国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

Revit API 開發(fā) (3): 一個使用過濾器(filter)的例子

2019-11-14 11:54:17
字體:
來源:轉載
供稿:網(wǎng)友

*如何創(chuàng)建一個Revit AddIn 項目參考:Revit API 開發(fā) (1): Hello World

下面這個例子是找到文檔當中所有的門(Door)。 邏輯主線: 1. Door在Revit里面的element類型是FamilyInstance。 2. Door在Revit里面的category類型是OST_Doors。 3. 想要過濾特定類型的element需要ElementClassFilter。 4. 想要過濾特定類型的category需要ElementCategoryFilter。 5. 想要讓兩種類型的filter同時起作用需要LogicalAndFilter。 6. 找到文檔(Document)里的element需要FilteredElementCollector,可以將其認為是文檔中element的管理器。 7. 將filter傳遞給FilteredElementCollector即可得到所有能夠通過filter的element。

public ICollection<Element> CreateLogicAndFilter(Autodesk.Revit.DB.Document document){ // 找到當前項目中所有的 family instances,并且它們的 category 是 door。 // 創(chuàng)建 ElementClassFilter 過濾器用以獲得所有的 FamilyInstance。 ElementClassFilter familyInstanceFilter = new ElementClassFilter(typeof(FamilyInstance)); // 創(chuàng)建 ElementCategoryFilter 過濾器用以獲得所有的 OST_Doors。 ElementCategoryFilter doorsCategoryfilter = new ElementCategoryFilter(BuiltInCategory.OST_Doors); // 創(chuàng)建 logic And filter 將上面的兩個過濾器合并。 LogicalAndFilter doorInstancesFilter = new LogicalAndFilter(familyInstanceFilter, doorsCategoryfilter); // 將上面的過濾器應用到當前活動的 document。 FilteredElementCollector collector = new FilteredElementCollector(document); IList<Element> doors = collector.WherePasses(doorInstancesFilter).ToElements(); return doors;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 东丰县| 库尔勒市| 绵竹市| 青浦区| 比如县| 云安县| 乐平市| 昌江| 余姚市| 拉孜县| 海阳市| 周口市| 天等县| 林周县| 张家界市| 武隆县| 沂水县| 富平县| 萨嘎县| 营口市| 新源县| 类乌齐县| 济南市| 静安区| 灵川县| 阜康市| 偏关县| 阜宁县| 项城市| 辽宁省| 方山县| 林西县| 博客| 吉隆县| 镇江市| 美姑县| 安国市| 茶陵县| 会理县| 德格县| 临颍县|