Revit Python Shell その2
インストールまではできたと思いますので、RevitAPIにアクセスしてみましょう。
はじめは何もわからないと思いますが、まずはRevitPythonShellにコマンドを入力することになれていきます。
>>>
につづけてコマンドを入力していくことは学びましたね、
import clr
clr.AddReference('RevitAPI')
RevitAPIにアクセスするためのおまじないと思ってください。なにもエラーが発生していなければ、コマンドを入力すると次の行に新しい
>>>が出てきます。
入力内容にミスがあるとエラーが表示されるようになっています。
上の二文はパソコンが素直にコードを受け入れてくれています。
crr.の文では存在しないコード名を入力したのでエラーが出ています。
内容を確認してみると、NameErrorすなわち名前が検索でみつかりませんでした。というエラーです。始めたばかりの頃はよく見るエラーだと思います。
続けて以下のコードを入力します。まだ呪文が続いています。
from Autodesk.Revit.DB import *
doc=__revit__.ActiveUIDocument.Document
collector = FilteredElementCollector(doc)
簡単に内容を説明してみます。あまり深く考えなくて大丈夫です。
from Autodesk.Revit.DB import *
Autodesk.Revit.DB というライブラリに存在するコードをすべて読み込みます。
doc=__revit__.ActiveUIDocument.Document
現在開いているRevitのDocumentを指定しています。Documentとは、Revitのデータそのものだと思っていただいて大丈夫だと思います。
collector = FilteredElementCollector(doc)
FilteredElementCollectorというコマンドを使用して現在のRevitデータからエレメント(部材)を収集します。コマンドの探し方等は今後紹介します。簡易的なもので良ければ、RevitPythonShell内でも英語が読めれば対応できるかもしれません。以下のような感じですね。
collector.OfCategory(BuiltInCategory.OST_Grids)
collector.ToElements()
collectorで取得した中から、カテゴリで内容を絞ります。
BuiltInCategoryはその名の通り、Revitで指定されているカテゴリ名です。
最後に収集したものの中身をElementとして取り出しています。結果としてElementのListが取得できています。
RevitAPIにアクセスしてElementを収集することができました。ちなみにDynamoでこれを表現すると以下のようになります。
この記事が気に入ったらサポートをしてみませんか?