Boolean Difference (subtraction) - Two Valid Mesh / Closed double precision polygon mesh objects

Hi guys - I am new to Rhino and new to the forum. I first started self-learning 3D drawing about 6-7 months ago in Sketchup. My ultimate aim was to import scans of car models and edit these virtually before 3D-printing back out the edited models. 6 Months later I’ve learned that really I need to switch to Rhino. So here we are. It’ll be a ride! First off, I had hoped I’d just import my scan and a 3D component I had created in Sketchup and subtract the latter from the former but it ain’t that simple is it. The component is a Valid Block Instance. The scan a Closed double precision polygon mesh. These two object types can’t be Boolean-Differenced I guess I am learning here?

Hi everyone - still hoping to get a nudge from someone to point me in the right direction. I’ve uploaded the file here as it is too large to upload to this forum it turns out :slight_smile:

Both components are valid mesh.

Hi Matthew - keep in mind that Rhino is not primarily a mesh editing tool - it has some mesh stuff but that is not its main job - I would say with meshes like the one you posted, you’ll run into problems fairly regularly in Rhino. That said MeshBooleanSplit works on this mesh if you remove the non-manifold edges (ExtractNonManifoldEdges) that the Check command reports.


Hey @pascal Pascal - thanks very much! I appreciate the help. It was my 3rd party 3D printer who told me to ditch [dirtyword]Sketchup[/dirtytword] (even though I can quite happily produce most designs in it that I will ever need to print) because I had the complex scanned shape in the file you saw, which I needed to edit by subtraction and addition of elements I can draw myself. He didn’t mention the issue around meshes :slight_smile: but that’s good to know! I shall explore further (and try to learn fast!).

Just playing around with this and am now able to cut one component from the other. Cool. The big learning with all this is that I am used to playing with solids and clearly this is a mesh surface, which I’ve cut open, leaving mesh holes, which will be my next task to figure out how to close :slight_smile: :grin:

Hi Matthew - MeshRepair takes a while on this mesh but is probably worth the wait if you want to cut it up.


Yep it’s running :slight_smile:

You might also find it useful to run QuadRemesh on this to get a lighter mesh for easier booleans

1 Like

Thanks @DanielPiker Daniel - looks like it simplifies the surface amount so I will try to play with its resolution but this is very useful tool! Thanks!

@pascal - Thanks again guys. I have made some progress! I can do what I need to by tidying up the components and using MeshBooleanDifference. I managed to subtract 1 headlight relief from this car, but the other, which is 100% the same as the one that has worked, will not play ball. Both car and the substraction component are valid meshes. I end up with the intersection rather than a subtraction.

Hi Matthew - if Booleans work but give the wrong result, look at the object normals (Dir command) and make sure the normals point in the direction you think is the ‘outside’ on all inputs.


1 Like

Thanks @Pascal - i’d been trying to read up on that but didn’t fully under what I’d read; thanks for the super simple advice, I will try in the morning!