R8 Feature Request: Automatic Boolean Difference

Was wondering if it would be possible for boolean difference to be more of an automatic process. I’ll try and explain…

In architectural and fabrication modeling there is never a situation where two objects intersect without them cutting into each other. I was thinking that it would be cool if there was a properties setting that defined an object as either a cutting object or an object that can be cut into. For example, if I have a model of a door slab and I move a model of a lockset into it, the boolean difference of the two intersecting objects would just happen automatically. I would be left with a door slab that has the negative space to accept the lockset.

Further more, there could be a setting on the cutting object that allows one to define an offset of the negative space it creates when being moved into an object that is set to be cut. For example, in CNC milling I don’t want to carve out the negative space in the door slab to the exact dimensions of the lockset - I want to be a few thousandths oversize, otherwise the lockset would fit to tightly.

I know stuff like this is what grasshopper is for but … would be cool.

The cutting part sounds easy to describe and implement in the general case. Describing how much extra space to carve out seems a little harder.

I wonder if it might be easier to consider the boolean operation to always have zero extra space and add a simple way to define how to derive the space (essentially, an extra temporary Rhino object) to cut from the part to insert (a lockset in this case). Perhaps an offset on each face of the brep/mesh/subd?

That approach would also leave you with the ability to easily document the cutout as a separate entity.

1 Like

A lot depends on how detailed your lockset is. For example, if there are holes for a spindle or a key then these will leave unwanted parts in the door…

That’s a good point. But I suppose from there would be easy enough to just select out the unwanted material that was left behind and delete it manually.

Delete how? Individual surfaces, then close the holes in the remaining surfaces? Create a box-shaped cutter and Boolean it from the door? I think you will find the extra work outweighs the saving from the automation.

Perhaps a better approach would be for the lockset to include a cutout object on a separate layer, appropriately rectangular for machining and large enough to provide the necessary tolerance.