agentee

Schéma et routage

Édition dans le visualiseur

Déplacer des composants, router des pistes et placer des vias à la main dans agentee view, enregistrés dans le même TOML.

La page de routage 2D de agentee view modifie le routage à la main. Les modifications restent dans la fenêtre jusqu'à save (ctrl+S) qui les écrit dans le .pcb.toml par le même écrivain qui préserve les commentaires et l'ordre que la CLI utilise ; revert les abandonne. Chaque modification est vérifiée en arrière-plan comme le ferait check, donc le panneau de diagnostics et le tableau des nets suivent, et l'en-tête compte les routages non enregistrés. Quand le fichier change sur le disque sous des modifications non enregistrées, la page demande si on garde les vôtres ou si on charge le fichier. Fermer la fenêtre avec des modifications non enregistrées demande d'abord.

toucheaction
clicsélectionner un composant, une piste, un via ou une ligne de chevelu ; cliquer à nouveau sur la sélection choisit le prochain élément sous le pointeur
glisserle déplacer : un composant avec son étiquette, un via, un coin de piste, ou un segment de piste entier ; l'élément sélectionné prime sur ce qui est en dessous
clic droit ou milieu, molettepanoramique, zoom
R, shift+Rpivoter le composant sélectionné de 90 degrés
Supprsupprime la piste ou le via sélectionné
Xoutil de routage : cliquer sur une pastille, un via ou une piste pour commencer, cliquer pour ajouter des coins à 45 degrés, / inverse la courbe, V dépose un via et passe à la couche suivante que les vias de la classe du net atteignent, Backspace recule, Entrée, un double clic ou un clic sur le cuivre du net termine
Voutil de via : cliquer sur le cuivre avec un net pour placer un via de classe de ce net
PageHaut, PageBascouche active
ctrl+Z, ctrl+shift+Zannuler, rétablir
Échapannuler la piste, revenir à la sélection, effacer la sélection

Les déplacements s'aimantent à la grille choisie dans la barre d'outils. Les nouvelles pistes prennent la largeur de la classe (pas de clé width) ; le panneau de propriétés définit le net, la couche et une largeur propre d'une piste, la position, le net et le type d'un via,un via, ainsi que la position, la rotation, le côté et locked d'un composant. Une ligne de chevelu sélectionnée peut être transmise au routeur automatique comme une seule connexion ou comme son net entier, avec les mêmes règles que agentee route. Un via placé par une règle [[fanouts]] ou [[stitching]], ou un élément d'une ligne count, est retiré de sa règle lors d'un déplacement, d'une modification ou d'une suppression : la règle reçoit une entrée skip_at pour cet emplacement et le via est écrit comme son propre [[vias]].

reset dans la barre d'outils efface ce que vous cochez : le routage (pistes, vias et sections de plan de l'algorithme), les règles [[fanouts]] et [[stitching]], les zones avec leurs remplissages stockés, et les positions des étiquettes de sérigraphie, et peut replacer tous les composants non verrouillés avec le placeur (agentee place, avec une graine). Comme toute modification, il reste non enregistré jusqu'à ce que vous enregistriez. new layout dans l'onglet des routages demande un nom, une carte et un schéma, écrit NAME.pcb.toml à côté du projet et, sauf si vous décochez, place d'abord tous les composants avec le placeur. Le nouveau fichier commence par une zone sur chaque couche de cuivre pour chaque net de masse du schéma et, si le schéma a des nets RF, une grille [[stitching]] de vias de masse à 2,5 mm plus une clôture le long des pistes RF lorsque leur classe a un coplanar_gap. Le bouton tie plane pads de la carte de l'algorithme exécute agentee tie sur le routage de la fenêtre, et une ligne de chevelu sélectionnée d'un net de plan propose tie pads to the plane avant un routage.

La carte layout engine exécute les étapes de agentee layout (voir docs/layout-engine-2.md) sur le routage tel qu'il est dans la fenêtre, modifications non enregistrées comprises : run prend les étapes de..à, run X only relance une seule, stop termine l'exécution après l'étape en cours. L'édition est en pause pendant l'exécution. Le résultat arrive dans la fenêtre comme toute autre modification, non enregistré et à un retour en arrière, avec le temps et le score de chaque étape et les termes de score qui pèsent le plus. phases to run et settings écrivent [engine] dans le routage (phases, rounds, place_rounds, [engine.place] seed, [engine.access] via_in_pad, [engine.global], [engine.detail]), et default supprime un paramètre. Un composant sélectionné avec 16 pastilles ou plus a pinswap, qui cherche des échanges de ses entrées/sorties comme agentee pinswap et les écrit dans les fichiers de schéma sur write to the schematic.

