summaryrefslogtreecommitdiff
path: root/X-Axis_carridge2.scad
Side-by-side diff
Diffstat (limited to 'X-Axis_carridge2.scad') (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 @@
+part="mount"; //mount or carridge
+
+// LM8UU dimentions
+LM8UU_length = 25;
+LM8UU_diameter = 15;
+
+// X Axis dimensions
+x_rod_spacing = 45;
+x_rod_radius = 4;
+
+//Belt
+belt_thickness_no_tooth = 0.75;
+belt_thickness_tooth = 1.45;
+belt_double = belt_thickness_no_tooth+belt_thickness_tooth+0.5;
+
+//Carriage
+carriage_width = 30;
+carriage_padding = 0.1;
+carriage_height = x_rod_spacing+LM8UU_diameter+carriage_padding*2;
+carriage_depth = 12;
+
+//cyclops
+heatbreak_x1=6;
+heatbreak_x2=24;
+heatbreak_z1=3;
+heatbreak_z2=11;
+heatbreak_diameter=4;
+heatsink_baseline=carriage_padding*2+LM8UU_diameter-1;
+mount_x1=15;
+mount_z1=10;
+mount_x2=10.5;
+mount_z2=20;
+mount_x3=19.5;
+mount_z3=20;
+mount_diameter=3.8;
+
+module tie(){
+ difference(){
+ rotate([0,90,0]) cylinder(d=LM8UU_diameter+10, h=4, $fn=50);
+ rotate([0,90,0]) cylinder(d=LM8UU_diameter+3, h=4, $fn=50);
+ }
+}
+
+module heatbreak_hole(){
+ rotate([-90,0,0]) cylinder(d=heatbreak_diameter, h=carriage_depth*2+10, $fn=50);
+ //translate([0,-4,0]) rotate([-90,0,0]) cylinder(d=heatbreak_diameter+3, h=carriage_depth+2, $fn=100);
+}
+
+module mount_hole(){
+ rotate([-90,0,0]) cylinder(d=mount_diameter, h=carriage_depth*2+10, $fn=50);
+ if (part=="carridge") translate([0,-4,0]) rotate([-90,0,0]) cylinder(d=mount_diameter+3, h=carriage_depth+2, $fn=50);
+}
+
+module lug_hole(){
+ rotate([-90,0,0]) cylinder(d=4, h=carriage_depth+2, $fn=50);
+ //translate([0,0,-2]) rotate([-90,0,0]) cylinder(d=5, h=carriage_depth+2, $fn=100);
+}
+
+
+difference(){
+ if (part=="carridge") {
+ //back plane
+ cube(size=[carriage_width,carriage_depth,carriage_height+1]);
+ }
+ else if (part=="mount") {
+ local_height = x_rod_spacing-LM8UU_diameter-carriage_padding*2-3;
+ translate([0,8,LM8UU_diameter+carriage_padding*2])
+ cube(size=[carriage_width,8,local_height]);
+ }
+
+ if (part=="carridge"){
+ //LM8UU
+ translate([2.5,0,carriage_padding+LM8UU_diameter/2]) rotate([0,90,0]) cylinder(d=LM8UU_diameter, h=LM8UU_length, $fn=50);
+ translate([2.5,0,carriage_height-carriage_padding-LM8UU_diameter/2]) rotate([0,90,0]) cylinder(d=LM8UU_diameter, h=LM8UU_length, $fn=50);
+
+ //ties
+ translate([8,0,carriage_padding+LM8UU_diameter/2]) tie();
+ translate([carriage_width-12,0,carriage_padding+LM8UU_diameter/2]) tie();
+ translate([6,0,carriage_height-carriage_padding-LM8UU_diameter/2]) tie();
+ translate([carriage_width-10,0,carriage_height-carriage_padding-LM8UU_diameter/2]) tie();
+
+ translate([8,-1,-1]) cube(size=[4,LM8UU_diameter/2,3]);
+ translate([carriage_width-12,-1,-1]) cube(size=[4,LM8UU_diameter/2,3]);
+
+ //translate([8,LM8UU_diameter/2-.01,LM8UU_diameter/8]) cube(size=[3,carriage_depth,LM8UU_diameter/3*2+1]);
+ // translate([carriage_width-11,LM8UU_diameter/2-.01,LM8UU_diameter/8]) cube(size=[3,carriage_depth,LM8UU_diameter/3*2+1]);
+
+ //rods
+ 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);
+ 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);
+
+ //belt
+ translate([-1,-1,LM8UU_diameter+carriage_padding*2+1]) difference(){
+ local_height = x_rod_spacing-LM8UU_diameter-carriage_padding*2-5;
+ cube(size=[carriage_width+2,8,local_height]);
+
+ //posts
+ translate([3,-1,12.5]) lug_hole();
+ translate([29,-1,12.5]) lug_hole();
+ //channels
+ translate([0,0,carriage_padding*2]){
+ difference() {
+ union() {
+ translate([1,-1,local_height-belt_double-5]) cube(size=[4,10,5]);
+ translate([27,-1,local_height-belt_double-5]) cube(size=[4,10,5]);
+
+ translate([5,0,local_height-belt_double-2.5]) rotate([-90,0,0]) cylinder(d=5,h=100,$fn=50);
+ translate([27,0,local_height-belt_double-2.5]) rotate([-90,0,0]) cylinder(d=5,h=100,$fn=50);
+ }
+ translate([5,0,local_height-belt_double-2.5]) rotate([-90,0,0]) cylinder(d=3.5,h=100,$fn=50);
+ translate([27,0,local_height-belt_double-2.5]) rotate([-90,0,0]) cylinder(d=3.5,h=100,$fn=50);
+ }
+ }
+ }
+ }
+
+ //Cyclops heatbreak
+ translate([heatbreak_x1,-1,heatbreak_z1+heatsink_baseline]) heatbreak_hole();
+ translate([heatbreak_x2,-1,heatbreak_z1+heatsink_baseline]) heatbreak_hole();
+ translate([heatbreak_x1,-1,heatbreak_z2+heatsink_baseline]) heatbreak_hole();
+ translate([heatbreak_x2,-1,heatbreak_z2+heatsink_baseline]) heatbreak_hole();
+
+ //Cyclops mount
+ translate([mount_x1,-1,mount_z1+heatsink_baseline]) mount_hole();
+ translate([mount_x2,-1,mount_z2+heatsink_baseline]) mount_hole();
+ translate([mount_x3,-1,mount_z3+heatsink_baseline]) mount_hole();
+
+ //cooling
+ if (part=="mount") translate([0.001,7,LM8UU_diameter+carriage_padding*2-1]){
+ local_height = x_rod_spacing-LM8UU_diameter-carriage_padding*2+2;
+ translate([2,0,0]) cube(size=[2,3,local_height]);
+ translate([6,0,0]) cube(size=[2,3,local_height]);
+ translate([10,0,0]) cube(size=[2,3,local_height]);
+ translate([14,0,0]) cube(size=[2,3,local_height]);
+ translate([18,0,0]) cube(size=[2,3,local_height]);
+ translate([22,0,0]) cube(size=[2,3,local_height]);
+ translate([26,0,0]) cube(size=[2,3,local_height]);
+ }
+
+
+ //translate([-1,LM8UU_diameter/2+1,-1]) cube(size=[carriage_width+2,carriage_depth-LM8UU_diameter/2+1,LM8UU_diameter]);
+}
+
+