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を指定しましょう。
ほかにも「サンプル意匠.rvt」のようにカーテンウォールでフェンスを作った場合は IfcRailing.FENCEを指定するとよいでしょう。
フェンスをカーテンウォールで作っている

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

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

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

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

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

結論

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