2 // Complete printer visualisation
5 // http://www.reprap.org/wiki/Prusa_Mendel
6 // http://github.com/prusajr/PrusaMendel
8 include <../configuration.scad>
9 use <../y-drivetrain.scad>
10 use <../y-axis-corner.scad>
13 use <../x-carriage.scad>
19 translate([0,0,2])cylinder(r=15/2,h=7,$fn=6);
20 translate([0,0,0.5])cylinder(r=8.5,h=1);
22 translate([0,0,-1])cylinder(r=8/2,h=12);
27 translate([56-yrodseparation/2,-y_smooth_rod_length/2+9,0])
29 rotate([0,90,0]) rotate([0,0,90]) motorholder();
30 translate([10,0,30])rotate([0,90,0])nutwasher();
31 translate([0,0,30])rotate([0,90,180])nutwasher();
32 translate([10,0,10])rotate([0,90,0])nutwasher();
33 translate([0,0,10])rotate([0,90,180])nutwasher();
37 translate([70-yrodseparation/2,y_smooth_rod_length/2-9,30])
39 translate([0,0-33,-8])
40 rotate([0,-90,0]) idlermount();
41 translate([0,0,0])rotate([0,90,0])nutwasher();
42 translate([-20,0,0])rotate([0,90,180])nutwasher();
51 translate([yrodseparation,0,0]) mirror([1,0,0]) leftfront();
53 // front bottom threaded rod
55 translate([-20,9,10]) rotate([0,90,0]) cylinder(h = 140, r=4);
57 translate([yrodseparation+11,9,10])rotate([0,90,0])nutwasher();
58 translate([yrodseparation-11,9,10])rotate([0,90,180])nutwasher();
60 translate([-11,9,10])rotate([0,90,180])nutwasher();
61 translate([11,9,10])rotate([0,90,0])nutwasher();
63 // front top threaded rod
65 translate([-20,9,30]) rotate([0,90,0]) cylinder(h = 140, r=4);
67 % translate([-11,9,30])rotate([0,90,180])nutwasher();
68 % translate([11,9,30])rotate([0,90,0])nutwasher();
70 % translate([yrodseparation-11,9,30])rotate([0,90,180])nutwasher();
71 % translate([yrodseparation+11,9,30])rotate([0,90,0])nutwasher();
74 translate([-yrodseparation/2,-y_smooth_rod_length/2])
77 translate([0,y_smooth_rod_length,0])
84 translate([-yrodseparation/2,0])
88 translate([0,0,45]) rotate([0,90,90]) cylinder(h = y_smooth_rod_length, r=4,center=true);
91 translate([0,0,20]) rotate([0,90,90]) cylinder(h = 430, r=4,center=true);
93 translate([0,0,20])rotate([0,-90,90])nutwasher();
94 translate([0,board_thickness,20])rotate([0,90,90])nutwasher();
97 translate([0,y_smooth_rod_length/2+2,20])rotate([0,90,90])nutwasher();
98 translate([0,y_smooth_rod_length/2+2-22,20])rotate([0,90,-90])nutwasher();
100 translate([0,-y_smooth_rod_length/2-2,20])rotate([0,90,-90])nutwasher();
101 translate([0,-y_smooth_rod_length/2-2+22,20])rotate([0,90,90])nutwasher();
106 translate([yrodseparation,0,0])yside();
110 translate([0,0,58]) cube([bed_x_size,bed_y_size,6], center=true);
113 board_w=bed_x_size+10+2*board_sides;
116 translate([0,board_thickness/2,150])
119 cube([board_w,board_thickness,300],true);
121 cube([bed_x_size+10,board_thickness+2,200],true);
126 translate([-board_w/2-5,0,42])
130 translate([board_w/2+5,0,42])
136 translate([-board_w/2-5,0,260])
140 translate([board_w/2+5,0,260])
149 translate([board_w/2-4,-26,42])cylinder(h=z_smooth_rod_length,r=4);
153 mirror([1,0,0])z_rods();
156 translate([-board_w/2+4,-26,200])
161 translate([board_w/2-4,-26,200])
169 translate([0,-12,149+i*45])rotate([0,90,0])cylinder(h=300,r=4,center=true);
172 translate([0,-12,149])