zoukankan      html  css  js  c++  java
  • 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脚本

  • 相关阅读:
    【推荐】iOS汉字转拼音第三方库
    iOS实现图像素描效果
    iOS实现图像的反色,怀旧,色彩直方图效果
    iOS实现图像指定区域模糊
    iOS 9.2新增API
    讲讲我的开发生涯
    iOS第三方类库汇总【持续更新】
    美图秀秀-美化图片之【背景虚化】界面设计
    美图秀秀-美化图片之【特效】界面设计
    iOS二十种超酷时尚艺术滤镜汇总【附源码】
  • 原文地址:https://www.cnblogs.com/pcbren/p/9653243.html
Copyright © 2011-2022 走看看