00302ba4 |
1 | puts "=========" |
2 | puts "CR24472" |
3 | puts "=========" |
4 | puts "" |
5 | ############################### |
6 | ## Wrong section curves |
7 | ############################### |
8 | |
9 | proc checkList {List Tolerance D_good} { |
10 | set L1 [llength ${List}] |
11 | set L2 10 |
12 | set L3 5 |
13 | set N [expr (${L1} - ${L2})/${L3} + 1] |
14 | |
15 | for {set i 1} {${i} <= ${N}} {incr i} { |
16 | set j1 [expr ${L2} + (${i}-1)*${L3}] |
17 | set j2 [expr ${j1} + 2] |
18 | set T [lindex ${List} ${j1}] |
19 | set D [lindex ${List} ${j2}] |
20 | #puts "i=${i} j1=${j1} j2=${j2} T=${T} D=${D}" |
21 | if { [expr abs(${D} - ${D_good})] > ${Tolerance} } { |
22 | puts "Error: i=${i} T=${T} D=${D}" |
23 | } |
24 | } |
25 | } |
00302ba4 |
26 | restore [locate_data_file bug24472_Pipe_1.brep] b1 |
27 | |
28 | explode b1 f |
29 | copy b1_2 f1 |
30 | copy b1_3 f2 |
31 | copy b1_6 f3 |
32 | mksurface s1 f1 |
33 | mksurface s2 f2 |
34 | mksurface s3 f3 |
35 | |
36 | puts "" |
37 | puts "First test" |
38 | # 1.1 geometry |
39 | intersect i s1 s2 |
40 | |
41 | #donly i_22; fit |
42 | |
43 | dlog reset |
44 | dlog on |
45 | xdistcs i_22 s1 0 1 10 |
46 | set Log1 [dlog get] |
47 | |
48 | set List1 [split ${Log1} {TD= \t\n}] |
49 | set Tolerance 1.0e-12 |
50 | set D_good 0. |
51 | checkList ${List1} ${Tolerance} ${D_good} |
52 | |
53 | puts "" |
54 | puts "Second test" |
55 | # 1.2 topology |
56 | bsection r f1 f2 |
57 | bopcheck r |
58 | # r is self interfered |
59 | explode r e |
60 | mkcurve c r_1 |
61 | |
62 | #donly r_1; fit |
63 | |
64 | dlog reset |
65 | dlog on |
66 | xdistcs c s1 0.0714822451660209 1 10 |
67 | set Log2 [dlog get] |
68 | |
69 | set List2 [split ${Log2} {TD= \t\n}] |
70 | set Tolerance 1.0e-12 |
71 | set D_good 0. |
72 | checkList ${List2} ${Tolerance} ${D_good} |
73 | |
74 | puts "" |
75 | puts "Third test" |
76 | # 2.1 geometry |
77 | intersect i s1 s3 |
78 | |
79 | #donly i_4; fit |
80 | |
81 | dlog reset |
82 | dlog on |
83 | xdistcs i_4 s1 0 1 10 |
84 | set Log3 [dlog get] |
85 | |
86 | set List3 [split ${Log3} {TD= \t\n}] |
87 | set Tolerance 1.0e-6 |
88 | set D_good 0. |
89 | checkList ${List3} ${Tolerance} ${D_good} |
90 | |
91 | puts "" |
92 | puts "Fourth test" |
93 | # 2.2 topology |
94 | bsection r f1 f3 |
95 | bopcheck r |
96 | #r is self interfered |
97 | explode r |
98 | mkcurve c r_1 |
99 | |
100 | #donly r_1; fit |
101 | |
102 | dlog reset |
103 | dlog on |
104 | xdistcs c s1 0.0714822451660209 1 10 |
105 | set Log4 [dlog get] |
106 | |
107 | set List4 [split ${Log4} {TD= \t\n}] |
108 | set Tolerance 1.0e-12 |
109 | set D_good 0. |
110 | checkList ${List4} ${Tolerance} ${D_good} |