How Union 3D works

The Union 3D tool combines multipatch features in the input feature set based on overlapping geometry and/or a grouping field. Multipatches are first converted to solids for analysis. If a multipatch feature is not closed, then it cannot be converted to a solid, and will be skipped raising an error message.

  • You can check whether multipatch features are closed using the Is Closed 3D geoprocessing tool.

These solids are compared against each other to detect any overlapping volumes. If overlapping volumes are detected, the shells (triangles and rings) of the solids are intersected, redundant interior portions are removed, and they are combined to form a single new solid. That solid is then written out as a closed multipatch feature. This process occures iterativly till all multipatch features in the feature class have been processed.

A grouping field identifies which features should be unioned together (grouped) to form a new feature. Having a grouping field can significantly improve performance by reducing the number of times the tool must iterate through the dataset. Rather than comparing a feature against all features in the dataset, it is only compared against, and potentially unioned with, those that participate in its group.

For example, if you are unioning multipatches that represent parts of buildings in a city, with multiple multipatches per building, a grouping field can drastically increase performance. By grouping features together based on a unique building identifier the tool does not have to attempt to union a multipatch feature from one buildings against every other multipatch, only those of the same building.

The tool will attempt to optimize its performance by automatically subsetting features into groups, prior to unioning them. The tool creates minimum bounding boxes for each feature, and compares those boxes against each other, identifying groups of potentially overlapping features. Note that the minimum bounding box may be much larger than the multipatch geometry of the feature, so intersection between bounding boxes does not garuntee intersectiong geometry. If you are using a grouping field, you can disable optimization to increase performance. You may also want to disable this option when not using a grouping field if you want all input multipatch features to be unioned into a single output feature.

Note that the tool can either output only those features that ccould be unioned, or all input features including those that could not be unioned with another feature. By default it does the later, but you can disable this by unchecking the "Output All Solids" option.

The tool will raise an error if tries to union two or more multipatch features that share only an edge or vertex, stating that the resulting feature is not simple, and could not be created. If you are not using optimization, and the input feature class or group has multipatches that share no volume or space, the same error message will be displayed.