CommunityCodierung & Entwicklunggithub.com

markwkiehl/fritzing

Erstelle, überprüfe und bearbeite Fritzing-Skizzen (.fzz- und .fz-Dateien) mit Code. Ermöglicht die Breadboard-, Schaltplan- und PCB-Ansichten aus einer einzigen Netzliste, fügt benutzerdefinierte Bauteile (.fzp- und SVG-Dateien) hinzu und bestätigt, dass die Datei geladen werden kann, indem SVG-Dateien exportiert und die Datei im echten Fritzing-Fenster geöffnet wird.

Was ist fritzing?

Diese Fähigkeit ermöglicht es KI-Agenten, Fritzing-Skizzen programmatisch zu erstellen, zu validieren und zu bearbeiten – ideal für Entwickler, die Schaltungen auf einem Breadboard, als Schaltplan oder als PCB-Layout automatisiert generieren möchten. Sie unterstützt die Arbeit mit .fzz-, .fz-, .fzp- und .fzpz-Dateien sowie das Hinzufügen eigener Bauteile. Die Fähigkeit enthält zwei funktionsfähige Generatoren, einen Teilprüfer, einen Export-Checker und ein Fenster-Screenshot-Tool für Windows. Der Workflow umfasst das Auffinden der Fritzing-Installation, das Prüfen aller benötigten Teile auf fehlende Bilddateien, das Erstellen der Skizze aus einer Netzliste und die mehrstufige Validierung (SVG-Export, Fenster-Screenshots, Design-Rule-Check). Die Dokumentation warnt vor häufigen Fehlern (z. B. fehlende SVG-Gruppen, falsche Skalierungen, nicht verbundene Leitungen) und gibt konkrete Korrekturen. Getestet unter Windows 11 mit Fritzing 1.0.x; macOS und Linux sind nicht getestet.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
Part ofMobile
npx skills add https://github.com/markwkiehl/medium_claude_fritzing/tree/HEAD/skills/fritzing

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

Fritzing-Skizzen aus Code

Was diese Fähigkeit bietet

  • Eine Methode, um aus einer Netzliste (einer Liste, welche Pins miteinander verbunden sind) eine .fzz-Datei mit drei Ansichten zu erstellen: Breadboard, Schaltplan und PCB.
  • Zwei funktionsfähige Generatoren. Kopiere einen und ändere die Bauteile und Netze.
    • scripts/build_fzz_battery_led.py verwendet nur Teile, die mit Fritzing ausgeliefert werden: einen Batteriehalter, einen Taster, einen Widerstand und eine LED. Starte hier.
    • scripts/build_fzz_header_led.py zeigt, wie ein benutzerdefiniertes Bauteil (eine .fzp-Datei und vier SVG-Dateien) in die Skizze geschrieben wird.
  • Ein Teileprüfer, scripts/check_core_part.py. Er zeigt an, ob ein Kernbauteil alle seine Bilddateien besitzt.
  • Ein kopfloser Prüfer, scripts/fritzing_export.py. Er lädt eine Skizze in Fritzing und schreibt die drei Ansichten als SVG-Dateien.
  • Ein Fensterprüfer, scripts/fritzing_gui_shot.ps1 (Windows). Er macht einen Screenshot des Fritzing-Fensters, sodass die Statusleiste lesbar ist.
  • Die Dateiformat-Fakten in references/fz-file-format.md. Lese sie, bevor du irgendein .fz-XML schreibst.

Was getestet wurde

  • Getestet: Windows 11 mit Fritzing 1.0.x, installiert in C:\Program Files\Fritzing. Beide Beispielskizzen in examples/ werden gebaut, nach SVG exportiert, im Fritzing-Fenster geöffnet (mit „Routing completed“ in allen drei Ansichten) und bestehen den PCB-Design-Rule-Check. Dies wurde am 07.11.2026 überprüft.
  • Nicht getestet: macOS, Linux, andere Fritzing-Versionen als 1.0.x, automatisches Verlegen und Schaltungen mit mehr als einigen wenigen Bauteilen.

Regeln für Claude

  • Rate niemals die Pins eines Bauteils. Lese seine .fzp-Datei und notiere seine Anschlüsse. Vergleiche sie mit der Netzliste, bevor du baust.
  • Überprüfe jedes Kernbauteil mit scripts/check_core_part.py, bevor du es verwendest. Ein Bauteil, dessen Bilddateien fehlen, zeichnet leer.
  • Lade keine Datei ohne die Zustimmung des Benutzers herunter, es sei denn, er hat dir den Link gegeben. Nenne den Dateinamen, die Quelle und die Größe. Lege jeden Download in einen eigenen neuen, leeren Ordner. Führe nichts daraus aus.
  • Sage nicht, dass eine Skizze „funktioniert“, nur weil der Generator lief. Fritzing muss sie laden, und jede Ansicht muss jedes Bauteil zeigen. Sage, was du nicht überprüft hast.
  • Die letzte Prüfung ist eine menschliche: Die Person öffnet die Datei im Fritzing-Fenster und sagt, was sie sieht. Korrigiere den Generator, nicht die Datei von Hand.
  • Schreibe jedes Mal den vollständigen Namen jeder Datei und jedes Bauteils.

