PCL Reference Manual > Geometry Functions > Construct Actions
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX''">   
Construct Actions
This section is used to describe some of the functions used to implement the “Construct” or “Create” actions.
asm_const_coord_3point
(output_labels, coord_frame, coordtype, point1, point2, point3, created_labels)
 
Description:
This function creates a coordinate system from three specified points.
Input:
STRING
output_labels[]
This value specifies the labels of the coordinate frame to be created.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
INTEGER
coordtype
This value specifies the type of coordinate frame: 1 = rectangular, 2 = cylindrical, and 3 = spherical.
STRING
point1[]
This value specifies the origin of the new coordinate frame.
STRING
point2[]
This value specifies a point on the Z axis of the new coordinate frame.
STRING
point3[]
This value specifies a point on the X-Z plane of the new coordinate frame.
Output:
 
 
STRING
created_labels[VIRTUAL]
This value returns the labels of the created coordinate frame.
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.
1000064
Overwrite of existing entity not permitted.
1000211
The length of the Axis equals zero.
1000216
Unable to properly process the output labels.
1000302
The three points specified are nearly collinear.
Remarks:
This function displays the number of coordinate frames created and their labels.
A coordinate frame will be created for each set of points. Each coordinate frame will be displayed in the graphics window.
Example:
Please see asm_const_coord_3point (p. 381) in the PCL Reference Manual Examples.
   
asm_const_coord_axis
(output_labels, plane, coord_frame, coordtype, point1, point2, point3, created_labels)
 
Description:
This function creates coordinate systems from points on the reference coordinate frame.
Input:
STRING
output_labels[]
This value specifies the labels of the coordinate frames to be created.
STRING
plane[2]
This value specifies which principle plane is defined by Axis 1 and Axis 2:
“XY”: Axis 1 = X-axis and Axis 2 = Y-axis;
“YZ”: Axis 1 = Y-axis and Axis 2 = Z-axis;
“XZ”: Axis 1 = X-axis and Axis 2 = Z-axis.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
INTEGER
coordtype
This value specifies the type of coordinate frame: 1 = rectangular, 2 = cylindrical, and 3 = spherical.
STRING
point1[]
This value specifies a point on axis one.
STRING
point2[]
This value specifies a point on axis two.
STRING
point3[]
This value specifies a point on axis three.
Output:
STRING
created_labels[VIRTUAL]
This value returns the labels of the coordinate frame created.
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.
1000064
Overwrite of existing entity not permitted.
1000211
The length of the Axis equals zero.
1000216
Unable to properly process the output labels.
1000302
The three points specified are nearly collinear.
Remarks:
This function displays the number of coordinate frames created and their labels.
A coordinate frame will be created for each set of points. Each coordinate frame will be displayed in the graphics window.
Example:
Please see asm_const_coord_axis (p. 382) in the PCL Reference Manual Examples.
  
asm_const_coord_euler
(output_labels, axis1, axis2, axis3, angle1, angle2, angle3, coord_frame, coordtype, point1, created_labels)
 
Description:
This function creates a coordinate system from an origin and three eular angles.
Input:
STRING
output_labels[]
This value specifies the labels of the coordinate frame to be created.
INTEGER
axis1
This value specifies the principal axis for the first rotation.
INTEGER
axis2
This value specifies the principal axis for the second rotation.
INTEGER
axis3
This value specifies the principal axis for the third rotation.
REAL
angle1
This value specifies the angle of the first rotation.
REAL
angle2
This value specifies the angle of the second rotation.
REAL
angle3
This value specifies the angle of the third rotation.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
INTEGER
coordtype
This value specifies the type of coordinate frame: 1 = rectangular, 2 = cylindrical, and 3 = spherical.
STRING
point1[]
This value specifies the origin of the new coordinate frame.
Output:
STRING
created_labels[VIRTUAL]
This value returns the labels of the coordinate frame created.
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:
1000001
Point %I% does not exist. Unable to continue.
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%. Unable to process request.
1000064
Overwrite of existing entity not permitted.
1000216
Unable to properly process the output labels.
1000232
The entity label value of %I% is invalid. Database assigning next highest available label.
Remarks:
This function displays the number of coordinate frames created and their labels.
A coordinate frame will be created for each origin point. Each coordinate frame will be displayed in the graphics window.
Example:
Please see asm_const_coord_euler (p. 383) in the PCL Reference Manual Examples.
  
asm_const_coord_normal
(output_labels, surface, coordtype, point, created_labels)
 
Description:
This function creates a rectangular coordinate system normal to a surface at a specified point.
Input:
STRING
output_labels[]
This value specifies the labels of the coordinate frame to be created.
STRING
surface[]
This value specifies the reference surface.
INTEGER
coordtype
This value specifies the type of coordinate frame: 1 = rectangular, 2 = cylindrical, and 3 = spherical.
STRING
point[]
This value specifies a point or set of points that lie on, or close to, the surface.
Output:
STRING
created_labels[VIRTUAL]
This value returns the labels of the coordinate frame created.
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:
1000001
Point %I% does not exist. Unable to continue.
1000005
Patch %I% does not exist. Unable to continue.
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%. Unable to process request.
1000064
Overwrite of existing entity not permitted.
1000211
The length of the Axis equals zero.
1000216
Unable to properly process the output labels.
1000232
The entity label value of %I% is invalid. Database assigning next highest available label.
1000302
The three points specified are nearly collinear.
1000712
Unable to compute the tangent and normal vectors due to a non-removable degeneracy or a singularity.
Remarks:
This function displays the number of coordinate frames created and their labels.
A coordinate frame will be created for each point on or close to the surface. Each coordinate frame will be displayed in the graphics window.
Example:
Please see asm_const_coord_normal (p. 384) in the PCL Reference Manual Examples.
  
asm_const_coord_normal_v1
(output_labels, surface, coordtype, point, xaxis, created_labels)
 
Description:
This function creates a rectangular coordinate system normal to a surface at a specified point. The x-axis may coincide with the u or v parametric direction of the surface.
Input:
STRING
output_labels[]
This value specifies the labels of the coordinate frame to be created.
STRING
surface[]
This value specifies the reference surface.
INTEGER
coordtype
This value specifies the type of coordinate frame: 1 = rectangular, 2 = cylindrical, and 3 = spherical.
STRING
point[]
This value specifies a point or set of points that lie on, or close to, the surface.
LOGICAL
xaxis
This value specifies whether the x-axis coincides with the u-direction of the surface.
( =True if yes, =False if coincides with v-direction).
Output:
STRING
created_labels[VIRTUAL]
This value returns the labels of the coordinate frame created.
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:
1000001
Point %I% does not exist. Unable to continue.
1000005
Patch %I% does not exist. Unable to continue.
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%. Unable to process request.
1000064
Overwrite of existing entity not permitted.
1000211
The length of the Axis equals zero.
1000216
Unable to properly process the output labels.
1000232
The entity label value of %I% is invalid. Database assigning next highest available label.
1000302
The three points specified are nearly collinear.
1000712
Unable to compute the tangent and normal vectors due to a non-removable degeneracy or a singularity.
Remarks:
This function displays the number of coordinate frames created and their labels.
A coordinate frame will be created for each point on or close to the surface. Each coordinate frame will be displayed in the graphics window.
Example:
None.
 
asm_const_curve_2d_arc2point
(output_ids, num_curves, arc_angle, plane_list, center_point_list, start_point_list, end_point_list, created_ids)
 
Description:
This function contructs circular arcs in a two-dimensional space, defined by a set of construction planes, center point, a starting point, and an ending point.
Input:
STRING
output_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
num_curves
This value specifies the number of curves per arc to create.
INTEGER
arc_angle
This value specifies the arc angle to use: 1 = minimum arc angle, and 2 = maximum arc angle.
STRING
plane_list[]
This value specifies the list of planes in which to construct the arcs.
STRING
center_point_list[]
This value specifies the list of points defining the center point of the circular arc.
STRING
start_point_list[]
This value specifies the list of points defining the starting point of the circular arc.
STRING
end_point_list[]
This value specifies the list of points defining the ending point of the circular arc.
Output:
STRING
created_ids[VIRTUAL]
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 defined by the input value num_curves will be created for each point input set. Each curve created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000578
The number of Curves per Arc must be greater than or equal to one. The invalid value input was %I%.
38000413
Zero length plane normal vector.
38000424
The center point and start point define a zero radius.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_curve_2d_arc2point (p. 385) in the PCL Reference Manual Examples.
 
asm_const_curve_2d_arc3point
(output_ids, num_curves, create_center, plane_list, start_list, mid_list, end_list, created_ids)
 
Description:
This function creates an arc-shaped or parametric cubic curve in two dimensional space, defined by a start point, midpoint, and an end point.
Input:
STRING
output_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
num_curves
This value specifies the number of curves per arc to create.
LOGICAL
create_center
This value is set to TRUE if a point is to be created at the center of the arc.
STRING
plane_list[]
This value specifies the construction plane of the arc.
STRING
start_list[]
This value specifies the start point of the arc.
STRING
mid_list[]
This value specifies the midpoint of the arc.
STRING
end_list[]
This value specifies the end point of the arc.
Output:
STRING
created_ids[VIRTUAL]
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 defined by the input value num_curves will be created for each set of three points. Each curve will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
1000578
The number of Curves per Arc must be greater than or equal to one. The invalid value input was %I%.
38000413
Zero length plane normal vector.
38000423
The three points specified are nearly collinear.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_curve_2d_arc3point (p. 386) in the PCL Reference Manual Examples.
 
asm_const_curve_2d_circle
(output_ids, num_curves, radius_method, radius, plane_list, radius_point_list, center_point_list, created_ids)
 
Description:
This function creates a circular-shaped or parametric cubic curve in two-dimensional space, defined by a center point and a radius.
Input:
STRING
output_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
num_curves
This value specifies the number of curves per circle to create.
INTEGER
radius_method
This value specifies the method used to define a radius: 1 = scalar radius value, and 2 = point location.
REAL
radius
This value specifies the radius of the circle if the input value radius_method is set to 1.
STRING
plane_list[]
This value specifies the list of planes in which to construct the arcs.
STRING
radius_point_list[]
This value specifies the list of points defining the radius of the circle if the input value radius_method is set to 2.
STRING
center_point_list[]
This value specifies the list of points defining the center point of the circle.
Output:
STRING
created_ids[VIRTUAL]
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 defined by the input value num_curves will be created for each center point and radius input set. Each curve created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
1000579
The number of Curves per Circle must be greater than or equal to two.
The invalid value input was %I%.
38000413
Zero length plane normal vector.
38000425
The Circle radius must be greater than zero. Invalid value input was %G%.
38000426
The center point and start point define a zero radius.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_curve_2d_circle (p. 387) in the PCL Reference Manual Examples.
 
asm_const_curve_2d_circle_v2
(output_ids, num_curves, radius_method, radius, plane_list, radius_point_list, center_point_list, project_points, created_ids)
 
Description:
This function creates n circular-shaped or parametric cubic curves in two-dimensional space, defined by a center point and a radius.
Input:
STRING
output_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
num_curves
This value specifies the number of curves per circle to create.
INTEGER
radius_method
This value specifies the method used to define a radius: 1 = scalar radius value, and 2 = point location.
REAL
radius
This value specifies the radius of the circle if the input value radius_method is set to 1.
STRING
plane_list[]
This value specifies the list of planes in which to construct the arcs.
STRING
radius_point_list[]
This value specifies the list of points defining the radius of the circle if the input value radius_method is set to 2.
STRING
center_point_list[]
This value specifies the list of points defining the center point of the circle.
LOGICAL
project_points
This value specifies, when set to TRUE, that the center points be projected onto the plane. When this value is set to FALSE, the construction plane will be translated to the center point location and will still be parallel to the original plane.
Output:
STRING
created_ids[VIRTUAL]
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 defined by the input value num_curves will be created for each center point and radius input set. Each curve created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
1000579
The number of Curves per Circle must be greater than or equal to two. The invalid value input was %I%.
38000413
Zero length plane normal vector.
38000425
The Circle radius must be greater than zero. Invalid value input was %G%.
38000426
The center point and start point define a zero radius.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_curve_2d_circle (p. 387) in the PCL Reference Manual Examples.
 
asm_const_curve_arc3point
(output_ids, num_curves, create_center, start_list, mid_list, end_list, created_ids)
 
Description:
This function creates an arc-shaped or parametric cubic curve defined by a start point, midpoint, and an end point.
Input:
STRING
output_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
num_curves
This value specifies the number of curves per arc to create.
LOGICAL
create_center
This value is set to TRUE if a point is to be created at the center of the arc.
STRING
start_list[]
This value specifies the start point of the curve.
STRING
mid_list[]
This value specifies the midpoint of the curve.
STRING
end_list[]
This value specifies the end point of the curve.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve will be created for each set of three points. Each curve 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.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000302
The three points specified are nearly collinear.
1000501
An attempt to create an Arc through %G% degrees will not be honored (Max=180). Increase the number of lines.
1000578
The number of Curves per Arc must be greater than or equal to one. The invalid value input was %I%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_curve_arc3point (p. 388) in the PCL Reference Manual Examples.
 
asm_const_curve_bspline
(output_ids, num_curves, point_list, order, interpolate, param_method, closed, created_ids)
 
Description:
This function creates a piecewise cubic curve from a set of points.
Input:
STRING
output_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
num_curves
This value specifies the number of curves to create.
STRING
point_list[]
This value specifies the point list.
INTEGER
order
This value specifies the order of the B-spline.
LOGICAL
interpolate
This value is set to TRUE if the curve is to be interpolated, and FALSE if the curve is to be approximated.
INTEGER
param_method
This value specifies the parameterization method: 1 = chordal arc length, 2 = modified chordal arc length, and 3 = uniform.
LOGICAL
closed
This value is set to TRUE if the curve is to be close.
Output:
STRING
created_ids[VIRTUAL]
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 defined by the input value num_curves will be created for each point list. Each curve will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
38000472
The number of points selected must be greater or equal to the order of the B-spline curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_curve_bspline (p. 389) in the PCL Reference Manual Examples.
 
asm_const_curve_extract
(output_ids, surface_list, direction, param_pos, created_ids)
 
Description:
This function creates a parametric cubic curve on a surface by extracting a curve from a given surface at a specified position and in a specified parametric direction.
Input:
STRING
output_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
surface_list[]
This value specifies the surface list.
INTEGER
direction
This value specifies the parametric direction to create the curve in: 1 = constant U direction, and 2 = constant V direction.
REAL
param_pos
This value specifies the parametric position in the given direction from which to extract the curve.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve on a surface will be created for each surface and direction/param_pos set. Each 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:
38000433
A Zero length curve would have been created had the process continued. Modify application input and try again.
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.
1000518
Specified Parametric Direction value of %I% is invalid. Valid values are 1 and 2.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_curve_extract (p. 390) in the PCL Reference Manual Examples.
 
asm_const_curve_extract_edge
(output_ids, edge_list, created_ids)
 
Description:
This function creates a parametric cubic curve on a surface by extracting a curve from a given edge of a surface or solid.
Input:
STRING
output_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
edge_list[]
This value specifies the edge list.
Output:
STRING
created_ids[VIRTUAL]
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 the IDs.
One curve will be created for each edge. Each 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:
1000054
An invalid geometric entity type was used as input. The valid entity type to use is %A%. Unable to process request.
This function can display a fatal popup message form with the following messages:
 
1000003
Line %I% does not exist. Unable to continue.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_curve_extract_edge (p. 391) in the PCL Reference Manual Examples.
 
asm_const_curve_intersect
(output_ids, method, surface1_list, surface2_list, num_curves, fit_tolerance, int_tolerance, created_ids)
Description:
This function creates a parametric cubic curve from the intersection of two surfaces or a plane and a surface.
Input:
STRING
output_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
method
This value specifies the intersection method: 1 = surface/surface intersection, and 2 = plane/surface intersection.
STRING
surface1_list[]
This value specifies the first surface list if the input value method is set to 1, and the plane list if the input value method is set to 2.
STRING
surface2_list[]
This value specifies the second surface list.
INTEGER
num_curves
This value specifies the number of curves per intersection to create.
REAL
fit_tolerance
This value specifies a tolerance parameter to be used as a curve fit tolerance.
REAL
int_tolerance
This value specifies a tolerance parameter for determining the density of intersection points generated.
Output:
STRING
created_ids[VIRTUAL]
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 defined by the input value num_curves will be created for each intersection. Each curve 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.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000535
No intersections found between surface(s) %A% and surface(s) %A%.
38000413
Zero length plane normal vector.
38000414
Invalid curve intersection method. Must be 1 or 2. Try again.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_curve_intersect (p. 392) in the PCL Reference Manual Examples.
 
asm_const_curve_intersect_plane
(output_ids, length, plane1_list, plane2_list, created_ids)
 
Description:
This function constructs finite length cubic lines from the intersection of two planes.
Input:
STRING
output_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
length
This value specifies the length of the created lines.
STRING
plane_list[]
This value specifies the list of planes to be compared for intersection with the planes given in the input value plane2_list.
STRING
plane2_list[]
This value specifies the list of planes to be compared for intersection with the planes provided by the input value plane1_list.
Output:
STRING
created_ids[VIRTUAL]
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.
One cubic line per intersection will be created for each plane input set. Each cubic line 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:
1000535
No intersections found between plane(s) %A% and plane(s) %A%.
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:
None.
 
asm_const_curve_intersect_2pln
(output_ids, length, plane1_list, plane2_list, plane3_list, created_ids)
 
Description:
This function constructs finite length cubic lines from the intersection of two planes with an option to define the starting point of the line at a specified point where the three input planes intersect.
Input:
STRING
output_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
length
This values specifies the length of the line.
STRING
plane1_list[]
This value specifies the list of planes to be compared for intersection with the planes given in the input value plane2_list.
STRING
plane2_list[]
This value specifies the list of planes to be compared for intersection with the planes provided by the input value plane1_list.
STRING
plane3_list[]
This value specifies the list of planes to be compared for intersection with the planes provided by the input value plane1_list and plane2_list. This creates the intersection point for the start point of the line.
Output:
STRING
created_ids[VIRTUAL]
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.
One cubic line per intersection will be created for each plane input set. Each cubic line 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:
 
1000535
No intersections found between plane(s) %A% and plane(s) %A%.
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:
None.
  
asm_const_curve_involute
(output_ids, axis, option, scalar1, scalar2, num_curves, coord_frame, point, created_ids)
 
Description:
This function creates a parametric cubic curve defined as the unwinding of an imaginary string from a circular bobbin.
Input:
STRING
output_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
axis[]
This value specifies the axis of the involute curve.
INTEGER
option
This value specifies the option to use in creating the involute. If option = 1 the radii method is used, otherwise the angle method is used.
REAL
scalar1
This value specifies a scalar value depending on the value of option. If the angle method is used, this is the angle to unwind the curve. If the radii method is used, this is the base radius of the bobbin.
REAL
scalar2
This value specifies a scalar value depending on the value of option. If the angle method is used, this is the starting angle of the curve. If the radii method is used, this is the stop radius of the curve.
INTEGER
num_curves
This value specifies the number of curves to create for each point.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
STRING
point[]
This value specifies the list of points to be swept.
Output:
STRING
created_ids[VIRTUAL]
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.
1000054
An invalid geometric entity type was used as input. The valid entity type to use is %A%. Unable to process request.
1000211
The length of the Axis equals zero.
1000226
The angle which the involute traverses must be positive.
1000227
The starting angle of the involute must be positive.
1000228
The radius of the base circle must be positive.
1000229
The stop radius of the involute must be larger than the base radius.
1000230
The point is inside the base circle.
1000231
The point is outside the stop radius of the involute.
Remarks:
This function displays a message listing the number of curves created and their IDs.
The number of curves defined by the input value num_curves will be created for each point. Each curve will be displayed in the graphics window.
Example:
Please see asm_const_curve_involute (p. 394) in the PCL Reference Manual Examples.
 
asm_const_curve_loft
(output_ids, num_curves, slope_control, point_list, slope_list1, slope_list2, created_ids)
 
Description:
This function create a piecewise cubic curve from a set of points with optional endpoint slope control.
Input:
STRING
output_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
num_curves
This value specifies the number of curves to create.
LOGICAL
slope_control
This value is set to TRUE if the endpoint slope control is to be enforced.
STRING
point_list[]
This value specifies the point list.
STRING
slope_list1[]
This value specifies the vectors defining the initial slope.
STRING
slope_list2[]
This value specifies the vectors defining the final slope.
Output:
STRING
created_ids[VIRTUAL]
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 defined by the input value num_curves will be created for each point list. Each curve will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
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.
38000472
The number of points selected must be greater or equal to the order of the B-spline curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_curve_loft (p. 395) in the PCL Reference Manual Examples.
 
asm_const_curve_manifold_2point
(output_ids, surface_list, point1_list, point2_list, num_curves, fit_tolerance, created_ids)
 
Description:
This function creates a parametric cubic curve on a surface between two points.
Input:
STRING
output_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
surface_list[]
This value specifies the list of surfaces to manifold the curve onto.
STRING
point1_list[]
This value specifies the list of points defining the start point of the curve on a surface.
STRING
point2_list[]
This value specifies the list of points defining the end point of the curve on a surface.
INTEGER
num_curves
This value specifies the number of curves per manifold to create. If this value is set to 0, then the number of curves created will be based on the projection tolerance.
REAL
fit_tolerance
This value specifies a tolerance parameter which will be used here as a curve fit tolerance. The manifold will be approximated by a tolerance-based cubic spline.
Output:
STRING
created_ids[VIRTUAL]
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 defined by the input value num_curves will be created for each surface, point input set. 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.
1000064
Overwrite of existing entity not permitted.
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.
38000489
Unable to create a curve manifolded to the surface between the two input points.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_curve_manifold_2point (p. 396) in the PCL Reference Manual Examples.
 
asm_const_curve_manifold_npoint
(output_ids, surface, point_list, num_curves, fit_tolerance, created_ids)
 
Description:
This function creates a spline or parametric cubic curve through a specified number of points manifolded onto a surface.
Input:
STRING
output_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
surface[]
This value specifies the surface to manifold the curve onto.
STRING
point_list[]
This value specifies the list of points through which the spline curve will be fitted.
INTEGER
num_curves
This value specifies the number of curves per manifold to create. If this value is set to 0, then the number of curves created will be based on the projection tolerance.
REAL
fit_tolerance
This value specifies a tolerance parameter which will be used here as a curve fit tolerance. The manifold will be approximated by a tolerance-based cubic spline.
Output:
STRING
created_ids[VIRTUAL]
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 defined by the input value num_curves will be created for each surface, point input set. 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.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000301
There must be at least two points as input. The invalid value input was %A%.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000489
Unable to create a curve manifolded to the surface between the two input points.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_curve_manifold_npoint (p. 397) in the PCL Reference Manual Examples.
  
asm_const_curve_project
(output_ids, curve_list, surface_list, delete_original, method, vector, coord_frame, num_curves, projection_tolerance, created_ids)
 
Description:
This function creates a parametric cubic curve from the projection of curves onto surfaces.
Input:
STRING
output_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 curve list to project.
STRING
surface_list[]
This value specifies the surface list to project onto.
LOGICAL
delete_original
This value is set to TRUE if the original curves to project are to be deleted after the projection. If this value is set to FALSE, the original entities will not be deleted.
INTEGER
method
This value specifies the projection method: 1 = the curve to be projected lies in a plane and it is desired to project the curve normal to this plane, 2 = the direction of projection is normal to the surface at the point of closest approach, 3 = the direction of projection is given by a vector, and 4 = the direction of projection is the view vector.
STRING
vector[]
This value specifies the projection vector.
STRING
coord_frame[]
This value specifies the coordinate frame ID for the projection vector.
INTEGER
num_curves
This value specifies the number of curves per projection to create. If this value is set to 0, then the number of curves created will be based on the projection tolerance.
REAL
projection_tolerance
This value specifies a tolerance parameter determining the density of intersection points generated.
Output:
STRING
created_ids[VIRTUAL]
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 defined by the input value num_curves will be created for each projection. Each curve will be displayed in the graphics window.
This function can display an information popup message form with the following message:
 
38000412
Negating the View Vector coordinates and trying again...
This function can display a warning popup message form with the following message:
 
38000415
Skipping zero length Curve %I%.
This function can display a fatal popup message form with the following messages:
 
1000540
The projection vector has zero length.
38000488
Unable to manifold the curve(s) to the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_curve_project (p. 399) in the PCL Reference Manual Examples.
 
asm_const_curve_revolve
(output_ids, axis, angle, offset, coord_frame, point, created_ids)
 
Description:
This function creates an arc shaped parametric cubic curve by revolving about a point.
Input:
STRING
output_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
axis[]
This value specifies the axis of rotation.
REAL
angle
This value specifies the total angle to revolve each point.
REAL
offset
This value specifies the initial offset angle.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
STRING
point[]
This value specifies the list of points to be revolved.
Output:
 
 
STRING
created_ids[VIRTUAL]
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.
1000054
An invalid geometric entity type was used as input. The valid entity type to use is %A%. Unable to process request.
1000064
Overwrite of existing entity not permitted.
1000210
Angle of rotation for a parametric entity is greater than 180 degrees.
1000211
The length of the Axis equals zero.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
Remarks:
This function displays a message listing the number of curves created and their IDs.
More than one curve may be created for each point. Each curve will be displayed in the graphics window.
Example:
Please see asm_const_curve_revolve (p. 400) in the PCL Reference Manual Examples.
 
asm_const_grid_arccenter
(output_ids, curve_list, created_ids)
 
Description:
This function creates a point at the center of curvature of a curve.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point IDs.
STRING
curve_list[]
This value specifies the curve which the center of curvature will be calculated from to create the point.
Output:
STRING
created_ids[VIRTUAL]
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 planes created and their IDs.
One point will be created for each curve. Each point will be displayed in the graphics window as it is created.
This function can display a warning popup message form with the following messages:
 
1000201
%A% is not a recognized syntax for a Curve List.
1000581
The selected curve %I% has no center of curvature. A point was not created.
This function can display a fatal popup message form with the following message:
 
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_grid_arccenter (p. 401) in the PCL Reference Manual Examples.
 
asm_const_grid_extract
(output_ids, curve_list, param_pos, created_ids)
 
