wmb_bottom_th_min = 1;
wmb_ring_gap = 1.0;
wmb_base_extra_rad = 10;
+wmb_jig_th = 2;
+wmb_jig_around_gap = 1;
catch_stalk_h = 4.5;
catch_stalk_len = 50;
}
}
+// trim parts that are would foul the wall
+module WallMountTrimWallFoulPlan(){
+ translate([ -sm_outer_rad, 0])
+ rectfromto([ -wmbb_r_top, -(wmbb_r_top + 1) ],
+ [ 0, +(wmbb_r_top + 1) ]);
+}
+
module WallMountBase(){ ////toplevel
difference(){
union(){
}
}
- // trim parts that are would foul the wall
linextr(wmbb_z_min - 1, wmb_z_max + 1)
- translate([ -sm_outer_rad, 0])
- rectfromto([ -wmbb_r_top, -(wmbb_r_top + 1) ],
- [ 0, +(wmbb_r_top + 1) ]);
-
+ WallMountTrimWallFoulPlan();
WallMountBaseScrewsEtc();
}
}
+module WallMountBaseCutJigPlan(){ ////toplevel
+ difference(){
+ union(){
+ circle(r = wmbb_r_top);
+ }
+
+ translate([ wmb_jig_around_gap, 0 ])
+ WallMountTrimWallFoulPlan();
+
+ offset(delta = wmb_jig_around_gap)
+ WallMountBasePillarsPlan();
+ }
+}
+
+module WallMountBaseCutJig(){ ////toplevel
+ translate([ 0,0, wmbb_z_flat_max + 0.5 ])
+ linextr(0, wmb_jig_th)
+ WallMountBaseCutJigPlan();
+}
+
module WallMountForBaseDemo(){ ////toplevel
render() WallMountForBase();
color("blue") render() WallMountBase();
%WallMountBaseScrewsEtc();
+ %WallMountBaseCutJig();
}
module CatchAssemblyCoreProfile(){