-rw-r--r-- | another.scad | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/another.scad b/another.scad index 6af68b6..4c4af5c 100644 --- a/another.scad +++ b/another.scad @@ -44,6 +44,7 @@ module the_extruder( pf = pushfit_embeddest, pf_shell = max(3*layer_height,3*extrusion_width), + pf_smooth = true, // empty spaces idler_travel = 3, // how far should idler travel when pressed @@ -248,10 +249,21 @@ module the_extruder( rotate([0,0,45]) translate([pulley_d/2,0,0]) rotate([-90,0,0]) translate([0,0,mount_d/sqrt(2)/2+mount_screw_d-gearbox_d/2/*TODO:*/]) { + pfbl = pf_h(pf)+gearbox_d/2; //TODO: + if(pf_smooth) { + 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]); + mirror([0,1,0]) + cube(size=[epsilon,body_h-filament_elevation,pfbl-body_h+filament_elevation+pfbd/2]); + }//translate + }//hull + }else{ pfb2a = pf_d(pf)+2*pf_shell; pfba = pfb2a/2; pfbd = pfb2a/cos(30); pfbs = pfb2a*tan(30); - pfbl = pf_h(pf)+gearbox_d/2/*TODO:*/; cylinder(d=pfbd,h=pfbl,$fn=6); translate([-pfbs/2,0,0]) { hull() { @@ -259,9 +271,10 @@ module the_extruder( cube(size=[pfbs,filament_elevation,pfbl-filament_elevation+pfba]); mirror([0,1,0]) cube(size=[pfbs,body_h-filament_elevation,pfbl-body_h+filament_elevation+pfba]); - } - } - } + }//hull + }//translate*/ + }//if(pf_smooth) + }//translate rotate translate rotate translate }//union (first child of difference) // protrusion |