NX二次开发基础

Nx的二次开发项目常用的创建方式有3种,
1.NX开发向导(vc6中开发需要将UgOpen_18.awx和UgOpen_v18.hip文件复制到vs\common\msdev98\bin\ide目录)、
2.WIN32应用程序向导、
3.MFC应用程序向导。

注册项目路径有2种方法:
配置文件法和修改环境变量法
1配置文件法:
在配置文件custom_dirs.dat(位于%UGII_BASE_DIR%\ugii\menus)中以”#“开头每行只能写一条路径,以便NX启动时加载。
2.修改环境变量
在环境配置文件ugii_env.dat中有3个用于注册项目路径的环境变量,
UGII_VENDOR_DIR 开发商开发产品路径 最高
UGII_SITE_DIR 其余开发商产品路径 其次
UGII_USER_DIR 存放用户自己应用路径 最低

NX Open运行模式
1.交互模式(内部模式)
直接激活方式File–Execute–NX Open
用户菜单调用方式
设置环境变量UGII_USER_DIR指向应用程序主目录
回调函数方式
在UI Styler或Block UI Styler创建的对话框回调函数中激活应用程序dll
通过用户出口User Eixt
2.批处理模式(外部模式)
3.远程模式

应用程序的初始化及终止
利用调用UF_initilize()获取UF_terminate()来释放执行许可

用户出口User Eixt :利用不同的User Eixt可以是用户定制的应用程序在NX运行到特定点被自动执行,每一个用户出口都有一个唯一的名称,最常用的是ufsta()和ufusr()

ufsta()是NX菜单启动时的User Exit ,,为了是实现用户菜单的调用功能,通常是在NX启动时注册用户菜单的信息,当NX 启动后选择菜单命令时即可调用指定的应用程序。注册方法有2种:

UF_MB_add_style_actions()

UF_MB_add_actions( )
这两种 方式有什么区别??希望高人指点

另外还可以直接在该出口函数中写入一个应用,当NX启动时执行。

ufusr()是直接激活的User Eixt,这种USER EXIT只是一个面向过程的程序处理任务,他有唯一的运行起止点,程序码在起止点间顺序进行。


利用MFC程序向导注意:
计算机在运行使用MFC的NX二次开发程序时,需要VCREDIST的支持,根据vs版本的不同安装对应的VCREDIST,与应用程序一起发布。
如果不想安装vcredist在目标计算机上,可以在项目属性中选择“在静态库中使用MFC”,这样可以确保在不同计算机上运行。
为了保证正确调用DLL内的资源,在所有的出口函数开头需要插入宏语句:AFX_MANAGE_STATE(AfxGetstaticModuleState());必须放在函数开头。

你可能感兴趣的:(NX二次开发)