(57)【要約】【課題】  階層構造（親子関係）を持った部品を容易に記憶、管理することができ、かつ個々の部品間の３次元位置関係を部品のＣＡＤデータファイルとは独立して記憶、管理できる部品表ディレクトリを提供する。【解決手段】  階層構造をもった部品表を、階層構造の情報とともにＬＤＡＰデータベースに記憶し、ＬＤＡＰ属性を用いて部品間の３次元位置関係を記憶し、複数部品から構成される合成部品を作成し、さらに合成部品とその階層構造を簡便に読み出すことが可能なよう、ＬＤＡＰを階層部品表管理に適用する。【選択図】  図８
2005316698.tif 000002
【特許請求の範囲】
【請求項１】
部品情報を管理するための部品管理サーバであって、
複数の部品のエントリを記憶したデータベースを有し、
前記エントリは、ルートから当該エントリまでの階層構造によって表現された部品識別情報と、当該エントリに付随する属性情報とからなり、
前記属性情報には部品自体の構造に関する構造情報、階層が一つ上の部品に対する当該部品の３次元姿勢情報が含まれること、
を特徴とする部品管理サーバ。
【請求項２】
請求項１記載の部品管理サーバにおいて、前記構造情報には構造データを記述したファイルの配置場所が記述されていることを特徴とする部品管理サーバ。
【請求項３】
請求項２記載の部品管理サーバにおいて、前記ファイルの配置場所はＣＡＤデータファイルが置かれたネットワーク上の位置情報によって表現されていることを特徴とする部品管理サーバ。
【請求項４】
請求項１又は２記載の部品管理サーバにおいて、前記３次元姿勢情報には縮尺、平行移動、回転の情報が含まれることを特徴とする部品管理サーバ。
【請求項５】
部品問い合わせ部と部品表示部とを有する部品情報読み取り装置であって、
前記部品問い合わせ部は、ルートから部品を表すエントリまでの階層構造によって表現された部品識別情報と、当該エントリに付随する属性情報として、部品自体の構造に関する構造情報、階層が一つ上の部品に対する当該部品の３次元姿勢情報を含む情報を記憶したデータベースを備えた部品管理サーバに対して部品の問い合わせを行い、
前記部品表示部は、前記問い合わせに対して前記部品管理サーバから送信されてきた情報に基づいて問い合わせた部品を図形表示することを特徴とする部品情報読取装置。
【請求項６】
請求項５記載の部品情報読取装置において、前記部品表示部は、下位の階層の部品のＣＡＤデータを当該部品の３次元姿勢情報に従って階層が一つ上の部品のＣＡＤデータに合成することを反復して合成した部品のＣＡＤデータを表示することを特徴とする部品情報読取装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の部品から構成される部品の記憶と管理を行う部品管理サーバ及びその部品管理サーバから部品情報を読み取って表示する部品情報読取装置に関する。
【背景技術】
【０００２】
従来、部品表の記録と管理は、ＣＳＶファイルやＲＤＢなどの２次元表を用いて行われていた。また階層構造の管理といっても部品のカテゴリ分け（製造メーカや使用機器など）による階層管理であり、複数部品から構成される部品（本明細書では合成部品と呼ぶ）の階層構造を管理するものではない。また部品表の記憶において、一つの部品に対しては一つの図面が前提であり、複数図面を用いて合成部品を記憶、管理するという手法はなかった（例えば、特許文献１参照）。他方、ユーザアカウント情報やコンピュータのリソース情報を記憶、管理するために利用される技術としてＬＤＡＰ（Lightweight Directory Access Protocol、軽量ディレクトリアクセスプロトコル）がある。ＬＤＡＰは、高速な検索処理、階層形式でのデータ記憶、問い合わせインタフェースの簡便さなどに特徴がある。
【０００３】
【特許文献１】特開2001-188851号公報（第８−９頁、図２、図４）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、２次元表は階層構造を表現することには向いてなく、階層構造の記憶、読み取りの手順は複雑であった。親部品への参照情報を保持するカラムを定義し、全ての子部品レコードに親部品を指し示す情報が必要であった。２次元表を用いた従来の手法では、構成部品の階層構造を明らかにするために、親部品から子部品を検索する、また子部品から親部品を検索するなどの階層をたどる複数回の検索が必要であった。また、２次元表を用いたデータ表現では、その表から部品の階層関係を一見して判断することは困難であった。
【０００５】
本発明は前記課題を解決するためのものであり、階層構造をもった部品を、ＬＤＡＰデータ形式（ＬＤＩＦ）を用いたデータベースにより部品間の３次元位置関係を分かり易く簡便な形式で記憶し、個々の部品の図面（ＣＡＤデータファイル）とは独立して管理を行うためのサーバ及び部品情報読み取り装置（クライアント）を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の部品管理サーバは、複数の部品のエントリを記憶したデータベースを有する。各エントリは、ルートから当該エントリまでの階層構造によって表現された部品識別情報と、当該エントリに付随する属性情報とからなり、属性情報には部品自体の構造に関する構造情報、階層が一つ上の部品に対する当該部品の３次元姿勢情報が含まれる。構造情報は構造データを記述したファイルの配置場所とすることができ、ファイルの配置場所はＣＡＤデータファイルが置かれたネットワーク上の位置情報によって表現することができる（例えば、ネットワーク上の位置情報をＵＲＬによって指定する）。また、３次元姿勢情報には縮尺、平行移動、回転の情報が含まれる。この部品管理サーバは、典型的には、ＬＤＡＰサーバに階層部品表を記憶する機能と、部品間の３次元位置関係を記憶する機能とを持たせたることによって実現することができる。
【０００７】
部品管理サーバと通信するクライアント（部品情報読み取り装置）は、部品管理サーバに対して部品の問い合わせを行い、問い合わせに対して部品管理サーバから送信されてきた情報に基づいて問い合わせた部品を表示部に図形表示する。図形表示に当たっては、下位の階層の部品のＣＡＤデータを当該部品の３次元姿勢情報に従って階層が一つ上の部品のＣＡＤデータに合成することを反復して合成部品のＣＡＤデータを生成し、合成したＣＡＤデータを表示する。
【発明の効果】
【０００８】
本発明によれば、階層構造をもった部品をＬＤＡＰデータ形式（ＬＤＩＦ）で分かり易く簡便な形式で記憶でき、ＬＤＡＰ属性により部品間の３次元位置関係を記憶できる。また部品間の位置情報をも記憶することで、個々の部品の図面（ＣＡＤデータファイル）とは独立したＬＤＡＰデータベースで合成部品の管理を行うことができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を実施する場合の一形態を図面を参照して具体的に説明する。ここでは、ＬＤＡＰサーバを用いて本発明を実現する例について説明する。ＬＤＡＰサーバに記録する階層部品のデータ表現は、一般的なＬＤＩＦ（LDAP Data Interchange Format）形式を用いる。階層構造を表現できるデータベースであるＬＤＡＰサーバに階層構造をもった部品表の記憶と管理を行わせることで、部品表への効率的かつ簡便なアクセス手順を提供することができる。
【００１０】
本発明では複数部品から構成される合成部品を作成するために、図面データ（ＣＡＤデータファイル）自身に手を加える必要はない。複数図面間の位置関係、大小関係をＬＤＡＰデータベースに記憶することで、一つの共通部品を複数部品の構成要素の一つとしても有効活用できる。合成部品を作成する場合、各構成部品の３次元空間上の位置、姿勢、大きさを自由に決めて配置することができる。
【００１１】
図１は、ＬＤＡＰサーバの部品表ディレクトリで管理したい部品階層の一例を示す模式図である。部品PistonAのツリーと、部品EngineAのツリーがあり、EngineAがPistonAとその他の数点の部品から構成されていることが分かる。
【００１２】
図２は、図１の部品階層の親子関係を分解し、ＣＡＤモデルデータとの関係を示したものである。部品番号を（）で囲った部品は、複数部品から構成された合成部品であり、対応するＣＡＤデータファイルは存在しない。例えば、合成部品（００７）は部品００８と部品００４のＣＡＤデータファイルから合成される。対応するＣＡＤデータファイルが存在する部品は、部品００４（汎用ネジＡ）や部品００８（ボックスＡ）のように、部品階層の末端となる部品である。
【００１３】
図３は、図１の階層構造を２次元表として記憶した場合の一般的なイメージである。２次元表に対して、階層構造を問い合わせる手順は複雑である。例えば００１部品の階層構造を取得する場合、まず、００１部品を親部品に持つレコードを問い合わせる。この結果、子部品である００２と００３のレコードを取得することができる。さらにこれら子部品に関しても同様に、００２部品を親部品とするレコードの問い合わせ、００３部品を親部品とするレコードの問い合わせを行う。このようにして子部品が存在しなくなるまで問合せを繰り返し、部品の階層構造を調べる必要があった。また部品自身の１レコードの情報だけでは、親部品のさらに親部品など、自分が所属する階層構造の全貌は分からない。
【００１４】
図４は、図１に示した階層構造をＬＤＡＰのデータ表現形式であるＬＤＩＦ形式で表した場合の例を示す図である。ＬＤＩＦはテキストフォーマットであり、エントリの基本形式は次のようなものである。
【００１５】
dn:<識別名>             # エントリまでの階層をカンマで区切って表現
<属性記述子>:<属性値>   #：で区切って表現
<属性記述子>:<属性値>
‥‥‥
【００１６】
エントリを一意に識別するための情報がdnであり、エントリに付随する情報が属性として表現される。また各エントリは空行で区切られる。本発明は部品表ディレクトリのデータ表現として、このＬＤＩＦを用いることが特徴である。一つの部品のエントリ（dn）を見るだけで、その部品自身が所属する階層構造の親子関係が分かる。例えば、図４における汎用ネジAのエントリのdn （dn:pno=004,pno=003,pno=001,dc=mydomain）から、部品００４の親は部品００３で、さらにその親部品は００１であることが分かる。
【００１７】
部品表ディレクトリに対する問い合わせは標準化されたＬＤＡＰ（プロトコル）を用いるので、指定した部品の階層以下の複数エントリを１回の問い合わせで取得することができる。例えば、pno=００１の条件で問合せを行えば、子部品００２、００３、００４、００５の情報を１回の問合せで取得することも可能であるし、１階層下（００２、００３）の情報だけを取得することも可能である。
【００１８】
ＬＤＡＰでは属性を使用すれば、エントリに対して各種情報を記憶することが出来る。本発明の部品表ディレクトリでは、このＬＤＡＰ属性に、部品個々のＣＡＤデータファイルには存在しない、部品間の３次元位置関係情報を記憶することが特徴である。属性値は部品自身に関係のある情報や、ＣＡＤデータファイルの配置場所、個々の部品の３次元配置情報を記録する。図５に、本発明で利用する属性記述子の例とその意味を示す。CadURIは、図４の通り、部品のＣＡＤデータファイルの配置場所を指し示すための属性である。
【００１９】
図６は、二つの部品００２と００３からなる三階層構造の合成部品（００１）の３次元模式図である。部品００３の親部品は部品００２であり、部品００２の親部品は部品００１である。部品００１の構造データはＣＡＤデータファイルとしては実際には存在せず、部品００２と部品００３を合成したものである。部品００３を部品００２の３次元空間に合成した合成部品を、さらに部品００１の３次元空間に合成した部品が００１となる。
【００２０】
図７は、図６に示した部品階層のＬＤＩＦ表現である。dn:pno=001,dc=mydomainのエントリには属性CadURIが指定されていなく、部品００１の実際のＣＡＤデータファイルが存在しないことが分かる。子部品００２と００３のＣＡＤデータファイルは属性CadURIに記録されており、それぞれ、http://localhost/parts002.cadとfile://C:\data\parts003.cadであることが分かる。
【００２１】
部品００３の属性についてさらに詳細を説明する。Scale=0.5fは、parts003.cadのモデルデータを0.5倍の大きさに縮小することを意味する。(VX,VY,VZ)=(0.0f,0.0f,0.0f)、Rotate=0.0fは姿勢の制御に回転の操作が加わらないことを示す。(CenterX,CenterY,CenterZ)=(0.0f,1.5f,0.0f)は、部品００３を親部品（parts002.cad）の座標系において、y軸方向に+1.5f平行移動することを示す。続いて部品００２の属性について詳細を説明する。Scale=2.0fは、parts002.cadのモデルデータを2.0倍の大きさに拡大することを意味する。(VX,VY,VZ)=(0.0f,1.0f,0.0f)、Rotate=90.0fは姿勢の制御を示す値で、モデル(parts002.cad)をベクトル(0.0f,1.0f,0.0f)を中心に90度回転することを示す。(CenterX,CenterY,CenterZ)=(2.0f,2.0f,0.0f)は、部品００２を親部品００１の座標系においてｘ軸方向に2.0f、y軸方向に2.0fだけ平行移動して配置することを示す。
【００２２】
以上のように、部品間の３次元位置関係を記録する属性Scale、VX、VY、VZ、Rotate、CenterX、CenterY、CenterZは、常に親エントリの座標系に対する値である。従って理論上は、複数階層からなる合成部品を作成する場合、末端の子部品を親部品に合成し、合成によって出来た合成部品をさらに親部品に合成していくという手順をとる。
【００２３】
図８は、部品表ディレクトリ（サーバ）と部品読み取り装置（クライアント）の関係を示す図である。部品読み取り装置６は、部品表ディレクトリ（サーバ）１に対するクライアントであり、部品表問合せ部３と合成部品表示部４を備え、サーバ１から得られた情報に従って部品を合成し、合成部品表示部４に合成ＣＡＤデータを表示する。
【００２４】
図９は、部品読み取り装置６によって行われる図６の部品の合成手順の一例を示したものである。部品読み取り装置６の部品問い合わせ部３がサーバ１に部品００１のデータを要求すると、サーバ１は図７に示すような部品００１のエントリとその子部品のエントリのデータを返す。部品読み取り装置６の部品表示部４は、最初に最も末端の部品００３のエントリを参照し、file://C:\data\parts003.cadから部品００３のＣＡＤデータを取得し、取得したＣＡＤデータを部品００３の親部品である部品００２の座標系に読み込む。すなわち、部品００２のエントリを参照してhttp://localhost/parts002.cadから取得した部品００２のＣＡＤデータの座標系に対して、部品００３のＣＡＤデータを部品００３のエントリに記述されている３次元姿勢情報に従って配置する。具体的には、部品００２のＣＡＤデータに対して、部品００３を０．５倍に縮小し、ｙ軸方向に１．５ｆだけ平行移動して読み込む。こうして、合成部品（００２＋００３）のＣＡＤデータが合成される。次に、その合成ＣＡＤデータを、部品００２のエントリに記述された姿勢情報に従って、その親部品である部品００１の座標系に読み込む。具体的には、合成部品（００２＋００３）を２倍に拡大し、ベクトル(0.0f,1.0f,0.0f)を中心に90度回転し、ｘ軸方向に2.0f、y軸方向に2.0fだけ平行移動して配置する。こうして、図６に示すような部品００１のＣＡＤデータが合成され、部品読み取り装置６の表示部に表示される。
【００２５】
このように、部品のＣＡＤデータファイルが置かれたネットワーク上の位置情報をＵＲＬ等によって指定することにより、例えば部品メーカで製造している部品のＣＡＤデータを部品メーカのウェブサイト等から取得できる場合、種々の部品（ネジ等）のうちどの部品が自社の合成部品（エンジン等）に最も適合するか、等を自社のＬＤＡＰサーバ上で事前にシミュレーションすることができる。また、部品メーカの仕様変更等にも迅速に対応することができる。
【図面の簡単な説明】
【００２６】
【図１】階層構造（親子関係）をもった部品のイメージ図。
【図２】ＣＡＤデータのない合成部品を一つ一つの部品（ＣＡＤデータファイル）に分解した場合のイメージ図。
【図３】階層構造をもった部品を２次元表で記憶した場合のイメージ図。
【図４】階層構造をもった部品を本発明で利用するＬＤＩＦ形式で表した場合のイメージ図。
【図５】本発明で利用する、ＬＤＡＰ属性記述子の説明図。
【図６】本発明で記憶する合成部品と、各子部品（ＣＡＤデータファイル）との３次元位置関係を示した模式図。
【図７】図６の合成部品を本発明で利用する、ＬＤＩＦ形式で表した場合のイメージ図。
【図８】本発明の部品表ディレクトリ（サーバ）と部品読み取り装置（クライアント）の関係を示す図。
【図９】本発明の部品表ディレクトリで記憶する部品情報の読み取り手順を示したフローチャート。
【符号の説明】
【００２７】
１…部品表ディレクトリ、２…ＬＤＡＰデータベース、３…部品表問合せ部、４…（合成）部品表示部、５…ＣＡＤデータファイル、６…部品読取装置
【図１】
2005316698.tif 000003
【図２】
2005316698.tif 000004
【図３】
2005316698.tif 000005
【図４】
2005316698.tif 000006
【図５】
2005316698.tif 000007
【図６】
2005316698.tif 000008
【図７】
2005316698.tif 000009
【図８】
2005316698.tif 000010
【図９】
2005316698.tif 000011