📜  获取所有视口类型 dynamo revit - Python (1)

📅  最后修改于: 2023-12-03 15:27:50.254000             🧑  作者: Mango

获取所有视口类型 - Dynamo & Revit - Python

在 Revit 中,视口类型是定义视图如何显示的规则的集合。对于 BIM 工程师和程序员来说,了解如何获取视口类型的信息是很有用的。在这篇文章中,我们将介绍如何使用 Dynamo 和 Python 获取所有视口类型的信息。

Dynamo

Dynamo 是一个可视化编程工具,它可以轻松地在 Revit 中创建脚本。如果您还不熟悉 Dynamo,可以通过这篇教程来学习。

以下是获取所有视口类型的 Dynamo 脚本:

import clr
clr.AddReference('RevitServices')
import RevitServices

clr.AddReference('RevitAPI')
import Autodesk
from Autodesk.Revit.DB import *

clr.AddReference('RevitNodes')
import Revit
from Revit.Elements import *

doc = Revit.ActiveDBDocument
collector = FilteredElementCollector(doc).OfClass(ViewFamilyType)
types = []
for item in collector:
  types.append(UnwrapElement(item))
OUT = types

这个脚本使用 FilteredElementCollector 来获取所有的视口类型,并将其放在一个列表中返回。注意,我们使用 UnwrapElementFilteredElementCollector 返回的元素转换为 Dynamo 识别的元素类型。

Python

Python 是一种流行的编程语言,它在 Revit 开发中也很受欢迎。您可以使用 Python 在 Revit 中创建插件或脚本。以下是使用 Python 获取所有视口类型的代码:

import clr
clr.AddReference('RevitAPI')
import Autodesk.Revit.DB as DB

doc = __revit__.ActiveUIDocument.Document
collector = DB.FilteredElementCollector(doc).OfClass(DB.ViewFamilyType)
types = []
for item in collector:
    types.append(doc.GetElement(item.Id))
print(types)

这个脚本使用 FilteredElementCollector 来获取所有的视口类型,并将其放在一个列表中返回。我们使用 GetElementFilteredElementCollector 返回的元素转换为 Revit API 元素类型。

结论

在本文中,我们介绍了如何使用 Dynamo 和 Python 获取所有视口类型的信息。这些脚本可以为 BIM 工程师和程序员提供有用的信息,使他们更轻松地管理和处理 Revit 中的视口类型。