その他

HOP library STEPトランスレータ

製品概要

HOP library(ホップ ライブラリ)は、STEPトランスレータを開発するデベロッパーの方へのツールキット・ライブラリです。
HOP libraryは、「簡単」、「手軽」を合言葉に、STEPトランスレータ専用のAPIで、理解しづらいSTEPの世界を、 C++で手軽に構築することを目的に弊社で開発いたしました。元々は、IPAの助成を受けて、生まれましたものです。その後改良を続け、弊社製品のNS Viewerにも、その技術は活かされています。 HOP libraryは、「簡単」、「容易」を目的にしたと言っても、どう簡単なのか分からないでしょうから、ご説明致します。

STEPの世界は難解

STEP規約は、EXPRESS (ISO 10303-11)と呼ぶ仕様記述言語により、各応用分野ごとにまとめられています。このコンピュータ言語を使用することで、理解を容易にし、間違いをなくすことが目的です。しかし既存のコンピュータ言語ではなく独自仕様のため、対応するパーザは非常に少なく、STEPトランスレータを開発するのは容易ではありません。もちろんパーザがあれば、簡単に開発できるというシロモノでもありません….。
難しさの一例を挙げてみます。

内部写像と外部写像

EXPRESS言語では、定義するデータクラスおことをエンティティ(ENTITY)と呼び、その実体化したデータをインスタンス(INSTANCE)と呼びます。例えば、右図のように継承したENTITY Dを定義します。もちろんENTITY Dは、ENTITY A、B、Cそれぞれの成分を持っています。この継承方法を内部写像型と呼びます。この内部写像型はC++言語で簡単に実装できます。

ENTITY a;
  i1 : INTEGER;
END_ENTITY;

ENTITY b;
  r2 : REAL;
END_ENTITY;

ENTITY c SUBTYPE OF (a, b);
  n1 : NUMBER;
END_ENTITY;

ENTITY d SUBTYPE OF (c);
  d1 : LIST [0:?] OF INTEGER;
END_ENTITY;

しかしC++では表現できない別の継承方法が、このEXPRESS言語にはあります。左図(←)のような継承関係にあるインスタンスは、[A&B&C&D&E]と表わし、D成分もE成分ももったオブジェクトになります。このような継承方法を、外部写像型と呼びます。

ENTITY a;
  i1 : INTEGER;
END_ENTITY;

ENTITY b;
  r2 : REAL;
END_ENTITY;

ENTITY c 
  SUPERTYPE OF (d ANDOR e)
  SUBTYPE OF (a, b);
  n1 : NUMBER;
END_ENTITY;

ENTITY d;
  d1 : LIST [0:?] OF INTEGER;
END_ENTITY;

ENTITY e;
  e1 : STRING;
END_ENTITY;

(…..つづきは、後ほど)

性能

HOP libraryの性能を見るために、Part21ファイルを読み書きしてみました。
サンプル数が非常に少ないので,一概に性能と言えるほどではないですが、かなり大きなファイルも読み込んでも、線形的に性能が落ちていないのがご理解いただけると思います。 これは、動的に最適化を図っているためです。

No. 容量(MB) 読み込み性能 書き込み性能
時間 1MBあたり 時間 1MBあたり
1 70.0 MB 81.687 sec 1.1419 sec – sec – sec
2 16.0 MB 17.956 sec 1.1329 sec – sec – sec
3 3.0 MB 2.895 sec 0.9354 sec 3.270 sec 1.0565 sec
4 0.6 MB 0.761 sec 1.3053 sec – sec – sec
5 0.3 MB 0.340 sec 0.9742 sec – sec – sec
6 0.5 MB – sec – sec 0.56 sec 1.1429 sec
7 0.5 MB – sec – sec 0.66 sec 1.1765 sec
8 0.6 MB – sec – sec 0.63 sec 1.1014 sec
9 2.0 MB – sec – sec 2.63 sec 1.1858 sec
平均   1.09793 sec   1.13260 sec

実測マシンの構成
CPU:AMD Athlon 750 MHz
メモリ:384 MB
VGA:ELSA ERAZOR X (GeForce 256) 32MB
OS :Windows 2000 Professinal
使用バージョン
HOP library v2.2.2 を使用。

購入方法

下記、問い合わせ先までご連絡ください。

対応形式

STEP/AP203
STEP/AP202

お問い合わせ

株式会社マイクロ・シー・エー・デー
STEP担当
TEL: 03-6667-7100, FAX: 03-6667-7106
E-Mail: STEP@microcad.co.jp

TOP