1、先获取当前激活的编辑器
CATFrmEditor* pEditor = CATFrmEditor::GetCurrentEditor();
if (pEditor == nullptr)
return S_FALSE;
关于方法【GetCurrentEditor】的解释如下图所示。
2、通过【CATPLMComponentInterfacesServices】去获取当前编辑器的根。
CATPLMComponentInterfacesServices::GetEditedRootPLMComponents(pEditor, rootPLMComponentList);
以下是全部执行代码
HRESULT hc = E_FAIL;
//获取当前【Session】编辑器
CATFrmEditor* pEditor = CATFrmEditor::GetCurrentEditor();
if (pEditor == nullptr)
return S_FALSE;
//获取当前根【CATIPLMComponent】
CATListPtrCATIPLMComponent rootPLMComponentList;
CATPLMComponentInterfacesServices::GetEditedRootPLMComponents(pEditor, rootPLMComponentList);
int iPLMCompt = rootPLMComponentList.Size();
if (iPLMCompt != 1)
return S_FALSE;
piPLMCompRoot = rootPLMComponentList[1];
更多学习内容,可关注公众号:CAD软件二次开发
以上内容为个人测试过程的记录,供大家参考。
内容如有错欢迎批评指正,谢谢!!!!