 カスタムのIFCプロパティセットを使用する
カスタムのIFCプロパティセットを使用する
  個々のデータフィールドまたはプロパティのグループをIFCエンティティに割り当てるには、プロパティセット(Pset_XxxxXxxx)を使用します。プロパティセットは、Pset_WallCommon to IfcWallなどIFCエンティティに固有の場合もあれば、Pset_ManufacturerTypeInformationなど、より一般的に任意のIFCエンティティに適用される場合もあります。一部のプロパティセットおよびその値は予め明示的に定義されており、IFC仕様に一覧表示されています。Pset_Xxxの命名規則は、正式に指定されたこれらのプロパティセットに適用されます。
標準のIFCスキーマに含まれるこれら特定の定義済みプロパティセットに加えて、情報をレコードフォーマットとしてシンボル定義に連結できます。このレコードフォーマットデータは、IFCのカスタムプロパティセットとして使用できます。
IFCの拡張性により、ユーザーが定義するデータは、IFCの仕様で明示的に識別されていない場合でもカスタムプロパティセットを使用して取得および交換できます。カスタムプロパティセットは、特定のエンコーディング規則に従う必要があります。また、固有の許容可能な名前にする必要があります。指定したプロパティセット名と重複する名前や、「Pset_」で始まる名前は使用できません。
共同作業をしやすくするため、Vectorworks Software Developer’s Kit(SDK)は、カスタムプロパティセットをプログラムで作成するか、またはプロパティセットを定義するXMLファイルを取り込んで作成できる機能を備えています。SDKに関する詳細な開発者向けドキュメントはdeveloper.vectorworks.net(開発元サイト)を参照してください。
さらに、以下で説明しているように、Vectorworks Design Suite製品ではカスタムのIFCプロパティセットを作成できます。
IFC互換のレコードフォーマットを作成する
カスタムプロパティセットを使用するには、最初にレコードフォーマットを作成して、IFCフォーマットで取得および交換するデータを定義します。レコードフォーマット名は、カスタムプロパティセットの名前になります。IFC取り出しのために指定するレコードフォーマットの名前は、VwPset_またはePset_から始まるものか、特定のModel View Definition(MVD)または文書化されたモデルの交換要件(ER:Exchange Requirement)で定義されたものにする必要があります。レコードフォーマット名は大文字と小文字を区別します。また、空白スペースは使用できません(必要な場合はアンダースコアを使用します)。例えば、レコードフォーマット名は「ePset_MyData」のようになります。
レコードフォーマットには、フィールド名とタイプで指定した任意の数のフィールドを含めることができます。レコードフォーマットを作成するを参照してください。フィールドのタイプは自動的に同じ IFC 値のタイプに変換されます。以下に例を示します。
| フィールドタイプ | IFC 値タイプ | 
| Integer | IfcInteger | 
| Boolean | IfcBoolean | 
| Text | IfcText | 
| Number | IfcReal | 
より具体的なIFC値タイプを使用するには、以下の「カスタムのIFC値タイプを使用する」を参照してください。
レコードフォーマットを IFC プロパティセットに変換すると、デフォルトのフィールド値は無視されます。そのため、Integer、Boolean、Text、Pop-upフィールドタイプの初期値は空のままにしておきます。Numberフィールドタイプには、初期値として0(ゼロ)を入力します。
リソースマネージャのレコードフォーマットカテゴリにレコードフォーマットが表示されます。他のリソースと同様、レコードフォーマットはリソースマネージャの取り出しまたは取り込み機能を使用してファイル間で共有できます。
レコードフォーマットをIFCカスタムプロパティセットとして連結する
カスタムレコードフォーマットを作成したら、IFCプロパティセットに変換して、オブジェクト、グループ、シンボル定義、またはシンボルにデータを連結します。
データマッピングを作成して、特定のタイプのオブジェクトを作成する時にカスタムPsetを自動的に連結できます。データマネージャを使用するを参照してください。
作成したカスタムレコードフォーマットに加えて、BIMobjectに連結されたレコードフォーマットなど、Psetデータを含む既存のレコードフォーマットも選択して使用できます。
カスタムのIFCデータを割り当てるには:
IFCデータを割り当てるオブジェクト、グループ、またはシンボルを選択します。
オブジェクト情報パレットのデータタブで、連結されたIFCデータを特定します(またはIFC割り当てをクリックして連結します)。デフォルトでないIFCデータを連結する場合は、カスタムプロパティセットをクリックします。
あるいは、IFCデータをオブジェクトに割り当てるで説明しているように、IFCデータコマンドを使用してIFCオブジェクトタイプを選択します。IFCデータダイアログボックスで、カスタムプロパティセットの管理をクリックします。
カスタムプロパティセットの管理ダイアログボックスが開きます。
1つ以上のレコードフォーマットを含めるには適用列内をクリックします。選択したレコードフォーマットはチェックマーク付きで表示されます。
OKをクリックして、オブジェクト情報パレットまたはIFCデータダイアログボックスに戻ります。
選択したカスタムレコードフォーマットは、IFCエンティティ/プロパティセットリストにデータセットとして一覧表示されます。
データタブでカスタムPsetを選択し、クリックしてチェックマークを付けます(あるいは、IFCデータダイアログボックスで適用列にチェックマークを付けます)。チェックマークは、Psetが有効で、オブジェクトに連結されていることを示します。
カスタムPsetのチェックマークを外すと、レコードはオブジェクトに適用されませんが、オブジェクトのPsetリストには残ります。レコードを削除するには、データタブで選択してレコードの連結を解除をクリックします。IFCデータダイアログボックスでは、カスタムプロパティセットの管理をクリックして、適用列のチェックマークを外します。プロンプトが表示されたら、このオブジェクトからPsetを削除したいことを確認してOKをクリックします。
オブジェクト情報パレットの下部(または、IFCデータダイアログボックスではペイン)に、カスタムPsetと関連付けられたプロパティが表示されます。各プロパティを選択して値を割り当てます。
オブジェクト情報パレットのデータタブでIFCデータを表示および編集するには、オブジェクトを選択します。
カスタムプロパティセットが現在のファイルに保存されます。別のファイルまたはプロジェクトでカスタムプロパティセットを使用するには、レコードフォーマットを別のファイルに取り出し、これらのプロセスを繰り返してオブジェクトに IFC データを追加します。
カスタムの IFC 値タイプを使用する
ユーザーのカスタムフィールドに自動で割り当てられる IFC 値タイプが具体的に指定されていない場合は、カスタムレコードフォーマットの各フィールドと、そのフィールドの IFC 値(IfcValue)タイプを特定するフィールドを組み合わせることができます。各組み合わせには同じフィールドタイプを使用する必要があります。
たとえば、カスタムレコードフォーマットに、1組の図形に関する次の情報を含む3つのフィールドがあるとします。
製品コード(AB-124など)
一覧表における図形の有無(TRUE または FALSE)
単位当たりの費用(75.00など)
図形データを含むフィールドごとに、データの IFC 値タイプを示す付属フィールドを作成します。この例では、レコードフォーマットに合計6つのフィールドを設定します。
| フィールドの組み合わせ | タイプ | 
| ProductCode IfcIdentifier | Text Text | 
| OnSchedule IfcBoolean | Boolean Boolean | 
| UnitCost IfcReal | Number Number | 
単純なフィールド(Text/Boolean/Number)の場合、付属フィールドのないレコードを指定すると、そのタイプはレコードフィールドのタイプから取得されます。
フィールドで取得される情報の種類に適したIFC値タイプとレコードフォーマットフィールドタイプを選択します。これらのタイプには、シンプルな数字、TRUE または FALSE の選択、文字列またはシンプルなラベル、単位などがあります。Vectorworksプログラムで使用できるタイプには、Integer、Boolean、Text、Numberなどがあります。IFC値タイプを特定するフィールド名は、以下のリストに示すように、さまざまな定義済み値タイプ(IfcValue)に関するIFCの仕様に基づく必要があります。
| IFC 値タイプ | Vectorworksレコードフォーマットフィールドタイプおよび説明 | 
| IfcSimpleValue | 最も一般的であり、ほとんどのユーザー事例に対応します。 | 
| IfcInteger | Integer:-32,768から32,767までの簡単な整数です。 | 
| IfcReal | Number:一般数または小数 | 
| IfcBoolean | Boolean:TRUEまたはFALSE | 
| IfcLogical | Boolean:上記と同じですが、「UNKNOWN」(不明)の値を含めることができます。 | 
| IfcIdentifier | Text:シンプルテキストのID文字列で、通常は英数字と記号の組み合わせで最大255文字です。 | 
| IfcLabel | Text:シンプルテキストの名前文字列で、通常は英数字の組み合わせです。 | 
| IfcText | Text:記述的テキストフィールド文字列です。 | 
| IfcMeasureValue | 完全なリストはIFC仕様で確認できます。 | 
| IfcAreaMeasure | Number:面積単位表示 | 
| IfcLengthMeasure | Number:寸法 | 
| IfcMassMeasure | Number:一般数または小数 | 
| IfcThermodynamicTemperatureMeasure | Number:一般数または小数 | 
| IfcTimeMeasure | IntegerまたはNumber:一般数 | 
| IfcVolumeMeasure | Number:体積単位表示 | 
| IfcDerivedMeasureValue | 完全なリストはIFC仕様で確認できます。 | 
| IfcEnergyMeasure | Number:一般数または小数 | 
| IfcIlluminanceMeasure | Number:一般数または小数 | 
| IfcPowerMeasure | Number:一般数または小数 | 
| IfcThermalTransmittanceMeasure | Number:一般数または小数 | 
| IfcTimeStamp | IntegerまたはNumber:一般数 | 
| IfcLuminousIntensityDistributionMeasure | Number:一般数または小数 | 
 