| 1 | puts "============" |
| 2 | puts "OCC23218" |
| 3 | puts "============" |
| 4 | puts "" |
| 5 | ####################################################################### |
| 6 | # Wrong value of tolerance for the intersection curve. |
| 7 | ####################################################################### |
| 8 | |
| 9 | set BugNumber OCC23218 |
| 10 | |
| 11 | puts "Load first shape ..." |
| 12 | restore [locate_data_file bug23218_b1] b1 |
| 13 | |
| 14 | puts "Load second shape ..." |
| 15 | restore [locate_data_file bug23218_b4] b2 |
| 16 | |
| 17 | puts "Start project operation ..." |
| 18 | set result [bopcurves b1 b2] |
| 19 | puts $result |
| 20 | puts "Finish project operation ..." |
| 21 | |
| 22 | set GoodToleranceReached 2.4950140688989345e-006 |
| 23 | regexp {Tolerance Reached=([-0-9.+eE]+)} $result full ToleranceReached |
| 24 | |
| 25 | proc GetPercent {Value GoodValue} { |
| 26 | set Percent 0. |
| 27 | if {${GoodValue} != 0.} { |
| 28 | set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.] |
| 29 | } elseif {${Value} != 0.} { |
| 30 | set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.] |
| 31 | } else { |
| 32 | set Percent 0. |
| 33 | } |
| 34 | return ${Percent} |
| 35 | } |
| 36 | |
| 37 | |
| 38 | set percent_max 0.1 |
| 39 | set ToleranceReached_percent [expr abs ( [GetPercent ${ToleranceReached} ${GoodToleranceReached}] ) ] |
| 40 | |
| 41 | if {${ToleranceReached_percent} > ${percent_max}} { |
| 42 | puts "${BugNumber}: Faulty" |
| 43 | } else { |
| 44 | puts "OK ${BugNumber}" |
| 45 | } |
| 46 | |
| 47 | set 3dviewer 0 |
| 48 | |