(57)【要約】【課題】本来は曲面同士が隣接すべき箇所が、境界線同士がシステムの許容誤差よりも僅かに離れあっている隙間を検出する曲面データチェック装置を提供する。【解決手段】この曲面データチェック装置は、隣接曲面間の隙間の候補となる、隣接曲面の境界線群で構成されたループ群を求める隙間候補ループ群検出部１２と、前記隙間候補のループ群の各ループについて隙間であるか否かを判定する隙間判定部１３と、前記隙間判定部で検出された隙間に関する情報（隙間の位置、隙間の大きさ）を出力する結果出力部１４を備えて、曲面データで構成された３次元形状の隣接曲面間の隙間を検出し、的確にまた効果的にシステムの操作者へ通知する。【選択図】　　　　図２
2004110285.tif 000002
【特許請求の範囲】
【請求項１】
曲面データで構成された３次元形状について隣接曲面間の隙間を検出する曲面データチェック装置において、隣接曲面間の隙間の候補となる、隣接曲面の境界線群で構成されたループ群を求める隙間候補ループ群検出部と、前記隙間候補のループ群の各ループについて隙間であるか否かを判定する隙間判定部と、前記隙間判定部で検出された隙間に関する情報を出力する結果出力部を有することを特徴とする曲面データチェック装置。
【請求項２】
請求項１に記載の曲面データチェック装置において、前記結果出力部は、隙間の位置を特定することが可能な情報を出力することを特徴とする曲面データチェック装置。
【請求項３】
請求項１に記載の曲面データチェック装置において、前記結果出力部は、隙間の大きさを特定することが可能な情報を出力することを特徴とする曲面データチェック装置。
【請求項４】
曲面データで構成された３次元形状について隣接曲面間の隙間を検出する曲面データチェック方法において、隣接曲面間の隙間の候補となる、隣接曲面の境界線群で構成されたループ群を求めるステップと、前記隙間候補のループ群の各ループについて隙間であるか否かを判定するステップと、検出された隙間に関する情報を出力するステップを有することを特徴とする曲面データチェック方法。
【請求項５】
請求項４に記載の曲面データチェック方法において、前記検出された隙間に関する情報は、隙間の位置を特定することが可能な情報であることを特徴とする曲面データチェック方法。
【請求項６】
請求項４に記載の曲面データチェック方法において、前記検出された隙間に関する情報は、隙間の大きさを特定することが可能な情報であることを特徴とする曲面データチェック方法。
【請求項７】
コンピュータを用いて、３次元形状の曲面データをチェックするためのプログラムであって、前記コンピュータに、請求項１、２または３に記載の曲面データチェック装置の機能を実行させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、曲面データチェック装置、曲面データチェック方法、プログラムおよび記録媒体に関し、３次元形状を扱う３次元ＣＡＤ／ＣＡＭ／ＣＡＥ／ＣＧなどに用いて好適である。
【０００２】
【従来の技術】
ＣＡＤ技術を用いた３次元形状部品のモデリングで重要な点は、モデリングされた部品を構成する曲面群について隣接する曲面間で境界線同士がシステムの許容誤差以内で一致していることが保証されるべきことである。
しかし、設計意図としては隣接しているはずの曲面間の境界線同士が一致しておらず、隙間が残ったまま部品データが完成した場合、そのデータを使った下流工程で重大な問題を引き起こすことになる。ＣＡＥによる解析であれば正しい結果を得ることができなくなるし、また、加工であれば削り残しなどを生じてしまう。
この問題は、産業界におけるＰＤＱ（Ｐｒｏｄｕｃｔ　Ｄａｔａ　Ｑｕａｌｉｔｙ：モデルデータ品質）に関する議論や取り組みにおいても、品質を左右し得る重要な要因の１つとしてしばしば取り上げられている。
【０００３】
ソリッドモデラなど、隣接面間で一致すべき境界線を隣接面同士で共有する境界線として表現するデータ構造を採用しているシステムの場合、設計者が隣接面として意図してモデリングしていれば、曲面間に隙間を生じることはない。
また、隣接面としてモデリングされた曲面間については、隙間が無いことをシステムが保証してくれる。
【０００４】
【発明が解決しようとする課題】
しかしながら、別々にモデリングした曲面同士を単に隣接するように配置しただけの場合や、隣接曲面間の共有境界線を表現できない形式で他のシステムから曲面群のデータを取り込んだ場合には、それが保証されない。
このような場合には、曲面同士が隣接すべき箇所の境界線同士を共有境界線としてシステムに認識させる必要がある。
但し、共有境界線と見なすことができる、言い換えれば曲面同士が隣接するとシステムに認められるためには、境界線同士の距離がそのシステムで定められた許容誤差以内に収まっている必要がある。
【０００５】
例えば、他のシステムから曲面群のデータを取り込んだ場合、システムの許容誤差の違いによって、取り込み元のシステムでは隣接面としての精度を満たしていたにも関わらず、取り込み先のシステムでは隣接面としての条件を満たさないことがある。その場合には、一方の曲面を固定して他方の曲面の形状を僅かに変形するなどして、境界線同士が一致するようにした上で、共有境界線としてシステムに認識させれば良い。
【０００６】
さて、隣接すべき曲面間の境界線を共有境界線としてシステムに認識させる一連の作業においては、境界線同士の距離がシステムの許容誤差以内に収まっておらずシステムに隣接箇所である共有境界線として認識されずに、隙間となって残っている箇所を特定することが必要になる。
各曲面について境界部分だけでなく内側にも色を塗れば、隙間となって残っている箇所は、色を塗られずに残るのでそれを視覚的に把握することができる。
例えば、ＣＡＤシステムが通常備えている所謂シェーディング表示機能を使えば良い。
【０００７】
しかし、本来は隣接面となるべき箇所であれば、その隙間は非常に細長いことが多い。そのような箇所では、隙間の両側の曲面がシェーディング表示されることで隙間が潰れて表示されてしまい、隙間であると確認することが困難となる。また、視点とは反対側に表を向いた曲面同士の間に残った隙間を見逃してしまうこともある。
また、単に隙間の箇所を特定することだけでなく、隙間の大きさも知る必要がある。隣接すべき曲面間の境界線同士がシステムの許容誤差以上に離れている場合、前述の通り境界線同士が一致するよう曲面形状を微小変形する必要があるが、そのためには隙間の大きさが必要である。
【０００８】
本発明は、上述の実情を考慮してなされたものであって、ソリッドモデラなど、隣接面間で一致すべき境界線を隣接面同士で共有する境界線として表現するデータ構造を採用しているシステムにおいて、本来は曲面同士が隣接すべき箇所が、境界線同士がシステムの許容誤差よりも僅かに離れている隙間を検出する曲面データチェック装置、曲面データチェック方法、プログラムおよび記録媒体を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記の課題を解決するために、本発明の請求項１の曲面データチェック装置は、曲面データで構成された３次元形状について隣接曲面間の隙間を検出する曲面データチェック装置において、隣接曲面間の隙間の候補となる、隣接曲面の境界線群で構成されたループ群を求める隙間候補ループ群検出部と、前記隙間候補のループ群の各ループについて隙間であるか否かを判定する隙間判定部と、前記隙間判定部で検出された隙間に関する情報を出力する結果出力部を有することを特徴とする。
【００１０】
また、本発明の請求項２は、請求項１に記載の曲面データチェック装置において、前記結果出力部は、隙間の位置を特定することが可能な情報を出力することを特徴とする。
また、本発明の請求項３は、請求項１に記載の曲面データチェック装置において、前記結果出力部は、隙間の大きさを特定することが可能な情報を出力することを特徴とする。
【００１１】
また、本発明の請求項４の曲面データチェック方法は、曲面データで構成された３次元形状について隣接曲面間の隙間を検出する曲面データチェック方法において、隣接曲面間の隙間の候補となる、隣接曲面の境界線群で構成されたループ群を求めるステップと、前記隙間候補のループ群の各ループについて隙間であるか否かを判定するステップと、検出された隙間に関する情報を出力するステップを有することを特徴とする。
【００１２】
また、本発明の請求項５は、請求項４に記載の曲面データチェック方法において、前記検出された隙間に関する情報は、隙間の位置を特定することが可能な情報であることを特徴とする。
また、本発明の請求項６は、請求項４に記載の曲面データチェック方法において、前記検出された隙間に関する情報は、隙間の大きさを特定することが可能な情報であることを特徴とする。
【００１３】
また、本発明の請求項７のプログラムは、コンピュータを用いて、３次元形状の曲面データをチェックするためのプログラムであって、前記コンピュータに、請求項１、２または３に記載の曲面データチェック装置の機能を実行させるためのプログラムである。
また、本発明の請求項８の記録媒体は、請求項７に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【００１４】
以上の構成により、ソリッドモデラなど、隣接面間で一致すべき境界線を隣接面同士で共有する境界線として表現するデータ構造を採用しているシステムにおいて、本来は曲面同士が隣接すべき箇所が、境界線同士がシステムの許容誤差よりも僅かに離れて隙間として残っている箇所と大きさを、システムの操作者に的確にまた効果的に知らせることができる。
【００１５】
【発明の実施の形態】
以下、図面を参照して本発明の曲面データチェック装置に係る一実施形態を説明する。以下の実施形態の説明では、本発明の曲面データチェック装置をＣＡＤシステムへ組み込んだものとして説明する。
【００１６】
図１は、一般のＣＡＤシステムを実現するためのハードウェア構成を示すブロック図である。
図１において、ＣＡＤシステムは、データ等の演算や処理を行うＣＰＵ（中央処理ユニット）１０１と、プログラムやデータ等を記憶するメモリ１０２と、キー操作に基づきプログラムやデータ等を入力するキーボードや一般にマウスカーソルと呼ばれる目印を移動させると共に、その移動に基づくデータを入力するマウス等のポインティングデバイスである入力装置１０３と、図形などを画面上に表示するグラフィックディスプレイ等の表示装置１０４と、プログラムやＣＡＤデータを記憶するハードディスク等の外部記憶装置１０５と、それらを相互に接続するバスライン１０６とを少なくとも備えている。
このＣＡＤシステムは、キーボードやマウス等の入力装置１０３を操作して指示された指示内容に基づき所定のプログラムに従い演算や処理を行うことで図形等を生成し、その図形等を表示装置１０４の画面上に表示する。
【００１７】
図２は、ＣＡＤシステムに組み込まれた本発明の曲面データチェック装置の機能構成を示すブロック図である。図２において、曲面データチェック装置１０は、入力部１１、隙間候補ループ群検出部１２、隙間判定部１３、結果出力部１４の各機能から構成される。
【００１８】
次に、図３から図９を参照して、曲面データチェック装置１０の構成および動作を説明する。図３は、本発明の曲面データチェック装置１０の全体処理の手順を示すフローチャートである。
まず、システムの操作者が入力装置１０３によって指定した３次元形状のデータを外部記憶装置１０５から読み出し入力し、隙間候補ループの検出処理を行う（ステップＳ１）。ステップＳ１で入力部１１および隙間候補ループ群検出部１２を構成する。
検出された隙間候補ループ群から隙間判定処理を行って隙間ループとその隙間の大きさを求める（ステップＳ２）。ステップ２で隙間判定部１３を構成する。
検出された隙間情報をディスプレイ等の表示装置１０４へ出力する（ステップＳ３）。ステップＳ３で結果出力部１４を構成する。
【００１９】
次に、隙間候補ループ群検出処理の概略を説明する。図４は、３次元形状のうち非共有境界線が隙間を持つ場合を表示した例である。図５は、この図４の形状の一部を取り出したもので、４つの稜線（Ｂ１１，Ｂ１２，Ｂ１３，Ｂ１４）で表現される曲面Ｓ１と、４つの稜線（Ｂ２１，Ｂ２２，Ｂ２３，Ｂ２４）で表現される曲面Ｓ２とがあり、この曲面Ｓ１とＳ２とは頂点Ｐ１とＰ２を共有しているものとする。即ち、稜線Ｂ１１と稜線Ｂ２１とは一致しておらず隙間がある状態とする。
【００２０】
このような場合に隙間候補ループ群検出処理は、まず、境界線（ここでは８つの稜線）を３次元形状データから検出して、テーブルＴ１へ登録する（図５（Ｂ）の状態となる）。
次に、テーブルＴ１から登録された境界線を１つずつ取り出して、この境界線が共有境界線でなければ、テーブルＴ２へ登録する。図５では、テーブルＴ２の最初のループの構成要素としてＢ１１が登録される。
【００２１】
次に、その境界線（Ｂ１１）と隣接する境界線であって非共有境界線であるものをテーブルＴ１の中から探し、テーブルＴ２へループとして登録する。図５では、境界線Ｂ１１に隣接した非共有境界線はＢ２１であり、テーブルＴ２の最初のループの構成要素として、Ｂ２１を追加する。隣接するか否かは、ループの構成要素としてテーブルＴ２へ登録した境界線と共有頂点を持つか否かで判定できる。
【００２２】
この境界線（Ｂ１１）に対する隣接境界線がなくなるまで、または、テーブルＴ２へ登録したループが閉じるまで、作業を続ける。
１つの境界に対して、この作業が終了すると、他の未処理の境界線をテーブルＴ１から取り出して、上述の作業を繰り返す。
【００２３】
図６は、上述した隙間候補のループを検出する隙間候補ループ群検出部１２の処理手順を示すフローチャートである。
まず、入力された３次元形状データに存在する曲面群の境界線群を要素とするテーブルＴ１を作成し、隙間候補ループを格納するテーブルＴ２を空としておく（ステップＳ１１）。
【００２４】
境界線群のテーブルＴ１から未判定の境界線Ｂ１を取り出す（ステップＳ１２）。テーブルＴ１に未判定の境界線が存在しない場合（ステップＳ１３のＮＯ）、すべての境界線の処理が終了したので、隙間候補ループ群の検出処理を終了する。
【００２５】
一方、テーブルＴ１に未判定の境界線が存在した場合（ステップＳ１３のＹＥＳ）、取り出した境界線Ｂ１が共有境界線の場合（ステップＳ１４のＹＥＳ）、隙間候補とはならないので、この境界線Ｂ１を判定済みとして、次の境界線を処理するためにステップＳ１２へ戻る。
取り出した境界線Ｂ１が共有境界線でない場合（ステップＳ１４のＮＯ）、この境界線Ｂ１をループＬの構成要素としてテーブルＴ２へ新規登録する（ステップＳ１５）。ここでは、ループＬには境界線Ｂ１のみが登録されることになる。
【００２６】
境界線群のテーブルＴ１から未判定の境界線Ｂ２を取り出す（ステップＳ１６）。取り出した境界線Ｂ２がループＬに隣接しない場合（ステップＳ１７のＮＯ）、他の未判定の境界線を探すためにステップＳ１６へ戻る。
また、取り出した境界線Ｂ２がループＬに隣接する場合（ステップＳ１７のＹＥＳ）、境界線Ｂ２をループＬの構成要素としてテーブルＴ２に追加登録し、境界線Ｂ２を判定済みにする（ステップＳ１８）。
ループＬが閉じず、且つ、まだ隣接境界線として判定していない境界線がある場合（ステップＳ１９のＮＯ）、ステップＳ１６へ戻る。
また、ループＬが閉じるか、すでに境界線をすべて隣接境界線として判定してしまった場合（ステップＳ１９のＹＥＳ）、次のループの処理をするためにステップＳ１２へ戻る。
【００２７】
図７は、隙間判定部１３の処理手順を示すフローチャートである。
まず、隙間候補ループ群のテーブルＴ２から未判定のループＬを取り出す（ステップＳ２１）。
未判定のループが存在しない場合（ステップＳ２２のＮＯ）、すべての隙間候補ループを処理したとして隙間判定処理を終了する。
【００２８】
取り出したループＬが隙間か否かを判定する（ステップＳ２３）。
このループＬが隙間でない場合（ステップＳ２４のＮＯ）、このループを判定済みとしてステップＳ２１へ戻る。
一方、このループＬが隙間である場合（ステップＳ２４のＹＥＳ）、このループが隙間であることをテーブルＴ２に記録する（ステップＳ２５）。
また、このループＬの隙間の大きさを求め、テーブルＴ２にループＬと関連付けて登録し（ステップＳ２６）、このループＬを判定済みとしてステップＳ２１へ戻る。
【００２９】
図８は、隙間情報の結果出力部１４の処理手順を示すフローチャートである。
まず、テーブルＴ２の中から未出力の隙間を持つループを取り出す（ステップＳ３１）。
未出力の隙間を持つループがない場合（ステップＳ３２のＮＯ）、結果出力を終了する。
一方、未出力の隙間を持つループがある場合（ステップＳ３２のＹＥＳ）、そのループに関連付けられた隙間情報（例えば、隙間の位置および隙間の大きさ）を取り出して、ディスプレイ等の表示装置１０４へ出力し、このループを出力済みとしてステップＳ３１へ戻る。
この出力は、図９に示すように、表示装置１０４に表示された３次元形状の隙間の該当箇所が他と判別できるように色付し、識別ＩＤを付加して表示し、その識別ＩＤに対する隙間の大きさを文字形式で出力する。
【００３０】
さらに、本発明は上述した実施形態のみに限定されたものではない。上述した実施形態の曲面データチェック装置を構成する各機能をそれぞれプログラム化し、あらかじめＣＤ−ＲＯＭ等の記録媒体に書き込んでおき、このＣＤ−ＲＯＭをＣＤ−ＲＯＭドライブのような媒体駆動装置を搭載したコンピュータに装着して、これらのプログラムをコンピュータのメモリあるいは記憶装置に格納し、それを実行することによって、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラム自体が上述した実施形態の機能を実現することになり、そのプログラムおよびそのプログラムを記録した記録媒体も本発明を構成することになる。
【００３１】
なお、記録媒体としては半導体媒体（例えば、ＲＯＭ、不揮発性メモリカード等）、光媒体（例えば、ＤＶＤ、ＭＯ、ＭＤ、ＣＤ−Ｒ等）、磁気媒体（例えば、磁気テープ、フレキシブルディスク等）等のいずれであってもよい。
【００３２】
また、ロードしたプログラムを実行することにより上述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、オペレーティングシステム等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００３３】
また、上述したプログラムをサーバコンピュータの磁気ディスク等の記憶装置に格納しておき、インターネット等の通信網で接続された利用者のコンピュータからダウンロード等の形式で頒布する場合、このサーバコンピュータの記憶装置も本発明の記録媒体に含まれる。
【００３４】
【発明の効果】
以上説明したように本発明によれば、ソリッドモデラなど、隣接面間で一致すべき境界線を隣接面同士で共有する境界線として表現するデータ構造を採用しているシステムにおいて、本来は曲面同士が隣接すべき箇所が、境界線同士がシステムの許容誤差よりも僅かに離れて隙間として残っている箇所と大きさを、システムの操作者に的確にまた効果的に知らせることができる。
【図面の簡単な説明】
【図１】一般のＣＡＤシステムを実現するためのハードウェア構成を示すブロック図である。
【図２】ＣＡＤシステムに組み込まれた本発明の曲面データチェック装置の機能構成を示すブロック図である。
【図３】本発明の曲面データチェック装置の全体処理に関するフローチャートである。
【図４】隙間のある３次元形状の表示例である。
【図５】隙間候補ループ群処理を説明するための図である。
【図６】隙間候補ループ群検出部の処理手順を示すフローチャートである。
【図７】隙間判定部の処理手順を示すフローチャートである。
【図８】結果出力部の処理手順を示すフローチャートである。
【図９】隙間情報の出力例である。
【符号の説明】
１０…曲面データチェック装置、１１…入力部、１２…隙間候補ループ群検出部、１３…隙間判定部、１４…結果出力部、１０１…ＣＰＵ、１０２…メモリ、１０３…入力装置、１０４…表示装置、１０５…外部記憶装置、１０６…バスライン。
【図１】
2004110285.tif 000003
【図２】
2004110285.tif 000004
【図３】
2004110285.tif 000005
【図４】
2004110285.tif 000006
【図５】
2004110285.tif 000007
【図６】
2004110285.tif 000008
【図７】
2004110285.tif 000009
【図８】
2004110285.tif 000010
【図９】
2004110285.tif 000011