(8)Class hierarchy
図3.2 CLASS階層図
(拡大画面:20KB)
|
|
[hull_bulkhead.stp]の節で述べたように、Ship APでは、AP独自のサブタイプを極力避ける為に、CLASSの階層関係を用いてそれを表現しようとしている。この為にSTEPファイルでは、これらのマッピング結果が多数出力される、この事がSTEPファイルを一層見難くしている。その場合、図3.2に示すようなARMの基本形に戻って考えると理解し易い。以下に本ファイルで定義されているCLASSとその階層関係を表すGROUP_RELATIONSHIPを示す。
#5228=CLASS('universal_resource_locator','');
#5229=CLASS('ship','');
#5230=CLASS('global axis placement','');
#5231=CLASS('general characteristics definition','');
#5232=CLASS('definition','');
#5233=CLASS('versionable object','');
#5234=CLASS('spacing table','');
#5235=CLASS('longitudinal table','');
#5236=CLASS('frame table','');
#5237=CLASS('spacing position','');
#5238=CLASS('longitudinal position','');
#5239=CLASS('class parameters','');
#5240=CLASS('principal characteristics','');
#5241=CLASS('ship overall dimensions','');
#5242=CLASS('functional definition','');
#5243=CLASS('Shiptype','');
#5244=CLASS('item','');
#5245=CLASS('moulded form','');
#5246=CLASS('ship moulded form','');
#5247=CLASS('definable object','');
#5248=CLASS('item structure','');
#5249=CLASS('moulded form functional definition','');
#5250=CLASS('design definition','');
#5251=CLASS('moulded form design definition','');
#4816=GROUP_RELATIONSHIP('specialisation',$,#5231,#5230);
#4817=GROUP_RELATIONSHIP('specialisation',$,#5232,#5231);
#4818=GROUP_RELATIONSHIP('specialisation',$,#5233,#5232);
#4819=GROUP_RELATIONSHIP('specialisation',$,#5232,#5234);
#4820=GROUP_RELATIONSHIP('specialisation',$,#5234,#5235);
#4821=GROUP_RELATIONSHIP('specialisation',$,#5235,#5236);
#4822=GROUP_RELATIONSHIP('specialisation',$,#5237,#5238);
#4823=GROUP_RELATIONSHIP('specialisation',$,#5231,#5239);
#4824=GROUP_RELATIONSHIP('specialisation',$,#5231,#5240);
#4825=GROUP_RELATIONSHIP('specialisation',$,#5231,#5241);
#4826=GROUP_RELATIONSHIP('specialisation',$,#5232,#5242);
#4827=GROUP_RELATIONSHIP('specialisation',$,#5242,#5243);
#4828=GROUP_RELATIONSHIP('specialisation',$,#5244,#5229);
#4829=GROUP_RELATIONSHIP('specialisation',$,#5244,#5245);
#4830=GROUP_RELATIONSHIP('specialisation',$,#5244,#5246);
#4831=GROUP_RELATIONSHIP('specialisation',$,#5247,#5244);
#4832=GROUP_RELATIONSHIP('specialisation',$,#5248,#5246);
#4833=GROUP_RELATIONSHIP('specialisation',$,#5233,#5248);
#4834=GROUP_RELATIONSHIP('specialisation',$,#5247,#5248);
#4835=GROUP_RELATIONSHIP('specialisation',$,#5242,#5249);
#4836=GROUP_RELATIONSHIP('specialisation',$,#5232,#5250);
#4837=GROUP_RELATIONSHIP('specialisation',$,#5250,#5251);
(9)Frame_table
図3.3 Frame tableとリストの表現
(拡大画面:22KB)
|
|
(#5025−#4990)がFrameテーブル(0)を、(#5026−#4991)がFrameテーブル(1)の内容を表している、つまりここでは表形式のデータの表現を図3.3のエンティティの組合わせを用いている。Compound_representation_item.nameがFrame名を、片方のvalue_representation_itemでposition番号(count_measure)を、他方のvalue_representation_itemでposition(length_measure)を表す。
(#5025−#4990)にて表現されているFrame tableを、表形式に書き直したのが表3.1である。何ということはなく、ごくありふれた表に過ぎないものである。このように、STEPファイルで表データを表すのは余りスマートとはいえない。もっと長い表データの場合には、とてつもないファイルサイズになることが予想される。STEPでは、自分の中に全てのデータを取込まずに、WORDやEXCEL、あるいは図面など(これらは電子データとは限らず紙の図書でもよい)一般ドキュメントを外部参照して意図を連結する仕組みが提供されているので、このメカニズムを用いて、Excelなどのファイルを参照した方が現実的であろう。
#5064=APPLIED_CLASSIFICATION_ASSIGNMENT(#5238,#5252,(#4782,#4783,#4784,#4785
,#4786,#4787,#4788,#4789,#4790,#4791,#4792,#4793,#4794,#4795,#4796,#4797,#4798,
#4799,#4800,#4801,#4802,#4803,#4804,#4805,#4806,#4807,#4808,#4809,
#4810,#4811,#4812));
#4783=COMPOUND_REPRESENTATION_ITEM('F27',LIST_REPRESENTATION_ITEM((#4694,#4695)));
#4694=VALUE_REPRESENTATION_ITEM('position number',COUNT_MEASURE(1.));
#4695=VALUE_REPRESENTATION_ITEM('position',LENGTH_MEASURE(1.2192));
#4784=COMPOUND_REPRESENTATION_ITEM('F26',LIST_REPRESENTATION_ITEM((#4696,#4697)));
#4696=VALUE_REPRESENTATION_ITEM('position number',COUNT_MEASURE(2.));
#4697=VALUE_REPRESENTATION_ITEM('position',LENGTH_MEASURE(2.4384));
#4785=COMPOUND_REPRESENTATION_ITEM('F25',LIST_REPRESENTATION_ITEM((#4698,#4699)));
#4698=VALUE_REPRESENTATION_ITEM('position number',COUNT_MEASURE(3.));
#4699=VALUE_REPRESENTATION_ITEM('position',LENGTH_MEASURE(3.6576));
#4786=COMPOUND_REPRESENTATION_ITEM('F24',LIST_REPRESENTATION_ITEM((#4700,#4701)));
#4700=VALUE_REPRESENTATION_ITEM('position number',COUNT_MEASURE(4.));
#4701=VALUE_REPRESENTATION_ITEM('position',LENGTH_MEASURE(4.8768));
・ ・ ・ ・
表3.1 Frame Table(0)
Frame番号 |
名前 |
Frame位置 |
0 |
F28 |
0. |
1 |
F27 |
1.2192 |
2 |
F26 |
2.4384 |
3 |
F25 |
3.6576 |
4 |
F24 |
4.8768 |
5 |
F23 |
6.0960 |
6 |
F22 |
7.3152 |
7 |
F21 |
8.5344 |
8 |
F20 |
9.7536 |
9 |
F19 |
10.9728 |
10 |
F18 |
12.1920 |
11 |
F17 |
13.4112 |
12 |
F16 |
14.6304 |
13 |
F15 |
15.8496 |
14 |
F14 |
17.0688 |
15 |
F13 |
18.2880 |
16 |
F12 |
19.5072 |
17 |
F11 |
20.7264 |
18 |
F10 |
21.9456 |
19 |
F9 |
23.1648 |
20 |
F8 |
24.3840 |
21 |
F7 |
25.6032 |
22 |
F6 |
26.8224 |
23 |
F5 |
28.0416 |
24 |
F4 |
29.2608 |
25 |
F3 |
30.4800 |
26 |
F2 |
31.6992 |
27 |
F1 |
32.9184 |
28 |
F0 |
34.1376 |
29 |
F-1 |
35.3568 |
30 |
F-2 |
36.5760 |
|
|