From 081a8b8402e7444c2342bf3c969561174e5ff7e2 Mon Sep 17 00:00:00 2001 From: Adam Wang Date: Tue, 12 Jun 2012 16:34:53 +0800 Subject: [PATCH] he-shrouded.fpd: SMD type header with shrouded case outline --- modules/INFO | 7 +++++ modules/he-shrouded.fpd | 70 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 modules/he-shrouded.fpd diff --git a/modules/INFO b/modules/INFO index f55b703..8efceb0 100644 --- a/modules/INFO +++ b/modules/INFO @@ -71,6 +71,13 @@ F: eus # Fiducial (1 mm copper pad, 2 mm solder mask clearance) F: fiducial +# Header with outline for shrouded wafer for example, SMD type +F: he-shrouded +# +# - ${n}x2pins-${pitch}: for example Molex: the 87832-1420 data sheet, package drawing +# http://www.molex.com/pdm_docs/sd/878321420_sd.pdf +# + # IR Receiver Module F: ir # diff --git a/modules/he-shrouded.fpd b/modules/he-shrouded.fpd new file mode 100644 index 0000000..91ff836 --- /dev/null +++ b/modules/he-shrouded.fpd @@ -0,0 +1,70 @@ +/* MACHINE-GENERATED ! */ + +frame pin { + __0: vec @(px/2, py/2) + __1: vec @(-px/2, -py/2) + pad "$n" . __0 +} + +frame pins_top { + set n = i*2+2 + + __0: vec @(x, 0mm) + frame pin . +} + +frame pins_bottom { + set n = i*2+1 + + __0: vec @(x, 0mm) + frame pin . +} + +frame pins { + set y = (gap+py)/2 + + set x = (i-(N/2-1)/2)*pitch + + loop i = 0, N/2-1 + + __0: vec @(0mm, y) + frame pins_top . + __1: vec @(0mm, -y) + frame pins_bottom . +} + +frame npth { +} + +frame outline { + set r = 0.3mm + + __0: vec @(W/2, py+gap/2+w) + __1: vec @(-W/2, -(gap/2+py+w)) + rect . __0 w + __2: vec @(-(W/2+2*r), -H/2) + __3: vec .(r, 0mm) + circ __2 . w +} + +package "${n}x2pins-${pitch}" +unit auto + +table + { N, n, pitch, px, py, gap, H, base, W } + { 4, N/2, 2mm, 1mm, 2.75mm, 1.5mm, 6.3mm, 6.65mm, base+(N-4)*1mm } + { 14, N/2, 2mm, 1mm, 2.75mm, 1.5mm, 6.3mm, 6.65mm, base+(N-4)*1mm } + +set w = 5mil + +frame outline @ +frame pins @ +measy outline.__1 >> outline.__0 -(W+px) +measx outline.__1 >> outline.__0 H+py/2+4*w +measy pin.__1 -> pin.__0 px/2 +measy pin.__1 >> pin.__0 -(W/2+pitch) +measy pin.__0 >> pin.__1 -(pitch+px/2) +measx pins_top.__0 -> pins_top.__0 px/2 +measy pins.__0 << pins_bottom.__0 -3*px/2 +measx pin.__1 -> pin.__0 -4*w +meas pins_top.__0 >> pins_top.__0 py/2+4*w