Creating a DNA Double Helix Structure Using Revit Curtain Wall Fill Patterns
While exploring Dynamo, I came across a tutorial demonstrating how to create a DNA double helix structure using mathematical formulas. This inspired me to consider how to build a parameterized double helix structure using Revit volumes.
After some thought, I decided to use a filling pattern based on the metric curtain wall, which resembles the previously used steel frame but differs slightly in application. Let’s walk through the process step by step.
The first step is to create a new mass family. Start by drawing a semi-circular reference line, which will serve as the backbone of the double helix structure. Then, add reference circles at both ends of this curve. Select the reference planes at either end to serve as contour reference planes and assign a radius parameter to the circles, labeling it as R1.
Next, select both the circular contours and the curves simultaneously to generate a solid model. Once created, apply surface segmentation to the entity, as illustrated below:
Since Revit does not support circular surface segmentation at both ends, you can simply delete those segments. Due to algorithm limitations in Revit, the mesh divides the cylinder into two halves. Therefore, when creating the family, it’s necessary to build based on these two symmetrical halves.
Now, to create the double helix structure, imagine unfolding the curtain wall grid onto a flat plane. It becomes clear that rotating the UV grid is required. After experimentation, it turns out only the V grid needs rotation.
To achieve this, add angle parameters controlling the rotation of the V grid, as well as parameters for the number of grid divisions.
The next step is to calculate the rotation angle. This involves adding auxiliary parameters and performing mathematical calculations, as shown below:
Note: Since the model is a half-cylinder, the perimeter and height can be calculated by multiplying the radius by π. Using inverse trigonometric functions, the angle is derived. We also subtract one from the V parameter to get V1, which helps determine the number of grid segments. This results in a double helix curve, as illustrated:
The second step is to convert this curve into a solid. To do this, create a new metric curtain wall pattern family and set the grid shape to triangular (flat). Then, create a reference point at the second point and draw a circle. Add another reference point at the same position and raise it, adding a height parameter. Draw a second circle at this elevated position, using the same radius parameter for both circles.
Select the two circles to create a solid entity, which connects the two curves of the double helix structure. Move adaptive point 2 to verify that the cylinder moves accordingly with this point.
Next, create a spline curve with three adaptive points to serve as the outer rotation path of the double helix. Select the reference planes at both ends of this curve, create a circular contour, and add radius parameters as shown below. Note: Keep the circle radius under 500 to avoid issues during entity creation.
After completing the family, load it into the previously created semi-circular family. In the family browser, locate the newly created family, right-click to create an instance, and sequentially place the curtain wall panel family onto the initial semicircle.
At this stage, display the nodes of the curtain wall grid by selecting the curtain wall grid, clicking on “More” in the surface representation tab, and enabling node visibility, as demonstrated below:
Then, select three nodes and place the family instances one by one on them. Once done, use the array tool to replicate the family across the entire grid. The result looks like this:
Repeat the same process for the other half of the grid. This produces the desired double helix structure, as shown below:
However, the middle section is not perfectly connected. To fix this, select the instance family and link the height parameter H with the circular radius R1 at both ends of the curve. This adjustment results in a flawless double helix structure, as illustrated:
Finally, you can adjust parameters to test the family’s flexibility. The parameterization works exceptionally well. Let’s celebrate this achievement! It’s surprisingly simple. That concludes today’s tutorial.
【 Related Skills Search 】
About Using Revit Curtain Wall Fill Patterns















Must log in before commenting!
Sign Up