/*TSOP-6, NTGD1100L*/ frame pad { set name = i ur: vec @(a/2, 0mm) ll: vec .(-a, b) center: vec @(0mm,b/2) pad "$name" ur ll } frame pads_b{ set a=w set b=l loop i=1,nr_b __0: vec @(-(nr_b-1)/2*p+p*(i-1),-B1/2) frame pad . } frame pads_u{ set a=w set b=-l loop i=nr_b+1,nr_b+nr_u __0: vec @((nr_u-1)/2*p-p*(i-(nr_b+1)),B1/2) frame pad . } frame pads { frame pads_b @ frame pads_u @ } frame outline { ur: vec @(A/2,B/2) ll: vec @(-A/2,-B/2) c: vec @(-(nr_u-1)/2*p,-B1/2+l+0.2mm+2*silk) d: vec .(0mm,1.5*silk) rect ur ll silk circ c d silk } package "TSOP-66" unit mm /*pitch*/ set p=0.65mm /*pad width*/ set w=0.35mm /*pad lentgh*/ set l=0.7mm /*distance between outer pad edges*/ set B1=3.4mm /*pin numbers per side*/ set nr_u=33 set nr_b=nr_u /*outline*/ set A=3.1mm set B=1.7mm set silk=0.1mm frame pads @ frame outline @ measy pads_b.__0 -> pads_u.__0 2mm measy pads_u.__0 <- pad.ll -w-1mm measx pad.ll -> pad.ur -l-0.5mm measy pad.ll -> pad.ll 0.5mm measx pads_u.__0 -> pads_u.__0 0.5mm measy pad.center -> pad.center 1.5mm