2026年4月26日日曜日

IFCのパラメータマッピング

Pset_Common

IFCには「Pset_〇〇Common」という標準パラメータがあります。

例:

Pset_WallCommon

Pset_DoorCommon

多くのパラメータが定義されていますが、Revitの既定のIFCエクスポータで出力されるパラメータもあれば、出力されないパラメータもあります。このような既定の機能では出力されないパラメータを出力するにはマッピングファイルを利用します。この具体的な方法を壁を例に解説します。

Pset_WallCommonの既定の出力

Pset_WallCommonの次のパラメータは、既定のエクスポータで出力されます。ただし、値が空だとパラメータ自体が出力されないので、関連するパラメータにできるだけ値を設定しましょう。(T=タイプパラメータ、I=インスタンスパラメータ)

IFC Revit 備考
Reference タイプ名(T) 文字
FireRating 耐火等級(T) 文字
ThermalTransmittance 熱伝達係数(T) 熱伝達係数 構造マテリアルの断熱情報
LoadBearing 構造(I)&構造用途(I) はい/いいえ 構造用途が"支持"のとき"はい"
IsExternal 機能(T) はい/いいえ "外部"のとき"はい"
ExtendToStructure はい/いいえ 上部がアタッチされていたら"はい"

Navisworksで確認すると次のようになっています。

Pset_WallCommon(IFC Type)

Pset_WallCommon

パラメータマッピングの手順

他の標準パラメータを出力するには、

  1. RevitにIFCパラメータ用のパラメータを準備
  2. マッピングファイルを作成
  3. マッピングファイルを使ってIFC出力
をする必要があります。今回はPset_WallCommonのうち
  • AcousticRating(文字):遮音等級
  • Compartmentation(はい/いいえ):防火区画
を追記し、
  • ExtendToStructure(はい/いいえ)
を上書きしてみます。

RevitにIFC用パラメータを追加

IFC用のパラメータをプロジェクトに追加します。用意するのは次のパラメータです

パラメータ名 T/I 対応IFCパラメータ
IFC_遮音等級 T 文字 AcousticRating
IFC_防火区画 I はい/いいえ Conpartmentation
IFC_上部接続 I はい/いいえ ExtendToStructure

これをプロジェクトパラメータとして、壁カテゴリ、IFCパラメータグループに追加します。共有パラメータである必要はありません。

管理タブ>プロジェクトパラメータ

そして、壁を選択してこれらの値を設定しておきます。

壁のインスタンスパラメータ

壁のタイプパラメータ

マッピングファイル

マッピングファイルの書式は

IFCのPset名(TAB)IFCパラメータ名(TAB)Revitパラメータ名

です。TAB区切りテキストファイルで文字コードは"UTF-8(BOM付)"です。とりあえずExcelで次のように編集します。パラメータ名は「完全一致」ですので、大文字小文字全角半角が完全に一致するように慎重に設定します。
Excelで編集すると楽です

これを"テキスト(タブ区切り)(*.txt)"として名前を付けて保存します。

タブ区切りテキストで保存する

つぎに、保存したテキストファイルをメモ帳で開き、名前を付けて保存からエンコードをUTF-8(BOM付)の変更して同じ名前で上書き保存しましょう。(パラメータ名に日本語を使用している場合はBOM付にしておいた方が文字化けの危険を避けることができます。)
エンコードを変更

マッピングファイルを使って出力

では、準備ができたのでRevitからIFCファイルを出力します。
  1. ファイル>書き出し>IFCで[設定を変更...]ボタンをクリック
  2. コピー元の設定(ここでは例として<IFC4 Reference View [建築]設定>を使います)を選択し、[選択した設定に基づいて新しい設定を作成します]ボタンをクリック、任意の名前を設定してOK

  3. プロパティセットタブの[パラメータマッピングテーブルを書き出し]の[参照]ボタンをクリックして、作成したマッピングファイルを選択します。
    パラメータマッピングファイルを指定する

  4. OK>書き出し
出力されたIFCファイルをNavisworksなどで開いて、パラメータを確認します。

Pset_WallCommon


Pset_WallCommon(IFC Type)

どんなときに使う?

このようにマッピングファイルを使うと、割とお手軽に標準パラメータセットを上書きできます。標準パラメータだけではなく、独自のPsetをマッピングファイルで出力することもできますが、独自のPsetの場合は、集計表を使ったほうが結果を目視できるし、結合パラメータや計算式や条件式も使えるので、集計表のほうが断然おススメです。
パラメータマッピングは標準パラメータの上書きが主たる目的になりそうですね。

