-rw-r--r-- | another.scad | 9 |
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; |