Description:
This function constructs points by extracting a point from a curve at a specified parametric position.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point IDs.
STRING
curve_list[]
This value specifies the list of curves from which to extract points.
REAL
param_pos
This value specifies the parametric position along a curve from which to extract a point.
Output:
STRING
created_ids[VIRTUAL]
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 points created and their IDs.
One point will be created for each parametric position specified along each curve. All points 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 asm_const_grid_extract (p. 402) in the PCL Reference Manual Examples.
 
asm_const_grid_extract_v1
(output_ids, curve_list, parametric_pos, param_method, created_ids)
 
Description:
This function constructs points by extracting a point from a curve at a specified parametric position and specifying a parameterization method for the input curve.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point IDs.
STRING
curve_list[]
This value specifies the list of curves from which to extract points.
REAL
parametric_pos
This value specifies the parametric position along a curve from which to extract a point.
INTEGER
param_method
This value specifies the parameterization method for input curve: 1 = equal relative arc length, and 2 = equal relative parametric values.
Output:
STRING
created_ids[VIRTUAL]
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 points created and their IDs.
One point will be created for each parametric position specified along each curve. All points created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000507
Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2.
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 asm_const_grid_extract_v1 (p. 403) in the PCL Reference Manual Examples.
 
asm_const_grid_extract_surface
(output_ids, uloc, vloc, surface_list, created_ids)
 
Description:
This function constructs points by extracting a point from a surface at a specified u,v parametric location.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point IDs.
REAL
uloc
This value specifies the u-parametric position from which to extract a point.
REAL
vloc
This value specifies v-parametric position from which to extract a point.
STRING
surface_list[]
This value specifies the list of surfaces from which to extract points.
Output:
STRING
created_ids[VIRTUAL]
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 points created and their IDs.
One point will be created for each parametric position set specified per surface. All points 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:
None.
 
asm_const_grid_extract_surf_par
(output_ids, npu, npv, uvmin_max, surface_list, created_ids)
 
Description:
This function constructs points by extracting n points from a surface within a u,v min/max grid.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point IDs.
INTEGER
npu
This value specifies the number of points to create in the u-direction.
INTEGER
npv
This value specifies the number of points to create in the v-direction.
REAL
uvmin_max(4)
This value specifies the uv min/max parametric values which define the bounds in which to extract the points, where:
uvmin_max(1) = minimum u-value.
uvmin_max(2) = maximum u-value.
uvmin_max(3) = minimum v-value.
uvmin_max(4) = maximum v-value.
STRING
surface_list[]
This value specifies the surface list to extract from.
Output:
STRING
created_ids[VIRTUAL]
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 points created and their IDs.
Points will be created for each entity list. All points created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
1000313
The number of points to extract must be greater than one in both directions.
1000312
The MIN/MAX values are improper. They must lie in the unit interval.
2001070
Unable to acquire %I% words of virtual memory.
Example:
None.
  
asm_const_grid_extract_surf_pts
(output_ids, npu, npv, point1_list, point2_list, surface_list, created_ids)
 
Description:
This function constructs points by extracting n points from a surface within a grid defined by a diagonal of two points.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point IDs.
INTEGER
npu
This value specifies the number of points to create in the u-direction.
INTEGER
npv
This value specifies the numbe of points to create in the v-direction.
STRING
point1_list[]
This value specifies the first point used to define the diagonal for the bounds of the grid of points.
STRING
point2_list[]
This value specifies the second point used to define the diagonal for the bounds of the grid of points.
STRING
surface_list[]
This value specifies the surface list to extract from.
Output:
STRING
created_ids[VIRTUAL]
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 points created and their IDs.
Points will be created for each entity list. All points created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
1000313
The number of points to extract must be greater than one in both directions.
2001070
Unable to acquire %I% words of virtual memory.
Example:
None.
  
asm_const_grid_interp_curve
(output_ids, curve_list, space_ratio, num_points, created_ids)
 
Description:
This function constructs points by interpolating along a curve.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point IDs.
STRING
curve_list[]
This value specifies the curve list to interpolate.
REAL
space_ratio
This value specifies the point spacing ratio which is the distance defined by the input value num_points to the end point, divided by the distance defined by the start point to the second point.
INTEGER
num_points
This value specifies the number of interior points to create.
Output:
STRING
created_ids[VIRTUAL]
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 points created and their IDs.
Points will be created for each entity list. All points created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
1000300
There must be at least one point as input. The invalid value input was %I%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_grid_interp_curve (p. 404) in the PCL Reference Manual Examples.
 
asm_const_grid_interp_curve_v1
(output_ids, curve_list, space_ratio, num_points, param_method, created_ids)
 
Description:
This function constructs points by interpolating along a curve and specifying a parameterization method for the input curve.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point IDs.
STRING
curve_list[]
This value specifies the curve list to interpolate.
REAL
space_ratio
This value specifies the point spacing ratio which is the distance defined by the input value num_points to the end point, divided by the distance defined by the start point to the second point.
INTEGER
num_points
This value specifies the number of interior points to create.
INTEGER
param_method
This value specifies the parameterization method for the input curve: 1 = equal relative arc length, and 2 = equal relative parametric values.
Output:
STRING
created_ids[VIRTUAL]
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 points created and their IDs.
Points will be created for each entity list. All points created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000300
There must be at least one point as input. The invalid value input was %I%.
1000507
Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_grid_interp_curve_v1 (p. 406) in the PCL Reference Manual Examples.
 
asm_const_grid_interp_point
(output_ids, point1_list, point2_list, space_ratio, num_points, created_ids)
 
Description:
This function constructs points by interpolating between two existing points.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point IDs.
STRING
point1_list[]
This value specifies the first point list to interpolate.
STRING
point2_list[]
This value specifies the second point list to interpolate.
REAL
space_ratio
This value specifies the point spacing ratio which is the distance defined by input value num_points to the end point, divided by the distance defined by the start point to the second point.
INTEGER
num_points
This value specifies the number of interior points to create.
Output:
STRING
created_ids[VIRTUAL]
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 points created and their IDs.
Points will be created for each point set list. All points created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
1000300
There must be at least one point as input. The invalid value input was %I%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_grid_interp_point (p. 407) in the PCL Reference Manual Examples
 
asm_const_grid_interp_point_man
(output_ids, point1_list, point2_list, surface_list, space_ratio, num_points, created_ids)
 
Description:
This function creates points by interpolating between two existing points with the results manifolded to a surface.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point IDs.
STRING
point1_list[]
This value specifies the first point list.
STRING
point2_list[]
This value specifies the second point list.
STRING
surface_list[]
This value specifies the surface list to manifold the points to.
REAL
space_ratio
This value specifies the point spacing ratio which is the distance defined by input value num_points to the end point, divided by the distance defined by the start point to the second point.
REAL
num_points
This value specifies the number of interior points to create.
Output:
STRING
created_ids[VIRTUAL]
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 points created and their IDs. One point will be created for each set of points and manifold surface. Each point will be displayed in the graphics window.
This function can display a warning popup message form with the following message:
1000300
There must be at least one point as input. The invalid value input was %I%.
This function can display a fatal popup message form with the following message:
2001070
Unable to acquire %I% words of virtual memory.
Example:
None
 
asm_const_grid_intersect
(output_ids, curve1_list, curve2_list, created_ids)
 
Description:
This function creates a point from the intersection of two curves.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point IDs.
STRING
curve1_list[]
This value specifies the first curve list.
STRING
curve2_list[]
This value specifies the second curve list.
Output:
STRING
created_ids[VIRTUAL]
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 points created and their IDs.
One point will be created for each set of curves. Each point will be displayed in the graphics window.
This function can display a warning popup message form with the following message:
1000580
The two input curves do not intersect within tolerance of %G%. The minimum distance is %G%. A point of closest approach on each input curve was provided.
This function can display a fatal popup message form with the following message:
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_grid_intersect (p. 408) in the PCL Reference Manual Examples.
 
asm_const_grid_intersect_plo_cv
(output_ids, curve_list, plane_list, offset, created_ids)
 
Description:
This function creates a point from the intersection of a curve and a plane with an optional plane offset distance.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point IDs.
STRING
curve_list[]
This value specifies the curve list.
STRING
plane_list[]
This value specifies the plane list.
REAL
offset
This value specifies the plane offset distance.
Output:
STRING
created_ids[VIRTUAL]
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 points created and their IDs.
One point will be created for each set of curve and plane that intersect. Each point will be displayed in the graphics window.
This function can display a warning popup message form with the following message:
1000311
No intersections found between %A% and %A%.
This function can display a fatal popup message form with the following message:
 
38000845
Unable to acquire %I% words of virtual memory.
Example:
None.
 
asm_const_grid_intersect_plo_vc
(output_ids, vector_list, plane_list, offset, created_ids)
 
Description:
This function creates a point from the intersection of a vector and a plane with an optional plane offset distance.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point IDs.
STRING
vector_list[]
This value specifies the vector list.
STRING
plane_list[]
This value specifies the plane list.
REAL
offset
This value specifies the plane offset distance.
Output:
STRING
created_ids[VIRTUAL]
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 points created and their IDs.
One point will be created for each set of vector and plane that intersect. Each point will be displayed in the graphics window.
This function can display a warning popup message form with the following message:
1000311
No intersections found between %A% and %A%.
This function can display a fatal popup message form with the following message:
38000845
Unable to acquire %I% words of virtual memory.
Example:
None
 
asm_const_grid_offset
(output_ids, distance, point_list, curvepoint_list, created_ids)
 
Description:
This function creates a point on an existing curve at an offset distance from an existing point on the same curve.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point IDs.
REAL
distance
This value specifies the offset distance along the curve.
STRING
point_list[]
This value specifies the reference point on a curve list.
STRING
curvepoint_list[]
This value specifies the curve to create the point on and the point on the curve which indicates the end of the curve closest to the new point to be created.
Output:
STRING
created_ids[VIRTUAL]
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 plane created and their IDs.
One point will be created for each reference point. Each point will be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following messages:
 
1000582
The curve %I% has zero length.
1000583
Unable to create point on curve. Check input data for validity.
1000584
Invalid Distance value of %G% was input. Distance value must be between %G% and %G%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_grid_offset (p. 409) in the PCL Reference Manual Examples.
 
asm_const_grid_pierce
(output_ids, curve_list, surface_list, created_ids)
 
Description:
This function constructs points at the intersection(s) of a curve with a surface.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point IDs.
STRING
curve_list[]
This value specifies the curve list which intersects with the surfaces in the surface list.
STRING
surface_list[]
This value specifies the surface list with which the curves in the curve list intersect.
Output:
STRING
created_ids[VIRTUAL]
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 points created and their IDs.
Points will be created for each curve and surface intersection. All points created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
1000541
No intersections found between projected curve(s) %A% onto surface(s) %A%.
2001070
Unable to acquire %I% words of virtual memory.
38000450
Unable to calculate a point on the curve.
Example:
Please see asm_const_grid_pierce (p. 410) in the PCL Reference Manual Examples.
 
asm_const_grid_project_v1
(output_ids, point_list, surface_list, etype, delete_orig, project_method, vector, coord_frame, created_ids)
 
Description:
This function will create points by projecting other points to a surface.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point ID’s.
STRING
point_list[]
This value specifies the point list.
STRING
surface_list[]
This value specifies the surface list.
INTEGER
etype
This value specifies the geometry type to which the points will be projected. Set this value to 1 to project the points to surfaces. Set this value to 2 to project the points to planes.
LOGICAL
delete_orig
This value specifies, when set to TRUE that the original projected points are to be deleted. If this value is set to FALSE, the original projected points will not be deleted.
INTEGER
project_method
This value specifies the method of defining the projection vector. Set this value to 1 to project points along a normal to the surface. Set this value to 2 to project points along a vector. Set this value to 3 to project points along the view vector.
STRING
vector[]
This value specifies the rectangular coordinate projection vector. This value is used only if the input value project_method is set to 2.
Output:
STRING
created_ids[VIRTUAL]
This value returns id values for the projected points.
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 points created and their id values.
One projected point will be created for each set of points and surfaces.
Each projected point will be displayed in the graphics window.
This function can display a warning popup message form with the following messages:
 
1000541
The projection vector has zero length.
This function can display a fatal popup message form with the following messages:
38000450
Unable to acquire %I% words of virtual memory.
Example:
None.
 
asm_const_grid_xyz
(output_ids, coordinates_list, coord_frame, created_ids)
 
Description:
This function constructs points based on their reference coordinate frame coordinates.
Input:
STRING
output_ids[]
This value specifies the point ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of point IDs.
STRING
coordinates_list[]
This value specifies the reference coordinate frame coordinates of a point.
STRING
coord_frame[]
This value specifies the reference coordinate frame in which to create the point. The default coordinate frame is coordinate frame 0.
Output:
STRING
created_ids[VIRTUAL]
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 points created and their IDs.
One point will be created for each set of point coordinates. Each point created will be displayed in the graphics window.
This function can display a fatal popup message form with the following message:
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_grid_xyz (p. 411) in the PCL Reference Manual Examples.
 
asm_const_hpat_2surface
(output_ids, surface1_list, surface2_list, manifold_type, manifold_id, auto_align, created_ids)
 
Description:
This function constructs hyperpatches from one surface to another, optionally lying within a manifold solid.
Input:
STRING
output_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
surface1_list[]
This value specifies the first set of surfaces for the start of each hyperpatch.
STRING
surface2_list[]
This value specifies the second set of surfaces for the end of each hyperpatch.
INTEGER
manifold_type
This value specifies the type of manifold entity: 0 = no manifold, and 3 = solid manifold entity.
STRING
manifold_id[]
This value specifies the manifold entity.
LOGICAL
auto_align
This value specifies, when set to TRUE, that the surfaces used to construct the hyperpatch should be automatically aligned.
Output:
STRING
created_ids[VIRTUAL]
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.
One hyperpatch will be created for each pair of input surfaces. Each hyperpatch will be displayed in the graphics window as it is created.
The maximum manifold error will be displayed.
This function can display a fatal popup message form with the following messages:
 
1000900
Specified Manifold Entity Type value of %I% is invalid. Valid values are 0 and 3.
1000901
Zero length vector in Hpat %I% construction.
1000905
An error occurred during the manifold operation for manifold solid %A%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_hpat_2surface (p. 412) in the PCL Reference Manual Examples.
  
asm_const_hpat_3surface
(output_ids, surface1_list, surface2_list, surface3_list, param_pos, auto_align, created_ids)
 
Description:
This function constructs hyperpatches which pass through three surfaces and one interior parametric position.
Input:
STRING
output_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
surface1_list[]
This value specifies the first set of surfaces for the start of each hyperpatch.
STRING
surface2_list[]
This value specifies the second set of surfaces for the middle of each hyperpatch.
STRING
surface3_list[]
This value specifies the third set of surfaces for the end of each hyperpatch.
REAL
param_pos
This value specifies the value of the parametric position of the middle surface. The default value is 0.5.
LOGICAL
auto_align
This value specifies, when set to TRUE, that the surfaces used to construct the hyperpatch should be automatically aligned.
Output:
STRING
created_ids[VIRTUAL]
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.
One hyperpatch will be created for each set of three input surfaces. Each hyperpatch will be displayed in the graphics window as it is created.
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.
1000902
Unable to create an hpat with the specified parametric position value of %G%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_hpat_3surface (p. 414) in the PCL Reference Manual Examples.
 
asm_const_hpat_4surface
(output_ids, surface1_list, surface2_list, surface3_list, surface4_list, param_pos1, param_pos2, auto_align, created_ids)
 
Description:
This function constructs hyperpatches which pass through four surfaces and two interior parametric positions.
Input:
STRING
output_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
surface1_list[]
This value specifies the first set of surfaces for the start of each hyperpatch.
STRING
surface2_list[]
This value specifies the second set of surfaces for the 1/3 point of each hyperpatch.
STRING
surface3_list[]
This value specifies the third set of surfaces for the 2/3 point of each hyperpatch.
STRING
surface4_list[]
This value specifies the fourth set of surfaces for the end of each hyperpatch.
REAL
param_pos1
This value specifies the value of the parametric position of the one third interior surface. The default value is 0.333.
REAL
param_pos2
This value specifies the value of the parametric position of the two thirds interior surface. The default value is 0.667.
LOGICAL
auto_align
This value specifies, when set to TRUE, that the surfaces used to construct the hyperpatch should be automatically aligned.
Output:
STRING
created_ids[VIRTUAL]
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.
One hyperpatch will be created for each set of four input surfaces. Each hyperpatch will be displayed in the graphics window as it is created.
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.
1000903
Unable to create an hpat with the specified parametric position values of %G% and %G%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_hpat_4surface (p. 415) in the PCL Reference Manual Examples.
 
asm_const_hpat_face
(output_ids, surface1_list, surface2_list, surface3_list, surface4_list, surface5_list, surface6_list, created_ids)
 
Description:
This function constructs hyperpatches from six surfaces forming their exterior faces. The surfaces can be in any order and have any parametric orientation, but they must define a valid exterior face of an hyperpatch.
Input:
STRING
output_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
surface1_list[]
This value specifies the first set of surfaces defining face 1 of each hyperpatch.
STRING
surface2_list[]
This value specifies the second set of surfaces defining face 2 of each hyperpatch.
STRING
surface3_list[]
This value specifies the third set of surfaces defining face 3 of each hyperpatch.
STRING
surface4_list[]
This value specifies the fourth set of surfaces defining face 4 of each hyperpatch.
STRING
surface5_list[]
This value specifies the fifth set of surfaces defining face 5 of each hyperpatch.
STRING
surface6_list[]
This value specifies the sixth set of surfaces defining face 6 of each hyperpatch.
Output:
STRING
created_ids[VIRTUAL]
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.
One hyperpatch will be created for each set of input surface faces. Each hyperpatch will be displayed in the graphics windows as it is created.
This function can display a fatal popup message form with the following messages:
1000906
The surfaces are not correctly positioned to form a hpat.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_hpat_face (p. 417) in the PCL Reference Manual Examples.
 
asm_const_hpat_vertex
(output_ids, point1_list, point2_list, point3_list, point4_list, point5_list, point6_list, point7_list, point8_list, created_ids)
 
Description:
This function constructs trilinear hyperpatches from eight points. The points should be previously defined and specified in the normal hyperpatch connectivity order.
Input:
STRING
output_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
point1_list[]
This value specifies the first set of points defining vertex 1 of each hyperpatch.
STRING
point2_list[]
This value specifies the second set of points defining vertex 2 of each hyperpatch.
STRING
point3_list[]
This value specifies the third set of points defining vertex 3 of each hyperpatch.
STRING
point4_list[]
This value specifies the fourth set of points defining vertex 4 of each hyperpatch.
STRING
point5_list[]
This value specifies the fifth set of points defining vertex 5 of each hyperpatch.
STRING
point6_list[]
This value specifies the sixth set of points defining vertex 6 of each hyperpatch.
STRING
point7_list[]
This value specifies the seventh set of points defining vertex 7 of each hyperpatch
STRING
point8_list[]
This value specifies the eighth set of points defining vertex 8 of each hyperpatch.
Output:
STRING
created_ids[VIRTUAL]
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.
One hyperpatch will be created for each set of eight input vertices. Each hyperpatch will be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following messages:
1000901
Zero length vector in Hpat %I% construction.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_hpat_vertex (p. 419) in the PCL Reference Manual Examples.
 
asm_const_hpat_xyz
(output_ids, solid_length, solid_origin, coord_frame, created_ids)
 
Description:
This function constructs solids based on their X, Y, Z cartesian dimensions and origin.
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_length[]
This value specifies the length of the hyperpatch in X,Y,Z respectively.
STRING
solid_origin[]
This value specifies the X,Y,Z coordinates of the origin of the solid respectively.
STRING
coord_frame[]
This value specifies the reference coordinate frame in which to create the solid. The default coordinate frame is coordinate frame 0.
Output:
STRING
created_ids[VIRTUAL]
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.
One solid will be created for each vector and solid origin set. All solids created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
1000901
Zero length vector in Hpat %I% construction.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_hpat_xyz (p. 420) in the PCL Reference Manual Examples.
 
asm_const_line_2point
(output_ids, point1_list, point2_list, manifold_type, manifold_id, num_interp, num_lines, created_ids)
 
Description:
This function constructs lines by ruling between two sets of points and within an manifold entity.
Input:
STRING
output_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
point1_list[]
This value specifies the first set of points for the start of each line.
STRING
point2_list[]
This value specifies the second set of points for the end of each line.
INTEGER
manifold_type
This value specifies the type of manifold entity: 0 = no manifold, 1 = line manifold entity, 2 = surface manifold entity, and 3 = solid manifold entity.
STRING
manifold_id[]
This value specifies the manifold entity.
INTEGER
num_interp
This value specifies the number of points to define the manifolding interpolation mesh through which is fitted though the number of lines defined by the input value num_lines.
INTEGER
num_lines
This value specifies the number of lines to create per manifold.
Output:
STRING
created_ids[VIRTUAL]
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.
The maximum manifold error will be displayed.
One line will be created for each pair of input points. Each line will be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following messages:
1000511
Specified Manifold Entity Type value of %I% is invalid. Valid values are 0, 1, 2, and 3.
1000554
An error occurred during the manifold operation for manifold curve %A%.
1000710
An error occurred during the manifold operation for manifold surface %A%.
1000905
An error occurred during the manifold operation for manifold solid %A%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_line_2point (p. 421) in the PCL Reference Manual Examples.
 
asm_const_line_3point
(output_ids, point1_list, point2_list, point3_list, param_method, param_pos, created_ids)
 
Description:
This function constructs lines which pass through three sets of points and an interior parametric position.
Input:
STRING
output_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
point1_list[]
This value specifies the first set of points for the start of each line.
STRING
point2_list[]
This value specifies the second set of points for the middle of each line.
STRING
point3_list[]
This value specifies the third set of points for the end of each line.
INTEGER
param_method
This value specifies the parameterization method used to parameterize the line: 1 = parametric position of midpoint, and 2 = chord length parameterization.
REAL
param_pos
This value specifies the value of the parametric position of the middle point if the input value param_method is set to 1. The default value is 0.5.
Output:
STRING
created_ids[VIRTUAL]
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.
One line will be created for each set of three input points. Each line will be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following messages:
1000507
Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2.
1000508
Specified Parametric Position value of %G% is out of range. The value must be between 0.0 and 1.0.
1000509
Unable to create a line with the specified parametric position value of %G%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_line_3point (p. 422) in the PCL Reference Manual Examples.
 
asm_const_line_4point
(output_ids, point1_list, point2_list, point3_list, point4_list, param_method, param_pos1, param_pos2, created_ids)
 
Description:
This function constructs lines which pass through four sets of points and two interior parametric positions.
Input:
STRING
output_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
point1_list[]
This value specifies the first set of points for the start of each line.
STRING
point2_list[]
This value specifies the second set of points for the 1/3 point of each line.
STRING
point3_list[]
This value specifies the third set of points for the 2/3 point of each line.
STRING
point4_list[]
This value specifies the fourth set of points for the end of each line.
INTEGER
param_method
This value specifies the parameterization method used to parameterize the line: 1 = parametric position of midpoint, and 2 = chord length parameterization.
REAL
param_pos1
This value specifies the value of the parametric position of the one third interior point if the input value param_method is set to 1. The default value is 0.333.
REAL
param_pos2
This value specifies the value of the parametric position of the two thirds interior point if the input value param_method is set to 1. The default value is 0.667.
Output:
STRING
created_ids[VIRTUAL]
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.
One line will be created for each set of four input points. Each line will be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following messages:
 
1000507
Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2.
1000508
Specified Parametric Position value of %G% is out of range. The value must be between 0.0 and 1.0.
1000510
Unable to create a line with the specified parametric position values of %G% and %G%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_line_4point (p. 423) in the PCL Reference Manual Examples.
 
asm_const_line_arc3point
(output_ids, num_lparc, point1_list, point2_list, point3_list, created_ids)
 
Description:
This function creates arcs through three sets of points.
Input:
STRING
output_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.
INTEGER
num_lparc
This value specifies the number of lines to create per arc.
STRING
point1_list[]
This value specifies the list of points defining the start of an arc.
STRING
point2_list[]
This value specifies the list of points defining the midpoint of an arc.
STRING
point3_list[]
This value specifies the list of points defining the end of an arc.
Output:
STRING
created_ids[VIRTUAL]
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 set of points. All lines created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000302
The three points specified are nearly collinear.
1000500
There must be at least one line as input. The invalid value input was %I%.
1000501
An attempt to create an Arc through %G% degrees will not be honored (Max=180). Increase the number of lines.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_line_arc3point (p. 425) in the PCL Reference Manual Examples.
 
asm_const_line_conic
(output_ids, coord_frame, rho, point1_list, point2_list, point3_list, created_ids)
 
Description:
This function constructs a conic section such as a hyperbola, parabola, ellipse, or circular arc.
Input:
STRING
output_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
coord_frame[]
This value specifies the reference coordinate frame in which the construction point, defined by the input value point1_list, is to be interpreted. The default coordinate frame is coordinate frame 0.
REAL
rho
This value specifies the relative altitude value for the conic section: Ellipse when 0.0 < rho < 0.5, Parabola when rho = 0.5, Hyperbola when 0.5 < rho < 1.0.
STRING
point1_list[]
This value specifies the list of construction points, which, in conjunction with the start and end points of the conic section, define the plane and tangency of the conic section.
STRING
point2_list[]
This value specifies the list of points defining the start of the conic section.
STRING
point3_list[]
This value specifies the list of points defining the end of the conic section.
Output:
STRING
created_ids[VIRTUAL]
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.
Curves will be created for each set of point lists. All lines created will be displayed in the graphics window.
This function can display a fatal popup message form with the following message:
 
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_line_conic (p. 426) in the PCL Reference Manual Examples.
 
asm_const_line_extract
(output_ids, surface_list, line_direction, param_pos, created_ids)
 
Description:
This function constructs lines by extracting lines from a set of surfaces at a specified position and in a specified parametric direction.
Input:
STRING
output_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
surface_list[]
This value specifies the list of surfaces from which lines are extracted.
INTEGER
line_direction
This value specifies the parametric direction in which to create the line: 1 = C1 direction, and 2 = C2 direction.
REAL
param_pos
This value specifies the value of the parametric position in the given parametric direction from which to extract the line.
Output:
STRING
created_ids[VIRTUAL]
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.
One line will be created for each parametric direction specified in each surface. Each line created will be displayed in the graphics window.
This function can display a warning popup message form with the following message:
 
