(57)【要約】      （修正有）【課題】機械部品を表すＢ−ｒｅｐの窪み特徴または特記特徴を表す面を認識することを可能にする方法、システム及びプログラムを提供する。【解決手段】ＣＡＤシステムを用いて、機械的部品を表す３Ｄモデル化された物体を設計するための改善されたコンピュータ実施方法であって、機械部品を表すＢ−ｒｅｐを提供することを含む。Ｂ−Ｒｅｐにはフェイスとエッジがある。方法は、第１の組の面及び特徴タイプを提供することをさらに含む。特徴タイプは、窪み特徴タイプ又は突起特徴タイプのいずれかである。方法は、ＣＡＤシステムによって、自動的に第１の面の組内の第２の面の組を認識することをさらに含む。【選択図】図１
2020129366.tif 000002
【特許請求の範囲】
【請求項１】
機械部品を表す３Ｄモデル化物体をＣＡＤシステムで設計するためのコンピュータ実施方法であって、
・機械部品を表すＢ−ｒｅｐを提供するステップ（Ｓ１０）であって、当該Ｂ−Ｒｅｐは面及びエッジを有するステップと、
・第１の組の面及び特徴タイプを提供するステップ（Ｓ２０）であって、当該特徴タイプは窪み特徴タイプ又は突起特徴タイプのいずれかであるステップと、
・前記ＣＡＤシステムによって自動的に、前記第１の組の面内の第２の組の面を認識するステップ（Ｓ３０）であって、当該第２の組の面は、提供された特徴タイプの特徴を表すステップと
を含む方法。
【請求項２】
前記第２の組の面が１つ以上の基本部分集合間の連結を形成し、ここで、滑らかなスキンは面、又は滑らかな内面エッジのみを有する接続された面の組であり、
・前記提供される特徴タイプが前記窪み特徴タイプである場合、前記基本部分集合は突起エッジ又は丸い面のみによって境界付けられ、突起内部エッジ及び丸い面を含まない１つ又は複数の面の接続された集合であり、当該基本部分集合は滑らかなスキン又は窪み突起基準を満たす滑らかなスキンのいずれでもなく、及び／又は、
・前記提供される特徴タイプが前記突起特徴タイプである場合、前記基本部分集合は窪み部エッジ又はフィレット面のみによって境界付けられ、窪み部内部エッジ及びフィレット面を含まない１つ以上の面の接続された組であり、当該基本部分集合は滑らかなスキン又は窪み突起基準を満たす滑らかなスキンのいずれかではないと、のみを含む連結された組の面である
請求項１に記載の方法。
【請求項３】
前記第２の組の面は、前記第１の組のすべての基本部分集合を含む
請求項２に記載の方法。
【請求項４】
各々の基本部分集合は少なくとも１つの他の基本部分集合に接続され、２つの基本部分集合は所定のエッジタイプのエッジのみ又は所定の面タイプの面のみを共有し、
・前記提供される特徴タイプが窪み特徴タイプである場合、所定のエッジタイプが突起エッジタイプであり、所定の面タイプが丸面タイプであり、及び／又は、
・前記提供される特徴タイプが突起特徴タイプである場合、前記所定のエッジタイプが窪みエッジタイプであり、前記所定の面タイプがフィレット面タイプである
請求項２又は３に記載の方法。
【請求項５】
・前記滑らかなスキンが滑らかなままでその法線ベクトルの方向に任意にオフセットできない場合、突起のエッジ部又は丸い面のみによって境界付けられ、突起の内部エッジを含まず、丸い面を含まない滑らかなスキンが窪み突起の基準を満し、及び／又は
・前記滑らかなスキンが滑らかなままでその法線ベクトルの反対方向に任意にオフセットできない場合、窪み部エッジ部又はフィレット面のみによって境界付けられ、窪み部内部エッジを含まず、フィレット面を含まない滑らかなスキンが窪み突起基準を満たす
請求項２、３又は４に記載の方法。
【請求項６】
前記認識するステップ（Ｓ３０）は、
・１つ以上の候補基本部分集合を決定するステップ（Ｓ３１０）を含み、
・・前記提供された特徴タイプが前記窪み特徴タイプである場合、前記候補基本部分集合は突起エッジ又は丸い面のみによって境界付けられ、突起の内部エッジ及び丸い面を含まない１つ又は複数の面の接続された組であり、及び／又は、
・・前記提供された特徴タイプが前記突起特徴タイプである場合、候補基本部分集合は窪み部エッジ又はフィレット面のみによって境界付けられ、窪み部内部エッジ及びフィレット面を含まない１つ又は複数の面の接続された組であり、
前記１つ以上の候補基本部分集合を決定するステップ（Ｓ３１０）は、前記第１の組の面を、それぞれが正確に１つの候補基本部分集合に属する面と、候補基本部分集合に属さない面とに分割し、
・決定された候補基本部分集合の中から１つ又は複数の基本部分集合を識別するステップ（Ｓ３２０）を含む、
請求項２乃至５のいずれか一項に記載の方法。
【請求項７】
前記１つ以上の候補基本部分集合を決定するステップ（Ｓ３１０）は、前記第１の組の面を繰り返し訪問することを含み、面を訪問するステップは、
・面が候補基本部分集合に含まれるべきかどうかを決定するステップと、
・前記面が候補基本部分集合に含まれるべきである場合、基本部分集合内の面を含ませ、当該面が再び訪問されるべきでないことを決定するステップと
を含む、請求項６に記載の方法。
【請求項８】
前記第１の組の面を提供するステップ（Ｓ２０）は、
・前記ＣＡＤシステムのディスプレイに前記Ｂ−ｒｅｐを表示するステップと、
・グラフィカルなユーザーインタラクションによって最初の面の組を選択するステップと
を含む、請求項１乃至８のいずれか１項に記載の方法。
【請求項９】
・前記第１の組の面を選択するステップは、グラフィカルユーザインタラクションによって、ディスプレイ上に閉曲線を定義するステップと、
・前記閉曲線の中に投影されたＢ−ｒｅｐの各面を、ＣＡＤシステムによって自動的に識別するステップと
を含む、請求項８に記載の方法。
【請求項１０】
前記第１の組の面を選択するステップは、
・識別された面を面の互いに素な連結された部分集合に分割するステップであって、ただ１つの部分集合が面の第１の集合であるステップと、
・他のすべての部分集合を廃棄するステップと、
が前記ＣＡＤシステムによって自動的に行われることをさらに含む、請求項９に記載の方法。
【請求項１１】
前記機械部品が、
・成形部品、
・機械加工部品、
・穿孔加工部品、
・旋盤加工部品、
・鍛造部品、
・プレス加工部品、及び／又は、
・折りたたみ曲げ部品
である請求項１乃至１０のいずれか一項に記載の方法。
【請求項１２】
特徴タイプが窪み特徴タイプである場合、指定された特徴タイプの特徴は、
・質量減少特徴、
・空間予約特徴、
・フィクスチャ特徴、
・硬さ特徴、
・調整特徴、
・位置決め特徴、
・機械的接合特徴と、
・冷却特徴、
・空間予約特徴、
・回転又は円筒形の機械的接合特徴、
・アセンブリ特徴、及び／又は
・剛性特徴
である請求項１乃至１１のいずれか１項に記載の方法。
【請求項１３】
請求項１乃至１２のいずれか１項に記載の方法を実行するための命令を含むコンピュータプログラム。
【請求項１４】
請求項１３に記載のコンピュータプログラムを記録したコンピュータ可読記憶媒体。
【請求項１５】
請求項１３に記載のコンピュータプログラムを記録した、メモリ及びディスプレイに結合されたプロセッサを含むコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコンピュータプログラム及びシステムの分野に関し、より具体的には、機械部品を表す３Ｄモデル化オブジェクトを設計するための方法、システム、及びプログラムに関する。
【背景技術】
【０００２】
物体の設計、エンジニアリング及び製造のために、多数のシステム及びプログラムが市場に提供されている。ＣＡＤはコンピュータ支援設計の頭字語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。ＣＡＥはコンピュータ支援エンジニアリングの頭字語であり、例えば、将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関連する。ＣＡＭはコンピュータ支援製造の頭字語であり、例えば、製造処理及び動作を定義するためのソフトウェアソリューションに関する。そのようなコンピュータ支援設計システムでは、グラフィカルユーザーインタ面が技法の効率に関して重要な役割を果たす。これらの技術は、製品ライフサイクル管理（ＰＬＭ）システム内に組み込まれてもよい。ＰＬＭとは、企業が製品データを共有し、共通の処理を適用し、企業知識を活用して、長期的な企業のコンセプトを越えて、コンセプトから生涯にわたる製品の開発に役立てることを支援するビジネス戦略のことをいう。（ＣＡＴＩＡ、ＥＮＯＶＩＡ及びＤＥＬＭＩＡの商標で）ダッソーシステムズによって提供されるＰＬＭソリューションは、製品工学知識を編成するエンジニアリングハブと、製造工学知識を管理する製造ハブと、エンタープライズハブ及びエンジニアリングハブ及び製造ハブの両方への接続を可能にする企業ハブとを提供する。全体として、システムは最適化された製品定義、製造準備、生産、及びサービスを駆動する動的な知識ベースの製品作成及び意思決定サポートを可能にするために、製品、プロセス、リソースをリンクするオープンオブジェクトモデルを提供する。
【０００３】
機械的設計の文脈では、窪み（又は突起）が機械的部品を表すＢ−ｒｅｐの面及びエッジによって表される機能的特徴であり、非常に複雑であり得る。内部的な詳詳細は、Ｂ−ｒｅｐの突起・窪みのエッジを含んでいる可能性がある。これらの詳細は、隣接する形状及び視点の配向のためにユーザから隠される。これらの理由のために、複雑な窪み（又は突起）を表すＢ−ｒｅｐの全ての面を選択することは非常に困難であり得る。
【０００４】
突起又は窪みの認識及び／又は選択のための既存の方法は効率的ではない。これらの方法は、効率及び／又は人間工学の欠如に悩まされている。
【０００５】
これに関連して、機械部品を設計するための改善された方法が依然として必要とされている。
【発明の概要】
【０００６】
したがって、機械部品を表す３Ｄモデル化物体をＣＡＤシステムで設計するためのコンピュータ実施方法が提供される。この方法は、機械部品を表すＢ−ｒｅｐを提供するステップを含む。当該Ｂ−Ｒｅｐは面及びエッジを有する。この方法はさらに、第１の組の面及び特徴タイプを提供するステップを含む。当該特徴タイプは窪み特徴タイプ又は突起特徴タイプのいずれかである。この方法はさらに、前記ＣＡＤシステムによって自動的に、前記第１の組の面内の第２の組の面を認識するステップを含む。当該第２の組の面は、提供された特徴タイプの特徴を表す。
【０００７】
このような方法は、機械部品を設計するための改良された方法を提供する。
【０００８】
特に注目すべきは、この方法は、機械部品を表すＢ−ｒｅｐの窪み特徴または特記特徴を表す面を認識することを可能にすることである。言い換えれば、この方法は、機械設計に関連する情報を決定することを可能にする。
【０００９】
さらに、この方法は、面を自動的に認識する。言い換えれば、この方法は、認識のためのユーザ操作を伴わない。この方法は人間工学に基づいている。
【００１０】
さらに、この方法は、第１の顔の組を提供し、第２の顔のセットを第１の顔のセット内で認識することにより第２の顔のセットを提供するという２段階で進行する。この２段階のアプローチにより、ロバスト性が向上する。さらに、この２ステップのアプローチは、第１の集合は、特徴を表すそれぞれの面だけで構成されている必要はないので、大まかな方法で第１の集合を提供することができる。実際、自動認識は、第１の集合内でフィルタリングを操作してもよい。
【００１１】
この方法は、以下の１つ以上を含んでもよい。
・前記第２の組の面が１つ以上の基本部分集合間の連結を形成し、ここで、滑らかなスキンは面、又は滑らかな内面エッジのみを有する接続された面の組であり、
・・前記提供される特徴タイプが前記窪み特徴タイプである場合、前記基本部分集合は突起エッジ又は丸い面のみによって境界付けられ、突起内部エッジ及び丸い面を含まない１つ又は複数の面の接続された集合であり、当該基本部分集合は滑らかなスキン又は窪み突起基準を満たす滑らかなスキンのいずれでもなく、及び／又は、
・・前記提供される特徴タイプが前記突起特徴タイプである場合、前記基本部分集合は窪み部エッジ又はフィレット面のみによって境界付けられ、窪み部内部エッジ及びフィレット面を含まない１つ以上の面の接続された組であり、当該基本部分集合は滑らかなスキン又は窪み突起基準を満たす滑らかなスキンのいずれかではないと、のみを含む連結された組の面である。
・前記第２の組の面は、前記第１の組のすべての基本部分集合を含む。
・各々の基本部分集合は少なくとも１つの他の基本部分集合に接続され、２つの基本部分集合は所定のエッジタイプのエッジのみ又は所定の面タイプの面のみを共有し、
・・前記提供される特徴タイプが窪み特徴タイプである場合、所定のエッジタイプが突起エッジタイプであり、所定の面タイプが丸面タイプであり、及び／又は、
・・前記提供される特徴タイプが突起特徴タイプである場合、前記所定のエッジタイプが窪みエッジタイプであり、前記所定の面タイプがフィレット面タイプである
・前記滑らかなスキンが滑らかなままでその法線ベクトルの方向に任意にオフセットできない場合、突起のエッジ部又は丸い面のみによって境界付けられ、突起の内部エッジを含まず、丸い面を含まない滑らかなスキンが窪み突起の基準を満し、
・前記滑らかなスキンが滑らかなままでその法線ベクトルの反対方向に任意にオフセットできない場合、窪み部エッジ部又はフィレット面のみによって境界付けられ、窪み部内部エッジを含まず、フィレット面を含まない滑らかなスキンが窪み突起基準を満たす。
・前記認識するステップは、
・・１つ以上の候補基本部分集合を決定するステップを含み、
・・・前記提供された特徴タイプが前記窪み特徴タイプである場合、前記候補基本部分集合は突起エッジ又は丸い面のみによって境界付けられ、突起の内部エッジ及び丸い面を含まない１つ又は複数の面の接続された組であり、及び／又は、
・・・前記提供された特徴タイプが前記突起特徴タイプである場合、候補基本部分集合は窪み部エッジ又はフィレット面のみによって境界付けられ、窪み部内部エッジ及びフィレット面を含まない１つ又は複数の面の接続された組であり、
前記１つ以上の候補基本部分集合を決定するステップは、前記第１の組の面を、それぞれが正確に１つの候補基本部分集合に属する面と、候補基本部分集合に属さない面とに分割し、
・・決定された候補基本部分集合の中から１つ又は複数の基本部分集合を識別するステップを含む。
・前記１つ以上の候補基本部分集合を決定するステップは、前記第１の組の面を繰り返し訪問することを含み、面を訪問するステップは、
・・面が候補基本部分集合に含まれるべきかどうかを決定するステップと、
・・前記面が候補基本部分集合に含まれるべきである場合、基本部分集合内の面を含ませ、当該面が再び訪問されるべきでないことを決定するステップとを含む。
・前記第１の組の面を提供するステップ（Ｓ２０）は、
・・前記ＣＡＤシステムのディスプレイに前記Ｂ−ｒｅｐを表示するステップと、
・・グラフィカルなユーザーインタラクションによって最初の面の組を選択するステップとを含む。
・前記第１の組の面を選択するステップは、
・・グラフィカルユーザインタラクションによって、ディスプレイ上に閉曲線を定義するステップと、
・・前記閉曲線の中に投影されたＢ−ｒｅｐの各面を、ＣＡＤシステムによって自動的に識別するステップとを含む。
・前記第１の組の面を選択するステップは、
・・識別された面を面の互いに素な連結された部分集合に分割するステップであって、ただ１つの部分集合が面の第１の集合であるステップと、
・・他のすべての部分集合を廃棄するステップと、
が前記ＣＡＤシステムによって自動的に行われることをさらに含む。
・前記機械部品が、
・・成形部品、
・・機械加工部品、
・・穿孔加工部品、
・・旋盤加工部品、
・・鍛造部品、
・・プレス加工部品、及び／又は、
・・折りたたみ曲げ部品である。
・特徴タイプが窪み特徴タイプである場合、指定された特徴タイプの特徴は、
・・質量減少特徴、
・・空間予約特徴、
・・フィクスチャ特徴、
・・硬さ特徴、
・・調整特徴、
・・位置決め特徴、
・・機械的接合特徴と、
・・冷却特徴、
・・空間予約特徴、
・・回転又は円筒形の機械的接合特徴、
・・アセンブリ特徴、及び／又は
・・剛性特徴
である。
【００１２】
さらに、上記の方法を実行するための命令を含むコンピュータプログラムが提供される。
【００１３】
さらに、上記のコンピュータプログラムを記録したコンピュータ可読記憶媒体が提供される。
【００１４】
さらに、上記のコンピュータプログラムを記録した、メモリ及びディスプレイに結合されたプロセッサを含むコンピュータが提供される。
【図面の簡単な説明】
【００１５】
【図１】方法の一例のフローチャートを示す。
【図２】システムのグラフィカルユーザインターフェースの一例を示す。
【図３】システムの一例を示す図である。
【図４】本方法に含まれるＢ−ｒｅｐ概念を示す。
【図５】本方法に含まれるＢ−ｒｅｐ概念を示す。
【図６】本方法に含まれるＢ−ｒｅｐ概念を示す。
【図７】本方法に含まれるＢ−ｒｅｐ概念を示す。
【図８】本方法に含まれるＢ−ｒｅｐ概念を示す。
【図９】本方法に含まれるＢ−ｒｅｐ概念を示す。
【図１０】本方法に含まれるＢ−ｒｅｐ概念を示す。
【図１１】本方法に含まれるＢ−ｒｅｐ概念を示す。
【図１２】本方法に含まれるＢ−ｒｅｐ概念を示す。
【図１３】本方法に含まれるＢ−ｒｅｐ概念を示す。
【図１４】本方法に含まれるＢ−ｒｅｐ概念を示す。
【図１５】本方法に含まれるＢ−ｒｅｐ概念を示す。
【図１６】本方法によって設計された機械部品の例における窪み特徴及び突起特徴の幾何学的形状を示す。
【図１７】本方法によって設計された機械部品の例における窪み特徴及び突起特徴の幾何学的形状を示す。
【図１８】本方法によって設計された機械部品の例における窪み特徴及び突起特徴の幾何学的形状を示す。
【図１９】本方法によって設計された機械部品の例における窪み特徴及び突起特徴の幾何学的形状を示す。
【図２０】本方法によって設計された機械部品の例における窪み特徴及び突起特徴の幾何学的形状を示す。
【図２１】本方法を示す。
【図２２】本方法を示す。
【図２３】本方法を示す。
【図２４】本方法を示す。
【図２５】本方法を示す。
【図２６】本方法を示す。
【図２７】本方法を示す。
【図２８】本方法を示す。
【図２９】本方法を示す。
【発明を実施するための形態】
【００１６】
図１のフローチャートを参照すると、ＣＡＤシステムと共に、機械的部品を表す３Ｄモデル化されたオブジェクトを設計するためのコンピュータ実施方法が提案される。本方法は、機械部品を表すＢ−ｒｅｐを提供するステップＳ１０を含む。Ｂ−ｒｅｐには面とエッジがある。本方法はさらに、第１の組の面及び特徴タイプを提供するステップＳ２０を含む。特徴タイプは、窪み特徴タイプ又は突起特徴タイプのいずれかである。本方法はＣＡＤシステムによって自動的に、第１の面の組内の第２の面の組を認識するステップＳ３０をさらに含む。第２の組の面は、提供された特徴タイプの特徴を表す。
【００１７】
本方法は、コンピュータで実施される。これは、該方法のステップ（又は実質的に全てのステップ）が少なくとも１つのコンピュータ又は任意のシステムによって実行されることを意味する。したがって、本方法のステップはコンピュータによって、場合によっては完全に自動的に、又は半自動的に実行される。例では、方法のステップのうちの少なくともいくつかのトリガがユーザ／コンピュータ対話を介して実行され得る。必要とされるユーザ／コンピュータ対話のレベルは予測される自動化のレベルに依存し、ユーザの希望を実施する必要性とバランスをとることができる。例では、このレベルがユーザ定義及び／又は事前定義され得る。
【００１８】
方法のコンピュータ実装の典型的な例は、この目的のために適合されたシステムを用いて方法を実行することである。システムはメモリに結合されたプロセッサと、グラフィカルユーザインターフェース（ＧＵＩ）とを備えることができ、メモリには、本方法を実行するための命令を含むコンピュータプログラムが記録されている。メモリはまた、データベースを記憶してもよい。メモリはそのような記憶装置に適合された任意のハードウェアであり、場合によっては、いくつかの物理的に別個の部分（例えば、プログラムのための部分、及び場合によってはデータ断片ベースのための部分）を備える。
【００１９】
本方法は一般に、モデル化されたオブジェクトを操作する。モデル化されたオブジェクトは、例えばデータベースに格納されたデータによって定義される任意のオブジェクトである。この延長線上で考えると、表現「モデル化オブジェクト」は、データ自体を指定する。システムはＣＡＤシステムであってもよく、モデル化されたオブジェクトは対応するデータによって定義される。したがって、ＣＡＤオブジェクトについて話すことができる。
【００２０】
ＣＡＤシステムとは、さらに、ＣＡＴＩＡのような、モデル化オブジェクトのグラフィック表現に基づいてモデル化オブジェクトを少なくとも設計するように適合された任意のシステムを意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータを含む。ＣＡＤシステムは例えば、ある場合には、面又は表面を有するエッジ又は線を使用してＣＡＤモデル化オブジェクトの表現を提供することができる。線、エッジ、又は表面は様々な方法、例えば、不均一有理Ｂスプライン（ＮＵＲＢＳ）で表すことができる。具体的には、ＣＡＤファイルは仕様を含み、そこから幾何学的形状を生成することができ、これにより表現を生成することができる。モデル化されたオブジェクトの仕様は、単一のＣＡＤファイル又は複数のＣＡＤファイルに格納することができる。ＣＡＤシステム内のモデル化オブジェクトを表すファイルの典型的なサイズは、部品当たり１メガバイトの範囲内である。そして、モデル化オブジェクトは、典型的には何千もの部品のアセンブリであり得る。
【００２１】
ＣＡＤの文脈では、モデル化されたオブジェクトが典型的には例えば、部品又は部品のアセンブリ、又は場合によっては製品のアセンブリなどの製品を表す３Ｄモデル化されたオブジェクトとすることができる。「３Ｄモデリングされたオブジェクト」とは、その３Ｄ表現を可能にするデータによってモデリングされる任意のオブジェクトを意味する。３Ｄ表現は、全ての角度から部品を見ることを可能にする。例えば、３Ｄモデル化オブジェクトが３Ｄ表現される場合、その軸のいずれかの周り、又は表現が表示される画面内のいずれかの軸の周りで取り扱われ、回転され得る。これは特に、３Ｄモデル化されていない２Ｄアイコンを除外する。３Ｄ表現の表示は設計を容易にする（すなわち、設計者が統計的に彼らのタスクを達成する速度を増加させる）。これは、製品の設計が加工工程の一部であるため、産業界における加工工程を高速化する。
【００２２】
３Ｄモデル化オブジェクトは例えばＣＡＤソフトウェアソリューション又はＣＡＤシステムを用いた仮想設計の完了後に現実世界で製造される製品の幾何学的形状、例えば部品の（例えば機械的である）一部又はアセンブリ（又は部品のアセンブリは本方法の観点から部品自体として見ることができるので、同等に部品のアセンブリ）、又はより一般的には任意の剛体アセンブリ（例えば可動機構）を表すことができる。ＣＡＤソフトウェアソリューションは、航空宇宙、建築、建築、消費財、ハイテク装置、産業機器、輸送、海洋、及び／又は沖合の石油／ガスの生産又は輸送を含む、さまざまな無制限の産業分野における製品の設計を可能にする。したがって、本方法によって設計された３Ｄモデル化オブジェクトは陸上車両の一部（例えば、自動車及び軽トラック機器、レーシングカー、オートバイ、トラック及びモータ機器、トラック及びバス、トラック及びバスを含む）、航空車両の一部（例えば、機体機器、航空宇宙機器、推進機器、推進機器、制御装置機器、宇宙機器を含む）、海軍車両の一部（例えば、海軍機器、商用船、オフショア機器、ヨット及び作業船を含む）、一般機械部品（例えば、工業製造機械、重移動機械又は機器、設置機器、産業機器、加工金属製品、タイヤ製造製品を含む）、電気機械又は電子部品（例えば、家庭用電化製品、セキュリティ及び／又は制御及び／又は計装製品、コンピュータ及び通信機器、半導体、医療デバイス及び機器を含む）、消費財（家具、家庭用品、レジャー用品、ファッション用品、ハード良好な小売業者の製品、例えば、軟質良好な小売業者の製品、包装（例えば、食品及び飲料及びタバコ、美容及びパーソナルケア、家庭用品包装を含む））など、任意の機械部品であってもよい工業製品を表してもよい。
【００２３】
例では、本方法によって設計される機械部品が成形部品（すなわち、成形加工工程によって製造される部品）、機械加工部品（すなわち、機械加工工程によって製造される部品）、穿孔加工部品（すなわち、穿孔加工工程によって製造される部品）、旋盤部品（すなわち、旋盤加工工程によって製造される部品）、鍛造部品（すなわち、鍛造加工工程によって製造される部品）、打ち抜き部品（すなわち、打ち抜き加工工程によって製造される部品）、及び／又は折りたたみ曲げ部品（すなわち、折りたたみ曲げ加工工程によって製造される部品）の１つ又は妥当な組み合わせである。本方法は、しばしば窪み及び／又は突起を含む機械部品のこのような例を設計するのに特に効率的である。
【００２４】
特徴、窪み特徴の種類、突起特徴の種類、及び特徴の幾何学的形状の概念をここで論じる。以下では、簡潔にするために、窪み特徴タイプの特徴を「窪み特徴」と呼ぶことができ、突起特徴タイプの特徴を「突起特徴」と呼ぶことができる。
【００２５】
機械的部品は、１つ以上の特徴によって実行される機械的機能を果たすように設計されてもよい。例では、機械的機能が１つの特徴によって実行される。例では、機械的機能は、各々が特徴によって実行されるいくつかの機械的機能に分解される。特徴は機械的機能を果たす材料のレイアウト（例えば、配置）である。窪み特徴タイプは特徴のカテゴリであってもよく、カテゴリの各特徴は窪みの形状を有する材料のレイアウトである。付加的に、又は代替的に、突起特徴タイプは特徴のカテゴリであってもよく、カテゴリの各特徴は突起の形状を有する材料のレイアウトである。
【００２６】
特徴は特徴である材料のレイアウトに対応し、及び／又はそれを表し、及び／又はそれを形成する形状とすることができる形状を有する。特徴の幾何学的形状はいくつかの基本幾何学的形状を含む（例えば、それらの組み合わせを含む）ことができる。基本的なジオメトリは、線形押出であってもよい。線形押出成形は、（材料を追加する）パッドであってもよい。線形押出成形は、（材料を除去する）ポケットであってもよい。基本的な幾何学的形状は、回転であってもよい。回転体は、（材料を追加する）シャフトであってもよい。回転体は、（材料を除去する）溝であってもよい。基本的な幾何学的形状は、掃引プロファイルであってもよい。掃引プロファイルは、リブ（材料を追加する）及び／又は補強材（材料を追加する）であってもよい。回転体は、（材料を除去する）スロットであってもよい。
【００２７】
第２の組の面は、提供された特徴タイプの特徴を表す。提供される特徴タイプが窪み特徴タイプである場合、提供される特徴タイプの特徴は、質量減少特徴、空間予約特徴、取付け具特徴、締め付け特徴、調整特徴、位置決め特徴、機械的接合特徴、冷却特徴、空間予約、公転又は円筒形機械的接合特徴、アセンブリ特徴、及び／又は剛性特徴の１つまたもっともらしい組み合わせであり得る。代替的又は追加的に、特徴タイプが突起特徴タイプである場合、提供される特徴タイプの特徴は、補剛特徴、取付け具特徴、位置決めピン特徴、公転又は円筒状の機械的接合特徴、機械加工及び穿孔加工されたすべての突起特徴の支持体、アセンブリ特徴、及び／又は空間予約特徴の１つまたもっともらしい組み合わせであり得る。
【００２８】
ここで、第２の組の面によって表される窪み特徴の例によって実行される関数の例について説明する。
【００２９】
実施例では、機械部品が成形加工工程によって製造される。これらの例では、第２の組の面によって表される窪み特徴が質量減少特徴（すなわち、質量減少機能を実行する）及び／又は空間予約特徴（すなわち、空間予約機能を実行する）であってもよい。
【００３０】
代替的又は追加的に、機械部品は、機械加工工程によって製造されてもよい。これらの例では、第２の組の面によって表される窪み特徴が質量減少特徴（すなわち、質量減少機能を実行すること）、フィクスチャ特徴（すなわち、フィクスチャ機能を実行すること）、締め付け特徴（すなわち、締め付け機能を実行すること）、調整特徴（すなわち、調整機能を実行すること）、位置決め特徴（すなわち、位置決め機能を実行すること）、機械的関節特徴（すなわち、機械的関節機能を実行すること）、冷却特徴（すなわち、冷却機能を実行すること）及び／又は空間予約特徴（すなわち、空間予約機能を実行すること）であってもよい。
【００３１】
代替的又は追加的に、機械部品は、穿孔加工工程によって製造されてもよい。これらの例では、第２の組の面によって表される窪み特徴がフィクスチャ特徴（すなわち、固定機能を実行する）、位置決め特徴（すなわち、位置決め機能を実行する）、回転又は円筒機械継手特徴（すなわち、回転又は円筒機械継手機能を実行する）、冷却特徴（すなわち、冷却機能を実行する）、及び／又は空間予約特徴（すなわち、空間予約機能を実行する）とすることができる。
【００３２】
これに加えて、又はこれに代えて、機械部品は、旋盤加工工程によって製造されてもよい。これらの例では、第２の組の面によって表される窪み特徴が回転又は円筒状の機械的接合特徴（すなわち、回転又は円筒状の機械的接合機能を実行する）であってもよい。
【００３３】
これに加えて、又はこれに代えて、機械部品は、鍛造加工工程によって製造されてもよい。これらの例では、第２の組の面によって表される窪み特徴が質量減少特徴であってもよい（すなわち、質量減少機能を実行する）。
【００３４】
これに加えて、又はこれに代えて、機械部品は、プレス加工工程によって製造されてもよい。これらの例では、第２の組の面によって表される窪み特徴がアセンブリ特徴（すなわち、アセンブリ機能を実行する）、剛性特徴（すなわち、補強機能を実行する）、及び／又は空間予約特徴（すなわち、空間予約機能を実行する）であってもよい。
【００３５】
これに加えて、又はこれに代えて、機械部品は、折りたたみ曲げ加工工程によって製造されてもよい。これらの例では、第２の組の面によって表される窪み特徴がアセンブリ特徴（すなわち、アセンブリ機能を実行する）、剛性特徴（すなわち、補強機能を実行する）、及び／又は空間予約特徴（すなわち、空間予約機能を実行する）であってもよい。
【００３６】
突起特徴の例によって実行される関数の例が、ここで議論される。
【００３７】
実施例では、機械部品が成形加工工程によって製造される。これらの例では、第２の組の面によって表される突起特徴が剛性特徴であっても関数（すなわち、補強機能を実行する）。
【００３８】
代替的又は追加的に、機械部品は、機械加工工程によって製造されてもよい。これらの例では、第２の組の面によって表される突起特徴がフィクスチャ特徴（すなわち、固定機能を実行する）及び／又は位置決めピン特徴（すなわち、位置決めピン機能を実行する）であってもよい。
【００３９】
これに加えて、又はこれに代えて、機械部品は、旋盤加工工程によって製造されてもよい。これらの例では、第２の組の面によって表される突起特徴が回転又は円筒形の機械的接合特徴（すなわち、回転又は円筒形の機械的接合機能を実行する）及び／又は位置決めピン特徴（すなわち、位置決めピン機能を実行する）とすることができる。
【００４０】
これに加えて、又はこれに代えて、機械部品は、鍛造加工工程によって製造されてもよい。これらの例では、第２の組の面によって表される突起特徴が剛性特徴（すなわち、補強機能を実行する）及び／又はすべての機械加工及び穿孔された突起特徴のための支持（すなわち、すべての機械加工及び穿孔された突起機能のための支持を実行する）とすることができる。
【００４１】
これに加えて、又はこれに代えて、機械部品は、プレス加工工程によって製造されてもよい。これらの例では、第２の組の面によって表される突起特徴がアセンブリ特徴（すなわち、アセンブリ機能を実行する）、剛性特徴（すなわち、補強機能を実行する）、及び／又は空間予約特徴（すなわち、空間予約機能を実行する）であってもよい。
【００４２】
これに加えて、又はこれに代えて、機械部品は、折りたたみ曲げ加工工程によって製造されてもよい。これらの例では、第２の組の面によって表される突起特徴がアセンブリ特徴（すなわち、アセンブリ機能を実行する）、剛性特徴（すなわち、補強機能を実行する）、及び／又は空間予約特徴（すなわち、空間予約機能を実行する）であってもよい。
【００４３】
図１６乃至図２０は、本方法によって設計された機械部品の例における、窪み特徴及び突起特徴の例の幾何学的形状の例を示す。図１６は、鍛造部品上の質量減少窪み形状の形状１６２を示す。図１７は、鋳造穿孔加工部品上のフィクスチャ特徴の幾何学的形状１７２を示す。幾何学的形状１７２は、フィクスチャ特徴の突出部分に対応するフィクスチャボスの幾何学的形状と、フィクスチャ特徴の穿孔された部分に対応するフィクスチャ穴の幾何学的形状とを含む。図１７は、鋳造穿孔加工部品の上の補強材突起特徴の幾何学的形状１７４をさらに示す。図１７は、鋳造穿孔加工部品の上の位置決め窪み形状１７６の形状１７６をさらに示す。図１８は、鋳造機械加工部品上の冷却突起特徴の形状１８２を示す。図１９は、機械加工部品の上の機械加工された突起特徴のための支持体の形状１９２と、その一部を機械加工することによって得られる機械的接合突起特徴の形状１９４とを示す。図２０は、プレス加工部品の上の２つの対応する位置決め窪み特徴の２つの幾何学的形状２０２、２０４を示す。図２０は更に、プレス加工部品の上の空間予約窪み特徴を示す。
【００４４】
図２はシステムのＧＵＩの一例を示し、システムはＣＡＤシステムである。
【００４５】
ＧＵＩ  ２１００は、標準的なメニューバー２１１０、２１２０、ならびに底部及び側部ツールバー２１４０、２１５０を有する、典型的なＣＡＤ様インターフェースであり得る。このようなメニューバー及びツールバーはユーザが選択可能なアイコンの組を含み、各アイコンは当技術分野で知られているように、１つ又は複数の操作又は関数に関連付けられている。これらのアイコンのいくつかは、ＧＵＩ２１００に表示された３Ｄモデル化オブジェクト２０００を編集及び／又は作業するように適合されたソフトウェアツールに関連付けられる。ソフトウェアツールは、ワークベンチにグループ化することができる。各ワークベンチは、ソフトウェアツールの部分集合を含む。特に、ワークベンチの１つは、モデル化された製品２０００の幾何学的特徴を編集するのに適した編集ワークベンチである。動作中、設計者は例えば、オブジェクト２０００の一部を事前に選択し、次いで、適切なアイコンを選択することによって、動作（例えば、寸法、色などを変更する）又は幾何学的制約を編集することができる。例えば、典型的なＣＡＤ動作は、画面上に表示される３Ｄモデル化オブジェクトの打ち抜き加工又は折り畳みのモデル化である。ＧＵＩは例えば、表示された製品２０００に関連するデータ２５００を表示することができる。図の例では「特徴木」として表示されるデータ２５００、及びそれらの３Ｄ表現２０００はブレーキキャリパ及びディスクを含むブレーキアセンブリに関する。３Ｄ表現２０００によって表されるもののようなブレーキアセンブリは、本方法によって設計されてもよい。ＧＵＩは編集された製品の動作のシミュレーションをトリガするために、又は表示された製品２０００の様々な属性をレンダリングするために、例えば、オブジェクトの３Ｄ配向を容易にするための様々なタイプのグラフィックツール２１３０、２０７０、２０８０をさらに示すことができる。カーソル２０６０はユーザがグラフィックツールと対話することを可能にするために、触覚デバイスによって制御され得る。
【００４６】
図３は、システムがクライアントコンピュータシステム、例えばユーザのワークステーションであるシステムの一例を示す。
【００４７】
この例のクライアントコンピュータは、内部通信バス１０００に接続された中央処理装置（ＣＰＵ）１０１０と、やはりバスに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０とを備える。クライアントコンピュータには、さらに、ＢＵＳに接続されたビデオランダムアクセスメモリ１１００に関連するグラフィカルプロセッシングユニット（ＧＰＵ）１１１０が設けられている。ビデオＲＡＭ１１００は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置の制御装置１０２０は、ハードドライブ１０３０などの大容量記憶装置へのアクセスを管理する。コンピュータプログラム命令及びデータを有形に具現化するのに適した大容量メモリデバイスは、例として、ＥＰＲＯＭ、ＥＥＰＲＯＭ、及びフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスク及びリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにＣＤ−ＲＯＭディスク１０４０を含む、すべての形態の不揮発性メモリを含む。前述のいずれも、特別に設計されたＡＳＩＣ（特定用途向け集積回路）によって補足されるか、又はその中に組み込まれてもよい。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。クライアントコンピュータは、カーソル制御デバイス、キーボードなどの触覚デバイス１０９０も含むことができる。ユーザがディスプレイ１０８０上の任意の所望の位置にカーソルを選択的に位置決めすることを可能にするために、カーソル制御装置がクライアントコンピュータ内で使用される。さらに、カーソル制御装置はユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号発生装置を含む。典型的にはカーソル制御装置がマウスであってもよく、マウスのボタンは信号を生成するために使用される。代替的に又は追加的に、クライアントコンピュータシステムは、センシティブパッド及び／又はセンシティブスクリーンを含むことができる。
【００４８】
コンピュータプログラムはコンピュータによって実行可能な命令を含むことができ、命令は、上記装置に該方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラム例えば、デジタル電子回路において、又はコンピュータハードウェア、ファームウェア、ソフトウェアにおいて、又はそれらの組み合わせにおいて実装されてもよい。プログラムは装置、例えば、プログラマブルプロセッサによる実行のための機械可読記憶デバイスに有形に具現化された製品として実装されてもよい。方法のステップは入力データ断片に対して動作し、出力を生成することによって、方法の機能を実行するための命令のプログラムを実行するプログラマブルプロセッサによって実行されてもよい。したがって、プロセッサはプログラム可能であり、データ断片記憶システム、少なくとも１つの入力デバイス、及び少なくとも１つの出力デバイスからデータ断片及び命令を受信し、それらにデータ断片及び命令を送信するように結合され得る。アプリケーションプログラムは、高レベルの手続き型又をブジェクト指向プログラミング言語で、あるいは必要に応じてアセンブリ言語又は機械語で実装することができる。いずれの場合も、言語は、コンパイルされた言語又は解釈された言語であってもよい。プログラムはフルインストールプログラムであってもよいし、更新プログラムであってもよい。システム上にプログラムを適用すると、いずれにしても、本方法を実行するための命令が得られる。
【００４９】
「３Ｄモデル化オブジェクトを設計する」は、３Ｄモデル化オブジェクトを作成するプロセスの少なくとも一部である任意のアクション又は一連のアクションを指定する。したがって、本方法は、３Ｄモデル化オブジェクトをスクラッチから作成することを含むことができる。あるいは、本方法が以前に作成された３Ｄモデル化オブジェクトを提供するステップと、次いで、３Ｄモデル化オブジェクトを修正するステップとを含むことができる。
【００５０】
方法は加工工程に含まれてもよく、加工工程は方法を実行した後に、モデル化されたオブジェクトに対応する物理的製品を生成することを含んでもよい。いずれの場合も、本方法によって設計されたモデル化オブジェクトは、製造オブジェクトを表すことができる。したがって、モデル化されたオブジェクトはモデル化された立体（すなわち、立体を表すモデル化されたオブジェクト）とすることができる。製造対象物は、部品などの製品、又は部品のアセンブリであってもよい。本方法はモデル化された物体の設計を改善するので、本方法はまた、製品の製造を改善し、したがって、加工工程の生産性を増加させる。
【００５１】
機械部品を表すＢ−ｒｅｐを提供するステップＳ１０について説明する。
【００５２】
Ｂ−ｒｅｐは、機械部品の３Ｄ表現である。具体的にはＢ−ｒｅｐ（すなわち、境界表現）は機械的部品を表す３Ｄモデル化された物体を記述する持続的なデータ表現である。Ｂ−ｒｅｐは、機械的部品を表す３Ｄモデル化されたオブジェクトの設計段階中に実施される計算及び／又は一連の操作の結果であり得る。モデル化されたオブジェクトが表されるときにコンピュータのスクリーン上に表示される機械部品の形状はＢ−ｒｅｐ（のテッセレーション）である。例として、Ｂ−ｒｅｐはモデルオブジェクトの一部を表す。
【００５３】
Ｂ−Ｒｅｐは、位相エンティティ及び幾何学的エンティティを含む。トポロジーエンティティは、面、エッジ、及び頂点である。幾何学的エンティティは３Ｄオブジェクト、すなわち、表面、平面、曲線、線、点である。定義上、面は、支持表面と名付けられた、表面の有界部分である。エッジは曲線の有界部分であり、支持曲線と名付けられている。頂点は３Ｄ空間の点である。それらは、以下のように互いに関連付けられる。曲線の境界部分は、曲線上にある２つの点（頂点）によって定義される。表面の境界部分は、その境界によって定義される。この境界が表面上に横たわるエッジの組である。面の境界のエッジは、頂点を共有することによって接続される。面は、エッジを共有することによって接続される。２つの面は、それらがエッジを共有する場合、隣接する。同様に、２つのエッジは、それらが頂点を共有する場合、隣接する。図４は、上面平面面と２つの側面円筒面の３つの面で作られた円筒形スロットのＢ−ｒｅｐを示す図である。左図は、スロットの斜視図である。可視面、エッジ、及び頂点に番号を付ける。右図は、すべての面の分解図である。重複した数字は、エッジ及び頂点の共有を示す。面１は、平面の境界部分である。面１の境界はエッジ４及び５を含み、それらの各々は、頂点１０及び１１によって境界付けられる。両者は同じ支持円を有する。面２は、すべて無限円筒面上に横たわるエッジ６、８、５及び１３によって境界される。面１と面２は、エッジ５を共有しているので、隣接している。面２及び３は、エッジ８及び１３を共有しているので、隣接している。面１と面３は、エッジ４を共有しているので、隣接している。図５は図４のＢ−Ｒｅｐの「境界」トポロジー関係を示すグラフであり、上位層のノードは面であり、下位層のノードは頂点であり、中間層のノードは面であり、下位層のノードは頂点である。図６は図４のＢ−Ｒｅｐのトポロジーエンティティ（面、エッジ、頂点）とサポート形状（右図）との間の関係を示すグラフ（左図）であり、ＣＡＤシステムでは、Ｂ−ｒｅｐが適切なデータ構造で、「境界」関係、トポロジーエンティティとサポート形状との間の関係、及びサポート形状の数学的記述を収集する。
【００５４】
定義によれば、Ｂ−Ｒｅｐの内部エッジは、正確に２つの面によって共有される。定義によれば、境界エッジは共有されず、１つの面のみを境界付ける。定義上、境界面は少なくとも１つの境界エッジで境界される。Ｂ−Ｒｅｐは、その全てのエッジが内部エッジである場合、閉じていると言われる。Ｂ−Ｒｅｐは、少なくとも１つの境界エッジを含むので、開いていると言われる。エッジ６及び７は境界エッジであるので、図４に示す例のＢ−Ｒｅｐは開いている。逆に、エッジ４、５、８及び１３は内部エッジである。閉じたＢ−Ｒｅｐは、図７に例示されたエッジ６と７で境界されたディスク状の面１４を追加することによって図４の例から得られる。左側の図は閉じたＢ−ｒｅｐを示し、右側の図は閉じたＢ−ｒｅｐの「境界がある」トポロジー関係を示すグラフを示す。クローズドＢ−Ｒｅｐは、空間の内部部分（事実上）を囲い込む材料を定義するため、厚い３Ｄ体積をモデル化するために使用される。オープンＢ−Ｒｅｐは、無視すべき十分に小さい厚さの３Ｄオブジェクトを表す３Ｄスキンをモデル化するために使用される。
【００５５】
Ｂ−Ｒｅｐの各面は、支持面の助けを借りて定義される法線ベクトルを備える。第１に、法線ベクトルは支持面の法線ベクトルと同一線上にある。さらに、機械部品を表す閉じたＢ−Ｒｅｐの法線ベクトルは、材料の外部に向けられる。ＦをＢ−Ｒｅｐの面、Ｎをその外生正規ベクトルとする。Ｅを面Ｆのエッジとし、ＸをエッジＥ上の点とし、Ｔを点ＸにおけるエッジＥの正規化タンジェントベクトルとする。定義上、エッジＥはベクトルＭ＝Ｎ×Ｔが図８の左図に示すように、面の内側領域に向いている場合には反時計回りに向く。ベクトルＮとＴは正規化され、垂直であるので、ベクトルＭは正規化されることに注意されたい。慣例により、Ｂ−Ｒｅｐの全ての面の全てのエッジは図８の右図によって示されるように、反時計回りに方向付けられる。
【００５６】
以下では、エッジ窪み突起の概念について説明する。３Ｄモデル化された対象のＢ−Ｒｅｐが与えられたとき、面Ｆ１及びＦ２によって共有されるエッジをＥとして、ＸをエッジＥ上の点とする。面Ｆ１及びＦ２のそれぞれの外部正規分布ベクトルはそれぞれＮ１及びＮ２と記す。それぞれの法線ベクトルＮ１及びＮ２について点Ｘを通る平面をＰ１及びＰ２とする。平面Ｐ１及びＰ２は、外部３Ｄ領域と、点Ｘの近傍における内側３Ｄ領域とを局所的に画定する。本質的に、ベクトルＮ１＋Ｎ２は外部の３Ｄ領域を指す。ここで、面Ｆ１及びＦ２に対する点Ｘのそれぞれの材料ベクトルをＭ１及びＭ２とする。性質上、ベクトルＭ１＋Ｍ２は突起の３Ｄ領域を指す。定義によれば、図９に示すように、Ｎ１＋Ｎ２とＭ１＋Ｍ２とが反対方向を向いている場合（すなわち、（Ｍ１＋Ｍ２，Ｎ１＋Ｎ２）＜０である場合）、エッジＥは点Ｘにおいて突起である。エッジＥは、すべての点で突起であれば突起である。逆に、エッジは図１０に示すように、Ｎ１＋Ｎ２とＭ１＋Ｍ２とが同じ方向を向いている場合（すなわち、（Ｍ１＋Ｍ２，Ｎ１＋Ｎ２）＞０である場合）点Ｘにおいて窪み状である。エッジＥは、全ての点で窪み状である場合、窪み状である。そうでなければ、（Ｍ１＋Ｍ２，Ｎ１＋Ｎ２）＝０は、エッジが滑らかなエッジ又はナイフエッジのいずれかであることを意味する。滑らかなエッジは、図１１に示すように、Ｍ１＋Ｍ２＋０及びＮ１＋Ｎ２である。これは通常、典型的な機械部品のＢ−Ｒｅｐで起こる。ナイフエッジは、図１２に示すように、Ｎ１＋Ｎ２＋０及びＭ１＋Ｍ２である。ナイフエッジは完全性のために記述され、通常は機械部品のモデル化には使用されない。
【００５７】
幾何学的観点から、丸い面は、突起の鋭いエッジ部を滑らかな移行部に置き換える。遷移面は、最初の鋭いエッジの隣接面をつなぐ転動ボールの包絡線である。同様に、フィレット面は、同じ転動ボール形状に基づく滑らかな遷移によって窪み状の鋭いエッジを置き換える。図１３は、丸い面とフィレット面の幾何学的形状を示す図である。図１３は、突起エッジ１３０、窪みエッジ１３２、丸い面１３４、及びフィレット面１３６を示す。正準面（シリンダ、平面、球体、円錐など）の丸い面やフィレット面と同様に、一般的にＢ−Ｒｅｐデータ構造に論理型が備わっている。この論理型が欠落している場合は、以下のように認識できる。次式のパラメータ化
【数１】
2020129366.tif 000003
は、全ての
【数２】
2020129366.tif 000004
について、曲線
【数３】
2020129366.tif 000005
は、半径がｕに依存しない円の一部である。あるいは、全ての
【数４】
2020129366.tif 000006
について、曲線
【数５】
2020129366.tif 000007
は、半径がｖに依存しない円の一部である。Ｂ−ｒｅｐの外部法線ベクトルが円の窪み側に向いている場合、表面Ｓによって支持される面は丸い表面である。Ｂ−ｒｅｐの外法線ベクトルが円の突起面側に向いている場合、表面Ｓによって支持される面はフィレット面である。図１４は、丸い面１４０及びフィレット面１４２のパラメータ化を示す。丸い面とフィレット面は、それぞれ突起エッジと窪みエッジのように動作する。これは、力学的観点からは丸い面は突起の鋭いエッジに代わる滑らかな遷移であり、フィレット面は窪み状の鋭いエッジに代わる滑らかな遷移であるからである。これは、成形及び加工方法を通して製造された機械部品を設計する場合に常に発生する。
【００５８】
以下では、Ｂ−ｒｅｐの二重グラフの概念について説明する。Ｂ−Ｒｅｐの二重グラフは、面の隣接のみを捕捉する論理グラフである。これは次のように定義される。二重グラフのノードはＢ−Ｒｅｐの面に関連付けられ、二重グラフのアークはＢ−Ｒｅｐのエッジに関連付けられる。二重グラフのアークは、アークに関連するＢ−Ｒｅｐエッジがそれぞれノードに関連するＢ−Ｒｅｐ面で共有される場合、二重グラフの２つのノードを接続する。例えば、図７の円筒形Ｂ−Ｒｅｐの二重グラフを図１５に示す。アークは、エッジ数でラベル付けされている。定義上、組の面を表す二重グラフのノードが二重グラフの接続されたサブグラフのノードである場合、一連の面が接続される。言い換えれば、接続された一連の面が、Ｂ−ｒｅｐのアークワイズに接続された部分を形成するのである。スキンとは、面又は接続された面の組である。滑らかなスキンとは、滑らかな内エッジのみを含む面又は連結された一組の面である。
【００５９】
特徴は、連結された面の組によって表されてもよい。言い換えれば、連結された面の組に対応するＢ−ｒｅｐの部分は、特徴の幾何学的形状をモデル化及び／又は表すことができる。特徴が窪み特徴である場合、接続された面の組は、突起エッジ又は丸い面によって境界を定められてもよい。特徴が突起特徴である場合、接続された面の組は、窪み部エッジ又はフィレット面によって境界付けられてもよい。
【００６０】
Ｂ−ｒｅｐを提供するステップＳ１０は、ＣＡＤシステムの表示上にＢ−ｒｅｐを表示することを含むことができる。Ｂ−ｒｅｐを提供するステップＳ１０は、ユーザの行動、例えばユーザとその方法のＣＡＤシステムとの間の相互作用から生じる可能性がある。例において、Ｂ−ｒｅｐによって表現される３Ｄモデル化された物体（例えば、部品）は別のＣＡＤシステム上で別のユーザによって設計され、その方法のＣＡＤシステムに記憶され、メモリ／又は（例えば、ネットワークを通じて）送付された。Ｂ−ｒｅｐを提供するステップＳ１０  は、メモリからＢ−ｒｅｐを取得することを含んでいる場合がある。例では、別のユーザが異なり、方法のＣＡＤシステムと他のＣＡＤシステムが異なる。これらの例では、本方法のＣＡＤシステムと別のＣＡＤシステムとはネットワークによって接続されてもよい。例では、別のユーザが同じであり、方法のＣＡＤシステムと他のＣＡＤシステムが同じである。
【００６１】
ここで、特徴タイプを提供するステップＳ２０について説明する。
【００６２】
特徴タイプを提供するステップＳ２０は、特徴タイプが突起特徴タイプであること、又は特徴タイプが窪み特徴タイプであることを指定するステップを含む。提供された特徴タイプは第２の面の組を認識するステップＳ３０の入力、例えば、第２の面の組を認識するステップＳ３０に含まれる１つ以上のアルゴリズムの入力であるデータを形成する。
【００６３】
特徴タイプを提供するステップＳ２０は、ユーザアクションに応じて実行されてもよい。ここで、ユーザの行動に応じて、特徴種類を提供するステップＳ２０を行う例について説明する。
【００６４】
例において、特徴タイプを特定するステップは、例えば、２つのタイプの特徴の間の選択を提供するソフトウェア（例えば、ＣＡＤシステム）と対話することによって、ユーザの行動に応じて、突起特徴タイプと窪み特徴タイプとの間の特徴タイプを選択するステップを含むことができる。あるいは、ユーザがＣＡＤシステムとの対話（例えば、キーボード又は触覚デバイス又はタッチを使用する）によって特徴タイプを宣言することによって、特徴タイプが突起特徴タイプであること、又は特徴タイプが窪み特徴タイプであることを指定することができる。これらの例では、第２の組を認識するステップＳ３０が入力として、窪み特徴タイプ及び突起特徴タイプのうちのいずれか１つの特徴タイプを受け付けるように適合される。これらの例では、認識するステップＳ３０は、入力として受信された特徴タイプを決定（例えば、認識）するステップを含むことができる。例では、提供された特徴タイプが窪み特徴タイプである場合、認識するステップＳ３０に関与する１つ以上の第１のアルゴリズムが存在し、提供された特徴タイプが突起特徴タイプである場合、認識するステップＳ３０に関与する１つ以上の第２のアルゴリズムが存在し得る。これらの例では、入力として受信された特徴タイプの決定が１つ又は複数の第１のアルゴリズム又は１つ又は複数の第２のアルゴリズムのいずれかの適用をトリガする。代替的又は追加的に、１つ又は複数の第１のアルゴリズム及び１つ又は複数の第２のアルゴリズムは同一であるが、１つ又は複数のパラメータに依存し得る。この場合、入力として受信された特徴タイプの決定は受信された特徴タイプの特徴を表す第２の面の組が検索され、認識されるように、１つ以上のパラメータを指定する（例えば、インスタンス化する）。
【００６５】
例において、ユーザは指定するために単一の特徴タイプを提供されてもよく、ユーザは例えば、ＣＡＤシステムとの対話（例えば、キーボード又は触覚デバイス又はタッチ）によって（例えば、グラフィカルユーザインターフェースによって）それを指定する（例えば、宣言する）。言い換えると、突起特徴タイプのみが、ユーザによって選択されてもよく（例えば、宣言されたように指定されてもよい）、又は窪み特徴タイプのみが、ユーザによって選択されてもよい（例えば、宣言されたように指定されてもよい）。これらの例では、第２の組を認識するステップＳ３０が入力として前記単一の特徴タイプのみを受け取るように適合される。
【００６６】
また、特徴種類を提供するステップＳ２０は、ＣＡＤシステムによって自動的に行われてもよい。
【００６７】
次に、第１の組の面を提供するステップＳ２０について説明する。
【００６８】
第１の組の面は提供された特徴タイプの特徴を表す面を包含する（例えば、有する、例えば、内包する、例えば、備える）。言い換えれば、関心のある突起（又は窪み）を含む少なくとも全ての面（すなわち、本方法によって認識されるべき面）は、提供された第１の組の一部である。第１の組は、提供された特徴タイプの特徴を表す面の一部ではない追加の面を含むことができる。例を挙げると、Ｂ−ｒｅｐのすべての面から構成される組は、面の厳密な部分集合で構成されている。面の厳密な部分集合は、提供された特徴タイプの特徴を表す面と、１つ又は複数の他の面とを含む。これらの例では、面の最初の組が厳密な部分集合の部分集合であり、提供された特徴タイプの特徴を表す少なくともすべての面を含む厳密な部分集合の部分集合である。例では、厳密な部分集合の部分集合には１つ以上の他の面が含まれている。例では、１つ又は複数の他の面で作られた面の組が提供された特徴タイプの別の特徴を表す面のいかなる組も含まない。第１の組の面は、上位集合又は上位集合の面と呼ぶことができる。
【００６９】
最初の一組の面を提供するステップＳ２０は提供されたＢ−ｒｅｐの面の中の最初の一組の面を選択すること（例えば、同時に選択すること）を含んでいるかもしれない。提供された第１の組の面は第２の組の面を認識するステップＳ３０の入力、例えば、第２の組の面を認識するステップＳ３０に含まれる１つ以上のアルゴリズムの入力であるデータを形成する。第１の組の面を提供するステップＳ２０の前に、ＣＡＤシステムのディスプレイ上にＢ−ｒｅｐを表示することができる。
【００７０】
第１の面の組を提供するステップＳ２０は、ユーザによって実行されてもよい。例えば、ユーザは例えば、ＣＡＤシステムとの（例えば、グラフィカルである）相互作用によって、面の最初の組を直接選択し、他の面を選択しないことができる。ＣＡＤシステムとのグラフィックな相互作用によって最初の面の組を選択することは、ＣＡＤシステムの表示に表示されるＢ−ｒｅｐ上に形状（例えば閉じた曲線）を描くことによって、その形状が第１の面の組を包含するようにしてもよい。例えば、形状の描画は、マウス等の触覚デバイスを用いて行うことができる。ユーザは画面の位置上の触覚デバイスでクリックすることによって、描画を開始する（例えば、開始する）ことができる。クリックした結果、位置にカーソルが表示される場合がある。そして、カーソルを画面上にドラッグして描画を行い、カーソルの軌跡が形状を形成するようにしてもよい。あるいは、形状の描画がユーザの連続的なタッチによって行われてもよく、この連続的なタッチによって形状を形成する。
【００７１】
代替的に又は追加的に、第１の面の組を提供するステップＳ２０は半自動的に実行されてもよく、すなわち、第１の面の組を提供するステップＳ２０は、１つ又は複数のユーザアクションと、コンピュータによって自動的に実行される１つ又は複数のアクションとを伴ってもよい。ユーザは例えば、ＣＡＤシステムとの対話によって面の初期組を選択することができる。第１の組を提供するステップＳ２０は、選択された初期の組の面の自動処理を含むことができる。処理は面の初期組に面を追加すること、及び／又は面の初期組から面を廃棄する（例えば、除去する）ことを含むことができる。これらの例では、処理が選択された面の初期組を入力として受け取り、面の第１の組を出力する。ＣＡＤシステムとのグラフィックな相互作用によって最初の面の組を選択することは、ＣＡＤシステムの表示に表示されるＢ−ｒｅｐ上に形状（例えば閉じた曲線）を描くことによって、その形状が当初の面の組を包含するようにしてもよい。例えば、形状の描画は、マウス等の触覚デバイスを用いて行うことができる。ユーザは画面の位置上の触覚デバイスでクリックすることによって、描画を開始する（例えば、開始する）ことができる。クリックした結果、位置にカーソルが表示される場合がある。そして、カーソルを画面上にドラッグして描画を行い、カーソルの軌跡が形状を形成するようにしてもよい。あるいは、形状の描画がユーザの連続的なタッチによって行われてもよく、この連続的なタッチによって形状を形成する。実施例では形状の描画が面のいくつかの分離連結された組が形状に包含され、これらの組のうちの１つのみが、少なくとも部分的に見える１つ以上の面を有するという結果をもたらす。少なくとも面の一部がＢ−ｒｅｐの他の面に隠れていない場合、Ａ面は少なくとも部分的に見える。第１の組の面は、１つ以上の部分的に見える面を有する唯一の組である。換言すれば、他の組の面は、処理中に廃棄される。
【００７２】
第１の組の面は、特徴タイプの後に設けることができる。このような例では、第１の組の面が既に提供された特徴タイプの特徴を表す面を包含する。代替的に、第１の組の面は、特徴タイプの前に提供されてもよい。このような例では、第１の組の面が窪み特徴（又は突起特徴）を表す面を包含する。後に提供される特徴タイプは、窪み特徴タイプ（又は突起特徴タイプ）である。
【００７３】
ここで、第１の組の面を供給するステップＳ２０の例を説明する。
【００７４】
例では、第１の面の組を提供するステップＳ２０がＣＡＤシステムのディスプレイ上にＢ−ｒｅｐを表示するステップと、グラフィカルユーザ対話によって第１の面の組を選択するステップとを含む。
【００７５】
グラフィカルユーザ対話は、上述したような形状の図面であってもよい。このように、ユーザは、単純なグラフィカルインタラクションによって、一度に最初の組のすべての面を選択することができる。これは例えば、面が１つずつ選択され、面が選択されるたびに、キーボードのシフトキーを押して解放することによって面が保存される、キーボードのシフトキーを使用する面の多重選択と比較して、人間工学的な改善であり、これは多数のユーザ／マシン対話を意味する。
【００７６】
例では、最初の面の組の選択がグラフィカルユーザインタラクションによって構成され、ディスプレイ上に閉じた曲線を定義する。これらの例では、最初の面の組の選択はさらに構成され、ＣＡＤシステムによって自動的に、閉じた曲線の中に投写が全く含まれているＢ−ｒｅｐの各面を識別する。
【００７７】
閉曲線を定義することは、ユーザが第１の組の面の選択を実行するための特に単純で人間工学的な方法である。ユーザによって定義される閉曲線は、ユーザが選択したくない面、すなわち閉曲線内に完全に投影されていない面を包含することができる。本方法は、このような望ましくない面を避けるのであろう閉曲線の困難で正確な定義をユーザに行うことを要求するのではなく、むしろ閉曲線の内側に完全に投影されている面を識別するだけでそれらを除去する。したがって、第１の組の面の選択は効率的であり、改善されたユーザ／マシン対話を構成する。
【００７８】
閉曲線を定義することは、ディスプレイ上に閉曲線を描くことを含み得る。閉曲線は第１の組の面を包含し、追加の面を包含することができる。閉曲線は、ディスプレイ上に実線又は点線として表示することができる。閉曲線によって境界付けられた（例えば、囲まれた）領域は例ではディスプレイ上の平面的な単に接続された領域であってもよく、すなわち、閉曲線は、領域の境界を形成する。ドメインは（例えば、実質的に）長方形、円、正方形、楕円、又は三角形であってもよい。閉曲線を描くことは、例えばクリック（例えば、マウスのような触覚デバイスによる）又はタッチ（例えば、ユーザの指による）による、ディスプレイとの第１の位置での第１のユーザ対話を含むことができる。第１のユーザ対話を維持することができる。閉曲線を描くことは、次いで、ディスプレイ上でドラッグ及び／又はスライド及び／又は並進を、ディスプレイの第１の位置から第２の位置まで実行することを含むことができる。ドラッグ及び／又はスライド及び／又は並進を実行することは、例えば、長方形又は正方形の対角線、又は円の直径、又は三角形又は楕円の軸、又は第１の位置で始まり、終わる任意の閉じた経路の平均を（例えば、実質的に）たどりながら、第１の位置から第２の位置にユーザの触覚デバイス又は指のカーソルをドラッグ及び／又はスライド及び／又は並進させることからなってもよい（この場合、第１及び第２の位置は同一である）。第１のユーザ対話は閉曲線の描画全体にわたって維持され、描画を終了し、曲線を固定するために解放されてもよい。
【００７９】
ディスプレイ上の面の投影は閉曲線によって境界付けされた（例えば、囲まれた）ドメイン上の面の直交投影であってもよい。したがって、各面の各投影は例えば、１つ以上の記憶された既知の数式に従って、ＣＡＤシステムによって自動的に計算され得る。閉曲線は組の各面の各投影が閉曲線の内側に完全に含まれている場合にのみ、例えば、閉曲線によって有界な（例えば、囲まれた）領域に完全に含まれている場合にのみ、面の組を包含する。例では、閉曲線が第１の組の面を包含する。
【００８０】
例では、選択することはＣＡＤシステムによって自動的に、識別された面を面の互いに素な接続された部分集合に分割することをさらに含む。１つだけの部分集合が、第１の組の面である。これらの実施例では、選択がさらに、ＣＡＤシステムによって自動的に、他のすべての部分集合を廃棄することを含む。
【００８１】
その結果、閉曲線のユーザ定義の精度とは無関係に、本方法は、ユーザの閉曲線によって包含されるすべての面の中の第１の面の組を自動的に保持する。言い換えれば、ユーザは、正確に第１の組の面を包含する正確で複雑な閉曲線を定義する必要がない。代わりに、ユーザは少なくとも（例えば、大まかに）第１の組の面を包含する単純な閉曲線を定義するだけでよく、システムは第１の組の面を自動的に保持し、出力する。したがって、本方法は非常に人間工学的である。
【００８２】
例では、ＣＡＤシステムが識別されたすべての面を自動的に訪問し、面のすべての最大連結部分集合を検出する。これらの例では、１つの識別された面を接続された部分集合に加えることが非接続の面の組を形成する場合、すべての識別された面の組のうちの接続された面の部分集合は最大である。言い換えれば、識別された面はＢ−ｒｅｐの二重グラフのサブグラフのノードに対応するので、面の各最大連結部分集合はサブグラフのそれぞれの最大連結成分のノードに対応する。面の最大連結部分集合は理論により、全ての識別された面の集合の区分を形成し、理論により、互いに素である。
【００８３】
例では、面と閉曲線の内部との間に他の面がない場合、面が見える。面の一部のみが見える場合、面は部分的に見える。これらの例では、１つのみの部分集合が少なくとも１つの（例えば、部分的に）可視の面を含む分割から生じる面の唯一の部分集合である。他のすべての部分集合は、見えない面のみを含むため、廃棄される。
【００８４】
全ての他の部分集合を廃棄することは、選択の終わりに、面の第１の集合のみが残り、提供されることを意味する（Ｓ２０）。
【００８５】
次に、第１の組の面を供給するステップＳ２０の実施例を、図２９を参照して説明する。第１の組の面を提供するステップＳ２０は、グラフィカルトラップ及びトラップアルゴリズムを使用することによって実行される。
【００８６】
グラフィカルトラップ選択はユーザがＣＡＤシステムのディスプレイ上に矩形を描くためのものである（例えば、２回のマウスクリック、例えば、矩形の対角線の各末端に１回のクリック）。矩形エッジは、それぞれ水平及び垂直である。一方では、この形状の粗さはユーザの観点から、その配置及びサイズ決定を非常に容易にする。他方、ユーザが関心のある面の組を含むようにできるだけ小さい長方形を定義したとしても、いくつかの望ましくない面は、いずれにせよ長方形の内側に入ることがある。トラップアルゴリズムは、前記不要な面を廃棄するために適用される。Ｂ−ｒｅｐとユーザ定義のグラフィカルトラップを指定すると、トラップアルゴリズムは関連する面の組を３つのステップで選択する。第１のステップは、トラップに含まれるＢ-ｒｅｐのすべての面が可視であるか否かを識別することである。定義によれば、ディスプレイ上のその投写がトラップを定義する長方形に含まれる場合、面はトラップに含まれる。これらの面はトラップ面と呼ばれる。第２のステップは、トラップされた面内の隣接関係を計算することである。これは、捕捉された面を隣接する面の互いに素な接続された部分集合に分割する。非可視面のみを含む全ての部分集合は廃棄される。それは少なくとも１つの可視面を含む１つの部分集合のみを残し、この部分集合は提供されたＳ２０の第１の面の組である。
【００８７】
例えば、図２９の左図のＢ−ｒｅｐを図形トラップ（点線の長方形）と共に考える。このユーザ選択は、アルゴリズムの第１のステップに従ってトラップされた面｛１，２，３，４，５｝を定義する。面３、４、５はＢ−ｒｅｐ上では見えないことに注意されたい。第２のステップによれば、隣接性計算は、第１の部分集合｛１，２，３｝及び第２の部分集合｛４，５｝を生じる。第３のステップによれば、部分集合｛４，５｝は非可視面のみを含むので廃棄され、部分集合｛１，２，３｝は少なくとも１つの（部分的に）可視面を含むので保持される。したがって、提供されるＳ２０の第１の組の面は｛１，２，３｝である。アルゴリズムは、見えないにもかかわらず、面３を選択することができることに留意されたい。面３は、前部切欠きを定義するため、関連する。
【００８８】
次に、第２の組の面を認識するステップＳ３０について説明する。
【００８９】
認識するステップＳ３０は、ＣＡＤシステムによって自動的に実行される。言い換えれば、面の第１の組及び機能のタイプの入力及び認識するステップＳ３０の入力としてのそれらの受信を提供すると、認識することは例えば、実行全体を通して（例えば、面の第１の組及び機能のタイプの入力として取る１つ又は複数のアルゴリズムの１つ又は複数のプロセッサによって）、面の第２の組を自動的に認識する。これらの例では前記１つ又は複数のアルゴリズムによる前記入力を受信すると、ＣＡＤシステムは前記１つ又は複数のアルゴリズムを自動的に実行及び／又は実行し、前記実行及び／又は実行は面の第２の組の認識（例えば、検出又は決定）をもたらす。認識するステップＳ３０は、第１の面の組の中で提供された特徴タイプの特徴を表す面を認識するように適合された１つ又は複数のアルゴリズムの任意の組の実行を含むことができる。
【００９０】
本方法は、非常に効率的かつ人間工学的な方法で、提供された特徴タイプの特徴を表す面を認識する。特に、特徴を表す全ての面を包含する第１の組の面が提供される。したがって、提供された特徴タイプの特徴を表す面の中から１つの面を選択し、提供された特徴タイプの特徴を表す他の面を識別しようと試みる（例えば、反復的に）代わりに、前記他の面のうちの１つ又は複数を欠落させる可能性があり、本方法は、より大きな面の組（提供された第１の面の組）から開始する。次に、本方法はこのより大きな面の組内の部分組（第２の面の組）を認識し、この部分組は、提供された特徴タイプの特徴を表す面から作られる。これらの面のどれも欠けていない。さらに、提供された特徴タイプの特徴を表す面の認識は、自動的に実行され、ユーザによって非常に人間工学的な方法で実行され得るより大きな組を提供するステップＳ２０の結果として実行される。したがって、本方法は、非常に人間工学的で効率的である。
【００９１】
例では、認識するステップＳ３０が第２の組の面を出力する。例では、面の組のすべての面が結合されて、第２の面の組に対応するデータを形成する。例では、認識するステップＳ３０の結果として、第２の面の組のすべての面に相対的なすべてのデータが格納されるメモリ空間を指すポインタが存在する。例では本方法が第２の面の組に関するデータを記憶すること、及び／又は例えばネットワークを介して別のＣＡＤシステムにデータを送信することを含む。
【００９２】
例では、認識された第２の組の面を処理することができる。第２の組の面の処理は、以下のうちの１つ又は複数を含むことができる。
・Ｂ−ｒｅｐから２番目の面の組を抽出し、及び／又はそれを表示する。例えば、ＣＡＤシステムの表示の分離窓、及び／又はＢ−ｒｅｐの表示の中でそれを強調すること。
・１つ又は複数の設計及び／又は編集操作（例えば、寸法の変化、サイズの変化、厚さの変化、平行移動、厚さの変化、回転、カット、コピー、コピー、及び／又は貼り付け）を自動的に、かつ統一された方法で第２の組の面のすべての面に適用すること。及び／又は、
・１つ又は複数の設計及び／又は編集操作（例えば、平行移動、サイズの変化、寸法の変化、円形、フィレット、ドラフト角、及び／又は厚さの変化）を自動的に、かつ統一された方法で、第２の組の面の１つの種類（例えば、鋭い種類、滑らかな種類、ナイフ種類、突起型、又は窪み型）境界面のすべてのエッジに適用すること。
【００９３】
自動的に、及び統一された方法で、面及び／又はエッジの組に動作を適用することは、組及び動作を指定すること（例えば、ユーザアクションに応じて）、動作を起動すること（例えば、ユーザアクションに応じて、ＣＡＤシステムと対話することによって）、及び自動的に（例えば、ＣＡＤシステムによって）、組のすべてのオブジェクトに動作を適用すること（例えば、実質的に）、及び／又は（例えば、実質的に）同時に行うことからなる。Ｂ−ｒｅｐのエッジを丸めたり埋めたりすると、検出された機能の形状をなめらかにすることができる。これは、機械加工工程におけるフライス工具、成形工程における成形行列、穿孔加工工程における回転切削工具、旋盤工程における非回転切削工具、鍛造プロセスにおけるハンマー又はダイ、プレス加工工程におけるスタンピングプレス、及び／又はプレスブレーキ、又は折りたたみ曲げ工程におけるフォルダ又はパネルベンダなどの機械部品の加工工程における製造工具の容易な適用に適合された幾何学的形状検出特徴を与える。
【００９４】
例では、第２の組の面が１つ又は複数の基本部分集合間の接続を形成する。これらの例では、提供される特徴タイプが窪み特徴タイプである場合、基本部分集合は以下のとおり（例えば、以下のように定義される）である。
・突起部エッジ又は丸い面のみによって境界付けられ、突起内部エッジ及び丸い面を含まず、滑らかなスキン又は窪み突起基準を満たす滑らかなスキンのいずれも含まない、１つ又は複数の面の接続された組。
追加的に又は代替的に、提供される特徴タイプが突起特徴タイプである場合、基本部分集合は以下のとおり（例えば、以下のように定義される）である。
・１つ以上の面の連結された組であって、窪み部エッジ部又はフィレット面のみによって境界付けられ、窪み部内部エッジ及びフィレット面を含まず、
・平滑なスキン又は窪み突起基準を満たす平滑なスキンのいずれも含まない。
【００９５】
例では、１つ又は複数の基本部分集合が２つ又は複数の基本部分集合を含む。
【００９６】
本方法はより大きな面の集合（すなわち、第１の面の集合）内のいくつかの基本部分集合を認識することを可能にする点で特に効率的である。反対に、基本部分集合の一部であり、基本部分集合を識別するために初期面の隣接面を反復して訪れることを試みる初期面から開始する方法は、突起エッジ又は丸い面（窪み認識の場合）又は窪みエッジ又は丸いエッジ（突起認識の場合）を横切るときにブロックすることができる。したがって、このような方法は、せいぜい１つの基本部分集合を認識するのであろう。さらなる基本部分集合を認識するには、他の初期面から開始し、隣接する面を再び見直す必要があり、これは効率性に欠ける。しかし、内部突起（例：窪み）エッジや丸い（例：フィレット）面は、いくつかの素部分集合の認識を妨げないので、本方法は非常に効率的である。さらに、いくつかの初期開始面を選択することは、本方法による第１の組の面を提供するステップＳ２０ほど人間工学的ではない。さらに、本方法は、基本部分集合間の接続を認識することを可能にする。
【００９７】
提供される特徴タイプが窪み特徴タイプである場合、基本部分集合は「基本窪み」又は「基本窪みを表す」と呼ばれることがあり、さらに、又は代替として、提供される特徴タイプが突起特徴タイプである場合、基本部分集合は「基本突起」又は「基本突起を表す」と呼ばれることがある。
【００９８】
次に、窪み突起基準及び窪み突起基準について説明する。
【００９９】
例では突起（又は窪み）エッジ又はラウンド（フィレット）面によって境界付けされ、突起（又は窪み）内部エッジを含まず、ラウンド（又はフィレット）面を含まない滑らかなスキンは滑らかなスキンがＢ−ｒｅｐの内向きに対して相対的に窪み（又は突起）である場合、窪み（又は突起）基準を守る。例として、なめらかなスキンが１つのフィレット（又はラウンド）面である場合、又は、なめらかなスキンのすべての内エッジを抑制し、なめらかなスキンのすべての面を融合することによって得られる面がフィレット（又はラウンド）面である場合、なめらかなスキンは比較的内側に窪み部（又は突起）になる。
【０１００】
例では滑らかなスキンが平滑なままでその法線ベクトルの方向に任意にオフセットされることができない場合、突起エッジ又は丸い面のみによって境界付けられ、突起内部エッジ及び丸い面を含まない滑らかなスキンは窪み突起基準を満たす。代替的に又は追加的に、窪み部エッジ部又はフィレット面のみによって境界付けられ、窪み部内部エッジ及びフィレット面を含まない滑らかなスキンは滑らかなスキンがその法線ベクトルの反対方向に任意にオフセットされることができず、その一方で滑らかなままである場合に、窪み突起基準を満たす。
【０１０１】
言い換えれば、例では、突起エッジ又は丸い面のみによって境界付けられ、突起内部エッジを含まず、丸い面を含まない滑らかなスキンをフセットが滑らかでないように、その法線ベクトルの方向に滑らかなスキンのオフセットが存在する場合、窪み突起基準を満たす。代替的に又は追加的に、窪み部エッジ部又はフィレット面のみによって境界付けられ、窪み部内部エッジ及びフィレット面を含まない滑らかなスキンをフセットが滑らかでないように、その法線ベクトルの反対方向に滑らかなスキンのオフセットが存在する場合に、窪み突起基準を満たす。
【０１０２】
したがって、本方法は、滑らかなスキンである基本的な窪み（又は窪み）の認識を可能にする。
【０１０３】
図２２はそれぞれ３つの滑らかなスキン２２２、２２４及び２２６からなるＢ−ｒｅｐの３つの例を示しており、それぞれが突起エッジ又は丸面のみに境界され、突起の内部エッジがなく、ラウンド面が全くないことを含んでいる。各滑らかなスキン２２２、２２４、２２６は提供される特徴タイプが窪み特徴タイプ、換言すれば、基本窪みである場合に、各滑らかなスキン２２２、２２４、２２６が基本部分集合であるように、窪み基準を尊重する。
【０１０４】
次に、窪み突起基準及び窪み突起基準の例について説明する。
【０１０５】
これらの例では、滑らかなスキンが滑らかなパラメータ化表面を形成する。パラメータ化された表面は、マッピング
【数６】
2020129366.tif 000008
である。偏導関数の外積
【数７】
2020129366.tif 000009
がゼロにならない場合、法線ベクトル
【数８】
2020129366.tif 000010
は、正規化された外積によって定義される。
【数９】
2020129366.tif 000011
【０１０６】
表Ｓ面の自己交点は、以下のようなパラメータ値のペア
【数１０】
2020129366.tif 000012
であり、
【数１１】
2020129366.tif 000013
である。定義によれば、表面はその法線ベクトルが全ての
【数１２】
2020129366.tif 000014
に対して明確に定義され、
【数１３】
2020129366.tif 000015
においていかなる自己交点を特徴としない場合には、規則的（例えば、滑らか）である。規則的な表面Ｓと実数
【数１４】
2020129366.tif 000016
が与えられたとき、表面Ｓからの距離δにおけるオフセット表面Ｐは次式で定義される。
【数１５】
2020129366.tif 000017
明らかに、もしδ＝０であれば、
【数１６】
2020129366.tif 000018
である。オフセット面Ｐ＝Ｓ＋δＮが規則的な面となるような数δ＞０の集合を
【数１７】
2020129366.tif 000019
とする。組
【数１８】
2020129366.tif 000020
はδ＝０を含むため空ではない。
【数１９】
2020129366.tif 000021
の上限を
【数２０】
2020129366.tif 000022
とする。
【数２１】
2020129366.tif 000023
である。これは、如何なる
【数２２】
2020129366.tif 000024
に対しても、オフセット表面Ｐ＝Ｓ＋δＮは規則的な表面であることを意味する。慣例により、Ｐ＝Ｓ＋δＮが全てのδ≧０に対して規則的な表面である場合、
【数２３】
2020129366.tif 000025
は無限大（
【数２４】
2020129366.tif 000026
）である。オフセット面はδ≧０を考慮することによってその法線ベクトルの反対側にも定義され、すなわち、
【数２５】
2020129366.tif 000027
である。集合
【数２６】
2020129366.tif 000028
オフセット面Ｑ＝Ｓ−δＮが規則的な面となるような数δ≧０の集合であり、
【数２７】
2020129366.tif 000029
は、同じ無限大の慣習により
【数２８】
2020129366.tif 000030
の上限である。これらの例では滑らかなスキンが規則的な表面Ｓ（
【数２９】
2020129366.tif 000031
である）である場合、突起部エッジ又は丸い面のみによって境界付けられ、突起内部エッジを含まず、丸い面を含まない滑らかなスキンは窪み状基準を満たす。これらの例では、滑らかなスキンが規則的な表面Ｓ（
【数３０】
2020129366.tif 000032
である）である場合、窪み部エッジ部又はフィレット面のみによって境界付けられ、窪み部内部エッジ及びフィレット面を含まない滑らかなスキンは突起基準を満たす。
【０１０７】
図２３は基本的な窪みを表し、２つの垂直壁面、２つのフィレットコーナー面、及び水平底面から作られたＵ字形の滑らかなスキンを示し、したがってコーナーフィレットの共通半径である。
【数３１】
2020129366.tif 000033
は複数のコーナーフィレットに共通の半径である。Ｕ字形は任意に方向-Ｎをずらすことができるので、
【数３２】
2020129366.tif 000034
である。図２４では、
【数３３】
2020129366.tif 000035
オフセットが実行されている。Ｕ形状スキンを
【数３４】
2020129366.tif 000036
の範囲でオフセットすると、図２４に示すように、規則的な別のＵ形状スキンが得られる。Ｕ字形のスキンを
【数３５】
2020129366.tif 000037
の範囲でオフセットすると、図２５に示すように、自己交差点と鋭いエッジを特徴とする単一のスキンが得られる。実装の観点からは、
【数３６】
2020129366.tif 000038
は表面Ｓのサンプリングを使用し、通常の曲率半径を計算することによって計算される。これは、古典的な微分幾何学から周知である（例えば、M.Pdo Carmo、Differential Geometry of Curves and Surfaces、Prentice Hall,1976を参照のこと）。
【０１０８】
ここで、接続の概念について説明する。
【０１０９】
例では、１つ又は複数の基本部分集合間の接続が１つ又は複数の基本部分集合を含む面の接続された組である。例では、１つ又は複数の基本部分集合のすべての面の組が面の切断された組である。これらの例では、１つ又は複数の基本部分集合間の接続が１つ又は複数の基本部分集合と、１つ又は複数の基本部分集合を接続する１つ又は複数の追加の面とを含む面の接続された組、すなわち、１つ又は複数の基本部分集合のすべての面の組に追加され、それを接続されたものにする１つ又は複数の追加の面である。例では、１つ又は複数の追加の面の各面がどの候補基本部分集合にも属さない。例では、１つ又は複数の基本部分集合のすべての面の組が面の接続された組である。
【０１１０】
例では２組の面の間のインターフェースが２組及び／又は１組の１つ又は複数の面によって共有される１つ又は複数のエッジからなり、１つ又は複数の面の組は２組のそれぞれに隣接する。２つの組はインターフェースを共有する場合、つまり、２つの組間にインターフェースが存在する場合に接続される。これらの例において、第２の一組の面は各基本部分集合に対して、基本部分集合と別の基本部分集合との間に少なくとも一つのインターフェースが存在するとき、二つ以上の基本部分集合間の接続を形成する。言い換えると、基本部分集合は少なくとも別の基本部分集合に接続されている。そして、前記少なくとも１つのインターフェースの面はもしあれば、第２の組の面に含まれる。すべての基本部分集合のすべての面も、第２の面集合に含まれる。例では１つ又は複数の基本部分集合が正確に１つの基本部分集合からなり、第２の面の組は単に前記１つの基本部分集合からなる。
【０１１１】
例では、第２の組の面が第１の組のすべての基本部分集合を含む。
【０１１２】
これらの例では、第１の組内のすべての基本部分集合が認識するステップＳ３０中に識別され、及び／又は見つけられる。例えば、最初の面の組をＳ１  とし、２  番目の面の組をＳ２とする。その場合、集合
【数３７】
2020129366.tif 000039
には基本部分集合が含まれない。したがって、本方法はすべての基本部分集合を識別（例えば、検出、例えば、認識）し、したがって、非常に効率的である。例では、第１の面の組内の基本部分集合の組（例えば、リスト）は一意である。言い換えれば、これらの例では、基本部分集合の面が基本部分集合の異なる組（例えば、リスト）を形成するようにソートすることができない。
【０１１３】
例では、各基本部分集合が少なくとも１つの他の基本部分集合に接続される。これらの例では、２つの基本部分集合は、それらが所定のエッジタイプのエッジのみ、又は所定の面タイプの面のみのいずれかを共有する場合に接続される。提供された特徴タイプが窪み特徴タイプである場合、所定のエッジタイプは突起エッジタイプであり、所定の面タイプは丸面タイプである。提供する特徴タイプが突起特徴タイプの場合、所定のエッジタイプが窪みエッジタイプ、所定の面タイプがフィレット面タイプとなる。
【０１１４】
本方法はこのように、窪み特徴（又は突出特徴）を表す面を認識し、接続が内部突起（又は窪み）エッジ又はラウンド（又はフィレット）面を含む場合であっても、素部分集合間の接続を形成することを可能にする。本方法はこのように、認識するステップＳ３０が内部エッジ又は面によってブロック（例えば、停止）されないという点で非常に効率的である。例では、内部の突起（又は窪み部）エッジ又はラウンド（又はフィレット）面を含む基本部分集合間の接続が複雑な窪み（又は突起）を表す。図２１はＢ−ｒｅｐ２１２、２１４、２１６、２１８の４つの例を示しており、各Ｂ−ｒｅｐが複雑な不況を表す面の組を示している。前記面の組は明確にするために、点線の長方形２１２２、２１４２、２１６２、及び２１８２にそれぞれ包含されて示されている。本方法は、複雑な窪み（又は突起）を認識することを可能にする。例えば、Ｂ−ｒｅｐ２１２、２１４、２１６、２１８に代表されるような複雑な窪みは、本方法によって検出することができる。
【０１１５】
例では、エッジ種類及び／又は面種類が認識するステップＳ３０に含まれる１つ又は複数のアルゴリズムの１つ又は複数のパラメータとすることができるという点で、事前に決定される。これらの例では、これらの１つ又は複数のパラメータが特徴タイプを提供するステップＳ２０の結果として指定（例えば、組）され得る。例えば、特徴タイプを提供するステップＳ２０は提供された特徴タイプの特徴の検出のために、エッジタイプ及び／又は面タイプの指定を自動的にトリガすることができる。さらに、又は代替として、所定のエッジ種類及び／又は面種類は、特定の突起（又は陥窪み特徴）を認識するステップＳ３０に関与する１つ又は複数のアルゴリズムに具体的に含まれてもよい。
【０１１６】
例では、基本部分集合が提供された特徴タイプの基本特徴、すなわち、基本突起又は基本窪みを表す。これらの例では、基本特徴がそれ自体の特徴、すなわち機械的機能を実行する材料のレイアウト、又は特徴の一部、すなわち特徴である材料のレイアウト（例えばその一部）のサブレイアウトのいずれかである。これらの例では、２つ以上の基本特徴からなる特徴が提供される特徴タイプの複雑な特徴である（したがって、複雑な窪み又は複雑な突起）。
【０１１７】
前述のように、特徴は、１つ又は複数の基本ジオメトリの組合せであるジオメトリを有することができる。例では、基本特徴を形成する材料のレイアウトが１つの基本ジオメトリに対応し、及び／又はそれによって表され、及び／又はそれによって形成される。例では、２つ以上の基本特徴からなる複雑な特徴の幾何学的形状が２つ以上の基本特徴の基本幾何学的形状を組み合わせることによって得られる。
【０１１８】
面の第２の設定が正確に１つの基本部分集合からなる例では、前記基本部分集合の面によって表される特徴が基本特徴であってもよい。言い換えれば、前記基本部分集合は、基本特徴の基本ジオメトリをモデル化及び／又は表現するＢ-ｒｅｐの一部に対応することができる。
【０１１９】
第２の組の面が２つ以上の基本特徴間の接続を形成する例では、第２の組の面によって表される特徴が２つ以上の基本部分集合のうちの１つによってそれぞれ表される２つ以上の基本特徴からなる複雑な特徴であってもよい。各基本部分集合は、基本部分集合によって表される基本特徴の基本ジオメトリをモデル化及び／又は表すＢ-ｒｅｐの一部に対応することができる。第２の組の面によって形成される接続は、複雑な特徴の形状を形成する２つ以上の基本特徴の基本形状の組み合わせを表すことができる。
【０１２０】
例えば、複雑な特徴はいくつかの組又は基本特徴のグループから成り、各組は基本特徴から成るか、又は基本特徴の間の接続から成り、組はひとつずつ分離される（すなわち、複雑な特徴は、組間又はそれらのいくつかの間の接続に対応しない）。したがって、このような例では、本方法が基本特徴組のそれぞれ１つを形成する各第２の面の組を認識することを可能にする。したがって、本方法を反復することにより、いくつかの組からなる複雑な特徴を認識することが可能になる。
【０１２１】
したがって、本方法は、基本特徴及び複雑な特徴の両方の認識を可能にする。特に、内部の突起（又は窪み部）エッジ及び／又は丸い（又はフィレット）面を特徴とする複雑な窪み（又は突起）が、本方法によって検出される。
【０１２２】
ここで、認識するステップＳ３０の例について説明する。
【０１２３】
例では、認識するステップＳ３０が１つ又は複数の候補基本部分集合を決定するステップＳ３１０を含む。提供される特徴タイプが窪み特徴タイプである場合、候補基本部分集合は突起エッジ又は丸い面のみによって境界付けられ、突起内部エッジ及び丸い面を含まない１つ又は複数の面の接続された組である（例えば、と定義される）。代替的に又は追加的に、提供される特徴タイプが突起特徴タイプである場合、候補基本部分集合は窪み部エッジ又はフィレット面のみによって境界付けられ、窪み部内部エッジ及びフィレット面を含まない１つ又は複数の面の接続された組である（例えば、と定義される）。１つ以上の候補基本部分集合を決定するステップＳ３１０は、各々が正確に１つの候補基本部分集合に属する面と、候補基本部分集合に属しない面とに分割する。これらの例では、認識するステップＳ３０が決定された候補基本部分集合の中から１つ又は複数の基本部分集合を識別するステップＳ３２０をさらに含む。
【０１２４】
Ｓ３１０で、１つ又は複数の候補基本部分集合を決定することは、面の第１の組内で、候補基本部分集合の定義をそれぞれ検証する面のすべての部分集合を検索することを含む（前記定義は上記で書かれたように、提供された特徴タイプに依存することに留意されたい）。１つ又は複数の候補基本部分集合を決定するステップＳ３１０は前記面の部分集合に対応するデータを出力するステップ、及び／又は前記面の部分集合のそれぞれ１つに対応するデータが格納されているそれぞれのメモリ空間をそれぞれポインティングするそれぞれのポインタを提供するステップも含むことができる。一つ以上の候補基本部分集合を決定するステップＳ３１０は、一つ以上の候補基本部分集合を決定するステップＳ３１０の結果として、面の集合の各面が正確に一つの候補基本部分集合に属するか、又は候補基本部分集合に属しないという点で、面の第１の集合を分割する。例では、第１の組の面のそのような区画は一意である。
【０１２５】
候補エレメンタリ部分集合はエレメンタリ部分集合の定義を部分的に検証する１つ又は複数の面の接続された組である（やはり、前記定義は上述したように、提供された特徴タイプに依存する）。具体的には提供される特徴タイプが窪み特徴タイプ（又は突出特徴タイプ）である場合、基本部分集合は非滑らかなスキン、又は窪み面（又は窪み突起）基準を満たす滑らかなスキンである候補基本部分集合である。言い換えれば、全ての候補基本部分集合の組は、全ての基本部分集合の組を含む。例において、すべての候補基本部分集合の集合は厳密にすべての基本部分集合の集合を含み、これは二つの集合が等しくないことを意味する。
【０１２６】
決定候補基本部分集合の中の１つ又は複数の基本部分集合を識別するステップＳ３２０は各候補基本部分集合について、提供された特徴タイプが窪み特徴タイプ（又は突出特徴タイプ）である場合、候補基本部分集合が窪み突起基準（又は窪み突起基準）を満たす非滑らかなスキン又は滑らかなスキンである場合、それを保持し、窪み突起（又は窪み突起）基準を満たさない滑らかなスキンである場合、それを廃棄するステップを含む。例では、ファセットの部分集合を保持することは部分集合に対応するデータを出力すること、及び／又は部分集合に対応するデータが格納されるメモリ空間を指すポインタを提供することを含む。
【０１２７】
第２の組の面を認識するステップＳ３０は、１つ又は複数の基本部分集合、すなわちそれらのすべてを認識するステップを含む。基本部分集合の定義は検証するために、候補基本部分集合の定義よりも多くの要件を満たさなければならない。言い換えると、必要な検証が少ないため、候補基本部分集合は、基本部分集合よりも容易かつ迅速に識別できる。したがって、すべての基本部分集合を直接認識する代わりに、本方法はまず、基本部分集合の定義を部分的に検証するすべての部分集合（すなわち、候補基本部分集合）を認識し、これは、定義全体が検証されることをチェックするよりも容易であり、（基本部分集合の定義の少なくとも一部に準拠しないので）基本部分集合の一部である可能性が全くない面（候補基本部分集合に含まれない第１の組の面）を破棄する。Ｓ３２０において、基本部分集合の識別は第１の面の集合（すなわち、全ての候補基本部分集合からなる集合）よりも（例えば、厳密に）小さい面の集合（すなわち、全ての候補基本部分集合からなる集合）上で実行されるので、第２に、この面の集合上では、基本特徴の定義の一部のみが検証されるべきままであるので、より容易かつ迅速である。言い換えると、本方法は１つの長く困難なステップで全ての基本部分集合を認識する代わりに、２つのより短いより容易なステップで全ての基本部分集合を認識する。したがって、本方法は非常に効率的である。
【０１２８】
次に、１つ又は複数の候補基本部分集合を決定するステップＳ３１０の例について説明する。
【０１２９】
例では、１つ又は複数の候補基本部分集合を決定するステップＳ３１０が第１の組の面を繰り返し訪問することを含む。面を訪れることは、面が候補基本部分集合に含まれるべきかどうかを決定することを含む。面を訪問することは、面が候補基本部分集合に含まれるべきである場合、基本部分集合内の面を含むことと、面が再び訪問されるべきでないことを決定することとをさらに含む。
【０１３０】
第１の組の面を繰り返し訪問することは、第１の組の面が一度に１つずつ（例えば、１つずつ）訪問され、最後に、第１の組のすべての面が訪問されたことを手段する。面が訪問されるたびに、面は１つの唯一の候補基本部分集合に含まれ、この場合、面は別の候補基本部分集合に含まれることができないか、又は面が訪問されたときに候補基本部分集合に含まれない。面が候補基本部分集合に含まれる場合、（候補基本部分集合の定義によって）別の候補基本部分集合の一部ではないので、面は再び訪れてはならないと決定される。このようにして、１つ以上の候補基本部分集合を決定するステップＳ３１０は候補基本部分集合と、他の候補基本部分集合にも属さない他のファセットとの間のファセットの第１の組を効率的に区分する。なぜならば、候補基本部分集合が決定されるたびに、候補基本部分集合の次の決定のために訪れるべきファセットは、より小さいからである。したがって、本方法は非常に効率的である。
【０１３１】
一例では１つ又は複数の候補基本部分集合を決定するステップＳ３１０の前に、第１の面の組のすべての面が「未訪問」とマークされる（例えば、ラベル付けされる）これらの例では決定Ｓ３１０が第１の面の組の面を反復して訪れるアルゴリズムを実行することを含む。アルゴリズムが第１の面の組の最初の面を訪れることから開始し、最初の面は「訪問」とマーク付けされる。面を「訪問」とマーク付けすることは面がアルゴリズムによって再び訪問されないことを決定することである。最初の面は第１の面の組の面の中からランダムに選択されてもよい（例えば、選択されてもよく、例えば、アルゴリズムに提供されてもよい）。次いで、アルゴリズムは全ての隣接する面を初期面に繰り返し訪れ、初期面と所定のタイプのエッジを共有するか、又は初期面と滑らかなエッジを共有し、所定の面タイプではない全ての隣接する面を収集する。提供される特徴タイプが窪み特徴タイプ（例：突起特徴タイプ）である場合、所定の面タイプは丸（例：フィレット）面タイプであり、所定のエッジタイプは窪み部（例：突起）エッジタイプである。収集されたすべての隣接面は、「訪問」とマークされる。その後、アルゴリズムは先に収集された隣接面と所定のタイプのエッジを共有するか、先に収集された隣接面と滑らかなエッジを共有し、先に収集された隣接面タイプではなく、新たに収集された面が「訪問」とマークされる、などのいずれかを行う、先に収集された各隣接面のすべての隣接面を収集する。したがって、アルゴリズムは隣接する面の反復収集を実行し、その結果、初期面を含む候補基本部分集合が識別される。候補基本部分集合は正確に最初の面からなる、すなわち、隣接する面が収集されないことが可能である。次に、アルゴリズムは第１の組の面の未訪問の面（すなわち、「未訪問」とマークされた面）を訪問し、第１の組のすべての面が「訪問済み」とマークされるまで、前記未訪問の面の隣接する面の反復収集を再実行し、以下同様である。
【０１３２】
次に、１つ又は複数の候補基本部分集合を決定するステップＳ３１０の実装について説明する。この実施形態では、提供される特徴タイプが窪み特徴タイプである。決定Ｓ３１０は、提供された第１の組の面上で伝搬アルゴリズムを実行することを含む。第１の組の面をＦとし、候補基本特徴の数をｎとする。伝搬アルゴリズムは、以下の擬似コードによって記述される。
【数３８】
2020129366.tif 000040
【０１３３】
関数ElemDepression(f)は、突起エッジ又は丸い面に到達するまで、最初の面の隣接する面ｆを繰り返し訪問することである。この伝搬アルゴリズムは、後入れ先出し（ＬＩＦＯ）リストＨ及び出力リストＥを使用する。ＬＩＦＯリストは、伝搬のための内部データ構造である。これは、標準的な命令Ｐｕｓｈ（・）、Ｐｏｐ（・）、及びＳｉｚｅによって使用される。命令Ｐｕｓｈ（ｘ）はリストの上にオブジェクトｘを追加し、そのサイズをインクリメントする。命令Ｐｏｐ（ｘ）はリストの最後のオブジェクトｘを生成し、リストから削除し、そのサイズをデクリメントする。出力リストＥは、入力面で開始された候補基本部分集合の面を含む。関数ElemDepression(f)については、以下の擬似コードで説明する。
【数３９】
2020129366.tif 000041
次に、図２６及び２７を参照して、上記伝搬アルゴリズムの適用例を説明する。図２７は、ステップＳ１０において提供されたＢ−ｒｅｐを示す。点線の矩形内に完全に含まれる面は、第１の組の面の面である。第１の組の面を提供（Ｓ２０）するために、ユーザは、Ｂ−ｒｅｐが表示されるＣＡＤシステムのディスプレイ上に点線の長方形を描いている。明確にするために、第１の組の面の面には、すなわち図２８に示すように、
【数４０】
2020129366.tif 000042
と番号が付されている。これらが選択されているにもかかわらず、面１１、１２及び１３は、右図に示すように見ることが困難であることに留意されたい。伝搬アルゴリズムは、候補基本部分集合の以下のリストを決定する（Ｓ３１０）。
【数４１】
2020129366.tif 000043
この例では、Ｌ２及びＬ３が滑らかなスキンではなく、Ｌ４が窪み突起基準を満たす滑らかなスキンであるため、候補基本部分集合Ｌ２、Ｌ３、及びＬ４が基本部分集合として識別される（Ｓ３２０）。これは、窪み突起基準を満たさない滑らかなスキンであるため、Ｌ１は廃棄される。
【０１３４】
次に、１つ又は複数の候補基本部分集合を決定するステップＳ３１０の別の実施形態について説明する。この実施形態では、提供される特徴タイプが突起特徴タイプである。決定Ｓ３１０は、提供された第１の組の面上で伝搬アルゴリズムを実行することを含む。第１の組の面をＦをとし、候補基本特徴の数をｎとする。伝搬アルゴリズムは、以下の擬似コードによって記述される。
【数４２】
2020129366.tif 000044
【０１３５】
関数ElemProtrusion(f)は、窪み状エッジ部又はフィレット面に到達するまで、初期面ｆの隣接面を繰り返し訪れることである。この伝搬アルゴリズムは、後入れ先出し（ＬＩＦＯ）リストＨ及び出力リストＥを使用する。ＬＩＦＯリストは、伝搬のための内部データ構造である。これは、標準的な命令Ｐｕｓｈ（・）、Ｐｏｐ（・）、及びＳｉｚｅによって使用される。命令Ｐｕｓｈ（ｘ）はリストの上にオブジェクトｘを追加し、そのサイズをインクリメントする。命令Ｐｏｐ（ｘ）はリストの最後のオブジェクトｘを生成し、リストから削除し、そのサイズをデクリメントする。出力リストＥは、入力面ｆで開始された候補基本部分集合の面を含む。関数ElemProtrusionについては、以下の擬似コードで説明する。
【数４３】
2020129366.tif 000045
【０１３６】
例では、上記の２つの実装形態の２つの伝搬アルゴリズムのそれぞれは提供される特徴タイプに特にリンクされ、すなわち、１つの特徴タイプに対して正確に１つの伝搬アルゴリズムが作成される。例では伝搬アルゴリズムが両方の特徴タイプについて同じであるが、関数ElemProtrusion又はElemDepressionは、伝搬アルゴリズムのパラメータの２つの異なるインスタンスであり、前記パラメータは特徴タイプを提供するステップＳ２０の結果として設定される（例えば、指定される）。
【０１３７】
図２８は、滑らかなスキンが候補基本部分集合であるか否かを判定するステップＳ３１０と、候補基本部分集合が基本部分集合であるか否かを識別するステップＳ３２０との実施を示すフローチャートを示す。
【０１３８】
例では、認識するステップＳ３０が識別された基本部分集合を結合するステップＳ３３０を含む。提供される特徴タイプが窪み特徴タイプである場合、２つの基本部分集合はそれらが突起エッジ部のみを共有する場合、又はそれらが１つ以上の丸い面の同じ組に隣接する場合に結合され、その場合、１つ以上の丸い面は２つの基本部分集合と結合される。付加的に、又は代替的に、提供される特徴タイプが窪み特徴タイプである場合、２つの基本部分集合はそれらが窪みエッジのみを共有する場合、又はそれらが１つ以上のフィレット面の同じ組に隣接する場合、組み合わされ、その場合、１つ以上のフィレット面は２つの基本部分集合と組み合わされる。
【０１３９】
基本部分集合を結合するステップＳ３３０は、第２の組の面である全ての基本部分集合間の接続を形成することを含む。言い換えると、基本部分集合を組み合わせることにより、第２の組の面が形成され、及び／又は出力される。接続を形成することは、接続されるべき各２つの基本部分集合、すなわち、所定のエッジタイプのエッジのみ、又は所定の面タイプの面のみのいずれかを共有する２つの部分集合の間に各インターフェースを形成すること（例えば、反復的に、例えば、１つずつ）を含む。
【０１４０】
例では、結合するステップＳ３３０が面の組のすべての面がマージされて、第２の面の組に対応するデータを形成することにある。例では、認識するステップＳ３０の結果として、第２の面の組のすべての面に相対的なすべてのデータが格納されるメモリ空間を指すポインタが存在する。
【０１４１】
先に図２６及び２７を参照して説明した例では、基本部分集合Ｌ３及びＬ４が、突起エッジ部のみを共有するので、部分集合
【数４４】
2020129366.tif 000046
に結合される。加えて、丸い面４及び５を共有するので、Ｃ１及びＬ２が組み合わされて、第２の組の面
【数４５】
2020129366.tif 000047
を生じる。
【図１】
2020129366.tif 000048
【図２】
2020129366.tif 000049
【図３】
2020129366.tif 000050
【図４】
2020129366.tif 000051
【図５】
2020129366.tif 000052
【図６】
2020129366.tif 000053
【図７】
2020129366.tif 000054
【図８】
2020129366.tif 000055
【図９】
2020129366.tif 000056
【図１０】
2020129366.tif 000057
【図１１】
2020129366.tif 000058
【図１２】
2020129366.tif 000059
【図１３】
2020129366.tif 000060
【図１４】
2020129366.tif 000061
【図１５】
2020129366.tif 000062
【図１６】
2020129366.tif 000063
【図１７】
2020129366.tif 000064
【図１８】
2020129366.tif 000065
【図１９】
2020129366.tif 000066
【図２０】
2020129366.tif 000067
【図２１】
2020129366.tif 000068
【図２２】
2020129366.tif 000069
【図２３】
2020129366.tif 000070
【図２４】
2020129366.tif 000071
【図２５】
2020129366.tif 000072
【図２６】
2020129366.tif 000073
【図２７】
2020129366.tif 000074
【図２８】
2020129366.tif 000075
【図２９】
2020129366.tif 000076
【外国語明細書】
2020129366.tif 000077
2020129366.tif 000078
2020129366.tif 000079
2020129366.tif 000080
2020129366.tif 000081
2020129366.tif 000082
2020129366.tif 000083
2020129366.tif 000084
2020129366.tif 000085
2020129366.tif 000086
2020129366.tif 000087
2020129366.tif 000088
2020129366.tif 000089
2020129366.tif 000090
2020129366.tif 000091
2020129366.tif 000092
2020129366.tif 000093
2020129366.tif 000094
2020129366.tif 000095
2020129366.tif 000096
2020129366.tif 000097
2020129366.tif 000098
2020129366.tif 000099
2020129366.tif 000100
2020129366.tif 000101
2020129366.tif 000102
2020129366.tif 000103
2020129366.tif 000104
2020129366.tif 000105
2020129366.tif 000106
2020129366.tif 000107
2020129366.tif 000108
2020129366.tif 000109
2020129366.tif 000110
2020129366.tif 000111
2020129366.tif 000112
2020129366.tif 000113
2020129366.tif 000114
2020129366.tif 000115
2020129366.tif 000116
2020129366.tif 000117
2020129366.tif 000118
2020129366.tif 000119
2020129366.tif 000120
2020129366.tif 000121
2020129366.tif 000122
2020129366.tif 000123
2020129366.tif 000124
2020129366.tif 000125
2020129366.tif 000126
【図１】
2020129366.tif 000127
【図２】
2020129366.tif 000128
【図３】
2020129366.tif 000129
【図４】
2020129366.tif 000130
【図５】
2020129366.tif 000131
【図６】
2020129366.tif 000132
【図７】
2020129366.tif 000133
【図８】
2020129366.tif 000134
【図９】
2020129366.tif 000135
【図１０】
2020129366.tif 000136
【図１１】
2020129366.tif 000137
【図１２】
2020129366.tif 000138
【図１３】
2020129366.tif 000139
【図１４】
2020129366.tif 000140
【図１５】
2020129366.tif 000141
【図１６】
2020129366.tif 000142
【図１７】
2020129366.tif 000143
【図１８】
2020129366.tif 000144
【図１９】
2020129366.tif 000145
【図２０】
2020129366.tif 000146
【図２１】
2020129366.tif 000147
【図２２】
2020129366.tif 000148
【図２３】
2020129366.tif 000149
【図２４】
2020129366.tif 000150
【図２５】
2020129366.tif 000151
【図２６】
2020129366.tif 000152
【図２７】
2020129366.tif 000153
【図２８】
2020129366.tif 000154
【図２９】
2020129366.tif 000155