过滤是Revit的重要技术。用FilteredElementCollector 类可以实现对所有对象的过滤,这个类功能强大,效率也很高。 可以给他添加过滤条件,从中获取过滤结果。 我曾经录制过一个专题讲解高效对象过滤,请看本博这篇文章: http://blog.csdn.net/joexiongjin/article/details/6792174
这里具体谈下你需要的代码。
过滤建筑柱子:
FilteredElementCollector collector = new FilteredElementCollector(doc); collector.OfCategory(BuiltInCategory.OST_Columns).OfClass(TypeOf(FamilyInstance)); IList<Element> columnList = collector.ToElements(); //返回选中的柱子
过滤梁:
FilteredElementCollector collector = new FilteredElementCollector(doc); collector.OfCategory(BuiltInCategory.OST_StructuralFraming).OfClass(TypeOf(FamilyInstance)); IList<Element> beamList = collector.ToElements(); //返回选中的梁 作者:叶雄进文章来源:http://blog.csdn.net/joexiongjin/article/category/782739
|