在CPython當中,我們可以透過Cython的技術,將Python程式碼加以編譯來保護程式碼,並加速程式的執行。一般作法需要另外準備setup.py,並透過命令列來加以編譯。為了簡化步驟,我寫了以下的script。在Anaconda Spyder執行該script,隨即跳出檔案選擇視窗。選擇要編譯的.pyx檔即可生成.pyc檔。
AEDT(ANSYS Electronics DeskTop)包含了HFSS, Designer, Q3D, Maxwell, Icepak, Simplorer, Mechanical等模擬軟體。本網誌分享如何利用Python編程,配合AEDT API(Application Programming Interface, 應用程式介面)來開發AEDT外掛工具。並介紹各類自動化模擬設定及模擬資料分析技巧。 版主:林鳴志(Lin, Ming Chih)
2020年8月21日 星期五
簡化Cython編譯的Script
如何在命令列將.brd轉成.siw
在置放.brd(此處以Galileo_G87173_204.brd為例)的目錄底下,建立批次檔convert.bat,內容如下:
此外,在目錄底下建立SaveSiw.exec檔案,當中只有一行:
滑鼠雙擊convert.bat,幾秒鐘之後生成Galileo_G87173_204.siw。開啟Galileo_G87173_204.siw如下圖:
2020年8月14日 星期五
SIwave輸出所有元件及各個元件連接的net連同對應的pad
2020年8月10日 星期一
如何取得專案/設計/設定/物件的屬性
在AEDT當中,不管是專案,設計,模擬設定甚或是物件都可以透過屬性視窗加以觀察或修改。不同類別的屬性歸類在不同的標籤頁,每一種標籤頁有各自的名稱,像是Attribute、Command等等,如圖一所示:
(圖一) 物件的標籤頁及名稱 |
要取得物件的名稱使用的函式是:
oEditor.GetPropertyValue(string tabArg, string serverArg, string propArg) -> string
當中要設定的參數分別為tabArg(標籤名),serverArg(物件名)以及 propArg(屬姓名),返回字串型別的屬性值。該如何正確設定這三項參數呢?這裡簡單介紹一個方式。啟動腳本錄製,修改該屬性,停止錄製。接下來便可以從錄製腳本當中找到這三項參數的設定方式了。這裡舉個例子,我們修改Box1的材料,錄製到的程式碼如下:
(圖二) 錄製修改屬性的程式碼 |
從錄製的程式碼可以看出標籤頁全名為"Geometry3DAttributeTab",物件名為"Box1",屬性名為"Material"。於是我們用下面程式碼便可以抓到物件的材料名稱了:
material_name = oEditor.GetPropertyValue('Geometry3DAttributeTab', 'Box1', 'Material')
其他像是專案的變量,模擬設定的參數等等都可以用這裡介紹的方式快速找到正確抓取設定的方法。
2020年8月2日 星期日
如何用Jupyter Notebook保存程式碼片段
(圖一) 啟動Jupyter Notebook |
(圖二) Jupyter Notebook介面 |