Set (NurbsCurve) *
Description
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?.
Scripting Syntax
NurbsCurve.Set( ControlPoints, [Knots], [Closed], [Degree], Parameterization, [NurbsFormat] )
C# Syntax
NurbsCurve.Set( Object in_vsaControlPoints, Object in_vdKnots, Object in_vbClosed, Object in_vlDegree, Object in_veParam, siNurbsFormat in_eNurbsFormat );Parameters
|
Parameter |
Type |
Description |
|
ControlPoints [out] |
2D Array |
The control points are stored in a 2 dimensional array. The array is a 4 * Number of U ControlPoints |
|
Knots |
An array of knot values. Default Value: Knots derived from control points. |
|
|
Closed |
Specifies whether the nurbs curve is closed . Default Value: False |
|
|
Degree |
Degree of the nurbs curves. Default Value: 3 |
|
|
Parameterization |
The parameterization factor of the nurbs curve. Default Value: siNonUniformParameterization |
|
|
NurbsFormat |
Specifies how the data is formatted. Default Value: siSINurbs |
Examples
VBScript Example
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
Autodesk Softimage v7.5