(57)【特許請求の範囲】
【請求項１】
形状変形処理を逆処理可能な基本処理列に分解して処理履歴情報として記録することを可能とした情報処理装置の３次元形状処理方法において、
前記処理履歴情報に形状再生位置を意味する印をつけ、
前記印を複数箇所に付与可能な構成にし、
実行された基本処理列の処理履歴情報を前記印が付与された位置から取得し、取得した基本処理列の逆処理を実行することにより、その位置以降に実行された変形を取り消すことを特徴とする３次元形状処理方法。
【請求項２】
請求項１記載の３次元形状処理方法において、前記印に識別子を付与し、その識別子を用いて形状再生位置を決定することを特徴とする３次元形状処理方法。
【請求項３】
請求項２記載の３次元形状処理方法において、実行された基本処理列の処理履歴情報を指定された識別子の印が付与された位置から現在の位置まで取得し、その基本処理列の逆処理を実行することにより、前記印が付与された位置以降に実行された変形を取り消すことを特徴とする３次元形状処理方法。
【請求項４】
請求項１乃至請求項３のいずれか１項に記載の３次元形状処理方法において、当該形状処理を実行する前にあらかじめ処理履歴情報中の当該形状処理開始位置に印を付与しておき、そのあと、前記当該形状処理を実行し、その形状処理が正しく終了しなかった場合には、前記処理履歴情報中の印を付与した位置まで逆処理を行って印を付与した位置の形状を再生するとともに、逆処理を行った基本処理列の処理履歴情報を除去することを特徴とする３次元形状処理方法。
【請求項５】
請求項４記載の３次元形状処理方法において、逆処理を行った基本処理列の処理履歴情報を除去した後、別の処理を続けて実行することを特徴とする３次元形状処理方法。
【請求項６】
請求項１乃至請求項５のいずれか１項に記載の３次元情報処理方法を情報処理装置に実行させることを特徴とするプログラム。
【請求項７】
請求項６に記載のプログラムを記憶したことを特徴とする記憶媒体。
【請求項８】
形状変形処理を逆処理可能な基本処理列に分解して処理履歴情報として記録することができる３次元形状処理装置において、前記処理履歴情報に形状再生位置を意味する印をつける手段と、
前記印を複数箇所に付与可能な手段と、
実行された基本処理列の処理履歴情報を前記印が付与された位置から取得し、取得した基本処理列の逆処理を実行することにより、その位置以降に実行された変形を取り消す手段と、を備えたことを特徴とする３次元形状処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、専用の３次元形状処理装置やパーソナルコンピュータなど情報処理装置を用いた３次元形状処理システムに実施される、３次元形状を変形できる３次元形状処理方法及び３次元形状処理システムに関し、特に、３次元形状の処理履歴情報を利用した３次元形状変形処理方法及び３次元形状処理システムに関するものである。
【０００２】
【従来の技術】
グラフィクス表示装置とコンピュータとを用いたＣＡＤ／ＣＡＭシステムなど３次元形状処理システムでは、従来より、３次元形状を生成したり、生成されている３次元形状を変形させたりする３次元形状処理が行われている。なお、３次元形状（３次元立体）とは、例えば境界表現形式のソリッドモデルデータとして生成された形状を指し、その境界表現形式のソリッドモデルとは、稜線や頂点や面というような要素により３次元空間上に閉じた領域を定義し、中身の詰まった立体を表現したものである。
本発明は、このような３次元形状処理システムにおいて、生成されている３次元形状を変形させる際、実行した３次元形状変形処理の内容を処理履歴情報として記憶しておき、記憶した内容の形状変形処理を再び行う際、処理履歴情報を用いることにより利用者の行う操作を簡単にしようとするものである。類似の従来技術としては、例えば、特開平３−７８０９０号公報や特開平８−８３３５６号公報に示された形状変形処理がある。
このうち、特開平３−７８０９０号公報に示された従来技術では、実行した形状変更操作コマンド（形状変更処理コマンド）と共にそのパラメータ（引数）を記憶しておき、記憶されている形状変更処理とは寸法の異なる形状変更処理を行う際、記憶されている形状変更操作コマンド中の最初のコマンドを実行する直前の形状を再生した後に、前記形状変更操作コマンドの寸法に対応するパラメータを変更し、変更したコマンドを実行することにより同じ処理対象の同じ部分の形状変更を行う。また、特開平８−８３３５６号公報に示された形状変形処理においても、同じ処理対象の同じ部分の形状変形処理を再実行させて変形処理を行うことができる。
また、特許第２９０５２２５号に示された３次元形状の設計履歴管理方式でも、同様に、操作履歴（処理履歴）に記憶した形状変形処理と処理パラメータを利用して、その処理パラメータの値を変えてから、その形状変形処理を再び実行できるようにして、現在の３次元形状と寸法だけが異なる類似形状を容易に生成することができるようにしている。
【０００３】
【発明が解決しようとする課題】
例えば、２つの形状の和・差・積（共通部分）をとる集合演算処理、フィレット形状（角に丸みをつけた形状）を生成するフィレット生成処理、形状のシェル化（薄肉化）を行うくりぬき処理など、処理手順が複雑な処理を行う際、複雑な形状を処理対象とする場合には、一時的な形状処理を行ってからある判断を行い、その判断が正しいと判断されたならばそのまま形状処理を行うが、判断が正しくない場合には一時的に行った形状処理を元に戻してから別の処理手順を行うことにより形状変形処理を実行したい場合がある。
しかしながら、前記した従来技術においては、形状変形処理ごとのＵＮＤＯ操作（元に戻す処理）およびＲＥＤＯ操作（再実行処理）しか認められていない環境においては、形状変形処理の処理途中で試行錯誤的な形状処理を行うことができないので、集合演算処理、フィレット生成処理、及びくりぬき処理などの形状変形処理全体がエラーになることがあった。
本発明の目的は、このような従来技術の問題を解決することにあり、具体的には、やり直しの可能性のある変形処理などを実行する際、処理履歴情報中のその時の位置に印をつけておいてからその処理を実行し、その処理が正しく終了しなかった場合には、逆処理を実行して印をつけた時点の形状を再生することにより、別の処理を続けて実行することができる３次元形状処理方法及び３次元形状処理システムを提供することにある。
【０００４】
【課題を解決するための手段】
前記の課題を解決するために、請求項１記載の発明では、形状変形処理を逆処理可能な基本処理列に分解して処理履歴情報として記録することを可能とした情報処理装置の３次元形状処理方法において、前記処理履歴情報に形状再生位置を意味する印をつけ、前記印を複数箇所に付与可能な構成にし、実行された基本処理列の処理履歴情報を前記印が付与された位置から取得し、取得した基本処理列の逆処理を実行することにより、その位置以降に実行された変形を取り消すことを特徴とする。
また、請求項２記載の発明では、請求項１記載の発明において、印に識別子を付与し、その識別子を用いて形状再生位置を決定する構成にしたことを特徴とする。
また、請求項３記載の発明では、請求項２記載の３次元形状処理方法において、実行された基本処理列の処理履歴情報を指定された識別子の印が付与された位置から現在の位置まで取得し、その基本処理列の逆処理を実行することにより、前記印が付与された位置以降に実行された変形を取り消すことを特徴とする。
また、請求項４記載の発明では、請求項１乃至請求項３のいずれか１項に記載の３次元形状処理方法において、当該形状処理を実行する前にあらかじめ処理履歴情報中の当該形状処理開始位置に印を付与しておき、そのあと、前記当該形状処理を実行し、その形状処理が正しく終了しなかった場合には、前記処理履歴情報中の印を付与した位置まで逆処理を行って印を付与した位置の形状を再生するとともに、逆処理を行った基本処理列の処理履歴情報を除去することを特徴とする。
また、請求項５記載の発明では、請求項４記載の発明において、逆処理を行った基本処理列の処理履歴情報を除去した後、別の処理を続けて実行する構成にしたことを特徴とする。
また、請求項６記載の発明では、  請求項１乃至請求項５のいずれか１項に記載の３次元情報処理方法を情報処理装置に実行させることを特徴とする。
また、請求項７記載の発明では、プログラムを記憶した記憶媒体において、請求項６に記載のプログラムを記憶したことを特徴とする。
また、請求項８記載の発明では、形状変形処理を逆処理可能な基本処理列に分解して処理履歴情報として記録することができる３次元形状処理装置において、前記処理履歴情報に形状再生位置を意味する印をつける手段と、前記印を複数箇所に付与可能な手段と、実行された基本処理列の処理履歴情報を前記印が付与された位置から取得し、取得した基本処理列の逆処理を実行することにより、その位置以降に実行された変形を取り消す手段と、を備えたことを特徴とする。
【０００５】
【発明の実施の形態】
以下、図面により本発明の実施の形態を詳細に説明する。
図１は本発明の一実施例を示す３次元形状処理システムのシステム構成図である。図示したように、この実施例の３次元形状処理システムは、予めプログラミングされた形状変形処理プログラムに従って基本処理を実行する基本処理実行部１、基本処理の実行により生成または変形された３次元形状データを記憶する形状データ格納部２、基本処理実行部１により実行された基本処理の処理履歴情報を記憶する履歴格納部３、実行する基本処理の内容および処理履歴情報の内容を解析し、その解析結果によっては処理履歴情報から得た逆処理データを基本処理データとして基本処理実行部１に与えたりする履歴解析部４、前記形状変形処理プログラム６を含む形状処理支援部５などを備える。なお、基本処理とは、後述する処理Ａ、処理Ｂなど処理ブロックを構成している基本的な処理単位であり、ｐｒＭｅｖｖｌという基本処理を例に説明すると、１本の稜線と２個の頂点と１つのループを生成するというような処理である。
また、前記処理ブロックとは、例えば一つの面を生成するような処理であり、そのような処理ブロックが複数集まった処理が例えば「くりぬき処理」というような処理である。また、前記基本処理実行部１、履歴解析部４、および形状処理支援部５はメモリに記憶されたプログラムとそのプログラムに従って動作するＣＰＵなどにより実現され、形状データ格納部２および履歴格納部３は例えばハードディスク装置により実現される。
図２に、一つの基本処理データの構成を示す。図示したように、基本処理データは基本処理ＩＤ（識別符号）１０と基本処理パラメータ１１から成っている。基本処理パラメータ１１は基本処理を実行するために指定した値で、前記ｐｒＭｅｖｖｌの例で言えば１本の稜線の端点を表す２つの座標値である。基本処理実行部１は基本処理列の実行時にこのような基本処理データの列を履歴格納部３に記録（記憶）するのである。ただし、実行された基本処理が履歴解析部４から得られた基本処理であった場合は基本処理データを記録しない。
このような構成で、この実施例では、一つの処理ブロックを実行後、その処理結果が正しくないならば、その処理を行う前の形状に戻す。
【０００６】
以下、この実施例を詳細に説明する。
この実施例では、ある形状変形処理、例えばくりぬき処理のような形状変形処理の処理手順が処理Ａ、処理Ｂ、処理Ｃ、処理Ｄの４つのブロックで構成されている場合に、その４つの処理ブロックの関係が以下の条件を満たし、且つ、各処理ブロックは１個以上の基本処理を実行することにより形状を変形するものとす
１番目の処理手順は処理Ａである。
２番目の処理手順は処理Ｂである。
処理Ｂの結果が正しい場合の３番目の処理手順は処理Ｃである。
処理Ｂの結果が正しくない場合は、処理Ａ直後に戻り、処理Ｄを実行する。
以上の関係を図示したのが、図３である。
図４に、この実施例の印付与時の動作フローを示す。以下、図３および図４などにより、この動作フローを説明する。
まず、処理Ａの実行後、形状変形処理プログラム６に従って、形状処理支援部５は、処理履歴情報中の処理Ａの処理履歴情報の直後の位置に対応づけて印を意味する識別子を付与し（Ｓ１）、この識別子を形状変形処理プログラム６に返す。こうして、形状変形処理プログラム６は取得した識別子を記憶しておく。
一方、基本処理実行部１は印としてパラメータに識別子を書き込んだ基本データを基本データ列の最後に付加した処理Ａの基本処理データ列を処理履歴情報として履歴格納部３に記録する（Ｓ２）。
次に、形状変形処理プログラム６に従って、基本処理実行部１は処理Ｂの基本処理列を実行する。そして、処理Ｂの基本処理データ列を処理履歴情報として履歴格納部３に記録する（Ｓ３）。
【０００７】
こうして、処理Ｃに移るとき、形状変形処理プログラム６は、処理Ｂの結果の形状を所定の評価基準に従って評価し、その評価結果に従って処理Ｃを引き続き実行してよいか否かを判断する（Ｓ４）。そして、処理続行可能であると判断した場合は（Ｓ４でＹｅｓ）、同様にして処理Ｃを実行させる（Ｓ５）。それに対して、処理Ｃの続行が不可能であると判断した場合は（Ｓ４でＮｏ）、メモリ内の所定領域に記憶しておいた、処理Ａの直後の印の識別子を取得し、その識別子を形状処理支援部５に渡す（Ｓ６）。
これにより、形状処理支援部５は履歴格納部３に記憶されている処理履歴情報中からその識別子が付加されている箇所以後の基本処理データ列を取得し、その基本処理の逆処理を記憶されている順番と逆順に基本処理実行部１に実行させ、それにより処理Ａの直後の３次元形状に戻す（Ｓ７）。そして、その基本処理データ列を処理履歴情報中から削除する（Ｓ８）。なお、逆処理とは、生成に対しては削除する処理であり、前記したｐｒＭｅｖｖｌの逆処理ｐｒＫｅｖｖｌでは１本の稜線と２個の頂点と１つのループを削除する。
また、前記したように、処理Ａ、処理Ｂというように処理を複数実行した場合、複数手前の識別子の箇所まで戻ることもあるので、一般には、形状変形処理プログラム６が指定した印の識別子と処理履歴情報中から取り出した識別子が一致するまで、処理履歴情報中から取り出した基本処理データ列の逆処理を実行する。つまり、処理履歴情報として記録された基本処理データ列の基本処理の逆処理を基本処理列の順番と逆の順番で実行することにより、処理Ａ直後の３次元形状を再現するのである。
また、前記において、処理Ｃを実行した場合は、形状変形処理を完了する。それに対して、処理Ｃを実行しなかった場合は、ステップＳ８に続いて、処理Ａ直後の形状に対して処理Ｄを実行し（Ｓ９）、形状変形処理を完了する。
【０００８】
図５に、処理履歴情報中に複数の印を付けた場合の各処理ブロックの関係の例を示す。図５において、処理Ａの実行後と処理Ｂの実行後に処理履歴情報に付けた印をそれぞれ印ａ、印ｂとし、印ａ、印ｂに戻る条件を以下のとおりとする。処理Ｃの実行直後に処理Ｄを引き続き実行することができない場合に、印ｂの位置に戻る。
処理Ｅの実行直後に処理Ｆを引き続き実行できない場合に、印ａの位置に戻る。
以上より、この形状変形処理で実行可能な処理ブロックの組み合わせは、（Ａ，Ｂ，Ｃ，Ｄ）、（Ａ，Ｂ，Ｅ，Ｆ）、（Ａ，Ｇ）の３つとなる。処理履歴情報に付けられる印の数に制限がないので、この実施例の形状変形処理では図４に示したような複雑な処理手順により構成される形状変形処理を容易に支援することが可能なのである。形状変形処理では、後から戻ってくる可能性のある処理履歴情報中の箇所（ある処理ブロックの直後）に印を意味する基本処理ＩＤとパラメータとして識別子を持つ基本処理データを付加しておき、戻り先がわかった段階でその印を示す戻り先識別子を形状処理支援部５に渡すだけである。したがって、図１に示した形状処理システムにおいて、形状処理支援部５をその外側の部分と係わりなく実現することができる。
【０００９】
前記したように、処理履歴情報に印をつける処理を一つの基本処理データを付加する処理として実現する場合、基本処理データ中の基本処理パラメータ（図２参照）を識別子として設定すればよい。形状変形処理プログラム６により、戻り識別子が指定されたとき、形状処理支援部５がその識別子に対応する時点の形状を再現する動作フローを図６に示す。以下、図６に従って、この動作フローを説明する。
まず、処理履歴情報中の最後に記録されている一つの基本処理データを取得する（Ｓ１１）。そして、その基本処理ＩＤを印を示す基本処理データの基本処理ＩＤと比較し、一致しているか否かを調べる（Ｓ１２）。そして、２つの基本処理ＩＤが一致しない場合（Ｓ１２でＮｏ）、処理履歴情報中の最後に記録されている基本処理データ（取得した基本処理データ分）を削除し（Ｓ１４）、取得した基本処理の逆処理に当たる基本処理を実行する（Ｓ１５）。なお、この逆処理の基本処理に指定する基本処理パラメータは、ステップＳ１１で取得した基本処理データの基本処理パラメータである。
一方、２つの基本処理ＩＤと一致する場合は（Ｓ１２でＹｅｓ）、処理履歴情報中から取得した基本処理データは印を意味する基本処理データということになるので、その基本処理データの基本処理パラメータ中の識別子と指定された戻り先識別子とが一致するか否かを調べる（Ｓ１３）。そして、識別子が一致しない場合（Ｓ１３でＮｏ）、処理履歴情報中の最後に記録されている基本処理データを削除し（Ｓ１４）、取得した基本処理の逆処理に当たる基本処理を実行する（Ｓ１５）。
ステップＳ１５を実行した後はステップＳ１１に戻り、その時点における処理履歴情報の最後に記録されている一つの基本処理データについてステップＳ１１から繰り返す。
それに対して、識別子が一致した場合は（Ｓ１３でＹｅｓ）、処理履歴情報中の最後に記録されている基本処理データを削除し（Ｓ１６）、形状を再現する処理を終了する。
こうして、この実施例によれば、やり直しの可能性がある変形処理などを実行する際、処理履歴情報中のその時点の位置に印をつけておいてからその処理を実行し、その処理が正しく終了しなかった場合には、逆処理を実行して印をつけた時点の形状を再生し、別の処理を続けて実行することができる。
以上、本発明の一実施例について、説明したが、説明したような３次元形状処理方法に従ってプログラミングしたプログラムを着脱可能な記憶媒体に記憶し、その記憶媒体をこれまで本発明によった３次元形状処理を行えなかった情報処理装置に装着することにより、または、そのようなプログラムをネットワークを介してそのような情報処理装置へ転送することにより、その情報処理装置においても本発明によった３次元形状処理を行うことができる。
【００１０】
【発明の効果】
以上説明したように、本発明によれば、請求項１記載の発明では、形状変形処理を逆処理可能な基本処理列に分解して処理履歴情報として記録する際、処理履歴情報の途中に形状再生位置を意味する印をつけることができ、印を複数箇所に付与でき、実行された基本処理列の処理履歴情報を印のつけられた位置またはその一つの位置から取得し、取得した基本処理列の逆処理を実行することにより、その位置以降に実行された変形が取り消されるので、やり直しの可能性のある変形処理などを実行する際、処理履歴情報中のその時の位置に印をつけておいてからその処理を実行し、その処理が正しく終了しなかった場合には、逆処理を実行して印をつけた時点の形状を再生することにより、別の処理を続けて実行することが可能になる。また、やり直しの可能性のある複数の変形処理などを実行する際、処理履歴情報中の複数の位置に印をつけておいてからその処理を実行し、その処理が正しく終了しなかった場合には、その状況に応じて、複数の印をつけた時点のうちの所望の時点の形状を再生することができる。更に、上記の効果を容易に実現することができる。
【００１１】
また、請求項２記載の発明では、請求項１記載の発明において、印に識別子が付与され、その識別子を用いて形状再生位置が決定されるので、複数箇所に印がつけられても所望の印位置の形状の再生が可能になる。
また、請求項３記載の発明では、請求項２記載の発明において、実行された基本処理列の処理履歴情報を指定された識別子の印がつけられた位置から現在の位置まで取得し、その基本処理列の逆処理を実行することにより、印をつけた以降に実行された変形が取り消されるので、請求項２記載の効果を容易に実現することができる。
また、請求項４記載の発明では、請求項１乃至請求項３のいずれか１項に記載の発明において、当該形状処理を実行する前にあらかじめ処理履歴情報中の当該形状処理開始位置に印がつけられ、そのあと、当該形状処理が実行され、その形状処理が正しく終了しなかった場合には、処理履歴情報中の印をつけた位置まで逆処理を行って印をつけた位置の形状が再生されるとともに、逆処理を行った基本処理列の処理履歴情報が除去されるので、正しく終了しなかった場合、別の処理を続けて実行することが可能になる。
また、請求項５記載の発明では、請求項４記載の発明において、逆処理を行った基本処理列の処理履歴情報を除去した後、別の処理を続けて実行することができるので、作業効率が向上する。
また、請求項６記載の発明では、請求項１乃至請求項５のいずれか１項に記載の３次元形状処理方法に従ってプログラミングしたプログラムを情報処理装置上で実行させることができるので、情報処理装置を用いて請求項１乃至請求項５のいずれか１項に記載の発明の効果を得ることができる。
また、請求項７記載の発明では、請求項６記載のプログラムを着脱可能な記憶媒体に記憶することができるので、その記憶媒体をこれまで請求項１乃至請求項５のいずれか１項に記載の発明によった３次元形状処理を行えなかった情報処理装置に装着することにより、その情報処理装置においても請求項１乃至請求項５のいずれか１項に記載の発明の効果を得ることができる。
また、請求項８記載の発明では、請求項１と同様の作用効果を奏する。
【図面の簡単な説明】
【図１】本発明の一実施例を示す３次元形状処理システムのシステム構成図である。
【図２】本発明の一実施例を示す３次元形状処理システム要部のデータ構成図である。
【図３】本発明の一実施例を示す３次元形状処理方法の説明図である。
【図４】本発明の一実施例を示す３次元形状処理方法の動作フロー図である。
【図５】本発明の一実施例を示す３次元形状処理方法の他の説明図である。
【図６】本発明の一実施例を示す３次元形状処理方法の他の動作フロー図である。
【符号の説明】
１  基本処理実行部
２  形状データ格納部
３  履歴格納部
４  履歴解析部
５  形状処理支援部
６  形状変形処理プログラム
【図１】
0004027716.tif 000002
【図２】
0004027716.tif 000003
【図３】
0004027716.tif 000004
【図４】
0004027716.tif 000005
【図５】
0004027716.tif 000006
【図６】
0004027716.tif 000007