Added pulleys, bom item listing

This commit is contained in:
2022-02-24 16:31:18 +01:00
parent 64d38acfb1
commit 11116136f2
4 changed files with 129 additions and 24 deletions

View File

@@ -1,4 +1,5 @@
include <units.inc>;
include <lib.scad>;
include <constants.scad>;
include <stock_parts.scad>;
@@ -11,6 +12,8 @@ corner_size=30;
// will be $L.
corner_offset = frame_size / 2 + wall_thickness;
rail_diam = 8;
// distance between centerline of rail and centerline of frame Y tube.
yrail_offset = (frame_size + corner_size / 2) / 2;
ysled_extralen = frame_size; // on each end
@@ -23,6 +26,7 @@ ysled_rail_spacing = (sled_ysize);
// Generates bar of length $l, centered on origin extending in +Z
module tslot(l) {
bom_item(printable=false, label = str("tslot(", l, "mm)"));
colorize(stock_color) {
translate([-frame_size/2, -frame_size/2, 0])
cube([frame_size, frame_size, l]);
@@ -60,23 +64,28 @@ module rail_holder(in_x) {
ldim = frame_size/2 + corner_size;
tube_offset = (corner_size) / 2 + wall_thickness;
tube_rotation = in_x ? 90 : 0;
translated_rail_offset = yrail_offset - frame_size / 2;
translate([frame_size/2, frame_size/2, -frame_size/2]) {
difference() {
linear_extrude(frame_size)
polygon(points = [[wall_thickness, wall_thickness],
[wall_thickness, corner_size],
[corner_size, wall_thickness]]);
translate([corner_size / 2, corner_size/2, frame_size/2])
rotate([tube_rotation -90, tube_rotation, 0])
translate([0, 0, -corner_size])
cylinder(d = rail_diam, corner_size * 2);
polygon(points = [[wall_thickness, wall_thickness],
[wall_thickness, corner_size],
[corner_size, wall_thickness]]);
translate([translated_rail_offset, translated_rail_offset, frame_size/2])
rotate([tube_rotation -90, tube_rotation, 0])
translate([0, 0, -corner_size])
cylinder(d = rail_diam, corner_size * 4);
}
}
}
// centered on
module ysled_slider(spread, associated_parts = false) {
module ysled_slider(spread, associated_parts = $preview) {
bom_item(label = str("ysled_slider(", spread, ")"));
sled_len = spread + frame_size;
sled_height = frame_size;
@@ -145,35 +154,48 @@ module nema17_housing() {
}
module flcorner() {
bom_item();
rotate([0, 0, 0]) {
corner_base();
rail_holder(false);
}
translate([(corner_size-wall_thickness)/2, 0, 0])
nema17_housing();
if($preview)
translate([(corner_size - wall_thickness) / 2,
-nema17_face/2 - frame_size/2 - wall_thickness,
frame_size/2]) {
nema17();
translate([0, 0, 2]) {
pulley(16,6,1,7);
}
}
}
module frcorner() {
bom_item();
rotate([0, 0, 90]) {
corner_base();
rail_holder(true);
}
translate([-(corner_size-wall_thickness)/2, 0, 0])
nema17_housing();
if($preview)
translate([-(corner_size - wall_thickness) / 2,
-nema17_face/2 - frame_size/2 - wall_thickness,
frame_size/2]) {
nema17();
translate([0,0,2]) {
pulley(16, 1, 6, 7);
}
}
}
module blcorner() {
bom_item();
rotate([0, 0, 270]) {
corner_base();
rail_holder(true);
@@ -181,6 +203,7 @@ module blcorner() {
}
module brcorner() {
bom_item();
rotate([0, 0, 180]) {
corner_base();
rail_holder(false);
@@ -212,17 +235,20 @@ module xsled_slider() {
}
}
if($preview)
rotate([0, 90, 0])
bushing();
}
module sled_cornera() {
bom_item();
corner_base();
translate([-frame_size/2 - wall_thickness, 0, -frame_size])
xsled_slider();
}
module sled_cornerb() {
bom_item();
corner_base();
rotate([0,0,90])
translate([-frame_size/2 - wall_thickness, 0, -frame_size])
@@ -270,7 +296,7 @@ module xsled_frame() {
}
module xsled2() {
bom_item();
tab_len = bushing_len * 2;
tab_thickness = bushing_od + wall_thickness * 2;
@@ -368,4 +394,5 @@ module xsled2() {
}
}
// render()
//xsled2();
// xsled2();