/* MACHINE-GENERATED ! */

frame pad {
	corner: vec @(-Px/2, -Py/2)
	x: vec .(Px, 0mm)
	y: vec corner(0mm, Py)
	pad "$pad" . x
}

frame pad_ne {
	set pad = 2

	_pad_ne_0: vec @(-Px/2, -Py/2)
	frame pad .
}

frame pad_nw {
	set pad = 1

	_pad_nw_0: vec @(Px/2, -Py/2)
	frame pad .
}

frame pad_sc {
	set pad = 3

	_pad_sc_0: vec @(0mm, Py/2)
	frame pad .
}

frame outline {
	top: vec @(0mm, Oy/2)
	bottom: vec @(0mm, -Oy/2)
	bot_right: vec .(Ox/2, 0mm)
	bot_left: vec bottom(-Ox/2, 0mm)
	line . bot_right 5mil
	top_right: vec top(Ow/2, 0mm)
	top_left: vec top(-Ow/2, 0mm)
	line . top_right 5mil
	middle: vec @(0mm, Oh)
	mid_rightmost: vec .(Ox/2, 0mm)
	line . bot_right 5mil
	mid_leftmost: vec middle(-Ox/2, 0mm)
	line . bot_left 5mil
	mid_right: vec middle(Ow/2, 0mm)
	line top_right . 5mil
	line . mid_rightmost 5mil
	mid_left: vec middle(-Ow/2, 0mm)
	line mid_leftmost . 5mil
	line top_left . 5mil
}

package "SC89"
table
    { Px, Py, Gy, Wx }
    { 0.5mm, 0.6mm, 0.7mm, 1.5mm }

table
    { Ox, Oy, Oh, Ow }
    { 2mm, 2.2mm, 0.6mm, 0.85mm }

ref_up: vec @(0mm, Gy/2)
frame pad_sc .
ref_down_c: vec @(0mm, -Gy/2)
ref_down_r: vec .(Wx/2, 0mm)
frame pad_ne .
ref_down_l: vec ref_down_c(-Wx/2, 0mm)
frame pad_nw .
dummy: vec @(0.2mm, 0mm)
frame outline @
measx pad.corner >> pad.x -0.6mm
measy pad.corner >> pad.y 0.8mm
measy ref_down_l >> pad.corner 0.5mm
measx pad.corner -> pad.x -0.3mm
measy pad.corner >> ref_down_l 0.5mm
measy dummy >> outline.bot_right 1.1mm
measy outline.mid_rightmost >> dummy 0.3mm
measy outline.top_right >> outline.bot_right 1.2mm
measx outline.top_left >> outline.top_right 0.3mm
measx outline.bot_left >> outline.bot_right -0.8mm
