Skip to content
BIMpedia

Generative and computational design

Defining a design problem as goals, rules and variables so software can generate and compare many options, and what it needs from BIM data to be useful.
Updated 6 November 2026

Computational design describes a design as rules and parameters instead of fixed geometry; generative design goes further and lets software create many options from those rules, score them against goals and show the best trade-offs. It is used for things like building massing, structural grids, façade panel layouts, room arrangements and site layouts. The designer's job shifts from drawing one option to defining the problem well and choosing among good options.

At a glance

InputsVariables (what can change), constraints (what must be true), goals (what to maximise or minimise)
EngineScripts and solvers: visual programming (Grasshopper, Dynamo), optimisation algorithms, sometimes machine learning
OutputsMany options with their scores, often shown as charts of trade-offs
Typical goalsDaylight, views, net area, cost, embodied carbon, structural weight, walking distances, panel repetition
BIM linkOptions are built as model elements, so the chosen one carries on into design with real data

How a problem is set up

PartExample: office floor plate
VariablesCore position, floor plate depth, column grid spacing
ConstraintsMax 13.5 m from a window to any desk; fire escape distances; site boundary
GoalsMaximise lettable area; minimise steel tonnage; maximise desks with daylight
Result400 options; 12 on the "best trade-off" front; the team picks 3 to develop

Where it works well

  • Problems with clear, measurable goals and many repetitive decisions (panel layouts, parking, desk layouts).
  • Early stages, when options are cheap to change.
  • Standardisation: finding layouts that repeat components (useful for DfMA).

Where it struggles

  • Goals that are hard to measure (character, context, how a space feels).
  • Badly defined problems: a generator optimises exactly what you asked for, including the wrong thing.
  • Options that ignore buildability or cost if those aren't in the rules.

Worked example

A residential developer explores layouts on a tight urban site. A generative script varies block positions, heights and orientations within planning limits, scoring each option on units, daylight to living rooms and overshadowing of neighbours. The team reviews the 10 best options with the planner; the chosen one has 6% more units than the hand-drawn scheme with better daylight. The BIM model for the chosen option starts from the script's geometry, so areas and unit counts carry straight into the schedule.

Common mistakes

  • Optimising one number (area) and ignoring the ones not modelled (cost, construction).
  • Treating the "best" score as the answer instead of a shortlist for human judgement.
  • Scripts so complex that nobody can change the rules when the brief changes.

Where to read more

Computational design communities (for Grasshopper and Dynamo) share examples and packages. Research groups and conferences on computational design publish case studies; check vendor claims against your own pilots.