/* MACHINE-GENERATED ! */ frame pad { table { h, w } { 2mm+2*enlarge, 1.2mm } __0: vec @(w/2, h/2) __1: vec @(-w/2, -h/2) pad "$name" . __0 } frame pads { table { name, x } { 1, 3.5mm } { 2, 1mm } { 3, -1mm } { 4, -3.5mm } set enlarge = 0.1mm __0: vec @(0mm, 2.6mm+enlarge) __1: vec .(x, 0mm) frame pad . } frame shield { table { name, x } { 5, -B/2 } { 6, B/2 } table { hi, wi } { 2.5mm, 1mm } set ratio = 2 set ho = hi*ratio set wo = wi*ratio __0: vec @(x, 0mm) __1: vec .(wo/2, ho/2) __2: vec __0(-wo/2, -ho/2) rpad "$name" . __1 bare __3: vec __0(wi/2, hi/2) __4: vec __0(-wi/2, -hi/2) hole . __3 } frame holes { set d = 1.15mm table { x } { -C/2 } { C/2 } __0: vec @(x, 0mm) __1: vec .(d/2, d/2) __2: vec __0(-d/2, -d/2) hole . __1 } frame edge { set w = 5mil __0: vec @(0mm, -2.75mm) __1: vec .(B/2, 0mm) __2: vec __0(-B/2, 0mm) line . __1 w } package "USB-A-PLUG-SMT" unit auto table { A, B, C } { 2mm, 11.4mm, 4.5mm } frame edge @ frame holes @ frame pads @ frame shield @ measx pads.__1 >> pads.__1 3mm measx pads.__1 -> pads.__1 2.5mm measx pad.__1 -> pad.__0 3mm measy pad.__1 -> pad.__0 0.5mm measx shield.__2 -> shield.__1 -2.5mm measy shield.__2 -> shield.__1 1.5mm measy shield.__4 -> shield.__3 1mm measx shield.__4 -> shield.__3 -2mm measx shield.__0 >> shield.__0 6.5mm measx holes.__0 >> holes.__0 -1.5mm measy holes.__2 -> holes.__1 1mm measy edge.__1 >> shield.__0 -2mm measy pads.__0 << shield.__0 -2mm