NurbsSurface.Set operator

Description

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.

Scripting Syntax

NurbsSurface.Set( ControlPoints, [UKnots], [VKnots], [UClosed], [VClosed], [UDegree], [VDegree], [UParameterization], [VParameterization], [NurbsFormat] );

Parameters

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

Examples

VBScript Example

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