My request is for “Boolean difference” to work even in cases where the object is not fully enclosed.
For example, the attached file shows a tube profile whose end is opened. The idea is to make Rhino do “Boolean difference” so that the two cutting boxes’ walls become walls of the main tube, despite that a small portion of the latter will remain opened. If I manually split the tube with the two cutting boxes, then repeat the same with the two boxes, I can use their leftovers to join together and simulate what “Boolean difference” should do automatically.
Not sure I get what you are after based on the specific example you are giving, but if you just use the cap command on the tube before boolean difference, you manage to subtract them from each other?
Boolean operations rely on finding complete and closed intersection curve loops - plus surface normals. In this case it doesn’t find anything that can be used as a valid cutting loop - there are either too many concurrent intersections found, or, if you were to make the boxes bigger to eliminate the concurrent surfaces, you won’t have a closed loop.
But it’s not a lot of work to use Split and then just window select all the junk and hit the Delete key. Or, if a closed object is your goal, like @siemen said, cap before running the BD.
Hi all, thank you for the replies! I was thinking about this output geometry and I’m pretty sure that Rhino could be smart enough to make it happen: Boolean difference to work in this case.3dm (659.3 KB)
The idea is to fill the areas of the main tube with all trimmed surfaces that were originally part of the cutting boxes, i.e. exactly like what would happen should the tube was a fully watertight model except that the two areas in the middle remain opened. I’m aware that everything could be made manually with some splitting/trimming and joining, just wondered why “Boolean difference” is incapable to do what appears to be a basic function that relies on geometry intersection between two or more objects.
Here is another example that better explains the issue:
That’s my point, too. Rhino should be able to solve those intersections the way it does when it’s using fully enclosed (solid) models. Other programs can handle such cases.
Well, as has often been discussed, Rhino doesn’t work like “other programs”. There’s no Parasolid kernel here. For Rhino, it’s all about finding a complete, unambiguous intersection that can split the object.
Maybe some time in the future, more special cases can be added to help Rhino work through the ambiguities to determine how to cut an object when multiple intersections are found… No idea as to how and when.
in your second example i would expect rather this to happen as seen below but when throwing this out in the wild i got a rather ignorant response leading to @pascal revealing that something like this had actually been discussed, but by all means nobody is allowed to call it boolean operation then… whatever.
but it seems there are indeed different expectations about what should happen, i dont mind having options where just set what it should do…
I think that the best way to do this is to consider the closest surfaces of the cutting boxes (from my example) as the ones that should remain as part of the main object (the tube).
definitely not typically, rhino yes, other software that would be a boolean A - B
there is a sh*load of operators… maybe its just a matter of expanding the existing.