Important: BSplineCurves, Surfaces and Arcs

Hi all !

1. Does anyone know an excellent way to calculate the arc-length of a BSplineCurve and of a part of a BSplineCurve ?

2.How can one connect a dynamic number of BSplineCurves to one (let us say) object, that is compatible (inheritance tree) with a TopoDS_Shape object ? Is there something, that could be recommended ?

3. How can one create one (!) complete BSplineSurface out of all that BSplineCurves then ?

Any hints are warmly welcomed !

Come on, I know that there are several guys out there who know the answer !


Rob Bachrach's picture

1. I don't know how "excellent" it is, but look at BRepGProp and GProp_GProps. When computing linear properties, the Mass of the system equals its length. Of course you will need to create an edge from the curve. If you wish for part of the curve, create a trimmed curve from the original.

2. Turn the curves into edges. If they are connected, you can create a TopoDS_Wire. If not, you can create a TopoDS_Compound.

3. I don't know if it will work, but you may be able to use ThruSections to create a surface from multiple curves.

Good luck!

MCV's picture

Thank you very much, good hints.
Best regards.


MCV's picture

Thank you very much, both of you, good hints, and it works.
Best regards.


Prasad G's picture

For Q 1

Try GCPnts_AbscissaPoint::Length

good luck

- Prasad