Add support X carriage

This commit is contained in:
Przemek Grondek 2022-01-06 15:04:58 +01:00
parent 14a160413d
commit 0ada0a6626
4 changed files with 30 additions and 21 deletions

View File

@ -1,4 +1,5 @@
include <../lib/common.scad>; include <../lib/common.scad>;
include <../lib/examples.scad>;
thickness = 6; thickness = 6;
width = 65; width = 65;
@ -20,6 +21,7 @@ module base() {
small_holes(); small_holes();
belt_holes(); belt_holes();
endstop_holes(); endstop_holes();
wheel_clerance();
} }
} }
@ -33,6 +35,17 @@ module big_holes() {
} }
module wheel_clerance() {
diameter = 30;
diameter2 = 7;
translate([diameter2 / 2 + 5, diameter2 / 2 + 7, thickness])
cylinder(d = diameter, h = thickness * 10);
translate([width - (5 + diameter2 / 2), diameter2 / 2 + 7, thickness])
cylinder(d = diameter, h = thickness * 10);
}
module small_holes() { module small_holes() {
diameter = 5; diameter = 5;
@ -57,21 +70,25 @@ module belt_holes() {
module mount() { module mount() {
translate([(width - 35) / 2, 0]) { translate([(width - 35) / 2, 0]) {
rotate([90, 0, 0]) { rotate([90, 0, 0]) {
difference() { difference() {
union() { union() {
block_with_fillet(35, 30, thickness, 10); block_with_fillet(35, 30, thickness, 10);
cube([35, 10, thickness]); cube([35, 10, thickness]);
rotate([180, 0, 0])
translate([0, - 20, 0])
prism(35, 20, 23);
} }
union() { union() {
translate([2.5 + 2, 20, 10]) translate([2.5 + 2, 20, 10])
rotate([180, 0, 0]) rotate([180, 0, 0])
screw_mount(length = 10, nut_size = 6, screw_size = 3, nut = "hexagon"); screw_mount(length = 10, nut_size = 6, screw_size = 3, nut = "hexagon", nut_height = 30);
translate([2.5 + 25, 20, 10]) translate([2.5 + 25, 20, 10])
rotate([180, 0, 0]) rotate([180, 0, 0])
screw_mount(length = 10, nut_size = 6, screw_size = 3, nut = "hexagon"); screw_mount(length = 10, nut_size = 6, screw_size = 3, nut = "hexagon", nut_height = 30);
} }
} }
} }
@ -79,20 +96,6 @@ module mount() {
} }
} }
module screw_mount(length, nut_size, screw_size, nut = "none") {
translate([screw_size / 2, screw_size / 2, 0]) {
cylinder(d = screw_size + 3, h = screw_size);
cylinder(d = screw_size, h = length);
if (nut == "hexagon") {
translate([0, 0, length - 3])
cylinder(d = nut_size, h = 3, $fn = 6);
} else if (nut == "square") {
translate([- nut_size / 2, - nut_size / 2, length - 3])
cube([nut_size, nut_size, 3]);
}
}
}
module endstop_holes() { module endstop_holes() {
diameter = 2; diameter = 2;
translate([width - (diameter / 2 + 3), diameter / 2 + 16, - 0.1]) translate([width - (diameter / 2 + 3), diameter / 2 + 16, - 0.1])

Binary file not shown.

View File

@ -1,18 +1,18 @@
module screw_mount(length, nut_size, screw_size, nut = "none") { module screw_mount(length, nut_size, screw_size, nut = "none", nut_height = 3) {
translate([screw_size / 2, screw_size / 2, 0]) { translate([screw_size / 2, screw_size / 2, 0]) {
cylinder(d = screw_size + 3, h = screw_size); cylinder(d = screw_size + 3, h = screw_size);
cylinder(d = screw_size, h = length); cylinder(d = screw_size, h = length);
if (nut == "hexagon") { if (nut == "hexagon") {
translate([0, 0, length - 3]) translate([0, 0, length - 3])
cylinder(d = nut_size, h = 3, $fn = 6); cylinder(d = nut_size, h = nut_height, $fn = 6);
} else if (nut == "square") { } else if (nut == "square") {
translate([- nut_size / 2, - nut_size / 2, length - 3]) translate([- nut_size / 2, - nut_size / 2, length - 3])
cube([nut_size, nut_size, 3]); cube([nut_size, nut_size, nut_height]);
} if (nut == "square+") { } if (nut == "square+") {
translate([- nut_size / 2, - nut_size / 2, length - 3]) translate([- nut_size / 2, - nut_size / 2, length - 3])
cube([nut_size+100, nut_size, 3]); cube([nut_size + 100, nut_size, nut_height]);
} }
} }
} }

6
lib/examples.scad Normal file
View File

@ -0,0 +1,6 @@
module prism(l, w, h) {
polyhedron(
points = [[0, 0, 0], [l, 0, 0], [l, w, 0], [0, w, 0], [0, w, h], [l, w, h]],
faces = [[0, 1, 2, 3], [5, 4, 3, 2], [0, 4, 5, 1], [0, 3, 4], [5, 2, 1]]
);
}