PCL Reference Manual > Geometry Functions > Edit Actions
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
Edit Actions
This section is used to describe some of the functions used to implement the “Edit” actions.
 
asm_edit_curve_blend
(curve_ids, weights, curve_list, delete_original, created_ids)
 
Description:
This function will create parametric cubic curves from a set of curves, enforcing the first derivative continuity across the boundaries of the curves.
Input:
STRING
curve_ids[]
This value specifies the curve ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of curve IDs.
STRING
weights[]
This value specifies the weighting factors of one curve relative to another. This value must be greater than zero. A value of 1.0 will cause all curves to have an equal weight. A value greater than 1.0 will allow the slope of a curve at the beginning of the list of curves specified by the input value curve_list to dominate the slope of the created curves. A value less than 1.0 will allow the slope of a curve at the end of the list of curves specified by the input value curve_list to dominate the slope of the created curves.
STRING
curve_list[]
This value specifies the list of curves to blend.
LOGICAL
delete_original
This value is set to TRUE if the original curves are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of curves created and their IDs.
A curve will be created for each identifier specified by the input value curve_ids. If the input value curve_ids is set to an empty string or “#”, a single curve will be created. All curves created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000574
There must be at least two curves as input to Blend. The invalid value input was %A%.
1000575
Line %I% with vertices %I% and %I% cannot blend with Line %I% with vertices %I% and %I%.
1000576
One of the curves input to blend has a vector length of zero. Unable to blend curves.
1000587
Unable to merge with a circular curve.
2001070
Unable to acquire %I% words of virtual memory.
38000003
No blob provided.
38000117
An attempt to approximate a general curve with a single Parametric Cubic failed.
38000450
Unable to calculate a point on the curve.
Example:
Please see asm_edit_curve_blend (p. 650) in the PCL Reference Manual Examples.
  
asm_edit_curve_merge
(curve_ids, curve_list, num_curves, geo_tolerance, num_iterations, delete_original, created_ids)
 
Description:
This function will create parametric cubic curves from a set of curves by merging the original curves.
Input:
STRING
curve_ids[]
This value specifies the curve ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of curve IDs.
STRING
curve_list[]
This value specifies the list of original curves to merge.
INTEGER
num_curves
This value specifies the number of curves to create from the existing set of curves.
REAL
geo_tolerance
This value specifies the geometric tolerance used to test for convergence. The default value is 0.005.
INTEGER
num_iterations
This value specifies the maximum number of times to iterate during the numerical approximation. The default value is 0.
LOGICAL
delete_original
This value is set to TRUE if the original curves are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of curves created and their IDs.
The input value num_curves specifies the number of curves that will be created. All curves created will be displayed in the graphics window.
This function can display an information popup message form with the following message:
 
1000517
The Line Construct parameter %A% was reset from the invalid input value of %I% to the default value of %I%.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
1000500
There must be at least one line as input. The invalid value input was %I%.
1000503
It is not possible to order the curves from head to tail.
1000516
The points are all within tolerance of one another. A zero length line will not be produced.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_edit_curve_merge (p. 651) in the PCL Reference Manual Examples.
 
asm_edit_solid_blend
(solid_ids, weights, solid_list, delete_original, created_ids)
 
Description:
This function will create parametric tricubic solids from a set of solids, enforcing the first derivative continuity across the boundaries of the solids.
Input:
STRING
solid_ids[]
This value specifies the solid ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of solid IDs.
STRING
weights[]
This value specifies the weighting factors of one solid relative to another. This value must be greater than zero. A value of 1.0 will cause all solids to have an equal weight. A value greater than 1.0 will allow the slope of a solid at the beginning of the list of solids specified by the input value solid_list to dominate the slope of the created solids. A value less than 1.0 will allow the slope of a solid at the end of the list of solids specified by the input value solid_list to dominate the slope of the created solids.
STRING
solid_list[]
This value specifies the list of solids to blend.
LOGICAL
delete_original
This value is set to TRUE if the original solids are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of solids created and their IDs.
A solid will be created for each identifier specified by the input value solid_ids. If the input value solid_ids is set to an empty string or “#”, a single solid will be created. All solids created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000910
Hpat %I% with vertices %I%,%I%,%I%,%I%,%I%,%I%,%I%, and %I% cannot blend with Hpat %I% with vertices %I%,%I%,%I%,%I%,%I%,%I%,%I%, and %I%.
1000911
There must be at least two hpats as input to Blend. The invalid value input was %A%.
2001070
Unable to acquire %I% words of virtual memory.
38000119
An attempt to approximate a general solid with a single Parametric TriCubic failed.
38000122
Invalid format conversion flag specified for solid conversion.
38000434
The solid type used for this Action, Object, Method function is invalid. It must be of a type that when created, has the default color of Blue.
38000452
Unable to calculate a point on the solid.
Example:
Please see asm_edit_solid_blend (p. 653) in the PCL Reference Manual Examples.
 
asm_edit_surface_blend
(surface_ids, edge_list, weights, surface_list, delete_original, created_ids)
 
Description:
This function will create parametric bicubic surfaces from a set of surfaces, enforcing the first derivative continuity across the boundaries of the surfaces.
Input:
STRING
surface_ids[]
This value specifies the surface ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of surface IDs.
STRING
edge_list[]
This value specifies the list of surface edges to be assigned a weighting factor.
STRING
weights[]
This value specifies the weighting factors of one surface relative to another. This value must be greater than zero. A value of 1.0 will cause all surfaces to have an equal weight. A value greater than 1.0 will allow the slope of a surface at the beginning of the list of surfaces specified by the input value surface_list to dominate the slope of the created surfaces. A value less than 1.0 will allow the slope of a surface at the end of the list of surfaces specified by the input value surface_list to dominate the slope of the created surfaces.
STRING
surface_list[]
This value specifies the list of original surfaces to blend.
LOGICAL
delete_original
This value is set to TRUE if the original surfaces are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of surfaces created and their IDs.
A surface will be created for each identifier specified by the input value surface_ids. If the input value surface_ids is set to an empty string or “#”, a single surface will be created. All surfaces created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
1000722
There must be at least two surfaces as input to Blend. The invalid value input was %A%.
2001070
Unable to acquire %I% words of virtual memory.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
Example:
Please see asm_edit_surface_blend (p. 655) in the PCL Reference Manual Examples.
 
asm_edit_hpat_blend
(hpat_ids, weights, hpat_list, delete_original, created_ids)
 
Description:
This function will create hyperpatches from an existing set of hyperpatches, enforcing the first derivative continuity across the boundaries of the solids.
Input:
STRING
hpat_ids[]
This value specifies the hyperpatch ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of hyperpatch IDs.
STRING
weights[]
This value specifies the weighting factors of one hyperpatch relative to another. This value must be greater than zero. A value of 1.0 will cause all hyperpatches to have an equal weight. A value greater than 1.0 will allow the slope of a hyperpatch at the beginning of the list of hyperpatches specified by the input value hpat_list to dominate the slope of the created hyperpatches. A value less than 1.0 will allow the slope of a hyperpatch at the end of the list of hyperpatches specified by the input value hpat_list to dominate the slope of the created hyperpatches.
STRING
hpat_list[]
This value specifies the list of hyperpatches to blend.
LOGICAL
delete_original
This value is set to TRUE if the original hyperpatches are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of hyperpatches created and their IDs.
A hyperpatch will be created for each identifier specified by the input value hypat_ids. If the input value hypat_ids is set to an empty string or “#”, a single hyperpatch will be created. All hyperpatches created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000910
Hpat %I% with vertices %I%,%I%,%I%,%I%,%I%,%I%,%I%, and %I% cannot blend with Hpat %I% with vertices %I%,%I%,%I%,%I%,%I%,%I%,%I%, and %I%.
1000911
There must be at least two hpats as input to Blend. The invalid value input was %A%.
2001070
Unable to acquire %I% words of virtual memory.
14000003
LpSublistType: No sublist filter bits are set on invocation.
14000004
LpSublistType: I am being invoked with a NULL list.
14000005
LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006
LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007
LpSublistType: In the list being used, the current finite element sublist is unclassifiable.
14000008
LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009
LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010
LpSublistType: In the list being used, the current sublist does not match the sublist filter.
Example:
Please see asm_edit_hpat_blend (p. 656) in the PCL Reference Manual Examples.
 
asm_edit_hpat_break
(hpat_ids, break_type, break_entity_list, param_pos, delete_original, solid_list, created_ids)
 
Description:
This function will create hyperpatches from an existing set of hyperpatches by breaking the original hyperpatches at a parametric position, point or node, curve, or surface.
Input:
STRING
hpat_ids[]
This value specifies the hyperpatch ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of hyperpatch IDs.
INTEGER
break_type
This value specifies the type of entity used to define the break: 0 = parametric position, 1 = point or node, 2 = curve, and 3 = surface.
STRING
break_entity_list[]
This value specifies the list of entities used to define the break.
REAL
param_pos(3)
This value specifies the parametric positions that define the break position if the input value break_type is set to 0.
LOGICAL
delete_original
This value is set to TRUE if the original hyperpatches are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
STRING
solid_list[]
This value specifies the list of hyperpatches to break.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
1000025
Error attempting to allocate virtual memory.
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
1000508
Specified Parametric Position value of %G% is out of range. The value must be between 0.0 and 1.0.
1000909
Unable to break the solid.
14000001
LpGetHeapSpace: Allocated heapspace is exhausted.
14000003
LpSublistType: No sublist filter bits are set on invocation.
14000004
LpSublistType: I am being invoked with a NULL list.
14000005
LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006
LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007
LpSublistType: In the list being used, the current finite element sublist is unclassifiable.
14000008
LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009
LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010
LpSublistType: In the list being used, the current sublist does not match the sublist filter.
14000011
LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012
LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013
LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014
LpSublistNext: Attempt to proceed past last sublist in current list.
14000015
LpSublistNext: End of current list has been reached.
14000208
LpSublistAttributeGet: Curve evaluator error.
14000210
LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211
LpSublistAttributeGet: Surface evaluator error.
14000213
LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282
LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295
LpSublistAttributeGet: The CAD native curve can not be accurately approximated to within an order of magnitude of the present geometric tolerance.
14000296
LpSublistAttributeGet: The CAD native surface can not be accurately approximated to within an order of magnitude of the present geometric tolerance.
38000452
Unable to calculate a point on the solid.
Remarks:
This function displays a message listing the number of hyperpatches created and their IDs.
One hyperpatch will be created for each entry in the input value hpat_list. All hyperpatches created will be displayed in the graphics window.
Example:
Please see asm_edit_hpat_break (p. 658) in the PCL Reference Manual Examples.
 
