|Anonymous | Login||2018-12-15 09:46 MSK|
|My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0026740||Open CASCADE||[OCCT] OCCT:Modeling Algorithms||public||2015-10-01 15:57||2018-03-05 10:52|
|Target Version||[OCCT] 7.4.0*||Fixed in Version|
|Summary||0026740: Incorrect result of blend operation in "blend simple X4" test case|
|Description||Theoretically, curve l must tangent line AB in point C (see master_result.png attached picture). Therefore, it is necessary for resulting shape to have a vertex in point C in order to be valid. This vertex is absence.|
More over, if we insert this vertex in the place C then the part of the current result from A to C must be absence (i.e. the filet must be made for red highlighted edge in source_shape.png file only).
|Steps To Reproduce||test blend simple X4|
|Tags||No tags attached.|
|Test case number|
|Attached Files|| master_result.png (17,059 bytes) 2015-10-01 15:57|
source_shape.PNG (31,930 bytes) 2015-10-01 15:58
A few words about validity the result in terms of BRepCheck algorithm.
Draw> explode result f
Draw> explode result_3 e
Draw> xdistef result_3_5 result_3
#Max distance = 0.0025028007416767954
Edge rr_3_5 is not valid in terms of same-parameter (it is valid in terms of BRepCheck algorithm because it has big tolerance). I.e. its 2D- and 3D-curve are not matched each other. As result, 2D-curve of result_3_5 does not tangent rr_3_2 edge (despite it must do it).
Consequently, the validity of the result is pure chance.
I tried to make more precise filet-edge with change some parameters of IntWalk_PWalking algorithm (function ChFi3d_ComputeCurves(...), line "IntWalk_PWalking IntKK(S1,S2,tol3d,tol3d,fleche,Step)"). As result, I obtained an edge with maximal distance between 2D- and 3D-curve approximately 1.0e-13. After that, BRepCheck algorithm returns "BRepCheck_SelfIntersectingWire". The main reason is the vertex is absence (see bug description).
edited on: 2015-10-01 18:26
1. Firstly, the intersection edge (result_3_5 in previous message) is found as result of GeomInt_IntSS algorithm between two cylinders. It returns two intersection line, which are connected in point C. However, ChFi3d_Builder does not apply it to make fillet. Therefore, it rebuilds intersection line with IntWalk_PWalking algorithm and obtains single line as result.
2. If we insert this vertex in the place C then we will obtain filleted face between C and B only (see master_result.png and bug description). For obtaining result shown in the picture master_result.png we should add another edge to the arguments of "blend" DRAW-command. On the current MASTER this operation leads to exception.
|I have checked described situation on OCCT 6.7.0 and have obtained as same as result.|
|2015-10-01 15:57||nbv||New Issue|
|2015-10-01 15:57||nbv||Assigned To||=> msv|
|2015-10-01 15:57||nbv||File Added: master_result.png|
|2015-10-01 15:57||nbv||Assigned To||msv => nbv|
|2015-10-01 15:58||nbv||File Added: source_shape.PNG|
|2015-10-01 16:14||nbv||Note Added: 0046377|
|2015-10-01 16:16||nbv||Relationship added||related to 0026675|
|2015-10-01 18:01||msv||Status||new => assigned|
|2015-10-01 18:25||nbv||Note Added: 0046385|
|2015-10-01 18:26||nbv||Note Edited: 0046385||View Revisions|
|2015-10-02 09:32||nbv||Note Added: 0046387|
|2016-10-25 19:04||msv||Target Version||7.1.0 => 7.2.0|
|2017-06-15 11:06||nbv||Relationship added||related to 0026907|
|2017-06-15 11:06||nbv||Relationship deleted||related to 0026907|
|2017-06-15 11:06||nbv||Relationship added||related to 0026655|
|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*|
|2017-12-08 11:57||nbv||Relationship added||related to 0029359|
|2018-03-05 10:52||nbv||Relationship added||related to 0026907|
|2018-03-05 10:52||nbv||Relationship added||related to 0028575|
|Copyright © 2000 - 2018 MantisBT Team|