twitter youtube facebook linkedin email
Connect with:

In this post I would like to show you how to create a fully parametrized portal frame geometry in the Dynamo environment.

Recently, I added a few Dynamo nodes to the Structural Design package (version 1.1) to help you create such structural geometry.

Generally portal frames are used for single-story buildings, but they can also be used for low-rise buildings with several floors where they can be economical if the floors do not span across the building.

Let me walk you through details on these nodes and how to put together a sample script using them.

The first two nodes I would like to talk about create a 2D frame geometry (Fame.ByWidthHeights, Frame.ByWidthHeightAngles). They do the same thing and they differ by input parameters only.

insertionPointInsertion Point. Default value: (0, 0, 0)
vectorVector in the 2D frame plane. Default value: (1, 0, 0)
widthFrame width
height1Column height
height2Roof height

angleBeam angle. The angle has to be greater than or equal 0 and less or equal than 60 degrees.

The Frame.Copy node helps you duplicate your 2D input frame geometry with a specified spacing between frames. The spacing can be equal of varying.

frame2DGeometry2D Frame geometry. Input value should have the following data structure: Curve[Column[], Beam[]]
withEqualSpacingSpacing type. True = equal spacing, False = varying spacing.
numberOfTimesNumber of times a 2D frame should be copied when spacing between frames is equal.
spacingSpacing value between frame when distance between them is equal.
varyingSpacingVarying spacing. Default value: [6, 5, 4, 5, 6]
flipToggles the frame orientation.

The Frame.Purlins node creates purlins elements  between rafters.

numberNumber of purlins.
– Start offset.
dp2 – End offset.

The SideRailsEavesBeams node creates side rails and eaves beams between columns.

columns – Frame columns.
heightsZ coordinates of beam ends.

The last two nodes I would like to talk about create X and V bracings.


pointsElement end points.

zones – Frame zones. A zone is a space between 2D frames, e.g. between frame #1 and frame #2 we have zone #1, between frame #2 and frame #3 we have zone #2 etc…

Building a sample script using the nodes I covered is easy. Simply connect these nodes in this way…

…to get the following output:

For more posts on the Structural Design Dynamo package, check out these past articles on the Revit blog:

Learn the Power of Dynamo for Automated Reinforcement Detailing – Part 1

Learn the Power of Dynamo for Automated Reinforcement Detailing – Part 2

Structural Design package version 1.0.5


What is BIM (Building Information Modeling)?

Free Form Rebar - Aligned Distribution

Featured Links

Tomasz Fudala

Tomasz Fudala is the Technical Marketing Manager for Structure. He has over 15 years of experience in the software industry and a comprehensive background and vast knowledge of structural solutions in the Autodesk portfolio. With a Structural Engineering background he is responsible for technical sales readiness. He achieved a Master of Science degree in Structural Engineering from the Cracow University of Technology, Poland. Find him on Twitter @tomekf


View by:
Most Recent Oldest
  1. Pingback: Weekly Roundup – 2019.20 – The BIMsider - Revit news

  2. Avatarvmeyzaguirre



    Hola un gusto sabes una pregunta realiza el portal pero me falla en lo siguiente, no me da la altura inclinada de las dos pendientes la cubierta me la hace en forma recta, recien aprendo Dynamo para Revit, gracias muy bueno.