Hide Table of Contents
GetBSurfParams2 Method (ISurface)

Gets the b-spline surface parameters for the surface.

.NET Syntax

Visual Basic (Declaration) 
Function GetBSurfParams2( _
   ByVal WantCubic As Boolean, _
   ByVal WantNonRational As Boolean, _
   ByVal VP0 As Object, _
   ByVal Tolerance As Double, _
   ByRef Sense As Boolean _
) As Object
Visual Basic (Usage) 
Dim instance As ISurface
Dim WantCubic As Boolean
Dim WantNonRational As Boolean
Dim VP0 As Object
Dim Tolerance As Double
Dim Sense As Boolean
Dim value As Object
 
value = instance.GetBSurfParams2(WantCubic, WantNonRational, VP0, Tolerance, Sense)
C# 
object GetBSurfParams2( 
   bool WantCubic,
   bool WantNonRational,
   object VP0,
   double Tolerance,
   out bool Sense
)
C++/CLI 
Object^ GetBSurfParams2( 
&   bool WantCubic,
&   bool WantNonRational,
&   Object^ VP0,
&   double Tolerance,
&   [Out] bool Sense
) 

Parameters

WantCubic
True if cubic is needed, false if not; specifying true converts any surface type to a cubic Bsurface
WantNonRational

True if non-rational is needed, false if not; specifying true converts any surface type to a non-rational Bsurface; if you specify true, then you should only use this method for surfaces that are Bsurface or blend surface; otherwise, the underlying call is not made and the values returned from this are not initialized or contain the values from the last call

VP0
Array of values describing the UV range of the surface to be output; you can obtain these values by using ISurface::Parameterization or ISurface::IParameterization
Tolerance

Tolerance, in meters, between the approximated b-spline surface and the underlying surface; the default value is 0.01 and should generally be reduced to the tolerance desired

Sense

Approximated b-spline surface is not always in the same direction as the original surface; if sense is true, then the underlying surface and the b-spline surface are in the same direction

Return Value

Array of values giving the b-spline surface parameters

Remarks

The VP0 parameter contains the following values, which you can obtain by using ISurface::Parameterization or ISurface::IParameterization:

  • vP0[0] & vP0[2] are the lower bounds of the U & V surface parameters, respectively

  • vP0[1] & vP0[3] are the upper bounds of the U & V surface parameters, respectively

If you want to use the Bsurface in combination with its trim curves, you should use the IFace2::GetTrimCurves2 method to extract the trim curves and the Bsurface. The IFace2::GetTrimCurves2 method provides much better alignment of the trim curves with the Bsurface because they are both generated at the same time.

Evaluation is as follows:

Number of returned double elements is (4 + NumUKnots + NumVKnots + NumControlPointDoubles), where NumUKnots = (NumColumnsControlPoints + Uorder) and NumVKnots = (NumRowsControlPoints + Vorder).

The returned data are arranged in this order:

  • Uorder, Vorder - These are two ints packed into a double

    • Uorder - Order of surface in U direction

    • Vorder - Order of surface in V direction

  • NumColumnsControlPoints, NumRowsControlPoints - These are two integers packed into a double

    • NumColumnsControlPoints - Number of columns for the control points

    • NumRowsControlPoints - Number of rows for the control points

  • Uperiodicity, Vperiodicity - These are two integers packed into a double. Since you may be generating a Bsurface with this function, the U,V periodicity values may be opposite from the original surface. Refer to ISurface::Parameterization or ISurface::IParameterization.

    • Uperiodicity - True if surface is periodic in U direction

    • Uperiodicity - True if surface is periodic in V direction

  • DimensionControlPoints, dummy - These are two integers packed into a double

    • DimensionControlPoints - Dimension for control points.

      • DimensionControlPoints = 3 for non-rational surfaces and control point coordinates are output as [x0,y0,z0,x1,y1,z1,.........].

      • DimensionControlPoints = 4 for rational surfaces and control point coordinates and the weight are output as [x0,y0,z0,w0,x1,y1,z1,w1,........].

    • dummy - a system-used filler.

  • UKnots - Knot vector in the u direction.

There will be (NumColumnsControlPoints + Uorder) knot values. If the surface is periodic in the U direction, then data is converted and returned in a non-periodic form with additional knots added to the surface ends.

  • VKnots - Knot vector in the v direction.

There will be (NumRowsControlPoints + Vorder) knot values. If the surface is periodic in the V direction, then data is converted and returned in a non-periodic form with additional knots added to the surface ends.

  • ControlPoints - This is a list of control points output in (NumColumnsControlPoints*NumRowsControlPoints) vectors of dimension DimensionControlPoints. The vectors are output row by row. The U direction of surface is in the row direction. The V direction of surface is in the column direction.

    • For non-rational surfaces, control point coordinates are output as [x0,y0,z0,x1,y1,z1,.........].

    • For rational surfaces, control point coordinates and the weight are output as [x0,y0,z0,w0,x1,y1,z1,w1,........].

    • For example:

      Row 1, Column 1 Row 1, Column 2
      x0, y0, z0 x1, y1, z1 = 6
      Row 2, Column 1 Row 2, Column 2
      x2, y2, z2 x3, y3, z3 =6
      Row 3, Column 1 Row 3, Column 2
      x4, y4, z4 x5, y5, z5 = 6
      Total = 18

 

 

See Also

Availability

SolidWorks 2000 SP3, Revision Number 8.3


Provide feedback on this topic

SOLIDWORKS welcomes your feedback concerning the presentation, accuracy, and thoroughness of the documentation. Use the form below to send your comments and suggestions about this topic directly to our documentation team. The documentation team cannot answer technical support questions. Click here for information about technical support.

* Required

 
*Email:  
Subject:   Feedback on Help Topics
Page:   GetBSurfParams2 Method (ISurface)
*Comment:  
*   I acknowledge I have read and I hereby accept the privacy policy under which my Personal Data will be used by Dassault Systèmes

Print Topic

Select the scope of content to print:

x

We have detected you are using a browser version older than Internet Explorer 7. For optimized display, we suggest upgrading your browser to Internet Explorer 7 or newer.

 Never show this message again
x

Web Help Content Version: API Help (English only) 2010 SP05

To disable Web help from within SOLIDWORKS and use local help instead, click Help > Use SOLIDWORKS Web Help.

To report problems encountered with the Web help interface and search, contact your local support representative. To provide feedback on individual help topics, use the “Feedback on this topic” link on the individual topic page.