This commit is contained in:
2021-04-22 17:19:35 +02:00
6 changed files with 374 additions and 149 deletions

BIN
.DS_Store vendored

Binary file not shown.

109
BOM scripts/bom.py Normal file
View File

@@ -0,0 +1,109 @@
#!/usr/bin/python3
#
# adapted from bom_csv_grouped_by_value.py
from __future__ import print_function
# Import the KiCad python helper module and the csv formatter
import kicad_netlist_reader
import csv
import sys
import natsort
import os
import argparse
def main():
# Set up a simple argument parser.
parser = argparse.ArgumentParser(description="KiCad BOM script")
parser.add_argument('-d', dest='digikey', action='store_true',
help="Truncate references for Digi-Key orders")
parser.add_argument('-s', dest='single', action='store_true',
help="Output single reference per row")
parser.add_argument('infile', metavar='<filename>', type=str,
help='input xml BOM file from KiCad')
parser.add_argument('-q', dest='quantity', type=int, default=1,
help='Number of boards')
args = parser.parse_args()
# Generate an instance of a generic netlist, and load the netlist tree from
# the command line option. If the file doesn't exist, execution will stop
net = kicad_netlist_reader.netlist(args.infile)
# Open a file to write to, if the file cannot be opened output to stdout
# instead
filename, file_extension = os.path.splitext(args.infile)
outfile = filename + ".csv"
try:
f = open(outfile, 'w')
except IOError:
e = "Can't open output file for writing: " + outfile
print(__file__, ":", e, file=sys.stderr)
f = sys.stdout
# subset the components to those wanted in the BOM, controlled
# by <configure> block in kicad_netlist_reader.py
components = net.getInterestingComponents()
compfields = net.gatherComponentFieldUnion(components)
partfields = net.gatherLibPartFieldUnion()
# remove Reference, Value, Datasheet, and Footprint, they will come from 'columns' below
partfields -= set( ['Reference', 'Value', 'Datasheet', 'Footprint'] )
columnset = compfields | partfields # union
# prepend an initial 'hard coded' list and put the enchillada into list 'columns'
columns = ['Item', 'Qty', 'Reference(s)', 'Value', 'LibPart', 'Footprint', 'Datasheet'] + sorted(list(columnset))
# Create a new csv writer object to use as the output formatter
out = csv.writer(f, lineterminator='\n', delimiter=',', quotechar='\"', quoting=csv.QUOTE_MINIMAL)
row = []
# Get all of the components in groups of matching parts + values
# (see kicad_netlist_reader.py)
if args.single:
grouped = [[c] for c in components]
else:
grouped = net.groupComponents(components)
# Output header row
out.writerow(columns)
# Output component information organized by group, aka as collated:
item = 0
for group in grouped:
del row[:]
refs = []
# Add the reference of every component in the group and keep a reference
# to the component so that the other data can be filled in once per group
for component in group:
refs.append(component.getRef())
c = component
ref_string = ", ".join(natsort.natsorted(refs))
if args.digikey and len(ref_string) > 48:
ref_string = ref_string[:45] + "..."
# Fill in the component groups common data
# columns = ['Item', 'Qty', 'Reference(s)', 'Value', 'LibPart', 'Footprint', 'Datasheet'] + sorted(list(columnset))
item += 1
row.append( item )
row.append( len(group) * args.quantity )
row.append( ref_string )
row.append( c.getValue() )
row.append( c.getLibName() + ":" + c.getPartName() )
row.append( net.getGroupFootprint(group) )
row.append( net.getGroupDatasheet(group) )
# from column 7 upwards, use the fieldnames to grab the data
for field in columns[7:]:
row.append( net.getGroupField(group, field) );
out.writerow(row)
f.close()
if __name__ == "__main__":
main()

View File

@@ -1,20 +1,20 @@
(module 3,5mm_straight_square (layer F.Cu) (tedit 6062226B) (module 3,5mm_straight_square (layer F.Cu) (tedit 60788681)
(fp_text reference REF** (at 7.112 4.064) (layer F.SilkS) (fp_text reference REF** (at 7.112 4.064) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15))) (effects (font (size 1 1) (thickness 0.15)))
) )
(fp_text value 3,5mm_straight_square (at 0.762 -6.35) (layer F.Fab) (fp_text value 3,5mm_straight_square (at 0.762 -6.35) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15))) (effects (font (size 1 1) (thickness 0.15)))
) )
(fp_circle (center 0 0) (end 4.2 0) (layer Dwgs.User) (width 0.12))
(fp_line (start -2.54 -5.25) (end 2.54 -5.25) (layer F.SilkS) (width 0.12))
(fp_line (start 4.5 -4.572) (end 4.5 5.25) (layer F.SilkS) (width 0.12))
(fp_line (start 4.5 5.25) (end -4.5 5.25) (layer F.SilkS) (width 0.12))
(fp_line (start -4.5 5.25) (end -4.5 -4.572) (layer F.SilkS) (width 0.12))
(fp_line (start -4.5 -4.572) (end -2.54 -5.25) (layer F.SilkS) (width 0.12))
(fp_line (start 4.5 -4.572) (end 2.54 -5.25) (layer F.SilkS) (width 0.12))
(fp_line (start 0 -4.2) (end 0 4.2) (layer Dwgs.User) (width 0.12))
(fp_line (start -4.2 0) (end 4.2 0) (layer Dwgs.User) (width 0.12)) (fp_line (start -4.2 0) (end 4.2 0) (layer Dwgs.User) (width 0.12))
(pad 3 thru_hole oval (at 0 -4.05) (size 4 2) (drill oval 3 1) (layers *.Cu *.Mask)) (fp_line (start 0 -4.2) (end 0 4.2) (layer Dwgs.User) (width 0.12))
(pad 1 thru_hole oval (at 3.55 -0.85 90) (size 3.5 2) (drill oval 2.5 1) (layers *.Cu *.Mask)) (fp_line (start 4.5 -4.572) (end 2.54 -5.25) (layer F.SilkS) (width 0.12))
(pad 2 thru_hole oval (at 0 4.05) (size 3.5 2) (drill oval 2.5 1) (layers *.Cu *.Mask)) (fp_line (start -4.5 -4.572) (end -2.54 -5.25) (layer F.SilkS) (width 0.12))
(fp_line (start -4.5 5.25) (end -4.5 -4.572) (layer F.SilkS) (width 0.12))
(fp_line (start 4.5 5.25) (end -4.5 5.25) (layer F.SilkS) (width 0.12))
(fp_line (start 4.5 -4.572) (end 4.5 5.25) (layer F.SilkS) (width 0.12))
(fp_line (start -2.54 -5.25) (end 2.54 -5.25) (layer F.SilkS) (width 0.12))
(fp_circle (center 0 0) (end 4.2 0) (layer Dwgs.User) (width 0.12))
(pad 2 thru_hole oval (at 0 -4.05) (size 4 2) (drill oval 3 1) (layers *.Cu *.Mask))
(pad 1 thru_hole oval (at -3.55 -0.85 90) (size 3.5 2) (drill oval 2.5 1) (layers *.Cu *.Mask))
(pad 3 thru_hole oval (at 0 4.05) (size 3.5 2) (drill oval 2.5 1) (layers *.Cu *.Mask))
) )

