16.

【PythonでRevit API】pyRevitの導入と簡単なアプリケーションの作成

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

目的

pyRevitを導入し、簡単なアプリケーションを作成する。

 

前提

OS: Windows

 

pyRevitのインストール

https://github.com/eirannejad/pyRevit

上記のgithubからpyRevitをインストールする。

exeファイルをダウンロードして、インストーラーに従い処理を進めれば良い。

 

エクステンション格納用フォルダの作成

自分で作ったプログラム(extension)を格納するためのフォルダを任意の場所に任意の名前で作成する。

例: c:\MyExtensions

 

Revitの起動と設定

Revitを起動する。

pyRevit」 → 「pyRevit▼」 → 「Settings」を押して設定画面を開く。

 

Customer Extension Directories」を選択して「Add Folder」を押して先ほど作成したExtension用のフォルダを設定する。

 

以上でインストール作業は完了。

 

プログラムの作成

pyRevitのエクステンションはルールに則って作成したフォルダに格納する必要がある。

以下、フォルダとスクリプトの定義例。

MyExtensions/

└── MyFirstExtension.extension/

    └── MyTools.tab/

        └── MyTools.panel/

            └── MyFirstCommand.pushbutton/

                ├── icon.png

                └── script.py

 

以下、script.pyの中身。例なので内容は何でもよい。

ファイル名
"""Calculates total volume of all walls in the model."""

from Autodesk.Revit import DB

doc = __revit__.ActiveUIDocument.Document

# Creating collector instance and collecting all the walls from the model
wall_collector = DB.FilteredElementCollector(doc)\
                   .OfCategory(DB.BuiltInCategory.OST_Walls)\
                   .WhereElementIsNotElementType()

# Iterate over wall and collect Volume data
total_volume = 0.0

for wall in wall_collector:
    vol_param = wall.Parameter[DB.BuiltInParameter.HOST_VOLUME_COMPUTED]
    if vol_param:
        total_volume = total_volume + vol_param.AsDouble()

# now that results are collected, print the total
print("Total Volume is: {}".format(total_volume))

 

 

プログラムの実行

Revitをリロードする。

 

定義したタブが出現するので選択して、スクリプトの開始ボタンを押す。

 

画面上の壁の要素が定義されていれば、合計ボリュームが表示される。

子ページ
子ページはありません
同階層のページ
  1. RevitAPI.dll と RevitAPIUI.dll の参照
  2. マニフェストファイルの書き方
  3. アドインの追加/設置方法
  4. アドインの作成サンプル(外部ツール編)
  5. アドインの作成サンプル(外部アプリケーション編)
  6. 要素の取得と情報の表示
  7. 要素のカテゴリとマテリアルの取得と表示
  8. よく使うBuiltInCategoryの一覧
  9. 外部ツールでAutodesk.Revit.Documentを取得する方法
  10. エラーメッセージの設定方法
  11. 「はい」、「いいえ」、「キャンセル」ボタンの設置と処理分岐
  12. 要素(カテゴリ、ファミリ、タイプ)とは
  13. ElementId とUniqueId の違い
  14. 要素フィルターの使い方
  15. 要素のパラメータ一覧の取得
  16. pyRevitの導入と簡単なアプリケーションの作成
  17. Revit SDKのサンプルの場所とビルド方法
  18. FamilySymbol(タイプ)の取得とパラメータの変更
  19. 相対パスでdllにアイコン画像を埋め込む方法

最近の質問

コメント一覧

コメントがありません

ログインしなければコメント投稿はできません。