Try to do a proper job of this
This commit is contained in:
parent
b46f3dd374
commit
ec44dc2e6a
1 changed files with 48 additions and 71 deletions
119
case/case.scad
119
case/case.scad
|
@ -1,84 +1,61 @@
|
|||
pcb_clearance_edge = 1.0;
|
||||
pcb_clearance_bottom = 2.0;
|
||||
$fn = 72;
|
||||
|
||||
pcb_width = 257.175;
|
||||
pcb_height = 95.250;
|
||||
|
||||
corner_radius = 0.5;
|
||||
$fn = 72;
|
||||
module keyboard_base_plate(pcb_width, pcb_height) {
|
||||
pcb_clearance_edge = 1.0;
|
||||
pcb_clearance_bottom = 2.0;
|
||||
|
||||
/* Lower left rounded corner */
|
||||
rotate([-90, 90, 90])
|
||||
rotate_extrude(angle = 90) {
|
||||
intersection() {
|
||||
circle(r=corner_radius);
|
||||
square(corner_radius*2);
|
||||
corner_radius = 0.5;
|
||||
|
||||
module corner(translation, rotation) {
|
||||
translate(translation)
|
||||
rotate(rotation)
|
||||
rotate_extrude(angle=90) {
|
||||
intersection() {
|
||||
circle(r=corner_radius);
|
||||
square(corner_radius*2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Lower right rounded corner */
|
||||
translate([pcb_width, 0, 0])
|
||||
rotate([270, 0, 0])
|
||||
linear_extrude(pcb_height)
|
||||
intersection() {
|
||||
circle(r=corner_radius);
|
||||
square(corner_radius*2);
|
||||
}
|
||||
|
||||
/* Upper left rounded corner */
|
||||
translate([0, pcb_height, 0])
|
||||
rotate([0, 90, 90])
|
||||
rotate_extrude(angle = 90) {
|
||||
intersection() {
|
||||
circle(r=corner_radius);
|
||||
square(corner_radius*2);
|
||||
}
|
||||
}
|
||||
|
||||
/* Upper right rounded corner */
|
||||
translate([pcb_width, pcb_height, 0])
|
||||
rotate([90, 90, 90])
|
||||
rotate_extrude(angle = 90) {
|
||||
|
||||
module edge(length, translation, rotation) {
|
||||
translate(translation)
|
||||
rotate(rotation)
|
||||
linear_extrude(length)
|
||||
intersection() {
|
||||
circle(r=corner_radius);
|
||||
square(corner_radius*2);
|
||||
}
|
||||
}
|
||||
|
||||
/* Left rounded edge */
|
||||
rotate([270, 90, 0])
|
||||
linear_extrude(pcb_height)
|
||||
intersection() {
|
||||
circle(r=corner_radius);
|
||||
square(corner_radius*2);
|
||||
}
|
||||
|
||||
/* Bottom rounded edge */
|
||||
rotate([90, 180, 90])
|
||||
linear_extrude(pcb_width)
|
||||
intersection() {
|
||||
circle(r=corner_radius);
|
||||
square(corner_radius*2);
|
||||
}
|
||||
|
||||
/* Right rounded edge */
|
||||
translate([pcb_width, 0, 0])
|
||||
rotate([180, 90, 90])
|
||||
rotate_extrude(angle = 90) {
|
||||
intersection() {
|
||||
circle(r=corner_radius);
|
||||
square(corner_radius*2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Top rounded edge */
|
||||
translate([0, pcb_height, 0])
|
||||
rotate([0, 90, 0])
|
||||
linear_extrude(pcb_width)
|
||||
intersection() {
|
||||
circle(r=corner_radius);
|
||||
square(corner_radius*2);
|
||||
}
|
||||
|
||||
square([pcb_width, pcb_height], false);
|
||||
/* Lower left rounded corner */
|
||||
corner([0, 0, 0], [-90, 90, 90]);
|
||||
|
||||
/* Upper left rounded corner */
|
||||
corner([0, pcb_height, 0], [0, 90, 90]);
|
||||
|
||||
/* Upper right rounded corner */
|
||||
corner([pcb_width, pcb_height, 0], [90, 90, 90]);
|
||||
|
||||
/* Lower right rounded corner */
|
||||
corner([pcb_width, 0, 0], [180, 90, 90]);
|
||||
|
||||
/* Top edge */
|
||||
edge(pcb_width, [0, pcb_height, 0], [0, 90, 0]);
|
||||
|
||||
/* Right edge */
|
||||
edge(pcb_height, [pcb_width, 0, 0], [270, 0, 0]);
|
||||
|
||||
/* Bottom edge */
|
||||
edge(pcb_width, [0, 0, 0], [90, 180, 90]);
|
||||
|
||||
/* Left edge */
|
||||
edge(pcb_height, [0, 0, 0], [270, 90, 0]);
|
||||
|
||||
linear_extrude(corner_radius*2);
|
||||
square([pcb_width, pcb_height], false);
|
||||
}
|
||||
|
||||
keyboard_base_plate(pcb_width, pcb_height);
|
||||
|
|
Loading…
Add table
Reference in a new issue