|Anonymous | Login||2018-12-15 12:04 MSK|
|My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0027705||Community||[OCCT] OCCT:Modeling Algorithms||public||2016-07-22 13:32||2018-10-30 12:42|
|Product Version||[OCCT] 7.0.0|
|Target Version||[OCCT] 7.4.0*||Fixed in Version|
|Summary||0027705: Boolean operation returns empty compound for a shape containing a nearly plane cone|
|Description||In OCC 7.0.0, the boolean operation returns an empty compound, although checkshape, bopcheck and bopargcheck do not complain. |
In OCC 6.9.0 bopargcheck complains about an invalild curve on surface on the first shape and the boolean operation runs very long (endless?).
|Steps To Reproduce||pload ALL|
restore rf.brep f
bopargcheck f_1 f_2 -O #F
bop f_1 f_2
|Tags||No tags attached.|
|Test case number|
|Attached Files||rf.brep (531,198 bytes) 2016-07-22 13:32|
|Further analysis showed that the first shape contains a nearly plane cone. Such geometries already lead to other problems (e.g. 0027015) in the past.|
Nearly plane cones are valid in OCCT. However, they should be avoided to use (such as cylinder or sphere with radius Confusion, for example).
Nevertheless, this problem will possible be solved after integration the fix for issue 0027252 (but I do not promise).
we try to avoid nearly plane cones but in some situations they occur if we feed a line to BRepPrimAPI_MakeRevol that forms an angle of nearly Pi/2.
Depending on the angle BRepPrimAPI_MakeRevol (more exactly a class that is used by it) decides whether to create a plane or a cone. But there is a certain range (when the angle is nearly Pi/2) which leads to such nearly plane cones.
What do you think about creating a Geom_SurfaceOfRevolution in such cases? Probably, it would help to avoid such problems.
|Dear Timo, do you suggest that BRepPrimAPI_MakeRevol created Geom_SurfaceOfRevolution instead of Geom_ConicalSurface? If so, then we should choose a threshold angle. Please create a separate bug for this issue.|
|Dear msv, I created a separate issue for BRepPrimAPI_MakeRevol (see 0027753).|
|Thank you, Timo, we will take care of it if there are free resources.|
What is the current state of this issue? As far as I know, currently nearly plane cones are converted to the plane on steps of building them. Nevertheless, the attached to this issue shape has already been stored in *.brep format, which does not support any conversions. I.e. an argument of the Boolean operation is nearly-plane cone, as before.
Shall we add new support of such cones? Is this issue still actual?
In spite of above said, following script still creates nearly-plane cone:
Draw> cone co 89.99999999999999 100
Draw> dump co
*********** Dump of co *************
Origin :0, 0, 0
Axis :0, 0, 1
XAxis :1, 0, -0
YAxis :-0, 1, 0
Using low-level API the user can create bad shapes, it is not a secret. Here I see that we have an ill-created shape that is used as an operand to BO. The commands that must check shape validity bopcheck and bopargcheck do not report any issue with this shape regarding ill cone.
So, I propose to add such check in bopcheck algorithm in the scope of this bug. Test case is to be created using the attached shape that must diagnose the ill cone.
|However, if we fix the issue 0024772 using described there 2nd way this issue will be fixed, too. Then let's postpone this bug.|
|2016-07-22 13:32||Timo||New Issue|
|2016-07-22 13:32||Timo||Assigned To||=> msv|
|2016-07-22 13:32||Timo||File Added: rf.brep|
|2016-07-22 15:38||msv||Assigned To||msv => nbv|
|2016-07-22 15:38||msv||Priority||normal => low|
|2016-07-22 15:38||msv||Status||new => assigned|
|2016-07-22 15:43||Timo||Summary||Boolean operation returns empty compound => Boolean operation returns empty compound for a shape containing a nearly plane cone|
|2016-07-22 15:46||Timo||Note Added: 0056182|
|2016-07-22 15:46||Timo||Relationship added||related to 0027015|
|2016-07-22 16:07||nbv||Note Added: 0056184|
|2016-07-22 17:10||Timo||Note Added: 0056187|
|2016-07-22 17:34||msv||Note Added: 0056188|
|2016-08-05 17:26||Timo||Relationship added||related to 0027753|
|2016-08-08 11:39||Timo||Note Added: 0056541|
|2016-08-08 15:14||msv||Note Added: 0056553|
|2016-10-17 16:10||san||Relationship added||related to 0027968|
|2016-10-19 12:48||san||Relationship deleted||related to 0027968|
|2016-10-19 12:48||san||Relationship added||has duplicate 0027968|
|2016-10-25 18:44||msv||Target Version||7.1.0 => 7.2.0|
|2017-05-31 15:41||Timo||Reporter||Timo => Markus|
|2017-07-21 11:04||msv||Target Version||7.2.0 => 7.3.0|
|2017-12-05 17:09||msv||Target Version||7.3.0 => 7.4.0*|
|2018-05-24 14:17||nbv||Relationship added||related to 0024772|
|2018-10-26 13:18||nbv||Note Added: 0080371|
|2018-10-26 13:18||nbv||Assigned To||nbv => msv|
|2018-10-26 13:18||nbv||Status||assigned => feedback|
|2018-10-29 17:51||msv||Note Added: 0080477|
|2018-10-29 17:51||msv||Assigned To||msv => nbv|
|2018-10-29 17:51||msv||Status||feedback => assigned|
|2018-10-30 12:42||msv||Note Added: 0080518|
|Copyright © 2000 - 2018 MantisBT Team|