author | Michael Krelin <hacker@klever.net> | 2017-10-31 22:22:38 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2017-10-31 22:22:38 (UTC) |
commit | 5539359e3a7a4437e043854865fc254209d1cb86 (patch) (unidiff) | |
tree | 715aa476b433773971d05f5755303b0c5126bfe0 /mixer.scad | |
parent | 91595f88cbae50b7f12821f947b55c17d8c50dd7 (diff) | |
download | extrudery-5539359e3a7a4437e043854865fc254209d1cb86.zip extrudery-5539359e3a7a4437e043854865fc254209d1cb86.tar.gz extrudery-5539359e3a7a4437e043854865fc254209d1cb86.tar.bz2 |
material mixer: embedded pushfits support
-rw-r--r-- | mixer.scad | 40 |
1 files changed, 31 insertions, 9 deletions
@@ -1,2 +1,2 @@ | |||
1 | layer_height=0.2; extrusion_width=0.4; | 1 | layer_height=0.2; extrusion_width=0.45; |
2 | epsilon=0.01; | 2 | epsilon=0.01; |
@@ -17,2 +17,5 @@ module the_mixer( | |||
17 | pushfit_d = 10, pushfit_h = 10, | 17 | pushfit_d = 10, pushfit_h = 10, |
18 | pushfit_type = "threaded", // threaded|embedded | ||
19 | pushfit_ring_h = 4.7, // height of embedded pushfit ring | ||
20 | pushfit_insert_d = 8, // diameter of pushfit insert legs hole | ||
18 | liner_d = 4, liner_id = 2, | 21 | liner_d = 4, liner_id = 2, |
@@ -21,4 +24,4 @@ module the_mixer( | |||
21 | 24 | ||
22 | interpushfit = 2*extrusion_width, // space between two pushfit's threads | 25 | interpushfit = 2*extrusion_width, // space between two pushfit holes |
23 | pushfit_s = 2, // shell around pushfit threads | 26 | pushfit_s = 2, // shell around pushfit holes |
24 | output_l = 4, // length of output after before pushfit | 27 | output_l = 4, // length of output after before pushfit |
@@ -37,2 +40,11 @@ module the_mixer( | |||
37 | } | 40 | } |
41 | module pushfit() { | ||
42 | if(pushfit_type=="threaded") { | ||
43 | pushfit_thread(h=pushfit_h); | ||
44 | }else if(pushfit_type=="embedded") { | ||
45 | translate([0,0,pushfit_h-pushfit_ring_h]) | ||
46 | cylinder(d=pushfit_d,h=pushfit_ring_h,$fn=pushfit_d*PI*2); | ||
47 | cylinder(d=pushfit_insert_d,h=pushfit_h,$fn=pushfit_insert_d*PI*2); | ||
48 | } | ||
49 | } | ||
38 | 50 | ||
@@ -42,3 +54,4 @@ module the_mixer( | |||
42 | pfR = pushfit_d/2+pfrx; // radius of pushfit with margin | 54 | pfR = pushfit_d/2+pfrx; // radius of pushfit with margin |
43 | pfo = pfR/tan(join_angle/2); // pushfit thread ofset | 55 | pfoo = pushfit_type=="threaded" ? 0 : (pushfit_h-pushfit_ring_h); // offset of pushfit offset |
56 | pfo = pfR/tan(join_angle/2)-pfoo; // pushfit thread ofset | ||
44 | 57 | ||
@@ -61,3 +74,3 @@ module the_mixer( | |||
61 | translate([0,pfo,0]) rotate([-90,0,0]) | 74 | translate([0,pfo,0]) rotate([-90,0,0]) |
62 | pushfit_thread(h=pushfit_h); | 75 | pushfit(); |
63 | } | 76 | } |
@@ -67,3 +80,3 @@ module the_mixer( | |||
67 | translate([0,0,output_l]) | 80 | translate([0,0,output_l]) |
68 | pushfit_thread(h=pushfit_h); | 81 | pushfit(); |
69 | } | 82 | } |
@@ -81,5 +94,14 @@ module the_mixer( | |||
81 | 94 | ||
82 | if(false) { | 95 | module this() { |
96 | the_mixer( | ||
97 | pushfit_type="embedded", | ||
98 | pushfit_d = 12, | ||
99 | pushfit_h = 7, | ||
100 | interpushfit = extrusion_width | ||
101 | ); | ||
102 | } | ||
103 | |||
104 | if(!false) { | ||
83 | difference() { | 105 | difference() { |
84 | the_mixer(); | 106 | this(); |
85 | cylinder(d=100,h=100); | 107 | cylinder(d=100,h=100); |
@@ -87,2 +109,2 @@ if(false) { | |||
87 | }else | 109 | }else |
88 | the_mixer(); | 110 | this(); |