|
马上注册,结交更多同行朋友,交流,分享,学习。
您需要 登录 才可以下载或查看,没有帐号?注册
x
我是调用函数UF_UI_select_with_single_dialog来通过鼠标获取对象的object_id ,如下的代码中的返回参数tObject,但是我想得到是选择的part的名称,因此我用了一个函数UF_OBJ_ask_name,但是获取回来的对象的名称是空的,不知道为什么,请大虾看看:
char sCue[]="单对象选择对话框";
char sTitle[]="单对象选择对话框";
int iScope=UF_UI_SEL_SCOPE_NO_CHANGE;
int iResponse;
tag_t tObject;
tag_t tview;
double adCursor[3];
UF_UI_select_with_single_dialog(sCue,sTitle,
UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,
[$iResponse, &tObject, adCursor, &tview)]
char name[200 + 1];
UF_OBJ_ask_name(tObject,name); //不知道为什么,这个函数中的参数name返回是个空值?
********************************************************
下面是UF_UI_select_with_single_dialog中的参数init_proc的定义:
static int init_proc(UF_UI_selection_p_t select,void* user_data)
{
int num_triples = 1;//可选择类型的数量
UF_UI_mask_t mask_triples[]={UF_solid_type}; //可选择的类型,还有些不太了解,我想只让选择solid body,不知道我写的对不对?
/* enable only UF_solid_type */
if((UF_UI_set_sel_mask(select,
UF_UI_SEL_MASK_CLEAR_AND_ENABLE_SPECIFIC,
num_triples, mask_triples)) == 0)
{
return (UF_UI_SEL_SUCCESS);
}
else
{
return (UF_UI_SEL_FAILURE);
}
} |
|