Part of BSplineCurve via two limiting gp_Pnt points

Hi and please excuse me all again for bombarding this forum with BSplineCurves.

Is there a way, to compute a specific part from an already existing "bigger" BSplineCurve by only defining the part via 2 different gp_Pnt (or so) points from the BSplineCurve ?

Until now, I only found segment-functions that need parameters (knots ???) as arguments. Points would be much easier as I do not excactly know how these parameters are associated with the points.
Maybe knots ?

Does anyone have some relevant experience with it ?

Regards and excuses


Marco Matt's picture


i have the same problem. I have two gp_Pnt2d located on a 2d-b-spline-curve and now i want to get the segment of the b-spline-curve between those points. But there is only this segment-function: Segment(const Standard_Real U1, const Standard_Real U2)
So does somebody know how to get the u-value of a given point?

Marco Matt's picture

You can use Geom_TrimmedCurve to define a segment of your BSplineCurve.
To get first and last parameters use ShapeAnalysis_Curve.

Marco Matt's picture

Hi marco,

thank you for your hint. Its working this way :)