Revit二次开发第二回:LINQ在过滤器中的使用

xiaoxiao2021-02-28  52

针对房间、房间标记等一些特殊的元素,API中提供了一些特殊的Filter以供使用,也可以直接用正常的CLASS和CATEGORY过滤器。

           UIDocument uidoc = commandData.Application.ActiveUIDocument;

            Document doc = uidoc.Document;             RoomFilter roomFilter = new RoomFilter();             FilteredElementCollector roomCollector = new FilteredElementCollector(doc);             List<Element> roomList=             roomCollector.WherePasses(roomFilter).ToList();             var query =                from rooms in roomList                where rooms.Name == "房间"                select rooms;             string roomName = "Rooms:\n";                            if(query.Count()>0)             {                 foreach (var elem in query)                 {                     roomName += elem.Name + "\n";                 }                 TaskDialog.Show("asd", roomName);             }                else             {                 TaskDialog.Show("asd", "未找到符合要求的房间");             }
转载请注明原文地址: https://www.6miu.com/read-2630015.html

最新回复(0)