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