summaryrefslogtreecommitdiff
authorIvan Kokshaysky <ink@rc.ru>2016-11-05 11:38:27 (UTC)
committer Ivan Kokshaysky <ink@rc.ru>2016-11-05 11:38:27 (UTC)
commit3c2368a1dd659cdb89771c6cce4bb0999283311f (patch) (unidiff)
treeef19afe57993de315ada983c0f43e2e7d58ce06b
parent60c7c744af79d8b13256c17258ed45bfaa7dd0c4 (diff)
downloadhotendery-3c2368a1dd659cdb89771c6cce4bb0999283311f.zip
hotendery-3c2368a1dd659cdb89771c6cce4bb0999283311f.tar.gz
hotendery-3c2368a1dd659cdb89771c6cce4bb0999283311f.tar.bz2
Nozzle cover and mold adjustments
- codpiece for the nozzle; - shortened molds for single component silicone, namely Abro "The Gasket Maker" Red ("abro" flag in stuff.scad). Signed-off-by: Ivan Kokshaysky <ink@rc.ru>
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--e3dv6.scad63
-rw-r--r--stuff.scad2
-rw-r--r--view.scad6
3 files changed, 57 insertions, 14 deletions
diff --git a/e3dv6.scad b/e3dv6.scad
index 902eb52..9b74f8a 100644
--- a/e3dv6.scad
+++ b/e3dv6.scad
@@ -27,8 +27,17 @@ the_w = ss + max(c_tw,ts_t)+hb_w+c_t + ss;
27the_l = ss + hb_l + ss; 27the_l = ss + hb_l + ss;
28the_h = sv + hb_h + ss; 28the_h = sv + hb_h + ss;
29 29
30/* Nozzle stuff */
31 n_protrude = 0.4;// nozzle tip protrusion from silicone
32 n_h1 = 3.6; // nozzle cone base from the heater body (minimal)
33 n_cone_h = 2; // nozzle cone height
34 n_cone_d2 = 1; // pad diameter of the 0.4 nozzle (works up to 0.6); see
35 // http://wiki.e3d-online.com/images/3/3a/V6-NOZZLE-ALL.pdf
36n_cone_d1 = n_cone_h * tan(40) * 2 + n_cone_d2;
37codpiece_h = n_h1 + n_cone_h - n_protrude;
38
30use <bubbles.scad>; 39use <bubbles.scad>;
31module heatershape(bubbled=true) { 40module heatershape(bubbled=true, codpiece=false) {
32 m = n_offset_l-hb_d/2; 41 m = n_offset_l-hb_d/2;
33 module topholes(h) { 42 module topholes(h) {
34 hull() { 43 hull() {
@@ -46,15 +55,29 @@ module heatershape(bubbled=true) {
46 translate([0,0,hb_h]) { 55 translate([0,0,hb_h]) {
47 // irrelevant, because we print upside-down: mo = m+max(c_t,c_tw)+ss; th=3*ss; 56 // irrelevant, because we print upside-down: mo = m+max(c_t,c_tw)+ss; th=3*ss;
48 mo = protrude/4; th = protrude/2; 57 mo = protrude/4; th = protrude/2;
49 translate([0,0,-1]) topholes(h=ss+protrude); 58 translate([0,0,-1]) topholes(h=ss+th);
50 translate([0,0,ss+protrude-mo-th]) hull() { 59 if (!abro)
51 topholes(h=layer_height); 60 translate([0,0,ss+protrude-mo-th]) hull() {
52 translate([-c_tw-ss,-ss,mo]) 61 topholes(h=layer_height);
53 cube(size=[the_w,the_l,th]); 62 translate([-c_tw-ss,-ss,mo])
54 } 63 cube(size=[the_w,the_l,th]);
64 }
65 else
66 translate([-c_tw-ss,-ss,ss])
67 cube(size=[the_w,the_l,th]);
55 } 68 }
56 // nozzle 69 // nozzle
57 translate([n_offset_w,n_offset_l,1]) mirror([0,0,1]) cylinder(d=n_d,h=sv+1,$fn=24); 70 translate([n_offset_w,n_offset_l,1]) mirror([0,0,1])
71 if (codpiece) {
72 mc_d2 = n_cone_d2 + n_protrude * tan(40) * 2;
73 intersection() {
74 cylinder(d = n_d, h = n_h1 + 1 + epsilon, $fn=24);
75 cylinder(d1 = n_d * 2, d2 = 0, h = n_h1 * 2 + 1, $fn=24);
76 }
77 translate([0, 0, n_h1 + 1])
78 cylinder(h = n_cone_h - n_protrude, d1 = n_cone_d1, d2 = mc_d2, $fn = 32);
79 } else
80 cylinder(d=n_d,h=sv+1,$fn=24);
58 // heater screw 81 // heater screw
59 translate([hs_offset_w,hs_offset_l,1]) mirror([0,0,1]) cylinder(d=hs_d,h=hs_t+1,$fn=24); 82 translate([hs_offset_w,hs_offset_l,1]) mirror([0,0,1]) cylinder(d=hs_d,h=hs_t+1,$fn=24);
60 // thermistor screw 83 // thermistor screw
@@ -89,11 +112,27 @@ echo("volume",vol);
89use <view.scad>; 112use <view.scad>;
90use <mold.scad>; 113use <mold.scad>;
91 114
92view="*"; 115codpiece = true;
116view="inner";
93 117
94view(view=view,volume=vol) { 118view(view=view,volume=vol) {
95 mold(size=[the_w,the_l,the_h],s=ms,v_protrude=protrude,introffset=ss+c_offset_l); 119 cp_h = codpiece ? codpiece_h - sv : 0;
96 translate([ms+c_tw+ss,ms+ss,ms+sv]) heatershape(); 120 prt = abro ? protrude / 2 : protrude;
97 translate([ms+epsilon,ms+epsilon,ms+epsilon]) cube(size=[the_w-2*epsilon,the_l-2*epsilon,the_h-2*epsilon]); 121 difference() {
122 union() {
123 mold(size=[the_w,the_l,the_h],s=ms,v_protrude=prt,introffset=ss+c_offset_l);
124 if (codpiece)
125 translate([0, 0, -cp_h])
126 cube([the_w + ms * 2, the_l + ms * 2, cp_h + epsilon]);
127 }
128 if (codpiece)
129 translate([ms + c_tw + ss + n_offset_w, ms + ss + n_offset_l, ms]) {
130 scale([1, 1, codpiece_h / (n_d + 2)])
131 sphere(d = n_d + 2, $fn = 64);
132 }
133 }
134 translate([ms+c_tw+ss,ms+ss,ms+sv]) heatershape(true, codpiece);
135 translate([ms+epsilon,ms+epsilon,ms+epsilon - cp_h])
136 cube(size=[the_w-2*epsilon,the_l-2*epsilon,the_h-2*epsilon + cp_h]);
98} 137}
99/* vim:set ai sw=1: */ 138/* vim:set ai sw=1: */
diff --git a/stuff.scad b/stuff.scad
index 26fb39f..922e702 100644
--- a/stuff.scad
+++ b/stuff.scad
@@ -4,3 +4,5 @@ epsilon = .01;
4 protrude=10; // distance to protrude vertically 4 protrude=10; // distance to protrude vertically
5 ss=1; // minimum silicone shell thickness 5 ss=1; // minimum silicone shell thickness
6 ms=1; // mold shell thickness 6 ms=1; // mold shell thickness
7
8 abro = 1; // single component silicone
diff --git a/view.scad b/view.scad
index e3dcbee..cc996d6 100644
--- a/view.scad
+++ b/view.scad
@@ -1,3 +1,4 @@
1include <stuff.scad>;
1use <mixing.scad>; 2use <mixing.scad>;
2 3
3/** 4/**
@@ -26,8 +27,9 @@ module view(view,volume) {
26 }else{ 27 }else{
27 cou() children(0); cin() children(1); 28 cou() children(0); cin() children(1);
28 csi() children(2); 29 csi() children(2);
29 translate([-mixing_size(volume=volume)[1]*2,0]) rotate([0,0,90]) 30 if (!abro)
30 cmx() mixing(volume=volume,what="altogethernow"); 31 translate([-mixing_size(volume=volume)[1]*2,0]) rotate([0,0,90])
32 cmx() mixing(volume=volume,what="altogethernow");
31 } 33 }
32} 34}
33/* vim:set ai sw=1: */ 35/* vim:set ai sw=1: */