revit怎么加入族元素?Revit元素类别——Dynamo Python系列教程
文章来源:BIM的乐趣
今天我们来聊聊Revit元素这点事,不仅仅是在DynamoPython之中涉及,我们在日常使用Revit的时候,也涉及这个问题,只是对我们日常画图没什么影响,所以很多人并没太在意这块。
Revit Elements分为六个组:
模型元素:代表建筑项目中存在的物理项。“模型元素”组中的元素可以细分为以下内容:
族实例:包含族实例对象。您可以将族对象加载到项目中,或从族模板创建它们;
主体元素:包含可以包含其他模型元素(例如,墙,屋顶,天花板和地板)的系统族对象;
结构元素:包含仅在RevitStructure中使用的元素。
草图元素:代表用于2D/3D草图的临时项目:
草图平面
草图
3D路径
视图元素:表示您在Revit中查看和与其他对象交互的方式。
组元素:代表Revit中的辅助图元,例如数组和组对象。
注释和数据元素:包含可见的非物理项。
信息元素:包含用于存储项目和应用程序数据的非物理不可见项:
项目基准图元
每个组包含相关的元素及其对应的符号。
图元也按以下分类:
类别
族
符号
实例
那我们DynamoPython涉及到的呢,主要有一下几个应用:
从实例上移到类别:
instanceElement = UnwrapElement(IN[0])
OUT = instanceElement.Symbol, instanceElement.Symbol.Family, instanceElement.Symbol.Category.Name
要选择所有族类型,我们可以使用FilteredElementCollector.ToElements()检索Revit元素:
collector = FilteredElementCollector(doc).OfClass(FamilySymbol)
OUT = collector.ToElements()
要在给定类别ID的情况下选择类别的所有族类型:
collector=FilteredElementCollector(doc)
bic=System.Enum.ToObject(BuiltInCategory,-2001320)
collector.OfCategory(bic)
OUT=collector.ToElements()
等效于:
collector=FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Walls).ToElements()
如果只想选择实例,则需要添加ElementIsNotElementType():
collector=FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Walls).ElementIsNotElementType().ToElements()
要从“族类型”中选择所有元素,我们需要:
查找“家庭类型”所属的类别ID
选择该类别的所有元素[collector.OfCategory(bic)]
寻找与家庭类型具有相同TypeId的元素
doc=DocumentManager.Instance.CurrentDBDocument
famtypes=UnwrapElement(IN[0])
elementlist=list()
forftinfamtypes:
collector=FilteredElementCollector(doc)
bic=System.Enum.ToObject(BuiltInCategory,ft.Category.Id.IntegerValue)
collector.OfCategory(bic)
foritemincollector.ToElements():
ifitem.GetTypeId().IntegerValue==ft.Id.IntegerValue:
elementlist.append(item)
#elementlist.append(ftlist)
OUT=elementlist
Revit中文网作为国内知名BIM软件培训交流平台,几十万Revit软件爱好者和你一起学习Revit,不仅仅为广大用户提供相关BIM软件下载与相关行业资讯,同时也有部分网络培训与在线培训,欢迎广大用户咨询。
网校包含各类BIM课程320余套,各类学习资源270余种,是目前国内BIM类网校中课程最有深度、涵盖性最广、资源最为齐全的网校。网校课程包含Revit、Dynamo、Lumion、Navisworks、Civil 3D等几十种BIM相关软件的教学课程,专业涵盖土建、机电、装饰、市政、后期、开发等多个领域。
需要更多BIM考试教程或BIM视频教程,可以咨询客服获得更多免费Revit教学视频。
BIM技术是未来的趋势,学习、了解掌握更多BIM前言技术是大势所趋,欢迎更多BIMer加入BIM中文网大家庭(http://www.wanbim.com),一起共同探讨学习BIM技术,了解BIM应用!
相关培训