Generative Design evaluation loop with costum nodes

Hey everybody! I have a problem using some costum nodes for the GD application in Dynamo. It appears to be that i can’t put the reported nodes after an input node and before an output node. I don’t quite understand what is meant by this and i wondered if somebody on this platform could help me out on what i’m doing wrong in my graph? All help is much appreciated!

Generative Design runs 6 concurrent instances of Dynamo Sandbox to test the options. As such it has no access to the Revit API, or Revit model data. This is why we have the Data.Remember node, which allows you to serialize almost any data into the DYN. As a result anything before the Data.Remember has to be semi-static (unchanging over the course of a given run). The graph will then be able to utilize that data to run the graph until you get to a node which would write back to the Revit model; this also won’t run so we need to ‘block’ their execution by placing a Data.Gate node and closing the gate. This limits the scope of Generative Design to what happens between the Data.Remember and the Data.Gate node.

So to resolve this you’ll need to replace the CellCleanupll node and the BackwardsRecursive2 node with something that doesn’t require use of either Revit data (Dynamo data pulled from Revit data and Packed into a Data.Remember is ok but no Revit elements will work), or the Revit api.

What package are these nodes from, and what are the expected inputs and outputs?

Thanks for the quick reply! I made these nodes to solve particular topological problems. I hoped by making these parts off the graph to costumnodes i would be able to clean the graph up. It would be most helpfull if i could make these nodes work. If i understand correctly, right now there are nodes which are dependend on Revit Data in the definitions of the costum nodes and if i can identify them and replace those , the costum nodes should be able to function fine? If so, is there an easy way to identify those nodes?

Anything that uses data from the Revit file needs to be cached with a Remember node.

Think of it like converting Revit geometry to Dynamo geometry. The graph can’t access the Revit file to get the Revit geometry so on an initial run (not GD) the Revit geometry gets converted to Dynamo geometry and stored in the graph itself. Subsequent runs will use the cached Dynamo geometry and therefore not have to access Revit at all.

Thanks a lot for the help. I have tried putting the data remember node after the Element.Geometry nodes which pull in the geometry from the Revit file. Other than the two nodes at the beginning from the graph, it is my understanding that i don’t pull in any other data from the Revitfile. Could it maybe be something else causing this error?

You’d probably have to check inside the custom node to see what’s going on there. You can also test the caching by opening your graph in an empty model or sandbox to see what’s remembered and what’s missing.

Yes much thanks! By copying the nodes off the costum node into the graph i managed to find the nodes which still where dependend on Revit

1 Like