IFCファイルを作る/(19)IFC2x用テストデータに属性を付加する
2014年9月2日作成、2024年1月1日変更
三木(作成時、IAI設備FM分科会に所属)
(注)利用したIFCのバージョンは2.0。以降のバージョンでは差異がある。
IFC2x用テストデータのダクト部材(直管)に属性を付加してみた。
部材はIFCFLOWSEGMENT(#43)、属性はIFCPROPERTYSET(#303)である。
また両者の関連付けは、IFCRELDEFINESBYTYPE(#301)とIFCDUCTSEGMENTTYPE(#302)でおこなっている。
#43 = IFCFLOWSEGMENT ('1O_5sgEIT4NgqyoI7fZAT1', #85, $, $, $, #84, #79, $, .FLUIDFLOW., .NOTDEFINED.);
・
・
#291 = IFCORGANIZATION ('IAI JP', 'IAI JP', 'IAI JP', $, $);
#292 = IFCAPPLICATION (#291, '2.X', 'BSFM', 'BSFM');
#293 = IFCPERSON ($, 'IAI JP BSFM WG Members', $, $, $, $, $, $);
#294 = IFCPERSONANDORGANIZATION (#293, #291, $);
#295 = IFCOWNERHISTORY (#294, #292, $, .NOCHANGE., $, $, $, 0000000000);
#301 = IFCRELDEFINESBYTYPE('0000000000000000000001',#295,$,$,(#43),#302);
#302 = IFCDUCTSEGMENTTYPE('0000000000000000000002',#295,'Rect Duct',$,$,(#303),$,$,$,.RIGIDSEGMENT.);
#303 = IFCPROPERTYSET('0000000000000000000003',#295,'SXFver3AP',$,(#304,#305,#306,#307,#308,#309,#310,#311));
#304 = IFCPROPERTYSINGLEVALUE('Data Type',$,IFCLABEL('Duct'),$);
#305 = IFCPROPERTYSINGLEVALUE('Company Code',$,IFCLABEL('unknown'),$);
#306 = IFCPROPERTYSINGLEVALUE('System Name',$,IFCLABEL('SA'),$);
#307 = IFCPROPERTYSINGLEVALUE('System Number',$,IFCLABEL('1'),$);
#308 = IFCPROPERTYSINGLEVALUE('Pattern No. Large Class',$,IFCLABEL('3'),$);
#309 = IFCPROPERTYSINGLEVALUE('Pattern No. Small Class',$,IFCLABEL('1'),$);
#310 = IFCPROPERTYSINGLEVALUE('WA',$,IFCNUMERICMEASURE(800),$);
#311 = IFCPROPERTYSINGLEVALUE('WB',$,IFCNUMERICMEASURE(300),$);
DDS IFC-Viewerで確認すると属性が表示される。
属性にはSXFver3AP(BE-Bridge)を流用した。
SXFver3AP(BE-Bridge)の属性は30項目以上あるが、今回付加したものはその一部である。
SXFver3APの属性名は本来、日本語だが、文字化けするので適当な英語で代替した。
| データ種別 | : | Data Type |
| 会社コード | : | Company Code |
| 系統名 | : | System Name |
| 系統番号 | : | System Number |
| パターンNo.大分類 | : | Pattern No. Large Class |
| パターンNo.小分類 | : | Pattern No. Small Class |
ちなみに、日本語はファイル中で、例えば、
| データ種別 | : | \X\83f\X\81[\X\83^\X\8E\X\ED\X\95\X\CA |
| 会社コード | : | \X\89\X\EF\X\8E\X\D0\X\83R\X\81[\X\83h |
のように表記されていても文字化けする。
文字化けはViewer側の問題と思われるが、SXFver3APをIFCに持ち込む際には、日本語表記とするのか、英語表記とするのかを決める必要がある。
日本語表記とした場合、
・日本人には分かりやすい。
・SXFver3APの定義をそのまま使える。
というメリットがある反面、
・外国のソフトでは文字化けする可能性がある。
・外国の人にはデータの意味が理解できない。
というデメリットがある。
意見の分かれるところだろうが、個人的にはやはり英語表記なのかなと思う。
パターンさえ決まれば属性を付加するのは容易である。
もはや何年もかかる話ではなかろう。