2026年4月19日日曜日

書き出しIFCクラスと定義済みIFCタイプ

IFCパラメータの働きについて

 要素のインスタンスパラメータの"IFCパラメータ"グループには次の4つのプロパティがあります。

インスタンスパラメータ


タイプパラメータにもあります。

タイプパラメータ
このうち"IfcGUID"は自動で割り当てられるので、のこりの3つのパラメータ
  • IFCに書き出し
  • 書き出しIFCクラス
  • 定義済みIFCタイプ
の働きを次のデータで説明します。
Revitのデータ。右の二つのドアは同タイプ
これを普通にIFCで出力するとこうなります。

IFC(Navisworksで表示)

IFCに書き出し(タイプ)

値:「既定」「はい」「いいえ」

既定

"既定"はIFC書き出し設定に従うという意味で最も標準的な書き出し方法です。

いいえ

"いいえ"を選ぶとこのタイプはIFCに書き出されません。片開きドアのタイププロパティ"IFCに書き出し(タイプ)"をいいえに設定すると、このタイプはIFCでは出力されません。

いいえを選ぶとそのタイプは出力されない

はい(≒既定)

"はい"と既定とは実質的にはほとんど変わりません。あまり意味はないので普段は既定でよいでしょう。

書き出しIFCクラス(タイプ)と定義済みIFCタイプ(タイプ)

この情報はIFCに出力後のプロパティ、IFCTypeの IfcClassとPredefinedTypeに相当します。
IFCTypeパラメータセット

特に指定しなくても、Revitの既定のカテゴリマッピング(カテゴリとIFCクラスの紐づけ)が適用されます。定義済みIFCタイプをDoorではなく他のタイプに変更したい場合は、クリックして変更しましょう。


他にも、一般モデルカテゴリでインプレイスファミリを作った場合・・・
一般モデルファミリ

このまま出力するとIfcクラスはIfcBuildingElementProxyTypeになります。
一般モデルをIFC出力

IfcBuildingElementProxyType は「分類できない要素のための“受け皿”」です。Proxy = 代理・代替(=正体がはっきりしないものの仮の表現)なので、受け取り側に意味が伝わりません。このようなファミリはぜひIfcクラスを指定することをお勧めします。

Ifcクラスを指定する

例えばこれが家具だったとします。その場合、"書き出しIFCクラス(タイプ)"をクリックして、IfcFurnitureTypeを指定します。さらにPREDEFINEDTYPEをSOFAなどに指定します。
Ifcクラスを指定しよう

出力すると・・・・
IfcClassが変更された

これでIFCを受け取る側に要素の意味を伝えることができます。一般モデル特殊設備カテゴリおよびインプレイスファミリは特に注意して、きちんとIfcClassを指定しましょう。
ほかにも本来の用途とは異なる使い方をしている要素もIfcClassを指定してください。例えば「サンプル意匠.rvt」では外構のフェンスをカーテンウォールで作成していますが、これがフェンスであることを明確に伝えるためには IfcRailing.FENCEを指定するとよいでしょう。
フェンスをカーテンウォールで作っている

IFCに書き出し(インスタンス)

値:「タイプ別」「はい」「いいえ」

タイプ別はIFCに書き出し(タイプ)に従うという意味で、「いいえ」にすると、インスタンスごとにIFCに出力しない状態にできます。
中央のドアだけ"いいえ"に設定した場合

書き出しIFCクラスと定義済みIFCタイプ(インスタンス)

これは"書き出しIFCクラス(タイプ)"と"定義済みIFCタイプ(タイプ)"と同じ働きで、インスタンス単位でクラスとタイプを上書きするものです。

結論

  • IFC関連パラメータは基本的には既定値のままでよい
  • 一般モデル・特殊設備カテゴリ、インプレイスファミリ、本来のカテゴリの用途とは異なるモデルはIfcクラス・定義済みIFCタイプを上書きする

2026年4月12日日曜日

任意のRevitプロパティのみIFCに書き出す

オリジナルのPsetをつくる

前回はRevitプロパティをすべてIFCに書き出す方法を紹介しましたが、任意のパラメータを出力する方法を紹介します。カギとなるのはおなじみの「集計表」です。集計表を作るだけでオリジナルのPsetをつくってIFCとして出力することができます。

