説明

CADデータのロード装置

【課題】完全ロードを指定されていないモデルのうち、必要なモデルについて使用者の指定なく完全ロードし、完全ロードを指定されていないモデルについて使用者が参照、編集などの表示データ以外を使用する操作をした場合に完全ロードによる待ち時間の発生を抑制する自動ロード判定装置を提供する。
【解決手段】メインメモリの空き領域に、必要とされるモデルを妥当な範囲で完全ロードする。つまり、使用者に指定されたモデルについてだけ完全ロードするのではなく、必要とされるモデルをあらかじめ予測し、最大でメインメモリの容量が許す範囲で完全ロードを実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CADデータをロードする装置に関し、特に、設計対象物を構成する全モデルのうち、部品の表示データ以外のデータをロードするCADデータのロード装置に関する。
【背景技術】
【0002】
CADシステムでは、高機能化のため形状だけでなく形状を構成するフィーチャ情報や寸法や注記などのアノテーション情報や材料情報など、さまざまなデータが必要となる。その為、それらのデータをCAD上で扱う場合には、全てのデータをメモリに展開する必要があり、データのロード時間を要し、また、多くのメモリを消費してしまうなどの問題がある。
特に、大規模なアセンブリなどのロードには多くの時間を要し、多くのメモリを消費する。
【0003】
一般的に、CADシステムで設計する場合、特に大規模アセンブリになると、自分が担当となるユニットや、その時に設計を行うユニットは一部分である事が多い。そして、ほとんどの場合、自己の担当ユニット以外である他のユニットは自分の設計対象物の全体での位置を確認することなどのために使われるのみであって、形状データだけがあれば事足りる。
こうしたことから、一般的なCADシステムでは、表示データ(ポリゴン・ファセット)のみをロードするオプション機能を備えている。
【0004】
つまり、使用者は完全ロードするオプション機能を使用し、担当ユニットのみについて幾何データ、属性データ、アノテーションデータなどの表示データ以外のデータまでをロード(完全ロード)し、それ以外の他のユニットについては表示データのみをロード(表示ロード)する。こうすることで、CADシステムで使用するメモリ量は抑えられ、スワップなどの処理がOS(Operating System)により実行されることなく快適に使用することができる。
ところで、CAD処理装置のメインメモリにロードする技術が、特開平6−75774号公報に開示されている。
【0005】
この公開公報に開示のCAD処理装置は、装置上にローディングされているツールプログラム以外のツールプログラムを使用者が選択した場合で且つメインメモリの空き領域がない場合に、アンロードするツールプログラムの指定を受け、ツールプログラムをアンロードして該当メモリ領域を解放した後に、使用者が指定したツールプログラムをロードするものである。
【特許文献1】特開平6−75774号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、完全ロードするオプション機能を具備する前説のCADシステムは、完全ロードが指定されていないモデルについてメモリに展開されているのは、表示に必要なデータだけであり、表示データ以外のデータを必要とするモデルの計測のための参照や編集をそのままの状態では実行することができない。図9は、大規模アセンブリモデルのアセンブリツリーである。メモリの消費を最小限にするために、全て表示データでロードする。表示データはポリゴンデータになっており、正確な形状にはなっていない。よって、表示データのみをロードしている今の状態では表示以外の数学的な処理を実行することができない。
【0007】
その為、完全ロードが指定されていないモデルを参照、編集する場合、その対象となるモデルについて例えば図示したアセンブリツリー上で完全ロードを使用者がマウスなどの入力装置で指定して活性化(アクティブ化)させ(図10参照)、そのタイミングで幾何データや属性データ、アノテーションデータなどの表示データ以外のデータをファイルからロードしなおす必要があり、内容データをロードしている間使用者の設計を中断してしまうという課題を有する。図10では、丸囲みした部品を完全ロードするように使用者が指示するために、丸囲みした部品を入力装置を介して選択したことを示している。
【0008】
ここで、CADシステムのレスポンスは1〜3秒以内にしないと、設計者の思考を妨げてしまう。そして、ファイルからのロードは多くの場合その秒数を超えてしまい、設計者の思考を妨げる。この場合、多くの設計者は編集作業を行っているだけでロードしているという意識は無く、設計者に与えるストレスは多大なものとなる。
【0009】
本発明は前記課題を解決するためになされたものであり、使用者が指定して完全ロードするモデル以外の完全ロードを指定されていないモデルのうち、必要なモデルについて使用者の指定なく完全ロードし、完全ロードを指定したモデル以外の完全ロードを指定されていないモデルについて使用者が参照、編集などの表示データ以外を使用する操作をした場合に完全ロードによる待ち時間の発生を抑制する自動ロード判定装置を提供することを目的とする。
【課題を解決するための手段】
【0010】
現在のコンピュータ・システムは、従来と比べると半導体記録素子の集積化が進み、単位あたりの販売価格を随分下がっていることから大容量のメモリを備えるものが多い。特に、CADシステムを構築するコンピュータ・システムではメモリ容量が大容量化している。一方で、CADシステムで設計する設計対象物の複雑化によりそのデータ量も年々増加傾向にある。しかし、1モデルの表示データ及び内容データの全データだけでメインメモリを圧迫することはなく、他のモデル表示データだけでなく内容データまでをロードする余裕はある。そこで、メインメモリの空き領域に、必要とされるモデルを妥当な範囲で完全ロードする。つまり、使用者に指定されたモデルについてだけ完全ロードするのではなく、必要とされるモデルをあらかじめ予測し、最大でメインメモリの容量が許す範囲で完全ロードを実行する(図1参照)。そうすることで、使用者が指定した以外のモデルについて操作する場合に、そのモデルがあらかじめ予測されたモデルであれば、既に完全ロードが完了しており、使用者に対しモデルの完全ロードに必要な時間を待たせることなく、設計を継続して行うことができる。
【0011】
ここで、設計対象物を構成する全モデルの中で使用者が完全ロードを指定したモデル以外の完全ロードされていないモデルは多数あり、どのモデルが使用者にとって必要とされるかを予測する必要がある。本発明では完全ロードされていないモデルの中で優先順位を決定し、上位の優先順位のモデルについて完全ロードを実行する。モデルの優先順位の決定には、次の列挙する情報を使用する。
・最終参照日時が新しい。
・最終保存日時が新しい。
・参照回数が多い。
・保存回数が多い。
なお、どれだけのモデルについて完全ロードするかは、その時のメモリの空き状態から判断する。たとえば、全メモリ容量のうち所定閾値[%]までを使用する。
【0012】
上記の条件は例であり、それぞれ単独の条件として用いることもできるが、複数の条件を組合せて用いることもできる。後者の場合、例えば、参照日時、保存日時、参照回数、保存回数をパラメタ化し、各モデル優先度の重みを決定する。そして、1回のデータアクセスに付きそれぞれポイントを決める。また、このポイントはデータアクセスが現在の日時に近い程高いポイントを設定する。例えば、以下のような式で重みを決定する。
[日付によるモデルの優先度の考え方]
【0013】
【数1】

