(57)【要約】      （修正有）【課題】ＣＡＤシステムにおいて、機械部品を表すＢ−Ｒｅｐスキンを提供する。【解決手段】Ｂ−ｒｅｐスキンは、境界面を含むＢ−ｒｅｐ部分を有する。また、ＣＡＤシステムとのグラフィカルなユーザ対話操作によりサーフェスを定義すること及びＣＡＤシステムによって自動的にＢ−ｒｅｐ置換を構築することを含む。さらに、Ｂ−Ｒｅｐスキンにおいて、Ｂ−ｒｅｐ置換により、Ｂ−ｒｅｐ部分を置換することを含む。これにより、Ｂ−Ｒｅｐスキンの設計の際に「面置換」機能が提供される。【選択図】図２３
2020077407.tif 000002
【特許請求の範囲】
【請求項１】
機械部品を表す３Ｄモデル化オブジェクトを設計するための、コンピュータによって実施される方法であって、
ＣＡＤシステムにおいて、前記機械部品を表すＢ−Ｒｅｐスキンを提供すること（Ｓ１０，Ｓ３０）であって、
前記Ｂ−ｒｅｐスキンの１つまたは複数の境界辺で境界が定められた境界面と、
それぞれ前記Ｂ−ｒｅｐスキンの内部の各辺で前記境界面に隣接する１つまたは複数の第１の面と、
を含むＢ−Ｒｅｐ部分を有するＢ−Ｒｅｐスキンを提供すること（Ｓ１０，Ｓ３０）と、
前記ＣＡＤシステムとのグラフィカルなユーザ対話操作によりサーフェスを定義すること（Ｓ２０）と、
前記ＣＡＤシステムによって自動的にＢ−ｒｅｐ置換を構築すること（Ｓ４０）であって、
それぞれ前記境界面に隣接し、前記Ｂ−ｒｅｐスキンの各境界辺によって境界が定められる１つまたは複数の第２の面を作成すること（Ｓ４１０）と、
Ｂ−ｒｅｐ集合体を生成すること（Ｓ４２０）であって、
それぞれが前記サーフェスと一致する１つまたは複数の第３の面であって、それぞれ１つまたは複数の辺を有し、各辺が、前記Ｂ−ｒｅｐ集合体の内部にあるような、第３の面と、
それぞれが各第１の面と一致し各第３の面に隣接する、１つまたは複数の第４の面と、
それぞれが各第２の面と一致し各第３の面に隣接する、１つまたは複数の第５の面と、
を含むＢ−ｒｅｐ集合体を生成すること（Ｓ４２０）と、
前記Ｂ−ｒｅｐ集合体から各第５の面を除去すること（Ｓ４３０）と、
を含む、構築すること（Ｓ４０）と、
前記Ｂ−Ｒｅｐスキンにおいて、Ｂ−ｒｅｐ置換により、前記Ｂ−ｒｅｐ部分を置換すること（Ｓ５０）と、
を含むことを特徴とする方法。
【請求項２】
前記作成すること（Ｓ４１０）が前記Ｂ−ｒｅｐ部分を厚化することを含むことを特徴とする請求項１の方法。
【請求項３】
前記厚化が、
前記Ｂ−ｒｅｐ部分のＢ−ｒｅｐオフセットを決定すること（Ｓ４１１０）と、
前記Ｂ−ｒｅｐオフセットを前記Ｂ−ｒｅｐ部分に接続する１つまたは複数の側面を構築すること（Ｓ４１２０）と、
前記１つまたは複数の側面から前記１つまたは複数の第２の面を決定すること（Ｓ４１３０）と
を含むことを特徴とする請求項２の方法。
【請求項４】
前記１つまたは複数の側面が１つまたは複数のリボン側面を含み、各リボン側面が、前記Ｂ−ｒｅｐ部分の各境界辺と、前記Ｂ−ｒｅｐオフセットにおける対応する境界辺とで境界が定められており、各リボン側面が、前記境界面に隣接し、各第２の面を形成する前記Ｂ−ｒｅｐスキンの各境界辺によって境界が定められている
ことを特徴とする請求項３の方法。
【請求項５】
各第２の面を形成する各リボン側面が、線織面によって支持されていることを特徴とする請求項４の方法。
【請求項６】
線織面が
【数４１】
2020077407.tif 000043
のタイプであって
【数４２】
2020077407.tif 000044
を満たし、ここで
Ｓはパラメータｕおよびｖに対して定義されたＦの支持サーフェスであり、Ｆは各境界辺で境界が定められた前記Ｂ−ｒｅｐ部分の面であり、
δはオフセット値であり、
Ｎ（ｕ，ｖ）は、前記パラメータｕおよびｖに対して定義されたＳの法線ベクトルであり、
【数４３】
2020077407.tif 000045
は、前記パラメータｕおよびｖについて
【数４４】
2020077407.tif 000046
で定義される
【数４５】
2020077407.tif 000047
の支持サーフェスであり、
【数４６】
2020077407.tif 000048
は対応する境界辺で境界が定められる前記Ｂ−ｒｅｐオフセットの面であり、
ｗは
【数４７】
2020077407.tif 000049
が各境界辺を支持する３Ｄ曲線となるようなパラメータであり、
ｔは
【数４８】
2020077407.tif 000050
を満たすパラメータである
ことを特徴とする請求項５の方法。
【請求項７】
前記機械部品が、曲げられ、かつ／あるいは、打ち抜かれた、平板シートを含むことを特徴とする請求項６の方法。
【請求項８】
前記境界面の全体が前記サーフェスの各側方に位置し、前記厚化が前記サーフェスの反対方向に実行されることを特徴とする請求項２〜７のうちいずれか１つの方法。
【請求項９】
前記Ｂ−Ｒｅｐスキンの提供（Ｓ３０）の前に、前記機械部品を表す最初のＢ−Ｒｅｐスキンを提供すること（Ｓ１０）をさらに含み、前記最初のＢ−Ｒｅｐスキンは最初の境界面を有し、
前記サーフェスは前記最初の境界面をいくつかの境界サブ面に分割し、各境界サブ面は、前記Ｂ−Ｒｅｐ部分の前記境界面を形成し、
前記Ｂ−Ｒｅｐスキンの前記提供（Ｓ３０）は、前記最初のＢ−ＲｅｐスキンをいくつかのＢ−Ｒｅｐサブスキンに分割すること（Ｓ３２０）を含み、各Ｂ−Ｒｅｐサブスキンは前記Ｂ−Ｒｅｐスキンを形成し、
他の各Ｂ−Ｒｅｐサブスキンは、前記他のＢ−Ｒｅｐサブスキンの１つまたは複数の境界辺で境界が定められた各境界サブ面を含む各Ｂ−Ｒｅｐ部分を有し、
前記構築（Ｓ４０）および前記置換（Ｓ５０）は、他のＢ−Ｒｅｐサブスキンごとに各Ｂ−Ｒｅｐ部分について実行される
ことを特徴とする請求項８の方法。
【請求項１０】
前記生成（Ｓ４２０）は、
１つまたは複数の第３の面をそれぞれ前記サーフェスを外挿および／またはトリミングすることにより作成すること、
１つまたは複数の第４の面をそれぞれ各第１の面の支持サーフェスを外挿および／またはトリミングすることにより作成すること、および／または、
１つまたは複数の第５の面をそれぞれ各第２の面の支持サーフェスを外挿および／またはトリミングすることにより作成すること
を含むことを特徴とする請求項１〜９のうちいずれか１つの方法。
【請求項１１】
サーフェスの外挿は、
前記サーフェスが２Ｄパラメトリックドメインを有する標準曲面である場合、前記２Ｄパラメトリックドメインを延長することを含み、
前記サーフェスが平面プロファイルを掃引するための３Ｄモーションを定義する入力要素を有する手続き型曲面である場合、前記入力要素を外挿することを含み、かつ／あるいは、
前記サーフェスが自由曲面である場合、曲率が連続的となるように前記サーフェスを延長することを含む
ことを特徴とする請求項１０の方法。
【請求項１２】
前記機械部品は、
自動車部品、航空宇宙部品、消費財部品、防衛部品、建築部品、造船部品、鉱業部品、海洋およびオフショア部品、または産業機器部品、
薄い部品、および／または、
複合部品、プラスチック成型部品、または打ち抜かれた部品である
ことを特徴とする請求項１〜１１のうちいずれか１つの方法。
【請求項１３】
請求項１〜１２のうちいずれかの方法を実行するための指示を含むコンピュータプログラム。
【請求項１４】
請求項１３のコンピュータプログラムを記録した非一時的データ記憶媒体。
【請求項１５】
請求項１３のコンピュータプログラムを記録したメモリに接続されたプロセッサと、グラフィカル・ユーザ・インターフェースとを備えるＣＡＤシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータプログラムおよびシステムの分野に関連し、より詳細には、機械部品を表す３Ｄモデル化オブジェクトを設計するための方法、システム、およびプログラムに関連する。
【背景技術】
【０００２】
オブジェクトの設計、エンジニアリング、製造のため、多数のシステムおよびプログラムが市場に提供されている。ＣＡＤは、コンピュータ支援設計（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ）の略語であり、例えば、オブジェクトを設計するためのソフトウェア・ソリューションに関する。ＣＡＥは、コンピュータ支援エンジニアリング（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｅｎｇｉｎｅｅｒｉｎｇ）の略語であり、例えば、将来の製品の物理的挙動をシミュレーションするためのソフトウェア・ソリューションに関する。ＣＡＭは、コンピュータ支援製造（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）の略語であり、例えば、製造工程および動作を定義するためのソフトウェア・ソリューションに関する。このようなコンピュータ支援設計システムにおいて、グラフィカル・ユーザ・インターフェースは、技術の効率に関して、重要な役割を果たす。これらの技術は、製品ライフサイクル管理（Ｐｒｏｄｕｃｔ  Ｌｉｆｅｃｙｃｌｅ  Ｍａｎａｇｅｍｅｎｔ：  ＰＬＭ）システムに組み込むことができる。ＰＬＭとは、企業が、拡張エンタープライズの概念全体にわたって、製品データを共有し、共通の工程を適用し、構想に始まり製品寿命の終わりに至る製品開発のための企業知識を活用するのを支援するビジネス戦略を指す。ダッソー・システムズが提供するＰＬＭソリューション（製品名ＣＡＴＩＡ、ＥＮＯＶＩＡ、ＤＥＬＭＩＡ）は、製品エンジニアリング知識をオーガナイズするエンジニアリング・ハブ、製品エンジニアリング知識を管理する製造ハブ、およびエンジニアリング・ハブと製造ハブの両方に対するエンタープライズ統合と接続を可能にするエンタープライズ・ハブを提供する。全てのシステムは、製品、工程、リソースを結ぶオープンなオブジェクトモデルを提供し、最適化された製品定義、製造準備、生産およびサービスを推進する、動的な知識ベースの製品作成および意思決定支援を可能にする。
【０００３】
多くの既存のＣＡＤシステムにより、設計者は、グラフィカルなユーザ対話操作を介して、境界表現（Ｂ−Ｒｅｐ）フォーマットで機械部品をモデリングできる。このフレームワークにおいて、ユーザ対話操作のエルゴノミクスが特に重要である。このため、一部のＣＡＤシステムは、ユーザがＢ−Ｒｅｐボリューム（すなわち、閉じたＢ−Ｒｅｐ）の特定の面の置換を目的としたサーフェスを定義可能であり、その後、システムが、当該特定の面が、定義したサーフェスに応じて作成された新しい面に置き換えられるように、Ｂ−Ｒｅｐボリュームを自動的に更新するような機能を提供する。これは特に、Ｏｎｓｈａｐｅ、ＳｏｌｉｄＥｄｇｅ、およびＰｒｏＥｎｇｉｎｅｅｒの商標の下で流通しているソフトウェア・ソリューションの場合に当てはまる。
【０００４】
しかしながら、そのような機能をＢ−Ｒｅｐスキン（すなわち開いたＢ−Ｒｅｐ）の設計の際に提供するＣＡＤシステムが、依然として求められている。
【発明の概要】
【０００５】
したがって、機械部品を表す３Ｄモデル化オブジェクトを設計するための、コンピュータによって実施される方法が提供される。本方法は、ＣＡＤシステムにおいて、Ｂ−Ｒｅｐスキンを提供することを含む。Ｂ−Ｒｅｐスキンは、機械部品を表す。Ｂ−ｒｅｐスキンはＢ−ｒｅｐ部分を有する。Ｂ−Ｒｅｐ部分は、Ｂ−ｒｅｐスキンの１つまたは複数の境界辺によって境界が定められる境界面と、それぞれＢ−ｒｅｐスキンの内部の各辺で境界面に隣接する１つまたは複数の第１の面とを含む。本方法はまた、ＣＡＤシステムとのグラフィカルなユーザ対話操作によりサーフェスを定義することを含む。本方法はまた、ＣＡＤシステムによって自動的にＢ−ｒｅｐ置換を構築することを含む。構築は、それぞれ境界面に隣接しＢ−ｒｅｐスキンの各境界辺によって境界が定められる１つまたは複数の第２の面を作成することを含む。構築はまた、Ｂ−ｒｅｐ集合体の生成を含む。Ｂ−ｒｅｐ集合体は、それぞれがサーフェスと一致する１つまたは複数の第３の面を含む。第３の面はそれぞれ１つまたは複数の辺を有する。各第３の面の各辺は、Ｂ−ｒｅｐ集合体の内部にある。Ｂ−ｒｅｐ集合体はまた、それぞれが各第１の面と一致し各第３の面に隣接する、１つまたは複数の第４の面を含む。Ｂ−ｒｅｐ集合体はまた、それぞれが各第２の面と一致し各第３の面に隣接する、１つまたは複数の第５の面を含む。構築はさらに、Ｂ−ｒｅｐ集合体から各第５の面を除去することを含む。本方法はさらに、Ｂ−Ｒｅｐスキンにおいて、Ｂ−ｒｅｐ置換により、Ｂ−ｒｅｐ部分を置換することを含む。
【０００６】
このような方法により、ＣＡＤシステムとのグラフィカルなユーザ対話操作によって機械部品を表すＢ−Ｒｅｐスキンを設計する際のエルゴノミクスが改善される。
【０００７】
特に、本方法では、ユーザがサーフェスをグラフィカルに定義し、ＣＡＤシステムがＢ−ＲｅｐスキンのＢ−ｒｅｐ部分のＢ−Ｒｅｐ置換を自動的に構築するようなユーザ対話操作が可能となる。１つまたは複数の第３の面がそれぞれサーフェスと一致するおかげで、最終的に結果の一部となるジオメトリをユーザが直接定義するため、本方法は直感的でありエルゴノミック（人間工学的）である。また、１つまたは複数の第４の面のそれぞれが各第１の面と合致し、各第３の面に隣接しているため、本方法は、Ｂ−Ｒｅｐスキンの最初のジオメトリと一致するＢ−Ｒｅｐ置換を構築する。言い換えれば、最初のジオメトリの変更が最小限に抑えられる。
【０００８】
さらに、本方法は、Ｂ−Ｒｅｐ部分に境界面、つまり１つまたは複数の境界辺で囲まれた面が含まれている場合でも実行されるため、特にＢ−Ｒｅｐスキンの場合におけるこのような構築に適合する。そのため、本方法は、それぞれ境界面に隣接しＢ−ｒｅｐスキンの各境界辺によって境界が定められる１つまたは複数の第２の面を作成する。次いで、１つまたは複数の第２の面は、１つまたは複数の第１の面と同様に生成中に処理される。すなわち、それぞれが各第２の面と一致し各第３の面に隣接する１つまたは複数の第５の面を生成するよう処理される。これにより、本方法が堅牢なものとなる。そして、置換される面が隣接する面（第１の面および第２の面）ですべて囲まれている場合、第３、第４、および第５の面の生成はユーザの意図に沿って堅牢な方法で実行可能である。
【０００９】
さらに、このような第１の面と第２の面の同様の処理により、置換される面がＢ−Ｒｅｐスキンの境界面である場合も、置換される面がＢ−ＲｅｐスキンまたはＢ−Ｒｅｐボリュームの内部の面である場合も、同様に当該機能が働くようにプログラムするのが容易である。実際、プログラムは、１つまたは複数の第２の面の作成と、１つまたは複数の第５の面の生成と削除を実行するかしないかの条件をテストすることを含んでいればよく、条件は、置換される面が１つまたは複数の境界辺で囲まれた境界面である場合にみたされ肯定的となり、そうでない場合に否定的となる。プログラムは、他のモジュールに対して、条件が肯定的であるか否定的であるかにかかわらず、同一の方法で実行されてもよい。このようなプログラムは、本方法のように、Ｂ−Ｒｅｐスキンの境界面、またはＢ−ＲｅｐスキンまたはＢ−Ｒｅｐボリュームの内部の面を置換される入力とするため、すべての状況に適用できる。
【００１０】
本方法は、以下のうち１つまたは複数を含んでいてもよい。
【００１１】
・作成は、Ｂ−ｒｅｐ部分を厚化することを含む。
【００１２】
・厚化は、Ｂ−ｒｅｐ部分のＢ−ｒｅｐオフセットを決定し、Ｂ−ｒｅｐオフセットをＢ−ｒｅｐ部分に接続する１つまたは複数の側面を構築し、当該１つまたは複数の側面から１つまたは複数の第２の面を決定することを含む。
【００１３】
・当該１つまたは複数の側面は１つまたは複数のリボン側面を含み、各リボン側面は、Ｂ−ｒｅｐ部分の各境界辺と、Ｂ−ｒｅｐオフセットにおける対応する境界辺とで境界が定められており、各リボン側面は、境界面に隣接し、各第２の面を形成するＢ−ｒｅｐスキンの各境界辺によって境界が定められている。
【００１４】
・各第２の面を形成する各リボン側面は、線織面（ｒｕｌｅｄ  ｓｕｒｆａｃｅ）によって支持されている。
【００１５】
・線織面は
【００１６】
【数１】
2020077407.tif 000003
【００１７】
のタイプであって
【００１８】
【数２】
2020077407.tif 000004
【００１９】
を満たし、ここでＳはパラメータｕおよびｖに対して定義されたＦの支持サーフェス（ｓｕｐｐｏｒｔｉｎｇ  ｓｕｒｆａｃｅ）であり、Ｆは各境界辺で境界が定められたＢ−ｒｅｐ部分の面であり、δはオフセット値である。
【００２０】
・Ｎ（ｕ，ｖ）は、パラメータｕおよびｖに対して定義されたＳの法線ベクトルであり、
【００２１】
【数３】
2020077407.tif 000005
【００２２】
は、パラメータｕおよびｖについて
【００２３】
【数４】
2020077407.tif 000006
【００２４】
で定義される
【００２５】
【数５】
2020077407.tif 000007
【００２６】
の支持サーフェスであり、
【００２７】
【数６】
2020077407.tif 000008
【００２８】
は対応する境界線で境界が定められるＢ−ｒｅｐオフセットの面であり、ｗは
【００２９】
【数７】
2020077407.tif 000009
【００３０】
が各境界辺を支持する３Ｄ曲線となるようなパラメータであり、ｔは
【００３１】
【数８】
2020077407.tif 000010
【００３２】
を満たすパラメータである。
【００３３】
・機械部品は、曲げられ、かつ／あるいは、打ち抜かれた、平板シートを含む。
【００３４】
・境界面の全体がサーフェスの各側方に位置し、厚化は当該サーフェスの反対方向に実行される。
【００３５】
・本方法は、Ｂ−Ｒｅｐスキンの提供の前に、機械部品を表す最初のＢ−Ｒｅｐスキンを提供することをさらに含み、最初のＢ−Ｒｅｐスキンは最初の境界面を有し、サーフェスは最初の境界面をいくつかの境界サブ面に分割し、各境界サブ面は、Ｂ−Ｒｅｐ部分の境界面を形成し、Ｂ−Ｒｅｐスキンの提供は、最初のＢ−ＲｅｐスキンをいくつかのＢ−Ｒｅｐサブスキンに分割することを含み、各Ｂ−ＲｅｐサブスキンはＢ−Ｒｅｐスキンを形成し、他の各Ｂ−Ｒｅｐサブスキンは、他のＢ−Ｒｅｐサブスキンの１つまたは複数の境界辺で境界が定められた各境界サブ面を含む各Ｂ−Ｒｅｐ部分を有し、構築および置換は、他のＢ−Ｒｅｐサブスキンごとに各Ｂ−Ｒｅｐ部分について実行される。
【００３６】
・生成は、１つまたは複数の第３の面をそれぞれサーフェスを外挿および／またはトリミングすることにより作成すること、１つまたは複数の第４の面をそれぞれ第１の面の支持サーフェスを外挿および／またはトリミングすることにより作成すること、および／または、１つまたは複数の第５の面をそれぞれ第２の面の支持サーフェスを外挿および／またはトリミングすることにより作成することを含む。
【００３７】
・サーフェスの外挿は、サーフェスが２Ｄパラメトリックドメインを有する標準曲面である場合、２Ｄパラメトリックドメインを延長することを含み、サーフェスが平面プロファイルを掃引するための３Ｄモーションを定義する入力要素を有する手続き型曲面である場合、入力要素を外挿することを含み、かつ／あるいは、サーフェスが自由曲面である場合、曲率が連続的となるようにサーフェスを延長することを含む。および／または、
・機械部品は、自動車部品、航空宇宙部品、消費財部品、防衛部品、建築部品、造船部品、鉱業部品、海洋およびオフショア部品、または産業機器部品、薄い部品、および／または、複合部品、プラスチック成型部品、または打ち抜かれた部品である。
【００３８】
さらには、本方法を実行するための命令を含むコンピュータプログラムが提供される。
【００３９】
さらには、当該コンピュータプログラムを記録したコンピュータ読み取り可能記憶媒体が提供される。
【００４０】
さらには、当該コンピュータプログラムを記録したメモリに接続されたプロセッサと、グラフィカル・ユーザ・インターフェースとを備えるＣＡＤシステムが提供される。
【００４１】
以下、非限定的な例として、本発明の実施の形態を添付の図面を参照しつつ説明する。
【図面の簡単な説明】
【００４２】
【図１】本方法で設計され得る機械部品の例を示す。
【図２】本方法で設計され得る機械部品の例を示す。
【図３】本方法で設計され得る機械部品の例を示す。
【図４】本方法で設計され得る機械部品の例を示す。
【図５】本方法で設計され得る機械部品の例を示す。
【図６】本方法で設計され得る機械部品の例を示す。
【図７】本方法で設計され得る機械部品の例を示す。
【図８】本システムのグラフィカル・ユーザ・インターフェースの一例を示す。
【図９】本システムの一例を示す。
【図１０】Ｂ−Ｒｅｐフォーマットを示す。
【図１１】Ｂ−Ｒｅｐフォーマットを示す。
【図１２】Ｂ−Ｒｅｐフォーマットを示す。
【図１３】Ｂ−Ｒｅｐフォーマットを示す。
【図１４】Ｂ−Ｒｅｐフォーマットを示す。
【図１５】Ｂ−Ｒｅｐフォーマットを示す。
【図１６】Ｂ−Ｒｅｐフォーマットを示す。
【図１７】Ｂ−Ｒｅｐボリュームに対する「面置換」操作を示す。
【図１８】Ｂ−Ｒｅｐボリュームに対する「面置換」操作を示す。
【図１９】Ｂ−Ｒｅｐボリュームに対する「面置換」操作を示す。
【図２０】本方法によって解決される、Ｂ−Ｒｅｐスキンでの「面置換」操作の問題を示す。
【図２１】本方法によって解決される、Ｂ−Ｒｅｐスキンでの「面置換」操作の問題を示す。
【図２２】本方法によって解決される、Ｂ−Ｒｅｐスキンでの「面置換」操作の問題を示す。
【図２３】本方法の一例のフローチャートを示す。
【図２４】本方法を示す。
【図２５】本方法を示す。
【図２６】本方法を示す。
【図２７】本方法を示す。
【図２８】本方法を示す。
【図２９】本方法を示す。
【図３０】本方法を示す。
【図３１】本方法を示す。
【図３２】本方法を示す。
【図３３】本方法を示す。
【図３４】本方法を示す。
【図３５】本方法を示す。
【図３６】本方法を示す。
【図３７】本方法を示す。
【図３８】本方法を示す。
【図３９】本方法を示す。
【図４０】本方法を示す。
【図４１】本方法を示す。
【図４２】本方法を示す。
【図４３】本方法を示す。
【図４４】本方法を示す。
【図４５】本方法を示す。
【図４６】本方法を示す。
【図４７】本方法を示す。
【発明を実施するための形態】
【００４３】
本方法は、コンピュータによって実施される。すなわち、本方法のステップ（あるいは略全てのステップ）が、ＣＡＤシステムを構成する少なくとも１つのコンピュータによって実行される。よって本方法の各ステップは、ＣＡＤシステムのプロセッサにより、完全に自動的に、あるいはユーザ対話操作を介して実行される可能性がある。一例において、本方法のステップの少なくともいくつかは、ユーザ対話操作を介してトリガされてもよい。
【００４４】
当該ＣＡＤシステムは、本方法を実行するための命令を含むコンピュータプログラムを記録したメモリに接続されたプロセッサ、および、グラフィカル・ユーザ・インターフェイス（ＧＵＩ）を備えていてもよい。メモリはデータベースを記憶していてもよい。メモリは、そのような記憶に適した任意のハードウェアであり、場合により、物理的に区別可能ないくつかの部分（例えば、プログラム用に１つ、場合によりデータベース用に１つ）を含む。ＣＡＤシステムは、グラフィカル・ユーザ・インターフェースが（例えば本方法のユーザに対して）任意の情報を表示するためのディスプレイユニットを含んでいてもよい。
【００４５】
例えば、Ｂ−Ｒｅｐスキンの提供は、ユーザ対話操作を介して行われ得る。ユーザは、ＣＡＤシステムとのグラフィカルなユーザ対話操作により、最初のＢ−Ｒｅｐスキンをゼロから設計し、かつ／あるいは、既に設計された最初のＢ−Ｒｅｐスキンを取得して、オプションとして、ＣＡＤシステムとのグラフィカルなユーザ対話操作により、取得した最初のＢ−Ｒｅｐスキンを編集することができる。次いで、ユーザは、ＣＡＤシステムとのグラフィカルなユーザ対話操作により、サーフェスを定義することができる。これは、ユーザが本システムの、例えば本方法の実行専用の、各機能を起動した後に（例えば「面置換」機能）、例えば、メニュー選択、および／または、グラフィカル、および／または、キーボード入力により、実行可能である。本方法に入力されるＢ−Ｒｅｐは、このような最初のＢ−Ｒｅｐ（オプションで編集されたもの）、または、後で説明するように、自動的に実行され得る、最初のＢ−Ｒｅｐの分割によって得られるＢ−Ｒｅｐサブスキンである。どちらの場合も、Ｂ−ｒｅｐ置換の構築はＣＡＤシステムによって自動的に実行されるため、ユーザが介入する必要はない。Ｂ−ｒｅｐ置換によるＢ−ｒｅｐ部分の置換は自動的に行われ得る。前記置換は、例えば、表示結果のプレビューをユーザに自動的に表示し、ユーザが前記結果を検証した後に、自動的に構成に従うか、あるいはユーザによってトリガされてもよい。
【００４６】
ジオメトリ的オブジェクトを定義するという文脈において、「グラフィカルなユーザ対話操作」は、単に、ＣＡＤシステムの一般的なグラフィカル・デザイン機能を指す。これは、設計者が、触覚システム（例えば、マウス、または感知／タッチスクリーンや感知／タッチパッドなどのタッチデバイス）を用いて、ディスプレイユニットに表示されジオメトリ的オブジェクトが配置される、設計シーンの１つまたは複数の場所をアクティブ化するような、あらゆるユーザ対話操作を意味する。シーンの位置をアクティブ化することは、マウスのカーソルをその上に配置させること、またはその上でタッチを実行することを含んでもよい。アクティブ化後、略リアルタイムで、ジオメトリ的オブジェクトの少なくとも一部が表示される。特に、サーフェスの定義には、ユーザが、Ｂ−Ｒｅｐスキンが表示されている間に、Ｂ−Ｒｅｐスキンが表示されるシーンに対するグラフィカルな対話操作を行って、Ｂ−Ｒｅｐスキンに対してサーフェスの位置決めおよび視覚化を行うことが含まれていてもよい。ＣＡＤシステムは、このように、サーフェスを定義するユーザに対し、視覚的なフィードバックを提供する。
【００４７】
本方法は、一般に、モデル化オブジェクトを操作する。モデル化オブジェクトは、例えばデータベースに格納されたデータによって定義される任意のオブジェクトである。さらには、「モデル化オブジェクト」という表現は、データそのものも指す。システムの種類に応じて、異なる種類のデータによってモデル化オブジェクトが定義されてもよい。実際、システムは、ＣＡＤシステム、ＣＡＥシステム、ＣＡＭシステム、ＰＤＭシステム、および／またはＰＬＭシステムのうちの任意の組み合わせであってもよい。それら異なるシステムにおいて、モデル化オブジェクトは、対応するデータによって定義される。したがって、ＣＡＤオブジェクト、ＰＬＭオブジェクト、ＰＤＭオブジェクト、ＣＡＥオブジェクト、ＣＡＭオブジェクト、ＣＡＤデータ、ＰＬＭデータ、ＰＤＭデータ、ＣＡＭデータ、ＣＡＥデータについて言及することがある。しかしながら、モデル化オブジェクトは、これらのシステムの任意の組み合わせに対応するデータによって定義されてもよいため、これらのシステムは、互いに排他的なものではない。したがって、システムは、ＣＡＤ兼ＰＬＭシステムであってもよい。
【００４８】
ＣＡＤシステムは、少なくとも、ＣＡＴＩＡのようなモデル化オブジェクトのグラフィック表現に基づくモデル化オブジェクトの設計に適した任意のシステムをも意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトを表現可能にするデータを含む。ＣＡＤシステムは、例えば、辺や線を用い、また、場合により面や曲面を用いて、ＣＡＤモデル化オブジェクトの表現を提供してもよい。線、辺、あるいは面は、例えば、非一様有理Ｂスプライン（ＮＵＲＢＳ）など、様々な様式で表現されてもよい。具体的には、ＣＡＤファイルは仕様を含み、その仕様に基づきジオメトリが生成可能であり、よって表現が生成可能となる。モデル化オブジェクトの仕様は１つまたは複数のＣＡＤファイルに格納されていてもよい。ＣＡＤシステムでモデル化オブジェクトを表現するファイルの典型的なサイズは、一部分あたり１メガバイトの範囲である。また、モデル化オブジェクトは、典型的には、数千の部分の集合体であってもよい。
【００４９】
ＣＡＤの文脈において、モデル化オブジェクトは、典型的には、３Ｄモデル化オブジェクトである。「３Ｄモデル化オブジェクト」は、３Ｄ表現が可能なデータによってモデル化される任意のオブジェクトを意味する。３Ｄ表現は、その部品をすべての角度から見ることを可能にする。たとえば、３Ｄで表現された３Ｄモデル化オブジェクトは、その軸のうちの任意の軸、あるいは、その表現が表示された画面中の任意の軸を中心に、処理して回転させることが可能である。これは、特に、３Ｄモデル化されていない２Ｄアイコンについては除外される。３Ｄ表現の表示は、設計を容易にする（すなわち、設計者が作業を達成するスピードを統計的に速める）。製品の設計は製造工程の一部であるから、これによって当該産業における製造工程が迅速化する。
【００５０】
「機械部品」は、例えばＣＡＤソフトウェア・ソリューションまたはＣＡＤシステムを用いたその仮想設計の完了後、現実世界で製造される、あらゆる製品または製品の一部を意味する。機械部品は、部品の集合（例えば移動機構）、単一の剛体部品、または剛体部品の一部であってもよい。モデル化オブジェクトについて「機械部品を表す」とは、モデル化オブジェクトのジオメトリが機械部品の１つまたは複数のクラスＡサーフェスの材料の空間分布を表すことを意味し、これは定義上、エンドユーザにとって可視である仮想製品の外面のことである。特に、Ｂ−Ｒｅｐスキンは、機械部品（すなわち、機械部品の外側スキンの少なくとも一部）の材料エンベロープを少なくとも部分的に（例えば、全体を）表してもよい。
【００５１】
ＣＡＤソフトウェア・ソリューションは、航空宇宙、建築、建設、消費財、ハイテク機器、産業機器、輸送、海洋、および／または海洋石油／ガス生産、または交通を含む、限定されることのない様々な産業分野において製品の設計を可能にする。本方法により設計される３Ｄモデル化オブジェクトは、このように、地上車両の部品（例えば、自動車および軽トラック機器、レーシングカー、オートバイ、トラックおよびモーター機器、トラック、バス、電車を含む）、航空車両の部品（例えば、航空機体機器、航空宇宙機器、推進機器、防衛製品、航空路線機器、宇宙機器を含む）、海軍車両の部品（例えば、海軍用機器、商業用船舶、オフショア機器、ヨットおよび作業船、船舶用機器を含む）、一般的な機械部品（例えば、工業用製造機械、大型移動機械または機器、設置機器、産業機器製品、加工金属製品、タイヤ製造製品を含む）、電気機械部品、または電子部品（例えば、家電、セキュリティおよび／または制御および／または計装製品、コンピューティングおよび通信機器、半導体、医療装置および設備を含む）、消費者製品（例えば、家具、家庭用および庭用製品、レジャー用品、ファッション用品、耐久消費財小売用品、織物類小売用品を含む）、包装（例えば、食品および飲料およびたばこ、美容およびパーソナルケア、家庭用製品包装を含む）などのように、任意の機械部品であり得る工業製品を表してもよい。
【００５２】
機械部品は、特に、自動車部品（すなわち、自動車／車の機械部品）、航空宇宙部品（すなわち、衛星などの航空宇宙機の機械部品）、消費財部品（すなわち、棚の上に配置し、かつ／あるいは梱包し、購入することができる製品の部品または製品）、防衛部品（すなわち、防衛に用いられる車両または現実の物体の機械部品）、建築部品（すなわち、建物の壁や建物全体などの建築物の部品）、造船部品、海上およびオフショア部品（例えば、石油オフショアプラットフォームで使用）、鉱業部品（すなわち、鉱業に用いられる機器の機械部分）、あるいは産業機器部品（製造機械部品など）であってもよい。そのような機械部品は、実際、Ｂ−Ｒｅｐスキンで適切に表されることが多い。追加として、または代替として、機械部品は薄い部品であってもよい。薄い部品は、最初の板金材料を成形することで得られる機械部品である。板金の厚み寸法は、０．１ｍｍより大きく、かつ／あるいは、１０ｍｍより小さく、例えば１ｍｍ程度であってもよく、かつ／あるいは、サイズは、０．１ｍ×０．１ｍより大きく、かつ／あるいは、１０ｍ×１０ｍより小さく、例えば１ｍ×１ｍ程度であってもよい。そのような機械部品は、Ｂ−Ｒｅｐスキンで適切に表される。これは、表現するという目的においては、その厚みを無視できるためである。追加として、または代替として、機械部品は、複合部品、プラスチック成型部品、または打ち抜き部品であってもよい。そのような機械部品は、実際、Ｂ−Ｒｅｐスキンで適切に表されることが多く、またそれらは薄い部品であることが多い。さらには、多くの自動車部品、航空宇宙部品、あるいは消費財が、このように製造されている。
【００５３】
図１〜図７は、本方法により設計され得る機械部品を表すＢ−Ｒｅｐスキンを示す。図１〜図２は、消費財製品、具体的にはシャンプーボトルの半分を表すＢ−Ｒｅｐスキンを示す。ユーザは、本方法を含むそのような半分を設計し、次に対称演算子を起動して最終的なボトルを取得できる。図３〜図４は、自動車部品を表すＢ−Ｒｅｐスキンを示す。図５〜図７は、それぞれ、複合部品、プラスチック成型部品、および打ち抜き部品を表すＢ−Ｒｅｐスキンを示す。
【００５４】
図８は、ＣＡＤシステムのＧＵＩの一例を示す。ＧＵＩ２１００は、標準的なメニューバー２１１０、２１２０、ならびに底部および側面のツールバー２１４０、２１５０を有する典型的なＣＡＤのようなインターフェースであってもよい。このようなメニューバーおよびツールバーは、ユーザが選択可能なアイコンのセットを含み、各アイコンは、当技術分野で知られているように、１つまたは複数の操作または機能に関連付けられている。これらのアイコンのいくつかは、ＧＵＩ２１００に表示された３Ｄモデル化オブジェクト２０００の編集および／または作業に適合したソフトウェアツールに関連付けられている。ソフトウェアツールはワークベンチにすることができる。各ワークベンチは、ソフトウェアツールのサブセットを含む。特に、ワークベンチの１つは、モデル化製品２０００のジオメトリ的特徴を編集するのに適した編集ワークベンチである。操作中、設計者は、例えば、オブジェクト２０００の一部を予め選択し、次いで、適切なアイコンを選択することによって、操作を開始する（例えば、寸法、色などを変更する）か、ジオメトリ的制約を編集することができる。例えば、典型的なＣＡＤ操作は、スクリーン上に表示された３Ｄモデル化オブジェクトのパンチングまたは折り畳みのモデリングである。ＧＵＩは、例えば、表示された製品２０００に関連するデータ２５００を表示してもよい。図の例では、「特徴ツリー」として表示されたデータ２５００およびそれらの３Ｄ表現２０００は、ブレーキキャリパおよびディスクを含むブレーキ部品に関するものである。ＧＵＩは、編集された製品の動作のシミュレーションを起動するため、または表示された製品２０００の様々な属性を描画するために、例えばオブジェクトの３Ｄ定位を容易にするための様々なタイプのグラフィックツール２１３０、２０７０、２０８０をさらに示してもよい。カーソル２０６０は、ユーザがグラフィックツールを用いて対話操作ができるように、触覚デバイスによって制御されてもよい。
【００５５】
図９は、本システムの一例を示すものであって、当該システムは、クライアントコンピュータシステム、例えばユーザのワークステーションである。本例のクライアントコンピュータは、内部通信バス１０００に接続された中央演算処理装置（ＣＰＵ）１０１０、および同じくバスに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０とを備える。クライアントコンピュータは、さらに、バスに接続されたビデオランダムアクセスメモリ１１００と関連付けられたグラフィックス処理装置（ＧＰＵ）１１１０を備える。ビデオＲＡＭ１１００は、当該技術分野において、フレームバッファとしても知られる。大容量記憶装置コントローラ１０２０は、ハードドライブ１０３０などの大容量記憶装置へのアクセスを管理する。コンピュータプログラムの命令及びデータを具体的に実現するのに適した大容量メモリ装置は、例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ及びフラッシュメモリ装置のような半導体メモリ装置、内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク、光磁気ディスク、およびＣＤ−ＲＯＭディスク１０４０を含む、全ての形式の不揮発性メモリを含む。前述のいずれも、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補完されてもよいし、組み入れられてもよい。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。クライアントコンピュータはまた、カーソル制御装置、キーボードなどの触覚装置１０９０を含んでいてもよい。カーソル制御装置は、ユーザがディスプレイ１０８０上の任意の所望の位置にカーソルを選択的に位置させることを可能にするために、クライアントコンピュータ内で使用される。さらに、カーソル制御デバイスは、ユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号生成装置を含む。典型的には、カーソル制御装置はマウスであってもよく、マウスのボタンは信号を生成するために使用される。あるいは、または追加的に、クライアントコンピュータシステムは、感知パッドおよび／または感知スクリーンを備えてもよい。
【００５６】
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでいてもよく、命令は、上記システムに方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラムは、例えば、デジタル電子回路、またはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせで実装されてもよい。プログラムは、例えばプログラマブルプロセッサによる実行のための機械読み取り可能な記憶装置に具体的に実現された製品のような装置として実装されてもよい。方法ステップは、プログラム可能なプロセッサが命令のプログラムを実行し、入力データを操作して出力を生成することによって方法の機能を実行することによって実行されてもよい。したがって、プロセッサは、データ記憶システム、少なくとも１つの入力デバイス、および少なくとも１つの出力デバイスからデータおよび命令を受信し、また、それらにデータおよび命令を送信するようにプログラム可能であってもよく、またそのように接続されていてもよい。アプリケーションプログラムは、高水準の手続き型またはオブジェクト指向のプログラミング言語で、または必要に応じてアセンブリ言語または機械語で実装されていてもよい。いずれの場合も、言語はコンパイラ型言語またはインタープリタ型言語であってもよい。プログラムは、フルインストールプログラムまたは更新プログラムであってもよい。いずれの場合も、プログラムをシステムに適用すると、本方法を実行するための指示が得られる。
【００５７】
「３Ｄモデル化オブジェクトの設計」とは、３Ｄモデル化オブジェクトを作り上げる工程の少なくとも一部である任意の行為あるいは一連の行為を指す。したがって、本方法は、３Ｄモデル化オブジェクトを一から作ることを含んでもよい。あるいは、本方法は、以前に作成された３Ｄモデル化オブジェクトを提供し、次いで３Ｄモデル化オブジェクトを修正することを含んでいてもよい。
【００５８】
本方法は、本方法を実行した後に、形状がモデル化オブジェクトに対応する物理的製品を生産することを含み得る、製造工程に含まれていてもよい。いずれの場合も、本方法により設計されたモデル化オブジェクトは、製造物を表し得る。したがって、モデル化オブジェクトは、モデル化された立体（つまり、立体を表すモデル化オブジェクト）であってもよい。製造物は、部品や部品の組立体などの、製品であってもよい。本方法は、モデル化オブジェクトの設計を改善するため、製品の製造も改善し、よって製造工程の生産性が向上する。一例において、本方法により設計された３Ｄモデル化オブジェクトは、製造物を自動的に３Ｄ印刷する３Ｄプリンタに入力されてもよい。
【００５９】
本方法で用いられる境界表現（Ｂ−Ｒｅｐ）フォーマットとその概念は広く知られてはいるが、ここではそれらについて説明する。
【００６０】
Ｂ−Ｒｅｐモデルには、トポロジ的エンティティとジオメトリ的エンティティが含まれる。トポロジ的エンティティとは、面、辺、および頂点である。ジオメトリ的エンティティは３Ｄオブジェクトである。すなわち、サーフェス、平面、曲線、線、点である。
【００６１】
定義上、面は境界が定められたサーフェスの一部であり、支持サーフェスと呼ばれる。辺は境界が定められた曲線の一部であり、支持曲線と呼ばれる。頂点は、３Ｄ空間内の点である。それらは次のように互いに関連する。境界が定められた曲線の一部は、曲線上の２つの点（頂点）によって画定される。境界が定められたサーフェスの一部は、その境界によって画定され、この境界は、サーフェス上にある辺の集合である。面の境界の辺は、頂点を共有することにより接続される。面は、辺を共有することで互いに接続される。定義上、２つの面が辺を共有している場合、それらはその辺において隣接している。同様に、２つの辺が頂点を共有している場合、それらは隣接している。
【００６２】
図１０〜図１１は、３つの面、すなわち、上部平面と２つの円筒側面からなる円筒状スロットのＢ−Ｒｅｐモデルを示している。図１０は、当該スロットの斜視図である。可視の面、辺、および頂点に番号が振られている。図１１はすべての面の分解図である。重複する番号は共有する辺および頂点を示す。面１は境界が定められた平面の一部である。面１の境界には辺４と辺５が含まれ、これらはそれぞれ、頂点１０と頂点１１で境界が定められている。これらはともに同一の支持円を有する。面２は、すべてが無限の円筒状サーフェス上にある辺６、８、５、および１３によって境界が定められている。面１と面２とは、辺５を共有するため隣接する。面２と面３とは、辺８と辺１３を共有するため隣接する。面１と面３とは、辺４を共有するため隣接する。
【００６３】
図１２は、Ｂ−Ｒｅｐモデルの「境界画定」のトポロジ的関係を示す。上位層のノードは面、中間層のノードは辺、下位層のノードは頂点である。
【００６４】
図１３〜図１４は、トポロジ的エンティティ（面、辺、頂点）と支持ジオメトリ（無限円筒、無限平面、無限線、点）の関係を示している。
【００６５】
ＣＡＤシステムでは、Ｂ−Ｒｅｐモデルは、適切なデータ構造において、「境界画定」の関係、トポロジ的エンティティと支持ジオメトリの関係、および支持ジオメトリの数学的記述を収集する。
【００６６】
ここで、ボリュームとスキンのモデリングについて説明する。
【００６７】
定義上、Ｂ−Ｒｅｐの内部の辺はちょうど２つの面に共有される。定義上、境界辺は共有されず、１つの面のみの境界を定める。定義上、境界面は、少なくとも１つの境界辺に付随する。
【００６８】
Ｂ−Ｒｅｐは、すべての辺が内部の辺である場合、閉じていると言われる。Ｂ−Ｒｅｐは、少なくとも１つの境界辺が含まれている場合、開いていると言われる。図１０〜図１４のＢ−Ｒｅｐの例は、辺６と辺７が境界辺であるため、開いている。逆に、辺４、５、８、および１３は内部の辺である。図１５〜１６に示すように、辺６および辺７によって境界が定められた円盤状の面１４を追加することにより、例から、閉じたＢ−Ｒｅｐが得られる。
【００６９】
閉じたＢ−Ｒｅｐは、材料を囲む空間の内側部分を画定するため、３Ｄボリュームのモデリングに用いられる。開いたＢ−Ｒｅｐは、３Ｄスキンをモデル化するために用いられ、これは、その厚みが無視できるほど小さい３Ｄオブジェクトである。
【００７０】
ここで、Ｂ−Ｒｅｐボリュームにおけるプログラムの適用（以下では「面置換」操作とも呼ぶ）について説明する。
【００７１】
ＣＡＤの業界では、仮想３ＤオブジェクトはＢ−Ｒｅｐモデルを介して実装される。非常に便利な設計操作として、特定のＢ−Ｒｅｐの面を別の面で置き換えることがある。これは、３Ｄオブジェクトの形状を局所的に変更する効率的な方法である。より正確には、設計対象のオブジェクトのＢ−Ｒｅｐ、置換対象となるこのＢ−Ｒｅｐの面、および置換面が関与する。置換面は、３ＤオブジェクトのＢ−Ｒｅｐに属していない。目標は、図１７に示すように、ＣＡＤシステムが置換面をＢ−Ｒｅｐにマージすることである。
【００７２】
アルゴリズムの観点から見ると、最初のステップで、システムはＢ−Ｒｅｐから置換対象の面を除去し、それにより、図１８の左図に示すように空隙を作成し得る。第２のステップにおいて、（除去された）置換対象の面に隣接する面が、必要な限りにおいて、図１８の中央の図に示されるように外挿され得る。必要に応じて、図１８の右図に示すように、置換面も外挿することができ、トリミングが可能になる。最後のステップでは、置換面をトリミングしてＢ−Ｒｅｐにマージしてもよく、これにより３Ｄオブジェクトの形状が更新される。
【００７３】
この「面置換」操作の重要なステップは、マージするステップである。３Ｄオブジェクトがボリュームの場合、これは閉じたＢ−Ｒｅｐによってモデル化される。つまり、境界辺は存在しない。特に、置換対象の面は、あらゆる場所が隣接する面に囲まれている。これらの（外挿された）隣接面をトリミングに用いると、図１８の右図に示すように、あいまいでない結果が得られる。これは、図１９に示すように、外挿面と置換面との交線が閉ループを特徴とし、これが、保持する部分と破棄する部分とを画定するためである。
【００７４】
３Ｄオブジェクトがスキンの場合、境界辺を特徴とするＢ−Ｒｅｐによってモデル化される。置換対象の面が境界面である場合、その境界辺のいくつかは、図２０の左図に示されるように、どの隣接面にも共有されない。置換対象の面がＢ−Ｒｅｐから除去され（図２０の中央の図）、隣接面が外挿された後（図２０の右の図）において、置換面のトリミングに用いることができるジオメトリは十分なものではない。
【００７５】
これは、図２１〜図２２に示すように、外挿面と置換面との交線が開曲線であり、これは、いかなる保持する部分をも画定しないためである。
【００７６】
そのため、ボリューム用に設計された「面置換」アルゴリズムは、この特定の状況に適応しない場合、スキンの境界面の形状を変更することができない。本方法は、そのような適応策を提供し、スキンにおいて置換面をマージするためのＢ−Ｒｅｐが閉じた状況を復元する。これは、それぞれ境界面に隣接し、Ｂ−ｒｅｐスキンの各境界辺によって境界が定められる１つまたは複数の第２の面を作成することによって行われる。このような作成は、後で説明する例では、最初のスキンのオフセットを介して中間ボリュームを算出することで実行できる。「面置換」操作は中間ボリュームに対して実行されてもよく、結果として得られるボリュームは予想される形状を含み、そこから、結果として得られるスキンが抽出され得る。
【００７７】
本方法は、このようにボリュームとスキンに同様に作用する「面置換」操作を提供することにより、ＣＡＤシステムの設計能力を拡張する。これにより、面倒な手作業による解決が回避され、設計時間が短縮される。さらに、一例においては、本方法が高レベルのアルゴリズムを用いていること、すなわち、スキンを厚化し、ボリュームの「面置換」を行っていることも、注目に値する。よって、これらの例における本方法には、簡単で信頼性の高いプログラミングが提供される。なぜなら、これらのアルゴリズムは、ＣＡＤシステムのジオメトリ的モデル化ライブラリから独立して存在し得るためである。
【００７８】
工業試験では、本方法によって提供されるジオメトリが、モデル化オブジェクトのさらなる設計、すなわち、トリミングおよび他のスキンモデルとのマージに特に適していることが示されている。
【００７９】
ここで、本方法の一例を、図２３を参照して説明する。
【００８０】
本方法は、機械部品の一部または全体を表す最初のＢ−Ｒｅｐスキンを提供すること（Ｓ１０）から始まる。一例においては、提供すること（Ｓ１０）は、ユーザ対話操作を介して、例えば、ユーザがＢ−Ｒｅｐを設計することにより実施される。別の例では、最初のＢ−Ｒｅｐは、例えば、メモリ内で取得したり、離れた場所にあるコンピュータから受信したりするなど、既に設計された状態で提供されてもよい。
【００８１】
本方法は、次いで、例えば、ユーザが「面置換」操作を開始した後、ＣＡＤシステムとのグラフィカルなユーザ対話操作によってサーフェスを定義すること（Ｓ２０）を含む。サーフェスの境界が定められてもよい。例えば、サーフェスは、ユーザにより、Ｂ−Ｒｅｐフォーマットで接続された１つまたは複数の面として定義され得る。あるいは、サーフェスは境界が定められていなくてもよい。例えば、ユーザは、標準曲面、手続き型曲面、またはＮＵＲＢＳなどのように、境界を指定せずにサーフェスを定義してもよい。あるいは、ユーザは面を定義できるが、システムはアルゴリズムを実行するために支持サーフェスのみを考慮してもよい。
【００８２】
例では、ユーザは、例えば、定義（Ｓ２０）の前または後に、「面置換」操作内において、サーフェスに基づいて、最初のＢ−Ｒｅｐスキンの置換されるべき少なくとも１つの面をさらに指定してもよい。別の例では、ＣＡＤシステムは、例えば、定義されたサーフェスからの距離が最小であり、かつ／あるいは、他の任意の基準を満たす、少なくとも１つの面として、Ｂ−Ｒｅｐの置換されるべき少なくとも１つの面を自動的に識別してもよい。
【００８３】
当該少なくとも１つの面は、単一の面からなるか、あるいはいくつかの隣接する面を含んでいてもよい（例えば、「上面（ｓｕｐｒａ−ｆａｃｅ）」、すなわち接続面の集合体を形成する）。以下の説明では、当該少なくとも１つの面が最初のＢ−ｒｅｐスキンの最初の境界面、すなわち、最初のＢ−ｒｅｐスキンの１つまたは複数の最初の境界辺で境界が定められた面で構成される場合に焦点を当てている。ただし、アルゴリズムは他の入力面や面のグループにも適用できる。
【００８４】
最初の境界面は、最初のＢ−ｒｅｐスキンの各最初の内部辺において、最初の境界面にそれぞれが隣接する、１つまたは複数の第１の面を有する最初のＢ−Ｒｅｐ部分を形成するものである。「Ｂ−Ｒｅｐ部分」とは、単に、Ｂ−Ｒｅｐフォーマットを表すＢ−Ｒｅｐスキンの一部を意味する。第１の面は、例えば必要であれば（すなわち、Ｓ３１０の結果に応じて）、ＣＡＤシステムによって自動的に識別されてもよい。言い換えれば、本方法はＢ−Ｒｅｐ部分を自動的に決定してもよい。
【００８５】
この例の方法は、次いで、１つまたは複数のＢ−Ｒｅｐ（サブ）スキンのそれぞれに、アルゴリズムの後続のステップＳ４０およびＳ５０によって独立して処理される各Ｂ−Ｒｅｐ部分を提供する、システムによって自動的に実行されるスキームＳ３０を含む。スキームＳ３０では、Ｓ４０およびＳ５０で処理面を置き換えることができ、これらの面は、常に全体がサーフェスの各側に配置される（すなわち、サーフェスと交差しない）。これにより、本方法が堅牢なものとなる。しかしながら、スキームＳ３０はオプションである。本方法は、実際には、Ｓ２０の後にＳ４０に直接進むか、あるいは、スキームＳ３０によって想定されＳ３１０でテストされる状況が禁止されてもよい。
【００８６】
スキームＳ３０は、Ｓ２０で定義されたサーフェスが上記最初の境界面をいくつかのサブ面（「境界」サブ面と呼ばれる）に分割するかどうかをテストすること（Ｓ３１０）を含む。「分割」とは、サーフェスが最初の境界面と交差し、その交線が、最初の境界面を、それぞれ全体がサーフェスの各側に位置するいくつかの部分に分割することを意味する。
【００８７】
テスト（Ｓ３１０）の結果は否定的となる可能性があり、これは、サーフェスが最初の境界面と交差しないことを意味し、その場合アルゴリズムは、単一の入力として最初のＢ−Ｒｅｐスキンの未処理（すなわち未分割の）の最初のＢ−Ｒｅｐ部分を用いてＳ４０に進んでもよい。
【００８８】
しかしながら、他方、テストＳ３１０の結果は肯定的となる可能性があり、その場合、本方法は、サーフェスが最初の境界面を分割する方法に従って（すなわち、Ｓ３１０でテストした分割と同じ分割位置を用いて）、最初のＢ−ＲｅｐスキンをいくつかのＢ−Ｒｅｐサブスキン（すなわち、これらは最初のＢ−Ｒｅｐスキンの一部を形成するＢ−Ｒｅｐスキンに過ぎない）に分割する（Ｓ３２０）。本方法は、次いで、そのような各Ｂ−Ｒｅｐサブスキンについて、Ｂ−Ｒｅｐサブスキンの１つまたは複数の境界辺によって境界が定められた各境界サブ面（すなわち、最初の境界面の一部）を含む、各Ｂ−Ｒｅｐ部分を決定する（Ｓ３３０）。境界サブ面は全体がサーフェスの各側に位置する。そのような場合、構築Ｓ４０および置換Ｓ５０は、各Ｂ−Ｒｅｐサブスキンについて、それぞれのＢ−Ｒｅｐ部分に対して実行される。言い換えると、各Ｂ−Ｒｅｐサブスキン、それらのＢ−Ｒｅｐ部分、およびＢ−Ｒｅｐ部分のそれぞれの境界面（最初の境界面のサブ面）はＳ４０およびＳ５０に入力され、独立して（例えば並列に）処理される。Ｓ４０とＳ５０が独立して実行された後、結果として得られる／更新された／変更されたＢ−Ｒｅｐサブスキンが、結合または縫合されてもよい（例えば、自動的に）。
【００８９】
本方法は、Ｓ３０の後に、各Ｂ−ＲｅｐサブスキンのＢ−Ｒｅｐ部分、または最初のＢ−ＲｅｐスキンのＢ−Ｒｅｐ部分（テストＳ３１０の結果による）について、構築（Ｓ４０）（自動的に）、および置換（Ｓ５０）（自動的に、かつ／あるいは、ユーザ検証後）を実行する。例における本方法の以下の説明では、構築（Ｓ４０）と置換（Ｓ５０）の１回の実行について説明しており、Ｂ−Ｒｅｐサブスキン、サブ部分、および境界サブ面を指す場合、「サブ」という用語は削除している。
【００９０】
入力Ｂ−Ｒｅｐスキンの入力Ｂ−Ｒｅｐ部分のＢ−ｒｅｐ置換の構築Ｓ４０は、それぞれ境界面に隣接し、Ｂ−ｒｅｐスキンの各境界辺によって境界が定められる１つまたは複数の第２の面を作成すること（Ｓ４１０）を含む。一例において、Ｂ−ｒｅｐスキンの各境界辺（境界面がどの第１の面にも隣接しない）について、境界面が（第１および第２の面で）囲まれるように、すなわち、境界面がそれ以上自由辺を持たないように、１つまたは複数の第２の面が作成される。
【００９１】
作成（Ｓ４１０）は、Ｂ−ｒｅｐ部分を、例えばサーフェスと反対の方向に厚化することを含んでいてもよい（面は全体がサーフェスの片側に位置しているため、サーフェスから面に向かって定義された方向に厚化し、厚化した結果、状況に関係なくサーフェスと交差しないボリュームが生成される）。これにより、機械的な観点から最終的に一貫した結果が堅牢な方法で得られる。
【００９２】
この例では、厚化は、Ｂ−ｒｅｐ部分のＢ−ｒｅｐオフセット（これは、Ｂ−Ｒｅｐフォーマットを表すＢ−ｒｅｐ部分の単なるオフセットである）を決定すること（Ｓ４１１０）と、Ｂ−ｒｅｐオフセットをＢ−ｒｅｐ部分に接続する１つまたは複数の側面を構築すること（Ｓ４１２０）を含む。１つまたは複数の第２の面は、１つまたは複数の側面から、例えば、境界面が自由辺を示さないようにするのに必要な最小限の側面の集合として決定されてもよい（Ｓ４１３０）。例では、それ自体で開いたＢ−Ｒｅｐスキンを形成したＢ−Ｒｅｐ部分が、今度はＢ−Ｒｅｐオフセットと１つまたは複数の側面と共に閉じたＢ−Ｒｅｐボリュームを形成するように、Ｓ４１２０で１つまたは複数の側面を構築してもよい。別の例では、Ｂ−Ｒｅｐスキン、そのオフセット、および１つまたは複数の側面によって閉じたボリュームが形成されるように、厚化によりＢ−Ｒｅｐスキン全体のオフセットが決定される。
【００９３】
厚化の後、本方法は、Ｂ−Ｒｅｐ部分を置換するＢ−ｒｅｐ集合体を生成すること（Ｓ４２０）を含む。Ｂ−Ｒｅｐ集合体は、ユーザの意図に従って機械的に一貫した結果が得られるようにＢ−Ｒｅｐスキンフォーマットを表す単なるパッチであり、サーフェスと部分的に同一のジオメトリを示し、Ｂ−Ｒｅｐ部分を置き換えるときにＢ−Ｒｅｐスキンにスムーズに縫合することができる。
【００９４】
Ｂ−Ｒｅｐ集合体には、それぞれがサーフェスと一致する１つまたは複数の第３の面（例えば単一の第３の面）が含まれ（すなわち、各第３の面の少なくとも一部がジオメトリ的にサーフェス上にある）、各第３の面には１つまたは複数の辺があり、各第３の面の各辺は最終的にはＢ−ｒｅｐ集合体の内部に存在する。Ｂ−Ｒｅｐ集合体はさらに、それぞれ各第１の面と一致し（すなわち、それぞれの少なくとも一部がジオメトリ的に各第１の面の支持サーフェス上にあり）、各第３の面に隣接する、１つまたは複数の第４の面と、それぞれ各第２の面と一致し（すなわち、それぞれの少なくとも一部がジオメトリ的に各第２の面の支持サーフェス上にあり）、各第３の面に隣接する、１つまたは複数の第５の面とを含む。言い換えれば、Ｂ−Ｒｅｐ集合体は、１つまたは複数の第２の面で拡張されたＢ−Ｒｅｐ部分と同じトポロジまたは概形を示すが、その一部はサーフェスとジオメトリ的に一致し、また一部は置換対象の入力面（もともと境界面であったもの）の周囲に配置された第１の面と第２の面のリングとジオメトリ的に一致する。
【００９５】
一例において、生成Ｓ４２０は、１つまたは複数の第３の面をそれぞれサーフェスを外挿および／またはトリミングすることにより作成すること、１つまたは複数の第４の面をそれぞれ各第１の面の支持サーフェスを外挿および／またはトリミングすることにより作成すること、および／または、１つまたは複数の第５の面をそれぞれ各第２の面の支持サーフェスを外挿および／またはトリミングすることにより作成することを含む。サーフェスが境界で画定され、第４の面と第５の面でトリミングするのに十分な大きさでない場合、そのようなトリミングが可能になるようにサーフェスを外挿することができる。同様に、第１の面と第２の面がトリムするのに十分な大きさでない場合、その目的のために、それらを外挿することができる。このように、生成Ｓ４２０は、図１７〜図１９を参照して先に説明したように、第１、第２および第３の面の補間を実行する。
【００９６】
一例においては、ユーザエクスペリエンスの観点から、サーフェスは、Ｂ−Ｒｅｐスキンの既存の面を置き換える新しい面としてユーザによって定義される。一般に、新しい面は大まかな寸法において既存の面と類似しており、新しい面は、既存の面から完全に離して、ほぼ平行に配置されるか、単一の曲線に沿って既存の面と交差する（これにより既存の面を２つだけのサブ面に分割する）。実際、ＣＡＤ設計の技術分野で知られているように、一般に許容されるトポロジをわずかに調整するのに「面置換」操作を用いてもよい。新しい面は、（置換が実行されると）外挿とトリミングによって、置換対象の面の周囲のＢ−Ｒｅｐスキンの最初のトポロジと同一のトポロジが生成されるように、寸法および位置が決定されてもよい。これはすべて図１７〜図２１を参照して先に説明したとおりである。
【００９７】
次いで、本方法は、Ｂ−Ｒｅｐ集合体が１つまたは複数の第２の面なしにＢ−Ｒｅｐ部分と同じトポロジまたは概形を示すように、Ｂ−Ｒｅｐ集合体から各第５の面を除去すること（Ｓ４３０）を含む。これにより、最初のトポロジを尊重できる。
【００９８】
最終的に、本方法は、例えばユーザ検証時に、Ｂ−ｒｅｐ置換によりＢ−ＲｅｐスキンにおけるＢ−ｒｅｐ部分を置き換えること（Ｓ５０）を含む。
【００９９】
一例において、ユーザ対話操作の観点から、「面の置換」操作は、とりわけ簡単となり得る。（１）ソリッドまたはスキンを選択する。（２）選択したソリッドまたはスキン上で、置換対象面を選択する。（３）置換するサーフェスを選択する。（４）ＯＫボタンを押下する。そのような操作をしない代替的な方法は、サーフェスの断片を手動でカットし、組み立てることであるが、これは時間がかかり退屈であるだけでなく、より重要なことには、事後の修正および更新を行う場合に、すぐに不安定になる。単一の機能での「面置換」操作のキャプション（ｃａｐｔｉｏｎ）は、後から編集したり、格段に安定した方法で強調表示したりすることができる。
【０１００】
ここで、本方法の実施について説明する。
【０１０１】
スキンの「厚化」操作について説明する。
【０１０２】
本方法は、スキンに対するいわゆる「厚化」操作を用いる。設計者の観点から見ると、この操作は、スキンでモデル化された厚みゼロの３Ｄオブジェクトを、ボリュームでモデル化された厚みのある（しかし薄い）オブジェクトに変更する。厚みの値はユーザにより定義される。その本質は、入力スキンのオフセットを算出することである。本方法の文脈では、このオフセットは入力スキンの片側に向けられたものである。厚化アルゴリズムの主要なステップは、図２４に示すようなものであってもよい。
【０１０３】
言い換えれば、１つまたは複数の側面は、１つまたは複数のリボン側面を含んでもよい。各リボン側面は、Ｂ−ｒｅｐ部分の各境界辺と、Ｂ−ｒｅｐオフセットにおける対応する境界辺によって境界が定められてもよい。そのような場合、境界面に隣接しＢ−ｒｅｐスキンの各境界辺によって境界が定められる各リボン側面は、各第２の面を形成してもよい。
【０１０４】
一例においては、各第２の面を形成する各リボン側面は、線織面によって支持されていてもよい。これにより、機械的な観点から関連する１つまたは複数の第２の面をＳ４１０で作成でき、最終的に（Ｓ５０の置換後）、このように機械的な観点から関連する結果が得られる。これを実行するための例についてここで説明する。
オフセット・サーフェスの定義
数学的観点から、入力スキンの面Ｆ、その支持サーフェスＳ、およびオフセット値δが与えられると、オフセット面の支持サーフェス
【０１０５】
【数９】
2020077407.tif 000011
【０１０６】
は、
【０１０７】
【数１０】
2020077407.tif 000012
【０１０８】
をサーフェスＳの法線ベクトルとするとき、
【０１０９】
【数１１】
2020077407.tif 000013
【０１１０】
で定義される。
外挿値
最初のステップでは、間隙がオフセット・サーフェスを隔てるのを防ぐために、入力サーフェスの外挿値を算出する。問題は、入力隣接面のオフセット・サーフェスが、オフセット値およびそれらの相対位置に応じて、隔てられるか、あるいは交差する可能性があることである。図２５は、鋭い辺を共有する３つの隣接面Ｆ１、Ｆ２、およびＦ３からなるスキンを示す。各支持サーフェスＳ１、Ｓ２、およびＳ３を、サーフェス
【０１１１】
【数１２】
2020077407.tif 000014
【０１１２】
【数１３】
2020077407.tif 000015
【０１１３】
および
【０１１４】
【数１４】
2020077407.tif 000016
【０１１５】
にオフセットすることにより、サーフェス
【０１１６】
【数１５】
2020077407.tif 000017
【０１１７】
とサーフェス
【０１１８】
【数１６】
2020077407.tif 000018
【０１１９】
とは交差するが、サーフェス
【０１２０】
【数１７】
2020077407.tif 000019
【０１２１】
とサーフェス
【０１２２】
【数１８】
2020077407.tif 000020
【０１２３】
は離れているという状況が生じ、これにより、対応するオフセット面
【０１２４】
【数１９】
2020077407.tif 000021
【０１２５】
および
【０１２６】
【数２０】
2020077407.tif 000022
【０１２７】
のさらなるトリミングが問題となる。
【０１２８】
この課題は、各オフセット・サーフェスが交差するようにサーフェスＳ１とＳ２を外挿することで解決される。外挿値はαδであり、ここでαは、共有される辺に沿って測定した面Ｆ１と面Ｆ２の法線ベクトル間の最大角度である。図２６は、交差するオフセット・サーフェス
【０１２９】
【数２１】
2020077407.tif 000023
【０１３０】
および
【０１３１】
【数２２】
2020077407.tif 000024
【０１３２】
が生じるサーフェスＳ１およびＳ２の適切な外挿を示す。
平行スキンの算出
第２のステップは、入力スキンのオフセット（外挿）サーフェスを用いて、また、オフセット面をトリミングして、オフセット・スキンを算出することである。このステップの後、図２７〜図２８に示すように、平行スキンのジオメトリとトポロジが分かる。
境界頂点オフセット
スキンの境界頂点は、通常、２つの面のみに共有される。Ｆ１およびＦ２を、境界頂点Ｖに付随する面とする。支持サーフェスＳ１およびＳ２の各オフセット・サーフェス
【０１３３】
【数２３】
2020077407.tif 000025
【０１３４】
および
【０１３５】
【数２４】
2020077407.tif 000026
【０１３６】
およびそれらの交差曲線Ｃを考える。本質的に、この曲線は、図２７〜図２８に示すように、面Ｆ１および面Ｆ２のオフセット境界曲線と、点Ｖ１および点Ｖ２において交差する。
【０１３７】
リボン側面は、図２９に示すように、面Ｆ１の境界曲線で構成される面Ｌ１と、面Ｆ２の境界曲線で構成される面Ｌ２と、頂点Ｖ、Ｖ１、およびＶ２で構成されリボン面Ｌ１およびＬ２を接続する三角形の面Ｔとからなる。
リボン側面のジオメトリ
閉じるリボンは、入力スキンの境界と、その平行スキンの境界とを接続する。
【０１３８】
【数２５】
2020077407.tif 000027
【０１３９】
を支持サーフェスＳ上に画定された入力スキンの境界辺とすると、対応する境界３Ｄ曲線は、
【０１４０】
【数２６】
2020077407.tif 000028
【０１４１】
となる。平行スキンの、対応する境界曲線は、
【０１４２】
【数２７】
2020077407.tif 000029
【０１４３】
となる。
【０１４４】
よって、これら２つの境界曲線を接続するリボンサーフェスは、線織面
【０１４５】
【数２８】
2020077407.tif 000030
【０１４６】
のとき
【０１４７】
【数２９】
2020077407.tif 000031
【０１４８】
であり、
【０１４９】
【数３０】
2020077407.tif 000032
【０１５０】
となる。
【０１５１】
このようなリボン側面のジオメトリは平板理論に準拠しており、例えば、「Ｋ．Ｄ．Ｈｊｅｌｍｓｔａｄ，Ｆｕｎｄａｍｅｎｔａｌｓ  ｏｆ  Ｓｔｒｕｃｔｕｒａｌ  Ｍｅｃｈａｎｉｃｓ，  Ｓｐｒｉｎｇｅｒ，２００５」に定義されている。実際、本方法を用いてＣＡＤシステムで設計される典型的な産業用部品は、通常は薄い平板である最初の平板シートを、曲げたり、あるいは、打ち抜いたりすることによって製造される。平板理論によれば、最初の平板の平均サーフェスに垂直な線は、変形によって、変形した平板の基準サーフェスに垂直な線に変化する。この特性は、図３０に示すように、上述のリボン側面の定義において面法線Ｎを用いることにより、本方法の一例において、正確に捉えられる。これは、基準サーフェスの法線ベクトルが基準サーフェスに平行な任意のサーフェスの法線ベクトルでもあるからである。実際、任意の実数δに対して、平行サーフェスの接平面は、ベクトル
【０１５２】
【数３１】
2020077407.tif 000033
【０１５３】
および
【０１５４】
【数３２】
2020077407.tif 000034
【０１５５】
により生成される。これらはともに、最初のサーフェスＳの法線ベクトルＮに垂直である。まず、
【０１５６】
【数３３】
2020077407.tif 000035
【０１５７】
となる。次いで、Ｎの定義により
【０１５８】
【数３４】
2020077407.tif 000036
【０１５９】
となり、
【０１６０】
【数３５】
2020077407.tif 000037
【０１６１】
となる。なぜなら、すべてのｕとｖについて
【０１６２】
【数３６】
2020077407.tif 000038
【０１６３】
であり、よって
【０１６４】
【数３７】
2020077407.tif 000039
【０１６５】
だからである。Ｓｖについても同様である。これは、図３０に示すように、リボン側面のジオメトリが、変形した平板のジオメトリであることを意味する。
【０１６６】
したがって、本方法のこのような例は、機械部品が、曲げられ、かつ／あるいは、打ち抜かれた平板シートを含むときに、特に正確な結果を提供する。実際、Ｂ−Ｒｅｐ部分がそのようなシートの一部を表す場合、作成Ｓ４１０は機械部品の真の形状に合致する。しかし、本方法のこれらの例は、プラスチック成型部品や複合部品などの成型部品の場合にも優れた近似性を提供する。
【０１６７】
ここで、Ｓ４２０および／またはＳ４１１０で実施され得るサーフェス外挿の例を説明する。これらの例では、外挿の方法は、入力サーフェスの性質、すなわち、標準曲面であるか、手続き型曲面であるか、あるいは自由曲面であるかに依存する。
【０１６８】
標準曲面とは、平面、球面、円柱面、円錐面、および円環面である。これらは、法線ベクトルが適切に定義されている限り、［ａ，ｂ］×［ｃ，ｄ］ドメインを拡張することにより推定される。例えば、円錐面は、頂点を超えて外挿すべきではない。
【０１６９】
手続き型曲面は、ガイド要素によって定義される３Ｄモーションに従って平面プロファイルを掃引することによって定義される。手続き型曲面とは、押し出し面、回転面、線織面、および複雑な掃引面である。押し出し面は、線分に沿って掃引したプロファイルである。回転面は、軸を中心に回転させたプロファイルである。線織面
【０１７０】
【数３８】
2020077407.tif 000040
【０１７１】
は、上に定義したリボン側面
【０１７２】
【数３９】
2020077407.tif 000041
【０１７３】
と同様、２つの曲線
【０１７４】
【数４０】
2020077407.tif 000042
【０１７５】
またはサーフェスの法線フィールドによってガイドされる線分の動きである。
【０１７６】
リボン側面は、図３１に示すように、間隔［０，１］を延長することにより、ｔ方向に容易に外挿できる。
【０１７７】
複雑な掃引面は、スプライン曲線および他の要素（曲線またはサーフェス）によってガイドされる移動プロファイルである。手続き型曲面は、２つのステップで外挿される。まず、入力要素（定義間隔、プロファイル、押し出し線、回転角、スプライン曲線、およびガイド要素）が外挿され、次に、新しい入力から掃引面が再算出される。特に、線織面の直線方向ｔ（上述の表記による）への外挿は、対応する間隔定義を拡張することである。この工程は、線織面を外挿したものが別の線織面であることを保証する。
【０１７８】
典型的な自由曲面は、制御点のグリッドで定義されたＮＵＲＢＳサーフェスである。これは、「Ｌ．Ｐｉｅｇｌ，Ｗ．Ｔｉｌｌｅｒ，ＴｈｅＮＵＲＢＳｂｏｏｋ，Ｓｐｒｉｎｇｅｒ１９９６」で定義されているように、入力サーフェスが変更されず最初のＮＵＲＢＳサーフェスとのマッチングが曲率連続になるように制御点を追加することによって外挿できる。
面の分類
厚化操作が完了すると、結果として得られるボリュームのＢ−Ｒｅｐには３種類の面が含まれる。すなわち、入力面と呼ばれる入力スキンの面と、側面と呼ばれる入力面に隣接する新しい面（厚化アルゴリズムのステップ３で作成される）と、内面と呼ばれる他のすべての面（厚化アルゴリズムのステップ２で作成される）である。図３２は、入力スキン、結果として得られる厚いボリューム、およびすべての種類の面を例示している。
【０１７９】
側面および内面は、厚化操作によって作成されるため、追加面と総称される。
【０１８０】
ここで、交差しない状況用のアルゴリズムを示す。
【０１８１】
本方法の本質は、スキンのコンテキストにおいて、ボリュームに適合した「面置換」操作を用いることである。入力データは、図３３〜図３４に示すように、スキンと、ユーザが選択した、スキンの置換対象面と、ユーザが選択した置換面である。分かりやすくするため、最初に、置換面が置換対象面と交差しない状況でのアルゴリズムを説明する。交差する状況については、別のセクションで説明する。システムは以下のステップを実行する。
【０１８２】
ステップ１では、入力スキンの非変更部分を分離する。これは、置換対象面と、ローカル入力スキンと呼ばれる、データ構造内におけるそのすべての隣接面とを保持することによって行われる。その他の面があっても、本操作では変更されない。それらは非変更スキンと呼ばれ、ステップ５で再利用するために保存される。これにより、関連する面のみを含めることで、ステップ２の厚化操作がより安全になる。非変更面の厚化失敗のリスクが回避される。これは図３５に示されている。
【０１８３】
ステップ２では、ステップ１で得られたローカル入力スキンを厚化してボリュームを作成する。厚みは、置換面の反対側のスキンの側に方向付けられる。操作が成功するように、厚みの値は十分に小さくする。典型的な値は、０．１ｍｍまたは０．２ｍｍより大きく、かつ／あるいは、２ｍｍまたは１ｍｍより小さい値、例えば０．５ｍｍである。分かりやすくするために、図では大きな厚みの値を用いている。厚化により生じる追加面には、さらなる管理のために適切にフラグが立てられる。このステップでは、厚化アルゴリズムを用いる。これは図３６に示されている。
【０１８４】
ステップ３では、前のステップで算出したボリュームに対して「面置換」操作を実行する。このステップでは、既存の「面置換」アルゴリズムを用いる。これは図３７に示されている。
【０１８５】
ステップ４では、（ステップ２で）厚化操作によって追加された追加面としてフラグが立てられている面を除去する。結果として得られるスキンは、結果のローカル形状である。これは図３８に示されている。
【０１８６】
ステップ５では、非変更スキン（ステップ１で抽出）とステップ４で抽出されたローカル結果スキンとを結合し、これにより、結果スキンが得られる。結合操作は、「〜は〜によって境界が定められている」というトポロジ的関係による論理的な書き換えである。ジオメトリ的演算は含まれない。これは図３９に示されている。
【０１８７】
アルゴリズムのすべてのステップ（交差しない状況）が、図４０に集約されている。
【０１８８】
ここで、交差する状況用のアルゴリズムを示す。
【０１８９】
ここで、複雑な状況について説明する。置換面が置換対象面と交差する場合、置換面は置換対象面の両側に位置するため、ステップ２の厚化方向は定義されていない。この場合、解決策は、置換面を用いて、ステップ１で取得したローカル入力スキンを分割することである。これにより、少なくとも２つの部分的ローカル入力スキンが生成され、これらはそれぞれ部分的な置換対象面を特徴とする。設計上、部分的な置換対象面は、それぞれ、置換面の片側に配置される。次いで、上述のアルゴリズムが部分的ローカル入力スキンのそれぞれに実行され、これにより、できるだけ多くの部分的ローカル結果スキンが生成される。ローカル結果スキンは、すべての部分的ローカル結果スキンを結合することによって得られる。
【０１９０】
ここで、本アルゴリズムについて、同じローカル入力スキンと、置換対象面と交差する僅かに異なる置換面とを用いて例示する。これは図４１に示されている。
【０１９１】
ローカル入力スキンを置換面で分割すると、２つの部分的ローカル入力スキンが生成される。これは図４２に示されている。
【０１９２】
ここで、非交差アルゴリズムは、第１の部分的ローカルスキンに対して実行され、これにより第１の結果部分的ローカルスキンが生成される。これらのステップは図４３に示されている。
【０１９３】
ここで、非交差アルゴリズムは、第２の部分的ローカルスキンに対して実行され、これにより第２の結果部分的ローカルスキンが生成される。これらのステップは図４４〜図４５に示されている。なお、上述のステップと比較して、厚化の方向が反対向きとなっている。
【０１９４】
ここで、結果部分的ローカルスキンが結合され、結果ローカルスキンが得られる。トリムされた置換面の隣接部分（図４６の中央の図）は、それらが共有する滑らかな辺がトポロジから除去されるようにマージされる（図４６の右図）。
【０１９５】
図４７は、交差しない状況のアルゴリズムを用いて、交差する状況のアルゴリズムを説明している。
【０１９６】
簡潔にするため、本方法を、単一の面を別の単一の面で置換する操作を行うものとして説明した。しかしながら、本方法は他の状況でも用いることができ、例えば、入力スキンの隣接面の集合を別の隣接面の集合で置換するのに用いることができる。
【図１】
2020077407.tif 000051
【図２】
2020077407.tif 000052
【図３】
2020077407.tif 000053
【図４】
2020077407.tif 000054
【図５】
2020077407.tif 000055
【図６】
2020077407.tif 000056
【図７】
2020077407.tif 000057
【図８】
2020077407.tif 000058
【図９】
2020077407.tif 000059
【図１０】
2020077407.tif 000060
【図１１】
2020077407.tif 000061
【図１２】
2020077407.tif 000062
【図１３】
2020077407.tif 000063
【図１４】
2020077407.tif 000064
【図１５】
2020077407.tif 000065
【図１６】
2020077407.tif 000066
【図１７】
2020077407.tif 000067
【図１８】
2020077407.tif 000068
【図１９】
2020077407.tif 000069
【図２０】
2020077407.tif 000070
【図２１】
2020077407.tif 000071
【図２２】
2020077407.tif 000072
【図２３】
2020077407.tif 000073
【図２４】
2020077407.tif 000074
【図２５】
2020077407.tif 000075
【図２６】
2020077407.tif 000076
【図２７】
2020077407.tif 000077
【図２８】
2020077407.tif 000078
【図２９】
2020077407.tif 000079
【図３０】
2020077407.tif 000080
【図３１】
2020077407.tif 000081
【図３２】
2020077407.tif 000082
【図３３】
2020077407.tif 000083
【図３４】
2020077407.tif 000084
【図３５】
2020077407.tif 000085
【図３６】
2020077407.tif 000086
【図３７】
2020077407.tif 000087
【図３８】
2020077407.tif 000088
【図３９】
2020077407.tif 000089
【図４０】
2020077407.tif 000090
【図４１】
2020077407.tif 000091
【図４２】
2020077407.tif 000092
【図４３】
2020077407.tif 000093
【図４４】
2020077407.tif 000094
【図４５】
2020077407.tif 000095
【図４６】
2020077407.tif 000096
【図４７】
2020077407.tif 000097
【外国語明細書】
2020077407.tif 000098
2020077407.tif 000099
2020077407.tif 000100
2020077407.tif 000101
2020077407.tif 000102
2020077407.tif 000103
2020077407.tif 000104
2020077407.tif 000105
2020077407.tif 000106
2020077407.tif 000107
2020077407.tif 000108
2020077407.tif 000109
2020077407.tif 000110
2020077407.tif 000111
2020077407.tif 000112
2020077407.tif 000113
2020077407.tif 000114
2020077407.tif 000115
2020077407.tif 000116
2020077407.tif 000117
2020077407.tif 000118
2020077407.tif 000119
2020077407.tif 000120
2020077407.tif 000121
2020077407.tif 000122
2020077407.tif 000123
2020077407.tif 000124
2020077407.tif 000125
2020077407.tif 000126
2020077407.tif 000127
2020077407.tif 000128
2020077407.tif 000129
【図１】
2020077407.tif 000130
【図２】
2020077407.tif 000131
【図３】
2020077407.tif 000132
【図４】
2020077407.tif 000133
【図５】
2020077407.tif 000134
【図６】
2020077407.tif 000135
【図７】
2020077407.tif 000136
【図８】
2020077407.tif 000137
【図９】
2020077407.tif 000138
【図１０】
2020077407.tif 000139
【図１１】
2020077407.tif 000140
【図１２】
2020077407.tif 000141
【図１３】
2020077407.tif 000142
【図１４】
2020077407.tif 000143
【図１５】
2020077407.tif 000144
【図１６】
2020077407.tif 000145
【図１７】
2020077407.tif 000146
【図１８】
2020077407.tif 000147
【図１９】
2020077407.tif 000148
【図２０】
2020077407.tif 000149
【図２１】
2020077407.tif 000150
【図２２】
2020077407.tif 000151
【図２３】
2020077407.tif 000152
【図２４】
2020077407.tif 000153
【図２５】
2020077407.tif 000154
【図２６】
2020077407.tif 000155
【図２７】
2020077407.tif 000156
【図２８】
2020077407.tif 000157
【図２９】
2020077407.tif 000158
【図３０】
2020077407.tif 000159
【図３１】
2020077407.tif 000160
【図３２】
2020077407.tif 000161
【図３３】
2020077407.tif 000162
【図３４】
2020077407.tif 000163
【図３５】
2020077407.tif 000164
【図３６】
2020077407.tif 000165
【図３７】
2020077407.tif 000166
【図３８】
2020077407.tif 000167
【図３９】
2020077407.tif 000168
【図４０】
2020077407.tif 000169
【図４１】
2020077407.tif 000170
【図４２】
2020077407.tif 000171
【図４３】
2020077407.tif 000172
【図４４】
2020077407.tif 000173
【図４５】
2020077407.tif 000174
【図４６】
2020077407.tif 000175
【図４７】
2020077407.tif 000176