asm_edit_hpat_reverse
(hpat_list, reversed_labels)
 
Description:
This function reverses the connectivity and relocates the parametric origin of a set of hyperpatches.
Input:
STRING
hpat_list[]
This value specifies the list of original hyperpatches to reverse.
Output:
STRING
reversed_labels[]
This value returns the reversed ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays the number of hyperpatches reversed and their IDs
Each hyperpatch specified by the input value hpat_list will be reversed. All hyperpatches that have been reversed will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_edit_hpat_reverse (p. 660) in the PCL Reference Manual Examples.
  
asm_edit_line_blend
(line_ids, weights, line_list, delete_original, created_ids)
 
Description:
This function will create lines from an existing set of lines, enforcing the first derivative continuity across the boundaries of the lines.
Input:
STRING
line_ids[]
This value specifies the line ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of line IDs.
STRING
weights[]
This value specifies the weighting factors of one line relative to another. This value must be greater than zero. A value of 1.0 will cause all lines to have an equal weight. A value greater than 1.0 will allow the slope of a line at the beginning of the list of lines specified by the input value line_list to dominate the slope of the created lines. A value less than 1.0 will allow the slope of a line at the end of the list of lines specified by the input value line_list to dominate the slope of the created lines.
STRING
line_list[]
This value specifies the list of lines to blend.
LOGICAL
delete_original
This value is set to TRUE if the original lines are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of lines created and their IDs.
A line will be created for each identifier specified by the input value line_ids. If the input value line_ids is set to an empty string or “#”, a single line will be created. All lines created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000574
There must be at least two curves as input to Blend. The invalid value input was %A%.
1000575
Line %I% with vertices %I% and %I% cannot blend with Line %I% with vertices %I% and %I%.
1000576
One of the curves input to blend has a vector length of zero. Unable to blend curves.
1000587
Unable to merge with a circular curve.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_edit_line_blend (p. 661) in the PCL Reference Manual Examples.
 
asm_edit_line_merge
(line_ids, line_list, num_lines, geo_tolerance, num_iterations, delete_original, created_ids)
 
Description:
This function will create lines from an existing set of lines by merging the original lines.
Input:
STRING
line_ids[]
This value specifies the line ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of line IDs.
STRING
line_list[]
This value specifies the list of original lines to merge.
INTEGER
num_lines
This value specifies the number of lines to create from the existing set of lines.
REAL
geo_tolerance
This value specifies the geometric tolerance used to test for convergence. The default value is 0.005.
INTEGER
num_iterations
This value specifies the maximum number of times to iterate during the numerical approximation. The default value is 0.
LOGICAL
delete_original
This value is set to TRUE if the original lines are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of lines created and their IDs.
A line will be created for each line in the input value line_list. All lines created will be displayed in the graphics window.
This function can display an information popup message form with the following message:
 
1000517
The Line Construct parameter %A% was reset from the invalid input value of %I% to the default value of %I%.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
1000500
There must be at least one line as input. The invalid value input was %I%.
1000503
It is not possible to order the curves from head to tail.
1000516
The points are all within tolerance of one another. A zero length line will not be produced.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_edit_line_merge (p. 662) in the PCL Reference Manual Examples.
  
asm_edit_patch_blend
(patch_ids, edge_list, weights, patch_list, delete_original, created_ids)
 
Description:
This function will create patches from an existing set of patches, enforcing the first derivative continuity across the boundaries of the patches.
Input:
STRING
patch_ids[]
This value specifies the patch ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of patch IDs.
STRING
edge_list[]
This value specifies the list of patch edges to be assigned a weighting factor.
STRING
weights[]
This value specifies the weighting factors of one patch edged relative to another. This value must be greater than zero. A value of 1.0 will cause all patch edges to have an equal weight. A value greater than 1.0 will allow the slope of a edged of a patch from the beginning of the list of patches specified by the input value patch_list to dominate the slope of the edges of the created patches. A value less than 1.0 will allow the slope of an edge at the end of the list of patches specified by the input value patch_list to dominate the slope of the edges of the created patches.
STRING
patch_list[]
This value specifies the list of patches to blend.
LOGICAL
delete_original
This value is set to TRUE if the original patches are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of patches created and their IDs.
A patch will be created for each identifier specified by the input value patch_ids. If the input value patch_ids is set to an empty string or “#”, a single patch will be created. All patches created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000722
There must be at least two surfaces as input to Blend. The invalid value input was %A%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_edit_patch_blend (p. 664) in the PCL Reference Manual Examples.
 
asm_edit_patch_break
(patch_ids, break_type, break_entity_list, param_pos, delete_original, patch_list, created_ids)
 
Description:
This function will create patches from an existing set of patches by breaking the original patches at a parametric position, point or node, curve, or surface.
Input:
STRING
patch_ids[]
This value specifies the patch ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of patch IDs.
INTEGER
break_type
This value specifies the type of entity used to define the break: 0 = parametric position, 1 = point or node, 2 = curve, and 3 = surface.
STRING
break_entity_list[]
This value specifies the list of entities used to define the break.
REAL
param_pos(2)
This value specifies the parametric positions that define the break position if the input value break_type is set to 0.
LOGICAL
delete_original
This value is set to TRUE if the original patches are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
STRING
patch_list[]
This value specifies the list of original patches to break.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
1000025
Error attempting to allocate virtual memory.
1000508
Specified Parametric Position value of %G% is out of range. The value must be between 0.0 and 1.0.
1000706
The specified surfaces do not intersect.
1000709
Unable to intersect the curves being used to construct a patch. The curves must form a closed region and must be in a circular order.
1000713
Unable to break the patch.
1000714
An error occurred while manifolding on a surface.
1000715
Designated point not on the patch.
14000001
LpGetHeapSpace: Allocated heapspace is exhausted.
14000003
LpSublistType: No sublist filter bits are set on invocation.
14000004
LpSublistType: I am being invoked with a NULL list.
14000005
LpSublistType: In the list being used, the current sublist has a nonatomic CAR.
14000006
LpSublistType: In the list being used, the current geometry sublist is unclassifiable.
14000007
LpSublistType: In the list being used, the current finite element sublist is unclassifiable.
14000008
LpSublistType: In the list being used, the current token sublist is unclassifiable.
14000009
LpSublistType: In the list being used, the current sublist is unclassifiable.
14000010
LpSublistType: In the list being used, the current sublist does not match the sublist filter.
14000011
LpSublistAttributeGet: Attempt to get attribute from NULL list.
14000012
LpSublistAttributeGet: Attribute to retrieve is undefined.
14000013
LpSublistAttributeGet: Attribute to retrieve is not found in the current sublist.
14000014
LpSublistNext: Attempt to proceed past last sublist in current list.
14000208
LpSublistAttributeGet: Curve evaluator error.
14000210
LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211
LpSublistAttributeGet: Surface evaluator error.
14000213
LpSublistAttributeGet: Unable to coerce geometry: unknown type.
14000282
LpSublistAttributeGet: The value for the attribute requested is NULL.
14000295
LpSublistAttributeGet: The CAD native curve can not be accurately approximated to within an order of magnitude of the present geometric tolerance.
14000296
LpSublistAttributeGet: The CAD native surface can not be accurately approximated to within an order of magnitude of the present geometric tolerance.
Remarks:
This function displays a message listing the number of patches created and their IDs.
One patch will be created for each entry in the input value patch_list. All hyperpatches created will be displayed in the graphics window.
Example:
Please see asm_edit_patch_break (p. 665) in the PCL Reference Manual Examples.
. 
ge_edit_entity_refit
(output_ids, refit_tol, delorg, solid_list, edit_ids)
 
Description:
This function will refit Patran solids to a Parasolid representation.
Input:
STRING
output_ids[]
This value specifies the entityID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of entity IDs.
REAL
refit_tol
This value specifies the tolerance to be used to refit the solid.
LOGICAL
delorg
This value specifies whether or not to delete the original Patran solid after the refit.
STRING
solid_list[]
This value specifies the Patran solids to refit.
Output:
STRING
edit_ids[VIRTUAL]
This value returns a description of the refit identifiers.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Remarks:
Space is internally allocated for the string returned by the output value edit_ids. It is the responsibility of the calling function to free the allocated string storage space.
This function will update the surface identifiers that are stored in the database and displayed in a viewport.
Example:
 
ge_edit_solid_blend
(radius, entity_type, entity_list, created_labels)
 
Description:
This function will create a constant radius edge blend on an edge(s) of a solid
Input:
REAL
radius
This value specifies the constant radius of the edge blend
INTEGER
entity_type
This value specifies the type of the input entities
(1 - Edge, 2 - Face, 3 - Solid).
STRING
entity_list[VIRTUAL]
This value specifies the list of entities to create the edge blend.
Output:
STRING
created_labels[VIRTUAL]
This value returns a description of the created surface identifiers.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Remarks:
 
