-rw-r--r-- | another.scad | 39 |
1 files changed, 26 insertions, 13 deletions
diff --git a/another.scad b/another.scad index 6af68b6..4c4af5c 100644 --- a/another.scad +++ b/another.scad @@ -46,2 +46,3 @@ module the_extruder( pf_shell = max(3*layer_height,3*extrusion_width), + pf_smooth = true, @@ -250,16 +251,28 @@ module the_extruder( translate([0,0,mount_d/sqrt(2)/2+mount_screw_d-gearbox_d/2/*TODO:*/]) { - 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]) { + pfbl = pf_h(pf)+gearbox_d/2; //TODO: + if(pf_smooth) { + pfbd = pf_d(pf)+2*pf_shell; hull() { - translate([0,-pfba,0]) cube(size=[pfbs,pfb2a,pfbl]); - 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]); - } - } - } + 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); + cylinder(d=pfbd,h=pfbl,$fn=6); + translate([-pfbs/2,0,0]) { + hull() { + translate([0,-pfba,0]) cube(size=[pfbs,pfb2a,pfbl]); + 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) |