/* MACHINE-GENERATED ! */ frame thermal { table { ?features, dx, d } { "-TH", -0.4mm, 0.2mm } { "-TH", 0.4mm, 0.2mm } __0: vec @(dx, 0mm) __1: vec .(d/2, d/2) __2: vec __0(-d/2, -d/2) hole . __1 } frame pad { set n = pins+1 __0: vec @(cx/2, cy/2) __1: vec @(-cx/2, -cy/2) pad "$n" . __0 frame thermal @ } frame pin { __0: vec @(px/2, py/2) __1: vec @(-px/2, -py/2) pad "$n" . __0 } frame pins { set x = e*(i-(pins/2-1)/2) set y = (iy+oy)/4*dy set n = a+f*i table { dy, f, a } { 1, -1, pins } { -1, 1, 1 } loop i = 0, pins/2-1 __0: vec @(x, y) frame pin . } frame outline { set x = (X+gap)/2 set y = (Y+gap)/2 __0: vec @(X/2, Y/2) __6: vec .(gap, gap) __1: vec @(X/2, -Y/2) __2: vec .(gap, -gap) line __6 . w __3: vec @(-X/2, Y/2) __7: vec .(-gap, gap) __8: vec @(-X/2, -Y/2) __9: vec .(-gap, -gap) line __7 . w __4: vec .(-(w+r+0.1mm), r) __5: vec .(0mm, r) circ __4 . w } package "DFN-$pins$variant$features" unit mm allow holes table { pins, variant, features, X, Y, e, iy, oy, px, cx, cy, gap_base } { 8, "", "", 2mm, 2mm, 0.5mm, 1.4mm, 2.4mm, 0.28mm, 1.3mm, 0.7mm, 0.2mm } { 8, "-0.4mm", "", 1.7mm, 1.35mm, 0.4mm, 0.8mm, 1.75mm, 0.2mm, 1mm, 0.4mm, 0.1mm } { 6, "-0.65mm", "", 2.2mm, 2.3mm, 0.65mm, 1.7mm, 2.9mm, 0.25mm, 1.2mm, 0.75mm, 0mm } { 6, "-0.65mm", "-TH", 2mm, 2.1mm, 0.65mm, 1.4mm, 2.8mm, 0.3mm, 1.6mm, 1mm, 0mm } set py = (oy-iy)/2 set w = 5mil set gap = gap_base+w/2 set r = 0.25mm frame pins @ frame pad @ frame outline @ measy pin.__1 >> pin.__0 2mm measy pin.__0 >> pin.__1 2mm measy pad.__1 >> pad.__0 1.5mm measx pin.__1 >> pin.__0 -1mm measx pin.__1 -> pin.__0 -0.5mm measy pin.__1 -> pin.__0 2mm-px measx pins.__0 -> pins.__0 oy+0.5mm measy outline.__1 >> outline.__0 -1mm measx outline.__3 >> outline.__0 1.5mm measx pad.__1 >> pad.__0 cy/2 measx thermal.__0 >> thermal.__0 -0.3mm measx thermal.__2 -> thermal.__1 0.4mm