Example:
 
 
ge_edit_solid_chamfer
(first_size, angle, entity_type, entity_list, created_labels)
 
Description:
This function will create a constant angle chamfer type edge blend on an edge(s) of a solid
Input:
REAL
first_size
This value specifies the size of the chamfer on the first surface.
REAL
angle
This value specifies the size of the chamfer on the other surface.
INTEGER
entity_type
This value specifies the type of the input entities (1 - Edge, 2 - Face, 3 - Solid).
STRING
entity_list[VIRTUAL]
This value specifies the list of input entities to create the chamfer.
Output:
STRING
created_labels[VIRTUAL]
This value returns a description of the created surface identifiers.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Remarks:
 
Example:
 
 
ge_edit_solid_disassemble
(solid_list, convert_surfaces, delorg, edit_ids)
 
Description:
This function will disassemble B-rep Solids into their constituent surfaces.
Input:
STRING
solid_list[]
This value specifies the B-rep Solids to disassemble.
LOGICAL
convert_surfaces
This value specifies whether or not to convert the constituent surfaces into simply trimmed(green) surfaces. Green surfaces are used to create TriParametric Solids(blue).
LOGICAL
delorg
This value specifies whether or not to delete the original Patran solid after the disassemble.
Output:
STRING
edit_ids[VIRTUAL]
This value returns a description of the surface identifiers.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Remarks:
Space is internally allocated for the string returned by the output value edit_ids. It is the responsibility of the calling function to free the allocated string storage space.
This function will update the surface identifiers that are stored in the database and displayed in a viewport.
Example:
 
ge_edit_solid_imprint_solid
(imprinting_solid, imprinted_solid, edited_labels)
 
Description:
This function will imprint the selected solid bodies on solid bodies.
Input:
STRING
imprinting_solid[]
This value specifies the list of imprinting solids.
STRING
imprinted_solid[]
The value specifies the target solid bodies for imprinting.
Output:
STRING
edited_labels[VIRTUAL]
This value returns a description of the edited solid identifiers.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Remarks:
Space is internally allocated for the string returned by the output value created_labels. It is the responsibility of the calling function to free the allocated string storage space.
This function will update the surface identifiers that are stored in the database and displayed in a viewport.
Example:
 
ge_edit_solid_refit_v1
(output_ids, refit_type, udensity, vdensity, wdensity, refit_tol, delorg, solid_list, edit_ids)
 
Description:
This function will refit Solids to TriCubicNet or TriParametric geometric representation. If the solid is of type B-rep, then it must have only five or six faces.
Input:
STRING
output_ids[]
This value specifies the entityID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of entity IDs.
INTEGER
refit_type
This value specifies the type of solid to refit into:
1 = TriCubicNet
2 = TriParametric
INTEGER
udensity
This value specifies the internal density in the parametric u direction for the number of tri-cubic solids to create in the TriCubicNet Solid. (Used if refit_type = 1)
INTEGER
vdensity
This value specifies the internal density in the parametric v direction for the number of tri-cubic solids to create in the TriCubicNet Solid. (Used if refit_type = 1)
INTEGER
wdensity
This value specifies the internal density in the parametric w direction for the number of tri-cubic solids to create in the TriCubicNet Solid. (Used if refit_type = 1)
REAL
refit_tol
This value specifies the tolerance to be used to refit the solid. (Used if refit_type = 2)
LOGICAL
delorg
This value specifies whether or not to delete the original Patran solid after the refit.
STRING
solid_list[]
This value specifies the Patran solids to refit.
Output:
STRING
edit_ids[VIRTUAL]
This value returns a description of the refit identifiers.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Remarks:
Space is internally allocated for the string returned by the output value edit_ids. It is the responsibility of the calling function to free the allocated string storage space.
This function will update the surface identifiers that are stored in the database and displayed in a viewport.
 
ge_edit_solid_shelling
(thickness, face_list, created_labels)
 
Description:
This function will hollow a solid by shelling the selected faces.
Input:
REAL
thickness
This value specifies the thickness for shelling.
STRING
face_list[VIRTUAL]
This value specifies the list of faces to shell.
Output:
STRING
created_labels[VIRTUAL]
This value returns a description of the created surafce identifiers.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
 
See the Status Messages for information on any error values returned by this function.
Remarks:
Example:
 
ge_edit_surface_trim_edge
(surface, edge, delete_sliver, edited_labels)
Description:
This function will trim an existing surface using one of its edges and optionally remove the remaining sliver surface.
Input:
STRING
surface[]
This value specifies the surface to trim.
STRING
edge[]
This value specifies the edge to use for trimming the surface.
LOGICAL
delete_sliver
This value specifies whether or not to delete the sliver surface remaining after the trim.
Output:
STRING
edited_labels[VIRTUAL]
This value returns a description of the edited surface identifiers.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
See the Status Messages for information on any error values returned by this function.
Remarks:
Space is internally allocated for the string returned by the output value edited_labels. It is the responsibility of the calling function to free the allocated string storage space.
This function will update the surface identifiers that are stored in the database and displayed in a viewport.
Example:
 
ge_solid_break_by_plane
(output_ids, solid_list, plane_list, delete_orig, created_ids)
 
Description:
This function breaks solids by planes.
Input:
STRING
output_ids[]
This value specifies the solid ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of solid IDs.
STRING
solid_list[]
This value specifies the list of the solids to be broken.
STRING
plane_list[]
This value specifies the list of the planes which will break the solids.
INTEGER
delete_orig
This value is set to TRUE if the original solids are to be deleted.
0=Retain original geometry
1=Delete original geometry
Output:
STRING
created_ids[]
This value returns the created solids ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
1000025
Error attempting to allocate virtual memory.
1000053
No valid geometric entities of type %A% were used as input. Unable to process request.
38001214
Unable to break the solid because failed to break one or more its faces. Slightly move the splitting plane or surface and break the solid again.
38001217
Unable to break %A%. Errors occurred in breaking its faces. Check the intersections of the solid faces with the splitting plane/surface. Then check if all faces, which the plane or surface intersects, can be broken.
Example:
  
sgm_edit_brep_break_plane
(solid_list, plane_list, delete_flag, created_ids)
 
Description:
This function breaks a set of solids with a set of planes.
Input:
STRING
solid_list[]
This value specifies the list of the solids to be broken.
STRING
plane_list[]
This value specifies the list of the planes which will break the solids.
LOGICAL
delete_flag
This value is set to TRUE if the original solids are to be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
1000025
Error attempting to allocate virtual memory.
1000053
No valid geometric entities of type %A% were used as input. Unable to process request.
38001214
Unable to break the solid because failed to break one or more its faces. Slightly move the splitting plane or surface and break the solid again.
38001217
Unable to break %A%. Errors occurred in breaking its faces. Check the intersections of the solid faces with the splitting plane/surface. Then check if all faces, which the plane or surface intersects, can be broken.
Remarks:
This function displays a message listing the number of solids created and their IDs.
Two or more solids will be created. Each solid will be displayed in the graphics window as it is created.
Example:
Please see sgm_edit_brep_break_plane (p. 667) in the PCL Reference Manual Examples.
 
sgm_edit_brep_break_plane_v1
(output_ids, solid_list, plane_list, delete_orig, created_ids)
 
Description:
This function breaks a set of solids with a set of planes.
Input:
STRING
output_ids[]
This value specifies the solid ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of solid IDs.
STRING
solid_list[]
This value specifies the list of the solids to be broken.
STRING
plane_list[]
This value specifies the list of the planes which will break the solids.
LOGICAL
delete_orig
This value is set to TRUE if the original solids are to be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
1000025
Error attempting to allocate virtual memory.
1000053
No valid geometric entities of type %A% were used as input. Unable to process request.
38001214
Unable to break the solid because failed to break one or more its faces. Slightly move the splitting plane or surface and break the solid again.
38001217
Unable to break %A%. Errors occurred in breaking its faces. Check the intersections of the solid faces with the splitting plane/surface. Then check if all faces, which the plane or surface intersects, can be broken.
Example:
sgm_edit_brep_break_surface
(solid_list, surface_list, delete_flag, created_ids)
Description:
This function breaks a solid with a surface.
Input:
STRING
solid_list[]
This value specifies the list of the solids to be broken.
STRING
surface_list[]
This value specifies the list of the surfaces which will break the solids.
LOGICAL
delete_flag
This value is set to TRUE if the original solids are to be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
1000025
Error attempting to allocate virtual memory.
1000053
No valid geometric entities of type %A% were used as input. Unable to process request.
38001214
Unable to break the solid because failed to break one or more its faces. Slightly move the splitting plane or surface and break the solid again.
38001217
Unable to break %A%. Errors occurred in breaking its faces. Check the intersections of the solid faces with the splitting plane/surface. Then check if all faces, which the plane or surface intersects, can be broken.
Remarks:
This function displays a message listing the number of solids created and their IDs.
Two or more solids will be created. Each solid will be displayed in the graphics window as it is created.
Example:
Please see sgm_edit_brep_break_surface (p. 668) in the PCL Reference Manual Examples.
 
sgm_edit_brep_break_surface_v1
(output_ids, solid_list, surface_list, delete_orig, created_ids)
 