Arbeitsablauf

Finde Fritzing und seine Teilebibliothek

  • Windows (getestet): Fritzing befindet sich unter C:\Program Files\Fritzing\Fritzing.exe. Die Teilebibliothek ist C:\Program Files\Fritzing\fritzing-parts. Die Beispielskizzen liegen in C:\Program Files\Fritzing\sketches\core. Lese sie, um das genaue XML zu kopieren, das Fritzing schreibt.
  • Linux (nicht für dieses Repository getestet): Ein Fritzing-AppImage kann mit der Option --appimage-extract in einen neuen, leeren Ordner entpackt werden. Die Teilebibliothek ist dann squashfs-root/fritzing-parts.
  • macOS (nicht getestet): Die Teilebibliothek befindet sich innerhalb der Fritzing-Anwendung. Suche nach einem Ordner namens fritzing-parts.
  • Die Skripte lesen die Teilebibliothek aus der eigenen Fritzing-Installation des Benutzers. Setze die Umgebungsvariable FRITZING_PARTS auf diesen Ordner.

Überprüfe die Bauteile

  • Liste die benötigten Bauteile auf und suche jedes einzelne: python scripts\check_core_part.py "C:\Program Files\Fritzing\fritzing-parts" <Bauteilenname>. Füge --all battery hinzu, um alle Kernbauteile aufzulisten, die „battery“ im Titel haben.
  • Es gibt OK oder MISSING für jedes Bauteil aus, die Anzahl der Anschlüsse und die Modul-ID. Ein Bauteil, das MISSING anzeigt, zeichnet in der Ansicht, deren Bilddatei fehlt, leer.
  • Beispiel aus der Testinstallation vom 07.11.2026: Das Kernbauteil screw_terminal_2_100mil hat keine Schaltplan- und PCB-Bilder, und das Kernbauteil Battery block 9V hat keinen PCB-Footprint (jumper_2_100mil_pcb.svg). Das Kernbauteil 4 x AAA Battery Mount ist vollständig.
  • Wenn kein Kernbauteil passt, zeichne eines. scripts/build_fzz_header_led.py enthält ein Beispiel: eine .fzp-Datei und vier SVG-Dateien.
  • Wenn einem Bauteil aus einer anderen Quelle ein Pin fehlt, kopiere das Bauteil, gib ihm eine neue moduleId und füge den Anschluss hinzu. Füge den Pin zum Breadboard-SVG, zum Schaltplan-SVG und zum PCB-SVG hinzu.

Erstellen

  • Kopiere scripts/build_fzz_battery_led.py. Ändere die Bauteile, die Lochbezeichnungen, die Koordinaten und die Netze.
  • Schreibe die Netze als eine Liste von Mitgliedern. Das Skript prüft seine eigene Verdrahtung anhand dieser Liste in allen drei Ansichten und überprüft den PCB-Leiterbahnabstand.
  • Wähle zuerst das Breadboard-Layout, dann den Schaltplan, dann das PCB. Verwende references/fz-file-format.md für Lochbezeichnungen, Maßstäbe, Ebenennamen und Transformationen.
  • Für ein Bauteil mit bieg- oder knickbaren Beinen kopiere das Bein-XML aus einer Fritzing-Beispielskizze. Rate es nicht (siehe „Was bisher schiefging“).

Überprüfen

  • Führe python scripts\fritzing_export.py "C:\Program Files\Fritzing\Fritzing.exe" <skizze.fzz> <neuer leerer Ordner> aus. Lese jede ausgegebene Zeile. Es schreibt <name>_breadboard.svg, <name>_schematic.svg und <name>_pcb.svg.
  • Betrachte die SVG-Dateien als Bilder. Ein Weg unter Windows: Schreibe eine HTML-Seite, die ein <img> der SVG-Datei enthält, führe dann msedge.exe --headless --window-size=W,H --screenshot=<ausgabe.png> file:///<seite.html> aus. Lese das PNG. Der Export zeigt nur Kupfer, nicht die Siebdruckumrisse. Für ein PCB-Bild mit den Umrissen mache einen Screenshot der PCB-Ansicht im Fritzing-Fenster mit scripts\fritzing_gui_shot.ps1 und schneide die Platine aus (die PCB-Bilder in examples/ wurden so erstellt).
  • Überprüfe für jedes Bauteil drei Dinge: Es wird gezeichnet, seine Pins sitzen auf den Löchern und jedes Drahtende berührt einen Pin.
  • Der SVG-Export zeichnet keine Ratsnest-Linien (die dünnen Linien, die unverlegte Verbindungen anzeigen). Er kann also nicht beweisen, dass Fritzing die Verbindungen registriert hat. Öffne die Skizze im Fritzing-Fenster.
  • Windows, im echten Fritzing-Fenster:
    • Starte Fritzing.exe "<skizze.fzz>" mit Start-Process. Warte 25 Sekunden.
    • Führe scripts\fritzing_gui_shot.ps1 -Out <png> für die aktuelle Ansicht aus, dann mit -Keys "^3" für die Schaltplanansicht und -Keys "^4" für die PCB-Ansicht. Lese jedes PNG.
    • Suche in der Statusleiste jeder Ansicht nach „Routing completed“ und nach grünen Anschlusspunkten.
    • Für den Design-Rule-Check führe das Skript mit -Keys "^+d" -Wait 5 in der PCB-Ansicht aus. Eine saubere Skizze zeigt: „Your sketch is ready for production: there are no connectors or traces that overlap or are too close together.“
    • Schließe den Dialog und führe Stop-Process -Name Fritzing aus.

