0027557: Unstable HLR tests
[occt.git] / tests / bugs / modalg_6 / bug27540_2
CommitLineData
b0fbc579 1puts "=========================================================="
2puts "0027540: Run-to-run differences in the 3D Offset algorithm"
3puts "=========================================================="
4puts ""
5
6pload MODELING
7
8restore [locate_data_file bug27540_shapes2.brep] s
9explode s
10
11# make offset operations on two shapes
12# first shape
13offsetparameter 1e-7 c i
14# set offset 30 for top faces (normal direction 0 0 1), 10 for all other faces
15offsetload s_1 10
16set faces [explode s_1 f]
17foreach f $faces {
18 mksurface surf $f
19 set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
20 if {$found && abs($z - 1) < 1.e-7} {
21 offsetonface $f 30
22 }
23}
24offsetperform result1
25checkprops result1 -s 3.76166e+006
26checkprops result1 -v 1.74521e+008
27checknbshapes result1 -vertex 36 -edge 56 -wire 24 -face 23 -shell 1 -solid 1
28
29
30# second shape
31offsetparameter 1e-7 c i
32# set offset 30 for top faces (normal direction 0 0 1), 10 for all other faces
33offsetload s_2 10
34set faces [explode s_2 f]
35foreach f $faces {
36 mksurface surf $f
37 set found [regexp {Axis :([-0-9.+eE]*), ([-0-9.+eE]*), ([-0-9.+eE]*)} [dump surf] full x y z]
38 if {$found && abs($z - 1) < 1.e-7} {
39 offsetonface $f 30
40 }
41}
42offsetperform result2
43checkprops result2 -s 3.76166e+006
44checkprops result2 -v 1.74521e+008
45checknbshapes result2 -vertex 36 -edge 56 -wire 24 -face 23 -shell 1 -solid 1
46
47
48# compare the results
49set vertices1 [nexplode result1 v]
50set vertices2 [nexplode result2 v]
51
52set nbv1 [llength $vertices1]
53
54for {set i 0} {$i < $nbv1} {incr i} {
55 set v1 [lindex $vertices1 $i]
56 set v2 [lindex $vertices2 $i]
57
58 mkpoint px $v1
59 set dump_v1 [dump px]
60
61 mkpoint px $v2
62 set dump_v2 [dump px]
63
64 if {$dump_v1 != $dump_v2} {
65 puts "Error: the results are not the same - $v1 and $v2"
66 }
67}