0
点赞
收藏
分享

微信扫一扫

Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发

Polyworks脚本开发学习笔记(十六)-用C#进行Polyworks二次开发

Polyworks支持C#二次开发,用对应的SDK文档试着做一下开发样例。

  1. 新建一个C#项目,在解决方案中右键添加引用。
    在这里插入图片描述
  2. 添加对应的COM组件,选择Inspector。
    在这里插入图片描述
  3. 窗体中加入操作按钮,名为"获取打开的Inspector项目名称"
    在这里插入图片描述
  4. 查看在系统目录goodies下面的C#二次开发示例代码.
    在这里插入图片描述
  5. 在表单主对象中定义一个空的IMInspect对象模块内使用
    public partial class Form1 : Form
    {
        /*定义一个IMInspect对象模块内使用*/
        private IMInspectLib.IMInspect m_imInspect = null;
  1. 在Form_Load事件中实例化IMInspect对象并检测是否成功
 private void Form1_Load(object sender, EventArgs e)
        {
            /*实例化IMInspect对象*/
            m_imInspect = new IMInspectLib.IMInspect();
            /*如果对象实例化成功,以User名称登陆*/
            if (m_imInspect != null)
            {
                // Identify ourselves to PolyWorks|Inspector
                m_imInspect.Login("User");
            }
        }
  1. 在button1_Click事件中用imInspectProject获取当前的项目并检测是否成功,不成功则警告失败退出
 private void button1_Click(object sender, EventArgs e)
        {
            // 用imInspectProject获取当前的项目
            IMInspectLib.IIMInspectProject imInspectProject = null;
            m_imInspect.ProjectGetCurrent(out imInspectProject);
            if (imInspectProject == null)
            {
                // 获取到的项目为空,则警告获取失败
                MessageBox.Show("当前Polyworks项目获取不成功!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
  1. 在button1_Click事件中创建当前项目的命令中心,检测不成功则警告失败退出
 //创建当前项目的命令中心,检测不成功则警告失败
            IMInspectLib.IIMCommandCenter imCommandCenter = null;
            imInspectProject.CommandCenterCreate(out imCommandCenter);
            if (imCommandCenter == null)
            {
                // 获取到的命令中心为空,则警告创建失败
                MessageBox.Show("当前项目命令中心创建不成功!", "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
  1. 用命令中心向Polyworks发送一个简单的无返回查询指令看看是否成功

            //简单无返回值命令测试
            imCommandCenter.CommandExecute( "TREEVIEW FEATURE SELECT NONE ( )" );
  1. 用命令中心向Polyworks发送一个带返回命令的script脚本,并用变量接收,测试是否成功
  //用变量接收返回值
            int returnValue;
            String script;
            String CurPorjectName;
            script = String.Concat("version \"5.0\"", "\n",
                  "DECLARE vCurPorjectName", "\n",
                  "PROJECT PROPERTIES NAME GET(vCurPorjectName)");  
            //执行脚本
            returnValue = imCommandCenter.ScriptExecuteFromBuffer(script, "");
            //外部变量接收返回值
            returnValue = imCommandCenter.ScriptVariableGetValueAsString("vCurPorjectName", 1, out CurPorjectName);

            MessageBox.Show("当前项目名称为 " + CurPorjectName, "获取成功", MessageBoxButtons.OK, MessageBoxIcon.Information);

运行成功,窗口正确返回了当前的项目名称。整个样例代码开发成功。
在这里插入图片描述

举报

相关推荐

0 条评论