Mesh boolean difference

I am trying to use mesh boolean difference to cut out the streets a certain depth from the mesh however every time I try it doesn’t work. Is there a reason why? or is there another way? Thank you!

are you trying to do them all at the same time? if so try them one by one to see who the bad actor is.

Mesh booleans in rhino currently are ishy at best (but getting better)

those are simple shapes, any reason why you are using meshes as opposed to redrawing them in nurbs?

can you post your file?

Here is the file.
The reason the terrain is a mesh is that when I turn it into a surface it gets all messed up.
terrain3d.3dm (772.1 KB)

ok, these meshes are frankly a mess…

run selopenmesh, and show edges… there are tons of open edges and open meshes.

for this to have a chance of working you will want to make these all closed, watertight and make sure the normals are facing the correct direction.

better bet? quadremesh your terrain, then tosubd, then tonurbs, then do all this in nurbs. (redraw your buildings and roads.)

@piac is working on better mesh booleans but they are not there yet, and even with the new stuff I think this file will fail.

you may be able to do this in a dedicated polygon program like zbrush or 3d coat, but you will make yourself insane doing this in rhino. unless you re well versed in polygon repair and modeling in rhino, I’d save your time and redraw this in nurbs-

see this video on how to use quadremesh to nurbify your terrain-

Hi @Felicia_Timpano

my name is Giulio and I work on developing mesh intersections, splits, and in the future, also mesh booleans. Your mesh is very interesting to us! Thank you!

As my colleague Kyle was mentioning, something went wrong with the house meshes. Maybe because of some script or something else. If you run SplitDisjointMesh, you’ll see what I mean:

A few have interior faces and other oddities, that make it very difficult to manage:

I ran _AlignVertices to improve the situation a little, but many of the house, also, are floating and do not intersect with the terrain:

Nonetheless, I have some good news. In Rhino WIP, the terrain splits pretty much flawlessly with the meshes you have added. The usual problem with mesh splits and booleans, is to split with items that were already used to split with the same geometry. To avoid that, there’s a new PermitSplittingInputsWithEachOther that appears if more than one item is selected as first input to MeshSplit in Rhino 7 and above. But do not split all with all without checking carefully. Try a few combinations, and you’ll get it working…

With some manual work, it’s possible and not even so difficult to get this geometry to work.
I have one question for you, and one for Kyle:

  • Felicia, are you able to work a little, plot by plot, to fix the mesh?
  • @theoutside, Kyle, can you gather some of the hard-to-work cases into a few YT items?

Thanks,

Giulio


Giulio Piacentino
for Robert McNeel & Associates
giulio@mcneel.com

PS: Here where I got…


terrain3d-meshsplit.3dm (2.3 MB)

You can fix the orientation of the missing houses with _Flip or _Dir.

Also, note that the units are far too small. The road has a distance of 0.00 units. Please scale the model by 1000.

Here I used ExtrudeMesh with the road pre-selected. And going vertical by 0.1ft… much better result. But, it would be better to start over, and decide carefully what to do with the sides. I think the road should end before the end of the model, for this to work easily.

As an exercise, I think this is going pretty well:


terrain3d-meshsplit-extrudemesh.3dm (3.1 MB)

I was able to get a more clean base mesh after playing with that for a while yesterday. I did not yet try the houses but that is good to know! In terms of the ones floating Is there a way to tell which ones are and a command to get them to touch the terrain or is it just trying to get the view to zoom in close enough?

1 Like

Maybe with a script. Or running MeshIntersect and seeing if there’s any result, or an open or a partial result. My 0.02 cents.

1 Like