Description:
This function breaks a set of solids with a set of surfaces.
Input:
STRING
output_ids[]
This value specifies the solid ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of solid IDs.
STRING
solid_list[]
This value specifies the list of the solids to be broken.
STRING
surface_list[]
This value specifies the list of the surfaces which will break the solids.
LOGICAL
delete_orig
This value is set to TRUE if the original solids are to be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
1000025
Error attempting to allocate virtual memory.
1000053
No valid geometric entities of type %A% were used as input. Unable to process request.
38001214
Unable to break the solid because failed to break one or more its faces. Slightly move the splitting plane or surface and break the solid again.
38001217
Unable to break %A%. Errors occurred in breaking its faces. Check the intersections of the solid faces with the splitting plane/surface. Then check if all faces, which the plane or surface intersects, can be broken.
Example:
sgm_edit_curve_break_parametric
(curve_ids, curve_position, curve_list, delete_original, created_ids)
Description:
This function creates curves by breaking a set of curves at an arbitrary intermediate position.
Input:
STRING
curve_ids[]
This value specifies the curve ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of curve IDs.
REAL
curve_position
This value specifies the parametric position along the curve of the break point.
STRING
curve_list[]
This value specifies the list of curves to break.
LOGICAL
delete_original
This value is set to TRUE if the original curves are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of curves created and their IDs.
Two curves will be created for each curve to break. All curves created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000508
Specified Parametric Position value of %G% is out of range. The value must be between 0.0 and 1.0.
2001070
Unable to acquire %I% words of virtual memory.
 
Example:
Please see sgm_edit_curve_break_parametric (p. 669) in the PCL Reference Manual Examples.
sgm_edit_curve_break_plane
(curve_ids, plane_list, curve_list, delete_flag, created_ids)
Description:
This function breaks a set of curves with a set of planes.
Input:
STRING
curve_ids[]
This value specifies the curve ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of curve IDs.
STRING
plane_list[]
This value specifies the list of the planes which will break the curves.
STRING
curve_list[]
This value specifies the list of the curves which is to be broken.
LOGICAL
delete_flag
This value is set to TRUE if the original curves are to be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
1000025
Error attempting to allocate virtual memory.
1000053
No valid geometric entities of type %A% were used as input. Unable to process request.
38001214
Unable to break the solid because failed to break one or more its faces. Slightly move the splitting plane or surface and break the solid again.
38001217
Unable to break %A%. Errors occurred in breaking its faces. Check the intersections of the solid faces with the splitting plane/surface. Then check if all faces, which the plane or surface intersects, can be broken.
Remarks:
This function displays a message listing the number of curves created and their IDs.
Two or more curves will be created. Each curve will be displayed in the graphics window as it is created.
Example:
Please see sgm_edit_curve_break_plane (p. 670) in the PCL Reference Manual Examples.
sgm_edit_curve_break_point
(curve_ids, point_list, curve_list, delete_original, created_ids)
Description:
This function creates a set of curves by breaking a set of curves at a set of points.
Input:
STRING
curve_ids[]
This value specifies the curve ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of curve IDs.
STRING
point_list[]
This value specifies the list of points on the curve to specify the break point.
STRING
curve_list[]
This value specifies the list of curves to break.
LOGICAL
delete_original
This value is set to TRUE if the original curves are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:.
This function displays a message listing the number of curves created and their IDs.
The number of curves created will be equal to the number of break points + 1 specified by the input value point_list for each curve to break. All curves created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
2001070
Unable to acquire %I% words of virtual memory.
 
Example:
Please see sgm_edit_curve_break_point (p. 672) in the PCL Reference Manual Examples.
sgm_edit_curve_disassemble
(curve_list, delete_original)
Description:
This function creates curves by disassembling a set of chain curve.
Input:
STRING
curve_list[]
This value specifies the list of chain curves to disassemble.
LOGICAL
delete_original
This value is set to TRUE if the original chains are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
Output:
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of curves created and their IDs.
Each chain curve will be disassembled into a number of curves based on the geometry of the original chain. Each curve created will be displayed in the graphics window.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
This function can display a warning popup message form with the following messages:
 
38000471
Curve %I% is not a chain.
This function can display a fatal popup message form with the following messages:
 
1000201
%A% is not a recognized syntax for a Curve List.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000470
Unable to load the curve into the database.
38000805
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_edit_curve_disassemble (p. 673) in the PCL Reference Manual Examples.
sgm_edit_curve_extend_1curve
(curve_ids, extend_type, length_type, curve_length, curve_extend_point, created_ids)
Description:
This function will create curves by extension of a set of curves by either creating straight curves which start at the beginning or end of an existing curve and moves in a tangential direction from the end of the curve for a specified distance or by reparameterizing existing curves starting at the beginning or end of a curve and continuing for a specified distance.
Input:
STRING
curve_ids[]
This value specifies the curve ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of curve IDs.
INTEGER
extend_type
This value specifies the curve type to create from extending the original curves: 1 = straight curve, and 2 = continuous curvature curve.
INTEGER
length_type
This value specifies the curve length type if the input value extend_type is set to 2: 1= added curve length, and 2 = percent of total length of original curve.
REAL
curve_length
This value specifies the length to extend the curves
STRING
curve_extend_point[]
This value specifies the original curves to extend and the points on the curves defining which end of the curves to extend.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of curves created and their IDs.
A curve will be created for each curve to extend. All curves created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000568
Error evaluating curve for extending. Unable to extend the original curve.
1000569
The curve trying to extend has a tangent of length zero. Unable to extend curve.
1000570
The extended curve length of %G% is invalid. Input length value greater than zero.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_edit_curve_extend_1curve (p. 674) in the PCL Reference Manual Examples.
sgm_edit_curve_extend_1curve_v1
(curve_ids, extend_type, length_type, curve_length, curve_extend_point, created_ids)
Description:
This function will extend curves by starting at the beginning or end of an existing curve and moving in a tangential direction from the beginning or end of the curve for a specified distance or by reparameterizing existing curves starting at the beginning or end of a curve and continuing for a specified distance.
Input:
STRING
curve_ids[]
This value specifies the curve ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of curve IDs.
INTEGER
extend_type
This value specifies the curve type to create from extending the original curves: 1 = straight curve, and 2 = continuous curvature curve.
INTEGER
length_type
This value specifies the curve length type if the input value extend_type is set to 2: 1= added curve length, and 2 = percent of total length of original curve.
REAL
curve_length
This value specifies the length to extend the curves
STRING
curve_extend_point[]
This value specifies the original curves to extend and the points on the curves defining which end of the curves to extend.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of curves created and their IDs.
All curves created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000568
Error evaluating curve for extending. Unable to extend the original curve.
1000569
The curve trying to extend has a tangent of length zero. Unable to extend curve.
1000570
The extended curve length of %G% is invalid. Input length value greater than zero.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_edit_curve_extend_1curve (p. 674) in the PCL Reference Manual Examples.
 
sgm_edit_curve_extend_2curve
(curve_ids, curve1_list, curve2_list, created_ids)
 
Description:
This function extends two sets of curves to their points of intersection.
Input:
STRING
curve_ids[]
This value specifies the curve ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of curve IDs.
STRING
curve1_list[]
This value specifies the first curve list to extend to an intersection point.
STRING
curve2_list[]
This value specifies the second curve list to extend to an intersection point.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of curves created and their IDs.
Pairs of curves from each set of curves will be extended to their points of intersection. All curves will be displayed in the graphics window.
This function can display a warning popup message form with the following message:
1000559
The intersection point of the pair of curves to extend is within geometric tolerance
( %G% ) of both curves. The original curves were not extended.
This function can display a fatal popup message form with the following messages:
 
1000555
The two curves are collinear so an intersection point cannot be calculated.
1000556
The two curves are not coplanar so an intersection point cannot be calculated.
1000568
Error evaluating curve for extending. Unable to extend the original curve.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_edit_curve_extend_2curve (p. 675) in the PCL Reference Manual Examples.
 
sgm_edit_curve_extend_2curve_v1
(curve_ids, curve1_list, curve2_list, created_ids)
 
Description:
This function extends a set of curves to their points of intersection.
Input:
STRING
curve_ids[]
This value specifies the curve ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of curve IDs.
STRING
curve1_list[]
This value specifies the first curve list to extend to an intersection point.
STRING
curve2_list[]
This value specifies the second curve list to extend to an intersection point.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of curves created and their IDs.
Pairs of curves from each set of curves will be extended to their points of intersection. All curves will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000568
Error evaluating curve for extending. Unable to extend the original curve.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_edit_curve_extend_2curve (p. 675) in the PCL Reference Manual Examples.
sgm_edit_curve_extend_circle
(curve_ids, curve_extend_point, delete_original, created_ids)
Description:
This function extends an existing set of curves by creating a full circle from a point on the curve at the start, end, or an interior point.
Input:
STRING
curve_ids[]
This value specifies the curve ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of curve IDs. These identifier values will be used only if the original curves being extended are topological edges.
STRING
curve_extend_point[]
This value specifies the original curves to be extended along with the points on the curves at which the circle will be created.
LOGICAL
delete_original
This value is set to TRUE if the original curves are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of curves created and their IDs.
Each curve specified will be extended. All curve created will be displayed in the graphics window.
This function can display an information popup message form with the following message:
 
1000040
Duplicate %A% was not created at users request.
This function can display a warning popup message form with the following message:
 
38000439
The selected curve %I% has no center of curvature. The curve can not be extended into a full circle.
This function can display a fatal popup message form with the following messages:
 
38000003
No blob provided.
38000413
Zero length plane normal vector.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_edit_curve_extend_circle (p. 676) in the PCL Reference Manual Examples.
 
sgm_edit_curve_extend_points
(curve_ids, curve_list, point_list, created_ids)
 
Description:
This function extends a set of existing curves by adding extra points at one end of a curve and refitting the curve to that point.
Input:
STRING
curve_ids[]
This value specifies the curve ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of curve IDs (only used if the original curve to extend is a topological edge).
STRING
curve_list[]
This value specifies the set of curves to extend.
STRING
point_list[]
This value specifies the points to add to ends of the curves being extended.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of curves created and their IDs.
Each curve listed will be extended. All curves created will be displayed in the graphics window.
This function can display an information popup message form with the following message:
 
