-rw-r--r-- | mixer.scad | 40 |
1 files changed, 31 insertions, 9 deletions
@@ -1,2 +1,2 @@ -layer_height=0.2; extrusion_width=0.4; +layer_height=0.2; extrusion_width=0.45; epsilon=0.01; @@ -17,2 +17,5 @@ module the_mixer( pushfit_d = 10, pushfit_h = 10, + pushfit_type = "threaded", // threaded|embedded + pushfit_ring_h = 4.7, // height of embedded pushfit ring + pushfit_insert_d = 8, // diameter of pushfit insert legs hole liner_d = 4, liner_id = 2, @@ -21,4 +24,4 @@ module the_mixer( - interpushfit = 2*extrusion_width, // space between two pushfit's threads - pushfit_s = 2, // shell around pushfit threads + interpushfit = 2*extrusion_width, // space between two pushfit holes + pushfit_s = 2, // shell around pushfit holes output_l = 4, // length of output after before pushfit @@ -37,2 +40,11 @@ module the_mixer( } + module pushfit() { + if(pushfit_type=="threaded") { + pushfit_thread(h=pushfit_h); + }else if(pushfit_type=="embedded") { + translate([0,0,pushfit_h-pushfit_ring_h]) + cylinder(d=pushfit_d,h=pushfit_ring_h,$fn=pushfit_d*PI*2); + cylinder(d=pushfit_insert_d,h=pushfit_h,$fn=pushfit_insert_d*PI*2); + } + } @@ -42,3 +54,4 @@ module the_mixer( pfR = pushfit_d/2+pfrx; // radius of pushfit with margin - pfo = pfR/tan(join_angle/2); // pushfit thread ofset + pfoo = pushfit_type=="threaded" ? 0 : (pushfit_h-pushfit_ring_h); // offset of pushfit offset + pfo = pfR/tan(join_angle/2)-pfoo; // pushfit thread ofset @@ -61,3 +74,3 @@ module the_mixer( translate([0,pfo,0]) rotate([-90,0,0]) - pushfit_thread(h=pushfit_h); + pushfit(); } @@ -67,3 +80,3 @@ module the_mixer( translate([0,0,output_l]) - pushfit_thread(h=pushfit_h); + pushfit(); } @@ -81,5 +94,14 @@ module the_mixer( -if(false) { +module this() { + the_mixer( + pushfit_type="embedded", + pushfit_d = 12, + pushfit_h = 7, + interpushfit = extrusion_width + ); +} + +if(!false) { difference() { - the_mixer(); + this(); cylinder(d=100,h=100); @@ -87,2 +109,2 @@ if(false) { }else - the_mixer(); + this(); |