2 * Copyright © 2013 Bdale Garbee <bdale@gag.com>
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 2 of the License.
8 * This program is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 * General Public License for more details.
13 * You should have received a copy of the GNU General Public License along
14 * with this program; if not, write to the Free Software Foundation, Inc.,
15 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
19 * This is a footprint for a fotofab shield mean for boards in the Fox-1
20 * satellite, which a cubesat. The boards are 95mm square with corner
21 * cutouts, the shield is 92mm square with similar cutouts. To be able to
22 * "sweat solder" the shield down to the board, we're going to create what
23 * amounts to a 2mm wide opening in the solder mask over what is presumed to
24 * be ground plane with plenty of vias to whatever the real ground layer is
25 * in the stack. The shield is intended to sit right on the center-line of
26 * the exposed surfaces.
32 real pad_width = 2.00; /* mm */
33 real shield_width = 92.0;
34 real edge_width = 61.0;
35 real corner_inset = 8.0;
37 element_start("cubesatshield");
40 pad_mm(-shield_width / 2, 0,
41 pad_width, edge_width + pad_width,
44 pad_mm( shield_width / 2, 0,
45 pad_width, edge_width + pad_width,
48 pad_mm(0, -shield_width / 2,
49 edge_width + pad_width, pad_width,
52 pad_mm(0, shield_width / 2,
53 edge_width + pad_width, pad_width,
57 pad_mm((-shield_width + corner_inset) / 2, -edge_width /2,
58 corner_inset + pad_width, pad_width,
61 pad_mm(-edge_width / 2, (-shield_width + corner_inset) / 2,
62 pad_width, corner_inset + pad_width,
66 pad_mm((shield_width - corner_inset) / 2, -edge_width /2,
67 corner_inset + pad_width, pad_width,
70 pad_mm(edge_width / 2, (-shield_width + corner_inset) / 2,
71 pad_width, corner_inset + pad_width,
75 pad_mm((-shield_width + corner_inset) / 2, edge_width /2,
76 corner_inset + pad_width, pad_width,
79 pad_mm(-edge_width / 2, (shield_width - corner_inset) / 2,
80 pad_width, corner_inset + pad_width,
84 pad_mm((shield_width - corner_inset) / 2, edge_width /2,
85 corner_inset + pad_width, pad_width,
88 pad_mm(edge_width / 2, (shield_width - corner_inset) / 2,
89 pad_width, corner_inset + pad_width,