(57)【特許請求の範囲】
【請求項１】
コンピュータが、
対象モデルから非可展面及び該非可展面に隣接する隣接曲面を抽出する曲面抽出処理と、
前記非可展面の特徴に基づいて、前記非可展面の特徴と同じ特徴を持つプリミティブ形状を予め登録されている複数のプリミティブ形状の中から抽出するプリミティブ形状抽出処理と、
前記非可展面と抽出した前記プリミティブ形状とを置換する置換処理と、
置換後の前記プリミティブ形状が前記隣接曲面のそれぞれと接するように前記プリミティブ形状の制御量を調整する調整処理と
を実行する形状補正方法。
【請求項２】
対象モデルから非可展面及び該非可展面に隣接する隣接曲面を抽出する曲面抽出処理と、
前記非可展面の特徴に基づいて、前記非可展面の特徴と同じ特徴を持つプリミティブ形状を予め登録されている複数のプリミティブ形状の中から抽出するプリミティブ形状抽出処理と、
前記非可展面と抽出した前記プリミティブ形状とを置換する置換処理と、
置換後の前記プリミティブ形状が前記隣接曲面のそれぞれと接するように前記プリミティブ形状の制御量を調整する調整処理と
をコンピュータに実行させるための形状補正プログラム。
【請求項３】
対象モデルから非可展面及び該非可展面に隣接する隣接曲面を抽出する曲面抽出手段と、
前記非可展面の特徴に基づいて、前記非可展面の特徴と同じ特徴を持つプリミティブ形状を予め登録されている複数のプリミティブ形状の中から抽出するプリミティブ形状抽出手段と、
前記非可展面と抽出した前記プリミティブ形状とを置換する置換手段と、
置換後の前記プリミティブ形状が前記隣接曲面のそれぞれと接するように前記プリミティブ形状の制御量を調整する調整手段と
を具備する３次元形状処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータを用いて三次元形状モデルを表現する際に、三次元形状をより精確に表現するための形状補正方法及び形状補正プログラム並びに３次元形状処理装置に関するものである。
【背景技術】
【０００２】
従来、３次元形状モデルを取り扱うＣＡＤやＣＡＭ等の３次元形状処理装置に使用されるモデリング手法として、以下の２つのモデリング手法がよく知られている。
１つ目は、三次元形状を中身の詰まった立体として表現して取り扱うソリッドモデリングであり、プリミティブと呼ばれる制御量が予め決定されている種々の形状をコンピュータ内で保持し、その形状同士を組み合わせる操作を繰り返し行うことにより、複雑な形状を表現する。ここで、プリミティブとは、例えば、円柱、立方体、直方体、トーラス、球等であり、これらのプリミティブの集合演算によって形状表現を行う。
【０００３】
２つ目は、三次元形状を面データの集まりによって表現するサーフェスモデリングであり、ｂｅｚｉｅｒ、Ｂ−ｓｐｌｉｎｅ、有理ｂｅｚｉｅｒ、ＮＵＲＢＳ（Non-Uniform Rational B-spline）などのアルゴリズムを利用することにより、線や面を切る、繋げるといった操作を行い、この繰り返しにより複雑な自由曲線及び曲面を表現する。
【特許文献１】特開２００１−２５０１３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、上記ソリッドモデルの角部にフィレット面を作成する場合、フィレット面が複曲面（非可展面）になってしまうことがあるが、従来のＣＡＤ等では、複曲面を精確に表現することができないという問題があった。
例えば、ＮＵＲＢＳを用いてソリッドモデルを表現する場合、曲面は、制御点、ノットベクトル、ウェイト（Weight）等の制御量にて表される。このＮＵＲＢＳを用いて複曲面を表現する場合、本来ならば複曲面の場所ごとの特徴に応じて適切な制御量を設定することが必要となるが、従来は、どのような複曲面でもウェイトが一律に「１．０」に設定されてしまうため、適切な制御量の設定が行えず、複曲面を精確に表現できなかった。
更に、このようなモデリングデータを他の装置（例えば、ＣＡＭなど）に転送し、転送先にて３次元形状モデルを再生させると、再生された３次元形状モデルに誤差が顕著に現れてしまい、元の３次元形状モデルを再生できないという問題が生じていた。
【０００５】
本発明は、上記問題を解決するためになされたもので、非可展面を制御量が適切に設定されているプリミティブ形状に置き換えることにより、非可展面を精確に表現することのできる形状補正方法及び形状補正プログラム並びに３次元形状処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明は以下の手段を採用する。
本発明は、コンピュータが、対象モデルから非可展面及び該非可展面に隣接する隣接曲面を抽出する曲面抽出処理と、前記非可展面の特徴に基づいて、前記非可展面の特徴と同じ特徴を持つプリミティブ形状を予め登録されている複数のプリミティブ形状の中から抽出するプリミティブ形状抽出処理と、前記非可展面と抽出した前記プリミティブ形状とを置換する置換処理と、置換後の前記プリミティブ形状が前記隣接曲面のそれぞれと接するように前記プリミティブ形状の制御量を調整する調整処理とを実行する形状補正方法を提供する。
【０００７】
上記形状補正方法によれば、曲面抽出過程では、例えば、対象モデルの形状解析を行うことによりガウス曲率分布を求め、このガウス曲率分布においてガウス曲率がゼロの範囲が可展面、ゼロでない範囲が非可展面として抽出される。続いて、抽出された非可展面の特徴に基づいて、この非可展面の特徴と同じ特徴を持つプリミティブ形状を予め登録されている複数のプリミティブ形状の中から抽出する。例えば、非可展面を詳細に形状解析し、非可展面における曲面の特徴量（曲率（例えば、最大曲率、最小曲率、ガウス曲率、主曲率、平均曲率等）、曲面に沿った長さ、及び面積等）を演算する。そして、それら特徴量と同じ特徴量を持つプリミティブ形状を抽出する。そして、このプリミティブ形状と非可展面とを置き換え、置き換えたプリミティブ形状がそれぞれの隣接曲面と接するように、プリミティブ形状の制御量を調整する。
【０００８】
これにより、非可展面は、制御量が定義されているプリミティブ形状に置き換えられるので、対象モデルを構成する全ての面を精確な制御量で表現することが可能となる。更に、プリミティブ形状が隣接曲面と接するようにプリミティブ形状の制御量を調整するので、プリミティブ形状と隣接曲面とを滑らかに接続させることが可能となる。
また、このプリミティブ形状の制御量については、各装置間における変換が可能となっているため、データ転送の際に生じる形状誤差などの問題を解消することができる。
【０００９】
本発明は、対象モデルから非可展面及び該非可展面に隣接する隣接曲面を抽出する曲面抽出処理と、前記非可展面の特徴に基づいて、前記非可展面の特徴と同じ特徴を持つプリミティブ形状を予め登録されている複数のプリミティブ形状の中から抽出するプリミティブ形状抽出処理と、前記非可展面と抽出した前記プリミティブ形状とを置換する置換処理と、置換後の前記プリミティブ形状が前記隣接曲面のそれぞれと接するように前記プリミティブ形状の制御量を調整する調整処理とをコンピュータに実行させるための形状補正プログラムを提供する。
【００１０】
本発明は、対象モデルから非可展面及び該非可展面に隣接する隣接曲面を抽出する曲面抽出手段と、前記非可展面の特徴に基づいて、前記非可展面の特徴と同じ特徴を持つプリミティブ形状を予め登録されている複数のプリミティブ形状の中から抽出するプリミティブ形状抽出手段と、前記非可展面と抽出した前記プリミティブ形状とを置換する置換手段と、置換後の前記プリミティブ形状が前記隣接曲面のそれぞれと接するように前記プリミティブ形状の制御量を調整する調整手段とを具備する３次元形状処理装置を提供する。
【発明の効果】
【００１１】
本発明の形状補正方法によれば、非可展面を制御量が適切に設定されているプリミティブ形状に置き換えることにより、精確に３次元形状を表現することができるという効果を奏する。
また、本発明の形状補正プログラムによれば、非可展面を制御量が適切に設定されているプリミティブ形状に置き換える処理をコンピュータ（例えば、ＣＡＤやＣＡＭ等）に実行させるので、コンピュータ上に３次元形状を精確に表現することができるという効果を奏する。
また、本発明の３次元形状処理装置によれば、非可展面を制御量が適切に設定されているプリミティブ形状に置き換えるので、精確に３次元形状を表現するができるという効果を奏する。
【発明を実施するための最良の形態】
【００１２】
以下に、本発明にかかる３次元形状処理装置の一実施形態について、図面を参照して説明する。
図１は、本発明の一実施形態に係る３次元形状処理装置の概略構成を示すブロック図である。図１に示すように、本実施形態に係る３次元形状処理装置は、ＣＡＤ（Computer  Aided  Design）やＣＡＭ（Computer  Aided  Manufacturing）などのコンピュータシステムであり、ＣＰＵ（中央演算処理装置）１、ＲＡＭ（Random  Access  Memory）などの主記憶装置２、ＲＯＭ（Read  Only  Memory）、ＨＤＤ（Hard  Disk  Drive）などの補助記憶装置３、キーボードやマウスなどの入力装置４、及びディスプレイ、プリンタなどの出力装置５などを備えて構成されている。
【００１３】
次に、上述のような構成を備える３次元形状処理装置により行われる形状補正方法について、図２を参照して説明する。
なお、以下に示す形状補正方法は、３次元形状処理装置が備えるＣＰＵ１が補助記憶装置３に格納されている形状補正プログラムをＲＡＭなどに読み出し、実行することにより、実現されるものである。
【００１４】
まず、図２のステップＳＡ１では、ＣＰＵ１が上記補助記憶装置３又は図示しない通信ネットワークを介して受信された形状データファイルを読み込む処理を行う。ここで、読み込まれるデータファイルは、国際規格又は製造業者が仕様を公開するなどして記録されている内容が明らかになっているデータファイルであり、例えば、ＩＧＥＳ、ＳＴＥＰ、ＳＴＬ、ＤＸＦなどのデータファイルである。
続くステップＳＡ２では、読み込んだ形状データファイルにより表現される３次元形状モデルの形状解析を行う。例えば、図３に示すような３次元形状モデルであった場合、このモデルのガウス曲率分布を求める。ここで、ガウス曲率について、簡単に説明する。
【００１５】
例えば、図４に示すような曲面Ｗ上の点Ｐにおいて、接平面に垂直に立てられた単位ベクトルを単位法線ベクトルｎ、この単位法線ベクトルｎを含む平面を法平面、この法平面と曲面Ｗとの交線を法断面という。この法断面の微分を曲率として、法平面を単位法線ベクトルｎの周りに回転させると、その回転角θと曲率との関係が、例えば、図５に示すようなグラフとして得られる。
【００１６】
ここで、最大曲率Ｋ１及び最小曲率Ｋ２を点Ｐにおける曲面Ｗの主曲率と呼び、これら主曲率Ｋ１及びＫ２を乗算した値がガウス曲率Ｋｇ、平均した値が平均曲率Ｋｍとなる。そして、これらガウス曲率Ｋｇ及び平均曲率Ｋｍにより、曲面Ｗの形状を把握することができる。図６に、ガウス曲率と平均曲率とにより決定される形状の一例を示す。この図に示すように、ガウス曲率Ｋｇ＝０であれば、つまり、一方又は両方の主曲率がゼロであれば、曲面Ｗは可展面となる。また、ガウス曲率Ｋｇがマイナスの値を取れば、曲面Ｗは鞍型であり、逆に、ガウス曲率Ｋｇがプラスの値を取れば、曲面Ｗは皿型となる。なお、上記主曲率の求め方は一例であり、他の公知の手法を用いて、形状解析を行なっても良い。
【００１７】
図２に戻り、ステップＳＡ３では、上述のステップＳＡ２により行われた形状解析に基づいて、当該３次元形状モデルに非可展面があるか否かを判定する。具体的には、ステップＳＡ２による形状解析の結果、ガウス曲率Ｋｇがゼロでない領域が存在したか否かを判定する。
この結果、全ての領域においてガウス曲率Ｋｇがゼロであった場合には（ステップＳＡ３において「NO」）、当該３次元形状モデルは可展面のみで構成されていることから形状補正をする必要がないため、当該処理を終了する。
一方、ガウス曲率Ｋｇがゼロでない領域が存在した場合には（ステップＳＡ３において「YES」）、非可展面が存在することとなるため、次のステップＳＡ４に進む。
【００１８】
ステップＳＡ４では、ガウス曲率Ｋｇがゼロでなかった領域、つまり非可展面の領域を抽出するとともに、この非可展面に隣接する曲面（以下「隣接曲面」という。）を抽出する（曲面抽出過程）。例えば、図３に示した３次元形状モデルにおいて、非可展面として曲面Ｃ２とＣ４とが抽出された場合、まずは、そのうちの１つである曲面Ｃ２を非可展面として抽出し、隣接曲面として曲面Ｃ１とＣ３とを抽出する。
【００１９】
続いて、ステップＳＡ５では、上述のステップＳＡ４にて抽出した非可展面である曲面Ｃ２の詳細な形状解析を行う。具体的には、曲面Ｃ２の特徴量、例えば、ガウス曲率分布、平均曲率分布、主曲率（長手方向）分布、主曲率（幅方向）分布、曲面に沿った長さ、面積等を演算する。
【００２０】
続いて、ステップＳＡ６では、上記特徴量と同じ特徴量を持つプリミティブ形状をプリミティブ形状データベースから抽出する（プリミティブ形状抽出過程）。ここで、プリミティブ形状とは、制御量が定義された形状であり、例えば、ＮＵＲＢＳを用いて曲面表現する場合には、制御点、ノットベクトル、ウェイト等の制御量がそれぞれ明確に定義されている形状をいう。
【００２１】
プリミティブ形状としては、例えば、球、円柱、円錘、トーラス、楕円球、楕円柱、楕円錘、楕円トーラス、立方体、直方体等が挙げられる。例えば、補助記憶装置３（図１参照）には、これら各種プリミティブ形状の特徴量がそれぞれ登録されたプリミティブ形状データベースが格納されている。このプリミティブ形状データベースには、各種プリミティブ形状の特徴量、つまり、ガウス曲率分布、平均曲率分布、主曲率（長手方向）分布、主曲率（幅方向）分布、円周方向における回転方向の長さ、及び回転方向における円周の長さがそれぞれ登録されている。
【００２２】
図７乃至図１２に、プリミティブ形状データベースに登録されているトーラスの特徴量の一例を示す。図７はガウス曲率分布、図８は平均曲率分布、図９は主曲率（長手方向）分布、図１０は主曲率（幅方向）、図１１は円周方向における回転方向の長さ、図１２は回転方向における円周の長さを示している。
【００２３】
ステップＳＡ６では、解析結果として得られた曲面Ｃ２の特徴量と同じ特徴量を有するプリミティブ形状を上述のプリミティブ形状データベースを参照することにより抽出する。具体的には、抽出されるプリミティブ形状は、プリミティブ形状データベースに格納されている各種プリミティブ形状を検索し、曲面Ｃ２と特徴量が一致する部分（例えば、トーラスの一部等）を抜き取る。なお、非可展面である曲面Ｃ２の特徴量と同じ特徴量を有するプリミティブ形状がない場合には、特徴量が最も近似するプリミティブ形状を抽出する。
続いて、ステップＳＡ７では、上述のステップＳＡ６にて抽出されたプリミティブ形状と曲面Ｃ２との置き換えが行われる（置換過程）。これにより、制御量が精確に表現されていない非可展面である曲面Ｃ２を制御量が明確に定義されているプリミティブ形状として表現することが可能となる。
【００２４】
続いて、ステップＳＡ８では、プリミティブ形状として表された曲面Ｃ２と隣接曲面Ｃ１及びＣ３とがそれぞれ接するように、つまり、プリミティブ形状として表された曲面Ｃ２と隣接曲面Ｃ１との境界及びプリミティブ形状として表された曲面Ｃ２と隣接曲面Ｃ３との境界がそれぞれ一致するように、プリミティブ形状の制御量を調整する（調整過程）。これにより、プリミティブ形状として表された曲面Ｃ２と隣接曲面Ｃ１及びＣ３とをそれぞれ滑らかに接続させることが可能となる。
【００２５】
続いて、ステップＳＡ９では、ステップＳＡ４において抽出された全ての非可展面について、プリミティブ形状との置換が行われたか否かが判定される。この結果、全ての非可展面について上記ステップＳＡ４乃至ステップＳＡ８の処理が行われていない場合には、ステップＳＡ４に戻り、未処理の非可展面について同様の処理を行う。
【００２６】
一方、上記ステップＳＡ９において、全ての非可展面について上記処理が行われていると判定された場合には、続くステップＳＡ１０において、当該３次元形状モデルがトレランス内であるか否かが判定される。この結果、トレランス内でなければ、ステップＳＡ１１において、トレランス内でなかった箇所の制御量の調整が行われる。この調整の結果、３次元形状モデルがトレランス内となった場合には、続くステップＳＡ１２において、この時点における３次元形状モデルの形状データファイルを出力し、当該処理を終了する。
【００２７】
以上説明してきたように、本実施形態に係る３次元形状処理装置によれば、以下の効果を有する。
第１に、非可展面は、制御量が定義されているプリミティブ形状に置き換えられるので、対象モデルを構成する全ての面を精確な制御量で表現することが可能となる。
第２に、プリミティブ形状の一辺と隣接曲面の一辺とが一致するようにプリミティブ形状の制御量を調整するので、滑らかにプリミティブ形状と隣接曲面とを接続させることが可能となる。
第３に、このプリミティブ形状の制御量については、各装置間における変換が可能となっているため、データ転送の際に生じる形状誤差などの問題を解消することができる。
第４に、非可展面をプリミティブ形状として置き換えることにより、データ量を大幅に低減することが可能となる。
【００２８】
なお、上述の手法のほか、プリミティブ形状データベースに、プリミティブ形状を特定するための各パラメータを格納しておき、上述の解析結果として得られた曲面Ｃ２に基づいて、それぞれのパラメータを変更することにより、曲面Ｃ２と特徴量が一致するプリミティブ形状を作成するようにしても良い。
この場合、隣接面の特徴（境界曲線）の情報等を参照してプリミティブ形状を作成するため、隣接曲面に沿った境界曲線を持つプリミティブ形状を作成することが可能となる。これにより、上述した調整過程を行うことなく、プリミティブ形状として表された曲面Ｃ２と隣接曲面Ｃ１及びＣ３とを滑らかに接続させることが可能となる。
【００２９】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態に係る３次元形状処理装置の概略構成を示したブロック図である。
【図２】本発明の一実施形態に係る３次元形状処理装置により実行される形状補正方法の処理手順を示したフローチャートである。
【図３】ソリッドモデルの一例を示した図である。
【図４】ガウス曲率などを説明するための図である。
【図５】図４に示した曲面における法断面の微分を曲率として、法平面を単位法線ベクトルｎの周りに回転させることにより得られた回転角θと曲率との関係を示す図である。
【図６】ガウス曲率と平均曲率とにより決定される形状の一例を示す図である。
【図７】プリミティブ形状データベースに登録されているトーラスのガウス曲率分布の一例を示した図である。
【図８】プリミティブ形状データベースに登録されているトーラスの平均曲率分布の一例を示した図である。
【図９】プリミティブ形状データベースに登録されているトーラスの主曲率（長手方向）分布の一例を示した図である。
【図１０】プリミティブ形状データベースに登録されているトーラスの主曲率（幅方向）の一例を示した図である。
【図１１】プリミティブ形状データベースに登録されているトーラスの円周方向における回転方向の長さの一例を示した図である。
【図１２】プリミティブ形状データベースに登録されているトーラスの回転方向における円周の長さの一例を示した図である。
【符号の説明】
【００３１】
１  ＣＰＵ
２  主記憶装置
３  補助記憶装置
４  入力装置
５  出力装置
【図１】
0004418426.tif 000002
【図２】
0004418426.tif 000003
【図３】
0004418426.tif 000004
【図４】
0004418426.tif 000005
【図５】
0004418426.tif 000006
【図６】
0004418426.tif 000007
【図７】
0004418426.tif 000008
【図８】
0004418426.tif 000009
【図９】
0004418426.tif 000010
【図１０】
0004418426.tif 000011
【図１１】
0004418426.tif 000012
【図１２】
0004418426.tif 000013