author | Michael Krelin <hacker@klever.net> | 2016-06-29 21:38:00 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2016-06-29 21:38:00 (UTC) |
commit | d0448a1c697d886521da5ae90e07c5b4bb8bf0f9 (patch) (unidiff) | |
tree | 38eaf3ca8a1513f82d66c801a07aabd279f2d2ef | |
parent | fe38002ae5714d1a080fc518e03459ef91724cad (diff) | |
download | hotendery-d0448a1c697d886521da5ae90e07c5b4bb8bf0f9.zip hotendery-d0448a1c697d886521da5ae90e07c5b4bb8bf0f9.tar.gz hotendery-d0448a1c697d886521da5ae90e07c5b4bb8bf0f9.tar.bz2 |
volcano modified for easier command line render
-rw-r--r-- | volcano.scad | 4 |
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 | } |
83 | module silicone() { | 83 | module 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 | ||
88 | use <mold.scad>; | 88 | use <mold.scad>; |
89 | 89 | ||
90 | vol_ = the_w*the_l*the_h | 90 | vol_ = 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 | ; |
98 | vol = vol_*1.2; | 98 | vol = vol_*1.2; |
99 | echo("volume",vol); | 99 | echo("volume",vol); |
100 | 100 | ||
101 | use <view.scad>; | 101 | use <view.scad>; |
102 | 102 | ||
103 | view(view="*",volume=vol) { | 103 | view="*"; |
104 | |||
105 | view(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: */ |