Communitygithub.com

gift-pcb – Geschenkplatine

Verwende dies, um eine reine Kunst-PCB ohne Schaltung zu erstellen – z. B. Geburtstagskarte, Gedenkplakette, Schulabzeichen, ungewöhnliche Dekoplatte, Anhänger oder Schlüsselanhänger – oder um die visuelle Sprache und Fertigungstechnik (mattschwarzer Lötstopplack + Gold, Webmuster, weisser Siebdruck) einer vorhandenen Referenzplatine exakt nachzubilden, von Null bis zur Bestellung bei JLCPCB / EasyEDA Pro. Auch geeignet zur Fehlersuche, wenn die Nachbildung einer „Gold/Schwarz/Weiss“-Referenz nicht ähnlich aussieht. Nicht geeignet für funktionale Platinen mit Stückliste, Leiterbahnen oder bestückten Bauteilen.

Was ist gift-pcb – Geschenkplatine?

Dieses Skill ermöglicht es, eine PCB zu entwerfen, die ausschliesslich dekorativ ist und keine elektrische Schaltung enthält – ideal für personalisierte Geschenke, Erinnerungsstücke oder Abzeichen. Es führt den Benutzer in einem strukturierten 8-Stufen-Prozess mit strengen Qualitätstoren (Gates) durch die gesamte Erstellung: von der Projektdefinition und Anforderungsanalyse über das Dekodieren von Referenzplatten und das Layout-Design bis hin zur Vektorerstellung, EDA-Umsetzung, 3D-Abnahme und schliesslich der Export- und Bestellvorbereitung. Die Besonderheit liegt in der starken Betonung von Messgenauigkeit, Schicht-für-Schicht-Analyse und der originalgetreuen Nachbildung von Referenzplatten – inklusive einer detaillierten Checkliste für Gold-, Weiss- und Schwarzflächenanteile. Es offeriert zahlreiche Hilfsskripte für automatische Checks (z. B. `14-render3d.py` für 3D-Vorschauen, `13-check.py` für finale Prüfung), eine umfangreiche Datenbank mit häufigen Fehlern sowie Vorlagen für jede Phase. Die Plattformen sind EasyEDA Pro und JLCPCB, wobei die Arbeitsweise stark auf CLI und Skripte (Python, .epcb2-Dateien) setzt.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/YHLLXY/pcb-art-skill/tree/HEAD

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Gedenk-/Deko-Platine (gift-pcb)

Eine PCB, die nur Kunst ist und keine Schaltung enthält. Die Schwierigkeit liegt nicht im Schaltplan, sondern in drei stets übersehenen Dingen: Wie die Referenzplatine wirklich aussieht, aus welchem Material jede Schicht besteht und der Unterschied zwischen „sieht richtig aus“ und „ist richtig gemessen“.

Drei eiserne Regeln

  1. Schichtweise betrachten, nicht das zusammengesetzte Bild. Kupfer unter Lötstopplack ist schwarz; nur „Kupfer + Fensteröffnung“ ergibt Gold.
  2. Messen, nicht schätzen. Jedes „reicht aus“ muss in Millimetern/Pixeln konkret gemessen und in die Antwort geschrieben werden. Geschätzte Werte werden beim dritten Nachbessern entlarvt.
  3. Erst kopieren, dann ändern. Probleme, die in der Referenzplatine oder offiziellen Emblemen bereits gelöst sind, übernimmt man direkt in deren Geometrie – nicht neu erfinden.

Acht Phasen und Tore

