JP2004110860A - 分解組立図作成装置および方法 - Google Patents

分解組立図作成装置および方法 Download PDF

Info

Publication number
JP2004110860A
JP2004110860A JP2004009972A JP2004009972A JP2004110860A JP 2004110860 A JP2004110860 A JP 2004110860A JP 2004009972 A JP2004009972 A JP 2004009972A JP 2004009972 A JP2004009972 A JP 2004009972A JP 2004110860 A JP2004110860 A JP 2004110860A
Authority
JP
Japan
Prior art keywords
assembly
exploded view
information
component
parts
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2004009972A
Other languages
English (en)
Other versions
JP3651476B2 (ja
Inventor
Shunsuke Minami
南  俊介
Tomotoshi Ishida
石田 智利
Yoshiaki Shinozuka
篠塚 義昭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004009972A priority Critical patent/JP3651476B2/ja
Publication of JP2004110860A publication Critical patent/JP2004110860A/ja
Application granted granted Critical
Publication of JP3651476B2 publication Critical patent/JP3651476B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Abstract

【課題】
 複数の部品からなる組立品の分解組立図の作成を容易に行い得る分解組立図作成装置及び方法の提供。
【解決手段】
 入力部101と,組立品を構成する部品の形状デ−タを記憶する形状デ−タメモリ105と,組付部品と組付方向からなる組立工程データを記憶するメモリ106と,前記形状デ−タに基づいて組立品を表示部に表示する演算部102と,組立工程デ−タと前記形状デ−タに基づいて、前記組立品を構成する部品の分解状態の配置位置を決定する手段109を有し、決定された配置位置に応じて分解組立図を前記表示部に表示する。
【効果】
 分解組立図の自動作成が可能となり、分解組立図作成の工数を低減することが可能となる。
【選択図】図1

Description

 本発明は、複数の部品から構成される組立品の構造や製造工程における組立手順,保守点検や修理の手順を示す際に作成される、分解組立図を作成する装置および方法に関する。
 分解組立図は、部品を組み合わせた状態から個々の部品をばらし、組付方向と逆の方向に、組立順に配置した図面である。このような分解組立図は、複数の部品から構成される組立品の構成や製造工程における組立手順,保守点検や修理の手順等を示すときに用いられる。従来、分解組立図は、製品の組立図や部品図等の製作図と組立手順等を示した組立手順書を元に手書きで作成していた。また、近年ではCADシステムが製品設計に用いられ、三次元CADシステムを用いて作成した製品の組立モデルを作成し、この三次元CADシステムで作成したデータを元にユーザが組立手順を考慮して、移動コマンドによって部品を移動させることによって分解組立図を作成している。
 上記の従来技術では、人手で分解組立図を作成していたために、非常に時間がかかった。また、三次元CADシステムで作成した組立品の形状データを利用すれば、少なくとも部品の形状を書く必要はないが、部品を1つ1つオペレータが移動方向と移動量を指示して移動させるために手間がかかった。また、製造準備段階で組立手順を検討している段階では、組立手順が正しいかどうかを形状を見て確認する必要がある。ところが組立手順の決定には試行錯誤を伴い、手順を変更する度に分解組立図を人手で作り直すため工数が非常にかかるという問題が有った。
 本発明の目的は、組立手順を容易に確認できる分解組立図を容易に作成する装置及び方法を提供することにある。
 本発明は、入力部と,組立品を構成する部品の形状データを記憶する形状データメモリと,前記形状データに基づいて組立品を表示部に表示する演算部を有するものにおいて、組立工程データと前記形状データに基づいて、前記組立品を構成する部品の分解状態の配置位置を決定する手段を設け、この決定された配置位置に応じて分解組立図を前記表示部に表示するようにしたことに特徴がある。
 具体的には、前記組立工程データは、部品の組立順序と組立方向とからなり、前記配置位置決定手段は、形状データメモリ内の部品の頂点座標と組立方向ベクトルとの内積を演算し、その内積値の最小値を求めると共に前記読み出された部品の頂点座標と組立方向ベクトルとの内積を演算し、その内積値の最大値を求め、求めた差分に基づいて前記組立品を構成する部品を分解組立図上で分解状態にする際の各部品間の間隔を決定し、この決定された部品間隔に応じて分解組立図を前記表示部に表示するものであります。
 本発明によれば、配置位置決定手段により、形状データメモリ内の部品の頂点座標と組立方向ベクトルとの内積が演算され、その内積値の最小値が求められると共に前記読み出された部品の頂点座標と組立方向ベクトルとの内積が演算され、その内積値の最大値が求められ、求められた差分に基づいて前記組立品を構成する部品を分解組立図上で分解状態にする際の各部品間の間隔が決定され、この決定された部品間隔に応じて分解組立図が表示部に表示されるので、分解組立図の自動作成が可能となり、従来行われていた、部品を1つ1つオペレータが移動方向と移動量を指示して移動させるという作業が不要となり、分解組立図作成の工数を低減することが可能となる。
 本発明によれば、分解組立図の自動作成が可能となり、従来行われていた、部品を1つ1つオペレ−タが移動方向と移動量を指示して移動させるという作業が不要となり、分解組立図作成の工数を低減することが可能となる。
 図1に本発明による分解組立図作成装置の構成の一実施例を示す。入力装置101は、キーボードやマウス等のユーザからの指示を取り込む機器および通信装置や記憶装置等の他の計算機からデータを受け取る装置で構成する。演算装置102は、CPUで構成し、記憶装置103に記憶されたプログラムによって記憶装置103内のデータを演算したり、入力装置101及び出力装置104とのデータのやり取りを行う。記憶装置103は、RAMや磁気ディスク等で構成し、プログラム及びデータを記憶する。出力装置104は、CRT等の表示装置や通信装置や記憶装置等の他の計算機へデータを受け渡す機器で構成する。
 記憶装置103には、形状データ105,組立手順データ106,形状データ入力プログラム107,組立手順入力プログラム108,組付部品移動プログラム109,分解組立図表示プログラム110を格納する。形状データ105は組立品の幾何情報を記憶する。組立手順データ106は、組立の順序毎に組付部品111,組付方向112を記憶する。形状データ入力プログラム107は、入力装置101から組立品の幾何情報を取り込み、形状データ105に格納する。組立手順入力プログラムは、入力装置101から組立の順序毎に、組付部品と組付方向を取り込み、組立手順データ106に格納する。組付部品移動プログラム109は、ある組立手順ステップにおいて、組付部品111の形状データと既に取付済みの部品の形状データと組付方向112から、分解組立図上の組付部品位置を計算し、形状データ105内の組付部品の部品位置を変更する。分解組立図表示プログラム110は、形状データ105を出力装置104に出力する。
 形状データ105及び組立手順データ106の入力は、マウス及びキーボードを用いてユーザが入力するか、他の計算機でデータを作成したデータを、ネットワークや記憶装置等を介して入力する。
 本実施例における分解組立図作成方法の一例を図43に示す。処理4301では、組立の対象となる部品の形状データ及び組立完了状態における部品の配置位置を取り込む。処理4302では、部品の組立順序,組立方向のデータからなる組立手順データを取り込む。処理4303では、部品形状,配置位置,組立順序、及び組立方向から、組立品を構成する1つ1つの部品について分解した状態での配置位置を計算する。処理4304では、処理4303で求めた配置位置に基づいて部品形状を表示する。
 図2に組付部品移動プログラム109の一実施例の詳細な構成を示す。手順順次読みだしプログラム201は、組立手順データ106内の1つ1つの組立手順ステップを読みだし、組付部品メモリ202および組付方向メモリ208に格納する。組付方向112は、既に組立済みの部品に組付部品を組み付けるときの方向を表すもので、単位ベクトルで表す。これをVa とする。また、組付済み部品メモリ204は、ある組立手順ステップ以前の手順ステップで取り付けた部品のリストを格納するものである。内積最小値計算プログラム205は、組付済み部品メモリ204から組み付け済み部品のリストを読みだし、それらの部品の頂点と取り付け方向の内積を計算し、その中の最小値を計算する。これを
min とする。内積最大値計算プログラム206は、組付部品メモリ202より組み付ける部品を読みだし、それらの部品の頂点の座標値を形状データ105から取り出す。それらの座標値と組付方向の内積をそれぞれ計算し、その中の最大値を求める。これをDmax とする。組付部品位置変更プログラム207は、以下の式(1)によって組付部品の移動ベクトルVを求める。ただし、Dconst はあらかじめ定めた一定量のすきまである。
(数1)
    V=(Dmin−Dmax−Dconst)*Va                …(1)
 そして、形状データより組付部品の位置Mo を取りだし、移動ベクトルVから求めた移動マトリックスMvをかけた値Mを新しい部品位置として形状データに書き込む。この計算は以下の式(2)による。
(数2)
    M=Mv*Mo                          …(2)
 組付済み部品追加プログラム208は、位置を変更した組付部品を組付済み部品メモリ204に追加する。
 次に、具体的な例を用いて組付部品移動プログラム109が分解組立図を作成する原理を説明する。
 図3は、2つの部品301と302が組み立てられた状態を示している。部品301が組付済み部品,部品302が組付部品とする。ベクトル303は、部品302の組付方向を示している。内積最小値計算プログラム205では、組付済み部品301の頂点の座標値と組付方向303の内積の最小値を求める。図3の例では図4に示すとおり、頂点401401との内積が最小になりその値は402になる。つまり、組付済み部品301の形状は、組付方向303を数直線として考えると、内積の最小値402より大きい領域に存在することになる。一方、内積最大値計算プログラム206では、組付部品302の頂点の座標値と組付方向303との内積の最大値を求める。図3の例では図4に示すとおり、頂点403と組付方向の内積が最大となり、その値は404となる。つまり、組付部品302の形状は、組付方向303を数直線として考えると、内積の最大値404より小さい領域に存在することになる。従って、最小値402から最大値404を引くと、その値は405のようになり、405の分だけ組付部品を組付方向に移動すると、組付済み部品301と組付部品302の、組付方向303の数直線上でのそれぞれの存在領域が重ならなくなる。しかし、このままでは領域が接しているので、図5のように、405の値からあらかじめ定めた一定量501を引くと移動量は502となる。組付部品302を組付方向303に移動量502だけ平行移動すると、組付済み部301と組付部品302が分離された分解組立図が得られる。
 図6に組付部品移動プログラムの処理フローを示す。処理601では、組立手順データ内の第1番目の手順ステップの組付部品を組付済み部品とする。処理602では、第2番目の手順ステップから最後の手順ステップについて順次、処理603〜処理607を適用する。処理603では、現在の手順ステップの組付部品と組付方向を組付手順データから読みだす。処理604では、組付部品のすべての頂点座標を形状データから読みだし、1つ1つの頂点と組付方向の内積を計算し、その値のなかの最大値を求める。処理605では、組付済み部品のすべての頂点座標を形状データから読みだし、1つ1つの頂点と組付方向の内積を計算し、その値のなかの最小値を求める。処理606では、最小値から最大値を引き、さらに一定量を引いた値に、組付方向をかけてえられるベクトル分だけ組付部品の位置を移動する。処理607では、移動して分解状態になった組付部品を組付済み部品に追加する。
 次に具体的な例を用いて、図6の処理フローによって分解組立図が作成される様子を説明する。図7は説明に用いる組立品の形状を示したものである。組立品の構造は、板701に部品702がボルト703によって固定され、また、部品704がボルト705によって板701に固定されている。部品702およびボルト703の組付方向は方向ベクトル706、また部品704およびボルト705の組付方向は方向ベクトル707である。
 図7の組立品の組立手順データは、例えば、図8のようになる。手順ステップ801は、組立手順のシーケンス番号であり、この番号順に組立を行う。組付部品802は、ある手順ステップにおいて組み付ける部品を表す。図8に示した部品は図7の部品に付けた符号に対応する。組付方向803は、ある手順ステップにおける部品の組付方向を表す方向ベクトルである。図8に示した組付方向は、図7の組付方向ベクトルに付けた符号に対応する。なお、第1番目の手順ステップ804は、最初に部品を置く場合なので、組付方向を特定する必要はない。
 まず、処理601によって、第1番目の手順ステップ804の組付部品701を組立済み部品とする。この段階では、図7の組立状態のままである。なお説明上、組付部品と組付済み部品を区別するために、組付済み部品を網かけで、組付部品を斜線のハッチングで示す。図7の状態では、部品701が組付済み部品である。次に、処理602で、手順ステップ2から5までに処理603から607を繰り返して適用する。第2番目の手順ステップ805に処理603を実行すると、組付部品は702となる。この状態を図9に示す。処理604を実行すると内積の最大値901が、処理605を実行すると内積の最小値902が得られ、処理606を実行すると最小値と最大値の差は903となり、一定量の隙間を904とすると移動ベクトル905が得られ、移動後の部品702の位置は906になる。処理607を実行すると、組付部品であった部品702は、906の位置で組付済み部品となる。図10に第3番目の手順ステップ806に処理603〜処理607を実行中の様子を示す。組付部品はボルト703で、組付方向ベクトルは706である。処理604を実行すると、組付部品はボルト703なので、内積の最大値は1001になる。処理605を実行すると、組付済み部品は部品701と部品702なので、内積の最小値は1002になる。1002から1001を引いた値1003が得られ、これから一定値1004を引いた値1005で、組付部品である703を組付方向706に移動すると
1006の位置になる。そして、部品703は1006の位置で組付済み部品となる。同様にして第4番目の手順ステップ807に処理603〜処理607を実行中の様子を図
11に示す。この場合、内積の最大値と最小値は等しく、図11の1101のようになる。従って、移動量は隙間分の1102となる。従って、移動後の部品704の位置は1103になる。更に、第5番目の手順ステップ808に処理603〜処理607を実行中の様子を図12に示す。組付部品705の頂点と組付方向707の内積の最大値は1201,組付済み部品701〜704の頂点と組付方向707の内積の最小値は1202,最小値と最大値の差は1203,隙間を1204とすると、移動量は1205となる。従って、移動後の部品705の位置は1206となる。図13に処理終了後の形状データの様子を示す。これを表示することにより、分解組立図が得られる。
 本実施例では、二次元で説明を行ったが、本発明ではこれを三次元でもそのまま実現できる。例えば図14において、組付部品を1401,組付済み部品を1402,組付方向を下向き方向の1403とする。組付方向1403と組付部品1401の頂点座標との内積の最大値は1404となる。また、組付方向1403と組付済み部品1402の頂点座標との内積の最小値は1405となる。最小値1404から最大値1405を引き、さらに隙間分1406を引いたもの1407が、組付部品の移動ベクトルとなる。図15に移動ベクトルによって組付部品1402を移動した後の形状データを示す。
 また、上記の実施例では、組付部品および被組付部品の頂点と組付方向ベクトルとの内積を計算したが、部品に曲面が含まれる場合は、曲線および曲面の制御点も内積計算の対象とすると、曲面で接する部品のよりわかりやすい分解組立図が作成できる。図16において、組付部品を1601,被組付部品を1602とする。組付部品および被組付部品に曲面1603が含まれている場合、組付方向ベクトル1609との内積計算行う際、頂点1607,1608の座標と共に、曲面1603の制御点1605,1606も計算の対象とする。その結果、組付部品1601の頂点と制御点の座標値と、組付方向ベクトル
1609との内積の最大値は、頂点1608の座標値と方向ベクトル1609の内積値
1610となる。また、被組付部品1602の頂点と制御点の座標値と、組付方向ベクトル1609との内積の最小値は、制御点1605の座標値と方向ベクトル1609の内積値1611となる。最小値1611と最大値1610の差より隙間量1612を引いた値1613が組付部品1601の移動量となる。図17に移動後の形状データを示す。このようにして、頂点座標だけでは曲線や曲面を含む部品をすべて分離することができないが、曲線や曲面の制御点を用いることにより、すべての部品を分離した分解組立図を作成することができる。
 本発明の他の実施例では、部品の形状データの頂点や制御点の代わりに、部品形状を包含する多角形であるバウンディングボックスの頂点を用いる。図18に本実施例を実現する組付部品移動量計算プログラム109の構成を示す。本プログラムは、図2に示した組付部品移動量計算プログラム109にバウンディングボックス計算プログラム1801を追加したものである。バウンディングボックス計算プログラム1801は、形状データ
105を参照し、部品形状を包含する多角形を求める。内積最小値計算プログラム205は、組付済み部品メモリ204に記憶されている部品に対応するバウンディングボックスをバウンディングボックス計算プログラム1801から読みだし、1つ1つ頂点座標と組付方向メモリ208に記憶されている組付方向ベクトルとの内積を計算し、それらの中から最小値を求める。内積最大値計算プログラム206は、組付済み部品メモリ204に記憶されている部品に対応するバウンディングボックスをバウンディングボックス計算プログラム1801から読みだし、1つ1つの頂点座標と組付方向メモリ208に記憶されている組付方向ベクトルとの内積を計算し、それらの中から最大値を計算する。図18のその他の部分は、図2と同様である。
 部品形状を包含する多角形であるバウンディングボックスは、例えば図19に示すような、部品座標系又は組立品座標系の座標軸1901に平行な立方体1902である。このようなバウンディングボックスは、部品形状を構成する頂点や制御点の座標値のx軸方向の最大値と最小値,y軸方向の最大値と最小値,z軸方向の最大値と最小値をそれぞれ求めることにより計算できる。バウンディングボックスの計算は、移動量を計算する前にあらかじめすべての部品のバウンディングボックスについて行ってもおいてもよいし、移動量計算中に行ってもよい。また、形状データ105に含めておいてもよい。このときは、バウンディングボックス計算プログラム1801は不要となる。バウンディングボックスは、部品形状を完全に包含しているため、組付部品の移動量は、頂点や制御点の座標を使って計算した移動量より、必ず大きくなるため、すべての部品を分離した分解組立図が作成できる。
 尚、ここでバウンディングボックスを用いる本実施例について以下に具体的に説明する。図44は、分解組立図上の部品配置を決定する手順を示すフローチャートである。処理4401では、組立の対象となる部品の形状データ及び組立完了状態における部品の配置位置を取り込む。処理4402では、部品の組立順序,組立方向のデータからなる組立手順データを取り込む。処理4403では、組付済みの部品のリストである被組付部品リストを空にしてから組立手順データの第1番目の組付部品を被組付部品リストにセットする。処理4404では、組立手順データの2番目の組付部品から最後の組付部品について組立順序の順に処理4405〜処理4409を繰り返す。処理4405では、組付部品のバウンディングボックスを算出する。次に処理4406では、被組付部品リストに含まれる部品をすべて包含するバウンディングボックスを算出する。処理4407では、組付方向と組付部品のバウンディングボックス、被組付部品のバウンディングボックスから、お互いのバウンディングボックスが隣接するような組付部品の移動量を計算する。処理4408では、組付部品を組付方向と反対方向に、処理4407にて求めた移動量だけ移動する。処理4409では、移動の終わった組付部品名を被組付部品リストに追加する。
 図45に処理4407の詳細なフローチャートを示す。処理4501では、組付部品のバウンディングボックスの各頂点を始点とし、組付方向の反対方向に延びる半直線を引く。二次元の場合は4本の半直線が引ける。三次元の場合は6本の半直線が引ける。処理
4502では、処理4501で作成した半直線と被組付部品のバウンディングボックスとの交点を求める。1つの半直線が被組付部品のバウンディングボックスと2つの交点を持つときは、始点から遠いほうを交点とする。処理4503では、それぞれの半直線について、始点から交点までの距離を算出する。交点がない場合は、距離は0とする。処理4504では、処理4503で求めた距離のうち最大値を選択し、それを移動量とする。
 本実施例による分解組立図作成の実行例を図46〜図48に示す。図46は、説明のための組立品の完成状態の図面である。プレート4601にボルト4602が固定されている様な構造になっている。ボルト4602が組付部品,プレート4601が被組付部品で、ボルト4602の組付方向が4603であるとする。図47に計算の途中で使われるバウンディングボックス,半直線等の情報を図示しながら処理を説明する。まず、最初に処理4405および処理4406により被組付部品のバウンディングボックス4701および組付部品のバウンディングボックス4702を算出する。次に、処理4501により、組付部品のバウンディングボックス4702の頂点4703,4704,4705,4706から組付方向4603と反対方向に半直線4707,4708,4709,4710を引きだす。次に処理4502により半直線4707,4708,4709,4710と被組付部品のバウンディングボックス4701の交点4711,4712,4713,4714を算出する。次に処理4503により始点と交点の間の距離、つまり、頂点4703〜交点4711,頂点4704〜交点4712,頂点4705〜交点4713,頂点4706〜交点4714を算出する。さらに処理4504で始点と交点間の距離のうち最大値、したがって図47の場合は頂点4703〜交点4711の距離を移動量とする。図48は、処理4408により算出した移動量4801で組付部品4602を組付方向4603と反対方向に移動した状態を示す。このように図45に示した処理フローにより計算した移動量を用いると、組付部品と被組付部品のバウンディングボックスが重ならない位置に組付部品を配置することができ、したがって、組付部品と被組付部品を分離して部品を配置することができる。これを組立手順の順に適用していけば、組立品全体の分解組立図を自動的に作成することができる。
 本発明の更に他の実施例を以下に示す。図20は、図1の分解組立図作成装置において、視線方向入力プログラム2001を追加すると共に、組付部品移動プログラム109を視線方向を考慮した組付部品移動プログラム2002に、分解組立図表示プログラム110を視線方向入力プログラム2001によって入力された視線方向で表示するようにした分解組立図表示プログラム2003に変更した機能構成図である。視線方向入力プログラム2001は、入力装置101よりユーザの指示や他のプログラムや計算機からの視線ベクトルを取り込むものである。視線方向を考慮した組付部品移動プログラム2002は、視線方向入力プログラム2001から、視線方向ベクトルを受け取り、組立品の形状データ105と組立手順データ106と視線方向ベクトルから部品の移動量を決定し、形状データ105から読みだした部品の位置を変更し、形状データに書き込む。
 図21に視線方向を考慮した組付部品移動プログラム2002の一実施例の構成図を示す。手順順次読みだしプログラム201は、組立手順データ106内の1つ1つの組立手順ステップを読みだし、組付部品メモリ202および組付方向メモリ208に格納する。組付方向112は、既に組立済みの部品に組付部品を組み付けるときの方向を表すもので、単位ベクトルで表す。これをVa とする。また、組付済み部品メモリ204は、ある組立手順ステップ以前の手順ステップで取り付けた部品のリストを格納するものである。視線方向を法線とする平面への投影プログラム2101は、視線方向入力プログラム2001より視線方向ベクトルVe を受け取り、また、組付方向メモリ208より組付方向ベクトルVa を読みだし、以下の式(3)によって視線方向Ve を法線ベクトルとする平面への組付方向ベクトルVa の投影ベクトルVp を計算する。
(数3)
    Vp=(Ve×Va)/|Ve×Va|×Ve              …(3)
 内積最小値計算プログラム2102は、組付済み部品メモリ204から取り付け済み部品のリストを読みだし、それらの部品の頂点と投影ベクトルVp の内積を計算し、その中の最小値を計算する。これをDmin とする。内積最大値計算プログラム2103は、組付部品メモリ202より組み付ける部品を読みだし、それらの部品の頂点の座標値を形状データ105から取り出す。それらの点と投影ベクトルVp の内積を計算し、その中の最大値を求める。これをDmax とする。組付部品位置変更プログラム2104は、以下の式
(4)によって組付部品の移動ベクトルVを求める。ただし、Dconst はあらかじめ定めた一定量のすきまである。
(数4)
    V=(Dmin−Dmax−Dconst)*Va/(Vp・Va)        …(4)
 そして、形状データ105より組付部品の位置Mo を取りだし、移動ベクトルVから求めた移動マトリックスMv をかけた値Mを新しい部品位置として形状データ105に書き込む、この計算は以下の式(2)による。
(数5)
    M=Mv*Mo                           …(2)
 組付済み部品追加プログラム208は、位置を変更した組付部品を組付済み部品メモリ204に追加する。
 次に、具体的な例を用いて組付部品移動プログラム2002が分解組立図を作成する原理を説明する。図22は、2つの部品2201と2202が組み立てられた状態を示している。部品2201が組付済み部品,部品2202が組付部品とする。ベクトル2203は、部品2202の組付方向Va を示している。視線方向ベクトルVe は図22において紙面に垂直に手前から向こう側への方向とする。図23は、視線方向ベクトルVe と組付方向ベクトルVa に垂直な方向から図22の組立品を見た図である。ベクトル2301は視線方向ベクトルVe である。図23の紙面に垂直な方向ベクトルVt は、視線方向ベクトルVe と垂直かつ、組付方向ベクトルVa と垂直であるために、視線方向ベクトルVe と組付方向ベクトルVa の外積によって計算されるベクトルを正規化したベクトルである。したがって、Vt は以下の式(5)で求められる。
(数6)
    Vt=(Ve×Va)/|Ve×Va|                 …(5)
 ただし、Vt は図23において手前から向こう側へ向かうベクトル2302とする。
 視線方向Ve を法線ベクトルとする平面への組付方向ベクトルVa の投影ベクトルVp は、図23では方向ベクトル2303となる。投影ベクトルVp は、Vt と垂直かつ視線方向Ve と垂直なので、Vt とVe の外積によって計算されるベクトルである。ただし、Vt とVe は直交するので、正規化する必要がない。以上をまとめると、投影ベクトル
p は以下の式(6)で求められる。
(数7)
    Vp=Vt×Ve=(Ve×Va)/|Ve×Va|×Ve         …(6)
 内積最小値計算プログラム2102では、取付済み部品2201の頂点の座標値と投影ベクトル2303の内積の最小値を求める。図22の例では、図23に示すとおり、頂点2304との内積が最小になり、その値は2305になる。一方、内積最大値計算プログラム2103では、組付部品2202の頂点の座標値と投影ベクトル2303との内積の最大値を求める。図22の例では、図23に示すとおり、頂点2306と投影ベクトル
2303の内積が最大となり、その値は2307となる。次に、最小値2305から最大値2307を引くと、その値は2308のようになる。2308の値からあらかじめ定めた一定量2309を引くと2310となる。2310は、投影ベクトル上での移動量なので、組付方向2203で投影ベクトル2303に投影した結果が2310となるような移動量を求める必要がある。これは、投影ベクトル2303方向の移動量2310を投影ベクトル2303と組付向ベクトル2203の内積で割ればよい。このようにして移動量
2311は計算できる。組付部品2202を組付方向2203に移動量2311だけ平行移動すると、図24のようになり、視線方向から見ると図25で示すように、組付済み部2201と組付部品2202の重なり部分がない分解組立図が得られる。
 図26に視線方向を考慮した組付部品移動プログラムの処理フローを示す。処理2601では、視線方向入力プログラムより視線方向ベクトルを取り込む。処理2602では、組立手順データ内の第1番目の手順ステップの組付部品を組付済み部品とする。処理2603では、第2番目の手順ステップから最後の手順ステップについて順次、処理2604〜処理2610を適用する。処理2604では、現在の手順ステップの組付部品と組付方向を組付手順データから読みだす。処理2605では、視線方向と組付方向が平行であるかどうかをチェックする、平行な場合は、外積が0となってしまうのでエラーとする。処理
2606では、投影組付方向Vp を上記の式(6)によって計算する。処理2607では、組付部品のすべての頂点座標を形状データから読みだし、1つ1つの頂点と投影組付方向の内積を計算し、その値のなかの最大値を求める。処理2608では、組付済み部品のすべての頂点座標を形状データから読みだし、1つ1つの頂点と投影組付方向の内積を計算し、その値のなかの最小値を求める。処理2609では、最小値から最大値を引き、さらに一定量を引いた値を組付方向と投影組付方向の内積で割った値に、組付方向をかけてえられるベクトル分だけ組付部品の位置を移動する。移動ベクトルをVとすると、以下の式(4)で求められる。
(数8)
    V=(Dmin−Dmax−Dconst)/(Vp・Va)*Va        …(4)
 ただし、Dminは、処理2608で求めた内積の最小値、Dmaxは、処理2607で求めた内積の最大値、Dconst は一定量の隙間値、Va は組付方向ベクトル、Vp は処理2606で求めた投影組付方向ベクトル、Va は処理2604で読みだした組付方向ベクトルである。処理2610では、移動して分解状態になった組付部品を組付済み部品に追加する。
 本実施例では、投影ベクトルとの内積計算に頂点の座標値を用いたが、曲面を含む場合には曲面の制御点の座標値も頂点座標値と共に用いてもよい。また、頂点や制御点の代わりに、部品の形状を包含する多面体であるバウンディングボックスの頂点座標を用いても良い。
 図27に、図1及び図2における組付部品移動プログラム109の更に他の実施例の詳細な構成2701を示す。手順順次読みだしプログラム201は、組立手順データ106内の1つ1つの組立手順ステップを読みだし、組付部品メモリ202および組付方向メモリ208に格納する。組付方向112は、既に組立済みの部品に組付部品を組み付けるときの方向を表すもので、単位ベクトルで表す。これをVa とする。また、組付済み部品メモリ204は、ある組立手順ステップ以前の手順ステップで取り付けた部品のリストを格納するものである。接触面検出プログラム2702は、組付部品を組付部品メモリ202から読みだし、組付済み部品を組付済み部品メモリ204から読みだし、組付部品と組付済み部品の間の接触面を形状データ105を参照して検出する。
 内積最小値計算プログラム205は、接触面検出プログラム2702より組付部品と組付済み部品の接触面を取り出し、その頂点と取り付け方向の内積を計算し、その中の最小値を計算する。これをDmin とする。内積最大値計算プログラム206は、組付部品メモリ202より組み付ける部品を読みだし、それらの部品の頂点の座標値を形状データ105から取り出す。それらの点と組付方向の内積を計算し、その中の最大値を求める。これをDmax とする。組付部品位置変更プログラム207は、上記の式(1)によって組付部品の移動ベクトルVを求める。そして、形状データより組付部品の位置Mo を取りだし、移動ベクトルVから求めた移動マトリックスMv をかけた値Mを新しい部品位置として形状データに書き込む。この計算は上記の式(2)による。組付済み部品追加プログラム208は、位置を変更した組付部品を組付済み部品メモリ204に追加する。
 次に、具体的な例を用いて組付部品移動プログラム109が分解組立図を作成する原理を説明する。図28は、2つの部品2801と2802が組み立てられた状態を示している。部品2801が組付済み部品,部品2802が組付部品とする。ベクトル2803は、部品2802の組付方向を示している。まず、接触面検出プログラム2702は、組付済み部品2801と組付部品2802の間の接触面を検出し、図29に示すように、ねじの座面2901とねじ面2902を得る。内積最小値計算プログラム205では、面2901と面2902の頂点の座標値と組付方向2803との内積の最小値を求める。図29の例では、図30に示すとおり、面2901の頂点3001と方向ベクトル2803の内積が最小になり、その値は3002になる。一方、内積最大値計算プログラム206では、組付部品2802の頂点の座標値と組付方向2803との内積を計算する。図28の例では、図30に示すとおり、頂点3003と組付方向2803の内積が最大となり、その値は3004となる。次に、最小値3002から最大値3004を引き、さらにあらかじめ定めた一定量3005を引くと移動量は3006となる。組付部品2802を組付方向2803に移動量3006だけ平行移動すると、図31のような組付済み部2801と組付部品
2802が分離された分解組立図が得られる。
 本実施例では、接触面の頂点を内積計算に用いたが、曲面や曲線の制御点も頂点と共に内積計算に用いてもよい。また、接触面の頂点や制御点の代わりに、接触面を包含するバウンディングボックスをあらかじめ求めておき、このバウンディングボックスの頂点を組付方向ベクトルとの内積計算に用いてもよい。さらに、図21に示した視線方向を考慮した組付部品移動プログラム2002に接触面検索プログラムを組み込んで、部品の頂点の代わりに接触面の頂点を内積最小値計算に用いてもよい。
 次に、本発明による更に他の実施例の構成を図32に示す。図32は、図27の接触面検出プログラムを備えた組付部品移動プログラム2701に、組付部品の接触面と組付済み部品の接触面の対応を表す対応線を作成する対応線作成プログラム3201を追加したものである。図33と図34を用いて対応線作成プログラム3201の動作を説明する。対応線作成プログラム3201は、接触面検出プログラム2702より接触面を受け取り、例えばその重心を計算する。図33の例では、接触面2901が接触面検出プログラム2702より渡され、重心3301が求められる。また、組付部品位置変更プログラム
207より組付部品の移動ベクトル3006を受け取り、接触面の重心3301を移動ベクトル3006だけ移動した点3302を求める。そして点3301と点3302の間を結ぶ線分を形状データ105に追加する。これを表示すると図34のように、組付部品の接触面と組付済み部品の接触面の対応を表す対応線3401が分解組立図とともに表示できる。対応線3401は、図34では一点鎖線で表したが、形状を表す線と異なる色や線の太さで表示してもよい。
 これまで述べてきた実施例では、組付部品の移動ベクトルを計算する際に、一定値の隙間Dconst を用いてきたが、この隙間を視線方向ベクトルと組付方向ベクトルから計算してもよい。
 図35は、組付部品と組付済み部品との隙間が一定値の場合と、視線方向ベクトルと組付方向ベクトルから計算する場合の例を示している。視線方向をベクトル3501とする。部品3502と部品3503を組付方向3504で組み付けるとすると、隙間は3505となる。この場合、組付方向3504は視線方向3501に垂直なため、視線方向3501から見た見かけ上の隙間3507は実際の隙間3505と等しくなる。ところが、部品
3508と部品3509を組立方向3510で組み付ける場合、隙間は3511となり
3505と同じ大きさであるが、視線方向3501から見た見掛け上の隙間3512は
3507に比べて小さくなる。見掛け上の隙間が小さくなると、部品同士が近づいてみえて分解組立図としては分かりにくくなってしまう。見掛け上の隙間は、組付方向と視線方向が平行に近づくほど小さくなる。そこで、例えば、隙間Dconst を次式(7)のように計算する。
Figure 2004110860
 ただし、Va は組付方向ベクトル、Ve は視線方向ベクトル、Cは正の定数とする。例えば、図35における部品3513と部品3514を組付方向3515で組み付ける場合、組付方向3515に平行な長さ1のベクトル3516の見掛け上の長さ3517は、
3518の長さがVa とVe の内積の絶対値となるので上記の式(7)の分母となる。従って、隙間3519を、上記の式(7)で計算すれば、組立方向と視線方向の関係によらず見掛け上の隙間3520を一定値Cに保つことができる。
 次に、組立品の構造によっては、1つずつ部品を組み付けることができず、いくつかの部品を組み立てたサブアッセンブリを組み立ててから組み付けなければ組み立てられない場合があるため、以下では、サブアッセンブリがある場合の実施例について説明する。先ず、図49にこのような組立品の例を示す。図49に示した組立品は、部品4901,
4902,4903の3つの部品からなる。このような組立品の場合、部品4901,
4902,4903の順に組み立てることはできない。まず部品4901を置いた後、部品4902と部品4903を組み立てた後、部品4901に組み付けなければならない。
 このような組立品の組立手順データは、例えば、図50の様に表現できる。部品レベルは、図51に示すように組立品のサブアッセンブリ関係を木構造で表したときのルート
5101からの深さを表す。したがって部品4901の部品レベルは1、部品4902,4903の部品レベルは2、部品4902と4903を組み立てたサブアッセンブリのレベルは1となる。
 本発明による組立途中にサブアッセンブリがあるような組立順序データから分解組立図を作成する方法の一実施例のフローチャートを図52に示す。処理5201では、組立品を構成する部品の形状と組立完了状態での部品位置からなる形状データを入力する。処理5202では、図50で示した様な、組立順序,組付部品,組立方向,部品レベルからなる組立手順データを入力する。処理5203では、組立手順データの第1番目の組付部品を被組付部品リストに設定する。処理5204では、組立手順データの2番目の組付部品から最後の組付部品について順番に処理5205以下の処理を適用する。処理5205では、組付部品がサブアッセンブリの最初の部品かどうかを判定する。例えば、図50の様にサブアッセンブリを部品レベルで表す場合、組付部品の部品レベルが1つまえの組付部品の部品レベルより大きい場合、サブアッセンブリの最初の部品となり、処理5205では、yes の方へ分岐し、処理5206,5207を実行する。部品レベルが同じ場合や前の組付部品のレベルより小さいときは、noの方へ分岐し、処理5208〜5211を実行する。処理5206では、現在の被組付部品リストの内容を被組付部品保存用スタックにプッシュする。処理5207では、被組付部品リストを空にした後、現在の組付部品を被組付部品リストに設定する。処理5206および処理5207により、これまでに組み付けた部品の情報を一時保存し、サブアッセンブリの組立に関する分解組立図を作成する準備が整う。処理5208では、分解状態での組付部品の配置位置を組付部品、被組付部品の形状データと組付部品の組付方向から計算する。計算方法はこれまでの実施例で述べた通りである。処理5209では、処理5208で計算した配置位置に組付部品を配置する。処理5210では、現在の組付部品がサブアッセンブリ組立の最後の部品かどうかを判定し、最後の部品であれば処理5211に分岐する。現在の組付部品がサブアッセンブリ部品の最後の部品でないときは、noの方へ分岐し、処理5212に分岐する。例えば、図50の様にサブアッセンブリを部品レベルで表す場合、現在の組付部品の部品レベルが1つ後の組付部品のレベルより大きいときにサブアッセンブリ組立の最後の部品となる。処理5211では、被組付部品保存用スタックに最後にプッシュした被組付部品をポップし、ポップした部品群を現在の被組付部品リストに設定する。処理5212では、組付部品を被組付部品リストに追加する。処理5204により処理5205を組立手順データのすべての組付部品に適用した後、処理5213にて移動後の形状データを表示する。これにより分解組立図が表示される。
 被組付部品保存用のスタックは、例えば図53の様な、スタックポインタ5301と部品名5303と部品個数5302の欄からなる表で実現する。スタックポインタ5301は、現在スタックに格納されている被組付部品リストの数を保存する。あらたに被組付部品リストがプッシュされたら、スタックポインタを1つだけ加算し、加算後のスタックポインタの値をインデックスとした行、この場合は3番目の行5304に、部品数と部品名のリストを格納する。逆に、スタックからポップする場合は、スタックポインタ5301の値をインデックスとした行の部品名リストをとりだすと共に、その行を表から削除し、スタックポインタ5301の値を1つだけ減算する。図53の例では、スタックポインタ5301の値が2なので、二番目の行5305から部品名Cをとりだし、この行5305を削除し、スタックポインタ5301の値を1つ減算して1とする。このようにして後から記憶した部品名のリストを最初にとりだすことができる。
 図52の処理を図49のデータおよび図50の組立手順データに適用したときの分解組立図作成の様子を図を用いて説明する。処理5201,5202で、形状データ図49と組立手順データ図50を入力する。次に、処理5203を実行すると、図50の最初の組立手順データの組付部品4901が被組付部品リストに設定される。次の組付部品4903について処理5205でサブアッセンブリ組立の最初の部品かどうかをチェックする。1つ前の組付部品4901のレベルは1であるが、現在の組付部品4903の部品レベルは2で、現在の組付部品の部品レベルの方が大きいので、サブアッセンブリ組立の最初であることがわかる。そこで、処理5206により被組付部品リストの内容、この場合は4901を被組付部品用スタックに格納する。そして、処理5207により現在の組付部品4903を被組付部品とする。この後、処理5204にてループし、組付部品4902に処理5205以下を適用する。まず、処理5205にてサブアッセンブリの最初であるかをチェックする。1つまえの組付部品4903の部品レベルと現在の組付部品4902の部品レベルは共に2で同一である。したがってサブアッセンブリ組立の最初の部品ではないのでnoに分岐し、処理5208に進む。ここで、組付部品4902と被組付部品4903の形状データと組付部品4902の組立方向データを用いて、分解状態の配置位置を計算する。その計算結果に基づいて処理5209にて4902を移動した状態を図54に示す。次に処理5210にてサブアッセンブリ組立の最後であるかを調べる。部品4902の部品レベルが2で、次の組付部品4902+4903の部品レベルが1なのでサブアッセンブリ組立の最後の部品である。したがってyes の方へ分岐し、被組付部品スタックから部品4901をポップし、被組付部品リストにセットする。この後、処理5204にてループし、組付部品4902+4903に処理5205以下を適用する。組付部品4902+4903とは、2つの部品4902と4903を組み立てて組み付けることを示している。処理5205では、部品4902+4903の部品レベルは1で、1つ前の組付部品4902の部品レベルは2であり、サブアッセンブリ組立の最初の部品ではない。したがって、noに分岐し、処理5208に進む。ここでは、前のループで計算した分解状態の4902と4903の位置および形状データを組付部品、部品4901を被組付部品として4902と4903を分解した状態の位置を求め、処理5209で4902と4903を移動する。この状態を図55に示す。以上の様にして、サブアッセンブリ組立のある組立手順データの分解組立図を作成することができる。
 サブアッセンブリ組立のある組立手順データとして、図50の様に部品レベルによりサブアッセンブリを表現する実施例を示したが、図56の様に組立手順データにサブアッセンブリ組立の有無を示すフラグを設け、フラグが0のときは、サブアッセンブリ組立なし、1のときはサブアッセンブリ組立ありとしてもよい。サブアッセンブリ組立の組立手順は図57のように別の組立手順データを用意して表現する。図56のサブアッセンブリ組立付の組付部品4904とサブアッセンブリ組立の組立手順データとの対応は、組立手順データにサブアッセンブリ名を記憶しておくことにより、組付部品名とサブアッセンブリ名の一致を調べることにより、対応をとることができる。このような組立手順データの表現のときは、サブアッセンブリ組立の最初かどうかの判定は、サブアッセンブリフラグが1である場合となる。また、組付部品名と同じサブアッセンブリ名である組立手順データを検索し、その最初の組付部品を新しい被組付部品とする。サブアッセンブリ組立の最後かどうかの判定は、組立順データの最後まで到達したかによって判断する。
 次に具体的な例を用いて、図1に示した分解組立図作成装置によって、組立品の組立手順を作成する様子を示す。図36は、説明に用いる組立品の構造である。組立品は、部品3601,部品3602,部品3603,部品3604から構成されている。図37にユーザが入力した組立手順の一例を示す。これは、最初に部品3601を置き、次に部品
3602を上方から取り付け、次に部品3603を横から取り付け、最後に部品3604を上方から取り付けるというものである。これを本発明による分解組立図作成装置によって分解組立図を作成すると図37のようになる。図37を見たユーザは、部品3603を横から取り付けようとするが部品3601が邪魔になって取り付けられないことが解かる。部品3603は部品3601に上方からしか取り付けられないので、ユーザは組立手順入力プログラム108に指示を与えて、図39の組立手順のように部品3603の取り付け方向3901を上方からの取り付けに変更する。図39の組立手順を元に組付部品移動プログラム109を起動によって分解組立図を作成し、分解組立図表示プログラム110で表示すると、図40のようになる。図40を見ると、ユーザは部品3602を取り付けてから部品3603を取り付けているため、部品3602が邪魔になって部品3603が取り付けられないことが解かる。そこでユーザは組立手順入力プログラム108に指示を与えて、図41の組立手順のように部品3603の組付手順ステップ4101を部品3602の組立手順ステップ4102の前に変更する。図41の組立手順を元に組付部品移動プログラム109を起動によって分解組立図を作成し、分解組立図表示プログラム110で表示すると、図42のようになる。図42を見ると、組立途中で部品がぶつかったりするような不具合がないことが解かる。このようにして、組立手順を入力し、分解組立図を作成することを繰り返すことによって正しい組立手順が得られる。
 尚、ここで更に本発明による分解組立図を用いた組立手順の変更方法の一例を図58に示す。処理5801では、分解組立図を作成する組立品を構成する部品の形状および組立完了状態での部品位置からなる形状データを入力する。処理5802では、組立順序,組付部品,組立方向からなる組立手順データを入力する。処理5803では、組立形状データと組立手順データから分解状態の部品位置を算出する。処理5804では、処理5803で算出した分解状態での部品位置に部品形状を表示し、分解組立図として表示する。処理
5805では、ユーザに組立手順の変更があるかどうかを問い合わせる。ユーザはキーボードやマウス等の入力機器を用いて変更の必要の有無を入力する。変更の必要がない場合は、手順変更処理を終了する。変更が必要なときは、処理5806を実行する。処理5806では、手順変更の指示をユーザに問い合わせる。ユーザは、変更が必要な部品と変更内容をキーボードやマウスを用いて入力する。複数の変更対象の部品を指示し、処理5807では、ユーザが入力した変更指示に基づいて組立手順データを変更する。変更指示としては、例えば2つの部品を指定してその部品の組立順序を入れ替える指示がある。また、別な例としては、変更対象の部品を複数、順次指示したあと、別に指定した部品の前又は後に指示した順に手順を挿入する指示がある。
 図59〜図63に図58で示した組立順序編集方法の実行例を示す。図59は、処理
5801で入力される形状データの例である。この例では、組立品は、部品5901,
5902,5903,5904の4つの部品からなる。図60は、処理5802で入力される組立手順データの例である。この組立手順データは、まず部品5901を置き、次に部品5902を−Y軸方向から組み付け、次に部品5903を−Y軸方向から組み付け、最後に部品5904を−Y方向から組み付ける組立手順を表している。図61は、処理
5801および処理5804によって生成された分解組立図である。処理5805により組立手順変更メニュー6101が表示され、ユーザは例えばマウスで入れ替えコマンド
6102を選択する。これにより処理5806に制御が移り、変更指示を入力する。例えば入れ替えコマンドの場合、2つの部品5903と部品5904を指示する。そうすると、処理5807により組立手順データ内の部品5902と部品5903の順序を入れ替える。図62に変更後の組立手順データを示す。変更後の組立手順データと処理5801で入力した形状データを用いて処理5803で配置位置を計算し、処理5804で表示した結果は、図63の様になる。変更後の分解組立図を表示後、再び処理5805により組立手順変更メニュー6101が表示される。ここで、ユーザは移動コマンド6103を選択すると、処理5806により変更指示を入力する。移動コマンドの場合には、順序移動対象の部品、移動先の部品を分解組立図上で指示し、移動先部品の前に移動するか後に移動するかをメニューで指示する。例えば図63上で、順序変更部品として部品5903と部品5904の順で指示し、次に移動先部品として5902を指示する。そして、メニュー6301より「前に」を選択する。処理5807では、処理5806で入力された変更指示に従い、部品5903と部品5904をこの順で部品5902の前に移動し、その結果、図64の様な組立手順データが得られる。図64の組立手順データと図59の形状データおよび配置データをもとに、処理5803で配置位置を計算し、処理5804で表示すると図65のような分解組立図が得られる。処理5805にてメニュー6101を表示し、ユーザがこれ以上組立順序を変更する必要がないときは終了6104を選択して編集処理を終了する。
 このようにして、分解組立図上で組立手順を指示すると、部品が分解されているので部品の指示が容易になると共に、分解組立図上では、組立順序の順に部品が並んでいるので、部品の組立順序の把握が容易になる。したがって、組立完了状態で順序を変更するよりも、分解組立図上で組立順序の変更をするほうが容易である。
 以上、本発明の実施例によれば、少なくとも形状データと組立手順データがあれば、分解組立図を自動的作成できるため、分解組立図作成の工数を低減する効果がある。
 また、部品形状の頂点や制御点の代わりに、部品形状を包含するバウンディングボックスの頂点を用いることにより、1つの部品について高々6つの頂点と組付方向ベクトルとの内積を計算するだけですむので、高速に分解組立図を作成できるという効果がある。
 更にまた、組付部品の移動量計算に分解組立図の視線方向を用いることにより分解組立図においてばらした部品同士が見かけ上重なりのない図を作成できるので、理解しやすい分解組立図を作成できるという効果がある。
 また、組付部品の移動量計算に分解組立図の視線方向をもちいることにより分解組立図においてばらした部品同士を見かけ上、等間隔に配置した図を作成できるので、理解しやすい分解組立図を作成できるという効果がある。
 また、組立状態で接触する面を分解組立図上で線で結ぶことができるので、組立方向が理解しやすい分解組立図を作成できるという効果がある。
 また、分解組立図を容易に作成できるので、組立手順データを入力してその分解組立図を表示させ、それを見て組立手順の不具合を見つけ、組立手順データを修正するというような作業が少ない手間で可能となり、製品の製造工程での組立手順の立案が容易になるという効果がある。
本発明の一実施例である分解組立図作成装置の構成図である。 図1の実施例における組付部品移動部の詳細構成図である。 組立品の状態図である。 図2に示す組付部品移動部の動作原理を説明する図である。 図2に示す組付部品移動部の動作原理を説明する図である。 組付部品移動部の処理手順を表す図である。 他の組立品の状態図である。 組立手順データのデ−タ構成を表す図である。 図7に示す組立品に対する組付部品移動部の動作を説明する図である。 図7に示す組立品に対する組付部品移動部の動作を説明する図である。 図7に示す組立品に対する組付部品移動部の動作を説明する図である。 図7に示す組立品に対する組付部品移動部の動作を説明する図である。 図7に示す組立品に対し本発明の一実施例によって作成した分解組立図である。 三次元形状の組立品に対する組付部品移動部の動作を説明する図である。 本発明の一実施例によって作成した三次元形状データに基づく分解組立図である。 組付部品移動部の一実施例の動作を説明する図である。 図16に示す本発明の一実施例によって作成した分解組立図である。 本発明の他の実施例である分解組立図作成装置の組付部品移動部の詳細構成図である。 部品形状を包含するバウンディングボックスの一例を表す図である。 本発明の他の実施例である分解組立図作成装置の構成図である。 図20に示す組付部品移動部の詳細構成図である。 組立品の状態図である。 図22に示す組付部品移動部の動作を説明する図である。 図22に示す組付部品移動部の動作を説明する図である。 本発明の一実施例によって作成した分解組立図である。 図22に示す組付部品移動部の処理手順を表す図である。 本発明の他の実施例である分解組立図作成装置の組付部品移動部の詳細構成図である。 組立品の状態図である。 組立品の接触面の例を表す図である。 図27に示す組付部品移動部の動作を説明する図である。 本発明の一実施例によって作成した分解組立図である。 本発明の他の実施例である分解組立図作成装置の組付部品移動部の詳細構成図である。 接触面の対応線を作成する原理を説明する図である。 本発明の一実施例によって作成した対応線を含む分解組立図である。 視線方向により、部品間の隙間を決定する方法の原理を説明する図である。 組立品の状態図である。 組立手順データのデ−タ構成を表す図である。 本発明の一実施例の装置によって作成した分解組立図である。 組立手順データのデ−タ構成を表す図である。 本発明の一実施例の装置によって作成した分解組立図である。 組立手順データのデ−タ構成を表す図である。 本発明の一実施例の装置によって作成した分解組立図である。 本発明の一実施例である分解組立図作成方法の処理フロ−図である。 図18に示す実施例の分解組立図作成方法の処理フロ−図である。 図44のステップ4407の詳細フロ−図である。 組付品の状態図である。 組付品に対しバウンディングボックス及び半直線が付加された図である。 配置位置決定後の状態を表す図である。 サブアッセンブリ組立のある組立品の形状データを示す図である。 サブアッセンブリ組立のある組立手順データのデ−タ構成図である。 木構造により組立品を表現した図である。 本発明の他の実施例であるサブアッセンブリ組立に対応した分解組立図作成方法の処理手順を表す図である。 被組付部品用スタックのデ−タ構成図である。 分解組立図作成の途中状態を表す図である。 分解組立図作成の最終状態を表す図である。 サブアッセンブリ組立のある組立手順データのデ−タ構成図である。 サブアッセンブリ組立のある組立手順データのデ−タ構成図である。 本発明の他の実施例である分解組立図上での組立手順の編集を行う際の処理手順を表す図である。 組立品の状態図である。 組立手順データのデ−タ構成図である。 分解組立図上での組立手順編集の指示方法を説明する図である。 組立手順編集後の組立手順データのデ−タ構成図である。 組立手順編集後の分解組立図である。 組立手順編集後の組立手順データのデ−タ構成図である。 組立手順編集後の分解組立図である。
符号の説明
 101…入力装置、102…演算装置、103…記憶装置、104…出力装置、105…形状データ、106…組立手順データ、107…形状データ入力プログラム、108…組立手順入力プログラム、109…組付部品移動プログラム、110…分解組立図表示プログラム、111…組付部品データ、112…組付方向データ。

Claims (28)

  1.  組立品の分解した状態を示す分解組立図を表示装置に表示させる機能を備えたCADシステムにおいて、
     メモリに記憶されている組立品を構成する部品の組立方向と組立品を構成する部品の形状データとに基づいて分解組立図における部品の間隔を求め、該間隔に基づいて作成した分解組立図を表示装置に表示させることを特徴とするCADシステム。
  2.  請求項1において、
     前記部品の形状データは前記部品の頂点及び制御点の少なくとも一方を示すデータであることを特徴とするCADシステム。
  3.  請求項1又は2において、
     前記形状データを入力する手段を有することを特徴とするCADシステム。
  4.  組立品の分解した状態を示す分解組立図を表示装置に表示させる機能を備えたCADシステムにおいて、
     組立品を構成する部品の組立方向と組立品を構成する部品のバウンディングボックスを基に分解組立図における部品の間隔を求め、該間隔に基づいて作成した分解組立図を表示装置に表示させることを特徴とするCADシステム。
  5.  請求項4において、
     前記間隔は、部品のバウンディングボックスを構成する頂点の位置を示すデータを用いて求めることを特徴とするCADシステム。
  6.  請求項1から3のいずれかにおいて、
     前記間隔を、組立品を構成する部品の組立方向と組立品を構成する部品の形状データとから求めた値に対して、所定の間隙値を加算又は減算することによって求めることを特徴とするCADシステム。
  7.  請求項4又は5において、
     前記間隔を、組立品を構成する部品の組立方向と組立品を構成する部品のバウンディングボックスとから求めた値に対して、所定の間隙値を加算又は減算することによって求めることを特徴とするCADシステム。
  8.  組立品の分解した状態を示す分解組立図を表示装置に表示させる分解組立図の作成方法において、
     組立品を構成する部品の組立方向と組立品を構成する部品の形状データとに基づいて分解組立図における部品の間隔を求め、該間隔に基づいて作成した分解組立図を表示装置に表示させることを特徴とする分解組立図の作成方法。
  9.  請求項8において、
     前記部品の形状データは前記部品の頂点又は制御点の少なくとも一方を示すデータであることを特徴とする部分組立図の作成方法。
  10.  請求項8又は9において、
     前記形状データを入力するステップを備えることを特徴とする部分組立図の作成方法。
  11.  組立品の分解した状態を示す分解組立図を表示装置に表示させる分解組立図の作成方法において、
     組立品を構成する部品の組立方向と組立品を構成する部品のバウンディングボックスから分解組立図における部品の間隔を求め、該間隔に基づいて作成した分解組立図を表示装置に表示させることを特徴とする部分組立図の作成方法。
  12.  請求項11において、
     前記部品の間隔は、部品のバウンディングボックスを構成する頂点の位置を示すデータを用いて求めることを特徴とする分解組立図の作成方法。
  13.  請求項8から10のいずれかにおいて、
     前記間隔を、組立品を構成する部品の組立方向と組立品を構成する部品の形状データとから求めた値に対して、所定の間隙値を加算又は減算することによって求めることを特徴とする分解組立図の作成方法。
  14.  請求項11又は12において、
     前記間隔を、組立品を構成する部品の組立方向と組立品を構成する部品のバウンディングボックスとから求めた値に対して、所定の間隙値を加算又は減算することによって求めることを特徴とする分解組立図の作成方法。
  15.  組立品の分解した状態を示す分解組立図を表示装置に表示させる機能を備えたCADシステムにおいて、組立品を構成する部品のバウンディングボックスに関する情報を記憶する記憶手段と、前記記憶手段から、部品のバウンディングボックスに関する情報を読み出し、該読み出した部品のバウンディングボックスに関する情報に基づいて分解組立図上の部品の位置を計算する計算手段と、前記計算手段により計算した分解組立図上の部品の位置に基づいて分解組立図を表示装置に表示させる表示手段とを備えることを特徴とする
    CADシステム。
  16.  組立品の分解した状態を示す分解組立図を表示装置に表示させる機能を備えたCADシステムにおいて、組立品を構成する部品の組立方向に関する情報と組立品を構成する部品のバウンディングボックスに関する情報とを記憶する記憶手段と、前記記憶手段から、部品の組立方向に関する情報と部品のバウンディングボックスに関する情報とを読み出し、該読み出した組立品を構成する部品の組立方向に関する情報と、該読み出した部品のバウンディングボックスに関する情報に基づいて分解組立図上の部品の位置を計算する計算手段と、前記計算手段により計算した分解組立図上の部品の位置に基づいて分解組立図を表示装置に表示させる表示手段とを備えることを特徴とするCADシステム。
  17.  組立品の分解した状態を示す分解組立図を表示装置に表示させる機能を備えたCADシステムにおいて、組立品を構成する部品の組立方向に関する情報と組立品を構成する部品のバウンディングボックスに関する情報を記憶する記憶手段と、前記記憶手段から、部品の組立方向に関する情報と部品のバウンディングボックスに関する情報を読み出し、該読み出した組立品を構成する部品の組立方向に関する情報と、該読み出した部品のバウンディングボックスに関する情報に基づいて求められる分解組立図における部品の間隔に基づいて作成した分解組立図を表示装置に表示させる手段を備えることを特徴とするCADシステム。
  18.  組立品の分解した状態を示す分解組立図を表示装置に表示させる機能を備えたCADシステムにおいて、組立品を構成する部品の組立方向に関する情報と組立品を構成する部品のバウンディングボックスを記憶する記憶手段と、前記記憶手段から、部品の組立方向と部品のバウンディングボックスを読み出し、該読み出した組立品を構成する部品の組立方向に関する情報と部品のバウンディングボックスに基づいて、分解組立図における部品の間隔を求め、該間隔に基づいて作成した分解組立図を表示装置に表示させる手段を備えることを特徴とするCADシステム。
  19.  組立品の分解した状態を示す分解組立図を表示装置に表示させる機能を備えたCADシステムにおいて、組立品を構成する部品の識別情報に対応付けて、該部品の組立方向に関する情報とバウンディングボックスに関する情報を記憶する記憶手段と、前記記憶手段から、選択された部品に対応する組立方向に関する情報とバウンディングボックスに関する情報とを読み出し、該読み出した部品の組立方向に関する情報と、該読み出した部品のバウンディングボックスに関する情報に基づいて求められる分解組立図における部品の間隔とに基づいて作成した分解組立図を表示装置に表示させる手段を備えることを特徴とする
    CADシステム。
  20.  請求項16において、前記間隔は、部品のバウンディングボックスを構成する頂点の位置を示すデータを用いて求めることを特徴とするCADシステム。
  21.  請求項16において、前記間隔を、組立品を構成する部品の組立方向と組立品を構成する部品のバウンディングボックスから求めた値に対して、所定の間隙値を加算又は減算することによって求めることを特徴とするCADシステム。
  22.  組立品の分解した状態を示す分解組立図を表示装置に表示させる分解組立図表示方法において、組立品を構成する部品のバウンディングボックスに関する情報を記憶手段に記憶する手順と、前記記憶手段から、部品のバウンディングボックスに関する情報を読み出し、該読み出した部品のバウンディングボックスに関する情報に基づいて分解組立図上の部品の位置を計算手段により計算する手順と、前記計算手段により計算した分解組立図上の部品の位置に基づいて分解組立図を表示装置に表示させる手順とを備えることを特徴とする分解組立図表示方法。
  23.  組立品の分解した状態を示す分解組立図を表示装置に表示させる分解組立図表示方法において、組立品を構成する部品の組立方向に関する情報と組立品を構成する部品のバウンディングボックスに関する情報とを記憶手段に記憶する手順と、前記記憶手段から、部品の組立方向に関する情報と部品のバウンディングボックスに関する情報とを読み出し、該読み出した組立品を構成する部品の組立方向に関する情報と、該読み出した部品のバウンディングボックスに関する情報に基づいて分解組立図上の部品の位置を計算手段により計算する手順と、前記計算手段により計算した分解組立図上の部品の位置に基づいて分解組立図を表示装置に表示させる手順とを備えることを特徴とする分解組立図表示方法。
  24.  組立品の分解した状態を示す分解組立図を表示装置に表示させる分解組立図表示方法において、組立品を構成する部品の組立方向に関する情報と組立品を構成する部品のバウンディングボックスに関する情報を記憶手段に記憶する手順と、前記記憶手段から、部品の組立方向に関する情報と部品のバウンディングボックスに関する情報を読み出し、該読み出した組立品を構成する部品の組立方向に関する情報と、該読み出した部品のバウンディングボックスに関する情報に基づいて求められる分解組立図における部品の間隔に基づいて作成した分解組立図を表示装置に表示させる手順を備えることを特徴とする分解組立図表示方法。
  25.  組立品の分解した状態を示す分解組立図を表示装置に表示させる分解組立図表示方法において、組立品を構成する部品の組立方向に関する情報と組立品を構成する部品のバウンディングボックスを記憶手段に記憶する手順と、前記記憶手段から、部品の組立方向に関する情報と部品のバウンディングボックスを読み出し、該読み出した組立品を構成する部品の組立方向に関する情報と部品のバウンディングボックスに基づいて、分解組立図における部品の間隔を求め、該間隔に基づいて作成した分解組立図を表示装置に表示させる手順を備えることを特徴とする分解組立図表示方法。
  26.  組立品の分解した状態を示す分解組立図を表示装置に表示させる分解組立図表示方法において、組立品を構成する部品の識別情報に対応付けて、該部品の組立方向に関する情報とバウンディングボックスに関する情報を記憶手段に記憶する手順と、前記記憶手段から、選択された部品に対応する組立方向に関する情報とバウンディングボックスに関する情報とを読み出し、該読み出した部品の組立方向に関する情報と、該読み出した部品のバウンディングボックスに関する情報に基づいて求められる分解組立図における部品の間隔とに基づいて作成した分解組立図を表示装置に表示させる手順を備えることを特徴とする分解組立図表示方法。
  27.  請求項16において、前記間隔は、部品のバウンディングボックスを構成する頂点の位置を示すデータを用いて求めることを特徴とする分解組立図表示方法。
  28.  請求項16において、前記間隔を、組立品を構成する部品の組立方向と組立品を構成する部品のバウンディングボックスから求めた値に対して、所定の間隙値を加算又は減算することによって求めることを特徴とする分解組立図表示方法。

JP2004009972A 2004-01-19 2004-01-19 分解組立図作成装置および方法 Expired - Lifetime JP3651476B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004009972A JP3651476B2 (ja) 2004-01-19 2004-01-19 分解組立図作成装置および方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004009972A JP3651476B2 (ja) 2004-01-19 2004-01-19 分解組立図作成装置および方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP02926794A Division JP3527771B2 (ja) 1994-02-28 1994-02-28 Cadシステム及び部分組立図の作成方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004210916A Division JP3786127B2 (ja) 2004-07-20 2004-07-20 分解組立図作成装置および方法

Publications (2)

Publication Number Publication Date
JP2004110860A true JP2004110860A (ja) 2004-04-08
JP3651476B2 JP3651476B2 (ja) 2005-05-25

Family

ID=32291400

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004009972A Expired - Lifetime JP3651476B2 (ja) 2004-01-19 2004-01-19 分解組立図作成装置および方法

Country Status (1)

Country Link
JP (1) JP3651476B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217095A (ja) * 2007-02-28 2008-09-18 Fujitsu Ltd 部品表示プログラム、該プログラムを記録した記録媒体、部品表示方法、および部品表示装置
JP2014219975A (ja) * 2013-04-30 2014-11-20 ダッソー システムズDassault Systemes コンピュータによって実行され、三次元シーンにおいてアセンブリの三次元モデル化オブジェクトを操作するための方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008217095A (ja) * 2007-02-28 2008-09-18 Fujitsu Ltd 部品表示プログラム、該プログラムを記録した記録媒体、部品表示方法、および部品表示装置
JP2014219975A (ja) * 2013-04-30 2014-11-20 ダッソー システムズDassault Systemes コンピュータによって実行され、三次元シーンにおいてアセンブリの三次元モデル化オブジェクトを操作するための方法

Also Published As

Publication number Publication date
JP3651476B2 (ja) 2005-05-25

Similar Documents

Publication Publication Date Title
US7262766B2 (en) Apparatus for producing exploded view and animation of assembling, and method thereof
US8473255B2 (en) Method and aids for modelling 3D objects
JP2007280354A (ja) 三次元形状処理装置、三次元形状処理方法、三次元形状処理プログラム、記録媒体、パーツカタログ・システム、パーツカタログ作成方法、及びプログラム
JP5195641B2 (ja) ハーネス検証装置およびハーネス検証プログラム
JP3803509B2 (ja) 薄板金属製作設備全体にわたって設計製作情報を分配する装置および方法
US20110218785A1 (en) Method and device for producing a finite element model
US20100156936A1 (en) Deformation method of analysis model and computer
US7869059B2 (en) Height-limit calculation apparatus, height-limit calculation method, method of manufacturing three-dimensional structure, and computer product
US20160357880A1 (en) Computer-readable storage medium, design apparatus, and design method
JP5625700B2 (ja) 三次元cadプログラム、装置および三次元cadの処理方法
JPH07239866A (ja) 分解組立図作成装置および方法
JP2002092044A (ja) 設備管理システム及び方法ならびに設備管理プログラムを記録した記録媒体
JP2004288224A (ja) 分解組立図作成装置および方法
JP2004110860A (ja) 分解組立図作成装置および方法
JP3898485B2 (ja) 作図図面表示装置、作図図面表示方法及び記録媒体
JP4798579B2 (ja) 部品カタログ生成システム、部品カタログ生成方法、プログラムおよび記録媒体
JP2001256268A (ja) 分解組立図作成装置および方法
JP2006338119A (ja) 製造検討支援装置
US20070232120A1 (en) Design support system, design support method, and program
JP3938687B2 (ja) 3次元形状処理装置および3次元形状処理方法
JP4302102B2 (ja) 3次元設計支援プログラム
JP5152581B2 (ja) 画像データ処理装置及び方法、並びにプログラム及び記録媒体
CN115761122B (zh) 三维辅助尺的实现方法、装置、设备和介质
JP6003531B2 (ja) 情報処理装置、描画方法およびプログラム
JPH1139393A (ja) 仮置き位置決定装置および仮置き位置決定プログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040720

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050214

R151 Written notification of patent or utility model registration

Ref document number: 3651476

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090304

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100304

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110304

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110304

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110304

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130304

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130304

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140304

Year of fee payment: 9

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term