From: Dan White Date: Mon, 16 Jan 2012 19:54:47 +0000 (-0600) Subject: Add generated footprints. X-Git-Tag: calibrations~371 X-Git-Url: http://git.whiteaudio.com/gitweb/?a=commitdiff_plain;h=4c969c1426cb1a9a152ea21e430244044cc0ecf9;p=430.git Add generated footprints. --- diff --git a/.gitignore b/.gitignore index 770a1bc..4e29512 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +*.pyc ns430-atoi.inc rom.asm rom.hex diff --git a/test-pcb/fp/Makefile b/test-pcb/fp/Makefile new file mode 100644 index 0000000..9653e40 --- /dev/null +++ b/test-pcb/fp/Makefile @@ -0,0 +1,11 @@ + +FPSRC=$(wildcard *.footprinter) +FOOTPRINTS_GEN=$(FPSRC:.footprinter=.fp) + +fp: $(FOOTPRINTS_GEN) + +%.fp: %.footprinter + python $< > $@ + +clean: + rm -f $(FOOTPRINTS_GEN) diff --git a/test-pcb/fp/PLASTRONICS_100QN40S1120120.footprinter b/test-pcb/fp/PLASTRONICS_100QN40S1120120.footprinter new file mode 100755 index 0000000..6f0ca67 --- /dev/null +++ b/test-pcb/fp/PLASTRONICS_100QN40S1120120.footprinter @@ -0,0 +1,176 @@ +#!/usr/bin/env python +# -*- coding: ASCII -*- +'''Plastronics socket for +QFN-100 12x12mm +SEMPAC MLP12X12-100-OP-01 +offered by MOSIS +''' +import sys +from footprinter import * + +# +# PCB fab minimums +# +MASK_SWELL = mil(5.0) +MIN_TRACE = mil(6.0) +MIN_SPACE = mil(6.0) +MIN_PAD_ANNULUS = mil(14.0) +MIN_VIA_ANNULUS = mil(10.0) + +PAD_PITCH = mm(0.4) + +# pcb's coordinates are graphics oriented +# x in increasing right +# y in increasing DOWN + +SILK_LINEWIDTH = mil(8.0) + +OUTER_ROW_WIDTH = mil(620.0)/2 +INNER_ROW_WIDTH = mil(500.0)/2 +LOC_PIN_WIDTH = mil(760.0)/2 + +PIN_DRILL = mil(12.0) +PIN_ANNULUS = PIN_DRILL + mil(2.0) +PIN_CLEARANCE = mil(6.0) + +PAD_OFFSET = (PIN_DRILL + MIN_PAD_ANNULUS) + +pins = [] +pins_per_side = 25 + +# left row +# upper-left upto lower-left +for i in range(1,26): + p = i + if (i%2) == 1: + x = -OUTER_ROW_WIDTH + else: + x = -INNER_ROW_WIDTH + y = -PAD_PITCH * ((pins_per_side-1)/2 - (i-1)) + + # drilled hole + pins.append(Pin(p, x, y, PIN_ANNULUS, MIN_SPACE, MASK_SWELL, PIN_DRILL, name=str(p))) + # simulate a chopped annulus + pins.append(Pad(p, + [ + x-PAD_OFFSET, + y-PIN_ANNULUS/2, + x+PAD_OFFSET, + y+PIN_ANNULUS/2 + ], + MIN_SPACE, MASK_SWELL, name=str(p), sflags='')) + +# bottom row +# lower-left upto lower-right +for i in range(1,26): + p = i + 25 + if (i%2) == 1: + y = OUTER_ROW_WIDTH + else: + y = INNER_ROW_WIDTH + x = -PAD_PITCH * ((pins_per_side-1)/2 - (i-1)) + + pins.append(Pin(p, x, y, PIN_ANNULUS, MIN_SPACE, MASK_SWELL, PIN_DRILL, name=str(p))) + # simulate a chopped annulus + pins.append(Pad(p, + [ + x-PIN_ANNULUS/2, + y-PAD_OFFSET, + x+PIN_ANNULUS/2, + y+PAD_OFFSET, + ], + MIN_SPACE, MASK_SWELL, name=str(p), sflags='')) + +# right row +# lower-right upto upper-right +for i in range(1,26): + p = i + 50 + if (i%2) == 1: + x = OUTER_ROW_WIDTH + else: + x = INNER_ROW_WIDTH + y = PAD_PITCH * ((pins_per_side-1)/2 - (i-1)) + + pins.append(Pin(p, x, y, PIN_ANNULUS, MIN_SPACE, MASK_SWELL, PIN_DRILL, name=str(p))) + pins.append(Pad(p, + [ + x-PAD_OFFSET, + y-PIN_ANNULUS/2, + x+PAD_OFFSET, + y+PIN_ANNULUS/2 + ], + MIN_SPACE, MASK_SWELL, name=str(p), sflags='')) + +# top row +# upper-right upto upper-left +for i in range(1,26): + p = i + 75 + if (i%2) == 1: + y = -OUTER_ROW_WIDTH + else: + y = -INNER_ROW_WIDTH + x = PAD_PITCH * ((pins_per_side-1)/2 - (i-1)) + + pins.append(Pin(p, x, y, PIN_ANNULUS, MIN_SPACE, MASK_SWELL, PIN_DRILL, name=str(p))) + pins.append(Pad(p, + [ + x-PIN_ANNULUS/2, + y-PAD_OFFSET, + x+PIN_ANNULUS/2, + y+PAD_OFFSET + ], + MIN_SPACE, MASK_SWELL, name=str(p), sflags='')) + +# center EP spring probe +EP_PIN_DRILL = mil(43.2) +pins.append(Pin(101, + 0, 0, + EP_PIN_DRILL + 2*MIN_PAD_ANNULUS, + MIN_SPACE, + MASK_SWELL, + EP_PIN_DRILL, + name=str(101))) + +# plastic locating pins +PLASTIC_DRILL = mil(61.0) +pins.append(Pin(102, + mil(-380), mil(380), + PLASTIC_DRILL + MIN_PAD_ANNULUS, + MIN_SPACE, + MASK_SWELL, + PLASTIC_DRILL, + name=str(102))) +pins.append(Pin(103, + mil(380), mil(-380), + PLASTIC_DRILL + MIN_PAD_ANNULUS, + MIN_SPACE, + MASK_SWELL, + PLASTIC_DRILL, + name=str(103))) + +# silkscreen +lines = [] +lines.append(ElementBox( + mil(-700), mil(-580), + mil(730), mil(580), + SILK_LINEWIDTH)) + +lines.append(ElementLine( + mil(730-250), mil(-580), + mil(730-250), mil(580), + SILK_LINEWIDTH)) + + +fp = Footprint( + padpins=pins, + linearcs=lines, + sflags='', + description='' + ) + +fp.mx = 0 +fp.my = 0 +fp.tx = 0 +fp.ty = 0 +fp.write(sys.stdout) + diff --git a/test-pcb/fp/PLASTRONICS_100QN40S1120120.fp b/test-pcb/fp/PLASTRONICS_100QN40S1120120.fp new file mode 100644 index 0000000..de45dcf --- /dev/null +++ b/test-pcb/fp/PLASTRONICS_100QN40S1120120.fp @@ -0,0 +1,211 @@ +Element ["" "" "" "" 0nm 0nm 0nm 0nm 0 100 ""] +( +Pin [-7874000nm -4800000nm 355600nm 152400nm 609600nm 304800nm "1" "1" ""] +Pad [-8356600nm -4800000nm -7391400nm -4800000nm 355600nm 152400nm 609600nm "1" "1" ""] +Pin [-6350000nm -4400000nm 355600nm 152400nm 609600nm 304800nm "2" "2" ""] +Pad [-6832600nm -4400000nm -5867400nm -4400000nm 355600nm 152400nm 609600nm "2" "2" ""] +Pin [-7874000nm -4000000nm 355600nm 152400nm 609600nm 304800nm "3" "3" ""] +Pad [-8356600nm -4000000nm -7391400nm -4000000nm 355600nm 152400nm 609600nm "3" "3" ""] +Pin [-6350000nm -3600000nm 355600nm 152400nm 609600nm 304800nm "4" "4" ""] +Pad [-6832600nm -3600000nm -5867400nm -3600000nm 355600nm 152400nm 609600nm "4" "4" ""] +Pin [-7874000nm -3200000nm 355600nm 152400nm 609600nm 304800nm "5" "5" ""] +Pad [-8356600nm -3200000nm -7391400nm -3200000nm 355600nm 152400nm 609600nm "5" "5" ""] +Pin [-6350000nm -2800000nm 355600nm 152400nm 609600nm 304800nm "6" "6" ""] +Pad [-6832600nm -2800000nm -5867400nm -2800000nm 355600nm 152400nm 609600nm "6" "6" ""] +Pin [-7874000nm -2400000nm 355600nm 152400nm 609600nm 304800nm "7" "7" ""] +Pad [-8356600nm -2400000nm -7391400nm -2400000nm 355600nm 152400nm 609600nm "7" "7" ""] +Pin [-6350000nm -2000000nm 355600nm 152400nm 609600nm 304800nm "8" "8" ""] +Pad [-6832600nm -2000000nm -5867400nm -2000000nm 355600nm 152400nm 609600nm "8" "8" ""] +Pin [-7874000nm -1600000nm 355600nm 152400nm 609600nm 304800nm "9" "9" ""] +Pad [-8356600nm -1600000nm -7391400nm -1600000nm 355600nm 152400nm 609600nm "9" "9" ""] +Pin [-6350000nm -1200000nm 355600nm 152400nm 609600nm 304800nm "10" "10" ""] +Pad [-6832600nm -1200000nm -5867400nm -1200000nm 355600nm 152400nm 609600nm "10" "10" ""] +Pin [-7874000nm -800000nm 355600nm 152400nm 609600nm 304800nm "11" "11" ""] +Pad [-8356600nm -800000nm -7391400nm -800000nm 355600nm 152400nm 609600nm "11" "11" ""] +Pin [-6350000nm -400000nm 355600nm 152400nm 609600nm 304800nm "12" "12" ""] +Pad [-6832600nm -400000nm -5867400nm -400000nm 355600nm 152400nm 609600nm "12" "12" ""] +Pin [-7874000nm 0nm 355600nm 152400nm 609600nm 304800nm "13" "13" ""] +Pad [-8356600nm 0nm -7391400nm 0nm 355600nm 152400nm 609600nm "13" "13" ""] +Pin [-6350000nm 400000nm 355600nm 152400nm 609600nm 304800nm "14" "14" ""] +Pad [-6832600nm 400000nm -5867400nm 400000nm 355600nm 152400nm 609600nm "14" "14" ""] +Pin [-7874000nm 800000nm 355600nm 152400nm 609600nm 304800nm "15" "15" ""] +Pad [-8356600nm 800000nm -7391400nm 800000nm 355600nm 152400nm 609600nm "15" "15" ""] +Pin [-6350000nm 1200000nm 355600nm 152400nm 609600nm 304800nm "16" "16" ""] +Pad [-6832600nm 1200000nm -5867400nm 1200000nm 355600nm 152400nm 609600nm "16" "16" ""] +Pin [-7874000nm 1600000nm 355600nm 152400nm 609600nm 304800nm "17" "17" ""] +Pad [-8356600nm 1600000nm -7391400nm 1600000nm 355600nm 152400nm 609600nm "17" "17" ""] +Pin [-6350000nm 2000000nm 355600nm 152400nm 609600nm 304800nm "18" "18" ""] +Pad [-6832600nm 2000000nm -5867400nm 2000000nm 355600nm 152400nm 609600nm "18" "18" ""] +Pin [-7874000nm 2400000nm 355600nm 152400nm 609600nm 304800nm "19" "19" ""] +Pad [-8356600nm 2400000nm -7391400nm 2400000nm 355600nm 152400nm 609600nm "19" "19" ""] +Pin [-6350000nm 2800000nm 355600nm 152400nm 609600nm 304800nm "20" "20" ""] +Pad [-6832600nm 2800000nm -5867400nm 2800000nm 355600nm 152400nm 609600nm "20" "20" ""] +Pin [-7874000nm 3200000nm 355600nm 152400nm 609600nm 304800nm "21" "21" ""] +Pad [-8356600nm 3200000nm -7391400nm 3200000nm 355600nm 152400nm 609600nm "21" "21" ""] +Pin [-6350000nm 3600000nm 355600nm 152400nm 609600nm 304800nm "22" "22" ""] +Pad [-6832600nm 3600000nm -5867400nm 3600000nm 355600nm 152400nm 609600nm "22" "22" ""] +Pin [-7874000nm 4000000nm 355600nm 152400nm 609600nm 304800nm "23" "23" ""] +Pad [-8356600nm 4000000nm -7391400nm 4000000nm 355600nm 152400nm 609600nm "23" "23" ""] +Pin [-6350000nm 4400000nm 355600nm 152400nm 609600nm 304800nm "24" "24" ""] +Pad [-6832600nm 4400000nm -5867400nm 4400000nm 355600nm 152400nm 609600nm "24" "24" ""] +Pin [-7874000nm 4800000nm 355600nm 152400nm 609600nm 304800nm "25" "25" ""] +Pad [-8356600nm 4800000nm -7391400nm 4800000nm 355600nm 152400nm 609600nm "25" "25" ""] +Pin [-4800000nm 7874000nm 355600nm 152400nm 609600nm 304800nm "26" "26" ""] +Pad [-4800000nm 7391400nm -4800000nm 8356600nm 355600nm 152400nm 609600nm "26" "26" ""] +Pin [-4400000nm 6350000nm 355600nm 152400nm 609600nm 304800nm "27" "27" ""] +Pad [-4400000nm 5867400nm -4400000nm 6832600nm 355600nm 152400nm 609600nm "27" "27" ""] +Pin [-4000000nm 7874000nm 355600nm 152400nm 609600nm 304800nm "28" "28" ""] +Pad [-4000000nm 7391400nm -4000000nm 8356600nm 355600nm 152400nm 609600nm "28" "28" ""] +Pin [-3600000nm 6350000nm 355600nm 152400nm 609600nm 304800nm "29" "29" ""] +Pad [-3600000nm 5867400nm -3600000nm 6832600nm 355600nm 152400nm 609600nm "29" "29" ""] +Pin [-3200000nm 7874000nm 355600nm 152400nm 609600nm 304800nm "30" "30" ""] +Pad [-3200000nm 7391400nm -3200000nm 8356600nm 355600nm 152400nm 609600nm "30" "30" ""] +Pin [-2800000nm 6350000nm 355600nm 152400nm 609600nm 304800nm "31" "31" ""] +Pad [-2800000nm 5867400nm -2800000nm 6832600nm 355600nm 152400nm 609600nm "31" "31" ""] +Pin [-2400000nm 7874000nm 355600nm 152400nm 609600nm 304800nm "32" "32" ""] +Pad [-2400000nm 7391400nm -2400000nm 8356600nm 355600nm 152400nm 609600nm "32" "32" ""] +Pin [-2000000nm 6350000nm 355600nm 152400nm 609600nm 304800nm "33" "33" ""] +Pad [-2000000nm 5867400nm -2000000nm 6832600nm 355600nm 152400nm 609600nm "33" "33" ""] +Pin [-1600000nm 7874000nm 355600nm 152400nm 609600nm 304800nm "34" "34" ""] +Pad [-1600000nm 7391400nm -1600000nm 8356600nm 355600nm 152400nm 609600nm "34" "34" ""] +Pin [-1200000nm 6350000nm 355600nm 152400nm 609600nm 304800nm "35" "35" ""] +Pad [-1200000nm 5867400nm -1200000nm 6832600nm 355600nm 152400nm 609600nm "35" "35" ""] +Pin [-800000nm 7874000nm 355600nm 152400nm 609600nm 304800nm "36" "36" ""] +Pad [-800000nm 7391400nm -800000nm 8356600nm 355600nm 152400nm 609600nm "36" "36" ""] +Pin [-400000nm 6350000nm 355600nm 152400nm 609600nm 304800nm "37" "37" ""] +Pad [-400000nm 5867400nm -400000nm 6832600nm 355600nm 152400nm 609600nm "37" "37" ""] +Pin [0nm 7874000nm 355600nm 152400nm 609600nm 304800nm "38" "38" ""] +Pad [0nm 7391400nm 0nm 8356600nm 355600nm 152400nm 609600nm "38" "38" ""] +Pin [400000nm 6350000nm 355600nm 152400nm 609600nm 304800nm "39" "39" ""] +Pad [400000nm 5867400nm 400000nm 6832600nm 355600nm 152400nm 609600nm "39" "39" ""] +Pin [800000nm 7874000nm 355600nm 152400nm 609600nm 304800nm "40" "40" ""] +Pad [800000nm 7391400nm 800000nm 8356600nm 355600nm 152400nm 609600nm "40" "40" ""] +Pin [1200000nm 6350000nm 355600nm 152400nm 609600nm 304800nm "41" "41" ""] +Pad [1200000nm 5867400nm 1200000nm 6832600nm 355600nm 152400nm 609600nm "41" "41" ""] +Pin [1600000nm 7874000nm 355600nm 152400nm 609600nm 304800nm "42" "42" ""] +Pad [1600000nm 7391400nm 1600000nm 8356600nm 355600nm 152400nm 609600nm "42" "42" ""] +Pin [2000000nm 6350000nm 355600nm 152400nm 609600nm 304800nm "43" "43" ""] +Pad [2000000nm 5867400nm 2000000nm 6832600nm 355600nm 152400nm 609600nm "43" "43" ""] +Pin [2400000nm 7874000nm 355600nm 152400nm 609600nm 304800nm "44" "44" ""] +Pad [2400000nm 7391400nm 2400000nm 8356600nm 355600nm 152400nm 609600nm "44" "44" ""] +Pin [2800000nm 6350000nm 355600nm 152400nm 609600nm 304800nm "45" "45" ""] +Pad [2800000nm 5867400nm 2800000nm 6832600nm 355600nm 152400nm 609600nm "45" "45" ""] +Pin [3200000nm 7874000nm 355600nm 152400nm 609600nm 304800nm "46" "46" ""] +Pad [3200000nm 7391400nm 3200000nm 8356600nm 355600nm 152400nm 609600nm "46" "46" ""] +Pin [3600000nm 6350000nm 355600nm 152400nm 609600nm 304800nm "47" "47" ""] +Pad [3600000nm 5867400nm 3600000nm 6832600nm 355600nm 152400nm 609600nm "47" "47" ""] +Pin [4000000nm 7874000nm 355600nm 152400nm 609600nm 304800nm "48" "48" ""] +Pad [4000000nm 7391400nm 4000000nm 8356600nm 355600nm 152400nm 609600nm "48" "48" ""] +Pin [4400000nm 6350000nm 355600nm 152400nm 609600nm 304800nm "49" "49" ""] +Pad [4400000nm 5867400nm 4400000nm 6832600nm 355600nm 152400nm 609600nm "49" "49" ""] +Pin [4800000nm 7874000nm 355600nm 152400nm 609600nm 304800nm "50" "50" ""] +Pad [4800000nm 7391400nm 4800000nm 8356600nm 355600nm 152400nm 609600nm "50" "50" ""] +Pin [7874000nm 4800000nm 355600nm 152400nm 609600nm 304800nm "51" "51" ""] +Pad [7391400nm 4800000nm 8356600nm 4800000nm 355600nm 152400nm 609600nm "51" "51" ""] +Pin [6350000nm 4400000nm 355600nm 152400nm 609600nm 304800nm "52" "52" ""] +Pad [5867400nm 4400000nm 6832600nm 4400000nm 355600nm 152400nm 609600nm "52" "52" ""] +Pin [7874000nm 4000000nm 355600nm 152400nm 609600nm 304800nm "53" "53" ""] +Pad [7391400nm 4000000nm 8356600nm 4000000nm 355600nm 152400nm 609600nm "53" "53" ""] +Pin [6350000nm 3600000nm 355600nm 152400nm 609600nm 304800nm "54" "54" ""] +Pad [5867400nm 3600000nm 6832600nm 3600000nm 355600nm 152400nm 609600nm "54" "54" ""] +Pin [7874000nm 3200000nm 355600nm 152400nm 609600nm 304800nm "55" "55" ""] +Pad [7391400nm 3200000nm 8356600nm 3200000nm 355600nm 152400nm 609600nm "55" "55" ""] +Pin [6350000nm 2800000nm 355600nm 152400nm 609600nm 304800nm "56" "56" ""] +Pad [5867400nm 2800000nm 6832600nm 2800000nm 355600nm 152400nm 609600nm "56" "56" ""] +Pin [7874000nm 2400000nm 355600nm 152400nm 609600nm 304800nm "57" "57" ""] +Pad [7391400nm 2400000nm 8356600nm 2400000nm 355600nm 152400nm 609600nm "57" "57" ""] +Pin [6350000nm 2000000nm 355600nm 152400nm 609600nm 304800nm "58" "58" ""] +Pad [5867400nm 2000000nm 6832600nm 2000000nm 355600nm 152400nm 609600nm "58" "58" ""] +Pin [7874000nm 1600000nm 355600nm 152400nm 609600nm 304800nm "59" "59" ""] +Pad [7391400nm 1600000nm 8356600nm 1600000nm 355600nm 152400nm 609600nm "59" "59" ""] +Pin [6350000nm 1200000nm 355600nm 152400nm 609600nm 304800nm "60" "60" ""] +Pad [5867400nm 1200000nm 6832600nm 1200000nm 355600nm 152400nm 609600nm "60" "60" ""] +Pin [7874000nm 800000nm 355600nm 152400nm 609600nm 304800nm "61" "61" ""] +Pad [7391400nm 800000nm 8356600nm 800000nm 355600nm 152400nm 609600nm "61" "61" ""] +Pin [6350000nm 400000nm 355600nm 152400nm 609600nm 304800nm "62" "62" ""] +Pad [5867400nm 400000nm 6832600nm 400000nm 355600nm 152400nm 609600nm "62" "62" ""] +Pin [7874000nm 0nm 355600nm 152400nm 609600nm 304800nm "63" "63" ""] +Pad [7391400nm 0nm 8356600nm 0nm 355600nm 152400nm 609600nm "63" "63" ""] +Pin [6350000nm -400000nm 355600nm 152400nm 609600nm 304800nm "64" "64" ""] +Pad [5867400nm -400000nm 6832600nm -400000nm 355600nm 152400nm 609600nm "64" "64" ""] +Pin [7874000nm -800000nm 355600nm 152400nm 609600nm 304800nm "65" "65" ""] +Pad [7391400nm -800000nm 8356600nm -800000nm 355600nm 152400nm 609600nm "65" "65" ""] +Pin [6350000nm -1200000nm 355600nm 152400nm 609600nm 304800nm "66" "66" ""] +Pad [5867400nm -1200000nm 6832600nm -1200000nm 355600nm 152400nm 609600nm "66" "66" ""] +Pin [7874000nm -1600000nm 355600nm 152400nm 609600nm 304800nm "67" "67" ""] +Pad [7391400nm -1600000nm 8356600nm -1600000nm 355600nm 152400nm 609600nm "67" "67" ""] +Pin [6350000nm -2000000nm 355600nm 152400nm 609600nm 304800nm "68" "68" ""] +Pad [5867400nm -2000000nm 6832600nm -2000000nm 355600nm 152400nm 609600nm "68" "68" ""] +Pin [7874000nm -2400000nm 355600nm 152400nm 609600nm 304800nm "69" "69" ""] +Pad [7391400nm -2400000nm 8356600nm -2400000nm 355600nm 152400nm 609600nm "69" "69" ""] +Pin [6350000nm -2800000nm 355600nm 152400nm 609600nm 304800nm "70" "70" ""] +Pad [5867400nm -2800000nm 6832600nm -2800000nm 355600nm 152400nm 609600nm "70" "70" ""] +Pin [7874000nm -3200000nm 355600nm 152400nm 609600nm 304800nm "71" "71" ""] +Pad [7391400nm -3200000nm 8356600nm -3200000nm 355600nm 152400nm 609600nm "71" "71" ""] +Pin [6350000nm -3600000nm 355600nm 152400nm 609600nm 304800nm "72" "72" ""] +Pad [5867400nm -3600000nm 6832600nm -3600000nm 355600nm 152400nm 609600nm "72" "72" ""] +Pin [7874000nm -4000000nm 355600nm 152400nm 609600nm 304800nm "73" "73" ""] +Pad [7391400nm -4000000nm 8356600nm -4000000nm 355600nm 152400nm 609600nm "73" "73" ""] +Pin [6350000nm -4400000nm 355600nm 152400nm 609600nm 304800nm "74" "74" ""] +Pad [5867400nm -4400000nm 6832600nm -4400000nm 355600nm 152400nm 609600nm "74" "74" ""] +Pin [7874000nm -4800000nm 355600nm 152400nm 609600nm 304800nm "75" "75" ""] +Pad [7391400nm -4800000nm 8356600nm -4800000nm 355600nm 152400nm 609600nm "75" "75" ""] +Pin [4800000nm -7874000nm 355600nm 152400nm 609600nm 304800nm "76" "76" ""] +Pad [4800000nm -8356600nm 4800000nm -7391400nm 355600nm 152400nm 609600nm "76" "76" ""] +Pin [4400000nm -6350000nm 355600nm 152400nm 609600nm 304800nm "77" "77" ""] +Pad [4400000nm -6832600nm 4400000nm -5867400nm 355600nm 152400nm 609600nm "77" "77" ""] +Pin [4000000nm -7874000nm 355600nm 152400nm 609600nm 304800nm "78" "78" ""] +Pad [4000000nm -8356600nm 4000000nm -7391400nm 355600nm 152400nm 609600nm "78" "78" ""] +Pin [3600000nm -6350000nm 355600nm 152400nm 609600nm 304800nm "79" "79" ""] +Pad [3600000nm -6832600nm 3600000nm -5867400nm 355600nm 152400nm 609600nm "79" "79" ""] +Pin [3200000nm -7874000nm 355600nm 152400nm 609600nm 304800nm "80" "80" ""] +Pad [3200000nm -8356600nm 3200000nm -7391400nm 355600nm 152400nm 609600nm "80" "80" ""] +Pin [2800000nm -6350000nm 355600nm 152400nm 609600nm 304800nm "81" "81" ""] +Pad [2800000nm -6832600nm 2800000nm -5867400nm 355600nm 152400nm 609600nm "81" "81" ""] +Pin [2400000nm -7874000nm 355600nm 152400nm 609600nm 304800nm "82" "82" ""] +Pad [2400000nm -8356600nm 2400000nm -7391400nm 355600nm 152400nm 609600nm "82" "82" ""] +Pin [2000000nm -6350000nm 355600nm 152400nm 609600nm 304800nm "83" "83" ""] +Pad [2000000nm -6832600nm 2000000nm -5867400nm 355600nm 152400nm 609600nm "83" "83" ""] +Pin [1600000nm -7874000nm 355600nm 152400nm 609600nm 304800nm "84" "84" ""] +Pad [1600000nm -8356600nm 1600000nm -7391400nm 355600nm 152400nm 609600nm "84" "84" ""] +Pin [1200000nm -6350000nm 355600nm 152400nm 609600nm 304800nm "85" "85" ""] +Pad [1200000nm -6832600nm 1200000nm -5867400nm 355600nm 152400nm 609600nm "85" "85" ""] +Pin [800000nm -7874000nm 355600nm 152400nm 609600nm 304800nm "86" "86" ""] +Pad [800000nm -8356600nm 800000nm -7391400nm 355600nm 152400nm 609600nm "86" "86" ""] +Pin [400000nm -6350000nm 355600nm 152400nm 609600nm 304800nm "87" "87" ""] +Pad [400000nm -6832600nm 400000nm -5867400nm 355600nm 152400nm 609600nm "87" "87" ""] +Pin [0nm -7874000nm 355600nm 152400nm 609600nm 304800nm "88" "88" ""] +Pad [0nm -8356600nm 0nm -7391400nm 355600nm 152400nm 609600nm "88" "88" ""] +Pin [-400000nm -6350000nm 355600nm 152400nm 609600nm 304800nm "89" "89" ""] +Pad [-400000nm -6832600nm -400000nm -5867400nm 355600nm 152400nm 609600nm "89" "89" ""] +Pin [-800000nm -7874000nm 355600nm 152400nm 609600nm 304800nm "90" "90" ""] +Pad [-800000nm -8356600nm -800000nm -7391400nm 355600nm 152400nm 609600nm "90" "90" ""] +Pin [-1200000nm -6350000nm 355600nm 152400nm 609600nm 304800nm "91" "91" ""] +Pad [-1200000nm -6832600nm -1200000nm -5867400nm 355600nm 152400nm 609600nm "91" "91" ""] +Pin [-1600000nm -7874000nm 355600nm 152400nm 609600nm 304800nm "92" "92" ""] +Pad [-1600000nm -8356600nm -1600000nm -7391400nm 355600nm 152400nm 609600nm "92" "92" ""] +Pin [-2000000nm -6350000nm 355600nm 152400nm 609600nm 304800nm "93" "93" ""] +Pad [-2000000nm -6832600nm -2000000nm -5867400nm 355600nm 152400nm 609600nm "93" "93" ""] +Pin [-2400000nm -7874000nm 355600nm 152400nm 609600nm 304800nm "94" "94" ""] +Pad [-2400000nm -8356600nm -2400000nm -7391400nm 355600nm 152400nm 609600nm "94" "94" ""] +Pin [-2800000nm -6350000nm 355600nm 152400nm 609600nm 304800nm "95" "95" ""] +Pad [-2800000nm -6832600nm -2800000nm -5867400nm 355600nm 152400nm 609600nm "95" "95" ""] +Pin [-3200000nm -7874000nm 355600nm 152400nm 609600nm 304800nm "96" "96" ""] +Pad [-3200000nm -8356600nm -3200000nm -7391400nm 355600nm 152400nm 609600nm "96" "96" ""] +Pin [-3600000nm -6350000nm 355600nm 152400nm 609600nm 304800nm "97" "97" ""] +Pad [-3600000nm -6832600nm -3600000nm -5867400nm 355600nm 152400nm 609600nm "97" "97" ""] +Pin [-4000000nm -7874000nm 355600nm 152400nm 609600nm 304800nm "98" "98" ""] +Pad [-4000000nm -8356600nm -4000000nm -7391400nm 355600nm 152400nm 609600nm "98" "98" ""] +Pin [-4400000nm -6350000nm 355600nm 152400nm 609600nm 304800nm "99" "99" ""] +Pad [-4400000nm -6832600nm -4400000nm -5867400nm 355600nm 152400nm 609600nm "99" "99" ""] +Pin [-4800000nm -7874000nm 355600nm 152400nm 609600nm 304800nm "100" "100" ""] +Pad [-4800000nm -8356600nm -4800000nm -7391400nm 355600nm 152400nm 609600nm "100" "100" ""] +Pin [0nm 0nm 1808480nm 152400nm 2062480nm 1097280nm "101" "101" ""] +Pin [-9652000nm 9652000nm 1905000nm 152400nm 2159000nm 1549400nm "102" "102" ""] +Pin [9652000nm -9652000nm 1905000nm 152400nm 2159000nm 1549400nm "103" "103" ""] +ElementLine [-17780000nm -14732000nm -17780000nm 14732000nm 203200nm] +ElementLine [-17780000nm 14732000nm 18542000nm 14732000nm 203200nm] +ElementLine [18542000nm 14732000nm 18542000nm -14732000nm 203200nm] +ElementLine [18542000nm -14732000nm -17780000nm -14732000nm 203200nm] +ElementLine [12192000nm -14732000nm 12192000nm 14732000nm 203200nm] +) diff --git a/test-pcb/fp/SEMPAC_12x12_100A.fp b/test-pcb/fp/SEMPAC_12x12_100A.fp new file mode 100644 index 0000000..eaceec7 --- /dev/null +++ b/test-pcb/fp/SEMPAC_12x12_100A.fp @@ -0,0 +1,113 @@ +Element ["" "" "" "" 6000000nm 6000000nm 6000000nm 6000000nm 0 100 ""] +( +Pad [-6300000nm -4800000nm -5650000nm -4800000nm 200000nm 152400nm 327000nm "1" "1" "square"] +Pad [-6300000nm -4400000nm -5650000nm -4400000nm 200000nm 152400nm 327000nm "2" "2" "square"] +Pad [-6300000nm -4000000nm -5650000nm -4000000nm 200000nm 152400nm 327000nm "3" "3" "square"] +Pad [-6300000nm -3600000nm -5650000nm -3600000nm 200000nm 152400nm 327000nm "4" "4" "square"] +Pad [-6300000nm -3200000nm -5650000nm -3200000nm 200000nm 152400nm 327000nm "5" "5" "square"] +Pad [-6300000nm -2800000nm -5650000nm -2800000nm 200000nm 152400nm 327000nm "6" "6" "square"] +Pad [-6300000nm -2400000nm -5650000nm -2400000nm 200000nm 152400nm 327000nm "7" "7" "square"] +Pad [-6300000nm -2000000nm -5650000nm -2000000nm 200000nm 152400nm 327000nm "8" "8" "square"] +Pad [-6300000nm -1600000nm -5650000nm -1600000nm 200000nm 152400nm 327000nm "9" "9" "square"] +Pad [-6300000nm -1200000nm -5650000nm -1200000nm 200000nm 152400nm 327000nm "10" "10" "square"] +Pad [-6300000nm -800000nm -5650000nm -800000nm 200000nm 152400nm 327000nm "11" "11" "square"] +Pad [-6300000nm -400000nm -5650000nm -400000nm 200000nm 152400nm 327000nm "12" "12" "square"] +Pad [-6300000nm 0nm -5650000nm 0nm 200000nm 152400nm 327000nm "13" "13" "square"] +Pad [-6300000nm 400000nm -5650000nm 400000nm 200000nm 152400nm 327000nm "14" "14" "square"] +Pad [-6300000nm 800000nm -5650000nm 800000nm 200000nm 152400nm 327000nm "15" "15" "square"] +Pad [-6300000nm 1200000nm -5650000nm 1200000nm 200000nm 152400nm 327000nm "16" "16" "square"] +Pad [-6300000nm 1600000nm -5650000nm 1600000nm 200000nm 152400nm 327000nm "17" "17" "square"] +Pad [-6300000nm 2000000nm -5650000nm 2000000nm 200000nm 152400nm 327000nm "18" "18" "square"] +Pad [-6300000nm 2400000nm -5650000nm 2400000nm 200000nm 152400nm 327000nm "19" "19" "square"] +Pad [-6300000nm 2800000nm -5650000nm 2800000nm 200000nm 152400nm 327000nm "20" "20" "square"] +Pad [-6300000nm 3200000nm -5650000nm 3200000nm 200000nm 152400nm 327000nm "21" "21" "square"] +Pad [-6300000nm 3600000nm -5650000nm 3600000nm 200000nm 152400nm 327000nm "22" "22" "square"] +Pad [-6300000nm 4000000nm -5650000nm 4000000nm 200000nm 152400nm 327000nm "23" "23" "square"] +Pad [-6300000nm 4400000nm -5650000nm 4400000nm 200000nm 152400nm 327000nm "24" "24" "square"] +Pad [-6300000nm 4800000nm -5650000nm 4800000nm 200000nm 152400nm 327000nm "25" "25" "square"] +Pad [-4800000nm 5650000nm -4800000nm 6300000nm 200000nm 152400nm 327000nm "26" "26" "square"] +Pad [-4400000nm 5650000nm -4400000nm 6300000nm 200000nm 152400nm 327000nm "27" "27" "square"] +Pad [-4000000nm 5650000nm -4000000nm 6300000nm 200000nm 152400nm 327000nm "28" "28" "square"] +Pad [-3600000nm 5650000nm -3600000nm 6300000nm 200000nm 152400nm 327000nm "29" "29" "square"] +Pad [-3200000nm 5650000nm -3200000nm 6300000nm 200000nm 152400nm 327000nm "30" "30" "square"] +Pad [-2800000nm 5650000nm -2800000nm 6300000nm 200000nm 152400nm 327000nm "31" "31" "square"] +Pad [-2400000nm 5650000nm -2400000nm 6300000nm 200000nm 152400nm 327000nm "32" "32" "square"] +Pad [-2000000nm 5650000nm -2000000nm 6300000nm 200000nm 152400nm 327000nm "33" "33" "square"] +Pad [-1600000nm 5650000nm -1600000nm 6300000nm 200000nm 152400nm 327000nm "34" "34" "square"] +Pad [-1200000nm 5650000nm -1200000nm 6300000nm 200000nm 152400nm 327000nm "35" "35" "square"] +Pad [-800000nm 5650000nm -800000nm 6300000nm 200000nm 152400nm 327000nm "36" "36" "square"] +Pad [-400000nm 5650000nm -400000nm 6300000nm 200000nm 152400nm 327000nm "37" "37" "square"] +Pad [0nm 5650000nm 0nm 6300000nm 200000nm 152400nm 327000nm "38" "38" "square"] +Pad [400000nm 5650000nm 400000nm 6300000nm 200000nm 152400nm 327000nm "39" "39" "square"] +Pad [800000nm 5650000nm 800000nm 6300000nm 200000nm 152400nm 327000nm "40" "40" "square"] +Pad [1200000nm 5650000nm 1200000nm 6300000nm 200000nm 152400nm 327000nm "41" "41" "square"] +Pad [1600000nm 5650000nm 1600000nm 6300000nm 200000nm 152400nm 327000nm "42" "42" "square"] +Pad [2000000nm 5650000nm 2000000nm 6300000nm 200000nm 152400nm 327000nm "43" "43" "square"] +Pad [2400000nm 5650000nm 2400000nm 6300000nm 200000nm 152400nm 327000nm "44" "44" "square"] +Pad [2800000nm 5650000nm 2800000nm 6300000nm 200000nm 152400nm 327000nm "45" "45" "square"] +Pad [3200000nm 5650000nm 3200000nm 6300000nm 200000nm 152400nm 327000nm "46" "46" "square"] +Pad [3600000nm 5650000nm 3600000nm 6300000nm 200000nm 152400nm 327000nm "47" "47" "square"] +Pad [4000000nm 5650000nm 4000000nm 6300000nm 200000nm 152400nm 327000nm "48" "48" "square"] +Pad [4400000nm 5650000nm 4400000nm 6300000nm 200000nm 152400nm 327000nm "49" "49" "square"] +Pad [4800000nm 5650000nm 4800000nm 6300000nm 200000nm 152400nm 327000nm "50" "50" "square"] +Pad [5650000nm 4800000nm 6300000nm 4800000nm 200000nm 152400nm 327000nm "51" "51" "square"] +Pad [5650000nm 4400000nm 6300000nm 4400000nm 200000nm 152400nm 327000nm "52" "52" "square"] +Pad [5650000nm 4000000nm 6300000nm 4000000nm 200000nm 152400nm 327000nm "53" "53" "square"] +Pad [5650000nm 3600000nm 6300000nm 3600000nm 200000nm 152400nm 327000nm "54" "54" "square"] +Pad [5650000nm 3200000nm 6300000nm 3200000nm 200000nm 152400nm 327000nm "55" "55" "square"] +Pad [5650000nm 2800000nm 6300000nm 2800000nm 200000nm 152400nm 327000nm "56" "56" "square"] +Pad [5650000nm 2400000nm 6300000nm 2400000nm 200000nm 152400nm 327000nm "57" "57" "square"] +Pad [5650000nm 2000000nm 6300000nm 2000000nm 200000nm 152400nm 327000nm "58" "58" "square"] +Pad [5650000nm 1600000nm 6300000nm 1600000nm 200000nm 152400nm 327000nm "59" "59" "square"] +Pad [5650000nm 1200000nm 6300000nm 1200000nm 200000nm 152400nm 327000nm "60" "60" "square"] +Pad [5650000nm 800000nm 6300000nm 800000nm 200000nm 152400nm 327000nm "61" "61" "square"] +Pad [5650000nm 400000nm 6300000nm 400000nm 200000nm 152400nm 327000nm "62" "62" "square"] +Pad [5650000nm 0nm 6300000nm 0nm 200000nm 152400nm 327000nm "63" "63" "square"] +Pad [5650000nm -400000nm 6300000nm -400000nm 200000nm 152400nm 327000nm "64" "64" "square"] +Pad [5650000nm -800000nm 6300000nm -800000nm 200000nm 152400nm 327000nm "65" "65" "square"] +Pad [5650000nm -1200000nm 6300000nm -1200000nm 200000nm 152400nm 327000nm "66" "66" "square"] +Pad [5650000nm -1600000nm 6300000nm -1600000nm 200000nm 152400nm 327000nm "67" "67" "square"] +Pad [5650000nm -2000000nm 6300000nm -2000000nm 200000nm 152400nm 327000nm "68" "68" "square"] +Pad [5650000nm -2400000nm 6300000nm -2400000nm 200000nm 152400nm 327000nm "69" "69" "square"] +Pad [5650000nm -2800000nm 6300000nm -2800000nm 200000nm 152400nm 327000nm "70" "70" "square"] +Pad [5650000nm -3200000nm 6300000nm -3200000nm 200000nm 152400nm 327000nm "71" "71" "square"] +Pad [5650000nm -3600000nm 6300000nm -3600000nm 200000nm 152400nm 327000nm "72" "72" "square"] +Pad [5650000nm -4000000nm 6300000nm -4000000nm 200000nm 152400nm 327000nm "73" "73" "square"] +Pad [5650000nm -4400000nm 6300000nm -4400000nm 200000nm 152400nm 327000nm "74" "74" "square"] +Pad [5650000nm -4800000nm 6300000nm -4800000nm 200000nm 152400nm 327000nm "75" "75" "square"] +Pad [4800000nm -6300000nm 4800000nm -5650000nm 200000nm 152400nm 327000nm "76" "76" "square"] +Pad [4400000nm -6300000nm 4400000nm -5650000nm 200000nm 152400nm 327000nm "77" "77" "square"] +Pad [4000000nm -6300000nm 4000000nm -5650000nm 200000nm 152400nm 327000nm "78" "78" "square"] +Pad [3600000nm -6300000nm 3600000nm -5650000nm 200000nm 152400nm 327000nm "79" "79" "square"] +Pad [3200000nm -6300000nm 3200000nm -5650000nm 200000nm 152400nm 327000nm "80" "80" "square"] +Pad [2800000nm -6300000nm 2800000nm -5650000nm 200000nm 152400nm 327000nm "81" "81" "square"] +Pad [2400000nm -6300000nm 2400000nm -5650000nm 200000nm 152400nm 327000nm "82" "82" "square"] +Pad [2000000nm -6300000nm 2000000nm -5650000nm 200000nm 152400nm 327000nm "83" "83" "square"] +Pad [1600000nm -6300000nm 1600000nm -5650000nm 200000nm 152400nm 327000nm "84" "84" "square"] +Pad [1200000nm -6300000nm 1200000nm -5650000nm 200000nm 152400nm 327000nm "85" "85" "square"] +Pad [800000nm -6300000nm 800000nm -5650000nm 200000nm 152400nm 327000nm "86" "86" "square"] +Pad [400000nm -6300000nm 400000nm -5650000nm 200000nm 152400nm 327000nm "87" "87" "square"] +Pad [0nm -6300000nm 0nm -5650000nm 200000nm 152400nm 327000nm "88" "88" "square"] +Pad [-400000nm -6300000nm -400000nm -5650000nm 200000nm 152400nm 327000nm "89" "89" "square"] +Pad [-800000nm -6300000nm -800000nm -5650000nm 200000nm 152400nm 327000nm "90" "90" "square"] +Pad [-1200000nm -6300000nm -1200000nm -5650000nm 200000nm 152400nm 327000nm "91" "91" "square"] +Pad [-1600000nm -6300000nm -1600000nm -5650000nm 200000nm 152400nm 327000nm "92" "92" "square"] +Pad [-2000000nm -6300000nm -2000000nm -5650000nm 200000nm 152400nm 327000nm "93" "93" "square"] +Pad [-2400000nm -6300000nm -2400000nm -5650000nm 200000nm 152400nm 327000nm "94" "94" "square"] +Pad [-2800000nm -6300000nm -2800000nm -5650000nm 200000nm 152400nm 327000nm "95" "95" "square"] +Pad [-3200000nm -6300000nm -3200000nm -5650000nm 200000nm 152400nm 327000nm "96" "96" "square"] +Pad [-3600000nm -6300000nm -3600000nm -5650000nm 200000nm 152400nm 327000nm "97" "97" "square"] +Pad [-4000000nm -6300000nm -4000000nm -5650000nm 200000nm 152400nm 327000nm "98" "98" "square"] +Pad [-4400000nm -6300000nm -4400000nm -5650000nm 200000nm 152400nm 327000nm "99" "99" "square"] +Pad [-4800000nm -6300000nm -4800000nm -5650000nm 200000nm 152400nm 327000nm "100" "100" "square"] +Pad [0nm 0nm 0nm 0nm 9200000nm 152400nm 9327000nm "ep" "101" "square"] +ElementLine [-6654000nm -6654000nm -6654000nm 6654000nm 203200nm] +ElementLine [-6654000nm 6654000nm 6654000nm 6654000nm 203200nm] +ElementLine [6654000nm 6654000nm 6654000nm -6654000nm 203200nm] +ElementLine [6654000nm -6654000nm -6654000nm -6654000nm 203200nm] +ElementLine [-6654000nm -6369520nm -6369520nm -6654000nm 203200nm] +ElementLine [-6654000nm -6085040nm -6085040nm -6654000nm 203200nm] +ElementLine [-6654000nm -5800560nm -5800560nm -6654000nm 203200nm] +ElementLine [-6654000nm -5516080nm -5516080nm -6654000nm 203200nm] +ElementLine [-6654000nm -5231600nm -5231600nm -6654000nm 203200nm] +)