summaryrefslogtreecommitdiffstats
path: root/case
diff options
context:
space:
mode:
Diffstat (limited to 'case')
-rw-r--r--case/case.scad81
1 files changed, 81 insertions, 0 deletions
diff --git a/case/case.scad b/case/case.scad
new file mode 100644
index 0000000..ac8c187
--- /dev/null
+++ b/case/case.scad
@@ -0,0 +1,81 @@
+pcb_width = 257.175;
+pcb_height = 95.250;
+
+radius = 0.5;
+$fn = 72;
+
+/* Lower left rounded corner */
+rotate([-90, 90, 90])
+ rotate_extrude(angle = 90) {
+ intersection() {
+ circle(r=radius);
+ square(radius*2);
+ }
+ }
+
+/* Lower right rounded corner */
+translate([pcb_width, 0, 0])
+rotate([270, 0, 0])
+linear_extrude(pcb_height)
+ intersection() {
+ circle(r=radius);
+ square(radius*2);
+ }
+
+/* Upper left rounded corner */
+translate([0, pcb_height, 0])
+rotate([0, 90, 90])
+ rotate_extrude(angle = 90) {
+ intersection() {
+ circle(r=radius);
+ square(radius*2);
+ }
+ }
+
+/* Upper right rounded corner */
+translate([pcb_width, pcb_height, 0])
+rotate([90, 90, 90])
+ rotate_extrude(angle = 90) {
+ intersection() {
+ circle(r=radius);
+ square(radius*2);
+ }
+ }
+
+/* Left rounded edge */
+rotate([270, 90, 0])
+linear_extrude(pcb_height)
+ intersection() {
+ circle(r=radius);
+ square(radius*2);
+ }
+
+/* Bottom rounded edge */
+rotate([90, 180, 90])
+linear_extrude(pcb_width)
+ intersection() {
+ circle(r=radius);
+ square(radius*2);
+ }
+
+/* Right rounded edge */
+translate([pcb_width, 0, 0])
+rotate([180, 90, 90])
+ rotate_extrude(angle = 90) {
+ intersection() {
+ circle(r=radius);
+ square(radius*2);
+ }
+ }
+
+
+/* Top rounded edge */
+translate([0, pcb_height, 0])
+rotate([0, 90, 0])
+linear_extrude(pcb_width)
+ intersection() {
+ circle(r=radius);
+ square(radius*2);
+ }
+
+square([pcb_width, pcb_height], false); \ No newline at end of file