0026310: Very slow boolean cut operations on cylinders
[occt.git] / tests / bugs / modalg_5 / bug24915
1 puts "TODO OCC25929 ALL: Error: Tolerance is too big!"
2 puts "========="
3 puts "CR24915"
4 puts "========="
5 puts ""
6 ###############################
7 ## Wrong intersection curves between two cylinders
8 ###############################
9
10 puts "##############################"
11 puts "#!!!Searh \"Attention\" keyword on this web-page for additinal checking!!!"
12 puts "##############################"
13
14 restore [locate_data_file bug24915_ft2.brep] b1
15 restore [locate_data_file bug24915_ft3.brep] b2
16
17 # 1. topology
18 bclearobjects
19 bcleartools
20 baddobjects b1 b2
21 bfillds
22 bbuild r
23 checkshape r
24
25 # 2. geometry
26 set MaxTol 5.0e-7
27 set log [bopcurves b1 b2]
28
29 mksurface s1 b1
30 mksurface s2 b2
31
32 regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv
33
34 if {${Toler} > ${MaxTol}} {
35   puts "Error: Tolerance is too big!"
36 }
37
38 for {set i 1} {$i <= ${NbCurv}} {incr i} {
39   bounds c_$i U1 U2
40   dlog reset
41   dlog on
42   xdistcs c_$i s1 U1 U2 100
43   set Log2 [dlog get]
44   set List2 [split ${Log2} {TD= \t\n}]
45   set Tolerance 2.0e-5
46   set Limit_Tol 1.0e-7
47   set D_good 0.
48   catch {checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}}
49
50   dlog reset
51   dlog on
52   xdistcs c_$i s2 U1 U2 100
53   set Log2 [dlog get]
54   set List2 [split ${Log2} {TD= \t\n}]
55   set Tolerance 2.0e-5
56   set Limit_Tol 1.0e-7
57   set D_good 0.
58   catch {checkList ${List2} ${Tolerance} ${D_good} ${Limit_Tol}}
59 }
60
61 smallview
62 donly b2 c_2
63 fit
64 set only_screen_axo 1