首页 / 专利库 / 电脑图像 / 三维建模 / Method of modeling three-dimensional object

Method of modeling three-dimensional object

阅读:701发布:2024-02-17

专利汇可以提供Method of modeling three-dimensional object专利检索,专利查询,专利分析的服务。并且PROBLEM TO BE SOLVED: To provide a model management technology using feature chains. SOLUTION: Modeling of a three-dimensional object includes storing data representing a computer model of the three-dimensional object. The data includes a number of feature objects each of which defines a feature of the computer model. A feature chain is formed and includes at least one feature object having a design effect limited in scope such that an operation for removing material operates to affect the feature of the computer model defined by another feature object in the same feature chain, and does not affect the feature of the computer model defined by the feature object not in the same feature chain. Multiple feature chains can be combined to form an interrelationship among feature objects that represents a hierarchy defining construction of the model from the feature objects. COPYRIGHT: (C)2003,JPO,下面是Method of modeling three-dimensional object专利的具体信息内容。

  • 【特許請求の範囲】 【請求項1】 コンピュータによって実施される3次元オブジェクトをモデリングする方法であって、 前記3次元オブジェクトのコンピュータモデルを表すデータを保管するステップであって、該データのそれぞれが、該コンピュータモデルのフィーチャを定義する複数のフィーチャオブジェクトを含むような、前記データを保管するステップと、 素材(material)を除去する動作が、同一フィーチャチェーン内の他のフィーチャオブジェクトによって定義されるコンピュータモデルのフィーチャに影響するように操作するが、前記同一フィーチャチェーン内にないフィーチャオブジェクトによって定義されるコンピュータモデルのフィーチャに影響しないように操作し、設計効果をスコープにおいて制限される少なくとも1つのフィーチャオブジェクトを含むフィーチャチェーンを形成するステップと、 前記フィーチャオブジェクトからの前記モデルの構成を定義する階層を表す、フィーチャオブジェクト間の相互関係を形成するために複数のフィーチャチェーンを組み合わせるステップとを備えたことを特徴とする3次元オブジェクトをモデリングする方法。 【請求項2】 前記フィーチャチェーンを形成するステップが、 前記複数のフィーチャオブジェクトを含む順序なしフィーチャリストを読み取るステップと、 前記コンピュータモデルに素材を追加する少なくとも1
    つのフィーチャオブジェクトを突き止めるステップと、 前記コンピュータモデルから素材を除去し、スコープ定義によって素材を追加する前記フィーチャオブジェクトに関連付けられる、少なくとも1つのフィーチャオブジェクトを突き止めるステップとを含むことを特徴とする請求項1に記載の3次元オブジェクトをモデリングする方法。 【請求項3】 素材を除去する少なくとも1つのフィーチャオブジェクトが、素材を追加する各フィーチャオブジェクトに対するカット効果を示すnever−fil
    l属性を有することを特徴とする請求項2に記載の3次元オブジェクトをモデリングする方法。 【請求項4】 前記複数のフィーチャチェーンを最適化することを含むことを特徴とする請求項1に記載の3次元オブジェクトをモデリングする方法。 【請求項5】 部品を生成するように設計された処理に前記複数のフィーチャチェーンの組合せを入力することを含み、該組み合わせが、前記複数のフィーチャオブジェクトの再生成順序を規定することを特徴とする請求項1に記載の3次元オブジェクトをモデリングする方法。 【請求項6】 前記スコープ定義が、フィーチャオブジェクトの存在に基づくことを特徴とする請求項2に記載の3次元オブジェクトをモデリングする方法。 【請求項7】 前記スコープ定義が、フィーチャオブジェクトの近接に基づくことを特徴とする請求項2に記載の3次元オブジェクトをモデリングする方法。 【請求項8】 前記スコープ定義が、フィーチャオブジェクトの存在とフィーチャオブジェクトの近接との組合せに基づくことを特徴とする請求項2に記載の3次元オブジェクトをモデリングする方法。 【請求項9】 指示された命令が、スコープ定義を修正し、該命令が、前記フィーチャオブジェクトのうちで前記スコープ定義に含まれる1つと、前記スコープ定義から除外されるフィーチャオブジェクトとを明示的に指定することを特徴とする請求項2に記載の3次元オブジェクトをモデリングする方法。 【請求項10】 ユーザインターフェースダイアログが、前記スコープ定義の前記明示的指定を容易にすることを特徴とする請求項9に記載の3次元オブジェクトをモデリングする方法。 【請求項11】 コンピュータによって実施される3次元実世界(real-world)オブジェクトをモデリングする方法であって、 実世界の3次元オブジェクトのモデルを階層的に配置された複数のモデルフィーチャオブジェクトとして定義するデータ構造を保管するステップであって、該モデルフィーチャオブジェクトが、前記モデルの生成をもたらすためにモデリングプログラムによって処理されるような、前記データ構造を保管するステップと、 追加のモデルフィーチャオブジェクトを定義するデータを受け取るステップと、 前記追加のモデルフィーチャオブジェクトに関連するフィーチャスコープを定義するデータを受け取るステップであって、前記フィーチャスコープが、前記追加のモデルフィーチャオブジェクトによって影響される少なくとも1つの他のモデルフィーチャオブジェクトを決定するような、前記データを受け取るステップと、 前記追加のモデルフィーチャオブジェクトの前記フィーチャスコープに基づいて、前記複数のモデルフィーチャオブジェクトの階層的配置を修正するステップとを備えたことを特徴とする3次元オブジェクトをモデリングする方法。 【請求項12】 前記階層的配置がツリー構造であり、
    該ツリー構造を解析することによって前記モデルを生成するステップと、 前記階層的配置内のモデルフィーチャオブジェクトの相対位置に基づいて、他のモデルフィーチャオブジェクトに関する各モデルフィーチャオブジェクトの動作のスコープを決定するステップとを備えたことを特徴とする請求項11に記載の3次元オブジェクトをモデリングする方法。 【請求項13】 前記フィーチャスコープが、明示的フィーチャスコープであり、前記追加のフィーチャオブジェクトによって影響される他のモデルフィーチャオブジェクトを明示的に識別するユーザ入力を受け取るステップを備えたことを特徴とする請求項11に記載の3次元オブジェクトをモデリングする方法。 【請求項14】 ユーザ入力を受け取るステップが、グラフィカルインターフェース装置に表示された複数のモデルフィーチャのユーザ選択を受け取るステップと、前記追加のモデルフィーチャオブジェクトによって影響される前記他のモデルフィーチャオブジェクトを識別するために前記ユーザ入力を処理するステップとを備えたことを特徴とする請求項13に記載の3次元オブジェクトをモデリングする方法。 【請求項15】 素材を除去する前記複数のモデルフィーチャオブジェクトのそれぞれが、暗黙(implicit)のフィーチャスコープを有し、これによって、システムが、前記フィーチャスコープに基づいて、素材を除去する前記複数のモデルフィーチャオブジェクトのどれが、
    素材を追加する前記複数のモデルフィーチャオブジェクトの他の1つに影響するかを判定するように構成されることを特徴とする請求項11に記載の3次元オブジェクトをモデリングする方法。 【請求項16】 前記複数のモデルフィーチャオブジェクトの1つが、カットフィーチャを含み、該カットフィーチャの前記フィーチャスコープが、前記カットフィーチャに関連するnever−fill属性をセットすることを特徴とする請求項15に記載の3次元オブジェクトをモデリングする方法。 【請求項17】 前記never−fill属性が、他のすべてのモデルフィーチャオブジェクトが前記モデルの前記カットフィーチャによってカットされる領域に素材を追加できなくすることを特徴とする請求項16に記載の3次元オブジェクトをモデリングする方法。 【請求項18】 前記never−fill属性が、指定された他のモデルフィーチャオブジェクトが、前記カットフィーチャによってカットされた前記領域への素材の追加に作用することができるように、オーバーライドされることができることを特徴とする請求項16に記載の3次元オブジェクトをモデリングする方法。 【請求項19】 素材を除去する前記複数のモデルフィーチャオブジェクトの1つの前記フィーチャスコープが、素材を除去する前記複数のモデルフィーチャオブジェクトの1つの、素材を追加する1つまたは複数のモデルフィーチャオブジェクトへの物理的近接によって決定されることを特徴とする請求項15に記載の3次元オブジェクトをモデリングする方法。 【請求項20】 素材を除去する前記複数のモデルフィーチャオブジェクトの1つの前記フィーチャスコープが、前記複数のモデルフィーチャオブジェクトの他の1
    つの存在によって決定されることを特徴とする請求項1
    5に記載の3次元オブジェクトをモデリングする方法。 【請求項21】 データおよび制御情報が保管されるメモリと、 前記制御情報に従って前記データを処理するデータプロセッサとを含み、 前記制御情報が、 実世界の3次元オブジェクトのモデルを生成するための階層的に配置された複数のモデルフィーチャオブジェクトを定義するデータ構造を処理する手段と、 追加のモデルフィーチャオブジェクトを定義するためのデータをユーザから受け取る手段と、 前記追加のモデルフィーチャオブジェクトに関連するフィーチャスコープを定義するためのデータをユーザから受け取る手段であって、前記フィーチャスコープが、前記追加のモデルフィーチャオブジェクトによって影響される少なくとも1つの他のモデルフィーチャオブジェクトを決定するように、前記データを受け取る手段と、 前記フィーチャスコープに基づいて前記複数のモデルフィーチャオブジェクトの階層的配置を修正し、これによって、前記実世界の3次元オブジェクトの前記モデルを変更する手段とを備えたことを特徴とするディジタルコンピュータ。
  • 说明书全文

    【発明の詳細な説明】 【0001】 【発明の属する技術分野】本発明は、3次元オブジェクトをモデリングする方法に関し、より詳細には、フィーチャチェーン(feature chain)を使用するモデル管理技術に関する。 【0002】 【従来の技術】計算機援用設計(computer-aided desig
    n、CAD)ソフトウェアを用いると、ユーザが、アセンブリ設計の複雑な3次元(3D)モデルを構成し、操作することができるようになる。 また、複数の異なるモデリング技法を使用して、アセンブリのモデルを作成することができる。 これらの技法には、ソリッドモデリング(solid modeling)やワイヤフレームモデリング(wire
    -frame modeling)、サーフェスモデリング(surface m
    odeling)が含まれる。 ソリッドモデリング技法は、トポロジカル3Dモデリングを提供し、この3Dモデルは、例えば、相互接続された辺および面の集合である。
    幾何学的に、3Dソリッドモデルは、トリミングされたサーフェスの集合である。 トリミングされたサーフェスは、辺によって境界を定められたトポロジ的な面に対応する。 その一方で、ワイヤフレームモデリング技法は、
    単純な3D線の集合としてモデルを表現するのに使用することができ、サーフェスモデリングは、外面サーフェスの集合としてモデルを表現するのに使用することができる。 CADシステムでは、これらのモデリング技法やパラメトリックモデリング技法などの他の技法を組み合わせることができる。 【0003】パラメトリックモデリング技法は、モデルの異なるフィーチャおよびコンポーネントに関するさまざまなパラメータを定義し、さまざまなパラメータの間の関係に基づいて、これらのフィーチャおよびコンポーネントの間の関係を定義するのに使用することができる。 ソリッドモデリングおよびパラメトリックモデリングを、CADシステム内で組み合わせ、パラメトリックソリッドモデリングをサポートすることができる。 【0004】設計技師が、3D CADシステムの通常のユーザである。 設計技師は、3Dモデルの物理的態様および美的態様を設計し、3Dモデリング技法に熟練している。 設計技師は、部品を作成し、部品を1つまたは複数のサブアセンブリに組み立てることができる。 部品に加えて、サブアセンブリが、他のサブアセンブリからなる場合がある。 部品およびサブアセンブリを使用して、設計技師が、アセンブリを設計する。 以下では、部品およびサブアセンブリを、集合的にコンポーネントと呼称する。 【0005】部品は、さまざまな幾何学的ビルディングブロックを使用して構成される。 以下でフィーチャと呼称する幾何学的ビルディングブロックは、まず、2次元プロファイルを作成し、プロファイルを押し出して3次元オブジェクトにすることによって構成することができる。 フィーチャは、2つの主要なカテゴリに分類することができる。 2つの主要なカテゴリは、ボスなどの、部品に素材(material)を追加するのに使用されるフィーチャと、カットなどの、部品から素材を削除すのに使用されるフィーチャである。 【0006】設計技師が、部品を構成しながらフィーチャを作成する順序は、フィーチャベースCADシステムの部品の物理的構造に影響する。 例えば、まず、ブロックを円筒でカットし、その後、カット円筒によって残された空隙内に延びるボスを追加することによって構成される部品は、穴の中にボスの素材がある穴をもたらす。
    動作の順序が逆転され、円筒によるカットの前にボスが追加された場合には、カットが、元のブロックの素材をカットするだけではなく、その後のボスの素材もカットし、内側に素材がない穴がもたらされる。 【0007】一般に、フィーチャベースCADシステムでは、フィーチャが、前にモデルに含まれたすべてのフィーチャに作用し、その後にモデルに導入されるフィーチャに影響しない。 したがって、フィーチャベースモデリングシステムは、ヒストリベースモデリングシステムでもある。 設計技師は、フィーチャの総合的なヒストリ的順序でフィーチャの位置を操作することによって、フィーチャのスコープを制御する必要がある。 市販のフィーチャベースモデリングシステムには、米国マサチューセッツ州ConcordのSolidWorks Co
    rporation社から入手可能なSolidWor
    ks(登録商標)2001Plusソフトウェアシステムが含まれる。 【0008】コンポーネントを単純なフィーチャ操作のシーケンスとして定義するヒストリベースのCADシステムは、同一の原理で作動する。 コンポーネントを再生成するのに必要なデータ(例えば、点、線、および次元)は、1つまたは複数のフィーチャとして保管され、
    コンポーネントは、これらのフィーチャの順序付きリストを保持する。 各フィーチャが、順序付きリストの前のフィーチャからもたらされる幾何学的結果とフィーチャデータをとり、フィーチャの定義に従って幾何形状を変更する(例えば、ある形状のある位置でカットを行うなど)対応する再生成アルゴリズムを有する。 新しいコンポーネントを作成するために、ユーザは、通常、コンポーネントのフィーチャリストに1つずつフィーチャを追加する。 フィーチャを修正するために、ユーザは、単純にフィーチャのデータを変更し、その後、システムが、
    古い結果の幾何形状を削除し、ユーザが元々フィーチャを指定した順序で1つずつ各フィーチャを再生成することによって、コンポーネントを再作成する。 したがって、技術の現在の状態では、ユーザのフィーチャ作成順序が、内部のフィーチャ再生成順序と同一である。 【0009】部品を作成する間に、設計技師がフィーチャを導入し、システムに操作を実行するように指示する順序は、必ずしも直観的ではない。 設計技師は、何度も、フィーチャを異なる順序で導入しなければならないことを発見する前に、部品の設計に膨大な時間を投資してきた。 設計技師が、フィーチャの順序が所望の結果を達成しない(例えば、所望の幾何形状の結果)ことを理解した時に、設計技師は、例えば、部品の階層構造を再配置することによって、部品の定義を修正しなければならない。 【0010】部品の定義を修正する形の1つが、部品を定義するフィーチャを再設計することである。 幾何形状を不正に生成させる順序で導入されたフィーチャを、削除し、幾何形状を正しく生成させる順序で再作成する必要がある場合がある。 したがって、設計技師は、同一のフィーチャをもう一度定義するのに追加の時間を費やさなければならない。 【0011】部品の定義を修正できるもう1つの形が、
    フィーチャヒストリを変更することである。 CADシステムは、フィーチャヒストリを記憶し、フィーチャの階層的集合として設計技師にヒストリを提示することができる。 フィーチャヒストリは、CADシステムによって生成されるウィンドウ(またはウィンドウのセクション)に提示することができる。 設計技師は、フィーチャの描写を階層的集合内の異なる位置にドラッグし、これによって部品のフィーチャヒストリを修正することによって、フィーチャの集合を再配置することができる。 ユーザがフィーチャの階層的集合をグラフィカルに操作できるようにすることによるモデルの修正のシステムが開示されている(例えば、特許文献1参照)。 【0012】 【特許文献1】米国特許第5815154号明細書【0013】 【特許文献2】米国特許第5815154号明細書【0014】 【発明が解決しようとする課題】一部の設計技師は、部品の再設計に時間がかかりすぎると判断する場合がある。 設計技師は、不正な幾何形状を、別のカットと同一のカットを追加することによって簡単に訂正できることに気付く場合がある。 同一のカットは冗長であるが、部品のフィーチャの順序を変更せずに、幾何形状がすばやく訂正される。 【0015】特定の順序でフィーチャを導入するという問題に起因して、部品のモデリングが、大量のプラニングと熟練を必要とする場合がある。 設計技師は、所望の幾何形状結果を得るために、フィーチャを作成する前にフィーチャの正しい順序付けを判定しなければならない。 順序付けの問題は、モデリング処理全体を通じて存在する。 順序付け問題の困難は、モデリング処理が進行するにつれて増大する可能性がある。 というのは、部品がより複雑になるにつれて、設計技師が正しいフィーチャ順序を判定しにくくなるからである。 CADシステムは、設計技師が部品に含まれるフィーチャのヒストリを再配置するのを助けるフィーチャ管理ツールを備える場合があるが、設計技師は、部品が幾何学的に正しいことを保証するために必要な、フィーチャヒストリの分析と部品階層内のフィーチャの再順序付けで苦しむ。 【0016】3Dフィーチャベースモデリングに精通するようになるつもりの設計技師は、フィーチャの順序付けに熟練する必要がある。 フィーチャをどのように導入するのが最善であるかの習得は、3Dフィーチャベースモデリングの技術に精通するのに必要な経験の一部である。 【0017】さらに、フィーチャが、他のフィーチャに依存する場合がある。 例えば、ある穴の位置が、第2の穴の位置に依存する場合がある。 この種の幾何学的依存性は、2つの穴の間のパラメトリック関係を確立することによって定義することができる。 パラメトリック関係にある1つのフィーチャの属性の値が修正される時に、
    パラメトリック関係にあるもう1つのフィーチャの属性の値を、それに応答して自動的に修正することができる。 一般に、設計技師は、部品の階層構造を再順序付けする時に、パラメトリック関係が保存されることを意図する。 まず、依存性を意識し、第2にそれが保存されることを確認する(おそらくは再順序付け処理中に依存性が断たれた場合に依存性を再確立することによって)という重荷が、設計技師に課せられる。 【0018】設計技師は、フィーチャ順序が、物理的に不正な部品の作成をもたらすことに気付くことがしばしばである。 したがって、部品の一部または部品全体を再作成し、部品を構成するフィーチャを再順序付けするか、他の単調で退屈な形で不正な幾何形状を訂正するという重荷が、設計技師に課せられる。 設計技師は、フィーチャの順序および部品を表す最終的な幾何形状に対するフィーチャの順序の影響を制御しながら3Dモデリング処理中に膨大な時間と労を費やすという問題がある。 【0019】本発明は、このような問題に鑑みてなされたもので、その目的とするところは、計算機援用設計システムのユーザは、フィーチャ作成順序およびフィーチャ生成順序が互いに独立である時に、モデルに関してフィーチャを定義する順序を心配する必要がなく、フィーチャ作成順序およびフィーチャ再生成順序の独立性を容易にするために、フィーチャのスコープを決定するようにした3次元オブジェクトをモデリングする方法を提供することにある。 【0020】 【課題を解決するための手段】本発明は、このような目的を達成するために、コンピュータによって実施される3次元オブジェクトをモデリングする方法であって、前記3次元オブジェクトのコンピュータモデルを表すデータを保管するステップであって、該データのそれぞれが、該コンピュータモデルのフィーチャを定義する複数のフィーチャオブジェクトを含みような、前記データを保管するステップと、素材(material)を除去する動作が、同一フィーチャチェーン内の他のフィーチャオブジェクトによって定義されるコンピュータモデルのフィーチャに影響するように操作するが、前記同一フィーチャチェーン内にないフィーチャオブジェクトによって定義されるコンピュータモデルのフィーチャに影響しないように操作し、設計効果をスコープにおいて制限される少なくとも1つのフィーチャオブジェクトを含むフィーチャチェーンを形成するステップと、前記フィーチャオブジェクトからの前記モデルの構成を定義する階層を表す、フィーチャオブジェクト間の相互関係を形成するために複数のフィーチャチェーンを組み合わせるステップとを備えたことを特徴とする。 【0021】また、コンピュータによって実施される3
    次元実世界(real-world)オブジェクトをモデリングする方法であって、実世界の3次元オブジェクトのモデルを階層的に配置された複数のモデルフィーチャオブジェクトとして定義するデータ構造を保管するステップであって、該モデルフィーチャオブジェクトが、前記モデルの生成をもたらすためにモデリングプログラムによって処理されるような、前記データ構造を保管するステップと、追加のモデルフィーチャオブジェクトを定義するデータを受け取るステップと、前記追加のモデルフィーチャオブジェクトに関連するフィーチャスコープを定義するデータを受け取るステップであって、前記フィーチャスコープが、前記追加のモデルフィーチャオブジェクトによって影響される少なくとも1つの他のモデルフィーチャオブジェクトを決定するような、前記データを受け取るステップと、前記追加のモデルフィーチャオブジェクトの前記フィーチャスコープに基づいて、前記複数のモデルフィーチャオブジェクトの階層的配置を修正するステップとを備えたことを特徴とする。 【0022】このように本発明は、フィーチャのスコープを定義するシステムおよび方法を提供する。 いくつかの実施形態では、このシステムおよび方法に、コンピュータモデルのフィーチャを定義するデータを保管することと、少なくとも1つのフィーチャオブジェクトを有するフィーチャチェーンを形成することが含まれる。 フィーチャオブジェクトは、素材を除去する操作が、同一フィーチャチェーン内の別のフィーチャオブジェクトに影響するが、別のフィーチャチェーン内のフィーチャオブジェクトに影響しないように動作するように、設計効果をスコープにおいて制限される。 フィーチャチェーンが、組み合わされ、階層を表すフィーチャオブジェクト間の相互関係を形成し、この相互関係によって、フィーチャオブジェクトからのモデルの構成が定義される。 一態様では、複数のフィーチャオブジェクトを含む順序なしフィーチャリストが読み取られ、コンピュータモデルに素材をつ追加する少なくとも1つのフィーチャオブジェクトが突き止められ、コンピュータモデルから素材を除去し、素材を追加するフィーチャオブジェクトにスコープ定義によって関連付けられる少なくとも1つのフィーチャオブジェクトが、突き止められる。 素材を除去するフィーチャオブジェクトは、素材を追加するフィーチャオブジェクトのそれぞれに対するカット効果を示すためにnever−fill(絶対に充填しない)属性を有することができる。 【0023】さらなる態様に、フィーチャチェーンを最適化することと、再生成順序を規定するフィーチャチェーンの組合せを、部品を生成する処理に入力することが含まれる。 さらに、スコープ定義は、フィーチャオブジェクトの存在、フィーチャオブジェクトの近接、またはフィーチャオブジェクトの存在とフィーチャオブジェクトの近接の組合せに基づくものとすることができる。 実施形態によって、ユーザが、スコープ定義を修正する命令を発行できるようになり、これによって、フィーチャオブジェクトをスコープ定義に含めるか、フィーチャオブジェクトをスコープ定義から除外するかのいずれかが、命令によって明示的に指定される。 さらに、ユーザインターフェースダイアログによって、スコープ定義の明示的指定を容易にすることができる。 【0024】本発明の1つまたは複数の実施形態の詳細を、添付図面および以下の説明で示す。 本発明の他の特徴、目的、および長所は、この説明および図面から、および請求項から明白になる。 【0025】 【発明の実施の形態】以下、図面を参照して本発明の実施例について説明する。 本発明は、設計技師が、フィーチャの順序について心配せずにコンポーネントを設計できるようにする。 これは、フィーチャ作成順序の概念とフィーチャ再生成順序の概念を分離することによって達成される。 したがって、ユーザがコンポーネントにフィーチャを追加する順序は、幾何学的フィーチャ動作(例えば、ボスの適用またはカットの適用)が、基礎となる幾何学的モデルに適用される順序と独立である。 本発明は、ユーザのフィーチャ作成順序と独立にフィーチャ再生成順序を自動的に決定する機構を提供する。 そのような自動化された機構によって、設計技師が、幾何形状を訂正するために部品を再設計することおよび/またはフィーチャの順序を操作することから解放されるので、3
    Dモデリング処理中に膨大な量の時間および労力が節約される。 フィーチャ再生成順序が完全にユーザによって定義され、制御される普通のフィーチャベースモデリングシステムと異なって、本発明は、再生成順序を制御し、これによって、ユーザから大きな重荷を除くだけではなく、フィーチャベースモデリングシステム全体に有益な動的な品質も追加する。 【0026】本発明は、設計技師が、フィーチャを定義する順序への過剰な考慮なしに、フィーチャベースモデルを作成できるようにする。 設計技師に、部品の最終的な幾何形状表現を制御するのにフィーチャ順序に頼ることを要求するのではなく、本発明は、フィーチャをグループ化し、必要に応じてグループ化を自動的に修正するデータ構造を作成する。 グループ化は、フィーチャが作用しなければならないスコープを設計技師が示す時(すなわち、明示的スコープ)、フィーチャのある特性から暗黙(implicit)のスコープが示される時、または、明示的スコープと暗黙のスコープの組合せがそれを示す時に、修正することができる。 部品の定義に寄与するフィーチャの順序付けおよびグループ化の自動化された処理を提供することによって、本発明は、部品の最終的な形状に対する追加の制御を設計技師に与え、コンピュータ化されたモデリングシステムの柔軟性および機能性を強化する。 【0027】図1は、CPU102、CRT104、キーボード入力装置106、マウス入力装置108、および記憶装置110を含むコンピュータ化されたモデリングシステム100を示す図である。 CPU102、CR
    T104、キーボード106、マウス108、および記憶装置110に、一般的に使用可能なコンピュータハードウェア装置を含めることができる。 例えば、CPU1
    02に、Pentium(登録商標)ベースのプロセッサを含めることができる。 マウス108は、CPU10
    2によって実行されるソフトウェアプログラムへのコマンドを発行するためにユーザが押すことができる普通の左右のボタンを有することができる。 他の適当なコンピュータハードウェアプラットフォームが、以下の開示から明白になるように、適用される。 そのようなコンピュータハードウェアプラットフォームは、Microso
    ft Windows(登録商標) NT、Windo
    ws(登録商標) 95、Windows(登録商標)
    98、Windows(登録商標) 2000、Wi
    ndows(登録商標) XP、Windows(登録商標) ME、またはUNIX(登録商標)オペレーティングシステムを動作させることができることが好ましい。 【0028】計算機援用設計ソフトウェアは、記憶装置110に保管され、CPU102にロードされ、CPU
    102によって実行される。 このソフトウェアを用いると、設計技師が、3Dモデルを作成し、修正し、本明細書に記載の本発明の諸態様を実施できるようになる。 C
    PU102は、CRT104を使用して、3Dモデルおよび、以下で詳細に説明する3Dモデルの他の態様を表示する。 キーボード106およびマウス108を使用して、設計技師は、3Dモデルに関連するデータを入力し、修正することができる。 CPU102は、キーボード106およびマウス108からの入力を受け入れて処理する。 CPU102は、3Dモデルに関連するデータと共に入力を処理し、モデリングソフトウェアによる指令に従ってCRT104に表示されるものに対する、対応する適当な変更を行う。 追加のコンピュータ処理ユニットおよびハードウェア装置(例えば、ビデオ装置およびプリンタ装置)を、コンピュータ化されたモデリングシステム100に含めることができる。 さらに、コンピュータ化されたモデリングシステム100に、ネットワークハードウェアおよびネットワークソフトウェアを含め、これによって、ハードウェアプラットフォーム11
    2への通信を可能にすることができる。 本発明を、機械設計以外の応用例に対処する他の計算機支援設計ソフトウェアと共に使用することができることを、当業者は理解するであろう。 【0029】計算機支援モデリングシステムは、モデル設計が完了する前にモデルが修正を受ける時に、設計技師の元の設計意図を保存する能力を有する場合がある。
    パラメトリックモデリングシステム(またはパラメトリックソリッドモデリングシステム)は、設計技師の意図のある態様が保存されることを保証する。 例えば、モデリングソフトウェアの基礎となるデータ構造が、パラメトリックに振る舞う。 例えば、幾何形状、表示属性、およびモデルの一部としてCRT104に表示される注釈が、設計技師がモデルを変更する時に必要に応じて更新される。 当業者は、パラメトリックモデリングシステムを設計する方法を理解するであろう。 【0030】一実施形態では、モデリングシステムが、
    ソリッドモデリングシステムである。 モデルは、ソリッドモデルコンポーネントのアセンブリまたは単に部品とすることができる。 ソリッドモデルは、1つまたは複数のコンポーネントまたはフィーチャのお互いに関する定義をパラメトリックに制約する関係を有することができる。 パラメトリックに制約される関係が、2つのフィーチャの間に存在する場合に、1つのフィーチャに対する幾何学的修正が、他のフィーチャの幾何学的修正を引き起こす場合がある。 本発明は、計算リソースを使用して、フィーチャを順序付けする時に依存性を分析し、依存性が維持されることを保証することによって、再編成される部品構造のパラメトリック関係を保存することができる。 【0031】図2は、CADソフトウェアシステムによって生成され、CRT104に表示されるウィンドウ2
    02を示す図である。 ウィンドウ202は、米国ワシントン州RedmondのMicrosoft Corp
    oration社から入手可能なものなどの普通の市販ソフトウェアプログラミングツールを使用して当業者がプログラムすることのできる普通のコンピュータ生成されるウィンドウである。 【0032】コンピュータ生成される3Dモデル204
    は、ウィンドウ202のモデリング部分206内に表示される。 設計技師は、普通の形で3Dモデル204を構成し、修正することができる。 3Dモデル204のサーフェスを表示することができ、あるいは、3Dモデル2
    04を、3Dモデルの可視の辺および隠された辺を示すために、それぞれ実線と破線を使用して表示することができる。 実施形態には、フィーチャの順序独立のリスト208などの他のウィンドウ領域を含めることができ、
    このリスト208は、設計技師が、モデリング部分20
    6に示されたモデル204を視覚化し、操作するのを助ける。 【0033】図3は、作成中の部品の3つの図を含むウィンドウ302を示す図である。 平面図304、正面図306、および回転された図308によって、この部品が2つのブロックフィーチャ(すなわち上ブロック31
    2および下ブロック314)によって部分的に定義されることが示される。 さらに、平面図304および正面図306から、円の押し出されたプロファイル310が明瞭に示されている。 押し出されたプロファイル310の目的は、部品に円筒形のカットフィーチャを作成することである。 【0034】図4は、押し出されたプロファイル310
    を使用してカットフィーチャ402を作成した後のウィンドウ302を示す図である。 カット402は、上ブロック312および下ブロック314から押し出されたプロファイル310内に位置する素材を削除ることによって作成された。 カット402は、上ブロック312および下ブロック314が、カットフィーチャ402を含める前に部品定義に含まれた(すなわち存在した)場合に、フィーチャの存在に基づくCADシステムで、図4
    に示されているように現れる。 【0035】図5は、カットフィーチャ502が、上ブロック312から減じられなかった部品を含むウィンドウ302を示す図である。 カット502は、下ブロック314がまず部品定義に含まれ、2番目にカットフィーチャ502が部品定義に含まれ、上ブロック312が3
    番目に部品定義に含まれた場合に、フィーチャの存在に基づくCADシステムで図5に示されているように現れる。 したがって、カット502のスコープは、下ブロック314だけである。 【0036】フィーチャの以前の存在に完全に依存するのではなく、本発明を用いると、設計技師が、特定のフィーチャが作用する1つまたは複数のフィーチャを明示的に指定できるようになる。 これによって、設計技師が、特定のフィーチャのスコープにフィーチャを含めるか、スコープからフィーチャを除外できるようになる。
    以下では、別のフィーチャが作用するフィーチャの集合を、「フィーチャスコープ」と呼称する。 フィーチャは、設計技師による指示に従って別のフィーチャから素材を除去する場合に、明示的なフィーチャスコープを有する。 例えば、本発明は、設計技師が、カットフィーチャ502を導入する前に部品定義に上ブロック312および下ブロック314を含めることができ、その後、カットフィーチャ502のフィーチャスコープが下ブロック314だけであることを示し、これによって、図5に示された部品を作成できるようにする。 【0037】部品が設計されている間に、設計技師が、
    フィーチャが設計過程中に導入された順序に起因して、
    部品が物理的に不正であることを発見する場合がある。
    普通のヒストリベースモデリングシステムとは違って、
    本発明は、設計技師が、フィーチャの明示的スコープを指定できるようにする。 ユーザインターフェースコマンドによって、以下に説明するように、フィーチャの明示的スコープの指定を容易にすることができる。 【0038】フィーチャが、暗黙(implicit)のフィーチャスコープを有することもできる。 暗黙のフィーチャスコープの一例が、フィーチャが、設計技師によってそうすることを指示されずに、既存のフィーチャから素材を除去する時である。 これは、フィーチャが部品に導入される順序に起因しておよび/またはフィーチャの物理的範囲によって暗黙のフィーチャスコープが決定される近接計算に起因して、発生する可能性がある。 暗黙のフィーチャスコープの他の例が、第1のフィーチャが、第1または第2のフィーチャの属性に基づいて、第2のフィーチャから素材を除去するか除去しない時である。 そのような暗黙のスコープは、制限的でない例として、カットが、どのフィーチャもそのカットを素材で満たすことができなくなる「never−fill」属性を有するものとして定義される時に生じる。 さらに、ボス(すなわち、素材を追加するすべてのフィーチャ)を、ボスがどのカットによっても影響されないことを意味する、
    ボスがカットのフィーチャスコープに含まれないようにする「never−cut」属性を有するものとして定義することができる。 【0039】フィーチャが、明示的スコープと暗黙(im
    plicit)のスコープの組合せを有することもできる。 例として、「never−fill」属性を、いくつかのアクションによってオーバーライドすることができる。
    そのようなアクションは、特定のフィーチャまたはフィーチャの集合(例えば、複数のフィーチャから構成されるポケットフィーチャ)に関して「never−fil
    l」属性をオーバーライドするようにユーザがモデリングシステムに特に指示する時に発生する可能性がある。 【0040】暗黙のフィーチャスコープおよび明示的フィーチャスコープは、相互に排他的ではない。 すなわち、システムが、フィーチャのスコープを暗黙のうちに決定することができるが、設計技師は、その後に、システムによって決定されたフィーチャスコープを明示的に修正でき、フィーチャスコープを完全に再定義することもできる。 【0041】図4をもう一度参照し、設計技師が、図4
    に示された部品を作成する時に、カット402をまず定義し、それに続いて上ブロック312、その後に下ブロック314を定義すると仮定する。 この場合に、設計技師がシステムにカット402を上ブロック312および下ブロック314に適用するように指示する場合に、上ブロック312および下ブロック314を、カット40
    2のフィーチャスコープに明示的に含めることができる。 設計技師が明示的フィーチャスコープを指定できる1つの形が、設計技師が、カット402を選択した後に、カット402が作用しなければならない1つまたは複数のブロックを選択すること可能にするユーザインターフェースコマンドを、CADシステムが備えることである。 【0042】一実施形態では、ユーザインターフェースに、フィーチャの明示的スコープを指定するコマンドが含まれる。 コマンドを選択した後に、設計技師は、まず、部品から素材を除去するフィーチャを1つ選択でき、その後、部品に素材を追加する1つまたは複数のフィーチャを選択でき、その後、選択が完了したことを示すことができる。 その代わりに、設計技師は、まず、部品に素材を追加する1つまたは複数のフィーチャを選択でき、その後、部品から素材を除去する1つのフィーチャを選択でき、その後、選択が完了したことを示すことができる。 本発明は、選択されたフィーチャを分析し、
    素材を除去するフィーチャが最初に選択されたか、素材を追加する1つまたは複数のフィーチャが最初に選択されたかを判定する。 素材を除去するフィーチャが、素材を追加するフィーチャの選択の間に選択された時には、
    素材を追加する選択されたフィーチャが、部品から素材を除去する選択されたフィーチャのフィーチャスコープに自動的に追加される。 素材を追加する1つまたは複数のフィーチャが、素材を除去するフィーチャの前に選択された時には、部品に素材を追加するフィーチャが、部品から素材を除去するフィーチャのフィーチャスコープから自動的に排除される。 したがって、ユーザインターフェースコマンドの挙動は、最初に選択されるフィーチャのタイプに依存する。 【0043】一実施形態のユーザインターフェースは、
    フィーチャスコープの指定を容易にするダイアログボックスも表示することができる。 このダイアログボックスに、特定のフィーチャのフィーチャスコープに属するフィーチャをリストすることができ、このダイアログボックスを用いて、設計技師が、フィーチャスコープリストにフィーチャを追加またはフィーチャスコープリストからフィーチャを除去することができる。 CADシステムは、ウィンドウのモデリング部分で、フィーチャスコープに属するフィーチャを強調表示することによって、グラフィカルフィードバックを提供することができる。 設計技師は、ダイアログボックスにリストされ、ウィンドウのモデリング部分に表示されるフィーチャの間に関連的関係が存在するように、ウィンドウのモデリング部分のフィーチャを選択して、フィーチャスコープに追加またはフィーチャスコープから除去することもできる。 【0044】図4の参照を続けると、設計技師が、図4
    に示された部品を作成する時に、まず下ブロック31
    4、次に上ブロック312、その後にカット402を、
    ランダムに定義したと仮定する。 一実施形態では、カット402のフィーチャスコープは、上ブロック312および下ブロック314である。 このスコープは、フィーチャ作成時に存在したフィーチャに基づいて暗黙(impl
    icit)のうちに決定することができる、すなわち、ブロック312およびブロック314を、カット402のフィーチャスコープに暗黙のうちに含めることができる。
    というのは、カット402が、上ブロック312および下ブロック314が含まれた後に部品に含まれたからである。 しかし、その後に追加されるボスは、カット40
    2のスコープに暗黙のうちには含まれない。 【0045】暗黙のフィーチャスコープは、フィーチャの前の存在と組み合わせて、近接によって決定することもできる。 暗黙のスコープが近接によって決定される時には、素材を除去するフィーチャのフィーチャスコープに、素材を追加し、素材を除去するフィーチャと体積的に干渉するすべてのフィーチャが含まれる。 カット領域の体積の外にある、素材を追加するもう1つの事前に存在するフィーチャは、素材を除去するフィーチャのフィーチャスコープから除外される。 フィーチャの前の存在と幾何学的近接ならびに他のフィーチャ対フィーチャ関係の組合せを使用して、暗黙のフィーチャスコープを決定することができる。 【0046】図6aは、5つのボス(602−610)
    および円筒形のカット612からなる部品600を示す図である。 フィーチャの存在に加えてフィーチャの近接に基づいて暗黙のスコープを決定する実施形態では、円筒形のカット612のフィーチャスコープは、円筒形のカット612の定義の前に存在し、円筒形のカット61
    2と体積的に干渉するすべてのボスである。 この例について、ボス602−610が円筒形のカット612の前に存在すると仮定すると、円筒形のカット612のフィーチャスコープは、ボス606およびボス608である。 というのは、ボス606およびボス608が、円筒形のカット612の範囲内にあるからである。 【0047】図6bは、ボス610がボス606とボス608の間に位置決めされるように修正された部品60
    0を示す図である。 この部品が、ボス610を再位置決めするように修正される時に、円筒形のカット612のフィーチャスコープは、修正されない。 円筒形のカット612のフィーチャスコープが修正されないのは、この実施形態で、フィーチャスコープを決定する近接および前の存在の判断基準が、フィーチャ作成の時に適用され(部品の後続の再生成の時ではなく)、フィーチャスコープの基礎として働くからである。 フィーチャ作成後に、フィーチャスコープは、設計技師の制御のもとにある。 しかし、円筒形のカット612が「never−f
    ill」属性を有する場合には、ボス610が、移動の後に円筒形のカット612のフィーチャスコープに含まれる。 【0048】本発明の一態様では、フィーチャが動的にグループ化され、順序付けられ、フィーチャのグループ化をどのように組み合わせるかが決定される。 グループ化および各グループ化内のフィーチャの順序は、フィーチャスコープによって決定される。 フィーチャのグループ化を、以下では「フィーチャチェーン」という。 【0049】一実施形態では、同一のフィーチャチェーンに属するフィーチャを、ブール演算子を使用して組み合わせることができる。 さらに、1つまたは複数のフィーチャチェーンを組み合わせて、部品の最終形状を作ることができる。 他のすべてのフィーチャチェーンを整理統合するための1つのフィーチャチェーンが、常に存在する可能性がある。 【0050】フィーチャチェーンでは、3つの体積が維持される。 第1の体積は、素材を追加するすべてのフィーチャを組み合わせる正体積である。 第2の体積は、素材を除去するすべてのフィーチャを組み合わせる負体積である。 第3の体積によって、正体積と負体積が組み合わせられる。 【0051】フィーチャチェーンには、単純フィーチャチェーンと複合フィーチャチェーンの2タイプがある。
    単純フィーチャチェーンは、必ず、素材を追加する1つのフィーチャと、素材を除去する0個以上のフィーチャを有する。 複合フィーチャチェーンは、素材を追加する1つまたは複数のフィーチャまたはフィーチャチェーンと、素材を除去する1つまたは複数のフィーチャまたはフィーチャチェーンを有することができる。 【0052】フィーチャチェーンジェネレータが、フィーチャが追加される時、フィーチャが除去される時、フィーチャスコープが修正される時、またはシェル定義が修正される時に、必ず、単純フィーチャチェーンを作る。 複合フィーチャチェーンは、単純フィーチャチェーンから形成され、最適化処理に入力することができる。 【0053】単純フィーチャチェーンまたは最適化された複合フィーチャチェーンのいずれかが、部品を構成する再構築エンジンへの入力として使用される。 ユーザが順序を指定する責任を単独で負う普通のヒストリベースモデリングシステムと違って、フィーチャチェーンによって、フィーチャの順序が再構築エンジンに指定される。 【0054】図7は、フィーチャチェーンジェネレータによって実行されるプロシージャ700のフローチャートを示す図である。 プロシージャ700では、順序なしフィーチャリストを読み取る(S702)。 順序なしフィーチャリストは、設計技師が最初にフィーチャを定義する時に作成され、追加のフィーチャが定義される時およびフィーチャが削除される時に更新される。 順序なしフィーチャリストが読み取られる時に、プロシージャ7
    00が、フィーチャが部品に素材を追加するかどうかを判定する(S704)。 フィーチャが部品に素材を追加する場合には、単純フィーチャチェーンを作成し、フィーチャーを、その単純フィーチャチェーンの正体積(および第1のフィーチャ)として含める(S706)。 【0055】プロシージャ700で、素材を追加するフィーチャのすべての突き止めを完了した時に、プロシージャ700は、素材を除去するすべてのフィーチャを突き止める。 したがって、プロシージャ700では、順序なしフィーチャリストをもう一度読み取ることができる(S708)。 プロシージャ700では、フィーチャが素材を除去するかどうかを判定し(S710)、そうである場合には、そのフィーチャのフィーチャスコープを判定する。 フィーチャスコープおよびnever−fi
    llインジケータの形のデータが、判定を助けるために、素材を除去するすべてのフィーチャに関連する。 プロシージャ700では、フィーチャが「never−f
    ill」属性を有するカットであるかどうかを判定し(S712)、フィーチャがそうである場合には、各単純フィーチャチェーンにフィーチャを含める(S71
    4)(その代わりに、もう1つの実施形態では、「ne
    ver−fill」カットが、複合フィーチャチェーンだけに追加される)。 フィーチャが、素材を除去するフィーチャであるが、「never−fill」属性を有するカットでない場合には、そのフィーチャのフィーチャスコープを調べる。 その後、フィーチャは、フィーチャスコープ内でフィーチャを正体積として有するすべての単純フィーチャチェーンに、負体積として含まれる(S716)。 【0056】プロシージャ700で、素材を除去するすべてのフィーチャを突き止めた時に、すべてのフィーチャーチェーンを組み合わせるための複合フィーチャチェーンを作成する(S718)。 ブール和集合演算を実行して、すべてのフィーチャチェーンを組み合わせることができる。 フィーチャチェーンを組み合わせた後に、プロシージャ700が完了する。 【0057】図8は、本発明の実施形態に使用することができるデータおよびプロシージャを示す図である。 フィーチャチェーンを生成するために、順序なしフィーチャリスト802の形のデータ、および、素材を除去するフィーチャについて、フィーチャスコープ/never
    −fillインジケータ804の形のデータが、フィーチャチェーンジェネレータ806に入力される。 フィーチャチェーンジェネレータ806は、上述したように、
    フィーチャスコープ/never−fillインジケータ804に鑑みて、順序なしフィーチャリスト802からのフィーチャをグループ化し、順序付ける。 フィーチャチェーンジェネレータからの出力は、一時的フィーチャチェーンデータ808である。 【0058】任意選択として、一時的フィーチャチェーンデータ808を、オプティマイザ810への入力として使用することができる(そうでない場合には、一時的フィーチャチェーンデータ808が、再構築エンジン8
    14に直接に入力される)。 オプティマイザ810の機能は、フィーチャチェーンのサイズを減らし、フィーチャチェーンデータのより効率的な処理を可能にすることである。 フィーチャチェーンのサイズを減らすことによって、フィーチャを処理する必要が生じる回数が減るので、よい効率的な処理が可能になる。 【0059】最適化された一時的フィーチャチェーンデータ812が、オプティマイザ810から出力され、再構築エンジン814への入力として使用される。 再構築エンジン814は、設計技師の入力パラメータと、フィーチャを定義するデータと共に保管される構成幾何形状とに基づいて、フィーチャを個別に再構築する。 本発明は、開示された再構築エンジン(例えば、特許文献2参照)を使用することができる。 【0060】再構築エンジン814の出力が、部品81
    6である。 部品は、幾何形状(例えば、頂点、辺、面、
    およびサーフェス)からなるものとすることができ、かつ/または押出しおよびフィレットなどのソリッドフィーチャが部品の定義に使用される場合にソリッドボディからなるものとすることができる。 さらに、フィーチャを、2次元フィーチャとすることができる。 【0061】フィーチャチェーンの使用の1つの長所は、マルチプロセッサのコンピュータ化されたモデリングシステム内の別々のスレッドまたはプロセッサによって、フィーチャチェーンを再構築できることである。 したがって、本発明の性能が、コンピュータ化されたモデリングシステム内で使用可能なプロセッサの数に釣り合って高まる可能性がある。 【0062】図4に戻って、図4に示された部品について生成されるフィーチャチェーンの例をこれから示す。
    単純フィーチャチェーンは、素材を追加するフィーチャから始まり、素材を追加するフィーチャから素材を除去するすべてのフィーチャを続けることによって作成される。 例えば、図4の上ブロック312および下ブロック314は、素材を追加するが、カット402は、素材を除去する。 したがって、上ブロック312から始まる第1単純フィーチャチェーンF1と、下ブロック314から始まる第2単純フィーチャチェーンF2が、作成され、この両方のフィーチャチェーンに、カット402が含まれる。 さらに、複合フィーチャチェーンF3が、最初の2つのフィーチャチェーンを組み合わせるために作成される。 図4に示された部品を生成するフィーチャチェーンは、以下のようになる。 F1 = 上ブロック312 | カット402 F2 = 下ブロック314 | カット402 F3 = F1, F2 【0063】本明細書のフィーチャチェーンの式では、
    フィーチャチェーンの正体積が、等号の右側で、「|」
    文字の左側にあり、フィーチャチェーンの負体積が、
    「|」文字の右側にある。 「|」文字は、フィーチャチェーン内の正体積および負体積の組合せを表す。 第3の体積は、等号の左側の文字によって表される。 一部の式で、フィーチャチェーンが負体積でない時に、文字「|
    0」を残すことによる速記法を使用する。 【0064】部品定義のサイズを減らし、計算リソースの効率を高めるために、チェーンを最適化することができる。 素材を除去する同一のフィーチャを有するすべてのフィーチャチェーンを整理統合することが、フィーチャチェーンを最適化することができる1つの形である。
    したがって、前の表現では、フィーチャチェーンF1、
    F2、およびF3を、次のように組み合わせることができる。 F4 = 上ブロック312, 下ブロック314 |
    カット402 【0065】図9は、フィーチャチェーンF4のツリー様視覚表現(フィーチャツリー900という)を示す図である。 和集合演算子902によって、上ブロック31
    2と下ブロック314(それぞれノード906および9
    08によって示される)が組み合わせられる。 減算演算子904によって、上ブロック312と下ブロック31
    4の和集合から、カット402(ノード910によって示される)を減ずる。 ツリー900に示されているように、演算904は、子演算902および910に対する親演算であり、演算902は、子演算906および90
    8に対する親演算である。 【0066】一実施形態では、フィーチャチェーンを、
    フィーチャとみなすこともでき、他のチェーン内で使用することができる。 1つのフィーチャ(または1つのチェーン)だけを含むチェーンは、最終チェーンにフィーチャを追加することによって最適化される。 例えば、前述の例の部品に横ブロックが追加される場合に、横ブロックである1つのフィーチャを有する最適化されていないフィーチャチェーンF5と、最適化された最終フィーチャチェーンF6を、次のように表すことができる。 F5 = 横ブロック | 0 F6 = 横ブロック, F4 【0067】図5をもう一度参照すると、図5に示された部品には、カットフィーチャ502が含まれる。 おそらく、設計技師は、下ブロック314を最初に定義し、
    その次にカット502、その次に上ブロック312を定義した。 暗黙(implicit)のスコープが、フィーチャの存在によって決定される場合に、この例では、カット5
    02が、下ブロック314の後、上ブロック312の前に定義されたので、下ブロック314だけに作用する暗黙のスコープを有する。 図5に示された部品を表すフィーチャチェーンは、次のように表すことができる。 F1 = 下ブロック314 | カット502 F2 = 上ブロック312 | 0 F3 = F1, F2 【0068】図10は、図5に示された部品のフィーチャチェーンを表すフィーチャツリー1000を示す図である。 図10では、減算演算子1004が、カット50
    2(ノード1008として示される)によって定義される素材を下ブロック314(ノード1006として示される)から除去する効果を有する。 和集合演算子100
    2によって、減算演算の結果が上ブロック312(ノード1010として示される)と組み合わせられる。 【0069】図5に示された部品は、フィーチャスコープがフィーチャの前の存在によって最終的に決定されない場合に、図4に示された部品に見える。 例えば、カット502が作成される時にカット502について「ne
    ver−fill」属性が指定された場合に、異なる暗黙のスコープがカット502に関連付けられ、素材を追加するフィーチャのすべてが、カット502によって影響され、カット502が、素材を追加するフィーチャのどれによっても絶対に満たされないようにすることができる(「never−fill」属性は、カット502
    の作成の後、および他のフィーチャの後続の作成の後にカット502について指定することができ、後者の場合に、「never−fill」属性によって、明示的スコープ指定をもたらすことができる)。 「never−
    fill」属性を有するカットは、最終フィーチャチェーン内の負体積に追加される。 図5に示された部品は、
    すべてのフィーチャが定義された後に、例えば、上述したように、ユーザインターフェースに設けられるフィーチャスコープコマンドを使用することによって、明示的スコープが指定される場合に、図4に示された部品に見える。 フィーチャチェーンは、明示的フィーチャスコープが指定される時に、必要に応じてフィーチャを再グループ化し、再順序付けするために、自動的に再作成される。 【0070】図11は、部品1100の3つの図を含むウィンドウ302を示す図である。 この部品は、ブロックフィーチャのシェリング(ブロックフィーチャをえぐることを意味する)と、その後、えぐられたブロックフィーチャに円筒形のカット1102を適用することによって作成された。 フィーチャをシェリングする時に、設計技師は、シェルの壁の厚さに加えて、除去する面を指定することができる。 図11では、長方形の面が除去されて、部品1100の内側が見えている。 【0071】2つの異なる種類のシェル演算があるが、
    それは、内向きシェル演算および外向きシェル演算である。 内向きシェル演算では、ソリッドの元の面が、内向きにオフセットされ、部品の内側に新しいシェル面が構成される。 外向きシェル演算では、元の面が外向きにオフセットされ、部品の内側に反転された元の面が残され、部品の外側に新しいシェル面が構成される。 外向きシェル演算では、部品の総合的なサイズが増えるが、内向きシェル演算が完了した後には、部品は同一の総合的なサイズのままになる。 内向きシェル演算は、2部分の動作である。 まず、シェルを定義するフィーチャの面が、標準のオフセット演算で内向きにオフセットされる。 オフセット演算の結果が、ソリッドであり、このソリッドが元のソリッドから減らされ、最終的なシェリングされた結果が残される。 外向きシェルを作成するプロシージャも、2つの別個の動作からなる。 第1動作によって、元のボディが外向きにオフセットされる。 第2動作では、元のボディをオフセットされたボディから減ずる。 部品は、部品内のフィーチャのさまざまなサブセットに影響する複数のシェリングフィーチャを有することができる。 【0072】図11に示された部品のフィーチャチェーンを生成するために、1つのブロックだけからなる第1
    チェーンF1を作成する。 次に、シェルを定義するブロックフィーチャが、フィーチャチェーンF2を形成する(ブロックに加えて1つまたは複数のフィーチャがシェルを定義する場合には、これらのフィーチャのすべてを一緒にグループ化して、フィーチャチェーンF2を形成する)。 内向きオフセット演算を、F2の結果に適用して、O1(すなわちオフセットボディ)を形成する。 次に、オフセットO1をF1から減じて、F3をもたらす。 最後に、円筒形のカットをF3から減じて、フィーチャチェーンF4を形成する。 F1 = ブロック | 0 F2 = ブロック | 0 O1 = オフセット F2 F3 = F1 | O1 F4 = F3 | 円筒形のカット【0073】図12は、前述のフィーチャチェーンのフィーチャツリー表現1200を示した図である。 ノード1204およびノード1208が、F1およびF2の同一のブロックを表す。 ノード1206は、オフセット演算を表し、ノード1208と共に、フィーチャチェーンO1を示す。 ノード1202は、減算演算を表し、オフセットブロックをブロックから減ずる(シェリングされたブロックの作成を引き起こす)ことによって、フィーチャチェーンF3を形成する。 ノード1212は、減算演算を表し、ノード1210によって表される円筒形のカットをシェリングされたブロックから削除ことによって、フィーチャチェーンF4を形成する。 【0074】図13は、部品1300の3つの図を含むウィンドウ302を示した図である。 図13は、円筒形のカット1302が、シェルの定義に含まれる(すなわち、円筒形のカット1302が、オフセット演算に含まれる)ので、図11と異なる。 その結果、図11に示されたようにシェルが円筒によってカットされるのではなく、円筒形のカット1302がシェリングされる。 図1
    3に示された部品1300を表すフィーチャチェーンは、次のように表すことができる。 F1 = ブロック | 円筒形のカットF2 = ブロック | 円筒形のカットO1 = オフセット F2 F3 = F1 | O1 【0075】図14は、図13のシェリングされた部品1300を作るフィーチャチェーンのフィーチャツリー表現1400を示した図である。 元のボディF1を定義するフィーチャチェーンが、ノード1402、140
    4、および1406によって示され、これらのノードは、それぞれ、減算演算、ブロック、およびカットを表す。 同一のフィーチャチェーンF2が、ノード140
    8、1410、および1412によって示される。 オフセットしたボディO1を定義するフィーチャチェーンが、ノード1414(すなわち、オフセット演算)と、
    ノード1414に従属するノードによって表される。 最後に、ノード1416が、元のボディからオフセットされたボディを減ずることによって、フィーチャチェーンF3を形成する。 現在の構成で、F1およびF2が同一であり、したがって、冗長な処理を減らすために最適化できることに留意されたい。 【0076】上述したように、シェルは、2つの別個の動作すなわち、オフセット演算および減算演算によって構成される。 これらの動作への入力として使用されるフィーチャのセットは、異なるものとすることができる。
    オフセット演算への入力として使用されるフィーチャのセットを、「シェル定義」という。 減算演算への入力として使用されるフィーチャのセットを、「シェルスコープ」という。 図11および図12に関して説明した例と、図13および図14に関して説明した例では、シェル定義とシェルスコープが同一である。 しかし、そうである必要はない。 【0077】2つのボスB1およびB2を結合する例を検討されたい。 シェル定義およびシェルスコープに応じて、複数の異なるシェルを、ボスB1およびB2を使用して作成することができる。 例えば、シェル定義およびシェルスコープを、B1およびB2の両方からなるものとすることができる。 その代わりに、シェル定義をB1
    に制限し、シェルスコープをB1およびB2の両方とすることができる。 他の可能な結果は、制限的でない例として、定義およびスコープの両方をB1に制限する時を含む、シェル定義およびシェルスコープに関するB1および/またはB2のさまざまな組合せを使用することによって生まれる。 【0078】フィーチャスコープを定義できる形のこの柔軟性によって、設計者が、そうでなければ普通のヒストリベースのモデラでの作成が非常に複雑になるものを作成できるようになる。 例えば、ローカルシェリング(すなわち、部品のいくつかの部分がシェリングされ、
    それ以外はシェリングされない)は、シェル定義を単純にえぐられるフィーチャに制限することができるので、
    本発明を使用すると非常に単純である。 しかし、普通のヒストリベースのモデリング手法では、設計技師が、ローカルシェルを作成するのに必要なフィーチャの順序および正確なフィーチャグループ化を前もって計画する必要があるので、非常に困難である。 【0079】当業者は、本明細書に記載のモデル管理技術が、部品を構成するアセンブリの設計中に設計技師の時間および労力をかなり節約することを諒解するであろう。 本発明は、以前には大量の手動介入が必要であったことのかなりの自動化を提供する。 フィーチャ順序を熟慮する習慣を持たない設計技師(例えば、2Dでの設計の訓練を受けた技師)は、3次元CADシステムでの作業を開始する時に、順序に関して入念に計画する必要がない。 同様に、3Dでの作業に慣れた設計技師は、もはや、3D CADシステムを使用して部品の構成を開始する前に、フィーチャをどのように順序付けるかを入念に計画する必要がない。 フィーチャを作成する順序は、
    本発明を用いる場合にもはや問題ではなくなる。 【0080】本発明は、ディジタル電子回路で、もしくはコンピュータハードウェアで、ファームウェアで、ソフトウェアで、またはその組合せで実施することができる。 本発明の装置は、プログラマブルプロセッサによる実行のために計算機可読記憶装置内で有形に実施されるコンピュータプログラム製品で実施することができ、本発明の方法ステップは、入力データを操作し、出力を生成することによって本発明の機能を実行するために命令のプログラムを実行するプログラマブルプロセッサによって実行することができる。 本発明は、データ記憶システム、少なくとも1つの入力装置、および少なくとも1
    つの出力装置からデータおよび命令を受け取り、これらにデータおよび命令を送出するように結合された少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムで実行可能な1つまたは複数のコンピュータプログラムで有利に実施することができる。 各コンピュータプログラムは、高準手続き型プログラミング言語またはオブジェクト指向プログラミング言語、もしくは、所望される場合にアセンブリ言語または機械語で実施することができ、どの場合でも、言語は、コンパイルされる言語または解釈される言語とすることができる。
    適当なプロセッサに、制限的でない例として、汎用マイクロプロセッサおよび特殊用途マイクロプロセッサの両方が含まれる。 一般に、プロセッサは、読取専用メモリおよび/またはランダムアクセスメモリから命令およびデータを受け取る。 コンピュータプログラム命令およびデータを有形に実施するのに適する記憶装置には、例えば、EPROM、EEPROM、およびフラッシュメモリデバイスを含む半導体メモリデバイスと、内蔵ハードディスクおよび取外し可能ディスクなどの磁気ディスクと、光磁気ディスクと、CD−ROMディスクとを含むすべての形の不揮発性メモリが含まれる。 前述のどれであっても、カスタム設計のASIC(特定用途向け集積回路)によって補足されるか、それに組み込むことができる。 【0081】本発明の複数の実施形態を説明してきた。
    それでも、さまざまな修正を、本発明の趣旨および範囲から逸脱せずに行うことができることを理解されたい。
    例えば、フィーチャの存在およびフィーチャの近接に対する暗黙(implicit)のスコープに基づく実施形態を、
    相互に排他的とすることができる。 さらに、フィーチャチェーンジェネレータが、フィーチャが移動される時に必ず単純フィーチャチェーンを作成して、部品の後続の再生成でフィーチャスコープを判定するために近接判断基準を適用することができる。 その代わりに、単一の実施形態によって、ユーザに、フィーチャの順序またはフィーチャの近接に基づく暗黙のスコープのどちらに基づくかの選択肢を与えることができ、ユーザが、部品を設計している間にその選択を変更できるようにすることができる。 【0082】実施形態では、動作を実行する順序を変更することができる。 実施形態の必要に応じて、本明細書で説明した特定の動作を、組み合わされた動作として実施するか、除去するか、追加するか、他の形で再配置することができる。 したがって、他の実施形態は、請求の範囲に含まれる。

    【図面の簡単な説明】 【図1】CPU、CRT、キーボード入力装置、マウス入力装置および記憶装置を含むコンピュータ化されたモデリングシステムを示す図である。 【図2】CADソフトウェアシステムによって生成され、CRTに表示されるウィンドウを示す図である。 【図3】作成中の部品の3つの図を含むウィンドウを示す図である。 【図4】押し出されたプロファイルを使用してカットフィーチャを作成した後のウィンドウを示す図である。 【図5】カットフィーチャが、上ブロックから減じられなかった部品を含むウィンドウを示す図である。 【図6a】5つのボスおよび円筒形のカットからなる部品を示す図である。 【図6b】1つのボス610が他のボス間に位置決めされるように修正された部品を示す図である。 【図7】フィーチャチェーンジェネレータによって実行されるプロシージャのフローチャートを示す図である。 【図8】本発明の実施形態に使用することができるデータおよびプロシージャを示す図である。 【図9】フィーチャツリーを示す図である。 【図10】フィーチャツリーを示す図である。 【図11】部品の3つの図を示す図である。 【図12】フィーチャツリーを示す図である。 【図13】部品の3つの図を示す図である。 【図14】フィーチャツリーを示す図である。 【符号の説明】 100 コンピュータ化されたモデリングシステム102 CPU 104 CRT 106 キーボード入力装置108 マウス入力装置110 記憶装置112 ハードウェアプラットフォーム202 ウィンドウ204 3Dモデル206 モデリング部分208 フィーチャの順序独立のリスト302 ウィンドウ304 平面図306 正面図308 回転された図310 プロファイル312 上ブロック314 下ブロック402 カットフィーチャ502 カットフィーチャ

    ───────────────────────────────────────────────────── フロントページの続き (72)発明者 リカルド チン アメリカ合衆国 01545 マサチューセッ ツ州 シュルーズベリー トゥローブリッ ジ レーン 39 (72)発明者 ロバート ピー. スファンテ アメリカ合衆国 01742 マサチューセッ ツ州 コンコルド アンナーズナック ヒ ル ロード 613 (72)発明者 イリヤ バラン アメリカ合衆国 02459 マサチューセッ ツ州 ニュートン バン ワォート パス 7 Fターム(参考) 5B046 FA06 FA18 KA08 5B050 AA04 BA06 BA07 BA10 CA07 EA28 FA13

    高效检索全球专利

    专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

    我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

    申请试用

    分析报告

    专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

    申请试用

    QQ群二维码
    意见反馈