UG - NX二次开发基础-OpenAPI - 图文(5)

2019-08-01 22:43

一 册 通 UG NX 5.0

值介于5和18之间,即使用者选择菜单项1,那么返回值是5,使用者选择菜单项14,那么返回值是18。下面是返回值的说明。 (1)1:回退。 (2)2:取消。

(3)5~18:选中了的菜单项。

(4)19:不允许状态,不能启动对话框。

uc1605解决多项选择菜单的问题,与uc1603不同,该子过程没有默认的选择项,数组变量的每一个元数的初值是0。下面介绍返回值及参数。 (1)1:回退。 (2)2:取消。 (3)3:接收。

(4)4:有多个选项被选择。

(5)8:不允许状态,不能启动对话框。

【例22-7】 创建单选菜单列表对话框和多选菜单列表对话框。

操作步骤如下。

把下面的代码添加到例22-1中黑体字代码所在的位置,按快捷键F7,编译Example工程,

出现编译成功的信息。

char SingleMenuStr[]=\单选菜单列表对话框\

int OkDefault=1;

char MenuOptions[][38]={\选项1\选项2\选项3\int NumOfOption=3;

uc1603(SingleMenuStr,OkDefault,MenuOptions,NumOfOption);

启动UG NX 5.0,选择【文件】|【执行】|【NX打开…】命令,弹出如图22-17所示

对话框。选择生成的动态库文件“Example.dll”,单击 单列表对话框。

按钮,出现如图22-20所示的单选菜

图22-20 执行“Example.dll”文件生成的单选菜单列表对话框

492

把下面的代码添加到例22-1中黑体字代码所在的位置,执行与上面相同的操作,即可得

到如图22-21所示的多选菜单列表对话框。

char SingleMenuStr[]=\多选菜单列表对话框\int *ItemMenu;

char MenuOptions[][38]={\选项1\选项2\选项3\int NumOfOption=3;

uc1605(SingleMenuStr,0,MenuOptions,NumOfOption,ItemMenu);

图22-21 执行“Example.dll”文件生成的多选菜单列表对话框

22.2.4 对象选择对话框

UG/Open API提供了专门的接口“UF_UI”模块,让开发人员开发的应用能够从Unigraphics图形界面选取几何对象。常用的对象选择对话框有两种:单对象选择对话框与按类选择对话框。UF_UI模块中的函数主要实现两种功能:一种是通过有过滤功能的函数,把开发者定义的可选对象选出来;一种是弹出对话框,让用户在可选对象中选择一个或多个对象。这些函数都在头文件uf_ui.h中定义。下面介绍这两个常用的对话框。注意,调用这两种对话框之前UG环境中必须有工作部件存在。

1.按类选择对话框

按类选择对话框通过函数UF_UI_select_with_class_dialog创建,并且能够一次选择同类的多个对象。如果返回值是UF_UI_OK,则被选择的对象保持高亮状态,当然也有可能没有选中任何对象。若返回值是UF_UI_BACK或UF_UI_CANCEL,所有被选的对象都不会高亮显示。默认的可选对象是所有的可选标准类型,开发人员还可以通过函数UF_UI_set_sel_procs来指定特殊的过滤过程及选择回调。函数UF_UI_add_to_sel_list用于事先指定已选对象。 【例22-8】 创建按类选择对话框。

操作步骤如下。

把下面的代码添加到例22-1的extern \

int rlen )函数中:

第22章 UG NX 5.0二次开发基础 493

一 册 通 UG NX 5.0

//定义初始化进程函数

#define UF_CALL(X) (Report( __FILE__, __LINE__, #X, (X))) int Report( char *file, int line, char *call, int irc) { return (irc); }

static int init_proc(UF_UI_selection_p_t select,void* user_data) { int num_type=2; UF_UI_mask_t mask_triples[]={UF_line_type,0,0,UF_solid_type,0, UF_UI_SEL _FEATURE_ ANY_EDGE};

if((UF_CALL(UF_UI_set_sel_mask(select,UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,num_type,mask_triples)))==0)

{ return (UF_UI_SEL_SUCCESS); } else { return (UF_UI_SEL_FAILURE); } }

把下面的代码添加到例22-1中黑体字代码所在的位置,按快捷键F7,编译Example工

程,出现编译成功的信息。

//按类选择对话框

char TypeDialogBox[]=\按类选择对话框\char DialogBoxTitle[]=\按类选择对话框\int Scope=UF_UI_SEL_SCOPE_NO_CHANGE; int Response; int Count;

tag_t* atObject;

UF_CALL(UF_UI_select_with_class_dialog(TypeDialogBox,DialogBoxTitle,Scope,init_proc,NULL,&Response,&Count,&atObject));

启动UG NX 5.0,选择【文件】|【新建】命令,创建新部件,弹出如图22-11所示对话

框,在

文本框中输入“part”,单击

按钮,出现如图22-12所示的界面。

。单击

出现如图22-22所示的

选择【文件】|【执行】|【NX打开…】命令,弹出如图22-17所示对话框。选择生成

的动态库文件“Example.dll”,单击 按类选择对话框。

在上面的函数中首先定义了一个初始化进程函数init_proc,在该函数体中使用函数UF_UI_set_sel_mask设置被选对象的类型(可以是多种类型),然后将初始化进程函数名作为对象选择对话框函数的第4个参数。

2.单对象选择对话框

单对象选择对话框通过函数UF_UI_select_with_single_dialog创建,并可通过鼠标选择或用键盘输入对象名来选择对象,被选中的对象高亮显示。下面给出单个对象选择对话框的实例代码,在此之前,需要将上例的程序初始化进程函数init_proc加入进来,编译成功后的显示结果如图22-5所示。

按钮,弹出按钮

494

图22-22 执行“Example.dll”文件生成的按类选择对话框

【例22-9】 创建单个对象选择对话框。

操作步骤如下。

把下面的代码添加到例22-1中黑体字代码所在的位置,按快捷键F7,编译Example工

程,出现编译成功的信息。

char TypeDialogBox[]=\单个对象选择对话框\char DialogBoxTitle[]=\单个对象选择对话框\int Scope=UF_UI_SEL_SCOPE_NO_CHANGE; int Response; tag_t tObject; tag_t tView;

double tCursor[3];

UF_CALL(UF_UI_select_with_single_dialog(TypeDialogBox,DialogBoxTitle,Scope,init_proc,NULL,&Response,&tObject,tCursor,&tView));

启动UG NX 5.0,选择【文件】|【新建】命令,创建新部件,弹出如图22-11所示的对

话框。在【名称】文本框中输入“part”,单击【确定】按钮,出现如图22-12所示的界面。

选择【文件】|【执行】|【NX打开…】命令,弹出如图22-17所示对话框。选择生成

的动态库文件“Example.dll”,单击 按钮,生成如图22-23所示的单个对象选择对话框。

第22章 UG NX 5.022.3 消息的发布与获取

在UG NX 5.0的操作进程中常常需要向用户发布一些信息,如错误警告、数据结果、提示信息和状态报告等,或者获取一些信息,如字符串和数字等。开发人员可以通过消息对话框、UG NX 5.0信息窗口、提示行和状态行等发布消息,通过用户输入获取消息并等候应答。

二次开发基础 495

一 册 通 UG NX 5.0

图22-23 执行“Example.dll”文件生成的单个对象选择对话框

22.3.1 信息窗口

UG NX 5.0信息窗口支持在UG NX 5.0环境中显示一个文本框的操作,用户可以在文本框中输入文本,也可以将文本保存到文本文件中。UG NX 5.0信息窗口主要用于向用户提供一些具体的操作或查询信息,如显示分析结果,报告工作进程和提供警告信息等,有关UG NX 5.0信息窗口的函数在头文件uf_ui.h中定义。UG NX 5.0信息窗口对应的UF函数和操作功能如下:

UF_UI_open_listing_window() //打开信息窗口

UF_UI_is_listing_window_open() //检查信息窗口是否打开 UF_UI_write_listing_window() //往信息窗口中输入文本 UF_UI_save_listing_window() //把信息窗口的信息存入文件中 UF_UI_close_listing_window() //关闭信息窗口 UF_UI_exit_listing_window() //退出信息窗口

【例22-10】 创建UG NX 5.0信息窗口操作。

操作步骤如下。

把下面的代码添加到例22-1中黑体字代码所在的位置,按快捷键F7,编译Example工程,出现编译成功的信息。

UF_UI_open_listing_window();

UF_UI_write_listing_window(?1(\

UF_UI_close_listing_window(); uc1601(\logical OpenWin;

UF_UI_is_listing_window_open(&OpenWin); if(!OpenWin) { UF_UI_open_listing_window(); }

496


UG - NX二次开发基础-OpenAPI - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:输电线路施工考试试题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: