[B] ファイル名:hull_form.stp
1. ファイルの構造と説明
STEPファイルの構造は、全て同じなので省略する。
本ファイルのデータの主要構造は下図の様になっていて、shipを意味する1ケのproductに対して5ケの意味合いがぶら下がっている。
図2.1 データの構成
先ず(#51−#54)は、ship_unitを表現する、つまりこのファイルで使われる寸法などの単位系を設定している。
(#52−#55)は、global_axis_placementを表現していて、座標原点と船の位置の関係や方向と船との関係などを表している。
(#53−#56)は、principal_characteristicsを表現していて、dead weightやlppなどの主要目を表す。
(#700−#750)は、肝心のship_moulded_formを表現するもので、ここでは、そのメンバーとして(#1012−#1016)のmoulded_formを従えている。
(#1012−#1016)は、hullのmoulded_formであり、形状データを伴なう。
(1)application protocolの指定
アプリケーションの種別は、先に述べたヘッダー部のFILE_SCHEMAに設定されているが、データ部ではapplication_protocol_definitionを用いて、スキーマの名前に加えてそのバージョン(何年版のどのステイタスのものかなど)が設定される。ところが、AP216のMapping Tableではこの事にふれてない(これは間違いなく誤りというべきである)、なおスキーマそのものにはチャントこのエンティティが定義されている。本ファイルでは、下記が必要である旨のコメントが付加されている。
#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('.UNUSED.',#58,'design for single hull');
ここでは、スキーマはship_moulded_form_schemaであり、そのステイタスは 2001年のDIS版であることが示されている。
(2)ship
Ship STEPでは、如何なる場合にもproductは1ケで、それはshipつまり船本体を意味することになっている。図2.1のようにこの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',(#561));
#561=(
LENGTH_UNIT()
NAMED_UNIT(*)
SI_UNIT($,.METRE.)
);
ここでは、直接#561を指し、METREを使うことを意味している。なお、ISO規格ではメートルはMETERではなくMETREなので注意を要する。ところで、この例では、SI_UNITのnameがMETREで、prefixは未指定(=$)になっているので、単位はメートルとなる。PrefixにCENTIが指定されるとセンチメートルを、MILLIが指定されるとミリメートルになる。
(4)Global_axis_placement
座標系と原点(axis and origin)の情報として、右手座標系で原点が0である。
#18=AXIS2_PLACEMENT_3D('global axis and origin',#290,#270,#280);
#270=DIRECTION('',(0.,0.,1.));
#280=DIRECTION('',(1.,0.,0.));
#290=CARTESIAN_POINT('',(0.,0.,0.));
方向(orientation)の情報として、forward pointingが設定されている。
#13=DESCRIPTIVE_REPRESENTATION_ITEM('orientation','forward pointing');
後部のオフセット(after_perpendicular_offset )の値は、0.メートルとなっている。
#14=VALUE_REPRESENTATION_ITEM('after perpendicular offset', LENGTH_ MEASURE (0.));
(5)Principal_characteristics
length_between_perpendiculars として41.91メートルが、moulded_breadthとして9.525メートル、moulded_depthとして4.8895メートルが指定されている。
#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(41.91));
#16=VALUE_REPRESENTATION_ITEM('moulded breadth',POSITIVE_LENGTH_MEASURE(9.525));
#17=VALUE_REPRESENTATION_ITEM('moulded depth',POSITIVE_LENGTH_MEASURE(4.8895));
(6)Class hierarchy
クラス階層関係は、[A] hull_bulkhead.stpの場合に同じなので省略する。
(7)Ship moulded form
図2.2a ARM階層図
図2.2b Ship Moulded Formの構造[AIM]
(拡大画面:19KB)
|
|
ship_moulded_formのARMでのエンティティ関係を示すと図1.5aのようになる、これをAIMにマッピングする場合サブタイプエンティティを作らずにCALSSによって表現したのが、図2.5bである。(#700−#750)は、図2.5aにおけるship_ mpoulded_formをマッピングした結果のインスタンスである。
#114=APPLIED_CLASSIFICATION_ASSIGNMENT(#960,#1130,(#89));
#115=APPLIED_CLASSIFICATION_ASSIGNMENT(#970,#1130,(#89,#750,#760,#1016));
#116=APPLIED_CLASSIFICATION_ASSIGNMENT(#980,#1130,(#89,#750,#760,#1016));
#1200=APPLIED_CLASSIFICATION_ASSIGNMENT(#1020,#1130,(#55,#12,#56,#750, #660,#100,#1006,#1001));
#124=APPLIED_CLASSIFICATION_ASSIGNMENT(#1060,#1130,(#750));
#125=APPLIED_CLASSIFICATION_ASSIGNMENT(#1070,#1130,(#750));
ところで、図2.5aが示すように、ship_moulded_formは、そのメンバーとしてmoulded_formエンティティを有する。このメンバーとしてのmoulded_formが、(#1012−#1016)で、これはHullである。このメンバーの関係をAIMにマッピングしているのがGROUPとGROUP_ASSIGNMENTである(図2.6参照のこと)。
#700=PRODUCT_DEFINITION_FORMATION('ship moulded form',$,#89);
#750=PRODUCT_DEFINITION('.UNUSED.','',#700,#90);
#540=NAME_ATTRIBUTE('Ship Moulded Form',#750);700
#160=APPLIED_GROUP_ASSIGNMENT(#108,(#750));
#108=GROUP('item and item_structure instance',$);
#140=ROLE_ASSOCIATION(#120,#160);
#120=OBJECT_ROLE('equivalence',$);
#1012=PRODUCT_DEFINITION_FORMATION('moulded form',$,#89);
#1016=PRODUCT_DEFINITION('.UNUSED.','',#1012,#90);
#1013=NAME_ATTRIBUTE('Hull moulded morm',#1016);
#170=APPLIED_GROUP_ASSIGNMENT(#108,(#1016));
#150=ROLE_ASSOCIATION(#130,#170);
#130=OBJECT_ROLE('item structure',$);
|