solidworks二次开发:获得用户选择的实体的名字
2008-07-12 18:46
1051 查看
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指针
LPSELECTIONMGR pSelectMgr = NULL;//定义pSelectMgr指针
pModelDoc->get_ISelectionManager(&pSelectMgr);//获得选择管理器指针
if (!pSelectMgr) {
//如果没有获得选择管理器指针,则释放pModelDoc指针
pModelDoc->Release();
return;
}
pSelectMgr->GetSelectedObjectCount(&nSelCount);//获得所选对象的数目
if (nSelCount != 0){/
/如果选择数不为0
pSelectMgr->IGetSelectedObject3( 1, &pUnk);//获得实体指针pUnk
pUnk->QueryInterface(IID_IEntity,(LPVOID *)&pEntity);//获得实体
}
if (!pEntity){
//如果没有获得实体,则释放pModelDoc和pPartDoc,并返回
pModelDoc->Release();
pPartDoc->Release();
return;
}
pPartDoc->IGetEntityName(pEntity, &entityName);//获得实体名
CString message;//定义字符串
message.Format(_T("Entity Name is: /n%s"), entityName); AfxMessageBox( message );//发送消息给用户 pModelDoc->Release();//释放pModelDoc指针
pPartDoc->Release();//释放pPartDoc指针
pEntity->Release();//释放pEntity指针
return;
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指针
LPSELECTIONMGR pSelectMgr = NULL;//定义pSelectMgr指针
pModelDoc->get_ISelectionManager(&pSelectMgr);//获得选择管理器指针
if (!pSelectMgr) {
//如果没有获得选择管理器指针,则释放pModelDoc指针
pModelDoc->Release();
return;
}
pSelectMgr->GetSelectedObjectCount(&nSelCount);//获得所选对象的数目
if (nSelCount != 0){/
/如果选择数不为0
pSelectMgr->IGetSelectedObject3( 1, &pUnk);//获得实体指针pUnk
pUnk->QueryInterface(IID_IEntity,(LPVOID *)&pEntity);//获得实体
}
if (!pEntity){
//如果没有获得实体,则释放pModelDoc和pPartDoc,并返回
pModelDoc->Release();
pPartDoc->Release();
return;
}
pPartDoc->IGetEntityName(pEntity, &entityName);//获得实体名
CString message;//定义字符串
message.Format(_T("Entity Name is: /n%s"), entityName); AfxMessageBox( message );//发送消息给用户 pModelDoc->Release();//释放pModelDoc指针
pPartDoc->Release();//释放pPartDoc指针
pEntity->Release();//释放pEntity指针
return;
相关文章推荐
- solidworks二次开发:选择命名实体,高亮显示
- SolidWorks 2006实体建模与二次开发教程
- solidworks二次开发:获得点坐标
- solidworks二次开发:在装配体中,对选择的零件进行配合装配
- wordpress二次开发教程手记:站点用户数据共享后的登录问题
- 基于SolidWorks 二次开发专用CAD系统
- AutoCAD二次开发(.Net)之多边形交叉选择
- ecshop二次开发——新注册用户后台确认功能
- 金融理财APP开发 留住用户的最佳选择
- vs2010 solidworks2015 c# add-in模板 二次开发
- Word二次开发--用户编辑时自动显示提示窗口
- solidworks二次开发:更新零件后,对工程图进行更新
- ecshop 二次开发 加入用户定制商品类型
- 基于EasyNVR二次开发实现业务需求:用户、权限、设备管理
- Android App开发常用功能之用户头像选择
- ECSHOP二次开发,在用户中心的订单详情页显示商品缩略图
- iOS 开发 如何获得用户当前位置(通过经纬度获得城市、省份等信息)
- HFun.快速开发平台(三)=》通用系统用户选择
- 如何从Outlook里获得用户的名字和头像
- solidworks二次开发 学习日记--4 异步模式