此帖
如何遍历模型包括外部引用在内的所有元素 - 技术资料库 - Bentley 中国优先社区 - Bentley Communities
使用的是mdlfence函数,但是我用的是fencemanager,fence范围正确,但是只返回的当前模型的元素,代码见下
FenceManagerR manager = FenceManager::GetManager(); ViewportP vpActive = IViewManager::GetActiveViewSet().GetSelectedViewport(); manager.DefineByPoints(&pts[0], 5, vpActive);//pts为测试点 FenceParamsP fenceParams = FenceParams::Create(ACTIVEMODEL); fenceParams->SetClipMode(FenceClipMode::None); fenceParams->SetOverlapMode(true); fenceParams->SetLocateInteriors(LocateSurfacesPref::Always); manager.InitFromActiveFence(*fenceParams, true, false, FenceClipMode::None); DgnModelRefList searchList; for (const DgnModelRefP& modelP : models)//models 包含当前model和参考文件里的model searchList.push_back(modelP); ElementAgenda agenda; manager.BuildAgenda(*fenceParams, agenda, &searchList, false, false, false); FenceParams::Delete(fenceParams);
请问哪里需要改进?