トリミングされたサーフェイスをメッシュに追加します。
oReturn = NurbsSurfaceMesh.AddSurfaceWithTrim( [ControlPoints], [UKnots], [VKnots], [UClosed], [VClosed], [UDegree], [VDegree], [UParam], [VParam], [NurbsFormat], [NbTrim], [IsBoundary], [ProjectionType], [NbCurve], [CurveControlPoints], [CurveNbControlPoints], [CurveParam], [CurveKnots], [CurveNbKnots], [CurveDegree], [CurveClosed] ); |
| パラメータ | タイプ | 詳細 | ||||||
|---|---|---|---|---|---|---|---|---|
| ControlPoints | 1Dまたは3DArray | NURBS サーフェイスの作成に使用されるコントロールポイント。このコントロールポイントは、1D 配列または X,y,z,w値の 3D 配列の行列(UxVx4)で保存できます。1D 配列には、開始点(後ろにx,y,z,w値のシーケンスが続く)におけるU、V方向のポイント数が含まれます(例:{U,V,Xo,Yo,Zo,...X(uv-1),Y(uv-1),Z(uv-1),W(uv-1)})。 | ||||||
| UKnots | DoubleのArray | U方向のノット値のベクトル | ||||||
| VKnots | DoubleのArray | V方向のノット値の配列 | ||||||
| UClosed | Boolean | NURBS サーフェイスが U方向で閉じられているかどうかを指定します。
デフォルト値: false |
||||||
| VClosed | Boolean | NURBS サーフェイスがV方向で閉じられているかどうかを指定します。
デフォルト値: false |
||||||
| UDegree | Long | NURBS サーフェイスの U方向の次数
デフォルト値: 3 |
||||||
| VDegree | Long | NURBS サーフェイスの V方向の次数
デフォルト値: 3 |
||||||
| UParam | siKnotParameterization | NURBS サーフェイスの U方向のパラメータ配置方法
デフォルト値:siNonUniformParameterization |
||||||
| VParam | siKnotParameterization | NURBS サーフェイスの V方向のパラメータ配置方法
デフォルト値:siNonUniformParameterization |
||||||
| NurbsFormat | siNurbsFormat | NURBs のデータ形式を指定します。
デフォルト値:siSINurbs |
||||||
| NbTrim | Long | このサーフェイスを何回含めるかを指定します。
デフォルト値: 0 |
||||||
| IsBoundary | BooleanのArray | 各トリムがバウンダリであるかどうかを指定します。 | ||||||
| ProjectionType | LongのArray | 各トリムのプロジェクションタイプを指定します。配列の各メンバを 1 つのトリムに割り当てます。実際には、配列は 0と1
の組み合わせになります。
|
||||||
| NbCurve | LongのArray | 各トリムの NURBS カーブの数 | ||||||
| CurveControlPoints | 2D 配列のArray | コントロールポイントの各セットが2D 配列で格納されている配列。配列は4 x ControlPoint の数です。 | ||||||
| CurveNbControlPoints | Longの配列のArray | 各トリムの NURBS カーブごとの ControlPoint の数を指定します。 | ||||||
| CurveParam | siKnotParameterization値の配列のArray | 各トリムの NURBS カーブのパラメータ配置方法 | ||||||
| CurveKnots | Doubleの配列のArray | 各トリムのノット値の配列 | ||||||
| CurveNbKnots | Longの配列のArray | 各トリムの NURBSごとのKnot の数を指定します。 | ||||||
| CurveDegree | Longの配列のArray | 各トリムの NURBS カーブの次数
デフォルト値: 3 |
||||||
| CurveClosed | Booleanの配列のArray | 各トリムの NURBS カーブが閉じているかどうかを指定します。
デフォルト値: False |
' 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)
|