平面磁通密度計算量自動生成
當想要計算的量很多的時候,一個一個的輸入場量計算機非常耗時。這個章節要教使用者如何用自動化的技巧去生成場量計算。
Last updated
當想要計算的量很多的時候,一個一個的輸入場量計算機非常耗時。這個章節要教使用者如何用自動化的技巧去生成場量計算。
Last updated
本篇介紹的方法是利用IronPython(註 3)來做自動化應用,讀者也可以利用這樣的技巧到其他的應用當中。
以一個例子來做應用介紹,如圖4-1,如果在一個磁性元件中有四個想要做磁通計算的面,那要如何自動生成磁通密度面的計算呢?下面我們拆分成六個步驟給讀者參考。
為了方便後面程式化,這邊用來做積分的面物件,我們統一取名並給予係數,如B_Flux_Density_A1、B_Flux_Density_A2、...。
首先第一步是打開錄製的功能,第二步再輸入想要錄製的檔名,此時 Record Script 按鍵狀態會變成 Stop Recording。
第三步,打開場量計算機,請參考第二章節 Flux Density of a sheet 的步驟。依目前預想要做的一個幾何執行一次。完成後,第四步結束錄製。
第五步,把剛剛錄製的檔案從檔案總管中打開,如圖4-4所示。這邊有一個重要的技巧是要把Python檔案中的 SetActiveProject 改成 GetActiveProject 以及 SetActiveDesign 改成 GetActiveDesign。然後再把其括號中的內容清除。讓執行Script在執行的時候自動抓取目前的Project和Design。
第六步,修改Python內容,把檔案的執行內容改成For迴圈形式,針對目前的檔名做迴圈。第七步,再把檔案做存檔。
第八步,將第三步做的內容作清除。第九步,選擇並執行剛剛的執行檔。最後可以自動的生成sheet的計算場量。由此自動化,當所要計算的場量數量多的時候,可以有效的節省設定時間。甚至後續類似的專案也可以一直使用。
最後提供此範例的程式碼給讀者參考。
註 3:IronPython 是一個在 .NET 框架上實現的 Python 解釋器,它可以直接使用 .NET 平台上的類庫和模塊。IronPython 具有與 Python 相同的語法和功能,但是它的實現方式和執行環境不同,可以讓 Python 程序直接運行在 .NET 框架上。另一種是常用的是CPython,兩者的比較可以參考 IronPython vs CPython。