Initial commit.

This commit is contained in:
2025-05-31 15:33:06 +01:00
commit 97c902a468
18 changed files with 1080 additions and 0 deletions

View File

@@ -0,0 +1,17 @@
include <../../config.scad>;
module square_tube_joint_cross(tube_diameter, tube_thickness) {
length_peg = 2 * tube_diameter;
union() {
color("black") cube(tube_diameter, center = true);
for (index_peg = [0 : 1 : 3]) {
color("gray") rotate([0, 0, 90 * index_peg]) translate([tube_diameter / 2 + length_peg / 2, 0, 0]) cube([length_peg, tube_diameter - tube_thickness * 2, tube_diameter - tube_thickness * 2], center = true);
}
}
// Shopping
echo(str("Square tube joint: Tube joint Φ", tube_diameter, "mm cross - x1"));
}
// test output
square_tube_joint_cross(D_BEAM_SKELETON, T_BEAM_SKELETON);

View File

@@ -0,0 +1,40 @@
/*
include <../../config.scad>;
use <./tube_clamp_round_3_way_through_116_functions.scad>;
*/
module square_tube_joint_n_way(tube_diameter, tube_thickness, n_pegs) {
length_peg = 2 * tube_diameter;
union() {
color("black") cube(tube_diameter, center = true);
/*
// Method 1: no good
for (index_peg = [0 : 1 : n_pegs - 1]) {
color("gray") rotate([0, 0, 90 * index_peg]) translate([tube_diameter / 2 + length_peg / 2, 0, 0]) cube([length_peg, tube_diameter - tube_thickness * 2, tube_diameter - tube_thickness * 2], center = true);
}
*/
if (n_pegs >= 2) {
for (index_peg = [0 : 1 : 1]) {
color("gray") rotate([0, 0, 90 * index_peg]) translate([tube_diameter / 2 + length_peg / 2, 0, 0]) cube([length_peg, tube_diameter - tube_thickness * 2, tube_diameter - tube_thickness * 2], center = true);
}
}
if (n_pegs >= 3) {
for (index_peg = [0 : 1 : (n_pegs == 3 ? 0 : 1)]) {
color("gray") mirror([0, 0, index_peg]) translate([0, 0, tube_diameter / 2 + length_peg / 2]) cube([tube_diameter - tube_thickness * 2, tube_diameter - tube_thickness * 2, length_peg], center = true);
}
}
if (n_pegs >= 5) {
color("gray") translate([0, -(tube_diameter / 2 + length_peg / 2), 0]) cube([tube_diameter - tube_thickness * 2, length_peg, tube_diameter - tube_thickness * 2], center = true);
}
}
// Shopping
echo(str("Square tube joint: Tube joint Φ", tube_diameter, "mm ", n_pegs, "-Way - x1"));
}
// test output
// square_tube_joint_n_way(D_BEAM_SKELETON, T_BEAM_SKELETON, 5);
// translate([200, 0, 0]) square_tube_joint_n_way(D_BEAM_SKELETON, T_BEAM_SKELETON, 3);
for (count_pegs = [2 : 1 : 5]) {
translate([100 * count_pegs, 0, 0]) square_tube_joint_n_way(D_BEAM_SKELETON, T_BEAM_SKELETON, count_pegs);
}

View File

@@ -0,0 +1,17 @@
include <../../config.scad>;
module square_tube_joint_tee(tube_diameter, tube_thickness) {
length_peg = 2 * tube_diameter;
union() {
color("black") cube(tube_diameter, center = true);
for (index_peg = [0 : 1 : 2]) {
color("gray") rotate([0, 0, 90 * index_peg]) translate([tube_diameter / 2 + length_peg / 2, 0, 0]) cube([length_peg, tube_diameter - tube_thickness * 2, tube_diameter - tube_thickness * 2], center = true);
}
}
// Shopping
echo(str("Square tube joint: Tube joint Φ", tube_diameter, "mm tee - x1"));
}
// test output
translate([100, 0, 50 ]) square_tube_joint_tee(D_BEAM_SKELETON, T_BEAM_SKELETON);