Overview
This example demonstrates options for two important modeling decisions that affect how you need to organize your Dynamo graphs:
- Should you model your building form using Dynamo geometry or as a Revit conceptual mass?
- Should you use the List.Map node or Function.Apply node to input your values for test cases?
The short answer is — either choice can work! The key differences between the options are explained below to help you decide which approach to use in your modeling.
Modeling Building Forms: Should I use Dynamo Geometry or a Revit Conceptual Mass
This example demonstrates how to set up a Dynamo graph and custom node with evaluators using two different strategies for creating the building form:
- Creating the building form using Dynamo geometry
- Creating the building form as a Mass element in Revit
Either method can be used and used and both methods will return valid results.
Inputting Test Case Values: Should I use a List.Map or Function.Apply
This example also shows how you can feed the test case inputs to your custom node using either:
- the List.Map node -- which requires you to feed the input combinations as a list of values for each test case
- the Function.Apply node -- which requires to split the input combinations into separate streams
Again, either method can be used and used and both methods will return valid results.
Tips for Evaluating Many Test Cases
As you add more evaluation nodes to your custom node (and compute more results), you will probably notice that the processing of each run slows down quite a bit -- especially if you are using nodes that depend on external analysis (for example, the Solar Analysis node). To avoid having to wait for this node to be re-evaluated for each run, if that branch of your logic is already working, right-click on a node at the start of the branch to freeze it. This will prevent the nodes that follow the frozen node from recalculating (until you unfreeze it).
As you debug your node logic and re-run your analysis, you may notice that the values returned don't always update to reflect your new logic. Don't worry -- this is normal behavior. Dynamo tries to be more efficient by not recalculating every node when it thinks that recalculating is not necessary. But this sometimes results in not seeing the updated results from your debugging. The best practice is to slightly change the inputs in your Home graph (for example, change the top of an input range by just a few feet) to tickle Dynamo into understanding that all of the following nodes need to be recalculated.
Videos
Step 1 - Organizing the Overall Graph Layout
Step 2 - Setting Up the Input Combinations
Step 3 - Setting Up Your Custom Nodes to Efficiently Return All Measures
Step 4 - Evaluating a Form Modeled as a Revit Mass Element
Step 5 - Evaluating a Form Created using Dynamo Geometry
Step 6A - Tips for Using the Solar Analysis Node Successfully
Step 6B - What to Do When Dynamo Doesn't Recalculate to Reflect Your Updates?
Step 7 - Comparing the Two Approaches -- Should I Use Revit Masses or Dynamo Geometry?
Step 8 - Using the Evaluation Results to Find Min and Max Cases
Download Files
Use the Google Drive menu to ZIP the files in this shared folder and download them as a single ZIP file: