Kaynağa Gözat

Starting working on the vesa mount for the monitors.

cixo 1 yıl önce
ebeveyn
işleme
2adafdc70e

+ 96 - 0
assets/vesa.scad

@@ -0,0 +1,96 @@
+include <../config/vesa.scad>
+
+module vesa_hinge_mounting_shape() {
+    radius = vesa_hinge_screw / 2;
+
+    move_x = vesa_hinge_height / 2 - vesa_hinge_screw;
+    move_y = vesa_hinge_height / 2 + vesa_hinge_thickness + vesa_hinge_screw;
+
+    translate([move_x, 0]) {
+        circle(r = radius);
+    }
+
+    translate([-move_x, 0]) {
+        circle(r = radius);
+    }
+
+    translate([0, move_y]) {
+        circle(r = radius);
+    }
+
+    translate([0, -move_y]) {
+        circle(r = radius);
+    }
+}
+
+module vesa_hinge_object() {
+    module bottom_base_object() {
+        move_x = vesa_hinge_height / 2 - vesa_hinge_screw;
+        move_y = vesa_hinge_height / 2 + vesa_hinge_thickness + vesa_hinge_screw;
+
+        linear_extrude(height = vesa_hinge_thickness) {
+            difference() {
+                hull() {
+                    translate([move_x, move_y]) {
+                        circle(r = vesa_hinge_screw);
+                    }
+
+                    translate([-move_x, move_y]) {
+                        circle(r = vesa_hinge_screw);
+                    }
+
+                    translate([-move_x, -move_y]) {
+                        circle(r = vesa_hinge_screw);
+                    }
+
+                    translate([move_x, -move_y]) {
+                        circle(r = vesa_hinge_screw);
+                    }
+                }
+
+                vesa_hinge_mounting_shape();
+            }
+        }
+    }
+
+    module hanging_object() {
+        rotate([90, 0, 0]) {
+            linear_extrude(height = vesa_hinge_thickness, center = true) {
+                radius = vesa_hinge_depth / 2;
+
+                difference() {
+                    hull() {
+                        translate([0, radius]) {
+                            circle(r = radius);
+                        }
+
+                        translate([0, radius / 2]) {
+                            square([radius * 2, radius], center = true);
+                        }
+                    }
+
+                    translate([0, radius]) {
+                        circle(r = vesa_hinge_screw / 2);
+                    }
+                }
+            }
+        }
+    }
+
+    move_y = vesa_hinge_depth / 2 + vesa_hinge_thickness / 2;
+    move_z = vesa_hinge_thickness;
+
+    translate([0, move_y, move_z]) {
+        hanging_object();
+    }
+
+    translate([0, -move_y, move_z]) {
+        hanging_object();
+    }
+
+    bottom_base_object();
+}
+
+module vesa_object() {
+    vesa_hinge_object(); 
+}

+ 4 - 3
assets/wall_screw_narrowing.scad

@@ -27,7 +27,7 @@ module wall_screw_narrowing_top_object() {
 module wall_screw_narrowing_bottom_object() {
     diameter = wall_mounting_screws;
     screw = wall_screw_narrowing_hole;
-    thickness = wall_thickness;
+    thickness = wall_thickness + wall_screw_narrowing_thickness_margin;
 
     module base_shape() {
         difference() {
@@ -42,13 +42,14 @@ module wall_screw_narrowing_bottom_object() {
 }
 
 module wall_screw_narrowing_object() {
-    move_z_base = (wall_thickness + wall_screw_narrowing_thickness) / 2;
+    bottom_thickness = wall_thickness + wall_screw_narrowing_thickness_margin;
+    move_z_base = (bottom_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]) {
+        translate([0, 0, -bottom_thickness]) {
             wall_screw_narrowing_bottom_object();
         }
     }

+ 1 - 1
config/container.scad

@@ -2,5 +2,5 @@ container_width = 80;
 container_depth = 50;
 container_height = 40;
 container_rounding = 5;
-container_wall_thickness = 3;
+container_wall_thickness = 1.5;
 container_color = "yellow";

+ 5 - 0
config/vesa.scad

@@ -0,0 +1,5 @@
+vesa_rounting = 5;
+vesa_hinge_screw = 3;
+vesa_hinge_depth = 15;
+vesa_hinge_height = 15;
+vesa_hinge_thickness = 4;

+ 1 - 0
config/wall_screw_narrowing.scad

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

+ 4 - 0
renders/vesa.scad

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