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 */ /* Lower left corner */
corner([0, 0, 0], [-90, 90, 90]); corner([0 - pcb_clearance_edge,
0 - pcb_clearance_edge, 0], [-90, 90, 90]);
/* Upper left rounded corner */ /* Upper left orner */
corner([0, pcb_height, 0], [0, 90, 90]); corner([0 - pcb_clearance_edge,
pcb_clearance_edge + pcb_height, 0], [0, 90, 90]);
/* Upper right rounded corner */ /* Upper right corner */
corner([pcb_width, pcb_height, 0], [90, 90, 90]); corner([pcb_clearance_edge + pcb_width,
pcb_clearance_edge + pcb_height, 0], [90, 90, 90]);
/* Lower right rounded corner */ /* Lower right corner */
corner([pcb_width, 0, 0], [180, 90, 90]); corner([ pcb_clearance_edge + pcb_width,
0 - pcb_clearance_edge, 0], [180, 90, 90]);
/* Top edge */ /* 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 */ /* 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 */ /* 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 */ /* 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); linear_extrude(corner_radius*2)
square([pcb_width, pcb_height], false); 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); keyboard_base_plate(pcb_width, pcb_height);