The ShapeMerger node is one of the most powerful nodes in the Archimatix pantheon. It performs boolean operations of difference, intersection and union, and has “rail” versions of difference and intersection as well that let generate a shape with only edges from the solid inputs.
The ShapeMerger allows any number of input Shapes. When you connect a Shape to the the input of a ShapeMerger, a new, empty input item is added and awaiting any other shapes you may want to add.
Tip: If you already have two or more shapes to merge, you can multi-select them (dragging a rectangle around the nodes to be selected) and then click the ShapeMerger icon in the sidebar menu. This will add the ShapeMerger node to the graph, connect all the selected shapes with the first one selected as the solid and the rest as voids.
Solids and Voids
Any input shapes may be designated as solids or voids by clicking the yellow toggle to the right of there parameter field in the list of inputs.
The ShapeMerger automatically generates the various boolean combination and attaches each to its own output.
By default, the ShapeMerger’s thumbnail is set to Difference, but you can click the radio buttons to the left of each output to preview the resulting Shape for that output (as seen at the end of the GIF above).
Since the same ShapeMerger generates various boolean combinations, you can use, say, the Difference shape for one Mesher and the Intersection for another.
To make the gap between the two, the Plan input of the yellow Extrude was unfolded and given a negative offset. Also, the Plan input for the blue Extrude was opened given a roundness to reduce the sharp corners.
This tutorial further elaborates on the idea of shape merging in combination with multiple Meshers.
Meshing Off the Rails
The two rail output of the ShapeMerger, DifferenceRail and IntersectionRail, are useful for cases where you want to use edges only from the solid Shapes. For example, the Difference of a plan and rectangular Shape could allow you to cut a hole in a rail.
Here the RailDifference is being fed into a PlanSweep, with a Circle added as the Section Shape. While we could have used a new shape to cut a hole in the Rectangle using a second ShapeMerger to provide an arbitrary opening in the rail for a stair.