markwkiehl/fritzing

Construisez, vérifiez et modifiez des croquis Fritzing (.fzz et .fz) avec du code. Créez les vues plaque d'essai, schématique et PCB à partir d'une seule liste de connexions, ajoutez des composants personnalisés (.fzp et fichiers SVG), et prouvez que le fichier se charge en exportant des fichiers SVG et en l'ouvrant dans la fenêtre réelle de Fritzing.

Qu'est-ce que fritzing ?

Cette compétence permet aux agents AI de générer et valider automatiquement des fichiers Fritzing (.fzz) à partir d'une simple liste de connexions (netlist). Elle offre deux générateurs prêts à l'emploi (composants de base ou personnalisés), des scripts de vérification pour s'assurer que les composants principaux possèdent toutes leurs images et que le fichier se charge correctement dans Fritzing (export SVG et capture d'écran). Elle inclut également des informations détaillées sur le format de fichier .fz pour éviter les erreurs courantes. La compétence est testée sur Windows 11 avec Fritzing 1.0.x, mais fournit des instructions pour macOS et Linux. Elle est idéale pour les développeurs qui souhaitent automatiser la création de circuits électroniques avec Fritzing.

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

Installed? Explore more Développement et programmation skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Croquis Fritzing à partir du code

Ce que cette compétence vous apporte

  • Une méthode pour transformer une liste de connexions (une liste des broches connectées entre elles) en un fichier .fzz avec trois vues : plaque d'essai, schématique et PCB.
  • Deux générateurs fonctionnels. Copiez-en un et modifiez les composants et les connexions.
    • scripts/build_fzz_battery_led.py utilise uniquement des composants livrés avec Fritzing : un support de pile, un bouton poussoir, une résistance et une LED. Commencez ici.
    • scripts/build_fzz_header_led.py montre comment écrire un composant personnalisé (un fichier .fzp et quatre fichiers SVG) dans le croquis.
  • Un vérificateur de composants, scripts/check_core_part.py. Il vous indique si un composant principal possède tous ses fichiers image.
  • Un vérificateur sans tête, scripts/fritzing_export.py. Il charge un croquis dans Fritzing et écrit les trois vues en tant que fichiers SVG.
  • Un vérificateur de fenêtre, scripts/fritzing_gui_shot.ps1 (Windows). Il prend une capture d'écran de la fenêtre Fritzing pour que vous puissiez lire la barre d'état.
  • Les faits sur le format de fichier dans references/fz-file-format.md. Lisez-le avant d'écrire du XML .fz.

Ce qui a été testé

  • Testé : Windows 11 avec Fritzing 1.0.x, installé dans C:\Program Files\Fritzing. Les deux exemples de croquis dans examples/ se construisent, exportent en SVG, s'ouvrent dans la fenêtre Fritzing avec "Routage terminé" dans les trois vues, et réussissent la vérification des règles de conception PCB. Vérifié le 2026-11-07.
  • Non testé : macOS, Linux, versions de Fritzing autres que 1.0.x, routage automatique, et circuits avec plus de quelques composants.

Règles pour Claude

  • Ne devinez pas les broches d'un composant. Lisez son fichier .fzp et listez ses connecteurs. Comparez-les avec la liste de connexions avant de construire.
  • Vérifiez chaque composant principal avec scripts/check_core_part.py avant de l'utiliser. Un composant dont les fichiers image sont manquants s'affiche vide.
  • Ne téléchargez pas de fichier sans l'accord de l'utilisateur, à moins qu'il ne vous ait donné le lien. Dites le nom du fichier, la source et la taille. Placez chaque téléchargement dans son propre nouveau dossier vide. N'exécutez rien depuis celui-ci.
  • Ne dites pas qu'un croquis "fonctionne" parce que le générateur a fonctionné. Fritzing doit le charger, et chaque vue doit afficher chaque composant. Dites ce que vous n'avez pas vérifié.
  • La dernière vérification est celle d'une personne : elle ouvre le fichier dans la fenêtre Fritzing et dit ce qu'elle voit. Corrigez le générateur, pas le fichier à la main.
  • Écrivez le nom complet de chaque fichier et composant à chaque fois.

Flux de travail

