wm_thick = 5;
wm_screw_dia = 4.5; // Timco wood screw 40mm, use brown plug
+wm_screwdriver_dia = 6.3 + 1.5;
wm_screw_around = 5.0;
wm_screw_slot = 3.5;
wm_screw_head = 8.0;
wmb_screw_dia = 5;
wmb_screw_head_dia = 8.7 + 0.5;
-wmb_screw_around_x = 4; // XXX
-wmb_screw_around_z = 6; // XXX
+wmb_screw_around_x = 4;
+wmb_screw_around_z = 6;
wmb_screw_depth_min = 10;
-web_screw_len = 15 + 1; // XXX
-wmb_nut_across = 8; // XXX
-wmb_nut_around_min = 2; // XXX
+web_screw_len = 16 + 0.5;
+wmb_nut_across = 7.82 + 0.35;
+wmb_nut_around_min = 2;
wmb_nut_behind_min = 5;
-wmb_nut_th = 4; // XXX
+wmb_nut_th = 3.84 + 0.75;
wmb_mount_wall = 4.5;
-wmb_mount_gap_xy = 0.5;
-wmb_mount_gap_z = 0.5;
+wmb_mount_gap_xy = 0.1;
+wmb_mount_gap_z = 0.2;
wmb_mount_y_width = 10;
wmb_bottom_gap = 35; // includes allowance for padding, etc.
wmb_bottom_th = 7;
sm_outer_rad = sm_inner_rad + sm_main_thick;
wm_main_width = sm_main_width;
-wm_screwdriver_dia = wm_screw_head;
wm_y_min = sqrt( pow(sm_inner_rad, 2) -
pow(sm_inner_rad - (wm_thick - sm_main_thick), 2) );
wm_y_screw = wm_y_min + wm_screw_around + wm_screw_dia/2;
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_y_max = max(
+ wmb_y_mount_max + wmb_mount_gap_xy + wmb_mount_wall,
+ wmb_y_screw_end + web_screw_len
+ );
wmbb_x_outer = wmb_x_outer + (wmb_mount_gap_xy + wmb_mount_wall);
wmbb_z_flat_max = -wmb_bottom_gap;
wmbb_z_flat_whole_min = wmbb_z_flat_max - wmb_bottom_th_min;
mirror([0, my, 0]) {
translate([wmb_x_screw, 0, wmb_z_screw]) {
linextr_y_xz(wmb_y_screw_end,
- wmb_y_screw_end + 100) // XXX change 100
+ wmb_y_screw_end + 50)
circle(r = wmb_screw_dia/2);
linextr_y_xz(wmb_y_screw_end + web_screw_len,
- wmb_y_screw_end + 100) // XXX change 100
+ wmb_y_screw_end + 50)
circle(r = wmb_screw_head_dia/2);
linextr_y_xz(wmb_y_nut_min,
wmb_y_nut_min + wmb_nut_th) {
hull(){
rotate(30)
circle(r = wmb_nut_rad, $fn = 6);
- translate([0, 100]) // XXX change 100
+ translate([0, 50])
square(wmb_nut_across, center=true);
}
}
}
}
+module WallMountForBaseFixingsTest(){ ////toplevel
+ intersection(){
+ WallMountForBase();
+ linextr(-100,100)
+ rectfromto([ -sm_outer_rad-10, -wm_y_min ],
+ [ wmb_x_outer + 1, -100 ]);
+ }
+}
+
+module WallMountBaseFixingsTest(){ ////toplevel
+ intersection(){
+ WallMountBase();
+ linextr(-2,100)
+ rectfromto([ -sm_outer_rad-10, -wm_y_min ],
+ [ wmbb_x_outer + 1, -100 ]);
+ }
+}
+
module WallMountBasePillarsPlan(){
for (my = [0,1]) {
mirror([0, my]) {