|
Functions | |
| outcome | api_boolean (BODY *tool, BODY *blank, BOOL_TYPE op, NDBOOL_KEEP ndbool_keep, BODY *&result_body, BoolOptions *boolopts, AcisOptions *ao=NULL) |
| Executes a general Boolean operation. | |
| outcome | api_boolean (BODY *tool, BODY *blank, BOOL_TYPE op, NDBOOL_KEEP ndbool_keep=NDBOOL_KEEP_NEITHER, BODY *&result_body=*(BODY **) NULL_REF, AcisOptions *ao=NULL) |
| Executes a general Boolean operation. | |
| outcome | api_boolean_chop_body (BODY *tool, BODY *blank, logical nonreg, BODY *&outside, BODY *&leftovers, NDBOOL_KEEP ndbool_keep, BODY *&result_body, BoolOptions *boolopts, AcisOptions *ao=NULL) |
| Executes simultaneous Boolean intersect and subtract operations on two bodies. | |
| outcome | api_boolean_chop_body (BODY *tool, BODY *blank, logical nonreg, BODY *&outside, BODY *&leftovers=*(BODY **) NULL_REF, NDBOOL_KEEP ndbool_keep=NDBOOL_KEEP_NEITHER, BODY *&result_body=*(BODY **) NULL_REF, AcisOptions *ao=NULL) |
| Executes simultaneous Boolean intersect and subtract operations on two bodies. | |
| outcome | api_imprint (BODY *tool, BODY *blank, BoolOptions *bool_opts, AcisOptions *ao=NULL) |
| Intersects two bodies and imprints the intersection graph on both bodies. | |
| outcome | api_imprint (BODY *tool, BODY *blank, AcisOptions *ao=NULL) |
| Intersects two bodies and imprints the intersection graph on both bodies. | |
| outcome | api_initialize_booleans () |
| Initializes the Boolean library. | |
| outcome | api_intersect (BODY *tool, BODY *blank, BoolOptions *boolopts, AcisOptions *ao=NULL) |
| Executes a Boolean intersect operation on two bodies. | |
| outcome | api_intersect (BODY *tool, BODY *blank, AcisOptions *ao=NULL) |
| Executes a Boolean intersect operation on two bodies. | |
| outcome | api_slice (BODY *tool, BODY *blank, const SPAunit_vector &normal, BODY *&graph, BoolOptions *boolopts, AcisOptions *ao=NULL) |
| Performs a slice operation between two bodies. | |
| outcome | api_slice (BODY *tool, BODY *blank, const SPAunit_vector &normal, BODY *&graph, AcisOptions *ao=NULL) |
| Performs a slice operation between two bodies. | |
| outcome | api_subtract (BODY *tool, BODY *blank, BoolOptions *boolopts, AcisOptions *ao=NULL) |
| Executes a Boolean subtract operation. | |
| outcome | api_subtract (BODY *tool, BODY *blank, AcisOptions *ao=NULL) |
| Executes a Boolean subtract operation. | |
| outcome | api_terminate_booleans () |
| Terminates the Boolean library. | |
| outcome | api_unite (BODY *tool, BODY *blank, BoolOptions *bool_opts, AcisOptions *ao=NULL) |
| Executes a Boolean unite operation. | |
| outcome | api_unite (BODY *tool, BODY *blank, AcisOptions *ao=NULL) |
| Executes a Boolean unite operation. | |
| outcome api_boolean | ( | BODY * | tool, | |
| BODY * | blank, | |||
| BOOL_TYPE | op, | |||
| NDBOOL_KEEP | ndbool_keep, | |||
| BODY *& | result_body, | |||
| BoolOptions * | boolopts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Executes a general Boolean operation.
Role: The two bodies are combined by way of union, subtraction, or intersection.
By default, the result is returned in a modified blank body and the tool body is deleted. However, the non-destructive Boolean argument ndbool_keep, allows the caller to preserve the blank body, tool body, or both bodies. If the blank body is to be preserved, a new body is created for the result and returned via the pointer result_body. The caller is responsible for passing in a NULL BODY pointer, through which the result body is returned. For more information refer to the Technical Article Non-destructive Boolean Operations.
The Boolean options argument, boolopts, allows the caller to pass additional information to the Boolean operation. Refer to BoolOptions for details.
Note that it is possible for an empty blank body to be returned, for example, when intersecting two solid bodies that do not overlap.
Note that the result of a regularized Boolean operation between two bodies of the same dimension cannot have a lower dimension. Therefore, the regularized intersection between two non-coincident 2D sheet bodies is an empty body, whereas the non-regularized intersection is a wire body. For more information refer to the Technical Article Regularized and Non-regularized Boolean Operations.
To perform a simultaneous intersection and subtraction, the API api_boolean_chop_body is recommended.
Errors: tool or blank is a NULL pointer or does not point to a BODY.
Effect: Changes model.
Journal: Available
Product(s): 3D ACIS Modeler
| tool | (in) Tool body, deleted by the Boolean operation (default). | |
| blank | (in/out) Blank body, modified by the operation (default). | |
| op | (in) Type of Boolean operation. Valid values are UNION, INTERSECTION, SUBTRACTION, NONREG_UNION, NONREG_INTERSECTION, and NONREG_SUBTRACTION. | |
| ndbool_keep | (in) Flag for non-destructive Booleans. Valid values are NDBOOL_KEEP_NEITHER (default), NDBOOL_KEEP_BLANK, NDBOOL_KEEP_TOOL, and NDBOOL_KEEP_BOTH. | |
| result_body | (out) Used to return the result body if performing a non-destructive Boolean. Default value is *(BODY**)NULL_REF if not required. | |
| boolopts | (in) Boolean options. Refer to BoolOptions for details. | |
| ao | (in) ACIS options such as versioning and journaling. |
include <boolapi.hxx>
| outcome api_boolean | ( | BODY * | tool, | |
| BODY * | blank, | |||
| BOOL_TYPE | op, | |||
| NDBOOL_KEEP | ndbool_keep = NDBOOL_KEEP_NEITHER, |
|||
| BODY *& | result_body = *(BODY **) NULL_REF, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Executes a general Boolean operation.
Role: The two bodies are combined by way of union, subtraction, or intersection.
By default, the result is returned in a modified blank body and the tool body is deleted. However, the non-destructive Boolean argument ndbool_keep, allows the caller to preserve the blank body, tool body, or both bodies. If the blank body is to be preserved, a new body is created for the result and returned via the pointer result_body. The caller is responsible for passing in a NULL BODY pointer, through which the result body is returned. For more information refer to the Technical Article Non-destructive Boolean Operations.
Note that it is possible for an empty blank body to be returned, for example, when intersecting two solid bodies that do not overlap.
Note that the result of a regularized Boolean operation between two bodies of the same dimension cannot have a lower dimension. Therefore, the regularized intersection between two non-coincident 2D sheet bodies is an empty body, whereas the non-regularized intersection is a wire body. For more information refer to the Technical Article Regularized and Non-regularized Boolean Operations.
To perform a simultaneous intersection and subtraction, the API api_boolean_chop_body is recommended.
Errors: tool or blank is a NULL pointer or does not point to a BODY.
Effect: Changes model.
Journal: Available
Product(s): 3D ACIS Modeler
| tool | (in) Tool body, deleted by the operation (default). | |
| blank | (in/out) Blank body, modified by the operation (default). | |
| op | (in) Type of Boolean operation. Valid values are UNION, INTERSECTION, SUBTRACTION, NONREG_UNION, NONREG_INTERSECTION, and NONREG_SUBTRACTION. | |
| ndbool_keep | (in) Optonal flag for non-destructive Booleans. Valid values are NDBOOL_KEEP_NEITHER (default), NDBOOL_KEEP_BLANK, NDBOOL_KEEP_TOOL, and NDBOOL_KEEP_BOTH. | |
| result_body | (out) Used to return the result body if performing a non-destructive Boolean. Default value is *(BODY**)NULL_REF if not required. | |
| ao | (in) ACIS options such as versioning and journaling. |
include <boolapi.hxx>
| outcome api_boolean_chop_body | ( | BODY * | tool, | |
| BODY * | blank, | |||
| logical | nonreg, | |||
| BODY *& | outside, | |||
| BODY *& | leftovers, | |||
| NDBOOL_KEEP | ndbool_keep, | |||
| BODY *& | result_body, | |||
| BoolOptions * | boolopts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Executes simultaneous Boolean intersect and subtract operations on two bodies.
Role: This API function "chops" the blank body with the tool body, returning the body formed by intersecting the tool with the blank, and the body formed by subtracting the tool from the blank, simultaneously. The intersection result is returned via a modified blank body. A new body is created for the subtraction result and is returned via the pointer outside. The caller is responsible for passing in a NULL pointer through which the subtraction result will be returned.
If the tool body is an incomplete solid, any lumps of the blank which are not intersected by the faces of the tool, and which therefore cannot be classified as either inside or outside, will be returned in a newly created body via the pointer leftovers, if a NULL pointer is supplied. The operation will fail if the tool body does not extend far enough to cut completely through any lump of the blank body with which its faces do intersect.
For more information refer to the Technical Article Basic Boolean Operations.
Errors: tool or blank is a NULL pointer or does not point to a BODY.
Effect: Changes model.
Journal: Available
Product(s): 3D ACIS Modeler
| tool | (in) Tool body, deleted by the chop operation (default). | |
| blank | (in/out) Blank body to be chopped, modified to return the intersection result (default). | |
| nonreg | (in) Set to TRUE when nonregularized results are required, FALSE otherwise. | |
| outside | (out) Used to return the subtraction result. | |
| leftovers | (out) Returns any unclassified lumps from the blank, or NULL if none. Set it to *(BODY**)NULL_REF on input if not required. | |
| ndbool_keep | (in) Flag for non-destructive Booleans. Valid values are NDBOOL_KEEP_NEITHER, NDBOOL_KEEP_BLANK, NDBOOL_KEEP_TOOL and NDBOOL_KEEP_BOTH. | |
| result_body | (out) Used to return the intersection body if performing a non-destructive Boolean. Set it to *(BODY**)NULL_REF on input if not required. | |
| boolopts | (in) Boolean options. Refer to BoolOptions for details. | |
| ao | (in) ACIS options such as versioning and journaling. |
include <boolapi.hxx>
| outcome api_boolean_chop_body | ( | BODY * | tool, | |
| BODY * | blank, | |||
| logical | nonreg, | |||
| BODY *& | outside, | |||
| BODY *& | leftovers = *(BODY **) NULL_REF, |
|||
| NDBOOL_KEEP | ndbool_keep = NDBOOL_KEEP_NEITHER, |
|||
| BODY *& | result_body = *(BODY **) NULL_REF, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Executes simultaneous Boolean intersect and subtract operations on two bodies.
Role: This API function "chops" the blank body with the tool body, returning the body formed by intersecting the tool with the blank, and the body formed by subtracting the tool from the blank, simultaneously. The intersection result is returned via a modified blank body. A new body is created for the subtraction result and is returned via the pointer outside. The caller is responsible for passing in a NULL pointer through which the subtraction result will be returned.
If the tool body is an incomplete solid, any lumps of the blank which are not intersected by the faces of the tool, and which therefore cannot be classified as either inside or outside, will be returned in a newly created body via the pointer leftovers, if a NULL pointer is supplied. If leftovers is not supplied, any unclassified lumps will be deleted. The operation will fail if the tool body does not extend far enough to cut completely through any lump of the blank body with which its faces do intersect.
For more information refer to the Technical Article Basic Boolean Operations.
Errors: tool or blank is a NULL pointer or does not point to a BODY.
Effect: Changes model.
Journal: Available
Product(s): 3D ACIS Modeler
| tool | (in) Tool body, deleted by the chop operation (default). | |
| blank | (in/out) Blank body to be chopped, modified to return the intersection result (default). | |
| nonreg | (in) Set to TRUE when nonregularized results are required, FALSE otherwise. | |
| outside | (out) Used to return the subtraction result. | |
| leftovers | (out) Returns any unclassified lumps from the blank, or NULL if none. | |
| ndbool_keep | (in) Optional flag for non-destructive Booleans. Valid values are NDBOOL_KEEP_NEITHER (default), NDBOOL_KEEP_BLANK, NDBOOL_KEEP_TOOL and NDBOOL_KEEP_BOTH. | |
| result_body | (out) Used to return the intersection body if performing a non-destructive Boolean. Default value is *(BODY**)NULL_REF if not required. | |
| ao | (in) ACIS options such as versioning and journaling. |
include <boolapi.hxx>
| outcome api_imprint | ( | BODY * | tool, | |
| BODY * | blank, | |||
| BoolOptions * | bool_opts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Intersects two bodies and imprints the intersection graph on both bodies.
Role: This API function computes the intersection graph of the tool body and the blank body and imprints the intersection graph on both bodies. If a closed loop of edges is created, a new face is made. An open loop of edges can be added as a spur to an existing loop on a face or as a slit in the face.
For more information refer to the Technical Article Imprint.
Errors: tool or blank is a NULL pointer or does not point to a BODY.
Effect: Changes models
Journal: Available
Product(s): 3D ACIS Modeler
| tool | (in/out) Tool body. | |
| blank | (in/out) Blank body. | |
| bool_opts | (in) Boolean options. Refer to BoolOptions for details. | |
| ao | (in) ACIS options such as versioning and journaling. |
include <boolapi.hxx>
| outcome api_imprint | ( | BODY * | tool, | |
| BODY * | blank, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Intersects two bodies and imprints the intersection graph on both bodies.
Role: This API function computes the intersection graph of the tool body and the blank body and imprints the intersection graph on both bodies. If a closed loop of edges is created, a new face is made. An open loop of edges can be added as a spur to an existing loop on a face or as a slit in the face.
For more information refer to the Technical Article Imprint.
Errors: tool or blank is a NULL pointer or does not point to a BODY.
Effect: Changes models
Journal: Available
Product(s): 3D ACIS Modeler
| tool | (in/out) Tool body. | |
| blank | (in/out) Blank body. | |
| ao | (in) ACIS options such as versioning and journaling. |
include <boolapi.hxx>
| outcome api_initialize_booleans | ( | ) |
Initializes the Boolean library.
Effect: System routine
Journal: Not Available
Product(s): 3D ACIS Modeler
include <boolapi.hxx>
| outcome api_intersect | ( | BODY * | tool, | |
| BODY * | blank, | |||
| BoolOptions * | boolopts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Executes a Boolean intersect operation on two bodies.
Role: This API function intersects two bodies (blank and tool). If the outcome is successful, the result is returned in a modified blank body, and the tool body is deleted. The intersection is performed even if the bodies do not overlap. In this case, a NULL body is returned.
For more information refer to the Technical Article Basic Boolean Operations.
Errors: tool or blank body is a NULL pointer or does not point to a BODY.
Effect: Changes model.
Journal: Available
Product(s): 3D ACIS Modeler
| tool | (in) Tool body, deleted by the operation. | |
| blank | (in/out) Blank body, modified by the operation. | |
| boolopts | (in) Boolean options. Refer to BoolOptions for details. | |
| ao | (in) ACIS options such as versioning and journaling. |
include <boolapi.hxx>
| outcome api_intersect | ( | BODY * | tool, | |
| BODY * | blank, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Executes a Boolean intersect operation on two bodies.
Role: This API function intersects two bodies (blank and tool). If the outcome is successful, the result is returned in a modified blank body, and the tool body is deleted. The intersection is performed even if the bodies do not overlap. In this case, a NULL body is returned.
For more information refer to the Technical Article Basic Boolean Operations.
Errors: tool or blank body is a NULL pointer or does not point to a BODY.
Effect: Changes model.
Journal: Available
Product(s): 3D ACIS Modeler
| tool | (in) Tool body, deleted by the operation. | |
| blank | (in/out) Blank body, modified by the operation. | |
| ao | (in) ACIS options such as versioning and journaling. |
include <boolapi.hxx>
| outcome api_slice | ( | BODY * | tool, | |
| BODY * | blank, | |||
| const SPAunit_vector & | normal, | |||
| BODY *& | graph, | |||
| BoolOptions * | boolopts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Performs a slice operation between two bodies.
Role: This API function computes the intersection graph between two bodies. It returns a special wire body where each edge has two coedges. A normal vector can be given in the special case when the tool body is a plane, causing this operation to sequence the resultant wires into non-overlapping loops of conventional sense. Generally, the normal should be set to *(SPAunit_vector*)NULL_REF.
Note: The slice graph is not designed to be used as a general wire body. To generate a wire body suitable for subsequent general use, a call to api_clean_wire is necessary after calling this API function. However, if there are no intersections the returned wire body is NULL and subsequent calls to api_clean_wire are not necessary, nor recommended.
The Boolean options argument, boolopts, allows the caller to pass additional information to the slice operation. Refer to BoolOptions for more details. Note that some options (for example, the merge type) do not affect the outcome of the slice operation.
This function is optionally Failsafe. In Failsafe mode, the API function will return as much of the result as possible. If the result is incomplete, then the API function will return success, but the returned outcome will return true if encountered_errors() is called. The caller should examine the entities linked with these errors and take any action they require to resolve the incomplete slice graph.
Failsafe mode is enabled using the option "fss", as well as ensuring that the "careful" option is set to FALSE. Setting the "careful" option to TRUE will turn off all Failsafe behavior. In non-failsafe mode the model is completely rolled back on the occurrence of the first unhandled error.
For more information refer to the Technical Article Slice.
Errors:
tool or blank is a NULL pointer or does not point to a BODY.
normal has zero length.
Effect: Read-only on input. A new body is created.
Journal: Not Available
Product(s): 3D ACIS Modeler
| tool | (in) Tool, or slicing body. | |
| blank | (in) Blank body to be sliced. | |
| normal | (in) Normal about which wire edges at a vertex are to be ordered. | |
| graph | (out) Returned slice graph. | |
| boolopts | (in) Boolean options. Refer to BoolOptions for details. | |
| ao | (in) ACIS options such as versioning and journaling. |
include <boolapi.hxx>
| outcome api_slice | ( | BODY * | tool, | |
| BODY * | blank, | |||
| const SPAunit_vector & | normal, | |||
| BODY *& | graph, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Performs a slice operation between two bodies.
Role: This API function computes the intersection graph between two bodies. It returns a special wire body where each edge has two coedges. A normal vector can be given in the special case when the tool body is a plane, causing this operation to sequence the resultant wires into non-overlapping loops of conventional sense. Generally, the normal should be set to *(SPAunit_vector*)NULL_REF.
Note: The slice graph is not designed to be used as a general wire body. To generate a wire body suitable for subsequent general use, a call to api_clean_wire is necessary after calling this API function. However, if there are no intersections the returned wire body is NULL and subsequent calls to api_clean_wire are not necessary, nor recommended.
This function is optionally Failsafe. In Failsafe mode, the API function will return as much of the result as possible. If the result is incomplete, then the API function will return success, but the returned outcome will return true if encountered_errors() is called. The caller should examine the entities linked with these errors and take any action they require to resolve the incomplete slice graph.
Failsafe mode is enabled using the option "fss", as well as ensuring that the "careful" option is set to FALSE. Setting the "careful" option to TRUE will turn off all Failsafe behavior. In non-failsafe mode the model is completely rolled back on the occurrence of the first unhandled error.
For more information refer to the Technical Article Slice.
Errors:
tool or blank is a NULL pointer or does not point to a BODY.
normal has zero length.
Effect: Read-only on input. A new body is created.
Journal: Not Available
Product(s): 3D ACIS Modeler
| tool | (in) Tool, or slicing body. | |
| blank | (in) Blank body to be sliced. | |
| normal | (in) Normal about which wire edges at a vertex are to be ordered. | |
| graph | (out) Returned slice graph. | |
| ao | (in) ACIS options such as versioning and journaling. |
include <boolapi.hxx>
| outcome api_subtract | ( | BODY * | tool, | |
| BODY * | blank, | |||
| BoolOptions * | boolopts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Executes a Boolean subtract operation.
Role: This API function subtracts one body from another. If the outcome is successful, the result is returned in a modified blank body and the tool body is deleted.
For more information refer to the Technical Article Basic Boolean Operations.
Errors: tool or blank is a NULL pointer or does not point to a BODY.
Effect: Changes model.
Journal: Available
Product(s): 3D ACIS Modeler
| tool | (in) Tool body to be subtracted, deleted by the operation. | |
| blank | (in/out) Blank body to be subtracted from, modified by the operation. | |
| boolopts | (in) Boolean options. Refer to BoolOptions for details. | |
| ao | (in) ACIS options such as versioning and journaling. |
include <boolapi.hxx>
| outcome api_subtract | ( | BODY * | tool, | |
| BODY * | blank, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Executes a Boolean subtract operation.
Role: This API function subtracts one body from another. If the outcome is successful, the result is returned in a modified blank body and the tool body is deleted.
For more information refer to the Technical Article Basic Boolean Operations.
Errors: tool or blank is a NULL pointer or does not point to a BODY.
Effect: Changes model.
Journal: Available
Product(s): 3D ACIS Modeler
| tool | (in) Tool body to be subtracted, deleted by the operation. | |
| blank | (in/out) Blank body to be subtracted from, modified by the operation. | |
| ao | (in) ACIS options such as versioning and journaling. |
include <boolapi.hxx>
| outcome api_terminate_booleans | ( | ) |
Terminates the Boolean library.
Effect: System routine
Journal: Not Available
Product(s): 3D ACIS Modeler
include <boolapi.hxx>
| outcome api_unite | ( | BODY * | tool, | |
| BODY * | blank, | |||
| BoolOptions * | bool_opts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Executes a Boolean unite operation.
Role: This API function unites two bodies. If the outcome is successful, the result is returned in a modified blank body and the tool body is deleted.
For more information refer to the Technical Article Basic Boolean Operations.
Errors: tool or blank is a NULL pointer or does not point to a BODY.
Effect: Changes model.
Journal: Available
Product(s): 3D ACIS Modeler
| tool | (in) Tool body, deleted by the operation. | |
| blank | (in) Blank body, modified by the operation. | |
| bool_opts | (in) Boolean options. Refer to BoolOptions for details. | |
| ao | (in) ACIS options such as versioning and journaling. |
include <boolapi.hxx>
| outcome api_unite | ( | BODY * | tool, | |
| BODY * | blank, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Executes a Boolean unite operation.
Role: This API function unites two bodies. If the outcome is successful, the result is returned in a modified blank body and the tool body is deleted.
For more information refer to the Technical Article Basic Boolean Operations.
Errors: tool or blank is a NULL pointer or does not point to a BODY.
Effect: Changes model.
Journal: Available
Product(s): 3D ACIS Modeler
| tool | (in) Tool body, deleted by the operation. | |
| blank | (in) Blank body, modified by the operation. | |
| ao | (in) ACIS options such as versioning and journaling. |
include <boolapi.hxx>