PCB Genesis腳本 C#調用Python


在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
{
    static class 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

    start_script.csh 啟動 C#腳本,C#腳本調用Python腳本

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM