Schemat i projekt PCB
Edycja w podglądzie
Przesuwanie elementów, prowadzenie ścieżek i umieszczanie przelotek ręcznie w agentee view, zapisywane z powrotem do tego samego pliku TOML.
Strona 2D projektu PCB w agentee view edytuje projekt ręcznie. Edycje pozostają w oknie do save (ctrl+S), który zapisuje je do .pcb.toml przez ten sam zapisujący zachowujący komentarze i kolejność, którego używa CLI; revert je usuwa. Każda edycja jest sprawdzana w tle tak, jak robiłby to check, więc panel diagnostyczny i tabela sieci podążają za zmianami, a nagłówek liczy niezapisane projekty. Gdy plik zmienia się na dysku pod niezapisanymi edycjami, strona pyta, czy zachować Twoje, czy wczytać plik. Zamknięcie okna z niezapisanymi edycjami najpierw pyta.
| klawisz | działa |
|---|---|
| klik | wybierz element, ścieżkę, przelotkę lub linię ratsnestu; ponowne kliknięcie zaznaczenia wybiera kolejny element pod kursorem |
| przeciągnij | przesuń: element z jego opisem, przelotkę, narożnik ścieżki lub cały segment ścieżki; zaznaczony element ma pierwszeństwo przed tym, co leży pod nim |
| prawy lub środkowy przycisk, kółko | przesuwanie, zoom |
| R, shift+R | obróć zaznaczony element o 90 stopni |
| Del | usuwa wybraną ścieżkę lub przelotkę |
| X | narzędzie trasowania: kliknij pad, przelotkę lub ścieżkę, aby zacząć, klikaj, aby dodać narożniki 45-stopniowe, / odwraca zakręt, V umieszcza przelotkę i przechodzi na następną warstwę, którą osiągają przelotki klasy sieci, Backspace cofa, Enter, podwójne kliknięcie lub kliknięcie miedzi sieci kończy |
| V | narzędzie przelotek: kliknij miedź z siecią, aby umieścić przelotkę klasy tej sieci |
| PgUp, PgDn | aktywna warstwa |
| ctrl+Z, ctrl+shift+Z | cofnij, ponów |
| Esc | anuluj ścieżkę, wróć do zaznaczania, wyczyść zaznaczenie |
Przesuwanie przyciąga do siatki wybranej na pasku narzędzi. Nowe ścieżki przyjmują szerokość klasy (bez klucza width); panel właściwości ustawia sieć, warstwę i własną szerokość ścieżki, pozycję, sieć i typ przelotki oraz pozycję, obrót, stronę i locked elementu. Wybrana linia ratsnestu może zostać przekazana do autorytera jako jedno połączenie lub jako cała sieć, według tych samych zasad co agentee route. Przelotka umieszczona przez regułę [[fanouts]] lub [[stitching]], albo jeden element wiersza count, jest wyjmowana z tej reguły przy przesuwaniu, zmianie lub usunięciu: reguła otrzymuje wpis skip_at dla tego miejsca, a przelotka jest zapisywana jako własna [[vias]].
reset na pasku narzędzi czyści zaznaczone pozycje: routing (ścieżki, przelotki i sekcje planu silnika), reguły [[fanouts]] i [[stitching]], wylewki wraz z zapisanymi wypełnieniami oraz pozycje etykiet opisów. Może też ponownie rozmieścić każdy odblokowany element za pomocą rozmieszczacza (agentee place, z ziarnem). Jak każda edycja, pozostaje niezapisana, dopóki nie zapiszesz. new layout na karcie projektów PCB prosi o nazwę, płytkę i schemat, zapisuje NAME.pcb.toml obok projektu i, chyba że odznaczysz, najpierw rozmieszcza każdy element za pomocą rozmieszczacza. Nowy plik zaczyna się od wylewki na każdej miedzianej warstwie dla każdej sieci masy schematu oraz, gdy schemat ma sieci RF, siatki [[stitching]] przelotek masy co 2,5 mm oraz ogrodzenia wzdłuż ścieżek RF, gdy ich klasa ma coplanar_gap. tie plane pads na karcie silnika uruchamia agentee tie dla projektu PCB w oknie, a wybrana linia ratsnestu sieci masy oferuje tie pads to the plane przed routingiem.
Karta layout engine uruchamia etapy agentee layout (patrz docs/layout-engine-2.md) dla projektu PCB tak, jak wygląda w oknie, włącznie z niezapisanymi edycjami: run bierze etapy od..do, run X only ponownie uruchamia jeden, stop kończy uruchomienie po etapie, który się wykonuje. Edycja jest wstrzymywana podczas uruchamiania. Wynik trafia do okna jak każda inna edycja, niezapisany i jeden krok cofnięcia wstecz, z czasem i wynikiem każdego etapu oraz składnikami wyniku, które mają największą wagę. phases to run i settings zapisują [engine] do projektu PCB (phases, rounds, place_rounds, [engine.place] seed, [engine.access] via_in_pad, [engine.global], [engine.detail]), a default usuwa ustawienie. Wybrany element z 16 lub więcej padów ma pinswap, który szuka zamian jego wejść/wyjść jak agentee pinswap i zapisuje je do plików schematu przy write to the schematic.
Wspólne elementy są rysowane z footprintu bez ładowania modelu: rezystory, kondensatory, cewki, diody LED i diody (nazwy z rozmiarem Metric), pionowe nagłówki i gniazda pinowe, obudowy SOIC, SOT, QFP, QFN, DFN, SON, TSLP i BGA, kryształy i oscylatory, złącza SMA edge mount oraz ramki ekranujące (Shield w nazwie lub opisie), rysowane bez pokrywy. Korpus to obrys F.Fab, wysokość pochodzi z height, części nazwy _h1.25mm lub rodziny obudowy, a wyprowadzenia leżą na padach poza korpusem. Otwory montażowe, punkty referencyjne, punkty testowe padów, zwory lutownicze i footprinty Tag-Connect nie mają korpusu. Plik modelu w projekcie (3dmodels/ lub ścieżka względna do niego) nadal ma pierwszeństwo przed wygenerowanym elementem; agentee models pomija wygenerowane.
Modele to STEP lub VRML, umieszczane tak, jak umieszcza je KiCad (model_offset, model_rotate, model_scale). Ścieżka do modelu jest wyszukiwana tak, jak podana, następnie pod KICAD9_3DMODEL_DIR i podobnymi, 3dmodels/ w projekcie, ~/.cache/agentee/3dmodels i /usr/share/kicad/3dmodels, próbując .step, .stp i .wrl, skompresowane lub nie. Modelem może być też adres https:// do pliku STEP lub VRML, więc modele producentów nie muszą być zapisywane w repozytorium: są pobierane raz do ~/.cache/agentee/3dmodels/url/ i liczone jako własny model projektu, więc mają pierwszeństwo przed wygenerowanym elementem. Przywiąż adres do commitu lub wydania, aby plik nie mógł się zmienić pod spodem. Modele bibliotek KiCad, których nie ma na dysku, są pobierane z repozytorium kicad-packages3D do cache: agentee models (MCP models) pobiera je wszystkie i raportuje, co znalazł, a podgląd pobiera w tle. Element bez modelu to pudełko nad jego obrysem fab, o wysokości height, inaczej o wysokości zgadywanej z nazwy footprintu. Pliki STEP są siatekowane przez truck, z kolorami z ich stylizowanych elementów i zastosowanymi rozmieszczeniami złożeń. Krawędzie używają krzywej 3D każdej krzywej powierzchniowej, a nie jej pcurves. Niespójne krzywe i powierzchnie B-splaine są przycinane do ich ważnego zakresu węzłów. Krzywa krawędzi, która nadal nie daje skończonych punktów, jest siatekowana jako linia prosta, a powierzchnia, której powierzchnia nie daje, jest pomijana.
agentee export pcb:NAME -o NAME.step (MCP export) zapisuje projekt PCB jako jedno złoże STEP (AP214) do CAD obudowy. Płytka jest bryłą o grubości stackupu z otworami padów, szczelinami i wycięciami płytki; przelotki są pomijane. Każdy element to instancja nazwana swoim oznaczeniem: model STEP trafia tak, jak go napisał producent, bryły, kolory i podzłoża nienaruszone, i jest zapisany raz, niezależnie od liczby elementów, które go używają. Modele VRML i wygenerowane korpusy trafiają jako powierzchnie siatekowane, a element bez żadnego modelu jako pudełko nad jego obrysem fab. Układ współrzędnych to układu projektu PCB, z Y w górę i dolną powierzchnią płytki przy z = 0, więc element na górnej stronie zaczyna się od grubości płytki. Raport wymienia użyte pliki STEP, ile elementów zostało siatekowanych, elementy rysowane jako pudełka i modele, których nie znaleziono.
Pady pobierają sieci ze schematu (numer padu = numer pinu). Wylewki są wypełniane z zachowaniem odstępów do wszystkich innych sieci i krawędzi płytki, a wyspy, które nie dotykają niczego, są usuwane. Weryfikacja raportuje nieprzewiedzione połączenia (z ratsnestem), zwarcia, naruszenia odstępów, ścieżki węższe niż ich klasa lub o niewłaściwej szerokości dla impedancji, miedź blisko krawędzi, nakładające się courtyardy, nieumieszczone elementy, końce ścieżek, które nie łączą się z niczym, oraz opisy (sitodruk) nakładające się na inne opisy, przecinające obrys sitodruku, leżące na padzie lub wychodzące poza płytkę. Courtyardy to zamknięte obrysy rysowane na F.CrtYd / B.CrtYd, umieszczane razem z elementem (element dolnej strony ma land na drugiej stronie); dwa elementy, których courtyardy nakładają się po tej samej stronie, to błąd, podobnie jak courtyard po którejkolwiek stronie nad otworem NPTH innego elementu lub nad courtyardem footprintu MountingHole* (obrys padu, jeśli go nie ma). Gdy nazwy kolizują, podaj rodzaj elementu: agentee render pcb:lna, sch:lna, board:lna.