JP4472642B2 - コンピュータ支援設計システムのための認識およびアクティブフィーチャ - Google Patents

コンピュータ支援設計システムのための認識およびアクティブフィーチャ Download PDF

Info

Publication number
JP4472642B2
JP4472642B2 JP2006012608A JP2006012608A JP4472642B2 JP 4472642 B2 JP4472642 B2 JP 4472642B2 JP 2006012608 A JP2006012608 A JP 2006012608A JP 2006012608 A JP2006012608 A JP 2006012608A JP 4472642 B2 JP4472642 B2 JP 4472642B2
Authority
JP
Japan
Prior art keywords
feature
features
fillet
action
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006012608A
Other languages
English (en)
Other versions
JP2006209763A (ja
Inventor
チン リカルド
シーゲル ロバート
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dassault Systemes SolidWorks Corp
Original Assignee
SolidWorks Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SolidWorks Corp filed Critical SolidWorks Corp
Publication of JP2006209763A publication Critical patent/JP2006209763A/ja
Application granted granted Critical
Publication of JP4472642B2 publication Critical patent/JP4472642B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]

Description

本出願は、コンピュータ支援設計(CAD)に関し、より詳細には、3DフィーチャベースのCADモデリングシステムにおけるフィーチャの順序付けに関する。
CAD製品を、エンジニアによって設計される3次元(3D)の形状を設計し取り込むために用いることができる。このような3D CAD製品は、何年にも渡って発展し、この技術の様々なレベルのものが、今日も依然として用いられている。開発されてきた最も初期のものから最新の3D技術の順に、CAD製品は、3Dワイヤフレームモデリング、3Dサーフェスモデリング、3Dソリッドモデリング、および3Dフィーチャベースのモデリングを含む。ワイヤフレームモデリングシステムは、モデルのエッジのみを取り込む。エッジは、線、弧、および他のタイプの曲線からなる幾何形状によって定義される。3次元サーフェスモデリングシステムは、CADモデルにおける表面も定義することによって、ワイヤフレームモデリングシステムの機能性をさらに一歩拡張させる。非限定的な例として、表面は、平面、円柱、および錐体を含み得る。
3次元ソリッドモデリングシステムは、ワイヤフレームおよび表面幾何形状技術を、システムがパートの中の幾何形状すべての結合性について知るように組み合わせる。3Dソリッドモデリングシステムが、どのエッジが表面に接するか、およびどの2つの表面がエッジを定義するように交差するかを追跡する。この幾何形状の「簿記(book−keeping)」は、ソリッドモデリングソフトウェアによって、ユーザのために行われる。ブロック、円柱、および錐体など、原始的なソリッド形状を組み合わせることができ、ソフトウェアシステムは、「隙間のない(water−tight)」モデルが維持されるように、幾何形状すべてが確実に結び付けられるようにする。
3次元フィーチャベースのCADモデリングシステムは、ソリッドモデリング技術をさらに拡張する。単純な幾何プリミティブの集合体としてモデルを構築するのではなく、3DフィーチャベースのCADモデリングシステムがフィーチャを利用する。フィーチャのいくつかの例は、指定された距離だけ形状を押し出すことによって作成される押出し、モデルの中の1つまたは複数の鋭エッジを丸くするフィレット、パートのモデルまたはパートの一部分をくりぬくシェル、およびホールを含む。フィーチャの定義に関する情報を取り込むことが可能である。この情報は、フィーチャをどのようにして構築するかを記述することができ、ホールの直径などのパラメータを含み得る。フィーチャの定義はまた、予め定義されたフィーチャから参照される幾何形状をも含み得る(たとえば、ホールの定義は、ホールの場所を指定するための、予め作成された何らかのフィーチャのエッジからの距離を含み得る)。このタイプの情報を取り込むことによって、3DフィーチャベースのCADモデリングシステムは、変更が加えられたとき、必要に応じてフィーチャを更新するための能力を有する。たとえば、ホールの直径を指定するパラメータを変更することによって、ホールの幾何形状は、新たな直径を反映するようにアップデートすることができる。親フィーチャ(すなわち、従属フィーチャへの階層パスを有する、予め定義されたフィーチャ)に変更があった場合、フィーチャの階層関係の結果として親フィーチャを暗黙的に参照する、後から定義されたフィーチャ(これ以降、子または子フィーチャと呼ばれる)が、親フィーチャ中のエッジからの距離を維持するホールなど、予め定義された関係を維持するようにアップデートされる。
作成されたフィーチャの間の親/子関係、および子フィーチャの、その子フィーチャの1つまたは複数の親への依存の結果として起こるアップデートに起因して、階層データ構造におけるフィーチャのシーケンスまたは順序は、非常に重要である。3DフィーチャベースのCADモデリングシステムにおいて、親は、常に、それに依存する子のいずれにも先立って定義されるべきである(たとえば、ホールフィーチャの場所が依存する、あるサイズの曲面フィーチャ)。
親/子関係に加えて、フィーチャの順序は、モデルの、結果として得られた幾何形状、およびモデルに変更が加えられたときに必要となり得るアップデートが成功する程度を左右し得る。さらに、フィーチャの定義中で使われる参照の組合せおよび参照のタイプも、モデルの幾何形状およびアップデートが成功する程度を左右し得る。
フィーチャの順序つきリストは、3DフィーチャベースのCADモデリングシステム、またはフィーチャベースのモデラにおけるモデルを構築する手法を提供する。この手法は、モデルがアップデートされる必要があるとき、たとえば、非限定的な例として、モデルに変更が加えられたときに、順序通り評価される。ただし、特定の状況下では、1つまたは複数の変更がモデルに加えられた後、CADシステムは、1つまたは複数のフィーチャを成功裏に更新できなくなる場合がある。アップデートの成功を妨げ得る問題は、より後で定義されたフィーチャからの幾何形状を調整するには小さすぎる、より前に定義されたフィーチャからの幾何形状、または、もはやモデルに存在しない、またはアクセス可能でないフィーチャの定義中で使われる参照を含む。モデル中で起こり得る問題の種類および組合せは、ユーザには計り知れないものとなる場合がある。問題が起こると、CADシステムは、成功裏にアップデートすることができないフィーチャを識別することができ、そうすることによって、ユーザは、アップデートの成功を可能にするようなフィーチャの順序づけを目標として、モデルのフィーチャを手作業で固定し、または手作業で並べ替えるプロセスを始めることができる。
モデルは、数百のフィーチャを含むことができ、モデル階層でのフィーチャ順、およびモデルにおける様々なフィーチャの間の関係の管理および固定は、ユーザにとって非常に時間がかかる場合がある。問題が起きたときの問題の解決には、どのようにして、フィーチャすべてが対話して、モデル(たとえば、親子関係および相互参照)を定義するかに関して、ユーザによる相当の洞察を要する。問題解決には、フィーチャを成功裏にアップデートする絶好の機会を生かすように、様々なフィーチャの相互関係を念頭に置いた、フィーチャの定義に関する考慮も必要となる。その結果、3DフィーチャベースのCADモデリングシステムは、モデルはそれ程複雑でなくても、使いにくくなる可能性がある。
概して、一態様において、本発明は、CADシステムにおいてデータを処理するコンピュータ実装方法を特徴とする。本方法は、3次元モデルのフィーチャが、訂正を必要とする条件を有していると決定することを含む。この条件を自動的に訂正するためのアクションが起こされる。アクションは、3次元モデル中の一連のフィーチャを並べ替えるアクション、フィーチャの少なくとも1つのパラメータを変更するアクション、およびフィーチャ参照を削除または変更するアクションを含むいくつかのアクションから選ばれる。さらに、アクションは、アクションが作用するフィーチャに直接かつ間接的に関連する、1組のフィーチャへのアクションを制限する1つまたは複数の制約を有している。
実装形態は、非限定的な例として、フィーチャが、訂正を必要とする条件を有しているという決定を助けるイベント駆動機構を介した通知などのフィーチャを含み得る。さらに、アクションの結果、一連のフィーチャが並べ替えられる際の考慮すべき点の中には、1つまたは複数のフィーチャに関して、フィーチャが、関連フィーチャに関して親フィーチャであるか、それとも子フィーチャであるかということ、およびフィーチャタイプがある。非限定的な例として、フィーチャがフィレットフィーチャであり、関連フィーチャがドラフトフィーチャである場合、ドラフトフィーチャは、フィレットフィーチャに先立って順序づけることができ、大きいフィレットフィーチャは、より小さいフィレットフィーチャに先立って順序づけることができ、モデルへのアップデートが成功する可能性を高める。
本発明の1つまたは複数の実施形態の詳細を、添付の図面および以降の説明に示す。本発明の他の特徴、目的、および利点が、説明および図面から、かつ特許請求の範囲から明らかになるであろう。
本発明は、3DフィーチャベースのCADモデリングシステムにおける認識およびアクティブフィーチャ(これ以降、AAFとも呼ばれる)を提供する。認識およびアクティブフィーチャは、3DフィーチャベースのCADモデリングシステムによって生成されるフィーチャの機能を強化し、フィーチャ管理に関して、3DフィーチャベースのCADモデリングシステムのユーザの責任を大幅に削減する。1つまたは複数の既存フィーチャの不具合または他の望ましくない条件を引き起こす変更がモデルに加えられると、認識およびアクティブフィーチャは、自動的に自己修復する。自己修復は、たとえば、内部参照、パラメータ設定、フィーチャ順、またはこれらの組合せを変更することによって起こり得る。フィーチャが自己修復するための能力を組み入れることによって、3DフィーチャベースのCADモデリングシステムは、大幅に使いやすくなる。
AAFとは、望ましくない条件を認識し、条件に応答する能力があるフィーチャである。モデルのフィーチャをすべて監視し管理しようと試みるCADシステムを実現するのではなく、本明細書に記載する本発明は、個々のフィーチャが、その特定の条件の特性に基づいて、かつ他のフィーチャとの直接および間接的関係に基づいて、望ましくない条件の修復を管理できるようにする。
AAFは、望ましくないいくつかの条件を認識することができる。条件のタイプは、AAFが属す、モデリングされたパートまたはアセンブリの条件である局所的な条件、あるいは1つまたは複数の関連フィーチャ(たとえば、親、子、参照フィーチャ、またはAAFに隣接し、もしくは幾何学的に結び付けられたフィーチャ)の条件を含む。条件は、AAFのアップデート状況(たとえば、アップデートプロセス中に不具合が起きたかどうか)、参照の欠如、および無効な幾何形状の存在を含み得るが、それに限定されない。
条件に応答するために、AAFは、条件を修復するためのいくつかのアクションを起こし得る。このようなアクションは、AAFを定義するのに使われるパラメータのうち1つまたは複数の変更、参照の変更または消去、フィーチャ順における位置の変更、多数のフィーチャへのフィーチャの分割、および他のフィーチャとのフィーチャのマージを含み得るが、それに限定してはならない。
動作効率のために、当業者は、AAFが識別し得る条件の数の制限を望む場合がある。同様に、条件に応答するためにAAFがとり得る訂正アクションの数も、モデリングシステムの効率を最大限にするために、制限することができる。
AAFを使用するモデリングシステムには、プログラムによって、上位レベルからのモデルのフィーチャすべての監視および管理を必要としないという利点がある。評価されるフィーチャの範囲は、直接または間接的に互いに関連するフィーチャによって制限され、したがって、大域的な分析ではなく局所的な分析が要求される。AAFは、その特定のAAFに内部的に影響する条件に応答するだけである。さらに、AAFによって起こされるアクションが、別のAAFにおいて条件を引き起こす場合、別のAAFは、その条件に応答する。
概して、モデルの中の全フィーチャタイプは、モデルのフィーチャ順における位置の管理など、全般的なAAF機能を有することができる。特定のフィーチャタイプ(たとえば、フィレット、ドラフト、およびシェル)は、全般的な機能を超えて、追加AAF機能を有し得る。AAF機能は、既存のCAD製品の機能性に組み入れることができ、従来のフィーチャの振舞いに指示を与えるデータ構造を含み得る。
ここで図1を参照すると、条件(たとえば、AAFに対するエラーまたは不具合を引き起こす状況)を評価し応答するプロシージャ100を示してある。この評価は、条件を訂正するための1つまたは複数のアクションの呼出しにつながる。条件は、AAFの不具合状況、AAFに関連する1つまたは複数のフィーチャに対する不具合状況、AAFまたは関連フィーチャにおいてフラグをセットすることによって示される条件(たとえば、フィーチャがそれ自体の並べ替えを試みたが、失敗したとき)、およびモデルのデータ構造においてフラグをセットすることによって示される条件を含み得る。AAFは、その不具合状況を調べることができ、1つまたは複数の関連フィーチャの1つまたは複数の状況インジケータを調べることができる。
プロシージャ100は、始めに、対象となっているAAFが認識している第1の条件を評価し(ステップ10)、条件に対して規定された1組のアクションを循環するのに使われる変数nを1にセットする(ステップ11)。上述したように、AAFアクションは、AAFのパラメータ、参照、およびフィーチャ順における位置の変更を含み得る。通常、自己修復用のAAFによってアクションが起こされる。
プロシージャ100は次いで、評価されるべき条件にAAFが直面しているかどうか調べ(ステップ12)、この場合、条件は、AAFが変化することを要求し得る。条件が発生しているかどうかをAAFが調べるための一方法は、状況フラグを評価することによるものである。AAFが条件に直面していない場合、およびすべての条件がまだ調査されているわけではない場合(ステップ26)、プロシージャ100は、AAFが認識している次の条件の評価に進む(ステップ24)。
ただし、実装形態は、イベント駆動でよく、このことは、(たとえば、状況フラグを評価することによって)条件が発生しているかどうか調べるのではなく、特定の条件が存在することを示すソフトウェアの中断によって、AAFを起こすことができることを意味する。したがって、AAFには、イベントを自動的に通知することができる。このようなイベントは、たとえば、1つまたは複数の状況フラグの変更や1つまたは複数の特定のフラグのセットを含み得る。自動通知は、フィーチャ関係(たとえば、親、子、およびクロスパート関連付け)に基づいて暗黙的に確立することも、たとえば、CADモデリングシステムのユーザによって明示的に確立することもできる。
評価される条件にAAFが直面している場合(ステップ12)、AAFは、その条件に応答して、第1のアクションを決定する(ステップ14)。AAFが直面している条件に対して、AAFは、1つまたは複数のアクションを利用して、条件への対処を試みる。AAFは、その条件にAAFが直面しなくなる(ステップ18でテストされる)まで、またはすべてのアクションが起こされるまで(ステップ20でテストされる)、各アクションを実施する(ステップ16)。
AAFは、全条件が調査される(ステップ26)まで、調査される条件の設定を含む反復プロセスを介して各条件を調査する(最初にステップ10で、その後はステップ24で)。ただし、上述したように、反復プロセスではなくイベントがAAFを中断する可能性があり、この場合、直面している条件を示すイベントの中断とともに、データを提供することができる。
図2は、モデルに属すパートのAAF中を反復する反復プロシージャ200を示す。パートのAAF中の概略フローは、パートの中のフィーチャ順(フィーチャ履歴としても知られる)によって定義され、この順序は、フィーチャが作成される順序に従って、最初に確立されることに留意されたい。これ以降、作用を受けているAAFは、ターゲットAAFまたはターゲットフィーチャと呼ばれる。パートのAAF中の反復は、最後の反復中にパートの中の少なくとも1つのフィーチャに変更がある(ステップ58)限り、継続する。パートの中の第1のAAFで始まり(ステップ50)、各AAFに対してアクションが起こされる(ステップ52)が、これについては図3により詳しく示す。パートの中の全AAFを繰り返した(ステップ54およびステップ56)後、現在の反復において1つまたは複数のフィーチャに変更があった場合(ステップ58でテストされる)、プロシージャ200は、第1のAAFに戻って、反復サイクルを再度開始する(ステップ50)。
ここで図3を参照すると、プロシージャ300は、図2のステップ52を詳しく示す。AAFが編集モードにない(ステップ98でテストされるが、これについては図4のステップ108を参照して後で論じる)限り、プロシージャ300は、AAFフィーチャタイプに応じて適切なアクションを開始する。プロシージャ300は、フィーチャタイプがフィレット(ステップ80)、ドラフト(ステップ82)、シェル(ステップ84)、および他の具体的なフィーチャタイプ(ステップ86)であるかどうかを含む、AAFのフィーチャタイプを調べる。プロシージャ300は次いで、ターゲットAAFフィーチャタイプを扱うプロセスの実行(それぞれ、ステップ88、90、92、または94)に進む。たとえば、ターゲットAAFのフィーチャタイプがフィレットの場合、プロシージャ300は、フィレットに関連するプロセスを実行する(ステップ88)が、これについては図10を参照してより詳しく記述する。ターゲットAAFに具体的なフィーチャタイプが関連づけられていない場合、プロシージャ300は、全般的なプロセスを実行する(ステップ96)が、これについては図4を参照してより詳しく記述する。
ここで図4を参照すると、全般的なアクションプロシージャ400を示してある。プロシージャ400は、最初に、並べ替えグラフを構築する(ステップ100)が、これについては図5Aにより詳しく示す。プロシージャ400は次いで、並べ替えグラフに基づいて、ターゲットAAFがフィーチャ順における理想的な場所にあるかどうかテストし(ステップ102)、理想的な場所にある場合、プロシージャ400は終了する。ターゲットAAFがフィーチャ順における理想的な場所にない場合、フィーチャ階層として表すことができる、フィーチャシーケンス中でのターゲットAAFの並べ替えが試みられる(ステップ104)。プロシージャ400は次に、試行フラグがセットされているかどうか調べる(ステップ106)。セットされている場合、試行フラグは、ターゲットAAFが理想的な場所に到達できないことを示し、ターゲットAAFに関連するフィーチャがアクションを起こすことができ、次いで、このアクションの結果、ターゲットAAFが理想的な場所に到達できるようになる可能性がある。この場合、ターゲットAAF用のEditModeフラグが、TRUEにセットされ(ステップ108)、プロシージャ400は次いで、関連フィーチャへのTakeActionプロシージャを実行して(ステップ110)、図7でより詳しく記述するように、ターゲットAAFに関連するフィーチャに対してアクションを起こす。
関連フィーチャへのアクション(ステップ110)がとられた後、プロシージャ400は、図6でより詳しく記述するように、フィーチャ順におけるターゲットAAFの並べ替えを再度試み(ステップ112)、ターゲットAAF用のEditModeフラグをFALSEにセットし(ステップ114)、終了する。
好ましい実施形態では、関連フィーチャへのTakeActionプロシージャ(ステップ110)は、再帰的にコールされ、親、子、および隣接フィーチャ、ならびにターゲットAAFと関係がある他のフィーチャに対して作用する。関連フィーチャへのTakeActionプロシージャ(ステップ110)を再帰的にコールすることができる間、このプロシージャは、ターゲットAAFに関連するAAFのどれに対しても、一度より多くコールされてはならない。
ここで図5Aを参照すると、プロシージャ500は、ターゲットフィーチャ用の並べ替えグラフを構築する。並べ替えグラフ(その例示的な例を図5Bに示す)は、パートの中の各フィーチャごとに計算されたスコアを表す。スコアは、フィーチャ順におけるフィーチャの場所を判定し並べ替えるのに使われる。概して、フィーチャ順における、AAFにとって理想的な場所は、関連フィーチャが実施を試みている並べ替えのタイプに基づいて判定される。関連フィーチャは、親、子、および幾何形状的に隣接するフィーチャを含む。プロシージャ500は、図8を参照してさらに完全に論じるが、フィーチャシーケンス中でより後に並べ替えることを望むターゲットフィーチャの親(ステップ120およびステップ121)と、フィーチャシーケンス中でより前に並べ替えることを望む子(ステップ122およびステップ123)と、フィーチャシーケンス中でより後に並べ替えることを望むより前の隣接フィーチャ(ステップ124およびステップ125)と、フィーチャシーケンス中でより前に並べ替えることを望むより後の隣接フィーチャ(ステップ126およびステップ127)とを含む、ターゲットフィーチャに関連するフィーチャの並べ替えグラフを作成することができる。場所スコアは次いで、図9を参照してさらに記述するように、隣接フィーチャの間の順序関係を維持するために下げ調整される(ステップ128およびステップ129)。
図5Bは、15個のフィーチャを有するパートの中の例示的なターゲットAAF(フィーチャ8)用の例示的な並べ替えグラフを提示する。図5Aに示した各並べ替えルーチンに対する図5Aの記述に基づいて、ターゲットフィーチャの前および/または後のフィーチャの場所にスコア値を追加することができる。並べ替えグラフは、ターゲットフィーチャに対する、各フィーチャの関係を列挙する(たとえば、フィーチャ5は、好ましくはより後に並べ替えられる隣接および親フィーチャとして列挙される)。この関係に基づき、図8の実施形態の例示的なスコア値に相応して、「6」というスコア値が、図5Bの「フィーチャ5」で始まる行にある左の列の見出し「スコア付け」の下に示されるように、フィーチャ8の後のフィーチャに対応する各場所に追加される。他のスコア値は、各関連フィーチャの影響を示す、図5Bに示す注で示す。スコア値がそれぞれ、各場所に対して追加されると、ターゲットフィーチャ向けの理想的な場所は、スコア値が最高である場所の後の場所と見なすことができる。図5Bでの例示的なスコア値およびフィーチャとして、フィーチャ8向けの理想的な場所は、フィーチャ6の後である。
図6を参照すると、プロシージャ600は、ターゲットAAFが理想的な場所への並べ替えを試みるためのプロセスを示す。ターゲットフィーチャがその理想的な場所になく(ステップ150でテストされる)、理想的な場所に到達することができない(ステップ152でテストされる)場合、プロシージャ600は、ターゲットAAFを、理想的な場所に最も近い場所に並べ替えようと試みる(ステップ154)。ターゲットAAFがその理想的な場所になく(ステップ150でテストされる)、理想的な場所に到達することができる(ステップ152でテストされる)場合、ターゲットAAFは、理想的な場所に並べ替えられる(ステップ156)。理想的な場所に最も近い場所または理想的な場所への並べ替えにより、ターゲットAAFが不具合を起こす(それぞれ、ステップ158およびステップ160でテストされる)場合、並べ替えは取り消され(ステップ162)、試行フラグは、並べ替えグラフに応じて、より前またはより後の順序を示すようにセットされる(ステップ164)。
理想的な場所に最も近い場所への並べ替え(ステップ154)により、ターゲットAAFが不具合を起こさない(ステップ158でテストされる)場合、試行フラグは、理想的な場所に相対的に最も近い場所に応じて、より前またはより後の位置を示すようにセットされ(ステップ164)、プロシージャ600は終了する。ターゲットAAFが、既に理想的な場所にある(ステップ150でテストされる)か、または理想的な場所への並べ替えにより、ターゲットフィーチャが不具合を起こさない(ステップ160でテストされる)場合、試行フラグはクリアされ(ステップ166)、プロシージャ600は終了する。
図7を参照すると、プロシージャ700、すなわち関連フィーチャへのTakeActionは、ターゲットAAFに関連するフィーチャに対して後続のアクションを起こす。(図3を参照して論じたように、このようなアクションは、ターゲットフィーチャに関連するフィーチャのフィーチャタイプ(たとえば、フィレット、ドラフト、フィレット、シェル、または他の具体的なタイプ)に依存する。関連フィーチャは、ターゲットフィーチャの各親フィーチャ(ステップ180)、ターゲットフィーチャの前の各隣接フィーチャ(ステップ182)、ターゲットフィーチャの各子フィーチャ(ステップ184)、およびターゲットフィーチャの後の各隣接フィーチャ(ステップ186)を含み得る。関連フィーチャの順序は、特定の関連フィーチャがターゲットフィーチャの順序付けに対して与え得る相対的インパクトを示し得る。
図8は、プロシージャ500からコールされる(図5Aのステップ120に示す)ように、ターゲットフィーチャの親フィーチャが、ターゲットフィーチャの後の場所への並べ替えを望むときに、場所スコアを判定する例示的なプロシージャを示す。図9は、プロシージャ500からコールされる(図5Aのステップ128に示す)ように、場所スコアを判定して、隣接フィーチャの間の順序関係を維持するようにスコアを調節する例示的なプロシージャを示す。他の並べ替えケースを扱うプロシージャ(たとえば、プロシージャ500のステップ122、124、126からコールされる)も、図5Aに提示したそれぞれの命令に基づいて、同様に構成することができる。他の並べ替え方式は、AAFが実装されるモデリングシステムによって維持される、フィーチャの間の関係に応じて企図することができる。
特に図8を参照すると、プロシージャ800は、ターゲットAAFの親フィーチャを循環するが、ターゲットAAFの第1の親フィーチャから始まり(ステップ200)、ターゲットAAFの次の親フィーチャに繰り返し循環し(ステップ202)、最後の親フィーチャが処理される(ステップ204でテストされる)まで続く。現在反復されている親が、より後に並べ替えることを望む(ステップ206でテストされる)場合、ターゲットフィーチャの後の、フィーチャ履歴中に置かれた各フィーチャに対する場所スコアが、スコア値(ステップ210またはステップ212でセットされる)によって増加され(ステップ208)、ターゲットフィーチャの後の、フィーチャ履歴中に置かれた第1のフィーチャから始まり(ステップ214)、次の場所に繰り返し循環し(ステップ216)、最後の場所が処理される(ステップ218)まで続く。スコア値は、不具合があったという状況を親が有するかどうか(ステップ220で判定される)に依存する。
例示的な一実施形態では、不具合がなかった、および不具合があった親フィーチャのスコア値を、それぞれ6および10として示してある(それぞれステップ210および212でセットされる)。代替実施形態では、こうした値はそれぞれ変わり得る。スコアの相対値は、関連フィーチャの並べ替えがターゲットフィーチャの順序付けに与え得る相対的インパクトを示し得る。様々な代替実施形態において、スコア値は、関係のタイプおよびフィーチャの不具合状況に依存し得る。例示的なスコア付け値は、以下のようになり得る。
不具合があった親=10
親=6
不具合があった子=10
子=6
不具合があった隣接フィーチャ=4
隣接フィーチャ=2
図9は、ターゲットフィーチャに隣接する各フィーチャを循環するプロシージャ900を示し、このプロシージャは、ターゲットフィーチャに隣接する第1のフィーチャで始まる(ステップ240)。プロシージャ900は、現在の反復における隣接フィーチャが、パートの中のフィーチャ順においてターゲットフィーチャの前に位置するかどうか(ステップ242でテストされる)調べる。
現在の反復における隣接フィーチャが、フィーチャ順においてターゲットフィーチャの前に位置する場合、プロシージャ900は、パートの中の第1のフィーチャに移り(ステップ244)、対応する場所のスコア値を削減し(ステップ250)、次いで、現在のフィーチャが、現在の反復における隣接フィーチャの直前のフィーチャであるかどうか(ステップ248でテストされる)調べる。現在のフィーチャが、現在の反復における隣接フィーチャの直前のフィーチャでない場合、プロシージャ900は、現在のフィーチャが、パートの中の次のフィーチャとなるように繰り返し循環し(ステップ246)、現在のテスト済みフィーチャの対応する場所のスコアを削減し(ステップ250)、現在のフィーチャが、現在の反復における隣接フィーチャの直前のフィーチャであるかどうか(ステップ248でテストされる)調べるプロセスを繰り返す。プロシージャ900は、このようにして、現在の反復における隣接フィーチャの直前の現在のフィーチャを処理する(ステップ248でテストされる)まで繰り返し進む。
現在の反復における隣接フィーチャが、フィーチャ順においてターゲットフィーチャの前に位置しない(ステップ242でテストされる)場合、プロシージャ900は、隣接フィーチャに移り(ステップ252)、現在のフィーチャの対応する場所のスコア値を削減し(ステップ258)、フィーチャ順でパートの中の最後のフィーチャを処理するまで、パートの中の次のフィーチャに繰り返し循環し(ステップ254)、その対応する場所のスコア値を削減する(ステップ258)(ステップ256でテストされる)。
ターゲットフィーチャの前または後のフィーチャを繰り返し循環すると、プロシージャ900は次いで、現在の反復において予め処理された隣接フィーチャが、パートの中で最後の隣接フィーチャであるかどうか(ステップ260でテストされる)判定し、最後の隣接フィーチャである場合、プロシージャ900は終了する。現在の反復において予め処理された隣接フィーチャが、パートの中のフィーチャ順において最後の隣接フィーチャでない(ステップ260でテストされる)場合、新たな反復においてターゲットフィーチャの次の隣接フィーチャが処理される(ステップ262)。
ここで図10を参照すると、フィーチャタイプがフィレットであるターゲットフィーチャに対するTakeActionプロシージャ1000(たとえば、プロシージャ300のステップ88からコールされる)を示してある。不具合があったという状況がない(ステップ280でテストされる)フィレットターゲットフィーチャの場合、プロシージャ1000は終了する。
不具合があったという状況があるフィレットターゲットフィーチャ(ステップ280でテストされる)の場合、図11により詳しく示すように、フィーチャは、半径がターゲットフィーチャより小さい、パートの中の他の関連するフィレットフィーチャの前に並べ替えられる(ステップ282)。このような並べ替えの後で、ターゲットフィーチャに依然として不具合がある(ステップ284でテストされる)場合、ターゲットフィーチャは、隣接フィーチャとの相対的な位置を変え(ステップ286)、プロシージャ1000は終了する。
ここで図11を参照すると、プロシージャ1100を示し、図10のステップ282をより詳しく示してある。パートの中に、ターゲットフィレットフィーチャに隣接するフィレットフィーチャがある(ステップ300でテストされる)場合、ターゲットフィレットフィーチャより半径が小さい各隣接フィレットフィーチャを指定するリストが構築される(ステップ302)。親/子関係によって、ターゲットフィーチャが、半径がより小さい第1のフィレットフィーチャの前に並べ替えられるのが妨げられる(ステップ304でテストされる)場合、ターゲットフィーチャは、半径がより小さい第1の隣接フィレットフィーチャに可能な限り近くに並べ替えられ(ステップ306)、試行フラグが、より前に並べ替えるようにセットされ(ステップ308)、次いで、プロシージャ1100は終了する。親/子関係により、ターゲットフィーチャが第1のフィレットフィーチャの前に並べ替えられるのが妨げられない(ステップ304でテストされる)場合、ターゲットフィーチャは、半径がより小さい第1の隣接フィレットフィーチャの前の場所に並べ替えられ(ステップ310)、試行フラグはクリアされ(ステップ312)、プロシージャ1100は終了する。
本発明の実装形態では、並べ替えグラフを構築し、フィーチャの場所にスコア付けする必要がない。そうではなく、一実装形態では、たとえば、フィーチャを並べ替え、フィーチャのパラメータを変更し、または参照を消去もしくは変更することによって、望ましくない条件の訂正を助けるための1組のアクションを単に提供することができる。図10および図11を参照して上述し論じたように、このような1つのアクションは、関連フィーチャの中で、半径がより大きいフィレットフィーチャが、フィーチャ履歴中の、半径がより小さいフィレットフィーチャに確実に先行するようにし得る。別のアクションは、1つまたは複数の関連するフィレットフィーチャにドラフトフィーチャが先行するようにフィーチャを並べ替えることができる。このようなアクションの少なくとも1つの目的は、フィレットおよびドラフトフィーチャに対して実施される動作を簡素化し、その結果得られる幾何形状を簡素化することである。あるいは、たとえば、フィレットフィーチャは、可変半径に関するものである必要があり得る。実際、モデリングシステムはしばしば、フィレットを有する曲面を下書き(すなわち、先細に)しようとして失敗し、一方、不具合は、下書きした曲面に輪郭線をつけるときに起こり得る。概して、フィーチャタイプに応じて、各フィーチャは、その特定のタイプのフィーチャに適した1組のアクションを含み、またはアクションにアクセスする。さらに、望ましくない条件が存在しなくなるまで、アクションが適用される。
アクションが作用するフィーチャの範囲は、ターゲットフィーチャと直接または間接的に関係するフィーチャに限定される。関係は、親/子、隣接幾何形状、および交差する幾何形状を含み得るが、それに限定されない。たとえば、ターゲットフィレットフィーチャが、パートの中のより小さいすべてのフィレットフィーチャの前に並べ替えられることはなく、ターゲットフィレットフィーチャは、ターゲットフィーチャに隣接する幾何形状を有する別のフィレットフィーチャなど、並べ替えられるフィレットフィーチャと関係するフィーチャの前にだけ並べ替えられることになる。
ときには、エンティティの集合体から、フィーチャを定義することができる。たとえば、1つのフィレットフィーチャは、輪郭線をつけられるエッジの集合体でよい。並べ替えフィーチャが、望ましくない条件を修復しない場合、アクションが、フィーチャを断片に分割することができる。分割されるフィーチャは、望ましくない条件を提示するフィーチャでも、関連フィーチャでもよい。同一でない断片へのフィーチャの分割は、次いで、望ましくない条件を提示するフィーチャを並べ替えさせる。フィーチャの幾何形状分析は、フィーチャの様々なエンティティが交差するのか、それとも互いに隣接するのか判定し、そうすることによってエンティティが互いから解体されるのかどうか判定することができる。
さらに、アクションが、輪郭線をつけられるエッジの集合体を有するフィレットフィーチャを、エッジに隣接する曲面が凸であるか、それとも凹であるか(すなわち、鋭角を形成するか、それとも鈍角を形成するか)に応じて、断片に分割することができる。その結果、分割フィーチャは、2つのフィーチャ、すなわち隣接する凸面を有する全エッジを含む1つのフィーチャ、および隣接する凹面を有する全エッジを含む別のフィーチャとして表される。
フィーチャが参照を失うと、望ましくない条件が起こり得る。この状況は、並べ替えられたフィーチャが参照するエンティティ(エッジや曲面など)が存在しなくなった場所にフィーチャが並べ替えられると起こり得る。というのは、エンティティは、フィーチャリストまたは階層において、並べ替えられたフィーチャに先行するからである。この場合、並べ替えられたフィーチャは、動作を実施するための、参照されるエンティティを位置決めすることができなくなる。エンティティは存在するが、並べ替えられたフィーチャが見つけることができない場所にある条件に対する解決策は、並べ替えられたフィーチャを、参照されるエンティティが失われる前に、モデル履歴においてより前の場所(たとえば、フィーチャ階層においてより上位、またはフィーチャリストにおいてより前)に、および並べ替えられたフィーチャが次いで、エンティティを成功裏に参照することができる所に移動することである。失われた参照条件を訂正するアクションは、親/子関係を分析して、フィーチャ順において、失われたエンティティが存在することが依然として分かっている場所を見つける。
上述したように、望ましくない条件は、フィーチャのパラメータを変更することによって、訂正することができる。望ましくない条件の訂正を助けることができるパラメータの例は、セットされると、フィレットを全正接エッジに伝播させるパラメータである。このパラメータを、フィレットが伝播しないように変更するアクションは、モデルが生成し直されると、望ましくない条件を訂正することができる。望ましくない条件を訂正するようにパラメータを修正するアクションの別の例は、押出しの深さを変更する(たとえば、深さが無限の押出しであるスルーホールを、指定された深さのブラインド押出しに変更する)アクションである。
さらに、アクションは、参照を削除することも変更することもできる。参照を変更するこのような1つのアクションは、参照が、可能な限り最上位レベルのエンティティを確実に参照するようにする。1組のエッジが曲面を構成し、設計修正がエッジの数を変えさせ得るとすると、曲面は、その曲面のエッジより安定した参照となる。さらに、望ましくない条件が、条件を自動的に固定するための特定のプロシージャの実施に先立って起こるのを待つのではなく、アクションは、1つのフィーチャに対する動作が他のフィーチャに与え得る影響を予期することによって、望ましくない条件(たとえば、不具合)の発生を妨げることができる。参照が、可能な限り最上位レベルのエンティティを確実に参照するようにするアクションも、望ましくない条件の発生を妨げるのに用いることができる。
さらに、本発明の実装形態により、ユーザは、追加制約を追加することができるようになる。非限定的な例として、このような追加制約は、アクションを、2つのフィーチャの間の相対オーダーをロックする(たとえば、1つのフィーチャが、常に第2のフィーチャの前に確実に順序付けられるようにする)ことに制約することを含み得る。2つのフィーチャの順序のロックは、2つのフィーチャが一体となる幾何形状の形状を維持するように実装することができる。フィーチャの順序を調節する際、本発明では、ユーザが定義した制約すべてを常に尊重する。
本発明の利益により、フィレット、ドラフト、および他のフィーチャが、作成順序から完全に独立して作成され、削除され、または修正されるようになる。というのは、望ましくないどの条件(たとえば、作成順序によって引き起こされる不具合や、失われたフィーチャ参照によって引き起こされる不具合)も、たとえば、順序の決め直し、参照の除去、パラメータの変更、または上記の組合せによって、自動的に固定されるからである。アクションは、直接または間接的に関連するフィーチャの特定の範囲によって制限され、したがって、望ましくない条件を局所的に管理する。
本明細書に記載した方法およびシステムは、特定のハードウェアにもソフトウェア構成にも限定されず、多くのコンピューティングまたは処理環境において適用可能であり得る。たとえば、示し記述したプロシージャは、ハードウェアまたはソフトウェアでも、ハードウェアおよびソフトウェアの組合せでも実装することができる。本方法およびシステムは、1つまたは複数のコンピュータプログラムにおいて実装することができ、この場合、コンピュータプログラムは、1つまたは複数のプロセッサ実行可能命令を含むことが理解できよう。(複数の)コンピュータプログラムは、1つまたは複数のプログラム可能なプロセッサ上で実行することができ、プロセッサによって可読な1つまたは複数の記憶媒体(揮発性および不揮発性メモリおよび/または記憶要素を含む)に格納することができる。プロセッサはしたがって、1つまたは複数の入力デバイスにアクセスして、入力データを入手することができ、1つまたは複数の出力デバイスにアクセスして、出力データを伝達することができる。記憶媒体は、ランダムアクセスメモリ(RAM)、RAID(Redundant Array of Independent Disks)、フロッピー(登録商標)ディスク、CD、DVD、磁気ディスク、内部ハードドライブ、外部ハードドライブ、メモリスティック、または本明細書において提示した、プロセッサによってアクセスすることができる他の記憶デバイスでよいが、上述したこのような例は網羅的でなく、例示であって限定ではない。
(複数の)コンピュータプログラムは、好ましくは、コンピュータシステムと通信するための1つまたは複数の高度プロシージャ言語またはオブジェクト指向プログラミング言語を用いて実装されるが、(複数の)コンピュータプログラムは、所望される場合、アセンブリ言語でもマシン言語でも実装することができる。言語は、コンパイル型とすることも、インタプリタ型とすることもできる。
本明細書において提示したように、(複数の)プロセッサは、それぞれ独立して、またはネットワーク接続された環境において協働して作用することができる1つまたは複数のデバイスに組み込むことができ、(複数の)ネットワークは、たとえば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、またはその両方を含み、イントラネット、インターネット、別のネットワーク、またはその組合せを含み得る。ネットワークは、有線または無線あるいはその組合せでよく、1つまたは複数の通信プロトコルを用いて、異なるプロセッサの間の通信を容易にすることができる。プロセッサは、分散処理用に構成することができ、いくつかの実施形態では、必要に応じてクライアント−サーバモデルを使用することができる。したがって、本方法およびシステムは、多数のプロセッサおよび/またはプロセッサデバイスを使用することができ、プロセッサ命令は、このような単一または多数のプロセッサ/デバイスの間で分割することができる。
「あるプロセッサ」または「特定のプロセッサ」への参照は、スタンドアロンおよび/または(複数の)分散環境において通信することができる1つまたは複数のプロセッサを含むと理解でき、有線または無線通信を介して他のプロセッサと通信するように構成することができ、このような1つまたは複数のプロセッサは、同様のデバイスでも異なるデバイスでもよい1つまたは複数のプロセッサ制御デバイスに対して作用するように構成することができる。さらに、メモリの参照は、別段の指定がない限り、プロセッサ制御デバイスにとって内部であり、プロセッサ制御デバイスにとって外部である1つまたは複数のプロセッサ可読およびアクセス可能メモリ要素および/またはコンポーネントを含み、様々な通信プロトコルを用いて、有線または無線ネットワークを介してアクセスすることができ、別段の指定がない限り、外部および内部メモリデバイスの組合せを含むように配置することができ、このようなメモリは、アプリケーションに基づいて、連続する、かつ/または区画することができる。
本明細書において記述し示した細部、素材、および配置における多くの追加変更を、当業者によって行うことができる。したがって、添付の特許請求の範囲は、本明細書で開示した実施形態に限定されるものではなく、具体的に記述した以外の実施を含み、法の下で許容される限り広く解釈されるべきであることが理解されよう。
以上、本発明のいくつかの実施形態を記述した。それにも関わらず、本発明の精神および範囲から逸脱することなく、様々な修正を行うことができることが理解されよう。たとえば、実装形態は、動作が実施される順序を変更することができる。さらに、実装の必要に応じて、本明細書に記載した特定の動作を、動作の組合せとして実装し、排除し、追加を行い、または別の方法で構成し直すことができる。
したがって、他の実施形態も、添付の請求項の範囲内である。
条件を評価し、条件に応答するプロシージャを示す図である。 モデリングされたパートの中で、各アクティブおよび認識フィーチャを反復するプロシージャを示す図である。 アクティブおよび認識フィーチャタイプに応じて、適切なアクションを開始するプロシージャを示す図である。 全般的なアクション用のプロシージャを示す図である。 並べ替えグラフを構築するプロシージャを示す図である。 並べ替えグラフの例を示す図である。 アクティブおよび認識フィーチャの並べ替えを試みるプロシージャを示す図である。 関連フィーチャに対してアクションを起こすプロシージャを示す図である。 場所スコアを調節するプロシージャを示す図である。 隣接フィーチャに対する場所スコアを調節するプロシージャを示す図である。 フィレットフィーチャ向けのアクションを実施するプロシージャを示す図である。 フィレットフィーチャ向けのアクションを実施するプロシージャを示す図である。
符号の説明
10 CONDITION=AAFが認識している第1の条件
11 n=1
12 AAFが条件に直面しているか?
14 ACTION=CONDITIONに対してn番目に起こり得るアクション
16 ACTIONを実施する
18 AAFが、依然としてCONDITIONに直面しているか?
20 これが、CONDITIONに対して最後に起こり得るアクションか?
22 n=n+1
24 CONDITION=AAFが認識している次の条件
26 これが、AAFが認識している最後の条件か?
50 FTR=パートの中の第1のフィーチャ
52 Feature.TakeAction(図3を参照)
54 FTRはパートの中の最後のフィーチャか?
56 FTR=パートの中の次のフィーチャ
58 フィーチャのどれかが変わったか?
80 フィーチャタイプはフィレットか?
82 フィーチャタイプはドラフトか?
84 フィーチャタイプはシェルか?
86 フィーチャタイプは別の具体的なフィーチャタイプか?
88 Fillet.TakeAction(図10を参照)
90 Draft.TakeAction
92 Shell.TakeAction
94 other.TakeAction
96 Generic.TakeAction(図4を参照)
98 このフィーチャは編集モードか?
100 並べ替えグラフを構築する(図5Aを参照)
102 フィーチャが、フィーチャ順序中の理想的な場所にあるか?
104 理想的な場所へのフィーチャの並べ替えを試みる(図6を参照)
106 試行フラグがセットされているか?
108 フィーチャ用のEditModeフラグをTRUEにセットする
110 関連フィーチャへのTakeAction(図7を参照)
112 理想的な場所へのフィーチャの並べ替えを試みる(図6を参照)
114 フィーチャ用のEditModeフラグをFALSEにセットする
120 ParentsWantToReorderLater(図8を参照)
122 ChildrenWant ToReorderEarlier
121 このフィーチャより後の場所のスコアを増やす
123 このフィーチャの前の場所のスコアを増やす
124 EarlierAdjacent WantToReorderLater
125 より前にあり、より後に並べ替えることを望むどの隣接フィーチャに対しても、このフィーチャの後の場所のスコアを増やす
126 LaterAdjacent WantToReorderEarlier
127 より後にあり、より前に並べ替えることを望むどの隣接フィーチャに対しても、このフィーチャの前の場所のスコアを増やす
128 AdjustScoreDownDueToAdjacent(図9を参照)
129 隣接フィーチャの間の順序を維持するために、隣接フィーチャを超えた場所のスコアを削減する
150 フィーチャが、既に理想的な場所にあるか?
152 理想的な場所に到達することができるか?
154 理想的な場所にできるだけ近い場所に並べ替える
156 理想的な場所に並べ替える
158 並べ替えによって、フィーチャに不具合が生じたか?
160 並べ替えによって、フィーチャに不具合が生じたか?
162 並べ替えを取り消す
164 試行フラグをより前またはより後にセットする
166 試行フラグをクリアする
180 各親フィーチャに対して、Feature.TakeActionをコールする(図3を参照)
182 フィーチャの前に隣接する各フィーチャについて、Feature.TakeActionをコールする(図3を参照)
184 各子フィーチャに対して、Feature.TakeActionをコールする(図3を参照)
186 フィーチャの後に隣接する各フィーチャについて、Feature.TakeActionをコールする(図3を参照)
200 親=ターゲットフィーチャの第1の親
202 親=ターゲットフィーチャの次の親
204 ターゲットフィーチャの最後の親か?
206 親が、より後に並べ替えることを望む
208 Location.Score=Location.Score+Score
214 場所=ターゲットフィーチャの後の第1のフィーチャ
216 場所=現在の場所の後の次のフィーチャ
218 場所が、シーケンス中で最後か?
220 親が、不具合があったという状況を有しているか?
240 ADJACENT=ターゲットへの第1の隣接フィーチャ
242 シーケンス中のターゲットの前のADJACENTか?
244 FEATURE=パートの中の第1のフィーチャ
246 FEATURE=パートの中の次のフィーチャ
248 FEATUREは、ADJACENTの前のフィーチャか?
250 FEATUREのスコアの値を削減する
254 FEATURE=パートの中の次のフィーチャ
256 FEATUREが、パートの中の最後か?
258 FEATUREのスコアの値を削減する
260 FEATUREが、パートの中の最後の隣接フィーチャか?
262 ADJACENT=ターゲットへの次の隣接フィーチャ
280 このフィレットが、不具合があったという状況を有しているか?
282 より小さいフィレットの前に並べ替える(図11を参照)
284 まだ不具合があるか?
286 隣接フィーチャとの相対的な位置を変更する
300 いずれかのフィレットが、ターゲットフィレットに隣接するか?
302 半径がより小さい隣接フィレットのリストを構築する
304 親子関係が、半径がより小さい第1のフィレットの前にフィレットを並べ替えるのを妨げるか?
306 半径がより小さい第1のフィレットのできるだけ近くに並べ替える
308 より前に並べ替えるように、試行フラグをセットする
310 半径がより小さい第1のフィレットの前に並べ替える
312 試行フラグをクリアする

Claims (21)

  1. フィーチャに基づいたコンピュータ支援設計システムにおいてデータを処理する方法であって、
    3次元モデルのフィーチャに影響する望ましくない条件が発生していると、プロセッサが決定するステップと、
    前記望ましくない条件を改めて前記望ましくない条件が発生しないようにするアクションを実施することによって、前記望ましくない条件を、プロセッサが自動的に訂正するステップとを備え、
    前記アクションは、前記3次元モデルにおける複数のフィーチャの構成順序を表すフィーチャを並べ替えるアクション群、および前記フィーチャの少なくとも1つのパラメータを変更するアクション群のいずれか1つ又は組み合わせであり、
    前記アクションは、前記アクションが作用し、前記望ましくない条件が局所的に管理されるフィーチャの範囲を制限する1つまたは複数の制約を有し、ターゲットフィーチャと直接および間接的に係するフィーチャである前記複数のフィーチャの1つが存在するならば、前記フィーチャの範囲は、ターゲットフィーチャと直接および間接的に係するフィーチャの1つを含み、
    前記ターゲットフィーチャと直接的に関係するフィーチャは、前記ターゲットフィーチャとの親関係、子関係、クロスパート関係、隣接関係、および幾何学的結合関係の少なくとも1つを有しており、
    前記ターゲットフィーチャと間接的に関係するフィーチャは、ターゲットフィーチャと直接的および間接的に関係する前記複数のフィーチャの別のフィーチャと直接的に関係していることを特徴とする方法。
  2. イベント駆動機構を介した通知が、訂正を必要とする条件を前記フィーチャが有しているという決定を助けることを特徴とする請求項1に記載の方法。
  3. 前記フィーチャは、前記フィーチャおよび他の少なくとも1つのフィーチャからなり、
    前記フィーチャを並べ替える前記1つまたは複数のアクションは、前記フィーチャが親フィーチャおよび子フィーチャのどちらであるか、前記他の1つのフィーチャを参照して検討することを特徴とする請求項1に記載の方法。
  4. 前記フィーチャを並べ替える前記アクションは、前記フィーチャのタイプを検討することを特徴とする請求項1に記載の方法。
  5. 前記フィーチャの中の第1のフィーチャを、プロセッサにより前記フィーチャの中の第2のフィーチャに先立って並べ替えるステップをさらに備え、
    前記第1のフィーチャはドラフトタイプであり、
    前記第2のフィーチャはフィレットタイプであることを特徴とする請求項1に記載の方法。
  6. 前記フィーチャの中の第1のフィーチャを、プロセッサにより前記フィーチャの中の第2のフィーチャに先立って並べ替えるステップをさらに備え、
    前記第1のフィーチャはフィレットタイプであり、
    前記第2のフィーチャは、前記第1のフィーチャよりフィレット半径が小さいフィレットタイプであることを特徴とする請求項1に記載の方法。
  7. コンピュータに、
    望ましくない条件を認識するステップであって、前記望ましくない条件は、3次元モデルのフィーチャに影響し、前記望ましくない条件が発生しないように改められることを必要とする、望ましくない条件を認識するステップと、
    前記フィーチャに影響する、前記望ましくない条件を改めて前記望ましくない条件が発生しないようにする訂正アクションを実行するステップとを実行させる、フィーチャに基づくコンピュータ支援設計システムのプログラムが記録されたコンピュータ可読記録媒体であって、
    前記訂正アクションは、複数のフィーチャの構成順序を表すフィーチャ順を並べ替え、前記フィーチャ中のパラメータを修正し、前記フィーチャを多数のフィーチャに分割し、前記フィーチャを第2のフィーチャとマージするプロシージャ群のいずれか1つ又は前記プロシージャ群の組み合わせを実施し、
    前記プロシージャ群の1つ又は前記プロシージャ群の組み合わせは、ターゲットフィーチャ直接および間接的に関するフィーチャうちの少なくとも1つである前記複数のフィーチャのサブセット上で動作し、前記望ましくない条件を局所的に管理することを特徴とするコンピュータ可読記録媒体。
  8. 前記プロシージャが作用するフィーチャの範囲は、前記複数のフィーチャの前記サブセットより少数のフィーチャを指定することによってさらに制約されることを特徴とする請求項に記載の記録媒体。
  9. 前記プロシージャは、第1のフィーチャと第2のフィーチャとの間の相対順序を確立することにより前記第1のフィーチャおよび前記第2のフィーチャが、互いを参照して前記相対順序を確実に維持するように制約されることを特徴とする請求項に記載の記録媒体。
  10. 前記訂正アクションは、前記フィーチャがイベント駆動中断を受け取った後で実行されることを特徴とする請求項に記載の記録媒体。
  11. 前記イベント駆動中断は、前記フィーチャの状況の変化および前記3次元モデルのデータ構造におけるフラグの設定のうちの1つにより起こされることを特徴とする請求項10に記載の記録媒体。
  12. 前記フィーチャを分割する前記プロシージャは、前記フィーチャの非同一エンティティ、ならびに前記フィーチャの凹および凸要素の1つに従って前記フィーチャを分割することを特徴とする請求項に記載の記録媒体。
  13. 前記複数のフィーチャの前記配置を並べ替える前記プロシージャは、フィーチャタイプおよび前記フィーチャが、前記フィーチャに関連した前記複数のフィーチャのうちの他のフィーチャの親フィーチャ又は子フィーチャであるか否かの少なくとも一方に基づいて並べ替えることを特徴とする請求項に記載の記録媒体。
  14. 前記フィーチャのフィーチャタイプはフィレットであり、前記プロシージャは、フィレット半径がより小さい1つまたは複数の関連するフィレットフィーチャを、前記複数のフィーチャのそれぞれのフィーチャの構成順序を表すフィーチャ順において、より後に並べ替えることを特徴とする請求項13に記載の記録媒体。
  15. 前記フィーチャのフィーチャタイプはドラフトであり、前記プロシージャは、1つまたは複数の関連フィレットフィーチャを、前記複数のフィーチャのそれぞれのフィーチャの構成順序を表すフィーチャ順において、より後に並べ替えることを特徴とする請求項13に記載の記録媒体。
  16. 複数のフィーチャおよび前記複数のフィーチャの構成順序を指定するデータ構造からなる3次元モデルを格納するデータ記憶システムに動作可能に結合されたプロセッサと、
    前記プロセッサに動作可能に結合され、前記プロセッサに、
    前記複数のフィーチャ中の第1のフィーチャに影響し、発生することが必要とされていない望ましくない条件を認識させ、
    前記第1のフィーチャに影響する望ましくない条件を、前記望ましくない条件が発生しないように改めるためのアクションを自動的に起こさせる命令を備えるデータ記憶メモリとを備え、
    前記起こされるアクションの動作範囲は、前記第1のフィーチャと関係する前記複数のフィーチャ中の1組のフィーチャに制限され、前記望ましくない条件が局所的に管理され、
    前記アクションは、前記複数のフィーチャの構成順序の並べ替え、前記第1のフィーチャのパラメータの変更、前記第1のフィーチャおよび第2のフィーチャの一方の分割、ならびに前記第1のフィーチャおよび前記第2のフィーチャの一方のマージのいずれか1つ又は組み合わせであることを特徴とするコンピュータ支援設計システム。
  17. 前記プロセッサに、前記動作範囲内の1つまたは複数の追加アクションを起こさせる命令を前記データ記憶メモリがさらに備えることを特徴とする請求項16に記載のコンピュータ支援設計システム。
  18. 前記プロセッサに、
    前記第1のフィーチャのタイプを判定させ、
    前記タイプに基づいて、並べ替えアクションを選択させる命令を前記データ記憶メモリがさらに備えることを特徴とする請求項17に記載のコンピュータ支援設計システム。
  19. 前記第1のフィーチャの前記タイプはフィレットであり、
    前記並べ替えアクションは、前記複数のフィーチャの前記構成順序において、前記第1のフィレットを、半径がより小さい、前記動作範囲内の1つまたは複数のフィレットフィーチャに先立って並べ替えることを特徴とする請求項18に記載のコンピュータ支援設計システム。
  20. 前記第1のフィーチャの前記タイプはドラフトであり、
    前記並べ替えアクションは、前記複数のフィーチャの前記構成順序において、前記第1のフィレットを、前記動作範囲内の1つまたは複数のフィレットフィーチャに先立って並べ替えることを特徴とする請求項18に記載のコンピュータ支援設計システム。
  21. 前記第1のフィーチャおよび第2のフィーチャの一方の分割は、非同一エンティティの1つに従って、前記第1のフィーチャおよび前記第2のフィーチャの一方を分割し、前記第1のフィーチャおよび第2のフィーチャのどちらかに隣接する凹および凸面が分割されていることを特徴とする請求項16に記載のコンピュータ支援設計システム。
JP2006012608A 2005-01-26 2006-01-20 コンピュータ支援設計システムのための認識およびアクティブフィーチャ Active JP4472642B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US64786805P 2005-01-26 2005-01-26

Publications (2)

Publication Number Publication Date
JP2006209763A JP2006209763A (ja) 2006-08-10
JP4472642B2 true JP4472642B2 (ja) 2010-06-02

Family

ID=36585521

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006012608A Active JP4472642B2 (ja) 2005-01-26 2006-01-20 コンピュータ支援設計システムのための認識およびアクティブフィーチャ

Country Status (3)

Country Link
US (1) US7571079B2 (ja)
EP (1) EP1686501A3 (ja)
JP (1) JP4472642B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4472642B2 (ja) 2005-01-26 2010-06-02 ダッソー システムズ ソリッドワークス コーポレイション コンピュータ支援設計システムのための認識およびアクティブフィーチャ
JP4179355B2 (ja) * 2006-07-26 2008-11-12 トヨタ自動車株式会社 フィレット作成装置
US8810570B2 (en) 2008-04-14 2014-08-19 Siemens Product Lifecycle Management Software Inc. System and method for active selection in a solid model
US8872820B2 (en) * 2008-04-14 2014-10-28 Siemens Product Lifecycle Management Software Inc. System and method for splitting faces on a solid model
US8340578B2 (en) * 2009-10-05 2012-12-25 Apple Inc. Methods and apparatus for enhanced coexistence algorithms in wireless systems
US8693569B2 (en) 2009-10-19 2014-04-08 Apple Inc. Methods and apparatus for dynamic wireless device coexistence
EP2325769B1 (en) * 2009-10-30 2018-10-24 Dassault Systèmes Part design using a context-free grammar
CN102279898B (zh) * 2010-02-24 2016-01-20 迪士尼企业公司 由具有确定的特性的基础材料设计和制造具有期望特性的材料
US8565909B2 (en) * 2010-02-24 2013-10-22 Disney Enterprises, Inc. Fabrication of materials with desired characteristics from base materials having determined characteristics
US20120330455A1 (en) * 2010-03-15 2012-12-27 Cimatron Ltd. Distributed cnc toolpath calculations
US8914259B2 (en) * 2010-10-12 2014-12-16 Autodesk, Inc. Passive associativity in three-dimensional (3D) modeling
US8599709B2 (en) 2011-02-10 2013-12-03 Apple Inc. Methods and apparatus for wireless coexistence based on transceiver chain emphasis
US20130046511A1 (en) * 2011-08-15 2013-02-21 Honeywell International Inc. Method, apparatus and computer program product for simplifying a representative of a computer-aided design model
US10678961B1 (en) * 2011-12-28 2020-06-09 Msc.Software Corporation Context sensitive simulation environment
JP5962057B2 (ja) * 2012-02-28 2016-08-03 富士通株式会社 3次元形状作成支援プログラム,方法及び装置
CN102629289B (zh) * 2012-03-05 2014-05-07 南京航空航天大学 一种转角特征插铣刀轨自动生成方法
US8995553B2 (en) 2012-06-08 2015-03-31 Apple Inc. Methods and apparatus for mitigating interference in aggressive form factor designs
EP3143529A4 (en) * 2014-05-13 2018-01-10 Siemens Product Lifecycle Management Software Inc. Geodesic sketching on curved surfaces

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0756655B2 (ja) 1985-06-28 1995-06-14 株式会社日立製作所 図形処理システム
JPH0821089B2 (ja) 1986-04-25 1996-03-04 東芝機械株式会社 Cad/camシステムにおけるソリッドモデル形状定義方法
JPH0623989B2 (ja) 1988-09-30 1994-03-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 境界表現ソリツド・モデリング・システム
JPH04364583A (ja) 1991-06-12 1992-12-16 Hitachi Ltd 図形処理装置
JP3205403B2 (ja) 1992-09-21 2001-09-04 日産自動車株式会社 形状モデラ用形状復元装置
JP3332476B2 (ja) * 1993-06-21 2002-10-07 キヤノン株式会社 図形修正方法及びそれを実施する情報処理装置
JPH07129630A (ja) 1993-11-05 1995-05-19 Sekisui Chem Co Ltd 類似部品のcad図面作画方法
US5581466A (en) * 1994-05-12 1996-12-03 Texas Instruments Incorporated Tolerance analysis system and method
JP2660490B2 (ja) 1994-09-27 1997-10-08 日本アイ・ビー・エム株式会社 図面候補線分抽出装置、図面候補線分抽出方法、ソリッド・モデル合成装置及びソリッド・モデル合成方法
US5815154A (en) * 1995-12-20 1998-09-29 Solidworks Corporation Graphical browser system for displaying and manipulating a computer model
US5949693A (en) * 1996-09-06 1999-09-07 Tandler; William Computer aided design (CAD) system for automatically constructing datum reference frame (DRF) and feature control frame (FCF) for machine part
US6018628A (en) * 1998-06-16 2000-01-25 Sun Microsystems, Inc. Method of implementing parameterized types to be compatible with existing unparameterized libraries
US6256596B1 (en) * 1998-06-30 2001-07-03 Autodesk, Inc. Extensible framework for capturing feature information in a neutral format
US6629065B1 (en) * 1998-09-30 2003-09-30 Wisconsin Alumni Research Foundation Methods and apparata for rapid computer-aided design of objects in virtual reality and other environments
WO2000025185A1 (en) * 1998-10-27 2000-05-04 Irobotics, Inc. Robotic process planning using templates
US6888542B1 (en) * 1999-01-27 2005-05-03 Autodesk, Inc. Error recovery in a computer aided design environment
JP3365991B2 (ja) 1999-05-20 2003-01-14 オリンパス光学工業株式会社 機構部品設計支援システム
US6898560B1 (en) * 1999-06-02 2005-05-24 Solidworks Corporation Maintaining a computer-generated design model
US6525745B1 (en) * 1999-10-25 2003-02-25 Alventive, Inc. Sheet metal geometric modeling system
US7079990B2 (en) * 2001-02-08 2006-07-18 Solidworks Corporation Automated connections of computer-aided design components
US7313504B2 (en) * 2001-10-15 2007-12-25 Solidworks Corporation Model management technology using grouping of features
US6950719B2 (en) * 2003-01-31 2005-09-27 Delphi Technologies, Inc. Horizontally structured manufacturing process modeling: across file feature operability
US7206661B2 (en) * 2003-09-30 2007-04-17 Autodesk, Inc. Persistent naming for sub-paths of intermittent fillet weld beads
JP4472642B2 (ja) 2005-01-26 2010-06-02 ダッソー システムズ ソリッドワークス コーポレイション コンピュータ支援設計システムのための認識およびアクティブフィーチャ

Also Published As

Publication number Publication date
EP1686501A2 (en) 2006-08-02
JP2006209763A (ja) 2006-08-10
US7571079B2 (en) 2009-08-04
US20060184343A1 (en) 2006-08-17
US20070239406A9 (en) 2007-10-11
EP1686501A3 (en) 2009-01-14

Similar Documents

Publication Publication Date Title
JP4472642B2 (ja) コンピュータ支援設計システムのための認識およびアクティブフィーチャ
US7386752B1 (en) Using asset dependencies to identify the recovery set and optionally automate and/or optimize the recovery
US8941650B2 (en) Method for validating features in a direct modeling paradigm
US8600706B2 (en) Systems and methods for identifying crash sources in a CAD environment
US20100250615A1 (en) Systems and methods for differentiating and associating multiple drawings in a cad environment
US20060004841A1 (en) Computer-aided modeling
US20130151551A1 (en) Computer-implemented method of geometric feature detection
Reynolds et al. Reverse adaptivity—a new evolutionary tool for structural optimization
US20060212477A1 (en) Method and system for altering the configuration of a data warehouse
KR101103952B1 (ko) 어셈블리 데이터의 작성을 지원하는 장치 및 방법
CN113242296B (zh) 一种集群中主节点选举方法、系统及介质
KR102424907B1 (ko) Drc 데크 검증을 위한 테스트 레이아웃들의 자동 생성
EP3722945B1 (en) Program operation system and program operation method
JP3648089B2 (ja) 設計システムおよび記録媒体
US8983802B2 (en) Notch re-blend in an object model
CN110007934B (zh) 分布式数据库部署方法及装置
US6597355B1 (en) Automatic recognition and suppression of complex interacting holes
EP2751723A1 (en) Notch blends in brep models
US20040243360A1 (en) Persistent compressor airfoils
US10261756B2 (en) Method for preventing reference invalidation when reversing operations in synchronous collaborative applications
CN110782006A (zh) 一种基于交叉生成复杂神经网络的方法及系统
CN114637730B (zh) 一种模型文件的压缩的方法、装置、系统及存储介质
JP3104586B2 (ja) 設計支援方法
JP6599460B2 (ja) 製造プロセスおよび製品をシミュレーションするためにメッシュを変形するための方法およびシステム
JP6745586B2 (ja) プログラマブルデバイス、情報処理装置、およびプログラマブルデバイスにおける処理回路の制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081226

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090324

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090327

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090915

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091211

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100223

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100303

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4472642

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140312

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250