Boolean difference problem

boolean.zip (13.3 MB)
Hello.
I tried the boolean difference between the two solids in the attached file. Actually, remove the small solid from the large one. But it always fails. I export these to dwg format and I am able to proceed with the boolean difference in AutoCAD.
If I import back the exported dwg into rhino, then I am also able to proceed with the boolean operation in rhino too.
Where is the problem?
Also why the rhino file is so big compared with AutoCAD file?
Thank you

Hello - the building has out-of-tolerance edges and the intersection to the terrain is incomplete - how was this made?
There are several surfaces that need to be replaced - with new planar surfaces (ExtractSrf, DupBorder then PlanarSrf).

Generally to locate problem areas, Intersect the two objects and inspect the resulting curves for gaps. SelOpenCrv is helpful. and the file tolerance is too large for the size of the objects - the tolerance is .01 meters and some objects are ~.02 or so wide - tolerance should be at least an order of magnitude smaller than the smallest ‘feature’.
More info here: https://wiki.mcneel.com/rhino/faqtolerances
So, replace those faces, and set the tolerance to .001 and it should work.

-Pascal

2 Likes

Interesting. This is a part of my drawing which I have copied in a new file just to post there. Unfortunately, I cannot post the whole drawing because the plans belong to another architect and I just reproduce it in rhino for a university assignment.
The original drawing has a tolerance of six digits.
in the original drawing, I have more than one layer of geometry which first I boolean union, and then I tried to make the difference.
I was thinking that the building solid has the problem but I yet don’t understand how you found the problems.
I know the edge analysis tool but I also not able to use boolean intersect.

Why when I export to Autocad works? And why the Autocad file is so much smaller?
Thank you

is not boolean intersect. is just Intersect. it works between curves and/or surfaces and it will make points or curves on each case.

Yes, my mistake. I am new to Rhino.
Anyway, after spending a lot of hours I understand that solids created with surfaces that are joined together had a lot of changes not working in boolean operations.


So most 90% of the operations to achieve this model were surface modeling, splitting, and finally joining. The final site model is a closed polysurface.
The starting surface was a triangulated mesh which I quad remesh and converted to subd.
I tried to add a little more detail by extruding the asphalt surface and then tried to subtract from the earth surface but obviously, I had no luck with that.
I think that if I extract the border of the asphalt surface and offset it a bit inwards and split the surface and then extrude the new smaller surface, so the edges do not touch, it will probably work.
Right now I think Rhino’s boolean operations could be better.
But I will stop here because the new semester is going to start in 2 weeks and I must finish.
So I will try to make better roads in another project.
I have one last problem.
As I said I started by converting the triangular mesh to subd. After joining it with other created surfaces the result was a polysurface. But I needed to make some freehand modifications in an area by turning solid points on. The result was in this area the surface is not smooth anymore. And I have extra edges when I make 2d. See the image below.

Is there a way to make the surface smooth again in this area?
Thank you.

Hello - it generally best to just export the bit you are asking about to a new file and post that, there is not enough to go on in the screen shot.

-Pascal

Ok I will post the file tommorow.
Thank you

finalSite.3dm (17.0 MB)
Here you are.