Właśnie zajmuję się projektowaniem płytek drukowanych i ogólnie mam problemy z nauką korzystania z GUI z menu i klikaniem myszą. Czy niektórzy inżynierowie używają czegoś więcej niż kodu do generowania płytek drukowanych?
Właśnie zajmuję się projektowaniem płytek drukowanych i ogólnie mam problemy z nauką korzystania z GUI z menu i klikaniem myszą. Czy niektórzy inżynierowie używają czegoś więcej niż kodu do generowania płytek drukowanych?
Odpowiedzi:
Altium ma język skryptowy, w rzeczywistości kilka różnych języków. W niektórych przypadkach sensowne może być użycie algorytmów, na przykład do tworzenia powtarzalnych układów lub części umieszczonych dokładnie w określonych pozycjach.
Na przykład widziałem, jak zwykło umieszczać części (diody LED) w kołowym wzorze, chociaż wraz z wprowadzeniem siatek przyciągania współrzędnych biegunowych jest znacznie mniej prawdopodobne, że będzie to warte kłopotów.
Użyliśmy algorytmów do tworzenia kształtów (pomyśl o antenach itp.) Bezpośrednio w formacie .dxf, które można następnie zaimportować do warstwy miedzi.
Zasadniczo kod jest nieodpowiedni do celów związanych z układem PCB, szczególnie do zadania routingu.
W EAGLE CAD wszystko, co możesz zrobić za pomocą myszy, możesz zrobić z wiersza poleceń. Ma również język użytkownika, w którym można zasadniczo programować.
Używam kod, aby wygenerować netlist dla moich PCB. (O wiele, dużo szybciej jest napisać pętlę for, aby zbudować N-bitowy multiplekser, niż żmudnie rysować wszystkie te rzeczy na schemacie.) Na szczęście pliki netlist KiCAD to tylko tekst, w formacie nieudokumentowanym, ale dość łatwym do odwrócenia -inżynier.
Napisałem małą bibliotekę C #, która pozwala mi wpisywać to, co chcę połączyć z czym (pod względem bloków parametrycznych wielokrotnego użytku), i automatycznie wyrzuca listę sieci. Teraz mogę po prostu zaimportować to prosto do KiCADa i zacząć budować płytkę drukowaną, bez marnowania godziny, a więc bezużytecznego rysowania jej schematu. (Biblioteka przeprowadza nawet kilka bardzo podstawowych kontroli, aby upewnić się, że moje instrukcje nie są całkowicie fałszywe, chociaż podejrzewam, że sam KiCAD wykonałby to zadanie lepiej.)
Pliki PCB KiCad, z drugiej strony, są też tekst, ale wydają się być zdecydowanie zbyt skomplikowane, aby wygenerować programowo. Szkoda, ponieważ KiCAD domyślnie zrzuca wszystkie komponenty bezpośrednio jeden na drugim, co wymaga ode mnie spędzenia ponad 20 minut żmudnego ich oddzielania, aby zobaczyć, co u diabła robię. (KiCAD ma nieprzyjemny zwyczaj przesuwania tekstu, a nie komponentu, do którego jest dołączony , prawdopodobnie po to, aby utrudnić projektowanie płytek drukowanych?)
Być może kiedyś uda mi się zautomatyzować początkowy układ komponentów; Podejrzewam, jak powiedzieli inni, że rzeczywisty bit „projektowania PCB” zawsze będzie dotyczył GUI.
Nie poleciłbym tego, ale jeśli naprawdę chcesz, możesz samodzielnie napisać grafikę na płytce drukowanej, bez żadnego programu na płytce drukowanej. Kod wygląda następująco:
G90 *
1 G70 *
2 G54D10 *
3 G01X0Y0D02 *
4 X450Y330D01 *
5 X455Y300D03 *
6 G54D11 *
7 Y250D03 *
8 Y200D03 *
9 Y150D03 *
10 X0Y0D02 *
11 M02 *
12Numery linii po prawej stronie nie są częścią pliku. Analizując ten plik bez uprzedniej wiedzy Gerbera, należałoby poprawnie wywnioskować, że każda linia reprezentuje określone polecenie maszyny, a gwiazdka (*) jest końcem znaku polecenia. Wydaje się, że istnieją różne rodzaje poleceń: instrukcje zaczynające się od danych współrzędnych G, D, M i x, y.
Źródło: https://www.artwork.com/gerber/appl2.htm
Oto specyfikacja pokazująca różne polecenia
Jeśli używasz Kicad, zobacz niektóre filmy z rozmów podczas pierwszego KiCon (2019) na Youtube. Kilka rozmów dotyczyło bezpośrednio prezenterów piszących narzędzia do generowania części, jedna dotyczyła również połączeń. Co najmniej jeden używał pytona, który jest wypiekany jako język skryptowy.