我剛剛進入PCB設計,通常在學習如何通過菜單和鼠標單擊使用GUI時遇到麻煩。某些工程師是否使用更類似代碼的東西來生成PCB?
我剛剛進入PCB設計,通常在學習如何通過菜單和鼠標單擊使用GUI時遇到麻煩。某些工程師是否使用更類似代碼的東西來生成PCB?
Altium實際上有一種腳本語言,幾種不同的語言。在某些情況下,使用算法可能有意義,例如創建重複的佈局或精確放置在某些位置的零件。
例如,我已經看到它曾經以圓形圖案放置零件(LED),儘管它們引入了極坐標捕捉網格,但是麻煩的可能性卻很小。
我們已經使用算法直接以.dxf格式創建形狀(例如天線等),然後可以將其導入到銅層中。
通常,代碼不太適合PCB佈局目的,尤其是對於佈線任務。
在EAGLE CAD中,您可以使用鼠標從命令行執行的所有操作。它還具有一種用戶語言,您基本上可以使用該語言進行編程。
我使用代碼為PCB生成 netlist 。 (編寫一個for循環來構建一個N位多路復用器要快得多,而不是費力地在原理圖中繪製所有內容。)幸運的是,KiCAD網表文件只是文本,其格式沒有說明,但是合理的易於逆向工程。
我寫了一個小的C#庫,可讓我輸入要連接的內容(就可重用的電路參數塊而言),它會自動彈出一個網表。現在,我可以直接將其導入KiCAD並開始構建PCB,而不必浪費一個小時左右的時間來為其繪製原理圖。 (儘管我懷疑KiCAD本身會做得更好,但該庫甚至進行了一些非常基本的檢查,以確保我的說明不是完全 虛假的。)
另一方面,KiCAD PCB文件也是文本,但是似乎太遠了,以致無法以編程方式生成。真可惜,因為KiCAD默認將所有組件直接轉儲到彼此之上,這需要我花20多個分鐘來繁瑣地將它們再次分離出來,這樣我才能知道我在做什麼。 (KiCAD有一個討厭的習慣,它試圖移動文本而不是移動它所附加的組件,大概只是為了使PCB難於設計?)
也許有一天我會設法使初始組件佈局自動化。正如其他人所說,我懷疑實際的“ PCB設計”位將始終涉及GUI。
我不推薦這樣做,但是如果您真的希望可以自己編寫PCB圖稿,而無需任何PCB程序。代碼如下:
G90 *
1個G70 *
2個G54D10 *
3 G01X0Y0D02 *
4 X450Y330D01 *
5 X455Y300D03 *
6 G54D11 *
7 Y250D03 *
8 Y200D03 *
9 Y150D03 *
10 X0Y0D02 *
11 M02 *
12最右邊的行號不是文件的一部分。檢查這個 沒有Gerber的任何先驗知識的文件可以正確推斷 每行代表一個特定的機器命令,並且 星號(*)是命令字符的結尾。好像有 不同類型的命令:以G,D,M和 x,y坐標數據。
來源: https://www.artwork.com/gerber/appl2.htm
以下是顯示不同命令
的規範如果您正在使用Kicad,請在Youtube上的第一個KiCon(2019)上觀看演講中的一些視頻。幾場講座明確地涉及了演示者編寫工具來生成零件的過程,也有關於連接的問題。至少有一個使用過的python,它是作為腳本語言編寫的。