Files
3D/tir_sportif/tripod/scad/04_leg_extenders.scad
2025-06-28 15:45:58 +02:00

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();
}