実践OpenBIM

13. IFCカスタムプロパティセットを使う

この記事は【2013年11月27日】に公開されたもので、2年以上経過しています。
記事の内容が古くなっていたり、新機能の追加・機能の改善が図られていることがあります。

■IFC 互換のレコードフォーマットの作り方

カスタムプロパティセットを使うにまず、IFC形式のどのようなデータを取り扱うか定義するVectorworksのレコードフォーマットを作る必要があります。

 

□レコードフォーマット、プロパティセットの名前

レコードフォーマットの名前がカスタムプロパティセットの名前となります。

VwPset_」もしくは「ePset_」で始める、あるいは、Model View Definition (MVD)やmodel Exchange Requirement (ER)で定義されたものとすることを推奨します。

名前の大文字小文字は区別され、スペースは使わず、必用ならばアンダースコアを利用します。

下の例では、レコードフォーマットの名前を「ePset_MyDataExchange」としています。

レコードフォーマットの作成

 

□レコードのフィールド

レコードフォーマットにフィールドはいくつあってもかまいません。

各フィールドは、フィールド名とフィールド値で記述されます(Vectorworksヘルプのレコードフォーマットの作り方参照)。

IFCとの互換を保つには、ユーザーが定義するフィールド名は、必ずIFCの値(IfcValue)を特定するもうひとつのフィールドと次いで用意する必要があります。

そして、それぞれ同じフィールドタイプとします。

例えば、フィールド名「Reference」がタイプ「Text」のとき、フィールド名「IfcIdentifier」がタイプ「Text」と続きます。

フィールド名「IfcIdentifier」はどのような型の値が使われるかを表し、この例では、単純なテキストのID文字(IfcSimpleValue:Ifcdentifier)です。

レコードフォーマットのフィールドを定義する際に、デフォルト値を設定できます。デフォルト値の設定は任意ですが、数値フィールドの時だけは、少なくとも0と入れておく必要があります。

IFCフィールドのデフォルト値は、カスタムプロパティセットに変換されるときは無視されます。

 

□様々なIFC値のタイプ

フィールドに保持する情報にあわせて、単純な数字、真偽値、文字列、単純なラベル、計測値などからフィールドタイプ、IFC値のタイプを選ぶことができます。

Vectorworksでこれらは、 「Integer」「Boolean」「Text」「Number」として表現されます(レコードフォーマットの作り方参照)。IFC値のタイプを示すフィールド名は、IFCの仕様に定められている様々な値のタイプ(IfcValue)に基づいて決めます。この仕様には次のようなものが含まれます。

  • IfcSimpleValue (These are the most common and cover most user cases):
    • IfcInteger (Integer) – a simple whole number ranging from -32,7568 to 32,767
    • IfcReal (Number: General or Decimal)
    • IfcBoolean (Boolean) – also known as TRUE or FALSE
    • IfcLogical (Boolean) – similar to Boolean, but can include a value of “UNKNOWN”
    • IfcIdentifier (Text) – a simple text ID string, usually a mix of alphanumeric characters and symbols
    • IfcLabel (Text) – a simple text name string, usually a mix of alphanumeric characters
    • IfcText (Text) – a descriptive text field string of up to 255 characters
  • IfcMeasureValue (a complete list can be found in the IFC2x3 TC1 specification):
    • IfcAreaMeasure (Number: Dimension Area)
    • IfcLengthMeasure (Number: Dimension)
    • IfcMassMeasure (Number: General or Decimal)
    • IfcThermodynamicTemperatureMeasure (Number: General or Decimal)
    • IfcTimeMeasure (Integer or Number:General)
    • IfcVolumeMeasure (Number: Dimension Volume)
  • IfcDerivedMeasureValue (a complete list can be found in the IFC2x3 TC1 specification):
    • IfcEnergyMeasure (Number: General or Decimal)
    • IfcIlluminanceMeasure (Number: General or Decimal)
    • IfcPowerMeasure (Number: General or Decimal)
    • IfcThermalTransmittanceMeasure (Number: General or Decimal)
    • IfcTimeStamp (Integer or Number:General)
    • IfcLuminousIntensityDistributionMeasure (Number: General or Decimal)

□レコードフォーマットの保存

全てのフィールドの対を設定したら、OKボタンをクリックしてレコードフォーマットをファイルに記録します。このレコードフォーマットはリソースブラウザの、レコードフォーマットの箇所で見ることができます。これは、リソースブラウザの取り出し、取り込み機能を使って、他のファイルと共有できます。

レコードフォーマットの保存