最近在做项目的剖面出图,相信做过项目的读者也经历过出图的痛苦,在Revit中出图需要很多细致且任务量繁重的造操作,比如作者在本文中要讲到的隐藏不需要的图元。下面是作者做的一个剖面中隐藏标高的小功能,具体如下:
首先要收集视图中的所有标高:
FilteredElementCollector coll = new FilteredElementCollector(doc);
coll.OfClass(typeof(Level)).OfCategory(BuiltInCategory.OST_Levels);
ICollection<ElementId> elementIds = coll.ToElementIds();
然后就是排除掉自己不需要,留下需要的标高:
View view = doc.ActiveView;
LevelSelecionFilter levelSelectionFilter = new LevelSelecionFilter();
Reference refer =uidoc.Selection.PickObject(ObjectType.Element,"点选不需要隐藏的轴网!");
Level level = doc.GetElement(refer) as Level;
if (elementIds.Contains(level.Id)) {
elementIds.Remove(level.Id);
}
接下来就是开启事务,调用视图的隐藏图元方法,对标高进行隐藏处理: