z-axis: improved motor mount smooth rod holder
[clinton/prusa3.git] / box_frame / y-belt-holder.scad
1 // PRUSA iteration3
2 // Y belt holder
3 // GNU GPL v3
4 // Josef Průša <josefprusa@me.com>
5 // Václav 'ax' Hůla <axtheb@gmail.com>
6 // http://www.reprap.org/wiki/Prusa_Mendel
7 // http://github.com/josefprusa/Prusa3
8
9 // ThingDoc entry
10 /**
11 * @id yBeltClamp
12 * @name Y Belt Holder
13 * @category Printed
14 */
15
16 include <configuration.scad>
17
18 module y_belt_holder(len=40) {
19 y_delta = i_am_box == 0 ? -2.5 : xy_delta;
20 ybelt_hole_to_side = 5;
21 real_len = len + 2 * ybelt_hole_to_side;
22 screw_hole_z_offset = i_am_box == 0 ? 0 : 4;
23
24 difference(){
25 union(){
26
27 translate([-21 - belt_thickness, -7, 0]) cube_fillet([13 + y_delta, 14, len], vertical=[3,0,0,0], fn=8 );
28 translate([-14, -5.5, len / 2]) cube_fillet([24 + 2 * y_delta, 3, len], vertical=[3, 0, 0, 0], center = true);
29 translate([-24.5, 0, real_len / 2]) cube_fillet([11.5, 16, real_len], center = true, vertical = [1, 1, 1, 1], $fn=16);
30 translate([-4.0 + y_delta, 0, len / 2]) cube_fillet([8, 14, len], center = true, vertical = [2,2,0,2]);
31
32 }
33 translate([-4.5 + y_delta, 0, real_len / 2]) cube([10, 10, 10], center = true);
34 translate([-11, 0, ybelt_hole_to_side + len]) {
35 translate([screw_hole_z_offset,0,0]) rotate([0, -90, 0]) plate_screw(20);
36 translate([8 + y_delta, 0, 0]) cube([10, 9, 9], center=true);
37 }
38 translate([-11, 0, ybelt_hole_to_side]) {
39 translate([screw_hole_z_offset,0,0]) rotate([0, -90, 0]) plate_screw(20);
40 translate([8 + y_delta, 0, 0]) cube([10, 9, 9], center=true);
41 }
42
43 translate([-8 + y_delta, 0, 0]) mirror([1, 0, 0]) belt(real_len);
44 }
45 }
46
47
48 y_belt_holder();