最终目标是将我想要的 PipeType(Plex Wire)的 ElementId 传递给 Pipe.Create,但我不知道如何在没有要检查的 Pipe 实例的项目中选择正确的 PipeType ElementId。
在一个测试项目中,我使用了 Transfer Project Standards 来引入我想要使用的 PipeType,并手动创建了一些 Pipe 实例来检查......
>>> import Autodesk.Revit as R
>>> types=R.DB.FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_PipeCurves).WhereElementIsElementType().ToElements()
>>> elems=R.DB.FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_PipeCurves).WhereElementIsNotElementType().ToElements()
>>> for i in elems: print(i.Name)
...
Default
Default
Default
Plex Wire
>>> for i in types: print(i.Name)
...
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
AttributeError: Name
...但正如我所提到的,我希望能够从包含所需 PipeTypes(来自项目模板)的项目中使用 Pipe.Create,但没有预先存在的 Pipe 实例。
谢谢