Bericht

  • Sage, was du überprüft hast und wie. Sage, was du nicht überprüft hast. Nenne die Dateien, die du geschrieben hast, mit vollständigen Pfaden.
  • Sage dem Benutzer, wie er die Datei öffnen kann: in Fritzing, Datei → Öffnen.

Was bisher schiefging

  • Die Bilddateien eines Kernbauteils fehlen in der Installation. Das Bauteil zeichnet leer. Führe scripts/check_core_part.py aus, bevor du ein Bauteil verwendest.
  • Ein Bauteil zeichnet leer. Fritzing 1.0.x zeichnet nichts, wenn ein Breadboard-SVG keine <g id="breadboard">-Gruppe hat. Wickle den gesamten Inhalt in diese Gruppe ein.
  • Ein Drahtende sieht richtig aus, ist aber nicht verbunden. Die .fz-Datei muss jede Verbindung in beiden Elementen auflisten. Schreibe einen link()-Aufruf pro Paar und gib beide Seiten aus.
  • Ein Bauteil mit bieg- oder knickbaren Beinen (LED, Widerstand, Diode, Batteriehalter). In der .fz-Datei ist die Anschlussposition <geometry x y> das körpernahe Ende der Beinlinie im SVG, multipliziert mit dem Maßstab. Der zweite Punkt von <leg> ist die Spitze, relativ zu diesem Punkt. Für die 5 mm-LED beträgt der Spitzenversatz (0, 30.5172). Für den Batteriehalter beträgt er (6.25, 0). Fritzing-eigene Beispielskizzen zeigen dies.
  • Falscher Maßstab. Eine Szeneneinheit ist 1/90 Zoll. Ein SVG mit in-Einheiten skaliert mit 90 × Breite_in / viewBox_Breite. Ein Illustrator-SVG mit einfachen px-Einheiten zählt als 72 dpi, daher mit 1,25 multiplizieren.
  • Ein Schaltplan-Anschluss wird nicht gefunden. Einige Schaltplan-SVG-Dateien verstecken den Anschluss in einem <g>-Element, und einige haben überhaupt keinen Anschluss. Lese die SVG-Datei und nimm das äußere Ende der Pin-Linie. Das Schaltplan-SVG led.svg hat seine Anschlüsse bei (9,9005, 21,8165) für die Kathode und (9,9005, 0,2165) für die Anode, bei 72 dpi.
  • Ein gedrehtes Bauteil landet nicht auf seinen Löchern. Verwende die Transformationsformeln in der Referenzdatei. Platziere ein Bauteil anhand der Position eines Pins, nicht anhand seiner Ecke.
  • Leiterbahnen kreuzen sich. Lege die beiden Leiterbahnen auf verschiedene Ebenen. Durchkontaktierte Pads verbinden beide Ebenen, daher wird keine Via benötigt.
  • Python. Die Skripte verwenden nur die Standardbibliothek. Sie benötigen kein installiertes Paket.

Dateien in dieser Fähigkeit

  • SKILL.md: diese Datei.
  • references/fz-file-format.md: das .fzz- und .fz-Format mit XML-Beispielen, Maßstäben, Ebenennamen und Formeln.
  • scripts/build_fzz_battery_led.py: Generator nur mit Kernbauteilen (Batteriehalter, Taster, Widerstand, LED).
  • scripts/build_fzz_header_led.py: Generator, der auch ein benutzerdefiniertes Bauteil (einen 2-poligen Stecker) schreibt.
  • scripts/check_core_part.py: prüft, ob ein Kernbauteil alle seine Bilddateien hat.
  • scripts/fritzing_export.py: der kopflose Lade-und-Export-Prüfer.
  • scripts/fritzing_gui_shot.ps1: aktiviert das Fritzing-Fenster, kann Tasten senden und speichert einen Screenshot (Windows).
  • examples/battery_led.fzz und examples/header_led.fzz: die Skizzen, die die beiden Generatoren geschrieben haben, mit einem Bild jeder Ansicht.

Verwandte Skills