38000433
A Zero length curve would have been created had the process continued. Modify application input and try again.
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.
1000518
Specified Parametric Direction value of %I% is invalid. Valid values are 1 and 2.
2001070
Unable to acquire %I% words of virtual memory.
38000637
Cannot access geometry definition for %A%.
Example:
Please see asm_const_line_extract (p. 427) in the PCL Reference Manual Examples.
 
asm_const_line_fillet
(output_ids, num_fillet, radius, fil_tolerance, trim_original, point1_list, point2_list, created_ids)
 
Description:
This function constructs a fillet of a specified radius between any two lines.
Input:
STRING
output_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.
INTEGER
num_fillet
This value specifies the number of lines to create per fillet.
REAL
radius
This value specifies the fillet radius.
REAL
fil_tolerance
This value specifies the fillet geometric tolerance.
LOGICAL
trim_original
This value is set to TRUE if the original line is to be trimmed after the fillet is created.
STRING
point1_list[]
This value specifies the first fillet location list.
STRING
point2_list[]
This value specifies the second fillet location list.
Output:
STRING
created_ids[VIRTUAL]
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.
Curves will be created for each set of lines and points. All lines 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.
1000064
Overwrite of existing entity not permitted.
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%.
1000557
The fillet radius value is unacceptable. The radius value of %G% must be greater than the fillet tolerance value of %G%.
1000558
The fillet line with radius %G% cannot be created between the two input curves.
1000571
The fillet curve has a zero angle of rotation. The fillet cannot be created.
1000572
The fillet curve has a zero radius. The fillet cannot be created.
2001070
Unable to acquire %I% words of virtual memory.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
Example:
Please see asm_const_line_fillet (p. 429) in the PCL Reference Manual Examples.
 
asm_const_line_fit
(output_ids, point_list, num_lines, geo_tolerance, num_iterations, created_ids)
 
Description:
This function creates a set of lines which together define a best fit to an arbitrary number of points.
Input:
STRING
output_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
point_list[]
This value specifies the ordered list of points to which the lines are to be fit.
INTEGER
num_lines
This value specifies the number of lines to fit through the points in the point list.
REAL
geo_tolerance
This value specifies a geometric tolerance used to test for convergence during the parametric least squares numerical approximation. The default value is 0.005.
INTEGER
num_iterations
This value defines the maximum number of times to iterate during the parametric least squares numerical approximation. The default value is 0.
Output:
STRING
created_ids[VIRTUAL]
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 point. All lines created will be displayed in the graphics window.
This function can display an information popup message form with the following messages:
 
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.
1000301
There must be at least two points as input. The invalid value input was %A%.
1000500
There must be at least one line as input. The invalid value input was %I%.
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_const_line_fit (p. 431) in the PCL Reference Manual Examples.
 
asm_const_line_intersect
(output_ids, surface1_list, surface2_list, curves_per_int, geo_tolerance, flat_tolerance, int_tolerance, created_ids)
 
Description:
This function creates curves which at the intersection between two sets of surfaces.
Input:
STRING
output_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
surface1_list[]
This value specifies the list of surfaces to be compared for intersection with the surfaces in the input value surface2_list.
STRING
surface2_list[]
This value specifies the list of surfaces to be compared for intersection with the surfaces in the input value surface1_list.
INTEGER
curves_per_int
This value specifies the number of curves to be created per intersection.
REAL
geo_tolerance
This value specifies the maximum deviation tolerance used during the creation of curves per intersection curve.
REAL
flat_tolerance
This value specifies a tolerance parameter. Surfaces in the input list are recursively subdivided until they are planar within this tolerance. The default is 20*geo_tolerance.
REAL
int_tolerance
This value specifies a tolerance parameter. The algorithm creates all points along the projected curve so that the maximum distance lies between them is the distance defined by this value. The default is 10*geo_tolerance.
Output:
STRING
created_ids[VIRTUAL]
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 per intersection defined by the input value curves_per_int will be created for each surface input set. Each curve 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.
1000527
The number of lines per intersection must be greater than or equal to zero. The invalid value input was %I%.
1000532
A Virtual File Access error has occurred.
1000533
An error has occurred during the surface/surface intersection algorithm. Probable cause is degenerate geometry.
1000534
The intersection points are all within tolerance of one another. A zero length line will not be produced.
1000535
No intersections found between surface(s) %A% and surface(s) %A%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_line_intersect (p. 432) in the PCL Reference Manual Examples.
 
asm_const_line_normal
(output_ids, point_list, line_list, created_ids)
 
Description:
This function constructs lines which pass through a point perpendicular to set of lines.
Input:
STRING
output_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
point_list[]
This value specifies the list of points from which the perpendicular lines will be constructed.
STRING
line_list[]
This value specifies the list of lines to which the perpendicular lines will be constructed.
Output:
STRING
created_ids[VIRTUAL]
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.
One line will be created for each point and line in the set of points and lines. All lines created will be displayed in the graphics window.
This function can display a fatal popup message form with the following message:
 
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_line_normal (p. 433) in the PCL Reference Manual Examples.
 
asm_const_line_project
(output_ids, line_list, surface_list, delete_original, project_method, vector, coord_frame, num_lines, geo_tolerance, flat_tolerance, int_tolerance, created_ids)
 
Description:
This function constructs lines by projecting lines along a plane normal or vector onto a set of surfaces.
Input:
STRING
output_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 lines to project onto the list of surfaces.
STRING
surface_list[]
This value specifies the list of surfaces onto which the lines are to be projected.
LOGICAL
delete_original
This value is set to TRUE if the original lines to project are to be deleted after the projection. If this value is set to FALSE, the original entities will not be deleted.
INTEGER
project_method
This value specifies the method of defining the projection vector: 1 = the lines to be projected lie in a plane and it is desirable to project the lines normal to this plane, and 2 = the direction of projection is to be given by a vector.
STRING
vector[]
This value specifies the projection vector if the input value project_method is set to 2.
STRING
coord_frame[]
This value specifies the coordinate frame ID number for the projection vector.
INTEGER
num_lines
This value specifies the number of lines to be created per projection.
REAL
geo_tolerance
This value specifies the maximum deviation tolerance used during the creation of the lines per projection vector.
REAL
flat_tolerance
This value specifies a tolerance parameter. Surfaces in the input list are recursively subdivided until they are planar within this tolerance. The default is 20*geo_tolerance.
REAL
int_tolerance
This value specifies a tolerance parameter. The algorithm creates all points along the projected line so that the maximum distance lies between them is the distance defined by this value. The default is 10*geo_tolerance.
Output:
STRING
created_ids[VIRTUAL]
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. It will also display a message giving the maximum error found between the intersection points and the lines.
The number of lines per intersection defined by the input value num_lines will be created for each line and surface input set. Each line created will be displayed in the graphics window.
This function can display a warning popup message form with the following message:
1000541
No intersections found between projected curve(s) %A% onto surface(s) %A%.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
1000532
A Virtual File Access error has occurred.
1000537
The number of lines per projection must be greater than or equal to zero. The invalid value input was %I%.
1000538
An error has occurred during the curve/surface projection algorithm. Probable cause is degenerate geometry.
1000539
The points created to approximate the projection line are all within tolerance
( %G%). Try making the Max. Deviation Tolerance on the Project Tolerances form larger and try again.
1000541
No intersections found between projected curve(s) %A% onto surface(s) %A%.
2001070
Unable to acquire %I% words of virtual memory.
 
Example:
Please see asm_const_line_project (p. 434) in the PCL Reference Manual Examples
asm_const_line_project_v1
(output_ids, line_list, surface_list, delete_original, project_method, vector, coord_frame, projection_tolerance, created_ids)
Description:
This function constructs lines by projecting lines along a plane normal or vector onto a set of surfaces.
Input:
STRING
output_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 lines to project onto the list of surfaces.
STRING
surface_list[]
This value specifies the list of surfaces onto which the lines are to be projected.
LOGICAL
delete_original
This value is set to TRUE if the original lines to project are to be deleted after the projection. If this value is set to FALSE, the original entities will not be deleted.
INTEGER
project_method
This value specifies the method of defining the projection vector: 1 = the lines to be projected lie in a plane and it is desired to project the lines normal to this plane, 2 = the direction of projection is normal to the surface at the point of closest approach, and 3 = the direction of projection is to be given by a vector.
STRING
vector[]
This value specifies the projection vector if the input value project_method is set to 3.
STRING
coord_frame[]
This value specifies the coordinate frame ID number for the projection vector.
REAL
projection_tolerance
This value specifies a tolerance parameter. The algorithm creates all lines along the projected surface so that the maximum distance lies between them is the distance defined by this value.
Output:
STRING
created_ids[VIRTUAL]
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. It will also display a message giving the maximum error found between the intersection points and the lines.
The number of lines per intersection defined by the input value num_lines will be created for each line and surface input set. Each line created will be displayed in the graphics window.
This function can display an information popup message form with the following message:
38000412
Negating the View Vector coordinates and trying again...
This function can display a warning popup message form with the following message:
38000415
Skipping zero length Curve %I%.
This function can display a fatal popup message form with the following messages:
 
1000540
The projection vector has zero length.
38000488
Unable to manifold the curve(s) to the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_line_project_v1 (p. 436) in the PCL Reference Manual Examples.
 
asm_const_line_pwl
(output_ids, point_list, created_ids)
 
Description:
This function constructs a piecewise linear set of lines between a list of points.
Input:
STRING
output_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
point_list[]
This value specifies the ordered list of points defining the piecewise linear lines.
Output:
STRING
created_ids[VIRTUAL]
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.
Curves will be created for each set of point lists. All lines created will be displayed in the
graphics window.
This function can display a fatal popup message form with the following messages:
1000301
There must be at least two points as input. The invalid value input was %A%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_line_pwl (p. 438) in the PCL Reference Manual Examples.
 
asm_const_line_spline
(output_ids, point_list, end_flag, created_ids)
 
Description:
This function constructs a piecewise cubic spline which passes through at least three points. Boundary conditions at the two ends are controllable by the user.
Input:
STRING
output_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
point_list[]
This value specifies the ordered list of points defining the breakpoints of the cubic spline segments.
INTEGER
end_flag
This value defines the spline boundary conditions at the two ends: 0 = zero second derivative, and 1 = a 0.5 scale of the internal second derivative.
Output:
STRING
created_ids[VIRTUAL]
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 spline line will be created for each set of point lists. All spline lines created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
1000520
There must be at least two lines input for a Spline Line. The invalid value input was %I%.
1000521
There must be at least three points input for a Spline Line. The invalid value input was %A%.
1000523
The number of points (%I%) is insufficient for the Number of Spline Segments (%I%) to create. There must be at least one more point than the number of segments.
1000524
Duplicate points on Spline Line.
1000525
The points used to create the Spline Line are too close.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_line_spline (p. 438) in the PCL Reference Manual Examples.
 
asm_const_line_tancurve
(output_ids, line1_list, line2_list, trim_original, created_ids)
 
Description:
This function constructs tangents between two sets of lines with a parametric direction common to that of the first set of lines.
Input:
STRING
output_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
line1_list[]
This value specifies the first set of lines from which tangential lines are created.
STRING
line2_list[]
This value specifies the second set of lines from which tangential lines are created.
LOGICAL
trim_original
This value is set to TRUE if the original line is to be trimmed after the tangent is created.
Output:
STRING
created_ids[VIRTUAL]
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.
Curves will be created for each set of line point lists. All lines created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
1000551
The curve is straight and has no tangent.
1000552
The two curves are not coplanar so a tangent cannot be calculated.
1000553
Unable to find tangent from the first curve to the second curve from the given start points.
1000563
The curve is not planar, therefore, a tangent cannot be calculated.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_line_tancurve (p. 439) in the PCL Reference Manual Examples.
 
asm_const_line_tanpoint
(output_ids, curve_list, point_list, closest_only, trim_original, created_ids)
 
Description:
This function constructs tangential lines between sets of points and lines with the parametric direction of the tangents being common to the lines.
Input:
STRING
output_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 lines to which the tangential lines are created.
STRING
point_list[]
This value specifies the list of points from which the tangential lines are created.
LOGICAL
closest_only
This value is set to TRUE if the closest tangent is the only tangent to be created if multiple tangents exist.
LOGICAL
trim_original
This value is set to TRUE if the original line is to be trimmed after the tangent is created.
Output:
STRING
created_ids[VIRTUAL]
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 point and line in the point and line lists. All lines created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
1000548
The curve is straight, therefore, a tangent cannot be calculated.
1000549
The curve and point are not coplanar, therefore, a tangent cannot be calculated.
1000550
There is not a tangent which connects the point with the curve.
1000563
The curve is not planar, therefore, a tangent cannot be calculated.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_line_tanpoint (p. 441) in the PCL Reference Manual Examples.
 
asm_const_line_xyz
(output_ids, line_length, line_origin, coord_frame, created_ids)
 
Description:
This function constructs lines based on their X, Y, Z cartesian dimensions and origin.
Input:
STRING
output_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_length[]
This value specifies the length of the line in the X, Y, and Z axes.
STRING
line_origin[]
This value specifies the X, Y, and Z coordinates of the origin of the line.
STRING
coord_frame[]
This value specifies the reference coordinate frame in which to create the point. The default coordinate system used is coordinate frame 0.
Output:
STRING
created_ids[VIRTUAL]
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.
One line will be created for each vector and line origin set. All lines created will be displayed in the graphics window.
This function can display a fatal popup message form with the following message:
 
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_line_xyz (p. 442) in the PCL Reference Manual Examples.
 
asm_const_patch_2curve
(output_ids, curve1_list, curve2_list, manifold_type, manifold_id, ruled_form, auto_align, created_ids)
 
Description:
This function constructs patches from one set of curves to another, optionally lying within a manifold surface or solid.
Input:
STRING
output_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
curve1_list[]
This value specifies the first set of curves from which each patch is started.
STRING
curve2_list[]
This value specifies the second set of curves defining the end of each patch.
INTEGER
manifold_type
This value specifies the type of manifold entity: 0 = no manifold, 2 = surface manifold entity, and 3 = solid manifold entity.
STRING
manifold_id[]
This value specifies the manifold entity.
INTEGER
ruled_form
This value specifies the ruled patch parameterization form: 0 = equal relative arc length, and1 = equal relative parameter values.
LOGICAL
auto_align
This value specifies, when set to TRUE, will designate that the curves used to construct the patch should be automatically aligned.
 
Output:
STRING
created_ids[VIRTUAL]
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.
One patch will be created for each pair of input curves. Each patch will be displayed in the graphics window as it is created.
The maximum manifold error will be displayed.
This function can display a fatal popup message form with the following messages:
 
1000573
Curve %I% does not have the required Company of Origin (PDA Engineering) to construct a Line using the %A% Option. Unable to continue.
1000702
Specified Manifold Entity Type value of %I% is invalid. Valid values are 0, 2, and 3.
1000710
An error occurred during the manifold operation for manifold surface %A%.
1000905
An error occurred during the manifold operation for manifold solid %A%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_patch_2curve (p. 443) in the PCL Reference Manual Examples.
asm_const_patch_2curve_v1
(output_ids, curve1_list, curve2_list, manifold_type, manifold_id, auto_align, created_ids)
 
Description:
This function constructs patches from one set of curves to another, optionally lying within a manifold surface or solid.
Input:
STRING
output_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
curve1_list[]
This value specifies the first set of curves from which each patch is started.
STRING
curve2_list[]
This value specifies the second set of curves defining the end of each patch.
INTEGER
manifold_type
This value specifies the type of manifold entity: 0 = no manifold, 2 = surface manifold entity, and 3 = solid manifold entity.
STRING
manifold_id[]
This value specifies the manifold entity.
LOGICAL
auto_align
This value specifies, when set to TRUE, that the curves used to construct the patch should be automatically aligned.
Output:
STRING
created_ids[VIRTUAL]
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.
One patch will be created for each pair of input curves. Each patch will be displayed in the graphics window as it is created.
The maximum manifold error will be displayed.
This function can display a fatal popup message form with the following messages:
1000702
Specified Manifold Entity Type value of %I% is invalid. Valid values are 0, 2, and 3.
1000710
An error occurred during the manifold operation for manifold surface %A%.
1000905
An error occurred during the manifold operation for manifold solid %A%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_patch_2curve_v1 (p. 444) in the PCL Reference Manual Examples
asm_const_patch_3curve
(output_ids, curve1_list, curve2_list, curve3_list, param_pos, auto_align, created_ids)
Description:
This function constructs patches which pass through three sets of curves and an interior parametric position.
Input:
STRING
output_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
curve1_list[]
This value specifies the first set of curves from which each patch is started.
STRING
curve2_list[]
This value specifies the second set of curves defining a midpoint on each patch.
STRING
curve3_list[]
This value specifies the third set of curves defining the end of each patch.
REAL
param_pos
This value specifies the value of the parametric position of the middle curve. The default value is 0.5.
LOGICAL
auto_align
This value specifies, when set to TRUE, that the curves used to construct the patch should be automatically aligned.
Output:
STRING
created_ids[VIRTUAL]
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.
One patch will be created for each triple of input curves. Each patch will be displayed in the graphics window as it is created.
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.
1000703
Unable to create a patch with the specified parametric position value of %G%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_patch_3curve (p. 445) in the PCL Reference Manual Examples.
 
asm_const_patch_4curve
(output_ids, curve1_list, curve2_list, curve3_list, curve4_list, param_pos1, param_pos2, auto_align, created_ids)
 
Description:
This function constructs patches which pass through four sets of curves and two interior parametric positions.
Input:
STRING
output_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
curve1_list[]
This value specifies the first set of curves from which each patch is started.
STRING
curve2_list[]
This value specifies the second set of curves defining the first midpoint on each patch.
STRING
curve3_list[]
This value specifies the third set of curves defining the second midpoint on each patch.
STRING
curve4_list[]
This value specifies the fourth set of curves defining the end of each patch.
REAL
param_pos1
This value specifies the value of the parametric position at the one third interior curve. The default value is 0.333.
REAL
param_pos2
This value specifies the value of the parametric position at the two thirds interior curve. The default value is 0.667.
LOGICAL
auto_align
This value specifies, when set to TRUE, that the curves used to construct the patch should be automatically aligned.
Output:
STRING
created_ids[VIRTUAL]
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.
One patch will be created for each set of four input curves. Each patch will be displayed in the graphics window as it is created.
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.
1000704
Unable to create a patch with the specified parametric position values of %G% and %G%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_patch_4curve (p. 447) in the PCL Reference Manual Examples.
 
asm_const_patch_edge
(output_ids, curve1_list, curve2_list, curve3_list, curve4_list, manifold_type, manifold_id, created_ids)
 
Description:
This function constructs patches from four bounding curves, and optionally lying within a manifold surface or solid.
Input:
STRING
output_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
curve1_list[]
This value specifies a set of curves defining the first edge of each patch.
STRING
curve2_list[]
This value specifies a set of curves defining the second edge of each patch.
STRING
curve3_list[]
This value specifies a set of curves defining the third edge of each patch.
STRING
curve4_list[]
This value specifies a set of curves defining the fourth edge of each patch.
INTEGER
manifold_type
This value specifies the type of manifold entity: 0 = no manifold, 2 = surface manifold entity, and 3 = solid manifold entity.
STRING
manifold_id[]
This value specifies the manifold entity.
Output:
STRING
created_ids[VIRTUAL]
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.
One patch will be created for each set of four input edge curves. Each patch will be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following messages:
 
1000702
Specified Manifold Entity Type value of %I% is invalid. Valid values are 0, 2, and 3.
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.
1000710
An error occurred during the manifold operation for manifold surface %A%.
1000905
An error occurred during the manifold operation for manifold solid %A%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_patch_edge (p. 449) in the PCL Reference Manual Examples.
  
asm_const_patch_extract
(output_ids, hpat_list, param_plane, param_pos, created_ids)
 
Description:
This function constructs patches by extracting patches from hyperpatches at a specified parametric position and in a specified parametric direction.
Input:
STRING
output_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
hpat_list[]
This value specifies the list of hyperpatches to extract patches from.
INTEGER
param_plane
This value specifies the constant parametric plane in which to create the patch: 1 = constant C1 plane, 2 = constant C2 plane, and 3 = constant C3 plane.
REAL
param_pos
This value specifies the parametric position in the given parametric plane from which to extract the patch.
Output:
STRING
created_ids[VIRTUAL]
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.
One patch will be created for each parametric plane specified in each hyperpatch. Each patch 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.
1000705
Specified Parametric Plane value of %I% is invalid. Valid values are 1, 2, and 3.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_patch_extract (p. 450) in the PCL Reference Manual Examples.
 
asm_const_patch_fillet
(output_ids, radius1, radius2, fil_tolerance, trim_original, point1_list, point2_list, created_ids)
 
Description:
This function constructs a fillet patch with a specified radii between any two patches.
Input:
STRING
output_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.
REAL
radius1
This value specifies the fillet radius.
REAL
radius2
This value specifies the second radius for a varying radius fillet that is created with the first edge beginning at a radius defined by the input value radius1 and gradually varying to match the input value radius2 at the opposite edge.
REAL
fil_tolerance
This value specifies the fillet geometric tolerance.
LOGICAL
trim_original
This value is set to TRUE if the original patch is to be trimmed after the fillet is created.
STRING
point1_list[]
This value specifies the first set of locations for the fillets on a set of patches.
STRING
point2_list[]
This value specifies the second set of locations for the fillets on a set of patches.
Output:
STRING
created_ids[VIRTUAL]
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.
This function will create fillet patches for each set of positions on patches listed. All patches 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.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
1000025
Error attempting to allocate virtual memory.
1000557
The fillet radius value is unacceptable. The radius value of %G% must be greater than the fillet tolerance value of %G%.
38000003
No blob provided.
38000118
An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121
Invalid format conversion flag specified for surface conversion.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_patch_fillet (p. 451) in the PCL Reference Manual Examples.
 
asm_const_patch_match
(output_ids, patch_list1, patch_list2, delete_original, created_ids)
 
Description:
This function constructs patches with common boundaries or matching edges from patches with two consecutive common vertices but unmatched edges. The input patches need not have matching parametric orientations.
Input:
STRING
output_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
patch_list1[]
This value specifies the list of patches to which the new patches will be matched.
STRING
patch_list2[]
This value specifies the list of patches to match with the patches in the first patch list.
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[VIRTUAL]
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.
One patch will be created for each pair of input patches. Each patch will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
1000025
Error attempting to allocate virtual memory.
1000711
The surface corners cannot match with the patch corners.
38000003
No blob provided.
38000118
An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121
Invalid format conversion flag specified for surface conversion.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_patch_match (p. 453) in the PCL Reference Manual Examples.
 
asm_const_patch_vertex
(output_ids, point1_list, point2_list, point3_list, point4_list, manifold_type, manifold_id, created_ids)
 
Description:
This function constructs quadrilateral patches formed by four vertex points and are optionally lying within a manifold surface or solid.
Input:
STRING
output_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
point1_list[]
This value specifies the set of points defining the first vertex of each patch.
STRING
point2_list[]
This value specifies the set of points defining the second vertex of each patch.
STRING
point3_list[]
This value specifies the set of points defining the third vertex of each patch.
STRING
point4_list[]
This value specifies the set of points defining the fourth vertex of each patch.
INTEGER
manifold_type
This value specifies the type of manifold entity: 0 = no manifold, 2 = surface manifold entity, and 3 = solid manifold entity.
STRING
manifold_id[]
This value specifies the manifold entity.
Output:
STRING
created_ids[VIRTUAL]
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.
One patch will be created for each set of four input vertex points. Each patch will be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following messages:
 
1000702
Specified Manifold Entity Type value of %I% is invalid. Valid values are 0, 2, and 3.
1000710
An error occurred during the manifold operation for manifold surface %A%.
1000905
An error occurred during the manifold operation for manifold solid %A%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_patch_vertex (p. 454) in the PCL Reference Manual Examples.
  
asm_const_patch_xyz
(output_ids, patch_length, patch_origin, coord_frame, created_ids)
 
Description:
This function constructs patches based on dimensions and an origin point in a cartesian coordinate system.
Input:
STRING
output_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
patch_length[]
This value specifies the length of the patch in yjr X, Y, snf Z axes, respectively.
STRING
patch_origin[]
This value specifies the X, Y, and Z coordinates of the origin of the patch, respectively.
STRING
coord_frame[]
This value specifies the reference coordinate frame in which to create the patch. The default coordinate frame is coordinate frame 0.
Output:
STRING
created_ids[VIRTUAL]
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.
One patch will be created for each set of origin and dimensional inputs. All patches created will be displayed in the graphics window.
This function can display a fatal popup message form with the following message:
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_patch_xyz (p. 455) in the PCL Reference Manual Examples.
 
asm_const_solid_5face
(output_ids, surface1_list, surface2_list, surface3_list, surface4_list, surface5_list, created_ids)
 
Description:
This function creates parametric tricubic or wedge shaped solids from sets of five surfaces defining their exterior faces. The surfaces can be in any order and have any parametric orientation but they must define a valid exterior face of a 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.
STRING
surface1_list[]
This value specifies the set of surfaces defining the first face of each solid.
STRING
surface2_list[]
This value specifies the set of surfaces defining the second face of each solid.
STRING
surface3_list[]
This value specifies the set of surfaces defining the third face of each solid.
STRING
surface4_list[]
This value specifies the set of surfaces defining the forth face of each solid.
STRING
surface5_list[]
This value specifies the set of surfaces defining the fifth face of each solid.
Output:
STRING
created_ids[VIRTUAL]
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.
One solid will be created for each set of input surfaces. Each solid will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000906
The surfaces are not correctly positioned to form a hpat.
38000118
An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_solid_5face (p. 456) in the PCL Reference Manual Examples.
  
asm_const_solid_6face
(output_ids, surface1_list, surface2_list, surface3_list, surface4_list, surface5_list, surface6_list, created_ids)
 
Description:
This function creates parametric tricubic or wedge shaped solids from sets of six surfaces defining their exterior faces. The surfaces can be in any order and have any parametric orientation but they must define a valid exterior face of a 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.
STRING
surface1_list[]
This value specifies the set of surfaces defining the first face of each solid.
STRING
surface2_list[]
This value specifies the set of surfaces defining the second face of each solid.
STRING
surface3_list[]
This value specifies the set of surfaces defining the third face of each solid.
STRING
surface4_list[]
This value specifies the set of surfaces defining the forth face of each solid.
STRING
surface5_list[]
This value specifies the set of surfaces defining the fifth face of each solid.
STRING
surface6_list[]
This value specifies the set of surfaces defining the sixth face of each solid.
Output:
STRING
created_ids[VIRTUAL]
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.
One solid will be created for each set of input surfaces. Each solid will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000906
The surfaces are not correctly positioned to form a hpat.
38000118
An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121
Invalid format conversion flag specified for surface conversion.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_solid_6face (p. 458) in the PCL Reference Manual Examples.
 
