wmb_screw_around_y = 6; // XXX
wmb_screw_depth = 10; // XXX
wmb_nut_across = 8; // XXX
+wmb_nut_around_min = 2; // XXX
+wmb_nut_th = 4; // XXX
wmb_gap = 1.0;
catch_stalk_h = 4.5;
wm_z_max = wm_z_slot1_screw + wm_screw_around;
wmb_mount_cut_rad = sm_outer_rad + wmb_gap;
-wmb_x_screw = -sm_outer_rad + wmb_screw_around_x + wmb_screw_dia/2;
+wmb_x_screw = -sm_outer_rad + max(
+ wmb_screw_around_x + wmb_screw_dia/2,
+ wmb_nut_around_min + wmb_nut_across/2
+ );
function wmb_screw_thing_y_min(dia) = sqrt(
pow(wmb_mount_cut_rad, 2) -
pow(wmb_x_screw + dia/2, 2)
);
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_y_nut_min = wmb_screw_thing_y_min(wmb_nut_across + wmb_nut_around_min*2);
wmb_z_screw = 10; // XXX
smc_pos = [ 0, sm_inner_rad, 0 ];
module WallMountBaseScrewsEtc(){
for (my=[0,1]) {
mirror([0, my, 0]) {
- translate([wmb_x_screw, 0, wmb_z_screw])
+ translate([wmb_x_screw, 0, wmb_z_screw]) {
linextr_y_xz(wmb_y_screw_end,
wmb_y_screw_end + wmb_screw_depth)
- circle(r = wmb_screw_dia/2);
-// translate([
+ 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);
+ translate([0, 100]) // XXX change 100
+ square(wmb_nut_across, center=true);
+ }
+ }
+ }
}
}
}