I am modifying some standoffs on this model of a telephone receiver. I’ve removed the old ones and untrimmed the holes and now I would like to add the new ones using the inner surface of the phone case as a cutting object.
ideally I do this by using booleanDifference > booleanUnion. This works for the 4 pieces on either side, but not the center two. All objects involved are closed polysurfaces.
I think it must have to do with the fact that the center two standoffs are intersecting with a non planar surface.
When I download your file and open it I get a message that a linked block definition file can’t be found, and then the file opens without the standoffs in place. Try uploading it after bringing the standoffs into the primary file.
Boolean operations do not require planar surfaces.
My first steps when problems arise with trimming, splitting, Boolean operations and similar is to use Intersect or IntersectTwoSets to create curves of the intersections, and then examine those curves to see if they are closed. If they are open then CrvStart and CrvEnd can be used to find the gaps if they are not readily apparent.
ok, here is a file w/o the block instances, sorry about that!
I executed IntersectTwoSets on both problematic junctures and indeed there were open curves in each one. It is weird to me that they would be open there and nowhere else… anyway I duplicated a set of each. I am a little iffy on how to go about rebuilding the curves, however.
my first idea was to make a simple extrusion the same dimensions as the standoff, intersect it with the phone body, and get the proper curve from that. But that procedure yielded the same open curve. This leads me to believe the problem is with the phone shell somehow…
those curves are from the model that you successfully BooleanUnion 'd. I was getting the same curves generated seemingly out of nowhere when I tried that operation. Odd.
I’m using Rhino for Windows so the procedure may be different but here is what I did.
Start BooleanUnion with nothing selected.
Select one of the phone bodies.
Select the corresponding standoff.
By scaling the model to 0.5x then scaling up 2x
(so surface wise not doing anything, but letting rhino work on the surface)
seems to fix the surface and boolean was possible.
Not solving the issue but a temporary workaround…
I’m not sure what you mean… errant curves… In general, I suppose it does little harm but if scaling twice fixes something, we need to know what that is and make it work the first time. I’ll have a look at the file you posted.