iCAx开思工具箱
标题:
CAA: 如何得到part的mass属性值
[打印本页]
作者:
HNBoTree
时间:
2005-12-20 10:09
标题:
CAA: 如何得到part的mass属性值
我用CATIInertia接口得到的property不正确,请各位高手指教。
CATIInertia* piInertiaOnPart = NULL;
rc = catPart->QueryInterface(IID_CATIInertia, (void**)&piInertiaOnPart);
if(SUCCEEDED(rc))
{
rc = piInertiaOnPart->GetInertia(&dDensity, &dMass, dPosition, dMatrix3x3, dComponents, dValues, &dVolums, &dAreas);
}
这样得到的dDensity为1000,而catia中显示的确是0,如何能够得到正确的dDensity。
谢谢!
作者:
HNBoTree
时间:
2005-12-20 12:57
CATIA中有什么API可以直接得到Density的?
作者:
hick
时间:
2005-12-20 13:40
before CATIInertia
you must use CATISpaEnvironment->Init()
作者:
HNBoTree
时间:
2005-12-21 11:25
yes ,我在用之前已经做了这样的动作。
if(SUCCEEDED(HR_Env))
{
HR_Init = piSpaEnvironment->Init();
}
但是得到值还是1000,我想是不是还有其他的API可以做到功能?
作者:
tyeqin
时间:
2005-12-22 10:30
这样做:
ProductStructureTypeLib::Analyze *oAnalyze;//得到CATIA中体积等属性而用
if(temp0.Find(".catpart")>=0){
partDoc = pDocs->Item(&var);
ProductStructureTypeLib:: Product *pProduct;
pProduct = partDoc-> Product;
}
pProduct->get_Analyze(&oAnalyze);
oAnalyze->get_Volume(&oValue);
oAnalyze->get_Mass(&oValue);
作者:
HNBoTree
时间:
2007-1-2 18:44
我现在又发现了一个新问题,请大家帮忙指导!谢谢了先!
在CATIA V5 R16 版本上,CATPart 的properties/Mass 多了一个 Only main body 选项。
现在不管我用哪种方法去得CATPart 的 Mass 都不能够得到正确的结果。也不是单位的问题。
但是我发现CATInertia 上的一个API,SetGranularityMode(); 可以确保是Main body 的 Mass 值还是 all bodies 的Mass 值。
我的问题就在怎么样能够得到这个Only main body 的属性值。
由哪个API 可以提供?
作者:
HNBoTree
时间:
2007-1-3 12:47
得到CATPart 的properties/Mass 的属性,我觉得有可能不用CATIInertia 和Analyze 这些API。
还有没有其他API吗,大家是否知道?
欢迎光临 iCAx开思工具箱 (https://t.icax.org/)
Powered by Discuz! X3.3