All articles

AI / Field notes

Build a Floor Plan Generator with ChatGPT Astra

Use ChatGPT Astra to interact with Grasshopper and turn natural-language design intent into a working parametric floor plan workflow.

Marijn Luijmes2 min readCompanion to the video of

A floor plan generator is useful only when someone can steer it. Once the relationships between rooms, dimensions and circulation are encoded in Grasshopper, the next question is how a designer should interact with that system. This video explores a conversational interface: ChatGPT Astra operating a parametric workflow through natural-language design intent.

Separate intent from geometry

A request to adjust a layout describes an intention, but a geometric model needs explicit inputs. The useful bridge is a set of meaningful controls that connects those two levels. Instead of treating the conversation as a substitute for a floor plan definition, treat it as another way to operate that definition.

A diagram compares apartment and core arrangements before the configurator is assembled.
Apartment core types establish the design vocabularyA diagram compares apartment and core arrangements before the configurator is assembled.Watch this moment at 2:30

This separation makes the workflow easier to inspect. Grasshopper holds the relationships that generate the plan; the conversational layer helps select and adjust the available controls. A plausible response from an agent is still something to check against the resulting model.

The floor plan is shown alongside the definition that exposes its dimensions and layout inputs.
A generated apartment plan beside its Grasshopper controlsThe floor plan is shown alongside the definition that exposes its dimensions and layout inputs.Watch this moment at 3:08

Make the design system legible

An interface built around project concepts is easier to reason about than a collection of unexplained sliders. Name inputs according to what they change, describe their limits and expose outputs that reveal the consequences. A designer should be able to connect a requested change to a visible result.

The Python editor and Grasshopper definition make the implementation behind the plan visible.
Inspecting the Python logic behind the generatorThe Python editor and Grasshopper definition make the implementation behind the plan visible.Watch this moment at 4:23

For a floor plan study, it helps to distinguish a preference from a constraint. A desired proportion may be negotiable, while a boundary condition may be fixed. Keeping those distinctions inside the model prevents an ambiguous instruction from silently redefining the design problem.

The generated plan remains connected to a compact Grasshopper workflow rather than a standalone AI response.
Reusable floor plan logic inside GrasshopperThe generated plan remains connected to a compact Grasshopper workflow rather than a standalone AI response.Watch this moment at 11:15

Use conversation to explore, then review

The opportunity is a shorter path between asking a question and examining an option. It does not remove the need to evaluate circulation, spatial quality or project requirements. Use the agent to navigate the model, then review the plan with the same care as a manually generated alternative.

The conversational interface and plan appear together so the geometric result can be reviewed.
Astra conversation alongside the resulting floor planThe conversational interface and plan appear together so the geometric result can be reviewed.Watch this moment at 10:00

From concept to canvas

See the workflow in practice

The companion video shows the model and the workflow behind these ideas. Watch the walkthrough when you want to see how the pieces connect.

Watch on YouTube