I would like to ask if the "GeomAPI_ExtremaSurfaceSurface" class has any limitations.

zhangjiawang

Looking around for some CAD
I would like to ask if the "GeomAPI_ExtremaSurfaceSurface" class has any limitations when it is used to calculate the parallelism of two topological surfaces?
I tested two cylinder surface . the result are as follows:
1. If any cylindrical surface is larger than PI in the U direction.there are two extreme points in the calculation result, and the two extreme values are not equal.
2. If both are less than PI, then two extreme values are calculated and they are equal to a certain loose precision.
 

Attachments

  • points_less_PI.step
    5.6 KB · Views: 1
  • shape_less_PI.step
    10.8 KB · Views: 1
  • Screenshot_1.png
    Screenshot_1.png
    7 KB · Views: 1
  • points_equal_PI.step
    5.5 KB · Views: 1
  • shape_equal_PI.step
    10.8 KB · Views: 1
  • Screenshot_2.png
    Screenshot_2.png
    6.8 KB · Views: 2

Quaoar

Administrator
Staff member
Extrema functions of OpenCascade are numerical methods with their typical problems related to missing solutions, robustness, and performance. I cannot comment much on their "limitation," as the answer is clearly that it should work in the cases you provided, period. The thing is, however, that Extrema is not the most reliable tool in OpenCascade. In our code, we tend to try to avoid using it as long as we can. I do not know what you're actually trying to achieve, but it seems that for testing parallel cases, you can do some special case treatment, just checking if your cylinders are coaxial and subtracting the smaller radius from the larger one. I know how it sounds ("not a real solution" whatsoever), but you should be careful with the numerical methods of OpenCascade, especially in parallel sort of conditions (when extremums go in "valleys" in the search space). Try keeping Extrema as a fallback solution in an otherwise more specialized code.

If you elaborate more on your use cases, it will be easier to go on.
 
Top