PhaseErgebnisTor (ohne Bestehen kein nächster Schritt)
P0 ProjektstartEmpfänger, Masse, Fertigungstechnik, ElementlisteJedes Element muss beantworten: „wohin und wie gross“
P0.5 BedarfsinterviewVerwendungszweck, Anlass, realistisch/dekorativ, Handskizze, BudgetAlle 8 Fragen durchgegangen (siehe 06), insbesondere „Handschrift-Look erwünscht?“
P1 Referenzplatine dekodierenSchicht-für-Schicht-Rendering + Elementliste + Dreifarb-Verhältnistabelle; bei keiner Referenz → Materialsuche① Auf dem Bild zeigen: was ist Kupfer/Gold/Siebdruck/Loch; ② scripts/00-decode_badge.py ausgeführt, liefert Emblem-Prototyp (Linienzeichnung/Scheibe) + Radius + Fläche + dünnster Strich; ③ Referenz-Platine: Gold/Weiss/Schwarz-Werte messen; ④ 07-Checkliste mit 10 Punkten ausgefüllt (jeweils mit Messwert + Entscheidung „übernehmen oder nicht“ per User)
P2 LayoutVorder-/Rückseiten-MockupUser bestätigt Layout; Hinweis: „Vorab-Rendering nicht endgültig“
P3 Vektorisierung & FertigbarkeitVektoren für Emblem/Text, Linienbreitentabelle, GoldflächenbudgetMinimale Linienbreite ≥ Fertigungsgrenze; Gold 12–24 %, Weiss ≥0,3 %, Matt-Schwarz 65–85 %
P4 EDA-UmsetzungProjekt + Platine + sämtliche SchichtgrafikenNach jedem Speichern Rücklesen: Anzahl Grafikelemente stimmt mit Plan überein
P4.5 3D-AbnahmeVorder-/Rückseiten-3D-Bild via scripts/14-render3d.py + schrittweise User-Prüfung (C1: Defekte / C2: Ästhetik / C3: fehlende Elemente)User sagt „okay“ – mindestens 1 Runde, ideal 2 Runden; ohne Zustimmung kein Bestellpaket
P5 Export-PrüfungGerber-Paket + Bestellpaketscripts/13-check.py komplett grün (inkl. Gold/Weiss/Schwarz-Verhältnisse) + mindestens eine Detailansicht mit ≥60 px/mm (mit blossem Auge)

P0.5 und P4.5 sind die beiden am leichtesten übersprungenen und zugleich teuersten Tore. Ersteres entscheidet, ob das Richtige gemacht wurde, letzteres, ob der User es akzeptiert.

Direktlinks

Was du tun willstLies dies
Vor Arbeitsbeginn: Fragen an den User, 3D-Abnahme, Goldflächenberechnungreferences/06-Anforderungsinterview&Abnahme.md
Gerber einer Referenzplatine öffnen, jede Schicht bestimmenreferences/01-Referenzplatine-dekodieren.md
Linienbreite, Maschinenfähigkeit, Bitmap-zu-Vektor, Scanlinien-Präzision, Webmuster-Parameterreferences/02-Fertigbarkeit&Vektor.md
Webmuster aufbringen (Muster der Referenzplatine nachbilden)scripts/15-weave.py (--extract extrahiert Tabelle aus beliebiger Referenz)
Was von der Referenzplatine Punkt für Punkt übernehmen (Goldband/Lochgruppe/Beschnitt/Siebdruckebenen …)references/07-Was-von-der-Referenz-uebernehmen.md
Zu wenig Material, Online-Bildersuche nötigreferences/08-Materialbeschaffungsplan.md + scripts/17-crawl_assets.py
Welche von vielen Bildern auf die Platine passenscripts/18-filter_assets.py (erzeugt Bildwand, Mensch wählt aus)
Vor Arbeitsbeginn: Fragen an den User (ausfüllbare Vorlage)templates/Fragebogen.md
Unklar, wie Layout angeordnet wirdtemplates/layouts/ (drei Vorlagen + 24 px/mm Beispiel)
Spezifikation zuerst ansehen (ohne EDA zu öffnen)scripts/20-preview_spec.py
CLI/JS-Aufrufe für EasyEDA Proreferences/03-EDA-Umsetzung.md
Grafikelemente nicht einzeln per Befehl hinzufügen (direkt .epcb2 schreiben)references/03-EDA-Umsetzung.md Abschnitt 8
Emblem ist Vollflächenfarbe + weisser Hohltext (Scheibentyp)references/02-Fertigbarkeit&Vektor.md „Zwei Emblem-Prototypen“
3D-Vorschau für User-Abnahme erzeugenscripts/14-render3d.py
Irgendein Schritt „sieht komisch aus“ – zuerst Fehlerhistorie prüfenreferences/04-Fehlerhistorie.md (118 Einträge, Abschnitte A–R)
Bestellpaket schnüren, prüfen ob es dem abgenommenen entsprichtscripts/19-pack_order.py (MANIFEST + --verify)
Nach Skriptänderung: Prüfen ob Platine noch korrektpython -m pytest tests -q
Schriftart wechseln / läuft auf anderem Rechner nichtreferences/02-Fertigbarkeit&Vektor.md „Schriftarten“
Material suchen, ähnliche Skills anderer ansehenreferences/05-Referenzmaterial.md

