IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シーメンス インダストリー ソフトウェア インコーポレイテッドの特許一覧

特許7313433CAD(コンピュータ支援設計)モデルに関する反制約の構成及び執行
<>
  • 特許-CAD(コンピュータ支援設計)モデルに関する反制約の構成及び執行 図1
  • 特許-CAD(コンピュータ支援設計)モデルに関する反制約の構成及び執行 図2
  • 特許-CAD(コンピュータ支援設計)モデルに関する反制約の構成及び執行 図3
  • 特許-CAD(コンピュータ支援設計)モデルに関する反制約の構成及び執行 図4
  • 特許-CAD(コンピュータ支援設計)モデルに関する反制約の構成及び執行 図5
  • 特許-CAD(コンピュータ支援設計)モデルに関する反制約の構成及び執行 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-13
(45)【発行日】2023-07-24
(54)【発明の名称】CAD(コンピュータ支援設計)モデルに関する反制約の構成及び執行
(51)【国際特許分類】
   G06F 30/10 20200101AFI20230714BHJP
   G06F 30/12 20200101ALI20230714BHJP
   G06F 111/04 20200101ALN20230714BHJP
【FI】
G06F30/10 100
G06F30/12
G06F111:04
【請求項の数】 15
(21)【出願番号】P 2021512268
(86)(22)【出願日】2019-04-26
(65)【公表番号】
(43)【公表日】2022-01-31
(86)【国際出願番号】 US2019029302
(87)【国際公開番号】W WO2020050881
(87)【国際公開日】2020-03-12
【審査請求日】2021-11-16
(73)【特許権者】
【識別番号】520161964
【氏名又は名称】シーメンス インダストリー ソフトウェア インコーポレイテッド
(74)【代理人】
【識別番号】110003317
【氏名又は名称】弁理士法人山口・竹本知的財産事務所
(74)【代理人】
【識別番号】100075166
【弁理士】
【氏名又は名称】山口 巖
(74)【代理人】
【識別番号】100133167
【弁理士】
【氏名又は名称】山本 浩
(74)【代理人】
【識別番号】100169627
【弁理士】
【氏名又は名称】竹本 美奈
(72)【発明者】
【氏名】バーゼ,ディック
(72)【発明者】
【氏名】ヤンコーヴィチ,スティーブン ロバート
(72)【発明者】
【氏名】キング,ダグラス ジョセフ
(72)【発明者】
【氏名】マットソン,ハワード チャールズ ダンカン
(72)【発明者】
【氏名】ラーダークリシュナン,マノージ
【審査官】合田 幸裕
(56)【参考文献】
【文献】特開平08-063495(JP,A)
【文献】特開2008-165809(JP,A)
【文献】特開平07-152817(JP,A)
【文献】米国特許出願公開第2009/0237410(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/10
G06F 30/12
G06F 111/04
IEEE Xplore
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
コンピュータ支援設計(CAD)システム(100)によって、
物理オブジェクトを表現するCADモデル(120,220)を維持し(402)、
前記CADモデル(120,220)のコンポーネントに関して、前記CADモデル(120,220)の当該コンポーネントへ適用するべきでない所定の制約を指定する反制約を設定し(406)、
前記コンポーネントに影響を与える前記CADモデル(120,220)のユーザ修正を特定し(408)、
前記反制約に指定されている前記所定の制約を適用することなく、前記ユーザ修正に関連する前記コンポーネントを更新する(410)、ことを含む方法。
【請求項2】
前記所定の制約を適用することなく前記ユーザ修正に関連する前記コンポーネントを更新する(410)ときに、
前記所定の制約を含む前記コンポーネントの候補更新(321)を特定し、
前記CADモデル(120,220)の前記ユーザ修正に関連する前記コンポーネントの当該候補更新(321)を適用するべきでないと判断する、ことを含む、請求項1に記載の方法。
【請求項3】
前記所定の制約を適用することなく前記ユーザ修正に関連する前記コンポーネントを更新する(410)ときに、
前記CADモデル(120,220)の前記ユーザ修正に基づいて前記コンポーネントへ適用するべき候補制約のセットを特定し(412)、該候補制約のセットは前記所定の制約を含み、
前記候補制約のセットから前記所定の制約を除外して、フィルタリングした候補制約のセットを取得し(414)、
前記CADモデル(120,220)の前記ユーザ修正に関連する前記コンポーネントへ、前記フィルタリングした候補制約のセットから候補制約を適用する(416)、ことを含む、請求項1に記載の方法。
【請求項4】
前記CADモデル(120,220)の前記コンポーネントへ適用されるべきでない前記所定の制約を指定するユーザアクションに従って、該CADモデル(120,220)の前記コンポーネントに関する前記反制約を設定する、ことを含む、請求項1~3のいずれか1項に記載の方法。
【請求項5】
前記コンポーネントに関して推測される制約のセットを判断し、該制約のセットは前記所定の制約を含み、
前記CADモデル(120,220)の前記コンポーネントへの適用に関してユーザに、推測された前記制約のセットを提示し、
該提示した前記制約のセットから前記所定の制約が前記コンポーネントへ適用されるべきでないことを指定するユーザアクションに従って、前記CADモデル(120,220)の前記コンポーネントに関して前記反制約を設定する、ことを含む、請求項1~4のいずれか1項に記載の方法。
【請求項6】
前記コンポーネントに関して複数の反制約を設定し、該複数の反制約のそれぞれは、前記CADモデル(120,220)の前記コンポーネントへ適用されるべきでないそれぞれの制約を指定し、
前記複数の反制約に指定されているそれぞれの制約のいずれも適用することなく、前記ユーザ修正に関連する前記コンポーネントを更新する、ことをを含む、請求項1に記載の方法。
【請求項7】
前記反制約を、永続的タイプの反制約、一時的タイプの反制約、又は条件付きタイプの反制約として設定する(502)、ことをさらに含む、請求項1~6のいずれか1項に記載の方法。
【請求項8】
前記コンポーネントに影響を与える前記CADモデル(120,220)の後続のユーザ修正を特定し(504)、
前記反制約が前記永続的タイプの反制約として設定されるとの判断(506)に応じて、
前記反制約に指定されている制約を適用することなく、前記後続のユーザ修正に関連する前記コンポーネントを更新し(508)、
前記反制約が前記一時的タイプの反制約として設定されるとの判断(506)に応じて、
前記CADモデル(120,220)の前記後続のユーザ修正に基づいて前記CADモデル(120,220)の前記コンポーネントに関し推測される制約として前記所定の制約を判断し(510)、
前記CADモデル(120,220)の前記コンポーネントへの適用に関してユーザに、前記推測された制約を提示する(512)、ことをさらに含む、請求項7に記載の方法。
【請求項9】
反制約構成エンジン(108)と反制約執行エンジン(110)とを備えたシステムであって、
前記反制約構成エンジン(108)は、
物理オブジェクトを表現するコンピュータ支援設計(CAD)モデル(120,220)のコンポーネントへ所定の制約を適用するべきでないことを指定するユーザアクションを特定し、
前記CADモデル(120,220)の前記コンポーネントに関し、前記CADモデル(120,220)の当該コンポーネントへ適用されるべきでない前記所定の制約を指定する反制約を設定する、ように構成され、
前記反制約執行エンジン(110)は、
前記コンポーネントに影響を与える前記CADモデル(120,220)のユーザ修正を特定し、
前記反制約に指定されている前記所定の制約を適用することなく、前記ユーザ修正に関連する前記コンポーネントを更新する、ように構成される、システム。
【請求項10】
前記反制約執行エンジン(110)は、
前記所定の制約を含む前記コンポーネントの候補更新(321)を特定すること、
前記CADモデル(120,220)の前記ユーザ修正に関連する前記コンポーネントの当該候補更新(321)を適用するべきでないと判断すること、により、
前記所定の制約を適用することなく前記ユーザ修正に関連する前記コンポーネントを更新するように構成される、請求項9に記載のシステム。
【請求項11】
前記反制約執行エンジン(110)は、
前記CADモデル(120,220)の前記ユーザ修正に基づいて、前記コンポーネントへ適用するべき、前記所定の制約を含む候補制約のセットを特定すること、
前記候補制約のセットから前記所定の制約を除外して、フィルタリングした候補制約のセットを取得すること、
前記CADモデル(120,220)の前記ユーザ修正に関連する前記コンポーネントへ、前記フィルタリングした候補制約のセットから候補制約を適用すること、により、
前記所定の制約を適用することなく前記ユーザ修正に関連する前記コンポーネントを更新するように構成される、請求項9に記載のシステム。
【請求項12】
前記反制約構成エンジン(108)は、前記コンポーネントに関して複数の前記反制約を設定するように構成され、
該複数の反制約のそれぞれの反制約は、前記CADモデル(120,220)の前記コンポーネントへ適用されるべきでないそれぞれの制約を指定し、
前記反制約執行エンジン(110)は、前記複数の反制約に指定されたそれぞれの制約のいずれも適用することなく、前記ユーザ修正に関連する前記コンポーネントを更新するように構成される、請求項9に記載のシステム。
【請求項13】
前記反制約構成エンジン(108)は、前記反制約を、永続的タイプの反制約、一時的タイプの反制約、又は条件付きタイプの反制約として設定するようにさらに構成される、請求項9~12のいずれか1項に記載のシステム。
【請求項14】
前記反制約執行エンジン(110)は、
前記コンポーネントに影響を与える前記CADモデル(120,220)の後続のユーザ修正を特定し、
前記反制約が前記永続的タイプの反制約として設定されるとの判断に応じて、
前記反制約に指定されている制約を適用することなく、前記後続のユーザ修正に関連する前記コンポーネントを更新し、
前記反制約が前記一時的タイプの反制約として設定されるとの判断に応じて、
前記CADモデル(120,220)の前記後続のユーザ修正に基づいて前記CADモデル(120,220)の前記コンポーネントに関し推測される制約として前記所定の制約を判断し、
前記CADモデル(120,220)の前記コンポーネントへの適用に関してユーザに、前記推測された制約を提示する、ようにさらに構成される、請求項13に記載のシステム。
【請求項15】
命令(622,624)を含んだ非一時的機械可読媒体であって、
前記命令(622,624)をプロセッサ(610)により実行するコンピュータ支援設計(CAD)システム(600)が、
物理オブジェクトを表現するCADモデル(120,220)を維持し、
前記CADモデル(120,220)のコンポーネントに関して、前記CADモデル(120,220)の当該コンポーネントに適用されるべきでない所定の制約を指定する反制約を設定し、
前記コンポーネントに影響を与える前記CADモデル(120,220)のユーザ修正を特定し、
前記反制約に指定されている前記所定の制約を適用することなく、前記ユーザ修正に関連する前記コンポーネントを更新し、この更新において、
前記所定の制約を含んでいる前記コンポーネントの候補更新(321)を特定すること、
前記CADモデル(120,220)の前記ユーザ修正に関連する前記コンポーネントの当該候補更新(321)を適用するべきでないと判断すること、を含む、ように動作する、非一時的機械可読媒体。
【発明の詳細な説明】
【背景技術】
【0001】
コンピュータシステムは、製品などのデータを生成、使用、管理するために使用できる。コンピュータシステムの例には、コンピュータ支援設計(CAD)システム(コンピュータ支援エンジニアリング(CAE)システムも含む)、視覚化及び製造システム、製品データ管理(PDM)システム、製品ライフサイクル管理(PLM)システムなどが含まれる。これらのシステムは、製品構造の設計及び模擬試験を容易にするコンポーネントを含み得る。
【発明の概要】
【0002】
ここに開示する態様は、物理オブジェクト(対象物)を表現するCADモデルに関する反制約(アンチコンストレイント)の構成(コンフィグレーション)及び執行(エンフォースメント)をサポートするシステム、方法、装置、及びロジックを含む。反制約は、CADモデルのコンポーネントへ適用するべきでない所定の制約(コンストレイント)を指定する。
【0003】
一つの態様として方法は、CADシステムによって実施、遂行、あるいは実行される。この方法は、物理オブジェクトを表現するCADモデルを維持(持続)すること、そのCADモデルのコンポーネントに関し、該CADモデルのコンポーネントへ適用されるべきでない所定の制約を指定する反制約を設定すること、コンポーネントに影響を与えるCADモデルのユーザ修正を特定すること、反制約に指定されている所定の制約を適用することなく、ユーザ修正に関連するコンポーネントを更新すること、を含む。
【0004】
別の態様としてシステムは、反制約構成エンジン及び反制約執行エンジンを含む。反制約構成エンジンは、物理オブジェクトを表現するCADモデルのコンポーネントへ所定の制約が適用されるべきでないことを指定するユーザアクションを特定し、CADモデルのコンポーネントに関して、該CADモデルのコンポーネントへ適用されるべきでない所定の制約を指定する反制約を設定する、ように構成される。反制約執行エンジンは、コンポーネントに影響を与えるCADモデルのユーザ修正を特定し、反制約に指定されている所定の制約を適用することなく、ユーザ修正に関連するコンポーネントを更新する、ように構成される。
【0005】
別の態様として非一時的機械可読媒体は、プロセッサによって実行可能な命令を記憶する。命令を実行するプロセッサ又はCADシステムは、物理オブジェクトを表現するCADモデルを維持し、CADモデルのコンポーネントに関して、該CADモデルのコンポーネントへ適用されるべきでない所定の制約を指定する反制約を設定し、コンポーネントに影響を与えるCADモデルのユーザ修正を特定し、反制約に指定されている所定の制約を適用することなく、ユーザ修正に関連するコンポーネントを更新する、ように動作し、そのコンポーネントの更新においては、前記所定の制約を含んでいる、コンポーネントの候補更新を特定すること、CADモデルのユーザ修正に関連するコンポーネントのその候補更新を適用するべきでないと判断すること、を含む。
【図面の簡単な説明】
【0006】
可能な実施形態について、次の図面を参照して以下の詳細な説明において説明する。
図1】CADモデルに関する反制約の構成及び執行をサポートするCADシステムの例を示す。
図2】反制約構成エンジンによる反制約の構成を例示する。
図3】反制約執行エンジンによる反制約の執行を例示する。
図4】CADモデルに関する反制約の構成及び執行のサポートをシステムが実行するロジックの一例を示す。
図5】CADモデルに関する反制約の構成及び執行のサポートをシステムが実行するロジックの別の例を示す。
図6】CADモデルに関する反制約の構成及び執行をサポートするシステムを例示する。
【発明を実施するための形態】
【0007】
以下の説明では制約に言及する。制約は、設計コンポーネントの特性、機能、制限、動作特性、又はその他の定義特徴を表し得る。物理オブジェクトを表現する、CADモデル、CAEモデル、又はその他のグラフィックモデルに関して言えば、制約は、CADモデルに対する後続の変更又は編集において特定のコンポーネント特性が維持されることを保証し得る。制約は、設計の他のコンポーネントとの関連で定義されることもあり、制約の例としては、平行制約、対称制約、回転、半径、接線、共線、及びその他の幾何学又は位置に関する制約、寸法値閾値、距離閾値、形状要件、方向制限、及びその他多くのものが含まれる。制約は、CADツールを利用した製品設計フェーズで、設計されるオブジェクトの物理的特性の維持を保証する。
【0008】
CADシステムは、直線、曲線、形状、設計要素などのグラフィックモデルのいくつものコンポーネントに関する様々な制約の適用をサポートすることができる。したがって制約によって、グラフィックモデルがさらに変更、修正、又は処理される場合であっても、該グラフィックモデルはその設計特性を維持することが可能になる。
【0009】
CADシステムは、CADモデルの設計コンポーネントに関する制約のユーザによる手動入力を可能にするが、特にCADモデルのサイズ及び複雑さが増すにつれて、包括的で正確な制約のセットを生成することに時間を要し且つ混乱が生じてしまう。CADモデルを通じて設計される物理製品には何百万個ものコンポーネントが含まれる場合があり、多くの場合、一貫したCADモデルの挙動に時間がかかり、計算が集中することになる。
【0010】
一部のCADシステムは、ユーザアクション(例えば、平行又は接線位置における曲線配置)に基づいて制約を推測でき、これは、ユーザによる編集操作中にオプションで適用することができる。制約推測は、修正及びアクションのユーザの意図を判断し、推測した制約により、可能な又は推奨されるCAD修正を提供して一貫して適用するように、試みる。しかし、場合によっては、推測した制約が不完全な、不正確な、又は持続しないものであることがある。その一方、CADモデルにおけるあらゆる適用可能な制約の完全なユーザ指定は、時間のかかるものであり、不正確性や矛盾をもたらす可能性が高い。
【0011】
ここには、反制約の構成及び執行に関するシステム、方法、装置、及びロジックを開示する。さらに詳細に以下に説明するが、反制約は、CADモデルのコンポーネントへ適用するべきでないことをCADシステムが選択する特定の制約又は制約のセットを指す。これに関して、ここに説明する特徴は、CADシステムがCADモデルに関する制約を無効にするメカニズムを提供することができる。CADシステムが、CADモデルに対するユーザ修正に基づいて複数の種々の制約を推測できる場合、反制約の構成及び指定(スペシフィケーション)は、可能な制約のセットを狭めてCADモデルに適用し、効率を高めると共にメモリ要件を低減した一貫性のあるCADモデルの挙動をサポートする。
【0012】
例えば、ここに説明する反制約の機能は、(例えば、制約ソルバーによる)明確に定義されたCADモデルと比較して、一貫性のあるCADモデルの挙動をもたらすが、メモリ要件の軽減と計算性能の向上を伴ってそのようにできる。CADシステムによって追跡される反制約の数は、完全制約された(フルコンストレインド)モデルに関する制約ソルバーを通し判断される明確な制約の数よりも数十~数百倍(さらにそれ以上)少なくなり得るが、それでもなお、一貫性のあるモデルの挙動を維持できる。したがって、ここに説明する反制約の機能は、メモリ要件の軽減と性能向上を伴って一貫性のある正確なCADモデルのパフォーマンスを提供することができ、結果的に、CADコンピューティングシステムに技術的改善をもたらす。さらに、ここに説明する反制約の機能は、複雑な設計制約を何度も学習して手動で適用せずに済み、ユーザがモデル設計に集中できるようにすることによって、CADモデル設計にかかるユーザの時間を低減し、コンピューティング及びリソースの消費を低減し、そしてCADシステムのユーザビリティを改善することができる。
【0013】
図1は、CADモデルに関する反制約の構成及び執行をサポートするCADシステム100を例示する。CADシステム100はコンピューティングシステムの形態をとり、アプリケーションサーバ、計算ノード、デスクトップ又はラップトップコンピュータ、スマートフォンなどのモバイルデバイス、タブレットデバイス、組み込みコントローラなどの、単一又は複数のコンピューティングデバイスを含む。一実施形態に係るCADシステム100は、ユーザが製品構造のテストを設計しシミュレートできるCADツール又はCADプログラムを実行する。
【0014】
ここで詳細に説明するように、CADシステム100は、CADモデルに関して判断された(例えば推測された)制約を、反制約を通して緩和又は無効にすることができる。その関連で、CADシステム100は、CADモデルがどのように挙動すべきでないのかについてのユーザ指示又は意図に少なくとも部分的に基づいて、CADモデルのコンポーネントを制御することができる。例えば、CADシステム100は、反制約と制約の組み合わせ(両方ともユーザ指定され得る)を利用して、CADモデルの挙動、例えば、アクティブな編集モード(例えば、スケッチモード)におけるユーザ修正に起因する変化、又は、アクティブではないモードにおいてCADモデルに影響を与える他の設計修正、を制御することができる。このような制御は、適切なCADモデルの挙動を保証するための一貫性メカニズムを提供するが、これを、完全に良好に挙動する制約モデルを判断するための制約ソルバー又は他のプロセスに係る高コストの計算要件なくして行う。
【0015】
一実施形態として、図1に示すCADシステム100は、反制約構成エンジン108と、反制約執行エンジン110と、グラフィカルユーザインターフェース(GUI)112とを含む。CADシステム100は、エンジン108とエンジン110(及びそのコンポーネント)を、様々な仕様で、例えばハードウェア及びプログラミングとして、実行できる。エンジン108とエンジン110のプログラミングは、非一時的機械可読記憶媒体に記憶したプロセッサ実行可能命令の形態をとり、エンジン108とエンジン110のハードウェアは、当該命令を実行するプロセッサを含む。プロセッサは、単体のプロセッサ又はマルチプロセッサのシステム形態をとり、一例としてCADシステム100は、同じコンピューティングシステム機能又はハードウェアコンポーネント(例えば、共通プロセッサ又は共通記憶媒体)を使用して複数のエンジンを実行する。GUI112は、ディスプレイ、キーボード、マウス、タッチスクリーンなど、CADシステム100とのユーザインタフェースとなるさまざまなコンポーネントを含む。
【0016】
ユーザは、例えば図1に示すCADモデル120を修正するために、GUI112を介しCADモデルにアクセスして修正することができる。作動中の反制約構成エンジン108は、所定の制約がCADモデル120のコンポーネントへ適用されるべきでないことを指定するユーザアクションを特定し、CADモデル120のそのコンポーネントに関して反制約を設定する。反制約執行エンジン110は、コンポーネントに影響を与えるCADモデル120のユーザ修正を特定し、反制約に指定されている所定の制約を適用することなく、ユーザ修正に関連するコンポーネントを更新する。
【0017】
反制約の構成及び執行の機能の例について次に詳しく説明する。以下にあげる例の多くは、二次元(2D)CADモデルと、そのような2D-CADモデルにおける直線又は曲線の幾何学的制約との関連で説明される。ただし、ここに説明する機能のいずれも、いかなる次元及び種類のCADモデルやコンポーネント制約であっても一貫して適用することができる。
【0018】
図2は、反制約構成エンジン108による反制約の構成例を示す。図2に示す例は、物理オブジェクトを表現する2D設計モデルを描くCADモデル220に関して提供されている。すなわちCADモデル220は、表現された物理オブジェクト及びそのコンポーネントの、直線、曲線、寸法、パラメータ、制約、及びその他の設計特性を含む。図2において、CADモデル220は、直線222と共に、対応する寸法値と一緒にp1、p2、p3、p4を付した寸法を含んでいる。
【0019】
一例において、反制約構成エンジン108はCADモデル220を維持する。そのために反制約構成エンジン108は、CADモデル220を記憶し、GUIを通してCADモデル220を表示し、さらにはCADモデル220に対するユーザアクセスを制御する。これにより反制約構成エンジン108は、ユーザがCADモデル220を作成し修正するための種々のCAD機能を実行する。
【0020】
反制約構成エンジン108は、反制約の特定、指定、又はその他の構成に関連するCADシステム100の機能を実行する。例えば、反制約構成エンジン108は、コンポーネント固有方式で反制約を指定し構成することをサポートする。すなわち、反制約構成エンジン108は、CADモデル220の特定のコンポーネントに関していくつかの反制約を設定し、CADモデル220の別のコンポーネントに適用する別の反制約を設定する。図2に例示するCADモデル220は、直線222として特定されるCADモデルのコンポーネントを含んでおり、反制約構成エンジン108は、(CADモデル220の他のコンポーネントと比較して)直線222に固有の反制約を特定し構成する。
【0021】
一実施形態において、反制約構成エンジン108は、CADユーザが反制約を指定するメカニズムを提供する。例えばCADモデル220を表示するGUI112において反制約指定アイコンを提示するなど、あらゆる種類の視覚的指標や指定のメカニズムが考えられる。反制約構成エンジン108は、システムによっては、ユーザが様々な反制約の構成を選択したり指定したりするための反制約メニューを提供する。
【0022】
図2に示す例で、反制約構成エンジン108は、CADモデル220の直線222に関して反制約メニューを提供している。反制約構成エンジン108は、特定のCADモデルのコンポーネントに関し特定されたいくつかの推測された又は可能な制約を含んだ反制約メニューを生成し、さらに、推測された/可能な制約に対する反制約を設定するオプションを提供する。直線222を使用するのは一例であるが、CADシステム100は、直前のユーザアクションからの直線222の方向又は位置決めに基づいて、直線222に関する垂直制約を推測することができる。他の可能な推測制約(図2には図示されていない)の一つとして、直線222とCADモデル220の他のCADコンポーネントとの間の平行制約や接線制約がある。
【0023】
推測された垂直制約に関して、反制約構成エンジン108は、ユーザがその垂直制約を反制約として指定するための選択のメカニズムを提供する。その例が図2において「垂直制約なし」のオプションを通して示されている。すなわち、直線222に関する反制約は、直線222に適用するべきでない所定の制約(例えば垂直制約)を指定する。垂直の反制約は、直線222が垂直に配置される必要はないということ、そして、後続のCADモデル220への修正が直線222を今後は垂直の向きでなくとも配向し直せる(場合によってはそうすべきである)ということを、CADシステム100に示す。
【0024】
図2の例にさらに示すように、反制約構成エンジン108は、一時的タイプの反制約、永続的タイプの反制約、及び条件付きタイプの反制約など、異なるタイプの反制約の構成をサポートする。一時的タイプの反制約は、一時的に、例えば、所定の制約が推測される特定のユーザアクションや修正について、又はCADモデル220に対する特定の編集やスケッチセッションについて、CADモデル220に適用される。図2に示す「今回垂直制約なし」のオプションは、反制約構成エンジン108が提供する一時的タイプの反制約を表す。
【0025】
永続的タイプの反制約は、それが無効とされるまでCADモデル220に適用される。すなわちCADシステム100は、永続的タイプの反制約が適用されるCADモデルのコンポーネントに影響を与える後続のユーザアクション又はその他の設計変更に関し、永続的タイプの反制約を適用する。図2に示す「常に垂直制約なし」のオプションは、反制約構成エンジン108が提供する永続的タイプの反制約を表す。
【0026】
反制約構成エンジン108が提供、設定、構成することができる条件付きタイプの反制約も、ここでは考えられる。条件付きタイプの反制約は、所定の制約が適用されるべきでない特定の条件(したがって、所定の制約が適用されるべきである場合、特定の条件が当てはまらない場合)を指定する。これに関して反制約構成エンジン108は、いくつかの制約を特定の反制約と相関させ、この場合に所定の制約は、その相関させた制約に当てはまるとの判定に基づいて、適用されるべきでないとされる。条件付きタイプの反制約に関してあらゆるタイプの条件を設定できる。この条件の例をあげると、特定の寸法範囲(長さが5mm未満の直線など)、幾何学的性質条件(円には非適用だが楕円には適用)、距離閾値、コンポーネント番号に基づく条件(モデル要素の数が閾値を超える場合など)、又はその他の指定条件などである。当該条件は、例えばユーザの指定による。
【0027】
反制約構成エンジン108は、反制約を各種の方式で指定し、特定し、設定し、改定し、構成することができる。一実施形態において反制約構成エンジン108は、CADモデル220のコンポーネントに適用される反制約をいずれも追跡する反制約リスト230を保守する。反制約構成エンジン108は、自身が反制約リスト230を実装するか、又は反制約リスト230にリモートアクセスする(又はその両方の組み合わせもできる)。反制約リスト230は、CADモデルのコンポーネントを反制約と関連付ける(例えば、反制約エントリとして)あらゆるデータ構造の形態を取り、したがって、テーブル、リレーショナルデータベース、又はその他の適切なデータ構造を含み得る。
【0028】
図2において、反制約構成エンジン108は、直線222に関して反制約を設定するユーザアクションを特定する(例えば、「常に垂直制約なし」のオプションをユーザが選択することによって)。これに応じて反制約構成エンジン108は、直線222の反制約リスト230に反制約エントリを挿入する。この例では、反制約エントリは、直線222に関して永続的タイプの垂直反制約を指定する。一貫性をもって、CADシステム100は、CADモデルの様々なコンポーネントに関する反制約を構成する。
【0029】
図3は、反制約執行エンジン110による反制約の執行例を示す。概して言えば、反制約執行エンジン110は、CADモデルのコンポーネントに関する反制約として指定されているいずれの制約もCADモデル220へ適用されないように、CADモデル220を制御する。具体的に反制約執行エンジン110は、反制約を伴うコンポーネントに影響を与えるCADモデル220のユーザ修正を特定し、反制約に指定されている所定の制約を適用することなく、ユーザ修正に関連するコンポーネントを更新する。
【0030】
特定のCADモデルのコンポーネントを改定するためにユーザが行う変更は、該特定のCADモデルのコンポーネントに関連する他のコンポーネントのサイズ、形状、又はレンダリングに影響を与える可能性がある。例えば、CADモデル220の形状を拡大/縮小するユーザアクションは、CADシステム100に、その形状を形成するか該形状に関連する複数の直線又は曲線をさらに修正させることになる。このような影響は、指定されるか推測された制約(例えば、平行、閾値距離、接線、共線、又は他の制約)を通じて前記特定のCADモデルのコンポーネントに関連する他のコンポーネント、あるいは、ユーザが行った変更が影響するであろう特定の方法(例えば、垂直にする、水平にする、特定の位置に固定する、特定の長さを維持するなど)において自分たちが制約される他のコンポーネントを通して、反制約執行エンジン110によって判断される。
【0031】
CADモデル220(又はCADモデル220により表現される物理オブジェクトを含んでいる上位(より大きな部分)の設計)に対する様々なユーザアクションが直線222に影響を与える例を説明する。該当する変更の1つとして、図2に示す寸法「p1」の寸法値に対する変更がある。寸法(値)p1の値が変わると、CADシステム100は直線222が変化するようにCADモデル220を更新するので、寸法値p1を減少させるべくユーザが行った変更は、直線222に影響を与える。したがって、寸法値p1及び直線222は、CADモデル220の、関連しているコンポーネントとして判別される。
【0032】
ユーザがCADモデル220の寸法値p1に変更を加えると、指定されている反制約が執行される。寸法値p1が変えられると、CADモデル220の他の関連コンポーネント(直線222を含む)は、複数の方式で更新される。図3に示す具体例でCADシステム100は、寸法値p1を45.0から30.0へ減少させるユーザアクションを特定する。
【0033】
寸法値p1を30.0に減らす前、減らしている間、又は減らした後、CADシステム100は、寸法値の変化によって影響を受ける可能性をもつCADモデル220のコンポーネントを特定する。すなわち、反制約執行エンジン110は、寸法値p1に関連するCADモデルのコンポーネントを特定する。寸法値p1の変更に基づいてCADモデル220を更新する際に、反制約執行エンジン110は、寸法値の減少によって影響を受ける関連コンポーネントに関する制約を推測するか又は他の方法で判断する。別の例では、反制約執行エンジン110は、ユーザが行った変更によって影響を受ける関連コンポーネントに関する候補更新のセットを特定する。候補更新のセットは、寸法値p1の減少を実施するためにCADシステム100がCADモデル220に施すことのできる更新(情報)のセットを表し、関連するコンポーネントに関する種々の推測される制約を含む。
【0034】
図3に示す例において、反制約執行エンジン110は、寸法値p1を減少させるためのCADモデル220のユーザ修正に基づいて、直線222へ適用するべき候補更新のセット320を特定する。具体的に、CADモデル220に関して判断した候補更新のセット320は、直線222に関し推測される次の制約を含む:(i)直線222に関する垂直制約-寸法値p1の長さが短くなっても直線222を垂直の向きに維持する(図3中、候補更新321として図示);及び(ii)CADモデル220における曲線330に関する半径制約-曲線330について一貫した半径値を維持する(図3中、候補更新322として図示)。候補更新として2つの例が図3に示されているが、反制約執行エンジン110は、関連するコンポーネントの組み合わせに関しても、例えば、複数の関連するコンポーネントに関する別々の推測される制約の順列又は組み合わせに関しても、それぞれ候補更新を判断することができる。
【0035】
指定された反制約を執行するために、反制約執行エンジン110は、反制約により適用するべきでないと指定されている所定の制約に当てはまる候補更新をいずれもフィルタリングする。このために反制約執行エンジン110は、反制約リスト230の検索を実行して、CADモデル220に対するユーザ修正に影響を受けるか又は少なくとも関連するCADモデルのコンポーネントに関して指定されている、反制約を特定する。図3の例の場合、反制約執行エンジン110は、直線222へ適用される永続的タイプの垂直反制約(前述のように、寸法値p1に関連する)を特定する。これに応じて反制約執行エンジン110は、候補更新321を適用から除外することによって、指定された反制約を直線222に対し執行する。したがって反制約執行エンジン110は、適用に関してフィルタリングされたセットから候補更新を選択する。図3に示した具体例では、フィルタリングされたセットは候補更新322のみを含むので、反制約執行エンジン110は、寸法値p1を30.0に減らす際に候補更新322に従ってCADモデル220を更新する。すなわち反制約執行エンジン110は、指定されている反制約に従って、直線222へ垂直制約を適用するべきでないことを判断する。
【0036】
反制約リスト230は直線222に関して垂直反制約を指定しているが、反制約執行エンジン110が、直線222が垂直に向くようにCADモデル220を修正するというシナリオは、存在する。当該シナリオは、後続のユーザ変更が寸法値p1を増やして45.0に戻すという場合に生じ、この場合は、例えば、曲線330に関する半径制約が直線222を垂直の向きに修正する。すなわち、反制約は、所定の制約が守られるような方式ではコンポーネントを決して修正できない、ということを指定するものではない。そうではなくて、反制約は、CADシステム100が、反制約に指定された所定の制約を伴うCADモデルに対する修正に制限を設けることのないようにすることができる。
【0037】
以上のように、反制約執行エンジン110は、反制約に指定されている所定の制約を適用しないことによってCADモデルを更新する。反制約に指定されている所定の制約を適用することなくCADモデル220のコンポーネントを更新する、他の実施形態も想定される。
【0038】
一例として、反制約執行エンジン110は、CADモデルのユーザ修正に基づいてCADモデルのコンポーネントへ適用するべき候補制約のセットを特定する(ユーザ修正に関連するコンポーネントへ適用される複数の異なる制約の組み合わせを含む候補更新のセットと比較した場合)。この候補制約のセットは、CADモデルのコンポーネントに関して推測された制約を含み得る。
【0039】
この例において、反制約執行エンジン110は、CADモデルのコンポーネントに関し反制約に指定された所定の制約を、候補制約のセットから除外することができる。これにより、反制約執行エンジン110は、フィルタリングされた候補制約のセットを得ることができる(例えば、コンポーネントに関し推測された垂直反制約をフィルタリングする結果、接線制約と一致制約とを含むフィルタリング後リストが得られる)。そして、反制約執行エンジン110は、CADモデルのユーザ修正に関連するCADモデルのコンポーネントへ、フィルタリング後の候補制約のセットから候補制約を適用することができる。
【0040】
図3は、直線222に関する特定の反制約を例示しているが、CADシステム100は、複数の異なるCADモデルのコンポーネントに関するものを含めて、複数の反制約を執行し得る。このときの反制約構成エンジン108は、特定のCADモデルのコンポーネントに関して複数の反制約を設定し、この複数の反制約の各々の反制約は、CADモデルの特定のコンポーネントへ適用するべきでないそれぞれの制約を指定する。反制約執行エンジン110は、その複数の反制約に指定されている複数の制約のいずれも適用することなく、ユーザ修正に関連するCADモデルのコンポーネントを更新する。
【0041】
一例において、CADシステム100はCADツールのスケッチ能力を提供し、このスケッチ能力を利用してユーザは、2D曲線の集合をスケッチし、設計又はエンジニアリングワークフローの一部として物理オブジェクトを表現することができる。この場合の2Dスケッチは、物理オブジェクトに関する最初の又はベースラインのCADモデルとして機能する。CADシステム100によって提供されるスケッチオプションは、最初にブランクのグラフィックモデルで開始され、その上にユーザが直線と曲線を挿入し、物理オブジェクトを二次元で表現する。CADシステム100は、2Dスケッチの3D-CADモデルへの変換をサポートする。この例において、CADシステム100は、スケッチ過程で行われるユーザアクションに係る反制約を特定し、設定し、執行する。永続的タイプの反制約について、その後の反制約執行エンジン110は、2D-3D変換過程においても同様に、当該反制約を適用する。
【0042】
すなわち、CADシステム100は、CADモデルについて反制約を構成して執行する。反制約は、特にユーザアクションにより修正される別のCADモデルのコンポーネントに関連する特定のCADモデルのコンポーネントに関して、CADモデルの挙動を制御し得る。適用するべきでない所定の制約に焦点を当てることによって、CADシステム100は、CADモデルにおいてすべての所定の制約を必ず肯定的に指定する必要のない、CADモデル制約機能を提供することができる。すなわち、ここに説明する反制約機能は、完全に制約された又は完全に正常に挙動するモデルではなくとも、正確で、一貫性があり、効率的なCADモデル挙動をサポートする。したがって反制約の構成及び使用は、CADシステム100のメモリフットプリントを削減し、リソース消費及び実行時間の削減を通して計算性能を向上させる。
【0043】
図4は、システムがCADモデルに関する反制約の構成及び執行をサポートするために実行するロジック400の例を示す。例えばCADシステム100は、ロジック400をハードウェアで、機械可読媒体に記憶された実行可能命令により、又は両者の組み合わせとして実行する。CADシステム100は、反制約構成エンジン108及び反制約執行エンジン110によりロジック400を実行し、これによってCADシステム100は、反制約を構成及び執行する方法としてロジック400を実行、遂行する。一例として反制約構成エンジン108及び反制約執行エンジン110を使用することとして、以下に示すロジック400の説明は提供される。しかしながら、CADシステム100による様々な他の実施オプションが可能である。
【0044】
ロジック400が実行されると、反制約構成エンジン108は、物理オブジェクトを表現するCADモデルを維持する(402)。このグラフィックモデルを維持する過程は、CADツールの一部としてグラフィックモデルのアクセス及び修正を制御することを含む。そして反制約構成エンジン108は、所定の制約がCADモデルのコンポーネントへ適用されるべきでないことを指定するユーザアクションを特定する(404)。これに応じて反制約構成エンジン108は、CADモデルのコンポーネントに関し、所定の制約が該CADモデルのコンポーネントへ適用されるべきでないことを指定する反制約を、設定する(406)。
【0045】
一実施形態において、反制約構成エンジン108は、コンポーネントに関し、ユーザアクションにより指定された所定の制約を含む推測される制約のセットを判断する。反制約構成エンジン108は、CADモデルのコンポーネントへの適用について、推測された制約のセットをユーザに提案し、この推測された制約の提案したセットのうちの所定の制約がコンポーネントへ適用されるべきでないことを指定するユーザアクションに応じて、CADモデルのコンポーネントに関する反制約を設定する。
【0046】
ロジック400を実行する反制約執行エンジン110は、コンポーネントに影響を与えるCADモデルのユーザ修正を特定する(408)。CADコンポーネントに影響を与えるユーザ修正は、当該コンポーネントに対する直接的な修正の他、修正に関するCADモデルへの少なくとも1つの候補更新(例えば推測された制約)が当該コンポーネントに対する変更を含む修正も、含む。すなわち反制約執行エンジン110による影響判断は、修正されるコンポーネントに関連するCADモデルのコンポーネントをいずれも特定することを含む。例えば、ユーザ修正は、反制約が設定されているコンポーネント(例えば直線222)に関連する修正対象としてのCADモデルのコンポーネント(例えば図2及び3の寸法値p1)をもたらし得る。
【0047】
続いて反制約執行エンジン110は、反制約に指定されている所定の制約を適用することなく、ユーザ修正に関連するコンポーネントを更新する(410)。反制約に指定されている所定の制約を適用することなくにコンポーネントを更新する過程において、反制約執行エンジン110は、CADモデルのユーザ修正に基づいてコンポーネントへ適用するべき、所定の制約を含んだ候補制約のセットを特定する(412)。反制約執行エンジン110は、候補制約のセットから所定の制約を除外して、フィルタリングした候補制約のセットを取得し(414)、CADモデルのユーザ修正に関連するコンポーネントへ、フィルタリング後の候補制約のセットから候補制約を適用する(416)。
【0048】
図5は、CADシステム100がCADモデルに関する反制約の構成及び執行をサポートするために実行する、別の例のロジック500を示す。上述したように、CADシステム100は、各種タイプの反制約をサポートすることができる。図5に示すロジック500は、CADシステム100が一時的及び永続的タイプの反制約を適用する方法の一例を提供する。以下に示すロジック500の説明は、反制約構成エンジン108及び反制約執行エンジン110を使用する例を提供する。しかしながら、ハードウェアで、機械可読媒体に記憶された実行可能命令により、あるいは両者の組み合わせとすることを含めて、CADシステム100によるその他様々実施オプションが可能である。
【0049】
ロジック500を実行する反制約構成エンジン108は、CADモデルのコンポーネントに関する反制約を設定し、このときに、反制約を永続的タイプの反制約か又は一時的タイプの反制約として設定することを含む(502)。反制約は、所定の反制約がコンポーネントへ適用されるべきでないことを指定する。一実施形態において、反制約構成エンジン108は、ユーザが反制約のタイプ(例えば一時的タイプや永続的タイプ)を指定できるように、視覚的アイコンや選択可能オプションを提供することができる。加えて、又は、代替として、反制約構成エンジン108は、適用の持続期間、適用の基準(例えば、スケッチモード中、一定の期間、編集、又は他の測定可能なアクション、など)に関する反制約パラメータを設定したり取得したりする。
【0050】
一例において、反制約構成エンジン108は、CADモデルのユーザ修正に関して推測される制約の判断又は案に従って、一時的タイプの反制約を設定する。ユーザが、推測され提案された制約を適用するべきでないことを選択した場合、反制約構成エンジン108は、一時的タイプの反制約を設定することができる(例えば、図2を参照して上述した、「今回垂直制約なし」のオプションをユーザが選択することにより)。これによりCADシステム100は、現時点でのユーザ修正に関して一回限り又は一時的な反制約を適用し、この後にもう一度、検討、適用、又は拒絶のために、推測された制約を提示する。
【0051】
CADシステム100は、反制約のタイプに基づいて、指定された反制約を適用、執行することができる。ロジック500を実行する反制約執行エンジン110は、コンポーネントに影響を与えるCADモデルの後続のユーザ修正を、例えば上述の方法と同様にして、特定する(504)。ユーザ修正が後続であるということは、反制約の指定や設定の後であるということである(例えば、一時的タイプの反制約はCADモデルのコンポーネントにそれ以降適用されない)。後続のユーザ修正に応答して、反制約執行エンジン110は、例えば反制約リストの検索を行って、影響を受けるコンポーネントに関して反制約が設定されているか否かを判断する。
【0052】
ユーザ修正による影響を受けると共に反制約が設定されているコンポーネントについて、反制約執行エンジン110は、適用される各反制約のタイプを判断する(506)。永続的タイプの反制約の場合、反制約執行エンジン110は、反制約に指定されている所定の制約を適用することなく、後続のユーザ修正に関連するコンポーネントを更新する(508)。一時的タイプの反制約の場合、反制約執行エンジン110は、当該反制約が一時的タイプであってユーザ修正に適用できない可能性があるため、CADモデルを改定して所定の制約を適用する可能性をもつ。
【0053】
例えば、反制約執行エンジン110は、後続のユーザ修正に基づいてCADモデルのコンポーネントに関し推測される制約として所定の制約(反制約に指定される)を判断し(510)、CADモデルのコンポーネントへの適用に関してユーザに、推測された制約を提示する(512)。この場合、反制約執行エンジン110は、一時的タイプの反制約を執行しないことを判断するが、所定の制約の適用に関してユーザにオプションを与える。
【0054】
図5は、永続的及び一時的な反制約のタイプに関して示しているが、ロジック500は、あらゆる条件付きタイプの反制約に一貫して対処するためにいくつかの追加的又は代替的要素を含み得る。このときの反制約執行エンジン110は、反制約を条件付きタイプの反制約として特定し、相関条件が成立したときに当該反制約を執行するが、そうでないこともある(例えば、所定の制約を適用して実際には反制約を執行しない)。
【0055】
図6は、CADモデルに関する反制約の構成及び執行をサポートするシステム600を例示する。システム600は、単体又は複数のプロセッサの形態を取り得るプロセッサ610を含む。プロセッサ610は、中央処理装置(CPU)、マイクロプロセッサ、又は機械可読媒体に記憶された命令を実行するのに適したあらゆるハードウェアデバイスを含む。システム600は、機械可読媒体620を含む。機械可読媒体620は、非一時的で電子的、磁気的、光学的、又は他の物理的なストレージデバイスのいずれかの形態をとり、図6に示される反制約構成命令622及び反制約執行命令624などの実行可能命令を記憶する。このような機械可読媒体620は、例えば、ダイナミックRAM(DRAM)、フラッシュメモリ、スピントランスファートルクメモリ、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、ストレージドライブ、光ディスク、その他といったランダムアクセスメモリ(RAM)である。
【0056】
システム600は、プロセッサ610により、機械可読媒体620に記憶された命令を実行する。命令を実行するシステム600(又は他のあらゆるCADシステム)は、反制約構成エンジン108、反制約執行エンジン110、又は両者の組み合わせに関する機能のいずれかに従うことを含めて、ここに説明する反制約構成及び執行機能のいずれかを実行する。例えば、プロセッサ610が反制約構成命令622を実行すると、システム600は、物理的オブジェクトを表現するCADモデルを維持し、CADモデルのコンポーネントに関して、該CADモデルのコンポーネントへ適用するべきでない所定の制約を指定する反制約を設定する。
【0057】
プロセッサ610が反制約執行命令624を実行すると、システム600は、コンポーネントに影響を与えるCADモデルのユーザ修正を特定し、反制約に指定されている所定の制約を適用することなく、ユーザ修正に関連するコンポーネントを更新し、この更新に際して、所定の制約を含むコンポーネントの候補更新を特定すること、そしてCADモデルのユーザ修正に関連するコンポーネントのその候補更新を適用するべきでないと判断すること、を含む。
【0058】
反制約構成エンジン108及び反制約執行エンジン110を含む、上述したシステム、方法、装置、及びロジックは、ハードウェア、ロジック、回路、及び機械可読媒体に記憶された実行可能命令を様々に組み合わせて種々の仕様で実施することができる。例えば、反制約構成エンジン108、反制約執行エンジン110、又はそれらの組み合わせは、コントローラ、マイクロプロセッサ、又は特定用途向け集積回路(ASIC)における回路を含み得るし、あるいは、単体の集積回路に組み入れられるか又は複数の集積回路に分散させた、ディスクリート(個別)ロジック又はコンポーネントやその他のタイプのアナログ又はデジタル回路の組み合わせ、を用いて実施することができる。コンピュータプログラム記憶製品などの製品は、記憶媒体及び媒体に記憶された機械可読命令を含んでおり、エンドポイント、コンピュータシステム、その他のデバイスで実行されると、当該デバイスは、反制約構成エンジン108、反制約執行エンジン110、又はこれらの組み合わせのいずれかの機能に従うことを含めて、上記開示に係るオペレーションを実行する。
【0059】
反制約構成エンジン108及び反制約執行エンジン110を含めてここに説明するシステム、装置、及びエンジンの処理能力は、選択肢として多重分散処理システムやクラウド/ネットワーク要素を含めて、多重プロセッサ及びメモリなどの複数のシステムコンポーネントの間に分散され得る。パラメータ、データベース、及びその他のデータ構造は、別々に記憶され管理されることもあるし、単一のメモリ又はデータベースに組み込まれることもあるし、種々の方式で論理的及び物理的に編成されることもあるし、リンクされたリスト、ハッシュテーブル、又は暗黙的ストレージメカニズムなどのデータ構造を含めて多様な方式で実施され得る。プログラムは、単一プログラムの部分(例えばサブルーチン)、別個のプログラム、いくつかのメモリ及びプロセッサに分散されたもの、又は、ライブラリ(例えば共用ライブラリ)などの態様な方式で実施され得る。
【0060】
以上、様々な実施形態を説明したが、他にも多くの実施形態が可能である。
図1
図2
図3
図4
図5
図6