summaryrefslogtreecommitdiff
path: root/another.scad
Unidiff
Diffstat (limited to 'another.scad') (more/less context) (ignore whitespace changes)
-rw-r--r--another.scad9
1 files changed, 5 insertions, 4 deletions
diff --git a/another.scad b/another.scad
index d4a3f90..fa60676 100644
--- a/another.scad
+++ b/another.scad
@@ -51,24 +51,29 @@ module the_extruder(
51 what="lever", 51 what="lever",
52 left=false, 52 left=false,
53 vitamins = true 53 vitamins = true
54) { 54) {
55 lever_shell = mount_screwhead_h+0.5; 55 lever_shell = mount_screwhead_h+0.5;
56 lever_thickness=max(spring_d+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); 56 lever_thickness=max(spring_d+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell);
57 lsd = idler_d-idler_clearance*2; 57 lsd = idler_d-idler_clearance*2;
58 longwing=gearbox_d/2+spring_d/2+lsd/2; 58 longwing=gearbox_d/2+spring_d/2+lsd/2;
59 h_ = (pulley_d+idler_d)/(2*sqrt(2)); 59 h_ = (pulley_d+idler_d)/(2*sqrt(2));
60 ri = sqrt( pow(h_,2) + pow(mount_d/2-h_,2) ); 60 ri = sqrt( pow(h_,2) + pow(mount_d/2-h_,2) );
61 spring_dl = idler_travel*longwing/ri; 61 spring_dl = idler_travel*longwing/ri;
62 62
63 filament_elevation=protrusion_h+pulley_elevation+teeth_elevation;
64 ls_z = filament_elevation; // leverspace mid-z
65 body_h = max(protrusion_h+bore_l,mount_screw_l-mounthole_depth/2+mount_screwhead_h,ls_z*2);
66 ls_h = lever_thickness+lever_v_clearance; // leverspace height
67
63 module mirrorleft() { 68 module mirrorleft() {
64 mirror([left?0:1,0,0]) children(); 69 mirror([left?0:1,0,0]) children();
65 } 70 }
66 module place_idler() { 71 module place_idler() {
67 rotate([0,0,45]) 72 rotate([0,0,45])
68 translate([(pulley_d+idler_d)/2,0,0]) 73 translate([(pulley_d+idler_d)/2,0,0])
69 children(); 74 children();
70 } 75 }
71 module finger_indent(d=lever_thickness,depth/*=1*/,r/*=15*/) { 76 module finger_indent(d=lever_thickness,depth/*=1*/,r/*=15*/) {
72 if(depth) { 77 if(depth) {
73 hh = (-4*pow(depth,2)+pow(d,2))/(8*depth); 78 hh = (-4*pow(depth,2)+pow(d,2))/(8*depth);
74 rr = depth+hh; 79 rr = depth+hh;
@@ -162,28 +167,24 @@ module the_extruder(
162 } 167 }
163 }//rotate-translate 168 }//rotate-translate
164 }//difference 169 }//difference
165 // bridging patch 170 // bridging patch
166 place_idler() 171 place_idler()
167 translate([0,0,lever_thickness/2-mount_screwhead_h]) 172 translate([0,0,lever_thickness/2-mount_screwhead_h])
168 mirror([0,0,1]) 173 mirror([0,0,1])
169 cylinder(d=mount_screwhead_d,h=layer_height); 174 cylinder(d=mount_screwhead_d,h=layer_height);
170 }//translate 175 }//translate
171 }//lever module 176 }//lever module
172 177
173 module body() { 178 module body() {
174 filament_elevation=protrusion_h+pulley_elevation+teeth_elevation;
175 ls_z = filament_elevation;
176 body_h = max(protrusion_h+bore_l,mount_screw_l-mounthole_depth/2+mount_screwhead_h,ls_z*2);
177 ls_h = lever_thickness+lever_v_clearance;
178 difference() { 179 difference() {
179 union() { 180 union() {
180 cylinder(d=gearbox_d,h=body_h,$fn=2*PI*gearbox_d); 181 cylinder(d=gearbox_d,h=body_h,$fn=2*PI*gearbox_d);
181 // finger and spring support 182 // finger and spring support
182 fsw = gearbox_d/2+mount_screwhead_d/2; 183 fsw = gearbox_d/2+mount_screwhead_d/2;
183 translate([-gearbox_d/2,0,0]) difference() { 184 translate([-gearbox_d/2,0,0]) difference() {
184 union() { 185 union() {
185 hull() { 186 hull() {
186 translate([0,-longwing,ls_z]) 187 translate([0,-longwing,ls_z])
187 rotate([0,90,0]) 188 rotate([0,90,0])
188 cylinder(d=lever_thickness,h=fsw,$fn=2*PI*lever_thickness); 189 cylinder(d=lever_thickness,h=fsw,$fn=2*PI*lever_thickness);
189 hh=body_h-ls_z; 190 hh=body_h-ls_z;