63c629aa |
1 | puts "=========" |
2 | puts "OCC24612" |
3 | puts "=========" |
4 | puts "" |
5 | ########################################################### |
6 | # Wrong pcurve of the section curve |
7 | ########################################################### |
8 | |
0cbfb9f1 |
9 | set MaxTol 7.0e-5 |
63c629aa |
10 | set NbCurv_OK 1 |
11 | restore [locate_data_file bug24612_b1.brep] b1 |
12 | restore [locate_data_file bug24612_b2.brep] b2 |
13 | |
14 | mksurface s1 b1 |
15 | bounds s1 U1f_exp U1l_exp V1f_exp V1l_exp |
16 | |
17 | dval U1f_exp |
18 | dval U1l_exp |
19 | dval V1f_exp |
20 | dval V1l_exp |
21 | |
22 | set log [bopcurves b1 b2 -2d] |
23 | |
24 | regexp {Tolerance Reached=+([-0-9.+eE]+)\n+([-0-9.+eE]+)} ${log} full Toler NbCurv |
25 | |
26 | if {${NbCurv} != ${NbCurv_OK}} { |
27 | puts "Error: ${NbCurv_OK} curve(s) expected, but ${NbCurv} found." |
28 | } |
29 | |
30 | if {${Toler} > ${MaxTol}} { |
31 | puts "Error: Tolerance is too big!" |
32 | } |
33 | |
34 | #Theoretically, c2d1_1 must cover V-diapason of surface s1 fully. |
35 | |
36 | set log [dump c2d1_1] |
37 | |
38 | regexp {Degree +([-0-9.+eE]+), +([-0-9.+eE]+) Poles, +([-0-9.+eE]+)} ${log} full Degree Poles KnotsPoles |
39 | puts "Degree=${Degree}" |
40 | puts "Poles=${Poles}" |
41 | puts "KnotsPoles=${KnotsPoles}" |
42 | puts "" |
43 | |
44 | set Pole 1 |
45 | set exp_string " +${Pole} : +(\[-0-9.+eE\]+), +(\[-0-9.+eE\]+)" |
46 | regexp ${exp_string} ${log} full U_begin V_begin |
47 | |
48 | puts "Pole=${Pole}" |
49 | puts "U_begin=${U_begin}" |
50 | puts "V_begin=${V_begin}" |
51 | dset V_begin ${V_begin} |
52 | puts "" |
53 | |
54 | set Pole ${Poles} |
55 | set exp_string " +${Pole} : +(\[-0-9.+eE\]+), +(\[-0-9.+eE\]+)" |
56 | regexp ${exp_string} ${log} full U_end V_end |
57 | |
58 | puts "Pole=${Pole}" |
59 | puts "U_end=${U_end}" |
60 | puts "V_end=${V_end}" |
61 | dset V_end ${V_end} |
62 | puts "" |
63 | |
64 | set delta_f [dval V1l_exp-V_begin] |
65 | |
66 | #ATTENTION!!! V_begin must be strictly equal V1l_exp (without any tolerance) |
67 | if {${delta_f} != 0} { |
68 | puts "Error: Bad value. V_begin = [dval V_begin], Vlast = [dval V1l_exp]." |
69 | } else { |
70 | puts "OK: Good value. V_begin matches with Vlast of surface." |
71 | } |
72 | |
73 | puts "" |
74 | |
75 | set delta_l [dval V1f_exp-V_end] |
76 | |
77 | #ATTENTION!!! V_end must be strictly equal V1f_exp (without any tolerance) |
78 | if {${delta_l} != 0} { |
79 | puts "Error: Bad value. V_end = [dval V_end], Vfirst = [dval V1f_exp]." |
80 | } else { |
81 | puts "OK: Good value. V_end matches with Vfirst of surface." |
82 | } |