(57)【要約】      （修正有）【課題】辺のサイクルを有し、かつ、トンネルによって表される切り欠きを有する部品をモデル化するＢ−Ｒｅｐにおいて、少なくともトンネルの一部の位置を検出する改善された方法を提供する。【解決手段】方法は、辺のサイクルを有し、部品をモデル化する、ユーザ設計のＢ−Ｒｅｐを含む、出力部品の仕様を提供することであって、切り欠きが、ユーザによって、前記Ｂ−Ｒｅｐにおけるトンネルで表されているような仕様を提供することと、各同値類において、全てのサイクルが最短の長さを有するようなサイクルからなる集合（Ｒ）を決定することと、前記集合に対して、長さを短縮できる場合にはサイクルを置換することと、和が境界サイクルになる場合にはサイクルを削除し、そうでない場合には、長さを短縮できる場合に前記サイクルを前記和で置換することとの繰り返しを含む工程を実行することとを含む。【選択図】図１
2017142779.tif 000002
【特許請求の範囲】
【請求項１】
切り欠きを有する部品を出力する製造オペレーションの入力の仕様を決定するための、コンピュータによって実施される方法であって、前記製造オペレーションは、プレス加工、機械加工、フライス削り、および／またはレーザー切断によって前記切り欠きを形成することを本質とし、前記方法は、
辺のサイクルを有し、部品をモデル化する、ユーザ設計のＢ−Ｒｅｐを含む、出力部品の仕様を提供することであって、前記切り欠きが、ユーザによって、前記Ｂ−Ｒｅｐにおけるトンネルで表されているような仕様を提供することと、
サイクル相同関係についての前記Ｂ−Ｒｅｐの非境界サイクルの同値類から、各同値類において、全てのサイクルが最短の長さを有するようなサイクルからなる集合（Ｒ）を決定することと、
前記集合（Ｒ）に対して、
長さを短縮できる場合には、前記集合のサイクルを、隣接する境界サイクルとの
【数６１】
2017142779.tif 000071
和で置換することと、
前記集合のサイクル、および、そのサイクルについての、前記集合におけるより短いサイクルとの
【数６２】
2017142779.tif 000072
和に関して、当該和が境界サイクルになる場合には前記サイクルを削除し、そうでない場合には、長さを短縮できる場合に前記サイクルを前記和で置換することと、
の繰り返しを含む工程を実行することと
次いで、トンネルの位置として、前記集合の前記サイクルのうちからｎ個のサイクルを識別することであって、ｎがＢ−Ｒｅｐの種数であるような、ｎ個のサイクルを識別することと、次いで、
特定したトンネルを取り除き空きスペースを埋めることによってＢ−Ｒｅｐを編集することと、
編集したＢ−Ｒｅｐを用いて前記出力部品の仕様を出力することと
を含むことを特徴とする方法。
【請求項２】
前記トンネルの位置を識別することは、前記集合の各サイクルについて、当該サイクルの湾曲の方向とＢ−Ｒｅｐの外側の法線との整合性を表す値をサイクルに沿って算出することを含み、最も高い値を有するｎ個のサイクルがトンネルの位置として識別されることを特徴とする、請求項１に記載の方法。
【請求項３】
前記値は、前記サイクルの湾曲と前記Ｂ−Ｒｅｐの外側の法線とのスカラー積の符号の積分値であることを特徴とする、請求項２に記載の方法。
【請求項４】
前記サイクルが、前記Ｂ−Ｒｅｐの鋭利な辺に対応し、よって前記Ｂ−Ｒｅｐの前記外側の法線が前記サイクルに沿った２つのベクトルからなる場合、前記スカラー積の符号は、前記鋭利な辺が凸状であれば最大符号であり、前記鋭利な辺が凸状でなければ最小符号であることを特徴とする、請求項３に記載の方法。
【請求項５】
前記同値類は基本サイクルの基底において識別され、Ｂ−ｒｅｐの各サイクルは、基本サイクルの
【数６３】
2017142779.tif 000073
和によって得られることを特徴とする、請求項１〜４のいずれかに記載の方法。
【請求項６】
前記基本サイクルの基底は、前記Ｂ−Ｒｅｐのカバーツリーを算出することによって決定され、各基本サイクルは、前記カバーツリーの外側のそれぞれの辺に対応し、それぞれの辺を前記カバーツリーに追加することによって定義されることを特徴とする、請求項５に記載の方法。
【請求項７】
前記集合（Ｒ）に対して実行する前記工程が、次いで、前記集合におけるサイクルを単純サイクルに分割することも含むことを特徴とする、請求項１〜６のいずれかに記載の方法。
【請求項８】
前記部品は、成型部品、板金部品、成形または熱成形プラスチック部品、金属鋳造部品、または金属圧延部品などの押出または積層部品であることを特徴とする、請求項１〜７のいずれかに記載の方法。
【請求項９】
請求項１〜８のいずれかに記載の方法を実行するための命令を含むコンピュータプログラム。
【請求項１０】
請求項９に記載のコンピュータプログラムを記録したコンピュータ読み取り可能記憶媒体。
【請求項１１】
メモリに接続されたプロセッサ、および、グラフィカル・ユーザ・インターフェイスを備えるシステムであって、前記メモリは、請求項９に記載のコンピュータプログラムを記録していることを特徴とするシステム。
【請求項１２】
切り欠きを有する部品を出力する製造オペレーションの入力部品であって、前記製造オペレーションは、プレス加工、機械加工、フライス削り、および／またはレーザー切断によって前記切り欠きを形成することを本質とし、前記部品は、請求項１〜８のいずれか１つに記載の方法によって得られることを特徴とする入力部品。
【請求項１３】
切り欠きを有する部品を出力する製造オペレーションの入力部品を生産する方法であって、前記製造オペレーションは、プレス加工、機械加工、フライス削り、および／またはレーザー切断によって前記切り欠きを形成することを本質とし、前記方法は
請求項１〜８のいずれかに記載の方法によって前記入力部品の仕様を決定することと、
前記決定した仕様に応じて前記入力部品を製造することと
を含むことを特徴とする方法。
【請求項１４】
切り欠きを有する部品を製造するための方法であって、
前記切り欠きを有する部品を出力する製造オペレーションの入力部品を請求項１３に記載の方法によって生産することと、
前記生産した入力部品に対して前記製造オペレーションを実行することと
を含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータプログラムおよびシステムの分野に関連し、より詳細には、辺のサイクルを有し、かつ、トンネルによって表される切り欠きを有する部品をモデル化するＢ−Ｒｅｐにおいて、少なくともトンネルの一部の位置を検出するための方法、システム、およびプログラムに関連する。
【背景技術】
【０００２】
オブジェクトの設計、エンジニアリング、製造のため、多数のシステムおよびプログラムが市場に提供されている。ＣＡＤは、コンピュータ支援設計（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ）の略語であり、例えば、オブジェクトを設計するためのソフトウェア・ソリューションに関する。ＣＡＥは、コンピュータ支援エンジニアリング（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｅｎｇｉｎｅｅｒｉｎｇ）の略語であり、例えば、将来の製品の物理的挙動をシミュレーションするためのソフトウェア・ソリューションに関する。ＣＡＭは、コンピュータ支援製造（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）の略語であり、例えば、製造工程および動作を定義するためのソフトウェア・ソリューションに関する。このようなコンピュータ支援設計システムにおいて、グラフィカル・ユーザ・インターフェイスは、技術の効率に関して、重要な役割を果たす。これらの技術は、製品ライフサイクル管理（Ｐｒｏｄｕｃｔ  Ｌｉｆｅｃｙｃｌｅ  Ｍａｎａｇｅｍｅｎｔ：  ＰＬＭ）システムに組み込むことができる。ＰＬＭとは、企業が、拡張エンタープライズの概念全体にわたって、製品データを共有し、共通の工程を適用し、構想に始まり製品寿命の終わりに至る製品開発のための企業知識を活用するのを支援するビジネス戦略を指す。ダッソー・システムズが提供するＰＬＭソリューション（製品名ＣＡＴＩＡ、ＥＮＯＶＩＡ、ＤＥＬＭＩＡ）は、製品エンジニアリング知識をオーガナイズするエンジニアリング・ハブ、製品エンジニアリング知識を管理する製造ハブ、およびエンジニアリング・ハブと製造ハブの両方に対するエンタープライズ統合と接続を可能にするエンタープライズ・ハブを提供する。全てのシステムは、製品、工程、リソースを結ぶオープンなオブジェクトモデルを提供し、最適化された製品定義、製造準備、生産およびサービスを推進する、動的な知識ベースの製品作成および意思決定支援を可能にする。
【０００３】
このようなシステムは、仮想立体モデルによって表される機械部品の工業化を扱うことができる。工業化とは、上記部品を生産するための型の形状を設計することであってもよい。この工業化を実行するための１つのステップは、多くの場合、成型工程では生成されない詳細を認識して（入力した立体から）除去することである。これらの詳細は、穴を含んでもよい。したがって、与えられた入力オブジェクトのトポロジー的不変量を以下の意味に従って算出することが問題になり得る。目的は、関心対象であるトポロジー的特徴の位置を特定することである。入力オブジェクトが画像の場合、トポロジー的特徴は穴である。入力オブジェクトが立体の場合、トポロジー的特徴はトンネル（「貫通孔」と同義）またはハンドルである。
【０００４】
数学的観点からは、研究対象の物体の次元に制限はない。しかしながら、産業用アルゴリズムでは２Ｄ画像または３Ｄ立体を扱う。２Ｄ画像の穴を認識するアルゴリズムは、その目的に応じて設計されており、立体に対して一般化することはできない。立体上のトンネルとハンドルを自動的に認識するアルゴリズムは、２つのカテゴリに分類できる。１つ目は、入力オブジェクトのトポロジーを表す境界行列のスミス標準形を得るために反復行列計算を利用するものである。いわゆる相同性生成元は、スミス標準形行列から容易に読み取ることができる。これら生成元から、トンネルやハンドルが決定できる。典型的な参考文献は、Ａｎ  ｉｔｅｒａｔｉｖｅ  ａｌｇｏｒｉｔｈｍ  ｆｏｒ  ｈｏｍｏｌｏｇｙ  ｃｏｍｐｕｔａｔｉｏｎ  ｏｎ  ｓｉｍｐｌｉｃｉａｌ  ｓｈａｐｅｓ，Ｄ．Ｂｏｌｔｃｈｅｖａ，Ｄ．Ｃａｎｉｎｏ，Ｓ．Ｍ．Ａｃｅｉｔｕｎｏ，Ｊ．Ｃ．Ｌｅｏｎ，Ｌ．Ｄｅ  Ｆｌｏｒｉａｎｉ，Ｆ．Ｈｅｔｒｏｙ，ＣＡＤ，４３，１１（２０１１）１４５７−１４６７である。アルゴリズムの２つ目のカテゴリでは、単体複体に対する計算を実行する。簡単に言えば、２Ｄ単体複体は三角グラフであり、３Ｄ単体複体はあるボリュームの四面体メッシュである。典型的な参考文献は、Ｃｏｍｐｕｔｉｎｇ  ｇｅｏｍｅｔｒｙ−ａｗａｒｅ  ｈａｎｄｌｅ  ａｎｄ  ｔｕｎｎｅｌ  ｌｏｏｐｓ  ｉｎ  ３Ｄ  ｍｏｄｅｌｓ，Ｔ．Ｋ．Ｄｅｙ，Ｋ．Ｌｉ，Ｊ．Ｓｕｎ，Ｄ．Ｃｏｈｅｎ−Ｓｔｅｉｎｅｒ，ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｇｒａｐｈｉｃｓ  （ＴＯＧ）−Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＡＣＭ  ＳＩＧＧＲＡＰＨ  ２００８，第２７巻３号（２００８年８月）である。商用ＣＡＤシステムは、部分簡素化機能も提供する。これらは、ユーザがディテールにおいて面を選択することによって削除するという意味で半自動的であり、システムは局所認識によってこの選択を完了することもある。この工程は、貫通孔も管理できる。
【０００５】
この先行技術には、いくつかの欠点がある。境界行列のスミス標準形行列を算出することには、以下の理由で疑問がある。境界行列の係数は０と１であるが、そのサイズは非常に大きくなる可能性がある。スミス標準形の係数は整数である。それらは整数演算を実行する反復アルゴリズムによって得られ、中間結果は大きな整数を含むことがある。浮動小数点数とは対照的に、コンピュータにおいて任意の大きな整数を表す際にメモリの上限はない。そのため、境界行列のスミス標準形を算出する際に失敗を排除することができない。これにより、スミス標準形の技術は、あらゆるサイズの入力オブジェクトを考慮する必要がある産業分野とは互換性がない。２つ目の参考文献は立体モデルのトンネルとハンドルを算出するが、その欠点は、立体のＢ−Ｒｅｐのボロノイ三角測量、立体の内部ボリュームのボロノイ３Ｄメッシュ化、および立体の外部ボリュームのボロノイ３Ｄメッシュ化を必要とすることである。言い換えれば、立体自体とその３Ｄ空間における近傍をメッシュ化する必要がある。第１に、このような計算は、メッシュ化アルゴリズムおよび入力ジオメトリが複雑であるため、失敗する可能性がある。第２に、メッシュ化およびトポロジー計算の計算時間は、双方向的利用に対応していない。商用ＣＡＤシステムの既存の半自動ソリューションは、生産性が低く、満足のいくものではない。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
こうした状況において、辺のサイクルを有し、かつ、トンネルによって表される切り欠きを有する部品をモデル化するＢ−Ｒｅｐにおいて、少なくともトンネルの一部の位置を検出する改善された解決法が依然として必要とされている。
【課題を解決するための手段】
【０００７】
したがって、切り欠きを有する部品を出力する製造オペレーションの入力の仕様を決定するための、コンピュータによって実施される方法が提供される。前記製造オペレーションは、プレス加工、機械加工、フライス削り、および／またはレーザー切断によって前記切り欠きを形成することを本質とする。本方法は、辺のサイクルを有し、部品をモデル化する、ユーザ設計のＢ−Ｒｅｐを含む、出力部品の仕様を提供することであって、前記切り欠きが、ユーザによって、前記Ｂ−Ｒｅｐにおけるトンネルで表されているような仕様を提供することを含む。本方法はまた、サイクル相同関係についての前記Ｂ−Ｒｅｐの非境界サイクルの同値類から、各同値類において、全てのサイクルが最短の長さを有するようなサイクルからなる集合を決定することを含む。本方法はまた、前記集合に対して、長さを短縮できる場合には、前記集合のサイクルを、隣接する境界サイクルとのＺ？２Ｚ和で置換することと、前記集合のサイクル、および、そのサイクルについての、前記集合におけるより短いサイクルとのＺ／２Ｚ和に関して、当該和が境界サイクルになる場合には前記サイクルを削除し、そうでない場合には、長さを短縮できる場合に前記サイクルを前記和で置換することとの繰り返しを含む工程を実行することを含む。本方法は、次いで、トンネルの位置として、前記集合の前記サイクルのうちからｎ個のサイクルを識別することであって、ｎがＢ−Ｒｅｐの種数であるような、ｎ個のサイクルを識別することを含む。また、本方法は、次いで、特定したトンネルを取り除き空きスペースを埋めることによってＢ−Ｒｅｐを編集することと、編集したＢ−Ｒｅｐを用いて前記出力部品の仕様を出力することとを含む。
【０００８】
本方法は、以下のうちの１つまたは複数を含んでいてもよい。
【０００９】
・前記トンネルの位置を識別することは、前記集合の各サイクルについて、当該サイクルの湾曲の方向とＢ−Ｒｅｐの外側の法線との整合性を表す値をサイクルに沿って算出することを含み、最も高い値を有するｎ個のサイクルがトンネルの位置として識別される。
【００１０】
・前記値は、前記サイクルの湾曲と前記Ｂ−Ｒｅｐの外側の法線とのスカラー積の符号の積分値である。
【００１１】
・前記サイクルが、前記Ｂ−Ｒｅｐの鋭利な辺に対応し、よって前記Ｂ−Ｒｅｐの前記外側の法線が前記サイクルに沿った２つのベクトルからなる場合、前記スカラー積の符号は、前記鋭利な辺が凸状であれば最大符号であり、前記鋭利な辺が凸状でなければ最小符号である。
【００１２】
・前記同値類は基本サイクルの基底において識別され、Ｂ−ｒｅｐの各サイクルは、基本サイクルのＺ／２Ｚ和によって得られる。
【００１３】
・前記基本サイクルの基底は、前記Ｂ−Ｒｅｐのカバーツリーを算出することによって決定され、各基本サイクルは、前記カバーツリーの外側のそれぞれの辺に対応し、それぞれの辺を前記カバーツリーに追加することによって定義される。
【００１４】
・前記集合に対して実行する前記工程が、次いで、前記集合におけるサイクルを単純サイクルに分割することも含む。および／または
・前記部品は、成型部品、板金部品、成形または熱成形プラスチック部品、金属鋳造部品、または金属圧延部品などの押出または積層部品である。
【００１５】
さらには、本方法を実行するための命令を含むコンピュータプログラムが提供される。
【００１６】
さらには、前記コンピュータプログラムを記録したコンピュータ読み取り可能記憶媒体が提供される。
【００１７】
さらには、メモリに接続されたプロセッサ、および、グラフィカル・ユーザ・インターフェイスを備えるシステムであって、前記メモリは前記コンピュータプログラムを記録していることを特徴とするシステムが提供される。
【００１８】
さらには、切り欠きを有する部品を出力する製造オペレーションの入力部品であって、前記製造オペレーションは、プレス加工、機械加工、フライス削り、および／またはレーザー切断によって切り欠きを形成することを本質とし、前記部品は、上記方法によって得られることを特徴とする入力部品が提供される。
【００１９】
さらには、切り欠きを有する部品を出力する製造オペレーションの入力部品を生産するための方法であって、前記製造オペレーションは、プレス加工、機械加工、フライス削り、および／またはレーザー切断によって切り欠きを形成することを本質とする方法が提供される。本方法は、上記方法によって前記入力部品の仕様を決定することと、前記決定した仕様に応じて前記入力部品を製造することとを含む。
【００２０】
さらには、切り欠きを有する部品を製造するための方法が提供される。本方法は、前記切り欠きを有する部品を出力する製造オペレーションの入力部品を上記方法によって生産することと、前記生産した入力部品に対して前記製造オペレーションを実行することとを含む。
【図面の簡単な説明】
【００２１】
【図１】検出方法の一例のフローチャートを示す。
【図２】図１の方法を含む一般的な製造工程を示す。
【図３】図１の方法を含む一般的な製造工程を示す。
【図４】図１の方法を含む一般的な製造工程を示す。
【図５】図１の方法を含む一般的な製造工程を示す。
【図６】図１の方法を含む一般的な製造工程を示す。
【図７】本方法にＢ−Ｒｅｐを入力可能な工業部品例の写真を示す。
【図８】本方法にＢ−Ｒｅｐを入力可能な工業部品例の写真を示す。
【図９】本方法にＢ−Ｒｅｐを入力可能な工業部品例の写真を示す。
【図１０】本方法にＢ−Ｒｅｐを入力可能な工業部品例の写真を示す。
【図１１】本方法にＢ−Ｒｅｐを入力可能な工業部品例の写真を示す。
【図１２】本システムのグラフィカル・ユーザ・インターフェイスの一例を示す。
【図１３】本システムの一例を示す。
【図１４】本方法を例示している。
【図１５】本方法を例示している。
【図１６】本方法を例示している。
【図１７】本方法を例示している。
【図１８】本方法を例示している。
【図１９】本方法を例示している。
【図２０】本方法を例示している。
【図２１】本方法を例示している。
【図２２】本方法を例示している。
【図２３】本方法を例示している。
【図２４】本方法を例示している。
【図２５】本方法を例示している。
【図２６】本方法を例示している。
【図２７】本方法を例示している。
【図２８】本方法を例示している。
【図２９】本方法を例示している。
【図３０】本方法を例示している。
【図３１】本方法を例示している。
【図３２】本方法を例示している。
【図３３】本方法を例示している。
【図３４】本方法を例示している。
【図３５】本方法を例示している。
【図３６】本方法を例示している。
【図３７】本方法を例示している。
【図３８】本方法を例示している。
【図３９】本方法を例示している。
【図４０】本方法を例示している。
【図４１】本方法を例示している。
【図４２】本方法を例示している。
【図４３】本方法を例示している。
【図４４】本方法を例示している。
【図４５】本方法を例示している。
【図４６】本方法を例示している。
【図４７】本方法を例示している。
【図４８】本方法を例示している。
【図４９】本方法を例示している。
【図５０】本方法を例示している。
【図５１】本方法を例示している。
【図５２】本方法を例示している。
【図５３】本方法を例示している。
【図５４】本方法を例示している。
【図５５】本方法を例示している。
【図５６】本方法を例示している。
【図５７】本方法を例示している。
【図５８】本方法を例示している。
【図５９】本方法を例示している。
【図６０】本方法を例示している。
【図６１】本方法を例示している。
【図６２】本方法を例示している。
【図６３】本方法を例示している。
【図６４】本方法を例示している。
【図６５】本方法を例示している。
【図６６】本方法を例示している。
【図６７】本方法を例示している。
【図６８】本方法を例示している。
【図６９】本方法を例示している。
【図７０】本方法を例示している。
【図７１】本方法を例示している。
【図７２】本方法を例示している。
【図７３】本方法を例示している。
【図７４】本方法を例示している。
【図７５】本方法を例示している。
【図７６】本方法を例示している。
【図７７】本方法を例示している。
【図７８】本方法を例示している。
【図７９】本方法を例示している。
【図８０】本方法を例示している。
【図８１】本方法を例示している。
【図８２】本方法を例示している。
【図８３】本方法を例示している。
【図８４】本方法を例示している。
【図８５】本方法を例示している。
【図８６】本方法を例示している。
【図８７】本方法を例示している。
【図８８】本方法を例示している。
【図８９】本方法を例示している。
【図９０】本方法を例示している。
【図９１】本方法を例示している。
【図９２】本方法を例示している。
【図９３】本方法を例示している。
【図９４】本方法を例示している。
【図９５】識別したトンネルを取り除き空きスペースを埋めることによるＢ−Ｒｅｐの編集の例を示す。
【図９６】識別したトンネルを取り除き空きスペースを埋めることによるＢ−Ｒｅｐの編集の例を示す。
【図９７】識別したトンネルを取り除き空きスペースを埋めることによるＢ−Ｒｅｐの編集の例を示す。
【図９８】識別したトンネルを取り除き空きスペースを埋めることによるＢ−Ｒｅｐの編集の例を示す。
【図９９】識別したトンネルを取り除き空きスペースを埋めることによるＢ−Ｒｅｐの編集の例を示す。
【図１００】識別したトンネルを取り除き空きスペースを埋めることによるＢ−Ｒｅｐの編集の例を示す。
【図１０１】識別したトンネルを取り除き空きスペースを埋めることによるＢ−Ｒｅｐの編集の例を示す。
【発明を実施するための形態】
【００２２】
以下、非限定的な例として、本発明の実施の形態を添付の図面を参照しつつ説明する。
図１のフローチャートは、（定義上）辺のサイクル（グラフ理論の「サイクル」の定義による）を有し、かつ、トンネルによって表される切り欠き（「貫通孔」とも呼ぶ）（各切り欠きはＢ−Ｒｅｐのそれぞれのトンネルによって表され、トンネルはＣＡＤの分野で知られており、それらは、トンネルによって表される切り欠き、または貫通孔、と呼ぶことができる）を有する（例えば機械的な）部品（の外部ジオメトリ／外形）を（Ｂ−Ｒｅｐ）モデル化するＢ−Ｒｅｐ（すなわち境界表現）において、少なくともトンネルの一部の位置を検出するための、コンピュータによって実施される方法の一例を示す。この例の方法は、（公知であり、後で定義する）サイクル相同関係についてのＢ−Ｒｅｐの非境界サイクルの同値類から、各同値類において、全てのサイクルが最短の長さを有するようなサイクルからなる集合Ｒを決定（Ｓ２０）することを含む（すなわち、そのような候補となる全ての同値類、またはその部分集合を含む可能性のある全ての同値類について、この方法は、距離（例えばユークリッド距離）の観点で、サイクルの辺に沿って累積／合計される最短の長さを有するサイクルを考慮する。なお、２つのこのようなサイクルが同様に最小のサイクルである場合は、あらゆる方法で、例えば任意に処理することができ、また本方法は、それに応じて以下のように集合Ｒを定義し考慮する）。本方法はまた、集合Ｒに対して反復を含む工程Ｓ３０を実行することを含む（後に明らかになるように、工程Ｓ３０は反復の入力、すなわち集合Ｒが、動的に発展するように、集合Ｒを動的に修正する）。反復は任意の順序で実行され、例えば下記の順で実行される可能性がある。反復は、ある時点において、（例えば、現在の）集合Ｒ（ある反復において考慮されるサイクルは、任意の方法、例えば集合Ｒの全てのサイクルでループする方法で選択される）のサイクルの長さを短縮できる場合には、隣接する境界サイクルとの
【数１】
2017142779.tif 000003
和（これ自体知られているが、明瞭化のため、後で定義する）で置換する（Ｓ３２）ことを含む（言い換えれば、反復は、置換が長さを短縮するか否かを評価し、短縮する場合にのみ置換を実行することを含むことができ、そのような条件付き動作は、コンピュータサイエンスの当業者には自明であるため、図１には示しておらず、また、これ以上の説明もしない）。この反復はまた、ある時点において、（例えば現在の）集合Ｒのサイクル（ここでも任意の方法で選ばれる）および、そのサイクルについての、集合Ｒにおけるより短いサイクル（ここでも任意の方法、例えば、そのような候補となる全ての短いサイクルでループする反復によって選択される）との
【数２】
2017142779.tif 000004
和に関して、和が境界サイクルになる場合（なお、非境界サイクルが合計されている）にはサイクルを削除し（Ｓ３４）、そうでない場合（すなわちｅｌｓｅの場合）には、（上述の）長さを短縮できる場合にサイクルを和で置換する（例えば、そうでない場合には何もしない）ことを含む。この方法は、トンネルの位置として、（反復工程Ｓ３０から得られる）集合Ｒのサイクルのうちｎ個のサイクルを識別すること（Ｓ４０）を含む。ここで、ｎはＢ−Ｒｅｐの種数である（ｎは数学的に一意に定義され、後述するようにＢ−Ｒｅｐのオイラー指数（Ｅｕｌｅｒ  ｉｎｄｅｘ）に関連しており、本方法はＳ４０の前にｎを決定すること、および／または、Ｂ−Ｒｅｐデータの中に提供されていればそれを取得することを含んでいてもよい）。
【００２３】
このような方法は、部品をモデル化したＢ−Ｒｅｐにおいて、切り欠きを表すトンネルの位置の検出を改善するので（例えば、トンネルタイプフラグ／値をＢ−Ｒｅｐの位置、例えば、そのようなタイプ値が存在しない場所に割り当てる）、部品の切り欠き検出を改善する（例えば、それ以前に位置が特定されていないトンネル、すなわち、Ｂ−Ｒｅｐは、トンネルを直接的に取得すること、すなわち、処理および／または計算なしに決定することが可能になるようなデータを含んでいない）。特に、本方法のシステマチックなアプローチのおかげで、具体的には、工程Ｓ３０の反復中に、本方法は、ユーザを関与させることなく（あるいは比較的少ないユーザの関与で）トンネルの自動検出を可能にする。さらに、コンピュータ化の基礎となる特定の数学的枠組み（サイクル代数および
【数３】
2017142779.tif 000005
和）、および工程Ｓ３０が識別（Ｓ４０）の適用範囲を縮小するという事実により、本方法は（ハードウェアリソース、例えばＣＰＵの観点から見て）比較的速くかつ比較的軽く実行され、それにより、より正確な結果（比較的、検出漏れが少なく、かつ／または、比較的、誤検出が少ない）が得られ、かつ／または、より堅牢なリアルタイムの相互作用で得られる。これは、（ジオメトリ数の観点で）部品が比較的大きい場合、例えば、部品が５０、１００、あるいは５００を超える面（例えば、さらに１００、５００、あるいは１０００を超える辺、およびそれに対応する数の頂点）を含む場合にも当てはまる。実際、このような状況においても、本方法の例は、後に説明するように、１分未満、さらには２０秒未満で、工業的に検証された正確な結果に収束可能である。
【００２４】
図１の方法は、切り欠きを有する部品を出力する製造オペレーションの入力の仕様を決定するための、コンピュータによって実施される一般的な方法の一部であってもよく、製造オペレーションは、プレス加工、機械加工、フライス削り、および／またはレーザー切断によって切り欠きを形成することを本質とする。この工程は、辺のサイクルを有し、部品をモデル化する、ユーザ設計のＢ−Ｒｅｐを含む、出力部品に関して提供された（例えば、受信し、かつ／または取得した）仕様から開始する。切り欠きは、ユーザによって、Ｂ−Ｒｅｐにおけるトンネルで表されている。言い換えると、図１に示す要素の前に、ユーザ（例えば、機械設計者）は、（例えば、機械的な）部品をモデル化するＢ−Ｒｅｐを設計している（例えば、自由に、例えば積極的にトンネルの位置を特定することなく設計し、トンネルは、Ｂ−Ｒｅｐの定義からのみ導出できる）（すなわち、Ｂ−Ｒｅｐは、機械的部品、言い換えれば、特定のＢ−Ｒｅｐのデータ処理に基づいて、そのような部品を製造する、より一般的な工程において、最終的に製造される物理的部品の物理的形状を表す）。次に、この工程では、図１の方法に従って、トンネルの少なくとも一部を（例えば、自動的に、例えば、初期設計者から仕様を受け取った、例えば別のユーザの作業空間で）検出する。そして、この工程は（例えばユーザとの対話を通して）、識別されたトンネルを除去して空き領域を埋めることによりＢ−Ｒｅｐを編集し、編集されたＢ−Ｒｅｐを用いて、出力部品の仕様を出力（例えば、ローカルおよび／または遠隔の、例えば不揮発性の、メモリへ、送信および／または格納）することを含む（すなわち、仕様は最初に提供されているが、検出されたトンネル位置に基づいて（例えばユーザとの対話を通して）実行された編集と統合され、それに応じてＢ−Ｒｅｐが修正される）（例えば、トンネルの少なくとも１つ、例えば、検出された全てのトンネルを含むトンネルが削除され、すなわち、材料で仮想的に埋められる）。
【００２５】
本方法は、入力の製造に適した型の下側および／または上側のマトリックスを設計するさらなるステップを含んでいてもよい。このような設計は、それ自体公知な方法で、出力された仕様を直接適合させる（例えば、自動的または半自動的に）ことによって実行される。実際、下側および／または上側のマトリクスは、それらが、上述の出力された仕様によって提供される３Ｄジオメトリに相補的に対応するように設計されてもよい。そして、本方法は、その設計に基づいて、そのような下側および／または上側のマトリックスを生産することを含むことができる。
【００２６】
一例では、このような方法は、ＣＡＤシステムを使用して仮想製品を設計することから始まり、当該製品を製造するための専用のツールを（型の仕様にも直接対応する、出力部品の出力仕様に基づいて）機械加工することによって終了する一般的な工程の１つのステップとして含めることができる。本発明の利益を享受可能な製造方法は、鋳造ステップ（ダイカストまたは砂型鋳造を含む）、成型ステップ（圧縮成型または射出成型を含む）、鍛造ステップ、および／またはプレスステップを含んでいてもよい。これらの方法では、最終製品の全ての詳細は含まない、ラフ部品と呼ばれる、物理的な部品の暫定版を生成する。次に、さらなるステップで、掘削ツール、切削ツール、あるいは打ち抜きツールを使用して、ラフ部品の細部が機械加工される。細部とは、主に止まり穴、貫通孔、および／または機能サーフェスである。図２は、この一般的な工程の例を示す。左側の上から下への流れは仮想世界を示す。右側の下から上への流れは現実世界を示す。
【００２７】
一例では、ＣＡＤシステムの観点から見て、データは以下のように流れてもよい。まず、ユーザは仮想部品の機能バージョンを設計する。部品がどのように仕様を満たすかに重点が置かれており、ジオメトリは非常にシンプルで、いかなる製造工程にも依存しない。図３は典型的な機能部品を示している。これは６つの貫通孔を特徴としている。第２のステップにおいて、ユーザは、製造工程に関連するジオメトリを追加することによって、仮想部品の最終バージョンを設計する。例えば、成型された、あるいは鋳造された部品は、常にドラフトサーフェス、アール、およびフィレットを特徴とする。図３はそのような最終部品の例を示す。なお、横方向の開口部が、アンダーカットを目的として、どのように再加工されているかに注目されたい。次のステップは、ツールの仮想形状の設計である。この形状は、図４に示すように、最終部品から細部を除去してラフ部品を得ることで得られる。ここで図１の方法が貫通孔を検出し除去するために使用される。そして、上下の成型マトリックス（または鍛造マトリックス）の仮想形状は、ラフ部品の形状に基づいている。図６は、典型的な成型マトリックスを示す。左のマトリックス６２はキャビティと呼ばれ、右のマトリックスはコア６４と呼ばれる。これらの形状は、物理的成型マトリックス（または鍛造マトリックス）を実際に機械加工する数値コマンド（ＮＣ）を準備するために使用される。この例の工程では、当業者によって理解されるとおり、出力された仕様に基づいてこれらのデータを決定することができる。
【００２８】
本方法は、コンピュータで実施される。すなわち、本方法のステップ（あるいは略全てのステップ）が少なくとも一つのコンピュータ、または類似の任意のシステムによって実行される。よって本方法のステップは、コンピュータにより、完全に自動的に、あるいは半自動的に実行され得る。例えば、本方法の少なくともいくつかのステップは、ユーザとコンピュータの対話を通じて始動されてもよい。求められるユーザとコンピュータの対話レベルは、想定される自動性のレベルに応じたものであって、ユーザの要望を実装する必要性との間でバランスをとるものとしてもよい。例えば、このレベルは、ユーザが定義し、かつ／または、あらかじめ定義するものであってもよい。図１を参照して、一例では、提供（Ｓ１２）は、ユーザによって起動されてもよく（例えば、ソフトウェア／システムの切り欠き／トンネル検出機能を起動する）、図に示される残りのステップは、完全に自動的に実行されてもよい。その後、ステップ（不図示。例えば検出したトンネルの削除）が完全に自動的に、あるいはユーザとの対話を通して実行されてもよい。
【００２９】
本方法のコンピュータによる実施の典型的な例は、本方法を、この目的に適合させたシステムを用いて実行することである。当該システムは、本方法を実行するための命令を含むコンピュータプログラムを記録したメモリに接続されたプロセッサ、および、例えばグラフィカル・ユーザ・インターフェイス（ＧＵＩ）を備えていてもよい。また、メモリはデータベースを記憶していてもよい。メモリは、そのような記憶に適した任意のハードウェアであり、場合により、物理的に区別可能ないくつかの部分（例えば、プログラム用に一つ、場合によりデータベース用に一つ）を備える。
【００３０】
本方法は、条件処理を含む。これは、典型的にはＳ３２とＳ３４に関わる。しかし、部品に全く切り欠きがない可能性があるため、Ｓ２０に関わることもあり、そうした場合、検出されないことはｎｕｌｌまたはｖｏｉｄという結果として検出される。これは誤検出の場合同様、検出漏れの場合も、堅牢に実行される必要がある（なお、このようなｎｕｌｌの状況は、実施上の事項に過ぎず、残りの説明は、切り欠きが存在し、よって検出されると仮定した場合に焦点を当てている）。よって、これが適用される部品によって、本方法の利点が強調される可能性がある。本方法は、部品のＢ−Ｒｅｐが、この方法によってトンネルが検出可能な工程を介して設計された場合に特に有利であり、それは、部品がＣＡＤシステムのユーザ、例えば、機械技術設計者によって設計された場合であることが最も多い。したがって、本方法を実行するための命令を含むコンピュータプログラムは、部品設計業界において有用なツールであることが分かる。
【００３１】
Ｂ−Ｒｅｐはモデル化されたオブジェクトであり、概して、本方法は、モデル化オブジェクトを扱うものである。モデル化オブジェクトは、例えばデータベースに格納されたデータによって定義される任意のオブジェクトである。さらには、「モデル化オブジェクト」という表現は、データそのものも示す。システムの種類に応じて、異なる種類のデータによってモデル化オブジェクトが定義されてもよい。実際、システムは、ＣＡＤシステム、ＣＡＥシステム、ＣＡＭシステム、ＰＤＭシステム、および／またはＰＬＭシステムの任意の組み合わせであってもよい。これらの異なるシステムにおいて、モデル化オブジェクトは、対応するデータによって定義される。したがって、ＣＡＤオブジェクト、ＰＬＭオブジェクト、ＰＤＭオブジェクト、ＣＡＥオブジェクト、ＣＡＭオブジェクト、ＣＡＤデータ、ＰＬＭデータ、ＰＤＭデータ、ＣＡＭデータ、ＣＡＥデータについて言及することがある。しかしながら、モデル化オブジェクトは、これらのシステムの任意の組み合わせに対応するデータによって定義されてもよいため、これらのシステムは、互いに排他的なものではない。したがって、そうしたシステムの以下に示す定義から明らかなように、システムは、ＣＡＤ兼ＰＬＭシステムである可能性もある。
【００３２】
ＣＡＤシステムは、少なくとも、ＣＡＴＩＡのようなモデル化オブジェクトのグラフィック表現に基づくモデル化オブジェクトの設計に適した任意のシステムをも意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現が可能なデータを備える。ＣＡＤシステムは、例えば、辺や線を用い、また、ある場合には面やサーフェスを用いて、ＣＡＤモデル化オブジェクトの表現を提供してもよい。線、辺、あるいはサーフェスは、例えば非一様有理Ｂスプライン（ＮＵＲＢＳ）など、様々な様式で表現されてもよい。具体的には、ＣＡＤファイルは仕様を含み、その仕様に基づきジオメトリが生成可能であり、よって表現が生成可能となる。モデル化オブジェクトの仕様は一つまたは複数のＣＡＤファイルに記憶されていてもよい。ＣＡＤシステムでモデル化オブジェクトを表現するファイルの典型的なサイズは、一部分あたり１メガバイトの範囲である。また、モデル化オブジェクトは、典型的には、数千の部分の集合体であってもよい。
【００３３】
ＣＡＤの文脈において、モデル化オブジェクトは、典型的には、３Ｄモデル化オブジェクト、例えば、一つの部品や部品の集合体などの製品、あるいは製品の集合体を表現するものであってもよい。「３Ｄモデル化オブジェクト」は、３Ｄ表現が可能なデータによってモデル化される任意のオブジェクトを意味する。３Ｄ表現は、その部品を全ての角度から見ることを可能にする。たとえば、３Ｄで表現された３Ｄモデル化オブジェクトは、その軸のうちの任意の軸、あるいは、その表現が表示された画面中の任意の軸を中心に、処理して回転させることが可能である。これは、特に、３Ｄモデル化されていない２Ｄアイコンについては除外される。３Ｄ表現の表示は、設計を容易にする（すなわち、設計者が作業を達成するスピードを統計的に速める）。製品の設計は生産工程の一部であるから、これによって当該産業における生産工程が迅速化する。
【００３４】
３Ｄモデル化オブジェクトは、ＣＡＤソフトウェア・ソリューションやＣＡＤシステム等を用いた仮想的デザインの完了後に実世界において生産される製品、すなわち（例えば機械的な）部品（あるいは同様に部品の集合。なぜなら部品の集合は本方法の観点では一つの部品としてみることができ、また、本方法は集合体における各部品に独立して適用することができるからである）、より一般的には任意の剛体の集合体（例えば移動機構）などの製品のジオメトリを表現してもよい。ＣＡＤソフトウェア・ソリューションは、航空宇宙、建築、建設、消費財、ハイテク機器、産業機器、輸送、海洋、および／または海洋石油／ガス生産、または交通を含む、限定されることのない様々な産業分野において製品の設計を可能にする。本方法により設計された３Ｄモデル化オブジェクトは、このように、地上車両の部品（例えば、自動車および軽トラック機器、レーシングカー、オートバイ、トラックおよびモーター機器、トラック、バス、電車を含む）、航空車両の部品（例えば、航空機体機器、航空宇宙機器、推進機器、防衛製品、航空路線機器、宇宙機器を含む）、海軍車両の部品（例えば、海軍用機器、商業用船舶、オフショア機器、ヨットおよび作業船、船舶用機器を含む）、一般的な機械部品（例えば、工業用製造機械、大型移動機械または機器、設置機器、産業機器製品、加工金属製品、タイヤ製造製品を含む）、電気機械部品または電子部品（例えば、家電、セキュリティおよび／または制御および／または計装製品、コンピューティングおよび通信機器、半導体、医療装置および設備を含む）、消費者製品（例えば、家具、家庭用および庭用製品、レジャー用品、ファッション用品、耐久消費財小売用品、織物類小売用品を含む）、包装（例えば、食品および飲料およびたばこ、美容およびパーソナルケア、家庭用製品包装を含む）などのように、任意の機械的部品であり得る工業製品を表してもよい。
【００３５】
例として、部品は、成型部品、板金部品、成形または熱成形プラスチック部品、金属鋳造部品、または金属圧延部品などの押出または積層部品であってもよい。実際、機械工学の分野でそれ自体知られているように、このような部品は一般に、プレス加工、機械加工、フライス削りおよび／またはレーザー切断（検討された部品の材料および／または関連する製造工程に依存する）に対応する切り欠きを有する。したがって本方法は、これら部品をモデル化するＢ−Ｒｅｐにおけるそのような切り欠きの位置の検出を可能にする。この位置は、Ｓ４０で識別されたｎ個のサイクルとして、または任意の種類の後処理（これは実装の詳細である）を用いて出力されてもよい。そして、従来技術で知られているように、本方法は、Ｂ−Ｒｅｐから識別されたトンネルを（例えば、その全部または一部、例えば少なくとも１つ、例えば、ユーザ決定による、および／または自動的または手動または半自動的に）除去すること、およびオプションとして、空きスペースを埋めることをさらに含んでいてもよい。これは、従来技術でそれ自体知られている任意の古典的方法をおそらくわずかに変更したものを介して行うことができる（特に、図１の方法の出力を、このような従来技術の方法で必要とされる入力に橋渡しするために、この変更は、例えば、切り欠きの内側に対応するＳ４０で識別され、よって取り除かれた、各サイクルに隣接する面の決定を含む）。これは、ユーザとの対話を含むことができ、例えば、識別されたトンネルがユーザに強調表示されてもよく、かつ／あるいは、ユーザは、結果を検証してもよく、かつ／あるいは、それらをいつ、および／または、どのように、削除し、かつ／あるいは、埋めるかを決定してもよい。
【００３６】
それ自体公知であり上述したように、多くの産業において、部品は材料マトリックス（すなわち、上記の成型、板金成形、塑性成形または熱成形、金属鋳造、および／または押出または積層部品、例えば金属圧延など、材料の量を少なくとも実質的に保持する材料連続変形工程によって得られる）に切り欠き（すなわち、上述のプレス加工、機械加工、フライス削りおよび／またはレーザ切断などによる材料不連続除去工程によって得られる）を行うことによって製造される。しかし、設計者は、典型的には、切り欠きの場所に関する情報は何ら挿入することなく、最終的な部品（つまり、切り欠きを有する部分）をモデル化する。これにより、機械設計者は仕事のうちの自分の担当する部分に集中できる。次に、図１の方法は、マトリックス成形後の特定の産業工程（すなわち、マトリックス中の切り欠きの適用）を取得することを可能にし、よって本方法は、例えば上述の削除位置の候補を識別することにより、製造工程全体の設計を補助する。この方法の事後の適用は上述したとおりであるが、図１の方法は、具体的には、トンネルの位置を決定する問題に関連する。
【００３７】
図７〜図１１は、図１の方法にＢ−Ｒｅｐを入力可能な工業部品例の写真を示す。図７は、板金部品の例を示す。図８は、自動車産業用の金属プレス加工部品の例を示す。図９は、航空宇宙産業および自動車産業用の複合部品の例を示す。図１０は、自動車産業用の鋳造加工部品の例６６と、自動車産業用の鍛造加工部品の例６８を示す。図１１は、消費財産業用のプラスチック成型部品の例を示す。
【００３８】
ＰＬＭシステムとは、物理的な、製造された製品（または製造される予定の製品）を表すモデル化オブジェクトの管理に適した任意のシステムをも指す。ＰＬＭシステムでは、モデル化オブジェクトは、このように、物理的な物体の製造に適したデータによって定義される。これらは、典型的には、寸法の値および／または公差の値であってもよい。物体を正しく製造するために、実際、このような値を用いるのが望ましい。
【００３９】
ＣＡＭソリューションとは、製品の製造データを管理するのに適した、ハードウェアのソフトウェアである、あらゆるソリューションをも指す。製造データは、一般に、製造する製品、製造工程、および必要なリソースに関するデータを含む。ＣＡＭソリューションは、製品の製造工程全体を計画し最適化するのに用いられる。例えば、実現可能性、製造工程の期間、または製造工程における特定のステップで使用されるリソース、例えば特定のロボットの数に関する情報をＣＡＭユーザに提供することができる。これにより、管理や必要な投資についての決定を可能にする。ＣＡＭは、ＣＡＤ工程、および、場合によりＣＡＥ工程に続く工程である。このようなＣＡＭソリューションは、ダッソー・システムズにより、ＤＥＬＭＩＡ（登録商標）として提供されている。
【００４０】
ＣＡＥソリューションとは、モデル化オブジェクトの物理的挙動の分析に適した、ハードウェアのソフトウェアである、あらゆるソリューションをも指す。よく知られており広く用いられているＣＡＥ技術は有限要素法（Ｆｉｎｉｔｅ  Ｅｌｅｍｅｎｔ  Ｍｅｔｈｏｄ：ＦＥＭ）であり、これは、典型的には、モデル化オブジェクトを、物理的挙動を方程式によって計算しシミュレーションできる要素に分割することを含む。このようなＣＡＥソリューションは、ダッソー・システムズにより、ＳＩＭＵＬＩＡ（登録商標）として提供されている。成長するＣＡＥ技術のもう１つは、ＣＡＤジオメトリデータを使用せずに異なる物理分野の複数の要素で構成される複雑なシステムのモデリングと解析を行うことを含む。ＣＡＥソリューションはシミュレーションを可能にし、それにより、製造する製品の最適化、改善および検証を可能にする。このようなＣＡＥソリューションは、ダッソー・システムズにより、ＤＹＭＯＬＡ（登録商標）として提供されている。
【００４１】
ＰＤＭはＰｒｏｄｕｃｔ  Ｄａｔａ  Ｍａｎａｇｅｍｅｎｔ（生産データ管理）の略である。ＰＤＭソリューションとは、特定の製品に関する全ての種類のデータを管理するのに適した、ハードウェアのソフトウェアである、あらゆるソリューションを指す。ＰＤＭソリューションは、製品のライフサイクルにかかわる全ての関係者によって使用されてもよい。これには、主として技術者のほか、プロジェクトマネージャー、財務担当者、営業担当者、およびバイヤーも含まれる。ＰＤＭソリューションは、一般に、製品指向のデータベースに基づく。これにより、関係者が製品に関する一貫したデータを共有することが可能になり、これにより、関係者が異なるデータを用いるのを防止する。このようなＰＤＭソリューションは、ダッソー・システムズにより、ＥＮＯＶＩＡ（登録商標）として提供されている。
【００４２】
図１２は、本システムのＧＵＩの一例を示し、本システムはＣＡＤシステムである。
【００４３】
ＧＵＩ２１００は、標準的なメニューバー２１１０，２１２０、ならびに底部および側面のツールバー２１４０，２１５０を有する典型的なＣＡＤのようなインターフェースであってもよい。このようなメニューバーおよびツールバーは、ユーザが選択可能なアイコンのセットを含み、各アイコンは、当技術分野で知られているように、１つまたは複数の操作または機能に関連付けられている。これらのアイコンのいくつかは、ＧＵＩ２１００に表示された３Ｄモデル化オブジェクト２０００の編集および／または作業に適合したソフトウェアツールに関連付けられている。ソフトウェアツールはワークベンチに分類することができる。各ワークベンチは、ソフトウェアツールのサブセットを含む。特に、ワークベンチの１つは、モデル化製品２０００のジオメトリ的特徴を編集するのに適した編集ワークベンチである。動作中、設計者は、例えば、オブジェクト２０００の一部を予め選択し、次いで、適切なアイコンを選択することによって、動作を開始する（例えば、寸法、色などを変更する）か、ジオメトリ的制約を編集することができる。例えば、典型的なＣＡＤ操作は、スクリーン上に表示された３Ｄモデル化オブジェクトのパンチングまたは折り畳みのモデリングである。ＧＵＩは、例えば、表示された製品２０００に関連するデータ２５００を表示してもよい。図１２の例では、「特徴ツリー」として表示されたデータ２５００およびそれらの３Ｄ表現２０００は、ブレーキキャリパおよびディスクを含むブレーキ部品に関するものである。ＧＵＩは、編集された製品の動作のシミュレーションを起動するため、または表示された製品２０００の様々な属性を描画するために、例えばオブジェクトの３Ｄ定位を容易にするための様々なタイプのグラフィックツール２１３０，２０７０，２０８０をさらに示してもよい。カーソル２０６０は、ユーザがグラフィックツールを用いて対話操作ができるように、触覚デバイスによって制御されてもよい。
【００４４】
図１３は、本システムの一例を示すものであって、当該システムは、クライアントコンピュータシステム、例えばユーザのワークステーションである。
【００４５】
本例のクライアントコンピュータは、内部通信バス１０００に接続された中央演算処理装置（ＣＰＵ）１０１０、および同じくバスに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０とを備える。クライアントコンピュータは、さらに、バスに接続されたビデオランダムアクセスメモリ１１００と関連付けられたグラフィックス処理装置（ＧＰＵ）１１１０を備える。ビデオＲＡＭ１１００は、当該技術分野において、フレームバッファとしても知られる。大容量記憶装置コントローラ１０２０は、ハードドライブ１０３０などの大容量記憶装置へのアクセスを管理する。コンピュータプログラムの命令及びデータを具体的に実現するのに適した大容量メモリ装置は、例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリ装置のような半導体メモリ装置、内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク、光磁気ディスク、およびＣＤ−ＲＯＭディスク１０４０を含む、全ての形式の不揮発性メモリを含む。前述のいずれも、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補完されてもよいし、組み入れられてもよい。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。クライアントコンピュータはまた、カーソル制御装置、キーボードなどの触覚装置１０９０を含んでいてもよい。カーソル制御装置は、ユーザがディスプレイ１０８０上の任意の所望の位置にカーソルを選択的に位置させることを可能にするために、クライアントコンピュータ内で使用される。さらに、カーソル制御デバイスは、ユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号生成装置を含む。典型的には、カーソル制御装置はマウスであってもよく、マウスのボタンは信号を生成するために使用される。あるいは、または追加的に、クライアントコンピュータシステムは、感知パッドおよび／または感知スクリーンを備えてもよい。
【００４６】
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでいてもよく、命令は、上記システムに方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは、例えば、デジタル電子回路、またはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実装されてもよい。プログラムは、例えばプログラマブルプロセッサによる実行のための機械読み取り可能な記憶装置に具体的に実現された製品のような装置として実装されてもよい。方法ステップは、プログラム可能なプロセッサが命令のプログラムを実行し、入力データを操作して出力を生成することによって方法の機能を実行することによって実行されてもよい。したがって、プロセッサは、データ記憶システム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信し、また、それらにデータおよび命令を送信するようにプログラム可能であってもよく、またそのように接続されていてもよい。アプリケーションプログラムは、高水準の手続き型またはオブジェクト指向のプログラミング言語で、または必要に応じてアセンブリ言語または機械語で実装されていてもよい。いずれの場合も、言語はコンパイラ型言語またはインタープリタ型言語であってもよい。プログラムは、フルインストールプログラムまたは更新プログラムであってもよい。いずれの場合も、プログラムをシステムに適用すると、本方法を実行するための指示が得られる。
【００４７】
先に述べたように、本方法またはそれ以前の工程は、例えば工業デザイナーによるＢ−Ｒｅｐの設計を含むことができる。「３Ｄモデル化オブジェクトの設計」とは、３Ｄモデル化オブジェクトを作り上げる工程の少なくとも一部である任意の行為あるいは一連の行為を指す。したがって、本方法は、３Ｄモデル化オブジェクトを一から作ることを含んでもよい。あるいは、本方法は、以前に作成された３Ｄモデル化オブジェクトのＢ−Ｒｅｐを提供し、次いで３Ｄモデル化オブジェクトを修正することを含んでいてもよい。
【００４８】
本方法は、本方法を実行した後、トンネルがＢ−Ｒｅｐから除去されている場合には、まず例えば切り欠きなしで、モデル化されたオブジェクトに対応する物理的製品を生産する（そして場合により後で切り欠きを行う）ことを含む製造工程に含まれていてもよい。いずれの場合も、本方法によって設計されたモデル化オブジェクトは、製造オブジェクトを表していてもよい。したがって、モデル化オブジェクトは、モデル化された立体（すなわち、立体を表すモデル化オブジェクト）であってもよい。製造オブジェクトは、一つの部品や部品の集合体などの製品であってもよい。本方法は、モデル化オブジェクトの設計を改善するものであるから、本方法はまた、製品の製造を改善し、したがって、製造工程の生産性を高める。
【００４９】
以下、図１の方法について、図１４〜図５５、および例えば以下の書籍で論じられている代数的トポロジーおよびグラフ理論の公知の概念を参照してより詳細に説明する：Ｅｌｅｍｅｎｔｓ  ｏｆ  ａｌｇｅｂｒａｉｃ  ｔｏｐｏｌｏｇｙ，  Ｊａｍｅｓ  Ｒ．  Ｍｕｎｋｒｅｓ，  Ａｄｄｉｓｏｎ−Ｗｅｓｌｅｙ，１９８４およびＧｒａｐｈ  Ｔｈｅｏｒｙ，Ｆｒａｎｋ  Ｈａｒａｒｙ，Ａｄｄｉｓｏｎ  Ｗｅｓｌｅｙ  １９６９。
【００５０】
機械部品（例えば、Ｂ−Ｒｅｐ）の立体モデルの場合、この方法の目的は、（例えば全ての）貫通孔（すなわち、Ｂ−Ｒｅｐ内のトンネル）を識別して位置を特定することである。工業工程のさらなるステップは、対応する金型の形状を設計するためにこれらの貫通孔を除去することであってもよい。貫通孔の認識には、「組合せ代数トポロジー」の数学理論を利用する。本方法は、立体のＢ−Ｒｅｐ上のサイクルを用いて代数演算を実行し、これらのサイクルをＳ２０およびＳ３０で最小の長さおよびテンションに収縮させることによって、立体のトポロジー的「トンネル」および「ハンドル」を算出することができる（なお、これらのトポロジー的概念はそれ自体知られている）。貫通孔の位置は「トンネル」サイクルによって特定される。図１４は、貫通孔１４２を特徴とする部品１４０の一例を示す。図１５は、本方法によって認識されるトンネルサイクル１５０を示す。図１６は、貫通孔１４２が取り除かれた部品１４０に対応する部品１６０を示す。このステップは、（図１に示す方法に対して）工業化工程の次のステップであり、以下では広範に論じられていない。
【００５１】
本方法は貫通孔の自動認識を提供し、ユーザによる選択は不要である。これは、特徴の除去と効果的に組み合わされると、ユーザに成型設計のための貴重なツールを提供する。本方法は、例えばＳＴＥＰフォーマット変換器によって得られた純粋なＢ−Ｒｅｐに、編集可能な特徴を追加するのにも有用である。貫通孔を認識することにより、ジオメトリ的貫通孔を置換して、編集可能な「貫通孔」の特徴を作成することができる。このように、本方法を使用して特徴認識工程を改善することができる。さらに、本方法アルゴリズムは、他のデータ構造および計算（整数行列、ボロノイメッシング）とは対照的に、入力立体のＢ−Ｒｅｐモデル（およびより具体的にはＢ−Ｒｅｐモデルで必要とされる最小情報）のみを扱う。これにより本方法は堅牢になる。
【００５２】
図１７は、図１の方法の全体的な構造の一例を示す。図１および図１７を共に参照すると、最初のブロックＳ１０は、本方法の入力データの提供に対応する。この例では、立体部品のＢ−ＲｅｐがＳ１２で提供され、次に、この例の方法では、立体のＢ−Ｒｅｐからワイヤーフレームグラフを抽出する（Ｓ１４）が、その代わりにワイヤーフレームグラフをそれ自体として提供するか、他のデータから算出することもできる。次に、この例の方法は、出力を提供するように処理すべき集合Ｒを決定（Ｓ２０）する、第２のブロックを実行する。最初に、Ｓ２２で、ワイヤーフレームグラフのカバーツリーが算出される。このカバーツリーは、境界サイクルが除去（Ｓ２５）される（なぜなら境界サイクルが貫通孔の位置を特定できないため）基本サイクルの基底を定義する。このような除去（Ｓ２５）は、図１には示されていないが、それは単に省略して実行することができ、したがって（実際のデータ削除に対応するのではなく）概念的であるためである。主なトポロジー的工程は、次に、残りの非境界サイクルを、例えば可能な限り、削減することである（ブロックＳ３０）。このステップでは、頂点、辺、および面を含む、Ｂ−Ｒｅｐ全体が使用される。最後に、ワイヤーテンション情報を最終ブロックＳ４０で使用して、削減されたサイクルのうちのトンネルサイクルを識別する。
【００５３】
この方法の入力は、立体をモデル化する公知のＢ−Ｒｅｐ形式である。広く知られているように、Ｂ−ｒｅｐモデルは、トポロジー的エンティティおよびジオメトリ的エンティティを含む。トポロジー的エンティティとは、面、辺、そして頂点である。ジオメトリ的エンティティとは、３Ｄオブジェクト、すなわち、サーフェス、平面、曲線、線、点である。定義上、面は、支持サーフェスと呼ばれる、サーフェスの有界部分である。辺は、支持曲線と呼ばれる、曲線の有界部分である。頂点は３Ｄ空間中の点である。これらは、以下のように互いに関連する。曲線の有界部分は、曲線上の２つの点（頂点）によって定義される。サーフェスの有界部分は、その境界によって定義され、境界は、サーフェス上の辺の組である。面の境界における辺同士は、共通の頂点によって接続されている。面同士は共通の辺によって接続されている。定義上、２つの面は、それらが共通の辺を有するとき隣接する。同様に、２つの辺は、それらが共通の頂点を有するとき隣接する。このような情報は、本方法の入力データとして十分である。
【００５４】
図１８および図１９は、Ｓ１２で提供され、図面上で１、２および３と番号が付けられた３つの面、すなわち平面状上面１、および２つの円筒状側面２および３からなる円筒形スロット８０のＢ−ｒｅｐモデルを示す。図１８は、スロット８０の斜視図である。図１９は、全ての面の分解図である。重複する番号は、共通の辺および頂点を示す。面１は平面の有界部分である。面１の境界は、辺４および５を含み、それらは、それぞれ頂点１０および１１によって境界が定められている。これらはどちらも同じ支持円を有する。面２は、それぞれ無限の円筒状サーフェス（すなわち面２の支持サーフェス）上にある辺６、８、５、および１３によって境界が定められている。面１と面２は、辺５を共有しているため、隣接している。面２と面３は、辺８および１３を共有しているため、隣接している。面１と面３は、辺４を共有しているため、隣接している。
【００５５】
図２０は、スロット８０のＢ−ｒｅｐモデルの「境界が定められる」トポロジー的関係を示す。上位レイヤー１０１のノードは面であり、中間レイヤー１０３のノードは辺であり、下位レイヤー１０５のノードは頂点である。図２１および図２２は、トポロジー的エンティティ（面、辺、頂点）と支持ジオメトリ（無限円筒、無限平面、無限線、点）との関係を示す。ＣＡＤシステムでは、Ｂ−ｒｅｐモデルは、適切なデータ構造において、「境界が定められる」関係と、トポロジー的エンティティと支持ジオメトリとの関係、および支持ジオメトリの数学的記述を収集する。言い換えれば、図２０および図２１に示すデータ構造は、この例のトポロジーデータの一部であり、ジオメトリデータのジオメトリ的エンティティへのリンク（図２１）、およびトポロジー的エンティティ同士の間のリンク（図２０）を含む。
【００５６】
図１の方法は、オプションとして、Ｓ１２で提供されるＢ−Ｒｅｐの前処理を含んでいてもよい。オイラー式（サイクルと種数を数えるためのもの）を簡単に利用できるようにするため、本方法は面に内部ループがないことを保証してもよい。さらに、代数モデルに準拠するために、辺が同じ頂点で開始および終了しないこと、および同じ面の境界で辺が２回発生しないことが保証されてもよい。その技術的理由は境界演算子の定義に関連しており、これについては後で説明する。これにより本方法によって考慮される立体の形状が制限されることはない。実際、トポロジー的アーチファクトは、１つの辺だけで定義されるループ内に余分な頂点を追加し、当該ループを橋渡しして結合する辺を作成することによって、内側ループを特徴とする面を分割することである。例えば、図２３〜図２４は、望ましくないトポロジーを示す。図２３は、立体（４個の面、６個の辺、および４個の頂点）であり、図２４は、そのワイヤーフレームグラフである。これは図２５および図２６にそれぞれ示された、付加された頂点および分割された面を特徴とするトポロジー（８個の面、１６個の辺、および８個の頂点）で置換してもよい。想定どおり、立体のＢ−Ｒｅｐのトポロジーは変更されるが、その形状は変更されない。
【００５７】
ここで、代数的トポロジーにおいてよく知られ、本方法で用いられている概念を、説明に導入する。導入の目標は、本方法で用いられる概念の全体像を提供することである。数学的定式化については、次のセクションで詳述する。
【００５８】
まず、サイクルと境界サイクルの概念について説明する。
【００５９】
３Ｄ空間内に閉じたスキンが与えられるとすると、サイクルは直観的にわかるように、当該スキン上の単一の閉ループである。直感的にわかるように、境界サイクルは、スキンの一部分の境界をなすループであり、境界サイクルに沿ってスキンを切断すると、２つの部分が分離される。非境界サイクルは、境界サイクルとは対照的であり、非境界サイクルによって境界を定められるスキンの部分は存在しない。直感的にわかるように、非境界サイクルに沿ってスキンを切断しても、２つの部分が分離することはない。
【００６０】
代数的トポロジーの目標は、与えられたスキンのサイクルを２つのカテゴリ、すなわち境界サイクルと非境界サイクルに分類することである。さらには、非境界サイクルを、独立したサイクルの最小の集合（集合Ｒ。後述。）に分類することもまた目標である。立体の貫通孔の位置は、Ｂ−Ｒｅｐの非境界サイクルの中でより特定しやすいことが分かる。
【００６１】
図２７はトーラス状のスキンを示す。これは、３Ｄ空間内の、閉じた、向き付けられた（ｏｒｉｅｎｔｅｄ）スキンである。図２８はトーラス状のスキン上の境界サイクルｕを示す。図２９は、サイクルｕで境界が定められたトーラス状のスキンにおける部分ｗを示す。なお、相補的なスキンもまたサイクルｕによって境界が定められる。図３０〜図３１は、非境界サイクルｕおよびｖを示している。サイクルｕ（ｖ）にしたがってトーラス状のスキンを切断しても、スキンは分離しない。図３０のサイクルｕはハンドルの位置を特定し、図３１のサイクルｖはトンネルの位置を特定する。直観的には明らかであるが、サイクルｕとｖが非境界サイクルであり、ある意味で、それらが固有であり独立していることを証明するためには、高度な数学が必要である。これが代数的トポロジーの目的である。
【００６２】
ここで同値サイクル（ｅｑｕｉｖａｌｅｎｔ  ｃｙｃｌｅｓ）の概念について説明する。
【００６３】
この理論の重要な特徴の１つは、一連のサイクル間の同値関係、いわゆる「相同」関係である。定義上、閉じたスキンＳが与えられるとすると、Ｓ上の２つのサイクルｕおよびｖは相同であり、Ｓの一部ｗが、ｕ＋ｖで表されるｕ「および」ｖがｗの境界となるような状態で存在する。ｕ＋ｖという記号化形式については後で定義する。例えば、図３２のトーラス状のスキン上のサイクルｕおよびサイクルｖは相同である。なぜなら、これらは図３３に示されている小さな管状のスキンｗ（トーラス状のスキンの一部）の境界だからである。理論的な観点では、非境界サイクルは、後述するように、相同関係の同値類として分類される。
【００６４】
ハンドルの数を数える例を次に説明する。
【００６５】
微分幾何学の１つの定理では、（３Ｄ空間内の）単一の閉じたスキンが、図３４に示されるように、球、トーラス、二重トーラス、三重トーラスなどに円滑に変形され得ることが述べられている。定義上、例えばトーラスは１つのハンドルを備え、二重トーラスは２つのハンドルを特徴とする。例えば、図３５の機械部品は、３つの貫通孔を備えているので、図３６の三重トーラスと同値である。同様に、図３７の機械部品は、１つの貫通孔を備えているので、図３８のトーラスと同値である。
【００６６】
さらに、スキンがトポロジカルグラフ（典型的には、三角メッシュ、または立体のＢ−Ｒｅｐの準拠トポロジー）によって記述される場合、スキンの種数と呼ばれるハンドルの数γは、いわゆるオイラー式を用いて簡単に算出できる。なお、ｎ2を面の数、ｎ1を辺の数、ｎ0を頂点の数とすると、種数γは次のようになる。
【００６７】
ｎ0−ｎ1＋ｎ2＝２（１−γ）
図３９は、ｎ0＝８個の頂点、ｎ1＝１６個の辺、ｎ2＝８個の面を有し、γ＝１となる、準拠Ｂ−Ｒｅｐの上述の式を示す。同値オイラー式は、内側ループを有する面を特徴とする立体のＢ−Ｒｅｐに用いることができる。なお、ｎlを内側ループの数とすると、式は以下のようになる。
【００６８】
ｎ0−ｎ1＋ｎ2−ｎl＝２（１−γ）
図４０は、ｎ0＝１８個の頂点、ｎ1＝２７個の辺、ｎ2＝１０個の面、ｎl＝１個の内側ループ（底面）を有し、γ＝１となる非準拠Ｂ−Ｒｅｐのオイラー式を示す。最後に、代数的トポロジーによると、関心対象の非境界サイクル（後述するホモロジー群Ｈ1の生成元の数）は正確に２γ、すなわち、図４１に示されているように、１つのハンドル当たり１つのサイクル、および１つのトンネル（貫通孔）あたり１つのサイクルである。
【００６９】
本方法は、最小限の非境界サイクルの数を予測するために、これらの結果を利用する。要するに、本方法は、基本的には、Ｓ２０において、基本サイクルの基底における非境界サイクルの同値類を識別（すなわち、各同値類は、基底のそれぞれの部分集合として識別される）することによって、（１）与えられたスキン上の全てのサイクルのうちの境界サイクルを無視し、（２）非境界サイクルからトンネルとハンドルの位置を特定しているものを見つけ出し、トンネルのみに焦点に着目する、という単純なやり方で、代数トポロジーが行うことを実施する。基本サイクルの基底は、定義上、Ｂ−Ｒｅｐの各サイクルが基本サイクルの（必ずしも固有ではない）
【数４】
2017142779.tif 000006
の和によって得られるようなものである（図１の方法によって実施される、基底がどのように決定されるかの例は後述する）。
【００７０】
ここで、代数的トポロジーの背景について、より詳細に説明する。
【００７１】
本方法は、組み合わせ代数トポロジーの抽象的で複雑な数学を利用する。なお、この理論の全ての細部が本方法の範囲内で与えられるわけではないため、有用な概念および演算のみについて詳細に説明する。
【００７２】
理論全体は、任意の次元の単体複体を扱うが、理論の有用な部分は、閉じた向き付けられた３Ｄスキン、典型的には立体モデルのＢ−Ｒｅｐ上の、サイクルに関するものである。こうした利用の前に、本理論を、３Ｄ空間における三角化閉スキンのために導入する。
【００７３】
＜ｐ―チェイン＞
三角化スキンΣのトポロジーは、以下のように定義される。ｎ2を三角形の数、ｎ1を辺の数、ｎ0を頂点の数とする。
【数５】
2017142779.tif 000007
を、ｎ2個の座標からなるベクトルのセットとし、各座標は０または１である。
【数６】
2017142779.tif 000008
および
【数７】
2017142779.tif 000009
についても同様の定義とする。スキンΣの三角形の数ｉ∈｛１，・・・，ｎ2｝は、１に等しいｉ番目の座標を除いて、全ての座標が０に等しいベクトルｆi∈Ｃ2に関連付けられている。Σの辺の数ｉ∈｛１，・・・，ｎ1｝も同様に定義され、１に等しいｉ番目の座標を除いて、全ての座標が０に等しいベクトルｅi∈Ｃ1に関連付けられている。最後に、Σの頂点の数ｉ∈｛１，・・・，ｎ0｝は、１に等しいｉ番目の座標を除いて、全ての座標が０に等しいベクトルｖｉ∈Ｃ0に関連付けられている。
【００７４】
目的は、代数的オブジェクト（ベクトル）をトポロジー的エンティティ（面、辺、頂点）に関連付けることである。実際、ジオメトリデータ（頂点の座標、三角形の法線ベクトル）は、本目的とは無関係である。
【００７５】
ここで、Ｃ2、Ｃ1、およびＣ0は、＋で表される、２を法とする加算を備えている。演算＋は、以下のルールに従って、整数０と１を結合する：０＋１＝１＋０＝１、０＋０＝０、１＋１＝０。ここで、適切な表記は
【数８】
2017142779.tif 000010
【数９】
2017142779.tif 000011
および
【数１０】
2017142779.tif 000012
となる。これにより、ベクトルの加算によって三角形、辺、および頂点を代数的に組み合わせることが可能になる。三角形の和を「２−チェイン」と呼び、辺の和を「１−チェイン」と呼び、頂点の和を「０−チェイン」と呼ぶ。実際、代数的トポロジーの重要な特徴の１つは、代数を使ってトポロジーを扱うことである。
【００７６】
例えば、図４２に示すような、四面体である多面体スキンを考える。これは、図４３に示すように、ｎ2＝４個の三角形、ｎ1＝６個の辺、およびｎ0＝４個の頂点を含む。したがって、定義によると、
【数１１】
2017142779.tif 000013
および
【数１２】
2017142779.tif 000014
が成り立つ。
【００７７】
同様に、
【数１３】
2017142779.tif 000015
および
【数１４】
2017142779.tif 000016
が成り立つ。
【００７８】
最後に、
【数１５】
2017142779.tif 000017
および
【数１６】
2017142779.tif 000018
が成り立つ。
【００７９】
＜境界演算子＞
三角形、辺および頂点の接続性は、従来より∂pで表される、いわゆる境界演算子によって取得される。境界演算子∂2：Ｃ2→Ｃ1は、三角形が辺によってどのように境界付けられるかを示す。これは、ｎ1行ｎ2列に広がる０、１の係数を特徴とする行列によって定義されるＣ2からＣ1までの線形演算子である。同様に、境界演算子∂1：Ｃ1→Ｃ0は、辺が頂点によってどのように境界付けられるかを示す。これは、ｎ0行ｎ1列に広がる０、１の係数を特徴とする行列によって定義されるＣ1からＣ0までの線形演算子である。本質的に、
【数１７】
2017142779.tif 000019
が成り立ち、これは境界の境界には境界がないことを意味する。ｗ∈Ｃpとすると、典型的には
【数１８】
2017142779.tif 000020
と定式化され、全てのｉについて、σi∈Ｃp-1が成り立つ。曖昧でなければ、境界演算子は∂pの代わりに∂で表すことができる。
【００８０】
このモデルでは、境界付けエンティティ（頂点、辺）は、有界エンティティの境界（辺、面）で０回または１回（２回以上ではない）発生する。その結果、辺が同じ頂点で開始して終了することはなく、また同じ面の境界で２回以上発生することはない。
【００８１】
例に戻って、図４３に定義された接続性によると、境界演算子∂2は、以下のとおりとなる。
【数１９】
2017142779.tif 000021
トポロジー情報「三角形ｆ1は、辺ｅ1、ｅ4、およびｅ6によって境界が定められている」とは、以下の行列ベクトル積の結果である。これは、ｆ1の境界を算出するものである。
【数２０】
2017142779.tif 000022
上述の定義により、式∂2ｆ1＝ｅ1＋ｅ4＋ｅ6は厳密化されている。なお、加算は可換的演算であるため、三角形の境界で連続する辺は重要ではない。
【００８２】
境界演算子∂1は、以下のようになる。
【数２１】
2017142779.tif 000023
トポロジー情報「辺ｅ3は、頂点ｖ2およびｖ4によって境界が定められている」とは、以下の行列ベクトル積の結果である。
【数２２】
2017142779.tif 000024
ここでも、式∂1ｅ3＝ｖ2＋ｖ4は完全に厳密化されている。なお、加算は可換的演算であるため、辺の境界で連続する頂点は重要ではない。
【００８３】
最後に、
【数２３】
2017142779.tif 000025
において１＋１＝０であることに留意しつつ、想定どおり、
【数２４】
2017142779.tif 000026
であることが確認できる。
【数２５】
2017142779.tif 000027
この式により、非常にシンプルなルールに従ってチェインを組み合わせることができる。２つのチェインの和ｕ＋ｖは、ｖ中にはないｕの要素とｕ中にはないｖの要素とを含む。
【００８４】
＜サイクル＞
この代数的背景のおかげで、サイクルと境界サイクルの形式は以下のように定義できる。∂1ｕ＝０の場合、１−チェインのｕは、１―サイクルである。∂2ｗ＝ｕとなるような２−チェインのｗが存在する場合、１―サイクルｕは境界サイクルである。
【数２６】
2017142779.tif 000028
が成り立つため、境界は常にサイクルであるが、先にトーラス状のスキンで説明したように、逆は必ずしも真ではない。
【００８５】
例に戻って、１−チェインｓ＝ｅ6＋ｅ5＋ｅ3＋ｅ1は、∂1ｓ＝０であるためサイクルであり、また、∂2（ｆ2＋ｆ3）＝ｓであるため、境界サイクルでもある。正四面体の例では、全てのサイクルが境界サイクルである。
【００８６】
図１の方法は、図４４に示すように、１―サイクルを大量に組み合わせることができる。ｕ＝ｅ4＋ｅ1＋ｅ6およびｖ＝ｅ1＋ｅ2＋ｅ3が成り立つ場合、ｕ＋ｖ＝ｅ4＋ｅ6＋ｅ2＋ｅ3が成り立つ。
【００８７】
＜相同関係＞
Ｋｅｒ∂1⊂Ｃ1を１−サイクルの群とする。これは、境界演算子∂1の核である。
【数２７】
2017142779.tif 000029
定義上、２つの１−サイクルｕ、ｖ∈Ｋｅｒ∂1は、ｕ＋ｖ＝∂2ｗとなるような２−チェインｗ∈Ｃ2が存在する場合、相同である。相同関係は同値関係であるので、基本的代数により、Ｋｅｒ∂1上に同値類を定義する。定義上、ホモロジー群Ｈ1は、これらの同値類を含む。より正確には、Ｉｍ∂2を２−チェイン境界群とする。
【数２８】
2017142779.tif 000030
構成すると、ホモロジー群Ｈ1は、商群Ｈ1＝（Ｋｅｒ∂1）／（Ｉｍ∂2）となる。この代数的工程は、境界サイクルではない１―サイクルのセット上に構造を提供する。本発明の目的の１つは、Ｈ1の生成元を算出することである。
【００８８】
以下の性質は、本方法にとって非常に便利である。ｕとｖが相同で、ｓが境界サイクルであれば、ｕ＋ｓとｖも相同である。その証明は以下のとおりである。ｕとｖは相同であるので、ｕ＋ｖ＝∂2ｗとなるようなチェインｗが存在する。ｓは境界サイクルであるから、ｓ＝∂2ｔとなるようなチェインｔが存在する。したがって、
【数２９】
2017142779.tif 000031
すなわち、ｕ＋ｓとｖは相同である。
【００８９】
図１の例では、基本サイクルの基底は、Ｂ−Ｒｅｐのカバーツリーを算出（Ｓ２２）することによって決定される。各基本サイクル（Ｓ２４で識別される）はカバーツリーの外側のそれぞれの辺に対応し、それぞれの辺をカバーツリー（実際には、定義上そのような結果を保証するカバーツリー）に追加することによって定義される。
【００９０】
ここで、カバーツリーの算出について説明する。
【００９１】
カバーツリーは、基本サイクルの基底を作成するのに便利である。このアルゴリズムの入力は、向き付けられていない（ｎｏｎ−ｏｒｉｅｎｔｅｄ）グラフである。出力は、カバーツリーに属する辺のラベル「２」である。アルゴリズムを開始する前に、全ての頂点および全ての辺が「０」でラベル付けされる。このアルゴリズムは、内部変数としてラスト・イン・ファースト・アウト（ＬＩＦＯ）リストを使用する。エンティティｚのラベルをｍ（ｚ）と表す。エンティティｚを値ｋでラベル付けすることは、命令ｍ（ｚ）：＝ｋとして記号化されている。
【数３０】
2017142779.tif 000032
なお、カバーツリーは固有のものではなく、任意のカバーツリーが利用できる。
【００９２】
ここで、基本サイクルの基底の識別（Ｓ２４）について説明する。
【００９３】
上記のアルゴリズムは、入力グラフの辺のラベル付けを提供する。ラベル２の辺はカバーツリーの辺であり、ラベル１の辺はそうではない。グラフ理論によると、カバーツリーにラベル１の辺を追加することにより、当該辺によって識別できる固有の基本サイクル（単一ループ）が作成される。
【００９４】
各基本サイクルは、カバーツリーにラベル１の辺を追加することによって得られる。追加された辺は、次のラベル１の辺が追加される前に削除される。なお、ｎ1は辺の数、ｎ0は頂点の数、ｎcは基本サイクルの数であり、ｎcは次の式で算出される。
【数３１】
2017142779.tif 000033
ここでＳ２６について説明する。
【００９５】
Ｓ２６は、サイクルが境界サイクルであるか否かをテストする（それによって境界サイクルを除外する）ことから開始することができる。
【００９６】
このアルゴリズムの入力は、
・面、辺、頂点で定義された、閉じた向き付けられたスキン。
【００９７】
・辺のリストによって定義されるサイクルＬ。
【００９８】
アルゴリズムの出力は、「入力サイクルは境界サイクルか」という質問に対する答え「ｙｅｓ」または「ｎｏ」である。
【００９９】
このアルゴリズムの原理は、以下のとおりである。サイクルの一方の側から（Ｂ−Ｒｅｐの面に沿って）進んで、サイクルを横切ることなくサイクルの反対側に到達することが可能であるならば、それは境界サイクルではない。サイクルの両側から進んで、もし２つの経路がサイクルを横切ることなく出会う場合、それは境界サイクルではない。図４５〜図４６は、この２つの状況を示す。
【０１００】
このアルゴリズムは、内部変数としてラスト・イン・ファースト・アウト（ＬＩＦＯ）リストを使用する。面ｆのラベル値はｍ（ｆ）で表される。面ｆを値ｋでラベル付けすることは、命令ｍ（ｆ）：＝ｋとして記号化されている。開始前に、全ての面が０でラベル付けされる。このアルゴリズムは、各辺が、正確に２つの面によって共有されることに基づいており、これは立体のＢ−Ｒｅｐの特徴である。
【数３２】
2017142779.tif 000034
入力サイクルが境界サイクルの場合、全ての面をこのアルゴリズムが探索する。その場合、入力サイクルは、＋１とラベル付けされた全ての面の境界であり、また、−１とラベル付けされた全ての面の境界でもある。
【０１０１】
図４７は、境界サイクル（太線）と、面のラベリングの一例を示す。
【０１０２】
ここで集合Ｒ中の残りのサイクルを削減すること（工程Ｓ３０）について説明する。
【０１０３】
サイクルを削減することは、図１の方法の主要な工程である。なぜなら、これにより最終的なテンションテストの精度を保証することができるからである（特に、誤検出が比較的少なくなる）。入力データは、上述のアルゴリズムによって算出されたｎc個の基本サイクルのリストである。出力データは、立体の境界上のトンネルの位置を特定するサイクルのリストである。
【０１０４】
＜境界サイクルの除去＞
いちばん最初のステップは、基本サイクルから境界サイクルを取り除く（Ｓ２５）ことである。これは、各基本サイクルについて、上述の「境界サイクルのテスト」専用のアルゴリズムを用いて実行される。このステップの完了後、非境界基本サイクルの数はｎbで表される。構成すると、ｎb≦ｎcとなる。個数ｎbは、基本サイクルの算出に用いるのに選択されたカバーツリーに依存する。
【０１０５】
＜非境界サイクルの類＞
第２のステップは、非境界基本サイクルを、相同関係に従って同値類に分類する（Ｓ２６）ことである。これは以下のように行われる。
【数３３】
2017142779.tif 000035
ｎhを非境界基本サイクルの類の個数とする。構成すると、ｎh≦ｎbとなる。類は、１つのサイクルだけを含んでいてもよい。
【０１０６】
次のステップは、各類における代表的な非境界基本サイクルｒiを選択する（Ｓ２８）ことである。もしあれば、類における他のすべてのサイクルのうち、長さ（累積された、例えばユークリッド長さ）が最も短くなるものが選択される。
【数３４】
2017142779.tif 000036
【０１０７】
＜非境界基本サイクルの類の削減（Ｓ３０）＞
このステップＳ３０は、この例における方法の中核をなす。入力データは、それぞれが非境界基本サイクルの類を表すサイクルｒiの集合Ｒである。理論によると、ホモロジー群Ｈ1は２2γ個の要素の有限群であり、２γ個の要素の最小集合によって生成され、生成元と呼ばれ、Ｇ＝｛ｈ1，・・・，ｈ2γ｝で表される。集合
【数３５】
2017142779.tif 000037
は、Ｈ1の部分集合である。これは、任意のｒ∈Ｈ1、特に、任意のｒ∈Ｒについて、次のような整数の部分集合Ｉ⊆｛１，・・・，２γ｝が存在することを意味する。
【数３６】
2017142779.tif 000038
上述の式は同値類の意味で理解しなければならない。すなわち、
【数３７】
2017142779.tif 000039
あるいは、同様に
【数３８】
2017142779.tif 000040
となるような２−チェインｗが存在する。集合Ｒは基本サイクルに基づいて構築されており、任意のサイクルを基本サイクルの和として書くことができるので、Ｒの要素は、確実にＨ1の生成元である。ポイントは、集合Ｒは、要素の数ｎh≧２γ、および、サイクルの（例えば、ユークリッド）長さという両方の意味において、常に最小とは限らないということである。
【０１０８】
このアルゴリズムは、集合Ｒにおけるサイクルの数、およびそれらの（例えば、ユークリッド）長さを、繰り返し、可能な限り減らす。Ｒ0で表された、減少後の最後のＲにおける最小サイクル数は、理論から分かるが（｜Ｒ｜≧｜Ｒ0｜≧２γ）、アルゴリズムの最後には｜Ｒ0｜＞２γとなることがある。しかしながら、γ個のトンネル状のサイクルは全てＲ0中に見つけることができる。
【０１０９】
図１の例の反復アルゴリズムは、３つのスキーム、すなわち、隣接する面の追加、サイクルの結合、および単純サイクルへの分割（オプション）を含む。これらスキームはどの順番で適用してもよく、また各スキームの適用対象は、どのような順番で選択してもよい。反復の収束は、当業者に知られている任意の方法で決定することができる。なお、その結果は一意ではない（反復工程は異なる方法で実行され得るため）。一例では、Ｓ３２はできるだけ反復される（その結果、集合Ｒの要素の長さが最小になり、その後Ｓ３４とＳ３６が組み合わされて反復される。Ｓ３６は、Ｓ３４の結果が分割の可能性を示す度に適用される）。
【０１１０】
＜隣接面の追加による長さの短縮（Ｓ３２）＞
隣接面を用いた長さの短縮は以下のように実施される。入力データは非境界サイクルｕであり、出力データは立体のワイヤーフレームトポロジーに応じたサイクルｕと相同な最短のサイクルである。面ｆのラベルはｍ（ｆ）で表される。面ｆを値ｋでラベル付けすることは、命令ｍ（ｆ）：＝ｋとして記号化されている。開始前に、全ての面が「０」でラベル付けされる。
【数３９】
2017142779.tif 000041
本方法は、Ｒ中のサイクルの数を変更しない。
【０１１１】
＜非境界サイクルの結合による削減（Ｓ３４）＞
入力データは集合Ｒである。出力データは、より少ない数のサイクル及びより短いサイクルを含む更新された集合Ｒである。
【０１１２】
サイクルの結合による削減は、以下のように実施される。ｒiとｒjをＲの２つのサイクルとし、ｒkをそれらのうち最長のものとする。これらの和はｒ＝ｒi＋ｒjで表される。ｒが境界サイクルである場合、ｒkはＲのサイクルの和と相同であり、したがって不要であることを意味する。これはＲから削除される。それ以外の場合、Ｌｅｎｇｔｈ（ｒ）がＬｅｎｇｔｈ（ｒk）より小さければ、ｒkはｒに置換される。アルゴリズムは以下のとおりである。
【数４０】
2017142779.tif 000042
【０１１３】
＜単純サイクルへの分割（Ｓ３６）＞
単純サイクルへの分割（Ｓ３６）は、本方法をさらに改善するオプションである。これは、Ｓ３４の各反復の後、またはＳ３４が収束した後に実行することができる。そして、Ｓ３４の反復は再び実行されてもよく、次いでＳ３６が、収束するまで再び実行されてもよい。Ｓ３４とＳ３６の反復のこのような組み合わせは、どのような方法でも実施できる。
【０１１４】
Ｓ３６は以下のように実施される。最初のステップは、接続された成分を分離することであり、これはグラフ理論の分野における古典的なアルゴリズムである。次のステップは、単純サイクルを探すことである。任意の頂点から開始し、この頂点から、探索した頂点に達するまで、辺の経路を辿る。この工程を全ての辺が探索されるまで繰り返す。なお、すべての頂点が偶数の接続辺を持ち、そうでなければ、１−チェインはサイクルではない。この方法は、Ｒの要素数を増加させるが、全体の長さ
【数４１】
2017142779.tif 000043
は維持される。
【０１１５】
集合Ｒが正しく削減されると、本方法により、トンネルの位置を正確に識別することができる。図１の例では、これは、（削減された）集合Ｒの各サイクルについて、サイクルの湾曲の方向とＢ−Ｒｅｐの外側の法線との整合性を表す値をサイクルに沿って算出（Ｓ４２）し、最も高い値を有するｎ個のサイクルを、識別されるトンネルの位置（すなわち、本方法の出力）として決定する（Ｓ４４）ことによって行われる。他のサイクルは、単純に、また任意に、考慮に入れない（これらは理論的にはトンネルではなくハンドルとして考慮されてもよい）。（各サイクルについて）整合性値が、サイクルの湾曲とＢ−Ｒｅｐの外側の法線とのスカラー積の符号の（サイクルに沿った）積分（すなわち、スカラー積が正のとき＋１、スカラー積が負のとき−１）であり「サイクルのテンション」と呼ばれる例を以下に説明する。特に、この例では、鋭利な辺（ｓｈａｒｐ  ｅｄｇｅ）（積分が評価されるサイクルの少なくとも一部）の場合を以下のように扱うことができる：サイクルがＢ−Ｒｅｐの鋭利な辺に対応し、よってＢ−Ｒｅｐの外側の法線がサイクルに沿った２つのベクトルからなる場合、スカラー積の符号は、鋭利な辺が凸状であれば最大符号であり、鋭利な辺が凸状でなければ最小符号である（最大および／または最小は、鋭利な辺に沿って２つの法線ベクトルが存在することによる２つの可能性である）。
＜サイクルのテンション＞
【数４２】
2017142779.tif 000044
を滑らかな閉曲線とする。これは弧の長さでパラメータ化され、Ｌはその長さである。結果として、接線ベクトルは、すべてのｔ∈［０，Ｌ］について、正規化された｜Ｃ′（ｔ）｜＝１であり、第２導関数ベクトルは、すべてのｔ∈［０，Ｌ］について、接線ベクトル〈Ｃ′（ｔ），Ｃ′′（ｔ）〉＝０に対して垂直である。この閉曲線が弾性材料である場合、点Ｃ（ｔ）における弾性力Ｆが曲率ベクトルＣ′′（ｔ）に沿って配向されることは、従来技術から周知である。
【０１１６】
＜滑らかなサーフェス上の滑らかな曲線＞
今、弾性曲線は、立体の境界である滑らかな閉じたサーフェス上にある。点Ｃ（ｔ）における滑らかなサーフェスの外側の法線はＮ（ｔ）で表される。〈Ｃ′′（ｔ），Ｎ（ｔ）〉＜０のとき、弾性力は、点Ｃ（ｔ）を立体の内部に押す傾向がある。逆に、〈Ｃ′′（ｔ），Ｎ（ｔ）〉＞０のとき、弾性力は点Ｃ（ｔ）を立体から引き離す傾向がある。図４８〜図４９は、それぞれ反対方向および同じ方向の、外側法線ベクトル４８２および曲率ベクトル４８４について、これら両方の状況を示している。〈Ｃ′′（ｔ），Ｎ（ｔ）〉＞０のときは、図５０に示すように、弾性曲線は立体上を滑り、その他のことは結論づけることができない。
【０１１７】
滑らかな閉じたサーフェス上の滑らかな閉じた曲線のトンネルタイプおよびハンドルタイプは、力が立体の内側または立体の外側に向けられる弾性曲線の長さを測定することによって定義される。正確には、φ：［０，Ｌ］→｛−１，０，＋１｝を、〈Ｃ′′（ｔ），Ｎ（ｔ）〉＜０のときにはφ（ｔ）＝−１、〈Ｃ′′（ｔ），Ｎ（ｔ）〉＞０のときにはφ（ｔ）＝＋１、〈Ｃ′′（ｔ），Ｎ（ｔ）〉＝０のときにはφ（ｔ）＝０によって定義される写像であるとする。
【数４３】
2017142779.tif 000045
のとき、および
【数４４】
2017142779.tif 000046
のとき、曲線Ｃは、それぞれ、トンネルおよびハンドルである。関数φ（スカラー積そのものではない）が考慮され、それにより本方法の堅牢性を高める（そして、局所的な特異性に対して耐性を持たせる）。積分値は、全体的な視点で、不規則性を捨てるように算出される。
【０１１８】
例えば、ａ及びｂをそれぞれ図４８〜図５０に示すトーラスの小半径及び大半径とする。図４８では、全てのｔ∈［０，２πａ］に対して〈Ｃ′′（ｔ），Ｎ（ｔ）〉＜０であるから、
【数４５】
2017142779.tif 000047
であり、これは曲線Ｃがハンドルであることを意味する。逆に、図４９の状況では、全てのｔ∈［０，２πｂ］に対して〈Ｃ′′（ｔ），Ｎ（ｔ）〉＞０であるから、
【数４６】
2017142779.tif 000048
であり、これは曲線Ｃがトンネルであることを意味する。
【０１１９】
目標は、この定義を、鋭利な辺と鋭利な頂点（ｓｈａｒｐ  ｖｅｒｔｉｃｅｓ）を特徴とする立体の境界に一般化することである。本質的に、立体の境界に属する３Ｄの点は、面の内側の点、または鋭利な辺または鋭利な頂点の内側の点である。本方法の文脈では、滑らかな辺の内側、または滑らかな頂点にある点は、面の内側の点に相当する。これは、外側の法線が明確に定義されている（ｗｅｌｌ  ｄｅｆｉｎｅｄである）ためである。さらに、曲線Ｃは立体の辺の経路である。
【０１２０】
したがって、本例の方法は、正確な結果を得るために以下のスキームを適用してもよい。
【０１２１】
＜点Ｃ（ｔ）が面の内側にある＞
Ｃ（ｔ）が面の内側にある場合、外側の法線Ｎ（ｔ）は明確に定義されており、写像φ（・）の値は以下のようになる。
【表１】
2017142779.tif 000049
【０１２２】
＜点Ｃ（ｔ）が鋭利な辺の内側にある＞
ここで、Ｃ′′（ｔ）は明確に定義されているが、Ｎ（ｔ）はそうではない。これは、曲線Ｃが局所的に、立体の鋭利な辺と一致することを意味する。本質的に、曲線Ｃは辺の経路であるため、この状況は最も一般的である。そして、Ｃ（ｔ）に対する２つの隣接面、すなわち面１および面２が存在し、スカラー積〈Ｃ′′（ｔ），Ｎ1（ｔ）〉および〈Ｃ′′（ｔ），Ｎ2（ｔ）〉を算出することができる。ここでＮiは隣接面の法線ベクトルである（番号の順番に意味はない）。写像φ（・）は、スカラー積の符号と、点Ｃ（ｔ）における鋭利な辺の局所的な凸形状に従って定義される。
【０１２３】
次の表は、鋭利な辺が凸状である場合の点Ｃ（ｔ）における写像φ（・）の値を含む。なお、Ｎ1（ｔ）＝Ｎ2（ｔ）のとき、この表は１つ前の表と同じになる。
【表２】
2017142779.tif 000050
図５１〜図５２は、立体の凸状の鋭利な辺である曲線Ｃを示している。明らかに、（＋，＋）の状況においてφ（ｔ）＝１である。
【０１２４】
次の表は、鋭利な辺が凸状でない場合の点Ｃ（ｔ）における写像φ（・）の値を含む。なお、Ｎ1（ｔ）＝Ｎ2（ｔ）のとき、この表は最初の表と同じになる。
【表３】
2017142779.tif 000051
図５３〜図５４は、立体の非凸状の鋭利な辺である曲線Ｃを示している。明らかに、（−，−）の構成においてφ（ｔ）＝−１である。
【０１２５】
＜点Ｃ（ｔ）が鋭利な頂点にある＞
頂点が鋭利である状況は、主に
【数４７】
2017142779.tif 000052
であるために、以前の演算で結論がもたらされない場合に使用される。これは、曲線Ｃが平面上の線分を含む場合に常に生じる。鋭利な頂点Ｃ（ｔ0）において、曲線Ｃは、２つの滑らかな曲線Ｃ-（ｔ）とＣ+（ｔ）の接合部であり、これはｔ＜ｔ0についてはＣ（ｔ）＝Ｃ-（ｔ）であり、ｔ＞ｔ0についてはＣ（ｔ）＝Ｃ+（ｔ）であることを意味する。曲線Ｃ-およびＣ+は、二つの隣接面を有する。Ｆ（ｔ0）＝Ｃ+′（ｔ0）―Ｃ―′（ｔ0）をｔ0における弾性力とする。診断では、曲線Ｃ-およびＣ+を用いてそれぞれ算出した写像φ（・）の評価を組み合わせる。ε∈｛−，＋｝の場合、曲線Ｃεが凸状の辺であれば、値
【数４８】
2017142779.tif 000053
は、以下の表に従って算出される。
【表４】
2017142779.tif 000054
ε∈｛−，＋｝の場合、曲線Ｃεが非凸状の辺であれば、値
【数４９】
2017142779.tif 000055
は、以下の表に従って算出される。
【表５】
2017142779.tif 000056
なお、
【数５０】
2017142779.tif 000057
のとき、前の２つの表は最初の表と同じになる。
【０１２６】
弾性曲線Ｃが頂点Ｃ（ｔ0）で立体の外側に引っ張られるか内側に引っ張られるかどうかは、値
【数５１】
2017142779.tif 000058
と、値
【数５２】
2017142779.tif 000059
に示される。次の表は、全ての可能性を集めたものである。
【表６】
2017142779.tif 000060
図５５は、６つの辺に共有される複雑な頂点（ｃｏｍｐｌｅｘ  ｖｅｒｔｅｘ）Ｃ（ｔ0）を示す。曲線Ｃは、太字の線分を含む。タイプは「内側」である。実際、（−，０）の構成において
【数５３】
2017142779.tif 000061
である。なぜなら、
【数５４】
2017142779.tif 000062
であり、
【数５５】
2017142779.tif 000063
であるからである。さらに、（０，―）の構成において
【数５６】
2017142779.tif 000064
である。なぜなら、
【数５７】
2017142779.tif 000065
であり、
【数５８】
2017142779.tif 000066
であるからである。力Ｆ（ｔ0）は、立体の内側の曲線Ｃの点Ｃ（ｔ0）を押す傾向がある。
【０１２７】
図１のアルゴリズムの完全な実施が、図５６に表された立体に例示されている。
【０１２８】
次の表は、トポロジー的エンティティと有用なオイラー式とを並べたものである。
【表７】
2017142779.tif 000067
図５７は、基本サイクルの基底を算出するのに用いるカバーツリーを示す。図５８〜図７０は、ｎc＝１３個の基本サイクルを示す。明確にするため、カバーツリーの辺は点線としている。これにより、立体のＢ−Ｒｅｐ上でサイクルの位置を特定しやすくなる。明らかに、サイクルｉ、ｌ、ｍは境界サイクルであるから、これらは捨てられる。ｎb＝１０個の非境界サイクルは、｛ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｊ，ｋ｝である。非境界サイクルのクラスを計算すると、ｎh＝７個の類｛ａ，ｆ｝、｛ｂ，ｇ｝、｛ｃ｝、｛ｄ｝、｛ｅ，ｊ｝、｛ｈ｝および｛ｋ｝が得られる。例えば、図７１〜図７３はサイクルａ＋ｆが面の境界であることを示し、これは、サイクルａとｆが相同であることを意味する。長さの基準によると、Ｌｅｎｇｔｈ（ａ）＜Ｌｅｎｇｔｈ（ｆ）であり、Ｌｅｎｇｔｈ（ｂ）＜Ｌｅｎｇｔｈ（ｇ）であり、Ｌｅｎｇｔｈ（ｅ）＜Ｌｅｎｇｔｈ（ｊ）であるため、ｎh＝７個の代表的サイクルはＲ＝｛ａ，ｂ，ｃ，ｄ，ｅ，ｈ，ｋ｝である。明らかに、集合Ｒは最小ではない。なぜなら、ｎh＝７＞４＝２γだからである。Ｒの縮小工程は、隣接する面の境界サイクルを追加することによって継続される。例えば、サイクルｋはサイクル∂2ｕを追加することによって分解することができる。ここで、ｕ（ｋに隣接する面）は、図７４〜図７５に示すように、立体の上半分の面である。結果として生じるサイクルｋ＋∂2ｕ＝ａ＋ｂ＋ｘは、図７６に示されるように、サイクルａおよびｂを含む。成分ａおよびｂは分離され、図７７に示すように、ｋは、Ｒにおいてｘで効果的に置換できる。
【０１２９】
次の繰り返しは、∂2ｗを追加することによってｘを短縮することであり、ここで、図７８〜図７９に示すように、ｗは、立体のＢ−Ｒｅｐの右側の半円筒状の面であり、これによりサイクルｅが生じる。ｋ＋（ａ＋ｂ＋ｅ）＝∂2（ｕ＋ｗ）であるから、代数的観点から、ｋ＝ａ＋ｂ＋ｅであることが分かる。そして、サイクルを結合するステップで、重複するａ、ｂおよびｅが取り除かれる。同様の手法を用いて、サイクルｈもａとｂに縮小する。すなわち、ｈ＋∂2ｕ＝ａ＋ｂであり、同じ理由で集合Ｒから取り除かれる。サイクルａ、ｂ、ｃ、ｄ、ｅは、縮小工程によって変化させられずに維持され、最終的にＲ0＝｛ａ，ｂ，ｃ，ｄ，ｅ｝となる。なお、５＝｜Ｒ0｜＞４＝２γであるが、トンネル状のサイクルａおよびｂが存在する。
【０１３０】
一番最後のステップは、サイクルのテンションの基準を用いて、サイクルａとｂがトンネルであり、サイクルｃ、ｄ、ｅがハンドルであることを識別することである。サイクルｂの点Ｘの近傍における立体の局所的断面は、図８０〜図８１に示すとおりである。〈Ｃ′′，Ｎ1〉＝０、〈Ｃ′′，Ｎ2〉＞０であり、曲線ｂは凸状の鋭利な辺であるから、明らかに、曲線ｂ全体にわたってφ＝１である。同じことがサイクルａにも当てはまる。サイクルｄは４つの線分で構成されており、曲線ｄに全体にわたってＣ′′＝０であるため、積分演算は実行できない。曲線ｄの点Ｙの近傍における立体の局所的断面は、図８２〜図８３に示すとおりである。
【数５９】
2017142779.tif 000068
かつ
【数６０】
2017142779.tif 000069
であるため、明らかに、頂点Ｙのタイプは「内側」である。サイクルｄの他の頂点についても同様である。
【０１３１】
上述の様々なオプションを特徴とする図１の方法の実施について、異なる部品を表すいくつかのＢ−Ｒｅｐｓでテストした。面の数は比較的大きい場合もあったが、この方法では常に比較的高速にトンネルの位置が特定された。結果は、図８４〜図９４を参照して、以下に示す。
【表８】
2017142779.tif 000070
＜切り欠き面の選択と除去＞
先に述べたように、識別されたトンネルを除去し空きスペースを埋めることによるＢ−Ｒｅｐの編集は、それ自体公知の方法に従って古典的に行うことができる。以下でその例を説明する。
【０１３２】
こうした編集は、ダッソー・システムズのＣＡＡライブラリのような、特徴認識と面除去機能を提供する市販のＣＡＤソフトウェアのＡＰＩを使用することにより、効果的に実行できる。明瞭性と一貫性のために、単純な例を用いてこの方法の文脈で説明する。
【０１３３】
この方法を用いて識別されたトンネルサイクルが与えられたとすると、一例において、この工程の１つのステップは、切り欠き面を選択し、これらの面を立体の閉じた境界を維持しつつ除去することである。
【０１３４】
切り欠き面の識別は、以下のように行うことができる。定義上、「窪み」は、凸状の縁によって境界が定められた、立体の隣接面の集合である。サイクルの左側を選択すると、第１の窪みが見つかるまで、隣接する面が収集される。サイクルの右側を選択することによって、同じように第２の窪みが見出される。最短の境界曲線を特徴とする窪みが選択される。これが切り欠きである。
【０１３５】
図９５は、典型的な立体、および切り欠きの位置を特定するサイクルを示す。図９６は、サイクルの右側を辿ることで見つかった窪みを示す。図９７は、サイクルの左側を辿ることで見つかった窪みを示す。切り欠き面は、最短の境界を特徴とする窪みの面であり、これは図９６に明確に示されている。
【０１３６】
切り欠き面の除去は、以下のように行うことができる。最初のステップは、次の図に示すように、すべての切り欠き面を立体のＢ−Ｒｅｐから破棄して、開いたスキンを生成することである。この開いたスキンの境界は２つのサイクルを含む。最初のもの（図９８のサイクルＡ）は、切り欠きの位置と、窪み認識によって算出された切り欠きの他端（図９８のサイクルＢ）とを特定するのに使用される。この開いたスキンを閉じることについては、図９８のサイクルＢで説明される。Ｆ1とＦ2を、切り欠きのサイクル（前の図のサイクルＢ）に接続する面とし、Ｓ1とＳ2を、それぞれの支持サーフェスであるとする。交差曲線Ｃ＝Ｓ1∩Ｓ2が算出される（図９９の点線）。両端でＦ1とＦ2のそれぞれの境界と接続されていないＣの部分Ｃ1およびＣ5は破棄される。Ｆ1またはＦ2の境界の辺と局所的に一致する曲線Ｃの部分Ｃ2およびＣ4も同様に破棄される。図１００に示すように、サイクルに一致するＦ1とＦ2の境界部分は破棄される。曲線Ｃの部分Ｃ3は、面Ｆ1とＦ2の開いた境界を閉じるのに用いられ、図１０１に示されるサイクル近傍の立体のＢ−Ｒｅｐを閉じる最終的な面Ｆ′1とＦ′2が生成される。サイクルＡ近傍の開いたスキンは、次に、容易な方法で閉じることができる。このサイクルは面の内部ループであり、閉鎖とは、この内部ループを破棄することである。
【０１３７】
なお、サイクルに隣接する面の数に応じて、サイクルの近傍における立体の局所的なジオメトリおよびトポロジーは非常に複雑になり得る。最終的な解決策は、サイクル全体にわたって充填サーフェスを計算し、それを立体に縫い付けることである。
【図１】
2017142779.tif 000074
【図２】
2017142779.tif 000075
【図３】
2017142779.tif 000076
【図４】
2017142779.tif 000077
【図５】
2017142779.tif 000078
【図６】
2017142779.tif 000079
【図７】
2017142779.tif 000080
【図８】
2017142779.tif 000081
【図９】
2017142779.tif 000082
【図１０】
2017142779.tif 000083
【図１１】
2017142779.tif 000084
【図１２】
2017142779.tif 000085
【図１３】
2017142779.tif 000086
【図１４】
2017142779.tif 000087
【図１５】
2017142779.tif 000088
【図１６】
2017142779.tif 000089
【図１７】
2017142779.tif 000090
【図１８】
2017142779.tif 000091
【図１９】
2017142779.tif 000092
【図２０】
2017142779.tif 000093
【図２１】
2017142779.tif 000094
【図２２】
2017142779.tif 000095
【図２３】
2017142779.tif 000096
【図２４】
2017142779.tif 000097
【図２５】
2017142779.tif 000098
【図２６】
2017142779.tif 000099
【図２７】
2017142779.tif 000100
【図２８】
2017142779.tif 000101
【図２９】
2017142779.tif 000102
【図３０】
2017142779.tif 000103
【図３１】
2017142779.tif 000104
【図３２】
2017142779.tif 000105
【図３３】
2017142779.tif 000106
【図３４】
2017142779.tif 000107
【図３５】
2017142779.tif 000108
【図３６】
2017142779.tif 000109
【図３７】
2017142779.tif 000110
【図３８】
2017142779.tif 000111
【図３９】
2017142779.tif 000112
【図４０】
2017142779.tif 000113
【図４１】
2017142779.tif 000114
【図４２】
2017142779.tif 000115
【図４３】
2017142779.tif 000116
【図４４】
2017142779.tif 000117
【図４５】
2017142779.tif 000118
【図４６】
2017142779.tif 000119
【図４７】
2017142779.tif 000120
【図４８】
2017142779.tif 000121
【図４９】
2017142779.tif 000122
【図５０】
2017142779.tif 000123
【図５１】
2017142779.tif 000124
【図５２】
2017142779.tif 000125
【図５３】
2017142779.tif 000126
【図５４】
2017142779.tif 000127
【図５５】
2017142779.tif 000128
【図５６】
2017142779.tif 000129
【図５７】
2017142779.tif 000130
【図５８】
2017142779.tif 000131
【図５９】
2017142779.tif 000132
【図６０】
2017142779.tif 000133
【図６１】
2017142779.tif 000134
【図６２】
2017142779.tif 000135
【図６３】
2017142779.tif 000136
【図６４】
2017142779.tif 000137
【図６５】
2017142779.tif 000138
【図６６】
2017142779.tif 000139
【図６７】
2017142779.tif 000140
【図６８】
2017142779.tif 000141
【図６９】
2017142779.tif 000142
【図７０】
2017142779.tif 000143
【図７１】
2017142779.tif 000144
【図７２】
2017142779.tif 000145
【図７３】
2017142779.tif 000146
【図７４】
2017142779.tif 000147
【図７５】
2017142779.tif 000148
【図７６】
2017142779.tif 000149
【図７７】
2017142779.tif 000150
【図７８】
2017142779.tif 000151
【図７９】
2017142779.tif 000152
【図８０】
2017142779.tif 000153
【図８１】
2017142779.tif 000154
【図８２】
2017142779.tif 000155
【図８３】
2017142779.tif 000156
【図８４】
2017142779.tif 000157
【図８５】
2017142779.tif 000158
【図８６】
2017142779.tif 000159
【図８７】
2017142779.tif 000160
【図８８】
2017142779.tif 000161
【図８９】
2017142779.tif 000162
【図９０】
2017142779.tif 000163
【図９１】
2017142779.tif 000164
【図９２】
2017142779.tif 000165
【図９３】
2017142779.tif 000166
【図９４】
2017142779.tif 000167
【図９５】
2017142779.tif 000168
【図９６】
2017142779.tif 000169
【図９７】
2017142779.tif 000170
【図９８】
2017142779.tif 000171
【図９９】
2017142779.tif 000172
【図１００】
2017142779.tif 000173
【図１０１】
2017142779.tif 000174
【外国語明細書】
2017142779.tif 000175
2017142779.tif 000176
2017142779.tif 000177
2017142779.tif 000178
2017142779.tif 000179
2017142779.tif 000180
2017142779.tif 000181
2017142779.tif 000182
2017142779.tif 000183
2017142779.tif 000184
2017142779.tif 000185
2017142779.tif 000186
2017142779.tif 000187
2017142779.tif 000188
2017142779.tif 000189
2017142779.tif 000190
2017142779.tif 000191
2017142779.tif 000192
2017142779.tif 000193
2017142779.tif 000194
2017142779.tif 000195
2017142779.tif 000196
2017142779.tif 000197
2017142779.tif 000198
2017142779.tif 000199
2017142779.tif 000200
2017142779.tif 000201
2017142779.tif 000202
2017142779.tif 000203
2017142779.tif 000204
2017142779.tif 000205
2017142779.tif 000206
2017142779.tif 000207
2017142779.tif 000208
2017142779.tif 000209
2017142779.tif 000210
2017142779.tif 000211
2017142779.tif 000212
2017142779.tif 000213
2017142779.tif 000214
2017142779.tif 000215
2017142779.tif 000216
2017142779.tif 000217
【図１】
2017142779.tif 000218
【図２】
2017142779.tif 000219
【図３】
2017142779.tif 000220
【図４】
2017142779.tif 000221
【図５】
2017142779.tif 000222
【図６】
2017142779.tif 000223
【図７】
2017142779.tif 000224
【図８】
2017142779.tif 000225
【図９】
2017142779.tif 000226
【図１０】
2017142779.tif 000227
【図１１】
2017142779.tif 000228
【図１２】
2017142779.tif 000229
【図１３】
2017142779.tif 000230
【図１４】
2017142779.tif 000231
【図１５】
2017142779.tif 000232
【図１６】
2017142779.tif 000233
【図１７】
2017142779.tif 000234
【図１８】
2017142779.tif 000235
【図１９】
2017142779.tif 000236
【図２０】
2017142779.tif 000237
【図２１】
2017142779.tif 000238
【図２２】
2017142779.tif 000239
【図２３】
2017142779.tif 000240
【図２４】
2017142779.tif 000241
【図２５】
2017142779.tif 000242
【図２６】
2017142779.tif 000243
【図２７】
2017142779.tif 000244
【図２８】
2017142779.tif 000245
【図２９】
2017142779.tif 000246
【図３０】
2017142779.tif 000247
【図３１】
2017142779.tif 000248
【図３２】
2017142779.tif 000249
【図３３】
2017142779.tif 000250
【図３４】
2017142779.tif 000251
【図３５】
2017142779.tif 000252
【図３６】
2017142779.tif 000253
【図３７】
2017142779.tif 000254
【図３８】
2017142779.tif 000255
【図３９】
2017142779.tif 000256
【図４０】
2017142779.tif 000257
【図４１】
2017142779.tif 000258
【図４２】
2017142779.tif 000259
【図４３】
2017142779.tif 000260
【図４４】
2017142779.tif 000261
【図４５】
2017142779.tif 000262
【図４６】
2017142779.tif 000263
【図４７】
2017142779.tif 000264
【図４８】
2017142779.tif 000265
【図４９】
2017142779.tif 000266
【図５０】
2017142779.tif 000267
【図５１】
2017142779.tif 000268
【図５２】
2017142779.tif 000269
【図５３】
2017142779.tif 000270
【図５４】
2017142779.tif 000271
【図５５】
2017142779.tif 000272
【図５６】
2017142779.tif 000273
【図５７】
2017142779.tif 000274
【図５８】
2017142779.tif 000275
【図５９】
2017142779.tif 000276
【図６０】
2017142779.tif 000277
【図６１】
2017142779.tif 000278
【図６２】
2017142779.tif 000279
【図６３】
2017142779.tif 000280
【図６４】
2017142779.tif 000281
【図６５】
2017142779.tif 000282
【図６６】
2017142779.tif 000283
【図６７】
2017142779.tif 000284
【図６８】
2017142779.tif 000285
【図６９】
2017142779.tif 000286
【図７０】
2017142779.tif 000287
【図７１】
2017142779.tif 000288
【図７２】
2017142779.tif 000289
【図７３】
2017142779.tif 000290
【図７４】
2017142779.tif 000291
【図７５】
2017142779.tif 000292
【図７６】
2017142779.tif 000293
【図７７】
2017142779.tif 000294
【図７８】
2017142779.tif 000295
【図７９】
2017142779.tif 000296
【図８０】
2017142779.tif 000297
【図８１】
2017142779.tif 000298
【図８２】
2017142779.tif 000299
【図８３】
2017142779.tif 000300
【図８４】
2017142779.tif 000301
【図８５】
2017142779.tif 000302
【図８６】
2017142779.tif 000303
【図８７】
2017142779.tif 000304
【図８８】
2017142779.tif 000305
【図８９】
2017142779.tif 000306
【図９０】
2017142779.tif 000307
【図９１】
2017142779.tif 000308
【図９２】
2017142779.tif 000309
【図９３】
2017142779.tif 000310
【図９４】
2017142779.tif 000311
【図９５】
2017142779.tif 000312
【図９６】
2017142779.tif 000313
【図９７】
2017142779.tif 000314
【図９８】
2017142779.tif 000315
【図９９】
2017142779.tif 000316
【図１００】
2017142779.tif 000317
【図１０１】
2017142779.tif 000318