1000040
Duplicate %A% was not created at users request.
This function can display a fatal popup message form with the following messages:
 
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_edit_curve_extend_points (p. 677) in the PCL Reference Manual Examples.
sgm_edit_curve_extend_tocurve
(curve_ids, curvepoint_list, curve_list, break, delete_original, created_ids)
Description:
This function will extend a curve to the point of intersection of another curve with an option to break the intersecting curve at the point of intersection.
Input:
STRING
curve_ids[]
This value specifies the curve ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of curve IDs.
STRING
curvepoint_list
This value specifies the curve to extend and the end of the curve to extend from.
STRING
curve_list
This value specifies the intersecting curve to extend to.
LOGICAL
break
This value specifies whether or not to break the intersecting curve at the point of intersection.
LOGICAL
delete_original
This value specifies whether or not the original intersecting curve is to be deleted after the extend operation.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of curves edited and their IDs.
All curves edited will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000568
Error evaluating curve for extending. Unable to extend the original curve.
1000569
The curve trying to extend has a tangent of length zero. Unable to extend curve.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_edit_curve_extend_1curve (p. 674) in the PCL Reference Manual Examples.
sgm_edit_curve_merge
(curve_ids, curve_list, num_curves, merge_tolerance, delete_original, created_ids)
Description:
This function will create curves by merging a set of curves.
Input:
STRING
curve_ids[]
This value specifies the curve ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of curve IDs.
STRING
curve_list[]
This value specifies the original curves to merge.
INTEGER
num_curves
This value specifies the number of curves to create.
REAL
merge_tolerance
This value specifies the geometric tolerance used to determine the point distribution along the new curves and the accuracy of the merge process.
LOGICAL
delete_original
This value is set to TRUE if the original curves are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of curves created and their IDs.
The input value num_curves specifies the number of curves that will be created from the input value curve_list. All curves created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000500
There must be at least one line as input. The invalid value input was %I%.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000467
Curves to be chained are not contiguous due to a gap of %G%. The point of discontinuity has been marked.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_edit_curve_merge (p. 678) in the PCL Reference Manual Examples.
 
sgm_edit_curve_refit
(curve_ids, curve_list, refit_method, refit_tolerance, num_curves, delete_original, created_ids)
 
Description:
This function will create piecwise cubic spline curves by refitting a set of curves.
Input:
STRING
curve_ids[]
This value specifies the curve ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of curve IDs.
STRING
curve_list[]
This value specifies the list of curves to be refitted.
INTEGER
refit_method
This value specifies the refit method: 1 = tolerance based, and 2 = num_curves uniformly distributed cubic spline segments using arc length parameterization.
REAL
refit_tolerance
This value specifies the refit tolerance to use if the input value refit_method is set to 1.
INTEGER
num_curves
This value specifies the number of spline segments to create if the input value refit_method is set to 2.
LOGICAL
delete_original
This value is set to TRUE if the original curves are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of curves created and their IDs.
Curves will be created for each curve in the input value curve_list. Each curve created will be displayed in the graphics window.
This function can display an information popup message form with the following message:
 
1000040
Duplicate %A% was not created at users request.
This function can display a fatal popup message form with the following messages:
 
1000201
%A% is not a recognized syntax for a Curve List.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000805
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_edit_curve_refit (p. 680) in the PCL Reference Manual Examples.
 
sgm_edit_curve_reverse
(reverse_mesh, curve_list, reversed_ids)
 
Description:
This function will reverse the direction of a set of curves and optionally, any associated finite element model entities.
Input:
LOGICAL
reverse_mesh
This value is set to TRUE if any associated finite element model entities are to be reversed with the curve. If this value is set to FALSE, any associated finite element model entities will not be reversed.
STRING
curve_list[]
This value specifies the list of curves to reverse.
Output:
STRING
reversed_ids[]
This value returns the reversed ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays the number of curves (IDs) reversed.
All curves reversed will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_edit_curve_reverse (p. 681) in the PCL Reference Manual Examples.
sgm_edit_curve_trim_parametric
(curve_position, curve_trim_point, trimmed_ids)
Description:
This function trims a set of curves at a defined parametric position, followed by the removal of the unwanted portion of the original curves.
Input:
REAL
curve_position
This value specifies the parametric position along the curve to specify the trim point.
STRING
curve_trim_point[]
This value specifies the original curve to trim and the point on the curve defining which end of the curve to discard.
Output:
STRING
trimmed_ids[]
This value returns the trimmed ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays the number of curves trimmed.
A curve will be modified for each curve to trim. All curves trimmed will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000508
Specified Parametric Position value of %G% is out of range. The value must be between 0.0 and 1.0.
1000565
The curve to trim is an edge, and trimming edges is not allowed.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_edit_curve_trim_parametric (p. 682) in the PCL Reference Manual Examples.
 
sgm_edit_curve_trim_point
(trim_point, curve_trim_point, trimmed_ids)
 
Description:
This function trims a set of curves at defined intersection points, followed by the removal of the unwanted portion of the original curves.
Input:
STRING
trim_point[]
This value specifies the point on the curve to specify the trim point.
STRING
curve_trim_point[]
This value specifies the original curve to trim and the point on the curve defining which end of the curve to discard.
Output:
STRING
trimmed_ids[]
This value returns the trimmed ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays the number of curves trimmed.
A curve will be modified for each curve to trim. All curves trimmed will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000565
The curve to trim is an edge, and trimming edges is not allowed.
2001070
Unable to acquire %I% words of virtual memory.
 
Example:
Please see sgm_edit_curve_trim_point (p. 683) in the PCL Reference Manual Examples.
 
sgm_edit_solid_break_v1
(solid_ids, break_type, break_entity_list, param_pos, delete_original, solid_list, created_ids)
Description:
This function creates a set of solids from an existing set of solids by breaking the original solids at a parametric position, point or node, curve, or surface.
Input:
STRING
solid_ids[]
This value specifies the solid ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of solid IDs.
INTEGER
break_type
This value specifies the type of entity used to define the break: 1 = parametric position, 2 = point or node, 3 = curve, and 4 = surface. Curves, surfaces and solids will both be approximated to parametric cubics and then the solid will be broken.
STRING
break_entity_list[]
This value specifies the list of entities used to define the break.
REAL
param_pos(3)
This value specifies the parametric positions that define the break position if the input value break_type is set to 1.
LOGICAL
delete_original
This value is set to TRUE if the original solids are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
STRING
solid_list[]
This value specifies the list of original solids to break.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of solids created and their IDs.
A solid will be created for each solid in the input value solid_list. All solids created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000508
Specified Parametric Position value of %G% is out of range. The value must be between 0.0 and 1.0.
2001070
Unable to acquire %I% words of virtual memory.
38000117
An attempt to approximate a general curve with a single Parametric Cubic failed.
38000118
An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000119
An attempt to approximate a general solid with a single Parametric TriCubic failed.
38000121
Invalid format conversion flag specified for surface conversion.
38000122
Invalid format conversion flag specified for solid conversion.
38000434
The solid type used for this Action, Object, Method function is invalid. It must be of a type that when created, has the default color of Blue.
38000436
Specified Break Method value of %I% is invalid. Valid values are 1-4.
38000452
Unable to calculate a point on the solid.
38000496
Unable to break Solid %I%.
38000497
Unable to break a solid with the specified parametric position values of %G%, %G%, and %G%.
38000499
Unable to break a solid with the calculated parametric position values of %G%, %G%, and %G% from the point coordinates of %G%, %G%, and %G%.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_edit_solid_break_v1 (p. 684) in the PCL Reference Manual Examples.
sgm_edit_solid_break_v2
(solid_ids, break_type, break_entity_list, param_pos, delete_original, solid_list, created_ids)
Description:
This function creates a set of solids from an existing set of solids by breaking the original solids at a parametric position, point or node, curve, or surface.
Input:
STRING
solid_ids[]
This value specifies the solid ID list. If this value is set to an empty string or to "#", the function will automatically allocate and assign a sequential list of solid IDs.
INTEGER
break_type
This value specifies the type of entity used to define the break: 1 = parametric position, 2 = point or node, 3 = curve, and 4 = surface. Curves, surfaces and solids will both be approximated to parametric cubics and then the solid will be broken.
STRING
break_entity_list[]
This value specifies the list of entities used to define the break.
REAL
param_pos(3)
This value specifies the parametric positions that define the break position if the input value break_type is set to 1.
LOGICAL
delete_original
This value is set to TRUE if the original solids are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
STRING
solid_list[]
This value specifies the list of original solids to break.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of solids created and their IDs.
A solid will be created for each solid in the input value solid_list. All solids created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000508
Specified Parametric Position value of %G% is out of range. The value must be between 0.0 and 1.0.
2001070
Unable to acquire %I% words of virtual memory.
38000117
An attempt to approximate a general curve with a single Parametric Cubic failed.
38000118
An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000119
An attempt to approximate a general solid with a single Parametric TriCubic failed.
38000121
Invalid format conversion flag specified for surface conversion.
38000122
Invalid format conversion flag specified for solid conversion.
38000434
The solid type used for this Action, Object, Method function is invalid. It must be of a type that when created, has the default color of Blue.
38000436
Specified Break Method value of %I% is invalid. Valid values are 1-4.
38000452
Unable to calculate a point on the solid.
38000496
Unable to break Solid %I%.
38000497
Unable to break a solid with the specified parametric position values of %G%, %G%, and %G%.
38000499
Unable to break a solid with the calculated parametric position values of %G%, %G%, and %G% from the point coordinates of %G%, %G%, and %G%.
38000845
Unable to acquire %I% words of virtual memory.
Example:
None.
sgm_edit_solid_disassemble
(solid_list, delete_original, created_labels)
Description:
This function disassembles a set of solids into subordinate surface faces.
Input:
STRING
solid_list[]
This value specifies the solid list.
LOGICAL
delete_original
This value is set to TRUE if the original solids are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
Output:
STRING
created_labels[]
This value returns the a list of the labels for the created entities.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of surfaces created and their IDs.
The number of subordinate faces that each solid will be disassembled into is a function of the geometry of the original solid. Each surface will be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
8107002
Last command aborted.
Example:
Please see sgm_edit_solid_disassemble (p. 686) in the PCL Reference Manual Examples.
 
