Create a list of Revit families/projects to use by Dynamo

I am trying to create a Dynamo graph that tests if one or more of the available typical building footprints fit the site I have.
The footprints are Revit projects. Any recommendation on how to create a list of all the available typical layouts/footprints? I want to later let Dynamo test if any of these layouts fit the site boundaries I have.

Thank you very much!

Serialize the building’s mass into a Data.Remember node, or another recallable format (ie: if you only have linear exterior walls and you care only about the plan fit, write the list of X, and Y values into an excel document). Once done you can build a dictionary (better because it will organize your data) or list for each possible shape, and let Generative Design explore the options for you.

1 Like

Thank you for your help!

Is there any quicker way to save the building’s footprint? I drew some lines to specify the building’s footprint and then used the Data.Remember node. This would work. But I feel this is time-consuming. Any other idea? Thanks again!

It really depends on your process. Some methods which might be suitable for you:

  • Get the building pad’s sketch lines and build a polycurve.
  • Get the exterior walls’ location lines and build a polycurve.
  • Get the building footprint form the site drawing.
  • Place an exterior room and pull the boundaries.
  • Gather the ‘icon’ image you built for the key plan, get the lines, build a polycurve, and scale and orient as needed.
  • Get the building mass’ geometry, query the edges, convert the eges to curves, pull the curves onto a plane, build a polyline…

Really it comes down to what you already have to resolve the issue.

1 Like

Thank you for your continuous help! I think this is a time-consuming one-time step which is okay.

Yeah - having good, clean data suitable for the task is a must in these situations.

1 Like

Hi again! I ended up creating a list of footprints using the “Data.Remember” node. In my graph, I calculated the area of the building outside the lot boundaries I have. The area out will be later a constraint in the generative design study, where area out should be = 0, and the goal would be to locate the building minimizing the area out. However, since I used a list for buildings’ footprints at the beginning of my graph, the output (area out) consists of a list of values. When I checked the issue in Generative Design, I got an issue saying that I should only use output nodes of type “float” or “integer”. “Lists are not supported”. I wanted the Generative Design Study to generate/test the different buildings’ footprints I have, each on its own and return the corresponding “area out” for every possible option. But this is not what it’s doing now. Can anyone help me fix this issue? Thanks in advance!

Can you post the graph? It sounds like you need to remove the List which is marked as an input and use an index or other means to call for the correct boundary.

1 Like

You actually gave me an idea about using the GetItemAtIndex node, where the index will be a random integer between 0 and (list.count -1). This way the output will be different everytime I run the graph. Thanks Jacob!

Note that if it’s random you wont’ be able to control it well with generative design - a number slider controlling a value within the overall domain of the list might be a better option. Just adjust the order of magnitude for the slider’s tolerance based on how many values you have. This post should help:

Thanks for your help Jacob! On a side note, if I want the generative design study to vary this number slider many times to generate the different design options, should I right click it and specify it as " is input"? I’m not sure if it will vary this number slider regardless. Thanks again!

Yes - make sure to mark the node as an input, and provide a unique name for it. :slight_smile:

1 Like

Thanks for your prompt reply! :slight_smile:

1 Like