PCL Reference Manual > Geometry Functions > Construct Actions
   
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