Revit標準添付のサンプル意匠.rvtで試してみましょう。

  1. まず集計表:20 ドア 建具表 SDを複製して名前を"Pset_Door"に変更します。
  2. 集計表のプロパティ「フィルタ」で「建具種類」「より大きい」「(空白)」としてすべてのドアを表示します。
    フィルタの設定を変更

  3. 3Dビューを表示
  4. ファイル>書き出し>IFC
  5. "設定を変更"ボタンをクリック
  6. IFC4 Reference View [建築]を選択し、ダイアログボックス左下の"選択にもどついて新しい設定を作成します。"ボタンをクリック
  7. 名前を「IFC4 Reference View [建築] _Pset集計表」などに変更しOK
  8. プロパティセットタブで"集計表をプロパティセットとして書き出し"に✔
  9. さらに"タイトルにIFC、Pset、Commonが含まれる集計表のみを書き出し"に✔
    書き出し設定

  10. OK
  11. ファイル名を指定して"書き出し"ボタンをクリック
こうして出力したIFCファイルをNavisworksで開いて見ると、建具表の情報が出力されていることがわかります。
集計表の情報がPsetになる

IFC共通プロパティセットと基本量

"IFC共通プロパティセットを書き出し"をONにすると、IFC標準の属性(Pset_○○)が自動で出力されます。
IFC共通プロパティセット

また、"基本量を書き出し"をONにすると、数量(面積・体積・長さなど)がIFCに書き出されます。Qto_〇〇という項目が該当します。ドアで言えば、"Qto_DoorBaseQuantities"です。
基本量

この二つは、原則としてONにしておきましょう。

連結フィールド

集計表で複数のパラメータの値を一つに結合して表示する結合フィールドもPsetとして出力することができます。サンプル意匠.rvtで新たに集計表"Pset_DoorMark"を作成し建具記号(建具種類+建具番号)の結合パラメータのフィールドを作成します。
結合パラメータ"DoorMark"
集計表のフィールドはこれだけでも構いません。

同じ手順でIFC出力すると・・・
結合パラメータをPsetにできる


Pset集計表を作成することで必要なパラメータのみをIFCデータに含めることができます。
わかりやすいPset集計表を作ってみよう

2026年4月5日日曜日

RevitプロパティをIFCに書き出す

書き出し設定

RevitからIFCデータを書き出す場合、次の手順を取ります

  1. ファイル>書き出し>IFC
  2. IFC書き出しダイアログボックスで書き出し設定を選択して"書き出し"

と、簡単な手続きで出力できます。いろいろな書き出し設定がありますが、現在おそらくもっとも無難な選択肢は

  • IFC4 Reference View [建築]
  • IFC4 Reference View [構造]
  • IFC4 Reference View [建物設備]

のいずれかで、「迷ったらこれ」です。しかし、もし古い環境や相手の指定がある場合は

  • IFC 2x3 Coordination View 2.0

を使うことになります。

いろいろな書き出し設定があるけれど…

項目名の読み方

また、項目名に含まれる次の文字が意味するところは

  • Coordination(調整)系 → 他ソフトとの干渉チェック・統合用
  • Reference View → 「見る専用」=最も安全・互換性が高い
  • Design Transfer → 編集・再利用したいとき
  • COBie / FM → 施設管理データ用
  • IFC4 / IFC4x3 → 新しい規格(基本はIFC4以上を優先)

と考えてください。

出力したIFCを確認する

Revitユーザーならば、出力したIFCを確認する手段はACC DocsまたはNavisworksが使えます。Revitに標準添付のサンプル設備.rvtを書き出し設定"IFC4 Reference View [建物設備]"で出力したIFCデータを開いて、任意のダクトを選択してみると、Revitのプロパティの値は全く出力されていないことがわかります。

Navisworksの場合
ACC Docsの場合

これではダクトの径、ダクトのシステムなどの重要な情報が全く分かりません。どうすればRevitのパラメータの値を出力できるでしょうか?

書き出し設定を編集する

