-module Handle(){
- bs1 = retain_len + overret_gaplen + 4;
-
- translate([0,0,0])
- linear_extrude(height= retain_len)
- WithRetainSection();
-
- translate([0,0, bs1])
- linear_extrude(height= basics_len)
- BasicSection();
-
- translate([0,0, bs1+0.1]) mirror([0,0,1]) {
- intersection_for (sl=[0,1]) {
- multmatrix([[1,0,0,0],
- [0,1,sl,0],
- [0,0,1,0],
- [0,0,0,1]])
- linear_extrude(height= overret_gaplen + 10, convexity=100)
- BasicSection();
- }
- }
-
- linear_extrude(height=total_len, convexity=100) GappingSection();
-
- translate([0,0, retain1_base]) {
- intersection(){
- linear_extrude(height=retain1_len, convexity=100)
- WithRetainSection();
- translate([retain_mxy[0], retain_mxy[1], 0])
- rotate([0,0, retain_empir_angle])
- translate([retain_stalk_len, -30, 0])
- multmatrix([[1,0,-1,0],
- [0,1,0,0],
- [0,0,1,0],
- [0,0,0,1]])
- cube([50, 60, 50]);
- }
- }