如何获取CATIA文档的属性

本文原作者:Luca Gutierrez,经授权后转发

扫码关注微信公众号:CATIA二次开发助手

扫码关注微信公众号:CATIA二次开发助手

CATIA文档属性


CATIA的文档属性是开发过程经常需要获取的信息。在CATIA V5中,系统不仅提了“零件编号”等常用属性,还支持自定义扩展属性。值得注意的是属性值都需要一个数据类型,如下图所示,“长”自定义属性的属性值类型为“长度”。

定义其他属性

定义其他属性

  1. 查询CATIAttributesDescription接口
  2. 获取属性的属性值
1.CATIAttributesDescription是CAA中用来获取属性的接口,其包含FindByNLSNameFindByNameList三个方法。最常用的是通过List方法一次性获取所有的属性,此方法只能获取属性的名称和类型。
  1. 1CATListValCATAttributeInfos attrInfoList;  
  2. 2piAttrDesc->List(&attrInfoList); 
  3. 3for (int i = 1; i <= attrInfoList.Size(); i++){ 
  4. 4 CATAttributeInfos attrInfo = attrInfoList[i]; 
  5. 5 const CATUnicodeString& propertyName = attrInfo.Name(); //属性名 
  6. 6 const CATUnicodeString& valueType = attrInfo.Type()->Name(); //属性类型 
  7. 7 cout << propertyName << "-" << valueType << endl
  8. 8
2.获取属性值的方法GetValue被定义在CATIInstance接口下,一般可以直接从对象查询接口获得。
  1. 1//获得对应属性名的属性值 
  2. 2CATIValue *pValue = piInstance->GetValue(propertyName);  
  3. 3CATUnicodeString value = ""
  4. 4pValue->AsString(value);