|
Functions | |
| outcome | api_convert_pipes (BODY *body, lop_options *pLopts, AcisOptions *ao=NULL) |
Replaces the geometry of any faces in the supplied array which currently are pipe_spl_sur splines with rb_blend_spl_sur splines. | |
| outcome | api_convert_pipes (int const nface, FACE *face[], lop_options *pLopts, AcisOptions *ao=NULL) |
Replaces the geometry of any faces in the supplied array which currently are pipe_spl_sur splines with rb_blend_spl_sur splines. | |
| outcome | api_detect_depression (const ENTITY *seed_ent, ENTITY_LIST &depression_faces, const detect_feature_options *df_opts=NULL) |
| This API detects depression features on the model and returns a collection of contiguous faces defining the depression that includes the supplied seed entity. | |
| outcome | api_detect_protrusion (const ENTITY *seed_ent, ENTITY_LIST &protrusion_faces, const detect_feature_options *df_opts=NULL) |
| This API detects protrusion features on the model and returns a collection of contiguous faces defining the protrusion that includes the supplied seed entity. | |
| outcome | api_sweep_more (int nface, FACE *face[], double dist, const SPAposition &box_low, const SPAposition &box_high, lop_options *pLopts, AcisOptions *ao=NULL) |
| Sweeps an array of faces along a path defined by the faces adjacent the given faces. | |
| outcome | api_tweak_extend_faces (const int &nface, FACE *face[], SURFACE *tool_surface[], const int &nedge, EDGE *edge[], CURVE *tool_curve[], const SPAposition &box_low, const SPAposition &box_high, lop_options *pLopts, AcisOptions *ao=NULL) |
Extends an array of surfaces for use in api_tweak_faces. | |
| outcome | api_tweak_extend_faces (int const nface, FACE *face[], SURFACE *tool_surface[], SPAposition box_low, SPAposition box_high, AcisOptions *ao=NULL) |
Extends an array of surfaces for use in api_tweak_faces. | |
| outcome | api_tweak_faces (int const nface, FACE *face[], SURFACE *tool_surface[], int reverse[], int const nedge, EDGE *edge[], CURVE *tool_curve[], const int nvertex, VERTEX *vertex[], APOINT *tool_point[], SPAposition &box_low, SPAposition &box_high, lop_options *pLopts, AcisOptions *ao=NULL) |
| Tweaks an array of faces to new surfaces. | |
| outcome | api_tweak_faces (int const nface, FACE *face[], SURFACE *tool_surface[], int reverse[], const SPAposition &box_low, const SPAposition &box_high, lop_options *pLopts, AcisOptions *ao=NULL) |
| Tweaks an array of faces to new surfaces. | |
| outcome | api_tweak_faces_init (int const nface, FACE *face[], SURFACE *tool_surface[], int reverse[], ENTITY_LIST &multiple_sols, const SPAposition &box_low, const SPAposition &box_high, lop_options *pLopts, AcisOptions *ao=NULL) |
| Adds attributes to edges completing the initial stage of tweak. | |
| outcome | api_tweak_fix_edge (EDGE *ed, CURVE *cu, logical correct_dir, AcisOptions *ao=NULL) |
| Fixes an edge prior to a tweak. | |
| outcome | api_tweak_fix_vertex (VERTEX *vt, APOINT *ap, logical set_tolerant, AcisOptions *ao=NULL) |
| Fixes a vertex prior to a tweak. | |
| outcome | api_tweak_open_circuits (int nEdge, EDGE *edges[], SURFACE *tool_surfaces[], int reverse[], const SPAposition &box_low, const SPAposition &box_high, lop_options *lopts, AcisOptions *ao) |
| Tweaks a list of free-edge loops to new surfaces. | |
| outcome | api_tweak_pick_edge_solution (EDGE *edge, int soln_no, CURVE *curve=NULL, AcisOptions *ao=NULL) |
| Specifies an edge solution that a subsequent tweak will use. | |
| outcome | api_tweak_query_edge_solutions (EDGE *edge, ENTITY_LIST &curve_list, AcisOptions *ao=NULL) |
Returns an ENTITY_LIST of CURVEs that are possible solutions for an EDGE's geometry in a tweak. | |
| outcome | api_tweak_replace_face (FACE *the_face, ENTITY *the_surface, const SPAposition &box_low, const SPAposition &box_high, lop_options *lopts, AcisOptions *ao) |
| Replaces the surface of a face with given tool surface. | |
| outcome | api_tweak_tighten_edge (EDGE *the_edge, lop_options *lopts, AcisOptions *ao) |
| Replaces the geometry of the input tolerant sharp edge with precise non-tolerant geometry Role: Given a tolerant sharp edge, it is replaced with a non-tolerant edge by intersecting the adjacent surfaces. | |
| outcome | api_tweak_to_body (int nEdge, EDGE *edges[], BODY *targetBody, int boolType, const int numPoints, const SPAposition *testPoints, const SPAposition &boxLow, SPAposition &boxHigh, lop_options *pLopts, AcisOptions *ao=NULL) |
| Tweaks an open sheet body to a target body. | |
| outcome | api_tweak_to_body (int const nFace, FACE *face[], BODY *targetBody, int boolType, const int numPoints, const SPAposition *testPoints, const SPAposition &boxLow, SPAposition &boxHigh, lop_options *pLopts, AcisOptions *ao=NULL) |
| Tweaks an array of faces to a body. | |
| outcome api_convert_pipes | ( | BODY * | body, | |
| lop_options * | pLopts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Replaces the geometry of any faces in the supplied array which currently are pipe_spl_sur splines with rb_blend_spl_sur splines.
Topology Changes:
Refer to the topology changes listed for the function, api_tweak_faces
Geometry Changes:
Refer to the geometry changes listed for the function, api_tweak_faces
Errors: Refer to the Errors listed for the function, api_tweak_faces
Limitations: Refer to the Limitations listed for the function, api_tweak_faces
Effect: Changes model
Journal: Available
Product(s): 3D ACIS Modeler
| body | body to convert. | |
| pLopts | local operations options. NULL argument will set the default values. | |
| ao | ACIS options. |
include <lop_api.hxx>
| outcome api_convert_pipes | ( | int const | nface, | |
| FACE * | face[], | |||
| lop_options * | pLopts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Replaces the geometry of any faces in the supplied array which currently are pipe_spl_sur splines with rb_blend_spl_sur splines.
Topology Changes:
Refer to the topology changes listed for the function api_tweak_faces
Geometry Changes:
Refer to the geometry changes listed for the function, api_tweak_faces
Errors: Refer to the Errors listed for the function, api_tweak_faces
Limitations: Refer to the Limitations listed for the function, api_tweak_faces
Effect: Changes model
Journal: Available
Product(s): 3D ACIS Modeler
| nface | number of faces. | |
| face | faces being converted. | |
| pLopts | local operations options. NULL argument will set the default values. | |
| ao | ACIS options. |
include <lop_api.hxx>
| outcome api_detect_depression | ( | const ENTITY * | seed_ent, | |
| ENTITY_LIST & | depression_faces, | |||
| const detect_feature_options * | df_opts = NULL | |||
| ) |
This API detects depression features on the model and returns a collection of contiguous faces defining the depression that includes the supplied seed entity.
Depressions include features like cut, pocket, slot and hole.
Limitations: Mixed convexity edges are not handled well.
Journal: Available
Product(s): 3D ACIS Modeler
| seed_ent | seed face on the model | |
| depression_faces | face list of detected depression | |
| df_opts | detect feature options |
include <lop_api.hxx>
| outcome api_detect_protrusion | ( | const ENTITY * | seed_ent, | |
| ENTITY_LIST & | protrusion_faces, | |||
| const detect_feature_options * | df_opts = NULL | |||
| ) |
This API detects protrusion features on the model and returns a collection of contiguous faces defining the protrusion that includes the supplied seed entity.
Protrusions include bosses and islands.
Limitations: Mixed convexity edges are not handled well.
Journal: Available
Product(s): 3D ACIS Modeler
| seed_ent | seed face on the model | |
| protrusion_faces | face list of detected protrusion | |
| df_opts | detect feature options |
include <lop_api.hxx>
| outcome api_sweep_more | ( | int | nface, | |
| FACE * | face[], | |||
| double | dist, | |||
| const SPAposition & | box_low, | |||
| const SPAposition & | box_high, | |||
| lop_options * | pLopts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Sweeps an array of faces along a path defined by the faces adjacent the given faces.
Role: Replaces surfaces of supplied faces with surfaces moved along the sweep path. The sweep path is determined by a face that is not in that set of faces given but is adjacent to at least one of those faces in the set. This face must determine the sweep path. This means that it must be a cone, cylinder, plane, torus, sweep_spl_sur, rot_spl_sur, sum_spl_sur, or an offset of one of these surfaces.
The optional intersection box limits the size of intersections between surfaces which might otherwise be very long. It cannot be used to choose faces. Its main purpose is to speed up complicated cases where the intersection curves might be very long, thus improving performance. The box must contain the final faces and if omitted defaults to the size box.
Topology Changes:
Refer to the topology changes listed for the function, api_tweak_faces
Geometry Changes:
Refer to the geometry changes listed for the function, api_tweak_faces
Errors: In addition to the following, refer to the errors listed for the function, api_tweak_faces
Some of the following errors will return a standard_error_info object in the API outcome. In these cases, the type of ENTITY returned, in parentheses, follows the error message below.
Distance must be non-zero, or error LOP_MOVE_BAD_TRANSFORM.
Rail and path information on adjacent swept face must be good, or error LOP_SWP_BAD_RAIL_OR_PATH (FACE *).
Limitations: If the first face is not planar and does not intersect the sweep path, ambiguous results may occur.
Refer to api_tweak_faces for more limitations.
Effect: Changes model
Journal: Available
Product(s): 3D ACIS Modeler
| nface | number of faces. | |
| face | faces being moved. | |
| dist | distant to sweep faces. | |
| box_low | start of intersection box to be used. | |
| box_high | end of intersection box to be used. | |
| pLopts | local operations options. NULL argument will set the default values. | |
| ao | ACIS options. |
include <lop_api.hxx>
| outcome api_tweak_extend_faces | ( | const int & | nface, | |
| FACE * | face[], | |||
| SURFACE * | tool_surface[], | |||
| const int & | nedge, | |||
| EDGE * | edge[], | |||
| CURVE * | tool_curve[], | |||
| const SPAposition & | box_low, | |||
| const SPAposition & | box_high, | |||
| lop_options * | pLopts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Extends an array of surfaces for use in api_tweak_faces.
Role: Given an array of surfaces and the an array of faces that the surfaces will be tweaked into, the surfaces are automatically extended so that the tweak has a greater chance of being successful. Supplying a list of edges and their corresponding tweak curves, will help the algorithm come up with a better extension. The curves and edges which are supplied to the API have to be the image of the original edges after the tweak.
The curves underlying edges between two faces that are not directly involved in the tweak but adjacent to a face being tweaked may also be extended.
Topology Changes:
Refer to the topology changes listed for the function, api_tweak_faces
Geometry Changes:
Refer to the geometry changes listed for the function, api_tweak_faces
Errors: In addition to the following, refer to the Errors listed for the function, api_tweak_faces
At least one face must be supplied, or error LOP_TWK_NO_FACE.
Faces must be valid, non-duplicate and from the same body, or error LOP_TWK_BAD_FACE (FACE*).
Tool surfaces must be valid or error LOP_TWK_BAD_SURFACE(FACE*).
Box, if supplied must be valid, or error LOP_BAD_BOX.
Effect: Changes model
Journal: Available
Product(s): 3D ACIS Modeler
| nface | number of faces. | |
| face | faces being tweaked. | |
| tool_surface | new surfaces. | |
| nedge | number of edges for which the new geometry is know. | |
| edge | edges for which the new geometry is know. | |
| tool_curve | new curves. | |
| box_low | start of intersection box to be used. | |
| box_high | end of intersection box to be used. | |
| ao | ACIS options. |
include <lop_api.hxx>
| outcome api_tweak_extend_faces | ( | int const | nface, | |
| FACE * | face[], | |||
| SURFACE * | tool_surface[], | |||
| SPAposition | box_low, | |||
| SPAposition | box_high, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Extends an array of surfaces for use in api_tweak_faces.
Role: Given an array of surfaces and the an array of faces that the surfaces will be tweaked into, the surfaces are automatically extended so that the tweak has a greater chance of being successful.
The curves underlying edges between two faces that are not directly involved in the tweak but adjacent to a face being tweaked may also be extended.
Topology Changes:
Refer to the topology changes listed for the function, api_tweak_faces
Geometry Changes:
Refer to the geometry changes listed for the function, api_tweak_faces
Errors: In addition to the following, refer to the Errors listed for the function, api_tweak_faces
At least one face must be supplied, or error LOP_TWK_NO_FACE.
Faces must be valid, non-duplicate and from the same body, or error LOP_TWK_BAD_FACE (FACE*).
Tool surfaces must be valid or error LOP_TWK_BAD_SURFACE(FACE*).
Box, if supplied must be valid, or error LOP_BAD_BOX.
Effect: Changes model
Journal: Available
Product(s): 3D ACIS Modeler
| nface | number of faces. | |
| face | faces being tweaked. | |
| tool_surface | new surfaces. | |
| box_low | start of intersection box to be used. | |
| box_high | end of intersection box to be used. | |
| ao | ACIS options. |
include <lop_api.hxx>
| outcome api_tweak_faces | ( | int const | nface, | |
| FACE * | face[], | |||
| SURFACE * | tool_surface[], | |||
| int | reverse[], | |||
| int const | nedge, | |||
| EDGE * | edge[], | |||
| CURVE * | tool_curve[], | |||
| const int | nvertex, | |||
| VERTEX * | vertex[], | |||
| APOINT * | tool_point[], | |||
| SPAposition & | box_low, | |||
| SPAposition & | box_high, | |||
| lop_options * | pLopts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Tweaks an array of faces to new surfaces.
Role: Replaces surfaces of supplied faces with supplied surfaces, taking the supplied reverse flags into consideration. Choose reverse flags carefully, as resulting body is not checked. Tweak will replace the original surface(s) with the user-supplied tool surface(s). The reverse bit depends on the relationship between the corresponding surfaces. It also takes into account the face sense of the corresponding tweak face(s). If the reverse bit is set to TRUE, then the FACE sense is switched; otherwise, it stays the same.
If curves and edges are supplied, then curves are used to replaced tangent, near tangent or free edge curves. If there are any free edges (sheet boundaries) whose faces are being tweaked, then the new curves must be supplied.
If points and vertices are supplied, then these points are used to replace vertices, which are located at tangent or near tangent intersections of edge curves.
The box_low and box_high arguments are used to limit any geometrical intersections, and so improve performance. Limiting the intersection improves performance. The box must contain the final faces and if omitted defaults to the size box.
Topology Changes:
The topology changes performed by tweak_faces on the tweaked faces and their neighbors are:
Mergeable edges and vertices on the supplied faces will be merged out.
Edges and vertices between faces that are tweaked to the same geometry will also be merged out.
Two edge vertices on the supplied faces between edges on the same geometrical non analytic intersection curve, which are not presently mergeable elsewhere, will be merged out by lop:tweak-faces if the option lop_merge_vertex is set on, which is the default setting.
Vertices with more than three edges may split into two or more vertices during a local operation. Single inverted faces, needed to fill any gap in the body, will be made (if two or more inverted faces are needed, the operation will fail).
Isolated single edge loops may degenerate exactly to a point or be removed altogether and their faces will be deleted when appropriate.
Edges in multi-edge loops may degenerate exactly to a point and will be removed.
Where an edge exactly degenerates to a point in a multi edge loop, the edges either side will be detected becoming fully or partially coincident, and the loop repaired by splitting it into valid and degenerate loops. Degenerate loops will be deleted, and their faces when appropriate.
When faces have been deleted, their shells and lumps will be repartitioned and split, if necessary.
The option lop_ff_int switches on face face intersection checking on the result body. The default for the option is off. If the option is switched on and a face face intersection is found in the body, the operation fails.
The self intersecting bodies repair is controlled by the lop_options class. It is enabled by default.
Geometry Changes:
The geometry changes performed by tweak_faces on the tweaked faces and their neighbors are:
pipe_spl_sur spline surfaces will be converted to rb_blend_spl_sur spline surfaces the supplied faces and their neighbors if the option lop_convert_pipe is set on, which is the default setting.
Errors: Some of the following errors will return a standard_error_info object in the API outcome. In these cases, the type of ENTITY returned, in parentheses, follows the error message below. (When the ENTITY is new and will be lost on rollback, no standard_error_info object is returned).
At least one face must be supplied, or error LOP_TWK_NO_FACE.
Faces must be valid, non-duplicate and from the same body, or error LOP_TWK_BAD_FACE (FACE*).
Tool surfaces must be valid, or error LOP_TWK_BAD_SURFACE (FACE*).
Body must be manifold, or error LOP_TWK_NON_MANIFOLD (COEDGE*).
| New surface geometries must intersect consistently or the intersection has to prespecified by supplying tool curves, otherwise errors | LOP_TWK_NO_EDGE (EDGE*) no solution for an edge. |
LOP_TWK_NO_VERT (VERTEX*) no solution for a vertex. |
LOP_TWK_INTERNAL. LOP_TWK_TOPOL_CHANGE (FACE*). LOP_BAD_BOX. Tweak_faces does not extend the geometry of the tool surfaces or their neighbors (unlike the other local operations which do). | nface | number of faces. | |
| face | faces being tweaked. | |
| tool_surface | new surfaces. | |
| reverse | flags to reverse new surfaces; zero = leave as-is, nonzero = reverse. | |
| nedge | number of edges. | |
| edge | edges being tweaked. | |
| tool_curve | new curves. | |
| nvertex | number of vertices. | |
| vertex | vertices being tweaked. | |
| tool_point | new points. | |
| box_low | start of intersection box to be used. | |
| box_high | end of intersection box to be used. | |
| pLopts | local operations options. NULL argument will set the default values. | |
| ao | ACIS options. |
include <lop_api.hxx>
| outcome api_tweak_faces | ( | int const | nface, | |
| FACE * | face[], | |||
| SURFACE * | tool_surface[], | |||
| int | reverse[], | |||
| const SPAposition & | box_low, | |||
| const SPAposition & | box_high, | |||
| lop_options * | pLopts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Tweaks an array of faces to new surfaces.
Role: Replaces surfaces of supplied faces with supplied surfaces, taking the supplied reverse flags into consideration. Choose reverse flags carefully, as resulting body is not checked. Tweak will replace the original surface(s) with the user-supplied tool surface(s). The reverse bit depends on the relationship between the corresponding surfaces. It also takes into account the face sense of the corresponding tweak face(s). If the reverse bit is set to TRUE, then the FACE sense is switched; otherwise, it stays the same.
The box_low and box_high arguments are used to limit any geometrical intersections and so improve performance. Limiting the intersection improves performance. The box must contain the final faces and if omitted, defaults to the size box.
Topology Changes:
The topology changes performed by tweak_faces on the tweaked faces and their neighbors are:
Mergeable edges and vertices on the supplied faces will be merged out.
Edges and vertices between faces that are tweaked to the same geometry will also be merged out.
Two edge vertices on the supplied faces between edges on the same geometrical non-analytic intersection curve, which are not presently mergeable elsewhere, will be merged out by lop:tweak-faces if the option lop_merge_vertex is set on, which is the default setting.
Vertices with more than three edges may split into two or more vertices during a local operation. Single inverted faces, needed to fill any gap in the body, will be made (if two or more inverted faces are needed, the operation will fail).
Isolated single edge loops may degenerate exactly to a point or be removed altogether, and their faces will be deleted when appropriate.
Edges in multi-edge loops may degenerate exactly to a point and will be removed.
Where an edge exactly degenerates to a point in a multi-edge loop, the edges either side will be detected becoming fully or partially coincident, and the loop repaired by splitting it into valid and degenerate loops. Degenerate loops will be deleted, and their faces when appropriate.
When faces have been deleted, their shells and lumps will be repartitioned and split, if necessary.
The option lop_ff_int switches on face-face intersection checking on the result body. The default for the option is off. If the option is switched on and a face-face intersection is found in the body, the operation fails.
The self intersecting bodies repair is controlled by the lop_options class. It is enabled by default.
Geometry Changes:
The geometry changes performed by tweak_faces on the tweaked faces and their neighbors are:
pipe_spl_sur spline surfaces will be converted to rb_blend_spl_sur spline surfaces in the supplied faces and their neighbors if the option lop_convert_pipe is set on, which is the default setting.
Errors: Some of the following errors will return a standard_error_info object in the API outcome. In these cases, the type of ENTITY returned, in parentheses, follows the error message below. (When the ENTITY is new and will be lost on rollback, no standard_error_info object is returned).
At least one face must be supplied, or error LOP_TWK_NO_FACE.
Faces must be valid, non-duplicate, and from the same body, or error LOP_TWK_BAD_FACE (FACE*).
Tool surfaces must be valid, or error LOP_TWK_BAD_SURFACE (FACE*).
Body must be manifold, or error LOP_TWK_NON_MANIFOLD (COEDGE*).
Body must be solid, or error LOP_TWK_FREE_EDGE (COEDGE*).
| New surface geometries must intersect consistently, or errors | LOP_TWK_NO_EDGE (EDGE*) no solution for an edge. |
LOP_TWK_NO_VERT (VERTEX*) no solution for a vertex. |
LOP_TWK_INTERNAL. LOP_TWK_TOPOL_CHANGE (FACE*). LOP_BAD_BOX. Tweak_faces does not extend the geometry of the tool surfaces or their neighbors (unlike the other local operations which do). | nface | number of faces. | |
| face | faces being tweaked. | |
| tool_surface | new surfaces. | |
| reverse | flags to reverse new surfaces; zero = leave as-is, nonzero = reverse. | |
| box_low | start of intersection box to be used. | |
| box_high | end of intersection box to be used. | |
| pLopts | local operations options. NULL argument will set the default values. | |
| ao | ACIS options. |
include <lop_api.hxx>
| outcome api_tweak_faces_init | ( | int const | nface, | |
| FACE * | face[], | |||
| SURFACE * | tool_surface[], | |||
| int | reverse[], | |||
| ENTITY_LIST & | multiple_sols, | |||
| const SPAposition & | box_low, | |||
| const SPAposition & | box_high, | |||
| lop_options * | pLopts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Adds attributes to edges completing the initial stage of tweak.
Role: Completes the initial stage of a tweak where attributes are added to edges. Returns a list of edges that have more than one possible solution so the user may pick which solution the tweak uses in the next stage.
To complete the tweak, use api_tweak_faces, which will continue the tweak without duplicating the work already done.
The box low and high arguments are used to limit any geometrical intersections. Limiting the intersection improves performance. The box must contain the final faces. If omitted, it defaults to the size box.
Refer to the function api_tweak_faces for a complete description.
Topology Changes:
Refer to the topology changes listed for the function, api_tweak_faces
Geometry Changes:
Refer to the geometry changes listed for the function, api_tweak_faces
Errors: Refer to the Errors listed for the function api_tweak_faces
Limitations: Refer to the Limitations listed for the function, api_tweak_faces
Effect: Changes model
Journal: Available
Product(s): 3D ACIS Modeler
| nface | number of faces. | |
| face | faces being tweaked. | |
| tool_surface | new surfaces. | |
| reverse | flags to reverse new surfaces; zero = leave as-is, nonzero = reverse. | |
| multiple_sols | edges with multiple solutions. | |
| box_low | start of intersection box to be used. | |
| box_high | end of intersection box to be used. | |
| pLopts | local operations options. NULL argument will set the default values. | |
| ao | ACIS options. |
include <lop_api.hxx>
| outcome api_tweak_fix_edge | ( | EDGE * | ed, | |
| CURVE * | cu, | |||
| logical | correct_dir, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Fixes an edge prior to a tweak.
Role: Places ATTRIB_LOP_EDGE on edge containing new geometry for the edge to be used during the next tweak. NULL new geometry implies that the geometry must not change during the tweak. Data for an edge from the most recent call referring to it applies.
Topology Changes:
Refer to the topology changes listed for the function, api_tweak_faces
Geometry Changes:
Refer to the geometry changes listed for the function, api_tweak_faces
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Modeler
| ed | edge to be fixed. | |
| cu | new geometry (may be NULL). | |
| correct_dir | specifies whether curve direction is correct ( if curve is provided ) | |
| ao | ACIS options. |
include <lop_api.hxx>
| outcome api_tweak_fix_vertex | ( | VERTEX * | vt, | |
| APOINT * | ap, | |||
| logical | set_tolerant, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Fixes a vertex prior to a tweak.
Role: Places ATTRIB_LOP_VERTEX on vertex containing new geometry for the vertex to be used during the next tweak. NULL new geometry implies that the geometry must not change during the tweak. Data for an vertex from the most recent call referring to it applies.
Topology Changes:
Refer to the topology changes listed for the function, api_tweak_faces
Geometry Changes:
Refer to the geometry changes listed for the function, api_tweak_faces
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Modeler
| vt | vertex to be fixed. | |
| ap | new geometry (may be NULL). | |
| set_tolerant | specifies whether to set this vertex as tolerant | |
| ao | ACIS options. |
include <lop_api.hxx>
| outcome api_tweak_open_circuits | ( | int | nEdge, | |
| EDGE * | edges[], | |||
| SURFACE * | tool_surfaces[], | |||
| int | reverse[], | |||
| const SPAposition & | box_low, | |||
| const SPAposition & | box_high, | |||
| lop_options * | lopts, | |||
| AcisOptions * | ao | |||
| ) |
Tweaks a list of free-edge loops to new surfaces.
Role: Covers each free-edge loop with a new face having the supplied surface as the geometry, taking the supplied reverse flags into consideration. Choose reverse flags carefully, as resulting body is not checked.
The box_low and box_high arguments are used to limit any geometrical intersections, and thus, improve performance. Limiting the intersection improves performance. The box must contain the final faces, and if omitted, defaults to the size box.
Topology Changes:
The topology changes performed by tweak_open_circuits on the tweaked loops and their neighboring faces are:
lop_merge_vertex is set on (default). lop_ff_int switches on face-face intersection checking on the result body (option default is off). If the option is switched on and a face-face intersection is found in the body, the operation fails. pipe_spl_sur spline surfaces will be converted to rb_blend_spl_sur spline surfaces in the supplied faces and their neighbors if the option lop_convert_pipe is on (default). standard_error_info object in the API outcome. In these cases, the type of ENTITY returned, in parentheses, follows the error message below. (When the ENTITY is new and will be lost on rollback, no standard_error_info object is returned). LOP_TWK_NO_EDGE. LOP_TWK_BAD_EDGE_SUPPLIED (EDGE*). LOP_TWK_BAD_SURFACE (FACE*). LOP_TWK_NON_MANIFOLD (COEDGE*). | New surface geometries must intersect consistently, or errors | LOP_TWK_NO_EDGE (EDGE*) no solution for an edge. |
LOP_TWK_NO_VERT (VERTEX*) no solution for a vertex. |
LOP_TWK_INTERNAL. LOP_TWK_TOPOL_CHANGE (FACE*). LOP_BAD_BOX. | nEdge | Specifies the number of edges. Each edge specifies one unique loop. Edges cannot be from the same loop. | |
| edges | Indicates the edges specifying loops which are being tweaked. | |
| tool_surface | Specifies new surfaces. | |
| reverse | Specifies the flags to reverse new surfaces; zero = leave as-is, nonzero = reverse. | |
| box_low | Specifies the start of the intersection box to be used. | |
| box_high | Specifies the end of the intersection box to be used. | |
| pLopts | Specifies Local Operations options. NULL argument will set the default values. | |
| ao | Specifies ACIS options. |
include <lop_api.hxx>
| outcome api_tweak_pick_edge_solution | ( | EDGE * | edge, | |
| int | soln_no, | |||
| CURVE * | curve = NULL, |
|||
| AcisOptions * | ao = NULL | |||
| ) |
Specifies an edge solution that a subsequent tweak will use.
Role: After a call to api_tweak_faces_init, attributes containing EDGE solution curves are attached to EDGEs involved in the tweak. This function allows the user to specify which of multiple solutions a subsequent tweak will use. It is possible to choose a solution that forces the tweak to fail or make a bad model. It is also possible to specify incompatible solutions. Therefore, the user must take care when using this function, particularly when specifying solutions on more than one EDGE.
If a curve is supplied, this curve will be used as the new edge geometry (if the curve is one of the possible solutions in the edge attribute) and the variable solution_no is ignored. If no curve is supplied, solution_no represents the index of the curve to be used.
To query the possible solutions on an edge, use api_tweak_query_edge_solutions.
To complete the tweak after any number of edge solutions have been specified, use api_tweak_faces.
Topology Changes:
Refer to the topology changes listed for the function, api_tweak_faces
Geometry Changes:
Refer to the geometry changes listed for the function, api_tweak_faces
Errors: If the edge does not have a LOP_EDGE_ATTRIB attribute, that is, the edge was not involved in the initial stages of a tweak, or the solution number is not valid, LOP_TWK_NO_EDGE.
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Modeler
| edge | edge being specified. | |
| soln_no | the solution curve to use when curve is non-NULL. | |
| curve | the new edge geometry. | |
| ao | ACIS options. |
include <lop_api.hxx>
| outcome api_tweak_query_edge_solutions | ( | EDGE * | edge, | |
| ENTITY_LIST & | curve_list, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Returns an ENTITY_LIST of CURVEs that are possible solutions for an EDGE's geometry in a tweak.
Role: After a call to api_tweak_faces_init, attributes containing edge solution curves are attached to edges involved in the tweak. This function allows the user to obtain a list of the possible solutions for an EDGE.
The CURVEs returned in curve_list are created on the heap and it is the caller's responsibility to lose them.
To select a possible solution on the edge, use api_tweak_pick_edge_solution.
To complete the tweak after any number of edge solutions have been specified, use api_tweak_faces.
Topology Changes:
Refer to the topology changes listed for the function, api_tweak_faces
Geometry Changes:
Refer to the geometry changes listed for the function, api_tweak_faces
Errors: If there is no LOP attribute on the EDGE, LOP_TWK_NO_EDGE.
Effect: Changes model
Journal: Not Available
Product(s): 3D ACIS Modeler
| edge | edge being queried. | |
| curve_list | list of possible solutions. | |
| ao | ACIS options. |
include <lop_api.hxx>
| outcome api_tweak_replace_face | ( | FACE * | the_face, | |
| ENTITY * | the_surface, | |||
| const SPAposition & | box_low, | |||
| const SPAposition & | box_high, | |||
| lop_options * | lopts, | |||
| AcisOptions * | ao | |||
| ) |
Replaces the surface of a face with given tool surface.
Role: Given a face and a tool face (or surface), replaces the face geometry with the tool face (or surface) geometry.
Topology Changes:
Refer to the topology changes listed for the function, api_tweak_faces
Geometry Changes:
Refer to the geometry changes listed for the function, api_tweak_faces
Errors: In addition to the following, refer to the Errors listed for the function, api_tweak_faces
One face must be supplied, or error LOP_TWK_NO_FACE.
Supplied face must be valid or error LOP_TWK_BAD_FACE (FACE*).
Tool surface must be valid or error LOP_TWK_BAD_SURFACE(FACE*).
Tool surface and orginal face geometry must be similar or error LOP_REPLACE_FACE_TOO_DIFFERENT
Box, if supplied must be valid, or error LOP_BAD_BOX.
Effect: Changes model
Journal: Available
Product(s): 3D ACIS Modeler
| the_face | face being replaced. | |
| tool_surface | new surface. | |
| box_low | start of intersection box to be used. | |
| box_high | end of intersection box to be used. | |
| lopts | Local Operations options for behavior control. | |
| ao | ACIS options. |
include <lop_api.hxx>
| outcome api_tweak_tighten_edge | ( | EDGE * | the_edge, | |
| lop_options * | lopts, | |||
| AcisOptions * | ao | |||
| ) |
Replaces the geometry of the input tolerant sharp edge with precise non-tolerant geometry
Role: Given a tolerant sharp edge, it is replaced with a non-tolerant edge by intersecting the adjacent surfaces.
Topology Changes:
NO Topology Changes
Geometry Changes:
Refer to the geometry changes listed for the function, api_tweak_faces
Errors: In addition to the following, refer to the Errors listed for the function, api_tweak_faces
One edge must be supplied, or error LOP_TWK_NO_EDGE_SUPPLIED.
Supplied edge must be valid or error LOP_TWK_BAD_EDGE_SUPPLIED (EDGE*).
Effect: Changes model
Journal: Available
Product(s): 3D ACIS Modeler
| the_edge | edge being replaced with precise geometry. | |
| lopts | Local Operations options for behavior control. | |
| ao | ACIS options. |
include <lop_api.hxx>
| outcome api_tweak_to_body | ( | int | nEdge, | |
| EDGE * | edges[], | |||
| BODY * | targetBody, | |||
| int | boolType, | |||
| const int | numPoints, | |||
| const SPAposition * | testPoints, | |||
| const SPAposition & | boxLow, | |||
| SPAposition & | boxHigh, | |||
| lop_options * | pLopts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Tweaks an open sheet body to a target body.
Role: Extends a sheet body until it intersects the target body and booleans them together. There is no one-to-one correspondence.
The box_low and box_high arguments are used to limit any geometrical intersections, and thus, improve performance. Limiting the intersection improves performance. The box must contain the target body and if omitted, defaults to the size box.
Topology Changes:
The topology changes performed by tweak_to_body on the free-edge loops and their neighbors are:
lop:tweak-faces if the option lop_merge_vertex is enabled (default). lop_ff_int switches on face-face intersection checking on the result body (option default is off). If the option is switched on and a face-face intersection is found in the body, the operation fails. tweak_to_body on the free-edge loops and their neighbors are: pipe_spl_sur spline surfaces will be converted to rb_blend_spl_sur spline surfaces in the supplied faces and their neighbors if the option lop_convert_pipe is set to on (default). standard_error_info object in the API outcome. In these cases, the type of ENTITY returned, in parentheses, follows the error message below. (When the ENTITY is new and will be lost on rollback, no standard_error_info object is returned). LOP_TWK_NO_EDGE_SUPPLIED. LOP_TWK_BAD_EDGE_SUPPLIED (EDGE*). LOP_TWK_BAD_SURFACE (FACE*). | New surface geometries must intersect consistently, or errors | LOP_TWK_NO_EDGE (EDGE*) no solution for an edge. |
LOP_TWK_NO_VERT (VERTEX*) no solution for a vertex. |
LOP_TWK_INTERNAL. LOP_TWK_TOPOL_CHANGE (FACE*). LOP_BAD_BOX. | nEdge | Specifies the number of free edges being passed in. Each free-edge corresponds to a different loop. | |
| edges | Specifies the edges which are part of the free-edge loops being tweaked. | |
| targetBody | Specifies the body to which to tweak. | |
| boolType | Specifies the type of boolean you want performed, which can be Add (0) or Subtract (1). | |
| numPoints | Specifies the number of test points. | |
| testPoints | Specifies the test positions to use to determine which cell of the tweaked body to keep. | |
| box_low | Specifies the start of the intersection box to be used. | |
| box_high | Specifies the end of the intersection box to be used. | |
| pLopts | Specifies the Local Operations options. NULL argument will set the default values. | |
| ao | Specifies the ACIS options. |
include <lop_api.hxx>
| outcome api_tweak_to_body | ( | int const | nFace, | |
| FACE * | face[], | |||
| BODY * | targetBody, | |||
| int | boolType, | |||
| const int | numPoints, | |||
| const SPAposition * | testPoints, | |||
| const SPAposition & | boxLow, | |||
| SPAposition & | boxHigh, | |||
| lop_options * | pLopts, | |||
| AcisOptions * | ao = NULL | |||
| ) |
Tweaks an array of faces to a body.
Role: Replaces supplied faces with the face or faces of the supplied sheet body. There is no one-to-one correspondence.
The box_low and box_high arguments are used to limit any geometrical intersections, and thus, improve performance. Limiting the intersection improves performance. The box must contain the final faces, and if omitted, defaults to the size box.
Topology Changes:
The topology changes performed by tweak_to_body on the tweaked faces and their neighbors are:
lop:tweak-to-body if the option lop_merge_vertex is enabled (default setting). lop_ff_int switches on face-face intersection checking on the result body (option default is off). If the option is switched on and a face-face intersection is found in the body, the operation fails. tweak_to_body on the tweaked faces and their neighbors are: pipe_spl_sur spline surfaces will be converted to rb_blend_spl_sur spline surfaces in the supplied faces and their neighbors if the option lop_convert_pipe is set on (default). standard_error_info object in the API outcome. In these cases, the type of ENTITY returned, in parentheses, follows the error message below. (When the ENTITY is new and will be lost on rollback, no standard_error_info object is returned). LOP_TWK_NO_FACE. LOP_TWK_BAD_FACE (FACE*). LOP_TWK_BAD_SURFACE (FACE*). LOP_TWK_NON_MANIFOLD (COEDGE*). | New surface geometries must intersect consistently, or errors | LOP_TWK_NO_EDGE (EDGE*) no solution for an edge. |
LOP_TWK_NO_VERT (VERTEX*) no solution for a vertex. |
LOP_TWK_INTERNAL. LOP_TWK_TOPOL_CHANGE (FACE*). LOP_BAD_BOX. | nface | Specifies the number of faces. | |
| face | Specifies the faces to be tweaked. | |
| targetBody | Specifies the Body to which to tweak. | |
| boolType | Specifies the type of boolean you want performed. Valid values are Add (0) or Subtract (1). | |
| numPoints | Specifies the number of test points. | |
| testPoints | Specifies the test positions to use to determine which cell of the tweaked body to keep. | |
| box_low | Specifies the start of the intersection box to be used. | |
| box_high | Specifies the end of the intersection box to be used. | |
| pLopts | Specifies local operations options. NULL argument will set the default values. | |
| ao | Specifies ACIS options. |
include <lop_api.hxx>