CREO Toolkit二次开发小工具-定时保存
看到二次开发论坛里经常有人发定时保存这些小插件,但是只发了dll文件,对于不同版本的Creo存在差异可能有部分不能用。用Toolkit写了一个定时保存的小插件,可以实现定时保存当前打开文件或者工作区所有打开文件的功能,代码也公开了,需要的人可以随便根据自己的环境修改编译。
看到二次开发论坛里经常有人发定时保存这些小插件,但是只发了dll文件,对于不同版本的Creo存在差异可能有部分不能用。用Toolkit写了一个定时保存的小插件,可以实现定时保存当前打开文件或者工作区所有打开文件的功能,代码也公开了,需要的人可以随便根据自己的环境修改编译。
SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是在世界上最广泛部署的 SQL 数据库引擎。SQLite 源代码不受版权限制[1]。对一些小型数据库应用来说,显然使用Sqlite比使用access更具优势。做了一个测试将Sqlite集成到Toolkit程序中。
Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能[1]。在群里和网站上看到不止一人需要将lua嵌入Toolkit程序中用于扩展Creo关系中的函数,做了一个测试将lua集成到Toolkit程序中。
严格意义来说,Creo的文件预览并不能算Creo的二次开发。PTC公司提供了Creo View Express这个程序实现快速浏览Creo的模型、图纸等。Creo View Express提供了pview.ocx这个Com组件,实现文件预览功能就是调用这个OCX来实现。
VBAPI存在一定的功能限制,如在前文中特征的很多操作是无法用VBAPI实现的。针对这种局限性,我们可以通过在VBAPI程序中调用Toolkit程序扩展VBAPI的功能。VBAPI提供了调用Toolkit程序的功能函数,Toolkit也提供了相关函数导出功能供VBAPI调用。
本节介绍VBAPI的UI操作。VBAPI实现添加菜单和右键菜单等功能需要进行事件侦听,所以必须在完全异步模式下进行。与上一篇文章介绍一样,首先采用定时器的方式调用IpfcAsyncConnection.EventProcess方法。
本节介绍VBAPI实现国标倒角的的操作。与球标操作一样,VBAPI也没有提供直接的函数进行国标倒角的操作,我们继续采用代码+宏的方式完成该功能。分析VBAPI和宏的相关功能,本例将国标倒角分为两个操作方式完成。程序首先通过VBAPI的选择对象操作,获取倒角的尺寸信息。之后通过宏的方式完成进行注解操作,运行宏时将注解中文字字符串改为倒角信息,完成国标倒角标注。本例是一个标准的VBAPI+宏实现的方式,其实不论是VBAPI还是Toolkit等均有其局限性,使用该种方式混合代码是一个很好的实现方式,读者还请多加思考。