(57)【特許請求の範囲】
【請求項１】
ＣＡＤデータを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータを、
所定の種別のＣＡＤデータを処理するＣＡＤデータ処理手段、
前記ＣＡＤデータ処理手段に依存しない形式でＣＡＤデータに対する処理を特定する処理要求の集合があらかじめ定義されており、前記ＣＡＤデータ処理手段で処理可能な種別のＣＡＤデータを指定した操作入力に応答して、操作入力に対応する前記処理要求を出力する処理要求出力手段、
前記処理要求を前記ＣＡＤデータ処理手段が解釈可能な命令に変換する関数があらかじめ定義されており、前記処理要求出力手段から前記処理要求が出力されると、前記関数を実行して、前記ＣＡＤデータ処理手段に前記処理要求によって特定される処理を実行させる連携手段、
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２】
複数の種別のＣＡＤデータを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータを、
それぞれが所定の種別のＣＡＤデータを処理する複数のＣＡＤデータ処理手段、
前記ＣＡＤデータ処理手段に依存しない形式でＣＡＤデータに対する処理を特定する処理要求の集合があらかじめ定義されており、ＣＡＤデータを指定した操作入力に応答して、操作入力に対応する前記処理要求を出力する処理要求出力手段、
前記処理要求を前記ＣＡＤデータ処理手段が解釈可能な命令に変換する関数がそれぞれの前記処理要求出力手段についてあらかじめ定義されており、前記処理要求出力手段から前記処理要求が出力されると、前記関数を実行して、指定されたＣＡＤデータを処理可能な前記ＣＡＤデータ処理手段に前記処理要求によって特定される処理を実行させる連携手段、
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３】
前記処理要求出力手段は、前記複数の種別のＣＡＤデータの構成を表示し、表示された構成の少なくとも一部を選択する操作入力に基づいて、指定されたＣＡＤデータを判断することを特徴とする請求項２記載の記録媒体。
【請求項４】
前記コンピュータを、更に、
前記処理要求出力手段から出力される可能性のある前記処理要求に対応する前記関数をメモリにロードするロード手段、
前記ロード手段がロードした前記関数のメモリ内の位置を指し示すポインタを、ポインタテーブルに登録するポインタ登録手段として機能させ、
前記連携手段は、前記ポインタ登録手段により前記ポインタテーブルに登録された前記ポインタに基づいて、前記処理要求出力手段から出力された前記処理要求に対応する前記関数が登録されている場所を判断することを特徴とする請求項２記載の記録媒体。
【請求項５】
前記ロード手段は、前記複数のＣＡＤデータ処理手段毎に、それぞれに対応する前記関数がまとめられたモジュールをロードすることを特徴とする請求項４記載の記録媒体。
【請求項６】
ＣＡＤデータを管理するためのプログラムであって、
コンピュータを、
所定の種別のＣＡＤデータを処理するＣＡＤデータ処理手段、
前記ＣＡＤデータ処理手段に依存しない形式でＣＡＤデータに対する処理を特定する処理要求の集合があらかじめ定義されており、前記ＣＡＤデータ処理手段で処理可能な種別のＣＡＤデータを指定した操作入力に応答して、操作入力に対応する前記処理要求を出力する処理要求出力手段、
前記処理要求を前記ＣＡＤデータ処理手段が解釈可能な命令に変換する関数があらかじめ定義されており、前記処理要求出力手段から前記処理要求が出力されると、前記関数を実行して、前記ＣＡＤデータ処理手段に前記処理要求によって特定される処理を実行させる連携手段、
として機能させるためのプログラム。
【請求項７】
複数の種別のＣＡＤデータを管理するためのプログラムであって、
コンピュータを、
それぞれが所定の種別のＣＡＤデータを処理する複数のＣＡＤデータ処理手段、
前記ＣＡＤデータ処理手段に依存しない形式でＣＡＤデータに対する処理を特定する処理要求の集合があらかじめ定義されており、ＣＡＤデータを指定した操作入力に応答して、操作入力に対応する前記処理要求を出力する処理要求出力手段、
前記処理要求を前記ＣＡＤデータ処理手段が解釈可能な命令に変換する関数がそれぞれの前記処理要求出力手段についてあらかじめ定義されており、前記処理要求出力手段から前記処理要求が出力されると、前記関数を実行して、指定されたＣＡＤデータを処理可能な前記ＣＡＤデータ処理手段に前記処理要求によって特定される処理を実行させる連携手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＣＡＤデータを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体およびＣＡＤデータを管理するためのプログラムに関し、特に種類の異なるＣＡＤデータを処理するためのプログラムを記録した記録媒体および種類の異なるＣＡＤデータを処理するためのプログラムに関する。
【０００２】
【従来の技術】
機械図面作成の分野では、３次元ＣＡＤ(Computer-Aided Design)の導入が進んでいる。現在、市場には様々な種類の３次元ＣＡＤアプリケーションソフトウェア（以下、「ＣＡＤアプリケーション」という）が存在している。各ＣＡＤアプリケーションでは、それぞれの特徴を出すために独自の機能を有している。ＣＡＤアプリケーションで取り扱うデータのデータ構造は、そのＣＡＤアプリケーションの有している機能に適合したデータ構造となる。したがって、ＣＡＤアプリケーションは、その種類ごとに個別のデータ構造のＣＡＤデータを生成する。しかも、ＣＡＤアプリケーションはそれぞれ個別の機能が随時追加されるため、種別の異なるＣＡＤアプリケーション同士で互いにデータの互換性を保つのは困難である。
【０００３】
一般に、種別の異なるＣＡＤデータを管理するために、各ＣＡＤデータに対して、そのデータのＣＡＤ種別を表す属性項目を持たせている。ＣＡＤデータにアクセスする際には、そのＣＡＤデータの属性項目を参照してＣＡＤ種別を判断し、種別に応じたＣＡＤアプリケーションを起動する。そして、起動されたＣＡＤアプリケーションがＣＡＤデータのロード処理を行い、そのＣＡＤデータの内容が表示される。
【０００４】
【発明が解決しようとする課題】
機械部品を製造するメーカなどでは、部品納入先が指定するＣＡＤデータで機械図面を納める必要がある。そのため、部品納入先が複数あれば、部品メーカ内では、複数のＣＡＤアプリケーションが使用される。また、多くの会社では、事業体ごとにそれぞれの設計業務に合ったＣＡＤアプリケーションを導入している。そのため、社内には、データ構造の異なるＣＡＤデータが、幾種類も存在する。全社のシステムを考えた場合、これら異なるＣＡＤデータを統合的に管理したいという要求がある。
【０００５】
しかし、３次元ＣＡＤデータの多くはアセンブリ情報などのファイル同士の関連情報を内部的に持っている。そのため、複数のＣＡＤデータを統合的に管理するシステムを作るには、各ＣＡＤデータに対応するＣＡＤアプリケーション固有のＡＰＩ(Application Programming Interface)を使用して、各ＣＡＤデータをロードできるようにしなければならない。このように、ＣＡＤデータの種別ごとにＣＡＤアプリケーション固有のＡＰＩを用いた統合管理用のアプリケーションを作成するのには、多大な手間を要する。
【０００６】
そのため、種別の異なるＣＡＤデータを統合して管理できるシステムを、容易に構築できることが望まれている。
本発明はこのような点に鑑みてなされたものであり、任意の種別のＣＡＤデータの管理機能を容易に追加することができる、ＣＡＤデータを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【０００７】
また、本発明の別の目的は、任意の種別のＣＡＤデータの管理機能を容易に追加することができる、ＣＡＤデータを管理するためのプログラムを提供することである。
【０００８】
【課題を解決するための手段】
本発明では上記課題を解決するために、図１に示す機能をコンピュータに実行させるための、ＣＡＤデータを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体が提供される。本発明の記録媒体に記録されたプログラムを実行するコンピュータは、次の構成を有している。ＣＡＤデータ処理手段１ａ，１ｂ，１ｃは、それぞれ所定の種別のＣＡＤデータを処理する。処理要求出力手段６は、ＣＡＤデータ処理手段１ａ，１ｂ，１ｃに依存しない形式でＣＡＤデータに対する処理を特定する処理要求の集合があらかじめ定義されており、ＣＡＤデータ処理手段１ａ，１ｂ，１ｃで処理可能な種別のＣＡＤデータを指定した操作入力に応答して、操作入力に対応する処理要求を出力する。連携手段７は、処理要求をＣＡＤデータ処理手段１ａ，１ｂ，１ｃが解釈可能な命令に変換する関数があらかじめ定義されており、処理要求出力手段６から処理要求が出力されると、関数を実行して、ＣＡＤデータ処理手段１ａ，１ｂ，１ｃに処理要求によって特定される処理を実行させる。
【０００９】
これにより、処理要求出力手段６に対して操作入力が行われると、処理要求出力手段６から操作入力に対応する処理要求が出力される。すると、連携手段７により、処理要求に対応する関数が実行され、ＣＡＤデータ処理手段１ａ，１ｂ，１ｃが解釈可能な命令に変換されて、処理が実行される。
【００１０】
このように、処理要求に応じた関数を、連携手段７に定義するだけで、ＣＡＤデータ処理手段１ａ，１ｂ，１ｃに対して連携処理を実行させることが可能となる。その結果、任意の種別のＣＡＤデータの管理機能の追加が容易となる。
【００１１】
また、上記課題を解決するために、ＣＡＤデータを管理するためのプログラムであって、コンピュータを、所定の種別のＣＡＤデータを処理するＣＡＤデータ処理手段、前記ＣＡＤデータ処理手段に依存しない形式でＣＡＤデータに対する処理を特定する処理要求の集合があらかじめ定義されており、前記ＣＡＤデータ処理手段で処理可能な種別のＣＡＤデータを指定した操作入力に応答して、操作入力に対応する前記処理要求を出力する処理要求出力手段、前記処理要求を前記ＣＡＤデータ処理手段が解釈可能な命令に変換する関数があらかじめ定義されており、前記処理要求出力手段から前記処理要求が出力されると、前記関数を実行して、前記ＣＡＤデータ処理手段に前記処理要求によって特定される処理を実行させる連携手段、として機能させるためのプログラムが提供される。
【００１２】
このようなプログラムをコンピュータに実行させれば、処理要求出力手段に対して操作入力が行われると、処理要求出力手段から操作入力に対応する処理要求が出力される。すると、連携手段により、処理要求に対応する関数が実行され、ＣＡＤデータ処理手段が解釈可能な命令に変換されて、処理が実行される。
【００１３】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、本発明の原理構成図である。図１には、本発明に係るプログラムを記録した記録媒体を実行するコンピュータ（以下、ＣＡＤデータ管理装置という）で実現される機能が示されている。このＣＡＤデータ管理装置は、複数の種別のＣＡＤデータを管理するものであり、以下の要素で構成される。
【００１４】
ＣＡＤデータ処理手段１ａ，１ｂ，１ｃは、それぞれ異なる種別のＣＡＤデータの生成、編集等を行う機能を有している。ＣＡＤデータ処理手段１ａ，１ｂ，１ｃは、たとえば、３次元ＣＡＤアプリケーションソフトウェア（ＣＡＤアプリケーション）で提供されるＣＡＤ機能である。各ＣＡＤデータ処理手段１ａ，１ｂ，１ｃそれぞれに対応して、ＣＡＤインタフェースモジュール２ａ，２ｂ，２ｃが用意されている。ＣＡＤインタフェースモジュール２ａ，２ｂ，２ｃには、処理要求出力手段６から出力される可能性のある処理要求に応じた複数の関数が定義されている。
【００１５】
ロード手段３は、ＣＡＤインタフェースモジュール２ａ，２ｂ，２ｃをメモリにロードし、連携手段７による連携処理を可能な状態にする。ポインタ登録手段４は、ロード手段３がロードした関数のメモリ内の位置を指し示すポインタをポインタテーブル５に登録する。処理要求出力手段６は、ＣＡＤデータを指定した操作入力に応答して、指定されたＣＡＤデータを処理可能なＣＡＤデータ処理手段に対する処理要求を出力する。連携手段７は、処理要求出力手段６から出力された処理要求に対応する関数があらかじめ定義されており、関数に定義された処理を、指定されたＣＡＤデータを処理可能なＣＡＤデータ処理手段と連携して実行する。
【００１６】
このように、処理要求出力手段６から出力された処理要求に対応する関数を、連携手段７がＣＡＤデータ処理手段１ａ，１ｂ，１ｃと連携して処理するようにした。そのため、処理要求出力手段６に対して操作入力を行う作業者は、指定したＣＡＤデータの種別等を意識せずに、ＣＡＤデータを処理可能なＣＡＤデータ処理部に対して処理を行わせることができる。つまり、統一されたユーザインタフェースを用いて、複数種のＣＡＤデータに対する処理要求を出すことが可能となる。
【００１７】
しかも、連携手段７にロードさせる関数を、たとえばインタフェースモジュールの形で用意するだけで、新たに追加されたＣＡＤデータ処理手段にも対応させることができる。用意すべき関数は、処理要求出力手段６において出力される可能性のある処理要求に対応付けて用意すればよい。すなわち、新たなＣＡＤデータ処理部に対応するＣＡＤインタフェースモジュールであっても、処理要求出力手段６において出力する処理要求に合わせた処理を定義すればよい。これは、各ＣＡＤデータ処理手段それぞれにおいて定義されているＡＰＩを理解して、それぞれのＡＰＩに合わせたアプリケーションを作成するよりも、容易な作業である。
【００１８】
以下に、本発明の実施の形態について詳細に説明する。
図２は、本実施の形態のシステム構成例を示すブロック図である。本実施の形態では、複数のクライアントコンピュータ１０，１０ａとサーバコンピュータ３０とがネットワーク２４を介して接続されている。ネットワーク２４は、たとえばイントラネットやインターネットである。
【００１９】
図３は、クライアントコンピュータの構成例を示す図である。クライアントコンピュータ１０は、ＣＰＵ１１によって装置全体が制御されている。ＣＰＵ１１には、バス１７を介してＲＡＭ１２、ハードディスク装置（ＨＤＤ）１３、グラフィック処理装置１４、入力インタフェース１５、および通信インタフェース１６が接続されている。
【００２０】
ＲＡＭ１２は、ＣＰＵ１１に実行させるＯＳ(Operating System)やＣＡＤプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１２には、ＣＰＵ１１による処理に必要な各種データが格納される。ＨＤＤ１３は、ＯＳやＣＡＤのプログラムが格納される。また、ＨＤＤ１３には、ＣＡＤデータが格納される。
【００２１】
グラフィック処理装置１４には、モニタ２１が接続されている。グラフィック処理装置１４は、ＣＰＵ１１からの命令に従って、ＣＡＤ図面等の画像をモニタ２１の画面に表示させる。入力インタフェース１５には、キーボード２２とマウス２３とが接続されている。入力インタフェース１５は、キーボード２２やマウス２３から送られてくる信号を、バス１７を介してＣＰＵ１１に送信する。
【００２２】
通信インタフェース１６は、ネットワーク２４に接続されている。ネットワーク２４は、たとえばインターネットのような広域ネットワークである。通信インタフェース１６は、ネットワーク２４を介して、他のコンピュータとの間でデータの送受信を行う。
【００２３】
なお、サーバコンピュータ３０も図３に示したクライアントコンピュータと同様の構成である。ただし、サーバコンピュータ３０のＨＤＤには、３次元ＣＡＤのＣＡＤデータが格納され、ＣＡＤデータのデータベース（ＤＢ）が構築される。すなわち、サーバコンピュータ３０は、ＣＡＤデータのデータベースサーバとして機能する。
【００２４】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図４は、本実施の形態の機能ブロック図である。図４に示すように、本実施の形態では、ＤＢ４０にＣＡＤデータ４１が格納されている。ＣＡＤデータ４１は、特定のＣＡＤアプリケーションによって生成されている。そして、各ＣＡＤデータ４１は、そのデータを生成したＣＡＤデータ処理部７１〜７３に応じたデータ構造を有している。したがって、異なるＣＡＤデータ処理部７１〜７３から生成されたＣＡＤデータ同士は、異なるデータ構造を有している。たとえば、図中「ＣＡＤ＃１」と示したＣＡＤデータは、「ＣＡＤ＃１」と示したＣＡＤデータ処理部７１に応じたデータ構造である。
【００２５】
インタフェース（Ｉ／Ｆ）モジュール保持部５０は、各ＣＡＤデータ処理部７１〜７３に対応するＣＡＤインタフェースモジュール５１を保持している。ＣＡＤインタフェースモジュール５１には、ＣＡＤデータ管理部６０からの要求を各ＣＡＤデータ処理部７１〜７３に伝えるための関数が定義されている。
【００２６】
ＣＡＤデータ管理部６０は、ＤＢ４０に格納されているＣＡＤデータ４１の管理を行う。また、ＣＡＤデータ管理部６０には、表示装置８１や入力装置８２が接続されている。そして、ＣＡＤデータ管理部６０は、表示装置８１や入力装置８２を介して、ＤＢ４０を管理するための操作環境をユーザに提供している。
【００２７】
ＣＡＤデータ管理部６０は、インタフェースモジュールロード部６１、ポインタ登録部６２、データベース管理部６３、およびＧＵＩ６４で構成される。
インタフェースモジュールロード部６１は、ＣＡＤデータ管理部６０が起動された際に、インタフェースモジュール保持部５０からＲＡＭ１２に、インタフェースモジュール５１をロードする。どのようなインタフェースモジュール５１をロードすべきかについては、たとえば、レジストリに登録されている。ここでレジストリとは、コンピュータ上で動作するＯＳやアプリケーションの動作に必要な情報が格納されたデータベースである。本実施の形態では、ＣＡＤインタフェースモジュールがＯＳにインストールされる際に、インストールされたＣＡＤインタフェースモジュールに関する情報がレジストリに設定されているものとする。
【００２８】
さらに、インタフェースモジュールロード部６１は、環境設定ファイル（たとえば、拡張子が「ｉｎｉ」のファイル）からインタフェースモジュールの名前や格納場所等を取得し、該当するインタフェースモジュール５１をＣＡＤインタフェースモジュール保持部５０から取得する。インタフェースモジュールロード部６１は、取得したインタフェースモジュール５１をＲＡＭ１２に格納する。
【００２９】
ポインタ登録部６２は、インタフェースモジュールロード部６１のロード処理を監視し、インタフェースモジュール５１の各関数が格納されたＲＡＭ１２内の場所（アドレス）を取得する。ポインタ登録部６２は、ロードしたインタフェースモジュール５１の各関数の関数名とその関数が格納されたアドレスとの組を生成する。ポインタ登録部６２は、生成した関数名とアドレスとの組に基づいて、関数テーブル１２ｂを生成し、生成した関数テーブル１２ｂをＲＡＭ１２に格納する。さらにポインタ登録部６２は、ロードされたインタフェースモジュールの関数テーブル１２ｂが格納されたＲＡＭ１２内のアドレスを取得する。ポインタ登録部６２は、取得した関数テーブルのアドレスとロードされたインタフェースモジュールの種別との組を、インタフェーステーブル１２ａに登録する。
【００３０】
データベース管理部６３は、ＤＢ４０に格納されたＣＡＤデータの構成を解析し、その内容をＧＵＩ６４に送る。また、データベース管理部６３は、ＧＵＩ６４からの処理要求に応答して、ＤＢ４０内のファイル操作を行う。たとえば、部品の形状を表すデータが１つのファイルに格納されていた場合に、そのファイルの削除やコピーの生成等を行うことができる。
【００３１】
ＧＵＩ６４は、データベース管理部６３からのデータに基づいて、ＤＢ４０内のＣＡＤデータの構成を示す画像を生成し、表示装置８１に送信する。またＧＵＩ６４は、入力装置８２からの入力信号に応じたコマンドを生成する。ＧＵＩ６４は、ＤＢ４０内のファイルを操作するコマンドを生成した場合には、そのコマンドをデータベース管理部６３に送る。また、ＧＵＩ６４は、ＣＡＤデータ処理部７１〜７３に対する処理を要求するコマンドを生成した場合には、そのコマンドを渡すべきＣＡＤデータ処理部７１〜７３に対応するＣＡＤインタフェース９１〜９３を起動する。そして、ＧＵＩ６４は、起動したＣＡＤインタフェース９１〜９３に対してコマンドを渡す。
【００３２】
具体的には、ＧＵＩ６４は、処理すべきＣＡＤデータの属性種別に対応するＣＡＤデータ処理部を判断する。次に、ＧＵＩ６４は、そのＣＡＤデータ処理部に対応する関数テーブルへのポインタを、インタフェーステーブル１２ａより取得する。さらに、ＧＵＩ６４は、取得したポインタで指し示された関数テーブル１２ｂを参照し、コマンドに含まれる関数へのポインタを取得する。そして、ＣＡＤインタフェース９１〜９３は、取得したポインタで指し示された場所に格納された関数の実行要求を出す。その結果、ＣＡＤインタフェース９１〜９３が起動され、実行要求で指定された関数が実行される。
【００３３】
ＣＡＤデータ処理部７１〜７３は、操作入力に応答して、３次元ＣＡＤのＣＡＤデータを生成する。各ＣＡＤデータ処理部７１〜７３は、それぞれ異なる機能を有している。また、各ＣＡＤデータ処理部７１〜７３は、それぞれ異なるデータ構造のＣＡＤデータを生成する。また、ＣＡＤデータ処理部７１〜７３は、ＣＡＤインタフェース９１〜９３からの要求に応じて、ＣＡＤインタフェース９１〜９３との連携処理を行う。
【００３４】
表示装置８１は、ＣＡＤデータ管理部６０等から送られる画像情報に基づいて、画像を表示する。表示装置８１は、たとえば図３に示すモニタ２１である。また、入力装置８２は、ＣＡＤにより図面を作成する作業者からの操作入力を受け付け、ＣＡＤデータ管理部６０に入力する。入力装置８２は、たとえば図３に示すキーボード２２やマウス２３である。
【００３５】
ＣＡＤインタフェース９１〜９３は、それぞれ個別のＣＡＤデータ処理部７１〜７３に対応して設けられている。ＣＡＤインタフェース９１〜９３は、インタフェースモジュールロード部６１がＲＡＭ１２にロードしたＣＡＤインタフェースモジュール内に定義された関数を実行するプロセスである。ＣＡＤインタフェース９１〜９３は、ＧＵＩ６４から渡されたコマンドに応じた関数を実行する。具体的には、ＧＵＩ６４から関数の場所を示すポインタがＣＡＤインタフェース９１〜９３に渡される。そして、ポインタで示された場所に格納された関数を、ＣＡＤインタフェース９１〜９３が実行する。
【００３６】
なお、各ＣＡＤインタフェース９１〜９３による関数の実行は、対応関係にあるＣＡＤデータ処理部７１〜７３との間で連携して行われる。連携処理の際には、各ＣＡＤインタフェース９１〜９３からＣＡＤデータ処理部７１〜７３に対して、処理要求が出力される。どのような処理要求を出力するかは、関数内に定義されている。ＣＡＤデータ処理部７１〜７３が、各ＣＡＤインタフェース９１〜９３からの処理要求に応じた処理を実行することで、連携処理が行われる。
【００３７】
なお、図４に示した構成要素の中で、ＤＢ４０は、たとえば図２に示したサーバコンピュータ３０が有する機能である。また、ＤＢ４０以外の構成要素は、たとえばクライアントコンピュータ１０，１０ａが有する機能である。このように、ＤＢ４０をサーバコンピュータ３０に設けることで、ＣＡＤデータを複数のクライアントコンピュータで共用することができる。
【００３８】
次に、本実施の形態を実行する際にＲＡＭ１２に格納されるデータについて説明する。
図５は、ＲＡＭのメモリマップの例を示す図である。この図のメモリマップ１２ｃに示すように、ＲＡＭ１２には、複数のＣＡＤインタフェースモジュール５１ａ，５１ｂ、インタフェーステーブル１２ａ、複数の関数テーブル１２ｂａ，１２ｂｂが格納されている。図５では、アドレスを１６進数で表している。図の例では、ＣＡＤ＃１のＣＡＤインタフェースモジュール５１ａが、「0x0002000」番地から「0x0013FFF」番地までのメモリ空間に格納されている。ＣＡＤ＃２のＣＡＤインタフェースモジュール５１ｂが、「0x0014000」番地から「0x0019FFF」番地までのメモリ空間に格納されている。
【００３９】
なお、各ＣＡＤインタフェースモジュール５１ａ，５１ｂは、それぞれが関数の集合体である。関数とは、所定の要求に対応する処理を実行し、応答を返すまでの処理手順が定義されたサブルーチンプログラムである。ＣＡＤインタフェースモジュール５１ａ，５１ｂは、たとえば、ダイナミックリンクライブラリ（ＤＬＬ）の形式のファイルであらかじめＨＤＤ等に格納されている。また、本実施の形態では、各関数をメソッドと呼ぶこととする。
【００４０】
図の例では、各ＣＡＤインタフェースモジュール５１ａ，５１ｂに対して、ロードメソッドやセーブメソッドが用意されている。ロードメソッドは、ＣＡＤデータをＣＡＤデータ処理部にロード処理を行わせるための関数である。セーブメソッドは、ＣＡＤデータ処理部に、編集されたＣＡＤデータのセーブ処理を行わせるための関数である。
【００４１】
インタフェーステーブル１２ａは、「0x0120000」番地から「0x0120FFF」番地までのメモリ空間に格納されている。「ＣＡＤ＃１」の関数テーブル１２ｂａが、「0x0121000」番地から「0x0121FFF」番地までのメモリ空間に格納されている。「ＣＡＤ＃２」の関数テーブル１２ｂｂが、「0x0122000」番地から「0x0122FFF」番地までのメモリ空間に格納されている。
【００４２】
ＲＡＭ１２に格納されたインタフェーステーブル１２ａと関数テーブル１２ｂａ，１２ｂｂとは、たとえば以下のようなデータ構成になる。
図６は、インタフェーステーブルの一例を示す図である。インタフェーステーブル１２ａには、Ｉ／Ｆ種別とポインタとの欄が設けられている。Ｉ／Ｆ種別の欄には、ロードされたＣＡＤインタフェースモジュールが対応しているＣＡＤデータ処理部の名称が登録されている。ポインタの欄には、Ｉ／Ｆ種別の欄に登録された名称に関連づけて、ロードされたＣＡＤインタフェースモジュールの関数テーブルの格納先アドレスが登録されている。この格納先アドレスは、関数テーブルが格納された領域の先頭アドレスである。
【００４３】
図６の例では、Ｉ／Ｆ種別が「ＣＡＤ＃１」のＣＡＤインタフェースモジュールの関数テーブルが、「0x0121000」番地から始まるアドレスに格納されていることを示している。また、Ｉ／Ｆ種別が「ＣＡＤ＃２」のＣＡＤインタフェースモジュールの関数テーブルが、「0x0122000」番地から始まるアドレスに格納されていることを示している。
【００４４】
図７は、関数テーブルの一例を示す図である。関数テーブル１２ｂａ，１２ｂｂには、メソッド（関数の名称）の欄とポインタの欄とが設けられている。メソッドの欄には、関数の種別が登録されている。図７の例では、ロードやセーブ等のメソッドが登録されている。ポインタの欄には、各関数が格納された領域の先頭アドレスを指し示すポインタが登録されている。図７に示す「ＣＡＤ＃１」に対応する関数テーブル１２ｂａでは、ロードメソッドへのポインタとして「0x0002000」が登録されている。セーブメソッドへのポインタとして「0x0004000」が登録されている。
【００４５】
以上のような構成のシステムにおいて、本実施の形態の処理が実行される。まず、ＣＡＤインタフェース９１〜９３のロード手順について説明する。
図８は、ロード処理手順を示すフローチャートである。以下、図８のフローチャートをステップ番号に沿って説明する。なお、本実施の形態では、ＣＡＤデータ管理部６０の機能がクライアントコンピュータで起動された際に、以下のロード処理が実行されるものとする。
【００４６】
［ステップＳ１１］インタフェースモジュールロード部６１は、コンピュータのＨＤＤに格納されているレジストリ情報を取得する。
［ステップＳ１２］インタフェースモジュールロード部６１は、取得したレジストリ情報の内容を解析し、ロードすべきＣＡＤインタフェースモジュールの一覧を取得する。
【００４７】
［ステップＳ１３］インタフェースモジュールロード部６１は、各ＣＡＤインタフェースモジュールに関する情報を、環境設定ファイル（たとえば「ｉｎｉ」の拡張子が付けられたテキストファイル）より取得する。環境設定ファイルは、たとえばＣＡＤインタフェースモジュール毎に設けられている。このステップで取得される情報は、ＣＡＤインタフェースモジュールのファイル名（たとえば、拡張子が「ｄｌｌ」であるダイナミックリンクライブラリのファイル名）や、種別に関する情報である。ここで、種別とは、どのＣＡＤデータ処理部（ＣＡＤアプリケーション）に対応するインタフェースなのかを示す情報である。
【００４８】
［ステップＳ１４］インタフェースモジュールロード部６１は、インタフェースモジュール保持部５０より、１つのＣＡＤインタフェースモジュールをＲＡＭ１２にロードする。
［ステップＳ１５］インタフェースモジュールロード部６１は、ロードしたＣＡＤインタフェースモジュールの関数テーブルを登録すべき記憶領域をＲＡＭ１２内に確保する。そして、インタフェースモジュールロード部６１は、確保した記憶領域の先頭のアドレス（ポインタ）を、インタフェーステーブルに登録する。
【００４９】
［ステップＳ１６］インタフェースモジュールロード部６１は、ロードしたＣＡＤインタフェースモジュールに含まれるメソッド（関数）が格納されたアドレス（ポインタ）を、関数テーブルに登録する。
［ステップＳ１７］インタフェースモジュールロード部６１は、登録すべきＣＡＤインタフェースモジュールが他にあるか否かを判断する。インタフェースモジュールロード部６１は、登録すべきＣＡＤインタフェースモジュールがある場合には、処理をステップＳ１３に進め、登録すべきＣＡＤインタフェースモジュールがない場合には、ロード処理を終了する。
【００５０】
このような処理をＣＡＤデータ管理部６０の起動時に実行することにより、ＣＡＤデータ管理部６０から各種ＣＡＤデータ処理部へのコマンドの処理時間が高速化される。
【００５１】
次に、ＣＡＤデータ管理部６０によるＣＡＤデータ処理部へのコマンド出力方法について説明する。本実施の形態では、ＣＡＤデータ管理部６０のＧＵＩ６４が、入力装置８２からの入力内容を解析して、コマンドを生成する。作業者は、画面に表示されるアセンブリ構成から任意のデータを選択することで、処理対象のオブジェクト（部品データやアセンブリデータ）を指定することが出来る。
【００５２】
図９は、アセンブリの構成を表示する画面例を示す図である。この表示画面１００の上部には複数のメニューが設けられている。ファイルメニュー１０１は、データのロード等を行うためのメニューである。編集メニュー１０２は、ファイルのコピー等の操作を行うためのメニューである。表示メニュー１０３は、画面の表示方法等を設定するためのメニューである。オブジェクトメニュー１０４は、オブジェクトに対する専有（他の作業者による更新等の操作を禁止すること）の設定や専有解除の設定等を行うためのメニューである。ここで、オブジェクトとは、ＣＡＤデータで定義される製品の構成要素（ユニット、サブユニット、部品）を示す。ツールメニュー１０５は、メニューバーのカスタマイズ等を行うためのメニューである。ヘルプメニュー１０６は、オンラインマニュアルの表示等のヘルプ機能を起動するためのメニューである。
【００５３】
メニューバーの左下には、データ構成表示部１０７が設けられている。データ構成表示部１０７には、ＤＢに格納されているデータの構成が表示される。図９の例では「Ａｓｓｙ」という名のアセンブリ１０７ａの下位構造として、「ＳｕｂＡｓｓｙ」という名のサブアセンブリ１０７ｂが存在していることが表示されている。
【００５４】
データ構成表示部１０７の右側には、データ表示部１０８が設けられている。データ表示部１０８には、データ構成表示部１０７で選択されたアセンブリを構成するデータが表示される。図９の例では、データ構成表示部１０７においてサブアセンブリ１０７ｂが選択されており、データ表示部１０８には、サブアセンブリ１０７ｂを構成する部品データ１０８ａ，１０８ｂが表示されている。
【００５５】
図９に示したようなＣＡＤデータの構成表示処理は、図４に示すデータベース管理部６３とＧＵＩ６４とによって行われる。すなわち、データベース管理部６３がＤＢ４０内のＣＡＤデータ４１の内容を解析する。解析の結果判明したＣＡＤデータの木構造に基づいて、ＧＵＩ６４が図９に示したような画像を表示装置８１表示させる。
【００５６】
作業者は、表示されたＣＡＤデータ中の１以上のオブジェクトを選択し、データのロード指令を入力することで、クライアントコンピュータに対して、選択したオブジェクトのデータをロードさせることができる。データのロード指令の入力は、たとえばＣＡＤデータ管理部６０のＧＵＩ６４が提供する表示画面１００内のメニューを選択することで行われる。
【００５７】
図１０は、ＣＡＤデータをロードする際の表示画面例を示す図である。この例では、マウス等のポインティングデバイスを用いてマウスカーソル１１１を移動させ、所望のコマンドを選択することで、ロード指令を入力することができる。
【００５８】
メニューバーのファイルメニュー１０１を選択すると、開くコマンド１０１ａや終了コマンド１０１ｂを含むプルダウンメニューが表示される。開くコマンド１０１ａは、ＣＡＤデータをロードするためのコマンドである。終了コマンド１０１ｂは、ＣＡＤデータ管理部６０の処理を終了させるためのコマンドである。
【００５９】
作業者が開くコマンド１０１ａを選択すると、ロード種別を指定するためのサブメニュー（ポップアップメニュー）が開く。このサブメニューには、全ロードコマンド１０１ｃ、部分ロードコマンド１０１ｄ、および再ロードコマンド１０１ｅが含まれている。
【００６０】
全ロードコマンド１０１ｃは、選択されているアセンブリが属するＣＡＤデータの全てをコンピュータにロードさせるためのコマンドである。たとえば、サブアセンブリを選択した状態で全ロードコマンド１０１ｃが指定されると、選択されたサブアセンブリを含む製品の全てのＣＡＤデータ（最上位のアセンブリデータ、最上位のアセンブリデータ配下の各サブアセンブリデータや部品データ）がロードされる。
【００６１】
部分ロードコマンド１０１ｄは、製品の一部のデータをコンピュータにロードさせるためのコマンドである。たとえば、サブアセンブリを選択して部分ロードコマンド１０１ｄが指定されると、選択されたサブアセンブリデータおよびそのサブアセンブリの下位構造のデータがロードされる。
【００６２】
再ロードコマンド１０１ｅは、参照目的で開いたデータに関する最新版のデータをロードし直すためのコマンドである。たとえば、設計責任者がある部品データをロードし、その部品形状を画面に表示させている最中にも、その部品の作業者が、部品データに変更を加え改訂版を保存する場合がある。このとき、設計責任者が再ロードコマンド１０１ｅを指令することで、改訂版の部品データを画面に表示させることができる。
【００６３】
全ロードコマンド１０１ｃが選択されると、さらにサブメニュー（ポップアップメニュー）が表示される。サブメニューには、最新の状態ロードコマンド１０１ｆ、最新のマスタロードコマンド１０１ｇ、および登録時の状態ロードコマンド１０１ｈが含まれる。
【００６４】
最新の状態ロードコマンド１０１ｆが指定されると、ロードすべきオブジェクトに関する最新の版数のデータがロードされる。最新のマスタロードコマンド１０１ｇが指定されると、ロードすべきオブジェクトにおける承認されたデータの中で、最新の版数のデータがロードされる。登録時の状態ロードコマンド１０１ｈが指定されると、ロードすべきオブジェクトのアセンブリデータに含まれる登録時情報に示されている版数のデータがロードされる。
【００６５】
なお、部分ロードコマンド１０１ｄが選択された場合にも、全ロードコマンド１０１ｃが選択された場合と同様のサブメニューが表示される。
以上のような画面により、作業者が所望のロードコマンドを選択することで、ロード指令を入力することが出来る。ロード指令が入力されると、ＧＵＩ６４によって、そのロード指令に応じたロードコマンドが生成される。そして、インタフェース呼び出し処理を実行される。
【００６６】
図１１は、インタフェース呼び出し処理手順を示すフローチャートである。以下に、図１１の処理をステップ番号に沿って説明する。
［ステップＳ２１］ＧＵＩ６４は、指定オブジェクトをＤＢ４０から取り出す。指定オブジェクトとは、画面上で作業者が指定したオブジェクトである。
［ステップＳ２２］ＧＵＩ６４は、取り出した指定オブジェクトに含まれる情報の中から、アプリケーション種別属性を取り出す。アプリケーション種別属性とは、そのオブジェクトがどのＣＡＤデータ処理部（ＣＡＤアプリケーション）で取り扱うことができるのかを示す情報である。
【００６７】
作業者により指定されたコマンドに、指定オブジェクトおよびそのオブジェクトのアプリケーション種別属性をパラメータとして付加した情報が、インタフェースモジュールへの処理要求となる。
［ステップＳ２３」ＧＵＩ６４は、インタフェーステーブル１２ａを参照し、処理要求に含まれるアプリケーション種別属性に対応するＣＡＤアプリケーションのポインタを取得する。このポインタは、ＣＡＤアプリケーションに対応する関数テーブルの場所（先頭アドレス）を示している。
【００６８】
［ステップＳ２４］ＧＵＩ６４は、処理要求を解析し、処理すべき関数を決定する。処理要求が１つの関数で実行される場合には、その関数が処理すべき関数として決定される。処理要求が複数の関数で実行される場合には、まだ実行していない関数の中で最も先に実行すべき関数が、処理すべき関数として決定される。たとえば、ある関数（第１の関数）の戻り値を利用して、他の関数（第２の関数）に対して処理を実行させる場合がある。この場合、第１の関数が、先に実行すべき関数となる。
【００６９】
［ステップＳ２５］ＧＵＩ６４は、ステップＳ２３で取得したポインタで指し示された場所の関数テーブルの中から、ステップＳ２４で決定された処理すべき関数を検索する。そして、処理すべき関数へのポインタを取得する。
［ステップＳ２６］ＧＵＩ６４は、ステップＳ２５で取得したポインタに基づいて関数を呼び出す。関数が呼び出されると、その関数を実行するためのＣＡＤインタフェース（プロセス）がＯＳによって生成される。そして、生成されたＣＡＤインタフェースが関数の処理を、ＣＡＤデータ処理部と連携して実行する。関数の戻り値は、ＧＵＩ６４に返される。
【００７０】
［ステップＳ２７］ＧＵＩ６４は、他に処理すべき関数があるか否かを判断し、処理すべき関数があればステップＳ２４に処理を進め、処理すべき関数がなければ処理を終了する。
【００７１】
以上のようにして、ＣＡＤデータ管理部６０に対して入力されたコマンドを、ＣＡＤインタフェースを介して、ＣＡＤデータ管理部６０とＣＡＤデータ処理部とが連携して実行することができる。
【００７２】
ところで、ＧＵＩ６４で入力可能なコマンドには、全てのＣＡＤデータ処理部７１〜７３で共通のコマンドと、各ＣＡＤデータ処理部７１〜７３それぞれ固有のコマンドとがある。共通のコマンドについては、そのコマンドによる関数呼び出しの形式があらかじめ決められている。一方、固有のコマンドについては、ＧＵＩ６４において、予約外のコマンドを処理するためのモジュール（関数）を呼び出すように定義されている。予約外のコマンドのパラメータとして、その処理名を受け渡す。呼び出された関数は、パラメータとして受け取った処理名に応じた処理を実行する。これにより、ＣＡＤデータ処理部７１〜７３それぞれに固有の処理が実行される。
【００７３】
以上のように本実施の形態では、ＣＡＤデータ管理部６０から出力される関数への処理要求の種類は、あらかじめ決められている。したがって、ＣＡＤインタフェースを開発する者は、ＣＡＤデータ処理部の機能に応じて、各処理要求に応じた関数の処理内容を定義しておけばよい。
【００７４】
関数の処理をＣＡＤインタフェースで実行させることにより、ＣＡＤデータ管理部６０とＣＡＤインタフェースとの間での取り決めが少なくてすむ。その結果、ＣＡＤインタフェースの開発が容易となる。
【００７５】
なお、上記実施の形態では、ＣＡＤインタフェースが独立のプロセスとして起動されている。ＣＡＤデータ管理部６０と各ＣＡＤインタフェースとの間では、プロセス間のメッセージ交換が行われる。それぞれのＣＡＤインタフェースが独立したプロセスで実行されることで、種別の異なる複数のＣＡＤデータを指定した処理要求を、ＣＡＤデータごとに並列で処理することが可能となる。
【００７６】
［応用例］
本実施の形態では、次のような応用例が考えられる。
［ＣＡＤインタフェースモジュール問い合わせ方式］
上記の実施の形態では、ＣＡＤデータに対して、そのＣＡＤデータの属性種別があらかじめ定義されているものとしている。これには、新たに登録するＣＡＤデータに対して、そのＣＡＤデータの属性種別を設定する必要がある。しかし、各インタフェースに対して、そのインタフェースモジュールが処理可能なデータか否かを判断するメソッド（関数）を用意することでも、選択されたＣＡＤデータに応じたＣＡＤインタフェースの選択が可能となる。
【００７７】
たとえば、インタフェースモジュールの先頭に、「IsMydata」というメソッド（関数）を定義する。このメソッドは、そのインタフェースモジュールが処理可能なデータか否かを判断する関数である。そして、コマンドの入力が行われる、ＧＵＩ６４が各インタフェースモジュールの先頭にある「IsMydata」というメソッドに対して、選択されたオブジェクトを処理可能かどうかの問い合わせを行う。ＧＵＩ６４は、処理可能であるという応答を返してきたＣＡＤインタフェースに対して、コマンドの処理要求を渡す。
【００７８】
図１２は、ＣＡＤインタフェースモジュール問い合わせの処理手順を示すフローチャートである。図１２のフローチャートを、ステップ番号に沿って説明する。
【００７９】
［ステップＳ３１］ＧＵＩ６４は、指定オブジェクトをＤＢ４０から取り出す。指定オブジェクトとは、画面上で作業者が指定したオブジェクトである。
［ステップＳ３２］ＧＵＩ６４は、取り出した指定オブジェクトに含まれる情報の中から、アプリケーション種別属性を取り出す。
【００８０】
［ステップＳ３３］ＧＵＩ６４は、インタフェーステーブルおよび各関数テーブルを参照し、各ＣＡＤインタフェースモジュールの先頭に記憶されている、「IsMydata」メソッドの位置を取得する。そして、指定オブジェクトの処理が可能かどうかを、「IsMydata」メソッドに問い合わせる。これにより、各ＣＡＤインタフェースが起動され、それぞれのＣＡＤインタフェースにおいて「IsMydata」メソッドが実行される。実行結果は、ＧＵＩ６４に返される。たとえば、指定オブジェクトを処理できる場合には「１」のデータが返され、指定オブジェクトを処理できない場合には「０」のデータが返されるようにする。
［ステップＳ３４］ＧＵＩ６４は、処理可能と応答したＣＡＤインタフェースの１つを、処理要求の出力先として決定する。
【００８１】
以上のように、ＣＡＤインタフェースモジュールの先頭に置かれたメソッドを用いることで、各ＣＡＤデータを処理可能なＣＡＤインタフェースを見つけることが可能となる。
【００８２】
［ＣＡＤドライブ方式］
上記の実施の形態では、ＣＡＤインタフェースモジュールを「ダイナミックインクライブラリ（ＤＬＬ）」形式のファイルで格納しているが、デバイスドライバの形式でＣＡＤインタフェースモジュールをＯＳに組み込むこともできる。
【００８３】
たとえば、各クライアントコンピュータに対して、各ＣＡＤデータ処理部（ＣＡＤアプリケーション）に対応したインタフェースモジュールを、デバイスドライバとしてロードする。このとき、インタフェースモジュールに対しては、「Unknown Drive」としてドライブを割り当てる。ＣＡＤデータ管理部６０のＧＵＩ６４は、各ＣＡＤデータ処理部に対する処理要求を、そのＣＡＤデータ処理部に対応するドライブに対して依頼する。これにより、各ＣＡＤデータ処理部に対応する処理を実行することが可能となる。
【００８４】
［サーバ処理方式］
ＣＡＤデータ処理部ごとに処理を実行するサーバを定義しておくことで、各ＣＡＤデータ処理部に対応する処理を実行することも可能である。この場合、ＣＡＤデータ管理部６０のＧＵＩ６４は、各ＣＡＤデータ処理部に対する処理要求を、そのＣＡＤ種別に対応したサーバに依頼する。サーバでは、依頼された処理要求に応じた処理を実行し、処理結果をクライアントコンピュータのＧＵＩに返す。
【００８５】
［コマンドメニューの動的切り替え方式］
上記実施の形態のＣＡＤデータ管理部６０は、複数の種別のＣＡＤデータの構成を解析し、その構成を画面に表示することができる。そして、所望のＣＡＤデータのオブジェクトを選択し、コマンドメニューからコマンドを指定することで、選択したオブジェクトを処理可能なＣＡＤデータ処理部に対して、指定したコマンドに応じた処理要求が出される。
【００８６】
しかし、コマンドメニューの中には、一部のＣＡＤデータ処理部しか対応していないコマンドもある。そこで、選択されたオブジェクトの種別に対応するＣＡＤデータ処理部が対応していないコマンドを、画面上で選択できないようにすることもできる。
【００８７】
たとえば、各ＣＡＤデータ処理部で対応しているコマンドの一覧を、各ＣＡＤデータ処理部のＣＡＤインタフェースモジュールの先頭に定義する。
図１３は、対応コマンド一覧の例を示す図である。この例では、ＣＡＤデータ処理部ごとに、対応コマンド一覧２０１，２０２が設けられている。たとえば、「ＣＡＤ＃１」のＣＡＤデータ処理部の対応コマンド一覧２０１には、「全ロード」、「部分ロード」、「再ロード」、「セーブ」等のコマンドに対応する機能を有していることが示されている。「ＣＡＤ＃２」のＣＡＤデータ処理部の対応コマンド一覧２０２には、「全ロード」、「再ロード」、「セーブ」等のコマンドに対応する機能を有していることが示されている。この例では、「ＣＡＤ＃２」のＣＡＤデータ処理部は、部分ロードに対応する機能を有していない。そのため、「ＣＡＤ＃２」のＣＡＤデータ処理部に対応するＣＡＤデータが選択された場合には、ＣＡＤデータ管理部６０のＧＵＩ６４において、部分ロードのコマンドを選択できなうようにする。
【００８８】
選択できないコマンドは、プルダウンメニューやポップアップメニューに表示されないようにしてもよい。また、選択できないコマンドの文字の色を背景の色に近づけることで、そのコマンドが選択できないことを、画面上で明示してもよい。
【００８９】
図１４は、コマンドメニュー表示処理のフローチャートである。以下に、図１４の処理を、ステップ番号に沿って説明する。
［ステップＳ４１］ＧＵＩ６４は、指定オブジェクトをＤＢ４０から取り出す。［ステップＳ４２］ＧＵＩ６４は、ＤＢ４０から、指定オブジェクトのアプリケーション種別属性の情報を取り出す。
【００９０】
［ステップＳ４３］ＧＵＩ６４は、作業者の操作入力に応じたポップアップメニューに含まれる表示対象コマンドのリストを取得する。
［ステップＳ４４］ＧＵＩ６４は、指定オブジェクトに対応するＣＡＤインタフェースモジュールの対応コマンドテーブルを参照し、ステップＳ４３で取得した各表示対象コマンドが実行可能か否かを判断する。対応コマンドテーブルに含まれるコマンドのみが、そのＣＡＤインタフェースモジュールにおいて実行可能なコマンドである。
［ステップＳ４５］ＧＵＩ６４は、ステップＳ４４の処理で、実行可能なコマンドとされたコマンドの表示のみを選択可能として、ポップアップメニューを画面に表示する。
【００９１】
このようにして、選択されているＣＡＤデータの種別に応じて、ポップアップメニューの内容を動的に切り替えることが可能となる。
なお、各ＣＡＤデータ処理部で対応している機能のメニュー一覧を取り出すためのメソッド（関数）を、ＣＡＤインタフェースモジュールの先頭に定義してもよい。この場合、メニューを表示する際には、ＧＵＩ６４は、メニュー一覧を取り出すためのメソッドを呼び出して、戻り値としてメニュー一覧を得る。そして、ＧＵＩ６４は、この戻り値に基づいて、ポップアップメニューの内容を動的に切り替える。
【００９２】
また、ＣＡＤデータ管理部６０において標準で表示されるように設定されているメニュー中のコマンドに関しては、個別にＣＡＤインタフェースに問い合わせるようにしてもよい。たとえば、各ＣＡＤインタフェースには、コマンドに対応する処理の可否に関する問い合わせに応答するメソッド（関数）を定義しておく。そして、画面上にコマンドメニューを表示する際には、ＧＵＩ６４が、メニューに含まれるコマンドに対応する処理の可否を、選択されたオブジェクトに対応するＣＡＤインタフェースに問い合わせる。そして、ＧＵＩ６４は、処理可能という応答があったコマンドのみを選択可能な状態して、ポップアップメニュー等のコマンドメニューを表示する。
【００９３】
［ＣＡＤ種別に応じたメッセージ表示方式］
上記の実施の形態によれば、複数の属性種別のＣＡＤデータを、ＣＡＤデータ管理部６０のＧＵＩ６４を介して処理することができる。ところが、同じものの呼び名が、ＣＡＤデータ処理部（ＣＡＤアプリケーション）毎に異なる場合がある。そこで、ＣＡＤデータ管理部６０において、ＣＡＤデータの種別属性ごとにメッセージファイルを用意する。そして、ＧＵＩ６４は、ＣＡＤデータの処理を行った際には、そのＣＡＤデータの種別属性に対応するメッセージファイルからメッセージを取得し、そのメッセージを表示する。
【００９４】
これにより、ＣＡＤデータ管理部６０内において実行する処理であっても、処理対象となるオブジェクト（部品やアセンブリ）の種別属性に応じたメッセージを表示させることができる。
【００９５】
［オブジェクト処理メニュー分離方式］
ＣＡＤデータ管理部６０の機能には、ＣＡＤデータ処理部に関係しない機能が含まれる。たとえば、サーバへのアクセスに関する環境設定等の処理は、ＣＡＤデータ処理部に依存せずに行うことができる。そこで、コマンドメニュー内のコマンドが、ＣＡＤデータ処理部に関係があるか否かを識別する識別子を、メニュー定義ファイルとして用意しておいてもよい。そして、ＧＵＩ６４は、指定されたコマンドがＣＡＤデータ処理部に関係のない処理を要求するコマンドであれば、ＣＡＤデータ処理部に対応するＣＡＤインタフェースモジュールとは別に用意した、固定のモジュールを呼び出して処理を実行させる。
【００９６】
［記録媒体に記録されたプログラムでの実現］
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、コンピュータに実行させるべき機能の処理内容は、コンピュータで読み取り可能な記録媒体に記録されたプログラムに記述されており、このプログラムをコンピュータで実行することにより、上記処理がコンピュータで実現される。コンピュータで読み取り可能な記録媒体としては、磁気記録装置や半導体メモリ等がある。市場へ流通させる場合には、ＣＤ−ＲＯＭ(Compact Disk Read Only Memory)やフレキシブルディスク等の可搬型記録媒体にプログラムを格納して流通させることができる。また、ネットワークを介して接続されたコンピュータの記憶装置にプログラムを格納しておき、ネットワークを介して接続された他のコンピュータにプログラムを転送することもできる。コンピュータで実行する際には、コンピュータ内のハードディスク装置等にプログラムを格納しておき、メインメモリにロードして実行することができる。
【００９７】
（付記１）  ＣＡＤデータを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータを、
所定の種別のＣＡＤデータを処理するＣＡＤデータ処理手段と、
前記ＣＡＤデータ処理手段で処理可能な種別のＣＡＤデータを指定した操作入力に応答して、前記ＣＡＤデータ処理手段に対する処理要求を出力する処理要求出力手段と、
前記処理要求出力手段から出力された前記処理要求に対応する関数があらかじめ定義されており、前記関数に定義された処理を前記ＣＡＤデータ処理手段と連携して実行する連携手段と、
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【００９８】
（付記２）  複数の種別のＣＡＤデータを管理するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータを、
それぞれが所定の種別のＣＡＤデータを処理する複数のＣＡＤデータ処理手段と、
ＣＡＤデータを指定した操作入力に応答して、前記複数のＣＡＤデータ処理手段の中の、前記指定されたＣＡＤデータを処理可能なＣＡＤデータ処理手段に対する処理要求を出力する処理要求出力手段と、
前記処理要求出力手段から出力された前記処理要求に対応する関数があらかじめ定義されており、前記関数に定義された処理を、前記指定されたＣＡＤデータを処理可能なＣＡＤデータ処理手段と連携して実行する連携手段と、
として機能させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【００９９】
（付記３）  前記処理要求出力手段は、前記複数の種別のＣＡＤデータの構成を表示し、表示された構成の少なくとも一部を選択する操作入力に基づいて、指定されたＣＡＤデータを判断することを特徴とする付記２記載の記録媒体。
【０１００】
（付記４）  前記処理要求出力手段から出力される可能性のある処理要求に対応する関数をメモリにロードするロード手段と、
前記ロード手段がロードした前記関数のメモリ内の位置を指し示すポインタを、ポインタテーブルに登録するポインタ登録手段とをさらに有し、
前記連携手段は、前記ポインタ登録手段により前記ポインタテーブルに登録された前記ポインタに基づいて、前記処理要求出力手段から出力された前記処理要求に対応する関数が登録されている場所を判断することを特徴とする付記２記載の記録媒体。
【０１０１】
（付記５）  前記ロード手段は、前記複数のＣＡＤデータ処理手段毎に、それぞれに対応する関数がまとめられたモジュールをロードすることを特徴とする付記４記載の記録媒体。
【０１０２】
（付記６）  前記複数のＣＡＤデータ処理手段毎の前記各モジュールの中には、それぞれのモジュールに含まれる関数で対応可能なＣＡＤデータの種別を応答する関数が含まれていることを特徴とする付記５記載の記録媒体。
【０１０３】
（付記７）  前記処理要求出力手段は、前記指定されたＣＡＤデータを処理可能なＣＡＤデータ処理手段に対して、実行可能な処理内容を問い合わせる処理要求を出力し、出力した処理要求に対する応答内容に応じて、画面上で選択可能なメニューの種別を切り替えることを特徴とする付記２記載の記録媒体。
【０１０４】
（付記８）  ＣＡＤデータを管理するためのＣＡＤデータ管理方法であって、所定の種別のＣＡＤデータを処理するＣＡＤデータ処理機能で処理可能な種別のＣＡＤデータを指定した操作入力に応答して、前記ＣＡＤデータ処理機能に対する処理要求を出力し、
出力された前記処理要求に対応する関数があらかじめ定義されており、前記関数に定義された処理を前記ＣＡＤデータ処理機能と連携して実行すること、
を特徴とするＣＡＤデータ管理方法。
【０１０５】
（付記９）  複数の種別のＣＡＤデータを管理するＣＡＤデータ管理方法であって、
それぞれが所定の種別のＣＡＤデータを処理する複数のＣＡＤデータ処理機能が用意されており、ＣＡＤデータを指定した操作入力に応答して、前記複数のＣＡＤデータ処理機能の中の、前記指定されたＣＡＤデータを処理可能なＣＡＤデータ処理機能に対する処理要求を出力し、
出力された前記処理要求に対応する関数があらかじめ定義されており、前記関数に定義された処理を、前記指定されたＣＡＤデータを処理可能なＣＡＤデータ処理手段と連携して実行すること、
を特徴とするＣＡＤデータ管理方法。
【０１０６】
（付記１０）  ＣＡＤデータを管理するＣＡＤデータ管理装置であって、
所定の種別のＣＡＤデータを処理するＣＡＤデータ処理手段と、
前記ＣＡＤデータ処理手段で処理可能な種別のＣＡＤデータを指定した操作入力に応答して、前記ＣＡＤデータ処理手段に対する処理要求を出力する処理要求出力手段と、
前記処理要求出力手段から出力される前記処理要求に対応する関数があらかじめ定義されており、前記関数に定義された処理を前記ＣＡＤデータ処理手段と連携して実行する連携手段と、
を有することを特徴とするＣＡＤデータ管理装置。
【０１０７】
（付記１１）  複数の種別のＣＡＤデータを管理するＣＡＤデータ管理装置であって、
それぞれが所定の種別のＣＡＤデータを処理する複数のＣＡＤデータ処理手段と、
ＣＡＤデータを指定した操作入力に応答して、前記複数のＣＡＤデータ処理手段の中の、前記指定されたＣＡＤデータを処理可能なＣＡＤデータ処理手段に対する処理要求を出力する処理要求出力手段と、
前記処理要求出力手段から出力された前記処理要求に対応する関数があらかじめ定義されており、前記関数に定義された処理を、前記指定されたＣＡＤデータを処理可能なＣＡＤデータ処理手段と連携して実行する連携手段と、
を有することを特徴とするＣＡＤデータ管理装置。
【０１０８】
（付記１２）  ＣＡＤデータを管理するためのプログラムであって、
コンピュータを、
所定の種別のＣＡＤデータを処理するＣＡＤデータ処理手段と、
前記ＣＡＤデータ処理手段で処理可能な種別のＣＡＤデータを指定した操作入力に応答して、前記ＣＡＤデータ処理手段に対する処理要求を出力する処理要求出力手段と、
前記処理要求出力手段から出力された前記処理要求に対応する関数があらかじめ定義されており、前記関数に定義された処理を前記ＣＡＤデータ処理手段と連携して実行する連携手段と、
として機能させるためのプログラム。
【０１０９】
（付記１３）  複数の種別のＣＡＤデータを管理するためのプログラムであって、
コンピュータを、
それぞれが所定の種別のＣＡＤデータを処理する複数のＣＡＤデータ処理手段と、
ＣＡＤデータを指定した操作入力に応答して、前記複数のＣＡＤデータ処理手段の中の、前記指定されたＣＡＤデータを処理可能なＣＡＤデータ処理手段に対する処理要求を出力する処理要求出力手段と、
前記処理要求出力手段から出力された前記処理要求に対応する関数があらかじめ定義されており、前記関数に定義された処理を、前記指定されたＣＡＤデータを処理可能なＣＡＤデータ処理手段と連携して実行する連携手段と、
として機能させるためのプログラム。
【０１１０】
【発明の効果】
以上説明したように本発明では、処理要求出力手段から出力された処理要求に対応する関数を実行することで、連携手段がＣＡＤデータ処理手段に依存しない形式の処理要求をＣＡＤデータ処理手段が解釈可能な命令に変換するようにしたため、処理要求出力手段が出力する処理要求に応じた関数を連携手段に定義しておくだけで、ＣＡＤデータの種別に応じたＣＡＤデータ処理手段に処理を行わせることができる。そのため、任意の種別のＣＡＤデータの管理機能を容易に追加することができる。
【図面の簡単な説明】
【図１】本発明の原理構成図である。
【図２】本実施の形態のシステム構成例を示すブロック図である。
【図３】クライアントコンピュータの構成例を示す図である。
【図４】本実施の形態の機能ブロック図である。
【図５】ＲＡＭのメモリマップの例を示す図である。
【図６】インタフェーステーブルの一例を示す図である。
【図７】関数テーブルの一例を示す図である。
【図８】ロード処理手順を示すフローチャートである。
【図９】アセンブリの構成を表示する画面例を示す図である。
【図１０】ＣＡＤデータをロードする際の表示画面例を示す図である。
【図１１】インタフェース呼び出し処理手順を示すフローチャートである。
【図１２】ＣＡＤインタフェースモジュール問い合わせの処理手順を示すフローチャートである。
【図１３】対応コマンド一覧の例を示す図である。
【図１４】コマンドメニュー表示処理のフローチャートである。
【符号の説明】
１ａ，１ｂ，１ｃ  ＣＡＤデータ処理手段
２ａ，２ｂ，２ｃ  インタフェース（Ｉ／Ｆ）モジュール
３  ロード手段
４  ポインタ登録手段
５  ポインタテーブル
６  処理要求出力手段
７  連携手段
１０，１０ａ  クライアントコンピュータ
１１  ＣＰＵ
１２  ＲＡＭ
１３  ＨＤＤ
１４  グラフィク処理装置
１５  入力インタフェース
１６  通信インタフェース
２４  ネットワーク
３０  サーバコンピュータ
【図１】
0003907463.tif 000002
【図２】
0003907463.tif 000003
【図３】
0003907463.tif 000004
【図４】
0003907463.tif 000005
【図５】
0003907463.tif 000006
【図６】
0003907463.tif 000007
【図７】
0003907463.tif 000008
【図８】
0003907463.tif 000009
【図９】
0003907463.tif 000010
【図１０】
0003907463.tif 000011
【図１１】
0003907463.tif 000012
【図１２】
0003907463.tif 000013
【図１３】
0003907463.tif 000014
【図１４】
0003907463.tif 000015