0024105: ShapeFix algorithm produces not correct result.
[occt.git] / tests / bugs / modalg_1 / bug165_7
1 cpulimit 600
2
3 puts "========"
4 puts "OCC165"
5 puts "========"
6 puts "Bug regression in BRepOffsetAPI_MakeOffset class (offsetting in OY direction)"
7
8 dchrono h reset
9 dchrono h start
10
11 restore [locate_data_file offset_wire_019.brep] a 
12 checkshape a
13
14 mkplane f a
15 checkshape f
16
17 set start_stepoffset 5.1
18 set incr_stepoffset 0.1
19 set finish_stepoffset 6.3
20
21 set interval_numb [expr int ( ($finish_stepoffset - $start_stepoffset) / $incr_stepoffset ) + 1]
22
23 set IsMade 0
24 set IsBeginMade 0
25 set IsGood 1
26 set i 0
27 set resume_string ""
28 for {set stepoffset $start_stepoffset} {$stepoffset <= $finish_stepoffset} {set stepoffset [expr $stepoffset + $incr_stepoffset]} {
29     incr i
30     puts "i = $i"
31     if { [catch {mkoffset result f 1 $stepoffset } catch_result] } {
32         puts "Faulty OCC165 (stepoffset = $stepoffset) : function MKOFFSET works wrongly"
33         set IsGood 0
34         set IsMade 0
35     } else {
36         puts "OK OCC165 (stepoffset = $stepoffset)"
37         set IsMade 1
38     }
39     if {$IsBeginMade == 0 && $IsMade == 1} {
40         set IsBeginMade 1
41         set BeginStepOffset $stepoffset
42     }
43     if {$IsMade == 1} {
44         set FinishStepOffset $stepoffset
45     }
46
47     dchrono h show
48
49     if {$IsBeginMade == 1 && ($IsMade == 0 || $i == $interval_numb) } {
50         set IsBeginMade 0
51         set resume_tmp "from [format "%0.2f" $BeginStepOffset] till [format "%0.2f" $FinishStepOffset]\n"
52         set resume_string "${resume_string}${resume_tmp}"
53     }
54 }
55
56 puts ""
57 if {[string length $resume_string] == 0} {
58     puts "Offset is created wrongly on initial shape in following borders"
59     puts "from [format "%0.2f" $start_stepoffset] till [format "%0.2f" $finish_stepoffset]"
60 } else {
61     puts "Offset is created correctly on initial shape in following borders"
62     puts "$resume_string"
63 }
64
65 if {$IsGood == 1} {
66     puts "OCC165 OK"
67 } else {
68     puts "Faulty OCC165"
69 }
70
71 renamevar result_1 result
72
73 set length 1113.06
74 set 2dviewer 0
75
76 dchrono h stop
77 dchrono h show