author | Michael Krelin <hacker@klever.net> | 2018-08-12 21:36:03 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2018-08-12 21:36:03 (UTC) |
commit | e33d88e915e10aa7c127a75482e1210313c29add (patch) (side-by-side diff) | |
tree | c51b6a3fc3ff57b21b1bdfdaae0b472cd430190b | |
parent | f123d3acb5e918b6a21af0a65bba4dc0395c73f3 (diff) | |
download | extrudery-e33d88e915e10aa7c127a75482e1210313c29add.zip extrudery-e33d88e915e10aa7c127a75482e1210313c29add.tar.gz extrudery-e33d88e915e10aa7c127a75482e1210313c29add.tar.bz2 |
make offset on idler and pulley side difference
idler is moving and as long as I'm using plain bearing for idler
that should be better
-rw-r--r-- | another.scad | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/another.scad b/another.scad index a93d21a..50b3a84 100644 --- a/another.scad +++ b/another.scad @@ -62,24 +62,25 @@ module the_extruder( st_nut_d_tolerance=.2,/* TODO: make it st_nut_w_tolerance */ st_screw_d_tolerance=.5, what="lever", // lever|body|knob|springpad|* left=false, vitamins = true, supports = false, bridges = true, tensioner = true, debug = false ) { fnd = 2*PI; fnr = 2*fnd; + idler_filament_offset = filament_path_d/2; // -filament_offset; lever_shell = mount_screwhead_h+0.5; lever_thickness=max(spring_d+spring_d_clearance+layer_height*8,idler_h+idler_v_tolerance+2*lever_shell); lsd = idler_d-idler_clearance*2; longwing=gearbox_d/2+spring_d/2+lsd/2; h_ = (pulley_d+idler_d)/(2*sqrt(2)); ri = sqrt( pow(h_,2) + pow(mount_d/2-h_,2) ); spring_dl = idler_travel*longwing/ri; filament_elevation=protrusion_h+pulley_elevation+teeth_elevation; ls_z = filament_elevation; // leverspace mid-z body_h = max(protrusion_h+bore_l,mount_screw_l-mounthole_depth/2+mount_screwhead_h,ls_z*2); ls_h = lever_thickness+lever_v_clearance; // leverspace height @@ -113,30 +114,34 @@ module the_extruder( cylinder(d=bore_d,h=bore_l,$fn=30); translate([-bore_d/2-1,bore_dd-bore_d/2,-1]) cube([bore_d+2,bore_d/2,bore_l+2]); } translate([0,0,pulley_elevation]) { cylinder(d=pulley_d,h=pulley_h,$fn=30); translate([0,0,teeth_elevation]) { place_idler() { cylinder(d=idler_d,h=idler_h,center=true,$fn=30); cylinder(d=idler_screw_d,h=lever_thickness+2,center=true,$fn=30); }//place idler // filament path - rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0]) { - rotate([90,0,0]) cylinder(d=filament_d,h=gearbox_d*2,center=true,$fn=15); - rotate([-90,0,0]) - translate([0,0,mount_d/sqrt(2)/2+mount_screw_d]) - pushfit(pf); - } + rotate([0,0,45]) { + translate([pulley_d/2-idler_filament_offset,0,0]) rotate([90,0,0]) { + cylinder(d=filament_d,h=gearbox_d,center=false,$fn=15); + }//rotate translate + translate([pulley_d/2+filament_offset,0,0]) rotate([-90,0,0]) { + cylinder(d=filament_d,h=gearbox_d,center=false,$fn=15); + translate([0,0,mount_d/sqrt(2)/2+mount_screw_d]) + pushfit(pf); + }//rotate translate + }//rotate }//translate teeth }//translate pulley }//translate protrusion }//vitamins module lever() { translate([0,0,protrusion_h+pulley_elevation+teeth_elevation]) { difference() { union() { hull() { place_idler() cylinder(d=lsd,h=lever_thickness,center=true,$fn=60); @@ -144,30 +149,30 @@ module the_extruder( cylinder(d=lsd,h=lever_thickness,center=true,$fn=60); }//hull hull() { translate([mount_d/2,0,0]) cylinder(d=lsd,h=lever_thickness,center=true,$fn=60); translate([mount_d/2,-longwing,0]) rotate([0,90,0]) cylinder(d=lever_thickness,h=lsd,center=true,$fn=60); }//hull }//union // filament path place_idler() { - translate([-idler_d/2+filament_offset,0,0]) rotate([90,0,0]) { + translate([-idler_d/2-idler_filament_offset,0,0]) rotate([90,0,0]) { cylinder(d=filament_path_d,h=3*gearbox_d,center=true,$fn=30); translate([0,-filament_path_d/2/sqrt(2),0]) rotate([0,0,45]) cube(size=[filament_path_d/2,filament_path_d/2,3*gearbox_d],center=true); }//rotate translate - translate([-idler_d/2+filament_offset,0,0]) + translate([-idler_d/2-idler_filament_offset,0,0]) rotate([90,0,0]) translate([0,0, sqrt(2)*(mount_d-pulley_d+lsd)/2 ]) { cylinder(d1=filament_path_d,d2=2*filament_path_d, h=filament_path_d,$fn=2*filament_path_d*fnd); translate([0,0,filament_path_d-epsilon]) cylinder(d=2*filament_path_d,h=lsd,$fn=2*filament_path_d*fnd); } }//place_idler // idler space and mounting hole |