Interlocking Structure with Boolean
You are seeing the last of the interlocking system trials that I have previously tested in two exercises. If you remember, in our first trial, we were drawing interlocking joinery details on cross-sections using closed curves, without any solid modeling. And here is the most advanced one, I guess. In this exercise, however, we are creating a solid model that incorporates these interlocking details. This time, we will look at how to construct the same system using Boolean operations. Boolean algebra is a very broad set of logical operations used across many different fields. I recommend checking out this Wikipedia article about it.

In the first section of this exercise, we draw rectangles on defined perpendicular planes on a surface from which we took contours, then convert them into surfaces using the Sweep1 (Swp1) component, and then turn them into solid objects with the help of Cap Holes (Cap). At the end of this section, we should have the beams without interlocking details. These beams must be in the form of a data tree with separate branches in two directions. In section two, all intersection points of our contours with one another are identified using the Multiple Curves (MCX) component. Then, two boxes are drawn at each of these points. If you recall when we did the same exercise on 2D cross-sections, we drew pairs of rectangles at this stage. This time, we will use Boolean operations for solids while subtracting these drawn boxes from our beams in the correct order.

In section three of the exercise, the subtraction process is carried out. For this, a Solid Difference (SDiff) operation is performed between the branches of the data trees exploded using Explode Tree (BANG!). Connect a Panel to inspect which box is being subtracted from which beam. You can see that the data tree holding the beams first undergoes a Shift Paths (PShift) operation. Through this, beams in both directions are split into separate branches and prepared for the explosion process. On the other hand, because boxes were drawn in pairs from the single flattened list coming from the Contour operation, they have formed a data tree with two branches.
For some reason, I have never been able to properly use the Region Slits (RSlits) component developed for similar interlocking systems. In the future, we might model another interlocking system using that component set.





