├── .gitattributes ├── .gitignore ├── CAD ├── 3d_scanner_belt_tensioner.stl ├── 3d_scanner_nema23.stl └── 3d_scanner_spacers.stl ├── README.md ├── code └── TeensyTurn │ ├── TeensyTurn.ino │ └── readme.md └── images ├── Setup.jpg ├── TurntableBottom.jpg ├── TurntableSetup.jpg ├── TurntableTop.jpg ├── motor_assembly.jpg ├── motor_assembly_annotated.jpg ├── motor_mount_annotated.jpg └── platform_bottom.jpg /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear on external disk 35 | .Spotlight-V100 36 | .Trashes 37 | 38 | # Directories potentially created on remote AFP share 39 | .AppleDB 40 | .AppleDesktop 41 | Network Trash Folder 42 | Temporary Items 43 | .apdisk 44 | -------------------------------------------------------------------------------- /CAD/3d_scanner_belt_tensioner.stl: -------------------------------------------------------------------------------- 1 | solid OpenSCAD_Model 2 | facet normal -2.14476e-016 -0.258865 0.965914 3 | outer loop 4 | vertex -6 -18.05 16.5 5 | vertex -10.25 -18.05 16.5 6 | vertex -10.25 -18.55 16.366 7 | endloop 8 | endfacet 9 | facet normal -2.14476e-016 -0.258865 0.965914 10 | outer loop 11 | vertex -6 -18.55 16.366 12 | vertex -6 -18.05 16.5 13 | vertex -10.25 -18.55 16.366 14 | endloop 15 | endfacet 16 | facet normal -1 0 -2.22045e-016 17 | outer loop 18 | vertex -10.25 -18.05 16.5 19 | vertex -10.25 25.075 16.5 20 | vertex -10.25 -18.55 16.366 21 | endloop 22 | endfacet 23 | facet normal -1 0 -2.22045e-016 24 | outer loop 25 | vertex -10.25 -18.55 16.366 26 | vertex -10.25 25.075 16.5 27 | vertex -10.25 25.575 16.366 28 | endloop 29 | endfacet 30 | facet normal -1 0 -2.22045e-016 31 | outer loop 32 | vertex -10.25 -18.55 16.366 33 | vertex -10.25 25.575 16.366 34 | vertex -10.25 25.941 16 35 | endloop 36 | endfacet 37 | facet normal -1 0 -2.22045e-016 38 | outer loop 39 | vertex -10.25 -18.55 16.366 40 | vertex -10.25 25.941 16 41 | vertex -10.25 26.075 15.5 42 | endloop 43 | endfacet 44 | facet normal -1 0 -2.22045e-016 45 | outer loop 46 | vertex -10.25 15.9169 0.462523 47 | vertex -10.25 26.075 15.5 48 | vertex -10.25 26.075 -15.5 49 | endloop 50 | endfacet 51 | facet normal -1 0 -2.22045e-016 52 | outer loop 53 | vertex -10.25 -18.55 16.366 54 | vertex -10.25 26.075 -15.5 55 | vertex -10.25 25.941 -16 56 | endloop 57 | endfacet 58 | facet normal -1 0 -2.22045e-016 59 | outer loop 60 | vertex -10.25 -18.55 16.366 61 | vertex -10.25 25.941 -16 62 | vertex -10.25 25.575 -16.366 63 | endloop 64 | endfacet 65 | facet normal -1 0 -2.22045e-016 66 | outer loop 67 | vertex -10.25 -18.55 16.366 68 | vertex -10.25 25.575 -16.366 69 | vertex -10.25 25.075 -16.5 70 | endloop 71 | endfacet 72 | facet normal -1 0 -2.22045e-016 73 | outer loop 74 | vertex -10.25 0 -13.125 75 | vertex -10.25 25.075 -16.5 76 | vertex -10.25 -18.05 -16.5 77 | endloop 78 | endfacet 79 | facet normal -1 0 -2.22045e-016 80 | outer loop 81 | vertex -10.25 -18.55 16.366 82 | vertex -10.25 -18.05 -16.5 83 | vertex -10.25 -18.55 -16.366 84 | endloop 85 | endfacet 86 | facet normal -1 0 -2.22045e-016 87 | outer loop 88 | vertex -10.25 -18.55 16.366 89 | vertex -10.25 -18.55 -16.366 90 | vertex -10.25 -18.916 -16 91 | endloop 92 | endfacet 93 | facet normal -1 0 -2.22045e-016 94 | outer loop 95 | vertex -10.25 -18.55 16.366 96 | vertex -10.25 -18.916 -16 97 | vertex -10.25 -19.05 -15.5 98 | endloop 99 | endfacet 100 | facet normal -1 0 -2.22045e-016 101 | outer loop 102 | vertex -10.25 -18.55 16.366 103 | vertex -10.25 -19.05 -15.5 104 | vertex -10.25 -19.05 15.5 105 | endloop 106 | endfacet 107 | facet normal -1 0 -2.22045e-016 108 | outer loop 109 | vertex -10.25 -18.55 16.366 110 | vertex -10.25 -19.05 15.5 111 | vertex -10.25 -18.916 16 112 | endloop 113 | endfacet 114 | facet normal -1 0 -2.22045e-016 115 | outer loop 116 | vertex -10.25 -18.55 16.366 117 | vertex -10.25 26.075 15.5 118 | vertex -10.25 0 13.125 119 | endloop 120 | endfacet 121 | facet normal -1 0 -2.22045e-016 122 | outer loop 123 | vertex -10.25 15.6563 -1.3501 124 | vertex -10.25 26.075 -15.5 125 | vertex -10.25 14.4571 -2.73407 126 | endloop 127 | endfacet 128 | facet normal -1 0 -2.22045e-016 129 | outer loop 130 | vertex -10.25 -18.55 16.366 131 | vertex -10.25 0 13.125 132 | vertex -10.25 -1.40729 12.3125 133 | endloop 134 | endfacet 135 | facet normal -1 0 -2.22045e-016 136 | outer loop 137 | vertex -10.25 -18.55 16.366 138 | vertex -10.25 -1.40729 12.3125 139 | vertex -10.25 -1.40729 10.6875 140 | endloop 141 | endfacet 142 | facet normal -1 0 -2.22045e-016 143 | outer loop 144 | vertex -10.25 9.7437 -1.3501 145 | vertex -10.25 -1.40729 10.6875 146 | vertex -10.25 9.48308 0.462523 147 | endloop 148 | endfacet 149 | facet normal -1 0 -2.22045e-016 150 | outer loop 151 | vertex -10.25 0 13.125 152 | vertex -10.25 26.075 15.5 153 | vertex -10.25 1.40729 12.3125 154 | endloop 155 | endfacet 156 | facet normal -1 0 -2.22045e-016 157 | outer loop 158 | vertex -10.25 9.48308 0.462523 159 | vertex -10.25 0 9.875 160 | vertex -10.25 1.40729 10.6875 161 | endloop 162 | endfacet 163 | facet normal -1 0 -2.22045e-016 164 | outer loop 165 | vertex -10.25 -1.40729 -0.8125 166 | vertex -10.25 25.075 -16.5 167 | vertex -10.25 -11.7844 3.11835 168 | endloop 169 | endfacet 170 | facet normal -1 0 -2.22045e-016 171 | outer loop 172 | vertex -10.25 -18.55 16.366 173 | vertex -10.25 -11.7844 3.11835 174 | vertex -10.25 -13.6156 3.11835 175 | endloop 176 | endfacet 177 | facet normal -1 0 -2.22045e-016 178 | outer loop 179 | vertex -10.25 -18.55 16.366 180 | vertex -10.25 -13.6156 3.11835 181 | vertex -10.25 -15.1562 2.1283 182 | endloop 183 | endfacet 184 | facet normal -1 0 -2.22045e-016 185 | outer loop 186 | vertex -10.25 -18.55 16.366 187 | vertex -10.25 -15.1562 2.1283 188 | vertex -10.25 -15.9169 0.462523 189 | endloop 190 | endfacet 191 | facet normal -1 0 -2.22045e-016 192 | outer loop 193 | vertex -10.25 -18.55 16.366 194 | vertex -10.25 -15.9169 0.462523 195 | vertex -10.25 -18.05 -16.5 196 | endloop 197 | endfacet 198 | facet normal -1 0 -2.22045e-016 199 | outer loop 200 | vertex -10.25 -14.4571 -2.73407 201 | vertex -10.25 -18.05 -16.5 202 | vertex -10.25 -15.6563 -1.3501 203 | endloop 204 | endfacet 205 | facet normal -1 0 -2.22045e-016 206 | outer loop 207 | vertex -10.25 -12.7 -3.25 208 | vertex -10.25 -18.05 -16.5 209 | vertex -10.25 -14.4571 -2.73407 210 | endloop 211 | endfacet 212 | facet normal -1 0 -2.22045e-016 213 | outer loop 214 | vertex -10.25 -10.9429 -2.73407 215 | vertex -10.25 25.075 -16.5 216 | vertex -10.25 -12.7 -3.25 217 | endloop 218 | endfacet 219 | facet normal -1 0 -2.22045e-016 220 | outer loop 221 | vertex -10.25 10.2438 2.1283 222 | vertex -10.25 1.40729 12.3125 223 | vertex -10.25 11.7844 3.11835 224 | endloop 225 | endfacet 226 | facet normal -1 0 -2.22045e-016 227 | outer loop 228 | vertex -10.25 -9.7437 -1.3501 229 | vertex -10.25 25.075 -16.5 230 | vertex -10.25 -10.9429 -2.73407 231 | endloop 232 | endfacet 233 | facet normal -1 0 -2.22045e-016 234 | outer loop 235 | vertex -10.25 -9.48308 0.462523 236 | vertex -10.25 25.075 -16.5 237 | vertex -10.25 -9.7437 -1.3501 238 | endloop 239 | endfacet 240 | facet normal -1 0 -2.22045e-016 241 | outer loop 242 | vertex -10.25 -10.2438 2.1283 243 | vertex -10.25 25.075 -16.5 244 | vertex -10.25 -9.48308 0.462523 245 | endloop 246 | endfacet 247 | facet normal -1 0 -2.22045e-016 248 | outer loop 249 | vertex -10.25 -11.7844 3.11835 250 | vertex -10.25 25.075 -16.5 251 | vertex -10.25 -10.2438 2.1283 252 | endloop 253 | endfacet 254 | facet normal -1 0 -2.22045e-016 255 | outer loop 256 | vertex -10.25 1.40729 12.3125 257 | vertex -10.25 26.075 15.5 258 | vertex -10.25 13.6156 3.11835 259 | endloop 260 | endfacet 261 | facet normal -1 0 -2.22045e-016 262 | outer loop 263 | vertex -10.25 1.40729 12.3125 264 | vertex -10.25 13.6156 3.11835 265 | vertex -10.25 11.7844 3.11835 266 | endloop 267 | endfacet 268 | facet normal -1 0 -2.22045e-016 269 | outer loop 270 | vertex -10.25 9.48308 0.462523 271 | vertex -10.25 1.40729 10.6875 272 | vertex -10.25 1.40729 12.3125 273 | endloop 274 | endfacet 275 | facet normal -1 0 -2.22045e-016 276 | outer loop 277 | vertex -10.25 -15.6563 -1.3501 278 | vertex -10.25 -18.05 -16.5 279 | vertex -10.25 -15.9169 0.462523 280 | endloop 281 | endfacet 282 | facet normal -1 0 -2.22045e-016 283 | outer loop 284 | vertex -10.25 -1.40729 10.6875 285 | vertex -10.25 0 9.875 286 | vertex -10.25 9.48308 0.462523 287 | endloop 288 | endfacet 289 | facet normal -1 0 -2.22045e-016 290 | outer loop 291 | vertex -10.25 -18.55 16.366 292 | vertex -10.25 -1.40729 10.6875 293 | vertex -10.25 9.7437 -1.3501 294 | endloop 295 | endfacet 296 | facet normal -1 0 -2.22045e-016 297 | outer loop 298 | vertex -10.25 -18.55 16.366 299 | vertex -10.25 9.7437 -1.3501 300 | vertex -10.25 10.9429 -2.73407 301 | endloop 302 | endfacet 303 | facet normal -1 0 -2.22045e-016 304 | outer loop 305 | vertex -10.25 -18.55 16.366 306 | vertex -10.25 10.9429 -2.73407 307 | vertex -10.25 26.075 -15.5 308 | endloop 309 | endfacet 310 | facet normal -1 0 -2.22045e-016 311 | outer loop 312 | vertex -10.25 12.7 -3.25 313 | vertex -10.25 26.075 -15.5 314 | vertex -10.25 10.9429 -2.73407 315 | endloop 316 | endfacet 317 | facet normal -1 0 -2.22045e-016 318 | outer loop 319 | vertex -10.25 14.4571 -2.73407 320 | vertex -10.25 26.075 -15.5 321 | vertex -10.25 12.7 -3.25 322 | endloop 323 | endfacet 324 | facet normal -1 0 -2.22045e-016 325 | outer loop 326 | vertex -10.25 9.48308 0.462523 327 | vertex -10.25 1.40729 12.3125 328 | vertex -10.25 10.2438 2.1283 329 | endloop 330 | endfacet 331 | facet normal -1 0 -2.22045e-016 332 | outer loop 333 | vertex -10.25 15.9169 0.462523 334 | vertex -10.25 26.075 -15.5 335 | vertex -10.25 15.6563 -1.3501 336 | endloop 337 | endfacet 338 | facet normal -1 0 -2.22045e-016 339 | outer loop 340 | vertex -10.25 15.1562 2.1283 341 | vertex -10.25 26.075 15.5 342 | vertex -10.25 15.9169 0.462523 343 | endloop 344 | endfacet 345 | facet normal -1 0 -2.22045e-016 346 | outer loop 347 | vertex -10.25 1.40729 -0.8125 348 | vertex -10.25 25.075 -16.5 349 | vertex -10.25 0 -1.625 350 | endloop 351 | endfacet 352 | facet normal -1 0 -2.22045e-016 353 | outer loop 354 | vertex -10.25 13.6156 3.11835 355 | vertex -10.25 26.075 15.5 356 | vertex -10.25 15.1562 2.1283 357 | endloop 358 | endfacet 359 | facet normal -1 0 -2.22045e-016 360 | outer loop 361 | vertex -10.25 1.40729 -12.3125 362 | vertex -10.25 25.075 -16.5 363 | vertex -10.25 0 -13.125 364 | endloop 365 | endfacet 366 | facet normal -1 0 -2.22045e-016 367 | outer loop 368 | vertex -10.25 -18.55 16.366 369 | vertex -10.25 0 1.625 370 | vertex -10.25 -11.7844 3.11835 371 | endloop 372 | endfacet 373 | facet normal -1 0 -2.22045e-016 374 | outer loop 375 | vertex -10.25 1.40729 0.8125 376 | vertex -10.25 25.075 -16.5 377 | vertex -10.25 1.40729 -0.8125 378 | endloop 379 | endfacet 380 | facet normal -1 0 -2.22045e-016 381 | outer loop 382 | vertex -10.25 0 1.625 383 | vertex -10.25 -1.40729 0.8125 384 | vertex -10.25 -11.7844 3.11835 385 | endloop 386 | endfacet 387 | facet normal -1 0 -2.22045e-016 388 | outer loop 389 | vertex -10.25 0 -1.625 390 | vertex -10.25 25.075 -16.5 391 | vertex -10.25 -1.40729 -0.8125 392 | endloop 393 | endfacet 394 | facet normal -1 0 -2.22045e-016 395 | outer loop 396 | vertex -10.25 -1.40729 0.8125 397 | vertex -10.25 -1.40729 -0.8125 398 | vertex -10.25 -11.7844 3.11835 399 | endloop 400 | endfacet 401 | facet normal -1 0 -2.22045e-016 402 | outer loop 403 | vertex -10.25 -18.55 16.366 404 | vertex -10.25 25.075 -16.5 405 | vertex -10.25 1.40729 0.8125 406 | endloop 407 | endfacet 408 | facet normal -1 0 -2.22045e-016 409 | outer loop 410 | vertex -10.25 -18.55 16.366 411 | vertex -10.25 1.40729 0.8125 412 | vertex -10.25 0 1.625 413 | endloop 414 | endfacet 415 | facet normal -1 0 -2.22045e-016 416 | outer loop 417 | vertex -10.25 -12.7 -3.25 418 | vertex -10.25 25.075 -16.5 419 | vertex -10.25 0 -9.875 420 | endloop 421 | endfacet 422 | facet normal -1 0 -2.22045e-016 423 | outer loop 424 | vertex -10.25 -12.7 -3.25 425 | vertex -10.25 0 -9.875 426 | vertex -10.25 -18.05 -16.5 427 | endloop 428 | endfacet 429 | facet normal -1 0 -2.22045e-016 430 | outer loop 431 | vertex -10.25 0 -9.875 432 | vertex -10.25 -1.40729 -10.6875 433 | vertex -10.25 -18.05 -16.5 434 | endloop 435 | endfacet 436 | facet normal -1 0 -2.22045e-016 437 | outer loop 438 | vertex -10.25 1.40729 -10.6875 439 | vertex -10.25 25.075 -16.5 440 | vertex -10.25 1.40729 -12.3125 441 | endloop 442 | endfacet 443 | facet normal -1 0 -2.22045e-016 444 | outer loop 445 | vertex -10.25 -1.40729 -10.6875 446 | vertex -10.25 -1.40729 -12.3125 447 | vertex -10.25 -18.05 -16.5 448 | endloop 449 | endfacet 450 | facet normal -1 0 -2.22045e-016 451 | outer loop 452 | vertex -10.25 -1.40729 -12.3125 453 | vertex -10.25 0 -13.125 454 | vertex -10.25 -18.05 -16.5 455 | endloop 456 | endfacet 457 | facet normal -1 0 -2.22045e-016 458 | outer loop 459 | vertex -10.25 0 -9.875 460 | vertex -10.25 25.075 -16.5 461 | vertex -10.25 1.40729 -10.6875 462 | endloop 463 | endfacet 464 | facet normal -2.22045e-016 0 1 465 | outer loop 466 | vertex -10.25 25.075 16.5 467 | vertex -10.25 -18.05 16.5 468 | vertex -6 -18.05 16.5 469 | endloop 470 | endfacet 471 | facet normal -2.22045e-016 0 1 472 | outer loop 473 | vertex -6 7 16.5 474 | vertex -10.25 25.075 16.5 475 | vertex -6 -7 16.5 476 | endloop 477 | endfacet 478 | facet normal -2.22045e-016 0 1 479 | outer loop 480 | vertex -6 -7 16.5 481 | vertex -10.25 25.075 16.5 482 | vertex -6 -18.05 16.5 483 | endloop 484 | endfacet 485 | facet normal -2.22045e-016 0 1 486 | outer loop 487 | vertex 6 7 16.5 488 | vertex -10.25 25.075 16.5 489 | vertex -6 7 16.5 490 | endloop 491 | endfacet 492 | facet normal -2.22045e-016 0 1 493 | outer loop 494 | vertex 10.25 25.075 16.5 495 | vertex -10.25 25.075 16.5 496 | vertex 6 7 16.5 497 | endloop 498 | endfacet 499 | facet normal -2.22045e-016 0 1 500 | outer loop 501 | vertex 10.25 -4.675 16.5 502 | vertex 6 7 16.5 503 | vertex 6 -4.675 16.5 504 | endloop 505 | endfacet 506 | facet normal -2.22045e-016 0 1 507 | outer loop 508 | vertex 10.25 25.075 16.5 509 | vertex 6 7 16.5 510 | vertex 10.25 -4.675 16.5 511 | endloop 512 | endfacet 513 | facet normal 1 0 2.22045e-016 514 | outer loop 515 | vertex -6 -7 16.5 516 | vertex -6 -18.05 16.5 517 | vertex -6 -18.55 16.366 518 | endloop 519 | endfacet 520 | facet normal 1 0 2.22045e-016 521 | outer loop 522 | vertex -6 -19.05 15.5 523 | vertex -6 -7 16.5 524 | vertex -6 -18.916 16 525 | endloop 526 | endfacet 527 | facet normal 1 0 2.22045e-016 528 | outer loop 529 | vertex -6 -18.916 16 530 | vertex -6 -7 16.5 531 | vertex -6 -18.55 16.366 532 | endloop 533 | endfacet 534 | facet normal 1 0 2.22045e-016 535 | outer loop 536 | vertex -6 -19.05 12.25 537 | vertex -6 -7 16.5 538 | vertex -6 -19.05 15.5 539 | endloop 540 | endfacet 541 | facet normal 1 0 2.22045e-016 542 | outer loop 543 | vertex -6 -7 12.25 544 | vertex -6 -7 16.5 545 | vertex -6 -19.05 12.25 546 | endloop 547 | endfacet 548 | facet normal -1.57009e-016 -0.707107 0.707107 549 | outer loop 550 | vertex -6 -18.55 16.366 551 | vertex -10.25 -18.55 16.366 552 | vertex -10.25 -18.916 16 553 | endloop 554 | endfacet 555 | facet normal -1.57009e-016 -0.707107 0.707107 556 | outer loop 557 | vertex -6 -18.916 16 558 | vertex -6 -18.55 16.366 559 | vertex -10.25 -18.916 16 560 | endloop 561 | endfacet 562 | facet normal -5.74795e-017 -0.965914 0.258865 563 | outer loop 564 | vertex -6 -18.916 16 565 | vertex -10.25 -18.916 16 566 | vertex -10.25 -19.05 15.5 567 | endloop 568 | endfacet 569 | facet normal -5.74795e-017 -0.965914 0.258865 570 | outer loop 571 | vertex -6 -19.05 15.5 572 | vertex -6 -18.916 16 573 | vertex -10.25 -19.05 15.5 574 | endloop 575 | endfacet 576 | facet normal 0 -1 0 577 | outer loop 578 | vertex -6 -19.05 15.5 579 | vertex -10.25 -19.05 15.5 580 | vertex -10.25 -19.05 -15.5 581 | endloop 582 | endfacet 583 | facet normal 0 -1 0 584 | outer loop 585 | vertex -6 -19.05 12.25 586 | vertex -6 -19.05 15.5 587 | vertex -10.25 -19.05 -15.5 588 | endloop 589 | endfacet 590 | facet normal 0 -1 0 591 | outer loop 592 | vertex -6 -19.05 -15.5 593 | vertex -6 -19.05 -12.25 594 | vertex -10.25 -19.05 -15.5 595 | endloop 596 | endfacet 597 | facet normal 0 -1 0 598 | outer loop 599 | vertex -6 -19.05 -12.25 600 | vertex -6 -19.05 12.25 601 | vertex -10.25 -19.05 -15.5 602 | endloop 603 | endfacet 604 | facet normal 5.74795e-017 -0.965914 -0.258865 605 | outer loop 606 | vertex -6 -19.05 -15.5 607 | vertex -10.25 -19.05 -15.5 608 | vertex -10.25 -18.916 -16 609 | endloop 610 | endfacet 611 | facet normal 5.74795e-017 -0.965914 -0.258865 612 | outer loop 613 | vertex -6 -18.916 -16 614 | vertex -6 -19.05 -15.5 615 | vertex -10.25 -18.916 -16 616 | endloop 617 | endfacet 618 | facet normal 1.57009e-016 -0.707107 -0.707107 619 | outer loop 620 | vertex -6 -18.916 -16 621 | vertex -10.25 -18.916 -16 622 | vertex -10.25 -18.55 -16.366 623 | endloop 624 | endfacet 625 | facet normal 1.57009e-016 -0.707107 -0.707107 626 | outer loop 627 | vertex -6 -18.55 -16.366 628 | vertex -6 -18.916 -16 629 | vertex -10.25 -18.55 -16.366 630 | endloop 631 | endfacet 632 | facet normal 2.14476e-016 -0.258865 -0.965914 633 | outer loop 634 | vertex -10.25 -18.55 -16.366 635 | vertex -10.25 -18.05 -16.5 636 | vertex -6 -18.55 -16.366 637 | endloop 638 | endfacet 639 | facet normal 2.14476e-016 -0.258865 -0.965914 640 | outer loop 641 | vertex -6 -18.55 -16.366 642 | vertex -10.25 -18.05 -16.5 643 | vertex -6 -18.05 -16.5 644 | endloop 645 | endfacet 646 | facet normal 2.22045e-016 0 -1 647 | outer loop 648 | vertex -10.25 -18.05 -16.5 649 | vertex -10.25 25.075 -16.5 650 | vertex -6 -18.05 -16.5 651 | endloop 652 | endfacet 653 | facet normal 2.22045e-016 0 -1 654 | outer loop 655 | vertex -6 7 -16.5 656 | vertex -10.25 25.075 -16.5 657 | vertex 10.25 25.075 -16.5 658 | endloop 659 | endfacet 660 | facet normal 2.22045e-016 0 -1 661 | outer loop 662 | vertex 6 -4.675 -16.5 663 | vertex 10.25 25.075 -16.5 664 | vertex 10.25 -4.675 -16.5 665 | endloop 666 | endfacet 667 | facet normal 2.22045e-016 0 -1 668 | outer loop 669 | vertex 6 7 -16.5 670 | vertex 10.25 25.075 -16.5 671 | vertex 6 -4.675 -16.5 672 | endloop 673 | endfacet 674 | facet normal 2.22045e-016 0 -1 675 | outer loop 676 | vertex -6 -18.05 -16.5 677 | vertex -10.25 25.075 -16.5 678 | vertex -6 -7 -16.5 679 | endloop 680 | endfacet 681 | facet normal 2.22045e-016 0 -1 682 | outer loop 683 | vertex -10.25 25.075 -16.5 684 | vertex -6 7 -16.5 685 | vertex -6 -7 -16.5 686 | endloop 687 | endfacet 688 | facet normal 2.22045e-016 0 -1 689 | outer loop 690 | vertex -6 7 -16.5 691 | vertex 10.25 25.075 -16.5 692 | vertex 6 7 -16.5 693 | endloop 694 | endfacet 695 | facet normal 2.14476e-016 0.258865 -0.965914 696 | outer loop 697 | vertex -10.25 25.575 -16.366 698 | vertex 10.25 25.575 -16.366 699 | vertex -10.25 25.075 -16.5 700 | endloop 701 | endfacet 702 | facet normal 2.14476e-016 0.258865 -0.965914 703 | outer loop 704 | vertex -10.25 25.075 -16.5 705 | vertex 10.25 25.575 -16.366 706 | vertex 10.25 25.075 -16.5 707 | endloop 708 | endfacet 709 | facet normal 1.57009e-016 0.707107 -0.707107 710 | outer loop 711 | vertex -10.25 25.941 -16 712 | vertex 10.25 25.941 -16 713 | vertex -10.25 25.575 -16.366 714 | endloop 715 | endfacet 716 | facet normal 1.57009e-016 0.707107 -0.707107 717 | outer loop 718 | vertex -10.25 25.575 -16.366 719 | vertex 10.25 25.941 -16 720 | vertex 10.25 25.575 -16.366 721 | endloop 722 | endfacet 723 | facet normal 5.74795e-017 0.965914 -0.258865 724 | outer loop 725 | vertex -10.25 26.075 -15.5 726 | vertex 10.25 26.075 -15.5 727 | vertex -10.25 25.941 -16 728 | endloop 729 | endfacet 730 | facet normal 5.74795e-017 0.965914 -0.258865 731 | outer loop 732 | vertex -10.25 25.941 -16 733 | vertex 10.25 26.075 -15.5 734 | vertex 10.25 25.941 -16 735 | endloop 736 | endfacet 737 | facet normal 0 1 0 738 | outer loop 739 | vertex -6 26.075 -12.25 740 | vertex -10.25 26.075 -15.5 741 | vertex -6 26.075 12.25 742 | endloop 743 | endfacet 744 | facet normal 0 1 0 745 | outer loop 746 | vertex 6 26.075 -12.25 747 | vertex 10.25 26.075 15.5 748 | vertex 10.25 26.075 -15.5 749 | endloop 750 | endfacet 751 | facet normal 0 1 0 752 | outer loop 753 | vertex -10.25 26.075 15.5 754 | vertex 10.25 26.075 15.5 755 | vertex 6 26.075 12.25 756 | endloop 757 | endfacet 758 | facet normal 0 1 0 759 | outer loop 760 | vertex -10.25 26.075 15.5 761 | vertex 6 26.075 12.25 762 | vertex -6 26.075 12.25 763 | endloop 764 | endfacet 765 | facet normal 0 1 0 766 | outer loop 767 | vertex -10.25 26.075 15.5 768 | vertex -6 26.075 12.25 769 | vertex -10.25 26.075 -15.5 770 | endloop 771 | endfacet 772 | facet normal 0 1 0 773 | outer loop 774 | vertex -10.25 26.075 -15.5 775 | vertex -6 26.075 -12.25 776 | vertex 10.25 26.075 -15.5 777 | endloop 778 | endfacet 779 | facet normal 0 1 0 780 | outer loop 781 | vertex -6 26.075 -12.25 782 | vertex 6 26.075 -12.25 783 | vertex 10.25 26.075 -15.5 784 | endloop 785 | endfacet 786 | facet normal 0 1 0 787 | outer loop 788 | vertex 6 26.075 12.25 789 | vertex 10.25 26.075 15.5 790 | vertex 6 26.075 -12.25 791 | endloop 792 | endfacet 793 | facet normal -5.74795e-017 0.965914 0.258865 794 | outer loop 795 | vertex -10.25 25.941 16 796 | vertex 10.25 25.941 16 797 | vertex -10.25 26.075 15.5 798 | endloop 799 | endfacet 800 | facet normal -5.74795e-017 0.965914 0.258865 801 | outer loop 802 | vertex -10.25 26.075 15.5 803 | vertex 10.25 25.941 16 804 | vertex 10.25 26.075 15.5 805 | endloop 806 | endfacet 807 | facet normal -1.57009e-016 0.707107 0.707107 808 | outer loop 809 | vertex -10.25 25.575 16.366 810 | vertex 10.25 25.575 16.366 811 | vertex -10.25 25.941 16 812 | endloop 813 | endfacet 814 | facet normal -1.57009e-016 0.707107 0.707107 815 | outer loop 816 | vertex -10.25 25.941 16 817 | vertex 10.25 25.575 16.366 818 | vertex 10.25 25.941 16 819 | endloop 820 | endfacet 821 | facet normal -2.14476e-016 0.258865 0.965914 822 | outer loop 823 | vertex -10.25 25.575 16.366 824 | vertex -10.25 25.075 16.5 825 | vertex 10.25 25.075 16.5 826 | endloop 827 | endfacet 828 | facet normal -2.14476e-016 0.258865 0.965914 829 | outer loop 830 | vertex 10.25 25.575 16.366 831 | vertex -10.25 25.575 16.366 832 | vertex 10.25 25.075 16.5 833 | endloop 834 | endfacet 835 | facet normal 1.92296e-016 0.5 -0.866025 836 | outer loop 837 | vertex -6 -1.40729 12.3125 838 | vertex -10.25 -1.40729 12.3125 839 | vertex -6 0 13.125 840 | endloop 841 | endfacet 842 | facet normal 1.92296e-016 0.5 -0.866025 843 | outer loop 844 | vertex -6 0 13.125 845 | vertex -10.25 -1.40729 12.3125 846 | vertex -10.25 0 13.125 847 | endloop 848 | endfacet 849 | facet normal 1.92296e-016 -0.5 -0.866025 850 | outer loop 851 | vertex -6 1.40729 12.3125 852 | vertex -6 0 13.125 853 | vertex -10.25 1.40729 12.3125 854 | endloop 855 | endfacet 856 | facet normal 1.92296e-016 -0.5 -0.866025 857 | outer loop 858 | vertex -10.25 1.40729 12.3125 859 | vertex -6 0 13.125 860 | vertex -10.25 0 13.125 861 | endloop 862 | endfacet 863 | facet normal 0 -1 0 864 | outer loop 865 | vertex -10.25 1.40729 10.6875 866 | vertex -6 1.40729 10.6875 867 | vertex -6 1.40729 12.3125 868 | endloop 869 | endfacet 870 | facet normal 0 -1 0 871 | outer loop 872 | vertex -10.25 1.40729 12.3125 873 | vertex -10.25 1.40729 10.6875 874 | vertex -6 1.40729 12.3125 875 | endloop 876 | endfacet 877 | facet normal -1.92296e-016 -0.5 0.866025 878 | outer loop 879 | vertex -10.25 0 9.875 880 | vertex -6 0 9.875 881 | vertex -6 1.40729 10.6875 882 | endloop 883 | endfacet 884 | facet normal -1.92296e-016 -0.5 0.866025 885 | outer loop 886 | vertex -10.25 1.40729 10.6875 887 | vertex -10.25 0 9.875 888 | vertex -6 1.40729 10.6875 889 | endloop 890 | endfacet 891 | facet normal -1.92296e-016 0.5 0.866025 892 | outer loop 893 | vertex -6 -1.40729 10.6875 894 | vertex -6 0 9.875 895 | vertex -10.25 0 9.875 896 | endloop 897 | endfacet 898 | facet normal -1.92296e-016 0.5 0.866025 899 | outer loop 900 | vertex -10.25 -1.40729 10.6875 901 | vertex -6 -1.40729 10.6875 902 | vertex -10.25 0 9.875 903 | endloop 904 | endfacet 905 | facet normal 0 1 0 906 | outer loop 907 | vertex -6 -1.40729 10.6875 908 | vertex -10.25 -1.40729 10.6875 909 | vertex -6 -1.40729 12.3125 910 | endloop 911 | endfacet 912 | facet normal 0 1 0 913 | outer loop 914 | vertex -6 -1.40729 12.3125 915 | vertex -10.25 -1.40729 10.6875 916 | vertex -10.25 -1.40729 12.3125 917 | endloop 918 | endfacet 919 | facet normal 1.86796e-016 -0.540641 -0.841253 920 | outer loop 921 | vertex -6 -10.2438 2.1283 922 | vertex -6 -11.7844 3.11835 923 | vertex -10.25 -10.2438 2.1283 924 | endloop 925 | endfacet 926 | facet normal 1.86796e-016 -0.540641 -0.841253 927 | outer loop 928 | vertex -10.25 -10.2438 2.1283 929 | vertex -6 -11.7844 3.11835 930 | vertex -10.25 -11.7844 3.11835 931 | endloop 932 | endfacet 933 | facet normal 2.22045e-016 0 -1 934 | outer loop 935 | vertex -6 -11.7844 3.11835 936 | vertex -6 -13.6156 3.11835 937 | vertex -10.25 -11.7844 3.11835 938 | endloop 939 | endfacet 940 | facet normal 2.22045e-016 0 -1 941 | outer loop 942 | vertex -10.25 -11.7844 3.11835 943 | vertex -6 -13.6156 3.11835 944 | vertex -10.25 -13.6156 3.11835 945 | endloop 946 | endfacet 947 | facet normal 9.22407e-017 -0.909632 -0.415415 948 | outer loop 949 | vertex -10.25 -9.48308 0.462523 950 | vertex -6 -9.48308 0.462523 951 | vertex -6 -10.2438 2.1283 952 | endloop 953 | endfacet 954 | facet normal 9.22407e-017 -0.909632 -0.415415 955 | outer loop 956 | vertex -10.25 -10.2438 2.1283 957 | vertex -10.25 -9.48308 0.462523 958 | vertex -6 -10.2438 2.1283 959 | endloop 960 | endfacet 961 | facet normal -3.16003e-017 -0.989821 0.142315 962 | outer loop 963 | vertex -10.25 -9.7437 -1.3501 964 | vertex -6 -9.7437 -1.3501 965 | vertex -6 -9.48308 0.462523 966 | endloop 967 | endfacet 968 | facet normal -3.16003e-017 -0.989821 0.142315 969 | outer loop 970 | vertex -10.25 -9.48308 0.462523 971 | vertex -10.25 -9.7437 -1.3501 972 | vertex -6 -9.48308 0.462523 973 | endloop 974 | endfacet 975 | facet normal -1.45408e-016 -0.75575 0.654861 976 | outer loop 977 | vertex -10.25 -10.9429 -2.73407 978 | vertex -6 -10.9429 -2.73407 979 | vertex -6 -9.7437 -1.3501 980 | endloop 981 | endfacet 982 | facet normal -1.45408e-016 -0.75575 0.654861 983 | outer loop 984 | vertex -10.25 -9.7437 -1.3501 985 | vertex -10.25 -10.9429 -2.73407 986 | vertex -6 -9.7437 -1.3501 987 | endloop 988 | endfacet 989 | facet normal -2.1305e-016 -0.281732 0.959493 990 | outer loop 991 | vertex -10.25 -12.7 -3.25 992 | vertex -6 -12.7 -3.25 993 | vertex -6 -10.9429 -2.73407 994 | endloop 995 | endfacet 996 | facet normal -2.1305e-016 -0.281732 0.959493 997 | outer loop 998 | vertex -10.25 -10.9429 -2.73407 999 | vertex -10.25 -12.7 -3.25 1000 | vertex -6 -10.9429 -2.73407 1001 | endloop 1002 | endfacet 1003 | facet normal -2.1305e-016 0.281732 0.959493 1004 | outer loop 1005 | vertex -6 -14.4571 -2.73407 1006 | vertex -6 -12.7 -3.25 1007 | vertex -10.25 -12.7 -3.25 1008 | endloop 1009 | endfacet 1010 | facet normal -2.1305e-016 0.281732 0.959493 1011 | outer loop 1012 | vertex -10.25 -14.4571 -2.73407 1013 | vertex -6 -14.4571 -2.73407 1014 | vertex -10.25 -12.7 -3.25 1015 | endloop 1016 | endfacet 1017 | facet normal -1.45408e-016 0.75575 0.654861 1018 | outer loop 1019 | vertex -6 -14.4571 -2.73407 1020 | vertex -10.25 -14.4571 -2.73407 1021 | vertex -6 -15.6563 -1.3501 1022 | endloop 1023 | endfacet 1024 | facet normal -1.45408e-016 0.75575 0.654861 1025 | outer loop 1026 | vertex -6 -15.6563 -1.3501 1027 | vertex -10.25 -14.4571 -2.73407 1028 | vertex -10.25 -15.6563 -1.3501 1029 | endloop 1030 | endfacet 1031 | facet normal -3.16003e-017 0.989821 0.142315 1032 | outer loop 1033 | vertex -6 -15.6563 -1.3501 1034 | vertex -10.25 -15.6563 -1.3501 1035 | vertex -6 -15.9169 0.462523 1036 | endloop 1037 | endfacet 1038 | facet normal -3.16003e-017 0.989821 0.142315 1039 | outer loop 1040 | vertex -6 -15.9169 0.462523 1041 | vertex -10.25 -15.6563 -1.3501 1042 | vertex -10.25 -15.9169 0.462523 1043 | endloop 1044 | endfacet 1045 | facet normal 9.22407e-017 0.909632 -0.415415 1046 | outer loop 1047 | vertex -6 -15.9169 0.462523 1048 | vertex -10.25 -15.9169 0.462523 1049 | vertex -6 -15.1562 2.1283 1050 | endloop 1051 | endfacet 1052 | facet normal 9.22407e-017 0.909632 -0.415415 1053 | outer loop 1054 | vertex -6 -15.1562 2.1283 1055 | vertex -10.25 -15.9169 0.462523 1056 | vertex -10.25 -15.1562 2.1283 1057 | endloop 1058 | endfacet 1059 | facet normal 1.86796e-016 0.540641 -0.841253 1060 | outer loop 1061 | vertex -6 -15.1562 2.1283 1062 | vertex -10.25 -15.1562 2.1283 1063 | vertex -6 -13.6156 3.11835 1064 | endloop 1065 | endfacet 1066 | facet normal 1.86796e-016 0.540641 -0.841253 1067 | outer loop 1068 | vertex -6 -13.6156 3.11835 1069 | vertex -10.25 -15.1562 2.1283 1070 | vertex -10.25 -13.6156 3.11835 1071 | endloop 1072 | endfacet 1073 | facet normal 1.86796e-016 -0.540641 -0.841253 1074 | outer loop 1075 | vertex -6 15.1562 2.1283 1076 | vertex -6 13.6156 3.11835 1077 | vertex -10.25 15.1562 2.1283 1078 | endloop 1079 | endfacet 1080 | facet normal 1.86796e-016 -0.540641 -0.841253 1081 | outer loop 1082 | vertex -10.25 15.1562 2.1283 1083 | vertex -6 13.6156 3.11835 1084 | vertex -10.25 13.6156 3.11835 1085 | endloop 1086 | endfacet 1087 | facet normal 2.22045e-016 0 -1 1088 | outer loop 1089 | vertex -6 13.6156 3.11835 1090 | vertex -6 11.7844 3.11835 1091 | vertex -10.25 13.6156 3.11835 1092 | endloop 1093 | endfacet 1094 | facet normal 2.22045e-016 0 -1 1095 | outer loop 1096 | vertex -10.25 13.6156 3.11835 1097 | vertex -6 11.7844 3.11835 1098 | vertex -10.25 11.7844 3.11835 1099 | endloop 1100 | endfacet 1101 | facet normal 9.22407e-017 -0.909632 -0.415415 1102 | outer loop 1103 | vertex -10.25 15.9169 0.462523 1104 | vertex -6 15.9169 0.462523 1105 | vertex -6 15.1562 2.1283 1106 | endloop 1107 | endfacet 1108 | facet normal 9.22407e-017 -0.909632 -0.415415 1109 | outer loop 1110 | vertex -10.25 15.1562 2.1283 1111 | vertex -10.25 15.9169 0.462523 1112 | vertex -6 15.1562 2.1283 1113 | endloop 1114 | endfacet 1115 | facet normal -3.16003e-017 -0.989821 0.142315 1116 | outer loop 1117 | vertex -10.25 15.6563 -1.3501 1118 | vertex -6 15.6563 -1.3501 1119 | vertex -6 15.9169 0.462523 1120 | endloop 1121 | endfacet 1122 | facet normal -3.16003e-017 -0.989821 0.142315 1123 | outer loop 1124 | vertex -10.25 15.9169 0.462523 1125 | vertex -10.25 15.6563 -1.3501 1126 | vertex -6 15.9169 0.462523 1127 | endloop 1128 | endfacet 1129 | facet normal -1.45408e-016 -0.75575 0.654861 1130 | outer loop 1131 | vertex -10.25 14.4571 -2.73407 1132 | vertex -6 14.4571 -2.73407 1133 | vertex -6 15.6563 -1.3501 1134 | endloop 1135 | endfacet 1136 | facet normal -1.45408e-016 -0.75575 0.654861 1137 | outer loop 1138 | vertex -10.25 15.6563 -1.3501 1139 | vertex -10.25 14.4571 -2.73407 1140 | vertex -6 15.6563 -1.3501 1141 | endloop 1142 | endfacet 1143 | facet normal -2.1305e-016 -0.281732 0.959493 1144 | outer loop 1145 | vertex -10.25 12.7 -3.25 1146 | vertex -6 12.7 -3.25 1147 | vertex -6 14.4571 -2.73407 1148 | endloop 1149 | endfacet 1150 | facet normal -2.1305e-016 -0.281732 0.959493 1151 | outer loop 1152 | vertex -10.25 14.4571 -2.73407 1153 | vertex -10.25 12.7 -3.25 1154 | vertex -6 14.4571 -2.73407 1155 | endloop 1156 | endfacet 1157 | facet normal -2.1305e-016 0.281732 0.959493 1158 | outer loop 1159 | vertex -6 10.9429 -2.73407 1160 | vertex -6 12.7 -3.25 1161 | vertex -10.25 12.7 -3.25 1162 | endloop 1163 | endfacet 1164 | facet normal -2.1305e-016 0.281732 0.959493 1165 | outer loop 1166 | vertex -10.25 10.9429 -2.73407 1167 | vertex -6 10.9429 -2.73407 1168 | vertex -10.25 12.7 -3.25 1169 | endloop 1170 | endfacet 1171 | facet normal -1.45408e-016 0.75575 0.654861 1172 | outer loop 1173 | vertex -6 10.9429 -2.73407 1174 | vertex -10.25 10.9429 -2.73407 1175 | vertex -6 9.7437 -1.3501 1176 | endloop 1177 | endfacet 1178 | facet normal -1.45408e-016 0.75575 0.654861 1179 | outer loop 1180 | vertex -6 9.7437 -1.3501 1181 | vertex -10.25 10.9429 -2.73407 1182 | vertex -10.25 9.7437 -1.3501 1183 | endloop 1184 | endfacet 1185 | facet normal -3.16003e-017 0.989821 0.142315 1186 | outer loop 1187 | vertex -6 9.7437 -1.3501 1188 | vertex -10.25 9.7437 -1.3501 1189 | vertex -6 9.48308 0.462523 1190 | endloop 1191 | endfacet 1192 | facet normal -3.16003e-017 0.989821 0.142315 1193 | outer loop 1194 | vertex -6 9.48308 0.462523 1195 | vertex -10.25 9.7437 -1.3501 1196 | vertex -10.25 9.48308 0.462523 1197 | endloop 1198 | endfacet 1199 | facet normal 9.22407e-017 0.909632 -0.415415 1200 | outer loop 1201 | vertex -6 9.48308 0.462523 1202 | vertex -10.25 9.48308 0.462523 1203 | vertex -6 10.2438 2.1283 1204 | endloop 1205 | endfacet 1206 | facet normal 9.22407e-017 0.909632 -0.415415 1207 | outer loop 1208 | vertex -6 10.2438 2.1283 1209 | vertex -10.25 9.48308 0.462523 1210 | vertex -10.25 10.2438 2.1283 1211 | endloop 1212 | endfacet 1213 | facet normal 1.86796e-016 0.540641 -0.841253 1214 | outer loop 1215 | vertex -6 10.2438 2.1283 1216 | vertex -10.25 10.2438 2.1283 1217 | vertex -6 11.7844 3.11835 1218 | endloop 1219 | endfacet 1220 | facet normal 1.86796e-016 0.540641 -0.841253 1221 | outer loop 1222 | vertex -6 11.7844 3.11835 1223 | vertex -10.25 10.2438 2.1283 1224 | vertex -10.25 11.7844 3.11835 1225 | endloop 1226 | endfacet 1227 | facet normal 1.92296e-016 -0.5 -0.866025 1228 | outer loop 1229 | vertex -6 1.40729 0.8125 1230 | vertex -6 0 1.625 1231 | vertex -10.25 1.40729 0.8125 1232 | endloop 1233 | endfacet 1234 | facet normal 1.92296e-016 -0.5 -0.866025 1235 | outer loop 1236 | vertex -10.25 1.40729 0.8125 1237 | vertex -6 0 1.625 1238 | vertex -10.25 0 1.625 1239 | endloop 1240 | endfacet 1241 | facet normal 1.92296e-016 0.5 -0.866025 1242 | outer loop 1243 | vertex -6 -1.40729 0.8125 1244 | vertex -10.25 -1.40729 0.8125 1245 | vertex -6 0 1.625 1246 | endloop 1247 | endfacet 1248 | facet normal 1.92296e-016 0.5 -0.866025 1249 | outer loop 1250 | vertex -6 0 1.625 1251 | vertex -10.25 -1.40729 0.8125 1252 | vertex -10.25 0 1.625 1253 | endloop 1254 | endfacet 1255 | facet normal 0 -1 0 1256 | outer loop 1257 | vertex -10.25 1.40729 -0.8125 1258 | vertex -6 1.40729 -0.8125 1259 | vertex -6 1.40729 0.8125 1260 | endloop 1261 | endfacet 1262 | facet normal 0 -1 0 1263 | outer loop 1264 | vertex -10.25 1.40729 0.8125 1265 | vertex -10.25 1.40729 -0.8125 1266 | vertex -6 1.40729 0.8125 1267 | endloop 1268 | endfacet 1269 | facet normal -1.92296e-016 -0.5 0.866025 1270 | outer loop 1271 | vertex -10.25 0 -1.625 1272 | vertex -6 0 -1.625 1273 | vertex -6 1.40729 -0.8125 1274 | endloop 1275 | endfacet 1276 | facet normal -1.92296e-016 -0.5 0.866025 1277 | outer loop 1278 | vertex -10.25 1.40729 -0.8125 1279 | vertex -10.25 0 -1.625 1280 | vertex -6 1.40729 -0.8125 1281 | endloop 1282 | endfacet 1283 | facet normal -1.92296e-016 0.5 0.866025 1284 | outer loop 1285 | vertex -6 -1.40729 -0.8125 1286 | vertex -6 0 -1.625 1287 | vertex -10.25 0 -1.625 1288 | endloop 1289 | endfacet 1290 | facet normal -1.92296e-016 0.5 0.866025 1291 | outer loop 1292 | vertex -10.25 -1.40729 -0.8125 1293 | vertex -6 -1.40729 -0.8125 1294 | vertex -10.25 0 -1.625 1295 | endloop 1296 | endfacet 1297 | facet normal 0 1 0 1298 | outer loop 1299 | vertex -6 -1.40729 -0.8125 1300 | vertex -10.25 -1.40729 -0.8125 1301 | vertex -6 -1.40729 0.8125 1302 | endloop 1303 | endfacet 1304 | facet normal 0 1 0 1305 | outer loop 1306 | vertex -6 -1.40729 0.8125 1307 | vertex -10.25 -1.40729 -0.8125 1308 | vertex -10.25 -1.40729 0.8125 1309 | endloop 1310 | endfacet 1311 | facet normal 1.92296e-016 -0.5 -0.866025 1312 | outer loop 1313 | vertex -6 1.40729 -10.6875 1314 | vertex -6 0 -9.875 1315 | vertex -10.25 1.40729 -10.6875 1316 | endloop 1317 | endfacet 1318 | facet normal 1.92296e-016 -0.5 -0.866025 1319 | outer loop 1320 | vertex -10.25 1.40729 -10.6875 1321 | vertex -6 0 -9.875 1322 | vertex -10.25 0 -9.875 1323 | endloop 1324 | endfacet 1325 | facet normal 1.92296e-016 0.5 -0.866025 1326 | outer loop 1327 | vertex -6 -1.40729 -10.6875 1328 | vertex -10.25 -1.40729 -10.6875 1329 | vertex -6 0 -9.875 1330 | endloop 1331 | endfacet 1332 | facet normal 1.92296e-016 0.5 -0.866025 1333 | outer loop 1334 | vertex -6 0 -9.875 1335 | vertex -10.25 -1.40729 -10.6875 1336 | vertex -10.25 0 -9.875 1337 | endloop 1338 | endfacet 1339 | facet normal 0 -1 0 1340 | outer loop 1341 | vertex -10.25 1.40729 -12.3125 1342 | vertex -6 1.40729 -12.3125 1343 | vertex -6 1.40729 -10.6875 1344 | endloop 1345 | endfacet 1346 | facet normal 0 -1 0 1347 | outer loop 1348 | vertex -10.25 1.40729 -10.6875 1349 | vertex -10.25 1.40729 -12.3125 1350 | vertex -6 1.40729 -10.6875 1351 | endloop 1352 | endfacet 1353 | facet normal -1.92296e-016 -0.5 0.866025 1354 | outer loop 1355 | vertex -10.25 0 -13.125 1356 | vertex -6 0 -13.125 1357 | vertex -6 1.40729 -12.3125 1358 | endloop 1359 | endfacet 1360 | facet normal -1.92296e-016 -0.5 0.866025 1361 | outer loop 1362 | vertex -10.25 1.40729 -12.3125 1363 | vertex -10.25 0 -13.125 1364 | vertex -6 1.40729 -12.3125 1365 | endloop 1366 | endfacet 1367 | facet normal -1.92296e-016 0.5 0.866025 1368 | outer loop 1369 | vertex -6 -1.40729 -12.3125 1370 | vertex -6 0 -13.125 1371 | vertex -10.25 0 -13.125 1372 | endloop 1373 | endfacet 1374 | facet normal -1.92296e-016 0.5 0.866025 1375 | outer loop 1376 | vertex -10.25 -1.40729 -12.3125 1377 | vertex -6 -1.40729 -12.3125 1378 | vertex -10.25 0 -13.125 1379 | endloop 1380 | endfacet 1381 | facet normal 0 1 0 1382 | outer loop 1383 | vertex -6 -1.40729 -12.3125 1384 | vertex -10.25 -1.40729 -12.3125 1385 | vertex -6 -1.40729 -10.6875 1386 | endloop 1387 | endfacet 1388 | facet normal 0 1 0 1389 | outer loop 1390 | vertex -6 -1.40729 -10.6875 1391 | vertex -10.25 -1.40729 -12.3125 1392 | vertex -10.25 -1.40729 -10.6875 1393 | endloop 1394 | endfacet 1395 | facet normal 1 0 2.22045e-016 1396 | outer loop 1397 | vertex 10.25 25.075 16.5 1398 | vertex 10.25 -4.675 16.5 1399 | vertex 10.25 -5.175 16.366 1400 | endloop 1401 | endfacet 1402 | facet normal 1 0 2.22045e-016 1403 | outer loop 1404 | vertex 10.25 -5.675 15.5 1405 | vertex 10.25 25.075 16.5 1406 | vertex 10.25 -5.541 16 1407 | endloop 1408 | endfacet 1409 | facet normal 1 0 2.22045e-016 1410 | outer loop 1411 | vertex 10.25 -5.541 16 1412 | vertex 10.25 25.075 16.5 1413 | vertex 10.25 -5.175 16.366 1414 | endloop 1415 | endfacet 1416 | facet normal 1 0 2.22045e-016 1417 | outer loop 1418 | vertex 10.25 0 13.125 1419 | vertex 10.25 25.075 16.5 1420 | vertex 10.25 -5.675 15.5 1421 | endloop 1422 | endfacet 1423 | facet normal 1 0 2.22045e-016 1424 | outer loop 1425 | vertex 10.25 -1.40729 -12.3125 1426 | vertex 10.25 -1.40729 -10.6875 1427 | vertex 10.25 -5.675 -15.5 1428 | endloop 1429 | endfacet 1430 | facet normal 1 0 2.22045e-016 1431 | outer loop 1432 | vertex 10.25 25.575 -16.366 1433 | vertex 10.25 25.075 16.5 1434 | vertex 10.25 25.075 -16.5 1435 | endloop 1436 | endfacet 1437 | facet normal 1 0 2.22045e-016 1438 | outer loop 1439 | vertex 10.25 25.941 -16 1440 | vertex 10.25 25.075 16.5 1441 | vertex 10.25 25.575 -16.366 1442 | endloop 1443 | endfacet 1444 | facet normal 1 0 2.22045e-016 1445 | outer loop 1446 | vertex 10.25 26.075 -15.5 1447 | vertex 10.25 25.075 16.5 1448 | vertex 10.25 25.941 -16 1449 | endloop 1450 | endfacet 1451 | facet normal 1 0 2.22045e-016 1452 | outer loop 1453 | vertex 10.25 26.075 15.5 1454 | vertex 10.25 25.075 16.5 1455 | vertex 10.25 26.075 -15.5 1456 | endloop 1457 | endfacet 1458 | facet normal 1 0 2.22045e-016 1459 | outer loop 1460 | vertex 10.25 25.941 16 1461 | vertex 10.25 25.075 16.5 1462 | vertex 10.25 26.075 15.5 1463 | endloop 1464 | endfacet 1465 | facet normal 1 0 2.22045e-016 1466 | outer loop 1467 | vertex 10.25 25.575 16.366 1468 | vertex 10.25 25.075 16.5 1469 | vertex 10.25 25.941 16 1470 | endloop 1471 | endfacet 1472 | facet normal 1 0 2.22045e-016 1473 | outer loop 1474 | vertex 10.25 -5.675 -15.5 1475 | vertex 10.25 -1.40729 12.3125 1476 | vertex 10.25 -5.675 15.5 1477 | endloop 1478 | endfacet 1479 | facet normal 1 0 2.22045e-016 1480 | outer loop 1481 | vertex 10.25 -1.40729 12.3125 1482 | vertex 10.25 0 13.125 1483 | vertex 10.25 -5.675 15.5 1484 | endloop 1485 | endfacet 1486 | facet normal 1 0 2.22045e-016 1487 | outer loop 1488 | vertex 10.25 -1.40729 0.8125 1489 | vertex 10.25 0 9.875 1490 | vertex 10.25 -5.675 -15.5 1491 | endloop 1492 | endfacet 1493 | facet normal 1 0 2.22045e-016 1494 | outer loop 1495 | vertex 10.25 1.40729 10.6875 1496 | vertex 10.25 25.075 16.5 1497 | vertex 10.25 1.40729 12.3125 1498 | endloop 1499 | endfacet 1500 | facet normal 1 0 2.22045e-016 1501 | outer loop 1502 | vertex 10.25 5.7 7 1503 | vertex 10.25 25.075 16.5 1504 | vertex 10.25 1.40729 10.6875 1505 | endloop 1506 | endfacet 1507 | facet normal 1 0 2.22045e-016 1508 | outer loop 1509 | vertex 10.25 5.7 7 1510 | vertex 10.25 19.7 7 1511 | vertex 10.25 25.075 16.5 1512 | endloop 1513 | endfacet 1514 | facet normal 1 0 2.22045e-016 1515 | outer loop 1516 | vertex 10.25 -5.675 -15.5 1517 | vertex 10.25 -1.40729 10.6875 1518 | vertex 10.25 -1.40729 12.3125 1519 | endloop 1520 | endfacet 1521 | facet normal 1 0 2.22045e-016 1522 | outer loop 1523 | vertex 10.25 -5.675 -15.5 1524 | vertex 10.25 0 9.875 1525 | vertex 10.25 -1.40729 10.6875 1526 | endloop 1527 | endfacet 1528 | facet normal 1 0 2.22045e-016 1529 | outer loop 1530 | vertex 10.25 0 1.625 1531 | vertex 10.25 5.7 7 1532 | vertex 10.25 1.40729 10.6875 1533 | endloop 1534 | endfacet 1535 | facet normal 1 0 2.22045e-016 1536 | outer loop 1537 | vertex 10.25 1.40729 -0.8125 1538 | vertex 10.25 0 -1.625 1539 | vertex 10.25 -5.675 -15.5 1540 | endloop 1541 | endfacet 1542 | facet normal 1 0 2.22045e-016 1543 | outer loop 1544 | vertex 10.25 25.075 -16.5 1545 | vertex 10.25 25.075 16.5 1546 | vertex 10.25 19.7 7 1547 | endloop 1548 | endfacet 1549 | facet normal 1 0 2.22045e-016 1550 | outer loop 1551 | vertex 10.25 25.075 -16.5 1552 | vertex 10.25 19.7 -7 1553 | vertex 10.25 -4.675 -16.5 1554 | endloop 1555 | endfacet 1556 | facet normal 1 0 2.22045e-016 1557 | outer loop 1558 | vertex 10.25 25.075 -16.5 1559 | vertex 10.25 19.7 7 1560 | vertex 10.25 19.7 -7 1561 | endloop 1562 | endfacet 1563 | facet normal 1 0 2.22045e-016 1564 | outer loop 1565 | vertex 10.25 0 -13.125 1566 | vertex 10.25 -1.40729 -12.3125 1567 | vertex 10.25 -4.675 -16.5 1568 | endloop 1569 | endfacet 1570 | facet normal 1 0 2.22045e-016 1571 | outer loop 1572 | vertex 10.25 1.40729 0.8125 1573 | vertex 10.25 5.7 7 1574 | vertex 10.25 0 1.625 1575 | endloop 1576 | endfacet 1577 | facet normal 1 0 2.22045e-016 1578 | outer loop 1579 | vertex 10.25 1.40729 -0.8125 1580 | vertex 10.25 5.7 7 1581 | vertex 10.25 1.40729 0.8125 1582 | endloop 1583 | endfacet 1584 | facet normal 1 0 2.22045e-016 1585 | outer loop 1586 | vertex 10.25 0 -1.625 1587 | vertex 10.25 -1.40729 -0.8125 1588 | vertex 10.25 -5.675 -15.5 1589 | endloop 1590 | endfacet 1591 | facet normal 1 0 2.22045e-016 1592 | outer loop 1593 | vertex 10.25 -5.675 -15.5 1594 | vertex 10.25 5.7 7 1595 | vertex 10.25 1.40729 -0.8125 1596 | endloop 1597 | endfacet 1598 | facet normal 1 0 2.22045e-016 1599 | outer loop 1600 | vertex 10.25 -1.40729 -12.3125 1601 | vertex 10.25 -5.675 -15.5 1602 | vertex 10.25 -5.541 -16 1603 | endloop 1604 | endfacet 1605 | facet normal 1 0 2.22045e-016 1606 | outer loop 1607 | vertex 10.25 -1.40729 0.8125 1608 | vertex 10.25 0 1.625 1609 | vertex 10.25 1.40729 10.6875 1610 | endloop 1611 | endfacet 1612 | facet normal 1 0 2.22045e-016 1613 | outer loop 1614 | vertex 10.25 -5.675 -15.5 1615 | vertex 10.25 -1.40729 -10.6875 1616 | vertex 10.25 5.7 7 1617 | endloop 1618 | endfacet 1619 | facet normal 1 0 2.22045e-016 1620 | outer loop 1621 | vertex 10.25 -1.40729 -0.8125 1622 | vertex 10.25 -1.40729 0.8125 1623 | vertex 10.25 -5.675 -15.5 1624 | endloop 1625 | endfacet 1626 | facet normal 1 0 2.22045e-016 1627 | outer loop 1628 | vertex 10.25 0 -9.875 1629 | vertex 10.25 1.40729 -10.6875 1630 | vertex 10.25 5.7 -7 1631 | endloop 1632 | endfacet 1633 | facet normal 1 0 2.22045e-016 1634 | outer loop 1635 | vertex 10.25 19.7 -7 1636 | vertex 10.25 1.40729 -12.3125 1637 | vertex 10.25 -4.675 -16.5 1638 | endloop 1639 | endfacet 1640 | facet normal 1 0 2.22045e-016 1641 | outer loop 1642 | vertex 10.25 19.7 -7 1643 | vertex 10.25 5.7 -7 1644 | vertex 10.25 1.40729 -12.3125 1645 | endloop 1646 | endfacet 1647 | facet normal 1 0 2.22045e-016 1648 | outer loop 1649 | vertex 10.25 1.40729 -12.3125 1650 | vertex 10.25 0 -13.125 1651 | vertex 10.25 -4.675 -16.5 1652 | endloop 1653 | endfacet 1654 | facet normal 1 0 2.22045e-016 1655 | outer loop 1656 | vertex 10.25 -4.675 -16.5 1657 | vertex 10.25 -1.40729 -12.3125 1658 | vertex 10.25 -5.175 -16.366 1659 | endloop 1660 | endfacet 1661 | facet normal 1 0 2.22045e-016 1662 | outer loop 1663 | vertex 10.25 0 13.125 1664 | vertex 10.25 1.40729 12.3125 1665 | vertex 10.25 25.075 16.5 1666 | endloop 1667 | endfacet 1668 | facet normal 1 0 2.22045e-016 1669 | outer loop 1670 | vertex 10.25 1.40729 10.6875 1671 | vertex 10.25 0 9.875 1672 | vertex 10.25 -1.40729 0.8125 1673 | endloop 1674 | endfacet 1675 | facet normal 1 0 2.22045e-016 1676 | outer loop 1677 | vertex 10.25 -1.40729 -12.3125 1678 | vertex 10.25 -5.541 -16 1679 | vertex 10.25 -5.175 -16.366 1680 | endloop 1681 | endfacet 1682 | facet normal 1 0 2.22045e-016 1683 | outer loop 1684 | vertex 10.25 1.40729 -10.6875 1685 | vertex 10.25 1.40729 -12.3125 1686 | vertex 10.25 5.7 -7 1687 | endloop 1688 | endfacet 1689 | facet normal 1 0 2.22045e-016 1690 | outer loop 1691 | vertex 10.25 0 -9.875 1692 | vertex 10.25 5.7 7 1693 | vertex 10.25 -1.40729 -10.6875 1694 | endloop 1695 | endfacet 1696 | facet normal 1 0 2.22045e-016 1697 | outer loop 1698 | vertex 10.25 5.7 -7 1699 | vertex 10.25 5.7 7 1700 | vertex 10.25 0 -9.875 1701 | endloop 1702 | endfacet 1703 | facet normal -2.14476e-016 -0.258865 0.965914 1704 | outer loop 1705 | vertex 10.25 -4.675 16.5 1706 | vertex 6 -4.675 16.5 1707 | vertex 6 -5.175 16.366 1708 | endloop 1709 | endfacet 1710 | facet normal -2.14476e-016 -0.258865 0.965914 1711 | outer loop 1712 | vertex 10.25 -5.175 16.366 1713 | vertex 10.25 -4.675 16.5 1714 | vertex 6 -5.175 16.366 1715 | endloop 1716 | endfacet 1717 | facet normal -1 0 -2.22045e-016 1718 | outer loop 1719 | vertex 6 19.7 7 1720 | vertex 6 26.075 12.25 1721 | vertex 6 26.075 -12.25 1722 | endloop 1723 | endfacet 1724 | facet normal -1 0 -2.22045e-016 1725 | outer loop 1726 | vertex 6 19.7 -7 1727 | vertex 6 26.075 -12.25 1728 | vertex 6 7 -12.25 1729 | endloop 1730 | endfacet 1731 | facet normal -1 0 -2.22045e-016 1732 | outer loop 1733 | vertex 6 0 1.625 1734 | vertex 6 7 16.5 1735 | vertex 6 1.40729 0.8125 1736 | endloop 1737 | endfacet 1738 | facet normal -1 0 -2.22045e-016 1739 | outer loop 1740 | vertex 6 7 -12.25 1741 | vertex 6 7 -16.5 1742 | vertex 6 -4.675 -16.5 1743 | endloop 1744 | endfacet 1745 | facet normal -1 0 -2.22045e-016 1746 | outer loop 1747 | vertex 6 5.7 7 1748 | vertex 6 -4.675 -16.5 1749 | vertex 6 7 12.25 1750 | endloop 1751 | endfacet 1752 | facet normal -1 0 -2.22045e-016 1753 | outer loop 1754 | vertex 6 1.40729 -0.8125 1755 | vertex 6 -4.675 -16.5 1756 | vertex 6 -5.175 -16.366 1757 | endloop 1758 | endfacet 1759 | facet normal -1 0 -2.22045e-016 1760 | outer loop 1761 | vertex 6 0 13.125 1762 | vertex 6 -5.675 15.5 1763 | vertex 6 7 16.5 1764 | endloop 1765 | endfacet 1766 | facet normal -1 0 -2.22045e-016 1767 | outer loop 1768 | vertex 6 -5.675 15.5 1769 | vertex 6 -5.541 16 1770 | vertex 6 7 16.5 1771 | endloop 1772 | endfacet 1773 | facet normal -1 0 -2.22045e-016 1774 | outer loop 1775 | vertex 6 -5.541 16 1776 | vertex 6 -5.175 16.366 1777 | vertex 6 7 16.5 1778 | endloop 1779 | endfacet 1780 | facet normal -1 0 -2.22045e-016 1781 | outer loop 1782 | vertex 6 -5.175 16.366 1783 | vertex 6 -4.675 16.5 1784 | vertex 6 7 16.5 1785 | endloop 1786 | endfacet 1787 | facet normal -1 0 -2.22045e-016 1788 | outer loop 1789 | vertex 6 -5.675 -15.5 1790 | vertex 6 -5.675 15.5 1791 | vertex 6 -1.40729 12.3125 1792 | endloop 1793 | endfacet 1794 | facet normal -1 0 -2.22045e-016 1795 | outer loop 1796 | vertex 6 19.7 7 1797 | vertex 6 26.075 -12.25 1798 | vertex 6 19.7 -7 1799 | endloop 1800 | endfacet 1801 | facet normal -1 0 -2.22045e-016 1802 | outer loop 1803 | vertex 6 -5.675 -15.5 1804 | vertex 6 -1.40729 12.3125 1805 | vertex 6 -1.40729 10.6875 1806 | endloop 1807 | endfacet 1808 | facet normal -1 0 -2.22045e-016 1809 | outer loop 1810 | vertex 6 -1.40729 0.8125 1811 | vertex 6 1.40729 10.6875 1812 | vertex 6 7 16.5 1813 | endloop 1814 | endfacet 1815 | facet normal -1 0 -2.22045e-016 1816 | outer loop 1817 | vertex 6 -5.675 -15.5 1818 | vertex 6 -1.40729 10.6875 1819 | vertex 6 0 9.875 1820 | endloop 1821 | endfacet 1822 | facet normal -1 0 -2.22045e-016 1823 | outer loop 1824 | vertex 6 -1.40729 0.8125 1825 | vertex 6 0 9.875 1826 | vertex 6 1.40729 10.6875 1827 | endloop 1828 | endfacet 1829 | facet normal -1 0 -2.22045e-016 1830 | outer loop 1831 | vertex 6 0 13.125 1832 | vertex 6 7 16.5 1833 | vertex 6 1.40729 12.3125 1834 | endloop 1835 | endfacet 1836 | facet normal -1 0 -2.22045e-016 1837 | outer loop 1838 | vertex 6 -1.40729 12.3125 1839 | vertex 6 -5.675 15.5 1840 | vertex 6 0 13.125 1841 | endloop 1842 | endfacet 1843 | facet normal -1 0 -2.22045e-016 1844 | outer loop 1845 | vertex 6 5.7 7 1846 | vertex 6 7 12.25 1847 | vertex 6 19.7 7 1848 | endloop 1849 | endfacet 1850 | facet normal -1 0 -2.22045e-016 1851 | outer loop 1852 | vertex 6 -1.40729 -10.6875 1853 | vertex 6 -4.675 -16.5 1854 | vertex 6 5.7 7 1855 | endloop 1856 | endfacet 1857 | facet normal -1 0 -2.22045e-016 1858 | outer loop 1859 | vertex 6 19.7 -7 1860 | vertex 6 7 -12.25 1861 | vertex 6 5.7 -7 1862 | endloop 1863 | endfacet 1864 | facet normal -1 0 -2.22045e-016 1865 | outer loop 1866 | vertex 6 1.40729 -10.6875 1867 | vertex 6 5.7 -7 1868 | vertex 6 1.40729 -12.3125 1869 | endloop 1870 | endfacet 1871 | facet normal -1 0 -2.22045e-016 1872 | outer loop 1873 | vertex 6 -1.40729 -0.8125 1874 | vertex 6 -5.675 -15.5 1875 | vertex 6 -1.40729 0.8125 1876 | endloop 1877 | endfacet 1878 | facet normal -1 0 -2.22045e-016 1879 | outer loop 1880 | vertex 6 7 12.25 1881 | vertex 6 26.075 12.25 1882 | vertex 6 19.7 7 1883 | endloop 1884 | endfacet 1885 | facet normal -1 0 -2.22045e-016 1886 | outer loop 1887 | vertex 6 -5.675 -15.5 1888 | vertex 6 0 9.875 1889 | vertex 6 -1.40729 0.8125 1890 | endloop 1891 | endfacet 1892 | facet normal -1 0 -2.22045e-016 1893 | outer loop 1894 | vertex 6 0 -1.625 1895 | vertex 6 -5.675 -15.5 1896 | vertex 6 -1.40729 -0.8125 1897 | endloop 1898 | endfacet 1899 | facet normal -1 0 -2.22045e-016 1900 | outer loop 1901 | vertex 6 0 -13.125 1902 | vertex 6 -4.675 -16.5 1903 | vertex 6 -1.40729 -12.3125 1904 | endloop 1905 | endfacet 1906 | facet normal -1 0 -2.22045e-016 1907 | outer loop 1908 | vertex 6 0 -9.875 1909 | vertex 6 5.7 -7 1910 | vertex 6 1.40729 -10.6875 1911 | endloop 1912 | endfacet 1913 | facet normal -1 0 -2.22045e-016 1914 | outer loop 1915 | vertex 6 -5.541 -16 1916 | vertex 6 -5.675 -15.5 1917 | vertex 6 0 -1.625 1918 | endloop 1919 | endfacet 1920 | facet normal -1 0 -2.22045e-016 1921 | outer loop 1922 | vertex 6 7 12.25 1923 | vertex 6 -4.675 -16.5 1924 | vertex 6 1.40729 -0.8125 1925 | endloop 1926 | endfacet 1927 | facet normal -1 0 -2.22045e-016 1928 | outer loop 1929 | vertex 6 7 12.25 1930 | vertex 6 1.40729 -0.8125 1931 | vertex 6 7 16.5 1932 | endloop 1933 | endfacet 1934 | facet normal -1 0 -2.22045e-016 1935 | outer loop 1936 | vertex 6 1.40729 -0.8125 1937 | vertex 6 -5.541 -16 1938 | vertex 6 0 -1.625 1939 | endloop 1940 | endfacet 1941 | facet normal -1 0 -2.22045e-016 1942 | outer loop 1943 | vertex 6 1.40729 -0.8125 1944 | vertex 6 -5.175 -16.366 1945 | vertex 6 -5.541 -16 1946 | endloop 1947 | endfacet 1948 | facet normal -1 0 -2.22045e-016 1949 | outer loop 1950 | vertex 6 -1.40729 -12.3125 1951 | vertex 6 -4.675 -16.5 1952 | vertex 6 -1.40729 -10.6875 1953 | endloop 1954 | endfacet 1955 | facet normal -1 0 -2.22045e-016 1956 | outer loop 1957 | vertex 6 0 -9.875 1958 | vertex 6 -1.40729 -10.6875 1959 | vertex 6 5.7 7 1960 | endloop 1961 | endfacet 1962 | facet normal -1 0 -2.22045e-016 1963 | outer loop 1964 | vertex 6 7 -12.25 1965 | vertex 6 -4.675 -16.5 1966 | vertex 6 0 -13.125 1967 | endloop 1968 | endfacet 1969 | facet normal -1 0 -2.22045e-016 1970 | outer loop 1971 | vertex 6 7 -12.25 1972 | vertex 6 0 -13.125 1973 | vertex 6 1.40729 -12.3125 1974 | endloop 1975 | endfacet 1976 | facet normal -1 0 -2.22045e-016 1977 | outer loop 1978 | vertex 6 7 -12.25 1979 | vertex 6 1.40729 -12.3125 1980 | vertex 6 5.7 -7 1981 | endloop 1982 | endfacet 1983 | facet normal -1 0 -2.22045e-016 1984 | outer loop 1985 | vertex 6 5.7 -7 1986 | vertex 6 0 -9.875 1987 | vertex 6 5.7 7 1988 | endloop 1989 | endfacet 1990 | facet normal -1 0 -2.22045e-016 1991 | outer loop 1992 | vertex 6 1.40729 12.3125 1993 | vertex 6 7 16.5 1994 | vertex 6 1.40729 10.6875 1995 | endloop 1996 | endfacet 1997 | facet normal -1 0 -2.22045e-016 1998 | outer loop 1999 | vertex 6 -1.40729 0.8125 2000 | vertex 6 7 16.5 2001 | vertex 6 0 1.625 2002 | endloop 2003 | endfacet 2004 | facet normal -1 0 -2.22045e-016 2005 | outer loop 2006 | vertex 6 1.40729 0.8125 2007 | vertex 6 7 16.5 2008 | vertex 6 1.40729 -0.8125 2009 | endloop 2010 | endfacet 2011 | facet normal 0 -1 0 2012 | outer loop 2013 | vertex -6 7 12.25 2014 | vertex 6 7 12.25 2015 | vertex 6 7 16.5 2016 | endloop 2017 | endfacet 2018 | facet normal 0 -1 0 2019 | outer loop 2020 | vertex -6 7 16.5 2021 | vertex -6 7 12.25 2022 | vertex 6 7 16.5 2023 | endloop 2024 | endfacet 2025 | facet normal 1 0 2.22045e-016 2026 | outer loop 2027 | vertex -6 0 -1.625 2028 | vertex -6 -1.40729 -0.8125 2029 | vertex -6 -7 -12.25 2030 | endloop 2031 | endfacet 2032 | facet normal 1 0 2.22045e-016 2033 | outer loop 2034 | vertex -6 7 16.5 2035 | vertex -6 -7 16.5 2036 | vertex -6 -7 12.25 2037 | endloop 2038 | endfacet 2039 | facet normal 1 0 2.22045e-016 2040 | outer loop 2041 | vertex -6 0 13.125 2042 | vertex -6 7 16.5 2043 | vertex -6 -7 12.25 2044 | endloop 2045 | endfacet 2046 | facet normal 1 0 2.22045e-016 2047 | outer loop 2048 | vertex -6 0 13.125 2049 | vertex -6 1.40729 12.3125 2050 | vertex -6 7 16.5 2051 | endloop 2052 | endfacet 2053 | facet normal 1 0 2.22045e-016 2054 | outer loop 2055 | vertex -6 1.40729 -0.8125 2056 | vertex -6 7 -12.25 2057 | vertex -6 7 12.25 2058 | endloop 2059 | endfacet 2060 | facet normal 1 0 2.22045e-016 2061 | outer loop 2062 | vertex -6 -7 -16.5 2063 | vertex -6 7 -16.5 2064 | vertex -6 7 -12.25 2065 | endloop 2066 | endfacet 2067 | facet normal 1 0 2.22045e-016 2068 | outer loop 2069 | vertex -6 1.40729 0.8125 2070 | vertex -6 7 12.25 2071 | vertex -6 7 16.5 2072 | endloop 2073 | endfacet 2074 | facet normal 1 0 2.22045e-016 2075 | outer loop 2076 | vertex -6 -10.2438 2.1283 2077 | vertex -6 -1.40729 12.3125 2078 | vertex -6 -7 12.25 2079 | endloop 2080 | endfacet 2081 | facet normal 1 0 2.22045e-016 2082 | outer loop 2083 | vertex -6 -1.40729 12.3125 2084 | vertex -6 0 13.125 2085 | vertex -6 -7 12.25 2086 | endloop 2087 | endfacet 2088 | facet normal 1 0 2.22045e-016 2089 | outer loop 2090 | vertex -6 -10.9429 -2.73407 2091 | vertex -6 -12.7 -3.25 2092 | vertex -6 -19.05 -12.25 2093 | endloop 2094 | endfacet 2095 | facet normal 1 0 2.22045e-016 2096 | outer loop 2097 | vertex -6 1.40729 10.6875 2098 | vertex -6 7 16.5 2099 | vertex -6 1.40729 12.3125 2100 | endloop 2101 | endfacet 2102 | facet normal 1 0 2.22045e-016 2103 | outer loop 2104 | vertex -6 -19.05 -12.25 2105 | vertex -6 7 16.5 2106 | vertex -6 1.40729 10.6875 2107 | endloop 2108 | endfacet 2109 | facet normal 1 0 2.22045e-016 2110 | outer loop 2111 | vertex -6 -19.05 -12.25 2112 | vertex -6 1.40729 10.6875 2113 | vertex -6 0 9.875 2114 | endloop 2115 | endfacet 2116 | facet normal 1 0 2.22045e-016 2117 | outer loop 2118 | vertex -6 -9.48308 0.462523 2119 | vertex -6 -1.40729 10.6875 2120 | vertex -6 -1.40729 12.3125 2121 | endloop 2122 | endfacet 2123 | facet normal 1 0 2.22045e-016 2124 | outer loop 2125 | vertex -6 -19.05 12.25 2126 | vertex -6 -13.6156 3.11835 2127 | vertex -6 -7 12.25 2128 | endloop 2129 | endfacet 2130 | facet normal 1 0 2.22045e-016 2131 | outer loop 2132 | vertex -6 15.1562 2.1283 2133 | vertex -6 15.9169 0.462523 2134 | vertex -6 26.075 -12.25 2135 | endloop 2136 | endfacet 2137 | facet normal 1 0 2.22045e-016 2138 | outer loop 2139 | vertex -6 -13.6156 3.11835 2140 | vertex -6 -11.7844 3.11835 2141 | vertex -6 -7 12.25 2142 | endloop 2143 | endfacet 2144 | facet normal 1 0 2.22045e-016 2145 | outer loop 2146 | vertex -6 -9.48308 0.462523 2147 | vertex -6 -9.7437 -1.3501 2148 | vertex -6 -1.40729 10.6875 2149 | endloop 2150 | endfacet 2151 | facet normal 1 0 2.22045e-016 2152 | outer loop 2153 | vertex -6 -12.7 -3.25 2154 | vertex -6 -14.4571 -2.73407 2155 | vertex -6 -19.05 -12.25 2156 | endloop 2157 | endfacet 2158 | facet normal 1 0 2.22045e-016 2159 | outer loop 2160 | vertex -6 -14.4571 -2.73407 2161 | vertex -6 -15.6563 -1.3501 2162 | vertex -6 -19.05 -12.25 2163 | endloop 2164 | endfacet 2165 | facet normal 1 0 2.22045e-016 2166 | outer loop 2167 | vertex -6 -11.7844 3.11835 2168 | vertex -6 -10.2438 2.1283 2169 | vertex -6 -7 12.25 2170 | endloop 2171 | endfacet 2172 | facet normal 1 0 2.22045e-016 2173 | outer loop 2174 | vertex -6 -19.05 -12.25 2175 | vertex -6 0 9.875 2176 | vertex -6 -9.7437 -1.3501 2177 | endloop 2178 | endfacet 2179 | facet normal 1 0 2.22045e-016 2180 | outer loop 2181 | vertex -6 -19.05 -12.25 2182 | vertex -6 -9.7437 -1.3501 2183 | vertex -6 -10.9429 -2.73407 2184 | endloop 2185 | endfacet 2186 | facet normal 1 0 2.22045e-016 2187 | outer loop 2188 | vertex -6 -10.2438 2.1283 2189 | vertex -6 -9.48308 0.462523 2190 | vertex -6 -1.40729 12.3125 2191 | endloop 2192 | endfacet 2193 | facet normal 1 0 2.22045e-016 2194 | outer loop 2195 | vertex -6 13.6156 3.11835 2196 | vertex -6 15.1562 2.1283 2197 | vertex -6 7 12.25 2198 | endloop 2199 | endfacet 2200 | facet normal 1 0 2.22045e-016 2201 | outer loop 2202 | vertex -6 -19.05 12.25 2203 | vertex -6 -19.05 -12.25 2204 | vertex -6 -15.6563 -1.3501 2205 | endloop 2206 | endfacet 2207 | facet normal 1 0 2.22045e-016 2208 | outer loop 2209 | vertex -6 -19.05 12.25 2210 | vertex -6 -15.6563 -1.3501 2211 | vertex -6 -15.9169 0.462523 2212 | endloop 2213 | endfacet 2214 | facet normal 1 0 2.22045e-016 2215 | outer loop 2216 | vertex -6 -19.05 12.25 2217 | vertex -6 -15.1562 2.1283 2218 | vertex -6 -13.6156 3.11835 2219 | endloop 2220 | endfacet 2221 | facet normal 1 0 2.22045e-016 2222 | outer loop 2223 | vertex -6 -19.05 12.25 2224 | vertex -6 -15.9169 0.462523 2225 | vertex -6 -15.1562 2.1283 2226 | endloop 2227 | endfacet 2228 | facet normal 1 0 2.22045e-016 2229 | outer loop 2230 | vertex -6 10.2438 2.1283 2231 | vertex -6 11.7844 3.11835 2232 | vertex -6 7 12.25 2233 | endloop 2234 | endfacet 2235 | facet normal 1 0 2.22045e-016 2236 | outer loop 2237 | vertex -6 11.7844 3.11835 2238 | vertex -6 13.6156 3.11835 2239 | vertex -6 7 12.25 2240 | endloop 2241 | endfacet 2242 | facet normal 1 0 2.22045e-016 2243 | outer loop 2244 | vertex -6 10.9429 -2.73407 2245 | vertex -6 9.7437 -1.3501 2246 | vertex -6 7 -12.25 2247 | endloop 2248 | endfacet 2249 | facet normal 1 0 2.22045e-016 2250 | outer loop 2251 | vertex -6 15.9169 0.462523 2252 | vertex -6 15.6563 -1.3501 2253 | vertex -6 26.075 -12.25 2254 | endloop 2255 | endfacet 2256 | facet normal 1 0 2.22045e-016 2257 | outer loop 2258 | vertex -6 0 1.625 2259 | vertex -6 1.40729 0.8125 2260 | vertex -6 7 16.5 2261 | endloop 2262 | endfacet 2263 | facet normal 1 0 2.22045e-016 2264 | outer loop 2265 | vertex -6 7 -12.25 2266 | vertex -6 26.075 -12.25 2267 | vertex -6 15.6563 -1.3501 2268 | endloop 2269 | endfacet 2270 | facet normal 1 0 2.22045e-016 2271 | outer loop 2272 | vertex -6 7 -12.25 2273 | vertex -6 15.6563 -1.3501 2274 | vertex -6 14.4571 -2.73407 2275 | endloop 2276 | endfacet 2277 | facet normal 1 0 2.22045e-016 2278 | outer loop 2279 | vertex -6 7 -12.25 2280 | vertex -6 14.4571 -2.73407 2281 | vertex -6 12.7 -3.25 2282 | endloop 2283 | endfacet 2284 | facet normal 1 0 2.22045e-016 2285 | outer loop 2286 | vertex -6 -1.40729 -0.8125 2287 | vertex -6 -1.40729 0.8125 2288 | vertex -6 -7 -12.25 2289 | endloop 2290 | endfacet 2291 | facet normal 1 0 2.22045e-016 2292 | outer loop 2293 | vertex -6 7 -12.25 2294 | vertex -6 12.7 -3.25 2295 | vertex -6 10.9429 -2.73407 2296 | endloop 2297 | endfacet 2298 | facet normal 1 0 2.22045e-016 2299 | outer loop 2300 | vertex -6 7 -12.25 2301 | vertex -6 9.7437 -1.3501 2302 | vertex -6 7 12.25 2303 | endloop 2304 | endfacet 2305 | facet normal 1 0 2.22045e-016 2306 | outer loop 2307 | vertex -6 9.7437 -1.3501 2308 | vertex -6 9.48308 0.462523 2309 | vertex -6 7 12.25 2310 | endloop 2311 | endfacet 2312 | facet normal 1 0 2.22045e-016 2313 | outer loop 2314 | vertex -6 9.48308 0.462523 2315 | vertex -6 10.2438 2.1283 2316 | vertex -6 7 12.25 2317 | endloop 2318 | endfacet 2319 | facet normal 1 0 2.22045e-016 2320 | outer loop 2321 | vertex -6 -19.05 -12.25 2322 | vertex -6 -1.40729 0.8125 2323 | vertex -6 7 16.5 2324 | endloop 2325 | endfacet 2326 | facet normal 1 0 2.22045e-016 2327 | outer loop 2328 | vertex -6 -19.05 -12.25 2329 | vertex -6 -7 -12.25 2330 | vertex -6 -1.40729 0.8125 2331 | endloop 2332 | endfacet 2333 | facet normal 1 0 2.22045e-016 2334 | outer loop 2335 | vertex -6 1.40729 -10.6875 2336 | vertex -6 1.40729 -12.3125 2337 | vertex -6 7 -12.25 2338 | endloop 2339 | endfacet 2340 | facet normal 1 0 2.22045e-016 2341 | outer loop 2342 | vertex -6 0 -1.625 2343 | vertex -6 -7 -12.25 2344 | vertex -6 -7 -16.5 2345 | endloop 2346 | endfacet 2347 | facet normal 1 0 2.22045e-016 2348 | outer loop 2349 | vertex -6 1.40729 -0.8125 2350 | vertex -6 0 -1.625 2351 | vertex -6 -7 -16.5 2352 | endloop 2353 | endfacet 2354 | facet normal 1 0 2.22045e-016 2355 | outer loop 2356 | vertex -6 0 -9.875 2357 | vertex -6 7 -12.25 2358 | vertex -6 1.40729 -0.8125 2359 | endloop 2360 | endfacet 2361 | facet normal 1 0 2.22045e-016 2362 | outer loop 2363 | vertex -6 1.40729 0.8125 2364 | vertex -6 1.40729 -0.8125 2365 | vertex -6 7 12.25 2366 | endloop 2367 | endfacet 2368 | facet normal 1 0 2.22045e-016 2369 | outer loop 2370 | vertex -6 -1.40729 0.8125 2371 | vertex -6 0 1.625 2372 | vertex -6 7 16.5 2373 | endloop 2374 | endfacet 2375 | facet normal 1 0 2.22045e-016 2376 | outer loop 2377 | vertex -6 -7 -16.5 2378 | vertex -6 -1.40729 -10.6875 2379 | vertex -6 1.40729 -0.8125 2380 | endloop 2381 | endfacet 2382 | facet normal 1 0 2.22045e-016 2383 | outer loop 2384 | vertex -6 -1.40729 -10.6875 2385 | vertex -6 0 -9.875 2386 | vertex -6 1.40729 -0.8125 2387 | endloop 2388 | endfacet 2389 | facet normal 1 0 2.22045e-016 2390 | outer loop 2391 | vertex -6 1.40729 -10.6875 2392 | vertex -6 7 -12.25 2393 | vertex -6 0 -9.875 2394 | endloop 2395 | endfacet 2396 | facet normal 1 0 2.22045e-016 2397 | outer loop 2398 | vertex -6 0 -13.125 2399 | vertex -6 -1.40729 -12.3125 2400 | vertex -6 -7 -16.5 2401 | endloop 2402 | endfacet 2403 | facet normal 1 0 2.22045e-016 2404 | outer loop 2405 | vertex -6 0 -13.125 2406 | vertex -6 7 -12.25 2407 | vertex -6 1.40729 -12.3125 2408 | endloop 2409 | endfacet 2410 | facet normal 1 0 2.22045e-016 2411 | outer loop 2412 | vertex -6 -7 -16.5 2413 | vertex -6 7 -12.25 2414 | vertex -6 0 -13.125 2415 | endloop 2416 | endfacet 2417 | facet normal 1 0 2.22045e-016 2418 | outer loop 2419 | vertex -6 -7 -16.5 2420 | vertex -6 -1.40729 -12.3125 2421 | vertex -6 -1.40729 -10.6875 2422 | endloop 2423 | endfacet 2424 | facet normal 1 0 2.22045e-016 2425 | outer loop 2426 | vertex -6 26.075 12.25 2427 | vertex -6 15.1562 2.1283 2428 | vertex -6 26.075 -12.25 2429 | endloop 2430 | endfacet 2431 | facet normal 1 0 2.22045e-016 2432 | outer loop 2433 | vertex -6 26.075 12.25 2434 | vertex -6 7 12.25 2435 | vertex -6 15.1562 2.1283 2436 | endloop 2437 | endfacet 2438 | facet normal 1 0 2.22045e-016 2439 | outer loop 2440 | vertex -6 0 9.875 2441 | vertex -6 -1.40729 10.6875 2442 | vertex -6 -9.7437 -1.3501 2443 | endloop 2444 | endfacet 2445 | facet normal 1 0 2.22045e-016 2446 | outer loop 2447 | vertex -6 -7 -12.25 2448 | vertex -6 -19.05 -12.25 2449 | vertex -6 -19.05 -15.5 2450 | endloop 2451 | endfacet 2452 | facet normal 1 0 2.22045e-016 2453 | outer loop 2454 | vertex -6 -18.55 -16.366 2455 | vertex -6 -7 -12.25 2456 | vertex -6 -18.916 -16 2457 | endloop 2458 | endfacet 2459 | facet normal 1 0 2.22045e-016 2460 | outer loop 2461 | vertex -6 -18.916 -16 2462 | vertex -6 -7 -12.25 2463 | vertex -6 -19.05 -15.5 2464 | endloop 2465 | endfacet 2466 | facet normal 1 0 2.22045e-016 2467 | outer loop 2468 | vertex -6 -18.05 -16.5 2469 | vertex -6 -7 -12.25 2470 | vertex -6 -18.55 -16.366 2471 | endloop 2472 | endfacet 2473 | facet normal 1 0 2.22045e-016 2474 | outer loop 2475 | vertex -6 -7 -16.5 2476 | vertex -6 -7 -12.25 2477 | vertex -6 -18.05 -16.5 2478 | endloop 2479 | endfacet 2480 | facet normal 0 -1 0 2481 | outer loop 2482 | vertex -6 7 -16.5 2483 | vertex 6 7 -16.5 2484 | vertex 6 7 -12.25 2485 | endloop 2486 | endfacet 2487 | facet normal 0 -1 0 2488 | outer loop 2489 | vertex -6 7 -12.25 2490 | vertex -6 7 -16.5 2491 | vertex 6 7 -12.25 2492 | endloop 2493 | endfacet 2494 | facet normal 2.14476e-016 -0.258865 -0.965914 2495 | outer loop 2496 | vertex 6 -5.175 -16.366 2497 | vertex 6 -4.675 -16.5 2498 | vertex 10.25 -5.175 -16.366 2499 | endloop 2500 | endfacet 2501 | facet normal 2.14476e-016 -0.258865 -0.965914 2502 | outer loop 2503 | vertex 10.25 -5.175 -16.366 2504 | vertex 6 -4.675 -16.5 2505 | vertex 10.25 -4.675 -16.5 2506 | endloop 2507 | endfacet 2508 | facet normal 2.22045e-016 0 -1 2509 | outer loop 2510 | vertex 6 26.075 12.25 2511 | vertex 6 7 12.25 2512 | vertex -6 26.075 12.25 2513 | endloop 2514 | endfacet 2515 | facet normal 2.22045e-016 0 -1 2516 | outer loop 2517 | vertex -6 26.075 12.25 2518 | vertex 6 7 12.25 2519 | vertex -6 7 12.25 2520 | endloop 2521 | endfacet 2522 | facet normal -2.22045e-016 0 1 2523 | outer loop 2524 | vertex 6 7 -12.25 2525 | vertex 6 26.075 -12.25 2526 | vertex -6 26.075 -12.25 2527 | endloop 2528 | endfacet 2529 | facet normal -2.22045e-016 0 1 2530 | outer loop 2531 | vertex -6 7 -12.25 2532 | vertex 6 7 -12.25 2533 | vertex -6 26.075 -12.25 2534 | endloop 2535 | endfacet 2536 | facet normal 1.57009e-016 -0.707107 -0.707107 2537 | outer loop 2538 | vertex 10.25 -5.541 -16 2539 | vertex 6 -5.541 -16 2540 | vertex 6 -5.175 -16.366 2541 | endloop 2542 | endfacet 2543 | facet normal 1.57009e-016 -0.707107 -0.707107 2544 | outer loop 2545 | vertex 10.25 -5.175 -16.366 2546 | vertex 10.25 -5.541 -16 2547 | vertex 6 -5.175 -16.366 2548 | endloop 2549 | endfacet 2550 | facet normal 5.74795e-017 -0.965914 -0.258865 2551 | outer loop 2552 | vertex 10.25 -5.675 -15.5 2553 | vertex 6 -5.675 -15.5 2554 | vertex 6 -5.541 -16 2555 | endloop 2556 | endfacet 2557 | facet normal 5.74795e-017 -0.965914 -0.258865 2558 | outer loop 2559 | vertex 10.25 -5.541 -16 2560 | vertex 10.25 -5.675 -15.5 2561 | vertex 6 -5.541 -16 2562 | endloop 2563 | endfacet 2564 | facet normal 0 -1 0 2565 | outer loop 2566 | vertex 10.25 -5.675 15.5 2567 | vertex 6 -5.675 15.5 2568 | vertex 6 -5.675 -15.5 2569 | endloop 2570 | endfacet 2571 | facet normal 0 -1 0 2572 | outer loop 2573 | vertex 10.25 -5.675 -15.5 2574 | vertex 10.25 -5.675 15.5 2575 | vertex 6 -5.675 -15.5 2576 | endloop 2577 | endfacet 2578 | facet normal -5.74795e-017 -0.965914 0.258865 2579 | outer loop 2580 | vertex 10.25 -5.541 16 2581 | vertex 6 -5.541 16 2582 | vertex 6 -5.675 15.5 2583 | endloop 2584 | endfacet 2585 | facet normal -5.74795e-017 -0.965914 0.258865 2586 | outer loop 2587 | vertex 10.25 -5.675 15.5 2588 | vertex 10.25 -5.541 16 2589 | vertex 6 -5.675 15.5 2590 | endloop 2591 | endfacet 2592 | facet normal -1.57009e-016 -0.707107 0.707107 2593 | outer loop 2594 | vertex 10.25 -5.175 16.366 2595 | vertex 6 -5.175 16.366 2596 | vertex 6 -5.541 16 2597 | endloop 2598 | endfacet 2599 | facet normal -1.57009e-016 -0.707107 0.707107 2600 | outer loop 2601 | vertex 10.25 -5.541 16 2602 | vertex 10.25 -5.175 16.366 2603 | vertex 6 -5.541 16 2604 | endloop 2605 | endfacet 2606 | facet normal 0 1 0 2607 | outer loop 2608 | vertex 10.25 -1.40729 10.6875 2609 | vertex 6 -1.40729 10.6875 2610 | vertex 10.25 -1.40729 12.3125 2611 | endloop 2612 | endfacet 2613 | facet normal 0 1 0 2614 | outer loop 2615 | vertex 10.25 -1.40729 12.3125 2616 | vertex 6 -1.40729 10.6875 2617 | vertex 6 -1.40729 12.3125 2618 | endloop 2619 | endfacet 2620 | facet normal 1.92296e-016 0.5 -0.866025 2621 | outer loop 2622 | vertex 10.25 -1.40729 12.3125 2623 | vertex 6 -1.40729 12.3125 2624 | vertex 10.25 0 13.125 2625 | endloop 2626 | endfacet 2627 | facet normal 1.92296e-016 0.5 -0.866025 2628 | outer loop 2629 | vertex 10.25 0 13.125 2630 | vertex 6 -1.40729 12.3125 2631 | vertex 6 0 13.125 2632 | endloop 2633 | endfacet 2634 | facet normal -1.92296e-016 0.5 0.866025 2635 | outer loop 2636 | vertex 10.25 -1.40729 10.6875 2637 | vertex 10.25 0 9.875 2638 | vertex 6 0 9.875 2639 | endloop 2640 | endfacet 2641 | facet normal -1.92296e-016 0.5 0.866025 2642 | outer loop 2643 | vertex 6 -1.40729 10.6875 2644 | vertex 10.25 -1.40729 10.6875 2645 | vertex 6 0 9.875 2646 | endloop 2647 | endfacet 2648 | facet normal -1.92296e-016 -0.5 0.866025 2649 | outer loop 2650 | vertex 6 0 9.875 2651 | vertex 10.25 0 9.875 2652 | vertex 10.25 1.40729 10.6875 2653 | endloop 2654 | endfacet 2655 | facet normal -1.92296e-016 -0.5 0.866025 2656 | outer loop 2657 | vertex 6 1.40729 10.6875 2658 | vertex 6 0 9.875 2659 | vertex 10.25 1.40729 10.6875 2660 | endloop 2661 | endfacet 2662 | facet normal 0 -1 0 2663 | outer loop 2664 | vertex 6 1.40729 10.6875 2665 | vertex 10.25 1.40729 10.6875 2666 | vertex 10.25 1.40729 12.3125 2667 | endloop 2668 | endfacet 2669 | facet normal 0 -1 0 2670 | outer loop 2671 | vertex 6 1.40729 12.3125 2672 | vertex 6 1.40729 10.6875 2673 | vertex 10.25 1.40729 12.3125 2674 | endloop 2675 | endfacet 2676 | facet normal 1.92296e-016 -0.5 -0.866025 2677 | outer loop 2678 | vertex 10.25 1.40729 12.3125 2679 | vertex 10.25 0 13.125 2680 | vertex 6 1.40729 12.3125 2681 | endloop 2682 | endfacet 2683 | facet normal 1.92296e-016 -0.5 -0.866025 2684 | outer loop 2685 | vertex 6 1.40729 12.3125 2686 | vertex 10.25 0 13.125 2687 | vertex 6 0 13.125 2688 | endloop 2689 | endfacet 2690 | facet normal 2.22045e-016 0 -1 2691 | outer loop 2692 | vertex 10.25 19.7 7 2693 | vertex 10.25 5.7 7 2694 | vertex 6 19.7 7 2695 | endloop 2696 | endfacet 2697 | facet normal 2.22045e-016 0 -1 2698 | outer loop 2699 | vertex 6 19.7 7 2700 | vertex 10.25 5.7 7 2701 | vertex 6 5.7 7 2702 | endloop 2703 | endfacet 2704 | facet normal 0 1 0 2705 | outer loop 2706 | vertex 10.25 5.7 -7 2707 | vertex 6 5.7 -7 2708 | vertex 10.25 5.7 7 2709 | endloop 2710 | endfacet 2711 | facet normal 0 1 0 2712 | outer loop 2713 | vertex 10.25 5.7 7 2714 | vertex 6 5.7 -7 2715 | vertex 6 5.7 7 2716 | endloop 2717 | endfacet 2718 | facet normal -2.22045e-016 0 1 2719 | outer loop 2720 | vertex 10.25 5.7 -7 2721 | vertex 10.25 19.7 -7 2722 | vertex 6 19.7 -7 2723 | endloop 2724 | endfacet 2725 | facet normal -2.22045e-016 0 1 2726 | outer loop 2727 | vertex 6 5.7 -7 2728 | vertex 10.25 5.7 -7 2729 | vertex 6 19.7 -7 2730 | endloop 2731 | endfacet 2732 | facet normal 0 -1 0 2733 | outer loop 2734 | vertex 6 19.7 -7 2735 | vertex 10.25 19.7 -7 2736 | vertex 10.25 19.7 7 2737 | endloop 2738 | endfacet 2739 | facet normal 0 -1 0 2740 | outer loop 2741 | vertex 6 19.7 7 2742 | vertex 6 19.7 -7 2743 | vertex 10.25 19.7 7 2744 | endloop 2745 | endfacet 2746 | facet normal 0 1 0 2747 | outer loop 2748 | vertex 10.25 -1.40729 -0.8125 2749 | vertex 6 -1.40729 -0.8125 2750 | vertex 10.25 -1.40729 0.8125 2751 | endloop 2752 | endfacet 2753 | facet normal 0 1 0 2754 | outer loop 2755 | vertex 10.25 -1.40729 0.8125 2756 | vertex 6 -1.40729 -0.8125 2757 | vertex 6 -1.40729 0.8125 2758 | endloop 2759 | endfacet 2760 | facet normal 1.92296e-016 0.5 -0.866025 2761 | outer loop 2762 | vertex 10.25 -1.40729 0.8125 2763 | vertex 6 -1.40729 0.8125 2764 | vertex 10.25 0 1.625 2765 | endloop 2766 | endfacet 2767 | facet normal 1.92296e-016 0.5 -0.866025 2768 | outer loop 2769 | vertex 10.25 0 1.625 2770 | vertex 6 -1.40729 0.8125 2771 | vertex 6 0 1.625 2772 | endloop 2773 | endfacet 2774 | facet normal -1.92296e-016 0.5 0.866025 2775 | outer loop 2776 | vertex 10.25 -1.40729 -0.8125 2777 | vertex 10.25 0 -1.625 2778 | vertex 6 0 -1.625 2779 | endloop 2780 | endfacet 2781 | facet normal -1.92296e-016 0.5 0.866025 2782 | outer loop 2783 | vertex 6 -1.40729 -0.8125 2784 | vertex 10.25 -1.40729 -0.8125 2785 | vertex 6 0 -1.625 2786 | endloop 2787 | endfacet 2788 | facet normal -1.92296e-016 -0.5 0.866025 2789 | outer loop 2790 | vertex 6 0 -1.625 2791 | vertex 10.25 0 -1.625 2792 | vertex 10.25 1.40729 -0.8125 2793 | endloop 2794 | endfacet 2795 | facet normal -1.92296e-016 -0.5 0.866025 2796 | outer loop 2797 | vertex 6 1.40729 -0.8125 2798 | vertex 6 0 -1.625 2799 | vertex 10.25 1.40729 -0.8125 2800 | endloop 2801 | endfacet 2802 | facet normal 0 -1 0 2803 | outer loop 2804 | vertex 6 1.40729 -0.8125 2805 | vertex 10.25 1.40729 -0.8125 2806 | vertex 10.25 1.40729 0.8125 2807 | endloop 2808 | endfacet 2809 | facet normal 0 -1 0 2810 | outer loop 2811 | vertex 6 1.40729 0.8125 2812 | vertex 6 1.40729 -0.8125 2813 | vertex 10.25 1.40729 0.8125 2814 | endloop 2815 | endfacet 2816 | facet normal 1.92296e-016 -0.5 -0.866025 2817 | outer loop 2818 | vertex 10.25 1.40729 0.8125 2819 | vertex 10.25 0 1.625 2820 | vertex 6 1.40729 0.8125 2821 | endloop 2822 | endfacet 2823 | facet normal 1.92296e-016 -0.5 -0.866025 2824 | outer loop 2825 | vertex 6 1.40729 0.8125 2826 | vertex 10.25 0 1.625 2827 | vertex 6 0 1.625 2828 | endloop 2829 | endfacet 2830 | facet normal 0 1 0 2831 | outer loop 2832 | vertex 10.25 -1.40729 -12.3125 2833 | vertex 6 -1.40729 -12.3125 2834 | vertex 10.25 -1.40729 -10.6875 2835 | endloop 2836 | endfacet 2837 | facet normal 0 1 0 2838 | outer loop 2839 | vertex 10.25 -1.40729 -10.6875 2840 | vertex 6 -1.40729 -12.3125 2841 | vertex 6 -1.40729 -10.6875 2842 | endloop 2843 | endfacet 2844 | facet normal 1.92296e-016 0.5 -0.866025 2845 | outer loop 2846 | vertex 10.25 -1.40729 -10.6875 2847 | vertex 6 -1.40729 -10.6875 2848 | vertex 10.25 0 -9.875 2849 | endloop 2850 | endfacet 2851 | facet normal 1.92296e-016 0.5 -0.866025 2852 | outer loop 2853 | vertex 10.25 0 -9.875 2854 | vertex 6 -1.40729 -10.6875 2855 | vertex 6 0 -9.875 2856 | endloop 2857 | endfacet 2858 | facet normal -1.92296e-016 0.5 0.866025 2859 | outer loop 2860 | vertex 10.25 -1.40729 -12.3125 2861 | vertex 10.25 0 -13.125 2862 | vertex 6 0 -13.125 2863 | endloop 2864 | endfacet 2865 | facet normal -1.92296e-016 0.5 0.866025 2866 | outer loop 2867 | vertex 6 -1.40729 -12.3125 2868 | vertex 10.25 -1.40729 -12.3125 2869 | vertex 6 0 -13.125 2870 | endloop 2871 | endfacet 2872 | facet normal -1.92296e-016 -0.5 0.866025 2873 | outer loop 2874 | vertex 6 0 -13.125 2875 | vertex 10.25 0 -13.125 2876 | vertex 10.25 1.40729 -12.3125 2877 | endloop 2878 | endfacet 2879 | facet normal -1.92296e-016 -0.5 0.866025 2880 | outer loop 2881 | vertex 6 1.40729 -12.3125 2882 | vertex 6 0 -13.125 2883 | vertex 10.25 1.40729 -12.3125 2884 | endloop 2885 | endfacet 2886 | facet normal 0 -1 0 2887 | outer loop 2888 | vertex 6 1.40729 -12.3125 2889 | vertex 10.25 1.40729 -12.3125 2890 | vertex 10.25 1.40729 -10.6875 2891 | endloop 2892 | endfacet 2893 | facet normal 0 -1 0 2894 | outer loop 2895 | vertex 6 1.40729 -10.6875 2896 | vertex 6 1.40729 -12.3125 2897 | vertex 10.25 1.40729 -10.6875 2898 | endloop 2899 | endfacet 2900 | facet normal 1.92296e-016 -0.5 -0.866025 2901 | outer loop 2902 | vertex 10.25 1.40729 -10.6875 2903 | vertex 10.25 0 -9.875 2904 | vertex 6 1.40729 -10.6875 2905 | endloop 2906 | endfacet 2907 | facet normal 1.92296e-016 -0.5 -0.866025 2908 | outer loop 2909 | vertex 6 1.40729 -10.6875 2910 | vertex 10.25 0 -9.875 2911 | vertex 6 0 -9.875 2912 | endloop 2913 | endfacet 2914 | endsolid OpenSCAD_Model 2915 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MGX3D Automatic Turntable 2 | 3 | A high precision rotating platform for 100Kg/250lbs typical loads. 4 | 5 | ![Kinect Scan View](/images/Setup.jpg?raw=true "3D Scanner view") 6 | 7 | 8 | Description: 9 | ------------ 10 | This platform was initially designed to automate 3D scanning of people and objects with Kinect v2 and 3D Builder: 11 | - heavy duty: hold a heavy person or average couple, run for 12+ hours non-stop 12 | - powerful drive: spin the person fast enough to avoid scanning artifacts due to movement, breathing, ICD, etc. 13 | - precise rotation: stepper controlled (and USB connected) to experiment with line scanners and algorithms 14 | - low profile: close to the ground increase stability when stepped on 15 | - easy to build: use very few parts that are easy to source 16 | 17 | The current design has completed more than 2500 scans of people to date, with a typical scan taking only 30 seconds. 18 | 19 | Characteristics (typical): 20 | -------------------------- 21 | - platform diameter: 500mm (2ft) 22 | - speed: 0-3 RPM (peripheral speed: 25-50mm/s) 23 | - platform load: up to 300lbs 24 | - resolution: 0.02mm for 450mm OD object (20 arcseconds) 25 | 26 | Parts required: 27 | --------------- 28 | Warning: not final, might be incomplete. Please be prepared to make adjustments. Unless otherwise noted, eBay/Amazon is a good source for parts. 29 | 30 | | Count | Price | Description | 31 | |-------|-------|-------------| 32 | | 1x | $40 | 450mm Lazy Susan Aluminum Bearing 500 lbs Turntable Bearings (VXB Brand)| 33 | | 1x | $30 | Stepper motor driver: DM420A. Alternative: HY-DIV268N-5A| 34 | | 1x | $55 | NEMA23, torque: 25 Kg cm (350 oz. in) (example: Wantai 57BYGH115-003 / 3.0A, but many others work here). Alternative is a NEMA17 planetary gear motor (not for Fusion scans!)| 35 | | 4x | $4 | M5 30mm socket head screws - for the NEMA23 motor mount. Alternative: M4 >35mm and nuts| 36 | | 1x | $6 | MXL aluminum pulley 40T 8mm bore (anything between 20T and 40T works - bore has to match the motor. GT2 also works)| 37 | | 1x | $10 | 962MXL Timing Belt, .080" Pitch, 77" Outer Circle, 1/4" Wide (McMaster 1679K686, alternative 3/16" 1679K685)| 38 | | 4x | $3 | F623ZZ: 3x10x4mm flanged bearing for the belt tensioner. Likely to be upgraded to F634zz| 39 | | 2x | $1 | M3 20mm with 1 nut and 2 washers each. Holds the bearings in the belt tensioner (will be M4 for F634zz)| 40 | | 1x | $0 | 3D printed part for the NEMA23 mount (STLs in the CAD folder: https://github.com/MGX3D/Turntable/blob/master/CAD/3d_scanner_nema23.stl)| 41 | | 1x | $0 | 3D printed part for the belt tensioner (STLs in the CAD folder: https://github.com/MGX3D/Turntable/blob/master/CAD/3d_scanner_belt_tensioner.stl)| 42 | | 1x | $20 | Teensy 2.0. Alternative: any Pulse/Dir/Enable capable electronics (examples: Arduino w/ RAMPS shield and shim from Pololu to DM420A or Raspberry Pi 2 with Windows 10 using GPIO pins, etc)| 43 | | 1x | $20 | 1" 8020 72" aluminum extrusion (1010 profile). Will need to be cut in 32"+20"+20". Alternative: metric t-slot extrusion of 20mm or larger| 44 | | 4x | $4 | 1/4-20 1/2" pan head screws and t-slot nuts - attach the printed parts (motor mount and tensioner) to the aluminum extrusion. Alternative: use M4-12mm + t-nuts| 45 | | 6x | $5 | M4 16mm screws + t-slot nuts (Can use 8-24 t-slot nuts, part number 3275 at 8020.inc). Mounts the bearing to the 8020 extrusion| 46 | | 6x | $1 | #6-1" wood screws - mounts a wooden platform to the bearing. Alternative - double sided tape| 47 | | 1x | $1 | 2+ meters (6+ feet) of 6 wire cable to transmit signal: low voltage: Enable/Pulse/Direction/Ground (3.3-5vcc) and 12V DC power to the stepper controller. Good fit: network cable with 2 pairs of wires for motor power| 48 | | 1x | $40 | 24" (500mm) disc platform. For 3d scanning of people: preferably 1" thick plywood. Alternative: 1 in. x 24 in. x 2 ft. Pine Edge Glued Panel Round Board at Home Depot (paint or cover with no-slip tape). For other uses: polycarbonate or tempered glass (>3/8", heavy!) or 3/8"-1/2" aluminum disc| 49 | | 12x | $1 | Optional: M4 washers - only needed if the lazy susan bearing is not offset (inside vs outside rings), example VXB bearings| 50 | 51 | -- 52 | Approximate total cost: **$250** 53 | Estimated total parts: 37-49 54 | 55 | Additional tools required for assembly: 56 | - drill with 4mm and 7mm drills. Hand drill works, drill press is better. 57 | - metric hex/allen keys for metric M3, M4 and M5 screws (m5 works for SAE 1/4" too) 58 | - saw for the aluminum extrusion. Hand saw works, table saw is better. 59 | 60 | 61 | Assembly Instructions: 62 | ---------------------- 63 | The movement in this platform is a quite unique: the belt goes directly from the 40T motor pulley to the big lazy susan bearing, through a bi-lateral belt tensioner. This simple arrangement works incredibly well in practice as it achieves a zero backlash 18:1 typical reduction at a very low cost. The bearing does not need teeth: due to its very large diameter it achieves zero slip through friction. The incidence angle of the belt is gentle enough to not damage the teeth. 64 | 65 | ![Turntable Bottom View](/images/TurntableBottom.jpg?raw=true "Bottom view") 66 | 67 | ![Movement View](/images/motor_assembly.jpg?raw=true "Movement view") 68 | 69 | The belt is tensioned by sliding the tensioner towards the bearing. The tensioner also functions as a vertical guide for the belt. 70 | 71 | ![Motor Assembly View](/images/motor_assembly_annotated.jpg?raw=true "Motor assembly") 72 | 73 | 74 | The motor attaches to the extrusion using the 3d printed mount. In the latest design, the motor mount design has been updated to allow easy repositioning of the motor as well as to increase the strength (the 3D model looks slightly different than the pictures below). The holes that take the M5 screws from the motor are designed to be tapped (M5 tap), if you don't have one you can simply use longer M4 screws and nuts on the other side, there is enough clearance. 75 | 76 | ![Motor Mount View](/images/motor_mount_annotated.jpg?raw=true "Motor mount") 77 | 78 | The lazy susan bearing is attached directly to the aluminum extrusion by drilling 12 through holes, 4mm diameters: 6 holes in the inside ring and 6 holes in the outside ring. The bearings are usually half-way drilled from the factory, those holes work well as a guide. Two drilling operations are required, one through hole the screw itself (4 - 4.25mm dia drill) and a secondary hole one for the screw socket-head cap (7mm dia drill but only 4mm deep!). The screw socket heads need to be sunk so they don't block the rotation of the bearing - this is needed even if the bearing is offset (the offset is typically 1-2mm). Alternatively, one can use 3D printed raisers with M4 pan head screws. If the bearing rings are not vertically offset (typical for VXB bearings) you will need to insert M4 washers between the bearing and the extrusion to eliminate friction. 79 | 80 | ![Bottom View](/images/platform_bottom.jpg?raw=true "Bottom view") 81 | 82 | After the bearing is attached to the extrusion (and the belt tension is roughly correct) the round platform is attached to the bearing with 6 pcs of #6-1" wood screws (and washers). An option here is to use double sided adhesive tape (red in the image), however once mounted like this it won't be possible to access to the screws that go into the extrusion. Double sided tape is however the only option for tempered glass platforms (pictured). The challenging part here is to get the bearing perfectly centered on the platform, the trick is to find the center of the disk and then draw a circle that matches the bearing outside diameter. 83 | 84 | ![Turntable Top View](/images/TurntableTop.jpg?raw=true "Top view") 85 | 86 | 87 | Possible applications: 88 | --------------------- 89 | - 3D scanning of people - using Kinect v2 and 3D Builder 90 | - 3D scanning of objects - using laser line scanners 91 | - Rotary axis for CNC machining or 3D Printing 92 | - Showroom displays for heavy objects 93 | - Automatic tool changer for CNCs 94 | - Cake decoration? 95 | - ... and more 96 | -------------------------------------------------------------------------------- /code/TeensyTurn/TeensyTurn.ino: -------------------------------------------------------------------------------- 1 | /* 2 | 3 | MGX3D 3D Scanning Turntable Controller 4 | 5 | 6 | Copyright (c) 2015, Marius Gheorghescu. All rights reserved. 7 | 8 | mariusg (at) live.com / www.mariusg.com / www.github.com/mgx3d/ 9 | 10 | 11 | Redistribution and use in source and binary forms, with or without 12 | modification, are permitted provided that the following conditions 13 | are met: 14 | 15 | 1. Redistributions of source code must retain the above copyright 16 | notice, this list of conditions and the following disclaimer. 17 | 18 | 2. Redistributions in binary form must reproduce the above copyright 19 | notice, this list of conditions and the following disclaimer in the 20 | documentation and/or other materials provided with the distribution. 21 | 22 | 3. Neither the name of the copyright holder nor the names of its contributors 23 | may be used to endorse or promote products derived from this software without 24 | specific prior written permission. 25 | 26 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 27 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 28 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 29 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 30 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 31 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 32 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 33 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 34 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 35 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 36 | POSSIBILITY OF SUCH DAMAGE. 37 | 38 | */ 39 | 40 | 41 | // pinout configuration for Teensy 2.0 42 | int stepPin = 19; 43 | int enblPin = 21; 44 | int dirPin = 20; 45 | int readoutPin = 17; 46 | int triggerPin = 1; 47 | 48 | // test rotation: 300rpm (5rps, pulse at rougly 1-16Khz), assume 20:1 reduction 49 | unsigned int turnFactor=40; 50 | unsigned int speedFactor=4; 51 | unsigned int lhDelayFactor=21; 52 | unsigned int hlDelayFactor=21; 53 | unsigned int accRampFactor=64; 54 | unsigned int accRampBeta=32; 55 | 56 | int paramSlot=0; 57 | 58 | // RawHID packets are always 64 bytes 59 | byte buffer[64]; 60 | 61 | void setup() 62 | { 63 | pinMode(stepPin, OUTPUT); 64 | pinMode(enblPin, OUTPUT); 65 | pinMode(dirPin, OUTPUT); 66 | 67 | pinMode(readoutPin, INPUT); 68 | 69 | digitalWrite(enblPin, HIGH); 70 | digitalWrite(dirPin, HIGH); 71 | 72 | pinMode(triggerPin, INPUT_PULLUP); 73 | 74 | Serial.begin(9600); 75 | Serial.println(F("MGX3D Turntable v1.00 Initialized")); 76 | } 77 | 78 | void run_motor(int doIO, unsigned int nSteps, unsigned int lhDelay, unsigned int hlDelay, unsigned int accRamp=0, unsigned int accBeta=0) 79 | { 80 | 81 | if (doIO) { 82 | 83 | for (int i=0; i<64; i++) { 84 | buffer[i] = 0; 85 | } 86 | 87 | Serial.print(F("RUN: ")); 88 | 89 | Serial.print(F(" steps=")); Serial.print(nSteps); 90 | Serial.print(F(" LHus=")); Serial.print(lhDelay); 91 | Serial.print(F(" HLus=")); Serial.print(hlDelay); 92 | Serial.print(F(" accRamp=")); Serial.print(accRamp); 93 | Serial.print(F(" accBeta=")); Serial.print(accBeta); 94 | 95 | Serial.println(F("")); 96 | } 97 | 98 | // run the motor 99 | for (unsigned int i=0; i (nSteps - accRamp)) { 116 | // decelerate 117 | //Serial.println((i-nSteps + accRamp)*accBeta); 118 | delayMicroseconds(lhDelay + (i-nSteps + accRamp)*accBeta); 119 | } else { 120 | delayMicroseconds(lhDelay); 121 | } 122 | } 123 | 124 | if (doIO) { 125 | // measure 126 | for(int i=0;i<32;i++) { 127 | int val = analogRead(readoutPin); 128 | buffer[i*2] = highByte(val); 129 | buffer[i*2 + 1] = lowByte(val); 130 | } 131 | 132 | // send data 133 | int n = RawHID.send(buffer, 100); 134 | if (n > 0) { 135 | // Serial.println(F("Depth data sent")); 136 | } else { 137 | Serial.println(F("Unable to transmit packet")); 138 | } 139 | } 140 | 141 | } 142 | 143 | void loop() 144 | { 145 | int n = RawHID.recv(buffer, 0); // 0 timeout = do not wait 146 | if (n > 0) { 147 | // the computer sent a message. 148 | Serial.print(F("Received packet, command=")); 149 | Serial.print((int)buffer[0]); 150 | 151 | // HL delay 152 | Serial.print(F(" param1=")); 153 | Serial.print((int)buffer[1]); 154 | 155 | // LH delay 156 | Serial.print(F(" param2=")); 157 | Serial.print((int)buffer[2]); 158 | 159 | // acceleration beta factor 160 | Serial.print(F(" param3=")); 161 | Serial.print((int)buffer[3]); 162 | 163 | // steps 164 | Serial.print(F(" wparam1=")); 165 | Serial.print(*(int*)&buffer[4]); 166 | 167 | // acceleration ramp steps 168 | Serial.print(F(" wparam2=")); 169 | Serial.print(*(int*)&buffer[8]); 170 | 171 | Serial.println(""); 172 | 173 | switch (buffer[0]) 174 | { 175 | case 0x00: 176 | // paramer rotation 177 | run_motor(*(unsigned int*)&buffer[0x04], *(unsigned int*)&buffer[0x08], 178 | *(unsigned int*)&buffer[0x0C], *(unsigned int*)&buffer[0x10], *(unsigned int*)&buffer[0x14]); 179 | break; 180 | 181 | case '+': 182 | switch(paramSlot) { 183 | case 0: 184 | turnFactor++; 185 | break; 186 | 187 | case 1: 188 | lhDelayFactor++; 189 | break; 190 | 191 | case 2: 192 | hlDelayFactor++; 193 | break; 194 | 195 | case 3: 196 | accRampFactor++; 197 | break; 198 | 199 | case 4: 200 | accRampBeta++; 201 | break; 202 | 203 | case 5: 204 | speedFactor++; 205 | break; 206 | } 207 | break; 208 | 209 | case '-': 210 | switch(paramSlot) { 211 | case 0: 212 | turnFactor = max(1, turnFactor--); 213 | break; 214 | 215 | case 1: 216 | lhDelayFactor = max(0, lhDelayFactor--); 217 | break; 218 | 219 | case 2: 220 | hlDelayFactor = max(0, hlDelayFactor--); 221 | break; 222 | 223 | case 3: 224 | accRampFactor = max(0, accRampFactor--); 225 | break; 226 | 227 | case 4: 228 | accRampBeta = max(0, accRampBeta--); 229 | break; 230 | 231 | case 5: 232 | speedFactor = max(1, speedFactor--); 233 | break; 234 | 235 | } 236 | break; 237 | 238 | case '1': 239 | case '2': 240 | case '3': 241 | case '4': 242 | case '5': 243 | case '6': 244 | paramSlot = buffer[0]-'1'; 245 | break; 246 | 247 | case 'r': 248 | run_motor(1, turnFactor*200*speedFactor, 8192/(1+pow(1.3,32-lhDelayFactor)), 8192/(1+pow(1.3,32-hlDelayFactor)), accRampFactor*speedFactor, accRampBeta/speedFactor); 249 | break; 250 | } 251 | } 252 | 253 | if (digitalRead(triggerPin) == LOW) { 254 | delay(250); 255 | run_motor(0, turnFactor*200*speedFactor, 8192/(1+pow(1.3,32-lhDelayFactor)), 8192/(1+pow(1.3,32-hlDelayFactor)), accRampFactor*speedFactor, accRampBeta/speedFactor); 256 | } 257 | } 258 | -------------------------------------------------------------------------------- /code/TeensyTurn/readme.md: -------------------------------------------------------------------------------- 1 | # TeensyTurn 2 | 3 | This shows an example controller running on Arduino Teensy 2.0 (Teensyduino) 4 | 5 | 6 | Wiring: 7 | ------- 8 | The code is configured for Teensy 2.0 / Teensyduino - it maps pins 19,20 and 21 to Step/Direction and respectively Pulse on the controller. 9 | 10 | To compile: 11 | ---------- 12 | 1. Install Arduino 1.0.6 or equivalent (http://www.arduino.cc) 13 | 2. Install Teensyduino 1.23 or newer (http://www.pjrc.com/teensy/td_download.html) 14 | 3. Load the sketch in Arduino 15 | - Set board type to "Teensy 2.0" or your equivalent 16 | - Set USB Type to "Raw HID" 17 | - Click 'Verify'. At this point Arduino should start the Teensy firmware upload app. 18 | - Reset Teensy - the app should flash it. 19 | - Tweak the parameters as needed and repeat the last two steps 20 | 4. Start Serial Monitor and connect at 9600 baud. You should see a message like "MGX3D Turntable v1.00 Initialized" 21 | 22 | Usage: 23 | -------- 24 | To test the controller, connect to the Teensyduino with raw_hidtest.exe (https://www.pjrc.com/teensy/rawhid.html), 25 | 26 | 1. Press number keys 1-5 to select 27 | the stepper control parameters: 28 | - nSteps - The number of steps (or microsteps) to issue 29 | - lhDelay - delay (microseconds) between Low-High transitions (example: feed rate) 30 | - hlDelay - delay (microseconds) between High-Low transitions (example: minimum impulse) 31 | - accRamp - slope length (impulses) for acceleration/deceleration 32 | - accBeta - slope angle (delay) for acceleration/deceleration 33 | 2. Press '+' or '-' to increase or decrease the parameters as needed 34 | 3. Press 'r' key to issue a move command. If you connect with the Serial Monitor in Arduino and should see the following: 35 | " 36 | MGX3D Turntable v1.00 Initialized 37 | [...] 38 | Depth data sentReceived packet, command=114 param1=0 param2=0 param3=0 wparam1=0 wparam2=0 39 | RUN: steps=600 LHus=432 HLus=5 accRamp=79 accBeta=41 40 | " 41 | 42 | To run the controller with specific parameters, send a 64-byte buffer in the folllwing format: 43 | 44 | Offset Type Meaning 45 | ------ ---- ------- 46 | 0x00 byte always 0x00 47 | 0x01 byte[3] reserved 48 | 0x04 uint16 nSteps 49 | 0x08 uint16 lhDelay 50 | 0x0C uint16 hlDelay 51 | 0x10 uint16 accRamp 52 | 0x14 uint16 accBeta 53 | -------------------------------------------------------------------------------- /images/Setup.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MGX3D/Turntable/19a73674a0f2c200b212b4565b8817c5eb5b44a7/images/Setup.jpg -------------------------------------------------------------------------------- /images/TurntableBottom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MGX3D/Turntable/19a73674a0f2c200b212b4565b8817c5eb5b44a7/images/TurntableBottom.jpg -------------------------------------------------------------------------------- /images/TurntableSetup.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MGX3D/Turntable/19a73674a0f2c200b212b4565b8817c5eb5b44a7/images/TurntableSetup.jpg -------------------------------------------------------------------------------- /images/TurntableTop.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MGX3D/Turntable/19a73674a0f2c200b212b4565b8817c5eb5b44a7/images/TurntableTop.jpg -------------------------------------------------------------------------------- /images/motor_assembly.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MGX3D/Turntable/19a73674a0f2c200b212b4565b8817c5eb5b44a7/images/motor_assembly.jpg -------------------------------------------------------------------------------- /images/motor_assembly_annotated.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MGX3D/Turntable/19a73674a0f2c200b212b4565b8817c5eb5b44a7/images/motor_assembly_annotated.jpg -------------------------------------------------------------------------------- /images/motor_mount_annotated.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MGX3D/Turntable/19a73674a0f2c200b212b4565b8817c5eb5b44a7/images/motor_mount_annotated.jpg -------------------------------------------------------------------------------- /images/platform_bottom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/MGX3D/Turntable/19a73674a0f2c200b212b4565b8817c5eb5b44a7/images/platform_bottom.jpg --------------------------------------------------------------------------------