summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--pushfittery.scad1
1 files changed, 1 insertions, 0 deletions
diff --git a/pushfittery.scad b/pushfittery.scad
index adebec2..ee3bbd0 100644
--- a/pushfittery.scad
+++ b/pushfittery.scad
@@ -1,24 +1,25 @@
1layer_height=.2;
1draft = true; 2draft = true;
2 3
3use <threads.scad>; 4use <threads.scad>;
4 5
5function pf_(d,k) = d[search([k],d)[0]][1]; 6function pf_(d,k) = d[search([k],d)[0]][1];
6function pf_d(pf) = pf_(pf,"d"); 7function pf_d(pf) = pf_(pf,"d");
7function pf_h(pf) = pf_(pf,"h"); 8function pf_h(pf) = pf_(pf,"h");
8module pushfit(pf,draft=draft) { 9module pushfit(pf,draft=draft) {
9 fnd = 2*PI; epsilon=.01; 10 fnd = 2*PI; epsilon=.01;
10 type = pf_(pf,"type"); 11 type = pf_(pf,"type");
11 h = pf_h(pf); 12 h = pf_h(pf);
12 if(type=="threaded") { 13 if(type=="threaded") {
13 minch = 25.4; 14 minch = 25.4;
14 d = (pf_d(pf) + pf_(pf,"d_tolerance"))/minch; 15 d = (pf_d(pf) + pf_(pf,"d_tolerance"))/minch;
15 tpi = pf_(pf,"tpi"); 16 tpi = pf_(pf,"tpi");
16 if(draft) cylinder(d=d*minch,h=h+epsilon); 17 if(draft) cylinder(d=d*minch,h=h+epsilon);
17 else english_thread(diameter=d,threads_per_inch=tpi,length=h/minch+epsilon,internal=true); 18 else english_thread(diameter=d,threads_per_inch=tpi,length=h/minch+epsilon,internal=true);
18 slitl = d*minch+layer_height; 19 slitl = d*minch+layer_height;
19 slitw = 0.8*d*minch/2; 20 slitw = 0.8*d*minch/2;
20 echo(slitw,slitl); 21 echo(slitw,slitl);
21 translate([-slitw/2,-slitl/2,0]) cube([slitw,slitl,h+epsilon]); 22 translate([-slitw/2,-slitl/2,0]) cube([slitw,slitl,h+epsilon]);
22 }else if(type=="embedded") { 23 }else if(type=="embedded") {
23 d = pf_d(pf); 24 d = pf_d(pf);
24 h_ring = pf_(pf,"h_ring"); 25 h_ring = pf_(pf,"h_ring");