Anonymous | Login 2021-01-19 14:52 MSK Project: All Projects Community Open CASCADE
 My View | View Issues | Change Log | Roadmap

View Issue Details  Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0024772Community[OCCT] OCCT:Modeling Algorithmspublic2014-03-28 01:022019-09-04 12:11
ReporterRoman Lygin
Assigned Tomsv
PrioritynormalSeverityminor
StatusassignedResolutionopen
PlatformOSOS Version
Product Version[OCCT] 6.7.0
Target Version[OCCT] UnscheduledFixed in Version
Summary0024772: Modeling Algorithms - 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 Files archive.zip (5,873 bytes) 2014-03-28 01:02
r_1.png (31,054 bytes) 2014-03-28 01:03

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

 Notes apv (tester) 2017-08-01 10:49 Problem described in issue is reproduced on current state of OCCT. 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. 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. msv (developer) 2018-10-30 12:39 I propose to go by 2nd way. msv (developer) 2018-10-30 12:43 When have time.