Cixo Develop vor 6 Tagen
Ursprung
Commit
9a1e13fbb2
1 geänderte Dateien mit 56 neuen und 0 gelöschten Zeilen
  1. 56 0
      source/desk_mount.scad

+ 56 - 0
source/desk_mount.scad

@@ -0,0 +1,56 @@
+/* CONFIG PART */
+
+desk_thickness = 8;
+moulding_size = 10;
+thickness = 5;
+rounding = 2;
+
+$fn = 30;
+
+/* END OF CONFIG PART */
+
+top_width = moulding_size + thickness * 2;
+bottom_width = top_width + desk_thickness * 2;
+top_depth = moulding_size + thickness; 
+bottom_depth = moulding_size;
+full_depth = top_depth + bottom_depth;
+
+module rounded_square(width, height, rounded = true) {
+    if (!rounded) {
+        square([width, height], center = true);
+    } else {
+        hull() {
+            move_x = width / 2 - rounding;
+            move_y = height / 2 - rounding;
+
+            translate([move_x, move_y]) circle(r = rounding);
+            translate([-move_x, move_y]) circle(r = rounding);
+            translate([move_x, -move_y]) circle(r = rounding);
+            translate([-move_x, -move_y]) circle(r = rounding);
+        }
+    }
+}
+
+module base() {
+    translate([0, -full_depth / 2]) hull() {
+        translate([0, top_depth / 2 + bottom_depth]) {
+            rounded_square(top_width, top_depth);
+        }
+
+        translate([0, bottom_depth / 2]) {
+            rounded_square(bottom_width, bottom_depth);
+        }
+    }
+}
+
+module without_moulding() {
+    difference() {
+        base();
+
+        translate([0, full_depth / 2 - moulding_size / 2]) {
+            rounded_square(moulding_size, moulding_size, false);
+        }
+    }
+}
+
+without_moulding();