AddSurfaceWithTrim (NurbsSurfaceMesh)
Description
Adds a trimmed surface to the mesh.
Scripting Syntax
NurbsSurfaceMesh.AddSurfaceWithTrim( [ControlPoints], [UKnots], [VKnots], [UClosed], [VClosed], [UDegree], [VDegree], [UParam], [VParam], [NurbsFormat], [NbTrim], [IsBoundary], [ProjectionType], [NbCurve], [CurveControlPoints], [CurveNbControlPoints], [CurveParam], [CurveKnots], [CurveNbKnots], [CurveDegree], [CurveClosed] )
C# Syntax
NurbsSurface NurbsSurfaceMesh.AddSurfaceWithTrim( Object in_vsaControlPoints, Object in_vsadUKnots, Object in_vsadVKnots, Boolean in_bUClosed, Boolean in_bVClosed, Int32 in_lUDegree, Int32 in_lVDegree, siKnotParameterization in_eUParam, siKnotParameterization in_eVParam, siNurbsFormat in_eNurbsFormat, Int32 in_lNbTrim, Object in_vsabIsBoundary, Object in_vsalProjectionType, Object in_vsalNbCurve, Object in_vsaCurveControlPoints, Object in_vsaCurveNbControlPoints, Object in_vsaCurveParam, Object in_vsaCurveKnots, Object in_vsaCurveNbKnots, Object in_vsaCurveDegree, Object in_vsaCurveClosed );Parameters
|
Parameter |
Type |
Description |
|
ControlPoints |
1D or 3D Array |
The control points used for creating the nurbs surface. The control points can be stored in a 1-dimensional array or in a 3-dimensional matrix (UxVx4) of x,y,z,w values. The 1 dimensional array should contain the number of points in U and V at the beginning followed by a sequence of x,y,z,w values e.g. {U,V,Xo,Yo,Zo,...X(uv-1),Y(uv-1),Z(uv-1),W(uv-1)}. |
|
UKnots |
A vector of knot values in the U direction. |
|
|
VKnots |
An array of knot values in the V direction. |
|
|
UClosed |
Specifies whether the nurbs surface is closed or not in U direction. Default Value: false |
|
|
VClosed |
Specifies whether the nurbs surface is closed or not in V direction. Default Value: false |
|
|
UDegree |
Degree of the nurbs surface in U direction. Default Value: 3 |
|
|
VDegree |
Degree of the nurbs surface in V direction. Default Value: 3 |
|
|
UParam |
The parameterization factor of the nurbs surface in U direction. Default Value: siNonUniformParameterization |
|
|
VParam |
The parameterization factor of the nurbs surface in V direction. Default Value: siNonUniformParameterization |
|
|
NurbsFormat |
Specifies how the data is formatted. Default Value: siSINurbs |
|
|
NbTrim |
Specifies how many trims this surface contains. Default Value: 0 |
|
|
IsBoundary |
Specifies whether each trim is a boundary. |
|
|
ProjectionType |
Specifies the projection type of each trim. Each member of the array maps to a single trim, so the array is actually a combination of the possible values (0 and 1). Possible Values: • 0: UV space • 1: World space |
|
|
NbCurve |
Number of nurbs curves in each trim |
|
|
CurveControlPoints |
2D Array of 2D Array |
Array where each set of control points is stored in a 2-dimensional array. The array is 4 x Number of ControlPoints. |
|
CurveNbControlPoints |
Specifies the number of ControlPoints per NurbsCurve per trim. |
|
|
CurveParam |
Array of Array of siKnotParameterization values |
The parameterization factor of the nurbs curve for each trim. |
|
CurveKnots |
An array of knot values for each trim. |
|
|
CurveNbKnots |
Specifies the number of Knots per nurbs curve per trim. |
|
|
CurveDegree |
Degree of the nurbs curves for each trim. Default Value: 3 |
|
|
CurveClosed |
Specifies whether the nurbs curve is closed for each trim. Default Value: False |
Return Value
Examples
VBScript Example
' This example creates a sphere with a circular trim Dim lDegree(2), bClosed(2), eParameterization(2), aControlPoints, aKnots(2) ' Extract data from a sphere nurbs surface set oRoot = Application.activeproject.activescene.root set oSphere = oRoot.AddGeometry( "Sphere", "NurbsSurface" ) oSphere.ActivePrimitive.Geometry.Surfaces(0).Get _ siSINurbs, _ aControlPoints, _ aKnots(siUDirection),aKnots(siVDirection) , _ bClosed(siUDirection),bClosed(siVDirection), _ lDegree(siUDirection),lDegree(siVDirection), _ eParameterization(siUDirection),eParameterization(siVDirection) ' Extract data from a cricular curve for the trim set oCurve = CreatePrim("Circle", "NurbsCurve") Dim lCDegree, bCClosed, eCParameterization, aCControlVertex, aCKnots, lCCount, aCNbControlVertex oCurve.ActivePrimitive.geometry.get _ siSINurbs, _ lCCount, _ aCControlVertex, _ aCNbControlVertex, _ aCKnots , _ aCNbKnots, _ bCClosed, _ lCDegree, _ eCParameterization ' Create the trimmed surface set oNew = oRoot.AddNurbsSurfaceMesh oNew.ActivePrimitive.Geometry.AddSurfaceWithTrim _ aControlPoints, _ aKnots(siUDirection),aKnots(siVDirection) , _ bClosed(siUDirection),bClosed(siVDirection), _ lDegree(siUDirection),lDegree(siVDirection), _ eParameterization(siUDirection),eParameterization(siVDirection), _ siSINurbs, _ 1, _ array(True), _ array(0), _ array(lCCount), _ array(aCControlVertex), _ array(aCNbControlVertex), _ array(eCParameterization), _ array(aCKnots) , _ array(aCNbKnots), _ array(lCDegree), _ array(bCClosed)
Autodesk Softimage v7.5