Booleans in Topographic Meshs (Grasshopper / Dendro)

Hi there,

I’m having some difficulty using the MeshBooleanSplit command to cut volumes out of a topographic mesh.

I’m AWARE that this tool can be finnicky when it comes to vertex counts.

I’ve tried nudging this volume cut out for a driveway into a garage and sometimes nothing happens, other times it cuts, but it destroys the majority of the mesh. I’ve tried converting the NURBS polysurface to MESH before the operation (this worked with other cuts I’ve already made) but it has similar inconsistent results. Perhaps I’m approaching this workflow with the wrong tools?

I was able to easily export the volumes and do a boolean with Zbrush since it can do voxelization of the mesh to clean up the boolean output, but would prefer to be able to move volumes around and cut the mesh directly in rhino.

Perhaps Grasshopper would be better but I wouldn’t know where to start. Anyone have any suggestions?

This is the result in Zbrush, easy:


Since this is my ongoing investigation I’m just going to report my findings for others.

I’ve found some success with the Dendro grasshopper toolkit. I needed to make my topography a closed mesh, but I currently have a live boolean setup for all of my different cuts into the topography and its really been helpful for the design study.

I haven’t gotten yet to the point of needing to calculate cut and fill but when I do I’ll post again here in this thread.

I’ve recently started developing a terrain modelling plugin for Rhino and would like to gain a better understanding of what workflows people use. Out of curiosity what is the purpose of this topographical study?

  1. Mainly visualization for early design stages?
  2. Do you need proper cut & fill information?
  3. What is your typical input data? A raster DEM, elevation points & breaklines from surveyors, some other format?
  4. How will you use the topo surface downstream? Does it go to Revit/Archicad or other BIM software, or stays in Rhino?
  5. Do you care about automated construction (essentially a 2.5D TIN model without overhangs)
  6. What is the ‘killer feature’ you’d like to have for terrain modelling and can’t find in any existing software?

Your feedback would be much appreciated.

Hi Mariusz,

See my answers below:

  • Mainly visualization for early design stages?

Yes. At the beginning of a project during concept/early schematic design a civil engineer usually has not been brought on board yet, or if they have, they are awaiting a set of drawings/models from the architect to start their work, so the onus is on the designer to kick it off.

  • Do you need proper cut & fill information?

Always. Ideally to be able to quantify different cuts and fills independently to make changes. There is always a limit to how much grading can be performed on a site and having this information early on before coordinating with a civil engineer (even rough ballpark figures) are extremely valuable. Having the information early on prevents the risk of producing a design that is prohibitive and i never want to pay an expensive consultant to tell us something impossible - i prefer to already know its possible and have the engineer sort out the details.

  • What is your typical input data? A raster DEM, elevation points & breaklines from surveyors, some other format?

Typical input data comes from a civil engineer or surveyor. Which means topolines that need to be converted to a mesh. The TIN surfaces are proxygraphics in ACAD so they typically don’t import well to Rhino. My current workflow is importing the DWG into Revit, create toposurface from the 3D contour lines on a select layer, and then, export to Rhino. I am aware this is possible with Rhino as well.

In some cases, prior to a survey, or in conjunction with a survey, the architect will also have a pointcloud. Not all surveyors use scanning workflows. Most don’t. But at my last firm we would recieve as-built models that came with pointclouds in advance of a survey. I’ve used these pointclouds to establish topography but it is time consuming because you have to use external software to eliminate buildings, trees, etc. from the cloud data before attempting to mesh it. Ultimately, however, the survey is a legal document for a set of drawings and even if the pointcloud is higher in detail than the survey, the survey takes precedence. That is of course, if the two filetypes are from different parties.

  • How will you use the topo surface downstream? Does it go to Revit/Archicad or other BIM software, or stays in Rhino?

The toposurface is critical throughout the whole project. Some firms work exclusively in Revit, other firms work in Rhino, ACAD, etc. in the early phase for design approval, and then seitch to Revit during the documentation phase. Depending on the design firms workflow native rhino geometry may be used as a linked file within the Revit file during later phases, so its not like it has to be re-built. Whatever the case, a firm will do those prelim calcs in one software, either Rhino or Revit. Revit provides calcs for grading but the manipulation of graded surfaces is clunky and very limited. For things that are flat, it usually works well, but when you’re dealing with 3D curvatures it becomes extremely unforgiving. It is currently on their trello roadmap to improve, who knows when…

  • Do you care about automated construction (essentially a 2.5D TIN model without overhangs)

