Advanced Covering General Algorithm
From DocR21
The general algorithm used by Advanced Covering is:
- The user specifies a plane projectable boundary circuit.
- Advanced Covering calculates a projection plane that is used as a "first guess" for the shape of the covering surface acovr_options object.
- Optionally, the calculated projection plane can be replaced by an arbitrary spline surface, using the acovr_options::set_initial_face method. An initial spline surface is created from the projection plane or, if specified, the geometry of this initial face. Knots are added to the initial surface up to at most max_spans in each direction, a value controlled via the method acovr_options::set_max_spans.
- Boundary and guide geometry are projected onto the initial surface, and the covering surface is deformed so that the projected points are "pulled onto" the boundary and guide geometry. The algorithm terminates when the tolerance is met, or when the user-specified maximum number of spans has been reached, or when boundary-circuit constraint conflicts prevent further gap reduction. The covering surface is a B-spline, which will have at most the user-specified maximum number of spans.
- The covering surface is stitched back into the ACIS model. Any edges that have position gaps larger than SPAresabs are converted into tolerant edges.
- Edges that are sheet boundaries (that is, edges belonging to only one face) have their geometry changed to that of the covering face's coedge. This changes both the edge and the vertex geometry, but ensures that there is no gap between the edge and the face.
