UG/Open API获取用户输入实例
UG/Open API的用户界面接口通过大量的子过程显示提示信息、接收信息及菜单,并等候用户应答。这些子过程是uc1600~uc1613,这些提示信息被显示在UG主界面的暗示行,一般说来,暗示行允许显示80个字符,但还依赖于所使用的字体。下面简单介绍部分函数的功能及其使用方法。(1)函数uc1600():用于获取用户的字符串输入。
(2)函数uc1607():显示键盘输入界面并获取整数输入,返回值及参数说明如下。
1:回退。
2:取消。
3:接收(无用户输入时)。
4:接收(有用户输入时)。
8:不允许状态,不能启动对话框。
(3)函数uc1608():显示键盘输入菜单界面并获取整型或实型输入,返回值及参数说明等同于函数uc1607()。
(4)函数uc1609():显示键盘输入对话框并获取实型数,该函数与uc1607()类似。
(5)函数uc1613():显示键盘输入菜单,并获取整型、实型及字符串数据,该函数与uc1608()类似。
下面的例子来说明函数uc1609的使用方法:
UF_PART_ask_display_part,用于查询当前显示的part文件;
函数UF_MODL_create_exp用于创建表达式;
函数UF_MODL_edit_exp用于修改表达式。
创建获取用户输入的对话框。#include <string.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <uf_defs.h>
#include <uf_curve.h>
#include <uf_modl.h>
#include <uf_part.h>char *cp1 = "CUTTER DATA";
char cp2[]={"Diameter", "Cut Length", "Flute Blade" };
int ir6, ip3 = 3 ;
double tool_data[] = { 3, 3, 1 };
int ip5[] = { 6,6,6 };
char dia, cut, flute, tmp;
int actprt;
ir6 = uc1609( cp1, cp2, ip3, tool_data, ip5 );
strcpy(dia,"dia=");
sprintf(tmp,"%f",tool_data);
strcat(dia, tmp);
strcpy(cut,"cut=");
sprintf(tmp,"%f",tool_data);
strcat(cut, tmp);
strcpy(flute,"flute=");
sprintf(tmp,"%f",tool_data);
strcat(flute, tmp);
actprt = UF_PART_ask_display_part(); /* check if active part */
if( actprt != NULL_TAG)
{ ir6 = UF_MODL_create_exp(dia);
if( ir6 != 0) ir6=UF_MODL_edit_exp(dia);
ir6 = UF_MODL_create_exp(cut);
if( ir6 != 0) ir6=UF_MODL_edit_exp(cut);
ir6 = UF_MODL_create_exp(flute);
if( ir6 != 0) ir6=UF_MODL_edit_exp(flute);}
非常感谢楼主的分享。 {:sweat:}没看懂 还是要支持的 做个标记,顶上去
页:
[1]