(57)【要約】【課題】完全ロードを指定されていないモデルのうち、必要なモデルについて使用者の指定なく完全ロードし、完全ロードを指定されていないモデルについて使用者が参照、編集などの表示データ以外を使用する操作をした場合に完全ロードによる待ち時間の発生を抑制する自動ロード判定装置を提供する。【解決手段】メインメモリの空き領域に、必要とされるモデルを妥当な範囲で完全ロードする。つまり、使用者に指定されたモデルについてだけ完全ロードするのではなく、必要とされるモデルをあらかじめ予測し、最大でメインメモリの容量が許す範囲で完全ロードを実行する。【選択図】図５
2008084011.tif 000002
【特許請求の範囲】
【請求項１】
ＣＡＤシステムによって生成された設計対象物を構成する部品を表示ロードし、使用者が指定した部品を完全ロードするＣＡＤデータのロード装置であって、
管理モデルを構成する部品を取得する手段と、
取得した部品の参照及び／又は更新に基づき優先順位を求める手段と、
許容されるメモリ量まで優先順位の高い部品を完全ロードする手段と、
完全ロードしない部品を表示ロードする手段とを含む
ＣＡＤデータのロード装置。
【請求項２】
指示された機能又は実行されている機能が表示データ以外の部品のデータを必要とする参照用機能か編集用機能かを判別する手段を新たに含み、
指示された機能又は実行されている機能が参照用機能であると判断した場合、プロセッサは、前記「取得した部品の参照及び／又は更新に基づき優先順位を求める手段」で参照のみで又は参照に重きをおいて優先順位を求め、
指示された機能又は実行されている機能が編集用機能であると判断した場合、前記「取得した部品の参照及び／又は更新に基づき優先順位を求める手段」で更新のみで又は更新に重きをおいて優先順位を求める
前記請求項１に記載のＣＡＤデータのロード装置。
【請求項３】
現在を基準とした所定期間内又は所定時以降に更新された各管理モデルにおける部品の比率又は個数が所定閾値以上であるか否かを判断する手段と、
現在を基準とした所定期間内又は所定時以降に更新された各管理モデルにおける部品の比率又は個数が所定閾値以上であると判断した場合に、前記「取得した部品の参照及び／又は更新に基づき優先順位を求める手段」で該当する管理モデルを構成する部品を該当しない管理モデルを構成する部品と比して優先させて優先順位を求める
前記請求項１に記載のＣＡＤデータのロード装置。
【請求項４】
前記部品の参照及び／又は更新を少なくとも複数部品で使用される共通のインデックスファイルに記録する手段を新たに含む
前記請求項１ないし３のいずれかに記載のＣＡＤデータのロード装置。
【請求項５】
前記許容されるメモリ量を超えて部品が完全ロードされているか否かを判断する手段と、
許容されるメモリ量を超えて部品が完全ロードされていると判断した場合に、完全ロード済みの部品を求めた部品の優先順位の低い部品を許容されるメモリ量を超えなくなるまで完全ロードから表示ロードにきりかえる手段とを含む
前記請求項１に記載のＣＡＤデータのロード装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＡＤデータをロードする装置に関し、特に、設計対象物を構成する全モデルのうち、部品の表示データ以外のデータをロードするＣＡＤデータのロード装置に関する。
【背景技術】
【０００２】
ＣＡＤシステムでは、高機能化のため形状だけでなく形状を構成するフィーチャ情報や寸法や注記などのアノテーション情報や材料情報など、さまざまなデータが必要となる。その為、それらのデータをＣＡＤ上で扱う場合には、全てのデータをメモリに展開する必要があり、データのロード時間を要し、また、多くのメモリを消費してしまうなどの問題がある。
特に、大規模なアセンブリなどのロードには多くの時間を要し、多くのメモリを消費する。
【０００３】
一般的に、ＣＡＤシステムで設計する場合、特に大規模アセンブリになると、自分が担当となるユニットや、その時に設計を行うユニットは一部分である事が多い。そして、ほとんどの場合、自己の担当ユニット以外である他のユニットは自分の設計対象物の全体での位置を確認することなどのために使われるのみであって、形状データだけがあれば事足りる。
こうしたことから、一般的なＣＡＤシステムでは、表示データ（ポリゴン・ファセット）のみをロードするオプション機能を備えている。
【０００４】
つまり、使用者は完全ロードするオプション機能を使用し、担当ユニットのみについて幾何データ、属性データ、アノテーションデータなどの表示データ以外のデータまでをロード（完全ロード）し、それ以外の他のユニットについては表示データのみをロード（表示ロード）する。こうすることで、ＣＡＤシステムで使用するメモリ量は抑えられ、スワップなどの処理がＯＳ(Operating System)により実行されることなく快適に使用することができる。
ところで、ＣＡＤ処理装置のメインメモリにロードする技術が、特開平６−７５７７４号公報に開示されている。
【０００５】
この公開公報に開示のＣＡＤ処理装置は、装置上にローディングされているツールプログラム以外のツールプログラムを使用者が選択した場合で且つメインメモリの空き領域がない場合に、アンロードするツールプログラムの指定を受け、ツールプログラムをアンロードして該当メモリ領域を解放した後に、使用者が指定したツールプログラムをロードするものである。
【特許文献１】特開平６−７５７７４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、完全ロードするオプション機能を具備する前説のＣＡＤシステムは、完全ロードが指定されていないモデルについてメモリに展開されているのは、表示に必要なデータだけであり、表示データ以外のデータを必要とするモデルの計測のための参照や編集をそのままの状態では実行することができない。図９は、大規模アセンブリモデルのアセンブリツリーである。メモリの消費を最小限にするために、全て表示データでロードする。表示データはポリゴンデータになっており、正確な形状にはなっていない。よって、表示データのみをロードしている今の状態では表示以外の数学的な処理を実行することができない。
【０００７】
その為、完全ロードが指定されていないモデルを参照、編集する場合、その対象となるモデルについて例えば図示したアセンブリツリー上で完全ロードを使用者がマウスなどの入力装置で指定して活性化（アクティブ化）させ（図１０参照）、そのタイミングで幾何データや属性データ、アノテーションデータなどの表示データ以外のデータをファイルからロードしなおす必要があり、内容データをロードしている間使用者の設計を中断してしまうという課題を有する。図１０では、丸囲みした部品を完全ロードするように使用者が指示するために、丸囲みした部品を入力装置を介して選択したことを示している。
【０００８】
ここで、ＣＡＤシステムのレスポンスは１〜３秒以内にしないと、設計者の思考を妨げてしまう。そして、ファイルからのロードは多くの場合その秒数を超えてしまい、設計者の思考を妨げる。この場合、多くの設計者は編集作業を行っているだけでロードしているという意識は無く、設計者に与えるストレスは多大なものとなる。
【０００９】
本発明は前記課題を解決するためになされたものであり、使用者が指定して完全ロードするモデル以外の完全ロードを指定されていないモデルのうち、必要なモデルについて使用者の指定なく完全ロードし、完全ロードを指定したモデル以外の完全ロードを指定されていないモデルについて使用者が参照、編集などの表示データ以外を使用する操作をした場合に完全ロードによる待ち時間の発生を抑制する自動ロード判定装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
現在のコンピュータ・システムは、従来と比べると半導体記録素子の集積化が進み、単位あたりの販売価格を随分下がっていることから大容量のメモリを備えるものが多い。特に、ＣＡＤシステムを構築するコンピュータ・システムではメモリ容量が大容量化している。一方で、ＣＡＤシステムで設計する設計対象物の複雑化によりそのデータ量も年々増加傾向にある。しかし、１モデルの表示データ及び内容データの全データだけでメインメモリを圧迫することはなく、他のモデル表示データだけでなく内容データまでをロードする余裕はある。そこで、メインメモリの空き領域に、必要とされるモデルを妥当な範囲で完全ロードする。つまり、使用者に指定されたモデルについてだけ完全ロードするのではなく、必要とされるモデルをあらかじめ予測し、最大でメインメモリの容量が許す範囲で完全ロードを実行する（図１参照）。そうすることで、使用者が指定した以外のモデルについて操作する場合に、そのモデルがあらかじめ予測されたモデルであれば、既に完全ロードが完了しており、使用者に対しモデルの完全ロードに必要な時間を待たせることなく、設計を継続して行うことができる。
【００１１】
ここで、設計対象物を構成する全モデルの中で使用者が完全ロードを指定したモデル以外の完全ロードされていないモデルは多数あり、どのモデルが使用者にとって必要とされるかを予測する必要がある。本発明では完全ロードされていないモデルの中で優先順位を決定し、上位の優先順位のモデルについて完全ロードを実行する。モデルの優先順位の決定には、次の列挙する情報を使用する。
・最終参照日時が新しい。
・最終保存日時が新しい。
・参照回数が多い。
・保存回数が多い。
なお、どれだけのモデルについて完全ロードするかは、その時のメモリの空き状態から判断する。たとえば、全メモリ容量のうち所定閾値［％］までを使用する。
【００１２】
上記の条件は例であり、それぞれ単独の条件として用いることもできるが、複数の条件を組合せて用いることもできる。後者の場合、例えば、参照日時、保存日時、参照回数、保存回数をパラメタ化し、各モデル優先度の重みを決定する。そして、１回のデータアクセスに付きそれぞれポイントを決める。また、このポイントはデータアクセスが現在の日時に近い程高いポイントを設定する。例えば、以下のような式で重みを決定する。
［日付によるモデルの優先度の考え方］
【００１３】
【数１】
2008084011.tif 000003
【００１４】
この（１）式より、参照回数が多く、且つ、現在の日時に近い時点の参照が高い日付ポイントを得ることになる。したがって、アクセス回数が多くとも、そのアクセスの殆どが現在よりも相当過去であるモデルに対する日付ポイントは低くて優先度も低く、逆に、アクセス回数が少なくとも、そのアクセスの殆どが最近であるモデルに対する日付ポイントは高くて優先度も高くなる。つまり、前者のモデルは後者のモデルよりも優先順位が低く、メモリの空き状態にもよるが、後者のモデルは完全ロードするものの、前者のモデルは完全ロードしない場合が生じる。
【００１５】
［機能別の優先度の考え方］
参照日時と保存日時を分けている事により、目的とする機能（例えばモデルを編集する機能や参照する機能）で重要度の予測を使い分ける事が出来る。例えば、モデルの体積を測定する機能を実行中にモデルロードの優先度を求める場合、その機能は参照が必要であり保存は不要であるため、保存のパラメタ（保存回数、保存日時）は無効とし、参照のパラメタ（参照回数、参照日時）を有効として優先度を求めることもできる。次式（２）にあてはめれば、保存のパラメタを無効とし参照のパラメタを有効とするためにはα２を０として日付ポイントを求めればよい。逆に、参照のパラメタを無効とし保存のパラメタを有効とするためにはα１を０として日付ポイントを求めればよい。なお、０にしなくともα１（又はα２）をα２（又はα１）に比べ十分に小さくすることでも同様の日付ポイントを求めることができる。
なお、説明の便宜のため、参照日時に関する式（右辺式左側）と保存日時に関する式（右辺式右側）が明らかに分かれている式（２）を用いた。
【００１６】
【数２】
2008084011.tif 000004
【００１７】
［ユニットによるモデルの優先度の考え方］
アセンブリを構成する１ユニット内に複数種類の部品があり、その中の１つの部品が保存された日時が新しい場合、単なる仕様変更と考えられる。他方、同一ユニット内の複数部品の保存日付が新しい場合、同一ユニットに含まれる残りのユニットもこれから編集・保存させる可能性が高いと判断できる。したがって、この場合には同一ユニット内の全部品の優先度を高めに設定した方が良い。
【００１８】
例えば、ある部品の同一ユニット内に、その日に編集された部品が、ある所定閾値数だけ存在すれば、その部品のポイントを５割増しにするなどで、その部品の重みを高くする。この所定閾値（絶対数、又は、ユニット内の比率など）及びポイントの増加率は使用者がパラメタで指定できるものとする。
【００１９】
［インデックスファイル］
ファイルへのアクセス回数は少ない方が良いため、優先順位を判断するための情報を取得するために全モデルにアクセスする必要が無いよう、優先順位付けに必要な各ファイルの属性は、インデックスファイルを設けて一箇所に集め、そのファイルにだけアクセスすれば分かるようにしておく。
【００２０】
［メモリの空き状況］
メモリの判断については、アセンブリのロードを開始した時点の空きメモリを測定し、その空きメモリの７０［％］程度などの所定閾値を設け、その所定閾値まで完全ロードする。逆に、ＣＡＤシステム又は本発明が使用してはならない空きメモリについて空きメモリの３０［％］程度などの所定閾値を設け、その所定閾値まで完全ロードする構成であってもよい。目的はスワップ（メモリ空間の情報をハードディスクに退避すること）などで仮想記憶の使用を抑制するためである。この所定閾値は利用者が指定できるものとする。ここでは、空きメモリに対する比率を所定閾値としてその所定閾値まで必要な部品を完全ロードすることと説示したが、空きメモリではなく物理メモリ又は仮想メモリも含めたメモリに対する比率を所定閾値としてもよい。また、比率としたがメモリ量であってもよい。
【００２１】
［新たな完全ロードをトリガとした解放処理］
使用者に指定されず、優先度も低かったために、完全ロードできなかったモデルについて、編集が必要になって活性化（アクティブ化）する場合に、完全ロードを行う。このとき、メモリの空き状況を確認し、必要性に応じて既に完全ロードしているモデルのうち優先順位の低い物から所定条件を満たすまで開放する。メモリの開放時にはそれに係るモデルを必要に応じて保存する。
【００２２】
以上、説示した発明について項目に分けて記す。
（１）
本発明に係るＣＡＤデータのロード装置は、ＣＡＤシステムによって生成された設計対象物を構成する部品を表示ロードし、使用者が指定した部品を完全ロードするＣＡＤデータのロード装置であって、管理モデルを構成する部品を取得する手段と、取得した部品の参照及び／又は更新に基づき優先順位を求める手段と、許容されるメモリ量まで優先順位の高い部品を完全ロードする手段と、完全ロードしない部品を表示ロードする手段とを含むものである。
【００２３】
このように本発明においては、部品の参照、更新から優先順位を求め、その優先順位に従い許容されるメモリ量まで部品を完全ロードするので、完全ロードを指示されていない部品に対して表示ロードによりロードされた以外の部品のデータが必要な操作を使用者が指示した場合であっても、該当部品について完全ロードされていることがあり、使用者が操作対象の部品の完全ロードを待つことが回避されるという効果を奏する。特に、自動的に完全ロードされる部品はランダムに選択されているのではなく、優先順位に従い完全ロードされており、自動的に完全ロードされている部品が操作対象となる可能性が高い。
【００２４】
ロードは、フロッピーディスク（登録商標）やハードディスクなどの外部記憶装置から、データをメモリ上に転送することである。外部のコンピュータからネットワークを介して受信し、メモリ上に転送することも含む。
【００２５】
管理モデルとは、部品がどのような構成で３次元空間（２次元空間であってもよい）上のどの位置に配置されているかを管理するモデルである。具体的には、ルートアセンブリ、アセンブリ、サブアセンブリ、ユニット等が該当する。
【００２６】
部品を取得するとは、部品名又は部品識別情報などの部品を特定できる情報を取得することである。
部品の参照とは、部品の参照回数及び／又は参照日時である。
部品の更新とは、部品の更新回数及び／又は更新日時である。
優先順位は、例えば部品の参照回数及び参照日時を所定の式に代入して部品の優先度を求め、それぞれの部品の優先度から決定される。
【００２７】
本発明のＣＡＤデータのロードをするトリガとしては、後説する実施形態で示している通り、ＣＡＤシステムを起動してＣＡＤデータにアクセスした時点の他に、使用者が従来通りのＣＡＤデータのロードを行っている場合に使用者の指示をトリガとしてもよい。また、同一のＣＡＤデータに対してはアクセス時１回のみだけでなく、そのＣＡＤを参照、編集している間に所定時間毎又は使用者の指示毎に実行する構成にすることもできる。例えば、長時間設計をしていれば始め設計していた部分は終了し、他の部分の設計に移行している場合等に適合する。
本発明は前記ＣＡＤデータのロード装置を含むＣＡＤ装置又はＣＡＤシステムとしても把握することもできる。
【００２８】
（２）  ［機能別の優先度］
本発明に係るＣＡＤデータのロード装置は必要に応じて、指示された機能又は実行されている機能が表示データ以外の部品のデータを必要とする参照用機能か編集用機能かを判別する手段を新たに含み、指示された機能又は実行されている機能が参照用機能であると判断した場合、プロセッサは、前記「取得した部品の参照及び／又は更新に基づき優先順位を求める手段」で参照のみで又は参照に重きをおいて優先順位を求め、指示された機能又は実行されている機能が編集用機能であると判断した場合、前記「取得した部品の参照及び／又は更新に基づき優先順位を求める手段」で更新のみで又は更新に重きをおいて優先順位を求めるものである。
【００２９】
このように本発明においては、指示された機能又は実行されている機能のうち、表示データ以外の部品のデータを必要とする参照用機能か編集用機能かをきりわけ、参照用機能である場合には優先順位を参照のみか参照に重きをおいて求め、編集用機能である場合には優先順位を編集のみか編集に重きをおいて求めているので、指示された機能又は実行されている機能に応じた優先順位を求めることができ、使用者の使用実態に合致して自動的に完全ロードすることができるという効果を有する。
【００３０】
参照のみで優先順位を求めるとは、優先順位を参照回数、参照日時を用いて求めることであり、更新回数、更新日時を用いないことである。参照に重きをおいて優先順位を求めるとは、優先順位を参照回数、参照日時、更新回数、更新日時を用いて求めるものの、その中でも参照回数、参照日時に比重をかけて求めることである。
【００３１】
更新のみで優先順位を求めるとは、優先順位を更新回数、更新日時を用いて求めることであり、参照回数、参照日時を用いないことである。更新に重きをおいて優先順位を求めるとは、優先順位を更新回数、更新日時、参照回数、参照日時を用いて求めるものの、その中でも更新回数、更新日時に比重をかけて求めることである。
【００３２】
ここで、さらに、指示された機能又は実行されている機能が表示データ以外の部品のデータを必要とするか否かを判断する手段を新たに含み、指示された機能又は実行されている機能が表示データ以外の部品のデータを必要とすると判断した場合に、前記「指示された機能又は実行されている機能が表示データ以外の部品のデータを必要とする参照用機能か編集用機能かを判別するステップ」を実行する構成にすることもできる。
【００３３】
（３）  ［ユニット、サブアセンブリ、アセンブリによる優先度］
本発明に係るＣＡＤデータのロード装置は必要に応じて、現在を基準とした所定期間内又は所定時以降に更新された各管理モデルにおける部品の比率又は個数が所定閾値以上であるか否かを判断する手段と、現在を基準とした所定期間内又は所定時以降に更新された各管理モデルにおける部品の比率又は個数が所定閾値以上であると判断した場合に、前記「取得した部品の参照及び／又は更新に基づき優先順位を求める手段」で該当する管理モデルを構成する部品を該当しない管理モデルを構成する部品と比して優先させて優先順位を求めるものである。
【００３４】
このように本発明においては、部品毎の参照及び／又は更新だけで優先順位を求めるのではなく、管理モデルの部品のうちある程度の部品が所定期間内又は所定時以降に更新されている管理モデルの部品について、この条件を満たさない管理モデルの部品に比して優先させて優先順位を求めるので、管理モデル単位で担当し、設計するという一般的な使用状況に合致した優先順位を求めることとなり、その優先順位により部品を完全ロードすれば、使用者が操作対象とする部品が完全ロードされている可能性が高くなり、完全ロードの待ちを回避して円滑に設計を行うことができるという効果を有する。
現在を基準とした所定期間内とは、今から所定期間前までの間のことである。例えば、所定期間が１日であれば今から１日前までの間が該当する。所定期間は使用者が設定してもよい。
【００３５】
所定時は使用者が設定してもよい。所定時は、例えば、現在処理対象となっているＣＡＤデータを前回読み出したとき、現在処理対象となっているＣＡＤデータを今回読み出したときが該当する。読み出したときだけでなく、参照したとき、更新したときでもよい。現在処理対象となっているＣＡＤデータを前回読み出したときを所定時とした場合には、前回読み出した以降に更新された各管理モデルにおける部品の比率又は個数が所定閾値以上である部品が優先されて優先順位を求めるので、前回の使用状況に応じて多く使用した管理モデルの部品が完全ロードされ易くなり、使用者の使用実態により合致した完全ロードを行うことができる。
【００３６】
（４）  ［インデックスファイル］
本発明に係るＣＡＤデータのロード装置は必要に応じて、前記部品の参照及び／又は更新を少なくとも複数部品で使用される共通のインデックスファイルに記録する手段を新たに含むものである。
【００３７】
このように本発明においては、部品毎に別途のアクセスが必要となるように参照及び／又は更新を記録する場合と比べ、複数部品で共通に使用されるインデックスファイルにその複数部品の参照及び／又は更新を記録するので、複数部品の参照及び／又は更新が必要となった場合に部品数に応じたアクセスは不要であり、インデックスファイルにアクセスするだけで複数部品の参照及び／又は更新を取得することができると効果を有する。
【００３８】
少なくとも複数部品で使用されるとしているのは、インデックスファイルに管理モデルの全部品の参照又は更新を記録する場合、インデックスファイルにＣＡＤデータの全部品の参照又は更新を記録する場合、インデックスファイルに処理する全ての部品の参照又は更新を記録する場合が含まれるからである。いずれにしろ、共通のインデックスファイルに参照及び／又は更新を記録することで、それぞれの部品単位に記録する場合と比べアクセス回数を減じることができる。それぞれの部品単位に記録する場合には、例えば部品の属性として保有する。
【００３９】
（５）  ［表示ロードへのきりかえによるメモリの解放］
本発明に係るＣＡＤデータのロード装置は必要に応じて、前記許容されるメモリ量を超えて部品が完全ロードされているか否かを判断する手段と、許容されるメモリ量を超えて部品が完全ロードされていると判断した場合に、完全ロード済みの部品を求めた部品の優先順位の低い部品を許容されるメモリ量を超えなくなるまで完全ロードから表示ロードにきりかえる手段とを含むものである。
【００４０】
このように本発明においては、部品の完全ロードが所定以上になされている場合に、完全ロードしている部品の中から求めた部品の優先順位の低い順に所定以下となるまで完全ロードから表示ロードにきりかえるので、部品の完全ロードによる過大なメモリ量の占有による動作不具合の発生を回避することができるという効果を有する。
【００４１】
この発明を適用するトリガとしては、ＣＡＤシステムを実行中定期的に前記「前記許容されるメモリ量を超えて部品が完全ロードされているか否かを判断する手段」を実行する。
ここで、使用者による指示による完全ロードがなされたことを検出する手段を備え、検出後に前記「前記許容されるメモリ量を超えて部品が完全ロードされているか否かを判断する手段」を実行してもよい。
【００４２】
本発明は方法としても、プログラムとしても把握することができる。
これら前記の発明の概要は、本発明に必須となる特徴を列挙したものではなく、これら複数の特徴のサブコンビネーションも発明となり得る。
【発明を実施するための最良の形態】
【００４３】
（本発明の第１の実施形態）
本発明の第１の実施形態に係るＣＡＤデータのロード装置をＣＡＤシステムに組み込まれている機能として説明する。
【００４４】
［１．ハードウェア構成］
図２は本実施形態に係るＣＡＤシステムが構築されるコンピュータのハードウェア構成図である。
ＣＡＤシステムが構築されるコンピュータは、ＣＰＵ(Central Processing Unit)１１、ＤＲＡＭ(Dynamic Random Access Memory)等のメインメモリ１２、ＲＯＭ１３、外部記憶装置であるＨＤ(hard disk)１４、ネットワークに接続するための拡張カードであるＬＡＮカード１５、入力装置であるマウス１６及びキーボード１７、画面表示機能を有するビデオカード１８、音声の入出力機能を有するサウンドカード１９、出力装置であるディスプレイ１８ａとスピーカー１９ａ、ＣＤ−ＲＯＭからデータを読み出すＣＤ−ＲＯＭドライブ２０からなる。
【００４５】
ＣＤ−ＲＯＭ等の外部記憶媒体に記録されているＣＡＤプログラムをコンピュータのＨＤに複製し、ＣＡＤプログラムが読み出し可能となって実行できる状態とする所謂インストールを行うことでコンピュータ上にＣＡＤシステムが構築されることになる。
ＣＡＤシステムには設計に必要な様々な機能が提供されているが、ＣＡＤデータのロードもその機能の一つとして、本実施形態では説明する。ただし、ＣＡＤデータのロード装置単体としても存在することができ、例えば、ＣＡＤシステムの要求に応じてＣＡＤデータのロード処理を実行する構成であってもよい。
【００４６】
［２．ブロック構成］
図３は本実施形態に係るＣＡＤシステムのブロック構成図である。
ＣＡＤシステムの制御は、ＣＡＤ処理制御部１１１、表示制御部１１２及びロード制御部１１３により行なわれている。これらの制御部自身もメモリ１２に読み出されたプログラムをＣＰＵ１１が実行することで実現されている。
【００４７】
ＣＡＤ処理制御部１１１は、使用者からの各種指示に応じて、ＣＡＤデータの作成・編集等のＣＡＤ処理を行う。例えば、使用者からのファイルオープンの指示を受け、ＣＡＤデータをロード制御部１１３を介して記憶装置１４から読み出し、メモリ１２に展開し、使用者からの指示を受け付ける。使用者に提供している機能は、ＧＵＩのツールボックス、メニューバーで表示しており、使用者はそのツールボックス、メニューバーで機能を選択し、モデル描画領域で表示されているモデルを指定することで指示を行う。ＣＡＤ処理制御部１１１は、使用者からの指示を受け、その指示に係る処理を実行する。ＣＡＤ処理制御部１１１自身もロード制御部１１３を介することなく、記憶装置１４からＣＡＤデータ、プログラムをロードすることもできる。勿論、ロード制御部１１３のみがロードする構成にすることもできる。
また、ＣＡＤ処理制御部１１１は、部品の参照、更新を受け、後説するインデックスファイルに記録する機能も有する。
【００４８】
表示制御部１１２は、ＣＡＤ処理制御部１１１の制御命令によりＣＡＤ処理制御部１１１が処理したデータを出力装置１８ａに表示する。たとえば、ＣＡＤ処理制御部１１１が使用者の要求に応じて作成したプリミティブを表示する。
【００４９】
ロード制御部１１３は、ＣＡＤ処理制御部１１１の制御命令により空きメモリ量及び優先度に応じて部品の完全ロードを実行する。言い換えれば、ロード制御部１１３は許容されたメモリ量まで優先順に部品を完全ロードする。背景技術では使用者に指定された部品のみを完全ロードしているのに対し、本発明では使用者に指定されない部品であってもこれから使用者の指示で完全ロードされる可能性が高い部品を優先的に完全ロードすることで、使用者が部品を完全ロードする指示をして新たに部品を完全ロードするまでの時間を省き、利便性を高めている。なお、ロード制御部１１３は、表示ロードする機能、使用者に指示された部品を完全ロードする機能も有する。
【００５０】
ロード制御部１１３は、インデックスファイルから情報を取得して部品の優先度を求め、優先順位に部品を空きメモリが許容値となるまで完全ロードする機能を有すると説明した。この機能だけでなく、ロード制御部１１３は使用者の指示により指定された部品の完全ロードを実行した場合で且つその完全ロードにより空きメモリ量が許容値を下回った場合にロード制御部自身１１３が完全ロードした部品の中で優先順位の低い順に部品を空きメモリ量が許容値を上回るまで表示ロードにする機能も有する。ただし、完全ロードから表示ロードに移行する場合には、その部品に対して更新がなされているか否かを判断し、更新されている場合にはその部品のデータを更新する。ここで、更新がなされている部品に対しては完全ロードから表示ロードへの移行の処理をしない構成にすることもできる。完全ロードから表示ロードへの移行は、部品の完全ロードによりロードされた情報全てを一旦解放して表示ロードする方法と、部品の表示ロードによりロードされる情報のみを残して解放する方法とを採ることができる。
【００５１】
［２．１  空きメモリ量］
空きメモリ量は、利用可能なメモリ量のことである。メモリ容量は物理的なメモリ容量と仮想的なメモリ容量も含めたメモリ容量がある。本実施形態においては、物理的なメモリ容量とし、空きメモリ量はこの物理的なメモリ量において利用可能なメモリ量のことであるとする。
【００５２】
本実施形態では空きメモリ量が許容値になるまでは部品を完全ロードする。許容値は使用者が設定できる変更可能な値でもよく、本実施形態では例示として物理的なメモリ容量に所定閾値［％］乗算したものを許容値とする。例えば、物理的なメモリ容量を５１２［ＭＢ］とし、７０［％］までは本システムで使用するとして所定閾値を３０［％］とすれば許容値はおおよそ１５０［ＭＢ］となる。
【００５３】
［２．２  優先度］
本実施形態では部品を対象単位とし、各部品の優先度を求め、その優先度が高い順に完全ロードを空きメモリ量が許容値になるまで完全ロードする。部品の優先度は部品の参照日時及び参照回数から求める。つまり、前記（１）式を用いる。したがって、部品の参照日時及び参照回数を予めＣＡＤシステムが記録する必要がある。そして、記録している部品の参照日時及び参照回数を（１）式に代入して優先度を求める。優先度は各部品毎に求め、優先度の降順に部品を並び替える。本実施形態では対象単位を部品としたが、モデル、ユニット、サブアセンブリ、アセンブリ、ファイルなどのＣＡＤシステム上の設計対象物の構成要素を対象単位として実現することができる。また、本実施形態では、部品の参照日時及び参照回数を用いたが、代わりに更新日時及び更新回数を使用してもよいし、参照日時、参照回数、更新日時及び更新回数を使用した前記（２）式を用いて求めてもよい。
【００５４】
［２．３  インデックスファイル］
部品の参照日時及び参照回数はインデックスファイルに記録する。部品の属性データとして部品毎に記録する方法を使用するよりも、全部品の参照日時及び参照回数を別途記録しておくことは部品の参照日時及び参照回数を優先度を求めるために取得するときに各部品の属性データを読み出す必要がなくインデックスファイルにアクセスすれば全部品の優先度を求めることができるというメリットを有する点で優れている。インデックスファイルはコンピュータ毎又はユーザ毎に作成されることが好ましい。ただし、複数のコンピュータ又は複数のユーザで使用する場合に、インデックスファイルをコンピュータ毎又はユーザ毎に画定して使用することはできる。インデックスファイルとしているが、ファイルとして存在することなく、他の統一的なデータに内包される形で存在してもよい。例えば、アセンブリ情報やプロジェクト情報等の設計対象物のルート情報に内包されてもよいし、各コンピュータのシステムデータ、各ユーザのプロファイルデータに内包されてもよい。これらのようにインデックスファイルをコンピュータ毎又はユーザ毎に作成することで、各コンピュータでのＣＡＤシステムの使用状況又は各ユーザのＣＡＤシステムの使用状況に応じた部品の優先順位となり、各コンピュータ又は各ユーザに最適な態様で部品の完全ロードがなされることになる。全コンピュータ又は全ユーザで共通のインデックスファイルを使用した場合には、全コンピュータ又は全ユーザの平均的な使用状況の優先順位となって、必ずしも現在使用しているコンピュータ又はユーザにとって最適な部品の完全ロード状況とはいえない。
【００５５】
図４は本実施形態に係るインデックスファイルの一例である。インデックスファイルは、モデルパス、モデル名、更新情報ポイント及び参照情報ポイントのフィールドを有する。モデルパスはモデルのファイルの所在を示すパス(path)である。モデル名はモデルのファイル名である。更新情報ポインタは、更新情報の所在位置を示す。参照情報ポインタは、参照情報の所在位置を示す。図４の例では、部品、アセンブリ、ユニットがそれぞれファイルとして存在する構成となっているが、一つのファイルに部品、アセンブリ、ユニットを含む構成であってもよい。部品毎、アセンブリ毎、ユニット毎にファイルとなっている構成であれば、ファイルの更新日、参照日を用いてもよい。ＣＡＤシステムはどのモデルに対して更新、参照がなされたかを把握しており、インデックスファイルを更新することができる。更新、参照の検出は、使用者に指示された時点でもよいし、その指示に係る機能が実行される時点であってもよい。
【００５６】
［３．動作］
動作主体はＣＡＤシステム、本実施形態でのモジュールとしているが、ハードウェア観点からすると、ＣＰＵである。また、モジュール構成は当業者であれば明らかなように多種多様な変更をすることができ、同じモジュールであっても異なる機能を付与して実装することもできる。
【００５７】
［３．１  アセンブリロード］
図５は本実施形態に係るＣＡＤシステムのアセンブリロードのフローチャートである。
使用者がＣＡＤシステムの起動をマウスなどの入力装置を通して指示すると、インストールされているＣＡＤプログラムがハードディスクからメインメモリに読み出され、ＣＡＤシステムを使用可能な状態に移行する。
ＣＡＤシステムはディスプレイを通して利用者に対してファイルのオープンを促す。
使用者はＣＡＤデータのファイルをマウスなどの入力装置を通して指定する。アセンブリと部品のどちらも含まれているファイルであればそのファイルを、アセンブリと部品が別々のファイルに含まれているのであればアセンブリのファイルを指定する。
【００５８】
ロード制御部１１３は使用者から指定されたファイルからアセンブリ情報を読み出し、部品名のリストを取得する（ステップ１０１）。これにより、アセンブリツリーを表示することもできる。アセンブリ情報には設計対象物を構成する部品名のリスト、部品の位置、姿勢が含まれている。アセンブリツリーは、ルートアセンブリートップとして構成要素であるアセンブリ、サブアセンブリ、部品を階層的に示したものである。ＣＡＤ処理制御部１１１がアセンブリ情報を読み出し、ロード制御部１１３は部品名のリストを取得する構成であってもよい。
【００５９】
ロード制御部１１３はインデックスファイルも読み出し、（１）式を用いて各部品の優先度を求め、求めた優先度からロードする部品を優先順位の高い順に並び替える（ステップ１１１）。
優先順位に従い、ロード対象の部品がなくなるまで定義済み処理となる部品ロード処理（ステップ２００）を実行する。部品ロード処理については次項で説明する。
これらのロードがなされることで、指定されたアセンブリがモデル表示領域に描画され、使用者が設計作業を行うことができる。
【００６０】
［３．２  部品ロード］
図６は本実施形態に係るＣＡＤシステムの部品ロードのフローチャートである。
ロード制御部１１３は表示ロードフラグが「ＯＦＦ」であるか否かを判断する（ステップ２０１）。
表示ロードフラグが「ＯＦＦ」であると判断した場合、ロード制御部１１３は空きメモリを測定する（ステップ２１１）。言い換えれば、システムコールを利用してＯＳから空きメモリ量を取得する。
【００６１】
ロード制御部１１３はロード対象部品をメインメモリにロードした場合に必要となるメモリ量を取得する（ステップ２２１）。例えば、ファイル内のロード対象部品のデータを特定し、データの先頭からデータの終わりからデータ量を求める。また、ロード対象部品の前回ロード時に必要であったメモリ量を保存時に記録し、その記録したデータ量を読み出すことでも取得することができる。
【００６２】
ロード制御部１１３は取得した空きメモリ量と求めたロード対象部品の必要メモリ量の差を求め、その差が許容値よりも値が大きいか否かを判断する（ステップ２３１）。
その差が許容値よりも値が大きいと判断した場合には、ロード制御部１１３はロード対象部品を完全ロードする（ステップ２４１）。
【００６３】
一方、その差が許容値よりも値が大きくないと判断した場合には、以降のロード対象部品で重複した処理の実行を回避すべくロード制御部１１３は表示ロードフラグをＯＮにする（ステップ２５１）。続けて、ロード制御部１１３はロード対象部品を表示ロードする（ステップ２６１）。
【００６４】
［３．３  モデル活性化］
図７は本実施形態に係るＣＡＤシステムのモデル活性化のフローチャートである。
使用者は編集しようとした部品が、例えば、アセンブリツリー上の該当部品のアイコンにより、表示ロード状態であることを知る。そして、使用者は該当部品を編集すべく、該当部品の完全ロードをマウス１６などの入力装置を介して指示する。
【００６５】
ロード制御部１１３は、使用者からの指示を受け、指定された部品を完全ロードする（ステップ３０１）。
ロード制御部１１３は空きメモリ量を取得する（ステップ３１１）。
ロード制御部１１３は取得した空きメモリ量が許容値よりも大きいか否かを判断する（ステップ３２１）。
【００６６】
空きメモリ量が許容値よりも大きいと判断した場合には、ロード制御部１１３は完全ロード済みの部品を優先順位に応じて並び替える（ステップ３３１）。優先度はステップ１１１で求めたものを使用することもできるし、ロード制御部１１３が新たに求めてもよい。
そして、完全ロード済みの部品を優先順位で次の処理を実行する（ステップ３４１、ステップ３４２）。
【００６７】
ロード制御部１１３は対象ロード済みの部品の表示ロードのデータのみを残し、他の完全ロードのデータを解放する（ステップ３５１）。完全ロードのデータを全て解放し、再度該当部品の表示ロードを実行してもよい。
ロード制御部１１３は空きメモリ量を取得する（ステップ３６１）。
ロード制御部１１３は取得した空きメモリ量が許容値よりも大きいか否かを判断する（ステップ３７１）。
空きメモリ量が許容値よりも大きいと判断した場合には、ループを抜ける。
空きメモリ量が許容値よりも大きくないと判断した場合には、ループの先頭に戻る。
【００６８】
（その他の実施形態）
［機能別の優先度の求め方］
現在指示又は実行されている機能に基づき優先度の求め方を変更する構成にすることもできる。そうすることで、限りあるリソースを最大限に利用することで、使用者が待つことなく、円滑に設計作業を行うことができる。
【００６９】
ＣＡＤシステム上で使用者に提供されている機能は、大きく分けると、モデルのデータを更新しない参照用機能と、モデルのデータを更新する編集用機能に分けることができる。参照用機能の具体例は、干渉、検証、解析等の機能である。編集用機能の具体例は、形状編集、属性付加等の機能である。ここでの機能は表示データのみで実行できない機能である。例えば、干渉の確認、形状編集には表示データではなく幾何データが必要となる。
【００７０】
前記第１の実施形態においては、部品の優先度を（１）式により図５のＳ１１１で求めた。そして、参照回数と参照日時以外に、更新回数と更新日時を用いることやそれらを合わせて用いることも既に説示した。ここでは、（２）式を用いる。
【００７１】
ここでは、図５のフローチャートで示される処理が開始されるタイミングが異なる。つまり、現在指示又は実行されている機能が変化した場合に図５の処理が実行され、指示又は実行されている機能が参照用機能か編集用機能かで（２）式のパラメータが変更され、優先度を求める。
【００７２】
［同一ユニット、サブアセンブリ、アセンブリの構成要素への操作を考慮した優先度の求め方］
各ユニット、各サブアセンブリ、各アセンブリにおいて現在を基準として所定期間内に更新された部品の比率が所定閾値以上である場合には、そのユニット、サブアセンブリ、アセンブリに属する部品が優先的に完全ロードされるように構成する。優先的に完全ロードされるためには、該当部品の求める優先度を式の係数を大きくして高めたり、優先順位を上げたりして実現することができる。
【００７３】
この構成を適用するのは、図５のフローチャートのように使用者によりファイルが指定され、アセンブリ情報が読み出されるタイミングであってもよいが、図５のフローチャートの処理が実行された後の使用者が設計を行っているときに所定間隔毎に実行してもよい。
なお、現在を基準として所定期間としたが、先回現在のファイルがオープンされている間又は現在のファイルがオープンしている間とすることもできる。
【００７４】
［特定の部品に近い部品の優先度の求め方］
操作対象が切り換わったときに、その操作対象となった部品に距離的に近い部品を距離の順序で完全ロードする構成にすることもできる。下記（３）式を用いることで、操作対象となった部品に近い部品が優先的に完全ロードされる。
【００７５】
【数３】
2008084011.tif 000005
【００７６】
参照回数、参照日時、更新回数、更新日時の式に（３）式を加えた式を用いて優先度を求める構成であってもよい。
他に、優先度は第１の実施形態と同様に参照回数、参照日時等を用いて距離を用いず求め、求めた優先度の中で最も高い優先度を有する部品を特定の部品とし、この特定の部品に距離的に近い部品を距離の順序で完全ロードする構成にすることもできる。
【００７７】
［自動ロードの禁止指定］
ロード制御部１１３による自動的な完全ロードは、開いたアセンブリを構成する部品全てが対象となるが、使用者が自動的な完全ロードをしない部品、サブアセンブリ、ユニット、アセンブリを指定することを受け付け、指定された部品、サブアセンブリを構成する部品、ユニットを構成する部品及びアセンブリを構成する部品を自動的に完全ロードしない構成にすることもできる。具体的には、図５のＳ１０１で取得した部品のリストから自動的に完全ロードしないとの指定を受けた部品を外し、Ｓ１１１でその指定に係る部品については優先度を求めない。
【００７８】
［ロード処理のタイミング］
前記第１の実施形態においては、Ｓ２２１でロード対象部品の必要メモリを取得し、空きメモリから必要メモリを減算して許容値と比較した後にロードしていた。
ここでは、どの部品まで完全ロードできるのか否かをはじめに求め、その後に完全ロードすると決定された部品は完全ロードし、表示ロードすると決定された部品は表示ロードする。
【００７９】
図８は本実施形態に係るＣＡＤシステムのアセンブリロードのフローチャートである。前記第１の実施形態と同一の処理について同一のステップ番号を付与しており、その説明を省略する。
ステップ２３１で許容値よりも大きいと判断された場合、ロード制御部１１３は次の部品があるか否かを判断する（ステップ３０１）。
【００８０】
次の部品があれば対象部品を次の部品にし（ステップ３１１）、ステップ２１１に戻る。
次の部品がなければ全ての部品を完全ロード（ステップ３２１）して終了する。
前記ステップ２３１で許容値よりも大きくないと判断された場合、ＣＰＵは対象部品を境界部品とする（ステップ３３１）。
【００８１】
ロード制御部１１３は境界部品よりも優先度の高い部品を完全ロードする（ステップ３４１）。
ロード制御部１１３は完全ロードした以外の部品を表示ロードする（ステップ３５１）。
このようにまとめて完全ロード及び表示ロードをした方が、メモリへのロード処理を高速に行うことができる場合がある。
【００８２】
以上の前記各実施形態により本発明を説明したが、本発明の技術的範囲は実施形態に記載の範囲には限定されず、これら各実施形態に多様な変更又は改良を加えることが可能である。そして、かような変更又は改良を加えた実施の形態も本発明の技術的範囲に含まれる。このことは、特許請求の範囲及び課題を解決する手段からも明らかなことである。
【００８３】
前記各実施形態に関し、次の付記を示す。
（付記）
（付記１）  ＣＡＤシステムによって生成された設計対象物を構成する部品を表示ロードし、使用者が指定した部品を完全ロードするＣＡＤデータのロード装置であって、
管理モデルを構成する部品を取得する手段と、取得した部品の参照及び／又は更新に基づき優先順位を求める手段と、許容されるメモリ量まで優先順位の高い部品を完全ロードする手段と、完全ロードしない部品を表示ロードする手段とを含むＣＡＤデータのロード装置。
【００８４】
（付記２）  指示された機能又は実行されている機能が表示データ以外の部品のデータを必要とする参照用機能か編集用機能かを判別する手段を新たに含み、指示された機能又は実行されている機能が参照用機能であると判断した場合、プロセッサは、前記「取得した部品の参照及び／又は更新に基づき優先順位を求める手段」で参照のみで又は参照に重きをおいて優先順位を求め、指示された機能又は実行されている機能が編集用機能であると判断した場合、前記「取得した部品の参照及び／又は更新に基づき優先順位を求める手段」で更新のみで又は更新に重きをおいて優先順位を求める前記付記１に記載のＣＡＤデータのロード装置。
【００８５】
（付記３）  現在を基準とした所定期間内又は所定時以降に更新された各管理モデルにおける部品の比率又は個数が所定閾値以上であるか否かを判断する手段と、現在を基準とした所定期間内又は所定時以降に更新された各管理モデルにおける部品の比率又は個数が所定閾値以上であると判断した場合に、前記「取得した部品の参照及び／又は更新に基づき優先順位を求める手段」で該当する管理モデルを構成する部品を該当しない管理モデルを構成する部品と比して優先させて優先順位を求める前記付記１に記載のＣＡＤデータのロード装置。
【００８６】
（付記４）  前記部品の参照及び／又は更新を少なくとも複数部品で使用される共通のインデックスファイルに記録する手段を新たに含む前記付記１ないし３のいずれかに記載のＣＡＤデータのロード装置。
【００８７】
（付記５）  前記許容されるメモリ量を超えて部品が完全ロードされているか否かを判断する手段と、許容されるメモリ量を超えて部品が完全ロードされていると判断した場合に、完全ロード済みの部品を求めた部品の優先順位の低い部品を許容されるメモリ量を超えなくなるまで完全ロードから表示ロードにきりかえる手段とを含む前記付記１に記載のＣＡＤデータのロード装置。
【００８８】
（付記６）  コンピュータ支援設計システムによって生成されたＣＡＤデータをプロセッサがロードするロード方法であって、プロセッサが、管理モデルを構成する部品を取得するステップと、プロセッサが、取得した部品の参照及び／又は更新に基づき優先順位を求めるステップと、プロセッサが、許容されるメモリ量まで優先順位の高い部品を完全ロードするステップと、プロセッサが、完全ロードしない部品を表示ロードするステップとを含むＣＡＤデータのロード方法。
【００８９】
（付記７）  コンピュータに、ＣＡＤシステムによって生成された設計対象物を構成する部品を表示ロードさせ、使用者が指定した部品を完全ロードさせるＣＡＤデータのロードプログラムであって、管理モデルを構成する部品を取得する手段と、取得した部品の参照及び／又は更新に基づき優先順位を求める手段と、許容されるメモリ量まで優先順位の高い部品を完全ロードする手段と、完全ロードしない部品を表示ロードする手段としてコンピュータを機能させるＣＡＤデータのロードプログラム。
【図面の簡単な説明】
【００９０】
【図１】部品の状況により必要とされるロードが異なることを説明する図である。
【図２】本発明の第１の実施形態に係るＣＡＤシステムが構築されるコンピュータのハードウェア構成図である。
【図３】本発明の第１の実施形態に係るＣＡＤシステムのブロック構成図である。
【図４】本発明の第１の実施形態に係るインデックスファイルの一例である。
【図５】本発明の第１の実施形態に係るＣＡＤシステムのアセンブリロードのフローチャートである。
【図６】本発明の第１の実施形態に係るＣＡＤシステムの部品ロードのフローチャートである。
【図７】本発明の第１の実施形態に係るＣＡＤシステムのモデル活性化のフローチャートである。
【図８】本発明のその他の実施形態に係るＣＡＤシステムのアセンブリロードのフローチャートである。
【図９】アセンブリツリーの一例である。
【図１０】使用者がアセンブリツリーを用いて完全ロードを指示したことを説明する図である。
【符号の説明】
【００９１】
１１  ＣＰＵ
１２  ＲＡＭ
１３  ＲＯＭ
１４  ＨＤ
１５  ＬＡＮカード
１６  マウス
１７  キーボード
１８  ビデオカード
１８ａ  ディスプレイ
１９  サウンドカード
１９ａ  スピーカー
２０  ドライブ
１１１  ＣＡＤ処理制御部
１１２  表示制御部
１１３  ロード制御部
【図１】
2008084011.tif 000006
【図２】
2008084011.tif 000007
【図３】
2008084011.tif 000008
【図４】
2008084011.tif 000009
【図５】
2008084011.tif 000010
【図６】
2008084011.tif 000011
【図７】
2008084011.tif 000012
【図８】
2008084011.tif 000013
【図９】
2008084011.tif 000014
【図１０】
2008084011.tif 000015