pyrevit がホストする ironpython を使用して、すべての型パラメーターのリストを作成しようとしています。次のコードを試しました
from pyrevit import revit, DB
doc =__revit__.ActiveUIDocument.Document
curview = doc.ActiveView
target_category = DB.BuiltInCategory.OST_StructuralColumns
elements = DB.FilteredElementCollector(doc, curview.Id)\
.OfCategory(target_category)\
.WhereElementIsNotElementType()\
.ToElements()
for ele in elements:
parameters = [i.Definition.Name for i in ele.Parameters]
orderedParas = [i.Definition.Name for i in ele.GetOrderedParameters()]
print(sorted(parameters))
print(sorted(orderedParas))
との両方ele.Parameters
で、ele.GetOrderedParameters()
インスタンス パラメータしか生成できませんでした。
インスタンス パラメーターは要素の型パラメーターであると読みました。そこで、ファミリ タイプをキャッチして、上記と同じコードを適用しようとしました。
families = DB.FilteredElementCollector(revit.doc)\
.OfClass(DB.FamilyInstance)
for family in families:
x = family.GetOrderedParameters()
if family.Name == "C2 300x600":
for i in x:
print(i.Definition.Name)
残念ながら、上記のコードはインスタンス パラメータしか生成できませんでした
これを解決するための助けがあれば、深く感謝します