LPSLDWORKS p_sldwork = TheApplication->GetSWApp();//定义p_sldwork指针
LPMODELDOC pModelDoc = NULL;//定义pModelDoc指针
LPPARTDOC pPartDoc = NULL;//定义pPartDoc指针
LPENTITY pEntity = NULL;//定义pEntity指针
long nSelCount = 0;//定义选择数
BSTR entityName;//定义实体名字符串
if (!p_sldwork) return;//如果无p_sldwork,则返回
p_sldwork->get_IActiveDoc(&pModelDoc);//获得pModelDoc指针
if (!pModelDoc) return;//如果没有pModelDoc,则返回
pModelDoc->QueryInterface(IID_IPartDoc,(LPVOID *)&pPartDoc);//获得pPartDoc指针
if (!pPartDoc) {
//如果没有pPartDoc,则释放指针
pModelDoc->Release();
return;
}
//用SelectionMgr获到m_Entity
LPUNKNOWN pUnk = NULL;//定义pUnk指针 &nbs

该篇博客详细介绍了如何通过SolidWorks的二次开发接口获取用户选择的实体名字。首先,通过TheApplication->GetSWApp()获取应用程序指针,接着获取当前活动文档的ModelDoc指针,再进一步得到PartDoc指针。利用选择管理器获取选定对象的数量,如果选择数量不为0,就获取第一个选定对象的实体指针,并通过IGetEntityName方法获取实体名称。最后,将实体名称显示给用户并释放相关指针。
最低0.47元/天 解锁文章
2781





