(57)【特許請求の範囲】
【請求項１】
設計用のソフトウェア命令を備えるコンピュータ（３００）で操作されるソリッドモデル提示を修正するためのシステムであって、
コンピュータシステムが、メモリ（３４５）、プロセッサ（３０５）、ユーザ入力装置（３２０，３２５）、およびディスプレイ装置（３３５）を含み、
コンピュータが生成した幾何モデルがコンピュータシステムのメモリ（３４５）に記憶され、
前記コンピュータシステムはユーザ入力を受信し、幾何モデルを規定する複数の幾何モデル定義を有する少なくとも１つのデータファイル（６１０）にアクセスし、
幾何モデル定義を、幾何モデルの幾何的提示に変換し、
ユーザにより同定された少なくとも１つの幾何構造と幾何モデル（７００）との間の複数の幾何条件を計算して、複数の制限を形成し、
当該制限は、固定フィーチャまたは非固定フィーチャであるトポロジーフィーチャを有し、ここで、該固定フィーチャ（７１０，７２５）は、ソリッドモデルのトポロジー（７００，７０５）から独立したトポロジーにより定義され、該非固定フィーチャ（７１５，７２０）は、前記ソリッドモデルのトポロジー（７００，７０５）に依存するトポロジーにより定義され、
前記複数の制限にしたがって修正された幾何構造によって修正された幾何モデルを計算し、ユーザに表示し、
修正された幾何モデルの修正された幾何提示を少なくとも１つのデータファイルに保存するシステム。
【請求項２】
さらにコンピュータシステムは、複数の制限を幾何モデルから除去する請求項１記載のシステム。
【請求項３】
少なくとも１つのデータファイルは、幾何モデル伝送ファイル、モデリングツールキット情報ファイル、またはソリッドモデルパーツファイルの１つである請求項１または２に記載のシステム。
【請求項４】
幾何提示は境界提示フォーマットで行われる請求項１から３までのいずれか１項に記載のシステム。
【請求項５】
システムは、前記ソリッドモデルに対して結合された目下の幾何状態における複数の依存関係をリアルタイムで位置特定する請求項１記載のシステム。
【請求項６】
複数のトポロジーフィーチャは、面、エッジ、または頂点の少なくとも１つである請求項５記載のシステム。
【請求項７】
設計用のソフトウェア命令を備えるコンピュータによってソリッドモデル提示を修正するための方法であって、該コンピュータが、
幾何モデルを定義する複数の幾何モデル定義を有する少なくとも１つのデータファイル（６１０）にアクセスし（５００，６０５）、
該幾何モデル定義を、幾何モデルの幾何的提示に変換し（５０５）、
ユーザにより同定された少なくとも１つの幾何構造と幾何モデル（７００）との間の複数の幾何条件を計算して、複数の制限を形成し、
当該制限は、固定フィーチャまたは非固定フィーチャであるトポロジーフィーチャを有し、ここで、該固定フィーチャ（７１０，７２５）は、ソリッドモデルのトポロジー（７００，７０５）から独立したトポロジーにより定義され、該非固定フィーチャ（７１５，７２０）は、前記ソリッドモデルのトポロジー（７００，７０５）に依存するトポロジーにより定義され、
前記複数の制限にしたがって修正された幾何構造によって修正された幾何モデルを計算し（５１５）、ユーザに表示し、
修正された幾何モデルの修正された幾何提示を前記少なくとも１つのデータファイル（６１０）に保存する方法。
【請求項８】
前記コンピュータがさらに、幾何モデルの幾何提示をユーザに表示する請求項７記載の方法。
【請求項９】
前記コンピュータがさらに、複数の制限を幾何モデルから除去する請求項７または８記載の方法。
【請求項１０】
前記少なくとも１つのデータファイルは、幾何モデル伝送ファイル、モデリングツールキット情報ファイル、またはソリッドモデルパーツファイルの１つである請求項７から９までのいずれか１項に記載の方法。
【請求項１１】
前記幾何提示は境界提示フォーマットで行われる請求項７から１０までのいずれか１項に記載の方法。
【請求項１２】
コンピュータ（３００）で実行されるときに、当該コンピュータに、
幾何モデルを定義する複数の幾何モデル定義を有する少なくとも１つのデータファイル（６１０）にアクセスする手順（５００，６０５）、
該幾何モデル定義を、幾何モデルの幾何的提示に変換する手順（５０５）、
ユーザにより同定された少なくとも１つの幾何構造と幾何モデル（７００）との間の複数の幾何条件を計算して、複数の制限を形成する手順、
ただし当該制限は、固定フィーチャまたは非固定フィーチャであるトポロジーフィーチャを有し、ここで、該固定フィーチャ（７１０，７２５）は、ソリッドモデルのトポロジー（７００，７０５）から独立したトポロジーにより定義され、該非固定フィーチャ（７１５，７２０）は、前記ソリッドモデルのトポロジー（７００，７０５）に依存するトポロジーにより定義され、
前記複数の制限にしたがって修正された幾何構造によって修正された幾何モデルを計算し（５１５）、ユーザに表示する手順、
修正された幾何モデルの修正された幾何提示を前記少なくとも１つのデータファイル（６１０）に保存する手順、
を実行させるための、コンピュータ（３００）にロード可能なコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の引用
本願は、２００８年４月１４日に出願した係属中の米国仮出願第６１／０４４６１２号の優先権を主張するものである。
【０００２】
ここに説明する本発明のシステムは、一般的に、コンピュータ支援設計ソフトウェアアプリケーションに関連するものである。より特定すると、このシステムは、ソリッドモデル提示において幾何関係性を認識することに関連する。
【背景技術】
【０００３】
コンピュータ支援設計（ＣＡＤ）アプリケーションの現在の世界では、パーツが２つのやり方の１つで共通に設計される。すなわち、ヒストリベースと、ノンヒストリである。ヒストリベースシステムは、１９８０年代中頃に出現したパラメトリックモデリングパラダイムにより共通に特徴付けられる。パラメトリックモデリングシステムでは、レシピツリーまたはヒストリーツリーが、事物がどのように相互に関連しているかを反映するために作成される。１つのオリジナルアイテムについて変化が発生すると、やがてその後にそのオリジナルアイテムから形成されるすべてのアイテムが更新される。このようにして例えば２つの面が同一平面に残ることがある。なぜならこれらの面は、設計プロセス中にキャプチャされた関係によって設計されており、更新プロセス中に単純に「リプレイ」されるからである。図１ａから１ｃは、３次元ブロックの斜方投影図である。図１ａを参照すると、３次元（３Ｄ）のＣ型ブロック１００がユーザにコンピュータディスプレイ上で可視であり、ユーザにより、下方脚部１０５、上方脚部１１０、または下方脚部１０５と上方脚部１１０の両方を変化することによって変形する必要がある。ヒストリベースシステムでは、ユーザがどのように簡単にＣ型ブロック１０を変更するかは、これがＣＡＤアプリケーションシステム、例えばＳｉｅｍｅｎｓ  Ｐｒｏｄｕｃｔ  Ｌｉｆｅｃｙｃｌｅ  Ｍａｎｅｇｅｍｅｎｔｏ  Ｓｏｆｔｗａｒｅ  Ｉｎｃ．によるＳｏｌｉｄＥｄｇｅにより、初めにどのように設計されていたかに掛かっている。通例、オリジナルデザイナが、後で修正デザイナにより修正されるパートを形成および／または設計し、この修正デザイナはオリジナルデザイナのことをまったく知らないこともある。例えばオリジナルデザイナ、すなわちブロック１００を最初に設計した人物が、下方脚部１０５と上方脚部１１０に関連する面が同一平面になるような設計方法を使用していれば、図１ｃに示すような変形動作は、３Ｄモデル設計の分野の当業者には基本的な、公知のパラメトリック／ヒストリベースモデリング技法を用いて容易に実行することができる。しかし簡単に説明すると、２つの面が同一平面になることが強いられているので、一方の面を移動すると他方の面も移動することになる。一方、修正デザイナが下方脚部１０５に関連する面だけを移動して、上方脚部１１０だけを残そうとすると（例えば図１ｂに示すように）、強制された同一平面を移動する複数の付加的ステップに加えて、修正デザイナがオリジナルデザイナでなければ、どのようにＣ型ブロック１００の２つの脚部が形成されたかを理解することから始まる、さらに複数の付加的ステップが必要となる。さらに、Ｃ型ブロック１００のオリジナルデザイナが、下方脚部１０５と上方脚部１１０が同一平面になるよう形成したのではなく、間隔または形状のような別の方法により両脚部が形成されていれば、両脚部を図１ｃに示すように変更しようとすると、修正デザイナがＣ型ブロック１００をゼロから形成するのと同じ程度に困難性が増大する。
【０００４】
一方、Ｃ型ブロック１００を、ＣｏＣｒｅａｔｅ、ＩｒｏｎＣＡＤおよびＫｕｂｏｔｅｋのようなコンパイラでノンヒストリまたはボディベースのアプローチで変形すると、パラメトリックモデリングパラダイムにより一般的に形成されるヒストリーツリーを維持することができない。ノンヒストリのアプローチでは、変化が各アイテムに対してソリッドモデルで明示的に実行される。Ｃ型ブロック１００のオリジナルデザイナが、下方脚部１０５上の面と上方脚部１１０上の面との関係が同一平面であることを維持しようと意図している場合、所望の結果を保証するように編集するためには後の変形で面を手動で選択しなければならない。このことは、オリジナルデザイナの意図が未知であるか、または確認できない場合には困難である。例えば修正デザイナは、１つの面を選択することにより、または他のすべての同一平面を個別に選択することにより図１ｂまたは図１ｃに示すように変化させることができる。すべての同一平面の選択は、この例では少数であるが、複雑なアセンブルモデルでは数百になることもある。択一的にいくつかのソフトウェアアプリケーションにより修正デザイナは、「同一平面の面」を作製し、設計意図を事後恒久的に、編集時点で保存することができる。しかしこれも、非常に大きなモデルでは扱い難くなる。設計意図とは、ソリッドモデルのオリジナルデザイナがどのようにこのモデルを設計したかという意図である。択一的に、設計意図は、ソリッドモデルの修正デザイナの意図を反映することができる。後者の改変は、後日での図１ｂに示すような変形を困難にする。なぜなら設計意図が設計意図にではなく、モデルに焼き込まれるからである。
【０００５】
ヒストリベースのアプローチによる問題点は、設計意図が組み込まれ、モデル形成の時点で固定されることである。このことは、モデル形成の時点では予想されなかった変更を後の時点で行う場合に変更を複雑にする。反対に、ノンヒストリシステムは後の時点での変更についてフレキシブルである。しかし事物がどのように関連しているかについて知識をほとんど保存しない。修正デザイナがこのような知識を、ヒストリベースシステムのように、後の時点で手動で保存しようとすると、この知識が組み込まれ、固定され、そのためフレキシビリティが制限される。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明は、ソリッドモデル上で直接編集することができ、現在の幾何形状が調査され、種々のモデル制限と組み合わされ、この関係性をリアルタイムで位置特定できるシステムおよび方法に対する必要性を認識する。
【課題を解決するための手段】
【０００７】
認識された必要性および関連の問題を解決するために、設計用ソフトウェア命令を有するコンピュータで操作されるソリッドモデル提示を修正するためのシステムが提案される。このコンピュータシステムは、メモリ、プロセッサ、ユーザ入力装置、およびディスプレイ装置を含み、コンピュータが生成した幾何モデルがコンピュータシステムのメモリに記憶され、コンピュータシステムはユーザ入力を受信し、幾何モデルを規定する複数の幾何モデル定義を有する少なくとも１つのデータファイルにアクセスし、幾何モデル定義を、幾何モデルの幾何的提示に変換し、ユーザにより同定された少なくとも１つの幾何構造と幾何モデルとの間の複数の幾何条件を計算して、複数の制限を形成し、複数の制限にしたがって修正された幾何構造によって修正された幾何モデルを計算し、ユーザに表示する。このシステムにおいて、さらにコンピュータシステムは、修正された幾何モデルの修正された幾何提示を少なくとも１つのデータファイルに保存する。このシステムにおいて、さらにコンピュータシステムは、複数の制限を幾何モデルから除去する。このシステムにおいて、少なくとも１つのデータファイルは幾何モデル伝送ファイル、モデリングツールキット情報ファイル、およびソリッドモデルパーツファイルの１つである。このシステムにおいて、幾何提示は境界提示フォーマットで行われる。このシステムにおいて、幾何モデルはソリッドモデルである。
【０００８】
本発明の有利な実施例の別の利点は以下の説明および図面から明らかとなり、部分的に本システムの実施により学習される。このシステムを、このシステムの一部をなす図面を参照しながら説明する。他の実施例も利用することができ、変更も本発明のシステムの枠を逸脱することなしに可能である。
【０００９】
システムを添付図面と関連して説明する。同様の符合は同様の要素を意味する。
【図面の簡単な説明】
【００１０】
【図１】３次元ブロックの斜方投影図である。
【図２】見本仮想製品開発環境を示す図である。
【図３】システムが実施されるコンピュータシステムのブロック回路図である。
【図４ａ】ソフトウェアアプリケーションに実現されたソフトウェアプログラミングコードの一般的概念を示す図である。
【図４ｂ】フトウェアアプリケーションに実現されたソフトウェアプログラミングコードの一般的概念を示す図である。
【図５】実施形態により使用される方法全体のブロック図である。
【図６】例としてのソリッドモデル修正システムを示す図である。
【図７】例としてのソリッドモデル修正システムを使用した、平面までの距離変化を示す図である。
【図８】例としてのソリッドモデル修正システムを使用した、曲率半径の変化を示す図である。
【発明を実施するための形態】
【００１１】
１.イントロダクション
ソリッドモデルにおける幾何関係性を修正するための方法およびシステムが記述される。以下の記述では説明のために、このシステムを理解するための多数の特別な詳細が明らかとなる。しかし当業者であれば、これら特別な詳細がなくても、このシステムを実施することができることは明らかである。別の例では、公知の構造と装置が、このシステムを不必要に曖昧にしないため、ブロック回路図の形で示されている。
【００１２】
図２は見本仮想製品開発環境を示す図である。現在、使用される仮想開発環境は、典型的には一般的に２００で示された製品を形成または改善しようとする顧客要求により、または内在的欲求により開始する。この製品は、栓抜きのように単純なものでも、潜水艦のように複雑なものでも良い。図２をさらに参照すると、オリジナルデザイナは、コンピュータ支援設計（ＣＡＤ）アプリケーション２０５により実現される公知の方法にしたがって所望の製品を設計する。ＣＡＤアプリケーション２０５は汎用コンピュータ上で実行され、当該コンピュータはその後、以下に詳細を示すアプリケーションおよびインタラクションの実行時点で、コンピュータ支援設計のルーチンを実行することを目的とする特定目的用コンピュータ環境となる。ＣＡＤアプリケーション２０５は、好ましくはいずれもシーメンスＰＬＭソフトウェア社によりライセンス提供されるＳｏｌｉｄ  Ｅｄｇｅ（登録商標）またはＮＸ（商標）である。ＣＡＤユーザは周知の十分に理解されたやり方でＣＡＤアプリケーション２０５を操作し、顧客の要求または内在的欲求から確認されたオリジナルの設計条件に一致および類似するソリッドモデルを仮想的に表示させる。ソリッドモデルは共通して、コンポーネントの１つまたは複数のアセンブリであり、これらのアセンブリはサブアセンブリおよび／またはコンポーネントにさらに分解され、そのすべては好ましくは、その後の再呼出しのためにソリッドモデルデータファイル２２５に保存された仮想提示を有する。
【００１３】
ソリッドモデルが、オリジナルのデザイン条件に適合する、適切な形態であることが決定されると、シーメンスＰＬＭソフトウェア社により提供されるＮＸ  ＣＡＥ（商標）やＦＥＭＡＰ（商標）などのコンピュータ支援エンジニアリング（ＣＡＥ）アプリケーション２１０を用いて、ＣＡＥユーザは部分耐障害性テストおよび種々の他のエンジニアリングテストについて好ましくはテストする。ＣＡＥユーザが、ソリッドモデルが耐障害性テストを成功裏に合格するためには修正が必要であると判断した場合、このソリッドモデルはＣＡＤアプリケーション２０５での修正のためＣＡＤユーザに戻される。ＣＡＤアプリケーション２０５とＣＡＥアプリケーション２１０および各ユーザの間のやりとりは、ソリッドモデルが必要な設計条件およびエンジニアリングテストを成功裏に合格するまで繰り返される。
【００１４】
成功裏に完成した後、最終的な設計形態のソリッドモデルは、シーメンスＰＬＭソフトウェア社によりいずれも提供されるＮＸ  ＣＡＭ（商標）やＣＡＭ  Ｅｘｐｒｅｓｓ（商標）などのコンピュータ支援製造（ＣＡＭ）アプリケーション２１５において物的製造のためにさらに設計される。ＣＡＭアプリケーション２１５を用いて、ＣＡＭユーザは数的制御プログラム、金型、ツール、ダイがどのように物的製品２３０を製造するかを設計することになる。ＣＡＭユーザは、オリジナルの設計条件に適合させるためにさらに修正する場合がある。例えば、放電加工（ＥＤＭ）を用いる場合、ワイヤカットＥＤＭまたは型彫りＥＤＭのいずれを物的製品２３０の製造に用いるかによって、異なる技術が要求される場合がある。仮想的に一部をミリングするため、ＣＡＭアプリケーション２１５は好ましくはＥＤＭ処理用の軌道の電極路を規定する。ＣＡＭユーザは設計条件およびエンジニアリング条件に適合させるため、例えば、物的製品２３０の構成材料を硬化させる冷却の後に、ソリッドモデルの寸法をわずかに修正する必要があると判断することがある。
【００１５】
製品の仮想的な設計、エンジニアリングおよび製造が成功裏に終わった後、製造者はすべての製造原則を、製品に関係する製品エンジニアリングとリンクすることができる。製品エンジニアリングには、例えば、プロセスレイアウトおよびプロセス設計、プロセスシミュレーション／エンジニアリング、および、シーメンスＰＬＭソフトウェア社により提供されるＴｅｃｎｏｍａｔｉｘ（商標）などのデジタル工場アプリケーション２２０を用いる製品管理が含まれる。ＣＡＭユーザが製品を例えば旧型のＥＤＭシステムでモデリングし、製造者に５軸旋盤機を用いて必要なブランクを形成するよう要求するために、あるいは、製造者が圧縮成形から射出成形に変えて物的製品２３０の構成部分を形成するようになったために、製造者が物的製品２３０を修正する必要を見いだす場合がある。例えばソリッドモデルは、物的製品２３０を製造するための最終要求に適合するため修正しなければならない。
【００１６】
上述した仮想的製品開発全体にわたって、製品設計は例えば顧客の要求からＣＡＤユーザ、ＣＡＥユーザ、ＣＡＤユーザへと流れ、さらにＣＡＥユーザに戻って、ＣＡＭユーザ、そして物的製品２３０の物的製造のために製造者へと流れた。ソリッドモデルへのそれぞれの編集とともに、例えば、ＣＡＤユーザ、ＣＡＥユーザ、ＣＡＭユーザおよび製造者による必要な設計変更に適合されるように幾何学的関係も修正される。さらに、ＣＡＤ／ＣＡＥ／ＣＡＭユーザのそれぞれがソリッドモデルを修正すると、ソリッドモデルを規定するデータモデルもまた、上述した、ソリッドモデルデータファイル２２５に適切に保存された変更を適切に説明するよう修正される。製造者はその後、オリジナルの設計仕様およびその後のエンジニアリングにおける修正にしたがって、物的製品２３０の製造を進める。仮想製品開発は、ソリッドモデルにおける幾何学的関係を修正するためのシステムおよび方法が種々のハードウェアシステムのメモリに常駐する種々のソフトウェアアプリケーションで実行される。ハードウェアシステムについては、以下より詳細に説明される。
【００１７】
２．コンピュータプログラム
ハードウェアシステムに関し、図３は本システムを実施可能なコンピュータシステムのブロック図である。図３および以下の説明は、本実施形態が具現化可能な、適切なハードウェアシステムおよびコンピュータ環境についての簡単な一般的説明を提供することを意図するものである。本実施形態は、既知のさまざまなコンピュータ環境で実施されてもよい。
【００１８】
図３を参照すると、例としてのコンピュータシステムは、複数の関連周辺機器（図示せず）を備えるデスクトップコンピュータまたはラップトップコンピュータなどのコンピュータ３００の形態のコンピュータ装置を備える。コンピュータ３００は中央処理ユニット（ＣＰＵ）３０５と、既知の技術にしたがって中央処理ユニット３１０とコンピュータ３００の複数のコンポーネントとを接続し、通信を可能とするために用いられるバス３１０とを備える。ＣＰＵ３０５の動作は当業者には周知である。ＣＰＵ３０５は、好ましくは、コンピュータにより実行可能なエンコードされた指令、例えば、コンピュータ３００により実行されるプログラムモジュールを有するコンピュータプログラムを実行することができる電気回路である。一般に、プログラムモジュールは、特定のタスクまたは特定のデータタイプのインプリメンテーションを実行する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを有する。好ましくは、プログラムモジュールはファイル処理モジュール３０６と、データ表示モジュール３０７と、ロジック処理モジュール３０８と、方法処理モジュール３０９とを備える。ロジック処理モジュール３０８はファイル処理モジュール３０６に要求を送り、データ表示モジュール３０７および方法処理モジュール３０９をコンピュータにより実行可能な指令にしたがって動作させる。同様に、ロジック処理モジュール３０８はファイル処理モジュール３０６から要求を受け、コンピュータにより実行可能な指令にしたがってデータ表示モジュール３０７および方法処理モジュール３０９を動作させる。また、バス３１０は種々のプログラムモジュール間および複数のコンポーネント間の通信を可能にする。バス３１０は、メモリバスまたはメモリコントローラ、端末バス、および複数のバスアーキテクチャのいずれかを使用するローカルバスを含む任意のバス構造とすることができる。コンピュータ３００は典型的にはユーザインタフェースアダプタ３１５を備える。ユーザインタフェースアダプタ３１５は、バス３１０を介して中央処理ユニット３０５を１つまたは複数のインタフェース装置、例えばキーボード３２０、マウス３２５および／または他のインタフェース装置３３０と接続する。インタフェース装置３３０は任意のユーザインタフェース装置、例えば、タッチセンサスクリーン、デジタル化ペン入力パッドなどであってよい。バス３１０はまたＬＣＤスクリーンやモニタなどのディスプレイ装置３３５をディスプレイアダプタ３４０を介して中央処理ユニット３０５に接続する。バス３１０はまた中央処理ユニット３０５を、ＲＯＭ、ＲＡＭなどを備えてもよいメモリ３４５に接続する。
【００１９】
コンピュータ３００はさらに、少なくとも１つの保存装置３５５および／または少なくとも１つの光学ドライブ３６０をバス３１０に接続するドライブインタフェース３５０を備える。保存装置３５５は、ディスクの読み出しおよび書き込みを行うためのハードディスクドライブ、リムーバブル磁気ディスクドライブの読み出しまたは書き込みを行うための磁気ディスクドライブを備えることができる。このハードディスクドライブおよび磁気ディスクドライブは図示されていない。同様に光学的ドライブ３６０も、例えばＣＤ‐ＲＯＭまたは他の光学的媒体等であるリムーバブル光学的ディスクの読み出しまたは書き込みを行うための光学的ディスクドライブを備えることができる。上記ドライブおよび関連するコンピュータ読み取り可能な記録媒体には、方法処理モジュール３０９がもたらす指令に記述される方法でロジック処理モジュール３０８が受ける指令にしたがってファイル処理モジュール３０６がアクセス可能な、コンピュータ読み取り可能な指令、データ構造、プログラムモジュールおよびコンピュータ３００に関する他のデータが不揮発性で保存される。
【００２０】
コンピュータ３００は通信チャネル３６５を介して他のコンピュータまたはコンピュータのネットワークと通信することができる。コンピュータ３００は、ローカルエリアネットワーク（ＬＡＮ）またはワイドエリネットワーク（ＷＡＮ）内の他のコンピュータと関連することができる。またはコンピュータ３００は、他のコンピュータとのクライアント／サーバ構成のクライアントとすることができる。さらに、本実施形態は、分散型コンピュータ環境において実施されてもよい。これにおいては、方法処理モジュール３０９がもたらす指令が記述する方法でロジック処理モジュール３０８がもたらすタスク指令を、通信ネットワークを介してリンクされた遠隔の処理装置が実行する。分散型コンピュータ環境では、プログラムモジュールがローカルメモリ記憶デバイスとリモートメモリ記憶デバイスの両方に配置される。これらの構成ならびに適切な通信ハードウェアはすべて、当業者に公知である。
【００２１】
プログラムモジュールをより詳細に見ると、図４ａ〜ｂは、ソフトウェアアプリケーションに実現されたソフトウェアプログラミングコードの全体的概念を例示する。図４ａを参照し、ソフトウェアアプリケーション４００が上記のアクセス可能なプロクラムモジュールを含む実施形態と関連して、プログラムモジュールを以下により詳細に説明する。ソフトウェアアプリケーション４００は、上述したＣＡＤアプリケーション２０５、ＣＡＥアプリケーション２１０またはＣＡＭアプリケーション２１５などのソリッドモデリングアプリケーションの形態であってもよい。さらに、ソフトウェアアプリケーション４００は、アクセスおよび利用のための特定のＡＰＩ（「アプリケーションプログラミングインタフェース」）呼出しフューチャを備える、サードパーティのベンダが提供するものを用いることも考えられる。続いて、ユーザがソフトウェアアプリケーション４００とインタラクションする際に、特定の修正イベントが、以下で詳述する変分モデリングツールキット４０５とのインタラクションをトリガする。これについては、以下でより詳細に説明する。ソフトウェアアプリケーション４００および変分モデリングツールキット４０５は、ともにまたは個別に、方法処理モジュール３０８が提供する指令により記述される方法でロジック処理モジュール３０８を利用し、下位の幾何モデリングカーネルを呼出し、そしてソリッドモデルの特定の修正イベントを、ユーザにより選択され、ソフトウェアアプリケーション４００により実行されるコマンドにしたがって完了する。これはソリッドモデリングの当業者には一般に理解されることであるが、以下でより詳細に説明する。下位の幾何モデリングカーネルは、一般に少なくとも、シーメンスＰＬＭソフトウェア社がライセンスするＰａｒａｓｏｌｉｄ（商標）などの３次元（３Ｄ）幾何モデラ４１０の集合と、シーメンスＰＬＭソフトウェア社が提供する３Ｄ  ＤＣＭ（商標）（または「ＤＣＭ」）製品のような幾何ソフトウェアコンポーネントライブラリ４１５の集合とから構成される。
【００２２】
言い替えれば、図４ｂを参照すると、変分モデリングツールキット４０５は、ソフトウェアアプリケーション４００からの変分編集コマンドに基づいて動作する。さらに、ソフトウェアアプリケーション４００は非変分モデリングの呼出しを３Ｄ幾何モデラ４１０に送り、３Ｄ幾何モデラ４１０は、幾何モデラの当業者には普通に理解されるように、幾何ソフトウェアコンポーネントライブラリ４１５を利用する。変分モデリングツールキット４０５に関し、以下でより詳細に説明されるが、発見、編集、解決および適用を含む変分編集に関連して、いくつかの動作が発生する。幾何ソフトウェアコンポーネントライブラリの集合が、例えば、幾何学的制約解決、変分設計、パラメトリック設計、運動シミュレーション、衝突判定、クリアランス計算、トポロジー配置、トポロジー運動解決、隠線除去などのモデリング機能を提供することは、ソリッドモデリングの当業者には通常理解される。３Ｄ幾何モデラ４１０およびコンポーネントライブラリ４１５が個別のコンポーネントであるよりは、同一のアプリケーションであるか、または、これらの組合せであることは、本実施形態の範囲内である。コンピュータプログラムについて説明したが、以降、モデル修正システムについてより詳細に説明する。
【００２３】
３．モデル修正システム
モデル修正システムを考察する。図５は、実施形態により使用される方法全体のブロック図である。図５を参照すると、本実施の形態は、方法処理モジュール３０９により提供される指令が記述する方法を用いるロジック処理モジュール３０８を開示する。記述された方法は、設計用のソフトウェア指令を有するコンピュータで操作されるソリッドモデル表現における幾何学的関係を修正する方法であり、全体として参照番号５００で示す。以下のステップは、以下に説明する詳細を有するシステムにて説明される実施形態の概略を示すために説明するものである。このシステムは、幾何モデルを定義する複数の幾何モデル定義を有するデータファイルにアクセスする（ステップ５００）。このシステムは、幾何モデル定義を幾何モデルの幾何学的表現に変換する（ステップ５０５）。このシステムは、ユーザにより定義された少なくとも１つの幾何構造と幾何モデルとの間の複数の幾何条件を計算し、複数の制限を形成する（ステップ５１０）。このシステムは、複数の制限にしたがって修正された幾何フューチャによって修正された幾何モデルを計算し、ユーザに表示する（ステップ５１５）。
【００２４】
図６は、例としてのソリッドモデル修正システムを示す図である。図６を参照すると、ソフトウェアアプリケーション４００を使用するユーザは、ソフトウェアアプリケーション４００に必要なコマンドを実行し、好ましくは、ソリッドモデルデータファイル２２５に保存されたソリッドモデルの仮想表現に関連するデータを有するハードディスクドライブ６００である保存装置３５５にアクセスする。ソリッドモデルデータファイル２２５には、好ましくはソフトウェアアプリケーション４００、仮想モデリングツールキット４０５、３Ｄ幾何モデラ４１０およびコンポーネントライブラリ４１５がアクセスすることができる。ソフトウェアアプリケーション４００はソリッドモデリングアプリケーション６０５により特徴付けられる。ソリッドモデリングアプリケーション６０５は、ファイル処理モジュール３０８を用いて、３Ｄ幾何モデラ４１０のためのモデラ転送ファイルタイプを指す、好ましくはｓｔａｎｄ．ｘ＿ｔ形式で、変分モデリングツールキット４０５のための変分モデリングツールキット情報のファイルタイプを指すｓｔａｎｄ．ｖｔｋ＿ｄａｔａ形式で、ハードディスクドライブ６００に保存された好ましくはデータファイル６１０として構築されたソリッドモデルデータファイル２２５にアクセスする。なお、ｓｔａｎｄ＊はファイル名の汎用部分を指す。ソリッドモデリングアプリケーション６０５は、独自に認識するファイルタイプ拡張子、例えば、＊．ＡＰＰを有し、これをソリッドモデルの操作に関する十分な情報を得るために用いる。続いて、ソリッドモデリングアプリケーション６０５は、ハードディスクドライブ６００に保存されたデータファイル６１０にアクセスし、ｓｔａｎｄ．ｘ＿ｔファイルを３Ｄ幾何モデラセッション本体にロードし、これに３Ｄ幾何モデラ４１０がアクセスする。ｓｔａｎｄ．ｖｔｋ＿ｄａｔａファイルは３Ｄ幾何モデラセッション本体にロードされ、付加される。ソリッドモデリングアプリケーション６０５は、ソリッドモデルに関連するアプリケーションデータをロードし、独自のファイルタイプ、例えば、ＰＲＴにしたがってデータファイル６１０にアクセスする。いったんインタラクションが形成されると、変分モデリングツールキット４０５は変分モデリングツールキットＡＰＩ６１５により修正計算を行うが、これは以下で詳述する。ソリッドモデル修正の後、修正されたソリッドモデルをハードディスクドライブ６００に保存するため、変分モデリングツールキット４０５に関連するデータがソリッドモデルから取り出され、ｖｔｋ＿ｄａｔａ構造に配置された後、ｓｔａｎｄ．ｖｔｋ＿ｄａｔａファイルに保存されることがブロック６２０に示される。ソリッドモデルの本体形状も、アプリケーションデータと同様にハードディスクドライブ６００に保存される。
【００２５】
４．モデル修正方法
１つ以上のインタラクションが存在することのできるインタラクションの初期化は、ソリッドモデリングアプリケーション６０５がインタラクションオブジェクト６２５を形成するときに開始され、インタラクションオブジェクト６２５が破棄されるときに終了する。ソリッドモデリングアプリケーション６０５は好ましくは、インタラクションオブジェクト６２５を、パーツ例、存在する制限、および例えば内部パーツから直接使用することのできない寸法を備えるモデル状態に駐在させ、またどの寸法がハード意図寸法であるか、すなわちフロートすることができ、ソリッドモデリングアプリケーション６０５のユーザにより定義されたように破棄することのできるハート意図寸法であるかを特定する。ソリッドモデリングアプリケーション６０５は好ましくは、インタラクションオブジェクト６２５を、変化トポロジーを備えるモデル状態に駐在させる。ここでトポロジーは、面、縁、頂点（ＦＥＶ）であり、変化トポロジーだけでなく、ソリッドモデリングアプリケーション６０５により提供される修正操作により変化する複数のＦＥＶも含む。さらにソリッドモデリングアプリケーション６０５は好ましくは、インタラクションオブジェクト６２５を、ソリッドモデル、および環境を規定する距離および周囲のような直接利用することのできない検索範囲オプションに関連する付加的情報を備えるモデル状態に駐在させる。ソリッドモデリングアプリケーション６０５は、例えばプロシージャまたはＡＰＩコールのような既知の通信方法により、変分モデリングツールキット４０５を呼び出す。
【００２６】
変分モデリングツールキット４０５はインタラクション情報をソリッドモデリングアプリケーション６０５から受け取り、変化トポロジーと、変化トポロジーにない他のＦＥＶとの幾何的関係をサーチすることにより、インタラクションオブジェクト６２５の意図を算出する。これは、例えば同一平面、同心、等半径、接線および対称のようなソリッドモデリングアプリケーション６０５で共通に使用される既知のサーチメカニズム本体を使用して行われる。変分モデリングツールキット４０５はサーチされた情報を、好ましくはユーザによる選択のために、ソリッドモデリングアプリケーション６０５にフィードバックする。択一的に選択は、所定の選択スキームまたは他の公知の識別方法にしたがい自動的に行うこともできる。ソリッドモデリングアプリケーション６０５はオプションで、変化トポロジーと他のＦＥＶとの間の幾何的関係のサーチを、認識の第１のレベル、第２のレベルそして第ｎのレベルまで反復的に繰り返す。例えば認識の第１のレベルが、変化トポロジーに関連してＦＥＶに適用される。これはいわば、変化トポロジーとフューチャを共有するサーチされたＦＥＶである。
【００２７】
意図について説明を続けると、ソリッドモデリングアプリケーション６０５は、決定された幾何的関係にあるどのトポロジーフューチャを、固定フューチャまたは非固定フューチャとすべきか特定する。固定フューチャは、その幾何的定義がホストソリッドモデルトポロジーから独立しているトポロジーにより定義される。反対に、非固定フューチャは、その幾何的定義がホストソリッドモデルトポロジーに依存するトポロジーにより定義される。変分モデリングツールキット４０５は上記の情報をコンポーネントライブラリ４１５に提供する。例えば３次元寸法制限マネージャ（３Ｄ  ＤＣＭ）が、寸法主導型の制限ベース設計機能を、寸法および制限の効率的な使用を可能にし、アセンブリおよびメカニズムのパーツを位置決めし、パーツの形状をコントロールし、３Ｄスケッチを形成するアプリケーション列に提供する。さらにソリッドモデリングアプリケーション６０５のユーザは、変化トポロジーでの実行のための動作形式を指示する。これは例えば距離値の変化、フューチャのドラッグ、またはオフセットの形成である。使用可能な操作形式に関して、ユーザはまた、「ＳＹＳＴＥＭ  ＡＮＤ  ＭＥＴＨＯＤ  ＦＯＲ  ＡＵＴＯ−ＤＥＭＥＮＳＩＯＮＩＮＧ  ＢＯＵＮＤＲＹ  ＲＥＰＲＥＳＥＮＴＡＴＩＯＮ  ＭＯＤＥＬ」、２００６年１２月１８日、米国刊行物番号２００８／０１４３７０８に開示され、記載された自動寸法記入を含むオプションを特定することができる。ソリッドモデリングアプリケーション６０５は選択された値を、インタラクションオブジェクト６２５への修正のために複数の制限を決定するために供給された操作を勘案して供給する。ここでの制限は、推定されたものであるか、定義されたものであるか、または両者である。変分モデリングツールキット４０５は、認識され容認された制限および寸法を３Ｄ  ＤＣＭに供給し、最小の接続的制限を、必要なソリッドモデルをともに保持するために加える。
【００２８】
修正が発生し、アップデート中にソリッドモデルに適用される。ソリッドモデリングアプリケーション６０５は変化トポロジーを、設計意図にしたがい修正し、このとき複数の制限を寸法値の変化により適合し、またはＦＥＶが特定の距離により位置を特定する。面トポロジーをオフセットする場合、３Ｄ幾何モデラ４１０を使用して新たな幾何形状を予め算出するのが好ましい。アップデート中、変分モデリングツールキット４０５は制限と寸法を解決し、半径を含む新たなＦＥＶ位置値を決定する。変分モデリングツールキット４０５を含むアップデートは、３Ｄ幾何モデラ４１０とソリッドモデルパーツ位置形態に分割され、ソリッドモデルパーツ位置形態は、ソリッドモデリングアプリケーション６０５により問い合わせ可能な時点で適用される。このシステムは、修正された編集フューチャを備える幾何モデルをユーザに表示する。このようにして変分モデリングツールキット４０５は好ましくは、解決された変化を、３Ｄ幾何モデラ４１０に幾何モデラ４１０により提示されたモデルに適用する。同様にソリッドモデリングアプリケーション６０５により提供された回答によって引き起こされた制限違反をチェックする。ＦＥＶセットをドラッグする場合には、ソフトウェアアプリケーション４００は変化セット値をループに、好ましくはヒステリシスを回避するためにロールバック手続を使用して反復して適用することができる。さらにソリッドモデリングアプリケーション６０５はさらなる手続コールを、同じベースデータを供給し、同じインタラクションの一部分を形成する種々の操作に対して行うことができる。ソリッドモデリングアプリケーション６０５は好ましくは、いずれかの消費トポロジー面、変化された面についてのアップデートマッピング情報、修正されたソリッドモデルをユーザに表示するためのパーツポジショニング変換を必要とし、そして最後にインタラクションオブジェクト６２５を破棄する。
【００２９】
５．アプリケーションワークフロー例
図７は、例としてのソリッドモデル修正システムを使用した、平面までの距離変化を示す。図７を参照すると、ユーザはソリッドモデルパーツ７００を、選択された編集部分を７０５に示された位置にドラッグすることによって修正しようとする。ユーザはソリッドモデリングアプリケーション６０５を、表示装置３３５に示されるようにアクティブにし、ソリッドモデルパーツをロードする。ソリッドモデリングアプリケーション６０５は、ソリッドモデルパーツ７００、すなわち平面７１０を変分モデリングツールキット４０５にロードする。続いて変分モデリングツールキット４０５はまたシリンダ面７１５を平面７１０への接線として、ソリッドモデリングアプリケーション６０５からのヘルプによって認識する。ソリッドモデリングアプリケーション６０５はシリンダ面７１５を選択セットに追加し、修正することのできた他のＦＥＶセットが存在するか否かを反復的にチェックする。変分モデリングツールキット４０５はさらに角度面７２０を、シリンダ面７１５への目下の接線として同定し、これを選択セットに追加する。ユーザは平面７１０を固定しようとするが、選択セットを非固定として決定する。非固定フューチャは、その幾何定義がホストモデルトポロジーに依存するものの１つである。さらに制限を決定し、平面７１０とシリンダ面７１５は強制された接線であり、同様にシリンダ面７１５と角度面７２０も強制された接線である。さらに自動寸法設定操作オプションが、遠くの平行面７２５からの距離を選択された平面７１０に追加する。ユーザは、ソリッドモデリングアプリケーション６０５により提供されたツールを、選択セット、すなわち平面７１０位置から遠くの平行面７２５位置までの自動距離設定をグラフィカルにドラッグするために利用する。
【００３０】
図８は、例としてのソリッドモデル修正システムを使用した、曲率半径の変化を示す。図８を参照すると、ユーザはソリッドモデルパーツ８００を、半径値を１０単位から２０単位に変更することによって修正しようとする。ユーザはソリッドモデリングアプリケーション６０５を、表示装置３３５に示されるようにアクティブにし、ソリッドモデルパーツ８００を変分モデリングツールキット４０５にロードする。選択されたエッジ８０５も同定され、変分モデリングツールキット４０５にロードされ、このようにしてシェルフューチャが変分モデリングツールキット４０５により認識され、同定される。ソフトウェアアプリケーション４００は選択されたエッジ８０５を選択セットに追加し、修正することのできた他のＦＥＶセットが存在するか否かを反復的にチェックする。変分モデリングツールキット４０５は、面トポロジーにある選択されたエッジ８０５を認識し、関連の面トポロジーが変分モデリングツールキット４０５に追加される。ユーザは、ソリッドモデリングアプリケーション６０５を使用して半径変化操作を選択する。リッドモデリングアプリケーション６０５は、変分モデリングツールキット４０５への必要な手続コールを伝達する。選択されたエッジ８０５は面トポロジーに一致することが強いられ、一方、シリンダ面は非固定と決定される。前と同じように、非固定シリンダ面はホストモデルトポロジーに依存する。関連するシェル面間の距離が計算され、半径の新たな値が適用される。変分モデリングツールキット４０５は、両方のシリンダ半径のオフセットおよび変化された面のための新たな位置８１０を、ソリッドモデリングアプリケーション６０５に通知し、表示装置３３５でユーザに表示される。
【００３１】
６．結論
本実施形態は、デジタル電子回路、またはコンピュータハードウエア、ファームウエア、ソフトウェア、またはそれらの組合せにおいて実現することができる。実施形態の装置は、機械読み出し可能な記憶デバイスに実装されるコンピュータプログラム製品であってプログラミング可能なプロセッサによって実行されるコンピュータプログラム製品で具現化することができる。また、実施形態の方法のステップは、入力データを操作して出力を生成することにより、実施形態の機能を実行するための命令のプログラムを実行するプログラミング可能なプロセッサによって実施することができる。
【００３２】
有利な実施形態は、少なくとも１つのプログラミング可能なプロセッサを含むプログラミング可能なシステムで実行可能な１つまたは複数のコンピュータプログラムで具現化することができる。その際にはこの少なくとも１つのプログラミング可能なプロセッサは、データ記憶システム、少なくとも１つの入力デバイスからデータおよび命令を受信し、データ記憶システム、少なくとも１つの出力デバイスへデータおよび命令を送信するように結合されている。アプリケーションプログラムを高級な手順向きプログラミング言語で具現化するか、またはオブジェクト指向プログラミング言語で具現化するか、または望ましい場合にはアセンブリ言語または機械言語で具現化することができる。いずれの言語も、コンパイルされた言語または翻訳された言語とすることができる。
【００３３】
一般的にプロセッサは、命令およびデータをＲＯＭおよび／またはＲＡＭから受け取る。コンピュータプログラム命令およびデータの具現化に適している記憶デバイスはあらゆる形態の不揮発性メモリを含み、これにはＥＰＲＯＭ、ＥＥＰＲＯＭおよびフラッシュメモリデバイスのような半導体メモリデバイス、内部ハードディスクのような磁気ディスク、リムーバルディスク、磁気光学的ディスク、ＣＤ−ＲＯＭディスクが含まれる。前記のいずれもが特殊設計されたＡＳＩＣ（アプリケーション専用集積回路）により補足することができ、またはＡＳＩＣに組み込むことができる。
【００３４】
複数の実施例が説明された。本実施形態の精神および範囲を逸脱することなくさまざまな変更を行い得ることは明らかである。したがってこれ以外の実施形態も特許請求の範囲内に含まれるものである。
【図１ａ−１ｃ】
0005538363.tif 000002
【図２】
0005538363.tif 000003
【図３】
0005538363.tif 000004
【図４ａ】
0005538363.tif 000005
【図４ｂ】
0005538363.tif 000006
【図５】
0005538363.tif 000007
【図６】
0005538363.tif 000008
【図７】
0005538363.tif 000009
【図８】
0005538363.tif 000010