View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0026740||Open CASCADE||OCCT:Modeling Algorithms||public||2015-10-01 15:57||2019-09-04 12:11|
|Summary||0026740: Modeling Algorithms - 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|
|related to||0026675||closed||bugmaster||Open CASCADE||Eliminate normalization of coordinates in ApproxInt package|
|related to||0026907||assigned||jgv||Open CASCADE||ChFi3d_Builder algorithm uses old Boolean operations: wrong processing of shapes with seam and degenerated edges|
|related to||0028575||assigned||emv||Open CASCADE||Removal of the old Boolean Operations algorithm - BRepAlgo_BooleanOperation|
|related to||0026655||new||msv||Open CASCADE||ChFi3d_Builder algorithm fails to build fillets if some input edges connect with seam edges|
master_result.png (17,059 bytes)
source_shape.PNG (31,930 bytes)
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).
Last edited: 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.|
||Assigned To||=> msv|
||File Added: master_result.png|
||Assigned To||msv => nbv|
||File Added: source_shape.PNG|
||Note Added: 0046377|
||Relationship added||related to 0026675|
|2015-10-01 18:01||msv||Status||new => assigned|
||Note Added: 0046385|
||Note Edited: 0046385|
||Note Added: 0046387|
|2016-10-25 19:04||msv||Target Version||7.1.0 => 7.2.0|
||Relationship added||related to 0026907|
||Relationship deleted||related to 0026907|
||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|
||Relationship added||related to 0026907|
||Relationship added||related to 0028575|
|2019-08-12 19:08||msv||Assigned To||nbv => msv|
|2019-08-12 19:13||msv||Target Version||7.4.0 => Unscheduled|
|2019-09-04 12:11||kgv||Summary||Incorrect result of blend operation in "blend simple X4" test case => Modeling Algorithms - Incorrect result of blend operation in "blend simple X4" test case|