Formit and "space planning"

Is it possible to do space planning with Formit (via Dynamo)?

This could help many architects to have a first indication of the possibilities of a house or apartment building.

1 Like

Totally possible! @josh.goldstein will no doubt have many thoughts on this :star_struck:

1 Like

Totally doable, and totally done it before with a few companies. Basically you can take any Dynamo for Revit graph which is used for some degree of space planning and convert it into a Dynamo for FormIt graph by swapping out a few nodes here and there. The hard part is settling in on a means of doing the space planning, and as the methods for that are quite varied the graphs rarely scale between companies and/or customers without significant customization.

1 Like

Hi @j.boonen,

As others have said, this is totally doable. It largely depends on how exactly you want to go about it.

You could construct a graph that, for example, selects a surface in FormIt (the floor area of a building or a space), and divides that based on some given program requirements, maybe from Excel. You could generate new volumes from that and send them to FormIt via one or more SendToFormIt nodes.

Another option is the built-in “Room by Area” sample in FormIt’s Dynamo Samples/Building Masses directory, which lets you quickly generate a space volume given just a target square footage. Optionally, you can also provide a single room dimension, so the space isn’t a square:

You can then paint the results of these Dynamo elements with materials to create a space planning study similar to the image in your original post:

Hope this helps!



@josh.goldstein thanks

Herewith some more info:
Building boundary (see fig. 1) = 9.02m x 17.00m
Ground level = level 1 = max building boundary = 9.02m x 17.00m
First floor = level 2 = max building boundary = 9.02m x 14.00m
Second floor = level 3 = max building boundary = 9.02m x 9.00m
Maximum heights see fig. 2

How would you approach this within Formit?

Fig. 1

Fig. 2

Thanks in advance.

What exactly is the “this” you’re trying to accomplish? Building a 3D representation of what you describe in the diagrams?

This seems like a ‘starting with the end in mind’ example of why generative design fails. Instead of asking for a result, program the logic. Think along these terms, not “I want a gable which goes this way”:

  1. “The maximum envelope is X”
  2. “Get the list of spaces including their dimensions”
  3. “Adjust the dimensions using a variable method so GD can get novel results”
  4. “Adjust the order of placement using a variable method so GD can get novel results”
  5. “Make a new envelope”
  6. “Put spaces in that envelope until it’s full or remaining spaces can not fit”
  7. “Repeat steps 5 and 6 until we are out of spaces to place”
  8. “Evaluate relationships between spaces and other metrics to quantify how good the design is (or isn’t)”
  9. “Select a design and move onto the next part of the process”

@jacob.small @josh.goldstein

I understand your questions/concerns.
Does the following provide more clarity?

The figures above concern the maximum volume. My intention is to determine design proposals based on inputs (min. and max. square metres/volumes of different rooms, e.g. kitchen between 15m²-35m², and links between rooms e.g. kitchen should have link with living room and corridor).

Thanks in advance.

The previous direction of steps I provided still holds true. Instead of using the same maximum envelope you can utilize a series of envelopes if you have a reason to force such a shape onto your geometry.