Joining Polysurfaces vs Boolean Union

I’ve been working on a tool holder and have come across a join issue that I can’t seem to wrap my head around, in the attached Model there are two slim boxes that intersect the main platform. I wanted to do a BooleanUnion on each and make them part of the PolySurface. But each time I try instead of merging them like the other tubes, it does the reverse and deletes the platform. I’ve been working on it for an hour, and figured I’d ask the experts, the last question I had helped tremendously and I can create water tight models for 3d printing.

Thanks for you time :slight_smile:
ToolHolderIFixitModel.3dm (7.7 MB)

The split command works for this. Run split command twice
Split the big part with the two little parts then split the little parts with the big part.
Then join the parts you want and delete the parts you don’t want.

In the enclosed model I changed the color of the parts to be deleted to green and magenta.
Toolx.3dm (2.4 MB)

To make it water tight you need to fix the bottom surfaces of the square tubes.
Just extract each surface and trim the center out and join it back.

Hi Paul - the reason the Boolean is ‘reversed’ is that your two smaller objects are open, and being open, they are allowed to have their normals pointing inward. (Dir command will show the normals) Boolean operations depend on surface direction - closed objects can only point outward but open objects do not have an inside or outside. So, to make Boolean operations work predictably, either the inputs should be closed (SelOpenPolysrf, SelClosedPolySrf, ShowEdges will all help here), or, if open, the normals should point to what you consider the be the outside, since Rhino cannot tell. Use the Dir command to see and flip the direction. In this case, I would fix the objects so that they are closed, since the design seems to want that.

image

-Pascal

2 Likes

This is why we bought Rhino, you cannot get any better support anywhere. I used it for years for CNC work and that was really simple to create tool paths in GCode, but 3d printing is an ongoing learning experience.

Thank You both, I learned something new again, and now I know how to fix it going forward :slight_smile:

1 Like