Vor P4-Beginn: Zuerst references/03 lesen. Der teuerste Fehler war, aus dem Gedächtnis die Parameterreihenfolge von create() zu raten – während die korrekte Signatur die ganze Zeit in der eigenen 03 stand.

Die 13 teuersten Regeln (vollständige Liste in 04)

  1. Gold = Kupfer + Fensteröffnung; beide Schichten zwingend; Gold 12–24 % (gleich grosse Referenzplatine: 22,0 %, gemessen mit 13-check, siehe 02 „zwei Messmethoden“). Unter 8 % ist es eine leere Platine, über 26 % Vollflächen-Gold.
  2. Emblem zuerst den Prototyp bestimmen, dann zeichnen: Linientyp → gesamtes Emblem nachzeichnen; Scheibentyp (Vollfläche + weisser Hohltext) → Vollflächenscheibe + Text als schwarze Aussparung. Falscher Prototyp → Text wird ausgefranst (so wurde v3 unbrauchbar).
  3. Komplexe Schriftzeichen nicht mit Polygon-Booleschen Operationen bearbeiten; Rasterisierung + 0,06 mm Scanlinien; aber lateinische Buchstaben/Ziffern bevorzugt als Textobjekt (Vektor) – Scanlinien nur für chinesische Schriftzeichen, Handschrift und Grafiken.
  4. Hintergrundtextur muss beschnitten werden (an den abgerundeten Ecken mit Kreis schneiden), nicht einfach überstehende Linienstücke wegwerfen – sonst entsteht rund um die Platte eine gezackte Kante.
  5. Wenn Hintergrundtextur in derselben Schicht liegt, muss jede Bbox-Filterbedingung zusätzlich eine Dimensions-Signatur enthalten, sonst wird die Textur mitgelöscht.
  6. Batch-Schreibvorgänge: ≤600 pro Batch, Pause zwischen Batches, Wiederholung bei Fehlern, am Ende nach Koordinaten deduplizieren; setState_* speichert nicht auf die Festplatte – für Geometrieänderungen nur modify() verwenden.
  7. Die drei Rückseitenschichten (2/4/6) müssen alle gespiegelt erzeugt werden; der untere Siebdruck ist Schicht 4, nicht 3.
  8. Wenn der User sagt „sieht nicht ähnlich aus“, liegt das Problem fast immer im Regelwerk (Anordnung, Proportionen, Ebenen), nicht in den Parametern. Die Referenzplatine in Zahlen ausdrücken, nicht Werte herumdrehen.
  9. Nach dem Schreiben einer .epcb2-Datei muss session close --destroy und dann open ausgeführt werden – der Editor lädt Änderungen von der Festplatte nicht automatisch neu; der Export würde alte Grafiken verwenden (Regel 109).
  10. Die gesamte Platine kann direkt als .epcb2-Text geschrieben werden (eine JSON-Zeile pro Element, eine FILL pro Pfad) – das ist um Grössenordnungen schneller als CLI-Batch-Injektion; aber Rückseitentexte dürfen nicht mit mirror:true gespiegelt werden, sondern die Geometrie muss tatsächlich gespiegelt werden.
  11. Kreise immer mit path:["CIRCLE",cx,cy,r] + Breite – Scanlinien-Kreise erzeugen mit benachbarten Buchstaben gezackte Lücken.
  12. „Alles kopieren, was geht“ – aber kopiere Zahlen, nicht Eindrücke. Das Goldband am Platinenrand liegt auf dem Platinenumriss (sichtbare Breite = Linienbreite/2), die Lochgruppe mit den φ0,3 mm-Löchern, Grafik ragt über die Platte hinaus, drei Siebdruckzeilen mit drei verschiedenen Schriftarten, die untere Querlinie – jeden Punkt messen und in die 07-Tabelle eintragen, User entscheidet, ob übernommen wird.
  13. Selbstprüfung muss „Skript erzeugt Tabelle + eine Detailansicht mit ≥60 px/mm“ sein – 20 px/mm sieht einen 0,06 mm-Fehler nicht; ihn zu sehen und trotzdem „akzeptabel“ zu schreiben ist schlimmer als ihn nicht zu sehen. Webmuster separat: mindestens 80 px/mm auf einem 12×12 mm-Ausschnitt – im zusammengesetzten Bild sieht es immer nur wie „ein Grau“ aus.

