以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明の3次元CADシステムのシステム構成の一例を示す図である。本発明の3次元CADシステムは、情報処理装置101、サーバ102が設置されており、それら装置はLAN(Local Area Network)等のネットワークを介して相互にデータ通信可能に接続されている。図1のネットワーク上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
情報処理装置101は、3次元モデル(設計物)の設計を行うユーザが使用する情報処理装置である。この情報処理装置101で作成された3次元モデルデータ(設計データ)はサーバ102で記憶管理される。
サーバ102は、情報処理装置101で作成された3次元モデルデータを記憶管理するサーバ装置である。
尚、情報処理装置101が、サーバ102の構成を含んでもよいし、サーバ102が情報処理装置101の構成を含んでもよい。
次に、図2を参照して、本発明の情報処理装置101及びサーバ102に適用可能な情報処理装置のハードウェア構成について説明する。
CPU201は、システムバス204に接続される後述の各デバイスやコントローラを統括的に制御する。また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、管理サーバ或いは各端末の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。RAM203は、CPU201の主メモリ、ワークエリア等として機能する。
CPU201は、処理の実行に際して必要なプログラム等をRAM203にロードして、プログラムを実行することで各種動作を実現するものである。また、入力コントローラ(入力C)205は、キーボードやポインティングデバイス等で構成される入力装置209からの入力を制御する。ビデオコントローラ(VC)206は、ディスプレイ装置210等の表示装置への表示を制御する。ディスプレイ装置は、例えばCRTディスプレイや液晶ディスプレイ等で構成される。
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ装置210上での表示を可能としている。また、CPU201は、ディスプレイ装置210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
本発明の情報処理装置101が後述する各種処理を実行するために用いられるプログラムは外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ211に格納されている。
次に、情報処理装置101及びサーバ102のモジュール構成を示す機能構成図について、図3を用いて説明する。尚、図3の各種端末あるいはサーバのモジュール構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
情報処理装置101は、重量条件受付モジュール301、寸法値取得モジュール302、寸法許容範囲算出モジュール303、表示モジュール304、変更寸法値受付モジュール305、寸法値更新モジュール306、重量超過判定モジュール307、材料選択受付モジュール308、材料密度更新モジュール309、形状変更受付モジュール310及び形状記憶モジュール311を備える。
重量条件受付モジュール301は、ユーザによって設計された設計物の設計データの最大重量と最小重量の入力を受け付ける機能を有する。
寸法値取得モジュール302は、設計データを構成する各寸法値を取得する機能を有する。
寸法許容範囲算出モジュール303は、重量条件受付モジュール301で入力を受け付けた設計データの最大重量と最小重量に収まるような寸法の許容範囲を算出する機能を有する。
表示モジュール304は、各種画面やデータをディスプレイ装置210上に表示する機能を有する。
変更寸法値受付モジュール305は、変更を行う寸法の寸法値の入力を受け付ける機能を有する。
寸法値更新モジュール306は、変更を行う寸法の寸法値を変更寸法値受付モジュール305で受け付けた寸法値に更新する機能を有する。
重量超過判定モジュール307は、変更寸法値受付モジュール305で受け付けた寸法値と設計モデル情報記憶モジュール312から算出された重量が重量条件受付モジュール301で受け付けた重量の許容範囲を超えているか否かを判定する機能を有する。
材料選択受付モジュール308は、設計データを構成する材料の選択を受け付ける機能を有する。
材料密度更新モジュール309は、設計データを構成する材料と当該材料の密度を材料選択受付モジュール308で受け付けた材料と当該材料の密度に更新する機能を有する。
形状変更受付モジュール310は、設計データの形状変更を受け付ける機能を有する。
形状記憶モジュール311は、形状変更受付モジュールで受け付けた新たな形状を設計モデル情報記憶モジュール312に記憶する機能を有する。
サーバ102は、設計モデル情報記憶モジュール312を備える。
設計モデル情報記憶モジュール312は、設計データの形状、設計データを構成する寸法、寸法値、設計データを構成する材料、材料の密度などを設計データごとに記憶する機能を有する。
尚、設計モデル情報記憶モジュール312は、情報処理装置101に備えてもよい。この場合、サーバ102は不要となるため、情報処理装置101のみで処理が可能となる。
次に、本発明の実施例における情報処理装置101によって行われる処理について、図4に示すフローチャートを用いて説明する。尚、情報処理装置101のCPU201がS101乃至S112の各ステップの処理を行う際には、外部メモリ211に記憶されているCADプログラムをRAM203にロードし、その制御に従って行うことになる。
ステップS101では、情報処理装置101は、情報処理装置101を操作するユーザによって入力された各種の指示に従ってCADプログラム上で設計物の3次元モデル(設計データ)を作成する。その後、作成した3次元モデルを情報処理装置101の外部メモリ211に記憶する。尚、サーバ102の外部メモリ211に記憶してもよい。また、3次元モデルが作成されるとともに、当該3次元モデルに対応するフィーチャー寸法情報テーブル500(図5参照)と材料・重量情報テーブル600(図6参照)が作成される。
図5は、図4のステップS101において外部メモリ211に記憶されるフィーチャー寸法情報テーブル500(設計モデル情報記憶手段)の一例を示す図である。フィーチャー寸法情報テーブル500は、3次元モデルを構成する要素の名称を示すフィーチャー名501、構成要素の寸法名を示すフィーチャー寸法名502、構成要素の寸法値を示すフィーチャー寸法値503から構成される。フィーチャーとは、3次元モデルを構成する要素であり、各フィーチャーを組み合わせることにより3次元モデルが設計される。このフィーチャーの寸法のことをフィーチャー寸法と示すこととする。尚、テーブルの構成はこれに限らない。
図6は、図4のステップS101において外部メモリ211に記憶される材料・重量情報テーブル600(設計モデル情報記憶手段)の一例を示す図である。材料・重量情報テーブル600は、項目の名称を示す項目名601、項目名601に対応する項目についての値を示す値602から構成される。尚、テーブルの構成はこれに限らない。
項目名601に設定される情報としては、「材料」、「材料密度」、「体積」、「重量」等がある。例えば、項目名601が「材料」である場合、値602には3次元モデルに設定された材料の材料名が設定される。項目名601が「材料密度」である場合、値602には3次元モデルに設定された材料の材料密度が設定される。項目名601が「体積」である場合、値602には3次元モデルに設定された3次元モデル形状から算出される3次元モデルの体積が設定される。項目名601が「重量」である場合、値602には3次元モデルの体積と材料密度から算出される3次元モデルの重量が設定される。
ステップS102では、情報処理装置101は、ユーザからの指示があった場合に、フィーチャー寸法一括編集画面700(図7参照)をディスプレイ装置210に表示する。
図7は、図4のステップS102においてディスプレイ装置210に表示されるフィーチャー寸法一括編集画面700の一例を示す図である。フィーチャー寸法一括編集画面700は、MIN重量701、MAX重量702、材料703、密度704、現在重量705、変寸後重量706、フィーチャー寸法リスト707、調整ボタン708、反映ボタン709、閉じるボタン710が設定されている。フィーチャー寸法リスト707は、フィーチャー名列711、フィーチャー寸法名列712、フィーチャー寸法値列713、最小値列714、最大値列715から構成される。
MIN重量701は、3次元モデルの重量条件として重量の最小値を入力するための入力欄である。MAX重量702は、3次元モデルの重量条件として重量の最大値を入力するための入力欄である。材料703は、材料・重量情報テーブル600の項目名601が「材料」である場合の値602を表示する表示欄である。密度704は、材料・重量情報テーブル600の項目名601が「材料密度」である場合の値602の値を表示する表示欄である。現在重量705は、材料・重量情報テーブル600の項目名601が「重量」である場合の値602の値を表示する表示欄である。変寸後重量706は、後述するステップS110やS111、S112の処理により、フィーチャー寸法一括編集画面700の入力値に基づいて更新された3次元モデルの重量を表示する表示欄である。フィーチャー寸法リスト707は、フィーチャー寸法情報テーブル500と、後述するステップS106やS110の処理により算出される各フィーチャー寸法の寸法許容範囲を各行に表示する表示欄である。フィーチャー寸法リスト707内の、フィーチャー名列711にはフィーチャー名501を表示する。フィーチャー寸法リスト707内の、フィーチャー寸法名列712には、フィーチャー寸法名502を表示する。フィーチャー寸法リスト707内の、フィーチャー寸法値列713には、フィーチャー寸法値503を表示する。フィーチャー寸法リスト707内の、最小値列714には、MIN重量701とMAX重量702を3次元モデルの重量条件とした場合の各行のフィーチャー寸法値の許容範囲の最小値を表示する表示欄である。フィーチャー寸法リスト707内の、最大値列715には、MIN重量701とMAX重量702を3次元モデルの重量条件とした場合の各行のフィーチャー寸法値の許容範囲の最大値を表示する表示欄である。調整ボタン708は、本画面に表示または編集されたフィーチャー寸法値で3次元モデルを更新した結果、3次元モデルが指定された重量条件を満たさないと判断した場合に3次元モデルの形状や材料を変更するための調整(軽量化)画面2100又は調整(重量化)画面2200を呼び出すためのボタンである。反映ボタン709は、本画面に表示された情報で3次元モデルの形状・材料を更新するためのボタンである。閉じるボタン710は、本画面を終了するためのボタンである。以上が図7のフィーチャー寸法一括編集画面700の説明である。
項目名601に設定される情報としては、「材料」、「材料密度」、「体積」、「重量」等がある。例えば、項目名601が「材料」である場合、値602には3次元モデルに設定された材料の材料名が設定される。項目名601が「材料密度」である場合、値602には3次元モデルに設定された材料の材料密度が設定される。項目名601が「体積」である場合、値602には3次元モデルに設定された3次元モデル形状から算出される3次元モデルの体積が設定される。項目名601が「重量」である場合、値602には3次元モデルの体積と材料密度から算出される3次元モデルの重量が設定される。
ステップS103では、情報処理装置101は、3次元モデルを構成するすべてのフィーチャーの情報をフィーチャー寸法情報テーブル500から取得し、フィーチャー寸法一括編集画面700に表示する処理を行う。寸法情報取得処理の詳細は後述する図8に示す。
ステップS104では、情報処理装置101は、3次元モデルの材料・重量に関する情報を材料・重量情報テーブル600から取得し、フィーチャー寸法一括編集画面700に表示する処理を行う。重量情報取得処理の詳細は後述する図9に示す。
ステップS105では、情報処理装置101は、フィーチャー寸法一括編集画面700のMIN重量701、MAX重量702に3次元モデルの重量条件の入力を受け付ける(重量条件受付手段)。
ステップS106では、情報処理装置101は、ステップS105においてフィーチャー寸法一括編集画面700に入力された重量条件に基づき、各フィーチャー寸法が変更可能な範囲を示す寸法許容範囲を算出し、フィーチャー寸法一括編集画面700のフィーチャー寸法リスト707に表示する処理を行う。寸法許容範囲計算・表示処理の詳細は後述する図10に示す。
ステップS107では、情報処理装置101は、フィーチャー寸法一括編集画面700のフィーチャー寸法リスト707に表示された任意の行の選択を受け付ける。
ステップS108では、情報処理装置101は、ステップS107においてユーザにより任意の行が選択された場合、フィーチャー寸法一括編集画面700のフィーチャー寸法リスト707で選択された行が示すフィーチャー寸法をCADプログラム上でハイライト表示する処理を行う。選択寸法ハイライト処理の詳細は後述する図11に示す。
ステップS109では、情報処理装置101は、フィーチャー寸法一括編集画面700のフィーチャー寸法リスト707に表示された任意の行のフィーチャー寸法値列713の値の変更を受け付ける(変更寸法値受付手段)。
ステップS110では、情報処理装置101は、フィーチャー寸法一括編集画面700のフィーチャー寸法リスト707に表示された各フィーチャー寸法の寸法値と重量条件に基づき、各フィーチャー寸法の寸法許容範囲および各寸法値を3次元モデルに反映した場合の重量を算出し、フィーチャー寸法一括編集画面700の変寸後重量706に重量を、フィーチャー寸法リスト707の最小値列714、最大値列715に各フィーチャー寸法の寸法許容範囲を表示する処理を行う。寸法許容範囲更新処理の詳細は、後述する図12に示す。
ステップS111では、情報処理装置101は、フィーチャー寸法一括編集画面700に表示された変寸後重量706の値がMIN重量701より小さい場合、またはMAX重量702より大きい場合は、調整ボタン708を使用可能な状態に変更し、調整ボタン708の押下を受け付ける。ユーザからの操作により調整ボタン708が押下された場合に、図形調整処理を行う。図形調整処理の詳細は、後述する図13に示す。
ステップS112では、情報処理装置101は、ユーザからの操作によって反映ボタン709が押下されると、フィーチャー寸法一括編集画面700の材料703、密度704、フィーチャー寸法リスト707のフィーチャー寸法値列713の値に基づき、3次元モデルのフィーチャー寸法情報テーブル500及び材料・重量情報テーブル600を更新する処理を行う。寸法一括変更処理の詳細は、後述する図14に示す。ステップS112の処理終了後、本一連の処理を終了する。
次に、各フィーチャーの寸法を取得する処理について図8に示すフローチャートを用いて説明する。尚、情報処理装置101のCPU201がS201乃至S205の各ステップの処理を行う際には、外部メモリ211に記憶されているCADプログラムをRAM203にロードし、その制御に従って行うことになる。
まず、図15を参照して、寸法情報取得処理の表示画面の一例について説明する。例えば、図15に示すように、処理対象となる3次元モデル1500には、3つのフィーチャー寸法1501、1502、1503が設定されている。フィーチャー寸法1501は、フィーチャー名501が「スケッチ1」、フィーチャー寸法名502が「D1」、フィーチャー寸法値503が「50」である。フィーチャー寸法1502は、フィーチャー名501が「スケッチ1」、フィーチャー寸法名502が「D2」、フィーチャー寸法値503が「100」である。フィーチャー寸法1503は、フィーチャー名501が「押し出し1」、フィーチャー寸法名502が「D1」、フィーチャー寸法値503が「20」である。この3次元モデルに対し、前述した寸法情報取得処理が実行されると、図15のフィーチャー寸法一括編集画面1504に示すように、フィーチャー寸法リスト1505に3次元モデル1500の各フィーチャー寸法の情報を表示する。
ステップS201では、情報処理装置101は、3次元モデルに含まれるフィーチャー寸法情報テーブル500に格納されたレコード数を取得し、変数nに代入する。
ステップS202では、情報処理装置101は、変数iに1を代入し、その後、変数iの値が変数nに代入された値を超えない間、ステップS202からS205の処理を繰り返す。
ステップS203では、情報処理装置101は、フィーチャー寸法情報テーブル500からi番目のレコードを取得し、当該レコードのフィーチャー名501、フィーチャー寸法名502及びフィーチャー寸法値503をRAM203に記憶する。
ステップS204では、情報処理装置101は、フィーチャー寸法一括編集画面700のフィーチャー寸法リスト707のi行目にレコードを追加する。
ステップS205では、情報処理装置101は、ステップS204において追加されたレコードにステップS203においてRAM203に記憶された各情報を格納してディスプレイ装置210に表示させる。具体的には、フィーチャー寸法リスト707のi行目のフィーチャー名列711にフィーチャー名501を格納し、フィーチャー寸法名列712に取得したフィーチャー寸法名502を格納し、フィーチャー寸法値列713にフィーチャー寸法値503を格納して、ディスプレイ装置210に表示させる。
ステップS205の処理終了後、情報処理装置101は処理をステップS202に進め、変数iに1追加の後、変数iの値が変数nの値以下であるかを判断する。変数iの値が変数nの値以下であると判断した場合には、ステップS203からの処理を繰り返す。一方、変数iの値が変数nの値を超えたと判断した場合には、寸法情報取得処理を終了する。
次に、3次元モデルの重量と材料を取得する処理について図9に示すフローチャートを用いて説明する。尚、情報処理装置101のCPU201がS301乃至S304の各ステップの処理を行う際には、外部メモリ211に記憶されているCADプログラムをRAM203にロードし、その制御に従って行うことになる。
まず、図16を参照して、重量情報取得処理の表示画面の一例について説明する。例えば、図16に示すように、処理対象となる3次元モデル1601には、材料・重量情報テーブル600に格納された情報として材料名に「ステンレス鋼(鋳造)」、材料密度に「0.0077g/mm^3」、体積に「100,000mm^3」、重量に「770g」が設定されている。この3次元モデルに対し、重量情報取得処理が実行されると、図16のフィーチャー寸法一括編集画面1602に示すように、材料1603に材料名、密度1604に材料密度、現在重量1605に重量を表示する。
ステップS301では、情報処理装置101は、ユーザによって作成された3次元モデルの材料・重量情報テーブル600から3次元モデルの体積と重量を取得する。具体的には、材料・重量情報テーブル600の項目名601が体積または重量となっているレコードの値602をそれぞれ取得する。
ステップS302では、情報処理装置101は、フィーチャー寸法一括編集画面700の現在重量705にステップS901において取得した重量を表示する。
ステップS303では、情報処理装置101は、ユーザによって作成された3次元モデルの材料・重量情報テーブル600から3次元モデルの材料名と材料密度を取得する。具体的には、材料・重量情報テーブル600の項目名601が材料名または材料密度となっているレコードの値602をそれぞれ取得する。
ステップS304では、情報処理装置101は、フィーチャー寸法一括編集画面700の材料703、密度704にステップS903において取得した材料名および材料密度を表示し、重量情報取得処理を終了する。
次に、各フィーチャー寸法の変更可能な範囲を示す寸法許容範囲を計算する処理について図10に示すフローチャートを用いて説明する。尚、情報処理装置101のCPU201がS401乃至S408の各ステップの処理を行う際には、外部メモリ211に記憶されているCADプログラムをRAM203にロードし、その制御に従って行うことになる。
まず、図18を参照して、寸法許容範囲計算・表示処理の表示画面の一例について説明する。例えば、図18に示すように、処理対象となる3次元モデル1800には、3つのフィーチャー寸法1801、1802、1803が設定されている。フィーチャー寸法1801は、フィーチャー名501が「スケッチ1」、フィーチャー寸法名502が「D1」、フィーチャー寸法値503が「50」である。フィーチャー寸法1802は、フィーチャー名501が「スケッチ1」、フィーチャー寸法名502が「D2」、フィーチャー寸法値503が「100」である。フィーチャー寸法1803は、フィーチャー名501が「押し出し1」、フィーチャー寸法名502が「D1」、フィーチャー寸法値503が「20」である。また、3次元モデル1800の材料・重量情報テーブル600の材料名に「ステンレス鋼(鋳造)」、材料密度に「0.0077g/mm^3」が設定されている。この3次元モデル1800に対し、寸法許容範囲計算・表示処理が実行されると、図18のフィーチャー寸法一括編集画面1805に示すように、フィーチャー寸法リスト1806の各行の最小値列1807、最大値列1808の値が表示される。これにより、ユーザに対して変更可能なフィーチャー寸法値の範囲を提示することができるので、ユーザは重量条件に合致するフィーチャー寸法をその都度計算する必要がなくなり、手戻りが大幅に削減できる。
ステップS401では、情報処理装置101は、ステップS105において入力を受け付けたフィーチャー寸法一括編集画面700のMIN重量701、MAX重量702の入力値を取得して、RAM203に記憶する。
ステップS402では、情報処理装置101は、ユーザによって作成された3次元モデルのフィーチャー寸法情報テーブル500のレコード数を取得し、変数nに代入する。
ステップS403では、情報処理装置101は、変数iに1を代入し、変数iの値が変数nに代入された値を超えない間、ステップS403からS408の処理を繰り返す。
ステップS409では、情報処理装置101は、フィーチャー寸法情報テーブル500のi番目以外のデータのフィーチャー寸法値503を取得し、RAM203に記憶する(寸法値取得手段)。
ステップS404では、情報処理装置101は、フィーチャー寸法のi番目以外のデータのフィーチャー寸法のフィーチャー寸法値503が変わらないものと仮定し、3次元モデルの重量がMIN重量701の入力値と等しくなるi番目のフィーチャー寸法の寸法値をCADプログラムで算出し、変数aに代入する(寸法許容範囲算出手段)。つまり、i番目に存在するフィーチャー寸法以外のフィーチャー寸法のフィーチャー寸法値503は固定であると仮定し、ステップS409において取得したフィーチャー寸法値503と当該3次元モデルを構成する材料の密度から、重量条件として入力されたMIN重量701まで重量を減らすことのできるi番目に存在するフィーチャー寸法のフィーチャー寸法値503を算出する。これにより、フィーチャー寸法値503の寸法許容範囲の最小値列714を求めることができる。詳細な算出方法は後述する。
ステップS405では、情報処理装置101は、ステップS404と同様に、フィーチャー寸法のi番目以外のデータのフィーチャー寸法のフィーチャー寸法値503が変わらないものと仮定し、3次元モデルの重量がMAX重量702の入力値と等しくなるi番目のフィーチャー寸法の寸法値をCADプログラムで算出し、変数bに代入する(寸法許容範囲算出手段)。つまり、i番目に存在するフィーチャー寸法以外のフィーチャー寸法のフィーチャー寸法値503は固定であると仮定し、ステップS409において取得したフィーチャー寸法値503と当該3次元モデルを構成する材料の密度から、重量条件として入力されたMAX重量702まで重量を増やすことのできるi番目に存在するフィーチャー寸法のフィーチャー寸法値503を算出する。これにより、フィーチャー寸法値503の寸法許容範囲の最大値列715を求めることができる。詳細な算出方法は後述する。
尚、ステップS404及びステップS405の寸法許容範囲の算出はCADプログラムで計算されるものであるが、その計算式の一例を図17に示す。
図17は、図10のステップS404及びS405においてCADプログラムで計算される寸法許容範囲の計算式の一例である。図17に示すように、処理対象となる3次元モデル1700には、3つのフィーチャー寸法1701、1702、1703が設定されている。フィーチャー寸法1701は、フィーチャー名501が「スケッチ1」、フィーチャー寸法名502が「D1」、フィーチャー寸法値503が「50」のフィーチャー寸法情報である。フィーチャー寸法1702は、フィーチャー名501が「スケッチ1」、フィーチャー寸法名502が「D2」、フィーチャー寸法値503が「100」のフィーチャー寸法情報である。フィーチャー寸法1703は、フィーチャー名501が「押し出し1」、フィーチャー寸法名502が「D1」、フィーチャー寸法値503が「20」のフィーチャー寸法情報である。また、3次元モデル1700には、材料・重量情報テーブル600として材料名に「ステンレス鋼(鋳造)」、材料密度に「0.0077g/mm^3」が設定されている。この3次元モデルの重量条件のMIN重量701が500g、MAX重量702が1,500gと設定されている場合の、フィーチャー寸法1701の許容範囲の算出方法を、計算式の一例1705に示す。
3次元モデルの重量がMIN重量701と等しくなるフィーチャー寸法1701のフィーチャー寸法値503は、当該フィーチャー寸法値503をAとし、「MIN重量=(X×他のフィーチャー寸法値×他のフィーチャー寸法値×・・・×他のフィーチャー寸法値)×材料密度」で求めることができる。よって、3次元モデル1700では、「500=(A×100×20)×0.0077」となり、「A=32.5(割り切れないため、小数点以下第2位を四捨五入)」となる。つまり、3次元モデルの重量がMIN重量701と等しくなるフィーチャー寸法1701のフィーチャー寸法値503は、「32.5」である。3次元モデルの重量がMAX重量702と等しくなるフィーチャー寸法1701のフィーチャー寸法値503を求める場合であっても同様の求め方で算出することができる。算出の結果、3次元モデルの重量がMAX重量702と等しくなるフィーチャー寸法1701のフィーチャー寸法値503は「97.4」である。以上から、フィーチャー寸法値Aの寸法許容範囲は、「32.5≦A≦97.4」となる。
図10の説明に戻る。ステップS406では、情報処理装置101は、ステップS404で取得した変数aの値がステップS405で取得した変数bの値よりも小さいか否かを判定する。変数aの値が変数bの値よりも小さいと判定した場合には、フィーチャー寸法一括編集画面700のフィーチャー寸法リスト707のi行目の最小値列714に変数aの値を表示し、最大値列715に変数bの値を表示する(ステップS407)(表示手段)。小さいと判定できなかった場合には、フィーチャー寸法一括編集画面700のフィーチャー寸法リスト707のi行目の最小値列714に変数bの値を表示し、最大値列715に変数aの値を表示する(ステップS408)(表示手段)。
ステップS407およびS408の処理終了後、情報処理装置101は処理をステップS403に進め、変数iに1追加の後、変数iの値が変数nの値以下であるかを判断する。変数iの値が変数nの値以下であると判断した場合には、ステップS404からの処理を繰り返す。一方、変数iの値が変数nの値を超えたと判断した場合には、寸法許容範囲計算・表示処理を終了する。
次に、選択されたフィーチャー寸法をハイライトで表示する処理について図11に示すフローチャートを用いて説明する。尚、情報処理装置101のCPU201がS501乃至S507の各ステップの処理を行う際には、外部メモリ211に記憶されているCADプログラムをRAM203にロードし、その制御に従って行うことになる。
まず、図19を参照して、選択寸法ハイライト処理による画面切り替えを示す模式図について説明する。例えば、図19に示すように、選択寸法ハイライト処理前の3次元モデル1902はCADアプリケーション上で任意の大きさ、方向で表示されている。フィーチャー寸法一括編集画面1901のフィーチャー寸法リスト1903に表示されているフィーチャー名が「押し出し1」、フィーチャー寸法名が「D1」の行を選択された場合、選択寸法ハイライト処理後の3次元モデル1902で示すように、フィーチャー名が「押し出し1」、フィーチャー寸法名が「D1」のフィーチャー寸法がCADアプリケーション上で目視できるように、3次元モデル1902が拡大・縮小・回転され、フィーチャー寸法がハイライト表示される。これにより、ユーザがどの寸法を変更しようとしているのかを確認できるようにする。
ステップS501では、情報処理装置101は、フィーチャー寸法一括編集画面700のフィーチャー寸法リスト707で選択されている行のフィーチャー名列711とフィーチャー寸法名列712の値を取得し、RAM203に記憶する。
ステップS503では、情報処理装置101は、ユーザによって作成された3次元モデルのフィーチャー寸法情報テーブル500のレコード数を取得し、変数nに代入する。
ステップS504では、情報処理装置101は、変数jに1を代入し、その後、変数jの値が変数nに代入された値を超えない間、ステップS504からS507の処理を繰り返す。
ステップS505では、情報処理装置101は、フィーチャー寸法情報テーブル500のj番目のレコードのフィーチャー名501をフィーチャー名j、フィーチャー寸法情報テーブル500のj番目のレコードのフィーチャー寸法名502をフィーチャー寸法名jとして取得する。
ステップS506では、情報処理装置101は、ステップS501においてRAM203に記憶されたフィーチャー名列711の値と、フィーチャー名jが一致し、且つステップS501においてRAM203に記憶されたフィーチャー寸法名列712の値と、フィーチャー寸法名jが一致するか否かを判定する。一致すると判定された場合、CADプログラム上に表示されている3次元モデルを回転、拡大、縮小してユーザに対して見やすくした上で、当該一致すると判定されたフィーチャー部分をハイライト表示した後、本処理を終了する(ステップS507)。一致すると判断できなかった場合には、jの値を1増やす。
ステップS507の処理終了後、情報処理装置101は処理をステップS504に進め、変数jの値が変数nの値以下であるか否かを判定する。変数jの値が変数nの値以下であると判定した場合には、ステップS505からの処理を繰り返す。一方、変数jの値が変数nの値を超えたと判断できない場合には、選択寸法ハイライト処理を終了する。
次に、フィーチャー寸法値列713がユーザからの操作によって変更された場合に寸法許容範囲を更新する処理について図12に示すフローチャートを用いて説明する。尚、情報処理装置101のCPU201がS601乃至S612の各ステップの処理を行う際には、外部メモリ211に記憶されているCADプログラムをRAM203にロードし、その制御に従って行うことになる。
まず、図20を参照して、寸法許容範囲更新処理の表示画面の一例について説明する。図20に示すように、寸法許容範囲更新処理前のフィーチャー寸法一括編集画面2001のフィーチャー寸法リスト2002の1行目には、フィーチャー名列2003が「スケッチ1」、フィーチャー寸法名列2004が「D1」、フィーチャー寸法値列2005が「50」と表示されている。フィーチャー寸法リスト2002の1行目のフィーチャー寸法値列2005を「50」から「90」に変更した場合、寸法許容範囲更新処理後のフィーチャー寸法一括編集画面2006では、変寸後重量2007、フィーチャー寸法リスト2008の各行の最小値列2009、最大値列2010の値が更新される。これにより、ユーザによってフィーチャー寸法値列713の値が変更されたとしても、変寸後重量706と、他のフィーチャーの最小値列714及び最大値列715が更新されるため、ユーザは常に最新の情報を元に、3次元モデルを構成する寸法値の変更を行うことができる。
ステップS601では、情報処理装置101は、3次元モデルのフィーチャー寸法情報テーブル500のレコード数を取得し、変数nに代入する。
ステップS602では、情報処理装置101は、変数iに1を代入し、その後、変数iの値が変数nに代入された値を超えない間、ステップS602からS603の処理を繰り返す。
ステップS603では、情報処理装置101は、フィーチャー寸法のi番目のデータのフィーチャー寸法情報を取得し、そのフィーチャー寸法値を元フィーチャー寸法値iに保存する。つまり、フィーチャー寸法情報テーブル500に記憶された情報をすべて一時的に退避させる。これにより、3次元モデルのフィーチャー寸法情報テーブル500に対して寸法値の更新を行うことなく、寸法許容範囲の計算や重量の算出を行うことができる。シミュレーションを行うことができる。
ステップS603の処理終了後、情報処理装置101は、変数iに1追加の後、変数iの値が変数nの値以下であるか否かを判定する。変数iの値が変数nの値以下であると判定した場合には、ステップS603の処理を繰り返す。一方、変数iの値が変数nの値を超えたと判定した場合には、ステップS604に移行する。
ステップS604では、フィーチャー寸法一括編集画面700の材料703、密度704、フィーチャー寸法リスト707のフィーチャー寸法値列713に基づき、3次元モデルのフィーチャー寸法情報テーブル500、材料・重量情報テーブル600を更新する。寸法一括変更処理の詳細は、後述する図14に示す。
ステップS605では、情報処理装置101は、ステップS105においてフィーチャー寸法一括編集画面700に入力された重量条件に基づき、各フィーチャー寸法が変更可能な範囲を示す寸法許容範囲を算出し、フィーチャー寸法一括編集画面700のフィーチャー寸法リスト707に表示する処理を行う。寸法許容範囲計算・表示処理の詳細は前述の通りである。
ステップS606では、情報処理装置101は、3次元モデルの材料・重量情報テーブル600から3次元モデルの体積と重量を取得する。
ステップS607では、情報処理装置101は、フィーチャー寸法一括編集画面700の変寸後重量706にステップS606で取得した重量を表示する。
ステップS608では、情報処理装置101は、フィーチャー寸法一括編集画面700の変寸後重量706の値が、MIN重量701より小さく、且つMAX重量より大きいか否かを判定する。判定の結果、フィーチャー寸法一括編集画面700の変寸後重量706の値が、MIN重量701より小さく、且つMAX重量より大きい場合は、フィーチャー寸法一括編集画面700の調整ボタン708をユーザが使用可能な状態にする(ステップS609)。それ以外の場合は、フィーチャー寸法一括編集画面700の調整ボタン708をユーザが使用不可能な状態にする(ステップS610)。
ステップS612では、情報処理装置101は、ステップS603において元フィーチャー寸法値[i]として記憶したデータをフィーチャー寸法情報テーブル500に戻し、寸法許容範囲更新処理を終了する。
次に、フィーチャー寸法一括編集画面700の変寸後重量706の値が、MIN重量701より小さく、且つMAX重量より大きい場合に、図形の調整を行う処理について図13に示すフローチャートを用いて説明する。尚、情報処理装置101のCPU201がS701乃至S729の各ステップの処理を行う際には、外部メモリ211に記憶されているCADプログラムをRAM203にロードし、その制御に従って行うことになる。
ここで、図26を参照して、図形調整処理の表示画面の一例について説明する。図26に示すように、図形調整処理前のフィーチャー寸法一括編集画面2601のフィーチャー寸法リスト2602では、変寸後重量2603の値が重量条件2604の範囲外となっているため、調整ボタン2605が使用可能な状態になる。本一例では、変寸後重量2603がMAX重量を超えているため、ユーザにより、調整ボタン2605が押下されることにより、調整(軽量化)画面2606が起動する。例えば、ユーザにより調整(軽量化)画面2606の押し出しカットボタン2607が押下されたものとする。押し出しカットボタン2607が押下されると、CADプログラムの持つ「押し出しカット」コマンドが実行され、CADプログラム上でユーザにより3次元モデル2608に対し、「押し出しカット」コマンドに必要な任意の操作が実行される。CADプログラム上での操作の完了後、フィーチャー寸法一括編集画面2609には、CADプログラムの操作により追加された新たなフィーチャー寸法を、フィーチャー寸法リスト2610に追加表示され、フィーチャー寸法リスト2610の各行の最小値列2611、最大値列2612および変寸後重量2613が更新される。
つまり、変寸後重量706が重量条件として設定されたMAX重量702を超えている場合には、3次元モデルを軽量化する必要があるため、軽量化を実行できる処理を選択可能に表示させ、ユーザからの操作によって3次元モデルの軽量化を実行する。また、変寸後重量706が重量条件として設定されたMIN重量701を下回っている場合には、3次元モデルを重量化する必要があるため、重量化を実行できる処理を選択可能に表示させ、ユーザからの操作によって3次元モデルの重量化を実行する。これにより、ユーザに対して必要な処理を明確に提示することができるので、フィーチャーに対する知識のないユーザであっても、確実に軽量化または重量化を行うことができる。
ステップS701では、情報処理装置101は、図12のステップS609において調整ボタンが有効化されている場合には、フィーチャー寸法一括編集画面700に備えられた調整ボタン708の押下を受け付ける。図12のステップS609において調整ボタンが有効化されていない場合には、図形調整処理を終了する。
ステップS702では、情報処理装置101は、ユーザからの操作により調整ボタン708の押下を受け付けると、フィーチャー寸法一括編集画面700の変寸後重量706の値がMIN重量701の値より小さいか否か、またはMAX重量702の値より大きいか否か判定する(重量超過判定手段)。フィーチャー寸法一括編集画面700の変寸後重量706の値がMIN重量701の値より小さいと判定された場合には、フィーチャー寸法一括編集画面700を非表示にし、調整(軽量化)画面2100(図21参照)を表示する(ステップS703)。フィーチャー寸法一括編集画面700の変寸後重量706の値がMAX重量702の値より大きいと判定された場合には、フィーチャー寸法一括編集画面700を非表示にし、調整(重量化)画面2200(図22参照)を表示する(ステップS716)。
調整(軽量化)画面2100及び調整(重量化)画面2200は、後述するフィーチャー種類テーブル2300に格納されたフラグを元に表示するボタンを決定する。本実施例では、調整(重量化)画面2200を表示する場合には、重量化フラグ2302が立っているフィーチャー種類のボタンを表示する。あらかじめ、重量化や軽量化に必要なフィーチャーを定義しておくことにより、ユーザにとって必要なフィーチャーを選択可能に表示することができる。
図21は、図13のステップS703においてディスプレイ装置210に表示される調整(軽量化)画面2100の一例を示す図である。調整(軽量化)画面2100は、材料変更ボタン2101、押し出しカットボタン2102、フィレットボタン2103、面取りボタン2104、シェルボタン2105、キャンセルボタン2106から構成されている。
材料変更ボタン2101は、3次元モデルの材料情報を変更するために材料画面2500を表示するボタンである。押し出しカットボタン2102は、CADプログラムが持つ、3次元モデルに押し出しカットを追加する機能を起動するボタンである。フィレットボタン2103は、CADプログラムが持つ、3次元モデルにフィレットを追加する機能を起動するボタンである。面取りボタン2104は、CADプログラムが持つ、3次元モデルに面取りを追加する機能を起動するボタンである。シェルボタン2105は、CADプログラムが持つ、3次元モデルにシェルを追加する機能を起動するボタンである。キャンセルボタン2106は、本画面を終了するためのボタンである
押し出しカットボタン2102、フィレットボタン2103、面取りボタン2104、シェルボタン2105は、3次元モデルに追加することにより3次元モデルの重量・体積を減らすことができる一般的なフィーチャーを示したものであり、他の同義のフィーチャーであれば代替可能であるため、これに限らない。例えば、CADプログラムが内部情報または外部情報として持つフィーチャー種類テーブルなどを利用して、3次元モデルの重量・体積を減らすことができるフィーチャーを特定する。尚、フィーチャー種類テーブルについては、後述する図23に示す。
図22は、図13のステップS1304においてディスプレイ装置210に表示される調整(重量化)画面の一例を示す図である。調整(重量化)画面2200は、材料変更ボタン2201、押し出しボタン2202、キャンセルボタン2203から構成されている。
材料変更ボタン2201は、3次元モデルの材料情報を変更するために材料画面2500を表示するボタンである。押し出しボタン2202は、CADプログラムが持つ、3次元モデルに押し出しを追加する機能を起動するボタンである。キャンセルボタン2203は、本画面を終了するためのボタンである
押し出しボタン2202は、3次元モデルに追加することにより3次元モデルの重量・体積を増やすことができる一般的なフィーチャーを示したものであり、他の同義のフィーチャーであれば代替可能である。例えば、CADプログラムが内部情報または外部情報として持つフィーチャー種類テーブルなどを利用して、3次元モデルの重量・体積を増やすことができるフィーチャーを特定する。尚、フィーチャー種類テーブルの一例については、後述する図23に示す。
図23は、3次元モデルの重量・体積を増減するために追加するフィーチャーを特定するために利用するCADプログラムが持つフィーチャー種類テーブル2300の一例である。フィーチャー種類テーブル2300は、フィーチャー種類2301、重量化フラグ2302、軽量化フラグ2303から構成されている。尚、テーブルの構成はこれに限らない。
フィーチャー種類2301は、CADプログラムで作成することが可能なフィーチャーの種類名を示す情報であり、設定される情報としては、「押し出し」、「押し出しカット」、「フィレット」、「面取り」、「シェル」等がある。重量化フラグ2302は、フィーチャー種類2301が示すフィーチャー種類が3次元モデルに追加された場合に3次元モデルの重量が増えるか増えないかを示す情報であり、設定される情報としては「1」、「0」等がある。重量化フラグ2302が、「1」の場合は、該当するフィーチャー種類が追加された場合に3次元モデルの重量が増えることを意味する。図22の押し出しボタン2202は、重量化フラグ2302の値が「1」であるフィーチャー種類を特定し、そのフィーチャーを追加する機能を起動するボタンとして設定したものである。軽量化フラグ2303は、フィーチャー種類2301が示すフィーチャー種類が3次元モデルに追加された場合に3次元モデルの重量が減るか減らないかを示す情報であり、設定される情報としては「1」、「0」等がある。軽量化フラグ2303が、「1」の場合は、該当するフィーチャー種類が追加された場合に3次元モデルの重量が減ることを意味する。図21の押し出しカットボタン2102、フィレットボタン2103、面取りボタン2104、シェルボタン2105や図22の押し出しボタン2202は、軽量化フラグ2303の値が「1」であるフィーチャー種類を特定し、そのフィーチャーを追加する機能を起動するボタンとして設定したものである。以上が図23のフィーチャー種類テーブルの一例の説明である。
図13の説明に戻る。ステップS703の処理が終了後、ステップS704では、情報処理装置101は、調整(軽量化)画面2100の何れのボタンが押下されたのかを判定する。材料変更ボタン2101が押下されたと判定した場合には、調整(軽量化)画面2100を閉じ、ステップS705へ処理を進める。押し出しカットボタン2102やフィレットボタン2103といったフィーチャーを追加するためのボタンが押下された場合には、ステップS711へ処理を進める。キャンセルボタン2106が押下された場合には、ステップS729へ処理を進める。
ステップS705では、情報処理装置101は、情報処理装置101またはサーバ102の外部メモリ211に記憶された材料情報テーブル2400を参照する。材料情報テーブル2400に格納された情報のうち、3次元モデルを軽量化させ、変寸後の重量条件を満たすことが可能な材料の情報を取得する。具体的には、材料情報テーブル2400の材料密度2403と変寸後の3次元モデルの体積を乗じることで、変寸後の3次元モデルの重量が算出される。この重量がMIN重量701より大きく、MAX重量702より小さいか否かを判定し、重量がMIN重量701より大きく、MAX重量702より小さいと判定された材料の材料分類2401、材料名2402、材料密度2403を取得する。尚、3次元モデルの体積は、変寸後のフィーチャー寸法値503を使用して、体積を求める。
図24は、図13のステップS705において使用される材料情報テーブル2400の一例である。材料情報テーブル2400は、材料分類2401、材料名2402、材料密度2403から構成されている。テーブルの構成はこれに限らない。
材料分類2401は、材料の分類を示す情報であり、設定される情報としては、「鉄」、「鋼鉄」等がある。材料名2402は、材料の名称を示す情報であり、設定される情報としては、「ダクタイル鋳鉄」、「ねずみ鋳鉄」、「可鍛鋳鉄」、「AISI304」等がある。材料密度2403は、材料の材料密度を示す情報であり、設定される情報としては、「0.0079」、「0.0072」、「0.008」等がある。以上が図24の材料情報テーブルの一例の説明である。
ステップS706では、情報処理装置101は、ディスプレイ装置210に材料画面2500を表示する。
図25は、ディスプレイ装置210に表示される材料画面2500の一例を示す図である。この材料画面2500は、現在重量2501、変寸後重量2502、材料リスト2503、適用ボタン2504、キャンセルボタン2505から構成されている。
現在重量2501は、3次元モデルの材料・重量情報テーブル600の中の項目名601が「重量」である場合の値602の値を表示する表示欄である。変寸後重量2502は、フィーチャー寸法一括編集画面700の入力値が更新された後の3次元モデルの体積に、材料画面2500の材料リスト2503で選択された材料の材料密度を乗じて算出された重量を表示する表示欄である。材料リスト2503は、図13のステップS705で取得した材料名と材料密度を表示し、ユーザからの選択を受け付ける選択リストである。適用ボタン2504は、材料リスト2503でユーザにより選択された行の材料、材料密度で、3次元モデルに設定されている材料、材料密度を更新するためのボタンである。キャンセルボタン2505は、本画面を終了するためのボタンである。以上が図25の材料画面の一例の説明である。
ステップS707では、情報処理装置101は、材料画面2500に表示された材料リスト2503の材料の選択を受け付ける(材料選択受付手段)。
ステップS708では、情報処理装置101は、ステップS707において選択された材料から変寸後重量2502を算出して、表示する。変寸後重量2502は、3次元モデルの体積と、選択された材料の材料密度2403を乗じることで算出される。
ステップS709では、情報処理装置101は、材料リスト2503に表示された材料のうち1つが選択された状態で、材料画面2500に備えられた適用ボタン2504がユーザによって押下された場合に、選択された材料を適用したフィーチャー寸法一括編集画面700を表示する。具体的には、フィーチャー寸法一括編集画面700を構成する材料703と密度704に選択された材料の材料名2402と材料密度2403を表示させ、材料・重量情報テーブル600の材料名2402と材料密度2403を更新する(材料密度更新手段)。また、変寸後重量706には、選択された材料を適用した場合の3次元モデルの重量を表示する。重量の算出方法は前述の通りである。
ステップS710では、情報処理装置101は、ステップS709で算出された新たな変寸後重量706を元に寸法許容範囲計算・表示処理を行う。寸法許容範囲計算・表示処理の詳細は前述の通りである。寸法許容範囲計算・表示処理が終了したら、ステップS729へ処理を進める。
ステップS704において、フィーチャーを追加するためのボタンが押下された場合、ステップS711では、情報処理装置101は、調整(軽量化)画面2100を閉じ、フィーチャー寸法一括編集画面700の材料703、密度704、フィーチャー寸法リスト707のフィーチャー寸法値列713に基づき、3次元モデルのフィーチャー寸法情報テーブル500、材料・重量情報テーブル600を更新する。寸法一括変更処理の詳細は、後述する図14に示す。
ステップS712では、情報処理装置101は、ディスプレイ装置210に表示されているCADプログラムをユーザが操作可能な状態にし、ステップS704で押下を受け付けたボタンの名称と一致するCADプログラムの軽量化を行うフィーチャーを追加するコマンドを実行し、ユーザの操作を要求する(形状変更受付手段)。ユーザによるCADプログラムのコマンド操作完了を検知すると、ステップS713へ処理を進める。
ステップS713では、情報処理装置101は、フィーチャーを追加した3次元モデルの寸法情報取得処理を行う。寸法情報取得処理の詳細は前述の通りである(形状記憶手段)。
ステップS714では、情報処理装置101は、フィーチャーを追加した3次元モデルの重量情報取得処理を行う。重量情報取得処置の詳細は前述の通りである。
ステップS715では、情報処理装置101は、フィーチャーを追加した3次元モデルの寸法許容範囲計算・表示処理を行う。寸法許容範囲計算・表示処理の詳細は前述の通りである。寸法許容範囲計算・表示処理が終了したら、ステップS729へ処理を進める。
一方、ステップS702において、変寸後重量706の値がMIN重量701の値より小さいと判定された場合、ステップS716では、情報処理装置101は、フィーチャー寸法一括編集画面700を非表示にし、調整(重量化)画面2200を表示する。
ステップS717では、情報処理装置101は、調整(重量化)画面2200の何れのボタンが押下されたのかを判定する。材料変更ボタン2201が押下されたと判定した場合には、調整(重量化)画面2100を閉じ、ステップS718へ処理を進める。押し出し2202といったフィーチャーを追加するためのボタンが押下された場合には、前述したステップS724へ処理を進める。キャンセルボタン2203が押下された場合には、前述したステップS729へ処理を進める。
ステップS718では、情報処理装置101は、情報処理装置101またはサーバ102の外部メモリ211に記憶された材料情報テーブル2400を参照する。材料情報テーブル2400に格納された情報のうち、3次元モデルを重量化させ、変寸後の重量条件を満たすことが可能な材料の情報を取得する。具体的な算出方法は、前述したステップS705の通りである。
ステップS719乃至ステップS723は、前述したステップS706乃至ステップS710と同様である。
ステップS717において、フィーチャーを追加するためのボタンが押下された場合、ステップS724では、情報処理装置101は、調整(重量化)画面2100を閉じ、フィーチャー寸法一括編集画面700の材料703、密度704、フィーチャー寸法リスト707のフィーチャー寸法値列713に基づき、3次元モデルのフィーチャー寸法情報テーブル500、材料・重量情報テーブル600を更新する。寸法一括変更処理の詳細は、後述する図14に示す。
ステップS725では、情報処理装置101は、ディスプレイ装置210に表示されているCADプログラムをユーザが操作可能な状態にし、ステップS704で押下を受け付けたボタンの名称と一致するCADプログラムの重量化を行うフィーチャーを追加するコマンドを実行し、ユーザの操作を要求する。ユーザによるCADプログラムのコマンド操作完了を検知すると、ステップS726へ処理を進める。
ステップS726乃至ステップS728は、前述したステップS713乃至ステップS715と同様である。
ステップS729では、情報処理装置101は、フィーチャー寸法一括編集画面700を再表示し、図形調整処理を終了する。
次に、フィーチャー寸法一括編集画面700に入力されたフィーチャー寸法値を反映する処理について図14に示すフローチャートを用いて説明する。尚、情報処理装置101のCPU201がS801及びS802の各ステップの処理を行う際には、外部メモリ211に記憶されているCADプログラムをRAM203にロードし、その制御に従って行うことになる。
まず、図27を参照して、寸法一括変更処理の表示画面の一例について説明する。図27に示すように、ユーザにより、この3次元モデルを対象に起動されたフィーチャー寸法一括編集画面2701のフィーチャー寸法リスト2702に表示されたフィーチャー名列2703の値が「スケッチ1」、フィーチャー寸法名列2704の値が「D1」と一致する行の寸法値列2705の値を「50」から「90」に変更された後、反映ボタン2706が押下され、寸法一括変更処理が行われる。寸法一括変更処理後の3次元モデル2707では、フィーチャー名が「スケッチ1」、フィーチャー寸法名が「D1」のフィーチャー寸法の寸法値が「50」から「90」に変更され、3次元モデルの形状が更新される。これにより、重量条件に収まる寸法で調整した寸法値を3次元モデルの寸法として反映することができる。
ステップS801では、情報処理装置101は、フィーチャー寸法一括編集画面700のフィーチャー寸法リスト707に表示されたフィーチャー名列711、フィーチャー寸法名列712、フィーチャー寸法値列713をレコードごとにすべて取得して、RAM203に記憶する。
ステップS802では、情報処理装置101は、ステップS801で取得したフィーチャー寸法リスト707のすべてのレコードをフィーチャー寸法情報テーブル500に格納する。ステップS801において記憶されたレコードのフィーチャー名列711と、フィーチャー寸法情報テーブル500のフィーチャー名501が一致し、かつステップS801において記憶されたレコードのフィーチャー寸法名列712と、フィーチャー寸法情報テーブル500のフィーチャー寸法名502が一致するか否かを判定して、両方とも一致した場合には、一致したフィーチャー寸法情報テーブル500のレコードに、フィーチャー名列711、フィーチャー寸法名列712、フィーチャー寸法値列713をそれぞれフィーチャー名501、フィーチャー寸法名502、フィーチャー寸法値503に対応するように格納する。これによって、3次元モデルのフィーチャー寸法を反映することができる。また、一致するものがない場合には、フィーチャー寸法情報テーブル500に新規レコードを追加して、フィーチャー名列711、フィーチャー寸法名列712、フィーチャー寸法値列713をそれぞれフィーチャー名501、フィーチャー寸法名502、フィーチャー寸法値503に対応するように格納する。以上で、寸法一括変更処理を終了する。
以上説明したように、本実施形態によれば、重量条件を明示的に入力させることで、各寸法値の変更可能な許容範囲を一覧で表示することが可能になるため、寸法設定作業を一度にまとめて実行することができ、従来の寸法設定作業の手戻りが低減されるという効果を奏する。また、重量条件の設定や各寸法許容範囲の確認が可能になるため、各寸法値の調整が容易になり、指定した部品重量内の部品形状の作成が実現しやすくなる。
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、1つの機器からなる装置に適用してもよい。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であってもよい。
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RWなどがある。また、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などもある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。