This script helps to enhance coordination between architects and structural eningeers during design development. This script is especially useful for complicated structures and automates converting a 3D wireframe (DWG format) to structural members in Revit during the design coordination iterative process. This then serves as a foundation model for the structural engineer to update member sizes or add structural members in Revit after structural analysis is performed.
The script requires a DWG file format linked into the Revit model. Using Dynamo Player, user is prompted to selected which linked CAD element to process. Based on layers in the CAD file, user can specify which model category to apply to a layer. It is important for the structural engineer to communicate to the architect what structural member layer types and how to assign 3D wireframe elements to which layers in their authoring software (i.e. Rhino). This is especially important when differentiating between structural columns and structural framing elements. This script only applies to modeling structural elements to a 3D wireframe.
NOTE:
- The Model Examples Folder contains a sample 3D wireframe and output structural Revit model.
- User to load desired structural families prior to running script.
- User still needs to update element parameters such as Structural Usage or Start/End Connections.
Environment setup regarding script development logistics.
-
IDE:
- Revit Dynamo
-
Language:
- Visual Programming / Python for Custom Node Creation
-
Output File Type:
- dyn
-
Additional Library Packages Implemented:
- Data Shapes
- BimorphNodes
-
Software Required
- Revit (any version with Dynamo 2.1 and above installed)
-
User Interface
- User executes Dynamo Player to initiate script -Data Shapes MultipleInputForm++ node used to obtain user input to perform structural modeling task
-
Setup Requirements and Capabilities
- Structural engineer to communicate/coordinate with architect what structural member Layer types needed and how to assign 3D wireframe elements to appropriate Layer
- User to load desired structural families prior to running script.
- User still needs to update element parameters such as Structural Usage or Start/End Connections.
Overall graph view
-
User Input
- Uses Data Shapes package to create input types and to be used in MultipleInputForm++ (obtain user input)
-
Example of Backend Process Per User Input
- This process makes the selected linked CAD file easily accessed for processing by removing nested lists
-
User Input
- Uses Data Shapes package to create input types and to be used in MultipleInputForm++ (obtain user input)
- Creates consolidated list taking user selection from (2.) and model family type information from (1.).
-
Example of Backend Process Per User Input
- Each process accesses user input by associated list index
- The selected layer will be used to access 3D lines on that layer to be converted to curves (using BimmorphNodes - CAD.CurvesFromCADLayers node)
- The selected structural frame or structural column type is assigned to curve if user has checked the box for type to be modeled
- The selected level is assigned for element level association.
- Each process accesses user input by associated list index
-
Revit Model Element Created
- StructuralFraming.BeamByCurve or StructuralFraming.ColumnByCurve Node is used to take the user input from (4.) to generate a Revit model element.
- This is repeated for all curves filtered by user selected CAD Layer.
-
UI associated to (Dynamo Script Layout 2.)
-
UI associated to (3.) resulting from user input from (Dynamo Script Layout 2.) and information from (Dynamo Script Layout 1.).
-
Resulting Output after applying Revit structural elments to column layer and brace layer associated to (Dynamo Script Layout 5.).
- Clone or download project.
- In own Revit project Link CAD in example 3D wireframe model (3D_Wireframe-Example.dwg) in Model Examples folder or own wireframe model.
- User to load desired structural families prior to running script.
- Open Dynamo Player and select folder with 3DWireframe_To_RevitModel_Converter.dyn to display script (DYN).
- Follow user prompt and select linked CAD file to process
- Follow next user prompt to auto model to 3D wireframe
- The following is the result of the input in (6.).
- Reapeat steps (4.) - (6.) until all desired elements are modeled.
- Below is what the completed example should look like. Strutural engineer or modeler can now clean-up and update model as needed in Revit.