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 |