以下に添付図面を参照して、本発明にかかる3次元CAD表示装置、3次元CAD表示方法、および3次元CAD表示プログラムの実施の形態を詳細に説明する。
図1は、本発明にかかる3次元CAD表示装置による一動作例を示す説明図である。3次元CAD表示装置100は、シミュレーション空間上に配置されたアセンブリの分解図の作成を支援するコンピュータである。また、3次元CAD表示装置100は、シミュレーション空間上に配置されたアセンブリの組立手順書や分解手順書などの作成を支援するコンピュータである。ここで、シミュレーション空間とは、コンピュータ上でシミュレーションされる仮想的な3次元空間である。具体的には、例えば、シミュレーション空間は、3次元のアセンブリの設計を行うためのCADによって3次元CAD表示装置100内に仮想的に設定された空間である。シミュレーション空間には、例えば、X軸とY軸とZ軸とからなる3次元の直交座標系が定義される。
分解画像imgの作成の対象アセンブリは、例えば、3次元のCADソフトウェアにおける3次元のCADのデータで表現される。ここで、アセンブリは、2つ以上の部品またはアセンブリによって形成されるモデルである。アセンブリは、製品全体をコンピュータ上に仮想化したモデルであってもよいし、製品を形成する一部をコンピュータ上に仮想化したモデルであってもよい。製品とは、PC(Personal Computer)、タブレットPC、サーバ、携帯情報端末、スマートフォン、自動車、家電製品などの機械製品やビルなどの建物などをコンピュータ上に仮想化したモデルである。部品は、これ以上分解できない最小単位のモデルである。また、各部品は、例えば、位置データ、材料データ、色データなどを含む3次元のCADデータで表現される。アセンブリのデータや部品のデータについては後述する。
また、分解図とは、アセンブリを形成する部品を一点単位まで分解し、位置関係が分かるように配置した図面である。作成される分解図は、例えば、3次元のCADソフトウェアによってディスプレイ101上に表示される。また、組立手順書や分解手順書は、アセンブリを形成する部品を一点ごとに分解した図面の組み合わせである。アセンブリ全体の図から分解図までの部品を一点ごとに分解した画像を連続して並べることにより分解手順書が作成される。分解した画像は、分解画像imgと称する。また、分解手順書によって並べられた順と逆順に分解画像imgを並べることにより組立手順書が作成される。分解図と組立手順書および分解手順書の一例は後述する図2に示す。
また、作成者の操作によって分解図、組立手順書および分解手順書などを作成する場合、作成者の操作量が多い。そのため、分解図、組立手順書および分解手順書などの作成に要する時間が長くなる。例えば、作成者の操作による作成手段としては、「ドラッグ&ドロップ」方式、や「専用ダイアログによる指定」方式が挙げられる。「ドラッグ&ドロップ」方式は、3次元のCADソフトウェアによって表示された部品を作成者のマウス操作によって実現される。「専用ダイアログによる指定」方式は、移動対象の部品や移動量、移動方向などを入力可能な専用ダイアログに作成者のキーボード102の操作やマウス103の操作によって実現される。いずれの方式であっても、1つの部品当たり、(a)部品の選択、(b)部品の移動方向の選択、(c)移動量指示などの3つの操作が作成者によって行われなければならない。例えば、部品総数が数万点に及ぶような製品であると、組立手順書および分解手順書や分解図などの作成には、数万操作を要する場合がある。そのため、作成者の操作量が多い。
そこで、本実施の形態では、分解したい部品が選択されると、アセンブリの部品が選択されると、該アセンブリから該部品を取り出す方向を投影図群で特定し、該部品を取り出したアセンブリと該アセンブリの該方向に配置した該部品とを表示する。これにより、分解図の作成を支援可能となる。また、作成者の操作量を低減でき、分解図の作成時間の短縮化を図ることができる。
まず、分解の対象アセンブリに含まれる複数の部品のうちの1つの部品が選択される。図1(1)に示すように、例えば、ディスプレイ101に表示された画像が示すアセンブリに含まれる部品のうち分解したい部品は、作成者のマウス103の操作やキーボード102の操作などによって選択される。
3次元CAD表示装置100は、選択された部品単体を複数の方向に投影した第一の投影図群を生成する。つぎに、3次元CAD表示装置100は、対象アセンブリを複数の方向に投影した第二の投影図群を生成する。そして、図1(2)に示すように、例えば3次元CAD表示装置100は、第一の投影図群と第二の投影図群との間で、投影方向が同一であって、部品の形状又は面積の類似度が最も高い投影方向を特定する。特定された投影方向とは逆の方向を分解方向とも呼ぶ。分解方向とは、選択された部品をアセンブリから取り出す方向である。また、特定された投影方向を組立方向とも呼ぶ。組立方向は、アセンブリに選択された部品を組み付ける方向である。また、3次元CAD表示装置100は、分解画像imgを表示する際のアセンブリと取り出した部品との間の距離を部品の大きさに応じた距離に基づいて設定する。分解画像imgを表示する際のアセンブリと取り出した部品との間の距離を移動量とも呼ぶ。例えば、図1(3)に示すように、3次元CAD表示装置100は、部品の大きさに基づいて移動量を算出する。
3次元CAD表示装置100は、図1(4)に示すように、対象アセンブリから選択された部品を取り出した分解画像imgを表示する際に、特定した投影方向とは逆の方向に、取り出した部品を配置する。具体的に、3次元CAD表示装置100は、対象アセンブリから分解方向に部品を取り出した分解画像imgであって、対象アセンブリと選択された部品との間の距離が算出した移動距離である分解画像imgを生成してディスプレイ101に表示する。
これにより、3次元CADの分解図の作成を支援することが可能になる。したがって、作成者の操作量の低減化を図ることができ、分解図の作成時間の短縮化を図ることができる。
図2は、分解図例と分解手順書および組立手順書の作成例を示す説明図である。図2(1)に示すように、分解図200とは、アセンブリを形成する部品を一点単位まで分解し、位置関係が分かるように配置した図面である。また、図2(2)に示すように、各部品をアセンブリから取り出した分解画像imgを並べることにより、組立手順書201または分解手順書201となる。分解順に分解画像imgが並べられると、分解手順書201となり、組立順に分解画像imgが並べられると、組立手順書201となる。
また、分解画像img、手順書201、分解図200などの表示については、ディスプレイ101への表示に限らず、プリンタによって用紙に表示させてもよい。
(3次元CAD表示装置100のハードウェア構成例)
図3は、3次元CAD表示装置100のハードウェア構成例を示すブロック図である。図3において、3次元CAD表示装置100は、CPU(Central Processing Unit)301と、ROM(Read Only Memory)302と、RAM(Random Access Memory)303と、ディスクドライブ304と、ディスク305と、を有している。3次元CAD表示装置100は、I/F(Inter/Face)306と、ディスプレイ101と、キーボード102と、マウス103と、を有する。また、各部はバス307によってそれぞれ接続されている。
ここで、CPU301は、3次元CAD表示装置100の全体の制御を司る制御部である。ROM302は、ブートプログラムなどのプログラムを記憶している。RAM303は、CPU301のワークエリアとして使用される。ディスクドライブ304は、CPU301の制御にしたがってディスク305に対するデータのリード/ライトを制御する。ディスク305は、ディスクドライブ304の制御で書き込まれたデータを記憶する。ディスク305としては、磁気ディスク、光ディスクなどが挙げられる。
I/F306は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワークNETに接続され、このネットワークNETを介して他の装置に接続される。そして、I/F306は、ネットワークNETと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F306には、例えばモデムやLANアダプタなどを採用することができる。
ディスプレイ101は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ101は、例えば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
キーボード102は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス103は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
(3次元CAD表示装置100の機能的構成例)
図4は、3次元CAD表示装置100の機能的構成例を示すブロック図である。3次元CAD表示装置100は、記憶部401と、受付部402と、特定部403と、移動量設定部404と、表示部405と、手順書生成部406と、を含む。各部の処理は、例えば、CPU301がアクセス可能な記憶装置に記憶された3次元CAD表示プログラムにコーディングされている。そして、CPU301が記憶装置から3次元CAD表示プログラムを読み出して、3次元CAD表示プログラムにコーディングされている処理を実行する。これにより、各部の処理が実現される。また、各部の処理結果は、例えば、RAM303、ディスク305などの記憶装置に記憶される。
まず、3次元CAD表示装置100が扱う各種データについて説明する。記憶部401は、RAM303、ディスク305といった記憶装置によって実現される。記憶部401は、対象製品の3次元モデルと、アセンブリツリー431と、アセンブリデータ433と、部品データ432と、製造フローデータ434と、を記憶する。3次元の対象アセンブリとアセンブリツリー431とは、3次元CADソフトウェアによって得られるデータである。3次元モデルは、分解図200の作成対象の製品の3次元モデルである。アセンブリツリー431は、対象アセンブリを形成するアセンブリや部品の構成を階層構造化した情報である。対象アセンブリとアセンブリツリー431については、図5に詳細例を示す。部品データ432は、対象アセンブリ内の各部品が有する情報であり、3次元モデルから抽出される情報である。部品データ432については、図7に詳細例を示す。アセンブリデータ433は、対象アセンブリ内の各アセンブリが有する情報であり、対象アセンブリから抽出される情報である。アセンブリデータ433については図8に詳細例を示す。製造フローデータ434は、組立順序や分解順序を示す情報であり、3次元CAD表示装置100によって作成される分解図200とともに作成される情報である。製造フローデータ434については、図14を用いて後述する。
図5は、3次元の対象アセンブリ例とアセンブリツリー431例とを示す説明図である。図5に示す3次元の対象アセンブリ501とアセンブリツリー431とは、上述したように3次元CADソフトウェアから得られるデータである。対象アセンブリ501は、分解図200の作成対象の製品の3次元モデルである。図5の例では、製品はマウス103である。アセンブリツリー431は、3次元モデルを形成するアセンブリや部品の構成を階層構造化した情報である。図5において、トップアセンブリA0は、対象アセンブリ501全体である。図5の例では、トップアセンブリA0は、アセンブリA1,A5および部品p10を有する。また、アセンブリA1は、アセンブリA2,A3を有する。また、アセンブリA2は、部品p1,p2を有する。
また、1つ上の階層のアセンブリを親アセンブリと称す。例えば、アセンブリA2の親アセンブリはアセンブリA1である。また、1つ下の階層のアセンブリを子アセンブリと称す。例えば、アセンブリA1の子アセンブリはアセンブリA2,A3である。
ここで、上述したように、アセンブリとは、部品やアセンブリで形成されたモデルである。上述したように、部品は、これ以上分解できない最小単位のモデルである。したがって、アセンブリや部品を総称してモデルという。
図6は、アセンブリ例を示す説明図である。上述したようにアセンブリとは、部品やアセンブリによって形成されるモデルである。また、上述したように、部品は、これ以上分解できない最小単位のモデルである。図6では、アセンブリ600は、ギア601と、軸602,603が組み合わされたアセンブリ604と、を有する。
(部品データ432の記憶内容例)
図7は、部品データ432の記憶内容例を示す説明図である。部品データ432は、3次元の対象アセンブリ501内の各部品が有する情報であり、3次元CADソフトウェアから得られた対象アセンブリ501とアセンブリツリー431とから3次元CAD表示装置100によって抽出される情報である。
図7(A)において、部品データ432は、部品名と、相対座標と、相対姿勢と、色情報と、形状情報と、最優先分解方向と、6軸スコアと、移動量と、のフィールドを有する。各フィールドに情報が設定されることにより、レコード(例えば、701−i)として記憶される。
部品名のフィールドには、部品を一意に特定する識別情報として、部品名が格納される。レコード701−iでは、部品名としてpiが格納される。
相対座標のフィールドには、親アセンブリ座標系での親アセンブリ原点からの部品の位置情報が格納される。ただし、親アセンブリがトップアセンブリA0の場合、相対座標のフィールドには、グローバル座標系での原点からの部品の位置情報が格納される。相対姿勢のフィールドには、部品のローカル座標の各軸の方向を表す情報が格納される。ただし、親アセンブリがトップアセンブリA0の場合、相対姿勢のフィールドには、グローバル座標系での親アセンブリの姿勢からの相対姿勢が格納される。より具体的に、相対姿勢は、親アセンブリ座標系での親アセンブリ姿勢からの相対指定である。ここでは、相対姿勢は、相対座標に対して乗算することにより、親アセンブリ座標系からローカル座標系での位置情報に変換する3×3の変換行列が格納される。レコード701−iでは、相対姿勢としてRiが格納される。Riの( )内には変換行列の一例を示す。また、グローバル座標系とはモデルを表示する最上位の座標空間を指す。具体的には原点が(0,0,0)、相対姿勢が単位行列である座標系を指す。
色情報フィールドには、対象の部品の色情報が格納される。色情報は、例えば、RGB値である。形状情報フィールドには、対象の部品の形状を示す形状情報が格納される。形状情報として、本実施の形態では、ファセットを複数用いて形状情報とする。ファセットは、微細平面を特定する情報である。ファセットについて、図7(B)を用いて説明する。
図7(B)が示すように、部品piは、ファセットF1〜ファセットFNにより形成される。1つのファセットは、3つの頂点の座標情報と、3つの頂点により形成される微細平面の法線ベクトルを有する。例えば、ファセットFNは、3つの頂点v_N1、v_N2、v_N3と、法線ベクトルVec_Nとを有する。
例えば、図7(A)に示すレコード701−iは、部品piについて、相対座標がCi(xg,yg,zg)であり、姿勢がRiであり、色情報が(ri,gi,bi)であり、ファセットF1〜ファセットFNを有することを示す。
最優先分解方向のフィールドには、3次元CAD表示処理が行われる前には何も格納されていないが、分解方向が決定されると、決定された分解方向を示す識別情報が格納される。ここでは、1は+X方向を示し、2は−Xl方向を示し、3は+Yl方向を示し、4は−Y方向を示し、5は+Z方向を示し、6は−Z方向を示す。
6軸スコアのフィールドには、ローカルと、グローバルと、のフィールドが含まれる。6軸スコアのフィールドには、3次元CAD表示処理が行われる前には何も格納されていないが、6軸スコアが算出されると、算出されたスコアが格納される。6軸スコアは、軸ごとに組付方向としての適性をあらわす指標値である。ここでは、スコアが高いほど適性があるものとする。6軸スコアの算出については後述する。分解方向は、組付方向と逆方向であるため、指標値が最も高い組付方向と逆方向が分解方向となる。
移動量のフィールドには、3次元モデルから対象の部品またはアセンブリを取り出した分解画像imgが生成される際に、対象の部品を3次元モデルからどの程度移動させるかの移動量が格納される。移動量のフィールドには、3次元CAD表示処理が行われる前には何も格納されていないが、移動量が算出されると、算出された移動量が格納される。
<アセンブリデータ433のデータ構造例>
図8は、アセンブリデータ433のデータ構造例を示す説明図である。アセンブリデータ433は、対象アセンブリ501内の各アセンブリが有する情報であり、3次元CADソフトウェアから得られた対象アセンブリ501とアセンブリツリー431とから3次元CAD表示装置100によって抽出される情報である。
図8において、アセンブリデータ433は、アセンブリ名と、直下の構成モデル数と、直下の構成モデル名と、親アセンブリ名と、相対座標と、相対姿勢と、最優先分解方向と、6軸スコアと、移動量と、を有する。各フィールドに情報が設定されることにより、レコード(801−i)として記憶される。
アセンブリ名、直下の構成モデル数、直下の構成モデル名、親アセンブリ名のフィールド以外のフィールド群は、部品データ432と同一内容であるため、説明を省略する。
アセンブリ名のフィールドには、アセンブリを一意に特定可能な識別情報として、アセンブリ名が格納される。直下の構成モデル数のフィールドには、直下の構成モデル数miが格納される。直下の構成モデル数とは、自アセンブリの1つ下の階層での構成モデル数である。1つ下の階層であっても、構成モデル以外のモデルはカウントしない。例えば、図5において、アセンブリA3の場合、下の階層には、アセンブリA4、部品p3〜p6が存在するが、アセンブリA3の1つ下の階層の構成モデルは、アセンブリA4,部品p3,p4である。したがって、アセンブリA3の場合の直下の構成モデル数miは、mi=3となる。また、直下の構成モデル名のフィールドには、直下の構成モデル名が格納される。例えば、図5において、アセンブリA3の場合、直下の構成モデル名のフィールドには、A4,p3,p4が格納される。
また、親アセンブリ名のフィールドには、親アセンブリ名Ajが格納される。例えば、アセンブリA3の場合、親アセンブリはアセンブリA1であるため、親アセンブリ名のフィールドにはA1が格納される。これにより、3次元CAD表示装置100は、アセンブリごとにどのアセンブリと親子関係があるかを特定することができる。
図9は、相対座標および相対姿勢を示す説明図である。ここでは、モデルMの相対座標および相対姿勢について説明する。図9において、Xg軸、Yg軸およびZg軸からなるグローバル座標系をCgとする。Q0は、グローバル座標系Cgの原点である。グローバル座標系Cgは、図5のトップアセンブリA0となるモデルM0を定義する空間である。モデルM0を形成するファセットの座標は、原点Q0を基準に設定される。
Q1は、Xl1軸、Yl1軸およびZl1軸からなるローカル座標系Cl1の原点である。ローカル座標系Cl1は、例えば、図5のトップアセンブリA0を親アセンブリとするアセンブリA1となるモデルM1を定義する空間である。ローカル座標系Cl1の原点Q1は、グローバル座標系Cgの原点Q0との相対位置により決定される。モデルM1を構成するファセットの座標は、原点Q1を基準に設定される。また、ローカル座標系Cl1の相対姿勢R1は、グローバル座標系CgのモデルM0の姿勢からの相対姿勢となる。
Q2は、Xl2軸、Yl2軸およびZl2軸からなるローカル座標系Cl2の原点である。ローカル座標系Cl2は、例えば、図5のアセンブリA1を親アセンブリとするアセンブリA2となるモデルM2を定義する空間である。ローカル座標系Cl2の原点Q2は、ローカル座標系Cl1の原点Q1との相対位置により決定される。モデルM2を構成するファセットの座標は、原点Q2を基準に設定される。また、ローカル座標系Cl2の相対姿勢R2は、ローカル座標系Cl1のモデルM1の姿勢からの相対姿勢となる。
このように、モデルの相対座標は、親アセンブリの原点からの相対位置で決定された原点を基準に設定され、モデルの姿勢は、親アセンブリの姿勢を基準に設定されることになる。
まず、受付部402は、複数の部品によって組み付けられたアセンブリからいずれかの部品を選択する作成者の選択操作を受け付ける。具体的に、受付部402は、ディスプレイ101上に表示されたアセンブリからいずれかのモデルを選択するための作成者によるマウス103のクリック操作を受け付ける。ここで、選択されたモデルを選択モデルとも称する。
つぎに、特定部403は、選択された部品単体を複数の方向に投影した第一の投影図群と、アセンブリを複数の方向に投影した第二の投影図群との間で、投影方向が同一であって、部品の形状又は面積の類似度が最も高い投影方向を特定する。具体的に、特定部403は、生成部410と、算出部412と、判定部411と、決定部413と、を有する。
生成部410は、第一の領域に対し、受付部402によって受け付けられた選択操作によって選択されたモデルを第一の領域の背景色と異なる色で複数の方向から投影することにより、第一の投影図群を生成する。具体的には、生成部410は、選択モデルについて、そのローカル座標系の6方向(+Xl〜−Zl)とグローバル座標系での6方向(+Xg〜−Zg)の各々の方向から第一の投影図群を生成する。投影先となる第一の領域とは、例えば、所定サイズのビットマップ画像領域(例えば、200×200ピクセル)である。生成部410は、ローカル座標系とグローバル座標系とが一致する場合は、いずれか一方の座標系の6方向について生成することになる。これにより、同一処理の重複を防止でき、処理の高速化を図ることができる。
図10は、投影図によるスコア付け例を示す説明図である。ここで、ローカル座標系とグローバル座標系とが一致する場合、図10に示すように、生成部410は、第一の投影図群として、投影図(a)〜(f)を生成する。この場合、選択モデル(Eリング1001)は背景色(例えば、黒)と異なる色(白)で投影される。したがって、選択モデルの投影箇所のビットが計数されることになる。なお、ローカル座標系とグローバル座標系とが一致しない場合がある。例えば、選択モデルが斜めに組み付けられている場合などである。このような場合は、第一の投影図群は、それぞれ12方向分生成されることになる。
また、生成部410は、第一の領域と同サイズの第二の領域に対し、選択モデルを背景色と異なる色にし、選択モデル以外の他のモデルを背景色と同色にして、複数の方向から投影することにより、第二の投影図群を生成する。具体的には、生成部410は、選択モデルについて、そのローカル座標系の6方向(+Xl〜−Zl)とグローバル座標系の6方向(+Xg〜−Zg)の各々の方向から第二の投影図群を生成する。投影先となる第二の領域とは、第一の領域と同サイズであり、例えば、図1に示した所定サイズのビットマップ画像領域(例えば、200×200ピクセル)である。生成部410は、ローカル座標系とグローバル座標系とが一致する場合は、いずれか一方の座標系の6方向について生成することになる。これにより、同一処理の重複を防止でき、処理の高速化を図ることができる。
同様に、ローカル座標系とグローバル座標系とが一致する場合、図10に示したように、生成部410は、第二の投影図群として、投影図(A)〜(F)を生成する。この場合、選択モデル(例えば、図10のEリング1001)は背景色(例えば、黒)と異なる色(白)で投影され、他のモデル(例えば、図10のシャフト1002)は背景色で投影される。したがって、干渉状態の選択モデルの投影箇所のビットが計数されることになる。
算出部412は、生成部410によって生成された第一および第二の投影図群を、複数の方向から選ばれた検証方向が同一である投影図どうしで比較することにより、投影図どうしの一致度を示すスコアを検証方向ごとに算出する。
複数の方向から選ばれた検証方向とは、図10の場合、+X〜−Zから順次選ばれる方向である。算出部412は、検証方向が同一である投影図どうしを比較する。例えば、算出部412は、検証方向が+Xである場合、投影図(a),(A)を比較し、検証方向が−Xである場合、投影図(b),(B)を比較する。例えば、以下のように比較される。
図10において、投影図(a)〜(f)のうち選択モデルであるEリング1001の画像を示す白色のビット数の計数結果WB1を、それぞれ、
WB1(a)= 2000
WB1(b)= 2000
WB1(c)= 2000
WB1(d)= 2000
WB1(e)=13000
WB1(f)=13000
とする。
また、図10において、投影図(A)〜(F)のうち選択モデルであるEリング1001の画像を示す白色のビット数の計数結果WB2を、それぞれ、
WB2(A)=2000
WB2(B)=1700
WB2(C)=2000
WB2(D)=1700
WB2(E)=9000
WB2(F)=9500
とする。
つぎに、算出部412は同一方向どうしでスコアを算出する。一例として、スコアは、下記式(1)により算出される。
スコアBp=(WB2/WB1)×100・・・(1)
したがって、検証方向ごとのスコアBpは表のようになる。第二の投影図群は他のモデルとの干渉状態を示しており干渉部分が黒のビットとなるため、スコアBpは100以下の得点となる。第二の投影図においても干渉状態にならない場合は、最高得点の100となる。このように、スコアBpが高いほど、第一の投影図における選択モデルの投影箇所(白のビット)と第二の投影図における選択モデルの投影箇所(白のビット)との一致数が高くなる。換言すれば、一致数が高いということは、その検証方向の逆方向に選択モデルと干渉する箇所が少ないことを意味する。したがって、選択モデルが検証方向の逆方向に抜ける可能性が高くなる。上記の例では、+X方向および+Y方向のスコアBpがともに100であるため、その逆方向である−X方向または−Y方向に分解できる可能性が高いことを示す。
決定部413は、生成部410によって算出されたスコア群の中で最大スコアとなる投影図の検証方向の逆方向を、アセンブリデータ433から選択モデルを分解する最優先分解方向に決定する。そして、決定部413は、当該分解方向を選択モデルに関連付けて記憶部401に格納する。具体的には、例えば、決定部413は、ローカル座標系の6方向およびグローバル座標系の6方向の計12方向から得られたスコアBpのうち、最大スコアとなる投影図を投影した検証方向の逆方向を、分解方向に決定する。決定部413は、また、最大スコアとなる投影図を投影した検証方向を、組付方向に決定してもよい。
そして、表示部405は、アセンブリから部品を取り出した分解画像imgを表示する際に、特定部403によって特定された投影方向とは逆の方向に、取り出した部品を配置する。具体的に、表示部405は、決定部413によって決定された分解方向に、アセンブリから部品を取り出した分解画像imgをディスプレイ101に表示する。また、ディスプレイ101に限らず、プリンタなどによって用紙に表示させてもよい。これにより、分解図200の作成を支援することができる。また、より分解方向の精度を向上させるために、判定部411による判定処理を行ってもよい。
判定部411は、回転体判定部421と、板状体判定部422と、を含む。判定部411では、回転体判定部421と板状体判定部422との判定をおこなうことにより、スコアBpに対し加点または減点する。なお、回転体判定部421と板状体判定部422の実行は任意である。例えば、回転体判定部421と板状体判定部422との両方を実行してもよいし、少なくともいずれか1つを実行してもよい。また、いずれも実行しなくてもよい。
まず、回転体判定部421について説明する。回転体判定は、組立の実業務において「回転体の形状を持つモデルの組付方向は、回転軸方向から組み付ける割合が高い」ことからスコアBpの加点条件として実行される。もし、選択モデルが検証方向から見たときに回転体であると判定された場合は、検証方向は、回転軸方向となる。以下、回転体の判定内容について説明する。
回転体判定部421は、選択モデルを検証方向から投影した投影図の外接矩形の形状と、投影図を所定角度回転させた場合の回転後の投影図の外接矩形の形状と、に基づいて、選択モデルが回転体であるか否かを判定する。
具体的には、例えば、回転体判定部421は、検証方向の座標系で選択モデルのバウンディングボックスを計算する。検証方向の座標系とは、検証方向が+Xl〜−Zlの場合は選択モデルのローカル座標系であり、検証方向が+Xg〜−Zgの場合は選択モデルのグローバル座標系である。また、バウンディングボックスは選択モデルの外接直方体である。
回転体判定部421は、検証方向に直交する2軸からなる投影面に、バウンディングボックスを投影することで、投影図を生成する。例えば、検証方向が+Xlの場合、回転体判定部421は、+Xlに直交する+Y,+Zからなる投影面にバウンディングボックスを投影する。ここで、回転体判定部421は、バウンディングボックスの投影図の縦の長さをV、横の長さをHとし、縦横比V/Hを求める。
回転体判定部421は、バウンディングボックスとともに投影された選択モデルの投影図を、当該投影図の中心を回転中心にして、0度、15度、30度、45度半時計回り(時計回りでもよい)に回転させた回転後の選択モデルの投影図を生成する。ここでは、15度刻みで3回回転させているが、作成者は、刻み角度や回転回数を任意に設定することができる。
選択モデルの投影図が回転させられると、選択モデルを外接するバウンディングボックスの投影図の縦Vおよび横Hも変化する。回転による縦横比V/Hの変化が許容範囲である場合、選択モデルは回転体であると判定される。
図11は、回転体の判定例を示す説明図である。図11の(A)は、選択モデルの投影図が正方形の例であり、図11の(B)は、選択モデルの投影図が5角形の例であり、図11の(C)は、選択モデルの投影図が正8角形の例である。
図11の(A)および(C)は、それぞれの回転角度において縦横比V/Hが1.0であるため、選択モデルは回転体と判定される。これに対し、図11の(B)は、回転角度が15度、30度、45度のときに、許容範囲(1.0±0.05)の範囲外になるため、選択モデルは回転体でないと判定される。なお、本例では、回転角度が15度、30度、45度のいずれも許容範囲外の場合、選択モデルは回転体でないと判定したが、少なくともいずれか1つでも許容範囲外の場合に選択モデルは回転体でないと判定してもよい。
回転体であると判定された場合は、算出部412は、選択モデルの加点スコアAP1をスコアBpに加算することになる。
つぎに、板状体判定部422について説明する。板状体判定は、組立の実業務において「組付時の支持(アームで掴む)や、位置合わせの観点からも、板面の法線方向が望ましい」ため、実行される。以下、板状体の判定内容について説明する。
板状体判定部422は、選択モデルの検証方向の長さと、複数の方向のうち検証方向およびその逆方向以外の方向の長さと、に基づいて、選択モデルが検証方向に組み付けられる板状体であるか否かを判定する。具体的には、例えば、板状体判定部422は、検証方向の座標系での選択モデルのバウンディングボックスを計算する。
そして、板状体判定部422は、検証方向の座標系で定義される3軸方向におけるバウンディングボックスの長さを求める。そして、板状体判定部422は、検証方向以外の2軸の方向の長さが、検証方向の長さの所定倍(例えば、20倍)であるか否かを判定する。所定倍以上であれば、選択モデルは板状体と判定される。所定倍は、例えば、作成者によって定められる。所定倍については、予めディスク305などの記憶装置に記憶されてあってもよいし、キーボード102などの入力装置よって入力されてもよい。
図12は、板状体の判定例を示す説明図である。図12において、Bは選択モデルのバウンディングボックスであり、D(j)は検証方向である。また、L1〜L3は、検証方向D(j)の座標系での軸方向でのバウンディングボックスBの長さである。L1は、検証方向D(j)の長さである。この場合、L2、L3がL2の所定倍以上の長さであれば、バウンディングボックスBの算出元の選択モデルは板状体と判定される。板状体であると判定された場合は、算出部412は、加点スコアAP2をスコアBpに加算することになる。
つぎに、決定部413は、算出部412によって算出されたスコア群の中で最大スコアとなる投影図の検証方向の逆方向を、アセンブリデータ433から選択モデルを分解する分解方向に決定し、当該分解方向を選択モデルに関連付けて記憶部401に格納する。具体的には、例えば、決定部413は、ローカル座標系の6方向およびグローバル座標系の6方向の計12方向から得られたスコアBpのうち、最大スコアとなる投影図を投影した検証方向の逆方向を、分解方向に決定する。決定部413は、決定された分解方向を、選択モデルの部品データ432またはアセンブリデータ433の最優先分解方向のフィールドに保存する。また、決定部413は、最大スコアとなる投影図を投影した検証方向を、組付方向に決定してもよい。
つぎに、移動量設定部404は、選択モデルの分解方向の長さに基づいて、選択モデルを分解方向に移動させる移動量を設定し、選択モデルに関連付けて記憶装置に格納する。具体的には、例えば、移動量設定部404は、選択モデルの分解方向の座標系で選択モデルのバウンディングボックスのパラメタ群(高さ、幅、奥行き)を計算する。そして、移動量設定部404は、パラメタ群のうち選択モデルの分解方向と同一方向となるパラメタの値を所定倍(例えば3倍)して、移動量に設定する。所定倍は、例えば、作成者によって定められる。所定倍については、予めディスク305などの記憶装置に記憶されてあってもよいし、キーボード102などの入力装置よって入力されてもよい。
図13は、移動量の設定例を示す説明図である。図13において、M0が組付先のモデルであり、M1が選択モデルである。図13では、選択モデルM1のバウンディングボックスにおける分解方向の長さを200とする。この場合、例えば、200×3=600が移動量となる。このように、選択モデルの分解方向と同一方向となるパラメタの値を所定倍して移動量を設定することで、アセンブリから選択モデルが十分離されるため、分解されたことを容易に視認することができる。
表示部405は、分解画像imgの表示の際に、アセンブリと、選択された部品との間の距離を部品の大きさに応じた距離に設定する。具体的には、表示部405は、アセンブリと選択された部品との間の距離を移動量設定部404によって設定された距離とした分解画像imgを生成してディスプレイ101に表示する。
また、手順書生成部406は、作成者の選択操作によって選択された順に分解画像imgを並べた分解手順書201、選択された順と逆順に分解画像imgを並べた組立手順書201を生成してもよい。具体的に、手順書生成部406は、作成者の選択操作によって選択された順に部品に対応するノードを生成してノードをリスト構造である製造フローデータ434の先頭に格納する。
図14は、製造フローデータ434例を示す説明図である。製造フローデータ434は、ノードIndex、名称/作業内容、種別フラグ、フロー記号、分解画像img名、次ノードIndexという6つのフィールドを含む。ノードIndexのフィールドには、ノード1401の順序が格納される。ここでは、例えば、ノードIndexの値が大きいほど、分解順序が先であることを示し、ノードIndexの値が小さいほど、組立順序が先であることを示す。名称/作業内容のフィールドには、モデルを一意に特定可能な識別情報として、部品の名称またはアセンブリの名称が格納される。また、名称/作業内容のフィールドには、作業内容を示す情報が格納される。例えば、3次元CAD表示処理によって製造フローデータ434が生成された後に、後述する製造フロー画面をディスプレイ101に表示させ、各部品またはアセンブリに対する作業内容が作成者の操作によって格納されてもよい。種別フラグのフィールドには、対象のノード1401の種別が格納される。具体的に、種別フラグのフィールドには、部品を示す「部品」識別子、アセンブリを示す「アセンブリ」識別子、作業内容を示す「作業内容」識別子のいずれかが格納される。ここで、種別フラグが「部品」であるノード1401は、部品を示すノード1401とも称し、種別フラグが「アセンブリ」であるノード1401は、アセンブリを示すノード1401とも称し、種別フラグが「作業内容」であるノード1401は、作業内容を示すノード1401とも称する。フロー記号フィールドには、対象のノード1401の種別を識別するアイコンが格納される。分解画像img名は、生成された分解画像imgを一意に特定可能な名称が格納される。次ノードIndexフィールドには、次のノード1401のノードIndexフィールドの値が格納される。また、製造フローデータ434の最後のノード1401の次ノードIndexフィールドには、最終ノード1401であることを示す“null”が格納される。
例えば、ノード1401−1は、1番目のノード1401であり、名称が“p10”となる部品があり、次のノード1401−2が2番目のノード1401となることを示す。また、ノード1401−17は、17番目のノード1401であり、ノード1401−17の次ノードIndexのフィールドには、“null”が格納されてあるため、分解順では、アセンブリA0が先頭となる。
図15は、製造フロー画面例を示す説明図である。図15では、組立順序と分解順序とを表す製造フロー画面1500の一例を示す。図15にて、製造フロー画面1500は、製造フローデータ434を用いて、製品の組立順序が示す製造フローを画面に表示させた例である。製造フロー画面1500は、Index、フロー、名称という3つの表示領域に分割される。Indexのフィールドは、ノードIndexフィールドの値を示す。名称のフィールドは、部品の名称、アセンブリの名称、または作業内容を示す。図15に示す製造フロー画面1500は、製品の組立順または製品の分解順を示す。Indexの値が小さい順は製品の組立順であり、Indexの値が大きい順は製品の分解順である。
つぎに、フローフィールドに表示されるアイコンについて説明する。下向き三角形で表されるアイコンは、部品を示す。下向き2重の三角形で表されるアイコンは、アセンブリを示す。丸記号で表されるアイコンは、作業内容を示す。
また、表示部405は、製造フローデータ434を記憶部401から読み出し、製造フローデータ434に記憶されたノード1401のノードIndexの値が小さい順に、ノード1401の分解画像img名に基づいて分解画像imgを並べて表示することにより、組立手順書201を表示することができる。また、表示部405は、製造フローデータ434を記憶部401から読み出し、製造フローデータ434に記憶されたノード1401のノードIndexの値が大きい順に、ノード1401の分解画像img名に基づいて分解画像imgを並べて表示することにより、分解手順書201を表示することができる。分解手順書201や組立手順書201は図2に示した通りである。
(3次元CAD表示装置100による3次元CAD表示処理手順例)
図16は、3次元CAD表示装置100による3次元CAD表示処理手順例を示すフローチャートである。まず、3次元CAD表示装置100は、対象アセンブリ501のアセンブリデータ433と部品データ432とアセンブリツリー431を取得する(ステップS1601)。つぎに、3次元CAD表示装置100は、対象アセンブリをディスプレイ101に表示する(ステップS1602)。3次元CAD表示装置100は、すべてのモデルが選択済みであるか否かを判断する(ステップS1603)。すべてのモデルが選択済みでないと判断された場合(ステップS1603:No)、3次元CAD表示装置100は、モデルが選択されたか否かを判断する(ステップS1604)。ここでは、マウス103などによる作成者の選択操作によってモデルが選択される。
モデルが選択されていないと判断された場合(ステップS1604:No)、3次元CAD表示装置100は、ステップS1604へ戻る。モデルが選択されたと判断された場合(ステップS1604:Yes)、3次元CAD表示装置100は、分解方向検出処理を行う(ステップS1605)。つぎに、3次元CAD表示装置100は、移動量設定処理を行う(ステップS1606)。そして、3次元CAD表示装置100は、最優先分解方向と移動量に基づいて、対象アセンブリ501から選択モデルを取り出した分解画像imgを生成する(ステップS1607)。
つぎに、3次元CAD表示装置100は、生成した分解画像imgを表示する(ステップS1608)。3次元CAD表示装置100は、選択モデルに対応するノード1401を生成する(ステップS1609)。そして、3次元CAD表示装置100は、生成したノード1401を製造フローデータ434に追加し(ステップS1610)、ステップS1603へ戻る。そして、ステップS1603へ戻ると、ここでは、対象アセンブリ501から選択モデルが取り出された後のアセンブリがあらたな対象アセンブリ501となる。すべてのモデルが選択済みであると判断された場合(ステップS1603:Yes)、3次元CAD表示装置100は、製造フローデータ434に基づいて分解手順書201または組立手順書201を表示し(ステップS1611)、一連の処理を終了する。
図17は、図16に示した分解方向検出処理の詳細な説明を示すフローチャートである。3次元CAD表示装置100は、総スコアと加点用のスコアを初期化する(ステップS1701)。ここでは、総スコアはPtであり、加点用のスコアがAP1、AP2である。そして、3次元CAD表示装置100は、Pt,AP1,AP2=0とする。つぎに、3次元CAD表示装置100は、選択モデルのローカル座標系およびグローバル座標系を取得する(ステップS1702)。そして、3次元CAD表示装置100は、検証方向を決定する(ステップS1703)。ここでは、3次元CAD表示装置100は、ローカル座標系およびグローバル座標系が一致しているか否かを判断し、一致している場合、ローカル座標系の6方向を検証方向に決定する。一方、3次元CAD表示装置100は、一致していない場合、ローカル座標系およびグローバル座標系の12軸を検証方向に決定する。
そして、3次元CAD表示装置100は、j=1とし(ステップS1704)。3次元CAD表示装置100は、検証方向D(j)を設定する(ステップS1705)。つぎに、3次元CAD表示装置100は、投影シルエット処理を行う(ステップS1706)。そして、3次元CAD表示装置100は、スコアがしきい値以上か否かを判断する(ステップS1707)。ここでは、例えば、3次元CAD表示装置100は、総スコア(Pt)がしきい値以上であるか否かを判断する。しきい値については作成者によって決定された経験値などである。しきい値は、例えば、予めディスク305などの記憶装置に記憶されてある。ここでは、例えば、しきい値を50点とする。総スコアがしきい値未満であると判断された場合(ステップS1707:No)、3次元CAD表示装置100は、ステップS1711へ移行する。このように、投影シルエット処理によって得られた総スコア(Pt)が50点未満であれば、検証方向D(j)において分解できない可能性が大きいとして、3次元CAD表示装置100は、回転体判定処理や板状体判定処理などの加点処理を行わない。これにより、最優先分解方向の決定処理時間の短縮化を図ることができる。
総スコアがしきい値以上であると判断された場合(ステップS1707:Yes)、3次元CAD表示装置100は、回転体判定処理を行う(ステップS1708)。つぎに、3次元CAD表示装置100は、板状体判定処理を行う(ステップS1709)。3次元CAD表示装置100は、総スコアに各判定処理のスコアを加点する(ステップS1710)。そして、3次元CAD表示装置100は、総スコアを保存する(ステップS1711)。ここでは、3次元CAD表示装置100は、総スコアを、部品データ432またはアセンブリデータ433のうち、選択モデルに対応するレコードの6軸スコアのフィールドのうち、検証方向D(j)に対応する配列のフィールドに設定する。また、このように、3次元CAD表示装置100は、分解方向を特定するにあたり、複数の方式や条件を設定してスコアを算出することにより、ある方式による判定での後検出防止や様々な角度からの検証によって総合的にシステムが判断できるとうになる。したがって、より高精度な分解方向が検出できるようになる。
つぎに、3次元CAD表示装置100は、j>Mか否かを判断する(ステップS1712)。j>Mでないと判断された場合(ステップS1712:No)、3次元CAD表示装置100は、j=j+1とする(ステップS1713)。つぎに、3次元CAD表示装置100は、総スコアを初期化し(ステップS1714)、ステップS1705へ戻る。j>Mであると判断された場合(ステップS1712:Yes)、3次元CAD表示装置100は、最優先分解方向を決定し、保存し(ステップS1715)、一連の処理を終了する。ここでは、3次元CAD表示装置100は、決定した最優先分解方向に対応する値を、アセンブリデータ433や部品データ432のうちの選択モデルに対応するレコードの最優先分解方向のフィールドに設定する。
図18は、図17に示した投影シルエット処理の詳細な説明を示すフローチャートである。3次元CAD表示装置100は、描画作業領域を設定する(ステップS1801)。ここでは、描画作業領域の背景色を黒に設定する。一例として黒を挙げているが、特に限定しない。つぎに、3次元CAD表示装置100は、対象アセンブリ501のうち選択モデルのみ表示する(ステップS1802)。ここでは、3次元CAD表示装置100は、選択モデルを白色に設定して表示する。一例として白色を挙げているが、描画作業領域の背景色と異なる色であって、後述する投影箇所がカウント可能な色であればよい。
つぎに、3次元CAD表示装置100は、検証方向D(j)を視点方向とし、描画作業領域に選択モデルが収まる倍率で投影する(ステップS1803)。3次元CAD表示装置100は、投影箇所のビット数WB1をカウントする(ステップS1804)。3次元CAD表示装置100は、対象アセンブリ501を表示する(ステップS1805)。ここでは、3次元CAD表示装置100は、対象アセンブリ501のうち、選択モデルのみ白色として、他のモデルを描画作業領域と同様に黒に設定して表示する。
つぎに、3次元CAD表示装置100は、検証方向D(j)を視点方向とし、描画作業領域に同倍率で投影する(ステップS1806)。そして、3次元CAD表示装置100は、投影箇所のビット数WB2をカウントする(ステップS1807)。つづいて、3次元CAD表示装置100は、スコアを算出する(Bp=(WB2/WB1)×100)(ステップS1808)。そして、3次元CAD表示装置100は、総スコア=Bpとして保存し(ステップS1809)、一連の処理を終了する。
図19は、図17に示した回転体判定処理の詳細な説明を示すフローチャートである。3次元CAD表示装置100は、加点用スコアを初期化する(ステップS1901)。例えば、3次元CAD表示装置100は、AP1=0とする。3次元CAD表示装置100は、検証方向D(j)の座標系での選択モデルのバウンディングボックスを生成する(ステップS1902)。つぎに、3次元CAD表示装置100は、検証方向D(j)を除く2軸からなる投影面にバウンディングボックスを投影する(ステップS1903)。3次元CAD表示装置100は、投影図を0,15,30,45度回転させた4つの投影図の縦横比を求める(ステップS1904)。
そして、3次元CAD表示装置100は、検証方向D(j)からみて回転体か否かを判断する(ステップS1905)。ここでは、縦横比が1.0に近いほど、回転体である可能性が高い。そこで、3次元CAD表示装置100は、4つの投影図がすべて、1.0−高さ/幅<0.05を満たすか否かを判断する。満たす場合、3次元CAD表示装置100は、回転体であると判断し、満たさない場合、3次元CAD表示装置100は、回転体でないと判断する。
回転体であると判断された場合(ステップS1905:Yes)、3次元CAD表示装置100は、加点用のスコアを更新し(ステップS1906)、一連の処理を終了する。例えば、3次元CAD表示装置100は、AP1=10とする。回転体でないと判断された場合(ステップS1905:No)、3次元CAD表示装置100は、一連の処理を終了する。
図20は、図17に示した板状体判定処理の詳細な説明を示すフローチャートである。まず、3次元CAD表示装置100は、加点用のスコアを初期化する(ステップS2001)。3次元CAD表示装置100は、検証方向D(j)の座標系での選択モデルのバウンディングボックスを生成する(ステップS2002)。3次元CAD表示装置100は、板状体か否かを判断する(ステップS2003)。例えば、奥行きの20倍以上の縦/横幅であれば、3次元CAD表示装置100は、板状体であると判断し、3次元CAD表示装置100は、奥行きの20倍以上の縦/横幅でなければ、板状体でないと判断する。板状体であると判断された場合(ステップS2003:Yes)、3次元CAD表示装置100は、加点用のスコアを更新し(ステップS2004)、一連の処理を終了する。板状体でないと判断された場合(ステップS2003:No)、3次元CAD表示装置100は、一連の処理を終了する。
図21は、図16に示した移動量設定処理の詳細な説明を示すフローチャートである。3次元CAD表示装置100は、選択モデルの最優先分解方向を取得する(ステップS2101)。ここでは、3次元CAD表示装置100は、部品データ432またはアセンブリモデルのうち、選択モデルに対応するレコードの最優先分解方向のフィールドに設定された値が示す最優先分解方向を取得する。
3次元CAD表示装置100は、検証方向D(j)の座標系での選択モデルのバウンディングボックスを生成する(ステップS2102)。つぎに、3次元CAD表示装置100は、バウンディングボックスのパラメタ群を算出する(ステップS2103)。ここでのパラメタ群とは、高さ、幅、奥行きである。そして、3次元CAD表示装置100は、パラメタ群のうち、分解方向に一致する方向のパラメタ値を所定倍して、移動量として設定し(ステップS2104)、一連の処理を終了する。具体的に、3次元CAD表示装置100は、部品データ432またはアセンブリデータ433のうち、選択モデルに対応するレコードの移動量のフィールドに設定される。また、所定倍とは、例えば、作成者によって定められた値である。または、所定倍とは、画面のうち、対象アセンブリ501が表示される箇所以外の箇所に応じて決定されてもよい。また、所定倍については、予めディスク305などの記憶装置に記憶されてあってもよいし、キーボード102などによって作成者の操作によって入力されてもよい。
以上説明したように、3次元CAD表示装置100は、アセンブリの部品が選択されると、該アセンブリから該部品を取り出す方向を投影図群で特定し、該部品を取り出したアセンブリと該アセンブリの該方向に配置した該部品とを表示する。これにより、分解図の作成が支援可能となる。また、作成者の操作量を低減でき、分解図の作成時間の短縮化を図ることができる。
また、3次元CAD表示装置100は、分解画像の表示の際に、アセンブリと、取り出した部品との間の距離を部品の大きさに応じた距離に設定する。これにより、部品が取り出された後のアセンブリと、取り出した部品と、が十分に離される。そのため、分解されたことを容易に視認することができる。
また、3次元CAD表示装置100は、選択された部品単体を背景色と異なる色により複数の方向から投影して第一の投影図群を生成し、複数の部品のうちの選択された部品以外を背景色と同色にして複数の方向から投影して第二の投影図群を生成する。これにより、精度のよい分解方向を特定することが可能となる。
なお、本実施の形態で説明した3次元CAD表示方法は、予め用意された3次元CAD表示プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本3次元CAD表示プログラムは、磁気ディスク、光ディスク、USB(Universal Serial Bus)フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、3次元CAD表示プログラムは、インターネット等のネットワークNETを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)アセンブリに含まれる複数の部品のうちの1つの部品が選択されると、
選択された前記部品単体を複数の方向に投影した第一の投影図群と、前記アセンブリを複数の方向に投影した第二の投影図群との間で、投影方向が同一であって、前記部品の形状又は面積の類似度が最も高い投影方向を特定し、
前記アセンブリから前記部品を取り出した分解画像を表示する際に、特定した前記投影方向とは逆の方向に、取り出した前記部品を配置する、
処理をコンピュータに実行させる3次元CAD表示プログラム。
(付記2)前記分解画像の表示の際に、前記アセンブリと、取り出した前記部品との間の距離を前記部品の大きさに応じた距離に設定する、
処理を前記コンピュータに実行させる付記1記載の3次元CAD表示プログラム。
(付記3)前記特定する処理では、第一の領域に対し、選択された前記部品を前記第一の領域の背景色と異なる色で前記複数の方向から投影することにより前記第一の投影図群を生成するとともに、前記第一の領域と同サイズの第二の領域に対し、前記部品を前記背景色と異なる色にし、前記複数の部品のうちの前記部品以外を前記背景色と同色にして前記複数の方向から投影することにより前記第二の投影図群を生成し、生成した前記第一の投影図群と前記第二の投影図群との間で、前記投影方向が同一であって、前記部品の形状又は面積の類似度が最も高い投影方向を特定することを特徴とする付記1または2記載の3次元CAD表示プログラム。
(付記4)アセンブリに含まれる複数の部品のうちの1つの部品が選択されると、
選択された前記部品単体を複数の方向に投影した第一の投影図群と、前記アセンブリを複数の方向に投影した第二の投影図群との間で、投影方向が同一であって、前記部品の形状又は面積の類似度が最も高い投影方向を特定し、
前記アセンブリから前記部品を取り出した分解画像を表示する際に、特定した前記投影方向とは逆の方向に、取り出した前記部品を配置する、
処理をコンピュータが実行する3次元CAD表示方法。
(付記5)アセンブリに含まれる複数の部品のうちの1つの部品が選択されると、
選択された前記部品単体を複数の方向に投影した第一の投影図群と、前記アセンブリを複数の方向に投影した第二の投影図群との間で、投影方向が同一であって、前記部品の形状又は面積の類似度が最も高い投影方向を特定し、前記アセンブリから前記部品を取り出した分解画像を表示する際に、特定した前記投影方向とは逆の方向に、取り出した前記部品を配置する制御部、
を有する3次元CAD表示装置。
(付記6)アセンブリに含まれる複数の部品のうちの1つの部品が選択されると、
選択された前記部品単体を複数の方向に投影した第一の投影図群と、前記アセンブリを複数の方向に投影した第二の投影図群との間で、投影方向が同一であって、前記部品の形状又は面積の類似度が最も高い投影方向を特定し、
前記アセンブリから前記部品を取り出した分解画像を表示する際に、特定した前記投影方向とは逆の方向に、取り出した前記部品を配置する、
処理をコンピュータに実行させる3次元CAD表示プログラムを記録したことを特徴とする記録媒体。