Revit dynamo - void topography - example 2

1 Input

Pretty straightforward input value, just pick the toposurface you want to create a void of. 2 more input values will appear under number 3. Create a solid block.

Lowest point on the topo (-1000), here we establish the bottom level surface will be on, we want it to be a little lower than the lowest point on the toposurface.

Difference between the highest and lowest point on topo+(2000), this input value is deciding the height of the solid block, here we want it to be stretching a bit higher than the toposurface.

2. Topo adjustment

Necessary adjustment to import the surface to Dynamo.

Picture 1

3. Create a solid block

Here we create a solid block. We do so by selecting the curves on the imported toposurface with Surface.PerimeterCurves. Further, we join the curves with PolyCurve.ByJoinedCurves to one curve, then divide it in the equal segment(Curve.PointsAtEqualSegmentLength) to create a total of 100 points with xyz coordintes. Here the input value Lowest point on the topo (-1000) comes in, this value decides the Z-value on the bottom surface on the solid block.  We then create a polycurve based on the XYZ coordinates(PolyCurve.ByPoints). The final step is to extrude the newly created bottom curve with the distance at node Difference between highest and lowest point on topo+(2000) to create a solid block(Curve.ExtrudeAsSolid)

Picture 2

4.Cut the solid block in two with topo

We have now created a solid block. The block will be cut in two pieces by the toposurface selected at the start with the node Geometry.Split, re-organize the list with List.Flatten. We now have two solids (as shown in the video), and the one we need is the bottom solid, that will be our new void. We get solid number 2 by using  List.GetItemAtIndex, with index 1.

Picture 3

5.Revit Import

Here we have taken the liberty to use a custom node ꟿ FamilyInstance.ByGeometry, Found in the package spring nodes, created by Dimitar.ven. the node import geometry to Revit. One of the input values is called IsVoid, here we have chosen to set it as false, to show how to chance it in Revit.

Picture 4

6. Conclusion

Picture 5

Check out example 3: Create void based on curved wall.