tevo-tarantula-updates/X Carriage/X Carriage.scad

106 lines
2.9 KiB
OpenSCAD
Raw Normal View History

2021-08-21 19:00:36 +00:00
include <../lib/common.scad>;
2022-01-06 14:04:58 +00:00
include <../lib/examples.scad>;
2021-08-21 19:00:36 +00:00
thickness = 6;
2022-01-16 11:37:13 +00:00
width = 70;
2021-08-23 17:53:35 +00:00
depth = 62;
$fn = 100;
base();
module base() {
difference() {
union() {
2022-01-06 13:06:36 +00:00
translate([0, - thickness * 2, 0])
block_with_fillet(width, depth + thickness * 2, thickness, 10);
2021-08-22 18:05:53 +00:00
translate([0, - thickness, 0])
2022-01-06 13:06:36 +00:00
mount();
}
big_holes();
small_holes();
belt_holes();
2021-08-22 17:57:35 +00:00
endstop_holes();
2022-01-06 14:04:58 +00:00
wheel_clerance();
}
}
module big_holes() {
diameter = 7;
translate([diameter / 2 + 5, diameter / 2 + 7, - 0.1])
cylinder(d = diameter, h = thickness * 1.1);
translate([width - (5 + diameter / 2), diameter / 2 + 7, - 0.1])
cylinder(d = diameter, h = thickness * 1.1);
}
2022-01-06 14:04:58 +00:00
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() {
diameter = 5;
translate([diameter / 2 + 5, depth - (diameter / 2 + 7), - 0.1])
cylinder(d = diameter, h = thickness * 1.1);
translate([width - (5 + diameter / 2), depth - (diameter / 2 + 7), - 0.1])
cylinder(d = diameter, h = thickness * 1.1);
}
module belt_holes() {
hole_width = 4;
hole_depth = 9;
offset_from_edge = 4;
translate([offset_from_edge, (depth - 9) / 2, - 0.1])
cube([hole_width, hole_depth, thickness + 0.2]);
translate([width - (offset_from_edge + hole_width), (depth - 9) / 2, - 0.1])
cube([hole_width, hole_depth, thickness + 0.2]);
}
2021-08-21 18:55:50 +00:00
module mount() {
2021-08-22 17:57:35 +00:00
translate([(width - 35) / 2, 0]) {
2022-01-06 14:04:58 +00:00
2021-08-21 18:55:50 +00:00
rotate([90, 0, 0]) {
difference() {
union() {
2021-08-22 17:57:35 +00:00
block_with_fillet(35, 30, thickness, 10);
cube([35, 10, thickness]);
2022-01-06 14:04:58 +00:00
rotate([180, 0, 0])
translate([0, - 20, 0])
prism(35, 20, 23);
2021-08-21 18:55:50 +00:00
}
union() {
2021-08-22 18:05:53 +00:00
translate([2.5 + 2, 20, 10])
2021-08-21 18:55:50 +00:00
rotate([180, 0, 0])
2022-01-06 14:04:58 +00:00
screw_mount(length = 10, nut_size = 6, screw_size = 3, nut = "hexagon", nut_height = 30);
2021-08-21 18:55:50 +00:00
2021-08-22 18:05:53 +00:00
translate([2.5 + 25, 20, 10])
2021-08-21 18:55:50 +00:00
rotate([180, 0, 0])
2022-01-06 14:04:58 +00:00
screw_mount(length = 10, nut_size = 6, screw_size = 3, nut = "hexagon", nut_height = 30);
2021-08-21 18:55:50 +00:00
}
}
}
}
}
2021-08-22 17:57:35 +00:00
module endstop_holes() {
diameter = 2;
translate([width - (diameter / 2 + 3), diameter / 2 + 16, - 0.1])
cylinder(d = diameter, h = thickness * 1.1);
2021-08-22 18:05:53 +00:00
translate([width - (diameter / 2 + 3), diameter / 2 + 16 + 6, - 0.1])
2021-08-22 17:57:35 +00:00
cylinder(d = diameter, h = thickness * 1.1);
}