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

キャプチャ2

といった具合になっています。

また太文字の値の取得についてもみていきます。Curveの内部の値Lengthを取得します。Lookupの中ではこうなっています。

キャプチャ3

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

キャプチャ4

また、ElementIdがわかっている場合にはGetElementを使用してエレメントを選択することができます。その場合は次のように書きます。

elemId=ElementId(195239)
elem=doc.GetElement(elemId)

キャプチャ5

ElementIdコントラクター(正確にはちがいますが、ただの数字ではなくElementIdとしてパソコンが認知できるようにすること)を用います。ApiDocsで確認すると、以下の3つの方法をもっていることがわかります。

キャプチャ6

今回は数字からElementIdを作成するので、一番上のElementId(int32)を利用しています。また、このあと、GetElement(ElementId)を使用してElementの選択をしています。GetElement Methodはこのように書かれています。今回は2番目の方法を利用しています。

キャプチャ7


この記事が気に入ったらサポートをしてみませんか?