View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0021594 | Open CASCADE | OCCT:Modeling Algorithms | public | 2010-02-19 19:23 | 2012-01-10 16:14 |
Reporter | Assigned To | ||||
Priority | normal | Severity | trivial | ||
Status | closed | Resolution | fixed | ||
OS | All | ||||
Fixed in Version | 6.4.0 | ||||
Summary | 0021594: BRepTools_Modifier increases tolerances of subshapes unreasonably | ||||
Description | This problem has been discovered during testing improvement OCC21547 on test case cfi/012/B1. Class BRepTools_Modifier makes attempt to establish tolerances conforming with OCCT shape validity rules (TVertex > TEdge > TFace) and propagates tolerances of face to edge and from edge to vertex (when modified). However, this is something not expected from such tool, and it does not provide consistent result in general case, since each subshape is modified only once (i.e. tolerance is propagated only on first occurrence of subshape). This bug has been obviously introduced by incorrect fix of the bug OCC217. Use attached shapes to test the problem: Draw[1]> pload MODELING XSDRAW Draw[2]> restore tcopy_bug a a Draw[3]> explode a f a_1 a_2 a_3 a_4 a_5 a_6 a_7 a_8 Draw[9]> tole a_3 Tolerance MAX=0.00494180686347303 AVG=0.0020640261414155711 MIN=0.0010678560055712501 FACE : MAX=0.00494180686347303 AVG=0.00494180686347303 MIN=0.00494180686347303 EDGE : MAX=0.0011428890759694801 AVG=0.0010998015657969101 MIN=0.0010678560055712501 VERTEX : MAX=0.00221074508154073 AVG=0.0021864158389677197 MIN=0.0021508638491097099 Draw[10]> tcopy a_3 b Draw[11]> tole b Tolerance MAX=0.00494180686347303 AVG=0.00494180686347303 MIN=0.00494180686347303 FACE : MAX=0.00494180686347303 AVG=0.00494180686347303 MIN=0.00494180686347303 EDGE : MAX=0.00494180686347303 AVG=0.00494180686347303 MIN=0.00494180686347303 VERTEX : MAX=0.00494180686347303 AVG=0.00494180686347303 MIN=0.00494180686347303 ===> Note the problem: tolerances of all subshapes became equal to tolerance of face. At the same, this does not happen if complete shape is copied, since in this case some edges are copied before the third face is processed: Draw[12]> tcopy a b Draw[14]> explode b f b_1 b_2 b_3 b_4 b_5 b_6 b_7 b_8 Draw[15]> tolerance b_3 Tolerance MAX=0.00494180686347303 AVG=0.003255394114920688 MIN=0.002173309343679 7101 FACE : MAX=0.00494180686347303 AVG=0.00494180686347303 MIN=0.0049418068634730 3 EDGE : MAX=0.00494180686347303 AVG=0.00357627597250688 MIN=0.0022107450815407 3 VERTEX : MAX=0.00494180686347303 AVG=0.0028841515925585497 MIN=0.00217330934367 97101 ====> Note that average tolerances of edges and vertices on face #3 is different from the above case when this face is copied alone, i.e. some tolerances have not been increased | ||||
Additional information and documentation updates | Documentation remark, added by ABV 2010-08-03 14:14:39: Improvements: Inconsistent behavior of class BRepTools_Modifier which sometimes increased tolerances of the result shapes has been fixed. Now this class does not change tolerances. Note that this can uncover some problems with tolerances of shapes in applications, which might have been previously hidden due to using this class. | ||||
Tags | No tags attached. | ||||
Test case number | |||||
related to | 0000217 | closed | Community | nurbsconvert problem |
Date Modified | Username | Field | Change |
---|---|---|---|
2010-02-19 19:23 |
|
OtherBugsDependingOnThis | => 217 |
2010-02-19 19:23 |
|
BugsThisDependsOn | => 21547 |
2010-04-01 14:21 | bugmaster | Assigned To | bugmaster => abv |
2010-04-01 14:21 | bugmaster | Status | new => assigned |
2010-04-07 11:18 | bugmaster | Status | assigned => resolved |
2010-04-23 19:58 |
|
Status | resolved => tested |
2010-07-28 15:36 | bugmaster | Status | tested => verified |
2011-08-02 11:31 | bugmaster | Category | OCCT:MOA => OCCT:Modeling Algorithms |
2012-01-10 16:14 |
|
Description Updated | |
2012-01-10 16:14 |
|
Additional Information Updated |