问题:
我们在使用Dynamo进行开发过程中,可能需要对某种类型的所有元素进行读取,比如读取所有的墙壁,所有的柱,所有的梁等等,可以使用Dynamo的节点搭建读取,也可以使用python script,下面演示如何用python读取这些元素。
方法:
直接上代码!!!
# 导入标准库
import clr
clr.AddReference('RevitServices')
# 导入文档管理模块
from RevitServices.Persistence import DocumentManager
clr.AddReference('RevitNodes')
import Revit
clr.ImportExtensions(Revit.Elements)
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
from Autodesk.Revit.DB.Plumbing import *
# 打开文档
doc = DocumentManager.Instance.CurrentDBDocument
# 获取所有的水管系统类型
pipingSystem = FilteredElementCollector(doc).OfClass(PipingSystemType).ToElements()
#获取第一种水管系统类型的名称
name1 = pipingSystem[0].Name
# 获取所有的水管类型
pipeType = FilteredElementCollector(doc).OfClass(PipeType).ToElements()
此外,还可以获取所有管道,通过FilteredElementCollector(doc).OfClass(typename).ToElements()语句可以获取很多类型的所有成员。
希望我的笔记能帮到您,谢谢您的观看,如果觉得不错卑微求个小赞,谢谢!!!