一番簡単な方法はRevitのプロパティをすべて書き出す、という方法です。これは書き出し設定をちょっとだけ編集すれば可能です。

  1. ファイル>書き出し>IFC
  2. "IFCを書き出し"ダイアログボックスで書き出し設定の[設定を変更...]ボタンをクリック
  3. "設定を修正"ダイアログボックスで、目的の書き出し設定(ここでは<IFC4 Reference View [建物設備] 設定>)を選択し、"選択した設定に基づいて新しい設定を作成します。"のボタンをクリック
  4. "新しい書き出し設定"ダイアログボックスで、名前をつけてOK。名前を付けることで次回から簡単に設定を呼び出せます。
  5. "設定を修正"ダイアログボックスのプロパティセットタブで"Revitプロパティセットを書き出し"をチェックしてOK
    Revitプロパティセットを書き出しに✔

  6. 後はファイル名を指定して書き出しボタンを押して書き出します。
このようにすれば、NavisworksでもACCでもRevitのプロパティを見ることができます。ただし値のないプロパティは書き出されません。
Navisworks
ACC Docs

2026年3月29日日曜日

共有ファミリのネスト

共有ファミリをネストする

ファミリの中にファミリを入れる、入れ子にすることをファミリをネストする、と言いますが、 Revitの「共有ファミリ(Shared Family)」は、プロジェクト内で独立した要素として認識されるファミリのことです。この共有ファミリをファミリにネストすると何が起きるでしょうか?

共有ファミリとは、ファミリのプロパティ「共有」にチェックが入っているファミリのことです。

ファミリを共有に指定する

共有ファミリは親にネストされていてもプロジェクトでは独立した要素として扱われます。ここでは、

  • 窓ファミリの障子を共有ファミリにし、
  • そのファミリをパラメータ化したら、

プロジェクトで何が起こるか確認してみましょう。

次の窓のファミリは枠のファミリに、障子部分のファミリをネストしています。

窓枠ファミリに障子ファミリをネスト

そして、障子のファミリにはファミリパラメータ「障子1x1」が設定されています。

障子のファミリにはタイプパラメータが関連付けされている

このプロジェクトには障子ファミリがロードされていて・・・・

複数の障子ファミリが枠ファミリにロードされている=ネストされている

ファミリに関連付けされたパラメータ「障子1x1」を切り替えることで、障子をFIX窓や引違い窓に変更できるというわけです。

引違窓

FIX窓

枠ファミリにロード(ネスト)されている障子ファミリには、共有ファミリと非共有ファミリがロードされています。

共有ファミリと非共有ファミリがネストされている

プロジェクトにロードするとどうなるのか?

このファミリをプロジェクトにロードしてプロジェクトブラウザのファミリを確認すると、窓のファミリだけではなく、共有ファミリである「窓 障子 FIX」「窓 障子 引違い2枚」もファミリとしてロードされています。

一方、共有ではない「窓 障子 規定値」ファミリはプロジェクトブラウザには表示されていません。

プロジェクトで窓を選択してタイプパラメータを見ると、共有ファミリとファミリ自体が抱えている非共有ファミリを選択できます。また、プロジェクト内の他の窓ファミリはリストアップされていないことにも注意してください。


タイプはプロジェクトで増やせる!!

では、ファミリ「窓 障子 引違い 2枚」のタイプをプロジェクトで複製して新たに「非常用進入口」を増やしてみます。ファミリエディタを開く必要はありません。プロジェクトブラウザで窓 障子 引違い 2枚を右クリック>複製 で新たにタイプを増やすだけです。

窓を選択してタイプ編集をすると、パラメータ「障子1x1」に、プロジェクトで複製して作成した新しいタイプを選ぶことができます。ファミリエディタを開かなくても、プロジェクトで共有ファミリのタイプを増やせば、障子ファミリとして使用できます。

ファミリを開かなくても選択肢を増やせる

新しくロードした共有ファミリも使える!

では、別途作成した障子ファミリ(窓 障子 外倒し.rfa)をプロジェクトにロードしてみます。もちろん共有ファミリにチェックを入れておきます。

共有ファミリをプロジェクトにロードする
すると、この共有ファミリも窓枠ファミリの障子1x1の選択肢に表示され選ぶことができます。
プロジェクトに追加した共有ファミリが選択可能

拘束のルールさえ守っていれば、枠のファミリを開かなくても、プロジェクトに障子だけを追加すればネストのファミリを増やすことができます。これは共有ファミリがプロジェクトでは独立した要素として扱われるために起こる現象です。

共有ネストファミリはプロジェクトでは独立した要素として扱われる