使用python script,執行後自動開啟maxwell、新增project
首先要完成的是讓python開啟maxwell,參考了網路上的一些資訊,使用win32com這個module是最方便的,因此先跑pip install pywin32
裝好module,使用
from win32com import client
oAnsoftApp = client.Dispatch("Ansoft.ElectronicDesktop")
看到上面的code,可能會有幾個問題
client.Dispatch
做了什麼事?
怎麼知道,我的系統有沒有 "Ansoft.ElectronicDesktop" 這個 ProgID呢 ?
Get-ChildItem HKLM:\Software\Classes -ErrorAction SilentlyContinue | Where-Object {$_.PSChildName -match '^\w+\.\w+$' -and (Test-Path -Path "$($_.PSPath)\CLSID")} | Select-Object -ExpandProperty PSChildName
找看看有沒有,如果太多的話可以在最後面加上 | grep An
來縮減結果。為什麼使用 oAnsoftApp
這個Object name?
因為這是官方的手冊裡控制軟體的API名稱,依照手冊裡的變數,之後繼續實作其他功能時對照會比較方便。
maxwell的script是一個OOP的概念,由很多層class組成,每個class中有許多function可用,繼承圖如下
往上看開啟maxwell的code,整個開啟的專案其實就是 oAnsoftApp
,有了 oAnsoftApp
就可以在裡面做任何事情,包括開啟一個project,用下列的code就能成功開啟
oDesktop = oAnsoftApp.GetAppDesktop()
oProject = oDesktop.NewObject()
本文同步發表於 https://mark-weng.com/ ,後續更多的更新也會到網站上。
目前所做好的分析自動化demo: https://www.youtube.com/watch?v=uStT2k3V6x0 ,有任何疑問都可以留言或來信一起討論。