-rw-r--r-- | another.scad | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/another.scad b/another.scad index a3f5dc9..74b7ffa 100644 --- a/another.scad +++ b/another.scad | |||
@@ -78,24 +78,26 @@ module the_extruder( | |||
78 | 78 | ||
79 | idler_filament_offset = filament_path_d/2; // -filament_offset; | 79 | idler_filament_offset = filament_path_d/2; // -filament_offset; |
80 | lever_shell = mount_screwhead_h+0.5; | 80 | lever_shell = mount_screwhead_h+0.5; |
81 | lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); | 81 | lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); |
82 | lsd = idler_d-idler_clearance*2; | 82 | lsd = idler_d-idler_clearance*2; |
83 | longwing=gearbox_d/2+spring_d/2+lsd/2; | 83 | longwing=gearbox_d/2+spring_d/2+lsd/2; |
84 | shortwing = let(a=mount_d/2,c=(pulley_d+idler_d)/2/sqrt(2)) | 84 | shortwing = let(a=mount_d/2,c=(pulley_d+idler_d)/2/sqrt(2)) |
85 | sqrt(c*c+pow(a-c,2)); | 85 | sqrt(c*c+pow(a-c,2)); |
86 | longwing_travel = idler_travel*longwing/shortwing; | 86 | longwing_travel = idler_travel*longwing/shortwing; |
87 | h_ = (pulley_d+idler_d)/(2*sqrt(2)); | 87 | h_ = (pulley_d+idler_d)/(2*sqrt(2)); |
88 | ri = sqrt( pow(h_,2) + pow(mount_d/2-h_,2) ); | 88 | ri = sqrt( pow(h_,2) + pow(mount_d/2-h_,2) ); |
89 | spring_dl = idler_travel*longwing/ri; | 89 | spring_dl = idler_travel*longwing/ri; |
90 | // finger and spring support | ||
91 | fsw = gearbox_d-(gearbox_d-mount_d)/2-max(spring_lc,longwing_travel+(gearbox_d-mount_d)/2); | ||
90 | 92 | ||
91 | mount_min_depth = mounthole_min_depth ? mounthole_min_depth : mounthole_depth-1; | 93 | mount_min_depth = mounthole_min_depth ? mounthole_min_depth : mounthole_depth-1; |
92 | mount_max_depth = mounthole_max_depth ? mounthole_max_depth : mounthole_depth+1; | 94 | mount_max_depth = mounthole_max_depth ? mounthole_max_depth : mounthole_depth+1; |
93 | filament_elevation=protrusion_h+pulley_elevation+teeth_elevation; | 95 | filament_elevation=protrusion_h+pulley_elevation+teeth_elevation; |
94 | ls_z = filament_elevation; // leverspace mid-z | 96 | ls_z = filament_elevation; // leverspace mid-z |
95 | ls_h = lever_thickness+lever_v_clearance; // leverspace height | 97 | ls_h = lever_thickness+lever_v_clearance; // leverspace height |
96 | mount_depth = mount_screw_l - (ls_z+ls_h/2+min_z_shell); | 98 | mount_depth = mount_screw_l - (ls_z+ls_h/2+min_z_shell); |
97 | body_h = max(protrusion_h+bore_l,mount_screw_l-mount_depth+mount_screwhead_h+min_z_shell,ls_z*2); | 99 | body_h = max(protrusion_h+bore_l,mount_screw_l-mount_depth+mount_screwhead_h+min_z_shell,ls_z*2); |
98 | echo("mount depth",mount_depth); | 100 | echo("mount depth",mount_depth); |
99 | 101 | ||
100 | module teardrop(r,d,h,center=false,angle=45) { | 102 | module teardrop(r,d,h,center=false,angle=45) { |
101 | dd = d ? d : (2*r); | 103 | dd = d ? d : (2*r); |
@@ -223,26 +225,24 @@ module the_extruder( | |||
223 | // bridging patch | 225 | // bridging patch |
224 | if(bridges) place_idler() | 226 | if(bridges) place_idler() |
225 | translate([0,0,lever_thickness/2-mount_screwhead_h]) | 227 | translate([0,0,lever_thickness/2-mount_screwhead_h]) |
226 | mirror([0,0,1]) | 228 | mirror([0,0,1]) |
227 | cylinder(d=mount_screwhead_d,h=layer_height); | 229 | cylinder(d=mount_screwhead_d,h=layer_height); |
228 | }//translate | 230 | }//translate |
229 | }//lever module | 231 | }//lever module |
230 | 232 | ||
231 | module body() { | 233 | module body() { |
232 | difference() { | 234 | difference() { |
233 | union() { | 235 | union() { |
234 | cylinder(d=gearbox_d,h=body_h,$fn=fnd*gearbox_d); | 236 | cylinder(d=gearbox_d,h=body_h,$fn=fnd*gearbox_d); |
235 | // finger and spring support | ||
236 | fsw = gearbox_d-(gearbox_d-mount_d)/2-max(spring_lc,longwing_travel+(gearbox_d-mount_d)/2); | ||
237 | translate([-gearbox_d/2,0,0]) difference() { | 237 | translate([-gearbox_d/2,0,0]) difference() { |
238 | union() { | 238 | union() { |
239 | hull() { | 239 | hull() { |
240 | translate([0,-longwing,ls_z]) | 240 | translate([0,-longwing,ls_z]) |
241 | rotate([0,90,0]) | 241 | rotate([0,90,0]) |
242 | cylinder(d=lever_thickness,h=fsw,$fn=fnd*lever_thickness); | 242 | cylinder(d=lever_thickness,h=fsw,$fn=fnd*lever_thickness); |
243 | hh=body_h-ls_z; | 243 | hh=body_h-ls_z; |
244 | translate([0,0,ls_z]) | 244 | translate([0,0,ls_z]) |
245 | mirror([0,1,0]) cube(size=[fsw,longwing+(st_thinshell+st_split_w_tolerance)/2+st_thickshell,body_h-ls_z]); | 245 | mirror([0,1,0]) cube(size=[fsw,longwing+(st_thinshell+st_split_w_tolerance)/2+st_thickshell,body_h-ls_z]); |
246 | hhh=ls_z; | 246 | hhh=ls_z; |
247 | translate([0,0,0]) | 247 | translate([0,0,0]) |
248 | mirror([0,1,0]) cube(size=[fsw,longwing-hhh+lever_thickness/sqrt(2),hhh+lever_thickness/2]); | 248 | mirror([0,1,0]) cube(size=[fsw,longwing-hhh+lever_thickness/sqrt(2),hhh+lever_thickness/2]); |