您的位置:首页 > 编程语言 > Go语言

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

2016-10-25 14:09 591 查看


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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息