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

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组件很强大,需要进一步的学习研究。
    在这里插入图片描述
  • 6
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zeng31403

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值