【0014】
この(1)式より、参照回数が多く、且つ、現在の日時に近い時点の参照が高い日付ポイントを得ることになる。したがって、アクセス回数が多くとも、そのアクセスの殆どが現在よりも相当過去であるモデルに対する日付ポイントは低くて優先度も低く、逆に、アクセス回数が少なくとも、そのアクセスの殆どが最近であるモデルに対する日付ポイントは高くて優先度も高くなる。つまり、前者のモデルは後者のモデルよりも優先順位が低く、メモリの空き状態にもよるが、後者のモデルは完全ロードするものの、前者のモデルは完全ロードしない場合が生じる。
【0015】
[機能別の優先度の考え方]
参照日時と保存日時を分けている事により、目的とする機能(例えばモデルを編集する機能や参照する機能)で重要度の予測を使い分ける事が出来る。例えば、モデルの体積を測定する機能を実行中にモデルロードの優先度を求める場合、その機能は参照が必要であり保存は不要であるため、保存のパラメタ(保存回数、保存日時)は無効とし、参照のパラメタ(参照回数、参照日時)を有効として優先度を求めることもできる。次式(2)にあてはめれば、保存のパラメタを無効とし参照のパラメタを有効とするためにはα2を0として日付ポイントを求めればよい。逆に、参照のパラメタを無効とし保存のパラメタを有効とするためにはα1を0として日付ポイントを求めればよい。なお、0にしなくともα1(又はα2)をα2(又はα1)に比べ十分に小さくすることでも同様の日付ポイントを求めることができる。
なお、説明の便宜のため、参照日時に関する式(右辺式左側)と保存日時に関する式(右辺式右側)が明らかに分かれている式(2)を用いた。
【0016】
【数2】

