Added start at xsled

This commit is contained in:
2022-02-22 23:37:46 +01:00
parent 860d81bf85
commit 39a0d379d1
2 changed files with 103 additions and 8 deletions

View File

@@ -13,6 +13,11 @@ rail_diam = 8;
ysled_extralen = frame_size; // on each end
// calculated
ysled_rail_spacing = (sled_ysize);
// Generates bar of length $l, centered on origin extending in +Z
@@ -70,8 +75,8 @@ module rail_holder(in_x) {
}
// centered on
module ysled(spread = 6*inch, associated_parts = false) {
sled_len = spread + ysled_extralen * 2;
module ysled_slider(spread, associated_parts = false) {
sled_len = spread + frame_size;
sled_height = frame_size;
colorize("green")
@@ -137,3 +142,74 @@ module brcorner() {
rail_holder(false);
}
}
module xsled_slider() {
slider_len = bushing_len + 10;
screw_tab_len = 20;
screw_tab_thickness = 10;
render()
//translate([screw_tab_len, 0, 0])
difference() {
union() {
rotate([0, 90, 0]) {
cylinder(d = frame_size, h = slider_len);
}
translate([0, -frame_size/2, 0])
cube([slider_len, frame_size, frame_size / 2]);
*translate([-screw_tab_len, -frame_size/2, frame_size/2])
cube([screw_tab_len * 2 + slider_len, frame_size, screw_tab_thickness]);
}
rotate([0, 90, 0]) {
cylinder(d = bushing_od, h = bushing_len);
cylinder(d = rail_diam * 1.1, slider_len * 2);
}
}
rotate([0, 90, 0])
*bushing();
}
module sled_cornera() {
corner_base();
translate([-frame_size/2 - wall_thickness, 0, -frame_size])
xsled_slider();
}
module sled_cornerb() {
corner_base();
rotate([0,0,90])
translate([-frame_size/2 - wall_thickness, 0, -frame_size])
xsled_slider();
}
module xsled_frame() {
translate([-sled_xsize / 2 + corner_offset, -ysled_rail_spacing/2, 0])
rotate([0, 90, 0])
tslot(sled_xsize - corner_offset * 2);
translate([-sled_xsize / 2 + corner_offset, ysled_rail_spacing/2, 0])
rotate([0, 90, 0])
tslot(sled_xsize - corner_offset * 2);
translate([-sled_xsize / 2, -ysled_rail_spacing/2 + corner_offset, 0])
rotate([-90, 0, 0])
tslot(sled_ysize - corner_offset * 2);
translate([sled_xsize / 2, -ysled_rail_spacing/2 + corner_offset, 0])
rotate([-90, 0, 0])
tslot(sled_ysize - corner_offset * 2);
translate([-sled_xsize / 2, -sled_ysize / 2, 0])
sled_cornera();
translate([sled_xsize / 2, sled_ysize / 2, 0])
rotate([0,0,180])
sled_cornera();
translate([sled_xsize / 2, -sled_ysize / 2, 0])
rotate([0,0,90])
sled_cornerb();
translate([-sled_xsize / 2, sled_ysize / 2, 0])
rotate([0,0,270])
sled_cornerb();
}