(57)【特許請求の範囲】
【請求項１】
基本形状を順次組み合わせた３次元形状を編集する装置として機能させるＣＡＤ編集プログラムを記録したコンピュータ読み取り可能な記録媒体であって、コンピュータに、
出発形状としての最初の基本形状から最終３次元形状に至るまでの途中形状を表示画面上に表示する表示手段、
前記表示された途中形状の一つを選択させる選択手段、
前記選択された途中形状に対して最後に組み合わせた基本形状を編集の対象とする決定手段、
として機能させるＣＡＤ編集プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２】
前記ＣＡＤ編集プログラムは、
基本形状間の和、差、または積を生成する生成手段をさらに備えることを特徴とする請求項１記載のＣＡＤ編集プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項３】
前記選択手段は更に、第１の途中形状及び第２の途中形状を選択させ、
第１の途中形状の選択によって編集対象とされた基本形状の組み合わせ順序を、第２の途中形状の直後または第２の途中形状の直前に変更する順序変更手段をさらに備えた請求項１記載のＣＡＤ編集プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項４】
前記３次元形状は、前記基本形状を表す要素情報と、複数の要素情報の組み合わせ順序を示す順序指示情報とによって記憶され、
前記順序変更手段は更に、前記順序指示情報の変更により、前記編集対象とされた基本形状の組み合わせ順序を変更する請求項３記載のＣＡＤ編集プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項５】
最終３次元形状を形成する基本形状の組み合わせから編集対象の基本形状を削除する削除手段をさらに備えた請求項１記載のＣＡＤ編集プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項６】
最終３次元形状を形成する基本形状の組み合わせに対して、編集対象の基本形状を非表示状態または非表示状態から表示状態にする変更手段をさらに備えた請求項１記載のＣＡＤ編集プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項７】
前記選択手段は更に、第１の途中形状及び第２の途中形状を選択させ、
第１の途中形状によって編集対象とされた基本形状を第２の途中形状に複写することを特
徴とする請求項１記載のＣＡＤ編集プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項８】
基本形状を順次組み合わせた３次元形状を編集するＣＡＤ編集装置として機能させるＣＡＤ編集プログラムであって、コンピュータに、
出発形状としての最初の基本形状から最終３次元形状に至るまでの途中形状を表示画面上に表示する表示手段、
前記表示された途中形状の一つを選択させる選択手段、
前記選択された途中形状に対して最後に組み合わせた基本形状を編集の対象とする編集対象決定手段、
として機能させるＣＡＤ編集プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、３次元ＣＡＤシステムに関するものである。
【０００２】
【従来の技術】
３次元ＣＡＤシステムでは、回転体、突起、穴等の基本形状（これらはフィーチャと呼ばれる）を定義し、その定義した基本形状を特定の順序で組み合わせることにより、最終的な３次元形状を作成する方法が一般的に採用されてきた。このようなＣＡＤはフィーチャベースのＣＡＤシステムと呼ばれていた。図１７及び図１８に、このような基本形状の例を示す。例えば、スイープは、２次元図形を所定の距離だけ移動したときの軌跡からなる基本形状であり、回転体は、２次元図形を所定の軸の周りに回転させたときの軌跡からなる基本形状である。
【０００３】
また、３次元ＣＡＤシステムでは、３次元形状を一旦作成した後、再度変更することが多かった。その場合、最終的な形状に対してさらに基本形状を付加することの他に、すでに付加されている基本形状の組み合わせ順序の変更、基本形状の削除、複写、形状変更、属性変更等が必要であった。
【０００４】
従来、このような３次元形状を変更するために、その３次元形状を構成する各基本形状を以下のように特定していた。
（１）最終的な３次元形状に表れた基本形状を選択し（例えばマウスのポインタ等で指し）、特定する。
（２）基本形状の組み合わせ順序を示すフィーチャツリーを表示し、そのフィーチャツリーに表わされた基本形状を選択して、特定する。
【０００５】
しかし、（１）に示した方法では、組み合わせられているすべての基本形状が、最終的な３次元形状において顕在化しない場合がある。例えば、途中まで形成した３次元形状の１部を切り取って最終的な３次元形状を得た場合、切り取られた部分に含まれていた基本形状は、最終的な３次元形状には表れない。このため、切り取られた部分に含まれる基本形状を選択することができなかった。
【０００６】
また、（２）の方法では、作成途中の３次元形状や付加される基本形状を把握できない。
このため、ユーザの意図しない基本形状に対して変更を加えてしまう等の誤操作を誘発することがあった。
【０００７】
【発明が解決しようとする課題】
本発明はこのような従来の技術の問題点に鑑みてなされたものであり、基本形状を順次組み合わせて３次元形状を作成する３次元ＣＡＤシステムにおいて、最終的に得られる３次元形状において顕在化されない基本形状をユーザに把握させ、特定させる機能を提供することを技術的課題とする。
【０００８】
また、本発明は、３次元ＣＡＤシステムにおいて、ユーザに実際の形状を把握させた上で、基本形状の組み合わせ順序の変更、基本形状の削除、複写、形状の変更、属性の変更等をさせる機能を提供するものである。
【０００９】
【課題を解決するための手段】
本発明は前記課題を解決するために、以下の手段を採用した。
すなわち、本発明は、表示画面上に表示された基本形状を操作部を通じて複数個組み合わせる過程を経て最終３次元形状を完成させる３次元ＣＡＤシステムにおける立体編集方法であって、
出発形状としての最初の基本形状から最終３次元形状に至るまでの途中形状を前記表示画面上に表示するステップと、
前記表示された途中形状の１つを選択させる選択ステップと、
前記選択された途中形状に対して最後に組み合わせた基本形状を編集の対象とするステップとからなるものである。
【００１０】
基本形状とは、３次元形状を構成するための基本的な形状をいう。この基本形状が所定の順序で組み合わされることで、３次元形状が生成される。
途中形状とは、上記基本形状を順次組み合わせて最終的な３次元形状が得られるまでの途中段階の３次元形状をいう。
【００１１】
本発明は、このような途中形状をユーザに選択させ、その選択された途中形状において、最後に組み合わせた基本形状を編集の対象とするものである。
本発明は、コンピュータに、基本形状を順次組み合わせた最終３次元形状を編集させるプログラムであって、
出発形状としての最初の基本形状から最終３次元形状に至るまでの途中形状を前記表示画面上に表示するステップと、
前記表示された途中形状の一つを選択させる選択ステップと、
前記選択された途中形状に対して最後に組み合わせた基本形状を編集の対象とするステップとからなるプログラムをコンピュータ読み取り可能な記録媒体に記録したものでもよい。
【００１２】
また、本発明は、そのようなプログラムでもよい。このプログラムは、基本形状間の和、差、または積を生成するステップをさらに備えたものでもよい。
このプログラムは、上記選択ステップにおいて、第１の途中形状及び第２の途中形状を選択させ、
第１の途中形状の選択によって編集対象とされた基本形状の組み合わせ順序を、第２の途中形状の直後（または第２の途中形状の直前）に変更する順序変更ステップをさらに備えたものでもよい。
【００１３】
上記３次元形状は、基本形状を表す要素情報と、複数の要素情報の組み合わせ順序を示す順序指示情報とによって記憶され、
上記順序変更ステップは、上記順序指示情報の変更により、編集対象とされた基本形状の組み合わせ順序を変更してもよい。
【００１４】
このプログラムは、最終３次元形状を形成する基本形状の組み合わせから編集対象の基本形状を削除するステップをさらに備えてもよい。
このプログラムは、最終３次元形状を形成する基本形状のうち、編集対象の基本形状を非表示状態（または非表示状態から表示状態）にするステップをさらに備えてもよい。
【００１５】
このプログラムは、前記選択ステップにおいて第１の途中形状及び第２の途中形状を選択させ、
第１の途中形状によって編集対象とされた基本形状を第２の途中形状に複写するステップをさらに備えてもよい。
【００１６】
このプログラムは、編集対象の形状を変更するステップ、または、属性を変更するステップをさらに備えてもよい。
本発明は、コンピュータに、基本形状を順次組み合わせた最終３次元形状を編集させるプログラムであって、
出発形状としての最初の基本形状から最終３次元形状に至るまでの途中形状を表示するステップと、
前記表示された途中形状において顕在化している基本形状を選択させる選択ステップと、
選択された基本形状を編集対象とするステップとからなるプログラムをコンピュータ読み取り可能な記録媒体に記録したものでもよい。
【００１７】
【発明の実施の形態】
以下、本発明の実施の形態を図１から図１６の図面に基いて説明する。
図１は本実施の形態に係るＣＡＤシステムのハードウェア構成図であり、図２は、図１に示したＣＡＤシステムのＣＰＵ３で実行されるプログラムの構成図であり、図３は、基本形状の組み合わせによって３次元形状を形成した一例であり、図４は図３に示した３次元形状を表現するデータ構造を示す図であり、図５は、基本形状の組み合わせによって３次元形状を形成した第２の例であり、図６から図１５は、図２に示した３次元ＣＡＤプログラム１０の処理を示すフローチャートであり、図１６は、基本形状の組み合わせ順序を表現するフィーチャツリーに対する操作例である。
＜構成＞
図１に本実施の形態に係るＣＡＤシステムのハードウェア構成図を示す。図１のように、このＣＡＤシステムは、プログラムやデータを記憶するメモリ２と、メモリ２に記憶したプログラムを実行するＣＰＵ３と、プログラムやデータを記録するハードディスク４と、ユーザが文字データ等をＣＰＵ３に入力するキーボード５と、ユーザがＣＰＵ３に対して図形等を指示するためのマウス６と、ハードディスク４に記録された形状データ等を表示するＣＲＴ７とを備えている。
【００１８】
メモリ２には、プログラムやデータが記憶される。
ＣＰＵ３は、メモリ２に記憶されたプログラムを実行して３次元ＣＡＤシステムの機能を提供する。すなわち、ＣＰＵ４は、ユーザの指示に従い、３次元ＣＡＤデータを生成し、ハードディスク４に保存する。また、ＣＰＵ３は、ハードディスク４に保存されたデータを読み出してその３次元形状をＣＲＴ７に表示する。
【００１９】
ハードディスク４には、プログラムやデータが記録される（コンピュータ読み取り可能な記録媒体に相当）。
このＣＡＤシステムのユーザはキーボード５により文字データ等をＣＰＵ３に入力する。また、ユーザはマウス６によりＣＰＵ３に対して図形等を指示する。このキーボード５とマウス６とが操作部に相当する。
【００２０】
図２に、このＣＡＤシステムのプログラムの構成図を示す。このＣＡＤシステムは、ユーザインターフェースとなるウィンドウシステム１１と、ウィンドウシステム１１からユーザの指示を受け取り、３次元形状データ１３を生成する３次元ＣＡＤプログラム１０と、３次元ＣＡＤプログラム１０からの指令に従い、３次元形状データ１３に対して演算を実行し、ＣＲＴ７上に表示させる３次元形状演算部１２とを備えている。
【００２１】
３次元ＣＡＤプログラム１０は、ウィンドウシステム１１を通じてユーザの指示を受け取り、その指示に従って３次元形状データ１３を生成する。また、３次元ＣＡＤプログラム１０は、生成した３次元形状データ１３をハードディスク４に保存する。また、３次元ＣＡＤプログラム１０は、生成した３次元形状データ１３を３次元形状演算部１２に引き渡し、３次元形状データ１３に対する演算を実行させる。
【００２２】
ウィンドウシステム１１は、キーボード５及びマウス６によるユーザの操作を検出して３次元ＣＡＤプログラム１０に伝達する。また、ウィンドウシステム１１は、３次元形状演算部１２の演算結果をＣＲＴ７に表示する。
【００２３】
３次元形状演算部１２は、３次元ＣＡＤプログラム１０からの指示により、３次元形状データ１３に対する演算を実行する。この演算では、各３次元形状データ１３ごとに定められた組み合わせ順序に従い、基本形状を組み合わせていく。この基本形状の組み合わせによって３次元形状が生成される。
【００２４】
この基本形状の組み合わせでは、論理演算機能（ＡＮＤ、ＯＲ、ＳＵＢＴＲＡＣＴ等）を指定できる（基本形状間の和、差、または積を生成するステップに相当）。例えば、基本形状１と基本形状２のＡＮＤによって、２つの基本形状の共通部分が生成される。また、基本形状１と基本形状２のＯＲによって、２つの基本形状の加算（あるいは、付加）形状が生成される。また、基本形状１から基本形状２のＳＵＢＴＲＡＣＴによって、基本形状１から基本形状２を除外した形状が生成される。ただし、論理演算が指定されていない場合、デフォルトの演算としてＯＲ（加算、あるいは付加に相当）が実行される。
【００２５】
生成された３次元形状はウィンドウシステム１１を通じてＣＲＴ７に表示される。
＜３次元形状の生成過程＞
図３に本ＣＡＤシステムによる３次元形状の生成過程の一例を示す。このＣＡＤシステムでは、図３に示したような基本形状を順次組み合わせること（所定の組み合わせ順に基本形状間の論理演算をすること）で３次元形状を生成する。
【００２６】
図３では、最初に２次元図形スイープ形状２０（以下スイープ２０と略す）が生成されている。スイープ２０は、２次元図形Ａ（図３では矩形で示されている）を奥行きＷ１だけ移動したときの軌跡に相当する形状である。
【００２７】
次に、円形断面のスイープ穴２１がスイープ２０に付加される。スイープ穴２１は、半径Ｒの円を奥行きＷ２だけ移動したときの軌跡に相当する穴形状である。
【００２８】
次に、矩形断面のスイープ穴２２がスイープ２０に付加される。スイープ穴２２は、矩形Ｂを奥行きＷ３だけ移動したときの軌跡に相当する穴形状である。
次にスイープ２０がシートＳでシートカットされ、シートＳの左側部分２４が切り取られ、シートＳの右側部分２３が残される。このシートＳの右側部分２３が最終的に形成された３次元形状である。
【００２９】
図４に、図３の手順によって作成される３次元形状を表現するデータ構造を示す。このデータ構造は、所定の構造体の要素（要素情報に相当）をポインタ（順序指示情報に相当）で結んで構成される（このデータ構造をリスト構造という）。
【００３０】
このリスト構造は、先頭要素３０から開始する。先頭要素３０は、３次元形状の名称と次の要素へのポインタとを有している。３次元形状の名称とは、この先頭要素３０によって指されるリスト構造全体が表現する３次元形状の名称である。
【００３１】
また、先頭要素３０内の次の要素へのポインタによって、基本形状要素３１が指される。基本形状要素３１には、１つの基本形状を表現するデータが格納される。この基本形状要素３１は、次の要素へのポインタ、名称、種類、２次元図形、奥行き、適用方法、及びコメントの各フィールドを備えている。
【００３２】
次の要素へのポインタにより、次の基本形状要素３１が指される。このポインタがNULLの場合、その基本形状要素３１がリスト構造の末尾となる。
基本形状要素３１内の名称とは、その基本形状の名称である。この名称は、ユーザによって付与される。
【００３３】
基本形状要素３１内の種類とは、その基本形状の種類である。基本形状の種類は、例えば、２次元図形スイープ形状（スイープと略す）、スイープ穴、シートカット等である（図１７、図１８参照）。
【００３４】
基本形状要素３１内の２次元図形とは、３次元形状を構成するための基本となる２次元図形である。例えば、２次元スイープ形状やスイープ穴においては、この２次元図形が断面の形状となる。
【００３５】
また、シートカットにおいては、２次元形状は、カットする位置を示す座標である。ただし、その座標は、３次元の座標ではなく、３次元形状の断面内における２次元座標である。
【００３６】
基本形状要素３１内の奥行きは、スイープ時の移動量を示す。この奥行きは、２次元図形スイープ形状、スイープ穴等のスイープ図形に対して付与される。
基本形状要素３１内のコメントは、ユーザが任意に付与する文字列である。
【００３７】
図５に本ＣＡＤシステムによる３次元形状の生成過程の第２例を示す。図５の左側の列では、最初の基本形状（スイープ３５）にスイープ３６が付加されて途中形状３５ａが生成されている。さらに途中形状３５ａにスイープ穴３７が付加されて、最終３次元形状３５ｂが生成されている。
【００３８】
一方、図５の右側の列では、最初の基本形状（スイープ３５）にスイープ穴３７が付加されて途中形状３５ｃが生成されている。さらに、途中形状３５ｃにスイープ３６が付加されて最終３次元形状３５ｄが生成されている。
【００３９】
このように、基本形状を組み合わせる順序に依存して最終的に生成される３次元形状が異なる。また、すでに図３で示したように最終的に得られた形状には、使用されたすべての基本形状が顕在化しない場合がある。
【００４０】
本実施の形態ＣＡＤシステムでは、最終的な３次元形状に顕在化しない基本形状を含めて、その３次元形状を構成するために組み合わせられている基本形状をユーザに把握させながら、各基本形状間の組合わせ順序の変更、各基本形状の削除、複写、形状変更、属性変更等を可能にする。
＜操作画面＞
図６に、本ＣＡＤシステムのＣＲＴ７に表示される操作画面を示す。ユーザが変更したい３次元形状の名称（図４の先頭要素３０に保持される名称）を指定すると、図６の操作画面（３次元形状変更ウィンドウ）には、その３次元形状を構成するまでの途中形状が表示される。この途中形状は、その３次元形状を構成する基本形状の組み合わせ順序に従って表示される（途中形状を操作画面に表示するステップに相当）。
【００４１】
図６では、最初の基本形状であるスイープ２０、スイープ２０に対してスイープ穴２１を付加した途中形状２０ａ、途中形状２０ａにスイープ穴２２を付加した途中形状２０ｂ、及び途中形状２０ｂをシートカットした最終３次元形状２３が表示されている。
【００４２】
指定された３次元形状を構成する基本形状の数が多く、図６の画面によってはすべての途中形状が表示できない場合もある。このような場合には、図６のスクロールバー４２または上下方向のスクロールボタン４３、４４により画面をスクロールすればよい。ユーザは、マウスポインタ４０により、このような途中形状のいずれかを矩形カーソル４１で囲むことで選択できる。
【００４３】
図６では、この選択により、途中形状２０ａが選択される（選択ステップに相当）。本ＣＡＤシステムでは、この途中形状の選択により、その途中形状を構成するために最後に組み合わせられた基本形状（図６ではスイープ穴２１）が特定される（最後に組み合わせた基本形状を編集の対象とするステップに相当）。この基本形状が、順序変更、削除、複写、形状変更、属性変更等の対象になる。
【００４４】
従って、例えば、最終的に生成された３次元形状２３には表れないスイープ穴２１に対して変更を加えたい場合、本操作画面に途中形状を表示しておいて、対応する途中形状２０ａを選択することで、スイープ穴２１を特定する。
【００４５】
図７に基本形状の順序変更における操作例を示す。
ユーザは、まず、マウスポインタ４０により、編集メニューから順序変更を選択する。
【００４６】
次に、ユーザは、マウスポインタ４０を操作して、矩形カーソル４１ａにより途中形状３５ｂを選択する（この例では、途中形状３５ｂは、最終３次元形状でもある）。その結果、この途中形状３５ｂを生成するために最後に組み合わせられた基本形状（スイープ穴３７）が特定される。図７のように本ＣＡＤシステムでは、特定された基本形状（図７ではスイープ穴３７）の輪郭は太線で強調して表示される。
【００４７】
次に、ユーザは、特定した基本形状の移動先を指定する。この指定は、マウスポインタ４０を操作して、矩形カーソル４１ｂにより移動先の途中形状（スイープ３５）を選択することで行う。この場合、途中形状に最後に組み合わせられた図形は、スイープ３５そのものである。
【００４８】
以上の操作により、基本形状（スイープ穴３７）は、途中形状３５ａに代わって、最初の基本形状（スイープ３５）に組み合わせられる。この結果、図５の左側の列に示された３次元形状３５ｂは、右側の列に示された３次元形状３５ｄのようになる。
【００４９】
以下、図８から図１５の図面に従って、図２に示した３次元ＣＡＤプログラム１０の処理を説明する。ＣＰＵ３は、この３次元ＣＡＤプログラム１０を実行することにより、上述の機能を提供する。
＜３次元形状変更処理の概要＞
図８に、３次元ＣＡＤプログラム１０の３次元図形変更処理（立体編集に相当）の全体を示す。ＣＰＵ３は、図７に示した編集メニューが選択されると、図８の処理を実行する。
【００５０】
まず、ＣＰＵ３は、順序変更か否かを判定する（ステップＳ１、以下Ｓ１と略す）。順序変更であった場合（Ｓ１の判定でＹの場合）、ＣＰＵ３は組み合わせ順序変更処理を実行する（Ｓ２）。
【００５１】
順序変更でなかった場合（Ｓ１の判定でＮの場合）、ＣＰＵ３は、削除か否かを判定する（Ｓ３）。削除であった場合（Ｓ３の判定でＹの場合）、ＣＰＵ３は基本図形削除処理を実行する（Ｓ４）。
【００５２】
削除でなかった場合（Ｓ３の判定でＮの場合）、ＣＰＵ３は、表示／非表示か否かを判定する（Ｓ５）。表示／非表示であった場合（Ｓ５の判定でＹの場合）、ＣＰＵ３は表示／非表示切替処理を実行する（Ｓ６）。
【００５３】
表示／非表示でなかった場合（Ｓ５の判定でＮの場合）、ＣＰＵ３は、複写か否かを判定する（Ｓ７）。複写であった場合（Ｓ７の判定でＹの場合）、ＣＰＵ３は基本形状複写処理を実行する（Ｓ８）。
【００５４】
複写でなかった場合（Ｓ７の判定でＮの場合）、ＣＰＵ３は、形状変更か否かを判定する（Ｓ９）。形状変更であった場合（Ｓ９の判定でＹの場合）、ＣＰＵ３は形状変更処理を実行する（Ｓ１０）。
【００５５】
形状変更でなかった場合（Ｓ９の判定でＮの場合）、ＣＰＵ３は、属性変更か否かを判定する（Ｓ１１）。属性変更であった場合（Ｓ１１の判定でＹの場合）、ＣＰＵ３は属性変更処理を実行する（Ｓ１２）。
【００５６】
属性変更でなかった場合（Ｓ１１の判定でＮの場合）、本ＣＡＤシステムにおいては、ＣＰＵ３は、なにも実行せずに、３次元形状変更処理を終了する。
また、以上の組み合わせ順序変更処理、基本形状削除処理、表示／非表示切替処理、基本形状複写処理、形状変更処理、属性変更処理の後、ＣＰＵ３は、最終形状表示処理を実行する（Ｓ１３）。この結果最終的に形成された３次元形状がＣＲＴ７に表示される。その後、ＣＰＵ３は３次元形状変更処理を終了する。
＜組み合わせ順序変更処理＞
図９のフローチャートに組み合わせ順序変更処理を示す。組み合わせ順序変更処理とは、図７に例示したように、３次元形状を構成する基本形状の組み合わせ順序を変更する処理をいう。
【００５７】
まず、ＣＰＵ３は、変更対象指定処理を実行する（Ｓ２１）。変更対象指定処理では、ＣＰＵ３は、３次元形状を構成する基本形状を順次組み合わせて、途中形状を複数個表示する。この場合、組み合わせ順序変更処理から起動された変更対象指定処理においては、ＣＰＵ３は、表示された途中形状の中から２つをユーザに選択させる。
【００５８】
第１は、組み合わせ順序を変更する基本形状を特定するためである。すなわち、第１番目に選択された途中形状を生成するために最後に組み合わせられた基本形状が変更対象の基本形状として特定される。
【００５９】
第２は、上記で特定された基本形状の移動先を特定させるためである。すなわち、第２番目に選択された途中形状が移動先となる。
次に、ＣＰＵ３は、上記基本形状を上記移動先に移動する（Ｓ２２、順序変更ステップに相当）。この処理によって、図４に示したリスト構造において、変更対象の基本形状要素３１のリスト構造上の位置が移動する。この移動では、基本形状要素３１が有する次の要素へのポインタが変更される（基本形状要素のメモリ３上のアドレスは変更されない）。つまり、変更対象の基本形状要素３１は、移動先の基本形状要素３１の有する次の要素へのポインタにより指される。また、変更対象の基本形状要素３１の有する次の要素へのポインタは、移動後の次の基本形状要素３１を指す。これにより、基本形状要素３１の組み合わせ順序（リスト構造上の順序）が変更される。
【００６０】
その後、ＣＰＵ３は、組み合わせ順序変更処理を終了する。
＜基本形状削除処理＞
図１０のフローチャートに従い、基本形状削除処理を説明する。基本形状削除処理とは、３次元形状を構成する基本形状の一つを削除する処理をいう。
【００６１】
まず、ＣＰＵ３は、変更対象指定処理を実行する（Ｓ４１）。これによって、ＣＰＵ３は削除する基本形状をユーザに特定させる。
次に、ＣＰＵ３は、特定された基本形状を削除する（Ｓ４２）。この処理によって、図４に示したリスト構造から対応する要素が削除される。この場合、削除される基本形状に対応する基本形状要素３１がリスト構造から削除される。また、リスト構造上において、削除された基本形状要素３１の前に位置する基本形状要素３１が有する次の要素へのポインタは、削除された基本形状要素３１の後に位置する基本形状要素３１を指す。
【００６２】
その後、ＣＰＵ３は、基本形状削除処理を終了する。
＜表示／非表示切替処理＞
図１１のフローチャートに従い、表示／非表示切替処理を説明する。表示／非表示切替処理とは、３次元形状を構成する基本形状の一つに対して、図４に示したリスト構造上は存在するが、最終的な３次元形状の表示において無視させる設定をいう。この設定は、メモリ２に一時的に保持され、３次元形状を表現するリスト構造には保持されない。
【００６３】
まず、ＣＰＵ３は、変更対象指定処理を実行する（Ｓ６１）。これによって、表示／非表示を切り替える基本形状をユーザに特定させる。
次に、ＣＰＵ３は、特定された基本形状の表示／非表示状態を切り替える（Ｓ６２）。この処理によって、表示状態であった基本形状は非表示状態になる。一方、特定された基本形状が非表示状態であった場合には、表示状態になる。その後、ＣＰＵ３は、基本形状削除処理を終了する。
＜基本形状複写処理＞
図１２のフローチャートに基本形状複写処理を示す。基本形状複写処理とは、３次元形状を構成する基本形状の一つを複製し、その複製をその３次元形状に至るいずれかの途中形状に付加する処理をいう。
【００６４】
まず、ＣＰＵ３は、変更対象指定処理を実行する（Ｓ８１）。基本形状複写処理では、ＣＰＵ３は、組み合わせ順序変更処理の場合と同様、表示された途中形状の中から２つを選択させる。
【００６５】
第１は、複写する基本形状を特定するためである。すなわち、第１番目に特定された途中形状を生成するために最後に組み合わせられた基本形状が複写対象の基本形状として特定される。
【００６６】
第２は、上記で特定された基本形状の複写先を特定させるためである。すなわち、第２番目に特定された途中形状が複写先となる。
次に、ＣＰＵ３は、上記基本形状を上記複写先に複写する（Ｓ８２）。この処理によって、図４に示したリスト構造において対応する要素が指定の途中形状に対応する位置に複写される。この場合、リスト構造上で新たに基本形状要素３１が生成され、複写先に対応する基本形状要素３１の後に加えられる。
【００６７】
その後、ＣＰＵ３は、基本形状複写処理を終了する。
＜形状変更処理＞
図１３のフローチャートに従い、形状変更処理を説明する。形状変更処理とは、３次元形状を構成する基本形状の一つに対して、その形状を変更する処理をいう。
【００６８】
まず、ＣＰＵ３は、変更対象指定処理を実行する（Ｓ１０１）。これによって、ＣＰＵ３は、変更する基本形状をユーザに特定させる。
次に、ＣＰＵ３は、ユーザのマウス６による操作またはキーボード５からの入力に従い、特定された基本形状を構成する要素、例えば、断面形状、寸法等を変更する（Ｓ１０２）。この処理によって、図４に示したリスト構造において、対応する要素の２次元形状または奥行き等が変更される。その後、ＣＰＵ３は、形状変更処理を終了する。
＜属性変更処理＞
図１４のフローチャートに従い、属性変更処理を説明する。属性変更処理とは、３次元形状を構成する基本形状の一つに対して、その属性、例えば、名称、種類、適用方法（演算）、コメント等を変更する処理をいう。
【００６９】
まず、ＣＰＵ３は、変更対象指定処理を実行する（Ｓ１２１）。これによって、ＣＰＵ３は、変更する基本形状をユーザに特定させる。
次に、ＣＰＵ３は、ユーザのマウス６による操作またはキーボード５からの入力に従い、特定された基本形状の属性を変更する（Ｓ１２２）。この処理によって、図４に示したリスト構造において、対応する要素の名称、種類、適用方法（演算方法）、コメント等が変更される。その後、ＣＰＵ３は、属性変更処理を終了する。
＜変更対象指定処理＞
図１５のフローチャートに従い、変更対象指定処理を説明する。変更対象指定処理は、上述した組み合わせ順序変更処理、基本形状削除処理、表示／非表示切替処理、基本形状複写処理、形状変更処理、属性変更処理において、変更対象を指定するために共通モジュールとして実行される。
【００７０】
変更対象指定処理においては、開始途中形状と終了途中形状が指定される（これを表示範囲指定ともいう）。この指定では、フィーチャツリーに対して、どの範囲の途中形状を表示するかをマウス６でユーザに選択させる。図１６にフィーチャツリーによる範囲指定の例を示す。このフィーチャツリーでは、各基本形状は、組み合わせ順序を示す番号と名称によって示される。例えば、１直方体Ｓは、直方体Ｓという名称の基本形状が第１番目に組み合わせられることを示す。また、２丸穴Ｈ１により、丸穴Ｈ１という名称の基本形状が２番目に組み合わせられることを示す。
【００７１】
図１６ではマウスポインタ４０により、矩形カーソル４１ｃと４１ｄとが生成され、表示範囲が選択されている。選択された表示範囲は、各基本形状を表す枠と組み合わせ順序を示す矢印とを太線にすることによって示されている。
【００７２】
なお、開始途中形状と終了途中形状が指定されない場合、デフォルトとして最初の基本形状から最終３次元形状までのすべての途中形状が表示される。
本実施形態の変更対象指定処理においては、表示されている途中形状から複数個の途中形状を選択することができる。例えば、上述した組み合わせ順序変更処理においては、順序を変更される基本形状を特定するための第１の途中形状とその移動先を特定するための第２の途中形状とが選択された。また、基本形状削除処理では、削除対象の基本形状を特定するための途中形状が一つ選択された。
【００７３】
図１５に従い、以上の機能を提供する変更対象指定処理を説明する。変更対象指定処理では、まず、ＣＰＵ３は、最初に表示する基本形状を生成する（Ｓ２００）。ここでは、上述の表示範囲指定があった場合は、その最初の途中形状が表示される。
【００７４】
一方、表示範囲指定がない場合は、３次元形状を構成するすべての基本形状のうち、リスト構造（図４）の先頭の基本形状要素３１に対応する基本形状が表示される。
【００７５】
さらに、ＣＰＵ３は、次に組み合わせるべき基本形状を生成する（Ｓ２０１）。次に組み合わせる基本形状は、図４に示したリスト構造において次の基本形状要素３１をたどることで求まる。
【００７６】
次にＣＰＵ３は、Ｓ２０１で生成した基本形状をＳ２００で生成した基本形状（または途中形状）に組み合わせる（Ｓ２０２）。この組み合わせにおいて、図４に示した基本形状要素３１の有する適用方法に従い、論理演算（ＡＮＤ、ＯＲ、ＳＵＢＴＲＡＣＴ）が実行される。
【００７７】
次にＣＰＵ３は、基本形状を組み合わせた３次元形状（これが次の途中形状になる）を表示する（Ｓ２０３）。
次にＣＰＵ３は、次の途中形状を表示するか否かを判定する（Ｓ２０４）。すなわち、表示範囲の途中形状がすべて表示されたか否かを判定する。次に表示すべき途中形状が残っている場合（Ｓ２０４の判定でＹの場合）、Ｓ２００の処理に戻る。Ｓ２００の処理では、現在表示されている途中形状を次の途中形状として複製する。その後、上記と同様にＳ２０１以下の処理を実行する。
【００７８】
次に表示すべき途中形状がない場合（Ｓ２０４の判定でＮの場合）、ユーザに途中形状を選択させる（Ｓ２０５）。これは、マウス６によって、表示されている途中形状の中から特定の途中形状（または最終的な３次元形状）を選択させることによる。
【００７９】
次にＣＰＵ３は、次の途中形状を選択するか否かを判定する。例えば、１つの途中形状を選択する場合には、Ｓ２０６の判定はＮとなり、処理を終了する。一方、２つ以上の途中形状を選択する場合には、所定数の基本形状を選択するまで、Ｓ２０６の判定はＹとなる。その場合、所定回数だけ途中形状選択（Ｓ２０５）を繰り返した後、ＣＰＵ３は処理を終了する。
【００８０】
以上のように、本実施の形態に係るＣＡＤシステムでは、出発形状としての最初の基本形状から最終３次元形状に至るまでの途中形状を操作画面上に表示し、ユーザに表示された途中形状の１つを選択させ、その選択された途中形状に対して最後に組み合わせた基本形状を変更対象とする。このため、最終３次元形状にに顕在化していない基本形状、例えば、シートカットにより切り取られた部分に含まれている基本形状等をもユーザに把握させた上で、変更対象を特定させることができる。
【００８１】
また、上記のように、途中形状を表示した上で、変更対象の基本形状に対して、組み合わせ順序の変更、基本形状の削除、表示／非表示の切替、複写、形状変更、属性変更等の操作をユーザにさせるので、誤操作を誘発することも少ない。
【００８２】
また、本実施の形態に係るＣＡＤシステムは、変更対象指定処理において、フィーチャツリーを用いて表示範囲を指定させるので、不要な図形表示時間を削減する。その結果、ユーザは効率的に３次元形状データを変更操作できる。
＜基本形状特定方法の変形＞
上記実施の形態においては、ＣＰＵ３は、複数の途中形状を表示し、ユーザに途中形状を選択させ、その選択された途中形状において、最後に組み合わせられている基本形状を変更対象の基本形状として特定した。しかし、本発明の実施は、このような特定方法には限定されない。例えば、いずれかの途中形状において顕在化している基本形状を直接マウス６等によって選択させてもよい。
【００８３】
上記実施の形態における変更対象指定処理においては、指定された表示範囲にある途中形状のすべてを操作画面に表示した（例えば図６参照）。しかし、本発明の実施は、このような途中形状の表示方法には限定されない。例えば、途中形状を１つ表示し、これが選択されない場合、現在表示されている途中形状を一旦消去した後、次の途中形状を表示してもよい。
＜組み合わせ順序変更処理の変形＞
上記実施の形態においては、ＣＰＵ３は、２つの途中形状をユーザに選択させ、第１の途中形状から特定される基本形状の組み合わせ順序（組み合わせる対象）を第２の途中形状の最後に変更した。しかし、本発明の実施は、このような組み合わせ順序変更処理には限定されない。例えば、ユーザに上記と同様の選択をさせ、まず、第１の途中形状から特定される基本形状を組み合わせ順序変更の対象とする（これは上述と同様である）。そして、その組み合わせ順序（組み合わせる対象）を第２の途中形状の直前としてもよい。その結果、第１の途中形状から特定される基本形状が、第２の途中形状の一つ前の途中形状の最後に組み合わせられる結果となる。
＜コンピュータ読み取り可能な記録媒体＞
上記実施の形態において、プログラムを記録するコンピュータ読み取り可能な記録媒体としてハードディスク６が使用された。しかし、本発明の実施は、この記録媒体の種類には限定されない。
【００８４】
ここで、コンピュータ読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータから読み取ることができる記録媒体をいう。このような記録媒体の内コンピュータから取り外し可能なものとしては、例えばフロッピーディスク、光磁気ディスク、CD-ROM、CD-R/W、DVD、DAT、８mmテープ、メモリカード等がある。
【００８５】
また、コンピュータに固定された記録媒体としては、上記で説明したハードディスクの他、ＲＯＭ（リードオンリーメモリ）等がある。
＜搬送波に具現化されたデータ通信信号＞
また、上記実施の形態で述べた３次元ＣＡＤプログラム及び３次元形状演算部を、コンピュータのハードディスクやメモリに格納し、通信媒体を通じて他のコンピュータに配布することができる。この場合、プログラムは、搬送波によって具現化されたデータ通信信号として、通信媒体を伝送される。そして、その配布を受けたコンピュータを本実施形態で説明したＣＡＤシステムとして機能させることができる。
【００８６】
ここで通信媒体としては、有線通信媒体（光通信ケーブル、同軸ケーブル及びツイストペアケーブルを含む金属ケーブル等）、無線通信媒体（衛星通信、地上波無線通信等）とがある。
【００８７】
また、搬送波は、データ通信信号を変調するための電磁波であり、光及び直流信号も含まれる。従って、搬送波に具現化されたデータ通信信号には、変調されたブロードバンド波形と変調されていないベースバンド波形とがある。すなわち、電圧０の直流信号を搬送波とする場合、データ通信信号は、ベースバンドの波形である。
＜その他の変形例＞
上記実施の形態においては、操作部としてキーボード５及びマウス６を使用した。しかし、本発明の実施は、これらの構成には、限定されない。例えば、タッチパネル、ジョイスティックあるいは、トラックボール等を操作部として使用してもよい。
【００８８】
また、上記実施の形態においては、操作画面を表示するためＣＲＴ７を使用した。しかし、本発明の実施において、表示装置はＣＲＴ７には限定されない。例えば、液晶ディスプレイを使用してもよい。
【００８９】
また、本発明の実施において、操作画面に表示されるカーソルは矩形カーソルに限定されない。例えば、カーソルとして、矢印やクロスカーソルも使用できる。
【００９０】
【発明の効果】
以上説明したように、本発明によれば、基本形状を順次組み合わせて最終３次元形状を形成する３次元ＣＡＤシステムにおいて、最終３次元形状に至るまでの途中形状を表示し、その途中形状１つを選択させることで編集対象の基本形状を特定する。従って、本発明は、最終的に得られた３次元形状において顕在化されない基本形状をもユーザに把握させ、特定させることができる。
【００９１】
また、本発明は、３次元ＣＡＤシステムにおいて、ユーザに実際の形状を把握させた上で、３次元形状を構成する基本形状の組み合わせ順序の変更、基本形状の削除、複写、形状の変更、属性の変更等をさせることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態に係るＣＡＤシステムのハードウェア構成図
【図２】本発明の実施の形態に係るＣＡＤシステムのプログラムの構成図
【図３】基本形状の組み合わせによる３次元形状の形成例１
【図４】３次元形状を表現するデータ構造を示す図
【図５】基本形状の組み合わせによる３次元形状の形成例２
【図６】操作画面例１
【図７】操作画面例２
【図８】３次元形状変更処理を示すフローチャート
【図９】組み合わせ順序変更処理を示すフローチャート
【図１０】基本形状削除処理を示すフローチャート
【図１１】表示／非表示切替処理を示すフローチャート
【図１２】基本形状複写処理を示すフローチャート
【図１３】形状変更処理を示すフローチャート
【図１４】属性変更処理を示すフローチャート
【図１５】変更対象指定処理を示すフローチャート
【図１６】フィーチャツリーによる表示範囲指定の例
【図１７】基本形状の例１
【図１８】基本形状の例２
【符号の説明】
２    メモリ
３    ＣＰＵ
４    ハードディスク
５    キーボード
６    マウス
７    ＣＲＴ
１０    ３次元ＣＡＤプログラム
１１    ウィンドウシステム
１２    ３次元形状演算部
１３    ３次元形状データ
【図１】
0003860427.tif 000002
【図２】
0003860427.tif 000003
【図３】
0003860427.tif 000004
【図４】
0003860427.tif 000005
【図５】
0003860427.tif 000006
【図６】
0003860427.tif 000007
【図７】
0003860427.tif 000008
【図８】
0003860427.tif 000009
【図９】
0003860427.tif 000010
【図１０】
0003860427.tif 000011
【図１１】
0003860427.tif 000012
【図１２】
0003860427.tif 000013
【図１３】
0003860427.tif 000014
【図１４】
0003860427.tif 000015
【図１５】
0003860427.tif 000016
【図１６】
0003860427.tif 000017
【図１７】
0003860427.tif 000018
【図１８】
0003860427.tif 000019