【文献】
中澤 稔,「今日から始める3次元CAD」実践編,CAD&CG magazine,日本,株式会社建築知識,1997年 7月 1日,第1巻,第2号,p.134〜139
(58)【調査した分野】(Int.Cl.,DB名)
三次元モデル化オブジェクトを設計するためのコンピュータ実行方法であって、前記三次元モデル化オブジェクトは、データベースに格納され、前記コンピュータ実行方法が、
− 複数のフィーチャを有する前記三次元モデル化オブジェクトを提供するステップ(S10)と、
− ユーザアクションのあったときに、第1のフィーチャの第1のジオメトリを選択するステップ(S20)と、
− 前記選択された第1のジオメトリに従って少なくとも1つの仕様を前記データベースで問い合わせて検索するステップ(S30)と、
− 少なくとも1つの第2のフィーチャを選択するステップ(S40)と、
− 前記選択された少なくとも1つの第2のフィーチャに、前記データベースから検索された前記少なくとも1つの仕様を適用するステップと
を含むことを特徴とするコンピュータ実行方法。
前記少なくとも1つの第2のフィーチャを選択するステップは、前記第1のフィーチャと同様の少なくとも1つの第2のフィーチャを選択するステップを含むことを特徴とする請求項1乃至3のいずれか1項に記載のコンピュータ実行方法。
前記第1のフィーチャおよび第2のフィーチャは、ともに同じタイプであるとき、同様であるとして検出されることを特徴とする請求項4に記載のコンピュータ実行方法。
メモリおよびグラフィカルユーザインタフェースに結合されたプロセッサを含み、前記メモリは請求項8に記載のコンピュータプログラムを記録していることを特徴とするシステム。
【背景技術】
【0002】
オブジェクトの設計、工学技術、および製造に対して、いくつかのシステムおよびプログラムが市場で提供されている。CADは、コンピュータ支援設計(Computer-Aided Design)の頭字語であり、例えばCADは、オブジェクトを設計するためのソフトウェアソリューションに関連する。CAEは、コンピュータ支援工学(Computer-Aided Engineering)の頭字語であり、例えばCAEは、将来の製品の物理的挙動をシミュレートするためのソフトウェアソリューションに関連する。CAMは、コンピュータ支援製造(Computer-Aided Manufacturing)の頭字語であり、例えばCAMは、製造工程およびオペレーションを定義するためのソフトウェアソリューションに関連する。このようなコンピュータ支援設計システムにおいて、グラフィカルユーザインタフェースは、技法の効率に関して重要な役割を果たす。こうした技法は、製品ライフサイクル管理(PLM)システム内に組み込まれることが可能である。PLMは、拡大企業(extended enterprise)の概念にわたって、会社が製品データを共有し、共通の工程を適用し、構想から耐用期間の満了まで、製品の開発のための企業知識を活用するのに役立つビジネス戦略を指す。
【0003】
(CATIA、ENOVIA、およびDELMIAの商標で)ダッソーシステムズ(Dassault Systemes)によって提供されるPLMソリューションは、製品工学知識を整理するエンジニアリングハブ、製造工学知識を管理する製造ハブ、ならびにエンジニアリングハブと製造ハブの両方への企業統合および接続を可能にする企業ハブを提供する。システムは総合して、製品、プロセス、リソースを結び付けて、動的な、知識ベースの製品作成および決定支援を可能にし、最適な製品定義、製造準備、生産、およびサービスを推進するオープンオブジェクトモデルをもたらす。
【0004】
設計者が使用するCADモデリングソフトウェアが、設計者の設計意図を暗黙的にまたは明示的に取り込む。設計意図という用語は、設計者のプロジェクトの目的または要件を意味する。設計者は、設計意図を明示的に取り込むためのメカニズムとしてフィーチャ仕様(feature specifications)および拘束事項を提供する。フィーチャの仕様は、フィーチャの記述である。
【0005】
実際には、設計者が、モデル化オブジェクトを設計する時間を節約するために、いくつかのフィーチャに同様の設計意図を使用することを望む。さらに、設計者は、あるフィーチャからの設計意図を再利用し、他のフィーチャに同様の設計意図を有することを望むことがある。設計意図の再利用は、詳細には、設計者が最初の設計意図に変更を行って、これらの変更を他のフィーチャに伝播させたいと望むとき、より重要である。
【0006】
一部の知られているCADソフトウェアソリューションは、フィーチャのコピーおよび貼り付けを可能にすること、またはフィーチャの仕様を差し替えることによって、作成されたジオメトリの再利用を可能にする。しかしながら、これらは、フィーチャまたはユーザ選択の子要素に基づいて設計意図を理解するには不十分である。言い換えれば、CADソフトウェアは設計者が再利用したいと望む設計意図を、その設計意図を取り込む表現を設計者が選択することから理解することを、設計者が認識することができる。
【0007】
いくつかのフィーチャにわたって同様の設計変更を行うとき、現在、設計者は、すべてのフィーチャにおいて個々に変更を行う必要がある。数学用語で説明するために、ユーザが1つのフィーチャに設計変更を行うためにnステップを必要とし、他のk個のフィーチャにおいてこのような設計変更を行いたいと思う場合、本質的にユーザは、すべての設計変更を行うためにn×kステップを必要とする。
【0008】
さらに、変更要求の管理は、いくつかの参照ジオメトリに関してジオメトリの複製(edition)を必要とする。この参照ジオメトリは、必ずしも、幾何学的集合における表面(Surface)、平面(Plane)、軸(Axis)など独立した参照ジオメトリではなく、パッドの上端、穴の底部、穴のタイプなど、より暗示的なジオメトリである。
【0009】
現在、知られているCADソフトウェアソリューションのどれも、ユーザのジオメトリ選択に基づいた設計意図を推論することを考慮に入れていない。言い換えれば、現在、ユーザの選択に基づいて、設計者がフィーチャ仕様の粒度レベルで設計意図を再利用できるようにするメカニズムがない。
【0010】
したがって、設計者は、設計者のフィーチャのセマンティクスを他のフィーチャにわたって再利用することができない。
【0011】
この文脈において、フィーチャベースの三次元モデル化オブジェクトを設計するための改善された方法の必要性が依然として存在する。
【発明の概要】
【0012】
したがって、三次元モデル化オブジェクトを設計するためのコンピュータ実行方法が提供され、この三次元(3D)モデル化オブジェクトは、データベースに格納される。この方法は、
− 複数のフィーチャを有する3Dモデル化オブジェクトを提供するステップと、
− ユーザアクションのあったときに、第1のフィーチャの第1のジオメトリを選択するステップと、
− 選択された第1のジオメトリに従って少なくとも1つの仕様をデータベースで問い合わせて検索するステップと、
− 少なくとも1つの第2のフィーチャを選択するステップと、
− 選択された少なくとも1つの第2のフィーチャに、データベースから検索された上記少なくとも1つの仕様を適用するステップと
を含む。
【0013】
この方法は、次のステップのうちの1または複数を含むことができる。すなわち、
− データベースで問い合わせて検索するステップであって、
− 選択された第1のジオメトリが属する第1のフィーチャを識別すること、
− 第1のフィーチャが構築されたプロファイルを識別すること、
− 選択されたジオメトリが生じる、識別されたプロファイルの少なくとも1つのパーツを見つけること、および
− データベースで見つけられた少なくとも1つのパーツと関連する少なくとも1つの仕様を見つけること
を含むステップ、
− プロファイルを識別した後、
− プロファイルを形成するパーツを識別すること、
− プロファイルの各部分にインデックスを作成すること
を含み、
少なくとも1つの仕様を見つけることが、選択されたジオメトリが生じる、プロファイルのパーツと関連するインデックスに従って行われ、
− 少なくとも1つの第2のフィーチャを選択するステップが、第1のフィーチャに似ている少なくとも1つの第2のフィーチャを選択するステップを含み、
− 第1および第2のフィーチャが、ともに同じタイプであるとき、同様であるとして検出され、
− ユーザアクションのあったときに、選択された少なくとも1つの第2のフィーチャに適用される追加の仕様を選択するステップであって、適用するステップが、選択された少なくとも1つの第2のフィーチャに、データベースから検索された上記少なくとも1つの仕様および追加の仕様を適用することを含み、
− 追加の仕様は、第1のフィーチャにおいて識別された仕様のセットの中から選択される、ステップである。
【0014】
コンピュータプログラムがこの方法を行うための命令を含むことが、さらに提供される。
【0015】
コンピュータ可読記憶媒体がそこにコンピュータプログラムを記録されることが、さらに提供される。
【0016】
システムがメモリおよびグラフィカルユーザインタフェースに結合されたプロセッサを備え、メモリはそこにコンピュータプログラムが記録されていることが、さらに提供される。
【発明を実施するための形態】
【0018】
図1のフローチャートを参照して、三次元(3D)モデル化オブジェクトを設計するためのコンピュータ実行方法を提案する。3Dモデル化オブジェクトは、データベースに格納される。この方法は、複数のフィーチャを有する3Dモデル化オブジェクトを提供することを含む。3Dモデル化オブジェクトは、したがって、フィーチャベースの3Dモデル化オブジェクトである。この方法はさらに、ユーザアクションのあったときに、第1のフィーチャの第1のジオメトリを選択することを含む。この方法はまた、選択された第1のジオメトリに従って少なくとも1つの仕様を、データベースで問い合わせることと、データベースで検索することとを含む。この方法は、少なくとも1つの第2のフィーチャを選択するステップをさらに含む。選択された第2のフィーチャは、第1のフィーチャと同様であることが可能である。次に、この方法は、選択された少なくとも1つの第2のフィーチャに、データベースから検索された上記少なくとも1つの仕様を適用することを含む。
【0019】
このような方法が、設計意図を再利用する新しい方法として、ユーザ選択から設計意図を推論することによって、3Dモデル化オブジェクトの設計を改善する。フィーチャのジオメトリ(例えば、ジオメトリの視覚表現)のユーザ選択は、フィーチャと関連して、いくつかの設計意図を取り込む。言い換えると、(1または複数の)仕様の識別は、3Dモデル化オブジェクトのフィーチャのジオメトリのユーザ選択に従って行われる。したがって、セマンティクス(または(1もしくは複数の)仕様)が、3Dモデル化オブジェクトの他のフィーチャ上に取り込まれ、再利用される。これによりユーザは、より少ないステップでいくつかのフィーチャにユーザの設計意図を迅速に伝播させることができる。
【0020】
この方法は、コンピュータで実行される。これは、方法のステップ(または実質的にはすべてのステップ)が、少なくとも1つのコンピュータ、または任意のシステムによって同様に実行されることを意味する。したがって、方法のステップは、場合により完全に自動的に、または半自動的にコンピュータによって行われる。例では、方法のステップの少なくとも一部をトリガすることは、ユーザ−コンピュータの対話により行われることが可能である。必要とされるユーザ−コンピュータ間の対話のレベルは、予測される自動性のレベルによって決まり、ユーザの希望を実行するための必要性とバランスをとることができる。例では、このレベルは、ユーザ定義されるおよび/またはあらかじめ定義されることが可能である。
【0021】
例えば、第1のジオメトリの選択は、ユーザアクションのあったときに行われる。同様に、少なくとも1つの第2のフィーチャを選択するステップは、ユーザアクションのあったときに行われることが可能である。
【0022】
コンピュータ実行方法の典型的な例が、この目的に適合されたシステムを用いて方法を行うことである。システムは、メモリおよびグラフィカルユーザインタフェース(GUI)に結合されたプロセッサを備えることができ、メモリはそこに、方法を行うための命令を含んだコンピュータプログラムを記録している。メモリは、データベースを格納することもできる。メモリは、このような格納に適合された任意のハードウェアであり、場合によりいくつかの物理的個別パーツ(例えば、1つはプログラム用、場合により1つはデータベース用)を含んでいる。
【0023】
「データベース」とは、探索および検索のために整理されたデータ(すなわち情報)の任意のコレクションを意味する。メモリに格納されると、データベースにより、コンピュータによる迅速な探索および検索が可能になる。データベースは、実際には、様々なデータ処理動作と連動して、データの格納、検索、変更、および削除を容易にするように構築される。データベースは、レコードに分解されることが可能であるファイルまたはファイルのセットからなることが可能であり、レコードのそれぞれが、1または複数のフィールドからなる。フィールドは、データストレージの基本単位である。ユーザは、主として問合せによりデータを検索することができる。キーワードを使用し、コマンドをソートして、ユーザは、多くのレコード中でフィールドを迅速に探索し、再配置し、グループ化し、および選択して、使用されているデータベース管理システムのルールに従って、データの特定の集合体に関するレポートを検索するまたは作成することができる。
【0024】
この方法の場合、データベースが、三次元モデル化オブジェクトを含むことができる。3Dモデル化オブジェクトは、複数のフィーチャを有する。データベースは、フィーチャベースの3Dモデル化オブジェクトの各フィーチャの1または複数の仕様を格納することもできる。
【0025】
この方法は、一般的にモデル化オブジェクトを操作する。モデル化オブジェクトは、データベースに格納されたデータによって定義される任意のオブジェクトである。拡張して、「モデル化オブジェクト」という表現は、データ自体を示す。システムのタイプに従って、モデル化オブジェクトは、異なる種類のデータによって定義されることが可能である。システムは、実際には、CADシステム、CAEシステム、CAMシステム、PDMシステム、および/またはPLMシステムの任意の組合せとすることができる。これらの異なるシステムでは、モデル化オブジェクトが、対応するデータによって定義される。したがって、CADオブジェクト、PLMオブジェクト、PDMオブジェクト、CAEオブジェクト、CAMオブジェクト、CADデータ、PLMデータ、PDMデータ、CAMデータ、CAEデータのことを言うことがある。しかしながら、モデル化オブジェクトは、これらのシステムのいかなる組合せに対応するデータによっても定義されることが可能であるので、これらのシステムは、排他的なものではない。したがってシステムは、以下に提供するこのようなシステムの定義から明らかになるように、多分にCADとPLMの両方のシステムであることが可能である。
【0026】
CADシステムとは、少なくとも、CATIAなど、モデル化オブジェクトのグラフィック表現に基づいてモデル化オブジェクトを設計するために適合された任意のシステムを意味する。この場合、モデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータを含む。例えばCADシステムが、面または表面を有するいくつかの場合において、エッジまたは直線を使用してCADモデル化オブジェクトの表現を提供することができる。直線、エッジ、または表面は、例えば、非一様有理Bスプライン(NURBS)など、様々な方法で表すことができる。詳細には、CADファイルが仕様を含み、この仕様からジオメトリが生成され、そして次にジオメトリにより、表現が生成できるようになる。モデル化オブジェクトの仕様は、単一のCADファイルにまたは複数のCADファイルに格納されることが可能である。CADシステムにおいてモデル化オブジェクトを表すファイルの一般的なサイズは、パーツにつき1メガバイトの範囲内である。またモデル化オブジェクトは、一般的に、何千ものパーツの組立品であることが可能である。
【0027】
CADの文脈では、モデル化オブジェクトは、一般的に3Dモデル化オブジェクトであることが可能であり、例えば、パーツもしくはパーツの組立品などの製品、または場合により製品の組立品を表す。「3Dモデル化オブジェクト」とは、その3D表現を可能にするデータによってモデル化される任意のオブジェクトを意味する。3D表現が、すべての角度からパーツを見ることを可能にする。例えば、3Dで表されるとき、3Dモデル化オブジェクトが、その軸のいずれかを中心にして、または表現が表示される画面内のいずれかの軸を中心にして処理され、回転されることが可能である。これは特に、3Dモデル化されていない2Dアイコンを除く。3D表現の表示は、設計を容易にする(すなわち、設計者がそのタスクを統計的に成し遂げる速度を速める)。製品の設計は、製造工程の一部であるので、これは、産業における製造工程を加速する。
【0028】
CADシステムは、履歴ベースとすることができる。この場合、モデル化オブジェクトはさらに、幾何学的フィーチャの履歴を含むデータによって定義される。モデル化オブジェクトは、実際には、標準的モデリングフィーチャ(例えば、押し出し、回転、カット、および/もしくは丸み付け)ならびに/または標準的表面加工フィーチャ(例えば、スイープ、ブレンド、ロフト、フィル、変形、スムージング、および/またはその他)を使用して自然人(すなわち設計者/ユーザ)によって設計されることが可能である。モデル化オブジェクトは、ここではフィーチャベースのモデル化オブジェクトである。このようなモデリング機能をサポートする多くのCADシステムは、履歴ベースのシステムである。これは、設計フィーチャの作成履歴が、一般的に、入力リンクおよび出力リンクを介してともに上記幾何学的フィーチャをリンクさせる非環式のデータフローを介して保存されることを意味する。履歴ベースのモデリングパラダイムは、80年代の初めからよく知られている。モデル化オブジェクトが、2つの永続的データ表現、履歴およびB−rep(すなわち境界表現)によって記述される。B−repは、履歴に定義される計算の結果である。モデル化オブジェクトが表現されるとき、コンピュータの画面上に表示される部分の形状は、B−rep(の埋め尽くし(tessellation))である。パーツの履歴は、設計意図である。基本的に、履歴は、モデル化オブジェクトが受けた操作に関する情報を集める。B−repは、履歴と併せて保存されて、複雑なパーツの表示をより容易にすることが可能である。履歴は、設計意図に従ったパーツの設計変更を可能にするために、B−repと併せて保存されることが可能である。
【0029】
PLMシステムとは、物理的製造品を表現するモデル化オブジェクトの管理に適合された任意のシステムを意味する。PLMシステムでは、モデル化オブジェクトはしたがって、物理的オブジェクトの製造に好適なデータによって定義される。これらは一般的に、寸法値および/または許容値とすることができる。オブジェクトを正確に製造するために、このような値を有することは実によりよいことである。
【0030】
CAMは、コンピュータ支援製造(Computer-Aided Manufacturing)を表す。CAMソリューションとは、製品の製造データを管理するために適合された任意のソリューション、ハードウェアのソフトウェアを意味する。製造データは、一般的に、製造する製品、製造工程、および必要な資源に関連するデータを含む。CAMソリューションが使用されて、製品の製造工程全体を計画し、最適化する。例えば、CAMソリューションが、実行可能性、製造工程の期間、または特定のロボットなど、製造工程の特定のステップで使用されることが可能であるリソースの数に関する情報をCAMユーザに提供することができ、したがって管理または必要な投資についての決定を可能にする。CAMは、CAD工程および潜在的なCAE工程の後の後続工程である。このようなCAMソリューションが、登録商標DELMIA(登録商標)のもとに、ダッソーシステムズによって提供されている。
【0031】
CAEとは、コンピュータ支援工学(Computer-Aided Engineering)を表す。CAEソリューションとは、モデル化オブジェクトの物理的挙動の分析のために適合された任意のソリューション、ハードウェアのソフトウェアを意味する。よく知られて、広く使用されているCAE技法は、一般的に、モデル化オブジェクトを、物理的挙動が計算され、式を通してシミュレートされることが可能である要素に分割することを伴う、有限要素法(FM)である。このようなCAEソリューションは、SIMULIA(登録商標)のもとに、ダッソーシステムズによって提供されている。別の成長中のCAE技法は、CADジオメトリデータなしで、物理(physics)の異なるフィールドからの複数の構成要素を構成する複雑なシステムのモデリングおよび分析を伴う。CAEソリューションは、製造する製品の、シミュレーション、ひいては最適化、改善、および検証を可能にする。このようなCAEソリューションは、登録商標DYMOLA(登録商標)のもとでダッソーシステムズによって提供されている。
【0032】
PDMは、製品データ管理(Product Data Management)を表す。PDMソリューションとは、特定の製品に関連するすべてのタイプのデータを管理するために適合された任意のソリューション、ハードウェアのソフトウェアを意味する。PDMソリューションは、主としてエンジニアであるがプロジェクトマネージャ、財務担当者、販売担当者、および購入者も含む、製品のライフサイクルに関与するすべての関係者によって使用されることが可能である。PDMソリューションは、一般的には製品指向のデータベースに基づく。これにより、関係者は、その製品に関する整合性のあるデータを共有できるようになり、したがって関係者が一致しないデータを使用することが避けられる。このようなPDMソリューション、登録商標ENOVIA(登録商標)のもとでDassault Systemsによって提供されている。
【0033】
図11は、システムのGUIの一例を示し、システムは、CADシステムである。
【0034】
GUI100は、典型的なCAD様インタフェースであってもよく、標準的なメニューバー110、120ならびにボタンおよびサイドツールバー140、150を有する。このようなメニューおよびツールバーは、ユーザが選択可能なアイコンのセットを含み、当技術分野で知られているように、各アイコンが、1または複数の操作または機能と関連付けられる。これらのアイコンのいくつかは、GUI100に表示される3Dモデル化オブジェクト200上で編集するおよび/または動作するために適合された、ソフトウェアツールと関連付けられる。ソフトウェアツールは、ワークベンチにグループ化されることが可能である。各ワークベンチは、ソフトウェアツールのサブセットを含む。特に、ワークベンチの1つが、モデル化された製品200の幾何学的フィーチャを編集するために適している、編集ワークベンチである。操作において、設計者が、例えばオブジェクト200の一部をあらかじめ選択し、その後、適切なアイコンを選択することによって、操作を開始する(例えば寸法、色などを変更する)または幾何学的拘束を編集する。例えば、典型的なCAD操作は、画面に表示された3Dモデル化オブジェクトのパンチング(punching)または折りたたみ(folding)のモデリングである。
【0035】
GUIは、例えば、表示された製品200に関連するデータ250を表示することができる。
図11の例では、「フィーチャツリー(feature tree)」として表示されたデータ250、およびその3D表現200は、ブレーキキャリパおよびディスクを含んだブレーキアセンブリに関係する。GUIは、例えばオブジェクトの3D配向を容易にするための、編集される製品の動作のシミュレーションをトリガするための、様々なタイプのグラフィックツール130、170、180、400をさらに示す、または表示される製品200の様々な属性をレンダリングすることができる。カーソル160が、ハプティックデバイスによって制御されて、ユーザがグラフィックツールと対話できるようにすることが可能である。
【0036】
図12は、システムの一例を示し、このシステムは、クライアントコンピュータシステム、例えばユーザのワークステーションである。
【0037】
この例のクライアントコンピュータは、内部通信BUS1000に接続された中央処理装置(CPU)1010と、同じくBUSに接続されたランダムアクセスメモリ(RAM)1070とを含む。クライアントコンピュータはさらに、BUSに接続されたビデオランダムアクセスメモリ1100と関連付けられたグラフィカル演算処理装置(GPU)1110を設けられている。ビデオRAM1100もまた、フレームバッファとして、当技術分野で知られている。大容量記憶装置コントローラ1020が、ハードドライブ1030などの大容量メモリ装置へのアクセスを管理する。コンピュータプログラム命令およびデータを実体的に具現化するのに適している大容量メモリ装置は、あらゆる形態の不揮発性メモリを含み、例として、EPROM、EEPROM、およびフラッシュメモリ装置などの半導体メモリ装置、内蔵ハードディスクおよびリムーバブルディスクなどの磁気ディスク、光磁気ディスク、ならびにCD−ROMディスク1040が含まれる。前述のいずれも、特別に設計されたASIC(特定用途向け集積回路)で補完される、またはこれに組み込まれることがある。ネットワークアダプタ1050が、ネットワーク1060へのアクセスを管理する。クライアントコンピュータはまた、カーソル制御装置、キーボードなどのハプティックデバイス1090を含むこともできる。カーソル制御装置は、クライアントコンピュータで使用されて、ユーザがディスプレイ1080上の任意の所望の場所にカーソルを選択的に位置付けることを可能にする。加えて、カーソル制御装置により、ユーザは様々なコマンドを選択し、制御信号を入力できるようになる。カーソル制御装置は、システムへの入力制御信号のためのいくつかの信号生成装置を含む。一般的には、カーソル制御装置は、マウスとすることができ、信号を生成するためにマウスのボタンが使用される。代替えとして、または追加として、クライアントコンピュータシステムは、感応型パッド(sensitive pad)および/または感応型画面(sensitive screen)を備えることができる。
【0038】
コンピュータプログラムは、コンピュータによって実行可能な命令を含むことができ、命令は、上記システムに方法を行わせる手段を含む。プログラムは、システムのメモリなどを含む、任意のデータ記憶媒体に記録可能とすることができる。プログラムは、例えば、デジタル電子回路で、またはコンピュータハードウェア、ファームウェア、ソフトウェアで、またはこれらの組合せで、実行されることが可能である。プログラムは、例えば、プログラム可能プロセッサによって実行されるように機械可読記憶装置に実体的に具現化された製品など、装置として実行されることもある。方法ステップは、プログラム可能プロセッサが命令のプログラムを実行して、入力データ上で動作し、出力を生成することにより方法の機能を行うことによって、行われることが可能である。プロセッサは、このようにプログラム可能であり、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスにおいて、データストレージシステムからデータおよび命令を受け取る、ならびにデータストレージシステムにデータおよび命令を送信するように結合されることが可能である。アプリケーションプログラムは、ハイレベルな手続き指向もしくはオブジェクト指向プログラミング言語で、または必要に応じてアセンブリ言語もしくは機械言語で、実行されることが可能である。いずれの場合も、言語は、コンパイル型言語またはインタプリタ型言語とすることができる。プログラムは、完全インストールプログラム、または更新プログラムとすることができる。システム上のプログラムの適用は、いずれの場合も、方法を行うための命令となる。
【0039】
「3Dモデル化オブジェクトを設計すること」は、3Dモデル化オブジェクトを精巧に作り上げる工程の少なくとも一部であるいかなるアクションまたは一連のアクションも示す。したがって、この方法は、ゼロから3Dオブジェクトを作成することを含むことができる。あるいは、この方法は、以前に作成された3Dモデル化オブジェクトを提供すること、次いでこの3Dモデル化オブジェクトを修正することを含むことができる。
【0040】
この方法は、製造工程に含まれることが可能であり、製造工程は、この方法を行った後、モデル化オブジェクトに対応する物理的製品を生産することを含むことができる。いずれの場合も、この方法によって設計されるモデル化オブジェクトは、製造オブジェクトを表すことができる。モデル化オブジェクトは、したがってモデル化ソリッド(すなわち、ソリッドを表すモデル化オブジェクト)とすることができる。製造オブジェクトは、パーツ、またはパーツの組立品などの、製品とすることができる。この方法は、モデル化オブジェクトの設計を改善するので、この方法は、製品の製造もまた改善し、したがって製造工程の生産性を向上させる。
【0041】
ここで
図1を参照して、本発明による方法の一例を論じる。
【0042】
ステップS10において、複数のフィーチャを有する三次元(3D)モデル化オブジェクトが提供される。3Dモデル化オブジェクトは、データベースに格納される。3Dモデル化オブジェクトを提供することは、3Dモデル化オブジェクトのデータが、本発明の方法を実行するCADシステムに利用可能であることを意味する。例えば、3Dモデル化オブジェクトのデータは、CADシステムによって実行されるシーンに提供される。ゆえに、3Dオブジェクトは、3Dシーンにロードされるが、ユーザには必ずしも示されない。3Dモデル化オブジェクトを提供することは、データベースで探索するステップ、およびデータベースから3Dモデル化オブジェクトのデータを検索するステップという2つの連続したステップの結果とすることができる。
【0043】
3Dモデル化オブジェクトは、システムによって自動的に提供されることが可能であり、例えば、以前の設計セッションで設計された3Dモデル化オブジェクトが、自動的に提供される。セッションとは、ユーザがCADシステムと少なくとも一度対話する期間である。実際には、ユーザは、ユーザが設計を行うことを望む度にシステムにログオンし、ユーザがログインするとき、以前の設計セッションがロードされることもある。
【0044】
あるいは、3Dモデル化オブジェクトは、ユーザアクションのあったときに行われる選択の結果として提供されることもある。ユーザは、キーボード、マウス、スタイラス、タッチセンサ式ディスプレイなどのハプティックデバイスを介して選択を実行することができる。例えば、2ボタンマウスでは、左ボタンは、第1の部分および/または第2の部分を選択するために使用されることが可能である。選択は、パーツのリストに行われることがあるが、これに限定されず、リストは、テキストのリスト、またはパーツの2Dもしくは3D表現のリストであることがある。
【0045】
フィーチャという用語は、3Dモデル化オブジェクトのパーツを形成する幾何学的オブジェクトを意味する。3Dモデル化オブジェクトはしたがって、当技術分野で知られているように、フィーチャベースのモデル化オブジェクトである。フィーチャはしたがって、幾何学的特性を有する。フィーチャはさらに、トポロジ的特性を含むことがある。幾何学的特性および(ある場合は)トポロジ的特性は、フィーチャの仕様を形成し、したがってフィーチャの仕様は、フィーチャのジオメトリの記述であり、ルールは、上記フィーチャのジオメトリに適用される。ゆえに、フィーチャは、製品に属し、設計される製品について論理的に考える(reason)ために役立つ(1または複数の)仕様に関連付けられる一般的な形状である。
【0046】
実際には、3Dモデル化オブジェクトのフィーチャは、プロファイルから取得されることが可能であり、このフィーチャは、プロファイルベースのフィーチャと呼ばれる。プロファイルベースのフィーチャの幾何学的形状は、一般的には、二次元形状(プロファイル)から得られ、当技術分野で知られているように、この二次元形状からスイープされたボリュームが得られる。
【0047】
図3は、座繰り穴タイプの穴フィーチャのプロファイルを示し、プロファイルは、接続された4つのパーツ1、2、3、4を含み、したがって接続されたエッジのセットを形成する。各パーツが、2つの頂点を結ぶワイヤと呼ばれることもある。2つの頂点を結ぶワイヤは、直線、曲線など、いかなるタイプであってもよいことは理解されたい。座繰り穴フィーチャは、軸5を中心にプロファイルを回転させることによって形成される。ここでは、プロファイルは、軸5を中心に360°の回転を行った。
図4から7は、
図3に示すプロファイルから得られる座繰り穴フィーチャの異なるビューを示す。プロファイルの回転によって定義されるボリュームに含まれるボリュームは、空であることは理解されたい。プロファイルの各パーツから、ジオメトリが生じる。これは、少なくとも1つのジオメトリが、パーツによってスイープされた表面から作成されることを意味する。
【0048】
次に
図6を参照すると、陰影線(hatched line)は、
図3に表されるプロファイルのパーツ1から得られるジオメトリを示す。結果として生じるジオメトリは、円柱の全体的形態を有する表面である。
【0049】
次に
図4を参照すると、陰影線は、
図3に表されるプロファイルのパーツ2から得られるジオメトリを示す。エッジ2によってスイープされた表面から円盤が得られる。
【0050】
次に
図5を参照すると、陰影線は、
図3に表されるプロファイルのパーツ3から得られるジオメトリを示す。ここでは円柱が得られる。
【0051】
次に
図7を参照すると、陰影線は、
図3に表されるプロファイルのパーツ4から得られる円錐表面を示す。
【0052】
したがって、
図4から7に表される座繰り穴フィーチャは、4つのジオメトリを含み、各ジオメトリがプロファイルのパーツから生成される。フィーチャの各ジオメトリについて、ジェネレータが関連付けられる。ジェネレータという用語は、ジオメトリが生成されるプロファイルのパーツを意味する。
【0053】
図1に戻ると、ステップS20において、ユーザは、第1のフィーチャの第1のジオメトリを選択する。選択は、キーボード、マウス、スタイラス、タッチセンサ式ディスプレイなどのハプティックデバイスを介して実行されることが可能である。選択は、例えばジオメトリのリストに、行われることが可能であり、リストは、パーツのテキストのリスト、または2Dもしくは3D表現のリストであってもよい。例えば、2ボタンのマウスの左ボタンは、マウスのカーソルが、ジオメトリの表現の上にあるとき、第1のジオメトリを選択するために使用されることが可能である。
図6で、ユーザは、ディスプレイに表された座繰り穴フィーチャの円柱を選択しており、選択されたフィーチャの表現は変更され、どのジオメトリが選択されたかをユーザに示すために、円柱の輪郭は陰影線で表される。
【0054】
次いで、ステップS30において、3Dモデル化オブジェクトが格納されているデータベースは、選択された第1のジオメトリに従って少なくとも1つの仕様をデータベースから検索するために、問い合わせされる。したがって、ステップS20におけるジオメトリの選択は、上記選択されたジオメトリに関連付けられた1つ(または複数)の仕様の識別をトリガする。
【0055】
説明のために、
図2を参照してステップS30の例を次に説明する。この例では、3Dモデル化オブジェクトのフィーチャは、データベースに格納されたプロファイルベースのフィーチャである。各プロファイルベースのフィーチャについて、少なくともフィーチャのプロファイルおよび仕様は、データベースに格納される。フィーチャの各仕様と関連付けられることが可能である値は、仕様と合わせて格納されることが可能である。データベースはさらに、プロファイルのパーツから生じるジオメトリを格納することができる。実際には、ジオメトリは、フィーチャがインスタンス化され、データベースに格納されるとき、作成される。作成されたジオメトリは、一時的にデータベースに格納されることが可能である。
【0056】
ステップS300において、第1のジオメトリのユーザによる選択の後、選択されたジオメトリが属するフィーチャが識別される。識別は、当技術分野で知られているように行われる。実際には、この方法を行うシステムは、フィーチャの識別によりジオメトリの直接的識別が可能になり、逆に、ジオメトリの識別により、それが属するフィーチャを推論することが可能になるように、各インスタンス化されたフィーチャのジオメトリを格納する。したがって、ジオメトリと属するフィーチャとの間にマッピングが存在する。
【0057】
次いで、ステップS310において、ステップS300で識別されたフィーチャが構築されたプロファイルが識別される。上述のように、各プロファイルベースのフィーチャのプロファイルがフィーチャと併せて格納されるので、この識別は、データベースで直接行われる。データベースで識別することは、データベースで問い合わせすることと同義である。
【0058】
次に、ステップS320において、プロファイルを形成しているパーツが識別される。これらの情報は、フィーチャのプロファイルとともに格納されることが可能である、すなわち、プロファイルを形成しているパーツのセットは、データベース上に格納される。
【0059】
あるいは、プロファイルのパーツのセットは、例えば、プロファイルを形成している結合されたエッジのセットを探索することによって、データベースに格納されているプロファイルから推測されることが可能である。例えば、パーツは、あらかじめ定められた方法で格納されることが可能であり、例えば、座繰り穴は常に、パーツを穴の上部から下部に格納することになる。
【0060】
次いでステップS330において、プロファイルの各パーツにインデックスを作成される。これは、プロファイルの各パーツが、一意の識別子と関連付けられることを伴う。例えば、
図3に示すプロファイルのパーツは、各パーツが、各パーツを識別可能にする数値1、2、3、4と関連付けられるようにインデックスを作成されている。したがって、インデックス作成によりパーツを順序付けることが可能である。
【0061】
プロファイルの1または複数のパーツのインデックス作成は、フィーチャのプロファイルに関連した情報とともにデータベース上に格納されることが可能であることは理解されたい。この場合、プロファイルの各パーツにインデックスを作成することは、各パーツと関連付けられたインデックス値がデータベースで識別されることを意味する。あるいは、インデックスは、データベースに格納されず、パーツの順序は各穴タイプについて知られており、したがってインデックスは容易に識別されることがある。
【0062】
プロファイルの各パーツにインデックスが作成されると、パーツおよびプロファイルのパーツの情報を個々に選択することが可能となる。
【0063】
次に、ステップS340において、選択されたジオメトリが生じる少なくとも1つのパーツが、データベースで見つけられる。実際には、1つの選択されたジオメトリに対して1つの単一パーツが見つけられ、パーツから2つ以上のジオメトリが生じる可能性があると理解される。上に論じたように、データベースは、プロファイルのパーツから生じるジオメトリを格納する、または一時的に格納することができる。したがって1つのパーツの識別は、データベースを使用して、例えば、ジオメトリとリレーショナルデータベースに格納されたパーツとの関係を使用して、行われることが可能である。
【0064】
次いで、ステップS350において、ステップS340において見つけられた少なくとも1つのパーツと関連する少なくとも1つの仕様が、データベースで見つけられる。実際には、ステップS330において行われるパーツのインデックス作成は、仕様を識別するために活用される。実際に、データベースは、仕様とプロファイルのパーツとの間のマッピングを格納し、マッピングは、関連する仕様を識別するために、パーツのインデックス作成を使用する。上に論じたように、フィーチャの仕様は、フィーチャのプロファイルおよびプロファイルの(1または複数の)パーツから生じるジオメトリとは別に格納される。
【0065】
ジオメトリの選択に基づく仕様をデータベースで見つけるためのステップS300からS350のアルゴリズムについて、次に
図4から7および
図9から10を参照して示される。この例では、
図9に示すように、パッド98に4つの穴フィーチャがある、グラフィカルユーザインタフェース(例えば
図11のGUI100)に表示された3Dモデル化オブジェクトを検討する。穴フィーチャ90は、座繰り穴のタイプであり、穴フィーチャ92、94、96は、貫通穴のタイプである。タイプという用語は、フィーチャが属する穴の種類を意味する。例として、穴が、貫通穴、カウンターシンク、止まり穴、……のタイプであることがあるが、これらに限定されない。この例ではパッド98もまたフィーチャである。
【0066】
データベースは、
図9に表される3Dモデル化オブジェクト、すなわちフィーチャ90、92、94、96、および98のデータを格納する。データベースは、リレーショナルデータベースとすることができる。フィーチャに関連するデータは、以下を含む。すなわち、
(i)貫通穴タイプの穴フィーチャのプロファイル
(ii)
図3に示すようにプロファイルの4つのパーツが、インデックス値1、2、3、4とそれぞれ関連付けられた、座繰り穴タイプの穴フィーチャのプロファイル
(iii)パッドフィーチャのプロファイル
(iv)プロファイルの各パーツから生じるジオメトリ
(v)各フィーチャのタイプ
(vi)(ある場合は)プロファイルの各パーツと関連付けられた仕様
というフィーチャである。
【0067】
パーツは、仕様と関連付けられないことがあることを理解されたい。パーツと仕様との間のマッピング(関係と言うこともできる)は、パーツの指数化を介して保持される。座繰り穴タイプの穴フィーチャについて、
図8に仕様の例を示す。この例では、座繰り穴は、直径15mmを有し、穴径は、10mmに等しい。
【0068】
ユーザは、穴90の座繰り面を選択する。面ジオメトリの選択後に、穴フィーチャはデータベースで識別される。ところで、フィーチャを識別しながらフィーチャタイプもまた推論され、ここではフィーチャは、座繰り穴タイプである。
【0069】
次いで、フィーチャのプロファイルおよびパーツが、データベースで識別される。その後、インデックス1を作成され、選択された面ジオメトリと関連するパーツは、データベースで見つけられる。
【0070】
この後、選択されたジオメトリが生じるパーツのインデックスは1であるので、データベースで推論される仕様は、穴フィーチャの選択された面は穴の座繰りを一意的に表すということである。さらに、選択されたジオメトリはまた、座繰り直径仕様を表す。したがって、この例では、2つの仕様、穴のタイプ(座繰り)および穴の直径(15mm)が、識別されるパーツと関連付けられる。
【0071】
ユーザがインデックス2を作成されたパーツから生じるディスクを選択した場合、データベースで推論される仕様は、座繰り穴の深さである。
【0072】
ユーザが
図3に表されるプロファイルのパーツ3から得られるジオメトリ(円柱)を選択した場合、検索される仕様は、穴の直径である。
【0073】
別の例として、ユーザが
図3に表されるプロファイルのパーツ4から生じる円錐表面を選択した場合、検索される仕様は、穴の底型(bottom-type)である。
【0074】
図1に戻ると、ステップS40において、少なくとも1つの第2のフィーチャが選択される。選択は、ユーザアクションのあったときに行われることが可能である、または選択は、本発明による方法を行うシステムによって自動的に選択されることが可能である。
【0075】
実際には、選択された第2のフィーチャは、選択された第1のフィーチャと同様である、すなわち第2のフィーチャは、第1のフィーチャとほぼ同じである。自動的に選択されるとき、システムは、第1のフィーチャと共通の特性の最も重要な番号を有するフィーチャを探索する。特性とは、ジオメトリ、ジオメトリと関連付けられた仕様を伴う。一般的に、第2のフィーチャは、第1のフィーチャと同じタイプである。例えば、
図9を参照すると、第1のフィーチャ90も第2のフィーチャ92も穴タイプであり、これは、これらの2つのフィーチャが同様のジオメトリおよび仕様、例えば穴の直径を有することを意味する。
図9では、数個の穴フィーチャ92、94、96が自動的に選択される。
【0076】
次いで、ステップS50において、第1のフィーチャの仕様のセットが、データベースで識別される。これは、一般的には、第1のフィーチャのプロファイルのパーツにマップされる仕様をすべて探索することによって行われる。
【0077】
次いで、ステップS60において、ユーザは、(1または複数の)選択された第2のフィーチャに適用される追加の仕様を選択することができる。追加の仕様は、ステップS50で識別されたセット中で選択される。選択は、
図8に示すようにフィーチャ仕様パネル(feature specifications panel)を介して行われることが可能であり、パネルの左部分は、座繰り穴フィーチャに対して推論される仕様のリストをユーザに提供し、パネルの右部分は、ユーザによって選択される仕様、ここでは底型および底角度(Bottom Angle)を示す。
【0078】
次いで、ステップS70では、ステップS30でデータベースから検索された仕様が、(1または複数の)選択された第2のフィーチャに適用され、例えば、仕様の値が、選択された第2のフィーチャに適用される。ユーザがステップS60において1または複数の追加の仕様を選択した場合は、これらの仕様は、(1または複数の)選択された第2のフィーチャにも適用される。フィーチャに仕様を適用することは、その仕様およびその仕様と関連する値がフィーチャに影響を与えるように、フィーチャが修正されることを意味する。言い換えれば、(1または複数の)仕様の伝播が行われる。
【0079】
次に
図10を参照すると、ユーザによって選択された穴90の座繰り面と関連する仕様およびステップS60においてユーザによって選択された仕様が、各フィーチャ92、94、96に適用された、
図9の3Dモデル化オブジェクトが示されている。ここでは、以下の3つの仕様が、各フィーチャ92、94、96に適用される。すなわち、座繰り穴、底型、および底角度の3つの仕様である。こうした3つの仕様を適用することによって、フィーチャ92、94、96は、これらが貫通穴ではなく座繰り穴タイプとなるように修正され、これらの底部は、所与の角度値を有する円錐底部を形成するように修正される。例えば、穴のタイプを記述する仕様の値は、「Simple」から「Counterbored」に変更される。この後フィーチャの構築が続く。フィーチャを構築することは、新しい値(座繰りタイプの穴)の影響を与え、穴のジオメトリおよびトポロジに明示される。
【0080】
データベースで検索されたおよび/またはユーザによって選択された(1または複数の)仕様の伝播は、次のステップを行うことによって実行されることが可能である。すなわち、
1.ユーザによる選択されたフィーチャのリストを繰り返す
2.ユーザによって選択された各フィーチャに対して
a.伝播させる仕様のリストを検索する
b.リストの各仕様に対して
i.第1のフィーチャから(1または複数の)第2のフィーチャに伝播される仕様の値を検索する
ii.仕様の値を(1または複数の)第2のフィーチャに伝播させる
というステップである。
【0081】
本発明の好ましい実施形態について説明した。本発明の趣旨と範囲を逸脱することなく、様々な変更を行うことができることは理解されよう。したがって、他の実行も添付の特許請求の範囲の範囲内である。例えば、フィーチャは、非プロファイルベースのフィーチャとすることができる。この場合、非プロファイルベースのフィーチャを表す選択されたジオメトリは、検索されることが可能である。選択されたジオメトリに関連する仕様は、選択のセマンティクスを表す。したがって、非プロファイルベースのフィーチャについては、フィーチャのプロファイルを推測する必要がない。非プロファイルベースのフィーチャを表すジオメトリに関連する(1または複数の)仕様は、フィーチャのジオメトリの選択のあったときに推論される。