Syntax FACTORY_DEF CSGFactory [FACTORY_NAME ] [INPUT (A|B) FEATURE_TYPE [ ]* []*]* [GROUP_BY []+] [OUTPUT (UNION|DIFFERENCE|INTERSECTION|UNUSED) * FEATURE_TYPE [ ]* []*]* Overview The CSGFactory performs Union, Difference and Intersection Boolean operations on a solid geometry feature from input A against another solid geometry feature from input B, and outputs the result through the output tags UNION, DIFFERENCE and INTERSECTION respectively. The output is a feature with a CSG solid geometry. The factory only takes one solid feature from each input A and B. Any extra features or non-solid features are output through the UNUSED tag. It does not output anything through UNION, DIFFERENCE and INTERSECTION tags unless it can find one solid feature from each input tag. The GROUP_BY clause can be used to perform a Boolean operation for a pair of solids (one from each input tag) that has the same attributes specified by this clause. Output Tags The CSGFactory supports the following output tags. UNION Result of solid A union with solid B. DIFFERENCE Result of solid A minus solid B. INTERSECTION Result of solid A intersects with solid B. UNUSED Features that are rejected by the factory.