asm_const_solid_extrude
(output_ids, delta, scale, angle, origin, coord_frame, num_solids, surface_list, created_ids)
 
Description:
This function creates parametric tricubic or wedge shaped solids by moving surfaces through space along a defined axis with the option of scaling and rotating simultaneously.
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
delta[]
This value specifies a translation vector defining the direction and magnitude of the extrusion operation.
REAL
scale
This value specifies the scaling factor.
REAL
angle
This value specifies the angle to rotate the surface around the translation vector during the extrusion operation.
STRING
origin[]
This value specifies the point of origin from which the extrusion operation will take place.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
INTEGER
num_solids
This value specifies the number of solids to create for each surface.
STRING
surface_list[]
This value specifies the list of surfaces to be extruded.
Output:
STRING
created_ids[VIRTUAL]
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.
1000211
The length of the Axis equals zero.
1000241
Unable to extrude hyperpatch because the surface is too degenerate.
38000118
An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121
Invalid format conversion flag specified for surface conversion.
38000427
The surface type used for this Action, Object, Method function is invalid. It must be of a type that when created, has the default color of Green.
Remarks:
This function displays a message listing the number of solids created and their IDs.
The number of solids defined by the input value num_solids will be created for each input surface. Each solid will be displayed in the graphics window.
Example:
Please see asm_const_solid_extrude (p. 459) in the PCL Reference Manual Examples.
  
asm_const_solid_glide
(output_ids, scale, glide_option, director_surface, base_surface, created_ids)
 
Description:
This function creates parametric tricubic or wedge shaped solids by revolving surfaces about an axis of rotation.
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
scale
This value specifies the scaling factor.
INTEGER
glide_option
This value specifies the glide option to use: 0 = normal project glide option, and 1 = fixed logic option.
STRING
director_surface[]
This value specifies the list of surfaces along which the base surface will be swept.
STRING
base_surface[]
This value specifies the list of surfaces that will be swept along the director surfaces to form the solids.
Output:
STRING
created_ids[VIRTUAL]
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.
1000225
Unable to do glide option.
14000014
LpSublistNext: Attempt to proceed past last sublist in current list.
14000015
LpSublistNext: End of current list has been reached.
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.
38000121
Invalid format conversion flag specified for surface conversion.
Remarks:
This function displays a message listing the number of solids created and their IDs.
One solid will be created for each set of base_surfaces and director_surfaces. If there are m base_surfaces and n director_surfaces, m*n solids will be created. Each solid will be displayed in the graphics window.
Example:
Please see asm_const_solid_glide (p. 461) in the PCL Reference Manual Examples.
  
asm_const_solid_normal
(output_ids, thickness1, thickness2, thickness3, thickness4, num_solids, normal_rev_direction, surface_list, created_ids)
 
Description:
This function creates parametric tricubic or wedge shaped solids which are defined by a set of base surfaces and an offset from those surfaces in the direction of the curvature. The offset may be constant or a linear taper.
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
thickness1[]
This value specifies the constant thickness or the first thickness at u=0; v=0.
STRING
thickness2[]
This value is set to NULL if the input value thickness1 is set to constant thickness, otherwise it is the second thickness at u=0; v=1.
STRING
thickness3[]
This value is set to NULL if he input value thickness1 is
set to constant thickness, otherwise it is the third thickness at u=1; v=1.
STRING
thickness4[]
This value is set to NULL if he input value thickness1 is
set to constant thickness, otherwise it is the fourth thickness at u=1; v=0.
INTEGER
num_solids
This value specifies the number of solids to be created from each surface.
LOGICAL
normal_rev_direction
This value is set to TRUE if the normal is to be flipped or reversed.
STRING
surface_list[]
This value specifies the list of surfaces to be swept using the normal option.
Output:
STRING
created_ids[VIRTUAL]
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.
1000712
Unable to compute the tangent and normal vectors due to a non-removable degeneracy or a singularity.
1000901
Zero length vector in Hpat %I% construction.
16000301
Blank string encountered.
16000302
%A% does not contain enough arguments, looking for %I% arguments.
16000303
%A% has too many arguments, looking for %I% arguments.
16000305
%A% is not a real.
38000118
An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121
Invalid format conversion flag specified for surface conversion.
38000427
The surface type used for this Action, Object, Method function is invalid. It must be of a type that when created, has the default color of Green.
Remarks:
The number of solids defined by the input value num_solids will be created for each surface. Each solid will be displayed in the graphics window.
Example:
Please see asm_const_solid_normal (p. 462) in the PCL Reference Manual Examples.
  
asm_const_solid_revolve
(output_ids, axis, angle, offset, coord_frame, num_solids, surface_list, created_ids)
 
Description:
This function creates parametric tricubic or wedge shaped solids by revolving surfaces about an axis of rotation.
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
axis[]
This value specifies the axis of rotation.
REAL
angle
This value specifies the total angle to revolve each surface in degrees.
REAL
offset
This value specifies the initial offset angle in degrees.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
INTEGER
num_solids
This value specifies the number of solids to create for each surface.
STRING
surface_list[]
This value specifies the list of surfaces to be revolved.
Output:
STRING
created_ids[VIRTUAL]
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.
1000210
Angle of rotation for a parametric entity is greater than 180 degrees.
1000211
The length of the Axis equals zero.
1000242
Rotation is approximately parallel to the surface.
1000901
Zero length vector in Hpat %I% construction.
38000118
An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121
Invalid format conversion flag specified for surface conversion.
38000427
The surface type used for this Action, Object, Method function is invalid. It must be of a type that when created, has the default color of Green.
Remarks:
This function displays a message listing the number of solids created and their IDs.
The number of solids defined by the input value num_solids will be created for each surface. Each solid will be displayed in the graphics window.
Example:
Please see asm_const_solid_revolve (p. 463) in the PCL Reference Manual Examples.
 
asm_const_solid_2surface
(output_ids, auto_align, surface1_list, surface2_list, created_ids)
 
Description:
This function creates parametric tricubic or wedge shaped solids from one set of surfaces to another.
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.
LOGICAL
auto_align
This value specifies, when set to TRUE, that the surfaces used to construct the solid should be automatically aligned.
STRING
surface1_list[]
This value specifies the first set of surfaces for the start of each solid.
STRING
surface2_list[]
This value specifies the second set of surfaces for the end of each solid.
Output:
STRING
created_ids[VIRTUAL]
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.
One solid will be created for each pair of input surfaces. Each solid will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000901
Zero length vector in Hpat %I% construction.
38000118
An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121
Invalid format conversion flag specified for surface conversion.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_solid_2surface (p. 465) in the PCL Reference Manual Examples.
  
asm_const_solid_3surface
(output_ids, auto_align, param_method, surface1_list, surface2_list, surface3_list, created_ids)
 
Description:
This function creates parametric tricubic or wedge shaped solids from three sets 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.
LOGICAL
auto_align
This value specifies, when set to TRUE, that the surfaces used to construct the solid should be automatically aligned.
INTEGER
param_method
This value specifies the parameterization method to use: 1 = chord length parameterization, and 2 = uniform parameterization.
STRING
surface1_list[]
This value specifies the first list of surfaces.
STRING
surface2_list[]
This value specifies the second list of surfaces.
STRING
surface3_list[]
This value specifies the third list of surfaces.
Output:
STRING
created_ids[VIRTUAL]
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.
One solid will be created for each pair of input surfaces. Each solid will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000507
Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2.
1000902
Unable to create an hpat with the specified parametric position value of %G%.
38000118
An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121
Invalid format conversion flag specified for surface conversion.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_solid_3surface (p. 466) in the PCL Reference Manual Examples.
 
asm_const_solid_4surface
(output_ids, auto_align, param_method, surface1_list, surface2_list, surface3_list, surface4_list, created_ids)
 
Description:
This function creates parametric tricubic or wedge shaped solids from four sets 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.
LOGICAL
auto_align
This value specifies, when set to TRUE, that the surfaces used to construct the solid should be automatically aligned.
INTEGER
param_method
This value specifies the parameterization method to use: 1 = chord length parameterization, and 2 = uniform parameterization.
STRING
surface1_list[]
This value specifies the first list of surfaces.
STRING
surface2_list[]
This value specifies the second list of surfaces.
STRING
surface3_list[]
This value specifies the third list of surfaces.
STRING
surface4_list[]
This value specifies the fourth list of surfaces.
Output:
STRING
created_ids[VIRTUAL]
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.
One solid will be created for each set of input surfaces. Each solid will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
1000507
Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2.
1000903
Unable to create an hpat with the specified parametric position values of %G% and %G%.
38000118
An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121
Invalid format conversion flag specified for surface conversion.
38000452
Unable to calculate a point on the solid.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_solid_4surface (p. 467) in the PCL Reference Manual Examples.
 
asm_const_solid_nsurface
(output_ids, auto_align, param_method, surface_list, created_ids)
 
Description:
This function creates parametric tricubic or wedge shaped solids which pass through a specified 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.
LOGICAL
auto_align
This value specifies, when set to TRUE, that the surfaces used to construct the solid should be automatically aligned.
INTEGER
param_method
This value specifies the parameterization method to use: 1 = chord Length parameterization, and 2 = uniform parameterization.
STRING
surface_list[]
This value specifies the list of surfaces.
Output:
STRING
created_ids[VIRTUAL]
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.
One solid will be created for each set of four input surfaces. Each solid will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
1000507
Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2.
38000119
An attempt to approximate a general solid with a single Parametric TriCubic failed.
38000122
Invalid format conversion flag specified for solid conversion.
38000452
Unable to calculate a point on the solid.
38000493
The Surface interpolating Solid builder failed to create the evaluator table. Solid was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_solid_nsurface (p. 469) in the PCL Reference Manual Examples.
 
asm_const_surface_2curve
(output_ids, curve1_list, curve2_list, created_ids)
 
Description:
This function creates parametric bicubic surfaces from two sets of curves.
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
curve1_list[]
This value specifies the first set of ruling curves.
STRING
curve2_list[]
This value specifies the second set of ruling curves.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for each pair of input curves. Each surface will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate 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.
38000451
Unable to calculate a point on the surface.
38000494
The Curve interpolating Surface builder failed to create the evaluator table. Surface was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_surface_2curve (p. 470) in the PCL Reference Manual Examples.
  
asm_const_surface_3curve
(output_ids, param_method, curve1_list, curve2_list, curve3_list, created_ids)
 
Description:
This function creates parametric bicubic surfaces from three sets of curves.
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.
INTEGER
param_method
This value specifies the surface parameterization method: 1 = chord length parameterization, and 2 = uniform parameterization.
STRING
curve1_list[]
This value specifies the first set of curves.
STRING
curve2_list[]
This value specifies the second set of curves.
STRING
curve3_list[]
This value specifies the third set of curves.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for each triplet of input curves. Each surface will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
1000507
Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2.
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.
38000451
Unable to calculate a point on the surface.
38000494
The Curve interpolating Surface builder failed to create the evaluator table. Surface was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_surface_3curve (p. 471) in the PCL Reference Manual Examples.
  
asm_const_surface_4curve
(output_ids, param_method, curve1_list, curve2_list, curve3_list, curve4_list, created_ids)
 
Description:
This function creates parametric bicubic surfaces from four sets of curves.
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.
INTEGER
param_method
This value specifies the surface parameterization method: 1 = chord length parameterization, and 2 = uniform parameterization.
STRING
curve1_list[]
This value specifies the first set of curves.
STRING
curve2_list[]
This value specifies the second set of curves.
STRING
curve3_list[]
This value specifies the third set of curves.
STRING
curve4_list[]
This value specifies the fourth set of curves.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for each set of four input curves. Each surface will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
1000025
Error attempting to allocate virtual memory.
1000507
Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2.
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.
38000451
Unable to calculate a point on the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_surface_4curve (p. 473) in the PCL Reference Manual Examples.
 
asm_const_surface_ncurve
(output_ids, param_method, curve_list, created_ids)
 
Description:
This function creates parametric bicubic surfaces from a specified set of curves.
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.
INTEGER
param_method
This value specifies the surface parameterization method: 1 = chord length parameterization, and 2 = uniform parameterization.
STRING
curve_list[]
This value specifies the list of curves.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created from the input curves. The surface will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
1000025
Error attempting to allocate virtual memory.
1000507
Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2.
38000003
No blob provided.
38000118
An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000494
The Curve interpolating Surface builder failed to create the evaluator table. Surface was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_surface_ncurve (p. 474) in the PCL Reference Manual Examples.
 
asm_const_surface_3edge
(output_ids, curve1_list, curve2_list, curve3_list, created_ids)
 
Description:
This function creates parametric bicubic surfaces from three sets of curves defining the boundaries of the surfaces.
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
curve1_list[]
This value specifies the first set of curves.
STRING
curve2_list[]
This value specifies the second set of curves.
STRING
curve3_list[]
This value specifies the third set of curves.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for each set of three input curves. Each surface will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
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.
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.
38000451
Unable to calculate a point on the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_surface_3edge (p. 476) in the PCL Reference Manual Examples.
 
asm_const_surface_4edge
(output_ids, curve1_list, curve2_list, curve3_list, curve4_list, created_ids)
 
Description:
This function creates parametric bicubic surfaces from four sets of curves defining the boundaries of the surfaces.
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
curve1_list[]
This value specifies the first set of curves.
STRING
curve2_list[]
This value specifies the second set of curves.
STRING
curve3_list[]
This value specifies the third set of curves.
STRING
curve4_list[]
This value specifies the fourth set of curves.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for each set of four input curves. Each surface will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
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.
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.
38000451
Unable to calculate a point on the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_surface_4edge (p. 477) in the PCL Reference Manual Examples.
 
asm_const_surface_extract
(output_ids, solid_list, param_plane, param_pos, created_ids)
 
Description:
This function creates parametric bicubic surfaces by extracting surfaces from solids at specified parametric positions and in specified parametric directions.
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
solid_list[]
This value specifies the list of solids from which to extract surfaces.
INTEGER
param_plane
This value specifies the constant parametric plane in which to create the surface: 1 = constant U plane, 2 = constant V plane, and 3 = constant W plane.
REAL
param_pos
This value specifies the parametric position in the given parametric plane from which to extract the surfaces.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for the parametric plane specified in each solid. Each surface 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.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
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.
1000705
Specified Parametric Plane value of %I% is invalid. Valid values are 1, 2, and 3.
38000003
No blob provided.
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.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_surface_extract (p. 478) in the PCL Reference Manual Examples.
  
asm_const_surface_extract_face
(output_ids, face_list, created_ids)
 
Description:
This function creates parametric bicubic surfaces by extracting surfaces from the faces of solids.
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
face_list[]
This value specifies the list of solid faces from which to extract surfaces.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for each specified face. Each surface 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.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_surface_extract_face (p. 480) in the PCL Reference Manual Examples.
  
asm_const_surface_extrude
(output_ids, delta, scale, angle, origin, coord_frame, num_surfaces, curve_list, created_ids)
 
Description:
This function creates parametric bicubic surfaces by moving curves through space along a defined axis with the option of simultaneously scaling and rotating the extruded surfaces.
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
delta[]
This value specifies a translation vector defining the direction and magnitude of the extrusion operation.
REAL
scale
This value specifies the scaling factor.
REAL
angle
This value specifies the angle to rotate the curve around the translation vector during extrusion.
STRING
origin[]
This value specifies the point of origin of the extrusion.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
INTEGER
num_surfaces
This value specifies the number of surfaces to create for each curve.
STRING
curve_list[]
This value specifies the list of curves to be extruded.
Output:
STRING
created_ids[VIRTUAL]
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.
1000211
The length of the Axis equals zero.
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.
38000451
Unable to calculate a point on the surface.
Remarks:
This function displays a message listing the number of surfaces created and their IDs.
The number of surfaces defined by the input value num_surfaces will be created for each input curve. Each surface will be displayed in the graphics window.
Example:
Please see asm_const_surface_extrude (p. 481) in the PCL Reference Manual Examples.
 
asm_const_surface_glide
(output_ids, scale, glide_option, director_curve, base_curve, created_ids)
 
Description:
This function creates parametric bicubic surfaces by moving base curves along a path defined by a set of director curves translated to the origin of the base curves.
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.
REAL
scale
This value specifies the scaling factor.
INTEGER
glide_option
This value specifies the glide option to use: 0 = normal project glide option, and 1 = fixed logic option.
STRING
director_curve[]
This value specifies the list of curves along which the base curve will be swept.
STRING
base_curve[]
This value specifies the list of curves that will be swept along the director curves to form the surfaces.
Output:
STRING
created_ids[VIRTUAL]
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.
1000225
Unable to do glide option.
14000014
LpSublistNext: Attempt to proceed past last sublist in current list.
14000015
LpSublistNext: End of current list has been reached.
38000117
An attempt to approximate a general curve with a single Parametric Cubic failed.
Remarks:
This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each set of base_curves and director_curves. If there are m base_curves and n director_curves, m*n surfaces will be created. Each surface will be displayed in the graphics window.
 
Example:
Please see asm_const_surface_glide (p. 482) in the PCL Reference Manual Examples
asm_const_surface_normal
(output_ids, thickness1, thickness2, origin, num_surfaces, normal_rev_direction, curve_list, created_ids)
Description:
This function creates parametric bicubic surfaces defined by a set of base curves and an offset from those curves in the direction of the curvature. The offset may be constant or a linear taper.
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
thickness1[]
This value specifies the constant thickness or the first thickness at u=0; v=0.
STRING
thickness2[]
This value is set to NULL if the input value thickness1 is set to constant thickness, otherwise it is the second thickness at u=0; v=1.
STRING
origin[]
This value specifies the point to be used as origin of the normal vector.
INTEGER
num_surfaces
This value specifies the number of surfaces to be created from each curve.
LOGICAL
normal_rev_direction
This value is set to TRUE if the normal is to be flipped or reversed.
STRING
curve_list[]
This value specifies the list of curves to be swept using the normal option.
Output:
STRING
created_ids[VIRTUAL]
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.
1000211
The length of the Axis equals zero.
16000301
Blank string encountered.
16000302
%A% does not contain enough arguments, looking for %I% arguments.
16000303
%A% has too many arguments, looking for %I% arguments.
16000305
%A% is not a real.
38000117
An attempt to approximate a general curve with a single Parametric Cubic failed.
Remarks:
The number of surfaces defined by the input value num_surfaces will be created for each curve. Each surface will be displayed in the graphics window.
Example:
Please see asm_const_surface_normal (p. 484) in the PCL Reference Manual Examples.
 
asm_const_surface_revolve
(output_ids, axis, angle, offset, coord_frame, curve_list, created_ids)
 
Description:
This function creates parametric bicubic surfaces by revolving curves about an axis of rotation.
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
axis[]
This value specifies the axis of rotation.
REAL
angle
This value specifies the total angle to revolve each curve.
REAL
offset
This value specifies the initial offset angle in degrees.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
STRING
curve_list[]
This value specifies the list of curves to be revolved.
Output:
STRING
created_ids[VIRTUAL]
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.
1000210
Angle of rotation for a parametric entity is greater than 180 degrees.
1000211
The length of the Axis equals zero.
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.
38000451
Unable to calculate a point on the surface.
Remarks:
This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each curve. Each surface will be displayed in the graphics window.
Example:
Please see asm_const_surface_revolve (p. 485) in the PCL Reference Manual Examples.
 
asm_const_surface_vertex
(output_ids, point1_list, point2_list, point3_list, point4_list, created_ids)
 
Description:
This function creates parametric bicubic surfaces which are the quadrilaterals formed by four sets of vertex points.
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
point1_list[]
This value specifies the first set of points defining vertex 1 of each surface.
STRING
point2_list[]
This value specifies the second set of points defining vertex 2 of each surface.
STRING
point3_list[]
This value specifies the third set of points defining vertex 3 of each surface.
STRING
point4_list[]
This value specifies the fourth set of points defining vertex 4 of each surface.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for each set of four input vertex points. Each surface will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see asm_const_surface_vertex (p. 487) in the PCL Reference Manual Examples
  
ge_boolean_operation
(output_ids, boolean_type, target_solid, tool_solids, created_labels)
 
Description:
This function will perform boolean operations on the target solid with the list of tool solids. The tool solids will be deleted after the operation.
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
boolean_type
This value specifies the boolean operation type (1 - add, 2 - subtract, 3 - intersect).
STRING
target_solids[]
This value specifies a single solid to participate the boolean operation as the target body.
STRING
tool_solids[VIRTUAL]
This value specifies a list of tool solids for the boolean operation. They will be deleted automatically after the operation.
Output:
STRING
created_labels[VIRTUAL]
This value returns a description of the created 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 solid identifiers that are stored in the database and displayed in a viewport.
Example:
 
ge_const_solid_block
(output_ids, x_length, y_length, z_length, boolean_type, target_solid, ref_coord, base_origin, created_labels)
 
Description:
This function will create a solid block by providing a base origin,x length, y length, z, length, and a reference coordinate frame. It also provides an option to perform boolean operation with the input target solid using the created block as the tool 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.
STRING
x_length[]
This value specifies the length of the block along the x-axis of the reference coordinate frame.
STRING
y_length[]
This value specifies the length of the block along the y-axis of the reference coordinate frame
STRING
z_length[]
This value specifies the length of the block along the z-axis of the reference coordinate frame
INTEGER
boolean_type
This value specifies the boolean operation type (0 - no boolean operation, 1 - add, 2 - subtract, 3 - intersect).
STRING
target_solid[]
This value specifies a single solid to participate the boolean operation as the target body if boolean_type is not 0.
STRING
ref_coord[]
The value specifies a reference coordinate frame to orient the block. The default is Coord. 0.
STRING
base_origin[]
The value specifies the base origin of the block.
Output:
STRING
created_labels[VIRTUAL]
This value returns a description of the created 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 solid identifiers that are stored in the database and displayed in a viewport.
Example:
None.  
ge_const_solid_cone
(output_ids, height, base_radius, top_radius, thickness, boolean_type, target_solid, ref_coord, base_center, axis, created_labels)
Description:
This function will create a solid cone by providing a height, base radius, top radius, base center, axis, an optional thickness, and an optional reference coordinate frame. It also provides an option to perform boolean operation with the input target solid using the created cone as the tool 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.
STRING
height[]
This value specifies the height of the cone along its axis.
STRING
base_radius[]
This value specifies the base radius of the cone.
STRING
top_radius[]
This value specifies the top radius of the cone.
STRING
thickness[]
This value specifies the thickness to created a hollow cone. The default value is 0.0 (meaning no hollowing).
INTEGER
boolean_type
This value specifies the boolean operation type (0 - no boolean operation, 1 - add, 2 - subtract, 3 - intersect).
STRING
target_solid[]
This value specifies a single solid to participate the boolean operation as the target body if boolean_type is not 0.
STRING
ref_coord[]
This value specifies an optional reference coordinate frame to orient the cone. The default is Coord. 0.
STRING
base_center[]
This value specifies the base center of the cone.
STRING
axis[]
This value specifies the axis of the cone.
Output:
STRING
created_labels[VIRTUAL]
This value returns a description of the created 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 solid identifiers that are stored in the database and displayed in a viewport. 
ge_const_solid_cylinder
(output_ids, height, radius, thickness, boolean_type, target_solid, ref_coord, base_center, axis, created_labels)
Description:
This function will create a solid cylinder by providing a height, radius, base center, axis, an optional thickness, and an optional reference coordinate frame. It also provides an option to perform boolean operation with the input target solid using the created cylinder as the tool 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.
STRING
height[]
This value specifies the height of the cylinder along its axis.
STRING
radius[]
This value specifies the radius of the cylinder.
STRING
thickness[]
This value specifies the thickness to created a hollow cylinder. The default value is 0.0 (meaning no hollowing).
INTEGER
boolean_type
This value specifies the boolean operation type (0 - no boolean operation, 1 - add, 2 - subtract, 3 - intersect).
STRING
target_solid[]
This value specifies a single solid to participate the boolean operation as the target body if boolean_type is not 0.
STRING
ref_coord[]
This value specifies an optional reference coordinate frame to orient the cylinder. The default is Coord. 0.
STRING
base_center[]
This value specifies the base center of the cylinder.
STRING
axis[]
This value specifies the axis of the cylinder.
Output:
STRING
created_labels[VIRTUAL]
This value returns a description of the created 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 solid identifiers that are stored in the database and displayed in a viewport.
Example:
None.
 
ge_const_solid_sphere
(output_ids, radius, boolean_type, target_solid, ref_coord, center, axis, created_labels)
 
Description:
This function will create a solid sphere by providing a radius, center point, axis, and an optional reference coordinate frame. It also provides an option to perform boolean operation with the input target solid using the created sphere as the tool 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.
STRING
radius[]
This value specifies the radius of the sphere.
INTEGER
boolean_type
This value specifies the boolean operation type (0 - no boolean operation, 1 - add, 2 - subtract, 3 - intersect).
STRING
target_solid[]
This value specifies a single solid to participate the boolean operation as the target body if boolean_type is not 0.
STRING
ref_coord[]
This value specifies an optional reference coordinate frame to orient the sphere. The default is Coord. 0.
STRING
center[]
This value specifies the center of the sphere.
STRING
axis[]
This value specifies the axis of the sphere.
Output:
 
 
STRING
created_labels[VIRTUAL]
This value returns a description of the created 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 solid identifiers that are stored in the database and displayed in a viewport.
Example:
None.
  
ge_const_solid_extrude
(output_ids, delta, scale, angle, origin, coord_frame, surface_list, created_ids)
 
Description:
This function creates solids by moving a surface through space along a defined axis while simultaneously scaling and rotating the created solids. Use this function to create Parasolid solids.
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
delta[]
This value specifies a translation vector defining the direction and magnitude of the extrusion operation.
REAL
scale
This value specifies the scaling factor.
REAL
angle
This value specifies the angle to rotate the surface around the translation vector during extrusion.
STRING
origin[]
This value specifies the point of origin of the extrusion.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
STRING
surface_list[]
This value specifies the list of surfaces to be extruded.
Output:
STRING
created_ids[VIRTUAL]
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.
14000001
LpGetHeapSpace: Allocated heapspace is exhausted.
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.
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.
38000003
No blob provided.
38000409
The Sweep Extrude Solid builder failed to create the evaluator table. Solid was not created.
38000452
Unable to calculate a point on the solid.
38000845
Unable to acquire %I% words of virtual memory.
Remarks:
This function displays a message listing the number of solids created and their IDs.
One solid will be created for each input surface. Each solid will be displayed in the graphics window.
Example:
None.
 
