Sets the NurbsCurve geometry from a complete data description.
This is only available from scripted operators, if you use it on a
object with some clusters and you change the topology the burden of
updating the clusters is on the user. For non-scripted operators
this property can only be set if the object has been frozen.
Note: This method uses output
arguments. C# and some scripting languages (such as JScript and
PerlScript) don't support arguments passed by reference so you need
to use the best workaround for your situation:
For scripting languages this method returns an ISIVTCollection which you can
use to get the output arguments.
For C# the only available workaround is to create a VBScript custom
command which returns both the output arguments and the return
value in one array. For details, see What Happens when the Function Already
Returns a Value?.
NurbsCurve.Set( Object in_vsaControlPoints, Object in_vdKnots, Object in_vbClosed, Object in_vlDegree, Object in_veParam, siNurbsFormat in_eNurbsFormat ); |
NurbsCurve.Set( ControlPoints, [Knots], [Closed], [Degree], Parameterization, [NurbsFormat] ); |
Parameter | Type | Description |
---|---|---|
ControlPoints | 2D Array | The control points are stored in a 2 dimensional array. The array is a 4 * Number of U ControlPoints |
Knots | Array of Doubles | An array of knot values.
Default Value: Knots derived from control points. |
Closed | Boolean | Specifies whether the nurbs curve is closed .
Default Value: False |
Degree | Long | Degree of the nurbs curves.
Default Value: 3 |
Parameterization | siKnotParameterization | The parameterization factor of the nurbs curve.
Default Value: siNonUniformParameterization |
NurbsFormat | siNurbsFormat | Specifies how the data is formatted.
Default Value: siSINurbs |
Dim lDegree, bClosed, eParameterization, aControlVertex, aKnots set oRoot = application.ActiveProject.ActiveScene.Root set oArc = oRoot.AddGeometry( "Arc", "NurbsCurve" ) FreezeObj oArc oArc.ActivePrimitive.Geometry.Curves(0).Get siSINurbs, aControlVertex, _ aKnots, bClosed, lDegree, eParameterization for i = lbound(aControlVertex,2) to ubound(aControlVertex,2) aControlVertex(1,i) = aControlVertex(1,i) + i next ' Set the curve with the new vertex values. oArc.ActivePrimitive.Geometry.Curves(0).Set aControlVertex, aKnots, bClosed, _ lDegree, eParameterization, siSINurbs |