■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ボタンをクリックしてレコードフォーマットをファイルに記録します。このレコードフォーマットはリソースブラウザの、レコードフォーマットの箇所で見ることができます。これは、リソースブラウザの取り出し、取り込み機能を使って、他のファイルと共有できます。