IFCファイルを作る/(1)最初の一歩、最も簡単なIFCファイルを作る
2001年3月15日作成、2024年1月1日変更
三木(作成時、IAI設備FM分科会に所属)
(注)利用したIFCのバージョンは2.0。以降のバージョンでは差異がある。
◆IFCファイルを作る
'【VBScriptのソース】
'ScriptEngine MajorVersion : 5
'IfcSvr Version : 1.0.0.7
'/// IFCサーバーオブジェクトを生成 ///
Dim objIFCsvr
Set objIFCsvr = CreateObject("IFCsvr.R200")
If IsObject(objIFCsvr) = TRUE Then
' 処理[1]
Set objIFCsvr = Nothing
End If
◆最も簡単なIFCファイルを作る
まずは、最も簡単なIFCファイルを作ってみる。
「NewDesign()」メソッドを使ってデザインオブジェクトを作り、「save」メソッドを使ってこれをファイルに保存する。
'/// デザインオブジェクトを新規生成 ///
'[1]に入れる
Dim objDesign
Dim txt_path,txt_file
txt_path = "C:\Program Files\IFCsvrR200\sample\" '適当なパス名
txt_file = "new.ifc" '適当なファイル名
Set objDesign = objIFCsvr.NewDesign(txt_path & txt_file)
If IsObject(objDesign) = TRUE Then
' 処理[2]
Set objDesign = Nothing
End If
'/// ファイルへ保存 ///
'[2]に入れる
objDesign.save()
これにより、以下のようなファイルが作成される。
おそらくは、これが最も簡単な
IFCファイルであろう。
ISO-10303-21;
HEADER;
/* Generated by software containing ST-Developer
* from STEP Tools, Inc. (www.steptools.com)
*/
FILE_DESCRIPTION(
/* description */ (''),
/* implementation_level */ '2;1');
FILE_NAME(
/* name */ 'new',
/* time_stamp */ '2001-03-15T10:26:50+09:00',
/* author */ (''),
/* organization */ (''),
/* preprocessor_version */ 'ST-DEVELOPER v7',
/* originating_system */ '',
/* authorisation */ '');
FILE_SCHEMA (('IFC20_LONGFORM'));
ENDSEC;
DATA;
ENDSEC;
END-ISO-10303-21;
◆IFCファイルからデータを取得する
作成されたファイルからはデータを取得することができる。
「OpenDesign()」メソッドを使ってファイルを開き、例えば「Name」プロパティを取得してみる。
'/// 既存ファイルを開きデザインオブジェクトを生成 ///
'[1]に入れる
Dim objDesign
Dim txt_path,txt_file
txt_path = "C:\Program Files\IFCsvrR200\sample\"
txt_file = "new.ifc"
Set objDesign = objIFCsvr.OpenDesign(txt_path & txt_file)
If IsObject(objDesign) = TRUE Then
' 処理[3]
Set objDesign = Nothing
End If
'/// デザインオブジェクトの「Name」プロパティを取得 ///
'[3]に入れる
MsgBox objDesign.Name
「Name」プロパティは、IFCファイルの「FILE_NAME」部の「/* name */・・・」に格納されている名前(ファイル名)である。
実行結果は以下のようになる。
デザインオブジェクトのその他のプロパティも、同様の方法で取得できる。