|
1、 PRO/ENGINEER二次开发中,如何实现自动注册
要实现DLL程序文件的自动注册,需要把注册文件(.dat)文件放到PRO/ENGINEER指定的几个文件夹,取名为Protk.dat,下面是几个存放注册文件的位置。
(1) Pro/ENGINEER启动目录下的Protk.dat或Prodev.dat。
(2) 在Pro/ENGINEER的配置文件中,指定的以“PROTKDAT”、“PRODEVDAT”或“TOOLKIT_REGISTRY_FILE”变量所存储的位置下的Protk.dat或Prodev.dat。
(3) $LOADDIR$MACHINE_TYPEtext<LANGUAGE>目录下的Protk.dat或Prodev.dat。
(4) $LOADDIRtext目录下的Protk.dat或Prodev.dat。
如果在这些文件夹下还无法实现自动注册,可能是PRO/ENGINEER版本存在问题,访问PTC公司的网站:http://www.ptc.com/go/timeout/,并下载相关补丁,具体操作过程如下:
(1)、打开windows系统的任务管理器,在进程中选中nmsd,结束该进程。
(2)、在http://www.ptc.com/go/timeout/下载nmsd.exe,放在一个临时文件夹中。
(3)、用下载的nmsd.exe覆盖$LOADDIR$MACHINE_TYPEi486_ntnms下的nmsd.exe;
(4)、重新启动PRO/ENGINEER就能自动加载菜单,并且在WINDOWS的任务管理器的进程中出现nmsd。
2、如何调用PRO/ENGINEER已有的按钮
要调用PRO/ENGINEER已有的按钮,有两种方法。
(1)、使用函数ProCmdCmdIdFind()函数。
(2)、使用函数ProMacroLoad()或ProMacroExecute(),执行记录的一段宏命令。也可以实现原有菜单的调用。
3、调用自定义菜单后,为什么PRO/ENGINEER的工具栏菜单中的再生按钮会消失
当使用自定义菜单调用一个界面之后,当前的窗口将会处于非激活状态,所以很多的操作将无法使用。可以使用【窗口】菜单下的【激活按钮】,也可以在自定义的菜单的函数中添加如下的语句来激活当前窗口:
Int CurrentWindowToActiveID;
ProWindowCurrentGet(&CurrentWindowToActiveID);
ProWindowActivate (&CurrentWindowToActiveID);
4、如何在PRO/ENGINEER中调试DLL程序
启动PRO/ENGINEER后,如果有注册运行某程序,但是中间停止了程序,并添加新的菜单项,如果要使这个修改生效,必须重新启动PRO/ENGINEER,因为当注册运行程序一次,这个程序的信息文件就被导入内存,如果程序被停止,但是信息文件并没有从内存中消除,所以当再一次启动程序的时候,仍然使用的是原来的信息文件。
5、如何在程序中修改工作目录
要修改工作目录,可以使用Pro/Toolkit提供的函数ProDirectoryChange(),实例程序如下:
#include “ProUtil.h” //函数的头文件
ProFilename filename1;
ProError status;
Status=ProDirectoryChange(ProStringToWstring(filename,”d:temp”));
6、一个dat文件怎样才能永久的注册在PRO/ENGINEER中执行
在PRO/ENGINEER的菜单中【工具】中的【选项】里面查找protkdat,并设置需要被永久注册的文件名,然后把这个设置保存为config.pro,注册文件需要存放到启动目录中。
7、Pro/Toolkit怎样做一个像PRO/ENGINEER文件打开对话框一样的文件预览窗口
ProBarewindowCreate(w_name,PRO_PART,&p_window_id)这个函数可以生成一个没有菜单的窗口,相当与打开了一个新的窗口,参数可以加入模型,在这个窗口里可以实时旋转,感觉就像预览一样。
Pvactivex.ocx控件就是Productview提供的控件,它在Productview的安装目录(ProductViewExpress)下,Productview插件用网页浏览器浏览零件实用的就是Pvactivex.ocx控件。
另外ProBarewindowCreate方法打开的是一个独立的窗口,不能与其他界面融为一体,不理想。 |
|