I am excited to announce that there are some new nodes in the latest Landform update. These nodes are written in C#, and if you are interested in taking a look at the source code, I also now have a repository for Landform on GitHub. Shout out to John, over at sixtysecondrevit and creator of Rhythm and Monocle, for getting me going on these.
Most of these new nodes are focused on editing Topography, which is something that I have always wanted to do in Dynamo.
Here are the six new Topo nodes:
Topography in Revit can be tricky to manage for a number of reasons, but I would say the most limiting factor is that you can only input points (meaning, you cannot input contour lines or a mesh). If you do use a mesh or 3D lines to create a Topo, Revit simply takes the points from those elements and gives you no control in the generated mesh and contours.
This can be fairly frustrating, particularly if you are accustomed to Civil 3D, where you have control over these elements. Unfortunately, this is an issue that is hard-coded into Revit Topos, so until Autodesk decides to fix the Revit surface engine there isn’t much you can do (besides use other elements, which can be a partial solution).
Once the Topo is generated, you can extract the contour lines and underlying mesh elements by exporting a 3D view to dwg. And with Dynamo, you can extract all three Topo elements (points, contour lines, and mesh) entirely within Revit.
In Revit, Toposurfaces are Mesh elements. By definition, a mesh contains points, edges, and faces. Topos are always more manageable to edit when they have fewer points and edges, but all of those edges can also make them appear unrealistic.
There are a variety of methods you can use to smooth out those edges, but one of the quickest ways to do this is to convert the Topo into a Nurbs Surfaces (in Dynamo, of course).
If you’ve ever used Harry Mattison’s (Boost Your BIM) Revit add-in Topo From Lines, you might have noticed that it hasn’t been updated to either 2015 or 2016. But now you can do the same thing in Dynamo, and I have even created a custom node for this in the Landform package.