Ver código fonte

Add (empty) x carriage.

Thomas Buck 6 anos atrás
pai
commit
3d63d1db78
2 arquivos alterados com 83 adições e 3 exclusões
  1. 55
    2
      lib/linear_bearing.scad
  2. 28
    1
      xyRepRap.scad

+ 55
- 2
lib/linear_bearing.scad Ver arquivo

@@ -31,9 +31,12 @@ x_rail_cutout_y = x_rail_dist - (2 * y_carriage_len_add);
31 31
 x_rail_hole_off = 5;
32 32
 x_rail_block_len = (y_carriage_length - x_rail_cutout_y) / 2;
33 33
 
34
+draw_x_carriage = false;
34 35
 draw_y_carriage = false;
35
-draw_rail_len = 100;
36
+draw_y_carriage_idlers = true;
37
+draw_rail_len = 200;
36 38
 
39
+// y-carriage belt idlers
37 40
 idler_a_blue = [  19,               15,  5.5];
38 41
 idler_a_red  = [  19, x_rail_dist + 15, 12.5];
39 42
 idler_b_blue = [30.3, x_rail_dist + 15, 12.5];
@@ -132,7 +135,7 @@ module y_carriage(idler_a = [0, 0, 0], idler_b = [0, 0, 0]) {
132 135
     
133 136
     // idlers for the corexy belts
134 137
     translate([0, 0, y_carriage_wall]) {
135
-        if (!draw_y_carriage) {
138
+        if (draw_y_carriage_idlers) {
136 139
             translate(idler_a)
137 140
                 bearing_idler();
138 141
             
@@ -145,6 +148,49 @@ module y_carriage(idler_a = [0, 0, 0], idler_b = [0, 0, 0]) {
145 148
     }
146 149
 }
147 150
 
151
+x_carriage_width = 60;
152
+x_carriage_len_add = 10;
153
+x_carriage_wall = 10;
154
+x_carriage_bearing_off = 3;
155
+
156
+module x_carriage() {
157
+    //color("green")
158
+    difference() {
159
+        color("green")
160
+        cube([x_carriage_width, x_rail_dist + (2 * x_carriage_len_add), x_carriage_wall]);
161
+        
162
+        for (i = [0 : 1 : 1]) {
163
+            translate([lm8uu_height + x_carriage_bearing_off + (i * (x_carriage_width - (2 * x_carriage_bearing_off) - lm8uu_height)), 0, ])
164
+            rotate([0, -90, 0]) {
165
+                // x-bearings
166
+                color("magenta")
167
+                %translate([0, x_carriage_len_add, 0])
168
+                    lm8uu();
169
+                
170
+                color("magenta")
171
+                %translate([0, x_rail_dist + x_carriage_len_add, 0])
172
+                    lm8uu();
173
+                
174
+                color("green")
175
+                translate([0, x_carriage_len_add, 0])
176
+                    cylinder(d = lm8uu_outer + lm8uu_dia_add, h = lm8uu_height + lm8uu_len_add);
177
+                
178
+                color("green")
179
+                translate([0, x_rail_dist + x_carriage_len_add, 0])
180
+                    cylinder(d = lm8uu_outer + lm8uu_dia_add, h = lm8uu_height + lm8uu_len_add);
181
+                
182
+                color("green")
183
+                translate([0, x_carriage_len_add, -x_carriage_width])
184
+                    cylinder(d = lm8uu_inner + rail_dia_add, h = x_carriage_width * 2);
185
+                
186
+                color("green")
187
+                translate([0, x_rail_dist + x_carriage_len_add, -x_carriage_width])
188
+                    cylinder(d = lm8uu_inner + rail_dia_add, h = x_carriage_width * 2);
189
+            }
190
+        }
191
+    }
192
+}
193
+
148 194
 if (draw_y_carriage) {
149 195
     translate([(lm8uu_outer + lm8uu_dia_add) / 2 + y_carriage_rail_support, 0, 0])
150 196
     rotate([-90, 0, 0]) {
@@ -167,4 +213,11 @@ if (draw_y_carriage) {
167 213
     translate([(2 * y_carriage_width + y_carriage_block_width) + draw_rail_len -5, y_carriage_length, 0])
168 214
         rotate([0, 0, 180])
169 215
         y_carriage(idler_a_red, idler_b_red);
216
+    
217
+    if (draw_x_carriage) {
218
+        translate([y_carriage_width + y_carriage_block_width + ((draw_rail_len - x_carriage_width) / 2), y_carriage_len_add - x_carriage_len_add, 0])
219
+            x_carriage();
220
+    }
221
+} else if (draw_x_carriage) {
222
+    x_carriage();
170 223
 }

+ 28
- 1
xyRepRap.scad Ver arquivo

@@ -221,6 +221,7 @@ module frame() {
221 221
 
222 222
 rail_mount_dist = 12;
223 223
 y_carriage_pos = 175;
224
+x_carriage_pos = 180;
224 225
 
225 226
 module rail(length) {
226 227
     cylinder(d = rail_dia, h = length);
@@ -270,19 +271,25 @@ module y_rails() {
270 271
 
271 272
 module x_rails() {
272 273
     // TODO length calculate properly!
274
+    
275
+    color("cyan")
273 276
     translate([30, y_carriage_pos, 15])
274 277
         rotate([0, 90, 0])
275 278
         rail(outer_length - (4 * slot));
279
+    
280
+    color("cyan")
276 281
     translate([30, y_carriage_pos + x_rail_dist, 15])
277 282
         rotate([0, 90, 0])
278 283
         rail(outer_length - (4 * slot));
284
+    
285
+    translate([x_carriage_pos, y_carriage_pos - x_carriage_len_add, slot / 2])
286
+        x_carriage();
279 287
 }
280 288
 
281 289
 module motion_xy() {
282 290
     translate([slot, slot, outer_height])
283 291
         y_rails();
284 292
     
285
-    color("cyan")
286 293
     translate([slot, slot + y_carriage_len_add, outer_height - (1.5 * slot)])
287 294
         x_rails();
288 295
 
@@ -337,6 +344,26 @@ module motion_xy() {
337 344
             gt2_belt(outer_length - (5 * slot) - y_carriage_pos);
338 345
     }
339 346
     
347
+    // x carriage belts on blue side
348
+    color("blue")
349
+    translate([slot + 29, slot + 32 + 25 + y_carriage_pos, outer_height - 1])
350
+        rotate([180, 0, 0])
351
+        gt2_belt(x_carriage_pos - 20);
352
+    color("red")
353
+    translate([slot + 15, slot + 23 + y_carriage_pos, outer_height - 8])
354
+        rotate([180, 0, 0])
355
+        gt2_belt(x_carriage_pos - 6);
356
+    
357
+    // x carriage belts on red side
358
+    color("red")
359
+    translate([slot + 50 + x_carriage_pos, slot + 32 + 25 + y_carriage_pos, outer_height - 8])
360
+        rotate([180, 0, 0])
361
+        gt2_belt(outer_width - x_carriage_pos - (2 * slot) - 80);
362
+    color("blue")
363
+    translate([slot + 50 + x_carriage_pos, slot + 23 + y_carriage_pos, outer_height - 1])
364
+        rotate([180, 0, 0])
365
+        gt2_belt(outer_width - x_carriage_pos - (2 * slot) - 70);
366
+    
340 367
     // long back belts
341 368
     color("blue")
342 369
     translate([slot + 15, slot + 10, outer_height - 7])

Carregando…
Cancelar
Salvar