sgm_edit_solid_refit_hp
(output_ids, nu, nv, nw, delete_orig, solid_list, created_ids)
 
Description:
This function will refit a parameterized solid into a tricubic network solid.
Input:
STRING
output_ids[]
This value specifies the solid ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of solid IDs.
INTEGER
nu
This value specifies the number of tricubic solids to create in the u parametric direction.
INTEGER
nv
This value specifies the number of tricubic solids to create in the v parametric direction.
INTEGER
nw
This value specifies the number of tricubic solids to create in the w parametric direction.
LOGICAL
delete_orig
If this value is TRUE, it will delete the original solid after the refit operation.
STRING
solid_list[]
This value specifies the solids to refit.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
38000845
Unable to acquire %I% words of virtual memory.
38000434
The solid type used for this Action, Object, Method function is invalid. It must be of a type that when created, has the default colour of Blue.
38000148
The 3 hyperpatch densities must be positive integers!
Example
 
sgm_edit_solid_refit
(output_ids, nu, nv, nw, solid_list, delete_orig, created_ids)
 
Description:
This function will refit a 5 or 6 sided solid into a tricubic network solid.
Input:
STRING
output_ids[]
This value specifies the solid ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of solid IDs.
INTEGER
nu
This value specifies the number of tricubic solids to create in the u parametric direction.
INTEGER
nv
This value specifies the number of tricubic solids to create in the v parametric direction.
INTEGER
nw
This value specifies the number of tricubic solids to create in the w parametric direction.
STRING
solid_list[]
This value specifies the solids to refit.
LOGICAL
delete_orig
If this value is TRUE, it will delete the original solid after the refit operation.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
38000845
Unable to acquire %I% words of virtual memory.
38000697
This operation cannot be completed. Please verify that the inputs are valid.
38000698
Solid %I% could not be refit.
38001322
Solid %I% has a face with more than four edges and hence cannot be refit into a TriParametric Solid.
Example:
 
  
sgm_edit_solid_refit_v1
(output_ids, tolerance, solid_type, delete_orig, solid_list, created_ids)
 
Description:
This function will refit a 5 or 6 sided solid into a tricubic network solid.
Input:
STRING
output_ids[]
This value specifies the solid ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of solid IDs.
REAL
tolerance
This value specifies the refit tolerance.
LOGICAL
solid_type
If this value is TRUE, it will create individual tricubic solids, otherwise, it will create one triparametric network solid.
LOGICAL
delete_orig
If this value is TRUE, it will delete the original solid after the refit operation.
STRING
solid_list[]
This value specifies the solids to refit.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
38000845
Unable to acquire %I% words of virtual memory.
38000697
This operation cannot be completed. Please verify that the inputs are valid.
38000698
Solid %I% could not be refit.
38001322
Solid %I% has a face with more than four edges and hence cannot be refit into a TriParametric Solid.
38000652
Solid %I% cannot be refit to within the specified tolerance.
38000653
Solid %I% cannot be refit within a maximum allowable space of 200000 words.
38000654
Solid %I% cannot be refit into less than 1000 hyperpatches for the specified tolerance.
Example:
 
 
sgm_edit_solid_reverse
(solid_list, reversed_ids)
 
Description:
This function will reverse the parameterization of a parameterized solid.
Input:
STRING
solid_list[]
This value specifies the solids to reverse.
Output:
STRING
reversed_ids[]
This value returns the reversed ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
38000845
Unable to acquire %I% words of virtual memory.
Example
  
sgm_edit_surface_add_hole
(edit_option, radius, loop_check, vector_list, point_list, curve_list, surface, edited_labels)
 
Description:
This function will add a hole to a surface by providing either a center point, a center point and a projection vector, or a closed, chained curve in which to create the hole from.
Input:
INTEGER
edit_option
This value specifies the option for adding a hole where:
1 = a circular hole is defined in the tangent plane of the manifolded center point.
2 = a circular hole is defined in the plane of the provided vector and vector-projectd onto the surface.
3 = input curves are manifolded to the surface.
REAL
radius
Hole radius (if edit_option is either 1 or 2)
LOGICAL
loop_check
Check if provided loops interfere with each other or with existing loops of the surface being edited.
STRING
vector_list[]
This value specifies a selection of vector identifiers which will be used as the projection vector for locating the center of the circular hole on the surface (if edit_option is 2).
STRING
point_list[]
This value specifies a selection of points used to define the center point of the circular hole on the surface (if edit_option is 1 or 2).
STRING
curve_list[]
This value specifies a selection of closed, chained curves used to define the hole in the surface (if edit_option is 3).
STRING
surface[]
This value specifies a single surface used to define which surface to add a hole to.
STRING
edited_labels[VIRTUAL]
This value returns a description of the edited surface identifiers.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
 
Remarks:
Space is internally allocated for the string returned by the output value edited_labels. It is the responsibility of the calling function to free the allocated string storage space.
This function will update the surface identifiers that are stored in the database and displayed in a viewport.
Example:
None.
 
sgm_edit_surface_add_fillet
(radius, point_list, surface, created_ids)
 
Description:
This function will edit a surface by adding a fillet at a given vertex. The topological effect of this is to add an edge while eliminating the input vertex.
Input:
REAL
radius
This value specifies the fillet radius.
STRING
point_list[]
This value specifies the point list defining the location to create the fillet.
STRING
surface[]
This value specifies a single surface to add a fillet to.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
38000845
Unable to acquire %I% words of virtual memory.
38000696
Surface %A% is either a composite trimmed surface or a tessellated surface and, as such, is not supported by this application.
38000482
This application only works with one surface at a time. Subsequent selected surfaces will be ignored.
38000672
A fillet of radius %G% could not be added at %A%.
1000572
The fillet curve has a zero radius. The fillet cannot be created.
Example:
 
sgm_edit_surface_add_vertex
(point_list, surface, edited_labels)
 
Description:
This function will add a vertex to a surface by providing a list of points to add to the surface.
Input:
STRING
point_list[]
This value specifies a selection of points to be used to add vertices to a surface.
STRING
surface[]
This value specifies a surface to be used to add a vertex to.
STRING
edited_labels[VIRTUAL]
This value returns a description of the edited surface identifiers.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
Remarks:
Space is internally allocated for the string returned by the output value edited_labels. It is the responsibility of the calling function to free the allocated string storage space.
This function will update the surface identifiers that are stored in the database and displayed in a viewport.
Example:
None.
sgm_edit_surface_break
(surface_ids, surface, delete_original, break_method, iuv, uv, point1, point2, curve, created_ids)
Description:
This function creates a set of surfaces from an existing set of surfaces by breaking the original surfaces at an isoparametric break, two points on opposing boundaries, or a manifold curve intersecting opposing boundaries.
Input:
STRING
surface_ids[]
This value specifies the surface ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of surface IDs.
STRING
surface[]
This value specifies the surfaces to break.
LOGICAL
delete_original
This value is set to TRUE if the original surfaces are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
INTEGER
break_method
This value specifies the method used to define the break: 1= isoparametric break, 2= two points on opposing boundaries, and 3 = manifold curve intersecting opposing boundaries.
INTEGER
iuv
This value specifies the iuv value if the input value break_method is equal to 1: 1 = U held constant, and 2 = V held constant.
REAL
uv
This value specifies a constant value if the input value break_method is equal to 1.
STRING
point1[]
This value specifies the first break point if the input value break_method is equal to 2.
STRING
point2[]
This value specifies the second break point if the input value break_method is equal to 2.
STRING
curve[]
This value specifies the manifold curve if the input value break_method is equal to 3.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of surfaces created and their IDs.
A surface will be created for each surface in the input value surface_list. All surfaces created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000508
Specified Parametric Position value of %G% is out of range. The value must be between 0.0 and 1.0.
38000404
Unable to break Surface %I%. The Surface to break must be of a type different from Composite Trimmed Surface.
38000405
Unable to break Surface %I%.
38000428
This application only works with one curve per surface at a time. Please adjust the input accordingly.
38000429
This application only works with two points per surface at a time. Please adjust the input accordingly.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_edit_surface_break (p. 687) in the PCL Reference Manual Examples.
sgm_edit_surface_break_v1
(surface_ids, surface_list, delete_original, break_type, iuv, uv, point1_list, point2_list, break_entity_list, created_ids)
Description:
This function creates a set of surfaces from an existing set of surfaces by breaking the original surfaces at a parametric position, point or node, curve, or surface.
Input:
STRING
surface_ids[]
This value specifies the surface ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of surface IDs.
STRING
surface_list[]
This value specifies the list of original surfaces to break.
LOGICAL
delete_original
This value is set to TRUE if the original surfaces are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
INTEGER
break_type
This value specifies the type of entity used to define the break: 1 = parametric position, 2 = point or node, 3 = curve, and 4 = surface.
INTEGER
iuv
This value specifies the iuv value if the input value break_type is set to 1: 1 = U held constant, and 2 = V held constant.
REAL
uv
This value specifies a constant value if the input value break_type is set to 1.
STRING
point1_list[]
This value specifies the first break point if the input value break_type is set to 2.
STRING
point2_list[]
This value specifies the second break point if the input value break_type is set to 2.
STRING
break_entity_list[]
This value specifies the list of curve or surface entities used to define the break.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of surfaces created and their IDs.
A surface will be created for each surface in the input value surface_list. All surfaces created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000508
Specified Parametric Position value of %G% is out of range. The value must be between 0.0 and 1.0.
38000404
Unable to break Surface %I%. The Surface to break must be of a type different from Composite Trimmed Surface.
38000405
Unable to break Surface %I%.
38000428
This application only works with one curve per surface at a time. Please adjust the input accordingly.
38000429
This application only works with two points per surface at a time. Please adjust the input accordingly.
38000435
This application only works with one surface per surface at a time. Please adjust the input accordingly.
38000436
Specified Break Method value of %I% is invalid. Valid values are 1-4.
38000444
The break curve can only intersect the outer boundary of the surface exactly twice.
38000845
Unable to acquire %I% words of virtual memory.
38001221
This functionality is not supported for parasolid surfaces for V6.
Example:
Please see sgm_edit_surface_break_v1 (p. 689) in the PCL Reference Manual Examples.
sgm_edit_surface_break_plane
(surface_ids, surface_list, plane_list, delete_flag, created_ids)
Description:
This function breaks a set of surfaces with a set of planes.
Input:
STRING
surface_ids[]
This value specifies the surface ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of surface IDs.
STRING
surface_list[]
This value specifies the list of the surfaces which are to be broken.
STRING
plane_list[]
This value specifies the list of the planes which will break the surface.
LOGICAL
delete_flag
This value is set to TRUE if the original surfaces are to be deleted.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of surfaces created and their IDs.
Two or more surfaces will be created for each surface in the input value surface_list. Each surface will be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
1000053
No valid geometric entities of type %A% were used as input. Unable to process request.
Example:
Please see sgm_edit_surface_break_plane (p. 691) in the PCL Reference Manual Examples.
 