Trouver Fritzing et sa bibliothèque de composants

  • Windows (testé) : Fritzing se trouve dans C:\Program Files\Fritzing\Fritzing.exe. La bibliothèque de composants est C:\Program Files\Fritzing\fritzing-parts. Les exemples de croquis se trouvent dans C:\Program Files\Fritzing\sketches\core. Lisez-les pour copier le XML exact que Fritzing écrit.
  • Linux (non testé pour ce dépôt) : une AppImage Fritzing peut être décompressée avec son option --appimage-extract dans un nouveau dossier vide. La bibliothèque de composants est alors squashfs-root/fritzing-parts.
  • macOS (non testé) : la bibliothèque de composants se trouve à l'intérieur de l'application Fritzing. Cherchez un dossier nommé fritzing-parts.
  • Les scripts lisent la bibliothèque de composants depuis l'installation de Fritzing de l'utilisateur. Définissez la variable d'environnement FRITZING_PARTS à ce dossier.

Vérifier les composants

  • Listez les composants dont vous avez besoin et recherchez chacun d'eux : python scripts\check_core_part.py "C:\Program Files\Fritzing\fritzing-parts" <nom du composant>. Ajoutez --all battery pour lister chaque composant principal avec "battery" dans son titre.
  • Il imprime OK ou MISSING pour chaque composant, le nombre de connecteurs et l'identifiant du module. Un composant qui affiche MISSING s'affiche vide dans la vue dont le fichier image est manquant.
  • Exemple de l'installation de test du 2026-11-07 : le composant principal screw_terminal_2_100mil manque de ses images schématiques et PCB, et le composant principal Battery block 9V manque de son empreinte PCB (jumper_2_100mil_pcb.svg). Le composant principal 4 x AAA Battery Mount est complet.
  • Si aucun composant principal ne convient, dessinez-en un. scripts/build_fzz_header_led.py contient un exemple : un fichier .fzp et quatre fichiers SVG.
  • Si un composant provenant d'une autre source manque d'une broche, copiez le composant, donnez-lui un nouveau moduleId, et ajoutez le connecteur. Ajoutez la broche au SVG de la plaque d'essai, au SVG du schéma et au SVG du PCB.

Construire

  • Copiez scripts/build_fzz_battery_led.py. Modifiez les composants, les noms des trous, les coordonnées et les connexions.
  • Écrivez les connexions comme une liste de membres. Le script vérifie son propre câblage par rapport à cette liste dans les trois vues, et vérifie l'espacement des pistes PCB.
  • Choisissez d'abord la disposition de la plaque d'essai, puis le schéma, puis le PCB. Utilisez references/fz-file-format.md pour les noms des trous, les échelles, les noms de couches et les transformations.
  • Pour un composant avec des pattes pliables, copiez le XML des pattes d'un croquis d'exemple Fritzing. Ne le devinez pas (voir "Choses qui ont mal tourné avant").

Vérifier

  • Exécutez python scripts\fritzing_export.py "C:\Program Files\Fritzing\Fritzing.exe" <sketch.fzz> <nouveau dossier vide>. Lisez chaque ligne qu'il imprime. Il écrit <nom>_breadboard.svg, <nom>_schematic.svg et <nom>_pcb.svg.
  • Regardez les fichiers SVG comme des images. Une façon sous Windows : écrivez une page HTML qui contient une balise <img> du fichier SVG, puis exécutez msedge.exe --headless --window-size=W,H --screenshot=<out.png> file:///<page.html>. Lisez le PNG. L'export montre uniquement le cuivre, pas les contours de sérigraphie. Pour une image PCB avec les contours, capturez la vue PCB dans la fenêtre Fritzing avec scripts\fritzing_gui_shot.ps1 et recadrez la carte (les images PCB dans examples/ ont été faites de cette façon).
  • Pour chaque composant, vérifiez trois choses : il est dessiné, ses broches reposent sur les trous, et chaque extrémité de fil touche une broche.
  • L'export SVG ne dessine pas les lignes de ratsnest (les lignes fines qui montrent les connexions non routées). Il ne peut donc pas prouver que Fritzing a enregistré les connexions. Ouvrez le croquis dans la fenêtre Fritzing.
  • Windows, dans la fenêtre réelle de Fritzing :
    • Démarrez Fritzing.exe "<sketch.fzz>" avec Start-Process. Attendez 25 secondes.
    • Exécutez scripts\fritzing_gui_shot.ps1 -Out <png> pour la vue actuelle, puis avec -Keys "^3" pour la vue schématique et -Keys "^4" pour la vue PCB. Lisez chaque PNG.
    • Cherchez "Routage terminé" dans la barre d'état de chaque vue, et des points de connecteur verts.
    • Pour la vérification des règles de conception, exécutez le script avec -Keys "^+d" -Wait 5 dans la vue PCB. Un croquis propre affiche "Votre croquis est prêt pour la production : il n'y a pas de connecteurs ou de pistes qui se chevauchent ou sont trop proches."
    • Fermez la boîte de dialogue et exécutez Stop-Process -Name Fritzing.

