Removed unneeded calls to render
This commit is contained in:
6
TODO.md
6
TODO.md
@@ -4,5 +4,11 @@
|
|||||||
* Add place to mount electronics (likely just an extra part)
|
* Add place to mount electronics (likely just an extra part)
|
||||||
* add slot for motor electronic connection
|
* add slot for motor electronic connection
|
||||||
* Add screw holes for idler mounts in rear corner
|
* Add screw holes for idler mounts in rear corner
|
||||||
|
* Raise motor mount on front left motor
|
||||||
|
|
||||||
## Electronics
|
## Electronics
|
||||||
|
|
||||||
|
Must contain:
|
||||||
|
* Two TMC2209 drivers
|
||||||
|
* Two 4-pin screw terminals for motors
|
||||||
|
* Arduino?
|
||||||
173
parts.scad
173
parts.scad
@@ -237,7 +237,7 @@ module idler_post(belt_height, toothed = true) {
|
|||||||
|
|
||||||
module flcorner() {
|
module flcorner() {
|
||||||
bom_item();
|
bom_item();
|
||||||
render() {
|
union() {
|
||||||
rotate([ 0, 0, 0 ]) {
|
rotate([ 0, 0, 0 ]) {
|
||||||
corner_base();
|
corner_base();
|
||||||
rail_holder(false);
|
rail_holder(false);
|
||||||
@@ -270,7 +270,7 @@ module flcorner() {
|
|||||||
|
|
||||||
module frcorner() {
|
module frcorner() {
|
||||||
bom_item();
|
bom_item();
|
||||||
render() {
|
union() {
|
||||||
rotate([ 0, 0, 90 ]) {
|
rotate([ 0, 0, 90 ]) {
|
||||||
corner_base();
|
corner_base();
|
||||||
rail_holder(true);
|
rail_holder(true);
|
||||||
@@ -304,7 +304,7 @@ module frcorner() {
|
|||||||
|
|
||||||
module blcorner() {
|
module blcorner() {
|
||||||
bom_item();
|
bom_item();
|
||||||
render()
|
union()
|
||||||
rotate([ 0, 0, 270 ]) {
|
rotate([ 0, 0, 270 ]) {
|
||||||
corner_base(extension = rail_holder_width);
|
corner_base(extension = rail_holder_width);
|
||||||
rail_holder(true);
|
rail_holder(true);
|
||||||
@@ -320,7 +320,7 @@ module blcorner() {
|
|||||||
|
|
||||||
module brcorner() {
|
module brcorner() {
|
||||||
bom_item();
|
bom_item();
|
||||||
render()
|
union()
|
||||||
rotate([ 0, 0, 180 ]) {
|
rotate([ 0, 0, 180 ]) {
|
||||||
corner_base(extension = rail_holder_width);
|
corner_base(extension = rail_holder_width);
|
||||||
rail_holder(false);
|
rail_holder(false);
|
||||||
@@ -339,7 +339,7 @@ module xsled_slider() {
|
|||||||
screw_tab_len = 20;
|
screw_tab_len = 20;
|
||||||
screw_tab_thickness = 10;
|
screw_tab_thickness = 10;
|
||||||
|
|
||||||
render()
|
union()
|
||||||
// translate([screw_tab_len, 0, 0])
|
// translate([screw_tab_len, 0, 0])
|
||||||
difference() {
|
difference() {
|
||||||
union() {
|
union() {
|
||||||
@@ -517,89 +517,96 @@ module xsled2() {
|
|||||||
|
|
||||||
echo("Ledge width: ", ledge_width - outside_ledge_width);
|
echo("Ledge width: ", ledge_width - outside_ledge_width);
|
||||||
// rail attachment points
|
// rail attachment points
|
||||||
for (xsign = [1, - 1], ysign = [1, - 1]) {
|
render() {
|
||||||
translate([sled_xsize / 2 * xsign, sled_ysize / 2 * ysign, 0])
|
for (xsign = [1, - 1], ysign = [1, - 1]) {
|
||||||
rotate([0, - 90 * xsign, 0]) {
|
translate([sled_xsize / 2 * xsign, sled_ysize / 2 * ysign, 0])
|
||||||
difference() {
|
rotate([0, - 90 * xsign, 0]) {
|
||||||
union() {
|
difference() {
|
||||||
cylinder(d = tab_thickness, h = tab_len);
|
union() {
|
||||||
translate(
|
cylinder(d = tab_thickness, h = tab_len);
|
||||||
[- tab_thickness / 2, ysign > 0 ? - tab_thickness / 2 : 0, 0])
|
translate(
|
||||||
cube([tab_thickness, tab_thickness / 2 + 1, tab_len]);
|
[- tab_thickness / 2, ysign > 0 ? - tab_thickness / 2 : 0, 0])
|
||||||
}
|
cube([tab_thickness, tab_thickness / 2 + 1, tab_len]);
|
||||||
translate([0, 0, - 0.5]) {
|
}
|
||||||
cylinder(d = bushing_od, h = bushing_len + 0.5);
|
translate([0, 0, - 0.5]) {
|
||||||
cylinder(d = rail_diam * 1.1, h = tab_len + 1);
|
cylinder(d = bushing_od, h = bushing_len + 0.5);
|
||||||
|
cylinder(d = rail_diam * 1.1, h = tab_len + 1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($preview) {
|
}
|
||||||
|
|
||||||
|
// glass holding frame
|
||||||
|
difference() {
|
||||||
|
union() {
|
||||||
|
translate([- sled_xsize / 2, - inner_ysize / 2, 0])
|
||||||
|
rotate([0, 90, 0]) rotate([0, 0, 90]) linear_extrude(sled_xsize)
|
||||||
|
polygon(glass_holder_points);
|
||||||
|
|
||||||
|
translate([sled_xsize / 2, inner_ysize / 2, 0])
|
||||||
|
rotate([0, 90, 180]) rotate([0, 0, 90])
|
||||||
|
linear_extrude(sled_xsize) polygon(glass_holder_points);
|
||||||
|
|
||||||
|
translate([sled_xsize / 2, - inner_ysize / 2, 0])
|
||||||
|
rotate([0, 90, 90]) rotate([0, 0, 90])
|
||||||
|
linear_extrude(inner_ysize) polygon(glass_holder_points);
|
||||||
|
|
||||||
|
translate([- sled_xsize / 2, inner_ysize / 2, 0])
|
||||||
|
rotate([0, 90, - 90]) rotate([0, 0, 90])
|
||||||
|
linear_extrude(inner_ysize) polygon(glass_holder_points);
|
||||||
|
}
|
||||||
|
|
||||||
|
// grub screw points for glass levelling
|
||||||
|
for (x = [- 1, 1],
|
||||||
|
y = [- 1, 1]) {
|
||||||
|
translate([x * (sled_xsize / 2 - outside_ledge_width - inside_ledge_width / 2),
|
||||||
|
y * (inner_ysize / 2 - outside_ledge_width - inside_ledge_width / 2),
|
||||||
|
film_height])
|
||||||
|
rotate([180, 0, 0]) {
|
||||||
|
cylinder(d = 4, h = 50);
|
||||||
|
cylinder(d = 5, h = 4 + glass_thickness);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// finger notch
|
||||||
|
translate([
|
||||||
|
- 10, - inner_ysize / 2,
|
||||||
|
|
||||||
|
film_height - glass_thickness + 0.5 - finger_notch_smdepth + finger_notch_diam / 2
|
||||||
|
]) rotate([90, 0, 0])
|
||||||
|
cylinder(d = finger_notch_diam, h = ledge_width * 3, center = true);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// belt attachment points
|
||||||
|
idler_spacing = sled_ysize / 6;
|
||||||
|
for (params = [
|
||||||
|
[true, [- sled_xsize / 2, idler_spacing, belt_height1]],
|
||||||
|
[false, [- sled_xsize / 2, - idler_spacing, belt_height2]],
|
||||||
|
[true, [sled_xsize / 2, idler_spacing, belt_height2]],
|
||||||
|
[false, [sled_xsize / 2, - idler_spacing, belt_height1]]
|
||||||
|
]) {
|
||||||
|
should_mirror = params[1][0] > 0 ? params[0] : !params[0];
|
||||||
|
translate(params[1])
|
||||||
|
rotate([0, 0, params[1][0] > 0 ? 90 : - 90]) {
|
||||||
|
if (should_mirror) {
|
||||||
|
mirror([1, 0, 0])
|
||||||
|
gt2_clip(params[0]);
|
||||||
|
} else {
|
||||||
|
gt2_clip(params[0]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($preview) {
|
||||||
|
for (xsign = [1, - 1], ysign = [1, - 1]) {
|
||||||
|
translate([sled_xsize / 2 * xsign, sled_ysize / 2 * ysign, 0])
|
||||||
|
rotate([0, - 90 * xsign, 0]) {
|
||||||
bushing();
|
bushing();
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// glass holding frame
|
|
||||||
difference() {
|
|
||||||
union() {
|
|
||||||
translate([- sled_xsize / 2, - inner_ysize / 2, 0])
|
|
||||||
rotate([0, 90, 0]) rotate([0, 0, 90]) linear_extrude(sled_xsize)
|
|
||||||
polygon(glass_holder_points);
|
|
||||||
|
|
||||||
translate([sled_xsize / 2, inner_ysize / 2, 0])
|
|
||||||
rotate([0, 90, 180]) rotate([0, 0, 90])
|
|
||||||
linear_extrude(sled_xsize) polygon(glass_holder_points);
|
|
||||||
|
|
||||||
translate([sled_xsize / 2, - inner_ysize / 2, 0])
|
|
||||||
rotate([0, 90, 90]) rotate([0, 0, 90])
|
|
||||||
linear_extrude(inner_ysize) polygon(glass_holder_points);
|
|
||||||
|
|
||||||
translate([- sled_xsize / 2, inner_ysize / 2, 0])
|
|
||||||
rotate([0, 90, - 90]) rotate([0, 0, 90])
|
|
||||||
linear_extrude(inner_ysize) polygon(glass_holder_points);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// grub screw points for glass levelling
|
|
||||||
for (x = [- 1, 1],
|
|
||||||
y = [- 1, 1]) {
|
|
||||||
translate([x * (sled_xsize / 2 - outside_ledge_width - inside_ledge_width / 2),
|
|
||||||
y * (inner_ysize / 2 - outside_ledge_width - inside_ledge_width / 2),
|
|
||||||
film_height])
|
|
||||||
rotate([180, 0, 0]) {
|
|
||||||
cylinder(d = 4, h = 50);
|
|
||||||
cylinder(d = 5, h = 4 + glass_thickness);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// finger notch
|
|
||||||
translate([
|
|
||||||
- 10, - inner_ysize / 2,
|
|
||||||
|
|
||||||
film_height - glass_thickness + 0.5 - finger_notch_smdepth + finger_notch_diam / 2
|
|
||||||
]) rotate([90, 0, 0])
|
|
||||||
cylinder(d = finger_notch_diam, h = ledge_width * 3, center = true);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// belt attachment points
|
|
||||||
idler_spacing = sled_ysize / 6;
|
|
||||||
for (params = [
|
|
||||||
[true, [-sled_xsize/2, idler_spacing, belt_height1 ]],
|
|
||||||
[false, [-sled_xsize/2, -idler_spacing, belt_height2]],
|
|
||||||
[true, [sled_xsize/2, idler_spacing, belt_height2]],
|
|
||||||
[false, [sled_xsize/2, -idler_spacing, belt_height1]]
|
|
||||||
]) {
|
|
||||||
should_mirror = params[1][0] > 0 ? params[0] : !params[0];
|
|
||||||
translate(params[1])
|
|
||||||
rotate([0,0,params[1][0] > 0 ? 90 : -90]) {
|
|
||||||
if (should_mirror ) {
|
|
||||||
mirror([1,0,0])
|
|
||||||
gt2_clip(params[0]);
|
|
||||||
} else {
|
|
||||||
gt2_clip(params[0]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
color("#fff3") if ($preview) {
|
color("#fff3") if ($preview) {
|
||||||
// draw glass sheets
|
// draw glass sheets
|
||||||
translate(
|
translate(
|
||||||
@@ -608,7 +615,7 @@ module xsled2() {
|
|||||||
[
|
[
|
||||||
sled_xsize - outside_ledge_width * 2,
|
sled_xsize - outside_ledge_width * 2,
|
||||||
inner_ysize - outside_ledge_width * 2,
|
inner_ysize - outside_ledge_width * 2,
|
||||||
glass_thickness
|
glass_thickness
|
||||||
],
|
],
|
||||||
center = true);
|
center = true);
|
||||||
*translate(
|
*translate(
|
||||||
|
|||||||
Reference in New Issue
Block a user