
Returns a complete data description of the Nurbs Curve list. The
data is returned in a 1-dimensional array and is ordered the same
as for the NurbsCurveList.Get
method output arguments.
Note: This method must be used with scripting languages that don't
support arguments passed by reference such as JScript and
PerlScript. For more information on getting output arguments, see
About Output Argument
Arrays.
oArray = NurbsCurveList.Get2( [NurbsFormat] ); |
Array ordered as Count, ControlPoints, NbControlPoints, Knots, NbKnots, Closed, Degree, Parameterization.
| Parameter | Type | Description |
|---|---|---|
| NurbsFormat | siNurbsFormat | Specifies how the data is formatted.
Default Value: siSINurbs |
/*
This example shows how to retrieve the output arguments returned by
NurbsCurveList.Get2
*/
var oRoot = Application.ActiveProject.ActiveScene.Root;
var oText = oRoot.AddGeometry( "Text", "NurbsCurve" );
oText.text = "b";
// convert VB array to JScript array
var vbArgs = new VBArray(oText.ActivePrimitive.Geometry.Get2( siSINurbs ));
var args = vbArgs.toArray();
// Number of curves
LogMessage("number of curves: " + args[0] );
// Number of control points per curve
var vbArg6 = new VBArray(args[2]);
var ncpoints = vbArg6.toArray();
for (i = 0; i < ncpoints.length; i++)
{
LogMessage("number of control points for curve " + i + ": " + ncpoints[i] );
}
// Control points
var vbArg1 = new VBArray(args[1]);
var cp = vbArg1.toArray();
for ( i=0; i<cp.length; i++ )
{
for ( j=0, k=0; k<cp[i]; k++, j+=4 )
{
LogMessage("crv" + i + "[" + k + "]: " + cp[j] + ", " + cp[j+1] + ", " + cp[j+2] + ", " + cp[j+3] );
}
}
// Number of knots per curve
var vbArg7 = new VBArray(args[4]);
var nknots = vbArg7.toArray();
for (i = 0; i < nknots.length; i++)
{
LogMessage("number of knots for curve " + i + ": " + nknots[i] );
}
// Knots
var vbArg2 = new VBArray(args[3]);
var knots = vbArg2.toArray();
for ( j=0; j<knots.length; j++)
{
for (i = 0; i < nknots[j]; i++)
{
LogMessage("crv" + j + ": " + "knots" + i + ": " + knots[i] );
}
}
// get nurbs curves closed state
var vbArg3 = new VBArray(args[5]);
var closes = vbArg3.toArray();
for (i = 0; i < closes.length; i++)
{
LogMessage("curve" + i + " closed: " + closes[i] );
}
// get nurbs degree
var vbArg4 = new VBArray(args[6]);
var degrees = vbArg4.toArray();
for (i = 0; i < degrees.length; i++)
{
LogMessage("curve" + i + " degree: " + degrees[i] );
}
// get nurbs parameterization
var vbArg5 = new VBArray(args[7]);
var params = vbArg5.toArray();
for (i = 0; i < params.length; i++)
{
LogMessage("curve" + i + " parameterization: " + params[i] );
}
// Expected result:
//INFO : number of curves: 2
//INFO : number of control points for curve 0: 26
//INFO : number of control points for curve 1: 16
//INFO : crv0[0]: 0.8072018004501126, 0, 0, 1
//INFO : crv0[1]: 0.8072018004501126, 0.1785915228807202, 0, 1
//INFO : crv0[2]: 0.8072018004501126, 0.3571830457614404, 0, 1
//INFO : crv0[3]: 1.0946642910727682, -0.06301575393848462, 0, 1
//INFO : crv0[4]: 1.5996811702925732, -0.06301575393848462, 0, 1
//INFO : crv0[5]: 2.1074174793698423, -0.06301575393848462, 0, 1
//INFO : crv0[6]: 2.470062828207052, 0.3369748687171793, 0, 1
//INFO : crv0[7]: 2.8327081770442612, 0.7369654913728433, 0, 1
//INFO : crv0[8]: 2.8327081770442612, 1.4698049512378095, 0, 1
//INFO : crv0[9]: 2.8327081770442612, 1.7785071267816954, 0, 1
//INFO : crv0[10]: 2.7467882595648913, 2.049653038259565, 0, 1
//INFO : crv0[11]: 2.6608683420855214, 2.3207989497374344, 0, 1
//INFO : crv0[12]: 2.509166354088522, 2.5127297449362342, 0, 1
//INFO : crv0[13]: 2.357464366091523, 2.7046605401350336, 0, 1
//INFO : crv0[14]: 2.122538447111778, 2.8106948612153037, 0, 1
//INFO : crv0[15]: 1.887612528132033, 2.916729182295574, 0, 1
//INFO : crv0[16]: 1.624531132783196, 2.916729182295574, 0, 1
//INFO : crv0[17]: 1.1492873218304575, 2.916729182295574, 0, 1
//INFO : crv0[18]: 0.8432108027006752, 2.533992873218305, 0, 1
//INFO : crv0[19]: 0.8432108027006752, 3.23548855963991, 0, 1
//INFO : crv0[20]: 0.8432108027006752, 3.9369842460615154, 0, 1
//INFO : crv0[21]: 0.6016504126031508, 3.9369842460615154, 0, 1
//INFO : crv0[22]: 0.36009002250562644, 3.9369842460615154, 0, 1
//INFO : crv0[23]: 0.36009002250562644, 1.9684921230307577, 0, 1
//INFO : crv0[24]: 0.36009002250562644, 0, 0, 1
//INFO : crv0[25]: 0.5836459114778695, 0, 0, 1
//INFO : crv1[0]: 0.8072018004501126, 0, 0, 1
//INFO : crv1[1]: 0.8072018004501126, 0.1785915228807202, 0, 1
//INFO : crv1[2]: 0.8072018004501126, 0.3571830457614404, 0, 1
//INFO : crv1[3]: 1.0946642910727682, -0.06301575393848462, 0, 1
//INFO : crv1[4]: 1.5996811702925732, -0.06301575393848462, 0, 1
//INFO : crv1[5]: 2.1074174793698423, -0.06301575393848462, 0, 1
//INFO : crv1[6]: 2.470062828207052, 0.3369748687171793, 0, 1
//INFO : crv1[7]: 2.8327081770442612, 0.7369654913728433, 0, 1
//INFO : crv1[8]: 2.8327081770442612, 1.4698049512378095, 0, 1
//INFO : crv1[9]: 2.8327081770442612, 1.7785071267816954, 0, 1
//INFO : crv1[10]: 2.7467882595648913, 2.049653038259565, 0, 1
//INFO : crv1[11]: 2.6608683420855214, 2.3207989497374344, 0, 1
//INFO : crv1[12]: 2.509166354088522, 2.5127297449362342, 0, 1
//INFO : crv1[13]: 2.357464366091523, 2.7046605401350336, 0, 1
//INFO : crv1[14]: 2.122538447111778, 2.8106948612153037, 0, 1
//INFO : crv1[15]: 1.887612528132033, 2.916729182295574, 0, 1
//INFO : number of knots for curve 0: 27
//INFO : number of knots for curve 1: 17
//INFO : crv0: knots0: 0
//INFO : crv0: knots1: 0
//INFO : crv0: knots2: 1
//INFO : crv0: knots3: 1
//INFO : crv0: knots4: 2
//INFO : crv0: knots5: 2
//INFO : crv0: knots6: 3
//INFO : crv0: knots7: 3
//INFO : crv0: knots8: 4
//INFO : crv0: knots9: 4
//INFO : crv0: knots10: 5
//INFO : crv0: knots11: 5
//INFO : crv0: knots12: 6
//INFO : crv0: knots13: 6
//INFO : crv0: knots14: 7
//INFO : crv0: knots15: 7
//INFO : crv0: knots16: 8
//INFO : crv0: knots17: 8
//INFO : crv0: knots18: 9
//INFO : crv0: knots19: 9
//INFO : crv0: knots20: 10
//INFO : crv0: knots21: 10
//INFO : crv0: knots22: 11
//INFO : crv0: knots23: 11
//INFO : crv0: knots24: 12
//INFO : crv0: knots25: 12
//INFO : crv0: knots26: 13
//INFO : crv1: knots0: 0
//INFO : crv1: knots1: 0
//INFO : crv1: knots2: 1
//INFO : crv1: knots3: 1
//INFO : crv1: knots4: 2
//INFO : crv1: knots5: 2
//INFO : crv1: knots6: 3
//INFO : crv1: knots7: 3
//INFO : crv1: knots8: 4
//INFO : crv1: knots9: 4
//INFO : crv1: knots10: 5
//INFO : crv1: knots11: 5
//INFO : crv1: knots12: 6
//INFO : crv1: knots13: 6
//INFO : crv1: knots14: 7
//INFO : crv1: knots15: 7
//INFO : crv1: knots16: 8
//INFO : curve0 closed: true
//INFO : curve1 closed: true
//INFO : curve0 degree: 2
//INFO : curve1 degree: 2
//INFO : curve0 parameterization: 1
//INFO : curve1 parameterization: 1
|