|
马上注册登录,享用更多网站功能!
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我的思路是这样的,我创建了一个长方体和一个圆柱体,然后在将圆柱体装配到长方体内,组成如下图的装配体,然后我希望同过单选对话框函数UF_UI_select_with_single_dialog在组装体环境下选择一个part,然后调用重量函数来获取选择的part的质量属性(质心、惯量特性等),但是下面的程序可以实现获取根part(这里是指长方体)的质量属性,获取不了子part(这里是指圆柱体)的质量属性,也就说下面这些程序可以获取单个part环境下的part的质量属性,也可以获组合体下面的根part的质量属性,但是获取不到组合体下面子part的质量属性,不知道为什么?请大虾们指点一下:
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};
/* enable only lines and edges */
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);
}
}
extern "C" DllExport void ufusr( char *parm, int *returnCode, int rlen )
{
char sCue[]="单对象选择对话框";
char sTitle[]="单对象选择对话框";
int iScope=UF_UI_SEL_SCOPE_NO_CHANGE;
int iResponse;
tag_t tObject;
tag_t tview;
double adCursor[3];
/* Initialize the API environment */
int errorCode = UF_initialize();
if ( 0 == errorCode )
{
/* TODO: Add your application code here */
UF_UI_select_with_single_dialog(sCue,sTitle,
UF_UI_SEL_SCOPE_NO_CHANGE, init_proc, NULL,
[$iResponse, &tObject, adCursor, &tview)]
const tag_t ctobject=tObject;
const double accuracy=1.0;
const UF_WEIGHT_units_type_t units=UF_WEIGHT_units_li;
UF_WEIGHT_properties_t properties;
UF_WEIGHT_estab_solid_props (ctobject,accuracy,units,[$properties )]
UF_WEIGHT_ask_props(ctobject,units,[$properties)]
/* Terminate the API environment */
errorCode = UF_terminate();
}
/* Print out any error messages */
 rintErrorMessage( errorCode );
} |
|