diff --git a/README.md b/README.md index 3fe069cf49..0082b982f3 100644 --- a/README.md +++ b/README.md @@ -42,3 +42,5 @@ List of questions from the slack that you may want answered too: + + diff --git a/hackpads/NT Pad/CAD/ntpad.3mf b/hackpads/NT Pad/CAD/ntpad.3mf new file mode 100644 index 0000000000..2aa83f0a2c Binary files /dev/null and b/hackpads/NT Pad/CAD/ntpad.3mf differ diff --git a/hackpads/NT Pad/Firmware/main.py b/hackpads/NT Pad/Firmware/main.py new file mode 100644 index 0000000000..ad67d9d8c3 --- /dev/null +++ b/hackpads/NT Pad/Firmware/main.py @@ -0,0 +1,55 @@ +# You import all the IOs of your board +import board + +# These are imports from the kmk library +from kmk.kmk_keyboard import KMKKeyboard +from kmk.scanners.keypad import KeysScanner +from kmk.keys import KC +from kmk.modules.encoder import EncoderHandler +from kmk.modules.macros import Press, Release, Tap, Macros + +# This is the main instance of your keyboard +keyboard = KMKKeyboard() + +# Add the macro extension +macros = Macros() +keyboard.modules.append(macros) + +# Add the encoder extension +encoder_handler = EncoderHandler() +keyboard.modules.append(encoder_handler) + +# Define your pins here! +PINS = [board.D3, board.D4, board.D2, board.D1, board.D0] + +# Define rotary encoder pins +ENCODER_PINS = (board.D6, board.D7) # Modify these based on your wiring + +# Tell kmk we are not using a key matrix +keyboard.matrix = KeysScanner( + pins=PINS, + value_when_pressed=False, +) + +# Encoder mapping +encoder_handler.pins = ENCODER_PINS +encoder_handler.map = [ # Had to get help from gpt for the encoder :( + ((KC.VOLU,), (KC.VOLD,)), +] + +# Here you define the buttons corresponding to the pins +# Look here for keycodes: https://github.com/KMKfw/kmk_firmware/blob/main/docs/en/keycodes.md +# And here for macros: https://github.com/KMKfw/kmk_firmware/blob/main/docs/en/macros.md +keyboard.keymap = [ + [ + KC.LCTL(KC.C), # Copy + KC.LCTL(KC.V), # Paste + KC.LGUI(KC.LSFT(KC.FOUR)), # SS + KC.LGUI(KC.LSFT(KC.H)), # Find Replace + KC.ESC, # Escape + ] +] + +# Start kmk! +if __name__ == '__main__': + keyboard.go() diff --git a/hackpads/NT Pad/PCB/hackpad.kicad_pcb b/hackpads/NT Pad/PCB/hackpad.kicad_pcb new file mode 100644 index 0000000000..6d6605971c --- /dev/null +++ b/hackpads/NT Pad/PCB/hackpad.kicad_pcb @@ -0,0 +1,3054 @@ +(kicad_pcb + (version 20240108) + (generator "pcbnew") + (generator_version "8.0") + (general + (thickness 1.6) + (legacy_teardrops no) + ) + (paper "A4") + (layers + (0 "F.Cu" signal) + (31 "B.Cu" signal) + (32 "B.Adhes" user "B.Adhesive") + (33 "F.Adhes" user "F.Adhesive") + (34 "B.Paste" user) + (35 "F.Paste" user) + (36 "B.SilkS" user "B.Silkscreen") + (37 "F.SilkS" user "F.Silkscreen") + (38 "B.Mask" user) + (39 "F.Mask" user) + (40 "Dwgs.User" user "User.Drawings") + (41 "Cmts.User" user "User.Comments") + (42 "Eco1.User" user "User.Eco1") + (43 "Eco2.User" user "User.Eco2") + (44 "Edge.Cuts" user) + (45 "Margin" user) + (46 "B.CrtYd" user "B.Courtyard") + (47 "F.CrtYd" user "F.Courtyard") + (48 "B.Fab" user) + (49 "F.Fab" user) + (50 "User.1" user) + (51 "User.2" user) + (52 "User.3" user) + (53 "User.4" user) + (54 "User.5" user) + (55 "User.6" user) + (56 "User.7" user) + (57 "User.8" user) + (58 "User.9" user) + ) + (setup + (pad_to_mask_clearance 0) + (allow_soldermask_bridges_in_footprints no) + (pcbplotparams + (layerselection 0x00010fc_ffffffff) + (plot_on_all_layers_selection 0x0000000_00000000) + (disableapertmacros no) + (usegerberextensions no) + (usegerberattributes yes) + (usegerberadvancedattributes yes) + (creategerberjobfile yes) + (dashed_line_dash_ratio 12.000000) + (dashed_line_gap_ratio 3.000000) + (svgprecision 4) + (plotframeref no) + (viasonmask no) + (mode 1) + (useauxorigin no) + (hpglpennumber 1) + (hpglpenspeed 20) + (hpglpendiameter 15.000000) + (pdf_front_fp_property_popups yes) + (pdf_back_fp_property_popups yes) + (dxfpolygonmode yes) + (dxfimperialunits yes) + (dxfusepcbnewfont yes) + (psnegative no) + (psa4output no) + (plotreference yes) + (plotvalue yes) + (plotfptext yes) + (plotinvisibletext no) + (sketchpadsonfab no) + (subtractmaskfromsilk no) + (outputformat 1) + (mirror no) + (drillshape 1) + (scaleselection 1) + (outputdirectory "") + ) + ) + (net 0 "") + (net 1 "Net-(U1-GPIO26{slash}ADC0{slash}A0)") + (net 2 "GND") + (net 3 "Net-(U1-GPIO1{slash}RX)") + (net 4 "Net-(U1-GPIO2{slash}SCK)") + (net 5 "Net-(U1-GPIO4{slash}MISO)") + (net 6 "Net-(U1-GPIO3{slash}MOSI)") + (net 7 "Net-(U1-GPIO6{slash}SDA)") + (net 8 "Net-(U1-GPIO7{slash}SCL)") + (net 9 "Net-(U1-GPIO0{slash}TX)") + (net 10 "unconnected-(U1-GPIO27{slash}ADC1{slash}A1-Pad2)") + (net 11 "unconnected-(U1-GPIO28{slash}ADC2{slash}A2-Pad3)") + (net 12 "unconnected-(U1-3V3-Pad12)") + (net 13 "unconnected-(U1-GPIO29{slash}ADC3{slash}A3-Pad4)") + (net 14 "+5V") + (footprint "Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB" + (layer "F.Cu") + (uuid "15c483ba-3ac8-4cf4-8caa-af1b31dd91ff") + (at 152.55875 128.27) + (descr "Cherry MX keyswitch, 1.00u, PCB mount, http://cherryamericas.com/wp-content/uploads/2014/12/mx_cat.pdf") + (tags "Cherry MX keyswitch 1.00u PCB") + (property "Reference" "SW3" + (at -2.54 -2.794 0) + (layer "F.SilkS") + (uuid "edfdc777-dbd4-48e8-8bc2-5be51dd28fd5") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "SW_Push" + (at -2.54 12.954 0) + (layer "F.Fab") + (uuid "6015b161-2c50-490a-af39-35322c3510b1") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Footprint" "Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "7fd7ffbf-bb98-4849-a641-c01d93f33e5f") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "14b958ae-823e-44c8-8ba9-eb86cd45e68e") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (property "Description" "Push button switch, generic, two pins" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "c20075db-d2f1-4cb6-8fcd-b4933ba50520") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (path "/a6d6c1d9-f7fb-4378-9d9d-29dbee7f9be2") + (sheetname "Root") + (sheetfile "hackpad.kicad_sch") + (attr through_hole) + (fp_line + (start -9.525 -1.905) + (end 4.445 -1.905) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "9f5de74e-ec8c-4502-a4b6-1d8ff50562e2") + ) + (fp_line + (start -9.525 12.065) + (end -9.525 -1.905) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "164a3f8e-8bc6-4dad-9c89-07821e4a200c") + ) + (fp_line + (start 4.445 -1.905) + (end 4.445 12.065) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "ed368823-a632-4aac-946f-a29f3bbc2b9d") + ) + (fp_line + (start 4.445 12.065) + (end -9.525 12.065) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "d51a1e95-66ae-4842-85db-4db1b181d6b4") + ) + (fp_line + (start -12.065 -4.445) + (end 6.985 -4.445) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "903e4c71-ee61-4cc4-a127-3f55611f3555") + ) + (fp_line + (start -12.065 14.605) + (end -12.065 -4.445) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "9e3dd152-d8c3-4042-945d-741051a29916") + ) + (fp_line + (start 6.985 -4.445) + (end 6.985 14.605) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "882aa4c3-c6c5-44b4-8aed-9a6d574c346c") + ) + (fp_line + (start 6.985 14.605) + (end -12.065 14.605) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "ffcd6fb2-2314-4cc0-9042-eb795bf4465f") + ) + (fp_line + (start -9.14 -1.52) + (end 4.06 -1.52) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "2483f55a-74b0-4b58-a481-8f80168cdd7f") + ) + (fp_line + (start -9.14 11.68) + (end -9.14 -1.52) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "de9da5d6-1e3e-4537-b1e0-d95f49925d7c") + ) + (fp_line + (start 4.06 -1.52) + (end 4.06 11.68) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "a54d0a3f-c379-4d40-bf70-891582e9dd57") + ) + (fp_line + (start 4.06 11.68) + (end -9.14 11.68) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "2639636f-b006-4c60-8f3a-761062a30786") + ) + (fp_line + (start -8.89 -1.27) + (end 3.81 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "42b05a1a-a08a-4d83-bd98-5f35e673a358") + ) + (fp_line + (start -8.89 11.43) + (end -8.89 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "0c7fe854-b317-4190-ba7a-e3c58494a5ae") + ) + (fp_line + (start 3.81 -1.27) + (end 3.81 11.43) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "a761c85d-4446-406d-8fdc-c9550ad78e72") + ) + (fp_line + (start 3.81 11.43) + (end -8.89 11.43) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "fe28171d-b059-46f1-8243-be06845135fd") + ) + (fp_text user "${REFERENCE}" + (at -2.54 -2.794 0) + (layer "F.Fab") + (uuid "65059b11-d7c5-43a4-a5b6-bf675efc81a1") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "" np_thru_hole circle + (at -7.62 5.08) + (size 1.7 1.7) + (drill 1.7) + (layers "*.Cu" "*.Mask") + (uuid "f919bce1-7e84-4ba2-90d2-fe0177f7dff3") + ) + (pad "" np_thru_hole circle + (at -2.54 5.08) + (size 4 4) + (drill 4) + (layers "*.Cu" "*.Mask") + (uuid "2e999386-81c2-464a-804a-b4ac23c5e9bb") + ) + (pad "" np_thru_hole circle + (at 2.54 5.08) + (size 1.7 1.7) + (drill 1.7) + (layers "*.Cu" "*.Mask") + (uuid "aa604051-93ed-49f8-af8b-98641e6a8900") + ) + (pad "1" thru_hole circle + (at 0 0) + (size 2.2 2.2) + (drill 1.5) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 2 "GND") + (pinfunction "1") + (pintype "passive") + (uuid "8933b3cb-a3d2-4b2c-a80c-4e0361423a54") + ) + (pad "2" thru_hole circle + (at -6.35 2.54) + (size 2.2 2.2) + (drill 1.5) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 4 "Net-(U1-GPIO2{slash}SCK)") + (pinfunction "2") + (pintype "passive") + (uuid "7d9bfdb1-223b-4c86-8a81-59ff30e3d526") + ) + (model "${KICAD8_3DMODEL_DIR}/Button_Switch_Keyboard.3dshapes/SW_Cherry_MX_1.00u_PCB.wrl" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_CircularMountingHoles" + (layer "F.Cu") + (uuid "17e7e0bf-7b13-4961-89df-2d06c7e668bc") + (at 123.71875 111.8) + (descr "Alps rotary encoder, EC12E... with switch, vertical shaft, mounting holes with circular drills, http://www.alps.com/prod/info/E/HTML/Encoder/Incremental/EC11/EC11E15204A3.html") + (tags "rotary encoder") + (property "Reference" "SW6" + (at 2.8 -4.7 0) + (layer "F.SilkS") + (uuid "883a596d-5fc2-44c2-9068-b96051ad0e3f") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "RotaryEncoder_Switch" + (at 7.5 10.4 0) + (layer "F.Fab") + (uuid "ea60e691-f140-4fb0-8e01-89dfc8f2914b") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Footprint" "Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_CircularMountingHoles" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "7de1b4d2-79d4-49a3-8c53-55258644d65d") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "8a3024d8-9277-4345-8560-01dc05969e01") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (property "Description" "Rotary encoder, dual channel, incremental quadrate outputs, with switch" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "a0627a5c-76d7-4597-8e1c-e0a9a8b9d53e") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (property ki_fp_filters "RotaryEncoder*Switch*") + (path "/2aa14c28-c39e-4b0b-8955-66421a7a2aea") + (sheetname "Root") + (sheetfile "hackpad.kicad_sch") + (attr through_hole) + (fp_line + (start -0.3 -1.6) + (end 0.3 -1.6) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "9e78556b-9fea-4b79-8350-1c0b2bc5f67b") + ) + (fp_line + (start 0 -1.3) + (end -0.3 -1.6) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "9a7e649f-67f3-4ecb-b15d-19dd1a4f9dd3") + ) + (fp_line + (start 0.3 -1.6) + (end 0 -1.3) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "475033dc-1eaa-4db0-bce4-5823b3f8cade") + ) + (fp_line + (start 1.4 -3.4) + (end 1.4 8.4) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "7d4ecdc5-0165-4ee5-98f7-5f0a0390c7e1") + ) + (fp_line + (start 5.5 -3.4) + (end 1.4 -3.4) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "8e2dc328-3214-421e-81bf-b08d86fad4c5") + ) + (fp_line + (start 5.5 8.4) + (end 1.4 8.4) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "97dead1a-f3da-4f78-88e3-22886f266c25") + ) + (fp_line + (start 7 2.5) + (end 8 2.5) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "ba87ee3a-3c39-471b-8c7d-215a44d43a68") + ) + (fp_line + (start 7.5 2) + (end 7.5 3) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "d876d019-8748-40a4-b8cc-1e6cbf90bfc7") + ) + (fp_line + (start 9.5 -3.4) + (end 13.6 -3.4) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "e599ebd6-bf06-414a-950a-a32235685580") + ) + (fp_line + (start 13.6 -3.4) + (end 13.6 -1) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "6148e54c-cdfc-46ba-a141-dac45c17c39c") + ) + (fp_line + (start 13.6 1.2) + (end 13.6 3.8) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "91c51e90-0e53-4694-91fc-43e2902b1999") + ) + (fp_line + (start 13.6 6) + (end 13.6 8.4) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "a58aebe8-9ffc-4252-a06c-4433e255d713") + ) + (fp_line + (start 13.6 8.4) + (end 9.5 8.4) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "d6aa22c4-2257-48cd-9246-014338d44add") + ) + (fp_circle + (center 7.5 2.5) + (end 10.5 2.5) + (stroke + (width 0.12) + (type solid) + ) + (fill none) + (layer "F.SilkS") + (uuid "6d24fd65-f711-49f1-92ec-20b1ac3234f5") + ) + (fp_line + (start -1.5 -5.2) + (end -1.5 10.2) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "88361fd7-af4b-4ddb-897b-735bd55ddc00") + ) + (fp_line + (start -1.5 -5.2) + (end 16 -5.2) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "a01295e7-b18a-41de-bb37-bce8336890ea") + ) + (fp_line + (start 16 10.2) + (end -1.5 10.2) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "208d268b-cda4-441b-a16c-26f70144e261") + ) + (fp_line + (start 16 10.2) + (end 16 -5.2) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "50f0b9ce-32ef-4f06-9c1c-f03bb000cdb5") + ) + (fp_line + (start 1.5 -2.2) + (end 2.5 -3.3) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.Fab") + (uuid "2fa13deb-ae40-4b6a-a2b1-8131c571b9d1") + ) + (fp_line + (start 1.5 8.3) + (end 1.5 -2.2) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.Fab") + (uuid "214da3fc-18c2-41bb-989b-28898895c09f") + ) + (fp_line + (start 2.5 -3.3) + (end 13.5 -3.3) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.Fab") + (uuid "509c553a-40b7-4430-974d-7354fcac0b09") + ) + (fp_line + (start 4.5 2.5) + (end 10.5 2.5) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.Fab") + (uuid "1f6f26b8-c4a9-40a0-9e4b-1f515adebedb") + ) + (fp_line + (start 7.5 -0.5) + (end 7.5 5.5) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.Fab") + (uuid "a3292b90-cd81-44d0-9e95-12ac94be6491") + ) + (fp_line + (start 13.5 -3.3) + (end 13.5 8.3) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.Fab") + (uuid "78892b23-1f92-468b-a9d3-52b1cb850fe9") + ) + (fp_line + (start 13.5 8.3) + (end 1.5 8.3) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.Fab") + (uuid "7b03adb0-2983-4eb8-8701-bc1a3da75a65") + ) + (fp_circle + (center 7.5 2.5) + (end 10.5 2.5) + (stroke + (width 0.12) + (type solid) + ) + (fill none) + (layer "F.Fab") + (uuid "cbc30cc9-808d-4902-ad5d-089aa35674d9") + ) + (fp_text user "${REFERENCE}" + (at 11.1 6.3 0) + (layer "F.Fab") + (uuid "5fb2ff64-ab53-45a8-a23c-ebfd13324636") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "A" thru_hole rect + (at 0 0) + (size 2 2) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 8 "Net-(U1-GPIO7{slash}SCL)") + (pinfunction "A") + (pintype "passive") + (uuid "349dccfa-026a-4de5-8869-2c2640160cf4") + ) + (pad "B" thru_hole circle + (at 0 5) + (size 2 2) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 7 "Net-(U1-GPIO6{slash}SDA)") + (pinfunction "B") + (pintype "passive") + (uuid "22caac87-0aa0-494e-8234-38eed17e23a8") + ) + (pad "C" thru_hole circle + (at 0 2.5) + (size 2 2) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 2 "GND") + (pinfunction "C") + (pintype "passive") + (uuid "0c797196-c098-47e1-a681-a41b9bc59f85") + ) + (pad "MP" thru_hole circle + (at 7.5 -3.1) + (size 3.2 3.2) + (drill 2.6) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "6ed19d5c-2050-47d9-be3b-f31745cdd3ed") + ) + (pad "MP" thru_hole circle + (at 7.5 8.1) + (size 3.2 3.2) + (drill 2.6) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (uuid "d744df35-6bd5-43d5-af92-7941ee49f35b") + ) + (pad "S1" thru_hole circle + (at 14.5 5) + (size 2 2) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 9 "Net-(U1-GPIO0{slash}TX)") + (pinfunction "S1") + (pintype "passive") + (uuid "e59d441a-0bb5-4a89-9874-9f50b8c6cf6d") + ) + (pad "S2" thru_hole circle + (at 14.5 0) + (size 2 2) + (drill 1) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 2 "GND") + (pinfunction "S2") + (pintype "passive") + (uuid "a24ff51b-576f-44da-b5b7-e5d475682595") + ) + (model "${KICAD8_3DMODEL_DIR}/Rotary_Encoder.3dshapes/RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_CircularMountingHoles.wrl" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB" + (layer "F.Cu") + (uuid "469ec912-a82f-44d1-8a81-025f39b460b1") + (at 152.55875 109.22) + (descr "Cherry MX keyswitch, 1.00u, PCB mount, http://cherryamericas.com/wp-content/uploads/2014/12/mx_cat.pdf") + (tags "Cherry MX keyswitch 1.00u PCB") + (property "Reference" "SW2" + (at -2.54 -2.794 0) + (layer "F.SilkS") + (uuid "3d0ab6ec-f583-469f-955f-b4f83a88a114") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "SW_Push" + (at -2.54 12.954 0) + (layer "F.Fab") + (uuid "816d8398-e45f-49df-877d-32b91b9a578a") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Footprint" "Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "63a23f24-656d-4d77-a396-c6b282c0ee1a") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "6106ff7c-52c8-4664-afce-9fbb3f98410d") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (property "Description" "Push button switch, generic, two pins" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "73d17d25-15e6-44e0-abba-7378e319b0d3") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (path "/a2fdab75-6d20-48be-8a5b-6be2769a3deb") + (sheetname "Root") + (sheetfile "hackpad.kicad_sch") + (attr through_hole) + (fp_line + (start -9.525 -1.905) + (end 4.445 -1.905) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "4639ae9e-fe68-4539-bec4-949ff926f56f") + ) + (fp_line + (start -9.525 12.065) + (end -9.525 -1.905) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "436f4117-132f-4a28-9218-2f6148c8f9a2") + ) + (fp_line + (start 4.445 -1.905) + (end 4.445 12.065) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "452f245b-b92e-4840-88a5-8f9f02fd35c7") + ) + (fp_line + (start 4.445 12.065) + (end -9.525 12.065) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "6b4f9052-5d73-40f0-877d-1a98f1259b44") + ) + (fp_line + (start -12.065 -4.445) + (end 6.985 -4.445) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "e3ed778f-65de-464d-9792-48959357f1b5") + ) + (fp_line + (start -12.065 14.605) + (end -12.065 -4.445) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "048b2c2c-0b64-443b-88c9-bd65ceb66118") + ) + (fp_line + (start 6.985 -4.445) + (end 6.985 14.605) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "30e0e5c0-883d-4b92-bdf0-bb4c15b2375c") + ) + (fp_line + (start 6.985 14.605) + (end -12.065 14.605) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "54d1efdf-334a-4e30-976a-542f9278a6c2") + ) + (fp_line + (start -9.14 -1.52) + (end 4.06 -1.52) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "60b4949f-3fc6-4951-a083-477cc7462391") + ) + (fp_line + (start -9.14 11.68) + (end -9.14 -1.52) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "d78566ce-bfed-4861-81c4-c9c08103f054") + ) + (fp_line + (start 4.06 -1.52) + (end 4.06 11.68) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "61427417-7157-4698-a4b0-0d4b36a24a68") + ) + (fp_line + (start 4.06 11.68) + (end -9.14 11.68) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "eb77db5d-7c9b-4f73-9af2-2a834db24af6") + ) + (fp_line + (start -8.89 -1.27) + (end 3.81 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "68899afe-2333-4562-9e04-855a1a1e8417") + ) + (fp_line + (start -8.89 11.43) + (end -8.89 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "a21758f5-cdc9-4122-88ec-3f1c1a6d9ce6") + ) + (fp_line + (start 3.81 -1.27) + (end 3.81 11.43) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "3561bed6-0465-4f5f-81e4-c55add13a36e") + ) + (fp_line + (start 3.81 11.43) + (end -8.89 11.43) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "6e08c240-331e-4073-b64b-4034dc64391c") + ) + (fp_text user "${REFERENCE}" + (at -2.54 -2.794 0) + (layer "F.Fab") + (uuid "361e25d6-c00e-4355-8023-f365a6aaec28") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "" np_thru_hole circle + (at -7.62 5.08) + (size 1.7 1.7) + (drill 1.7) + (layers "*.Cu" "*.Mask") + (uuid "3076394e-46a4-4c19-b5c1-62280133dcb9") + ) + (pad "" np_thru_hole circle + (at -2.54 5.08) + (size 4 4) + (drill 4) + (layers "*.Cu" "*.Mask") + (uuid "a3bca52f-e8c5-482b-9a48-5f5707409989") + ) + (pad "" np_thru_hole circle + (at 2.54 5.08) + (size 1.7 1.7) + (drill 1.7) + (layers "*.Cu" "*.Mask") + (uuid "a447e176-1dac-4386-8eb6-14c84c80a545") + ) + (pad "1" thru_hole circle + (at 0 0) + (size 2.2 2.2) + (drill 1.5) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 2 "GND") + (pinfunction "1") + (pintype "passive") + (uuid "fd7a25c1-ad11-4cbe-a8f9-3c9b37b2c13a") + ) + (pad "2" thru_hole circle + (at -6.35 2.54) + (size 2.2 2.2) + (drill 1.5) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 3 "Net-(U1-GPIO1{slash}RX)") + (pinfunction "2") + (pintype "passive") + (uuid "eaae3830-fe3f-49d3-ad6d-da126674d3a0") + ) + (model "${KICAD8_3DMODEL_DIR}/Button_Switch_Keyboard.3dshapes/SW_Cherry_MX_1.00u_PCB.wrl" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB" + (layer "F.Cu") + (uuid "4a96954b-62e0-4198-afa5-db0aee3881ed") + (at 171.60875 128.27) + (descr "Cherry MX keyswitch, 1.00u, PCB mount, http://cherryamericas.com/wp-content/uploads/2014/12/mx_cat.pdf") + (tags "Cherry MX keyswitch 1.00u PCB") + (property "Reference" "SW4" + (at -2.54 -2.794 0) + (layer "F.SilkS") + (uuid "6b543147-e9fc-43b9-8da9-4c5cae88704e") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "SW_Push" + (at -2.54 12.954 0) + (layer "F.Fab") + (uuid "e5bce088-da5a-491a-8956-fdbe94126614") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Footprint" "Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "2aaaa095-2aea-4735-aaf9-9af24fcabda7") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "5633a29c-7710-439c-aa36-0189b8657e93") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (property "Description" "Push button switch, generic, two pins" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "8342f75c-9836-4501-a7c6-23152ba3d336") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (path "/fc1ebb31-d77f-42bc-82ea-03e13b8c76a6") + (sheetname "Root") + (sheetfile "hackpad.kicad_sch") + (attr through_hole) + (fp_line + (start -9.525 -1.905) + (end 4.445 -1.905) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "0f98ab85-84ca-4b37-b66f-ffd104d9fc0b") + ) + (fp_line + (start -9.525 12.065) + (end -9.525 -1.905) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "bf8d512f-868d-4784-93f8-61b4b8a15e2a") + ) + (fp_line + (start 4.445 -1.905) + (end 4.445 12.065) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "df8759a4-3e21-47c3-85e2-17e4b7ee3822") + ) + (fp_line + (start 4.445 12.065) + (end -9.525 12.065) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "44289bf1-c794-45e4-92a3-eb74cff4f82e") + ) + (fp_line + (start -12.065 -4.445) + (end 6.985 -4.445) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "37396bfc-adcd-4cc7-8323-4b0854e34f38") + ) + (fp_line + (start -12.065 14.605) + (end -12.065 -4.445) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "4a7db23c-6dab-4427-8a55-a5b03469f2c1") + ) + (fp_line + (start 6.985 -4.445) + (end 6.985 14.605) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "c9462624-46f2-4e6b-a2df-1972ad1d79e5") + ) + (fp_line + (start 6.985 14.605) + (end -12.065 14.605) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "fee70de6-c25b-4b95-a609-988694ec5be2") + ) + (fp_line + (start -9.14 -1.52) + (end 4.06 -1.52) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "c557df6f-7230-4e83-9e51-14b79c086b28") + ) + (fp_line + (start -9.14 11.68) + (end -9.14 -1.52) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "d42206c7-603c-4adf-8cf1-817412dab7ce") + ) + (fp_line + (start 4.06 -1.52) + (end 4.06 11.68) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "3dbd187a-ac97-4a19-a6d4-3b261f7dbe2e") + ) + (fp_line + (start 4.06 11.68) + (end -9.14 11.68) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "5efe510a-8106-46b4-823a-3087f6add375") + ) + (fp_line + (start -8.89 -1.27) + (end 3.81 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "a7aa531c-b06e-42b6-8fd5-2590af4e5b98") + ) + (fp_line + (start -8.89 11.43) + (end -8.89 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "07058d80-c932-4f5b-a218-719e74112e0f") + ) + (fp_line + (start 3.81 -1.27) + (end 3.81 11.43) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "c8488f7d-f597-4926-b99f-9ce78c0420a6") + ) + (fp_line + (start 3.81 11.43) + (end -8.89 11.43) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "69f15374-a455-49ba-91d6-ce1eb7078a33") + ) + (fp_text user "${REFERENCE}" + (at -2.54 -2.794 0) + (layer "F.Fab") + (uuid "b5024566-5f95-4cee-8152-f2575f29df87") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "" np_thru_hole circle + (at -7.62 5.08) + (size 1.7 1.7) + (drill 1.7) + (layers "*.Cu" "*.Mask") + (uuid "e21d6614-b213-4bb2-b72e-9dbe78c2e675") + ) + (pad "" np_thru_hole circle + (at -2.54 5.08) + (size 4 4) + (drill 4) + (layers "*.Cu" "*.Mask") + (uuid "dae43929-78e8-4f80-90d2-8578d340e48c") + ) + (pad "" np_thru_hole circle + (at 2.54 5.08) + (size 1.7 1.7) + (drill 1.7) + (layers "*.Cu" "*.Mask") + (uuid "ce6a3a0a-b2db-48cd-b2d6-adeb91ec1ff9") + ) + (pad "1" thru_hole circle + (at 0 0) + (size 2.2 2.2) + (drill 1.5) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 2 "GND") + (pinfunction "1") + (pintype "passive") + (uuid "8a95e5ee-20f0-47dd-a0ac-137404a73313") + ) + (pad "2" thru_hole circle + (at -6.35 2.54) + (size 2.2 2.2) + (drill 1.5) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 5 "Net-(U1-GPIO4{slash}MISO)") + (pinfunction "2") + (pintype "passive") + (uuid "c8863939-79a7-49d2-83bd-639dfd04083a") + ) + (model "${KICAD8_3DMODEL_DIR}/Button_Switch_Keyboard.3dshapes/SW_Cherry_MX_1.00u_PCB.wrl" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB" + (layer "F.Cu") + (uuid "be1ee4b9-3b42-401d-8ef6-6517acd6897c") + (at 171.60875 109.22) + (descr "Cherry MX keyswitch, 1.00u, PCB mount, http://cherryamericas.com/wp-content/uploads/2014/12/mx_cat.pdf") + (tags "Cherry MX keyswitch 1.00u PCB") + (property "Reference" "SW1" + (at -2.54 -2.794 0) + (layer "F.SilkS") + (uuid "32a32daa-ab0a-4e09-b955-3d66b41fc883") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "SW_Push" + (at -2.54 12.954 0) + (layer "F.Fab") + (uuid "76407a37-e552-48c5-ac5e-31292c3d902b") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Footprint" "Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "e3a34048-da57-4faf-8968-c79f10f04ba1") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "972fde59-ed23-4068-a1c6-902957f595e0") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (property "Description" "Push button switch, generic, two pins" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "a8256ff4-11dc-4e94-b1d5-68217108fa9f") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (path "/824a1067-00d9-448c-be9d-ed5ecf59e95d") + (sheetname "Root") + (sheetfile "hackpad.kicad_sch") + (attr through_hole) + (fp_line + (start -9.525 -1.905) + (end 4.445 -1.905) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "3e93e354-6df4-445c-a09d-f542b66a0923") + ) + (fp_line + (start -9.525 12.065) + (end -9.525 -1.905) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "c059e5ff-740a-4cd0-ab05-0c9a9ed48535") + ) + (fp_line + (start 4.445 -1.905) + (end 4.445 12.065) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "c28aceb4-3b66-4127-8c53-42b748818e8c") + ) + (fp_line + (start 4.445 12.065) + (end -9.525 12.065) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "772c5145-ef96-423b-83c0-41a2f04e38a5") + ) + (fp_line + (start -12.065 -4.445) + (end 6.985 -4.445) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "0b791a68-30db-4c6a-b562-fc7b6ba537a9") + ) + (fp_line + (start -12.065 14.605) + (end -12.065 -4.445) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "1ba9753d-7f8e-405d-9295-0c4e4d3f7d34") + ) + (fp_line + (start 6.985 -4.445) + (end 6.985 14.605) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "77728e01-26ef-43cc-a5f6-28092f72144f") + ) + (fp_line + (start 6.985 14.605) + (end -12.065 14.605) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "95f08101-908f-4c2d-8a74-42810ecd7d2a") + ) + (fp_line + (start -9.14 -1.52) + (end 4.06 -1.52) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "e7e77f84-74b1-45ae-b7fe-ad5d558313aa") + ) + (fp_line + (start -9.14 11.68) + (end -9.14 -1.52) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "a8738d10-3b4a-462f-afab-3a450feeaaf7") + ) + (fp_line + (start 4.06 -1.52) + (end 4.06 11.68) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "efe91583-d1f7-4543-9ab4-329a9a7d74c0") + ) + (fp_line + (start 4.06 11.68) + (end -9.14 11.68) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "065c87b1-6722-4be5-bb39-08563c3e93ee") + ) + (fp_line + (start -8.89 -1.27) + (end 3.81 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "db20fc3c-e73b-4211-890e-6f41ef7043cc") + ) + (fp_line + (start -8.89 11.43) + (end -8.89 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "52c590b9-a807-4c5b-914e-9c85a10d7ece") + ) + (fp_line + (start 3.81 -1.27) + (end 3.81 11.43) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "ffc43b29-321f-4f24-a7df-aefb42f6d7c5") + ) + (fp_line + (start 3.81 11.43) + (end -8.89 11.43) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "66689659-8e7c-4507-bf49-b2d7539452f3") + ) + (fp_text user "${REFERENCE}" + (at -2.54 -2.794 0) + (layer "F.Fab") + (uuid "47c8a7c6-2789-4318-be91-a9b5da8b27f5") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "" np_thru_hole circle + (at -7.62 5.08) + (size 1.7 1.7) + (drill 1.7) + (layers "*.Cu" "*.Mask") + (uuid "d0a661ae-28a7-4470-abfc-53ee26ab570c") + ) + (pad "" np_thru_hole circle + (at -2.54 5.08) + (size 4 4) + (drill 4) + (layers "*.Cu" "*.Mask") + (uuid "00eeaaa5-438c-462e-bb6b-1ea832c36c5a") + ) + (pad "" np_thru_hole circle + (at 2.54 5.08) + (size 1.7 1.7) + (drill 1.7) + (layers "*.Cu" "*.Mask") + (uuid "ba63b634-2d9b-4556-b628-14ccdb83fe80") + ) + (pad "1" thru_hole circle + (at 0 0) + (size 2.2 2.2) + (drill 1.5) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 2 "GND") + (pinfunction "1") + (pintype "passive") + (uuid "f66af34b-4912-44ba-aa0f-7b8983f27ced") + ) + (pad "2" thru_hole circle + (at -6.35 2.54) + (size 2.2 2.2) + (drill 1.5) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 1 "Net-(U1-GPIO26{slash}ADC0{slash}A0)") + (pinfunction "2") + (pintype "passive") + (uuid "154bfccd-ddc8-48f3-beab-5d8da0af4c8e") + ) + (model "${KICAD8_3DMODEL_DIR}/Button_Switch_Keyboard.3dshapes/SW_Cherry_MX_1.00u_PCB.wrl" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (footprint "OPL:XIAO-RP2040-DIP" + (layer "F.Cu") + (uuid "d047a8b4-7649-471f-96f2-e5adae4eee24") + (at 109.5375 115.4) + (property "Reference" "U1" + (at -1.3575 11.92 0) + (unlocked yes) + (layer "F.SilkS") + (uuid "ec46197b-5132-4c89-8d09-a65f7ce785ee") + (effects + (font + (size 0.8 0.8) + (thickness 0.1016) + ) + ) + ) + (property "Value" "XIAO-RP2040-DIP" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (uuid "95421cce-e3ed-44f7-892b-9e63bff35f97") + (effects + (font + (size 0.635 0.635) + (thickness 0.1016) + ) + ) + ) + (property "Footprint" "OPL:XIAO-RP2040-DIP" + (at 0 0 90) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "2978aa08-67eb-440b-8d45-536092b66c2a") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 90) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "0e15b670-6836-437c-b622-8f2ff93abab8") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (property "Description" "" + (at 0 0 90) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "3e5d5d1c-3d0a-48a4-b286-86674b40eb88") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (path "/d46207e1-135c-43d1-8540-6a980e7ea26c") + (sheetname "Root") + (sheetfile "hackpad.kicad_sch") + (attr smd) + (fp_line + (start -8.89 8.509) + (end -8.89 -8.636) + (stroke + (width 0.127) + (type solid) + ) + (layer "F.SilkS") + (uuid "c5465265-6748-47b7-aaff-38cdb7ef2ff7") + ) + (fp_line + (start -6.985 10.414) + (end 6.985 10.414) + (stroke + (width 0.127) + (type solid) + ) + (layer "F.SilkS") + (uuid "a07e525d-dbb3-4874-8b94-c5036b821b3c") + ) + (fp_line + (start -4.495 -10.541) + (end -4.491272 -11.451272) + (stroke + (width 0.127) + (type solid) + ) + (layer "F.SilkS") + (uuid "8c7b7494-ac3d-4eff-8ab1-8d70ed8ed441") + ) + (fp_line + (start -3.991272 -11.951) + (end 4.004 -11.951) + (stroke + (width 0.127) + (type solid) + ) + (layer "F.SilkS") + (uuid "d1639206-8380-4021-ab48-80edac47e2ed") + ) + (fp_line + (start 4.504 -11.451) + (end 4.504 -10.541) + (stroke + (width 0.127) + (type solid) + ) + (layer "F.SilkS") + (uuid "26a69429-fa8e-4cb3-b480-c3db13325f11") + ) + (fp_line + (start 6.985 -10.541) + (end -6.985 -10.541) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.SilkS") + (uuid "224b21df-be8a-47ef-b9a0-7be68808e226") + ) + (fp_line + (start 6.985 -10.541) + (end -6.985 -10.541) + (stroke + (width 0.127) + (type solid) + ) + (layer "F.SilkS") + (uuid "557c1bba-1847-42bc-940a-da5a91d08272") + ) + (fp_line + (start 8.89 8.509) + (end 8.89 -8.636) + (stroke + (width 0.127) + (type solid) + ) + (layer "F.SilkS") + (uuid "5a6d04f6-be17-4c33-ae10-cabe21fbb9ed") + ) + (fp_arc + (start -8.89 -8.636) + (mid -8.332038 -9.983038) + (end -6.985 -10.541) + (stroke + (width 0.127) + (type solid) + ) + (layer "F.SilkS") + (uuid "a06d967a-f6e7-4082-b650-3ff67caee6be") + ) + (fp_arc + (start -6.985 10.414) + (mid -8.332038 9.856038) + (end -8.89 8.509) + (stroke + (width 0.127) + (type solid) + ) + (layer "F.SilkS") + (uuid "c5bb117f-cd6d-48d7-8ff3-7608767208a8") + ) + (fp_arc + (start -4.491272 -11.451272) + (mid -4.344724 -11.804644) + (end -3.991272 -11.951) + (stroke + (width 0.127) + (type default) + ) + (layer "F.SilkS") + (uuid "80dfecfd-3203-4f24-ba0f-2250ee3f2e25") + ) + (fp_arc + (start 4.004 -11.951) + (mid 4.357553 -11.804553) + (end 4.504 -11.451) + (stroke + (width 0.127) + (type default) + ) + (layer "F.SilkS") + (uuid "b738ef30-3de0-479c-a64e-fc42053e99ce") + ) + (fp_arc + (start 6.985 -10.541) + (mid 8.332038 -9.983038) + (end 8.89 -8.636) + (stroke + (width 0.127) + (type solid) + ) + (layer "F.SilkS") + (uuid "62a48593-e195-4773-a165-e6439e268a4a") + ) + (fp_arc + (start 8.89 8.509) + (mid 8.332038 9.856038) + (end 6.985 10.414) + (stroke + (width 0.127) + (type solid) + ) + (layer "F.SilkS") + (uuid "181206fc-f10d-453d-9fc5-e8ef25643480") + ) + (fp_circle + (center -8.95 -10.3) + (end -8.95 -10.554) + (stroke + (width 0.5) + (type solid) + ) + (fill solid) + (layer "F.SilkS") + (uuid "e4ed3775-da27-4248-a613-964b9239a06b") + ) + (fp_circle + (center -7.807 -9.42) + (end -7.807 -9.674) + (stroke + (width 0.5) + (type solid) + ) + (fill solid) + (layer "F.SilkS") + (uuid "ba82364a-0fa3-408f-a0a7-0dd1622814d6") + ) + (fp_rect + (start -8.9 -10.55) + (end 8.9 10.425) + (stroke + (width 0.05) + (type default) + ) + (fill none) + (layer "F.CrtYd") + (uuid "709459d9-fa1f-4915-908b-2396b3e20eb1") + ) + (fp_rect + (start -8.9 -10.55) + (end 8.9 10.425) + (stroke + (width 0.1) + (type default) + ) + (fill none) + (layer "F.Fab") + (uuid "f50cb05b-4f1e-4675-b41a-aacedc4a28c2") + ) + (fp_circle + (center -7.804 -9.426) + (end -7.804 -9.68) + (stroke + (width 0.5) + (type solid) + ) + (fill solid) + (layer "F.Fab") + (uuid "adc1065e-9bd4-447d-a501-54d3157a2849") + ) + (pad "1" smd roundrect + (at -8.455 -7.62 180) + (size 2.432 1.524) + (layers "F.Cu" "F.Mask") + (roundrect_rratio 0.1) + (net 1 "Net-(U1-GPIO26{slash}ADC0{slash}A0)") + (pinfunction "GPIO26/ADC0/A0") + (pintype "passive") + (thermal_bridge_angle 45) + (uuid "0d2c60f8-9383-4b75-b284-fe03dd4f08b8") + ) + (pad "1" thru_hole circle + (at -7.62 -7.62 180) + (size 1.524 1.524) + (drill 0.889) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 1 "Net-(U1-GPIO26{slash}ADC0{slash}A0)") + (pinfunction "GPIO26/ADC0/A0") + (pintype "passive") + (uuid "c60fcf54-a194-4cd6-845d-cd80c021a694") + ) + (pad "2" smd roundrect + (at -8.455 -5.08 180) + (size 2.432 1.524) + (layers "F.Cu" "F.Mask") + (roundrect_rratio 0.1) + (net 10 "unconnected-(U1-GPIO27{slash}ADC1{slash}A1-Pad2)") + (pinfunction "GPIO27/ADC1/A1") + (pintype "passive") + (thermal_bridge_angle 45) + (uuid "c1ffbb85-aab4-474b-b43d-61fcd5f19eca") + ) + (pad "2" thru_hole circle + (at -7.62 -5.08 180) + (size 1.524 1.524) + (drill 0.889) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 10 "unconnected-(U1-GPIO27{slash}ADC1{slash}A1-Pad2)") + (pinfunction "GPIO27/ADC1/A1") + (pintype "passive") + (uuid "088da7c6-a822-4bed-ad1f-cb230da4baf9") + ) + (pad "3" smd roundrect + (at -8.455 -2.54 180) + (size 2.432 1.524) + (layers "F.Cu" "F.Mask") + (roundrect_rratio 0.1) + (net 11 "unconnected-(U1-GPIO28{slash}ADC2{slash}A2-Pad3)") + (pinfunction "GPIO28/ADC2/A2") + (pintype "passive") + (thermal_bridge_angle 45) + (uuid "2dc155d4-3eff-46b1-a0ed-626862acc8c8") + ) + (pad "3" thru_hole circle + (at -7.62 -2.54 180) + (size 1.524 1.524) + (drill 0.889) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 11 "unconnected-(U1-GPIO28{slash}ADC2{slash}A2-Pad3)") + (pinfunction "GPIO28/ADC2/A2") + (pintype "passive") + (uuid "b768208a-a060-42c5-aba1-1ceaffc09c20") + ) + (pad "4" smd roundrect + (at -8.455 0 180) + (size 2.432 1.524) + (layers "F.Cu" "F.Mask") + (roundrect_rratio 0.1) + (net 13 "unconnected-(U1-GPIO29{slash}ADC3{slash}A3-Pad4)") + (pinfunction "GPIO29/ADC3/A3") + (pintype "passive") + (thermal_bridge_angle 45) + (uuid "6f777ea3-112d-4509-9276-fa79c9d87c62") + ) + (pad "4" thru_hole circle + (at -7.62 0 180) + (size 1.524 1.524) + (drill 0.889) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 13 "unconnected-(U1-GPIO29{slash}ADC3{slash}A3-Pad4)") + (pinfunction "GPIO29/ADC3/A3") + (pintype "passive") + (uuid "ce87522e-4672-45d5-bf4c-c67e13c451c7") + ) + (pad "5" smd roundrect + (at -8.455 2.54 180) + (size 2.432 1.524) + (layers "F.Cu" "F.Mask") + (roundrect_rratio 0.1) + (net 7 "Net-(U1-GPIO6{slash}SDA)") + (pinfunction "GPIO6/SDA") + (pintype "passive") + (thermal_bridge_angle 45) + (uuid "cbd10076-b05c-4866-8fde-e77771359cd3") + ) + (pad "5" thru_hole circle + (at -7.62 2.54 180) + (size 1.524 1.524) + (drill 0.889) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 7 "Net-(U1-GPIO6{slash}SDA)") + (pinfunction "GPIO6/SDA") + (pintype "passive") + (uuid "9c4e09b9-65f1-4b97-bb5d-84f1f797a16e") + ) + (pad "6" smd roundrect + (at -8.455 5.08 180) + (size 2.432 1.524) + (layers "F.Cu" "F.Mask") + (roundrect_rratio 0.1) + (net 8 "Net-(U1-GPIO7{slash}SCL)") + (pinfunction "GPIO7/SCL") + (pintype "passive") + (thermal_bridge_angle 45) + (uuid "a1a5a253-4502-49f4-ab10-cf315bbd3520") + ) + (pad "6" thru_hole circle + (at -7.62 5.08 180) + (size 1.524 1.524) + (drill 0.889) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 8 "Net-(U1-GPIO7{slash}SCL)") + (pinfunction "GPIO7/SCL") + (pintype "passive") + (uuid "5d492eae-dd29-40e0-ac42-6e8a9aac88bb") + ) + (pad "7" smd roundrect + (at -8.455 7.62 180) + (size 2.432 1.524) + (layers "F.Cu" "F.Mask") + (roundrect_rratio 0.1) + (net 9 "Net-(U1-GPIO0{slash}TX)") + (pinfunction "GPIO0/TX") + (pintype "passive") + (thermal_bridge_angle 45) + (uuid "94abd078-2d78-4e44-864e-c5eb33bbbda1") + ) + (pad "7" thru_hole circle + (at -7.62 7.62 180) + (size 1.524 1.524) + (drill 0.889) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 9 "Net-(U1-GPIO0{slash}TX)") + (pinfunction "GPIO0/TX") + (pintype "passive") + (uuid "016e68f8-fda8-43b5-ab8a-acafcce3337c") + ) + (pad "8" thru_hole circle + (at 7.62 7.62) + (size 1.524 1.524) + (drill 0.889) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 3 "Net-(U1-GPIO1{slash}RX)") + (pinfunction "GPIO1/RX") + (pintype "passive") + (uuid "97f08730-ec90-4d66-8384-b15c8c83b8b2") + ) + (pad "8" smd roundrect + (at 8.455 7.62) + (size 2.432 1.524) + (layers "F.Cu" "F.Mask") + (roundrect_rratio 0.1) + (net 3 "Net-(U1-GPIO1{slash}RX)") + (pinfunction "GPIO1/RX") + (pintype "passive") + (thermal_bridge_angle 45) + (uuid "49c743e0-7144-4aeb-81c1-912b49d46a7b") + ) + (pad "9" thru_hole circle + (at 7.62 5.08) + (size 1.524 1.524) + (drill 0.889) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 4 "Net-(U1-GPIO2{slash}SCK)") + (pinfunction "GPIO2/SCK") + (pintype "passive") + (uuid "29d93dc1-5737-4c72-948a-0132607e6aa8") + ) + (pad "9" smd roundrect + (at 8.455 5.08) + (size 2.432 1.524) + (layers "F.Cu" "F.Mask") + (roundrect_rratio 0.1) + (net 4 "Net-(U1-GPIO2{slash}SCK)") + (pinfunction "GPIO2/SCK") + (pintype "passive") + (thermal_bridge_angle 45) + (uuid "51f4cf4c-9895-4d4f-b658-d4259e5a2f28") + ) + (pad "10" thru_hole circle + (at 7.62 2.54) + (size 1.524 1.524) + (drill 0.889) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 5 "Net-(U1-GPIO4{slash}MISO)") + (pinfunction "GPIO4/MISO") + (pintype "passive") + (uuid "19a34124-539a-4b0c-9fcf-0d647a7d3172") + ) + (pad "10" smd roundrect + (at 8.455 2.54) + (size 2.432 1.524) + (layers "F.Cu" "F.Mask") + (roundrect_rratio 0.1) + (net 5 "Net-(U1-GPIO4{slash}MISO)") + (pinfunction "GPIO4/MISO") + (pintype "passive") + (thermal_bridge_angle 45) + (uuid "97192e8b-2e38-4d9d-94f0-f05bcacf2441") + ) + (pad "11" thru_hole circle + (at 7.62 0) + (size 1.524 1.524) + (drill 0.889) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 6 "Net-(U1-GPIO3{slash}MOSI)") + (pinfunction "GPIO3/MOSI") + (pintype "passive") + (uuid "27bfa0e2-e92c-4484-b96a-4eccb35dc6a1") + ) + (pad "11" smd roundrect + (at 8.455 0) + (size 2.432 1.524) + (layers "F.Cu" "F.Mask") + (roundrect_rratio 0.1) + (net 6 "Net-(U1-GPIO3{slash}MOSI)") + (pinfunction "GPIO3/MOSI") + (pintype "passive") + (thermal_bridge_angle 45) + (uuid "c4bda5dd-05e1-44c1-bd90-a2a7497f5392") + ) + (pad "12" thru_hole circle + (at 7.62 -2.54) + (size 1.524 1.524) + (drill 0.889) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 12 "unconnected-(U1-3V3-Pad12)") + (pinfunction "3V3") + (pintype "passive") + (uuid "5172f35b-7002-427d-b96a-fdca5321a031") + ) + (pad "12" smd roundrect + (at 8.455 -2.54) + (size 2.432 1.524) + (layers "F.Cu" "F.Mask") + (roundrect_rratio 0.1) + (net 12 "unconnected-(U1-3V3-Pad12)") + (pinfunction "3V3") + (pintype "passive") + (thermal_bridge_angle 45) + (uuid "7a69994a-b2e7-4cd8-a0ca-005eaadfa7be") + ) + (pad "13" thru_hole circle + (at 7.62 -5.08) + (size 1.524 1.524) + (drill 0.889) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 2 "GND") + (pinfunction "GND") + (pintype "passive") + (uuid "1b2bcf58-1bb1-4aee-84fc-8b222a7fcd02") + ) + (pad "13" smd roundrect + (at 8.455 -5.08) + (size 2.432 1.524) + (layers "F.Cu" "F.Mask") + (roundrect_rratio 0.1) + (net 2 "GND") + (pinfunction "GND") + (pintype "passive") + (thermal_bridge_angle 45) + (uuid "e8b96aea-1a80-4f88-b552-c06003ac2b01") + ) + (pad "14" thru_hole circle + (at 7.62 -7.62) + (size 1.524 1.524) + (drill 0.889) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 14 "+5V") + (pinfunction "VBUS") + (pintype "passive") + (uuid "7d3437af-4969-4a4b-88ac-659f391ceb28") + ) + (pad "14" smd roundrect + (at 8.455 -7.62) + (size 2.432 1.524) + (layers "F.Cu" "F.Mask") + (roundrect_rratio 0.1) + (net 14 "+5V") + (pinfunction "VBUS") + (pintype "passive") + (thermal_bridge_angle 45) + (uuid "cc93ce76-fb68-4f30-95ad-5bfbcf120508") + ) + (model "${AMZPATH}/3dmodels/AMz3D.3dshapes/XIAO-nRF52840 v15.step" + (hide yes) + (offset + (xyz -1.778 -6.096 0.381) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz -90 0 0) + ) + ) + (model "${AMZPATH}/3dmodels/AMz3D.3dshapes/Seeeduino XIAO SAMD21 v4.step" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + (model "${AMZPATH}/3dmodels/AMz3D.3dshapes/Seeed Studio XIAO RP2040 v26.step" + (hide yes) + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 90) + ) + ) + (model "${AMZPATH}/3dmodels/AMz3D.3dshapes/Seeed Studio XIAO-ESP32-C3.step" + (hide yes) + (offset + (xyz -1.7018 -6.096 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz -90 0 0) + ) + ) + (model "${AMZPATH}/3dmodels/AMz3D.3dshapes/XIAO-ESP32S3 v2.step" + (hide yes) + (offset + (xyz -1.778 -6.1722 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz -90 0 0) + ) + ) + ) + (footprint "Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB" + (layer "F.Cu") + (uuid "e9c2d41a-dbcc-4065-99b2-a528e987b70c") + (at 133.50875 128.27) + (descr "Cherry MX keyswitch, 1.00u, PCB mount, http://cherryamericas.com/wp-content/uploads/2014/12/mx_cat.pdf") + (tags "Cherry MX keyswitch 1.00u PCB") + (property "Reference" "SW5" + (at -2.54 -2.794 0) + (layer "F.SilkS") + (uuid "f41605f2-e16c-43cf-9cfc-e55c787df08c") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Value" "SW_Push" + (at -2.54 12.954 0) + (layer "F.Fab") + (uuid "e0df3aff-cdcf-4f6c-9892-640a272baebd") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (property "Footprint" "Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "2bb67638-16ce-46d0-a27b-5b2f58166834") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "0f8a8beb-b793-46df-944f-ce8926d0fb2a") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (property "Description" "Push button switch, generic, two pins" + (at 0 0 0) + (unlocked yes) + (layer "F.Fab") + (hide yes) + (uuid "07bcbcb9-f609-4d92-884a-a66c2cbaf0ce") + (effects + (font + (size 1.27 1.27) + (thickness 0.15) + ) + ) + ) + (path "/4e0500db-215b-42ce-8924-5dcaa393c9ad") + (sheetname "Root") + (sheetfile "hackpad.kicad_sch") + (attr through_hole) + (fp_line + (start -9.525 -1.905) + (end 4.445 -1.905) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "60d09fd7-37b5-44fa-a509-254e01273e31") + ) + (fp_line + (start -9.525 12.065) + (end -9.525 -1.905) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "757d005c-5f48-4171-89bb-535d628fb5f9") + ) + (fp_line + (start 4.445 -1.905) + (end 4.445 12.065) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "38920ba3-c775-40dd-b1b7-86ae4aed1b15") + ) + (fp_line + (start 4.445 12.065) + (end -9.525 12.065) + (stroke + (width 0.12) + (type solid) + ) + (layer "F.SilkS") + (uuid "c10146c2-874d-4fac-bf8a-7fa23bacd582") + ) + (fp_line + (start -12.065 -4.445) + (end 6.985 -4.445) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "61be2960-fc52-4deb-8f98-7402efca9c87") + ) + (fp_line + (start -12.065 14.605) + (end -12.065 -4.445) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "a2fca318-1ad6-4307-9ffb-d798bec5b0a2") + ) + (fp_line + (start 6.985 -4.445) + (end 6.985 14.605) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "650e0c39-192e-4695-9dd6-56293d868714") + ) + (fp_line + (start 6.985 14.605) + (end -12.065 14.605) + (stroke + (width 0.15) + (type solid) + ) + (layer "Dwgs.User") + (uuid "cf4a5e26-8b82-4bda-bc15-a532ad57732d") + ) + (fp_line + (start -9.14 -1.52) + (end 4.06 -1.52) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "ec98588e-2300-480b-a866-6cbcabba2503") + ) + (fp_line + (start -9.14 11.68) + (end -9.14 -1.52) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "9734e84a-3869-4128-b2da-40def5a753d5") + ) + (fp_line + (start 4.06 -1.52) + (end 4.06 11.68) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "8660b507-d4b1-4320-bead-d384b6a6b064") + ) + (fp_line + (start 4.06 11.68) + (end -9.14 11.68) + (stroke + (width 0.05) + (type solid) + ) + (layer "F.CrtYd") + (uuid "9b1bd5cf-951d-4eca-9de7-384c27a90a2d") + ) + (fp_line + (start -8.89 -1.27) + (end 3.81 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "b91d6381-23da-4054-a5a9-966baa1acbe3") + ) + (fp_line + (start -8.89 11.43) + (end -8.89 -1.27) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "30672154-bf6d-48eb-b8da-4825f4970cf0") + ) + (fp_line + (start 3.81 -1.27) + (end 3.81 11.43) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "b176016d-15e9-4117-ae5e-7a089f34addc") + ) + (fp_line + (start 3.81 11.43) + (end -8.89 11.43) + (stroke + (width 0.1) + (type solid) + ) + (layer "F.Fab") + (uuid "60dd2a6b-5986-4407-a4d8-e7d420c1092f") + ) + (fp_text user "${REFERENCE}" + (at -2.54 -2.794 0) + (layer "F.Fab") + (uuid "371e7428-12b4-45f8-9fc4-d939cce71a97") + (effects + (font + (size 1 1) + (thickness 0.15) + ) + ) + ) + (pad "" np_thru_hole circle + (at -7.62 5.08) + (size 1.7 1.7) + (drill 1.7) + (layers "*.Cu" "*.Mask") + (uuid "8641944d-2d87-4262-9562-e5fb252011b6") + ) + (pad "" np_thru_hole circle + (at -2.54 5.08) + (size 4 4) + (drill 4) + (layers "*.Cu" "*.Mask") + (uuid "c25b95a7-e1e1-4a91-9b4a-5d2eb24d250b") + ) + (pad "" np_thru_hole circle + (at 2.54 5.08) + (size 1.7 1.7) + (drill 1.7) + (layers "*.Cu" "*.Mask") + (uuid "d0cb70fd-e0ab-490c-b236-c9cd38941c58") + ) + (pad "1" thru_hole circle + (at 0 0) + (size 2.2 2.2) + (drill 1.5) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 2 "GND") + (pinfunction "1") + (pintype "passive") + (uuid "3d83d4ec-3fa7-4b89-8880-1921f4faad3d") + ) + (pad "2" thru_hole circle + (at -6.35 2.54) + (size 2.2 2.2) + (drill 1.5) + (layers "*.Cu" "*.Mask") + (remove_unused_layers no) + (net 6 "Net-(U1-GPIO3{slash}MOSI)") + (pinfunction "2") + (pintype "passive") + (uuid "33fa124b-0fea-4894-a231-d0bb2ed395b3") + ) + (model "${KICAD8_3DMODEL_DIR}/Button_Switch_Keyboard.3dshapes/SW_Cherry_MX_1.00u_PCB.wrl" + (offset + (xyz 0 0 0) + ) + (scale + (xyz 1 1 1) + ) + (rotate + (xyz 0 0 0) + ) + ) + ) + (gr_rect + (start 99.475 104.82) + (end 178.605 143.23) + (stroke + (width 0.05) + (type default) + ) + (fill none) + (layer "Edge.Cuts") + (uuid "00f708aa-6558-4a7e-8cb4-0ce0e8d42bd7") + ) + (gr_text "NT Board\nNachu T." + (at 104.6 137.6 0) + (layer "F.SilkS") + (uuid "cef322dc-9f04-459c-bf0d-fc59e880ad8c") + (effects + (font + (size 1.5 1.5) + (thickness 0.2) + (bold yes) + ) + (justify left bottom) + ) + ) + (gr_text "XIAO HERE!" + (at 105.4 110 0) + (layer "F.SilkS") + (uuid "d5718e35-fdbe-4d09-922e-16f9f1a152b5") + (effects + (font + (size 1 1) + (thickness 0.125) + ) + (justify left bottom) + ) + ) + (segment + (start 101.9175 107.78) + (end 102.9795 106.718) + (width 0.2) + (layer "F.Cu") + (net 1) + (uuid "61b89ed2-c6f9-4714-aa68-8bd18dcf1312") + ) + (segment + (start 160.21675 106.718) + (end 165.25875 111.76) + (width 0.2) + (layer "F.Cu") + (net 1) + (uuid "a0d87b5b-b487-49ba-84d6-d40ed1861b83") + ) + (segment + (start 102.9795 106.718) + (end 160.21675 106.718) + (width 0.2) + (layer "F.Cu") + (net 1) + (uuid "c6f343c5-4716-4301-bc86-2cb800b2dd7d") + ) + (segment + (start 138.21875 111.8) + (end 139.51875 113.1) + (width 0.2) + (layer "F.Cu") + (net 2) + (uuid "27447bc7-bb4e-4e6f-bdaa-9089a73d7f4e") + ) + (segment + (start 138.21875 111.8) + (end 140.79875 109.22) + (width 0.2) + (layer "F.Cu") + (net 2) + (uuid "349d4b8d-dd90-4bb2-9076-1a939ae3b0b3") + ) + (segment + (start 161.6075 109.22) + (end 161.925 109.5375) + (width 0.2) + (layer "F.Cu") + (net 2) + (uuid "354874e2-1775-4f12-8b96-244a20eca011") + ) + (segment + (start 171.60875 109.22) + (end 171.60875 128.27) + (width 0.2) + (layer "F.Cu") + (net 2) + (uuid "367c5933-6515-4baf-86e6-663b778badb6") + ) + (segment + (start 119.73875 110.32) + (end 123.71875 114.3) + (width 0.2) + (layer "F.Cu") + (net 2) + (uuid "54da4885-bfc2-4d64-a83a-65626a10869e") + ) + (segment + (start 139.51875 122.26) + (end 133.50875 128.27) + (width 0.2) + (layer "F.Cu") + (net 2) + (uuid "5f9efd2f-c429-4b32-a7d3-ecd4e41e9405") + ) + (segment + (start 152.55875 109.22) + (end 161.6075 109.22) + (width 0.2) + (layer "F.Cu") + (net 2) + (uuid "6b2041f5-0c65-4dac-8477-ec6ee1a88404") + ) + (segment + (start 117.1575 110.32) + (end 119.73875 110.32) + (width 0.2) + (layer "F.Cu") + (net 2) + (uuid "705c7195-980c-4f1a-87a3-fbb3624f7343") + ) + (segment + (start 135.71875 114.3) + (end 138.21875 111.8) + (width 0.2) + (layer "F.Cu") + (net 2) + (uuid "74371fe2-26be-4fe2-8526-3e2045e91e3f") + ) + (segment + (start 139.51875 113.1) + (end 139.51875 122.26) + (width 0.2) + (layer "F.Cu") + (net 2) + (uuid "8ae0eafa-5977-4f09-ade2-afb32a1061dc") + ) + (segment + (start 123.71875 114.3) + (end 135.71875 114.3) + (width 0.2) + (layer "F.Cu") + (net 2) + (uuid "cd6734be-6099-4013-9e01-7f07902025ae") + ) + (segment + (start 152.55875 109.22) + (end 152.55875 128.27) + (width 0.2) + (layer "F.Cu") + (net 2) + (uuid "cf5b8c89-bb3b-4443-a84e-98f7f7d76707") + ) + (segment + (start 140.79875 109.22) + (end 152.55875 109.22) + (width 0.2) + (layer "F.Cu") + (net 2) + (uuid "e7ffac75-bb61-4ea6-bed2-2162e3baddfa") + ) + (via + (at 161.925 109.5375) + (size 0.6) + (drill 0.3) + (layers "F.Cu" "B.Cu") + (net 2) + (uuid "dcb3bdf8-7c4e-4c24-9a73-4d8050809c0b") + ) + (segment + (start 164.30625 109.5375) + (end 164.62375 109.22) + (width 0.2) + (layer "B.Cu") + (net 2) + (uuid "517a4e52-e703-4358-be18-8232977c8858") + ) + (segment + (start 164.62375 109.22) + (end 171.60875 109.22) + (width 0.2) + (layer "B.Cu") + (net 2) + (uuid "57cbf478-47cc-4d21-8bdb-440a5b1558e6") + ) + (segment + (start 161.925 109.5375) + (end 164.30625 109.5375) + (width 0.2) + (layer "B.Cu") + (net 2) + (uuid "5c6d8327-54fa-42d3-af94-687c32f70608") + ) + (segment + (start 117.1575 123.02) + (end 134.155 123.02) + (width 0.2) + (layer "F.Cu") + (net 3) + (uuid "5146bc0b-5a51-4702-9155-7fe2f17420cf") + ) + (segment + (start 134.155 123.02) + (end 138.1125 119.0625) + (width 0.2) + (layer "F.Cu") + (net 3) + (uuid "c732988f-2af5-4e18-9d99-c2cfb5d59229") + ) + (via + (at 138.1125 119.0625) + (size 0.6) + (drill 0.3) + (layers "F.Cu" "B.Cu") + (net 3) + (uuid "30f462a4-87e2-4f17-bb67-f0f716e77388") + ) + (segment + (start 145.415 111.76) + (end 146.20875 111.76) + (width 0.2) + (layer "B.Cu") + (net 3) + (uuid "ce28e9a6-9fbd-4505-91d7-7f595fcfefcd") + ) + (segment + (start 138.1125 119.0625) + (end 145.415 111.76) + (width 0.2) + (layer "B.Cu") + (net 3) + (uuid "d1a8bcd8-440d-435c-b391-46c18f655721") + ) + (segment + (start 127.698649 120.48) + (end 138.028649 130.81) + (width 0.2) + (layer "B.Cu") + (net 4) + (uuid "1ad3e4cc-0272-48e2-ab12-478a2cf19b49") + ) + (segment + (start 117.1575 120.48) + (end 127.698649 120.48) + (width 0.2) + (layer "B.Cu") + (net 4) + (uuid "519469fb-8465-4a17-af47-964bbcb29f27") + ) + (segment + (start 138.028649 130.81) + (end 146.20875 130.81) + (width 0.2) + (layer "B.Cu") + (net 4) + (uuid "6dca7d3a-1ee9-42f6-a485-a51514adc5ed") + ) + (segment + (start 127.333743 118.701999) + (end 134.837994 126.20625) + (width 0.2) + (layer "B.Cu") + (net 5) + (uuid "2360bace-0e86-4bce-b91a-5eff982a1485") + ) + (segment + (start 134.837994 126.20625) + (end 160.655 126.20625) + (width 0.2) + (layer "B.Cu") + (net 5) + (uuid "6b207902-4ad6-4783-a41d-34e1ea9d1256") + ) + (segment + (start 117.1575 117.94) + (end 117.919499 118.701999) + (width 0.2) + (layer "B.Cu") + (net 5) + (uuid "7e55792b-2503-47b5-bd78-53564077ee3f") + ) + (segment + (start 117.919499 118.701999) + (end 127.333743 118.701999) + (width 0.2) + (layer "B.Cu") + (net 5) + (uuid "a3bce975-4774-430f-b8ef-256896baa387") + ) + (segment + (start 160.655 126.20625) + (end 165.25875 130.81) + (width 0.2) + (layer "B.Cu") + (net 5) + (uuid "b601c6af-d92e-4153-b1a1-526de622d7cb") + ) + (segment + (start 109.5375 128.5875) + (end 111.76 130.81) + (width 0.2) + (layer "B.Cu") + (net 6) + (uuid "269030f7-a66b-4de1-a808-220d8a6fd248") + ) + (segment + (start 111.76 130.81) + (end 127.15875 130.81) + (width 0.2) + (layer "B.Cu") + (net 6) + (uuid "45e9d630-70fe-4aca-8206-9298b440e094") + ) + (segment + (start 109.5375 123.825) + (end 109.5375 128.5875) + (width 0.2) + (layer "B.Cu") + (net 6) + (uuid "82c18d2a-4ac0-4781-afb9-7f66a8587d35") + ) + (segment + (start 117.1575 115.4) + (end 117.1575 116.205) + (width 0.2) + (layer "B.Cu") + (net 6) + (uuid "bd782b39-af8f-4b67-afa9-757140427226") + ) + (segment + (start 117.1575 116.205) + (end 109.5375 123.825) + (width 0.2) + (layer "B.Cu") + (net 6) + (uuid "ef007860-f545-4d95-a544-922bac40793c") + ) + (segment + (start 101.9175 117.94) + (end 103.0575 116.8) + (width 0.2) + (layer "F.Cu") + (net 7) + (uuid "810dba54-9d6c-4654-bd85-4158e1e4548e") + ) + (segment + (start 103.0575 116.8) + (end 123.71875 116.8) + (width 0.2) + (layer "F.Cu") + (net 7) + (uuid "9befb38a-48b5-4794-bf4f-e70261c6e21b") + ) + (segment + (start 101.9175 120.48) + (end 110.5995 111.798) + (width 0.2) + (layer "B.Cu") + (net 8) + (uuid "32aea764-36e9-403c-8744-fe07f50cf5ec") + ) + (segment + (start 110.5995 111.798) + (end 123.71675 111.798) + (width 0.2) + (layer "B.Cu") + (net 8) + (uuid "a8b9e5a9-8011-4fb2-9ef4-eaee0f783f96") + ) + (segment + (start 123.71675 111.798) + (end 123.71875 111.8) + (width 0.2) + (layer "B.Cu") + (net 8) + (uuid "e8b6df19-66e9-4b19-b033-f9d4bb12bc1a") + ) + (segment + (start 133.06075 121.958) + (end 138.21875 116.8) + (width 0.2) + (layer "F.Cu") + (net 9) + (uuid "25627f85-125f-473a-bb67-621f571a5fde") + ) + (segment + (start 101.9175 123.02) + (end 102.9795 121.958) + (width 0.2) + (layer "F.Cu") + (net 9) + (uuid "27f95188-22f2-4c9a-8d80-8be6070f58e2") + ) + (segment + (start 102.9795 121.958) + (end 133.06075 121.958) + (width 0.2) + (layer "F.Cu") + (net 9) + (uuid "cfd278de-03ee-45bb-beb6-8791f78d5795") + ) +) diff --git a/hackpads/NT Pad/PCB/hackpad.kicad_pro b/hackpads/NT Pad/PCB/hackpad.kicad_pro new file mode 100644 index 0000000000..559cb41661 --- /dev/null +++ b/hackpads/NT Pad/PCB/hackpad.kicad_pro @@ -0,0 +1,584 @@ +{ + "board": { + "3dviewports": [], + "design_settings": { + "defaults": { + "apply_defaults_to_fp_fields": false, + "apply_defaults_to_fp_shapes": false, + "apply_defaults_to_fp_text": false, + "board_outline_line_width": 0.05, + "copper_line_width": 0.2, + "copper_text_italic": false, + "copper_text_size_h": 1.5, + "copper_text_size_v": 1.5, + "copper_text_thickness": 0.3, + "copper_text_upright": false, + "courtyard_line_width": 0.05, + "dimension_precision": 4, + "dimension_units": 3, + "dimensions": { + "arrow_length": 1270000, + "extension_offset": 500000, + "keep_text_aligned": true, + "suppress_zeroes": false, + "text_position": 0, + "units_format": 1 + }, + "fab_line_width": 0.1, + "fab_text_italic": false, + "fab_text_size_h": 1.0, + "fab_text_size_v": 1.0, + "fab_text_thickness": 0.15, + "fab_text_upright": false, + "other_line_width": 0.1, + "other_text_italic": false, + "other_text_size_h": 1.0, + "other_text_size_v": 1.0, + "other_text_thickness": 0.15, + "other_text_upright": false, + "pads": { + "drill": 0.762, + "height": 1.524, + "width": 1.524 + }, + "silk_line_width": 0.1, + "silk_text_italic": false, + "silk_text_size_h": 1.0, + "silk_text_size_v": 1.0, + "silk_text_thickness": 0.1, + "silk_text_upright": false, + "zones": { + "min_clearance": 0.5 + } + }, + "diff_pair_dimensions": [], + "drc_exclusions": [], + "meta": { + "version": 2 + }, + "rule_severities": { + "annular_width": "error", + "clearance": "error", + "connection_width": "warning", + "copper_edge_clearance": "error", + "copper_sliver": "warning", + "courtyards_overlap": "error", + "diff_pair_gap_out_of_range": "error", + "diff_pair_uncoupled_length_too_long": "error", + "drill_out_of_range": "error", + "duplicate_footprints": "warning", + "extra_footprint": "warning", + "footprint": "error", + "footprint_symbol_mismatch": "warning", + "footprint_type_mismatch": "ignore", + "hole_clearance": "error", + "hole_near_hole": "error", + "holes_co_located": "warning", + "invalid_outline": "error", + "isolated_copper": "warning", + "item_on_disabled_layer": "error", + "items_not_allowed": "error", + "length_out_of_range": "error", + "lib_footprint_issues": "warning", + "lib_footprint_mismatch": "warning", + "malformed_courtyard": "error", + "microvia_drill_out_of_range": "error", + "missing_courtyard": "ignore", + "missing_footprint": "warning", + "net_conflict": "warning", + "npth_inside_courtyard": "ignore", + "padstack": "warning", + "pth_inside_courtyard": "ignore", + "shorting_items": "error", + "silk_edge_clearance": "warning", + "silk_over_copper": "warning", + "silk_overlap": "warning", + "skew_out_of_range": "error", + "solder_mask_bridge": "error", + "starved_thermal": "error", + "text_height": "warning", + "text_thickness": "warning", + "through_hole_pad_without_hole": "error", + "too_many_vias": "error", + "track_dangling": "warning", + "track_width": "error", + "tracks_crossing": "error", + "unconnected_items": "error", + "unresolved_variable": "error", + "via_dangling": "warning", + "zones_intersect": "error" + }, + "rules": { + "max_error": 0.005, + "min_clearance": 0.0, + "min_connection": 0.0, + "min_copper_edge_clearance": 0.5, + "min_hole_clearance": 0.25, + "min_hole_to_hole": 0.25, + "min_microvia_diameter": 0.2, + "min_microvia_drill": 0.1, + "min_resolved_spokes": 2, + "min_silk_clearance": 0.0, + "min_text_height": 0.8, + "min_text_thickness": 0.08, + "min_through_hole_diameter": 0.3, + "min_track_width": 0.0, + "min_via_annular_width": 0.1, + "min_via_diameter": 0.5, + "solder_mask_to_copper_clearance": 0.0, + "use_height_for_length_calcs": true + }, + "teardrop_options": [ + { + "td_onpadsmd": true, + "td_onroundshapesonly": false, + "td_ontrackend": false, + "td_onviapad": true + } + ], + "teardrop_parameters": [ + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_round_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_rect_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_track_end", + "td_width_to_size_filter_ratio": 0.9 + } + ], + "track_widths": [], + "tuning_pattern_settings": { + "diff_pair_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 1.0 + }, + "diff_pair_skew_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 0.6 + }, + "single_track_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 0.6 + } + }, + "via_dimensions": [], + "zones_allow_external_fillets": false + }, + "ipc2581": { + "dist": "", + "distpn": "", + "internal_id": "", + "mfg": "", + "mpn": "" + }, + "layer_presets": [], + "viewports": [] + }, + "boards": [], + "cvpcb": { + "equivalence_files": [] + }, + "erc": { + "erc_exclusions": [], + "meta": { + "version": 0 + }, + "pin_map": [ + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 2 + ], + [ + 0, + 1, + 0, + 0, + 0, + 0, + 1, + 1, + 2, + 1, + 1, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2 + ], + [ + 1, + 1, + 1, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 1, + 2 + ], + [ + 0, + 0, + 0, + 1, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2 + ], + [ + 0, + 2, + 1, + 2, + 0, + 0, + 1, + 0, + 2, + 2, + 2, + 2 + ], + [ + 0, + 2, + 0, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2 + ], + [ + 0, + 2, + 1, + 1, + 0, + 0, + 1, + 0, + 2, + 0, + 0, + 2 + ], + [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ] + ], + "rule_severities": { + "bus_definition_conflict": "error", + "bus_entry_needed": "error", + "bus_to_bus_conflict": "error", + "bus_to_net_conflict": "error", + "conflicting_netclasses": "error", + "different_unit_footprint": "error", + "different_unit_net": "error", + "duplicate_reference": "error", + "duplicate_sheet_names": "error", + "endpoint_off_grid": "warning", + "extra_units": "error", + "global_label_dangling": "warning", + "hier_label_mismatch": "error", + "label_dangling": "error", + "lib_symbol_issues": "warning", + "missing_bidi_pin": "warning", + "missing_input_pin": "warning", + "missing_power_pin": "error", + "missing_unit": "warning", + "multiple_net_names": "warning", + "net_not_bus_member": "warning", + "no_connect_connected": "warning", + "no_connect_dangling": "warning", + "pin_not_connected": "error", + "pin_not_driven": "error", + "pin_to_pin": "warning", + "power_pin_not_driven": "error", + "similar_labels": "warning", + "simulation_model_issue": "ignore", + "unannotated": "error", + "unit_value_mismatch": "error", + "unresolved_variable": "error", + "wire_dangling": "error" + } + }, + "libraries": { + "pinned_footprint_libs": [], + "pinned_symbol_libs": [] + }, + "meta": { + "filename": "hackpad.kicad_pro", + "version": 1 + }, + "net_settings": { + "classes": [ + { + "bus_width": 12, + "clearance": 0.2, + "diff_pair_gap": 0.25, + "diff_pair_via_gap": 0.25, + "diff_pair_width": 0.2, + "line_style": 0, + "microvia_diameter": 0.3, + "microvia_drill": 0.1, + "name": "Default", + "pcb_color": "rgba(0, 0, 0, 0.000)", + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.2, + "via_diameter": 0.6, + "via_drill": 0.3, + "wire_width": 6 + } + ], + "meta": { + "version": 3 + }, + "net_colors": null, + "netclass_assignments": null, + "netclass_patterns": [] + }, + "pcbnew": { + "last_paths": { + "gencad": "", + "idf": "", + "netlist": "", + "plot": "", + "pos_files": "", + "specctra_dsn": "", + "step": "hackpad.step", + "svg": "", + "vrml": "" + }, + "page_layout_descr_file": "" + }, + "schematic": { + "annotate_start_num": 0, + "bom_export_filename": "", + "bom_fmt_presets": [], + "bom_fmt_settings": { + "field_delimiter": ",", + "keep_line_breaks": false, + "keep_tabs": false, + "name": "CSV", + "ref_delimiter": ",", + "ref_range_delimiter": "", + "string_delimiter": "\"" + }, + "bom_presets": [], + "bom_settings": { + "exclude_dnp": false, + "fields_ordered": [ + { + "group_by": false, + "label": "Reference", + "name": "Reference", + "show": true + }, + { + "group_by": true, + "label": "Value", + "name": "Value", + "show": true + }, + { + "group_by": false, + "label": "Datasheet", + "name": "Datasheet", + "show": true + }, + { + "group_by": false, + "label": "Footprint", + "name": "Footprint", + "show": true + }, + { + "group_by": false, + "label": "Qty", + "name": "${QUANTITY}", + "show": true + }, + { + "group_by": true, + "label": "DNP", + "name": "${DNP}", + "show": true + } + ], + "filter_string": "", + "group_symbols": true, + "name": "Grouped By Value", + "sort_asc": true, + "sort_field": "Reference" + }, + "connection_grid_size": 50.0, + "drawing": { + "dashed_lines_dash_length_ratio": 12.0, + "dashed_lines_gap_length_ratio": 3.0, + "default_line_thickness": 6.0, + "default_text_size": 50.0, + "field_names": [], + "intersheets_ref_own_page": false, + "intersheets_ref_prefix": "", + "intersheets_ref_short": false, + "intersheets_ref_show": false, + "intersheets_ref_suffix": "", + "junction_size_choice": 3, + "label_size_ratio": 0.375, + "operating_point_overlay_i_precision": 3, + "operating_point_overlay_i_range": "~A", + "operating_point_overlay_v_precision": 3, + "operating_point_overlay_v_range": "~V", + "overbar_offset_ratio": 1.23, + "pin_symbol_size": 25.0, + "text_offset_ratio": 0.15 + }, + "legacy_lib_dir": "", + "legacy_lib_list": [], + "meta": { + "version": 1 + }, + "net_format_name": "", + "page_layout_descr_file": "", + "plot_directory": "", + "spice_current_sheet_as_root": false, + "spice_external_command": "spice \"%I\"", + "spice_model_current_sheet_as_root": true, + "spice_save_all_currents": false, + "spice_save_all_dissipations": false, + "spice_save_all_voltages": false, + "subpart_first_id": 65, + "subpart_id_separator": 0 + }, + "sheets": [ + [ + "5f12923f-bed8-4344-97b8-f127e11623c3", + "Root" + ] + ], + "text_variables": {} +} diff --git a/hackpads/NT Pad/PCB/hackpad.kicad_sch b/hackpads/NT Pad/PCB/hackpad.kicad_sch new file mode 100644 index 0000000000..2570e72c8d --- /dev/null +++ b/hackpads/NT Pad/PCB/hackpad.kicad_sch @@ -0,0 +1,2670 @@ +(kicad_sch + (version 20231120) + (generator "eeschema") + (generator_version "8.0") + (uuid "5f12923f-bed8-4344-97b8-f127e11623c3") + (paper "A4") + (lib_symbols + (symbol "Device:RotaryEncoder_Switch" + (pin_names + (offset 0.254) hide) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "SW" + (at 0 6.604 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "RotaryEncoder_Switch" + (at 0 -6.604 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at -3.81 4.064 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 6.604 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Rotary encoder, dual channel, incremental quadrate outputs, with switch" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "rotary switch encoder switch push button" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_fp_filters" "RotaryEncoder*Switch*" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "RotaryEncoder_Switch_0_1" + (rectangle + (start -5.08 5.08) + (end 5.08 -5.08) + (stroke + (width 0.254) + (type default) + ) + (fill + (type background) + ) + ) + (circle + (center -3.81 0) + (radius 0.254) + (stroke + (width 0) + (type default) + ) + (fill + (type outline) + ) + ) + (circle + (center -0.381 0) + (radius 1.905) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (arc + (start -0.381 2.667) + (mid -3.0988 -0.0635) + (end -0.381 -2.794) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.635 -1.778) (xy -0.635 1.778) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.381 -1.778) (xy -0.381 1.778) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -0.127 1.778) (xy -0.127 -1.778) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 3.81 0) (xy 3.429 0) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 3.81 1.016) (xy 3.81 -1.016) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -5.08 -2.54) (xy -3.81 -2.54) (xy -3.81 -2.032) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -5.08 2.54) (xy -3.81 2.54) (xy -3.81 2.032) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0.254 -3.048) (xy -0.508 -2.794) (xy 0.127 -2.413) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0.254 2.921) (xy -0.508 2.667) (xy 0.127 2.286) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 -2.54) (xy 4.318 -2.54) (xy 4.318 -1.016) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 5.08 2.54) (xy 4.318 2.54) (xy 4.318 1.016) + ) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -5.08 0) (xy -3.81 0) (xy -3.81 -1.016) (xy -3.302 -2.032) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -4.318 0) (xy -3.81 0) (xy -3.81 1.016) (xy -3.302 2.032) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 4.318 -1.016) + (radius 0.127) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 4.318 1.016) + (radius 0.127) + (stroke + (width 0.254) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "RotaryEncoder_Switch_1_1" + (pin passive line + (at -7.62 2.54 0) + (length 2.54) + (name "A" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "A" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -7.62 -2.54 0) + (length 2.54) + (name "B" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "B" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -7.62 0 0) + (length 2.54) + (name "C" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "C" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 7.62 2.54 180) + (length 2.54) + (name "S1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "S1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 7.62 -2.54 180) + (length 2.54) + (name "S2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "S2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + ) + (symbol "OPL:XIAO-RP2040-DIP" + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "U" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "XIAO-RP2040-DIP" + (at 5.334 -1.778 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Module:MOUDLE14P-XIAO-DIP-SMD" + (at 14.478 -32.258 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "XIAO-RP2040-DIP_1_0" + (polyline + (pts + (xy -1.27 -30.48) (xy -1.27 -16.51) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -27.94) (xy -2.54 -27.94) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -24.13) (xy -2.54 -24.13) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -20.32) (xy -2.54 -20.32) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -16.51) (xy -2.54 -16.51) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -16.51) (xy -1.27 -12.7) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -12.7) (xy -2.54 -12.7) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -12.7) (xy -1.27 -8.89) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -8.89) (xy -2.54 -8.89) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -8.89) (xy -1.27 -5.08) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -5.08) (xy -2.54 -5.08) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -5.08) (xy -1.27 -2.54) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy -1.27 -2.54) (xy 29.21 -2.54) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 29.21 -30.48) (xy -1.27 -30.48) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 29.21 -12.7) (xy 29.21 -30.48) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 29.21 -8.89) (xy 29.21 -12.7) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 29.21 -5.08) (xy 29.21 -8.89) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 29.21 -2.54) (xy 29.21 -5.08) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 30.48 -27.94) (xy 29.21 -27.94) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 30.48 -24.13) (xy 29.21 -24.13) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 30.48 -20.32) (xy 29.21 -20.32) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 30.48 -16.51) (xy 29.21 -16.51) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 30.48 -12.7) (xy 29.21 -12.7) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 30.48 -8.89) (xy 29.21 -8.89) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 30.48 -5.08) (xy 29.21 -5.08) + ) + (stroke + (width 0.1524) + (type solid) + ) + (fill + (type none) + ) + ) + (pin passive line + (at -3.81 -5.08 0) + (length 2.54) + (name "GPIO26/ADC0/A0" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 31.75 -20.32 180) + (length 2.54) + (name "GPIO4/MISO" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "10" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 31.75 -16.51 180) + (length 2.54) + (name "GPIO3/MOSI" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "11" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 31.75 -12.7 180) + (length 2.54) + (name "3V3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "12" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 31.75 -8.89 180) + (length 2.54) + (name "GND" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "13" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 31.75 -5.08 180) + (length 2.54) + (name "VBUS" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "14" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -3.81 -8.89 0) + (length 2.54) + (name "GPIO27/ADC1/A1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -3.81 -12.7 0) + (length 2.54) + (name "GPIO28/ADC2/A2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -3.81 -16.51 0) + (length 2.54) + (name "GPIO29/ADC3/A3" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "4" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -3.81 -20.32 0) + (length 2.54) + (name "GPIO6/SDA" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "5" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -3.81 -24.13 0) + (length 2.54) + (name "GPIO7/SCL" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "6" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at -3.81 -27.94 0) + (length 2.54) + (name "GPIO0/TX" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "7" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 31.75 -27.94 180) + (length 2.54) + (name "GPIO1/RX" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "8" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 31.75 -24.13 180) + (length 2.54) + (name "GPIO2/SCK" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "9" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + ) + (symbol "Switch:SW_Push" + (pin_numbers hide) + (pin_names + (offset 1.016) hide) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "SW" + (at 1.27 2.54 0) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Value" "SW_Push" + (at 0 -1.524 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 0 5.08 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Push button switch, generic, two pins" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "switch normally-open pushbutton push-button" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "SW_Push_0_1" + (circle + (center -2.032 0) + (radius 0.508) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 1.27) (xy 0 3.048) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 2.54 1.27) (xy -2.54 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (circle + (center 2.032 0) + (radius 0.508) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (pin passive line + (at -5.08 0 0) + (length 2.54) + (name "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + (pin passive line + (at 5.08 0 180) + (length 2.54) + (name "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "2" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + ) + (symbol "power:+5V" + (power) + (pin_numbers hide) + (pin_names + (offset 0) hide) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "#PWR" + (at 0 -3.81 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "+5V" + (at 0 3.556 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "global power" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "+5V_0_1" + (polyline + (pts + (xy -0.762 1.27) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 0) (xy 0 2.54) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + (polyline + (pts + (xy 0 2.54) (xy 0.762 1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "+5V_1_1" + (pin power_in line + (at 0 0 90) + (length 0) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + ) + (symbol "power:GND" + (power) + (pin_numbers hide) + (pin_names + (offset 0) hide) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (property "Reference" "#PWR" + (at 0 -6.35 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 0 -3.81 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "ki_keywords" "global power" + (at 0 0 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (symbol "GND_0_1" + (polyline + (pts + (xy 0 0) (xy 0 -1.27) (xy 1.27 -1.27) (xy 0 -2.54) (xy -1.27 -1.27) (xy 0 -1.27) + ) + (stroke + (width 0) + (type default) + ) + (fill + (type none) + ) + ) + ) + (symbol "GND_1_1" + (pin power_in line + (at 0 0 270) + (length 0) + (name "~" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (number "1" + (effects + (font + (size 1.27 1.27) + ) + ) + ) + ) + ) + ) + ) + (junction + (at 58.42 118.11) + (diameter 0) + (color 0 0 0 0) + (uuid "123404e7-d230-4f32-a301-e43fb37398f5") + ) + (junction + (at 58.42 147.32) + (diameter 0) + (color 0 0 0 0) + (uuid "3733db59-0094-4e29-b0ad-a7453cc60542") + ) + (junction + (at 58.42 137.16) + (diameter 0) + (color 0 0 0 0) + (uuid "9de3aad7-c2be-4a45-b4e3-b33e0126cb26") + ) + (junction + (at 58.42 128.27) + (diameter 0) + (color 0 0 0 0) + (uuid "b23ce07b-1d88-415b-9ebd-95a76e6ad98c") + ) + (wire + (pts + (xy 76.2 107.95) (xy 125.73 107.95) + ) + (stroke + (width 0) + (type default) + ) + (uuid "01751d04-1d35-42c0-8182-81003fe57cdc") + ) + (wire + (pts + (xy 125.73 107.95) (xy 125.73 128.27) + ) + (stroke + (width 0) + (type default) + ) + (uuid "02b5e271-3bed-4aaa-86fa-d8df06b37b05") + ) + (wire + (pts + (xy 101.6 148.59) (xy 92.71 148.59) + ) + (stroke + (width 0) + (type default) + ) + (uuid "0e3c47f2-308d-463f-8b97-8453318706b3") + ) + (wire + (pts + (xy 58.42 128.27) (xy 66.04 128.27) + ) + (stroke + (width 0) + (type default) + ) + (uuid "12024c1b-3892-49d2-92c9-bb3fee9c98db") + ) + (wire + (pts + (xy 120.65 147.32) (xy 125.73 147.32) + ) + (stroke + (width 0) + (type default) + ) + (uuid "1bee60bc-4305-43c7-b29c-52eb8b55c6bf") + ) + (wire + (pts + (xy 161.29 167.64) (xy 161.29 151.13) + ) + (stroke + (width 0) + (type default) + ) + (uuid "23049662-15ca-42d2-8b33-e05ec32b8ec4") + ) + (wire + (pts + (xy 116.84 148.59) (xy 116.84 157.48) + ) + (stroke + (width 0) + (type default) + ) + (uuid "30723a8e-d537-493e-b2e5-4c63c7c6bb22") + ) + (wire + (pts + (xy 119.38 151.13) (xy 125.73 151.13) + ) + (stroke + (width 0) + (type default) + ) + (uuid "34cfbbe2-13b5-4156-8520-466af116c1bb") + ) + (wire + (pts + (xy 161.29 147.32) (xy 163.83 147.32) + ) + (stroke + (width 0) + (type default) + ) + (uuid "3505beb7-521b-4037-8d81-026259ee2434") + ) + (wire + (pts + (xy 58.42 147.32) (xy 58.42 137.16) + ) + (stroke + (width 0) + (type default) + ) + (uuid "3bf8678a-4237-4b63-b1ec-aeb9b10f734a") + ) + (wire + (pts + (xy 165.1 143.51) (xy 161.29 143.51) + ) + (stroke + (width 0) + (type default) + ) + (uuid "5694ecbb-32ce-4bf2-83f3-2770c1273616") + ) + (wire + (pts + (xy 76.2 172.72) (xy 166.37 172.72) + ) + (stroke + (width 0) + (type default) + ) + (uuid "5750ee5a-083a-4cd4-86c7-6943b1a394cc") + ) + (wire + (pts + (xy 81.28 118.11) (xy 81.28 167.64) + ) + (stroke + (width 0) + (type default) + ) + (uuid "57d297ae-6a77-4fde-9a2e-531df94f38fc") + ) + (wire + (pts + (xy 58.42 118.11) (xy 58.42 128.27) + ) + (stroke + (width 0) + (type default) + ) + (uuid "58ffe74a-8b52-49e8-9ad3-ab8f9d49743c") + ) + (wire + (pts + (xy 121.92 135.89) (xy 121.92 143.51) + ) + (stroke + (width 0) + (type default) + ) + (uuid "65aecc50-0fd2-4a20-a990-3ad8706f83b5") + ) + (wire + (pts + (xy 101.6 139.7) (xy 120.65 139.7) + ) + (stroke + (width 0) + (type default) + ) + (uuid "69f96be1-a0ac-4b6f-9133-50340f66444c") + ) + (wire + (pts + (xy 81.28 167.64) (xy 161.29 167.64) + ) + (stroke + (width 0) + (type default) + ) + (uuid "6d545f90-ce0b-45b0-9396-b3c399d42471") + ) + (wire + (pts + (xy 76.2 147.32) (xy 76.2 172.72) + ) + (stroke + (width 0) + (type default) + ) + (uuid "76d351fa-19ca-4166-80ca-2180186b3d88") + ) + (wire + (pts + (xy 163.83 170.18) (xy 163.83 147.32) + ) + (stroke + (width 0) + (type default) + ) + (uuid "7af16669-2b28-4ccf-ba4c-44c5247eac60") + ) + (wire + (pts + (xy 76.2 118.11) (xy 81.28 118.11) + ) + (stroke + (width 0) + (type default) + ) + (uuid "80c71416-7a53-4dd8-8653-a8c37b7625b2") + ) + (wire + (pts + (xy 76.2 128.27) (xy 80.01 128.27) + ) + (stroke + (width 0) + (type default) + ) + (uuid "8c890040-f857-4c33-9b41-832fc103ecd9") + ) + (wire + (pts + (xy 76.2 137.16) (xy 78.74 137.16) + ) + (stroke + (width 0) + (type default) + ) + (uuid "8da21eca-684f-4f03-acd4-e42918dbd8b0") + ) + (wire + (pts + (xy 80.01 170.18) (xy 163.83 170.18) + ) + (stroke + (width 0) + (type default) + ) + (uuid "9065fca8-6f83-46cc-b29d-0157a3354c13") + ) + (wire + (pts + (xy 58.42 128.27) (xy 58.42 137.16) + ) + (stroke + (width 0) + (type default) + ) + (uuid "9ac8061b-ae92-41eb-9d2c-b936b20f422a") + ) + (wire + (pts + (xy 120.65 139.7) (xy 120.65 147.32) + ) + (stroke + (width 0) + (type default) + ) + (uuid "ad64e2c5-8ea0-42ec-a3b8-e89742e5722d") + ) + (wire + (pts + (xy 58.42 118.11) (xy 66.04 118.11) + ) + (stroke + (width 0) + (type default) + ) + (uuid "af2f7ec2-33de-47fb-b0f5-ef3b5e556807") + ) + (wire + (pts + (xy 58.42 137.16) (xy 66.04 137.16) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b415adcb-908c-4724-b04a-ba706ff7d240") + ) + (wire + (pts + (xy 165.1 171.45) (xy 165.1 143.51) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b5173516-d652-4d2a-908b-945de0cf5860") + ) + (wire + (pts + (xy 58.42 107.95) (xy 58.42 118.11) + ) + (stroke + (width 0) + (type default) + ) + (uuid "b56bad61-ab96-4ea8-8996-fccdfe35a149") + ) + (wire + (pts + (xy 166.37 139.7) (xy 161.29 139.7) + ) + (stroke + (width 0) + (type default) + ) + (uuid "bf2e5ac1-8028-452f-bb50-0c006bc3f0ce") + ) + (wire + (pts + (xy 166.37 172.72) (xy 166.37 139.7) + ) + (stroke + (width 0) + (type default) + ) + (uuid "c98914a6-d699-4294-93f9-7a5315b8bbf8") + ) + (wire + (pts + (xy 78.74 137.16) (xy 78.74 171.45) + ) + (stroke + (width 0) + (type default) + ) + (uuid "cfcbde55-f25c-475e-9dd8-ed32c6b4f7d1") + ) + (wire + (pts + (xy 119.38 143.51) (xy 119.38 151.13) + ) + (stroke + (width 0) + (type default) + ) + (uuid "d388552d-0352-45be-8fe5-3a72f2857078") + ) + (wire + (pts + (xy 121.92 143.51) (xy 125.73 143.51) + ) + (stroke + (width 0) + (type default) + ) + (uuid "d64ba6e1-ef2a-4e8b-9797-d76f8f1d0548") + ) + (wire + (pts + (xy 101.6 143.51) (xy 101.6 139.7) + ) + (stroke + (width 0) + (type default) + ) + (uuid "d7eb913b-763b-4096-bbec-10ccd1c5d47c") + ) + (wire + (pts + (xy 92.71 135.89) (xy 121.92 135.89) + ) + (stroke + (width 0) + (type default) + ) + (uuid "df5885c2-b0a3-42e5-a00d-b1f2d854ac60") + ) + (wire + (pts + (xy 78.74 171.45) (xy 165.1 171.45) + ) + (stroke + (width 0) + (type default) + ) + (uuid "e7ca9fc7-6e5a-49d1-8c89-40f5f1aa23e0") + ) + (wire + (pts + (xy 92.71 148.59) (xy 92.71 135.89) + ) + (stroke + (width 0) + (type default) + ) + (uuid "e8191b1b-d3f6-4e99-8aec-29aa71e6520b") + ) + (wire + (pts + (xy 66.04 147.32) (xy 58.42 147.32) + ) + (stroke + (width 0) + (type default) + ) + (uuid "eb7fc855-fc0f-4763-97b7-4e646f21034d") + ) + (wire + (pts + (xy 58.42 147.32) (xy 58.42 160.02) + ) + (stroke + (width 0) + (type default) + ) + (uuid "ed677c4c-c5f7-4c47-85ce-ea5758780126") + ) + (wire + (pts + (xy 66.04 107.95) (xy 58.42 107.95) + ) + (stroke + (width 0) + (type default) + ) + (uuid "f1710835-708e-436d-8d19-18d860525528") + ) + (wire + (pts + (xy 80.01 128.27) (xy 80.01 170.18) + ) + (stroke + (width 0) + (type default) + ) + (uuid "fc592a00-fd7b-404a-81e8-2e8eb9a623ae") + ) + (wire + (pts + (xy 116.84 143.51) (xy 119.38 143.51) + ) + (stroke + (width 0) + (type default) + ) + (uuid "fc73af79-78ce-47a1-880e-71a1c57c6ab9") + ) + (symbol + (lib_id "power:+5V") + (at 161.29 128.27 270) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "1ea546a4-a260-4426-9baf-7349246560dc") + (property "Reference" "#PWR01" + (at 157.48 128.27 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "+5V" + (at 165.1 128.2699 90) + (effects + (font + (size 1.27 1.27) + ) + (justify left) + ) + ) + (property "Footprint" "" + (at 161.29 128.27 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 161.29 128.27 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"+5V\"" + (at 161.29 128.27 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "4873a845-1fbb-4010-ac9c-bdfa214707a6") + ) + (instances + (project "" + (path "/5f12923f-bed8-4344-97b8-f127e11623c3" + (reference "#PWR01") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Device:RotaryEncoder_Switch") + (at 109.22 146.05 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "2aa14c28-c39e-4b0b-8955-66421a7a2aea") + (property "Reference" "SW6" + (at 109.22 135.89 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "RotaryEncoder_Switch" + (at 109.22 138.43 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_CircularMountingHoles" + (at 105.41 141.986 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 109.22 139.446 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Rotary encoder, dual channel, incremental quadrate outputs, with switch" + (at 109.22 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "C" + (uuid "448b03ac-7fd3-4b59-aa48-f9809ff18805") + ) + (pin "B" + (uuid "b5be9978-2751-4832-9bbf-69a12e0cc074") + ) + (pin "S1" + (uuid "b946a819-f1e4-486a-8436-f5986925974b") + ) + (pin "S2" + (uuid "64447270-821b-4ca9-9a96-2dcbb8dcd5b0") + ) + (pin "A" + (uuid "fd01934a-d29c-44cc-b7ec-16ae6fbeea5c") + ) + (instances + (project "" + (path "/5f12923f-bed8-4344-97b8-f127e11623c3" + (reference "SW6") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 161.29 132.08 90) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "2ea11abe-19dc-4e99-8c7c-4e48f2274f88") + (property "Reference" "#PWR02" + (at 167.64 132.08 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 165.1 132.0799 90) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Footprint" "" + (at 161.29 132.08 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 161.29 132.08 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 161.29 132.08 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "f4f52191-c5ac-4757-9538-b9f8bef8d8a4") + ) + (instances + (project "" + (path "/5f12923f-bed8-4344-97b8-f127e11623c3" + (reference "#PWR02") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Switch:SW_Push") + (at 71.12 147.32 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "4e0500db-215b-42ce-8924-5dcaa393c9ad") + (property "Reference" "SW5" + (at 71.12 139.7 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "SW_Push" + (at 71.12 142.24 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB" + (at 71.12 142.24 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 71.12 142.24 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Push button switch, generic, two pins" + (at 71.12 147.32 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "59c9ab6f-1faa-443f-9264-be36979aaa7f") + ) + (pin "1" + (uuid "2d3f539b-2b41-4875-aaad-add53167524c") + ) + (instances + (project "hackpad" + (path "/5f12923f-bed8-4344-97b8-f127e11623c3" + (reference "SW5") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 101.6 146.05 270) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "527a2a75-dd23-41bc-a63e-dfde1e433340") + (property "Reference" "#PWR05" + (at 95.25 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 97.79 146.0499 90) + (effects + (font + (size 1.27 1.27) + ) + (justify right) + ) + ) + (property "Footprint" "" + (at 101.6 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 101.6 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 101.6 146.05 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "36058a01-26bd-4fee-bea1-0527fbf814c6") + ) + (instances + (project "" + (path "/5f12923f-bed8-4344-97b8-f127e11623c3" + (reference "#PWR05") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 116.84 157.48 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "6c0da776-3406-4992-96b1-e48675c46cfe") + (property "Reference" "#PWR04" + (at 116.84 163.83 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 116.84 162.56 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 116.84 157.48 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 116.84 157.48 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 116.84 157.48 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "0b33cd47-2052-44dc-b62d-6c868ed8521f") + ) + (instances + (project "" + (path "/5f12923f-bed8-4344-97b8-f127e11623c3" + (reference "#PWR04") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Switch:SW_Push") + (at 71.12 107.95 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "824a1067-00d9-448c-be9d-ed5ecf59e95d") + (property "Reference" "SW1" + (at 71.12 100.33 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "SW_Push" + (at 71.12 102.87 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB" + (at 71.12 102.87 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 71.12 102.87 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Push button switch, generic, two pins" + (at 71.12 107.95 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "9d36599a-6251-4f23-93f3-ffd8b351b436") + ) + (pin "1" + (uuid "6058616c-58d3-40fd-9c79-32378a99161f") + ) + (instances + (project "" + (path "/5f12923f-bed8-4344-97b8-f127e11623c3" + (reference "SW1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "power:GND") + (at 58.42 160.02 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "87b0be50-11d4-4314-880e-033bbe11f0c0") + (property "Reference" "#PWR03" + (at 58.42 166.37 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Value" "GND" + (at 58.42 165.1 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "" + (at 58.42 160.02 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 58.42 160.02 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Power symbol creates a global label with name \"GND\" , ground" + (at 58.42 160.02 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "b28b0464-ceb3-4f1f-b16c-58d711d7f242") + ) + (instances + (project "" + (path "/5f12923f-bed8-4344-97b8-f127e11623c3" + (reference "#PWR03") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Switch:SW_Push") + (at 71.12 118.11 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "a2fdab75-6d20-48be-8a5b-6be2769a3deb") + (property "Reference" "SW2" + (at 71.12 110.49 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "SW_Push" + (at 71.12 113.03 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB" + (at 71.12 113.03 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 71.12 113.03 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Push button switch, generic, two pins" + (at 71.12 118.11 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "c8545c94-3c41-4006-8add-63f190ef02e6") + ) + (pin "2" + (uuid "a124616e-986e-41c5-bca3-4c7d0b9baf17") + ) + (instances + (project "" + (path "/5f12923f-bed8-4344-97b8-f127e11623c3" + (reference "SW2") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Switch:SW_Push") + (at 71.12 128.27 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "a6d6c1d9-f7fb-4378-9d9d-29dbee7f9be2") + (property "Reference" "SW3" + (at 71.12 120.65 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "SW_Push" + (at 71.12 123.19 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB" + (at 71.12 123.19 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 71.12 123.19 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Push button switch, generic, two pins" + (at 71.12 128.27 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "1" + (uuid "0279e6ae-830a-4d0d-9d88-0994b2cb2f05") + ) + (pin "2" + (uuid "df3f553f-97bd-41a6-b9cc-75f41868c2f1") + ) + (instances + (project "" + (path "/5f12923f-bed8-4344-97b8-f127e11623c3" + (reference "SW3") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "OPL:XIAO-RP2040-DIP") + (at 129.54 123.19 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "d46207e1-135c-43d1-8540-6a980e7ea26c") + (property "Reference" "U1" + (at 143.51 120.65 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "XIAO-RP2040-DIP" + (at 143.51 123.19 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "OPL:XIAO-RP2040-DIP" + (at 144.018 155.448 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "" + (at 129.54 123.19 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "" + (at 129.54 123.19 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "10" + (uuid "5b7da89c-e56d-4899-b321-38de07a8b6cf") + ) + (pin "1" + (uuid "793bd3fa-1472-4a77-a978-127ba0af59ac") + ) + (pin "11" + (uuid "333a2b19-d9dd-4a03-a77e-12534232d39a") + ) + (pin "6" + (uuid "91d4f196-46fd-49c4-848f-5c96d7381fce") + ) + (pin "14" + (uuid "d8e9ce12-fa84-40c0-9a60-84ee07549d49") + ) + (pin "7" + (uuid "2a3c0aa5-429b-462d-92ee-a9a1c93fce43") + ) + (pin "12" + (uuid "eec897b2-50ec-406c-9d89-0a8d7cf7aa5f") + ) + (pin "13" + (uuid "a1f9a6fc-d15f-4038-8ef4-51bf7ce5da5d") + ) + (pin "2" + (uuid "f344bc37-d747-436a-bf95-608fd49b792a") + ) + (pin "8" + (uuid "b8862858-2e12-4f5c-a5cb-d27af7904f77") + ) + (pin "4" + (uuid "c1bc02e9-1d76-4056-a7a0-e9167111fa1f") + ) + (pin "3" + (uuid "688c3f4c-3288-47d7-b876-53e589b0e5ba") + ) + (pin "9" + (uuid "391be952-2eb0-4d30-b87c-6c18175a6b98") + ) + (pin "5" + (uuid "64ace5a0-ca32-41e1-97e4-5ac8bfdc50ed") + ) + (instances + (project "" + (path "/5f12923f-bed8-4344-97b8-f127e11623c3" + (reference "U1") + (unit 1) + ) + ) + ) + ) + (symbol + (lib_id "Switch:SW_Push") + (at 71.12 137.16 0) + (unit 1) + (exclude_from_sim no) + (in_bom yes) + (on_board yes) + (dnp no) + (fields_autoplaced yes) + (uuid "fc1ebb31-d77f-42bc-82ea-03e13b8c76a6") + (property "Reference" "SW4" + (at 71.12 129.54 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Value" "SW_Push" + (at 71.12 132.08 0) + (effects + (font + (size 1.27 1.27) + ) + ) + ) + (property "Footprint" "Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB" + (at 71.12 132.08 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Datasheet" "~" + (at 71.12 132.08 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (property "Description" "Push button switch, generic, two pins" + (at 71.12 137.16 0) + (effects + (font + (size 1.27 1.27) + ) + (hide yes) + ) + ) + (pin "2" + (uuid "6d713922-0b5c-4e78-a50a-4ddefca48809") + ) + (pin "1" + (uuid "0ab9c443-7882-440a-ba6f-f42d1ffdd96c") + ) + (instances + (project "" + (path "/5f12923f-bed8-4344-97b8-f127e11623c3" + (reference "SW4") + (unit 1) + ) + ) + ) + ) + (sheet_instances + (path "/" + (page "1") + ) + ) +) diff --git a/hackpads/NT Pad/PCB/hackpad.step b/hackpads/NT Pad/PCB/hackpad.step new file mode 100644 index 0000000000..10b669f792 --- /dev/null +++ b/hackpads/NT Pad/PCB/hackpad.step @@ -0,0 +1,2033 @@ +ISO-10303-21; +HEADER; +FILE_DESCRIPTION(('KiCad electronic assembly'),'2;1'); +FILE_NAME('hackpad.step','2025-02-20T20:32:23',('Pcbnew'),('Kicad'), + 'Open CASCADE STEP processor 7.8','KiCad to STEP converter','Unknown' + ); +FILE_SCHEMA(('AUTOMOTIVE_DESIGN { 1 0 10303 214 1 1 1 1 }')); +ENDSEC; +DATA; +#1 = APPLICATION_PROTOCOL_DEFINITION('international standard', + 'automotive_design',2000,#2); +#2 = APPLICATION_CONTEXT( + 'core data for automotive mechanical design processes'); +#3 = SHAPE_DEFINITION_REPRESENTATION(#4,#10); +#4 = PRODUCT_DEFINITION_SHAPE('','',#5); +#5 = PRODUCT_DEFINITION('design','',#6,#9); +#6 = PRODUCT_DEFINITION_FORMATION('','',#7); +#7 = PRODUCT('hackpad 1','hackpad 1','',(#8)); +#8 = PRODUCT_CONTEXT('',#2,'mechanical'); +#9 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); +#10 = SHAPE_REPRESENTATION('',(#11,#15),#19); +#11 = AXIS2_PLACEMENT_3D('',#12,#13,#14); +#12 = CARTESIAN_POINT('',(0.,0.,0.)); +#13 = DIRECTION('',(0.,0.,1.)); +#14 = DIRECTION('',(1.,0.,-0.)); +#15 = AXIS2_PLACEMENT_3D('',#16,#17,#18); +#16 = CARTESIAN_POINT('',(0.,0.,0.)); +#17 = DIRECTION('',(0.,0.,1.)); +#18 = DIRECTION('',(1.,0.,-0.)); +#19 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#23)) GLOBAL_UNIT_ASSIGNED_CONTEXT( +(#20,#21,#22)) REPRESENTATION_CONTEXT('Context #1', + '3D Context with UNIT and UNCERTAINTY') ); +#20 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); +#21 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); +#22 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); +#23 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#20, + 'distance_accuracy_value','confusion accuracy'); +#24 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#7)); +#25 = SHAPE_DEFINITION_REPRESENTATION(#26,#32); +#26 = PRODUCT_DEFINITION_SHAPE('','',#27); +#27 = PRODUCT_DEFINITION('design','',#28,#31); +#28 = PRODUCT_DEFINITION_FORMATION('','',#29); +#29 = PRODUCT('hackpad_PCB','hackpad_PCB','',(#30)); +#30 = PRODUCT_CONTEXT('',#2,'mechanical'); +#31 = PRODUCT_DEFINITION_CONTEXT('part definition',#2,'design'); +#32 = ADVANCED_BREP_SHAPE_REPRESENTATION('',(#11,#33),#1977); +#33 = MANIFOLD_SOLID_BREP('',#34); +#34 = CLOSED_SHELL('',(#35,#75,#106,#137,#660,#1183,#1195,#1212,#1229, + #1246,#1263,#1280,#1297,#1314,#1331,#1348,#1365,#1382,#1399,#1416, + #1433,#1450,#1467,#1484,#1501,#1518,#1535,#1552,#1569,#1586,#1603, + #1620,#1637,#1654,#1671,#1688,#1705,#1722,#1739,#1756,#1773,#1790, + #1807,#1824,#1841,#1858,#1875,#1892,#1909,#1926,#1943,#1960)); +#35 = ADVANCED_FACE('',(#36),#70,.T.); +#36 = FACE_BOUND('',#37,.T.); +#37 = EDGE_LOOP('',(#38,#48,#56,#64)); +#38 = ORIENTED_EDGE('',*,*,#39,.T.); +#39 = EDGE_CURVE('',#40,#42,#44,.T.); +#40 = VERTEX_POINT('',#41); +#41 = CARTESIAN_POINT('',(178.605,-143.23,0.)); +#42 = VERTEX_POINT('',#43); +#43 = CARTESIAN_POINT('',(178.605,-143.23,1.6)); +#44 = LINE('',#45,#46); +#45 = CARTESIAN_POINT('',(178.605,-143.23,0.)); +#46 = VECTOR('',#47,1.); +#47 = DIRECTION('',(0.,0.,1.)); +#48 = ORIENTED_EDGE('',*,*,#49,.T.); +#49 = EDGE_CURVE('',#42,#50,#52,.T.); +#50 = VERTEX_POINT('',#51); +#51 = CARTESIAN_POINT('',(99.475,-143.23,1.6)); +#52 = LINE('',#53,#54); +#53 = CARTESIAN_POINT('',(178.605,-143.23,1.6)); +#54 = VECTOR('',#55,1.); +#55 = DIRECTION('',(-1.,0.,0.)); +#56 = ORIENTED_EDGE('',*,*,#57,.F.); +#57 = EDGE_CURVE('',#58,#50,#60,.T.); +#58 = VERTEX_POINT('',#59); +#59 = CARTESIAN_POINT('',(99.475,-143.23,0.)); +#60 = LINE('',#61,#62); +#61 = CARTESIAN_POINT('',(99.475,-143.23,0.)); +#62 = VECTOR('',#63,1.); +#63 = DIRECTION('',(0.,0.,1.)); +#64 = ORIENTED_EDGE('',*,*,#65,.F.); +#65 = EDGE_CURVE('',#40,#58,#66,.T.); +#66 = LINE('',#67,#68); +#67 = CARTESIAN_POINT('',(178.605,-143.23,0.)); +#68 = VECTOR('',#69,1.); +#69 = DIRECTION('',(-1.,0.,0.)); +#70 = PLANE('',#71); +#71 = AXIS2_PLACEMENT_3D('',#72,#73,#74); +#72 = CARTESIAN_POINT('',(178.605,-143.23,0.)); +#73 = DIRECTION('',(0.,-1.,0.)); +#74 = DIRECTION('',(-1.,0.,0.)); +#75 = ADVANCED_FACE('',(#76),#101,.T.); +#76 = FACE_BOUND('',#77,.T.); +#77 = EDGE_LOOP('',(#78,#88,#94,#95)); +#78 = ORIENTED_EDGE('',*,*,#79,.T.); +#79 = EDGE_CURVE('',#80,#82,#84,.T.); +#80 = VERTEX_POINT('',#81); +#81 = CARTESIAN_POINT('',(178.605,-104.82,0.)); +#82 = VERTEX_POINT('',#83); +#83 = CARTESIAN_POINT('',(178.605,-104.82,1.6)); +#84 = LINE('',#85,#86); +#85 = CARTESIAN_POINT('',(178.605,-104.82,0.)); +#86 = VECTOR('',#87,1.); +#87 = DIRECTION('',(0.,0.,1.)); +#88 = ORIENTED_EDGE('',*,*,#89,.T.); +#89 = EDGE_CURVE('',#82,#42,#90,.T.); +#90 = LINE('',#91,#92); +#91 = CARTESIAN_POINT('',(178.605,-104.82,1.6)); +#92 = VECTOR('',#93,1.); +#93 = DIRECTION('',(0.,-1.,0.)); +#94 = ORIENTED_EDGE('',*,*,#39,.F.); +#95 = ORIENTED_EDGE('',*,*,#96,.F.); +#96 = EDGE_CURVE('',#80,#40,#97,.T.); +#97 = LINE('',#98,#99); +#98 = CARTESIAN_POINT('',(178.605,-104.82,0.)); +#99 = VECTOR('',#100,1.); +#100 = DIRECTION('',(0.,-1.,0.)); +#101 = PLANE('',#102); +#102 = AXIS2_PLACEMENT_3D('',#103,#104,#105); +#103 = CARTESIAN_POINT('',(178.605,-104.82,0.)); +#104 = DIRECTION('',(1.,0.,-0.)); +#105 = DIRECTION('',(0.,-1.,0.)); +#106 = ADVANCED_FACE('',(#107),#132,.T.); +#107 = FACE_BOUND('',#108,.T.); +#108 = EDGE_LOOP('',(#109,#110,#118,#126)); +#109 = ORIENTED_EDGE('',*,*,#57,.T.); +#110 = ORIENTED_EDGE('',*,*,#111,.T.); +#111 = EDGE_CURVE('',#50,#112,#114,.T.); +#112 = VERTEX_POINT('',#113); +#113 = CARTESIAN_POINT('',(99.475,-104.82,1.6)); +#114 = LINE('',#115,#116); +#115 = CARTESIAN_POINT('',(99.475,-143.23,1.6)); +#116 = VECTOR('',#117,1.); +#117 = DIRECTION('',(0.,1.,0.)); +#118 = ORIENTED_EDGE('',*,*,#119,.F.); +#119 = EDGE_CURVE('',#120,#112,#122,.T.); +#120 = VERTEX_POINT('',#121); +#121 = CARTESIAN_POINT('',(99.475,-104.82,0.)); +#122 = LINE('',#123,#124); +#123 = CARTESIAN_POINT('',(99.475,-104.82,0.)); +#124 = VECTOR('',#125,1.); +#125 = DIRECTION('',(0.,0.,1.)); +#126 = ORIENTED_EDGE('',*,*,#127,.F.); +#127 = EDGE_CURVE('',#58,#120,#128,.T.); +#128 = LINE('',#129,#130); +#129 = CARTESIAN_POINT('',(99.475,-143.23,0.)); +#130 = VECTOR('',#131,1.); +#131 = DIRECTION('',(0.,1.,0.)); +#132 = PLANE('',#133); +#133 = AXIS2_PLACEMENT_3D('',#134,#135,#136); +#134 = CARTESIAN_POINT('',(99.475,-143.23,0.)); +#135 = DIRECTION('',(-1.,0.,0.)); +#136 = DIRECTION('',(0.,1.,0.)); +#137 = ADVANCED_FACE('',(#138,#149,#160,#171,#182,#193,#204,#215,#226, + #237,#248,#259,#270,#281,#292,#303,#314,#325,#336,#347,#358,#369, + #380,#391,#402,#413,#424,#435,#446,#457,#468,#479,#490,#501,#512, + #523,#534,#545,#556,#567,#578,#589,#600,#611,#622,#633,#644),#655, + .F.); +#138 = FACE_BOUND('',#139,.F.); +#139 = EDGE_LOOP('',(#140,#141,#142,#148)); +#140 = ORIENTED_EDGE('',*,*,#65,.F.); +#141 = ORIENTED_EDGE('',*,*,#96,.F.); +#142 = ORIENTED_EDGE('',*,*,#143,.F.); +#143 = EDGE_CURVE('',#120,#80,#144,.T.); +#144 = LINE('',#145,#146); +#145 = CARTESIAN_POINT('',(99.475,-104.82,0.)); +#146 = VECTOR('',#147,1.); +#147 = DIRECTION('',(1.,0.,0.)); +#148 = ORIENTED_EDGE('',*,*,#127,.F.); +#149 = FACE_BOUND('',#150,.F.); +#150 = EDGE_LOOP('',(#151)); +#151 = ORIENTED_EDGE('',*,*,#152,.T.); +#152 = EDGE_CURVE('',#153,#153,#155,.T.); +#153 = VERTEX_POINT('',#154); +#154 = CARTESIAN_POINT('',(125.88875,-134.2,0.)); +#155 = CIRCLE('',#156,0.85); +#156 = AXIS2_PLACEMENT_3D('',#157,#158,#159); +#157 = CARTESIAN_POINT('',(125.88875,-133.35,0.)); +#158 = DIRECTION('',(-0.,0.,-1.)); +#159 = DIRECTION('',(1.671865260612E-14,-1.,-0.)); +#160 = FACE_BOUND('',#161,.F.); +#161 = EDGE_LOOP('',(#162)); +#162 = ORIENTED_EDGE('',*,*,#163,.T.); +#163 = EDGE_CURVE('',#164,#164,#166,.T.); +#164 = VERTEX_POINT('',#165); +#165 = CARTESIAN_POINT('',(130.96875,-135.35,0.)); +#166 = CIRCLE('',#167,2.); +#167 = AXIS2_PLACEMENT_3D('',#168,#169,#170); +#168 = CARTESIAN_POINT('',(130.96875,-133.35,0.)); +#169 = DIRECTION('',(-0.,0.,-1.)); +#170 = DIRECTION('',(-0.,-1.,0.)); +#171 = FACE_BOUND('',#172,.F.); +#172 = EDGE_LOOP('',(#173)); +#173 = ORIENTED_EDGE('',*,*,#174,.T.); +#174 = EDGE_CURVE('',#175,#175,#177,.T.); +#175 = VERTEX_POINT('',#176); +#176 = CARTESIAN_POINT('',(136.04875,-134.2,0.)); +#177 = CIRCLE('',#178,0.85); +#178 = AXIS2_PLACEMENT_3D('',#179,#180,#181); +#179 = CARTESIAN_POINT('',(136.04875,-133.35,0.)); +#180 = DIRECTION('',(-0.,0.,-1.)); +#181 = DIRECTION('',(3.343730521224E-14,-1.,-0.)); +#182 = FACE_BOUND('',#183,.F.); +#183 = EDGE_LOOP('',(#184)); +#184 = ORIENTED_EDGE('',*,*,#185,.T.); +#185 = EDGE_CURVE('',#186,#186,#188,.T.); +#186 = VERTEX_POINT('',#187); +#187 = CARTESIAN_POINT('',(127.15875,-131.56,0.)); +#188 = CIRCLE('',#189,0.75); +#189 = AXIS2_PLACEMENT_3D('',#190,#191,#192); +#190 = CARTESIAN_POINT('',(127.15875,-130.81,0.)); +#191 = DIRECTION('',(-0.,0.,-1.)); +#192 = DIRECTION('',(-0.,-1.,0.)); +#193 = FACE_BOUND('',#194,.F.); +#194 = EDGE_LOOP('',(#195)); +#195 = ORIENTED_EDGE('',*,*,#196,.T.); +#196 = EDGE_CURVE('',#197,#197,#199,.T.); +#197 = VERTEX_POINT('',#198); +#198 = CARTESIAN_POINT('',(101.9175,-123.4645,0.)); +#199 = CIRCLE('',#200,0.4445); +#200 = AXIS2_PLACEMENT_3D('',#201,#202,#203); +#201 = CARTESIAN_POINT('',(101.9175,-123.02,0.)); +#202 = DIRECTION('',(-0.,0.,-1.)); +#203 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#204 = FACE_BOUND('',#205,.F.); +#205 = EDGE_LOOP('',(#206)); +#206 = ORIENTED_EDGE('',*,*,#207,.T.); +#207 = EDGE_CURVE('',#208,#208,#210,.T.); +#208 = VERTEX_POINT('',#209); +#209 = CARTESIAN_POINT('',(117.1575,-123.4645,0.)); +#210 = CIRCLE('',#211,0.4445); +#211 = AXIS2_PLACEMENT_3D('',#212,#213,#214); +#212 = CARTESIAN_POINT('',(117.1575,-123.02,0.)); +#213 = DIRECTION('',(-0.,0.,-1.)); +#214 = DIRECTION('',(-0.,-1.,0.)); +#215 = FACE_BOUND('',#216,.F.); +#216 = EDGE_LOOP('',(#217)); +#217 = ORIENTED_EDGE('',*,*,#218,.T.); +#218 = EDGE_CURVE('',#219,#219,#221,.T.); +#219 = VERTEX_POINT('',#220); +#220 = CARTESIAN_POINT('',(133.50875,-129.02,0.)); +#221 = CIRCLE('',#222,0.75); +#222 = AXIS2_PLACEMENT_3D('',#223,#224,#225); +#223 = CARTESIAN_POINT('',(133.50875,-128.27,0.)); +#224 = DIRECTION('',(-0.,0.,-1.)); +#225 = DIRECTION('',(-0.,-1.,0.)); +#226 = FACE_BOUND('',#227,.F.); +#227 = EDGE_LOOP('',(#228)); +#228 = ORIENTED_EDGE('',*,*,#229,.T.); +#229 = EDGE_CURVE('',#230,#230,#232,.T.); +#230 = VERTEX_POINT('',#231); +#231 = CARTESIAN_POINT('',(144.93875,-134.2,0.)); +#232 = CIRCLE('',#233,0.85); +#233 = AXIS2_PLACEMENT_3D('',#234,#235,#236); +#234 = CARTESIAN_POINT('',(144.93875,-133.35,0.)); +#235 = DIRECTION('',(-0.,0.,-1.)); +#236 = DIRECTION('',(-0.,-1.,0.)); +#237 = FACE_BOUND('',#238,.F.); +#238 = EDGE_LOOP('',(#239)); +#239 = ORIENTED_EDGE('',*,*,#240,.T.); +#240 = EDGE_CURVE('',#241,#241,#243,.T.); +#241 = VERTEX_POINT('',#242); +#242 = CARTESIAN_POINT('',(150.01875,-135.35,0.)); +#243 = CIRCLE('',#244,2.); +#244 = AXIS2_PLACEMENT_3D('',#245,#246,#247); +#245 = CARTESIAN_POINT('',(150.01875,-133.35,0.)); +#246 = DIRECTION('',(-0.,0.,-1.)); +#247 = DIRECTION('',(-0.,-1.,0.)); +#248 = FACE_BOUND('',#249,.F.); +#249 = EDGE_LOOP('',(#250)); +#250 = ORIENTED_EDGE('',*,*,#251,.T.); +#251 = EDGE_CURVE('',#252,#252,#254,.T.); +#252 = VERTEX_POINT('',#253); +#253 = CARTESIAN_POINT('',(155.09875,-134.2,0.)); +#254 = CIRCLE('',#255,0.85); +#255 = AXIS2_PLACEMENT_3D('',#256,#257,#258); +#256 = CARTESIAN_POINT('',(155.09875,-133.35,0.)); +#257 = DIRECTION('',(-0.,0.,-1.)); +#258 = DIRECTION('',(-0.,-1.,0.)); +#259 = FACE_BOUND('',#260,.F.); +#260 = EDGE_LOOP('',(#261)); +#261 = ORIENTED_EDGE('',*,*,#262,.T.); +#262 = EDGE_CURVE('',#263,#263,#265,.T.); +#263 = VERTEX_POINT('',#264); +#264 = CARTESIAN_POINT('',(146.20875,-131.56,0.)); +#265 = CIRCLE('',#266,0.75); +#266 = AXIS2_PLACEMENT_3D('',#267,#268,#269); +#267 = CARTESIAN_POINT('',(146.20875,-130.81,0.)); +#268 = DIRECTION('',(-0.,0.,-1.)); +#269 = DIRECTION('',(-0.,-1.,0.)); +#270 = FACE_BOUND('',#271,.F.); +#271 = EDGE_LOOP('',(#272)); +#272 = ORIENTED_EDGE('',*,*,#273,.T.); +#273 = EDGE_CURVE('',#274,#274,#276,.T.); +#274 = VERTEX_POINT('',#275); +#275 = CARTESIAN_POINT('',(163.98875,-134.2,0.)); +#276 = CIRCLE('',#277,0.85); +#277 = AXIS2_PLACEMENT_3D('',#278,#279,#280); +#278 = CARTESIAN_POINT('',(163.98875,-133.35,0.)); +#279 = DIRECTION('',(-0.,0.,-1.)); +#280 = DIRECTION('',(3.343730521224E-14,-1.,-0.)); +#281 = FACE_BOUND('',#282,.F.); +#282 = EDGE_LOOP('',(#283)); +#283 = ORIENTED_EDGE('',*,*,#284,.T.); +#284 = EDGE_CURVE('',#285,#285,#287,.T.); +#285 = VERTEX_POINT('',#286); +#286 = CARTESIAN_POINT('',(169.06875,-135.35,0.)); +#287 = CIRCLE('',#288,2.); +#288 = AXIS2_PLACEMENT_3D('',#289,#290,#291); +#289 = CARTESIAN_POINT('',(169.06875,-133.35,0.)); +#290 = DIRECTION('',(-0.,0.,-1.)); +#291 = DIRECTION('',(-0.,-1.,0.)); +#292 = FACE_BOUND('',#293,.F.); +#293 = EDGE_LOOP('',(#294)); +#294 = ORIENTED_EDGE('',*,*,#295,.T.); +#295 = EDGE_CURVE('',#296,#296,#298,.T.); +#296 = VERTEX_POINT('',#297); +#297 = CARTESIAN_POINT('',(174.14875,-134.2,0.)); +#298 = CIRCLE('',#299,0.85); +#299 = AXIS2_PLACEMENT_3D('',#300,#301,#302); +#300 = CARTESIAN_POINT('',(174.14875,-133.35,0.)); +#301 = DIRECTION('',(-0.,0.,-1.)); +#302 = DIRECTION('',(-0.,-1.,0.)); +#303 = FACE_BOUND('',#304,.F.); +#304 = EDGE_LOOP('',(#305)); +#305 = ORIENTED_EDGE('',*,*,#306,.T.); +#306 = EDGE_CURVE('',#307,#307,#309,.T.); +#307 = VERTEX_POINT('',#308); +#308 = CARTESIAN_POINT('',(165.25875,-131.56,0.)); +#309 = CIRCLE('',#310,0.75); +#310 = AXIS2_PLACEMENT_3D('',#311,#312,#313); +#311 = CARTESIAN_POINT('',(165.25875,-130.81,0.)); +#312 = DIRECTION('',(-0.,0.,-1.)); +#313 = DIRECTION('',(-0.,-1.,0.)); +#314 = FACE_BOUND('',#315,.F.); +#315 = EDGE_LOOP('',(#316)); +#316 = ORIENTED_EDGE('',*,*,#317,.T.); +#317 = EDGE_CURVE('',#318,#318,#320,.T.); +#318 = VERTEX_POINT('',#319); +#319 = CARTESIAN_POINT('',(152.55875,-129.02,0.)); +#320 = CIRCLE('',#321,0.75); +#321 = AXIS2_PLACEMENT_3D('',#322,#323,#324); +#322 = CARTESIAN_POINT('',(152.55875,-128.27,0.)); +#323 = DIRECTION('',(-0.,0.,-1.)); +#324 = DIRECTION('',(-0.,-1.,0.)); +#325 = FACE_BOUND('',#326,.F.); +#326 = EDGE_LOOP('',(#327)); +#327 = ORIENTED_EDGE('',*,*,#328,.T.); +#328 = EDGE_CURVE('',#329,#329,#331,.T.); +#329 = VERTEX_POINT('',#330); +#330 = CARTESIAN_POINT('',(171.60875,-129.02,0.)); +#331 = CIRCLE('',#332,0.75); +#332 = AXIS2_PLACEMENT_3D('',#333,#334,#335); +#333 = CARTESIAN_POINT('',(171.60875,-128.27,0.)); +#334 = DIRECTION('',(-0.,0.,-1.)); +#335 = DIRECTION('',(-0.,-1.,0.)); +#336 = FACE_BOUND('',#337,.F.); +#337 = EDGE_LOOP('',(#338)); +#338 = ORIENTED_EDGE('',*,*,#339,.T.); +#339 = EDGE_CURVE('',#340,#340,#342,.T.); +#340 = VERTEX_POINT('',#341); +#341 = CARTESIAN_POINT('',(101.9175,-120.9245,0.)); +#342 = CIRCLE('',#343,0.4445); +#343 = AXIS2_PLACEMENT_3D('',#344,#345,#346); +#344 = CARTESIAN_POINT('',(101.9175,-120.48,0.)); +#345 = DIRECTION('',(-0.,0.,-1.)); +#346 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#347 = FACE_BOUND('',#348,.F.); +#348 = EDGE_LOOP('',(#349)); +#349 = ORIENTED_EDGE('',*,*,#350,.T.); +#350 = EDGE_CURVE('',#351,#351,#353,.T.); +#351 = VERTEX_POINT('',#352); +#352 = CARTESIAN_POINT('',(101.9175,-118.3845,0.)); +#353 = CIRCLE('',#354,0.4445); +#354 = AXIS2_PLACEMENT_3D('',#355,#356,#357); +#355 = CARTESIAN_POINT('',(101.9175,-117.94,0.)); +#356 = DIRECTION('',(-0.,0.,-1.)); +#357 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#358 = FACE_BOUND('',#359,.F.); +#359 = EDGE_LOOP('',(#360)); +#360 = ORIENTED_EDGE('',*,*,#361,.T.); +#361 = EDGE_CURVE('',#362,#362,#364,.T.); +#362 = VERTEX_POINT('',#363); +#363 = CARTESIAN_POINT('',(117.1575,-120.9245,0.)); +#364 = CIRCLE('',#365,0.4445); +#365 = AXIS2_PLACEMENT_3D('',#366,#367,#368); +#366 = CARTESIAN_POINT('',(117.1575,-120.48,0.)); +#367 = DIRECTION('',(-0.,0.,-1.)); +#368 = DIRECTION('',(-0.,-1.,0.)); +#369 = FACE_BOUND('',#370,.F.); +#370 = EDGE_LOOP('',(#371)); +#371 = ORIENTED_EDGE('',*,*,#372,.T.); +#372 = EDGE_CURVE('',#373,#373,#375,.T.); +#373 = VERTEX_POINT('',#374); +#374 = CARTESIAN_POINT('',(117.1575,-118.3845,0.)); +#375 = CIRCLE('',#376,0.4445); +#376 = AXIS2_PLACEMENT_3D('',#377,#378,#379); +#377 = CARTESIAN_POINT('',(117.1575,-117.94,0.)); +#378 = DIRECTION('',(-0.,0.,-1.)); +#379 = DIRECTION('',(-0.,-1.,0.)); +#380 = FACE_BOUND('',#381,.F.); +#381 = EDGE_LOOP('',(#382)); +#382 = ORIENTED_EDGE('',*,*,#383,.T.); +#383 = EDGE_CURVE('',#384,#384,#386,.T.); +#384 = VERTEX_POINT('',#385); +#385 = CARTESIAN_POINT('',(101.9175,-115.8445,0.)); +#386 = CIRCLE('',#387,0.4445); +#387 = AXIS2_PLACEMENT_3D('',#388,#389,#390); +#388 = CARTESIAN_POINT('',(101.9175,-115.4,0.)); +#389 = DIRECTION('',(-0.,0.,-1.)); +#390 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#391 = FACE_BOUND('',#392,.F.); +#392 = EDGE_LOOP('',(#393)); +#393 = ORIENTED_EDGE('',*,*,#394,.T.); +#394 = EDGE_CURVE('',#395,#395,#397,.T.); +#395 = VERTEX_POINT('',#396); +#396 = CARTESIAN_POINT('',(117.1575,-115.8445,0.)); +#397 = CIRCLE('',#398,0.4445); +#398 = AXIS2_PLACEMENT_3D('',#399,#400,#401); +#399 = CARTESIAN_POINT('',(117.1575,-115.4,0.)); +#400 = DIRECTION('',(-0.,0.,-1.)); +#401 = DIRECTION('',(-0.,-1.,0.)); +#402 = FACE_BOUND('',#403,.F.); +#403 = EDGE_LOOP('',(#404)); +#404 = ORIENTED_EDGE('',*,*,#405,.T.); +#405 = EDGE_CURVE('',#406,#406,#408,.T.); +#406 = VERTEX_POINT('',#407); +#407 = CARTESIAN_POINT('',(131.21875,-121.2,0.)); +#408 = CIRCLE('',#409,1.3); +#409 = AXIS2_PLACEMENT_3D('',#410,#411,#412); +#410 = CARTESIAN_POINT('',(131.21875,-119.9,0.)); +#411 = DIRECTION('',(-0.,0.,-1.)); +#412 = DIRECTION('',(-0.,-1.,0.)); +#413 = FACE_BOUND('',#414,.F.); +#414 = EDGE_LOOP('',(#415)); +#415 = ORIENTED_EDGE('',*,*,#416,.T.); +#416 = EDGE_CURVE('',#417,#417,#419,.T.); +#417 = VERTEX_POINT('',#418); +#418 = CARTESIAN_POINT('',(123.71875,-117.3,0.)); +#419 = CIRCLE('',#420,0.5); +#420 = AXIS2_PLACEMENT_3D('',#421,#422,#423); +#421 = CARTESIAN_POINT('',(123.71875,-116.8,0.)); +#422 = DIRECTION('',(-0.,0.,-1.)); +#423 = DIRECTION('',(-0.,-1.,0.)); +#424 = FACE_BOUND('',#425,.F.); +#425 = EDGE_LOOP('',(#426)); +#426 = ORIENTED_EDGE('',*,*,#427,.T.); +#427 = EDGE_CURVE('',#428,#428,#430,.T.); +#428 = VERTEX_POINT('',#429); +#429 = CARTESIAN_POINT('',(138.21875,-117.3,0.)); +#430 = CIRCLE('',#431,0.5); +#431 = AXIS2_PLACEMENT_3D('',#432,#433,#434); +#432 = CARTESIAN_POINT('',(138.21875,-116.8,0.)); +#433 = DIRECTION('',(-0.,0.,-1.)); +#434 = DIRECTION('',(-0.,-1.,0.)); +#435 = FACE_BOUND('',#436,.F.); +#436 = EDGE_LOOP('',(#437)); +#437 = ORIENTED_EDGE('',*,*,#438,.T.); +#438 = EDGE_CURVE('',#439,#439,#441,.T.); +#439 = VERTEX_POINT('',#440); +#440 = CARTESIAN_POINT('',(101.9175,-113.3045,0.)); +#441 = CIRCLE('',#442,0.4445); +#442 = AXIS2_PLACEMENT_3D('',#443,#444,#445); +#443 = CARTESIAN_POINT('',(101.9175,-112.86,0.)); +#444 = DIRECTION('',(-0.,0.,-1.)); +#445 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#446 = FACE_BOUND('',#447,.F.); +#447 = EDGE_LOOP('',(#448)); +#448 = ORIENTED_EDGE('',*,*,#449,.T.); +#449 = EDGE_CURVE('',#450,#450,#452,.T.); +#450 = VERTEX_POINT('',#451); +#451 = CARTESIAN_POINT('',(117.1575,-113.3045,0.)); +#452 = CIRCLE('',#453,0.4445); +#453 = AXIS2_PLACEMENT_3D('',#454,#455,#456); +#454 = CARTESIAN_POINT('',(117.1575,-112.86,0.)); +#455 = DIRECTION('',(-0.,0.,-1.)); +#456 = DIRECTION('',(-0.,-1.,0.)); +#457 = FACE_BOUND('',#458,.F.); +#458 = EDGE_LOOP('',(#459)); +#459 = ORIENTED_EDGE('',*,*,#460,.T.); +#460 = EDGE_CURVE('',#461,#461,#463,.T.); +#461 = VERTEX_POINT('',#462); +#462 = CARTESIAN_POINT('',(101.9175,-110.7645,0.)); +#463 = CIRCLE('',#464,0.4445); +#464 = AXIS2_PLACEMENT_3D('',#465,#466,#467); +#465 = CARTESIAN_POINT('',(101.9175,-110.32,0.)); +#466 = DIRECTION('',(-0.,0.,-1.)); +#467 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#468 = FACE_BOUND('',#469,.F.); +#469 = EDGE_LOOP('',(#470)); +#470 = ORIENTED_EDGE('',*,*,#471,.T.); +#471 = EDGE_CURVE('',#472,#472,#474,.T.); +#472 = VERTEX_POINT('',#473); +#473 = CARTESIAN_POINT('',(101.9175,-108.2245,0.)); +#474 = CIRCLE('',#475,0.4445); +#475 = AXIS2_PLACEMENT_3D('',#476,#477,#478); +#476 = CARTESIAN_POINT('',(101.9175,-107.78,0.)); +#477 = DIRECTION('',(-0.,0.,-1.)); +#478 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#479 = FACE_BOUND('',#480,.F.); +#480 = EDGE_LOOP('',(#481)); +#481 = ORIENTED_EDGE('',*,*,#482,.T.); +#482 = EDGE_CURVE('',#483,#483,#485,.T.); +#483 = VERTEX_POINT('',#484); +#484 = CARTESIAN_POINT('',(117.1575,-110.7645,0.)); +#485 = CIRCLE('',#486,0.4445); +#486 = AXIS2_PLACEMENT_3D('',#487,#488,#489); +#487 = CARTESIAN_POINT('',(117.1575,-110.32,0.)); +#488 = DIRECTION('',(-0.,0.,-1.)); +#489 = DIRECTION('',(-0.,-1.,0.)); +#490 = FACE_BOUND('',#491,.F.); +#491 = EDGE_LOOP('',(#492)); +#492 = ORIENTED_EDGE('',*,*,#493,.T.); +#493 = EDGE_CURVE('',#494,#494,#496,.T.); +#494 = VERTEX_POINT('',#495); +#495 = CARTESIAN_POINT('',(117.1575,-108.2245,0.)); +#496 = CIRCLE('',#497,0.4445); +#497 = AXIS2_PLACEMENT_3D('',#498,#499,#500); +#498 = CARTESIAN_POINT('',(117.1575,-107.78,0.)); +#499 = DIRECTION('',(-0.,0.,-1.)); +#500 = DIRECTION('',(-0.,-1.,0.)); +#501 = FACE_BOUND('',#502,.F.); +#502 = EDGE_LOOP('',(#503)); +#503 = ORIENTED_EDGE('',*,*,#504,.T.); +#504 = EDGE_CURVE('',#505,#505,#507,.T.); +#505 = VERTEX_POINT('',#506); +#506 = CARTESIAN_POINT('',(123.71875,-114.8,0.)); +#507 = CIRCLE('',#508,0.5); +#508 = AXIS2_PLACEMENT_3D('',#509,#510,#511); +#509 = CARTESIAN_POINT('',(123.71875,-114.3,0.)); +#510 = DIRECTION('',(-0.,0.,-1.)); +#511 = DIRECTION('',(-0.,-1.,0.)); +#512 = FACE_BOUND('',#513,.F.); +#513 = EDGE_LOOP('',(#514)); +#514 = ORIENTED_EDGE('',*,*,#515,.T.); +#515 = EDGE_CURVE('',#516,#516,#518,.T.); +#516 = VERTEX_POINT('',#517); +#517 = CARTESIAN_POINT('',(123.71875,-112.3,0.)); +#518 = CIRCLE('',#519,0.5); +#519 = AXIS2_PLACEMENT_3D('',#520,#521,#522); +#520 = CARTESIAN_POINT('',(123.71875,-111.8,0.)); +#521 = DIRECTION('',(-0.,0.,-1.)); +#522 = DIRECTION('',(-0.,-1.,0.)); +#523 = FACE_BOUND('',#524,.F.); +#524 = EDGE_LOOP('',(#525)); +#525 = ORIENTED_EDGE('',*,*,#526,.T.); +#526 = EDGE_CURVE('',#527,#527,#529,.T.); +#527 = VERTEX_POINT('',#528); +#528 = CARTESIAN_POINT('',(138.21875,-112.3,0.)); +#529 = CIRCLE('',#530,0.5); +#530 = AXIS2_PLACEMENT_3D('',#531,#532,#533); +#531 = CARTESIAN_POINT('',(138.21875,-111.8,0.)); +#532 = DIRECTION('',(-0.,0.,-1.)); +#533 = DIRECTION('',(-0.,-1.,0.)); +#534 = FACE_BOUND('',#535,.F.); +#535 = EDGE_LOOP('',(#536)); +#536 = ORIENTED_EDGE('',*,*,#537,.T.); +#537 = EDGE_CURVE('',#538,#538,#540,.T.); +#538 = VERTEX_POINT('',#539); +#539 = CARTESIAN_POINT('',(131.21875,-110.,0.)); +#540 = CIRCLE('',#541,1.3); +#541 = AXIS2_PLACEMENT_3D('',#542,#543,#544); +#542 = CARTESIAN_POINT('',(131.21875,-108.7,0.)); +#543 = DIRECTION('',(-0.,0.,-1.)); +#544 = DIRECTION('',(-0.,-1.,0.)); +#545 = FACE_BOUND('',#546,.F.); +#546 = EDGE_LOOP('',(#547)); +#547 = ORIENTED_EDGE('',*,*,#548,.T.); +#548 = EDGE_CURVE('',#549,#549,#551,.T.); +#549 = VERTEX_POINT('',#550); +#550 = CARTESIAN_POINT('',(144.93875,-115.15,0.)); +#551 = CIRCLE('',#552,0.85); +#552 = AXIS2_PLACEMENT_3D('',#553,#554,#555); +#553 = CARTESIAN_POINT('',(144.93875,-114.3,0.)); +#554 = DIRECTION('',(-0.,0.,-1.)); +#555 = DIRECTION('',(-0.,-1.,0.)); +#556 = FACE_BOUND('',#557,.F.); +#557 = EDGE_LOOP('',(#558)); +#558 = ORIENTED_EDGE('',*,*,#559,.T.); +#559 = EDGE_CURVE('',#560,#560,#562,.T.); +#560 = VERTEX_POINT('',#561); +#561 = CARTESIAN_POINT('',(146.20875,-112.51,0.)); +#562 = CIRCLE('',#563,0.75); +#563 = AXIS2_PLACEMENT_3D('',#564,#565,#566); +#564 = CARTESIAN_POINT('',(146.20875,-111.76,0.)); +#565 = DIRECTION('',(-0.,0.,-1.)); +#566 = DIRECTION('',(-0.,-1.,0.)); +#567 = FACE_BOUND('',#568,.F.); +#568 = EDGE_LOOP('',(#569)); +#569 = ORIENTED_EDGE('',*,*,#570,.T.); +#570 = EDGE_CURVE('',#571,#571,#573,.T.); +#571 = VERTEX_POINT('',#572); +#572 = CARTESIAN_POINT('',(150.01875,-116.3,0.)); +#573 = CIRCLE('',#574,2.); +#574 = AXIS2_PLACEMENT_3D('',#575,#576,#577); +#575 = CARTESIAN_POINT('',(150.01875,-114.3,0.)); +#576 = DIRECTION('',(-0.,0.,-1.)); +#577 = DIRECTION('',(-0.,-1.,0.)); +#578 = FACE_BOUND('',#579,.F.); +#579 = EDGE_LOOP('',(#580)); +#580 = ORIENTED_EDGE('',*,*,#581,.T.); +#581 = EDGE_CURVE('',#582,#582,#584,.T.); +#582 = VERTEX_POINT('',#583); +#583 = CARTESIAN_POINT('',(155.09875,-115.15,0.)); +#584 = CIRCLE('',#585,0.85); +#585 = AXIS2_PLACEMENT_3D('',#586,#587,#588); +#586 = CARTESIAN_POINT('',(155.09875,-114.3,0.)); +#587 = DIRECTION('',(-0.,0.,-1.)); +#588 = DIRECTION('',(-0.,-1.,0.)); +#589 = FACE_BOUND('',#590,.F.); +#590 = EDGE_LOOP('',(#591)); +#591 = ORIENTED_EDGE('',*,*,#592,.T.); +#592 = EDGE_CURVE('',#593,#593,#595,.T.); +#593 = VERTEX_POINT('',#594); +#594 = CARTESIAN_POINT('',(152.55875,-109.97,0.)); +#595 = CIRCLE('',#596,0.75); +#596 = AXIS2_PLACEMENT_3D('',#597,#598,#599); +#597 = CARTESIAN_POINT('',(152.55875,-109.22,0.)); +#598 = DIRECTION('',(-0.,0.,-1.)); +#599 = DIRECTION('',(-0.,-1.,0.)); +#600 = FACE_BOUND('',#601,.F.); +#601 = EDGE_LOOP('',(#602)); +#602 = ORIENTED_EDGE('',*,*,#603,.T.); +#603 = EDGE_CURVE('',#604,#604,#606,.T.); +#604 = VERTEX_POINT('',#605); +#605 = CARTESIAN_POINT('',(163.98875,-115.15,0.)); +#606 = CIRCLE('',#607,0.85); +#607 = AXIS2_PLACEMENT_3D('',#608,#609,#610); +#608 = CARTESIAN_POINT('',(163.98875,-114.3,0.)); +#609 = DIRECTION('',(-0.,0.,-1.)); +#610 = DIRECTION('',(3.343730521224E-14,-1.,-0.)); +#611 = FACE_BOUND('',#612,.F.); +#612 = EDGE_LOOP('',(#613)); +#613 = ORIENTED_EDGE('',*,*,#614,.T.); +#614 = EDGE_CURVE('',#615,#615,#617,.T.); +#615 = VERTEX_POINT('',#616); +#616 = CARTESIAN_POINT('',(165.25875,-112.51,0.)); +#617 = CIRCLE('',#618,0.75); +#618 = AXIS2_PLACEMENT_3D('',#619,#620,#621); +#619 = CARTESIAN_POINT('',(165.25875,-111.76,0.)); +#620 = DIRECTION('',(-0.,0.,-1.)); +#621 = DIRECTION('',(-0.,-1.,0.)); +#622 = FACE_BOUND('',#623,.F.); +#623 = EDGE_LOOP('',(#624)); +#624 = ORIENTED_EDGE('',*,*,#625,.T.); +#625 = EDGE_CURVE('',#626,#626,#628,.T.); +#626 = VERTEX_POINT('',#627); +#627 = CARTESIAN_POINT('',(169.06875,-116.3,0.)); +#628 = CIRCLE('',#629,2.); +#629 = AXIS2_PLACEMENT_3D('',#630,#631,#632); +#630 = CARTESIAN_POINT('',(169.06875,-114.3,0.)); +#631 = DIRECTION('',(-0.,0.,-1.)); +#632 = DIRECTION('',(-0.,-1.,0.)); +#633 = FACE_BOUND('',#634,.F.); +#634 = EDGE_LOOP('',(#635)); +#635 = ORIENTED_EDGE('',*,*,#636,.T.); +#636 = EDGE_CURVE('',#637,#637,#639,.T.); +#637 = VERTEX_POINT('',#638); +#638 = CARTESIAN_POINT('',(174.14875,-115.15,0.)); +#639 = CIRCLE('',#640,0.85); +#640 = AXIS2_PLACEMENT_3D('',#641,#642,#643); +#641 = CARTESIAN_POINT('',(174.14875,-114.3,0.)); +#642 = DIRECTION('',(-0.,0.,-1.)); +#643 = DIRECTION('',(-0.,-1.,0.)); +#644 = FACE_BOUND('',#645,.F.); +#645 = EDGE_LOOP('',(#646)); +#646 = ORIENTED_EDGE('',*,*,#647,.T.); +#647 = EDGE_CURVE('',#648,#648,#650,.T.); +#648 = VERTEX_POINT('',#649); +#649 = CARTESIAN_POINT('',(171.60875,-109.97,0.)); +#650 = CIRCLE('',#651,0.75); +#651 = AXIS2_PLACEMENT_3D('',#652,#653,#654); +#652 = CARTESIAN_POINT('',(171.60875,-109.22,0.)); +#653 = DIRECTION('',(-0.,0.,-1.)); +#654 = DIRECTION('',(-0.,-1.,0.)); +#655 = PLANE('',#656); +#656 = AXIS2_PLACEMENT_3D('',#657,#658,#659); +#657 = CARTESIAN_POINT('',(0.,0.,0.)); +#658 = DIRECTION('',(0.,0.,1.)); +#659 = DIRECTION('',(1.,0.,-0.)); +#660 = ADVANCED_FACE('',(#661,#672,#683,#694,#705,#716,#727,#738,#749, + #760,#771,#782,#793,#804,#815,#826,#837,#848,#859,#870,#881,#892, + #903,#914,#925,#936,#947,#958,#969,#980,#991,#1002,#1013,#1024,#1035 + ,#1046,#1057,#1068,#1079,#1090,#1101,#1112,#1123,#1134,#1145,#1156, + #1167),#1178,.T.); +#661 = FACE_BOUND('',#662,.T.); +#662 = EDGE_LOOP('',(#663,#664,#665,#671)); +#663 = ORIENTED_EDGE('',*,*,#49,.F.); +#664 = ORIENTED_EDGE('',*,*,#89,.F.); +#665 = ORIENTED_EDGE('',*,*,#666,.F.); +#666 = EDGE_CURVE('',#112,#82,#667,.T.); +#667 = LINE('',#668,#669); +#668 = CARTESIAN_POINT('',(99.475,-104.82,1.6)); +#669 = VECTOR('',#670,1.); +#670 = DIRECTION('',(1.,0.,0.)); +#671 = ORIENTED_EDGE('',*,*,#111,.F.); +#672 = FACE_BOUND('',#673,.T.); +#673 = EDGE_LOOP('',(#674)); +#674 = ORIENTED_EDGE('',*,*,#675,.T.); +#675 = EDGE_CURVE('',#676,#676,#678,.T.); +#676 = VERTEX_POINT('',#677); +#677 = CARTESIAN_POINT('',(125.88875,-134.2,1.6)); +#678 = CIRCLE('',#679,0.85); +#679 = AXIS2_PLACEMENT_3D('',#680,#681,#682); +#680 = CARTESIAN_POINT('',(125.88875,-133.35,1.6)); +#681 = DIRECTION('',(-0.,0.,-1.)); +#682 = DIRECTION('',(1.671865260612E-14,-1.,-0.)); +#683 = FACE_BOUND('',#684,.T.); +#684 = EDGE_LOOP('',(#685)); +#685 = ORIENTED_EDGE('',*,*,#686,.T.); +#686 = EDGE_CURVE('',#687,#687,#689,.T.); +#687 = VERTEX_POINT('',#688); +#688 = CARTESIAN_POINT('',(130.96875,-135.35,1.6)); +#689 = CIRCLE('',#690,2.); +#690 = AXIS2_PLACEMENT_3D('',#691,#692,#693); +#691 = CARTESIAN_POINT('',(130.96875,-133.35,1.6)); +#692 = DIRECTION('',(-0.,0.,-1.)); +#693 = DIRECTION('',(-0.,-1.,0.)); +#694 = FACE_BOUND('',#695,.T.); +#695 = EDGE_LOOP('',(#696)); +#696 = ORIENTED_EDGE('',*,*,#697,.T.); +#697 = EDGE_CURVE('',#698,#698,#700,.T.); +#698 = VERTEX_POINT('',#699); +#699 = CARTESIAN_POINT('',(136.04875,-134.2,1.6)); +#700 = CIRCLE('',#701,0.85); +#701 = AXIS2_PLACEMENT_3D('',#702,#703,#704); +#702 = CARTESIAN_POINT('',(136.04875,-133.35,1.6)); +#703 = DIRECTION('',(-0.,0.,-1.)); +#704 = DIRECTION('',(3.343730521224E-14,-1.,-0.)); +#705 = FACE_BOUND('',#706,.T.); +#706 = EDGE_LOOP('',(#707)); +#707 = ORIENTED_EDGE('',*,*,#708,.T.); +#708 = EDGE_CURVE('',#709,#709,#711,.T.); +#709 = VERTEX_POINT('',#710); +#710 = CARTESIAN_POINT('',(127.15875,-131.56,1.6)); +#711 = CIRCLE('',#712,0.75); +#712 = AXIS2_PLACEMENT_3D('',#713,#714,#715); +#713 = CARTESIAN_POINT('',(127.15875,-130.81,1.6)); +#714 = DIRECTION('',(-0.,0.,-1.)); +#715 = DIRECTION('',(-0.,-1.,0.)); +#716 = FACE_BOUND('',#717,.T.); +#717 = EDGE_LOOP('',(#718)); +#718 = ORIENTED_EDGE('',*,*,#719,.T.); +#719 = EDGE_CURVE('',#720,#720,#722,.T.); +#720 = VERTEX_POINT('',#721); +#721 = CARTESIAN_POINT('',(101.9175,-123.4645,1.6)); +#722 = CIRCLE('',#723,0.4445); +#723 = AXIS2_PLACEMENT_3D('',#724,#725,#726); +#724 = CARTESIAN_POINT('',(101.9175,-123.02,1.6)); +#725 = DIRECTION('',(-0.,0.,-1.)); +#726 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#727 = FACE_BOUND('',#728,.T.); +#728 = EDGE_LOOP('',(#729)); +#729 = ORIENTED_EDGE('',*,*,#730,.T.); +#730 = EDGE_CURVE('',#731,#731,#733,.T.); +#731 = VERTEX_POINT('',#732); +#732 = CARTESIAN_POINT('',(117.1575,-123.4645,1.6)); +#733 = CIRCLE('',#734,0.4445); +#734 = AXIS2_PLACEMENT_3D('',#735,#736,#737); +#735 = CARTESIAN_POINT('',(117.1575,-123.02,1.6)); +#736 = DIRECTION('',(-0.,0.,-1.)); +#737 = DIRECTION('',(-0.,-1.,0.)); +#738 = FACE_BOUND('',#739,.T.); +#739 = EDGE_LOOP('',(#740)); +#740 = ORIENTED_EDGE('',*,*,#741,.T.); +#741 = EDGE_CURVE('',#742,#742,#744,.T.); +#742 = VERTEX_POINT('',#743); +#743 = CARTESIAN_POINT('',(133.50875,-129.02,1.6)); +#744 = CIRCLE('',#745,0.75); +#745 = AXIS2_PLACEMENT_3D('',#746,#747,#748); +#746 = CARTESIAN_POINT('',(133.50875,-128.27,1.6)); +#747 = DIRECTION('',(-0.,0.,-1.)); +#748 = DIRECTION('',(-0.,-1.,0.)); +#749 = FACE_BOUND('',#750,.T.); +#750 = EDGE_LOOP('',(#751)); +#751 = ORIENTED_EDGE('',*,*,#752,.T.); +#752 = EDGE_CURVE('',#753,#753,#755,.T.); +#753 = VERTEX_POINT('',#754); +#754 = CARTESIAN_POINT('',(144.93875,-134.2,1.6)); +#755 = CIRCLE('',#756,0.85); +#756 = AXIS2_PLACEMENT_3D('',#757,#758,#759); +#757 = CARTESIAN_POINT('',(144.93875,-133.35,1.6)); +#758 = DIRECTION('',(-0.,0.,-1.)); +#759 = DIRECTION('',(-0.,-1.,0.)); +#760 = FACE_BOUND('',#761,.T.); +#761 = EDGE_LOOP('',(#762)); +#762 = ORIENTED_EDGE('',*,*,#763,.T.); +#763 = EDGE_CURVE('',#764,#764,#766,.T.); +#764 = VERTEX_POINT('',#765); +#765 = CARTESIAN_POINT('',(150.01875,-135.35,1.6)); +#766 = CIRCLE('',#767,2.); +#767 = AXIS2_PLACEMENT_3D('',#768,#769,#770); +#768 = CARTESIAN_POINT('',(150.01875,-133.35,1.6)); +#769 = DIRECTION('',(-0.,0.,-1.)); +#770 = DIRECTION('',(-0.,-1.,0.)); +#771 = FACE_BOUND('',#772,.T.); +#772 = EDGE_LOOP('',(#773)); +#773 = ORIENTED_EDGE('',*,*,#774,.T.); +#774 = EDGE_CURVE('',#775,#775,#777,.T.); +#775 = VERTEX_POINT('',#776); +#776 = CARTESIAN_POINT('',(155.09875,-134.2,1.6)); +#777 = CIRCLE('',#778,0.85); +#778 = AXIS2_PLACEMENT_3D('',#779,#780,#781); +#779 = CARTESIAN_POINT('',(155.09875,-133.35,1.6)); +#780 = DIRECTION('',(-0.,0.,-1.)); +#781 = DIRECTION('',(-0.,-1.,0.)); +#782 = FACE_BOUND('',#783,.T.); +#783 = EDGE_LOOP('',(#784)); +#784 = ORIENTED_EDGE('',*,*,#785,.T.); +#785 = EDGE_CURVE('',#786,#786,#788,.T.); +#786 = VERTEX_POINT('',#787); +#787 = CARTESIAN_POINT('',(146.20875,-131.56,1.6)); +#788 = CIRCLE('',#789,0.75); +#789 = AXIS2_PLACEMENT_3D('',#790,#791,#792); +#790 = CARTESIAN_POINT('',(146.20875,-130.81,1.6)); +#791 = DIRECTION('',(-0.,0.,-1.)); +#792 = DIRECTION('',(-0.,-1.,0.)); +#793 = FACE_BOUND('',#794,.T.); +#794 = EDGE_LOOP('',(#795)); +#795 = ORIENTED_EDGE('',*,*,#796,.T.); +#796 = EDGE_CURVE('',#797,#797,#799,.T.); +#797 = VERTEX_POINT('',#798); +#798 = CARTESIAN_POINT('',(163.98875,-134.2,1.6)); +#799 = CIRCLE('',#800,0.85); +#800 = AXIS2_PLACEMENT_3D('',#801,#802,#803); +#801 = CARTESIAN_POINT('',(163.98875,-133.35,1.6)); +#802 = DIRECTION('',(-0.,0.,-1.)); +#803 = DIRECTION('',(3.343730521224E-14,-1.,-0.)); +#804 = FACE_BOUND('',#805,.T.); +#805 = EDGE_LOOP('',(#806)); +#806 = ORIENTED_EDGE('',*,*,#807,.T.); +#807 = EDGE_CURVE('',#808,#808,#810,.T.); +#808 = VERTEX_POINT('',#809); +#809 = CARTESIAN_POINT('',(169.06875,-135.35,1.6)); +#810 = CIRCLE('',#811,2.); +#811 = AXIS2_PLACEMENT_3D('',#812,#813,#814); +#812 = CARTESIAN_POINT('',(169.06875,-133.35,1.6)); +#813 = DIRECTION('',(-0.,0.,-1.)); +#814 = DIRECTION('',(-0.,-1.,0.)); +#815 = FACE_BOUND('',#816,.T.); +#816 = EDGE_LOOP('',(#817)); +#817 = ORIENTED_EDGE('',*,*,#818,.T.); +#818 = EDGE_CURVE('',#819,#819,#821,.T.); +#819 = VERTEX_POINT('',#820); +#820 = CARTESIAN_POINT('',(174.14875,-134.2,1.6)); +#821 = CIRCLE('',#822,0.85); +#822 = AXIS2_PLACEMENT_3D('',#823,#824,#825); +#823 = CARTESIAN_POINT('',(174.14875,-133.35,1.6)); +#824 = DIRECTION('',(-0.,0.,-1.)); +#825 = DIRECTION('',(-0.,-1.,0.)); +#826 = FACE_BOUND('',#827,.T.); +#827 = EDGE_LOOP('',(#828)); +#828 = ORIENTED_EDGE('',*,*,#829,.T.); +#829 = EDGE_CURVE('',#830,#830,#832,.T.); +#830 = VERTEX_POINT('',#831); +#831 = CARTESIAN_POINT('',(165.25875,-131.56,1.6)); +#832 = CIRCLE('',#833,0.75); +#833 = AXIS2_PLACEMENT_3D('',#834,#835,#836); +#834 = CARTESIAN_POINT('',(165.25875,-130.81,1.6)); +#835 = DIRECTION('',(-0.,0.,-1.)); +#836 = DIRECTION('',(-0.,-1.,0.)); +#837 = FACE_BOUND('',#838,.T.); +#838 = EDGE_LOOP('',(#839)); +#839 = ORIENTED_EDGE('',*,*,#840,.T.); +#840 = EDGE_CURVE('',#841,#841,#843,.T.); +#841 = VERTEX_POINT('',#842); +#842 = CARTESIAN_POINT('',(152.55875,-129.02,1.6)); +#843 = CIRCLE('',#844,0.75); +#844 = AXIS2_PLACEMENT_3D('',#845,#846,#847); +#845 = CARTESIAN_POINT('',(152.55875,-128.27,1.6)); +#846 = DIRECTION('',(-0.,0.,-1.)); +#847 = DIRECTION('',(-0.,-1.,0.)); +#848 = FACE_BOUND('',#849,.T.); +#849 = EDGE_LOOP('',(#850)); +#850 = ORIENTED_EDGE('',*,*,#851,.T.); +#851 = EDGE_CURVE('',#852,#852,#854,.T.); +#852 = VERTEX_POINT('',#853); +#853 = CARTESIAN_POINT('',(171.60875,-129.02,1.6)); +#854 = CIRCLE('',#855,0.75); +#855 = AXIS2_PLACEMENT_3D('',#856,#857,#858); +#856 = CARTESIAN_POINT('',(171.60875,-128.27,1.6)); +#857 = DIRECTION('',(-0.,0.,-1.)); +#858 = DIRECTION('',(-0.,-1.,0.)); +#859 = FACE_BOUND('',#860,.T.); +#860 = EDGE_LOOP('',(#861)); +#861 = ORIENTED_EDGE('',*,*,#862,.T.); +#862 = EDGE_CURVE('',#863,#863,#865,.T.); +#863 = VERTEX_POINT('',#864); +#864 = CARTESIAN_POINT('',(101.9175,-120.9245,1.6)); +#865 = CIRCLE('',#866,0.4445); +#866 = AXIS2_PLACEMENT_3D('',#867,#868,#869); +#867 = CARTESIAN_POINT('',(101.9175,-120.48,1.6)); +#868 = DIRECTION('',(-0.,0.,-1.)); +#869 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#870 = FACE_BOUND('',#871,.T.); +#871 = EDGE_LOOP('',(#872)); +#872 = ORIENTED_EDGE('',*,*,#873,.T.); +#873 = EDGE_CURVE('',#874,#874,#876,.T.); +#874 = VERTEX_POINT('',#875); +#875 = CARTESIAN_POINT('',(101.9175,-118.3845,1.6)); +#876 = CIRCLE('',#877,0.4445); +#877 = AXIS2_PLACEMENT_3D('',#878,#879,#880); +#878 = CARTESIAN_POINT('',(101.9175,-117.94,1.6)); +#879 = DIRECTION('',(-0.,0.,-1.)); +#880 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#881 = FACE_BOUND('',#882,.T.); +#882 = EDGE_LOOP('',(#883)); +#883 = ORIENTED_EDGE('',*,*,#884,.T.); +#884 = EDGE_CURVE('',#885,#885,#887,.T.); +#885 = VERTEX_POINT('',#886); +#886 = CARTESIAN_POINT('',(117.1575,-120.9245,1.6)); +#887 = CIRCLE('',#888,0.4445); +#888 = AXIS2_PLACEMENT_3D('',#889,#890,#891); +#889 = CARTESIAN_POINT('',(117.1575,-120.48,1.6)); +#890 = DIRECTION('',(-0.,0.,-1.)); +#891 = DIRECTION('',(-0.,-1.,0.)); +#892 = FACE_BOUND('',#893,.T.); +#893 = EDGE_LOOP('',(#894)); +#894 = ORIENTED_EDGE('',*,*,#895,.T.); +#895 = EDGE_CURVE('',#896,#896,#898,.T.); +#896 = VERTEX_POINT('',#897); +#897 = CARTESIAN_POINT('',(117.1575,-118.3845,1.6)); +#898 = CIRCLE('',#899,0.4445); +#899 = AXIS2_PLACEMENT_3D('',#900,#901,#902); +#900 = CARTESIAN_POINT('',(117.1575,-117.94,1.6)); +#901 = DIRECTION('',(-0.,0.,-1.)); +#902 = DIRECTION('',(-0.,-1.,0.)); +#903 = FACE_BOUND('',#904,.T.); +#904 = EDGE_LOOP('',(#905)); +#905 = ORIENTED_EDGE('',*,*,#906,.T.); +#906 = EDGE_CURVE('',#907,#907,#909,.T.); +#907 = VERTEX_POINT('',#908); +#908 = CARTESIAN_POINT('',(101.9175,-115.8445,1.6)); +#909 = CIRCLE('',#910,0.4445); +#910 = AXIS2_PLACEMENT_3D('',#911,#912,#913); +#911 = CARTESIAN_POINT('',(101.9175,-115.4,1.6)); +#912 = DIRECTION('',(-0.,0.,-1.)); +#913 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#914 = FACE_BOUND('',#915,.T.); +#915 = EDGE_LOOP('',(#916)); +#916 = ORIENTED_EDGE('',*,*,#917,.T.); +#917 = EDGE_CURVE('',#918,#918,#920,.T.); +#918 = VERTEX_POINT('',#919); +#919 = CARTESIAN_POINT('',(117.1575,-115.8445,1.6)); +#920 = CIRCLE('',#921,0.4445); +#921 = AXIS2_PLACEMENT_3D('',#922,#923,#924); +#922 = CARTESIAN_POINT('',(117.1575,-115.4,1.6)); +#923 = DIRECTION('',(-0.,0.,-1.)); +#924 = DIRECTION('',(-0.,-1.,0.)); +#925 = FACE_BOUND('',#926,.T.); +#926 = EDGE_LOOP('',(#927)); +#927 = ORIENTED_EDGE('',*,*,#928,.T.); +#928 = EDGE_CURVE('',#929,#929,#931,.T.); +#929 = VERTEX_POINT('',#930); +#930 = CARTESIAN_POINT('',(131.21875,-121.2,1.6)); +#931 = CIRCLE('',#932,1.3); +#932 = AXIS2_PLACEMENT_3D('',#933,#934,#935); +#933 = CARTESIAN_POINT('',(131.21875,-119.9,1.6)); +#934 = DIRECTION('',(-0.,0.,-1.)); +#935 = DIRECTION('',(-0.,-1.,0.)); +#936 = FACE_BOUND('',#937,.T.); +#937 = EDGE_LOOP('',(#938)); +#938 = ORIENTED_EDGE('',*,*,#939,.T.); +#939 = EDGE_CURVE('',#940,#940,#942,.T.); +#940 = VERTEX_POINT('',#941); +#941 = CARTESIAN_POINT('',(123.71875,-117.3,1.6)); +#942 = CIRCLE('',#943,0.5); +#943 = AXIS2_PLACEMENT_3D('',#944,#945,#946); +#944 = CARTESIAN_POINT('',(123.71875,-116.8,1.6)); +#945 = DIRECTION('',(-0.,0.,-1.)); +#946 = DIRECTION('',(-0.,-1.,0.)); +#947 = FACE_BOUND('',#948,.T.); +#948 = EDGE_LOOP('',(#949)); +#949 = ORIENTED_EDGE('',*,*,#950,.T.); +#950 = EDGE_CURVE('',#951,#951,#953,.T.); +#951 = VERTEX_POINT('',#952); +#952 = CARTESIAN_POINT('',(138.21875,-117.3,1.6)); +#953 = CIRCLE('',#954,0.5); +#954 = AXIS2_PLACEMENT_3D('',#955,#956,#957); +#955 = CARTESIAN_POINT('',(138.21875,-116.8,1.6)); +#956 = DIRECTION('',(-0.,0.,-1.)); +#957 = DIRECTION('',(-0.,-1.,0.)); +#958 = FACE_BOUND('',#959,.T.); +#959 = EDGE_LOOP('',(#960)); +#960 = ORIENTED_EDGE('',*,*,#961,.T.); +#961 = EDGE_CURVE('',#962,#962,#964,.T.); +#962 = VERTEX_POINT('',#963); +#963 = CARTESIAN_POINT('',(101.9175,-113.3045,1.6)); +#964 = CIRCLE('',#965,0.4445); +#965 = AXIS2_PLACEMENT_3D('',#966,#967,#968); +#966 = CARTESIAN_POINT('',(101.9175,-112.86,1.6)); +#967 = DIRECTION('',(-0.,0.,-1.)); +#968 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#969 = FACE_BOUND('',#970,.T.); +#970 = EDGE_LOOP('',(#971)); +#971 = ORIENTED_EDGE('',*,*,#972,.T.); +#972 = EDGE_CURVE('',#973,#973,#975,.T.); +#973 = VERTEX_POINT('',#974); +#974 = CARTESIAN_POINT('',(117.1575,-113.3045,1.6)); +#975 = CIRCLE('',#976,0.4445); +#976 = AXIS2_PLACEMENT_3D('',#977,#978,#979); +#977 = CARTESIAN_POINT('',(117.1575,-112.86,1.6)); +#978 = DIRECTION('',(-0.,0.,-1.)); +#979 = DIRECTION('',(-0.,-1.,0.)); +#980 = FACE_BOUND('',#981,.T.); +#981 = EDGE_LOOP('',(#982)); +#982 = ORIENTED_EDGE('',*,*,#983,.T.); +#983 = EDGE_CURVE('',#984,#984,#986,.T.); +#984 = VERTEX_POINT('',#985); +#985 = CARTESIAN_POINT('',(101.9175,-110.7645,1.6)); +#986 = CIRCLE('',#987,0.4445); +#987 = AXIS2_PLACEMENT_3D('',#988,#989,#990); +#988 = CARTESIAN_POINT('',(101.9175,-110.32,1.6)); +#989 = DIRECTION('',(-0.,0.,-1.)); +#990 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#991 = FACE_BOUND('',#992,.T.); +#992 = EDGE_LOOP('',(#993)); +#993 = ORIENTED_EDGE('',*,*,#994,.T.); +#994 = EDGE_CURVE('',#995,#995,#997,.T.); +#995 = VERTEX_POINT('',#996); +#996 = CARTESIAN_POINT('',(101.9175,-108.2245,1.6)); +#997 = CIRCLE('',#998,0.4445); +#998 = AXIS2_PLACEMENT_3D('',#999,#1000,#1001); +#999 = CARTESIAN_POINT('',(101.9175,-107.78,1.6)); +#1000 = DIRECTION('',(-0.,0.,-1.)); +#1001 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#1002 = FACE_BOUND('',#1003,.T.); +#1003 = EDGE_LOOP('',(#1004)); +#1004 = ORIENTED_EDGE('',*,*,#1005,.T.); +#1005 = EDGE_CURVE('',#1006,#1006,#1008,.T.); +#1006 = VERTEX_POINT('',#1007); +#1007 = CARTESIAN_POINT('',(117.1575,-110.7645,1.6)); +#1008 = CIRCLE('',#1009,0.4445); +#1009 = AXIS2_PLACEMENT_3D('',#1010,#1011,#1012); +#1010 = CARTESIAN_POINT('',(117.1575,-110.32,1.6)); +#1011 = DIRECTION('',(-0.,0.,-1.)); +#1012 = DIRECTION('',(-0.,-1.,0.)); +#1013 = FACE_BOUND('',#1014,.T.); +#1014 = EDGE_LOOP('',(#1015)); +#1015 = ORIENTED_EDGE('',*,*,#1016,.T.); +#1016 = EDGE_CURVE('',#1017,#1017,#1019,.T.); +#1017 = VERTEX_POINT('',#1018); +#1018 = CARTESIAN_POINT('',(117.1575,-108.2245,1.6)); +#1019 = CIRCLE('',#1020,0.4445); +#1020 = AXIS2_PLACEMENT_3D('',#1021,#1022,#1023); +#1021 = CARTESIAN_POINT('',(117.1575,-107.78,1.6)); +#1022 = DIRECTION('',(-0.,0.,-1.)); +#1023 = DIRECTION('',(-0.,-1.,0.)); +#1024 = FACE_BOUND('',#1025,.T.); +#1025 = EDGE_LOOP('',(#1026)); +#1026 = ORIENTED_EDGE('',*,*,#1027,.T.); +#1027 = EDGE_CURVE('',#1028,#1028,#1030,.T.); +#1028 = VERTEX_POINT('',#1029); +#1029 = CARTESIAN_POINT('',(123.71875,-114.8,1.6)); +#1030 = CIRCLE('',#1031,0.5); +#1031 = AXIS2_PLACEMENT_3D('',#1032,#1033,#1034); +#1032 = CARTESIAN_POINT('',(123.71875,-114.3,1.6)); +#1033 = DIRECTION('',(-0.,0.,-1.)); +#1034 = DIRECTION('',(-0.,-1.,0.)); +#1035 = FACE_BOUND('',#1036,.T.); +#1036 = EDGE_LOOP('',(#1037)); +#1037 = ORIENTED_EDGE('',*,*,#1038,.T.); +#1038 = EDGE_CURVE('',#1039,#1039,#1041,.T.); +#1039 = VERTEX_POINT('',#1040); +#1040 = CARTESIAN_POINT('',(123.71875,-112.3,1.6)); +#1041 = CIRCLE('',#1042,0.5); +#1042 = AXIS2_PLACEMENT_3D('',#1043,#1044,#1045); +#1043 = CARTESIAN_POINT('',(123.71875,-111.8,1.6)); +#1044 = DIRECTION('',(-0.,0.,-1.)); +#1045 = DIRECTION('',(-0.,-1.,0.)); +#1046 = FACE_BOUND('',#1047,.T.); +#1047 = EDGE_LOOP('',(#1048)); +#1048 = ORIENTED_EDGE('',*,*,#1049,.T.); +#1049 = EDGE_CURVE('',#1050,#1050,#1052,.T.); +#1050 = VERTEX_POINT('',#1051); +#1051 = CARTESIAN_POINT('',(138.21875,-112.3,1.6)); +#1052 = CIRCLE('',#1053,0.5); +#1053 = AXIS2_PLACEMENT_3D('',#1054,#1055,#1056); +#1054 = CARTESIAN_POINT('',(138.21875,-111.8,1.6)); +#1055 = DIRECTION('',(-0.,0.,-1.)); +#1056 = DIRECTION('',(-0.,-1.,0.)); +#1057 = FACE_BOUND('',#1058,.T.); +#1058 = EDGE_LOOP('',(#1059)); +#1059 = ORIENTED_EDGE('',*,*,#1060,.T.); +#1060 = EDGE_CURVE('',#1061,#1061,#1063,.T.); +#1061 = VERTEX_POINT('',#1062); +#1062 = CARTESIAN_POINT('',(131.21875,-110.,1.6)); +#1063 = CIRCLE('',#1064,1.3); +#1064 = AXIS2_PLACEMENT_3D('',#1065,#1066,#1067); +#1065 = CARTESIAN_POINT('',(131.21875,-108.7,1.6)); +#1066 = DIRECTION('',(-0.,0.,-1.)); +#1067 = DIRECTION('',(-0.,-1.,0.)); +#1068 = FACE_BOUND('',#1069,.T.); +#1069 = EDGE_LOOP('',(#1070)); +#1070 = ORIENTED_EDGE('',*,*,#1071,.T.); +#1071 = EDGE_CURVE('',#1072,#1072,#1074,.T.); +#1072 = VERTEX_POINT('',#1073); +#1073 = CARTESIAN_POINT('',(144.93875,-115.15,1.6)); +#1074 = CIRCLE('',#1075,0.85); +#1075 = AXIS2_PLACEMENT_3D('',#1076,#1077,#1078); +#1076 = CARTESIAN_POINT('',(144.93875,-114.3,1.6)); +#1077 = DIRECTION('',(-0.,0.,-1.)); +#1078 = DIRECTION('',(-0.,-1.,0.)); +#1079 = FACE_BOUND('',#1080,.T.); +#1080 = EDGE_LOOP('',(#1081)); +#1081 = ORIENTED_EDGE('',*,*,#1082,.T.); +#1082 = EDGE_CURVE('',#1083,#1083,#1085,.T.); +#1083 = VERTEX_POINT('',#1084); +#1084 = CARTESIAN_POINT('',(146.20875,-112.51,1.6)); +#1085 = CIRCLE('',#1086,0.75); +#1086 = AXIS2_PLACEMENT_3D('',#1087,#1088,#1089); +#1087 = CARTESIAN_POINT('',(146.20875,-111.76,1.6)); +#1088 = DIRECTION('',(-0.,0.,-1.)); +#1089 = DIRECTION('',(-0.,-1.,0.)); +#1090 = FACE_BOUND('',#1091,.T.); +#1091 = EDGE_LOOP('',(#1092)); +#1092 = ORIENTED_EDGE('',*,*,#1093,.T.); +#1093 = EDGE_CURVE('',#1094,#1094,#1096,.T.); +#1094 = VERTEX_POINT('',#1095); +#1095 = CARTESIAN_POINT('',(150.01875,-116.3,1.6)); +#1096 = CIRCLE('',#1097,2.); +#1097 = AXIS2_PLACEMENT_3D('',#1098,#1099,#1100); +#1098 = CARTESIAN_POINT('',(150.01875,-114.3,1.6)); +#1099 = DIRECTION('',(-0.,0.,-1.)); +#1100 = DIRECTION('',(-0.,-1.,0.)); +#1101 = FACE_BOUND('',#1102,.T.); +#1102 = EDGE_LOOP('',(#1103)); +#1103 = ORIENTED_EDGE('',*,*,#1104,.T.); +#1104 = EDGE_CURVE('',#1105,#1105,#1107,.T.); +#1105 = VERTEX_POINT('',#1106); +#1106 = CARTESIAN_POINT('',(155.09875,-115.15,1.6)); +#1107 = CIRCLE('',#1108,0.85); +#1108 = AXIS2_PLACEMENT_3D('',#1109,#1110,#1111); +#1109 = CARTESIAN_POINT('',(155.09875,-114.3,1.6)); +#1110 = DIRECTION('',(-0.,0.,-1.)); +#1111 = DIRECTION('',(-0.,-1.,0.)); +#1112 = FACE_BOUND('',#1113,.T.); +#1113 = EDGE_LOOP('',(#1114)); +#1114 = ORIENTED_EDGE('',*,*,#1115,.T.); +#1115 = EDGE_CURVE('',#1116,#1116,#1118,.T.); +#1116 = VERTEX_POINT('',#1117); +#1117 = CARTESIAN_POINT('',(152.55875,-109.97,1.6)); +#1118 = CIRCLE('',#1119,0.75); +#1119 = AXIS2_PLACEMENT_3D('',#1120,#1121,#1122); +#1120 = CARTESIAN_POINT('',(152.55875,-109.22,1.6)); +#1121 = DIRECTION('',(-0.,0.,-1.)); +#1122 = DIRECTION('',(-0.,-1.,0.)); +#1123 = FACE_BOUND('',#1124,.T.); +#1124 = EDGE_LOOP('',(#1125)); +#1125 = ORIENTED_EDGE('',*,*,#1126,.T.); +#1126 = EDGE_CURVE('',#1127,#1127,#1129,.T.); +#1127 = VERTEX_POINT('',#1128); +#1128 = CARTESIAN_POINT('',(163.98875,-115.15,1.6)); +#1129 = CIRCLE('',#1130,0.85); +#1130 = AXIS2_PLACEMENT_3D('',#1131,#1132,#1133); +#1131 = CARTESIAN_POINT('',(163.98875,-114.3,1.6)); +#1132 = DIRECTION('',(-0.,0.,-1.)); +#1133 = DIRECTION('',(3.343730521224E-14,-1.,-0.)); +#1134 = FACE_BOUND('',#1135,.T.); +#1135 = EDGE_LOOP('',(#1136)); +#1136 = ORIENTED_EDGE('',*,*,#1137,.T.); +#1137 = EDGE_CURVE('',#1138,#1138,#1140,.T.); +#1138 = VERTEX_POINT('',#1139); +#1139 = CARTESIAN_POINT('',(165.25875,-112.51,1.6)); +#1140 = CIRCLE('',#1141,0.75); +#1141 = AXIS2_PLACEMENT_3D('',#1142,#1143,#1144); +#1142 = CARTESIAN_POINT('',(165.25875,-111.76,1.6)); +#1143 = DIRECTION('',(-0.,0.,-1.)); +#1144 = DIRECTION('',(-0.,-1.,0.)); +#1145 = FACE_BOUND('',#1146,.T.); +#1146 = EDGE_LOOP('',(#1147)); +#1147 = ORIENTED_EDGE('',*,*,#1148,.T.); +#1148 = EDGE_CURVE('',#1149,#1149,#1151,.T.); +#1149 = VERTEX_POINT('',#1150); +#1150 = CARTESIAN_POINT('',(169.06875,-116.3,1.6)); +#1151 = CIRCLE('',#1152,2.); +#1152 = AXIS2_PLACEMENT_3D('',#1153,#1154,#1155); +#1153 = CARTESIAN_POINT('',(169.06875,-114.3,1.6)); +#1154 = DIRECTION('',(-0.,0.,-1.)); +#1155 = DIRECTION('',(-0.,-1.,0.)); +#1156 = FACE_BOUND('',#1157,.T.); +#1157 = EDGE_LOOP('',(#1158)); +#1158 = ORIENTED_EDGE('',*,*,#1159,.T.); +#1159 = EDGE_CURVE('',#1160,#1160,#1162,.T.); +#1160 = VERTEX_POINT('',#1161); +#1161 = CARTESIAN_POINT('',(174.14875,-115.15,1.6)); +#1162 = CIRCLE('',#1163,0.85); +#1163 = AXIS2_PLACEMENT_3D('',#1164,#1165,#1166); +#1164 = CARTESIAN_POINT('',(174.14875,-114.3,1.6)); +#1165 = DIRECTION('',(-0.,0.,-1.)); +#1166 = DIRECTION('',(-0.,-1.,0.)); +#1167 = FACE_BOUND('',#1168,.T.); +#1168 = EDGE_LOOP('',(#1169)); +#1169 = ORIENTED_EDGE('',*,*,#1170,.T.); +#1170 = EDGE_CURVE('',#1171,#1171,#1173,.T.); +#1171 = VERTEX_POINT('',#1172); +#1172 = CARTESIAN_POINT('',(171.60875,-109.97,1.6)); +#1173 = CIRCLE('',#1174,0.75); +#1174 = AXIS2_PLACEMENT_3D('',#1175,#1176,#1177); +#1175 = CARTESIAN_POINT('',(171.60875,-109.22,1.6)); +#1176 = DIRECTION('',(-0.,0.,-1.)); +#1177 = DIRECTION('',(-0.,-1.,0.)); +#1178 = PLANE('',#1179); +#1179 = AXIS2_PLACEMENT_3D('',#1180,#1181,#1182); +#1180 = CARTESIAN_POINT('',(0.,0.,1.6)); +#1181 = DIRECTION('',(0.,0.,1.)); +#1182 = DIRECTION('',(1.,0.,-0.)); +#1183 = ADVANCED_FACE('',(#1184),#1190,.T.); +#1184 = FACE_BOUND('',#1185,.T.); +#1185 = EDGE_LOOP('',(#1186,#1187,#1188,#1189)); +#1186 = ORIENTED_EDGE('',*,*,#119,.T.); +#1187 = ORIENTED_EDGE('',*,*,#666,.T.); +#1188 = ORIENTED_EDGE('',*,*,#79,.F.); +#1189 = ORIENTED_EDGE('',*,*,#143,.F.); +#1190 = PLANE('',#1191); +#1191 = AXIS2_PLACEMENT_3D('',#1192,#1193,#1194); +#1192 = CARTESIAN_POINT('',(99.475,-104.82,0.)); +#1193 = DIRECTION('',(0.,1.,0.)); +#1194 = DIRECTION('',(1.,0.,0.)); +#1195 = ADVANCED_FACE('',(#1196),#1207,.F.); +#1196 = FACE_BOUND('',#1197,.T.); +#1197 = EDGE_LOOP('',(#1198,#1199,#1205,#1206)); +#1198 = ORIENTED_EDGE('',*,*,#152,.T.); +#1199 = ORIENTED_EDGE('',*,*,#1200,.T.); +#1200 = EDGE_CURVE('',#153,#676,#1201,.T.); +#1201 = LINE('',#1202,#1203); +#1202 = CARTESIAN_POINT('',(125.88875,-134.2,-4.5E-02)); +#1203 = VECTOR('',#1204,1.); +#1204 = DIRECTION('',(0.,0.,1.)); +#1205 = ORIENTED_EDGE('',*,*,#675,.F.); +#1206 = ORIENTED_EDGE('',*,*,#1200,.F.); +#1207 = CYLINDRICAL_SURFACE('',#1208,0.85); +#1208 = AXIS2_PLACEMENT_3D('',#1209,#1210,#1211); +#1209 = CARTESIAN_POINT('',(125.88875,-133.35,-4.5E-02)); +#1210 = DIRECTION('',(-0.,0.,-1.)); +#1211 = DIRECTION('',(1.671865260612E-14,-1.,-0.)); +#1212 = ADVANCED_FACE('',(#1213),#1224,.F.); +#1213 = FACE_BOUND('',#1214,.T.); +#1214 = EDGE_LOOP('',(#1215,#1216,#1222,#1223)); +#1215 = ORIENTED_EDGE('',*,*,#163,.T.); +#1216 = ORIENTED_EDGE('',*,*,#1217,.T.); +#1217 = EDGE_CURVE('',#164,#687,#1218,.T.); +#1218 = LINE('',#1219,#1220); +#1219 = CARTESIAN_POINT('',(130.96875,-135.35,-4.5E-02)); +#1220 = VECTOR('',#1221,1.); +#1221 = DIRECTION('',(0.,0.,1.)); +#1222 = ORIENTED_EDGE('',*,*,#686,.F.); +#1223 = ORIENTED_EDGE('',*,*,#1217,.F.); +#1224 = CYLINDRICAL_SURFACE('',#1225,2.); +#1225 = AXIS2_PLACEMENT_3D('',#1226,#1227,#1228); +#1226 = CARTESIAN_POINT('',(130.96875,-133.35,-4.5E-02)); +#1227 = DIRECTION('',(-0.,-0.,-1.)); +#1228 = DIRECTION('',(-0.,-1.,0.)); +#1229 = ADVANCED_FACE('',(#1230),#1241,.F.); +#1230 = FACE_BOUND('',#1231,.T.); +#1231 = EDGE_LOOP('',(#1232,#1233,#1239,#1240)); +#1232 = ORIENTED_EDGE('',*,*,#174,.T.); +#1233 = ORIENTED_EDGE('',*,*,#1234,.T.); +#1234 = EDGE_CURVE('',#175,#698,#1235,.T.); +#1235 = LINE('',#1236,#1237); +#1236 = CARTESIAN_POINT('',(136.04875,-134.2,-4.5E-02)); +#1237 = VECTOR('',#1238,1.); +#1238 = DIRECTION('',(0.,0.,1.)); +#1239 = ORIENTED_EDGE('',*,*,#697,.F.); +#1240 = ORIENTED_EDGE('',*,*,#1234,.F.); +#1241 = CYLINDRICAL_SURFACE('',#1242,0.85); +#1242 = AXIS2_PLACEMENT_3D('',#1243,#1244,#1245); +#1243 = CARTESIAN_POINT('',(136.04875,-133.35,-4.5E-02)); +#1244 = DIRECTION('',(-0.,0.,-1.)); +#1245 = DIRECTION('',(3.343730521224E-14,-1.,-0.)); +#1246 = ADVANCED_FACE('',(#1247),#1258,.F.); +#1247 = FACE_BOUND('',#1248,.T.); +#1248 = EDGE_LOOP('',(#1249,#1250,#1256,#1257)); +#1249 = ORIENTED_EDGE('',*,*,#185,.T.); +#1250 = ORIENTED_EDGE('',*,*,#1251,.T.); +#1251 = EDGE_CURVE('',#186,#709,#1252,.T.); +#1252 = LINE('',#1253,#1254); +#1253 = CARTESIAN_POINT('',(127.15875,-131.56,-4.5E-02)); +#1254 = VECTOR('',#1255,1.); +#1255 = DIRECTION('',(0.,0.,1.)); +#1256 = ORIENTED_EDGE('',*,*,#708,.F.); +#1257 = ORIENTED_EDGE('',*,*,#1251,.F.); +#1258 = CYLINDRICAL_SURFACE('',#1259,0.75); +#1259 = AXIS2_PLACEMENT_3D('',#1260,#1261,#1262); +#1260 = CARTESIAN_POINT('',(127.15875,-130.81,-4.5E-02)); +#1261 = DIRECTION('',(-0.,-0.,-1.)); +#1262 = DIRECTION('',(-0.,-1.,0.)); +#1263 = ADVANCED_FACE('',(#1264),#1275,.F.); +#1264 = FACE_BOUND('',#1265,.T.); +#1265 = EDGE_LOOP('',(#1266,#1267,#1273,#1274)); +#1266 = ORIENTED_EDGE('',*,*,#196,.T.); +#1267 = ORIENTED_EDGE('',*,*,#1268,.T.); +#1268 = EDGE_CURVE('',#197,#720,#1269,.T.); +#1269 = LINE('',#1270,#1271); +#1270 = CARTESIAN_POINT('',(101.9175,-123.4645,-4.5E-02)); +#1271 = VECTOR('',#1272,1.); +#1272 = DIRECTION('',(0.,0.,1.)); +#1273 = ORIENTED_EDGE('',*,*,#719,.F.); +#1274 = ORIENTED_EDGE('',*,*,#1268,.F.); +#1275 = CYLINDRICAL_SURFACE('',#1276,0.4445); +#1276 = AXIS2_PLACEMENT_3D('',#1277,#1278,#1279); +#1277 = CARTESIAN_POINT('',(101.9175,-123.02,-4.5E-02)); +#1278 = DIRECTION('',(-0.,0.,-1.)); +#1279 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#1280 = ADVANCED_FACE('',(#1281),#1292,.F.); +#1281 = FACE_BOUND('',#1282,.T.); +#1282 = EDGE_LOOP('',(#1283,#1284,#1290,#1291)); +#1283 = ORIENTED_EDGE('',*,*,#207,.T.); +#1284 = ORIENTED_EDGE('',*,*,#1285,.T.); +#1285 = EDGE_CURVE('',#208,#731,#1286,.T.); +#1286 = LINE('',#1287,#1288); +#1287 = CARTESIAN_POINT('',(117.1575,-123.4645,-4.5E-02)); +#1288 = VECTOR('',#1289,1.); +#1289 = DIRECTION('',(0.,0.,1.)); +#1290 = ORIENTED_EDGE('',*,*,#730,.F.); +#1291 = ORIENTED_EDGE('',*,*,#1285,.F.); +#1292 = CYLINDRICAL_SURFACE('',#1293,0.4445); +#1293 = AXIS2_PLACEMENT_3D('',#1294,#1295,#1296); +#1294 = CARTESIAN_POINT('',(117.1575,-123.02,-4.5E-02)); +#1295 = DIRECTION('',(-0.,-0.,-1.)); +#1296 = DIRECTION('',(-0.,-1.,0.)); +#1297 = ADVANCED_FACE('',(#1298),#1309,.F.); +#1298 = FACE_BOUND('',#1299,.T.); +#1299 = EDGE_LOOP('',(#1300,#1301,#1307,#1308)); +#1300 = ORIENTED_EDGE('',*,*,#218,.T.); +#1301 = ORIENTED_EDGE('',*,*,#1302,.T.); +#1302 = EDGE_CURVE('',#219,#742,#1303,.T.); +#1303 = LINE('',#1304,#1305); +#1304 = CARTESIAN_POINT('',(133.50875,-129.02,-4.5E-02)); +#1305 = VECTOR('',#1306,1.); +#1306 = DIRECTION('',(0.,0.,1.)); +#1307 = ORIENTED_EDGE('',*,*,#741,.F.); +#1308 = ORIENTED_EDGE('',*,*,#1302,.F.); +#1309 = CYLINDRICAL_SURFACE('',#1310,0.75); +#1310 = AXIS2_PLACEMENT_3D('',#1311,#1312,#1313); +#1311 = CARTESIAN_POINT('',(133.50875,-128.27,-4.5E-02)); +#1312 = DIRECTION('',(-0.,-0.,-1.)); +#1313 = DIRECTION('',(-0.,-1.,0.)); +#1314 = ADVANCED_FACE('',(#1315),#1326,.F.); +#1315 = FACE_BOUND('',#1316,.T.); +#1316 = EDGE_LOOP('',(#1317,#1318,#1324,#1325)); +#1317 = ORIENTED_EDGE('',*,*,#229,.T.); +#1318 = ORIENTED_EDGE('',*,*,#1319,.T.); +#1319 = EDGE_CURVE('',#230,#753,#1320,.T.); +#1320 = LINE('',#1321,#1322); +#1321 = CARTESIAN_POINT('',(144.93875,-134.2,-4.5E-02)); +#1322 = VECTOR('',#1323,1.); +#1323 = DIRECTION('',(0.,0.,1.)); +#1324 = ORIENTED_EDGE('',*,*,#752,.F.); +#1325 = ORIENTED_EDGE('',*,*,#1319,.F.); +#1326 = CYLINDRICAL_SURFACE('',#1327,0.85); +#1327 = AXIS2_PLACEMENT_3D('',#1328,#1329,#1330); +#1328 = CARTESIAN_POINT('',(144.93875,-133.35,-4.5E-02)); +#1329 = DIRECTION('',(-0.,-0.,-1.)); +#1330 = DIRECTION('',(-0.,-1.,0.)); +#1331 = ADVANCED_FACE('',(#1332),#1343,.F.); +#1332 = FACE_BOUND('',#1333,.T.); +#1333 = EDGE_LOOP('',(#1334,#1335,#1341,#1342)); +#1334 = ORIENTED_EDGE('',*,*,#240,.T.); +#1335 = ORIENTED_EDGE('',*,*,#1336,.T.); +#1336 = EDGE_CURVE('',#241,#764,#1337,.T.); +#1337 = LINE('',#1338,#1339); +#1338 = CARTESIAN_POINT('',(150.01875,-135.35,-4.5E-02)); +#1339 = VECTOR('',#1340,1.); +#1340 = DIRECTION('',(0.,0.,1.)); +#1341 = ORIENTED_EDGE('',*,*,#763,.F.); +#1342 = ORIENTED_EDGE('',*,*,#1336,.F.); +#1343 = CYLINDRICAL_SURFACE('',#1344,2.); +#1344 = AXIS2_PLACEMENT_3D('',#1345,#1346,#1347); +#1345 = CARTESIAN_POINT('',(150.01875,-133.35,-4.5E-02)); +#1346 = DIRECTION('',(-0.,-0.,-1.)); +#1347 = DIRECTION('',(-0.,-1.,0.)); +#1348 = ADVANCED_FACE('',(#1349),#1360,.F.); +#1349 = FACE_BOUND('',#1350,.T.); +#1350 = EDGE_LOOP('',(#1351,#1352,#1358,#1359)); +#1351 = ORIENTED_EDGE('',*,*,#251,.T.); +#1352 = ORIENTED_EDGE('',*,*,#1353,.T.); +#1353 = EDGE_CURVE('',#252,#775,#1354,.T.); +#1354 = LINE('',#1355,#1356); +#1355 = CARTESIAN_POINT('',(155.09875,-134.2,-4.5E-02)); +#1356 = VECTOR('',#1357,1.); +#1357 = DIRECTION('',(0.,0.,1.)); +#1358 = ORIENTED_EDGE('',*,*,#774,.F.); +#1359 = ORIENTED_EDGE('',*,*,#1353,.F.); +#1360 = CYLINDRICAL_SURFACE('',#1361,0.85); +#1361 = AXIS2_PLACEMENT_3D('',#1362,#1363,#1364); +#1362 = CARTESIAN_POINT('',(155.09875,-133.35,-4.5E-02)); +#1363 = DIRECTION('',(-0.,-0.,-1.)); +#1364 = DIRECTION('',(-0.,-1.,0.)); +#1365 = ADVANCED_FACE('',(#1366),#1377,.F.); +#1366 = FACE_BOUND('',#1367,.T.); +#1367 = EDGE_LOOP('',(#1368,#1369,#1375,#1376)); +#1368 = ORIENTED_EDGE('',*,*,#262,.T.); +#1369 = ORIENTED_EDGE('',*,*,#1370,.T.); +#1370 = EDGE_CURVE('',#263,#786,#1371,.T.); +#1371 = LINE('',#1372,#1373); +#1372 = CARTESIAN_POINT('',(146.20875,-131.56,-4.5E-02)); +#1373 = VECTOR('',#1374,1.); +#1374 = DIRECTION('',(0.,0.,1.)); +#1375 = ORIENTED_EDGE('',*,*,#785,.F.); +#1376 = ORIENTED_EDGE('',*,*,#1370,.F.); +#1377 = CYLINDRICAL_SURFACE('',#1378,0.75); +#1378 = AXIS2_PLACEMENT_3D('',#1379,#1380,#1381); +#1379 = CARTESIAN_POINT('',(146.20875,-130.81,-4.5E-02)); +#1380 = DIRECTION('',(-0.,-0.,-1.)); +#1381 = DIRECTION('',(-0.,-1.,0.)); +#1382 = ADVANCED_FACE('',(#1383),#1394,.F.); +#1383 = FACE_BOUND('',#1384,.T.); +#1384 = EDGE_LOOP('',(#1385,#1386,#1392,#1393)); +#1385 = ORIENTED_EDGE('',*,*,#273,.T.); +#1386 = ORIENTED_EDGE('',*,*,#1387,.T.); +#1387 = EDGE_CURVE('',#274,#797,#1388,.T.); +#1388 = LINE('',#1389,#1390); +#1389 = CARTESIAN_POINT('',(163.98875,-134.2,-4.5E-02)); +#1390 = VECTOR('',#1391,1.); +#1391 = DIRECTION('',(0.,0.,1.)); +#1392 = ORIENTED_EDGE('',*,*,#796,.F.); +#1393 = ORIENTED_EDGE('',*,*,#1387,.F.); +#1394 = CYLINDRICAL_SURFACE('',#1395,0.85); +#1395 = AXIS2_PLACEMENT_3D('',#1396,#1397,#1398); +#1396 = CARTESIAN_POINT('',(163.98875,-133.35,-4.5E-02)); +#1397 = DIRECTION('',(-0.,0.,-1.)); +#1398 = DIRECTION('',(3.343730521224E-14,-1.,-0.)); +#1399 = ADVANCED_FACE('',(#1400),#1411,.F.); +#1400 = FACE_BOUND('',#1401,.T.); +#1401 = EDGE_LOOP('',(#1402,#1403,#1409,#1410)); +#1402 = ORIENTED_EDGE('',*,*,#284,.T.); +#1403 = ORIENTED_EDGE('',*,*,#1404,.T.); +#1404 = EDGE_CURVE('',#285,#808,#1405,.T.); +#1405 = LINE('',#1406,#1407); +#1406 = CARTESIAN_POINT('',(169.06875,-135.35,-4.5E-02)); +#1407 = VECTOR('',#1408,1.); +#1408 = DIRECTION('',(0.,0.,1.)); +#1409 = ORIENTED_EDGE('',*,*,#807,.F.); +#1410 = ORIENTED_EDGE('',*,*,#1404,.F.); +#1411 = CYLINDRICAL_SURFACE('',#1412,2.); +#1412 = AXIS2_PLACEMENT_3D('',#1413,#1414,#1415); +#1413 = CARTESIAN_POINT('',(169.06875,-133.35,-4.5E-02)); +#1414 = DIRECTION('',(-0.,-0.,-1.)); +#1415 = DIRECTION('',(-0.,-1.,0.)); +#1416 = ADVANCED_FACE('',(#1417),#1428,.F.); +#1417 = FACE_BOUND('',#1418,.T.); +#1418 = EDGE_LOOP('',(#1419,#1420,#1426,#1427)); +#1419 = ORIENTED_EDGE('',*,*,#295,.T.); +#1420 = ORIENTED_EDGE('',*,*,#1421,.T.); +#1421 = EDGE_CURVE('',#296,#819,#1422,.T.); +#1422 = LINE('',#1423,#1424); +#1423 = CARTESIAN_POINT('',(174.14875,-134.2,-4.5E-02)); +#1424 = VECTOR('',#1425,1.); +#1425 = DIRECTION('',(0.,0.,1.)); +#1426 = ORIENTED_EDGE('',*,*,#818,.F.); +#1427 = ORIENTED_EDGE('',*,*,#1421,.F.); +#1428 = CYLINDRICAL_SURFACE('',#1429,0.85); +#1429 = AXIS2_PLACEMENT_3D('',#1430,#1431,#1432); +#1430 = CARTESIAN_POINT('',(174.14875,-133.35,-4.5E-02)); +#1431 = DIRECTION('',(-0.,-0.,-1.)); +#1432 = DIRECTION('',(-0.,-1.,0.)); +#1433 = ADVANCED_FACE('',(#1434),#1445,.F.); +#1434 = FACE_BOUND('',#1435,.T.); +#1435 = EDGE_LOOP('',(#1436,#1437,#1443,#1444)); +#1436 = ORIENTED_EDGE('',*,*,#306,.T.); +#1437 = ORIENTED_EDGE('',*,*,#1438,.T.); +#1438 = EDGE_CURVE('',#307,#830,#1439,.T.); +#1439 = LINE('',#1440,#1441); +#1440 = CARTESIAN_POINT('',(165.25875,-131.56,-4.5E-02)); +#1441 = VECTOR('',#1442,1.); +#1442 = DIRECTION('',(0.,0.,1.)); +#1443 = ORIENTED_EDGE('',*,*,#829,.F.); +#1444 = ORIENTED_EDGE('',*,*,#1438,.F.); +#1445 = CYLINDRICAL_SURFACE('',#1446,0.75); +#1446 = AXIS2_PLACEMENT_3D('',#1447,#1448,#1449); +#1447 = CARTESIAN_POINT('',(165.25875,-130.81,-4.5E-02)); +#1448 = DIRECTION('',(-0.,-0.,-1.)); +#1449 = DIRECTION('',(-0.,-1.,0.)); +#1450 = ADVANCED_FACE('',(#1451),#1462,.F.); +#1451 = FACE_BOUND('',#1452,.T.); +#1452 = EDGE_LOOP('',(#1453,#1454,#1460,#1461)); +#1453 = ORIENTED_EDGE('',*,*,#317,.T.); +#1454 = ORIENTED_EDGE('',*,*,#1455,.T.); +#1455 = EDGE_CURVE('',#318,#841,#1456,.T.); +#1456 = LINE('',#1457,#1458); +#1457 = CARTESIAN_POINT('',(152.55875,-129.02,-4.5E-02)); +#1458 = VECTOR('',#1459,1.); +#1459 = DIRECTION('',(0.,0.,1.)); +#1460 = ORIENTED_EDGE('',*,*,#840,.F.); +#1461 = ORIENTED_EDGE('',*,*,#1455,.F.); +#1462 = CYLINDRICAL_SURFACE('',#1463,0.75); +#1463 = AXIS2_PLACEMENT_3D('',#1464,#1465,#1466); +#1464 = CARTESIAN_POINT('',(152.55875,-128.27,-4.5E-02)); +#1465 = DIRECTION('',(-0.,-0.,-1.)); +#1466 = DIRECTION('',(-0.,-1.,0.)); +#1467 = ADVANCED_FACE('',(#1468),#1479,.F.); +#1468 = FACE_BOUND('',#1469,.T.); +#1469 = EDGE_LOOP('',(#1470,#1471,#1477,#1478)); +#1470 = ORIENTED_EDGE('',*,*,#328,.T.); +#1471 = ORIENTED_EDGE('',*,*,#1472,.T.); +#1472 = EDGE_CURVE('',#329,#852,#1473,.T.); +#1473 = LINE('',#1474,#1475); +#1474 = CARTESIAN_POINT('',(171.60875,-129.02,-4.5E-02)); +#1475 = VECTOR('',#1476,1.); +#1476 = DIRECTION('',(0.,0.,1.)); +#1477 = ORIENTED_EDGE('',*,*,#851,.F.); +#1478 = ORIENTED_EDGE('',*,*,#1472,.F.); +#1479 = CYLINDRICAL_SURFACE('',#1480,0.75); +#1480 = AXIS2_PLACEMENT_3D('',#1481,#1482,#1483); +#1481 = CARTESIAN_POINT('',(171.60875,-128.27,-4.5E-02)); +#1482 = DIRECTION('',(-0.,-0.,-1.)); +#1483 = DIRECTION('',(-0.,-1.,0.)); +#1484 = ADVANCED_FACE('',(#1485),#1496,.F.); +#1485 = FACE_BOUND('',#1486,.T.); +#1486 = EDGE_LOOP('',(#1487,#1488,#1494,#1495)); +#1487 = ORIENTED_EDGE('',*,*,#339,.T.); +#1488 = ORIENTED_EDGE('',*,*,#1489,.T.); +#1489 = EDGE_CURVE('',#340,#863,#1490,.T.); +#1490 = LINE('',#1491,#1492); +#1491 = CARTESIAN_POINT('',(101.9175,-120.9245,-4.5E-02)); +#1492 = VECTOR('',#1493,1.); +#1493 = DIRECTION('',(0.,0.,1.)); +#1494 = ORIENTED_EDGE('',*,*,#862,.F.); +#1495 = ORIENTED_EDGE('',*,*,#1489,.F.); +#1496 = CYLINDRICAL_SURFACE('',#1497,0.4445); +#1497 = AXIS2_PLACEMENT_3D('',#1498,#1499,#1500); +#1498 = CARTESIAN_POINT('',(101.9175,-120.48,-4.5E-02)); +#1499 = DIRECTION('',(-0.,0.,-1.)); +#1500 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#1501 = ADVANCED_FACE('',(#1502),#1513,.F.); +#1502 = FACE_BOUND('',#1503,.T.); +#1503 = EDGE_LOOP('',(#1504,#1505,#1511,#1512)); +#1504 = ORIENTED_EDGE('',*,*,#350,.T.); +#1505 = ORIENTED_EDGE('',*,*,#1506,.T.); +#1506 = EDGE_CURVE('',#351,#874,#1507,.T.); +#1507 = LINE('',#1508,#1509); +#1508 = CARTESIAN_POINT('',(101.9175,-118.3845,-4.5E-02)); +#1509 = VECTOR('',#1510,1.); +#1510 = DIRECTION('',(0.,0.,1.)); +#1511 = ORIENTED_EDGE('',*,*,#873,.F.); +#1512 = ORIENTED_EDGE('',*,*,#1506,.F.); +#1513 = CYLINDRICAL_SURFACE('',#1514,0.4445); +#1514 = AXIS2_PLACEMENT_3D('',#1515,#1516,#1517); +#1515 = CARTESIAN_POINT('',(101.9175,-117.94,-4.5E-02)); +#1516 = DIRECTION('',(-0.,0.,-1.)); +#1517 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#1518 = ADVANCED_FACE('',(#1519),#1530,.F.); +#1519 = FACE_BOUND('',#1520,.T.); +#1520 = EDGE_LOOP('',(#1521,#1522,#1528,#1529)); +#1521 = ORIENTED_EDGE('',*,*,#361,.T.); +#1522 = ORIENTED_EDGE('',*,*,#1523,.T.); +#1523 = EDGE_CURVE('',#362,#885,#1524,.T.); +#1524 = LINE('',#1525,#1526); +#1525 = CARTESIAN_POINT('',(117.1575,-120.9245,-4.5E-02)); +#1526 = VECTOR('',#1527,1.); +#1527 = DIRECTION('',(0.,0.,1.)); +#1528 = ORIENTED_EDGE('',*,*,#884,.F.); +#1529 = ORIENTED_EDGE('',*,*,#1523,.F.); +#1530 = CYLINDRICAL_SURFACE('',#1531,0.4445); +#1531 = AXIS2_PLACEMENT_3D('',#1532,#1533,#1534); +#1532 = CARTESIAN_POINT('',(117.1575,-120.48,-4.5E-02)); +#1533 = DIRECTION('',(-0.,-0.,-1.)); +#1534 = DIRECTION('',(-0.,-1.,0.)); +#1535 = ADVANCED_FACE('',(#1536),#1547,.F.); +#1536 = FACE_BOUND('',#1537,.T.); +#1537 = EDGE_LOOP('',(#1538,#1539,#1545,#1546)); +#1538 = ORIENTED_EDGE('',*,*,#372,.T.); +#1539 = ORIENTED_EDGE('',*,*,#1540,.T.); +#1540 = EDGE_CURVE('',#373,#896,#1541,.T.); +#1541 = LINE('',#1542,#1543); +#1542 = CARTESIAN_POINT('',(117.1575,-118.3845,-4.5E-02)); +#1543 = VECTOR('',#1544,1.); +#1544 = DIRECTION('',(0.,0.,1.)); +#1545 = ORIENTED_EDGE('',*,*,#895,.F.); +#1546 = ORIENTED_EDGE('',*,*,#1540,.F.); +#1547 = CYLINDRICAL_SURFACE('',#1548,0.4445); +#1548 = AXIS2_PLACEMENT_3D('',#1549,#1550,#1551); +#1549 = CARTESIAN_POINT('',(117.1575,-117.94,-4.5E-02)); +#1550 = DIRECTION('',(-0.,-0.,-1.)); +#1551 = DIRECTION('',(-0.,-1.,0.)); +#1552 = ADVANCED_FACE('',(#1553),#1564,.F.); +#1553 = FACE_BOUND('',#1554,.T.); +#1554 = EDGE_LOOP('',(#1555,#1556,#1562,#1563)); +#1555 = ORIENTED_EDGE('',*,*,#383,.T.); +#1556 = ORIENTED_EDGE('',*,*,#1557,.T.); +#1557 = EDGE_CURVE('',#384,#907,#1558,.T.); +#1558 = LINE('',#1559,#1560); +#1559 = CARTESIAN_POINT('',(101.9175,-115.8445,-4.5E-02)); +#1560 = VECTOR('',#1561,1.); +#1561 = DIRECTION('',(0.,0.,1.)); +#1562 = ORIENTED_EDGE('',*,*,#906,.F.); +#1563 = ORIENTED_EDGE('',*,*,#1557,.F.); +#1564 = CYLINDRICAL_SURFACE('',#1565,0.4445); +#1565 = AXIS2_PLACEMENT_3D('',#1566,#1567,#1568); +#1566 = CARTESIAN_POINT('',(101.9175,-115.4,-4.5E-02)); +#1567 = DIRECTION('',(-0.,0.,-1.)); +#1568 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#1569 = ADVANCED_FACE('',(#1570),#1581,.F.); +#1570 = FACE_BOUND('',#1571,.T.); +#1571 = EDGE_LOOP('',(#1572,#1573,#1579,#1580)); +#1572 = ORIENTED_EDGE('',*,*,#394,.T.); +#1573 = ORIENTED_EDGE('',*,*,#1574,.T.); +#1574 = EDGE_CURVE('',#395,#918,#1575,.T.); +#1575 = LINE('',#1576,#1577); +#1576 = CARTESIAN_POINT('',(117.1575,-115.8445,-4.5E-02)); +#1577 = VECTOR('',#1578,1.); +#1578 = DIRECTION('',(0.,0.,1.)); +#1579 = ORIENTED_EDGE('',*,*,#917,.F.); +#1580 = ORIENTED_EDGE('',*,*,#1574,.F.); +#1581 = CYLINDRICAL_SURFACE('',#1582,0.4445); +#1582 = AXIS2_PLACEMENT_3D('',#1583,#1584,#1585); +#1583 = CARTESIAN_POINT('',(117.1575,-115.4,-4.5E-02)); +#1584 = DIRECTION('',(-0.,-0.,-1.)); +#1585 = DIRECTION('',(-0.,-1.,0.)); +#1586 = ADVANCED_FACE('',(#1587),#1598,.F.); +#1587 = FACE_BOUND('',#1588,.T.); +#1588 = EDGE_LOOP('',(#1589,#1590,#1596,#1597)); +#1589 = ORIENTED_EDGE('',*,*,#405,.T.); +#1590 = ORIENTED_EDGE('',*,*,#1591,.T.); +#1591 = EDGE_CURVE('',#406,#929,#1592,.T.); +#1592 = LINE('',#1593,#1594); +#1593 = CARTESIAN_POINT('',(131.21875,-121.2,-4.5E-02)); +#1594 = VECTOR('',#1595,1.); +#1595 = DIRECTION('',(0.,0.,1.)); +#1596 = ORIENTED_EDGE('',*,*,#928,.F.); +#1597 = ORIENTED_EDGE('',*,*,#1591,.F.); +#1598 = CYLINDRICAL_SURFACE('',#1599,1.3); +#1599 = AXIS2_PLACEMENT_3D('',#1600,#1601,#1602); +#1600 = CARTESIAN_POINT('',(131.21875,-119.9,-4.5E-02)); +#1601 = DIRECTION('',(-0.,-0.,-1.)); +#1602 = DIRECTION('',(-0.,-1.,0.)); +#1603 = ADVANCED_FACE('',(#1604),#1615,.F.); +#1604 = FACE_BOUND('',#1605,.T.); +#1605 = EDGE_LOOP('',(#1606,#1607,#1613,#1614)); +#1606 = ORIENTED_EDGE('',*,*,#416,.T.); +#1607 = ORIENTED_EDGE('',*,*,#1608,.T.); +#1608 = EDGE_CURVE('',#417,#940,#1609,.T.); +#1609 = LINE('',#1610,#1611); +#1610 = CARTESIAN_POINT('',(123.71875,-117.3,-4.5E-02)); +#1611 = VECTOR('',#1612,1.); +#1612 = DIRECTION('',(0.,0.,1.)); +#1613 = ORIENTED_EDGE('',*,*,#939,.F.); +#1614 = ORIENTED_EDGE('',*,*,#1608,.F.); +#1615 = CYLINDRICAL_SURFACE('',#1616,0.5); +#1616 = AXIS2_PLACEMENT_3D('',#1617,#1618,#1619); +#1617 = CARTESIAN_POINT('',(123.71875,-116.8,-4.5E-02)); +#1618 = DIRECTION('',(-0.,-0.,-1.)); +#1619 = DIRECTION('',(-0.,-1.,0.)); +#1620 = ADVANCED_FACE('',(#1621),#1632,.F.); +#1621 = FACE_BOUND('',#1622,.T.); +#1622 = EDGE_LOOP('',(#1623,#1624,#1630,#1631)); +#1623 = ORIENTED_EDGE('',*,*,#427,.T.); +#1624 = ORIENTED_EDGE('',*,*,#1625,.T.); +#1625 = EDGE_CURVE('',#428,#951,#1626,.T.); +#1626 = LINE('',#1627,#1628); +#1627 = CARTESIAN_POINT('',(138.21875,-117.3,-4.5E-02)); +#1628 = VECTOR('',#1629,1.); +#1629 = DIRECTION('',(0.,0.,1.)); +#1630 = ORIENTED_EDGE('',*,*,#950,.F.); +#1631 = ORIENTED_EDGE('',*,*,#1625,.F.); +#1632 = CYLINDRICAL_SURFACE('',#1633,0.5); +#1633 = AXIS2_PLACEMENT_3D('',#1634,#1635,#1636); +#1634 = CARTESIAN_POINT('',(138.21875,-116.8,-4.5E-02)); +#1635 = DIRECTION('',(-0.,-0.,-1.)); +#1636 = DIRECTION('',(-0.,-1.,0.)); +#1637 = ADVANCED_FACE('',(#1638),#1649,.F.); +#1638 = FACE_BOUND('',#1639,.T.); +#1639 = EDGE_LOOP('',(#1640,#1641,#1647,#1648)); +#1640 = ORIENTED_EDGE('',*,*,#438,.T.); +#1641 = ORIENTED_EDGE('',*,*,#1642,.T.); +#1642 = EDGE_CURVE('',#439,#962,#1643,.T.); +#1643 = LINE('',#1644,#1645); +#1644 = CARTESIAN_POINT('',(101.9175,-113.3045,-4.5E-02)); +#1645 = VECTOR('',#1646,1.); +#1646 = DIRECTION('',(0.,0.,1.)); +#1647 = ORIENTED_EDGE('',*,*,#961,.F.); +#1648 = ORIENTED_EDGE('',*,*,#1642,.F.); +#1649 = CYLINDRICAL_SURFACE('',#1650,0.4445); +#1650 = AXIS2_PLACEMENT_3D('',#1651,#1652,#1653); +#1651 = CARTESIAN_POINT('',(101.9175,-112.86,-4.5E-02)); +#1652 = DIRECTION('',(-0.,0.,-1.)); +#1653 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#1654 = ADVANCED_FACE('',(#1655),#1666,.F.); +#1655 = FACE_BOUND('',#1656,.T.); +#1656 = EDGE_LOOP('',(#1657,#1658,#1664,#1665)); +#1657 = ORIENTED_EDGE('',*,*,#449,.T.); +#1658 = ORIENTED_EDGE('',*,*,#1659,.T.); +#1659 = EDGE_CURVE('',#450,#973,#1660,.T.); +#1660 = LINE('',#1661,#1662); +#1661 = CARTESIAN_POINT('',(117.1575,-113.3045,-4.5E-02)); +#1662 = VECTOR('',#1663,1.); +#1663 = DIRECTION('',(0.,0.,1.)); +#1664 = ORIENTED_EDGE('',*,*,#972,.F.); +#1665 = ORIENTED_EDGE('',*,*,#1659,.F.); +#1666 = CYLINDRICAL_SURFACE('',#1667,0.4445); +#1667 = AXIS2_PLACEMENT_3D('',#1668,#1669,#1670); +#1668 = CARTESIAN_POINT('',(117.1575,-112.86,-4.5E-02)); +#1669 = DIRECTION('',(-0.,-0.,-1.)); +#1670 = DIRECTION('',(-0.,-1.,0.)); +#1671 = ADVANCED_FACE('',(#1672),#1683,.F.); +#1672 = FACE_BOUND('',#1673,.T.); +#1673 = EDGE_LOOP('',(#1674,#1675,#1681,#1682)); +#1674 = ORIENTED_EDGE('',*,*,#460,.T.); +#1675 = ORIENTED_EDGE('',*,*,#1676,.T.); +#1676 = EDGE_CURVE('',#461,#984,#1677,.T.); +#1677 = LINE('',#1678,#1679); +#1678 = CARTESIAN_POINT('',(101.9175,-110.7645,-4.5E-02)); +#1679 = VECTOR('',#1680,1.); +#1680 = DIRECTION('',(0.,0.,1.)); +#1681 = ORIENTED_EDGE('',*,*,#983,.F.); +#1682 = ORIENTED_EDGE('',*,*,#1676,.F.); +#1683 = CYLINDRICAL_SURFACE('',#1684,0.4445); +#1684 = AXIS2_PLACEMENT_3D('',#1685,#1686,#1687); +#1685 = CARTESIAN_POINT('',(101.9175,-110.32,-4.5E-02)); +#1686 = DIRECTION('',(-0.,0.,-1.)); +#1687 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#1688 = ADVANCED_FACE('',(#1689),#1700,.F.); +#1689 = FACE_BOUND('',#1690,.T.); +#1690 = EDGE_LOOP('',(#1691,#1692,#1698,#1699)); +#1691 = ORIENTED_EDGE('',*,*,#471,.T.); +#1692 = ORIENTED_EDGE('',*,*,#1693,.T.); +#1693 = EDGE_CURVE('',#472,#995,#1694,.T.); +#1694 = LINE('',#1695,#1696); +#1695 = CARTESIAN_POINT('',(101.9175,-108.2245,-4.5E-02)); +#1696 = VECTOR('',#1697,1.); +#1697 = DIRECTION('',(0.,0.,1.)); +#1698 = ORIENTED_EDGE('',*,*,#994,.F.); +#1699 = ORIENTED_EDGE('',*,*,#1693,.F.); +#1700 = CYLINDRICAL_SURFACE('',#1701,0.4445); +#1701 = AXIS2_PLACEMENT_3D('',#1702,#1703,#1704); +#1702 = CARTESIAN_POINT('',(101.9175,-107.78,-4.5E-02)); +#1703 = DIRECTION('',(-0.,0.,-1.)); +#1704 = DIRECTION('',(3.197042680585E-14,-1.,-0.)); +#1705 = ADVANCED_FACE('',(#1706),#1717,.F.); +#1706 = FACE_BOUND('',#1707,.T.); +#1707 = EDGE_LOOP('',(#1708,#1709,#1715,#1716)); +#1708 = ORIENTED_EDGE('',*,*,#482,.T.); +#1709 = ORIENTED_EDGE('',*,*,#1710,.T.); +#1710 = EDGE_CURVE('',#483,#1006,#1711,.T.); +#1711 = LINE('',#1712,#1713); +#1712 = CARTESIAN_POINT('',(117.1575,-110.7645,-4.5E-02)); +#1713 = VECTOR('',#1714,1.); +#1714 = DIRECTION('',(0.,0.,1.)); +#1715 = ORIENTED_EDGE('',*,*,#1005,.F.); +#1716 = ORIENTED_EDGE('',*,*,#1710,.F.); +#1717 = CYLINDRICAL_SURFACE('',#1718,0.4445); +#1718 = AXIS2_PLACEMENT_3D('',#1719,#1720,#1721); +#1719 = CARTESIAN_POINT('',(117.1575,-110.32,-4.5E-02)); +#1720 = DIRECTION('',(-0.,-0.,-1.)); +#1721 = DIRECTION('',(-0.,-1.,0.)); +#1722 = ADVANCED_FACE('',(#1723),#1734,.F.); +#1723 = FACE_BOUND('',#1724,.T.); +#1724 = EDGE_LOOP('',(#1725,#1726,#1732,#1733)); +#1725 = ORIENTED_EDGE('',*,*,#493,.T.); +#1726 = ORIENTED_EDGE('',*,*,#1727,.T.); +#1727 = EDGE_CURVE('',#494,#1017,#1728,.T.); +#1728 = LINE('',#1729,#1730); +#1729 = CARTESIAN_POINT('',(117.1575,-108.2245,-4.5E-02)); +#1730 = VECTOR('',#1731,1.); +#1731 = DIRECTION('',(0.,0.,1.)); +#1732 = ORIENTED_EDGE('',*,*,#1016,.F.); +#1733 = ORIENTED_EDGE('',*,*,#1727,.F.); +#1734 = CYLINDRICAL_SURFACE('',#1735,0.4445); +#1735 = AXIS2_PLACEMENT_3D('',#1736,#1737,#1738); +#1736 = CARTESIAN_POINT('',(117.1575,-107.78,-4.5E-02)); +#1737 = DIRECTION('',(-0.,-0.,-1.)); +#1738 = DIRECTION('',(-0.,-1.,0.)); +#1739 = ADVANCED_FACE('',(#1740),#1751,.F.); +#1740 = FACE_BOUND('',#1741,.T.); +#1741 = EDGE_LOOP('',(#1742,#1743,#1749,#1750)); +#1742 = ORIENTED_EDGE('',*,*,#504,.T.); +#1743 = ORIENTED_EDGE('',*,*,#1744,.T.); +#1744 = EDGE_CURVE('',#505,#1028,#1745,.T.); +#1745 = LINE('',#1746,#1747); +#1746 = CARTESIAN_POINT('',(123.71875,-114.8,-4.5E-02)); +#1747 = VECTOR('',#1748,1.); +#1748 = DIRECTION('',(0.,0.,1.)); +#1749 = ORIENTED_EDGE('',*,*,#1027,.F.); +#1750 = ORIENTED_EDGE('',*,*,#1744,.F.); +#1751 = CYLINDRICAL_SURFACE('',#1752,0.5); +#1752 = AXIS2_PLACEMENT_3D('',#1753,#1754,#1755); +#1753 = CARTESIAN_POINT('',(123.71875,-114.3,-4.5E-02)); +#1754 = DIRECTION('',(-0.,-0.,-1.)); +#1755 = DIRECTION('',(-0.,-1.,0.)); +#1756 = ADVANCED_FACE('',(#1757),#1768,.F.); +#1757 = FACE_BOUND('',#1758,.T.); +#1758 = EDGE_LOOP('',(#1759,#1760,#1766,#1767)); +#1759 = ORIENTED_EDGE('',*,*,#515,.T.); +#1760 = ORIENTED_EDGE('',*,*,#1761,.T.); +#1761 = EDGE_CURVE('',#516,#1039,#1762,.T.); +#1762 = LINE('',#1763,#1764); +#1763 = CARTESIAN_POINT('',(123.71875,-112.3,-4.5E-02)); +#1764 = VECTOR('',#1765,1.); +#1765 = DIRECTION('',(0.,0.,1.)); +#1766 = ORIENTED_EDGE('',*,*,#1038,.F.); +#1767 = ORIENTED_EDGE('',*,*,#1761,.F.); +#1768 = CYLINDRICAL_SURFACE('',#1769,0.5); +#1769 = AXIS2_PLACEMENT_3D('',#1770,#1771,#1772); +#1770 = CARTESIAN_POINT('',(123.71875,-111.8,-4.5E-02)); +#1771 = DIRECTION('',(-0.,-0.,-1.)); +#1772 = DIRECTION('',(-0.,-1.,0.)); +#1773 = ADVANCED_FACE('',(#1774),#1785,.F.); +#1774 = FACE_BOUND('',#1775,.T.); +#1775 = EDGE_LOOP('',(#1776,#1777,#1783,#1784)); +#1776 = ORIENTED_EDGE('',*,*,#526,.T.); +#1777 = ORIENTED_EDGE('',*,*,#1778,.T.); +#1778 = EDGE_CURVE('',#527,#1050,#1779,.T.); +#1779 = LINE('',#1780,#1781); +#1780 = CARTESIAN_POINT('',(138.21875,-112.3,-4.5E-02)); +#1781 = VECTOR('',#1782,1.); +#1782 = DIRECTION('',(0.,0.,1.)); +#1783 = ORIENTED_EDGE('',*,*,#1049,.F.); +#1784 = ORIENTED_EDGE('',*,*,#1778,.F.); +#1785 = CYLINDRICAL_SURFACE('',#1786,0.5); +#1786 = AXIS2_PLACEMENT_3D('',#1787,#1788,#1789); +#1787 = CARTESIAN_POINT('',(138.21875,-111.8,-4.5E-02)); +#1788 = DIRECTION('',(-0.,-0.,-1.)); +#1789 = DIRECTION('',(-0.,-1.,0.)); +#1790 = ADVANCED_FACE('',(#1791),#1802,.F.); +#1791 = FACE_BOUND('',#1792,.T.); +#1792 = EDGE_LOOP('',(#1793,#1794,#1800,#1801)); +#1793 = ORIENTED_EDGE('',*,*,#537,.T.); +#1794 = ORIENTED_EDGE('',*,*,#1795,.T.); +#1795 = EDGE_CURVE('',#538,#1061,#1796,.T.); +#1796 = LINE('',#1797,#1798); +#1797 = CARTESIAN_POINT('',(131.21875,-110.,-4.5E-02)); +#1798 = VECTOR('',#1799,1.); +#1799 = DIRECTION('',(0.,0.,1.)); +#1800 = ORIENTED_EDGE('',*,*,#1060,.F.); +#1801 = ORIENTED_EDGE('',*,*,#1795,.F.); +#1802 = CYLINDRICAL_SURFACE('',#1803,1.3); +#1803 = AXIS2_PLACEMENT_3D('',#1804,#1805,#1806); +#1804 = CARTESIAN_POINT('',(131.21875,-108.7,-4.5E-02)); +#1805 = DIRECTION('',(-0.,-0.,-1.)); +#1806 = DIRECTION('',(-0.,-1.,0.)); +#1807 = ADVANCED_FACE('',(#1808),#1819,.F.); +#1808 = FACE_BOUND('',#1809,.T.); +#1809 = EDGE_LOOP('',(#1810,#1811,#1817,#1818)); +#1810 = ORIENTED_EDGE('',*,*,#548,.T.); +#1811 = ORIENTED_EDGE('',*,*,#1812,.T.); +#1812 = EDGE_CURVE('',#549,#1072,#1813,.T.); +#1813 = LINE('',#1814,#1815); +#1814 = CARTESIAN_POINT('',(144.93875,-115.15,-4.5E-02)); +#1815 = VECTOR('',#1816,1.); +#1816 = DIRECTION('',(0.,0.,1.)); +#1817 = ORIENTED_EDGE('',*,*,#1071,.F.); +#1818 = ORIENTED_EDGE('',*,*,#1812,.F.); +#1819 = CYLINDRICAL_SURFACE('',#1820,0.85); +#1820 = AXIS2_PLACEMENT_3D('',#1821,#1822,#1823); +#1821 = CARTESIAN_POINT('',(144.93875,-114.3,-4.5E-02)); +#1822 = DIRECTION('',(-0.,-0.,-1.)); +#1823 = DIRECTION('',(-0.,-1.,0.)); +#1824 = ADVANCED_FACE('',(#1825),#1836,.F.); +#1825 = FACE_BOUND('',#1826,.T.); +#1826 = EDGE_LOOP('',(#1827,#1828,#1834,#1835)); +#1827 = ORIENTED_EDGE('',*,*,#559,.T.); +#1828 = ORIENTED_EDGE('',*,*,#1829,.T.); +#1829 = EDGE_CURVE('',#560,#1083,#1830,.T.); +#1830 = LINE('',#1831,#1832); +#1831 = CARTESIAN_POINT('',(146.20875,-112.51,-4.5E-02)); +#1832 = VECTOR('',#1833,1.); +#1833 = DIRECTION('',(0.,0.,1.)); +#1834 = ORIENTED_EDGE('',*,*,#1082,.F.); +#1835 = ORIENTED_EDGE('',*,*,#1829,.F.); +#1836 = CYLINDRICAL_SURFACE('',#1837,0.75); +#1837 = AXIS2_PLACEMENT_3D('',#1838,#1839,#1840); +#1838 = CARTESIAN_POINT('',(146.20875,-111.76,-4.5E-02)); +#1839 = DIRECTION('',(-0.,-0.,-1.)); +#1840 = DIRECTION('',(-0.,-1.,0.)); +#1841 = ADVANCED_FACE('',(#1842),#1853,.F.); +#1842 = FACE_BOUND('',#1843,.T.); +#1843 = EDGE_LOOP('',(#1844,#1845,#1851,#1852)); +#1844 = ORIENTED_EDGE('',*,*,#570,.T.); +#1845 = ORIENTED_EDGE('',*,*,#1846,.T.); +#1846 = EDGE_CURVE('',#571,#1094,#1847,.T.); +#1847 = LINE('',#1848,#1849); +#1848 = CARTESIAN_POINT('',(150.01875,-116.3,-4.5E-02)); +#1849 = VECTOR('',#1850,1.); +#1850 = DIRECTION('',(0.,0.,1.)); +#1851 = ORIENTED_EDGE('',*,*,#1093,.F.); +#1852 = ORIENTED_EDGE('',*,*,#1846,.F.); +#1853 = CYLINDRICAL_SURFACE('',#1854,2.); +#1854 = AXIS2_PLACEMENT_3D('',#1855,#1856,#1857); +#1855 = CARTESIAN_POINT('',(150.01875,-114.3,-4.5E-02)); +#1856 = DIRECTION('',(-0.,-0.,-1.)); +#1857 = DIRECTION('',(-0.,-1.,0.)); +#1858 = ADVANCED_FACE('',(#1859),#1870,.F.); +#1859 = FACE_BOUND('',#1860,.T.); +#1860 = EDGE_LOOP('',(#1861,#1862,#1868,#1869)); +#1861 = ORIENTED_EDGE('',*,*,#581,.T.); +#1862 = ORIENTED_EDGE('',*,*,#1863,.T.); +#1863 = EDGE_CURVE('',#582,#1105,#1864,.T.); +#1864 = LINE('',#1865,#1866); +#1865 = CARTESIAN_POINT('',(155.09875,-115.15,-4.5E-02)); +#1866 = VECTOR('',#1867,1.); +#1867 = DIRECTION('',(0.,0.,1.)); +#1868 = ORIENTED_EDGE('',*,*,#1104,.F.); +#1869 = ORIENTED_EDGE('',*,*,#1863,.F.); +#1870 = CYLINDRICAL_SURFACE('',#1871,0.85); +#1871 = AXIS2_PLACEMENT_3D('',#1872,#1873,#1874); +#1872 = CARTESIAN_POINT('',(155.09875,-114.3,-4.5E-02)); +#1873 = DIRECTION('',(-0.,-0.,-1.)); +#1874 = DIRECTION('',(-0.,-1.,0.)); +#1875 = ADVANCED_FACE('',(#1876),#1887,.F.); +#1876 = FACE_BOUND('',#1877,.T.); +#1877 = EDGE_LOOP('',(#1878,#1879,#1885,#1886)); +#1878 = ORIENTED_EDGE('',*,*,#592,.T.); +#1879 = ORIENTED_EDGE('',*,*,#1880,.T.); +#1880 = EDGE_CURVE('',#593,#1116,#1881,.T.); +#1881 = LINE('',#1882,#1883); +#1882 = CARTESIAN_POINT('',(152.55875,-109.97,-4.5E-02)); +#1883 = VECTOR('',#1884,1.); +#1884 = DIRECTION('',(0.,0.,1.)); +#1885 = ORIENTED_EDGE('',*,*,#1115,.F.); +#1886 = ORIENTED_EDGE('',*,*,#1880,.F.); +#1887 = CYLINDRICAL_SURFACE('',#1888,0.75); +#1888 = AXIS2_PLACEMENT_3D('',#1889,#1890,#1891); +#1889 = CARTESIAN_POINT('',(152.55875,-109.22,-4.5E-02)); +#1890 = DIRECTION('',(-0.,-0.,-1.)); +#1891 = DIRECTION('',(-0.,-1.,0.)); +#1892 = ADVANCED_FACE('',(#1893),#1904,.F.); +#1893 = FACE_BOUND('',#1894,.T.); +#1894 = EDGE_LOOP('',(#1895,#1896,#1902,#1903)); +#1895 = ORIENTED_EDGE('',*,*,#603,.T.); +#1896 = ORIENTED_EDGE('',*,*,#1897,.T.); +#1897 = EDGE_CURVE('',#604,#1127,#1898,.T.); +#1898 = LINE('',#1899,#1900); +#1899 = CARTESIAN_POINT('',(163.98875,-115.15,-4.5E-02)); +#1900 = VECTOR('',#1901,1.); +#1901 = DIRECTION('',(0.,0.,1.)); +#1902 = ORIENTED_EDGE('',*,*,#1126,.F.); +#1903 = ORIENTED_EDGE('',*,*,#1897,.F.); +#1904 = CYLINDRICAL_SURFACE('',#1905,0.85); +#1905 = AXIS2_PLACEMENT_3D('',#1906,#1907,#1908); +#1906 = CARTESIAN_POINT('',(163.98875,-114.3,-4.5E-02)); +#1907 = DIRECTION('',(-0.,0.,-1.)); +#1908 = DIRECTION('',(3.343730521224E-14,-1.,-0.)); +#1909 = ADVANCED_FACE('',(#1910),#1921,.F.); +#1910 = FACE_BOUND('',#1911,.T.); +#1911 = EDGE_LOOP('',(#1912,#1913,#1919,#1920)); +#1912 = ORIENTED_EDGE('',*,*,#614,.T.); +#1913 = ORIENTED_EDGE('',*,*,#1914,.T.); +#1914 = EDGE_CURVE('',#615,#1138,#1915,.T.); +#1915 = LINE('',#1916,#1917); +#1916 = CARTESIAN_POINT('',(165.25875,-112.51,-4.5E-02)); +#1917 = VECTOR('',#1918,1.); +#1918 = DIRECTION('',(0.,0.,1.)); +#1919 = ORIENTED_EDGE('',*,*,#1137,.F.); +#1920 = ORIENTED_EDGE('',*,*,#1914,.F.); +#1921 = CYLINDRICAL_SURFACE('',#1922,0.75); +#1922 = AXIS2_PLACEMENT_3D('',#1923,#1924,#1925); +#1923 = CARTESIAN_POINT('',(165.25875,-111.76,-4.5E-02)); +#1924 = DIRECTION('',(-0.,-0.,-1.)); +#1925 = DIRECTION('',(-0.,-1.,0.)); +#1926 = ADVANCED_FACE('',(#1927),#1938,.F.); +#1927 = FACE_BOUND('',#1928,.T.); +#1928 = EDGE_LOOP('',(#1929,#1930,#1936,#1937)); +#1929 = ORIENTED_EDGE('',*,*,#625,.T.); +#1930 = ORIENTED_EDGE('',*,*,#1931,.T.); +#1931 = EDGE_CURVE('',#626,#1149,#1932,.T.); +#1932 = LINE('',#1933,#1934); +#1933 = CARTESIAN_POINT('',(169.06875,-116.3,-4.5E-02)); +#1934 = VECTOR('',#1935,1.); +#1935 = DIRECTION('',(0.,0.,1.)); +#1936 = ORIENTED_EDGE('',*,*,#1148,.F.); +#1937 = ORIENTED_EDGE('',*,*,#1931,.F.); +#1938 = CYLINDRICAL_SURFACE('',#1939,2.); +#1939 = AXIS2_PLACEMENT_3D('',#1940,#1941,#1942); +#1940 = CARTESIAN_POINT('',(169.06875,-114.3,-4.5E-02)); +#1941 = DIRECTION('',(-0.,-0.,-1.)); +#1942 = DIRECTION('',(-0.,-1.,0.)); +#1943 = ADVANCED_FACE('',(#1944),#1955,.F.); +#1944 = FACE_BOUND('',#1945,.T.); +#1945 = EDGE_LOOP('',(#1946,#1947,#1953,#1954)); +#1946 = ORIENTED_EDGE('',*,*,#636,.T.); +#1947 = ORIENTED_EDGE('',*,*,#1948,.T.); +#1948 = EDGE_CURVE('',#637,#1160,#1949,.T.); +#1949 = LINE('',#1950,#1951); +#1950 = CARTESIAN_POINT('',(174.14875,-115.15,-4.5E-02)); +#1951 = VECTOR('',#1952,1.); +#1952 = DIRECTION('',(0.,0.,1.)); +#1953 = ORIENTED_EDGE('',*,*,#1159,.F.); +#1954 = ORIENTED_EDGE('',*,*,#1948,.F.); +#1955 = CYLINDRICAL_SURFACE('',#1956,0.85); +#1956 = AXIS2_PLACEMENT_3D('',#1957,#1958,#1959); +#1957 = CARTESIAN_POINT('',(174.14875,-114.3,-4.5E-02)); +#1958 = DIRECTION('',(-0.,-0.,-1.)); +#1959 = DIRECTION('',(-0.,-1.,0.)); +#1960 = ADVANCED_FACE('',(#1961),#1972,.F.); +#1961 = FACE_BOUND('',#1962,.T.); +#1962 = EDGE_LOOP('',(#1963,#1964,#1970,#1971)); +#1963 = ORIENTED_EDGE('',*,*,#647,.T.); +#1964 = ORIENTED_EDGE('',*,*,#1965,.T.); +#1965 = EDGE_CURVE('',#648,#1171,#1966,.T.); +#1966 = LINE('',#1967,#1968); +#1967 = CARTESIAN_POINT('',(171.60875,-109.97,-4.5E-02)); +#1968 = VECTOR('',#1969,1.); +#1969 = DIRECTION('',(0.,0.,1.)); +#1970 = ORIENTED_EDGE('',*,*,#1170,.F.); +#1971 = ORIENTED_EDGE('',*,*,#1965,.F.); +#1972 = CYLINDRICAL_SURFACE('',#1973,0.75); +#1973 = AXIS2_PLACEMENT_3D('',#1974,#1975,#1976); +#1974 = CARTESIAN_POINT('',(171.60875,-109.22,-4.5E-02)); +#1975 = DIRECTION('',(-0.,-0.,-1.)); +#1976 = DIRECTION('',(-0.,-1.,0.)); +#1977 = ( GEOMETRIC_REPRESENTATION_CONTEXT(3) +GLOBAL_UNCERTAINTY_ASSIGNED_CONTEXT((#1981)) +GLOBAL_UNIT_ASSIGNED_CONTEXT((#1978,#1979,#1980)) REPRESENTATION_CONTEXT +('Context #1','3D Context with UNIT and UNCERTAINTY') ); +#1978 = ( LENGTH_UNIT() NAMED_UNIT(*) SI_UNIT(.MILLI.,.METRE.) ); +#1979 = ( NAMED_UNIT(*) PLANE_ANGLE_UNIT() SI_UNIT($,.RADIAN.) ); +#1980 = ( NAMED_UNIT(*) SI_UNIT($,.STERADIAN.) SOLID_ANGLE_UNIT() ); +#1981 = UNCERTAINTY_MEASURE_WITH_UNIT(LENGTH_MEASURE(1.E-07),#1978, + 'distance_accuracy_value','confusion accuracy'); +#1982 = CONTEXT_DEPENDENT_SHAPE_REPRESENTATION(#1983,#1985); +#1983 = ( REPRESENTATION_RELATIONSHIP('','',#32,#10) +REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION(#1984) +SHAPE_REPRESENTATION_RELATIONSHIP() ); +#1984 = ITEM_DEFINED_TRANSFORMATION('','',#11,#15); +#1985 = PRODUCT_DEFINITION_SHAPE('Placement','Placement of an item', + #1986); +#1986 = NEXT_ASSEMBLY_USAGE_OCCURRENCE('1','=>[0:1:1:2]','',#5,#27,$); +#1987 = PRODUCT_RELATED_PRODUCT_CATEGORY('part',$,(#29)); +#1988 = MECHANICAL_DESIGN_GEOMETRIC_PRESENTATION_REPRESENTATION('',( + #1989),#1977); +#1989 = STYLED_ITEM('color',(#1990),#33); +#1990 = PRESENTATION_STYLE_ASSIGNMENT((#1991)); +#1991 = SURFACE_STYLE_USAGE(.BOTH.,#1992); +#1992 = SURFACE_SIDE_STYLE('',(#1993)); +#1993 = SURFACE_STYLE_FILL_AREA(#1994); +#1994 = FILL_AREA_STYLE('',(#1995)); +#1995 = FILL_AREA_STYLE_COLOUR('',#1996); +#1996 = COLOUR_RGB('',0.313304153717,0.484529207832,0.410020903123); +ENDSEC; +END-ISO-10303-21; diff --git a/hackpads/NT Pad/Production/Bottom Plate.stl b/hackpads/NT Pad/Production/Bottom Plate.stl new file mode 100644 index 0000000000..c621d09f65 Binary files /dev/null and b/hackpads/NT Pad/Production/Bottom Plate.stl differ diff --git a/hackpads/NT Pad/Production/Gerbers.zip b/hackpads/NT Pad/Production/Gerbers.zip new file mode 100644 index 0000000000..53b6eca439 Binary files /dev/null and b/hackpads/NT Pad/Production/Gerbers.zip differ diff --git a/hackpads/NT Pad/Production/Top Plate.stl b/hackpads/NT Pad/Production/Top Plate.stl new file mode 100644 index 0000000000..c3d78a1de4 Binary files /dev/null and b/hackpads/NT Pad/Production/Top Plate.stl differ diff --git a/hackpads/NT Pad/README.md b/hackpads/NT Pad/README.md new file mode 100644 index 0000000000..dfdb866a3b --- /dev/null +++ b/hackpads/NT Pad/README.md @@ -0,0 +1,37 @@ +# Hackpad + +https://hackpad.hackclub.com/ <- website is live! This is probably a better place to start + +## Overview +This is a limited-time introductory YSWS (you ship, we ship) where *you* design your own macropad, and we'll ship it to you for free! This is something you definitely don't want to miss out, so make sure to join #hackpad in the slack! + + +Full render including all the parts +![Screenshot 2025-02-23 at 11 18 46 PM](https://github.com/user-attachments/assets/75e0d41f-1500-44c2-a126-9500c09b8cfb) + + +A few sentences about the inspiration and challenges +I wanted to make a Utility device for me and my daily use case on my PC. I found the PCB part very fun however the CAD was much more challenging for me as I couldn't find measurements. + +# BOM +- **5×** MX-Style Switches +- **1×** EC11 Rotary Encoder +- **4×** M3×5×4 mm Heatset Inserts +- **4×** M3×16 mm Screws +- **1×** 3D Printed Case +- **1×** PCB +- **5×** Blank DSA Keycaps *(4 Black, 1 Red)* +- **1×** Seeed XIAO RP2040 + + +![Screenshot 2025-02-20 at 9 00 11 PM](https://github.com/user-attachments/assets/cb630675-cd6b-46ad-a5b6-a697841ab06a) + +PCB +![Screenshot 2025-02-20 at 9 01 36 PM](https://github.com/user-attachments/assets/681792f8-ac3f-497f-b452-48dbdd06349b) + +Schematic +![Screenshot 2025-02-23 at 11 19 13 PM](https://github.com/user-attachments/assets/cbb5cde9-4698-46c6-8410-40bdc6b29fe0) + + + +