【0017】
[ユニットによるモデルの優先度の考え方]
アセンブリを構成する1ユニット内に複数種類の部品があり、その中の1つの部品が保存された日時が新しい場合、単なる仕様変更と考えられる。他方、同一ユニット内の複数部品の保存日付が新しい場合、同一ユニットに含まれる残りのユニットもこれから編集・保存させる可能性が高いと判断できる。したがって、この場合には同一ユニット内の全部品の優先度を高めに設定した方が良い。
【0018】
例えば、ある部品の同一ユニット内に、その日に編集された部品が、ある所定閾値数だけ存在すれば、その部品のポイントを5割増しにするなどで、その部品の重みを高くする。この所定閾値(絶対数、又は、ユニット内の比率など)及びポイントの増加率は使用者がパラメタで指定できるものとする。
【0019】
[インデックスファイル]
ファイルへのアクセス回数は少ない方が良いため、優先順位を判断するための情報を取得するために全モデルにアクセスする必要が無いよう、優先順位付けに必要な各ファイルの属性は、インデックスファイルを設けて一箇所に集め、そのファイルにだけアクセスすれば分かるようにしておく。
【0020】
[メモリの空き状況]
メモリの判断については、アセンブリのロードを開始した時点の空きメモリを測定し、その空きメモリの70[%]程度などの所定閾値を設け、その所定閾値まで完全ロードする。逆に、CADシステム又は本発明が使用してはならない空きメモリについて空きメモリの30[%]程度などの所定閾値を設け、その所定閾値まで完全ロードする構成であってもよい。目的はスワップ(メモリ空間の情報をハードディスクに退避すること)などで仮想記憶の使用を抑制するためである。この所定閾値は利用者が指定できるものとする。ここでは、空きメモリに対する比率を所定閾値としてその所定閾値まで必要な部品を完全ロードすることと説示したが、空きメモリではなく物理メモリ又は仮想メモリも含めたメモリに対する比率を所定閾値としてもよい。また、比率としたがメモリ量であってもよい。
【0021】
[新たな完全ロードをトリガとした解放処理]
使用者に指定されず、優先度も低かったために、完全ロードできなかったモデルについて、編集が必要になって活性化(アクティブ化)する場合に、完全ロードを行う。このとき、メモリの空き状況を確認し、必要性に応じて既に完全ロードしているモデルのうち優先順位の低い物から所定条件を満たすまで開放する。メモリの開放時にはそれに係るモデルを必要に応じて保存する。
【0022】
以上、説示した発明について項目に分けて記す。
(1)
本発明に係るCADデータのロード装置は、CADシステムによって生成された設計対象物を構成する部品を表示ロードし、使用者が指定した部品を完全ロードするCADデータのロード装置であって、管理モデルを構成する部品を取得する手段と、取得した部品の参照及び/又は更新に基づき優先順位を求める手段と、許容されるメモリ量まで優先順位の高い部品を完全ロードする手段と、完全ロードしない部品を表示ロードする手段とを含むものである。
【0023】
このように本発明においては、部品の参照、更新から優先順位を求め、その優先順位に従い許容されるメモリ量まで部品を完全ロードするので、完全ロードを指示されていない部品に対して表示ロードによりロードされた以外の部品のデータが必要な操作を使用者が指示した場合であっても、該当部品について完全ロードされていることがあり、使用者が操作対象の部品の完全ロードを待つことが回避されるという効果を奏する。特に、自動的に完全ロードされる部品はランダムに選択されているのではなく、優先順位に従い完全ロードされており、自動的に完全ロードされている部品が操作対象となる可能性が高い。
【0024】
ロードは、フロッピーディスク(登録商標)やハードディスクなどの外部記憶装置から、データをメモリ上に転送することである。外部のコンピュータからネットワークを介して受信し、メモリ上に転送することも含む。
【0025】
管理モデルとは、部品がどのような構成で3次元空間(2次元空間であってもよい)上のどの位置に配置されているかを管理するモデルである。具体的には、ルートアセンブリ、アセンブリ、サブアセンブリ、ユニット等が該当する。
【0026】
部品を取得するとは、部品名又は部品識別情報などの部品を特定できる情報を取得することである。
部品の参照とは、部品の参照回数及び/又は参照日時である。
部品の更新とは、部品の更新回数及び/又は更新日時である。
優先順位は、例えば部品の参照回数及び参照日時を所定の式に代入して部品の優先度を求め、それぞれの部品の優先度から決定される。
【0027】
本発明のCADデータのロードをするトリガとしては、後説する実施形態で示している通り、CADシステムを起動してCADデータにアクセスした時点の他に、使用者が従来通りのCADデータのロードを行っている場合に使用者の指示をトリガとしてもよい。また、同一のCADデータに対してはアクセス時1回のみだけでなく、そのCADを参照、編集している間に所定時間毎又は使用者の指示毎に実行する構成にすることもできる。例えば、長時間設計をしていれば始め設計していた部分は終了し、他の部分の設計に移行している場合等に適合する。
本発明は前記CADデータのロード装置を含むCAD装置又はCADシステムとしても把握することもできる。
【0028】
(2) [機能別の優先度]
本発明に係るCADデータのロード装置は必要に応じて、指示された機能又は実行されている機能が表示データ以外の部品のデータを必要とする参照用機能か編集用機能かを判別する手段を新たに含み、指示された機能又は実行されている機能が参照用機能であると判断した場合、プロセッサは、前記「取得した部品の参照及び/又は更新に基づき優先順位を求める手段」で参照のみで又は参照に重きをおいて優先順位を求め、指示された機能又は実行されている機能が編集用機能であると判断した場合、前記「取得した部品の参照及び/又は更新に基づき優先順位を求める手段」で更新のみで又は更新に重きをおいて優先順位を求めるものである。
【0029】
このように本発明においては、指示された機能又は実行されている機能のうち、表示データ以外の部品のデータを必要とする参照用機能か編集用機能かをきりわけ、参照用機能である場合には優先順位を参照のみか参照に重きをおいて求め、編集用機能である場合には優先順位を編集のみか編集に重きをおいて求めているので、指示された機能又は実行されている機能に応じた優先順位を求めることができ、使用者の使用実態に合致して自動的に完全ロードすることができるという効果を有する。
【0030】
参照のみで優先順位を求めるとは、優先順位を参照回数、参照日時を用いて求めることであり、更新回数、更新日時を用いないことである。参照に重きをおいて優先順位を求めるとは、優先順位を参照回数、参照日時、更新回数、更新日時を用いて求めるものの、その中でも参照回数、参照日時に比重をかけて求めることである。
【0031】
更新のみで優先順位を求めるとは、優先順位を更新回数、更新日時を用いて求めることであり、参照回数、参照日時を用いないことである。更新に重きをおいて優先順位を求めるとは、優先順位を更新回数、更新日時、参照回数、参照日時を用いて求めるものの、その中でも更新回数、更新日時に比重をかけて求めることである。
【0032】
ここで、さらに、指示された機能又は実行されている機能が表示データ以外の部品のデータを必要とするか否かを判断する手段を新たに含み、指示された機能又は実行されている機能が表示データ以外の部品のデータを必要とすると判断した場合に、前記「指示された機能又は実行されている機能が表示データ以外の部品のデータを必要とする参照用機能か編集用機能かを判別するステップ」を実行する構成にすることもできる。
【0033】
(3) [ユニット、サブアセンブリ、アセンブリによる優先度]
本発明に係るCADデータのロード装置は必要に応じて、現在を基準とした所定期間内又は所定時以降に更新された各管理モデルにおける部品の比率又は個数が所定閾値以上であるか否かを判断する手段と、現在を基準とした所定期間内又は所定時以降に更新された各管理モデルにおける部品の比率又は個数が所定閾値以上であると判断した場合に、前記「取得した部品の参照及び/又は更新に基づき優先順位を求める手段」で該当する管理モデルを構成する部品を該当しない管理モデルを構成する部品と比して優先させて優先順位を求めるものである。
【0034】
このように本発明においては、部品毎の参照及び/又は更新だけで優先順位を求めるのではなく、管理モデルの部品のうちある程度の部品が所定期間内又は所定時以降に更新されている管理モデルの部品について、この条件を満たさない管理モデルの部品に比して優先させて優先順位を求めるので、管理モデル単位で担当し、設計するという一般的な使用状況に合致した優先順位を求めることとなり、その優先順位により部品を完全ロードすれば、使用者が操作対象とする部品が完全ロードされている可能性が高くなり、完全ロードの待ちを回避して円滑に設計を行うことができるという効果を有する。
現在を基準とした所定期間内とは、今から所定期間前までの間のことである。例えば、所定期間が1日であれば今から1日前までの間が該当する。所定期間は使用者が設定してもよい。
【0035】
所定時は使用者が設定してもよい。所定時は、例えば、現在処理対象となっているCADデータを前回読み出したとき、現在処理対象となっているCADデータを今回読み出したときが該当する。読み出したときだけでなく、参照したとき、更新したときでもよい。現在処理対象となっているCADデータを前回読み出したときを所定時とした場合には、前回読み出した以降に更新された各管理モデルにおける部品の比率又は個数が所定閾値以上である部品が優先されて優先順位を求めるので、前回の使用状況に応じて多く使用した管理モデルの部品が完全ロードされ易くなり、使用者の使用実態により合致した完全ロードを行うことができる。
【0036】
(4) [インデックスファイル]
本発明に係るCADデータのロード装置は必要に応じて、前記部品の参照及び/又は更新を少なくとも複数部品で使用される共通のインデックスファイルに記録する手段を新たに含むものである。
【0037】
このように本発明においては、部品毎に別途のアクセスが必要となるように参照及び/又は更新を記録する場合と比べ、複数部品で共通に使用されるインデックスファイルにその複数部品の参照及び/又は更新を記録するので、複数部品の参照及び/又は更新が必要となった場合に部品数に応じたアクセスは不要であり、インデックスファイルにアクセスするだけで複数部品の参照及び/又は更新を取得することができると効果を有する。
【0038】
少なくとも複数部品で使用されるとしているのは、インデックスファイルに管理モデルの全部品の参照又は更新を記録する場合、インデックスファイルにCADデータの全部品の参照又は更新を記録する場合、インデックスファイルに処理する全ての部品の参照又は更新を記録する場合が含まれるからである。いずれにしろ、共通のインデックスファイルに参照及び/又は更新を記録することで、それぞれの部品単位に記録する場合と比べアクセス回数を減じることができる。それぞれの部品単位に記録する場合には、例えば部品の属性として保有する。
【0039】
(5) [表示ロードへのきりかえによるメモリの解放]
本発明に係るCADデータのロード装置は必要に応じて、前記許容されるメモリ量を超えて部品が完全ロードされているか否かを判断する手段と、許容されるメモリ量を超えて部品が完全ロードされていると判断した場合に、完全ロード済みの部品を求めた部品の優先順位の低い部品を許容されるメモリ量を超えなくなるまで完全ロードから表示ロードにきりかえる手段とを含むものである。
【0040】
このように本発明においては、部品の完全ロードが所定以上になされている場合に、完全ロードしている部品の中から求めた部品の優先順位の低い順に所定以下となるまで完全ロードから表示ロードにきりかえるので、部品の完全ロードによる過大なメモリ量の占有による動作不具合の発生を回避することができるという効果を有する。
【0041】
この発明を適用するトリガとしては、CADシステムを実行中定期的に前記「前記許容されるメモリ量を超えて部品が完全ロードされているか否かを判断する手段」を実行する。
ここで、使用者による指示による完全ロードがなされたことを検出する手段を備え、検出後に前記「前記許容されるメモリ量を超えて部品が完全ロードされているか否かを判断する手段」を実行してもよい。
【0042】
本発明は方法としても、プログラムとしても把握することができる。
これら前記の発明の概要は、本発明に必須となる特徴を列挙したものではなく、これら複数の特徴のサブコンビネーションも発明となり得る。
【発明を実施するための最良の形態】
【0043】
(本発明の第1の実施形態)
本発明の第1の実施形態に係るCADデータのロード装置をCADシステムに組み込まれている機能として説明する。
【0044】
[1.ハードウェア構成]
図2は本実施形態に係るCADシステムが構築されるコンピュータのハードウェア構成図である。
CADシステムが構築されるコンピュータは、CPU(Central Processing Unit)11、DRAM(Dynamic Random Access Memory)等のメインメモリ12、ROM13、外部記憶装置であるHD(hard disk)14、ネットワークに接続するための拡張カードであるLANカード15、入力装置であるマウス16及びキーボード17、画面表示機能を有するビデオカード18、音声の入出力機能を有するサウンドカード19、出力装置であるディスプレイ18aとスピーカー19a、CD−ROMからデータを読み出すCD−ROMドライブ20からなる。
【0045】
CD−ROM等の外部記憶媒体に記録されているCADプログラムをコンピュータのHDに複製し、CADプログラムが読み出し可能となって実行できる状態とする所謂インストールを行うことでコンピュータ上にCADシステムが構築されることになる。
CADシステムには設計に必要な様々な機能が提供されているが、CADデータのロードもその機能の一つとして、本実施形態では説明する。ただし、CADデータのロード装置単体としても存在することができ、例えば、CADシステムの要求に応じてCADデータのロード処理を実行する構成であってもよい。
【0046】
[2.ブロック構成]
図3は本実施形態に係るCADシステムのブロック構成図である。
CADシステムの制御は、CAD処理制御部111、表示制御部112及びロード制御部113により行なわれている。これらの制御部自身もメモリ12に読み出されたプログラムをCPU11が実行することで実現されている。
【0047】
CAD処理制御部111は、使用者からの各種指示に応じて、CADデータの作成・編集等のCAD処理を行う。例えば、使用者からのファイルオープンの指示を受け、CADデータをロード制御部113を介して記憶装置14から読み出し、メモリ12に展開し、使用者からの指示を受け付ける。使用者に提供している機能は、GUIのツールボックス、メニューバーで表示しており、使用者はそのツールボックス、メニューバーで機能を選択し、モデル描画領域で表示されているモデルを指定することで指示を行う。CAD処理制御部111は、使用者からの指示を受け、その指示に係る処理を実行する。CAD処理制御部111自身もロード制御部113を介することなく、記憶装置14からCADデータ、プログラムをロードすることもできる。勿論、ロード制御部113のみがロードする構成にすることもできる。
また、CAD処理制御部111は、部品の参照、更新を受け、後説するインデックスファイルに記録する機能も有する。
【0048】
表示制御部112は、CAD処理制御部111の制御命令によりCAD処理制御部111が処理したデータを出力装置18aに表示する。たとえば、CAD処理制御部111が使用者の要求に応じて作成したプリミティブを表示する。
【0049】
ロード制御部113は、CAD処理制御部111の制御命令により空きメモリ量及び優先度に応じて部品の完全ロードを実行する。言い換えれば、ロード制御部113は許容されたメモリ量まで優先順に部品を完全ロードする。背景技術では使用者に指定された部品のみを完全ロードしているのに対し、本発明では使用者に指定されない部品であってもこれから使用者の指示で完全ロードされる可能性が高い部品を優先的に完全ロードすることで、使用者が部品を完全ロードする指示をして新たに部品を完全ロードするまでの時間を省き、利便性を高めている。なお、ロード制御部113は、表示ロードする機能、使用者に指示された部品を完全ロードする機能も有する。
【0050】
ロード制御部113は、インデックスファイルから情報を取得して部品の優先度を求め、優先順位に部品を空きメモリが許容値となるまで完全ロードする機能を有すると説明した。この機能だけでなく、ロード制御部113は使用者の指示により指定された部品の完全ロードを実行した場合で且つその完全ロードにより空きメモリ量が許容値を下回った場合にロード制御部自身113が完全ロードした部品の中で優先順位の低い順に部品を空きメモリ量が許容値を上回るまで表示ロードにする機能も有する。ただし、完全ロードから表示ロードに移行する場合には、その部品に対して更新がなされているか否かを判断し、更新されている場合にはその部品のデータを更新する。ここで、更新がなされている部品に対しては完全ロードから表示ロードへの移行の処理をしない構成にすることもできる。完全ロードから表示ロードへの移行は、部品の完全ロードによりロードされた情報全てを一旦解放して表示ロードする方法と、部品の表示ロードによりロードされる情報のみを残して解放する方法とを採ることができる。
【0051】
[2.1 空きメモリ量]
空きメモリ量は、利用可能なメモリ量のことである。メモリ容量は物理的なメモリ容量と仮想的なメモリ容量も含めたメモリ容量がある。本実施形態においては、物理的なメモリ容量とし、空きメモリ量はこの物理的なメモリ量において利用可能なメモリ量のことであるとする。
【0052】
本実施形態では空きメモリ量が許容値になるまでは部品を完全ロードする。許容値は使用者が設定できる変更可能な値でもよく、本実施形態では例示として物理的なメモリ容量に所定閾値[%]乗算したものを許容値とする。例えば、物理的なメモリ容量を512[MB]とし、70[%]までは本システムで使用するとして所定閾値を30[%]とすれば許容値はおおよそ150[MB]となる。
【0053】
[2.2 優先度]
本実施形態では部品を対象単位とし、各部品の優先度を求め、その優先度が高い順に完全ロードを空きメモリ量が許容値になるまで完全ロードする。部品の優先度は部品の参照日時及び参照回数から求める。つまり、前記(1)式を用いる。したがって、部品の参照日時及び参照回数を予めCADシステムが記録する必要がある。そして、記録している部品の参照日時及び参照回数を(1)式に代入して優先度を求める。優先度は各部品毎に求め、優先度の降順に部品を並び替える。本実施形態では対象単位を部品としたが、モデル、ユニット、サブアセンブリ、アセンブリ、ファイルなどのCADシステム上の設計対象物の構成要素を対象単位として実現することができる。また、本実施形態では、部品の参照日時及び参照回数を用いたが、代わりに更新日時及び更新回数を使用してもよいし、参照日時、参照回数、更新日時及び更新回数を使用した前記(2)式を用いて求めてもよい。
【0054】
[2.3 インデックスファイル]
部品の参照日時及び参照回数はインデックスファイルに記録する。部品の属性データとして部品毎に記録する方法を使用するよりも、全部品の参照日時及び参照回数を別途記録しておくことは部品の参照日時及び参照回数を優先度を求めるために取得するときに各部品の属性データを読み出す必要がなくインデックスファイルにアクセスすれば全部品の優先度を求めることができるというメリットを有する点で優れている。インデックスファイルはコンピュータ毎又はユーザ毎に作成されることが好ましい。ただし、複数のコンピュータ又は複数のユーザで使用する場合に、インデックスファイルをコンピュータ毎又はユーザ毎に画定して使用することはできる。インデックスファイルとしているが、ファイルとして存在することなく、他の統一的なデータに内包される形で存在してもよい。例えば、アセンブリ情報やプロジェクト情報等の設計対象物のルート情報に内包されてもよいし、各コンピュータのシステムデータ、各ユーザのプロファイルデータに内包されてもよい。これらのようにインデックスファイルをコンピュータ毎又はユーザ毎に作成することで、各コンピュータでのCADシステムの使用状況又は各ユーザのCADシステムの使用状況に応じた部品の優先順位となり、各コンピュータ又は各ユーザに最適な態様で部品の完全ロードがなされることになる。全コンピュータ又は全ユーザで共通のインデックスファイルを使用した場合には、全コンピュータ又は全ユーザの平均的な使用状況の優先順位となって、必ずしも現在使用しているコンピュータ又はユーザにとって最適な部品の完全ロード状況とはいえない。
【0055】
図4は本実施形態に係るインデックスファイルの一例である。インデックスファイルは、モデルパス、モデル名、更新情報ポイント及び参照情報ポイントのフィールドを有する。モデルパスはモデルのファイルの所在を示すパス(path)である。モデル名はモデルのファイル名である。更新情報ポインタは、更新情報の所在位置を示す。参照情報ポインタは、参照情報の所在位置を示す。図4の例では、部品、アセンブリ、ユニットがそれぞれファイルとして存在する構成となっているが、一つのファイルに部品、アセンブリ、ユニットを含む構成であってもよい。部品毎、アセンブリ毎、ユニット毎にファイルとなっている構成であれば、ファイルの更新日、参照日を用いてもよい。CADシステムはどのモデルに対して更新、参照がなされたかを把握しており、インデックスファイルを更新することができる。更新、参照の検出は、使用者に指示された時点でもよいし、その指示に係る機能が実行される時点であってもよい。
【0056】
[3.動作]
動作主体はCADシステム、本実施形態でのモジュールとしているが、ハードウェア観点からすると、CPUである。また、モジュール構成は当業者であれば明らかなように多種多様な変更をすることができ、同じモジュールであっても異なる機能を付与して実装することもできる。
【0057】
[3.1 アセンブリロード]
図5は本実施形態に係るCADシステムのアセンブリロードのフローチャートである。
使用者がCADシステムの起動をマウスなどの入力装置を通して指示すると、インストールされているCADプログラムがハードディスクからメインメモリに読み出され、CADシステムを使用可能な状態に移行する。
CADシステムはディスプレイを通して利用者に対してファイルのオープンを促す。
使用者はCADデータのファイルをマウスなどの入力装置を通して指定する。アセンブリと部品のどちらも含まれているファイルであればそのファイルを、アセンブリと部品が別々のファイルに含まれているのであればアセンブリのファイルを指定する。
【0058】
ロード制御部113は使用者から指定されたファイルからアセンブリ情報を読み出し、部品名のリストを取得する(ステップ101)。これにより、アセンブリツリーを表示することもできる。アセンブリ情報には設計対象物を構成する部品名のリスト、部品の位置、姿勢が含まれている。アセンブリツリーは、ルートアセンブリートップとして構成要素であるアセンブリ、サブアセンブリ、部品を階層的に示したものである。CAD処理制御部111がアセンブリ情報を読み出し、ロード制御部113は部品名のリストを取得する構成であってもよい。
【0059】
ロード制御部113はインデックスファイルも読み出し、(1)式を用いて各部品の優先度を求め、求めた優先度からロードする部品を優先順位の高い順に並び替える(ステップ111)。
優先順位に従い、ロード対象の部品がなくなるまで定義済み処理となる部品ロード処理(ステップ200)を実行する。部品ロード処理については次項で説明する。
これらのロードがなされることで、指定されたアセンブリがモデル表示領域に描画され、使用者が設計作業を行うことができる。
【0060】
[3.2 部品ロード]
図6は本実施形態に係るCADシステムの部品ロードのフローチャートである。
ロード制御部113は表示ロードフラグが「OFF」であるか否かを判断する(ステップ201)。
表示ロードフラグが「OFF」であると判断した場合、ロード制御部113は空きメモリを測定する(ステップ211)。言い換えれば、システムコールを利用してOSから空きメモリ量を取得する。
【0061】
ロード制御部113はロード対象部品をメインメモリにロードした場合に必要となるメモリ量を取得する(ステップ221)。例えば、ファイル内のロード対象部品のデータを特定し、データの先頭からデータの終わりからデータ量を求める。また、ロード対象部品の前回ロード時に必要であったメモリ量を保存時に記録し、その記録したデータ量を読み出すことでも取得することができる。
【0062】
ロード制御部113は取得した空きメモリ量と求めたロード対象部品の必要メモリ量の差を求め、その差が許容値よりも値が大きいか否かを判断する(ステップ231)。
その差が許容値よりも値が大きいと判断した場合には、ロード制御部113はロード対象部品を完全ロードする(ステップ241)。
【0063】
一方、その差が許容値よりも値が大きくないと判断した場合には、以降のロード対象部品で重複した処理の実行を回避すべくロード制御部113は表示ロードフラグをONにする(ステップ251)。続けて、ロード制御部113はロード対象部品を表示ロードする(ステップ261)。
【0064】
[3.3 モデル活性化]
図7は本実施形態に係るCADシステムのモデル活性化のフローチャートである。
使用者は編集しようとした部品が、例えば、アセンブリツリー上の該当部品のアイコンにより、表示ロード状態であることを知る。そして、使用者は該当部品を編集すべく、該当部品の完全ロードをマウス16などの入力装置を介して指示する。
【0065】
ロード制御部113は、使用者からの指示を受け、指定された部品を完全ロードする(ステップ301)。
ロード制御部113は空きメモリ量を取得する(ステップ311)。
ロード制御部113は取得した空きメモリ量が許容値よりも大きいか否かを判断する(ステップ321)。
【0066】
空きメモリ量が許容値よりも大きいと判断した場合には、ロード制御部113は完全ロード済みの部品を優先順位に応じて並び替える(ステップ331)。優先度はステップ111で求めたものを使用することもできるし、ロード制御部113が新たに求めてもよい。
そして、完全ロード済みの部品を優先順位で次の処理を実行する(ステップ341、ステップ342)。
【0067】
ロード制御部113は対象ロード済みの部品の表示ロードのデータのみを残し、他の完全ロードのデータを解放する(ステップ351)。完全ロードのデータを全て解放し、再度該当部品の表示ロードを実行してもよい。
ロード制御部113は空きメモリ量を取得する(ステップ361)。
ロード制御部113は取得した空きメモリ量が許容値よりも大きいか否かを判断する(ステップ371)。
空きメモリ量が許容値よりも大きいと判断した場合には、ループを抜ける。
空きメモリ量が許容値よりも大きくないと判断した場合には、ループの先頭に戻る。
【0068】
(その他の実施形態)
[機能別の優先度の求め方]
現在指示又は実行されている機能に基づき優先度の求め方を変更する構成にすることもできる。そうすることで、限りあるリソースを最大限に利用することで、使用者が待つことなく、円滑に設計作業を行うことができる。
【0069】
CADシステム上で使用者に提供されている機能は、大きく分けると、モデルのデータを更新しない参照用機能と、モデルのデータを更新する編集用機能に分けることができる。参照用機能の具体例は、干渉、検証、解析等の機能である。編集用機能の具体例は、形状編集、属性付加等の機能である。ここでの機能は表示データのみで実行できない機能である。例えば、干渉の確認、形状編集には表示データではなく幾何データが必要となる。
【0070】
前記第1の実施形態においては、部品の優先度を(1)式により図5のS111で求めた。そして、参照回数と参照日時以外に、更新回数と更新日時を用いることやそれらを合わせて用いることも既に説示した。ここでは、(2)式を用いる。
【0071】
ここでは、図5のフローチャートで示される処理が開始されるタイミングが異なる。つまり、現在指示又は実行されている機能が変化した場合に図5の処理が実行され、指示又は実行されている機能が参照用機能か編集用機能かで(2)式のパラメータが変更され、優先度を求める。
【0072】
[同一ユニット、サブアセンブリ、アセンブリの構成要素への操作を考慮した優先度の求め方]
各ユニット、各サブアセンブリ、各アセンブリにおいて現在を基準として所定期間内に更新された部品の比率が所定閾値以上である場合には、そのユニット、サブアセンブリ、アセンブリに属する部品が優先的に完全ロードされるように構成する。優先的に完全ロードされるためには、該当部品の求める優先度を式の係数を大きくして高めたり、優先順位を上げたりして実現することができる。
【0073】
この構成を適用するのは、図5のフローチャートのように使用者によりファイルが指定され、アセンブリ情報が読み出されるタイミングであってもよいが、図5のフローチャートの処理が実行された後の使用者が設計を行っているときに所定間隔毎に実行してもよい。
なお、現在を基準として所定期間としたが、先回現在のファイルがオープンされている間又は現在のファイルがオープンしている間とすることもできる。
【0074】
[特定の部品に近い部品の優先度の求め方]
操作対象が切り換わったときに、その操作対象となった部品に距離的に近い部品を距離の順序で完全ロードする構成にすることもできる。下記(3)式を用いることで、操作対象となった部品に近い部品が優先的に完全ロードされる。
【0075】
【数3】

