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
.fzzavec 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.pyutilise 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.pymontre comment écrire un composant personnalisé (un fichier.fzpet 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 dansexamples/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
.fzpet listez ses connecteurs. Comparez-les avec la liste de connexions avant de construire. - Vérifiez chaque composant principal avec
scripts/check_core_part.pyavant 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 estC:\Program Files\Fritzing\fritzing-parts. Les exemples de croquis se trouvent dansC:\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-extractdans un nouveau dossier vide. La bibliothèque de composants est alorssquashfs-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 batterypour lister chaque composant principal avec "battery" dans son titre. - Il imprime
OKouMISSINGpour chaque composant, le nombre de connecteurs et l'identifiant du module. Un composant qui afficheMISSINGs'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_100milmanque de ses images schématiques et PCB, et le composant principalBattery block 9Vmanque de son empreinte PCB (jumper_2_100mil_pcb.svg). Le composant principal4 x AAA Battery Mountest complet. - Si aucun composant principal ne convient, dessinez-en un.
scripts/build_fzz_header_led.pycontient un exemple : un fichier.fzpet 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.mdpour 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.svget<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écutezmsedge.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 avecscripts\fritzing_gui_shot.ps1et recadrez la carte (les images PCB dansexamples/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>"avecStart-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 5dans 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.
- Démarrez
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.pyavant 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
.fzdoit lister chaque connexion dans les deux éléments. Écrivez un appellink()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
inest mis à l'échelle par90 × largeur_in / largeur_viewBox. Un SVG Illustrator avec des unitéspxsimples 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 LEDled.svga 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.fzzet.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.fzzetexamples/header_led.fzz: les croquis que les deux générateurs ont écrits, avec une image de chaque vue.