Revit Python Shell その4 RevitLookUp
Revit APIを操作する上で外せないアドインの一つを紹介します。RevitLookUpです。RevitLookUpは普段目にすることのないRevitの内部データにアクセスすることができるツールです。
インストール方法等は以下のページを参照してください。
RevitLookUpで太文字になっている部分はダブルクリックでさらに内容が見えるようになっています。また、ここで内容が入っているものについては、RevitPythonShellでも値を取得することができます。
値の取得方法は簡単で、例えばIdを取得したい場合には、
import clr
clr.AddReference('RevitAPI')
clr.AddReference('RevitAPIUI')
from Autodesk.Revit.DB import *
app=__revit__.Application
doc=__revit__.ActiveUIDocument.Document
collector = FilteredElementCollector(doc)
collector.OfCategory(BuiltInCategory.OST_Grids)
collector.WhereElementIsNotElementType()
OUT=collector.ToElements()
for i in OUT:
print i.Id
といった具合になっています。
また太文字の値の取得についてもみていきます。Curveの内部の値Lengthを取得します。Lookupの中ではこうなっています。
import clr
clr.AddReference('RevitAPI')
clr.AddReference('RevitAPIUI')
from Autodesk.Revit.DB import *
app=__revit__.Application
doc=__revit__.ActiveUIDocument.Document
collector = FilteredElementCollector(doc)
collector.OfCategory(BuiltInCategory.OST_Grids)
collector.WhereElementIsNotElementType()
OUT=collector.ToElements()
for i in OUT:
print i.Curve.Length
また、ElementIdがわかっている場合にはGetElementを使用してエレメントを選択することができます。その場合は次のように書きます。
elemId=ElementId(195239)
elem=doc.GetElement(elemId)
ElementIdコントラクター(正確にはちがいますが、ただの数字ではなくElementIdとしてパソコンが認知できるようにすること)を用います。ApiDocsで確認すると、以下の3つの方法をもっていることがわかります。
今回は数字からElementIdを作成するので、一番上のElementId(int32)を利用しています。また、このあと、GetElement(ElementId)を使用してElementの選択をしています。GetElement Methodはこのように書かれています。今回は2番目の方法を利用しています。
この記事が気に入ったらサポートをしてみませんか?