|
Classes | |
| class | rem_error_info |
| Error entities from a remove face operation. More... | |
Functions | |
| outcome | api_initialize_face_removal () |
| Initializes the removal library. | |
| outcome | api_remove_faces (int const nface, FACE *face[], const SPAposition &box_low, const SPAposition &box_high, lop_options *pLopts, AcisOptions *ao=NULL) |
| Removes an array of faces, growing the adjacent faces to fill the gap. | |
| outcome | api_remove_open_gap (EDGE *edge1, EDGE *edge2, const SPAposition &box_low, const SPAposition &box_high, lop_options *pLopts, AcisOptions *ao) |
| Removes an open gap consisting of two open circuits, specified by the input edges, growing the adjacent faces to fill the gap. | |
| outcome | api_remove_open_gap (EDGE *edge, const SPAposition &box_low, const SPAposition &box_high, lop_options *pLopts, AcisOptions *ao) |
| Removes an open gap, growing the adjacent faces to fill the gap. | |
| outcome | api_remove_wire_edges (int const nedge, EDGE **edge, const SPAposition &box_low, const SPAposition &box_high, lop_options *pLopts, AcisOptions *ao=NULL) |
| Removes an array of EDGEs in a WIRE body by extending the adjacent EDGEs and intersecting to fill the gap. | |
| outcome | api_terminate_face_removal () |
| Terminates the removal library. | |
| outcome api_initialize_face_removal | ( | ) |
Initializes the removal library.
Effect: System routine
Journal: Not Available
include <rem_api.hxx>
| outcome api_remove_faces | ( | int const | nface, | |
| FACE * | face[], | |||
| const SPAposition & | box_low, | |||
| const SPAposition & | box_high, | |||
| lop_options * | pLopts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
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.
REM_NO_FACE "no faces supplied" REM_BAD_FACE "face(s) supplied invalid, duplicate or from different shells" REM_NON_MANIFOLD "non-manifold edge detected" or REM_FREE_EDGE "free edge detected" REM_LAST_SHELL "only shell in body would be lost" REM_BAD_BOX "invalid box supplied" REM_NO_SOLUTION "gap cannot be filled" REM_INTERNAL "internal error" | 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. |
include <rem_api.hxx>
| outcome api_remove_open_gap | ( | EDGE * | edge1, | |
| EDGE * | edge2, | |||
| const SPAposition & | box_low, | |||
| const SPAposition & | box_high, | |||
| lop_options * | pLopts, | |||
| AcisOptions * | ao | |||
| ) |
Removes an open gap consisting of two open circuits, specified by the input edges, growing the adjacent faces to fill the gap.
Role: Curves and surfaces of edges and faces surrounding the open gap, 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, for example, the tops of cylindrical bosses.
The body shells and lumps are corrected at the end of the operation, if they have been split.
New shells of different solidity to the original shell are deleted, for example, void shells made from a shell originally a solid.
Errors: Some of the following errors result in an ENTITY, which indicates where the error occurs:
The ENTITY type follows the error message below.
REM_NO_EDGE "no edges supplied" REM_NON_MANIFOLD "non-manifold edge detected" or REM_FREE_EDGE "free edge detected" REM_BAD_BOX "invalid box supplied" REM_NO_SOLUTION "gap cannot be filled" REM_INTERNAL "internal error" | edge1 | Specifies the edge which is part of the first open gap being removed. | |
| edge2 | Specifies the edge which is part of the second open gap being removed, can be NULL. | |
| box_low | Specifies the start of intersection and extension box to be used. | |
| box_high | Specifies the end of intersection and extension box to be used. | |
| pLopts | Specifies the local operations options. NULL argument will set the default values. | |
| ao | Specifies ACIS options such as versioning and journaling. |
include <rem_api.hxx>
| outcome api_remove_open_gap | ( | EDGE * | edge, | |
| const SPAposition & | box_low, | |||
| const SPAposition & | box_high, | |||
| lop_options * | pLopts, | |||
| AcisOptions * | ao | |||
| ) |
Removes an open gap, growing the adjacent faces to fill the gap.
Role: Curves and surfaces of edges and faces surrounding the open gap, 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.
The body shells and lumps are corrected at the end of the operation, if they have been split.
New shells of different solidity to the original shell are deleted, for example, void shells made from a shell originally a solid.
Errors: Some of the following errors result in an ENTITY, which indicates where the error occurs:
The ENTITY type follows the error message below.
REM_NO_EDGE "no edges supplied" REM_NON_MANIFOLD "non-manifold edge detected" or REM_FREE_EDGE "free edge detected" REM_BAD_BOX "invalid box supplied" REM_NO_SOLUTION "gap cannot be filled" REM_INTERNAL "internal error" | edge | Specifies the edge which is part of the open gap that is being removed. | |
| box_low | Specifies the start of an intersection and extension box to be used. | |
| box_high | Specifies the end of an intersection and extension box to be used. | |
| pLopts | Specifies local operations options. NULL argument will set the default values. | |
| ao | Specifies ACIS options such as versioning and journaling. |
include <rem_api.hxx>
| outcome api_remove_wire_edges | ( | int const | nedge, | |
| EDGE ** | edge, | |||
| const SPAposition & | box_low, | |||
| const SPAposition & | box_high, | |||
| lop_options * | pLopts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Removes an array of EDGEs in a WIRE body by extending the adjacent EDGEs and intersecting to fill the gap.
Role: The array of EDGEs supplied to the API must all belong to the same WIRE body but do not have to connect. The functionality of the API will remove the EDGEs from the WIRE body and extend the neighboring EDGEs (naturally) and intersect to close the gap. If no intersection exists, then the API will return "gap cannot be filled". The API, additionally, takes a bounding box as input. If an EDGE/EDGE intersection falls outside of the bounding box, then the API will, again, fail. If the API detects either of these circumstances it leaves the body unchanged. If the intersection involves two identical curves such as straights, then a VERTEX is placed between the two EDGEs based on an average distance.
The API works on both open and closed WIRES. If an open WIRE is given and the EDGE to be removed is either of the EDGEs making up the ends of the WIRE, the EDGE will simply be removed from the WIRE body. If the WIRE body contains only one EDGE and that EDGE is asked to be removed, the WIRE body will be deleted.
Errors: Some of the following errors result in EDGE(s) being highlighted, which indicates where the error occurs.
The ENTITY type follows the error message below.
REM_NO_EDGE "no EDGEs supplied" REM_NO_SOLUTION "non-manifold edge detected" REM_BAD_BOX "invalid box supplied" REM_NO_SOLUTION "gap cannot be filled" REM_INTERNAL "internal error" | nedge | number of edges. | |
| edge | edges 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. |
include <rem_api.hxx>
| outcome api_terminate_face_removal | ( | ) |