-rw-r--r-- | another.scad | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/another.scad b/another.scad index 0d67286..8334b11 100644 --- a/another.scad +++ b/another.scad @@ -104,12 +104,14 @@ module the_extruder( ls_z = filament_elevation; // leverspace mid-z ls_h = lever_thickness+lever_v_clearance; // leverspace height mount_depth = mount_screw_l - (ls_z+ls_h/2+min_z_shell); body_h = max(protrusion_h+bore_l,mount_screw_l-mount_depth+mount_screwhead_h+min_z_shell,ls_z*2); echo("mount depth",mount_depth); + pf_offset = mount_d/sqrt(2)/2+mount_screw_d/2+min_xy_shell; + module teardrop(r,d,h,center=false,angle=45) { dd = d ? d : (2*r); $fn = dd*fnd; cylinder(d=dd,h=h,center=center); if(angle>0) translate([0,0,center?-h/2:0]) rotate([0,0,angle]) @@ -157,13 +159,13 @@ module the_extruder( 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]) + translate([0,0,pf_offset]) pushfit(pf); }//rotate translate }//rotate }//translate teeth }//translate pulley }//translate protrusion @@ -251,13 +253,13 @@ module the_extruder( }//hull translate // pushfit bracket translate([0,0,filament_elevation]) rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0]) rotate([-90,0,0]) - translate([0,0,mount_d/sqrt(2)/2+mount_screw_d-gearbox_d/2/*TODO:*/]) { + translate([0,0,pf_offset-gearbox_d/2/*TODO:*/]) { pfbl = pf_h(pf)+gearbox_d/2; //TODO: pfbd = pf_d(pf)+2*pf_shell; hull() { cylinder(d=pfbd,h=pfbl,$fn=pfbd*fnd); translate([-epsilon/2,0,0]) { cube(size=[epsilon,filament_elevation,pfbl-filament_elevation+pfbd/2]); @@ -279,13 +281,12 @@ module the_extruder( h=mount_screw_l-mount_depth+1, $fn=fnd*(mount_screw_d+mount_screw_d_tolerance)); translate([0,0,mount_screw_l-mount_depth]) cylinder(d=mount_screwhead_d,h=body_h+1,$fn=fnd*mount_screwhead_d); }//for // pushfit - pf_offset = mount_d/sqrt(2)/2+mount_screw_d; translate([0,0,filament_elevation]) rotate([0,0,45]) translate([pulley_d/2+filament_offset,0,0]) rotate([-90,0,0]) translate([0,0,pf_offset]) rotate([0,0,180]) { pushfit(pf); @@ -318,13 +319,13 @@ module the_extruder( } // back side cutout // XXX: this is somewhat ugly and potentially bugged, // but I want to sleep. a0_ = atan( - (mount_d/sqrt(2)/2+mount_screw_d+pf_h(pf)+gearbox_d/2) + (pf_offset+pf_h(pf)+gearbox_d/2) / ( pulley_d/2+filament_offset- (pf_d(pf)+2*pf_shell)/2/cos(30) ) ); |