3bea4c16 |
1 | puts "============" |
2 | puts "OCC7166" |
3 | puts "============" |
4 | puts "" |
5 | ####################################################################### |
6 | # Improvement of API of ThruSection |
7 | ####################################################################### |
8 | |
9 | set BugNumber OCC7166 |
10 | |
11 | # |
12 | # |
13 | # |
14 | # |
15 | # |
16 | # v22 v21 |
17 | # *----------------------* |
18 | # / \ |
19 | # / \ |
20 | # / v12 v11 \ |
21 | # / *---------------------* \ |
22 | # / | | \ |
23 | # / | | \ |
24 | # * v23 | * v3 | v28 * |
25 | # | | | \ | | |
26 | # | | | \ | | |
27 | # | | | \ | | |
28 | # | | | \ | | |
29 | # | | | /* v2 | | |
30 | # | | | / | | |
31 | # | | | / | | * v4, v5 |
32 | # | | | / | | |
33 | # | | * | | |
34 | # | | v1 | | |
35 | # | | | | |
36 | # | | | | |
37 | # * v24 | | v27 * |
38 | # \ | | / |
39 | # \ *---------------------* / |
40 | # \ v13 v14 / |
41 | # \ / |
42 | # \ / |
43 | # \ v25 v26 / |
44 | # *----------------------* |
45 | # |
46 | # |
47 | # |
48 | |
49 | set z1 40 |
50 | set z2 20 |
51 | set z3 0 |
52 | set z4 100 |
53 | set z5 30 |
54 | set z6 10 |
55 | |
56 | # begining vertex |
57 | vertex v4 2.5 5 ${z4} |
58 | # ending vertex |
59 | vertex v5 2.5 5 -${z4} |
60 | |
61 | # top triangle |
62 | vertex v1 0 0 ${z1} |
63 | vertex v2 5 5 ${z1} |
64 | vertex v3 0 10 ${z1} |
65 | |
66 | edge e1 v1 v2 |
67 | edge e2 v2 v3 |
68 | edge e3 v3 v1 |
69 | |
70 | wire w1 e1 e2 e3 |
71 | |
72 | # top beziercurve |
73 | beziercurve bzc1 5 5 5 ${z5} 5 -5 ${z5} -5 -5 ${z5} -5 5 ${z5} 5 5 ${z5} |
74 | mkedge ebzc1 bzc1 |
75 | wire wbzc1 ebzc1 |
76 | |
77 | # top quadrangle |
78 | vertex v11 15 15 ${z2} |
79 | vertex v12 -15 15 ${z2} |
80 | vertex v13 -15 -15 ${z2} |
81 | vertex v14 15 -15 ${z2} |
82 | |
83 | edge e11 v11 v12 |
84 | edge e12 v12 v13 |
85 | edge e13 v13 v14 |
86 | edge e14 v14 v11 |
87 | |
88 | wire w11 e11 e12 e13 e14 |
89 | |
90 | # top pbsplinecurve |
91 | pbsplinecurve pbc1 3 9 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 -1 0 ${z6} 1 -2 2 ${z6} 1 0 1 ${z6} 1 2 2 ${z6} 1 1 0 ${z6} 1 2 -2 ${z6} 1 0 -1 ${z6} 1 -2 -2 ${z6} 1 |
92 | mkedge epbc1 pbc1 |
93 | wire wpbc1 epbc1 |
94 | |
95 | # octagon |
96 | vertex v21 25 25 ${z3} |
97 | vertex v22 -25 25 ${z3} |
98 | vertex v23 -30 10 ${z3} |
99 | vertex v24 -30 -10 ${z3} |
100 | vertex v25 -25 -25 ${z3} |
101 | vertex v26 25 -25 ${z3} |
102 | vertex v27 30 -10 ${z3} |
103 | vertex v28 30 10 ${z3} |
104 | |
105 | edge e21 v21 v22 |
106 | edge e22 v22 v23 |
107 | edge e23 v23 v24 |
108 | edge e24 v24 v25 |
109 | edge e25 v25 v26 |
110 | edge e26 v26 v27 |
111 | edge e27 v27 v28 |
112 | edge e28 v28 v21 |
113 | |
114 | wire w21 e21 e22 e23 e24 e25 e26 e27 e28 |
115 | |
116 | # bottom pbsplinecurve |
117 | pbsplinecurve pbc2 3 9 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 -1 0 -${z6} 1 -2 2 -${z6} 1 0 1 -${z6} 1 2 2 -${z6} 1 1 0 -${z6} 1 2 -2 -${z6} 1 0 -1 -${z6} 1 -2 -2 -${z6} 1 |
118 | mkedge epbc2 pbc2 |
119 | wire wpbc2 epbc2 |
120 | |
121 | # bottom quadrangle |
122 | vertex v111 15 15 -${z2} |
123 | vertex v112 -15 15 -${z2} |
124 | vertex v113 -15 -15 -${z2} |
125 | vertex v114 15 -15 -${z2} |
126 | |
127 | edge e111 v111 v112 |
128 | edge e112 v112 v113 |
129 | edge e113 v113 v114 |
130 | edge e114 v114 v111 |
131 | |
132 | wire w111 e111 e112 e113 e114 |
133 | |
134 | # bottom beziercurve |
135 | beziercurve bzc2 5 5 5 -${z5} 5 -5 -${z5} -5 -5 -${z5} -5 5 -${z5} 5 5 -${z5} |
136 | mkedge ebzc2 bzc2 |
137 | wire wbzc2 ebzc2 |
138 | |
139 | # bottom triangle |
140 | vertex v101 0 0 -${z1} |
141 | vertex v102 5 5 -${z1} |
142 | vertex v103 0 10 -${z1} |
143 | |
144 | edge e101 v101 v102 |
145 | edge e102 v102 v103 |
146 | edge e103 v103 v101 |
147 | |
148 | wire w101 e101 e102 e103 |
149 | |
150 | |
151 | # |
152 | set issolid 0 |
153 | set isruled 1 |
154 | #thrusections result ${issolid} ${isruled} v4 w1 w11 w21 w111 w101 v5 |
155 | thrusections result ${issolid} ${isruled} v4 w1 wbzc1 w11 wpbc1 w21 wpbc2 w111 wbzc2 w101 v5 |
156 | |
157 | |
158 | set square 12436.8 |
159 | |
a4eba920 |
160 | checknbshapes result -vertex 101 -edge 209 -wire 110 -face 110 -shell 1 -solid 0 -compsolid 0 -compound 0 -shape 531 |
3bea4c16 |
161 | |
162 | |
163 | set index [lsearch [whatis result] Closed] |
164 | if {$index == -1} { |
165 | puts "Faulty ${BugNumber} : result is not Closed shape" |
166 | |
167 | } |
168 | |
169 | set 3dviewer 0 |
170 | |