NurbsSurfaceMesh.AddSurfaceWithTrim

説明

トリミングされたサーフェイスをメッシュに追加します。

スクリプト 構文

oReturn = NurbsSurfaceMesh.AddSurfaceWithTrim( [ControlPoints], [UKnots], [VKnots], [UClosed], [VClosed], [UDegree], [VDegree], [UParam], [VParam], [NurbsFormat], [NbTrim], [IsBoundary], [ProjectionType], [NbCurve], [CurveControlPoints], [CurveNbControlPoints], [CurveParam], [CurveKnots], [CurveNbKnots], [CurveDegree], [CurveClosed] );

戻り値

NurbsSurface

パラメータ

パラメータ タイプ 詳細
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 DoubleArray U方向のノット値のベクトル
VKnots DoubleArray 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 BooleanArray 各トリムがバウンダリであるかどうかを指定します。
ProjectionType LongArray 各トリムのプロジェクションタイプを指定します。配列の各メンバを 1 つのトリムに割り当てます。実際には、配列は 0と1 の組み合わせになります。

指定可能な値:

説明:

0 UV空間
1 ワールド空間
NbCurve LongArray 各トリムの 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

VBScript の例

' 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)