Finished designing new xsled
This commit is contained in:
@@ -1,22 +1,4 @@
|
||||
use_colors = true;
|
||||
|
||||
xsize = 450;
|
||||
ysize = 400;
|
||||
sled_ysize = 7 * 25.4;
|
||||
sled_xsize = 8 * 25.4;
|
||||
|
||||
xmin = 155;
|
||||
ymin = 140;
|
||||
// 130..320
|
||||
cur_xpos = 155;
|
||||
// 140..260
|
||||
cur_ypos = 140;
|
||||
|
||||
echo(str("Range = ", [ xsize - xmin * 2, ysize - ymin*2 ]));
|
||||
|
||||
$fs = 1.5;
|
||||
$include_substock = true;
|
||||
|
||||
include <constants.scad>;
|
||||
include <parts.scad>;
|
||||
|
||||
csize = 15;
|
||||
|
||||
18
constants.scad
Normal file
18
constants.scad
Normal file
@@ -0,0 +1,18 @@
|
||||
use_colors = true;
|
||||
|
||||
xsize = 450;
|
||||
ysize = 400;
|
||||
sled_ysize = 7 * 25.4;
|
||||
sled_xsize = 8 * 25.4;
|
||||
|
||||
xmin = 155;
|
||||
ymin = 140;
|
||||
// 130..320
|
||||
cur_xpos = 155;
|
||||
// 140..260
|
||||
cur_ypos = 140;
|
||||
|
||||
echo(str("Range = ", [ xsize - xmin * 2, ysize - ymin*2 ]));
|
||||
|
||||
$fs = 1.5;
|
||||
$include_substock = true;
|
||||
93
parts.scad
93
parts.scad
@@ -1,4 +1,5 @@
|
||||
include <units.inc>;
|
||||
include <constants.scad>;
|
||||
include <stock_parts.scad>;
|
||||
|
||||
frame_size = 20;
|
||||
@@ -269,6 +270,29 @@ module xsled_frame() {
|
||||
}
|
||||
|
||||
module xsled2() {
|
||||
|
||||
|
||||
tab_len = bushing_len * 2;
|
||||
tab_thickness = bushing_od + wall_thickness * 2;
|
||||
glass_thickness = 3; // TODO: Update when an actual size is available
|
||||
|
||||
inner_ysize = sled_ysize - tab_thickness;
|
||||
|
||||
lip_depth = tab_thickness - wall_thickness - glass_thickness;
|
||||
lip_width = glass_thickness;
|
||||
|
||||
glass_holder_points = [
|
||||
[0,0],
|
||||
[lip_depth + wall_thickness, 0],
|
||||
[lip_depth + wall_thickness, wall_thickness + 0.5],
|
||||
[lip_depth, wall_thickness + 0.5],
|
||||
[lip_depth, wall_thickness + glass_thickness],
|
||||
[lip_depth - glass_thickness, wall_thickness + glass_thickness],
|
||||
[lip_depth - glass_thickness, wall_thickness + glass_thickness*2],
|
||||
[0, tab_thickness]
|
||||
];
|
||||
|
||||
|
||||
for (xsign = [1,-1],
|
||||
ysign = [1,-1]) {
|
||||
translate([sled_xsize / 2 * xsign,
|
||||
@@ -276,11 +300,72 @@ module xsled2() {
|
||||
0])
|
||||
rotate([0, -90 * xsign, 0]) {
|
||||
difference() {
|
||||
cylinder(d = bushing_od + wall_thickness, h = bushing_len + wall_thickness);
|
||||
cylinder(d = rail_diam + 1 , h = (bushing_len + wall_thickness + 1) * 2,
|
||||
center = true);
|
||||
union() {
|
||||
cylinder(d = tab_thickness, h = tab_len);
|
||||
translate([-tab_thickness/2,
|
||||
ysign > 0 ? -tab_thickness/2: 0,
|
||||
0])
|
||||
cube([tab_thickness, tab_thickness/2, tab_len]);
|
||||
}
|
||||
translate([0,0,-0.5]) {
|
||||
cylinder(d = bushing_od, h = bushing_len+0.5);
|
||||
cylinder(d = rail_diam * 1.1 , h = tab_len + 1);
|
||||
}
|
||||
}
|
||||
bushing();
|
||||
if ($preview) {
|
||||
bushing();
|
||||
}
|
||||
}
|
||||
|
||||
//cube([sled_xsize, inner_ysize, tab_thickness/2], center=true);
|
||||
difference() {
|
||||
union() {
|
||||
translate([-sled_xsize/2, -inner_ysize/2, -tab_thickness/2])
|
||||
rotate([0, 90, 0])
|
||||
rotate([0,0,90])
|
||||
linear_extrude(sled_xsize)
|
||||
polygon(glass_holder_points);
|
||||
|
||||
translate([sled_xsize/2, inner_ysize/2, -tab_thickness/2])
|
||||
rotate([0, 90, 180])
|
||||
rotate([0,0,90])
|
||||
linear_extrude(sled_xsize)
|
||||
polygon(glass_holder_points);
|
||||
|
||||
translate([sled_xsize/2, -inner_ysize/2, -tab_thickness/2])
|
||||
rotate([0, 90, 90])
|
||||
rotate([0,0,90])
|
||||
linear_extrude(inner_ysize)
|
||||
polygon(glass_holder_points);
|
||||
|
||||
translate([-sled_xsize/2, inner_ysize/2, -tab_thickness/2])
|
||||
rotate([0, 90, -90])
|
||||
rotate([0,0,90])
|
||||
linear_extrude(inner_ysize)
|
||||
polygon(glass_holder_points);
|
||||
}
|
||||
|
||||
translate([-10, inner_ysize/2 - 1 - lip_depth + glass_thickness, -tab_thickness/2 + wall_thickness + glass_thickness])
|
||||
cube([20, glass_thickness + 1, 30]);
|
||||
}
|
||||
}
|
||||
|
||||
color("#fff3")
|
||||
if ($preview) {
|
||||
// draw glass sheets
|
||||
translate([0,0,-tab_thickness/2 + wall_thickness + glass_thickness/2])
|
||||
cube([sled_xsize - lip_depth*2, inner_ysize - lip_depth*2, glass_thickness],
|
||||
center=true);
|
||||
translate([0,0,-tab_thickness/2 + wall_thickness + 3*glass_thickness/2])
|
||||
cube(
|
||||
[
|
||||
sled_xsize - lip_depth*2 + glass_thickness*2,
|
||||
inner_ysize - lip_depth*2 + glass_thickness*2,
|
||||
glass_thickness
|
||||
],
|
||||
center=true);
|
||||
|
||||
}
|
||||
}
|
||||
// render()
|
||||
//xsled2();
|
||||
|
||||
Reference in New Issue
Block a user