From: Ian Jackson Date: Mon, 28 Aug 2023 11:27:41 +0000 (+0100) Subject: poster-tube-lid: WallMountForBase wip X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=2c569a59886c84c6f7dae0b3dd7705cd6976e2b9;p=reprap-play.git poster-tube-lid: WallMountForBase wip Signed-off-by: Ian Jackson --- diff --git a/poster-tube-lid.scad b/poster-tube-lid.scad index 70e00de..d887c9b 100644 --- a/poster-tube-lid.scad +++ b/poster-tube-lid.scad @@ -95,12 +95,13 @@ wm_screw_head = 7.5; // XXX wmb_screw_dia = 5; wmb_screw_around_x = 4; // XXX -wmb_screw_around_y = 6; // XXX -wmb_screw_depth = 10; // XXX +wmb_screw_around_z = 6; // XXX +wmb_screw_depth_min = 10; wmb_nut_across = 8; // XXX wmb_nut_around_min = 2; // XXX +wmb_nut_behind_min = 3; // XXX wmb_nut_th = 4; // XXX -wmb_gap = 1.0; +wmb_ring_gap = 1.0; catch_stalk_h = 4.5; catch_stalk_len = 50; @@ -176,7 +177,8 @@ wm_z_slotc_screw = wm_z_slot0_screw + wm_screw_slot/2; wm_z_slot1_screw = wm_z_slot0_screw + wm_screw_slot; wm_z_max = wm_z_slot1_screw + wm_screw_around; -wmb_mount_cut_rad = sm_outer_rad + wmb_gap; +wmb_mount_cut_rad = sm_outer_rad + wmb_ring_gap; +wmb_nut_rad = wmb_nut_across / cos(30) * 0.5; wmb_x_screw = -sm_outer_rad + max( wmb_screw_around_x + wmb_screw_dia/2, wmb_nut_around_min + wmb_nut_across/2 @@ -187,7 +189,15 @@ function wmb_screw_thing_y_min(dia) = sqrt( ); wmb_y_screw_end = wmb_screw_thing_y_min(wmb_screw_dia); wmb_y_nut_min = wmb_screw_thing_y_min(wmb_nut_across + wmb_nut_around_min*2); -wmb_z_screw = 10; // XXX +wmb_y_mount_max = max( + wmb_y_nut_min + wmb_nut_th + wmb_nut_behind_min, + wmb_y_screw_end + wmb_screw_depth_min + ); +wmb_z_screw = max( + wmb_screw_around_z + wmb_screw_dia/2, + wmb_nut_around_min + wmb_nut_rad + ); +wmb_z_max = wmb_z_screw * 2; smc_pos = [ 0, sm_inner_rad, 0 ]; @@ -665,6 +675,13 @@ module WallMount(){ ////toplevel } module WallMountBaseMounts(){ + linextr(0, wmb_z_max) { + difference(){ + rectfromto([ -sm_outer_rad, -wmb_y_mount_max ], + [ -sm_outer_rad + wm_thick, +wmb_y_mount_max ]); + circle(r = wmb_mount_cut_rad); + } + } } // screws, nuts, slots for nuts to go down into @@ -673,13 +690,13 @@ module WallMountBaseScrewsEtc(){ mirror([0, my, 0]) { translate([wmb_x_screw, 0, wmb_z_screw]) { linextr_y_xz(wmb_y_screw_end, - wmb_y_screw_end + wmb_screw_depth) + wmb_y_screw_end + 100) // XXX change 100 circle(r = wmb_screw_dia/2); linextr_y_xz(wmb_y_nut_min, wmb_y_nut_min + wmb_nut_th){ hull(){ rotate(30) - circle(r = wmb_nut_across / cos(30) * 0.5, $fn = 6); + circle(r = wmb_nut_rad, $fn = 6); translate([0, 100]) // XXX change 100 square(wmb_nut_across, center=true); } @@ -702,12 +719,13 @@ module WallMountBaseScrewsEtc(){ } } }*/ -// circle(r = wmb_mount_cut_rad); + module WallMountForBase(){ ////toplevel SomeStrap(sm_main_width, wm_z_max + 2){ union(){ WallMountMounts(); + WallMountBaseMounts(); } union(){ WallMountScrewHoles();