|
Functions | |
| outcome | api_initialize_rbi () |
| Initializes the repair body self intersections library. | |
| outcome | api_remove_and_repair_body (int const nface, FACE *faces[], SPAposition box_low, SPAposition box_high, AcisOptions *ao=NULL) |
| Removes faces and repairs the body. | |
| outcome | api_repair_body_self_ints (BODY *body, int const nface, FACE *faces[], AcisOptions *ao=NULL) |
| Repairs self intersections in the supplied body. | |
| outcome | api_terminate_rbi () |
| Terminates the repair body self intersection library. | |
| outcome api_initialize_rbi | ( | ) |
Initializes the repair body self intersections library.
Effect: System routine
Journal: Not Available
Product(s): 3D ACIS Modeler
include <rbi_api.hxx>
| outcome api_remove_and_repair_body | ( | int const | nface, | |
| FACE * | faces[], | |||
| SPAposition | box_low, | |||
| SPAposition | box_high, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Removes faces and repairs the body.
Role: This API attempts to remove the specified faces from the body, and reclose a solid by growing the remaining adjacent faces, and intersecting them amongst themselves and with remote faces.
This operation cannot be be guaranteed to succeed. For example removing any face from a cube will fail as the remaining surfaces do not enclose a volume.
If an empty box is supplied, the function will compute a suitable box.The adjacent face surfaces are generally extended so as to have no boundaries in the box. This avoids solutions with detached faces on the same surface.
RBI_BAD_FACE. Non manifold edge in body supplied gives RBI_NON_MANIFOLD. Free or Sheet edge in body supplied gives RBI_FREE_EDGE. Internal error gives RBI_INTERNAL. No lumps left in body gives RBI_NO_LUMP_LEFT. No faces supplied gives RBI_NO_FACE. Body cannot be reclosed gives RBI_NO_SOLUTION. Invalid box supplied gives RBI_BAD_BOX.
Limitations: Supplied body must be manifold and solid. Remote faces are not extended.
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Modeler
| nface | number of faces to be removed. | |
| faces | faces to be removed. | |
| box_low | start of intersection box. | |
| box_high | end of intersection box. | |
| ao | ACIS options. |
include <rbi_api.hxx>
| outcome api_repair_body_self_ints | ( | BODY * | body, | |
| int const | nface, | |||
| FACE * | faces[], | |||
| AcisOptions * | ao = NULL | |||
| ) |
Repairs self intersections in the supplied body.
Role: Self-intersecting bodies have mutually intersecting faces. These are faces that intersect in places other than any of the common boundaries between them.
This API is intended to repair body self-intersections made by Local Ops or Shelling. This API does not address topology changes that prevent these operations from completing, but does repair self-intersections that result from the completed operations.
Body self-intersections made by other operations (such as sweeping or blending) may also be repaired if the body is in a suitable state.
The following assumptions are made:
RBI_NO_BODY. Duplicate faces gives RBI_BAD_FACE. Non manifold body gives RBI_NON_MANIFOLD. Free ( sheet ) edge gives RBI_FREE_EDGE. Algorithmic failure gives RBI_INTERNAL or RBI_BAD_OP_ON_ATT. Current limitation gives RBI_NOT_IMPLEMENTED. Unrepairable face loop gives RBI_IRREP_FACE_LOOP. All faces in body being deleted gives RBI_NO_LUMP_LEFT.
Limitations:
lop_repair_self_int is on or option lop_check_invert is off. api_repair_body_self_ints remove any faces that are given reversed senses during the operation, set option rbi_remove_inv_face to TRUE, and face removal algorithm will be called at the end of the operation on those inverted faces, and will remove them by growing adjacent faces. | body | body to be repaired. | |
| nface | number of faces changed since the body did not self-intersect. | |
| faces | faces changed since the body did not self-intersect. | |
| ao | ACIS options. |
include <rbi_api.hxx>
| outcome api_terminate_rbi | ( | ) |
Terminates the repair body self intersection library.
Effect: System routine
Journal: Not Available
Product(s): 3D ACIS Modeler
include <rbi_api.hxx>