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脚本
作者:pcbren 微信号:yadnfku QQ号: 254566449
博客地址:https://www.cnblogs.com/pcbren/
声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。
如果大家感觉我的博文对大家有帮助,请推荐支持一把。