Added start at xsled
This commit is contained in:
80
parts.scad
80
parts.scad
@@ -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();
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user