diff --git a/modules/eus.fpd b/modules/eus.fpd new file mode 100644 index 0000000..cef3b6f --- /dev/null +++ b/modules/eus.fpd @@ -0,0 +1,104 @@ +/* MACHINE-GENERATED ! */ + +frame pin_b { + __0: vec @(Hole/2, Hole/2) + __1: vec @(-Hole/2, -Hole/2) + hole . __0 + __2: vec @(-ratio*Hole/2, ratio*Hole/2) + __3: vec @(ratio*Hole/2, -ratio*Hole/2) + rpad "$n" __2 . +} + +frame pins_bottom { + set n = i+1 + + __0: vec @(x, 0mm) + frame pin_b . +} + +frame pins_b { + set y = h/2 + + set x = (i-(N/2-1)/2)*Pitch + + loop i = 0, N/2-1 + + __1: vec @(0mm, -y) + frame pins_bottom . +} + +frame pin_t { + __0: vec @(Hole/2, Hole/2) + __1: vec @(-Hole/2, -Hole/2) + hole . __0 + __2: vec @(ratio*Hole/2, -ratio*Hole/2) + __3: vec @(-ratio*Hole/2, ratio*Hole/2) + rpad "$n" . __2 +} + +frame pins_top { + set n = N-i-2 + + __0: vec @(x, 0mm) + frame pin_t . +} + +frame pins_t { + set y = h/2 + + set x = (3*i-(N/2-1)/2)*Pitch + + loop i = 0, 1 + + __0: vec @(0mm, y) + frame pins_top . +} + +frame marker { + set r = ((N/2-1)*Pitch-x)/3 + + __0: vec @(-x/2-Hole+w, -(H-Hole)/2) + __1: vec .(-r/3, 0mm) + circ __0 . w +} + +frame outline { + set w = 5mil + + set x = W + + set y = H + + __0: vec @(x/2, y/2) + __1: vec @(-x/2, -y/2) + rect . __0 w + frame marker @ + frame pins_t @ +} + +package "EUS" +unit mm + +set Pitch = 3.18mm + +set Hole = 1.4mm + +set ratio = 1.8 + +table + { name, N, B, H, h, W } + { "SOIC", 8, 2.8mm, 19.94mm, 15.88mm, 13.59mm } + +frame outline @ +frame pins_b @ +measy pin_b.__1 >> pin_b.__0 -16mm +measx pin_b.__1 -> pin_b.__0 -2mm +measy outline.__0 >> outline.__1 -19mm +measx outline.__1 >> outline.__0 -2mm +measy pin_b.__3 -> pin_b.__2 7.5mm +measy pins_bottom.__0 >> outline.__1 -5mm +measx outline.__1 -> pins_bottom.__0 5mm +measx pins_bottom.__0 -> pins_bottom.__0 3mm +measy outline.__0 << pins_top.__0 -4mm +measx outline.__0 << pins_top.__0 3mm +meas pins_top.__0 >> pins_top.__0 3mm