summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--X-Axis_carridge2.scad144
1 files changed, 144 insertions, 0 deletions
diff --git a/X-Axis_carridge2.scad b/X-Axis_carridge2.scad
new file mode 100644
index 0000000..d7285b9
--- a/dev/null
+++ b/X-Axis_carridge2.scad
@@ -0,0 +1,144 @@
1part="mount"; //mount or carridge
2
3// LM8UU dimentions
4LM8UU_length = 25;
5LM8UU_diameter = 15;
6
7// X Axis dimensions
8x_rod_spacing = 45;
9x_rod_radius = 4;
10
11//Belt
12belt_thickness_no_tooth = 0.75;
13belt_thickness_tooth = 1.45;
14belt_double = belt_thickness_no_tooth+belt_thickness_tooth+0.5;
15
16//Carriage
17carriage_width = 30;
18carriage_padding = 0.1;
19carriage_height = x_rod_spacing+LM8UU_diameter+carriage_padding*2;
20carriage_depth = 12;
21
22//cyclops
23heatbreak_x1=6;
24heatbreak_x2=24;
25heatbreak_z1=3;
26heatbreak_z2=11;
27heatbreak_diameter=4;
28heatsink_baseline=carriage_padding*2+LM8UU_diameter-1;
29mount_x1=15;
30mount_z1=10;
31mount_x2=10.5;
32mount_z2=20;
33mount_x3=19.5;
34mount_z3=20;
35mount_diameter=3.8;
36
37module tie(){
38 difference(){
39 rotate([0,90,0]) cylinder(d=LM8UU_diameter+10, h=4, $fn=50);
40 rotate([0,90,0]) cylinder(d=LM8UU_diameter+3, h=4, $fn=50);
41 }
42}
43
44module heatbreak_hole(){
45 rotate([-90,0,0]) cylinder(d=heatbreak_diameter, h=carriage_depth*2+10, $fn=50);
46 //translate([0,-4,0]) rotate([-90,0,0]) cylinder(d=heatbreak_diameter+3, h=carriage_depth+2, $fn=100);
47}
48
49module mount_hole(){
50 rotate([-90,0,0]) cylinder(d=mount_diameter, h=carriage_depth*2+10, $fn=50);
51 if (part=="carridge") translate([0,-4,0]) rotate([-90,0,0]) cylinder(d=mount_diameter+3, h=carriage_depth+2, $fn=50);
52}
53
54module lug_hole(){
55 rotate([-90,0,0]) cylinder(d=4, h=carriage_depth+2, $fn=50);
56 //translate([0,0,-2]) rotate([-90,0,0]) cylinder(d=5, h=carriage_depth+2, $fn=100);
57}
58
59
60difference(){
61 if (part=="carridge") {
62 //back plane
63 cube(size=[carriage_width,carriage_depth,carriage_height+1]);
64 }
65 else if (part=="mount") {
66 local_height = x_rod_spacing-LM8UU_diameter-carriage_padding*2-3;
67 translate([0,8,LM8UU_diameter+carriage_padding*2])
68 cube(size=[carriage_width,8,local_height]);
69 }
70
71 if (part=="carridge"){
72 //LM8UU
73 translate([2.5,0,carriage_padding+LM8UU_diameter/2]) rotate([0,90,0]) cylinder(d=LM8UU_diameter, h=LM8UU_length, $fn=50);
74 translate([2.5,0,carriage_height-carriage_padding-LM8UU_diameter/2]) rotate([0,90,0]) cylinder(d=LM8UU_diameter, h=LM8UU_length, $fn=50);
75
76 //ties
77 translate([8,0,carriage_padding+LM8UU_diameter/2]) tie();
78 translate([carriage_width-12,0,carriage_padding+LM8UU_diameter/2]) tie();
79 translate([6,0,carriage_height-carriage_padding-LM8UU_diameter/2]) tie();
80 translate([carriage_width-10,0,carriage_height-carriage_padding-LM8UU_diameter/2]) tie();
81
82 translate([8,-1,-1]) cube(size=[4,LM8UU_diameter/2,3]);
83 translate([carriage_width-12,-1,-1]) cube(size=[4,LM8UU_diameter/2,3]);
84
85 //translate([8,LM8UU_diameter/2-.01,LM8UU_diameter/8]) cube(size=[3,carriage_depth,LM8UU_diameter/3*2+1]);
86 // translate([carriage_width-11,LM8UU_diameter/2-.01,LM8UU_diameter/8]) cube(size=[3,carriage_depth,LM8UU_diameter/3*2+1]);
87
88 //rods
89 translate([-1,0,carriage_padding+x_rod_radius+3.5]) rotate([0,90,0]) cylinder(r=x_rod_radius+2, h=carriage_width+2, $fn=50);
90 translate([-1,0,carriage_height-x_rod_radius-3.5-carriage_padding]) rotate([0,90,0]) cylinder(r=x_rod_radius+2, h=carriage_width+2, $fn=50);
91
92 //belt
93 translate([-1,-1,LM8UU_diameter+carriage_padding*2+1]) difference(){
94 local_height = x_rod_spacing-LM8UU_diameter-carriage_padding*2-5;
95 cube(size=[carriage_width+2,8,local_height]);
96
97 //posts
98 translate([3,-1,12.5]) lug_hole();
99 translate([29,-1,12.5]) lug_hole();
100 //channels
101 translate([0,0,carriage_padding*2]){
102 difference() {
103 union() {
104 translate([1,-1,local_height-belt_double-5]) cube(size=[4,10,5]);
105 translate([27,-1,local_height-belt_double-5]) cube(size=[4,10,5]);
106
107 translate([5,0,local_height-belt_double-2.5]) rotate([-90,0,0]) cylinder(d=5,h=100,$fn=50);
108 translate([27,0,local_height-belt_double-2.5]) rotate([-90,0,0]) cylinder(d=5,h=100,$fn=50);
109 }
110 translate([5,0,local_height-belt_double-2.5]) rotate([-90,0,0]) cylinder(d=3.5,h=100,$fn=50);
111 translate([27,0,local_height-belt_double-2.5]) rotate([-90,0,0]) cylinder(d=3.5,h=100,$fn=50);
112 }
113 }
114 }
115 }
116
117 //Cyclops heatbreak
118 translate([heatbreak_x1,-1,heatbreak_z1+heatsink_baseline]) heatbreak_hole();
119 translate([heatbreak_x2,-1,heatbreak_z1+heatsink_baseline]) heatbreak_hole();
120 translate([heatbreak_x1,-1,heatbreak_z2+heatsink_baseline]) heatbreak_hole();
121 translate([heatbreak_x2,-1,heatbreak_z2+heatsink_baseline]) heatbreak_hole();
122
123 //Cyclops mount
124 translate([mount_x1,-1,mount_z1+heatsink_baseline]) mount_hole();
125 translate([mount_x2,-1,mount_z2+heatsink_baseline]) mount_hole();
126 translate([mount_x3,-1,mount_z3+heatsink_baseline]) mount_hole();
127
128 //cooling
129 if (part=="mount") translate([0.001,7,LM8UU_diameter+carriage_padding*2-1]){
130 local_height = x_rod_spacing-LM8UU_diameter-carriage_padding*2+2;
131 translate([2,0,0]) cube(size=[2,3,local_height]);
132 translate([6,0,0]) cube(size=[2,3,local_height]);
133 translate([10,0,0]) cube(size=[2,3,local_height]);
134 translate([14,0,0]) cube(size=[2,3,local_height]);
135 translate([18,0,0]) cube(size=[2,3,local_height]);
136 translate([22,0,0]) cube(size=[2,3,local_height]);
137 translate([26,0,0]) cube(size=[2,3,local_height]);
138 }
139
140
141 //translate([-1,LM8UU_diameter/2+1,-1]) cube(size=[carriage_width+2,carriage_depth-LM8UU_diameter/2+1,LM8UU_diameter]);
142}
143
144