This commit is contained in:
2025-06-30 17:14:30 +02:00
parent b6c7d680e6
commit e66309cbf2
140 changed files with 2 additions and 0 deletions

View File

@@ -0,0 +1,183 @@
$fn=80;
include <threads.scad>
include <BOSL2/std.scad>
include <BOSL2/gears.scad>
sl=75;
td=11;
tp=4;
sw=5;
cp=7;
te1=12;
te2=25;
pa=20;
module l_screw() {
mirror([0,1,0]) RodStart(sw*2, sw, thread_len=sl, thread_diam=td, thread_pitch=tp);
translate([0,0,sw]) {
linear_extrude(sw, center=true)
spur_gear2d(circ_pitch=cp, teeth=te1, pressure_angle=pa);
}
/* translate([0,0,sl+sw]) zcyl(l=sw, d=td+1, rounding=1); */
}
module l_bolt() {
difference() {
cuboid([20,20,20], rounding=1);
zcyl(l=20, d=15);
}
translate([0,0,-10]) mirror([0,1,0]) RodEnd(15, 20, thread_len=20, thread_diam=12, thread_pitch=4);
}
module r_screw() {
RodStart(sw*2, sw, thread_len=sl, thread_diam=td, thread_pitch=tp);
translate([0,0,sw]) {
linear_extrude(sw, center=true)
spur_gear2d(circ_pitch=cp, teeth=te1, pressure_angle=pa);
}
/* translate([0,0,sl+sw]) zcyl(l=sw, d=td+1, rounding=1); */
}
module r_bolt() {
difference() {
cuboid([20,20,20], rounding=1);
zcyl(l=20, d=15);
}
translate([0,0,-10]) RodEnd(15, 20, thread_len=20, thread_diam=12, thread_pitch=4);
}
module plate() {
/* Main */
cuboid([45,3,45], rounding=1);
translate([21,13,16]) cuboid([3,28,5], rounding=1);
translate([-21,13,16]) cuboid([3,28,5], rounding=1);
translate([21,13,-16]) cuboid([3,28,5], rounding=1);
translate([-21,13,-16]) cuboid([3,28,5], rounding=1);
//
translate([16,-13,21]) cuboid([5,28,3], rounding=1);
translate([-16,-13,21]) cuboid([5,28,3], rounding=1);
translate([16,-13,-21]) cuboid([5,28,3], rounding=1);
translate([-16,-13,-21]) cuboid([5,28,3], rounding=1);
//
difference() {
cuboid([30,14,30], rounding=1);
translate([0,-6,0]) cuboid([21,4,55], rounding=1);
translate([0,6,0]) cuboid([55,4,21], rounding=1);
}
// Front
translate([0,-26,0]) cuboid([45,3,45], rounding=1);
translate([0,-31,0]) rotate([90,0,0]) tube(od=16, wall=2, h=10, rounding=1);
// Back
translate([0,26,0]) cuboid([45,3,45], rounding=1);
}
/*[screws]*/
/*[x_axis]*/
color("cyan") {
translate([-14,0,0]) l_bolt();
translate([14,0,0]) l_bolt();
}
color("blue") {
translate ([-14,0,sl/2+5]) rotate([0,180,14]) {
translate([0,0,-10]) cylinder(h=15, d=td+1, $fn=6);
l_screw();
}
translate ([14,0,sl/2+5]) rotate([0,180,0]) l_screw();
}
/*[y_axis */
color("pink") {
translate([-42,0,0]) rotate([-90,0,0]) r_bolt();
translate([42,0,0]) rotate([-90,0,0]) l_bolt();
}
color("red") {
translate ([-42,-sl/2-5,0]) rotate([-90,6,0]) r_screw();
translate ([0,-sl/2,0]) rotate([90,0,0]) {
cylinder(h=15, d=td+1, $fn=6);
linear_extrude(sw, center=true)
spur_gear2d(circ_pitch=cp, teeth=te2, pressure_angle=pa);
}
translate ([42,-sl/2-5,0]) rotate([-90,-6,0]) l_screw();
}
/*[plates]*/
translate([-28,0,0]) rotate([0,0,-90]) plate();
translate([28,0,0]) rotate([0,0,90]) plate();
/*[enclosure]*/
* color("white", alpha=.5) {
difference() {
cuboid([126,86,86], rounding=1);
translate([3,0,0]) cuboid([126,80,80]);
translate([0,0,41.5]) cuboid([70,50,5]);
translate([0,-41.5,0]) cuboid([114,4,74]);
cuboid([140,55,55], rounding=20);
translate([-14,0,38.5]) zcyl(l=10, d=td+2);
translate([14,0,40]) zcyl(l=4, d=td+1);
translate([0,-38.5,0]) ycyl(l=10, d=td+2);
translate([-42,-40,0]) ycyl(l=4, d=td+1);
translate([42,-40,0]) ycyl(l=4, d=td+1);
}
color("grey") {
translate([0,-33,0]) {
ycyl(l=3, d=20);
cuboid([10,2,85]);
}
}
translate([-14,0,-38.5]) tube(od=16, wall=1.5, h=5, rounding=1);
translate([14,0,-38.5]) tube(od=16, wall=1.5, h=5, rounding=1);
rotate([90,0,0]) {
translate([-42,0,-38.5]) tube(od=16, wall=1.5, h=5, rounding=1);
translate([42,0,-38.5]) tube(od=16, wall=1.5, h=5, rounding=1);
}
/*[covers]*/
// Top
translate ([0,0,65]) {
difference() {
union() {
cuboid([76,56,2], rounding=1);
translate([0,0,-1.5]) cuboid([70,50,5], rounding=1);
}
translate([-14,0,-1]) zcyl(l=6, d=td+2);
translate([14,0,-3]) zcyl(l=3, d=td+1);
}
}
// Right
translate ([0,-65,0]) {
difference() {
union() {
cuboid([126,2,86], rounding=1);
translate([0,1.5,0]) cuboid([113,5,73], rounding=1);
}
translate([0,1,0]) ycyl(l=6, d=td+2);
translate([-42,3,0]) ycyl(l=3, d=td+1);
translate([42,3,0]) ycyl(l=3, d=td+1);
}
}
}
/*[grp_holder]*/
* translate([68,0,0]) rotate([0,0,-90]) {
difference() {
union() {
translate([0,0,16]) {
rotate([90,0,0]) {
linear_extrude(6, center=true)
trapezoid(55, 20, 80, rounding=5);
}
}
translate([0,0,100]) {
cuboid([126,6,126], rounding=1);
}
}
translate([0,0,23]) {
rotate([90,0,0]) {
linear_extrude(6, center=true)
trapezoid(27, 30, 60, rounding=5);
}
}
translate([0,-1.5,100]) cuboid([121,5,121]);
* translate([0,0,100]) cuboid([116,7,116], rounding=2);
ycyl(l=6, d=10, rounding=-3);
}
/*[plexi]*/
color("cyan", alpha=.3) translate([0,-1,100]) cuboid([120,4,120], rounding=1);
}