(57)【要約】      （修正有）【課題】ＣＡＤシステムを使って機械部分を表す３Ｄモデル化オブジェクトを設計する方法を提供する。【解決手段】機械部分を設計するための改善された方法は、機械部分を表すＢ-ｒｅｐを提供することを含む。当該Ｂ-ｒｅｐは、面、エッジおよび頂点を有し、鋭いエッジを提供することを含む。さらに、ＣＡＤシステムによってエッジの集合を自動的に識別することを含む。エッジの集合は、提供された鋭いエッジを含む。エッジの集合における各第１のエッジは、エッジの集合における少なくとも１つの第２のエッジと同じ向きであり、第１のエッジと第２のエッジは面を共有する。ＣＡＤシステムによって前記エッジの集合のうちの鋭いエッジを自動的に選択することをさらに含む。【選択図】図１
2020115335.tif 000002
【特許請求の範囲】
【請求項１】
ＣＡＤシステムを使って機械部分を表す３Ｄモデル化オブジェクトを設計するための、コンピュータで実施される方法であって、
前記機械部分を表すＢ−ｒｅｐであって、面と、エッジと、頂点とを有するＢ−ｒｅｐを提供することと、
鋭いエッジを提供することと、
前記ＣＡＤシステムよって自動的に、
前記提供された鋭いエッジを含むエッジの集合を識別することであって、前記エッジの集合における各第１のエッジは前記エッジの集合における少なくとも１つの第２のエッジと同じ向きであり、前記第１のエッジと前記第２のエッジとは面を共有する、識別することと、
前記エッジの集合のうちの鋭いエッジを選択することと、を含む
ことを特徴とする方法。
【請求項２】
２つのエッジの角度が所定の閾値より小さい場合、前記２つのエッジは同じ向きであることを特徴とする、請求項１に記載の方法。
【請求項３】
前記所定の閾値は、前記機械部分の製造プロセスの関数であることを特徴とする、請求項２に記載の方法。
【請求項４】
前記機械部分は、
最大抜き角度を有する成形または鍛造部分であり、前記所定の閾値は前記最大抜き角度に基づく、または
最大機械加工傾斜角度を有する機械加工部分であり、前記所定の閾値は前記最大機械加工傾斜角度に基づく、
ことを特徴とする、請求項３に記載の方法。
【請求項５】
前記所定の閾値は２０°、１５°または１０°より小さいことを特徴とする、請求項３または４の方法。
【請求項６】
前記エッジの集合は、当該エッジの集合に沿って定義された機械部分の外側表面部に対応する形状を機械加工するためのカッティングツールの１つまたは複数の経路を表すことを特徴とする、請求項１〜５のいずれか１つに記載の方法。
【請求項７】
本方法は同じフィレットまたはラウンド操作を前記選択された鋭いエッジに適用することをさらに含むことを特徴とする、請求項６に記載の方法。
【請求項８】
前記フィレットまたはラウンド操作の半径は、前記カッティングツールの半径に対応することを特徴とする、請求項７に記載の方法。
【請求項９】
前記機械部分は、
機械加工部分、
成形部分、
成形製造プロセスのための機械加工された金型、
鍛造部分、および／または
鍛造製造プロセスのための機械加工された鍛造マトリクスである
ことを特徴とする、請求項１〜８のいずれか１つに記載の方法。
【請求項１０】
前記エッジの集合は、
質量低減機構、
空間確保機構、
固定機構、
締め機構、
調節機構、
機械接合機構、
冷却機構、
硬化機構、
位置決め機構、および／または
すべての機械加工および穿孔された突起機構のためのサポート
に対応することを特徴とする、請求項１〜９のいずれか１つに記載の方法。
【請求項１１】
前記選択された鋭いエッジのそれぞれは、前記提供された鋭いエッジと同一の隣接凸状を有することを特徴とする、請求項１〜１０のいずれか１つに記載の方法。
【請求項１２】
エッジの前記隣接凸状は、端頂点の凸状型の対であり、
エッジの端頂点は、当該端頂点を共有するすべてのエッジが凹状のエッジである場合、凸型を有し、
エッジの端頂点は、当該端頂点を共有するすべてのエッジが凸状のエッジである場合、凸型を有し、
エッジの端頂点は、当該端頂点を共有する少なくとも１つのエッジが凹状エッジであり、当該端頂点を共有する少なくとも１つのエッジが凸状エッジである場合、凹状および凸型の両方を有する
ことを特徴とする、請求項１１に記載の方法。
【請求項１３】
請求項１〜１２のいずれか１つに記載の方法を行うための命令を含むコンピュータプログラム。
【請求項１４】
請求項１３のコンピュータプログラムを記録した、コンピュータ読取可能な記憶媒体。
【請求項１５】
請求項１３のコンピュータプログラムを記録したメモリと、ディスプレイと、に接続されたプロセッサを備えるコンピュータ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータプログラムおよびシステムの分野に関し、より具体的には、ＣＡＤシステムを使って機械部分を表す３Ｄモデル化オブジェクトを設計するための方法、システムおよびプログラムに関する。
【背景技術】
【０００２】
多くのシステムおよびプログラムが、オブジェクトの、設計、エンジニアリングおよび製造のために、市場に提供される。ＣＡＤは、コンピュータ援用設計（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ）の頭文字であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。ＣＡＥは、コンピュータ援用エンジニアリング（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｅｎｇｉｎｅｅｒｉｎｇ）の頭文字であり、例えば、将来の製品の物理的な振る舞いをシミュレーションするためのソフトウェアソリューションに関する。ＣＡＭは、コンピュータ援用製造（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）の頭文字であり、例えば、製造プロセスおよびオペレーションを規定するためのソフトウェアソリューションに関する。そのようなコンピュータ援用設計システムにおいて、グラフィカルユーザインタフェースは、技術の効率に関する重要な役割を果たす。これらの技術は、製品ライフサイクル管理（ＰＬＭ）システム内に埋め込まれていてもよい。ＰＬＭは、拡張エンタープライズの概念全体にわたって、会社が、製品データを共有し、共通の工程を適用し、構想からそれらの寿命の終わりまで製品の開発のための企業知識を活用することを支援する経営戦略を指す。ダッソー・システムズ（Ｄａｓｓａｕｌｔ  Ｓｙｓｔｅｍｅｓ）（ＣＡＴＩＡ、ＥＮＯＶＩＡおよびＤＥＬＭＩＡの商標のもと）によって提供されるＰＬＭソリューションは、エンジニアリングハブ（製品エンジニアリング知識を組織する）、製造ハブ（製造エンジニアリング知識を管理する）、および、企業ハブ（エンジニアリングハブおよび製造ハブの両方への企業統合および接続を可能にする）を提供する。それらすべてで、システムは、ダイナミックな、知識に基づいた製品創造と、最適化された製品定義、製造準備、生産およびサービスを推進する意志決定支援とを可能にする、リソース、プロセス、オープンオブジェクトモデルでリンクされた製品をもたらす。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
機械部分の設計には、当該機械部分を表すＢ-ｒｅｐの注目エッジを複数選択することが必要となる場合がある。エッジを複数選択する既存の方法は、効率的ではない。これらの方法には、効率性および／または人間工学性に欠けるという欠点がある。
【０００４】
こうした状況において、機械部分を表す３Ｄモデル化オブジェクトを設計するための改善された方法が今なお求められている。
【課題を解決するための手段】
【０００５】
従って、ＣＡＤシステムを使って機械部分を表す３Ｄモデル化オブジェクトを設計するための、コンピュータで実施される方法が提案される。本方法は、機械部分を表すＢ-ｒｅｐを提供することを含む。Ｂ-ｒｅｐは、面、エッジ、および頂点を有する。本方法は、鋭いエッジを提供することを含む。本方法は、ＣＡＤシステムによってエッジの集合を自動的に識別することをさらに含む。エッジの集合は、提供された鋭いエッジを含む。エッジの各第１のエッジは、当該エッジの集合の少なくとも１つの第２のエッジと同じ向きであり、第１のエッジと第２のエッジは面を共有する。本方法は、ＣＡＤシステムによってエッジの集合のうちの鋭いエッジを自動的に選択することをさらに含む。
【０００６】
このような方法は、機械部分を設計するための改善された方法を構成する。
【０００７】
特に、本方法はいくつかの鋭いエッジを選択することを可能にする。さらに、１つまたは複数の鋭いエッジが、識別されたエッジの集合の中から選択される。識別されたエッジの集合は提供された鋭いエッジを含み、面を共有する識別された集合のエッジは、少なくとも２つずつ同じ向きである。言い換えると、エッジの集合におけるエッジは互いに比較的似ており、従って、選択された鋭いエッジは、提供された鋭いエッジと比較的似ている。従って、本方法は似たエッジの検出および似たエッジの複数選択を可能にする。さらに、エッジの集合の識別およびそれに続く鋭いエッジの選択は自動的に、つまり、ユーザのアクションを伴わずに実施される。鋭いエッジを一つだけ提供すると、いくつかの鋭いエッジが自動的に選択される。従って、本方法は人間工学的かつ効率的である。
【０００８】
本方法は、以下の１つまたは複数を含み得る。
【０００９】
２つのエッジの角度が所定の閾値より小さい場合、当該２つのエッジは同じ向きである。
【００１０】
ここで、所定の閾値は、機械部分の製造プロセスの関数である。
【００１１】
機械部分は、最大抜き角度を有する成形または鍛造部分であり、所定の閾値は当該最大抜き角度に基づく。
【００１２】
機械部分は、最大機械加工傾斜角度を有する機械加工部分であり、所定の閾値は当該最大機械加工傾斜角度に基づく。
【００１３】
所定の閾値は２０°、１５°、または１０°より小さい。
【００１４】
エッジの集合は、当該エッジの集合に沿って定義される機械部分の外側表面部に対応する形状を機械加工するためのカッティングツールの１つまたは複数の経路を表す。
【００１５】
本方法は、同じフィレットまたはラウンド操作を選択された鋭いエッジに適用することをさらに含む。
【００１６】
フィレットまたはラウンド操作の半径は、カッティングツールの半径に対応する。
【００１７】
機械部分は、機械加工部分、成形部分、成形製造プロセスのための機械加工された金型、鍛造部分、および／または鍛造製造プロセスのための機械加工された鍛造マトリクスである。
【００１８】
前記エッジの集合は、質量低減機構、空間確保機構、固定機構、締め機構、調節機構、機械接合機構、冷却機構、硬化機構、位置決め機構、および／またはすべての機械加工および穿孔された突起機構のためのサポートに対応する。
【００１９】
選択された鋭いエッジのそれぞれは、提供された鋭いエッジと一致する隣接凸状（ｎｅｉｇｈｂｏｒｉｎｇ ｃｏｎｖｅｘｉｔｙ）を有する；および／またはエッジの隣接凸状は、エッジの端頂点の凸状型の対である。ここで、
・エッジの端頂点は、当該頂点を共有するすべてのエッジが凹状のエッジである場合、凸型を有し、
・エッジの端頂点は、当該頂点を共有するすべてのエッジが凸状のエッジである場合、凸型を有し、
・エッジの端頂点は、当該端頂点を共有する少なくとも１つのエッジが凹状のエッジであり、当該端頂点を共有する少なくとも１つのエッジが凸状のエッジである場合、凹形および凸型の両方を有する。
【００２０】
本方法を行うための命令を含むコンピュータプログラムがさらに提供される。
【００２１】
コンピュータプログラムが記録された、コンピュータ読み取り可能な記憶媒体がさらに提供される。
【００２２】
メモリおよびグラフィカルユーザインタフェースにつながれたプロセッサを含むシステムであって、前記メモリには前記コンピュータプログラムが記録されているシステムがさらに提供される。
【００２３】
ここで、非限定的な例によって、添付の図面を参照して、本発明の実施形態について記載することとする。
【図面の簡単な説明】
【００２４】
【図１】本方法によって設計される機械部分の例を示す。
【図２】本方法によって設計される機械部分の例を示す。
【図３】本方法によって設計される機械部分の例を示す。
【図４】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図５】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図６】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図７】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図８】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図９】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図１０】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図１１】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図１２】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図１３】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図１４】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図１５】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図１６】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図１７】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図１８】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図１９】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図２０】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図２１】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図２２】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図２３】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図２４】本方法に関係するＢ−ｒｅｐの概念を説明する。
【図２５】本方法を説明する。
【図２６】本方法を説明する。
【図２７】本方法を説明する。
【図２８】本方法を説明する。
【図２９】本方法を説明する。
【図３０】本方法を説明する。
【図３１】本方法を説明する。
【図３２】本方法を説明する。
【図３３】本方法を説明する。
【図３４】本方法を説明する。
【図３５】本方法を説明する。
【図３６】本方法を説明する。
【図３７】本方法を説明する。
【図３８】本システムのグラフィカルユーザインタフェースの例を示す。
【図３９】本システムの例を示す。
【発明を実施するための形態】
【００２５】
本方法は、コンピュータで実行される。これは、少なくとも１つのコンピュータまたは任意の同様のシステムによって、本方法のステップ（あるいは本質的にすべてのステップ）が実行されることを意味する。従って、本方法のステップは、コンピュータによって、恐らく完全に自動的に、あるいは半自動的に行われる。例において、本方法のステップのうちの少なくともいくつかのトリガーは、ユーザとコンピュータとの対話によって行われてもよい。ユーザとコンピュータとの対話の要求されるレベルは、予測された自動性のレベルによって決まるものであってもよく、ユーザの希望を実行する必要性とバランスをとってもよい。例において、このレベルは、ユーザで規定されてもよいし、および／または、予め規定されてもよい。
【００２６】
方法のコンピュータ実行の典型例は、この目的に適したシステムで本方法を行うことである。システムは、メモリおよびグラフィカルユーザインタフェース（ＧＵＩ）につながれたプロセッサを含んでもよく、メモリには、本方法を行うための命令を含むコンピュータプログラムが記録されていてもよい。メモリはまた、データベースを記憶してもよい。メモリは、そのような記憶に適した任意のハードウェアであり、いくつかの物理的に異なる部品（例えばプログラム用のもの、および恐らくデータベース用のもの）を恐らく含む。
【００２７】
本方法は、通常、モデル化オブジェクトを処理する。モデル化オブジェクトは、例えばデータベースに記憶されたデータによって定義された任意のオブジェクトである。拡大解釈すると、「モデル化オブジェクト」という表現は、データそれ自体を示す。システムは、ＣＡＤシステムであってよく、モデル化オブジェクトは対応するデータによって定義される。従って、ＣＡＤオブジェクトという語句が用いられてもよい。
【００２８】
ＣＡＤシステムは、ＣＡＴＩＡのような、モデル化オブジェクトの図的表現に基づいてモデル化オブジェクトを少なくとも設計するために適した任意のシステムをさらに意味する。この場合、モデル化オブジェクトを規定するデータは、モデル化オブジェクトの表現を可能にするデータを含む。ＣＡＤシステムは、例えば、エッジまたは線を用いて、ある種の場合には面または表面と共に、ＣＡＤモデル化オブジェクトの表現を提供してもよい。線、エッジ、または表面は、様々な方法（例えば非一様有理Ｂスプライン（ＮＵＲＢＳ））で表現されてもよい。具体的には、ＣＡＤファイルは、形状がそれから生成されてもよい仕様を含んでおり、それは次に、表現が生成されることを可能にする。モデル化オブジェクトの仕様は、単一のＣＡＤファイルか多数のそれに格納されてもよい。ＣＡＤシステムにおいてモデル化オブジェクトを表現するファイルの典型的なサイズは、１つの部品当たり１メガバイトの範囲にある。また、モデル化オブジェクトは、典型的には何千もの部品の組立体であり得る。
【００２９】
ＣＡＤの環境において、モデル化オブジェクトは、典型的には３Ｄモデル化オブジェクトであってもよく、例えば、一部品または部品の組立体、または恐らく製品の組立体、といった製品を表現する。「３Ｄモデル化オブジェクト」は、その３Ｄ表現を可能にするデータによってモデル化される任意のオブジェクトを意味する。３Ｄ表現は、すべての角度から部品を見ることを可能にする。例えば、３Ｄモデル化オブジェクトは、３Ｄ表現されるときに、処理され且つその軸のうちのいずれかの周り、または、表現が表示されるスクリーン中の任意の軸の周りで回転されてもよい。これは特に、２Ｄアイコン（３Ｄモデル化されていない）を除外する。３Ｄ表現の表示は、設計を容易にする（すなわち、統計的に設計者が彼らのタスクを遂行する速度を増加させる）。製品の設計は製造工程の一部であるので、これは、産業における製造工程を加速する。
【００３０】
「３Ｄモデル化オブジェクトを設計する」とは、３Ｄモデル化オブジェクトを詳細に作りこむプロセスの少なくとも一部である任意のアクションまたは一連のアクションを示す。従って、本方法は３Ｄモデル化オブジェクトを一から作成することを含み得る。または、本方法は、事前に作成された３Ｄモデル化オブジェクトを提供して、当該３Ｄモデル化オブジェクトを修正することを含み得る。
【００３１】
本方法は製造プロセスに含まれてよく、当該製造プロセスは、本方法を行った後に、モデル化オブジェクトに対応する物的生産物を製造することを含んでもよい。いずれの場合も、本方法によって設計されたモデル化オブジェクトは、製造しているオブジェクトを表し得る。そのため、モデル化オブジェクトは、モデル化された固体（すなわち固体を表すモデル化オブジェクト）であり得る。製造しているオブジェクトは、部品の一部といった製品、または組立品であり得る。本方法はモデル化オブジェクトの設計を改善することから、本方法はまた、製品の製造を改善し、ひいては製造プロセスの生産性を向上する。
【００３２】
３Ｄモデル化オブジェクトは、例えばＣＡＤソフトウェアソリューションまたはＣＡＤシステムによるその仮想設計の完了の後に続いて現実世界において製造される製品の形状を表現してもよく、その製品は、（例えば、機械的）部品または部品の組立体（または部品の組立体と同等のもの。本方法の観点から部品の組立体が部品自体とみなされてもよいし、あるいは、本方法は組立体のそれぞれの部品に独立して適用されてもよい）、あるいはより一般的には任意の剛体の組立体（例えば移動体の機構）などである。ＣＡＤソフトウェアソリューションは、航空宇宙、建築、建造、消費財、ハイテク装置、産業用機器、輸送、船舶、および／または、海洋石油／ガス生産または輸送を含む（ただしこれらに限定されない）、様々で無制限の産業分野における製品の設計を可能にする。従って、本方法によって設計される３Ｄモデル化オブジェクトは、任意の機械部品であり得る産業製品を表してもよく、例えば、地上の輸送手段（例えば、自動車および軽トラック機器、レーシングカー、オートバイ、トラックおよびモーター機器、トラックおよびバス、列車を含む）の部品、空中の輸送手段（例えば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器を含む）の部品、海上の輸送手段（例えば、海軍機器、商用船、海洋機器、ヨットおよび作業船、船舶用機器を含む）の部品、一般的な機械部品（例えば、産業用製造機械類、重い移動体の機械類または機器、インストールされた機器、産業用機器製品、作られた金属製品、タイヤ製造製品を含む）、電気機械的または電子部品（例えば、家電、セキュリティおよび／またはコントロールおよび／または計測の製品、計算および通信の機器、半導体、医療の装置および機器を含む）、消費財（例えば、家具、家庭および園芸の製品、レジャー用品、流行製品、耐久消費財小売り業者の製品、繊維雑貨小売り業者の製品を含む）、包装（例えば、食物および飲料およびタバコ、美容およびパーソナルケア、家庭用製品の包装を含む）を表してもよい。
【００３３】
一例において、機械部品は、機械加工部分（すなわち、機械加工製造プロセスによって製造される部分）、成形部分（すなわち、成形製造プロセスによって製造される部分）、成形製造プロセスのための（すなわち、１つまたは複数の成形部分を製造するための）機械加工された金型（すなわち、機械加工製造プロセスによって製造された金型）、鍛造部分（すなわち、鍛造製造プロセスによって製造された部分）、および／または鍛造製造プロセスのための（すなわち、１つまたは複数の鍛造部分を製造するための）機械加工された鍛造マトリクス（すなわち、機械加工製造プロセスによって製造される鍛造マトリクス）のうちの１つまたは考え得る組み合わせであり得る。機械加工部分は、機械加工された鍛造マトリクスであり得る。これに加えて、もしくはこれに代わって、機械加工部分は機械加工された金型であり得る。
【００３４】
図１〜３は、本方法によって設計された機械部分の３つの例を説明する。図１において、機械部分はアルミニウム製の航空宇宙用機械部分１０である。図２において、機械部分は航空宇宙用機械部分２０である。図２はさらに、部分２０の機械加工に用いられるカッティングツール２２を示す。図３において、機械部分は自動車用鍛造部分３０である。
【００３５】
ここで、機械部分を表すＢ−ｒｅｐの提供ついて説明する。
【００３６】
Ｂ−ｒｅｐは機械部分の３Ｄ表現である。具体的には、Ｂ−ｒｅｐ（すなわち、境界表現）は、機械部分を表す３Ｄモデル化オブジェクトを記述する永続的なデータ表現である。Ｂ−ｒｅｐは、機械部分を表す３Ｄモデル化オブジェクトの設計段階において実行される計算および／または一連の演算の結果であり得る。成形されたオブジェクトが表現されるときにコンピュータの画面に表示される機械部分の形状が、Ｂ−ｒｅｐ（の例えばテッセレーション（ｔｅｓｓｅｌｌａｔｉｏｎ））である。例において、Ｂ−ｒｅｐはモデル化オブジェクトの一部を表す。
【００３７】
Ｂ−ｒｅｐは、位相的エンティティおよび幾何学的エンティティを含む。位相的エンティティとは、面、エッジ、および頂点である。幾何学的エンティティとは、３Ｄオブジェクト（表面、平面、曲線、直線、点）である。定義上、面とは支持表面と呼ばれる表面の境界部である。エッジとは、支持曲線と呼ばれる曲線の境界部である。頂点とは、３Ｄ空間内の点である。これらは互いに、以下のように関係し合う。曲線の境界部は、当該曲線上の２点（頂点）によって定義される。表面の境界部はその境界によって定義され、この境界とは当該表面上のエッジの集合である。面の境界のエッジ同士は、頂点を共有することによって接続される。面同士は、エッジを共有することによって接続される。２つの面は、あるエッジを共有している場合に互いに隣接する。同様に、２つのエッジは、頂点を共有している場合に互いに隣接する。図４〜５は、３つの面（上部平面および２つの円筒側面）からなる円筒形スロットのＢ−ｒｅｐを説明する。図４はスロットの斜視図を示す。視認できる面、エッジ、および頂点には番号が付されている。図５はすべての面の分解図を示す。重複する番号は、共有しているエッジおよび頂点を示す。面１は平面の境界部である。面１の境界はエッジ４および５を含み、頂点１０および１１がこれらの各エッジの境界となる。これらはいずれも同じ支持円を有する。面２はエッジ６、８、５および１３が境界となっており、これらのエッジはすべて無限円筒表面上に存在する。面１および２は、エッジ５を共有していることから、互いに隣接している。面２および３は、エッジ８および１３を共有していることから、互いに隣接している。面１および３は、エッジ４を共有していることから、互いに隣接している。図６は、図４のＢ−ｒｅｐの、「〜が〜の境界となる」という位相関係を説明するグラフを示す。上位層のノードは面であり、中間層のノードはエッジであり、下位層のノードは頂点である。図７は、 図４のＢ−ｒｅｐの位相的エンティティ（面、エッジ、頂点）間の関係を説明するグラフを示す。図８は、図４のＢ−ｒｅｐの支持形状を示す。ＣＡＤシステムでは、Ｂ−ｒｅｐは、適切なデータ構造において、「〜が〜の境界となる」関係、位相的エンティティと支持形状との関係、および支持形状の数学的記述を収集する。
【００３８】
Ｂ−ｒｅｐの内部エッジとは、厳密に２つの面によって共有されるエッジである。定義上、境界エッジは共有されず、１つの面のみの境界となる。定義上、境界面は少なくとも一つの境界エッジがその境界となる。Ｂ−ｒｅｐのすべてのエッジが内部エッジである場合、当該Ｂ−ｒｅｐは閉じていると言う。Ｂ−ｒｅｐが少なくとも１つの境界エッジを含む場合、当該Ｂ−ｒｅｐは開いていると言う。図４に示す例のＢ−ｒｅｐは、エッジ６および７が境界エッジであるから、開いている。逆に、エッジ４、５、８および１３は内部エッジである。図９に示すように、エッジ６および７が境界となる円盤状の面１４を追加することによって、図４の例から閉じたＢ−ｒｅｐが得られる。図１０は、図９の閉じたＢ−ｒｅｐの「〜が〜の境界となる」位相関係を説明するグラフを示す。閉じたＢ−ｒｅｐは、材料を（仮想的に）囲い込む空間の内部を定義することから、厚い３Ｄボリュームをモデル化するのに用いられる。開いたＢ−ｒｅｐは３Ｄスキンをモデル化するのに用いられる。３Ｄスキンは、無視してよい程度に十分に小さな厚みを有する３Ｄオブジェクトを表す。
【００３９】
Ｂ−ｒｅｐの双対グラフは、面の隣接関係のみを捉える論理グラフである。これは以下のように定義される。双対グラフのノードはＢ−ｒｅｐの面と紐づけられており、双対グラフの円弧はＢ−ｒｅｐのエッジと紐づけられている。円弧と紐づけられたＢ−ｒｅｐのエッジが、それぞれノードと紐づけられたＢ−ｒｅｐの面によって共有される場合、双対グラフの円弧は当該双対グラフの２つのノードを接続する。図１１は、図９の閉じたＢ−ｒｅｐの双対グラフを示す。円弧にはエッジ番号が付される。
【００４０】
本方法の文脈において、リボンとは双対グラフの連結部分グラフによってとらえられた面とエッジの集合である。言い換えると、リボンの面は連結部分グラフのノードに紐づけられており、リボンのエッジは連結部分グラフの円弧に紐づけられている。リボンの面はＢ−ｒｅｐの弧状連結部分を形成する。例において、連結部分グラフはサイクルである、またはサイクルを構成する。例において、連結部分グラフは２つ以上のサイクルを構成する。例において、連結部分グラフはサイクルを構成しない。
【００４１】
Ｂ−ｒｅｐの各面は、支持表面を利用して定義される法線ベクトルを備える。まず、この法線ベクトルは、支持表面の法線ベクトルと同一直線状にある。さらに、機械部分を表す閉じたＢ−ｒｅｐの法線ベクトルは、材料の外側を向く。ＦをＢ−ｒｅｐの面とし、Ｎその外向き法線ベクトルとする。Ｅを面Ｆのエッジとし、ＸをエッジＥ上の１点とし、Ｔは点ＸにおけるエッジＥの正規化した接ベクトルとする。定義上、図１２に示すように、ベクトルＭ＝Ｎ×Ｔが面の内側領域に向いている場合、エッジＥは反時計回りに向く。なお、ベクトルＮおよびＴは正規化されかつ垂直であるため、ベクトルＭは正規化されている。慣例として、図１３に示すように、Ｂ−ｒｅｐのすべての面のすべてのエッジは反時計回りに向いている。Ｂ−ｒｅｐ構造の２つの特性が重要である。まず、Ｂ−ｒｅｐの各内部エッジは厳密に２つの面によって共有される。次に、各内部エッジは、その２つの入射面によって反対方向に使用される。これら２つの理由から、Ｂ−ｒｅｐの内部エッジが与えられ、かつ当該エッジの方向が与えられた場合、この方向において当該エッジが境界となる面が１つだけ存在する。Ｂ−ｒｅｐの境界エッジは、１つの面のみが境界となり、１つの方向でのみ使用される。
【００４２】
以下では、エッジの凸状の概念について述べる。３Ｄモデル化オブジェクトのＢ−ｒｅｐが与えられたとして、Ｅを面Ｆ１およびＦ２によって共有されるエッジとし、ＸをエッジＥ上の１点とする。面Ｆ１およびＦ２の外向き法線ベクトルは、それぞれＮ１およびＮ２として示される。Ｐ１およびＰ２は、それぞれ法線ベクトルＮ１およびＮ２を有する、点Ｘを通る平面とする。平面Ｐ１およびＰ２は、点Ｘの近傍において外側３Ｄ領域と内側３Ｄ領域とを局所的に定義する。本来、ベクトルＮ１＋Ｎ２は外側３Ｄ領域を指し示す。Ｍ１およびＭ２は、それぞれ面Ｆ１およびＦ２に対する点Ｘの材料ベクトルとする。本来、ベクトルＭ１＋Ｍ２は凸状３Ｄ領域を指し示す。定義上、Ｎ１＋Ｎ２とＭ１＋Ｍ２が逆の方向を有する場合、すなわち、図１４および１５に示すように（Ｍ１＋Ｍ２，Ｎ１＋Ｎ２）＜０である場合、エッジＥは点Ｘにおいて凸状である。エッジＥは、すべての点において凸状である場合、凸状である。逆に、Ｎ１＋Ｎ２とＭ１＋Ｍ２が同じ方向を有する場合、すなわち、図１６および１７に示すように（Ｍ１＋Ｍ２，Ｎ１＋Ｎ２）＞０である場合、エッジＥは点Ｘにおいて凹状であると言う。エッジＥは、すべての点において凹状である場合、凹状である。あるいは、（Ｍ１＋Ｍ２，Ｎ１＋Ｎ２）＝０であり、これは当該エッジが滑らかなエッジまたはナイフエッジのいずれかであることを意味する。滑らかなエッジの場合、図１８および１９に示すようにＭ１＋Ｍ２＝０かつＮ１＝Ｎ２となる。これは通常、典型的な機械部分のＢ−ｒｅｐにおいて起こる。ナイフエッジの場合、図２０および２１に示すようにＮ１＋Ｎ２＝０かつＭ１＝Ｍ２となる。ナイフエッジは完全性のために記載され、これは機械部分をモデル化する際には通常使用されない。
【００４３】
幾何学的観点から、ラウンド面は、滑らかな遷移によって凸状の鋭いエッジに置換される。遷移面は、最初の鋭いエッジの隣接面同士を接続する回転球の包絡面である。同様に、フィレット面は、同じ回転球の形状に基づく滑らかな遷移によって凸状の鋭いエッジに置換される。図２２および図２３は、ラウンドおよびフィレット面の形状を説明する。図２２は、凸状エッジ２２０および凹状エッジ２２２を示す。図２３は、回転球の形状に基づく滑らかな遷移によりエッジ２２０およびエッジ２２２をそれぞれ置き換えることによって得られるラウンド面２３０およびフィレット面２３２を示す。標準表面（円筒、平面、球、円錐など）と同じく、ラウンド面およびフィレット面は、一般的にＢ−ｒｅｐデータ構造において論理型を備える。この論理型が欠落している場合、これらの面は以下のように認識され得る。パラメータ表示
【数１】
2020115335.tif 000003
は、すべての
【数２】
2020115335.tif 000004
について、曲線
【数３】
2020115335.tif 000005
が、ｖに依存しない半径を有する円の一部であるようになされる。または、すべての
【数４】
2020115335.tif 000006
について、曲線
【数５】
2020115335.tif 000007
が、ｖに依存しない半径を有する円の一部であるようになされる。Ｂ−ｒｅｐの外向き法線ベクトルが円の凹側に向いている場合、表面Ｓによって支持される面はラウンド表面である。Ｂ−ｒｅｐの外向き法線ベクトルが円の凸側に向いている場合、表面Ｓによって支持される面はフィレット表面である。図２４は、ラウンド面２４０およびフィレット面２４２のパラメータ表示を説明する。ラウンド面とフィレット面は、それぞれ凸状エッジおよび凹状エッジのように振る舞う。これは、機械的観点から、ラウンド面は凸状の鋭いエッジを置き換える滑らかな遷移であり、フィレット面は凹状の鋭いエッジを置き換える滑らかな遷移であるからである。このことは、典型的には、成形および機械加工法により製造される機械部分を設計する際に起こる。
【００４４】
Ｂ−ｒｅｐの提供は、ＣＡＤシステムのディスプレイにＢ−ｒｅｐを表示することを含み得る。Ｂ−ｒｅｐの提供は、ユーザのアクション、例えばユーザと本方法のＣＡＤシステムとの対話の結果起こり得る。例において、Ｂ−ｒｅｐによって（例えば部分的に）表された３Ｄモデル化オブジェクトは、別のユーザによって別のＣＡＤシステム上で設計され、任意にメモリに記憶され、かつ／または（例えばネットワークを通じて）本方法のＣＡＤシステムに送信されたものであり得る。Ｂ−ｒｅｐの提供は、メモリからＢ−ｒｅｐを読みだすことを含み得る。例において、ユーザおよび他のユーザは異なり、本方法のＣＡＤシステムと別のＣＡＤシステムは異なる。これらの例において、本方法のＣＡＤシステムおよび別のＣＡＤシステムはネットワークによって接続され得る。例において、ユーザおよび別のユーザは同じであり、本方法のＣＡＤシステムと別のＣＡＤシステムは同じである。
【００４５】
ここで、鋭いエッジの提供について述べる。
【００４６】
鋭いエッジを提供することは、Ｂ−ｒｅｐのエッジの中から１つの鋭いエッジを特定する（例えば、選択する、また例えば、選定する）こととなる任意のアクションを指してよい。当該一つの鋭いエッジは、提供された鋭いエッジである。提供された鋭いエッジは、エッジの集合の識別および鋭いエッジの選択の入力（例えば、エッジの集合の識別および鋭いエッジの選択に関与する１つまたは複数のアルゴリズムの入力）であるデータを形成し得る。例において、提供された鋭いエッジは、リボンのエッジである。これらの例において、リボンは２つ以上のエッジからなるエッジの集合を備え得る。これらの例において、リボンの各第１のエッジは、当該第１のエッジが面を共有する、リボンの少なくとも１つの第２のエッジと同じ向きである。リボンは２つ以上の鋭いエッジを備え得る。これらの例において、２つ以上の鋭いエッジのうちの１つまたは複数の鋭いエッジは、提供された鋭いエッジと同一の隣接凸状を有し得る。例において、２つ以上の鋭いエッジのうちすべての鋭いエッジは、提供された鋭いエッジと同一の隣接凸状を有する。
【００４７】
一例において、鋭いエッジの提供は、ユーザによって実施される。ユーザによる鋭いエッジの提供は、例えば、ユーザによる鋭いエッジの選択を含み得る。これらの例において、Ｂ−ｒｅｐはＣＡＤシステムのディスプレイに表示されてよく、ユーザは、例えば、鋭いエッジとのグラフィック的な対話によって、表示されたＢ−ｒｅｐ上の鋭いエッジを選択してよい。鋭いエッジを選択することは、鋭いエッジ上を、または実質的に鋭いエッジ上を（例えば、マウスのような触覚デバイスを使って）クリックすることを含み得る。または、鋭いエッジとのグラフィック的な対話によって鋭いエッジを選択することは、鋭いエッジ上を、または実質的に鋭いエッジ上を（例えば、ユーザの指で）触れることを含み得る。
【００４８】
または、鋭いエッジの提供は、ＣＡＤシステムによって自動的に実施されてよい。
【００４９】
ここで、エッジの集合について述べる。以下では、エッジの集合を「識別されたエッジの集合」と記載することがある。
【００５０】
エッジの集合における各第１のエッジは、エッジの集合における少なくとも１つの第２のエッジと同じ向きである。提供された鋭いエッジはエッジの集合に含まれることから、提供された鋭いエッジは、エッジの集合のうち１つまたは複数の他のエッジと同じ向きである。例において、エッジの集合は２つ以上の鋭いエッジを含む。例において、エッジの集合における２つ以上の鋭いエッジは、提供された鋭いエッジと同じ向きである。例において、エッジの集合におけるすべての鋭いエッジは、提供された鋭いエッジと同じ向きである。
【００５１】
一例において、エッジの集合におけるエッジはリボンのエッジである。これらの例において、リボンの面はＢ−ｒｅｐの弧状連結部分を形成し、提供された鋭いエッジはリボンに含まれ、エッジの集合における各第１のエッジは、面を共有する、リボンの少なくとも１つの第２のエッジと同じ向きであることから、以下のことが成立する。エッジの集合における各第１のエッジは、面を共有する、エッジの集合における少なくとも１つの第２のエッジと同じ向きであり、各第２のエッジは、面を共有する、エッジの集合における少なくとも１つの第３のエッジと同じ向きであり、・・・、各第（ｎ−１）のエッジは、面を共有する、エッジの集合における少なくとも一つの第ｎのエッジと同じ向きであり、各第ｎのエッジは提供された鋭いエッジと面を共有し、かつ提供された鋭いエッジと同じ向きである。言い換えると、これらの例において、鋭いエッジが提供されると、本方法は１つまたは複数のエッジのリストを自動的に識別し、各リストは提供されるエッジを含み、各リストのエッジは２つずつ同じ向きである。これらの例において、１つまたは複数のエッジのリストはエッジの集合を形成する。例において、識別されたエッジの集合は、提供された鋭いエッジを包含し、かつ各第１のエッジが面を共有する少なくとも１つの第２のエッジと同じ向きである、最も大きなリボンのエッジからなる。
【００５２】
ここで、識別されたエッジの集合の例について、図２５〜２７を参照して述べる。図２５は、本方法により提供されるＢ−ｒｅｐの（例えば一部の）例を示す。エッジ１、２、３、４、５および６は、Ｂ−ｒｅｐの鋭いエッジである。図２６は、Ｂ−ｒｅｐの面Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆを示し、それぞれエッジ５および６、エッジ４および５、エッジ３および４、エッジ２および３、エッジ１および２、ならびにエッジ１および６によって共有される。エッジ１は、例えばユーザが鋭いエッジとグラフィック的に対話することによって、本方法により提供された鋭いエッジである。エッジ１、２、３、４、５、６と面Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆはリボンを形成し、図２７のグラフにより把握される。当該グラフは、図２５のＢ−ｒｅｐの（例えば、一部の）双対グラフの連結部分グラフである。ここでは、連結部分グラフはサイクルである。エッジ１、２、３、４、５および６は、識別されたエッジの集合を形成する。言い換えると、本方法は、エッジの集合をエッジ｛１、２、３、４、５、６｝のリストとして自動的に識別する。当該リストの各第１のエッジは、面を共有する、当該リストの各第２のエッジと同じ向きである。言い換えると、リストのエッジは２つずつ同じ向きである。
【００５３】
ここで、識別される面の集合の他の例について、図２８〜３０を参照して述べる。図２８は、本方法により提供されるＢ−ｒｅｐの（例えば一部の）例を示す。エッジ１、２、３および４は、Ｂ−ｒｅｐの鋭いエッジである。図２９は、Ｂ−ｒｅｐの面Ａ、Ｂ、Ｃ、Ｄを示し、それぞれエッジ１および２、エッジ２および３、エッジ３および４、ならびにエッジ１および４によって共有される。エッジ１は本方法により提供された鋭いエッジである。エッジ１、２、３、４と面Ａ、Ｂ、Ｃ、Ｄはリボンを形成し、図３０のグラフにより把握される。当該グラフは、図２８のＢ−ｒｅｐの（例えば、一部の）双対グラフの連結部分グラフである。ここでは、連結部分グラフはサイクルである。エッジ１、２、３、４は、識別されたエッジの集合を形成する。言い換えると、本方法は、エッジの集合をエッジ｛１、２、３、４｝のリストとして自動的に識別する。当該リストの各第１のエッジは、面を共有する、当該リストの各第２のエッジと同じ向きである。言い換えると、リストのエッジは２つずつ同じ向きである。
【００５４】
一例において、本方法はこのように、提供された鋭いエッジを含むリボンのすべてのエッジを識別することができる。従って、本方法は、２つずつ同じ向きのエッジの１つまたは複数のリストを識別することを可能にし、各リストは提供された鋭いエッジを包含する。言い換えると、本方法は第１のエッジに比較的似たエッジを識別する。さらに、識別は、ユーザのアクションを伴わずにＣＡＤシステムによって自動的に実施される。従って、本方法は人間工学的かつ効率的に、似たエッジの検出を行う。
【００５５】
一例において、エッジの集合は、当該エッジの集合に沿って定義される機械部分の外側表面部に対応する形状を機械加工するためのカッティングツールの１つまたは複数の経路を表す。カッティングツールはフライスツールであり得る。
【００５６】
従って、鋭いエッジが提供されると、本方法はカッティングツールの１つまたは複数の経路を表すエッジを自動的に識別する。言い換えると、本方法はカッティングツールの１つまたは複数の経路を自動的に識別する。
【００５７】
一例において、機械部分の外側表面部に対応する形状は、エッジの集合に沿って定義される機械部分の外側表面部の形状である。これらの例において、機械部分の外側表面部は、機械部分の材料の１つまたは複数のレイアウトの外側表面を含み得る。
【００５８】
または、機械部分の外側表面部に対応する形状は、マトリクスの外側表面部の形状であり得る。これらの例において、マトリクスは機械部分を形作るための製造プロセスに用いられる。これらの例において、マトリクスの外側表面部は機械部分の外側表面部を形作る。言い換えると、形状は、機械部分の外側表面部の形状を形作るマトリクスの外側表面部の形状であるという点で、機械部分の外側表面部に対応する。マトリクスの外側表面部は、マトリクスの材料の１つまたは複数のレイアウトの外側表面を構成し得る。マトリクスは、鍛造製造プロセスにおいて機械部分を形作るのに用いられる機械加工された鍛造マトリクスであり得る。または、マトリクスは成形製造プロセスにおいて機械部分を形作るのに用いられる機械加工された金型であり得る。
【００５９】
機械部分の外側表面部に対応する形状を機械加工することは、（例えば、機械部分の、または機械部分を形作るための製造プロセスにおいて用いられるマトリクスの）材料の１つまたは複数のレイアウトの外側表面に対しカッティングツールを連続的に適用することを含み得る。（例えば、材料の１つまたは複数のレイアウトのうちの）材料のレイアウトに対しカッティングツールを連続的に適用することにより、材料のレイアウトの形状が変わり得る。これらの例において、機械部分の外側表面部に対応する形状を機械加工することは、材料の１つまたは複数のレイアウトの外側表面にカッティングツールを適用することによって、材料の一つ以上のレイアウトの外側表面の形状を変更することを含み得る。これらの例において、材料の１つまたは複数のレイアウトの外側表面の変更された形状は、機械部分の外側表面部に対応する機械加工された形状を形成し得る。
【００６０】
一例において、カッティングツールを連続的に適用することは、カッティングツールを所定期間の間停止することなく、かつ／またはカッティングツールを機械部分から離すことなく適用することから構成される。言い換えると、所定期間の間、カッティングツールは連続的に作動し、かつ／またはそれが適用される材料に接触している。これらの例において、カッティングツールの経路は、（たとえば、機械部分の、かつ／または機械部分を形作るための製造プロセスにおいて用いられるマトリクスの）材料のレイアウトの外側表面であり得る。これらの例において、材料のレイアウトの外側表面は、カッティングツールの連続的な適用に適した形状を有する。従って、１つまたは複数の経路は、（例えば、機械部分の、かつ／または機械部分を形作るための製造プロセスにおいて用いられるマトリクスの）材料の１つまたは複数のレイアウトの外側表面を形成し得る。当該外側表面はカッティングツールの連続的な適用に適した形状を有する。言い換えると、カッティングツールの形状および／または機械的特性および／または幾何学的特性が与えられたとき、そのような形状にカッティングツールを連続的に適用することが機械的に可能かつ／または現実的かつ／または容易である。
【００６１】
エッジの集合は、１つまたは複数の経路を表す。例において、エッジの集合のエッジは面の境界となる。境界づけられた面はＢ−ｒｅｐの一部を形成する。例において、集合のエッジはリボンのエッジである。これらの例において、集合のエッジはリボンの面の境界となる。これらの例において、Ｂ−ｒｅｐの一部はリボンのすべての面からなる面の集合である。従って、Ｂ−ｒｅｐの一部は、これらの例において、Ｂ−ｒｅｐの弧状連結部分である。図２５〜２７の例の面Ａ、Ｂ、Ｃ、Ｄ、Ｅ、ＦはＢ−ｒｅｐの一部の例である。図２８〜３０の例の面Ａ、Ｂ、Ｃ、ＤはＢ−ｒｅｐの一部の例である。例において、Ｂ−ｒｅｐの一部は機械部分の材料の１つまたは複数のレイアウトの外側表面を表す。言い換えると、材料の１つまたは複数のレイアウトの外側表面はエッジの集合に沿って定義される。ここで、このような例について述べる。
【００６２】
一例において、１つまたは複数の経路は、Ｂ−ｒｅｐの一部によって表される、機械部分の材料の１つまたは複数のレイアウトの外側表面を形成し、当該外側表面はカッティングツールの連続的な適用に適した形状を有する。言い換えると、これらの例において、エッジの集合は、Ｂ−ｒｅｐの一部が１つまたは複数の経路によって形成される機械部分の材料の１つまたは複数のレイアウトの外側表面を表す点において、１つまたは複数の経路を表し得る。
【００６３】
さらに、もしくはこれに代わって、１つまたは複数の経路は、機械部分を形作る製造プロセスにおいて用いられるマトリクスの材料の１つまたは複数のレイアウトの外側表面を形成し得る。当該外側表面はカッティングツールの連続的な適用に適した形状を有する。機械部分を形作ることは、成形製造プロセスにおいて機械部分を成形すること、または鍛造製造プロセスにおいて機械部分を鍛造することから構成され得る。これらの例において、マトリクスの材料の１つまたは複数のレイアウトの外側表面は、Ｂ−ｒｅｐの一部によって表される、機械部分の材料の１つまたは複数のレイアウトの外側表面を形作り得る。言い換えると、これらの例において、エッジの集合は、Ｂ−ｒｅｐの一部が、１つまたは複数の経路によって形成されるマトリクスの外側表面によって形作られる機械部分の材料の１つまたは複数のレイアウトの外側表面を表す点において、１つまたは複数の経路を表し得る。
【００６４】
Ｂ−ｒｅｐの一部は提供されたエッジを含む。提供された鋭いエッジは、１つまたは複数の経路のうち１つの経路上の中間位置である（例えば、当該経路の端部ではない）位置を表し得る。または、提供された鋭いエッジは、１つまたは複数の経路のうちの１つまたは複数の経路の端部である位置を表し得る。例において、端部はカッティングツールの適用の始点である。ここで、このような例について述べる。これらの例において、機械部分の外側表面部に対応する形状を機械加工するために、カッティングツールは、（例えば、機械部分の、かつ／または機械部分を形作るための製造プロセスにおいて用いられるマトリクスの）材料の１つまたは複数のレイアウトの外側表面上の位置である始点を有する。カッティングツールは、材料の１つまたは複数のレイアウトの外側表面にこの位置で接触するように置かれる。当該位置は提供された鋭いエッジによって表される。カッティングツールが外側表面に当該位置で接触するように置かれ、当該カッティングツールがその後動作を開始して１つまたは複数の経路をたどることによって適用される点において、当該位置はカッティングツール適用の始点である。言い換えると、カッティングツールは１つまたは複数の軌道に従って連続的に適用されてよく、各軌道は第１のエッジによって表される開始位置から始まり、また各軌道は１つまたは複数の経路のうちのそれぞれの経路をたどる。言い換えると、Ｂ−ｒｅｐの一部は、カッティングツールが連続的に適用されている間にたどる（例えば、提供された鋭いエッジによって表される位置から始まる）１つまたは複数の軌道の集合に対応する。しかしながら、例において、Ｂ−ｒｅｐの一部（または、同様に、エッジの集合）は、１つまたは複数の軌道の集合にのみ対応するが、機械加工プロセスそのものには密接に関連しない。言い換えると、前述のようにＢ−ｒｅｐの設計は機械加工プロセスおよびツールの特徴に影響され得るが、実際の機械加工プロセスの準備および／または展開は、それ以後の段階で実施され得る。例えば、カッティングツールの適用および／またはカッティングツールの軌道の始点および／または終点は、それ以後の段階で正確に特定され得る。
【００６５】
図１は、アルミニウム製の航空宇宙用機械部分１０の質量低減ポケット１２を示す。各質量低減ポケット、例えば質量低減ポケットＡは、アルミニウム製の航空宇宙用機械部分１０の場合の外側表面部の一例である。図２は、質量低減ポケット２４の形状を機械加工するためのカッティングツール２２を示し、質量低減ポケット２４は機械加工される航空宇宙用部分２０の場合の外側表面部の一例である。図３は、自動車用鍛造部分３０の場合の外側表面部の一例である質量低減ポケット３２を示す。自動車用鍛造部分３０の外側表面部は、機械加工された鍛造マトリクスの材料のレイアウトの外側表面の形状によって形作られる形状を有する。２つの穴３４および３６は空間確保機構であり、これらは自動車用鍛造部分３０の外側表面部の別の例である。これらの外側表面部は、機械加工された鍛造マトリクスの材料のレイアウトの外側表面部によって形作られる形状を有する。２つの穴は、次に行われる部分３０の機械加工プロセスにおいて機械加工され得る。
【００６６】
ここで「同じ向きである」という概念について述べる。
【００６７】
一例において、ある面が、エッジの集合に沿って定義される機械部分の外側表面部に対応する形状を機械加工するためのカッティングツールの経路の一部を表すとき、当該面を共有する２つのエッジは同じ向きである。言い換えると、２つの類似するエッジによって共有される面は、カッティングツールの連続的な適用に適した外形を有する材料のレイアウトを表し得る。例において、材料のレイアウトが曲がりくねり過ぎていない、かつ／または湾曲しすぎていない、かつ／または折れ曲がり過ぎていないとき、当該材料のレイアウトはカッティングツールの連続的な適用に適した形状を有する。反対に、例えば、カッティングツールを適用するにあたって当該カッティングツールが非現実的かつ／または不可能な傾斜（例えば、屈曲）を有することが求められるために、材料のレイアウトに対してカッティングツールを連続的に適用することが（例えば、機械的に）非現実的かつ／または不可能であるとき、当該材料のレイアウトはカッティングツールの連続的な適用に適さない形状を有する。
【００６８】
同じ向きのエッジを識別することによって、本方法は、エッジの集合に沿って定義される機械部分の外側表面部に対応する形状を機械加工するためのカッティングツールの１つまたは複数の経路を識別することを可能にする。
【００６９】
一例において、２つのエッジの角度が所定の閾値より小さい場合、これら２つのエッジは同じ向きである、
例えば、ｕ１およびｕ２を２つのエッジとし、ｘ１およびｙ１をエッジｕ１の頂点とし、ｘ２およびｙ２をエッジｕ２の頂点とする。αを所定の閾値とする。例において、エッジｕ１およびｕ２の間の角度は、以下の場合に閾値αより小さい。
【００７０】
（１）
【数６】
2020115335.tif 000008
一例において、所定の閾値はエッジの集合を識別する前にユーザによって提供される。
【００７１】
一例において、当該所定の閾値は、機械部分の製造プロセスの関数である。
【００７２】
従って、エッジの集合は、機械部分の製造上の要件に対応する集合のエッジ間の方向類似性を満たすように自動的に識別され得る。例において、機械部分の製造プロセスの関数をエッジの方向類似性の根拠とすることで、識別されたエッジの集合は、エッジの集合に沿って定義される機械部分の外側表面部に対応する形状を機械加工するためのカッティングツールの１つまたは複数の経路を表すこととなる。
【００７３】
所定の閾値は、半自動的に提供され得る。例えば、ユーザは機械部分の製造プロセスを特定してよく、ＣＡＤシステムは製造プロセスの関数として所定の閾値を自動的に決定する。製造プロセスを特定することは、例えばＣＡＤシステムのソフトウェアと（例えば、接触により、またはマウスなどの触覚デバイスを用いて）対話することによって製造プロセスを選択することを含み得る。または、製造プロセスを特定することは、例えばＣＡＤシステムと（例えば、キーボードを用いて）対話することによって製造プロセスを宣言することを含み得る。
【００７４】
所定の閾値が機械部分の製造プロセスの関数である例において、機械部分は最大抜き角度を有する成形または鍛造部分であり得る。これらの例において、所定の閾値は最大抜き角度に基づく。または、所定の閾値が機械部分の製造プロセスの関数である例において、機械部分は最大機械加工傾斜角度を有する機械加工部分であり得る。これらの例において、所定の閾値は最大機械加工傾斜角度に基づく。
【００７５】
一例において、所定の閾値は最大抜き角度の４倍より小さく、例えば最大抜き角度の３倍より小さく、また例えば最大抜き角度の２倍より小さい。これらの例において、所定の閾値は最大抜き角度の半分より大きくてよく、例えば最大抜き角度より大きくてよく、また、例えば最大抜き角度の２倍より大きくてよい。
【００７６】
または、所定の閾値は最大機械加工傾斜角度の４倍より小さく、例えば最大機械加工傾斜角度の３倍より小さく、また、例えば最大機械加工傾斜角度の２倍より小さい。これらの例において、所定の閾値は最大機械加工傾斜角度の半分より大きくてよく、例えば最大機械加工傾斜角度より大きくてよく、また、例えば最大機械加工傾斜角度の２倍より大きくてよい。
【００７７】
一例において、プラスチック成形部分の最大抜き角度は１°に等しい。例において、鉄成形部分またはアルミニウム成形部分の最大抜き角度は２°または３°に等しい。例において、鍛造部分の最大抜き角度は５°である。
【００７８】
一例において、プラスチック部分成形用の機械加工された金型の最大機械加工傾斜角度は１°に等しい。例において、鉄部分またはアルミニウム部分成形用の機械加工された金型の最大機械加工傾斜角度は２°または３°に等しい。例において、鍛造部分用の機械加工された鍛造マトリクスの最大機械加工傾斜角度は５°である。
【００７９】
一例において、所定の閾値は２０°、１５°、または１０°より小さい。
【００８０】
図２５〜２７の例において、エッジ１と２の間の角度は所定の閾値より小さく、エッジ２と３の間の角度は所定の閾値より小さく、エッジ３と４の間の角度は所定の閾値より小さく、エッジ４と５の間の角度は所定の閾値より小さく、エッジ５と６の間の角度は所定の閾値より小さいことから、エッジ１、２、３、４、５および６はエッジの集合に含まれる。従って、エッジ１、２、３、４、５、６およびこれらのエッジが境界となる面Ａ、Ｂ、Ｃ、Ｄ、Ｅ、Ｆは、２つずつ同じ向きとなるエッジを有するＢ−ｒｅｐの一部に対応する。このようなＢ−ｒｅｐの一部は、現実的には機械部分の外側表面部に対応する形状を機械加工するためのカッティングツールの経路を表す。
【００８１】
図２８〜３０の例において、エッジ１と２の間の角度は所定の閾値より小さく、エッジ２と３の間の角度は所定の閾値より小さく、エッジ３と４の間の角度は所定の閾値より小さいことから、エッジ１、２、３、４はエッジの集合に含まれる。従って、エッジ１、２、３、４およびこれらのエッジが境界となる面Ａ、Ｂ、Ｃ、Ｄは、２つずつ同じ向きとなるエッジを有するＢ−ｒｅｐの一部に対応する。このようなＢ−ｒｅｐの一部は、現実的には機械部分の外側表面部に対応する形状を機械加工するためのカッティングツールの経路を表す。
【００８２】
ここで、鋭いエッジの選択について述べる。
【００８３】
一例において、選択された鋭いエッジは、識別されたエッジの集合におけるすべての鋭いエッジから構成される。または、選択された鋭いエッジは、識別されたエッジの集合のうち鋭いエッジの限られた部分から構成され得る。これらの例において、提供された鋭いエッジが選択される。
【００８４】
一例において、選択された鋭いエッジのそれぞれは提供された鋭いエッジと同一の隣接凸状を有する。
【００８５】
提供された鋭いエッジと同一の隣接凸状を有する鋭いエッジは、識別されたエッジの集合のうち鋭いエッジの限られた部分を形成し得る。提供された鋭いエッジは、この限られた部分に含まれる。または、識別されたエッジの集合のうちすべての鋭いエッジのそれぞれは、提供された鋭いエッジと同一の隣接凸状を有し得る。
【００８６】
一例において、鋭いエッジがＢ−ｒｅｐの第１の部分に位置し、提供される鋭いエッジがＢ−ｒｅｐの第２の部分に位置し、Ｂ−ｒｅｐの第１および第２の位置がＢ−ｒｅｐの内側方向に対して同じ凸状を有する場合、当該鋭いエッジは提供された鋭いエッジと同一の隣接凸状を有する。
【００８７】
従って、鋭いエッジが提供されると、本方法は、（選択された鋭いエッジはエッジの集合に含まれるため）提供された鋭いエッジと比較的似た向きであり、かつ同一の隣接凸状を有する（例えば、すべての）鋭いエッジを自動的に識別および選択する。従って、本方法は、幾何学的および位相的観点から見て、提供された鋭いエッジと比較的似たいくつかのエッジを自動的に選択する。従って、本方法は効率的かつ正確な類似エッジ検出を行う。
【００８８】
一例において、識別されたエッジの集合は、当該エッジの集合に沿って定義される機械部分の外側表面部に対応する形状を機械加工するためのカッティングツールの１つまたは複数の経路を表す。１つまたは複数の経路のそれぞれは、カッティングツールが連続的に適用される間、当該カッティングツールの軌跡に対応し得る。提供された鋭いエッジは、１つまたは複数の経路のうち１つの経路上の中間位置である（例えば、当該経路の端部ではない）位置を表し得る。または、提供された鋭いエッジは、１つまたは複数の経路のうちの１つまたは複数の経路の端部である位置を表し得る。これらの例において、識別されたエッジの集合のうち、提供された鋭いエッジの１つと同一の隣接凸状を有する鋭いエッジは、カッティングツールが連続的に適用される間、当該カッティングツールの軌跡の転回（例えば、屈曲）を表す。言い換えると、これらの鋭いエッジのそれぞれは、カッティングツールが連続的に適用される間に転回する、当該カッティングツールの経路上の１点（例えば、位置）を表す。これらの例において、識別されたエッジの集合における、提供された鋭いエッジの１つと同一の隣接凸状を有さないエッジは、カッティングツールの転回を表さない。提供された鋭いエッジと同一の隣接凸状を有する鋭いエッジのみを選択することによって、本方法は、カッティングツールの転回を表す（例えば、すべての）鋭いエッジを自動的に選択し、また、カッティングツールの転回を表さない鋭いエッジを自動的に破棄する。
【００８９】
一例において、エッジの隣接凸状とは、端頂点（Ｅｎｄ  Ｖｅｒｔｅｘ）の凸状型の対である。これらの例において、エッジの端頂点は、当該頂点を共有するすべてのエッジが凹状のエッジである場合、凹型を有する。これらの例において、エッジの端頂点は、当該頂点を共有するすべてのエッジが凸状のエッジである場合、凸型を有する。これらの例において、エッジの端頂点は、当該頂点を共有する少なくとも１つのエッジが凹状エッジであり、当該端頂点を共有する少なくとも１つのエッジが凸状エッジである場合、凹型および凸型の両方を有する。
【００９０】
ここで、エッジの隣接凸状の概念の実装について述べる。正確には、ｕをエッジとし、ノードｘおよびｙをその端頂点とする。なお、ｖｉ（ｉ＝１，・・・，ｎ）は頂点ｘを共有するすべてのエッジであり、ｗｊ（ｊ＝１，・・・，ｍ）は頂点ｙを共有するすべてのエッジである。エッジｖｉのうちの１つはエッジｕであり、エッジｗｊのうちの１つもエッジｕである。すべてのエッジｖｉ（ｉ＝１，・・・，ｎ）が凸状である場合、頂点ｘは凸型を有すると言う。すべてのエッジｖｉ（ｉ＝１，・・・，ｎ）が凹状である場合、頂点ｘは凹型を有すると言う。あるいは、ｖｉのうち少なくとも１つが凸状であり、ｖｉのうち別の１つが凹状である場合は、頂点ｘは凹型と凸型の両方を有すると言う。すべてのエッジｗｉ（ｉ＝１，・・・，ｎ）が凸状である場合、頂点ｙは凸型を有すると言う。すべてのエッジｗｉ（ｉ＝１，・・・，ｎ）が凹状である場合、頂点ｙは凹型を有すると言う。あるいは、ｗｉのうち少なくとも１つが凸状であり、ｗｉのうち別の１つが凹状である場合は、頂点ｙは凹型と凸型の両方を有すると言う。エッジｕの隣接凸状は、端頂点ｘおよびｙの凸型の対である。従って、エッジｕの隣接凸状は（凹型、凹型）、（凹型、凸型）、（凸型、凸型）、（凹および凸型の両方、凹型）、（凹および凸型の両方、凸型）、または（凹および凸型の両方、凹状および凸型の両方）であり得る。隣接凸状（凸型、凹型）は、隣接凸状（凹型、凸型）と均等である。隣接凸状（凹型、凹および凸型の両方）は、隣接凸状（凹および凸型の両方、凹型）と均等である。隣接凸状（凹および凸型の両方、凸型）は、隣接凸状（凸型、凹および凸型の両方）と均等である。図３１は、隣接凸状の概念を説明する。図３１は、エッジ１、２、３、４、５、６および７を有するＢ−ｒｅｐを示す。エッジ６の端頂点１および２はいずれも凸型を有することから、エッジ６の隣接凸状は（凸型、凸型）である。エッジ７の端頂点３および５はいずれも凹および凸型の両方を有することから、エッジ７の隣接凸状は（凹および凸型の両方、凹および凸型の両方）である。端頂点３は凹および凸型の両方を有し、端頂点２は凸型を有することから、エッジ４の隣接凸状は（凹および凸型の両方、凸型）である。
【００９１】
図２５〜２７の例の鋭いエッジ１、２、３、４、５、６は、すべてが提供された鋭いエッジ１の隣接凸状（凸型、凹型）を有するので、これらのエッジが選択される。図２８〜３０の鋭いエッジ１、２、３、４は、すべてが提供された鋭いエッジ１の隣接凸状（凸型、凹型）を有するので、これらのエッジが選択される。
【００９２】
図３２〜３３は、図３２に示すように鋭いエッジ１、２、３、４、５、６、７および８を有するＢ−ｒｅｐの例を示す。図３３は、エッジ１、２、３および６によって共有される面Ａ，エッジ２、３、４および５によって共有される面Ｂ，エッジ４および７によって共有される面Ｃ，７および８によって共有される面Ｄ、ならびにエッジ８および１によって共有される面Ｅを示す。図３６は、図３２および図３３のＢ−ｒｅｐの双対グラフを示す。双対グラフは２つのサイクルからなり、リボンを捉えている。エッジ１は提供された鋭いエッジである。識別されたエッジの集合は、エッジ１、２、３、４、５、６、７および８により構成される。これらのエッジは、図３６の２つのサイクルを持つ双対グラフによって捉えられるリボンのエッジである。エッジ２、３および６は、エッジ１と面Ａを共有し、かつエッジ１と同じ向きであることから、これらのエッジが識別される。エッジ５および４は、エッジ２と面Ｂを共有し、かつエッジ２と同じ向きであることから、これらのエッジが識別される。エッジ７は、エッジ４と面Ｃを共有し、かつエッジ４と同じ向きであることから、当該エッジが識別される。エッジ８は、エッジ１と面Ｅを共有し、かつエッジ４と同じ向きであることから、当該エッジが識別される。提供された鋭いエッジ１は、隣接凸状（凸型、凸型）を有する。従って、鋭いエッジ２、３、４、７、８は、すべてが隣接凸状（凸型、凸型）を有することから、これらのエッジが選択される。鋭いエッジ５および６は、両方が隣接凸状（凹および凸型の両方、凹および凸型の両方）を有することから、これらのエッジは選択されない。図３２〜３３のＢ−ｒｅｐは、最初に成形されその後機械加工される機械部分を表す。図３４は成形プロセス後の機械部分を表すＢ−ｒｅｐを示し、図３５は機械加工プロセス後の機械部分を示し、ここでは切り欠きが機械加工されている。鋭いエッジ１、２、３、４、７、８は、図３４の成形された機械部分の外側表面部の形状を形作る金型の形状を機械加工するためのカッティングツールの経路を表すことから、これらのエッジが選択される。鋭いエッジ５および６は、機械部分の最初の成形プロセスのときには存在せず、機械加工プロセスの間に機械加工された切り欠きの境界を表すことから、これらのエッジは選択されない。
【００９３】
一例において、エッジの集合は質量低減機構（すなわち、質量低減機能を実行すること）、空間確保機構（すなわち、空間確保機能を実行すること）、固定機構（すなわち、固定機能を実行すること）、締め機構（すなわち、締め機能を実行すること）、調節機構（すなわち、調節機能を実行すること）、機械接合機構（すなわち、機械接合機能を実行すること）、冷却機構（すなわち、冷却機能を実行すること）、硬化機構（すなわち、硬化機能を実行すること）、位置決め機構（すなわち、位置決め機能を実行すること）、および／またはすべての機械加工および穿孔された突起機構のためのサポート（すなわち、すべての機械加工および穿孔された突起機能のためのサポートを行うこと）のうち１つまたは考え得る組み合わせに対応する。機構は機械部品の材料のレイアウトであって、材料のレイアウトは機械的機能を実行する。例において、機構は形状を有し、この形状は材料のレイアウトを表し、かつ／または対応し、かつ／または形成する。エッジの集合は機構に対応し得る。例において、このことは、機構の形状の少なくとも一部（例えば、全体）は、集合のエッジ、ならびに、集合のエッジを共有する面および／または集合のエッジが境界となる（例えば、すべての）面の（例えば、すべての）対によって形成されるＢ−ｒｅｐの一部によって表されることを意味する。例において、Ｂ−ｒｅｐの一部は弧状連結されている。
【００９４】
一例において、エッジの集合は、当該エッジの集合に沿って定義される機械部分の外側表面部に対応する形状を機械加工するためのカッティングツールの１つまたは複数の経路を表す。これらの例において、機械部品の外側表面部は、１つまたは複数の機構の形状の外側表面部であり得る。言い換えると、エッジの集合は、機械部品の１つまたは複数の機構（例えば、機構の１つまたは考え得る組み合わせ）に対応し、かつカッティングツールの１つまたは複数の経路を表す。これは、１つまたは複数の経路に沿ってカッティングツールを連続的に適用することによって機械加工された形状は、１つまたは複数の機構の形状に対応するからである。
【００９５】
一例において、機械部分は成形部分である。これらの例において、エッジの集合は、質量低減機構、空間確保機構、および／または硬化機構のうち１つまたは考え得る組み合わせであり得る。
【００９６】
または、もしくはこれに代わって、機械部分は機械加工部分であり得る。これらの例において、エッジの集合は、質量低減機構、空間確保機構、固定機構、締め機構、調節機構、位置決め機構、機械接合機構、冷却機構、および／または位置決めピン機構のうち１つまたは考え得る組み合わせであり得る。
【００９７】
または、もしくはこれに代わって、機械部分は鍛造部分であり得る。これらの例において、エッジの集合は、質量低減機構、硬化機構および／またはすべての機械加工および穿孔された突起機構のためのサポートのうち１つまたは考え得る組み合わせであり得る。
【００９８】
図１〜３は、質量低減機構１２、２４および３２の例を示す。
【００９９】
図２５〜２７の例において、エッジ１、２、３、４、５、６は質量低減機構に対応する。図２８〜２９の例において、エッジ１、２、３、４は、図２８のＢ−ｒｅｐによって表された外形のクランクケースにおける空間確保機構に対応する。図３２の例において、エッジ１、２、３、４、５、６、７、８は直線運動案内機構の部品に対応する。切り欠きは位置決め機能に対応する。
【０１００】
ここで、エッジの集合の識別と鋭いエッジの選択の例について述べる。
【０１０１】
エッジの集合の識別と鋭いエッジの選択は自動的に実施される。エッジの集合の選択と鋭いエッジの選択は、例えば、１つまたは複数のアルゴリズムの１つまたはプロセッサによる自動的な実行を含み得る。１つまたは複数のアルゴリズムのうち、１つまたは複数の第１のアルゴリズムはエッジの集合を識別してよく、１つまたは複数の第２のアルゴリズムはエッジの集合を含む鋭いエッジを選択してよい。または、１つまたは複数のアルゴリズムは、エッジの集合の識別と鋭いエッジの選択を同時に行ってもよい。１つまたは複数のアルゴリズムは、エッジの集合を識別し、かつ鋭いエッジを選択するのに適したいかなるアルゴリズムまたはアルゴリズムの集合であってもよい。
【０１０２】
エッジの集合の識別は、Ｂ−ｒｅｐのエッジを反復的に訪問することを含み得る。反復的な訪問は、提供された鋭いエッジからスタートし得る。例において、エッジが訪問されるとき、識別は、当該エッジが他のエッジと同じ向きであり、当該別のエッジは訪問されたエッジと面を共有し、かつ当該別のエッジはすでに訪問されていることの判定を含み得る。訪問されたエッジが別のエッジと同じ向きであると判定された場合、当該エッジは収集されて、エッジの集合の一部であると識別される。例において、反復的な訪問は、リボンのすべてのエッジが識別されるまで継続し、当該リボンは提供された鋭いエッジを含み、リボンの各第１のエッジは少なくとも１つの第２のエッジと同じ向きであり、第１のエッジは第２のエッジと面を共有する。例において、リボンは、提供された鋭いエッジを含む最も大きなリボンであり、リボンの各第１のエッジは少なくとも１つの第２のエッジと同じ向きであり、第１のエッジと第２のエッジは面を共有する。言い換えると、反復的な訪問は、このようなリボンのエッジによって形成されるエッジの集合が識別されるまで実行される。
【０１０３】
一例において、選択は要件に従って実施され得る。例において、要件は、例えばエッジの集合を識別し鋭いエッジを選択する前に、接触またはキーボードまたはマウスのような触覚デバイスを使って、例えばＣＡＤシステム（例えば、そのソフトウェア）と対話することによって、ユーザによって特定（例えば、宣言）される。例において、要件は、エッジの集合のうちの各鋭いエッジが選択されることである。または、要件は、エッジの集合のうち、提供された鋭いエッジと同一の隣接凸状を有する各鋭いエッジが選択されることであり得る。言い換えると、提供された鋭いエッジと同一の隣接凸状を有さない鋭いエッジは選択されない。
【０１０４】
一例において、選択はエッジの集合を識別している間に実施される。例えば、あるエッジがエッジの集合の一部として識別されると、当該エッジが要件を満たすか否かが自動的に判定される。要件を満たす場合、当該エッジが選択される。言い換えると、エッジの集合の識別が進むにつれて、すでに識別されたエッジの中から要件を満たす鋭いエッジが選択される。または、鋭いエッジの選択は、識別の後に、例えば識別された要件を満たすエッジの集合からエッジを反復的に収集することによって実施され得る。
【０１０５】
ここで、エッジの集合の識別と鋭いエッジの選択の実施について述べる。
【０１０６】
ユーザは鋭いエッジｕを提供する。そして、ユーザは要件を自動的に特定する入力オプション
【数７】
2020115335.tif 000009
を選択する。Ｏｐｔｉｏｎ＝１の場合、要件は、エッジの集合における各鋭いエッジが選択されることである。Ｏｐｔｉｏｎ＝２の場合、要件は、エッジの集合のうちの、提供された鋭いエッジと同一の隣接凸状を有する各鋭いエッジが選択されることである。出力は、選択された鋭いエッジの集合Ｓである。集合Ｓは空の集合によって初期設定される。アルゴリズムは、エッジｕに対して関数Ｒｉｂｂｏｎ（・）を２回実行させる。１回目の呼び出しは、＋ｕとして示される１つ（任意）の方向のエッジｕに関し、２回目の呼び出しは、-ｕとして示される逆の方向のエッジｕに関する。集合Ｓは以下の疑似コードに従って判定される。
【数８】
2020115335.tif 000010
【０１０７】
関数Ｒｉｂｂｏｎ（・）は、提供された鋭いエッジｕを含むリボンのエッジを識別し、リボンの各第１のエッジはリボンの少なくとも１つの第２のエッジと所定の閾値αより小さな角度をなす。関数Ｒｉｂｂｏｎ（・）はさらに、要件に従って鋭いエッジを選択する。標準命令Ｐｕｓｈ（・）、Ｐｏｐ（・）およびＳｉｚｅを通じて、単一の後入れ先出し方式（ＬＩＦＯ）リストが使用される。命令Ｐｕｓｈ（Ｚ）は、リストのトップにオブジェクトＺに追加してリストのサイズを増分する。命令Ｐｏｐ（Ｚ）はＺとして示されるリストの最後のオブジェクトを生成し、Ｚをリストから取り除き、リストのサイズを減分する。エッジが方向づけられる、つまり、ｖが内部エッジである場合、方法Ａｄｊ（ｖ）はエッジｖによってその方向に従って境界づけられるＢ−ｒｅｐの１つの面のみを返し、Ａｄｊ（-ｖ）は図３７に示すように別の面を返す。ｗが境界エッジであり、またＡｄｊ（ｗ）（またはＡｄｊ（-ｗ））がｗによって境界づけられる面を返すと、Ａｄｊ（-ｗ）（またはＡｄｊ（ｗ））は空の集合を返す。例えば、図３７によると、Ａｄｊ（ｂ）は右端の面を返す一方、Ａｄｊ（-ｂ）は空の集合を返す。関数Ｒｉｂｂｏｎ（・）は、面ｆを境界づける方向付けされたエッジのリストを返す関数∂（ｆ）を含む。関数Ｒｉｂｂｏｎ（・）は、以下の疑似コードによって記述される。
【数９】
2020115335.tif 000011
【０１０８】
命令ＳａｍｅＡｎｇｌｅ（ｖ，ｗ，α）はｖとｗの間の角度が所定の閾値αより小さい場合に“ｔｒｕｅ”を返し、そうでない場合は“ｆａｌｓｅ”を返す。命令ＳａｍｅＡｎｇｌｅ（ｖ，ｗ，α）は、ｖとｗの間の角度はαより小さいことの判定であって、公式（１）に従って実施される判定を含み得る。命令ＳａｍｅＮＣ（ｖ，ｗ）は、ｖとｗが同じ隣接凸状を有する場合に“ｔｒｕｅ”を返し、そうでない場合は“ｆａｌｓｅ”を返す。命令
【数１０】
2020115335.tif 000012
は、方向づけられたエッジｖに境界づけられた固有の面の、方向づけされた境界エッジを含み、かつ、エッジｖを除く集合Ｗを返す。例えば、図３７に示されるように、方向付けされたエッジａ、ｂおよびｃを返す。さらに、エッジｂが境界エッジであれば、
【数１１】
2020115335.tif 000013
も成立する。
【０１０９】
図２５〜２７の例において、前のアルゴリズムをＯｐｔｉｏｎ＝１で実行すると、鋭いエッジ１、２、３、４、５、６が選択される。図２８〜３０の例において、前のアルゴリズムをＯｐｔｉｏｎ＝１またはＯｐｔｉｏｎ＝２で実行すると、鋭いエッジ１、２、３、４が選択される。図３２〜３３の例において、前のアルゴリズムをＯｐｔｉｏｎ＝２で実行すると、鋭いエッジ１、２、３、４、７、８が選択される。
【０１１０】
本方法は、鋭いエッジを同時に複数選択することを可能にする。選択された鋭いエッジは、識別されたエッジの集合の一部であり、識別されたエッジはリボンのエッジから構成されてよく、また提供された鋭いエッジを含み得る。言い換えると、選択された鋭いエッジは、提供された鋭いエッジと比較的似ている。鋭いエッジの選択が自動的に実施され、鋭いエッジが（例えば、ユーザによって）提供されると、本方法はこのように効率的かつ人間工学的な類似エッジの複数選択を提供する。選択された鋭いエッジはさらに、それぞれが提供された鋭いエッジの１つと同一の隣接凸状を有する識別されたエッジの集合のうちの鋭いエッジであり得る。言い換えると、本方法は、提供された鋭いエッジと幾何学的に比較的似たエッジ（選択された鋭いエッジは提供された鋭いエッジと比較的同じ向きであるから）に加えて、提供された鋭いエッジと位相的に似たエッジ（その隣接凸状が同一であるから）の複数選択を可能にする。従って、本方法は、形状類似性要件に応じた、かつ、オプションとして幾何学的および位相的類似性要件に応じた、人間工学的かつ効率的なエッジの複数選択を可能にする。さらに、識別されたエッジの集合は、エッジの集合に沿って定義される機械部分の外側表面部に対応する形状を機械加工するためのカッティングツールの１つまたは複数の経路を表し得る。選択された鋭いエッジは、１つまたは複数の経路に沿ったカッティングツールの転回を表し得る。そのため、本方法は、カッティングツールの１つまたは複数の経路を表すＢ−ｒｅｐの一部と、当該１つまたは複数の経路に沿ったカッティングツールの転回とを自動的に認識することを可能にする。選択された鋭いエッジが、提供された鋭いエッジと同じ隣接凸状を持つことを要件とすることで、カッティングツールの転回に正確に対応する鋭いエッジ（例えば、選択された鋭いエッジ）とそうでないエッジとを、たとえこれらのエッジが提供された鋭いエッジと幾何学的に比較的似ていたとしても、区別することができる。従って、本方法は強固かつ効率的である。
【０１１１】
一例において、本方法はさらに、同じフィレット操作またはラウンド操作を選択された鋭いエッジに対して適用することを含む。
【０１１２】
フィレット（またはラウンド）操作を鋭いエッジに適用することは、滑らかな遷移によって鋭いエッジを置換することを含む。滑らかな遷移とは、鋭いエッジの隣接する面同士を接続する回転球の包絡面である凹状（または凸状）面である。例えば、図２２の凸状エッジ２２０は、当該凸状エッジ２２０にラウンド操作を適用した結果、図２３のラウンド面２３０に置換される。例えば、図２２の凹状エッジ２２２は、当該凹状エッジ２２２にフィレット操作を適用した結果、図２３のフィレット面２３２に置換される。図２２〜２４を参照して上述したように、フィレット（またはラウンド）面は、図２２〜２４を参照して上述したように、フィレット（またはラウンド）面は、すべての
【数１２】
2020115335.tif 000014
に対して、曲線
【数１３】
2020115335.tif 000015
が、ｕに依存しない半径を有する円の一部であるようにパラメータ
【数１４】
2020115335.tif 000016
として表され得る。もしくは、すべての
【数１５】
2020115335.tif 000017
に対して、曲線
【数１６】
2020115335.tif 000018
が、ｖに依存しない半径の円の一部であるようになされる。フィレット（またはラウンド）操作の半径は、円の半径を示す。以下では、フィレット（またはラウンド）操作の半径のことを、「凹状（または凸状）面（すなわち、鋭いエッジを置換する面）の半径」とも言う。一例において、同じラウンド（またはフィレット）操作をすべての選択された鋭いエッジに対して適用することは、ラウンド（またはフィレット）操作をすべての選択されたエッジに対して自動的かつ統一された方法で適用することを含む。操作を選択された鋭いエッジに対して自動的かつ統一された方法で適用することは、操作を特定する（例えば、ユーザのアクションに応じて選択する）こと、操作を（例えば、ユーザのアクションに応じて、ＣＡＤシステムとの対話によって）開始すること、および、自動的に（例えば、ＣＡＤシステムによって）、すべての選択された鋭いエッジに対して（例えば、実質的に）同一に、かつ／または（例えば、実質的に）同時に操作を適用することから構成される。操作の特定は、例えば、ＣＡＤシステムのソフトウェアとの対話によって、フィレットタイプとラウンドタイプから操作タイプを選択することを含み得る。操作の特定はさらに、選択されたラウンドまたはフィレット操作の半径を、（例えば、キーボードを使って）宣言することを含み得る。
【０１１３】
同じラウンド（またはフィレット）操作をすべての選択された鋭いエッジに対して適用した結果、選択された鋭いエッジのそれぞれは、凸状（または凹状）面である滑らかな遷移に置換される。滑らかな遷移のそれぞれは同じ半径を有し、これはラウンド（またはフィレット）操作のいずれか一方である。図３２〜３５の例において、同じラウンド操作がすべての選択されたエッジ１、２、３、４、７、８、に対して適用される。その結果、図３５に示すように、これらのエッジはすべて同じ半径の凸状面に置換される。
【０１１４】
一例において、エッジの集合は、当該エッジの集合に沿って定義される機械部分の外側表面部に対応する形状を機械加工するためのカッティングツールの１つまたは複数の経路を表す。これらの例において、ラウンドまたはフィレット操作の半径は、カッティングツールの半径に対応し得る。
【０１１５】
各選択された鋭いエッジは、フィレット（またはラウンド）操作を適用した結果、凹状（または凸状）面に置換される。従って、鋭いエッジを置換する凹状（また凸状）面は、カッティングツールを適用することによって機械加工される形状の円筒部分（すなわち、外側表面が円筒の側面の内側（または外側）部分である形状の一部）を表し得る。前述したように、形状は、機械部分の材料の１つまたは複数のレイアウトの外側表面の形状であってよく、または、マトリクスの材料の１つまたは複数のレイアウトの外側表面の形状によって形作られてもよい。形状の円筒部分が、カッティングツールを適用している間、当該カッティングツールが形状のすべての円筒部分と連続的に接触し得るような部分である点において、フィレット（またはラウンド）操作の半径はカッティングツールの半径に対応する。例において、ラウンド（またはフィレット）操作の半径は、カッティングツールの半径と同等もしくは実質的に同等である。
【０１１６】
図２の例において、機械部分２０の質量低減ポケット２４の外側表面部の形状は、カッティングツールが質量低減ポケット２４の外側表面部の屈曲部上を通過するときでも、カッティングツール２２が当該外側表面部に連続的に接触し得るように設けられている。
【０１１７】
選択された鋭いエッジをラウンド加工またはフィレット加工することで、より現実的な機械部分を設計することが可能になる。実際のところ、選択された鋭いエッジはカッティングツールの転回を表してもよく、カッティングツールは鋭い転回では適用できない。カッティングツールは、滑らかでかつカッティングツールが転回の間機械加工される形状に継続的に接触できるように設定された半径を有する転回でのみ適用することができる。従って、本方法により、転回を表す（例えば、すべての）鋭いエッジを、カッティングツールの（例えば、機械的に）現実的な転回を表す滑らかな遷移に変形することが可能になる。さらに、本方法はこうした変形を効率的かつ人間工学的に行う。なぜなら、（例えば、すべての）鋭いエッジは自動的かつ統一された方法で滑らかな遷移に変形され、従ってユーザのアクションを伴わないからである。
【０１１８】
図３８は、システムのＧＵＩの一例を示し、そのシステムはＣＡＤシステムである。
【０１１９】
ＧＵＩ２１００は、底部およびサイドのツールバー２１４０，２１５０だけでなく標準的なメニューバー２１１０，２１２０を有する、典型的なＣＡＤのようなインタフェースであってもよい。そのようなメニューバーおよびツールバーは、ユーザが選択可能なアイコンの集合を含み、それぞれのアイコンは、当該技術分野において知られているように、１つまたは複数のオペレーションまたは機能に関係している。これらのアイコンのうちのいくつかは、ＧＵＩ２１００に表示された３Ｄモデル化オブジェクト２０００を編集および／または作業することに適したソフトウェアツールに関係している。ソフトウェアツールは、ワークベンチに分けられてもよい。それぞれのワークベンチは、ソフトウェアツールのサブセットを含む。特別には、ワークベンチの１つは、モデル化された製品２０００の幾何学的特徴を編集するのに適している編集ワークベンチである。オペレーションにおいて、設計者は、例えば、オブジェクト２０００の一部を予め選択し、次に、適切なアイコンの選択によって、幾何学的制約を編集するか、オペレーション（例えば、次元、色などを変更する）を始める。例えば、典型的なＣＡＤオペレーションは、スクリーンに表示された３Ｄモデル化オブジェクトの穴あけまたは折り曲げのモデリングである。ＧＵＩは、例えば、表示された製品２０００に関する表示データ２５００を表示してもよい。図の例において、データ２５００（「特徴ツリー」として表示されている）およびそれらの３Ｄ表現２０００は、ブレーキキャリパおよびディスクを含むブレーキ組立体に関する。３Ｄ表現２０００によって表されるようなブレーキ組立体は、本方法によって設計され得る。ＧＵＩは、例えば、オブジェクトの３Ｄ配向を容易化するため、編集された製品のオペレーションのシミュレーションを開始するため、または、表示された製品２０００の様々な属性を与えるための、様々なタイプのグラフィックツール２１３０，２０７０，２０８０をさらに示してもよい。ユーザがグラフィックツールと対話することを可能にするように、カーソル２０６０は触覚デバイスによってコントロールされてもよい。
【０１２０】
図３９は、クライアントコンピュータシステム（例えばユーザのワークステーション）システムの一例を示す。
【０１２１】
本例のクライアントコンピュータは、内部通信バス（ＢＵＳ）１０００に接続された中央処理装置（ＣＰＵ）１０１０、同じくＢＵＳに接続されたランダムアクセスメモリ（ＲＡＭ）１０７０を含む。クライアントコンピュータは、ＢＵＳに接続されたビデオランダムアクセスメモリ１１００に関係するグラフィック処理装置（ＧＰＵ）１１１０をさらに備える。ビデオＲＡＭ１１００は、この技術分野において、フレームバッファとしても知られている。大容量記憶装置コントローラ１０２０は、ハードドライブ１０３０のような大容量メモリ装置へのアクセスを管理する。コンピュータプログラムの命令およびデータを明確に包含するのに適した大容量メモリ装置は、すべての形式の不揮発性メモリ（ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリ装置のような半導体メモリ装置を例えば含む）、内部ハードディスクおよびリムーバブルディスクのような磁気ディスク、光磁気ディスク、および、ＣＤ−ＲＯＭディスク１０４０を含む。前記のいずれかは、特別に設計されたＡＳＩＣｓ（特定用途向け集積回路）によって補足されるか、それに組み込まれてもよい。ネットワークアダプタ１０５０は、ネットワーク１０６０へのアクセスを管理する。また、クライアントコンピュータは、カーソル制御装置、キーボードなどのような触覚デバイス１０９０を含んでもよい。ディスプレイ１０８０上の任意の所望の位置にユーザが選択的にカーソルを置くことを可能にするために、クライアントコンピュータにおいてカーソル制御装置が使用される。さらに、カーソル制御装置は、ユーザが、様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための複数の信号生成装置を含む。典型的には、カーソル制御装置は、マウスであってもよく、マウスのボタンは信号を生成するために使用される。あるいはまたはさらに、クライアントコンピュータシステムは、感知可能なパッドおよび／または感知可能なスクリーンを含んでもよい。
【０１２２】
コンピュータプログラムは、コンピュータによって実行可能な命令を含んでもよく、命令は、上記のシステムに本方法を行わせるための手段を含む。プログラムは、任意のデータ記憶媒体（システムのメモリを含む）に記録可能であってもよい。プログラムは、例えば、デジタル電子回路において、または、コンピュータハードウェア、ファームウェア、ソフトウェアにおいて、もしくはそれらの組み合わせにおいて、実行されてもよい。プログラムは、装置として、例えばプログラム可能なプロセッサによる実行のための機械可読の記憶装置に明確に組み込まれた製品として、実行されてもよい。方法ステップは、入力データを処理し出力を生成することによって本方法の機能を実行する命令のプログラムを実行するプログラム可能なプロセッサによって行われてもよい。このように、プロセッサは、プログラム可能であってもよく、且つ、データ記憶システム、少なくとも１つの入力装置、および少なくとも１つの出力装置、からデータおよび命令を受け取るように、およびそれへデータおよび命令を送るように、つながれていてもよい。望むのであれば、アプリケーションプログラムは、ハイレベルの手続き型またはオブジェクト指向のプログラミング言語で、または、アセンブリ言語もしくは機械語で実行されてもよい。いずれの場合も、言語は、コンパイラ型言語またはインタープリタ型言語であってもよい。プログラムは、完全なインストールプログラムまたはアップデートプログラムであってもよい。システムへのプログラムの適用は、いずれの場合も、本方法を行うための命令をもたらす。
【図１】
2020115335.tif 000019
【図２】
2020115335.tif 000020
【図３】
2020115335.tif 000021
【図４】
2020115335.tif 000022
【図５】
2020115335.tif 000023
【図６】
2020115335.tif 000024
【図７】
2020115335.tif 000025
【図８】
2020115335.tif 000026
【図９】
2020115335.tif 000027
【図１０】
2020115335.tif 000028
【図１１】
2020115335.tif 000029
【図１２】
2020115335.tif 000030
【図１３】
2020115335.tif 000031
【図１４】
2020115335.tif 000032
【図１５】
2020115335.tif 000033
【図１６】
2020115335.tif 000034
【図１７】
2020115335.tif 000035
【図１８】
2020115335.tif 000036
【図１９】
2020115335.tif 000037
【図２０】
2020115335.tif 000038
【図２１】
2020115335.tif 000039
【図２２】
2020115335.tif 000040
【図２３】
2020115335.tif 000041
【図２４】
2020115335.tif 000042
【図２５】
2020115335.tif 000043
【図２６】
2020115335.tif 000044
【図２７】
2020115335.tif 000045
【図２８】
2020115335.tif 000046
【図２９】
2020115335.tif 000047
【図３０】
2020115335.tif 000048
【図３１】
2020115335.tif 000049
【図３２】
2020115335.tif 000050
【図３３】
2020115335.tif 000051
【図３４】
2020115335.tif 000052
【図３５】
2020115335.tif 000053
【図３６】
2020115335.tif 000054
【図３７】
2020115335.tif 000055
【図３８】
2020115335.tif 000056
【図３９】
2020115335.tif 000057
【外国語明細書】
2020115335.tif 000058
2020115335.tif 000059
2020115335.tif 000060
2020115335.tif 000061
2020115335.tif 000062
2020115335.tif 000063
2020115335.tif 000064
2020115335.tif 000065
2020115335.tif 000066
2020115335.tif 000067
2020115335.tif 000068
2020115335.tif 000069
2020115335.tif 000070
2020115335.tif 000071
2020115335.tif 000072
2020115335.tif 000073
2020115335.tif 000074
2020115335.tif 000075
2020115335.tif 000076
2020115335.tif 000077
2020115335.tif 000078
2020115335.tif 000079
2020115335.tif 000080
2020115335.tif 000081
2020115335.tif 000082
2020115335.tif 000083
2020115335.tif 000084
2020115335.tif 000085
2020115335.tif 000086
2020115335.tif 000087
2020115335.tif 000088
2020115335.tif 000089
2020115335.tif 000090
2020115335.tif 000091
2020115335.tif 000092
2020115335.tif 000093
2020115335.tif 000094
2020115335.tif 000095
2020115335.tif 000096
【図１】
2020115335.tif 000097
【図２】
2020115335.tif 000098
【図３】
2020115335.tif 000099
【図４】
2020115335.tif 000100
【図５】
2020115335.tif 000101
【図６】
2020115335.tif 000102
【図７】
2020115335.tif 000103
【図８】
2020115335.tif 000104
【図９】
2020115335.tif 000105
【図１０】
2020115335.tif 000106
【図１１】
2020115335.tif 000107
【図１２】
2020115335.tif 000108
【図１３】
2020115335.tif 000109
【図１４】
2020115335.tif 000110
【図１５】
2020115335.tif 000111
【図１６】
2020115335.tif 000112
【図１７】
2020115335.tif 000113
【図１８】
2020115335.tif 000114
【図１９】
2020115335.tif 000115
【図２０】
2020115335.tif 000116
【図２１】
2020115335.tif 000117
【図２２】
2020115335.tif 000118
【図２３】
2020115335.tif 000119
【図２４】
2020115335.tif 000120
【図２５】
2020115335.tif 000121
【図２６】
2020115335.tif 000122
【図２７】
2020115335.tif 000123
【図２８】
2020115335.tif 000124
【図２９】
2020115335.tif 000125
【図３０】
2020115335.tif 000126
【図３１】
2020115335.tif 000127
【図３２】
2020115335.tif 000128
【図３３】
2020115335.tif 000129
【図３４】
2020115335.tif 000130
【図３５】
2020115335.tif 000131
【図３６】
2020115335.tif 000132
【図３７】
2020115335.tif 000133
【図３８】
2020115335.tif 000134
【図３９】
2020115335.tif 000135