...
This commit is contained in:
parent
223a6738c6
commit
c9b03a94dc
10 changed files with 283 additions and 304 deletions
|
|
@ -1,81 +1,53 @@
|
|||
// Gate-Tor mit Rollen-Steckplaetzen und Kartenschlitz
|
||||
// Gate-Tor — Bogen, steckt mit 2 Zapfen in ein Gate-Tile (keine eigenen Fuesse)
|
||||
// SLC-Workshop Tabletop · Einheiten: mm
|
||||
// Die Figuren stehen auf dem GATE-TILE (nicht am Tor). Das Tor traegt oben eine
|
||||
// Gate-Beschreibungskarte; keine feste Gravur.
|
||||
|
||||
/* [Tor] */
|
||||
opening_w = 90; // lichte Weite
|
||||
opening_w = 68; // lichte Weite (Action-Stein Ø59 + 60-mm-Karte passt durch)
|
||||
opening_h = 100; // lichte Hoehe
|
||||
thick = 8; // Materialstaerke (Tiefe)
|
||||
post_w = 12; // Pfostenbreite
|
||||
top_h = 14; // Hoehe des Querbalkens
|
||||
|
||||
/* [Fuesse] */
|
||||
foot_w = 60;
|
||||
foot_d = 30;
|
||||
foot_h = 4;
|
||||
|
||||
/* [Rollen-Standfelder] (keine Loecher — Figuren werden gestellt) */
|
||||
spot_d = 18; // Durchmesser der Standflaeche-Markierung (Sockel Ø20)
|
||||
spot_count = 4; // 4 Pflicht-Figuren
|
||||
spot_depth = 0.6; // Gravurtiefe (reine Markierung)
|
||||
|
||||
/* [Kartenschlitz oben] */
|
||||
card_w = 65;
|
||||
card_w = 65; // Gate-Beschreibungskarte 60 mm + Spiel
|
||||
card_t = 3;
|
||||
card_depth = 10;
|
||||
|
||||
/* [Stecksockel-Zapfen (links/rechts) — stecken in die SOR-Tile-Loecher] */
|
||||
tenon_d = 10; // Zapfen-Durchmesser (Tile-Loch 10,4)
|
||||
tenon_h = 5; // Zapfen-Laenge
|
||||
tenon_dx = 51; // halber Abstand = Pfostenmitte (opening_w/2 + post_w/2)
|
||||
$fn = 48;
|
||||
/* [Stecksockel-Zapfen] — stecken in die Gate-Tile-Loecher (Ø10,4) */
|
||||
tenon_d = 10;
|
||||
tenon_h = 5;
|
||||
tenon_dx = 40; // halber Abstand = Pfostenmitte (opening_w/2 + post_w/2)
|
||||
|
||||
total_w = opening_w + 2*post_w;
|
||||
total_h = opening_h + top_h + foot_h;
|
||||
$fn = 48;
|
||||
total_w = opening_w + 2*post_w; // 92 -> passt auf das 100er Gate-Tile
|
||||
|
||||
module arch() {
|
||||
difference() {
|
||||
// Aussenkontur
|
||||
translate([-total_w/2, 0, 0])
|
||||
cube([total_w, thick, opening_h + top_h]);
|
||||
// Oeffnung
|
||||
translate([-opening_w/2, -0.1, 0])
|
||||
cube([opening_w, thick + 0.2, opening_h]);
|
||||
translate([-total_w/2, 0, 0]) cube([total_w, thick, opening_h + top_h]);
|
||||
translate([-opening_w/2, -0.1, 0]) cube([opening_w, thick + 0.2, opening_h]);
|
||||
}
|
||||
}
|
||||
|
||||
module feet() {
|
||||
for (x = [-1, 1])
|
||||
translate([x*(opening_w/2 + post_w/2) - foot_w/2, -(foot_d-thick)/2, 0])
|
||||
cube([foot_w, foot_d, foot_h]);
|
||||
}
|
||||
|
||||
module stand_spots() {
|
||||
// Flache Standfeld-Markierungen entlang der Vorderkante der Fuesse
|
||||
spacing = (opening_w + post_w) / (spot_count - 1);
|
||||
for (i = [0 : spot_count - 1])
|
||||
translate([-(opening_w + post_w)/2 + i*spacing, foot_d/2 - spot_d, foot_h - spot_depth])
|
||||
cylinder(d = spot_d, h = spot_depth + 0.1);
|
||||
}
|
||||
|
||||
module card_slot() {
|
||||
translate([-card_w/2, thick/2 - card_t/2, opening_h + top_h - card_depth])
|
||||
cube([card_w, card_t, card_depth + 0.1]);
|
||||
}
|
||||
|
||||
module tenons() {
|
||||
// 2 Zapfen unter den Pfosten (links/rechts) zum Einstecken ins SOR-Tile
|
||||
// 2 Zapfen unter den Pfosten -> stecken ins Gate-Tile
|
||||
for (x = [-1, 1])
|
||||
translate([x*tenon_dx, thick/2, -tenon_h])
|
||||
cylinder(d = tenon_d, h = tenon_h + 0.1);
|
||||
}
|
||||
|
||||
// Tor inkl. Kartenschlitz
|
||||
// Bogen inkl. Kartenschlitz
|
||||
difference() {
|
||||
translate([0,0,foot_h]) arch();
|
||||
translate([0,0,foot_h]) card_slot();
|
||||
}
|
||||
// Fuesse + Stecksockel-Zapfen, inkl. Rollen-Standfelder (flache Markierung)
|
||||
difference() {
|
||||
union() { feet(); tenons(); }
|
||||
stand_spots();
|
||||
arch();
|
||||
card_slot();
|
||||
}
|
||||
// Stecksockel-Zapfen
|
||||
tenons();
|
||||
|
||||
echo(total_w = total_w, opening_w = opening_w, tenon_dx = tenon_dx);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue