-rw-r--r-- | another.scad | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/another.scad b/another.scad index f54c5cd..b80d0d0 100644 --- a/another.scad +++ b/another.scad @@ -319,24 +319,33 @@ module the_extruder( r = x+idler_d/2+idler_clearance; cylinder(r=r,h=ls_h,center=true); translate([-r-1,0,-ls_h/2-1]) cube(size=[2*r+2,r+1,ls_h+2]); } // back side cutout - a0 = asin((mount_screwhead_d+2*extrusion_width)/mount_d); + // 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) + / + ( + pulley_d/2- + (pf_d(pf)+2*pf_shell)/2/cos(30) + ) + ); + a0 = -135 + ( (a0_>0) ? a0_ : 180+a0_ ); a1 = atan((longwing-lever_thickness/2)/(gearbox_d/2)); - translate([0,0,ls_z]) hull() { + translate([0,0,ls_z]) difference() { rotate([0,0,-180+a0]) rotate_extrude(angle=a1-a0) translate([0,-ls_h/2]) square([sqrt(pow(gearbox_d/2,2)+pow(longwing-lever_thickness/2,2))+1, - ls_h]); - cylinder(d=bore_d/2/*TODO:recalculate angles based on this, - too lazy to do that now*/, - h=ls_h,center=true); - } + ls_h]); + translate([-mount_d/2,0,0]) + cylinder(d=gearbox_d-mount_d,h=ls_h+2,center=true,$fn=fnd*(gearbox_d-mount_d)); + }//difference translate rotate([0,0,-45]) translate([0,0,ls_z-ls_h/2]) cube(size=[gearbox_d,gearbox_d,lever_thickness+lever_v_clearance]); translate([0,0,ls_z-ls_h/2]) { translate([mount_screwhead_d/2,0,0]) |