
 NURBS サーフェイスメッシュの完全なデータ記述を戻します。データは 1D 配列で戻されます。順序は NurbsSurfaceMesh.Get メソッドの出力引数と同じです。
注:このメソッドは、JScriptやPerlScriptなどの引数の参照渡しをサポートしないスクリプト言語で使用する必要があります。出力引数の取得の詳細については、About Output Argument Arrays を参照してください。
Object NurbsSurfaceMesh.Get2( siNurbsFormat in_eNurbsFormat );  | 	
oArray = NurbsSurfaceMesh.Get2( [NurbsFormat] );  | 	
VariantのArray。順序は、Count、NbUControlPoints、NbVControlPoints、UKnots、NbUKnots、VKnots、NbVKnots、UClosed、VClosed、UDegree、VDegree、UParam、VParamです。
| パラメータ | タイプ | 説明 | 
|---|---|---|
| NurbsFormat | siNurbsFormat | 
 NURBs のデータ形式を指定します。 			 デフォルト値:siSINurbs  | 
	
// This example shows how to retrieve the output arguments returned by NurbsCurveList.Get2
var oRoot = Application.ActiveProject.ActiveScene.Root;
var oGrid = oRoot.AddGeometry( "Grid", "NurbsSurface" );
oGrid.subdivu = 1;
oGrid.subdivv = 1;
Duplicate( "grid", null, 2, 1, 1, 0, 0, 1, 0, 1 );
AddToSelection( "grid,grid1", null, 1 );
SIAssembleNurbsMesh( null, 0.150, 0, 0, 1 );
SelectObj( "surfmsh" );
// convert VB array to JScript array
var vbArgs = new VBArray(Selection(0).ActivePrimitive.Geometry.Get2( siSINurbs ));
// get the number of surfaces
numSurfs = vbArgs.getItem(0);
LogMessage("number of surfaces: " + numSurfs);
// get the number of control points in U per surface
var uncpts = vbArgs.getItem(2);
uSize = uncpts.ubound(1)-uncpts.lbound(1)+1;
for (i = 0; i < uSize; i++) 
{
	LogMessage("number of control points in U for surface " + i + ": " + uncpts.getItem(i) );
}
// get the number of control points in V per surface
var vncpts = vbArgs.getItem(3)
vSize = vncpts.ubound(1)-vncpts.lbound(1)+1;
for (i = 0; i < vSize; i++) 
{
	LogMessage("number of control points in V for surface " + i + ": " + vncpts.getItem(i) );
}
// get the control point array
var cpts = vbArgs.getItem(1);
// dump all control points
for ( k=0, offset=0; k<numSurfs; offset += uncpts.getItem(k), k++ )
{
	for ( i=0; i<vncpts.getItem(k); i++ ) // V
	{
		for ( j=0; j<uncpts.getItem(k); j++ ) // U
		{
			idx = j+offset;
	 		LogMessage("surf" + k + ": cpts[0]" + "[" + i + "]" + "[" + idx + "]: " + cpts.getItem(0,i,idx));
			LogMessage("surf" + k + ": cpts[1]" + "[" + i + "]" + "[" + idx + "]: " + cpts.getItem(1,i,idx));
	 		LogMessage("surf" + k + ": cpts[2]" + "[" + i + "]" + "[" + idx + "]: " + cpts.getItem(2,i,idx));
	 		LogMessage("surf" + k + ": cpts[3]" + "[" + i + "]" + "[" + idx + "]: " + cpts.getItem(3,i,idx));
		}
	}
} |