日本財団 図書館


ISO文書の実装調査等
〜 Ship STEP ファイルの解析 〜
 
平成16年2月
(株)富士通九州システムエンジニアリング
 
 
 
[A] ファイル名:hull_bulkhead.stp
 
1. ファイルの構造と説明
 STEPファイルは、大きくヘッダー部とデータ部の2つからなる。ヘッダー部には、作成日付や作成者などのデータと、当該ファイルがどのアプリケーションプロトコルのものであるかを示すスキーマ名がセットされる。
 データ部には、実際のインスタンスのデータがセットされる。ここには形状データや管理データが一体となって展開され、エンティティ名でそのデータの意味を知る事ができる以外に、出現順序などには決まりはなく渾然とした状態でデータが埋まっている。
 
図1.1 STEPファイルの構造
 
 STEPファイルは、ISO-10303-21;で始まりEND-ISO-10303-21;で終了し、その間にヘッダー部とデータ部が存在する。ヘッダー部はHEADERで始まり、END_SEC;で終了する。データ部は、DATA;で始まりENDSEC;で終了する。
 
 以下にヘッダー部の説明を行う;
HEADER;
 /* と*/の間に記述された内容は処理上無視されるのでコメントを記述するのに用いられる。これはデータ部でも同じで/* と*/の間にコメントを記入することが出来る。なお、EXPRESSのスキーマに対するコメントは、/ *〜* /ではなく(* 〜 *)である。
 
 FILE_DESCRIPTIONには2ケの属性があり1つはdescriptionでファイルの目的や概要などを記述する。ここは省略して()のままでも許される。本例では'ESTEP AP216 Test Cases #1-2'が設定されている。
 
図1.2 ヘッダー部のデータ
関連ホームページ:www.steptools.com
 
 次は、implementation_levelで、フィアルの特性をセットする、詳しい説明は省くがここは'2;1'とセットするものと理解しておけばよい。
 
FILE_NAMEには、7ケの属性がある。
 nameには、通常データの名前が設定される、これは必ずしもファイル名と同じではなく本例の場合は'test_case_2'となっている。
 time_stampは、ファイルが作成された時の日付で、本例では '2001-09-24T13:26:02- 04:00'となっている。
 authorはフィルを作成した人の名前を意味し、ここでは'Blair Downie'となっている。なおヘッダー部分はANK文字を設定しておいたほうが無難なので、名前に漢字を設定するのは止めたほうが良い。
 organizationとは、所属部署名のことであり、通常はその会社名と部署名程度がセットされる。本例では会社名の他に住所やホームページのアドレスなどもセットされていて('STEP Tools, Inc.','216 River Steet','Troy, NY 12180', 'info@steptools.com')となっている。
 preprocessor_versionは、STEPフィアルを作成した処理装置の版数であり、本例では'ST-DEVELOPER v8'となっていて米国のSTEP TOOLs inc社のstepプロセッサであるST-DEVELOPERのV8であることが示されている。変換の不具合などが発生した場合に、版数がアップされているか等を調べる時には使えるものである。
 originating_systemはデータが供給されたシステム名で例えばCATIAの3次元モデルを吐き出した場合であれば、それを設定すると良い、この例では''のように何もセットしていない。
 authorisationは、許可を与えた人や組織を設定するが一般的には何もセットされていないケース(''となっている)が多い。
 
 FILE_SCHEMAは、このファイルに展開されるデータのアプリケーションプロトコルのスキーマ名であり、AIMの先頭にあるスキーマ名をセットする、一般的にここは大文字で書くことになっている。本例では、AP216であることを示す 'SHIP_ MOULDED_FORM_SCHEMA'が設定されている。AP218では、'SHIP_ STRUCTURES_SCHEMA'となる。
 
 ENDSEC;これにてヘッダー部が終了する。
 
 本ファイルのデータの主要構造は図1.3の様になっていて、shipを意味する1ケのproductに対して6ケの意味合いがproduct_definition_formation-product_definitionの組合わせで表されている。
 
