X3DObject.AddNurbsSurface

説明

1 つのサーフェイスで構成される NurbsSurfaceMesh オブジェクトを作成します。通常は、ジオメトリデータのセットから NURBS サーフェイスを作成するために使用します。

C#構文

X3DObject X3DObject.AddNurbsSurface( Object in_vsaControlPoints, Object in_vsaUKnots, Object in_vsaVKnots, Boolean in_bUClosed, Boolean in_bVClosed, Int32 in_lUDegree, Int32 in_lVDegree, siKnotParameterization in_uParameterization, siKnotParameterization in_vParameterization, siNurbsFormat in_eNurbsFormat, String in_bstrName );

スクリプト構文

oReturn = X3DObject.AddNurbsSurface( ControlPoints, [UKnots], [VKnots], [UClosed], [VClosed], [UDegree], [VDegree], [UParam], [VParam], [NurbsFormat], [Name] );

戻り値

この新しいジオメトリを持つ X3DObject を戻します。新しい X3DObject はこの x3DObject の子して関連付けられます。

パラメータ

パラメータ タイプ 説明
ControlPoints 1D または 3D Array 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

Name String オブジェクトの名前

VBScript の例

NewScene , false

set oRoot = Application.ActiveProject.ActiveScene.Root

set oOrig = oRoot.AddGeometry( "Sphere", "NurbsSurface" )

oOrig.radius.Value = 1.000

oOrig.subdivu.Value = 1.000

oOrig.subdivv.Value = 1.000

oOrig.ActivePrimitive.Geometry.Surfaces(0).Get  _

	siSINurbs, _

	aCV, _

	aUKnots,aVKnots, _

	bUClosed,bVClosed, _

	lUDegree,lVDegree, _

	eUParameterization,eVParameterization

Application.LogMessage "bUClosed: " & bUClosed

Application.LogMessage "bVClosed: " & bVClosed

Application.LogMessage "lUDegree: " & lUDegree

Application.LogMessage "lVDegree: " & lVDegree

Application.LogMessage "eUParameterization: " & eUParameterization

Application.LogMessage "eVParameterization: " & eVParameterization

Application.LogMessage "aCV size:" & ubound(aCV,3)+1 & ":" & ubound(aCV,2)+1 & ":" &ubound(aCV,1)+1

for i = lbound( aCV, 3 ) to ubound( aCV, 3 )

	for j = lbound( aCV, 2 ) to ubound( aCV, 2 )

		Application.LogMessage "aCV(" & i & "," & j &") = " & _

			aCV( 0, j, i ) & "," & aCV( 1, j, i ) & "," & aCV( 2, j, i ) & "," & aCV( 3, j, i )

	next

next

for i = lbound( aUKnots, 1 ) to ubound( aUKnots, 1 )

	Application.LogMessage "aUKnots(" & i & ") = " & aUKnots( i )

next

for i = lbound( aVKnots, 1 ) to ubound( aVKnots, 1 )

	Application.LogMessage "aVKnots(" & i & ") = " & aVKnots( i )

next

set oNurbsSurface = oRoot.AddNurbsSurface( _

	aCV, _

	aUKnots,aVKnots, _

	bUClosed,bVClosed, _

	lUDegree,lVDegree, _

	eUParameterization,eVParameterization, _

	siSINurbs _

	)

' Expected results:

'INFO : bUClosed: True

'INFO : bVClosed: False

'INFO : lUDegree: 3

'INFO : lVDegree: 3

'INFO : eUParameterization: 1

'INFO : eVParameterization: 1

'INFO : aCV size:3:4:4

'INFO : aCV(0,0) = 0,-1,0,1

'INFO : aCV(0,1) = -2.66666666666667,-1,0,1

'INFO : aCV(0,2) = -2.66666666666667,1,0,1

'INFO : aCV(0,3) = 0,1,0,1

'INFO : aCV(1,0) = 0,-1,0,1

'INFO : aCV(1,1) = 1.33333333333333,-1,2.3094010767585,1

'INFO : aCV(1,2) = 1.33333333333333,1,2.3094010767585,1

'INFO : aCV(1,3) = 0,1,0,1

'INFO : aCV(2,0) = 0,-1,0,1

'INFO : aCV(2,1) = 1.33333333333333,-1,-2.3094010767585,1

'INFO : aCV(2,2) = 1.33333333333333,1,-2.3094010767585,1

'INFO : aCV(2,3) = 0,1,0,1

'INFO : aUKnots(0) = 0

'INFO : aUKnots(1) = 1

'INFO : aUKnots(2) = 2

'INFO : aUKnots(3) = 3

'INFO : aVKnots(0) = 0

'INFO : aVKnots(1) = 0

'INFO : aVKnots(2) = 0

'INFO : aVKnots(3) = 1

'INFO : aVKnots(4) = 1

'INFO : aVKnots(5) = 1

関連項目

NurbsSurface