Quellcode durchsuchen

Add new vesa modile.

cixo vor 1 Jahr
Ursprung
Commit
af472e0985
7 geänderte Dateien mit 383 neuen und 312 gelöschten Zeilen
  1. 330 271
      assets/vesa.scad
  2. 14 20
      config/vesa.scad
  3. 1 1
      manufacture/vesa.1.3D.scad
  4. 1 1
      manufacture/vesa.2.3D.scad
  5. 1 1
      manufacture/vesa.3.3D.scad
  6. 7 1
      manufacture/vesa.4.3D.scad
  7. 29 17
      renders/vesa.scad

+ 330 - 271
assets/vesa.scad

@@ -2,373 +2,432 @@ include <../config/vesa.scad>
 include <../config/wall.scad>
 include <../config/hook.scad>
 
-function vesa_hinge_full_height() = 
-    vesa_hinge_height 
-    + vesa_hinge_thickness * 2;
+module vesa_rsquare(width, height) {
+    move_x = width / 2 - vesa_rounding;
+    move_y = height / 2 - vesa_rounding;
 
-module vesa_hinge_object() {
-    module bottom_base_object() {
-        move_x = vesa_hinge_width / 2;
-        move_y = vesa_hinge_full_height() / 2;
-
-        linear_extrude(height = vesa_hinge_thickness) {
-            square([move_x * 2, move_y * 2], center = true);
+    hull() {
+        translate([move_x, move_y]) {
+            circle(r = vesa_rounding);
         }
-    }
-
-    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([-move_x, move_y]) {
+            circle(r = vesa_rounding);
+        }
 
-                    translate([0, radius]) {
-                        circle(r = vesa_hinge_screw / 2);
-                    }
-                }
-            }
+        translate([move_x, -move_y]) {
+            circle(r = vesa_rounding);
+        }
+        
+        translate([-move_x, -move_y]) {
+            circle(r = vesa_rounding);
         }
     }
+}
 
