Hide Table of Contents
IConvertPcurveToBcurveSize Method (ICurve)

Creates a b-curve from piecewise data.

.NET Syntax

Visual Basic (Declaration) 
Function IConvertPcurveToBcurveSize( _
   ByVal Dim As System.Integer, _
   ByVal Order As System.Integer, _
   ByVal Nsegs As System.Integer, _
   ByRef Coeffs As System.Double, _
   ByVal Basis As System.Integer, _
   ByRef Xform As System.Double, _
   ByVal ScaleFactor As System.Double _
) As System.Integer
Visual Basic (Usage) 
Dim instance As ICurve
Dim Dim As System.Integer
Dim Order As System.Integer
Dim Nsegs As System.Integer
Dim Coeffs As System.Double
Dim Basis As System.Integer
Dim Xform As System.Double
Dim ScaleFactor As System.Double
Dim value As System.Integer
value = instance.IConvertPcurveToBcurveSize(Dim, Order, Nsegs, Coeffs, Basis, Xform, ScaleFactor)
System.int IConvertPcurveToBcurveSize( 
   System.int Dim,
   System.int Order,
   System.int Nsegs,
   ref System.double Coeffs,
   System.int Basis,
   ref System.double Xform,
   System.double ScaleFactor
System.int IConvertPcurveToBcurveSize( 
&   System.int Dim,
&   System.int Order,
&   System.int Nsegs,
&   System.double% Coeffs,
&   System.int Basis,
&   System.double% Xform,
&   System.double ScaleFactor



Dimension of the curve:

  • 3 = nonrational

  • 4 = rational


Order of the curve; minimum is 2 (linear)


Number of segments in the curve; must be at least 1


Array of coefficients


0; not currently used


Transformation matrix to apply after conversion to b-curve


Units conversion factor to apply after conversion to b-curve

Return Value

Indicates that conversion succeeded or failed


Dimension of coefficient vectors dim:

  • For rational curves dim = 4.

  • For non-rational curves dim = 3.

Order of each segment of the curve order:

  1. The order of the curve = degree + 1.

  2. The minimum order is 2.

Number of segments in the curve nseg:

  • There must be at least one segment (nseg >= 1).

  • Adjacent segments must meet.

Coefficient data coeffs:

  • Contains order * nseg vectors of dimension dim. If dim = 3, then the vectors are 3-D vectors giving the x, y and z components. If dim = 4, then each vector has a weight (w) associated with it, and x, y, z and w components are supplied for each vector. The weights supplied must be greater than 0.

  • The coefficients are supplied in order, segment by segment.

  • The interpretation of the coefficients depends on the representation method chosen; this is determined by the value of the argument basis.

Representation method basis:

The expressions for each segment of the B-curve P(t) in the various representations are shown next. For generality, the rational form is given.

The simplification to the non-rational form can be obtained by setting both the weights and the denominator equal to 1.0

Polynomial coefficients:

The curve equation is given by a rational polynomial of order 'order':

                        n                     n

                        --         i        / --     i

          P(t)   =   >   w  A  t     /   >  w  t

                        --   i  i    /        --  i

                        i=0                 i=0

          where n = order-1

                A = polynomial coefficient


                w = weight for A

                  i              i

The polynomial coefficients are supplied starting with the constant  term and ending with the term of highest degree.


See Also

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

Subject:   Feedback on Help Topics
Page:   IConvertPcurveToBcurveSize Method (ICurve)
*   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:


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

Web Help Content Version: API Help (English only) 2018 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.