added y ends and belt holder
[clinton/wilson.git] / scad / y-end-idler.scad
CommitLineData
1873788a
MR
1//
2// Parametric single-piece y ends for Reprap Wilson
3// GNU GPL v3
4// by Martin Rice <mrice411@gmail.com>
5//
6include <configuration.scad>
7
8washer_recess = 2; // recesses the washer into the end.
9idler_offset_y = 6;
10base_thickness = 3;
11
12yend_idler();
13
14module yend_idler()
15{
16 difference() {
17 union() {
18 // thin base under the end (optional)
19 bigbase();
20 brace();
21
22 // first corner
23 endpost();
24
25 // second corner
26 translate([193.5,0,0]) scale([-1,1,1]) endpost();
27
28 // idler mount
29 translate([193.5/2+23.8/2,19.1 - idler_offset_y,0])
30 rotate([0,0,180])
31 translate([-72.5,-106.7,0])
32 rotate([0,0,0.7]) import("i3rsubidler2_fixed.stl");
33 }
34
35 translate([-1,-23/2,-1]) rotate([0,0,45]) cube([10,10,50]);
36 translate([194.5,-23/2,-1]) rotate([0,0,45]) cube([10,10,50]);
37
38 }
39}
40
41module endpost()
42{
43 difference() {
44 union() {
45 difference() {
46 cube([23,16,height_of_post]);
47 translate([23/2,7,height_of_post]) rotate([-90,0,0]) cylinder(r=smooth_rod_d/2+2+tie_wrap_t,h=tie_wrap_w);
48 }
49
50 difference() {
51 translate([23/2,7,height_of_smooth]) rotate([-90,0,0]) cylinder(r=smooth_rod_d/2+2,h=tie_wrap_w);
52 translate([0,0,height_of_post]) cube([23,16,10]);
53 }
54 }
55
56 #translate([23/2,-10,height_of_threaded ]) rotate([-90,0,0]) cylinder(r=threaded_rod_d/2+.4,h=380);
57 #translate([23/2,-.1,height_of_threaded ]) rotate([-90,0,0]) cylinder(r=washer_d/2+.4,h=washer_recess);
58 #translate([23/2,2.5,height_of_smooth]) rotate([-90,0,0]) cylinder(r=smooth_rod_d/2+.1,h=380);
59 }
60
61}
62
63module endpostneuvo()
64{
65endpost_depth = 16;
66
67tie_wrap_extragap = 7; // this moves the slots for the tie wrap out to the
68 // edge of the post so that the head of the tiewrap
69 // can be moved out of the way of the print bed.
70
71 difference() {
72 union() {
73 difference() {
74 cube([23,endpost_depth,47]);
75 translate([23/2,7,45]) rotate([-90,0,0]) cylinder(r=smooth_rod_d/2+tie_wrap_extragap+tie_wrap_t,h=tie_wrap_w);
76 }
77
78 difference() {
79 translate([23/2,7,45]) rotate([-90,0,0]) cylinder(r=smooth_rod_d/2+tie_wrap_extragap,h=tie_wrap_w);
80 translate([0,0,47]) cube([23,endpost_depth,10]);
81 }
82 }
83
84 #translate([23/2,-10,20]) rotate([-90,0,0]) cylinder(r=threaded_rod_d/2+.4,h=380);
85 #translate([23/2,-.1,20]) rotate([-90,0,0]) cylinder(r=washer_d/2+.4,h=washer_recess);
86 #translate([23/2,endpost_depth-washer_recess+.01,20]) rotate([-90,0,0]) cylinder(r=washer_d/2+.4,h=washer_recess);
87 #translate([23/2,2.5,45]) rotate([-90,0,0]) cylinder(r=smooth_rod_d/2+.1,h=380);
88 }
89
90}
91
92module bigbase()
93{
94 difference() {
95 intersection() {
96 cube([193.5,55,base_thickness]);
97 translate([193.5/2,-182,-1]) cylinder(r=220,h=base_thickness+2,$fn=150);
98 }
99 #translate([193.5/2,0,0]) cylinder(r=10,h=10);
100}
101}
102
103module brace() {
104 difference() { translate([193.5/2,-373.2+5,0]) cylinder(r=386,h=32.6,$fn=200);
105 translate([193.5/2,-211.9+5,-2]) cylinder(r=223,h=50,$fn=200);
106 #translate([-320,3,-2]) rotate([0,0,270]) cube([900,900,50]);
107 translate([-20,-1,-1]) cube([43,16,47]);
108 translate([193.5-22.9,-1,-1]) scale([1,1,1]) cube([43,16,47]);
109 #translate([192.5/2-23/2+5.9,0,14.5]) cube([11.96,40,20]);
110
111}
112}
113
114
115
116
117