Not sure what you mean.

  • What is the ‘killer feature’ you’d like to have for terrain modelling and can’t find in any existing software?

My thought is that terrain design is a volumetric study, not a study through brep (boundary representation modeling). I’m actually pretty stunned how well Dendro fulfilled my needs. Architects need to be swift and adjusting contour lines manually and dealing with surfaces that need to be re-built and re-computed is a pain, and my best guess is that voxelization combined brep is the best path here. I want to be able to push and pull on surfaces and solids and get immediate visual and numerical feedback on small design moves that add up to the larger story. So far dendro has done this but I haven’t got to the part of calculating the cuts and fills yet. I’m guessing there may be some difficulty there.

As for killer features, I think its all about being to combine feature sets into unique workflows. LANDS Design plugin has some interesting terrain tools for Rhino. FOREGround plugin for Revit has some interesting features as well. I would love to see voxel features like Dendro or even LiveBoolean in Zbrush (quick and immediate feedback theough exploration) be integrated with those Brep types (slower, but capable of producing better drawings, consistent feature analysis, documentation), but the mathematics is completely different in the approach. I wonder how parallel processing using CUDA cores on Nvidia GPUs can also speed things up.


1 Like

Thanks for your detailed response, @mendler!

My experience from a large architectural/landscape architectural office is somewhat similar to yours - we want to work with 3d terrains very early for the following main reasons:

  1. Understanding of site conditions and better visualization of design intent
  2. Cut & Fill calculations
  3. Stormwater management
  4. BIM requirements
  5. Clash detection

Having scanned the market for various terrain modelling solutions, we went with Civil 3D. It sports the most comprehensive set of features for precision modelling, but has a steep learning curve and its own limitations especially when it comes to depicting organic shapes. It’s great for later design stages, but sucks for early massing and concept development.

That’s how the idea of creating a dedicated Rhino plugin for terrain modelling originated. Trying to summarize our needs, we got the following:

  1. Free-form sculpting for organic elements like hills and swales
  2. Precision modelling with contours, breaklines and points (similar to Civil 3D but more intuitive and faster)
  3. Interactive corridor models for linear features such as roads, paths, streams etc. (open line)
  4. Pavement models with sublayers (closed line)
  5. Full BIM support via RhinoInsideRevit
  6. All necessary analysis types running in real-time (slopes, view shed, cut & fill etc.)
  7. Interactive terrain surface documentation (contour lines, slope arrows, elevation markers etc.)
  8. Interactive water flow simulation (flowlines being the absolute minimum, but preferably we could do volumes as well)
  9. Rule-based optimization algorithms to define precise terrain elevation values based on general user input (high/low points)
  10. Other features stemming from users requests

I like your idea about terrain modelling being a volumetric study and playing with live booleans ala Zbrush. That’s why I asked about automated construction workflows - in our practice we are sometimes asked to deliver subgrade surface models (TIN), which are used by bulldozers or excavators during construction. There are some specific requirements to be met, one of them being that the surface is 2.5D (aka only one elevation point per a given XY coordinate). This essentially means, that we can’t model any overhangs and all vertical surfaces need to be offset ever so slightly.

Live booleans can be a joy to work with for early massing. Direct sculpting of terrain surfaces is cool as well. Here is our (very) early prototype in action:

[EDIT] Another video with GLSL generated contour lines:

Once we have developed it further, we intend on sharing the plugin on the forum for feedback and testing. Would you be interested in being part of that?


@mrhe yes please would love to. Second video looks great. Would be interested in how you can sculpt terrain with slope limiters. Set a slope limit, for example in Los Angeles, you cannot fill greater than a 2:1 slope, and cannot cut greater than a 1.5:1 slope.

Other grasshopper plugins to look at (i haven’t used them yet) are Docofossor and Bison

Good point with slope limiters. There are similar requirements for shaping stormwater detention features in other countries too (cut slope > 1:3).

I know of these plugins. There is also the recently published topo kit. As you said - all of them have some interesting features, but I’d love to see them integrated into one plugin. Optimized for speed and productivity.

I’ll probably start a new thread not to completely derail yours. Thanks again for your input, will keep you posted!