├── 3d print files ├── ULN2003-dual-cover.stl ├── ULN2003-dual.stl ├── mounting-bracket-base.stl ├── mounting-bracket-top.stl ├── mounting-bracket.stl ├── spur_gear_.25.stl ├── spur_gear_3-16.stl ├── spur_gear_5-32.stl ├── spur_gear_5mm.stl └── spur_gear_7-32.stl ├── ClockPrimary-HA ├── ClockPrimary-HA.ino └── config.h ├── ClockPrimary-OwnTracks ├── ClockPrimary-OwnTracks.ino └── config.h ├── ClockSecondary ├── ClockHand.cpp ├── ClockHand.h └── ClockSecondary.ino ├── README.md └── Wiring diagram.png /3d print files/ULN2003-dual-cover.stl: -------------------------------------------------------------------------------- 1 | solid ULN2003-dual 2 | facet normal -0.3826834323650872 -0.9238795325112878 -0.0 3 | outer loop 4 | vertex 43.75000000000001 -24.2816364905389 0.9999999999999999 5 | vertex 43.147047612756296 -24.031885434277328 0.0 6 | vertex 43.75000000000001 -24.2816364905389 0.0 7 | endloop 8 | endfacet 9 | facet normal -0.3826834323650872 -0.9238795325112878 -0.0 10 | outer loop 11 | vertex 43.147047612756296 -24.031885434277328 0.0 12 | vertex 43.75000000000001 -24.2816364905389 0.9999999999999999 13 | vertex 43.147047612756296 -24.031885434277328 0.9999999999999999 14 | endloop 15 | endfacet 16 | facet normal -0.99144486137381 0.13052619222005557 0.0 17 | outer loop 18 | vertex 45.0 -26.4467 0.9999999999999999 19 | vertex 44.91481456572267 -27.0937476127563 0.0 20 | vertex 44.91481456572267 -27.0937476127563 0.9999999999999999 21 | endloop 22 | endfacet 23 | facet normal -0.99144486137381 0.13052619222005557 0.0 24 | outer loop 25 | vertex 44.91481456572267 -27.0937476127563 0.0 26 | vertex 45.0 -26.4467 0.9999999999999999 27 | vertex 45.0 -26.4467 0.0 28 | endloop 29 | endfacet 30 | facet normal 0.3826834323650872 0.9238795325112878 0.0 31 | outer loop 32 | vertex 41.25 -28.611763509461092 0.9999999999999999 33 | vertex 41.8529523872437 -28.861514565722672 0.0 34 | vertex 41.25 -28.611763509461092 0.0 35 | endloop 36 | endfacet 37 | facet normal 0.3826834323650872 0.9238795325112878 0.0 38 | outer loop 39 | vertex 41.8529523872437 -28.861514565722672 0.0 40 | vertex 41.25 -28.611763509461092 0.9999999999999999 41 | vertex 41.8529523872437 -28.861514565722672 0.9999999999999999 42 | endloop 43 | endfacet 44 | facet normal 0.6087614290087223 0.793353340291234 0.0 45 | outer loop 46 | vertex 40.73223304703363 -28.214466952966365 0.9999999999999999 47 | vertex 41.25 -28.611763509461092 0.0 48 | vertex 40.73223304703363 -28.214466952966365 0.0 49 | endloop 50 | endfacet 51 | facet normal 0.6087614290087223 0.793353340291234 0.0 52 | outer loop 53 | vertex 41.25 -28.611763509461092 0.0 54 | vertex 40.73223304703363 -28.214466952966365 0.9999999999999999 55 | vertex 41.25 -28.611763509461092 0.9999999999999999 56 | endloop 57 | endfacet 58 | facet normal 0.3826834323650902 -0.9238795325112866 0.0 59 | outer loop 60 | vertex 41.8529523872437 -24.031885434277328 0.9999999999999999 61 | vertex 41.25 -24.2816364905389 0.0 62 | vertex 41.8529523872437 -24.031885434277328 0.0 63 | endloop 64 | endfacet 65 | facet normal 0.3826834323650902 -0.9238795325112866 0.0 66 | outer loop 67 | vertex 41.25 -24.2816364905389 0.0 68 | vertex 41.8529523872437 -24.031885434277328 0.9999999999999999 69 | vertex 41.25 -24.2816364905389 0.9999999999999999 70 | endloop 71 | endfacet 72 | facet normal -0.3826834323650902 0.9238795325112866 0.0 73 | outer loop 74 | vertex 43.147047612756296 -28.861514565722672 0.9999999999999999 75 | vertex 43.74999999999999 -28.611763509461092 0.0 76 | vertex 43.147047612756296 -28.861514565722672 0.0 77 | endloop 78 | endfacet 79 | facet normal -0.3826834323650902 0.9238795325112866 0.0 80 | outer loop 81 | vertex 43.74999999999999 -28.611763509461092 0.0 82 | vertex 43.147047612756296 -28.861514565722672 0.9999999999999999 83 | vertex 43.74999999999999 -28.611763509461092 0.9999999999999999 84 | endloop 85 | endfacet 86 | facet normal -0.13052619222005188 0.9914448613738104 0.0 87 | outer loop 88 | vertex 42.50000000000001 -28.9467 0.9999999999999999 89 | vertex 43.147047612756296 -28.861514565722672 0.0 90 | vertex 42.50000000000001 -28.9467 0.0 91 | endloop 92 | endfacet 93 | facet normal -0.13052619222005188 0.9914448613738104 0.0 94 | outer loop 95 | vertex 43.147047612756296 -28.861514565722672 0.0 96 | vertex 42.50000000000001 -28.9467 0.9999999999999999 97 | vertex 43.147047612756296 -28.861514565722672 0.9999999999999999 98 | endloop 99 | endfacet 100 | facet normal 0.9914448613738109 0.13052619222004763 0.0 101 | outer loop 102 | vertex 40.0 -26.4467 0.0 103 | vertex 40.08518543427732 -27.0937476127563 0.9999999999999999 104 | vertex 40.08518543427732 -27.0937476127563 0.0 105 | endloop 106 | endfacet 107 | facet normal 0.9914448613738109 0.13052619222004763 0.0 108 | outer loop 109 | vertex 40.08518543427732 -27.0937476127563 0.9999999999999999 110 | vertex 40.0 -26.4467 0.0 111 | vertex 40.0 -26.4467 0.9999999999999999 112 | endloop 113 | endfacet 114 | facet normal 0.6087614290087195 -0.7933533402912359 0.0 115 | outer loop 116 | vertex 41.25 -24.2816364905389 0.9999999999999999 117 | vertex 40.73223304703363 -24.678933047033627 0.0 118 | vertex 41.25 -24.2816364905389 0.0 119 | endloop 120 | endfacet 121 | facet normal 0.6087614290087195 -0.7933533402912359 0.0 122 | outer loop 123 | vertex 40.73223304703363 -24.678933047033627 0.0 124 | vertex 41.25 -24.2816364905389 0.9999999999999999 125 | vertex 40.73223304703363 -24.678933047033627 0.9999999999999999 126 | endloop 127 | endfacet 128 | facet normal 0.7933533402912359 -0.6087614290087195 0.0 129 | outer loop 130 | vertex 40.73223304703363 -24.678933047033627 0.0 131 | vertex 40.3349364905389 -25.196699999999996 0.9999999999999999 132 | vertex 40.3349364905389 -25.196699999999996 0.0 133 | endloop 134 | endfacet 135 | facet normal 0.7933533402912359 -0.6087614290087195 0.0 136 | outer loop 137 | vertex 40.3349364905389 -25.196699999999996 0.9999999999999999 138 | vertex 40.73223304703363 -24.678933047033627 0.0 139 | vertex 40.73223304703363 -24.678933047033627 0.9999999999999999 140 | endloop 141 | endfacet 142 | facet normal 0.9238795325112842 0.3826834323650961 0.0 143 | outer loop 144 | vertex 40.08518543427732 -27.0937476127563 0.0 145 | vertex 40.3349364905389 -27.696699999999996 0.9999999999999999 146 | vertex 40.3349364905389 -27.696699999999996 0.0 147 | endloop 148 | endfacet 149 | facet normal 0.9238795325112842 0.3826834323650961 0.0 150 | outer loop 151 | vertex 40.3349364905389 -27.696699999999996 0.9999999999999999 152 | vertex 40.08518543427732 -27.0937476127563 0.0 153 | vertex 40.08518543427732 -27.0937476127563 0.9999999999999999 154 | endloop 155 | endfacet 156 | facet normal -0.9238795325112842 -0.3826834323650961 -0.0 157 | outer loop 158 | vertex 44.66506350946109 -25.196699999999996 0.9999999999999999 159 | vertex 44.91481456572267 -25.799652387243697 0.0 160 | vertex 44.91481456572267 -25.799652387243697 0.9999999999999999 161 | endloop 162 | endfacet 163 | facet normal -0.9238795325112842 -0.3826834323650961 -0.0 164 | outer loop 165 | vertex 44.91481456572267 -25.799652387243697 0.0 166 | vertex 44.66506350946109 -25.196699999999996 0.9999999999999999 167 | vertex 44.66506350946109 -25.196699999999996 0.0 168 | endloop 169 | endfacet 170 | facet normal -0.6087614290087238 -0.793353340291233 -0.0 171 | outer loop 172 | vertex 44.26776695296637 -24.678933047033627 0.9999999999999999 173 | vertex 43.75000000000001 -24.2816364905389 0.0 174 | vertex 44.26776695296637 -24.678933047033627 0.0 175 | endloop 176 | endfacet 177 | facet normal -0.6087614290087238 -0.793353340291233 -0.0 178 | outer loop 179 | vertex 43.75000000000001 -24.2816364905389 0.0 180 | vertex 44.26776695296637 -24.678933047033627 0.9999999999999999 181 | vertex 43.75000000000001 -24.2816364905389 0.9999999999999999 182 | endloop 183 | endfacet 184 | facet normal 1.0 0.0 0.0 185 | outer loop 186 | vertex 50.00000000000001 -18.9467 0.0 187 | vertex 50.00000000000001 -33.9467 0.9999999999999999 188 | vertex 50.00000000000001 -33.9467 0.0 189 | endloop 190 | endfacet 191 | facet normal 1.0 0.0 0.0 192 | outer loop 193 | vertex 50.00000000000001 -33.9467 0.9999999999999999 194 | vertex 50.00000000000001 -18.9467 0.0 195 | vertex 50.00000000000001 -18.9467 0.9999999999999999 196 | endloop 197 | endfacet 198 | facet normal -0.0 1.0 -0.0 199 | outer loop 200 | vertex 37.99999999999999 -18.9467 7.402412016688231e-15 201 | vertex 50.00000000000001 -18.9467 0.9999999999999999 202 | vertex 50.00000000000001 -18.9467 0.0 203 | endloop 204 | endfacet 205 | facet normal -0.0 1.0 -0.0 206 | outer loop 207 | vertex 50.00000000000001 -18.9467 0.9999999999999999 208 | vertex 37.99999999999999 -18.9467 7.402412016688231e-15 209 | vertex 37.99999999999999 -18.9467 0.9999999999999999 210 | endloop 211 | endfacet 212 | facet normal -0.6087614290087223 -0.793353340291234 -0.0 213 | outer loop 214 | vertex -40.73223304703363 -24.67893304703363 0.9999999999999999 215 | vertex -41.25 -24.2816364905389 0.0 216 | vertex -40.73223304703363 -24.67893304703363 0.0 217 | endloop 218 | endfacet 219 | facet normal -0.6087614290087223 -0.793353340291234 -0.0 220 | outer loop 221 | vertex -41.25 -24.2816364905389 0.0 222 | vertex -40.73223304703363 -24.67893304703363 0.9999999999999999 223 | vertex -41.25 -24.2816364905389 0.9999999999999999 224 | endloop 225 | endfacet 226 | facet normal -0.0 -0.0 1.0 227 | outer loop 228 | vertex 37.99999999999999 -33.94670000000001 0.9999999999999999 229 | vertex 40.08518543427732 -27.0937476127563 0.9999999999999999 230 | vertex 37.99999999999999 -18.9467 0.9999999999999999 231 | endloop 232 | endfacet 233 | facet normal -0.0 -0.0 1.0 234 | outer loop 235 | vertex 40.08518543427732 -27.0937476127563 0.9999999999999999 236 | vertex 37.99999999999999 -33.94670000000001 0.9999999999999999 237 | vertex 40.3349364905389 -27.696699999999996 0.9999999999999999 238 | endloop 239 | endfacet 240 | facet normal -0.0 -0.0 1.0 241 | outer loop 242 | vertex 40.3349364905389 -27.696699999999996 0.9999999999999999 243 | vertex 37.99999999999999 -33.94670000000001 0.9999999999999999 244 | vertex 40.73223304703363 -28.214466952966365 0.9999999999999999 245 | endloop 246 | endfacet 247 | facet normal -0.0 -0.0 1.0 248 | outer loop 249 | vertex 40.73223304703363 -28.214466952966365 0.9999999999999999 250 | vertex 37.99999999999999 -33.94670000000001 0.9999999999999999 251 | vertex 41.25 -28.611763509461092 0.9999999999999999 252 | endloop 253 | endfacet 254 | facet normal -0.0 -0.0 1.0 255 | outer loop 256 | vertex 41.25 -28.611763509461092 0.9999999999999999 257 | vertex 37.99999999999999 -33.94670000000001 0.9999999999999999 258 | vertex 50.00000000000001 -33.9467 0.9999999999999999 259 | endloop 260 | endfacet 261 | facet normal -0.0 -0.0 1.0 262 | outer loop 263 | vertex 37.99999999999999 -18.9467 0.9999999999999999 264 | vertex 40.08518543427732 -27.0937476127563 0.9999999999999999 265 | vertex 40.0 -26.4467 0.9999999999999999 266 | endloop 267 | endfacet 268 | facet normal -0.0 -0.0 1.0 269 | outer loop 270 | vertex 41.25 -28.611763509461092 0.9999999999999999 271 | vertex 50.00000000000001 -33.9467 0.9999999999999999 272 | vertex 41.8529523872437 -28.861514565722672 0.9999999999999999 273 | endloop 274 | endfacet 275 | facet normal -0.0 -0.0 1.0 276 | outer loop 277 | vertex 41.8529523872437 -28.861514565722672 0.9999999999999999 278 | vertex 50.00000000000001 -33.9467 0.9999999999999999 279 | vertex 42.50000000000001 -28.9467 0.9999999999999999 280 | endloop 281 | endfacet 282 | facet normal -0.0 -0.0 1.0 283 | outer loop 284 | vertex 42.50000000000001 -28.9467 0.9999999999999999 285 | vertex 50.00000000000001 -33.9467 0.9999999999999999 286 | vertex 43.147047612756296 -28.861514565722672 0.9999999999999999 287 | endloop 288 | endfacet 289 | facet normal -0.0 -0.0 1.0 290 | outer loop 291 | vertex 43.147047612756296 -28.861514565722672 0.9999999999999999 292 | vertex 50.00000000000001 -33.9467 0.9999999999999999 293 | vertex 43.74999999999999 -28.611763509461092 0.9999999999999999 294 | endloop 295 | endfacet 296 | facet normal -0.0 -0.0 1.0 297 | outer loop 298 | vertex 43.74999999999999 -28.611763509461092 0.9999999999999999 299 | vertex 50.00000000000001 -33.9467 0.9999999999999999 300 | vertex 44.26776695296637 -28.214466952966372 0.9999999999999999 301 | endloop 302 | endfacet 303 | facet normal -0.0 -0.0 1.0 304 | outer loop 305 | vertex 44.26776695296637 -28.214466952966372 0.9999999999999999 306 | vertex 50.00000000000001 -33.9467 0.9999999999999999 307 | vertex 44.66506350946109 -27.696699999999996 0.9999999999999999 308 | endloop 309 | endfacet 310 | facet normal -0.0 -0.0 1.0 311 | outer loop 312 | vertex 44.66506350946109 -27.696699999999996 0.9999999999999999 313 | vertex 50.00000000000001 -33.9467 0.9999999999999999 314 | vertex 44.91481456572267 -27.0937476127563 0.9999999999999999 315 | endloop 316 | endfacet 317 | facet normal -0.0 -0.0 1.0 318 | outer loop 319 | vertex 44.91481456572267 -27.0937476127563 0.9999999999999999 320 | vertex 50.00000000000001 -33.9467 0.9999999999999999 321 | vertex 45.0 -26.4467 0.9999999999999999 322 | endloop 323 | endfacet 324 | facet normal -0.0 -0.0 1.0 325 | outer loop 326 | vertex 37.99999999999999 -18.9467 0.9999999999999999 327 | vertex 41.25 -24.2816364905389 0.9999999999999999 328 | vertex 50.00000000000001 -18.9467 0.9999999999999999 329 | endloop 330 | endfacet 331 | facet normal -0.0 -0.0 1.0 332 | outer loop 333 | vertex 41.25 -24.2816364905389 0.9999999999999999 334 | vertex 37.99999999999999 -18.9467 0.9999999999999999 335 | vertex 40.73223304703363 -24.678933047033627 0.9999999999999999 336 | endloop 337 | endfacet 338 | facet normal -0.0 -0.0 1.0 339 | outer loop 340 | vertex 40.73223304703363 -24.678933047033627 0.9999999999999999 341 | vertex 37.99999999999999 -18.9467 0.9999999999999999 342 | vertex 40.3349364905389 -25.196699999999996 0.9999999999999999 343 | endloop 344 | endfacet 345 | facet normal -0.0 -0.0 1.0 346 | outer loop 347 | vertex 40.3349364905389 -25.196699999999996 0.9999999999999999 348 | vertex 37.99999999999999 -18.9467 0.9999999999999999 349 | vertex 40.08518543427732 -25.799652387243697 0.9999999999999999 350 | endloop 351 | endfacet 352 | facet normal -0.0 -0.0 1.0 353 | outer loop 354 | vertex 40.08518543427732 -25.799652387243697 0.9999999999999999 355 | vertex 37.99999999999999 -18.9467 0.9999999999999999 356 | vertex 40.0 -26.4467 0.9999999999999999 357 | endloop 358 | endfacet 359 | facet normal -0.0 -0.0 1.0 360 | outer loop 361 | vertex 50.00000000000001 -18.9467 0.9999999999999999 362 | vertex 41.25 -24.2816364905389 0.9999999999999999 363 | vertex 41.8529523872437 -24.031885434277328 0.9999999999999999 364 | endloop 365 | endfacet 366 | facet normal -0.0 -0.0 1.0 367 | outer loop 368 | vertex 50.00000000000001 -18.9467 0.9999999999999999 369 | vertex 41.8529523872437 -24.031885434277328 0.9999999999999999 370 | vertex 42.50000000000001 -23.946699999999996 0.9999999999999999 371 | endloop 372 | endfacet 373 | facet normal -0.0 -0.0 1.0 374 | outer loop 375 | vertex 50.00000000000001 -18.9467 0.9999999999999999 376 | vertex 42.50000000000001 -23.946699999999996 0.9999999999999999 377 | vertex 43.147047612756296 -24.031885434277328 0.9999999999999999 378 | endloop 379 | endfacet 380 | facet normal -0.0 -0.0 1.0 381 | outer loop 382 | vertex 50.00000000000001 -18.9467 0.9999999999999999 383 | vertex 43.147047612756296 -24.031885434277328 0.9999999999999999 384 | vertex 43.75000000000001 -24.2816364905389 0.9999999999999999 385 | endloop 386 | endfacet 387 | facet normal -0.0 -0.0 1.0 388 | outer loop 389 | vertex 50.00000000000001 -18.9467 0.9999999999999999 390 | vertex 43.75000000000001 -24.2816364905389 0.9999999999999999 391 | vertex 44.26776695296637 -24.678933047033627 0.9999999999999999 392 | endloop 393 | endfacet 394 | facet normal -0.0 -0.0 1.0 395 | outer loop 396 | vertex 50.00000000000001 -18.9467 0.9999999999999999 397 | vertex 44.26776695296637 -24.678933047033627 0.9999999999999999 398 | vertex 44.66506350946109 -25.196699999999996 0.9999999999999999 399 | endloop 400 | endfacet 401 | facet normal -0.0 -0.0 1.0 402 | outer loop 403 | vertex 50.00000000000001 -18.9467 0.9999999999999999 404 | vertex 44.66506350946109 -25.196699999999996 0.9999999999999999 405 | vertex 44.91481456572267 -25.799652387243697 0.9999999999999999 406 | endloop 407 | endfacet 408 | facet normal -0.0 -0.0 1.0 409 | outer loop 410 | vertex 50.00000000000001 -18.9467 0.9999999999999999 411 | vertex 44.91481456572267 -25.799652387243697 0.9999999999999999 412 | vertex 45.0 -26.4467 0.9999999999999999 413 | endloop 414 | endfacet 415 | facet normal -0.0 -0.0 1.0 416 | outer loop 417 | vertex 50.00000000000001 -18.9467 0.9999999999999999 418 | vertex 45.0 -26.4467 0.9999999999999999 419 | vertex 50.00000000000001 -33.9467 0.9999999999999999 420 | endloop 421 | endfacet 422 | facet normal 0.99144486137381 -0.13052619222005557 0.0 423 | outer loop 424 | vertex -44.91481456572267 -25.799652387243697 0.0 425 | vertex -45.0 -26.4467 0.9999999999999999 426 | vertex -45.0 -26.4467 0.0 427 | endloop 428 | endfacet 429 | facet normal 0.99144486137381 -0.13052619222005557 0.0 430 | outer loop 431 | vertex -45.0 -26.4467 0.9999999999999999 432 | vertex -44.91481456572267 -25.799652387243697 0.0 433 | vertex -44.91481456572267 -25.799652387243697 0.9999999999999999 434 | endloop 435 | endfacet 436 | facet normal -0.9238795325112842 -0.3826834323650961 -0.0 437 | outer loop 438 | vertex -40.33493649053891 -25.196699999999996 0.9999999999999999 439 | vertex -40.08518543427733 -25.799652387243697 0.0 440 | vertex -40.08518543427733 -25.799652387243697 0.9999999999999999 441 | endloop 442 | endfacet 443 | facet normal -0.9238795325112842 -0.3826834323650961 -0.0 444 | outer loop 445 | vertex -40.08518543427733 -25.799652387243697 0.0 446 | vertex -40.33493649053891 -25.196699999999996 0.9999999999999999 447 | vertex -40.33493649053891 -25.196699999999996 0.0 448 | endloop 449 | endfacet 450 | facet normal -4.699944137579828e-16 1.0 -9.733174876213583e-32 451 | outer loop 452 | vertex -50.00000000000001 -18.9467 0.9999999999999999 453 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 454 | vertex -50.00000000000001 -18.9467 0.0 455 | endloop 456 | endfacet 457 | facet normal -4.699944137579828e-16 1.0 -9.733174876213583e-32 458 | outer loop 459 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 460 | vertex -50.00000000000001 -18.9467 0.9999999999999999 461 | vertex -38.00000000000001 -18.946699999999996 0.9999999999999999 462 | endloop 463 | endfacet 464 | facet normal -0.7933533402912386 -0.6087614290087163 -0.0 465 | outer loop 466 | vertex -40.73223304703363 -24.67893304703363 0.9999999999999999 467 | vertex -40.33493649053891 -25.196699999999996 0.0 468 | vertex -40.33493649053891 -25.196699999999996 0.9999999999999999 469 | endloop 470 | endfacet 471 | facet normal -0.7933533402912386 -0.6087614290087163 -0.0 472 | outer loop 473 | vertex -40.33493649053891 -25.196699999999996 0.0 474 | vertex -40.73223304703363 -24.67893304703363 0.9999999999999999 475 | vertex -40.73223304703363 -24.67893304703363 0.0 476 | endloop 477 | endfacet 478 | facet normal 0.3826834323650902 -0.9238795325112866 0.0 479 | outer loop 480 | vertex -43.1470476127563 -24.031885434277328 0.9999999999999999 481 | vertex -43.75 -24.2816364905389 0.0 482 | vertex -43.1470476127563 -24.031885434277328 0.0 483 | endloop 484 | endfacet 485 | facet normal 0.3826834323650902 -0.9238795325112866 0.0 486 | outer loop 487 | vertex -43.75 -24.2816364905389 0.0 488 | vertex -43.1470476127563 -24.031885434277328 0.9999999999999999 489 | vertex -43.75 -24.2816364905389 0.9999999999999999 490 | endloop 491 | endfacet 492 | facet normal -0.9238795325112836 0.3826834323650976 0.0 493 | outer loop 494 | vertex -40.08518543427733 -27.0937476127563 0.9999999999999999 495 | vertex -40.33493649053891 -27.696699999999996 0.0 496 | vertex -40.33493649053891 -27.696699999999996 0.9999999999999999 497 | endloop 498 | endfacet 499 | facet normal -0.9238795325112836 0.3826834323650976 0.0 500 | outer loop 501 | vertex -40.33493649053891 -27.696699999999996 0.0 502 | vertex -40.08518543427733 -27.0937476127563 0.9999999999999999 503 | vertex -40.08518543427733 -27.0937476127563 0.0 504 | endloop 505 | endfacet 506 | facet normal 0.7933533402912359 0.6087614290087195 0.0 507 | outer loop 508 | vertex -44.6650635094611 -27.696699999999996 0.0 509 | vertex -44.26776695296637 -28.214466952966372 0.9999999999999999 510 | vertex -44.26776695296637 -28.214466952966372 0.0 511 | endloop 512 | endfacet 513 | facet normal 0.7933533402912359 0.6087614290087195 0.0 514 | outer loop 515 | vertex -44.26776695296637 -28.214466952966372 0.9999999999999999 516 | vertex -44.6650635094611 -27.696699999999996 0.0 517 | vertex -44.6650635094611 -27.696699999999996 0.9999999999999999 518 | endloop 519 | endfacet 520 | facet normal -1.0 0.0 0.0 521 | outer loop 522 | vertex -50.00000000000001 -18.9467 0.9999999999999999 523 | vertex -50.00000000000001 -33.9467 0.0 524 | vertex -50.00000000000001 -33.9467 0.9999999999999999 525 | endloop 526 | endfacet 527 | facet normal -1.0 0.0 0.0 528 | outer loop 529 | vertex -50.00000000000001 -33.9467 0.0 530 | vertex -50.00000000000001 -18.9467 0.9999999999999999 531 | vertex -50.00000000000001 -18.9467 0.0 532 | endloop 533 | endfacet 534 | facet normal 0.9238795325112866 -0.3826834323650902 0.0 535 | outer loop 536 | vertex -44.6650635094611 -25.196699999999996 0.0 537 | vertex -44.91481456572267 -25.799652387243697 0.9999999999999999 538 | vertex -44.91481456572267 -25.799652387243697 0.0 539 | endloop 540 | endfacet 541 | facet normal 0.9238795325112866 -0.3826834323650902 0.0 542 | outer loop 543 | vertex -44.91481456572267 -25.799652387243697 0.9999999999999999 544 | vertex -44.6650635094611 -25.196699999999996 0.0 545 | vertex -44.6650635094611 -25.196699999999996 0.9999999999999999 546 | endloop 547 | endfacet 548 | facet normal -0.9914448613738109 0.13052619222004705 0.0 549 | outer loop 550 | vertex -40.0 -26.4467 0.9999999999999999 551 | vertex -40.08518543427733 -27.0937476127563 0.0 552 | vertex -40.08518543427733 -27.0937476127563 0.9999999999999999 553 | endloop 554 | endfacet 555 | facet normal -0.9914448613738109 0.13052619222004705 0.0 556 | outer loop 557 | vertex -40.08518543427733 -27.0937476127563 0.0 558 | vertex -40.0 -26.4467 0.9999999999999999 559 | vertex -40.0 -26.4467 0.0 560 | endloop 561 | endfacet 562 | facet normal 0.9238795325112842 0.3826834323650961 0.0 563 | outer loop 564 | vertex -44.91481456572267 -27.0937476127563 0.0 565 | vertex -44.6650635094611 -27.696699999999996 0.9999999999999999 566 | vertex -44.6650635094611 -27.696699999999996 0.0 567 | endloop 568 | endfacet 569 | facet normal 0.9238795325112842 0.3826834323650961 0.0 570 | outer loop 571 | vertex -44.6650635094611 -27.696699999999996 0.9999999999999999 572 | vertex -44.91481456572267 -27.0937476127563 0.0 573 | vertex -44.91481456572267 -27.0937476127563 0.9999999999999999 574 | endloop 575 | endfacet 576 | facet normal 0.6087614290087238 0.793353340291233 0.0 577 | outer loop 578 | vertex -44.26776695296637 -28.214466952966372 0.9999999999999999 579 | vertex -43.75000000000001 -28.611763509461092 0.0 580 | vertex -44.26776695296637 -28.214466952966372 0.0 581 | endloop 582 | endfacet 583 | facet normal 0.6087614290087238 0.793353340291233 0.0 584 | outer loop 585 | vertex -43.75000000000001 -28.611763509461092 0.0 586 | vertex -44.26776695296637 -28.214466952966372 0.9999999999999999 587 | vertex -43.75000000000001 -28.611763509461092 0.9999999999999999 588 | endloop 589 | endfacet 590 | facet normal 0.3826834323650872 0.9238795325112878 0.0 591 | outer loop 592 | vertex -43.75000000000001 -28.611763509461092 0.9999999999999999 593 | vertex -43.1470476127563 -28.861514565722672 0.0 594 | vertex -43.75000000000001 -28.611763509461092 0.0 595 | endloop 596 | endfacet 597 | facet normal 0.3826834323650872 0.9238795325112878 0.0 598 | outer loop 599 | vertex -43.1470476127563 -28.861514565722672 0.0 600 | vertex -43.75000000000001 -28.611763509461092 0.9999999999999999 601 | vertex -43.1470476127563 -28.861514565722672 0.9999999999999999 602 | endloop 603 | endfacet 604 | facet normal 0.6087614290087195 -0.7933533402912359 0.0 605 | outer loop 606 | vertex -43.75 -24.2816364905389 0.9999999999999999 607 | vertex -44.26776695296637 -24.678933047033627 0.0 608 | vertex -43.75 -24.2816364905389 0.0 609 | endloop 610 | endfacet 611 | facet normal 0.6087614290087195 -0.7933533402912359 0.0 612 | outer loop 613 | vertex -44.26776695296637 -24.678933047033627 0.0 614 | vertex -43.75 -24.2816364905389 0.9999999999999999 615 | vertex -44.26776695296637 -24.678933047033627 0.9999999999999999 616 | endloop 617 | endfacet 618 | facet normal 0.13052619222005188 -0.9914448613738104 0.0 619 | outer loop 620 | vertex -42.5 -23.946699999999996 0.9999999999999999 621 | vertex -43.1470476127563 -24.031885434277328 0.0 622 | vertex -42.5 -23.946699999999996 0.0 623 | endloop 624 | endfacet 625 | facet normal 0.13052619222005188 -0.9914448613738104 0.0 626 | outer loop 627 | vertex -43.1470476127563 -24.031885434277328 0.0 628 | vertex -42.5 -23.946699999999996 0.9999999999999999 629 | vertex -43.1470476127563 -24.031885434277328 0.9999999999999999 630 | endloop 631 | endfacet 632 | facet normal 0.9914448613738109 0.13052619222004763 0.0 633 | outer loop 634 | vertex -45.0 -26.4467 0.0 635 | vertex -44.91481456572267 -27.0937476127563 0.9999999999999999 636 | vertex -44.91481456572267 -27.0937476127563 0.0 637 | endloop 638 | endfacet 639 | facet normal 0.9914448613738109 0.13052619222004763 0.0 640 | outer loop 641 | vertex -44.91481456572267 -27.0937476127563 0.9999999999999999 642 | vertex -45.0 -26.4467 0.0 643 | vertex -45.0 -26.4467 0.9999999999999999 644 | endloop 645 | endfacet 646 | facet normal -0.13052619222005188 0.9914448613738104 0.0 647 | outer loop 648 | vertex -42.5 -28.9467 0.9999999999999999 649 | vertex -41.8529523872437 -28.861514565722672 0.0 650 | vertex -42.5 -28.9467 0.0 651 | endloop 652 | endfacet 653 | facet normal -0.13052619222005188 0.9914448613738104 0.0 654 | outer loop 655 | vertex -41.8529523872437 -28.861514565722672 0.0 656 | vertex -42.5 -28.9467 0.9999999999999999 657 | vertex -41.8529523872437 -28.861514565722672 0.9999999999999999 658 | endloop 659 | endfacet 660 | facet normal -0.6087614290087195 0.7933533402912359 0.0 661 | outer loop 662 | vertex -41.25 -28.611763509461092 0.9999999999999999 663 | vertex -40.73223304703363 -28.214466952966372 0.0 664 | vertex -41.25 -28.611763509461092 0.0 665 | endloop 666 | endfacet 667 | facet normal -0.6087614290087195 0.7933533402912359 0.0 668 | outer loop 669 | vertex -40.73223304703363 -28.214466952966372 0.0 670 | vertex -41.25 -28.611763509461092 0.9999999999999999 671 | vertex -40.73223304703363 -28.214466952966372 0.9999999999999999 672 | endloop 673 | endfacet 674 | facet normal -0.3826834323650902 0.9238795325112866 0.0 675 | outer loop 676 | vertex -41.8529523872437 -28.861514565722672 0.9999999999999999 677 | vertex -41.25 -28.611763509461092 0.0 678 | vertex -41.8529523872437 -28.861514565722672 0.0 679 | endloop 680 | endfacet 681 | facet normal -0.3826834323650902 0.9238795325112866 0.0 682 | outer loop 683 | vertex -41.25 -28.611763509461092 0.0 684 | vertex -41.8529523872437 -28.861514565722672 0.9999999999999999 685 | vertex -41.25 -28.611763509461092 0.9999999999999999 686 | endloop 687 | endfacet 688 | facet normal 0.7933533402912359 -0.6087614290087195 0.0 689 | outer loop 690 | vertex -44.26776695296637 -24.678933047033627 0.0 691 | vertex -44.6650635094611 -25.196699999999996 0.9999999999999999 692 | vertex -44.6650635094611 -25.196699999999996 0.0 693 | endloop 694 | endfacet 695 | facet normal 0.7933533402912359 -0.6087614290087195 0.0 696 | outer loop 697 | vertex -44.6650635094611 -25.196699999999996 0.9999999999999999 698 | vertex -44.26776695296637 -24.678933047033627 0.0 699 | vertex -44.26776695296637 -24.678933047033627 0.9999999999999999 700 | endloop 701 | endfacet 702 | facet normal -0.3826834323650872 -0.9238795325112878 -0.0 703 | outer loop 704 | vertex -41.25 -24.2816364905389 0.9999999999999999 705 | vertex -41.8529523872437 -24.031885434277328 0.0 706 | vertex -41.25 -24.2816364905389 0.0 707 | endloop 708 | endfacet 709 | facet normal -0.3826834323650872 -0.9238795325112878 -0.0 710 | outer loop 711 | vertex -41.8529523872437 -24.031885434277328 0.0 712 | vertex -41.25 -24.2816364905389 0.9999999999999999 713 | vertex -41.8529523872437 -24.031885434277328 0.9999999999999999 714 | endloop 715 | endfacet 716 | facet normal 4.699944137579824e-16 -1.0 2.6921547529947174e-32 717 | outer loop 718 | vertex 50.00000000000001 -33.9467 0.9999999999999999 719 | vertex 37.99999999999999 -33.94670000000001 1.762479051592436e-15 720 | vertex 50.00000000000001 -33.9467 0.0 721 | endloop 722 | endfacet 723 | facet normal 4.699944137579824e-16 -1.0 2.6921547529947174e-32 724 | outer loop 725 | vertex 37.99999999999999 -33.94670000000001 1.762479051592436e-15 726 | vertex 50.00000000000001 -33.9467 0.9999999999999999 727 | vertex 37.99999999999999 -33.94670000000001 0.9999999999999999 728 | endloop 729 | endfacet 730 | facet normal -0.7933533402912359 0.6087614290087195 0.0 731 | outer loop 732 | vertex -40.33493649053891 -27.696699999999996 0.9999999999999999 733 | vertex -40.73223304703363 -28.214466952966372 0.0 734 | vertex -40.73223304703363 -28.214466952966372 0.9999999999999999 735 | endloop 736 | endfacet 737 | facet normal -0.7933533402912359 0.6087614290087195 0.0 738 | outer loop 739 | vertex -40.73223304703363 -28.214466952966372 0.0 740 | vertex -40.33493649053891 -27.696699999999996 0.9999999999999999 741 | vertex -40.33493649053891 -27.696699999999996 0.0 742 | endloop 743 | endfacet 744 | facet normal -0.9914448613738109 -0.13052619222004763 -0.0 745 | outer loop 746 | vertex -40.08518543427733 -25.799652387243697 0.9999999999999999 747 | vertex -40.0 -26.4467 0.0 748 | vertex -40.0 -26.4467 0.9999999999999999 749 | endloop 750 | endfacet 751 | facet normal -0.9914448613738109 -0.13052619222004763 -0.0 752 | outer loop 753 | vertex -40.0 -26.4467 0.0 754 | vertex -40.08518543427733 -25.799652387243697 0.9999999999999999 755 | vertex -40.08518543427733 -25.799652387243697 0.0 756 | endloop 757 | endfacet 758 | facet normal -0.13052619222005188 -0.9914448613738104 -0.0 759 | outer loop 760 | vertex -41.8529523872437 -24.031885434277328 0.9999999999999999 761 | vertex -42.5 -23.946699999999996 0.0 762 | vertex -41.8529523872437 -24.031885434277328 0.0 763 | endloop 764 | endfacet 765 | facet normal -0.13052619222005188 -0.9914448613738104 -0.0 766 | outer loop 767 | vertex -42.5 -23.946699999999996 0.0 768 | vertex -41.8529523872437 -24.031885434277328 0.9999999999999999 769 | vertex -42.5 -23.946699999999996 0.9999999999999999 770 | endloop 771 | endfacet 772 | facet normal -0.7933533402912359 0.6087614290087195 0.0 773 | outer loop 774 | vertex 44.66506350946109 -27.696699999999996 0.9999999999999999 775 | vertex 44.26776695296637 -28.214466952966372 0.0 776 | vertex 44.26776695296637 -28.214466952966372 0.9999999999999999 777 | endloop 778 | endfacet 779 | facet normal -0.7933533402912359 0.6087614290087195 0.0 780 | outer loop 781 | vertex 44.26776695296637 -28.214466952966372 0.0 782 | vertex 44.66506350946109 -27.696699999999996 0.9999999999999999 783 | vertex 44.66506350946109 -27.696699999999996 0.0 784 | endloop 785 | endfacet 786 | facet normal -0.6087614290087195 0.7933533402912359 0.0 787 | outer loop 788 | vertex 43.74999999999999 -28.611763509461092 0.9999999999999999 789 | vertex 44.26776695296637 -28.214466952966372 0.0 790 | vertex 43.74999999999999 -28.611763509461092 0.0 791 | endloop 792 | endfacet 793 | facet normal -0.6087614290087195 0.7933533402912359 0.0 794 | outer loop 795 | vertex 44.26776695296637 -28.214466952966372 0.0 796 | vertex 43.74999999999999 -28.611763509461092 0.9999999999999999 797 | vertex 44.26776695296637 -28.214466952966372 0.9999999999999999 798 | endloop 799 | endfacet 800 | facet normal 0.13052619222005188 -0.9914448613738104 0.0 801 | outer loop 802 | vertex 42.50000000000001 -23.946699999999996 0.9999999999999999 803 | vertex 41.8529523872437 -24.031885434277328 0.0 804 | vertex 42.50000000000001 -23.946699999999996 0.0 805 | endloop 806 | endfacet 807 | facet normal 0.13052619222005188 -0.9914448613738104 0.0 808 | outer loop 809 | vertex 41.8529523872437 -24.031885434277328 0.0 810 | vertex 42.50000000000001 -23.946699999999996 0.9999999999999999 811 | vertex 41.8529523872437 -24.031885434277328 0.9999999999999999 812 | endloop 813 | endfacet 814 | facet normal 0.13052619222005188 0.9914448613738104 0.0 815 | outer loop 816 | vertex -43.1470476127563 -28.861514565722672 0.9999999999999999 817 | vertex -42.5 -28.9467 0.0 818 | vertex -43.1470476127563 -28.861514565722672 0.0 819 | endloop 820 | endfacet 821 | facet normal 0.13052619222005188 0.9914448613738104 0.0 822 | outer loop 823 | vertex -42.5 -28.9467 0.0 824 | vertex -43.1470476127563 -28.861514565722672 0.9999999999999999 825 | vertex -42.5 -28.9467 0.9999999999999999 826 | endloop 827 | endfacet 828 | facet normal -0.13052619222005188 -0.9914448613738104 -0.0 829 | outer loop 830 | vertex 43.147047612756296 -24.031885434277328 0.9999999999999999 831 | vertex 42.50000000000001 -23.946699999999996 0.0 832 | vertex 43.147047612756296 -24.031885434277328 0.0 833 | endloop 834 | endfacet 835 | facet normal -0.13052619222005188 -0.9914448613738104 -0.0 836 | outer loop 837 | vertex 42.50000000000001 -23.946699999999996 0.0 838 | vertex 43.147047612756296 -24.031885434277328 0.9999999999999999 839 | vertex 42.50000000000001 -23.946699999999996 0.9999999999999999 840 | endloop 841 | endfacet 842 | facet normal 0.7933533402912386 0.6087614290087163 0.0 843 | outer loop 844 | vertex 40.3349364905389 -27.696699999999996 0.0 845 | vertex 40.73223304703363 -28.214466952966365 0.9999999999999999 846 | vertex 40.73223304703363 -28.214466952966365 0.0 847 | endloop 848 | endfacet 849 | facet normal 0.7933533402912386 0.6087614290087163 0.0 850 | outer loop 851 | vertex 40.73223304703363 -28.214466952966365 0.9999999999999999 852 | vertex 40.3349364905389 -27.696699999999996 0.0 853 | vertex 40.3349364905389 -27.696699999999996 0.9999999999999999 854 | endloop 855 | endfacet 856 | facet normal -0.9238795325112866 0.3826834323650902 0.0 857 | outer loop 858 | vertex 44.91481456572267 -27.0937476127563 0.9999999999999999 859 | vertex 44.66506350946109 -27.696699999999996 0.0 860 | vertex 44.66506350946109 -27.696699999999996 0.9999999999999999 861 | endloop 862 | endfacet 863 | facet normal -0.9238795325112866 0.3826834323650902 0.0 864 | outer loop 865 | vertex 44.66506350946109 -27.696699999999996 0.0 866 | vertex 44.91481456572267 -27.0937476127563 0.9999999999999999 867 | vertex 44.91481456572267 -27.0937476127563 0.0 868 | endloop 869 | endfacet 870 | facet normal 0.9914448613738109 -0.13052619222004705 0.0 871 | outer loop 872 | vertex 40.08518543427732 -25.799652387243697 0.0 873 | vertex 40.0 -26.4467 0.9999999999999999 874 | vertex 40.0 -26.4467 0.0 875 | endloop 876 | endfacet 877 | facet normal 0.9914448613738109 -0.13052619222004705 0.0 878 | outer loop 879 | vertex 40.0 -26.4467 0.9999999999999999 880 | vertex 40.08518543427732 -25.799652387243697 0.0 881 | vertex 40.08518543427732 -25.799652387243697 0.9999999999999999 882 | endloop 883 | endfacet 884 | facet normal -0.7933533402912359 -0.6087614290087195 -0.0 885 | outer loop 886 | vertex 44.26776695296637 -24.678933047033627 0.9999999999999999 887 | vertex 44.66506350946109 -25.196699999999996 0.0 888 | vertex 44.66506350946109 -25.196699999999996 0.9999999999999999 889 | endloop 890 | endfacet 891 | facet normal -0.7933533402912359 -0.6087614290087195 -0.0 892 | outer loop 893 | vertex 44.66506350946109 -25.196699999999996 0.0 894 | vertex 44.26776695296637 -24.678933047033627 0.9999999999999999 895 | vertex 44.26776695296637 -24.678933047033627 0.0 896 | endloop 897 | endfacet 898 | facet normal -0.0 -0.0 1.0 899 | outer loop 900 | vertex -50.00000000000001 -33.9467 0.9999999999999999 901 | vertex -44.6650635094611 -27.696699999999996 0.9999999999999999 902 | vertex -50.00000000000001 -18.9467 0.9999999999999999 903 | endloop 904 | endfacet 905 | facet normal -0.0 -0.0 1.0 906 | outer loop 907 | vertex -44.6650635094611 -27.696699999999996 0.9999999999999999 908 | vertex -50.00000000000001 -33.9467 0.9999999999999999 909 | vertex -44.26776695296637 -28.214466952966372 0.9999999999999999 910 | endloop 911 | endfacet 912 | facet normal -0.0 -0.0 1.0 913 | outer loop 914 | vertex -44.26776695296637 -28.214466952966372 0.9999999999999999 915 | vertex -50.00000000000001 -33.9467 0.9999999999999999 916 | vertex -38.00000000000001 -33.94669999999999 0.9999999999999999 917 | endloop 918 | endfacet 919 | facet normal -0.0 -0.0 1.0 920 | outer loop 921 | vertex -50.00000000000001 -18.9467 0.9999999999999999 922 | vertex -44.6650635094611 -27.696699999999996 0.9999999999999999 923 | vertex -44.91481456572267 -27.0937476127563 0.9999999999999999 924 | endloop 925 | endfacet 926 | facet normal -0.0 -0.0 1.0 927 | outer loop 928 | vertex -50.00000000000001 -18.9467 0.9999999999999999 929 | vertex -44.91481456572267 -27.0937476127563 0.9999999999999999 930 | vertex -45.0 -26.4467 0.9999999999999999 931 | endloop 932 | endfacet 933 | facet normal -0.0 -0.0 1.0 934 | outer loop 935 | vertex -44.26776695296637 -28.214466952966372 0.9999999999999999 936 | vertex -38.00000000000001 -33.94669999999999 0.9999999999999999 937 | vertex -43.75000000000001 -28.611763509461092 0.9999999999999999 938 | endloop 939 | endfacet 940 | facet normal -0.0 -0.0 1.0 941 | outer loop 942 | vertex -43.75000000000001 -28.611763509461092 0.9999999999999999 943 | vertex -38.00000000000001 -33.94669999999999 0.9999999999999999 944 | vertex -43.1470476127563 -28.861514565722672 0.9999999999999999 945 | endloop 946 | endfacet 947 | facet normal -0.0 -0.0 1.0 948 | outer loop 949 | vertex -43.1470476127563 -28.861514565722672 0.9999999999999999 950 | vertex -38.00000000000001 -33.94669999999999 0.9999999999999999 951 | vertex -42.5 -28.9467 0.9999999999999999 952 | endloop 953 | endfacet 954 | facet normal -0.0 -0.0 1.0 955 | outer loop 956 | vertex -42.5 -28.9467 0.9999999999999999 957 | vertex -38.00000000000001 -33.94669999999999 0.9999999999999999 958 | vertex -41.8529523872437 -28.861514565722672 0.9999999999999999 959 | endloop 960 | endfacet 961 | facet normal -0.0 -0.0 1.0 962 | outer loop 963 | vertex -41.8529523872437 -28.861514565722672 0.9999999999999999 964 | vertex -38.00000000000001 -33.94669999999999 0.9999999999999999 965 | vertex -41.25 -28.611763509461092 0.9999999999999999 966 | endloop 967 | endfacet 968 | facet normal -0.0 -0.0 1.0 969 | outer loop 970 | vertex -41.25 -28.611763509461092 0.9999999999999999 971 | vertex -38.00000000000001 -33.94669999999999 0.9999999999999999 972 | vertex -40.73223304703363 -28.214466952966372 0.9999999999999999 973 | endloop 974 | endfacet 975 | facet normal -0.0 -0.0 1.0 976 | outer loop 977 | vertex -40.73223304703363 -28.214466952966372 0.9999999999999999 978 | vertex -38.00000000000001 -33.94669999999999 0.9999999999999999 979 | vertex -40.33493649053891 -27.696699999999996 0.9999999999999999 980 | endloop 981 | endfacet 982 | facet normal -0.0 -0.0 1.0 983 | outer loop 984 | vertex -40.33493649053891 -27.696699999999996 0.9999999999999999 985 | vertex -38.00000000000001 -33.94669999999999 0.9999999999999999 986 | vertex -40.08518543427733 -27.0937476127563 0.9999999999999999 987 | endloop 988 | endfacet 989 | facet normal -0.0 -0.0 1.0 990 | outer loop 991 | vertex -40.08518543427733 -27.0937476127563 0.9999999999999999 992 | vertex -38.00000000000001 -33.94669999999999 0.9999999999999999 993 | vertex -40.0 -26.4467 0.9999999999999999 994 | endloop 995 | endfacet 996 | facet normal -0.0 -0.0 1.0 997 | outer loop 998 | vertex -50.00000000000001 -18.9467 0.9999999999999999 999 | vertex -44.26776695296637 -24.678933047033627 0.9999999999999999 1000 | vertex -38.00000000000001 -18.946699999999996 0.9999999999999999 1001 | endloop 1002 | endfacet 1003 | facet normal -0.0 -0.0 1.0 1004 | outer loop 1005 | vertex -44.26776695296637 -24.678933047033627 0.9999999999999999 1006 | vertex -50.00000000000001 -18.9467 0.9999999999999999 1007 | vertex -44.6650635094611 -25.196699999999996 0.9999999999999999 1008 | endloop 1009 | endfacet 1010 | facet normal -0.0 -0.0 1.0 1011 | outer loop 1012 | vertex -44.6650635094611 -25.196699999999996 0.9999999999999999 1013 | vertex -50.00000000000001 -18.9467 0.9999999999999999 1014 | vertex -44.91481456572267 -25.799652387243697 0.9999999999999999 1015 | endloop 1016 | endfacet 1017 | facet normal -0.0 -0.0 1.0 1018 | outer loop 1019 | vertex -44.91481456572267 -25.799652387243697 0.9999999999999999 1020 | vertex -50.00000000000001 -18.9467 0.9999999999999999 1021 | vertex -45.0 -26.4467 0.9999999999999999 1022 | endloop 1023 | endfacet 1024 | facet normal -0.0 -0.0 1.0 1025 | outer loop 1026 | vertex -38.00000000000001 -18.946699999999996 0.9999999999999999 1027 | vertex -44.26776695296637 -24.678933047033627 0.9999999999999999 1028 | vertex -43.75 -24.2816364905389 0.9999999999999999 1029 | endloop 1030 | endfacet 1031 | facet normal -0.0 -0.0 1.0 1032 | outer loop 1033 | vertex -38.00000000000001 -18.946699999999996 0.9999999999999999 1034 | vertex -43.75 -24.2816364905389 0.9999999999999999 1035 | vertex -43.1470476127563 -24.031885434277328 0.9999999999999999 1036 | endloop 1037 | endfacet 1038 | facet normal -0.0 -0.0 1.0 1039 | outer loop 1040 | vertex -38.00000000000001 -18.946699999999996 0.9999999999999999 1041 | vertex -43.1470476127563 -24.031885434277328 0.9999999999999999 1042 | vertex -42.5 -23.946699999999996 0.9999999999999999 1043 | endloop 1044 | endfacet 1045 | facet normal -0.0 -0.0 1.0 1046 | outer loop 1047 | vertex -38.00000000000001 -18.946699999999996 0.9999999999999999 1048 | vertex -42.5 -23.946699999999996 0.9999999999999999 1049 | vertex -41.8529523872437 -24.031885434277328 0.9999999999999999 1050 | endloop 1051 | endfacet 1052 | facet normal -0.0 -0.0 1.0 1053 | outer loop 1054 | vertex -38.00000000000001 -18.946699999999996 0.9999999999999999 1055 | vertex -41.8529523872437 -24.031885434277328 0.9999999999999999 1056 | vertex -41.25 -24.2816364905389 0.9999999999999999 1057 | endloop 1058 | endfacet 1059 | facet normal -0.0 -0.0 1.0 1060 | outer loop 1061 | vertex -38.00000000000001 -18.946699999999996 0.9999999999999999 1062 | vertex -41.25 -24.2816364905389 0.9999999999999999 1063 | vertex -40.73223304703363 -24.67893304703363 0.9999999999999999 1064 | endloop 1065 | endfacet 1066 | facet normal -0.0 -0.0 1.0 1067 | outer loop 1068 | vertex -38.00000000000001 -18.946699999999996 0.9999999999999999 1069 | vertex -40.73223304703363 -24.67893304703363 0.9999999999999999 1070 | vertex -40.33493649053891 -25.196699999999996 0.9999999999999999 1071 | endloop 1072 | endfacet 1073 | facet normal -0.0 -0.0 1.0 1074 | outer loop 1075 | vertex -38.00000000000001 -18.946699999999996 0.9999999999999999 1076 | vertex -40.33493649053891 -25.196699999999996 0.9999999999999999 1077 | vertex -40.08518543427733 -25.799652387243697 0.9999999999999999 1078 | endloop 1079 | endfacet 1080 | facet normal -0.0 -0.0 1.0 1081 | outer loop 1082 | vertex -38.00000000000001 -18.946699999999996 0.9999999999999999 1083 | vertex -40.08518543427733 -25.799652387243697 0.9999999999999999 1084 | vertex -40.0 -26.4467 0.9999999999999999 1085 | endloop 1086 | endfacet 1087 | facet normal -0.0 -0.0 1.0 1088 | outer loop 1089 | vertex -38.00000000000001 -18.946699999999996 0.9999999999999999 1090 | vertex -40.0 -26.4467 0.9999999999999999 1091 | vertex -38.00000000000001 -33.94669999999999 0.9999999999999999 1092 | endloop 1093 | endfacet 1094 | facet normal 0.9238795325112836 -0.3826834323650976 0.0 1095 | outer loop 1096 | vertex 40.3349364905389 -25.196699999999996 0.0 1097 | vertex 40.08518543427732 -25.799652387243697 0.9999999999999999 1098 | vertex 40.08518543427732 -25.799652387243697 0.0 1099 | endloop 1100 | endfacet 1101 | facet normal 0.9238795325112836 -0.3826834323650976 0.0 1102 | outer loop 1103 | vertex 40.08518543427732 -25.799652387243697 0.9999999999999999 1104 | vertex 40.3349364905389 -25.196699999999996 0.0 1105 | vertex 40.3349364905389 -25.196699999999996 0.9999999999999999 1106 | endloop 1107 | endfacet 1108 | facet normal 0.13052619222005188 0.9914448613738104 0.0 1109 | outer loop 1110 | vertex 41.8529523872437 -28.861514565722672 0.9999999999999999 1111 | vertex 42.50000000000001 -28.9467 0.0 1112 | vertex 41.8529523872437 -28.861514565722672 0.0 1113 | endloop 1114 | endfacet 1115 | facet normal 0.13052619222005188 0.9914448613738104 0.0 1116 | outer loop 1117 | vertex 42.50000000000001 -28.9467 0.0 1118 | vertex 41.8529523872437 -28.861514565722672 0.9999999999999999 1119 | vertex 42.50000000000001 -28.9467 0.9999999999999999 1120 | endloop 1121 | endfacet 1122 | facet normal -0.9914448613738109 -0.13052619222004763 -0.0 1123 | outer loop 1124 | vertex 44.91481456572267 -25.799652387243697 0.9999999999999999 1125 | vertex 45.0 -26.4467 0.0 1126 | vertex 45.0 -26.4467 0.9999999999999999 1127 | endloop 1128 | endfacet 1129 | facet normal -0.9914448613738109 -0.13052619222004763 -0.0 1130 | outer loop 1131 | vertex 45.0 -26.4467 0.0 1132 | vertex 44.91481456572267 -25.799652387243697 0.9999999999999999 1133 | vertex 44.91481456572267 -25.799652387243697 0.0 1134 | endloop 1135 | endfacet 1136 | facet normal 0.0 -2.349972068789912e-16 -1.0 1137 | outer loop 1138 | vertex 35.99999999999999 -41.4467 4.000000000000001 1139 | vertex -36.0 -47.44670000000001 4.000000000000003 1140 | vertex -36.0 -41.4467 4.000000000000001 1141 | endloop 1142 | endfacet 1143 | facet normal 0.0 -2.349972068789912e-16 -1.0 1144 | outer loop 1145 | vertex -36.0 -47.44670000000001 4.000000000000003 1146 | vertex 35.99999999999999 -41.4467 4.000000000000001 1147 | vertex 35.99999999999999 -47.44670000000001 4.000000000000003 1148 | endloop 1149 | endfacet 1150 | facet normal 0.0 1.0 -2.349972068789912e-16 1151 | outer loop 1152 | vertex -36.0 -41.4467 5.000000000000001 1153 | vertex 35.99999999999999 -41.4467 4.000000000000001 1154 | vertex -36.0 -41.4467 4.000000000000001 1155 | endloop 1156 | endfacet 1157 | facet normal 0.0 1.0 -2.349972068789912e-16 1158 | outer loop 1159 | vertex 35.99999999999999 -41.4467 4.000000000000001 1160 | vertex -36.0 -41.4467 5.000000000000001 1161 | vertex 35.99999999999999 -41.4467 5.000000000000001 1162 | endloop 1163 | endfacet 1164 | facet normal -0.0 1.0 2.3499720687899157e-16 1165 | outer loop 1166 | vertex -36.0 -11.446699999999998 5.000000000000001 1167 | vertex 35.99999999999999 -11.446699999999998 4.000000000000001 1168 | vertex -36.0 -11.446699999999998 4.000000000000001 1169 | endloop 1170 | endfacet 1171 | facet normal -0.0 1.0 2.3499720687899157e-16 1172 | outer loop 1173 | vertex 35.99999999999999 -11.446699999999998 4.000000000000001 1174 | vertex -36.0 -11.446699999999998 5.000000000000001 1175 | vertex 35.99999999999999 -11.446699999999998 5.000000000000001 1176 | endloop 1177 | endfacet 1178 | facet normal -0.0 -2.3499720687899157e-16 1.0 1179 | outer loop 1180 | vertex 35.99999999999999 -11.446699999999998 4.000000000000001 1181 | vertex -36.0 -5.4467 4.000000000000003 1182 | vertex -36.0 -11.446699999999998 4.000000000000001 1183 | endloop 1184 | endfacet 1185 | facet normal -0.0 -2.3499720687899157e-16 1.0 1186 | outer loop 1187 | vertex -36.0 -5.4467 4.000000000000003 1188 | vertex 35.99999999999999 -11.446699999999998 4.000000000000001 1189 | vertex 35.99999999999999 -5.4467 4.000000000000003 1190 | endloop 1191 | endfacet 1192 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1193 | outer loop 1194 | vertex -38.00000000000001 -3.4467000000000003 7.402412016688231e-15 1195 | vertex -36.0 -5.4467 7.402412016688231e-15 1196 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 1197 | endloop 1198 | endfacet 1199 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1200 | outer loop 1201 | vertex -36.0 -5.4467 7.402412016688231e-15 1202 | vertex -38.00000000000001 -3.4467000000000003 7.402412016688231e-15 1203 | vertex 37.99999999999999 -3.4467000000000003 7.402412016688231e-15 1204 | endloop 1205 | endfacet 1206 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1207 | outer loop 1208 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 1209 | vertex -36.0 -5.4467 7.402412016688231e-15 1210 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1211 | endloop 1212 | endfacet 1213 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1214 | outer loop 1215 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1216 | vertex -36.0 -5.4467 7.402412016688231e-15 1217 | vertex -38.00000000000001 -49.44670000000001 1.762479051592436e-15 1218 | endloop 1219 | endfacet 1220 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1221 | outer loop 1222 | vertex -36.0 -5.4467 7.402412016688231e-15 1223 | vertex 37.99999999999999 -3.4467000000000003 7.402412016688231e-15 1224 | vertex 35.99999999999999 -5.4467 7.402412016688231e-15 1225 | endloop 1226 | endfacet 1227 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1228 | outer loop 1229 | vertex 35.99999999999999 -5.4467 7.402412016688231e-15 1230 | vertex 37.99999999999999 -3.4467000000000003 7.402412016688231e-15 1231 | vertex 35.99999999999999 -47.44670000000001 1.762479051592436e-15 1232 | endloop 1233 | endfacet 1234 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1235 | outer loop 1236 | vertex -38.00000000000001 -49.44670000000001 1.762479051592436e-15 1237 | vertex -36.0 -47.44670000000001 1.762479051592436e-15 1238 | vertex 37.99999999999999 -49.44670000000001 1.762479051592436e-15 1239 | endloop 1240 | endfacet 1241 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1242 | outer loop 1243 | vertex -36.0 -47.44670000000001 1.762479051592436e-15 1244 | vertex -38.00000000000001 -49.44670000000001 1.762479051592436e-15 1245 | vertex -36.0 -5.4467 7.402412016688231e-15 1246 | endloop 1247 | endfacet 1248 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1249 | outer loop 1250 | vertex 37.99999999999999 -49.44670000000001 1.762479051592436e-15 1251 | vertex -36.0 -47.44670000000001 1.762479051592436e-15 1252 | vertex 35.99999999999999 -47.44670000000001 1.762479051592436e-15 1253 | endloop 1254 | endfacet 1255 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1256 | outer loop 1257 | vertex 37.99999999999999 -49.44670000000001 1.762479051592436e-15 1258 | vertex 35.99999999999999 -47.44670000000001 1.762479051592436e-15 1259 | vertex 37.99999999999999 -3.4467000000000003 7.402412016688231e-15 1260 | endloop 1261 | endfacet 1262 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1263 | outer loop 1264 | vertex 37.99999999999999 -49.44670000000001 1.762479051592436e-15 1265 | vertex 37.99999999999999 -3.4467000000000003 7.402412016688231e-15 1266 | vertex 37.99999999999999 -18.9467 7.402412016688231e-15 1267 | endloop 1268 | endfacet 1269 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1270 | outer loop 1271 | vertex 37.99999999999999 -49.44670000000001 1.762479051592436e-15 1272 | vertex 37.99999999999999 -18.9467 7.402412016688231e-15 1273 | vertex 37.99999999999999 -33.94670000000001 1.762479051592436e-15 1274 | endloop 1275 | endfacet 1276 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1277 | outer loop 1278 | vertex 37.99999999999999 -18.9467 7.402412016688231e-15 1279 | vertex 40.08518543427732 -25.799652387243697 0.0 1280 | vertex 37.99999999999999 -33.94670000000001 1.762479051592436e-15 1281 | endloop 1282 | endfacet 1283 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1284 | outer loop 1285 | vertex 40.08518543427732 -25.799652387243697 0.0 1286 | vertex 37.99999999999999 -18.9467 7.402412016688231e-15 1287 | vertex 40.3349364905389 -25.196699999999996 0.0 1288 | endloop 1289 | endfacet 1290 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1291 | outer loop 1292 | vertex 40.3349364905389 -25.196699999999996 0.0 1293 | vertex 37.99999999999999 -18.9467 7.402412016688231e-15 1294 | vertex 40.73223304703363 -24.678933047033627 0.0 1295 | endloop 1296 | endfacet 1297 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1298 | outer loop 1299 | vertex 40.73223304703363 -24.678933047033627 0.0 1300 | vertex 37.99999999999999 -18.9467 7.402412016688231e-15 1301 | vertex 41.25 -24.2816364905389 0.0 1302 | endloop 1303 | endfacet 1304 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1305 | outer loop 1306 | vertex 41.25 -24.2816364905389 0.0 1307 | vertex 37.99999999999999 -18.9467 7.402412016688231e-15 1308 | vertex 50.00000000000001 -18.9467 0.0 1309 | endloop 1310 | endfacet 1311 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1312 | outer loop 1313 | vertex 37.99999999999999 -33.94670000000001 1.762479051592436e-15 1314 | vertex 40.08518543427732 -25.799652387243697 0.0 1315 | vertex 40.0 -26.4467 0.0 1316 | endloop 1317 | endfacet 1318 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1319 | outer loop 1320 | vertex 41.25 -24.2816364905389 0.0 1321 | vertex 50.00000000000001 -18.9467 0.0 1322 | vertex 41.8529523872437 -24.031885434277328 0.0 1323 | endloop 1324 | endfacet 1325 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1326 | outer loop 1327 | vertex 41.8529523872437 -24.031885434277328 0.0 1328 | vertex 50.00000000000001 -18.9467 0.0 1329 | vertex 42.50000000000001 -23.946699999999996 0.0 1330 | endloop 1331 | endfacet 1332 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1333 | outer loop 1334 | vertex 42.50000000000001 -23.946699999999996 0.0 1335 | vertex 50.00000000000001 -18.9467 0.0 1336 | vertex 43.147047612756296 -24.031885434277328 0.0 1337 | endloop 1338 | endfacet 1339 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1340 | outer loop 1341 | vertex 43.147047612756296 -24.031885434277328 0.0 1342 | vertex 50.00000000000001 -18.9467 0.0 1343 | vertex 43.75000000000001 -24.2816364905389 0.0 1344 | endloop 1345 | endfacet 1346 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1347 | outer loop 1348 | vertex 43.75000000000001 -24.2816364905389 0.0 1349 | vertex 50.00000000000001 -18.9467 0.0 1350 | vertex 44.26776695296637 -24.678933047033627 0.0 1351 | endloop 1352 | endfacet 1353 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1354 | outer loop 1355 | vertex 44.26776695296637 -24.678933047033627 0.0 1356 | vertex 50.00000000000001 -18.9467 0.0 1357 | vertex 44.66506350946109 -25.196699999999996 0.0 1358 | endloop 1359 | endfacet 1360 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1361 | outer loop 1362 | vertex 44.66506350946109 -25.196699999999996 0.0 1363 | vertex 50.00000000000001 -18.9467 0.0 1364 | vertex 44.91481456572267 -25.799652387243697 0.0 1365 | endloop 1366 | endfacet 1367 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1368 | outer loop 1369 | vertex 44.91481456572267 -25.799652387243697 0.0 1370 | vertex 50.00000000000001 -18.9467 0.0 1371 | vertex 45.0 -26.4467 0.0 1372 | endloop 1373 | endfacet 1374 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1375 | outer loop 1376 | vertex 37.99999999999999 -33.94670000000001 1.762479051592436e-15 1377 | vertex 41.25 -28.611763509461092 0.0 1378 | vertex 50.00000000000001 -33.9467 0.0 1379 | endloop 1380 | endfacet 1381 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1382 | outer loop 1383 | vertex 41.25 -28.611763509461092 0.0 1384 | vertex 37.99999999999999 -33.94670000000001 1.762479051592436e-15 1385 | vertex 40.73223304703363 -28.214466952966365 0.0 1386 | endloop 1387 | endfacet 1388 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1389 | outer loop 1390 | vertex 40.73223304703363 -28.214466952966365 0.0 1391 | vertex 37.99999999999999 -33.94670000000001 1.762479051592436e-15 1392 | vertex 40.3349364905389 -27.696699999999996 0.0 1393 | endloop 1394 | endfacet 1395 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1396 | outer loop 1397 | vertex 40.3349364905389 -27.696699999999996 0.0 1398 | vertex 37.99999999999999 -33.94670000000001 1.762479051592436e-15 1399 | vertex 40.08518543427732 -27.0937476127563 0.0 1400 | endloop 1401 | endfacet 1402 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1403 | outer loop 1404 | vertex 40.08518543427732 -27.0937476127563 0.0 1405 | vertex 37.99999999999999 -33.94670000000001 1.762479051592436e-15 1406 | vertex 40.0 -26.4467 0.0 1407 | endloop 1408 | endfacet 1409 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1410 | outer loop 1411 | vertex 50.00000000000001 -33.9467 0.0 1412 | vertex 41.25 -28.611763509461092 0.0 1413 | vertex 41.8529523872437 -28.861514565722672 0.0 1414 | endloop 1415 | endfacet 1416 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1417 | outer loop 1418 | vertex 50.00000000000001 -33.9467 0.0 1419 | vertex 41.8529523872437 -28.861514565722672 0.0 1420 | vertex 42.50000000000001 -28.9467 0.0 1421 | endloop 1422 | endfacet 1423 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1424 | outer loop 1425 | vertex 50.00000000000001 -33.9467 0.0 1426 | vertex 42.50000000000001 -28.9467 0.0 1427 | vertex 43.147047612756296 -28.861514565722672 0.0 1428 | endloop 1429 | endfacet 1430 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1431 | outer loop 1432 | vertex 50.00000000000001 -33.9467 0.0 1433 | vertex 43.147047612756296 -28.861514565722672 0.0 1434 | vertex 43.74999999999999 -28.611763509461092 0.0 1435 | endloop 1436 | endfacet 1437 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1438 | outer loop 1439 | vertex 50.00000000000001 -33.9467 0.0 1440 | vertex 43.74999999999999 -28.611763509461092 0.0 1441 | vertex 44.26776695296637 -28.214466952966372 0.0 1442 | endloop 1443 | endfacet 1444 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1445 | outer loop 1446 | vertex 50.00000000000001 -33.9467 0.0 1447 | vertex 44.26776695296637 -28.214466952966372 0.0 1448 | vertex 44.66506350946109 -27.696699999999996 0.0 1449 | endloop 1450 | endfacet 1451 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1452 | outer loop 1453 | vertex 50.00000000000001 -33.9467 0.0 1454 | vertex 44.66506350946109 -27.696699999999996 0.0 1455 | vertex 44.91481456572267 -27.0937476127563 0.0 1456 | endloop 1457 | endfacet 1458 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1459 | outer loop 1460 | vertex 50.00000000000001 -33.9467 0.0 1461 | vertex 44.91481456572267 -27.0937476127563 0.0 1462 | vertex 45.0 -26.4467 0.0 1463 | endloop 1464 | endfacet 1465 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1466 | outer loop 1467 | vertex 50.00000000000001 -33.9467 0.0 1468 | vertex 45.0 -26.4467 0.0 1469 | vertex 50.00000000000001 -18.9467 0.0 1470 | endloop 1471 | endfacet 1472 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1473 | outer loop 1474 | vertex -50.00000000000001 -18.9467 0.0 1475 | vertex -44.6650635094611 -25.196699999999996 0.0 1476 | vertex -50.00000000000001 -33.9467 0.0 1477 | endloop 1478 | endfacet 1479 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1480 | outer loop 1481 | vertex -44.6650635094611 -25.196699999999996 0.0 1482 | vertex -50.00000000000001 -18.9467 0.0 1483 | vertex -44.26776695296637 -24.678933047033627 0.0 1484 | endloop 1485 | endfacet 1486 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1487 | outer loop 1488 | vertex -44.26776695296637 -24.678933047033627 0.0 1489 | vertex -50.00000000000001 -18.9467 0.0 1490 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 1491 | endloop 1492 | endfacet 1493 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1494 | outer loop 1495 | vertex -50.00000000000001 -33.9467 0.0 1496 | vertex -44.6650635094611 -25.196699999999996 0.0 1497 | vertex -44.91481456572267 -25.799652387243697 0.0 1498 | endloop 1499 | endfacet 1500 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1501 | outer loop 1502 | vertex -50.00000000000001 -33.9467 0.0 1503 | vertex -44.91481456572267 -25.799652387243697 0.0 1504 | vertex -45.0 -26.4467 0.0 1505 | endloop 1506 | endfacet 1507 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1508 | outer loop 1509 | vertex -44.26776695296637 -24.678933047033627 0.0 1510 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 1511 | vertex -43.75 -24.2816364905389 0.0 1512 | endloop 1513 | endfacet 1514 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1515 | outer loop 1516 | vertex -43.75 -24.2816364905389 0.0 1517 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 1518 | vertex -43.1470476127563 -24.031885434277328 0.0 1519 | endloop 1520 | endfacet 1521 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1522 | outer loop 1523 | vertex -43.1470476127563 -24.031885434277328 0.0 1524 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 1525 | vertex -42.5 -23.946699999999996 0.0 1526 | endloop 1527 | endfacet 1528 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1529 | outer loop 1530 | vertex -42.5 -23.946699999999996 0.0 1531 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 1532 | vertex -41.8529523872437 -24.031885434277328 0.0 1533 | endloop 1534 | endfacet 1535 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1536 | outer loop 1537 | vertex -41.8529523872437 -24.031885434277328 0.0 1538 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 1539 | vertex -41.25 -24.2816364905389 0.0 1540 | endloop 1541 | endfacet 1542 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1543 | outer loop 1544 | vertex -41.25 -24.2816364905389 0.0 1545 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 1546 | vertex -40.73223304703363 -24.67893304703363 0.0 1547 | endloop 1548 | endfacet 1549 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1550 | outer loop 1551 | vertex -40.73223304703363 -24.67893304703363 0.0 1552 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 1553 | vertex -40.33493649053891 -25.196699999999996 0.0 1554 | endloop 1555 | endfacet 1556 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1557 | outer loop 1558 | vertex -40.33493649053891 -25.196699999999996 0.0 1559 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 1560 | vertex -40.08518543427733 -25.799652387243697 0.0 1561 | endloop 1562 | endfacet 1563 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1564 | outer loop 1565 | vertex -40.08518543427733 -25.799652387243697 0.0 1566 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 1567 | vertex -40.0 -26.4467 0.0 1568 | endloop 1569 | endfacet 1570 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1571 | outer loop 1572 | vertex -50.00000000000001 -33.9467 0.0 1573 | vertex -44.26776695296637 -28.214466952966372 0.0 1574 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1575 | endloop 1576 | endfacet 1577 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1578 | outer loop 1579 | vertex -44.26776695296637 -28.214466952966372 0.0 1580 | vertex -50.00000000000001 -33.9467 0.0 1581 | vertex -44.6650635094611 -27.696699999999996 0.0 1582 | endloop 1583 | endfacet 1584 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1585 | outer loop 1586 | vertex -44.6650635094611 -27.696699999999996 0.0 1587 | vertex -50.00000000000001 -33.9467 0.0 1588 | vertex -44.91481456572267 -27.0937476127563 0.0 1589 | endloop 1590 | endfacet 1591 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1592 | outer loop 1593 | vertex -44.91481456572267 -27.0937476127563 0.0 1594 | vertex -50.00000000000001 -33.9467 0.0 1595 | vertex -45.0 -26.4467 0.0 1596 | endloop 1597 | endfacet 1598 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1599 | outer loop 1600 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1601 | vertex -44.26776695296637 -28.214466952966372 0.0 1602 | vertex -43.75000000000001 -28.611763509461092 0.0 1603 | endloop 1604 | endfacet 1605 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1606 | outer loop 1607 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1608 | vertex -43.75000000000001 -28.611763509461092 0.0 1609 | vertex -43.1470476127563 -28.861514565722672 0.0 1610 | endloop 1611 | endfacet 1612 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1613 | outer loop 1614 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1615 | vertex -43.1470476127563 -28.861514565722672 0.0 1616 | vertex -42.5 -28.9467 0.0 1617 | endloop 1618 | endfacet 1619 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1620 | outer loop 1621 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1622 | vertex -42.5 -28.9467 0.0 1623 | vertex -41.8529523872437 -28.861514565722672 0.0 1624 | endloop 1625 | endfacet 1626 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1627 | outer loop 1628 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1629 | vertex -41.8529523872437 -28.861514565722672 0.0 1630 | vertex -41.25 -28.611763509461092 0.0 1631 | endloop 1632 | endfacet 1633 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1634 | outer loop 1635 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1636 | vertex -41.25 -28.611763509461092 0.0 1637 | vertex -40.73223304703363 -28.214466952966372 0.0 1638 | endloop 1639 | endfacet 1640 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1641 | outer loop 1642 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1643 | vertex -40.73223304703363 -28.214466952966372 0.0 1644 | vertex -40.33493649053891 -27.696699999999996 0.0 1645 | endloop 1646 | endfacet 1647 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1648 | outer loop 1649 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1650 | vertex -40.33493649053891 -27.696699999999996 0.0 1651 | vertex -40.08518543427733 -27.0937476127563 0.0 1652 | endloop 1653 | endfacet 1654 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1655 | outer loop 1656 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1657 | vertex -40.08518543427733 -27.0937476127563 0.0 1658 | vertex -40.0 -26.4467 0.0 1659 | endloop 1660 | endfacet 1661 | facet normal -5.4675479602452584e-18 1.1356715887323857e-16 -1.0 1662 | outer loop 1663 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1664 | vertex -40.0 -26.4467 0.0 1665 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 1666 | endloop 1667 | endfacet 1668 | facet normal -1.0 0.0 0.0 1669 | outer loop 1670 | vertex -38.00000000000001 -33.94669999999999 5.000000000000002 1671 | vertex -38.00000000000001 -49.44670000000001 1.762479051592436e-15 1672 | vertex -38.00000000000001 -49.44670000000001 5.000000000000002 1673 | endloop 1674 | endfacet 1675 | facet normal -1.0 0.0 0.0 1676 | outer loop 1677 | vertex -38.00000000000001 -49.44670000000001 1.762479051592436e-15 1678 | vertex -38.00000000000001 -33.94669999999999 5.000000000000002 1679 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1680 | endloop 1681 | endfacet 1682 | facet normal -1.0 0.0 0.0 1683 | outer loop 1684 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1685 | vertex -38.00000000000001 -33.94669999999999 5.000000000000002 1686 | vertex -38.00000000000001 -33.94669999999999 0.9999999999999999 1687 | endloop 1688 | endfacet 1689 | facet normal 4.699944137579829e-16 -1.0 -2.6921547529952166e-32 1690 | outer loop 1691 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1692 | vertex -50.00000000000001 -33.9467 0.9999999999999999 1693 | vertex -50.00000000000001 -33.9467 0.0 1694 | endloop 1695 | endfacet 1696 | facet normal 4.699944137579829e-16 -1.0 -2.6921547529952166e-32 1697 | outer loop 1698 | vertex -50.00000000000001 -33.9467 0.9999999999999999 1699 | vertex -38.00000000000001 -33.94669999999999 1.762479051592436e-15 1700 | vertex -38.00000000000001 -33.94669999999999 0.9999999999999999 1701 | endloop 1702 | endfacet 1703 | facet normal 0.0 -1.0 0.0 1704 | outer loop 1705 | vertex 37.99999999999999 -49.44670000000001 5.000000000000002 1706 | vertex -38.00000000000001 -49.44670000000001 1.762479051592436e-15 1707 | vertex 37.99999999999999 -49.44670000000001 1.762479051592436e-15 1708 | endloop 1709 | endfacet 1710 | facet normal 0.0 -1.0 0.0 1711 | outer loop 1712 | vertex -38.00000000000001 -49.44670000000001 1.762479051592436e-15 1713 | vertex 37.99999999999999 -49.44670000000001 5.000000000000002 1714 | vertex -38.00000000000001 -49.44670000000001 5.000000000000002 1715 | endloop 1716 | endfacet 1717 | facet normal -0.0 -0.0 1.0 1718 | outer loop 1719 | vertex -38.00000000000001 -49.44670000000001 5.000000000000002 1720 | vertex -36.0 -41.4467 5.000000000000001 1721 | vertex -38.00000000000001 -33.94669999999999 5.000000000000002 1722 | endloop 1723 | endfacet 1724 | facet normal -0.0 -0.0 1.0 1725 | outer loop 1726 | vertex -36.0 -41.4467 5.000000000000001 1727 | vertex -38.00000000000001 -49.44670000000001 5.000000000000002 1728 | vertex 37.99999999999999 -49.44670000000001 5.000000000000002 1729 | endloop 1730 | endfacet 1731 | facet normal -0.0 -0.0 1.0 1732 | outer loop 1733 | vertex -38.00000000000001 -33.94669999999999 5.000000000000002 1734 | vertex -36.0 -41.4467 5.000000000000001 1735 | vertex -38.00000000000001 -18.946699999999996 5.000000000000002 1736 | endloop 1737 | endfacet 1738 | facet normal -0.0 -0.0 1.0 1739 | outer loop 1740 | vertex -38.00000000000001 -18.946699999999996 5.000000000000002 1741 | vertex -36.0 -41.4467 5.000000000000001 1742 | vertex -38.00000000000001 -3.4467000000000003 5.000000000000002 1743 | endloop 1744 | endfacet 1745 | facet normal -0.0 -0.0 1.0 1746 | outer loop 1747 | vertex -36.0 -41.4467 5.000000000000001 1748 | vertex 37.99999999999999 -49.44670000000001 5.000000000000002 1749 | vertex 35.99999999999999 -41.4467 5.000000000000001 1750 | endloop 1751 | endfacet 1752 | facet normal -0.0 -0.0 1.0 1753 | outer loop 1754 | vertex 35.99999999999999 -41.4467 5.000000000000001 1755 | vertex 37.99999999999999 -49.44670000000001 5.000000000000002 1756 | vertex 35.99999999999999 -11.446699999999998 5.000000000000001 1757 | endloop 1758 | endfacet 1759 | facet normal -0.0 -0.0 1.0 1760 | outer loop 1761 | vertex -38.00000000000001 -3.4467000000000003 5.000000000000002 1762 | vertex -36.0 -11.446699999999998 5.000000000000001 1763 | vertex 37.99999999999999 -3.4467000000000003 5.000000000000002 1764 | endloop 1765 | endfacet 1766 | facet normal -0.0 -0.0 1.0 1767 | outer loop 1768 | vertex -36.0 -11.446699999999998 5.000000000000001 1769 | vertex -38.00000000000001 -3.4467000000000003 5.000000000000002 1770 | vertex -36.0 -41.4467 5.000000000000001 1771 | endloop 1772 | endfacet 1773 | facet normal -0.0 -0.0 1.0 1774 | outer loop 1775 | vertex 37.99999999999999 -3.4467000000000003 5.000000000000002 1776 | vertex -36.0 -11.446699999999998 5.000000000000001 1777 | vertex 35.99999999999999 -11.446699999999998 5.000000000000001 1778 | endloop 1779 | endfacet 1780 | facet normal -0.0 -0.0 1.0 1781 | outer loop 1782 | vertex 37.99999999999999 -3.4467000000000003 5.000000000000002 1783 | vertex 35.99999999999999 -11.446699999999998 5.000000000000001 1784 | vertex 37.99999999999999 -49.44670000000001 5.000000000000002 1785 | endloop 1786 | endfacet 1787 | facet normal -0.0 -0.0 1.0 1788 | outer loop 1789 | vertex 37.99999999999999 -3.4467000000000003 5.000000000000002 1790 | vertex 37.99999999999999 -49.44670000000001 5.000000000000002 1791 | vertex 37.99999999999999 -33.94670000000001 5.000000000000002 1792 | endloop 1793 | endfacet 1794 | facet normal -0.0 -0.0 1.0 1795 | outer loop 1796 | vertex 37.99999999999999 -3.4467000000000003 5.000000000000002 1797 | vertex 37.99999999999999 -33.94670000000001 5.000000000000002 1798 | vertex 37.99999999999999 -18.9467 5.000000000000002 1799 | endloop 1800 | endfacet 1801 | facet normal -1.0 -0.0 -0.0 1802 | outer loop 1803 | vertex -38.00000000000001 -18.946699999999996 5.000000000000002 1804 | vertex -38.00000000000001 -33.94669999999999 0.9999999999999999 1805 | vertex -38.00000000000001 -33.94669999999999 5.000000000000002 1806 | endloop 1807 | endfacet 1808 | facet normal -1.0 -0.0 -0.0 1809 | outer loop 1810 | vertex -38.00000000000001 -33.94669999999999 0.9999999999999999 1811 | vertex -38.00000000000001 -18.946699999999996 5.000000000000002 1812 | vertex -38.00000000000001 -18.946699999999996 0.9999999999999999 1813 | endloop 1814 | endfacet 1815 | facet normal 1.0 -0.0 -0.0 1816 | outer loop 1817 | vertex -36.0 -5.4467 7.402412016688231e-15 1818 | vertex -36.0 -47.44670000000001 4.000000000000003 1819 | vertex -36.0 -47.44670000000001 1.762479051592436e-15 1820 | endloop 1821 | endfacet 1822 | facet normal 1.0 -0.0 -0.0 1823 | outer loop 1824 | vertex -36.0 -47.44670000000001 4.000000000000003 1825 | vertex -36.0 -5.4467 7.402412016688231e-15 1826 | vertex -36.0 -41.4467 4.000000000000001 1827 | endloop 1828 | endfacet 1829 | facet normal 1.0 -0.0 -0.0 1830 | outer loop 1831 | vertex -36.0 -41.4467 4.000000000000001 1832 | vertex -36.0 -5.4467 7.402412016688231e-15 1833 | vertex -36.0 -41.4467 5.000000000000001 1834 | endloop 1835 | endfacet 1836 | facet normal 1.0 -0.0 -0.0 1837 | outer loop 1838 | vertex -36.0 -41.4467 5.000000000000001 1839 | vertex -36.0 -5.4467 7.402412016688231e-15 1840 | vertex -36.0 -11.446699999999998 4.000000000000001 1841 | endloop 1842 | endfacet 1843 | facet normal 1.0 -0.0 -0.0 1844 | outer loop 1845 | vertex -36.0 -11.446699999999998 4.000000000000001 1846 | vertex -36.0 -5.4467 7.402412016688231e-15 1847 | vertex -36.0 -5.4467 4.000000000000003 1848 | endloop 1849 | endfacet 1850 | facet normal 1.0 -0.0 -0.0 1851 | outer loop 1852 | vertex -36.0 -11.446699999999998 5.000000000000001 1853 | vertex -36.0 -41.4467 5.000000000000001 1854 | vertex -36.0 -11.446699999999998 4.000000000000001 1855 | endloop 1856 | endfacet 1857 | facet normal -1.0 0.0 0.0 1858 | outer loop 1859 | vertex -38.00000000000001 -3.4467000000000003 5.000000000000002 1860 | vertex -38.00000000000001 -18.946699999999996 0.9999999999999999 1861 | vertex -38.00000000000001 -18.946699999999996 5.000000000000002 1862 | endloop 1863 | endfacet 1864 | facet normal -1.0 0.0 0.0 1865 | outer loop 1866 | vertex -38.00000000000001 -18.946699999999996 0.9999999999999999 1867 | vertex -38.00000000000001 -3.4467000000000003 5.000000000000002 1868 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 1869 | endloop 1870 | endfacet 1871 | facet normal -1.0 0.0 0.0 1872 | outer loop 1873 | vertex -38.00000000000001 -18.946699999999996 7.402412016688231e-15 1874 | vertex -38.00000000000001 -3.4467000000000003 5.000000000000002 1875 | vertex -38.00000000000001 -3.4467000000000003 7.402412016688231e-15 1876 | endloop 1877 | endfacet 1878 | facet normal 0.0 -1.0 0.0 1879 | outer loop 1880 | vertex 35.99999999999999 -5.4467 4.000000000000003 1881 | vertex -36.0 -5.4467 7.402412016688231e-15 1882 | vertex 35.99999999999999 -5.4467 7.402412016688231e-15 1883 | endloop 1884 | endfacet 1885 | facet normal 0.0 -1.0 0.0 1886 | outer loop 1887 | vertex -36.0 -5.4467 7.402412016688231e-15 1888 | vertex 35.99999999999999 -5.4467 4.000000000000003 1889 | vertex -36.0 -5.4467 4.000000000000003 1890 | endloop 1891 | endfacet 1892 | facet normal 1.0 -0.0 0.0 1893 | outer loop 1894 | vertex 37.99999999999999 -18.9467 0.9999999999999999 1895 | vertex 37.99999999999999 -33.94670000000001 5.000000000000002 1896 | vertex 37.99999999999999 -33.94670000000001 0.9999999999999999 1897 | endloop 1898 | endfacet 1899 | facet normal 1.0 -0.0 0.0 1900 | outer loop 1901 | vertex 37.99999999999999 -33.94670000000001 5.000000000000002 1902 | vertex 37.99999999999999 -18.9467 0.9999999999999999 1903 | vertex 37.99999999999999 -18.9467 5.000000000000002 1904 | endloop 1905 | endfacet 1906 | facet normal 0.0 1.0 0.0 1907 | outer loop 1908 | vertex -38.00000000000001 -3.4467000000000003 5.000000000000002 1909 | vertex 37.99999999999999 -3.4467000000000003 7.402412016688231e-15 1910 | vertex -38.00000000000001 -3.4467000000000003 7.402412016688231e-15 1911 | endloop 1912 | endfacet 1913 | facet normal 0.0 1.0 0.0 1914 | outer loop 1915 | vertex 37.99999999999999 -3.4467000000000003 7.402412016688231e-15 1916 | vertex -38.00000000000001 -3.4467000000000003 5.000000000000002 1917 | vertex 37.99999999999999 -3.4467000000000003 5.000000000000002 1918 | endloop 1919 | endfacet 1920 | facet normal 1.0 -0.0 -0.0 1921 | outer loop 1922 | vertex 37.99999999999999 -3.4467000000000003 7.402412016688231e-15 1923 | vertex 37.99999999999999 -18.9467 0.9999999999999999 1924 | vertex 37.99999999999999 -18.9467 7.402412016688231e-15 1925 | endloop 1926 | endfacet 1927 | facet normal 1.0 -0.0 -0.0 1928 | outer loop 1929 | vertex 37.99999999999999 -18.9467 0.9999999999999999 1930 | vertex 37.99999999999999 -3.4467000000000003 7.402412016688231e-15 1931 | vertex 37.99999999999999 -18.9467 5.000000000000002 1932 | endloop 1933 | endfacet 1934 | facet normal 1.0 -0.0 -0.0 1935 | outer loop 1936 | vertex 37.99999999999999 -18.9467 5.000000000000002 1937 | vertex 37.99999999999999 -3.4467000000000003 7.402412016688231e-15 1938 | vertex 37.99999999999999 -3.4467000000000003 5.000000000000002 1939 | endloop 1940 | endfacet 1941 | facet normal 1.0 -0.0 -0.0 1942 | outer loop 1943 | vertex 37.99999999999999 -33.94670000000001 1.762479051592436e-15 1944 | vertex 37.99999999999999 -49.44670000000001 5.000000000000002 1945 | vertex 37.99999999999999 -49.44670000000001 1.762479051592436e-15 1946 | endloop 1947 | endfacet 1948 | facet normal 1.0 -0.0 -0.0 1949 | outer loop 1950 | vertex 37.99999999999999 -49.44670000000001 5.000000000000002 1951 | vertex 37.99999999999999 -33.94670000000001 1.762479051592436e-15 1952 | vertex 37.99999999999999 -33.94670000000001 5.000000000000002 1953 | endloop 1954 | endfacet 1955 | facet normal 1.0 -0.0 -0.0 1956 | outer loop 1957 | vertex 37.99999999999999 -33.94670000000001 5.000000000000002 1958 | vertex 37.99999999999999 -33.94670000000001 1.762479051592436e-15 1959 | vertex 37.99999999999999 -33.94670000000001 0.9999999999999999 1960 | endloop 1961 | endfacet 1962 | facet normal -0.0 1.0 -0.0 1963 | outer loop 1964 | vertex -36.0 -47.44670000000001 4.000000000000003 1965 | vertex 35.99999999999999 -47.44670000000001 1.762479051592436e-15 1966 | vertex -36.0 -47.44670000000001 1.762479051592436e-15 1967 | endloop 1968 | endfacet 1969 | facet normal -0.0 1.0 -0.0 1970 | outer loop 1971 | vertex 35.99999999999999 -47.44670000000001 1.762479051592436e-15 1972 | vertex -36.0 -47.44670000000001 4.000000000000003 1973 | vertex 35.99999999999999 -47.44670000000001 4.000000000000003 1974 | endloop 1975 | endfacet 1976 | facet normal -1.0 0.0 0.0 1977 | outer loop 1978 | vertex 35.99999999999999 -11.446699999999998 5.000000000000001 1979 | vertex 35.99999999999999 -41.4467 4.000000000000001 1980 | vertex 35.99999999999999 -41.4467 5.000000000000001 1981 | endloop 1982 | endfacet 1983 | facet normal -1.0 0.0 0.0 1984 | outer loop 1985 | vertex 35.99999999999999 -41.4467 4.000000000000001 1986 | vertex 35.99999999999999 -47.44670000000001 1.762479051592436e-15 1987 | vertex 35.99999999999999 -47.44670000000001 4.000000000000003 1988 | endloop 1989 | endfacet 1990 | facet normal -1.0 0.0 0.0 1991 | outer loop 1992 | vertex 35.99999999999999 -47.44670000000001 1.762479051592436e-15 1993 | vertex 35.99999999999999 -41.4467 4.000000000000001 1994 | vertex 35.99999999999999 -5.4467 7.402412016688231e-15 1995 | endloop 1996 | endfacet 1997 | facet normal -1.0 0.0 0.0 1998 | outer loop 1999 | vertex 35.99999999999999 -5.4467 7.402412016688231e-15 2000 | vertex 35.99999999999999 -41.4467 4.000000000000001 2001 | vertex 35.99999999999999 -11.446699999999998 4.000000000000001 2002 | endloop 2003 | endfacet 2004 | facet normal -1.0 0.0 0.0 2005 | outer loop 2006 | vertex 35.99999999999999 -11.446699999999998 4.000000000000001 2007 | vertex 35.99999999999999 -41.4467 4.000000000000001 2008 | vertex 35.99999999999999 -11.446699999999998 5.000000000000001 2009 | endloop 2010 | endfacet 2011 | facet normal -1.0 0.0 0.0 2012 | outer loop 2013 | vertex 35.99999999999999 -5.4467 7.402412016688231e-15 2014 | vertex 35.99999999999999 -11.446699999999998 4.000000000000001 2015 | vertex 35.99999999999999 -5.4467 4.000000000000003 2016 | endloop 2017 | endfacet 2018 | endsolid ULN2003-dual 2019 | -------------------------------------------------------------------------------- /3d print files/mounting-bracket-base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brgerig/Magic-Clock/69f50ece9575d0fabb6c6d9e41162ca454af5ea1/3d print files/mounting-bracket-base.stl -------------------------------------------------------------------------------- /ClockPrimary-HA/ClockPrimary-HA.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | #include "config.h" 7 | 8 | WiFiClient wifiClient; 9 | PubSubClient client(wifiClient); 10 | SoftwareSerial ser(D1,D2,false,8); 11 | 12 | void setup() { 13 | Serial.begin(9600); 14 | ser.begin(9600); 15 | 16 | wifi_reconnect(); 17 | 18 | client.setServer(MQTT_SERVER, MQTT_PORT); 19 | client.setCallback(msgReceived); 20 | } 21 | 22 | void loop() { 23 | if(WiFi.status() != WL_CONNECTED) { 24 | wifi_reconnect(); 25 | } 26 | if(!client.connected()) { 27 | mqtt_reconnect(); 28 | } 29 | 30 | client.loop(); 31 | } 32 | 33 | void wifi_reconnect() { 34 | WiFi.mode(WIFI_STA); 35 | WiFi.begin(SSID, PASSWORD); 36 | //WiFi.begin(SSID); 37 | Serial.print("Connecting..."); 38 | 39 | while (WiFi.status() != WL_CONNECTED) { 40 | delay(500); 41 | Serial.print("."); 42 | } 43 | Serial.println(); 44 | 45 | Serial.print("Connected, IP address: "); 46 | Serial.println(WiFi.localIP()); 47 | } 48 | 49 | void mqtt_reconnect() { 50 | // Loop until we're reconnected 51 | while (!client.connected()) { 52 | Serial.print("Attempting MQTT connection..."); 53 | // Attempt to connect 54 | if (client.connect(HOSTNAME,MQTT_USER,MQTT_PASS)) { 55 | Serial.println("connected"); 56 | client.publish("home/clock","Connected"); 57 | client.subscribe("home/clock/#"); 58 | } else { 59 | Serial.print("failed, rc="); 60 | Serial.print(client.state()); 61 | Serial.println(" try again in 5 seconds"); 62 | // Wait 5 seconds before retrying 63 | delay(5000); 64 | } 65 | } 66 | } 67 | 68 | /* Clock face positions: 69 | * 0: Home 70 | * 1: Lessons 71 | * 2: Concert 72 | * 3: Lost 73 | * 4: Tavern 74 | * 5: Mortal Peril 75 | * 6: Opera 76 | * 7: Siblings 77 | * 8: Travel 78 | * 9: Doctors 79 | * 10: Work 80 | * 11: Parents 81 | * 12: School 82 | */ 83 | 84 | void sendData(char target, char loc[]) { 85 | int pos=3; // default to Lost 86 | if (strcasecmp(loc,"Home") == 0) { 87 | pos = 0; 88 | } 89 | else if (strcasecmp(loc,"Lessons") == 0) { 90 | pos = 1; 91 | } 92 | else if (strcasecmp(loc,"Concert") == 0) { 93 | pos = 2; 94 | } 95 | else if (strcasecmp(loc,"not_home") == 0 or strcasecmp(loc,"Lost") == 0) { 96 | pos = 3; 97 | } 98 | else if (strcasecmp(loc,"Tavern") == 0) { 99 | pos = 4; 100 | } 101 | else if (strcasecmp(loc,"Mortal Peril") == 0) { 102 | pos = 5; 103 | } 104 | else if (strcasecmp(loc,"Opera") == 0) { 105 | pos = 6; 106 | } 107 | else if (strcasecmp(loc,"Siblings") == 0) { 108 | pos = 7; 109 | } 110 | else if (strcasecmp(loc,"Travel") == 0) { 111 | pos = 8; 112 | } 113 | else if (strcasecmp(loc,"Doctors") == 0) { 114 | pos = 9; 115 | } 116 | else if (strcasecmp(loc,"Work") == 0) { 117 | pos = 10; 118 | } 119 | else if (strcasecmp(loc,"Parents") == 0) { 120 | pos = 11; 121 | } 122 | else if (strcasecmp(loc,"School") == 0) { 123 | pos = 12; 124 | } 125 | 126 | Serial.print(loc); 127 | Serial.print(" - Sending: "); 128 | Serial.print(target); 129 | Serial.println(pos); 130 | 131 | ser.write(target); 132 | ser.write(pos); 133 | ser.write('#'); 134 | } 135 | 136 | void msgReceived(char* topic, byte* payload, unsigned int length) { 137 | char target = 0; 138 | if(strcmp(topic,"home/clock/personA") == 0) { 139 | target = 'A'; 140 | } 141 | else if(strcmp(topic,"home/clock/personB") == 0) { 142 | target = 'B'; 143 | } 144 | else if(strcmp(topic,"home/clock/personC") == 0) { 145 | target = 'C'; 146 | } 147 | else if(strcmp(topic,"home/clock/personD") == 0) { 148 | target = 'D'; 149 | } 150 | else { 151 | target = 0; 152 | } 153 | 154 | char message[length+1]; 155 | for (int i = 0; i < length; i++) { 156 | message[i] = payload[i]; 157 | } 158 | message[length] = '\0'; 159 | 160 | Serial.print("Location update: "); 161 | Serial.print(target); 162 | Serial.print(" is at "); 163 | Serial.println(message); 164 | 165 | if(target != 0) { 166 | sendData(target,message); 167 | } 168 | } 169 | -------------------------------------------------------------------------------- /ClockPrimary-HA/config.h: -------------------------------------------------------------------------------- 1 | #define SSID "WiFiSSID" 2 | #define PASSWORD "WiFiPWD" 3 | 4 | // MQTT Settings 5 | #define HOSTNAME "magic-clock" 6 | #define MQTT_SERVER "something.cloudmqtt.com" 7 | #define MQTT_PORT 11111 8 | #define MQTT_USER "clockuser" 9 | #define MQTT_PASS "clockpass" 10 | -------------------------------------------------------------------------------- /ClockPrimary-OwnTracks/ClockPrimary-OwnTracks.ino: -------------------------------------------------------------------------------- 1 | // Board: NodeMCU 1.0 2 | // Important: Change MQTT_MAX_PACKET_SIZE in PubSubClient.h to 256 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | 10 | #include "config.h" 11 | 12 | WiFiClient wifiClient; 13 | PubSubClient client(wifiClient); 14 | SoftwareSerial ser(D1,D2,false,8); 15 | 16 | void setup() { 17 | Serial.begin(9600); 18 | ser.begin(9600); 19 | 20 | wifi_reconnect(); 21 | 22 | client.setServer(MQTT_SERVER, MQTT_PORT); 23 | client.setCallback(msgReceived); 24 | } 25 | 26 | void loop() { 27 | if(WiFi.status() != WL_CONNECTED) { 28 | wifi_reconnect(); 29 | } 30 | if (!client.connected()) { 31 | mqtt_reconnect(); 32 | } 33 | 34 | client.loop(); 35 | } 36 | 37 | void wifi_reconnect() { 38 | WiFi.mode(WIFI_STA); 39 | WiFi.begin(SSID, PASSWORD); 40 | Serial.print("Connecting..."); 41 | 42 | while (WiFi.status() != WL_CONNECTED) { 43 | delay(500); 44 | Serial.print("."); 45 | } 46 | Serial.println(); 47 | 48 | Serial.print("Connected, IP address: "); 49 | Serial.println(WiFi.localIP()); 50 | } 51 | 52 | void mqtt_reconnect() { 53 | // Loop until we're reconnected 54 | while (!client.connected()) { 55 | Serial.print("Attempting MQTT connection..."); 56 | // Attempt to connect 57 | if (client.connect(HOSTNAME, MQTT_USER, MQTT_PASS)) { 58 | Serial.println("connected"); 59 | client.subscribe("owntracks/#"); 60 | } else { 61 | Serial.print("failed, rc="); 62 | Serial.print(client.state()); 63 | Serial.println(" try again in 5 seconds"); 64 | // Wait 5 seconds before retrying 65 | delay(5000); 66 | } 67 | } 68 | } 69 | 70 | /* Clock face positions: 71 | 0: Home 72 | 1: Lessons 73 | 2: Concert 74 | 3: Lost 75 | 4: Tavern 76 | 5: Mortal Peril 77 | 6: Opera 78 | 7: Siblings 79 | 8: Travel 80 | 9: Doctors 81 | 10: Work 82 | 11: Parents 83 | 12: School 84 | */ 85 | 86 | void sendData(char target, const char* loc) { 87 | int pos = 3; // default to Lost 88 | if (strcasecmp(loc, "Home") == 0) { 89 | pos = 0; 90 | } 91 | else if (strcasecmp(loc, "Lessons") == 0) { 92 | pos = 1; 93 | } 94 | else if (strcasecmp(loc, "Concert") == 0) { 95 | pos = 2; 96 | } 97 | else if (strcasecmp(loc, "Lost") == 0) { 98 | pos = 3; 99 | } 100 | else if (strcasecmp(loc, "Tavern") == 0) { 101 | pos = 4; 102 | } 103 | else if (strcasecmp(loc, "Mortal Peril") == 0) { 104 | pos = 5; 105 | } 106 | else if (strcasecmp(loc, "Opera") == 0) { 107 | pos = 6; 108 | } 109 | else if (strcasecmp(loc, "Siblings") == 0) { 110 | pos = 7; 111 | } 112 | else if (strcasecmp(loc, "Travel") == 0) { 113 | pos = 8; 114 | } 115 | else if (strcasecmp(loc, "Doctors") == 0) { 116 | pos = 9; 117 | } 118 | else if (strcasecmp(loc, "Work") == 0) { 119 | pos = 10; 120 | } 121 | else if (strcasecmp(loc, "Parents") == 0) { 122 | pos = 11; 123 | } 124 | else if (strcasecmp(loc, "School") == 0) { 125 | pos = 12; 126 | } 127 | 128 | Serial.print(loc); 129 | Serial.print(" - Sending: "); 130 | Serial.print(target); 131 | Serial.println(pos); 132 | 133 | ser.write(target); 134 | ser.write(pos); 135 | ser.write('#'); 136 | } 137 | 138 | void msgReceived(char* topic, byte* payload, unsigned int length) { 139 | char* base = strtok(topic, "/"); 140 | char* who = strtok(NULL, "/"); 141 | 142 | char target = 0; 143 | if (strcasecmp(base, "owntracks") == 0) { 144 | if (strcasecmp(who, "personA") == 0) { 145 | target = 'A'; 146 | } 147 | else if (strcasecmp(who, "personB") == 0) { 148 | target = 'B'; 149 | } 150 | else if (strcasecmp(who, "personC") == 0) { 151 | target = 'C'; 152 | } 153 | else if (strcasecmp(who, "personD") == 0) { 154 | target = 'D'; 155 | } 156 | 157 | if (target != 0) { 158 | Serial.print("Update for "); 159 | Serial.println(who); 160 | 161 | StaticJsonDocument doc; 162 | 163 | deserializeJson(doc, payload); 164 | if (strcmp(doc["_type"], "location") == 0) { 165 | int batt = doc["batt"]; 166 | int vel = doc["vel"]; 167 | const char* region = doc["inregions"][0]; 168 | 169 | if (!region) { 170 | region = "Lost"; 171 | } 172 | 173 | if (vel > 10) { 174 | region = "Travel"; 175 | } 176 | 177 | if (batt < 10) { 178 | region = "Mortal Peril"; 179 | } 180 | 181 | Serial.print("In region: "); 182 | Serial.println(region); 183 | Serial.print("Speed: "); 184 | Serial.println(vel); 185 | Serial.print("Battery: "); 186 | Serial.println(batt); 187 | 188 | sendData(target, region); 189 | } 190 | if (strcmp(doc["_type"], "transition") == 0) { 191 | if (strcmp(doc["event"], "enter") == 0) { 192 | sendData(target, doc["desc"]); 193 | } 194 | else { 195 | sendData(target, "Lost"); 196 | } 197 | } 198 | } 199 | } 200 | } 201 | -------------------------------------------------------------------------------- /ClockPrimary-OwnTracks/config.h: -------------------------------------------------------------------------------- 1 | #define MQTT_MAX_PACKET_SIZE 256 2 | 3 | #define SSID "WiFiSSID" 4 | #define PASSWORD "WiFiPWD" 5 | 6 | // MQTT Settings 7 | #define HOSTNAME "magic-clock" 8 | #define MQTT_SERVER "something.cloudmqtt.com" 9 | #define MQTT_PORT 11111 10 | #define MQTT_USER "clockuser" 11 | #define MQTT_PASS "clockpass" 12 | -------------------------------------------------------------------------------- /ClockSecondary/ClockHand.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "ClockHand.h" 3 | #include 4 | #include 5 | 6 | 7 | ClockHand::ClockHand(bool invert, int pos, int sp, int st, int m, int c1, int c3, int c2, int c4): AccelStepper(m, c1, c3, c2, c4) { 8 | positions = pos; 9 | steps = st; 10 | speed = sp; 11 | scale = (invert ? -1 : 1); 12 | current_position = 0; 13 | memaddr = c1; 14 | 15 | int stored_pos = EEPROM.read(memaddr); 16 | if(stored_pos != 255) { 17 | current_position = stored_pos; 18 | } 19 | 20 | setMaxSpeed(1000); 21 | setSpeed(speed); 22 | setAcceleration(speed*10); 23 | } 24 | 25 | void ClockHand::run() { 26 | AccelStepper::run(); 27 | if(!isRunning()) { 28 | disableOutputs(); 29 | } 30 | } 31 | 32 | void ClockHand::move(long relative) { 33 | enableOutputs(); 34 | AccelStepper::move(relative); 35 | } 36 | 37 | void ClockHand::setNewPosition(int newpos) { 38 | if(newpos != current_position) { 39 | long stepPos = ((long)current_position * (float)steps / (float)positions) + distanceToGo(); 40 | stop(); 41 | long newStepPos = (long)newpos * (float)steps / (float)positions; 42 | long change = newStepPos - stepPos; 43 | int threshold = steps / 2; 44 | if (change > threshold) { change -= steps; } 45 | if (change < -threshold) { change += steps; } 46 | move(scale*change); 47 | 48 | current_position = newpos; 49 | EEPROM.update(memaddr,current_position); 50 | } 51 | } 52 | 53 | int ClockHand::getPosition() { 54 | return current_position; 55 | } 56 | -------------------------------------------------------------------------------- /ClockSecondary/ClockHand.h: -------------------------------------------------------------------------------- 1 | #ifndef ClockHand_h 2 | #define ClockHand_h 3 | 4 | #include 5 | #include 6 | 7 | class ClockHand: public AccelStepper 8 | { 9 | private: 10 | long steps; 11 | int speed; 12 | int scale; 13 | int positions; 14 | int current_position; 15 | int memaddr; 16 | 17 | public: 18 | ClockHand(bool invert, int p, int sp, int st, int m, int c1, int c3, int c2, int c4); 19 | 20 | void run(); 21 | void move(long relative); 22 | void setNewPosition(int newpos); 23 | int getPosition(); 24 | }; 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /ClockSecondary/ClockSecondary.ino: -------------------------------------------------------------------------------- 1 | // Board: Arduino Pro Mini, ATmega328P, 3.3V, 8MHz 2 | 3 | #include "ClockHand.h" 4 | #include 5 | 6 | #define STEPS 4096 7 | #define MODE 8 8 | #define SPEED 500 9 | #define POSITIONS 13 10 | 11 | #define SERBUFFER 8 12 | 13 | // Change the first parameter to switch the direction of rotation 14 | ClockHand personA = ClockHand(true, POSITIONS, SPEED, STEPS, MODE, 2, 4, 3, 5); 15 | ClockHand personB = ClockHand(false, POSITIONS, SPEED, STEPS, MODE, 6, 8, 7, 9); 16 | ClockHand personC = ClockHand(true, POSITIONS, SPEED, STEPS, MODE, 10, 12, 11, 13); 17 | ClockHand personD = ClockHand(false, POSITIONS, SPEED, STEPS, MODE, 14, 16, 15, 17); 18 | ClockHand *active; 19 | 20 | SoftwareSerial ser(A5, A4); 21 | char cmd[SERBUFFER]; 22 | boolean newData = false; 23 | 24 | void setup() { 25 | Serial.begin(9600); 26 | ser.begin(9600); 27 | Serial.println("Startup complete."); 28 | } 29 | 30 | static unsigned long lastTime = 0; 31 | 32 | void loop() { 33 | serReceive(); 34 | if(newData) { 35 | processCommand(); 36 | newData = false; 37 | } 38 | 39 | personA.run(); 40 | personB.run(); 41 | personC.run(); 42 | personD.run(); 43 | } 44 | 45 | void serReceive() { 46 | static byte ndx = 0; 47 | char endMarker = '#'; 48 | char rc; 49 | 50 | while (ser.available() > 0 && newData == false) { 51 | rc = ser.read(); 52 | 53 | if (rc != endMarker) { 54 | cmd[ndx] = rc; 55 | ndx++; 56 | if (ndx >= SERBUFFER) { 57 | ndx = SERBUFFER - 1; 58 | } 59 | } 60 | else { 61 | cmd[ndx] = '\0'; // terminate the string 62 | ndx = 0; 63 | newData = true; 64 | } 65 | } 66 | } 67 | 68 | void processCommand() { 69 | Serial.print("Command received for "); 70 | switch (cmd[0]) { 71 | case 'A': 72 | active = &personA; 73 | Serial.print("Person A: "); 74 | break; 75 | case 'B': 76 | active = &personB; 77 | Serial.print("Person B: "); 78 | break; 79 | case 'C': 80 | active = &personC; 81 | Serial.print("Person C: "); 82 | break; 83 | case 'D': 84 | active = &personD; 85 | Serial.print("Person D: "); 86 | break; 87 | default: 88 | Serial.print("Invalid"); 89 | break; 90 | } 91 | 92 | int p = cmd[1]; 93 | 94 | active->setNewPosition(p); 95 | Serial.print("Position "); 96 | Serial.println(p); 97 | } 98 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Magic-Clock 2 | 3 |

