121 lines
3.9 KiB
OpenSCAD
121 lines
3.9 KiB
OpenSCAD
$fn=60;
|
|
|
|
include <BOSL2/std.scad>
|
|
include <boltsos_0.4.1/BOLTS.scad>
|
|
|
|
tube_dia=16;
|
|
delta=0.5;
|
|
|
|
module frontScrew() {
|
|
cylinder(h=20, d=5.4, center=true);
|
|
rotate([0,0,0]) {
|
|
translate ([0,0,-8]) DIN931("M5");
|
|
translate ([0,0,-10]) DIN931("M5");
|
|
}
|
|
* cylinder(h=25, d=5, center=true);
|
|
translate([0,0,8]) cylinder(h=6, d=9);
|
|
}
|
|
|
|
module backScrew() {
|
|
cylinder(h=5,d=3);
|
|
DIN931("M3");
|
|
translate ([0,0,2]) DIN931("M3");
|
|
}
|
|
|
|
// Assembled version
|
|
|
|
// [tubes]
|
|
* color("grey") {
|
|
translate([-20,0,-80]) tube(od=tube_dia,wall=2,h=200);
|
|
translate([0,0,-140]) tube(od=tube_dia,wall=2,h=200);
|
|
translate([20,0,-80]) tube(od=tube_dia,wall=2,h=200);
|
|
}
|
|
// [top]
|
|
* translate([0,0,20]) {
|
|
difference() {
|
|
cuboid([65,25,20], rounding=5);
|
|
translate([-20,0,-7]) zcyl(l=25, d=tube_dia+delta, rounding=1);
|
|
translate([20,0,-7]) zcyl(l=25, d=tube_dia+delta, rounding=1);
|
|
}
|
|
translate([0,-16,0]) difference() {
|
|
ycyl(l=40, d=20, rounding=10);
|
|
translate([0,-9,0]) xcyl(l=20, d=6);
|
|
translate([10.5,-12,0]) xcyl(l=6, d=30);
|
|
translate([-10.5,-12,0]) xcyl(l=6, d=30);
|
|
}
|
|
}
|
|
// [middle]
|
|
* translate([0,0,-30]) difference() {
|
|
cuboid([65,25,20], rounding=5);
|
|
translate([-20,0,0]) zcyl(l=30, d=tube_dia+1);
|
|
translate([0,0,-7]) zcyl(l=25, d=tube_dia+delta, rounding=1);
|
|
translate([20,0,0]) zcyl(l=30, d=tube_dia+1);
|
|
}
|
|
* // [bottom]
|
|
translate([0,0,-175]) difference() {
|
|
union() {
|
|
cuboid([65,25,20], rounding=5);
|
|
translate([0,-3,0]) rotate([90,0,0]) prismoid(size1=[25,12], size2=[20,12], h=24, rounding=1);
|
|
translate([0,-27,0]) scale([1,.7,1]) zcyl(l=12, d=20, rounding=1);
|
|
}
|
|
translate([-20,0,5]) zcyl(l=25, d=tube_dia+delta, rounding=1);
|
|
zcyl(l=30, d=tube_dia+1);
|
|
translate([20,0,5]) zcyl(l=25, d=tube_dia+delta, rounding=1);
|
|
rotate([90,0,180]) translate([0,0,8]) backScrew();
|
|
zcyl(l=12, d=16, rounding=-1);
|
|
translate([0,-23,0]) cuboid([11,22,12], rounding=-1);
|
|
translate ([0,-23,0]) rotate([0,-90,0]) frontScrew();
|
|
}
|
|
|
|
// Printable version
|
|
//[top]
|
|
// V1
|
|
rotate([90,0,0]) {
|
|
difference() {
|
|
cuboid([65,25,20], rounding=5);
|
|
translate([-20,0,-7]) zcyl(l=25, d=tube_dia+delta, rounding=1);
|
|
translate([20,0,-7]) zcyl(l=25, d=tube_dia+delta, rounding=1);
|
|
}
|
|
translate([0,0,16]) difference() {
|
|
zcyl(l=40, d=25, rounding=12.5);
|
|
translate([0,0,9]) xcyl(l=20, d=6);
|
|
translate([10.5,0,10]) xcyl(l=6, d=30);
|
|
translate([-10.5,0,10]) xcyl(l=6, d=30);
|
|
}
|
|
}
|
|
// V2
|
|
* rotate([00,0,0]) {
|
|
difference() {
|
|
cuboid([65,25,20], rounding=5);
|
|
translate([-20,0,-7]) zcyl(l=25, d=tube_dia+delta, rounding=1);
|
|
translate([20,0,-7]) zcyl(l=25, d=tube_dia+delta, rounding=1);
|
|
}
|
|
translate([0,-16,0]) difference() {
|
|
ycyl(l=40, d=20, rounding=10);
|
|
translate([0,-9,0]) xcyl(l=20, d=6);
|
|
translate([10.5,-12,0]) xcyl(l=6, d=30);
|
|
translate([-10.5,-12,0]) xcyl(l=6, d=30);
|
|
}
|
|
}
|
|
//[middle]
|
|
translate([0,30,0]) rotate([90,0,0]) difference() {
|
|
cuboid([65,25,20], rounding=5);
|
|
translate([-20,0,0]) zcyl(l=30, d=tube_dia+1);
|
|
translate([0,0,-7]) zcyl(l=25, d=tube_dia+delta, rounding=1);
|
|
translate([20,0,0]) zcyl(l=30, d=tube_dia+1);
|
|
}
|
|
//[bottom]
|
|
translate([0,60,0]) rotate([-90,0,0]) difference() {
|
|
union() {
|
|
cuboid([65,25,20], rounding=5);
|
|
translate([0,-3,0]) rotate([90,0,0]) prismoid(size1=[35,20], size2=[22,20], h=24, rounding=1);
|
|
translate([0,-26.5,0]) scale([1,.55,1]) zcyl(l=20, d=22, rounding=1);
|
|
}
|
|
translate([-20,0,5]) zcyl(l=25, d=tube_dia+delta, rounding=1);
|
|
zcyl(l=30, d=tube_dia+1);
|
|
translate([20,0,5]) zcyl(l=25, d=tube_dia+delta, rounding=1);
|
|
rotate([90,0,180]) translate([0,0,8.7]) backScrew();
|
|
zcyl(l=12, d=16, rounding=-1);
|
|
translate([0,-24,0]) cuboid([11,23,20], rounding=-1);
|
|
translate ([0,-23,0]) rotate([0,-90,0]) frontScrew();
|
|
} |