Open CASCADE, the 3D modelling kernel
3D modeling & numerical simulation

Search the Forums
See All Topics
 

Give a point on BSplineSurface or BSplineCurve, How to compute its U or V parameters?

Give a point on BSplineSurface or BSplineCurve, How to compute its U or V parameters?
SunHongLei 2013/03/12 15:00
Give a point on BSplineSurface or BSplineCurve, How to compute its U or V parameters?
For example,given a point P on a BSplineCurve f, how can i get its U value in opencascade?
Rob Bachrach 2013/03/12 15:09
Check out GeomAPI_ProjectPointOnCurve and GeomAPI_ProjectPointOnSurf. These will project your point onto the curve or surface. The LowerDistanceParameter and LowerDistanceParameters functions can retrieve your UV values.
Timo 2013/03/12 15:27
You can also use the BRepExtrema_DistShapeShape class, which can calculate the minimum distance between two shapes, e.g. a vertex and a face. It provides methods "ParOn..." to get the corresponding u/v-parameters.
AlexP 2013/03/14 04:38
The U and V parameter of a point on surface:

TopoDS_Shape thesurf = ...

const TopoDS_Face& aFace = TopoDS::Face (thesurf);
Handle(Geom_Surface) aSurf = BRep_Tool::Surface(aFace);
Handle(ShapeAnalysis_Surface) aSurfAna = new ShapeAnalysis_Surface (aSurf);
gp_Pnt2d pUV = aSurfAna->ValueOfUV(point, Precision::Confusion());


*************** to run this on a curve follow the same procedure but use the ShapeAnalysis_Curve.cxx class instead of the ShapeAnalysis_Surface class.

note: might have to make sure the point is literally on the surface, by projecting it to the surface first./ don't remember off the bat if its necessary to do this.

Enjoy!



 
 
Latest news
  • New features to enhance the development process
  • Open CASCADE Technology 6.7.1 is available for download!
  • Open CASCADE Technology 6.7.0 is available for download!

  • © OPEN CASCADE 2000 - 2014  |  Search  |  Contacts   |  Site map