Permalink
Browse files

Misc improvements.

  • Loading branch information...
1 parent 12ecac4 commit 76185941a88643bace751b5543bad12d0db86356 @colah colah committed May 11, 2011
Showing with 69 additions and 38 deletions.
  1. +41 −15 x-carriage-mendel.scad
  2. +28 −23 z-motor-mount.scad
View
56 x-carriage-mendel.scad
@@ -1,24 +1,50 @@
x_rod_spacing = 50;
+two_extruders=false;
+
difference(){
-union(){
-translate([0,0,1])
- cube([x_rod_spacing+22, 35,5],center=true);
-for (x=[-1,1]) for (y=[-1,1])
- translate([x_rod_spacing/2*x,12*y,0]) grip();
-translate([(x_rod_spacing+22)/2,0,1]) difference(){
- cube([18,11,5],center=true);
- cube([14,6,6],center=true);
-}
-}
+ union(){
+ if (!two_extruders)
+ translate([0,0,1])
+ cube([x_rod_spacing+22, 35,5],center=true);
+ if (two_extruders)
+ translate([0,15,1])
+ cube([x_rod_spacing+22, 65,5],center=true);
+ for (x=[-1,1])
+ for (y=[-1,1]){
+ if (!two_extruders)
+ translate([x_rod_spacing/2*x,12*y,0]) grip();
+ if (two_extruders)
+ translate([x_rod_spacing/2*x,12*y+15*(y+1),0]) grip();
+ }
+ translate([(x_rod_spacing+22)/2,0,1]) {
+ if (!two_extruders) difference(){
+ cube([20,20,5],center=true);
+ cube([16,15,6],center=true);
+ }
+ if (two_extruders) translate([0,15,0])
+ difference(){
+ cube([20,20,5],center=true);
+ cube([16,15,6],center=true);
+ }
+ }
-for (x=[-1,1]) union(){
- translate([50/2*x,0,0]) cylinder(r=5/2,h=20,center=true);
- translate([50/2*x,0,2]) cylinder(r=8.3/2,h=3,center=true,$fn=6);
-}
+ }
+
+ for (x=[-1,1]) union(){
+ translate([50/2*x,-1,0]) cylinder(r=5/2,h=20,center=true);
+ translate([50/2*x,-1,2]) cylinder(r=8.3/2,h=3,center=true,$fn=6);
+ }
+ cube([27,20,10],center=true);
-cube([27,20,10],center=true);
+ if(two_extruders) translate([0,31,0]){
+ for (x=[-1,1]) union(){
+ translate([50/2*x,0,0]) cylinder(r=5/2,h=20,center=true);
+ translate([50/2*x,0,2]) cylinder(r=8.3/2,h=3,center=true,$fn=6);
+ }
+ cube([27,20,10],center=true);
+ }
}
View
51 z-motor-mount.scad
@@ -11,39 +11,44 @@
include <configuration.scad>
include <common.scad>
+module diagonal_rod() {
+ for (y=[-1,1]) translate([0,38*y,-40]) rotate([30*y,0,0]) cylinder (h=100,r=4.2);
+}
+
+module diagonal_rod_cube (slide = 0, size = [16,16,10]) {
+ for (y=[-1,1]) translate([0,37*y,-40]) rotate([30*y,0,0])
+ translate([0,0,50+slide]) cube(size=size,center=true);
+}
+
+module vertical_rods() {
+ translate([30,0,-25]) cylinder(h = 80, r=4.6);
+ translate([0,0,-25]) cylinder(h = 80, r=4.6);
+}
+
+
difference(){
// Main body:
union(){
- if (two_top_rods) {
- translate([0,0,0]) cube(size = [58,60,16], center = true);
- translate([0,0,-4]) cube(size = [58,76,8], center = true);
- for (y=[-1,1]) translate ([-29,30*y,0]) rotate([0,90,0]) cylinder(h =58, r=8, $fn=30);
- }else {
- translate([-5,0,-0.5]) cube(size = [70,60,15], center = true);
- }
- translate ([26.5,0,-8]) cylinder(h=15,r=8);
- intersection() { translate([0,0,92]) cube(size=[200,200,200], center = true); // cleanup the base
- union() {
- for (y=[-1,1]) translate([0,38*y,0]) rotate([(90-vert_angle)*y,0,0]) translate([0,0,3]) cylinder(r=10,h=18,center=true);
- }
- }
+ translate([-20,0,0]) cube(size = [40,60,16], center = true);
+ translate([-20,0,-4]) cube(size = [40,76,8], center = true);
+ translate([-10,0,-4.5]) cube(size = [60,43,7], center = true);
+ for (y=[-1,1]) translate ([-40,30*y,0]) rotate([0,90,0])
+ cylinder(h = 40, r=8, $fn=30);
+ translate ([-32.25,0,0]) diagonal_rod_cube(size = [15.5,16,10],slide=1);
}
// Motor sits in this
translate([-2.1,0,3.1]) motor();
//The vertical rod goes through here
- translate ([-2,0,-50]) vertical_rods();
+ translate ([-32,0,-55]) vertical_rods();
+
//Diagonal rod and nut space
- translate ([0,0,0]) diagonal_rod();
+ translate ([-32,0,0]) diagonal_rod();
+ translate ([-32,0,0]) diagonal_rod_cube(size=[17,16,10],slide=-15);
+ translate ([-32,0,0]) diagonal_rod_cube(size=[17,16.1,10],slide=10);
+ translate ([-33,0,6]) cube([17,5,5],center=true);
//top rod(s):
- if (two_top_rods) {
- for (y=[-1,1]) translate([-50,30*y,0]) rotate([0,90,0]) cylinder(h = 100, r=4.5);
-
- }else {
- translate([-50,0,0]) rotate([0,90,0]) cylinder(h = 22.5, r=4.0);
- }
+ for (y=[-1,1]) translate([-50,30*y,0]) rotate([0,90,0]) cylinder(h = 100, r=4.5);
- // create even rest for nuts of diagonal rods
- for (y=[-1,1]) translate([0,38*y,0]) rotate([(90-vert_angle)*y,0,0]) translate([0,0,-11]) cylinder(r=10,h=10,center=true);
}

0 comments on commit 7618594

Please sign in to comment.