summaryrefslogtreecommitdiff
authorMichael Krelin <hacker@klever.net>2016-06-29 21:38:00 (UTC)
committer Michael Krelin <hacker@klever.net>2016-06-29 21:38:00 (UTC)
commitd0448a1c697d886521da5ae90e07c5b4bb8bf0f9 (patch) (unidiff)
tree38eaf3ca8a1513f82d66c801a07aabd279f2d2ef
parentfe38002ae5714d1a080fc518e03459ef91724cad (diff)
downloadhotendery-d0448a1c697d886521da5ae90e07c5b4bb8bf0f9.zip
hotendery-d0448a1c697d886521da5ae90e07c5b4bb8bf0f9.tar.gz
hotendery-d0448a1c697d886521da5ae90e07c5b4bb8bf0f9.tar.bz2
volcano modified for easier command line render
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--volcano.scad4
1 files changed, 3 insertions, 1 deletions
diff --git a/volcano.scad b/volcano.scad
index 7f7ffce..00ff64e 100644
--- a/volcano.scad
+++ b/volcano.scad
@@ -39,70 +39,72 @@ module heatershape() {
39 cube(size=[pt[0],pt[1],pt[2]+1]); 39 cube(size=[pt[0],pt[1],pt[2]+1]);
40 hull() { 40 hull() {
41 cube(size=pt); 41 cube(size=pt);
42 translate([-volcano_hs_t-sh,0,max(volcano_ts_t,volcano_hs_t)+sh]) 42 translate([-volcano_hs_t-sh,0,max(volcano_ts_t,volcano_hs_t)+sh])
43 cube(size=[the_w,pt[1],pt[2]-max(volcano_ts_t,volcano_hs_t)-sh]); 43 cube(size=[the_w,pt[1],pt[2]-max(volcano_ts_t,volcano_hs_t)-sh]);
44 translate([0,-sh,sh]) 44 translate([0,-sh,sh])
45 cube(size=[pt[0],pt[1]+2*sh,pt[2]-sh]); 45 cube(size=[pt[0],pt[1]+2*sh,pt[2]-sh]);
46 } 46 }
47 } 47 }
48 } 48 }
49 // cutoff on top 49 // cutoff on top
50 translate([-1,volcano_l-volcano_cutoff_l+volcano_cutoff_t,volcano_h-volcano_cutoff_t]) { 50 translate([-1,volcano_l-volcano_cutoff_l+volcano_cutoff_t,volcano_h-volcano_cutoff_t]) {
51 cube(size=[volcano_w+2,volcano_cutoff_l-volcano_cutoff_t+1,volcano_cutoff_t+1]); 51 cube(size=[volcano_w+2,volcano_cutoff_l-volcano_cutoff_t+1,volcano_cutoff_t+1]);
52 translate([0,0,volcano_cutoff_t]) 52 translate([0,0,volcano_cutoff_t])
53 rotate([0,90,0]) 53 rotate([0,90,0])
54 cylinder(r=volcano_cutoff_t,h=volcano_w+2,$fn=24); 54 cylinder(r=volcano_cutoff_t,h=volcano_w+2,$fn=24);
55 } 55 }
56 // screwhole on top of protrusion 56 // screwhole on top of protrusion
57 translate([volcano_w/2,(volcano_l-volcano_cutoff_l)/2,volcano_h+protrude+2]) 57 translate([volcano_w/2,(volcano_l-volcano_cutoff_l)/2,volcano_h+protrude+2])
58 mirror([0,0,1]) 58 mirror([0,0,1])
59 cylinder(d=3,h=protrude+1); 59 cylinder(d=3,h=protrude+1);
60 } 60 }
61 // nozzle 61 // nozzle
62 translate([volcano_n_offset_w,volcano_n_offset_l,-sv]) 62 translate([volcano_n_offset_w,volcano_n_offset_l,-sv])
63 cylinder(d=volcano_n_d,h=sv+1,$fn=24); 63 cylinder(d=volcano_n_d,h=sv+1,$fn=24);
64 // cartridge 64 // cartridge
65 translate([volcano_c_offset_w,volcano_c_offset_l,-volcano_c_t]) 65 translate([volcano_c_offset_w,volcano_c_offset_l,-volcano_c_t])
66 cylinder(d=volcano_c_d,h=volcano_c_t+1,$fn=24); 66 cylinder(d=volcano_c_d,h=volcano_c_t+1,$fn=24);
67 // heatblock screws 67 // heatblock screws
68 for(h=volcano_hs_h) 68 for(h=volcano_hs_h)
69 translate([1,volcano_hs_offset_l,h]) 69 translate([1,volcano_hs_offset_l,h])
70 rotate([0,-90,0]) 70 rotate([0,-90,0])
71 cylinder(d=volcano_hs_d,h=volcano_hs_t+1,$fn=24); 71 cylinder(d=volcano_hs_d,h=volcano_hs_t+1,$fn=24);
72 // thermistor screw 72 // thermistor screw
73 translate([volcano_w-1,volcano_ts_offset_l,volcano_ts_h]) 73 translate([volcano_w-1,volcano_ts_offset_l,volcano_ts_h])
74 rotate([0,90,0]) 74 rotate([0,90,0])
75 cylinder(d=volcano_ts_d,h=volcano_ts_t+1,$fn=24); 75 cylinder(d=volcano_ts_d,h=volcano_ts_t+1,$fn=24);
76 bubbles(size=[volcano_w,sh/2,volcano_h]); 76 bubbles(size=[volcano_w,sh/2,volcano_h]);
77 translate([0,volcano_l,0]) bubbles(size=[volcano_w,sh/2,volcano_h-volcano_cutoff_t]); 77 translate([0,volcano_l,0]) bubbles(size=[volcano_w,sh/2,volcano_h-volcano_cutoff_t]);
78 for(x=[0,volcano_w]) translate([x,0,0]) 78 for(x=[0,volcano_w]) translate([x,0,0])
79 rotate([0,0,90]) bubbles(size=[volcano_l,(volcano_hs_t+sh)/2,volcano_h-volcano_cutoff_t]); 79 rotate([0,0,90]) bubbles(size=[volcano_l,(volcano_hs_t+sh)/2,volcano_h-volcano_cutoff_t]);
80 rotate([-90,0,0]) 80 rotate([-90,0,0])
81 bubbles(size=[volcano_w,sv/2,volcano_l]); 81 bubbles(size=[volcano_w,sv/2,volcano_l]);
82} 82}
83module silicone() { 83module silicone() {
84 translate([-sh-volcano_hs_t,-sh,-sv]) 84 translate([-sh-volcano_hs_t,-sh,-sv])
85 cube(size=[the_w,the_l,the_h-epsilon]); 85 cube(size=[the_w,the_l,the_h-epsilon]);
86} 86}
87 87
88use <mold.scad>; 88use <mold.scad>;
89 89
90vol_ = the_w*the_l*the_h 90vol_ = the_w*the_l*the_h
91 - volcano_w*volcano_l*volcano_h // heater block 91 - volcano_w*volcano_l*volcano_h // heater block
92 + volcano_w*volcano_cutoff_t*volcano_cutoff_l// cutoff 92 + volcano_w*volcano_cutoff_t*volcano_cutoff_l// cutoff
93 - PI*pow(volcano_n_d/2,2)*sv // nozzle 93 - PI*pow(volcano_n_d/2,2)*sv // nozzle
94 - PI*pow(volcano_c_d/2,2)*volcano_c_t // cartridge 94 - PI*pow(volcano_c_d/2,2)*volcano_c_t // cartridge
95 - PI*pow(volcano_ts_d/2,2)*volcano_ts_t// thermistor screw 95 - PI*pow(volcano_ts_d/2,2)*volcano_ts_t// thermistor screw
96 - PI*pow(volcano_hs_d/2,2)*volcano_hs_t *2// heater screws 96 - PI*pow(volcano_hs_d/2,2)*volcano_hs_t *2// heater screws
97; 97;
98vol = vol_*1.2; 98vol = vol_*1.2;
99echo("volume",vol); 99echo("volume",vol);
100 100
101use <view.scad>; 101use <view.scad>;
102 102
103view(view="*",volume=vol) { 103view="*";
104
105view(view=view,volume=vol) {
104 mold(size=[the_w,the_l,the_h],s=ms,v_protrude=protrude,introffset=(volcano_l-volcano_cutoff_l)*3/4); 106 mold(size=[the_w,the_l,the_h],s=ms,v_protrude=protrude,introffset=(volcano_l-volcano_cutoff_l)*3/4);
105 translate([ms+volcano_hs_t+sh,ms+sh,ms+sv]) heatershape(); 107 translate([ms+volcano_hs_t+sh,ms+sh,ms+sv]) heatershape();
106 translate([ms+epsilon,ms+epsilon,ms+epsilon]) cube(size=[the_w-2*epsilon,the_l-2*epsilon,the_h]); 108 translate([ms+epsilon,ms+epsilon,ms+epsilon]) cube(size=[the_w-2*epsilon,the_l-2*epsilon,the_h]);
107} 109}
108/* vim:set ai sw=1: */ 110/* vim:set ai sw=1: */