Revit MEPを使って一口コンセントのファミリを自動で作成し、積算情報も紐付けするためのプログラム

 Revit MEPを使って一口コンセントのファミリを自動で作成し、積算情報も紐付けするためのプログラムを書くには、Revit APIを利用するのが一般的です。以下に、Pythonを使ったRevit APIの基本的な手順を示します。この例では、RevitのPythonシェルを使用して一口コンセントのファミリを作成し、積算情報を紐付けます。


### 手順1: Revit APIの準備

1. **Revit Pythonシェルのインストール**: Revit Pythonシェルをインストールして、Revit内でPythonスクリプトを実行できるようにします。

2. **Pythonライブラリのインポート**: Revit APIを利用するためのPythonライブラリをインポートします。


### 手順2: Pythonスクリプトの作成

以下は、Revit MEPで一口コンセントのファミリを自動で作成し、積算情報を紐付けるためのPythonスクリプトの例です。


```python

import clr

clr.AddReference('RevitAPI')

clr.AddReference('RevitAPIUI')

from Autodesk.Revit.DB import *

from Autodesk.Revit.UI import *


# Revitドキュメントとアプリケーションの取得

doc = __revit__.ActiveUIDocument.Document

app = __revit__.Application


# 一口コンセントのファミリタイプの作成

def create_outlet_family():

    # ファミリテンプレートのパスを指定

    template_path = r"C:\Path\To\Your\Template.rft"


    # ファミリテンプレートを開く

    template_doc = app.OpenDocumentFile(template_path)


    # 新しいファミリドキュメントを作成

    new_family_doc = doc.EditFamily(template_doc)


    # 一口コンセントのファミリタイプを作成

    family_type = new_family_doc.GetFamilyTypes()[0]


    # ファミリタイプの名前を設定

    family_type.Name = "One-Gang Outlet"


    # ファミリドキュメントを保存

    new_family_doc.SaveAs(r"C:\Path\To\Your\OneGangOutlet.rfa")


    # ファミリドキュメントを閉じる

    new_family_doc.Close(False)


# 一口コンセントのファミリタイプをドキュメントにロード

def load_outlet_family():

    # ファミリファイルのパスを指定

    family_path = r"C:\Path\To\Your\OneGangOutlet.rfa"


    # ファミリをドキュメントにロード

    family = doc.LoadFamily(family_path)


    # ファミリタイプを取得

    family_type = family.GetFamilyTypes()[0]


    # ファミリタイプの名前を設定

    family_type.Name = "One-Gang Outlet"


    # ファミリタイプをドキュメントに追加

    doc.Create.NewFamilyInstance(XYZ(0, 0, 0), family_type, doc.ActiveView)


# 積算情報を紐付ける

def assign_quantities():

    # 積算情報のカテゴリを設定

    category = doc.Settings.Categories.get_Item(BuiltInCategory.OST_ElectricalFixtures)


    # 積算情報を作成

    quantity = doc.Create.NewQuantity(category, "One-Gang Outlet Quantity")


    # 積算情報をファミリタイプに紐付ける

    family_type = doc.GetElement("One-Gang Outlet")

    quantity.AssignToFamilyType(family_type)


# メイン関数

def main():

    create_outlet_family()

    load_outlet_family()

    assign_quantities()


# メイン関数の実行

main()

```


### 手順3: スクリプトの実行

1. **Revit Pythonシェルを開く**: Revit内でPythonシェルを起動します。

2. **スクリプトをコピーして貼り付ける**: 上記のスクリプトをPythonシェルにコピーして貼り付けます。

3. **スクリプトを実行**: Pythonシェル内でスクリプトを実行します。


このスクリプトは、一口コンセントのファミリを自動で作成し、積算情報を紐付ける基本的な例です。必要に応じて、ファミリの詳細設定や積算情報のカスタマイズを行ってください。

コメント

このブログの人気の投稿

Pydroid用ピアノアプリ+ラフマニノフピアノ協奏曲第2番1楽章デモ音源付き

訴えの変更(追加的変更)申立

最高裁での上告理由書受理・却下の判断基準について