- Step 1 - Foundation/Shape’s Tracks: I started with the structure’s tracks or base to ensure a general shape and scale could be set as a variable for future changes. This was done through use of code blocks for scale that feeds into Point.ByCoordinates, each for the different three points of the arch. Code blocks were used to offset the tracks through the Curve.Offset function and Geometry Translate. This sets the dimensions of the structure’s primary structural supports including the offsets.
- Step 2: Establish secondary supports (#Columns) for the Parabolic Framework:
Through the use of List.Creates and Code Blocks, which feeds into the Curve.PointAtParameter, the number of points (controlled by the IntegerSlider) determines the number of supporting arches (vertical) that hold the top of the parabolic cross sectional area.
- Step 3: The Number of horizontal Supports between the Vertical Parabolic columns.
The NurbsCurve.ByPoints shows the vertical column supports that hold the roof of the parabolic structure, however the number of shear horizontal supports between those columns is determined in Step 3. The IntegerSlider was used to change the number of supports which feeds into the Curve.PointAtParameter function.
Step 4: Establishing the shape of the horizontal supports
Those horizontal supports (beams) that were established in step were given a cross sectional shape and width with the Circle.ByPlaneRadius(effectively creates a cylinder for each horizontal member/beam) and the CodeBlock respectively. Simply by changing the number in the two (2) code blocks in Step 4, changes the views through the parabolic structure, with increasing the width increases the radius of the cylinder, decreasing the see throughness of the overall structure. The Solid.BySweep function is responsible for taking the radius on the CodeBlocks and the Circle.ByPlaneradius and making it three dimensional.
Step 5: Further Defining the Arches/Refining
The Rectangle.ByWidthLength function and Solid.BySweep integrates the NurbsCurves.ByPoints in step three to keep the cylinders with open gaps in between. If Step 5 was deleted, it would create a roof similar to a exterior of a log cabin as shown below (not deleted in the submitted Revit file).
Step 6: Creating a surface by Lofting the arch curves. (Prep for Assignment #4)
To revert the cabin log like look shown in step 6, Step 5 was reverted back into the Dynamo file, with the diameter of the cylinders reverted to a minimum size. Through a List Create node, List Transpose, List Flatten and Surface.ByLoft, a solid surface was able to completely wrap the parabolic structure, creating a seal proof membrane, with the cylinder beams (horizontal members as referred above) arising out of it.
Step 7: Adaptive Panels on Surface
In preparation for assignment #4 with Adaptive Panels on the Surface, Panel.PanelQuad was applied to enable design changes through AdaptiveComponent.ByPoints. The Family Types function/node was added to change the design product used.
Step 8: Create Revit Geometry from the Dynamo Solids (Prep for Assignment #4)
From the Solid.BySweeps in Step 5, the geometry from the Dynamo Solids feds into Solid.Union Function and FamilyType.ByGeometry in anticipation of Assignment #4. The Categories node/function enables lines, HVAC, landscape, etc to appear on the Parabolic Structure if desired, which would feed into the FamilyType.ByGeometry node/family.