ge_const_solid_revolve
(output_ids, axis, angle, offset, coord_frame, surface_list, created_ids)
Description:
This function creates a solid of revolution by revolving a set of surfaces about an axis of rotation. Use this function to create Parasolid solids.
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
axis[]
This value specifies the axis of rotation.
REAL
angle
This value specifies the total angle to revolve each surface in degrees.
REAL
offset
This value specifies the initial offset angle in degrees.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
STRING
surface_list[]
This value specifies the list of surfaces to be revolved.
Output:
STRING
created_ids[VIRTUAL]
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.
14000001
LpGetHeapSpace: Allocated heapspace is exhausted.
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.
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.
38000003
No blob provided.
38000407
The Sweep Arc Solid builder failed to create the evaluator table. Solid was not created.
38000452
Unable to calculate a point on the solid.
38000492
Zero length vector in Solid %I% construction.
38000845
Unable to acquire %I% words of virtual memory.
Remarks:
This function displays a message listing the number of solids created and their IDs.
Each solid will be displayed in the graphics window.
Example:
  
ge_const_solid_torus
(output_ids, major_radius, minor_radius, boolean_type, target_solid, ref_coord, center, axis, created_labels)
 
Description:
This function will create a solid torus by providing a major radius, minor radius, center, axis, and an optional reference coordinate frame. It also provides an option to perform boolean operation with the input target solid using the created torus as the tool 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.
STRING
major_radius[]
This value specifies the major radius of the torus.
STRING
minor-radius[]
This value specifies the minor radius of the torus.
STRING
thickness[]
This value specifies the thickness to created a hollow torus. The default value is 0.0 (meaning no hollowing).
INTEGER
boolean_type
This value specifies the boolean operation type (0 - no boolean operation, 1 - add, 2 - subtract, 3 - intersect).
STRING
target_solid[]
This value specifies a single solid to participate the boolean operation as the target body if boolean_type is not 0.
STRING
ref_coord[]
This value specifies a reference coordinate frame to orient the torus. The default is Coord. 0.
STRING
center[]
This value specifies the center of the torus.
STRING
axis[]
This values specifies the axis of the torus.
Output:
STRING
created_labels[VIRTUAL]
This value returns a description of the created 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 solid identifiers that are stored in the database and displayed in a viewport.
Example:
None.
 
ge_const_surface_midsurface
(output_ids, midsurf_option, max_thickness, solid_list, surface1_list, surface2_list, created_labels)
 
Description:
This function will create a midsurface from a solid or a pair of surfaces.
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.
INTEGER
midsurf_option
This value specifies the edit option used to edit the midsurface. Valid values are 1 thru 3, where:
1 = midsurface will be created automatically from a solid
2= midsurface will be created from a pair of surfaces and trimmed to the bounds of the parent surfaces or solid faces.
3= midsurface will be created from a pair of surfaces and not trimmed to the bounds of the parent surfaces or solid faces.
REAL
max_thickness
This value specifies the maximum thickness the solid face pairs can be apart in order to calculate a midsurface between (wall thickness)
STRING
solid_list[]
This value specifies the list of solids to create the midsurface from.
STRING
surface1_list[]
This value specifies the first surface/face of a pair to create the midsurface from.
STRING
surface2_list[]
This value specifies the second surface/face of a pair to create the midsurface from.
Output:
STRING
created_labels[VIRTUAL]
This value returns a description of the created midsurface 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.
 
sgm_const_curve_2d_arc3point_v1
(output_ids, create_center, plane_list, start_list, mid_list, end_list, created_ids)
 
Description:
This function creates circular arcs in two dimensional space, defined by starting points, midpoints, and end points.
Input:
STRING
output_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
create_center
This value is set to TRUE if a point is to be created at the center of the arc.
STRING
plane_list[]
This value specifies the construction plane of the arc.
STRING
start_list[]
This value specifies the start point of the arc.
STRING
mid_list[]
This value specifies the midpoint of the arc.
STRING
end_list[]
This value specifies the end point of the arc.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve will be created for each set of three points. Each curve 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.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
38000003
No blob provided.
38000413
Zero length plane normal vector.
38000423
The three points specified are nearly collinear.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_2d_arc3point_v1 (p. 488) in the PCL Reference Manual Examples.
  
sgm_const_curve_2d_arc3point_v2
(output_ids, create_center, plane_list, start_list, mid_list, end_list, project_points, created_ids)
 
Description:
This function creates circular arcs in two dimensional space, defined by starting points, midpoints, and end points.
Input:
STRING
output_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
create_center
This value is set to TRUE if a point is to be created at the center of the arc.
STRING
plane_list[]
This value specifies the construction plane of the arc.
STRING
start_list[]
This value specifies the start point of the arc.
STRING
mid_list[]
This value specifies the midpoint of the arc.
STRING
end_list[]
This value specifies the end point of the arc.
LOGICAL
project_points
This value specifies, when set to TRUE, that the starting points are to be projected onto the plane. When this value is set to FALSE the construction plane will be translated to the starting point location but will still be parallel to the original plane.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve will be created for each set of three points. Each curve 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.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
38000003
No blob provided.
38000413
Zero length plane normal vector.
38000423
The three points specified are nearly collinear.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_2d_arc3point_v2 (p. 489) in the PCL Reference Manual Examples.
  
sgm_const_curve_arc3point
(output_ids, create_center, start_list, mid_list, end_list, created_ids)
 
Description:
This function creates circular arcs defined by start points, midpoints, and end points.
Input:
STRING
output_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
create_center
This value is set to TRUE if a point is to be created at the center of the arc.
STRING
start_list[]
This value specifies the start point of an arc.
STRING
mid_list[]
This value specifies the midpoint of an arc.
STRING
end_list[]
This value specifies the end point of an arc.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve will be created for each set of three points. Each curve 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.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
38000003
No blob provided.
38000423
The three points specified are nearly collinear.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_arc3point (p. 490) in the PCL Reference Manual Examples.
 
sgm_const_curve_bspline
(output_ids, point_list, order, interpolate, param_method, closed, created_ids)
 
Description:
This function creates B-spline curves from sets of points.
Input:
STRING
output_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 point list.
INTEGER
order
This value specifies the order of the B-spline curves.
LOGICAL
interpolate
This value is set to TRUE if the curve is to be interpolated, or to FALSE if the curve is to be approximated.
INTEGER
param_method
This value specifies the parameterization method: 1 = chordal arc length, 2 = modified chordal arc length, and 3 = uniform.
LOGICAL
closed
This value is set to TRUE if the curve is to be a closed curve.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve will be created for each point list. Each curve will be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following messages:
38000472
The number of points selected must be greater or equal to the order of the B-spline curve.
38000475
The maximum number of points used to construct a nurbs curve is currently limited to 1000.
Example:
Please see sgm_const_curve_bspline (p. 491) in the PCL Reference Manual Examples.
 
sgm_const_curve_extract
(output_ids, surface_list, direction, param_pos, created_ids)
 
Description:
This function constructs curves on surfaces by extraction from a set of surfaces at a set of positions in a specified parametric direction.
Input:
STRING
output_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
surface_list[]
This value specifies the surface list from which the curves will be extracted.
INTEGER
direction
This value specifies the parametric direction to create the curve in: 1 = C1 direction, and 2 = C2 direction.
REAL
param_pos
This value specifies the parametric position in the given direction from which to extract the curve.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve on surface will be created for each surface in the direction and position specified. Each curve will be displayed in the graphics window as it is created.
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:
 
38000433
A Zero length curve would have been created had the process continued. Modify application input and try again.
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.
1000518
Specified Parametric Direction value of %I% is invalid. Valid values are 1 and 2.
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_const_curve_extract (p. 492) in the PCL Reference Manual Examples.
 
sgm_const_curve_extract_edge
(output_ids, edge_list, created_ids)
 
Description:
This function creates curves by extraction from edges of surfaces or solids.
Input:
STRING
output_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
edge_list[]
This value specifies the list of edges from which the curves are extracted.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve will be created for each edge input. Each curve 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:
 
1000054
An invalid geometric entity type was used as input. The valid entity type to use is %A%. Unable to process request.
This function can display a fatal popup message form with the following messages:
 
1000003
Line %I% does not exist. Unable to continue.
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_const_curve_extract_edge (p. 493) in the PCL Reference Manual Examples.
  
sgm_const_curve_fillet
(output_ids, radius, trim_original, point1_list, point2_list, created_ids)
 
Description:
This function constructs a fillet of a specified radius between any two co-planar curves.
Input:
STRING
output_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.
REAL
radius
This value specifies the fillet radius.
LOGICAL
trim_original
This value is set to TRUE if the original line is to be trimmed after the fillet is created.
STRING
point1_list[]
This value specifies the first fillet location list.
STRING
point2_list[]
This value specifies the second fillet location list.
Output:
STRING
created_ids[VIRTUAL]
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 set of lines and points. All curves created will be displayed in the graphics window. The created curves will be circular arcs. The input curves must be co-planar.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
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%.
1000557
The fillet radius value is unacceptable. The radius value of %G% must be greater than the fillet tolerance value of %G%.
1000558
The fillet line with radius %G% cannot be created between the two input curves.
1000571
The fillet curve has a zero angle of rotation. The fillet cannot be created.
1000572
The fillet curve has a zero radius. The fillet cannot be created.
2001070
Unable to acquire %I% words of virtual memory.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
Example:
None.
  
sgm_const_curve_involute
(output_ids, axis, option, scalar1, scalar2, coord_frame, point, created_ids)
 
Description:
This function creates a true involute curve defined as the unwinding of an imaginary string from a circular bobbin.
Input:
STRING
output_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
axis[]
This value specifies the axis of the involute curve.
INTEGER
option
This value specifies the option to use in creating the involute. If option = 1 the radii method is used, otherwise the angle method is used.
REAL
scalar1
This value specifies a scalar value depending on the value of option. If the angle method is used, this is the angle to unwind the curve. If the radii method is used, this is the base radius of the bobbin.
REAL
scalar2
This value specifies a scalar value depending on the value of option. If the angle method is used, this is the starting angle of the curve. If the radii method is used, this is the stop radius of the curve.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
STRING
point[]
This value specifies the list of points to be swept.
Output:
STRING
created_ids[VIRTUAL]
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.
1000054
An invalid geometric entity type was used as input. The valid entity type to use is %A%. Unable to process request.
1000211
The length of the Axis equals zero.
1000226
The angle which the involute traverses must be positive.
1000227
The starting angle of the involute must be positive.
1000228
The radius of the base circle must be positive.
1000229
The stop radius of the involute must be larger than the base radius.
1000230
The point is inside the base circle.
1000231
The point is outside the stop radius of the involute.
Remarks:
This function displays a message listing the number of curves created and their IDs.
The number of curves defined by the input value num_curves will be created for each point. Each curve will be displayed in the graphics window.
Example:
None.
 
sgm_const_curve_loft
(output_ids, slope_control, point_list, slope_list1, slope_list2, created_ids)
 
Description:
This function creates true involute curves from sets of points with end point slope control.
Input:
STRING
output_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
slope_control
This value is set to TRUE if the end point slope control is to be enforced.
STRING
point_list[]
This value specifies the point list.
STRING
slope_list1[]
This value specifies the vectors defining the initial slope.
STRING
slope_list2[]
This value specifies the vectors defining the final slope.
Output:
STRING
created_ids[VIRTUAL]
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:
None.
Example:
Please see sgm_const_curve_loft (p. 494) in the PCL Reference Manual Examples.
 
sgm_const_curve_offset
(output_ids, od_flag, op_method, dist1, param1, dist2, param2, ncopies, vector_list, curve_list, created_labels)
 
Description:
This function will create constant or variable offset curves from other curves. It should be noted that while nonplanar curves could be specified, the offset will occur in the least-squares plane of the input curve. If the input curve is a straight line, then a direction vector is required.
Input:
STRING
output_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
od_flag
This value specifies the offset distance flag;
1 = Single value offset, constant distance
2 = Offset distance varying linearly
LOGICAL
op_method
This value specifies the offset parametrization method;
=True; function of parameter value
=False; function of arc length
REAL
dist1
This value specifies the start offset distance.
REAL
param1
This value specifies the arc length or parameter value, depending on op_method, of first offset distance. (only used if od_flag = 2)
REAL
dist2
This value specifies the end offset distance.
REAL
param2
This value specifies the arc length or parameter value, depending on op_method, of second offset distance. (only used if od_flag = 2)
INTEGER
ncopies
This value specified the number of copies to make of the offset curve.
STRING
vector_list[]
This value specifies the direction vector if the input curve is a straight line.
STRING
curve_list[]
This value specifies the input curve list to create the offset curve(s) from.
Output:
STRING
created_labels[VIRTUAL]
This value returns a description of the created curve 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 solid identifiers that are stored in the database and displayed in a viewport.
Example:
None
  
sgm_const_curve_project_v1
(output_ids, curve_list, surface_list, etype, delete_original, project_method, vector, coord_frame, projection_tolerance, created_ids)
 
Description:
This function constructs curves on a set of surfaces by projecting an existing set of curves along a projection vector onto a set of surfaces.
Input:
STRING
output_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 project onto the list of surfaces.
STRING
surface_list[]
This value specifies the list of surfaces onto which the curves are to be projected.
INTEGER
etype
This value specifies the entity type to project the curve to:
=1; project to surface
=2; project to plane
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.
INTEGER
project_method
This value specifies the method of defining the projection vector: 1 = the curves to be projected lie in a plane and it is desired to project the curves normal to this plane, 2 = the direction of projection is normal to the surface at the point of closest approach to the curve, 3 = the direction of projection is to be given by a vector, and 4 = the direction of projection is the view vector.
STRING
vector[]
This value specifies the projection vector.
STRING
coord_frame[]
This value specifies the coordinate frame for the projection vector.
REAL
projection_tolerance
This value specifies a tolerance parameter. The algorithm creates all curves along the projected surface so that the maximum distance lies between them is the distance defined by this value
Output:
STRING
created_ids[VIRTUAL]
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:
This function can display an information popup message form with the following messages:
1000040
Duplicate %A% was not created at users request
38000412
Negating the View Vector coordinates and trying again...
This function can display a warning popup message form with the following message:
38000415
Skipping zero length Curve %I%.
This function can display a fatal popup message form with the following messages:
1000540
The projection vector has zero length.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve
38000488
Unable to manifold the curve(s) to the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
None.
 
sgm_const_curve_revolve
(output_ids, axis, angle, offset, coord_frame, point, created_ids)
 
Description:
This function creates arcs by revolving points about an axis of rotation.
Input:
STRING
output_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
axis[]
This value specifies the axis of rotation.
REAL
angle
This value specifies the total angle to revolve each point.
REAL
offset
This value specifies the initial offset angle.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
STRING
point[]
This value specifies the list of points to be revolved.
Output:
STRING
created_ids[VIRTUAL]
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.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
Remarks:
This function displays a message listing the number of curves created and their IDs.
One curve will be created for each point. Each curve will be displayed in the graphics window.
Example:
Please see sgm_const_curve_revolve (p. 495) in the PCL Reference Manual Examples.
 
sgm_const_surface_3edge
(output_ids, curve1_list, curve2_list, curve3_list, created_ids)
 
Description:
This function creates bi-parametric surfaces from three sets of curves defining the boundary of the surfaces.
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
curve1_list[]
This value specifies the first set of curves.
STRING
curve2_list[]
This value specifies the second set of curves.
STRING
curve3_list[]
This value specifies the third set of curves.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for each set of three input curves. Each surface will be displayed in the graphics window as it is created.
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:
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000402
The Surface Edge Surface builder failed to create the evaluator table. Surface was not created.
38000403
Bounding Curves must form a closed loop. Surface was not created.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_surface_3edge (p. 496) in the PCL Reference Manual Examples.
 
sgm_const_surface_3edge_man
(output_ids, curve1_list, curve2_list, curve3_list, surface_list, cubic, created_ids)
 
Description:
This function creates manifold surfaces from three sets of curves defining the boundary of the parametric or generalized coons surfaces.
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
curve1_list[]
This value specifies the first set of curves.
STRING
curve2_list[]
This value specifies the second set of curves.
STRING
curve3_list[]
This value specifies the third set of curves.
STRING
surface_list[]
This value specifies the surfaces on which the manifold surfaces are created.
LOGICAL
cubic
This value specifies, when set to TRUE, that parametric bicubic surfaces be created. When this value is set to FALSE, generalized coons surfaces will be created.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for each set of three input curves. Each surface will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000118
An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121
Invalid format conversion flag specified for surface conversion.
38000402
The Surface Edge Surface builder failed to create the evaluator table. Surface was not created.
38000403
Bounding Curves must form a closed loop. Surface was not created.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000488
Unable to manifold the curve(s) to the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_surface_3edge_man (p. 498) in the PCL Reference Manual Examples.
 
sgm_const_surface_4edge
(output_ids, curve1_list, curve2_list, curve3_list, curve4_list, created_ids)
 
Description:
This function creates bi-parametric surfaces from four sets of curves defining the boundary of the surfaces.
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
curve1_list[]
This value specifies the first set of curves.
STRING
curve2_list[]
This value specifies the second set of curves.
STRING
curve3_list[]
This value specifies the third set of curves.
STRING
curve4_list[]
This value specifies the fourth set of curves.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for each set of four input curves. Each surface will be displayed in the graphics window as it is created.
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:
 
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000402
The Surface Edge Surface builder failed to create the evaluator table. Surface was not created.
38000403
Bounding Curves must form a closed loop. Surface was not created.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_surface_4edge (p. 499) in the PCL Reference Manual Examples.
  
sgm_const_surface_4edge_man
(output_ids, curve1_list, curve2_list, curve3_list, curve4_list, surface_list, cubic, created_ids)
 
Description:
This function creates manifold surfaces from four sets of curves defining the boundary of the parametric or generalized coons surfaces.
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
curve1_list[]
This value specifies the first set of curves.
STRING
curve2_list[]
This value specifies the second set of curves.
STRING
curve3_list[]
This value specifies the third set of curves.
STRING
curve4_list[]
This value specifies the fourth set of curves.
STRING
surface_list[]
This value specifies the surfaces on which the manifold surfaces are created.
LOGICAL
cubic
This value specifies, when set to TRUE, that parametric bicubic surfaces be created. When this value is set to FALSE, generalized coons surfaces will be created.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for each set of four input curves. Each surface will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000118
An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121
Invalid format conversion flag specified for surface conversion.
38000325
The current implementation of this application does not permit the use of closed curves to represent an edge. It is suggested that the same result may be obtained by using these edges to create a trimmed surface directly.
38000402
The Surface Edge Surface builder failed to create the evaluator table. Surface was not created.
38000403
Bounding Curves must form a closed loop. Surface was not created.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000488
Unable to manifold the curve(s) to the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_surface_4edge_man (p. 501) in the PCL Reference Manual Examples.
 
sgm_const_surface_extract_face
(output_ids, face_list, created_ids)
 
Description:
This function creates surfaces by extraction from the faces of solids.
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
face_list[]
This value specifies the list of solid faces from which the surfaces are extracted.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for each parametric plane specified in each solid. Each surface created will be displayed in the graphics window.
This function can display a fatal popup message form with the following message:
 
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_surface_extract_face (p. 502) in the PCL Reference Manual Examples.
  
sgm_const_surface_extrude
(output_ids, delta, scale, angle, origin, coord_frame, curve_list, created_ids)
 
Description:
This function creates bi-parametric surfaces by moving curves through space along a defined axis while simultaneously scaling and rotating the created surfaces.
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
delta[]
This value specifies a translation vector defining the direction and magnitude of the extrusion operation.
REAL
scale
This value specifies the scaling factor.
REAL
angle
This value specifies the angle to rotate the curve around the translation vector during extrusion.
STRING
origin[]
This value specifies the point of origin of the extrusion.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
STRING
curve_list[]
This value specifies the list of curves to be extruded.
Output:
STRING
created_ids[VIRTUAL]
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.
38000003
No blob provided.
38000430
The Sweep Extrude Surface builder failed to create the evaluator table. Surface was not created.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000845
Unable to acquire %I% words of virtual memory.
Remarks:
This function displays a message listing the number of surfaces created and their IDs.
One surface will be created for each input curve. Each surface will be displayed in the graphics window.
Example:
Please see sgm_const_surface_extrude (p. 504) in the PCL Reference Manual Examples.
  
sgm_const_surface_glide
(output_ids, scale, glide_option, director_curve_list, base_curve_list, created_ids)
 
Description:
This function constructs a surface by "gliding" a base curve along a director curve.
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.
REAL
scale
This value specifies the scale factor to apply to the glide.
INTEGER
glide_option
This value specifies the glide option:
=0; Avoid twisting; eliminates one degree of freedom.
=1; Invokes “fixed logic” that drags the base curve along the path without rotating. Eliminates three degrees of freedom.
STRING
director_curve_list[]
This value specifies the list of curves along which the base curve is to glide.
STRING
base_curve_list[]
This value specifies the list of base curves.
Output:
STRING
created_ids[VIRTUAL]
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:
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 fatal popup message form with the following messages:
38000431
The Sweep Glide Surface builder failed to create the evaluator table. Surface was not created.
38000845
Unable to acquire %I% words of virtual memory.
  
sgm_const_surface_glide_2curve
(output_ids, scale, director1_curve_list, director2_curve_list, created_ids)
Description:
This function constructs a surface by "gliding" a base curve along a director curve.
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.
LOGICAL
scale
If .TRUE., the local scaling is determined by the chordal distance between the two director curves. If .FALSE., the base curve remains unscaled.
STRING
director1_curve_list[]
This value specifies the list of primary curves along which the base curve is to glide.
STRING
director2_curve_list[]
This value specifies the list of secondary curves which, along with the primary curves control the orientation and possibly the scaling of the base curve.
STRING
base_curve_list[]
This value specifies the list of base curves.
Output:
STRING
created_ids[VIRTUAL]
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:
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 fatal popup message form with the following messages:
38000431
The Sweep Glide Surface builder failed to create the evaluator table. Surface was not created.
38000845
Unable to acquire %I% words of virtual memory.
sgm_const_surface_offset
(output_ids, dist, ncopies, guide_surface, surface_list, created_labels)
Description:
This function will create constant offset surfaces from other surfaces .
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.
REAL
dist
This value specifies the distance by which the surface is normally offset.
INTEGER
ncopies
This value specifies the number of copies of the offset surface to make.
LOGICAL
guide_surface
This value specifies whether the first surface in the surface list is to be used as a guide surface to define the offset direction for all surfaces in the list.
STRING
surface_list[]
This value specifies the input surface list to create the offset surface(s) from.
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:
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 solid identifiers that are stored in the database and displayed in a viewport.
Example:
None.
 
sgm_const_surface_revolve
(output_ids, axis, angle, offset, coord_frame, curve_list, created_ids)
 
Description:
This function creates surfaces by revolving curves about an axis of rotation.
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
axis[]
This value specifies the axis of rotation.
REAL
angle
This value specifies the total angle to revolve each curve in degrees.
REAL
offset
This value specifies the initial offset angle in degrees.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
STRING
curve_list[]
This value specifies the list of curves to be revolved.
Output:
STRING
created_ids[VIRTUAL]
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.
1000211
The length of the Axis equals zero.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
Remarks:
This function displays a message listing the number of surfaces created and their IDs.
Surfaces will be created for each curve. All surfaces created will be displayed in the graphics window.
 
Example:
Please see sgm_const_surface_revolve (p. 505) in the PCL Reference Manual Examples.
 
sgm_const_vector_2point
(output_ids, base_point_list, tip_point_list, created_ids)
 
Description:
This function creates vectors between two sets of points.
Input:
STRING
output_ids[]
This value specifies the vector ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of vector IDs.
STRING
base_point_list[]
This value specifies the vector base point list.
STRING
tip_point_list[]
This value specifies the vector tip point list.
Output:
STRING
created_ids[VIRTUAL]
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 vectors created and their IDs.
One vector will be created for each point set. Each vector will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
38000441
A Zero length vector would have been created had the process continued. Modify application input and try again.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_vector_2point (p. 506) in the PCL Reference Manual Examples.
 
sgm_const_vector_2point_v1
(output_ids, point1_list, point2_list, unit_vector, created_ids)
 
Description:
This function creates a vector between two points with an option to create a unit vector.
Input:
STRING
output_ids[]
This value specifies the vector ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of vector IDs.
STRING
point1_list[]
This value specifies the first point list.
STRING
point2_list[]
This value specifies the second point list.
LOGICAL
unit_vector
This value specifies whether the vector to be created is a unit vector.
Output:
STRING
created_ids[VIRTUAL]
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 vectors created and their IDs.
One vector will be created for each set of points. Each vector will be displayed in the graphics window.
This function can display a warning popup message form with the following message:
 
38000441
A zero length vector would have been created had the process continued Modify application input and try again.
This function can display a fatal popup message form with the following message:
 
38000845
Unable to acquire %I% words of virtual memory.
Example:
None.
 
sgm_const_vector_interpolate
(output_ids, curve_list, ratio, vector_count, param_method, created_ids)
 
