一、CATIDescendants常用方法
public virtual void Append(const CATISpecObject_var&iFeature) = 0 | 添加元素 |
public virtual void GetAllChildren(CATClassId iIntfName, CATListValCATISpecObject_var&oLst) | 获取当前容器下所有元素 |
public virtual void GetDirectChildren(CATClassId iIntfName, CATListValCATISpecObject_var&oLst) | 获取当前容器下第一层元素 |
二、获取几何图形集
//通过名称获取几何图形集 spFather-几何图形集的父级(零件,总成,几何图形集)
CATISpecObject_var GetGEOSet(CATISpecObject_var spFather,CATUnicodeString strName)
{
CATIDescendants_var spDes = NULL_var;
spFather->QueryInterface(IID_CATIDescendants, (void **)&spDes);
//几何图形集的类型—CATIGSMTool
CATListValCATISpecObject_var lstGSMTool = NULL;
spDes->GetAllChildren("CATIGSMTool", lstGSMTool);
for (int i=1; i<=lstGSMTool.Size(); i++)
{
CATIAlias_var spAlias = lstGSMTool[i];
CATUnicodeString strAlias = spAlias->GetAlias();
if (strAlias == strName)
{
return lstGSMTool[i];
}
}
return NULL_var;
}