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

首頁 > 學院 > 開發設計 > 正文

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

2019-11-14 12:49:01
字體:
來源:轉載
供稿:網友

*如何創建一個Revit AddIn 項目參考:Revit API 開發 (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。 // 創建 ElementClassFilter 過濾器用以獲得所有的 FamilyInstance。 ElementClassFilter familyInstanceFilter = new ElementClassFilter(typeof(FamilyInstance)); // 創建 ElementCategoryFilter 過濾器用以獲得所有的 OST_Doors。 ElementCategoryFilter doorsCategoryfilter = new ElementCategoryFilter(BuiltInCategory.OST_Doors); // 創建 logic And filter 將上面的兩個過濾器合并。 LogicalAndFilter doorInstancesFilter = new LogicalAndFilter(familyInstanceFilter, doorsCategoryfilter); // 將上面的過濾器應用到當前活動的 document。 FilteredElementCollector collector = new FilteredElementCollector(document); IList<Element> doors = collector.WherePasses(doorInstancesFilter).ToElements(); return doors;}
上一篇:set容器

下一篇:堆排序Heap_Sort

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 张家界市| 化德县| 乌苏市| 花垣县| 台前县| 西平县| 葵青区| 郴州市| 深泽县| 二手房| 梅河口市| 稻城县| 彩票| 汾西县| 青铜峡市| 江孜县| 独山县| 惠来县| 蕲春县| 浙江省| 紫云| 原阳县| 武强县| 宁夏| 水富县| 浪卡子县| 张家港市| 哈巴河县| 玉山县| 余庆县| 巩留县| 吉首市| 乐至县| 贵德县| 孝昌县| 永宁县| 新平| 海宁市| 和林格尔县| 镇赉县| 班戈县|