Liefergegenstände (jede endgültige Fassung muss enthalten)

  • export/<name>_gerber_<datum>_v<n>.zip
  • preview/board-gerber<n>.png: Vorder-/Rückseite jeweils aus Gerber gerastert und zusammengesetzt, kein EDA-Screenshot
  • preview/v<n>_front3d.png / v<n>_back3d.png: die von 14-render3d.py erzeugte pseudo-3D-Ansicht (Mattschwarz-Relief + Goldreflexion) für die P4.5-Abnahme durch den User
  • docs/03-AktuellerStand.md: Schichtstatistiken, Geometrieparameter, festgelegte sowie offene Punkte
  • docs/Abnahmeprotokoll.md: von 13-check.py --md erzeugte Messtabelle + die 14 P4.5-Prüfpunkte (ein Protokoll pro Platine, nicht mündlich abfragen)
  • Bestellpaket: Gerber + Vorschaubilder + EDA-Quelldatei + Bestellanweisung.txt (mit Messdaten und bekannten Risiken) + MANIFEST.txt (scripts/19-pack_order.py erzeugt sha256; nach Entpacken mit --verify prüfen, dass es identisch ist, erst dann bestellen)

Selbstprüfung (vor jeder Lieferung zwingend)

  1. scripts/13-check.py ausführen – alles grün, sonst nicht weitermachen (Masse, Goldfläche, minimale Linienbreite, minimaler Siebdruck, weisser Siebdruck, Mattschwarz, Bohrlöcher, Grafikanzahl, Ringabdeckung). Bei Platinen mit Webmuster muss --weave hinzugefügt werden: Die 2 mm-Einheitenausrichtung Zelle für Zelle mit der Referenzmustertabelle vergleichen; Übereinstimmung ≥90 % = korrekt übernommen. Gleichzeitig --md docs/Abnahmeprotokoll.md nutzen, um die Zahlen und die 14 P4.5-Punkte in einer Datei zu vereinen.
  2. Eine Detailansicht mit ≥60 px/mm erzeugen, drei Stellen fix prüfen: Emblem, Haupttext, eine Ecke der Platine.
  3. Die Zahlen aus den beiden obigen Schritten in die Antwort schreiben – nicht „habe ich gesehen“.
  4. Defekte entdeckt: Zuerst reparieren, dann entscheiden ob „akzeptabel“ – „akzeptabel“ ist kein Reparaturplan.
  5. Das P4.5-3D-Bild muss dem User tatsächlich gezeigt werden (Vorderseite + Rückseite), nicht nur heissen „es wurde gerendert“.

Verwandte Skills