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;
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
);
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 ];
}
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
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);
}
}
}
}*/
-// circle(r = wmb_mount_cut_rad);
+
module WallMountForBase(){ ////toplevel
SomeStrap(sm_main_width, wm_z_max + 2){
union(){
WallMountMounts();
+ WallMountBaseMounts();
}
union(){
WallMountScrewHoles();