Ich befasse mich gerade mit PCB-Design und habe im Allgemeinen Probleme beim Erlernen der Verwendung von GUIs mit Menüs und Mausklicks. Verwenden einige Ingenieure eher Code, um Leiterplatten zu generieren?
Ich befasse mich gerade mit PCB-Design und habe im Allgemeinen Probleme beim Erlernen der Verwendung von GUIs mit Menüs und Mausklicks. Verwenden einige Ingenieure eher Code, um Leiterplatten zu generieren?
Antworten:
Altium hat eine Skriptsprache, in der Tat mehrere verschiedene Sprachen. In einigen Fällen kann es sinnvoll sein, Algorithmen zu verwenden, um beispielsweise sich wiederholende Layouts oder Teile zu erstellen, die genau an bestimmten Positionen platziert sind.
Ich habe zum Beispiel gesehen, dass es verwendet wurde, um Teile (LEDs) in einem kreisförmigen Muster zu platzieren, obwohl die Einführung von Polarkoordinaten-Fanggittern den Aufwand viel weniger wert ist.
Wir haben Algorithmen verwendet, um Formen (etwa Antennen) direkt im DXF-Format zu erstellen, die dann in eine Kupferschicht importiert werden können.
Im Allgemeinen ist Code für PCB-Layout-Zwecke, insbesondere für die Routing-Aufgabe, schlecht geeignet.
In EAGLE CAD können Sie alles, was Sie mit einer Maus tun können, über die Befehlszeile ausführen. Es hat auch eine Benutzersprache, in der Sie im Wesentlichen programmieren können.
Ich benutze Code um das zu generieren Netzliste für meine Leiterplatten . (Es ist weitaus schneller, eine for-Schleife zu schreiben, um einen N-Bit-Multiplexer zu erstellen, als mühsam alles in einen Schaltplan zu zeichnen.) Glücklicherweise sind KiCAD-Netzlistendateien nur Text in einem Format, das nicht dokumentiert ist, aber relativ einfach umzukehren ist -Ingenieur.
Ich habe eine kleine C # -Bibliothek geschrieben, mit der ich eingeben kann, was mit was verbunden werden soll (in Bezug auf wiederverwendbare parametrische Schaltungsblöcke), und die automatisch eine Netzliste ausspuckt. Jetzt kann ich das einfach direkt in KiCAD importieren und mit dem Erstellen der Leiterplatte beginnen, ohne etwa eine Stunde damit verschwenden zu müssen, einen Schaltplan dafür zu zeichnen. (Die Bibliothek führt sogar einige grundlegende Überprüfungen durch, um sicherzustellen, dass meine Anweisungen nicht vorhanden sind völlig falsch sind, obwohl ich vermute, dass KiCAD selbst diese Aufgabe besser erledigen würde.)
KiCAD-PCB-Dateien sind ebenfalls Textdateien, scheinen jedoch weit entfernt zu sein zu komplex zu sein, um sie programmgesteuert zu generieren. Das ist eine Schande, da KiCAD standardmäßig alle Komponenten direkt aufeinander legt und ich über 20 Minuten Zeit habe, um sie mühsam wieder herauszunehmen, damit ich sehen kann, was zum Teufel ich tue. (KiCAD hat die unangenehme Angewohnheit, den Text zu verschieben und nicht die Komponente, an die er angehängt ist. Vermutlich nur, um die Gestaltung von Leiterplatten zu erschweren?)
Vielleicht schaffe ich es eines Tages, auch das anfängliche Komponentenlayout zu automatisieren. Ich vermute, wie andere gesagt haben, dass das eigentliche "PCB-Design" -Bit immer die GUI betreffen wird.
Ich würde es nicht empfehlen, aber wenn Sie es wirklich wollen, können Sie PCB-Grafiken selbst schreiben, ohne ein PCB-Programm. Der Code sieht folgendermaßen aus:
G90 *
1 G70 *
2 G54D10 *
3 G01X0Y0D02 *
4 X450Y330D01 *
5 X455Y300D03 *
6 G54D11 *
7 Y250D03 *
8 Y200D03 *
9 Y150D03 *
10 X0Y0D02 *
11 M02 *
12Die Zeilennummern ganz rechts sind nicht Bestandteil der Datei. Betrachtet man diese Datei ohne Vorkenntnisse von Gerber, so kann man richtig ableiten, dass jede Zeile einen bestimmten Maschinenbefehl darstellt und dass das Sternchen (*) das Befehlsendezeichen ist. Es scheint verschiedene Arten von Befehlen zu geben: Befehle, die mit G-, D-, M- und x-, y-Koordinatendaten beginnen.
Quelle: https://www.artwork.com/gerber/appl2.htm
Hier ist eine Spezifikation, die die verschiedenen Befehle zeigt
Wenn Sie Kicad verwenden, sehen Sie sich einige der Videos aus den Vorträgen auf der ersten KiCon (2019) auf Youtube an. In einigen Vorträgen ging es explizit darum, dass die Moderatoren Tools für die Erstellung der Teile und auch für die Zusammenhänge erstellen. Mindestens eine verwendete Python, die als Skriptsprache eingebunden ist.