NX二次开发-其它用户出口实例

除常用的ufusr()和ufsta()外,还有其它用户出口,下文有其它用户出口入口点,关键字和环境变量

实例

功能:在保存部件前,先检查部件的名称中是否包含了“NXOpen”字符串

使用的是ufput(),环境变量名是USER_FILE,在ugii_env_ug.dat中设置环境变量

USER_FILE = 编译得到的dll文件

#include "uf_all.h";

//入口函数

void ufput(char* parm, int* returnCode, int rlen) {

//初始化

UF_initialize();

//添加用户代码

//获取工作部件标识

tag_t workPart = UF_ASSEM_ask_work_part();

//获取部件的文件名(包括路径)

char partFullName[MAX_FSPEC_SIZE] = { 0 };

UF_PART_ask_part_name(workPart,partFullName);

//获取部件名称

char partName[MAX_FSPEC_SIZE] = { 0 };

uc4574(partFullName,2,partName);

//判断部件名称是否包含NXOpen 字符串

if (strstr(partName,"NXOpen")!= NULL) {

*returnCode = 0;

}

else {

uc1601("部件名必须含有NXOpen",1);

*returnCode = 1;

}

//终止程序

UF_terminate();

}

//出口函数

int ufusr_ask_unload(void) {

return (UF_UNLOAD_IMMEDIATELY);

}

点击保存部件时,部件名没有NXOpen时会提示信息

程序的卸载方式

UF_UNLOAD_IMMEDIATELY

程序执行完毕立即卸载。在NXOpen C++中,用(int)Session::LibraryUnloadOptionImmediately替代

UF_UNLOAD_SEL_DIALOG

需要在NX主界面单击“File”->“Utilities”->“Unload Shared Image…”,启动 Unload Shared Image工具选择需要卸载的应用程序执行卸载。在NXOpen C++中,用(int)Session::LibraryUnloadOptionExplicitly替代

UF_UNLOAD_UG_TERMINATE

在关闭NX时卸载应用程序,在NXOpen C++中,用(int)Session::LibraryUnloadOptionTermination替代

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值