(57)【特許請求の範囲】
【請求項１】
３次元構造のモデルに含まれる複数の構成部品に関する編集可能な３次元データを記憶した記憶部から読み出された、前記複数の構成部品の内の一の構成部品に対応する３次元データに基づいて、前記一の構成部品を３次元表示する第１表示制御部と、
前記一の構成部品を包含する直方体状の領域、及び前記一の構成部品を包含する球体状の領域それぞれの体積を算出する体積算出部と、
該体積算出部が算出した体積に基づいて、前記直方体状の領域及び前記球体状の領域のいずれかを選択する領域選択部と、
前記記憶部から読み出された、前記複数の構成部品の内の前記領域選択部が選択した領域と干渉する他の構成部品に対応する３次元データに基づいて、前記他の構成部品を３次元表示する第２表示制御部と
を備える表示制御装置。
【請求項２】
複数の構成部品の中から、前記一の構成部品以外の構成部品を指定する指定部と、
該指定部が指定した構成部品を包含する前記直方体状の領域及び前記球体状の領域を作成させる作成指示部と
を有し、
前記一の構成部品に係る領域と、前記指定部が指定した構成部品に係る領域とが干渉する場合に、前記第２表示制御部は、前記指定部が指定した構成部品を、前記他の構成部品として３次元表示する
請求項１に記載の表示制御装置。
【請求項３】
構成部品を３次元表示するための表示データ、及び、編集対象となる編集データを有する３次元データが前記記憶部に記憶されており、
前記指定部が指定した構成部品に係る領域を包含し、該領域と同形状の第１包含領域を作成する第１包含領域作成部と、
該第１包含領域作成部が作成した第１包含領域を包含し、該第１包含領域と同形状の第２包含領域を作成する第２包含領域作成部と、
前記一の構成部品に係る領域と、前記第２包含領域とが干渉する場合に、前記指定部が指定した構成部品に係る第１包含領域が、前記一の構成部品に係る領域と干渉するか否かを判定する判定部と
をさらに備え、
該判定部が干渉すると判定した場合、前記指定部が指定した構成部品に対応する表示データ及び編集データが前記記憶部から読み出され、
前記判定部が干渉しないと判定した場合、前記構成部品に対応する表示データが前記記憶部から読み出される
請求項２に記載の表示制御装置。
【請求項４】
前記領域選択部は、  
前記体積算出部が算出した体積の比率と閾値との比較結果に基づいて、前記直方体状の領域及び前記球体状の領域のいずれかを選択する
請求項１から３の何れか一つに記載の表示制御装置。
【請求項５】
コンピュータが、
３次元構造のモデルに含まれる複数の構成部品に関する編集可能な３次元データを記憶した記憶部から、前記複数の構成部品の内の一の構成部品に対応する３次元データを読み出し、
読み出した３次元データに基づいて、前記一の構成部品を３次元表示し、
前記一の構成部品を包含する直方体状の領域、及び前記一の構成部品を包含する球体状の領域それぞれの体積を算出し、
算出した体積に基づいて、前記直方体状の領域及び前記球体状の領域のいずれかを選択し、
複数の構成部品の中から、選択した領域と干渉する他の構成部品に対応する３次元データを前記記憶部から読み出し、
読み出した３次元データに基づいて、前記他の構成部品を３次元表示する
表示制御方法。
【請求項６】
コンピュータを、
３次元構造のモデルに含まれる複数の構成部品に関する編集可能な３次元データを記憶した記憶部から読み出された、前記複数の構成部品の内の一の構成部品に対応する３次元データに基づいて、前記一の構成部品を３次元表示させる第１表示制御部、
前記一の構成部品を包含する直方体状の領域、及び前記一の構成部品を包含する球体状の領域それぞれの体積を算出する体積算出部、
該体積算出部が算出した体積に基づいて、前記直方体状の領域及び前記球体状の領域のいずれかを選択する領域選択部、
前記記憶部から読み出された、前記複数の構成部品の内の前記領域選択部が選択した領域と干渉する他の構成部品に対応する３次元データに基づいて、前記他の構成部品を３次元表示させる第２表示制御部
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元構造のモデルを構成する複数の構成部品を３次元表示する表示制御装置、表示制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年の製品設計は、３次元Computer Aided Design（ＣＡＤ）を用いて行うことが多くなっている。３次元ＣＡＤは、製品の各構成部品を３次元モデル化し、各部品を組み合わせたアセンブリ（組立図）構成で表示される。この３次元ＣＡＤを用いて、部品相互間の干渉の有無をチェックする方法がある（例えば、特許文献１参照）。部品相互間が干渉しないかをチェックすることで、製品を実際に製造する前において、各部品に設計ミスがないかなど把握することができる。
【０００３】
特許文献１は、製品の部品を機能などで区分したユニット同士が衝突するかをチェックし、衝突する場合には、それら２つのユニットを記憶装置にロードし、衝突しない場合には、ロードしない構成としてある。これにより、干渉チェックの対象にする部品の数を低減することができ、干渉チェックの処理速度の向上を可能としている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１２９３７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、３次元ＣＡＤでは、各部品を編集する場合、その部品と隣接する部品、又は近傍にある部品も同時に編集する必要が生じる場合がある。このような場合、３次元ＣＡＤは、関連する全ての部品の３次元モデルを読み出す（ロード）必要がある。ところが、特許文献１では、編集対象とした部品と衝突（干渉）しない部品は、対象から除外されるため、編集すべき全ての部品の３次元モデルを読み出すことができない。
【０００６】
本発明はかかる事情に鑑みてなされたものであり、その目的とするところは、ユーザが操作することなく、編集対象とする一の構成部品と干渉又は隣接し、あるいは近傍にある他の構成部品を３次元表示することができる表示制御装置、表示制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
本願に開示する表示制御装置は、３次元構造のモデルに含まれる複数の構成部品に関する編集可能な３次元データを記憶した記憶部から読み出された、前記複数の構成部品の内の一の構成部品に対応する３次元データに基づいて、前記一の構成部品を３次元表示する第１表示制御部と、前記一の構成部品を包含する直方体状の領域、及び前記一の構成部品を包含する球体状の領域それぞれの体積を算出する体積算出部と、該体積算出部が算出した体積に基づいて、前記直方体状の領域及び前記球体状の領域のいずれかを選択する領域選択部と、前記記憶部から読み出された、前記複数の構成部品の内の前記領域選択部が選択した領域と干渉する他の構成部品に対応する３次元データに基づいて、前記他の構成部品を３次元表示する第２表示制御部とを備える。
【発明の効果】
【０００８】
本願に開示する表示制御装置の一観点によれば、ユーザが操作することなく、ユーザが指定した構成部品と、その構成部品と干渉又は隣接し、あるいは近傍にある構成部品とが３次元表示されるため、ユーザは、構成部品及び構成部品からなる３次元構造全体の設計が行いやすくなる。また、全ての構成部品を３次元表示する場合との対比において、メモリ上に展開する３次元データ数を削減できるため、メモリ使用量を抑制することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態に係る製品設計装置の表示内容を説明するための模式図である。
【図２】実施の形態に係る製品設計装置のハードウェア構成を示すブロック図である。
【図３】製品設計装置が有する機能を示すブロック図である。
【図４】領域作成部が形成する領域を説明するための模式図である。
【図５】領域作成部が形成する領域を説明するための模式図である。
【図６】表示ロード用領域Ｚａ’を説明するための模式図である。
【図７】完全ロード用領域Ｚａ’’を説明するための模式図である。
【図８】製品設計装置が実行する処理手順を示すフローチャートである。
【図９】製品設計装置が実行する処理手順を示すフローチャートである。
【図１０】領域作成処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下に、本願に開示する表示制御装置、表示制御方法及びプログラムについて、実施形態を示す図面に基づいて詳述する。以下では、本願に開示する表示制御装置は、製品（３次元構造のモデル）を設計するための製品設計装置であり、モニタを備えた一般的なパーソナルコンピュータとして説明するが、モニタを備えずに、独立したモニタに接続して使用するコンピュータとしてもよいし、回路設計専用のコンピュータとしてもよいし、携帯電話機又はPersonal Digital Assistant（ＰＤＡ）等であってもよい。
【００１１】
図１は、実施の形態に係る製品設計装置の表示内容を説明するための模式図である。本実施の形態に係る製品設計装置は、設計する製品全体、又は、製品を構成する部品を立体的に画面に表示する３次元ＣＡＤである。以下、製品設計装置が表示する製品をプリンタとして説明する。この場合、製品を構成する部品とは、例えばプリンタの用紙トレイ又は排紙トレイである。
【００１２】
製品設計装置は、製品を構成する部品に係る３次元モデルデータを記憶しており、各部品に対応する３次元モデルデータの名称をツリー構造で表示する。ツリー構造において、アセンブリ（部品の集合体）、及び部品に対応する３次元モデルデータの名称が階層的に表示される。例えば、図１において、「14-E400_2」は、「14-0400_2」、「14-0444」、「14-0435」等の部品により構成されているアセンブリである。なお、ツリー構造の最上位（図中「14-E002」）は、製品全体の３次元モデルデータを示すトップアセンブリとなる。図１では、トップアセンブリは一つのみ示しているが、画面には複数のトップアセンブリが表示される。ユーザがトップアセンブリを選択することで、製品設計装置で設計する製品（本実施の形態では、プリンタ）が選択される。
【００１３】
ツリー構造で表示された各部品は選択可能としてあり、ユーザは、ツリー構造で表示された部品の中から編集したい部品を選択する。編集とは、部品を形成する線の伸縮、削除又は線の追加、部品の属性の変更などである。部品が選択された場合、製品設計装置は、選択された部品を含むアセンブリを３次元表示する。例えば、図１では、「14-0400_2」が選択されており、「14-0400_2」の部品は、プリンタの用紙トレイとする。この場合、製品設計装置は、選択された「14-0400_2」の部品（用紙トレイ）、及びその部品のと干渉する部品を３次元表示する。干渉する部品とは、「用紙トレイ」と隣接する部品、及び隣接していなくても、「用紙トレイ」と所定範囲内にある部品である。
【００１４】
ユーザが、任意の部品を編集する場合、その部品と干渉する他の部品も編集する必要が生じる場合がある。例えば、「用紙トレイ」の部品のサイズを大きく（又は小さく）した場合、その「用紙トレイ」に隣接する部品も、「用紙トレイ」のサイズ変更に応じて、サイズを変更する必要がある。このため、製品設計装置が、ユーザが編集しようとする部品と干渉する部品を表示することで、ユーザは、複数の部品を組み合わせたユニット毎の設計が行いやすくなる。
【００１５】
また、製品設計装置は、選択された部品である「用紙トレイ」を、編集可能に表示し、「用紙トレイ」と干渉する他の部品を、編集可能又は編集不可能に表示する。製品設計装置が記憶する３次元モデルデータは複数のデータを有しており、部品を編集可能に表示する場合、製品設計装置は、３次元モデルデータに含まれる全てのデータをRandom Access Memory（ＲＡＭ）等のメモリにロード（以下、完全ロードという）する。一方、部品を編集不可能に表示する場合、製品設計装置は、３次元モデルデータに含まれる部品の形状に関する形状データのみをメモリにロード（以下、表示ロードという）する。すなわち、編集可能に表示する場合のメモリ使用量は、編集不可能に表示する場合との対比において大きくなるため、表示する全ての部品を編集可能に表示すれば、メモリ不足又は処理速度が低下する。このため、選択された部品と干渉する部品を、所定の条件に基づいて編集不可能に表示にすることで、メモリ使用量を抑制でき、また処理速度の低下を回避できる。
【００１６】
以下、製品設計装置の具体的な構成及び動作について詳述する。
【００１７】
図２は、実施の形態に係る製品設計装置のハードウェア構成を示すブロック図である。本実施の形態の製品設計装置１は、Central Processing Unit（ＣＰＵ）１１、Read Only Memory（ＲＯＭ）１２、ＲＡＭ１３、ハードディスクドライブ（以下、ＨＤＤという）１４、及び入出力部１５等のハードウェア各部を備えている。これらのハードウェア各部はバスを介して相互に接続されている。入出力部１５は、モニタ１６、マウス１７及びキーボード１８などと接続するためのインターフェースである。
【００１８】
ＣＰＵ１１は、ＲＯＭ１２に予め格納されているプログラム１２ａを適宜ＲＡＭ１３に読み出して実行すると共に、上述したハードウェア各部の動作を制御する。ＲＯＭ１２は、プログラム１２ａを格納している。ＲＡＭ１３は、例えばStatic ＲＡＭ（ＳＲＡＭ）、Dynamic ＲＡＭ（ＤＲＡＭ）、フラッシュメモリ等である。ＲＡＭ１３は、ＣＰＵ１１によるプログラム１２ａの実行時に発生する種々のデータを一時的に記憶する。
【００１９】
ＨＤＤ１４は、必要な各種データ、例えば、各部品の３次元モデルデータ及びプログラムを記憶する。ＨＤＤ１４が記憶する３次元モデルデータは、ＲＡＭ１３上に展開される。プログラム１２ａは、Compact Disc-ROM（ＣＤ−ＲＯＭ）、Digital Versatile Disc-ROM（ＤＶＤ−ＲＯＭ）、又はMagneto-Optical disk（ＭＯ）等の記録媒体３によりＨＤＤ１４にインストールし、又はネットワークからダウンロードして使用する形態でもよい。
【００２０】
以下に、ＣＰＵ１１がプログラム１２ａを実行することで、製品設計装置１で実現される機能について説明する。
【００２１】
図３は、製品設計装置１が有する機能を示すブロック図である。製品設計装置１は、部品指定受付部２０、データ展開部２１、領域決定部２２、干渉部品特定部２３、完全ロード判定部２４、表示制御部２５、データ記憶部２６、及び一時記憶部２７等の機能を有している。データ記憶部２６は、部品の３次元モデルデータを記憶しているＨＤＤ１４である。一時記憶部２７は、データ記憶部２６から読み出されたデータが展開されるＲＡＭ１３である。表示制御部２５は、一時記憶部２７に展開された３次元モデルデータ、具体的には３次元モデルデータに含まれる形状データに基づいて、部品を表示する。
【００２２】
部品指定受付部２０は、マウス１７等の操作により、図１で説明したツリー構造で表示された名称の中から、部品の指定を受け付ける。データ展開部２１は、部品指定受付部２０から指定された部品に対応する３次元モデルデータに含まれる全てのデータをデータ記憶部２６から読み出して、一時記憶部２７上に展開する。また、データ展開部２１は、完全ロード判定部２４から指定された部品に対応する３次元モデルデータに含まる全てのデータ、又は形状データのみを一時記憶部２７上に展開する。
【００２３】
領域決定部２２は、部品指定受付部２０により指定された部品と干渉する部品を特定するために用いる領域を決定する。領域決定部２２は、領域作成部２２１、領域体積算出部２２２、体積対比部２２３及び領域選択部２２４等の機能を有している。
【００２４】
領域作成部２２１は、部品指定受付部２０、後述の干渉部品特定部２３又は完全ロード判定部２４により指定された部品を包含する直方体形状、及び球形状の領域を作成する。図４及び図５は、領域作成部２１が形成する領域を説明するための模式図であり、図４は直方体形状の領域、図５は球形状の領域を示している。また、図４及び図５は、用紙トレイの部品を示している。直方体形状の場合、領域作成部２１は、部品の３次元座標それぞれの最小値及び最大値を取得し、直方体形状の領域を形成する。また、球形状の場合、領域作成部２１は、部品の中心点を取得し、中心点から最も遠い部品の位置までの距離を半径として球形状の領域を形成する。
【００２５】
領域体積算出部２２２は、領域作成部２２１が形成した直方体形状、及び球形状の領域の体積Ｔ１，Ｔ２を算出する。体積対比部２２３は、領域体積算出部２２２が算出した体積Ｔ１，Ｔ２の対比を行う。具体的には、体積対比部２２３は、直方体形状の領域の体積Ｔ１と、球形状の領域の体積Ｔ２とを除算したＴ１／Ｔ２と、閾値α（０＜α＜１）とを対比する。閾値αは、製品の特徴（大きさ）によって予め決められた値である。例えば、車両又は船舶等の大型製品の場合、閾値αは大きく設定され、小型製品の場合には、小さく設定される。
【００２６】
領域選択部２２４は、体積対比部２２３による対比結果に基づいて、領域作成部２２１が作成した領域から一方を選択する。体積対比部２２３が対比した結果、Ｔ１／Ｔ２が閾値α未満である場合、領域選択部２２４は、直方体形状の領域を選択する。一方、体積対比部２２３が対比した結果、Ｔ１／Ｔ２が閾値α以上である場合、領域選択部２２４は、球形状の領域を選択する。
【００２７】
干渉部品特定部２３は、部品指定受付部２０が指定した部品と干渉する部品を特定する。具体的には、干渉部品特定部２３には、部品指定受付部２０が指定した部品に対して、領域決定部２２が決定した領域Ｙａが入力される。また、干渉部品特定部２３は、部品指定受付部２０が指定した部品と同じアセンブリを構成する任意の部品を特定し、領域決定部２２に、その部品に対する領域Ｚａを決定させる。干渉部品特定部２３は、領域決定部２２に決定させた領域Ｚａにオフセットを持たせた領域（以下、表示ロード用領域という）Ｚａ’を作成する。
【００２８】
図６は、表示ロード用領域Ｚａ’を説明するための模式図である。図６では、領域決定部２２が直方体形状の領域を決定した場合の表示ロード用領域（第２包含領域）Ｚａ’を示している。また、図中の点線部が領域Ｚａを示し、実線部が表示ロード用領域Ｚａ’を示している。表示ロード用領域Ｚａ’は、領域決定部２２が直方体形状の領域Ｚａを包含し、領域Ｚａと同形状の領域である。領域Ｚａと表示ロード用領域Ｚａ’とのオフセット距離は、製品又は各部品の特徴（大きさ）によって決定される。
【００２９】
干渉部品特定部２３は、領域決定部２２が決定した領域Ｙａと、自身が作成した表示ロード用領域Ｚａ’とが一部又は全部が重なるか否かを判定する。重なる場合には、干渉部品特定部２３は、自身が特定した部品が、部品指定受付部２０が指定した部品と干渉する部品であると特定する。すなわち、干渉部品特定部２３が特定した部品は、編集可能又は編集不可能に表示される。
【００３０】
完全ロード判定部２４は、干渉部品特定部２３が特定した部品を、編集可能に表示する部品であるか否かを判定する。具体的には、完全ロード判定部２４は、干渉部品特定部２３が領域決定部２２に決定させた領域Ｚａにオフセットを持たせ、さらに、干渉部品特定部２３が作成した表示ロード用領域Ｚａ’に包含される領域（以下、完全ロード用領域という）Ｚａ’’を作成する。
【００３１】
図７は、完全ロード用領域Ｚａ’’を説明するための模式図である。図７では、領域決定部２２が直方体形状の領域を決定した場合の表示ロード用領域Ｚａ’を示している。また、図中の点線部が領域Ｚａを示し、一点鎖線部が表示ロード用領域Ｚａ’を示し、実線部が完全ロード用領域（第１包含領域）Ｚａ’’を示している。完全ロード用領域Ｚａ’’は、領域Ｚａを包含し、表示ロード用領域Ｚａ’に包含され、かつ、領域Ｚａと同形状の領域である。領域Ｚａと完全ロード用領域Ｚａ’’とのオフセット距離は、製品又は各部品の特徴（大きさ）によって決定される。
【００３２】
完全ロード判定部２４は、領域決定部２２が決定した領域Ｙａと、自身が作成した完全ロード用領域Ｚａ’’とが一部又は全部が重なるか否かを判定する。重なる場合には、完全ロード判定部２４は、干渉部品特定部２３が特定した部品を、編集可能に表示すると判定する。この場合、データ展開部２１は、干渉部品特定部２３が特定した部品に対応する３次元モデルデータに含まれる全てのデータを一時記憶部２７に展開する。重ならない場合には、完全ロード判定部２４は、干渉部品特定部２３が特定した部品を編集不可能に表示すると判定する。この場合、データ展開部２１は、干渉部品特定部２３が特定した部品に対応する３次元モデルデータに含まれる形状データのみを一時記憶部２７に展開する。
【００３３】
以下に、本実施形態に係る製品設計装置１における処理について説明する。図８及び図９は、製品設計装置１が実行する処理手順を示すフローチャートである。図８及び図９に示す処理は、ＣＰＵ１１がＲＯＭ１２に格納してあるプログラム１２ａを読み出すことで、実行される。
【００３４】
ＣＰＵ１１は、トップアセンブリが選択されたか否かを判定する（Ｓ１０）。トップアセンブリとは、製品を形成している最上位のユニットである。すなわち、トップアセンブリが選択されることで、３次元表示の対象とする製品が選択される。トップアセンブリが選択されていない場合（Ｓ１０：ＮＯ）、ＣＰＵ１１は、選択されるまで待機する。トップアセンブリが選択された場合（Ｓ１０：ＹＥＳ）、ＣＰＵ１１は、選択されたトップアセンブリを構成する各アセンブリを展開し、ツリー構造で表示する（Ｓ１１）。例えば、「プリンタ」のトップアセンブリが選択された場合、ＣＰＵ１１は、プリンタを構成する各アセンブリの名称を階層的に表示する（図１参照）。なお、アセンブリが選択された場合には、アセンブリを構成する各部品をさらに展開し、ツリー構造で表示する。
【００３５】
次に、ＣＰＵ１１は、ユーザによる操作によりマウス１７等を介して、ツリー構造で表示された部品の何れかが指定されたか否かを判定する（Ｓ１２）。部品が指定されていない場合（Ｓ１２：ＮＯ）、ＣＰＵ１１は、指定されるまで待機する。部品が指定された場合（Ｓ１２：ＹＥＳ）、ＣＰＵ１１は、指定された部品に対する領域Ｙａを作成する処理を行う（Ｓ１３）。
【００３６】
図１０は、領域作成処理の手順を示すフローチャートである。
【００３７】
ＣＰＵ１１は、指定された部品を包含する直方体形状の領域を作成し（Ｓ４０）、さらに、球形状の領域を作成する（Ｓ４１）。ＣＰＵ１１は、作成した直方体形状の領域の体積Ｔ１を算出し（Ｓ４２）、さらに、球形状の領域の体積Ｔ２を算出する（Ｓ４３）。次に、ＣＰＵ１１は、Ｓ４２及びＳ４３で算出した体積Ｔ１、Ｔ２に基づいて、何れの形状の領域を使うかを決定する。
【００３８】
球形状の場合、中心点からの距離（半径）で部品間の距離を計算できるため、球形状の領域を用いた方が、計算量が少ないため、計算速度は速くなる。ところが、対象部品が「長尺物」であれば、球形状の半径が大きくなるため、当該部品から離れている本来不要な部品も、球形状の領域と干渉し、その結果、表示する対象となってしまう。そこで、ＣＰＵ１１は、Ｔ１／Ｔ２が閾値α未満であるか否かを判定することで、何れの形状の領域を使うかを決定する（Ｓ４４）。
【００３９】
上述のように部品が「長尺物」であれば、球形状の半径が大きくなり、その結果、球形状の領域の体積Ｔ２が直方体形状の領域の体積Ｔ１より非常に大きくなる。このため、Ｔ１／Ｔ２が閾値α未満の場合（Ｓ４４：ＹＥＳ）、ＣＰＵ１１は、直方体形状の領域を領域Ｙａとして設定する（Ｓ４６）。一方、Ｔ１／Ｔ２が閾値α未満でない場合（Ｓ４４：ＮＯ）、すなわち、球形状の領域の体積Ｔ２と直方体形状の体積Ｔ１の差が、所定値より小さい、具体的には、隣接あるいは近接している部品の抽出結果に影響を与えないほど小さい場合、ＣＰＵ１１は、計算量が少ない球形状の領域を領域Ｙａとして設定する（Ｓ４５）。領域Ｙａの設定後、ＣＰＵ１１は、図９のＳ１４に移る。
【００４０】
なお、閾値αは、製品の特徴（大きさ）によって決められるため、製品の大きさによって、最適な領域を選択することができる。例えば、車両又は船舶等の大型製品の場合、閾値αは大きく設定される。この場合、体積が小さい形状の領域が選択されるようになり、「長尺物」の部品に球形状の領域が選択されて、不要な部品が表示対象となることを回避できる。また、小型製品の場合には、閾値αを小さく設定することで、体積が大きくても、球形状の領域が選択されるようにすることで、計算量を少なくすることができる。
【００４１】
ＣＰＵ１１は、Ｓ１２でユーザが指定した部品と同じアセンブリを構成する任意の部品（以下、対象部品という）を特定する（Ｓ１４）。次に、ＣＰＵ１１は、特定した対象部品がＳ１２でユーザが指定した部品であるか否かを判定する（Ｓ１５）。ユーザが指定した部品である場合（Ｓ１５：ＹＥＳ）、ＣＰＵ１１は、対象部品の３次元モデルデータをＲＡＭ１３に完全ロードして、対象部品を編集可能に表示する（Ｓ１６）。その後、ＣＰＵ１１は、Ｓ２３に移る。
【００４２】
一方、ユーザが指定した部品でない場合（Ｓ１５：ＮＯ）、ＣＰＵ１１は、対象部品がユーザが指定した部品と干渉するかを判定するために、表示ロード用領域Ｚａ’を作成する処理を行う（Ｓ１７）。Ｓ１７での処理は、図１０で説明した処理と同様であるため、説明は省略する。
【００４３】
ＣＰＵ１１は、Ｓ１３で作成した領域Ｙａと、Ｓ１７で作成した表示ロード用領域Ｚａ’とが干渉するか否かを判定する（Ｓ１８）。干渉しない場合（Ｓ１８：ＮＯ）、ＣＰＵ１１は、対象部品を３次元表示しないと判定して、Ｓ２３に移る。干渉する場合（Ｓ１８：ＹＥＳ）、ＣＰＵ１１は、完全ロード用領域Ｚａ’’を作成する処理を行う（Ｓ１９）。Ｓ１９での処理は、図１０で説明した処理と同様であるため、説明は省略する。
【００４４】
ＣＰＵ１１は、Ｓ１３で作成した領域Ｙａと、Ｓ１９で作成した完全ロード用領域Ｚａ’’とが干渉するか否かを判定する（Ｓ２０）。干渉しない場合（Ｓ２０：ＮＯ）、ＣＰＵ１１は、対象部品の３次元モデルデータをＲＡＭ１３に表示ロードして、対象部品を編集不可能に表示し（Ｓ２２）、Ｓ２３に移る。干渉する場合（Ｓ２０：ＹＥＳ）、ＣＰＵ１１は、対象部品の３次元モデルデータをＲＡＭ１３に完全ロードして、対象部品を編集可能に表示する（Ｓ２１）。
【００４５】
ＣＰＵ１１は、Ｓ１２でユーザが指定した部品と同じアセンブリを構成する他の部品があるか否かを判定する（Ｓ２３）。他に部品がある場合（Ｓ２３：ＹＥＳ）、ＣＰＵ１１は、Ｓ１４の処理を実行し、他の部品に対しても、ユーザが指定した部品と干渉するかの処理を行う。他に部品がない場合（Ｓ２３：ＮＯ）、ＣＰＵ１１は、本処理を終了する。
【００４６】
以上説明したように、ユーザが操作することなく、ユーザが指定した部品と、その部品と干渉する部品とが３次元表示されるため、ユーザは、部品、及び部品からなる製品全体の設計が行いやすくなる。また、全ての部品を３次元表示する場合との対比において、メモリ上に展開する３次元モデルデータのデータ容量を削減できるため、メモリ使用量を抑制することができる。その結果、ＣＡＤ上での編集（表示）操作を、快適に行うことができる。
【００４７】
以上、本発明の実施形態について、具体的に説明したが、各構成及び動作等は適宜変更可能であって、上述の実施形態に限定されることはない。
【００４８】
以下に、上述の実施形態を含む実施形態に関し、更に付記を開示する。
【００４９】
（付記１）
３次元構造のモデルを構成する複数の構成部品の中から編集対象に指定された一の構成部品を３次元表示する表示制御装置において、
構成部品を３次元表示するための編集可能な３次元データを記憶した記憶部から、前記一の構成部品に対応する３次元データを読み出し、メモリ上に展開する第１展開部と、
該第１展開部がメモリ上に展開した３次元データに基づいて、前記一の構成部品を３次元表示する第１表示制御部と、
前記一の構成部品を包含する異なる形状の二つの領域を作成する領域作成部と、
該領域作成部が作成した二つの領域の体積を算出する体積算出部と、
該体積算出部が算出した体積の比率と閾値との対比結果に基づいて、前記領域作成部が作成した二つの領域から一の領域を選択する領域選択部と、
複数の構成部品の中から、前記領域選択部が選択した領域と干渉する他の構成部品を検出する検出部と、
該検出部が検出した他の構成部品に対応する３次元データを前記記憶部から読み出し、メモリ上に展開する第２展開部と、
該第２展開部がメモリ上に展開した３次元データに基づいて、前記他の構成部品を３次元表示する第２表示制御部と
を備える表示制御装置。
【００５０】
（付記２）
前記検出部は、
複数の構成部品の中から、前記一の構成部品以外の構成部品を指定する指定部と、
該指定部が指定した構成部品を包含する異なる形状の二つの領域を、前記領域作成部に作成させる作成指示部と
を有し、
前記一の構成部品に係る領域と、前記指定部が指定した構成部品に係る領域とが干渉する場合に、前記構成部品を、前記他の構成部品として検出するようにしてある
付記１に記載の表示制御装置。
【００５１】
（付記３）
構成部品を３次元表示するための表示データ、及び、編集対象となる編集データを有する３次元データが前記記憶部に記憶されており、
前記第１展開部は、
表示データ及び編集データをメモリ上に展開し、
前記検出部は、
前記指定部が指定した構成部品に係る領域を包含し、該領域と同形状の第１包含領域を作成する第１包含領域作成部と、
該第１包含領域作成部が作成した第１包含領域を包含し、該第１包含領域と同形状の第２包含領域を作成する第２包含領域作成部と
をさらに有し、
前記一の構成部品に係る領域と、前記第２包含領域とが干渉する場合に、前記指定部が指定した構成部品を、前記他の構成部品として検出するようにしてあり、
前記検出部が前記他の構成部品として検出した構成部品に係る第１包含領域が、前記一の構成部品に係る領域と干渉するか否かを判定する判定部
をさらに備え、
前記第２展開部は、
前記判定部が干渉すると判定した場合、前記構成部品に対応する表示データ及び編集データをメモリ上に展開し、
前記判定部が干渉しないと判定した場合、前記構成部品に対応する表示データをメモリ上に展開するようにしてあり、
前記第１及び第２表示制御部は、
前記第１及び第２展開部が展開した表示データに基づいて、構成部品を３次元表示するようにしてある
付記２に記載の表示制御装置。
【００５２】
（付記４）
前記領域作成部は、
球形状及び直方体形状の領域を作成するようにしてある
付記１から３の何れか一つに記載の表示制御装置。
【００５３】
（付記５）
前記領域選択部は、
前記体積算出部が算出した体積の差が所定値より小さい場合、球形状の領域を選択するようにしてある
付記４に記載の表示制御装置。
【００５４】
（付記６）
前記領域選択部は、
前記体積算出部が算出した直方体形状及び球形状の領域の体積Ｔ１、Ｔ２の除算値Ｔ１／Ｔ２を算出し、前記Ｔ１／Ｔ２が閾値未満である場合、直方体形状の領域を選択し、閾値以上である場合、球形状の領域を選択するようにしてある
付記４又は５に記載の表示制御装置。
【００５５】
（付記７）
前記領域選択部は、
３次元構造のモデルの大きさによって決定された閾値を用いるようにしてある
付記６に記載の表示制御装置。
【００５６】
（付記８）
３次元構造のモデルを構成する複数の構成部品の中から編集対象に指定された一の構成部品を３次元表示する表示制御方法において、
構成部品を３次元表示するための編集可能な３次元データを記憶した記憶部から、前記一の構成部品に対応する３次元データを読み出し、メモリ上に展開し、
メモリ上に展開した３次元データに基づいて、前記一の構成部品を３次元表示し、
前記一の構成部品を包含する異なる形状の二つの領域を作成し、
作成した二つの領域の体積を算出し、
算出した体積の比率と閾値との対比結果に基づいて、作成した二つの領域から一の領域を選択し、
複数の構成部品の中から、選択した領域と干渉する他の構成部品を検出し、
検出した他の構成部品に対応する３次元データを前記記憶部から読み出し、メモリ上に展開し、
メモリ上に展開した３次元データに基づいて、前記他の構成部品を３次元表示する
表示制御方法。
【００５７】
（付記９）
３次元構造のモデルを構成する複数の構成部品の中から編集対象に指定された一の構成部品を３次元表示させるコンピュータで実行されるプログラムにおいて、
コンピュータを、
構成部品を３次元表示するための編集可能な３次元データを記憶した記憶部から、前記一の構成部品に対応する３次元データを読み出し、メモリ上に展開する第１展開部、
該第１展開部がメモリ上に展開した３次元データに基づいて、前記一の構成部品を３次元表示させる第１表示制御部、
前記一の構成部品を包含する異なる形状の二つの領域を作成する領域作成部、
該領域作成部が作成した二つの領域の体積を算出する体積算出部、
該体積算出部が算出した体積の比率と閾値との対比結果に基づいて、前記領域作成部が作成した二つの領域から一の領域を選択する領域選択部、
複数の構成部品の中から、前記領域選択部が選択した領域と干渉する他の構成部品を検出する検出部、
該検出部が検出した他の構成部品に対応する３次元データを前記記憶部から読み出し、メモリ上に展開する第２展開部、及び、
該第２展開部がメモリ上に展開した３次元データに基づいて、前記他の構成部品を３次元表示させる第２表示制御部
として機能させるプログラム。
【００５８】
（付記１０）
付記９に記載されたプログラムが記録されており、コンピュータでの読み取りが可能な記録媒体。
【符号の説明】
【００５９】
２０  部品指定受付部
２１  データ展開部（第１展開部、第２展開部）
２２  領域決定部
２２１  領域作成部
２２２  領域体積算出部（体積算出部）
２２３  体積対比部
２２４  領域選択部
２３  干渉部品特定部（検出部、第２包含領域作成部）
２４  完全ロード判定部（検出部、第１包含領域作成部、判定部）
２５  表示制御部（第１表示制御部、第２表示制御部）
２６  データ記憶部（記憶部）
２７  一時記憶部（メモリ）
【図１】
0005521667.tif 000002
【図２】
0005521667.tif 000003
【図３】
0005521667.tif 000004
【図４】
0005521667.tif 000005
【図５】
0005521667.tif 000006
【図６】
0005521667.tif 000007
【図７】
0005521667.tif 000008
【図８】
0005521667.tif 000009
【図９】
0005521667.tif 000010
【図１０】
0005521667.tif 000011