Description:
This function constructs vectors by interpolating along a curve.
Input:
STRING
output_ids[]
This value specifies the vector ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of vector IDs.
STRING
curve_list[]
This value specifies the list of curves to interpolate along.
REAL
ratio
This value specifies the vector spacing ratio (the distance defined by (nvectors to endpoint) divided by the distance defined by (startpoint to second point).
INTEGER
vector_count
This value specifies the number of interior vectors to create.
INTEGER
param_method
This value specifies the parameterization method of interpolation:
=1; equal relative Arc Length.
=2; equal relative parametric values.
Output:
STRING
created_ids[VIRTUAL]
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:
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 fatal popup message form with the following messages:
1000222
There must be at least one vector as input.
1000507
Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2
38000845
Unable to acquire %I% words of virtual memory.
  
sgm_const_vector_intersect
(output_ids, first_plane_list, second_plane_list, vector_rev_direction, created_ids)
 
Description:
This function creates vectors at the intersections of two sets of planes.
Input:
STRING
output_ids[]
This value specifies the vector ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of vector IDs.
STRING
first_plane_list[]
This value specifies the first list of planes to intersect with the second.
STRING
second_plane_list[]
This value specifies the second list of planes to intersect with the first.
LOGICAL
vector_rev_direction
This value specifies, when set to TRUE, that the vector direction be reversed.
Output:
STRING
created_ids[VIRTUAL]
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 vectors created and their IDs.
One vector will be created for each pair of planes. Each vector will be displayed as it is created.
A base and tip of a vector is determined by projecting two plane origins onto an intersection curve, the first origin being the base and the second being the tip. If a base and tip are not unique, then the tip is assumed and the input value vector_rev_direction will be used to control the vector direction, which will be arbitrary.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
38000447
The two intersection planes are parallel.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_vector_intersect (p. 507) in the PCL Reference Manual Examples.
 
sgm_const_vector_magnitude
(output_ids, magnitude_list, direction_list, base_point_list, coord_frame, created_ids)
 
Description:
This function creates vectors from base points, directions, and magnitudes.
Input:
STRING
output_ids[]
This value specifies the vector ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of vector IDs.
STRING
magnitude_list[]
This value specifies the vector magnitude list.
STRING
direction_list[]
This value specifies the vector direction list.
STRING
base_point_list[]
This value specifies the vector base point list.
STRING
coord_frame[]
This value specifies the coordinate frame in which the vector will be created.
Output:
STRING
created_ids[VIRTUAL]
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 vectors created and their IDs.
One vector will be created for each point. Each vector will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
38000441
A Zero length vector would have been created had the process continued. Modify application input and try again.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_vector_magnitude (p. 509) in the PCL Reference Manual Examples.
  
sgm_const_vector_normal
(output_ids, normal_option, entity_list, magnitude_list, base_point_list, created_ids)
 
Description:
This function creates vectors that are normal to planes, surfaces, or element faces.
Input:
STRING
output_ids[]
This value specifies the vector ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of vector IDs.
INTEGER
normal_option
This value specifies the normal option: 1 = normal to a plane, 2 = normal to a surface, and 3 = normal to an element face.
STRING
entity_list[]
This value specifies the planes, surfaces, and/or element faces used to calculate the normal vectors.
STRING
magnitude_list[]
This value specifies the vector magnitude list.
STRING
base_point_list[]
This value specifies the vector base point list.
Output:
STRING
created_ids[VIRTUAL]
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 vectors created and their IDs.
One vector will be created for each entity in the entity list. Each vector will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
38000441
A Zero length vector would have been created had the process continued. Modify application input and try again.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_vector_normal (p. 510) in the PCL Reference Manual Examples.
 
sgm_const_vector_product
(output_ids, vector_list1, vector_list2, created_ids)
 
Description:
This function creates product vectors from two sets of vectors. The generated vectors are based on the origin points of the first set of vectors.
Input:
STRING
output_ids[]
This value specifies the vector ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of vector IDs.
STRING
vector_list1[]
This value specifies the first vector list.
STRING
vector_list2[]
This value specifies the second vector list.
Output:
STRING
created_ids[VIRTUAL]
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 vector created and their IDs.
One vector will be created for each entity in the entity list. Each vector will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
38000441
A Zero length vector would have been created had the process continued. Modify application input and try again.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_vector_product (p. 511) in the PCL Reference Manual Examples.
 
sgm_const_surface_vertex
(output_ids, point1_list, point2_list, point3_list, point4_list, created_ids)
.
Description:
This function creates bi-parametric surfaces bounded by the quadrilaterals formed by four sets of vertex points.
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
point1_list[]
This value specifies the first set of points defining vertex 1 of each surface.
STRING
point2_list[]
This value specifies the second set of points defining vertex 2 of each surface
STRING
point3_list[]
This value specifies the third set of points defining vertex 3 of each surface.
STRING
point4_list[]
This value specifies the fourth set of points defining vertex 4 of each surface.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for each set of four input vertex points. Each surface will be displayed in the graphics window as it is created.
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 fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000123
The input points for the creation of a surface are invalid.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_surface_vertex (p. 513) in the PCL Reference Manual Examples.
  
sgm_create_curve_boundary
(output_ids, construct_method, exist, created_ids)
 
Description:
This function constructs curves from a set of picklist construct methods.
Input:
STRING
output_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
construct_method[]
This value specifies the set of construct methods made up of the resulting strings produced by the last 3 picklist items of the Geometry “Create/Surface/Curve” form.
Output:
INTEGER
exist
This value is set to 1 if the curve already exists.
STRING
created_ids[VIRTUAL]
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.
14000001
LpGetHeapSpace: Allocated heapspace is exhausted.
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.
14000049
LpParseExpression: Excess left parenthesis detected.
14000050
LpParseExpression: Excess right parenthesis detected.
14000208
LpSublistAttributeGet: Curve evaluator error.
14000210
LpSublistAttributeGet: Insufficient size in return area for geometry.
14000211
LpSublistAttributeGet: Surface evaluator error.
14000281
LpExpandPclVariables: Virtual memory is full.
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.
14000308
LpEval: Memory exhausted preparing to evaluate pick.
Remarks:
This function displays a message listing the number of curves created and their IDs.
One curve will be created for each construct list. Each curve will be displayed in the graphics window as it is created.
Example:
Please see sgm_create_curve_boundary (p. 514) in the PCL Reference Manual Examples.
  
sgm_create_curve_bspline
(output_ids, point_list, order, interpolate, param_method, closed, created_ids)
 
Description:
This function constructs B-spline curves from sets of points.
Input:
STRING
output_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 point list.
INTEGER
order
This value specifies the order of the B-spline curves.
LOGICAL
interpolate
This value is set to TRUE if the curve is to be interpolated, or to FALSE if the curve is to be approximated.
INTEGER
param_method
This value specifies the parameterization method, 1 = chordal arc length, 2 = modified chordal arc length, and 3 = uniform.
LOGICAL
closed
This value is set to TRUE if the curve is to be closed.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve will be created for each point list. Each curve will be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following message:
 
38000472
The number of points selected must be greater or equal to the order of the B-spline curve.
Example:
Please see sgm_create_curve_bspline (p. 515) in the PCL Reference Manual Examples.
 
sgm_create_curve_chain
(output_ids, curve_list, delete_original, created_ids)
 
Description:
This function constructs chains or composite curves from a list of curves.
Input:
STRING
output_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 curve list.
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[VIRTUAL]
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.
One chain will be created for each curve list. Each chain will be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following messages:
 
1000201
%A% is not a recognized syntax for a Curve List.
38000445
There must be at least two curves as input to Chain. The invalid value input was %A%.
38000462
Size and complexity of the problem exceeds the available memory.
38000467
Curves to be chained are not contiguous due to a gap of %G%. The point of discontinuity has been marked.
Example:
Please see sgm_create_curve_chain (p. 517) in the PCL Reference Manual Examples.
 
sgm_create_curve_chain_v1
(output_ids, curve_list, delete_original, segment_id, created_ids)
 
Description:
This function creates chains or composite curves from a list of curves.
Input:
STRING
output_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 sequentially. This value is used only if the original curve to extend is a topological edge.
STRING
curve_list[]
This value specifies the original curves to chain.
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.
INTEGER
segment_id
This value specifies the id for the graphics segment used for the creation of graphics markers.
Output:
INTEGER
segment_id
This value returns the id of the graphics segment id used for the creation of graphics markers.
STRING
created_ids[VIRTUAL]
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.
One chain curve will be created for each curve list. The chain curve created will be displayed in the graphics window.
This function can display a fatal popup message form with the following messages:
 
1000201
%A% is not a recognized syntax for a Curve List.
38000445
There must be at least two curves as input to Chain. The invalid value input was %A%.
38000462
Size and complexity of the problem exceeds the available memory.
38000467
Curves to be chained are not contiguous due to a gap of %G%. The point of discontinuity has been marked.
Example:
Please see sgm_create_curve_chain_v1 (p. 518) in the PCL Reference Manual Examples.
 
sgm_create_curve_loft
(output_ids, slope_control, point_list, slope_list1, slope_list2, created_ids)
 
Description:
This function constructs loft-spline curves from sets of points with end point slope control.
Input:
STRING
output_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
slope_control
This value is set to TRUE if the end point slope control is to be enforced.
STRING
point_list[]
This value specifies the point list.
STRING
slope_list1[]
This value specifies the vectors defining the initial slope.
STRING
slope_list2[]
This value specifies the vectors defining the final slope.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve will be created for each point list. Each curve will be displayed in the graphics window as it is created.
Example:
Please see sgm_create_curve_loft (p. 520) in the PCL Reference Manual Examples.
 
sgm_create_surface_composite
(output_labels, surface_list, build_options, clean_tolerance, gap_tolerance, curve_start_label, loop_id, add_list, remove_list, inner_loop_list, vertex_list, delete_cons, implicit_topology, created_labels)
 
Description:
This function creates composite trimmed surfaces.
Input:
STRING
output_labels[]
This value specifies the label of the surface to be created.
STRING
surface_list[]
This value specifies the surfaces from which the composite will be created.
INTEGER
build_options
This value specifies the options for the builder.
REAL
clean_tolerance
This value specifies the cleanup tolerance for the creation of surface boundaries.
REAL
gap_tolerance
This value specifies the gap distance for the surface builder.
INTEGER
curve_start_label
This value specifies the starting label for the boundary curves that will be created.
INTEGER
loop_id
This value specifies the loop ID identifying the outer boundary.
STRING
add_list[]
This value specifies the edge list to be added to the free boundary edges defined by the input surface list.
STRING
remove_list[]
This value specifies the edge list to be removed from the free boundary edges defined by the input surface list.
STRING
inner_loop_list[]
This value specifies the inner loop edge list.
STRING
vertex_list[]
This value specifies the vertex list.
LOGICAL
delete_cons
This value specifies, when set to TRUE, that the surfaces in the input value surface_list be deleted after the composite trimmed surfaces are created.
LOGICAL
implicit_topology
This value specifies, when set to TRUE, that the edges of the created surfaces are defined by the chain links. When this value is set to FALSE the chain link edges will be combined if there is slope continuity in the 2D segments.
Output:
STRING
created_labels[VIRTUAL]
This value returns the label of the composite surface created.
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:
1000056
Curve list is blank. Input required data.
1000057
Surface list is blank. Input required data.
1000707
No surfaces were found to exist in the database as defined in the surface list. The surface list input was %A%.
38000462
Size and complexity of the problem exceeds the available memory.
38001001
No outer boundary has been selected!
38001002
Problem 2: At the red square there is no boundary curve to continue and the loop is not closed. The white square is showing the start location. White edges are already checked. Red square is showing the current position.
Possible Action: Add a curve connecting the red square to a red boundary curve using the < Modify Boundary > tool.
38001003
Problem 1: At the red square there are more than one boundary curves to continue. The white square is showing the start location. White edges are already checked. Red square is showing the current position.
Possible Action: Remove the appropriate edge using the < Modify Boundary > tool.
38001004
Problem 3: The red and green vertices are not part of the selected surfaces; however, the green vertices are within global tolerance and will be projected onto the surfaces. Incorrect vertex placement may result in geometric incongruency. Okay to continue?
38001005
No outer Loop has been defined!
Remarks:
None.
 
Example:
Please see sgm_create_surface_composite (p. 521) in the PCL Reference Manual Examples.
 
sgm_create_surface_decompose
(output_ids, object_surface, manifold_entity, point1_list, point2_list, point3_list, point4_list, created_ids)
 
Description:
This function constructs surfaces from four sets of vertices defined from existing surfaces.
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.
LOGICAL
object_surface
This value is set to TRUE if the object to be created is a surface, and to FALSE if it is to be a simple trimmed surface.
STRING
manifold_entity[]
This value specifies the manifold surface.
STRING
point1_list[]
This value specifies the first vertex point list.
STRING
point2_list[]
This value specifies the second vertex point list.
STRING
point3_list[]
This value specifies the third vertex point list.
STRING
point4_list[]
This value specifies the fourth vertex point list.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for each set of four input points. 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:
 
38000446
Unable to decompose Surface %I%. The Surface to decompose must be of a type different from Composite Trimmed Surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_create_surface_decompose (p. 524) in the PCL Reference Manual Examples.
  
sgm_create_surface_from_elems
(output_id, shell_element_list, vertex_node_list, preview_mode, corner_node_ids, delete_original, deleted_ids)
 
Description:
This function constructs a tessellated surface given a collection of shell elements.
Input:
INTEGER
output_id
This value specifies the surface ID to create.
STRING
shell_element_list[]
This value specifies the list of shell elements to create the surface from.
STRING
vertex_node_list[]
This value specifies the list of nodes that represent vertices.
INTEGER
preview_mode
If =1 returns the 4 corner nodes.
INTEGER
corner_node_ids[4]
If preview_mode =1, this array will have the corner node Ids.
LOGICAL
delete_original
This value specifies whether or not to delete the original shell elements after the surface is created.
Output:
STRING
deleted_ids[VIRTUAL]
This value returns the deleted element 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:
This function can display a warning popup message form with the following messages:
61002002
There are %I% inner loops in the selected surface mesh.
61002003
Duplicate vertices with node id %I% are found on the vertex list. Only one vertex with node id %I% will be used.
61002004
The element edge defined by the nodes with ids %I% and %I% is short (length = %F%). The resulting tessellated surface may have bad parameterization.If the program fails to create a surface, edit the mesh and try again.
61002005
The triangle defined by the nodes with ids %I%, %I% and %I% is small (area = %F%). The resulting tessellated surface may have bad parameterization. If the program fails to create a surface, edit the mesh and try again
This function can display a fatal popup message form with the following messages:
61003002
No shell elements were selected. Select shell elements to create the surface.
61003003
Insufficient memory available. Close other applications and try again.
61003004
The selected mesh is invalid. Three or more elements in the mesh share the edge with nodes %I% and %I%.
61003005
There are no free element edges in the selected mesh. The mesh should be an open shell to create a surface.
61003006
The selected elements form 2 or more disconnected shell meshes. Merge the shell meshes using finite Elements Modify-Mesh-Sew to one and try again or create a surface for each shell mesh.
61003007
Failed on abort signal from client.
61003008
The selected mesh is invalid. Three or more elements in the mesh share edges. This is occurring between elements using the following nodes: %A%
61003009
Error found in disassociating edges with trias.
61003010
The hole with node %I% could not be filled.
61003011
Error on editing the mesh on a hole.
61003012
The selected vertex (Node %I%) is not on the boundary. Select boundary nodes for vertices and try again.
61003013
Duplicate edge with node ids %I% and %I% found on a boundary. Please edit the mesh and try again.
61003014
The boundary of the mesh intersects at the node %I%. Please edit the mesh and try again.
61003015
The input mesh is connected in such a way that it corresponds to the topology of a torus or other surface of higher genus. We are unable to create a surface mapping for this situation. You should partition the input into simpler sets and create two or more surfaces in place of the one just attempted.
61003016
The inner loop with node %I% could not be filled. Please check that inner loop and see if there are some overlapped elements around that loop.
61003017
Error in selecting four default vertices. Please select 4 vertices on the outer loop of the mesh and try again.
 
sgm_create_surface_from_elems1
(output_id, shell_element_list, preview_mode, vertex_node_list, inner_loops_option, nodes_on_loop_list, delete_original, smoother_option, corner_node_ids, deleted_ids)
 
Description:
This function constructs a tessellated surface given a collection of shell elements.
Input:
INTEGER
output_id
This value specifies the surface ID to create.
STRING
shell_element_list[]
This value specifies the list of shell elements to create the surface from.
INTEGER
preview_mode
If =1 returns the 4 corner nodes.
STRING
vertex_node_list[]
This value specifies the list of nodes that represent vertices.
INTEGER
inner_loops_option
This value specifies which loops are to be preserved:
=0; All
=1; None
=2; Selected loops
STRING
nodes_on_loop_list[]
This value specifies the list of nodes on the loop that need to be preserved.
LOGICAL
delete_original
This value specifies whether or not to delete the original shell elements after the surface is created.
LOGICAL
smoother_option
This value specifies a which smoother algorithm to use:
=0; Fast
=1; Better Parametrization
INTEGER
corner_node_ids[4]
If preview_mode =1, this array will have the corner node Ids.
Output:
STRING
deleted_ids[VIRTUAL]
This value returns the deleted element 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:
This function can display a warning popup message form with the following messages:
61002002
There are %I% inner loops in the selected surface mesh.
61002003
Duplicate vertices with node id %I% are found on the vertex list. Only one vertex with node id %I% will be used.
61002004
The element edge defined by the nodes with ids %I% and %I% is short (length = %F%). The resulting tessellated surface may have bad parameterization.If the program fails to create a surface, edit the mesh and try again.
61002005
The triangle defined by the nodes with ids %I%, %I% and %I% is small (area = %F%). The resulting tessellated surface may have bad parameterization. If the program fails to create a surface, edit the mesh and try again
This function can display a fatal popup message form with the following messages:
61003002
No shell elements were selected. Select shell elements to create the surface.
61003003
Insufficient memory available. Close other applications and try again.
61003004
The selected mesh is invalid. Three or more elements in the mesh share the edge with nodes %I% and %I%.
61003005
There are no free element edges in the selected mesh. The mesh should be an open shell to create a surface.
61003006
The selected elements form 2 or more disconnected shell meshes. Merge the shell meshes using finite Elements Modify-Mesh-Sew to one and try again or create a surface for each shell mesh.
61003007
Failed on abort signal from client.
61003008
The selected mesh is invalid. Three or more elements in the mesh share edges. This is occurring between elements using the following nodes: %A%
61003009
Error found in disassociating edges with trias.
61003010
The hole with node %I% could not be filled.
61003011
Error on editing the mesh on a hole.
61003012
The selected vertex (Node %I%) is not on the boundary. Select boundary nodes for vertices and try again.
61003013
Duplicate edge with node ids %I% and %I% found on a boundary. Please edit the mesh and try again.
61003014
The boundary of the mesh intersects at the node %I%. Please edit the mesh and try again.
61003015
The input mesh is connected in such a way that it corresponds to the topology of a torus or other surface of higher genus. We are unable to create a surface mapping for this situation. You should partition the input into simpler sets and create two or more surfaces in place of the one just attempted.
61003016
The inner loop with node %I% could not be filled. Please check that inner loop and see if there are some overlapped elements around that loop.
61003017
Error in selecting four default vertices. Please select 4 vertices on the outer loop of the mesh and try again.
  
sgm_create_surface_ruled
(output_ids, curve1_list, curve2_list, ruled_form, auto_align, created_ids)
 
Description:
This function constructs ruled surfaces between two sets of curves.
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
curve1_list[]
This value specifies the first set of ruling curves for the start of each surface.
STRING
curve2_list[]
This value specifies the second set of ruling curves for the end of each surface.
INTEGER
ruled_form
This value specifies the ruled surface parameterization form: 0 = equal relative arc length, and 1 = equal relative parametric values.
LOGICAL
auto_align
This value specifies, when set to TRUE, that the curves used to construct the surface should be automatically aligned.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for each pair of input curves. Each surface will be displayed in the graphics window as it is created.
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:
 
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_create_surface_ruled (p. 525) in the PCL Reference Manual Examples.
 
sgm_create_surface_trimmed
(output_ids, outer_curve_list, inner_curve_list, surface, outer_curve_delete, inner_curve_delete, delete_surface, created_ids)
 
Description:
This function constructs a trimmed surfaces from a parent surface and outer and/or inner boundary trim curves.
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
outer_curve_list[]
This value specifies the outer boundary trim curves.
STRING
inner_curve_list[]
This value specifies the inner boundary trim curves.
STRING
surface[]
This value specifies the parent surface to trim.
LOGICAL
outer_curve_delete
This value is set to TRUE if the outer boundary trim curves are to be deleted after trimmed surface is created.
LOGICAL
inner_curve_delete
This value is set to TRUE if the inner boundary trim curves are to be deleted after trimmed surface is created.
LOGICAL
delete_surface
This value is set to TRUE if the parent surface is to be deleted after trimmed surface is created.
Output:
STRING
created_ids[VIRTUAL]
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 trimmed surfaces created and their IDs.
One trimmed surface will be created from the surface and outer/inner boundary curves. Each trimmed 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:
 
1000017
Curve %I% does not exist. Unable to continue.
1000019
Surface %I% does not exist. Unable to continue.
1000201
%A% is not a recognized syntax for a Curve List.
1000202
%A% is not a recognized syntax for a Surface List.
38000458
Loop closure required for trimming. A gap of %G% exists.
38000459
Unable to calculate least-squares plane.
38000461
Surface %I% has %I% degenerate edges. The surface may have severe geometric errors and may not be suitable for meshing operations.
38000462
Size and complexity of the problem exceeds the available memory.
38000463
Unable to manifold the trim loops to the surface.
38000464
One or more of the trim loops is degenerate.
38000466
Unable to load the surface into the database.
38000805
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_create_surface_trimmed (p. 527) in the PCL Reference Manual Examples.
 
sgm_create_surface_trimmed_v1
(output_ids, outer_curve_list, inner_curve_list, surface, outer_curve_delete, inner_curve_delete, delete_surface, implicit_topology, created_ids)
 
Description:
This function constructs a trimmed surface from a parent surface and/or outer and inner boundary curves with an option of how to define the edges of the trimmed surfaces.
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
outer_curve_list[]
This value specifies the outer boundary trim curves.
STRING
inner_curve_list[]
This value specifies the inner boundary trim curves.
STRING
surface[]
This value specifies the parent surface to trim.
LOGICAL
outer_curve_delete
This value is set to TRUE if the outer boundary trim curves are to be deleted after trimmed surface is created.
LOGICAL
inner_curve_delete
This value is set to TRUE if the inner boundary trim curves are to be deleted after trimmed surface is created.
LOGICAL
delete_surface
This value is set to TRUE if the parent surface is to be deleted after trimmed surface is created.
LOGICAL
implicit_topology
This value is set to TRUE if the edges are defined from the chain links, or to FALSE if the edges are to be derived from the slope continuity in the 2D segments.
Output:
STRING
created_ids[VIRTUAL]
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 trimmed surfaces created and their IDs.
One trimmed surface will be created from the surface and outer/inner boundary curves. Each trimmed surface will be displayed in the graphics window as it is created.
This function can display a warning popup message form with the following message:
 
38000482
This application only works with one surface at a time. Subsequent selected surfaces will be ignored.
This function can display a fatal popup message form with the following messages:
 
1000017
Curve %I% does not exist. Unable to continue.
1000019
Surface %I% does not exist. Unable to continue.
1000201
%A% is not a recognized syntax for a Curve List.
1000202
%A% is not a recognized syntax for a Surface List.
38000458
Loop closure required for trimming. A gap of %G% exists.
38000459
Unable to calculate least-squares plane.
38000461
Surface %I% has %I% degenerate edges. The surface may have severe geometric errors and may not be suitable for meshing operations.
38000462
Size and complexity of the problem exceeds the available memory.
38000463
Unable to manifold the trim loops to the surface.
38000464
One or more of the trim loops is degenerate.
38000466
Unable to load the surface into the database.
38000474
Only ONE outer loop (Composite Curve/Chain) may be selected at a time. Try again.
38000636
ONE outer loop (Composite Curve/Chain) must be selected. Try again.
38000805
Unable to acquire %I% words of virtual memory.
38001109
Unable to trim surface - the inner loop must lie within the outer loop. Note that an inner loop surrounding a pole resolves the ambiguity based upon its orientation.
Example:
Please see sgm_create_surface_trimmed_v1 (p. 529) in the PCL Reference Manual Examples.
 
sgm_const_curve_2d_arc2point
(output_ids, arc_angle, plane_list, center_point_list, start_point_list, end_point_list, created_ids)
 
Description:
This function constructs circular arcs in a two-dimensional space, defined by a set of construction planes, center points, starting points, and ending points.
Input:
STRING
output_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
arc_angle
This value specifies the arc angle to use: 1 = minimum arc angle, and 2 = maximum arc angle.
STRING
plane_list[]
This value specifies the list of planes in which to construct the arcs.
STRING
center_point_list[]
This value specifies the list of points defining the center points of the circular arcs.
STRING
start_point_list[]
This value specifies the list of points defining the starting points of the circular arcs.
STRING
end_point_list[]
This value specifies the list of points defining the ending points of the circular arcs.
Output:
STRING
created_ids[VIRTUAL]
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 circular arcs created and their IDs.
One circular arc will be created for each point input set. Each circular arc 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.
38000413
Zero length plane normal vector.
38000424
The center point and start point define a zero radius.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_2d_arc2point (p. 532) in the PCL Reference Manual Examples.
 
sgm_const_curve_2d_arc2point_v1
(output_ids, arc_method, radius, create_center, center_rev_direction, arc_angle, plane_list, center_point_list, start_point_list, end_point_list, created_ids)
 
Description:
This function creates circular arcs in a two-dimensional space, defined by a set of construction planes, center points or a radius, starting points, and ending points.
Input:
STRING
output_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
arc_method
This value specifies the arc method: 1 = define arc by center, start and end points, and 2 = define arc by start point, end point and radius.
REAL
radius
This value specifies the arc radius if the input value arc_method is set to 2.
LOGICAL
create_center
This value is set to TRUE if the arc center point is to be created along with the arc if the input value arc_method is set to 2.
LOGICAL
center_rev_direction
This value is set to TRUE if the arc center is to be flipped/rotated in the counter-clockwise direction before the arc is created, if the input value arc_method is set to 2.
INTEGER
arc_angle
This value specifies the arc angle to use: 1 = minimum arc angle, and 2 = maximum arc angle.
STRING
plane_list[]
This value specifies the list of planes in which to construct the arcs.
STRING
center_point_list[]
This value specifies the list of points defining the center points of the circular arcs.
STRING
start_point_list[]
This value specifies the list of points defining the starting points of the circular arcs.
STRING
end_point_list[]
This value specifies the list of points defining the ending points of the circular arcs.
Output:
STRING
created_ids[VIRTUAL]
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 circular arcs created and their IDs.
One circular arc will be created for each point input set. Each circular arc and point created will be displayed in the graphics window.
One point will be created if the input value create_center is set to TRUE.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
38000003
No blob provided.
38000413
Zero length plane normal vector.
38000418
The Arc radius must be greater than zero. Invalid value input was %G%.
38000424
The center point and start point define a zero radius.
38000440
Invalid 2D Arc2Point method. Must be 1 or 2. Try again.
38000442
The Radius value of %G% is too small for the input start and end points. Radius magnitude must be at least %G%.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_2d_arc2point_v1 (p. 533) in the PCL Reference Manual Examples.
  
sgm_const_curve_2d_arc2point_v2
(output_ids, arc_method, radius, create_center, center_rev_direction, arc_angle, plane_list, center_point_list, start_point_list, end_point_list, project_points, created_ids)
 
Description:
This function creates circular arcs in a two-dimensional space, defined by a set of construction planes, center points or a radius, starting points, and ending points.
Input:
STRING
output_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
arc_method
This value specifies the arc method: 1 = define arc by center, start and end points, and 2 = define arc by start point, end point and radius.
REAL
radius
This value specifies the arc radius if the input value arc_method is set to 2.
LOGICAL
create_center
This value is set to TRUE if the arc center point is to be created along with the arc and if the input value arc_method is equal to 2.
LOGICAL
center_rev_direction
This value is set to TRUE if the arc center is to be flipped/rotated in the counter-clockwise direction before the arc is created and of the input value arc_method is equal to 2.
INTEGER
arc_angle
This value specifies the arc angle to use: 1 = minimum arc angle, and 2 = maximum arc angle.
STRING
plane_list[]
This value specifies the list of planes in which to construct the arcs.
STRING
center_point_list[]
This value specifies the list of points defining the center points of the circular arcs.
STRING
start_point_list[]
This value specifies the list of points defining the starting points of the circular arcs.
STRING
end_point_list[]
This value specifies the list of points defining the ending points of the circular arcs.
LOGICAL
project_points
This value specifies, when set to TRUE, that the center points be projected onto the plane. When this value is set to FALSE and the input value arc_method is not set to 2, the construction plane will be translated to the center point location and will still be parallel to the original plane. If this value is set to FALSE and the input value arc_method is set to 2, the construction plane is translated to the starting point location and will still be parallel to the original plane.
Output:
STRING
created_ids[VIRTUAL]
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 circular arcs created and their IDs.
One circular arc will be created for each point input set. Each circular arc and point created will be displayed in the graphics window.
One point will be created if input value create_center is set to TRUE.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
38000003
No blob provided.
38000413
Zero length plane normal vector.
38000418
The Arc radius must be greater than zero. Invalid value input was %G%.
38000424
The center point and start point define a zero radius.
38000440
Invalid 2D Arc2Point method. Must be 1 or 2. Try again.
38000442
The Radius value of %G% is too small for the input start and end points. Radius magnitude must be at least %G%.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_2d_arc2point_v2 (p. 534) in the PCL Reference Manual Examples.
 
sgm_const_curve_2d_arcangles
(output_ids, radius, start_angle, end_angle, plane_list, center_point_list, created_ids)
 
Description:
This function creates circular arcs in a two-dimensional space, defined by a set of construction planes, center points, a radius, a starting angle and an end angle.
Input:
STRING
output_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
radius
This value specifies the arc radius.
REAL
start_angle
This value specifies the arc start angle in degrees.
REAL
end_angle
This value specifies the arc end angle in degrees.
STRING
plane_list[]
This value specifies the list of planes in which to construct the arcs.
STRING
center_point_list[]
This value specifies the list of points defining the center points of the circular arcs.
Output:
STRING
created_ids[VIRTUAL]
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 circular arcs created and their IDs.
One circular arc will be created for each point input. Each circular arc 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.
38000413
Zero length plane normal vector.
38000424
The center point and start point define a zero radius.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_2d_arcangles (p. 535) in the PCL Reference Manual Examples.
 
sgm_const_curve_2d_arcangles_v1
(output_ids, radius, start_angle, end_angle, plane_list, center_point_list, project_points, created_ids)
 
Description:
This function creates circular arcs in a two-dimensional space, defined by a set of construction planes, center points, a radius, a starting angle and an end angle.
Input:
STRING
output_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
radius
This value specifies the arc radius.
REAL
start_angle
This value specifies the arc start angle in degrees.
REAL
end_angle
This value specifies the arc end angle in degrees.
STRING
plane_list[]
This value specifies the list of planes in which to construct the arcs.
STRING
center_point_list[]
This value specifies the list of points defining the center point of the circular arc.
LOGICAL
project_points
This value specifies, when set to TRUE, that the center points be projected onto the plane. When this value is set to FALSE, the construction plane will be translated to the center point location and will still be parallel to the original plane.
Output:
STRING
created_ids[VIRTUAL]
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 circular arcs created and their IDs.
One circular arc will be created for each point input. Each circular arc 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.
38000413
Zero length plane normal vector.
38000424
The center point and start point define a zero radius.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_2d_arcangles_v1 (p. 537) in the PCL Reference Manual Examples.
 
sgm_const_curve_2d_arc3point
(output_ids, plane_list, start_point_list, middle_point_list, end_point_list, created_ids)
 
Description:
This function constructs circular arcs in a two-dimensional space, defined by a set of construction planes, starting points, midpoints, and ending points.
Input:
STRING
output_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 planes in which to construct the arcs.
STRING
start_point_list[]
This value specifies the list of points defining the starting points of the circular arcs.
STRING
middle_point_list[]
This value specifies the list of points defining the midpoints of the circular arcs.
STRING
end_point_list[]
This value specifies the list of points defining the ending points of the circular arcs.
Output:
STRING
created_ids[VIRTUAL]
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 circular arcs created and their IDs.
One circular arc will be created for each point input set. Each circular arc 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.
38000413
Zero length plane normal vector.
38000423
The three points specified are nearly collinear.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_2d_arc3point (p. 538) in the PCL Reference Manual Examples.
  
sgm_const_curve_2d_circle
(output_ids, radius_method, radius, plane_list, radius_point_list, center_point_list, created_ids)
 
Description:
This function constructs circles in a two-dimensional space, defined by a set of center points and a radius or a set of radii.
Input:
STRING
output_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
radius_method
This value specifies the method used to define a radius: 1 = scalar radius value, and 2 = point location.
REAL
radius
This value specifies the radius if the input value radius_method is equal to 1 and is ignored if the input value radius_method is set to 2.
STRING
plane_list[]
This value specifies the list of planes in which to construct the arcs.
STRING
radius_point_list[]
This value specifies the list of points defining the radius of the circle if the input value radius_method is set to 2 and is ignored if the input value radius_method is set to 1.
STRING
center_point_list[]
This value specifies the list of points defining the center point of the circle.
Output:
STRING
created_ids[VIRTUAL]
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 circle created and their IDs.
One circle will be created for each center point and radius input set. Each circle 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.
38000413
Zero length plane normal vector.
38000425
The Circle radius must be greater than zero. Invalid value input was %G%.
38000426
The center point and start point define a zero radius.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_2d_circle (p. 539) in the PCL Reference Manual Examples.
 
sgm_const_curve_2d_circle_v1
(output_ids, radius_method, radius, plane_list, radius_point_list, center_point_list, project_points, created_ids)
 
Description:
This function constructs circles in a two-dimensional space, defined by a set of center points and a radius or a set of radii.
Input:
STRING
output_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
radius_method
This value specifies the method used to define a radius: 1 = scalar radius value, and 2 = point location.
REAL
radius
This value specifies the radius if the input value radius_method is equal to 1 and is ignored if the input value radius_method is set to 2.
STRING
plane_list[]
This value specifies the list of planes in which to construct the arcs.
STRING
radius_point_list[]
This value specifies the list of points defining the radius of the circle if the input value radius_method is set to 2 and is ignored if the input value radius_method is set to 1.
STRING
center_point_list[]
This value specifies the list of points defining the center point of the circle.
LOGICAL
project_points
This value specifies, when set to TRUE, that the center points be projected onto the plane. When this value is set to FALSE, the construction plane will be translated to the center point location and will still be parallel to the original plane.
Output:
STRING
created_ids[VIRTUAL]
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 circle created and their IDs.
One circle will be created for each center point and radius input set. Each circle 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.
38000413
Zero length plane normal vector.
38000425
The Circle radius must be greater than zero. Invalid value input was %G%.
38000426
The center point and start point define a zero radius.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_2d_circle_v1 (p. 540) in the PCL Reference Manual Examples.
  
sgm_const_curve_2d_circle_v2
(output_ids, radius_method, radius, plane_list, radius_point_list, center_point_list, project_points, created_ids)
 
Description:
This function constructs circles in a two-dimensional space, defined by a set of center points and a radius or a set of radii.
Input:
STRING
output_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
radius_method
This value specifies the method used to define a radius: 1 = scalar radius value, and 2 = point location.
REAL
radius
This value specifies the radius if the input value radius_method is equal to 1 and is ignored if the input value radius_method is set to 2.
STRING
plane_list[]
This value specifies the list of planes in which to construct the arcs.
STRING
radius_point_list[]
This value specifies the list of points defining the radius of the circle if the input value radius_method is set to 2 and is ignored if the input value radius_method is set to 1.
STRING
center_point_list[]
This value specifies the list of points defining the center point of the circle.
LOGICAL
project_points
This value specifies, when set to TRUE, that the center points be projected onto the plane. When this value is set to FALSE, the construction plane will be translated to the center point location and will still be parallel to the original plane.
Output:
STRING
created_ids[VIRTUAL]
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 circle created and their IDs.
One circle will be created for each center point and radius input set. Each circle 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.
38000413
Zero length plane normal vector.
38000425
The Circle radius must be greater than zero. Invalid value input was %G%.
38000426
The center point and start point define a zero radius.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_2d_circle_v1 (p. 540) in the PCL Reference Manual Examples.
 
sgm_const_curve_2d_normal
(output_ids, length, curve_rev_direction, plane_list, point_list, curve_list, created_ids)
 
Description:
This function constructs curves perpendicular to an existing set of curves and passing through a set of points on the existing curves in a set of construction planes.
Input:
STRING
output_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
length
This value specifies the length of the created curves.
LOGICAL
curve_rev_direction
This value is set to TRUE if the curve direction is to be flipped relative to the length.
STRING
plane_list[]
This value specifies the list of planes in which the curves will be created.
STRING
point_list[]
This value specifies the list of points defining the starting points of the perpendicular curves.
STRING
curve_list[]
This value specifies the list of curves from which the new curves are perpendicular.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve will be created for each plane, point, curve input set. 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.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
38000003
No blob provided.
38000413
Zero length plane normal vector.
38000416
The input curve length of %G% is invalid. Input length value greater than zero.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_2d_normal (p. 541) in the PCL Reference Manual Examples.
  
sgm_const_curve_2d_normal_v1
(output_ids, length, curve_rev_direction, plane_list, point_list, curve_list, project_points, created_ids)
 
Description:
This function constructs curves perpendicular to an existing set of curves and passing through a set of points on the existing curves in a set of construction planes.
Input:
STRING
output_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
length
This value specifies the length of the created curves.
LOGICAL
curve_rev_direction
This value is set to TRUE if the curve direction is to be flipped relative to the length.
STRING
plane_list[]
This value specifies the list of planes in which the curves will be created.
STRING
point_list[]
This value specifies the list of points defining the starting points of the perpendicular curves.
STRING
curve_list[]
This value specifies the list of curves from which the new curves are perpendicular.
LOGICAL
project_points
This value specifies, when set to TRUE, that the curves be projected onto the plane. When this value is set to FALSE, the construction plane will be translated to the point location and will still be parallel to the original plane.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve will be created for each plane, point, curve input set. 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.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
38000003
No blob provided.
38000413
Zero length plane normal vector.
38000416
The input curve length of %G% is invalid. Input length value greater than zero.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_2d_normal_v1 (p. 542) in the PCL Reference Manual Examples.
 
sgm_const_curve_intersect
(output_ids, intersect_option, surface1_list, surface2_list, geo_tolerance, int_tolerance, created_ids)
 
Description:
This function constructs loft spline curves at the intersection between two sets of surfaces.
Input:
STRING
output_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
intersect_option
This value specifies the intersection option: 1 = intersect between two surfaces, and 2 = intersect between a plane and a surface.
STRING
surface1_list[]
This value specifies the list of surfaces to be compared for intersection with the surfaces given in the input value surface2_list. If the input value intersect_option is set to 2, this input value will provide the definitions for the intersecting planes.
STRING
surface2_list[]
This value specifies the list of surfaces to be compared for intersection with the surfaces or planes provided by the input value surface1_list.
REAL
geo_tolerance
This value specifies the maximum deviation tolerance used during the creation of the intersection curve.
REAL
int_tolerance
This value specifies a tolerance parameter. The algorithm creates all points along the projected curve so that the maximum distance lies between them is the distance defined by this value.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve per intersection will be created for each surface input set. 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:
 
1000535
No intersections found between surface(s) %A% and surface(s) %A%.
38000003
No blob provided.
38000413
Zero length plane normal vector.
38000414
Invalid curve intersection method. Must be 1 or 2. Try again.
38000450
Unable to calculate a point on the curve.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_intersect (p. 543) in the PCL Reference Manual Examples.
 
sgm_const_curve_intersect_plane
(output_ids, length, plane1_list, plane2_list, created_ids)
 
Description:
This function constructs finite length curves at the intersection of two planes.
Input:
STRING
output_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
length
This value specifies the length of the curve.
STRING
plane1_list[]
This value specifies the list of planes to be compared for intersection with the planes given in the input value plane2_list.
STRING
plane2_list[]
This value specifies the list of planes to be compared for intersection with the planes provided by the input value plane1_list.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve per intersection will be created for each plane input set. 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:
 
1000535
No intersections found between plane(s) %A% and plane(s) %A%.
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:
None.
 
sgm_const_curve_intersect_2pln
(output_ids, length, plane1_list, plane2_list, plane3_list, created_ids)
 
Description:
This function constructs finite length curves from the intersection of two planes with an option to define the starting point of the curve at a specified point where the three input planes intersect.
Input:
STRING
output_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
length
This values specifies the length of the curve.
STRING
plane1_list[]
This value specifies the list of planes to be compared for intersection with the planes given in the input value plane2_list.
STRING
plane2_list[]
This valu/nee specifies the list of planes to be compared for intersection with the planes provided by the input value plane1_list.
STRING
plane3_list[]
This value specifies the list of planes to be compared for intersection with the planes provided by the input value plane1_list and plane2_list. This creates the intersection point for the start point of the curve.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve per intersection will be created for each plane input set. 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:
 
1000535
No intersections found between plane(s) %A% and plane(s) %A%.
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:
None.
 
sgm_const_curve_manifold_2point
(output_ids, surface_list, point1_list, point2_list, created_ids)
 
Description:
This function constructs curves on a set of surfaces between two sets of points.
Input:
STRING
output_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
surface_list[]
This value specifies the list of surfaces to manifold the curves onto.
STRING
point1_list[]
This value specifies the list of points defining the starting points of the curves on the surfaces.
STRING
point2_list[]
This value specifies the list of points defining the end points of the curves on the surfaces.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve will be created for each surface, point input set. 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:
 
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000489
Unable to create a curve manifolded to the surface between the two input points.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_manifold_2point (p. 545) in the PCL Reference Manual Examples.
 
sgm_const_curve_manifold_npoint
(output_ids, surface, point_list, created_ids)
 
Description:
This function constructs spline curves through a number of points manifolded onto a set of surfaces.
Input:
STRING
output_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
surface[]
This value specifies the surfaces to manifold the curves onto.
STRING
point_list[]
This value specifies the list of points through which the spline curves will be fitted.
Output:
STRING
created_ids[VIRTUAL]
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.
One curve will be created for each surface, point input set. 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:
 
1000301
There must be at least two points as input. The invalid value input was %A%.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000489
Unable to create a curve manifolded to the surface between the two input points.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_manifold_npoint (p. 546) in the PCL Reference Manual Examples.
 
sgm_const_curve_offset
(output_ids, od_flag, op_method, dist1, param1, dist2, param2, ncopies, vector_list, curve_list, created_labels)
 
Description:
This function will create constant or variable offset curves from other curves. It should be noted that while nonplanar curves could be specified, the offset will occur in the least-squares plane of the input curve. If the input curve is a straight line, then a direction vector is required.
Input:
STRING
output_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
od_flag
This value specifies the offset distance flag;
1 = Single value offset, constant distance
2 = Offset distance varying linearly
LOGICAL
op_method
This value specifies the offset parametrization method;
=True; function of parameter value
=False; function of arc length
REAL
dist1
This value specifies the start offset distance.
REAL
param1
This value specifies the arc length or parameter value, depending on op_method, of first offset distance. (only used if od_flag = 2)
REAL
dist2
This value specifies the end offset distance.
REAL
param2
This value specifies the arc length or parameter value, depending on op_method, of second offset distance. (only used if od_flag = 2)
INTEGER
ncopies
This value specified the number of copies to make of the offset curve.
STRING
vector_list[]
This value specifies the direction vector if the input curve is a straight line.
STRING
curve_list[]
This value specifies the input curve list to create the offset curve(s) from.
Output:
STRING
created_labels[VIRTUAL]
This value returns a description of the created curve 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 solid identifiers that are stored in the database and displayed in a viewport.
Example:
None.
 
sgm_const_curve_project
(output_ids, curve_list, surface_list, delete_original, project_method, vector, coord_frame, projection_tolerance, created_ids)
 
Description:
This function constructs curves on a set of surfaces by projecting an existing set of curves along a projection vector onto a set of surfaces.
Input:
STRING
output_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 project onto the list of surfaces.
STRING
surface_list[]
This value specifies the list of surfaces onto which the curves are to be projected.
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.
INTEGER
project_method
This value specifies the method of defining the projection vector: 1 = the curves to be projected lie in a plane and it is desired to project the curves normal to this plane, 2 = the direction of projection is normal to the surface at the point of closest approach to the curve, 3 = the direction of projection is to be given by a vector, and 4 = the direction of projection is the view vector.
STRING
vector[]
This value specifies the projection vector.
STRING
coord_frame[]
This value specifies the coordinate frame for the projection vector.
REAL
projection_tolerance
This value specifies a tolerance parameter. The algorithm creates all curves along the projected surface so that the maximum distance lies between them is the distance defined by this value.
Output:
STRING
created_ids[VIRTUAL]
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 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.
38000412
Negating the View Vector coordinates and trying again...
This function can display a warning popup message form with the following message:
 
38000415
Skipping zero length Curve %I%.
This function can display a fatal popup message form with the following messages:
 
1000540
The projection vector has zero length.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000488
Unable to manifold the curve(s) to the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_curve_project (p. 547) in the PCL Reference Manual Examples.
 
sgm_const_plane_2vec
(output_ids, vector1_list, vector2_list, created_ids)
 
Description:
This function constructs a plane by the cross product of two vectors.
Input:
STRING
output_ids[]
This value specifies the plane ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of plane IDs.
STRING
vector1_list[]
This value specifies the first list of vectors.
STRING
vector2_list[]
This value specifies the second list of vectors.
Output:
STRING
created_ids[VIRTUAL]
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:
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 fatal popup message form with the following messages:
10000311
No intersections found between %A% and %A%.
38000845
Unable to acquire %I% words of virtual memory.
 
sgm_const_plane_3point
(output_ids, point1_list, point2_list, point3_list, created_ids)
 
Description:
This function creates planes through three sets of points.
Input:
STRING
output_ids[]
This value specifies the plane ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of plane IDs.
STRING
point1_list[]
This value specifies the first set of points through which the planes will pass.
STRING
point2_list[]
This value specifies the second set of points through which the planes will pass.
STRING
point3_list[]
This value specifies the third set of points through which the planes will pass.
Output:
STRING
created_ids[VIRTUAL]
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 planes created and their IDs.
One plane will be created for each point set. Each plane will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
38000423
The three points specified are nearly collinear.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_plane_3point (p. 549) in the PCL Reference Manual Examples.
 
sgm_const_plane_curve
(output_ids, point_option, curve_list, point_list, u_position, created_ids)
 
Description:
This function creates planes normal to a set of curves at a set of points on the curves.
Input:
STRING
output_ids[]
This value specifies the plane ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of plane IDs.
INTEGER
point_option
This value specifies the point type: 1 = parametric position, and 2 = point.
STRING
curve_list[]
This value specifies the curves which the planes will be normal to.
STRING
point_list[]
This value specifies the points on the curves defining the plane centroids, if the input value point_option is set to 2. If the input value point_option is set to 1, this value is ignored.
REAL
u_position
This value specifies the parametric position of the point, if the input value point_option is set to 1. If the input value point_option is set to 2, this value is ignored.
Output:
STRING
created_ids[VIRTUAL]
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 planes created and their IDs.
One plane will be created for each point. Each plane will be displayed in the graphics window as it
is created.
This function can display an information popup message form with the following messages:
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
38000413
Zero length plane normal vector.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_plane_curve (p. 550) in the PCL Reference Manual Examples.
 
sgm_const_plane_leastsq
(output_ids, leastsq_option, entity_list, created_ids)
 
Description:
This function creates least squares planes from a set of points, curves, or surfaces.
Input:
STRING
output_ids[]
This value specifies the plane ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of plane IDs.
INTEGER
leastsq_option
This value specifies the least squares option: 1 = from a set of points, 2 = from a curve, and 3 = from a surface.
STRING
entity_list[]
This value specifies the set of points, curves, or surfaces from which the planes will be created.
Output:
STRING
created_ids[VIRTUAL]
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 planes created and their IDs.
One plane will be created for each set of points, curve or surface. Each plane will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
1000744
Specified Least Squares Method value of %I% is invalid. Valid values are 1, 2, or 3.
38000438
No curves in the curve list define a unique least squares plane. Select a curve that is not straight.
38000448
The points in the point list do not define a unique least squares plane. Select points that are not colinear.
38000449
No surfaces in the surface list define a unique least squares plane. Select a surface with a positive area.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_plane_leastsq (p. 551) in the PCL Reference Manual Examples.
 
sgm_const_plane_offset
(output_ids, offset_list, nrepeat, plane_list, created_ids)
 
Description:
This function constructs “nrepeat” planes from offsetting a plane.
Input:
STRING
output_ids[]
This value specifies the plane ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of plane IDs.
STRING
offset_list[]
This value specifies the list of offset values along the vector normal defining the location of the plane.
INTEGER
nrepeat
This value specifies the number of planes to offset.
STRING
plane_list[]
This value specifies the list of planes which will be used to offset from.
Output:
STRING
created_ids[VIRTUAL]
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:
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 fatal popup message form with the following messages:
38000413
Zero length plane normal vector.
38000845
Unable to acquire %I% words of virtual memory.
 
sgm_const_plane_plane
(output_ids, plane_list, vector_list, created_ids)
 
Description:
This function constructs a plane which is normal to an existing plane and also contains a specified vector.
Input:
STRING
output_ids[]
This value specifies the plane ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of plane IDs.
STRING
plane_list[]
This value specifies the list of planes which will be normal to the new plane.
STRING
vector_list[]
This value specifies the list of vectors which will lie in the new plane.
Output:
STRING
created_ids[VIRTUAL]
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:
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 fatal popup message form with the following messages:
38000157
Selected vector is normal to selected plane --Cannot construct unique normal plane.
38000845
Unable to acquire %I% words of virtual memory.
sgm_const_plane_point_vector
(output_ids, point_list, vector_list, created_ids)
 
Description:
This function creates planes from a set of points and vectors.
Input:
STRING
output_ids[]
This value specifies the plane ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of plane IDs.
STRING
point_list[]
This value specifies the point defining the location at which to create the planes.
STRING
vector_list[]
This value specifies the vector normals from which the planes will be created.
Output:
STRING
created_ids[VIRTUAL]
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 planes created and their IDs.
One plane will be created for each point,vector set. Each plane will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000053
No valid geometric entities of type %A% were used as input. Unable to process request.
38000413
Zero length plane normal vector.
38000845
Unable to acquire %I% words of virtual memory.
Example:
None.
 
sgm_const_plane_tangent
(output_ids, point_option, surface_list, point_list, uv_position, created_ids)
 
Description:
This function creates planes that are tangent to a set of surfaces at a set of points on the surfaces.
Input:
STRING
output_ids[]
This value specifies the plane ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of plane IDs.
INTEGER
point_option
This value specifies the point type: 1 = parametric position, and 2 = point.
STRING
surface_list[]
This value specifies the set of surfaces from which the tangential planes will created.
STRING
point_list[]
This value specifies the point on the surface defining the plane centroid if the input value point_option is set to 2. If the input value point_option is set to 1, this value is ignored.
REAL
uv_position(2)
This value specifies the u and v parametric positions of the plane centroids if the input value point_option is set to 1. If the input value point_option is set to 2, this value is ignored.
Output:
STRING
created_ids[VIRTUAL]
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 planes created and their IDs.
One plane will be created for each point. Each plane will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
38000413
Zero length plane normal vector.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_plane_tangent (p. 553) in the PCL Reference Manual Examples.
 
sgm_const_plane_interpolate
(output_ids, curve_list, space_ratio, num_planes, method, created_ids)
 
Description:
This function creates planes by interpolation along a set of curves. The normals of the generated planes are along the curve tangents at the points of intersection between the planes and the curves.
Input:
STRING
output_ids[]
This value specifies the plane ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of plane IDs.
STRING
curve_list[]
This value specifies the set of curves from which the planes are created.
REAL
space_ratio
This value specifies the space ratio of the interpolation operation, if the interpolating is non-uniform.
INTEGER
num_planes
This value specifies the number of planes per curve to be created.
INTEGER
method
This value specifies the spacing for interpolating planes based on: 1 = curve arc length or 2 = curve parametric value.
Output:
STRING
created_ids[VIRTUAL]
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 planes created and their IDs.
The number of planes defined by the input value num_planes will be created for each curve. Each plane will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000507
Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2.
1000951
There must be at least two planes as input. The invalid value input was %A%.
2001070
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_plane_interpolate (p. 554) in the PCL Reference Manual Examples.
 
sgm_const_plane_vector_normal
(output_ids, offset_list, vector_list, created_ids)
 
Description:
This function creates planes from a set of vector normals.
Input:
STRING
output_ids[]
This value specifies the plane ID list. If this value is set to an empty string or to “#”, the function will automatically allocate and assign a sequential list of plane IDs.
STRING
offset_list[]
This value specifies the offset value from the vector normal defining the location at which to create the planes.
STRING
vector_list[]
This value specifies the vector normals from which the planes will be created.
Output:
STRING
created_ids[VIRTUAL]
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 planes created and their IDs.
One plane will be created for each vector. Each plane will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000053
No valid geometric entities of type %A% were used as input. Unable to process request.
38000413
Zero length plane normal vector.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_plane_vector_normal (p. 555) in the PCL Reference Manual Examples.
 
sgm_const_solid_2surface
(output_ids, surface1_list, surface2_list, created_ids)
 
Description:
This function constructs solids from one surface to another.
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
surface1_list[]
This value specifies the first set of surfaces for the start of each solid.
STRING
surface2_list[]
This value specifies the second set of surfaces for the end of each solid.
Output:
STRING
created_ids[VIRTUAL]
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.
One solid will be created for each pair of input surfaces. Each solid will be displayed in the graphics window as it is created.
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:
 
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000452
Unable to calculate a point on the solid.
38000493
The Surface interpolating Solid builder failed to create the evaluator table. Solid was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_solid_2surface (p. 557) in the PCL Reference Manual Examples.
  
sgm_const_solid_2surface_v1
(output_ids, auto_align, surface1_list, surface2_list, created_ids)
 
Description:
This function creates tri-parametric solids from one set of surfaces to another.
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.
LOGICAL
auto_align
This value specifies, when set to TRUE, that the surfaces used to construct the solids should be automatically aligned.
STRING
surface1_list[]
This value specifies the first set of surfaces for the start of each solid.
STRING
surface2_list[]
This value specifies the second set of surfaces for the end of each solid.
Output:
STRING
created_ids[VIRTUAL]
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.
One solid will be created for each pair of input surfaces. Each solid will be displayed in the graphics window as it is created.
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:
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000147
Consecutive degenerate faces must have their degenerate edges topologically aligned in order to create a valid solid.
38000452
Unable to calculate a point on the solid.
38000493
The Surface interpolating Solid builder failed to create the evaluator table. Solid was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_solid_2surface_v1 (p. 558) in the PCL Reference Manual Examples.
 
sgm_const_solid_3surface_v1
(output_ids, param_method, surface1_list, surface2_list, surface3_list, created_ids)
 
Description:
This function constructs solids which from three sets 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.
INTEGER
param_method
This value specifies the parameterization method to use: 1 = chord length parameterization, and 2 = uniform parameterization.
STRING
surface1_list[]
This value specifies the first set of surfaces for the start of each solid.
STRING
surface2_list[]
This value specifies the second set of surfaces for the middle of each solid.
STRING
surface3_list[]
This value specifies the third set of surfaces for the end of each solid.
Output:
STRING
created_ids[VIRTUAL]
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.
One solid will be created for each set of three input surfaces. Each solid will be displayed in the graphics window as it is created.
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:
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000452
Unable to calculate a point on the solid.
38000493
The Surface interpolating Solid builder failed to create the evaluator table. Solid was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_solid_3surface_v1 (p. 559) in the PCL Reference Manual Examples.
  
sgm_const_solid_3surface_v2
(output_ids, auto_align, param_method, surface1_list, surface2_list, surface3_list, created_ids)
 
Description:
This function constructs solids which from three sets 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.
LOGICAL
auto_align
This value specifies, when set to TRUE, that the surfaces used to construct the solids should be automatically aligned.
INTEGER
param_method
This value specifies the parameterization method to use: 1 = chord length parameterization, and 2 = uniform parameterization.
STRING
surface1_list[]
This value specifies the first set of surfaces.
STRING
surface2_list[]
This value specifies the second set of surfaces.
STRING
surface3_list[]
This value specifies the third set of surfaces.
Output:
STRING
created_ids[VIRTUAL]
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.
One solid will be created for each pair of input surfaces. Each solid will be displayed in the graphics window as it is created.
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:
 
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000147
Consecutive degenerate faces must have their degenerate edges topologically aligned in order to create a valid solid.
38000452
Unable to calculate a point on the solid.
38000493
The Surface interpolating Solid builder failed to create the evaluator table. Solid was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_solid_3surface_v2 (p. 560) in the PCL Reference Manual Examples.
 
sgm_const_solid_4surface_v1
(output_ids, param_method, surface1_list, surface2_list, surface3_list, surface4_list, created_ids)
.
Description:
This function constructs solids which pass through a set of four 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.
INTEGER
param_method
This value specifies the parameterization method to use: 1 = chord length parameterization, and 2 = uniform parameterization.
STRING
surface1_list[]
This value specifies the first set of surfaces for the start of each solid.
STRING
surface2_list[]
This value specifies the second set of surfaces for the 1/3 point of each solid.
STRING
surface3_list[]
This value specifies the third set of surfaces for the 2/3 point of each solid.
STRING
surface4_list[]
This value specifies the fourth set of surfaces for the end of each solid.
Output:
STRING
created_ids[VIRTUAL]
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.
One solid will be created for each set of four input surfaces. Each solid will be displayed in the graphics window as it is created.
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:
 
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000452
Unable to calculate a point on the solid.
38000493
The Surface interpolating Solid builder failed to create the evaluator table. Solid was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_solid_4surface_v1 (p. 562) in the PCL Reference Manual Examples.
 
sgm_const_solid_4surface_v2
(output_ids, auto_align, param_method, surface1_list, surface2_list, surface3_list, surface4_list, created_ids)
 
Description:
This function creates tri-parametric solids from four 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.
LOGICAL
auto_align
This value specifies, when set to TRUE, that the surfaces used to construct the solids should be automatically aligned.
INTEGER
param_method
This value specifies the parameterization method to use: 1 = chord length parameterization, and 2 = uniform parameterization.
STRING
surface1_list[]
This value specifies the first set of surfaces.
STRING
surface2_list[]
This value specifies the second set of surfaces.
STRING
surface3_list[]
This value specifies the third set of surfaces.
STRING
surface4_list[]
This value specifies the fourth set of surfaces.
Output:
STRING
created_ids[VIRTUAL]
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.
One solid will be created for each pair of input surfaces. Each solid will be displayed in the graphics window as it is created.
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:
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000147
Consecutive degenerate faces must have their degenerate edges topologically aligned in order to create a valid solid.
38000452
Unable to calculate a point on the solid.
38000493
The Surface interpolating Solid builder failed to create the evaluator table. Solid was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_solid_4surface_v2 (p. 563) in the PCL Reference Manual Examples.
 
sgm_const_solid_5face
(output_ids, surface1_list, surface2_list, surface3_list, surface4_list, surface5_list, created_ids)
 
Description:
This function constructs wedge shaped solids from five sets of surfaces forming their exterior faces. The surfaces can be in any order and have any parametric orientation but they must define a valid exterior face of a 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.
STRING
surface1_list[]
This value specifies the first set of surfaces defining face one of each solid.
STRING
surface2_list[]
This value specifies the second set of surfaces defining face two of each solid.
STRING
surface3_list[]
This value specifies the third set of surfaces defining face three of each solid.
STRING
surface4_list[]
This value specifies the fourth set of surfaces defining face four of each solid.
STRING
surface5_list[]
This value specifies the fifth set of surfaces defining face five of each solid.
Output:
STRING
created_ids[VIRTUAL]
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.
One solid will be created for each set of input surfaces. Each solid will be displayed in the graphics window as it is created.
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:
 
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000146
The 5 face option requires that the opposing degenerate surfaces have their degenerate edges aligned so that the degenerate solid face may be formed.
38000406
The topology of input surfaces is inappropriate for the sweep/solid/face option.
38000411
The Construct Face Solid builder failed to create the evaluator table. Solid was not created.
38000452
Unable to calculate a point on the solid.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_solid_5face (p. 565) in the PCL Reference Manual Examples.
 
sgm_const_solid_6face
(output_ids, surface1_list, surface2_list, surface3_list, surface4_list, surface5_list, surface6_list, created_ids)
 
Description:
This function constructs solids from six sets of surfaces forming their exterior faces. The surfaces can be in any order and have any parametric orientation but they must define a valid exterior face of a 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.
STRING
surface1_list[]
This value specifies the first set of surfaces defining face one of each solid.
STRING
surface2_list[]
This value specifies the second set of surfaces defining face two of each solid.
STRING
surface3_list[]
This value specifies the third set of surfaces defining face three of each solid.
STRING
surface4_list[]
This value specifies the fourth set of surfaces defining face four of each solid.
STRING
surface5_list[]
This value specifies the fifth set of surfaces defining face five of each solid.
STRING
surface6_list[]
This value specifies the sixth set of surfaces defining face six of each solid.
Output:
STRING
created_ids[VIRTUAL]
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.
One solid will be created for each set of input surfaces. Each solid will be displayed in the graphics window as it is created.
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:
 
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000406
The topology of input surfaces is inappropriate for the sweep/solid/face option.
38000411
The Construct Face Solid builder failed to create the evaluator table. Solid was not created.
38000452
Unable to calculate a point on the solid.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_solid_6face (p. 566) in the PCL Reference Manual Examples.
  
sgm_sweep_solid_arc
(output_labels, axis, angle, offset, coord_frame, surface, created_labels)
 
Description:
This function creates solids be sweeping surfaces about a specified axis.
Input:
STRING
output_labels[]
This value specifies the labels of the solids to be created.
STRING
axis[]
This value specifies the axis of rotation.
REAL
angle
This value specifies the total angle to sweep each surface.
REAL
offset
This value specifies the initial offset angle.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
STRING
surface[]
This value specifies the list of surfaces to be swept.
Output:
STRING
created_labels[VIRTUAL]
This value returns the labels of the created solids.
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.
14000001
LpGetHeapSpace: Allocated heapspace is exhausted.
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.
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.
38000003
No blob provided.
38000407
The Sweep Arc Solid builder failed to create the evaluator table. Solid was not created.
38000427
The surface type used for this Action, Object, Method function is invalid. It must be of a type that when created, has the default color of Green.
38000452
Unable to calculate a point on the solid.
38000492
Zero length vector in Solid %I% construction.
38000845
Unable to acquire %I% words of virtual memory.
Remarks:
This function displays the number of solids created and their labels.
One solid will be created for each surface. Each solid will be displayed in the graphics window.
Example:
Please see sgm_sweep_solid_arc (p. 568) in the PCL Reference Manual Examples.
  
sgm_const_solid_decompose
(output_ids, cubic, solid_face1_list, solid_face2_list, vertex1_list, vertex2_list, vertex3_list, vertex4_list, vertex5_list, vertex6_list, vertex7_list, vertex8_list, created_ids)
 
Description:
This function creates hpats or solids between two sets of surfaces by decomposing two opposing solid faces.
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.
LOGICAL
cubic
This value is set to TRUE if the solid is to be a tri-parametric cubic hyperpatch and to FALSE if it is to be a simple solid.
STRING
solid_face1_list[]
This value specifies the first set of solid faces to decompose.
STRING
solid_face2_list[]
This value specifies the second set of solid faces to decompose.
STRING
vertex1_list[]
This value specifies the first set of vertices for the first face of the solids.
STRING
vertex2_list[]
This value specifies the second set of vertices for the first face of the solids.
STRING
vertex3_list[]
This value specifies the third set of vertices for the first face of the solids.
STRING
vertex4_list[]
This value specifies the forth set of vertices for the first face of the solids.
STRING
vertex5_list[]
This value specifies the first set of vertices for the second face of the solids.
STRING
vertex6_list[]
This value specifies the second set of vertices for the second face of the solids.
STRING
vertex7_list[]
This value specifies the third set of vertices for the second face of the solids.
STRING
vertex8_list[]
This value specifies the forth set of vertices for the second face of the solids.
Output:
STRING
created_ids[VIRTUAL]
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.
One solid will be created for each face pair. Each solid will be displayed in the graphics window as it is created.
This function can display a fatal popup message form with the following message:
 
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_solid_decompose (p. 569) in the PCL Reference Manual Examples.
 
sgm_const_solid_extrude
(output_ids, delta, scale, angle, origin, coord_frame, surface_list, created_ids)
 
Description:
This function creates tri-parametric solids by moving a surface through space along a defined axis while simultaneously scaling and rotating the created solids.
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
delta[]
This value specifies a translation vector defining the direction and magnitude of the extrusion operation.
REAL
scale
This value specifies the scaling factor.
REAL
angle
This value specifies the angle to rotate the surface around the translation vector during extrusion.
STRING
origin[]
This value specifies the point of origin of the extrusion.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
STRING
surface_list[]
This value specifies the list of surfaces to be extruded.
Output:
STRING
created_ids[VIRTUAL]
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.
14000001
LpGetHeapSpace: Allocated heapspace is exhausted.
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.
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.
38000003
No blob provided.
38000409
The Sweep Extrude Solid builder failed to create the evaluator table. Solid was not created.
38000427
The surface type used for this Action, Object, Method function is invalid. It must be of a type that when created, has the default color of Green.
38000452
Unable to calculate a point on the solid.
38000845
Unable to acquire %I% words of virtual memory.
Remarks:
This function displays a message listing the number of solids created and their IDs.
One solid will be created for each input surface. Each solid will be displayed in the graphics window.
Example:
Please see sgm_const_solid_extrude (p. 571) in the PCL Reference Manual Examples.
  
sgm_const_solid_glide
(output_ids, scale, glide_option, director_surface, base_surface, created_ids)
 
Description:
This function creates tri-parametric solids by moving director surfaces along paths defined by a set of base surfaces translated to the origin of the director surface.
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
scale
This value specifies the scaling factor.
INTEGER
glide_option
This value specifies the glide option to use: 0 = normal project glide option, and 1 = fixed logic option.
STRING
director_surface[]
This value specifies the list of surfaces along which the base surfaces will be swept.
STRING
base_surface[]
This value specifies the list of surfaces that will be swept along the director surfaces to form the solids.
Output:
STRING
created_ids[VIRTUAL]
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.
14000001
LpGetHeapSpace: Allocated heapspace is exhausted.
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.
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.
38000003
No blob provided.
38000408
The Sweep Glide Solid builder failed to create the evaluator table. Solid was not created.
38000427
The surface type used for this Action, Object, Method function is invalid. It must be of a type that when created, has the default color of Green.
38000452
Unable to calculate a point on the solid.
38000845
Unable to acquire %I% words of virtual memory.
Remarks:
This function displays a message listing the number of solids created and their IDs.
One solid will be created for each set of base_surface and director_surface. The number of solids created are set by the input value base_surface multiplied by the input value director_surface. Each solid will be displayed in the graphics window.
Example:
Please see sgm_const_solid_glide (p. 572) in the PCL Reference Manual Examples.
 
sgm_const_solid_normal
(output_ids, thickness1, thickness2, thickness3, thickness4, normal_rev_direction, surface_list, created_ids)
 
Description:
This function creates tri-parametric solids which are defined by projecting a distance along a unique normal vector given by the thickness function, which itself has a unique value at each point on the base surface The offset may be define a constant or a linear taper.
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
thickness1[]
This value specifies the constant thickness or the first thickness at u=0; v=0 for the linear taper.
STRING
thickness2[]
This value is set to NULL if a constant thickness has been specified, otherwise it is the second thickness at u=0; v=1 for the linear taper.
STRING
thickness3[]
This value is set to NULL if a constant thickness has been specified, otherwise it is the third thickness at u=1; v=1 for the linear taper.
STRING
thickness4[]
This value is set to NULL if a constant thickness has been specified, otherwise it is the fourth thickness at u=1; v=0 for the linear taper.
LOGICAL
normal_rev_direction
This value is set to TRUE if the normal is to be flipped or reversed.
STRING
surface_list[]
This value specifies the list of surfaces to be swept using the normal option.
Output:
STRING
created_ids[VIRTUAL]
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.
14000001
LpGetHeapSpace: Allocated heapspace is exhausted.
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.
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.
16000301
Blank string encountered.
16000302
%A% does not contain enough arguments, looking for %I% arguments.
16000303
%A% has too many arguments, looking for %I% arguments.
16000305
%A% is not a real.
38000003
No blob provided.
38000410
The Sweep Normal Solid builder failed to create the evaluator table. Solid was not created.
38000427
The surface type used for this Action, Object, Method function is invalid. It must be of a type that when created, has the default color of Green.
38000452
Unable to calculate a point on the solid.
38000845
Unable to acquire %I% words of virtual memory.
Remarks:
One solid will be created for each surface. Each solid will be displayed in the graphics window.
Example:
Please see sgm_const_solid_normal (p. 574) in the PCL Reference Manual Examples.
  
sgm_const_solid_nsurface_v1
(output_ids, param_method, surface_list, created_ids)
 
Description:
This function constructs a tri-parametric solid which passes through 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.
INTEGER
param_method
This value specifies the parameterization method to use: 1 = chord length parameterization, and 2 = uniform parameterization.
STRING
surface_list[]
This value specifies the set of surfaces from which the solid will be constructed.
Output:
STRING
created_ids[VIRTUAL]
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.
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:
 
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000452
Unable to calculate a point on the solid.
38000493
The Surface interpolating Solid builder failed to create the evaluator table. Solid was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_solid_nsurface_v1 (p. 575) in the PCL Reference Manual Examples.
  
sgm_const_solid_nsurface_v2
(output_ids, auto_align, param_method, surface_list, created_ids)
 
Description:
This function constructs a tri-parametric solid which passes through 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.
LOGICAL
auto_align
This value specifies, when set to TRUE, that the surfaces used to construct the solid should be automatically aligned.
INTEGER
param_method
This value specifies the parameterization method to use: 1 = chord length parameterization, and 2 = uniform parameterization.
STRING
surface_list[]
This value specifies the set of surfaces from which the solid will be constructed.
Output:
STRING
created_ids[VIRTUAL]
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.
This function is used in the implementation of the form that is displayed when “Geometry”, “Create”, “Solid”, “Surface”, with the “Option:” set to “N-Surfaces” is selected from the switch bar.
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:
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000147
Consecutive degenerate faces must have their degenerate edges topologically aligned in order to create a valid solid.
38000452
Unable to calculate a point on the solid.
38000493
The Surface interpolating Solid builder failed to create the evaluator table. Solid was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_solid_nsurface_v2 (p. 576) in the PCL Reference Manual Examples.
 
sgm_const_solid_revolve
(output_ids, axis, angle, offset, coord_frame, surface_list, created_ids)
 
Description:
This function creates a solid of revolution by revolving a set of surfaces about an axis of rotation.
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
axis[]
This value specifies the axis of rotation.
REAL
angle
This value specifies the total angle to revolve each surface in degrees.
REAL
offset
This value specifies the initial offset angle in degrees.
STRING
coord_frame[]
This value specifies the reference coordinate frame.
STRING
surface_list[]
This value specifies the list of surfaces to be revolved.
Output:
STRING
created_ids[VIRTUAL]
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.
14000001
LpGetHeapSpace: Allocated heapspace is exhausted.
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.
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.
38000003
No blob provided.
38000407
The Sweep Arc Solid builder failed to create the evaluator table. Solid was not created.
38000427
The surface type used for this Action, Object, Method function is invalid. It must be of a type that when created, has the default color of Green.
38000452
Unable to calculate a point on the solid.
38000492
Zero length vector in Solid %I% construction.
38000845
Unable to acquire %I% words of virtual memory.
Remarks:
This function displays a message listing the number of solids created and their IDs.
Each solid will be displayed in the graphics window.
Example:
Please see sgm_const_solid_revolve (p. 577) in the PCL Reference Manual Examples.
  
sgm_const_surface_2curve
(output_ids, curve1_list, curve2_list, created_ids)
 
Description:
This function constructs bi-parametric surfaces from two sets of curves.
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
curve1_list[]
This value specifies the first set of curves.
STRING
curve2_list[]
This value specifies the second set of curves.
Output:
STRING
created_ids[VIRTUAL]
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.
One ruled surface will be created for each pair of input curves. Each surface will be displayed in the graphics window as it is created.
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:
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000494
The Curve interpolating Surface builder failed to create the evaluator table. Surface was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_surface_2curve (p. 578) in the PCL Reference Manual Examples.
 
sgm_const_surface_2curve_man
(output_ids, curve1_list, curve2_list, surface_list, object_surface, created_ids)
 
Description:
This function creates manifold surfaces from two sets of curves and a set of surfaces.
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
curve1_list[]
This value specifies the first set of curves.
STRING
curve2_list[]
This value specifies the second set of curves.
STRING
surface_list[]
This value specifies the set of surfaces on which manifold surface will be created.
LOGICAL
object_surface
This value is set to TRUE if the objects to be created are parametric bicubic surfaces, or to FALSE if the objects to be created are simply trimmed surfaces.
Output:
STRING
created_ids[VIRTUAL]
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.
One surface will be created for each set of input curves and surfaces. Each surface will be displayed in the graphics window as it is created.
This function can display an information popup message form with the following messages:
 
1000040
Duplicate %A% was not created at users request.
1000064
Overwrite of existing entity not permitted.
This function can display a fatal popup message form with the following messages:
 
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000118
An attempt to approximate a general surface with a single Parametric BiCubic failed.
38000121
Invalid format conversion flag specified for surface conversion.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000494
The Curve interpolating Surface builder failed to create the evaluator table. Surface was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_surface_2curve_man (p. 580) in the PCL Reference Manual Examples.
  
sgm_const_surface_3curve_v1
(output_ids, param_method, curve1_list, curve2_list, curve3_list, created_ids)
 
Description:
This function constructs bi-parametric surfaces from three sets of curves.
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.
INTEGER
param_method
This value specifies the parameterization method to use: 1 = chord length parameterization, and 2 = uniform parameterization.
STRING
curve1_list[]
This value specifies the first set of curves.
STRING
curve2_list[]
This value specifies the second set of curves.
STRING
curve3_list[]
This value specifies the third set of curves.
Output:
STRING
created_ids[VIRTUAL]
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.
One bi-parametric surface will be created for each set of three input curves. Each surface will be displayed in the graphics window as it is created.
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:
 
1000025
Error attempting to allocate virtual memory.
1000507
Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000494
The Curve interpolating Surface builder failed to create the evaluator table. Surface was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_surface_3curve_v1 (p. 581) in the PCL Reference Manual Examples.
  
sgm_const_surface_4curve_v1
(output_ids, param_method, curve1_list, curve2_list, curve3_list, curve4_list, created_ids)
 
Description:
This function constructs bi-parametric surfaces from four sets of curves.
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.
INTEGER
param_method
This value specifies the parameterization method to use: 1 = chord length parameterization, and 2 = uniform parameterization.
STRING
curve1_list[]
This value specifies the first set of curves.
STRING
curve2_list[]
This value specifies the second set of curves.
STRING
curve3_list[]
This value specifies the third set of curves.
STRING
curve4_list[]
This value specifies the fourth set of curves.
Output:
STRING
created_ids[VIRTUAL]
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.
One bi-parametric surface will be created for each set of four input curves. Each surface will be displayed in the graphics window as it is created.
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:
1000025
Error attempting to allocate virtual memory.
1000507
Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000494
The Curve interpolating Surface builder failed to create the evaluator table. Surface was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_surface_4curve_v1 (p. 583) in the PCL Reference Manual Examples.
 
sgm_const_surface_ncurve_v1
(output_ids, param_method, curve_list, created_ids)
 
Description:
This function constructs a bi-parametric surface from a set of curves.
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.
INTEGER
param_method
This value specifies the parameterization method to use: 1 = chord length parameterization, and 2 = uniform parameterization.
STRING
curve_list[]
This value specifies the list of curves used to define the surface.
Output:
STRING
created_ids[VIRTUAL]
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.
One bi-parametric surface will be created from the input curves. Each bi-parametric surface will be displayed in the graphics window as it is created.
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:
 
1000025
Error attempting to allocate virtual memory.
1000507
Specified Parameterization Method value of %I% is invalid. Valid values are 1 and 2.
38000003
No blob provided.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000494
The Curve interpolating Surface builder failed to create the evaluator table. Surface was not created.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_surface_ncurve_v1 (p. 584) in the PCL Reference Manual Examples.
 
sgm_const_surface_offset
(output_ids, dist, ncopies, guide_surface, surface_list, created_labels)
Description:
This function will create constant offset surfaces from other surfaces .
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.
REAL
dist
This value specifies the distance by which the surface is normally offset.
INTEGER
ncopies
This value specifies the number of copies of the offset surface to make.
LOGICAL
guide_surface
This value specifies whether the first surface in the surface list is to be used as a guide surface to define the offset direction for all surfaces in the list.
STRING
surface_list[]
This value specifies the input surface list to create the offset surface(s) from.
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:
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 solid identifiers that are stored in the database and displayed in a viewport.
Example:
None.
 
sgm_const_surface_extract
(output_ids, solid_list, param_plane, param_pos, created_ids)
 
Description:
This function constructs bi-parametric surfaces by extraction from a set of solids at a specified parametric position and in a specified parametric direction.
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
solid_list[]
This value specifies the list of solids from which surfaces will be extracted.
INTEGER
param_plane
This value specifies the constant parametric plane in which to create the surface: 1 = constant U plane, 2 = constant V plane, and 3 = constant W plane.
REAL
param_pos
This value specifies the parametric position in the given parametric plane from which to extract the surface.
Output:
STRING
created_ids[VIRTUAL]
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.
One bi-parametric surface will be created for each parametric plane specified in each solid. Each bi-parametric surface 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:
 
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.
1000705
Specified Parametric Plane value of %I% is invalid. Valid values are 1, 2, and 3.
38000003
No blob provided.
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.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_surface_extract (p. 585) in the PCL Reference Manual Examples.
 
sgm_const_surface_edge
(output_ids, curve1_list, curve2_list, curve3_list, curve4_list, created_ids)
 
Description:
This function constructs bi-parametric surfaces from four sets of curves defining the boundaries of the surfaces.
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
curve1_list[]
This value specifies the first set of curves.
STRING
curve2_list[]
This value specifies the second set of curves.
STRING
curve3_list[]
This value specifies the third set of curves.
STRING
curve4_list[]
This value specifies the fourth set of curves.
Output:
STRING
created_ids[VIRTUAL]
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.
One bi-parametric surface will be created for each set of four input curves. Each bi-parametric surface will be displayed in the graphics window as it is created.
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:
 
1000025
Error attempting to allocate virtual memory.
38000003
No blob provided.
38000402
The Surface Edge Surface builder failed to create the evaluator table. Surface was not created.
38000403
Bounding Curves must form a closed loop. Surface was not created.
38000450
Unable to calculate a point on the curve.
38000451
Unable to calculate a point on the surface.
38000845
Unable to acquire %I% words of virtual memory.
Example:
Please see sgm_const_surface_edge (p. 587) in the PCL Reference Manual Examples.