After the model is translated, users have the option of employing a healing workflow to further
improve the quality of the model. Within the 3D ACIS Modeler, this healing process consists of
three phases: stitching, geometry simplification, and gap tightening.
The first phase of healing is stitching or sewing separate faces of an entity together to create a
sheet or solid body that is topologically complete. Stitching essentially involves replacing groups
of coincident edges with a single edge, and groups of coincident vertices with a single vertex.
- Geometry Simplification
Imported models often contain surfaces that appear analytic when displayed on a screen, but
are actually represented as splines.
In the geometry simplification phase, such spline surfaces are converted to corresponding analytic forms wherever possible.
Geometry simplification results in a reduction of data size and speed improvements in subsequent modeling operations.
- Gap Tightening
This phase (also called geometry building) tightens the gaps (inaccuracies) in the input models by building geometry as necessary. In this phase, a series of geometric operations are performed to improve the precision of face, edge, and vertex data.
Geometry building essentially removes the gaps between adjacent surfaces by recomputing intersections.
How the gap is closed depends on the type of surface intersection. Gaps in geometry are filled by extending the adjoining surfaces and recomputing the surface-to-surface intersection.
For tangential intersections of analytic surfaces, the surfaces are snapped to each other using linear transformations, determined through a graph-based solver that is capable of handling cyclic tangencies.
The nodes of the graph are the faces, and the arcs of the graph represent the tangent edges.
Cycles in the graph are broken by giving preference to surfaces with higher curvature (for example, cylinders are snapped to planes rather than planes snapped to cylinders).
Lastly, tangential intersections of spline surfaces in which the intersection curves are along isoparametric lines of the surfaces are corrected via control point modification.
Don’t Sink Your Resources into Building 3D Modeling Components When Spatial Lets You Get to Market Faster.
Accessing Healing Functions
While healing occurs automatically during translation, its scope is limited to improving the quality of the model sufficiently for an effective translation to occur.
However, additional healing routines can be called by the OEM application to perform custom flows and routines, such as splitting edges and periodics or constructing non-manifold topologies.
These healing routines are accessible as a set of API functions delivered as a part of the 3D ACIS Modeler.
Healing impacts the performance of translation, increasing the overall time needed and is greatly influenced by the incoming quality of the model.
One way to combat the performance hit is through multi-process part translation. With an assembly, 3D InterOp can translate and auto heal the constituent parts in parallel.
3D InterOp supports various formats, some of which introduce third-party dependencies which
may not all be thread-safe. Therefore, a multi-process approach is required over multi-threaded
Generally, the overhead incurred by using multi-processing over multi-threading is mostly in
Because 3D InterOp has little need for inter-process communication to translate parts, this overhead is low. The combination of these factors make 3D InterOp well suited to a multi-process implementation, thus greatly increasing translating and healing performance.
More on How to Give Your Applications 3D File Healing Capabilities:
- 3D Data Translation in 3D Modeling
- STL File Problems: Common Problems Identified in the STL File Healing Process
- 3D InterOp's Persistent Naming Translation
Sharing 3D models between different applications in open engineering processes means that
the geometry is now the specification for many complex systems; therefore, accurate translation
from one system to another becomes essential.
But even if a model is accurately read, the output model has to conform to the rules of the target system. Key to obtaining such a conforming model is healing.
Spatial provides a robust set of API functions that can heal the incoming model data so that it conforms to the rules of the target system while adhering to the intent of the source.