LPMODELDOC pIswModelDoc = NULL;
LPSLDWORKS pIswApp = TheApplication->GetSWApp();
HRESULT hRes;
LPMODELDOC pIswModelDocPart = NULL;
long count;
long type;
hRes = pIswApp->get_IActiveDoc( &pIswModelDocPart );
hRes = pIswModelDocPart->GetType ( &type );
if (pIswModelDocPart != NULL && type == swDocPART) {
LPPARTDOC part ;
hRes = pIswModelDocPart->QueryInterface(IID_IPartDoc,(void **)&part);
part->GetNamedEntitiesCount(&count);//将命名的实体的有关信息存入数组
LPENTITY *entities = new LPENTITY[count];
part->IGetNamedEntities(count,entities);
for(int i= 0;i < count; i++) {
VARIANT_BOOL bRetval;
entities[i]->GetType(&type);
entities[i]->Select2(false, 0, &bRetval);//高亮选中
entities[i]->Release();
}
pIswModelDocPart->Release();
}

本文介绍了如何在SolidWorks中进行二次开发,实现选择当前激活的零件文档(swDocPART类型)中的命名实体,并对其进行高亮显示。通过调用GetSWApp()获取应用程序对象,然后获取IActiveDoc接口,确定文档类型。接着,获取命名实体的数量并存储到数组中,遍历数组,对每个实体进行类型检查和高亮操作。
最低0.47元/天 解锁文章
2781

被折叠的 条评论
为什么被折叠?



