# How 3D ACIS Modeler Improves the Quality of Translated 3D Data

Mon Apr 08, 2019

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.

1. Stitching

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.

1. 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.

1. 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.

## Performance

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
part translation.

Generally, the overhead incurred by using multi-processing over multi-threading is mostly in
inter-process communication.

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:

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.