PCB Genesis腳本 C#調用Python
阿新 • • 發佈:2018-09-16
program 應用 stat sharp ava rar c++ add ddp
在PCB行業,Genesis的二次開發的編程腳本越來越豐富了啊,從一開始進入眼界的Genesis腳本語言是很少的,CSH,PERL,
再後來慢慢發展,VB,易語言,VB.NET,C#,Java,TCL,PYTHON,C++,語言真的是五花八門啊,各種各樣編程語言與Genesis為伍,
2004年PCB前輩寫的Genesis Python接口,真的好久遠了,想想當時的我還沒入PCB這行了;呵呵
有需要的可以在此基礎上面改進哦。學習借鑒一下人家的封裝接口思路.
http://pcbren.cn/ShareFiles/Python接口2004.rar
在這裏介紹C#調用Pythony方法,但個人並不建議:寫腳本用多種的語言寫腳本,而且嵌套調用使程序更麻煩了。
這裏只是實現思路而已,實際應用中寫腳本統一一種語言寫腳本,當然是為了後期更好的維護啦,
所以最好多種語言不要混合寫,隨著不斷深化應用,會不斷的封裝工具類,公共方法,基類,後期維護多種語言都要寫一遍相似的代碼。
在這裏以:Genesis調用C#腳本,C#腳本再調用Python腳本 寫一個調用例子
一.Nuget中下載IronPython包
二.用Python寫一個加PAD腳本測試用
腳本命名:AddPadTest.py 並放在bin目錄
def main(arr): try: print ‘@%#%@COM add_pad,attributes=no,x=0,y=0,symbol=r1314‘ READANS = raw_input() COMANS = raw_input() return str(READANS) except Exception as err: return str(err)
三.用C#腳本調用Python腳本
using System; using IronPython.Hosting; using Microsoft.Scripting; using Microsoft.Scripting.Hosting; namespace CSharpCallPython { staticclass Program { /// <summary> /// 應用程序的主入口點。 /// </summary> [STAThread] static void Main() { ScriptEngine pyEngine = Python.CreateEngine();//創建Python解釋器對象 dynamic py = pyEngine.ExecuteFile(@"AddPadTest.py");//讀取Python腳本 string READANS = py.main("");//調用Python腳本main函數 加PAD } } }
四.測試運行效果OK
PCB Genesis腳本 C#調用Python