├── README.md
├── cad
├── hex choc - shelled.step
└── morph case.step
├── doc
├── PCB_PCB_morph2_2024-01-19.pdf
└── Schematic_morph2_2024-01-19.pdf
├── media
└── v1top.jpg
├── pcb
└── Gerber_V1.zip
└── software
├── QMK
├── config.h
├── halconf.h
├── info.json
├── keymaps
│ ├── default
│ │ └── keymap.c
│ ├── midi
│ │ ├── keymap.c
│ │ └── rules.mk
│ └── vial
│ │ ├── config.h
│ │ ├── keymap.c
│ │ ├── rules.mk
│ │ └── vial.json
├── mcuconf.h
├── readme.md
└── rules.mk
└── leafcutterlabs_morph_vial.uf2
/README.md:
--------------------------------------------------------------------------------
1 | # MORPHINE
2 | Wicki–Hayden midi keyboard powered by RP2040.
3 | 
4 | Current QMK Vial firmware is very basic (LEDs are not working)
5 | ToDo:
6 | -Get Vial LED control working with backlight
7 | -Design additional texture for keycaps to designate sharps/flats/etc
8 |
--------------------------------------------------------------------------------
/cad/hex choc - shelled.step:
--------------------------------------------------------------------------------
1 | ISO-10303-21;
2 | HEADER;
3 | /* Generated by software containing ST-Developer
4 | * from STEP Tools, Inc. (www.steptools.com)
5 | */
6 | /* OPTION: using custom renumber hook */
7 |
8 | FILE_DESCRIPTION(
9 | /* description */ ('STEP AP242',
10 | 'CAx-IF Rec.Pracs.---Representation and Presentation of Product Manufa
11 | cturing Information (PMI)---4.0---2014-10-13',
12 | 'CAx-IF Rec.Pracs.---3D Tessellated Geometry---0.4---2014-09-14','2;1'),
13 |
14 | /* implementation_level */ '2;1');
15 |
16 | FILE_NAME(
17 | /* name */ '656124a4a092d53e3cc551ad',
18 | /* time_stamp */ '2023-11-24T22:33:08Z',
19 | /* author */ (''),
20 | /* organization */ (''),
21 | /* preprocessor_version */ 'ST-DEVELOPER v19.4',
22 | /* originating_system */ ' ',
23 | /* authorisation */ ' ');
24 |
25 | FILE_SCHEMA (('AP242_MANAGED_MODEL_BASED_3D_ENGINEERING_MIM_LF { 1 0 10303 442 1 1 4 }'));
26 | ENDSEC;
27 |
28 | DATA;
29 | #10=SHAPE_REPRESENTATION_RELATIONSHIP('','',#1121,#11);
30 | #11=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#1119),#1883);
31 | #12=CONICAL_SURFACE('',#1168,0.003,0.785398163397448);
32 | #13=CONICAL_SURFACE('',#1171,0.003,0.785398163397448);
33 | #14=CONICAL_SURFACE('',#1172,0.003,0.785398163397448);
34 | #15=CONICAL_SURFACE('',#1175,0.003,0.785398163397448);
35 | #16=CONICAL_SURFACE('',#1176,0.003,0.785398163397448);
36 | #17=CONICAL_SURFACE('',#1179,0.003,0.785398163397449);
37 | #18=CONICAL_SURFACE('',#1198,0.00215147186257613,0.785398163397448);
38 | #19=CONICAL_SURFACE('',#1201,0.00215147186257613,0.785398163397448);
39 | #20=CONICAL_SURFACE('',#1202,0.00215147186257613,0.785398163397448);
40 | #21=CONICAL_SURFACE('',#1205,0.00215147186257613,0.785398163397448);
41 | #22=CONICAL_SURFACE('',#1206,0.00215147186257613,0.785398163397448);
42 | #23=CONICAL_SURFACE('',#1209,0.00215147186257613,0.785398163397449);
43 | #24=CYLINDRICAL_SURFACE('',#1131,0.003);
44 | #25=CYLINDRICAL_SURFACE('',#1135,0.003);
45 | #26=CYLINDRICAL_SURFACE('',#1139,0.003);
46 | #27=CYLINDRICAL_SURFACE('',#1143,0.003);
47 | #28=CYLINDRICAL_SURFACE('',#1147,0.003);
48 | #29=CYLINDRICAL_SURFACE('',#1151,0.003);
49 | #30=CYLINDRICAL_SURFACE('',#1181,0.0018);
50 | #31=CYLINDRICAL_SURFACE('',#1184,0.0018);
51 | #32=CYLINDRICAL_SURFACE('',#1187,0.0018);
52 | #33=CYLINDRICAL_SURFACE('',#1190,0.0018);
53 | #34=CYLINDRICAL_SURFACE('',#1193,0.0018);
54 | #35=CYLINDRICAL_SURFACE('',#1196,0.0018);
55 | #36=CYLINDRICAL_SURFACE('',#1228,0.0012);
56 | #37=CYLINDRICAL_SURFACE('',#1229,0.0012);
57 | #38=CYLINDRICAL_SURFACE('',#1230,0.0012);
58 | #39=CYLINDRICAL_SURFACE('',#1231,0.0012);
59 | #40=CIRCLE('',#1124,0.00150294372515227);
60 | #41=CIRCLE('',#1125,0.00150294372515228);
61 | #42=CIRCLE('',#1126,0.00150294372515228);
62 | #43=CIRCLE('',#1127,0.00150294372515228);
63 | #44=CIRCLE('',#1128,0.00150294372515227);
64 | #45=CIRCLE('',#1129,0.00150294372515227);
65 | #46=CIRCLE('',#1132,0.003);
66 | #47=CIRCLE('',#1133,0.003);
67 | #48=CIRCLE('',#1136,0.003);
68 | #49=CIRCLE('',#1137,0.003);
69 | #50=CIRCLE('',#1140,0.003);
70 | #51=CIRCLE('',#1141,0.003);
71 | #52=CIRCLE('',#1144,0.003);
72 | #53=CIRCLE('',#1145,0.003);
73 | #54=CIRCLE('',#1148,0.003);
74 | #55=CIRCLE('',#1149,0.003);
75 | #56=CIRCLE('',#1152,0.003);
76 | #57=CIRCLE('',#1153,0.003);
77 | #58=CIRCLE('',#1155,0.002);
78 | #59=CIRCLE('',#1156,0.002);
79 | #60=CIRCLE('',#1157,0.002);
80 | #61=CIRCLE('',#1158,0.002);
81 | #62=CIRCLE('',#1159,0.002);
82 | #63=CIRCLE('',#1160,0.002);
83 | #64=CIRCLE('',#1162,0.0018);
84 | #65=CIRCLE('',#1163,0.0018);
85 | #66=CIRCLE('',#1164,0.0018);
86 | #67=CIRCLE('',#1165,0.0018);
87 | #68=CIRCLE('',#1166,0.0018);
88 | #69=CIRCLE('',#1167,0.0018);
89 | #70=CIRCLE('',#1182,0.0018);
90 | #71=CIRCLE('',#1185,0.0018);
91 | #72=CIRCLE('',#1188,0.0018);
92 | #73=CIRCLE('',#1191,0.0018);
93 | #74=CIRCLE('',#1194,0.0018);
94 | #75=CIRCLE('',#1197,0.0018);
95 | #76=CIRCLE('',#1211,0.0012);
96 | #77=CIRCLE('',#1212,0.0012);
97 | #78=CIRCLE('',#1216,0.0012);
98 | #79=CIRCLE('',#1217,0.0012);
99 | #80=CIRCLE('',#1219,0.0012);
100 | #81=CIRCLE('',#1220,0.0012);
101 | #82=CIRCLE('',#1223,0.0012);
102 | #83=CIRCLE('',#1224,0.0012);
103 | #84=ORIENTED_EDGE('',*,*,#396,.F.);
104 | #85=ORIENTED_EDGE('',*,*,#397,.T.);
105 | #86=ORIENTED_EDGE('',*,*,#398,.T.);
106 | #87=ORIENTED_EDGE('',*,*,#399,.F.);
107 | #88=ORIENTED_EDGE('',*,*,#400,.F.);
108 | #89=ORIENTED_EDGE('',*,*,#401,.F.);
109 | #90=ORIENTED_EDGE('',*,*,#402,.F.);
110 | #91=ORIENTED_EDGE('',*,*,#403,.F.);
111 | #92=ORIENTED_EDGE('',*,*,#404,.F.);
112 | #93=ORIENTED_EDGE('',*,*,#405,.F.);
113 | #94=ORIENTED_EDGE('',*,*,#406,.F.);
114 | #95=ORIENTED_EDGE('',*,*,#407,.F.);
115 | #96=ORIENTED_EDGE('',*,*,#408,.F.);
116 | #97=ORIENTED_EDGE('',*,*,#409,.F.);
117 | #98=ORIENTED_EDGE('',*,*,#410,.F.);
118 | #99=ORIENTED_EDGE('',*,*,#411,.F.);
119 | #100=ORIENTED_EDGE('',*,*,#412,.T.);
120 | #101=ORIENTED_EDGE('',*,*,#413,.T.);
121 | #102=ORIENTED_EDGE('',*,*,#414,.F.);
122 | #103=ORIENTED_EDGE('',*,*,#415,.F.);
123 | #104=ORIENTED_EDGE('',*,*,#416,.F.);
124 | #105=ORIENTED_EDGE('',*,*,#417,.T.);
125 | #106=ORIENTED_EDGE('',*,*,#418,.T.);
126 | #107=ORIENTED_EDGE('',*,*,#419,.F.);
127 | #108=ORIENTED_EDGE('',*,*,#418,.F.);
128 | #109=ORIENTED_EDGE('',*,*,#420,.T.);
129 | #110=ORIENTED_EDGE('',*,*,#421,.T.);
130 | #111=ORIENTED_EDGE('',*,*,#422,.F.);
131 | #112=ORIENTED_EDGE('',*,*,#421,.F.);
132 | #113=ORIENTED_EDGE('',*,*,#423,.T.);
133 | #114=ORIENTED_EDGE('',*,*,#424,.T.);
134 | #115=ORIENTED_EDGE('',*,*,#425,.F.);
135 | #116=ORIENTED_EDGE('',*,*,#424,.F.);
136 | #117=ORIENTED_EDGE('',*,*,#426,.T.);
137 | #118=ORIENTED_EDGE('',*,*,#427,.T.);
138 | #119=ORIENTED_EDGE('',*,*,#428,.F.);
139 | #120=ORIENTED_EDGE('',*,*,#427,.F.);
140 | #121=ORIENTED_EDGE('',*,*,#429,.T.);
141 | #122=ORIENTED_EDGE('',*,*,#430,.T.);
142 | #123=ORIENTED_EDGE('',*,*,#431,.F.);
143 | #124=ORIENTED_EDGE('',*,*,#430,.F.);
144 | #125=ORIENTED_EDGE('',*,*,#432,.T.);
145 | #126=ORIENTED_EDGE('',*,*,#433,.T.);
146 | #127=ORIENTED_EDGE('',*,*,#434,.F.);
147 | #128=ORIENTED_EDGE('',*,*,#433,.F.);
148 | #129=ORIENTED_EDGE('',*,*,#435,.T.);
149 | #130=ORIENTED_EDGE('',*,*,#436,.T.);
150 | #131=ORIENTED_EDGE('',*,*,#437,.F.);
151 | #132=ORIENTED_EDGE('',*,*,#436,.F.);
152 | #133=ORIENTED_EDGE('',*,*,#438,.T.);
153 | #134=ORIENTED_EDGE('',*,*,#439,.T.);
154 | #135=ORIENTED_EDGE('',*,*,#440,.F.);
155 | #136=ORIENTED_EDGE('',*,*,#439,.F.);
156 | #137=ORIENTED_EDGE('',*,*,#441,.T.);
157 | #138=ORIENTED_EDGE('',*,*,#442,.T.);
158 | #139=ORIENTED_EDGE('',*,*,#443,.F.);
159 | #140=ORIENTED_EDGE('',*,*,#442,.F.);
160 | #141=ORIENTED_EDGE('',*,*,#444,.T.);
161 | #142=ORIENTED_EDGE('',*,*,#445,.T.);
162 | #143=ORIENTED_EDGE('',*,*,#446,.F.);
163 | #144=ORIENTED_EDGE('',*,*,#445,.F.);
164 | #145=ORIENTED_EDGE('',*,*,#447,.T.);
165 | #146=ORIENTED_EDGE('',*,*,#448,.T.);
166 | #147=ORIENTED_EDGE('',*,*,#449,.F.);
167 | #148=ORIENTED_EDGE('',*,*,#448,.F.);
168 | #149=ORIENTED_EDGE('',*,*,#450,.T.);
169 | #150=ORIENTED_EDGE('',*,*,#416,.T.);
170 | #151=ORIENTED_EDGE('',*,*,#451,.F.);
171 | #152=ORIENTED_EDGE('',*,*,#452,.T.);
172 | #153=ORIENTED_EDGE('',*,*,#453,.T.);
173 | #154=ORIENTED_EDGE('',*,*,#454,.T.);
174 | #155=ORIENTED_EDGE('',*,*,#455,.T.);
175 | #156=ORIENTED_EDGE('',*,*,#456,.T.);
176 | #157=ORIENTED_EDGE('',*,*,#457,.T.);
177 | #158=ORIENTED_EDGE('',*,*,#458,.T.);
178 | #159=ORIENTED_EDGE('',*,*,#459,.T.);
179 | #160=ORIENTED_EDGE('',*,*,#460,.T.);
180 | #161=ORIENTED_EDGE('',*,*,#461,.T.);
181 | #162=ORIENTED_EDGE('',*,*,#462,.T.);
182 | #163=ORIENTED_EDGE('',*,*,#463,.T.);
183 | #164=ORIENTED_EDGE('',*,*,#464,.F.);
184 | #165=ORIENTED_EDGE('',*,*,#465,.F.);
185 | #166=ORIENTED_EDGE('',*,*,#466,.F.);
186 | #167=ORIENTED_EDGE('',*,*,#467,.F.);
187 | #168=ORIENTED_EDGE('',*,*,#468,.F.);
188 | #169=ORIENTED_EDGE('',*,*,#469,.F.);
189 | #170=ORIENTED_EDGE('',*,*,#470,.F.);
190 | #171=ORIENTED_EDGE('',*,*,#471,.F.);
191 | #172=ORIENTED_EDGE('',*,*,#472,.F.);
192 | #173=ORIENTED_EDGE('',*,*,#473,.F.);
193 | #174=ORIENTED_EDGE('',*,*,#474,.F.);
194 | #175=ORIENTED_EDGE('',*,*,#475,.F.);
195 | #176=ORIENTED_EDGE('',*,*,#419,.T.);
196 | #177=ORIENTED_EDGE('',*,*,#422,.T.);
197 | #178=ORIENTED_EDGE('',*,*,#425,.T.);
198 | #179=ORIENTED_EDGE('',*,*,#428,.T.);
199 | #180=ORIENTED_EDGE('',*,*,#431,.T.);
200 | #181=ORIENTED_EDGE('',*,*,#434,.T.);
201 | #182=ORIENTED_EDGE('',*,*,#437,.T.);
202 | #183=ORIENTED_EDGE('',*,*,#440,.T.);
203 | #184=ORIENTED_EDGE('',*,*,#443,.T.);
204 | #185=ORIENTED_EDGE('',*,*,#446,.T.);
205 | #186=ORIENTED_EDGE('',*,*,#449,.T.);
206 | #187=ORIENTED_EDGE('',*,*,#451,.T.);
207 | #188=ORIENTED_EDGE('',*,*,#476,.F.);
208 | #189=ORIENTED_EDGE('',*,*,#452,.F.);
209 | #190=ORIENTED_EDGE('',*,*,#477,.F.);
210 | #191=ORIENTED_EDGE('',*,*,#420,.F.);
211 | #192=ORIENTED_EDGE('',*,*,#477,.T.);
212 | #193=ORIENTED_EDGE('',*,*,#463,.F.);
213 | #194=ORIENTED_EDGE('',*,*,#478,.F.);
214 | #195=ORIENTED_EDGE('',*,*,#423,.F.);
215 | #196=ORIENTED_EDGE('',*,*,#476,.T.);
216 | #197=ORIENTED_EDGE('',*,*,#417,.F.);
217 | #198=ORIENTED_EDGE('',*,*,#479,.F.);
218 | #199=ORIENTED_EDGE('',*,*,#453,.F.);
219 | #200=ORIENTED_EDGE('',*,*,#478,.T.);
220 | #201=ORIENTED_EDGE('',*,*,#462,.F.);
221 | #202=ORIENTED_EDGE('',*,*,#480,.F.);
222 | #203=ORIENTED_EDGE('',*,*,#426,.F.);
223 | #204=ORIENTED_EDGE('',*,*,#479,.T.);
224 | #205=ORIENTED_EDGE('',*,*,#450,.F.);
225 | #206=ORIENTED_EDGE('',*,*,#481,.F.);
226 | #207=ORIENTED_EDGE('',*,*,#454,.F.);
227 | #208=ORIENTED_EDGE('',*,*,#480,.T.);
228 | #209=ORIENTED_EDGE('',*,*,#461,.F.);
229 | #210=ORIENTED_EDGE('',*,*,#482,.F.);
230 | #211=ORIENTED_EDGE('',*,*,#429,.F.);
231 | #212=ORIENTED_EDGE('',*,*,#481,.T.);
232 | #213=ORIENTED_EDGE('',*,*,#447,.F.);
233 | #214=ORIENTED_EDGE('',*,*,#483,.F.);
234 | #215=ORIENTED_EDGE('',*,*,#455,.F.);
235 | #216=ORIENTED_EDGE('',*,*,#482,.T.);
236 | #217=ORIENTED_EDGE('',*,*,#460,.F.);
237 | #218=ORIENTED_EDGE('',*,*,#484,.F.);
238 | #219=ORIENTED_EDGE('',*,*,#432,.F.);
239 | #220=ORIENTED_EDGE('',*,*,#483,.T.);
240 | #221=ORIENTED_EDGE('',*,*,#444,.F.);
241 | #222=ORIENTED_EDGE('',*,*,#485,.F.);
242 | #223=ORIENTED_EDGE('',*,*,#456,.F.);
243 | #224=ORIENTED_EDGE('',*,*,#484,.T.);
244 | #225=ORIENTED_EDGE('',*,*,#459,.F.);
245 | #226=ORIENTED_EDGE('',*,*,#486,.F.);
246 | #227=ORIENTED_EDGE('',*,*,#435,.F.);
247 | #228=ORIENTED_EDGE('',*,*,#485,.T.);
248 | #229=ORIENTED_EDGE('',*,*,#441,.F.);
249 | #230=ORIENTED_EDGE('',*,*,#487,.F.);
250 | #231=ORIENTED_EDGE('',*,*,#457,.F.);
251 | #232=ORIENTED_EDGE('',*,*,#486,.T.);
252 | #233=ORIENTED_EDGE('',*,*,#458,.F.);
253 | #234=ORIENTED_EDGE('',*,*,#487,.T.);
254 | #235=ORIENTED_EDGE('',*,*,#438,.F.);
255 | #236=ORIENTED_EDGE('',*,*,#488,.T.);
256 | #237=ORIENTED_EDGE('',*,*,#464,.T.);
257 | #238=ORIENTED_EDGE('',*,*,#489,.F.);
258 | #239=ORIENTED_EDGE('',*,*,#490,.F.);
259 | #240=ORIENTED_EDGE('',*,*,#489,.T.);
260 | #241=ORIENTED_EDGE('',*,*,#475,.T.);
261 | #242=ORIENTED_EDGE('',*,*,#491,.F.);
262 | #243=ORIENTED_EDGE('',*,*,#492,.F.);
263 | #244=ORIENTED_EDGE('',*,*,#491,.T.);
264 | #245=ORIENTED_EDGE('',*,*,#474,.T.);
265 | #246=ORIENTED_EDGE('',*,*,#493,.F.);
266 | #247=ORIENTED_EDGE('',*,*,#494,.F.);
267 | #248=ORIENTED_EDGE('',*,*,#493,.T.);
268 | #249=ORIENTED_EDGE('',*,*,#473,.T.);
269 | #250=ORIENTED_EDGE('',*,*,#495,.F.);
270 | #251=ORIENTED_EDGE('',*,*,#496,.F.);
271 | #252=ORIENTED_EDGE('',*,*,#495,.T.);
272 | #253=ORIENTED_EDGE('',*,*,#472,.T.);
273 | #254=ORIENTED_EDGE('',*,*,#497,.F.);
274 | #255=ORIENTED_EDGE('',*,*,#498,.F.);
275 | #256=ORIENTED_EDGE('',*,*,#497,.T.);
276 | #257=ORIENTED_EDGE('',*,*,#471,.T.);
277 | #258=ORIENTED_EDGE('',*,*,#499,.F.);
278 | #259=ORIENTED_EDGE('',*,*,#500,.F.);
279 | #260=ORIENTED_EDGE('',*,*,#499,.T.);
280 | #261=ORIENTED_EDGE('',*,*,#470,.T.);
281 | #262=ORIENTED_EDGE('',*,*,#501,.F.);
282 | #263=ORIENTED_EDGE('',*,*,#502,.F.);
283 | #264=ORIENTED_EDGE('',*,*,#501,.T.);
284 | #265=ORIENTED_EDGE('',*,*,#469,.T.);
285 | #266=ORIENTED_EDGE('',*,*,#503,.F.);
286 | #267=ORIENTED_EDGE('',*,*,#504,.F.);
287 | #268=ORIENTED_EDGE('',*,*,#503,.T.);
288 | #269=ORIENTED_EDGE('',*,*,#468,.T.);
289 | #270=ORIENTED_EDGE('',*,*,#505,.F.);
290 | #271=ORIENTED_EDGE('',*,*,#506,.F.);
291 | #272=ORIENTED_EDGE('',*,*,#505,.T.);
292 | #273=ORIENTED_EDGE('',*,*,#467,.T.);
293 | #274=ORIENTED_EDGE('',*,*,#507,.F.);
294 | #275=ORIENTED_EDGE('',*,*,#508,.F.);
295 | #276=ORIENTED_EDGE('',*,*,#507,.T.);
296 | #277=ORIENTED_EDGE('',*,*,#466,.T.);
297 | #278=ORIENTED_EDGE('',*,*,#509,.F.);
298 | #279=ORIENTED_EDGE('',*,*,#510,.F.);
299 | #280=ORIENTED_EDGE('',*,*,#509,.T.);
300 | #281=ORIENTED_EDGE('',*,*,#465,.T.);
301 | #282=ORIENTED_EDGE('',*,*,#488,.F.);
302 | #283=ORIENTED_EDGE('',*,*,#511,.F.);
303 | #284=ORIENTED_EDGE('',*,*,#512,.T.);
304 | #285=ORIENTED_EDGE('',*,*,#492,.T.);
305 | #286=ORIENTED_EDGE('',*,*,#513,.T.);
306 | #287=ORIENTED_EDGE('',*,*,#400,.T.);
307 | #288=ORIENTED_EDGE('',*,*,#513,.F.);
308 | #289=ORIENTED_EDGE('',*,*,#494,.T.);
309 | #290=ORIENTED_EDGE('',*,*,#514,.T.);
310 | #291=ORIENTED_EDGE('',*,*,#401,.T.);
311 | #292=ORIENTED_EDGE('',*,*,#512,.F.);
312 | #293=ORIENTED_EDGE('',*,*,#411,.T.);
313 | #294=ORIENTED_EDGE('',*,*,#515,.T.);
314 | #295=ORIENTED_EDGE('',*,*,#490,.T.);
315 | #296=ORIENTED_EDGE('',*,*,#514,.F.);
316 | #297=ORIENTED_EDGE('',*,*,#496,.T.);
317 | #298=ORIENTED_EDGE('',*,*,#516,.T.);
318 | #299=ORIENTED_EDGE('',*,*,#402,.T.);
319 | #300=ORIENTED_EDGE('',*,*,#515,.F.);
320 | #301=ORIENTED_EDGE('',*,*,#410,.T.);
321 | #302=ORIENTED_EDGE('',*,*,#517,.T.);
322 | #303=ORIENTED_EDGE('',*,*,#511,.T.);
323 | #304=ORIENTED_EDGE('',*,*,#516,.F.);
324 | #305=ORIENTED_EDGE('',*,*,#498,.T.);
325 | #306=ORIENTED_EDGE('',*,*,#518,.T.);
326 | #307=ORIENTED_EDGE('',*,*,#403,.T.);
327 | #308=ORIENTED_EDGE('',*,*,#517,.F.);
328 | #309=ORIENTED_EDGE('',*,*,#409,.T.);
329 | #310=ORIENTED_EDGE('',*,*,#519,.T.);
330 | #311=ORIENTED_EDGE('',*,*,#510,.T.);
331 | #312=ORIENTED_EDGE('',*,*,#518,.F.);
332 | #313=ORIENTED_EDGE('',*,*,#500,.T.);
333 | #314=ORIENTED_EDGE('',*,*,#520,.T.);
334 | #315=ORIENTED_EDGE('',*,*,#404,.T.);
335 | #316=ORIENTED_EDGE('',*,*,#519,.F.);
336 | #317=ORIENTED_EDGE('',*,*,#408,.T.);
337 | #318=ORIENTED_EDGE('',*,*,#521,.T.);
338 | #319=ORIENTED_EDGE('',*,*,#508,.T.);
339 | #320=ORIENTED_EDGE('',*,*,#520,.F.);
340 | #321=ORIENTED_EDGE('',*,*,#502,.T.);
341 | #322=ORIENTED_EDGE('',*,*,#522,.T.);
342 | #323=ORIENTED_EDGE('',*,*,#405,.T.);
343 | #324=ORIENTED_EDGE('',*,*,#521,.F.);
344 | #325=ORIENTED_EDGE('',*,*,#407,.T.);
345 | #326=ORIENTED_EDGE('',*,*,#523,.T.);
346 | #327=ORIENTED_EDGE('',*,*,#506,.T.);
347 | #328=ORIENTED_EDGE('',*,*,#522,.F.);
348 | #329=ORIENTED_EDGE('',*,*,#504,.T.);
349 | #330=ORIENTED_EDGE('',*,*,#523,.F.);
350 | #331=ORIENTED_EDGE('',*,*,#406,.T.);
351 | #332=ORIENTED_EDGE('',*,*,#524,.T.);
352 | #333=ORIENTED_EDGE('',*,*,#525,.T.);
353 | #334=ORIENTED_EDGE('',*,*,#526,.F.);
354 | #335=ORIENTED_EDGE('',*,*,#398,.F.);
355 | #336=ORIENTED_EDGE('',*,*,#527,.T.);
356 | #337=ORIENTED_EDGE('',*,*,#528,.T.);
357 | #338=ORIENTED_EDGE('',*,*,#526,.T.);
358 | #339=ORIENTED_EDGE('',*,*,#529,.T.);
359 | #340=ORIENTED_EDGE('',*,*,#530,.F.);
360 | #341=ORIENTED_EDGE('',*,*,#399,.T.);
361 | #342=ORIENTED_EDGE('',*,*,#531,.T.);
362 | #343=ORIENTED_EDGE('',*,*,#532,.T.);
363 | #344=ORIENTED_EDGE('',*,*,#527,.F.);
364 | #345=ORIENTED_EDGE('',*,*,#397,.F.);
365 | #346=ORIENTED_EDGE('',*,*,#530,.T.);
366 | #347=ORIENTED_EDGE('',*,*,#533,.T.);
367 | #348=ORIENTED_EDGE('',*,*,#534,.F.);
368 | #349=ORIENTED_EDGE('',*,*,#535,.T.);
369 | #350=ORIENTED_EDGE('',*,*,#531,.F.);
370 | #351=ORIENTED_EDGE('',*,*,#396,.T.);
371 | #352=ORIENTED_EDGE('',*,*,#536,.F.);
372 | #353=ORIENTED_EDGE('',*,*,#537,.T.);
373 | #354=ORIENTED_EDGE('',*,*,#538,.F.);
374 | #355=ORIENTED_EDGE('',*,*,#414,.T.);
375 | #356=ORIENTED_EDGE('',*,*,#539,.T.);
376 | #357=ORIENTED_EDGE('',*,*,#540,.T.);
377 | #358=ORIENTED_EDGE('',*,*,#538,.T.);
378 | #359=ORIENTED_EDGE('',*,*,#541,.T.);
379 | #360=ORIENTED_EDGE('',*,*,#542,.F.);
380 | #361=ORIENTED_EDGE('',*,*,#415,.T.);
381 | #362=ORIENTED_EDGE('',*,*,#542,.T.);
382 | #363=ORIENTED_EDGE('',*,*,#543,.T.);
383 | #364=ORIENTED_EDGE('',*,*,#544,.T.);
384 | #365=ORIENTED_EDGE('',*,*,#545,.T.);
385 | #366=ORIENTED_EDGE('',*,*,#546,.F.);
386 | #367=ORIENTED_EDGE('',*,*,#412,.F.);
387 | #368=ORIENTED_EDGE('',*,*,#546,.T.);
388 | #369=ORIENTED_EDGE('',*,*,#547,.T.);
389 | #370=ORIENTED_EDGE('',*,*,#539,.F.);
390 | #371=ORIENTED_EDGE('',*,*,#413,.F.);
391 | #372=ORIENTED_EDGE('',*,*,#534,.T.);
392 | #373=ORIENTED_EDGE('',*,*,#548,.T.);
393 | #374=ORIENTED_EDGE('',*,*,#524,.F.);
394 | #375=ORIENTED_EDGE('',*,*,#549,.T.);
395 | #376=ORIENTED_EDGE('',*,*,#544,.F.);
396 | #377=ORIENTED_EDGE('',*,*,#550,.T.);
397 | #378=ORIENTED_EDGE('',*,*,#536,.T.);
398 | #379=ORIENTED_EDGE('',*,*,#551,.T.);
399 | #380=ORIENTED_EDGE('',*,*,#543,.F.);
400 | #381=ORIENTED_EDGE('',*,*,#541,.F.);
401 | #382=ORIENTED_EDGE('',*,*,#537,.F.);
402 | #383=ORIENTED_EDGE('',*,*,#550,.F.);
403 | #384=ORIENTED_EDGE('',*,*,#545,.F.);
404 | #385=ORIENTED_EDGE('',*,*,#551,.F.);
405 | #386=ORIENTED_EDGE('',*,*,#540,.F.);
406 | #387=ORIENTED_EDGE('',*,*,#547,.F.);
407 | #388=ORIENTED_EDGE('',*,*,#533,.F.);
408 | #389=ORIENTED_EDGE('',*,*,#529,.F.);
409 | #390=ORIENTED_EDGE('',*,*,#525,.F.);
410 | #391=ORIENTED_EDGE('',*,*,#548,.F.);
411 | #392=ORIENTED_EDGE('',*,*,#535,.F.);
412 | #393=ORIENTED_EDGE('',*,*,#549,.F.);
413 | #394=ORIENTED_EDGE('',*,*,#528,.F.);
414 | #395=ORIENTED_EDGE('',*,*,#532,.F.);
415 | #396=EDGE_CURVE('',#552,#553,#648,.T.);
416 | #397=EDGE_CURVE('',#552,#554,#649,.T.);
417 | #398=EDGE_CURVE('',#554,#555,#650,.T.);
418 | #399=EDGE_CURVE('',#553,#555,#651,.T.);
419 | #400=EDGE_CURVE('',#556,#557,#40,.F.);
420 | #401=EDGE_CURVE('',#558,#556,#652,.T.);
421 | #402=EDGE_CURVE('',#559,#558,#41,.F.);
422 | #403=EDGE_CURVE('',#560,#559,#653,.T.);
423 | #404=EDGE_CURVE('',#561,#560,#42,.F.);
424 | #405=EDGE_CURVE('',#562,#561,#654,.T.);
425 | #406=EDGE_CURVE('',#563,#562,#43,.F.);
426 | #407=EDGE_CURVE('',#564,#563,#655,.T.);
427 | #408=EDGE_CURVE('',#565,#564,#44,.F.);
428 | #409=EDGE_CURVE('',#566,#565,#656,.T.);
429 | #410=EDGE_CURVE('',#567,#566,#45,.F.);
430 | #411=EDGE_CURVE('',#557,#567,#657,.T.);
431 | #412=EDGE_CURVE('',#568,#569,#658,.T.);
432 | #413=EDGE_CURVE('',#569,#570,#659,.T.);
433 | #414=EDGE_CURVE('',#571,#570,#660,.T.);
434 | #415=EDGE_CURVE('',#568,#571,#661,.T.);
435 | #416=EDGE_CURVE('',#572,#573,#662,.T.);
436 | #417=EDGE_CURVE('',#572,#574,#663,.T.);
437 | #418=EDGE_CURVE('',#574,#575,#664,.T.);
438 | #419=EDGE_CURVE('',#573,#575,#665,.T.);
439 | #420=EDGE_CURVE('',#574,#576,#46,.T.);
440 | #421=EDGE_CURVE('',#576,#577,#666,.T.);
441 | #422=EDGE_CURVE('',#575,#577,#47,.T.);
442 | #423=EDGE_CURVE('',#576,#578,#667,.T.);
443 | #424=EDGE_CURVE('',#578,#579,#668,.T.);
444 | #425=EDGE_CURVE('',#577,#579,#669,.T.);
445 | #426=EDGE_CURVE('',#578,#580,#48,.T.);
446 | #427=EDGE_CURVE('',#580,#581,#670,.T.);
447 | #428=EDGE_CURVE('',#579,#581,#49,.T.);
448 | #429=EDGE_CURVE('',#580,#582,#671,.T.);
449 | #430=EDGE_CURVE('',#582,#583,#672,.T.);
450 | #431=EDGE_CURVE('',#581,#583,#673,.T.);
451 | #432=EDGE_CURVE('',#582,#584,#50,.T.);
452 | #433=EDGE_CURVE('',#584,#585,#674,.T.);
453 | #434=EDGE_CURVE('',#583,#585,#51,.T.);
454 | #435=EDGE_CURVE('',#584,#586,#675,.T.);
455 | #436=EDGE_CURVE('',#586,#587,#676,.T.);
456 | #437=EDGE_CURVE('',#585,#587,#677,.T.);
457 | #438=EDGE_CURVE('',#586,#588,#52,.T.);
458 | #439=EDGE_CURVE('',#588,#589,#678,.T.);
459 | #440=EDGE_CURVE('',#587,#589,#53,.T.);
460 | #441=EDGE_CURVE('',#588,#590,#679,.T.);
461 | #442=EDGE_CURVE('',#590,#591,#680,.T.);
462 | #443=EDGE_CURVE('',#589,#591,#681,.T.);
463 | #444=EDGE_CURVE('',#590,#592,#54,.T.);
464 | #445=EDGE_CURVE('',#592,#593,#682,.T.);
465 | #446=EDGE_CURVE('',#591,#593,#55,.T.);
466 | #447=EDGE_CURVE('',#592,#594,#683,.T.);
467 | #448=EDGE_CURVE('',#594,#595,#684,.T.);
468 | #449=EDGE_CURVE('',#593,#595,#685,.T.);
469 | #450=EDGE_CURVE('',#594,#572,#56,.T.);
470 | #451=EDGE_CURVE('',#595,#573,#57,.T.);
471 | #452=EDGE_CURVE('',#596,#597,#58,.F.);
472 | #453=EDGE_CURVE('',#597,#598,#686,.T.);
473 | #454=EDGE_CURVE('',#598,#599,#59,.F.);
474 | #455=EDGE_CURVE('',#599,#600,#687,.T.);
475 | #456=EDGE_CURVE('',#600,#601,#60,.F.);
476 | #457=EDGE_CURVE('',#601,#602,#688,.T.);
477 | #458=EDGE_CURVE('',#602,#603,#61,.F.);
478 | #459=EDGE_CURVE('',#603,#604,#689,.T.);
479 | #460=EDGE_CURVE('',#604,#605,#62,.F.);
480 | #461=EDGE_CURVE('',#605,#606,#690,.T.);
481 | #462=EDGE_CURVE('',#606,#607,#63,.F.);
482 | #463=EDGE_CURVE('',#607,#596,#691,.T.);
483 | #464=EDGE_CURVE('',#608,#609,#692,.T.);
484 | #465=EDGE_CURVE('',#610,#608,#64,.T.);
485 | #466=EDGE_CURVE('',#611,#610,#693,.T.);
486 | #467=EDGE_CURVE('',#612,#611,#65,.T.);
487 | #468=EDGE_CURVE('',#613,#612,#694,.T.);
488 | #469=EDGE_CURVE('',#614,#613,#66,.T.);
489 | #470=EDGE_CURVE('',#615,#614,#695,.T.);
490 | #471=EDGE_CURVE('',#616,#615,#67,.T.);
491 | #472=EDGE_CURVE('',#617,#616,#696,.T.);
492 | #473=EDGE_CURVE('',#618,#617,#68,.T.);
493 | #474=EDGE_CURVE('',#619,#618,#697,.T.);
494 | #475=EDGE_CURVE('',#609,#619,#69,.T.);
495 | #476=EDGE_CURVE('',#597,#574,#698,.T.);
496 | #477=EDGE_CURVE('',#576,#596,#699,.T.);
497 | #478=EDGE_CURVE('',#578,#607,#700,.T.);
498 | #479=EDGE_CURVE('',#598,#572,#701,.T.);
499 | #480=EDGE_CURVE('',#580,#606,#702,.T.);
500 | #481=EDGE_CURVE('',#599,#594,#703,.T.);
501 | #482=EDGE_CURVE('',#582,#605,#704,.T.);
502 | #483=EDGE_CURVE('',#600,#592,#705,.T.);
503 | #484=EDGE_CURVE('',#584,#604,#706,.T.);
504 | #485=EDGE_CURVE('',#601,#590,#707,.T.);
505 | #486=EDGE_CURVE('',#586,#603,#708,.T.);
506 | #487=EDGE_CURVE('',#602,#588,#709,.T.);
507 | #488=EDGE_CURVE('',#620,#608,#710,.T.);
508 | #489=EDGE_CURVE('',#621,#609,#711,.T.);
509 | #490=EDGE_CURVE('',#620,#621,#712,.T.);
510 | #491=EDGE_CURVE('',#622,#619,#713,.T.);
511 | #492=EDGE_CURVE('',#621,#622,#70,.T.);
512 | #493=EDGE_CURVE('',#623,#618,#714,.T.);
513 | #494=EDGE_CURVE('',#622,#623,#715,.T.);
514 | #495=EDGE_CURVE('',#624,#617,#716,.T.);
515 | #496=EDGE_CURVE('',#623,#624,#71,.T.);
516 | #497=EDGE_CURVE('',#625,#616,#717,.T.);
517 | #498=EDGE_CURVE('',#624,#625,#718,.T.);
518 | #499=EDGE_CURVE('',#626,#615,#719,.T.);
519 | #500=EDGE_CURVE('',#625,#626,#72,.T.);
520 | #501=EDGE_CURVE('',#627,#614,#720,.F.);
521 | #502=EDGE_CURVE('',#626,#627,#721,.T.);
522 | #503=EDGE_CURVE('',#628,#613,#722,.T.);
523 | #504=EDGE_CURVE('',#627,#628,#73,.T.);
524 | #505=EDGE_CURVE('',#629,#612,#723,.T.);
525 | #506=EDGE_CURVE('',#628,#629,#724,.T.);
526 | #507=EDGE_CURVE('',#630,#611,#725,.T.);
527 | #508=EDGE_CURVE('',#629,#630,#74,.T.);
528 | #509=EDGE_CURVE('',#631,#610,#726,.T.);
529 | #510=EDGE_CURVE('',#630,#631,#727,.T.);
530 | #511=EDGE_CURVE('',#631,#620,#75,.T.);
531 | #512=EDGE_CURVE('',#557,#621,#728,.F.);
532 | #513=EDGE_CURVE('',#622,#556,#729,.T.);
533 | #514=EDGE_CURVE('',#623,#558,#730,.F.);
534 | #515=EDGE_CURVE('',#567,#620,#731,.T.);
535 | #516=EDGE_CURVE('',#624,#559,#732,.T.);
536 | #517=EDGE_CURVE('',#566,#631,#733,.F.);
537 | #518=EDGE_CURVE('',#625,#560,#734,.F.);
538 | #519=EDGE_CURVE('',#565,#630,#735,.T.);
539 | #520=EDGE_CURVE('',#626,#561,#736,.T.);
540 | #521=EDGE_CURVE('',#564,#629,#737,.F.);
541 | #522=EDGE_CURVE('',#627,#562,#738,.F.);
542 | #523=EDGE_CURVE('',#563,#628,#739,.T.);
543 | #524=EDGE_CURVE('',#632,#633,#740,.T.);
544 | #525=EDGE_CURVE('',#633,#634,#76,.F.);
545 | #526=EDGE_CURVE('',#555,#634,#741,.T.);
546 | #527=EDGE_CURVE('',#554,#635,#742,.T.);
547 | #528=EDGE_CURVE('',#635,#632,#77,.F.);
548 | #529=EDGE_CURVE('',#634,#636,#743,.F.);
549 | #530=EDGE_CURVE('',#553,#636,#744,.T.);
550 | #531=EDGE_CURVE('',#552,#637,#745,.T.);
551 | #532=EDGE_CURVE('',#637,#635,#746,.T.);
552 | #533=EDGE_CURVE('',#636,#638,#78,.T.);
553 | #534=EDGE_CURVE('',#639,#638,#747,.T.);
554 | #535=EDGE_CURVE('',#639,#637,#79,.T.);
555 | #536=EDGE_CURVE('',#640,#641,#748,.T.);
556 | #537=EDGE_CURVE('',#640,#642,#80,.T.);
557 | #538=EDGE_CURVE('',#571,#642,#749,.T.);
558 | #539=EDGE_CURVE('',#570,#643,#750,.T.);
559 | #540=EDGE_CURVE('',#643,#641,#81,.T.);
560 | #541=EDGE_CURVE('',#642,#644,#751,.F.);
561 | #542=EDGE_CURVE('',#568,#644,#752,.T.);
562 | #543=EDGE_CURVE('',#644,#645,#82,.F.);
563 | #544=EDGE_CURVE('',#645,#646,#753,.T.);
564 | #545=EDGE_CURVE('',#646,#647,#83,.F.);
565 | #546=EDGE_CURVE('',#569,#647,#754,.T.);
566 | #547=EDGE_CURVE('',#647,#643,#755,.T.);
567 | #548=EDGE_CURVE('',#638,#633,#756,.T.);
568 | #549=EDGE_CURVE('',#632,#639,#757,.F.);
569 | #550=EDGE_CURVE('',#645,#640,#758,.T.);
570 | #551=EDGE_CURVE('',#641,#646,#759,.F.);
571 | #552=VERTEX_POINT('',#1567);
572 | #553=VERTEX_POINT('',#1568);
573 | #554=VERTEX_POINT('',#1570);
574 | #555=VERTEX_POINT('',#1572);
575 | #556=VERTEX_POINT('',#1575);
576 | #557=VERTEX_POINT('',#1576);
577 | #558=VERTEX_POINT('',#1578);
578 | #559=VERTEX_POINT('',#1580);
579 | #560=VERTEX_POINT('',#1582);
580 | #561=VERTEX_POINT('',#1584);
581 | #562=VERTEX_POINT('',#1586);
582 | #563=VERTEX_POINT('',#1588);
583 | #564=VERTEX_POINT('',#1590);
584 | #565=VERTEX_POINT('',#1592);
585 | #566=VERTEX_POINT('',#1594);
586 | #567=VERTEX_POINT('',#1596);
587 | #568=VERTEX_POINT('',#1599);
588 | #569=VERTEX_POINT('',#1600);
589 | #570=VERTEX_POINT('',#1602);
590 | #571=VERTEX_POINT('',#1604);
591 | #572=VERTEX_POINT('',#1608);
592 | #573=VERTEX_POINT('',#1609);
593 | #574=VERTEX_POINT('',#1611);
594 | #575=VERTEX_POINT('',#1613);
595 | #576=VERTEX_POINT('',#1617);
596 | #577=VERTEX_POINT('',#1619);
597 | #578=VERTEX_POINT('',#1623);
598 | #579=VERTEX_POINT('',#1625);
599 | #580=VERTEX_POINT('',#1629);
600 | #581=VERTEX_POINT('',#1631);
601 | #582=VERTEX_POINT('',#1635);
602 | #583=VERTEX_POINT('',#1637);
603 | #584=VERTEX_POINT('',#1641);
604 | #585=VERTEX_POINT('',#1643);
605 | #586=VERTEX_POINT('',#1647);
606 | #587=VERTEX_POINT('',#1649);
607 | #588=VERTEX_POINT('',#1653);
608 | #589=VERTEX_POINT('',#1655);
609 | #590=VERTEX_POINT('',#1659);
610 | #591=VERTEX_POINT('',#1661);
611 | #592=VERTEX_POINT('',#1665);
612 | #593=VERTEX_POINT('',#1667);
613 | #594=VERTEX_POINT('',#1671);
614 | #595=VERTEX_POINT('',#1673);
615 | #596=VERTEX_POINT('',#1680);
616 | #597=VERTEX_POINT('',#1681);
617 | #598=VERTEX_POINT('',#1683);
618 | #599=VERTEX_POINT('',#1685);
619 | #600=VERTEX_POINT('',#1687);
620 | #601=VERTEX_POINT('',#1689);
621 | #602=VERTEX_POINT('',#1691);
622 | #603=VERTEX_POINT('',#1693);
623 | #604=VERTEX_POINT('',#1695);
624 | #605=VERTEX_POINT('',#1697);
625 | #606=VERTEX_POINT('',#1699);
626 | #607=VERTEX_POINT('',#1701);
627 | #608=VERTEX_POINT('',#1705);
628 | #609=VERTEX_POINT('',#1706);
629 | #610=VERTEX_POINT('',#1708);
630 | #611=VERTEX_POINT('',#1710);
631 | #612=VERTEX_POINT('',#1712);
632 | #613=VERTEX_POINT('',#1714);
633 | #614=VERTEX_POINT('',#1716);
634 | #615=VERTEX_POINT('',#1718);
635 | #616=VERTEX_POINT('',#1720);
636 | #617=VERTEX_POINT('',#1722);
637 | #618=VERTEX_POINT('',#1724);
638 | #619=VERTEX_POINT('',#1726);
639 | #620=VERTEX_POINT('',#1754);
640 | #621=VERTEX_POINT('',#1756);
641 | #622=VERTEX_POINT('',#1760);
642 | #623=VERTEX_POINT('',#1764);
643 | #624=VERTEX_POINT('',#1768);
644 | #625=VERTEX_POINT('',#1772);
645 | #626=VERTEX_POINT('',#1776);
646 | #627=VERTEX_POINT('',#1780);
647 | #628=VERTEX_POINT('',#1784);
648 | #629=VERTEX_POINT('',#1788);
649 | #630=VERTEX_POINT('',#1792);
650 | #631=VERTEX_POINT('',#1796);
651 | #632=VERTEX_POINT('',#1826);
652 | #633=VERTEX_POINT('',#1827);
653 | #634=VERTEX_POINT('',#1829);
654 | #635=VERTEX_POINT('',#1832);
655 | #636=VERTEX_POINT('',#1836);
656 | #637=VERTEX_POINT('',#1840);
657 | #638=VERTEX_POINT('',#1844);
658 | #639=VERTEX_POINT('',#1846);
659 | #640=VERTEX_POINT('',#1850);
660 | #641=VERTEX_POINT('',#1851);
661 | #642=VERTEX_POINT('',#1853);
662 | #643=VERTEX_POINT('',#1856);
663 | #644=VERTEX_POINT('',#1860);
664 | #645=VERTEX_POINT('',#1864);
665 | #646=VERTEX_POINT('',#1866);
666 | #647=VERTEX_POINT('',#1868);
667 | #648=LINE('',#1566,#760);
668 | #649=LINE('',#1569,#761);
669 | #650=LINE('',#1571,#762);
670 | #651=LINE('',#1573,#763);
671 | #652=LINE('',#1577,#764);
672 | #653=LINE('',#1581,#765);
673 | #654=LINE('',#1585,#766);
674 | #655=LINE('',#1589,#767);
675 | #656=LINE('',#1593,#768);
676 | #657=LINE('',#1597,#769);
677 | #658=LINE('',#1598,#770);
678 | #659=LINE('',#1601,#771);
679 | #660=LINE('',#1603,#772);
680 | #661=LINE('',#1605,#773);
681 | #662=LINE('',#1607,#774);
682 | #663=LINE('',#1610,#775);
683 | #664=LINE('',#1612,#776);
684 | #665=LINE('',#1614,#777);
685 | #666=LINE('',#1618,#778);
686 | #667=LINE('',#1622,#779);
687 | #668=LINE('',#1624,#780);
688 | #669=LINE('',#1626,#781);
689 | #670=LINE('',#1630,#782);
690 | #671=LINE('',#1634,#783);
691 | #672=LINE('',#1636,#784);
692 | #673=LINE('',#1638,#785);
693 | #674=LINE('',#1642,#786);
694 | #675=LINE('',#1646,#787);
695 | #676=LINE('',#1648,#788);
696 | #677=LINE('',#1650,#789);
697 | #678=LINE('',#1654,#790);
698 | #679=LINE('',#1658,#791);
699 | #680=LINE('',#1660,#792);
700 | #681=LINE('',#1662,#793);
701 | #682=LINE('',#1666,#794);
702 | #683=LINE('',#1670,#795);
703 | #684=LINE('',#1672,#796);
704 | #685=LINE('',#1674,#797);
705 | #686=LINE('',#1682,#798);
706 | #687=LINE('',#1686,#799);
707 | #688=LINE('',#1690,#800);
708 | #689=LINE('',#1694,#801);
709 | #690=LINE('',#1698,#802);
710 | #691=LINE('',#1702,#803);
711 | #692=LINE('',#1704,#804);
712 | #693=LINE('',#1709,#805);
713 | #694=LINE('',#1713,#806);
714 | #695=LINE('',#1717,#807);
715 | #696=LINE('',#1721,#808);
716 | #697=LINE('',#1725,#809);
717 | #698=LINE('',#1729,#810);
718 | #699=LINE('',#1730,#811);
719 | #700=LINE('',#1732,#812);
720 | #701=LINE('',#1734,#813);
721 | #702=LINE('',#1736,#814);
722 | #703=LINE('',#1738,#815);
723 | #704=LINE('',#1740,#816);
724 | #705=LINE('',#1742,#817);
725 | #706=LINE('',#1744,#818);
726 | #707=LINE('',#1746,#819);
727 | #708=LINE('',#1748,#820);
728 | #709=LINE('',#1750,#821);
729 | #710=LINE('',#1753,#822);
730 | #711=LINE('',#1755,#823);
731 | #712=LINE('',#1757,#824);
732 | #713=LINE('',#1759,#825);
733 | #714=LINE('',#1763,#826);
734 | #715=LINE('',#1765,#827);
735 | #716=LINE('',#1767,#828);
736 | #717=LINE('',#1771,#829);
737 | #718=LINE('',#1773,#830);
738 | #719=LINE('',#1775,#831);
739 | #720=LINE('',#1779,#832);
740 | #721=LINE('',#1781,#833);
741 | #722=LINE('',#1783,#834);
742 | #723=LINE('',#1787,#835);
743 | #724=LINE('',#1789,#836);
744 | #725=LINE('',#1791,#837);
745 | #726=LINE('',#1795,#838);
746 | #727=LINE('',#1797,#839);
747 | #728=LINE('',#1801,#840);
748 | #729=LINE('',#1802,#841);
749 | #730=LINE('',#1804,#842);
750 | #731=LINE('',#1806,#843);
751 | #732=LINE('',#1808,#844);
752 | #733=LINE('',#1810,#845);
753 | #734=LINE('',#1812,#846);
754 | #735=LINE('',#1814,#847);
755 | #736=LINE('',#1816,#848);
756 | #737=LINE('',#1818,#849);
757 | #738=LINE('',#1820,#850);
758 | #739=LINE('',#1822,#851);
759 | #740=LINE('',#1825,#852);
760 | #741=LINE('',#1830,#853);
761 | #742=LINE('',#1831,#854);
762 | #743=LINE('',#1835,#855);
763 | #744=LINE('',#1837,#856);
764 | #745=LINE('',#1839,#857);
765 | #746=LINE('',#1841,#858);
766 | #747=LINE('',#1845,#859);
767 | #748=LINE('',#1849,#860);
768 | #749=LINE('',#1854,#861);
769 | #750=LINE('',#1855,#862);
770 | #751=LINE('',#1859,#863);
771 | #752=LINE('',#1861,#864);
772 | #753=LINE('',#1865,#865);
773 | #754=LINE('',#1869,#866);
774 | #755=LINE('',#1871,#867);
775 | #756=LINE('',#1873,#868);
776 | #757=LINE('',#1874,#869);
777 | #758=LINE('',#1876,#870);
778 | #759=LINE('',#1877,#871);
779 | #760=VECTOR('',#1236,1.);
780 | #761=VECTOR('',#1237,1.);
781 | #762=VECTOR('',#1238,1.);
782 | #763=VECTOR('',#1239,1.);
783 | #764=VECTOR('',#1242,1.);
784 | #765=VECTOR('',#1245,1.);
785 | #766=VECTOR('',#1248,1.);
786 | #767=VECTOR('',#1251,1.);
787 | #768=VECTOR('',#1254,1.);
788 | #769=VECTOR('',#1257,1.);
789 | #770=VECTOR('',#1258,1.);
790 | #771=VECTOR('',#1259,1.);
791 | #772=VECTOR('',#1260,1.);
792 | #773=VECTOR('',#1261,1.);
793 | #774=VECTOR('',#1264,1.);
794 | #775=VECTOR('',#1265,1.);
795 | #776=VECTOR('',#1266,1.);
796 | #777=VECTOR('',#1267,1.);
797 | #778=VECTOR('',#1272,1.);
798 | #779=VECTOR('',#1277,1.);
799 | #780=VECTOR('',#1278,1.);
800 | #781=VECTOR('',#1279,1.);
801 | #782=VECTOR('',#1284,1.);
802 | #783=VECTOR('',#1289,1.);
803 | #784=VECTOR('',#1290,1.);
804 | #785=VECTOR('',#1291,1.);
805 | #786=VECTOR('',#1296,1.);
806 | #787=VECTOR('',#1301,1.);
807 | #788=VECTOR('',#1302,1.);
808 | #789=VECTOR('',#1303,1.);
809 | #790=VECTOR('',#1308,1.);
810 | #791=VECTOR('',#1313,1.);
811 | #792=VECTOR('',#1314,1.);
812 | #793=VECTOR('',#1315,1.);
813 | #794=VECTOR('',#1320,1.);
814 | #795=VECTOR('',#1325,1.);
815 | #796=VECTOR('',#1326,1.);
816 | #797=VECTOR('',#1327,1.);
817 | #798=VECTOR('',#1338,1.);
818 | #799=VECTOR('',#1341,1.);
819 | #800=VECTOR('',#1344,1.);
820 | #801=VECTOR('',#1347,1.);
821 | #802=VECTOR('',#1350,1.);
822 | #803=VECTOR('',#1353,1.);
823 | #804=VECTOR('',#1356,1.);
824 | #805=VECTOR('',#1359,1.);
825 | #806=VECTOR('',#1362,1.);
826 | #807=VECTOR('',#1365,1.);
827 | #808=VECTOR('',#1368,1.);
828 | #809=VECTOR('',#1371,1.);
829 | #810=VECTOR('',#1376,1.);
830 | #811=VECTOR('',#1377,1.);
831 | #812=VECTOR('',#1380,1.);
832 | #813=VECTOR('',#1383,1.);
833 | #814=VECTOR('',#1386,1.);
834 | #815=VECTOR('',#1389,1.);
835 | #816=VECTOR('',#1392,1.);
836 | #817=VECTOR('',#1395,1.);
837 | #818=VECTOR('',#1398,1.);
838 | #819=VECTOR('',#1401,1.);
839 | #820=VECTOR('',#1404,1.);
840 | #821=VECTOR('',#1407,1.);
841 | #822=VECTOR('',#1412,1.);
842 | #823=VECTOR('',#1413,1.);
843 | #824=VECTOR('',#1414,1.);
844 | #825=VECTOR('',#1417,1.);
845 | #826=VECTOR('',#1422,1.);
846 | #827=VECTOR('',#1423,1.);
847 | #828=VECTOR('',#1426,1.);
848 | #829=VECTOR('',#1431,1.);
849 | #830=VECTOR('',#1432,1.);
850 | #831=VECTOR('',#1435,1.);
851 | #832=VECTOR('',#1440,1.);
852 | #833=VECTOR('',#1441,1.);
853 | #834=VECTOR('',#1444,1.);
854 | #835=VECTOR('',#1449,1.);
855 | #836=VECTOR('',#1450,1.);
856 | #837=VECTOR('',#1453,1.);
857 | #838=VECTOR('',#1458,1.);
858 | #839=VECTOR('',#1459,1.);
859 | #840=VECTOR('',#1466,1.);
860 | #841=VECTOR('',#1467,1.);
861 | #842=VECTOR('',#1470,1.);
862 | #843=VECTOR('',#1473,1.);
863 | #844=VECTOR('',#1476,1.);
864 | #845=VECTOR('',#1479,1.);
865 | #846=VECTOR('',#1482,1.);
866 | #847=VECTOR('',#1485,1.);
867 | #848=VECTOR('',#1488,1.);
868 | #849=VECTOR('',#1491,1.);
869 | #850=VECTOR('',#1494,1.);
870 | #851=VECTOR('',#1497,1.);
871 | #852=VECTOR('',#1502,1.);
872 | #853=VECTOR('',#1505,1.);
873 | #854=VECTOR('',#1506,1.);
874 | #855=VECTOR('',#1511,1.);
875 | #856=VECTOR('',#1512,1.);
876 | #857=VECTOR('',#1515,1.);
877 | #858=VECTOR('',#1516,1.);
878 | #859=VECTOR('',#1521,1.);
879 | #860=VECTOR('',#1526,1.);
880 | #861=VECTOR('',#1529,1.);
881 | #862=VECTOR('',#1530,1.);
882 | #863=VECTOR('',#1535,1.);
883 | #864=VECTOR('',#1536,1.);
884 | #865=VECTOR('',#1541,1.);
885 | #866=VECTOR('',#1544,1.);
886 | #867=VECTOR('',#1547,1.);
887 | #868=VECTOR('',#1550,1.);
888 | #869=VECTOR('',#1551,1.);
889 | #870=VECTOR('',#1554,1.);
890 | #871=VECTOR('',#1555,1.);
891 | #872=EDGE_LOOP('',(#84,#85,#86,#87));
892 | #873=EDGE_LOOP('',(#88,#89,#90,#91,#92,#93,#94,#95,#96,#97,#98,#99));
893 | #874=EDGE_LOOP('',(#100,#101,#102,#103));
894 | #875=EDGE_LOOP('',(#104,#105,#106,#107));
895 | #876=EDGE_LOOP('',(#108,#109,#110,#111));
896 | #877=EDGE_LOOP('',(#112,#113,#114,#115));
897 | #878=EDGE_LOOP('',(#116,#117,#118,#119));
898 | #879=EDGE_LOOP('',(#120,#121,#122,#123));
899 | #880=EDGE_LOOP('',(#124,#125,#126,#127));
900 | #881=EDGE_LOOP('',(#128,#129,#130,#131));
901 | #882=EDGE_LOOP('',(#132,#133,#134,#135));
902 | #883=EDGE_LOOP('',(#136,#137,#138,#139));
903 | #884=EDGE_LOOP('',(#140,#141,#142,#143));
904 | #885=EDGE_LOOP('',(#144,#145,#146,#147));
905 | #886=EDGE_LOOP('',(#148,#149,#150,#151));
906 | #887=EDGE_LOOP('',(#152,#153,#154,#155,#156,#157,#158,#159,#160,#161,#162,
907 | #163));
908 | #888=EDGE_LOOP('',(#164,#165,#166,#167,#168,#169,#170,#171,#172,#173,#174,
909 | #175));
910 | #889=EDGE_LOOP('',(#176,#177,#178,#179,#180,#181,#182,#183,#184,#185,#186,
911 | #187));
912 | #890=EDGE_LOOP('',(#188,#189,#190,#191));
913 | #891=EDGE_LOOP('',(#192,#193,#194,#195));
914 | #892=EDGE_LOOP('',(#196,#197,#198,#199));
915 | #893=EDGE_LOOP('',(#200,#201,#202,#203));
916 | #894=EDGE_LOOP('',(#204,#205,#206,#207));
917 | #895=EDGE_LOOP('',(#208,#209,#210,#211));
918 | #896=EDGE_LOOP('',(#212,#213,#214,#215));
919 | #897=EDGE_LOOP('',(#216,#217,#218,#219));
920 | #898=EDGE_LOOP('',(#220,#221,#222,#223));
921 | #899=EDGE_LOOP('',(#224,#225,#226,#227));
922 | #900=EDGE_LOOP('',(#228,#229,#230,#231));
923 | #901=EDGE_LOOP('',(#232,#233,#234,#235));
924 | #902=EDGE_LOOP('',(#236,#237,#238,#239));
925 | #903=EDGE_LOOP('',(#240,#241,#242,#243));
926 | #904=EDGE_LOOP('',(#244,#245,#246,#247));
927 | #905=EDGE_LOOP('',(#248,#249,#250,#251));
928 | #906=EDGE_LOOP('',(#252,#253,#254,#255));
929 | #907=EDGE_LOOP('',(#256,#257,#258,#259));
930 | #908=EDGE_LOOP('',(#260,#261,#262,#263));
931 | #909=EDGE_LOOP('',(#264,#265,#266,#267));
932 | #910=EDGE_LOOP('',(#268,#269,#270,#271));
933 | #911=EDGE_LOOP('',(#272,#273,#274,#275));
934 | #912=EDGE_LOOP('',(#276,#277,#278,#279));
935 | #913=EDGE_LOOP('',(#280,#281,#282,#283));
936 | #914=EDGE_LOOP('',(#284,#285,#286,#287));
937 | #915=EDGE_LOOP('',(#288,#289,#290,#291));
938 | #916=EDGE_LOOP('',(#292,#293,#294,#295));
939 | #917=EDGE_LOOP('',(#296,#297,#298,#299));
940 | #918=EDGE_LOOP('',(#300,#301,#302,#303));
941 | #919=EDGE_LOOP('',(#304,#305,#306,#307));
942 | #920=EDGE_LOOP('',(#308,#309,#310,#311));
943 | #921=EDGE_LOOP('',(#312,#313,#314,#315));
944 | #922=EDGE_LOOP('',(#316,#317,#318,#319));
945 | #923=EDGE_LOOP('',(#320,#321,#322,#323));
946 | #924=EDGE_LOOP('',(#324,#325,#326,#327));
947 | #925=EDGE_LOOP('',(#328,#329,#330,#331));
948 | #926=EDGE_LOOP('',(#332,#333,#334,#335,#336,#337));
949 | #927=EDGE_LOOP('',(#338,#339,#340,#341));
950 | #928=EDGE_LOOP('',(#342,#343,#344,#345));
951 | #929=EDGE_LOOP('',(#346,#347,#348,#349,#350,#351));
952 | #930=EDGE_LOOP('',(#352,#353,#354,#355,#356,#357));
953 | #931=EDGE_LOOP('',(#358,#359,#360,#361));
954 | #932=EDGE_LOOP('',(#362,#363,#364,#365,#366,#367));
955 | #933=EDGE_LOOP('',(#368,#369,#370,#371));
956 | #934=EDGE_LOOP('',(#372,#373,#374,#375));
957 | #935=EDGE_LOOP('',(#376,#377,#378,#379));
958 | #936=EDGE_LOOP('',(#380,#381,#382,#383));
959 | #937=EDGE_LOOP('',(#384,#385,#386,#387));
960 | #938=EDGE_LOOP('',(#388,#389,#390,#391));
961 | #939=EDGE_LOOP('',(#392,#393,#394,#395));
962 | #940=FACE_BOUND('',#872,.T.);
963 | #941=FACE_BOUND('',#873,.T.);
964 | #942=FACE_BOUND('',#874,.T.);
965 | #943=FACE_BOUND('',#875,.T.);
966 | #944=FACE_BOUND('',#876,.T.);
967 | #945=FACE_BOUND('',#877,.T.);
968 | #946=FACE_BOUND('',#878,.T.);
969 | #947=FACE_BOUND('',#879,.T.);
970 | #948=FACE_BOUND('',#880,.T.);
971 | #949=FACE_BOUND('',#881,.T.);
972 | #950=FACE_BOUND('',#882,.T.);
973 | #951=FACE_BOUND('',#883,.T.);
974 | #952=FACE_BOUND('',#884,.T.);
975 | #953=FACE_BOUND('',#885,.T.);
976 | #954=FACE_BOUND('',#886,.T.);
977 | #955=FACE_BOUND('',#887,.T.);
978 | #956=FACE_BOUND('',#888,.T.);
979 | #957=FACE_BOUND('',#889,.T.);
980 | #958=FACE_BOUND('',#890,.T.);
981 | #959=FACE_BOUND('',#891,.T.);
982 | #960=FACE_BOUND('',#892,.T.);
983 | #961=FACE_BOUND('',#893,.T.);
984 | #962=FACE_BOUND('',#894,.T.);
985 | #963=FACE_BOUND('',#895,.T.);
986 | #964=FACE_BOUND('',#896,.T.);
987 | #965=FACE_BOUND('',#897,.T.);
988 | #966=FACE_BOUND('',#898,.T.);
989 | #967=FACE_BOUND('',#899,.T.);
990 | #968=FACE_BOUND('',#900,.T.);
991 | #969=FACE_BOUND('',#901,.T.);
992 | #970=FACE_BOUND('',#902,.T.);
993 | #971=FACE_BOUND('',#903,.T.);
994 | #972=FACE_BOUND('',#904,.T.);
995 | #973=FACE_BOUND('',#905,.T.);
996 | #974=FACE_BOUND('',#906,.T.);
997 | #975=FACE_BOUND('',#907,.T.);
998 | #976=FACE_BOUND('',#908,.T.);
999 | #977=FACE_BOUND('',#909,.T.);
1000 | #978=FACE_BOUND('',#910,.T.);
1001 | #979=FACE_BOUND('',#911,.T.);
1002 | #980=FACE_BOUND('',#912,.T.);
1003 | #981=FACE_BOUND('',#913,.T.);
1004 | #982=FACE_BOUND('',#914,.T.);
1005 | #983=FACE_BOUND('',#915,.T.);
1006 | #984=FACE_BOUND('',#916,.T.);
1007 | #985=FACE_BOUND('',#917,.T.);
1008 | #986=FACE_BOUND('',#918,.T.);
1009 | #987=FACE_BOUND('',#919,.T.);
1010 | #988=FACE_BOUND('',#920,.T.);
1011 | #989=FACE_BOUND('',#921,.T.);
1012 | #990=FACE_BOUND('',#922,.T.);
1013 | #991=FACE_BOUND('',#923,.T.);
1014 | #992=FACE_BOUND('',#924,.T.);
1015 | #993=FACE_BOUND('',#925,.T.);
1016 | #994=FACE_BOUND('',#926,.T.);
1017 | #995=FACE_BOUND('',#927,.T.);
1018 | #996=FACE_BOUND('',#928,.T.);
1019 | #997=FACE_BOUND('',#929,.T.);
1020 | #998=FACE_BOUND('',#930,.T.);
1021 | #999=FACE_BOUND('',#931,.T.);
1022 | #1000=FACE_BOUND('',#932,.T.);
1023 | #1001=FACE_BOUND('',#933,.T.);
1024 | #1002=FACE_BOUND('',#934,.T.);
1025 | #1003=FACE_BOUND('',#935,.T.);
1026 | #1004=FACE_BOUND('',#936,.T.);
1027 | #1005=FACE_BOUND('',#937,.T.);
1028 | #1006=FACE_BOUND('',#938,.T.);
1029 | #1007=FACE_BOUND('',#939,.T.);
1030 | #1008=PLANE('',#1123);
1031 | #1009=PLANE('',#1130);
1032 | #1010=PLANE('',#1134);
1033 | #1011=PLANE('',#1138);
1034 | #1012=PLANE('',#1142);
1035 | #1013=PLANE('',#1146);
1036 | #1014=PLANE('',#1150);
1037 | #1015=PLANE('',#1154);
1038 | #1016=PLANE('',#1161);
1039 | #1017=PLANE('',#1169);
1040 | #1018=PLANE('',#1170);
1041 | #1019=PLANE('',#1173);
1042 | #1020=PLANE('',#1174);
1043 | #1021=PLANE('',#1177);
1044 | #1022=PLANE('',#1178);
1045 | #1023=PLANE('',#1180);
1046 | #1024=PLANE('',#1183);
1047 | #1025=PLANE('',#1186);
1048 | #1026=PLANE('',#1189);
1049 | #1027=PLANE('',#1192);
1050 | #1028=PLANE('',#1195);
1051 | #1029=PLANE('',#1199);
1052 | #1030=PLANE('',#1200);
1053 | #1031=PLANE('',#1203);
1054 | #1032=PLANE('',#1204);
1055 | #1033=PLANE('',#1207);
1056 | #1034=PLANE('',#1208);
1057 | #1035=PLANE('',#1210);
1058 | #1036=PLANE('',#1213);
1059 | #1037=PLANE('',#1214);
1060 | #1038=PLANE('',#1215);
1061 | #1039=PLANE('',#1218);
1062 | #1040=PLANE('',#1221);
1063 | #1041=PLANE('',#1222);
1064 | #1042=PLANE('',#1225);
1065 | #1043=PLANE('',#1226);
1066 | #1044=PLANE('',#1227);
1067 | #1045=ADVANCED_FACE('',(#940,#941,#942),#1008,.T.);
1068 | #1046=ADVANCED_FACE('',(#943),#1009,.T.);
1069 | #1047=ADVANCED_FACE('',(#944),#24,.T.);
1070 | #1048=ADVANCED_FACE('',(#945),#1010,.T.);
1071 | #1049=ADVANCED_FACE('',(#946),#25,.T.);
1072 | #1050=ADVANCED_FACE('',(#947),#1011,.T.);
1073 | #1051=ADVANCED_FACE('',(#948),#26,.T.);
1074 | #1052=ADVANCED_FACE('',(#949),#1012,.T.);
1075 | #1053=ADVANCED_FACE('',(#950),#27,.T.);
1076 | #1054=ADVANCED_FACE('',(#951),#1013,.T.);
1077 | #1055=ADVANCED_FACE('',(#952),#28,.T.);
1078 | #1056=ADVANCED_FACE('',(#953),#1014,.T.);
1079 | #1057=ADVANCED_FACE('',(#954),#29,.T.);
1080 | #1058=ADVANCED_FACE('',(#955),#1015,.F.);
1081 | #1059=ADVANCED_FACE('',(#956,#957),#1016,.T.);
1082 | #1060=ADVANCED_FACE('',(#958),#12,.T.);
1083 | #1061=ADVANCED_FACE('',(#959),#1017,.T.);
1084 | #1062=ADVANCED_FACE('',(#960),#1018,.T.);
1085 | #1063=ADVANCED_FACE('',(#961),#13,.T.);
1086 | #1064=ADVANCED_FACE('',(#962),#14,.T.);
1087 | #1065=ADVANCED_FACE('',(#963),#1019,.T.);
1088 | #1066=ADVANCED_FACE('',(#964),#1020,.T.);
1089 | #1067=ADVANCED_FACE('',(#965),#15,.T.);
1090 | #1068=ADVANCED_FACE('',(#966),#16,.T.);
1091 | #1069=ADVANCED_FACE('',(#967),#1021,.T.);
1092 | #1070=ADVANCED_FACE('',(#968),#1022,.T.);
1093 | #1071=ADVANCED_FACE('',(#969),#17,.T.);
1094 | #1072=ADVANCED_FACE('',(#970),#1023,.F.);
1095 | #1073=ADVANCED_FACE('',(#971),#30,.F.);
1096 | #1074=ADVANCED_FACE('',(#972),#1024,.F.);
1097 | #1075=ADVANCED_FACE('',(#973),#31,.F.);
1098 | #1076=ADVANCED_FACE('',(#974),#1025,.F.);
1099 | #1077=ADVANCED_FACE('',(#975),#32,.F.);
1100 | #1078=ADVANCED_FACE('',(#976),#1026,.F.);
1101 | #1079=ADVANCED_FACE('',(#977),#33,.F.);
1102 | #1080=ADVANCED_FACE('',(#978),#1027,.F.);
1103 | #1081=ADVANCED_FACE('',(#979),#34,.F.);
1104 | #1082=ADVANCED_FACE('',(#980),#1028,.F.);
1105 | #1083=ADVANCED_FACE('',(#981),#35,.F.);
1106 | #1084=ADVANCED_FACE('',(#982),#18,.F.);
1107 | #1085=ADVANCED_FACE('',(#983),#1029,.F.);
1108 | #1086=ADVANCED_FACE('',(#984),#1030,.F.);
1109 | #1087=ADVANCED_FACE('',(#985),#19,.F.);
1110 | #1088=ADVANCED_FACE('',(#986),#20,.F.);
1111 | #1089=ADVANCED_FACE('',(#987),#1031,.F.);
1112 | #1090=ADVANCED_FACE('',(#988),#1032,.F.);
1113 | #1091=ADVANCED_FACE('',(#989),#21,.F.);
1114 | #1092=ADVANCED_FACE('',(#990),#22,.F.);
1115 | #1093=ADVANCED_FACE('',(#991),#1033,.F.);
1116 | #1094=ADVANCED_FACE('',(#992),#1034,.F.);
1117 | #1095=ADVANCED_FACE('',(#993),#23,.F.);
1118 | #1096=ADVANCED_FACE('',(#994),#1035,.F.);
1119 | #1097=ADVANCED_FACE('',(#995),#1036,.T.);
1120 | #1098=ADVANCED_FACE('',(#996),#1037,.F.);
1121 | #1099=ADVANCED_FACE('',(#997),#1038,.T.);
1122 | #1100=ADVANCED_FACE('',(#998),#1039,.T.);
1123 | #1101=ADVANCED_FACE('',(#999),#1040,.T.);
1124 | #1102=ADVANCED_FACE('',(#1000),#1041,.F.);
1125 | #1103=ADVANCED_FACE('',(#1001),#1042,.F.);
1126 | #1104=ADVANCED_FACE('',(#1002),#1043,.T.);
1127 | #1105=ADVANCED_FACE('',(#1003),#1044,.T.);
1128 | #1106=ADVANCED_FACE('',(#1004),#36,.T.);
1129 | #1107=ADVANCED_FACE('',(#1005),#37,.T.);
1130 | #1108=ADVANCED_FACE('',(#1006),#38,.T.);
1131 | #1109=ADVANCED_FACE('',(#1007),#39,.T.);
1132 | #1110=CLOSED_SHELL('',(#1045,#1046,#1047,#1048,#1049,#1050,#1051,#1052,
1133 | #1053,#1054,#1055,#1056,#1057,#1058,#1059,#1060,#1061,#1062,#1063,#1064,
1134 | #1065,#1066,#1067,#1068,#1069,#1070,#1071,#1072,#1073,#1074,#1075,#1076,
1135 | #1077,#1078,#1079,#1080,#1081,#1082,#1083,#1084,#1085,#1086,#1087,#1088,
1136 | #1089,#1090,#1091,#1092,#1093,#1094,#1095,#1096,#1097,#1098,#1099,#1100,
1137 | #1101,#1102,#1103,#1104,#1105,#1106,#1107,#1108,#1109));
1138 | #1111=STYLED_ITEM('',(#1112),#1119);
1139 | #1112=PRESENTATION_STYLE_ASSIGNMENT((#1113));
1140 | #1113=SURFACE_STYLE_USAGE(.BOTH.,#1114);
1141 | #1114=SURFACE_SIDE_STYLE('',(#1115));
1142 | #1115=SURFACE_STYLE_FILL_AREA(#1116);
1143 | #1116=FILL_AREA_STYLE('',(#1117));
1144 | #1117=FILL_AREA_STYLE_COLOUR('',#1118);
1145 | #1118=COLOUR_RGB('',0.615686274509804,0.811764705882353,0.929411764705882);
1146 | #1119=MANIFOLD_SOLID_BREP('Part 1',#1110);
1147 | #1120=SHAPE_DEFINITION_REPRESENTATION(#1888,#1121);
1148 | #1121=SHAPE_REPRESENTATION('Part 1',(#1122),#1883);
1149 | #1122=AXIS2_PLACEMENT_3D('',#1564,#1232,#1233);
1150 | #1123=AXIS2_PLACEMENT_3D('',#1565,#1234,#1235);
1151 | #1124=AXIS2_PLACEMENT_3D('',#1574,#1240,#1241);
1152 | #1125=AXIS2_PLACEMENT_3D('',#1579,#1243,#1244);
1153 | #1126=AXIS2_PLACEMENT_3D('',#1583,#1246,#1247);
1154 | #1127=AXIS2_PLACEMENT_3D('',#1587,#1249,#1250);
1155 | #1128=AXIS2_PLACEMENT_3D('',#1591,#1252,#1253);
1156 | #1129=AXIS2_PLACEMENT_3D('',#1595,#1255,#1256);
1157 | #1130=AXIS2_PLACEMENT_3D('',#1606,#1262,#1263);
1158 | #1131=AXIS2_PLACEMENT_3D('',#1615,#1268,#1269);
1159 | #1132=AXIS2_PLACEMENT_3D('',#1616,#1270,#1271);
1160 | #1133=AXIS2_PLACEMENT_3D('',#1620,#1273,#1274);
1161 | #1134=AXIS2_PLACEMENT_3D('',#1621,#1275,#1276);
1162 | #1135=AXIS2_PLACEMENT_3D('',#1627,#1280,#1281);
1163 | #1136=AXIS2_PLACEMENT_3D('',#1628,#1282,#1283);
1164 | #1137=AXIS2_PLACEMENT_3D('',#1632,#1285,#1286);
1165 | #1138=AXIS2_PLACEMENT_3D('',#1633,#1287,#1288);
1166 | #1139=AXIS2_PLACEMENT_3D('',#1639,#1292,#1293);
1167 | #1140=AXIS2_PLACEMENT_3D('',#1640,#1294,#1295);
1168 | #1141=AXIS2_PLACEMENT_3D('',#1644,#1297,#1298);
1169 | #1142=AXIS2_PLACEMENT_3D('',#1645,#1299,#1300);
1170 | #1143=AXIS2_PLACEMENT_3D('',#1651,#1304,#1305);
1171 | #1144=AXIS2_PLACEMENT_3D('',#1652,#1306,#1307);
1172 | #1145=AXIS2_PLACEMENT_3D('',#1656,#1309,#1310);
1173 | #1146=AXIS2_PLACEMENT_3D('',#1657,#1311,#1312);
1174 | #1147=AXIS2_PLACEMENT_3D('',#1663,#1316,#1317);
1175 | #1148=AXIS2_PLACEMENT_3D('',#1664,#1318,#1319);
1176 | #1149=AXIS2_PLACEMENT_3D('',#1668,#1321,#1322);
1177 | #1150=AXIS2_PLACEMENT_3D('',#1669,#1323,#1324);
1178 | #1151=AXIS2_PLACEMENT_3D('',#1675,#1328,#1329);
1179 | #1152=AXIS2_PLACEMENT_3D('',#1676,#1330,#1331);
1180 | #1153=AXIS2_PLACEMENT_3D('',#1677,#1332,#1333);
1181 | #1154=AXIS2_PLACEMENT_3D('',#1678,#1334,#1335);
1182 | #1155=AXIS2_PLACEMENT_3D('',#1679,#1336,#1337);
1183 | #1156=AXIS2_PLACEMENT_3D('',#1684,#1339,#1340);
1184 | #1157=AXIS2_PLACEMENT_3D('',#1688,#1342,#1343);
1185 | #1158=AXIS2_PLACEMENT_3D('',#1692,#1345,#1346);
1186 | #1159=AXIS2_PLACEMENT_3D('',#1696,#1348,#1349);
1187 | #1160=AXIS2_PLACEMENT_3D('',#1700,#1351,#1352);
1188 | #1161=AXIS2_PLACEMENT_3D('',#1703,#1354,#1355);
1189 | #1162=AXIS2_PLACEMENT_3D('',#1707,#1357,#1358);
1190 | #1163=AXIS2_PLACEMENT_3D('',#1711,#1360,#1361);
1191 | #1164=AXIS2_PLACEMENT_3D('',#1715,#1363,#1364);
1192 | #1165=AXIS2_PLACEMENT_3D('',#1719,#1366,#1367);
1193 | #1166=AXIS2_PLACEMENT_3D('',#1723,#1369,#1370);
1194 | #1167=AXIS2_PLACEMENT_3D('',#1727,#1372,#1373);
1195 | #1168=AXIS2_PLACEMENT_3D('',#1728,#1374,#1375);
1196 | #1169=AXIS2_PLACEMENT_3D('',#1731,#1378,#1379);
1197 | #1170=AXIS2_PLACEMENT_3D('',#1733,#1381,#1382);
1198 | #1171=AXIS2_PLACEMENT_3D('',#1735,#1384,#1385);
1199 | #1172=AXIS2_PLACEMENT_3D('',#1737,#1387,#1388);
1200 | #1173=AXIS2_PLACEMENT_3D('',#1739,#1390,#1391);
1201 | #1174=AXIS2_PLACEMENT_3D('',#1741,#1393,#1394);
1202 | #1175=AXIS2_PLACEMENT_3D('',#1743,#1396,#1397);
1203 | #1176=AXIS2_PLACEMENT_3D('',#1745,#1399,#1400);
1204 | #1177=AXIS2_PLACEMENT_3D('',#1747,#1402,#1403);
1205 | #1178=AXIS2_PLACEMENT_3D('',#1749,#1405,#1406);
1206 | #1179=AXIS2_PLACEMENT_3D('',#1751,#1408,#1409);
1207 | #1180=AXIS2_PLACEMENT_3D('',#1752,#1410,#1411);
1208 | #1181=AXIS2_PLACEMENT_3D('',#1758,#1415,#1416);
1209 | #1182=AXIS2_PLACEMENT_3D('',#1761,#1418,#1419);
1210 | #1183=AXIS2_PLACEMENT_3D('',#1762,#1420,#1421);
1211 | #1184=AXIS2_PLACEMENT_3D('',#1766,#1424,#1425);
1212 | #1185=AXIS2_PLACEMENT_3D('',#1769,#1427,#1428);
1213 | #1186=AXIS2_PLACEMENT_3D('',#1770,#1429,#1430);
1214 | #1187=AXIS2_PLACEMENT_3D('',#1774,#1433,#1434);
1215 | #1188=AXIS2_PLACEMENT_3D('',#1777,#1436,#1437);
1216 | #1189=AXIS2_PLACEMENT_3D('',#1778,#1438,#1439);
1217 | #1190=AXIS2_PLACEMENT_3D('',#1782,#1442,#1443);
1218 | #1191=AXIS2_PLACEMENT_3D('',#1785,#1445,#1446);
1219 | #1192=AXIS2_PLACEMENT_3D('',#1786,#1447,#1448);
1220 | #1193=AXIS2_PLACEMENT_3D('',#1790,#1451,#1452);
1221 | #1194=AXIS2_PLACEMENT_3D('',#1793,#1454,#1455);
1222 | #1195=AXIS2_PLACEMENT_3D('',#1794,#1456,#1457);
1223 | #1196=AXIS2_PLACEMENT_3D('',#1798,#1460,#1461);
1224 | #1197=AXIS2_PLACEMENT_3D('',#1799,#1462,#1463);
1225 | #1198=AXIS2_PLACEMENT_3D('',#1800,#1464,#1465);
1226 | #1199=AXIS2_PLACEMENT_3D('',#1803,#1468,#1469);
1227 | #1200=AXIS2_PLACEMENT_3D('',#1805,#1471,#1472);
1228 | #1201=AXIS2_PLACEMENT_3D('',#1807,#1474,#1475);
1229 | #1202=AXIS2_PLACEMENT_3D('',#1809,#1477,#1478);
1230 | #1203=AXIS2_PLACEMENT_3D('',#1811,#1480,#1481);
1231 | #1204=AXIS2_PLACEMENT_3D('',#1813,#1483,#1484);
1232 | #1205=AXIS2_PLACEMENT_3D('',#1815,#1486,#1487);
1233 | #1206=AXIS2_PLACEMENT_3D('',#1817,#1489,#1490);
1234 | #1207=AXIS2_PLACEMENT_3D('',#1819,#1492,#1493);
1235 | #1208=AXIS2_PLACEMENT_3D('',#1821,#1495,#1496);
1236 | #1209=AXIS2_PLACEMENT_3D('',#1823,#1498,#1499);
1237 | #1210=AXIS2_PLACEMENT_3D('',#1824,#1500,#1501);
1238 | #1211=AXIS2_PLACEMENT_3D('',#1828,#1503,#1504);
1239 | #1212=AXIS2_PLACEMENT_3D('',#1833,#1507,#1508);
1240 | #1213=AXIS2_PLACEMENT_3D('',#1834,#1509,#1510);
1241 | #1214=AXIS2_PLACEMENT_3D('',#1838,#1513,#1514);
1242 | #1215=AXIS2_PLACEMENT_3D('',#1842,#1517,#1518);
1243 | #1216=AXIS2_PLACEMENT_3D('',#1843,#1519,#1520);
1244 | #1217=AXIS2_PLACEMENT_3D('',#1847,#1522,#1523);
1245 | #1218=AXIS2_PLACEMENT_3D('',#1848,#1524,#1525);
1246 | #1219=AXIS2_PLACEMENT_3D('',#1852,#1527,#1528);
1247 | #1220=AXIS2_PLACEMENT_3D('',#1857,#1531,#1532);
1248 | #1221=AXIS2_PLACEMENT_3D('',#1858,#1533,#1534);
1249 | #1222=AXIS2_PLACEMENT_3D('',#1862,#1537,#1538);
1250 | #1223=AXIS2_PLACEMENT_3D('',#1863,#1539,#1540);
1251 | #1224=AXIS2_PLACEMENT_3D('',#1867,#1542,#1543);
1252 | #1225=AXIS2_PLACEMENT_3D('',#1870,#1545,#1546);
1253 | #1226=AXIS2_PLACEMENT_3D('',#1872,#1548,#1549);
1254 | #1227=AXIS2_PLACEMENT_3D('',#1875,#1552,#1553);
1255 | #1228=AXIS2_PLACEMENT_3D('',#1878,#1556,#1557);
1256 | #1229=AXIS2_PLACEMENT_3D('',#1879,#1558,#1559);
1257 | #1230=AXIS2_PLACEMENT_3D('',#1880,#1560,#1561);
1258 | #1231=AXIS2_PLACEMENT_3D('',#1881,#1562,#1563);
1259 | #1232=DIRECTION('',(0.,0.,1.));
1260 | #1233=DIRECTION('',(1.,0.,0.));
1261 | #1234=DIRECTION('',(0.,0.,1.));
1262 | #1235=DIRECTION('',(1.,0.,0.));
1263 | #1236=DIRECTION('',(0.,1.,0.));
1264 | #1237=DIRECTION('',(-1.,3.61400724161835E-16,0.));
1265 | #1238=DIRECTION('',(0.,1.,0.));
1266 | #1239=DIRECTION('',(-1.,0.,0.));
1267 | #1240=DIRECTION('',(0.,0.,1.));
1268 | #1241=DIRECTION('',(1.,0.,0.));
1269 | #1242=DIRECTION('',(-0.866025403784438,0.5,0.));
1270 | #1243=DIRECTION('',(0.,0.,1.));
1271 | #1244=DIRECTION('',(1.,0.,0.));
1272 | #1245=DIRECTION('',(-0.866025403784439,-0.5,0.));
1273 | #1246=DIRECTION('',(0.,0.,1.));
1274 | #1247=DIRECTION('',(1.,0.,0.));
1275 | #1248=DIRECTION('',(0.,-1.,0.));
1276 | #1249=DIRECTION('',(0.,0.,1.));
1277 | #1250=DIRECTION('',(1.,0.,0.));
1278 | #1251=DIRECTION('',(0.866025403784439,-0.5,0.));
1279 | #1252=DIRECTION('',(0.,0.,1.));
1280 | #1253=DIRECTION('',(1.,0.,0.));
1281 | #1254=DIRECTION('',(0.866025403784439,0.5,0.));
1282 | #1255=DIRECTION('',(0.,0.,1.));
1283 | #1256=DIRECTION('',(1.,0.,0.));
1284 | #1257=DIRECTION('',(0.,1.,0.));
1285 | #1258=DIRECTION('',(0.,1.,0.));
1286 | #1259=DIRECTION('',(1.,0.,0.));
1287 | #1260=DIRECTION('',(0.,1.,0.));
1288 | #1261=DIRECTION('',(1.,0.,0.));
1289 | #1262=DIRECTION('',(-1.,0.,0.));
1290 | #1263=DIRECTION('',(0.,0.,1.));
1291 | #1264=DIRECTION('',(0.,0.,1.));
1292 | #1265=DIRECTION('',(0.,-1.,0.));
1293 | #1266=DIRECTION('',(0.,0.,1.));
1294 | #1267=DIRECTION('',(0.,-1.,0.));
1295 | #1268=DIRECTION('',(0.,0.,1.));
1296 | #1269=DIRECTION('',(1.,0.,0.));
1297 | #1270=DIRECTION('',(0.,0.,1.));
1298 | #1271=DIRECTION('',(1.,0.,0.));
1299 | #1272=DIRECTION('',(0.,0.,1.));
1300 | #1273=DIRECTION('',(0.,0.,1.));
1301 | #1274=DIRECTION('',(1.,0.,0.));
1302 | #1275=DIRECTION('',(-0.5,-0.866025403784439,0.));
1303 | #1276=DIRECTION('',(0.866025403784439,-0.5,0.));
1304 | #1277=DIRECTION('',(0.866025403784439,-0.5,0.));
1305 | #1278=DIRECTION('',(0.,0.,1.));
1306 | #1279=DIRECTION('',(0.866025403784438,-0.5,0.));
1307 | #1280=DIRECTION('',(0.,0.,1.));
1308 | #1281=DIRECTION('',(1.,0.,0.));
1309 | #1282=DIRECTION('',(0.,0.,1.));
1310 | #1283=DIRECTION('',(1.,0.,0.));
1311 | #1284=DIRECTION('',(0.,0.,1.));
1312 | #1285=DIRECTION('',(0.,0.,1.));
1313 | #1286=DIRECTION('',(1.,0.,0.));
1314 | #1287=DIRECTION('',(0.5,-0.866025403784439,0.));
1315 | #1288=DIRECTION('',(0.866025403784439,0.5,0.));
1316 | #1289=DIRECTION('',(0.866025403784439,0.5,0.));
1317 | #1290=DIRECTION('',(0.,0.,1.));
1318 | #1291=DIRECTION('',(0.866025403784439,0.5,0.));
1319 | #1292=DIRECTION('',(0.,0.,1.));
1320 | #1293=DIRECTION('',(1.,0.,0.));
1321 | #1294=DIRECTION('',(0.,0.,1.));
1322 | #1295=DIRECTION('',(1.,0.,0.));
1323 | #1296=DIRECTION('',(0.,0.,1.));
1324 | #1297=DIRECTION('',(0.,0.,1.));
1325 | #1298=DIRECTION('',(1.,0.,0.));
1326 | #1299=DIRECTION('',(1.,0.,0.));
1327 | #1300=DIRECTION('',(0.,0.,-1.));
1328 | #1301=DIRECTION('',(0.,1.,0.));
1329 | #1302=DIRECTION('',(0.,0.,1.));
1330 | #1303=DIRECTION('',(0.,1.,0.));
1331 | #1304=DIRECTION('',(0.,0.,1.));
1332 | #1305=DIRECTION('',(1.,0.,0.));
1333 | #1306=DIRECTION('',(0.,0.,1.));
1334 | #1307=DIRECTION('',(1.,0.,0.));
1335 | #1308=DIRECTION('',(0.,0.,1.));
1336 | #1309=DIRECTION('',(0.,0.,1.));
1337 | #1310=DIRECTION('',(1.,0.,0.));
1338 | #1311=DIRECTION('',(0.5,0.866025403784439,0.));
1339 | #1312=DIRECTION('',(-0.866025403784439,0.5,0.));
1340 | #1313=DIRECTION('',(-0.866025403784439,0.5,0.));
1341 | #1314=DIRECTION('',(0.,0.,1.));
1342 | #1315=DIRECTION('',(-0.866025403784439,0.5,0.));
1343 | #1316=DIRECTION('',(0.,0.,1.));
1344 | #1317=DIRECTION('',(1.,0.,0.));
1345 | #1318=DIRECTION('',(0.,0.,1.));
1346 | #1319=DIRECTION('',(1.,0.,0.));
1347 | #1320=DIRECTION('',(0.,0.,1.));
1348 | #1321=DIRECTION('',(0.,0.,1.));
1349 | #1322=DIRECTION('',(1.,0.,0.));
1350 | #1323=DIRECTION('',(-0.5,0.866025403784439,0.));
1351 | #1324=DIRECTION('',(-0.866025403784439,-0.5,0.));
1352 | #1325=DIRECTION('',(-0.866025403784439,-0.5,0.));
1353 | #1326=DIRECTION('',(0.,0.,1.));
1354 | #1327=DIRECTION('',(-0.866025403784439,-0.5,0.));
1355 | #1328=DIRECTION('',(0.,0.,1.));
1356 | #1329=DIRECTION('',(1.,0.,0.));
1357 | #1330=DIRECTION('',(0.,0.,1.));
1358 | #1331=DIRECTION('',(1.,0.,0.));
1359 | #1332=DIRECTION('',(0.,0.,1.));
1360 | #1333=DIRECTION('',(1.,0.,0.));
1361 | #1334=DIRECTION('',(0.,0.,1.));
1362 | #1335=DIRECTION('',(1.,0.,0.));
1363 | #1336=DIRECTION('',(0.,0.,1.));
1364 | #1337=DIRECTION('',(1.,0.,0.));
1365 | #1338=DIRECTION('',(0.,1.,0.));
1366 | #1339=DIRECTION('',(0.,0.,1.));
1367 | #1340=DIRECTION('',(1.,0.,0.));
1368 | #1341=DIRECTION('',(0.866025403784439,0.5,0.));
1369 | #1342=DIRECTION('',(0.,0.,1.));
1370 | #1343=DIRECTION('',(1.,0.,0.));
1371 | #1344=DIRECTION('',(0.866025403784439,-0.5,0.));
1372 | #1345=DIRECTION('',(0.,0.,1.));
1373 | #1346=DIRECTION('',(1.,0.,0.));
1374 | #1347=DIRECTION('',(0.,-1.,0.));
1375 | #1348=DIRECTION('',(0.,0.,1.));
1376 | #1349=DIRECTION('',(1.,0.,0.));
1377 | #1350=DIRECTION('',(-0.866025403784439,-0.5,0.));
1378 | #1351=DIRECTION('',(0.,0.,1.));
1379 | #1352=DIRECTION('',(1.,0.,0.));
1380 | #1353=DIRECTION('',(-0.866025403784438,0.5,0.));
1381 | #1354=DIRECTION('',(0.,0.,1.));
1382 | #1355=DIRECTION('',(1.,0.,0.));
1383 | #1356=DIRECTION('',(0.,-1.,0.));
1384 | #1357=DIRECTION('',(0.,0.,1.));
1385 | #1358=DIRECTION('',(1.,0.,0.));
1386 | #1359=DIRECTION('',(-0.866025403784439,-0.5,0.));
1387 | #1360=DIRECTION('',(0.,0.,1.));
1388 | #1361=DIRECTION('',(1.,0.,0.));
1389 | #1362=DIRECTION('',(-0.866025403784439,0.5,0.));
1390 | #1363=DIRECTION('',(0.,0.,1.));
1391 | #1364=DIRECTION('',(1.,0.,0.));
1392 | #1365=DIRECTION('',(0.,1.,0.));
1393 | #1366=DIRECTION('',(0.,0.,1.));
1394 | #1367=DIRECTION('',(1.,0.,0.));
1395 | #1368=DIRECTION('',(0.866025403784439,0.5,0.));
1396 | #1369=DIRECTION('',(0.,0.,1.));
1397 | #1370=DIRECTION('',(1.,0.,0.));
1398 | #1371=DIRECTION('',(0.866025403784439,-0.5,0.));
1399 | #1372=DIRECTION('',(0.,0.,1.));
1400 | #1373=DIRECTION('',(1.,0.,0.));
1401 | #1374=DIRECTION('',(0.,0.,1.));
1402 | #1375=DIRECTION('',(1.,0.,0.));
1403 | #1376=DIRECTION('',(-0.707106781186548,1.2266347333467E-15,0.707106781186547));
1404 | #1377=DIRECTION('',(0.353553390593274,0.612372435695794,-0.707106781186548));
1405 | #1378=DIRECTION('',(-0.353553390593274,-0.612372435695794,-0.707106781186548));
1406 | #1379=DIRECTION('',(-0.866025403784439,0.5,0.));
1407 | #1380=DIRECTION('',(0.353553390593275,0.612372435695794,-0.707106781186548));
1408 | #1381=DIRECTION('',(-0.707106781186548,0.,-0.707106781186547));
1409 | #1382=DIRECTION('',(0.,1.,0.));
1410 | #1383=DIRECTION('',(-0.707106781186547,-1.2266347333467E-15,0.707106781186548));
1411 | #1384=DIRECTION('',(0.,0.,1.));
1412 | #1385=DIRECTION('',(1.,0.,0.));
1413 | #1386=DIRECTION('',(-0.353553390593274,0.612372435695794,-0.707106781186548));
1414 | #1387=DIRECTION('',(0.,0.,1.));
1415 | #1388=DIRECTION('',(1.,0.,0.));
1416 | #1389=DIRECTION('',(-0.353553390593273,0.612372435695795,0.707106781186548));
1417 | #1390=DIRECTION('',(0.353553390593274,-0.612372435695794,-0.707106781186548));
1418 | #1391=DIRECTION('',(-0.866025403784439,-0.5,0.));
1419 | #1392=DIRECTION('',(-0.353553390593275,0.612372435695794,-0.707106781186547));
1420 | #1393=DIRECTION('',(-0.353553390593273,0.612372435695794,-0.707106781186548));
1421 | #1394=DIRECTION('',(0.866025403784439,0.5,0.));
1422 | #1395=DIRECTION('',(-0.353553390593275,0.612372435695795,0.707106781186546));
1423 | #1396=DIRECTION('',(0.,0.,1.));
1424 | #1397=DIRECTION('',(1.,0.,0.));
1425 | #1398=DIRECTION('',(-0.707106781186547,0.,-0.707106781186548));
1426 | #1399=DIRECTION('',(0.,0.,1.));
1427 | #1400=DIRECTION('',(1.,0.,0.));
1428 | #1401=DIRECTION('',(0.353553390593275,0.612372435695794,0.707106781186548));
1429 | #1402=DIRECTION('',(0.707106781186548,0.,-0.707106781186547));
1430 | #1403=DIRECTION('',(0.,-1.,0.));
1431 | #1404=DIRECTION('',(-0.707106781186547,0.,-0.707106781186548));
1432 | #1405=DIRECTION('',(0.353553390593274,0.612372435695794,-0.707106781186548));
1433 | #1406=DIRECTION('',(0.866025403784439,-0.5,0.));
1434 | #1407=DIRECTION('',(0.353553390593274,0.612372435695795,0.707106781186547));
1435 | #1408=DIRECTION('',(0.,0.,1.));
1436 | #1409=DIRECTION('',(1.,0.,0.));
1437 | #1410=DIRECTION('',(-1.,0.,0.));
1438 | #1411=DIRECTION('',(0.,0.,1.));
1439 | #1412=DIRECTION('',(0.,0.,1.));
1440 | #1413=DIRECTION('',(0.,0.,1.));
1441 | #1414=DIRECTION('',(0.,-1.,0.));
1442 | #1415=DIRECTION('',(0.,0.,1.));
1443 | #1416=DIRECTION('',(1.,0.,0.));
1444 | #1417=DIRECTION('',(0.,0.,1.));
1445 | #1418=DIRECTION('',(0.,0.,1.));
1446 | #1419=DIRECTION('',(1.,0.,0.));
1447 | #1420=DIRECTION('',(-0.5,-0.866025403784439,0.));
1448 | #1421=DIRECTION('',(0.866025403784439,-0.5,0.));
1449 | #1422=DIRECTION('',(0.,0.,1.));
1450 | #1423=DIRECTION('',(0.866025403784438,-0.5,0.));
1451 | #1424=DIRECTION('',(0.,0.,1.));
1452 | #1425=DIRECTION('',(1.,0.,0.));
1453 | #1426=DIRECTION('',(0.,0.,1.));
1454 | #1427=DIRECTION('',(0.,0.,1.));
1455 | #1428=DIRECTION('',(1.,0.,0.));
1456 | #1429=DIRECTION('',(0.5,-0.866025403784439,0.));
1457 | #1430=DIRECTION('',(0.866025403784439,0.5,0.));
1458 | #1431=DIRECTION('',(0.,0.,1.));
1459 | #1432=DIRECTION('',(0.866025403784439,0.5,6.70078870827232E-17));
1460 | #1433=DIRECTION('',(0.,0.,1.));
1461 | #1434=DIRECTION('',(1.,0.,0.));
1462 | #1435=DIRECTION('',(0.,0.,1.));
1463 | #1436=DIRECTION('',(0.,0.,1.));
1464 | #1437=DIRECTION('',(1.,0.,0.));
1465 | #1438=DIRECTION('',(1.,0.,0.));
1466 | #1439=DIRECTION('',(0.,0.,-1.));
1467 | #1440=DIRECTION('',(0.,0.,-1.));
1468 | #1441=DIRECTION('',(0.,1.,0.));
1469 | #1442=DIRECTION('',(0.,0.,1.));
1470 | #1443=DIRECTION('',(1.,0.,0.));
1471 | #1444=DIRECTION('',(0.,0.,1.));
1472 | #1445=DIRECTION('',(0.,0.,1.));
1473 | #1446=DIRECTION('',(1.,0.,0.));
1474 | #1447=DIRECTION('',(0.5,0.866025403784439,0.));
1475 | #1448=DIRECTION('',(-0.866025403784439,0.5,0.));
1476 | #1449=DIRECTION('',(0.,0.,1.));
1477 | #1450=DIRECTION('',(-0.866025403784439,0.5,-6.70078870827232E-17));
1478 | #1451=DIRECTION('',(0.,0.,1.));
1479 | #1452=DIRECTION('',(1.,0.,0.));
1480 | #1453=DIRECTION('',(0.,0.,1.));
1481 | #1454=DIRECTION('',(0.,0.,1.));
1482 | #1455=DIRECTION('',(1.,0.,0.));
1483 | #1456=DIRECTION('',(-0.5,0.866025403784439,0.));
1484 | #1457=DIRECTION('',(-0.866025403784439,-0.5,0.));
1485 | #1458=DIRECTION('',(0.,0.,1.));
1486 | #1459=DIRECTION('',(-0.866025403784439,-0.5,-6.70078870827232E-17));
1487 | #1460=DIRECTION('',(0.,0.,1.));
1488 | #1461=DIRECTION('',(1.,0.,0.));
1489 | #1462=DIRECTION('',(0.,0.,1.));
1490 | #1463=DIRECTION('',(1.,0.,0.));
1491 | #1464=DIRECTION('',(0.,0.,1.));
1492 | #1465=DIRECTION('',(1.,0.,0.));
1493 | #1466=DIRECTION('',(0.707106781186547,0.,-0.707106781186548));
1494 | #1467=DIRECTION('',(0.353553390593274,0.612372435695794,-0.707106781186548));
1495 | #1468=DIRECTION('',(-0.353553390593274,-0.612372435695794,-0.707106781186548));
1496 | #1469=DIRECTION('',(-0.866025403784439,0.5,0.));
1497 | #1470=DIRECTION('',(-0.353553390593275,-0.612372435695794,0.707106781186548));
1498 | #1471=DIRECTION('',(-0.707106781186548,0.,-0.707106781186547));
1499 | #1472=DIRECTION('',(0.,1.,0.));
1500 | #1473=DIRECTION('',(-0.707106781186548,-8.55459869586716E-16,0.707106781186548));
1501 | #1474=DIRECTION('',(0.,0.,1.));
1502 | #1475=DIRECTION('',(1.,0.,0.));
1503 | #1476=DIRECTION('',(-0.353553390593274,0.612372435695795,-0.707106781186547));
1504 | #1477=DIRECTION('',(0.,0.,1.));
1505 | #1478=DIRECTION('',(1.,0.,0.));
1506 | #1479=DIRECTION('',(0.353553390593274,-0.612372435695795,-0.707106781186547));
1507 | #1480=DIRECTION('',(0.353553390593274,-0.612372435695794,-0.707106781186548));
1508 | #1481=DIRECTION('',(-0.866025403784439,-0.5,0.));
1509 | #1482=DIRECTION('',(0.353553390593273,-0.612372435695795,0.707106781186548));
1510 | #1483=DIRECTION('',(-0.353553390593273,0.612372435695794,-0.707106781186548));
1511 | #1484=DIRECTION('',(0.866025403784439,0.5,0.));
1512 | #1485=DIRECTION('',(-0.353553390593275,0.612372435695794,0.707106781186548));
1513 | #1486=DIRECTION('',(0.,0.,1.));
1514 | #1487=DIRECTION('',(1.,0.,0.));
1515 | #1488=DIRECTION('',(-0.707106781186547,0.,-0.707106781186548));
1516 | #1489=DIRECTION('',(0.,0.,1.));
1517 | #1490=DIRECTION('',(1.,0.,0.));
1518 | #1491=DIRECTION('',(-0.353553390593274,-0.612372435695795,-0.707106781186547));
1519 | #1492=DIRECTION('',(0.707106781186548,0.,-0.707106781186547));
1520 | #1493=DIRECTION('',(0.,-1.,0.));
1521 | #1494=DIRECTION('',(0.707106781186548,0.,0.707106781186547));
1522 | #1495=DIRECTION('',(0.353553390593274,0.612372435695794,-0.707106781186548));
1523 | #1496=DIRECTION('',(0.866025403784439,-0.5,0.));
1524 | #1497=DIRECTION('',(0.353553390593274,0.612372435695795,0.707106781186547));
1525 | #1498=DIRECTION('',(0.,0.,1.));
1526 | #1499=DIRECTION('',(1.,0.,0.));
1527 | #1500=DIRECTION('',(1.,0.,0.));
1528 | #1501=DIRECTION('',(0.,0.,-1.));
1529 | #1502=DIRECTION('',(0.,1.,0.));
1530 | #1503=DIRECTION('',(1.,0.,0.));
1531 | #1504=DIRECTION('',(0.,0.,-1.));
1532 | #1505=DIRECTION('',(0.,0.,1.));
1533 | #1506=DIRECTION('',(0.,0.,1.));
1534 | #1507=DIRECTION('',(1.,0.,0.));
1535 | #1508=DIRECTION('',(0.,0.,-1.));
1536 | #1509=DIRECTION('',(0.,1.,0.));
1537 | #1510=DIRECTION('',(0.,0.,1.));
1538 | #1511=DIRECTION('',(-1.,0.,0.));
1539 | #1512=DIRECTION('',(0.,0.,1.));
1540 | #1513=DIRECTION('',(3.61400724161835E-16,1.,0.));
1541 | #1514=DIRECTION('',(-1.,3.61400724161835E-16,0.));
1542 | #1515=DIRECTION('',(0.,0.,1.));
1543 | #1516=DIRECTION('',(-1.,3.61400724161835E-16,0.));
1544 | #1517=DIRECTION('',(1.,0.,0.));
1545 | #1518=DIRECTION('',(0.,0.,-1.));
1546 | #1519=DIRECTION('',(1.,0.,0.));
1547 | #1520=DIRECTION('',(0.,0.,-1.));
1548 | #1521=DIRECTION('',(0.,1.,0.));
1549 | #1522=DIRECTION('',(1.,0.,0.));
1550 | #1523=DIRECTION('',(0.,0.,-1.));
1551 | #1524=DIRECTION('',(1.,0.,0.));
1552 | #1525=DIRECTION('',(0.,0.,-1.));
1553 | #1526=DIRECTION('',(0.,1.,0.));
1554 | #1527=DIRECTION('',(1.,0.,0.));
1555 | #1528=DIRECTION('',(0.,0.,-1.));
1556 | #1529=DIRECTION('',(0.,0.,1.));
1557 | #1530=DIRECTION('',(0.,0.,1.));
1558 | #1531=DIRECTION('',(1.,0.,0.));
1559 | #1532=DIRECTION('',(0.,0.,-1.));
1560 | #1533=DIRECTION('',(0.,-1.,0.));
1561 | #1534=DIRECTION('',(0.,0.,-1.));
1562 | #1535=DIRECTION('',(1.,0.,0.));
1563 | #1536=DIRECTION('',(0.,0.,1.));
1564 | #1537=DIRECTION('',(1.,0.,0.));
1565 | #1538=DIRECTION('',(0.,0.,-1.));
1566 | #1539=DIRECTION('',(1.,0.,0.));
1567 | #1540=DIRECTION('',(0.,0.,-1.));
1568 | #1541=DIRECTION('',(0.,1.,0.));
1569 | #1542=DIRECTION('',(1.,0.,0.));
1570 | #1543=DIRECTION('',(0.,0.,-1.));
1571 | #1544=DIRECTION('',(0.,0.,1.));
1572 | #1545=DIRECTION('',(0.,-1.,0.));
1573 | #1546=DIRECTION('',(0.,0.,-1.));
1574 | #1547=DIRECTION('',(1.,0.,0.));
1575 | #1548=DIRECTION('',(0.,0.,1.));
1576 | #1549=DIRECTION('',(1.,0.,0.));
1577 | #1550=DIRECTION('',(-1.,0.,0.));
1578 | #1551=DIRECTION('',(-1.,3.61400724161835E-16,0.));
1579 | #1552=DIRECTION('',(0.,0.,1.));
1580 | #1553=DIRECTION('',(1.,0.,0.));
1581 | #1554=DIRECTION('',(1.,0.,0.));
1582 | #1555=DIRECTION('',(1.,0.,0.));
1583 | #1556=DIRECTION('',(1.,0.,0.));
1584 | #1557=DIRECTION('',(0.,0.,-1.));
1585 | #1558=DIRECTION('',(-1.,0.,0.));
1586 | #1559=DIRECTION('',(0.,0.,1.));
1587 | #1560=DIRECTION('',(-1.,0.,0.));
1588 | #1561=DIRECTION('',(0.,0.,1.));
1589 | #1562=DIRECTION('',(1.,-3.61400724161835E-16,0.));
1590 | #1563=DIRECTION('',(3.61400724161835E-16,1.,0.));
1591 | #1564=CARTESIAN_POINT('',(0.,0.,0.));
1592 | #1565=CARTESIAN_POINT('',(0.,-1.7347234759768E-18,-0.0014));
1593 | #1566=CARTESIAN_POINT('',(-0.00225,-1.7347234759768E-18,-0.0014));
1594 | #1567=CARTESIAN_POINT('',(-0.00225,-0.0015,-0.0014));
1595 | #1568=CARTESIAN_POINT('',(-0.00225,0.0015,-0.0014));
1596 | #1569=CARTESIAN_POINT('',(-5.42101086242752E-19,-0.0015,-0.0014));
1597 | #1570=CARTESIAN_POINT('',(-0.00345,-0.0015,-0.0014));
1598 | #1571=CARTESIAN_POINT('',(-0.00345,-1.7347234759768E-18,-0.0014));
1599 | #1572=CARTESIAN_POINT('',(-0.00345,0.0015,-0.0014));
1600 | #1573=CARTESIAN_POINT('',(0.,0.0015,-0.0014));
1601 | #1574=CARTESIAN_POINT('',(-0.00748,-0.00431858001353841,-0.0014));
1602 | #1575=CARTESIAN_POINT('',(-0.00823147186257615,-0.00562016745997869,-0.0014));
1603 | #1576=CARTESIAN_POINT('',(-0.00898294372515229,-0.0043185800135384,-0.0014));
1604 | #1577=CARTESIAN_POINT('',(-0.00449147186257615,-0.0077794574667479,-0.0014));
1605 | #1578=CARTESIAN_POINT('',(-0.000751471862576142,-0.00993874747351711,-0.0014));
1606 | #1579=CARTESIAN_POINT('',(1.0842021724855E-19,-0.00863716002707681,-0.0014));
1607 | #1580=CARTESIAN_POINT('',(0.000751471862576136,-0.0099387474735171,-0.0014));
1608 | #1581=CARTESIAN_POINT('',(0.00449147186257615,-0.0077794574667479,-0.0014));
1609 | #1582=CARTESIAN_POINT('',(0.00823147186257615,-0.0056201674599787,-0.0014));
1610 | #1583=CARTESIAN_POINT('',(0.00748,-0.0043185800135384,-0.0014));
1611 | #1584=CARTESIAN_POINT('',(0.00898294372515229,-0.0043185800135384,-0.0014));
1612 | #1585=CARTESIAN_POINT('',(0.00898294372515229,0.,-0.0014));
1613 | #1586=CARTESIAN_POINT('',(0.00898294372515229,0.0043185800135384,-0.0014));
1614 | #1587=CARTESIAN_POINT('',(0.00748,0.0043185800135384,-0.0014));
1615 | #1588=CARTESIAN_POINT('',(0.00823147186257615,0.0056201674599787,-0.0014));
1616 | #1589=CARTESIAN_POINT('',(0.00449147186257615,0.0077794574667479,-0.0014));
1617 | #1590=CARTESIAN_POINT('',(0.000751471862576145,0.0099387474735171,-0.0014));
1618 | #1591=CARTESIAN_POINT('',(5.09575021068187E-18,0.00863716002707681,-0.0014));
1619 | #1592=CARTESIAN_POINT('',(-0.000751471862576136,0.0099387474735171,-0.0014));
1620 | #1593=CARTESIAN_POINT('',(-0.00449147186257615,0.0077794574667479,-0.0014));
1621 | #1594=CARTESIAN_POINT('',(-0.00823147186257615,0.00562016745997869,-0.0014));
1622 | #1595=CARTESIAN_POINT('',(-0.00748,0.00431858001353841,-0.0014));
1623 | #1596=CARTESIAN_POINT('',(-0.00898294372515229,0.00431858001353841,-0.0014));
1624 | #1597=CARTESIAN_POINT('',(-0.00898294372515229,8.67361737988404E-19,-0.0014));
1625 | #1598=CARTESIAN_POINT('',(0.00225,-1.7347234759768E-18,-0.0014));
1626 | #1599=CARTESIAN_POINT('',(0.00225,-0.0015,-0.0014));
1627 | #1600=CARTESIAN_POINT('',(0.00225,0.0015,-0.0014));
1628 | #1601=CARTESIAN_POINT('',(0.,0.0015,-0.0014));
1629 | #1602=CARTESIAN_POINT('',(0.00345,0.0015,-0.0014));
1630 | #1603=CARTESIAN_POINT('',(0.00345,-1.7347234759768E-18,-0.0014));
1631 | #1604=CARTESIAN_POINT('',(0.00345,-0.0015,-0.0014));
1632 | #1605=CARTESIAN_POINT('',(0.,-0.0015,-0.0014));
1633 | #1606=CARTESIAN_POINT('',(-0.01048,8.67361737988404E-19,-0.0026));
1634 | #1607=CARTESIAN_POINT('',(-0.01048,0.0043185800135384,-0.0026));
1635 | #1608=CARTESIAN_POINT('',(-0.01048,0.0043185800135384,-0.0016));
1636 | #1609=CARTESIAN_POINT('',(-0.01048,0.0043185800135384,0.));
1637 | #1610=CARTESIAN_POINT('',(-0.01048,-0.0043185800135384,-0.0016));
1638 | #1611=CARTESIAN_POINT('',(-0.01048,-0.0043185800135384,-0.0016));
1639 | #1612=CARTESIAN_POINT('',(-0.01048,-0.0043185800135384,-0.0026));
1640 | #1613=CARTESIAN_POINT('',(-0.01048,-0.0043185800135384,0.));
1641 | #1614=CARTESIAN_POINT('',(-0.01048,8.67361737988404E-19,0.));
1642 | #1615=CARTESIAN_POINT('',(-0.00748,-0.00431858001353841,-0.0026));
1643 | #1616=CARTESIAN_POINT('',(-0.00748,-0.00431858001353841,-0.0016));
1644 | #1617=CARTESIAN_POINT('',(-0.00898,-0.00691665622489171,-0.0016));
1645 | #1618=CARTESIAN_POINT('',(-0.00898,-0.00691665622489171,-0.0026));
1646 | #1619=CARTESIAN_POINT('',(-0.00898,-0.00691665622489171,0.));
1647 | #1620=CARTESIAN_POINT('',(-0.00748,-0.00431858001353841,0.));
1648 | #1621=CARTESIAN_POINT('',(-0.00524,-0.00907594623166092,-0.0026));
1649 | #1622=CARTESIAN_POINT('',(-0.0015,-0.0112352362384301,-0.0016));
1650 | #1623=CARTESIAN_POINT('',(-0.0015,-0.0112352362384301,-0.0016));
1651 | #1624=CARTESIAN_POINT('',(-0.0015,-0.0112352362384301,-0.0026));
1652 | #1625=CARTESIAN_POINT('',(-0.0015,-0.0112352362384301,0.));
1653 | #1626=CARTESIAN_POINT('',(-0.00524,-0.00907594623166092,0.));
1654 | #1627=CARTESIAN_POINT('',(1.0842021724855E-19,-0.00863716002707681,-0.0026));
1655 | #1628=CARTESIAN_POINT('',(1.0842021724855E-19,-0.00863716002707681,-0.0016));
1656 | #1629=CARTESIAN_POINT('',(0.0015,-0.0112352362384301,-0.0016));
1657 | #1630=CARTESIAN_POINT('',(0.0015,-0.0112352362384301,-0.0026));
1658 | #1631=CARTESIAN_POINT('',(0.0015,-0.0112352362384301,0.));
1659 | #1632=CARTESIAN_POINT('',(1.0842021724855E-19,-0.00863716002707681,0.));
1660 | #1633=CARTESIAN_POINT('',(0.00524,-0.00907594623166092,-0.0026));
1661 | #1634=CARTESIAN_POINT('',(0.00898,-0.00691665622489171,-0.0016));
1662 | #1635=CARTESIAN_POINT('',(0.00898,-0.00691665622489172,-0.0016));
1663 | #1636=CARTESIAN_POINT('',(0.00898,-0.00691665622489172,-0.0026));
1664 | #1637=CARTESIAN_POINT('',(0.00898,-0.00691665622489172,0.));
1665 | #1638=CARTESIAN_POINT('',(0.00524,-0.00907594623166092,0.));
1666 | #1639=CARTESIAN_POINT('',(0.00748,-0.0043185800135384,-0.0026));
1667 | #1640=CARTESIAN_POINT('',(0.00748,-0.0043185800135384,-0.0016));
1668 | #1641=CARTESIAN_POINT('',(0.01048,-0.0043185800135384,-0.0016));
1669 | #1642=CARTESIAN_POINT('',(0.01048,-0.0043185800135384,-0.0026));
1670 | #1643=CARTESIAN_POINT('',(0.01048,-0.0043185800135384,0.));
1671 | #1644=CARTESIAN_POINT('',(0.00748,-0.0043185800135384,0.));
1672 | #1645=CARTESIAN_POINT('',(0.01048,0.,-0.0026));
1673 | #1646=CARTESIAN_POINT('',(0.01048,0.0043185800135384,-0.0016));
1674 | #1647=CARTESIAN_POINT('',(0.01048,0.0043185800135384,-0.0016));
1675 | #1648=CARTESIAN_POINT('',(0.01048,0.0043185800135384,-0.0026));
1676 | #1649=CARTESIAN_POINT('',(0.01048,0.0043185800135384,0.));
1677 | #1650=CARTESIAN_POINT('',(0.01048,0.,0.));
1678 | #1651=CARTESIAN_POINT('',(0.00748,0.0043185800135384,-0.0026));
1679 | #1652=CARTESIAN_POINT('',(0.00748,0.0043185800135384,-0.0016));
1680 | #1653=CARTESIAN_POINT('',(0.00898,0.00691665622489172,-0.0016));
1681 | #1654=CARTESIAN_POINT('',(0.00898,0.00691665622489172,-0.0026));
1682 | #1655=CARTESIAN_POINT('',(0.00898,0.00691665622489172,0.));
1683 | #1656=CARTESIAN_POINT('',(0.00748,0.0043185800135384,0.));
1684 | #1657=CARTESIAN_POINT('',(0.00524,0.00907594623166092,-0.0026));
1685 | #1658=CARTESIAN_POINT('',(0.0015,0.0112352362384301,-0.0016));
1686 | #1659=CARTESIAN_POINT('',(0.0015,0.0112352362384301,-0.0016));
1687 | #1660=CARTESIAN_POINT('',(0.0015,0.0112352362384301,-0.0026));
1688 | #1661=CARTESIAN_POINT('',(0.0015,0.0112352362384301,0.));
1689 | #1662=CARTESIAN_POINT('',(0.00524,0.00907594623166092,0.));
1690 | #1663=CARTESIAN_POINT('',(5.09575021068187E-18,0.00863716002707681,-0.0026));
1691 | #1664=CARTESIAN_POINT('',(5.09575021068187E-18,0.00863716002707681,-0.0016));
1692 | #1665=CARTESIAN_POINT('',(-0.0015,0.0112352362384301,-0.0016));
1693 | #1666=CARTESIAN_POINT('',(-0.0015,0.0112352362384301,-0.0026));
1694 | #1667=CARTESIAN_POINT('',(-0.0015,0.0112352362384301,0.));
1695 | #1668=CARTESIAN_POINT('',(5.09575021068187E-18,0.00863716002707681,0.));
1696 | #1669=CARTESIAN_POINT('',(-0.00524,0.00907594623166092,-0.0026));
1697 | #1670=CARTESIAN_POINT('',(-0.00898,0.00691665622489171,-0.0016));
1698 | #1671=CARTESIAN_POINT('',(-0.00898,0.00691665622489171,-0.0016));
1699 | #1672=CARTESIAN_POINT('',(-0.00898,0.00691665622489171,-0.0026));
1700 | #1673=CARTESIAN_POINT('',(-0.00898,0.00691665622489171,0.));
1701 | #1674=CARTESIAN_POINT('',(-0.00524,0.00907594623166092,0.));
1702 | #1675=CARTESIAN_POINT('',(-0.00748,0.00431858001353841,-0.0026));
1703 | #1676=CARTESIAN_POINT('',(-0.00748,0.00431858001353841,-0.0016));
1704 | #1677=CARTESIAN_POINT('',(-0.00748,0.00431858001353841,0.));
1705 | #1678=CARTESIAN_POINT('',(0.,-1.7347234759768E-18,-0.0026));
1706 | #1679=CARTESIAN_POINT('',(-0.00748,-0.00431858001353841,-0.0026));
1707 | #1680=CARTESIAN_POINT('',(-0.00848,-0.00605063082110727,-0.0026));
1708 | #1681=CARTESIAN_POINT('',(-0.00948,-0.0043185800135384,-0.0026));
1709 | #1682=CARTESIAN_POINT('',(-0.00948,0.0043185800135384,-0.0026));
1710 | #1683=CARTESIAN_POINT('',(-0.00948,0.00431858001353841,-0.0026));
1711 | #1684=CARTESIAN_POINT('',(-0.00748,0.00431858001353841,-0.0026));
1712 | #1685=CARTESIAN_POINT('',(-0.00848,0.00605063082110727,-0.0026));
1713 | #1686=CARTESIAN_POINT('',(-0.001,0.0103692108346457,-0.0026));
1714 | #1687=CARTESIAN_POINT('',(-0.001,0.0103692108346457,-0.0026));
1715 | #1688=CARTESIAN_POINT('',(5.09575021068187E-18,0.00863716002707681,-0.0026));
1716 | #1689=CARTESIAN_POINT('',(0.001,0.0103692108346457,-0.0026));
1717 | #1690=CARTESIAN_POINT('',(0.00848,0.00605063082110728,-0.0026));
1718 | #1691=CARTESIAN_POINT('',(0.00848,0.00605063082110728,-0.0026));
1719 | #1692=CARTESIAN_POINT('',(0.00748,0.0043185800135384,-0.0026));
1720 | #1693=CARTESIAN_POINT('',(0.00948,0.0043185800135384,-0.0026));
1721 | #1694=CARTESIAN_POINT('',(0.00948,-0.0043185800135384,-0.0026));
1722 | #1695=CARTESIAN_POINT('',(0.00948,-0.0043185800135384,-0.0026));
1723 | #1696=CARTESIAN_POINT('',(0.00748,-0.0043185800135384,-0.0026));
1724 | #1697=CARTESIAN_POINT('',(0.00848,-0.00605063082110728,-0.0026));
1725 | #1698=CARTESIAN_POINT('',(0.001,-0.0103692108346457,-0.0026));
1726 | #1699=CARTESIAN_POINT('',(0.001,-0.0103692108346457,-0.0026));
1727 | #1700=CARTESIAN_POINT('',(1.0842021724855E-19,-0.00863716002707681,-0.0026));
1728 | #1701=CARTESIAN_POINT('',(-0.001,-0.0103692108346457,-0.0026));
1729 | #1702=CARTESIAN_POINT('',(-0.00848,-0.00605063082110727,-0.0026));
1730 | #1703=CARTESIAN_POINT('',(0.,-1.7347234759768E-18,0.));
1731 | #1704=CARTESIAN_POINT('',(-0.00928,-1.7347234759768E-18,0.));
1732 | #1705=CARTESIAN_POINT('',(-0.00928,0.00431858001353841,0.));
1733 | #1706=CARTESIAN_POINT('',(-0.00928,-0.0043185800135384,0.));
1734 | #1707=CARTESIAN_POINT('',(-0.00748,0.00431858001353841,0.));
1735 | #1708=CARTESIAN_POINT('',(-0.00838,0.00587742574035039,8.67361737988404E-19));
1736 | #1709=CARTESIAN_POINT('',(-0.00464,0.00803671574711959,0.));
1737 | #1710=CARTESIAN_POINT('',(-0.0009,0.0101960057538888,0.));
1738 | #1711=CARTESIAN_POINT('',(5.09575021068187E-18,0.00863716002707681,0.));
1739 | #1712=CARTESIAN_POINT('',(0.0009,0.0101960057538888,0.));
1740 | #1713=CARTESIAN_POINT('',(0.00464,0.00803671574711959,0.));
1741 | #1714=CARTESIAN_POINT('',(0.00838,0.00587742574035039,0.));
1742 | #1715=CARTESIAN_POINT('',(0.00748,0.0043185800135384,0.));
1743 | #1716=CARTESIAN_POINT('',(0.00928,0.0043185800135384,0.));
1744 | #1717=CARTESIAN_POINT('',(0.00928,-1.7347234759768E-18,0.));
1745 | #1718=CARTESIAN_POINT('',(0.00928,-0.0043185800135384,0.));
1746 | #1719=CARTESIAN_POINT('',(0.00748,-0.0043185800135384,0.));
1747 | #1720=CARTESIAN_POINT('',(0.00838,-0.00587742574035039,8.67361737988404E-19));
1748 | #1721=CARTESIAN_POINT('',(0.00464,-0.00803671574711959,0.));
1749 | #1722=CARTESIAN_POINT('',(0.0009,-0.0101960057538888,0.));
1750 | #1723=CARTESIAN_POINT('',(1.0842021724855E-19,-0.00863716002707681,0.));
1751 | #1724=CARTESIAN_POINT('',(-0.0009,-0.0101960057538888,8.67361737988404E-19));
1752 | #1725=CARTESIAN_POINT('',(-0.00464,-0.00803671574711959,0.));
1753 | #1726=CARTESIAN_POINT('',(-0.00838,-0.00587742574035039,0.));
1754 | #1727=CARTESIAN_POINT('',(-0.00748,-0.00431858001353841,0.));
1755 | #1728=CARTESIAN_POINT('',(-0.00748,-0.00431858001353841,-0.0016));
1756 | #1729=CARTESIAN_POINT('',(-0.00948,-0.0043185800135384,-0.0026));
1757 | #1730=CARTESIAN_POINT('',(-0.00898,-0.00691665622489171,-0.0016));
1758 | #1731=CARTESIAN_POINT('',(-0.00524,-0.00907594623166092,-0.0016));
1759 | #1732=CARTESIAN_POINT('',(-0.0015,-0.0112352362384301,-0.0016));
1760 | #1733=CARTESIAN_POINT('',(-0.01048,8.67361737988404E-19,-0.0016));
1761 | #1734=CARTESIAN_POINT('',(-0.00948,0.00431858001353841,-0.0026));
1762 | #1735=CARTESIAN_POINT('',(1.0842021724855E-19,-0.00863716002707681,-0.0016));
1763 | #1736=CARTESIAN_POINT('',(0.0015,-0.0112352362384301,-0.0016));
1764 | #1737=CARTESIAN_POINT('',(-0.00748,0.00431858001353841,-0.0016));
1765 | #1738=CARTESIAN_POINT('',(-0.00848,0.00605063082110728,-0.0026));
1766 | #1739=CARTESIAN_POINT('',(0.00524,-0.00907594623166092,-0.0016));
1767 | #1740=CARTESIAN_POINT('',(0.00898,-0.00691665622489171,-0.0016));
1768 | #1741=CARTESIAN_POINT('',(-0.00524,0.00907594623166092,-0.0016));
1769 | #1742=CARTESIAN_POINT('',(-0.001,0.0103692108346457,-0.0026));
1770 | #1743=CARTESIAN_POINT('',(0.00748,-0.0043185800135384,-0.0016));
1771 | #1744=CARTESIAN_POINT('',(0.01048,-0.0043185800135384,-0.0016));
1772 | #1745=CARTESIAN_POINT('',(5.09575021068187E-18,0.00863716002707681,-0.0016));
1773 | #1746=CARTESIAN_POINT('',(0.001,0.0103692108346457,-0.0026));
1774 | #1747=CARTESIAN_POINT('',(0.01048,0.,-0.0016));
1775 | #1748=CARTESIAN_POINT('',(0.01048,0.0043185800135384,-0.0016));
1776 | #1749=CARTESIAN_POINT('',(0.00524,0.00907594623166092,-0.0016));
1777 | #1750=CARTESIAN_POINT('',(0.00848,0.00605063082110728,-0.0026));
1778 | #1751=CARTESIAN_POINT('',(0.00748,0.0043185800135384,-0.0016));
1779 | #1752=CARTESIAN_POINT('',(-0.00928,8.67361737988404E-19,-0.0026));
1780 | #1753=CARTESIAN_POINT('',(-0.00928,0.00431858001353841,-0.0026));
1781 | #1754=CARTESIAN_POINT('',(-0.00928,0.00431858001353841,-0.00110294372515229));
1782 | #1755=CARTESIAN_POINT('',(-0.00928,-0.0043185800135384,-0.0026));
1783 | #1756=CARTESIAN_POINT('',(-0.00928,-0.0043185800135384,-0.00110294372515229));
1784 | #1757=CARTESIAN_POINT('',(-0.00928,8.67361737988404E-19,-0.00110294372515229));
1785 | #1758=CARTESIAN_POINT('',(-0.00748,-0.00431858001353841,-0.0026));
1786 | #1759=CARTESIAN_POINT('',(-0.00838,-0.00587742574035039,-0.0026));
1787 | #1760=CARTESIAN_POINT('',(-0.00838,-0.00587742574035039,-0.00110294372515229));
1788 | #1761=CARTESIAN_POINT('',(-0.00748,-0.00431858001353841,-0.00110294372515229));
1789 | #1762=CARTESIAN_POINT('',(-0.00464,-0.00803671574711959,-0.0026));
1790 | #1763=CARTESIAN_POINT('',(-0.0009,-0.0101960057538888,-0.0026));
1791 | #1764=CARTESIAN_POINT('',(-0.0009,-0.0101960057538888,-0.00110294372515229));
1792 | #1765=CARTESIAN_POINT('',(-0.00464,-0.00803671574711959,-0.00110294372515229));
1793 | #1766=CARTESIAN_POINT('',(1.0842021724855E-19,-0.00863716002707681,-0.0026));
1794 | #1767=CARTESIAN_POINT('',(0.0009,-0.0101960057538888,-0.0026));
1795 | #1768=CARTESIAN_POINT('',(0.0009,-0.0101960057538888,-0.00110294372515228));
1796 | #1769=CARTESIAN_POINT('',(1.0842021724855E-19,-0.00863716002707681,-0.00110294372515229));
1797 | #1770=CARTESIAN_POINT('',(0.00464,-0.00803671574711959,-0.0026));
1798 | #1771=CARTESIAN_POINT('',(0.00838,-0.00587742574035039,-0.0026));
1799 | #1772=CARTESIAN_POINT('',(0.00838,-0.00587742574035039,-0.00110294372515229));
1800 | #1773=CARTESIAN_POINT('',(0.00464,-0.00803671574711959,-0.00110294372515228));
1801 | #1774=CARTESIAN_POINT('',(0.00748,-0.0043185800135384,-0.0026));
1802 | #1775=CARTESIAN_POINT('',(0.00928,-0.0043185800135384,-0.0026));
1803 | #1776=CARTESIAN_POINT('',(0.00928,-0.0043185800135384,-0.00110294372515229));
1804 | #1777=CARTESIAN_POINT('',(0.00748,-0.0043185800135384,-0.00110294372515229));
1805 | #1778=CARTESIAN_POINT('',(0.00928,0.,-0.0026));
1806 | #1779=CARTESIAN_POINT('',(0.00928,0.0043185800135384,-0.0026));
1807 | #1780=CARTESIAN_POINT('',(0.00928,0.0043185800135384,-0.00110294372515229));
1808 | #1781=CARTESIAN_POINT('',(0.00928,0.,-0.00110294372515229));
1809 | #1782=CARTESIAN_POINT('',(0.00748,0.0043185800135384,-0.0026));
1810 | #1783=CARTESIAN_POINT('',(0.00838,0.00587742574035039,-0.0026));
1811 | #1784=CARTESIAN_POINT('',(0.00838,0.00587742574035039,-0.00110294372515228));
1812 | #1785=CARTESIAN_POINT('',(0.00748,0.0043185800135384,-0.00110294372515229));
1813 | #1786=CARTESIAN_POINT('',(0.00464,0.00803671574711959,-0.0026));
1814 | #1787=CARTESIAN_POINT('',(0.0009,0.0101960057538888,-0.0026));
1815 | #1788=CARTESIAN_POINT('',(0.0009,0.0101960057538888,-0.00110294372515229));
1816 | #1789=CARTESIAN_POINT('',(0.00464,0.00803671574711959,-0.00110294372515228));
1817 | #1790=CARTESIAN_POINT('',(5.09575021068187E-18,0.00863716002707681,-0.0026));
1818 | #1791=CARTESIAN_POINT('',(-0.0009,0.0101960057538888,-0.0026));
1819 | #1792=CARTESIAN_POINT('',(-0.0009,0.0101960057538888,-0.00110294372515229));
1820 | #1793=CARTESIAN_POINT('',(5.09575021068187E-18,0.00863716002707681,-0.00110294372515229));
1821 | #1794=CARTESIAN_POINT('',(-0.00464,0.00803671574711959,-0.0026));
1822 | #1795=CARTESIAN_POINT('',(-0.00838,0.00587742574035039,-0.0026));
1823 | #1796=CARTESIAN_POINT('',(-0.00838,0.00587742574035039,-0.00110294372515229));
1824 | #1797=CARTESIAN_POINT('',(-0.00464,0.00803671574711959,-0.00110294372515228));
1825 | #1798=CARTESIAN_POINT('',(-0.00748,0.00431858001353841,-0.0026));
1826 | #1799=CARTESIAN_POINT('',(-0.00748,0.00431858001353841,-0.00110294372515229));
1827 | #1800=CARTESIAN_POINT('',(-0.00748,-0.00431858001353841,-0.000751471862576144));
1828 | #1801=CARTESIAN_POINT('',(-0.00963147186257614,-0.0043185800135384,-0.000751471862576144));
1829 | #1802=CARTESIAN_POINT('',(-0.00855573593128808,-0.00618180930205676,-0.000751471862576143));
1830 | #1803=CARTESIAN_POINT('',(-0.00481573593128807,-0.00834109930882596,-0.000751471862576143));
1831 | #1804=CARTESIAN_POINT('',(-0.00107573593128807,-0.0105003893155952,-0.000751471862576144));
1832 | #1805=CARTESIAN_POINT('',(-0.00963147186257614,8.67361737988404E-19,-0.000751471862576144));
1833 | #1806=CARTESIAN_POINT('',(-0.00963147186257614,0.00431858001353841,-0.000751471862576143));
1834 | #1807=CARTESIAN_POINT('',(1.0842021724855E-19,-0.00863716002707681,-0.000751471862576144));
1835 | #1808=CARTESIAN_POINT('',(0.00107573593128806,-0.0105003893155952,-0.000751471862576143));
1836 | #1809=CARTESIAN_POINT('',(-0.00748,0.00431858001353841,-0.000751471862576143));
1837 | #1810=CARTESIAN_POINT('',(-0.00855573593128808,0.00618180930205676,-0.000751471862576142));
1838 | #1811=CARTESIAN_POINT('',(0.00481573593128807,-0.00834109930882596,-0.000751471862576143));
1839 | #1812=CARTESIAN_POINT('',(0.00855573593128808,-0.00618180930205676,-0.000751471862576144));
1840 | #1813=CARTESIAN_POINT('',(-0.00481573593128807,0.00834109930882596,-0.000751471862576142));
1841 | #1814=CARTESIAN_POINT('',(-0.00107573593128806,0.0105003893155952,-0.000751471862576144));
1842 | #1815=CARTESIAN_POINT('',(0.00748,-0.0043185800135384,-0.000751471862576144));
1843 | #1816=CARTESIAN_POINT('',(0.00963147186257614,-0.0043185800135384,-0.000751471862576144));
1844 | #1817=CARTESIAN_POINT('',(5.09575021068187E-18,0.00863716002707681,-0.000751471862576144));
1845 | #1818=CARTESIAN_POINT('',(0.00107573593128807,0.0105003893155952,-0.000751471862576143));
1846 | #1819=CARTESIAN_POINT('',(0.00963147186257614,0.,-0.000751471862576144));
1847 | #1820=CARTESIAN_POINT('',(0.00963147186257615,0.0043185800135384,-0.000751471862576143));
1848 | #1821=CARTESIAN_POINT('',(0.00481573593128808,0.00834109930882596,-0.000751471862576143));
1849 | #1822=CARTESIAN_POINT('',(0.00855573593128808,0.00618180930205676,-0.000751471862576143));
1850 | #1823=CARTESIAN_POINT('',(0.00748,0.0043185800135384,-0.000751471862576143));
1851 | #1824=CARTESIAN_POINT('',(-0.00345,2.16840434497101E-19,-0.002602));
1852 | #1825=CARTESIAN_POINT('',(-0.00345,2.16840434497101E-19,0.002));
1853 | #1826=CARTESIAN_POINT('',(-0.00345,-0.0003,0.002));
1854 | #1827=CARTESIAN_POINT('',(-0.00345,0.0003,0.002));
1855 | #1828=CARTESIAN_POINT('',(-0.00345,0.0003,0.0008));
1856 | #1829=CARTESIAN_POINT('',(-0.00345,0.0015,0.0008));
1857 | #1830=CARTESIAN_POINT('',(-0.00345,0.0015,-0.002602));
1858 | #1831=CARTESIAN_POINT('',(-0.00345,-0.0015,-0.002602));
1859 | #1832=CARTESIAN_POINT('',(-0.00345,-0.0015,0.0008));
1860 | #1833=CARTESIAN_POINT('',(-0.00345,-0.0003,0.0008));
1861 | #1834=CARTESIAN_POINT('',(-0.00285,0.0015,-0.002602));
1862 | #1835=CARTESIAN_POINT('',(-0.00285,0.0015,0.0008));
1863 | #1836=CARTESIAN_POINT('',(-0.00225,0.0015,0.0008));
1864 | #1837=CARTESIAN_POINT('',(-0.00225,0.0015,-0.002602));
1865 | #1838=CARTESIAN_POINT('',(-0.00285,-0.0015,-0.002602));
1866 | #1839=CARTESIAN_POINT('',(-0.00225,-0.0015,-0.002602));
1867 | #1840=CARTESIAN_POINT('',(-0.00225,-0.0015,0.0008));
1868 | #1841=CARTESIAN_POINT('',(-0.00345,-0.0015,0.0008));
1869 | #1842=CARTESIAN_POINT('',(-0.00225,-2.16840434497101E-19,-0.002602));
1870 | #1843=CARTESIAN_POINT('',(-0.00225,0.0003,0.0008));
1871 | #1844=CARTESIAN_POINT('',(-0.00225,0.0003,0.002));
1872 | #1845=CARTESIAN_POINT('',(-0.00225,-2.16840434497101E-19,0.002));
1873 | #1846=CARTESIAN_POINT('',(-0.00225,-0.0003,0.002));
1874 | #1847=CARTESIAN_POINT('',(-0.00225,-0.0003,0.0008));
1875 | #1848=CARTESIAN_POINT('',(0.00345,2.16840434497101E-19,-0.002602));
1876 | #1849=CARTESIAN_POINT('',(0.00345,2.16840434497101E-19,0.002));
1877 | #1850=CARTESIAN_POINT('',(0.00345,-0.0003,0.002));
1878 | #1851=CARTESIAN_POINT('',(0.00345,0.0003,0.002));
1879 | #1852=CARTESIAN_POINT('',(0.00345,-0.0003,0.0008));
1880 | #1853=CARTESIAN_POINT('',(0.00345,-0.0015,0.0008));
1881 | #1854=CARTESIAN_POINT('',(0.00345,-0.0015,-0.002602));
1882 | #1855=CARTESIAN_POINT('',(0.00345,0.0015,-0.002602));
1883 | #1856=CARTESIAN_POINT('',(0.00345,0.0015,0.0008));
1884 | #1857=CARTESIAN_POINT('',(0.00345,0.0003,0.0008));
1885 | #1858=CARTESIAN_POINT('',(0.00285,-0.0015,-0.002602));
1886 | #1859=CARTESIAN_POINT('',(0.00285,-0.0015,0.0008));
1887 | #1860=CARTESIAN_POINT('',(0.00225,-0.0015,0.0008));
1888 | #1861=CARTESIAN_POINT('',(0.00225,-0.0015,-0.002602));
1889 | #1862=CARTESIAN_POINT('',(0.00225,-2.16840434497101E-19,-0.002602));
1890 | #1863=CARTESIAN_POINT('',(0.00225,-0.0003,0.0008));
1891 | #1864=CARTESIAN_POINT('',(0.00225,-0.0003,0.002));
1892 | #1865=CARTESIAN_POINT('',(0.00225,-2.16840434497101E-19,0.002));
1893 | #1866=CARTESIAN_POINT('',(0.00225,0.0003,0.002));
1894 | #1867=CARTESIAN_POINT('',(0.00225,0.0003,0.0008));
1895 | #1868=CARTESIAN_POINT('',(0.00225,0.0015,0.0008));
1896 | #1869=CARTESIAN_POINT('',(0.00225,0.0015,-0.002602));
1897 | #1870=CARTESIAN_POINT('',(0.00285,0.0015,-0.002602));
1898 | #1871=CARTESIAN_POINT('',(0.00345,0.0015,0.0008));
1899 | #1872=CARTESIAN_POINT('',(0.,-1.7347234759768E-18,0.002));
1900 | #1873=CARTESIAN_POINT('',(0.,0.0003,0.002));
1901 | #1874=CARTESIAN_POINT('',(-0.00225,-0.0003,0.002));
1902 | #1875=CARTESIAN_POINT('',(0.,-1.7347234759768E-18,0.002));
1903 | #1876=CARTESIAN_POINT('',(0.,-0.0003,0.002));
1904 | #1877=CARTESIAN_POINT('',(0.00225,0.0003,0.002));
1905 | #1878=CARTESIAN_POINT('',(0.,-0.0003,0.0008));
1906 | #1879=CARTESIAN_POINT('',(0.00285,0.0003,0.0008));
1907 | #1880=CARTESIAN_POINT('',(0.,0.0003,0.0008));
1908 | #1881=CARTESIAN_POINT('',(-0.00285,-0.0003,0.0008));
1909 | #1882=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#1111),
1910 | #1883);
1911 | #1883=(
1912 | GEOMETRIC_REPRESENTATION_CONTEXT(3)
1913 | GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1884))
1914 | GLOBAL_UNIT_ASSIGNED_CONTEXT((#1887,#1886,#1885))
1915 | REPRESENTATION_CONTEXT('Part 1','TOP_LEVEL_ASSEMBLY_PART')
1916 | );
1917 | #1884=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(5.E-6),#1887,
1918 | 'DISTANCE_ACCURACY_VALUE','Maximum Tolerance applied to model');
1919 | #1885=(
1920 | NAMED_UNIT(*)
1921 | SI_UNIT($,.STERADIAN.)
1922 | SOLID_ANGLE_UNIT()
1923 | );
1924 | #1886=(
1925 | NAMED_UNIT(*)
1926 | PLANE_ANGLE_UNIT()
1927 | SI_UNIT($,.RADIAN.)
1928 | );
1929 | #1887=(
1930 | LENGTH_UNIT()
1931 | NAMED_UNIT(*)
1932 | SI_UNIT($,.METRE.)
1933 | );
1934 | #1888=PRODUCT_DEFINITION_SHAPE('','',#1889);
1935 | #1889=PRODUCT_DEFINITION('','',#1891,#1890);
1936 | #1890=PRODUCT_DEFINITION_CONTEXT('',#1897,'design');
1937 | #1891=PRODUCT_DEFINITION_FORMATION_WITH_SPECIFIED_SOURCE('','',#1893,
1938 | .NOT_KNOWN.);
1939 | #1892=PRODUCT_RELATED_PRODUCT_CATEGORY('','',(#1893));
1940 | #1893=PRODUCT('Part 1','Part 1','Part 1',(#1895));
1941 | #1894=PRODUCT_CATEGORY('','');
1942 | #1895=PRODUCT_CONTEXT('',#1897,'mechanical');
1943 | #1896=APPLICATION_PROTOCOL_DEFINITION('international standard',
1944 | 'ap242_managed_model_based_3d_engineering',2011,#1897);
1945 | #1897=APPLICATION_CONTEXT('managed model based 3d engineering');
1946 | ENDSEC;
1947 | END-ISO-10303-21;
1948 |
--------------------------------------------------------------------------------
/doc/PCB_PCB_morph2_2024-01-19.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LeafCutterLabs/morph/d61198118b1386a16fa40c31f6ede41da509ddde/doc/PCB_PCB_morph2_2024-01-19.pdf
--------------------------------------------------------------------------------
/doc/Schematic_morph2_2024-01-19.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LeafCutterLabs/morph/d61198118b1386a16fa40c31f6ede41da509ddde/doc/Schematic_morph2_2024-01-19.pdf
--------------------------------------------------------------------------------
/media/v1top.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LeafCutterLabs/morph/d61198118b1386a16fa40c31f6ede41da509ddde/media/v1top.jpg
--------------------------------------------------------------------------------
/pcb/Gerber_V1.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LeafCutterLabs/morph/d61198118b1386a16fa40c31f6ede41da509ddde/pcb/Gerber_V1.zip
--------------------------------------------------------------------------------
/software/QMK/config.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Stefan Kerkmann
2 | // SPDX-License-Identifier: GPL-2.0-or-later
3 |
4 | #pragma once
5 |
6 |
7 | #define DEBUG_MATRIX_SCAN_RATE
8 |
9 | #define QMK_WAITING_TEST_BUSY_PIN GP24
10 | #define QMK_WAITING_TEST_YIELD_PIN GP25
11 |
12 | #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET
13 | #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_LED GP22
14 | #define RP2040_BOOTLOADER_DOUBLE_TAP_RESET_TIMEOUT 500U
15 |
16 | #define BACKLIGHT_PWM_CHANNEL RP2040_PWM_CHANNEL_B
17 |
18 | #define AUDIO_PIN GP23
19 | #define AUDIO_PWM_DRIVER PWMD0
20 | #define AUDIO_PWM_CHANNEL RP2040_PWM_CHANNEL_A
21 |
22 | #define ADC_PIN GP29
23 |
24 | #define MIDI_ADVANCED
25 |
26 | #define ENCODERS_PAD_A { GP24, GP23, GP28, GP20}
27 | #define ENCODERS_PAD_B { GP25, GP22, GP29, GP21}
28 | #define ENCODER_RESOLUTION 2
29 |
30 | #define WS2812_DI_PIN GP15
31 | #define RGB_MATRIX_LED_COUNT 57
--------------------------------------------------------------------------------
/software/QMK/halconf.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Stefan Kerkmann
2 | // SPDX-License-Identifier: GPL-2.0-or-later
3 |
4 | #pragma once
5 |
6 | #define HAL_USE_I2C TRUE
7 | #define HAL_USE_PWM TRUE
8 | #define HAL_USE_ADC TRUE
9 |
10 | #include_next
11 |
--------------------------------------------------------------------------------
/software/QMK/info.json:
--------------------------------------------------------------------------------
1 | {
2 | "keyboard_name": "morph",
3 | "processor": "RP2040",
4 | "bootloader": "rp2040",
5 | "diode_direction": "COL2ROW",
6 | "manufacturer": "leafcutterlabs",
7 | "url": "leafcutterlabs.com",
8 | "maintainer": "qmk",
9 | "usb": {
10 | "vid": "0xCEEB",
11 | "pid": "0x0007",
12 | "device_version": "0.0.1"
13 | },
14 | "matrix_pins": {
15 | "cols": ["GP29", "GP28", "GP27", "GP26", "GP13", "GP8", "GP6", "GP5", "GP4", "GP3"],
16 | "rows": ["GP14", "GP12", "GP11", "GP10", "GP9", "GP7"]
17 | },
18 | "backlight": {
19 | "pin": "GP15"
20 | },
21 | "ws2812": {
22 | "pin": "GP15"
23 | },
24 | "rgblight": {
25 | "led_count": 57
26 | "animations": {
27 | "rgb_test": true
28 | }
29 | }
30 | "layout_aliases": {
31 | "LAYOUT": "LAYOUT_ortho_6x10"
32 | },
33 | "layouts": {
34 | "LAYOUT_ortho_6x10": {
35 | "layout": [
36 | {"matrix": [0, 0], "x": 0, "y": 0},
37 | {"matrix": [0, 1], "x": 1, "y": 0},
38 | {"matrix": [0, 2], "x": 2, "y": 0},
39 | {"matrix": [0, 3], "x": 3, "y": 0},
40 | {"matrix": [0, 4], "x": 4, "y": 0},
41 | {"matrix": [0, 5], "x": 5, "y": 0},
42 | {"matrix": [0, 6], "x": 6, "y": 0},
43 | {"matrix": [0, 7], "x": 7, "y": 0},
44 | {"matrix": [0, 8], "x": 8, "y": 0},
45 | {"matrix": [0, 9], "x": 9, "y": 0},
46 |
47 | {"matrix": [1, 0], "x": 0, "y": 1},
48 | {"matrix": [1, 1], "x": 1, "y": 1},
49 | {"matrix": [1, 2], "x": 2, "y": 1},
50 | {"matrix": [1, 3], "x": 3, "y": 1},
51 | {"matrix": [1, 4], "x": 4, "y": 1},
52 | {"matrix": [1, 5], "x": 5, "y": 1},
53 | {"matrix": [1, 6], "x": 6, "y": 1},
54 | {"matrix": [1, 7], "x": 7, "y": 1},
55 | {"matrix": [1, 8], "x": 8, "y": 1},
56 | {"matrix": [1, 9], "x": 9, "y": 1},
57 |
58 | {"matrix": [2, 0], "x": 0, "y": 2},
59 | {"matrix": [2, 1], "x": 1, "y": 2},
60 | {"matrix": [2, 2], "x": 2, "y": 2},
61 | {"matrix": [2, 3], "x": 3, "y": 2},
62 | {"matrix": [2, 4], "x": 4, "y": 2},
63 | {"matrix": [2, 5], "x": 5, "y": 2},
64 | {"matrix": [2, 6], "x": 6, "y": 2},
65 | {"matrix": [2, 7], "x": 7, "y": 2},
66 | {"matrix": [2, 8], "x": 8, "y": 2},
67 | {"matrix": [2, 9], "x": 9, "y": 2},
68 |
69 | {"matrix": [3, 0], "x": 0, "y": 3},
70 | {"matrix": [3, 1], "x": 1, "y": 3},
71 | {"matrix": [3, 2], "x": 2, "y": 3},
72 | {"matrix": [3, 3], "x": 3, "y": 3},
73 | {"matrix": [3, 4], "x": 4, "y": 3},
74 | {"matrix": [3, 5], "x": 5, "y": 3},
75 | {"matrix": [3, 6], "x": 6, "y": 3},
76 | {"matrix": [3, 7], "x": 7, "y": 3},
77 | {"matrix": [3, 8], "x": 8, "y": 3},
78 | {"matrix": [3, 9], "x": 9, "y": 3},
79 |
80 | {"matrix": [4, 0], "x": 0, "y": 4},
81 | {"matrix": [4, 1], "x": 1, "y": 4},
82 | {"matrix": [4, 2], "x": 2, "y": 4},
83 | {"matrix": [4, 3], "x": 3, "y": 4},
84 | {"matrix": [4, 4], "x": 4, "y": 4},
85 | {"matrix": [4, 5], "x": 5, "y": 4},
86 | {"matrix": [4, 6], "x": 6, "y": 4},
87 | {"matrix": [4, 7], "x": 7, "y": 4},
88 | {"matrix": [4, 8], "x": 8, "y": 4},
89 | {"matrix": [4, 9], "x": 9, "y": 4},
90 |
91 | {"matrix": [5, 0], "x": 0, "y": 5},
92 | {"matrix": [5, 1], "x": 1, "y": 5},
93 | {"matrix": [5, 2], "x": 2, "y": 5},
94 | {"matrix": [5, 3], "x": 3, "y": 5},
95 | {"matrix": [5, 4], "x": 4, "y": 5},
96 | {"matrix": [5, 5], "x": 5, "y": 5},
97 | {"matrix": [5, 6], "x": 6, "y": 5},
98 | {"matrix": [5, 7], "x": 7, "y": 5},
99 | {"matrix": [5, 8], "x": 8, "y": 5},
100 | {"matrix": [5, 9], "x": 9, "y": 5}
101 | ]
102 | }
103 | }
104 | }
105 |
--------------------------------------------------------------------------------
/software/QMK/keymaps/default/keymap.c:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 Yiancar
2 | *
3 | * This program is free software: you can redistribute it and/or modify
4 | * it under the terms of the GNU General Public License as published by
5 | * the Free Software Foundation, either version 2 of the License, or
6 | * (at your option) any later version.
7 | *
8 | * This program is distributed in the hope that it will be useful,
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | * GNU General Public License for more details.
12 | *
13 | * You should have received a copy of the GNU General Public License
14 | * along with this program. If not, see .
15 | */
16 | #include QMK_KEYBOARD_H
17 |
18 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
19 | [0] = LAYOUT_ortho_6x10(
20 | KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
21 | KC_F1,KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10,
22 | KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0,
23 | KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P,
24 | KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN,
25 | KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH
26 | ),
27 | };
28 |
29 | void matrix_init_user(void) {
30 |
31 | }
32 |
33 | void matrix_scan_user(void) {
34 |
35 | }
36 |
37 | bool process_record_user(uint16_t keycode, keyrecord_t *record) {
38 | return true;
39 | }
40 |
41 | void led_set_user(uint8_t usb_led) {
42 |
43 | }
44 |
--------------------------------------------------------------------------------
/software/QMK/keymaps/midi/keymap.c:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 Yiancar
2 | *
3 | * This program is free software: you can redistribute it and/or modify
4 | * it under the terms of the GNU General Public License as published by
5 | * the Free Software Foundation, either version 2 of the License, or
6 | * (at your option) any later version.
7 | *
8 | * This program is distributed in the hope that it will be useful,
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | * GNU General Public License for more details.
12 | *
13 | * You should have received a copy of the GNU General Public License
14 | * along with this program. If not, see .
15 | */
16 | #include QMK_KEYBOARD_H
17 |
18 | extern MidiDevice midi_device;
19 |
20 | enum custom_keycodes {
21 | MIDI_CC20 = SAFE_RANGE,
22 | MIDI_CC21,
23 | MIDI_CC22,
24 | MIDI_CC23,
25 | MIDI_CC24,
26 | MIDI_CC25,
27 | MIDI_CC26,
28 | MIDI_CC85,
29 | MIDI_CC86,
30 | MIDI_CC88,
31 | MIDI_CC89,
32 | MIDI_CC90,
33 | MIDI_CC102,
34 | MIDI_CC103,
35 | MIDI_CC104,
36 | MIDI_CC105,
37 | MIDI_CC106,
38 | MIDI_CC107,
39 | MIDI_CC108,
40 | MIDI_CC109,
41 | MIDI_CC110,
42 | MIDI_CC111,
43 | MIDI_CC112,
44 | MIDI_CC117,
45 | MIDI_CC118,
46 | MIDI_CC119,
47 | };
48 |
49 | #define MIDI_CC_OFF 0
50 | #define MIDI_CC_ON 127
51 |
52 | bool process_record_user(uint16_t keycode, keyrecord_t *record) {
53 | switch (keycode) {
54 | case MIDI_CC20:
55 | if (record->event.pressed) {
56 | midi_send_cc(&midi_device, midi_config.channel, 20, MIDI_CC_ON);
57 | } else {
58 | midi_send_cc(&midi_device, midi_config.channel, 20, MIDI_CC_OFF);
59 | }
60 | return true;
61 | case MIDI_CC21:
62 | if (record->event.pressed) {
63 | midi_send_cc(&midi_device, midi_config.channel, 21, MIDI_CC_ON);
64 | } else {
65 | midi_send_cc(&midi_device, midi_config.channel, 21, MIDI_CC_OFF);
66 | }
67 | return true;
68 | case MIDI_CC22:
69 | if (record->event.pressed) {
70 | midi_send_cc(&midi_device, midi_config.channel, 22, MIDI_CC_ON);
71 | } else {
72 | midi_send_cc(&midi_device, midi_config.channel, 22, MIDI_CC_OFF);
73 | }
74 | return true;
75 | case MIDI_CC23:
76 | if (record->event.pressed) {
77 | midi_send_cc(&midi_device, midi_config.channel, 23, MIDI_CC_ON);
78 | } else {
79 | midi_send_cc(&midi_device, midi_config.channel, 23, MIDI_CC_OFF);
80 | }
81 | return true;
82 | case MIDI_CC24:
83 | if (record->event.pressed) {
84 | midi_send_cc(&midi_device, midi_config.channel, 24, MIDI_CC_ON);
85 | } else {
86 | midi_send_cc(&midi_device, midi_config.channel, 24, MIDI_CC_OFF);
87 | }
88 | return true;
89 | case MIDI_CC25:
90 | if (record->event.pressed) {
91 | midi_send_cc(&midi_device, midi_config.channel, 25, MIDI_CC_ON);
92 | } else {
93 | midi_send_cc(&midi_device, midi_config.channel, 25, MIDI_CC_OFF);
94 | }
95 | return true;
96 | case MIDI_CC26:
97 | if (record->event.pressed) {
98 | midi_send_cc(&midi_device, midi_config.channel, 26, MIDI_CC_ON);
99 | } else {
100 | midi_send_cc(&midi_device, midi_config.channel, 26, MIDI_CC_OFF);
101 | }
102 | return true;
103 | case MIDI_CC85:
104 | if (record->event.pressed) {
105 | midi_send_cc(&midi_device, midi_config.channel, 85, MIDI_CC_ON);
106 | } else {
107 | midi_send_cc(&midi_device, midi_config.channel, 85, MIDI_CC_OFF);
108 | }
109 | return true;
110 | case MIDI_CC86:
111 | if (record->event.pressed) {
112 | midi_send_cc(&midi_device, midi_config.channel, 86, MIDI_CC_ON);
113 | } else {
114 | midi_send_cc(&midi_device, midi_config.channel, 86, MIDI_CC_OFF);
115 | }
116 | return true;
117 | case MIDI_CC88:
118 | if (record->event.pressed) {
119 | midi_send_cc(&midi_device, midi_config.channel, 88, MIDI_CC_ON);
120 | } else {
121 | midi_send_cc(&midi_device, midi_config.channel, 88, MIDI_CC_OFF);
122 | }
123 | return true;
124 | case MIDI_CC89:
125 | if (record->event.pressed) {
126 | midi_send_cc(&midi_device, midi_config.channel, 89, MIDI_CC_ON);
127 | } else {
128 | midi_send_cc(&midi_device, midi_config.channel, 89, MIDI_CC_OFF);
129 | }
130 | return true;
131 | case MIDI_CC90:
132 | if (record->event.pressed) {
133 | midi_send_cc(&midi_device, midi_config.channel, 90, MIDI_CC_ON);
134 | } else {
135 | midi_send_cc(&midi_device, midi_config.channel, 90, MIDI_CC_OFF);
136 | }
137 | return true;
138 | case MIDI_CC102:
139 | if (record->event.pressed) {
140 | midi_send_cc(&midi_device, midi_config.channel, 102, MIDI_CC_ON);
141 | } else {
142 | midi_send_cc(&midi_device, midi_config.channel, 102, MIDI_CC_OFF);
143 | }
144 | return true;
145 | case MIDI_CC103:
146 | if (record->event.pressed) {
147 | midi_send_cc(&midi_device, midi_config.channel, 103, MIDI_CC_ON);
148 | } else {
149 | midi_send_cc(&midi_device, midi_config.channel, 103, MIDI_CC_OFF);
150 | }
151 | return true;
152 | case MIDI_CC104:
153 | if (record->event.pressed) {
154 | midi_send_cc(&midi_device, midi_config.channel, 104, MIDI_CC_ON);
155 | } else {
156 | midi_send_cc(&midi_device, midi_config.channel, 104, MIDI_CC_OFF);
157 | }
158 | return true;
159 | case MIDI_CC105:
160 | if (record->event.pressed) {
161 | midi_send_cc(&midi_device, midi_config.channel, 105, MIDI_CC_ON);
162 | } else {
163 | midi_send_cc(&midi_device, midi_config.channel, 105, MIDI_CC_OFF);
164 | }
165 | return true;
166 | case MIDI_CC106:
167 | if (record->event.pressed) {
168 | midi_send_cc(&midi_device, midi_config.channel, 106, MIDI_CC_ON);
169 | } else {
170 | midi_send_cc(&midi_device, midi_config.channel, 106, MIDI_CC_OFF);
171 | }
172 | return true;
173 | case MIDI_CC107:
174 | if (record->event.pressed) {
175 | midi_send_cc(&midi_device, midi_config.channel, 107, MIDI_CC_ON);
176 | } else {
177 | midi_send_cc(&midi_device, midi_config.channel, 107, MIDI_CC_OFF);
178 | }
179 | return true;
180 | case MIDI_CC108:
181 | if (record->event.pressed) {
182 | midi_send_cc(&midi_device, midi_config.channel, 108, MIDI_CC_ON);
183 | } else {
184 | midi_send_cc(&midi_device, midi_config.channel, 108, MIDI_CC_OFF);
185 | }
186 | return true;
187 | case MIDI_CC109:
188 | if (record->event.pressed) {
189 | midi_send_cc(&midi_device, midi_config.channel, 109, MIDI_CC_ON);
190 | } else {
191 | midi_send_cc(&midi_device, midi_config.channel, 109, MIDI_CC_OFF);
192 | }
193 | return true;
194 | case MIDI_CC110:
195 | if (record->event.pressed) {
196 | midi_send_cc(&midi_device, midi_config.channel, 110, MIDI_CC_ON);
197 | } else {
198 | midi_send_cc(&midi_device, midi_config.channel, 110, MIDI_CC_OFF);
199 | }
200 | return true;
201 | case MIDI_CC111:
202 | if (record->event.pressed) {
203 | midi_send_cc(&midi_device, midi_config.channel, 111, MIDI_CC_ON);
204 | } else {
205 | midi_send_cc(&midi_device, midi_config.channel, 111, MIDI_CC_OFF);
206 | }
207 | return true;
208 | case MIDI_CC112:
209 | if (record->event.pressed) {
210 | midi_send_cc(&midi_device, midi_config.channel, 112, MIDI_CC_ON);
211 | } else {
212 | midi_send_cc(&midi_device, midi_config.channel, 112, MIDI_CC_OFF);
213 | }
214 | return true;
215 | case MIDI_CC117:
216 | if (record->event.pressed) {
217 | midi_send_cc(&midi_device, midi_config.channel, 117, MIDI_CC_ON);
218 | } else {
219 | midi_send_cc(&midi_device, midi_config.channel, 117, MIDI_CC_OFF);
220 | }
221 | return true;
222 | case MIDI_CC118:
223 | if (record->event.pressed) {
224 | midi_send_cc(&midi_device, midi_config.channel, 118, MIDI_CC_ON);
225 | } else {
226 | midi_send_cc(&midi_device, midi_config.channel, 118, MIDI_CC_OFF);
227 | }
228 | return true;
229 | case MIDI_CC119:
230 | if (record->event.pressed) {
231 | midi_send_cc(&midi_device, midi_config.channel, 119, MIDI_CC_ON);
232 | } else {
233 | midi_send_cc(&midi_device, midi_config.channel, 119, MIDI_CC_OFF);
234 | }
235 | return true;
236 | }
237 | return true;
238 | };
239 |
240 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
241 | [0] = LAYOUT_ortho_6x10(
242 | MI_C2, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Cs2, MI_Ds2, MI_E2,
243 | MI_Gb2, MI_Ab2, MI_Bb2, MI_C2, MI_D2, MI_E2, MI_Fs2, MI_Gs2, MI_As2, KC_NO,
244 | MI_C1, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, MI_Cs1, MI_Ds1, MI_E1,
245 | MI_Gb1, MI_Ab1, MI_Bb1, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Gs1, MI_As1, KC_NO,
246 | MI_C, MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Cs, MI_Ds, MI_E,
247 | MI_Gb, MI_Ab, MI_Bb, MI_C, MI_D, MI_E, MI_Fs, MI_Gs, MI_As, KC_NO
248 | ),
249 | };
250 |
251 | void matrix_init_user(void) {
252 |
253 | }
254 |
255 | void matrix_scan_user(void) {
256 |
257 | }
258 |
259 | void led_set_user(uint8_t usb_led) {
260 |
261 | }
262 | /*
263 | void housekeeping_task_user(void) {
264 | rgblight_setrgb_at(RGB_ORANGE, 0);
265 | rgblight_setrgb_at(RGB_WHITE, 18);
266 | rgblight_setrgb_at(RGB_PURPLE, 19);
267 | rgblight_setrgb_at(RGB_PINK, 37);
268 | rgblight_setrgb_at(RGB_ORANGE, 38);
269 | rgblight_setrgb_at(RGB_WHITE, 56);
270 |
271 | }
272 | */
273 | /*#if defined(ENCODER_MAP_ENABLE)
274 | const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
275 | [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
276 | [1] = { ENCODER_CCW_CW(KC_2, KC_3) },
277 | [2] = { ENCODER_CCW_CW(KC_4, KC_5) },
278 | [3] = { ENCODER_CCW_CW(MI_A3, MI_A4) }
279 | };
280 | #endif
281 | */
282 |
283 | //midi_send_cc(&midi_device, midi_config.channel, 80, 30);
--------------------------------------------------------------------------------
/software/QMK/keymaps/midi/rules.mk:
--------------------------------------------------------------------------------
1 | # Build Options
2 | # change yes to no to disable
3 | #
4 | BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
5 | MOUSEKEY_ENABLE = no # Mouse keys
6 | EXTRAKEY_ENABLE = no # Audio control and System control
7 | CONSOLE_ENABLE = no # Console for debug
8 | COMMAND_ENABLE = no # Commands for debug and configuration
9 | NKRO_ENABLE = no # Enable N-Key Rollover
10 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
11 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
12 | WS2812_DRIVER = vendor
13 | AUDIO_ENABLE = no # Audio output
14 | ENCODER_ENABLE = no # Enable rotary encoders
15 | MIDI_ENABLE = yes
--------------------------------------------------------------------------------
/software/QMK/keymaps/vial/config.h:
--------------------------------------------------------------------------------
1 | /* SPDX-License-Identifier: GPL-2.0-or-later */
2 |
3 | #pragma once
4 |
5 | #define MIDI_ADVANCED
6 | #define VIAL_KEYBOARD_UID {0x18, 0x69, 0xB7, 0x81, 0xFF, 0xED, 0x2D, 0x4A}
7 |
8 | //#define RGB_MATRIX_FRAMEBUFFER_EFFECTS
9 | //#define RGB_MATRIX_KEYPRESSES
10 |
11 |
--------------------------------------------------------------------------------
/software/QMK/keymaps/vial/keymap.c:
--------------------------------------------------------------------------------
1 | /* Copyright 2018 Yiancar
2 | *
3 | * This program is free software: you can redistribute it and/or modify
4 | * it under the terms of the GNU General Public License as published by
5 | * the Free Software Foundation, either version 2 of the License, or
6 | * (at your option) any later version.
7 | *
8 | * This program is distributed in the hope that it will be useful,
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 | * GNU General Public License for more details.
12 | *
13 | * You should have received a copy of the GNU General Public License
14 | * along with this program. If not, see .
15 | */
16 | #include QMK_KEYBOARD_H
17 |
18 | extern MidiDevice midi_device;
19 |
20 | enum custom_keycodes {
21 | MIDI_CC20 = SAFE_RANGE,
22 | MIDI_CC21,
23 | MIDI_CC22,
24 | MIDI_CC23,
25 | MIDI_CC24,
26 | MIDI_CC25,
27 | MIDI_CC26,
28 | MIDI_CC85,
29 | MIDI_CC86,
30 | MIDI_CC88,
31 | MIDI_CC89,
32 | MIDI_CC90,
33 | MIDI_CC102,
34 | MIDI_CC103,
35 | MIDI_CC104,
36 | MIDI_CC105,
37 | MIDI_CC106,
38 | MIDI_CC107,
39 | MIDI_CC108,
40 | MIDI_CC109,
41 | MIDI_CC110,
42 | MIDI_CC111,
43 | MIDI_CC112,
44 | MIDI_CC117,
45 | MIDI_CC118,
46 | MIDI_CC119,
47 | };
48 |
49 | #define MIDI_CC_OFF 0
50 | #define MIDI_CC_ON 127
51 |
52 | bool process_record_user(uint16_t keycode, keyrecord_t *record) {
53 | switch (keycode) {
54 | case MIDI_CC20:
55 | if (record->event.pressed) {
56 | midi_send_cc(&midi_device, midi_config.channel, 20, MIDI_CC_ON);
57 | } else {
58 | midi_send_cc(&midi_device, midi_config.channel, 20, MIDI_CC_OFF);
59 | }
60 | return true;
61 | case MIDI_CC21:
62 | if (record->event.pressed) {
63 | midi_send_cc(&midi_device, midi_config.channel, 21, MIDI_CC_ON);
64 | } else {
65 | midi_send_cc(&midi_device, midi_config.channel, 21, MIDI_CC_OFF);
66 | }
67 | return true;
68 | case MIDI_CC22:
69 | if (record->event.pressed) {
70 | midi_send_cc(&midi_device, midi_config.channel, 22, MIDI_CC_ON);
71 | } else {
72 | midi_send_cc(&midi_device, midi_config.channel, 22, MIDI_CC_OFF);
73 | }
74 | return true;
75 | case MIDI_CC23:
76 | if (record->event.pressed) {
77 | midi_send_cc(&midi_device, midi_config.channel, 23, MIDI_CC_ON);
78 | } else {
79 | midi_send_cc(&midi_device, midi_config.channel, 23, MIDI_CC_OFF);
80 | }
81 | return true;
82 | case MIDI_CC24:
83 | if (record->event.pressed) {
84 | midi_send_cc(&midi_device, midi_config.channel, 24, MIDI_CC_ON);
85 | } else {
86 | midi_send_cc(&midi_device, midi_config.channel, 24, MIDI_CC_OFF);
87 | }
88 | return true;
89 | case MIDI_CC25:
90 | if (record->event.pressed) {
91 | midi_send_cc(&midi_device, midi_config.channel, 25, MIDI_CC_ON);
92 | } else {
93 | midi_send_cc(&midi_device, midi_config.channel, 25, MIDI_CC_OFF);
94 | }
95 | return true;
96 | case MIDI_CC26:
97 | if (record->event.pressed) {
98 | midi_send_cc(&midi_device, midi_config.channel, 26, MIDI_CC_ON);
99 | } else {
100 | midi_send_cc(&midi_device, midi_config.channel, 26, MIDI_CC_OFF);
101 | }
102 | return true;
103 | case MIDI_CC85:
104 | if (record->event.pressed) {
105 | midi_send_cc(&midi_device, midi_config.channel, 85, MIDI_CC_ON);
106 | } else {
107 | midi_send_cc(&midi_device, midi_config.channel, 85, MIDI_CC_OFF);
108 | }
109 | return true;
110 | case MIDI_CC86:
111 | if (record->event.pressed) {
112 | midi_send_cc(&midi_device, midi_config.channel, 86, MIDI_CC_ON);
113 | } else {
114 | midi_send_cc(&midi_device, midi_config.channel, 86, MIDI_CC_OFF);
115 | }
116 | return true;
117 | case MIDI_CC88:
118 | if (record->event.pressed) {
119 | midi_send_cc(&midi_device, midi_config.channel, 88, MIDI_CC_ON);
120 | } else {
121 | midi_send_cc(&midi_device, midi_config.channel, 88, MIDI_CC_OFF);
122 | }
123 | return true;
124 | case MIDI_CC89:
125 | if (record->event.pressed) {
126 | midi_send_cc(&midi_device, midi_config.channel, 89, MIDI_CC_ON);
127 | } else {
128 | midi_send_cc(&midi_device, midi_config.channel, 89, MIDI_CC_OFF);
129 | }
130 | return true;
131 | case MIDI_CC90:
132 | if (record->event.pressed) {
133 | midi_send_cc(&midi_device, midi_config.channel, 90, MIDI_CC_ON);
134 | } else {
135 | midi_send_cc(&midi_device, midi_config.channel, 90, MIDI_CC_OFF);
136 | }
137 | return true;
138 | case MIDI_CC102:
139 | if (record->event.pressed) {
140 | midi_send_cc(&midi_device, midi_config.channel, 102, MIDI_CC_ON);
141 | } else {
142 | midi_send_cc(&midi_device, midi_config.channel, 102, MIDI_CC_OFF);
143 | }
144 | return true;
145 | case MIDI_CC103:
146 | if (record->event.pressed) {
147 | midi_send_cc(&midi_device, midi_config.channel, 103, MIDI_CC_ON);
148 | } else {
149 | midi_send_cc(&midi_device, midi_config.channel, 103, MIDI_CC_OFF);
150 | }
151 | return true;
152 | case MIDI_CC104:
153 | if (record->event.pressed) {
154 | midi_send_cc(&midi_device, midi_config.channel, 104, MIDI_CC_ON);
155 | } else {
156 | midi_send_cc(&midi_device, midi_config.channel, 104, MIDI_CC_OFF);
157 | }
158 | return true;
159 | case MIDI_CC105:
160 | if (record->event.pressed) {
161 | midi_send_cc(&midi_device, midi_config.channel, 105, MIDI_CC_ON);
162 | } else {
163 | midi_send_cc(&midi_device, midi_config.channel, 105, MIDI_CC_OFF);
164 | }
165 | return true;
166 | case MIDI_CC106:
167 | if (record->event.pressed) {
168 | midi_send_cc(&midi_device, midi_config.channel, 106, MIDI_CC_ON);
169 | } else {
170 | midi_send_cc(&midi_device, midi_config.channel, 106, MIDI_CC_OFF);
171 | }
172 | return true;
173 | case MIDI_CC107:
174 | if (record->event.pressed) {
175 | midi_send_cc(&midi_device, midi_config.channel, 107, MIDI_CC_ON);
176 | } else {
177 | midi_send_cc(&midi_device, midi_config.channel, 107, MIDI_CC_OFF);
178 | }
179 | return true;
180 | case MIDI_CC108:
181 | if (record->event.pressed) {
182 | midi_send_cc(&midi_device, midi_config.channel, 108, MIDI_CC_ON);
183 | } else {
184 | midi_send_cc(&midi_device, midi_config.channel, 108, MIDI_CC_OFF);
185 | }
186 | return true;
187 | case MIDI_CC109:
188 | if (record->event.pressed) {
189 | midi_send_cc(&midi_device, midi_config.channel, 109, MIDI_CC_ON);
190 | } else {
191 | midi_send_cc(&midi_device, midi_config.channel, 109, MIDI_CC_OFF);
192 | }
193 | return true;
194 | case MIDI_CC110:
195 | if (record->event.pressed) {
196 | midi_send_cc(&midi_device, midi_config.channel, 110, MIDI_CC_ON);
197 | } else {
198 | midi_send_cc(&midi_device, midi_config.channel, 110, MIDI_CC_OFF);
199 | }
200 | return true;
201 | case MIDI_CC111:
202 | if (record->event.pressed) {
203 | midi_send_cc(&midi_device, midi_config.channel, 111, MIDI_CC_ON);
204 | } else {
205 | midi_send_cc(&midi_device, midi_config.channel, 111, MIDI_CC_OFF);
206 | }
207 | return true;
208 | case MIDI_CC112:
209 | if (record->event.pressed) {
210 | midi_send_cc(&midi_device, midi_config.channel, 112, MIDI_CC_ON);
211 | } else {
212 | midi_send_cc(&midi_device, midi_config.channel, 112, MIDI_CC_OFF);
213 | }
214 | return true;
215 | case MIDI_CC117:
216 | if (record->event.pressed) {
217 | midi_send_cc(&midi_device, midi_config.channel, 117, MIDI_CC_ON);
218 | } else {
219 | midi_send_cc(&midi_device, midi_config.channel, 117, MIDI_CC_OFF);
220 | }
221 | return true;
222 | case MIDI_CC118:
223 | if (record->event.pressed) {
224 | midi_send_cc(&midi_device, midi_config.channel, 118, MIDI_CC_ON);
225 | } else {
226 | midi_send_cc(&midi_device, midi_config.channel, 118, MIDI_CC_OFF);
227 | }
228 | return true;
229 | case MIDI_CC119:
230 | if (record->event.pressed) {
231 | midi_send_cc(&midi_device, midi_config.channel, 119, MIDI_CC_ON);
232 | } else {
233 | midi_send_cc(&midi_device, midi_config.channel, 119, MIDI_CC_OFF);
234 | }
235 | return true;
236 | }
237 | return true;
238 | };
239 |
240 | const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
241 | [0] = LAYOUT_ortho_6x10(
242 | MI_C2, MI_Db2, MI_Eb2, MI_F2, MI_G2, MI_A2, MI_B2, MI_Cs2, MI_Ds2, MI_E2,
243 | MI_Gb2, MI_Ab2, MI_Bb2, MI_C2, MI_D2, MI_E2, MI_Fs2, MI_Gs2, MI_As2, KC_NO,
244 | MI_C1, MI_Db1, MI_Eb1, MI_F1, MI_G1, MI_A1, MI_B1, MI_Cs1, MI_Ds1, MI_E1,
245 | MI_Gb1, MI_Ab1, MI_Bb1, MI_C1, MI_D1, MI_E1, MI_Fs1, MI_Gs1, MI_As1, KC_NO,
246 | MI_C, MI_Db, MI_Eb, MI_F, MI_G, MI_A, MI_B, MI_Cs, MI_Ds, MI_E,
247 | MI_Gb, MI_Ab, MI_Bb, MI_C, MI_D, MI_E, MI_Fs, MI_Gs, MI_As, KC_NO
248 | ),
249 | };
250 |
251 | void matrix_init_user(void) {
252 |
253 | }
254 |
255 | void matrix_scan_user(void) {
256 |
257 | }
258 |
259 | void led_set_user(uint8_t usb_led) {
260 |
261 | }
262 | /*
263 | void housekeeping_task_user(void) {
264 | rgblight_setrgb_at(RGB_ORANGE, 0);
265 | rgblight_setrgb_at(RGB_WHITE, 18);
266 | rgblight_setrgb_at(RGB_PURPLE, 19);
267 | rgblight_setrgb_at(RGB_PINK, 37);
268 | rgblight_setrgb_at(RGB_ORANGE, 38);
269 | rgblight_setrgb_at(RGB_WHITE, 56);
270 |
271 | }
272 | */
273 | /*#if defined(ENCODER_MAP_ENABLE)
274 | const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = {
275 | [0] = { ENCODER_CCW_CW(KC_VOLU, KC_VOLD) },
276 | [1] = { ENCODER_CCW_CW(KC_2, KC_3) },
277 | [2] = { ENCODER_CCW_CW(KC_4, KC_5) },
278 | [3] = { ENCODER_CCW_CW(MI_A3, MI_A4) }
279 | };
280 | #endif
281 | */
282 |
283 | //midi_send_cc(&midi_device, midi_config.channel, 80, 30);
--------------------------------------------------------------------------------
/software/QMK/keymaps/vial/rules.mk:
--------------------------------------------------------------------------------
1 | # Build Options
2 | # change yes to no to disable
3 | #
4 | BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
5 | MOUSEKEY_ENABLE = no # Mouse keys
6 | EXTRAKEY_ENABLE = no # Audio control and System control
7 | CONSOLE_ENABLE = no # Console for debug
8 | COMMAND_ENABLE = no # Commands for debug and configuration
9 | NKRO_ENABLE = no # Enable N-Key Rollover
10 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
11 | RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
12 | WS2812_DRIVER = vendor
13 | AUDIO_ENABLE = no # Audio output
14 | ENCODER_ENABLE = no # Enable rotary encoders
15 | MIDI_ENABLE = yes
16 | VIA_ENABLE = yes
17 | VIAL_ENABLE = yes
18 | VIAL_INSECURE = yes
19 | RGB_MATRIX_ENABLE = no
20 | RGB_MATRIX_DRIVER = ws2812
21 | VIALRGB_ENABLE = no
--------------------------------------------------------------------------------
/software/QMK/keymaps/vial/vial.json:
--------------------------------------------------------------------------------
1 | { "vial": {
2 | "midi": "advanced"
3 | },
4 | "lighting": "none",
5 | "matrix": {
6 | "rows": 6,
7 | "cols": 10
8 | },
9 | "layouts": {
10 | "keymap":[
11 | [
12 | "0,0",
13 | "0,1",
14 | "0,2",
15 | "0,3",
16 | "0,4",
17 | "0,5",
18 | "0,6",
19 | "0,7",
20 | "0,8",
21 | "0,9"
22 | ],
23 | [
24 | {
25 | "x": 0.5
26 | },
27 | "1,0",
28 | "1,1",
29 | "1,2",
30 | "1,3",
31 | "1,4",
32 | "1,5",
33 | "1,6",
34 | "1,7",
35 | "1,8"
36 | ],
37 | [
38 | "2,0",
39 | "2,1",
40 | "2,2",
41 | "2,3",
42 | "2,4",
43 | "2,5",
44 | "2,6",
45 | "2,7",
46 | "2,8",
47 | "2,9"
48 | ],
49 | [
50 | {
51 | "x": 0.5
52 | },
53 | "3,0",
54 | "3,1",
55 | "3,2",
56 | "3,3",
57 | "3,4",
58 | "3,5",
59 | "3,6",
60 | "3,7",
61 | "3,8"
62 | ],
63 | [
64 | "4,0",
65 | "4,1",
66 | "4,2",
67 | "4,3",
68 | "4,4",
69 | "4,5",
70 | "4,6",
71 | "4,7",
72 | "4,8",
73 | "4,9"
74 | ],
75 | [
76 | {
77 | "x": 0.5
78 | },
79 | "5,0",
80 | "5,1",
81 | "5,2",
82 | "5,3",
83 | "5,4",
84 | "5,5",
85 | "5,6",
86 | "5,7",
87 | "5,8"
88 | ]
89 | ]
90 | }
91 | }
--------------------------------------------------------------------------------
/software/QMK/mcuconf.h:
--------------------------------------------------------------------------------
1 | // Copyright 2022 Stefan Kerkmann
2 | // SPDX-License-Identifier: GPL-2.0-or-later
3 |
4 | #pragma once
5 |
6 | #include_next
7 |
8 | #undef RP_PWM_USE_PWM0
9 | #define RP_PWM_USE_PWM0 TRUE
10 |
11 | #undef RP_PWM_USE_PWM4
12 | #define RP_PWM_USE_PWM4 TRUE
--------------------------------------------------------------------------------
/software/QMK/readme.md:
--------------------------------------------------------------------------------
1 | # Raspberry Pi 2040 onekey
2 |
3 | To trigger keypress, short together pins *GP4* and *GP5*.
4 |
5 | Double-tap reset to enter bootloader mode. Copy the built uf2 file to the device by dragging the file to the new USB disk.
6 |
7 | ## Supported Hardware
8 |
9 | * Raspberry Pi Pico
10 | * SparkFun Pro Micro - RP2040
11 | * Adafruit KB2040 - RP2040 Kee Boar
12 | * ...and many more RP2040 based development boards
13 |
--------------------------------------------------------------------------------
/software/QMK/rules.mk:
--------------------------------------------------------------------------------
1 | # Build Options
2 | # change yes to no to disable
3 | #
4 | BOOTMAGIC_ENABLE = no # Enable Bootmagic Lite
5 | MOUSEKEY_ENABLE = no # Mouse keys
6 | EXTRAKEY_ENABLE = no # Audio control and System control
7 | CONSOLE_ENABLE = no # Console for debug
8 | COMMAND_ENABLE = no # Commands for debug and configuration
9 | NKRO_ENABLE = no # Enable N-Key Rollover
10 | BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
11 | RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
12 | WS2812_DRIVER = vendor
13 | AUDIO_ENABLE = no # Audio output
14 | ENCODER_ENABLE = no # Enable rotary encoders
--------------------------------------------------------------------------------
/software/leafcutterlabs_morph_vial.uf2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/LeafCutterLabs/morph/d61198118b1386a16fa40c31f6ede41da509ddde/software/leafcutterlabs_morph_vial.uf2
--------------------------------------------------------------------------------