View File

@@ -1,9 +1,10 @@
(module TestPoint_SMD_R (layer F.Cu) (tedit 602EC615) (module TestPoint_SMD_R (layer F.Cu) (tedit 607AC878)
(fp_text reference REF** (at -3.5 -2.5) (layer F.SilkS) (fp_text reference REF** (at -0.9 -1) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15))) (effects (font (size 1 1) (thickness 0.15)))
) )
(fp_text value TestPoint_SMD_R (at 0 -0.5) (layer F.Fab) (fp_text value TestPoint_SMD_R (at 0 1.1) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15))) (effects (font (size 1 1) (thickness 0.15)))
) )
(pad 1 smd circle (at 0 -2.5) (size 1 1) (layers F.Cu F.Paste F.Mask)) (fp_circle (center 0 0) (end -0.1 -0.7) (layer F.SilkS) (width 0.12))
(pad 1 smd circle (at 0 0) (size 1 1) (layers F.Cu F.Paste F.Mask))
) )

View File

@@ -0,0 +1,131 @@
(module Raspberry_Pi_Zero_Socketed_THT_2MountingHoles (layer F.Cu) (tedit 60701C04)
(descr "Raspberry Pi Zero using through hole straight pin socket, 2x20, 2.54mm pitch, https://www.raspberrypi.org/documentation/hardware/raspberrypi/mechanical/rpi_MECH_Zero_1p2.pdf")
(tags "raspberry pi zero through hole")
(fp_text reference REF** (at -5 28.956 270) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value Raspberry_Pi_Zero_Socketed_THT_2MountingHoles (at 11.5 28.956 90) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start 26.56 54.766) (end 26.56 58.456) (layer F.SilkS) (width 0.12))
(fp_line (start 27.26 54.766) (end 26.56 54.766) (layer F.SilkS) (width 0.12))
(fp_line (start 27.26 43.346) (end 27.26 54.766) (layer F.SilkS) (width 0.12))
(fp_line (start 26.56 43.346) (end 27.26 43.346) (layer F.SilkS) (width 0.12))
(fp_line (start 26.56 24.116) (end 26.56 43.346) (layer F.SilkS) (width 0.12))
(fp_line (start 26.56 11.516) (end 26.56 15.996) (layer F.SilkS) (width 0.12))
(fp_line (start 28.36 15.996) (end 28.36 24.116) (layer F.SilkS) (width 0.12))
(fp_line (start 28.36 24.116) (end 26.56 24.116) (layer F.SilkS) (width 0.12))
(fp_line (start 26.56 15.996) (end 28.36 15.996) (layer F.SilkS) (width 0.12))
(fp_line (start 28.36 11.516) (end 26.56 11.516) (layer F.SilkS) (width 0.12))
(fp_line (start 28.36 3.396) (end 28.36 11.516) (layer F.SilkS) (width 0.12))
(fp_line (start 26.56 3.396) (end 28.36 3.396) (layer F.SilkS) (width 0.12))
(fp_line (start 2.94 -3.604) (end -0.5 -3.604) (layer F.SilkS) (width 0.12))
(fp_line (start 20.06 -4.804) (end 20.06 -3.604) (layer F.SilkS) (width 0.12))
(fp_line (start 2.94 -4.804) (end 20.06 -4.804) (layer F.SilkS) (width 0.12))
(fp_line (start 2.94 -3.604) (end 2.94 -4.804) (layer F.SilkS) (width 0.12))
(fp_line (start 23.5 -3.544) (end 20 -3.544) (layer F.Fab) (width 0.1))
(fp_line (start 20 -3.544) (end 20 -4.744) (layer F.Fab) (width 0.1))
(fp_line (start 3 -4.744) (end 20 -4.744) (layer F.Fab) (width 0.1))
(fp_line (start 3 -3.544) (end 3 -4.744) (layer F.Fab) (width 0.1))
(fp_line (start 26.5 24.056) (end 26.5 43.406) (layer F.Fab) (width 0.1))
(fp_line (start 26.5 11.456) (end 26.5 16.056) (layer F.Fab) (width 0.1))
(fp_line (start 26.5 3.456) (end 26.5 -0.544) (layer F.Fab) (width 0.1))
(fp_line (start 28.3 16.056) (end 28.3 24.056) (layer F.Fab) (width 0.1))
(fp_line (start 26.5 16.056) (end 28.3 16.056) (layer F.Fab) (width 0.1))
(fp_line (start 28.3 24.056) (end 26.5 24.056) (layer F.Fab) (width 0.1))
(fp_line (start -3.5 -0.544) (end -3.5 58.456) (layer F.Fab) (width 0.1))
(fp_line (start -0.5 61.456) (end 23.5 61.456) (layer F.Fab) (width 0.1))
(fp_line (start -0.5 -3.544) (end 3 -3.544) (layer F.Fab) (width 0.1))
(fp_line (start -2.54 3.556) (end -2.54 54.356) (layer F.Fab) (width 0.1))
(fp_line (start 2.54 3.556) (end -2.54 3.556) (layer F.Fab) (width 0.1))
(fp_line (start -2.6 54.416) (end -2.6 3.496) (layer F.SilkS) (width 0.12))
(fp_line (start -2.6 54.416) (end 0 54.416) (layer F.SilkS) (width 0.12))
(fp_line (start 3.03 54.886) (end 3.03 3.086) (layer F.CrtYd) (width 0.05))
(fp_line (start -3.07 54.886) (end 3.03 54.886) (layer F.CrtYd) (width 0.05))
(fp_line (start -3.07 3.086) (end -3.07 54.886) (layer F.CrtYd) (width 0.05))
(fp_line (start 3.03 3.086) (end -3.07 3.086) (layer F.CrtYd) (width 0.05))
(fp_line (start 0 54.416) (end 0 51.816) (layer F.SilkS) (width 0.12))
(fp_line (start 0 51.816) (end 2.6 51.816) (layer F.SilkS) (width 0.12))
(fp_line (start 1.27 54.416) (end 2.6 54.416) (layer F.SilkS) (width 0.12))
(fp_line (start 2.6 54.416) (end 2.6 53.086) (layer F.SilkS) (width 0.12))
(fp_line (start 2.6 51.816) (end 2.6 3.496) (layer F.SilkS) (width 0.12))
(fp_line (start -2.6 3.496) (end 2.6 3.496) (layer F.SilkS) (width 0.12))
(fp_line (start 1.54 54.356) (end 2.54 53.356) (layer F.Fab) (width 0.1))
(fp_line (start -2.54 54.356) (end 1.54 54.356) (layer F.Fab) (width 0.1))
(fp_line (start 2.54 53.356) (end 2.54 3.556) (layer F.Fab) (width 0.1))
(fp_line (start 20.06 -3.604) (end 23.5 -3.604) (layer F.SilkS) (width 0.12))
(fp_line (start 26.56 -0.544) (end 26.56 3.396) (layer F.SilkS) (width 0.12))
(fp_line (start -0.5 61.516) (end 23.5 61.516) (layer F.SilkS) (width 0.12))
(fp_line (start -3.56 -0.544) (end -3.56 58.456) (layer F.SilkS) (width 0.12))
(fp_line (start -3.75 -3.794) (end -3.75 61.706) (layer F.CrtYd) (width 0.05))
(fp_line (start -3.75 61.706) (end 4.064 61.706) (layer F.CrtYd) (width 0.05))
(fp_line (start 26.5 54.706) (end 27.2 54.706) (layer F.Fab) (width 0.1))
(fp_line (start 26.5 43.406) (end 27.2 43.406) (layer F.Fab) (width 0.1))
(fp_line (start 27.2 43.406) (end 27.2 54.706) (layer F.Fab) (width 0.1))
(fp_line (start 26.5 54.706) (end 26.5 58.456) (layer F.Fab) (width 0.1))
(fp_line (start 26.5 3.456) (end 28.3 3.456) (layer F.Fab) (width 0.1))
(fp_line (start 28.3 3.456) (end 28.3 11.456) (layer F.Fab) (width 0.1))
(fp_line (start 28.3 11.456) (end 26.5 11.456) (layer F.Fab) (width 0.1))
(fp_line (start -3.75 -3.794) (end 4.064 -3.794) (layer F.CrtYd) (width 0.05))
(fp_line (start 4.064 -3.794) (end 4.064 61.706) (layer F.CrtYd) (width 0.05))
(fp_arc (start 23.5 58.456) (end 23.5 61.516) (angle -90) (layer F.SilkS) (width 0.12))
(fp_arc (start 23.5 -0.544) (end 26.5 -0.544) (angle -90) (layer F.Fab) (width 0.1))
(fp_arc (start -0.5 58.456) (end -3.56 58.456) (angle -90) (layer F.SilkS) (width 0.12))
(fp_arc (start -0.5 -0.544) (end -0.5 -3.604) (angle -90) (layer F.SilkS) (width 0.12))
(fp_arc (start 23.5 -0.544) (end 26.56 -0.544) (angle -90) (layer F.SilkS) (width 0.12))
(fp_arc (start 23.5 58.456) (end 23.5 61.456) (angle -90) (layer F.Fab) (width 0.1))
(fp_arc (start -0.5 58.456) (end -3.5 58.456) (angle -90) (layer F.Fab) (width 0.1))
(fp_arc (start -0.5 -0.544) (end -0.5 -3.544) (angle -90) (layer F.Fab) (width 0.1))
(fp_text user %R (at 0 28.956 270) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(pad 6 thru_hole oval (at -1.27 48.006 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 3 thru_hole oval (at 1.27 50.546 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 15 thru_hole oval (at 1.27 35.306 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 16 thru_hole oval (at -1.27 35.306 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 4 thru_hole oval (at -1.27 50.546 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 5 thru_hole oval (at 1.27 48.006 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 2 thru_hole oval (at -1.27 53.086 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 1 thru_hole rect (at 1.27 53.086 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 23 thru_hole oval (at 1.27 25.146 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 24 thru_hole oval (at -1.27 25.146 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 11 thru_hole oval (at 1.27 40.386 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 12 thru_hole oval (at -1.27 40.386 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 27 thru_hole oval (at 1.27 20.066 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 28 thru_hole oval (at -1.27 20.066 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 13 thru_hole oval (at 1.27 37.846 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 14 thru_hole oval (at -1.27 37.846 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 9 thru_hole oval (at 1.27 42.926 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 10 thru_hole oval (at -1.27 42.926 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 19 thru_hole oval (at 1.27 30.226 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 20 thru_hole oval (at -1.27 30.226 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 37 thru_hole oval (at 1.27 7.366 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 38 thru_hole oval (at -1.27 7.366 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 33 thru_hole oval (at 1.27 12.446 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 34 thru_hole oval (at -1.27 12.446 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 35 thru_hole oval (at 1.27 9.906 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 36 thru_hole oval (at -1.27 9.906 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 17 thru_hole oval (at 1.27 32.766 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 18 thru_hole oval (at -1.27 32.766 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 31 thru_hole oval (at 1.27 14.986 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 32 thru_hole oval (at -1.27 14.986 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 7 thru_hole oval (at 1.27 45.466 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 8 thru_hole oval (at -1.27 45.466 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 29 thru_hole oval (at 1.27 17.526 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 30 thru_hole oval (at -1.27 17.526 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 21 thru_hole oval (at 1.27 27.686 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 22 thru_hole oval (at -1.27 27.686 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 25 thru_hole oval (at 1.27 22.606 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 26 thru_hole oval (at -1.27 22.606 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 39 thru_hole oval (at 1.27 4.826 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 40 thru_hole oval (at -1.27 4.826 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at 0 57.956 90) (size 2.75 2.75) (drill 2.75) (layers *.Cu *.Mask)
(solder_mask_margin 1.625))
(pad "" np_thru_hole circle (at 0 -0.044 90) (size 2.75 2.75) (drill 2.75) (layers *.Cu *.Mask)
(solder_mask_margin 1.625))
(model ${KISYS3DMOD}/Module.3dshapes/Raspberry_Pi_Zero_Socketed_THT_FaceDown_MountingHoles.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)

View File

@@ -1,147 +1,131 @@
(module Raspberry_Pi_Zero_Socketed_THT_FaceDown_MountingHoles (layer F.Cu) (tedit 5C6350CC) (module Raspberry_Pi_Zero_Socketed_THT_FaceDown_MountingHoles (layer F.Cu) (tedit 60701B56)
(descr "Raspberry Pi Zero using through hole straight pin socket, 2x20, 2.54mm pitch, https://www.raspberrypi.org/documentation/hardware/raspberrypi/mechanical/rpi_MECH_Zero_1p2.pdf") (descr "Raspberry Pi Zero using through hole straight pin socket, 2x20, 2.54mm pitch, https://www.raspberrypi.org/documentation/hardware/raspberrypi/mechanical/rpi_MECH_Zero_1p2.pdf")
(tags "raspberry pi zero through hole") (tags "raspberry pi zero through hole")
(fp_text reference REF** (at -6.27 24.13 90) (layer F.SilkS) (fp_text reference REF** (at -5 28.956 270) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15))) (effects (font (size 1 1) (thickness 0.15)))
) )
(fp_text value Raspberry_Pi_Zero_Socketed_THT_FaceDown_MountingHoles (at 10.23 24.13 270) (layer F.Fab) (fp_text value Raspberry_Pi_Zero_Socketed_THT_FaceDown_MountingHoles (at 11.5 28.956 90) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15))) (effects (font (size 1 1) (thickness 0.15)))
) )
(fp_line (start 27.03 41.63) (end 25.23 41.63) (layer F.Fab) (width 0.1)) (fp_line (start 4.064 -3.794) (end 4.064 61.706) (layer F.CrtYd) (width 0.05))
(fp_line (start 27.03 49.63) (end 27.03 41.63) (layer F.Fab) (width 0.1)) (fp_line (start -3.75 -3.794) (end 4.064 -3.794) (layer F.CrtYd) (width 0.05))
(fp_line (start 25.23 49.63) (end 27.03 49.63) (layer F.Fab) (width 0.1)) (fp_line (start 28.3 11.456) (end 26.5 11.456) (layer F.Fab) (width 0.1))
(fp_line (start 25.23 -1.62) (end 25.23 -5.37) (layer F.Fab) (width 0.1)) (fp_line (start 28.3 3.456) (end 28.3 11.456) (layer F.Fab) (width 0.1))
(fp_line (start 25.93 9.68) (end 25.93 -1.62) (layer F.Fab) (width 0.1)) (fp_line (start 26.5 3.456) (end 28.3 3.456) (layer F.Fab) (width 0.1))
(fp_line (start 25.23 9.68) (end 25.93 9.68) (layer F.Fab) (width 0.1)) (fp_line (start 26.5 54.706) (end 26.5 58.456) (layer F.Fab) (width 0.1))
(fp_line (start 25.23 -1.62) (end 25.93 -1.62) (layer F.Fab) (width 0.1)) (fp_line (start 27.2 43.406) (end 27.2 54.706) (layer F.Fab) (width 0.1))
(fp_line (start 19.23 56.88) (end 25.48 56.88) (layer F.CrtYd) (width 0.05)) (fp_line (start 26.5 43.406) (end 27.2 43.406) (layer F.Fab) (width 0.1))
(fp_line (start -5.02 56.88) (end 1.23 56.88) (layer F.CrtYd) (width 0.05)) (fp_line (start 26.5 54.706) (end 27.2 54.706) (layer F.Fab) (width 0.1))
(fp_line (start 25.48 50.13) (end 25.48 56.88) (layer F.CrtYd) (width 0.05)) (fp_line (start -3.75 61.706) (end 4.064 61.706) (layer F.CrtYd) (width 0.05))
(fp_line (start 25.48 37.53) (end 25.48 41.13) (layer F.CrtYd) (width 0.05)) (fp_line (start -3.75 -3.794) (end -3.75 61.706) (layer F.CrtYd) (width 0.05))
(fp_line (start 25.48 -2.12) (end 25.48 -8.62) (layer F.CrtYd) (width 0.05)) (fp_line (start -3.56 -0.544) (end -3.56 58.456) (layer F.SilkS) (width 0.12))
(fp_line (start -5.02 -8.62) (end 25.48 -8.62) (layer F.CrtYd) (width 0.05)) (fp_line (start -0.5 61.516) (end 23.5 61.516) (layer F.SilkS) (width 0.12))
(fp_arc (start 22.23 -5.37) (end 22.23 -8.43) (angle 90) (layer F.SilkS) (width 0.12)) (fp_line (start 26.56 -0.544) (end 26.56 3.396) (layer F.SilkS) (width 0.12))
(fp_line (start 25.48 28.53) (end 25.48 10.18) (layer F.CrtYd) (width 0.05)) (fp_line (start 20.06 -3.604) (end 23.5 -3.604) (layer F.SilkS) (width 0.12))
(fp_line (start -5.02 56.88) (end -5.02 -8.62) (layer F.CrtYd) (width 0.05)) (fp_line (start 2.54 53.356) (end 2.54 3.556) (layer F.Fab) (width 0.1))
(fp_line (start 19.23 58.33) (end 1.23 58.33) (layer F.CrtYd) (width 0.05)) (fp_line (start -2.54 54.356) (end 1.54 54.356) (layer F.Fab) (width 0.1))
(fp_line (start 19.23 58.33) (end 19.23 56.88) (layer F.CrtYd) (width 0.05)) (fp_line (start 1.54 54.356) (end 2.54 53.356) (layer F.Fab) (width 0.1))
(fp_line (start 1.23 58.33) (end 1.23 56.88) (layer F.CrtYd) (width 0.05)) (fp_line (start -2.6 3.496) (end 2.6 3.496) (layer F.SilkS) (width 0.12))
(fp_line (start 26.43 -2.12) (end 26.43 10.18) (layer F.CrtYd) (width 0.05)) (fp_line (start 2.6 51.816) (end 2.6 3.496) (layer F.SilkS) (width 0.12))
(fp_line (start 26.43 -2.12) (end 25.48 -2.12) (layer F.CrtYd) (width 0.05)) (fp_line (start 2.6 54.416) (end 2.6 53.086) (layer F.SilkS) (width 0.12))
(fp_line (start 26.43 10.18) (end 25.48 10.18) (layer F.CrtYd) (width 0.05)) (fp_line (start 1.27 54.416) (end 2.6 54.416) (layer F.SilkS) (width 0.12))
(fp_line (start 27.53 28.53) (end 25.48 28.53) (layer F.CrtYd) (width 0.05)) (fp_line (start 0 51.816) (end 2.6 51.816) (layer F.SilkS) (width 0.12))
(fp_line (start 27.53 37.53) (end 27.53 28.53) (layer F.CrtYd) (width 0.05)) (fp_line (start 0 54.416) (end 0 51.816) (layer F.SilkS) (width 0.12))
(fp_line (start 27.53 37.53) (end 25.48 37.53) (layer F.CrtYd) (width 0.05)) (fp_line (start 3.03 3.086) (end -3.07 3.086) (layer F.CrtYd) (width 0.05))
(fp_line (start 27.53 50.13) (end 27.53 41.13) (layer F.CrtYd) (width 0.05)) (fp_line (start -3.07 3.086) (end -3.07 54.886) (layer F.CrtYd) (width 0.05))
(fp_line (start 27.53 41.13) (end 25.48 41.13) (layer F.CrtYd) (width 0.05)) (fp_line (start -3.07 54.886) (end 3.03 54.886) (layer F.CrtYd) (width 0.05))
(fp_line (start 27.53 50.13) (end 25.48 50.13) (layer F.CrtYd) (width 0.05)) (fp_line (start 3.03 54.886) (end 3.03 3.086) (layer F.CrtYd) (width 0.05))
(fp_arc (start 22.23 53.63) (end 25.23 53.63) (angle 90) (layer F.Fab) (width 0.1)) (fp_line (start -2.6 54.416) (end 0 54.416) (layer F.SilkS) (width 0.12))
(fp_arc (start -1.77 -5.37) (end -4.83 -5.37) (angle 90) (layer F.SilkS) (width 0.12)) (fp_line (start -2.6 54.416) (end -2.6 3.496) (layer F.SilkS) (width 0.12))
(fp_arc (start -1.77 53.63) (end -1.77 56.69) (angle 90) (layer F.SilkS) (width 0.12)) (fp_line (start 2.54 3.556) (end -2.54 3.556) (layer F.Fab) (width 0.1))
(fp_line (start -4.83 53.63) (end -4.83 -5.37) (layer F.SilkS) (width 0.12)) (fp_line (start -2.54 3.556) (end -2.54 54.356) (layer F.Fab) (width 0.1))
(fp_line (start -1.77 -8.43) (end 22.23 -8.43) (layer F.SilkS) (width 0.12)) (fp_line (start -0.5 -3.544) (end 3 -3.544) (layer F.Fab) (width 0.1))
(fp_line (start 25.29 53.63) (end 25.29 49.69) (layer F.SilkS) (width 0.12)) (fp_line (start -0.5 61.456) (end 23.5 61.456) (layer F.Fab) (width 0.1))
(fp_line (start 18.79 56.69) (end 22.23 56.69) (layer F.SilkS) (width 0.12)) (fp_line (start -3.5 -0.544) (end -3.5 58.456) (layer F.Fab) (width 0.1))
(fp_arc (start 22.23 53.63) (end 25.29 53.63) (angle 90) (layer F.SilkS) (width 0.12)) (fp_line (start 28.3 24.056) (end 26.5 24.056) (layer F.Fab) (width 0.1))
(fp_arc (start 22.23 -5.37) (end 22.23 -8.37) (angle 90) (layer F.Fab) (width 0.1)) (fp_line (start 26.5 16.056) (end 28.3 16.056) (layer F.Fab) (width 0.1))
(fp_arc (start -1.77 -5.37) (end -4.77 -5.37) (angle 90) (layer F.Fab) (width 0.1)) (fp_line (start 28.3 16.056) (end 28.3 24.056) (layer F.Fab) (width 0.1))
(fp_arc (start -1.77 53.63) (end -1.77 56.63) (angle 90) (layer F.Fab) (width 0.1)) (fp_line (start 26.5 3.456) (end 26.5 -0.544) (layer F.Fab) (width 0.1))
(fp_line (start 1.27 -0.27) (end 1.27 49.53) (layer F.Fab) (width 0.1)) (fp_line (start 26.5 11.456) (end 26.5 16.056) (layer F.Fab) (width 0.1))
(fp_line (start -3.81 -1.27) (end 0.27 -1.27) (layer F.Fab) (width 0.1)) (fp_line (start 26.5 24.056) (end 26.5 43.406) (layer F.Fab) (width 0.1))
(fp_line (start 0.27 -1.27) (end 1.27 -0.27) (layer F.Fab) (width 0.1)) (fp_line (start 3 -3.544) (end 3 -4.744) (layer F.Fab) (width 0.1))
(fp_line (start -3.87 49.59) (end 1.33 49.59) (layer F.SilkS) (width 0.12)) (fp_line (start 3 -4.744) (end 20 -4.744) (layer F.Fab) (width 0.1))
(fp_line (start 1.33 1.27) (end 1.33 49.59) (layer F.SilkS) (width 0.12)) (fp_line (start 20 -3.544) (end 20 -4.744) (layer F.Fab) (width 0.1))
(fp_line (start 1.33 -1.33) (end 1.33 0) (layer F.SilkS) (width 0.12)) (fp_line (start 23.5 -3.544) (end 20 -3.544) (layer F.Fab) (width 0.1))
(fp_line (start 0 -1.33) (end 1.33 -1.33) (layer F.SilkS) (width 0.12)) (fp_line (start 2.94 -3.604) (end 2.94 -4.804) (layer F.SilkS) (width 0.12))
(fp_line (start -1.27 1.27) (end 1.33 1.27) (layer F.SilkS) (width 0.12)) (fp_line (start 2.94 -4.804) (end 20.06 -4.804) (layer F.SilkS) (width 0.12))
(fp_line (start -1.27 -1.33) (end -1.27 1.27) (layer F.SilkS) (width 0.12)) (fp_line (start 20.06 -4.804) (end 20.06 -3.604) (layer F.SilkS) (width 0.12))
(fp_line (start 1.76 50) (end -4.34 50) (layer F.CrtYd) (width 0.05)) (fp_line (start 2.94 -3.604) (end -0.5 -3.604) (layer F.SilkS) (width 0.12))
(fp_line (start -4.34 50) (end -4.34 -1.8) (layer F.CrtYd) (width 0.05)) (fp_line (start 26.56 3.396) (end 28.36 3.396) (layer F.SilkS) (width 0.12))
(fp_line (start -4.34 -1.8) (end 1.76 -1.8) (layer F.CrtYd) (width 0.05)) (fp_line (start 28.36 3.396) (end 28.36 11.516) (layer F.SilkS) (width 0.12))
(fp_line (start 1.76 -1.8) (end 1.76 50) (layer F.CrtYd) (width 0.05)) (fp_line (start 28.36 11.516) (end 26.56 11.516) (layer F.SilkS) (width 0.12))
(fp_line (start -3.87 -1.33) (end -1.27 -1.33) (layer F.SilkS) (width 0.12)) (fp_line (start 26.56 15.996) (end 28.36 15.996) (layer F.SilkS) (width 0.12))
(fp_line (start -3.87 -1.33) (end -3.87 49.59) (layer F.SilkS) (width 0.12)) (fp_line (start 28.36 24.116) (end 26.56 24.116) (layer F.SilkS) (width 0.12))
(fp_line (start 1.27 49.53) (end -3.81 49.53) (layer F.Fab) (width 0.1)) (fp_line (start 28.36 15.996) (end 28.36 24.116) (layer F.SilkS) (width 0.12))
(fp_line (start -3.81 49.53) (end -3.81 -1.27) (layer F.Fab) (width 0.1)) (fp_line (start 26.56 11.516) (end 26.56 15.996) (layer F.SilkS) (width 0.12))
(fp_text user %R (at -1.27 24.13 90) (layer F.Fab) (fp_line (start 26.56 24.116) (end 26.56 43.346) (layer F.SilkS) (width 0.12))
(fp_line (start 26.56 43.346) (end 27.26 43.346) (layer F.SilkS) (width 0.12))
(fp_line (start 27.26 43.346) (end 27.26 54.766) (layer F.SilkS) (width 0.12))
(fp_line (start 27.26 54.766) (end 26.56 54.766) (layer F.SilkS) (width 0.12))
(fp_line (start 26.56 54.766) (end 26.56 58.456) (layer F.SilkS) (width 0.12))
(fp_arc (start 23.5 58.456) (end 23.5 61.516) (angle -90) (layer F.SilkS) (width 0.12))
(fp_arc (start 23.5 -0.544) (end 26.5 -0.544) (angle -90) (layer F.Fab) (width 0.1))
(fp_arc (start -0.5 58.456) (end -3.56 58.456) (angle -90) (layer F.SilkS) (width 0.12))
(fp_arc (start -0.5 -0.544) (end -0.5 -3.604) (angle -90) (layer F.SilkS) (width 0.12))
(fp_arc (start 23.5 -0.544) (end 26.56 -0.544) (angle -90) (layer F.SilkS) (width 0.12))
(fp_arc (start 23.5 58.456) (end 23.5 61.456) (angle -90) (layer F.Fab) (width 0.1))
(fp_arc (start -0.5 58.456) (end -3.5 58.456) (angle -90) (layer F.Fab) (width 0.1))
(fp_arc (start -0.5 -0.544) (end -0.5 -3.544) (angle -90) (layer F.Fab) (width 0.1))
(fp_text user %R (at 0 28.956 270) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15))) (effects (font (size 1 1) (thickness 0.15)))
) )
(fp_line (start -1.77 56.63) (end 1.73 56.63) (layer F.Fab) (width 0.1)) (pad 6 thru_hole oval (at -1.27 48.006 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start -1.77 -8.37) (end 22.23 -8.37) (layer F.Fab) (width 0.1)) (pad 3 thru_hole oval (at 1.27 50.546 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start -4.77 53.63) (end -4.77 -5.37) (layer F.Fab) (width 0.1)) (pad 15 thru_hole oval (at 1.27 35.306 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 27.03 29.03) (end 25.23 29.03) (layer F.Fab) (width 0.1)) (pad 16 thru_hole oval (at -1.27 35.306 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 25.23 37.03) (end 27.03 37.03) (layer F.Fab) (width 0.1)) (pad 4 thru_hole oval (at -1.27 50.546 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 27.03 37.03) (end 27.03 29.03) (layer F.Fab) (width 0.1)) (pad 5 thru_hole oval (at 1.27 48.006 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 25.23 49.63) (end 25.23 53.63) (layer F.Fab) (width 0.1)) (pad 2 thru_hole oval (at -1.27 53.086 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 25.23 41.63) (end 25.23 37.03) (layer F.Fab) (width 0.1)) (pad 1 thru_hole rect (at 1.27 53.086 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 25.23 29.03) (end 25.23 9.68) (layer F.Fab) (width 0.1)) (pad 23 thru_hole oval (at 1.27 25.146 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 1.73 56.63) (end 1.73 57.83) (layer F.Fab) (width 0.1)) (pad 24 thru_hole oval (at -1.27 25.146 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 1.73 57.83) (end 18.73 57.83) (layer F.Fab) (width 0.1)) (pad 11 thru_hole oval (at 1.27 40.386 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 18.73 56.63) (end 18.73 57.83) (layer F.Fab) (width 0.1)) (pad 12 thru_hole oval (at -1.27 40.386 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 22.23 56.63) (end 18.73 56.63) (layer F.Fab) (width 0.1)) (pad 27 thru_hole oval (at 1.27 20.066 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 1.67 56.69) (end 1.67 57.89) (layer F.SilkS) (width 0.12)) (pad 28 thru_hole oval (at -1.27 20.066 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 1.67 57.89) (end 18.79 57.89) (layer F.SilkS) (width 0.12)) (pad 13 thru_hole oval (at 1.27 37.846 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 18.79 57.89) (end 18.79 56.69) (layer F.SilkS) (width 0.12)) (pad 14 thru_hole oval (at -1.27 37.846 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 1.67 56.69) (end -1.77 56.69) (layer F.SilkS) (width 0.12)) (pad 9 thru_hole oval (at 1.27 42.926 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 25.29 49.69) (end 27.09 49.69) (layer F.SilkS) (width 0.12)) (pad 10 thru_hole oval (at -1.27 42.926 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 27.09 49.69) (end 27.09 41.57) (layer F.SilkS) (width 0.12)) (pad 19 thru_hole oval (at 1.27 30.226 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 27.09 41.57) (end 25.29 41.57) (layer F.SilkS) (width 0.12)) (pad 20 thru_hole oval (at -1.27 30.226 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 25.29 37.09) (end 27.09 37.09) (layer F.SilkS) (width 0.12)) (pad 37 thru_hole oval (at 1.27 7.366 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 27.09 28.97) (end 25.29 28.97) (layer F.SilkS) (width 0.12)) (pad 38 thru_hole oval (at -1.27 7.366 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 27.09 37.09) (end 27.09 28.97) (layer F.SilkS) (width 0.12)) (pad 33 thru_hole oval (at 1.27 12.446 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 25.29 41.57) (end 25.29 37.09) (layer F.SilkS) (width 0.12)) (pad 34 thru_hole oval (at -1.27 12.446 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 25.29 28.97) (end 25.29 9.74) (layer F.SilkS) (width 0.12)) (pad 35 thru_hole oval (at 1.27 9.906 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 25.29 9.74) (end 25.99 9.74) (layer F.SilkS) (width 0.12)) (pad 36 thru_hole oval (at -1.27 9.906 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 25.99 9.74) (end 25.99 -1.68) (layer F.SilkS) (width 0.12)) (pad 17 thru_hole oval (at 1.27 32.766 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 25.99 -1.68) (end 25.29 -1.68) (layer F.SilkS) (width 0.12)) (pad 18 thru_hole oval (at -1.27 32.766 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(fp_line (start 25.29 -1.68) (end 25.29 -5.37) (layer F.SilkS) (width 0.12)) (pad 31 thru_hole oval (at 1.27 14.986 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 6 thru_hole oval (at -2.54 5.08) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) (pad 32 thru_hole oval (at -1.27 14.986 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 3 thru_hole oval (at 0 2.54) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) (pad 7 thru_hole oval (at 1.27 45.466 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 15 thru_hole oval (at 0 17.78) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) (pad 8 thru_hole oval (at -1.27 45.466 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 16 thru_hole oval (at -2.54 17.78) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) (pad 29 thru_hole oval (at 1.27 17.526 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 4 thru_hole oval (at -2.54 2.54) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) (pad 30 thru_hole oval (at -1.27 17.526 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 5 thru_hole oval (at 0 5.08) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) (pad 21 thru_hole oval (at 1.27 27.686 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 2 thru_hole oval (at -2.54 0) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) (pad 22 thru_hole oval (at -1.27 27.686 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 1 thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) (pad 25 thru_hole oval (at 1.27 22.606 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 23 thru_hole oval (at 0 27.94) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) (pad 26 thru_hole oval (at -1.27 22.606 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 24 thru_hole oval (at -2.54 27.94) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) (pad 39 thru_hole oval (at 1.27 4.826 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 11 thru_hole oval (at 0 12.7) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) (pad 40 thru_hole oval (at -1.27 4.826 180) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 12 thru_hole oval (at -2.54 12.7) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask)) (pad "" np_thru_hole circle (at 0 57.956 90) (size 2.75 2.75) (drill 2.75) (layers *.Cu *.Mask)
(pad 27 thru_hole oval (at 0 33.02) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 28 thru_hole oval (at -2.54 33.02) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 13 thru_hole oval (at 0 15.24) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 14 thru_hole oval (at -2.54 15.24) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 9 thru_hole oval (at 0 10.16) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 10 thru_hole oval (at -2.54 10.16) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 19 thru_hole oval (at 0 22.86) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 20 thru_hole oval (at -2.54 22.86) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 37 thru_hole oval (at 0 45.72) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 38 thru_hole oval (at -2.54 45.72) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 33 thru_hole oval (at 0 40.64) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 34 thru_hole oval (at -2.54 40.64) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 35 thru_hole oval (at 0 43.18) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 36 thru_hole oval (at -2.54 43.18) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 17 thru_hole oval (at 0 20.32) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 18 thru_hole oval (at -2.54 20.32) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 31 thru_hole oval (at 0 38.1) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 32 thru_hole oval (at -2.54 38.1) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 7 thru_hole oval (at 0 7.62) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 8 thru_hole oval (at -2.54 7.62) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 29 thru_hole oval (at 0 35.56) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 30 thru_hole oval (at -2.54 35.56) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 21 thru_hole oval (at 0 25.4) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 22 thru_hole oval (at -2.54 25.4) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 25 thru_hole oval (at 0 30.48) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 26 thru_hole oval (at -2.54 30.48) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 39 thru_hole oval (at 0 48.26) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad 40 thru_hole oval (at -2.54 48.26) (size 1.7 1.7) (drill 1) (layers *.Cu *.Mask))
(pad "" np_thru_hole circle (at -1.27 -4.87 90) (size 2.75 2.75) (drill 2.75) (layers *.Cu *.Mask)
(solder_mask_margin 1.625)) (solder_mask_margin 1.625))
(pad "" np_thru_hole circle (at 21.73 53.13 90) (size 2.75 2.75) (drill 2.75) (layers *.Cu *.Mask) (pad "" np_thru_hole circle (at 23 -0.044 90) (size 2.75 2.75) (drill 2.75) (layers *.Cu *.Mask)
(solder_mask_margin 1.625)) (solder_mask_margin 1.625))
(pad "" np_thru_hole circle (at 21.73 -4.87 90) (size 2.75 2.75) (drill 2.75) (layers *.Cu *.Mask) (pad "" np_thru_hole circle (at 23 57.956 90) (size 2.75 2.75) (drill 2.75) (layers *.Cu *.Mask)
(solder_mask_margin 1.625)) (solder_mask_margin 1.625))
(pad "" np_thru_hole circle (at -1.27 53.13 90) (size 2.75 2.75) (drill 2.75) (layers *.Cu *.Mask) (pad "" np_thru_hole circle (at 0 -0.044 90) (size 2.75 2.75) (drill 2.75) (layers *.Cu *.Mask)
(solder_mask_margin 1.625)) (solder_mask_margin 1.625))
(model ${KISYS3DMOD}/Module.3dshapes/Raspberry_Pi_Zero_Socketed_THT_FaceDown_MountingHoles.wrl (model ${KISYS3DMOD}/Module.3dshapes/Raspberry_Pi_Zero_Socketed_THT_FaceDown_MountingHoles.wrl
(at (xyz 0 0 0)) (at (xyz 0 0 0))