4 | 5 | In the Harry Potter books and movies, Harry's friends, the Weasleys, have a magical clock that tracks where all of the family members are. This project creates a functional version of that clock, using data from phone GPS by way of an MQTT message broker. There are two versions of the code: one uses OwnTracks data directly from MQTT, and the other uses custom MQTT topics that can be sent from any system. I use Home Assistant and its Zones. 6 | 7 | # The Parts List 8 | 9 | * 1 NodeMCU (https://www.amazon.com/dp/B071WRD25D) 10 | * 1 Arduino Pro Mini 3.3v (https://www.amazon.com/dp/B07RS911JD) 11 | * Programming board for Pro Mini, if necessary (https://www.amazon.com/dp/B00N4MCS1A) 12 | * 4 28BYJ-48 5v stepper motors with ULN2003 driver boards(https://www.amazon.com/dp/B015RQ97W8) 13 | * Jumper wires (https://www.amazon.com/dp/B01L5ULRUA) 14 | * 6v, 2A power adapter (https://www.amazon.com/dp/B01GCI99OG) 15 | * Brass tubes: 1/4", 7/32", 3/16", 5/32" (https://www.amazon.com/dp/B07VLNMCRC) 16 | * #10 threaded rod 17 | * #10 nuts 18 | * #10 tee nuts 19 | * .5x3mm machine screws 20 | * .5x3mm nuts 21 | * Printable transparency sheets 22 | * A bunch of 3d printed stuff 23 | * Misc paint, stain, and finishing supplies 24 | 25 | # The Code 26 | 27 | First, you'll need to install some libraries into your Arduino IDE. If you don't already have them, you need: 28 | * SoftwareSerial 29 | * AccelStepper 30 | * ESP8266WiFi 31 | * PubSubClient 32 | * ArduinoJson (if using the OwnTracks version) 33 | 34 | ClockPrimary gets loaded on the NodeMCU. The NodeMCU is responsible for connecing to WiFi and to the MQTT server, then listening for and processing messages, and sending those messages to the Arduino Pro Mini. Pick your flavor: 35 | 36 | * The OwnTracks version can process location and region updates directly from OwnTracks clients, which means you just need an MQTT instance. CloudMQTT has a free version which allows up to 5 connections, which is perfect for this project. You'll need to edit `config.h` with your WiFi and MQTT information. **Important:** You need to find where PubSubClient is installed, and change `MQTT_MAX_PACKET_SIZE` in `PubSubClient.h` to 256. 37 | * The HA (Home Assistant) version allows another source, like Home Assistant automations, to publish messages to the clock with location updates that can come from anywhere you want. By default, they should take the form of topic: `home/clock/*person*`, message: `*location*` 38 | 39 | For both, the names of the people/hands in the code should be changed to match the usernames/topic names. 40 | 41 | ClockSecondary gets loaded on the Arduino Pro Mini. There's not much to change here. The ClockHand class extends AccelStepper to provide some additional functionality to make the code cleaner. The instantiations of the ClockHands have a boolean as the first parameter: this changes the direction of rotation for that stepper motor, since I mounted mine in opposite directions to use space efficiently. So, if a clock hand is rotating the wrong direction, change that boolean. You can also change the names of the ClockHands to match the Primary code, but if you do, make sure to change the pointer assignments in `processCommand()`, too. 42 | 43 | # The Clients 44 | 45 | If using OwnTracks directly, make sure the usernames of the clients match the strings in `ClockPrimary-OwnTracks.ino`. Then, on each client, define regions that are named the same as those in the code. There are three exceptions to this: Travel, Lost, and Mortal Peril: besides the location information, the code also extracts the velocity and battery level. If the velocity is over 10kph, the location used is Travel, regardless of other location information. If the client isn't in a region but isn't moving, Lost is used. And, if the client reports a battery level of <10%, we're obviously in Mortal Peril. 46 | 47 | If using Home Assistant, feel free to use any location logic that you want. I use zones and Person entities, and send MQTT updates any time the Person state changes. I also use the same speed/battery level logic described previously, but that logic is all handled by my Home Assistant instance. Basically, do whatever you want, just make sure the *person* part of the topic matches the strings in `ClockPrimary-HA.ino`, and the message matches one of the locations listed in the code. For your convenience, not_home is treated identically to Lost. 48 | 49 | # The Wiring 50 | 51 | `Wiring diagram.png` contains all of the hookup information. This entire project is designed to be created with almost no soldering, and no annoying extra resistors or other little compnents. Just hook up the jumper wires and you're good to go. You can of course opt to solder everything if desired. The only non point-to-point wiring is the power, which needs to be distributed from the power jack to the NodeMCU and each of the ULN2003 boards. The Arduino is powered from the NodeMCU. 52 | 53 | # The Build 54 | 55 | I've documented this [here](https://imgur.com/a/wX98fOc). The files for 3d printing are all in the `3d print files` folder, with the exception of the clock hands, which were generously shared with my by Pascal Böcker of [Printable Props](https://printableprops.jimdo.com/en/harry-potter/weasley-clock/). 56 | 57 | The clock face was purchased from a [Hrothgar's Hoard](https://www.etsy.com/shop/HrothgarsHoardGames) 58 | -------------------------------------------------------------------------------- /Wiring diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/brgerig/Magic-Clock/69f50ece9575d0fabb6c6d9e41162ca454af5ea1/Wiring diagram.png --------------------------------------------------------------------------------