Revert "Add top level readme, rename single_plate"
[clinton/prusa3.git] / single_plate / src / compact-extruder.scad
CommitLineData
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 8include <../configuration.scad>
c2b6a5ce 9
227457e4 10
11
12module motor_dummy(){
13 translate([-22,-22,-5]) %cube([44,44,5]);
14 translate([18,18,-5]) %cylinder(r=2, h=24);
15 translate([18,-18,-5]) %cylinder(r=2, h=24);
16 translate([-18,18,-5]) %cylinder(r=2, h=24);
17 translate([-18,-18,-5]) %cylinder(r=2, h=24);
18 translate([-22+2.5+10,0,-5]) %cylinder(r=2.5, h=7);
19
20}
21
e6b2166c 22module extruder_base(){
23 // Main body
24 translate([-1,-2,0]) cube([22,56,24]);
25 // Extruder plate mount
81aeaf15
AR
26 if (hotend_mount == 1) { // groove-mount
27 translate([-16,49,0]) cube([55,5 + hotend_groovemount_depth - 1.5,24]);
28 } else {
29 translate([-16,49,0]) cube([55,5,24]);
30 }
31
e6b2166c 32 // Carriage mount cylinders
c2b6a5ce 33 translate([11,25,0]){
227457e4 34 //translate([-12,24,0]) cylinder(r=5, h=24);
35 //translate([12,24,0]) cylinder(r=5, h=24);
e6b2166c 36 }
227457e4 37
38 // Smoother join
39 translate([1,38,0]) rotate([0,0,45]) cube([10,10,24]);
e6b2166c 40}
41
42module extruder_holes(){
43 translate([11,25,0]){ // Translate to center of the main block
44 // Main shaft opening
227457e4 45 translate([0,-2,-1]) cylinder(r=6.5, h=26);
46
e6b2166c 47 // Lower motor mount hole
227457e4 48 translate([-8.5,18-2,-1]) cylinder(r=2, h=35);
49 translate([-8.5,18-2,21]) cylinder(r=3.1, h=35);
e6b2166c 50 // Upper motor mount hole
227457e4 51 translate([-8.5,-18-2,-1]) cylinder(r=2, h=35);
52 translate([-8.5,-18-2,21]) cylinder(r=3.1, h=35);
53 // Idler motor mount hole
54 translate([-8.5+36,18-2,-1]) cylinder(r=2, h=35);
55 translate([-8.5+36,18-2,21]) cylinder(r=3.1, h=35);
56
e6b2166c 57 // Carriage mount right screw head hole
58 translate([-12,24,-3]) cylinder(r=3.5, h=23);
59 // Carriage mount left screw head hole
60 translate([12,24,-3]) cylinder(r=3.5, h=23);
61 // Carriage mount right screw hole
62 translate([-12,24,20.5]) cylinder(r=2, h=23);
63 // Carriage mount left screw head hole
64 translate([12,24,20.5]) cylinder(r=2, h=23);
65 // Idler bearing cutout
227457e4 66 translate([11,0-2,-4.5+10]) cylinder(r=11, h=20);
c2b6a5ce 67 }
e6b2166c 68 // Filament path
69 translate([1.5+11+3.5,65,11]) rotate([90,0,0]) cylinder(r=2, h=70);
81aeaf15
AR
70 if (hotend_mount == 1) {
71 // Hole for hotend
72 translate([1.5+11+3.5,65,11]) rotate([90,0,0]) cylinder(r=hotend_groovemount_diameter/2, h=12.5);
73 }
e6b2166c 74 // Hole for drive gear check
75 translate([1.5+11+3.5-30,25,11]) rotate([90,0,90]) cylinder(r=4, h=70, $fn=20);
227457e4 76 translate([1.5+11+3.5-30,23,11]) rotate([90,0,90]) cylinder(r=4, h=70, $fn=20);
77 translate([1.5+11+3.5-30,21,11]) rotate([90,0,90]) cylinder(r=4, h=70, $fn=20);
78
e6b2166c 79 // Left extruder plate mounting hole
227457e4 80 translate([1.5+11+3.5+15,65,11]) rotate([90,0,0]) cylinder(r=1.8, h=70);
81 translate([1.5+11+3.5+15,47,11]) rotate([90,0,0]) cylinder(r=3.1, h=70, $fn=6);
e6b2166c 82 // Right extruder plate mounting hole
227457e4 83 translate([1.5+11+3.5-25,65,11]) rotate([90,0,0]) cylinder(r=1.8, h=70);
84 translate([1.5+11+3.5-25,47,11]) rotate([90,0,0]) cylinder(r=3.1, h=70, $fn=6);
85
e6b2166c 86 // Idler mounting holse
87 translate([11,25,10]){
88 // Nut traps
ef0c7624
AR
89 translate([-30,15,-5]) rotate([0,90,0]) rotate([0,0,30]) cylinder(r=3.3, h=30, $fn=6);
90 translate([-30,-15,-5]) rotate([0,90,0]) rotate([0,0,30]) cylinder(r=3.3, h=30, $fn=6);
91 translate([-30,15,5]) rotate([0,90,0]) rotate([0,0,30]) cylinder(r=3.3, h=30, $fn=6);
92 translate([-30,-15,5]) rotate([0,90,0]) rotate([0,0,30]) cylinder(r=3.3, h=30, $fn=6);
e6b2166c 93 // Screws
227457e4 94 translate([-30,-22,-4]) rotate([0,90,0]) cylinder(r=2, h=70);
95 translate([-30,-22,6]) rotate([0,90,0]) cylinder(r=2, h=70);
c2b6a5ce 96 }
227457e4 97
98 translate([46,46,-1]) rotate([0,0,45]) cube([20,20,26]);
99 translate([46,13,-1]) rotate([0,0,45]) cube([20,20,26]);
100 translate([-22,46,-1]) rotate([0,0,45]) cube([20,20,26]);
101 translate([-22,24,-1]) rotate([0,0,45]) cube([20,20,26]);
102 translate([-8,-20,-1]) rotate([0,0,45]) cube([20,20,26]);
103 translate([30,-20,-1]) rotate([0,0,45]) cube([20,20,26]);
c2b6a5ce 104}
105
e6b2166c 106module extruder_idler_base(){
227457e4 107 translate([0.25,0,0]) cube([19.5,45.5,8+3]);
108
c2b6a5ce 109}
110
e6b2166c 111module extruder_idler_holes(){
112 translate([10,25,0]){
113 // Main cutout
114 cube([10,23,25], center= true);
115 // Idler shaft
116 translate([-12,0,4.1+2])rotate([0,90,0])cylinder(r=4.1, h=24);
117 // Screw holes
227457e4 118 translate([5,-20,-1])cylinder(r=2.2, h=24);
119 translate([-5,-20,-1])cylinder(r=2.2, h=24);
e6b2166c 120 }
121}
c2b6a5ce 122
123
e6b2166c 124// Idler final part
125module idler(){
126 difference(){
127 extruder_idler_base();
128 extruder_idler_holes();
129 }
c2b6a5ce 130}
131
227457e4 132//translate([10,0,1]) rotate([0,-90,0]) idler();
133//translate([-47,-2,0]) idler();
e6b2166c 134// Extruder final part
135module extruder(){
136 translate([-23,2,0])difference(){
137 extruder_base();
138 extruder_holes();
139 }
c2b6a5ce 140}
141
227457e4 142extruder();
143translate([-2.5,25,0]) motor_dummy();