I have made a Geom_BSplineCurve by 10 points( In gp_Pnt type) using GeomAPI_Interpolate. But I want to get a segment of this Geom_BSplineCurve from such as point 3 to point 7 or two points which created by this curve and other surfaces intersecting. I know I can use the Geom_BSplineCurve::Segment(Standard_Real U1, Standard_Real U2) method to get the segment. I only know those points' X,Y and Z, but how can I get those points' U parameter value? (Those points are on the curve.) Thanks for help.