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 + wall_screw_narrowing_thickness_margin; module base_shape() { difference() { circle(r = diameter / 2); circle(r = screw / 2); } } linear_extrude(height = thickness) { base_shape(); } } module wall_screw_narrowing_object() { 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, -bottom_thickness]) { wall_screw_narrowing_bottom_object(); } } }