理解Revit中“Category、Family、 Familysymbol、 FamilyInstance”四者之间的关系与区别

来源:互联网 发布:sql语句附加数据库 编辑:程序博客网 时间:2024/06/04 18:58

Revit中的Category、Family、FamilySymbol与FamilyInstance

在Revit中除了Category这个概念以外,还有Family、FamilySymbol、FamilyInstance这三个相关的概念。这里通过一张图来说明我对这四个概念的理解:



又如风管类别里面四者的关系:
风管 - 类别(Category)
圆形风管 - 族(Family)
T形三通 - 族类型(FamilySymbol)
画出来的图元 - 族实例(FamilyInstance)

在Revit二次开发中,可以用FilteredElementCollector、OfClass、OfCategory等方法来获取族实例、族类型,如
FilteredElementCollector collector = new FilteredElementCollector(m_document.Document);                //获取门实例                collector.OfCategory(BuiltInCategory.OST_Doors).OfClass(typeof(FamilyInstance));                IList<Element> instancelists = collector.ToElements();                //获取门类型                collector.OfCategory(BuiltInCategory.OST_Doors).OfClass(typeof(FamilySymbol));                IList<Element> symbollists = collector.ToElements();                //获取门族                collector.OfCategory(BuiltInCategory.OST_Doors).OfClass(typeof(Family));                IList<Element> Familylists = collector.ToElements();

同时,在Revit二次开发中,类别、族、族类型和族实例也可以相互获取

例如,从族实例获取族类型:

 FamilyInstance familyInstance = item as FamilyInstance;                    FamilySymbol familysymbol=familyInstance.Symbol;

从族类型获取族的方式如下:

 Family family=familysymbol.Family;




0 0
原创粉丝点击