(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-01
(45)【発行日】2024-10-09
(54)【発明の名称】突起又は窪みを特徴とする部分の設計
(51)【国際特許分類】
G06F 30/10 20200101AFI20241002BHJP
【FI】
G06F30/10 100
【外国語出願】
(21)【出願番号】P 2020010851
(22)【出願日】2020-01-27
【審査請求日】2023-01-05
(32)【優先日】2019-02-01
(33)【優先権主張国・地域又は機関】EP
(73)【特許権者】
【識別番号】500102435
【氏名又は名称】ダッソー システムズ
【氏名又は名称原語表記】DASSAULT SYSTEMES
(74)【代理人】
【識別番号】110000752
【氏名又は名称】弁理士法人朝日特許事務所
(72)【発明者】
【氏名】マリーニ ローラン
【審査官】松浦 功
(56)【参考文献】
【文献】特開2009-053864(JP,A)
【文献】国際公開第2016/178106(WO,A1)
【文献】特開2007-233560(JP,A)
【文献】LI, J. et al.,Automatic small depression feature recognition from solid B-rep models for meshing,2011 International Conference on Electrical and Control Engineering,IEEE,2011年,pp. 4986-4989,[検索日 2023.12.04],インターネット,URL:https://ieeexplore.ieee.org/document/6057432
【文献】LIM, T. et al.,Edge-Based Identification of DP-Features on Free-Form Solids,IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE,IEEE,2005年06月,VOL. 27, NO. 6,pp. 851-860,[検索日 2023.12.08],インターネット,URL:https://ieeexplore.ieee.org/document/1424455
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00 -30/28
Google Scholar
(57)【特許請求の範囲】
【請求項1】
機械部品を表す3Dモデル化物体をCADシステムで設計するためのコンピュータ実施方法であって、
・機械部品を表すB-repを提供するステップ(S10)であって、当該B-Repは面及びエッジを有するステップと、
・第1の組の面及び特徴タイプを提供するステップ(S20)であって、当該特徴タイプは窪み特徴タイプ又は突起特徴タイプのいずれかであるステップと、
・前記CADシステムによって自動的に、前記第1の組の面内の第2の組の面を認識するステップ(S30)であって、当該第2の組の面は、提供された特徴タイプの特徴を表すステップと
を含み、
前記第2の組の面が1つ以上の基本部分集合間の連結を形成し、ここで、滑らかなスキンは1つの面、又は滑らかな内面エッジのみを有する接続された複数の面の組であり、
・前記提供される特徴タイプが前記窪み特徴タイプである場合、前記基本部分集合は凸状エッジ又は丸い面のみによって境界付けられ、凸状内部エッジ及び丸い面を含まない1つ又は複数の面の接続された集合であり、当該基本部分集合は滑らかなスキンではないか、又は凹面基準を満たす滑らかなスキンのいずれかであり、及び/又は、
・前記提供される特徴タイプが前記突起特徴タイプである場合、前記基本部分集合は凹状エッジ又はフィレット面のみによって境界付けられ、凹状内部エッジ及びフィレット面を含まない1つ以上の面の接続された組であり、当該基本部分集合は滑らかなスキンでないか、又は凸面基準を満たす滑らかなスキンのいずれかであり、
・滑らかなスキンが滑らかなままでその法線ベクトルの方向に任意にオフセットできない場合、凸状エッジ又は丸い面のみによって境界付けられ、凸状内部エッジを含まず、丸い面を含まない当該滑らかなスキンが、凹面基準を満たし、及び/又は
・滑らかなスキンが滑らかなままでその法線ベクトルの反対方向に任意にオフセットできない場合、凹状エッジ部又はフィレット面のみによって境界付けられ、凹状内部エッジを含まず、フィレット面を含まない当該滑らかなスキンが、凸面基準を満たす
方法。
【請求項2】
前記第2の組の面は、前記第1の組のすべての基本部分集合を含む
請求項
1に記載の方法。
【請求項3】
各々の基本部分集合は少なくとも1つの他の基本部分集合に接続され、2つの基本部分集合は所定のエッジタイプのエッジのみ又は所定の面タイプの面のみを共有する場合に接続され、
・前記提供される特徴タイプが窪み特徴タイプである場合、所定のエッジタイプが凸状エッジタイプであり、所定の面タイプが丸面タイプであり、及び/又は、
・前記提供される特徴タイプが突起特徴タイプである場合、前記所定のエッジタイプが凹状エッジタイプであり、前記所定の面タイプがフィレット面タイプである
請求項
1又は
2に記載の方法。
【請求項4】
前記認識するステップ(S30)は、
・1つ以上の候補基本部分集合を決定するステップ(S310)を含み、
・・前記提供された特徴タイプが前記窪み特徴タイプである場合、前記候補基本部分集合は凸状エッジ又は丸い面のみによって境界付けられ、凸状内部エッジ及び丸い面を含まない1つ又は複数の面の接続された組であり、及び/又は、
・・前記提供された特徴タイプが前記突起特徴タイプである場合、候補基本部分集合は凹状エッジ又はフィレット面のみによって境界付けられ、凹状内部エッジ及びフィレット面を含まない1つ又は複数の面の接続された組であり、
前記1つ以上の候補基本部分集合を決定するステップ(S310)は、前記第1の組の面を、それぞれが正確に1つの候補基本部分集合に属する面と、候補基本部分集合に属さない面とに分割し、
・決定された候補基本部分集合の中から1つ又は複数の基本部分集合を識別するステップ(S320)を含む
請求項
1に記載の方法。
【請求項5】
前記1つ以上の候補基本部分集合を決定するステップ(S310)は、前記第1の組の面を繰り返し訪問することを含み、面を訪問するステップは、
・面が候補基本部分集合に含まれるべきかどうかを決定するステップと、
・前記面が候補基本部分集合に含まれるべきである場合、前記面を基本部分集合内に含ませ、当該面が再び訪問されるべきでないことを決定するステップと
を含む、請求項
4に記載の方法。
【請求項6】
前記第1の組の面を提供するステップ(S20)は、
・前記CADシステムのディスプレイに前記B-repを表示するステップと、
・グラフィカルなユーザ対話によって最初の面の組を選択するステップと
を含む、請求項1乃至
5のいずれか1項に記載の方法。
【請求項7】
・前記第1の組の面を選択するステップは、グラフィカルユーザ対話によって、ディスプレイ上に閉曲線を定義するステップと、
・前記閉曲線の中に投影されたB-repの各面を、CADシステムによって自動的に識別するステップと
を含む、請求項
6に記載の方法。
【請求項8】
前記第1の組の面を選択するステップは、
・識別された面を面の互いに素な連結された部分集合に分割するステップであって、ただ1つの部分集合が面の第1の集合であるステップと、
・他のすべての部分集合を廃棄するステップと、
が前記CADシステムによって自動的に行われることをさらに含む
請求項
7に記載の方法。
【請求項9】
前記機械部品が、
・成形部品、
・機械加工部品、
・穿孔加工部品、
・旋盤加工部品、
・鍛造部品、
・プレス加工部品、及び/又は、
・折りたたみ曲げ部品
である請求項1乃至
8のいずれか一項に記載の方法。
【請求項10】
特徴タイプが窪み特徴タイプである場合、指定された特徴タイプの特徴は、
・質量減少特徴、
・空間予約特徴、
・固定特徴、
・硬さ特徴、
・調整特徴、
・位置決め特徴、
・機械的接合特徴と、
・冷却特徴、
・空間予約特徴、
・回転又は円筒形の機械的接合特徴、
・アセンブリ特徴、及び/又は
・剛性特徴
である請求項1乃至
9のいずれか1項に記載の方法。
【請求項11】
コンピュータに、請求項1乃至
10のいずれか1項に記載の方法を実行
させるため
のコンピュータプログラム。
【請求項12】
請求項
11に記載のコンピュータプログラムを記録したコンピュータ可読記憶媒体。
【請求項13】
請求項
11に記載のコンピュータプログラムを記録し
たメモリ及びディスプレイに結合され
、前記コンピュータプログラムにより動作させられるプロセッサを含むコンピュータ。
【発明の詳細な説明】
【技術分野】
【0001】
本発明はコンピュータプログラム及びシステムの分野に関し、より具体的には、機械部品を表す3Dモデル化オブジェクトを設計するための方法、システム、及びプログラムに関する。
【背景技術】
【0002】
物体の設計、エンジニアリング及び製造のために、多数のシステム及びプログラムが市場に提供されている。CADはコンピュータ支援設計の頭字語であり、例えば、オブジェクトを設計するためのソフトウェアソリューションに関する。CAEはコンピュータ支援エンジニアリングの頭字語であり、例えば、将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関連する。CAMはコンピュータ支援製造の頭字語であり、例えば、製造処理及び動作を定義するためのソフトウェアソリューションに関する。そのようなコンピュータ支援設計システムでは、グラフィカルユーザーインタ面が技法の効率に関して重要な役割を果たす。これらの技術は、製品ライフサイクル管理(PLM)システム内に組み込まれてもよい。PLMとは、企業が製品データを共有し、共通の処理を適用し、企業知識を活用して、長期的な企業のコンセプトを越えて、コンセプトから生涯にわたる製品の開発に役立てることを支援するビジネス戦略のことをいう。(CATIA、ENOVIA及びDELMIAの商標で)ダッソーシステムズによって提供されるPLMソリューションは、製品工学知識を編成するエンジニアリングハブと、製造工学知識を管理する製造ハブと、エンタープライズハブ及びエンジニアリングハブ及び製造ハブの両方への接続を可能にする企業ハブとを提供する。全体として、システムは最適化された製品定義、製造準備、生産、及びサービスを駆動する動的な知識ベースの製品作成及び意思決定サポートを可能にするために、製品、プロセス、リソースをリンクするオープンオブジェクトモデルを提供する。
【0003】
機械的設計の文脈では、窪み(又は突起)が機械部品を表すB-repの面及びエッジによって表される機能的特徴であり、非常に複雑であり得る。内部的な詳細は、B-repの凸状・凹状エッジを含んでいる可能性がある。これらの詳細は、隣接する形状及び視点の配向のためにユーザから隠される。これらの理由のために、複雑な窪み(又は突起)を表すB-repの全ての面を選択することは非常に困難であり得る。
【0004】
突起又は窪みの認識及び/又は選択のための既存の方法は効率的ではない。これらの方法は、効率及び/又は人間工学の欠如に悩まされている。
【0005】
これに関連して、機械部品を設計するための改善された方法が依然として必要とされている。
【発明の概要】
【0006】
したがって、機械部品を表す3Dモデル化物体をCADシステムで設計するためのコンピュータ実施方法が提供される。この方法は、機械部品を表すB-repを提供するステップを含む。当該B-Repは面及びエッジを有する。この方法はさらに、第1の組の面及び特徴タイプを提供するステップを含む。当該特徴タイプは窪み特徴タイプ又は突起特徴タイプのいずれかである。この方法はさらに、前記CADシステムによって自動的に、前記第1の組の面内の第2の組の面を認識するステップを含む。当該第2の組の面は、提供された特徴タイプの特徴を表す。
【0007】
このような方法は、機械部品を設計するための改良された方法を提供する。
【0008】
特に注目すべきは、この方法は、機械部品を表すB-repの窪み特徴または特記特徴を表す面を認識することを可能にすることである。言い換えれば、この方法は、機械設計に関連する情報を決定することを可能にする。
【0009】
さらに、この方法は、面を自動的に認識する。言い換えれば、この方法は、認識のためのユーザ操作を伴わない。この方法は人間工学に基づいている。
【0010】
さらに、この方法は、第1の顔の組を提供し、第2の顔のセットを第1の顔のセット内で認識することにより第2の顔のセットを提供するという2段階で進行する。この2段階のアプローチにより、ロバスト性が向上する。さらに、この2ステップのアプローチは、第1の集合は、特徴を表すそれぞれの面だけで構成されている必要はないので、大まかな方法で第1の集合を提供することができる。実際、自動認識は、第1の集合内でフィルタリングを操作してもよい。
【0011】
この方法は、以下の1つ以上を含んでもよい。
・前記第2の組の面が1つ以上の基本部分集合間の連結を形成し、ここで、滑らかなスキンは1つの面、又は滑らかな内面エッジのみを有する接続された複数の面の組であり、
・・前記提供される特徴タイプが前記窪み特徴タイプである場合、前記基本部分集合は凸状エッジ又は丸い面のみによって境界付けられ、凸状内部エッジ及び丸い面を含まない1つ又は複数の面の接続された集合であり、当該基本部分集合は滑らかなスキンではないか、又は凹面基準を満たす滑らかなスキンのいずかであり、及び/又は、
・・前記提供される特徴タイプが前記突起特徴タイプである場合、前記基本部分集合凹状エッジ又はフィレット面のみによって境界付けられ、凹状内部エッジ及びフィレット面を含まない1つ以上の面の接続された組であり、当該基本部分集合は滑らかなスキンではないか、又は凸面基準を満たす滑らかなスキンのいずれかである。
・前記第2の組の面は、前記第1の組のすべての基本部分集合を含む。
・各々の基本部分集合は少なくとも1つの他の基本部分集合に接続され、2つの基本部分集合は所定のエッジタイプのエッジのみ又は所定の面タイプの面のみを共有する場合に接続され、
・・前記提供される特徴タイプが窪み特徴タイプである場合、所定のエッジタイプが凸状エッジタイプであり、所定の面タイプが丸面タイプであり、及び/又は、
・・前記提供される特徴タイプが突起特徴タイプである場合、前記所定のエッジタイプが凹状エッジタイプであり、前記所定の面タイプがフィレット面タイプである
・前記滑らかなスキンが滑らかなままでその法線ベクトルの方向に任意にオフセットできない場合、凸状エッジ又は丸い面のみによって境界付けられ、凸状内部エッジを含まず、丸い面を含まない滑らかなスキンが凹面基準を満し、
・前記滑らかなスキンが滑らかなままでその法線ベクトルの反対方向に任意にオフセットできない場合、凹状エッジ部又はフィレット面のみによって境界付けられ、凹状内部エッジを含まず、フィレット面を含まない滑らかなスキンが凸面基準を満たす。
・前記認識するステップは、
・・1つ以上の候補基本部分集合を決定するステップを含み、
・・・前記提供された特徴タイプが前記窪み特徴タイプである場合、前記候補基本部分集合は凸状エッジ又は丸い面のみによって境界付けられ、凸状内部エッジ及び丸い面を含まない1つ又は複数の面の接続された組であり、及び/又は、
・・・前記提供された特徴タイプが前記突起特徴タイプである場合、候補基本部分集合は凹状エッジ又はフィレット面のみによって境界付けられ、凹状内部エッジ及びフィレット面を含まない1つ又は複数の面の接続された組であり、
前記1つ以上の候補基本部分集合を決定するステップは、前記第1の組の面を、それぞれが正確に1つの候補基本部分集合に属する面と、候補基本部分集合に属さない面とに分割し、
・・決定された候補基本部分集合の中から1つ又は複数の基本部分集合を識別するステップを含む。
・前記1つ以上の候補基本部分集合を決定するステップは、前記第1の組の面を繰り返し訪問することを含み、面を訪問するステップは、
・・面が候補基本部分集合に含まれるべきかどうかを決定するステップと、
・・前記面が候補基本部分集合に含まれるべきである場合、前記面を基本部分集合内に含ませ、当該面が再び訪問されるべきでないことを決定するステップとを含む。
・前記第1の組の面を提供するステップ(S20)は、
・・前記CADシステムのディスプレイに前記B-repを表示するステップと、
・・グラフィカルなユーザ対話によって第1の面の組を選択するステップとを含む。
・前記第1の組の面を選択するステップは、
・・グラフィカルユーザ対話によって、ディスプレイ上に閉曲線を定義するステップと、
・・前記閉曲線の中に投影されたB-repの各面を、CADシステムによって自動的に識別するステップとを含む。
・前記第1の組の面を選択するステップは、
・・識別された面を面の互いに素な連結された部分集合に分割するステップであって、ただ1つの部分集合が面の第1の集合であるステップと、
・・他のすべての部分集合を廃棄するステップと、
が前記CADシステムによって自動的に行われることをさらに含む。
・前記機械部品が、
・・成形部品、
・・機械加工部品、
・・穿孔加工部品、
・・旋盤加工部品、
・・鍛造部品、
・・プレス加工部品、及び/又は、
・・折りたたみ曲げ部品である。
・特徴タイプが窪み特徴タイプである場合、指定された特徴タイプの特徴は、
・・質量減少特徴、
・・空間予約特徴、
・・固定特徴、
・・硬さ特徴、
・・調整特徴、
・・位置決め特徴、
・・機械的接合特徴と、
・・冷却特徴、
・・空間予約特徴、
・・回転又は円筒形の機械的接合特徴、
・・アセンブリ特徴、及び/又は
・・剛性特徴
である。
【0012】
さらに、上記の方法を実行するための命令を含むコンピュータプログラムが提供される。
【0013】
さらに、上記のコンピュータプログラムを記録したコンピュータ可読記憶媒体が提供される。
【0014】
さらに、上記のコンピュータプログラムを記録した、メモリ及びディスプレイに結合されたプロセッサを含むコンピュータが提供される。
【図面の簡単な説明】
【0015】
【
図2】システムのグラフィカルユーザインターフェースの一例を示す。
【
図16】本方法によって設計された機械部品の例における窪み特徴及び突起特徴のジオメトリを示す。
【
図17】本方法によって設計された機械部品の例における窪み特徴及び突起特徴のジオメトリを示す。
【
図18】本方法によって設計された機械部品の例における窪み特徴及び突起特徴のジオメトリを示す。
【
図19】本方法によって設計された機械部品の例における窪み特徴及び突起特徴のジオメトリを示す。
【
図20】本方法によって設計された機械部品の例における窪み特徴及び突起特徴のジオメトリを示す。
【発明を実施するための形態】
【0016】
図1のフローチャートを参照すると、CADシステムと共に、機械部品を表す3Dモデル化オブジェクトを設計するためのコンピュータ実施方法が提案される。本方法は、機械部品を表すB-repを提供するステップS10を含む。B-repには面とエッジがある。本方法はさらに、第1の組の面及び特徴タイプを提供するステップS20を含む。特徴タイプは、窪み特徴タイプ又は突起特徴タイプのいずれかである。本方法はCADシステムによって自動的に、第1の面の組内の第2の面の組を認識するステップS30をさらに含む。第2の組の面は、提供された特徴タイプの特徴を表す。
【0017】
本方法は、コンピュータで実施される。これは、該方法のステップ(又は実質的に全てのステップ)が少なくとも1つのコンピュータ又は任意のシステムによって実行されることを意味する。したがって、本方法のステップはコンピュータによって、場合によっては完全に自動的に、又は半自動的に実行される。例では、方法のステップのうちの少なくともいくつかのトリガがユーザ/コンピュータ対話を介して実行され得る。必要とされるユーザ/コンピュータ対話のレベルは予測される自動化のレベルに依存し、ユーザの希望を実施する必要性とバランスをとることができる。例では、このレベルがユーザ定義及び/又は事前定義され得る。
【0018】
方法のコンピュータ実装の典型的な例は、この目的のために適合されたシステムを用いて方法を実行することである。システムはメモリに結合されたプロセッサと、グラフィカルユーザインターフェース(GUI)とを備えることができ、メモリには、本方法を実行するための命令を含むコンピュータプログラムが記録されている。メモリはまた、データベースを記憶してもよい。メモリはそのような記憶装置に適合された任意のハードウェアであり、場合によっては、いくつかの物理的に別個の部分(例えば、プログラムのための部分、及び場合によってはデータベースのための部分)を備える。
【0019】
本方法は一般に、モデル化オブジェクトを操作する。モデル化オブジェクトは、例えばデータベースに格納されたデータによって定義される任意のオブジェクトである。この延長線上で考えると、表現「モデル化オブジェクト」は、データ自体を指定する。システムはCADシステムであってもよく、モデル化オブジェクトは対応するデータによって定義される。したがって、CADオブジェクトについて話すことができる。
【0020】
CADシステムとは、さらに、CATIAのような、モデル化オブジェクトのグラフィック表現に基づいてモデル化オブジェクトを少なくとも設計するように適合された任意のシステムを意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータを含む。CADシステムは例えば、ある場合には、面又は表面を有するエッジ又は線を使用してCADモデル化オブジェクトの表現を提供することができる。線、エッジ、又は表面は様々な方法、例えば、不均一有理Bスプライン(NURBS)で表すことができる。具体的には、CADファイルは仕様を含み、そこからジオメトリを生成することができ、これにより表現を生成することができる。モデル化オブジェクトの仕様は、単一のCADファイル又は複数のCADファイルに格納することができる。CADシステム内のモデル化オブジェクトを表すファイルの典型的なサイズは、部品当たり1メガバイトの範囲内である。そして、モデル化オブジェクトは、典型的には何千もの部品のアセンブリであり得る。
【0021】
CADの文脈では、モデル化オブジェクトが典型的には例えば、部品又は部品のアセンブリ、又は場合によっては製品のアセンブリなどの製品を表す3Dモデル化オブジェクトとすることができる。「3Dモデル化オブジェクト」とは、その3D表現を可能にするデータによってモデリングされる任意のオブジェクトを意味する。3D表現は、全ての角度から部品を見ることを可能にする。例えば、3Dモデル化オブジェクトが3D表現される場合、その軸のいずれかの周り、又は表現が表示される画面内のいずれかの軸の周りで取り扱われ、回転され得る。これは特に、3Dモデル化されていない2Dアイコンを除外する。3D表現の表示は設計を容易にする(すなわち、設計者が統計的に彼らのタスクを達成する速度を増加させる)。これは、製品の設計が製造工程の一部であるため、産業界における製造工程を高速化する。
【0022】
3Dモデル化オブジェクトは例えばCADソフトウェアソリューション又はCADシステムを用いた仮想設計の完了後に現実世界で製造される製品のジオメトリを表すことができる。製品は、例えば(例えば機械的な)部品又は部品のアセンブリ(部品のアセンブリは本方法の観点から部品自体として見ることができるので、部品のアセンブリと同義である)、又はより一般的には任意の剛体アセンブリ(例えば可動機構)である。CADソフトウェアソリューションは、航空宇宙、建築、建築、消費財、ハイテク装置、産業機器、輸送、海洋、及び/又は沖合の石油/ガスの生産又は輸送を含む、さまざまな無制限の産業分野における製品の設計を可能にする。したがって、本方法によって設計された3Dモデル化オブジェクトは陸上車両の部品(例えば、自動車及び軽トラック機器、レーシングカー、オートバイ、トラック及びモータ機器、トラック及びバス、トラック及びバスを含む)、航空車両の部品(例えば、機体機器、航空宇宙機器、推進機器、防衛製品、航空機器、宇宙機器を含む)、海軍車両の部品(例えば、海軍機器、商用船、オフショア機器、ヨット及び作業船を含む)、一般機械部品(例えば、工業製造機械、重移動機械又は機器、設置機器、産業機器、加工金属製品、タイヤ製造製品を含む)、電気機械又は電子部品(例えば、家庭用電化製品、セキュリティ及び/又は制御及び/又は計装製品、コンピュータ及び通信機器、半導体、医療デバイス及び機器を含む)、消費財(家具、家庭用品、レジャー用品、ファッション用品、ハード商品小売業者の製品、ソフト商品小売業者の製品)、包装(例えば、食品及び飲料及びタバコ、美容及びパーソナルケア、家庭用品包装を含む)など、任意の機械部品であってもよい工業製品を表してもよい。
【0023】
例では、本方法によって設計される機械部品が成形部品(すなわち、成形加工工程によって製造される部品)、機械加工部品(すなわち、機械加工工程によって製造される部品)、穿孔加工部品(すなわち、穿孔加工工程によって製造される部品)、旋盤部品(すなわち、旋盤加工工程によって製造される部品)、鍛造部品(すなわち、鍛造加工工程によって製造される部品)、打ち抜き部品(すなわち、打ち抜き加工工程によって製造される部品)、及び/又は折りたたみ曲げ部品(すなわち、折りたたみ曲げ加工工程によって製造される部品)の1つ又は妥当な組み合わせである。本方法は、しばしば窪み及び/又は突起を含む機械部品のこのような例を設計するのに特に効率的である。
【0024】
特徴、窪み特徴の種類、突起特徴の種類、及び特徴のジオメトリの概念をここで論じる。以下では、簡潔にするために、窪み特徴タイプの特徴を「窪み特徴」と呼ぶことができ、突起特徴タイプの特徴を「突起特徴」と呼ぶことができる。
【0025】
機械部品は、1つ以上の特徴によって実行実現される機械的機能を果たすように設計されてもよい。例では、機械的機能が1つの特徴によって実行される。例では、機械的機能は、各々が特徴によって実行されるいくつかの機械的機能に分解される。特徴は機械的機能を果たす材料のレイアウト(例えば、配置)である。窪み特徴タイプは特徴のカテゴリであってもよく、カテゴリの各特徴は窪みの形状を有する材料のレイアウトである。付加的に、又は代替的に、突起特徴タイプは特徴のカテゴリであってもよく、カテゴリの各特徴は突起のジオメトリを有する材料のレイアウトである。
【0026】
特徴は、特徴である材料のレイアウトに対応し、及び/又はそれを表し、及び/又はそれを形成するジオメトリとすることができるジオメトリを有する。特徴のジオメトリはいくつかの基本ジオメトリを含む(例えば、それらの組み合わせを含む)ことができる。基本ジオメトリは、線形押出であってもよい。線形押出成形は、(材料を追加する)パッドであってもよい。線形押出成形は、(材料を除去する)ポケットであってもよい。基本的なジオメトリは、回転であってもよい。回転体は、(材料を追加する)シャフトであってもよい。回転体は、(材料を除去する)溝であってもよい。基本的なジオメトリは、掃引プロファイルであってもよい。掃引プロファイルは、リブ(材料を追加する)及び/又は補強材(材料を追加する)であってもよい。回転体は、(材料を除去する)スロットであってもよい。
【0027】
第2の組の面は、提供された特徴タイプの特徴を表す。提供される特徴タイプが窪み特徴タイプである場合、提供される特徴タイプの特徴は、質量減少特徴、空間予約特徴、取付け具特徴、締め付け特徴、調整特徴、位置決め特徴、機械的接合特徴、冷却特徴、空間予約、公転又は円筒形機械的接合特徴、アセンブリ特徴、及び/又は剛性特徴の1つまたもっともらしい組み合わせであり得る。代替的又は追加的に、特徴タイプが突起特徴タイプである場合、提供される特徴タイプの特徴は、補剛特徴、取付け具特徴、位置決めピン特徴、公転又は円筒状の機械的接合特徴、機械加工及び穿孔加工されたすべての突起特徴の支持体、アセンブリ特徴、及び/又は空間予約特徴の1つまたもっともらしい組み合わせであり得る。
【0028】
ここで、第2の組の面によって表される窪み特徴の例によって実行される関数の例について説明する。
【0029】
実施例では、機械部品が成形加工工程によって製造される。これらの例では、第2の組の面によって表される窪み特徴が質量減少特徴(すなわち、質量減少関数を実行する)及び/又は空間予約特徴(すなわち、空間予約関数を実行する)であってもよい。
【0030】
代替的又は追加的に、機械部品は、機械加工工程によって製造されてもよい。これらの例では、第2の組の面によって表される窪み特徴が質量減少特徴(すなわち、質量減少関数を実行すること)、固定特徴(すなわち、固定関数を実行すること)、締め付け特徴(すなわち、締め付け関数を実行すること)、調整特徴(すなわち、調整関数を実行すること)、位置決め特徴(すなわち、位置決め関数を実行すること)、機械的関節特徴(すなわち、機械的関節関数を実行すること)、冷却特徴(すなわち、冷却関数を実行すること)及び/又は空間予約特徴(すなわち、空間予約関数を実行すること)であってもよい。
【0031】
代替的又は追加的に、機械部品は、穿孔加工工程によって製造されてもよい。これらの例では、第2の組の面によって表される窪み特徴が固定特徴(すなわち、固定関数を実行する)、位置決め特徴(すなわち、位置決め関数を実行する)、回転又は円筒機械継手特徴(すなわち、回転又は円筒機械継手関数を実行する)、冷却特徴(すなわち、冷却関数を実行する)、及び/又は空間予約特徴(すなわち、空間予約関数を実行する)とすることができる。
【0032】
これに加えて、又はこれに代えて、機械部品は、旋盤加工工程によって製造されてもよい。これらの例では、第2の組の面によって表される窪み特徴が回転又は円筒状の機械的接合特徴(すなわち、回転又は円筒状の機械的接合関数を実行する)であってもよい。
【0033】
これに加えて、又はこれに代えて、機械部品は、鍛造加工工程によって製造されてもよい。これらの例では、第2の組の面によって表される窪み特徴が質量減少特徴であってもよい(すなわち、質量減少関数を実行する)。
【0034】
これに加えて、又はこれに代えて、機械部品は、プレス加工工程によって製造されてもよい。これらの例では、第2の組の面によって表される窪み特徴がアセンブリ特徴(すなわち、アセンブリ関数を実行する)、剛性特徴(すなわち、剛性関数を実行する)、及び/又は空間予約特徴(すなわち、空間予約関数を実行する)であってもよい。
【0035】
これに加えて、又はこれに代えて、機械部品は、折りたたみ曲げ加工工程によって製造されてもよい。これらの例では、第2の組の面によって表される窪み特徴がアセンブリ特徴(すなわち、アセンブリ関数を実行する)、剛性特徴(すなわち、剛性関数を実行する)、及び/又は空間予約特徴(すなわち、空間予約関数を実行する)であってもよい。
【0036】
突起特徴の例によって実行される関数の例が、ここで議論される。
【0037】
実施例では、機械部品が成形加工工程によって製造される。これらの例では、第2の組の面によって表される突起特徴が剛性特徴であっても関数(すなわち、剛性関数を実行する)。
【0038】
代替的又は追加的に、機械部品は、機械加工工程によって製造されてもよい。これらの例では、第2の組の面によって表される突起特徴が固定特徴(すなわち、固定関数を実行する)及び/又は位置決めピン特徴(すなわち、位置決めピン関数を実行する)であってもよい。
【0039】
これに加えて、又はこれに代えて、機械部品は、旋盤加工工程によって製造されてもよい。これらの例では、第2の組の面によって表される突起特徴が回転又は円筒形の機械的接合特徴(すなわち、回転又は円筒形の機械的接合関数を実行する)及び/又は位置決めピン特徴(すなわち、位置決めピン関数を実行する)とすることができる。
【0040】
これに加えて、又はこれに代えて、機械部品は、鍛造加工工程によって製造されてもよい。これらの例では、第2の組の面によって表される突起特徴が剛性特徴(すなわち、剛性関数を実行する)及び/又はすべての機械加工及び穿孔された突起特徴のための支持(すなわち、すべての機械加工及び穿孔された突起関数のための支持を実行する)とすることができる。
【0041】
これに加えて、又はこれに代えて、機械部品は、プレス加工工程によって製造されてもよい。これらの例では、第2の組の面によって表される突起特徴がアセンブリ特徴(すなわち、アセンブリ関数を実行する)、剛性特徴(すなわち、剛性関数を実行する)、及び/又は空間予約特徴(すなわち、空間予約関数を実行する)であってもよい。
【0042】
これに加えて、又はこれに代えて、機械部品は、折りたたみ曲げ加工工程によって製造されてもよい。これらの例では、第2の組の面によって表される突起特徴がアセンブリ特徴(すなわち、アセンブリ関数を実行する)、剛性特徴(すなわち、剛性関数を実行する)、及び/又は空間予約特徴(すなわち、空間予約関数を実行する)であってもよい。
【0043】
図16乃至
図20は、本方法によって設計された機械部品の例における、窪み特徴及び突起特徴の例のジオメトリの例を示す。
図16は、鍛造部品上の質量減少窪み特徴のジオメトリ162を示す。
図17は、鋳造穿孔加工部品上の固定特徴のジオメトリ172を示す。ジオメトリ172は、固定特徴の突出部分に対応する固定ボスのジオメトリと、固定特徴の穿孔された部分に対応する固定穴のジオメトリとを含む。
図17は、鋳造穿孔加工部品の上の補強材突起特徴のジオメトリ174をさらに示す。
図17は、鋳造穿孔加工部品の上の位置決め窪みジオメトリ176のジオメトリ176をさらに示す。
図18は、鋳造機械加工部品上の冷却突起特徴のジオメトリ182を示す。
図19は、機械加工部品の上の機械加工された突起特徴のための支持体のジオメトリ192と、その一部を機械加工することによって得られる機械的接合突起特徴のジオメトリ194とを示す。
図20は、プレス加工部品の上の2つの対応する位置決め窪み特徴の2つのジオメトリ202、204を示す。
図20は更に、プレス加工部品の上の空間予約窪み特徴を示す。
【0044】
図2はシステムのGUIの一例を示し、システムはCADシステムである。
【0045】
GUI 2100は、標準的なメニューバー2110、2120、ならびに底部及び側部ツールバー2140、2150を有する、典型的なCAD様インターフェースであり得る。このようなメニューバー及びツールバーはユーザが選択可能なアイコンの組を含み、各アイコンは当技術分野で知られているように、1つ又は複数の操作又は関数に関連付けられている。これらのアイコンのいくつかは、GUI2100に表示された3Dモデル化オブジェクト2000を編集及び/又は作業するように適合されたソフトウェアツールに関連付けられる。ソフトウェアツールは、ワークベンチにグループ化することができる。各ワークベンチは、ソフトウェアツールの部分集合を含む。特に、ワークベンチの1つは、モデル化された製品2000の幾何学的特徴を編集するのに適した編集ワークベンチである。動作中、設計者は例えば、オブジェクト2000の一部を事前に選択し、次いで、適切なアイコンを選択することによって、動作(例えば、寸法、色などを変更する)又は幾何学的制約を編集することができる。例えば、典型的なCAD動作は、画面上に表示される3Dモデル化オブジェクトの打ち抜き加工又は折り畳みのモデル化である。GUIは例えば、表示された製品2000に関連するデータ2500を表示することができる。図の例では「特徴木」として表示されるデータ2500、及びそれらの3D表現2000はブレーキキャリパ及びディスクを含むブレーキアセンブリに関する。3D表現2000によって表されるもののようなブレーキアセンブリは、本方法によって設計されてもよい。GUIは編集された製品の動作のシミュレーションをトリガするために、又は表示された製品2000の様々な属性をレンダリングするために、例えば、オブジェクトの3D配向を容易にするための様々なタイプのグラフィックツール2130、2070、2080をさらに示すことができる。カーソル2060はユーザがグラフィックツールと対話することを可能にするために、触覚デバイスによって制御され得る。
【0046】
図3は、システムがクライアントコンピュータシステム、例えばユーザのワークステーションであるシステムの一例を示す。
【0047】
この例のクライアントコンピュータは、内部通信バス1000に接続された中央処理装置(CPU)1010と、やはりバスに接続されたランダムアクセスメモリ(RAM)1070とを備える。クライアントコンピュータには、さらに、BUSに接続されたビデオランダムアクセスメモリ1100に関連するグラフィカルプロセッシングユニット(GPU)1110が設けられている。ビデオRAM1100は、当技術分野ではフレームバッファとしても知られている。大容量記憶装置の制御装置1020は、ハードドライブ1030などの大容量記憶装置へのアクセスを管理する。コンピュータプログラム命令及びデータを有形に具現化するのに適した大容量メモリデバイスは、例として、EPROM、EEPROM、及びフラッシュメモリデバイスなどの半導体メモリデバイス、内部ハードディスク及びリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD-ROMディスク1040を含む、すべての形態の不揮発性メモリを含む。前述のいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補足されるか、又はその中に組み込まれてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータは、カーソル制御デバイス、キーボードなどの触覚デバイス1090も含むことができる。ユーザがディスプレイ1080上の任意の所望の位置にカーソルを選択的に位置決めすることを可能にするために、カーソル制御装置がクライアントコンピュータ内で使用される。さらに、カーソル制御装置はユーザが様々なコマンドを選択し、制御信号を入力することを可能にする。カーソル制御装置は、システムに制御信号を入力するための多数の信号発生装置を含む。典型的にはカーソル制御装置がマウスであってもよく、マウスのボタンは信号を生成するために使用される。代替的に又は追加的に、クライアントコンピュータシステムは、センシティブパッド及び/又はセンシティブスクリーンを含むことができる。
【0048】
コンピュータプログラムはコンピュータによって実行可能な命令を含むことができ、命令は、上記装置に該方法を実行させるための手段を含む。プログラムは、システムのメモリを含む任意のデータ記憶媒体に記録可能であってもよい。プログラム例えば、デジタル電子回路において、又はコンピュータハードウェア、ファームウェア、ソフトウェアにおいて、又はそれらの組み合わせにおいて実装されてもよい。プログラムは装置、例えば、プログラマブルプロセッサによる実行のための機械可読記憶デバイスに有形に具現化された製品として実装されてもよい。本方法のステップは入力データに対して動作し、出力を生成することによって、本方法の関数を実行するための命令のプログラムを実行するプログラマブルプロセッサによって実行されてもよい。したがって、プロセッサはプログラム可能であり、データ記憶システム、少なくとも1つの入力デバイス、及び少なくとも1つの出力デバイスからデータ及び命令を受信し、それらにデータ及び命令を送信するように結合され得る。アプリケーションプログラムは、高レベルの手続き型又をブジェクト指向プログラミング言語で、あるいは必要に応じてアセンブリ言語又は機械語で実装することができる。いずれの場合も、言語は、コンパイルされた言語又は解釈された言語であってもよい。プログラムはフルインストールプログラムであってもよいし、更新プログラムであってもよい。システム上にプログラムを適用すると、いずれにしても、本方法を実行するための命令が得られる。
【0049】
「3Dモデル化オブジェクトを設計する」は、3Dモデル化オブジェクトを作成するプロセスの少なくとも一部である任意のアクション又は一連のアクションを指定する。したがって、本方法は、3Dモデル化オブジェクトをスクラッチから作成することを含むことができる。あるいは、本方法が以前に作成された3Dモデル化オブジェクトを提供するステップと、次いで、3Dモデル化オブジェクトを修正するステップとを含むことができる。
【0050】
方法は製造工程に含まれてもよく、製造工程は方法を実行した後に、モデル化オブジェクトに対応する物理的製品を生成することを含んでもよい。いずれの場合も、本方法によって設計されたモデル化オブジェクトは、製造オブジェクトを表すことができる。したがって、モデル化オブジェクトはモデル化された立体(すなわち、立体を表すモデル化オブジェクト)とすることができる。製造対象物は、部品などの製品、又は部品のアセンブリであってもよい。本方法はモデル化された物体の設計を改善するので、本方法はまた、製品の製造を改善し、したがって、製造工程の生産性を増加させる。
【0051】
機械部品を表すB-repを提供するステップS10について説明する。
【0052】
B-repは、機械部品の3D表現である。具体的にはB-rep(すなわち、境界表現)は機械部品を表す3Dモデル化された物体を記述する持続的なデータ表現である。B-repは、機械部品を表す3Dモデル化オブジェクトの設計段階中に実施される計算及び/又は一連の操作の結果であり得る。モデル化オブジェクトが表されるときにコンピュータのスクリーン上に表示される機械部品の形状はB-rep(のテッセレーション)である。例として、B-repはモデルオブジェクトの部品を表す。
【0053】
B-Repは、トポロジーエンティティ及びジオメトリエンティティを含む。トポロジーエンティティは、面、エッジ、及び頂点である。ジオメトリエンティティは3Dオブジェクト、すなわち、表面、平面、曲線、線、点である。定義上、面は、支持表面と名付けられた、表面の有界部分である。エッジは曲線の有界部分であり、支持曲線と名付けられている。頂点は3D空間の点である。それらは、以下のように互いに関連付けられる。曲線の境界部分は、曲線上にある2つの点(頂点)によって定義される。表面の境界部分は、その境界によって定義される。この境界が表面上に横たわるエッジの組である。面の境界のエッジは、頂点を共有することによって接続される。面は、エッジを共有することによって接続される。2つの面は、それらがエッジを共有する場合、隣接する。同様に、2つのエッジは、それらが頂点を共有する場合、隣接する。
図4は、上面平面面と2つの側面円筒面の3つの面で作られた円筒形スロットのB-repを示す図である。左図は、スロットの斜視図である。可視面、エッジ、及び頂点に番号を付ける。右図は、すべての面の分解図である。重複した数字は、エッジ及び頂点の共有を示す。面1は、平面の境界部分である。面1の境界はエッジ4及び5を含み、それらの各々は、頂点10及び11によって境界付けられる。両者は同じ支持円を有する。面2は、すべて無限円筒面上に横たわるエッジ6、8、5及び13によって境界される。面1と面2は、エッジ5を共有しているので、隣接している。面2及び3は、エッジ8及び13を共有しているので、隣接している。面1と面3は、エッジ4を共有しているので、隣接している。
図5は
図4のB-Repの「境界」トポロジー関係を示すグラフであり、上位層のノードは面であり、下位層のノードは頂点であり、中間層のノードは面であり、下位層のノードは頂点である。
図6は
図4のB-Repのトポロジーエンティティ(面、エッジ、頂点)とサポートジオメトリ(右図)との間の関係を示すグラフ(左図)であり、CADシステムでは、B-repが適切なデータ構造で、「境界」関係、トポロジーエンティティとサポートジオメトリとの間の関係、及びサポートジオメトリの数学的記述を収集する。
【0054】
定義によれば、B-Repの内部エッジは、正確に2つの面によって共有される。定義によれば、境界エッジは共有されず、1つの面のみを境界付ける。定義上、境界面は少なくとも1つの境界エッジで境界される。B-Repは、その全てのエッジが内部エッジである場合、閉じていると言われる。B-Repは、少なくとも1つの境界エッジを含むので、開いていると言われる。エッジ6及び7は境界エッジであるので、
図4に示す例のB-Repは開いている。逆に、エッジ4、5、8及び13は内部エッジである。閉じたB-Repは、
図7に例示されたエッジ6と7で境界されたディスク状の面14を追加することによって
図4の例から得られる。左側の図は閉じたB-repを示し、右側の図は閉じたB-repの「境界がある」トポロジー関係を示すグラフを示す。閉じたB-Repは、空間の内部部分(事実上)を囲い込む材料を定義するため、厚い3D体積をモデル化するために使用される。開いたB-Repは、無視すべき十分に小さい厚さの3Dオブジェクトを表す3Dスキンをモデル化するために使用される。
【0055】
B-Repの各面は、支持面の助けを借りて定義される法線ベクトルを備える。第1に、法線ベクトルは支持面の法線ベクトルと同一線上にある。さらに、機械部品を表す閉じたB-Repの法線ベクトルは、材料の外部に向けられる。FをB-Repの面、Nをその外生法線ベクトルとする。Eを面Fのエッジとし、XをエッジE上の点とし、Tを点XにおけるエッジEの正規化タンジェントベクトルとする。定義上、エッジEはベクトルM=N×Tが
図8の左図に示すように、面の内側領域に向いている場合には反時計回りに向く。ベクトルNとTは正規化され、垂直であるので、ベクトルMは正規化されることに注意されたい。慣例により、B-Repの全ての面の全てのエッジは
図8の右図によって示されるように、反時計回りに方向付けられる。
【0056】
以下では、エッジの凸状性の概念について説明する。3Dモデル化オブジェクトのB-Repが与えられたとき、面F1及びF2によって共有されるエッジをEとして、XをエッジE上の点とする。面F1及びF2のそれぞれの外部法線ベクトルはそれぞれN1及びN2と記す。それぞれの法線ベクトルN1及びN2について点Xを通る平面をP1及びP2とする。平面P1及びP2は、外部3D領域と、点Xの近傍における内側3D領域とを局所的に画定する。本質的に、ベクトルN1+N2は外部の3D領域を指す。ここで、面F1及びF2に対する点Xのそれぞれの材料ベクトルをM1及びM2とする。性質上、ベクトルM1+M2は凸状3D領域を指す。定義によれば、
図9に示すように、N1+N2とM1+M2とが反対方向を向いている場合(すなわち、(M1+M2,N1+N2)<0である場合)、エッジEは点Xにおいて凸状である。エッジEは、すべての点で凸状であれば凸状である。逆に、エッジは
図10に示すように、N1+N2とM1+M2とが同じ方向を向いている場合(すなわち、(M1+M2,N1+N2)>0である場合)点Xにおいて凹状である。エッジEは、全ての点で凹状である場合、凹状である。そうでなければ、(M1+M2,N1+N2)=0は、エッジが滑らかなエッジ又はナイフエッジのいずれかであることを意味する。滑らかなエッジは、
図11に示すように、M1+M2+0及びN1+N2である。これは通常、典型的な機械部品のB-Repで起こる。ナイフエッジは、
図12に示すように、N1+N2+0及びM1+M2である。ナイフエッジは完全性のために記述され、通常は機械部品のモデル化には使用されない。
【0057】
幾何学的観点から、丸い面は、凸状の鋭いエッジを滑らかな移行部に置き換える。遷移面は、最初の鋭いエッジの隣接面をつなぐ転動ボールの包絡線である。同様に、フィレット面は、同じ転動ボールジオメトリに基づく滑らかな遷移によって凹状の鋭いエッジを置き換える。
図13は、丸い面とフィレット面のジオメトリを示す図である。
図13は、凸状エッジ130、凹状エッジ132、丸い面134、及びフィレット面136を示す。正準面(シリンダ、平面、球体、円錐など)の丸い面やフィレット面と同様に、一般的にB-Repデータ構造に論理型が備わっている。この論理型が欠落している場合は、以下のように認識できる。次式のパラメータ化
【数1】
は、全ての
【数2】
について、曲線
【数3】
は、半径がuに依存しない円の一部である。あるいは、全ての
【数4】
について、曲線
【数5】
は、半径がvに依存しない円の一部である。B-repの外部法線ベクトルが円の凹状面側に向いている場合、表面Sによって支持される面は丸い表面である。B-repの外法線ベクトルが円の凸状面側に向いている場合、表面Sによって支持される面はフィレット面である。
図14は、丸い面140及びフィレット面142のパラメータ化を示す。丸い面とフィレット面は、それぞれ凸状エッジと凹状エッジのように動作する。これは、力学的観点からは丸い面は凸状の鋭いエッジに代わる滑らかな遷移であり、フィレット面は凹状の鋭いエッジに代わる滑らかな遷移であるからである。これは、成形及び加工方法を通して製造された機械部品を設計する場合に常に発生する。
【0058】
以下では、B-repの二重グラフの概念について説明する。B-Repの二重グラフは、面の隣接のみを捕捉する論理グラフである。これは次のように定義される。二重グラフのノードはB-Repの面に関連付けられ、二重グラフのアークはB-Repのエッジに関連付けられる。二重グラフのアークは、アークに関連するB-Repエッジがそれぞれノードに関連するB-Rep面で共有される場合、二重グラフの2つのノードを接続する。例えば、
図7の円筒形B-Repの二重グラフを
図15に示す。アークは、エッジ数でラベル付けされている。定義上、組の面を表す二重グラフのノードが二重グラフの接続されたサブグラフのノードである場合、一連の面が接続される。言い換えれば、接続された一連の面が、B-repのアークワイズに接続された部分を形成するのである。スキンとは、1つの面又は接続された複数の面の組である。滑らかなスキンとは、1つの面、又は滑らかな内部エッジのみを含む連結された一組の面である。
【0059】
特徴は、連結された面の組によって表されてもよい。言い換えれば、連結された面の組に対応するB-repの部分は、特徴のジオメトリをモデル化及び/又は表すことができる。特徴が窪み特徴である場合、接続された面の組は、突起エッジ又は丸い面によって境界を定められてもよい。特徴が突起特徴である場合、接続された面の組は、凹状エッジ又はフィレット面によって境界付けられてもよい。
【0060】
B-repを提供するステップS10は、CADシステムの表示上にB-repを表示することを含むことができる。B-repを提供するステップS10は、ユーザの行動、例えばユーザとその方法のCADシステムとの間の対話から生じる可能性がある。例において、B-repによって表現される3Dモデル化された物体(例えば、部品)は別のCADシステム上で別のユーザによって設計され、その方法のCADシステムに記憶され、メモリ/又は(例えば、ネットワークを通じて)送付された。B-repを提供するステップS10は、メモリからB-repを取得することを含んでいる場合がある。例では、別のユーザが異なり、方法のCADシステムと他のCADシステムが異なる。これらの例では、本方法のCADシステムと別のCADシステムとはネットワークによって接続されてもよい。例では、別のユーザが同じであり、方法のCADシステムと他のCADシステムが同じである。
【0061】
ここで、特徴タイプを提供するステップS20について説明する。
【0062】
特徴タイプを提供するステップS20は、特徴タイプが突起特徴タイプであること、又は特徴タイプが窪み特徴タイプであることを指定するステップを含む。提供された特徴タイプは第2の面の組を認識するステップS30の入力、例えば、第2の面の組を認識するステップS30に含まれる1つ以上のアルゴリズムの入力であるデータを形成する。
【0063】
特徴タイプを提供するステップS20は、ユーザアクションに応じて実行されてもよい。ここで、ユーザの行動に応じて、特徴種類を提供するステップS20を行う例について説明する。
【0064】
例において、特徴タイプを特定するステップは、例えば、2つのタイプの特徴の間の選択を提供するソフトウェア(例えば、CADシステム)と対話することによって、ユーザの行動に応じて、突起特徴タイプと窪み特徴タイプとの間の特徴タイプを選択するステップを含むことができる。あるいは、ユーザがCADシステムとの対話(例えば、キーボード又は触覚デバイス又はタッチを使用する)によって特徴タイプを宣言することによって、特徴タイプが突起特徴タイプであること、又は特徴タイプが窪み特徴タイプであることを指定することができる。これらの例では、第2の組を認識するステップS30が入力として、窪み特徴タイプ及び突起特徴タイプのうちのいずれか1つの特徴タイプを受け付けるように適合される。これらの例では、認識するステップS30は、入力として受信された特徴タイプを決定(例えば、認識)するステップを含むことができる。例では、提供された特徴タイプが窪み特徴タイプである場合、認識するステップS30に関与する1つ以上の第1のアルゴリズムが存在し、提供された特徴タイプが突起特徴タイプである場合、認識するステップS30に関与する1つ以上の第2のアルゴリズムが存在し得る。これらの例では、入力として受信された特徴タイプの決定が1つ又は複数の第1のアルゴリズム又は1つ又は複数の第2のアルゴリズムのいずれかの適用をトリガする。代替的又は追加的に、1つ又は複数の第1のアルゴリズム及び1つ又は複数の第2のアルゴリズムは同一であるが、1つ又は複数のパラメータに依存し得る。この場合、入力として受信された特徴タイプの決定は受信された特徴タイプの特徴を表す第2の面の組が検索され、認識されるように、1つ以上のパラメータを指定する(例えば、インスタンス化する)。
【0065】
例において、ユーザは指定するために単一の特徴タイプを提供されてもよく、ユーザは例えば、CADシステムとの対話(例えば、キーボード又は触覚デバイス又はタッチ)によって(例えば、グラフィカルユーザインターフェースによって)それを指定する(例えば、宣言する)。言い換えると、突起特徴タイプのみが、ユーザによって選択されてもよく(例えば、宣言されたように指定されてもよい)、又は窪み特徴タイプのみが、ユーザによって選択されてもよい(例えば、宣言されたように指定されてもよい)。これらの例では、第2の組を認識するステップS30が入力として前記単一の特徴タイプのみを受け取るように適合される。
【0066】
また、特徴種類を提供するステップS20は、CADシステムによって自動的に行われてもよい。
【0067】
次に、第1の組の面を提供するステップS20について説明する。
【0068】
第1の組の面は提供された特徴タイプの特徴を表す面を包含する(例えば、有する、例えば、内包する、例えば、備える)。言い換えれば、関心のある突起(又は窪み)を含む少なくとも全ての面(すなわち、本方法によって認識されるべき面)は、提供された第1の組の一部である。第1の組は、提供された特徴タイプの特徴を表す面の一部ではない追加の面を含むことができる。例を挙げると、B-repのすべての面から構成される組は、面の厳密な部分集合で構成されている。面の厳密な部分集合は、提供された特徴タイプの特徴を表す面と、1つ又は複数の他の面とを含む。これらの例では、面の最初の組が厳密な部分集合の部分集合であり、提供された特徴タイプの特徴を表す少なくともすべての面を含む厳密な部分集合の部分集合である。例では、厳密な部分集合の部分集合には1つ以上の他の面が含まれている。例では、1つ又は複数の他の面で作られた面の組が提供された特徴タイプの別の特徴を表す面のいかなる組も含まない。第1の組の面は、上位集合又は上位集合の面と呼ぶことができる。
【0069】
最初の一組の面を提供するステップS20は提供されたB-repの面の中の最初の一組の面を選択すること(例えば、同時に選択すること)を含んでいるかもしれない。提供された第1の組の面は第2の組の面を認識するステップS30の入力、例えば、第2の組の面を認識するステップS30に含まれる1つ以上のアルゴリズムの入力であるデータを形成する。第1の組の面を提供するステップS20の前に、CADシステムのディスプレイ上にB-repを表示することができる。
【0070】
第1の面の組を提供するステップS20は、ユーザによって実行されてもよい。例えば、ユーザは例えば、CADシステムとの(例えば、グラフィカルである)対話によって、面の最初の組を直接選択し、他の面を選択しないことができる。CADシステムとのグラフィックな対話によって最初の面の組を選択することは、CADシステムの表示に表示されるB-rep上に形状(例えば閉じた曲線)を描くことによって、その形状が第1の面の組を包含するようにしてもよい。例えば、形状の描画は、マウス等の触覚デバイスを用いて行うことができる。ユーザは画面の位置上の触覚デバイスでクリックすることによって、描画を開始する(例えば、開始する)ことができる。クリックした結果、位置にカーソルが表示される場合がある。そして、カーソルを画面上にドラッグして描画を行い、カーソルの軌跡が形状を形成するようにしてもよい。あるいは、形状の描画がユーザの連続的なタッチによって行われてもよく、この連続的なタッチによって形状を形成する。
【0071】
代替的に又は追加的に、第1の面の組を提供するステップS20は半自動的に実行されてもよく、すなわち、第1の面の組を提供するステップS20は、1つ又は複数のユーザアクションと、コンピュータによって自動的に実行される1つ又は複数のアクションとを伴ってもよい。ユーザは例えば、CADシステムとの対話によって面の初期組を選択することができる。第1の組を提供するステップS20は、選択された初期組の面の自動処理を含むことができる。処理は面の初期組に面を追加すること、及び/又は面の初期組から面を廃棄する(例えば、除去する)ことを含むことができる。これらの例では、処理が選択された面の初期組を入力として受け取り、面の第1の組を出力する。CADシステムとのグラフィックな対話によって最初の面の組を選択することは、CADシステムの表示に表示されるB-rep上に形状(例えば閉じた曲線)を描くことによって、その形状が当初の面の組を包含するようにしてもよい。例えば、形状の描画は、マウス等の触覚デバイスを用いて行うことができる。ユーザは画面の位置上の触覚デバイスでクリックすることによって、描画を開始する(例えば、開始する)ことができる。クリックした結果、位置にカーソルが表示される場合がある。そして、カーソルを画面上にドラッグして描画を行い、カーソルの軌跡が形状を形成するようにしてもよい。あるいは、形状の描画がユーザの連続的なタッチによって行われてもよく、この連続的なタッチによって形状を形成する。実施例では形状の描画が面のいくつかの分離連結された組が形状に包含され、これらの組のうちの1つのみが、少なくとも部分的に見える1つ以上の面を有するという結果をもたらす。少なくとも面の一部がB-repの他の面に隠れていない場合、A面は少なくとも部分的に見える。第1の組の面は、1つ以上の部分的に見える面を有する唯一の組である。換言すれば、他の組の面は、処理中に廃棄される。
【0072】
第1の組の面は、特徴タイプの後に設けることができる。このような例では、第1の組の面が既に提供された特徴タイプの特徴を表す面を包含する。代替的に、第1の組の面は、特徴タイプの前に提供されてもよい。このような例では、第1の組の面が窪み特徴(又は突起特徴)を表す面を包含する。後に提供される特徴タイプは、窪み特徴タイプ(又は突起特徴タイプ)である。
【0073】
ここで、第1の組の面を供給するステップS20の例を説明する。
【0074】
例では、第1の面の組を提供するステップS20がCADシステムのディスプレイ上にB-repを表示するステップと、グラフィカルユーザ対話によって第1の面の組を選択するステップとを含む。
【0075】
グラフィカルユーザ対話は、上述したような形状の図面であってもよい。このように、ユーザは、単純なグラフィカル対話によって、一度に最初の組のすべての面を選択することができる。これは例えば、面が1つずつ選択され、面が選択されるたびに、キーボードのシフトキーを押して解放することによって面が保存される、キーボードのシフトキーを使用する面の多重選択と比較して、人間工学的な改善であり、これは多数のユーザ/マシン対話を意味する。
【0076】
例では、最初の面の組の選択は、グラフィカルユーザ対話によって、ディスプレイ上に閉じた曲線を定義することを含む。これらの例では、最初の面の組の選択はさらに、CADシステムによって自動的に、閉じた曲線の中に投写が全く含まれているB-repの各面を識別することを含む。
【0077】
閉曲線を定義することは、ユーザが第1の組の面の選択を実行するための特に単純で人間工学的な方法である。ユーザによって定義される閉曲線は、ユーザが選択したくない面、すなわち閉曲線内に完全に投影されていない面を包含することができる。本方法は、このような望ましくない面を避けるのであろう閉曲線の困難で正確な定義をユーザに行うことを要求するのではなく、むしろ閉曲線の内側に完全に投影されている面を識別するだけでそれらを除去する。したがって、第1の組の面の選択は効率的であり、改善されたユーザ/マシン対話を構成する。
【0078】
閉曲線を定義することは、ディスプレイ上に閉曲線を描くことを含み得る。閉曲線は第1の組の面を包含し、追加の面を包含することができる。閉曲線は、ディスプレイ上に実線又は点線として表示することができる。閉曲線によって境界付けられた(例えば、囲まれた)領域は例ではディスプレイ上の平面的な単に接続された領域であってもよく、すなわち、閉曲線は、領域の境界を形成する。ドメインは(例えば、実質的に)長方形、円、正方形、楕円、又は三角形であってもよい。閉曲線を描くことは、例えばクリック(例えば、マウスのような触覚デバイスによる)又はタッチ(例えば、ユーザの指による)による、ディスプレイとの第1の位置での第1のユーザ対話を含むことができる。第1のユーザ対話を維持することができる。閉曲線を描くことは、次いで、ディスプレイ上でドラッグ及び/又はスライド及び/又は並進を、ディスプレイの第1の位置から第2の位置まで実行することを含むことができる。ドラッグ及び/又はスライド及び/又は並進を実行することは、例えば、長方形又は正方形の対角線、又は円の直径、又は三角形又は楕円の軸、又は第1の位置で始まり、終わる任意の閉じた経路の平均を(例えば、実質的に)たどりながら、第1の位置から第2の位置にユーザの触覚デバイス又は指のカーソルをドラッグ及び/又はスライド及び/又は並進させることからなってもよい(この場合、第1及び第2の位置は同一である)。第1のユーザ対話は閉曲線の描画全体にわたって維持され、描画を終了し、曲線を固定するために解放されてもよい。
【0079】
ディスプレイ上の面の投影は閉曲線によって境界付けされた(例えば、囲まれた)ドメイン上の面の直交投影であってもよい。したがって、各面の各投影は例えば、1つ以上の記憶された既知の数式に従って、CADシステムによって自動的に計算され得る。閉曲線は組の各面の各投影が閉曲線の内側に完全に含まれている場合にのみ、例えば、閉曲線によって有界な(例えば、囲まれた)領域に完全に含まれている場合にのみ、面の組を包含する。例では、閉曲線が第1の組の面を包含する。
【0080】
例では、選択することはCADシステムによって自動的に、識別された面を面の互いに素な接続された部分集合に分割することをさらに含む。1つだけの部分集合が、第1の組の面である。これらの実施例では、選択がさらに、CADシステムによって自動的に、他のすべての部分集合を廃棄することを含む。
【0081】
その結果、閉曲線のユーザ定義の精度とは無関係に、本方法は、ユーザの閉曲線によって包含されるすべての面の中の第1の面の組を自動的に保持する。言い換えれば、ユーザは、正確に第1の組の面を包含する正確で複雑な閉曲線を定義する必要がない。代わりに、ユーザは少なくとも(例えば、大まかに)第1の組の面を包含する単純な閉曲線を定義するだけでよく、システムは第1の組の面を自動的に保持し、出力する。したがって、本方法は非常に人間工学的である。
【0082】
例では、CADシステムが識別されたすべての面を自動的に訪問し、面のすべての最大連結部分集合を検出する。これらの例では、1つの識別された面を接続された部分集合に加えることが非接続の面の組を形成する場合、すべての識別された面の組のうちの接続された面の部分集合は最大である。言い換えれば、識別された面はB-repの二重グラフのサブグラフのノードに対応するので、面の各最大連結部分集合はサブグラフのそれぞれの最大連結成分のノードに対応する。面の最大連結部分集合は理論により、全ての識別された面の集合の区分を形成し、理論により、互いに素である。
【0083】
例では、面と閉曲線の内部との間に他の面がない場合、面が見える。面の一部のみが見える場合、面は部分的に見える。これらの例では、1つのみの部分集合が少なくとも1つの(例えば、部分的に)可視の面を含む分割から生じる面の唯一の部分集合である。他のすべての部分集合は、見えない面のみを含むため、廃棄される。
【0084】
全ての他の部分集合を廃棄することは、選択の終わりに、面の第1の集合のみが残ることを意味し、これはステップS20において提供される。
【0085】
次に、第1の組の面を供給するステップS20の実施例を、
図29を参照して説明する。第1の組の面を提供するステップS20は、グラフィカルトラップ及びトラップアルゴリズムを使用することによって実行される。
【0086】
グラフィカルトラップ選択はユーザがCADシステムのディスプレイ上に矩形を描くためのものである(例えば、2回のマウスクリック、例えば、矩形の対角線の各末端に1回のクリック)。矩形エッジは、それぞれ水平及び垂直である。一方では、この形状の粗さはユーザの観点から、その配置及びサイズ決定を非常に容易にする。他方、ユーザが関心のある面の組を含むようにできるだけ小さい長方形を定義したとしても、いくつかの望ましくない面は、いずれにせよ長方形の内側に入ることがある。トラップアルゴリズムは、その不要な面を廃棄するために適用される。B-repとユーザ定義のグラフィカルトラップを指定すると、トラップアルゴリズムは関連する面の組を3つのステップで選択する。第1のステップは、トラップに含まれるB-repのすべての面が可視であるか否かを識別することである。定義によれば、ディスプレイ上のその投写がトラップを定義する長方形に含まれる場合、面はトラップに含まれる。これらの面はトラップ面と呼ばれる。第2のステップは、トラップされた面内の隣接関係を計算することである。これは、捕捉された面を隣接する面の互いに素な接続された部分集合に分割する。非可視面のみを含む全ての部分集合は廃棄される。それは少なくとも1つの可視面を含む1つの部分集合のみを残し、この部分集合はステップS20において提供された第1の面の組である。
【0087】
例えば、
図29の左図のB-repを図形トラップ(点線の長方形)と共に考える。このユーザ選択は、アルゴリズムの第1のステップに従ってトラップされた面{1,2,3,4,5}を定義する。面3、4、5はB-rep上では見えないことに注意されたい。第2のステップによれば、隣接性計算は、第1の部分集合{1,2,3}及び第2の部分集合{4,5}を生じる。第3のステップによれば、部分集合{4,5}は非可視面のみを含むので廃棄され、部分集合{1,2,3}は少なくとも1つの(部分的に)可視面を含むので保持される。したがって、提供されるS20の第1の組の面は{1,2,3}である。アルゴリズムは、見えないにもかかわらず、面3を選択することができることに留意されたい。面3は、前部切欠きを定義するため、関連する。
【0088】
次に、第2の組の面を認識するステップS30について説明する。
【0089】
認識するステップS30は、CADシステムによって自動的に実行される。言い換えれば、提供するステップS20において面の第1の組及び特徴のタイプが提供され、これらが認識するステップS30の入力として受信されると、認識するステップは例えば、実行全体を通して(例えば、面の第1の組及び特徴のタイプの入力として取る1つ又は複数のアルゴリズムの1つ又は複数のプロセッサによって)、面の第2の組を自動的に認識する。これらの例ではその1つ又は複数のアルゴリズムによる入力を受信すると、CADシステムはその1つ又は複数のアルゴリズムを自動的に実行及び/又は実行し、その実行及び/又は実行は面の第2の組の認識(例えば、検出又は決定)をもたらす。認識するステップS30は、第1の面の組の中で提供された特徴タイプの特徴を表す面を認識するように適合された1つ又は複数のアルゴリズムの任意の組の実行を含むことができる。
【0090】
本方法は、非常に効率的かつ人間工学的な方法で、提供された特徴タイプの特徴を表す面を認識する。特に、特徴を表す全ての面を包含する第1の組の面が提供される。したがって、提供された特徴タイプの特徴を表す面の中から1つの面を選択し、提供された特徴タイプの特徴を表す他の面を識別しようと試みる(例えば、反復的に)代わりに、前記他の面のうちの1つ又は複数を欠落させる可能性があり、本方法は、より大きな面の組(提供された第1の面の組)から開始する。次に、本方法はこのより大きな面の組内の部分組(第2の面の組)を認識し、この部分組は、提供された特徴タイプの特徴を表す面から作られる。これらの面のどれも欠けていない。さらに、提供された特徴タイプの特徴を表す面の認識は、自動的に実行され、ユーザによって非常に人間工学的な方法で実行され得るより大きな組を提供するステップS20の結果として実行される。したがって、本方法は、非常に人間工学的で効率的である。
【0091】
例では、認識するステップS30が第2の組の面を出力する。例では、面の組のすべての面が結合されて、第2の面の組に対応するデータを形成する。例では、認識するステップS30の結果として、第2の面の組のすべての面に相対的なすべてのデータが格納されるメモリ空間を指すポインタが存在する。例では本方法が第2の面の組に関するデータを記憶すること、及び/又は例えばネットワークを介して別のCADシステムにデータを送信することを含む。
【0092】
例では、認識された第2の組の面を処理することができる。第2の組の面の処理は、以下のうちの1つ又は複数を含むことができる。
・B-repから2番目の面の組を抽出し、及び/又はそれを表示する。例えば、CADシステムの表示の分離窓、及び/又はB-repの表示の中でそれを強調すること。
・1つ又は複数の設計及び/又は編集操作(例えば、寸法の変化、サイズの変化、厚さの変化、平行移動、厚さの変化、回転、カット、コピー、コピー、及び/又は貼り付け)を自動的に、かつ統一された方法で第2の組の面のすべての面に適用すること。及び/又は、
・1つ又は複数の設計及び/又は編集操作(例えば、平行移動、サイズの変化、寸法の変化、円形、フィレット、ドラフト角、及び/又は厚さの変化)を自動的に、かつ統一された方法で、第2の組の面の1つの種類(例えば、鋭い種類、滑らかな種類、ナイフ種類、凸状型、又は凹状型)境界面のすべてのエッジに適用すること。
【0093】
自動的に、及び統一された方法で、面及び/又はエッジの組に動作を適用することは、組及び動作を指定すること(例えば、ユーザアクションに応じて)、動作を起動すること(例えば、ユーザアクションに応じて、CADシステムと対話することによって)、及び自動的に(例えば、CADシステムによって)、組のすべてのオブジェクトに動作を適用すること(例えば、実質的に)、及び/又は(例えば、実質的に)同時に行うことからなる。B-repのエッジを丸めたりフィレット化したりすると、検出された機能の形状をなめらかにすることができる。これは、機械加工工程におけるフライス工具、成形工程における成形行列、穿孔加工工程における回転切削工具、旋盤工程における非回転切削工具、鍛造プロセスにおけるハンマー又はダイ、プレス加工工程におけるスタンピングプレス、及び/又はプレスブレーキ、又は折りたたみ曲げ工程におけるフォルダ又はパネルベンダなどの機械部品の加工工程における製造工具の容易な適用に適合されたジオメトリ検出特徴を与える。
【0094】
例では、第2の組の面が1つ又は複数の基本部分集合間の接続を形成する。これらの例では、提供される特徴タイプが窪み特徴タイプである場合、基本部分集合は以下のとおり(例えば、以下のように定義される)である。
・凸状部エッジ又は丸い面のみによって境界付けられ、凸状内部エッジ及び丸い面を含まない、1つ又は複数の面の接続された組である。
・滑らかなスキンでないか、又は凹面基準を満たす滑らかなスキンのいずれかである
追加的に又は代替的に、提供される特徴タイプが突起特徴タイプである場合、基本部分集合は以下のとおり(例えば、以下のように定義される)である。
・1つ以上の面の連結された組であって、凹状エッジ部又はフィレット面のみによって境界付けられ、凹状内部エッジ及びフィレット面を含まず、
・平滑なスキンでないか、又は凸面基準を満たす平滑なスキンのいずれかである。
【0095】
例では、1つ又は複数の基本部分集合が2つ又は複数の基本部分集合を含む。
【0096】
本方法はより大きな面の集合(すなわち、第1の面の集合)内のいくつかの基本部分集合を認識することを可能にする点で特に効率的である。反対に、基本部分集合の一部であり、基本部分集合を識別するために初期面の隣接面を反復して訪れることを試みる初期面から開始する方法は、凸状エッジ又は丸い面(窪み認識の場合)又は凹状エッジ又は丸いエッジ(突起認識の場合)を横切るときにブロックすることができる。したがって、このような方法は、せいぜい1つの基本部分集合を認識するのであろう。さらなる基本部分集合を認識するには、他の初期面から開始し、隣接する面を再び見直す必要があり、これは効率性に欠ける。しかし、内部凸状(又は凹状)エッジや丸い(例:フィレット)面は、いくつかの素部分集合の認識を妨げないので、本方法は非常に効率的である。さらに、いくつかの初期開始面を選択することは、本方法による第1の組の面を提供するステップS20ほど人間工学的ではない。さらに、本方法は、基本部分集合間の接続を認識することを可能にする。
【0097】
提供される特徴タイプが窪み特徴タイプである場合、基本部分集合は「基本窪み」又は「基本窪みを表す」と呼ばれることがあり、さらに、又は代替として、提供される特徴タイプが突起特徴タイプである場合、基本部分集合は「基本突起」又は「基本突起を表す」と呼ばれることがある。
【0098】
次に、凸面基準及び凹面基準について説明する。
【0099】
例では、凸状(又は凹状)エッジ又は丸い(フィレット)面のみによって境界付けされ、凸状(又は凹状)内部エッジを含まず、丸い(又はフィレット)面を含まない滑らかなスキンは、滑らかなスキンがB-repの内向きに対して相対的に凹状(又は凸状)である場合、凹面(又は凸面)基準を尊重する。例として、滑らかなスキンが1つのフィレット(又は丸い)面である場合、又は、滑らかなスキンのすべての内部エッジを抑制し、滑らかなスキンのすべての面を融合することによって得られる面がフィレット(又は丸い)面である場合、滑らかなスキンは比較的内側に凹状(又は凸状)になる。
【0100】
例では滑らかなスキンが平滑なままでその法線ベクトルの方向に任意にオフセットされることができない場合、凸状エッジ又は丸い面のみによって境界付けられ、凸状内部エッジ及び丸い面を含まない滑らかなスキンは凹面基準を満たす。代替的に又は追加的に、凹状エッジ部又はフィレット面のみによって境界付けられ、凹状内部エッジ及びフィレット面を含まない滑らかなスキンは滑らかなスキンがその法線ベクトルの反対方向に任意にオフセットされることができず、その一方で滑らかなままである場合に、凸面基準を満たす。
【0101】
言い換えれば、例では、凸状エッジ又は丸い面のみによって境界付けられ、凸状内部エッジを含まず、丸い面を含まない滑らかなスキンをフセットが滑らかでないように、その法線ベクトルの方向に滑らかなスキンのオフセットが存在する場合、凹面基準を満たす。代替的に又は追加的に、凹状エッジ部又はフィレット面のみによって境界付けられ、凹状内部エッジ及びフィレット面を含まない滑らかなスキンをフセットが滑らかでないように、その法線ベクトルの反対方向に滑らかなスキンのオフセットが存在する場合に、凸面基準を満たす。
【0102】
したがって、本方法は、滑らかなスキンである基本的な窪み(又は窪み)の認識を可能にする。
【0103】
図22はそれぞれ3つの滑らかなスキン222、224及び226からなるB-repの3つの例を示しており、それぞれが凸状エッジ又は丸い面のみに境界され、凸状内部エッジがなく、ラウンド面が全くないことを含んでいる。各滑らかなスキン222、224、226は提供される特徴タイプが窪み特徴タイプ、換言すれば、基本窪みである場合に、各滑らかなスキン222、224、226が基本部分集合であるように、凹面基準を尊重する。
【0104】
次に、凸面基準及び凹面基準の例について説明する。
【0105】
これらの例では、滑らかなスキンが滑らかなパラメータ化表面を形成する。パラメータ化された表面は、マッピング
【数6】
である。偏導関数の外積
【数7】
がゼロにならない場合、法線ベクトル
【数8】
は、正規化された外積によって定義される。
【数9】
【0106】
表面Sの自己交点は、以下のようなパラメータ値のペア
【数10】
であり、
【数11】
である。定義によれば、表面はその法線ベクトルが全ての
【数12】
に対して明確に定義され、
【数13】
においていかなる自己交点を特徴としない場合には、規則的(例えば、滑らか)である。規則的な表面Sと実数
【数14】
が与えられたとき、表面Sからの距離δにおけるオフセット表面Pは次式で定義される。
【数15】
明らかに、もしδ=0であれば、
【数16】
である。オフセット面P=S+δNが規則的な面となるような数δ>0の集合を
【数17】
とする。組
【数18】
はδ=0を含むため空ではない。
【数19】
の上限を
【数20】
とする。
【数21】
である。これは、如何なる
【数22】
に対しても、オフセット表面P=S+δNは規則的な表面であることを意味する。慣例により、P=S+δNが全てのδ≧0に対して規則的な表面である場合、
【数23】
は無限大(
【数24】
)である。オフセット面はδ≧0を考慮することによってその法線ベクトルの反対側にも定義され、すなわち、
【数25】
である。集合
【数26】
オフセット面Q=S-δNが規則的な面となるような数δ≧0の集合であり、
【数27】
は、同じ無限大の慣習により
【数28】
の上限である。これらの例では滑らかなスキンが規則的な表面S(
【数29】
である)である場合、突起部エッジ又は丸い面のみによって境界付けられ、突起内部エッジを含まず、丸い面を含まない滑らかなスキンは凹面状基準を満たす。これらの例では、滑らかなスキンが規則的な表面S(
【数30】
である)である場合、凹状エッジ部又はフィレット面のみによって境界付けられ、凹状内部エッジ及びフィレット面を含まない滑らかなスキンは凸面基準を満たす。
【0107】
図23は基本的な窪みを表し、2つの垂直壁面、2つのフィレットコーナー面、及び水平底面から作られたU字形の滑らかなスキンを示し、したがってコーナーフィレットの共通半径である。
【数31】
は複数のコーナーフィレットに共通の半径である。U字形は任意に方向-Nをずらすことができるので、
【数32】
である。
図24では、
【数33】
オフセットが実行されている。U形状スキンを
【数34】
の範囲でオフセットすると、
図24に示すように、規則的な別のU形状スキンが得られる。U字形のスキンを
【数35】
の範囲でオフセットすると、
図25に示すように、自己交差点と鋭いエッジを特徴とする単一のスキンが得られる。実装の観点からは、
【数36】
は表面Sのサンプリングを使用し、通常の曲率半径を計算することによって計算される。これは、古典的な微分幾何学から周知である(例えば、M.Pdo Carmo、Differential Geometry of Curves and Surfaces、Prentice Hall,1976を参照のこと)。
【0108】
ここで、接続の概念について説明する。
【0109】
例では、1つ又は複数の基本部分集合間の接続が1つ又は複数の基本部分集合を含む面の接続された組である。例では、1つ又は複数の基本部分集合のすべての面の組が面の切断された組である。これらの例では、1つ又は複数の基本部分集合間の接続が1つ又は複数の基本部分集合と、1つ又は複数の基本部分集合を接続する1つ又は複数の追加の面とを含む面の接続された組、すなわち、1つ又は複数の基本部分集合のすべての面の組に追加され、それを接続されたものにする1つ又は複数の追加の面である。例では、1つ又は複数の追加の面の各面がどの候補基本部分集合にも属さない。例では、1つ又は複数の基本部分集合のすべての面の組が面の接続された組である。
【0110】
例では2組の面の間のインターフェースが2組及び/又は1組の1つ又は複数の面によって共有される1つ又は複数のエッジからなり、1つ又は複数の面の組は2組のそれぞれに隣接する。2つの組はインターフェースを共有する場合、つまり、2つの組間にインターフェースが存在する場合に接続される。これらの例において、第2の一組の面は各基本部分集合に対して、基本部分集合と別の基本部分集合との間に少なくとも一つのインターフェースが存在するとき、二つ以上の基本部分集合間の接続を形成する。言い換えると、基本部分集合は少なくとも別の基本部分集合に接続されている。そして、前記少なくとも1つのインターフェースの面はもしあれば、第2の組の面に含まれる。すべての基本部分集合のすべての面も、第2の面集合に含まれる。例では1つ又は複数の基本部分集合が正確に1つの基本部分集合からなり、第2の面の組は単に前記1つの基本部分集合からなる。
【0111】
例では、第2の組の面が第1の組のすべての基本部分集合を含む。
【0112】
これらの例では、第1の組内のすべての基本部分集合が認識するステップS30中に識別され、及び/又は見つけられる。例えば、最初の面の組をS1 とし、2 番目の面の組をS2とする。その場合、集合
【数37】
には基本部分集合が含まれない。したがって、本方法はすべての基本部分集合を識別(例えば、検出、例えば、認識)し、したがって、非常に効率的である。例では、第1の面の組内の基本部分集合の組(例えば、リスト)は一意である。言い換えれば、これらの例では、基本部分集合の面が基本部分集合の異なる組(例えば、リスト)を形成するようにソートすることができない。
【0113】
例では、各基本部分集合が少なくとも1つの他の基本部分集合に接続される。これらの例では、2つの基本部分集合は、それらが所定のエッジタイプのエッジのみ、又は所定の面タイプの面のみのいずれかを共有する場合に接続される。提供された特徴タイプが窪み特徴タイプである場合、所定のエッジタイプは凸状エッジタイプであり、所定の面タイプは丸面タイプである。提供する特徴タイプが突起特徴タイプの場合、所定のエッジタイプが凹状エッジタイプ、所定の面タイプがフィレット面タイプとなる。
【0114】
本方法はこのように、窪み特徴(又は突出特徴)を表す面を認識し、接続が内部の凸状(又は凹状)エッジ又はラウンド(又はフィレット)面を含む場合であっても、素部分集合間の接続を形成することを可能にする。本方法はこのように、認識するステップS30が内部エッジ又は面によってブロック(例えば、停止)されないという点で非常に効率的である。例では、内部の凸状(又は凹状)エッジ又は丸い(又はフィレット)面を含む基本部分集合間の接続が複雑な窪み(又は突起)を表す。
図21はB-rep212、214、216、218の4つの例を示しており、各B-repが複雑な不況を表す面の組を示している。前記面の組は明確にするために、点線の長方形2122、2142、2162、及び2182にそれぞれ包含されて示されている。本方法は、複雑な窪み(又は突起)を認識することを可能にする。例えば、B-rep212、214、216、218に代表されるような複雑な窪みは、本方法によって検出することができる。
【0115】
例では、エッジ種類及び/又は面種類が認識するステップS30に含まれる1つ又は複数のアルゴリズムの1つ又は複数のパラメータとすることができるという点で、事前に決定される。これらの例では、これらの1つ又は複数のパラメータが特徴タイプを提供するステップS20の結果として指定(例えば、組)され得る。例えば、特徴タイプを提供するステップS20は提供された特徴タイプの特徴の検出のために、エッジタイプ及び/又は面タイプの指定を自動的にトリガすることができる。さらに、又は代替として、所定のエッジ種類及び/又は面種類は、特定の突起(又は陥窪み特徴)を認識するステップS30に関与する1つ又は複数のアルゴリズムに具体的に含まれてもよい。
【0116】
例では、基本部分集合は、提供された特徴タイプの基本特徴、すなわち、基本突起又は基本窪みを表す。これらの例では、基本特徴がそれ自体の特徴、すなわち機械的関数を実行する材料のレイアウト、又は特徴の一部、すなわち特徴である材料のレイアウト(例えばその一部)のサブレイアウトのいずれかである。これらの例では、2つ以上の基本特徴からなる特徴が提供される特徴タイプの複雑な特徴である(したがって、複雑な窪み又は複雑な突起)。
【0117】
前述のように、特徴は、1つ又は複数の基本ジオメトリの組合せであるジオメトリを有することができる。例では、基本特徴を形成する材料のレイアウトが1つの基本ジオメトリに対応し、及び/又はそれによって表され、及び/又はそれによって形成される。例では、2つ以上の基本特徴からなる複雑な特徴のジオメトリが2つ以上の基本特徴の基本ジオメトリを組み合わせることによって得られる。
【0118】
面の第2の設定が正確に1つの基本部分集合からなる例では、前記基本部分集合の面によって表される特徴が基本特徴であってもよい。言い換えれば、前記基本部分集合は、基本特徴の基本ジオメトリをモデル化及び/又は表現するB-repの一部に対応することができる。
【0119】
第2の組の面が2つ以上の基本特徴間の接続を形成する例では、第2の組の面によって表される特徴が2つ以上の基本部分集合のうちの1つによってそれぞれ表される2つ以上の基本特徴からなる複雑な特徴であってもよい。各基本部分集合は、基本部分集合によって表される基本特徴の基本ジオメトリをモデル化及び/又は表すB-repの一部に対応することができる。第2の組の面によって形成される接続は、複雑な特徴の形状を形成する2つ以上の基本特徴の基本形状の組み合わせを表すことができる。
【0120】
例えば、複雑な特徴はいくつかの組又は基本特徴のグループから成り、各組は基本特徴から成るか、又は基本特徴の間の接続から成り、組はひとつずつ分離される(すなわち、複雑な特徴は、組間又はそれらのいくつかの間の接続に対応しない)。したがって、このような例では、本方法が基本特徴組のそれぞれ1つを形成する各第2の面の組を認識することを可能にする。したがって、本方法を反復することにより、いくつかの組からなる複雑な特徴を認識することが可能になる。
【0121】
したがって、本方法は、基本特徴及び複雑な特徴の両方の認識を可能にする。特に、内部の凸状(又は凹状)エッジ及び/又は丸い(又はフィレット)面を特徴とする複雑な窪み(又は突起)が、本方法によって検出される。
【0122】
ここで、認識するステップS30の例について説明する。
【0123】
例では、認識するステップS30が1つ又は複数の候補基本部分集合を決定するステップS310を含む。提供される特徴タイプが窪み特徴タイプである場合、候補基本部分集合は凸状エッジ又は丸い面のみによって境界付けられ、凸状内部エッジ及び丸い面を含まない1つ又は複数の面の接続された組である(例えば、と定義される)。代替的に又は追加的に、提供される特徴タイプが突起特徴タイプである場合、候補基本部分集合は凹状エッジ又はフィレット面のみによって境界付けられ、凹状内部エッジ及びフィレット面を含まない1つ又は複数の面の接続された組である(例えば、と定義される)。1つ以上の候補基本部分集合を決定するステップS310は、各々が正確に1つの候補基本部分集合に属する面と、候補基本部分集合に属しない面とに分割する。これらの例では、認識するステップS30が決定された候補基本部分集合の中から1つ又は複数の基本部分集合を識別するステップS320をさらに含む。
【0124】
S310で、1つ又は複数の候補基本部分集合を決定することは、面の第1の組内で、候補基本部分集合の定義をそれぞれ検証する面のすべての部分集合を検索することを含む(前記定義は上記で書かれたように、提供された特徴タイプに依存することに留意されたい)。1つ又は複数の候補基本部分集合を決定するステップS310は前記面の部分集合に対応するデータを出力するステップ、及び/又は前記面の部分集合のそれぞれ1つに対応するデータが格納されているそれぞれのメモリ空間をそれぞれポインティングするそれぞれのポインタを提供するステップも含むことができる。一つ以上の候補基本部分集合を決定するステップS310は、一つ以上の候補基本部分集合を決定するステップS310の結果として、面の集合の各面が正確に一つの候補基本部分集合に属するか、又は候補基本部分集合に属しないという点で、面の第1の集合を分割する。例では、第1の組の面のそのような区画は一意である。
【0125】
候補エレメンタリ部分集合はエレメンタリ部分集合の定義を部分的に検証する1つ又は複数の面の接続された組である(やはり、前記定義は上述したように、提供された特徴タイプに依存する)。具体的には提供される特徴タイプが窪み特徴タイプ(又は突出特徴タイプ)である場合、基本部分集合は非滑らかなスキン、又は凹面(又は凸面)基準を満たす滑らかなスキンである候補基本部分集合である。言い換えれば、全ての候補基本部分集合の組は、全ての基本部分集合の組を含む。例において、すべての候補基本部分集合の集合は厳密にすべての基本部分集合の集合を含み、これは2つの集合が等しくないことを意味する。
【0126】
決定候補基本部分集合の中の1つ又は複数の基本部分集合を識別するステップS320は各候補基本部分集合について、提供された特徴タイプが窪み特徴タイプ(又は突出特徴タイプ)である場合、候補基本部分集合が凹面基準(又は凸面基準)を満たす非滑らかなスキン又は滑らかなスキンである場合、それを保持し、凹面(又は凸面)基準を満たさない滑らかなスキンである場合、それを廃棄するステップを含む。例では、ファセットの部分集合を保持することは部分集合に対応するデータを出力すること、及び/又は部分集合に対応するデータが格納されるメモリ空間を指すポインタを提供することを含む。
【0127】
第2の組の面を認識するステップS30は、1つ又は複数の基本部分集合、すなわちそれらのすべてを認識するステップを含む。基本部分集合の定義は検証するために、候補基本部分集合の定義よりも多くの要件を満たさなければならない。言い換えると、必要な検証が少ないため、候補基本部分集合は、基本部分集合よりも容易かつ迅速に識別できる。したがって、すべての基本部分集合を直接認識する代わりに、本方法はまず、基本部分集合の定義を部分的に検証するすべての部分集合(すなわち、候補基本部分集合)を認識し、これは、定義全体が検証されることをチェックするよりも容易であり、(基本部分集合の定義の少なくとも一部に準拠しないので)基本部分集合の一部である可能性が全くない面(候補基本部分集合に含まれない第1の組の面)を破棄する。S320において、基本部分集合の識別は第1の面の集合(すなわち、全ての候補基本部分集合からなる集合)よりも(例えば、厳密に)小さい面の集合(すなわち、全ての候補基本部分集合からなる集合)上で実行されるので、第2に、この面の集合上では、基本特徴の定義の一部のみが検証されるべきままであるので、より容易かつ迅速である。言い換えると、本方法は1つの長く困難なステップで全ての基本部分集合を認識する代わりに、2つのより短いより容易なステップで全ての基本部分集合を認識する。したがって、本方法は非常に効率的である。
【0128】
次に、1つ又は複数の候補基本部分集合を決定するステップS310の例について説明する。
【0129】
例では、1つ又は複数の候補基本部分集合を決定するステップS310が第1の組の面を繰り返し訪問することを含む。面を訪れることは、面が候補基本部分集合に含まれるべきかどうかを決定することを含む。面を訪問することは、面が候補基本部分集合に含まれるべきである場合、基本部分集合内の面を含むことと、面が再び訪問されるべきでないことを決定することとをさらに含む。
【0130】
第1の組の面を繰り返し訪問することは、第1の組の面が一度に1つずつ(例えば、1つずつ)訪問され、最後に、第1の組のすべての面が訪問されたことを手段する。面が訪問されるたびに、面は1つの唯一の候補基本部分集合に含まれ、この場合、面は別の候補基本部分集合に含まれることができないか、又は面が訪問されたときに候補基本部分集合に含まれない。面が候補基本部分集合に含まれる場合、(候補基本部分集合の定義によって)別の候補基本部分集合の一部ではないので、面は再び訪れてはならないと決定される。このようにして、1つ以上の候補基本部分集合を決定するステップS310は候補基本部分集合と、他の候補基本部分集合にも属さない他のファセットとの間のファセットの第1の組を効率的に区分する。なぜならば、候補基本部分集合が決定されるたびに、候補基本部分集合の次の決定のために訪れるべきファセットは、より小さいからである。したがって、本方法は非常に効率的である。
【0131】
一例では1つ又は複数の候補基本部分集合を決定するステップS310の前に、第1の面の組のすべての面が「未訪問」とマークされる(例えば、ラベル付けされる)これらの例では決定S310が第1の面の組の面を反復して訪れるアルゴリズムを実行することを含む。アルゴリズムが第1の面の組の最初の面を訪れることから開始し、最初の面は「訪問」とマーク付けされる。面を「訪問」とマーク付けすることは面がアルゴリズムによって再び訪問されないことを決定することである。最初の面は第1の面の組の面の中からランダムに選択されてもよい(例えば、選択されてもよく、例えば、アルゴリズムに提供されてもよい)。次いで、アルゴリズムは全ての隣接する面を初期面に繰り返し訪れ、初期面と所定のタイプのエッジを共有するか、又は初期面と滑らかなエッジを共有し、所定の面タイプではない全ての隣接する面を収集する。提供される特徴タイプが窪み特徴タイプ(例:突起特徴タイプ)である場合、所定の面タイプは丸(例:フィレット)面タイプであり、所定のエッジタイプは凹状(又は凸状)エッジタイプである。収集されたすべての隣接面は、「訪問」とマークされる。その後、アルゴリズムは先に収集された隣接面と所定のタイプのエッジを共有するか、先に収集された隣接面と滑らかなエッジを共有し、先に収集された隣接面タイプではなく、新たに収集された面が「訪問」とマークされる、などのいずれかを行う、先に収集された各隣接面のすべての隣接面を収集する。したがって、アルゴリズムは隣接する面の反復収集を実行し、その結果、初期面を含む候補基本部分集合が識別される。候補基本部分集合は正確に最初の面からなる、すなわち、隣接する面が収集されないことが可能である。次に、アルゴリズムは第1の組の面の未訪問の面(すなわち、「未訪問」とマークされた面)を訪問し、第1の組のすべての面が「訪問済み」とマークされるまで、前記未訪問の面の隣接する面の反復収集を再実行し、以下同様である。
【0132】
次に、1つ又は複数の候補基本部分集合を決定するステップS310の実装について説明する。この実施形態では、提供される特徴タイプが窪み特徴タイプである。決定S310は、提供された第1の組の面上で伝搬アルゴリズムを実行することを含む。第1の組の面をFとし、候補基本特徴の数をnとする。伝搬アルゴリズムは、以下の擬似コードによって記述される。
【数38】
【0133】
関数ElemDepression(f)は、凸状エッジ又は丸い面に到達するまで、最初の面の隣接する面fを繰り返し訪問することである。この伝搬アルゴリズムは、後入れ先出し(LIFO)リストH及び出力リストEを使用する。LIFOリストは、伝搬のための内部データ構造である。これは、標準的な命令Push(・)、Pop(・)、及びSizeによって使用される。命令Push(x)はリストの上にオブジェクトxを追加し、そのサイズをインクリメントする。命令Pop(x)はリストの最後のオブジェクトxを生成し、リストから削除し、そのサイズをデクリメントする。出力リストEは、入力面で開始された候補基本部分集合の面を含む。関数ElemDepression(f)については、以下の擬似コードで説明する。
【数39】
次に、
図26及び27を参照して、上記伝搬アルゴリズムの適用例を説明する。
図27は、ステップS10において提供されたB-repを示す。点線の矩形内に完全に含まれる面は、第1の組の面の面である。第1の組の面を提供(S20)するために、ユーザは、B-repが表示されるCADシステムのディスプレイ上に点線の長方形を描いている。明確にするために、第1の組の面の面には、すなわち
図28に示すように、
【数40】
と番号が付されている。これらが選択されているにもかかわらず、面11、12及び13は、右図に示すように見ることが困難であることに留意されたい。伝搬アルゴリズムは、候補基本部分集合の以下のリストを決定する(S310)。
【数41】
この例では、L2及びL3が滑らかなスキンではなく、L4が凹面基準を満たす滑らかなスキンであるため、候補基本部分集合L2、L3、及びL4が基本部分集合として識別される(S320)。これは、凹面基準を満たさない滑らかなスキンであるため、L1は廃棄される。
【0134】
次に、1つ又は複数の候補基本部分集合を決定するステップS310の別の実施形態について説明する。この実施形態では、提供される特徴タイプが突起特徴タイプである。決定S310は、提供された第1の組の面上で伝搬アルゴリズムを実行することを含む。第1の組の面をFをとし、候補基本特徴の数をnとする。伝搬アルゴリズムは、以下の擬似コードによって記述される。
【数42】
【0135】
関数ElemProtrusion(f)は、凹状エッジ部又はフィレット面に到達するまで、初期面fの隣接面を繰り返し訪れることである。この伝搬アルゴリズムは、後入れ先出し(LIFO)リストH及び出力リストEを使用する。LIFOリストは、伝搬のための内部データ構造である。これは、標準的な命令Push(・)、Pop(・)、及びSizeによって使用される。命令Push(x)はリストの上にオブジェクトxを追加し、そのサイズをインクリメントする。命令Pop(x)はリストの最後のオブジェクトxを生成し、リストから削除し、そのサイズをデクリメントする。出力リストEは、入力面fで開始された候補基本部分集合の面を含む。関数ElemProtrusionについては、以下の擬似コードで説明する。
【数43】
【0136】
例では、上記の2つの実装形態の2つの伝搬アルゴリズムのそれぞれは提供される特徴タイプに特にリンクされ、すなわち、1つの特徴タイプに対して正確に1つの伝搬アルゴリズムが作成される。例では伝搬アルゴリズムが両方の特徴タイプについて同じであるが、関数ElemProtrusion又はElemDepressionは、伝搬アルゴリズムのパラメータの2つの異なるインスタンスであり、前記パラメータは特徴タイプを提供するステップS20の結果として設定される(例えば、指定される)。
【0137】
図28は、滑らかなスキンが候補基本部分集合であるか否かを判定するステップS310と、候補基本部分集合が基本部分集合であるか否かを識別するステップS320との実施を示すフローチャートを示す。
【0138】
例では、認識するステップS30が識別された基本部分集合を結合するステップS330を含む。提供される特徴タイプが窪み特徴タイプである場合、2つの基本部分集合はそれらが凸状エッジのみを共有する場合、又はそれらが1つ以上の丸い面の同じ組に隣接する場合に結合され、その場合、1つ以上の丸い面は2つの基本部分集合と結合される。付加的に、又は代替的に、提供される特徴タイプが窪み特徴タイプである場合、2つの基本部分集合はそれらが凹状エッジのみを共有する場合、又はそれらが1つ以上のフィレット面の同じ組に隣接する場合、組み合わされ、その場合、1つ以上のフィレット面は2つの基本部分集合と組み合わされる。
【0139】
基本部分集合を結合するステップS330は、第2の組の面である全ての基本部分集合間の接続を形成することを含む。言い換えると、基本部分集合を組み合わせることにより、第2の組の面が形成され、及び/又は出力される。接続を形成することは、接続されるべき各2つの基本部分集合、すなわち、所定のエッジタイプのエッジのみ、又は所定の面タイプの面のみのいずれかを共有する2つの部分集合の間に各インターフェースを形成すること(例えば、反復的に、例えば、1つずつ)を含む。
【0140】
例では、結合するステップS330が面の組のすべての面がマージされて、第2の面の組に対応するデータを形成することにある。例では、認識するステップS30の結果として、第2の面の組のすべての面に相対的なすべてのデータが格納されるメモリ空間を指すポインタが存在する。
【0141】
先に
図26及び27を参照して説明した例では、基本部分集合L3及びL4が、凸状エッジのみを共有するので、部分集合
【数44】
に結合される。加えて、丸い面4及び5を共有するので、C1及びL2が組み合わされて、第2の組の面
【数45】
を生じる。