/* MACHINE-GENERATED ! */ frame pad_r { ll: vec @(0mm, -b/2) x: vec .(a, 0mm) y: vec ll(0mm, b) pad "2" . x } frame pad_l { ll: vec @(-a, -b/2) w: vec .(a, 0mm) h: vec ll(0mm, b) pad "1" . w } frame pads { left: vec @(-e/2, 0mm) frame pad_l . right: vec @(e/2, 0mm) frame pad_r . } frame outline { ll: vec @(-Ox/2, -Oy/2) ur: vec @(Ox/2, Oy/2) __0: vec @(0mm, W/2+D+clear) __2: vec .(lightW/2, 0mm) __1: vec .(lightS/2, -(W/2+D+clear-Oy/2)) line ur . w line __2 . w __3: vec __0(-lightW/2, 0mm) line . __2 w __4: vec .(-lightS/2, -(W/2+D+clear-Oy/2)) line . __3 w __6: vec @(Ox/2, -Oy/2) line ur . w line . ll w __7: vec @(-Ox/2, Oy/2) line ll . w line . __4 w __12: vec @(Ox/2+2*clear, 0mm) __13: vec .(0mm, Oy/2) __14: vec __12(0mm, -Oy/2) line __13 . w } package "LEDSMD-$name" unit auto table { name, L, W, D, lightW, lightS, a, b, e, clear } { "0603R", 1.6mm, 0.6mm, 0.6mm, 1.1mm, 1.2mm, 0.9mm, 1mm, 0.7mm, 0.15mm } set w = 5mil set Ox = e+2*a+2*clear set Oy = b+2*clear frame pads @ frame outline @ measx pad_l.w >> pad_r.ll -0.5mm measx pad_l.ll -> pad_l.w -0.5mm measy pad_l.ll >> pad_l.h 0.5mm measx outline.ll >> outline.ur Oy+1mm measy outline.ur >> outline.ll -Ox-1mm measx pad_l.ll >> pad_r.x -1mm