Polyworks脚本开发学习笔记(十八)-用SDK开发Polyworks插件

zz/2024/4/13 14:50:04

Polyworks脚本开发学习笔记(十八)-用SDK开发Polyworks插件

插件是由PolyWorks加载的动态链接库(DLL文件),然后查询Polyworks模块,以确定它们具有哪些功能,提供给加载它们的模块。在这种情况下,插件和PolyWorks Metrology Suite模块通过COM接口交互,它们可以同时被视为彼此的客户端和服务器。
插件用于向PolyWorks套件模块添加特定功能,例如作为探测设备和宏命令,可以通过模块的图形用户界面(GUI)实现。因为插件是在与模块相同的过程中运行COM层增加的性能成本最小。

  1. 示例文件位置:
    在这里插入图片描述
    \CSharp\CSharp3DSceneRendering
    Shows how to create and add the IM::IDrawNode derived class to the host application draw nodes collection. When added, the draw node will draw simple shapes, text, and annotations into the 3D Scene.
    演示如何创建IM::IDrawNode派生类并将其添加到宿主应用程序draw nodes集合。添加后,“绘制”节点将在3D场景中绘制简单的形状、文本和注释。
    \CSharp\CSharpBasic
    Shows how to implement a basic plug-in supporting common COM Interfaces such as IIMPlugin and IIMCommand.
    展示了如何实现一个基本插件来支持公共COM接口,如IIMPlugin和IIMCommand。
    \CSharp\CSharpCommands
    Shows how to implement MSCL commands with arguments.
    演示如何使用参数实现MSCL命令。
    \CSharp\CSharpLineScanFramework
    Shows how to implement a new Line Scanner plug-in
    演示如何实现一个新的线扫描仪插件
  2. 下面是插件可以实现的接口:
    在这里插入图片描述
  3. 插件存放的位置:
    插件必须放在PolyWorks安装中的\plugins文件夹中,插件的支持文件(即其他必需的DLL)应放在子文件夹中。
    \plugins文件夹的下方,以相关插件文件命名,减去扩展名“.dll”。
    对于Visual Basic。NET和C#插件,所需的DLL必须分别替换被放置在以所需DLL命名的子文件夹中,减去扩展名“.DLL”。
    在某些情况下,如果不能使用\plugins的子文件夹,则支持文件可以放在将加载插件的可执行文件旁边的\bin中文件夹(或子文件夹,如果可能的话也可以)。

生成一个插件

  1. 尝试把第二个案例转成COM组件 写好说明 公司等信息
    在这里插入图片描述

  2. 勾选为COM互操作注册
    在这里插入图片描述

  3. 由于签名比较麻烦,且引用的DLL也要签名的密钥,失败多次之后就没有为程序集签名了。

  4. 编译生成CharpBasic.dll在debug目录下,复制出来。
    在这里插入图片描述

  5. 编译插件: 安装到INSTALL_DIR\plugins
    In most cases, any additional DLLs required by your plug-in should be installed in a
    subfolder named like this:
    在大多数情况下,插件所需的任何附加DLL都应该安装在
    子文件夹的名称如下:
    INSTALL_DIR\plugins[name of your plug-in without extension]
    Ex: INSTALL_DIR\plugins\CompanyNamePlugin\Additional1.dll
    INSTALL_DIR\plugins\CompanyNamePlugin\Additional2.dll
    For Visual Basic and C#, assembly binding is different. Therefore, any additional DLLs required by your plug-in should be installed in a subfolder named like this:
    对于Visual Basic和C#,程序集绑定是不同的。因此,任何额外的DLL插件所需的文件应安装在名为以下内容的子文件夹中:
    Ex: INSTALL_DIR\plugins\Additional1\Additional1.dll
    INSTALL_DIR\plugins\Additional2\Additional2.dll

  6. 注册插件: 右键管理员身份运行INSTALL_DIR\bin目录下的RegisterIMCOMServers.bat

