MantisBT - Open CASCADE
View Issue Details
0025956Open CASCADE[OCCT] OCCT:Modeling Algorithmspublic2015-03-18 06:302019-08-12 19:07
pkv 
 
normalminor 
assignedopen 
[OCCT] 6.9.0 
[OCCT] Unscheduled 
0025956: Wrong result obtained by intersection algorithm.
Wrong result obtained by intersection algorithm.

See "expl. picture.PNG" and Steps to Reproduce.
# Described result is obtained on OCCT 6.9.0 version

restore [locate_data_file bug25956-1.brep] b1
restore [locate_data_file bug25956-2.brep] b2

# 1.
mksurf s1 b1
mksurf s2 b2
trimv s1 s1 0. 11.
trimv s2 s2 0. 12.
intersect i s1 s2
#i_1 i_2 - WRONG must be at least three curves (see "expl. picture.PNG").

# 2.
#Curves must be split in Point to split (see "expl. picture.PNG").
bopcurves b1 b2 -2d
# 3 curve(s) found. - OK
#Tolerance Reached=0.0012107008879436209 is too huge. - WRONG

# 3.
bsection result b1 b2
nbs result
#Number of shapes in result
# VERTEX : 5
# EDGE : 5
# WIRE : 0
# FACE : 0
# SHELL : 0
# SOLID : 0
# COMPSOLID : 0
# COMPOUND : 1
# SHAPE : 11


Section result (case 3) seems to be valid.
No tags attached.
related to 0024418assigned msv Wrong section curves when intersecting analytical surfaces 
zip case_009.zip (1,312) 2015-03-18 06:30
https://tracker.dev.opencascade.org/
png expl. picture.PNG (118,202) 2015-12-08 15:48
https://tracker.dev.opencascade.org/
Issue History
2015-03-18 06:30pkvNew Issue
2015-03-18 06:30pkvAssigned To => msv
2015-03-18 06:30pkvFile Added: case_009.zip
2015-03-18 06:31pkvStatusnew => assigned
2015-03-18 10:34msvAssigned Tomsv => nbv
2015-04-17 00:02abvTarget Version6.9.0 => 7.1.0
2015-12-07 15:01nbvNote Added: 0048799
2015-12-07 15:01nbvAssigned Tonbv => msv
2015-12-07 15:01nbvStatusassigned => feedback
2015-12-07 16:50msvNote Added: 0048811
2015-12-07 16:50msvAssigned Tomsv => nbv
2015-12-07 16:50msvStatusfeedback => assigned
2015-12-08 14:57nbvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=12465#r12465
2015-12-08 14:59nbvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=12466#r12466
2015-12-08 15:42nbvDescription Updatedbug_revision_view_page.php?rev_id=12468#r12468
2015-12-08 15:42nbvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=12469#r12469
2015-12-08 15:48nbvFile Added: expl. picture.PNG
2015-12-08 15:50nbvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=12470#r12470
2015-12-08 15:54nbvNote Added: 0048858
2015-12-08 16:01nbvNote Edited: 0048858bug_revision_view_page.php?bugnote_id=48858#r12472
2015-12-08 16:10msvSteps to Reproduce Updatedbug_revision_view_page.php?rev_id=12473#r12473
2015-12-08 16:16msvNote Added: 0048865
2016-10-25 19:04msvTarget Version7.1.0 => 7.2.0
2017-07-24 09:33msvTarget Version7.2.0 => 7.3.0
2017-12-05 17:08msvTarget Version7.3.0 => 7.4.0*
2018-11-02 10:28nbvRelationship addedrelated to 0024418
2019-08-12 19:07msvAssigned Tonbv =>
2019-08-12 19:07msvTarget Version7.4.0* => Unscheduled

Notes
(0048799)
nbv   
2015-12-07 15:01   
Dear Mikhail,

The result seems to be valid on the current MASTER.
(0048811)
msv   
2015-12-07 16:50   
Dear Nikolay, please create test case(s) for this bug.
(0048858)
nbv   
2015-12-08 15:54   
(edited on: 2015-12-08 16:01)
On the current MASTER (IR-2015-12-04):

Problem # 1 is reproduced.

Behavior of bopcurves algorithm is as same as the behavior of intersect algorithm (returns two curves only). There is no point in splitting these two curves.

Tolerance Reached=3.4656509876706019e-007 (on IR-2015-12-04). I.e. "huge tolerance"-problem has been fixed.

Additionally, I believe that there is no point in splitting intersection curves on intersection level. Intersection algorithm must return complete curves, which should be split by high-level algorithms (if it is necessary). On OCCT 6.9.0 this conception works well.

(0048865)
msv   
2015-12-08 16:16   
In short, we have the following problems to solve:

- Intersection of surfaces must return 3 curves (including the touching curve between the cone and the cylinder).
- bopcurves must return 3 curves.
- bsection must return compound of 5 edges (3 curves, 2 of which are splitting each other).