| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- 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();
- }
- }
- }
|