Sets a complete data description of the NurbsSurface. This is only available from scripted operators; if you use it on an 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.
NurbsSurface.Set( ControlPoints, [UKnots], [VKnots], [UClosed], [VClosed], [UDegree], [VDegree], [UParameterization], [VParameterization], [NurbsFormat] ); |
Parameter | Type | Description |
---|---|---|
ControlPoints | 3D Array | The control points are stored in a 3-dimensional array. The array is 4 * Number V ControlPoints * Number U ControlPoints |
UKnots | Array of Doubles | An array of knot values in U direction. |
VKnots | Array of Doubles | An array of knot values in V direction. |
UClosed | Boolean | Specifies whether the nurbs surface is closed in U direction. |
VClosed | Boolean | Specifies whether the nurbs surface is closed in V direction. |
UDegree | Long | Degree of the nurbs surface in U direction. |
VDegree | Long | Degree of the nurbs surface in V direction. |
UParameterization | siKnotParameterization | The parameterization factor of the nurbs surface in U direction. |
VParameterization | siKnotParameterization | The parameterization factor of the nurbs surface in V direction. |
NurbsFormat | siNurbsFormat | Specifies how the data is formatted.
Default Value: siSINurbs |
Dim lDegree(2), bClosed(2), eParameterization(2), aControlPoints, aKnots(2) set oRoot = Application.activeproject.activescene.root set oSphere = oRoot.AddGeometry( "Sphere", "NurbsSurface" ) FreezeObj oSphere oSphere.ActivePrimitive.Geometry.Surfaces(0).Get _ siSINurbs, _ aControlVertex, _ aKnots(siUDirection),aKnots(siVDirection) , _ bClosed(siUDirection),bClosed(siVDirection), _ lDegree(siUDirection),lDegree(siVDirection), _ eParameterization(siUDirection),eParameterization(siVDirection) for i = lbound(aControlVertex,3) to ubound(aControlVertex,3) for j = lbound(aControlVertex,2) to ubound(aControlVertex,2) aControlVertex(0,j,i) = aControlVertex(0,j,i) + 1 aControlVertex(1,j,i) = aControlVertex(1,j,i) + 1 aControlVertex(2,j,i) = aControlVertex(2,j,i) + 1 aControlVertex(3,j,i) = aControlVertex(3,j,i) + 1 next next ' Create new nurbs surface list from arc data. oSphere.ActivePrimitive.Geometry.Surfaces(0).Set _ aControlVertex, _ aKnots(siUDirection),aKnots(siVDirection), _ bClosed(siUDirection),bClosed(siVDirection), _ lDegree(siUDirection),lDegree(siVDirection), _ eParameterization(siUDirection),eParameterization(siVDirection), _ siSINurbs |