├── .github └── workflows │ └── publish-to-test-pypi.yml ├── .gitignore ├── .gitmodules ├── .readthedocs.yml ├── README.md ├── chipshouter_adapter └── 50mm_mounting_pattern │ ├── 3dprinted_simple │ ├── chipshouter mount - M3 or 4-40 holding bolt.f3d │ ├── chipshouter mount - M3 or 4-40 holding bolt.png │ ├── chipshouter mount - M3 or 4-40 holding bolt.step │ └── chipshouter mount - M3 or 4-40 holding bolt.stl │ └── cnc_multipart │ ├── cnc holder multipart slides.f3d │ ├── cnc holder multipart slides.png │ ├── cnc holder multipart slides.step │ ├── cnc holder multipart slides.stl │ ├── cnc holder multipart.f3d │ ├── cnc holder multipart.png │ ├── cnc holder multipart.step │ └── cnc holder multipart.stl ├── controller-hardware ├── README.md ├── chipshover-one │ ├── CW551-Mainboard │ │ └── NPCA-CW551-ChipShover-One-Mainboard-Schematic_04RC.PDF │ ├── CW553-LCDBoard │ │ └── NPCA-CW553-ChipShover-One-LCDBoard-Schematic_04.PDF │ ├── CW554-Stepper-Breakout │ │ ├── Gerbers-NPCB-CW554-01.zip │ │ └── NPCA-CW554-StepperBreakout.PDF │ ├── CW562-StepperDriver │ │ └── NPCA-CW562-ChipShover-One-StepperDriver-Schematic_03.pdf │ ├── README.md │ └── images │ │ ├── 1990-under-construction.gif │ │ ├── beta │ │ ├── cs-one-endplate.jpeg │ │ ├── cs-one-mainunit.jpg │ │ ├── cs-one-open.jpeg │ │ └── cs-one-top.jpeg │ │ └── chipshover-breakout-render.png └── diy-with-archim2 │ └── README.md ├── images └── PS1-Assembly.jpg ├── nota3dprinter.md └── stages ├── README.md ├── lowres ├── README.md ├── adapters │ ├── 3020Table_ChipShouterAdapter_HardwareNeeded.f3d │ ├── 3020Table_ChipShouterAdapter_HardwareNeeded.stl │ ├── 3020Table_ChipShouterAdapter_NoHardwareNeeded.f3d │ ├── 3020Table_ChipShouterAdapter_NoHardwareNeeded.stl │ └── README.md └── images │ ├── 3020overall.jpg │ ├── 3dprintbro.jpg │ ├── aliexpress-frame.png │ ├── crap-x-location.jpg │ ├── heatset.jpg │ ├── holderdetail.jpg │ ├── leftdetail.jpg │ ├── marks.jpg │ ├── motor-strain-relief.jpg │ └── setup-backside.jpg ├── medres-chipshover ├── README.md ├── Rev2Assembly.md ├── Rev2Instructions.md ├── old_revisions │ ├── Rev0Assembly.md │ ├── Rev0Instructions.md │ ├── Rev1Assembly.md │ ├── Rev1Instructions.md │ ├── rev0 │ │ ├── boardmount.jpeg │ │ ├── cablemating.jpeg │ │ ├── cablemount1.jpg │ │ ├── cablemount2.jpg │ │ ├── cablerouting.jpeg │ │ ├── chipshoverplate.jpg │ │ ├── frameremoval.jpg │ │ ├── interfacefeet.jpeg │ │ ├── jesusbolt.jpeg │ │ ├── longcat.jpeg │ │ ├── pushup.jpeg │ │ ├── pushwhilejesus.jpeg │ │ ├── stages_chipshover.jpeg │ │ ├── yadjfunky.jpeg │ │ ├── yadjpull.jpeg │ │ ├── yadjubolt1.jpeg │ │ ├── yaxisalignment.jpeg │ │ ├── yaxismounted.jpeg │ │ ├── zaxisclear.jpeg │ │ ├── zaxisfront.jpeg │ │ ├── zholderwrench.jpeg │ │ ├── zplatealign.jpeg │ │ ├── zplatefrontside.jpeg │ │ ├── zplatescrew.jpeg │ │ ├── zstophigh.jpeg │ │ └── zstoplow.jpeg │ └── rev1 │ │ ├── capthat.jpeg │ │ ├── cs_cable.jpeg │ │ ├── cs_holder_1.jpeg │ │ ├── cs_holder_2.jpeg │ │ ├── cs_holder_3.jpeg │ │ ├── placelow.jpeg │ │ ├── pullout.jpeg │ │ ├── pullout_3mm.jpeg │ │ ├── table_1_install.jpeg │ │ ├── table_1_nuts.jpeg │ │ ├── table_clearance.jpeg │ │ ├── table_position_db9.jpeg │ │ ├── table_position_db9_annotate.jpg │ │ ├── table_position_screws.jpeg │ │ ├── table_position_screws_annotate.jpg │ │ ├── table_support_install.jpeg │ │ ├── vertical_slider_install.jpeg │ │ ├── xtable_install_black.jpeg │ │ └── y_table_align.jpeg └── rev2 │ ├── base_shipping.jpg │ ├── cable_strap.jpg │ ├── cs_backwards.jpeg │ ├── cs_backwards.jpg │ ├── cs_holder_done.jpg │ ├── cs_install1.jpg │ ├── safety-bolt.jpg │ ├── y_mounting_holes.jpg │ ├── ystage_thumbwheel.jpg │ ├── zstage_holes.jpg │ └── zstage_mounted.jpg └── medres-diy └── README.md /.github/workflows/publish-to-test-pypi.yml: -------------------------------------------------------------------------------- 1 | name: Pub Python dist to TestPyPi 2 | 3 | on: push 4 | 5 | jobs: 6 | build-n-publish: 7 | name: Build/pub python to testpypi 8 | runs-on: ubuntu-18.04 9 | steps: 10 | - uses: actions/checkout@master 11 | - name: Setup Python 3.7 12 | uses: actions/setup-python@v1 13 | with: 14 | python-version: 3.7 15 | - name: Build ChipShover 16 | run: >- 17 | python host-python/setup.py sdist 18 | - name: Publish to pypi 19 | if: startsWith(github.ref, 'refs/tags') 20 | uses: pypa/gh-action-pypi-publish@master 21 | with: 22 | password: ${{ secrets.py_pi_deploy }} 23 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /host-python/chipshover.egg-info 2 | /host-python/chipshover/__pycache__ 3 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "host-python"] 2 | path = host-python 3 | url = https://github.com/newaetech/ChipShover-Python 4 | -------------------------------------------------------------------------------- /.readthedocs.yml: -------------------------------------------------------------------------------- 1 | # .readthedocs.yml 2 | 3 | version: 2 4 | 5 | sphinx: 6 | builder: html 7 | configuration: host-python/docs/conf.py 8 | fail_on_warning: true 9 | 10 | 11 | build: 12 | image: stable 13 | 14 | python: 15 | version: 3.6 16 | install: 17 | - method: setuptools 18 | path: host-python/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ChipShover® 2 | 3 | ChipShover is an XYZ table & driver, with handy Python interface. It's designed for close analysis of ICs using tools like Electromagnetic Fault Injection (EMFI), EM Probes for side-channel, and more. In both specifications and cost it falls somewhere between between 3D printers & microscope stages. 4 | 5 | ChipShover consists of the following main parts: 6 | 7 | * Physical XYZ Stage (based on stepper motors) 8 | * Interposers to mount tools onto the stage 9 | * Controller for XYZ stage (based on open-source Marlin firmware) 10 | * Python interface on computer 11 | 12 | ![](images/PS1-Assembly.jpg) 13 | 14 | ## Physical XYZ Stage 15 | 16 | The physical XYZ stage is designed for two major variants, however you can easily customize it based on tables and parts you have on-hand. These variants are presented to simplify your general choice of options. They are currently called the *medium-resolution* stage (step size of 156.25 nm, backlash/general error around 3um), and a low-resolution stage (step size of 781.25 nm, bkaclash/general error around 50-100 um). 17 | 18 | ### Medium-Resolution Stage (< 1 um) 19 | 20 | The medium-resolution stage is composed of a custom frame and motorized microscope stages. The frame is made entirely of solid machined aluminum. 21 | 22 | For easiest setup and best results. This stage is available as part of a Kit from NewAE that also includes our controller, power supply, and helpful accesories. We call it the ChipShover PS1 (Positining system 1). 23 | 24 | ### Low-Resolution Stage 25 | 26 | The low-resolution stage uses a CNC frame fairly widely available on AliExpress and similar. With this version you must buy the stage yourself - the size and lowish cost ($500) of the stage makes it not worth carrying for NewAE! The cost is significantly lower, with more hassle in the purchasing process and somewhat lower resolution and specifications on the resulting table. 27 | 28 | ## Interposers 29 | 30 | The XYZ stage is designed to fit a variety of tools using a 50x50mm bolt pattern. Currently, this has the following interposers: 31 | 32 | * ChipSHOUTER® holder. 33 | * Pen-Style EM probe holder. 34 | 35 | The ChipSHOUTER mounting hardware is included in the PS1 kit, otherwise these interposers can be 3D printed or machined from files in the repo. 36 | 37 | ## Controllers 38 | 39 | The controller is based on 3D printer controllers which have extensive community resources behind their hardware and firmware. The ChipShover controller is specifically based on the Arduino DUE, which uses a Microchip SAM3X (we use the similar SAM3U in many of our products already which was our reasoning). 40 | 41 | The firmware is open-source and is a [build of Marlin2 with a custom board type](https://github.com/newaetech/ChipSHOVER-Marlin). The board is designed to be the ChipShover-One ($1300 for enclosed & tested unit, lower-cost version planned around ~$350). Other boards such as the [Archim2](https://ultimachine.com/products/archim2) are possible with some limitations (approx $180 for board + some cables needed). 42 | 43 | ### ChipShover-One 44 | 45 | ![](controller-hardware/chipshover-one/images/beta/cs-one-mainunit.jpg) 46 | 47 | The ChipShover-One is our own stepper controller. While there are hundreds of already existing controllers out there, we figured why not make it interesting with our own take? Several feature relevant to the ChipShover usage that are not widely available in existing 3D printer driver boards were specifically added: 48 | 49 | * 3 endstop inputs per axis (2 endstops, 1 higher-resolution home). 50 | * Swappable driver boards to work with different tables. 51 | * Easy user API over USB (Ethernet optional). 52 | * Higher drive current (~2.4A). 53 | * Extension connectors for each axis (currently RS485 + I2C + single GPIO used for "stop" input). 54 | * Physical E-Stop button that disconnects power to motors. 55 | * User interface including colour LCD. 56 | 57 | As there are *hundreds* of low-cost open-source stepper controllers out there, the ChipShover-One hardware is not *currently* released as full OSHW. Schematics and other information *is* available for your use already. As we finish releasing this it's likely ChipShover-One will become more open. 58 | 59 | ### Archim2 60 | 61 | The Archim2 board is an open-source hardware controller board. It is [sold by UltiMachine](https://ultimachine.com/products/archim2) and can be used to make a board that is compatible with the ChipShover Python API. 62 | 63 | The primary limitation of the Archim2 is a lower default resolution (~1um) due to the lower drive current, and only being able to use the mechanical endstops for homing. In practice this solution with an Archim2 still has many advantages compared to an off the shelf 3D printer. See more details in the [Archim2 setup folder](controller-hardware/diy-with-archim2). 64 | 65 | ## Python Interface 66 | 67 | A Python interface simplifies use from existing Jupyter notebooks and similar. 68 | 69 | Here is an example usage to sweep an IC surface from (10.0, 10.0) to (12.5, 12.5) in 0.05mm steps. Also plunge the Z-axis down to touch a probe to the surface at each location (useful when probe cannot be dragged across surface safely). 70 | 71 | from chipshover import ChipShover 72 | 73 | shv = ChipShover('com3') 74 | 75 | shv.home() 76 | 77 | for x,y in shv.sweep_x_y(10, 12.5, 10, 12.5, step=0.05, z_plunge=1.5): 78 | print("At %f, %f"%(x,y)) 79 | 80 | 81 | #### Disclaimers and all that 82 | 83 | ChipSHOUTER and ChipShover are registered trademarks of NewAE Technology Inc. -------------------------------------------------------------------------------- /chipshouter_adapter/50mm_mounting_pattern/3dprinted_simple/chipshouter mount - M3 or 4-40 holding bolt.f3d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/chipshouter_adapter/50mm_mounting_pattern/3dprinted_simple/chipshouter mount - M3 or 4-40 holding bolt.f3d -------------------------------------------------------------------------------- /chipshouter_adapter/50mm_mounting_pattern/3dprinted_simple/chipshouter mount - M3 or 4-40 holding bolt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/chipshouter_adapter/50mm_mounting_pattern/3dprinted_simple/chipshouter mount - M3 or 4-40 holding bolt.png -------------------------------------------------------------------------------- /chipshouter_adapter/50mm_mounting_pattern/3dprinted_simple/chipshouter mount - M3 or 4-40 holding bolt.step: -------------------------------------------------------------------------------- 1 | ISO-10303-21; 2 | HEADER; 3 | /* Generated by software containing ST-Developer 4 | * from STEP Tools, Inc. (www.steptools.com) 5 | */ 6 | 7 | FILE_DESCRIPTION( 8 | /* description */ (''), 9 | /* implementation_level */ '2;1'); 10 | 11 | FILE_NAME( 12 | /* name */ 'chipshouter mount - M3 M4 or 4-40 holding bolt.step', 13 | /* time_stamp */ '2022-12-05T23:06:04-04:00', 14 | /* author */ (''), 15 | /* organization */ (''), 16 | /* preprocessor_version */ 'ST-DEVELOPER v19.2', 17 | /* originating_system */ 'Autodesk Translation Framework v11.17.0.187', 18 | 19 | /* authorisation */ ''); 20 | 21 | FILE_SCHEMA (('AUTOMOTIVE_DESIGN { 1 0 10303 214 3 1 1 }')); 22 | ENDSEC; 23 | 24 | DATA; 25 | #10=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#13),#1601); 26 | #11=SHAPE_REPRESENTATION_RELATIONSHIP('SRR','None',#1608,#12); 27 | #12=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#14),#1600); 28 | #13=STYLED_ITEM('',(#1617),#14); 29 | #14=MANIFOLD_SOLID_BREP('Body11',#889); 30 | #15=CONICAL_SURFACE('',#942,4.5,0.872664625997165); 31 | #16=CONICAL_SURFACE('',#945,4.5,0.872664625997165); 32 | #17=CONICAL_SURFACE('',#974,4.5,0.872664625997165); 33 | #18=CONICAL_SURFACE('',#998,4.5,0.872664625997165); 34 | #19=FACE_BOUND('',#103,.T.); 35 | #20=FACE_BOUND('',#107,.T.); 36 | #21=FACE_BOUND('',#113,.T.); 37 | #22=FACE_BOUND('',#114,.T.); 38 | #23=FACE_BOUND('',#119,.T.); 39 | #24=FACE_BOUND('',#125,.T.); 40 | #25=FACE_BOUND('',#127,.T.); 41 | #26=FACE_BOUND('',#134,.T.); 42 | #27=FACE_BOUND('',#135,.T.); 43 | #28=FACE_BOUND('',#136,.T.); 44 | #29=FACE_BOUND('',#137,.T.); 45 | #30=FACE_BOUND('',#141,.T.); 46 | #31=FACE_BOUND('',#151,.T.); 47 | #32=FACE_BOUND('',#152,.T.); 48 | #33=FACE_BOUND('',#156,.T.); 49 | #34=FACE_BOUND('',#162,.T.); 50 | #35=PLANE('',#907); 51 | #36=PLANE('',#915); 52 | #37=PLANE('',#925); 53 | #38=PLANE('',#926); 54 | #39=PLANE('',#936); 55 | #40=PLANE('',#948); 56 | #41=PLANE('',#951); 57 | #42=PLANE('',#963); 58 | #43=PLANE('',#970); 59 | #44=PLANE('',#971); 60 | #45=PLANE('',#982); 61 | #46=PLANE('',#986); 62 | #47=PLANE('',#990); 63 | #48=PLANE('',#993); 64 | #49=PLANE('',#994); 65 | #50=PLANE('',#1000); 66 | #51=PLANE('',#1001); 67 | #52=PLANE('',#1002); 68 | #53=FACE_OUTER_BOUND('',#101,.T.); 69 | #54=FACE_OUTER_BOUND('',#102,.T.); 70 | #55=FACE_OUTER_BOUND('',#104,.T.); 71 | #56=FACE_OUTER_BOUND('',#105,.T.); 72 | #57=FACE_OUTER_BOUND('',#106,.T.); 73 | #58=FACE_OUTER_BOUND('',#108,.T.); 74 | #59=FACE_OUTER_BOUND('',#109,.T.); 75 | #60=FACE_OUTER_BOUND('',#110,.T.); 76 | #61=FACE_OUTER_BOUND('',#111,.T.); 77 | #62=FACE_OUTER_BOUND('',#112,.T.); 78 | #63=FACE_OUTER_BOUND('',#115,.T.); 79 | #64=FACE_OUTER_BOUND('',#116,.T.); 80 | #65=FACE_OUTER_BOUND('',#117,.T.); 81 | #66=FACE_OUTER_BOUND('',#118,.T.); 82 | #67=FACE_OUTER_BOUND('',#120,.T.); 83 | #68=FACE_OUTER_BOUND('',#121,.T.); 84 | #69=FACE_OUTER_BOUND('',#122,.T.); 85 | #70=FACE_OUTER_BOUND('',#123,.T.); 86 | #71=FACE_OUTER_BOUND('',#124,.T.); 87 | #72=FACE_OUTER_BOUND('',#126,.T.); 88 | #73=FACE_OUTER_BOUND('',#128,.T.); 89 | #74=FACE_OUTER_BOUND('',#129,.T.); 90 | #75=FACE_OUTER_BOUND('',#130,.T.); 91 | #76=FACE_OUTER_BOUND('',#131,.T.); 92 | #77=FACE_OUTER_BOUND('',#132,.T.); 93 | #78=FACE_OUTER_BOUND('',#133,.T.); 94 | #79=FACE_OUTER_BOUND('',#138,.T.); 95 | #80=FACE_OUTER_BOUND('',#139,.T.); 96 | #81=FACE_OUTER_BOUND('',#140,.T.); 97 | #82=FACE_OUTER_BOUND('',#142,.T.); 98 | #83=FACE_OUTER_BOUND('',#143,.T.); 99 | #84=FACE_OUTER_BOUND('',#144,.T.); 100 | #85=FACE_OUTER_BOUND('',#145,.T.); 101 | #86=FACE_OUTER_BOUND('',#146,.T.); 102 | #87=FACE_OUTER_BOUND('',#147,.T.); 103 | #88=FACE_OUTER_BOUND('',#148,.T.); 104 | #89=FACE_OUTER_BOUND('',#149,.T.); 105 | #90=FACE_OUTER_BOUND('',#150,.T.); 106 | #91=FACE_OUTER_BOUND('',#153,.T.); 107 | #92=FACE_OUTER_BOUND('',#154,.T.); 108 | #93=FACE_OUTER_BOUND('',#155,.T.); 109 | #94=FACE_OUTER_BOUND('',#157,.T.); 110 | #95=FACE_OUTER_BOUND('',#158,.T.); 111 | #96=FACE_OUTER_BOUND('',#159,.T.); 112 | #97=FACE_OUTER_BOUND('',#160,.T.); 113 | #98=FACE_OUTER_BOUND('',#161,.T.); 114 | #99=FACE_OUTER_BOUND('',#163,.T.); 115 | #100=FACE_OUTER_BOUND('',#164,.T.); 116 | #101=EDGE_LOOP('',(#563,#564,#565,#566,#567,#568,#569)); 117 | #102=EDGE_LOOP('',(#570)); 118 | #103=EDGE_LOOP('',(#571)); 119 | #104=EDGE_LOOP('',(#572,#573,#574,#575)); 120 | #105=EDGE_LOOP('',(#576,#577,#578,#579)); 121 | #106=EDGE_LOOP('',(#580)); 122 | #107=EDGE_LOOP('',(#581)); 123 | #108=EDGE_LOOP('',(#582,#583,#584,#585)); 124 | #109=EDGE_LOOP('',(#586,#587,#588,#589)); 125 | #110=EDGE_LOOP('',(#590,#591,#592,#593)); 126 | #111=EDGE_LOOP('',(#594,#595,#596,#597)); 127 | #112=EDGE_LOOP('',(#598,#599,#600,#601)); 128 | #113=EDGE_LOOP('',(#602)); 129 | #114=EDGE_LOOP('',(#603)); 130 | #115=EDGE_LOOP('',(#604,#605,#606,#607,#608,#609)); 131 | #116=EDGE_LOOP('',(#610,#611,#612,#613,#614,#615,#616)); 132 | #117=EDGE_LOOP('',(#617,#618,#619,#620)); 133 | #118=EDGE_LOOP('',(#621)); 134 | #119=EDGE_LOOP('',(#622)); 135 | #120=EDGE_LOOP('',(#623,#624,#625,#626)); 136 | #121=EDGE_LOOP('',(#627,#628,#629,#630,#631,#632)); 137 | #122=EDGE_LOOP('',(#633,#634,#635,#636)); 138 | #123=EDGE_LOOP('',(#637,#638,#639,#640,#641,#642)); 139 | #124=EDGE_LOOP('',(#643)); 140 | #125=EDGE_LOOP('',(#644)); 141 | #126=EDGE_LOOP('',(#645,#646,#647,#648)); 142 | #127=EDGE_LOOP('',(#649)); 143 | #128=EDGE_LOOP('',(#650,#651,#652,#653)); 144 | #129=EDGE_LOOP('',(#654,#655,#656,#657)); 145 | #130=EDGE_LOOP('',(#658,#659,#660,#661)); 146 | #131=EDGE_LOOP('',(#662,#663,#664,#665)); 147 | #132=EDGE_LOOP('',(#666,#667,#668,#669)); 148 | #133=EDGE_LOOP('',(#670,#671,#672,#673,#674,#675,#676,#677)); 149 | #134=EDGE_LOOP('',(#678)); 150 | #135=EDGE_LOOP('',(#679)); 151 | #136=EDGE_LOOP('',(#680)); 152 | #137=EDGE_LOOP('',(#681)); 153 | #138=EDGE_LOOP('',(#682,#683,#684,#685)); 154 | #139=EDGE_LOOP('',(#686,#687,#688,#689,#690,#691,#692,#693,#694,#695)); 155 | #140=EDGE_LOOP('',(#696,#697,#698,#699)); 156 | #141=EDGE_LOOP('',(#700)); 157 | #142=EDGE_LOOP('',(#701,#702,#703,#704)); 158 | #143=EDGE_LOOP('',(#705,#706,#707,#708,#709,#710)); 159 | #144=EDGE_LOOP('',(#711,#712,#713,#714)); 160 | #145=EDGE_LOOP('',(#715,#716,#717,#718)); 161 | #146=EDGE_LOOP('',(#719,#720,#721,#722,#723,#724,#725,#726,#727,#728,#729, 162 | #730,#731)); 163 | #147=EDGE_LOOP('',(#732,#733,#734,#735)); 164 | #148=EDGE_LOOP('',(#736,#737,#738,#739,#740,#741,#742,#743,#744,#745)); 165 | #149=EDGE_LOOP('',(#746,#747,#748,#749)); 166 | #150=EDGE_LOOP('',(#750,#751,#752,#753)); 167 | #151=EDGE_LOOP('',(#754)); 168 | #152=EDGE_LOOP('',(#755)); 169 | #153=EDGE_LOOP('',(#756,#757,#758,#759)); 170 | #154=EDGE_LOOP('',(#760,#761,#762,#763,#764,#765,#766,#767,#768,#769)); 171 | #155=EDGE_LOOP('',(#770,#771,#772,#773)); 172 | #156=EDGE_LOOP('',(#774)); 173 | #157=EDGE_LOOP('',(#775,#776,#777,#778,#779,#780,#781)); 174 | #158=EDGE_LOOP('',(#782,#783,#784,#785)); 175 | #159=EDGE_LOOP('',(#786,#787,#788,#789,#790,#791)); 176 | #160=EDGE_LOOP('',(#792,#793,#794,#795)); 177 | #161=EDGE_LOOP('',(#796,#797,#798,#799)); 178 | #162=EDGE_LOOP('',(#800)); 179 | #163=EDGE_LOOP('',(#801,#802,#803,#804,#805,#806,#807,#808,#809,#810)); 180 | #164=EDGE_LOOP('',(#811,#812,#813,#814)); 181 | #165=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1281,#1282,#1283,#1284,#1285,#1286, 182 | #1287,#1288,#1289,#1290),.UNSPECIFIED.,.F.,.F.,(4,2,2,2,4),(0.,0.156270232290428, 183 | 0.312540464580855,0.465245923870294,0.617951383159734),.UNSPECIFIED.); 184 | #166=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1295,#1296,#1297,#1298,#1299,#1300, 185 | #1301,#1302,#1303,#1304),.UNSPECIFIED.,.F.,.F.,(4,2,2,2,4),(1.90537963932703, 186 | 2.05808509861647,2.21079055790591,2.36706079019634,2.52333102248677), 187 | .UNSPECIFIED.); 188 | #167=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1363,#1364,#1365,#1366,#1367,#1368, 189 | #1369,#1370,#1371,#1372),.UNSPECIFIED.,.F.,.F.,(4,2,2,2,4),(0.,0.156365982480933, 190 | 0.312731964961866,0.46563262605472,0.618533284972305),.UNSPECIFIED.); 191 | #168=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1375,#1376,#1377,#1378,#1379,#1380, 192 | #1381,#1382,#1383,#1384),.UNSPECIFIED.,.F.,.F.,(4,2,2,2,4),(1.90289903096631, 193 | 2.05579969142028,2.20870035251313,2.36506633499406,2.521432317475), 194 | .UNSPECIFIED.); 195 | #169=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1387,#1388,#1389,#1390,#1391,#1392, 196 | #1393,#1394,#1395,#1396),.UNSPECIFIED.,.F.,.F.,(4,2,2,2,4),(0.,0.156372949612578, 197 | 0.312745899225156,0.465660906572975,0.618575913920795),.UNSPECIFIED.); 198 | #170=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1402,#1403,#1404,#1405,#1406,#1407, 199 | #1408,#1409,#1410,#1411),.UNSPECIFIED.,.F.,.F.,(4,2,2,2,4),(-0.618575913920795, 200 | -0.465660906572975,-0.312745899225156,-0.156372949612578,0.), 201 | .UNSPECIFIED.); 202 | #171=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1514,#1515,#1516,#1517,#1518,#1519, 203 | #1520,#1521,#1522,#1523),.UNSPECIFIED.,.F.,.F.,(4,2,2,2,4),(1.90429108190021, 204 | 2.05708193738947,2.20987279287874,2.36618514073621,2.52249748859369), 205 | .UNSPECIFIED.); 206 | #172=B_SPLINE_CURVE_WITH_KNOTS('',3,(#1577,#1578,#1579,#1580,#1581,#1582, 207 | #1583,#1584,#1585,#1586),.UNSPECIFIED.,.F.,.F.,(4,2,2,2,4),(0.,0.156312347857476, 208 | 0.312624695714952,0.465415551204216,0.61820640669348),.UNSPECIFIED.); 209 | #173=CIRCLE('',#904,6.); 210 | #174=CIRCLE('',#905,6.); 211 | #175=CIRCLE('',#906,6.); 212 | #176=CIRCLE('',#908,3.); 213 | #177=CIRCLE('',#909,1.3843); 214 | #178=CIRCLE('',#911,3.); 215 | #179=CIRCLE('',#912,3.); 216 | #180=CIRCLE('',#914,3.); 217 | #181=CIRCLE('',#916,1.3843); 218 | #182=CIRCLE('',#918,1.3843); 219 | #183=CIRCLE('',#920,3.); 220 | #184=CIRCLE('',#921,3.); 221 | #185=CIRCLE('',#923,3.); 222 | #186=CIRCLE('',#924,3.); 223 | #187=CIRCLE('',#928,6.); 224 | #188=CIRCLE('',#929,6.); 225 | #189=CIRCLE('',#931,6.); 226 | #190=CIRCLE('',#932,6.); 227 | #191=CIRCLE('',#933,6.); 228 | #192=CIRCLE('',#935,1.3843); 229 | #193=CIRCLE('',#937,3.); 230 | #194=CIRCLE('',#938,1.3843); 231 | #195=CIRCLE('',#940,3.); 232 | #196=CIRCLE('',#941,3.); 233 | #197=CIRCLE('',#943,6.); 234 | #198=CIRCLE('',#946,6.); 235 | #199=CIRCLE('',#947,6.); 236 | #200=CIRCLE('',#949,3.); 237 | #201=CIRCLE('',#950,1.3843); 238 | #202=CIRCLE('',#953,5.); 239 | #203=CIRCLE('',#954,5.); 240 | #204=CIRCLE('',#956,4.); 241 | #205=CIRCLE('',#958,3.); 242 | #206=CIRCLE('',#960,3.); 243 | #207=CIRCLE('',#962,4.); 244 | #208=CIRCLE('',#964,5.); 245 | #209=CIRCLE('',#965,5.); 246 | #210=CIRCLE('',#966,5.); 247 | #211=CIRCLE('',#967,3.); 248 | #212=CIRCLE('',#969,5.); 249 | #213=CIRCLE('',#973,1.3843); 250 | #214=CIRCLE('',#975,6.); 251 | #215=CIRCLE('',#976,6.); 252 | #216=CIRCLE('',#977,6.); 253 | #217=CIRCLE('',#979,4.); 254 | #218=CIRCLE('',#981,3.); 255 | #219=CIRCLE('',#983,6.); 256 | #220=CIRCLE('',#985,1.3843); 257 | #221=CIRCLE('',#987,4.); 258 | #222=CIRCLE('',#989,5.); 259 | #223=CIRCLE('',#992,5.); 260 | #224=CIRCLE('',#996,6.); 261 | #225=LINE('',#1275,#291); 262 | #226=LINE('',#1279,#292); 263 | #227=LINE('',#1314,#293); 264 | #228=LINE('',#1319,#294); 265 | #229=LINE('',#1325,#295); 266 | #230=LINE('',#1331,#296); 267 | #231=LINE('',#1337,#297); 268 | #232=LINE('',#1342,#298); 269 | #233=LINE('',#1344,#299); 270 | #234=LINE('',#1346,#300); 271 | #235=LINE('',#1347,#301); 272 | #236=LINE('',#1351,#302); 273 | #237=LINE('',#1353,#303); 274 | #238=LINE('',#1355,#304); 275 | #239=LINE('',#1356,#305); 276 | #240=LINE('',#1360,#306); 277 | #241=LINE('',#1400,#307); 278 | #242=LINE('',#1417,#308); 279 | #243=LINE('',#1428,#309); 280 | #244=LINE('',#1431,#310); 281 | #245=LINE('',#1434,#311); 282 | #246=LINE('',#1438,#312); 283 | #247=LINE('',#1447,#313); 284 | #248=LINE('',#1449,#314); 285 | #249=LINE('',#1450,#315); 286 | #250=LINE('',#1455,#316); 287 | #251=LINE('',#1459,#317); 288 | #252=LINE('',#1464,#318); 289 | #253=LINE('',#1468,#319); 290 | #254=LINE('',#1471,#320); 291 | #255=LINE('',#1474,#321); 292 | #256=LINE('',#1477,#322); 293 | #257=LINE('',#1481,#323); 294 | #258=LINE('',#1485,#324); 295 | #259=LINE('',#1491,#325); 296 | #260=LINE('',#1494,#326); 297 | #261=LINE('',#1496,#327); 298 | #262=LINE('',#1497,#328); 299 | #263=LINE('',#1499,#329); 300 | #264=LINE('',#1502,#330); 301 | #265=LINE('',#1508,#331); 302 | #266=LINE('',#1525,#332); 303 | #267=LINE('',#1528,#333); 304 | #268=LINE('',#1532,#334); 305 | #269=LINE('',#1535,#335); 306 | #270=LINE('',#1536,#336); 307 | #271=LINE('',#1537,#337); 308 | #272=LINE('',#1539,#338); 309 | #273=LINE('',#1542,#339); 310 | #274=LINE('',#1548,#340); 311 | #275=LINE('',#1550,#341); 312 | #276=LINE('',#1551,#342); 313 | #277=LINE('',#1555,#343); 314 | #278=LINE('',#1558,#344); 315 | #279=LINE('',#1559,#345); 316 | #280=LINE('',#1563,#346); 317 | #281=LINE('',#1566,#347); 318 | #282=LINE('',#1567,#348); 319 | #283=LINE('',#1570,#349); 320 | #284=LINE('',#1571,#350); 321 | #285=LINE('',#1576,#351); 322 | #286=LINE('',#1588,#352); 323 | #287=LINE('',#1590,#353); 324 | #288=LINE('',#1592,#354); 325 | #289=LINE('',#1594,#355); 326 | #290=LINE('',#1596,#356); 327 | #291=VECTOR('',#1007,10.); 328 | #292=VECTOR('',#1010,10.); 329 | #293=VECTOR('',#1025,3.); 330 | #294=VECTOR('',#1032,3.); 331 | #295=VECTOR('',#1039,1.7526); 332 | #296=VECTOR('',#1046,3.); 333 | #297=VECTOR('',#1053,3.); 334 | #298=VECTOR('',#1058,10.); 335 | #299=VECTOR('',#1059,10.); 336 | #300=VECTOR('',#1060,10.); 337 | #301=VECTOR('',#1061,10.); 338 | #302=VECTOR('',#1064,10.); 339 | #303=VECTOR('',#1065,10.); 340 | #304=VECTOR('',#1066,10.); 341 | #305=VECTOR('',#1067,10.); 342 | #306=VECTOR('',#1070,10.); 343 | #307=VECTOR('',#1079,10.); 344 | #308=VECTOR('',#1086,1.7526); 345 | #309=VECTOR('',#1099,3.); 346 | #310=VECTOR('',#1104,4.5); 347 | #311=VECTOR('',#1109,10.); 348 | #312=VECTOR('',#1114,4.5); 349 | #313=VECTOR('',#1125,10.); 350 | #314=VECTOR('',#1126,10.); 351 | #315=VECTOR('',#1127,10.); 352 | #316=VECTOR('',#1132,10.); 353 | #317=VECTOR('',#1137,10.); 354 | #318=VECTOR('',#1144,3.); 355 | #319=VECTOR('',#1149,3.); 356 | #320=VECTOR('',#1152,10.); 357 | #321=VECTOR('',#1155,10.); 358 | #322=VECTOR('',#1158,10.); 359 | #323=VECTOR('',#1161,10.); 360 | #324=VECTOR('',#1164,10.); 361 | #325=VECTOR('',#1171,10.); 362 | #326=VECTOR('',#1176,10.); 363 | #327=VECTOR('',#1177,10.); 364 | #328=VECTOR('',#1178,10.); 365 | #329=VECTOR('',#1181,10.); 366 | #330=VECTOR('',#1184,1.7526); 367 | #331=VECTOR('',#1191,4.5); 368 | #332=VECTOR('',#1198,10.); 369 | #333=VECTOR('',#1201,10.); 370 | #334=VECTOR('',#1206,3.); 371 | #335=VECTOR('',#1209,10.); 372 | #336=VECTOR('',#1210,10.); 373 | #337=VECTOR('',#1211,10.); 374 | #338=VECTOR('',#1214,10.); 375 | #339=VECTOR('',#1217,1.7526); 376 | #340=VECTOR('',#1224,10.); 377 | #341=VECTOR('',#1225,10.); 378 | #342=VECTOR('',#1226,10.); 379 | #343=VECTOR('',#1231,10.); 380 | #344=VECTOR('',#1234,10.); 381 | #345=VECTOR('',#1235,10.); 382 | #346=VECTOR('',#1240,10.); 383 | #347=VECTOR('',#1243,10.); 384 | #348=VECTOR('',#1244,10.); 385 | #349=VECTOR('',#1247,10.); 386 | #350=VECTOR('',#1248,10.); 387 | #351=VECTOR('',#1253,10.); 388 | #352=VECTOR('',#1256,10.); 389 | #353=VECTOR('',#1259,4.5); 390 | #354=VECTOR('',#1262,10.); 391 | #355=VECTOR('',#1265,10.); 392 | #356=VECTOR('',#1268,10.); 393 | #357=VERTEX_POINT('',#1273); 394 | #358=VERTEX_POINT('',#1274); 395 | #359=VERTEX_POINT('',#1276); 396 | #360=VERTEX_POINT('',#1278); 397 | #361=VERTEX_POINT('',#1280); 398 | #362=VERTEX_POINT('',#1291); 399 | #363=VERTEX_POINT('',#1293); 400 | #364=VERTEX_POINT('',#1306); 401 | #365=VERTEX_POINT('',#1308); 402 | #366=VERTEX_POINT('',#1311); 403 | #367=VERTEX_POINT('',#1313); 404 | #368=VERTEX_POINT('',#1317); 405 | #369=VERTEX_POINT('',#1321); 406 | #370=VERTEX_POINT('',#1324); 407 | #371=VERTEX_POINT('',#1328); 408 | #372=VERTEX_POINT('',#1330); 409 | #373=VERTEX_POINT('',#1334); 410 | #374=VERTEX_POINT('',#1336); 411 | #375=VERTEX_POINT('',#1340); 412 | #376=VERTEX_POINT('',#1341); 413 | #377=VERTEX_POINT('',#1343); 414 | #378=VERTEX_POINT('',#1345); 415 | #379=VERTEX_POINT('',#1349); 416 | #380=VERTEX_POINT('',#1350); 417 | #381=VERTEX_POINT('',#1352); 418 | #382=VERTEX_POINT('',#1354); 419 | #383=VERTEX_POINT('',#1358); 420 | #384=VERTEX_POINT('',#1359); 421 | #385=VERTEX_POINT('',#1362); 422 | #386=VERTEX_POINT('',#1373); 423 | #387=VERTEX_POINT('',#1386); 424 | #388=VERTEX_POINT('',#1397); 425 | #389=VERTEX_POINT('',#1399); 426 | #390=VERTEX_POINT('',#1401); 427 | #391=VERTEX_POINT('',#1412); 428 | #392=VERTEX_POINT('',#1416); 429 | #393=VERTEX_POINT('',#1420); 430 | #394=VERTEX_POINT('',#1422); 431 | #395=VERTEX_POINT('',#1425); 432 | #396=VERTEX_POINT('',#1427); 433 | #397=VERTEX_POINT('',#1436); 434 | #398=VERTEX_POINT('',#1441); 435 | #399=VERTEX_POINT('',#1443); 436 | #400=VERTEX_POINT('',#1446); 437 | #401=VERTEX_POINT('',#1448); 438 | #402=VERTEX_POINT('',#1452); 439 | #403=VERTEX_POINT('',#1454); 440 | #404=VERTEX_POINT('',#1458); 441 | #405=VERTEX_POINT('',#1462); 442 | #406=VERTEX_POINT('',#1466); 443 | #407=VERTEX_POINT('',#1470); 444 | #408=VERTEX_POINT('',#1472); 445 | #409=VERTEX_POINT('',#1476); 446 | #410=VERTEX_POINT('',#1478); 447 | #411=VERTEX_POINT('',#1480); 448 | #412=VERTEX_POINT('',#1482); 449 | #413=VERTEX_POINT('',#1484); 450 | #414=VERTEX_POINT('',#1487); 451 | #415=VERTEX_POINT('',#1490); 452 | #416=VERTEX_POINT('',#1495); 453 | #417=VERTEX_POINT('',#1501); 454 | #418=VERTEX_POINT('',#1505); 455 | #419=VERTEX_POINT('',#1506); 456 | #420=VERTEX_POINT('',#1509); 457 | #421=VERTEX_POINT('',#1513); 458 | #422=VERTEX_POINT('',#1524); 459 | #423=VERTEX_POINT('',#1526); 460 | #424=VERTEX_POINT('',#1530); 461 | #425=VERTEX_POINT('',#1534); 462 | #426=VERTEX_POINT('',#1541); 463 | #427=VERTEX_POINT('',#1545); 464 | #428=VERTEX_POINT('',#1547); 465 | #429=VERTEX_POINT('',#1549); 466 | #430=VERTEX_POINT('',#1553); 467 | #431=VERTEX_POINT('',#1557); 468 | #432=VERTEX_POINT('',#1561); 469 | #433=VERTEX_POINT('',#1565); 470 | #434=VERTEX_POINT('',#1569); 471 | #435=VERTEX_POINT('',#1573); 472 | #436=VERTEX_POINT('',#1575); 473 | #437=EDGE_CURVE('',#357,#358,#225,.T.); 474 | #438=EDGE_CURVE('',#359,#357,#173,.F.); 475 | #439=EDGE_CURVE('',#360,#359,#226,.T.); 476 | #440=EDGE_CURVE('',#361,#360,#165,.F.); 477 | #441=EDGE_CURVE('',#362,#361,#174,.T.); 478 | #442=EDGE_CURVE('',#363,#362,#175,.T.); 479 | #443=EDGE_CURVE('',#358,#363,#166,.F.); 480 | #444=EDGE_CURVE('',#364,#364,#176,.T.); 481 | #445=EDGE_CURVE('',#365,#365,#177,.T.); 482 | #446=EDGE_CURVE('',#366,#366,#178,.T.); 483 | #447=EDGE_CURVE('',#366,#367,#227,.T.); 484 | #448=EDGE_CURVE('',#367,#367,#179,.T.); 485 | #449=EDGE_CURVE('',#368,#368,#180,.T.); 486 | #450=EDGE_CURVE('',#368,#364,#228,.T.); 487 | #451=EDGE_CURVE('',#369,#369,#181,.F.); 488 | #452=EDGE_CURVE('',#365,#370,#229,.T.); 489 | #453=EDGE_CURVE('',#370,#370,#182,.T.); 490 | #454=EDGE_CURVE('',#371,#371,#183,.T.); 491 | #455=EDGE_CURVE('',#371,#372,#230,.T.); 492 | #456=EDGE_CURVE('',#372,#372,#184,.T.); 493 | #457=EDGE_CURVE('',#373,#373,#185,.T.); 494 | #458=EDGE_CURVE('',#373,#374,#231,.T.); 495 | #459=EDGE_CURVE('',#374,#374,#186,.T.); 496 | #460=EDGE_CURVE('',#375,#376,#232,.T.); 497 | #461=EDGE_CURVE('',#376,#377,#233,.F.); 498 | #462=EDGE_CURVE('',#377,#378,#234,.T.); 499 | #463=EDGE_CURVE('',#375,#378,#235,.T.); 500 | #464=EDGE_CURVE('',#379,#380,#236,.T.); 501 | #465=EDGE_CURVE('',#381,#379,#237,.T.); 502 | #466=EDGE_CURVE('',#381,#382,#238,.T.); 503 | #467=EDGE_CURVE('',#380,#382,#239,.T.); 504 | #468=EDGE_CURVE('',#383,#384,#240,.T.); 505 | #469=EDGE_CURVE('',#376,#383,#187,.F.); 506 | #470=EDGE_CURVE('',#385,#375,#167,.F.); 507 | #471=EDGE_CURVE('',#386,#385,#188,.T.); 508 | #472=EDGE_CURVE('',#384,#386,#168,.F.); 509 | #473=EDGE_CURVE('',#378,#387,#169,.T.); 510 | #474=EDGE_CURVE('',#388,#377,#189,.F.); 511 | #475=EDGE_CURVE('',#389,#388,#241,.T.); 512 | #476=EDGE_CURVE('',#390,#389,#170,.T.); 513 | #477=EDGE_CURVE('',#391,#390,#190,.T.); 514 | #478=EDGE_CURVE('',#387,#391,#191,.T.); 515 | #479=EDGE_CURVE('',#369,#392,#242,.T.); 516 | #480=EDGE_CURVE('',#392,#392,#192,.T.); 517 | #481=EDGE_CURVE('',#393,#393,#193,.T.); 518 | #482=EDGE_CURVE('',#394,#394,#194,.T.); 519 | #483=EDGE_CURVE('',#395,#395,#195,.T.); 520 | #484=EDGE_CURVE('',#395,#396,#243,.T.); 521 | #485=EDGE_CURVE('',#396,#396,#196,.T.); 522 | #486=EDGE_CURVE('',#391,#371,#244,.T.); 523 | #487=EDGE_CURVE('',#387,#390,#197,.T.); 524 | #488=EDGE_CURVE('',#387,#385,#245,.T.); 525 | #489=EDGE_CURVE('',#397,#385,#198,.T.); 526 | #490=EDGE_CURVE('',#397,#373,#246,.T.); 527 | #491=EDGE_CURVE('',#386,#397,#199,.T.); 528 | #492=EDGE_CURVE('',#398,#398,#200,.T.); 529 | #493=EDGE_CURVE('',#399,#399,#201,.F.); 530 | #494=EDGE_CURVE('',#400,#384,#247,.T.); 531 | #495=EDGE_CURVE('',#401,#400,#248,.T.); 532 | #496=EDGE_CURVE('',#401,#383,#249,.F.); 533 | #497=EDGE_CURVE('',#379,#402,#202,.F.); 534 | #498=EDGE_CURVE('',#402,#403,#250,.T.); 535 | #499=EDGE_CURVE('',#403,#381,#203,.T.); 536 | #500=EDGE_CURVE('',#404,#386,#251,.T.); 537 | #501=EDGE_CURVE('',#404,#400,#204,.T.); 538 | #502=EDGE_CURVE('',#405,#405,#205,.T.); 539 | #503=EDGE_CURVE('',#405,#398,#252,.T.); 540 | #504=EDGE_CURVE('',#406,#406,#206,.T.); 541 | #505=EDGE_CURVE('',#406,#393,#253,.T.); 542 | #506=EDGE_CURVE('',#389,#407,#254,.T.); 543 | #507=EDGE_CURVE('',#407,#408,#207,.F.); 544 | #508=EDGE_CURVE('',#390,#408,#255,.T.); 545 | #509=EDGE_CURVE('',#403,#409,#256,.T.); 546 | #510=EDGE_CURVE('',#410,#409,#208,.T.); 547 | #511=EDGE_CURVE('',#410,#411,#257,.T.); 548 | #512=EDGE_CURVE('',#412,#411,#209,.T.); 549 | #513=EDGE_CURVE('',#413,#412,#258,.T.); 550 | #514=EDGE_CURVE('',#382,#413,#210,.T.); 551 | #515=EDGE_CURVE('',#414,#414,#211,.T.); 552 | #516=EDGE_CURVE('',#413,#415,#259,.T.); 553 | #517=EDGE_CURVE('',#415,#380,#212,.F.); 554 | #518=EDGE_CURVE('',#402,#401,#260,.T.); 555 | #519=EDGE_CURVE('',#416,#415,#261,.F.); 556 | #520=EDGE_CURVE('',#388,#416,#262,.F.); 557 | #521=EDGE_CURVE('',#407,#416,#263,.F.); 558 | #522=EDGE_CURVE('',#394,#417,#264,.T.); 559 | #523=EDGE_CURVE('',#417,#417,#213,.T.); 560 | #524=EDGE_CURVE('',#418,#419,#214,.T.); 561 | #525=EDGE_CURVE('',#419,#395,#265,.T.); 562 | #526=EDGE_CURVE('',#419,#420,#215,.T.); 563 | #527=EDGE_CURVE('',#418,#420,#216,.T.); 564 | #528=EDGE_CURVE('',#421,#418,#171,.F.); 565 | #529=EDGE_CURVE('',#422,#418,#266,.T.); 566 | #530=EDGE_CURVE('',#422,#423,#217,.F.); 567 | #531=EDGE_CURVE('',#423,#421,#267,.T.); 568 | #532=EDGE_CURVE('',#424,#424,#218,.T.); 569 | #533=EDGE_CURVE('',#424,#414,#268,.T.); 570 | #534=EDGE_CURVE('',#404,#425,#269,.T.); 571 | #535=EDGE_CURVE('',#422,#408,#270,.T.); 572 | #536=EDGE_CURVE('',#363,#420,#271,.T.); 573 | #537=EDGE_CURVE('',#363,#361,#219,.T.); 574 | #538=EDGE_CURVE('',#361,#425,#272,.T.); 575 | #539=EDGE_CURVE('',#399,#426,#273,.T.); 576 | #540=EDGE_CURVE('',#426,#426,#220,.T.); 577 | #541=EDGE_CURVE('',#427,#425,#221,.T.); 578 | #542=EDGE_CURVE('',#428,#427,#274,.F.); 579 | #543=EDGE_CURVE('',#429,#428,#275,.F.); 580 | #544=EDGE_CURVE('',#409,#429,#276,.T.); 581 | #545=EDGE_CURVE('',#429,#430,#222,.F.); 582 | #546=EDGE_CURVE('',#430,#410,#277,.T.); 583 | #547=EDGE_CURVE('',#430,#431,#278,.F.); 584 | #548=EDGE_CURVE('',#411,#431,#279,.T.); 585 | #549=EDGE_CURVE('',#431,#432,#223,.F.); 586 | #550=EDGE_CURVE('',#432,#412,#280,.T.); 587 | #551=EDGE_CURVE('',#432,#433,#281,.F.); 588 | #552=EDGE_CURVE('',#433,#423,#282,.F.); 589 | #553=EDGE_CURVE('',#434,#421,#283,.T.); 590 | #554=EDGE_CURVE('',#434,#433,#284,.T.); 591 | #555=EDGE_CURVE('',#435,#434,#224,.F.); 592 | #556=EDGE_CURVE('',#436,#435,#285,.T.); 593 | #557=EDGE_CURVE('',#420,#436,#172,.F.); 594 | #558=EDGE_CURVE('',#436,#358,#286,.T.); 595 | #559=EDGE_CURVE('',#362,#424,#287,.T.); 596 | #560=EDGE_CURVE('',#360,#427,#288,.T.); 597 | #561=EDGE_CURVE('',#428,#359,#289,.T.); 598 | #562=EDGE_CURVE('',#357,#435,#290,.T.); 599 | #563=ORIENTED_EDGE('',*,*,#437,.F.); 600 | #564=ORIENTED_EDGE('',*,*,#438,.F.); 601 | #565=ORIENTED_EDGE('',*,*,#439,.F.); 602 | #566=ORIENTED_EDGE('',*,*,#440,.F.); 603 | #567=ORIENTED_EDGE('',*,*,#441,.F.); 604 | #568=ORIENTED_EDGE('',*,*,#442,.F.); 605 | #569=ORIENTED_EDGE('',*,*,#443,.F.); 606 | #570=ORIENTED_EDGE('',*,*,#444,.T.); 607 | #571=ORIENTED_EDGE('',*,*,#445,.F.); 608 | #572=ORIENTED_EDGE('',*,*,#446,.T.); 609 | #573=ORIENTED_EDGE('',*,*,#447,.T.); 610 | #574=ORIENTED_EDGE('',*,*,#448,.T.); 611 | #575=ORIENTED_EDGE('',*,*,#447,.F.); 612 | #576=ORIENTED_EDGE('',*,*,#449,.T.); 613 | #577=ORIENTED_EDGE('',*,*,#450,.T.); 614 | #578=ORIENTED_EDGE('',*,*,#444,.F.); 615 | #579=ORIENTED_EDGE('',*,*,#450,.F.); 616 | #580=ORIENTED_EDGE('',*,*,#448,.F.); 617 | #581=ORIENTED_EDGE('',*,*,#451,.T.); 618 | #582=ORIENTED_EDGE('',*,*,#445,.T.); 619 | #583=ORIENTED_EDGE('',*,*,#452,.T.); 620 | #584=ORIENTED_EDGE('',*,*,#453,.F.); 621 | #585=ORIENTED_EDGE('',*,*,#452,.F.); 622 | #586=ORIENTED_EDGE('',*,*,#454,.F.); 623 | #587=ORIENTED_EDGE('',*,*,#455,.T.); 624 | #588=ORIENTED_EDGE('',*,*,#456,.F.); 625 | #589=ORIENTED_EDGE('',*,*,#455,.F.); 626 | #590=ORIENTED_EDGE('',*,*,#457,.F.); 627 | #591=ORIENTED_EDGE('',*,*,#458,.T.); 628 | #592=ORIENTED_EDGE('',*,*,#459,.F.); 629 | #593=ORIENTED_EDGE('',*,*,#458,.F.); 630 | #594=ORIENTED_EDGE('',*,*,#460,.T.); 631 | #595=ORIENTED_EDGE('',*,*,#461,.T.); 632 | #596=ORIENTED_EDGE('',*,*,#462,.T.); 633 | #597=ORIENTED_EDGE('',*,*,#463,.F.); 634 | #598=ORIENTED_EDGE('',*,*,#464,.F.); 635 | #599=ORIENTED_EDGE('',*,*,#465,.F.); 636 | #600=ORIENTED_EDGE('',*,*,#466,.T.); 637 | #601=ORIENTED_EDGE('',*,*,#467,.F.); 638 | #602=ORIENTED_EDGE('',*,*,#449,.F.); 639 | #603=ORIENTED_EDGE('',*,*,#446,.F.); 640 | #604=ORIENTED_EDGE('',*,*,#468,.F.); 641 | #605=ORIENTED_EDGE('',*,*,#469,.F.); 642 | #606=ORIENTED_EDGE('',*,*,#460,.F.); 643 | #607=ORIENTED_EDGE('',*,*,#470,.F.); 644 | #608=ORIENTED_EDGE('',*,*,#471,.F.); 645 | #609=ORIENTED_EDGE('',*,*,#472,.F.); 646 | #610=ORIENTED_EDGE('',*,*,#473,.F.); 647 | #611=ORIENTED_EDGE('',*,*,#462,.F.); 648 | #612=ORIENTED_EDGE('',*,*,#474,.F.); 649 | #613=ORIENTED_EDGE('',*,*,#475,.F.); 650 | #614=ORIENTED_EDGE('',*,*,#476,.F.); 651 | #615=ORIENTED_EDGE('',*,*,#477,.F.); 652 | #616=ORIENTED_EDGE('',*,*,#478,.F.); 653 | #617=ORIENTED_EDGE('',*,*,#451,.F.); 654 | #618=ORIENTED_EDGE('',*,*,#479,.T.); 655 | #619=ORIENTED_EDGE('',*,*,#480,.F.); 656 | #620=ORIENTED_EDGE('',*,*,#479,.F.); 657 | #621=ORIENTED_EDGE('',*,*,#481,.T.); 658 | #622=ORIENTED_EDGE('',*,*,#482,.F.); 659 | #623=ORIENTED_EDGE('',*,*,#483,.F.); 660 | #624=ORIENTED_EDGE('',*,*,#484,.T.); 661 | #625=ORIENTED_EDGE('',*,*,#485,.F.); 662 | #626=ORIENTED_EDGE('',*,*,#484,.F.); 663 | #627=ORIENTED_EDGE('',*,*,#478,.T.); 664 | #628=ORIENTED_EDGE('',*,*,#486,.T.); 665 | #629=ORIENTED_EDGE('',*,*,#454,.T.); 666 | #630=ORIENTED_EDGE('',*,*,#486,.F.); 667 | #631=ORIENTED_EDGE('',*,*,#477,.T.); 668 | #632=ORIENTED_EDGE('',*,*,#487,.F.); 669 | #633=ORIENTED_EDGE('',*,*,#463,.T.); 670 | #634=ORIENTED_EDGE('',*,*,#473,.T.); 671 | #635=ORIENTED_EDGE('',*,*,#488,.T.); 672 | #636=ORIENTED_EDGE('',*,*,#470,.T.); 673 | #637=ORIENTED_EDGE('',*,*,#471,.T.); 674 | #638=ORIENTED_EDGE('',*,*,#489,.F.); 675 | #639=ORIENTED_EDGE('',*,*,#490,.T.); 676 | #640=ORIENTED_EDGE('',*,*,#457,.T.); 677 | #641=ORIENTED_EDGE('',*,*,#490,.F.); 678 | #642=ORIENTED_EDGE('',*,*,#491,.F.); 679 | #643=ORIENTED_EDGE('',*,*,#492,.F.); 680 | #644=ORIENTED_EDGE('',*,*,#493,.T.); 681 | #645=ORIENTED_EDGE('',*,*,#468,.T.); 682 | #646=ORIENTED_EDGE('',*,*,#494,.F.); 683 | #647=ORIENTED_EDGE('',*,*,#495,.F.); 684 | #648=ORIENTED_EDGE('',*,*,#496,.T.); 685 | #649=ORIENTED_EDGE('',*,*,#453,.T.); 686 | #650=ORIENTED_EDGE('',*,*,#497,.T.); 687 | #651=ORIENTED_EDGE('',*,*,#498,.T.); 688 | #652=ORIENTED_EDGE('',*,*,#499,.T.); 689 | #653=ORIENTED_EDGE('',*,*,#465,.T.); 690 | #654=ORIENTED_EDGE('',*,*,#472,.T.); 691 | #655=ORIENTED_EDGE('',*,*,#500,.F.); 692 | #656=ORIENTED_EDGE('',*,*,#501,.T.); 693 | #657=ORIENTED_EDGE('',*,*,#494,.T.); 694 | #658=ORIENTED_EDGE('',*,*,#502,.F.); 695 | #659=ORIENTED_EDGE('',*,*,#503,.T.); 696 | #660=ORIENTED_EDGE('',*,*,#492,.T.); 697 | #661=ORIENTED_EDGE('',*,*,#503,.F.); 698 | #662=ORIENTED_EDGE('',*,*,#504,.T.); 699 | #663=ORIENTED_EDGE('',*,*,#505,.T.); 700 | #664=ORIENTED_EDGE('',*,*,#481,.F.); 701 | #665=ORIENTED_EDGE('',*,*,#505,.F.); 702 | #666=ORIENTED_EDGE('',*,*,#476,.T.); 703 | #667=ORIENTED_EDGE('',*,*,#506,.T.); 704 | #668=ORIENTED_EDGE('',*,*,#507,.T.); 705 | #669=ORIENTED_EDGE('',*,*,#508,.F.); 706 | #670=ORIENTED_EDGE('',*,*,#466,.F.); 707 | #671=ORIENTED_EDGE('',*,*,#499,.F.); 708 | #672=ORIENTED_EDGE('',*,*,#509,.T.); 709 | #673=ORIENTED_EDGE('',*,*,#510,.F.); 710 | #674=ORIENTED_EDGE('',*,*,#511,.T.); 711 | #675=ORIENTED_EDGE('',*,*,#512,.F.); 712 | #676=ORIENTED_EDGE('',*,*,#513,.F.); 713 | #677=ORIENTED_EDGE('',*,*,#514,.F.); 714 | #678=ORIENTED_EDGE('',*,*,#459,.T.); 715 | #679=ORIENTED_EDGE('',*,*,#515,.T.); 716 | #680=ORIENTED_EDGE('',*,*,#485,.T.); 717 | #681=ORIENTED_EDGE('',*,*,#456,.T.); 718 | #682=ORIENTED_EDGE('',*,*,#514,.T.); 719 | #683=ORIENTED_EDGE('',*,*,#516,.T.); 720 | #684=ORIENTED_EDGE('',*,*,#517,.T.); 721 | #685=ORIENTED_EDGE('',*,*,#467,.T.); 722 | #686=ORIENTED_EDGE('',*,*,#469,.T.); 723 | #687=ORIENTED_EDGE('',*,*,#496,.F.); 724 | #688=ORIENTED_EDGE('',*,*,#518,.F.); 725 | #689=ORIENTED_EDGE('',*,*,#497,.F.); 726 | #690=ORIENTED_EDGE('',*,*,#464,.T.); 727 | #691=ORIENTED_EDGE('',*,*,#517,.F.); 728 | #692=ORIENTED_EDGE('',*,*,#519,.F.); 729 | #693=ORIENTED_EDGE('',*,*,#520,.F.); 730 | #694=ORIENTED_EDGE('',*,*,#474,.T.); 731 | #695=ORIENTED_EDGE('',*,*,#461,.F.); 732 | #696=ORIENTED_EDGE('',*,*,#475,.T.); 733 | #697=ORIENTED_EDGE('',*,*,#520,.T.); 734 | #698=ORIENTED_EDGE('',*,*,#521,.F.); 735 | #699=ORIENTED_EDGE('',*,*,#506,.F.); 736 | #700=ORIENTED_EDGE('',*,*,#480,.T.); 737 | #701=ORIENTED_EDGE('',*,*,#482,.T.); 738 | #702=ORIENTED_EDGE('',*,*,#522,.T.); 739 | #703=ORIENTED_EDGE('',*,*,#523,.F.); 740 | #704=ORIENTED_EDGE('',*,*,#522,.F.); 741 | #705=ORIENTED_EDGE('',*,*,#524,.T.); 742 | #706=ORIENTED_EDGE('',*,*,#525,.T.); 743 | #707=ORIENTED_EDGE('',*,*,#483,.T.); 744 | #708=ORIENTED_EDGE('',*,*,#525,.F.); 745 | #709=ORIENTED_EDGE('',*,*,#526,.T.); 746 | #710=ORIENTED_EDGE('',*,*,#527,.F.); 747 | #711=ORIENTED_EDGE('',*,*,#528,.T.); 748 | #712=ORIENTED_EDGE('',*,*,#529,.F.); 749 | #713=ORIENTED_EDGE('',*,*,#530,.T.); 750 | #714=ORIENTED_EDGE('',*,*,#531,.T.); 751 | #715=ORIENTED_EDGE('',*,*,#532,.F.); 752 | #716=ORIENTED_EDGE('',*,*,#533,.T.); 753 | #717=ORIENTED_EDGE('',*,*,#515,.F.); 754 | #718=ORIENTED_EDGE('',*,*,#533,.F.); 755 | #719=ORIENTED_EDGE('',*,*,#534,.F.); 756 | #720=ORIENTED_EDGE('',*,*,#500,.T.); 757 | #721=ORIENTED_EDGE('',*,*,#491,.T.); 758 | #722=ORIENTED_EDGE('',*,*,#489,.T.); 759 | #723=ORIENTED_EDGE('',*,*,#488,.F.); 760 | #724=ORIENTED_EDGE('',*,*,#487,.T.); 761 | #725=ORIENTED_EDGE('',*,*,#508,.T.); 762 | #726=ORIENTED_EDGE('',*,*,#535,.F.); 763 | #727=ORIENTED_EDGE('',*,*,#529,.T.); 764 | #728=ORIENTED_EDGE('',*,*,#527,.T.); 765 | #729=ORIENTED_EDGE('',*,*,#536,.F.); 766 | #730=ORIENTED_EDGE('',*,*,#537,.T.); 767 | #731=ORIENTED_EDGE('',*,*,#538,.T.); 768 | #732=ORIENTED_EDGE('',*,*,#493,.F.); 769 | #733=ORIENTED_EDGE('',*,*,#539,.T.); 770 | #734=ORIENTED_EDGE('',*,*,#540,.F.); 771 | #735=ORIENTED_EDGE('',*,*,#539,.F.); 772 | #736=ORIENTED_EDGE('',*,*,#501,.F.); 773 | #737=ORIENTED_EDGE('',*,*,#534,.T.); 774 | #738=ORIENTED_EDGE('',*,*,#541,.F.); 775 | #739=ORIENTED_EDGE('',*,*,#542,.F.); 776 | #740=ORIENTED_EDGE('',*,*,#543,.F.); 777 | #741=ORIENTED_EDGE('',*,*,#544,.F.); 778 | #742=ORIENTED_EDGE('',*,*,#509,.F.); 779 | #743=ORIENTED_EDGE('',*,*,#498,.F.); 780 | #744=ORIENTED_EDGE('',*,*,#518,.T.); 781 | #745=ORIENTED_EDGE('',*,*,#495,.T.); 782 | #746=ORIENTED_EDGE('',*,*,#545,.T.); 783 | #747=ORIENTED_EDGE('',*,*,#546,.T.); 784 | #748=ORIENTED_EDGE('',*,*,#510,.T.); 785 | #749=ORIENTED_EDGE('',*,*,#544,.T.); 786 | #750=ORIENTED_EDGE('',*,*,#511,.F.); 787 | #751=ORIENTED_EDGE('',*,*,#546,.F.); 788 | #752=ORIENTED_EDGE('',*,*,#547,.T.); 789 | #753=ORIENTED_EDGE('',*,*,#548,.F.); 790 | #754=ORIENTED_EDGE('',*,*,#504,.F.); 791 | #755=ORIENTED_EDGE('',*,*,#502,.T.); 792 | #756=ORIENTED_EDGE('',*,*,#549,.T.); 793 | #757=ORIENTED_EDGE('',*,*,#550,.T.); 794 | #758=ORIENTED_EDGE('',*,*,#512,.T.); 795 | #759=ORIENTED_EDGE('',*,*,#548,.T.); 796 | #760=ORIENTED_EDGE('',*,*,#521,.T.); 797 | #761=ORIENTED_EDGE('',*,*,#519,.T.); 798 | #762=ORIENTED_EDGE('',*,*,#516,.F.); 799 | #763=ORIENTED_EDGE('',*,*,#513,.T.); 800 | #764=ORIENTED_EDGE('',*,*,#550,.F.); 801 | #765=ORIENTED_EDGE('',*,*,#551,.T.); 802 | #766=ORIENTED_EDGE('',*,*,#552,.T.); 803 | #767=ORIENTED_EDGE('',*,*,#530,.F.); 804 | #768=ORIENTED_EDGE('',*,*,#535,.T.); 805 | #769=ORIENTED_EDGE('',*,*,#507,.F.); 806 | #770=ORIENTED_EDGE('',*,*,#553,.T.); 807 | #771=ORIENTED_EDGE('',*,*,#531,.F.); 808 | #772=ORIENTED_EDGE('',*,*,#552,.F.); 809 | #773=ORIENTED_EDGE('',*,*,#554,.F.); 810 | #774=ORIENTED_EDGE('',*,*,#523,.T.); 811 | #775=ORIENTED_EDGE('',*,*,#553,.F.); 812 | #776=ORIENTED_EDGE('',*,*,#555,.F.); 813 | #777=ORIENTED_EDGE('',*,*,#556,.F.); 814 | #778=ORIENTED_EDGE('',*,*,#557,.F.); 815 | #779=ORIENTED_EDGE('',*,*,#526,.F.); 816 | #780=ORIENTED_EDGE('',*,*,#524,.F.); 817 | #781=ORIENTED_EDGE('',*,*,#528,.F.); 818 | #782=ORIENTED_EDGE('',*,*,#443,.T.); 819 | #783=ORIENTED_EDGE('',*,*,#536,.T.); 820 | #784=ORIENTED_EDGE('',*,*,#557,.T.); 821 | #785=ORIENTED_EDGE('',*,*,#558,.T.); 822 | #786=ORIENTED_EDGE('',*,*,#442,.T.); 823 | #787=ORIENTED_EDGE('',*,*,#559,.T.); 824 | #788=ORIENTED_EDGE('',*,*,#532,.T.); 825 | #789=ORIENTED_EDGE('',*,*,#559,.F.); 826 | #790=ORIENTED_EDGE('',*,*,#441,.T.); 827 | #791=ORIENTED_EDGE('',*,*,#537,.F.); 828 | #792=ORIENTED_EDGE('',*,*,#560,.T.); 829 | #793=ORIENTED_EDGE('',*,*,#541,.T.); 830 | #794=ORIENTED_EDGE('',*,*,#538,.F.); 831 | #795=ORIENTED_EDGE('',*,*,#440,.T.); 832 | #796=ORIENTED_EDGE('',*,*,#439,.T.); 833 | #797=ORIENTED_EDGE('',*,*,#561,.F.); 834 | #798=ORIENTED_EDGE('',*,*,#542,.T.); 835 | #799=ORIENTED_EDGE('',*,*,#560,.F.); 836 | #800=ORIENTED_EDGE('',*,*,#540,.T.); 837 | #801=ORIENTED_EDGE('',*,*,#438,.T.); 838 | #802=ORIENTED_EDGE('',*,*,#562,.T.); 839 | #803=ORIENTED_EDGE('',*,*,#555,.T.); 840 | #804=ORIENTED_EDGE('',*,*,#554,.T.); 841 | #805=ORIENTED_EDGE('',*,*,#551,.F.); 842 | #806=ORIENTED_EDGE('',*,*,#549,.F.); 843 | #807=ORIENTED_EDGE('',*,*,#547,.F.); 844 | #808=ORIENTED_EDGE('',*,*,#545,.F.); 845 | #809=ORIENTED_EDGE('',*,*,#543,.T.); 846 | #810=ORIENTED_EDGE('',*,*,#561,.T.); 847 | #811=ORIENTED_EDGE('',*,*,#437,.T.); 848 | #812=ORIENTED_EDGE('',*,*,#558,.F.); 849 | #813=ORIENTED_EDGE('',*,*,#556,.T.); 850 | #814=ORIENTED_EDGE('',*,*,#562,.F.); 851 | #815=CYLINDRICAL_SURFACE('',#903,6.); 852 | #816=CYLINDRICAL_SURFACE('',#910,3.); 853 | #817=CYLINDRICAL_SURFACE('',#913,3.); 854 | #818=CYLINDRICAL_SURFACE('',#917,1.3843); 855 | #819=CYLINDRICAL_SURFACE('',#919,3.); 856 | #820=CYLINDRICAL_SURFACE('',#922,3.); 857 | #821=CYLINDRICAL_SURFACE('',#927,6.); 858 | #822=CYLINDRICAL_SURFACE('',#930,6.); 859 | #823=CYLINDRICAL_SURFACE('',#934,1.3843); 860 | #824=CYLINDRICAL_SURFACE('',#939,3.); 861 | #825=CYLINDRICAL_SURFACE('',#944,4.); 862 | #826=CYLINDRICAL_SURFACE('',#952,5.); 863 | #827=CYLINDRICAL_SURFACE('',#955,4.); 864 | #828=CYLINDRICAL_SURFACE('',#957,3.); 865 | #829=CYLINDRICAL_SURFACE('',#959,3.); 866 | #830=CYLINDRICAL_SURFACE('',#961,4.); 867 | #831=CYLINDRICAL_SURFACE('',#968,5.); 868 | #832=CYLINDRICAL_SURFACE('',#972,1.3843); 869 | #833=CYLINDRICAL_SURFACE('',#978,4.); 870 | #834=CYLINDRICAL_SURFACE('',#980,3.); 871 | #835=CYLINDRICAL_SURFACE('',#984,1.3843); 872 | #836=CYLINDRICAL_SURFACE('',#988,5.); 873 | #837=CYLINDRICAL_SURFACE('',#991,5.); 874 | #838=CYLINDRICAL_SURFACE('',#995,6.); 875 | #839=CYLINDRICAL_SURFACE('',#997,4.); 876 | #840=CYLINDRICAL_SURFACE('',#999,4.); 877 | #841=ADVANCED_FACE('',(#53),#815,.F.); 878 | #842=ADVANCED_FACE('',(#54,#19),#35,.T.); 879 | #843=ADVANCED_FACE('',(#55),#816,.F.); 880 | #844=ADVANCED_FACE('',(#56),#817,.F.); 881 | #845=ADVANCED_FACE('',(#57,#20),#36,.F.); 882 | #846=ADVANCED_FACE('',(#58),#818,.F.); 883 | #847=ADVANCED_FACE('',(#59),#819,.F.); 884 | #848=ADVANCED_FACE('',(#60),#820,.F.); 885 | #849=ADVANCED_FACE('',(#61),#37,.T.); 886 | #850=ADVANCED_FACE('',(#62,#21,#22),#38,.T.); 887 | #851=ADVANCED_FACE('',(#63),#821,.F.); 888 | #852=ADVANCED_FACE('',(#64),#822,.F.); 889 | #853=ADVANCED_FACE('',(#65),#823,.F.); 890 | #854=ADVANCED_FACE('',(#66,#23),#39,.T.); 891 | #855=ADVANCED_FACE('',(#67),#824,.F.); 892 | #856=ADVANCED_FACE('',(#68),#15,.F.); 893 | #857=ADVANCED_FACE('',(#69),#825,.F.); 894 | #858=ADVANCED_FACE('',(#70),#16,.F.); 895 | #859=ADVANCED_FACE('',(#71,#24),#40,.F.); 896 | #860=ADVANCED_FACE('',(#72,#25),#41,.T.); 897 | #861=ADVANCED_FACE('',(#73),#826,.T.); 898 | #862=ADVANCED_FACE('',(#74),#827,.F.); 899 | #863=ADVANCED_FACE('',(#75),#828,.F.); 900 | #864=ADVANCED_FACE('',(#76),#829,.F.); 901 | #865=ADVANCED_FACE('',(#77),#830,.F.); 902 | #866=ADVANCED_FACE('',(#78,#26,#27,#28,#29),#42,.T.); 903 | #867=ADVANCED_FACE('',(#79),#831,.T.); 904 | #868=ADVANCED_FACE('',(#80),#43,.T.); 905 | #869=ADVANCED_FACE('',(#81,#30),#44,.T.); 906 | #870=ADVANCED_FACE('',(#82),#832,.F.); 907 | #871=ADVANCED_FACE('',(#83),#17,.F.); 908 | #872=ADVANCED_FACE('',(#84),#833,.F.); 909 | #873=ADVANCED_FACE('',(#85),#834,.F.); 910 | #874=ADVANCED_FACE('',(#86),#45,.T.); 911 | #875=ADVANCED_FACE('',(#87),#835,.F.); 912 | #876=ADVANCED_FACE('',(#88),#46,.F.); 913 | #877=ADVANCED_FACE('',(#89),#836,.T.); 914 | #878=ADVANCED_FACE('',(#90,#31,#32),#47,.T.); 915 | #879=ADVANCED_FACE('',(#91),#837,.T.); 916 | #880=ADVANCED_FACE('',(#92),#48,.T.); 917 | #881=ADVANCED_FACE('',(#93,#33),#49,.T.); 918 | #882=ADVANCED_FACE('',(#94),#838,.F.); 919 | #883=ADVANCED_FACE('',(#95),#839,.F.); 920 | #884=ADVANCED_FACE('',(#96),#18,.F.); 921 | #885=ADVANCED_FACE('',(#97),#840,.F.); 922 | #886=ADVANCED_FACE('',(#98,#34),#50,.T.); 923 | #887=ADVANCED_FACE('',(#99),#51,.T.); 924 | #888=ADVANCED_FACE('',(#100),#52,.T.); 925 | #889=CLOSED_SHELL('',(#841,#842,#843,#844,#845,#846,#847,#848,#849,#850, 926 | #851,#852,#853,#854,#855,#856,#857,#858,#859,#860,#861,#862,#863,#864,#865, 927 | #866,#867,#868,#869,#870,#871,#872,#873,#874,#875,#876,#877,#878,#879,#880, 928 | #881,#882,#883,#884,#885,#886,#887,#888)); 929 | #890=DERIVED_UNIT_ELEMENT(#892,1.); 930 | #891=DERIVED_UNIT_ELEMENT(#1603,-3.); 931 | #892=( 932 | MASS_UNIT() 933 | NAMED_UNIT(*) 934 | SI_UNIT(.KILO.,.GRAM.) 935 | ); 936 | #893=DERIVED_UNIT((#890,#891)); 937 | #894=MEASURE_REPRESENTATION_ITEM('density measure', 938 | POSITIVE_RATIO_MEASURE(7850.),#893); 939 | #895=PROPERTY_DEFINITION_REPRESENTATION(#900,#897); 940 | #896=PROPERTY_DEFINITION_REPRESENTATION(#901,#898); 941 | #897=REPRESENTATION('material name',(#899),#1600); 942 | #898=REPRESENTATION('density',(#894),#1600); 943 | #899=DESCRIPTIVE_REPRESENTATION_ITEM('Steel','Steel'); 944 | #900=PROPERTY_DEFINITION('material property','material name',#1610); 945 | #901=PROPERTY_DEFINITION('material property','density of part',#1610); 946 | #902=AXIS2_PLACEMENT_3D('placement',#1271,#1003,#1004); 947 | #903=AXIS2_PLACEMENT_3D('',#1272,#1005,#1006); 948 | #904=AXIS2_PLACEMENT_3D('',#1277,#1008,#1009); 949 | #905=AXIS2_PLACEMENT_3D('',#1292,#1011,#1012); 950 | #906=AXIS2_PLACEMENT_3D('',#1294,#1013,#1014); 951 | #907=AXIS2_PLACEMENT_3D('',#1305,#1015,#1016); 952 | #908=AXIS2_PLACEMENT_3D('',#1307,#1017,#1018); 953 | #909=AXIS2_PLACEMENT_3D('',#1309,#1019,#1020); 954 | #910=AXIS2_PLACEMENT_3D('',#1310,#1021,#1022); 955 | #911=AXIS2_PLACEMENT_3D('',#1312,#1023,#1024); 956 | #912=AXIS2_PLACEMENT_3D('',#1315,#1026,#1027); 957 | #913=AXIS2_PLACEMENT_3D('',#1316,#1028,#1029); 958 | #914=AXIS2_PLACEMENT_3D('',#1318,#1030,#1031); 959 | #915=AXIS2_PLACEMENT_3D('',#1320,#1033,#1034); 960 | #916=AXIS2_PLACEMENT_3D('',#1322,#1035,#1036); 961 | #917=AXIS2_PLACEMENT_3D('',#1323,#1037,#1038); 962 | #918=AXIS2_PLACEMENT_3D('',#1326,#1040,#1041); 963 | #919=AXIS2_PLACEMENT_3D('',#1327,#1042,#1043); 964 | #920=AXIS2_PLACEMENT_3D('',#1329,#1044,#1045); 965 | #921=AXIS2_PLACEMENT_3D('',#1332,#1047,#1048); 966 | #922=AXIS2_PLACEMENT_3D('',#1333,#1049,#1050); 967 | #923=AXIS2_PLACEMENT_3D('',#1335,#1051,#1052); 968 | #924=AXIS2_PLACEMENT_3D('',#1338,#1054,#1055); 969 | #925=AXIS2_PLACEMENT_3D('',#1339,#1056,#1057); 970 | #926=AXIS2_PLACEMENT_3D('',#1348,#1062,#1063); 971 | #927=AXIS2_PLACEMENT_3D('',#1357,#1068,#1069); 972 | #928=AXIS2_PLACEMENT_3D('',#1361,#1071,#1072); 973 | #929=AXIS2_PLACEMENT_3D('',#1374,#1073,#1074); 974 | #930=AXIS2_PLACEMENT_3D('',#1385,#1075,#1076); 975 | #931=AXIS2_PLACEMENT_3D('',#1398,#1077,#1078); 976 | #932=AXIS2_PLACEMENT_3D('',#1413,#1080,#1081); 977 | #933=AXIS2_PLACEMENT_3D('',#1414,#1082,#1083); 978 | #934=AXIS2_PLACEMENT_3D('',#1415,#1084,#1085); 979 | #935=AXIS2_PLACEMENT_3D('',#1418,#1087,#1088); 980 | #936=AXIS2_PLACEMENT_3D('',#1419,#1089,#1090); 981 | #937=AXIS2_PLACEMENT_3D('',#1421,#1091,#1092); 982 | #938=AXIS2_PLACEMENT_3D('',#1423,#1093,#1094); 983 | #939=AXIS2_PLACEMENT_3D('',#1424,#1095,#1096); 984 | #940=AXIS2_PLACEMENT_3D('',#1426,#1097,#1098); 985 | #941=AXIS2_PLACEMENT_3D('',#1429,#1100,#1101); 986 | #942=AXIS2_PLACEMENT_3D('',#1430,#1102,#1103); 987 | #943=AXIS2_PLACEMENT_3D('',#1432,#1105,#1106); 988 | #944=AXIS2_PLACEMENT_3D('',#1433,#1107,#1108); 989 | #945=AXIS2_PLACEMENT_3D('',#1435,#1110,#1111); 990 | #946=AXIS2_PLACEMENT_3D('',#1437,#1112,#1113); 991 | #947=AXIS2_PLACEMENT_3D('',#1439,#1115,#1116); 992 | #948=AXIS2_PLACEMENT_3D('',#1440,#1117,#1118); 993 | #949=AXIS2_PLACEMENT_3D('',#1442,#1119,#1120); 994 | #950=AXIS2_PLACEMENT_3D('',#1444,#1121,#1122); 995 | #951=AXIS2_PLACEMENT_3D('',#1445,#1123,#1124); 996 | #952=AXIS2_PLACEMENT_3D('',#1451,#1128,#1129); 997 | #953=AXIS2_PLACEMENT_3D('',#1453,#1130,#1131); 998 | #954=AXIS2_PLACEMENT_3D('',#1456,#1133,#1134); 999 | #955=AXIS2_PLACEMENT_3D('',#1457,#1135,#1136); 1000 | #956=AXIS2_PLACEMENT_3D('',#1460,#1138,#1139); 1001 | #957=AXIS2_PLACEMENT_3D('',#1461,#1140,#1141); 1002 | #958=AXIS2_PLACEMENT_3D('',#1463,#1142,#1143); 1003 | #959=AXIS2_PLACEMENT_3D('',#1465,#1145,#1146); 1004 | #960=AXIS2_PLACEMENT_3D('',#1467,#1147,#1148); 1005 | #961=AXIS2_PLACEMENT_3D('',#1469,#1150,#1151); 1006 | #962=AXIS2_PLACEMENT_3D('',#1473,#1153,#1154); 1007 | #963=AXIS2_PLACEMENT_3D('',#1475,#1156,#1157); 1008 | #964=AXIS2_PLACEMENT_3D('',#1479,#1159,#1160); 1009 | #965=AXIS2_PLACEMENT_3D('',#1483,#1162,#1163); 1010 | #966=AXIS2_PLACEMENT_3D('',#1486,#1165,#1166); 1011 | #967=AXIS2_PLACEMENT_3D('',#1488,#1167,#1168); 1012 | #968=AXIS2_PLACEMENT_3D('',#1489,#1169,#1170); 1013 | #969=AXIS2_PLACEMENT_3D('',#1492,#1172,#1173); 1014 | #970=AXIS2_PLACEMENT_3D('',#1493,#1174,#1175); 1015 | #971=AXIS2_PLACEMENT_3D('',#1498,#1179,#1180); 1016 | #972=AXIS2_PLACEMENT_3D('',#1500,#1182,#1183); 1017 | #973=AXIS2_PLACEMENT_3D('',#1503,#1185,#1186); 1018 | #974=AXIS2_PLACEMENT_3D('',#1504,#1187,#1188); 1019 | #975=AXIS2_PLACEMENT_3D('',#1507,#1189,#1190); 1020 | #976=AXIS2_PLACEMENT_3D('',#1510,#1192,#1193); 1021 | #977=AXIS2_PLACEMENT_3D('',#1511,#1194,#1195); 1022 | #978=AXIS2_PLACEMENT_3D('',#1512,#1196,#1197); 1023 | #979=AXIS2_PLACEMENT_3D('',#1527,#1199,#1200); 1024 | #980=AXIS2_PLACEMENT_3D('',#1529,#1202,#1203); 1025 | #981=AXIS2_PLACEMENT_3D('',#1531,#1204,#1205); 1026 | #982=AXIS2_PLACEMENT_3D('',#1533,#1207,#1208); 1027 | #983=AXIS2_PLACEMENT_3D('',#1538,#1212,#1213); 1028 | #984=AXIS2_PLACEMENT_3D('',#1540,#1215,#1216); 1029 | #985=AXIS2_PLACEMENT_3D('',#1543,#1218,#1219); 1030 | #986=AXIS2_PLACEMENT_3D('',#1544,#1220,#1221); 1031 | #987=AXIS2_PLACEMENT_3D('',#1546,#1222,#1223); 1032 | #988=AXIS2_PLACEMENT_3D('',#1552,#1227,#1228); 1033 | #989=AXIS2_PLACEMENT_3D('',#1554,#1229,#1230); 1034 | #990=AXIS2_PLACEMENT_3D('',#1556,#1232,#1233); 1035 | #991=AXIS2_PLACEMENT_3D('',#1560,#1236,#1237); 1036 | #992=AXIS2_PLACEMENT_3D('',#1562,#1238,#1239); 1037 | #993=AXIS2_PLACEMENT_3D('',#1564,#1241,#1242); 1038 | #994=AXIS2_PLACEMENT_3D('',#1568,#1245,#1246); 1039 | #995=AXIS2_PLACEMENT_3D('',#1572,#1249,#1250); 1040 | #996=AXIS2_PLACEMENT_3D('',#1574,#1251,#1252); 1041 | #997=AXIS2_PLACEMENT_3D('',#1587,#1254,#1255); 1042 | #998=AXIS2_PLACEMENT_3D('',#1589,#1257,#1258); 1043 | #999=AXIS2_PLACEMENT_3D('',#1591,#1260,#1261); 1044 | #1000=AXIS2_PLACEMENT_3D('',#1593,#1263,#1264); 1045 | #1001=AXIS2_PLACEMENT_3D('',#1595,#1266,#1267); 1046 | #1002=AXIS2_PLACEMENT_3D('',#1597,#1269,#1270); 1047 | #1003=DIRECTION('axis',(0.,0.,1.)); 1048 | #1004=DIRECTION('refdir',(1.,0.,0.)); 1049 | #1005=DIRECTION('center_axis',(3.11641550771944E-16,1.,-1.22464679923149E-16)); 1050 | #1006=DIRECTION('ref_axis',(1.,-3.11641550771944E-16,-8.67361737988403E-17)); 1051 | #1007=DIRECTION('',(-3.11641550771944E-16,-1.,1.22464679923149E-16)); 1052 | #1008=DIRECTION('center_axis',(-1.52023672981464E-16,1.,-1.61168987525782E-17)); 1053 | #1009=DIRECTION('ref_axis',(-0.999390827019095,3.07177751466333E-16,-0.0348994967025212)); 1054 | #1010=DIRECTION('',(3.11641550771944E-16,1.,-1.22464679923149E-16)); 1055 | #1011=DIRECTION('center_axis',(3.07367595078795E-16,1.,-7.46021741253472E-20)); 1056 | #1012=DIRECTION('ref_axis',(-0.034899496702501,1.08015310994046E-17,0.999390827019096)); 1057 | #1013=DIRECTION('center_axis',(3.07367595078795E-16,1.,-7.46021741253472E-20)); 1058 | #1014=DIRECTION('ref_axis',(-0.034899496702501,1.08015310994046E-17,0.999390827019096)); 1059 | #1015=DIRECTION('center_axis',(-1.,0.,0.)); 1060 | #1016=DIRECTION('ref_axis',(0.,0.92050485345244,-0.390731128489273)); 1061 | #1017=DIRECTION('center_axis',(-1.,0.,0.)); 1062 | #1018=DIRECTION('ref_axis',(0.,0.92050485345244,-0.390731128489273)); 1063 | #1019=DIRECTION('center_axis',(-1.,0.,0.)); 1064 | #1020=DIRECTION('ref_axis',(0.,0.920504853452441,-0.390731128489273)); 1065 | #1021=DIRECTION('center_axis',(1.,0.,0.)); 1066 | #1022=DIRECTION('ref_axis',(0.,0.241921895599668,-0.970295726275996)); 1067 | #1023=DIRECTION('center_axis',(-1.,0.,0.)); 1068 | #1024=DIRECTION('ref_axis',(0.,0.241921895599668,-0.970295726275996)); 1069 | #1025=DIRECTION('',(1.,0.,0.)); 1070 | #1026=DIRECTION('center_axis',(1.,0.,0.)); 1071 | #1027=DIRECTION('ref_axis',(0.,0.241921895599668,-0.970295726275996)); 1072 | #1028=DIRECTION('center_axis',(-1.,0.,0.)); 1073 | #1029=DIRECTION('ref_axis',(0.,0.92050485345244,-0.390731128489273)); 1074 | #1030=DIRECTION('center_axis',(-1.,0.,0.)); 1075 | #1031=DIRECTION('ref_axis',(0.,0.92050485345244,-0.390731128489273)); 1076 | #1032=DIRECTION('',(1.,0.,0.)); 1077 | #1033=DIRECTION('center_axis',(1.,0.,0.)); 1078 | #1034=DIRECTION('ref_axis',(0.,0.241921895599668,-0.970295726275996)); 1079 | #1035=DIRECTION('center_axis',(-1.,0.,0.)); 1080 | #1036=DIRECTION('ref_axis',(0.,0.241921895599668,-0.970295726275997)); 1081 | #1037=DIRECTION('center_axis',(-1.,0.,0.)); 1082 | #1038=DIRECTION('ref_axis',(0.,0.920504853452441,-0.390731128489273)); 1083 | #1039=DIRECTION('',(1.,0.,0.)); 1084 | #1040=DIRECTION('center_axis',(-1.,0.,0.)); 1085 | #1041=DIRECTION('ref_axis',(0.,0.920504853452441,-0.390731128489273)); 1086 | #1042=DIRECTION('center_axis',(-3.11641550771946E-16,-1.,1.18329135783152E-30)); 1087 | #1043=DIRECTION('ref_axis',(0.,1.18329135783152E-30,1.)); 1088 | #1044=DIRECTION('center_axis',(-3.11641550771946E-16,-1.,1.18329135783152E-30)); 1089 | #1045=DIRECTION('ref_axis',(0.,1.18329135783152E-30,1.)); 1090 | #1046=DIRECTION('',(-3.11641550771946E-16,-1.,1.18329135783152E-30)); 1091 | #1047=DIRECTION('center_axis',(0.,1.,0.)); 1092 | #1048=DIRECTION('ref_axis',(0.,1.18329135783152E-30,1.)); 1093 | #1049=DIRECTION('center_axis',(-2.41398696085809E-16,-1.,2.21474870099391E-17)); 1094 | #1050=DIRECTION('ref_axis',(-0.573576436351046,1.56602763100743E-16,0.819152044288992)); 1095 | #1051=DIRECTION('center_axis',(-2.41398696085809E-16,-1.,2.21474870099391E-17)); 1096 | #1052=DIRECTION('ref_axis',(-0.573576436351046,1.56602763100743E-16,0.819152044288992)); 1097 | #1053=DIRECTION('',(-2.41398696085809E-16,-1.,2.21474870099391E-17)); 1098 | #1054=DIRECTION('center_axis',(-1.38831173144229E-17,1.,-2.00897737120625E-16)); 1099 | #1055=DIRECTION('ref_axis',(-0.573576436351046,1.56602763100743E-16,0.819152044288992)); 1100 | #1056=DIRECTION('center_axis',(1.,0.,0.)); 1101 | #1057=DIRECTION('ref_axis',(0.,1.,0.)); 1102 | #1058=DIRECTION('',(3.11641550771941E-16,1.,-1.22464679917823E-16)); 1103 | #1059=DIRECTION('',(0.,0.,-1.)); 1104 | #1060=DIRECTION('',(-3.11641550771926E-16,-1.,-1.22464679914695E-16)); 1105 | #1061=DIRECTION('',(0.,1.18329135783152E-30,1.)); 1106 | #1062=DIRECTION('center_axis',(-1.,0.,0.)); 1107 | #1063=DIRECTION('ref_axis',(0.,-1.,0.)); 1108 | #1064=DIRECTION('',(0.,0.,1.)); 1109 | #1065=DIRECTION('',(0.,1.,0.)); 1110 | #1066=DIRECTION('',(0.,0.,1.)); 1111 | #1067=DIRECTION('',(0.,-1.,0.)); 1112 | #1068=DIRECTION('center_axis',(3.11641550771941E-16,1.,-1.22464679917823E-16)); 1113 | #1069=DIRECTION('ref_axis',(-0.81915204428898,1.85038958714085E-16,-0.573576436351062)); 1114 | #1070=DIRECTION('',(-3.11641550771941E-16,-1.,1.22464679917823E-16)); 1115 | #1071=DIRECTION('center_axis',(-1.38831173144229E-17,1.,-2.00897737120625E-16)); 1116 | #1072=DIRECTION('ref_axis',(-0.81915204428898,1.85038958714085E-16,-0.573576436351062)); 1117 | #1073=DIRECTION('center_axis',(2.41398696085809E-16,1.,-2.21474870099391E-17)); 1118 | #1074=DIRECTION('ref_axis',(-0.573576436351046,1.56602763100743E-16,0.819152044288992)); 1119 | #1075=DIRECTION('center_axis',(3.11641550771926E-16,1.,1.22464679914695E-16)); 1120 | #1076=DIRECTION('ref_axis',(-1.,3.11641550771929E-16,-2.02697663107069E-14)); 1121 | #1077=DIRECTION('center_axis',(0.,1.,0.)); 1122 | #1078=DIRECTION('ref_axis',(-1.,3.11641550771929E-16,-2.02697663107069E-14)); 1123 | #1079=DIRECTION('',(3.11641550771926E-16,1.,1.22464679914695E-16)); 1124 | #1080=DIRECTION('center_axis',(3.11641550771946E-16,1.,-1.18329135783152E-30)); 1125 | #1081=DIRECTION('ref_axis',(0.,1.18329135783152E-30,1.)); 1126 | #1082=DIRECTION('center_axis',(3.11641550771946E-16,1.,-1.18329135783152E-30)); 1127 | #1083=DIRECTION('ref_axis',(0.,1.18329135783152E-30,1.)); 1128 | #1084=DIRECTION('center_axis',(1.,0.,0.)); 1129 | #1085=DIRECTION('ref_axis',(0.,0.241921895599668,-0.970295726275997)); 1130 | #1086=DIRECTION('',(1.,0.,0.)); 1131 | #1087=DIRECTION('center_axis',(-1.,0.,0.)); 1132 | #1088=DIRECTION('ref_axis',(0.,0.241921895599668,-0.970295726275997)); 1133 | #1089=DIRECTION('center_axis',(1.,0.,0.)); 1134 | #1090=DIRECTION('ref_axis',(0.,0.99144486137381,-0.130526192220052)); 1135 | #1091=DIRECTION('center_axis',(1.,0.,0.)); 1136 | #1092=DIRECTION('ref_axis',(0.,0.99144486137381,-0.130526192220052)); 1137 | #1093=DIRECTION('center_axis',(1.,0.,0.)); 1138 | #1094=DIRECTION('ref_axis',(0.,0.99144486137381,-0.130526192220052)); 1139 | #1095=DIRECTION('center_axis',(-2.67754134536984E-16,-1.,8.1340518094975E-18)); 1140 | #1096=DIRECTION('ref_axis',(-0.3583679495453,1.03548291733756E-16,0.933580426497202)); 1141 | #1097=DIRECTION('center_axis',(-2.67754134536984E-16,-1.,8.1340518094975E-18)); 1142 | #1098=DIRECTION('ref_axis',(-0.3583679495453,1.03548291733756E-16,0.933580426497202)); 1143 | #1099=DIRECTION('',(-2.67754134536984E-16,-1.,8.1340518094975E-18)); 1144 | #1100=DIRECTION('center_axis',(-2.31883173469396E-17,1.,-1.19816395352756E-16)); 1145 | #1101=DIRECTION('ref_axis',(-0.3583679495453,1.03548291733756E-16,0.933580426497202)); 1146 | #1102=DIRECTION('center_axis',(3.11641550771946E-16,1.,-1.18329135783152E-30)); 1147 | #1103=DIRECTION('ref_axis',(0.,1.18329135783152E-30,1.)); 1148 | #1104=DIRECTION('',(-2.94132715026733E-16,-0.642787609686539,0.766044443118978)); 1149 | #1105=DIRECTION('center_axis',(-3.11641550771946E-16,-1.,1.18329135783152E-30)); 1150 | #1106=DIRECTION('ref_axis',(0.,1.18329135783152E-30,1.)); 1151 | #1107=DIRECTION('center_axis',(0.,-1.18329135783152E-30,-1.)); 1152 | #1108=DIRECTION('ref_axis',(-0.707106781186548,-0.707106781186547,0.)); 1153 | #1109=DIRECTION('',(0.,-1.18329135783152E-30,-1.)); 1154 | #1110=DIRECTION('center_axis',(2.41398696085809E-16,1.,-2.21474870099391E-17)); 1155 | #1111=DIRECTION('ref_axis',(-0.573576436351046,1.56602763100743E-16,0.819152044288992)); 1156 | #1112=DIRECTION('center_axis',(-2.41398696085809E-16,-1.,2.21474870099391E-17)); 1157 | #1113=DIRECTION('ref_axis',(-0.573576436351046,1.56602763100743E-16,0.819152044288992)); 1158 | #1114=DIRECTION('',(-0.439385041770705,-0.642787609686539,0.627506871597133)); 1159 | #1115=DIRECTION('center_axis',(-2.41398696085809E-16,-1.,2.21474870099391E-17)); 1160 | #1116=DIRECTION('ref_axis',(-0.573576436351046,1.56602763100743E-16,0.819152044288992)); 1161 | #1117=DIRECTION('center_axis',(-1.,0.,0.)); 1162 | #1118=DIRECTION('ref_axis',(0.,0.342020143325669,0.939692620785908)); 1163 | #1119=DIRECTION('center_axis',(-1.,0.,0.)); 1164 | #1120=DIRECTION('ref_axis',(0.,0.342020143325669,0.939692620785908)); 1165 | #1121=DIRECTION('center_axis',(1.,0.,0.)); 1166 | #1122=DIRECTION('ref_axis',(0.,0.342020143325669,0.939692620785908)); 1167 | #1123=DIRECTION('center_axis',(1.,0.,0.)); 1168 | #1124=DIRECTION('ref_axis',(0.,1.,0.)); 1169 | #1125=DIRECTION('',(0.,1.18329135783152E-30,1.)); 1170 | #1126=DIRECTION('',(0.,-1.,0.)); 1171 | #1127=DIRECTION('',(0.,0.,-1.)); 1172 | #1128=DIRECTION('center_axis',(0.,1.,0.)); 1173 | #1129=DIRECTION('ref_axis',(-0.707106781186547,0.,-0.707106781186547)); 1174 | #1130=DIRECTION('center_axis',(0.,1.,0.)); 1175 | #1131=DIRECTION('ref_axis',(-0.707106781186547,0.,-0.707106781186547)); 1176 | #1132=DIRECTION('',(0.,-1.,0.)); 1177 | #1133=DIRECTION('center_axis',(0.,1.,0.)); 1178 | #1134=DIRECTION('ref_axis',(-0.707106781186547,0.,-0.707106781186547)); 1179 | #1135=DIRECTION('center_axis',(0.,-1.18329135783152E-30,-1.)); 1180 | #1136=DIRECTION('ref_axis',(-0.707106781186548,-0.707106781186547,0.)); 1181 | #1137=DIRECTION('',(0.,1.18329135783152E-30,1.)); 1182 | #1138=DIRECTION('center_axis',(-9.86076131526265E-32,1.30825976933548E-61, 1183 | -1.)); 1184 | #1139=DIRECTION('ref_axis',(-0.707106781186548,-0.707106781186547,0.)); 1185 | #1140=DIRECTION('center_axis',(-1.,0.,0.)); 1186 | #1141=DIRECTION('ref_axis',(0.,0.342020143325669,0.939692620785908)); 1187 | #1142=DIRECTION('center_axis',(-1.,0.,0.)); 1188 | #1143=DIRECTION('ref_axis',(0.,0.342020143325669,0.939692620785908)); 1189 | #1144=DIRECTION('',(-1.,0.,0.)); 1190 | #1145=DIRECTION('center_axis',(1.,0.,0.)); 1191 | #1146=DIRECTION('ref_axis',(0.,0.99144486137381,-0.130526192220052)); 1192 | #1147=DIRECTION('center_axis',(1.,0.,0.)); 1193 | #1148=DIRECTION('ref_axis',(0.,0.99144486137381,-0.130526192220052)); 1194 | #1149=DIRECTION('',(-1.,0.,0.)); 1195 | #1150=DIRECTION('center_axis',(0.,-1.18329135783152E-30,-1.)); 1196 | #1151=DIRECTION('ref_axis',(-0.707106781186548,-0.707106781186547,0.)); 1197 | #1152=DIRECTION('',(0.,1.18329135783152E-30,1.)); 1198 | #1153=DIRECTION('center_axis',(-9.86076131526265E-32,1.30825976933548E-61, 1199 | -1.)); 1200 | #1154=DIRECTION('ref_axis',(-0.707106781186548,-0.707106781186547,0.)); 1201 | #1155=DIRECTION('',(0.,1.18329135783152E-30,1.)); 1202 | #1156=DIRECTION('center_axis',(0.,-1.,0.)); 1203 | #1157=DIRECTION('ref_axis',(1.,0.,0.)); 1204 | #1158=DIRECTION('',(1.,0.,0.)); 1205 | #1159=DIRECTION('center_axis',(0.,1.,0.)); 1206 | #1160=DIRECTION('ref_axis',(0.707106781186547,0.,-0.707106781186547)); 1207 | #1161=DIRECTION('',(0.,0.,1.)); 1208 | #1162=DIRECTION('center_axis',(0.,1.,0.)); 1209 | #1163=DIRECTION('ref_axis',(0.707106781186547,0.,0.707106781186547)); 1210 | #1164=DIRECTION('',(1.,0.,0.)); 1211 | #1165=DIRECTION('center_axis',(0.,1.,0.)); 1212 | #1166=DIRECTION('ref_axis',(-0.707106781186547,0.,0.707106781186547)); 1213 | #1167=DIRECTION('center_axis',(-4.08411208069333E-18,1.,-1.0950735447652E-17)); 1214 | #1168=DIRECTION('ref_axis',(-0.034899496702501,1.08015310994046E-17,0.999390827019096)); 1215 | #1169=DIRECTION('center_axis',(0.,-1.,0.)); 1216 | #1170=DIRECTION('ref_axis',(-0.707106781186547,0.,0.707106781186547)); 1217 | #1171=DIRECTION('',(0.,1.,0.)); 1218 | #1172=DIRECTION('center_axis',(0.,1.,0.)); 1219 | #1173=DIRECTION('ref_axis',(-0.707106781186547,0.,0.707106781186547)); 1220 | #1174=DIRECTION('center_axis',(0.,1.,0.)); 1221 | #1175=DIRECTION('ref_axis',(-1.,0.,0.)); 1222 | #1176=DIRECTION('',(1.,0.,-9.86076131526265E-32)); 1223 | #1177=DIRECTION('',(1.,0.,0.)); 1224 | #1178=DIRECTION('',(0.,0.,-1.)); 1225 | #1179=DIRECTION('center_axis',(1.,0.,0.)); 1226 | #1180=DIRECTION('ref_axis',(0.,1.,0.)); 1227 | #1181=DIRECTION('',(0.,-1.,0.)); 1228 | #1182=DIRECTION('center_axis',(1.,0.,0.)); 1229 | #1183=DIRECTION('ref_axis',(0.,0.99144486137381,-0.130526192220052)); 1230 | #1184=DIRECTION('',(-1.,0.,0.)); 1231 | #1185=DIRECTION('center_axis',(1.,0.,0.)); 1232 | #1186=DIRECTION('ref_axis',(0.,0.99144486137381,-0.130526192220052)); 1233 | #1187=DIRECTION('center_axis',(2.67754134536984E-16,1.,-8.1340518094975E-18)); 1234 | #1188=DIRECTION('ref_axis',(-0.3583679495453,1.03548291733756E-16,0.933580426497202)); 1235 | #1189=DIRECTION('center_axis',(2.67754134536984E-16,1.,-8.1340518094975E-18)); 1236 | #1190=DIRECTION('ref_axis',(-0.3583679495453,1.03548291733756E-16,0.933580426497202)); 1237 | #1191=DIRECTION('',(-0.27452577634112,-0.642787609686539,0.715164097922827)); 1238 | #1192=DIRECTION('center_axis',(2.67754134536984E-16,1.,-8.1340518094975E-18)); 1239 | #1193=DIRECTION('ref_axis',(-0.3583679495453,1.03548291733756E-16,0.933580426497202)); 1240 | #1194=DIRECTION('center_axis',(-2.67754134536984E-16,-1.,8.1340518094975E-18)); 1241 | #1195=DIRECTION('ref_axis',(-0.3583679495453,1.03548291733756E-16,0.933580426497202)); 1242 | #1196=DIRECTION('center_axis',(0.,1.18329135783152E-30,1.)); 1243 | #1197=DIRECTION('ref_axis',(0.707106781186546,-0.707106781186549,0.)); 1244 | #1198=DIRECTION('',(0.,-1.18329135783152E-30,-1.)); 1245 | #1199=DIRECTION('center_axis',(-9.86076131526265E-32,1.30825976933548E-61, 1246 | -1.)); 1247 | #1200=DIRECTION('ref_axis',(0.707106781186546,-0.707106781186549,0.)); 1248 | #1201=DIRECTION('',(0.,-1.18329135783152E-30,-1.)); 1249 | #1202=DIRECTION('center_axis',(-3.07367595078795E-16,-1.,7.46021741253472E-20)); 1250 | #1203=DIRECTION('ref_axis',(-0.034899496702501,1.08015310994046E-17,0.999390827019096)); 1251 | #1204=DIRECTION('center_axis',(-3.07367595078795E-16,-1.,7.46021741253472E-20)); 1252 | #1205=DIRECTION('ref_axis',(-0.034899496702501,1.08015310994046E-17,0.999390827019096)); 1253 | #1206=DIRECTION('',(-3.07367595078795E-16,-1.,7.46021741253472E-20)); 1254 | #1207=DIRECTION('center_axis',(3.11641550771946E-16,1.,-1.18329135783152E-30)); 1255 | #1208=DIRECTION('ref_axis',(-1.,3.11641550771945E-16,-5.41882266995347E-16)); 1256 | #1209=DIRECTION('',(1.,-3.11641550771946E-16,0.)); 1257 | #1210=DIRECTION('',(-1.,3.11641550771946E-16,0.)); 1258 | #1211=DIRECTION('',(0.,1.18329135783152E-30,1.)); 1259 | #1212=DIRECTION('center_axis',(-3.07367595078795E-16,-1.,7.46021741253472E-20)); 1260 | #1213=DIRECTION('ref_axis',(-0.034899496702501,1.08015310994046E-17,0.999390827019096)); 1261 | #1214=DIRECTION('',(0.,-1.18329135783152E-30,-1.)); 1262 | #1215=DIRECTION('center_axis',(-1.,0.,0.)); 1263 | #1216=DIRECTION('ref_axis',(0.,0.342020143325669,0.939692620785908)); 1264 | #1217=DIRECTION('',(-1.,0.,0.)); 1265 | #1218=DIRECTION('center_axis',(1.,0.,0.)); 1266 | #1219=DIRECTION('ref_axis',(0.,0.342020143325669,0.939692620785908)); 1267 | #1220=DIRECTION('center_axis',(9.86076131526265E-32,-1.30825976933548E-61, 1268 | 1.)); 1269 | #1221=DIRECTION('ref_axis',(1.,0.,-9.86076131526265E-32)); 1270 | #1222=DIRECTION('center_axis',(-9.86076131526265E-32,1.30825976933548E-61, 1271 | -1.)); 1272 | #1223=DIRECTION('ref_axis',(0.707106781186546,-0.707106781186549,0.)); 1273 | #1224=DIRECTION('',(0.,1.,0.)); 1274 | #1225=DIRECTION('',(1.,1.48029736616688E-16,-9.86076131526265E-32)); 1275 | #1226=DIRECTION('',(0.,1.,0.)); 1276 | #1227=DIRECTION('center_axis',(0.,1.,0.)); 1277 | #1228=DIRECTION('ref_axis',(0.707106781186547,0.,-0.707106781186547)); 1278 | #1229=DIRECTION('center_axis',(-1.48029736616688E-16,1.,0.)); 1279 | #1230=DIRECTION('ref_axis',(0.707106781186547,0.,-0.707106781186547)); 1280 | #1231=DIRECTION('',(0.,-1.,0.)); 1281 | #1232=DIRECTION('center_axis',(1.,0.,0.)); 1282 | #1233=DIRECTION('ref_axis',(0.,1.,0.)); 1283 | #1234=DIRECTION('',(0.,0.,-1.)); 1284 | #1235=DIRECTION('',(0.,1.,0.)); 1285 | #1236=DIRECTION('center_axis',(0.,1.,0.)); 1286 | #1237=DIRECTION('ref_axis',(0.707106781186547,0.,0.707106781186547)); 1287 | #1238=DIRECTION('center_axis',(-1.48029736616688E-16,1.,0.)); 1288 | #1239=DIRECTION('ref_axis',(0.707106781186547,0.,0.707106781186547)); 1289 | #1240=DIRECTION('',(0.,-1.,0.)); 1290 | #1241=DIRECTION('center_axis',(0.,0.,1.)); 1291 | #1242=DIRECTION('ref_axis',(1.,0.,0.)); 1292 | #1243=DIRECTION('',(1.,1.48029736616688E-16,0.)); 1293 | #1244=DIRECTION('',(0.,1.,0.)); 1294 | #1245=DIRECTION('center_axis',(-1.,0.,0.)); 1295 | #1246=DIRECTION('ref_axis',(0.,-1.,0.)); 1296 | #1247=DIRECTION('',(-3.11641550771935E-16,-1.,1.22464679920866E-16)); 1297 | #1248=DIRECTION('',(0.,0.,1.)); 1298 | #1249=DIRECTION('center_axis',(3.11641550771935E-16,1.,-1.22464679920866E-16)); 1299 | #1250=DIRECTION('ref_axis',(1.,-3.11641550771934E-16,1.85037170770859E-16)); 1300 | #1251=DIRECTION('center_axis',(-1.61385981991815E-16,1.,-1.72865508535809E-16)); 1301 | #1252=DIRECTION('ref_axis',(-0.933580426497194,2.47055035648945E-16,-0.358367949545319)); 1302 | #1253=DIRECTION('',(3.11641550771935E-16,1.,-1.22464679920866E-16)); 1303 | #1254=DIRECTION('center_axis',(0.,1.18329135783152E-30,1.)); 1304 | #1255=DIRECTION('ref_axis',(0.707106781186546,-0.707106781186549,0.)); 1305 | #1256=DIRECTION('',(0.,-1.18329135783152E-30,-1.)); 1306 | #1257=DIRECTION('center_axis',(3.07367595078795E-16,1.,-7.46021741253472E-20)); 1307 | #1258=DIRECTION('ref_axis',(-0.034899496702501,1.08015310994046E-17,0.999390827019096)); 1308 | #1259=DIRECTION('',(-0.0267345655166003,-0.642787609686539,0.765577789542058)); 1309 | #1260=DIRECTION('center_axis',(0.,1.18329135783152E-30,1.)); 1310 | #1261=DIRECTION('ref_axis',(0.707106781186546,-0.707106781186549,0.)); 1311 | #1262=DIRECTION('',(0.,-1.18329135783152E-30,-1.)); 1312 | #1263=DIRECTION('center_axis',(-1.,0.,0.)); 1313 | #1264=DIRECTION('ref_axis',(0.,-1.,0.)); 1314 | #1265=DIRECTION('',(0.,0.,1.)); 1315 | #1266=DIRECTION('center_axis',(-1.48029736616688E-16,1.,0.)); 1316 | #1267=DIRECTION('ref_axis',(-1.,-1.48029736616688E-16,0.)); 1317 | #1268=DIRECTION('',(0.,0.,1.)); 1318 | #1269=DIRECTION('center_axis',(-1.,0.,0.)); 1319 | #1270=DIRECTION('ref_axis',(0.,-1.,0.)); 1320 | #1271=CARTESIAN_POINT('',(0.,0.,0.)); 1321 | #1272=CARTESIAN_POINT('Origin',(67.0375169116663,3.00000000000003,22.9999839570283)); 1322 | #1273=CARTESIAN_POINT('',(70.5,18.5,27.9001075129198)); 1323 | #1274=CARTESIAN_POINT('',(70.5,7.00000000000005,27.9001075129198)); 1324 | #1275=CARTESIAN_POINT('',(70.5,3.00000000000003,27.9001075129198)); 1325 | #1276=CARTESIAN_POINT('',(70.5,18.5,18.0998604011367)); 1326 | #1277=CARTESIAN_POINT('Origin',(67.0375169116663,18.5,22.9999839570283)); 1327 | #1278=CARTESIAN_POINT('',(70.5,7.00000000000005,18.0998604011367)); 1328 | #1279=CARTESIAN_POINT('',(70.5,3.00000000000003,18.0998604011367)); 1329 | #1280=CARTESIAN_POINT('',(66.5,3.00000000000005,17.0241094963596)); 1330 | #1281=CARTESIAN_POINT('Ctrl Pts',(70.5,7.00000000000005,18.0998604011367)); 1331 | #1282=CARTESIAN_POINT('Ctrl Pts',(70.5,6.47909922569862,18.0998604011367)); 1332 | #1283=CARTESIAN_POINT('Ctrl Pts',(70.392868561742,5.93642513426079,18.0198993704388)); 1333 | #1284=CARTESIAN_POINT('Ctrl Pts',(69.9770991061079,4.9517303042401,17.7637185156765)); 1334 | #1285=CARTESIAN_POINT('Ctrl Pts',(69.6685903093311,4.50798538031143,17.5939599660679)); 1335 | #1286=CARTESIAN_POINT('Ctrl Pts',(68.9656270840318,3.81260228131263,17.3058312825758)); 1336 | #1287=CARTESIAN_POINT('Ctrl Pts',(68.5236702243681,3.50919829666366,17.1657952366685)); 1337 | #1288=CARTESIAN_POINT('Ctrl Pts',(67.5446690817211,3.10261559964979,17.0008834790116)); 1338 | #1289=CARTESIAN_POINT('Ctrl Pts',(67.0069714745403,3.00000000000005,16.9785085147641)); 1339 | #1290=CARTESIAN_POINT('Ctrl Pts',(66.5,3.00000000000005,17.0241094963595)); 1340 | #1291=CARTESIAN_POINT('',(67.2469138918812,3.00000000000005,17.0036389949137)); 1341 | #1292=CARTESIAN_POINT('Origin',(67.0375169116662,3.00000000000005,22.9999839570283)); 1342 | #1293=CARTESIAN_POINT('',(66.5,3.00000000000005,28.975858417697)); 1343 | #1294=CARTESIAN_POINT('Origin',(67.0375169116662,3.00000000000005,22.9999839570283)); 1344 | #1295=CARTESIAN_POINT('Ctrl Pts',(66.5,3.00000000000004,28.975858417697)); 1345 | #1296=CARTESIAN_POINT('Ctrl Pts',(67.0069714745403,3.00000000000005,29.0214593992925)); 1346 | #1297=CARTESIAN_POINT('Ctrl Pts',(67.5446690817211,3.10261559964979,28.9990844350449)); 1347 | #1298=CARTESIAN_POINT('Ctrl Pts',(68.5236702243681,3.50919829666366,28.834172677388)); 1348 | #1299=CARTESIAN_POINT('Ctrl Pts',(68.9656270840318,3.81260228131263,28.6941366314807)); 1349 | #1300=CARTESIAN_POINT('Ctrl Pts',(69.6685903093311,4.50798538031143,28.4060079479886)); 1350 | #1301=CARTESIAN_POINT('Ctrl Pts',(69.9770991061079,4.9517303042401,28.23624939838)); 1351 | #1302=CARTESIAN_POINT('Ctrl Pts',(70.392868561742,5.93642513426079,27.9800685436177)); 1352 | #1303=CARTESIAN_POINT('Ctrl Pts',(70.5,6.47909922569862,27.9001075129198)); 1353 | #1304=CARTESIAN_POINT('Ctrl Pts',(70.5,7.00000000000004,27.9001075129198)); 1354 | #1305=CARTESIAN_POINT('Origin',(3.3,14.0002153086316,11.0019384498575)); 1355 | #1306=CARTESIAN_POINT('',(3.3,11.2387007482743,12.1741318353253)); 1356 | #1307=CARTESIAN_POINT('Origin',(3.3,14.0002153086316,11.0019384498575)); 1357 | #1308=CARTESIAN_POINT('',(3.3,12.7259604399974,11.5428275510252)); 1358 | #1309=CARTESIAN_POINT('Origin',(3.3,14.0002153086316,11.0019384498575)); 1359 | #1310=CARTESIAN_POINT('Origin',(1.64999999999999,14.0001964638505,81.0006596508908)); 1360 | #1311=CARTESIAN_POINT('',(0.,13.2744307770515,83.9115468297187)); 1361 | #1312=CARTESIAN_POINT('Origin',(0.,14.0001964638505,81.0006596508908)); 1362 | #1313=CARTESIAN_POINT('',(3.3,13.2744307770515,83.9115468297187)); 1363 | #1314=CARTESIAN_POINT('',(1.64999999999999,13.2744307770515,83.9115468297187)); 1364 | #1315=CARTESIAN_POINT('Origin',(3.3,14.0001964638505,81.0006596508908)); 1365 | #1316=CARTESIAN_POINT('Origin',(1.64999999999999,14.0002153086316,11.0019384498575)); 1366 | #1317=CARTESIAN_POINT('',(0.,11.2387007482743,12.1741318353253)); 1367 | #1318=CARTESIAN_POINT('Origin',(0.,14.0002153086316,11.0019384498575)); 1368 | #1319=CARTESIAN_POINT('',(1.64999999999999,11.2387007482743,12.1741318353253)); 1369 | #1320=CARTESIAN_POINT('Origin',(3.3,14.0001964638505,81.0006596508908)); 1370 | #1321=CARTESIAN_POINT('',(3.3,13.6653039837718,82.3438400247746)); 1371 | #1322=CARTESIAN_POINT('Origin',(3.3,14.0001964638505,81.0006596508908)); 1372 | #1323=CARTESIAN_POINT('Origin',(7.5,14.0002153086316,11.0019384498575)); 1373 | #1324=CARTESIAN_POINT('',(13.5,12.7259604399974,11.5428275510252)); 1374 | #1325=CARTESIAN_POINT('',(7.5,12.7259604399974,11.5428275510252)); 1375 | #1326=CARTESIAN_POINT('Origin',(13.5,14.0002153086316,11.0019384498575)); 1376 | #1327=CARTESIAN_POINT('Origin',(17.006208896637,0.640500000000061,72.9835605621338)); 1377 | #1328=CARTESIAN_POINT('',(17.006208896637,0.482701106468221,69.9835605621338)); 1378 | #1329=CARTESIAN_POINT('Origin',(17.006208896637,0.482701106468221,72.9835605621338)); 1379 | #1330=CARTESIAN_POINT('',(17.006208896637,-5.2735593669695E-15,69.9835605621338)); 1380 | #1331=CARTESIAN_POINT('',(17.006208896637,0.640500000000061,69.9835605621338)); 1381 | #1332=CARTESIAN_POINT('Origin',(17.006208896637,-5.27355936696949E-15,72.9835605621338)); 1382 | #1333=CARTESIAN_POINT('Origin',(17.0032853013985,0.64050000000006,22.9962231927692)); 1383 | #1334=CARTESIAN_POINT('',(18.7240146104516,0.48270110646822,20.5387670599023)); 1384 | #1335=CARTESIAN_POINT('Origin',(17.0032853013985,0.482701106468221,22.9962231927692)); 1385 | #1336=CARTESIAN_POINT('',(18.7240146104516,-6.00087291744857E-15,20.5387670599023)); 1386 | #1337=CARTESIAN_POINT('',(18.7240146104516,0.64050000000006,20.5387670599023)); 1387 | #1338=CARTESIAN_POINT('Origin',(17.0032853013985,-5.53106462814635E-15, 1388 | 22.9962231927692)); 1389 | #1339=CARTESIAN_POINT('Origin',(13.5,3.,0.)); 1390 | #1340=CARTESIAN_POINT('',(13.5,7.00000000000006,27.8672592321561)); 1391 | #1341=CARTESIAN_POINT('',(13.5,18.5,27.8672592321561)); 1392 | #1342=CARTESIAN_POINT('',(13.5,3.00000000000003,27.8672592321561)); 1393 | #1343=CARTESIAN_POINT('',(13.5,18.5,68.1146285259329)); 1394 | #1344=CARTESIAN_POINT('',(13.5,18.5,0.)); 1395 | #1345=CARTESIAN_POINT('',(13.5,7.00000000000006,68.1146285259329)); 1396 | #1346=CARTESIAN_POINT('',(13.5,3.00000000000003,68.1146285259329)); 1397 | #1347=CARTESIAN_POINT('',(13.5,7.00000000000006,23.)); 1398 | #1348=CARTESIAN_POINT('Origin',(0.,19.,0.)); 1399 | #1349=CARTESIAN_POINT('',(0.,18.5,5.)); 1400 | #1350=CARTESIAN_POINT('',(0.,18.5,87.)); 1401 | #1351=CARTESIAN_POINT('',(0.,18.5,0.)); 1402 | #1352=CARTESIAN_POINT('',(0.,0.,5.)); 1403 | #1353=CARTESIAN_POINT('',(0.,14.25,5.)); 1404 | #1354=CARTESIAN_POINT('',(0.,0.,87.)); 1405 | #1355=CARTESIAN_POINT('',(0.,0.,0.)); 1406 | #1356=CARTESIAN_POINT('',(0.,14.25,87.)); 1407 | #1357=CARTESIAN_POINT('Origin',(17.0032853013985,3.00000000000003,22.9962231927692)); 1408 | #1358=CARTESIAN_POINT('',(13.5,18.5,18.1251871533824)); 1409 | #1359=CARTESIAN_POINT('',(13.5,7.00000000000006,18.1251871533824)); 1410 | #1360=CARTESIAN_POINT('',(13.5,3.00000000000003,18.1251871533824)); 1411 | #1361=CARTESIAN_POINT('Origin',(17.0032853013985,18.5,22.9962231927692)); 1412 | #1362=CARTESIAN_POINT('',(17.5,3.00000000000006,28.9756273861813)); 1413 | #1363=CARTESIAN_POINT('Ctrl Pts',(13.5,7.00000000000006,27.8672592321561)); 1414 | #1364=CARTESIAN_POINT('Ctrl Pts',(13.5,6.47878005839695,27.8672592321561)); 1415 | #1365=CARTESIAN_POINT('Ctrl Pts',(13.6072303580049,5.93621114806429,27.9486937262901)); 1416 | #1366=CARTESIAN_POINT('Ctrl Pts',(14.0227560265302,4.95205311316431,28.2093403799697)); 1417 | #1367=CARTESIAN_POINT('Ctrl Pts',(14.3309359685453,4.50869425292329,28.3820101651255)); 1418 | #1368=CARTESIAN_POINT('Ctrl Pts',(15.0331471550993,3.81358053917927,28.6760307714954)); 1419 | #1369=CARTESIAN_POINT('Ctrl Pts',(15.4748349415078,3.51004181768506,28.8195315625538)); 1420 | #1370=CARTESIAN_POINT('Ctrl Pts',(16.4539640505989,3.10296120322295,28.9916653971279)); 1421 | #1371=CARTESIAN_POINT('Ctrl Pts',(16.9920806213054,3.00000000275273,29.0178207221483)); 1422 | #1372=CARTESIAN_POINT('Ctrl Pts',(17.499999978322,3.00000000000006,28.9756273879821)); 1423 | #1373=CARTESIAN_POINT('',(17.5,3.00000000000006,17.0168189993572)); 1424 | #1374=CARTESIAN_POINT('Origin',(17.0032853013985,3.00000000000006,22.9962231927692)); 1425 | #1375=CARTESIAN_POINT('Ctrl Pts',(17.4999999936331,3.00000000000006,17.0168189988283)); 1426 | #1376=CARTESIAN_POINT('Ctrl Pts',(16.9920806321102,3.00000000080853,16.9746256629782)); 1427 | #1377=CARTESIAN_POINT('Ctrl Pts',(16.4539640555182,3.10296120117773,17.0007809875458)); 1428 | #1378=CARTESIAN_POINT('Ctrl Pts',(15.4748349415078,3.51004181768506,17.1729148229847)); 1429 | #1379=CARTESIAN_POINT('Ctrl Pts',(15.0331471550993,3.81358053917927,17.3164156140431)); 1430 | #1380=CARTESIAN_POINT('Ctrl Pts',(14.3309359685453,4.50869425292329,17.610436220413)); 1431 | #1381=CARTESIAN_POINT('Ctrl Pts',(14.0227560265302,4.95205311316431,17.7831060055688)); 1432 | #1382=CARTESIAN_POINT('Ctrl Pts',(13.6072303580049,5.93621114806429,18.0437526592484)); 1433 | #1383=CARTESIAN_POINT('Ctrl Pts',(13.5,6.47878005839695,18.1251871533824)); 1434 | #1384=CARTESIAN_POINT('Ctrl Pts',(13.5,7.00000000000006,18.1251871533824)); 1435 | #1385=CARTESIAN_POINT('Origin',(17.006208896637,3.00000000000003,72.9835605621338)); 1436 | #1386=CARTESIAN_POINT('',(17.5,3.00000000000006,67.0039142225716)); 1437 | #1387=CARTESIAN_POINT('Ctrl Pts',(13.5,7.00000000000006,68.1146285259329)); 1438 | #1388=CARTESIAN_POINT('Ctrl Pts',(13.5,6.4787568346248,68.1146285259329)); 1439 | #1389=CARTESIAN_POINT('Ctrl Pts',(13.6072375226925,5.93619572569583,68.0330873039151)); 1440 | #1390=CARTESIAN_POINT('Ctrl Pts',(14.0227453586839,4.95207683262816,67.7721184204067)); 1441 | #1391=CARTESIAN_POINT('Ctrl Pts',(14.3309013488407,4.50874601413163,67.5992389857548)); 1442 | #1392=CARTESIAN_POINT('Ctrl Pts',(15.0330582087871,3.81365148530796,67.3047944819592)); 1443 | #1393=CARTESIAN_POINT('Ctrl Pts',(15.4747268558945,3.5101028155805,67.1610445219401)); 1444 | #1394=CARTESIAN_POINT('Ctrl Pts',(16.4538655523031,3.10298609757016,66.9883918982701)); 1445 | #1395=CARTESIAN_POINT('Ctrl Pts',(16.9920124089158,3.00000000000006,66.9619652946832)); 1446 | #1396=CARTESIAN_POINT('Ctrl Pts',(17.5,3.00000000000006,67.0039142225716)); 1447 | #1397=CARTESIAN_POINT('',(13.5,18.5,77.8524925983347)); 1448 | #1398=CARTESIAN_POINT('Origin',(17.006208896637,18.5,72.9835605621338)); 1449 | #1399=CARTESIAN_POINT('',(13.5,7.00000000000006,77.8524925983347)); 1450 | #1400=CARTESIAN_POINT('',(13.5,3.00000000000003,77.8524925983347)); 1451 | #1401=CARTESIAN_POINT('',(17.5,3.00000000000006,78.963206901696)); 1452 | #1402=CARTESIAN_POINT('Ctrl Pts',(17.5,3.00000000000006,78.963206901696)); 1453 | #1403=CARTESIAN_POINT('Ctrl Pts',(16.9920124089158,3.00000000000006,79.0051558295844)); 1454 | #1404=CARTESIAN_POINT('Ctrl Pts',(16.4538655523031,3.10298609757016,78.9787292259975)); 1455 | #1405=CARTESIAN_POINT('Ctrl Pts',(15.4747268558945,3.5101028155805,78.8060766023275)); 1456 | #1406=CARTESIAN_POINT('Ctrl Pts',(15.0330582087871,3.81365148530796,78.6623266423084)); 1457 | #1407=CARTESIAN_POINT('Ctrl Pts',(14.3309013488407,4.50874601413163,78.3678821385128)); 1458 | #1408=CARTESIAN_POINT('Ctrl Pts',(14.0227453586839,4.95207683262816,78.1950027038609)); 1459 | #1409=CARTESIAN_POINT('Ctrl Pts',(13.6072375226925,5.93619572569584,77.9340338203525)); 1460 | #1410=CARTESIAN_POINT('Ctrl Pts',(13.5,6.4787568346248,77.8524925983347)); 1461 | #1411=CARTESIAN_POINT('Ctrl Pts',(13.5,7.00000000000006,77.8524925983347)); 1462 | #1412=CARTESIAN_POINT('',(17.006208896637,3.00000000000006,66.9835605621338)); 1463 | #1413=CARTESIAN_POINT('Origin',(17.006208896637,3.00000000000006,72.9835605621338)); 1464 | #1414=CARTESIAN_POINT('Origin',(17.006208896637,3.00000000000006,72.9835605621338)); 1465 | #1415=CARTESIAN_POINT('Origin',(7.5,14.0001964638505,81.0006596508908)); 1466 | #1416=CARTESIAN_POINT('',(13.5,13.6653039837718,82.3438400247746)); 1467 | #1417=CARTESIAN_POINT('',(7.5,13.6653039837718,82.3438400247746)); 1468 | #1418=CARTESIAN_POINT('Origin',(13.5,14.0001964638505,81.0006596508908)); 1469 | #1419=CARTESIAN_POINT('Origin',(80.7,14.000016781304,81.0018689219899)); 1470 | #1420=CARTESIAN_POINT('',(80.7,11.0256821971826,81.39344749865)); 1471 | #1421=CARTESIAN_POINT('Origin',(80.7,14.000016781304,81.0018689219899)); 1472 | #1422=CARTESIAN_POINT('',(80.7,12.6275596597042,81.1825563298801)); 1473 | #1423=CARTESIAN_POINT('Origin',(80.7,14.000016781304,81.0018689219899)); 1474 | #1424=CARTESIAN_POINT('Origin',(67.0194260508489,0.640500000000045,72.9996492845698)); 1475 | #1425=CARTESIAN_POINT('',(68.0945298994848,0.482701106468205,70.1989080050782)); 1476 | #1426=CARTESIAN_POINT('Origin',(67.0194260508489,0.482701106468205,72.9996492845698)); 1477 | #1427=CARTESIAN_POINT('',(68.0945298994848,-2.14645786552124E-14,70.1989080050782)); 1478 | #1428=CARTESIAN_POINT('',(68.0945298994848,0.640500000000044,70.1989080050782)); 1479 | #1429=CARTESIAN_POINT('Origin',(67.0194260508489,-2.11539337800111E-14, 1480 | 72.9996492845698)); 1481 | #1430=CARTESIAN_POINT('Origin',(17.006208896637,1.74135055323414,72.9835605621338)); 1482 | #1431=CARTESIAN_POINT('',(17.006208896637,1.74135055323414,68.4835605621338)); 1483 | #1432=CARTESIAN_POINT('Origin',(17.006208896637,3.00000000000006,72.9835605621338)); 1484 | #1433=CARTESIAN_POINT('Origin',(17.5,7.00000000000006,23.)); 1485 | #1434=CARTESIAN_POINT('',(17.5,3.00000000000006,23.)); 1486 | #1435=CARTESIAN_POINT('Origin',(17.0032853013985,1.74135055323414,22.9962231927692)); 1487 | #1436=CARTESIAN_POINT('',(20.4447439195047,3.00000000000006,18.0813109270353)); 1488 | #1437=CARTESIAN_POINT('Origin',(17.0032853013985,3.00000000000006,22.9962231927692)); 1489 | #1438=CARTESIAN_POINT('',(19.5843792649782,1.74135055323414,19.3100389934688)); 1490 | #1439=CARTESIAN_POINT('Origin',(17.0032853013985,3.00000000000006,22.9962231927692)); 1491 | #1440=CARTESIAN_POINT('Origin',(80.7,14.000138961944,11.0051050427006)); 1492 | #1441=CARTESIAN_POINT('',(80.7,12.9740785319669,8.18602718034292)); 1493 | #1442=CARTESIAN_POINT('Origin',(80.7,14.000138961944,11.0051050427006)); 1494 | #1443=CARTESIAN_POINT('',(80.7,13.5266804775382,9.70428854774672)); 1495 | #1444=CARTESIAN_POINT('Origin',(80.7,14.000138961944,11.0051050427006)); 1496 | #1445=CARTESIAN_POINT('Origin',(13.5,3.,0.)); 1497 | #1446=CARTESIAN_POINT('',(13.5,7.00000000000006,-2.22044604925031E-15)); 1498 | #1447=CARTESIAN_POINT('',(13.5,7.00000000000006,23.)); 1499 | #1448=CARTESIAN_POINT('',(13.5,18.5,0.)); 1500 | #1449=CARTESIAN_POINT('',(13.5,6.25,0.)); 1501 | #1450=CARTESIAN_POINT('',(13.5,18.5,0.)); 1502 | #1451=CARTESIAN_POINT('Origin',(5.,14.25,5.)); 1503 | #1452=CARTESIAN_POINT('',(5.,18.5,0.)); 1504 | #1453=CARTESIAN_POINT('Origin',(5.,18.5,5.)); 1505 | #1454=CARTESIAN_POINT('',(5.,0.,0.)); 1506 | #1455=CARTESIAN_POINT('',(5.,14.25,0.)); 1507 | #1456=CARTESIAN_POINT('Origin',(5.,0.,5.)); 1508 | #1457=CARTESIAN_POINT('Origin',(17.5,7.00000000000006,23.)); 1509 | #1458=CARTESIAN_POINT('',(17.5,3.00000000000006,-4.44089209850063E-15)); 1510 | #1459=CARTESIAN_POINT('',(17.5,3.00000000000006,23.)); 1511 | #1460=CARTESIAN_POINT('Origin',(17.5,7.00000000000006,-4.44089209850063E-15)); 1512 | #1461=CARTESIAN_POINT('Origin',(82.35,14.000138961944,11.0051050427006)); 1513 | #1462=CARTESIAN_POINT('',(84.,12.9740785319669,8.18602718034292)); 1514 | #1463=CARTESIAN_POINT('Origin',(84.,14.000138961944,11.0051050427006)); 1515 | #1464=CARTESIAN_POINT('',(82.35,12.9740785319669,8.18602718034292)); 1516 | #1465=CARTESIAN_POINT('Origin',(82.35,14.000016781304,81.0018689219899)); 1517 | #1466=CARTESIAN_POINT('',(84.,11.0256821971826,81.39344749865)); 1518 | #1467=CARTESIAN_POINT('Origin',(84.,14.000016781304,81.0018689219899)); 1519 | #1468=CARTESIAN_POINT('',(82.35,11.0256821971826,81.39344749865)); 1520 | #1469=CARTESIAN_POINT('Origin',(17.5,7.00000000000006,23.)); 1521 | #1470=CARTESIAN_POINT('',(13.5,7.00000000000006,92.)); 1522 | #1471=CARTESIAN_POINT('',(13.5,7.00000000000006,23.)); 1523 | #1472=CARTESIAN_POINT('',(17.5,3.00000000000006,92.)); 1524 | #1473=CARTESIAN_POINT('Origin',(17.5,7.00000000000006,92.)); 1525 | #1474=CARTESIAN_POINT('',(17.5,3.00000000000006,23.)); 1526 | #1475=CARTESIAN_POINT('Origin',(0.,0.,0.)); 1527 | #1476=CARTESIAN_POINT('',(79.,0.,0.)); 1528 | #1477=CARTESIAN_POINT('',(0.,0.,0.)); 1529 | #1478=CARTESIAN_POINT('',(84.,0.,5.)); 1530 | #1479=CARTESIAN_POINT('Origin',(79.,0.,5.)); 1531 | #1480=CARTESIAN_POINT('',(84.,0.,87.)); 1532 | #1481=CARTESIAN_POINT('',(84.,0.,0.)); 1533 | #1482=CARTESIAN_POINT('',(79.,0.,92.)); 1534 | #1483=CARTESIAN_POINT('Origin',(79.,0.,87.)); 1535 | #1484=CARTESIAN_POINT('',(5.,0.,92.)); 1536 | #1485=CARTESIAN_POINT('',(21.,0.,92.)); 1537 | #1486=CARTESIAN_POINT('Origin',(5.,0.,87.)); 1538 | #1487=CARTESIAN_POINT('',(67.1422154017738,-2.10385272896913E-14,20.001811475971)); 1539 | #1488=CARTESIAN_POINT('Origin',(67.0375169116662,-2.1006122696393E-14,22.9999839570283)); 1540 | #1489=CARTESIAN_POINT('Origin',(5.,14.25,87.)); 1541 | #1490=CARTESIAN_POINT('',(5.,18.5,92.)); 1542 | #1491=CARTESIAN_POINT('',(5.,14.25,92.)); 1543 | #1492=CARTESIAN_POINT('Origin',(5.,18.5,87.)); 1544 | #1493=CARTESIAN_POINT('Origin',(15.,18.5,0.)); 1545 | #1494=CARTESIAN_POINT('',(28.5,18.5,-4.44089209850063E-15)); 1546 | #1495=CARTESIAN_POINT('',(13.5,18.5,92.)); 1547 | #1496=CARTESIAN_POINT('',(28.5,18.5,92.)); 1548 | #1497=CARTESIAN_POINT('',(13.5,18.5,0.)); 1549 | #1498=CARTESIAN_POINT('Origin',(13.5,3.,0.)); 1550 | #1499=CARTESIAN_POINT('',(13.5,6.25,92.)); 1551 | #1500=CARTESIAN_POINT('Origin',(76.5,14.000016781304,81.0018689219899)); 1552 | #1501=CARTESIAN_POINT('',(70.5,12.6275596597042,81.1825563298801)); 1553 | #1502=CARTESIAN_POINT('',(76.5,12.6275596597042,81.1825563298801)); 1554 | #1503=CARTESIAN_POINT('Origin',(70.5,14.000016781304,81.0018689219899)); 1555 | #1504=CARTESIAN_POINT('Origin',(67.0194260508489,1.74135055323412,72.9996492845698)); 1556 | #1505=CARTESIAN_POINT('',(66.5,3.00000000000005,78.9771233813517)); 1557 | #1506=CARTESIAN_POINT('',(69.1696337481207,3.00000000000005,67.3981667255865)); 1558 | #1507=CARTESIAN_POINT('Origin',(67.0194260508489,3.00000000000005,72.9996492845698)); 1559 | #1508=CARTESIAN_POINT('',(68.6320818238027,1.74135055323412,68.7985373653324)); 1560 | #1509=CARTESIAN_POINT('',(66.5,3.00000000000005,67.0221751877878)); 1561 | #1510=CARTESIAN_POINT('Origin',(67.0194260508489,3.00000000000005,72.9996492845698)); 1562 | #1511=CARTESIAN_POINT('Origin',(67.0194260508489,3.00000000000005,72.9996492845698)); 1563 | #1512=CARTESIAN_POINT('Origin',(66.5,7.00000000000005,23.)); 1564 | #1513=CARTESIAN_POINT('',(70.5,7.00000000000005,77.8869394319306)); 1565 | #1514=CARTESIAN_POINT('Ctrl Pts',(66.5,3.00000000000004,78.9771233813517)); 1566 | #1515=CARTESIAN_POINT('Ctrl Pts',(67.0073907671735,3.00000000000004,79.0212142428365)); 1567 | #1516=CARTESIAN_POINT('Ctrl Pts',(67.5452733175732,3.10276840578667,78.9971644287037)); 1568 | #1517=CARTESIAN_POINT('Ctrl Pts',(68.5243298830015,3.50957051705088,78.8290547022055)); 1569 | #1518=CARTESIAN_POINT('Ctrl Pts',(68.9661669854609,3.81303329859532,78.6874853607037)); 1570 | #1519=CARTESIAN_POINT('Ctrl Pts',(69.6687981829932,4.50829657828012,78.3967498219389)); 1571 | #1520=CARTESIAN_POINT('Ctrl Pts',(69.9771624160196,4.95187154456392,78.2257038466862)); 1572 | #1521=CARTESIAN_POINT('Ctrl Pts',(70.3928249476225,5.93633054107201,77.9675501027378)); 1573 | #1522=CARTESIAN_POINT('Ctrl Pts',(70.5,6.47895884047512,77.8869394319306)); 1574 | #1523=CARTESIAN_POINT('Ctrl Pts',(70.5,7.00000000000004,77.8869394319306)); 1575 | #1524=CARTESIAN_POINT('',(66.5,3.00000000000005,92.)); 1576 | #1525=CARTESIAN_POINT('',(66.5,3.00000000000005,23.)); 1577 | #1526=CARTESIAN_POINT('',(70.5,7.00000000000005,92.)); 1578 | #1527=CARTESIAN_POINT('Origin',(66.5,7.00000000000005,92.)); 1579 | #1528=CARTESIAN_POINT('',(70.5,7.00000000000005,23.)); 1580 | #1529=CARTESIAN_POINT('Origin',(67.0375169116662,0.640500000000045,22.9999839570283)); 1581 | #1530=CARTESIAN_POINT('',(67.1422154017738,0.482701106468205,20.001811475971)); 1582 | #1531=CARTESIAN_POINT('Origin',(67.0375169116662,0.482701106468205,22.9999839570283)); 1583 | #1532=CARTESIAN_POINT('',(67.1422154017738,0.640500000000045,20.001811475971)); 1584 | #1533=CARTESIAN_POINT('Origin',(42.,3.00000000000005,46.)); 1585 | #1534=CARTESIAN_POINT('',(66.5,3.00000000000004,-4.44089209850063E-15)); 1586 | #1535=CARTESIAN_POINT('',(42.,3.00000000000005,0.)); 1587 | #1536=CARTESIAN_POINT('',(42.,3.00000000000005,92.)); 1588 | #1537=CARTESIAN_POINT('',(66.5,3.00000000000005,23.)); 1589 | #1538=CARTESIAN_POINT('Origin',(67.0375169116662,3.00000000000005,22.9999839570283)); 1590 | #1539=CARTESIAN_POINT('',(66.5,3.00000000000005,23.)); 1591 | #1540=CARTESIAN_POINT('Origin',(76.5,14.000138961944,11.0051050427006)); 1592 | #1541=CARTESIAN_POINT('',(70.5,13.5266804775382,9.70428854774672)); 1593 | #1542=CARTESIAN_POINT('',(76.5,13.5266804775382,9.70428854774671)); 1594 | #1543=CARTESIAN_POINT('Origin',(70.5,14.000138961944,11.0051050427006)); 1595 | #1544=CARTESIAN_POINT('Origin',(42.,9.5,-4.44089209850063E-15)); 1596 | #1545=CARTESIAN_POINT('',(70.5,7.00000000000005,-2.22044604925031E-15)); 1597 | #1546=CARTESIAN_POINT('Origin',(66.5,7.00000000000005,-4.44089209850063E-15)); 1598 | #1547=CARTESIAN_POINT('',(70.5,18.5,0.)); 1599 | #1548=CARTESIAN_POINT('',(70.5,14.25,0.)); 1600 | #1549=CARTESIAN_POINT('',(79.,18.5,0.)); 1601 | #1550=CARTESIAN_POINT('',(63.,18.5,-4.44089209850063E-15)); 1602 | #1551=CARTESIAN_POINT('',(79.,4.75,0.)); 1603 | #1552=CARTESIAN_POINT('Origin',(79.,4.75,5.)); 1604 | #1553=CARTESIAN_POINT('',(84.,18.5,5.)); 1605 | #1554=CARTESIAN_POINT('Origin',(79.,18.5,5.)); 1606 | #1555=CARTESIAN_POINT('',(84.,4.75,5.)); 1607 | #1556=CARTESIAN_POINT('Origin',(84.,0.,0.)); 1608 | #1557=CARTESIAN_POINT('',(84.,18.5,87.)); 1609 | #1558=CARTESIAN_POINT('',(84.,18.5,0.)); 1610 | #1559=CARTESIAN_POINT('',(84.,4.75,87.)); 1611 | #1560=CARTESIAN_POINT('Origin',(79.,4.75,87.)); 1612 | #1561=CARTESIAN_POINT('',(79.,18.5,92.)); 1613 | #1562=CARTESIAN_POINT('Origin',(79.,18.5,87.)); 1614 | #1563=CARTESIAN_POINT('',(79.,4.75,92.)); 1615 | #1564=CARTESIAN_POINT('Origin',(42.,9.5,92.)); 1616 | #1565=CARTESIAN_POINT('',(70.5,18.5,92.)); 1617 | #1566=CARTESIAN_POINT('',(63.,18.5,92.)); 1618 | #1567=CARTESIAN_POINT('',(70.5,14.25,92.)); 1619 | #1568=CARTESIAN_POINT('Origin',(70.5,19.,0.)); 1620 | #1569=CARTESIAN_POINT('',(70.5,18.5,77.8869394319306)); 1621 | #1570=CARTESIAN_POINT('',(70.5,3.00000000000006,77.8869394319306)); 1622 | #1571=CARTESIAN_POINT('',(70.5,18.5,0.)); 1623 | #1572=CARTESIAN_POINT('Origin',(67.0194260508489,3.00000000000006,72.9996492845697)); 1624 | #1573=CARTESIAN_POINT('',(70.5,18.5,68.1123591372089)); 1625 | #1574=CARTESIAN_POINT('Origin',(67.0194260508489,18.5,72.9996492845697)); 1626 | #1575=CARTESIAN_POINT('',(70.5,7.00000000000005,68.1123591372089)); 1627 | #1576=CARTESIAN_POINT('',(70.5,3.00000000000006,68.1123591372089)); 1628 | #1577=CARTESIAN_POINT('Ctrl Pts',(70.5,7.00000000000004,68.1123591372089)); 1629 | #1578=CARTESIAN_POINT('Ctrl Pts',(70.5,6.47895884047512,68.1123591372089)); 1630 | #1579=CARTESIAN_POINT('Ctrl Pts',(70.3928249476225,5.93633054107201,68.0317484664017)); 1631 | #1580=CARTESIAN_POINT('Ctrl Pts',(69.9771624160196,4.95187154456392,67.7735947224533)); 1632 | #1581=CARTESIAN_POINT('Ctrl Pts',(69.6687981829932,4.50829657828012,67.6025487472006)); 1633 | #1582=CARTESIAN_POINT('Ctrl Pts',(68.9661669854609,3.81303329859532,67.3118132084357)); 1634 | #1583=CARTESIAN_POINT('Ctrl Pts',(68.5243298830015,3.50957051705088,67.170243866934)); 1635 | #1584=CARTESIAN_POINT('Ctrl Pts',(67.5452733175732,3.10276840578667,67.0021341404358)); 1636 | #1585=CARTESIAN_POINT('Ctrl Pts',(67.0073907671735,3.00000000000004,66.978084326303)); 1637 | #1586=CARTESIAN_POINT('Ctrl Pts',(66.5,3.00000000000004,67.0221751877878)); 1638 | #1587=CARTESIAN_POINT('Origin',(66.5,7.00000000000005,23.)); 1639 | #1588=CARTESIAN_POINT('',(70.5,7.00000000000005,23.)); 1640 | #1589=CARTESIAN_POINT('Origin',(67.0375169116662,1.74135055323413,22.9999839570283)); 1641 | #1590=CARTESIAN_POINT('',(67.1945646468275,1.74135055323413,18.5027252354423)); 1642 | #1591=CARTESIAN_POINT('Origin',(66.5,7.00000000000005,23.)); 1643 | #1592=CARTESIAN_POINT('',(70.5,7.00000000000005,23.)); 1644 | #1593=CARTESIAN_POINT('Origin',(70.5,19.,0.)); 1645 | #1594=CARTESIAN_POINT('',(70.5,18.5,0.)); 1646 | #1595=CARTESIAN_POINT('Origin',(84.,18.5,0.)); 1647 | #1596=CARTESIAN_POINT('',(70.5,18.5,0.)); 1648 | #1597=CARTESIAN_POINT('Origin',(70.5,19.,0.)); 1649 | #1598=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.01),#1602, 1650 | 'DISTANCE_ACCURACY_VALUE', 1651 | 'Maximum model space distance between geometric entities at asserted c 1652 | onnectivities'); 1653 | #1599=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.01),#1602, 1654 | 'DISTANCE_ACCURACY_VALUE', 1655 | 'Maximum model space distance between geometric entities at asserted c 1656 | onnectivities'); 1657 | #1600=( 1658 | GEOMETRIC_REPRESENTATION_CONTEXT(3) 1659 | GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1598)) 1660 | GLOBAL_UNIT_ASSIGNED_CONTEXT((#1602,#1604,#1605)) 1661 | REPRESENTATION_CONTEXT('','3D') 1662 | ); 1663 | #1601=( 1664 | GEOMETRIC_REPRESENTATION_CONTEXT(3) 1665 | GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1599)) 1666 | GLOBAL_UNIT_ASSIGNED_CONTEXT((#1602,#1604,#1605)) 1667 | REPRESENTATION_CONTEXT('','3D') 1668 | ); 1669 | #1602=( 1670 | LENGTH_UNIT() 1671 | NAMED_UNIT(*) 1672 | SI_UNIT(.MILLI.,.METRE.) 1673 | ); 1674 | #1603=( 1675 | LENGTH_UNIT() 1676 | NAMED_UNIT(*) 1677 | SI_UNIT($,.METRE.) 1678 | ); 1679 | #1604=( 1680 | NAMED_UNIT(*) 1681 | PLANE_ANGLE_UNIT() 1682 | SI_UNIT($,.RADIAN.) 1683 | ); 1684 | #1605=( 1685 | NAMED_UNIT(*) 1686 | SI_UNIT($,.STERADIAN.) 1687 | SOLID_ANGLE_UNIT() 1688 | ); 1689 | #1606=SHAPE_DEFINITION_REPRESENTATION(#1607,#1608); 1690 | #1607=PRODUCT_DEFINITION_SHAPE('',$,#1610); 1691 | #1608=SHAPE_REPRESENTATION('',(#902),#1600); 1692 | #1609=PRODUCT_DEFINITION_CONTEXT('part definition',#1614,'design'); 1693 | #1610=PRODUCT_DEFINITION('XYZ table rev_Middle Bracket - New v6', 1694 | 'XYZ table rev_Middle Bracket - New v6 v8',#1611,#1609); 1695 | #1611=PRODUCT_DEFINITION_FORMATION('',$,#1616); 1696 | #1612=PRODUCT_RELATED_PRODUCT_CATEGORY( 1697 | 'XYZ table rev_Middle Bracket - New v6 v8', 1698 | 'XYZ table rev_Middle Bracket - New v6 v8',(#1616)); 1699 | #1613=APPLICATION_PROTOCOL_DEFINITION('international standard', 1700 | 'automotive_design',2009,#1614); 1701 | #1614=APPLICATION_CONTEXT( 1702 | 'Core Data for Automotive Mechanical Design Process'); 1703 | #1615=PRODUCT_CONTEXT('part definition',#1614,'mechanical'); 1704 | #1616=PRODUCT('XYZ table rev_Middle Bracket - New v6', 1705 | 'XYZ table rev_Middle Bracket - New v6 v8',$,(#1615)); 1706 | #1617=PRESENTATION_STYLE_ASSIGNMENT((#1618)); 1707 | #1618=SURFACE_STYLE_USAGE(.BOTH.,#1619); 1708 | #1619=SURFACE_SIDE_STYLE('',(#1620)); 1709 | #1620=SURFACE_STYLE_FILL_AREA(#1621); 1710 | #1621=FILL_AREA_STYLE('Steel - Satin',(#1622)); 1711 | #1622=FILL_AREA_STYLE_COLOUR('Steel - Satin',#1623); 1712 | #1623=COLOUR_RGB('Steel - Satin',0.627450980392157,0.627450980392157,0.627450980392157); 1713 | ENDSEC; 1714 | END-ISO-10303-21; 1715 | -------------------------------------------------------------------------------- /chipshouter_adapter/50mm_mounting_pattern/3dprinted_simple/chipshouter mount - M3 or 4-40 holding bolt.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/chipshouter_adapter/50mm_mounting_pattern/3dprinted_simple/chipshouter mount - M3 or 4-40 holding bolt.stl -------------------------------------------------------------------------------- /chipshouter_adapter/50mm_mounting_pattern/cnc_multipart/cnc holder multipart slides.f3d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/chipshouter_adapter/50mm_mounting_pattern/cnc_multipart/cnc holder multipart slides.f3d -------------------------------------------------------------------------------- /chipshouter_adapter/50mm_mounting_pattern/cnc_multipart/cnc holder multipart slides.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/chipshouter_adapter/50mm_mounting_pattern/cnc_multipart/cnc holder multipart slides.png -------------------------------------------------------------------------------- /chipshouter_adapter/50mm_mounting_pattern/cnc_multipart/cnc holder multipart slides.step: -------------------------------------------------------------------------------- 1 | ISO-10303-21; 2 | HEADER; 3 | /* Generated by software containing ST-Developer 4 | * from STEP Tools, Inc. (www.steptools.com) 5 | */ 6 | 7 | FILE_DESCRIPTION( 8 | /* description */ (''), 9 | /* implementation_level */ '2;1'); 10 | 11 | FILE_NAME( 12 | /* name */ 'cnc holder multipart slides.step', 13 | /* time_stamp */ '2022-12-05T23:16:57-04:00', 14 | /* author */ (''), 15 | /* organization */ (''), 16 | /* preprocessor_version */ 'ST-DEVELOPER v19.2', 17 | /* originating_system */ 'Autodesk Translation Framework v11.17.0.187', 18 | 19 | /* authorisation */ ''); 20 | 21 | FILE_SCHEMA (('AUTOMOTIVE_DESIGN { 1 0 10303 214 3 1 1 }')); 22 | ENDSEC; 23 | 24 | DATA; 25 | #10=MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',(#13),#793); 26 | #11=SHAPE_REPRESENTATION_RELATIONSHIP('SRR','None',#800,#12); 27 | #12=ADVANCED_BREP_SHAPE_REPRESENTATION('',(#14),#792); 28 | #13=STYLED_ITEM('',(#809),#14); 29 | #14=MANIFOLD_SOLID_BREP('Body1',#469); 30 | #15=CIRCLE('',#486,1.75); 31 | #16=CIRCLE('',#487,1.75); 32 | #17=CIRCLE('',#490,1.75); 33 | #18=CIRCLE('',#491,1.75); 34 | #19=CIRCLE('',#496,1.); 35 | #20=CIRCLE('',#497,1.); 36 | #21=CIRCLE('',#499,3.); 37 | #22=CIRCLE('',#500,3.); 38 | #23=CIRCLE('',#502,1.); 39 | #24=CIRCLE('',#503,1.); 40 | #25=CIRCLE('',#505,3.); 41 | #26=CIRCLE('',#507,3.); 42 | #27=CIRCLE('',#509,3.); 43 | #28=CIRCLE('',#510,3.); 44 | #29=CIRCLE('',#512,3.); 45 | #30=CIRCLE('',#514,3.); 46 | #31=CYLINDRICAL_SURFACE('',#485,1.75); 47 | #32=CYLINDRICAL_SURFACE('',#489,1.75); 48 | #33=CYLINDRICAL_SURFACE('',#498,3.); 49 | #34=CYLINDRICAL_SURFACE('',#506,3.); 50 | #35=CYLINDRICAL_SURFACE('',#508,3.); 51 | #36=CYLINDRICAL_SURFACE('',#513,3.); 52 | #37=CYLINDRICAL_SURFACE('',#516,1.); 53 | #38=CYLINDRICAL_SURFACE('',#517,1.); 54 | #39=FACE_OUTER_BOUND('',#63,.T.); 55 | #40=FACE_OUTER_BOUND('',#64,.T.); 56 | #41=FACE_OUTER_BOUND('',#65,.T.); 57 | #42=FACE_OUTER_BOUND('',#66,.T.); 58 | #43=FACE_OUTER_BOUND('',#67,.T.); 59 | #44=FACE_OUTER_BOUND('',#68,.T.); 60 | #45=FACE_OUTER_BOUND('',#69,.T.); 61 | #46=FACE_OUTER_BOUND('',#70,.T.); 62 | #47=FACE_OUTER_BOUND('',#71,.T.); 63 | #48=FACE_OUTER_BOUND('',#72,.T.); 64 | #49=FACE_OUTER_BOUND('',#73,.T.); 65 | #50=FACE_OUTER_BOUND('',#74,.T.); 66 | #51=FACE_OUTER_BOUND('',#75,.T.); 67 | #52=FACE_OUTER_BOUND('',#76,.T.); 68 | #53=FACE_OUTER_BOUND('',#77,.T.); 69 | #54=FACE_OUTER_BOUND('',#78,.T.); 70 | #55=FACE_OUTER_BOUND('',#79,.T.); 71 | #56=FACE_OUTER_BOUND('',#80,.T.); 72 | #57=FACE_OUTER_BOUND('',#81,.T.); 73 | #58=FACE_OUTER_BOUND('',#82,.T.); 74 | #59=FACE_OUTER_BOUND('',#83,.T.); 75 | #60=FACE_OUTER_BOUND('',#84,.T.); 76 | #61=FACE_OUTER_BOUND('',#85,.T.); 77 | #62=FACE_OUTER_BOUND('',#86,.T.); 78 | #63=EDGE_LOOP('',(#297,#298,#299,#300)); 79 | #64=EDGE_LOOP('',(#301,#302,#303,#304)); 80 | #65=EDGE_LOOP('',(#305,#306,#307,#308)); 81 | #66=EDGE_LOOP('',(#309,#310,#311,#312)); 82 | #67=EDGE_LOOP('',(#313,#314,#315,#316)); 83 | #68=EDGE_LOOP('',(#317,#318,#319,#320)); 84 | #69=EDGE_LOOP('',(#321,#322,#323,#324)); 85 | #70=EDGE_LOOP('',(#325,#326,#327,#328)); 86 | #71=EDGE_LOOP('',(#329,#330,#331,#332,#333,#334,#335,#336,#337,#338,#339, 87 | #340,#341,#342,#343,#344,#345,#346)); 88 | #72=EDGE_LOOP('',(#347,#348,#349,#350)); 89 | #73=EDGE_LOOP('',(#351,#352,#353,#354,#355,#356,#357,#358,#359,#360)); 90 | #74=EDGE_LOOP('',(#361,#362,#363,#364,#365,#366)); 91 | #75=EDGE_LOOP('',(#367,#368,#369,#370)); 92 | #76=EDGE_LOOP('',(#371,#372,#373,#374)); 93 | #77=EDGE_LOOP('',(#375,#376,#377,#378,#379,#380)); 94 | #78=EDGE_LOOP('',(#381,#382,#383,#384)); 95 | #79=EDGE_LOOP('',(#385,#386,#387,#388,#389,#390)); 96 | #80=EDGE_LOOP('',(#391,#392,#393,#394)); 97 | #81=EDGE_LOOP('',(#395,#396,#397,#398)); 98 | #82=EDGE_LOOP('',(#399,#400,#401,#402)); 99 | #83=EDGE_LOOP('',(#403,#404,#405,#406,#407,#408,#409,#410,#411,#412,#413, 100 | #414)); 101 | #84=EDGE_LOOP('',(#415,#416,#417,#418)); 102 | #85=EDGE_LOOP('',(#419,#420,#421,#422,#423,#424)); 103 | #86=EDGE_LOOP('',(#425,#426,#427,#428)); 104 | #87=LINE('',#659,#137); 105 | #88=LINE('',#661,#138); 106 | #89=LINE('',#663,#139); 107 | #90=LINE('',#664,#140); 108 | #91=LINE('',#668,#141); 109 | #92=LINE('',#670,#142); 110 | #93=LINE('',#672,#143); 111 | #94=LINE('',#673,#144); 112 | #95=LINE('',#678,#145); 113 | #96=LINE('',#684,#146); 114 | #97=LINE('',#687,#147); 115 | #98=LINE('',#690,#148); 116 | #99=LINE('',#692,#149); 117 | #100=LINE('',#693,#150); 118 | #101=LINE('',#696,#151); 119 | #102=LINE('',#698,#152); 120 | #103=LINE('',#699,#153); 121 | #104=LINE('',#701,#154); 122 | #105=LINE('',#703,#155); 123 | #106=LINE('',#705,#156); 124 | #107=LINE('',#707,#157); 125 | #108=LINE('',#709,#158); 126 | #109=LINE('',#711,#159); 127 | #110=LINE('',#715,#160); 128 | #111=LINE('',#719,#161); 129 | #112=LINE('',#721,#162); 130 | #113=LINE('',#723,#163); 131 | #114=LINE('',#724,#164); 132 | #115=LINE('',#730,#165); 133 | #116=LINE('',#733,#166); 134 | #117=LINE('',#737,#167); 135 | #118=LINE('',#739,#168); 136 | #119=LINE('',#741,#169); 137 | #120=LINE('',#743,#170); 138 | #121=LINE('',#747,#171); 139 | #122=LINE('',#750,#172); 140 | #123=LINE('',#751,#173); 141 | #124=LINE('',#754,#174); 142 | #125=LINE('',#756,#175); 143 | #126=LINE('',#759,#176); 144 | #127=LINE('',#765,#177); 145 | #128=LINE('',#769,#178); 146 | #129=LINE('',#771,#179); 147 | #130=LINE('',#775,#180); 148 | #131=LINE('',#777,#181); 149 | #132=LINE('',#778,#182); 150 | #133=LINE('',#780,#183); 151 | #134=LINE('',#782,#184); 152 | #135=LINE('',#783,#185); 153 | #136=LINE('',#788,#186); 154 | #137=VECTOR('',#527,10.); 155 | #138=VECTOR('',#528,10.); 156 | #139=VECTOR('',#529,10.); 157 | #140=VECTOR('',#530,10.); 158 | #141=VECTOR('',#533,10.); 159 | #142=VECTOR('',#534,10.); 160 | #143=VECTOR('',#535,10.); 161 | #144=VECTOR('',#536,10.); 162 | #145=VECTOR('',#545,10.); 163 | #146=VECTOR('',#550,10.); 164 | #147=VECTOR('',#553,10.); 165 | #148=VECTOR('',#556,10.); 166 | #149=VECTOR('',#557,10.); 167 | #150=VECTOR('',#558,10.); 168 | #151=VECTOR('',#561,10.); 169 | #152=VECTOR('',#562,10.); 170 | #153=VECTOR('',#563,10.); 171 | #154=VECTOR('',#566,10.); 172 | #155=VECTOR('',#569,10.); 173 | #156=VECTOR('',#570,10.); 174 | #157=VECTOR('',#571,10.); 175 | #158=VECTOR('',#572,10.); 176 | #159=VECTOR('',#573,10.); 177 | #160=VECTOR('',#576,10.); 178 | #161=VECTOR('',#579,10.); 179 | #162=VECTOR('',#580,10.); 180 | #163=VECTOR('',#581,10.); 181 | #164=VECTOR('',#582,10.); 182 | #165=VECTOR('',#587,10.); 183 | #166=VECTOR('',#590,10.); 184 | #167=VECTOR('',#593,10.); 185 | #168=VECTOR('',#594,10.); 186 | #169=VECTOR('',#595,10.); 187 | #170=VECTOR('',#596,10.); 188 | #171=VECTOR('',#599,10.); 189 | #172=VECTOR('',#602,10.); 190 | #173=VECTOR('',#603,10.); 191 | #174=VECTOR('',#606,10.); 192 | #175=VECTOR('',#609,10.); 193 | #176=VECTOR('',#612,10.); 194 | #177=VECTOR('',#619,10.); 195 | #178=VECTOR('',#624,10.); 196 | #179=VECTOR('',#627,10.); 197 | #180=VECTOR('',#632,10.); 198 | #181=VECTOR('',#635,10.); 199 | #182=VECTOR('',#636,10.); 200 | #183=VECTOR('',#639,10.); 201 | #184=VECTOR('',#642,10.); 202 | #185=VECTOR('',#643,10.); 203 | #186=VECTOR('',#652,10.); 204 | #187=VERTEX_POINT('',#657); 205 | #188=VERTEX_POINT('',#658); 206 | #189=VERTEX_POINT('',#660); 207 | #190=VERTEX_POINT('',#662); 208 | #191=VERTEX_POINT('',#666); 209 | #192=VERTEX_POINT('',#667); 210 | #193=VERTEX_POINT('',#669); 211 | #194=VERTEX_POINT('',#671); 212 | #195=VERTEX_POINT('',#680); 213 | #196=VERTEX_POINT('',#681); 214 | #197=VERTEX_POINT('',#683); 215 | #198=VERTEX_POINT('',#685); 216 | #199=VERTEX_POINT('',#689); 217 | #200=VERTEX_POINT('',#691); 218 | #201=VERTEX_POINT('',#695); 219 | #202=VERTEX_POINT('',#697); 220 | #203=VERTEX_POINT('',#704); 221 | #204=VERTEX_POINT('',#706); 222 | #205=VERTEX_POINT('',#708); 223 | #206=VERTEX_POINT('',#710); 224 | #207=VERTEX_POINT('',#712); 225 | #208=VERTEX_POINT('',#714); 226 | #209=VERTEX_POINT('',#716); 227 | #210=VERTEX_POINT('',#718); 228 | #211=VERTEX_POINT('',#720); 229 | #212=VERTEX_POINT('',#722); 230 | #213=VERTEX_POINT('',#726); 231 | #214=VERTEX_POINT('',#727); 232 | #215=VERTEX_POINT('',#729); 233 | #216=VERTEX_POINT('',#731); 234 | #217=VERTEX_POINT('',#735); 235 | #218=VERTEX_POINT('',#736); 236 | #219=VERTEX_POINT('',#738); 237 | #220=VERTEX_POINT('',#740); 238 | #221=VERTEX_POINT('',#742); 239 | #222=VERTEX_POINT('',#744); 240 | #223=VERTEX_POINT('',#746); 241 | #224=VERTEX_POINT('',#748); 242 | #225=VERTEX_POINT('',#753); 243 | #226=VERTEX_POINT('',#758); 244 | #227=VERTEX_POINT('',#762); 245 | #228=VERTEX_POINT('',#764); 246 | #229=VERTEX_POINT('',#768); 247 | #230=VERTEX_POINT('',#773); 248 | #231=EDGE_CURVE('',#187,#188,#87,.T.); 249 | #232=EDGE_CURVE('',#189,#187,#88,.T.); 250 | #233=EDGE_CURVE('',#189,#190,#89,.T.); 251 | #234=EDGE_CURVE('',#188,#190,#90,.T.); 252 | #235=EDGE_CURVE('',#191,#192,#91,.T.); 253 | #236=EDGE_CURVE('',#191,#193,#92,.T.); 254 | #237=EDGE_CURVE('',#193,#194,#93,.T.); 255 | #238=EDGE_CURVE('',#192,#194,#94,.T.); 256 | #239=EDGE_CURVE('',#188,#191,#15,.T.); 257 | #240=EDGE_CURVE('',#190,#193,#16,.T.); 258 | #241=EDGE_CURVE('',#194,#189,#95,.T.); 259 | #242=EDGE_CURVE('',#195,#196,#17,.T.); 260 | #243=EDGE_CURVE('',#195,#197,#96,.T.); 261 | #244=EDGE_CURVE('',#197,#198,#18,.T.); 262 | #245=EDGE_CURVE('',#196,#198,#97,.T.); 263 | #246=EDGE_CURVE('',#199,#195,#98,.T.); 264 | #247=EDGE_CURVE('',#200,#199,#99,.T.); 265 | #248=EDGE_CURVE('',#200,#197,#100,.T.); 266 | #249=EDGE_CURVE('',#196,#201,#101,.T.); 267 | #250=EDGE_CURVE('',#198,#202,#102,.T.); 268 | #251=EDGE_CURVE('',#201,#202,#103,.T.); 269 | #252=EDGE_CURVE('',#202,#200,#104,.T.); 270 | #253=EDGE_CURVE('',#187,#201,#105,.T.); 271 | #254=EDGE_CURVE('',#199,#203,#106,.T.); 272 | #255=EDGE_CURVE('',#203,#204,#107,.T.); 273 | #256=EDGE_CURVE('',#205,#204,#108,.T.); 274 | #257=EDGE_CURVE('',#205,#206,#109,.T.); 275 | #258=EDGE_CURVE('',#207,#206,#19,.T.); 276 | #259=EDGE_CURVE('',#207,#208,#110,.T.); 277 | #260=EDGE_CURVE('',#209,#208,#20,.T.); 278 | #261=EDGE_CURVE('',#209,#210,#111,.T.); 279 | #262=EDGE_CURVE('',#211,#210,#112,.T.); 280 | #263=EDGE_CURVE('',#211,#212,#113,.T.); 281 | #264=EDGE_CURVE('',#212,#192,#114,.T.); 282 | #265=EDGE_CURVE('',#213,#214,#21,.T.); 283 | #266=EDGE_CURVE('',#214,#215,#115,.T.); 284 | #267=EDGE_CURVE('',#215,#216,#22,.T.); 285 | #268=EDGE_CURVE('',#216,#213,#116,.T.); 286 | #269=EDGE_CURVE('',#217,#218,#117,.T.); 287 | #270=EDGE_CURVE('',#219,#217,#118,.T.); 288 | #271=EDGE_CURVE('',#220,#219,#119,.T.); 289 | #272=EDGE_CURVE('',#221,#220,#120,.T.); 290 | #273=EDGE_CURVE('',#222,#221,#23,.T.); 291 | #274=EDGE_CURVE('',#223,#222,#121,.T.); 292 | #275=EDGE_CURVE('',#224,#223,#24,.T.); 293 | #276=EDGE_CURVE('',#215,#224,#122,.T.); 294 | #277=EDGE_CURVE('',#218,#214,#123,.T.); 295 | #278=EDGE_CURVE('',#213,#225,#124,.T.); 296 | #279=EDGE_CURVE('',#204,#225,#25,.T.); 297 | #280=EDGE_CURVE('',#218,#203,#125,.T.); 298 | #281=EDGE_CURVE('',#225,#226,#126,.T.); 299 | #282=EDGE_CURVE('',#226,#205,#26,.T.); 300 | #283=EDGE_CURVE('',#219,#227,#27,.T.); 301 | #284=EDGE_CURVE('',#227,#228,#127,.T.); 302 | #285=EDGE_CURVE('',#228,#220,#28,.T.); 303 | #286=EDGE_CURVE('',#228,#229,#128,.T.); 304 | #287=EDGE_CURVE('',#210,#229,#29,.T.); 305 | #288=EDGE_CURVE('',#221,#209,#129,.T.); 306 | #289=EDGE_CURVE('',#230,#211,#30,.T.); 307 | #290=EDGE_CURVE('',#229,#230,#130,.T.); 308 | #291=EDGE_CURVE('',#217,#212,#131,.T.); 309 | #292=EDGE_CURVE('',#227,#230,#132,.T.); 310 | #293=EDGE_CURVE('',#208,#222,#133,.T.); 311 | #294=EDGE_CURVE('',#223,#207,#134,.T.); 312 | #295=EDGE_CURVE('',#206,#224,#135,.T.); 313 | #296=EDGE_CURVE('',#216,#226,#136,.T.); 314 | #297=ORIENTED_EDGE('',*,*,#231,.F.); 315 | #298=ORIENTED_EDGE('',*,*,#232,.F.); 316 | #299=ORIENTED_EDGE('',*,*,#233,.T.); 317 | #300=ORIENTED_EDGE('',*,*,#234,.F.); 318 | #301=ORIENTED_EDGE('',*,*,#235,.F.); 319 | #302=ORIENTED_EDGE('',*,*,#236,.T.); 320 | #303=ORIENTED_EDGE('',*,*,#237,.T.); 321 | #304=ORIENTED_EDGE('',*,*,#238,.F.); 322 | #305=ORIENTED_EDGE('',*,*,#239,.F.); 323 | #306=ORIENTED_EDGE('',*,*,#234,.T.); 324 | #307=ORIENTED_EDGE('',*,*,#240,.T.); 325 | #308=ORIENTED_EDGE('',*,*,#236,.F.); 326 | #309=ORIENTED_EDGE('',*,*,#240,.F.); 327 | #310=ORIENTED_EDGE('',*,*,#233,.F.); 328 | #311=ORIENTED_EDGE('',*,*,#241,.F.); 329 | #312=ORIENTED_EDGE('',*,*,#237,.F.); 330 | #313=ORIENTED_EDGE('',*,*,#242,.F.); 331 | #314=ORIENTED_EDGE('',*,*,#243,.T.); 332 | #315=ORIENTED_EDGE('',*,*,#244,.T.); 333 | #316=ORIENTED_EDGE('',*,*,#245,.F.); 334 | #317=ORIENTED_EDGE('',*,*,#246,.F.); 335 | #318=ORIENTED_EDGE('',*,*,#247,.F.); 336 | #319=ORIENTED_EDGE('',*,*,#248,.T.); 337 | #320=ORIENTED_EDGE('',*,*,#243,.F.); 338 | #321=ORIENTED_EDGE('',*,*,#249,.F.); 339 | #322=ORIENTED_EDGE('',*,*,#245,.T.); 340 | #323=ORIENTED_EDGE('',*,*,#250,.T.); 341 | #324=ORIENTED_EDGE('',*,*,#251,.F.); 342 | #325=ORIENTED_EDGE('',*,*,#250,.F.); 343 | #326=ORIENTED_EDGE('',*,*,#244,.F.); 344 | #327=ORIENTED_EDGE('',*,*,#248,.F.); 345 | #328=ORIENTED_EDGE('',*,*,#252,.F.); 346 | #329=ORIENTED_EDGE('',*,*,#238,.T.); 347 | #330=ORIENTED_EDGE('',*,*,#241,.T.); 348 | #331=ORIENTED_EDGE('',*,*,#232,.T.); 349 | #332=ORIENTED_EDGE('',*,*,#253,.T.); 350 | #333=ORIENTED_EDGE('',*,*,#251,.T.); 351 | #334=ORIENTED_EDGE('',*,*,#252,.T.); 352 | #335=ORIENTED_EDGE('',*,*,#247,.T.); 353 | #336=ORIENTED_EDGE('',*,*,#254,.T.); 354 | #337=ORIENTED_EDGE('',*,*,#255,.T.); 355 | #338=ORIENTED_EDGE('',*,*,#256,.F.); 356 | #339=ORIENTED_EDGE('',*,*,#257,.T.); 357 | #340=ORIENTED_EDGE('',*,*,#258,.F.); 358 | #341=ORIENTED_EDGE('',*,*,#259,.T.); 359 | #342=ORIENTED_EDGE('',*,*,#260,.F.); 360 | #343=ORIENTED_EDGE('',*,*,#261,.T.); 361 | #344=ORIENTED_EDGE('',*,*,#262,.F.); 362 | #345=ORIENTED_EDGE('',*,*,#263,.T.); 363 | #346=ORIENTED_EDGE('',*,*,#264,.T.); 364 | #347=ORIENTED_EDGE('',*,*,#265,.T.); 365 | #348=ORIENTED_EDGE('',*,*,#266,.T.); 366 | #349=ORIENTED_EDGE('',*,*,#267,.T.); 367 | #350=ORIENTED_EDGE('',*,*,#268,.T.); 368 | #351=ORIENTED_EDGE('',*,*,#269,.F.); 369 | #352=ORIENTED_EDGE('',*,*,#270,.F.); 370 | #353=ORIENTED_EDGE('',*,*,#271,.F.); 371 | #354=ORIENTED_EDGE('',*,*,#272,.F.); 372 | #355=ORIENTED_EDGE('',*,*,#273,.F.); 373 | #356=ORIENTED_EDGE('',*,*,#274,.F.); 374 | #357=ORIENTED_EDGE('',*,*,#275,.F.); 375 | #358=ORIENTED_EDGE('',*,*,#276,.F.); 376 | #359=ORIENTED_EDGE('',*,*,#266,.F.); 377 | #360=ORIENTED_EDGE('',*,*,#277,.F.); 378 | #361=ORIENTED_EDGE('',*,*,#265,.F.); 379 | #362=ORIENTED_EDGE('',*,*,#278,.T.); 380 | #363=ORIENTED_EDGE('',*,*,#279,.F.); 381 | #364=ORIENTED_EDGE('',*,*,#255,.F.); 382 | #365=ORIENTED_EDGE('',*,*,#280,.F.); 383 | #366=ORIENTED_EDGE('',*,*,#277,.T.); 384 | #367=ORIENTED_EDGE('',*,*,#279,.T.); 385 | #368=ORIENTED_EDGE('',*,*,#281,.T.); 386 | #369=ORIENTED_EDGE('',*,*,#282,.T.); 387 | #370=ORIENTED_EDGE('',*,*,#256,.T.); 388 | #371=ORIENTED_EDGE('',*,*,#283,.T.); 389 | #372=ORIENTED_EDGE('',*,*,#284,.T.); 390 | #373=ORIENTED_EDGE('',*,*,#285,.T.); 391 | #374=ORIENTED_EDGE('',*,*,#271,.T.); 392 | #375=ORIENTED_EDGE('',*,*,#285,.F.); 393 | #376=ORIENTED_EDGE('',*,*,#286,.T.); 394 | #377=ORIENTED_EDGE('',*,*,#287,.F.); 395 | #378=ORIENTED_EDGE('',*,*,#261,.F.); 396 | #379=ORIENTED_EDGE('',*,*,#288,.F.); 397 | #380=ORIENTED_EDGE('',*,*,#272,.T.); 398 | #381=ORIENTED_EDGE('',*,*,#289,.T.); 399 | #382=ORIENTED_EDGE('',*,*,#262,.T.); 400 | #383=ORIENTED_EDGE('',*,*,#287,.T.); 401 | #384=ORIENTED_EDGE('',*,*,#290,.T.); 402 | #385=ORIENTED_EDGE('',*,*,#283,.F.); 403 | #386=ORIENTED_EDGE('',*,*,#270,.T.); 404 | #387=ORIENTED_EDGE('',*,*,#291,.T.); 405 | #388=ORIENTED_EDGE('',*,*,#263,.F.); 406 | #389=ORIENTED_EDGE('',*,*,#289,.F.); 407 | #390=ORIENTED_EDGE('',*,*,#292,.F.); 408 | #391=ORIENTED_EDGE('',*,*,#273,.T.); 409 | #392=ORIENTED_EDGE('',*,*,#288,.T.); 410 | #393=ORIENTED_EDGE('',*,*,#260,.T.); 411 | #394=ORIENTED_EDGE('',*,*,#293,.T.); 412 | #395=ORIENTED_EDGE('',*,*,#275,.T.); 413 | #396=ORIENTED_EDGE('',*,*,#294,.T.); 414 | #397=ORIENTED_EDGE('',*,*,#258,.T.); 415 | #398=ORIENTED_EDGE('',*,*,#295,.T.); 416 | #399=ORIENTED_EDGE('',*,*,#293,.F.); 417 | #400=ORIENTED_EDGE('',*,*,#259,.F.); 418 | #401=ORIENTED_EDGE('',*,*,#294,.F.); 419 | #402=ORIENTED_EDGE('',*,*,#274,.T.); 420 | #403=ORIENTED_EDGE('',*,*,#235,.T.); 421 | #404=ORIENTED_EDGE('',*,*,#264,.F.); 422 | #405=ORIENTED_EDGE('',*,*,#291,.F.); 423 | #406=ORIENTED_EDGE('',*,*,#269,.T.); 424 | #407=ORIENTED_EDGE('',*,*,#280,.T.); 425 | #408=ORIENTED_EDGE('',*,*,#254,.F.); 426 | #409=ORIENTED_EDGE('',*,*,#246,.T.); 427 | #410=ORIENTED_EDGE('',*,*,#242,.T.); 428 | #411=ORIENTED_EDGE('',*,*,#249,.T.); 429 | #412=ORIENTED_EDGE('',*,*,#253,.F.); 430 | #413=ORIENTED_EDGE('',*,*,#231,.T.); 431 | #414=ORIENTED_EDGE('',*,*,#239,.T.); 432 | #415=ORIENTED_EDGE('',*,*,#284,.F.); 433 | #416=ORIENTED_EDGE('',*,*,#292,.T.); 434 | #417=ORIENTED_EDGE('',*,*,#290,.F.); 435 | #418=ORIENTED_EDGE('',*,*,#286,.F.); 436 | #419=ORIENTED_EDGE('',*,*,#267,.F.); 437 | #420=ORIENTED_EDGE('',*,*,#276,.T.); 438 | #421=ORIENTED_EDGE('',*,*,#295,.F.); 439 | #422=ORIENTED_EDGE('',*,*,#257,.F.); 440 | #423=ORIENTED_EDGE('',*,*,#282,.F.); 441 | #424=ORIENTED_EDGE('',*,*,#296,.F.); 442 | #425=ORIENTED_EDGE('',*,*,#268,.F.); 443 | #426=ORIENTED_EDGE('',*,*,#296,.T.); 444 | #427=ORIENTED_EDGE('',*,*,#281,.F.); 445 | #428=ORIENTED_EDGE('',*,*,#278,.F.); 446 | #429=PLANE('',#483); 447 | #430=PLANE('',#484); 448 | #431=PLANE('',#488); 449 | #432=PLANE('',#492); 450 | #433=PLANE('',#493); 451 | #434=PLANE('',#494); 452 | #435=PLANE('',#495); 453 | #436=PLANE('',#501); 454 | #437=PLANE('',#504); 455 | #438=PLANE('',#511); 456 | #439=PLANE('',#515); 457 | #440=PLANE('',#518); 458 | #441=PLANE('',#519); 459 | #442=PLANE('',#520); 460 | #443=PLANE('',#521); 461 | #444=PLANE('',#522); 462 | #445=ADVANCED_FACE('',(#39),#429,.F.); 463 | #446=ADVANCED_FACE('',(#40),#430,.F.); 464 | #447=ADVANCED_FACE('',(#41),#31,.F.); 465 | #448=ADVANCED_FACE('',(#42),#431,.T.); 466 | #449=ADVANCED_FACE('',(#43),#32,.F.); 467 | #450=ADVANCED_FACE('',(#44),#432,.F.); 468 | #451=ADVANCED_FACE('',(#45),#433,.F.); 469 | #452=ADVANCED_FACE('',(#46),#434,.T.); 470 | #453=ADVANCED_FACE('',(#47),#435,.T.); 471 | #454=ADVANCED_FACE('',(#48),#33,.T.); 472 | #455=ADVANCED_FACE('',(#49),#436,.F.); 473 | #456=ADVANCED_FACE('',(#50),#437,.T.); 474 | #457=ADVANCED_FACE('',(#51),#34,.T.); 475 | #458=ADVANCED_FACE('',(#52),#35,.T.); 476 | #459=ADVANCED_FACE('',(#53),#438,.T.); 477 | #460=ADVANCED_FACE('',(#54),#36,.T.); 478 | #461=ADVANCED_FACE('',(#55),#439,.T.); 479 | #462=ADVANCED_FACE('',(#56),#37,.F.); 480 | #463=ADVANCED_FACE('',(#57),#38,.F.); 481 | #464=ADVANCED_FACE('',(#58),#440,.T.); 482 | #465=ADVANCED_FACE('',(#59),#441,.T.); 483 | #466=ADVANCED_FACE('',(#60),#442,.T.); 484 | #467=ADVANCED_FACE('',(#61),#443,.T.); 485 | #468=ADVANCED_FACE('',(#62),#444,.T.); 486 | #469=CLOSED_SHELL('',(#445,#446,#447,#448,#449,#450,#451,#452,#453,#454, 487 | #455,#456,#457,#458,#459,#460,#461,#462,#463,#464,#465,#466,#467,#468)); 488 | #470=DERIVED_UNIT_ELEMENT(#472,1.); 489 | #471=DERIVED_UNIT_ELEMENT(#795,-3.); 490 | #472=( 491 | MASS_UNIT() 492 | NAMED_UNIT(*) 493 | SI_UNIT(.KILO.,.GRAM.) 494 | ); 495 | #473=DERIVED_UNIT((#470,#471)); 496 | #474=MEASURE_REPRESENTATION_ITEM('density measure', 497 | POSITIVE_RATIO_MEASURE(7850.),#473); 498 | #475=PROPERTY_DEFINITION_REPRESENTATION(#480,#477); 499 | #476=PROPERTY_DEFINITION_REPRESENTATION(#481,#478); 500 | #477=REPRESENTATION('material name',(#479),#792); 501 | #478=REPRESENTATION('density',(#474),#792); 502 | #479=DESCRIPTIVE_REPRESENTATION_ITEM('Steel','Steel'); 503 | #480=PROPERTY_DEFINITION('material property','material name',#802); 504 | #481=PROPERTY_DEFINITION('material property','density of part',#802); 505 | #482=AXIS2_PLACEMENT_3D('placement',#655,#523,#524); 506 | #483=AXIS2_PLACEMENT_3D('',#656,#525,#526); 507 | #484=AXIS2_PLACEMENT_3D('',#665,#531,#532); 508 | #485=AXIS2_PLACEMENT_3D('',#674,#537,#538); 509 | #486=AXIS2_PLACEMENT_3D('',#675,#539,#540); 510 | #487=AXIS2_PLACEMENT_3D('',#676,#541,#542); 511 | #488=AXIS2_PLACEMENT_3D('',#677,#543,#544); 512 | #489=AXIS2_PLACEMENT_3D('',#679,#546,#547); 513 | #490=AXIS2_PLACEMENT_3D('',#682,#548,#549); 514 | #491=AXIS2_PLACEMENT_3D('',#686,#551,#552); 515 | #492=AXIS2_PLACEMENT_3D('',#688,#554,#555); 516 | #493=AXIS2_PLACEMENT_3D('',#694,#559,#560); 517 | #494=AXIS2_PLACEMENT_3D('',#700,#564,#565); 518 | #495=AXIS2_PLACEMENT_3D('',#702,#567,#568); 519 | #496=AXIS2_PLACEMENT_3D('',#713,#574,#575); 520 | #497=AXIS2_PLACEMENT_3D('',#717,#577,#578); 521 | #498=AXIS2_PLACEMENT_3D('',#725,#583,#584); 522 | #499=AXIS2_PLACEMENT_3D('',#728,#585,#586); 523 | #500=AXIS2_PLACEMENT_3D('',#732,#588,#589); 524 | #501=AXIS2_PLACEMENT_3D('',#734,#591,#592); 525 | #502=AXIS2_PLACEMENT_3D('',#745,#597,#598); 526 | #503=AXIS2_PLACEMENT_3D('',#749,#600,#601); 527 | #504=AXIS2_PLACEMENT_3D('',#752,#604,#605); 528 | #505=AXIS2_PLACEMENT_3D('',#755,#607,#608); 529 | #506=AXIS2_PLACEMENT_3D('',#757,#610,#611); 530 | #507=AXIS2_PLACEMENT_3D('',#760,#613,#614); 531 | #508=AXIS2_PLACEMENT_3D('',#761,#615,#616); 532 | #509=AXIS2_PLACEMENT_3D('',#763,#617,#618); 533 | #510=AXIS2_PLACEMENT_3D('',#766,#620,#621); 534 | #511=AXIS2_PLACEMENT_3D('',#767,#622,#623); 535 | #512=AXIS2_PLACEMENT_3D('',#770,#625,#626); 536 | #513=AXIS2_PLACEMENT_3D('',#772,#628,#629); 537 | #514=AXIS2_PLACEMENT_3D('',#774,#630,#631); 538 | #515=AXIS2_PLACEMENT_3D('',#776,#633,#634); 539 | #516=AXIS2_PLACEMENT_3D('',#779,#637,#638); 540 | #517=AXIS2_PLACEMENT_3D('',#781,#640,#641); 541 | #518=AXIS2_PLACEMENT_3D('',#784,#644,#645); 542 | #519=AXIS2_PLACEMENT_3D('',#785,#646,#647); 543 | #520=AXIS2_PLACEMENT_3D('',#786,#648,#649); 544 | #521=AXIS2_PLACEMENT_3D('',#787,#650,#651); 545 | #522=AXIS2_PLACEMENT_3D('',#789,#653,#654); 546 | #523=DIRECTION('axis',(0.,0.,1.)); 547 | #524=DIRECTION('refdir',(1.,0.,0.)); 548 | #525=DIRECTION('center_axis',(0.,-1.,0.)); 549 | #526=DIRECTION('ref_axis',(0.,0.,-1.)); 550 | #527=DIRECTION('',(0.,0.,-1.)); 551 | #528=DIRECTION('',(-1.,0.,0.)); 552 | #529=DIRECTION('',(0.,0.,-1.)); 553 | #530=DIRECTION('',(1.,0.,0.)); 554 | #531=DIRECTION('center_axis',(0.,1.,0.)); 555 | #532=DIRECTION('ref_axis',(0.,0.,1.)); 556 | #533=DIRECTION('',(0.,0.,1.)); 557 | #534=DIRECTION('',(1.,0.,0.)); 558 | #535=DIRECTION('',(0.,0.,1.)); 559 | #536=DIRECTION('',(1.,0.,0.)); 560 | #537=DIRECTION('center_axis',(1.,0.,0.)); 561 | #538=DIRECTION('ref_axis',(0.,-1.22464679914735E-16,-1.)); 562 | #539=DIRECTION('center_axis',(1.,5.74941080081969E-17,0.)); 563 | #540=DIRECTION('ref_axis',(0.,0.,1.)); 564 | #541=DIRECTION('center_axis',(1.,5.74941080081969E-17,0.)); 565 | #542=DIRECTION('ref_axis',(0.,0.,1.)); 566 | #543=DIRECTION('center_axis',(-1.,-5.74941080081969E-17,0.)); 567 | #544=DIRECTION('ref_axis',(0.,0.,1.)); 568 | #545=DIRECTION('',(5.74941080081969E-17,-1.,0.)); 569 | #546=DIRECTION('center_axis',(1.,0.,0.)); 570 | #547=DIRECTION('ref_axis',(0.,-1.22464679914735E-16,-1.)); 571 | #548=DIRECTION('center_axis',(1.,5.74941080081969E-17,0.)); 572 | #549=DIRECTION('ref_axis',(0.,0.,1.)); 573 | #550=DIRECTION('',(1.,0.,0.)); 574 | #551=DIRECTION('center_axis',(1.,5.74941080081969E-17,0.)); 575 | #552=DIRECTION('ref_axis',(0.,0.,1.)); 576 | #553=DIRECTION('',(1.,0.,0.)); 577 | #554=DIRECTION('center_axis',(0.,-1.,0.)); 578 | #555=DIRECTION('ref_axis',(0.,0.,-1.)); 579 | #556=DIRECTION('',(0.,0.,-1.)); 580 | #557=DIRECTION('',(-1.,0.,0.)); 581 | #558=DIRECTION('',(0.,0.,-1.)); 582 | #559=DIRECTION('center_axis',(0.,1.,0.)); 583 | #560=DIRECTION('ref_axis',(0.,0.,1.)); 584 | #561=DIRECTION('',(0.,0.,1.)); 585 | #562=DIRECTION('',(0.,0.,1.)); 586 | #563=DIRECTION('',(1.,0.,0.)); 587 | #564=DIRECTION('center_axis',(-1.,-5.74941080081969E-17,0.)); 588 | #565=DIRECTION('ref_axis',(0.,0.,1.)); 589 | #566=DIRECTION('',(5.74941080081969E-17,-1.,0.)); 590 | #567=DIRECTION('center_axis',(0.,0.,1.)); 591 | #568=DIRECTION('ref_axis',(1.,0.,0.)); 592 | #569=DIRECTION('',(5.74941080081969E-17,-1.,0.)); 593 | #570=DIRECTION('',(5.74941080081969E-17,-1.,0.)); 594 | #571=DIRECTION('',(1.,0.,0.)); 595 | #572=DIRECTION('',(0.,-1.,0.)); 596 | #573=DIRECTION('',(-1.,3.02788097625043E-16,0.)); 597 | #574=DIRECTION('center_axis',(0.,0.,1.)); 598 | #575=DIRECTION('ref_axis',(-0.707106781186548,-0.707106781186547,0.)); 599 | #576=DIRECTION('',(4.62592926927149E-17,1.,0.)); 600 | #577=DIRECTION('center_axis',(0.,0.,1.)); 601 | #578=DIRECTION('ref_axis',(-0.707106781186546,0.707106781186549,0.)); 602 | #579=DIRECTION('',(1.,0.,0.)); 603 | #580=DIRECTION('',(0.,-1.,0.)); 604 | #581=DIRECTION('',(-1.,0.,0.)); 605 | #582=DIRECTION('',(5.74941080081969E-17,-1.,0.)); 606 | #583=DIRECTION('center_axis',(0.,1.,0.)); 607 | #584=DIRECTION('ref_axis',(0.707106781186548,0.,-0.707106781186548)); 608 | #585=DIRECTION('center_axis',(0.,1.,0.)); 609 | #586=DIRECTION('ref_axis',(0.707106781186548,0.,-0.707106781186548)); 610 | #587=DIRECTION('',(0.,1.,0.)); 611 | #588=DIRECTION('center_axis',(-3.02788097625043E-16,-1.,0.)); 612 | #589=DIRECTION('ref_axis',(0.707106781186548,0.,-0.707106781186548)); 613 | #590=DIRECTION('',(0.,-1.,0.)); 614 | #591=DIRECTION('center_axis',(0.,0.,1.)); 615 | #592=DIRECTION('ref_axis',(1.,0.,0.)); 616 | #593=DIRECTION('',(2.35471516158055E-17,-1.,0.)); 617 | #594=DIRECTION('',(-1.,0.,0.)); 618 | #595=DIRECTION('',(0.,1.,0.)); 619 | #596=DIRECTION('',(1.,0.,0.)); 620 | #597=DIRECTION('center_axis',(0.,0.,-1.)); 621 | #598=DIRECTION('ref_axis',(-0.707106781186546,0.707106781186549,0.)); 622 | #599=DIRECTION('',(4.62592926927149E-17,1.,0.)); 623 | #600=DIRECTION('center_axis',(0.,0.,-1.)); 624 | #601=DIRECTION('ref_axis',(-0.707106781186548,-0.707106781186547,0.)); 625 | #602=DIRECTION('',(-1.,3.02788097625043E-16,0.)); 626 | #603=DIRECTION('',(1.,0.,0.)); 627 | #604=DIRECTION('center_axis',(0.,-1.,0.)); 628 | #605=DIRECTION('ref_axis',(1.,0.,0.)); 629 | #606=DIRECTION('',(0.,0.,1.)); 630 | #607=DIRECTION('center_axis',(0.,1.,0.)); 631 | #608=DIRECTION('ref_axis',(0.707106781186547,0.,0.707106781186548)); 632 | #609=DIRECTION('',(0.,0.,1.)); 633 | #610=DIRECTION('center_axis',(0.,1.,0.)); 634 | #611=DIRECTION('ref_axis',(0.707106781186547,0.,0.707106781186548)); 635 | #612=DIRECTION('',(0.,1.,0.)); 636 | #613=DIRECTION('center_axis',(-3.02788097625043E-16,-1.,0.)); 637 | #614=DIRECTION('ref_axis',(0.707106781186547,0.,0.707106781186548)); 638 | #615=DIRECTION('center_axis',(0.,1.,0.)); 639 | #616=DIRECTION('ref_axis',(0.707106781186548,0.,-0.707106781186548)); 640 | #617=DIRECTION('center_axis',(0.,-1.,0.)); 641 | #618=DIRECTION('ref_axis',(0.707106781186548,0.,-0.707106781186548)); 642 | #619=DIRECTION('',(0.,-1.,0.)); 643 | #620=DIRECTION('center_axis',(0.,1.,0.)); 644 | #621=DIRECTION('ref_axis',(0.707106781186548,0.,-0.707106781186548)); 645 | #622=DIRECTION('center_axis',(0.,-1.,0.)); 646 | #623=DIRECTION('ref_axis',(1.,0.,0.)); 647 | #624=DIRECTION('',(0.,0.,1.)); 648 | #625=DIRECTION('center_axis',(0.,1.,0.)); 649 | #626=DIRECTION('ref_axis',(0.707106781186547,0.,0.707106781186548)); 650 | #627=DIRECTION('',(0.,0.,1.)); 651 | #628=DIRECTION('center_axis',(0.,1.,0.)); 652 | #629=DIRECTION('ref_axis',(0.707106781186547,0.,0.707106781186548)); 653 | #630=DIRECTION('center_axis',(0.,-1.,0.)); 654 | #631=DIRECTION('ref_axis',(0.707106781186547,0.,0.707106781186548)); 655 | #632=DIRECTION('',(0.,1.,0.)); 656 | #633=DIRECTION('center_axis',(0.,1.,0.)); 657 | #634=DIRECTION('ref_axis',(-1.,0.,0.)); 658 | #635=DIRECTION('',(0.,0.,1.)); 659 | #636=DIRECTION('',(0.,0.,1.)); 660 | #637=DIRECTION('center_axis',(0.,0.,1.)); 661 | #638=DIRECTION('ref_axis',(-0.707106781186546,0.707106781186549,0.)); 662 | #639=DIRECTION('',(0.,0.,-1.)); 663 | #640=DIRECTION('center_axis',(0.,0.,1.)); 664 | #641=DIRECTION('ref_axis',(-0.707106781186548,-0.707106781186547,0.)); 665 | #642=DIRECTION('',(0.,0.,1.)); 666 | #643=DIRECTION('',(0.,0.,-1.)); 667 | #644=DIRECTION('center_axis',(1.,-4.62592926927149E-17,0.)); 668 | #645=DIRECTION('ref_axis',(4.62592926927149E-17,1.,0.)); 669 | #646=DIRECTION('center_axis',(-1.,-5.74941080081969E-17,0.)); 670 | #647=DIRECTION('ref_axis',(5.74941080081969E-17,-1.,0.)); 671 | #648=DIRECTION('center_axis',(1.,0.,0.)); 672 | #649=DIRECTION('ref_axis',(0.,1.,0.)); 673 | #650=DIRECTION('center_axis',(3.02788097625043E-16,1.,0.)); 674 | #651=DIRECTION('ref_axis',(-1.,3.02788097625043E-16,0.)); 675 | #652=DIRECTION('',(0.,0.,1.)); 676 | #653=DIRECTION('center_axis',(1.,0.,0.)); 677 | #654=DIRECTION('ref_axis',(0.,1.,0.)); 678 | #655=CARTESIAN_POINT('',(0.,0.,0.)); 679 | #656=CARTESIAN_POINT('Origin',(2.05416935764735E-17,21.25,85.)); 680 | #657=CARTESIAN_POINT('',(2.05416935764735E-17,21.25,85.)); 681 | #658=CARTESIAN_POINT('',(2.05416935764735E-17,21.25,45.)); 682 | #659=CARTESIAN_POINT('',(2.05416935764736E-17,21.25,42.5)); 683 | #660=CARTESIAN_POINT('',(2.,21.25,85.)); 684 | #661=CARTESIAN_POINT('',(1.75,21.25,85.)); 685 | #662=CARTESIAN_POINT('',(2.,21.25,45.)); 686 | #663=CARTESIAN_POINT('',(2.,21.25,85.)); 687 | #664=CARTESIAN_POINT('',(2.05416935764735E-17,21.25,45.)); 688 | #665=CARTESIAN_POINT('Origin',(-1.80687684452216E-16,24.75,45.)); 689 | #666=CARTESIAN_POINT('',(-1.80687684452216E-16,24.75,45.)); 690 | #667=CARTESIAN_POINT('',(-1.80687684452216E-16,24.75,85.)); 691 | #668=CARTESIAN_POINT('',(-1.80687684452216E-16,24.75,22.5)); 692 | #669=CARTESIAN_POINT('',(2.,24.75,45.)); 693 | #670=CARTESIAN_POINT('',(-1.80687684452216E-16,24.75,45.)); 694 | #671=CARTESIAN_POINT('',(2.,24.75,85.)); 695 | #672=CARTESIAN_POINT('',(2.,24.75,45.)); 696 | #673=CARTESIAN_POINT('',(1.75,24.75,85.)); 697 | #674=CARTESIAN_POINT('Origin',(-8.00729954378714E-17,23.,45.)); 698 | #675=CARTESIAN_POINT('Origin',(-6.55014075519841E-16,23.,45.)); 699 | #676=CARTESIAN_POINT('Origin',(2.,23.,45.)); 700 | #677=CARTESIAN_POINT('Origin',(2.,23.,64.125)); 701 | #678=CARTESIAN_POINT('',(2.,19.75,85.)); 702 | #679=CARTESIAN_POINT('Origin',(6.67350408668689E-16,10.,45.)); 703 | #680=CARTESIAN_POINT('',(7.67965097683034E-16,8.25,45.)); 704 | #681=CARTESIAN_POINT('',(5.66735719654345E-16,11.75,45.)); 705 | #682=CARTESIAN_POINT('Origin',(-6.55014075519841E-16,10.,45.)); 706 | #683=CARTESIAN_POINT('',(2.,8.25,45.)); 707 | #684=CARTESIAN_POINT('',(7.67965097683034E-16,8.25,45.)); 708 | #685=CARTESIAN_POINT('',(2.,11.75,45.)); 709 | #686=CARTESIAN_POINT('Origin',(2.,10.,45.)); 710 | #687=CARTESIAN_POINT('',(5.66735719654345E-16,11.75,45.)); 711 | #688=CARTESIAN_POINT('Origin',(7.67965097683034E-16,8.25,85.)); 712 | #689=CARTESIAN_POINT('',(7.67965097683034E-16,8.25,85.)); 713 | #690=CARTESIAN_POINT('',(7.67965097683034E-16,8.25,42.5)); 714 | #691=CARTESIAN_POINT('',(2.,8.25,85.)); 715 | #692=CARTESIAN_POINT('',(1.75,8.25,85.)); 716 | #693=CARTESIAN_POINT('',(2.,8.25,45.)); 717 | #694=CARTESIAN_POINT('Origin',(5.66735719654345E-16,11.75,45.)); 718 | #695=CARTESIAN_POINT('',(5.66735719654345E-16,11.75,85.)); 719 | #696=CARTESIAN_POINT('',(5.66735719654345E-16,11.75,22.5)); 720 | #697=CARTESIAN_POINT('',(2.,11.75,85.)); 721 | #698=CARTESIAN_POINT('',(2.,11.75,85.)); 722 | #699=CARTESIAN_POINT('',(1.75,11.75,85.)); 723 | #700=CARTESIAN_POINT('Origin',(2.,10.,64.125)); 724 | #701=CARTESIAN_POINT('',(2.,13.25,85.)); 725 | #702=CARTESIAN_POINT('Origin',(3.5,16.5,85.)); 726 | #703=CARTESIAN_POINT('',(-6.55014075519841E-16,33.,85.)); 727 | #704=CARTESIAN_POINT('',(0.,0.,85.)); 728 | #705=CARTESIAN_POINT('',(-6.55014075519841E-16,33.,85.)); 729 | #706=CARTESIAN_POINT('',(7.,0.,85.)); 730 | #707=CARTESIAN_POINT('',(0.,0.,85.)); 731 | #708=CARTESIAN_POINT('',(7.,4.5,85.)); 732 | #709=CARTESIAN_POINT('',(7.,8.25,85.)); 733 | #710=CARTESIAN_POINT('',(5.5,4.5,85.)); 734 | #711=CARTESIAN_POINT('',(10.,4.5,85.)); 735 | #712=CARTESIAN_POINT('',(4.5,5.5,85.)); 736 | #713=CARTESIAN_POINT('Origin',(5.5,5.5,85.)); 737 | #714=CARTESIAN_POINT('',(4.5,27.5,85.)); 738 | #715=CARTESIAN_POINT('',(4.5,4.5,85.)); 739 | #716=CARTESIAN_POINT('',(5.5,28.5,85.)); 740 | #717=CARTESIAN_POINT('Origin',(5.5,27.5,85.)); 741 | #718=CARTESIAN_POINT('',(7.,28.5,85.)); 742 | #719=CARTESIAN_POINT('',(4.5,28.5,85.)); 743 | #720=CARTESIAN_POINT('',(7.,33.,85.)); 744 | #721=CARTESIAN_POINT('',(7.,22.5,85.)); 745 | #722=CARTESIAN_POINT('',(-6.55014075519841E-16,33.,85.)); 746 | #723=CARTESIAN_POINT('',(10.,33.,85.)); 747 | #724=CARTESIAN_POINT('',(-6.55014075519841E-16,33.,85.)); 748 | #725=CARTESIAN_POINT('Origin',(7.,8.25,3.)); 749 | #726=CARTESIAN_POINT('',(10.,0.,3.)); 750 | #727=CARTESIAN_POINT('',(7.,0.,0.)); 751 | #728=CARTESIAN_POINT('Origin',(7.,0.,3.)); 752 | #729=CARTESIAN_POINT('',(7.,4.5,0.)); 753 | #730=CARTESIAN_POINT('',(7.,8.25,0.)); 754 | #731=CARTESIAN_POINT('',(10.,4.5,3.)); 755 | #732=CARTESIAN_POINT('Origin',(7.,4.5,3.)); 756 | #733=CARTESIAN_POINT('',(10.,8.25,3.)); 757 | #734=CARTESIAN_POINT('Origin',(3.5,16.5,0.)); 758 | #735=CARTESIAN_POINT('',(-6.55014075519841E-16,33.,0.)); 759 | #736=CARTESIAN_POINT('',(0.,0.,0.)); 760 | #737=CARTESIAN_POINT('',(-3.17886546813375E-16,13.5,0.)); 761 | #738=CARTESIAN_POINT('',(7.,33.,0.)); 762 | #739=CARTESIAN_POINT('',(10.,33.,0.)); 763 | #740=CARTESIAN_POINT('',(7.,28.5,0.)); 764 | #741=CARTESIAN_POINT('',(7.,22.5,0.)); 765 | #742=CARTESIAN_POINT('',(5.5,28.5,0.)); 766 | #743=CARTESIAN_POINT('',(4.5,28.5,0.)); 767 | #744=CARTESIAN_POINT('',(4.5,27.5,0.)); 768 | #745=CARTESIAN_POINT('Origin',(5.5,27.5,0.)); 769 | #746=CARTESIAN_POINT('',(4.5,5.5,0.)); 770 | #747=CARTESIAN_POINT('',(4.5,4.5,0.)); 771 | #748=CARTESIAN_POINT('',(5.5,4.5,0.)); 772 | #749=CARTESIAN_POINT('Origin',(5.5,5.5,0.)); 773 | #750=CARTESIAN_POINT('',(10.,4.5,0.)); 774 | #751=CARTESIAN_POINT('',(0.,0.,0.)); 775 | #752=CARTESIAN_POINT('Origin',(0.,0.,0.)); 776 | #753=CARTESIAN_POINT('',(10.,0.,82.)); 777 | #754=CARTESIAN_POINT('',(10.,0.,0.)); 778 | #755=CARTESIAN_POINT('Origin',(7.,0.,82.)); 779 | #756=CARTESIAN_POINT('',(0.,0.,0.)); 780 | #757=CARTESIAN_POINT('Origin',(7.,8.25,82.)); 781 | #758=CARTESIAN_POINT('',(10.,4.5,82.)); 782 | #759=CARTESIAN_POINT('',(10.,8.25,82.)); 783 | #760=CARTESIAN_POINT('Origin',(7.,4.5,82.)); 784 | #761=CARTESIAN_POINT('Origin',(7.,22.5,3.)); 785 | #762=CARTESIAN_POINT('',(10.,33.,3.)); 786 | #763=CARTESIAN_POINT('Origin',(7.,33.,3.)); 787 | #764=CARTESIAN_POINT('',(10.,28.5,3.)); 788 | #765=CARTESIAN_POINT('',(10.,22.5,3.)); 789 | #766=CARTESIAN_POINT('Origin',(7.,28.5,3.)); 790 | #767=CARTESIAN_POINT('Origin',(4.5,28.5,0.)); 791 | #768=CARTESIAN_POINT('',(10.,28.5,82.)); 792 | #769=CARTESIAN_POINT('',(10.,28.5,0.)); 793 | #770=CARTESIAN_POINT('Origin',(7.,28.5,82.)); 794 | #771=CARTESIAN_POINT('',(5.5,28.5,0.)); 795 | #772=CARTESIAN_POINT('Origin',(7.,22.5,82.)); 796 | #773=CARTESIAN_POINT('',(10.,33.,82.)); 797 | #774=CARTESIAN_POINT('Origin',(7.,33.,82.)); 798 | #775=CARTESIAN_POINT('',(10.,22.5,82.)); 799 | #776=CARTESIAN_POINT('Origin',(10.,33.,0.)); 800 | #777=CARTESIAN_POINT('',(-6.55014075519841E-16,33.,0.)); 801 | #778=CARTESIAN_POINT('',(10.,33.,0.)); 802 | #779=CARTESIAN_POINT('Origin',(5.5,27.5,0.)); 803 | #780=CARTESIAN_POINT('',(4.5,27.5,0.)); 804 | #781=CARTESIAN_POINT('Origin',(5.5,5.5,0.)); 805 | #782=CARTESIAN_POINT('',(4.5,5.5,0.)); 806 | #783=CARTESIAN_POINT('',(5.5,4.5,0.)); 807 | #784=CARTESIAN_POINT('Origin',(4.5,4.5,0.)); 808 | #785=CARTESIAN_POINT('Origin',(-6.55014075519841E-16,33.,0.)); 809 | #786=CARTESIAN_POINT('Origin',(10.,28.5,0.)); 810 | #787=CARTESIAN_POINT('Origin',(10.,4.5,0.)); 811 | #788=CARTESIAN_POINT('',(10.,4.5,0.)); 812 | #789=CARTESIAN_POINT('Origin',(10.,0.,0.)); 813 | #790=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.01),#794, 814 | 'DISTANCE_ACCURACY_VALUE', 815 | 'Maximum model space distance between geometric entities at asserted c 816 | onnectivities'); 817 | #791=UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(0.01),#794, 818 | 'DISTANCE_ACCURACY_VALUE', 819 | 'Maximum model space distance between geometric entities at asserted c 820 | onnectivities'); 821 | #792=( 822 | GEOMETRIC_REPRESENTATION_CONTEXT(3) 823 | GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#790)) 824 | GLOBAL_UNIT_ASSIGNED_CONTEXT((#794,#796,#797)) 825 | REPRESENTATION_CONTEXT('','3D') 826 | ); 827 | #793=( 828 | GEOMETRIC_REPRESENTATION_CONTEXT(3) 829 | GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#791)) 830 | GLOBAL_UNIT_ASSIGNED_CONTEXT((#794,#796,#797)) 831 | REPRESENTATION_CONTEXT('','3D') 832 | ); 833 | #794=( 834 | LENGTH_UNIT() 835 | NAMED_UNIT(*) 836 | SI_UNIT(.MILLI.,.METRE.) 837 | ); 838 | #795=( 839 | LENGTH_UNIT() 840 | NAMED_UNIT(*) 841 | SI_UNIT($,.METRE.) 842 | ); 843 | #796=( 844 | NAMED_UNIT(*) 845 | PLANE_ANGLE_UNIT() 846 | SI_UNIT($,.RADIAN.) 847 | ); 848 | #797=( 849 | NAMED_UNIT(*) 850 | SI_UNIT($,.STERADIAN.) 851 | SOLID_ANGLE_UNIT() 852 | ); 853 | #798=SHAPE_DEFINITION_REPRESENTATION(#799,#800); 854 | #799=PRODUCT_DEFINITION_SHAPE('',$,#802); 855 | #800=SHAPE_REPRESENTATION('',(#482),#792); 856 | #801=PRODUCT_DEFINITION_CONTEXT('part definition',#806,'design'); 857 | #802=PRODUCT_DEFINITION('CS Holder Slides','CS Holder Slides v19',#803, 858 | #801); 859 | #803=PRODUCT_DEFINITION_FORMATION('',$,#808); 860 | #804=PRODUCT_RELATED_PRODUCT_CATEGORY('CS Holder Slides v19', 861 | 'CS Holder Slides v19',(#808)); 862 | #805=APPLICATION_PROTOCOL_DEFINITION('international standard', 863 | 'automotive_design',2009,#806); 864 | #806=APPLICATION_CONTEXT( 865 | 'Core Data for Automotive Mechanical Design Process'); 866 | #807=PRODUCT_CONTEXT('part definition',#806,'mechanical'); 867 | #808=PRODUCT('CS Holder Slides','CS Holder Slides v19',$,(#807)); 868 | #809=PRESENTATION_STYLE_ASSIGNMENT((#810)); 869 | #810=SURFACE_STYLE_USAGE(.BOTH.,#811); 870 | #811=SURFACE_SIDE_STYLE('',(#812)); 871 | #812=SURFACE_STYLE_FILL_AREA(#813); 872 | #813=FILL_AREA_STYLE('Steel - Satin',(#814)); 873 | #814=FILL_AREA_STYLE_COLOUR('Steel - Satin',#815); 874 | #815=COLOUR_RGB('Steel - Satin',0.627450980392157,0.627450980392157,0.627450980392157); 875 | ENDSEC; 876 | END-ISO-10303-21; 877 | -------------------------------------------------------------------------------- /chipshouter_adapter/50mm_mounting_pattern/cnc_multipart/cnc holder multipart slides.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/chipshouter_adapter/50mm_mounting_pattern/cnc_multipart/cnc holder multipart slides.stl -------------------------------------------------------------------------------- /chipshouter_adapter/50mm_mounting_pattern/cnc_multipart/cnc holder multipart.f3d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/chipshouter_adapter/50mm_mounting_pattern/cnc_multipart/cnc holder multipart.f3d -------------------------------------------------------------------------------- /chipshouter_adapter/50mm_mounting_pattern/cnc_multipart/cnc holder multipart.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/chipshouter_adapter/50mm_mounting_pattern/cnc_multipart/cnc holder multipart.png -------------------------------------------------------------------------------- /chipshouter_adapter/50mm_mounting_pattern/cnc_multipart/cnc holder multipart.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/chipshouter_adapter/50mm_mounting_pattern/cnc_multipart/cnc holder multipart.stl -------------------------------------------------------------------------------- /controller-hardware/README.md: -------------------------------------------------------------------------------- 1 | # Stepper Controllers 2 | 3 | ![](chipshover-one/images/1990-under-construction.gif) 4 | 5 | ## ChipShover-One 6 | 7 | ![](chipshover-one/images/beta/cs-one-open.jpeg) 8 | *Beta unit shown with 3D printed parts* 9 | 10 | ChipShover-One is NewAE Technology Inc's premium control box. When people come into your lab, they will know you mean serious business. We've done things like using a joystick which cost more than the entire BOM of other lower-cost solutions, but has the right "stick feel" compared to cheaper solutions. 11 | 12 | But it's not just nice stick-feel that make this such a nice tool - with ChipShover-One you get capabilities like: 13 | 14 | * High-power stepper drivers per channel - allows microstepping without losing steps. 15 | * Physical jog stick for X/Y/Z. 16 | * Physical pause/stop button to abort moves *without* killing motor power (device maintains position). 17 | * E-Stop button to abort moves & *kill motor power* (device is no longer accurate). 18 | * Colour TFT Display for feedback on position, motor driver status, etc. 19 | * Active cooling for stepper drivers. 20 | * Python 3 API Interface for usage in Jupyter notebooks. 21 | * Compact desktop size. 22 | * Future upgrades include Ethernet interface for remote control (hardware present but not used). 23 | 24 | Beneath the hood, we're worked hard to give you a lot of flexibility that you won't find in proprietary solutions: 25 | 26 | * Microchip SAM3X8E (Arduino Due chip) based controller running Marlin2 firmware (open-source) 27 | * Swappable driver boards allow replacement when damaged, or for changing to other motor types (5-phase stepper, DC servo, etc). 28 | * Default driver boards feature: 29 | * TMC2660 Based 2-phase Stepper Drivers 30 | * 3 end-stops per channel (min / max / origin) with noise filtering. 31 | * LED status indicates physical state of each end-stop for help with initial setup. 32 | * RS485 + I2C + GPIO Extension connectors *per channel*. 33 | 34 | The extension connectors allows implementation of additional features, such as adding a "crash detection" probe. This allows the controller to automatically abort a movement if it detects the chip surface contact (**NB: this feature requires you to implement it currently**). They could also allow usage of an external encoder or other feedback. 35 | 36 | ### ChipShover-One Controller Kit 37 | 38 | **$1300 (Estimate)** 39 | 40 | * ChipShover-One in Aluminum Enclosure 41 | * 3x 2-Phase Stepper driver board (CW562) installed for X/Y/Z. 42 | * 1x 2-Phase Stepper driver board (CW562) spare (for quick replacement if you blow a channel somehow). 43 | * 120W power supply (24V / 5A) with US + EU plugs included 44 | * 3x 1m stepper motor cables 45 | * 3x stepper motor breakout boards (for connecting tables besides the NewAE one) 46 | * 1x stepper motor diagnostic board (allows scoping signals) 47 | * 3x 0.1m extension cables 48 | * 3x 1m extension cables 49 | * 3x extension cable breakout connectors 50 | * 2x spare fuses 51 | * 1x USB 2.0 cable 52 | * 1 year warranty 53 | 54 | ## ChipShover-Three-Quarters 55 | 56 | **$350 (Estimate)** 57 | 58 | ChipShover-Three-Quarters is a variant of ChipShover-One for people who want a lower-cost option but most of the core functionality. In order to reduce the cost, this solution does not come with the aluminum enclosure, and instead is designed to have all the boards mounted on the backside of your device (or just on a table). It requires some assembly (making cables, simple soldering, etc) and some parts (switches). 59 | 60 | The main *missing* things: 61 | 62 | * No enclosure. 63 | * No E-Stop button provided. 64 | * No Joystick (jog buttons instead of joystick - soldering required). 65 | * No cooling fan. 66 | * No 'extension' parts on controller boards (only needed for RS485/I2C extension - not used currently anyway). 67 | * No power supply included (needs 24V @ 2-5A depending on your table). 68 | * No warranty! 69 | 70 | We felt that having a medium-cost option was important to make it easier to any researcher to have access to the same controller, as it makes it easier for us to all share results and demos. With ChipShover-Three-Quarters, you still get: 71 | 72 | * High-power stepper drivers per channel - allows microstepping without losing steps. 73 | * Physical pause/stop button to abort moves *without* killing motor power (device maintains position). 74 | * Colour TFT Display for feedback on position, motor driver status, etc. 75 | * Python 3 API Interface for usage in Jupyter notebooks. 76 | * LED status indicators of end-stop states (quick troubleshooting!). 77 | 78 | The ChipShover-Three-Quarters *is* more than many cheap 3D printer motherboards on account of our lower volume (we test all boards extensively) & the specific features added to be helpful for our ChipShoving use-case. 79 | 80 | We have published details of using the ChipShover API with generic motherboards as well so you can also access some ChipShover features from any 3D printer. 81 | 82 | The ChipShover-Three-Quarters mainboard is identical to the ChipShover-One, so the same firmware features can be used on either board. -------------------------------------------------------------------------------- /controller-hardware/chipshover-one/CW551-Mainboard/NPCA-CW551-ChipShover-One-Mainboard-Schematic_04RC.PDF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/controller-hardware/chipshover-one/CW551-Mainboard/NPCA-CW551-ChipShover-One-Mainboard-Schematic_04RC.PDF -------------------------------------------------------------------------------- /controller-hardware/chipshover-one/CW553-LCDBoard/NPCA-CW553-ChipShover-One-LCDBoard-Schematic_04.PDF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/controller-hardware/chipshover-one/CW553-LCDBoard/NPCA-CW553-ChipShover-One-LCDBoard-Schematic_04.PDF -------------------------------------------------------------------------------- /controller-hardware/chipshover-one/CW554-Stepper-Breakout/Gerbers-NPCB-CW554-01.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/controller-hardware/chipshover-one/CW554-Stepper-Breakout/Gerbers-NPCB-CW554-01.zip -------------------------------------------------------------------------------- /controller-hardware/chipshover-one/CW554-Stepper-Breakout/NPCA-CW554-StepperBreakout.PDF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/controller-hardware/chipshover-one/CW554-Stepper-Breakout/NPCA-CW554-StepperBreakout.PDF -------------------------------------------------------------------------------- /controller-hardware/chipshover-one/CW562-StepperDriver/NPCA-CW562-ChipShover-One-StepperDriver-Schematic_03.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/controller-hardware/chipshover-one/CW562-StepperDriver/NPCA-CW562-ChipShover-One-StepperDriver-Schematic_03.pdf -------------------------------------------------------------------------------- /controller-hardware/chipshover-one/README.md: -------------------------------------------------------------------------------- 1 | ![](images/1990-under-construction.gif) 2 | 3 | # ChipShover-One 4 | 5 | ![](images/beta/cs-one-top.jpeg) 6 | 7 | ## ChipShover-One Specs 8 | 9 | ## ChipShover-One Front Panel Interface 10 | 11 | ## ChipShover-One 2-Phase Stepper Drivers 12 | 13 | The default (and only) interface board for the ChipShover-One is a 2-phase stepper driver board. Each of the X/Y/Z axis has the same board, visible at one end: 14 | 15 | ![](images/beta/cs-one-endplate.jpeg) 16 | *Beta unit shown with 3D printed parts* 17 | 18 | From left to right, the outputs are: 19 | 20 | * DB9 = Axis connection, with stepper + Limit Switches. 21 | * Status LEDs. 22 | * Extension Connector (RJ45 - not ethernet). 23 | 24 | ### Connecting ChipShover-One to Generic Tables 25 | 26 | ChipShover-One is designed to work "out of the box" with NewAE's XYZ table kit. But it also works with almost any other table - in fact, the entire point of ChipShover-One is to make it easy to grab a CNC frame and get a reasonably accurate positioning solution with much less fuss than you have when re-purposing a standard 3D driver controller. 27 | 28 | For connecting to other tables, you simply need to wire them to the DB9 connector. For your convenience, a breakout board is included with the main ChipShover-One kit (you can find the schematic + gerbers in this repo as well if you are using ChipShover-Three-Quarters). 29 | 30 | ![](images/chipshover-breakout-render.png) 31 | 32 | #### Stepper Connections 33 | 34 | #### Endstop Connections -------------------------------------------------------------------------------- /controller-hardware/chipshover-one/images/1990-under-construction.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/controller-hardware/chipshover-one/images/1990-under-construction.gif -------------------------------------------------------------------------------- /controller-hardware/chipshover-one/images/beta/cs-one-endplate.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/controller-hardware/chipshover-one/images/beta/cs-one-endplate.jpeg -------------------------------------------------------------------------------- /controller-hardware/chipshover-one/images/beta/cs-one-mainunit.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/controller-hardware/chipshover-one/images/beta/cs-one-mainunit.jpg -------------------------------------------------------------------------------- /controller-hardware/chipshover-one/images/beta/cs-one-open.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/controller-hardware/chipshover-one/images/beta/cs-one-open.jpeg -------------------------------------------------------------------------------- /controller-hardware/chipshover-one/images/beta/cs-one-top.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/controller-hardware/chipshover-one/images/beta/cs-one-top.jpeg -------------------------------------------------------------------------------- /controller-hardware/chipshover-one/images/chipshover-breakout-render.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/controller-hardware/chipshover-one/images/chipshover-breakout-render.png -------------------------------------------------------------------------------- /controller-hardware/diy-with-archim2/README.md: -------------------------------------------------------------------------------- 1 | # Archim2 Driver Option 2 | 3 | The Archim2 is a popular open-source hardware driver for a 3D printer. The ChipShover can also be built using this board, although it has some limitations and is **not supported in any official manner**, but instead presented as a community build information. 4 | 5 | 6 | ## Limitations 7 | 8 | Archim2 uses the less powerful TMC2130 (1.2A RMS coil current, vs 2.0A RMS coil current on TMC2660 used in ChipShover-One). The primary effect of this is that microstepping may be more likely to lose steps, so a smaller default microstepping value is used. You can however easily adjust this default value, so it's not a hard limitation of the platform. 9 | 10 | ## Build List 11 | 12 | To build the Archim2 option, you will need: 13 | 14 | ### Archim2 Driver Option 15 | 16 | * [Archim2 with Optical End-Stops](https://ultimachine.com/products/archim2). You won't use the end stops, but need the connectors from it. 17 | * 3x Small Heatsinks (see note below). 18 | * 1x 24V, 40mm fan, 2-lead input (suggested: 109P0424H302) 19 | * 1x 3D Printed fan holder 20 | * 2x M4 screws (for fan) 21 | * 2x 4-40 or M3 screws (for fan holder) 22 | 23 | #### Heatsinks 24 | 25 | Driving the motors *will* require a heatsink on the Archim2. The easiest solution is to buy the widely available "Raspberry Pi Heatsink Pack", such as [FIT0542](https://www.digikey.com/en/products/detail/dfrobot/FIT0542/8549500) for less than $2. 26 | 27 | You'll only need the *smallest* heatsink from each pack, so buy 3 packs as you need heatsinks on each X/Y/Z. 28 | 29 | #### 24V Fan 30 | 31 | The heatsink alone might not be enough, so also plan on getting a 24V fan. We'll use the built-in support for driving a fan (designed for use with the 'extruders'). 32 | 33 | #### Driver Cables 34 | 35 | You'll also need the driver cables for your motor. -------------------------------------------------------------------------------- /images/PS1-Assembly.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/images/PS1-Assembly.jpg -------------------------------------------------------------------------------- /nota3dprinter.md: -------------------------------------------------------------------------------- 1 | # ChipShover is not a 3D Printer Controller 2 | 3 | ChipShover is missing some key features compared to a 3D printer motherboard: 4 | 5 | * Only 3 axis stepper controllers possible (no Extruder axis). 6 | * No heater channels. 7 | 8 | The cost of the ChipShover-One *far exceeds* a comparable 3D printer motherboard, as the "device positioning" market is much smaller and thus we cannot hope to achieve the volume of 3D printer drivers. 9 | -------------------------------------------------------------------------------- /stages/README.md: -------------------------------------------------------------------------------- 1 | # XYZ Stages 2 | 3 | The mechanical part of the XYZ table is actually the "most boring", because it's well known. XYZ stages are found in applications such as: 4 | 5 | * Microscopes 6 | * CNC 7 | * Engravers 8 | * 3D printers 9 | 10 | The most accurate system will use some sort of feedback - the most basic would be on the shaft itself (to detect how far we are rotating the leadscrew), the more accurate would be to have real-time information on the position of the table. With closed loop feedback we can achieve very high levels of repeatability. 11 | 12 | Currently *all* of the stages we discuss are open-loop, where we use stepper motors in a direct-drive fashion. Achieving a higher resolution is done with a finer leadscrew. You can also gear down the motors to improve resolution, which has some impact on backlash (not an issue if closed-loop, but is an issue if open-loop). 13 | 14 | ## Stage Calibration 15 | 16 | In order to better characterize our stage setup, we set up a laser interferometer. This allows us to achieve very high resolution measurements, which are highly stable and thus can answer questions such as how repeatable a given stage is when moving back and forth many times. 17 | 18 | We are using the setup that [Sam Zeloof describes](https://www.youtube.com/watch?v=vPu6lN9yJOY), which can be assembled for much less than an off the shelf unit. -------------------------------------------------------------------------------- /stages/lowres/README.md: -------------------------------------------------------------------------------- 1 | # Low Resolution / Cheapish CNC Frame 2 | 3 | 4 | 5 | These instructions show you how to translate a kinda cheap ($500 + shipping) CNC frame into a high quality EMFI or SCA XYZ scanning solution using the ChipShover-One. 6 | 7 | Once you are done you'll have a solution with around 1um resolution (although considerably more backlash & overall error). 8 | 9 | ## Selecting a CNC Frame 10 | 11 | When selecting a CNC frame, we were looking for the following features: 12 | 13 | * Bed remains stationary 14 | * Most 3D printers & CNC move the bed as the Y or X axis - you are certain to have cables attached to your target device, and the target moving increases the chance you'll pull on the target by accident, shifting it's position. 15 | * "Head" holder is removable without affecting Z axis. 16 | * Ships mostly assembled. 17 | * Low effort setup. 18 | * Includes limit switches (ideally min & max). 19 | * Some low-cost machines use motor stalls instead of real end stops. ChipShover-One doesn't support this currently. 20 | 21 | The Y axis moving is often OK in practice if you are careful with the setup. But as we are trying to build a general setup for your lab environment, we didn't want to worry about this. 22 | 23 | The removable holder for the motor/laser is handy as we'll need to 3D print a ChipSHOUTER holder instead (or whatever other probe you want to hold). 24 | 25 | ## "CNC 3020 frame kit" by L.Y. GROUP CHINA 26 | 27 | The suggested low-res frame is called the "CNC 3020 frame kit". Be sure to get the kit with stepper motors if you want to follow along. The frame I received *didn't* have the L.Y. group silkscreen on the frame - it's not 100% clear if this is a clone or legitimate frame. The specific store I purchased from looked like this: 28 | 29 | 30 | 31 | 32 | ### Frame Assembly 33 | 34 | The frame ships assembled, you just have to mount motors on it. To tighten the couplings onto the stepper motors you'll have to remove a few of the aluminum panels. 35 | 36 | The frame has a *lot* of grease on it I found - take a rag and clean up some of this. 37 | 38 | ### ChipShover to Frame Interface 39 | 40 | Interfacing the ChipShover to the frame requires you to: 41 | 42 | * Connect the stepper drivers. 43 | * Connect the endstops. 44 | 45 | This is easily done with the stepper breakout boards, or you can terminate a DB9 cable into the stepper motors & endstops directly. 46 | 47 | **WARNING**: The wire shipped with the table for the endstops was amazingly terrible. In addition, the endstop buttons are very cheap and the contacts will very quickly melt into the plastic of the endstop when soldering. You must be **very** careful when soldering to it. I would recommend getting some stranded (not solid core as it needs to flex - don't just steal some wire from a CAT5 cable) & some replacement push buttons. 48 | 49 | Where the endstop wire will flex, I fixed the wire to the frame or stepper motor, as shown here: 50 | 51 | 52 | 53 | When mounting the boards - make sure you don't mount them somewhere that might cause the cables to catch. For example, here is a poor location as the cable may catch when the X axis moves from one side to the other: 54 | 55 | 56 | 57 | The overall locations I used for this example is shown below: 58 | 59 | 60 | 61 | Some important setup notes: 62 | 63 | * Cables have been cut to length - you don't want a lot of excess cable as that is liable to be caught by something. 64 | * The X endstop wire is taped onto the back cover, and routes to the X interface. ChipShover assumes X=0 is to the right, so we've used that right endstop as the `MIN`. 65 | * The cable covering was provided with the 3020 frame - it's just been cut to each length as needed. 66 | * Interface boards are attached with tape - be very careful they can't fall off, suggest to use Zip-Ties. If they fall off they may **short out and blow up the ChipShover**. 67 | * Breakout ('interface') boards use a zip-tie to help with strain relief (the breakout board has an area designed for this). 68 | 69 | **Z Axis Wiring**: 70 | 71 | | Wire | Connect To | Note | 72 | |------|----------- |------| 73 | | Red | A+ | Stepper | 74 | | Green| A- | Stepper | 75 | | Blue | B+ | Stepper | 76 | | Yellow | B- | Stepper | 77 | | Switch | ES1-G | TOP endstop (max) | 78 | | Switch | ES1-P | TOP endstop (max) | 79 | 80 | Be sure to secure the endstop cable so it doesn't pull the wires from the switch. 81 | 82 | **X Axis Wiring**: 83 | 84 | We reverse the X axis stepper so it goes "backwards" - you can do this in firmware too. 85 | 86 | | Wire | Connect To | Note | 87 | |------|----------- |------| 88 | | Green | A+ | Stepper - reversed! | 89 | | Red | A- | Stepper - reversed! | 90 | | Blue | B+ | Stepper | 91 | | Yellow | B- | Stepper | 92 | | Switch | ES1-G | RIGHT endstop (min) | 93 | | Switch | ES1-P | RIGHT endstop (min) | 94 | 95 | The right endstop (right when looking from the FRONT) is used, so we run the wire across as shown in the previous photo. 96 | 97 | 98 | 99 | (The endstop in the photo was rather smushed from shipping) 100 | 101 | **Y Axis Wiring**: 102 | 103 | | Wire | Connect To | Note | 104 | |------|----------- |------| 105 | | Red | A+ | Stepper | 106 | | Green | A- | Stepper| 107 | | Blue | B+ | Stepper | 108 | | Yellow | B- | Stepper | 109 | | Switch | ES1-G | REAR endstop (min) | 110 | | Switch | ES1-P | REAR endstop (min) | 111 | 112 | Be sure to secure the endstop cable so it doesn't pull the wires from the switch. 113 | 114 | ### Checking Interface 115 | 116 | The ChipShover-One status LEDs will tell you the status of each end-stop. The lights should go *off* when the endstop is pressed with the default configuration. 117 | 118 | ### ChipShover Settings 119 | 120 | * X/Y axis is 1605 ball screw = 1280 steps/mm (@32 microsteps) 121 | * Z axis is 1204 ball screw = 1600 steps/mm (@32 microsteps) 122 | 123 | You can configure this with: 124 | 125 | ``` 126 | shvr.set_stepsmm(1280, 1280, 1600) 127 | ``` 128 | 129 | Or you can pass this as an option to the initial object: 130 | 131 | ``` 132 | shvr = ChipShover(comport="com3", stepsmm=(1280, 1280, 1600)) 133 | ``` 134 | 135 | You can alternatively rebuild the firmware with your specific table defaults (eventually we will support storing this to EEPROM, not possible yet). 136 | 137 | ### ChipSHOUTER mounting bracket 138 | 139 | You can 3D print a mounting bracket that replaces the spindle holder. 140 | 141 | * Remove the M4 bolts holding the motor/spindle holder. 142 | * 3D print the model in this repository - there are two versions of this holder.: 143 | * "No Hardware Needed" does not require any hardware. 144 | * "Hardware Needed" version uses heatset screw inserts. 145 | * Bolt the holder back into position using M4-16 bolts. You may need to loosen the Philips screws holding the aluminum Z-ballscrew cover plate, as it's a very tight fit over the cover plate, and there is some play in the cover plate position once the screws are loose. Tighten the Philips screws back after. 146 | * Use a 6-32-1/2" bolt to secure the ChipSHOUTER. 147 | 148 | 149 | 150 | The 6-32 bolt will leave a mark on the side of the ChipSHOUTER enclosure: 151 | 152 | 153 | 154 | You can use a piece of metal to push against, or use the brass-tip bolts (link below) which leaves a smaller mark. 155 | 156 | When 3D printing, I was able to get away without adding support structure: 157 | 158 | 159 | 160 | If using the hardware needed version, sink a 6-32 = 0.281" length flanged insert, such as [McMaster-Carr 97171A140](https://www.mcmaster.com/97171A140/) using a soldering iron. 161 | 162 | 163 | 164 | You'll then need a 6-32-1/2" bolt to secure the ChipSHOUTER. You way wish to get a softer tip option, such as [McMaster-Carr 90299A145](https://www.mcmaster.com/90299A145/). This will leave a smaller mark on the ChipSHOUTER enclosure. 165 | 166 | ## Accessories 167 | 168 | For mounting your board to your table, you can use the ChipShover Mounting Kit. This includes T-Slots that will fit this table, and allow you to use the interface feet. 169 | 170 | Alternatively, you can 3D print mounting brackets that may fit your specific board & table setup. -------------------------------------------------------------------------------- /stages/lowres/adapters/3020Table_ChipShouterAdapter_HardwareNeeded.f3d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/lowres/adapters/3020Table_ChipShouterAdapter_HardwareNeeded.f3d -------------------------------------------------------------------------------- /stages/lowres/adapters/3020Table_ChipShouterAdapter_HardwareNeeded.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/lowres/adapters/3020Table_ChipShouterAdapter_HardwareNeeded.stl -------------------------------------------------------------------------------- /stages/lowres/adapters/3020Table_ChipShouterAdapter_NoHardwareNeeded.f3d: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/lowres/adapters/3020Table_ChipShouterAdapter_NoHardwareNeeded.f3d -------------------------------------------------------------------------------- /stages/lowres/adapters/3020Table_ChipShouterAdapter_NoHardwareNeeded.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/lowres/adapters/3020Table_ChipShouterAdapter_NoHardwareNeeded.stl -------------------------------------------------------------------------------- /stages/lowres/adapters/README.md: -------------------------------------------------------------------------------- 1 | # ChipSHOUTER to 3020 Stage Adapter 2 | 3 | These adapters are mounted in place of the spindle holder. It should fit the default M4 bolts used on the frame. Remove the spindle holder, and bolt on the ChipSHOUTER adapter. 4 | 5 | If you wish to use a screw insert you can print the HardwareNeeded version, otherwise print the NoHardwareNeeded version. 6 | 7 | ## Model Notes 8 | 9 | The two versions of the model are the same, with the inner diameter of the hole changed: 10 | 11 | **For 6-32 insert:** 12 | Hole diameter = 4.90 mm 13 | 14 | **For 6-32 screw (self-tapping mode):** 15 | Hole diameter = 3.20 mm 16 | 17 | Note that 3D printing results in a smaller hole size, so the above sizes already account for that. The end hole sizes should be: 18 | 19 | For 6-32 insert: 4.8mm 20 | 21 | For tapping a 6-32 hole: 2.7mm 22 | 23 | The 6-32 hole is slightly larger in this plastic as we basically self-tap it, but if you were making this out of aluminum & using a tap the above is the correct size. -------------------------------------------------------------------------------- /stages/lowres/images/3020overall.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/lowres/images/3020overall.jpg -------------------------------------------------------------------------------- /stages/lowres/images/3dprintbro.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/lowres/images/3dprintbro.jpg -------------------------------------------------------------------------------- /stages/lowres/images/aliexpress-frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/lowres/images/aliexpress-frame.png -------------------------------------------------------------------------------- /stages/lowres/images/crap-x-location.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/lowres/images/crap-x-location.jpg -------------------------------------------------------------------------------- /stages/lowres/images/heatset.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/lowres/images/heatset.jpg -------------------------------------------------------------------------------- /stages/lowres/images/holderdetail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/lowres/images/holderdetail.jpg -------------------------------------------------------------------------------- /stages/lowres/images/leftdetail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/lowres/images/leftdetail.jpg -------------------------------------------------------------------------------- /stages/lowres/images/marks.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/lowres/images/marks.jpg -------------------------------------------------------------------------------- /stages/lowres/images/motor-strain-relief.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/lowres/images/motor-strain-relief.jpg -------------------------------------------------------------------------------- /stages/lowres/images/setup-backside.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/lowres/images/setup-backside.jpg -------------------------------------------------------------------------------- /stages/medres-chipshover/README.md: -------------------------------------------------------------------------------- 1 | # ChipShover Stage 2 | 3 | ## Rev 2 4 | ChipShover Rev 2 is the production release of ChipShover, shipped from 2024 and onward. This page provides documentation for this production version. There is currently no printed documentation. 5 | 6 | 7 | See [Rev2Assembly.md](Rev2Assembly.md "Rev 2 Assembly Document") for assembly instructions. 8 | 9 | See [Rev2Instructions.md](Rev2Instructions.md "Rev 2 Instructions Document") for usage instructions. 10 | 11 | NOTE: The X stage is mounted backwards in this photo - the assembly instructions above have it the correct way around. 12 | 13 | 14 | 15 | ## Rev 1 16 | ChipShover Rev 1 is the initial beta release of the ChipShover. This page provides documentation for these early versions. 17 | 18 | See [old_revisions/Rev1Assembly.md](old_revisions/Rev1Assembly.md "Rev 1 Assembly Document") for assembly instructions. 19 | 20 | See [old_revisions/Rev1Instructions.md](old_revisions/Rev1Instructions.md "Rev 1 Instructions Document") for usage instructions. 21 | 22 | ## Rev 0 23 | 24 | The first alpha release was called rev0: 25 | 26 | 27 | 28 | This page provides documentation for these early versions: 29 | 30 | See [old_revisions/Rev0Assembly.md](old_revisions/Rev0Assembly.md "Rev 0 Assembly Document") for assembly instructions. 31 | 32 | See [old_revisions/Rev0Instructions.md](old_revisions/Rev0Instructions.md "Rev 0 Instructions Document") for usage instructions. -------------------------------------------------------------------------------- /stages/medres-chipshover/Rev2Assembly.md: -------------------------------------------------------------------------------- 1 | # Medium Res Stage - Rev 2 Assembly 2 | 3 | NOTE: These are draft instructions, so images etc will be improved in the released version! We have left these here due to some delays in production & our desire to avoid delaying shipping hardware just to finish the instructions themselves. 4 | 5 | ## 1. Remove Base & Remove Shipping Screws 6 | 7 | The one box contains a few parts & subboxes. Remove these carefully, and then find the base. The base has the X stage preinstalled, but the Y and Z stage are strapped to the base for transit. 8 | 9 | Carefully place the base on the table, it should look like the following image. Note the 8 bolts (four per stage) which are highlighted below, these are shipping bolts which will need to be removed: 10 | 11 | 12 | 13 | The left stage is the Y stage, it includes the black Z-stage mounting bracket. The right stage is the Z stage, it includes the ChipShover holder. 14 | 15 | You may need to use the manual adjustment knob on the end of the stage stepper motor to adjust the stage forward to access the bolts clearly. 16 | 17 | To remove them, use the provided M5 ball-end driver. The bolts are M6x10 bolts, and you will reuse them for mounting the stages. Remove all the bolts now, but you can leave the stages sitting on the protective cardboard sheet. 18 | 19 | ## 2. Mount Y stage. 20 | 21 | You will need to use the thumb wheel to move the Y stage forward until all 8 mounting holes are exposed: 22 | 23 | 24 | 25 | 26 | The Y stage includes the Z-stage mounting bracket. Using only 3 M6x10 bolts, mount that stage to the X stage as shown below (note one hole cannot accept a screw). DO NOT use any longer than M6x10 bolts! 27 | 28 | 29 | 30 | 31 | ## 3. Mount Z Stage 32 | 33 | You can now mount the Z stage. You can adjust the position of it, but is suggested as shown here, using these 8 holes towards the bottom of the mount, and leaving the top 4 holes unused: 34 | 35 | 36 | 37 | This will look like the following when mounted: 38 | 39 | 40 | 41 | You may wish to start only with mounting a couple M6x10 bolts, but all M6x10 bolts can be mounted on this stage if you wish. 42 | 43 | ## 4. Connect Stepper Cables 44 | 45 | The stepper motor cables are all standard DB-9 straight-through cables. The provided cables are 22AWG cables allowing a more powerful drive, although we have tested with standard 26AWG IDC cables successfully. Thus if you require extensions or replacements, and off the shelf cable should work. 46 | 47 | Due to the spacing at the ChipShover controller the ChipShover mating side cannot use a backshell. Thus you may be limited to IDC style cables for off the shelf cables. 48 | 49 | The X/Y/Z/ axis cables are electrically identical, but with different backshells to fit the stage orientation more cleanly. To connect them: 50 | 51 | 1. Connect each cable to the DB9 connector on each stage. The Z axis connector is straight up and the cable should be routed to a cable mount, the X and Y axis cables are right-angle and will route the cable downward (Y-axis) or upward (X-axis) as appropriate for the best install. 52 | 2. Tighten screws on the stage end connector. Use provided screwdriver if required (see tool kit). 53 | 3. Connect the other end of each cable to the ChipShover controller - the captive screws need to be tightened to mate the cables. 54 | 55 | 56 | 57 | 4. The straps which were used for holding parts of the ChipSHOUTER holder in can be used as cable straps. To do this, pass a M6x10 bolt through the end of them, and bolt on an appropriate part of the table. The exact setup will depend on where you position The ChipShover-One Controller: 58 | 59 | 60 | 61 | **HINT: If you you need to remove the captive screws from the cable on the ChipShover-One controller end, do this by holding the retaining washer with pliers and "backing out" the bolts.** 62 | 63 | ## 10. Optional - Test Table 64 | 65 | At this point you can test the table before mounting the ChipSHOUTER. To test the table stand-alone: 66 | 67 | 1. Connect the power supply (4-pin mini-DIN). 68 | 2. Turn the power switch on - the switch should illuminate green. If the switch does not illuminate check the power supply. 69 | 3. The ChipShover should boot & display status information. 70 | 4. Release the E-Stop button by *Rotating it clockwise*, as the E-Stop may have been engaged during shipping. 71 | 5. Hold the "stop / home" button for 3-4 seconds - the ChipSHOVER should start the homing operation. You can release the button once it starts the homing operation. 72 | 6. **If the homing operation is failing (such as not detecting end-stops) press the E-Stop button immediately**. 73 | 7. Press the "Jog En" button to enable the joystick. You will see the Jog En light turn on. 74 | 8. Move the joystick in X & Y, and rotate it for Z. The current firmware moves by a fixed amount for each time period (this interface will be adjusted in the future). You can also hit the 'Fast Jog' button which changes the step size. 75 | 9. Power off the ChipShover & complete the rest of the steps. 76 | 77 | ## 11. Add ChipSHOUTER Mounting Bracket 78 | 79 | The ChipSHOUTER mounting bracket fits onto the Z axis stage, and is pre-installed for shipping. You can move it to be mounted "lower" on the Z stage, where only the upper 2 bolts are used which provides more clearance if you wish: 80 | 81 | 82 | 83 | Be sure to check you have sufficient clearance for the power & other connectors on the top-side of the ChipSHOUTER. If the ChipSHOUTER is mounted too high, it will cause a collision with the ChipSHOUTER cables and top of the stage. 84 | 85 | The beveled end of the mounting bracket faces up. 86 | 87 | ## 12. Mount ChipSHOUTER 88 | 89 | To mount the ChipSHOUTER into the bracket, use the two sliders on the side of the ChipSHOUTER. They should be positioned such the stops in the bracket will prevent the ChipSHOUTER from falling too low: 90 | 91 | 92 | 93 | To fix the position of the ChipSHOUTER, snug the thumbscrews that hold the sliders in position **while holding the ChipSHOUTER and sliders from below**: 94 | 95 | 96 | 97 | Depending on your use-case, you might want to leave the bolts only tight enough to hold the bracket secure, but still loose enough such the ChipSHOUTER can slide if you accidentally drive it into your chip. 98 | 99 | The bolt mounting allows you to quickly adjust the spacing of the ChipSHOUTER to compensate for various height boards you mount. 100 | 101 | **NOTE:** You also may want the ChipSHOUTER at the "lower limit" of travel, such that it cannot drop any further. This prevents the ChipSHOUTER from dropping suddenly if the bolts loosen due to vibration of the table. 102 | -------------------------------------------------------------------------------- /stages/medres-chipshover/Rev2Instructions.md: -------------------------------------------------------------------------------- 1 | # Medium Res Stage - Rev 2 2 | 3 | REV2 is the production release of the ChipShover platform. 4 | 5 | ## Stage Assembly & Setup 6 | 7 | See the [Rev2Assembly.md](Rev2Assembly.md "Rev 2 Assembly Document") for details of the assembly process. 8 | 9 | 10 | ## ChipShover Python Interface 11 | 12 | See [chipshover.readthedocs.io](https://chipshover.readthedocs.io/) for the full Python interface details. 13 | 14 | ## Adjusting Coarse Position 15 | 16 | You will have to adjust the position of the ChipShover XYZ stages in a "coarse" fashion to get the ChipShover 50mm travel range to be within the area of your interest. 17 | 18 | ### Y Adjustment 19 | 20 | To adjust the Y position, remove the four bolts at the base of the uprights. You can then slide the uprights forward & reinstall and retighten the bolts. 21 | 22 | ### Z Adjustment 23 | 24 | The Z adjustment is done by sliding the entire X table upward. In doing this, note the following: 25 | 26 | 1. You may need to loosen the bolts securing the uprights. The tight fit of the X stage carrier means it may not easily move without loosening these bolts. 27 | 28 | 2. There are a set of "safety bolts" beneath the carrier. ALWAYS move these bolts one at a time first when moving the stage. For example, when moving the stage higher, one of these bolts is moved (it only needs to be finger tight) while holding the stages with your hand, as shown here: 29 | 30 | 31 | 32 | 33 | ### Board Mounting Kit (PCB Paws) 34 | 35 | We provide a board mounting kit, which consists of three pieces: 36 | 37 | * Adjustable M6/slot to 4-40 base 38 | * M6 mounting bolt 39 | * 4-40 standoffs 40 | 41 | This allows you to mount boards to the base, as in this example: 42 | 43 | 44 | 45 | To set this up, simply: 46 | 47 | 1. Select a stand-off height as appropriate for your board. Typically the shortest stand-off possible provides the best mechanical stability. 48 | 49 | 50 | 51 | 2. Roughly position the board and base pieces. 52 | 53 | 3. Loosely insert the M6 bolts & 4-40 bolts. 54 | 55 | 4. Tighten all bolts, performing final adjustments as needed before final tightening. 56 | 57 | Be sure to consider the movement of the XY table and where your actual chip of interest is located. You can normally mount the board to provide some additional "coarse" adjustment range which makes for more rapid setup. 58 | 59 | NOTE: We use a 4-40 thread in these plates as 4-40 bolt has a 2.85mm diameter. Thus a 4-40 bolt will always allow you to mount a board expecting a M3 bolt, as the 4-40 bolt has a slightly smaller diameter. 60 | 61 | ### Other Mounting Hardware 62 | 63 | The base plate uses standard M6 threaded holes on a 25 x 25mm pattern. This allows usage of almost any optical mounts to help with your board mounting solutions. 64 | 65 | In particular [Thor Labs](https://www.thorlabs.com/navigation.cfm?guide_id=2065) has a variety of mounts which you may find useful. 66 | 67 | The metric [Pillar Post System](https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=1316) provides a similar (but more rigid) solution to our board mounting kit. Note this uses a M6 bolt on top of the pillar - you likely will want to order a quantity of [M6 external to M3 internal adapters](https://www.thorlabs.com/thorproduct.cfm?partnumber=MSA6/M#ad-image-0). You can use this with M3 standoffs to easily mount boards to your table, or even [M3 to 4-40 adapters](https://www.mcmaster.com/91648A109/) if you need smaller screw holes. -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/Rev0Assembly.md: -------------------------------------------------------------------------------- 1 | # Medium Res Stage - Rev 0 Assembly 2 | 3 | ## Parts 4 | 5 | Your shipment should contain the following boxes: 6 | 7 | **Box 1: Frame with X Axis Stage** 8 | 9 | * Frame with X Axis already mounted 10 | * Extra-long 3/16" ball-end T-Handle driver 11 | * Extra-long 5/8" ball-end T-Handle driver 12 | * Box 6 13 | * Box 8 14 | 15 | **Box 2: Y and Z Axis Stages** 16 | 17 | * Y axis stage 18 | * Y axis stage mounting bolts 19 | * Z axis stage 20 | * Z axis stage mounting bolts 21 | 22 | **Box 3: Packing Box** 23 | 24 | This was a numbering failure - ignore Box 3. 25 | 26 | **Box 4 (inside Box 6): ChipSHOUTER Mount** 27 | 28 | * ChipSHOUTER mounting adapter 29 | * 4x M6 screws (countersunk) 30 | * 4mm ball-end hex T-handle driver 31 | * 4mm ball-end hex key 32 | 33 | **Box 5 (inside Box 6): Mounting Hardware** 34 | 35 | * 2x Cable Mounts for Frame 36 | * DUT Mounts for Table: 37 | * Interface feet 38 | * 6x M6-10 bolts 39 | * 6x 4-40 x 1/4" standoff 40 | * 6x 4-40 x 3/8" standoff 41 | * 6x 4-40 x 3/4" standoff 42 | * 6x 4-40 x 1/4" cap head bolt 43 | * 6x 4-40 x 3/8" cap head bolt 44 | * Misc hardware. 45 | 46 | **Box 6 (inside Box 1): Z-Plate and Tools** 47 | 48 | * Z Plate 49 | * Z Plate screws 50 | * 3/16" T Handle hex driver 51 | * 5mm T Handle hex driver 52 | * Flex-shaft driver 53 | * Box 4 54 | * Box 5 55 | 56 | **Box 7: ChipShover Controller** 57 | 58 | * ChipShover Controller 59 | * Spare driver board 60 | * Spare fuses 61 | 62 | **Box 8 (inside Box 1): Stepper Cables** 63 | 64 | * X axis stepper cable (1m) 65 | * Y axis stepper cable (1m) 66 | * Z axis stepper cable (1m) 67 | 68 | 69 | ## 1. Place Stage Frame on Table 70 | 71 | Remove Box 6 & Box 8 from the box with the frame. Then you can remove the frame by holding the vertical framing members & pulling it up out of the box. 72 | 73 | 74 | 75 | Remove packing material (foam & cardboard). Check the stage frame for any obvious damage. 76 | 77 | ## 2. Mount Y Axis Stage on X Axis 78 | 79 | Mount the Y Axis stage perpendicular to the X axis stage. You will see alignment labels on the 80 | X-axis stage that should align with the Y-axis stage. Note it will "overhang" the X axis stage to provide sufficient Y axis travel. The steps to perform the mounting are: 81 | 82 | 1. Using the handwheel, turn the Y axis stage until all **8** bolt-holes are visible underneath the Y axis stage (4 on each side). You will need to extend it almost to it's full limit for this. 83 | 2. Remove the 3x M6 bolts from the package. 84 | 3. Place the Y axis stage on the X axis stage - use alignment marks to position it, and keep one hand on the stage to avoid dropping it. Note that only **3** of the holes have matching threads. 85 | 86 | 87 | 4. Insert the M6 bolts, and using a 5mm hex driver tighten each bolt. 88 | 89 | 90 | 5. Using the Y axis handwheel, return the stage back to the "home" position (you'll hear the microswitch click). 91 | 92 | ## 3. Mount Z Plate on Y Axis 93 | 94 | 1. Remove the 4x M6 bolts from the bag labelled "Z Plate to Y Axis Mounting Bolts". 95 | 2. Remove the Z plate from the packaging, and place on the Y axis stage. 96 | 3. Align the "Mount Z Plate" arrows, and insert the four bolts. 97 | 98 | 99 | 4. Tighten the bolts - you'll have an ability to later fine-tune this mounting. You will want to make sure there is some clearance at the front of the Z axis mount when the Y axis is at the home position. 100 | 101 | 102 | 103 | ## 4. Mount Z Axis on Z Plate 104 | 105 | You will be mounting the Z axis "lower" on the Z plate to provide a reasonable working distance for the ChipSHOUTER. The following photo shows where we will be mating the provided 2x M6 bolts - note we are *not* using the upper slot. 106 | 107 | 108 | 109 | 1. Remove the 2x M6 bolts labelled "Z Axis to Z Plate Mounting Bolts" 110 | 2. Align the edge of the Z axis with the alignment marks on the Z plate. 111 | 3. Insert the 2x bolts that will mate into the threaded holes on the Z plate: 112 | 113 | 114 | 4. Optionally use the M6x20 bolts with the M6 locknuts. 115 | 116 | HINT: You can adjust the position of the Z axis mounting for your own use, we simply provide a suggested mount location. 117 | 118 | ## 5. Add Cable Mounts 119 | 120 | You will use the Cable Mounts for routing stepper motor & ChipSHOUTER cables. The suggested uses is as shown here: 121 | 122 | To insert them, simply insert into the slot and rotate the cable mounts: 123 | 124 | Insert & Rotate 125 | 126 | To achieve the suggested mount locations, see this figure: 127 | 128 | 129 | 130 | ## 6. Connect Stepper Cables 131 | 132 | The stepper motor cables are all standard DB-9 straight-through cables. The provided cables are 22AWG cables allowing a more powerful drive, although we have tested with standard 26AWG IDC cables successfully. Thus if you require extensions or replacements, and off the shelf cable should work. 133 | 134 | Due to the spacing at the ChipShover controller the ChipShover mating side cannot use a backshell. Thus you may be limited to IDC style cables for off the shelf cables. 135 | 136 | The X/Y/Z/ axis cables have been labelled to make setup quicker (the cables being electrically identical). To connect them: 137 | 138 | 1. Connect each cable to the DB9 connector on each stage. The Z axis connector is straight up and the cable should be routed to a cable mount, the X and Y axis cables are right-angle and will route the cable downward for a cleaner workspace. 139 | 2. Tighten screws on the stage end connector. 140 | 3. Connect the other end of each cable to the ChipShover controller - the captive screws need to be tightened to mate the cables. 141 | 142 | 143 | 144 | 4. Route the cables through the ChipShover cable mounts as suitable (shown here also with ChipSHOUTER mounted - but note the Z stage cable routing through the lower mount). 145 | 146 | 147 | 148 | **HINT: If you you need to remove the captive screws from the cable on the ChipShover-One controller end, do this by holding the retaining washer with pliers and "backing out" the bolts.** 149 | 150 | ## 7. Optional - Test Table 151 | 152 | At this point you can test the table before mounting the ChipSHOUTER. To test the table stand-alone: 153 | 154 | 1. Connect the power supply (4-pin mini-DIN). 155 | 2. Turn the power switch on - the switch should illuminate green. If the switch does not illuminate check the power supply. 156 | 3. The ChipShover should boot & display status information. 157 | 4. Release the E-Stop button by *Rotating it clockwise*, as the E-Stop may have been engaged during shipping. 158 | 5. Hold the "stop / home" button for 3-4 seconds - the ChipSHOVER should start the homing operation. You can release the button once it starts the homing operation. 159 | 6. **If the homing operation is failing (such as not detecting end-stops) press the E-Stop button immediately**. 160 | 7. Press the "Jog En" button to enable the joystick. 161 | 8. Move the joystick in X & Y, and rotate it for Z. The current firmware moves by a fixed amount for each time period (this interface will be adjusted in the future). 162 | 9. Power off the ChipShover & complete the rest of the steps. 163 | 164 | ## 8. Add ChipSHOUTER Mounting Bracket 165 | 166 | The ChipSHOUTER mounting bracket fits onto the Z axis stage. Typically it is mounted "low" on the Z stage, where only the upper 2 bolts are used: 167 | 168 | 169 | 170 | Be sure to check you have sufficient clearance for the power & other connectors on the top-side of the ChipSHOUTER. If the ChipSHOUTER is mounted too high, it will cause a collision with the ChipSHOUTER cables and top of the stage. See the example photos with the ChipSHOUTER present. 171 | 172 | ## 9. Mount ChipSHOUTER 173 | 174 | To mount the ChipSHOUTER into the bracket, tighten the 6-32 socket head screws. These screws have a "soft brass" tip - they will still leave a small mark on the aluminum ChipSHOUTER enclosure, but the tip fit helps to secure the ChipSHOUTER into the bracket. 175 | 176 | If you wish to avoid this mark, place a small piece of blanking metal (such as pop can metal) between the ChipSHOUTER enclosure and the screw tips. Be sure the screws are still sufficiently tight & will not loosen, we suggest using Loctite in them if you feel comfortable with the ChipSHOUTER configuration. 177 | 178 | The 6-32 socket head screws use a 7/64" hex driver. This hex driver bit is included alongside the ChipSHOUTER mounting plate - you will need the flex driver to use this (you can use any other screwdriver as well with this). 179 | 180 | Setup is now complete! Hopefully the end results look something like this: 181 | 182 | -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/Rev0Instructions.md: -------------------------------------------------------------------------------- 1 | # Medium Res Stage - Rev 0 2 | 3 | REV0 is a beta release of the ChipShover platform. This release includes: 4 | 5 | * Temporary printed labels instead of final labels 6 | * 3D printed parts 7 | 8 | ## Stage Assembly & Setup 9 | 10 | See the [Rev0Assembly.md](Rev0Assembly.md "Rev 0 Assembly Document") for details of the assembly process. 11 | 12 | You should roughly have the following after that page: 13 | 14 | 15 | 16 | ## ChipShover Python Interface 17 | 18 | See [chipshover.readthedocs.io](https://chipshover.readthedocs.io/) for the full Python interface details. 19 | 20 | ## Adjusting Coarse Position 21 | 22 | You will have to adjust the position of the ChipShover XYZ stages in a "coarse" fashion to get the ChipShover 50mm travel range to be within the area of your interest. 23 | 24 | To simplify the adjustment, you have been provided with two **extra-long** T-handle socket-end hex wrenches. One is 3/16", and one is 5/32". 25 | 26 | 27 | 28 | The ChipShover table uses a "main adjustment bolt" that locks everything together - this bolt is the upper left bolt on the X-Axis table holder. Whenever you are moving the table either in Y or X you will have to loosen this bolt. Once you have finished the adjustment, tighten this bolt to ensure no other bolts loosen: 29 | 30 | 31 | 32 | **NOTE: For all adjustments you should LOOSEN but not REMOVE any bolts. If you fully remove any bolt, be sure to thread them back before continuing.** 33 | 34 | ### Y Adjustment 35 | 36 | 37 | 1. Loosen the main adjustment bolt: 38 | 39 | 40 | 41 | 2. Loosen the **four** bolts on each side using a 3/16" hex wrench: 42 | 43 | 44 | 45 | **NOTE: One of the bolts will require you to access it at an angle - you may wish to only snug up this bolt to make adjustments easier** 46 | 47 | 48 | 49 | 3. Pull the table to the new position: 50 | 51 | 52 | 53 | 4. Tighten the **four** bolts on each side using a 3/16" hex wrench: 54 | 55 | 56 | 57 | 5. Tighten the main adjustment bolt: 58 | 59 | 60 | 61 | ### Z Adjustment 62 | 63 | **WARNING: When adjusting the Z axis, you may wish to remove the ChipSHOUTER mount. It is easy to knock the ChipSHOUTER during this operation which may damage it.** 64 | 65 | #### Lowering 66 | 67 | 1. Using a 5/32" wrench, loosen the Z-stop bolts: 68 | 69 | 70 | 71 | 2. Set the new Z-stop location and tighten the bolts: 72 | 73 | 74 | 75 | 3. Using a 3/16" hex wrench, loosen the four bolts underneath the X axis table on the left and right sides. 76 | 77 | 78 | 79 | 4. Loosen the main adjustment bolt, holding the table while doing so: 80 | 81 | 82 | 83 | 5. Gently lower the table onto the Z-axis stops: 84 | 85 | 86 | 87 | 6. Tighten the X axis table bolts - 4 on each side: 88 | 89 | 90 | 91 | 7. Tighten the main adjustment bolt: 92 | 93 | 94 | 95 | Done! 96 | 97 | #### Raising 98 | 99 | 1. Using a 3/16" hex wrench, loosen the four bolts underneath the X axis table on the left and right sides. Note there is a "stop" piece that will prevent any movement (dropping), you may wish to ensure these bolts are tight. 100 | 101 | 102 | 103 | 2. Loosen the main adjustment bolt: 104 | 105 | 106 | 107 | 3. Push up on both blocks to raise the table - you may need to *further* loosen some of the four bolts underneath each side from step 1 for this to work: 108 | 109 | 110 | 111 | 4. Keeping one hand on a block to "lock" it in place, tighten the main adjustment bolt. Note in the photo above you may find it handy to simply leave the provided shorter 3/16" wrench in the main bolt to make this easier: 112 | 113 | 114 | 115 | 5. Tighten the X axis table bolts - 4 on each side: 116 | 117 | 118 | 119 | 6. The Z-Stops are now too low - loosen the Z-stop bolt (using a 5/32" wrench): 120 | 121 | 122 | 123 | 7. Raise the Z-Stops and tighten them again: 124 | 125 | 126 | 127 | Done! 128 | 129 | ## Mounting Boards to Base Plate 130 | 131 | Typically you will need to mount various boards to the base plate for EMFI and SCA attacks. 132 | 133 | ### Board Mounting Kit 134 | 135 | We provide a board mounting kit, which consists of three pieces: 136 | 137 | * Adjustable M6/slot to 4-40 base 138 | * M6 mounting bolt 139 | * 4-40 standoffs 140 | 141 | This allows you to mount boards to the base, as in this example: 142 | 143 | 144 | 145 | To set this up, simply: 146 | 147 | 1. Select a stand-off height as appropriate for your board. Typically the shortest stand-off possible provides the best mechanical stability. 148 | 149 | 150 | 151 | 2. Roughly position the board and base pieces. 152 | 153 | 3. Loosely insert the M6 bolts & 4-40 bolts. 154 | 155 | 4. Tighten all bolts, performing final adjustments as needed before final tightening. 156 | 157 | Be sure to consider the movement of the XY table and where your actual chip of interest is located. You can normally mount the board to provide some additional "coarse" adjustment range which makes for more rapid setup. 158 | 159 | NOTE: We use a 4-40 thread in these plates as 4-40 bolt has a 2.85mm diameter. Thus a 4-40 bolt will always allow you to mount a board expecting a M3 bolt, as the 4-40 bolt has a slightly smaller diameter. 160 | 161 | ### Other Mounting Hardware 162 | 163 | The base plate uses standard M6 threaded holes on a 25 x 25mm pattern. This allows usage of almost any optical mounts to help with your board mounting solutions. 164 | 165 | In particular [Thor Labs](https://www.thorlabs.com/navigation.cfm?guide_id=2065) has a variety of mounts which you may find useful. 166 | 167 | The metric [Pillar Post System](https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=1316) provides a similar (but more rigid) solution to our board mounting kit. Note this uses a M6 bolt on top of the pillar - you likely will want to order a quantity of [M6 external to M3 internal adapters](https://www.thorlabs.com/thorproduct.cfm?partnumber=MSA6/M#ad-image-0). You can use this with M3 standoffs to easily mount boards to your table, or even [M3 to 4-40 adapters](https://www.mcmaster.com/91648A109/) if you need smaller screw holes. -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/Rev1Assembly.md: -------------------------------------------------------------------------------- 1 | # Medium Res Stage - Rev 1 Assembly 2 | 3 | NOTE: Due to use of US-centric parts (1" extrusion rails), some parts in this assembly are imperial screws/bolts. 4 | 5 | As much as possible, imperial bolts are stainless steel (silver colour), and metric bolts are black. 6 | 7 | ## 1. Place Stage Frame on Table & Mount Vertical Supports 8 | 9 | Remove base table from box, place on table. Yellow end caps may be preinstalled on one side, if so that is the "front". To avoid damage in shipping, we normally don't install the yellow end caps. 10 | 11 | Mount vertical rails to base table rails by feeding T-Nuts into extrusion slots. 12 | 13 | Keep the rear of the rail support flush with the rear of the table for now. Lightly tighten the T-nuts using a 3/16 hex wrench (the uprights will still be a bit "wobbly" for now). 14 | 15 | 16 | 17 | ## 2. Mount Vertical Sliders with Upper Table (X Stage Support) 18 | 19 | Slide the vertical table down the supports: 20 | 21 | 22 | 23 | To tighten the brakes on the slider, there are two L-handles on each side. To use them, you can turn them to tighten the brake. When you each the range of opening or closing, pull the handle out which disengages it from the bolt, allowing you to rotate it back: 24 | 25 | 26 | 27 | You might prefer to just use a 3mm wrench to tighten and loosen the brake, especially during setup: 28 | 29 | 30 | 31 | When done, pull the handles out to disengage the brake, and move them out of the way so you don't hit them by accident: 32 | 33 | 34 | 35 | 36 | ## 3. Install X stage 37 | 38 | You will need: 39 | 40 | * 8: M6x14 bolts 41 | 42 | Position X stage over support table - watch the alignment, as you need room for the DB9 cable to be mounted: 43 | 44 | 45 | 46 | Using the hand wheel, turn the table to expose the mounting holes. Then using 8 bolts, screw the X stage down 47 | (8 bolts is excessive here probably, feel free to reduce this if you think you may adjust the position of the table): 48 | 49 | 50 | 51 | 52 | ## 4. Mount Y Axis Stage on X Axis 53 | 54 | Mount the Y Axis stage perpendicular to the X axis stage. You will see alignment labels on the 55 | X-axis stage that should align with the Y-axis stage. Note it will "overhang" the X axis stage to provide sufficient Y axis travel. The steps to perform the mounting are: 56 | 57 | 1. Using the handwheel, turn the Y axis stage until all **8** bolt-holes are visible underneath the Y axis stage (4 on each side). You will need to extend it almost to it's full limit for this. 58 | 2. Remove the 3x M6 bolts from the package. 59 | 3. Place the Y axis stage on the X axis stage - use alignment marks to position it, and keep one hand on the stage to avoid dropping it. Note that only **3** of the holes have matching threads. 60 | 61 | 62 | 4. Insert the M6 bolts, and using a 5mm hex driver tighten each bolt. 63 | 64 | 65 | 5. Using the Y axis handwheel, return the stage back to the "home" position (you'll hear the microswitch click). 66 | 67 | ## 5. Mount Z Plate on Y Axis 68 | 69 | **NOTE: This plate may be installed with the Z-Stage already, if so please follow this step, just hold the Z-Stage as well, and skip the next step as it's already done.** 70 | 71 | 1. Remove the 4x M6 bolts from the bag labelled "Z Plate to Y Axis Mounting Bolts". 72 | 2. Remove the Z plate from the packaging, and place on the Y axis stage. 73 | 3. Align the "Mount Z Plate" arrows, and insert the four bolts. 74 | 75 | 76 | 4. Tighten the bolts - you'll have an ability to later fine-tune this mounting. You will want to make sure there is some clearance at the front of the Z axis mount when the Y axis is at the home position. 77 | 78 | 79 | 80 | ## 6. Mount Z Axis on Z Plate 81 | 82 | You will be mounting the Z axis "lower" on the Z plate to provide a reasonable working distance for the ChipSHOUTER. The following photo shows where we will be mating the provided 2x M6 bolts - note we are *not* using the upper slot. 83 | 84 | 85 | 86 | 1. Remove the 2x M6 bolts labelled "Z Axis to Z Plate Mounting Bolts" 87 | 2. Align the edge of the Z axis with the alignment marks on the Z plate. 88 | 3. Insert the 2x bolts that will mate into the threaded holes on the Z plate: 89 | 90 | 91 | 4. Optionally use the M6x20 bolts with the M6 locknuts. 92 | 93 | HINT: You can adjust the position of the Z axis mounting for your own use, we simply provide a suggested mount location. 94 | 95 | ## 7. Adjustments & Locking Down 96 | 97 | Check you have clearance at all limits - watch for example the far end of the X travel, where the Z plate may be close to the supports. You want at least 2-3mm of clearance here: 98 | 99 | 100 | 101 | You can adjust this by adjusting the Z-Plate mounting on the Y axis. 102 | 103 | You can also adjust the small upper X-support table mount location, but this requires removing the X table (there upright-to-table-support angle pieces use slots allowing some adjustment). To do this, use a 10mm wrench on the flange nuts underneath the upright-to-table-supports. 104 | 105 | If everything looks good, lock down the silver bolts you only loosely tightened in Step 1. They will bite into the rails for good rigidity, so this will feel tight. Use a 3/16" T-handle wrench (included). 106 | 107 | You can also install yellow caps at this point to block the sharp edges of the extrusion: 108 | 109 | 110 | 111 | ## 8. Add Cable Mounts 112 | 113 | You will use the Cable Mounts for routing stepper motor & ChipSHOUTER cables. The suggested uses is as shown here: 114 | 115 | To insert them, simply insert into the slot and rotate the cable mounts (old revision shown for ChipShover): 116 | 117 | Insert & Rotate 118 | 119 | To achieve the suggested mount locations, see this figure (old revision shown for ChipShover): 120 | 121 | 122 | 123 | ## 9. Connect Stepper Cables 124 | 125 | The stepper motor cables are all standard DB-9 straight-through cables. The provided cables are 22AWG cables allowing a more powerful drive, although we have tested with standard 26AWG IDC cables successfully. Thus if you require extensions or replacements, and off the shelf cable should work. 126 | 127 | Due to the spacing at the ChipShover controller the ChipShover mating side cannot use a backshell. Thus you may be limited to IDC style cables for off the shelf cables. 128 | 129 | The X/Y/Z/ axis cables have been labelled to make setup quicker (the cables being electrically identical, but with different backshells to fit the stage orientation more cleanly). To connect them: 130 | 131 | 1. Connect each cable to the DB9 connector on each stage. The Z axis connector is straight up and the cable should be routed to a cable mount, the X and Y axis cables are right-angle and will route the cable downward (Y-axis) or upward (X-axis) as appropriate for the best install. 132 | 2. Tighten screws on the stage end connector. 133 | 3. Connect the other end of each cable to the ChipShover controller - the captive screws need to be tightened to mate the cables. 134 | 135 | 136 | 137 | 4. Route the cables through the ChipShover cable mounts as suitable (shown here also with ChipSHOUTER mounted - but note the Z stage cable routing through the lower mount). 138 | 139 | 140 | 141 | **HINT: If you you need to remove the captive screws from the cable on the ChipShover-One controller end, do this by holding the retaining washer with pliers and "backing out" the bolts.** 142 | 143 | ## 10. Optional - Test Table 144 | 145 | At this point you can test the table before mounting the ChipSHOUTER. To test the table stand-alone: 146 | 147 | 1. Connect the power supply (4-pin mini-DIN). 148 | 2. Turn the power switch on - the switch should illuminate green. If the switch does not illuminate check the power supply. 149 | 3. The ChipShover should boot & display status information. 150 | 4. Release the E-Stop button by *Rotating it clockwise*, as the E-Stop may have been engaged during shipping. 151 | 5. Hold the "stop / home" button for 3-4 seconds - the ChipSHOVER should start the homing operation. You can release the button once it starts the homing operation. 152 | 6. **If the homing operation is failing (such as not detecting end-stops) press the E-Stop button immediately**. 153 | 7. Press the "Jog En" button to enable the joystick. You will see the Jog En light turn on. 154 | 8. Move the joystick in X & Y, and rotate it for Z. The current firmware moves by a fixed amount for each time period (this interface will be adjusted in the future). You can also hit the 'Fast Jog' button which changes the step size. 155 | 9. Power off the ChipShover & complete the rest of the steps. 156 | 157 | ## 11. Add ChipSHOUTER Mounting Bracket 158 | 159 | The ChipSHOUTER mounting bracket fits onto the Z axis stage. Typically it is mounted "low" on the Z stage, where only the upper 2 bolts are used which provides more clearance: 160 | 161 | 162 | 163 | 164 | Be sure to check you have sufficient clearance for the power & other connectors on the top-side of the ChipSHOUTER. If the ChipSHOUTER is mounted too high, it will cause a collision with the ChipSHOUTER cables and top of the stage. 165 | 166 | The beveled end of the mounting bracket faces up. 167 | 168 | ## 12. Mount ChipSHOUTER 169 | 170 | To mount the ChipSHOUTER into the bracket, use the two sliders on the side of the ChipSHOUTER. They should be positioned such the stops in the bracket will prevent the ChipSHOUTER from falling too low: 171 | 172 | 173 | 174 | To fix the position of the ChipSHOUTER, snug the bolts that hold the sliders in position **while holding the ChipSHOUTER and sliders from below**: 175 | 176 | 177 | 178 | Depending on your use-case, you might want to leave the bolts only tight enough to hold the bracket secure, but still loose enough such the ChipSHOUTER can slide if you accidentally drive it into your chip. 179 | 180 | The bolt mounting allows you to quickly adjust the spacing of the ChipSHOUTER to compensate for various height boards you mount. 181 | 182 | **NOTE:** You also may want the ChipSHOUTER at the "lower limit" of travel, such that it cannot drop any further. This prevents the ChipSHOUTER from dropping suddenly if the bolts loosen due to vibration of the table. 183 | -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/Rev1Instructions.md: -------------------------------------------------------------------------------- 1 | # Medium Res Stage - Rev 1 2 | 3 | REV1 is the initial release of the ChipShover platform. Updates will continue to be made to the platform. 4 | 5 | ## Stage Assembly & Setup 6 | 7 | See the [Rev1Assembly.md](Rev1Assembly.md "Rev 1 Assembly Document") for details of the assembly process. 8 | 9 | 10 | ## ChipShover Python Interface 11 | 12 | See [chipshover.readthedocs.io](https://chipshover.readthedocs.io/) for the full Python interface details. 13 | 14 | ## Adjusting Coarse Position 15 | 16 | You will have to adjust the position of the ChipShover XYZ stages in a "coarse" fashion to get the ChipShover 50mm travel range to be within the area of your interest. 17 | 18 | ### Y Adjustment 19 | 20 | Loosen the two bolts along the Y sliders using a 3/16" hex, move to new position, tighten bolts. 21 | 22 | ### Z Adjustment 23 | 24 | Holding the ChipShover upper table, release the four clamps. Adjust to the new position and tighten the clamps. 25 | 26 | ### Board Mounting Kit (PCB Paws) 27 | 28 | We provide a board mounting kit, which consists of three pieces: 29 | 30 | * Adjustable M6/slot to 4-40 base 31 | * M6 mounting bolt 32 | * 4-40 standoffs 33 | 34 | This allows you to mount boards to the base, as in this example: 35 | 36 | 37 | 38 | To set this up, simply: 39 | 40 | 1. Select a stand-off height as appropriate for your board. Typically the shortest stand-off possible provides the best mechanical stability. 41 | 42 | 43 | 44 | 2. Roughly position the board and base pieces. 45 | 46 | 3. Loosely insert the M6 bolts & 4-40 bolts. 47 | 48 | 4. Tighten all bolts, performing final adjustments as needed before final tightening. 49 | 50 | Be sure to consider the movement of the XY table and where your actual chip of interest is located. You can normally mount the board to provide some additional "coarse" adjustment range which makes for more rapid setup. 51 | 52 | NOTE: We use a 4-40 thread in these plates as 4-40 bolt has a 2.85mm diameter. Thus a 4-40 bolt will always allow you to mount a board expecting a M3 bolt, as the 4-40 bolt has a slightly smaller diameter. 53 | 54 | ### Other Mounting Hardware 55 | 56 | The base plate uses standard M6 threaded holes on a 25 x 25mm pattern. This allows usage of almost any optical mounts to help with your board mounting solutions. 57 | 58 | In particular [Thor Labs](https://www.thorlabs.com/navigation.cfm?guide_id=2065) has a variety of mounts which you may find useful. 59 | 60 | The metric [Pillar Post System](https://www.thorlabs.com/newgrouppage9.cfm?objectgroup_id=1316) provides a similar (but more rigid) solution to our board mounting kit. Note this uses a M6 bolt on top of the pillar - you likely will want to order a quantity of [M6 external to M3 internal adapters](https://www.thorlabs.com/thorproduct.cfm?partnumber=MSA6/M#ad-image-0). You can use this with M3 standoffs to easily mount boards to your table, or even [M3 to 4-40 adapters](https://www.mcmaster.com/91648A109/) if you need smaller screw holes. -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/boardmount.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/boardmount.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/cablemating.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/cablemating.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/cablemount1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/cablemount1.jpg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/cablemount2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/cablemount2.jpg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/cablerouting.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/cablerouting.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/chipshoverplate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/chipshoverplate.jpg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/frameremoval.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/frameremoval.jpg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/interfacefeet.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/interfacefeet.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/jesusbolt.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/jesusbolt.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/longcat.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/longcat.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/pushup.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/pushup.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/pushwhilejesus.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/pushwhilejesus.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/stages_chipshover.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/stages_chipshover.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/yadjfunky.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/yadjfunky.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/yadjpull.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/yadjpull.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/yadjubolt1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/yadjubolt1.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/yaxisalignment.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/yaxisalignment.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/yaxismounted.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/yaxismounted.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/zaxisclear.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/zaxisclear.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/zaxisfront.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/zaxisfront.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/zholderwrench.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/zholderwrench.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/zplatealign.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/zplatealign.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/zplatefrontside.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/zplatefrontside.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/zplatescrew.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/zplatescrew.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/zstophigh.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/zstophigh.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev0/zstoplow.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev0/zstoplow.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/capthat.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/capthat.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/cs_cable.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/cs_cable.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/cs_holder_1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/cs_holder_1.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/cs_holder_2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/cs_holder_2.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/cs_holder_3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/cs_holder_3.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/placelow.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/placelow.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/pullout.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/pullout.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/pullout_3mm.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/pullout_3mm.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/table_1_install.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/table_1_install.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/table_1_nuts.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/table_1_nuts.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/table_clearance.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/table_clearance.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/table_position_db9.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/table_position_db9.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/table_position_db9_annotate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/table_position_db9_annotate.jpg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/table_position_screws.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/table_position_screws.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/table_position_screws_annotate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/table_position_screws_annotate.jpg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/table_support_install.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/table_support_install.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/vertical_slider_install.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/vertical_slider_install.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/xtable_install_black.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/xtable_install_black.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/old_revisions/rev1/y_table_align.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/old_revisions/rev1/y_table_align.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/rev2/base_shipping.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/rev2/base_shipping.jpg -------------------------------------------------------------------------------- /stages/medres-chipshover/rev2/cable_strap.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/rev2/cable_strap.jpg -------------------------------------------------------------------------------- /stages/medres-chipshover/rev2/cs_backwards.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/rev2/cs_backwards.jpeg -------------------------------------------------------------------------------- /stages/medres-chipshover/rev2/cs_backwards.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/rev2/cs_backwards.jpg -------------------------------------------------------------------------------- /stages/medres-chipshover/rev2/cs_holder_done.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/rev2/cs_holder_done.jpg -------------------------------------------------------------------------------- /stages/medres-chipshover/rev2/cs_install1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/rev2/cs_install1.jpg -------------------------------------------------------------------------------- /stages/medres-chipshover/rev2/safety-bolt.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/rev2/safety-bolt.jpg -------------------------------------------------------------------------------- /stages/medres-chipshover/rev2/y_mounting_holes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/rev2/y_mounting_holes.jpg -------------------------------------------------------------------------------- /stages/medres-chipshover/rev2/ystage_thumbwheel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/rev2/ystage_thumbwheel.jpg -------------------------------------------------------------------------------- /stages/medres-chipshover/rev2/zstage_holes.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/rev2/zstage_holes.jpg -------------------------------------------------------------------------------- /stages/medres-chipshover/rev2/zstage_mounted.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/newaetech/ChipShover/21a238a7cd67f4ed0b4fb1eeb3f913daba672492/stages/medres-chipshover/rev2/zstage_mounted.jpg -------------------------------------------------------------------------------- /stages/medres-diy/README.md: -------------------------------------------------------------------------------- 1 | 2 | INTERNAL NOTES 3 | 4 | NOTE: We **DO NOT SUPPORT** these build instructions. They are left as a community resource, but it in fact may discourage customers from purchasing our solution (if we had any business sense we wouldn't post them in our github). Check carefully for assembly details, as vendor parts may change which stops this solution from working. If you proceed with the self-build solution you are on your own! 5 | 6 | Be aware that we've put effort into compiling this list for our own R&D - 7 | 8 | ## Frame 9 | 10 | ### Parts List 11 | 12 | Base-Lab-Tools parts: 13 | 14 | * 1x [SAB10x30-M](http://www.baselabtools.com/100mm-x-300mm-Solid-Aluminum-Optical-Breadboard_p_397.html) 100mm x 300mm Solid Aluminum Optical Breadboard 15 | * 1x [SAB25x30-M](http://www.baselabtools.com/250mm-x-300mm-x-13mm-Solid-Aluminum-Breadboard-Metric_p_392.html) 250mm x 300mm x 13mm Solid Aluminum Breadboard, Metric 16 | 17 | McMaster-Carr Parts: 18 | 19 | * 2x [Offset Rail-to-Tube Holder for 2" High Double Rail](https://www.mcmaster.com/47065T89/) - used to hold upper breadboard. This is part number 5415 + 3432 from 8020.net. 20 | * 5x [1"x1" (Single Height) Extrusion, 1 ft](https://www.mcmaster.com/47065T101/) - Bottom Platform. 21 | * 2x [2"x1" (Double Height) Extrusion, 1 ft](https://www.mcmaster.com/47065T107/) - Vertical Rails. 22 | * 2x [1"x1" Diagonal Brace, 6"](https://www.mcmaster.com/47065T186/) - braces vertical rails. 23 | * 1x [Pack of 25 T-Slotted Framing Nut, 1/4"-20](https://www.mcmaster.com/47065T905/). 24 | * 1x [Pack of 1/4"-20, 1/2" long socket head](https://www.mcmaster.com/92196A537/) 25 | * 26 | 27 | 28 | ### Assembly 29 | 30 | Assemble bottom frame using a total of 5x 1-foot extrusion pieces. The basic process: 31 | 32 | 1. Using T-Slotted framing nuts, fasten three of the extrusion pieces --------------------------------------------------------------------------------