sgm_edit_surface_disassemble
(surface_list, delete_original)
Description:
This function disassembles a trimmed surface into its parent surface and edge curves.
Input:
STRING
surface_list[]
This value specifies the trimmed surface list.
LOGICAL
delete_original
This value is set to TRUE if the original trimmed surfaces are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
Output:
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of surfaces and curves created and their IDs.
One surface and an N number of curves will be created from each trimmed surface. Each surface and curve will be displayed in the graphics window as it is created.
This function can display a warning popup message form with the following message:
 
38000468
Surface %I% is not a general trimmed surface.
This function can display a fatal popup message form with the following message:
 
38000805
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_edit_surface_disassemble (p. 693) in the PCL Reference Manual Examples.
 
sgm_edit_surface_disassemble_v1
(surface_list, delete_original, extract_types)
 
Description:
This function disassembles a Trimmed Surface into its constituent entities.
Input:
STRING
surface_list[]
This value specifies the list of trimmed surfaces to be disassembled.
LOGICAL
delete_original
This value is set to TRUE if the original trimmed surface is to be deleted after it is disassembled.
LOGICAL
extract_types
This value is set to TRUE if only the parent surface is to be stored in the database, otherwise both the parent surface and the edge curves are loaded in the database after the disassemble.
Output:
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
1000025
Error attempting to allocate virtual memory.
38000659
%A% is not a General Trimmed Surface.
38000469
Failed to create a spline representation of an edge.
Example:
 
sgm_edit_surface_edge_add
(retain_long, curve_list, surface, created_ids)
 
Description:
This function will edit a surface by adding some new edges, possibly modifying the existing topology.
Input:
LOGICAL
retain_long
This value specifies the user preference referring to the ambiguity present in breaking a loop with a curve.
= .TRUE. - keep the longest part
= .FALSE. - keep the shortest part
STRING
curve_list[]
This value specifies the curves to be used to add edge(s).
STRING
surface[]
This value specifies a single surface to add an edge to.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
38000845
Unable to acquire %I% words of virtual memory.
38000696
Surface %A% is either a composite trimmed surface or a tessellated surface and, as such, is not supported by this application.
38000482
This application only works with one surface at a time. Subsequent selected surfaces will be ignored.
38000708
This geometric operation has failed for an undetermined reason.
38001232
The curves provided for the surface edges are not contiguous due to a gap of %G%. Either rebuild the curves to eliminate the gap or change the model tolerance to exceed the gap dimension.
Example:
 
sgm_edit_surface_edge_match
(edit_option, surface_list, entity_list, refresh_surfaces, edited_ids)
 
Description:
This function edits surface topology.
Input:
INTEGER
edit_option
This value specifies the type of edit to perform:
.=1; surface-point where one surface will be edited by one or more points on the edges of the surface.
=2; surface-surface where pairs of surfaces wil be edited by comparing closest edges.
STRING
surface_list[]
This value specifies the list of surfaces to be edited.
STRING
entity_list[]
This value specifies the list of either points or surfaces which will be used to edit the surfaces in the surface list.
LOGICAL
refresh
This value is set to TRUE if the surfaces are to be erased when they become congruent, otherwise FALSE.
Output:
STRING
edited_ids[]
This value returns the edited ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
1000025
Error attempting to allocate virtual memory.
1000054
An invalid geometric entity type was used as input. The valid entity type to use is "%A%".\nUnable to process request.
38000053
No valid geometric entities of type %A% were used as input. Unable to process request.
38001102
Unable to edit geometry. Illegal Edit Option.
38000451
Unable to calculate a point on the surface.
38001501
%A% may not be editable since %A%.
Example:
 
sgm_edit_surface_edge_rep
(edge, curve_list, surface, created_ids)
 
Description:
This function will edit a surface by replacing an existing edge with one or more new edges.
Input:
STRING
edge[]
This value specifies the edge to be replaced (only one edge will be processed)
STRING
curve_list[]
This value specifies the curves to be used as replacement edge(s).
STRING
surface[]
This value specifies a single surface to replace an edge from.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
38000845
Unable to acquire %I% words of virtual memory.
38000696
Surface %A% is either a composite trimmed surface or a tessellated surface and, as such, is not supported by this application.
38000482
This application only works with one surface at a time. Subsequent selected surfaces will be ignored.
38000673
No edges could be removed. Please check your input.
38000708
This geometric operation has failed for an undetermined reason.
38000700
Edit/edge/replace will only work on one edge at a time. You have selected %I% curves. Only the first curve will be processed.
38001232
The curves provided for the surface edges are not contiguous due to a gap of %G%. Either rebuild the curves to eliminate the gap or change the model tolerance to exceed the gap dimension.
38000702
The replacement curve(s) are not compatible with the selected edge to be replace, e.g. the selected edge is closed and the replacement curves are not. Please verify that your inputs are valid for this simple edge replacement.
Example:
sgm_edit_surface_extend
(surface_ids, method, surface, edge1, edge2, entity, edited_ids)
Description:
This function will extend a surface to the line of intersection of a point, curve, surface, plane, or extend two surfaces to their point of intersection. Trimmed Surfaces are not supported.
Input:
STRING
surface_ids[]
This value specifies the surface ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of surface IDs.
INTEGER
method
This value specifies the extend method, where
1 = extend to a surface and only the “surface to extend” is modified.
2 = extend two surfaces to their line of intersection.
3 = extend to a surface, break the intersecting surface at the line of intersection to create two new surfaces, and do not delete the original intersecting surface.
4 = extend to a surface, break the intersecting surface at the line of intersection to create two new surfaces, and delete the original intersecting surface.
5 = extend to a plane.
6 = extend to a curve.
7 = extend to a point.
STRING
surface[]
This value specifies the surface to extend.
STRING
edge1[]
This value specifies the edge of the surface to start the extension from.
STRING
edge2[]
This value specifies the edge of the second surface to start the extension from. (Used for method=2)
STRING
entity[]
This value specifies the entity to extend the surface to, where the entity will be a point, curve, surface, or plane.
Output:
STRING
created_ids[]
This value returns the edited ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of surfaces created or edited and their IDs.
All surfaces created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
38000687
No intersections found between %A% and %A%. Please try a different extend option.
38000688
More than one intersection found between %A% and %A%. Please try a different extend option.
38000689
Unable to extend %A% to %A%. Please try a different extend option.
2001070
Unable to acquire %I% words of virtual memory.
Example:
None.
 
sgm_edit_surface_extend_uvl
(uvmin_max, length, surface_list, edge_list, edited_ids)
 
Description:
This function extends a surface by:
1. Specifying a percentage of the original length to extend in the u-min, u-max, v-min, or v-max directions.
2. Specifying a fixed length to extend the surface starting at a specified surface edge.
Trimmed Surfaces are not supported.
Input:
REAL
uvmin_max[4]
This value specifies the percentage to extend in the u-min, u-max, v-min, v-max directions of the surface. Valid values are in the range of -99 to +100.
REAL
length
This value specifies the fixed length to extend the surface. (Used only when the edge_list is non-blank)
STRING
surface_list[]
This value specifies the surfaces to extend.
STRING
edge_list[]
This value specifies the surface edge to extend from. (Used only when specifying a fixed length)
Output:
STRING
edited_ids[]
This value returns the edited ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of surfaces edited and their IDs.
Surfaces will be extended based on the percentage of length input. All surfaces will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
38000690
An attempt to extend %A% beyond the closure limit of 360 degrees is not allowed.
38000691
The value entered is outside the allowed range: [-99 to +100]
2001070
Unable to acquire %I% words of virtual memory.
Example:
None.
 
