*linecreatenurbs
Create a NURBS line using input parameters.
Syntax
*linecreatenurbs degree dimension knot_count pole_count ratnl double_array number_of_doubles
Type
HyperMesh Tcl Modify
Description
This command creates a generic NURBS type line using input parameters.
Inputs
- degree
- Polynomial degree of the created line.
- dimension
- Dimension of created line. Valid values are:
- 2 - Planar line
- 3 - 3-dimensional line
- knot_count
- Number of knot values. See Comments section.
- pole_count
- Number of NURBS control points/poles.
- ratnl
- Parameter that specifies whether weights are used in addition to control points. Valid values are:
- double_array
- The ID of the double array that contains the value of the knots, control points and weights (if ratnl is 1). The double array is created using the *createdoublearray command. This should always be set to 1.
- number_of_doubles
- Integer indicating the size (number of doubles) in the double array created using *createdoublearray.
To reduce input, the usual NURBS convention that for the curve with polynomial degree first and last degree+1 knots must have the same value is enforced internally. Input for this command should only contain one value. For all internal knot values, multiplicity should still be provided explicitly. All knot values must be provided in non-decreasing order.
Values in double_array array should be arranged as follows:
First knot_countt entries – knot values.
Next pole_count × dimension values are x, y, z values of control points for 3-dimensional line, or u, v values for planar line.
If ratnl is not zero, then next pole_count entries are NURBS weights values.
Examples
To create a planar line segment connecting points (0,0) and (1,1):
*createdoublearray 6 0 1 0 0 1 1
*linecreatenurbs 1 2 2 2 0 1 6
To create a 90 degree arc starting at (0,0) and ending at (2.0):
*createdoublearray 11 0 1 0 0 1 1 2 0 1 0.7071067811 1
*linecreatenurbs 2 2 2 3 1 1 11
To create a 180 degree arc:
*createdoublearray 19 0 1 1 2 0 0 1 1 2 0 3 -1 2 -2 1 0.707106 1 0.707106 1
*linecreatenurbs 2 2 4 5 1 1 19
Errors
if { [ catch {command_name...} ] } {
# Handle error
}
Version History
10.0