MantisBT - Community
View Issue Details
0027753Community[OCCT] OCCT:Modeling Algorithmspublic2016-08-05 17:262017-09-29 16:25
[OCCT] 7.0.0 
[OCCT] 7.2.0[OCCT] 7.2.0 
Not needed
0027753: Nearly plane cones should not be created by BRepPrimAPI_MakeRevol
If a curve is rotated using BRepPrimAPI_MakeRevol, different kinds of geometrical objects are created depending on the nature of the curve. If the curve is a line the result can be a Geom_Plane, a Geom_ConicalSurface or a Geom_CylindricalSurface depending on the angle between line and rotation axis. The decision is made in GeomAdaptor_SurfaceOfRevolution::GetType().

There is a certain range (when the angle is nearly Pi/2) which leads to nearly plane cones. According to 0027705, nearly plane cones should be avoided to use because they lead to different problems within OCCT and sometimes also when exported to other CAD systems.

Therefore, it is proposed to modify GeomAdaptor_SurfaceOfRevolution::GetType() to create a Geom_SurfaceOfRevolution instead of such nearly plane cones. The question is, what would be the best threshold angle when to create a Geom_SurfaceOfRevolution instead of a cone.

In our code we use something like [pseudo code]:
  (Math.Abs(Geom_ConicalSurface.SemiAngle() - Math.PI / 2) <= 1e-6)

But this might be possible to improve.

In the probleamtic case of 0027705 the semi angle is 1.5707963236984104. So, it differs from Pi/2 by 3e-9.
In 0027015 the semi angle is 1.5707963. It differs from Pi/2 by 2e-8.
Not required
No tags attached.
related to 0027705assigned msv Community Modeling Algorithms - Boolean operation returns empty compound for a shape containing a nearly plane cone 
related to 0027015closed bugmaster Community Sewing returns invalid shape if some faces are nearly plane cones 
zip (18,701) 2016-08-05 17:29
png s10 imported in NX10.png (61,138) 2016-08-08 11:04
Issue History
2016-08-05 17:26TimoNew Issue
2016-08-05 17:26TimoAssigned To => msv
2016-08-05 17:26TimoRelationship addedrelated to 0027705
2016-08-05 17:28TimoSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=14347#r14347
2016-08-05 17:29TimoFile Added:
2016-08-08 10:10TimoDescription Updatedbug_revision_view_page.php?rev_id=14360#r14360
2016-08-08 10:10TimoSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=14361#r14361
2016-08-08 10:15TimoRelationship addedrelated to 0027015
2016-08-08 10:22TimoDescription Updatedbug_revision_view_page.php?rev_id=14362#r14362
2016-08-08 11:04TimoFile Added: s10 imported in NX10.png
2016-08-08 11:07TimoNote Added: 0056539
2016-08-08 12:19TimoSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=14363#r14363
2016-10-17 16:09sanRelationship addedrelated to 0027968
2016-10-28 12:16msvTarget Version7.1.0 => 7.2.0
2016-12-23 10:10msvRelationship addedrelated to 0028266
2016-12-23 10:26msvAssigned Tomsv => ifv
2016-12-23 10:26msvStatusnew => assigned
2016-12-23 10:51msvRelationship addedrelated to 0028261
2017-01-23 12:56ifvNote Added: 0062897
2017-01-23 12:56ifvAssigned Toifv => msv
2017-01-23 12:56ifvStatusassigned => resolved
2017-01-23 12:56ifvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=15900#r15900
2017-01-23 18:21msvNote Added: 0062919
2017-01-23 18:21msvAssigned Tomsv => ifv
2017-01-23 18:21msvStatusresolved => assigned
2017-01-23 18:22msvNote Deleted: 0062919
2017-01-23 18:22msvAssigned Toifv => msv
2017-01-23 18:22msvStatusassigned => resolved
2017-01-25 15:44mkvNote Added: 0063024
2017-01-25 15:44mkvAssigned Tomsv => bugmaster
2017-01-25 15:44mkvStatusresolved => reviewed
2017-01-25 15:44mkvTest case number => Not needed
2017-01-25 15:44mkvStatusreviewed => tested
2017-01-27 16:18apnStatustested => verified
2017-01-27 16:18apnResolutionopen => fixed
2017-05-31 15:34TimoReporterTimo => Markus
2017-09-29 16:18aivFixed in Version => 7.2.0
2017-09-29 16:25aivStatusverified => closed

2016-08-08 11:07   
The screenshot "s10 imported in NX10" shows how the face s10.stp, which was created by the script (see steps to reproduce) looks like when imported in Siemens NX10. The other faces look better.
Here, the semi angle is 1,5707963267848966, which differs from Pi/2 by 1e-11.
2017-01-23 12:56   
Fix is branch CR28261_28266
2017-01-25 15:44   
Dear BugMaster,
Branch CR28261_28266 is TESTED.