-    move_y = vesa_hinge_height / 2 + vesa_hinge_thickness / 2;
-    move_z = vesa_hinge_thickness;
+module vesa_hinge(size, thickness, hole) {
+    linear_extrude(height = thickness, center = true) {
+        difference() {
+            union() {
+                circle(r = size / 2);
+                translate([0, size / 4]) {
+                    square([size, size / 2], center = true);
+                }
+            }
 
-    translate([0, move_y, move_z]) {
-        hanging_object();
+            circle(r = hole / 2);
+        }
     }
+}
 
-    translate([0, -move_y, move_z]) {
-        hanging_object();
-    }
+module vesa_monitor_hinge() {
+    vesa_hinge(vesa_frame_thickness, vesa_thickness, vesa_base_screw);
+}
 
-    bottom_base_object();
+module vesa_main_hinge() {
+    vesa_hinge(vesa_frame_thickness * 2, vesa_thickness, vesa_base_screw);
 }
 
-module vesa_thread(rotated = true) {
+module vesa_monitor() {
+    outside_width = vesa_frame_thickness + vesa_width;
+    outside_height = vesa_frame_thickness + vesa_height;
+    inside_width = vesa_width - vesa_frame_thickness; 
+    inside_height = vesa_height - vesa_frame_thickness;
+
     module base_object() {
-        cylinder(r = vesa_thread_radius / 2, h = vesa_thread_height);
-        cylinder(r = vesa_thread_top_radius / 2, h = vesa_thread_top_height);
-    }
+        linear_extrude(height = vesa_thickness) {
+            difference() {
+                vesa_rsquare(outside_width, outside_height);
+                vesa_rsquare(inside_width, inside_height);
 
-    if (rotated) {
-        rotate([0, 180, 0]) {
-            base_object();
-        }
-    } else {
-        base_object();
-    }
-}
+                translate([vesa_width / 2, vesa_height / 2]) {
+                    circle(r = vesa_hole / 2);
+                }
 
-module vesa_connector_object(center = false) {
-    module base_shape() {
-        hull() {
-            move_x = vesa_connector_length / 2 - vesa_hinge_depth / 2;
-        
-            translate([move_x, 0]) {
-                circle(r = vesa_hinge_depth / 2);
+                translate([-vesa_width / 2, vesa_height / 2]) {
+                    circle(r = vesa_hole / 2);
+                }
+            
+                translate([vesa_width / 2, -vesa_height / 2]) {
+                    circle(r = vesa_hole / 2);
+                }
+            
+                translate([-vesa_width / 2, -vesa_height / 2]) {
+                    circle(r = vesa_hole / 2);
+                }
             }
+        }
+    }
 
-            translate([-move_x, 0]) {
-                circle(r = vesa_hinge_depth / 2);
+    module hinge() {
+        translate([0, vesa_height / 2, -vesa_frame_thickness / 2]){
+            rotate([90, 0, 90]) {
+                vesa_monitor_hinge();
             }
         }
     }
 
-    module mounting_screws() {
-        radius = vesa_hinge_screw / 2;
-        move_x = vesa_connector_length / 2 - vesa_hinge_depth / 2 + radius;
-
-        translate([move_x, 0]) {
-            circle(r = radius);
+    module double_hinge() {
+        translate([-vesa_thickness, 0, 0]) {
+            hinge();
         }
 
-        translate([-move_x, 0]) {
-            circle(r = radius);
+        translate([vesa_thickness, 0, 0]) {
+            hinge();
         }
     }
 
-    module base_object() {
-        height = vesa_hinge_height - vesa_connector_margin;
-
-        linear_extrude(height = height, center = center) {
-            difference() {
-                base_shape();
-                mounting_screws();
-            }
-        }
+    translate([vesa_width / 3, 0, 0]) {
+        double_hinge();
     }
 
-    module threads() {
-        translate([0, 0, vesa_hinge_height - vesa_connector_margin]) {
-            vesa_thread();
-        }
+    translate([-vesa_width / 3, 0, 0]) {
+        double_hinge();
+    }
 
-        translate([0, 0, 0]) {
-            vesa_thread(false);
+    module corner_regulation() {
+        move = [
+            0,
+            vesa_rounding * 2 - vesa_height / 3,
+            vesa_thickness / 2
+        ];
+        
+        translate(move) { 
+            rotate([0, 90, 0]) {
+                cylinder(
+                    r = vesa_base_screw / 2, 
+                    h = vesa_width + vesa_frame_thickness, 
+                    center = true
+                );
+            }
         }
     }
 
     render() {
         difference() {
-            radius = vesa_hinge_screw / 2;
-            move_x = vesa_connector_length / 2 - vesa_hinge_depth / 2 + radius;
-            correct = vesa_hinge_height - vesa_connector_margin;
-            center_correct = center ? -correct / 2 : 0;
-        
             base_object();
-    
-            translate([move_x, 0, center_correct]) {
-                threads();
-            }
+            corner_regulation();
+        }
+    }
+}
 
-            translate([-move_x, 0, center_correct]) {
-                threads();
-            }
+module vesa_thread() {
+    radius = vesa_thread_diameter / 2;
+    top_radius = vesa_thread_top_diameter / 2;
 
-            first_cable_x = move_x 
-            - vesa_cable_hole / 1.5
-            - vesa_thread_top_radius;
+    cylinder(r = radius, h = vesa_thread_thickness);   
+    cylinder(r = top_radius, h = vesa_thread_top_thickness);   
+}
 
-            cable_z = vesa_cable_hole / 1.5;
+module vesa_factor() {
+    module circle_corner(position = [0, 0]) {
+        translate(position) {
+            circle(r = vesa_rounding);
+        }
+    }
 
-            translate([first_cable_x , 0, cable_z]) {
-                rotate([90, 0, 0]) {
-                    cylinder(
-                        r = vesa_cable_hole / 2, 
-                        h = vesa_hinge_height,
-                        center = true
-                    );
-                }
-            }
+    module square_corner(position = [0, 0]) {
+        translate(position) {
+            square(vesa_rounding * 2, center = true);
+        }
+    }
 
-            translate([0 , 0, cable_z]) {
-                rotate([90, 0, 0]) {
-                    cylinder(
-                        r = vesa_cable_hole / 2, 
-                        h = vesa_hinge_height,
-                        center = true
-                    );
-                }
-            }
+    module difference_circle_corner(position = [0, 0], angle = 0) {
+        translate(position) {
+            rotate(angle * 90) {
+                render() {
+                    difference() {
+                        square_corner();
+                        circle_corner();
 
-            translate([-first_cable_x , 0, cable_z]) {
-                rotate([90, 0, 0]) {
-                    cylinder(
-                        r = vesa_cable_hole / 2, 
-                        h = vesa_hinge_height,
-                        center = true
-                    );
+                        translate([0, -vesa_rounding]) {
+                            square([vesa_rounding, vesa_rounding]);
+                        }
+
+                        translate([-vesa_rounding, 0]) {
+                            square([vesa_rounding * 2, vesa_rounding]);
+                        }
+                    }
                 }
             }
         }
     }
-}
-
-module vesa_wall_hinge_object() {
-    module wall_base_shape() {
-        move_x = vesa_wall_width / 2 - vesa_rounding;
-        move_y = vesa_wall_height / 2 - vesa_rounding;
-        rounding = vesa_rounding;
 
+    top_x = vesa_width / 3 - vesa_thickness / 3;
+    top_left = [top_x, vesa_height / 2 - vesa_frame_thickness];
+    top_right = [-top_left.x, top_left.y];
+    round_top_left = [top_left.x, top_left.y - vesa_frame_thickness];
+    round_top_right = [top_right.x, top_right.y - vesa_frame_thickness];
+    
+    module top_shape() {
         hull() {
-            translate([move_x, move_y]) {
-                circle(r = rounding);
-            }
+            square_corner(top_left);
+            square_corner(top_right);
+            circle_corner(round_top_left);
+            circle_corner(round_top_right);
+        }
+    }
 
-            translate([-move_x, move_y]) {
-                circle(r = rounding);
-            }
+    top_center = [0, vesa_height / 2 - vesa_frame_thickness * 4];
+    bottom_center = [0, vesa_frame_thickness * 4 - vesa_height / 3];
 
-            translate([move_x, -move_y]) {
-                circle(r = rounding);
+    module center_shape() {
+        hull() {
+            translate(top_center) {
+                square(vesa_frame_thickness * 4, center = true);
             }
 
-            translate([-move_x, -move_y]) {
-                circle(r = rounding);
+            translate(bottom_center) {
+                square(vesa_frame_thickness * 4, center = true);
             }
         }
-    }
 
-    module wall_holes() {
-        move_x = (
-            vesa_wall_width
-            - (vesa_wall_width % wall_holes_space)
-        ) / 2;
-        
-        move_y = (
-            vesa_wall_height 
-            - (vesa_wall_height % wall_holes_space)
-        ) / 2;
-
-        for (count_x = [-move_x : wall_holes_space : move_x]) {
-            for (count_y = [-move_y : wall_holes_space : move_y]) {
-                translate([count_x, count_y]) {
-                    circle(r = hook_mounting_hole / 2);
-                }
-            }
+        correct = vesa_frame_thickness * 2;
+        bottom_left = [correct + vesa_rounding, vesa_rounding - correct];
+        bottom_right = [-bottom_left.x, bottom_left.y];
+        top_left = [bottom_left.x, correct - vesa_rounding * 2];
+        top_right = [-bottom_left.x, top_left.y];
+
+        translate(bottom_center) {
+            difference_circle_corner(bottom_left, 0);  
+            difference_circle_corner(bottom_right, 1);  
         }
-    }
 
-    module wall_shape() {
-        difference() {
-            wall_base_shape();
-            wall_holes();
+        translate(top_center) {
+            difference_circle_corner(top_left, 3);
+            difference_circle_corner(top_right, 2);
         }
-    }
+    }   
 
-    module wall_object() {
-        linear_extrude(height = vesa_hinge_thickness) {
-            wall_shape();
+    bottom_y = bottom_center.y - vesa_frame_thickness * 2 - vesa_rounding * 2;
+    bottom_left = [vesa_width / 2, bottom_y];
+    bottom_right = [-bottom_left.x, bottom_left.y];
+
+    module bottom_shape() {
+        hull() {
+            circle_corner([bottom_left.x, bottom_left.y + vesa_rounding]);
+            circle_corner([bottom_left.x, bottom_left.y - vesa_rounding]);
+            
+            circle_corner([bottom_right.x, bottom_right.y + vesa_rounding]);
+            circle_corner([bottom_right.x, bottom_right.y - vesa_rounding]);
         }
     }
 
-    union() {
-        vesa_hinge_object();
-        wall_object();
+    module base_object() {
+        linear_extrude(height = vesa_thickness) {
+            top_shape();
+            center_shape();
+            bottom_shape();
+        }
     }
-}
 
-module vesa_corner_base_object(move = false) {
-    radius = vesa_hinge_full_height() / 2;
-    move_x = vesa_hinge_height / 3;
+    module corner_regulation() {
+        move = [
+            0,
+            vesa_rounding * 2 - vesa_height / 3,
+            vesa_thickness / 2
+        ];
+        
+        translate(move) { 
+            rotate([0, 90, 0]) {
+                cylinder(
+                    r = vesa_base_screw / 2, 
+                    h = vesa_width + vesa_frame_thickness, 
+                    center = true
+                );
+            }
+            
+            size = [
+                vesa_thickness,
+                vesa_thickness * 1.5,
+                vesa_thickness
+            ];
+
+            position_x = vesa_width / 2
+            - vesa_frame_thickness
+            + vesa_thickness / 2 / 1.5;
+
+            translate([position_x, 0, 0]) {
+                cube(size, center = true);
+            }
 
-    rotate([90, 0, 90]) {
-        linear_extrude(height = vesa_corner_thickness, center = true) {
-            difference() {
-                hull() {
-                    translate([0, radius / 2]) {
-                        square([radius * 2, radius], center = true);
-                    }
+            translate([-position_x, 0, 0]) {
+                cube(size, center = true);
+            }
+        }
+    }
+    
+    render() {
+        difference() {
+            base_object();
+            corner_regulation();
+        }
+    }
 
-                    circle(r = radius);
-                }
-                
-                circle(r = vesa_hinge_screw / 2);
-               
-                if (move) {
-                    difference() {
-                        size = radius - vesa_hinge_screw;
-                        move = (size + vesa_hinge_screw) * 2;
-                    
-                        circle(r = size + vesa_hinge_screw / 2);
-                        circle(r = size - vesa_hinge_screw / 2);
-                        
-                        translate([0, move / 4]) {
-                            square([move, move / 2], center = true);
+    module monitor_hinge(x) {
+        position_z = vesa_thickness - vesa_frame_thickness / 2;
+        translate([x, top_left.y + vesa_frame_thickness, position_z]) {
+            rotate([0, 90, 180]) {
+                vesa_monitor_hinge();
+
+                translate([0, vesa_frame_thickness / 2, 0]) {
+                    linear_extrude(height = vesa_thickness, center = true) {
+                        difference() {
+                            circle(r = vesa_frame_thickness / 2);
+                            translate([0, -vesa_frame_thickness / 4]) {
+                                size = [
+                                    vesa_frame_thickness, 
+                                    vesa_frame_thickness / 2
+                                ];
+
+                                square(size, center = true);
+                            }
                         }
                     }
-                } else {
-                    translate([0, radius - vesa_hinge_screw]) {
-                        circle(r = vesa_hinge_screw / 2);
-                    }
                 }
             }
+        }   
+    }
+
+    module main_hinge(y) {
+        translate([0, y, -vesa_frame_thickness]) {
+            rotate([90, 0, 0]) {
+                vesa_main_hinge();
+            }
         }
     }
-}   
 
-module vesa_corner_hinge_object() {
-    radius = vesa_hinge_full_height() / 2;
-    move_x = vesa_hinge_width / 3;
+    monitor_hinge(top_left.x + vesa_thickness / 3);
+    monitor_hinge(top_right.x - vesa_thickness / 3);
+
+    main_hinge(vesa_height / 4 + vesa_frame_thickness);
+    main_hinge(-vesa_height / 4 + vesa_frame_thickness);
 
-    module corner_object() {
-        vesa_corner_base_object();
+    if (vesa_width >= 100) {
+        main_hinge(vesa_frame_thickness);
     }
+}   
 
-    union() {
-        vesa_hinge_object();
-        
-        translate([move_x, 0, -radius]) {
-            corner_object();
-        }
+module vesa_wall() {
+    module base_shape() {
+        difference() {
+            vesa_rsquare(vesa_wall_width, vesa_wall_height); 
 
-        translate([-move_x, 0, -radius]) {
-            corner_object();
+            inside_width = vesa_wall_width - vesa_frame_thickness * 2;
+            inside_height = vesa_wall_height - vesa_frame_thickness * (3 + 3);
+            
+            vesa_rsquare(inside_width, inside_height);
         }
-    }
-}
 
-module vesa_plate_corner_object() {
-    module vesa_plate_base_shape() {
-        move_x = vesa_width / 2 - vesa_rounding + vesa_margin;
-        move_y = vesa_height / 2 - vesa_rounding + vesa_margin;
-        rounding = vesa_rounding;
-        
-        hull() {
-            translate([move_x, move_y]) {
-                circle(r = rounding);
-            }
+        square([vesa_frame_thickness * 2, vesa_wall_height], center = true);
+    }
 
-            translate([move_x, -move_y]) {
-                circle(r = rounding);
+    module shape() {
+        difference() {
+            base_shape();
+           
+            width = vesa_wall_width - vesa_wall_width % wall_holes_space;
+            height = vesa_wall_height - vesa_wall_height % wall_holes_space;
+
+            for (count_y = [-height / 2 : wall_holes_space : height / 2]) {
+                for (count_x = [-width / 2 : wall_holes_space : width / 2]) {
+                    translate([count_x, count_y]) {
+                        circle(r = hook_mounting_hole / 2);
+                    }
+                }
             }
+        }
+    }
 
-            translate([-move_x, move_y]) {
-               circle(r = rounding);
-            }    
+    module base_object() {
+        linear_extrude(height = vesa_thickness) {
+            shape();
+        }
+    }
 
-            translate([-move_x, -move_y]) {
-                circle(r = rounding);
+    module base_hinge(y) {
+        translate([0, y, vesa_frame_thickness * 2 + vesa_thickness]) {
+            rotate([270, 0, 0]) {
+                vesa_main_hinge();
+            }
+            
+            add_size = [
+                vesa_frame_thickness * 2, 
+                vesa_thickness, 
+                vesa_frame_thickness
+            ];
+
+            translate([0, 0, -vesa_frame_thickness * 1.5]) {
+                cube(add_size, center = true);
             }
         }
     }
 
-    module vesa_plate_shape() {
-        radius = vesa_screw / 2;
-        move_x = vesa_width / 2;
-        move_y = vesa_height / 2;
+    module hinge(y) {
+        base_hinge(y - vesa_thickness);
+        base_hinge(y + vesa_thickness);
+    }
 
-        difference() {
-            vesa_plate_base_shape();
+    base_object();
+    
+    hinge(0);
+    hinge(-vesa_height / 4);
+    hinge(vesa_height / 4);
+}
 
-            translate([move_x, move_y]) {
-                circle(r = radius);
-            }
+function vesa_corner_regulation_size() = [
+    vesa_corner_regulation_space * (vesa_corner_regulation_count - 1),
+    vesa_thickness
+];
 
-            translate([-move_x, move_y]) {
-                circle(r = radius);
-            }
- 
-            translate([move_x, -move_y]) {
-                circle(r = radius);
+module vesa_corner_regulation() {
+    move_x = vesa_corner_regulation_size().x / 2;
+
+    module base_shape() {
+        hull() {
+            translate([move_x, 0]) {
+                circle(r = vesa_thickness / 2);
             }
- 
-            translate([-move_x, -move_y]) {
-                circle(r = radius);
+
+            translate([-move_x, 0]) {
+                circle(r = vesa_thickness / 2);
             }
         }
     }
 
-    module vesa_plate_object() {
-        height = max(vesa_hinge_thickness, vesa_plate_thickness);
-        correct = vesa_hinge_thickness - height;
-        
-        translate([0, 0, correct - height]) {
-            linear_extrude(height = height) {
-                vesa_plate_shape();                
-            }
-        }
-    }  
-    
-    union() {
-        vesa_plate_object();   
-        
-        translate([0, 0, vesa_hinge_full_height() / 2]) {
-            rotate([180, 0, 0]) {
-                vesa_corner_base_object(true);
+    module shape() {
+        difference() {
+            base_shape();
+            
+            for (count = [-move_x : vesa_corner_regulation_space : move_x]) {
+                translate([count, 0]) {
+                    circle(r = vesa_base_screw / 2);
+                }
             }
         }
     }
-}
-
 
+    linear_extrude(height = vesa_thickness, center = true) {
+        shape();
+    }
+}

+ 14 - 20
config/vesa.scad

@@ -1,22 +1,16 @@
-vesa_rounding = 5;
-vesa_hinge_screw = 3;
-vesa_hinge_width = 15;
-vesa_hinge_depth = 15;
-vesa_hinge_height = 22;
-vesa_hinge_thickness = 4;
-vesa_connector_length = 70;
-vesa_connector_margin = 1;
-vesa_thread_radius = 5;
-vesa_thread_top_radius = 8;
-vesa_thread_height = 9;
-vesa_thread_top_height = 1;
-vesa_plate_thickness = 2;
-vesa_wall_width = 60;
-vesa_wall_height = 50;
-vesa_corner_thickness = 5;
-
-vesa_cable_hole = 4;
-vesa_margin = 10;
 vesa_width = 100;
 vesa_height = 100;
-vesa_screw = 4;
+vesa_hole = 4;
+
+vesa_base_screw = 3;
+vesa_rounding = 5;
+vesa_thickness = 6;
+vesa_frame_thickness = 10;
+vesa_thread_top_diameter = 7;
+vesa_thread_top_thickness = 1;
+vesa_thread_diameter = 5;
+vesa_thread_thickness = 5;
+vesa_wall_width = 90;
+vesa_wall_height = 90;
+vesa_corner_regulation_space = vesa_thickness;
+vesa_corner_regulation_count = 6;

+ 1 - 1
manufacture/vesa.1.3D.scad

@@ -2,4 +2,4 @@ include <../assets/vesa.scad>
 
 $fn = 100;
 
-vesa_plate_corner_object();
+vesa_monitor();

+ 1 - 1
manufacture/vesa.2.3D.scad

@@ -2,4 +2,4 @@ include <../assets/vesa.scad>
 
 $fn = 100;
 
-vesa_connector_object();
+vesa_factor();

+ 1 - 1
manufacture/vesa.3.3D.scad

@@ -2,4 +2,4 @@ include <../assets/vesa.scad>
 
 $fn = 100;
 
-vesa_wall_hinge_object();
+vesa_wall();

+ 7 - 1
manufacture/vesa.4.3D.scad

@@ -2,4 +2,10 @@ include <../assets/vesa.scad>
 
 $fn = 100;
 
-vesa_corner_hinge_object();
+translate([0, -vesa_thickness / 1.5, 0]) {
+    vesa_corner_regulation();
+}
+
+translate([0, vesa_thickness / 1.5, 0]) {
+    vesa_corner_regulation();
+}

+ 29 - 17
renders/vesa.scad

@@ -2,30 +2,42 @@ include <../assets/vesa.scad>
 
 $fn = 100;
 
-translate([0, 0, 0]) {
-    vesa_connector_object(true);
+vesa_monitor();
+
+translate([0, 0, -vesa_thickness]) {
+    vesa_factor();
 }
 
-hinge_move_x = (
-    vesa_connector_length / 2 
-    + vesa_hinge_screw / 2 
-    + vesa_hinge_thickness
-);
+wall_move = [
+    0,
+    vesa_frame_thickness,
+    -vesa_thickness * 2 - vesa_frame_thickness * 3
+];
 
-translate([hinge_move_x, 0, 0]) {
-    rotate([90, 0, 270]) {
-        vesa_wall_hinge_object();
-    }
+translate(wall_move) {
+    vesa_wall();
 }
 
-translate([-hinge_move_x, 0, 0]) {
-    rotate([90, 0, 90]) {
-        vesa_corner_hinge_object();
+move_left = [
+    vesa_width / 2 + vesa_frame_thickness / 2 + vesa_thickness / 2,
+    vesa_rounding * 2 - vesa_height / 3,
+    vesa_thickness / 2 - vesa_corner_regulation_size().x / 2
+];
+
+move_right = [
+    -move_left.x,
+    move_left.y,
+    move_left.z
+];
+
+translate(move_left) {
+    rotate([0, 90, 0]) {
+        vesa_corner_regulation();
     }
 }
 
-translate([-hinge_move_x - vesa_hinge_full_height() * 1, 0, 0]) {
-    rotate([90, 0, 90]) {
-        vesa_plate_corner_object();
+translate(move_right) {
+    rotate([0, 90, 0]) {
+        vesa_corner_regulation();
     }
 }