Looking for Boolean Difference alternative with Surfaces

Hello there,

I’m encountering an issue while creating a topography model for laser cutting and CNC. While the CNC model was relatively easy to work with using solid objects and Boolean operations, I’m now facing difficulties when working with sheets.

Currently, I’ve extruded my roads to form solids and I want to cut them out from each sheet without affecting the parts that are not visible. Essentially, I aim to have each contour line sheet with the road cutouts, and later include buildings as well. In the example image, I’ve used “split,” but this requires deleting each individual piece separately, which, depending on the size of the topography, is a tedious process. I’ve also attempted to use “project,” but it results in placing road lines on every single sheet.

Ideally, “Boolean Difference” would be the perfect solution for this. However, it doesn’t work on surfaces but it would delete the cut outs i want removed in a perfect way. If anyone has a solution for this, I would greatly appreciate it. I’m seeking an easy and efficient way to create laser and CNC files for my fellow students and my university.

Thank you for the assistance, and best regards,


You can try this script for projecting things like road curves, building outlines etc. to terrain surface slices.

ProjectCrvsToTerraSlices.py (6.6 KB)

Alternatively you can make a copy of the surfaces and extrude them at the height increment, BooleanUnion all the solid slices and MergeAllCoplanarFaces to make a solid terrain model (copy). Then use native Rhino Project to project your curves to that, which will automatically split them as needed.

Thank you for the reply, but this isn’t really what i am looking for.

This will just create open polylines and the vertical faces also contain polylines wich need to be deleted. I’m looking for something that would do the exact same as “Boolean Difference” but substraced from a open Polysurface. In this case using “Split” is easier than using a script or project, it just would be nice to automatically delete the split out parts, wich would be identical to “Boolean Difference”.

Having thesen Polysurfarces will make it easier for using OpenNest later on and a streamlined process to go from a downloaded topography to laser cutting in a few simple steps.