Account for PCB edge clearances

This commit is contained in:
XANTRONIX 2023-11-11 15:37:03 -05:00
parent ec44dc2e6a
commit 2581a453fe

View file

@ -30,32 +30,53 @@ module keyboard_base_plate(pcb_width, pcb_height) {
}
}
/* Lower left rounded corner */
corner([0, 0, 0], [-90, 90, 90]);
/* Lower left corner */
corner([0 - pcb_clearance_edge,
0 - pcb_clearance_edge, 0], [-90, 90, 90]);
/* Upper left rounded corner */
corner([0, pcb_height, 0], [0, 90, 90]);
/* Upper left orner */
corner([0 - pcb_clearance_edge,
pcb_clearance_edge + pcb_height, 0], [0, 90, 90]);
/* Upper right rounded corner */
corner([pcb_width, pcb_height, 0], [90, 90, 90]);
/* Upper right corner */
corner([pcb_clearance_edge + pcb_width,
pcb_clearance_edge + pcb_height, 0], [90, 90, 90]);
/* Lower right rounded corner */
corner([pcb_width, 0, 0], [180, 90, 90]);
/* Lower right corner */
corner([ pcb_clearance_edge + pcb_width,
0 - pcb_clearance_edge, 0], [180, 90, 90]);
/* Top edge */
edge(pcb_width, [0, pcb_height, 0], [0, 90, 0]);
edge(2 * pcb_clearance_edge + pcb_width,
[0 - pcb_clearance_edge,
pcb_clearance_edge + pcb_height, 0],
[0, 90, 0]);
/* Right edge */
edge(pcb_height, [pcb_width, 0, 0], [270, 0, 0]);
edge(2 * pcb_clearance_edge + pcb_height,
[ pcb_clearance_edge + pcb_width,
0 - pcb_clearance_edge, 0],
[270, 0, 0]);
/* Bottom edge */
edge(pcb_width, [0, 0, 0], [90, 180, 90]);
edge(2 * pcb_clearance_edge + pcb_width,
[0 - pcb_clearance_edge,
0 - pcb_clearance_edge,
0],
[90, 180, 90]);
/* Left edge */
edge(pcb_height, [0, 0, 0], [270, 90, 0]);
edge(2 * pcb_clearance_edge + pcb_width,
[0 - pcb_clearance_edge,
0 - pcb_clearance_edge, 0],
[270, 90, 0]);
linear_extrude(corner_radius*2);
square([pcb_width, pcb_height], false);
linear_extrude(corner_radius*2)
translate([0 - pcb_clearance_edge,
0 - pcb_clearance_edge, 0])
square([2 * pcb_clearance_edge + pcb_width,
2 * pcb_clearance_edge + pcb_height],
false);
}
keyboard_base_plate(pcb_width, pcb_height);