Rapporter

  • Dites ce que vous avez vérifié et comment. Dites ce que vous n'avez pas vérifié. Nommez les fichiers que vous avez écrits avec des chemins complets.
  • Dites à l'utilisateur comment ouvrir le fichier : dans Fritzing, Fichier → Ouvrir.

Choses qui ont mal tourné avant

  • Les fichiers image d'un composant principal manquent de l'installation. Le composant s'affiche vide. Exécutez scripts/check_core_part.py avant d'utiliser un composant.
  • Un composant s'affiche vide. Fritzing 1.0.x n'affiche rien lorsqu'un SVG de plaque d'essai n'a pas de groupe <g id="breadboard">. Enveloppez tout le contenu dans ce groupe.
  • Une extrémité de fil a l'air correcte mais n'est pas connectée. Le fichier .fz doit lister chaque connexion dans les deux éléments. Écrivez un appel link() par paire et émettez les deux côtés.
  • Un composant avec des pattes pliables (LED, résistance, diode, support de pile). Dans le fichier .fz, le <geometry x y> du connecteur est l'extrémité côté corps de la ligne de patte dans le SVG, multipliée par l'échelle. Le deuxième point <leg> est la pointe, relative à ce point. Pour la LED de 5 mm, le décalage de la pointe est (0, 30.5172). Pour le support de pile, il est (6.25, 0). Les exemples de croquis de Fritzing le montrent.
  • Mauvaise échelle. Une unité de scène vaut 1/90 pouce. Un SVG avec des unités in est mis à l'échelle par 90 × largeur_in / largeur_viewBox. Un SVG Illustrator avec des unités px simples compte pour 72 ppp, donc multipliez par 1.25.
  • Une borne schématique n'est pas trouvée. Certains fichiers SVG schématiques cachent la borne à l'intérieur d'un élément <g>, et certains n'ont pas de borne du tout. Lisez le fichier SVG et prenez l'extrémité extérieure de la ligne de broche. Le SVG de la LED led.svg a ses bornes à (9.9005, 21.8165) pour la cathode et (9.9005, 0.2165) pour l'anode, à 72 ppp.
  • Un composant tourné atterrit en dehors de ses trous. Utilisez les formules de transformation dans le fichier de référence. Placez un composant par la position d'une broche, pas par son coin.
  • Les pistes se croisent. Placez les deux pistes sur des couches différentes. Les trous traversants relient les deux couches, donc aucune via n'est nécessaire.
  • Python. Les scripts utilisent uniquement la bibliothèque standard. Ils n'ont besoin d'aucun paquet installé.

Fichiers dans cette compétence

  • SKILL.md : ce fichier.
  • references/fz-file-format.md : le format .fzz et .fz, avec des exemples XML, des échelles, des noms de couches et des formules.
  • scripts/build_fzz_battery_led.py : générateur avec uniquement des composants principaux (support de pile, bouton poussoir, résistance, LED).
  • scripts/build_fzz_header_led.py : générateur qui écrit également un composant personnalisé (un en-tête à 2 broches).
  • scripts/check_core_part.py : vérifie qu'un composant principal possède tous ses fichiers image.
  • scripts/fritzing_export.py : la vérification de chargement et d'export sans tête.
  • scripts/fritzing_gui_shot.ps1 : active la fenêtre Fritzing, peut envoyer des touches et enregistre une capture d'écran (Windows).
  • examples/battery_led.fzz et examples/header_led.fzz : les croquis que les deux générateurs ont écrits, avec une image de chaque vue.

Skills associés