sgm_edit_surface_refit
(curve_ids, refit_to_nurbs, refit_tolerance, delete_original, surface_list, created_ids)
Description:
This function refits a set of surfaces into a nurbs surface or a bicubic surface network.
Input:
STRING
curve_ids[]
This value specifies the curve ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of curve IDs.
LOGICAL
refit_to_nurbs
This value is set to TRUE if the surface is to be refit to nurbs surface, or to FALSE if the surface is to be refit to bicubic surface network.
REAL
refit_tolerance
This value specifies the refit tolerance.
LOGICAL
delete_original
This value is set to TRUE if the original surfaces are to be deleted. If this value is set to FALSE, the original entities will not be deleted.
STRING
surface_list[]
This value specifies the list of surfaces to refit.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays a message listing the number of surfaces created and their IDs.
A surface will be created for each surface in the input value surface_list. Each surface created will be displayed in the graphics window.
This function can display a warning popup message form with the following messages:
 
38000152
Selection not a surface -- ID=%I% Type=%I%.
38000153
Surface ID %I% refitted to %A%, but not loaded to database!
38000154
Surface labeled %I% is already a %A%.
This function can display a fatal popup message form with the following message:
 
38000151
At least one surface must be selected!
Example:
Please see sgm_edit_surface_refit (p. 695) in the PCL Reference Manual Examples.
 
sgm_edit_surface_remove_edge
(remove_option, min_el, curve_list, trimmed_surface, created_ids)
 
Description:
This function will edit a Trimmed Surface by removing an edge.
Input:
INTEGER
remove_option
This value specifies the removal option:
= 1 - User-supplied edges
= 2 - Remove edges whose length is < min_el.
REAL
min_el
This value specifies the minimum edge length to consider when removing edges.
STRING
curve_list[]
This value specifies the edge curves of the Trimmed Surface.
STRING
trimmed_surface[]
This value specifies a single trimmed surface to remove an edge from.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
38000845
Unable to acquire %I% words of virtual memory.
38000696
Surface %A% is either a composite trimmed surface or a tessellated surface and, as such, is not supported by this application.
38000482
This application only works with one surface at a time. Subsequent selected surfaces will be ignored.
38000673
No edges could be removed. Please check your input.
Example
 
sgm_edit_surface_remove_hole
(curve_list, trimmed_surface, edited_labels)
 
Description:
This function will remove a hole from a Trimmed Surface by providing an edge curve which represents a hole in a Trimmed Surface and a Trimmed Surface to remove the hole from.
Input:
STRING
curve_list[]
This value specifies a selection of edge-curves used to define the hole in the surface.
STRING
trimmed_surface[]
This value specifies a single Trimmed Surface used to define which Trimmed Surface to remove a hole from.
STRING
edited_labels[VIRTUAL]
This value returns a description of the edited
Trimmed Surface identifiers.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
 
Remarks:
Space is internally allocated for the string returned by the output value edited_labels. It is the responsibility of the calling function to free the allocated string storage space.
This function will update the Trimmed Surface identifiers that are stored in the database and displayed in a viewport.
Example:
None.
 
sgm_edit_surface_remove_hole_v1
(output_ids, curve_list, trimmed_surface, fill_hole, created_ids)
 
Description:
This function will remove a hole from a Trimmed Surface by providing an edge curve which represents a hole in a Trimmed Surface and a Trimmed Surface to remove the hole from.
Input:
STRING
output_ids[]
This value specifies the surface ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of surface IDs.
STRING
curve_list[]
This value specifies a selection of edge-curves used to define the hole in the surface.
STRING
trimmed_surface[]
This value specifies a single Trimmed Surface to remove a hole from.
LOGICAL
fill_hole
This value is set to TRUE if a surface is to be created to fill the hole, otherwise simply removes the hole.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
38000845
Unable to acquire %I% words of virtual memory.
38000659
No INNER loops or holes were selected from the trimmed surface selected. Try again.
Example:
 
sgm_edit_surface_remove_vertex
(vertex_list, delete_point, edited_labels)
 
Description:
This function will remove a vertex from a Trimmed Surface by providing a list of vertices to remove from the Trimmed Surface.
Input:
STRING
vertex_list[]
This value specifies a selection of vertices used to specify which vertices to remove from the associated Trimmed Surface(s).
LOGICAL
delete_point
This value specifies whether or not to delete points that are associated to the vertex to be removed which are not volatile to the Trimmed Surface.
STRING
edited_labels[VIRTUAL]
This value returns a description of the edited surface identifiers.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
 
Remarks:
Space is internally allocated for the string returned by the output value edited_labels. It is the responsibility of the calling function to free the allocated string storage space.
This function will update the Trimmed Surface identifiers that are stored in the database and displayed in a viewport.
Example:
None.
 
sgm_edit_surface_remove_vrtx_v1
(vertex_list, surface_list, delete_point, edited_labels)
 
Description:
This function will remove a vertex from a Trimmed Surface by providing a list of vertices to remove from the Trimmed Surface. If the surface list is blank, ALL surfaces that use the vertices to define topology will be edited, otherwise, only the specified surfaces will be edited.
Input:
STRING
vertex_list[]
This value specifies a selection of vertices used to specify which vertices to remove from the associated Trimmed Surface(s).
STRING
surface_list[]
This value specifies a selection of trimmed surfaces used to specify which trimmed surfaces to remove vertices from.
LOGICAL
delete_point
This value specifies whether or not to delete points that are associated to the vertex to be removed which are not volatile to the Trimmed Surface.
STRING
edited_labels[VIRTUAL]
This value returns a description of the edited surface identifiers.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
 
Remarks:
Space is internally allocated for the string returned by the output value edited_labels. It is the responsibility of the calling function to free the allocated string storage space.
This function will update the Trimmed Surface identifiers that are stored in the database and displayed in a viewport.
Example:
None.
 
sgm_edit_surface_remove_vrtx_v1
(vertex_list, surface_list, delete_point, edited_labels)
 
Description:
This function will remove a vertex from a Trimmed Surface by providing a list of vertices to remove from the Trimmed Surface. If the surface list is blank, ALL surfaces that use the vertices to define topology will be edited, otherwise, only the specified surfaces will be edited.
Input:
STRING
vertex_list[]
This value specifies a selection of vertices used to specify which vertices to remove from the associated Trimmed Surface(s).
STRING
surface_list[]
This value specifies a selection of trimmed surfaces used to specify which trimmed surfaces to remove vertices from.
LOGICAL
delete_point
This value specifies whether or not to delete points that are associated to the vertex to be removed which are not volatile to the Trimmed Surface.
STRING
edited_labels[VIRTUAL]
This value returns a description of the edited surface identifiers.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
 
Remarks:
Space is internally allocated for the string returned by the output value edited_labels. It is the responsibility of the calling function to free the allocated string storage space.
This function will update the Trimmed Surface identifiers that are stored in the database and displayed in a viewport.
Example:
None.
sgm_edit_surface_reverse
(reverse_mesh, surface_list, reversed_ids)
Description:
This function reverses the normal of a set of surfaces and optionally, its associated finite element model mesh.
Input:
LOGICAL
reverse_mesh
This value is set to TRUE if the associated finite element model mesh is to have its normals reversed with the surface. If this value is set to FALSE, the finite element model mesh normals will not be reversed.
STRING
surface_list[]
This value specifies the list of surfaces to reverse.
Output:
STRING
reversed_ids[]
This value returns the reversed ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
-1
This is an internal status condition. There is no corresponding status message in the message database.
Remarks:
This function displays the number of surfaces (IDs) reversed.
Each surface in the input value surface_list will be reversed. All surfaces reversed will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_edit_surface_reverse (p. 696) in the PCL Reference Manual Examples.
 
sgm_edit_surface_sew
(surface_list, sewed_ids)
 
Description:
This function will sew surfaces with share common edges to make them topologically congruent.
Input:
STRING
surface_list[]
This value specifies the surfaces to be sewn together.
Output:
STRING
sewed_ids[]
This value returns the sewed ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
38000845
Unable to acquire %I% words of virtual memory.
38001501
%A% may not be editable since %A%.
Example
 
sgm_edit_surface_sew2
(surface_list, merge_edges, premerge_vertices, sew_nonmanifold, delete_gap_surfaces, sewed_ids)
 
Description:
This function will sew surfaces with share common edges to make them topologically congruent.
Input:
STRING
surface_list[]
This value specifies the surfaces to be sewn together.
LOGICAL
merge_edges
If this value is TRUE, it will to force gap merging, else FALSE to just break T’s.
LOGICAL
premerge_vertices
If this value is TRUE, it will equivalence vertices prior to closing gaps.
LOGICAL
sew_nonmanifold
If this value is TRUE, it will perform non-manifold sewing, else FALSE for only manifold sewing.
LOGICAL
delete_gap_surfaces
If this value is TRUE, it will delete gap surfaces.
Output:
STRING
sewed_ids[]
This value returns the sewed ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
38000845
Unable to acquire %I% words of virtual memory.
38001501
%A% may not be editable since %A%.
Example
  
sgm_edit_surface_subtract
(output_ids, surface_b, surface_a, created_ids)
 
Description:
This function will edit a surface by subtracting surface “a” from surface “b” (b-a).
Input:
STRING
output_ids[]
This value specifies the surface ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of surface IDs.
STRING
surface_b[]
This value specifies the surface to be subtract from.
STRING
surface_a[]
This value specifies the surface to subtract from surface “b”.
Output:
STRING
created_ids[]
This value returns the created ID list.
INTEGER
<Return Value>
This function returns a value of 0 when executed successfully and a non zero value to indicate a change in status or an error.
Error Conditions:
38000845
Unable to acquire %I% words of virtual memory.
38001232
Edit/surface/subtract has failed. It may be that topology encountered is beyond the scope of the current implementation. Please try an alternate strategy to achieve the desired result.
Example