Removes an array of faces, growing the adjacent faces to fill the gap.
Role: Curves and surfaces of edges and faces surrounding the removed faces, and which end in
the user supplied box, are extended by a length approximately equal to twice the diagonal
of the supplied box.
Similarly the intersections required to produce new edges and vertices, are limited by the
size of the user supplied box.
Thus the user should supply a box likely to contain the changed faces. An overly large box
will result in wasted computation. The default box is twice the body box of the original body.
Note that there may be no solution to the gap filling problem, or no solution using adjacent
faces only.
If the function detects these circumstances it issues an error and leaves the body unchanged.
Adjacent faces left infinite and with no loops will be deleted, example, the tops of cylindrical
bosses having the cylindrical face removed.
If the faces to be removed are isolated from one another, they are removed in the order supplied.
The body shells and lumps are corrected at the end of the operation, should they have been split.
New shells of different solidity to the original shell are deleted, example, void shells made
from a shell originally solid.
To have api_remove_faces heal gaps using adjacent and remote faces set option rem_use_rbi to TRUE,
and api_remove_and_repair_body will be called.
Errors: Some of the following errors result in an ENTITY, which indicates where the error occurs,
being highlighted.
The ENTITY type follows the error message below.
At least face must be supplied or error:
REM_NO_FACE "no faces supplied"
Non-duplicate valid faces must be supplied from the same shell or error:
REM_BAD_FACE "face(s) supplied invalid, duplicate or from different shells"
Body must be manifold and solid or errors:
REM_NON_MANIFOLD "non-manifold edge detected" or REM_FREE_EDGE "free edge detected"
All faces in a shell or lump may be removed, so long as another shell remains, or error:
REM_LAST_SHELL "only shell in body would be lost"
Box must be valid if supplied, or error:
REM_BAD_BOX "invalid box supplied"
Adjacent faces must be able to combine to fill the gap left by the removed faces or error:
REM_NO_SOLUTION "gap cannot be filled"
Internal Algorithmic problems produce the error:
REM_INTERNAL "internal error"
Limitations: Body must be manifold and solid.
Some growing faces may shrink if necessary, but not so far as their boundaries. The healing
process must be entirely within the faces adjacent to those removed.
No checks are made to see if the faces grown intersect with other non growing faces in the model.
Checks that the growing faces intersect with one another is not rigorously done between
unconnected regions of growing faces.
If the geometry of the edges lateral to the face(s) being removed do not have a well-defined extension,
this can cause the API to fail.
Effect: Changes model
Journal: Available
Parameters:
nface
number of faces.
face
faces being removed.
box_low
start of intersection and extension box to be used.
box_high
end of intersection and extension box to be used.
pLopts
local operations options. NULL argument will set the default values.
ao
ACIS options.
This object is included in the file: rem_api.hxx
Copyright (c) 1989-2007 by Spatial Corp. All rights reserved.