Les composants courants sont dessinés à partir de l'empreinte sans charger de modèle : résistances, condensateurs, inductances, LED et diodes en boîtier (noms avec une taille Metric), en-têtes et connecteurs à broches verticales, boîtiers SOIC, SOT, QFP, QFN, DFN, SON, TSLP et BGA, cristaux et oscillateurs, connecteurs SMA à montage sur bord, et cadres de blindage (Shield dans le nom ou la description), dessinés sans couvercle. Le corps est le contour F.Fab, la hauteur vient de height, d'un _h1.25mm dans le nom, ou de la famille de boîtiers, et les broches sont sur les pastilles à l'extérieur du corps. Les trous de fixation, les fiducials, les points de test de pastilles, les ponts de soudure et les empreintes Tag-Connect n'ont pas de corps. Un fichier de modèle dans le projet (3dmodels/ ou un chemin relatif à celui-ci) prime toujours sur un composant généré ; agentee models ignore les générés.

Les modèles sont en STEP ou VRML, placés comme KiCad les place (model_offset, model_rotate, model_scale). Un chemin de modèle est cherché tel qu'indiqué, puis sous KICAD9_3DMODEL_DIR et similaires, 3dmodels/ dans le projet, ~/.cache/agentee/3dmodels et /usr/share/kicad/3dmodels, en essayant .step, .stp et .wrl, compressé ou non. Un modèle peut aussi être une URL https:// vers un fichier STEP ou VRML, pour que les modèles de fabricants n'aient pas besoin d'être vérifiés : il est téléchargé une fois dans ~/.cache/agentee/3dmodels/url/ et compte comme le modèle propre du projet, donc il prime sur un composant généré. Fixez l'URL à un commit ou une release pour que le fichier ne change pas sous vos pieds. Les modèles de bibliothèques KiCad qui ne sont pas sur disque sont téléchargés depuis le dépôt kicad-packages3D dans le cache : agentee models (MCP models) les récupère tous et rapporte ce qu'il a trouvé, et le visualiseur les récupère en arrière-plan. Un composant sans modèle est une boîte sur son contour de fabrication, de hauteur height, sinon une hauteur estimée à partir du nom de l'empreinte. Les fichiers STEP sont maillés avec truck, avec les couleurs de leurs éléments stylés et les placements d'assemblage appliqués. Les arêtes utilisent la courbe 3D de chaque courbe de surface, pas ses pcurves. Les courbes et surfaces B-spline non bornées sont coupées à leur plage de nœuds valide. Une courbe d'arête qui ne s'évalue toujours pas en points finis est maillée comme une ligne droite, et une face dont la surface ne s'évalue pas est omise.

agentee export pcb:NAME -o NAME.step (MCP export) écrit le routage comme un assemblage STEP unique (AP214) pour la CAO de boîtiers. La carte est un solide de l'épaisseur de l'empilement avec ses trous de pastilles, fentes et découpes de carte ; les vias sont omis. Chaque composant est une instance nommée par sa référence : un modèle STEP entre tel que le fabricant l'a écrit, solides, couleurs et sous-assemblages intacts, et est écrit une fois quel que soit le nombre de composants qui l'utilisent. Les modèles VRML et les corps générés entrent comme des surfaces facettées, et un composant sans modèle du tout comme une boîte sur son contour de fabrication. Le repère est celui du routage avec Y vers le haut et la face inférieure de la carte à z = 0, donc un composant sur le côté supérieur commence à l'épaisseur de la carte. Le rapport liste les fichiers STEP utilisés, combien de composants ont été facettés, les composants dessinés comme des boîtes et les modèles introuvables.

Les pastilles reçoivent leurs nets du schéma (numéro de pastille = numéro de broche). Les zones de cuivre sont remplies avec le dégagement par rapport à tous les autres nets et au bord de la carte, et les îlots qui ne touchent rien sont supprimés. La vérification signale les connexions non routées (avec le chevelu), les courts-circuits, les violations de dégagement, les pistes plus étroites que leur classe de nets ou hors de leur largeur d'impédance, le cuivre proche du bord, les chevauchements de zones d'encombrement, les composants non placés, les extrémités de pistes qui ne sont connectées à rien, et le texte de sérigraphie qui chevauche un autre texte, traverse un contour de sérigraphie, est posé sur une pastille ou sort de la carte. Les zones d'encombrement sont les contours fermés dessinés sur F.CrtYd / B.CrtYd, placés avec le composant (un composant en face avant est posé sur l'autre face) ; deux composants dont les zones d'encombrement se chevauchent sur la même face sont une erreur, de même qu'une zone d'encombrement sur l'une des faces qui recouvre un trou NPTH d'un autre composant ou la zone d'encombrement d'une empreinte MountingHole* (son contour de pastille s'il n'en a pas). Nommez un élément avec son type en cas de collision de noms : agentee render pcb:lna, sch:lna, board:lna.

docs/format.md · Markdown pour agents