summaryrefslogtreecommitdiff
authorMichael Krelin <hacker@klever.net>2016-07-15 12:23:18 (UTC)
committer Michael Krelin <hacker@klever.net>2016-07-15 12:23:18 (UTC)
commit586fcd2f3b7147bf7d8813f84cc2c0cddeb3bb3c (patch) (unidiff)
treedc676f58cf0dd67529221096a8b6bc92c6719331
downloadcarriagery-586fcd2f3b7147bf7d8813f84cc2c0cddeb3bb3c.zip
carriagery-586fcd2f3b7147bf7d8813f84cc2c0cddeb3bb3c.tar.gz
carriagery-586fcd2f3b7147bf7d8813f84cc2c0cddeb3bb3c.tar.bz2
e3d chimera mockup
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--e3dchimera.scad70
1 files changed, 70 insertions, 0 deletions
diff --git a/e3dchimera.scad b/e3dchimera.scad
new file mode 100644
index 0000000..2cd759d
--- a/dev/null
+++ b/e3dchimera.scad
@@ -0,0 +1,70 @@
1
2chimera_heatsink_size = [30,18,30];
3chimera_fins_h = 6;
4chimera_fin_thickness = 1.75;
5chimera_fins_space = 2.5;
6chimera_fins_n = 8;
7chimera_nozzles_apart = 18;
8chimera_nozzles_from_back = 6;
9chimera_heatsink_to_heater=2.1;
10e3d_heater_size = [16,20,11.5];
11e3d_heater_nozzle_from_front = 4.5;
12chimera_assembly_height = 49.5;
13chimera_mounting_holes_from_top = [
14 [0, 20], [-4.5,10], [4.5,10]
15];
16chimera_heatbreak_screws_h = [ 3, 11 ];
17chimera_heatbreak_screws_d = 3; /* TODO: check */
18
19e3d_nozzle_height = 12.5;
20e3d_nozzle_0_4 = [ 1, 0.8, 1.5, 10.5 ];
21module e3d_nozzle(nozzle = e3d_nozzle_0_4) {
22 h = 12.5;
23 cylinder(d1=nozzle[0],d2=nozzle[0]+2*(h-nozzle[3])/tan(180-125),h=h-nozzle[3]);
24 translate([0,0,h-nozzle[3]])
25 cylinder(r=7/2/cos(3),h=e3d_nozzle_0_4[3]-7.5,$fn=6);
26 translate([0,0,h-7.5]) cylinder(d=5,h=7.5);
27 translate([0,0,h-6]) cylinder(d=6,h=6);
28}
29
30module e3d_heater() {
31 translate([-e3d_heater_size[0]/2,-e3d_heater_nozzle_from_front,0])
32 cube(size=e3d_heater_size);
33}
34
35module chimera_heatsink(grub_show=false) {
36 difference() {
37 translate([-chimera_heatsink_size[0]/2,-chimera_nozzles_from_back,0])
38 cube(size=chimera_heatsink_size);
39 for(h=chimera_mounting_holes_from_top) {
40 translate([h[0],0,chimera_heatsink_size[2]-h[1]])
41 rotate([-90,0,0])
42 translate([0,0,-1-chimera_nozzles_from_back])
43 cylinder(d=3,h=chimera_heatsink_size[1]+2);
44 }
45 }
46 for(s=[-1,1]) // collets
47 translate([s*chimera_nozzles_apart/2,0,chimera_heatsink_size[2]])
48 cylinder(h=1,d=7);
49 if(grub_show) {
50 for(s=[-1,1]) for(z=chimera_heatbreak_screws_h)
51 translate([s*chimera_nozzles_apart/2,0,z])
52 rotate([90,0,0])
53 cylinder(d=chimera_heatbreak_screws_d,h=chimera_heatsink_size[2]*3,center=true);
54 }
55}
56
57module chimera_assembly(nozzle=e3d_nozzle_0_4,heatersinline=false,grub_show=false) {
58 translate([0,0,chimera_assembly_height-chimera_heatsink_size[2]])
59 chimera_heatsink(grub_show=false);
60 for(s=[-1,1]) translate([s*chimera_nozzles_apart/2,0,0]) {
61 e3d_nozzle(nozzle=nozzle);
62 translate([0,0,e3d_nozzle_height])
63 cylinder(d=7,h=chimera_assembly_height-e3d_nozzle_height); // heatbreak
64 rotate([0,0, heatersinline? s*-90 : (s+1)/2*180 ])
65 translate([0,0,6])
66 e3d_heater();
67 }
68}
69
70%chimera_assembly();