1b7ae951 |
1 | puts "TODO OCC25597 ALL: OCC22967: Faulty" |
3bea4c16 |
2 | puts "============" |
3 | puts "OCC22967" |
4 | puts "============" |
5 | puts "" |
6 | ############################################################################################################ |
7 | # Boolean operations between two cylinders with orthogonal axis generate a shape with big vertex tolerance |
8 | ########################################################################################################### |
9 | |
10 | set BugNumber OCC22967 |
e8feb725 |
11 | set check_value 8.46459e-006 |
3bea4c16 |
12 | |
13 | restore [locate_data_file bug22967_Cylinder_1.brep] b1 |
14 | restore [locate_data_file bug22967_Scale_1.brep] b2 |
15 | bop b1 b2 |
16 | bopfuse result |
17 | set info [ maxtolerance result ] |
18 | |
19 | regexp {Edge[ \t]*:.*Max[ \t]*([-0-9.+eE]+)} $info full last1 |
20 | regexp {Vertex[ \t]*:.*Max[ \t]*([-0-9.+eE]+)} $info full last |
21 | |
22 | proc GetPercent {Value GoodValue} { |
23 | set Percent 0. |
24 | if {${GoodValue} != 0.} { |
25 | set Percent [expr abs(${Value} - ${GoodValue}) / abs(double(${GoodValue})) * 100.] |
26 | } elseif {${Value} != 0.} { |
27 | set Percent [expr abs(${GoodValue} - ${Value}) / abs(double(${Value})) * 100.] |
28 | } else { |
29 | set Percent 0. |
30 | } |
31 | return ${Percent} |
32 | } |
33 | |
34 | set percent_max 5 |
35 | set status 0 |
36 | |
37 | set Tolerance_percent [expr abs ( [GetPercent ${last} ${check_value}] ) ] |
38 | if {${Tolerance_percent} > ${percent_max}} { |
39 | set status 1 |
40 | } else { |
41 | set status 0 |
42 | } |
43 | |
44 | set Tolerance_percent [expr abs ( [GetPercent ${last1} ${check_value}] ) ] |
45 | if {${Tolerance_percent} > ${percent_max}} { |
46 | set status 1 |
47 | } else { |
48 | set status 0 |
49 | } |
50 | |
51 | # Resume |
52 | if {${status} > 0} { |
53 | puts "${BugNumber}: Faulty" |
54 | } else { |
55 | puts "OK ${BugNumber}" |
56 | } |
57 | |
e8feb725 |
58 | set square 668843 |
3bea4c16 |
59 | set 2dviewer 0 |
60 | |