123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /* MACHINE-GENERATED ! */
- frame hole {
- __0: vec @(hole/2, hole/2)
- __1: vec @(-hole/2, -hole/2)
- hole . __0
- }
- frame pin {
- __2: vec @(-ratio*hole/2, ratio*hole/2)
- __3: vec @(ratio*hole/2, -ratio*hole/2)
- rpad "$n" __2 . bare
- frame hole @
- }
- frame pin_top {
- set n = N-i
- frame pin @
- }
- frame pin_bottom {
- set n = i+1
- frame pin @
- }
- frame pins {
- loop i = 0, populated-1
- __0: vec @(pitch*(i-(side-1)/2), 0mm)
- __1: vec .(0mm, width/2)
- frame pin_top .
- __2: vec __0(0mm, -width/2)
- frame pin_bottom .
- }
- frame holes {
- loop i = populated, side-1
- __0: vec @(pitch*(i-(side-1)/2), 0mm)
- __1: vec .(0mm, width/2)
- frame hole .
- __2: vec __0(0mm, -width/2)
- frame hole .
- }
- frame marker {
- set r = (side*pitch-x)/2-w
- set clear = 0.3mm
- __0: vec @(-x/2-r-clear, -y/2+r)
- __1: vec .(0mm, r)
- circ __0 . w
- }
- frame outline {
- set x = (side-1)*pitch+ratio*hole
- set y = width-pitch
- set w = 5mil
- __0: vec @(x/2, y/2)
- __1: vec @(-x/2, -y/2)
- rect . __0 w
- frame marker @
- }
- package "DIP-${N}/${M}-${width}"
- unit mm
- set N = 2*populated
- set M = 2*side
- set width = 300mil
- set hole = 0.8mm
- set ratio = 2
- set pitch = 100mil
- set side = 3
- set populated = 2
- frame outline @
- frame pins @
- frame holes @
- measx hole.__1 -> hole.__0 -1mm
- measx pin.__2 -> pin.__3 -3mm
- measx outline.__1 >> outline.__0 -4mm
- measy outline.__0 >> outline.__1 1mm
- measy holes.__1 >> holes.__2 3mm
- measx pins.__2 >> pins.__2 2mm
|