Files
Shopping-Card-Opener/chip.scad
Bernd Mueller 25628aa4a4 first push
2026-04-05 11:08:36 +02:00

77 lines
2.3 KiB
OpenSCAD

// Version 2.2.0
// Changelog:
// 1.9.0: Fix für Mesh-Fehler und Zentrierungs-Offset (Y+2 bei Atari)
// 2.1.0: Multi-Material-Modus für AD5X
// 2.2.0: Optimierung der Logo-Tiefe auf 0.6mm und Finalisierung
$fn = 100;
// --- EXPORT-STEUERUNG ---
// Ändere diesen Wert für den jeweiligen STL-Export:
// "vorschau" -> Zeigt alles farbig an
// "chip" -> Basis mit Aussparungen (Exportieren als chip.stl)
// "atari" -> Nur die Füllung oben (Exportieren als atari.stl)
// "firebee" -> Nur die Füllung unten (Exportieren als firebee.stl)
modus = "vorschau";
// --- Parameter ---
chip_radius = 11.625;
chip_hoehe = 2.4;
logo_tiefe = 0.6;
max_logo_mass = (chip_radius * 2) * 0.75;
// --- Logo Module (2D Definitionen) ---
module logo_atari() {
render()
translate([0, 2, 0]) // Dein manueller Y-Offset
resize([max_logo_mass, max_logo_mass, 0], auto=true) {
offset(delta = 0.01)
import("atari_logo.svg", center = true);
}
}
module logo_firebee() {
render()
mirror([1, 0, 0])
resize([max_logo_mass, max_logo_mass, 0], auto=true) {
offset(delta = 0.01)
import("firebee.svg", center = true);
}
}
// --- Konstruktion ---
// 1. Der Chip-Körper (Die Form mit den "Löchern")
if (modus == "vorschau" || modus == "chip") {
difference() {
color("Grey")
cylinder(h = chip_hoehe, r = chip_radius, center = true);
// Aussparung für Atari oben
translate([0, 0, chip_hoehe/2 - logo_tiefe + 0.01])
linear_extrude(height = logo_tiefe + 0.1, convexity = 10)
logo_atari();
// Aussparung für Firebee unten
translate([0, 0, -chip_hoehe/2 - 0.1])
linear_extrude(height = logo_tiefe + 0.1, convexity = 10)
logo_firebee();
}
}
// 2. Das Atari-Inlay (Die Füllung für oben)
if (modus == "vorschau" || modus == "atari") {
color("Cyan")
translate([0, 0, chip_hoehe/2 - logo_tiefe])
linear_extrude(height = logo_tiefe, convexity = 10)
logo_atari();
}
// 3. Das Firebee-Inlay (Die Füllung für unten)
if (modus == "vorschau" || modus == "firebee") {
color("Orange")
translate([0, 0, -chip_hoehe/2])
linear_extrude(height = logo_tiefe, convexity = 10)
logo_firebee();
}