iCAx开思工具箱
标题:
计算单个part在组装体环境中的质量属性
[打印本页]
作者:
hjz310519
时间:
2005-8-29 14:58
标题:
计算单个part在组装体环境中的质量属性
我的思路是这样的,我创建了一个长方体和一个圆柱体,然后在将圆柱体装配到长方体内,组成如下图的装配体,然后我希望同过单选对话框函数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 );
}
作者:
pzytony
时间:
2005-8-29 21:06
你用单对象选择对话框只能获得一个实体,即只能计算一个实体的重量。你试试多对象选择对话框:UF_UI_select_with_class_dialog
作者:
hjz310519
时间:
2005-8-29 21:37
大虾,我的目的就是计算组合体中单个实体的重量,但是现在我编的程序只能实现一下功能:
1 可以计算组合体中根实体的重量,也就是说可以计算出来长方体的重量
2 可以计算非组合体中的实体的重量,也就单个实体环境中实体的重量,也就说如果单独打开长方体和圆柱体,就可以计算出来各自的重量
但是一下功能实现不了:
1 计算不出组合体中子实体的重量,比如我上面所说的,建立一个长方体,一个圆柱体,然后把圆柱体装配到长方体里面,这是长方体就是根实体,圆柱体就是子实体,此时我的程序只能计算出长方体的重量,而计算不出来圆柱体的重量
2 还有一个问题和第一个问题很相似,就是说,如果我另外新建一个空的part,然后把长方体和圆柱体都装配到这个空的part中,那么这个时候,长方体和圆柱体的重量都计算不出来,因为它们都是子实体;
3 我也试了UF_UI_select_with_class_dialog函数,好像还是不行?郁闷阿
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
作者:
hjz310519
时间:
2005-8-30 09:30
我怀疑是不是我选择对象的类型问题,比如说我调用UF_UI_select_with_single_dialog函数中有一个参数,需要设置选择的类型,我把它设置为UF_solid_type类型,不知道对不对?
作者:
hjz310519
时间:
2005-9-1 09:52
键盘兄呢?help!!!!!!!!!!!!!!!!!!!
作者:
hjz310519
时间:
2005-9-14 10:05
换门面了,呵呵,顶一下,
我的问题还是没有解决?:(
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3