Explorar o código

Add screw narrowing for walls.

cixo hai 1 ano
pai
achega
74c3bff537

+ 55 - 0
assets/wall_screw_narrowing.scad

@@ -0,0 +1,55 @@
+include <../config/wall.scad>
+include <../config/wall_screw_narrowing.scad>
+
+module wall_screw_narrowing_top_object() {
+    diameter = wall_mounting_screws + wall_screw_narrowing_margin * 2;
+    screw = wall_screw_narrowing_hole;
+    thickness = wall_screw_narrowing_thickness;
+
+    module base_shape() {
+        difference() {
+            circle(r = diameter / 2);
+            circle(r = screw / 2);
+        }
+    }
+
+    difference() {
+        linear_extrude(height = thickness) {
+            base_shape();
+        }
+
+        translate([0, 0, screw]) {
+            sphere(r = screw);
+        }
+    }
+}
+
+module wall_screw_narrowing_bottom_object() {
+    diameter = wall_mounting_screws;
+    screw = wall_screw_narrowing_hole;
+    thickness = wall_thickness;
+
+    module base_shape() {
+        difference() {
+            circle(r = diameter / 2);
+            circle(r = screw / 2);
+        }
+    }
+
+    linear_extrude(height = thickness) {
+        base_shape();
+    }
+}
+
+module wall_screw_narrowing_object() {
+    move_z_base = (wall_thickness + wall_screw_narrowing_thickness) / 2;
+    move_z = move_z_base - wall_screw_narrowing_thickness;
+
+    translate([0, 0, move_z]) {
+        wall_screw_narrowing_top_object();
+
+        translate([0, 0, -wall_thickness]) {
+            wall_screw_narrowing_bottom_object();
+        }
+    }
+}

+ 4 - 0
config/wall_screw_narrowing.scad

@@ -0,0 +1,4 @@
+wall_screw_narrowing_hole = 5;
+wall_screw_narrowing_margin = 3;
+wall_screw_narrowing_thickness = 2;
+wall_screw_narrowing_manufacture_count = 4;

+ 12 - 0
manufacture/wall_screw_narrowing.3D.scad

@@ -0,0 +1,12 @@
+include <../assets/wall_screw_narrowing.scad>
+
+$fn = 100;
+
+size = wall_screw_narrowing_margin * 2.2 + wall_mounting_screws;
+move_x = size * (wall_screw_narrowing_manufacture_count - 1) / 2;
+
+for (count = [-move_x : size : move_x]) {
+    translate([count, 0, 0]) {
+        wall_screw_narrowing_object();
+    }
+}

+ 4 - 0
renders/wall_screw_narrowing.scad

@@ -0,0 +1,4 @@
+include <../assets/wall_screw_narrowing.scad>
+
+$fn = 100;
+wall_screw_narrowing_object();