retain_empir_stalkw = 1.0;
retain_rad = 1.5;
+topprotr_rad = 0.35;
+
bot_overlap = 5;
bot_w = 3;
handle_x1 = handle_x0 + bot_w + handle_w;
module InsertSection(){
- translate([-ins_orad, 0]) square([ins_th, opening_topprotr]);
+ hull(){
+ translate([-ins_orad, 0]) square([ins_th, 0.1]);
+ translate([-ins_irad - topprotr_rad,
+ opening_topprotr - topprotr_rad])
+ circle(r=topprotr_rad, $fn=10);
+ }
translate([0, -ins_orad]) square([ins_irad+1, ins_th]);
intersection(){
translate([0.1,0.1]) mirror([1,1]) square([100,100]);
translate([0,ins_orad]) circle(r=retain_rad, $fn=20);
}
-module RetainCutout(){
+module RetainCutout(gapping=false){
rotate(180-retain_empir_angle)
translate([0,ins_orad]) {
difference(){
circle(r=retain_rad + cutout_gap, $fn=20);
- rotate(180 + retain_empir_angle/2)
- translate([0, -retain_empir_stalkw])
- square([100, retain_empir_stalkw*2]);
+ if (!gapping)
+ rotate(180 + retain_empir_angle/2)
+ translate([0, -retain_empir_stalkw])
+ square([100, retain_empir_stalkw*2]);
}
}
}
+module GappingSection(){
+ difference(){
+ InsertSection();
+ RetainCutout(true);
+ }
+ HandleSection();
+}
+
module WithRetainSection(){
difference(){
InsertSection();
RetainSection();
}
+module BasicSection(){
+ InsertSection();
+ HandleSection();
+}
+
module Demo(){
difference(){
InsertSection();
//Demo();
//WithRetainSection();
-Test();
+//BasicSection();
+GappingSection();
+//Test();