NurbsSurface.GetTrim operator


Returns a complete data description of a nurbs surface trim. A trim is a nurbs curve list that is projected on a nurbs surface.

Note: This method uses output arguments. C# and some scripting languages (such as JScript and PerlScript) don't support arguments passed by reference. However, there is a alternate version of this method which is considered safe to use with C#, JScript and PerlScript: NurbsSurface.GetTrim2.

C# Syntax

NurbsSurface.GetTrim( Int32 in_nTrimIndex, siNurbsFormat in_eNurbsFormat, Object& out_vsabIsBoundary, Object& out_vsalProjectionType, Object& out_vsalCount, Object& out_vsaControlPoints, Object& out_vsaNbControlPoints, Object& out_vsadKnots, Object& out_vsaNbKnots, Object& out_vsasClosed, Object& out_vsalDegree, Object& out_vsalParameterization );

Scripting Syntax

NurbsSurface.GetTrim( TrimIndex, [NurbsFormat], IsBoundary, ProjectionType, Count, ControlPoints, [NbControlPoints], [Knots], [NbKnots], [Closed], [Degree], [Parameterization] );


Parameter Type Description
TrimIndex Long Specifies which trim must be described.
NurbsFormat siNurbsFormat Specifies how the data is formatted.

Default Value: siSINurbs

IsBoundary Boolean Specifies whether the trim is a boundary.
ProjectionType Long Specifies the projection type of this trim.

Possible Values:


0 UV space
1 World space
Count Long Number of nurbs curve in the trim
ControlPoints 2D Array The control points are stored in a 2 dimensional array.

The array is a 4 x Number of ControlPoints
NbControlPoints Array of Long Specifies the number of ControlPoints per NurbsCurve.
Knots Array of Doubles An array of knot values.
NbKnots Array of Longs Specifies the number of Knots per nurbs curve.
Closed Array of Boolean Specifies whether the nurbs curve is closed .

Default Value: False

Degree Array of Long Degree of the nurbs curves.

Default Value: 3

Parameterization Array of siKnotParameterization The parameterization factor of the nurbs curve.


VBScript Example

Dim lDegree, bClosed, eParameterization, aControlVertex, aKnots, lCount, aNbControlVertex, bIsBoundary, lProjType
set oRoot = application.activeproject.activescene.root
set oSphere = oRoot.AddGeometry( "Sphere", "NurbsSurface" )
' extract each trim contained in the surface
for i = 0 to (oSphere.ActivePrimitive.Geometry.Surfaces.Item(0).TrimCount - 1)
        oSphere.ActivePrimitive.Geometry.Surfaces.Item(0).GetTrim _
                i, _
                siSINurbs, _
                bIsBoundary, _
                lProjType, _
                lCount, _
                aControlVertex, _
                aNbControlVertex, _
                aKnots , _
                aNbKnots, _
                bClosed, _
                lDegree, _
        oRoot.AddNurbsCurveList2 _
                lCount, _
                aControlVertex, _
                aNbControlVertex, _
                aKnots, _
                aNbKnots, _
                bClosed, _
                lDegree, _
                eParameterization, _

See Also

NurbsSurfaceMesh.AddSurfaceWithTrim NurbsSurface.GetTrim2 NurbsSurface.TrimCount