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