summaryrefslogtreecommitdiff
authorMichael Krelin <hacker@klever.net>2017-12-05 21:41:01 (UTC)
committer Michael Krelin <hacker@klever.net>2017-12-05 21:41:01 (UTC)
commit98f9a2d2169059542f92d6546f9979664b805788 (patch) (unidiff)
treeadb9aa215dd6806deca1c7fdb534fd7b6173c104
parent5539359e3a7a4437e043854865fc254209d1cb86 (diff)
downloadextrudery-98f9a2d2169059542f92d6546f9979664b805788.zip
extrudery-98f9a2d2169059542f92d6546f9979664b805788.tar.gz
extrudery-98f9a2d2169059542f92d6546f9979664b805788.tar.bz2
the embeddest material switch
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--mixer-embeddest.scad10
-rw-r--r--mixer.scad47
2 files changed, 41 insertions, 16 deletions
diff --git a/mixer-embeddest.scad b/mixer-embeddest.scad
new file mode 100644
index 0000000..576be47
--- a/dev/null
+++ b/mixer-embeddest.scad
@@ -0,0 +1,10 @@
1extrusion_width=.5;
2
3use <mixer.scad>;
4
5the_mixer(
6 pushfit_type="embeddest",
7 pushfit_d = 8,
8 pushfit_h = 7,
9 interpushfit = extrusion_width
10);
diff --git a/mixer.scad b/mixer.scad
index 7b2e5d4..a3510a2 100644
--- a/mixer.scad
+++ b/mixer.scad
@@ -17,5 +17,8 @@ module the_mixer(
17 pushfit_d = 10, pushfit_h = 10, 17 pushfit_d = 10, pushfit_h = 10,
18 pushfit_type = "threaded", // threaded|embedded 18 pushfit_id = 6.5,
19 pushfit_type = "threaded", // threaded|embedded|embeddest
19 pushfit_ring_h = 4.7, // height of embedded pushfit ring 20 pushfit_ring_h = 4.7, // height of embedded pushfit ring
20 pushfit_insert_d = 8, // diameter of pushfit insert legs hole 21 pushfit_insert_d = 8, // diameter of pushfit insert legs hole
22 pushfit_legspace_h = 3.2, // the height of legspace for embeddest variant
23 pushfit_inlet_ch = 1,
21 liner_d = 4, liner_id = 2, 24 liner_d = 4, liner_id = 2,
@@ -31,2 +34,3 @@ module the_mixer(
31) { 34) {
35 fnd = PI*2*2; fnr = fnd*2;
32 module liner(l,in) { 36 module liner(l,in) {
@@ -35,5 +39,5 @@ module the_mixer(
35 translate([0,0,inh]) 39 translate([0,0,inh])
36 cylinder(d=ld,h=l-inh,$fn=ld*PI*2); 40 cylinder(d=ld,h=l-inh,$fn=ld*fnd);
37 translate([0,0,-epsilon]) 41 translate([0,0,-epsilon])
38 cylinder(d1=ld+epsilon,d2=liner_id-epsilon,h=inh+2*epsilon); 42 cylinder(d1=ld+epsilon,d2=liner_id-epsilon,h=inh+2*epsilon,$fn=ld*fnd);
39 } 43 }
@@ -45,4 +49,12 @@ module the_mixer(
45 translate([0,0,pushfit_h-pushfit_ring_h]) 49 translate([0,0,pushfit_h-pushfit_ring_h])
46 cylinder(d=pushfit_d,h=pushfit_ring_h,$fn=pushfit_d*PI*2); 50 cylinder(d=pushfit_d,h=pushfit_ring_h,$fn=fnd);
47 cylinder(d=pushfit_insert_d,h=pushfit_h,$fn=pushfit_insert_d*PI*2); 51 cylinder(d=pushfit_insert_d,h=pushfit_h,$fn=pushfit_insert_d*fnd);
52 }else if(pushfit_type=="embeddest") {
53 cylinder(d=pushfit_id,h=pushfit_h+1,$fn=pushfit_insert_d*fnd);
54 cylinder(d=pushfit_d,h=pushfit_legspace_h,$fn=pushfit_d*fnd);
55 dd = pushfit_d-pushfit_id;
56 translate([0,0,pushfit_legspace_h-epsilon])
57 cylinder(d1=pushfit_d,d2=pushfit_id-2*epsilon,h=dd+epsilon,$fn=pushfit_d*fnd);
58 translate([0,0,pushfit_h-pushfit_inlet_ch-epsilon])
59 cylinder(d1=pushfit_id-2*epsilon,d2=pushfit_id+2*pushfit_inlet_ch+2,h=pushfit_inlet_ch+epsilon+1,$fn=(pushfit_id+2*pushfit_inlet_ch+2)*fnd);
48 } 60 }
@@ -54,3 +66,6 @@ module the_mixer(
54 pfR = pushfit_d/2+pfrx; // radius of pushfit with margin 66 pfR = pushfit_d/2+pfrx; // radius of pushfit with margin
55 pfoo = pushfit_type=="threaded" ? 0 : (pushfit_h-pushfit_ring_h); // offset of pushfit offset 67 // offset of pushfit offset
68 pfoo = (pushfit_type=="threaded") ? 0 :
69 (pushfit_type=="embedded") ? (pushfit_h-pushfit_ring_h) :
70 (pushfit_type=="embeddest") ? 0 : undef;
56 pfo = pfR/tan(join_angle/2)-pfoo; // pushfit thread ofset 71 pfo = pfR/tan(join_angle/2)-pfoo; // pushfit thread ofset
@@ -64,5 +79,5 @@ module the_mixer(
64 translate([ss*pushfit_d/2,pfo+pushfit_h-outer_r-epsilon]) 79 translate([ss*pushfit_d/2,pfo+pushfit_h-outer_r-epsilon])
65 cylinder(r=outer_r,h=h,center=true,$fn=outer_r*PI*4); 80 cylinder(r=outer_r,h=h,center=true,$fn=outer_r*fnr);
66 translate([s*pushfit_d/2,-output_l-pushfit_h+outer_r+epsilon,0]) 81 translate([s*pushfit_d/2,-output_l-pushfit_h+outer_r+epsilon,0])
67 cylinder(r=outer_r,h=h,center=true,$fn=outer_r*PI*4); 82 cylinder(r=outer_r,h=h,center=true,$fn=outer_r*fnr);
68 } 83 }
@@ -71,4 +86,4 @@ module the_mixer(
71 translate([0,linero,0]) rotate([-90,0,0]) 86 translate([0,linero,0]) rotate([-90,0,0])
72 liner(l=pfo-linero+1,in="bottom"); 87 liner(l=pfo-linero+epsilon,in="bottom");
73 //cylinder(d=ld,h=pfo-linero+1,$fn=ld*PI*4); 88 //cylinder(d=ld,h=pfo-linero+1,$fn=ld*fnd);
74 translate([0,pfo,0]) rotate([-90,0,0]) 89 translate([0,pfo,0]) rotate([-90,0,0])
@@ -77,4 +92,4 @@ module the_mixer(
77 rotate([90,0,0]) { 92 rotate([90,0,0]) {
78 liner(l=output_l+1,in="top"); 93 liner(l=output_l+epsilon,in="top");
79 //cylinder(d=ld,h=output_l+1,$fn=ld*PI*4); 94 //cylinder(d=ld,h=output_l+1,$fn=ld*fnd);
80 translate([0,0,output_l]) 95 translate([0,0,output_l])
@@ -86,6 +101,6 @@ module the_mixer(
86 translate([0,0,linero]) 101 translate([0,0,linero])
87 cylinder(d=ld,h=epsilon,$fn=ld*PI*4); 102 cylinder(d=ld,h=epsilon,$fn=ld*fnd);
88 } 103 }
89 rotate([90,0,0]) 104 rotate([90,0,0])
90 cylinder(d=ld,h=epsilon,$fn=ld*PI*4); 105 cylinder(d=ld,h=epsilon,$fn=ld*fnd);
91 } 106 }
@@ -96,4 +111,4 @@ module this() {
96 the_mixer( 111 the_mixer(
97 pushfit_type="embedded", 112 pushfit_type="embeddest",
98 pushfit_d = 12, 113 pushfit_d = 8,
99 pushfit_h = 7, 114 pushfit_h = 7,