(7)Class hierarchy
本ファイルに出現するクラス階層関係を示すと図6.2の通り。この図において斜線が施されているCLASSは本来存在すべきであるが、本ファイルにはないもの、点線の部分は本来階層関係の宣言が必要なのに存在しないものを意味する。(なお、#36で定義されているCLASS名がgeneral characteristicsとなっているが、これはgeneral characteristics definitionの間違いである。)
(拡大画面:21KB)
|
|
ところで、各々のエンティティにこれらのCLASS情報を割り付けるに際して幾つかの異なる方法が考えられる。図6.3aは本ファイルで用いられているもので、図6.3cはこれまで見てきたファイルで採用されているもの、また図6.3bも考えられる。何れの方法も許されるものであり、どれが駄目というものはないというのが結論のようである。ただそれぞれの持つ意味には若干の差異があるようで、図6.3aは本来適用されるCLASSは異なることが前提になっているのに対して、図6.3cでは、元々CLASSは定められたものであり、それらが幾つかの対象エンティティに適用されるという立場を取っている。その意味からすると、この場合図6.3cが都合がよい。
図6.3a CLASSの割付方法a
図6.3b CLASSの割付方法b
図6.3c CLASSの割付方法c
また、図6.3aの方法によるとファイルのサイズそのものが大きくなるのも考えものである。
(8)Spacing table
図6.4 Spacing Tableの構造
(拡大画面:20KB)
|
|
(#183−#178)がSpacing Tableの内容を表している、つまりここでは表形式のデータの表現を図3.3のエンティティの組合わせを用いている。これは先に述べた[hull_majour_bulkhead.stp]ファイルのFrame Tableの場合に同じ事柄である。Compound_representation_item.nameがSpacingの名前を表し、片方のvalue_representation_itemでposition番号(count_measure)を、他方のvalue_representation_itemでposition(length_measure)を表す。
(#219−#311)にて表現されているSpacing tableを、表形式に書き直したのが表6.3である。何ということはなく、ごくありふれた表に過ぎないものである。このように、STEPファイルで表データを表すのは余りスマートとはいえない。もっと長い表データの場合には、とてつもないファイルサイズになることが予想される。STEPでは、自分の中に全てのデータを取込まずに、WORDやEXCEL、あるいは図面など(これらは電子データとは限らず紙の図書でもよい)一般ドキュメントを外部参照して意図を連結する仕組みが提供されているので、このメカニズムを用いて、Excelなどのファイルを参照した方が現実的であろう。
#219= COMPOUND_REPRESENTATION_ITEM
('F-2',SET_REPRESENTATION_ITEM((#220,#221)));
#220= VALUE_REPRESENTATION_ITEM
('position number',COUNT_MEASURE(-2.));
#221= VALUE_REPRESENTATION_ITEM('position',
LENGTH_MEASURE(36.576));
#224= COMPOUND_REPRESENTATION_ITEM
('F-1',SET_REPRESENTATION_ITEM((#225,#226)));
#225= VALUE_REPRESENTATION_ITEM
('position number',COUNT_MEASURE(-1.));
#226= VALUE_REPRESENTATION_ITEM
('position',LENGTH_MEASURE(35.3568));
#227= COMPOUND_REPRESENTATION_ITEM
('F0',SET_REPRESENTATION_ITEM((#228,#229)));
#228= VALUE_REPRESENTATION_ITEM
('position number',COUNT_MEASURE(1.));
#229= VALUE_REPRESENTATION_ITEM
('position',LENGTH_MEASURE(34.1376));
#230= COMPOUND_REPRESENTATION_ITEM
('F1',SET_REPRESENTATION_ITEM((#231,#232)));
#231= VALUE_REPRESENTATION_ITEM
('position number',COUNT_MEASURE(11.));
#232= VALUE_REPRESENTATION_ITEM
('position',LENGTH_MEASURE(32.9184));
#233= COMPOUND_REPRESENTATION_ITEM
('F2',SET_REPRESENTATION_ITEM((#234,#235)));
#234= VALUE_REPRESENTATION_ITEM
('position number',COUNT_MEASURE(21.));
#235= VALUE_REPRESENTATION_ITEM
('position',LENGTH_MEASURE(31.6992));
#236= COMPOUND_REPRESENTATION_ITEM
('F3',SET_REPRESENTATION_ITEM((#237,#238)));
#237= VALUE_REPRESENTATION_ITEM
('position number',COUNT_MEASURE(31.));
#238= VALUE_REPRESENTATION_ITEM
('position',LENGTH_MEASURE(30.48));
・ ・ ・ ・
表6.3 Spacing Table
名前 |
Spacing番号 |
位置 |
F-2 |
-2 |
36.5760 |
F-1 |
-1 |
35.3568 |
F0 |
1 |
34.1376 |
F1 |
11 |
32.9184 |
F2 |
21 |
31.6992 |
F3 |
31 |
30.4800 |
F4 |
41 |
29.2608 |
F5 |
51 |
28.0416 |
F6 |
61 |
26.8224 |
F7 |
71 |
25.6032 |
F8 |
81 |
24.3840 |
F9 |
91 |
23.1648 |
F10 |
10 |
21.9456 |
F11 |
11 |
20.7264 |
F12 |
12 |
19.5072 |
F13 |
13 |
18.2880 |
F14 |
14 |
17.0688 |
F15 |
15 |
15.8496 |
F16 |
16 |
14.6304 |
F17 |
17 |
13.4112 |
F18 |
18 |
12.1920 |
F19 |
19 |
10.9728 |
F20 |
20 |
9.7536 |
F21 |
21 |
8.5344 |
F22 |
22 |
7.3125 |
F23 |
23 |
6.0960 |
F24 |
24 |
4.8768 |
F25 |
25 |
3.6576 |
F26 |
26 |
2.4384 |
F27 |
27 |
1.2192 |
F28 |
28 |
0 |
|
|