This commit is contained in:
breitenbach76 2026-05-28 15:50:08 +02:00
commit c87b0b1775
23 changed files with 2658 additions and 0 deletions

View file

@ -0,0 +1,52 @@
// Phasen-Basistile mit zentraler Verankerung und Puzzle-Tabs
// SLC-Workshop Tabletop · Einheiten: mm
// Anpassen und mit OpenSCAD nach STL exportieren (F6 -> Export).
/* [Tile] */
tile_size = 100; // Kantenlaenge
tile_height = 6; // Dicke
corner_r = 3; // Eckenradius
/* [Verankerung / Sockel] */
socket_d = 50; // Durchmesser Vertiefung
socket_depth = 4; // Tiefe
fit_clear = 0.4; // Spielpassung
/* [Puzzle-Tabs] */
tab_w = 12; // Breite
tab_d = 6; // Tiefe (Ueberstand / Aussparung)
tab_h = tile_height;
$fn = 64;
module rounded_square(s, r, h) {
linear_extrude(h)
offset(r) offset(-r)
square([s, s], center=true);
}
module tab(positive=true) {
// Tab ragt heraus (positive) oder wird ausgespart (negative)
d = positive ? tab_d : tab_d + fit_clear;
w = positive ? tab_w : tab_w + fit_clear;
translate([0, 0, tab_h/2])
cube([w, d*2, tab_h], center=true);
}
module tile() {
difference() {
union() {
rounded_square(tile_size, corner_r, tile_height);
// Tabs an Nord- und Ost-Kante (positive)
translate([0, tile_size/2, 0]) tab(true);
translate([ tile_size/2, 0, 0]) rotate([0,0,90]) tab(true);
}
// Verankerung
translate([0, 0, tile_height - socket_depth])
cylinder(d = socket_d + fit_clear, h = socket_depth + 0.1);
// Slots an Sued- und West-Kante (negative)
translate([0, -tile_size/2, 0]) tab(false);
translate([-tile_size/2, 0, 0]) rotate([0,0,90]) tab(false);
}
}
tile();