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