Commit | Line | Data |
---|---|---|
e6b2166c | 1 | // PRUSA iteration3 |
2 | // Compact extruder | |
3 | // GNU GPL v3 | |
4 | // Josef Průša <iam@josefprusa.cz> and contributors | |
5 | // http://www.reprap.org/wiki/Prusa_Mendel | |
6 | // http://prusamendel.org | |
7 | ||
81aeaf15 | 8 | include <../configuration.scad> |
c2b6a5ce | 9 | |
e6b2166c | 10 | module extruder_base(){ |
11 | // Main body | |
12 | translate([-1,-2,0]) cube([22,56,24]); | |
13 | // Extruder plate mount | |
81aeaf15 AR |
14 | if (hotend_mount == 1) { // groove-mount |
15 | translate([-16,49,0]) cube([55,5 + hotend_groovemount_depth - 1.5,24]); | |
16 | } else { | |
17 | translate([-16,49,0]) cube([55,5,24]); | |
18 | } | |
19 | ||
e6b2166c | 20 | // Carriage mount cylinders |
c2b6a5ce | 21 | translate([11,25,0]){ |
e6b2166c | 22 | translate([-12,24,0]) cylinder(r=5, h=24); |
23 | translate([12,24,0]) cylinder(r=5, h=24); | |
24 | } | |
25 | } | |
26 | ||
27 | module extruder_holes(){ | |
28 | translate([11,25,0]){ // Translate to center of the main block | |
29 | // Main shaft opening | |
30 | translate([0,0,-1]) cylinder(r=8.5, h=26); | |
31 | // Lower motor mount hole | |
c2b6a5ce | 32 | translate([0,21,-1]) cylinder(r=2, h=22); |
e6b2166c | 33 | // Upper motor mount hole |
c2b6a5ce | 34 | translate([0,-21,-1]) cylinder(r=2, h=22); |
e6b2166c | 35 | // Lower motor mount hole screw head |
c2b6a5ce | 36 | translate([0,21,3]) cylinder(r=3.5, h=22); |
e6b2166c | 37 | // Upper motor mount hole screw head |
c2b6a5ce | 38 | translate([0,-21,3]) cylinder(r=3.5, h=22); |
e6b2166c | 39 | // Carriage mount right screw head hole |
40 | translate([-12,24,-3]) cylinder(r=3.5, h=23); | |
41 | // Carriage mount left screw head hole | |
42 | translate([12,24,-3]) cylinder(r=3.5, h=23); | |
43 | // Carriage mount right screw hole | |
44 | translate([-12,24,20.5]) cylinder(r=2, h=23); | |
45 | // Carriage mount left screw head hole | |
46 | translate([12,24,20.5]) cylinder(r=2, h=23); | |
47 | // Idler bearing cutout | |
c2b6a5ce | 48 | translate([11,0,-4.5+10]) cylinder(r=11, h=20); |
49 | } | |
e6b2166c | 50 | // Filament path |
51 | translate([1.5+11+3.5,65,11]) rotate([90,0,0]) cylinder(r=2, h=70); | |
81aeaf15 AR |
52 | if (hotend_mount == 1) { |
53 | // Hole for hotend | |
54 | translate([1.5+11+3.5,65,11]) rotate([90,0,0]) cylinder(r=hotend_groovemount_diameter/2, h=12.5); | |
55 | } | |
e6b2166c | 56 | // Hole for drive gear check |
57 | translate([1.5+11+3.5-30,25,11]) rotate([90,0,90]) cylinder(r=4, h=70, $fn=20); | |
58 | // Left extruder plate mounting hole | |
59 | translate([1.5+11+3.5+15,65,11]) rotate([90,0,0]) cylinder(r=2, h=70); | |
60 | // Right extruder plate mounting hole | |
61 | translate([1.5+11+3.5-25,65,11]) rotate([90,0,0]) cylinder(r=2, h=70); | |
62 | // Idler mounting holse | |
63 | translate([11,25,10]){ | |
64 | // Nut traps | |
65 | translate([-30,15,-5]) rotate([0,90,0]) rotate([0,0,30]) cylinder(r=3.1, h=30, $fn=6); | |
66 | translate([-30,-15,-5]) rotate([0,90,0]) rotate([0,0,30]) cylinder(r=3.1, h=30, $fn=6); | |
67 | translate([-30,15,5]) rotate([0,90,0]) rotate([0,0,30]) cylinder(r=3.1, h=30, $fn=6); | |
68 | translate([-30,-15,5]) rotate([0,90,0]) rotate([0,0,30]) cylinder(r=3.1, h=30, $fn=6); | |
69 | // Screws | |
70 | translate([-30,15,-5]) rotate([0,90,0]) cylinder(r=2.2, h=70); | |
71 | translate([-30,-15,-5]) rotate([0,90,0]) cylinder(r=2.2, h=70); | |
72 | translate([-30,15,5]) rotate([0,90,0]) cylinder(r=2.2, h=70); | |
73 | translate([-30,-15,5]) rotate([0,90,0]) cylinder(r=2.2, h=70); | |
c2b6a5ce | 74 | } |
75 | } | |
76 | ||
e6b2166c | 77 | module extruder_idler_base(){ |
78 | translate([0.25,5,0]) cube([19.5,40,8+3]); | |
c2b6a5ce | 79 | } |
80 | ||
e6b2166c | 81 | module extruder_idler_holes(){ |
82 | translate([10,25,0]){ | |
83 | // Main cutout | |
84 | cube([10,23,25], center= true); | |
85 | // Idler shaft | |
86 | translate([-12,0,4.1+2])rotate([0,90,0])cylinder(r=4.1, h=24); | |
87 | // Screw holes | |
88 | translate([5,15,-1])cylinder(r=2.2, h=24); | |
89 | translate([5,-15,-1])cylinder(r=2.2, h=24); | |
90 | translate([-5,15,-1])cylinder(r=2.2, h=24); | |
91 | translate([-5,-15,-1])cylinder(r=2.2, h=24); | |
92 | } | |
93 | } | |
c2b6a5ce | 94 | |
95 | ||
e6b2166c | 96 | // Idler final part |
97 | module idler(){ | |
98 | difference(){ | |
99 | extruder_idler_base(); | |
100 | extruder_idler_holes(); | |
101 | } | |
c2b6a5ce | 102 | } |
103 | ||
e6b2166c | 104 | idler(); |
c2b6a5ce | 105 | |
e6b2166c | 106 | // Extruder final part |
107 | module extruder(){ | |
108 | translate([-23,2,0])difference(){ | |
109 | extruder_base(); | |
110 | extruder_holes(); | |
111 | } | |
c2b6a5ce | 112 | } |
113 | ||
e6b2166c | 114 | extruder(); |