Is conical surface evaluation correct?


currently I am working with cones and I am curious if the evaluation code is correct. In 'Geom_ConicalSurface.hxx' is said 'The parametric equation of the cone is: P(u, v) = O + (R + v*tan(Ang)) * (cos(u)*XDir + sin(u)*YDir) + v*ZDir'. But 'ElSLib.cxx' contains different implementation in ElSLib::ConeValue which gives different results.

Any help is welcome.


Roman Lygin's picture

Hi Jiri,

Yeah! That's it: ElSLib returns ... + V*ZDir * cos(Angle). Thus, the v parameter is a length along the generatrix, not the Z coordinate.
I was scratching my head for a couple of hours when was working on CAD Exchanger Parasolid converter. Parasolid has the parametrization as documented in Open CASCADE .hxx but Open CASCADE is not consistent with it ;-).

So it is the Open CASCADE cdl file (Geom_ConicalSurface.cdl) that needs to be fixed to write a correct formula.

Hope this helps.
--- - the Open CASCADE blog - CAD Exchanger, your 3D data translator

sergey zaritchny's picture

Hi Jiri,
I would like to confirm that the posted problem is really exist.
The corresponding issue with ID = OCC22053 has been registered.
Later you can know if the issue is resolved by checking references to the specified ID in OCCT Release Notes. The analysis of the issue will take some time depending on our technical capability and availability of resources.
If you can't wait and the problem is urgent for you, you may contact us via Contact Form
We will try to find a solution/workaround acceptable for you.


J's picture

Thanks a lot ;)