From 60f188ff063a4c6f7e5d4a1078fd520a84f829c4 Mon Sep 17 00:00:00 2001 From: Michael Krelin Date: Sun, 12 Aug 2018 00:07:46 +0000 Subject: another: potentially even prettier pushfit arrangement --- 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,20 +249,32 @@ 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:*/]) { - 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) // protrusion -- cgit v0.9.0.2