-rw-r--r-- | another.scad | 44 |
1 files changed, 18 insertions, 26 deletions
diff --git a/another.scad b/another.scad index 74b7ffa..78d4320 100644 --- a/another.scad +++ b/another.scad | |||
@@ -54,2 +54,3 @@ module the_extruder( | |||
54 | pulley_d_clearance=2, | 54 | pulley_d_clearance=2, |
55 | pulley_small_d_clearance=0.5, | ||
55 | lever_v_clearance=.7, // vertical clearance for the lever | 56 | lever_v_clearance=.7, // vertical clearance for the lever |
@@ -329,4 +330,4 @@ module the_extruder( | |||
329 | fh = 1.5* (filament_guide_d-filament_path_d)/2; | 330 | fh = 1.5* (filament_guide_d-filament_path_d)/2; |
330 | fo = pf_offset-(idler_d+idler_clearance)/2-fh; | 331 | fo = pf_offset -filament_path_d /*(idler_d+idler_clearance)/2*/-fh; |
331 | translate([0,0,-1]) teardrop(d=filament_guide_d,h=fo-extrusion_width+1,angle=225); | 332 | translate([0,0,-1]) teardrop(d=filament_guide_d,h=fo/2,angle=225); |
332 | translate([0,0,-1]) teardrop(d=filament_path_d,h=gearbox_d/2+1,angle=-225); | 333 | translate([0,0,-1]) teardrop(d=filament_path_d,h=gearbox_d/2+1,angle=-225); |
@@ -337,28 +338,19 @@ module the_extruder( | |||
337 | // pulley | 338 | // pulley |
338 | cylinder(d=pulley_d+pulley_d_clearance,h=body_h+1,$fn=fnd*(pulley_d+pulley_d_clearance)); | 339 | cylinder(d=pulley_d+pulley_small_d_clearance,h=body_h+1,$fn=fnd*(pulley_d+pulley_d_clearance)); |
339 | 340 | cylinder(d=pulley_d+pulley_d_clearance,ls_z-max(idler_h,filament_guide_d)/2,$fn=fnd*(pulley_d+pulley_d_clearance)); | |
340 | // leverspace | ||
341 | hull() for(x=[0,gearbox_d]) | ||
342 | rotate([0,0,45]) | ||
343 | translate([x,0,ls_z-ls_h/2]) | ||
344 | cylinder(d=idler_d+idler_clearance,h=ls_h,$fn=fnd*(idler_d+idler_clearance)); | ||
345 | |||
346 | // idler clearance | ||
347 | a=cos(45)*(pulley_d+idler_d)/2; | ||
348 | b=mount_d/2-a; | ||
349 | x=sqrt(pow(a,2)+pow(b,2)); | ||
350 | translate([mount_d/2,0,ls_z]) | ||
351 | intersection() { | ||
352 | r = x+idler_d/2+idler_clearance; | ||
353 | cylinder(r=r,h=ls_h,center=true); | ||
354 | translate([-r-1,0,-ls_h/2-1]) cube(size=[2*r+2,r+1,ls_h+2]); | ||
355 | } | ||
356 | 341 | ||
357 | rotate([0,0,-45]) | ||
358 | translate([0,0,ls_z-ls_h/2]) | ||
359 | cube(size=[gearbox_d,gearbox_d,lever_thickness+lever_v_clearance]); | ||
360 | translate([0,0,ls_z-ls_h/2]) { | 342 | translate([0,0,ls_z-ls_h/2]) { |
361 | translate([mount_screwhead_d/2,0,0]) | 343 | // idler travel |
362 | mirror([0,1,0]) | 344 | translate([mount_d/2,0,0]) |
363 | cube(size=[gearbox_d,gearbox_d/2+1,lever_thickness+lever_v_clearance]); | 345 | rotate([0,0,45]) |
346 | rotate_extrude(angle=90,$fn=fnr*(shortwing+(idler_d+idler_clearance)/2)) | ||
347 | square([shortwing+(idler_d+idler_clearance)/2,ls_h]); | ||
348 | // idler itself | ||
349 | place_idler() | ||
350 | cylinder(d=idler_d+idler_clearance,h=ls_h,$fn=fnd*(idler_d+idler_clearance)); | ||
351 | // lever space | ||
352 | echo(atan(1-2*fsw/gearbox_d)); | ||
353 | rotate([0,0,45]) | ||
354 | rotate_extrude(angle=-135+max(atan(2*fsw/gearbox_d-1),atan(gearbox_d/mount_d-1))) | ||
355 | square([gearbox_d/2+1,ls_h]); | ||
364 | } | 356 | } |