最近在做项目的剖面出图,相信做过项目的读者也经历过出图的痛苦,在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);
}
接下来就是开启事务,调用视图的隐藏图元方法,对标高进行隐藏处理:
Transaction trans = new Transaction(doc);
trans.Start("隐藏轴网");

本文介绍了在Revit中通过二次开发实现隐藏视图中特定图元,特别是标高的隐藏方法。首先获取视图中的所有标高,筛选需要隐藏的元素,然后使用事务和隐藏图元方法完成操作。还提供了LevelSelectionFilter过滤器的代码示例。
最低0.47元/天 解锁文章
744

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