【0076】
参照回数、参照日時、更新回数、更新日時の式に(3)式を加えた式を用いて優先度を求める構成であってもよい。
他に、優先度は第1の実施形態と同様に参照回数、参照日時等を用いて距離を用いず求め、求めた優先度の中で最も高い優先度を有する部品を特定の部品とし、この特定の部品に距離的に近い部品を距離の順序で完全ロードする構成にすることもできる。
【0077】
[自動ロードの禁止指定]
ロード制御部113による自動的な完全ロードは、開いたアセンブリを構成する部品全てが対象となるが、使用者が自動的な完全ロードをしない部品、サブアセンブリ、ユニット、アセンブリを指定することを受け付け、指定された部品、サブアセンブリを構成する部品、ユニットを構成する部品及びアセンブリを構成する部品を自動的に完全ロードしない構成にすることもできる。具体的には、図5のS101で取得した部品のリストから自動的に完全ロードしないとの指定を受けた部品を外し、S111でその指定に係る部品については優先度を求めない。
【0078】
[ロード処理のタイミング]
前記第1の実施形態においては、S221でロード対象部品の必要メモリを取得し、空きメモリから必要メモリを減算して許容値と比較した後にロードしていた。
ここでは、どの部品まで完全ロードできるのか否かをはじめに求め、その後に完全ロードすると決定された部品は完全ロードし、表示ロードすると決定された部品は表示ロードする。
【0079】
図8は本実施形態に係るCADシステムのアセンブリロードのフローチャートである。前記第1の実施形態と同一の処理について同一のステップ番号を付与しており、その説明を省略する。
ステップ231で許容値よりも大きいと判断された場合、ロード制御部113は次の部品があるか否かを判断する(ステップ301)。
【0080】
次の部品があれば対象部品を次の部品にし(ステップ311)、ステップ211に戻る。
次の部品がなければ全ての部品を完全ロード(ステップ321)して終了する。
前記ステップ231で許容値よりも大きくないと判断された場合、CPUは対象部品を境界部品とする(ステップ331)。
【0081】
ロード制御部113は境界部品よりも優先度の高い部品を完全ロードする(ステップ341)。
ロード制御部113は完全ロードした以外の部品を表示ロードする(ステップ351)。
このようにまとめて完全ロード及び表示ロードをした方が、メモリへのロード処理を高速に行うことができる場合がある。
【0082】
以上の前記各実施形態により本発明を説明したが、本発明の技術的範囲は実施形態に記載の範囲には限定されず、これら各実施形態に多様な変更又は改良を加えることが可能である。そして、かような変更又は改良を加えた実施の形態も本発明の技術的範囲に含まれる。このことは、特許請求の範囲及び課題を解決する手段からも明らかなことである。
【0083】
前記各実施形態に関し、次の付記を示す。
(付記)
(付記1) CADシステムによって生成された設計対象物を構成する部品を表示ロードし、使用者が指定した部品を完全ロードするCADデータのロード装置であって、
管理モデルを構成する部品を取得する手段と、取得した部品の参照及び/又は更新に基づき優先順位を求める手段と、許容されるメモリ量まで優先順位の高い部品を完全ロードする手段と、完全ロードしない部品を表示ロードする手段とを含むCADデータのロード装置。
【0084】
(付記2) 指示された機能又は実行されている機能が表示データ以外の部品のデータを必要とする参照用機能か編集用機能かを判別する手段を新たに含み、指示された機能又は実行されている機能が参照用機能であると判断した場合、プロセッサは、前記「取得した部品の参照及び/又は更新に基づき優先順位を求める手段」で参照のみで又は参照に重きをおいて優先順位を求め、指示された機能又は実行されている機能が編集用機能であると判断した場合、前記「取得した部品の参照及び/又は更新に基づき優先順位を求める手段」で更新のみで又は更新に重きをおいて優先順位を求める前記付記1に記載のCADデータのロード装置。
【0085】
(付記3) 現在を基準とした所定期間内又は所定時以降に更新された各管理モデルにおける部品の比率又は個数が所定閾値以上であるか否かを判断する手段と、現在を基準とした所定期間内又は所定時以降に更新された各管理モデルにおける部品の比率又は個数が所定閾値以上であると判断した場合に、前記「取得した部品の参照及び/又は更新に基づき優先順位を求める手段」で該当する管理モデルを構成する部品を該当しない管理モデルを構成する部品と比して優先させて優先順位を求める前記付記1に記載のCADデータのロード装置。
【0086】
(付記4) 前記部品の参照及び/又は更新を少なくとも複数部品で使用される共通のインデックスファイルに記録する手段を新たに含む前記付記1ないし3のいずれかに記載のCADデータのロード装置。
【0087】
(付記5) 前記許容されるメモリ量を超えて部品が完全ロードされているか否かを判断する手段と、許容されるメモリ量を超えて部品が完全ロードされていると判断した場合に、完全ロード済みの部品を求めた部品の優先順位の低い部品を許容されるメモリ量を超えなくなるまで完全ロードから表示ロードにきりかえる手段とを含む前記付記1に記載のCADデータのロード装置。
【0088】
(付記6) コンピュータ支援設計システムによって生成されたCADデータをプロセッサがロードするロード方法であって、プロセッサが、管理モデルを構成する部品を取得するステップと、プロセッサが、取得した部品の参照及び/又は更新に基づき優先順位を求めるステップと、プロセッサが、許容されるメモリ量まで優先順位の高い部品を完全ロードするステップと、プロセッサが、完全ロードしない部品を表示ロードするステップとを含むCADデータのロード方法。
【0089】
(付記7) コンピュータに、CADシステムによって生成された設計対象物を構成する部品を表示ロードさせ、使用者が指定した部品を完全ロードさせるCADデータのロードプログラムであって、管理モデルを構成する部品を取得する手段と、取得した部品の参照及び/又は更新に基づき優先順位を求める手段と、許容されるメモリ量まで優先順位の高い部品を完全ロードする手段と、完全ロードしない部品を表示ロードする手段としてコンピュータを機能させるCADデータのロードプログラム。
【図面の簡単な説明】
【0090】
【図1】部品の状況により必要とされるロードが異なることを説明する図である。
【図2】本発明の第1の実施形態に係るCADシステムが構築されるコンピュータのハードウェア構成図である。
【図3】本発明の第1の実施形態に係るCADシステムのブロック構成図である。
【図4】本発明の第1の実施形態に係るインデックスファイルの一例である。
【図5】本発明の第1の実施形態に係るCADシステムのアセンブリロードのフローチャートである。
【図6】本発明の第1の実施形態に係るCADシステムの部品ロードのフローチャートである。
【図7】本発明の第1の実施形態に係るCADシステムのモデル活性化のフローチャートである。
【図8】本発明のその他の実施形態に係るCADシステムのアセンブリロードのフローチャートである。
【図9】アセンブリツリーの一例である。
【図10】使用者がアセンブリツリーを用いて完全ロードを指示したことを説明する図である。
【符号の説明】
【0091】
11 CPU
12 RAM
13 ROM
14 HD
15 LANカード
16 マウス
17 キーボード
18 ビデオカード
18a ディスプレイ
19 サウンドカード
19a スピーカー
20 ドライブ
111 CAD処理制御部
112 表示制御部
113 ロード制御部