図1.3 データの構成
(拡大画面:21KB)
 
 先ず(#51−#54)は、ship_unitを表現する、つまりこのファイルで使われる寸法などの単位系を設定している。
 (#52−#55)は、global_axis_placementを表現していて、座標原点と船の位置の関係や方向と船との関係などを表している。
 (#53−#56)は、principal_characteristicsを表現していて、dead weightやlppなどの主要目を表す。
 (#700−#750)は、肝心のship_moulded_formを表現するもので、この図で見る限り(#710−#760)と(#1012-#1016)と同列になっているが、後述するように本来の意味は、(#710−#760)と(#1012-#1016)は(#700−#750)のメンバーである。
 (#710−#760)は、そのメンバーの一つでFrame 12のmoulded_formを意味し、その形状データを伴なっている。
 (#1012−#1016)も、メンバーでhullのmoulded_formであり、同じく形状データを伴なう。
 
(1)application protocolの指定
 アプリケーションの種別は、先に述べたヘッダー部のFILE_SCHEMAに設定されているが、データ部ではapplication_protocol_definitionを用いて、スキーマの名前に加えてそのバージョン(何年版のどのステイタスのものかなど)が設定される。ところが、AP216のMappingTableではそのことに触れてない(これは間違いなく誤りというべきである)、なおスキーマでは、このエンティティはチャント定義されている。本ファイルでは、下記が必要である旨のコメントが付加されている。
#57=APPLICATION_PROTOCOL_DEFINITION( 'Draft International Standard', 'ship_moulded_form_schema', 2001,#58);
#58=APPLICATION_CONTEXT('application protocol for the exchange of ship moulded forms.');
#59=PRODUCT_CONTEXT('Ships',#58,'design');
 ここでは、スキーマはship_moulded_form_schemaであり、そのステイタスは 2001年のDIS版であることが示されている。
 
(2)ship
 Ship STEPでは、如何なる場合にもproductは1ケで、それはshipつまり船本体を意味することになっている。図1.3のようにこの1ケのproductに対して、各種のビュー(UoF)からのデータが加えられて一つの意味を持つことになる。ところでproductには必ずproduct_categoryが付与される、ここでは次の様に'navy ship'で'Fleet auxiliary vessel'であることが示されている。
#12=PRODUCT_RELATED_PRODUCT_CATEGORY('navy ship',$,(#89));
#10=PRODUCT_CATEGORY_RELATIONSHIP('navy ship types',$,#12,#11);
#11=PRODUCT_CATEGORY('Fleet auxiliary vessel',$);
 
(3)ship_unit
 ここでは、単位系の設定を示している、つまりファイルの中のデータに使われている長さはメートルかインチかなどである。
#30=GLOBAL_UNIT_ASSIGNED_CONTEXT('.UNUSED.','units',(#63));
#63=(
CONVERSION_BASED_UNIT('INCH',#61)
LENGTH_UNIT()
NAMED_UNIT(#580)
);
#61=LENGTH_MEASURE_WITH_UNIT(LENGTH_MEASURE(2.54),#561);
#561=(
 LENGTH_UNIT()
 NAMED_UNIT(*)
 SI_UNIT(.CENTI.,.METRE.)
);
#580=DIMENSIONAL_EXPONENTS(1.,0.,0.,0.,0.,0.,0.);
 ここでは、#63が変換単位系であり、INCHを使うことを意味し、それは#61でセンチメートルの2.54倍(ミリメートルなら25.4倍)であると言っている。
 
(4)Global_axis_placement
 座標系と原点(axis and origin)の情報として、右手座標系で原点が0である。
#18=AXIS2_PLACEMENT_3D('global axes and origin',#290,#270,#280);
#270=DIRECTION('',(0.,0.,1.));
#280=DIRECTION('',(1.,0.,0.));
#290=CARTESIAN_POINT('',(0.,0.,0.));
 
 方向(orientation)の情報として、aft_pointingが設定されている。
#13=DESCRIPTIVE_REPRESENTATION_ITEM('orientation','aft pointing');
 後部のオフセット(after_perpendicular_offset )として、1344インチ。
#14=VALUE_REPRESENTATION_ITEM('after perpendicular offset', LENGTH_ MEASURE (1344.));
 
(5)Principal_characteristics
 length_between_perpendiculars として1320インチが、moulded_breadthとして300インチ、moulded_depthとして154インチが指定されている。
 
#48=PROPERTY_DEFINITION('.UNUSED.',$,#56);
#43=PROPERTY_DEFINITION_REPRESENTATION(#48,#33);
#38=NAME_ATTRIBUTE('principal characteristics',#43);
#33=REPRESENTATION('principal characteristics',(#15,#16,#17),#19);
 
#15=VALUE_REPRESENTATION_ITEM ('length between perpendiculars',POSITIVE_ LENGTH_MEASURE(1320.));
 
#16=VALUE_REPRESENTATION_ITEM('moulded breadth',POSITIVE_LENGTH_MEASURE(300.));
 
#17=VALUE_REPRESENTATION_ITEM('moulded depth',POSITIVE_LENGTH_MEASURE(154.));







日本財団図書館は、日本財団が運営しています。

  • 日本財団 THE NIPPON FOUNDATION