fff
This commit is contained in:
parent
6376e8365a
commit
9075692196
35 changed files with 39373 additions and 1899 deletions
80
01_3D-Druck/openscad/gate-board-text.scad
Normal file
80
01_3D-Druck/openscad/gate-board-text.scad
Normal file
|
|
@ -0,0 +1,80 @@
|
|||
// Sonderpuck "Entscheidung / Gate" MIT Beschriftung — 1:1 aus Puck_Entscheidung_mit_Text.svg
|
||||
// Gate-Geometrie (ohne Trennlinien) + Wort-im-Kreis (Original-Font als Pfade) um die Mulde,
|
||||
// von der Oberseite graviert (2,5 mm). Farbe Gate-Rot.
|
||||
|
||||
/* [Board] */
|
||||
board_r = 100;
|
||||
base_h = 20;
|
||||
rim_flat = 95;
|
||||
rim_drop = 5;
|
||||
edge_round= 4;
|
||||
|
||||
/* [Mittelmulde + Ring] */
|
||||
chip_d = 50;
|
||||
chip_dep = 2.5;
|
||||
ring_mid = 32;
|
||||
ring_w = 2;
|
||||
ring_dep = 2.5;
|
||||
|
||||
/* [Sockel] */
|
||||
sock_d = 32.6;
|
||||
sock_dep = 2.5;
|
||||
sock_lead = 0.8;
|
||||
|
||||
/* [Kartenschlitz] */
|
||||
slot_cy = 85.4;
|
||||
slot_w = 70; slot_t = 5; slot_depth = 15;
|
||||
|
||||
/* [Schrift] graviert */
|
||||
text_dep = 2.5;
|
||||
|
||||
$fn = 96;
|
||||
|
||||
SOCK = [
|
||||
[ 0.74, -75.00], [ 41.14, -62.58], [ 68.42, -30.30], [ 73.92, 11.60],
|
||||
[ 55.88, 49.83], [ 18.83, 65.37], [-17.91, 65.37], [-57.48, 48.42],
|
||||
[-74.55, 9.76], [-68.02, -31.99], [-39.95, -63.58]
|
||||
];
|
||||
|
||||
module board_blank() {
|
||||
rotate_extrude($fn = 240)
|
||||
offset(r = edge_round) offset(delta = -edge_round)
|
||||
polygon([[0,0], [board_r,0], [board_r, base_h - rim_drop],
|
||||
[rim_flat, base_h], [0, base_h]]);
|
||||
}
|
||||
module chip_well() { translate([0,0,base_h-chip_dep]) cylinder(d=chip_d, h=chip_dep+0.1); }
|
||||
module well_ring() {
|
||||
translate([0,0,base_h-ring_dep]) linear_extrude(ring_dep+0.1)
|
||||
difference() { circle(r=ring_mid+ring_w/2); circle(r=ring_mid-ring_w/2); }
|
||||
}
|
||||
module socket(p) {
|
||||
translate([p[0], p[1], base_h-sock_dep]) {
|
||||
cylinder(d=sock_d, h=sock_dep+0.1);
|
||||
translate([0,0,sock_dep-sock_lead]) cylinder(d1=sock_d, d2=sock_d+2*sock_lead, h=sock_lead+0.1);
|
||||
}
|
||||
}
|
||||
module card_slot() {
|
||||
translate([0, slot_cy, base_h - slot_depth/2])
|
||||
cube([slot_w, slot_t, slot_depth + 0.2], center=true);
|
||||
}
|
||||
|
||||
// SVG-Import: Dokument 200 mm breit, Board-Mitte bei (100,100) -> nach 0/0 schieben.
|
||||
// offset()-Roundtrip (Clipper) raeumt die importierten Pfade auf -> manifold-sicher.
|
||||
module svg2d(file) { translate([-100,-100]) offset(delta=0.02) offset(delta=-0.02) import(file); }
|
||||
module engrave_top(file) {
|
||||
translate([0,0,base_h-text_dep]) linear_extrude(text_dep+0.1) svg2d(file);
|
||||
}
|
||||
|
||||
module gate_board_text() {
|
||||
color("#e2001a")
|
||||
difference() {
|
||||
board_blank();
|
||||
chip_well();
|
||||
well_ring();
|
||||
for (p = SOCK) socket(p); // KEINE Trennlinien (Gate)
|
||||
card_slot();
|
||||
engrave_top("txt_gate.svg"); // Wort im Kreis, von oben graviert
|
||||
}
|
||||
}
|
||||
|
||||
gate_board_text();
|
||||
Loading…
Add table
Add a link
Reference in a new issue