summaryrefslogtreecommitdiff
authorMichael Krelin <hacker@klever.net>2018-07-31 19:27:53 (UTC)
committer Michael Krelin <hacker@klever.net>2018-07-31 19:27:53 (UTC)
commitbbac3cfec8ebd99cd19e7165855572a06ddfcf75 (patch) (side-by-side diff)
tree135ff1f11235cd6ed08835be4907201bc103a62d
parentd9b12712aad96c583cc10406f00b0383eb7b7ab2 (diff)
downloadextrudery-bbac3cfec8ebd99cd19e7165855572a06ddfcf75.zip
extrudery-bbac3cfec8ebd99cd19e7165855572a06ddfcf75.tar.gz
extrudery-bbac3cfec8ebd99cd19e7165855572a06ddfcf75.tar.bz2
pushfittery: more epsilony epsilon
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--pushfittery.scad4
1 files changed, 2 insertions, 2 deletions
diff --git a/pushfittery.scad b/pushfittery.scad
index ee3bbd0..6b6ec2e 100644
--- a/pushfittery.scad
+++ b/pushfittery.scad
@@ -1,44 +1,44 @@
-layer_height=.2;
+layer_height=.2; epsilon=.01;
draft = true;
use <threads.scad>;
function pf_(d,k) = d[search([k],d)[0]][1];
function pf_d(pf) = pf_(pf,"d");
function pf_h(pf) = pf_(pf,"h");
module pushfit(pf,draft=draft) {
fnd = 2*PI; epsilon=.01;
type = pf_(pf,"type");
h = pf_h(pf);
if(type=="threaded") {
minch = 25.4;
d = (pf_d(pf) + pf_(pf,"d_tolerance"))/minch;
tpi = pf_(pf,"tpi");
if(draft) cylinder(d=d*minch,h=h+epsilon);
- else english_thread(diameter=d,threads_per_inch=tpi,length=h/minch+epsilon,internal=true);
+ else english_thread(diameter=d,threads_per_inch=tpi,length=(h+epsilon)/minch,internal=true);
slitl = d*minch+layer_height;
slitw = 0.8*d*minch/2;
echo(slitw,slitl);
translate([-slitw/2,-slitl/2,0]) cube([slitw,slitl,h+epsilon]);
}else if(type=="embedded") {
d = pf_d(pf);
h_ring = pf_(pf,"h_ring");
d_insert = pf_(pf,"d_insert");
$fn = d*fnd;
translate([0,0,h-h_ring]) cylinder(d=d,h=h_ring+epsilon);
cylinder(d=d_insert,h=h);
}else if(type=="embeddest") {
d = pf_d(pf);
id = pf_(pf,"id");
h_legspace = pf_(pf,"h_legspace");
ch = pf_(pf,"ch");
$fn = d*fnd;
cylinder(d=id,h=h+1);
cylinder(d=d,h=h_legspace);
dd = (d-id)/2;
translate([0,0,h_legspace-epsilon])
cylinder(d1=d,d2=id-2*epsilon,h=dd+epsilon);
translate([0,0,h-ch-epsilon])
cylinder(d1=id-2*epsilon,d2=id+2*ch+2,h=ch+epsilon+1);
}
}//pushfit module