| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- include <../config/wall_hanger.scad>
- include <../config/wall.scad>
- function wall_hanger_size() =
- wall_mounting_screws * 2;
- module wall_hanger_object() {
- module base_shape() {
- size = wall_hanger_size();
- rounding = wall_hanger_rounding;
- move = size / 2 - rounding;
- small_move = move + rounding / 2;
- hull() {
- translate([move, -move]) {
- square(rounding * 2, center = true);
- }
- translate([move, move]) {
- circle(r = rounding);
- }
- translate([small_move, small_move]) {
- square(rounding, center = true);
- }
- translate([-move, -move]) {
- circle(r = rounding);
- }
- translate([-small_move, -small_move]) {
- square(rounding, center = true);
- }
- }
- }
- module base_object() {
- size = wall_hanger_size();
- module base() {
- rotate([270, 180, 0]) {
- linear_extrude(height = size, center = true) {
- base_shape();
- }
- }
- }
- thickness = wall_thickness / 3;
-
- module insertion() {
- radius = wall_mounting_screws / 2;
- move_z = wall_hanger_size() / 2 - wall_hanger_size() / 2;
- move_x = -wall_hanger_size() / 2 - thickness / 2;
-
- translate([move_x, 0, move_z]) {
- rotate([90, 0, 90]) {
- cylinder(r = radius, h = thickness, center = true);
- }
- }
- }
-
- translate([thickness / 2, 0, 0]) {
- base();
- insertion();
- }
- }
- base_object();
- }
|