Home

Splits
[Advanced Operations]

Collaboration diagram for Splits:
Declared at <boolapi.hxx>, SPAbool. More...

Functions

outcome api_split_edges_at_poles (ENTITY *blank, AcisOptions *ao=NULL)
 Splits the edges of an entity at surface poles.
outcome api_split_face (FACE *face, logical split_u, logical use_percent, double p, AcisOptions *ao=NULL)
 Splits a spline face along a specified isoparameter curve.
outcome api_split_face_at_disc (FACE *face, ENTITY_LIST &split_faces, int cont_order=1, AcisOptions *ao=NULL)
 Splits a face along isoparametric lines at G1 or G2 discontinuities.
outcome api_split_periodic_faces (ENTITY *ent, AcisOptions *ao=NULL)
 Splits periodic faces along isoparameter curves to ensure they are well formed.

Detailed Description

Declared at <boolapi.hxx>, SPAbool.


Function Documentation

outcome api_split_edges_at_poles ( ENTITY blank,
AcisOptions ao = NULL 
)

Splits the edges of an entity at surface poles.



Role: This API looks at each face in the given entity and splits edges that pass through a pole of the face's surface. The input entity should be a BODY, LUMP, SHELL, or FACE.

Errors: blank is a NULL pointer.

Effect: Changes model.

Journal: Available

Parameters:
blank (in/out) Entity whose edges are to be split.
ao (in) ACIS options such as versioning and journaling.

include <boolapi.hxx>

outcome api_split_face ( FACE face,
logical  split_u,
logical  use_percent,
double  p,
AcisOptions ao = NULL 
)

Splits a spline face along a specified isoparameter curve.



Role: This API splits a spline face along a u or v isoparameter curve. It will split along u if the argument split_u is set to TRUE, or along v if split_u is set to FALSE. The position of the splitting curve can be specified in two ways:

  • by an explicit parameter value p, which must be within the range of the surface. In this case, use_percent should be set to FALSE.
  • by a percentage value p, which must be between 0 and 1. In this case, use_percent should be set to TRUE.


When a percentage value is specified, the value of the parameter is a percentage of the parameter range of the surface unless the parameter range is not finite, in which case it is a percentage of the width of the parameter box of the face in that parameter direction. Note that the extent of a parameter box is not guaranteed to remain the same for different versions of ACIS, so the exact value of the parameter in these cases is not well-defined.

To split a face along isoparametric lines at G1 or G2 discontinuities, the API api_split_face_at_disc is recommended.

Errors:
face is a NULL pointer or does not point to a spline FACE.
Parameter value or percentage is incorrect.

Effect: Changes model.

Journal: Available

Parameters:
face (in) Face to be split.
split_u (in) Flag indicating whether to split along u or v.
use_percent (in) Flag indicating whether to treat p as an explicit parameter value or a percentage.
p (in) Parameter value or percentage at which to split.
ao (in) ACIS options such as versioning and journaling.

include <boolapi.hxx>

outcome api_split_face_at_disc ( FACE face,
ENTITY_LIST split_faces,
int  cont_order = 1,
AcisOptions ao = NULL 
)

Splits a face along isoparametric lines at G1 or G2 discontinuities.



Role: This extension splits a face along the u and/or v isoparametric lines at parameters of G1 or G2 discontinuity. The list of new faces is returned via the argument split_faces.

If the edges of the input face also have discontinuities of order 1 or 2 then a split of the edges using api_split_edge_at_disc is recommended before calling this API. Otherwise, the correct outcome of this API cannot be guaranteed.

Errors: Face does not contain discontinuity information.

Limitations:

  • If the supplied face is an independent face (that is, no body, lump, or shell), it will return a list of faces that share edges and do not belong to a shell, lump or body.
  • This API splits faces only at discontinuities in the range of the face.

    Effect: Changes model.

    Journal: Available

    Parameters:
    face (in) Face to be split.
    split_faces (out) List of resulting faces.
    cont_order (in) Set to 1 to remove G1 discontinuities, 2 to remove G2 discontinuities.
    ao (in) ACIS options such as versioning and journaling.

include <boolapi.hxx>

outcome api_split_periodic_faces ( ENTITY ent,
AcisOptions ao = NULL 
)

Splits periodic faces along isoparameter curves to ensure they are well formed.



Role: This function splits periodic faces of the given entity along u and/or v isoparameter curves to ensure they are well formed. This means that each periodic face has no edges that cross the parameter seam. Generally speaking, this function can split a periodic face once, to create a periodic face with a seam edge, or twice, to create two open faces. More precisely, this function will split a periodic face along one or two isoparametric curves. Multiple faces can result from any such split, depending upon the boundaries of the original face. The input entity should be a BODY, LUMP, SHELL, or FACE.

Refer to the documentation for the option new_periodic_splitting, which controls how periodic faces are split. Option values of 0 or 1 cause periodic faces to be split twice. Option values of 2 or 3 cause periodic faces to be split once. Option values of 1 or 3 will allow periodic faces on analytic or spline surfaces to be split. Option values of 0 or 2 will allow periodic faces on only analytic surfaces to be split.

Errors: ent is a NULL pointer.

Effect: Changes model.

Journal: Available

Parameters:
ent (in) Entity whose periodic faces are to be split.
ao (in) ACIS options such as versioning and journaling.

include <boolapi.hxx>