必须将新插件注册为COM组件,然后才能安装该插件被PolyWorks套件使用。
插件和任何支持文件使用前,复制到\plugins文件夹(如如第4.2.1节“插件位置”所述),必须运行注册服务器。在\bin文件夹中找到用于注册插件的bat文件。要正确考虑Windows安全策略。必须运行bat文件,以获取足够的权限。
Windows 7:
右键单击 RegisterIMCOMServers.bat文件并选择以管理员身份运行。这个注册将对所有用户有效。
Windows 8及后续版本:
右键单击 RegisterIMCOMServers.bat文件并选择以管理员身份运行。这个注册只对当前用户有效。
打开看下,原理似乎是把放在 plugins\目录下的所有dll模块和插件都自动注册一遍,也就不用特意写dll名称了。
在这里插入图片描述

  1. 调用COM组件: 此时打开引用寻找里面的COM组件,有一个叫示例代码1.0的组件出现了。但是具体怎么样,效果怎么样,还没有仔细挖掘。COM组件很强大,需要进一步的学习研究。
    在这里插入图片描述

http://www.ngui.cc/zz/1918278.html

相关文章

【Tools】PolyWorks Metrology Suite 2020中文版安装教程详解(在线版)

00. 目录 文章目录00. 目录01. Polyworks 2020概述02. Polyworks 2020下载03. Polyworks 2020安装04. Polyworks 2020注册05. Polyworks 2020新特性06. Polyworks 2020软件特色07. 附录01. Polyworks 2020概述 polyworks metrology suite2020简称为polyworks2020,是…

Polyworks脚本开发学习笔记(十一)-玩转获取参数(GET)与设置参数

Polyworks脚本开发学习笔记(十一)-玩转获取参数(GET)与设置参数 Polyworks采用了脚本语言作为二次开发的工具,因此语言格式上非常规范和统一。其中一个重要的特点就是,几乎所有的对象都能通过OPTION设置参数,同时也能用GET获取数据或者属性。…

Polyworks脚本开发学习笔记(一)-脚本开发环境

Polyworks脚本开发学习笔记(一)-脚本开发环境 背景 Polyworks的扫描尺寸测量分析模块是我工作中经常用到的一个模块,我不是做测量的,但是利用Polyworks对扫描获得的点云来进行尺寸匹配分析是一个非常重要的工具。这一模块的功能非常强大,如…

SAP:IDOC接口外部调试

TCODE:SRDEBUG 这里会字段打上断点:

java idoc_java 自动生成代码文档框架 idoc 项目模块说明.docx

i-doc 项目简介idoc 是为 java 项目生成项目文档。基于原生的 java 注释,尽可能的生成简介的文档。用户可以自定义自己的模板,生成自己需要的文档。特性基于 maven 项目生成包含大部分信息的元数据默认支持 markdown 简化文档的生成,支持自定…

IDOC重发处理

在使用IDOC的过程中,常会遇到IDOC传输失败报错的情况,第一次遇到这个问题时,有些朋友可能会不知如何处理,今天跟大家分享下一般的处理步骤; 一、查找出错的IDOC号 事务码:WE02 操作:输入创建日期…

java idoc_IDOC练习:发送端配置

第一步WE31创建段(SEGMENT):ZLM_SMT01第二步WE30创建IDOC基本类型 :ZLM_IDOC_TYPE1第三步WE81创建IDOC消息类型 :ZLM_IDOC_MSG1第四步WE82关联基本类型和消息类型第五步SM59创建远程连接 :19TO21第六步WE21创建端口 &…

IDOC原理及实例

转载自:https://blog.csdn.net/hubaichun/article/details/84322312 IDoc(wedi)

ABAP IDOC

IDoc(intermediate(媒介)document)是一种系统间通用的数据交换格式,通过IDoc接口可以实现SAP系统之间以及SAP系统与其他系统之间的数据交换。 IDoc(Intermediate Document,中转文档&#xff09…

ABAP IDOC基本配置

此处案例:300(发送端)、500(接收端) TCODE:WEDI(idoc事务码) 1、定义开发段(300、500都需要配置,除非同一台服务器) TCODE:WE31 如…