(57)【要約】  本発明は、モデリングされたオブジェクトの面を接続するエッジのコンピュータ支援設計の方法を対象とする。この方法は、指定された凸状タイプまたは凹状タイプの面およびエッジのサブセットの構造を、一方のタイプのエッジによって接続された面を親サブセットから繰り返して切断すること（｜Ｓ１２０｜）により決定するステップ（Ｓ１００〜Ｓ１３０）であって、それによりその親サブセットは、接続されていない面、またはもう一方のタイプのエッジによって接続される面のいずれかを含む子サブセットに分解され、その場合、その一方のタイプのエッジはその子サブセットに保持され、エッジのその一方のタイプはさらに切断の繰り返しごとに交互に変更される、ステップを含む。この方法はさらに、所与の親サブセットで指定されているエッジの上記タイプに従って、子サブセットを接続している上記１つまたは複数のエッジを面取り処理またはフィレット処理するために上記所与の親サブセットからの上記構造を処理するステップ（Ｓ１４０）を含む。さらに一般的に、本発明は、モデリングされたオブジェクトの面を接続するエッジの設計の代わりに、モデルの要素を接続する形体を処理する２つの別個の技術を実施する設計をさらに対象とすることができる。
2010537299.tif 000002
【特許請求の範囲】
【請求項１】
モデリングされたオブジェクトの面を接続するエッジのコンピュータ支援設計の方法であって、
凸状タイプまたは凹状タイプの面およびエッジのサブセットの構造を、前記凸状タイプまたは凹状タイプのうちの一方のエッジによって接続された面を親サブセットから繰り返して切断することにより（｜Ｓ１２０｜）決定するステップ（Ｓ１００〜Ｓ１３０）であって、それにより前記親サブセットは、
接続されていない面、または
前記凸状タイプまたは凹状タイプのうちのもう一方のエッジによって接続された面のいずれかを含む子サブセットに分解され、
その場合、前記凸状タイプまたは凹状タイプのうちの前記一方のエッジは前記子サブセットに保持され、かつ
エッジの前記凸状タイプまたは凹状タイプのうちの前記一方はさらに切断の繰り返しごとに交互に変更される、ステップを含み、
所与の親サブセットで指定されているエッジの前記タイプに従って、子サブセットを接続している前記１つまたは複数のエッジを面取り処理またはフィレット処理するために前記所与の親サブセットからの前記構造を処理するステップ（Ｓ１４０）をさらに含むことを特徴とする方法。
【請求項２】
前記構造を処理する前記ステップは、前記所与の親サブセットからの前記構造を処理するための一次深度走査を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記構造を決定する前記ステップの前に、
前記面を表すノードおよび前記エッジを表す弧を有するグラフを決定するステップ（Ｓ１００）を含み、
前記構造を決定する前記ステップにおいて、繰り返し切断は、前記グラフを、前記構造内のそれぞれの子サブセットに対応するサブグラフに繰り返し切断すること（｜Ｓ１２０｜）により実行されることを特徴とする請求項１または２に記載の方法。
【請求項４】
前記グラフを決定する前記ステップ（Ｓ１００）は、切断の前または切断中に、複数のノードを単一のノードに折りたたむ（collapsing）ステップをさらに含み、
前記折りたたまれたノードは、
なだらかなエッジによって接続された隣接面と、
特異頂点を取り囲む面と、
場合によってはユーザ定義の、事前定義された幾何学的判定基準に従って結合された面とを表すことを特徴とする請求項３に記載の方法。
【請求項５】
前記グラフを決定する前記ステップ（Ｓ１００）の後、および前記構造を決定するステップの前に、
決定された前記グラフのカットノードの分離を行い（Ｓ１１０）、結果として２つのグラフを生じるステップをさらに含み、前記２つのグラフは前記構造を決定する前記ステップにおいて別個に処理されることを特徴とする請求項３または４に記載の方法。
【請求項６】
前記構造を決定する前記ステップにおいて、連結された弧が、異なるサブグラフに分離されないように考慮されることを特徴とする請求項３、４、または５のいずれか一項に記載の方法。
【請求項７】
前記構造を決定する前記ステップの前に、
エッジおよび／または面のサブセットのユーザ選択を受信するステップをさらに含み、
前記構造を決定する前記ステップは前記ユーザ選択を反映する親サブセットにおいて開始することを特徴とする請求項１から６のいずれか一項に記載の方法。
【請求項８】
前記構造を処理する前記ステップは、
前記所与の親サブセットの子サブセットを接続する前記１つまたは複数のエッジをユーザに表示するステップと、
表示されたエッジのユーザエディションを受信するステップと、
前記ユーザエディションを考慮に入れて、前記１つまたは複数のエッジを一緒に処理するステップと
を含むことを特徴とする請求項１から７のいずれか一項に記載の方法。
【請求項９】
前記構造を決定する前記ステップにおいて、決定された前記構造は、前記サブセットの分解を取り込むツリー構造であることを特徴とする請求項１から８のいずれか一項に記載の方法。
【請求項１０】
前記構造を決定する前記ステップにおいて、繰り返し切断は、
エッジの前記凸状または凹状タイプのうちの一方、および
エッジのもう一方のタイプの両方で開始することにより、２回実行され、
それに応じて決定された前記ツリー構造の中でより深くない方の前記ツリー構造を保持するステップをさらに含むことを特徴とする請求項９に記載の方法。
【請求項１１】
モデルの要素を接続する形体を処理するための２つの別個の技術を実施するコンピュータ支援設計の方法であって、
第１のタイプまたは第２のタイプの要素および形体のサブセットの構造を、前記第１または第２のタイプのうちの一方の形体によって接続された要素を親サブセットから繰り返して切断すること（｜Ｓ１２０｜）により決定するステップ（Ｓ１００〜Ｓ１３０）であって、それにより前記親サブセットは、
接続されていない要素、または
前記第１または第２のタイプのうちのもう一方の形体によって接続される要素のいずれかを含む子サブセットに分解され、その場合、前記第１または第２のタイプのうちの前記１つの形体は前記子サブセットに保持され、
形体の前記タイプはさらに切断の繰り返しごとに交互に変更される、ステップを含み、
所与の親サブセットで指定されている形体の前記タイプに従って、前記親サブセットの子サブセットを接続している１つまたは複数の形体を処理する第１または第２の技術を実施するために前記所与の親サブセットからの前記構造を処理するステップ（Ｓ１４０）をさらに含むことを特徴とする方法。
【請求項１２】
前記構造を処理する前記ステップと同時またはその後に、前記構造を処理する前記ステップの結果に従って前記第１および第２の技術を実施するステップをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
請求項１から１２のいずれか一項に記載の方法を実施するように適合されたコード手段を含むことを特徴とするコンピュータプログラム製品。
【請求項１４】
請求項１から１２のいずれか一項に記載の方法を実施するように適合された手段を含むことを特徴とするコンピュータ化されたシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータプログラムおよびシステムの分野に関し、具体的には、ＣＡＤ（ｃｏｍｐｕｔｅｒ−ａｉｄｅｄ  ｄｅｓｉｇｎ；コンピュータ支援設計）およびＣＡＭ（ｃｏｍｐｕｔｅｒ−ａｉｄｅｄ  ｍａｎｕｆａｃｔｕｒｉｎｇ；コンピュータ支援製造）システムの分野に関する。
【背景技術】
【０００２】
ＣＡＴＩＡの商標のもとに本件特許出願人によって提供されているような、数多くのシステムおよびプログラムが、部品または部品のアセンブリの設計向けに市場に供給されている。これらのいわゆるＣＡＤ（コンピュータ支援設計；キャド）システムは、ユーザが、オブジェクト（目的物）またはオブジェクトのアセンブリ（組み立て部品）の複雑な３次元（３Ｄ）モデルを構築して操作することができるようになっている。このように、ＣＡＤシステムは、エッジ（稜線）または線、特定の場合には面を使用して、モデリングされたオブジェクトの表現（描画、画像化）を提供する。線またはエッジは、たとえば非一様有理Ｂスプライン（ＮＵＲＢＳ；ｎｏｎ−ｕｎｉｆｏｒｍ  ｒａｔｉｏｎａｌ  Ｂ−ｓｐｌｉｎｅｓ）などのさまざまな方法で表現することができる。これらのＣＡＤシステムは、部品または部品のアセンブリをモデリングされたオブジェクトとして管理するが、これらは主としてジオメトリ（幾何学）の仕様である。特に、ＣＡＤファイルは仕様を含むが、その仕様からジオメトリが生成される。ジオメトリから、表現が生成される。仕様、ジオメトリ、および表現は、単一のＣＡＤファイルまたは複数のＣＡＤファイルに格納することができる。ＣＡＤシステムは、モデリングされたオブジェクトを設計者向けに表現（描画、画像化）するためのグラフィックツールを含む。これらのツールは、複雑なオブジェクトの表示に専用であり、ＣＡＤシステムでオブジェクトを表現するファイルの標準的なサイズは、部品についてはメガバイトの範囲にまで及び、アセンブリが数千のパーツで構成される場合もある。ＣＡＤシステムは、オブジェクトのモデルを管理するが、これらは電子ファイルに格納される。
【０００３】
既知のＣＡＤシステムを使用して機械的部品を設計することは、その部品の幾何学的形状および寸法を、機能条件および製造条件に適合するように定義することであると見なすことができる。主に、その結果得られる形状は、パッド（当て物）、くぼみ（くぼみ）、グルーブ（溝）、シャフト（軸）など、設計者によって作成された基本的形体の組合せである。複雑な幾何学および位相計算を介して、ＣＡＤシステムは、たとえば閉曲面(closed surface)および配向曲面（oriented surface）などとして、固体（機械部品）の境界表現を産み出す。
【０００４】
明らかに、ＣＡＤシステムで設計されたモデリングされたオブジェクトは、少なくとも一部の用途に対して、可能な限り最終加工生成物に細密に似ていることをめざす。
【０００５】
たとえば、製品／部品成形の分野において、場合によっては鋭いエッジで接続された連続面と見なされうる金型（モールド）が使用される。しかし、たとえば実際の金型など、実際のエッジは、完璧な鋭いエッジではなく、むしろわずかに面取り（ラウンド；角取り、丸み付け）の部分またはフィレット（隅肉）の部分が認められる。このため、対応する理論モデルにおいてそのような形体が無視される場合、成形に必要とされる材料の数量は、理論モデルに期待されるものとはわずかに異なる。もちろん、そのような細部は、現実のオブジェクトとモデリングされたオブジェクトとの間の全般的な整合に重点を置く限り、重要とは見なされない場合もある。しかし、製造に必要な材料の理論数量と現実数量との相違がかなり大きくなるような、大量生産／連続生産を考慮するとき、これは重要な問題となりうる。
【０００６】
付加的な制約が指摘されうる。たとえば、固体の境界表現は、金型を設計するための入力データである。金型の境界表現は、工具の軌道を計算して、未加工の原料から金型を機械加工するための入力データである。材料の流れ、冷却過程、および型から外す工程（un-molding step）を最適化するため、鋭いエッジは一般に金型では許容されていない。工具経路の最適化のため、金型の面は、可能な限り正準（canonical；標準的、規範的）である必要がある（平面、円筒、球、円環面、円錐）。
【０００７】
したがって、実現可能性や予想を向上させるためであれば、最終的「現実」製品の形体を可能な限り忠実に予測することが必要であることを理解されたい。言い換えれば、モデリングされた部品と現実の部品との整合を向上させることが必要である。この点において、ＣＡＤ設計者は、場合によっては、理論モデルまたは製品の尖ったエッジを面取りされたエッジに置き換える必要がある。
【０００８】
これを達成するため、従来のモデリング（３次元ＣＡＤでの製品設計）の手法では、製品エッジの面取り状の部分（凸状エッジに適用する半径）やフィレット状の部分（たとえば、凹面エッジに適用する半径）を、１つずつ作成している。図１Ａ〜図１Ｂに示されているように、そのため、モデル製品は、その後、フィレット状部分（これ以降「フィレット」と呼ぶ）および／または面取り部分（これ以降「面取り」と呼ぶ）を提示することができる。
【０００９】
モデル製品に面取りおよびフィレットを設計することは、通常、１つずつのプロセスである。そのようなプロセスに従って面取りおよび／またはフィレットを作成することは、モデリングする要素の数が増加した場合、たちまち非常に複雑なものになる。ユーザは、ステップ（処置）の特定の順番を見つけ出す必要があるが、それはモデリングされるオブジェクトに応じて異なる場合もある。見つけ出せない場合、面取りまたはフィレットの設計は失敗する可能性がある。
【００１０】
さらに、モデリングされるオブジェクトの複雑さ（非常に多数のエッジ（端、縁、辺、稜）、コーナー（角、隅）エリアなど）が、さらなる失敗の原因となる場合もある。特に、エッジが衝突するような（コーナー、難しい区域（hard zone）など）で面取りまたはフィレットをモデリングすることは、厄介である。そうしたことを避けるには、「正常に機能する（works）」フィレットまたは面取りの作成のシーケンスを決定するための多大な時間が必要となる。設計全体を介して、ユーザは、単一の尖ったエッジまたは尖ったエッジの小グループを面取りして、順序付けられたシーケンス(手順)を作成する。
【００１１】
一部の既知のＣＡＤシステム内では、このシーケンスは、履歴ベースのＣＡＤシステムによって取り込まれ、変更後に再生される。このようにして「手動の」シーケンスは、処理することができる。部品の履歴ツリーは、設計者の選択に従って順序付けられた多くの面取りおよびフィレットの形体を含む。
【００１２】
その一方で、いくつかの自動調合アルゴリズムが知られている（たとえば、特許文献１参照）（「調合（ｂｌｅｎｄｉｎｇ）」は、当技術分野においてフィレット処理または面取り処理を意味するものとして使用される）。そのような方法は、一体型部品のエッジの自動管理を可能にし、その他の有利な特徴をもたらす。この方法は、好ましくは、ユーザによって選択されるべき機能的面（functional surfaces）の特別なセットを必要とする。その他のグローバル（全体的な）調合（たとえば、特許文献２、名称「System for blending surfaces in geometric modeling」（幾何学的モデリングにおいて面を調合するための方式）参照）は、一体型部品全体を調合することができる。この場合、設計者には順序付けタスクは要求されないが、仕様ツリー（specification tree）は主として１つの「自動調合」の特徴のみを含む。
【００１３】
したがって、自動調合アルゴリズムは知られているが、実現しうる最善の結果は多くの場合、好ましくはこの領域で非常に知識豊富で経験を積んだユーザにより順序付けられたシーケンスの手動入力によって達成されるものであると考えられる。しかし、上記で説明されているように、設計者は、正常に機能する鋭いエッジの順序付けられたシーケンスを見出す必要があるが、これはいくつかのシーケンスがジオメトリを計算し損なう可能性があることを意味する。したがって、設計プロセスは多大な時間を必要とする。加えて、他にも欠点はあるが、さまざまなシーケンスがさまざまな幾何学的結果をもたらすことが明らかとなっている。特に、得られた幾何学的結果は、機械的設計の観点からは等価ではない。特に、過剰または過少の材料が固体に追加されるかまたは固体から除去され、最終形状の機械加工が、面の数に応じて多かれ少なかれ高価になったりする。したがって、生産成果を発表するための本物のフィレット処理能力が設計者に求められる。
【００１４】
このことは、図２Ａおよび図２Ｂに関して図解している。図２Ａに示される面取り処理およびフィレット処理の方策は、正しい結果をもたらす。ここで、丸付き数字は、フィレット／面取りのシーケンス（順序）のステップ（進捗）を表す。同じステップ番号によって指し示されるエッジは、同時に処理される。図示したシーケンスの結果として、正準面が可能な限り多数作成されている。ジオメトリ（幾何学的性質）は、ボールエンド切削工具を用いた機械加工処理により製造できうるはずであるので、正確・精密である。
【００１５】
逆に、図２Ｂに図示した方策は、見劣りがする。結果として生じる面がより多い、つまり、上記の１６面ではなく、２０面ある。問題になっている面は、対応するエッジの周辺に、陰影付きで描写されている。加えて、正準面（canonical surface）が少なく、多くの尖った端面があり、単純な機械加工プロセスでは、このジオメトリをもたらすことはないであろう。
【００１６】
この点において、順序付けられたシーケンスは設計者の手に余り、幾何学的結果が予測できない結果となるということで、同じバッチプロセス（一括処理）ですべての鋭いエッジを選択することは現実的ではないことに気付くことができる。
【００１７】
以下に紹介する特許文献は、本発明の同じ技術分野に関連している。
【００１８】
たとえば、特許文献３、名称「Method for blending edges of a geometric object in a computer−aided design system」（コンピュータ支援設計システムにおける幾何学的オブジェクトのエッジを調合する方法）では、ユーザ選択のエッジに面取りまたはフィレットを作成するために一体型部品の境界表現を変更するアルゴリズムについて説明している。しかし、自動化および適切な順序付けについての懸案には、取り組んでいない。
【００１９】
前述の特許文献２、名称「System for blending surfaces in geometric modeling」（幾何学的モデリングにおいて表面を調合するための方式）では、基本固体形状のセットを一緒に調合するアルゴリズムについて説明している。これらの固体形状は、暗示的に定義されることが求められる。しかし、開示されるモデリング技術は、以下のような理由から一部の工業上の要求（必要条件）を満たさない。単純なオブジェクトのみが、暗黙的な式のみを使用してモデリングされうるのである。製造された物理オブジェクト、つまり、現実のオブジェクトはある程度、複雑なスイープ（掃引）曲面（航空機の翼、熱機関の吸気口または排気口、自動車の「車体組み立て（body-in-white）の補強材）、鋳造業および鍛造業用の抜き勾配面（draft surfaces）、自由様式曲面（free form styling surfaces）を含む。したがって、実際の面の黙示的定義では、手の届かないところにある。むしろ、これらは明示的定義を介して記述されるものである。
【００２０】
前述の特許文献１、名称「Method of computer aided design of a modeled object having several faces」（いくつかの面を持つモデリングされるオブジェクトのコンピュータ支援設計の方法）では、設計された、または面取り／フィレットされた形状を提供するため、固体の境界表現を変更する汎用アルゴリズムについて説明している。順序付けアルゴリズムについては、説明されていない。
【００２１】
次いで、ダッソー・システム（Ｄａｓｓａｕｌｔ  Ｓｙｓｔｅｍｅｓ）社のソリッドワークス・コーポレーション（ＳｏｌｉｄＷｏｒｋｓ  Ｃｏｒｐｏｒａｔｉｏｎ）では、近年「ＳｏｌｉｄＷｏｒｋｓ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｆｅａｔｕｒｅｓ  Ｔｅｃｈｎｏｌｏｇｙ」（ＳＷＩＦＴ）をリリース（発売）した。この高性能ツールのセットは、設計者が一組のエッジを選択する場合に、面取り処理およびフィレット処理を順序付ける特殊コマンドを含む。さまざまなシナリオをテストして、本願発明者は、用いられたアルゴリズムは、成形／鋳造の機械的な仕様の要件を満たすように設計されてはいなかったという結論に達した。
【先行技術文献】
【特許文献】
【００２２】
【特許文献１】欧州特許出願公開（ＥＰ）第１  ７１０  ７２０号公報
【特許文献２】米国特許出願公開（ＵＳ）第５，２５１，１６０号公報
【特許文献３】欧州特許出願公開（ＥＰ）第０  ６４９  １０３号公報
【発明の概要】
【発明が解決しようとする課題】
【００２３】
最終的に、面取り／フィレット設計プロセスにおける時間を節約し、機械的仕様の要件の適合を向上させるため、面取り／フィレットを処理する適切に順序付けられたシーケンス（手順）を自動的に定める解決策を見出すことが、引き続き必要となっている。
【課題を解決するための手段】
【００２４】
この課題を解決するため、本発明は、モデリングされたオブジェクト（modeled object）の面を接続するエッジのコンピュータ支援設計の方法を提案するものであり、この方法は、
−  凸状タイプまたは凹状タイプの面およびエッジのサブセット（下位集合、部分集合）の構造を、その凸状タイプまたは凹状タイプのうちの一方のエッジによって接続された面を親サブセットから繰り返して切断することにより決定するステップであって、それによりその親サブセットは、
−  接続されていない面、または
−  上記凸状タイプまたは凹状タイプのうちの他方のエッジによって接続された面であって、その場合に、その凸状タイプまたは凹状タイプのうちの上記一方のエッジが上記子サブセットに保持されている、面
のいずれかを含む子サブセットに分解され、
エッジの上記凸状タイプまたは凹状タイプのうちの上記一方はさらに切断の繰り返しごとに交互に変更される、ステップを含み、
この方法はさらに、
−  所与の親サブセットで指定されているエッジの上記タイプに従って、子サブセットを接続している上記１つまたは複数のエッジを面取り処理またはフィレット処理するために上記所与の親サブセットからの上記構造を処理するステップを含む。
【００２５】
所与の実施形態において、本発明によるプロセスは、以下の特徴のうちの１つまたは複数を含むことができる。
【００２６】
−  上記構造を処理する上記ステップは、上記所与の親サブセットからの上記構造を処理するための一次深度走査を含む。
【００２７】
−  本発明による方法は、上記構造を決定する上記ステップの前に、上記面を表すノード（結節点）および上記エッジを表す弧を有するグラフを決定するステップを含み、上記構造を決定する上記ステップにおいて、繰り返し切断は、上記グラフを、上記構造内のそれぞれの子サブセットに対応するサブグラフに繰り返し切断することにより実行される。
【００２８】
−  上記グラフを決定する上記ステップは、切断の前または切断中に、複数のノードを単一のノードに縮める（collapsing）ステップをさらに含み、その縮められたノードは、なだらかなエッジによって接続された隣り合った面と、特異頂点（singular vertex）を取り囲む面と、場合によってはユーザ定義の、所定の幾何学的判定基準に従って連結された面とを表す。
【００２９】
−  本発明による方法は、上記グラフを決定する上記ステップの後、および上記構造を決定するステップの前に、決定された上記グラフのカットノードの分離を行い、結果として２つのグラフを生じるステップをさらに含み、上記２つのグラフは上記構造を決定する上記ステップにおいて別個に処理される。
【００３０】
−  上記構造を決定する上記ステップにおいて、連結された弧が、異なるサブグラフに分離されないように考慮に入れる。
【００３１】
−  本発明による方法は、上記構造を決定する上記ステップの前に、エッジおよび／または面のサブセットのユーザ選択を受信するステップをさらに含み、上記構造を決定する上記ステップは上記ユーザ選択を反映する親サブセットにおいて開始する。
【００３２】
−  上記構造を処理する上記ステップは、上記所与の親サブセットの子サブセットを接続する上記１つまたは複数のエッジをユーザに表示するステップと、表示されたエッジのユーザエディション（user-edition）を受信するステップと、上記ユーザエディションを考慮に入れて、上記１つまたは複数のエッジを一緒に処理するステップとを含む。
【００３３】
−  上記構造を決定する上記ステップにおいて、決定された上記構造は、上記サブセットの分解を取り込むツリー構造である。
【００３４】
−  上記構造を決定する上記ステップにおいて、繰り返し切断は、エッジの上記凸状または凹状タイプのうちの一方、およびエッジのもう一方のタイプの両方で開始することにより、２回実行され、本発明による方法は、それに応じて決定された上記ツリー構造の中でより深くない方の上記ツリー構造を保持するステップをさらに含む。
【００３５】
さらに一般に、本発明は、モデルの要素を接続する形体を処理するための２つの別個の技術を実施するコンピュータ支援設計の方法を対象とし、この方法は、
−  第１のタイプまたは第２のタイプの要素および形体のサブセットの構造を、上記第１または第２のタイプのうちの一方の形体によって接続された要素を親サブセットから繰り返して切断することにより決定するステップであって、それにより上記親サブセットは、
−  接続されていない要素、または
−  上記第１または第２のタイプのうちのもう一方の形体によって接続される要素のいずれかを含む子サブセットに分解され、その場合、上記第１または第２のタイプのうちの上記１つの形体は上記子サブセットに保持され、
形体の上記タイプはさらに切断の繰り返しごとに交互に変更される、ステップを含み、
この方法は、
−  上記所与の親サブセットで指定されている形体の上記タイプに従って、上記親サブセットの子サブセットを接続している１つまたは複数の形体を処理する第１または第２の技術を実施するために上記所与の親サブセットからの上記構造を処理するステップをさらに含む。
【００３６】
１つの実施形態において、上記方法は、上記構造を処理する上記ステップと同時またはその後に、上記構造を処理する上記ステップの結果に従って上記第１および第２の技術を実施するステップをさらに含む。
【００３７】
本発明はさらに、本発明の方法を実施するように適合された手段を含むコンピュータ化されたシステムおよびコンピュータプログラム製品に関する。
【００３８】
これ以降、図面を参照して、本発明のさまざまな実施形態が説明される。
【図面の簡単な説明】
【００３９】
【図１Ａ】凸状および凹状エッジを有する平凡でない一体型部品を例示的に示す図である。
【図１Ｂ】図１Ａから取得した面取り／フィレットの部分を示す図である。
【図２Ａ】結果として異なるジオメトリ（幾何学的性質）をもたらす、異なるボディ部分に面取り／フィレットの処理をする２つのシーケンスを示す図である。
【図２Ｂ】結果として異なるジオメトリをもたらす、異なるボディ部分に面取り／フィレットの処理をする２つのシーケンスを示す図である。
【図３】本発明による、図２Ａ〜図２Ｂの部品に処理されたエッジのシーケンスを示す図である。
【図４】本発明の一実施形態による、高水準アルゴリズムを示す図である。
【図５Ａ】双対グラフを例示する図である。
【図５Ｂ】一体型部品のそれぞれの部分を例示する図である。
【図６Ａ】図５Ａに対応する単純化した双対グラフを表す図である。
【図６Ｂ】図５Ｂに対応する一体型部品のそれぞれの部分を表す図である。
【図７】グラフのカットノードの分離を例示する図である。
【図８Ａ】一体型部品に関してカットノードの分離を示す図である。
【図８Ｂ】一体型部品に関してカットノードの分離を示す図である。
【図８Ｃ】一体型部品に関してカットノードの分離を示す図である。
【図９Ａ】非離散的で削減できないグラフを有する一体型部品を例示する図である。
【図９Ｂ】非離散的で削減できないグラフを有する一体型部品を例示する図である。
【図１０】グラフ抽出器演算子（graph extractor operator）の連続的で交互の繰り返しを反映するツリー構造および関連する数学的表記を示す図である。
【図１１Ａ】図１Ａの平凡でない一体部品、および対応する簡略双対グラフを示す図である。
【図１１Ｂ】図１Ａの平凡でない一体部品、および対応する簡略双対グラフを示す図である。
【図１２】（Ａ）〜（Ｅ）を含む、本発明の一実施形態による、図１１Ａの一体型部品について決定されたツリー構造を表す図である。
【図１３】フィレット／面取りの処理の順序付きシーケンスに従ってタグ付けされた非リーフノード（非葉節点）を持つ、図１２の簡略版を示す図である。
【図１４】図１１Ａの一体型部品に関して図１３のシーケンスステップを表す図である。
【図１５】図１３〜図１４のシーケンスのステップの後に処理された図１１Ａの一体型部品を示す図である。
【図１６】面取りされるべき壁の側面を例示する図である。
【図１７Ａ】調合重複（blend overlaps）の最小化の方策を示す図である。
【図１７Ｂ】調合重複の最小化の方策を示す図である。
【図１７Ｃ】調合重複の最小化の方策を示す図である。
【図１７Ｄ】調合重複の最小化の方策を示す図である。
【図１７Ｅ】調合重複の最小化の方策を示す図である。
【図１７Ｆ】調合重複の最小化の方策を示す図である。
【図１８】テストケースに使用されるさらにもう１つの部品を示す図である。
【図１９】図１８のテストケースの結果を示す図である。
【発明を実施するための形態】
【００４０】
本発明は、面取りおよびフィレットを行う前に（鋭い）エッジのシーケンスを自動的に計算するアルゴリズムに関する。さらに一般的には、本発明は、モデル(構造模型)の要素を接続する形体（features）を処理するために２つの別個の技術を如何に実施するかの企画に関する。好ましい実施形態において、当該の技術は、面取り処理およびフィレット処理のプロセス（工程）に対応している。
【００４１】
好ましくは、所与の凸状または凹状タイプのエッジを介して既に接続されている面をサブセット内で切断することにより、面のサブセットの構造が最初に繰り返して決定される。各繰り返しごとに、取り除きに使用されるエッジのタイプが交互に変更される。構造に沿って各サブセットは、たとえばサブセットが、接続されていない面、またはこの繰り返し（この場合、接続されているサブセットのすべてのエッジが保持される）においてエッジ取り除きに使用されるタイプ以外のタイプのエッジを介して接続されている面のいずれかを含むなど、１つまたは複数の面を含む。したがって、接続されている面は、構造決定のステップが完了するまで、秩序構造（well-ordered structure）に沿って順次切断される。実際には、構造の決定は、グラフ切断技法を介して都合よく実施される。
【００４２】
次いで、後続のステップにおいて、構造は、たとえば、親サブセットで指定されているタイプに従って（面の）子サブセットを接続しているエッジが調合されるなど、逆の順序で処理される。このようにして、処理ステップの順序が提供される。決定された構造は、所与のレベルにおいて処理されるべきエッジが、同じタイプであるように（または、説明する予定のように、可能な限り同じタイプに）する。したがって、エッジは一緒に、調和して効率的に処理される。
【００４３】
処理されるべきエッジのサブセットの交互のシーケンスは、適宜描画される。凸状タイプのエッジのサブセットは、たとえば、逆の構造に沿って凹状タイプのエッジのサブセットを処理する前に処理され、その反対の場合も同様である。実際、本願発明者は、可能な限り同じタイプのエッジの交互のサブセットを処理することが、現実面では結果を劇的に向上させることを認識している。したがって、本発明の極めて重要な点は、エッジのサブセットに指定されているタイプに従って、上記エッジを面取りまたはフィレットの処理をするために、可能な限り同じタイプのエッジのサブセットの交互のシーケンスを決定して処理することである。
【００４４】
提供される調合シーケンス（blending sequence）は、実際には、可能な限り正準性（canonicity）を保持する。テスト済みである結果として生じるシーケンスは、実際に取りうる最善の策であることが判明している。実施された多数のテストによれば、熟練の設計者が、従来のコマンドを使用して長時間にわたり取り組んだとしても、より優れた形状を生成することはまずない。さらに、入力部品の対称的な細部は、得られる対称的な面取りまたはフィレット表面に反映する。これにより、成形／鋳造および鍛造についての機械的仕様との適合をさらに向上させることができる。
【００４５】
このことを示すため、図３は、典型的な部品の一部（body part）について本発明によって処理されるシーケンスを示す。このシーケンスは、左上から右下へと進み、各ステップにおいて、完了するまで新しいエッジが処理される。
【００４６】
このシーケンスは、ＣＡＤシステムの機能を強化するためにさまざまな方法を介して使用されることができる。たとえば、設計者は、尖ったエッジのセットを選択することもでき、システムは調合の最適なシーケンスを計算して、このシーケンスに従って面取りおよびフィレットの形体を必要な数だけ自動的に作成する。このように、設計者は、たとえば半径値を変更するために、各面取りまたはフィレットの形体を操縦して編集することができる。
【００４７】
もう１つの方法は、一緒に処理されるように各尖ったエッジ（のセット）をステップごとに表示して、たとえば、半径値を設定するなど（それ以外の場合デフォルト値がすべてのエッジに設定されている）、設計者が各ステップにおいて形体を編集することができるようにすることである。ステップｎからステップｎ＋１へと、システムは、ステップｎにおいて表示されるサブスキン（sub-skin；部分表皮）に対応する面取り（フィレット）を計算する。
【００４８】
人間工学に加えて、本発明によって提供されるエッジ処理シーケンスは（図３に示されるように）、結果として得られるジオメトリの正準性を保持する効率的な方法をもたらす。主として、円筒状、円錐状、球状、またはドーナツ状の表面が作成されるが、尖った端部またはフィル面（fill surfaces）は可能な限り回避される。加えて、当初の対称性は最終的な調合で良好に反映される。
【００４９】
結果として得られる固体の品質は、製図、オフセット、機械加工、将来の設計作業など、今後の使用に向けて改良されている。機能的機械部品を与えられる場合に、２人の異なる設計者が同じ面取りおよびフィレット処理の方策を発表することになるので、製造の全般的な品質はさらに向上する。システムがシーケンスを計算するので、設計時間は、尖ったエッジの（人間による）順序付けシーケンスを決めるために費やされる時間によりも短縮される。設計者に要求されるＣＡＤ技能は、さほど高くなくてもよい。ＣＡＤのトレーニングは、さらに容易になり迅速になる。
【００５０】
言い換えれば、本発明は、容易で迅速なトレーニング、迅速な設計および結果としてもたらされるより優れた品質を提供する。
【００５１】
しかし、特に複雑な工業用の一体型部品を処理する場合など、一部の事例では、フィル面を使用することが避けられないことに留意されたい。このことについて、説明しよう。
【００５２】
（実施形態において本発明を実施するための）高水準アルゴリズムについて、図４を参照して説明する。
【００５３】
図４の実施形態において、サブセットの構造を決定するステップは、たとえば関連情報を取り込む簡略双対グラフまたは（略して）「双対グラフ」など、処理されるべき要素を反映するグラフを作成する初期ステップ（Ｓ１００）を含むことができる。得られたグラフは、尖ったエッジを介した面の接続性、凸面性または凹面性または尖ったエッジを反映する。
【００５４】
必要に応じて、「カットノード」ステップ（Ｓ１１０）が、ボディ部分の独立した細部を別個に処理することができるように、グラフを必要な数のコンポーネントに分割する。
【００５５】
次いで、上記のグラフは、サブグラフの交互のシーケンスに切断されるが、上記サブグラフの各々は上記で説明されているようにサブセットに対応する。たとえば、各接続されたサブグラフは、交互の凸状および凹状のサブスキンに再帰的に（「ｘ−切断ステップ」、Ｓ１２０）切断される。
【００５６】
上記の３つの主要ステップは、好ましくは、すべてのサブグラフが終了するまで、ループを介してサブグラフを作成して管理する（ステップＳ１３０）。構造を決定する全ステップはさらに、サブグラフ埋め込みを取り込むツリー構造を更新することができる。プロセスは、同種のサブグラフまた削減できない異種のサブグラフで終了し、それにより処理されるべきエッジはその後、同じタイプまたは可能な限り同じタイプのものになる。
【００５７】
この点において、構造を逆の順序で処理するステップが、面取りおよびフィレットの処理のシーケンス（最終ステップＳ１４０）をもたらすように、ツリー構造を介して基準となる一次深度走査（standard first depth scan）の一部として実施されてもよい。
【００５８】
場合によっては、補足的な「ボール隣接面（ｂａｌｌ−ｎｅｉｇｈｂｏｒ  ｆａｃｅｓ）」ステップ（Ｓ９０）が、隣接しない表面または複雑な頂点が同じサブグラフにとどまるように、半径値｜１０｜を考慮に入れることがある。このようにして、極めて小さい面、小型の切り込み、薄い壁、および最上位頂点などの少量の細部は、正しく管理される。
【００５９】
上記の主要ステップＳ１００〜Ｓ１４０は、以下で詳細に説明されている。
【００６０】
最初に、双対グラフを構築するステップ（図４のステップＳ１００）に注目する。
【００６１】
アルゴリズムの入力は通常、トポロジー（位相幾何学）グラフとして解釈される一体型部品（２０）の境界表現（boundary representation）である。定義により、トポロジーグラフは、エッジが多くとも２つの面によって共有されて、２次元多様体を定義するような方法で、一緒に接続された頂点、エッジ、および面を含む。次いで、このトポロジーグラフの双対グラフが計算される。定義により、双対グラフのノードは、トポロジーグラフの面である。さらに、トポロジーグラフの２つの面によって共有される各エッジについて、双対グラフの対応するノードを接続する弧が存在する。
【００６２】
双対グラフの弧は、好ましくは、トポロジーエッジ（topological edges）の鋭さ、平坦さ、および凸面性を取り込むためにラベル付けされるが、これは後に有用となる。凸状の尖ったエッジは、たとえば「＋１」とラベル付けされ、凹状の尖ったエッジは「−１」とラベル付けされ、なだらかなエッジ（smooth edges）は「０」とラベル付けされる。
【００６３】
トポロジーグラフは、さらに好ましくは、以下のように単純化される。簡略双対グラフは、「０」の弧によって接続されたノードを折りたたむ（collapsing）ことで双対グラフから計算される。つまり、簡略双対グラフのノードは、なだらかなエッジによって接続された隣接面のセットである。なだらかなエッジは処理される必要がないので、このことは有利である。その結果、現在の目的に関連する情報、つまり鋭さ、凸面性、および隣接性のみが、簡略双対グラフに取り込まれることができる。
【００６４】
上記グラフ間の相違は、図５Ａ〜図５Ｂおよび図６Ａ〜図６Ｂに例示されており、それぞれ双対グラフ（５Ａ）、対応する一体型部品（５Ｂ）、および結果として得られる簡略双対グラフ（６Ａ）とその対応する簡略一体型部品（６Ｂ）が示される。
【００６５】
図５Ａ〜図６Ｂの図の各々において、（以前の図２の円で囲まれたステップ番号と区別するために四角で囲まれている）番号付けされた面は、エッジによって区切られている。上記面は、対応するグラフにおいて対応するノードを有する。
【００６６】
図５Ａに示される一体型部品の双対グラフにおいて、円筒状の面を接続している２つのなだらかなエッジ、および円形の面をブロックの垂直面に接続している２つのさらになだらかなエッジに注目されるであろう。これは、対応するグラフにおいて「０」とラベル付けされた弧をもたらす。その一方、弧「＋」または「−」は、尖ったエッジを示す。
【００６７】
図６Ａにおいて、なだらかなスキンが単一ノードとして現れる簡略双対グラフが示されている。その結果として、「０」とラベル付けされた弧は存在しなくなる。対応する一体型部品が、得られた簡略グラフを反映する図６Ｂに示されている。例えば、なだらかなスキン（表皮）６、７、８は、単一の面として現れる。したがって、関連情報のみが、後続のプロセスを最適化するために保持される。
【００６８】
要約すると、簡略双対グラフを構築するステップのシーケンスは、一体型部品の境界表現｜２０｜がトポロジーグラフに変換されるものである。次いで、双対グラフは、その位相の対応するグラフから計算され、その結果単純化される。
【００６９】
前述のように、簡略双対グラフは引き続き、以下で「双対グラフ」によって示される。さらに、トポロジーグラフと双対グラフとの混乱を避けるため、好ましくは、トポロジーグラフを扱う場合は「面」、「エッジ」、および「頂点」という用語が使用され、双対グラフを扱う場合は「ノード」および「弧」という用語が使用される。
【００７０】
カットノードの分離のステップ（図４のＳ１１０）が、これ以降、図７の（Ａ）〜（Ｄ）を参照して説明される。
【００７１】
定義により、グラフから「カットノード」（およびそれに付随する弧）を取り除く（remove）ことは、グラフを少なくとも１つのさらなるコンポーネントに切断することである。図７（Ａ）の例において、ノード１を取り除くことは、接続されているグラフを２つのコンポーネントに分離する（図７（Ｂ））。ノード２を取り除くことは（図７（Ｃ））、結果として３つのコンポーネントを生じる（図７（Ｄ））。対照的に、ノード３を取り除くことは、グラフを分離することにはならない。
【００７２】
本発明の実施形態のコンテキスト（文脈）において、グラフをカットノードから分離することは、図７の（Ａ）〜（Ｄ）に示されるように、各々の結果として生じるコンポーネントにカットノードを複製することである。カットノードの分離は、最初に双対グラフについて実行される。付随的に、カットノードの分離が新しいカットノードを創生することはないので、ここでアルゴリズムは再帰的である必要はない。さらに、結果として生じるコンポーネントは、カットノードが管理される順序に依存しない。初期の接続された双対グラフを所与として、全カットノードプロセスは、カットノードがより少なく接続されたサブグラフのセットをもたらす。必須ではないが、そのようなステップは、固体の境界の個々の形体を認識することを可能にするので、別々に処理することができるようになる。
【００７３】
標準的な事例は、図８Ａに示されるように、Ａ、Ｂ、Ｃ、Ｄによって表される突起部、および穴部Ｅ、Ｆを備えるプレート（板）である。分離前の、対応する双対グラフは、図８Ｂに図示されている（エッジの鋭さは実線または破線の弧に反映する）。図８Ｂに表示されているカットノードを作成すると（カットノードはプレートの上面である）、その結果、図８Ｃのグラフのセットを生じる。したがって、個々の形体は、多くのサブグラフをもたらす。図８の例において、さらなるカット（切断）が可能であることに留意されたい。
【００７４】
カットノードの分離は、独立した形体が個別に扱われるようにすることができるので、本発明の中核となる方法は、分離されたグラフの各々に適用することができる。特に、次に説明されるグラフの切断は、好ましくは、カットノードの分離から生じた各グラフに適用される。
【００７５】
以下では、規定の凸状または凹状タイプを有する面およびエッジのサブセットの構造を決定するために、接続された面の繰り返し切断を実践的に行う方法を説明することを目的としている。各繰り返しにおいて、切断は、所与のタイプのエッジを取り除き、それにより親サブセットを子サブセットに分解する。使用されるエッジのタイプは、各繰り返しにおいて交互に変わる。上記サブセットは、接続されていない面、または切断に使用されたタイプ以外のエッジによって接続された面のいずれかを表す。後者の状況において、取り除くために使用されたタイプのエッジは引き続き、上記子サブセットに保持されるが、それにより交互の分解が可能になる。
【００７６】
現在説明されている実施形態において、接続された面の切断は、グラフ切断の技法を介して実施される。これから説明されるように、グラフは、ツリー構造に取り込まれるコンポーネントに切断される。
【００７７】
この点で、簡略双対グラフＡを所与として、グラフ切断は、グラフセパレータ、つまり演算子Ｓxを介して有利に達成される（ただし、ｘ∈｛−，＋｝）。これは、以下のように、グラフＡから切断されたサブグラフＳx（Ａ）を提供する。
【００７８】
１．ラベルｘを持つＡのすべての弧を取り除き、グラフ
【００７９】
【数１】
2010537299.tif 000003
【００８０】
をもたらす。
【００８１】
２．ｘとラベル付けされたグラフＡのすべての弧、および
【００８２】
【数２】
2010537299.tif 000004
【００８３】
の同じ接続されたｘコンポーネント内の結合ノードをグラフ
【００８４】
【数３】
2010537299.tif 000005
【００８５】
に追加する。これは、グラフＳx（Ａ）をもたらす。
【００８６】
第１のステップにおいて、ラベルｘを持つ弧がない場合、Ｓx（Ａ）＝Ａである。グラフＡがｘとラベル付けされた弧のみを含む場合、Ｓx（Ａ）は接続されていない（つまり孤立した）ノードのみを含む。このようにして、親サブセットが、接続されていないノードである子サブセットに分解され、面を表す構造が得られる。
【００８７】
各追加の弧は同じ接続されたコンポーネント内の２つのノードを結ぶので、上記のステップ２は、
【００８８】
【数４】
2010537299.tif 000006
【００８９】
の接続されたコンポーネントの数を変えないことに留意されたい。このようにして、取り除くためにタイプのエッジが使用された子サブセット（
【００９０】
【数５】
2010537299.tif 000007
【００９１】
の接続されたコンポーネント）が保持される構造が得られる。
【００９２】
以下で詳細に説明されるように、もう１つの重要な特徴は、面およびエッジのサブセットから凸状または凹状タイプのエッジを交互に取り除くことである。言い換えれば、取り除かれるエッジのタイプは、繰り返しごとに交互に変更される。本発明の実施形態において、これは、セパレータＳxの交互の繰り返し、つまりＳx（Ａ）、Ｓ-x（Ｓx（Ａ））、Ｓx（Ｓ-x（Ｓx（Ａ）））などを、定常動作（stationary behavior）が得られるまで実行することにより達成される。この目的のため、Ｓxの主要な特性について、今説明する。
【００９３】
Ｅ0＝Ａ、Ｅ1＝Ｓx（Ａ）、Ｅ2＝Ｓ-x（Ｓx（Ａ））などを、分離されたグラフの交互の構造Ｅiとしよう（ただしｉ＝１、２、３、．．．）、つまり
【００９４】
【数６】
2010537299.tif 000008
【００９５】
。明らかに、ｘ＝＋またはｘ＝−の選択に応じて、多くとも２つの独立した繰り返しの線が存在する。この点については、後で説明する。
【００９６】
単調性（monotony）については、定義により、Ｓxは、弧を取り除きて未変更のノードを保持することによって、所与のグラフからサブグラフを抽出する。そのため、Ｓx（Ｂ）のノードおよび弧のセットは、Ｂのノードおよび弧のセットに含まれる。これは、以下のグラフの包摂関係−逓減シーケンス（inclusion-decreasing sequence）を決める。
【００９７】
Ａ=Ｅ0⊇Ｅ1⊇．．．⊇Ｅi⊇Ｅi+1⊇．．．
ここで収束に関して、上記のグラフの逓減シーケンスは、不連続のグラフ（つまり、ノードのみで構成され弧を持たない）によって下方で境界されるので、最小のグラフが存在する。言い換えれば、Ａ=Ｅ0⊃Ｅ1⊃．．．⊃Ｅi⊃Ｅi+1⊃．．．⊃Ｅm＝Ｅm+1＝．．．となるような、最小の整数ｍが存在する。つまり、ＳxおよびＳ-xを交互に繰り返すことで、グラフの組み込まれた定常シーケンス（stationary sequence;静的配列、停留点列ともいう）がもたらされる。ほとんどの場合、定グラフ（constant graph）は離散的グラフである。それにもかかわらず、以下に説明するように、一部のボディ部分の工業用シナリオは、非離散的な定グラフに至ることがある。
【００９８】
定義により、グラフＢはここで、Ｓ+（Ｂ）＝Ｓ-（Ｂ）＝Ｂである場合、簡略化できないと見なされる。図９Ａに示される固体の双対グラフは、凸状および凹状の両方である尖ったエッジがあるので、非離散的であって簡略化できないグラフの例である。図９Ｂは、対応するグラフである。
【００９９】
さらに、Ｓxを順次適用することで、任意の双対グラフＢに対して同じグラフＳx（Ｓx（Ｂ））＝Ｓx（Ｂ）がもたらされるので、Ｓxはプロジェクタ（投影機）と見なすことができる。
【０１００】
ＳxおよびＳ-xの連続および交互の繰り返しが、どの様にして初期グラフを接続されたコンポーネントに分割するのかは、好ましくは、ツリー構造を介して取り込まれる。各ノードは、接続されたグラフであり、その子ノードは、ＳxまたはＳ-xによって得られた接続されたコンポーネントである。このようにして、面のサブセットの子サブセットへの分解を取り込むツリー構造が得られる。
【０１０１】
たとえば、図１０を参照すると、ルートノードＧは初期グラフであり、リーフノードは簡略化できない定グラフを接続する。図１０に表される数式および説明図のセットに示されているように、記数
【０１０２】
【数７】
2010537299.tif 000009
【０１０３】
は、Ｅkが初期グラフＧのｋ番目の分離であり、Ｅkがｎkの接続されたコンポーネント
【０１０４】
【数８】
2010537299.tif 000010
【０１０５】
を備えることを包含する（ただし、ｉ＝１，．．．ｎk）。逐次代入ｋにおいて接続されたコンポーネントは、グラフの正準的注入による逐次代入ｋ−１の接続されたコンポーネントに関連する。子ノードを１つしか持たないノードとは、逐次代入が接続されたコンポーネントを分割しないことを意味する。そのようなノードは通常、情報を損失することなくツリーから取り除かれる。
【０１０６】
好ましくは、逆の順序で構造を処理するステップは、深さ優先走査（depth-first scan）のプロセスの一部として実行されるが、これ以降それについて説明する。深さ優先走査は、ツリー、ツリー構造、またはグラフを横断するためのアルゴリズムである。全体として、このアルゴリズムは、ルートで開始し、逆戻りする前に各分岐に沿って可能な限り遠くまで探索する。走査は、検索ツリーの第１子ノードを展開することにより進行し、目標（たとえば、子を持たないノード）が見つかるまで深く進んで行く。次いで、走査プロセスは、探索が完了していなかった最後のノードまで戻る。
【０１０７】
本発明の実施形態において、上記のツリー構造は、従来の深さ優先アルゴリズムを介して走査される。再帰的関数（本明細書においてＤｅｐｔｈＦｉｒｓｔＳｃａｎ（．）と呼ぶ）は、以下の命令ＳｅｑｕｅｎｃｅＮｕｍｂｅｒ（ｘ）：ｉによって行われる、変数ｉを介したツリーの各非リーフノードにシーケンス番号を設定する。これは、以下で説明されるように、調合シーケンスを決める。
ＤｅｐｔｈＦｉｒｓｔＳｃａｎ（ｘ）
ｉｆ  ｎｏｄｅ  ｘ  ｉｓ  ａ  ｎｏｎ  ｌｅａｆ  ｎｏｄｅ  ｔｈｅｎ
ｆｏｒ  ａｌｌ  ｃｈｉｌｄ  ｙ  ｎｏｄｅｓ  ｏｆ  ｘ  ｄｏ  ｂｅｇｉｎ
ＤｅｐｔｈＦｉｒｓｔＳｃａｎ（ｙ）
ｅｎｄ  ｆｏｒ
ｉ：＝ｉ＋１
ＳｅｑｕｅｎｃｅＮｕｍｂｅｒ（ｘ）：＝ｉ
ｅｎｄ  ｉｆ
言い換えると、ＤｅｐｔｈＦｉｒｓｔＳｃａｎ（．）関数を使用することは、初期化してｉ＝０、ツリーのルートノードでＤｅｐｔｈＦｉｒｓｔＳｃａｎ（．）を呼び出すことである。
【０１０８】
次に、上記で説明されているように、フィレット処理の方策が、セパレータの反復によって提供されるツリー構造を深さ優先で横断することによって計算される。アルゴリズムは、図１１Ａ〜図１１Ｂに示される平凡でない例示によって表されている。
【０１０９】
ここでも同様に、双対グラフの破線の弧は凹状エッジを表し、双対グラフの実線の弧は凸状エッジを表す。以前の図の場合と同様に、面は、四角形で囲んで番号付けされている（ここでは１から１０）。対応するグラフＧ（図１１Ｂ）は、簡潔にするために、カットノードを含めていない。
【０１１０】
繰り返しのグラフ分離は、図１２の（Ａ）〜（Ｅ）に示すように振る舞う。
【０１１１】
最初に、図１１Ｂを見ると、Ｓ-（Ｇ）＝Ｇであり（ただし、Ｇは上部ノードである）、図１２（Ａ）は図１１Ｂのグラフに対応することに留意されたい。Ｇは、面の初期親サブセットと見なすことができる。
【０１１２】
演算子Ｓ+を適用することで、グラフＧを７つの接続されたコンポーネントに分割する、つまり、図１２（Ｂ）に示されるように、上位レベルＧに接続される。Ｓ+を適用することは一般に、周囲の実線の弧（凸状エッジ）を取り除くが、入れ子状の接続された左端のコンポーネントに対応する実線の弧は保持されることを指摘できる。したがって、グラフＳ+（Ｇ）の左端の接続されたコンポーネントは、凹状エッジ（破線の弧）によって接続された面を含む子サブセットに対応し、周辺で取り除かれたエッジと同じタイプのエッジは保持される。その他の６つのコンポーネントは、孤立した面１、４、５、６、７、および８である。
【０１１３】
次いで、Ｓ-（Ｓ+（Ｇ））は、図１２（Ｃ）のグラフをもたらす、つまりＳ-は、グラフＳ+（Ｇ）の左端の接続されたコンポーネントを２つの接続されたコンポーネントに分割する。この場合、周辺の凹状エッジは取り除かれており、一方にコンポーネント２、９、１０、もう一方に面３となる。
【０１１４】
プロセスは、毎回取り除かれるエッジのタイプを交互に変えて、図１２（Ｅ）のレベルにおいて示されるＳ-（Ｓ+（Ｓ-（Ｓ+（Ｇ））））を達成するまで続行する。最後のグラフは、離散的定グラフ（discrete constant graph）に対応する。
【０１１５】
このようにして、面のサブセットの連続分解を取り込むツリー構造が構築される。
【０１１６】
次に、本発明のもう１つの重要な特徴は、調合シーケンス（つまり、図４のステップＳ１４０）の逆の順序で以前の構造を処理することである。特に、以前の構造は、子サブセットを接続するエッジをフィレット処理／面取り処理をするために所与の親サブセットから処理される。調合は、上記所与の親サブセットで指定されたエッジのタイプに従って実行される。この方式を任意のレベル（ノード）において実施することで、ツリー内の下位レベルのエッジが既に処理されていると仮定して、同じタイプのエッジが一緒に処理されるようにすることができる。明らかに、プロセスは好ましくは、一貫性のある調合シーケンスをもたらすように、最下位の親サブセットから開始する。さらに、最下位の親サブセットが削減できない異種のエッジを含む場合、その最下位サブセットの特定の（フィル（fill）のような）または標準の調合を実施して、上位ノードで処理シーケンスを開始することは有利となろう。
【０１１７】
逆の順序でツリー構造を処理することについて、これ以降、図１３を参照して説明する。図１３は、非リーフノードに対してグラフが描かれていないので、図１２のツリー構造を簡潔にしたバージョンと見なすことができる。図１３において、非リーフノードは、深さ優先の横断プロセスによってもたらされたフィレット／面取り順序付きシーケンスに従ってタグ付けされる。
【０１１８】
図１２のツリーにおいて上記深さ優先の横断を実施することで、以下の面取り処理／フィレット処理のステップをもたらすが、これは図１３の簡略バージョンに示されている。特に、図１３を参照して、これらのステップは以下のようになる。
【０１１９】
ステップ１：面９および面１０を含むスキンの凹状の内側の尖ったエッジをフィレット処理する。
【０１２０】
ステップ２：面２ならびに面９および面１０を含むスキンによって共有される凸状の尖ったエッジを面取り処理する。
【０１２１】
ステップ３：面３ならびに面２、面９、および面１０を含むスキンによって共有される尖った凹状のエッジをフィレット処理する。
【０１２２】
ステップ４：面１、面４、面５、面６、面７、面８を含むスキンによって共有されるすべての凸状の内側の尖ったエッジ、ならびに上記スキンと面２、面３、面９および面１０を含むスキンによって共有される尖ったエッジをすべて面取り処理する。
【０１２３】
これは、図１４に表されるシーケンスをもたらす。このシーケンスのステップは、円で囲まれた番号によって示される。したがって、調合シーケンスの順序付けが提供される。同じステップ番号によって指し示されるエッジは、同じタイプであり、同時に処理されて、プロセスの簡潔性を高める。
【０１２４】
図１４のシーケンスに従ってエッジを調合することが、図１５のシーケンスにおいて、左上から右下に進めると段階を追って表されている。ここで、示されているｎ番目のボディ部分は、図１４のシーケンスの処理ステップｎ−１の後の部品に対応する。表される第１の要素は、初期部品である。第２の要素は、面９および面１０などを含むスキンの凹状の内側の尖ったエッジをフィレットした後の部品である。
【０１２５】
図に示されるように（特に第２行）、逆の順序に解釈された構造を処理することで、尖ったエッジのサブセットを一緒に交互に面取りまたはフィレット処理することが可能になる。
【０１２６】
本発明の核心について、詳細な実施形態を参照して説明してきた。次に、本発明のコンテキストにおいてさらに扱うことが可能な側面的問題について説明する。
【０１２７】
第１の点は、トポロジに関連する難しさに影響する。難しいトポロジは、難しいジオメトリにつながる。汎用トポロジは、トポロジーグラフの各頂点が多くとも３つの面によって共有されるもの、として定義されている。難しいトポロジは、定義により、「非一般的（ｎｏｎ  ｇｅｎｅｒｉｃ）」つまり４つ以上の面によって共有される頂点が常に難しいジオメトリに至るものである。一連の重複する面取りおよびフィレット表面の単純な解決策は、安定を欠いた不満足な形状をもたらすこともある。この理由から、「フィル面」は、場合によっては必要となることがある。そのような面の作成を可能にする演算子が当技術分野において知られている。このフィル面は、特異頂点に付帯するすべての面を１回で接続する必要がある。
【０１２８】
これまで説明されているような論理グラフ切断は、頂点の複雑さを無視しており、頂点の複雑さにより、場合によっては最も適切ではない方策をもたらすこともある。
【０１２９】
この理由から、現在のコンテキストにおいて、特異頂点を取り囲む面は、好ましくは、さらなる切断によって分離されることがないようにまとめられている。したがって、本発明の方法は、切断の前に、特異頂点を取り囲む面を表す双対グラフのノードを折りたたむステップを単一ノードに隣接することができる。
【０１３０】
特に、（当技術分野で知られているように）特異頂点分析は、全体として管理されるべき面を検出するように実施されてもよい。その結果、双対グラフのノードはまとめられて、便利なツリー構造をもたらす。
【０１３１】
次に、たとえ「簡単な」トポロジであっても、難しいジオメトリにつながることがある状況がある。これまでのところ、開示されている面取りおよびフィレット処理の方策は、純粋な論理プロセスを介して得られる。幾何学的な計算は行われていない。これまでのところ、本発明による方法は、フィレット処理／面取り処理に使用される半径値が大規模な機械的部品の細部に対して「あまり大きくない」場合において、困難な点をうまく解決できるようにしている。この点において、ここで説明される本発明のもう１つの態様は、幾何学的判定基準を、これまで説明してきた論理的管理に関与させることにある。別々のフィレット処理または面取り処理が期待された結果をもたらさないようなやり方で、極小さい面が（カットノードまたは切断を介して）幾何学的分離に至るということが生じる場合もある。
【０１３２】
図１６の例において、図示されている仮想ツールの大きい半径値（ダブルボール）を所与とした場合は、第１の面取り処理が、面２を取り除く間に、第２の面取り処理のエッジを完全に取り除きてしまうので、薄い壁の側面１および側面３は、別々に面取り処理することはできない。
【０１３３】
このことは、その半径が面取り／フィレットの半径であるダブルボール（double ball）を実施してもよいと、とらえることができる。壁の上部に配置されると、およびその隣接面の２つの衝突が同時に発生する場合、アルゴリズムは、面１、面２、および面３が図１６の例におけるトライタンジェント（tri-tangent：３接面）の面取り処理を介して、一緒に処理される必要があることを記憶している。したがって、これらを別個のコンポーネントに分割してはならず、このことは論理プロセスで考慮される。このようにして、本方法は、切断プロセス中に、事前定義された幾何学的判定基準（おそらくは、ユーザ定義）に従って結合される面を表す双対グラフのノードを折りたたむステップを隣接することができる。
【０１３４】
反対に、半径値が十分に小さい場合、衝突は生じることがないので、さらなる分解が可能になる。このことをさらに明確にするために、公式の定義が検討されてもよい。
【０１３５】
一部の極端な場合において、切断の方策が、ボール隣接分析に準拠していないと判明することが発生する場合もある。この場合、切断アルゴリズムは、異なるコンポーネントで分離されないよう、連結された弧を考慮するように適合されている。
【０１３６】
次の点は、Ｓ+またはＳ-のいずれかでの繰り返しの開始に関するものである。明らかに、場合によっては、Ｓ+またはＳ-を介して実行される第１の分離に応じて、２つの方策を計算することができる。最善の出力は、好ましくは、複雑な状況にもかかわらず、結果として生じる面の正準性を保存するべきである。面取りとフィレットが繰り返し相互に重複するとき、正準的な面が作成されることはない。面取りは２つの面を接続し、フィレットはこの面取りを別の面と接続し、面取りは、他の面を接続している上にこのフィレット面とも重複する。
【０１３７】
この点について、本発明の発明者はさらに、最も平坦な（深くない）ツリー構造を選択することによって、この重複に陥る危険が最小化されることに気が付いた。図１７Ａ〜図１７Ｂでは、異なる深度を有する２つの方策（ツリー構造）をもたらす固体および対応する双対グラフが示されている。
【０１３８】
Ｓ-で繰り返しを開始することで、図１７Ｃに示される調合シーケンスが、対応するツリー構造と共にもたらされる。Ｓ+で繰り返しを開始することで、図１７Ｄに示されるシーケンスおよび対応するツリー構造がもたらされる。
【０１３９】
明らかに、第２のシーケンスは、第１のシーケンスよりも深い。第２のシーケンスは、最も深いリーフノードからルートノードまで、２つではなく３つの弧を呈する。図１７Ｆに示されるように、後者の状況（Ｓ+で開始）において半径値を大きくすると、最後の面取りＡが前のフィレットＢと重複するようになり、フィレットＢ自身が前の面取りＣと重複するようになる。
【０１４０】
反対に、より平坦な構造（Ｓ-で開始）は、図１７Ｅに示されるように、最後のフィレットＢが面取りＡおよびＣと重複するので、この現象を回避する。加えて、方策Ｓ-は、最初に円筒状の面取りＡを提供することに留意されたい。
【０１４１】
一方、方策Ｓ+は、最初に非正準的な面経由の面取りＡを計算する。
【０１４２】
この点において、双対グラフＧを所与として、２つの状況のみが発生しうる。第１の状況：Ｓx（Ｇ）＝Ｇであるようなｘ∈｛−，＋｝が存在する。次いで、唯一の可能性は、Ｓ+で繰り返しを開始することであり、他の選択肢がない。第２の状況：Ｓx（Ｇ）＝Ｇであるようなｘ∈｛−，＋｝が存在しない、つまり繰り返しはＳ+またはＳ-のいずれかで開始してもよいということである。各方策の深さを予想することはほとんど不可能であるため、好ましくは両方が調査される。次いで、最も深い構造が廃棄される。
【０１４３】
２つの方策が、同じ深さを形体とするツリー構造を提供する場合、これらはたとえば等価であると見なされる。
【０１４４】
次に、テストケースについて説明する。この目的のため、部品は、面取り処理およびフィレット処理の難しさを特徴付け、しかも可能な限り単純にとどめるようにデザインされている。上記部品は図１８に表されている。これは、１つの直線状の押し出しおよび２つの円筒状のくぼみという、２つの基本形体を含む。これらの基本形体は、面取りおよびフィレットの面が不可避的に重複するように、寸法を決め配置されている。
【０１４５】
このテストケースに使用される主な寸法および値は、以下の表に一覧されている。その他の寸法は、ほぼ同じ構成比をもたらし、対称性を保持するのであれば、さほど関連しない。
【０１４６】
【表１】
2010537299.tif 000011
【０１４７】
テストプロトコルは、底面を除外し、異なる半径値（以下の表に報告されている）を使用して、このテスト部品に面取りおよびフィレットを行うことである。最低値は容易な事例であり、最高値は困難な事例である。
【０１４８】
【表２】
2010537299.tif 000012
【０１４９】
各半径値に対する本発明の本実施形態において計算された結果は、図１９の（Ａ）〜（Ｅ）に図示されている。熟練の設計者が基本的な面取りおよびフィレットのコマンドを使用して、結果的な面の正準性および曲率半径値の点からこれに勝る形状を提供することはないであろう、という意味において、これらの図の検査（inspection）は、得られた結果が実現しうる最善であることを、示している。図１８に戻って参照すると、テスト部品は対称面を特徴としているため、結果の対称性が図１９の（Ａ）〜（Ｅ）で検査できるようになっている。対称面は、直線状の押し出しに対して垂直であり、円筒状くぼみの間に位置する。
【０１５０】
本明細書において説明される方法および手順は、教示のために、単純な方法で説明されているが、アルゴリズム効率性の検討に関して改良が検討されうることは明らかである。特に、面取りおよびフィレットのプロセスは、迅速化することができる。迅速化を達成するため、フィレット／面取りの処理プロセス中に分解ツリーによってスケジュールされているよりも早期に面（のセット）を含むこともできる。たとえば、ある面が、同じ凸面性を特徴付ける尖ったエッジを介して処理されるべき面のサブセットに連結されている場合、および上記連結された面が上記サブセットの面以外の面に連結されていない場合、当該の面は、処理されるべきサブセットと共に関与してもよい。そのような迅速化の方策（acceleration strategy）は、無用なトリミングの計算を回避して、アルゴリズムをより高速で信頼できるものにする。
【０１５１】
ついでに言えば、グラフ技法は、本発明による決定され処理された構造を管理するのに非常に便宜を提供するが、その他の技法をもくろむこともありえる。
【０１５２】
さらに、本願の発明者は、本明細書において開示されている方法が、面取り処理およびフィレット処理に限定されることなく、一般化されうることを理解している。この方法は、よりいっそう広範な分野の課題を解決するために使用されうる。グラフ切断アルゴリズムが適用されうる抽象的な範囲は、以下のように定義される。適用課題はグラフによって記述される。グラフの弧は、ＡまたはＢとラベル付けされる。最新技術では、Ａラベル付きの弧のみを持つグラフで象徴される課題を解決するために技術Ａを提供し、Ｂラベル付きの弧のみを持つグラフで象徴される課題を解決するために技術Ｂを提供する。しかしその現在の技術では、Ａラベル付きの弧およびＢラベル付きの弧を調合するグラフで象徴される課題を解決することはできない、つまりＡＢ−技術が欠損している。明らかに、グラフ切断は、Ａ技術およびＢ技術の交互のシーケンスを使用して当初の課題が解決されうるように、同種（Ａ弧のみ、またはＢ弧のみ）のサブグラフの交互のシーケンスを提供する。さらに、アルゴリズムが分割することができない異種（調合されたＡ弧およびＢ弧）のサブグラフのみが、欠損しているＡＢ技術に値する。言い換えれば、すべてのサブグラフが同種であるとのことでＡＢ技術が不要であるか、あるいは最小の異種のサブグラフで象徴される最小の起りうる課題に、ＡＢ技術が計画されて実施されるかのいずれかである。さらに、グラフ切断アルゴリズムは、切断の制御をどの様に保つかについてのノウハウを何らかのアプリケーションに組み込むことができる。
【０１５３】
したがって、本発明は、モデリングされたオブジェクトの面を接続するエッジの設計の代わりに、モデルの要素を接続する形体を処理するための２つの別個の技術の実施の設計を対象とすることができる。
【図１Ａ】
2010537299.tif 000013
【図１Ｂ】
2010537299.tif 000014
【図２Ａ】
2010537299.tif 000015
【図２Ｂ】
2010537299.tif 000016
【図３】
2010537299.tif 000017
【図４】
2010537299.tif 000018
【図５Ａ】
2010537299.tif 000019
【図５Ｂ】
2010537299.tif 000020
【図６Ａ】
2010537299.tif 000021
【図６Ｂ】
2010537299.tif 000022
【図７】
2010537299.tif 000023
【図８Ａ】
2010537299.tif 000024
【図８Ｂ】
2010537299.tif 000025
【図８Ｃ】
2010537299.tif 000026
【図９Ａ】
2010537299.tif 000027
【図９Ｂ】
2010537299.tif 000028
【図１０】
2010537299.tif 000029
【図１１Ａ】
2010537299.tif 000030
【図１１Ｂ】
2010537299.tif 000031
【図１２】
2010537299.tif 000032
【図１３】
2010537299.tif 000033
【図１４】
2010537299.tif 000034
【図１５】
2010537299.tif 000035
【図１６】
2010537299.tif 000036
【図１７Ａ】
2010537299.tif 000037
【図１７Ｂ】
2010537299.tif 000038
【図１７Ｃ】
2010537299.tif 000039
【図１７Ｄ】
2010537299.tif 000040
【図１７Ｅ】
2010537299.tif 000041
【図１７Ｆ】
2010537299.tif 000042
【図１８】
2010537299.tif 000043
【図１９】
2010537299.tif 000044
【国際調査報告】
2010537299.tif 000045
2010537299.tif 000046
2010537299.tif 000047