From edd4318383a536a7d6a7ca6d1b6d6dbd4d972a7e Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Mon, 28 Aug 2023 12:46:05 +0100 Subject: [PATCH] poster-tube-lid: WallMountBase wip Signed-off-by: Ian Jackson --- poster-tube-lid.scad | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/poster-tube-lid.scad b/poster-tube-lid.scad index 8908e1b..1ae66de 100644 --- a/poster-tube-lid.scad +++ b/poster-tube-lid.scad @@ -98,11 +98,13 @@ wmb_screw_head_dia = 10; // XXX wmb_screw_around_x = 4; // XXX wmb_screw_around_z = 6; // XXX wmb_screw_depth_min = 10; -web_screw_len = 18; // XXX +web_screw_len = 15 + 1; // XXX wmb_nut_across = 8; // XXX wmb_nut_around_min = 2; // XXX wmb_nut_behind_min = 5; wmb_nut_th = 4; // XXX +wmb_mount_wall = 4.5; +wmb_mount_gap_xy = 0.5; wmb_ring_gap = 1.0; catch_stalk_h = 4.5; @@ -202,6 +204,9 @@ wmb_z_screw = max( wmb_nut_around_min + wmb_nut_rad ); wmb_z_max = wmb_z_screw * 2; +wmbb_y_max = wmb_y_mount_max + wmb_mount_gap_xy + wmb_mount_wall; +wmbb_x_outer = wmb_x_outer - (wmb_mount_gap_xy + wmb_mount_wall); +wmbb_z_min = -20; // XXX smc_pos = [ 0, sm_inner_rad, 0 ]; @@ -678,12 +683,16 @@ module WallMount(){ ////toplevel } } +module WallMountBaseRingCut(){ + circle(r = wmb_mount_cut_rad); +} + module WallMountBaseMounts(){ linextr(0, wmb_z_max) { difference(){ rectfromto([ -sm_outer_rad, -wmb_y_mount_max ], [ wmb_x_outer, +wmb_y_mount_max ]); - circle(r = wmb_mount_cut_rad); + WallMountBaseRingCut(); } } } @@ -726,8 +735,19 @@ module WallMountForBase(){ ////toplevel } } +module WallMountBase(){ ////toplevel + linextr(wmbb_z_min, wmb_z_max) { + difference(){ + rectfromto([ 0, -wmbb_y_max ], + [ wmbb_x_outer, +wmbb_y_max ]); + WallMountBaseRingCut(); + } + } +} + module WallMountForBaseDemo(){ ////toplevel WallMountForBase(); + color("blue") WallMountBase(); %WallMountBaseScrewsEtc(); } -- 2.30.2