【特許請求の範囲】
【請求項1】
CADシステムによって生成された設計対象物を構成する部品を表示ロードし、使用者が指定した部品を完全ロードするCADデータのロード装置であって、
管理モデルを構成する部品を取得する手段と、
取得した部品の参照及び/又は更新に基づき優先順位を求める手段と、
許容されるメモリ量まで優先順位の高い部品を完全ロードする手段と、
完全ロードしない部品を表示ロードする手段とを含む
CADデータのロード装置。
【請求項2】
指示された機能又は実行されている機能が表示データ以外の部品のデータを必要とする参照用機能か編集用機能かを判別する手段を新たに含み、
指示された機能又は実行されている機能が参照用機能であると判断した場合、プロセッサは、前記「取得した部品の参照及び/又は更新に基づき優先順位を求める手段」で参照のみで又は参照に重きをおいて優先順位を求め、
指示された機能又は実行されている機能が編集用機能であると判断した場合、前記「取得した部品の参照及び/又は更新に基づき優先順位を求める手段」で更新のみで又は更新に重きをおいて優先順位を求める
前記請求項1に記載のCADデータのロード装置。
【請求項3】
現在を基準とした所定期間内又は所定時以降に更新された各管理モデルにおける部品の比率又は個数が所定閾値以上であるか否かを判断する手段と、
現在を基準とした所定期間内又は所定時以降に更新された各管理モデルにおける部品の比率又は個数が所定閾値以上であると判断した場合に、前記「取得した部品の参照及び/又は更新に基づき優先順位を求める手段」で該当する管理モデルを構成する部品を該当しない管理モデルを構成する部品と比して優先させて優先順位を求める
前記請求項1に記載のCADデータのロード装置。
【請求項4】
前記部品の参照及び/又は更新を少なくとも複数部品で使用される共通のインデックスファイルに記録する手段を新たに含む
前記請求項1ないし3のいずれかに記載のCADデータのロード装置。
【請求項5】
前記許容されるメモリ量を超えて部品が完全ロードされているか否かを判断する手段と、
許容されるメモリ量を超えて部品が完全ロードされていると判断した場合に、完全ロード済みの部品を求めた部品の優先順位の低い部品を許容されるメモリ量を超えなくなるまで完全ロードから表示ロードにきりかえる手段とを含む
前記請求項1に記載のCADデータのロード装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2008−84011(P2008−84011A)
【公開日】平成20年4月10日(2008.4.10)
【国際特許分類】
【出願番号】特願2006−263316(P2006−263316)
【出願日】平成18年9月27日(2006.9.27)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】