From 110f5602eb1386fd66a4659ae271ddf1854950fb Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Sun, 6 Oct 2013 16:52:16 -0600 Subject: [PATCH] add support for arbitrary pads, use it to add diagonals to cubesatshield --- packages/cubesatshield.5c | 19 +++++++++++++++++++ packages/footprint.5c | 27 +++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/packages/cubesatshield.5c b/packages/cubesatshield.5c index d352524..6326793 100644 --- a/packages/cubesatshield.5c +++ b/packages/cubesatshield.5c @@ -62,6 +62,11 @@ pad_mm(-edge_width / 2, (-shield_width + corner_inset) / 2, pad_width, corner_inset + pad_width, "1", "1"); +pad_mm_arbitrary(-shield_width/2 + corner_inset, -edge_width / 2, + -edge_width / 2, -shield_width/2 + corner_inset, + pad_width, + "1", "1", ""); + /* NE corner */ pad_mm((shield_width - corner_inset) / 2, -edge_width /2, corner_inset + pad_width, pad_width, @@ -71,6 +76,11 @@ pad_mm(edge_width / 2, (-shield_width + corner_inset) / 2, pad_width, corner_inset + pad_width, "1", "1"); +pad_mm_arbitrary(shield_width/2 - corner_inset, -edge_width / 2, + edge_width / 2, -shield_width/2 + corner_inset, + pad_width, + "1", "1", ""); + /* SW corner */ pad_mm((-shield_width + corner_inset) / 2, edge_width /2, corner_inset + pad_width, pad_width, @@ -80,6 +90,11 @@ pad_mm(-edge_width / 2, (shield_width - corner_inset) / 2, pad_width, corner_inset + pad_width, "1", "1"); +pad_mm_arbitrary(-shield_width/2 + corner_inset, edge_width / 2, + -edge_width / 2, shield_width/2 - corner_inset, + pad_width, + "1", "1", ""); + /* SE corner */ pad_mm((shield_width - corner_inset) / 2, edge_width /2, corner_inset + pad_width, pad_width, @@ -89,6 +104,10 @@ pad_mm(edge_width / 2, (shield_width - corner_inset) / 2, pad_width, corner_inset + pad_width, "1", "1"); +pad_mm_arbitrary(shield_width/2 - corner_inset, edge_width / 2, + edge_width / 2, shield_width/2 - corner_inset, + pad_width, + "1", "1", ""); element_end(); diff --git a/packages/footprint.5c b/packages/footprint.5c index 0a080f3..7e45489 100644 --- a/packages/footprint.5c +++ b/packages/footprint.5c @@ -165,6 +165,33 @@ namespace Footprint { num); } +public void pad_mm_arbitrary( real x1, + real y1, + real x2, + real y2, + real thickness, + string name, + string num, + string options) +{ + real clearance = process_clearance; + + real mask = thickness + clearance / 2; + + printf (" Pad["); + printf (" %6d %6d %6d %6d", + mm2mils100(x1), + mm2mils100(y1), + mm2mils100(x2), + mm2mils100(y2)); + printf (" %6d %6d %6d", + mm2mils100(thickness), + mm2mils100(clearance), + mm2mils100(mask)); + printf (" \"%s\" \"%s\" \"%s\"]\n", + name, num, options); +} + public void pin_mm_clear(real x, real y, real drill, real copper, real clearance, string name, string number) -- 2.47.2