MantisBT
Mantis Bug Tracker Workflow

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0024772Community[OCCT] OCCT:Modeling Algorithmspublic2014-03-28 01:022018-10-30 12:43
ReporterRoman Lygin 
Assigned Tonbv 
PrioritynormalSeverityminor 
StatusassignedResolutionopen 
PlatformOSOS Version
Product Version[OCCT] 6.7.0 
Target Version[OCCT] 7.4.0*Fixed in Version 
Summary0024772: Intersection of cylinder and cone produces incorrect results
DescriptionThere are 4 segments produced by the intersector, including closed ones with parts not lying on a cylinder (e.g. r_1 - see screenshot).

The cone is a flat one, with angle ~PI/2. This combination comes from a Parasolid file.

Note that 6.6.0 produces no result at all. So some changes integrated 6.7.0 lead to this incorrect computation.
Steps To Reproducerestore s1
restore s2
intersect r s1 s2
TagsNo tags attached.
Test case numberbugs modalg_7 bug24772
Attached Fileszip file icon archive.zip (5,873 bytes) 2014-03-28 01:02
png file icon r_1.png (31,054 bytes) 2014-03-28 01:03

- Relationships
related to 0027705assignednbv Community Boolean operation returns empty compound for a shape containing a nearly plane cone 
related to 0024418assignednbv Open CASCADE Wrong section curves when intersecting analytical surfaces 

-  Notes
(0069011)
apv (tester)
2017-08-01 10:49

Problem described in issue is reproduced on current state of OCCT.
(0076833)
nbv (developer)
2018-06-19 13:09

This problem is limitation for the current version of the intersection algorithm. The reason is following:

1. Cone-Cylinder intersection algorithm produces ALine. Aline is internal (for OCCT) 3D-intersection curve.

2. This ALine is projected to the every intersected surfaces (in order to obtain correspond p-curve). For that, ALine is discretized on several points, every point is projected to the surfaces and after that obtained set of 2D-points is approximated to the p-curve. In case of near-plane cones projection of 3D-point to the cone cannot be computed correctly because projector cannot decide from which side of the apex the projection point should be chosen (for valid cones, the nearest point is chosen but for near-plane cones correspond distances differ insignificantly).

3. Moreover, projection is used while computation of value of the ALine. So, methods IntAna_Curve::Value(...) and IntPatch_ALine::Value(...) work wrong with near-plane cones.

Possible ways to fix:

1. Use bi-parametric intersection algorithm (IntPatch_PrmPrmIntersection). This algorithm initially works in 2D-space. So it does not made any projections. Consequently, it will produce valid result.

2. Replace existing intersection algorithm with new one like already used while Cylinder-Cylinder intersecting. New algorithm will work in 2D-space too and is oriented to special types of intersected surfaces (analytical cases: Cylinder-Cylinder, Cylinder-Cone, Cone-Sphere etc.)

The bright advantage of 2nd step in compare with 1st is the fix 0023178 and 0026894 where bi-parametric intersector worked too long but could not find any result. New algorithm currently works perfectly.

I am going to implement the way 2 while fixing the issue 0024418.
(0080373)
nbv (developer)
2018-10-26 13:20

Dear Mikhail,

We are looking forward your decision. Is this issue possible to be fixed?

P.S.

Please look at the messages 0024772:0076833 and 0027705:0080371.
(0080517)
msv (developer)
2018-10-30 12:39

I propose to go by 2nd way.
(0080519)
msv (developer)
2018-10-30 12:43

When have time.

- Issue History
Date Modified Username Field Change
2014-03-28 01:02 Roman Lygin New Issue
2014-03-28 01:02 Roman Lygin Assigned To => ifv
2014-03-28 01:02 Roman Lygin File Added: archive.zip
2014-03-28 01:03 Roman Lygin File Added: r_1.png
2014-09-12 14:36 abv Target Version => 7.1.0
2016-10-28 11:54 msv Target Version 7.1.0 => 7.2.0
2017-07-21 11:34 msv Target Version 7.2.0 => 7.3.0
2017-08-01 10:49 apv Test case number => bugs modalg_7 bug24772
2017-08-01 10:49 apv Note Added: 0069011
2017-12-05 17:01 msv Target Version 7.3.0 => 7.4.0*
2018-05-24 14:17 nbv Relationship added related to 0027705
2018-06-19 10:38 nbv Relationship added related to 0029807
2018-06-19 13:09 nbv Note Added: 0076833
2018-06-19 13:10 nbv Relationship deleted related to 0029807
2018-06-19 13:10 nbv Relationship added related to 0024418
2018-10-26 13:20 nbv Note Added: 0080373
2018-10-26 13:21 nbv Assigned To ifv => msv
2018-10-26 13:21 nbv Status new => feedback
2018-10-30 12:39 msv Note Added: 0080517
2018-10-30 12:43 msv Note Added: 0080519
2018-10-30 12:43 msv Assigned To msv => nbv
2018-10-30 12:43 msv Status feedback => assigned


Copyright © 2000 - 2018 MantisBT Team
Powered by Mantis Bugtracker