(57)【特許請求の範囲】
【請求項１】
平面をもつ３次元モデルを記憶する情報処理装置であって、
前記３次元モデルを含むリストにおける、３次元モデルの順序を取得する取得手段と、
前記順序に基づいて特定される第１の３次元モデルの平面であって、当該第１の３次元モデルの後ろの順序である第２の３次元モデルの平面とつなぐべき平面である、第１の平面を特定する第１の特定手段と、
前記第２の３次元モデルにおいて、前記第１の平面につなぐべき第２の平面を特定する第２の特定手段と、
３次元空間上において、前記第１の平面と第２の平面とが合わさる位置に前記第２の３次元モデルを配置する制御を行う配置制御手段と、
前記３次元モデルの分割位置を決定するための値を取得する取得手段と、
前記取得手段により取得された３次元モデルの分割位置を決定するための値に基づいて、３次元モデル上においてモデルを分割することを示す分割平面を生成する位置を決定する決定手段と、
前記決定手段により決定された位置に、前記分割平面を生成する制御を行う分割平面生成制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記リストは３次元モデルごとの寸法の情報を含み、
前記配置制御手段は、前記寸法の値に基づいて寸法を変更した３次元モデルを配置する制御を行う寸法変更制御手段と、
を備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記配置制御手段は、前記第１の平面と前記第２の平面とを合致させることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記３次元モデルは配管のモデルであって、
前記情報処理装置は、さらに、
前記３次元モデルの配管の入口の面と出口の面を記憶する記憶手段
を備え、
前記第１の特定手段は、前記第１の３次元モデルの出口の面を前記第１の平面として特定し、
前記第２の特定手段は、前記第２の３次元モデルの入口の面を前記第２の平面として特定することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記分割位置を決定するための値は、３次元モデルの端から分割位置までの距離、及び各分割位置の間の距離を示す、複数の値であって、
前記情報処理装置は、前記距離の値の合計値が３次元モデルの直径と一致するか判定する判定手段
を備え、
前記決定手段は、前記判定手段により前記距離の値の合計値が３次元モデルの直径と一致すると判定された場合に、前記分割位置を特定するための距離に基づいて、前記分割平面を生成する位置を決定することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記分割平面生成制御手段による制御に応じて生成される分割平面を、他の平面と区別すべく識別表示する制御を行う識別表示制御手段と、
を備えることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
平面をもつ３次元モデルを記憶する情報処理装置の制御方法であって、
前記３次元モデルを含むリストにおける、３次元モデルの順序を取得する取得工程と、
前記順序に基づいて特定される第１の３次元モデルの平面であって、当該第１の３次元モデルの後ろの順序である第２の３次元モデルの平面とつなぐべき平面である、第１の平面を特定する第１の特定工程と、
前記第２の３次元モデルにおいて、前記第１の平面につなぐべき第２の平面を特定する第２の特定工程と、
３次元空間上において、前記第１の平面と第２の平面とが合わさる位置に前記第２の３次元モデルを配置する制御を行う配置制御工程と、
前記３次元モデルの分割位置を決定するための値を取得する取得工程と、
前記取得工程により取得された３次元モデルの分割位置を決定するための値に基づいて、３次元モデル上においてモデルを分割することを示す分割平面を生成する位置を決定する決定工程と、
前記決定工程により決定された位置に、前記分割平面を生成する制御を行う分割平面生成制御工程と
を含む制御方法。
【請求項８】
平面をもつ３次元モデルを記憶する情報処理装置を、
前記３次元モデルを含むリストにおける、３次元モデルの順序を取得する取得手段と、
前記順序に基づいて特定される第１の３次元モデルの平面であって、当該第１の３次元モデルの後ろの順序である第２の３次元モデルの平面とつなぐべき平面である、第１の平面を特定する第１の特定手段と、
前記第２の３次元モデルにおいて、前記第１の平面につなぐべき第２の平面を特定する第２の特定手段と、
３次元空間上において、前記第１の平面と第２の平面とが合わさる位置に前記第２の３次元モデルを配置する制御を行う配置制御手段と、
前記３次元モデルの分割位置を決定するための値を取得する取得手段と、
前記取得手段により取得された３次元モデルの分割位置を決定するための値に基づいて、３次元モデル上においてモデルを分割することを示す分割平面を生成する位置を決定する決定手段と、
前記決定手段により決定された位置に、前記分割平面を生成する制御を行う分割平面生成制御手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、３次元ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ  Ｓｏｆｔｗａｒｅ）ソフトを使用した部品の設計検討が行われている。また、２次元ＣＡＤから３次元ＣＡＤへの移行に際し、２次元ＣＡＤで作成した図面のデータを、３次元ＣＡＤのモデルに置き換えることが行われている。
【０００３】
例えば特許文献１においては、２次元図面（組み立て図）上の部品の線分上の点を指定し、その点の２次元座標の値を組み合わせて３次元の座標値を生成し、２次元図面の情報に基づいて生成した３次元モデルを当該位置に配置して組み立てることが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平８−３１４９９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
３次元モデルに基づいて実物の部品を製造した後、当該部品を使用する地点に当該部品をトラック等で運搬する作業がある。トラック等で効率よく部品を運搬するため、適切な大きさ、重さになるように部品を分割する必要がある。例えば大きな部品であれば、トラックで運搬可能な大きさ、重さごとに部品を分割しなければならない。
【０００６】
しかし、例えば３次元ＣＡＤの新規導入直後等、特に、従来使用していた２次元ＣＡＤと３次元ＣＡＤの操作性の違い等から、ユーザが３次元ＣＡＤを自由に操作できない状態にある場合、３次元ＣＡＤを用いて３次元モデル上で分割位置を適切に決定するのには手間がかかってしまう。また、３次元モデル上において分割位置が適切か確認したいという要望がある。
【０００７】
本発明は、部品リスト内の情報に応じて、製造する部品の３次元モデルを容易に設計可能な仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の情報処理装置は、３次元モデルを記憶する情報処理装置であって、３次元モデルごとに分割位置を記憶したリストから、３次元モデルの分割位置を決定するための値を取得する取得手段と、前記取得手段により取得された３次元モデルの分割位置を決定するための値に基づいて、３次元モデル上においてモデルを分割することを示す分割平面を生成する位置を決定する決定手段と、前記決定手段により決定された位置に、前記分割平面を生成する制御を行う分割平面生成制御手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、部品リスト内の情報に応じて、製造する部品の３次元モデルを容易に設計可能な仕組みを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態における、ＰＣ１００とソフトウェアの関係の一例を示す図である。
【図２】本発明の実施形態における、ＰＣ１００のハードウェア構成の一例を示す図である。
【図３】本発明の実施形態における、ＰＣ１００の機能構成の一例を示す図である。
【図４】本発明の実施形態における、処理の概要を示すフローチャートである。
【図５】本発明の実施形態における、モデルの組立て処理の流れを示すフローチャートある。
【図６】本発明の実施形態における、モデルの寸法変更及び確認処理の流れを示すフローチャートある。
【図７】本発明の実施形態における、各種データの構成の一例を示す図である。
【図８】本発明の実施形態における、各種データの構成の一例を示す図である。
【図９】本発明の実施形態における、組立情報入力画面の構成の一例を示す図である。
【図１０】本発明の実施形態における、モデル作成画面の構成及びモデル作成の様子の一例を示す図である。
【図１１】本発明の実施形態における、モデル作成画面の構成及びモデル作成の様子の一例を示す図である。
【図１２】本発明の実施形態における、モデル作成画面の構成及びモデル作成の様子の一例を示す図である。
【図１３】本発明の実施形態における、３次元モデルの構成の一例を示す図である。
【図１４】本発明の実施形態における、３次元モデルの配置の位置関係の説明図である。
【図１５】本発明の実施形態における、３次元モデルの配置の位置関係の説明図である。
【図１６】本発明の実施形態における、部品の径チェックの処理の流れを示すフローチャートである。
【図１７】本発明の実施形態における、径不一致の通知画面の構成の一例を示す図である。
【図１８】本発明の実施形態における、ブロック割平面の作成処理の流れを示すフローチャートである。
【図１９】本発明の実施形態における、データ構成の一例を示す図である。
【図２０】本発明の実施形態における、面積情報の表示の一例を示す図である。
【図２１】本発明の実施形態における、ブロック割平面の名称と分割されたブロックの一例を示す図である。
【図２２】本発明の実施形態における、モデルの大きさ・重量に基づく分割位置の自動決定処理の流れを示すフローチャートである。
【図２３】本発明の実施形態における、モデルの分割位置の自動決定の様子を示す図である。
【図２４】本発明の実施形態における、モデルの回転とモデルにとっての方向と、アセンブリにおける方向との関係を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【００１２】
図１を参照して、本発明のＰＣ１００とソフトウェアの関係の一例について説明する。
【００１３】
本発明における情報処理装置であるＰＣ１００には、ＣＡＤソフトウェア１０１（以下、ＣＡＤソフト１０１）と、部品組立ツール１０２、表計算ソフト１０３、寸法チェックツール１０４、寸法一括変更ツール１０５が記憶・インストールされている。
【００１４】
ＣＡＤソフト１０１は、ＰＣ１００の外部メモリや、不図示のサーバ装置の外部メモリに記憶されているＣＡＤファイルを読み込んで、メモリ上に展開し、表示画面に読み込んだＣＡＤファイルのイメージを展開することが可能である。当該サーバ装置とは例えばＬＡＮ（ローカルエリアネットワーク）で通信可能に接続されているものとする。以下、実施形態の説明においては、ＣＡＤファイルはＰＣ１００内の所定の記憶領域に記憶されているものとする。
【００１５】
部品組立ツール１０２は、表計算ソフト１０３において入力され、記憶されている部品の識別情報及び寸法の値に応じて、当該寸法の部品をＣＡＤソフト１０１に生成させ、３ＤＣＡＤ（３次元ＣＡＤ）のモデル（部品）を表示する表示部に生成した部品を配置・表示させるツールである。また、部品を分割（ブロック割）する位置を決定するための情報が、表計算ソフトにおいて当該部品に対応して入力されている場合は、当該部品を分割する分割位置を決定して、分割位置を示す平面（ブロック割平面）を３次元モデル上に生成して配置するための制御を行う。
【００１６】
寸法チェックツール１０４は、表計算ソフト１０３の寸法変更前のファイルと変更後のファイルを比較・チェックするツールである。寸法一括変更ツール１０５は、表計算ソフト１０３の寸法変更前のファイルと変更後のファイルを比較し、寸法の値が異なる部品の寸法を一括で変更するツールである。また、部品を分割（ブロック割）する位置を決定するための情報が、表計算ソフトにおいて当該部品に対応して入力されている場合は、当該部品を分割する分割位置を決定して、分割位置を示す平面（ブロック割平面）を３次元モデル上に生成して配置するための制御を行う。以上が図１の説明である。
【００１７】
以下、図２を用いて、図１に示したＰＣ１００に適用可能な情報処理装置のハードウェア構成について説明する。
【００１８】
図２において、２０１はＣＰＵで、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。
【００１９】
２０３はＲＡＭで、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２あるいは外部メモリ２１１からＲＡＭ２０３にロードして、該ロードしたプログラムを実行することで各種動作を実現するものである。
【００２０】
また、２０５は入力コントローラで、キーボード（ＫＢ）２０９や不図示のマウス等のポインティングデバイス等からの入力を制御する。２０６はビデオコントローラで、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。なお、図２では、ＣＲＴ２１０と記載しているが、表示器はＣＲＴだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
【００２１】
２０７はメモリコントローラで、ブートプログラム，各種のアプリケーション，フォントデータ，ユーザファイル，編集ファイル，各種データ等を記憶するハードディスク（ＨＤ）や、フレキシブルディスク（ＦＤ）、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２２】
２０８は通信Ｉ／Ｆコントローラで、ネットワークを介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いた通信等が可能である。
【００２３】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２４】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。以上が図２の説明である。
【００２５】
次に図３を参照して、本発明の実施形態におけるＰＣ１００の機能構成の一例について説明する。
【００２６】
ＣＡＤファイル読込部３１１は、ＰＣ１００の記憶部に記憶されているＣＡＤファイルを読み込んでメモリ上に展開する処理部である。
【００２７】
分割情報取得部３２１は、表計算ソフト１０３において入力・記憶された部品の識別情報と、当該部品の分割情報を取得する取得部である。表計算ソフト１０３において入力・記憶された情報とは、例えば図７の表計算ファイル７２０に示す情報であり、ＰＣ１００の外部メモリに記憶されている。分割情報とは、例えばブロック割情報７２９Ａのことである。
【００２８】
Ｎｏ７２１は、表計算ファイル７２０における各レコードのレコードＮｏ（識別情報）である。タイプ７２３は、後述する表計算ソフト１０３の寸法入力画面においてユーザから選択・入力されたモデルタイプである。ファイル名７０２は、当該タイプ７２３のタイプのテンプレートモデル（モデルのテンプレートファイル）が、ＣＡＤソフト１０１の管理下の所定のアセンブリ直下のフォルダにコピーされリネームされたファイルのファイル名である。当該コピー処理・リネーム処理は、テンプレートモデルそのものを編集させないために実行する処理である。テンプレートモデルの詳細については後述する。
【００２９】
モデル位置、寸法Ａ７２６、寸法Ｂ７２７は、後述する図９の寸法入力画面において入力されたモデル位置の値、モデルの寸法値である。モデル同士の距離７２８は、新たに配置する部品Ｍｏｄｅｌ０１Ａと既に配置されている部品Ｍｏｄｅｌ０１との間の距離を示す。詳細は図９の説明で後述する。
【００３０】
ブロック割情報７２９Ａは、ＢｌｏｃｋＮｏと分割距離から構成される。分割距離は、ブロック割平面を配置する位置、つまり部品を分割する位置を決定するための情報である。例えば、図７によれば、図２１に示すようなモデルの基準面Ａから１００ｍｍ離れた位置をＢｌｏｃｋ１の名称のブロック割平面の位置として決定し、当該Ｂｌｏｃｋ１のブロック割平面の位置から更に３００ｍｍ離れた位置をＢｌｏｃｋ２の名称のブロック割平面の位置として決定することとなる。ＢｌｏｃｋＮｏは、ブロック割り平面により分割される各ブロックの名称であり、分割距離に基づいて生成するブロック割平面の名称である。ブロック割情報７２９Ａの表計算ソフト１０３の画面上の表示例を図２０の２００１及び２００２に示す。
【００３１】
面積情報７２９Ｂは、表面積、天井面、底面、側面（面の識別情報）の項目から構成されている。面積情報７２９Ｂは、モデル全体の表面積、天井面の面積、底面の面積、側面の面積をそれぞれ記憶する項目である。詳細は図２０の説明で後述する。面積情報７２９Ｂの表計算ソフト１０３の画面上の表示例を図２０の２００３に示す。以上が図７の表計算ファイル７２０の説明である。
【００３２】
図３の説明に戻る。分割可否判定部３２２は、分割情報取得部３２１で取得した情報に基づいて部品を分割可能か判定する。例えば、ブロック割情報７２９Ａの分割距離の合計値がモデルの直径と一致する場合に、分割距離が適切に入力されていると判断し、分割可能であると判定する。分割位置決定部３２３は、分割情報取得部３２１で取得した情報に基づいて、３次元モデルを分割する位置を決定する決定部である。
【００３３】
分割平面生成指示部３２４は、３２４で決定した分割位置にモデルを分割すること、及び分割する位置を示す分割平面（実施形態ではブロック割平面と記載）を生成するよう、ＣＡＤソフト１０１に指示する。また分割平面識別表示指示部３２５は、生成した分割平面を識別表示するよう指示する指示部である。
【００３４】
分割平面生成指示受付部３１２は、分割平面生成指示部３２４からの指示を受け付け、分割平面生成部３１３が分割平面を指示された部品ファイル上の位置に生成する。また、分割平面識別表示指示受付部３１４は、分割平面識別表示指示部３２５からの指示を受け付け、分割平面識別表示部３１５が、分割平面を指示された部品ファイル上でユーザが確認可能なように識別表示する（例えば分割平面の「表示／非表示」の設定を、「表示」に設定する。）
【００３５】
モデル方向取得指示部３２６は、ＣＡＤソフト１０１に対して、ＣＡＤソフト上のモデルの方向の情報を要求する。例えば、部品を参照しているアセンブリ（例えば部品を参照している９１２に入力されたアセンブリ）が規定している空間のＸ、Ｙ、Ｚ軸方向を基準に、部品がどの軸の方向に何度回転しているかの情報（部品の３次元空間上の向きの情報）を要求する。モデル方向取得指示受付部３１６は、モデル方向取得指示部３２６からの指示を受け付け、モデル方向送信部３１７がモデルの３次元空間上における方向を部品組立ツール１０２に送信する。モデル方向取得部３２７は、モデル方向送信部３１７により送信されたモデルの方向の情報を取得する。
【００３６】
面積情報取得指示部３２８は、部品の表面積の情報をＣＡＤソフト１０１に要求する。面積情報取得指示受付部３１８は当該要求を受け付け、面積情報送信部３１９は、モデルの各面の面積の表面積の情報を部品組立ツール１０２に送信する。面積情報取得部３２９は、当該面積情報を取得し、面積情報表示制御部３３０は、取得した各面の面積情報及び部品の表面の総面積を表示画面に表示するよう制御する。例えば表計算ソフトに対して、当該面積の情報を表示するよう指示する。以上が図３の説明である。
【００３７】
なお、本実施形態においては、ブロック割平面（分割平面）を配置するモデルは、外部メモリに記憶された３次元モデルのテンプレートが（所定の記憶領域にコピーされて）、寸法変更され３次元空間上に配置されるものとする。また、表計算ファイル上で、当該配置された部品の後ろに記載されている部品を、当該配置された部品の後ろにつなげて組み立てるため、当該配置された部品の一部と合致させて順々に配置していく。合致の処理に際しては、予めテンプレートのモデルに記憶されているモデルの参照平面（例：図１１の１１００）同士を合致させる。
【００３８】
モデル自体の面ではなく参照平面を用いる理由を以下に記載する。一般のＣＡＤソフトにおいて参照平面は、例えば図１０で後述するＣＡＤソフト１０１のアセンブリ表示部１０１２等に、図８の８１０に示すようなツリー構造上に表示可能な、モデル自体の面とは異なる独自の面として管理されている（当該ツリーにおいて参照平面はモデルの下位階層にモデルとは別の単位で表示することができる）。ＣＡＤソフト１０１にとっての外部のツールである部品組立ツール１０２等のツールにとっても、実際の３次元モデル上の面を３次元空間上の座標を細かに指定して特定・選択するよりも、例えば参照平面の名称等を使って、モデルから独立して管理されている参照平面を合致させたい面として選択・特定した方が処理が容易である。また、３次元モデルを回転、移動、変形すれば変化してしまう３次元モデル自体の面の座標を使うよりも、基本的に変化しない参照平面の識別情報を使って面を特定する方が、面の特定が容易であり、確実である。例えば、雛形のモデルごとに参照平面を作成しておき、当該参照平面の識別情報を部品組立ツールで記憶・管理しておけば、当該参照平面の識別情報を使って、ＣＡＤソフト１０１上で展開されている３次元モデルの参照平面を選択可能である。あとは選択した参照平面同士を合致させるようＣＡＤソフト１０１に指示すればよい。以上説明したように、本実施形態においては、部品の組立に用いる面の特定を容易にするために参照平面を用いる。
【００３９】
本実施形態における、３次元モデル（部品）のテンプレート（雛形）の例を図７のテンプレートモデル情報７００に示す。テンプレートモデル情報７００におけるモデルＩＤは、テンプレートモデル情報７００上でのモデルの識別情報である。ファイル名７０２は、テンプレートモデルのファイル名である。タイプ７０３は、テンプレートモデルのモデルタイプを示す。ファイル名とモデルタイプは１対１で対応付けて記憶されているものとする。例えば、モデルタイプ７０３＝「直線」のモデルは、Ｍｏｄｅｌ０１．ｐａｒｔのみである。また、モデルタイプ７０３＝「曲線」のモデルは、Ｍｏｄｅｌ０２．ｐａｒｔのみであるものとする。図１３の１３００にモデルタイプ７０３＝「直線」のテンプレートモデルの一例を示す。また、モデルタイプ７０３＝「曲線」のテンプレートモデルの一例を示す。１３０１、１３０２、１３１１、１３１２において点線で示す面は、各モデルのファイルに記憶されている参照平面である。
【００４０】
フォルダパス７０４は、当該テンプレートモデルが記憶されているＰＣ１００の外部メモリ上の保存場所を示す。
【００４１】
テンプレートモデルの所定の面には予め参照平面が作成・設定されているものとする。参照平面は、当該参照平面が参照しているモデル上の面と同じ位置・方向で作成・設定されている所定の大きさの面である。テンプレートモデル上に作成された参照平面の情報を参照平面情報７１０に示す。
【００４２】
参照平面情報７１０は、テンプレートモデルごとに、テンプレートモデル情報７００と対応付けてＰＣ１００の外部メモリに記憶されている。参照平面ＩＤ７１１は、参照平面情報７１０のテーブルにおける各参照平面の識別情報である。参照先７１２は、当該参照平面が参照している、当該参照平面の位置の基準となる位置／Ｘ，Ｙ，Ｚ、向き／Ｘ，Ｙ，Ｚが記憶されている。
【００４３】
寸法Ａ７１３は、参照平面の寸法である。本実施形態においては、全てのテンプレートモデルの参照平面の寸法は同じであるものとする。位置７１４、向き７１５は、参照平面の（ＣＡＤにおける３次元空間上の）位置と向きを示す。当該位置と向きは、参照先７１２の位置、向きと同じ位置・同じ向きが設定されているものとする。以上が図７のテンプレートモデル情報及び参照平面情報の説明である。
【００４４】
なお、ＣＡＤソフト１０１において配置された後のモデルの情報は配置済みモデル情報７３０に示すテーブル（ＰＣ１００のメモリに記憶する）で記憶・管理する。モデルＩＤ７３１、ファイル名７３２、タイプ７３３、フォルダパス７３４については表計算ファイル７２０の説明で前述したとおりである。フォルダパス７３４は対象レコードのファイル名のモデルが記憶されている場所を示す。位置７３５、向き７３６は、ＣＡＤにおける３次元空間上の配置後のモデルの位置・向きを示す。以上が図７の配置済みモデル情報７３０の説明である。
【００４５】
＜第１の実施形態＞
【００４６】
まず、本発明の実施例におけるＰＣ１００によって行われる処理について、図４に示すフローチャートを用いて説明する。尚、図４の各ステップはＰＣ１００におけるＣＰＵ２０１が、ＰＣ１００にインストールされたＣＡＤソフト１０１、部品組立ツール１０２、表計算ソフト１０３等の機能を用いて実行するものとする。
【００４７】
表計算ソフト１０３は、図９に示す寸法入力画面９００を表示する。そして、レコードが空の表計算ファイル７２０をメモリ上に生成して記憶する。当該寸法入力画面に表示するファイル（表計算ファイル７２０）を開く操作をユーザから受け付けた場合には当該操作に従って指定された表計算ファイル７２０の情報を読み出してメモリ上空の表計算ファイル７２０に上書きして記憶し、寸法入力画面９００に当該読み出した表計算ファイル７２０の値を表示する。
【００４８】
なお、本実施形態においては、表計算ソフト１０３は、自身が起動したタイミングで不図示のツールを起動させ、当該ツールが表計算ソフト１０３のファイルの読込み、展開の状態を監視し、ユーザから特に表計算ファイル７２０を開く指示を受け付けなかった場合には空の表計算ファイル７２０を、ユーザから表計算ファイル７２０を開く指示を受け付けた場合には当該指示に応じて開いた表計算ファイル７２０を（開いた時点での表計算ファイルの値を）、後に編集後の値と変更前の値とを比較するために用いる比較基準情報としてメモリに記憶する処理を行う。
【００４９】
表計算ソフト１０３は、当該寸法入力画面９００において部品の識別情報と、当該識別情報の示す部品の寸法の入力を受け付ける（ステップＳ４０１）。ここでは部品の識別情報の１つであるタイプの入力（選択）を、モデルタイプ入力受付部９０５において受け付けるものとする。入力を受け付けた情報はメモリ上に記憶する。なお、本実施形態においては、当該寸法入力画面９００における各行のレコードの入力操作が、モデルの組立順序の指定操作にあたる。組立順序は、行Ｎｏが若い順（上から順）であるものとする。２行目のレコードの入力を受け付ける＝当該レコードに入力した情報の示すモデルを２番目に組み立てる（ＣＡＤソフト１０１において配置・表示する）部品とする組立順序の指定を受け付けたと判断する。ここで図９の寸法入力画面９００について説明する。
【００５０】
図９は、表計算ソフト１０３の表示する画面であり、部品（モデル）の選択（指定）、寸法の入力を受け付ける寸法入力画面９００、寸法入力画面９２０の一例を示す図である。寸法入力画面９００と寸法入力画面９２０の構成は同じだが、入力されている情報が異なる。具体的には、寸法入力画面９２０にはＪｏｉｎｔＸＸ（接続部／ロフト）の行のレコードがない。
【００５１】
つまり、寸法入力画面９００に入力されている情報によれば、２つのモデルの間に接続部が作成され（例：図１２の１２００）、寸法入力画面９２０に入力されている情報によれば、２つのモデルが直接接触する（接続部を挟まない）配置、組立が行われる（例：図１５）。
【００５２】
寸法入力画面において選択・指定されるモデルの情報は予めＰＣ１００の外部メモリに記憶されている（図７のテンプレートモデル情報）。寸法入力画面９００において入力を受け付けた情報はメモリ上に記憶する。また、所定のユーザ操作がされた場合、寸法入力画面９００において入力を受け付けた情報を別途表計算ファイル７２０としてメモリ上に記憶する。
【００５３】
図５の説明で後述する部品の組立処理において、部品組立ツール１０２は寸法入力画面９００において入力された情報を上の行から順に参照して、上の行の部品から順に配置・組み立てる処理を行う。
【００５４】
モデルタイプ入力受付部９０５は、外部メモリに記憶されている３Ｄモデルのテンプレート（図７のテンプレートモデル情報／テンプレートモデル）のタイプ（図７の７０３）の選択（指定）・入力を受け付ける受付部である。モデルタイプ入力受付部９０５の列のセルがクリックされると、テンプレートモデル情報７００のタイプ７０３を選択可能に表示する。
【００５５】
ファイル名表示部９０４は、モデルタイプ入力受付部９０５で入力を受け付けたモデルの、３Ｄ空間への配置後のファイル名を表示する表示部である。具体的には、テンプレートモデルを、当該モデルを配置する対象のアセンブリ（アセンブリ名入力受付部９１２で入力を受け付けたアセンブリ）の直下のフォルダにコピーした後の、当該アセンブリに挿入したファイルのファイル名である。詳細については図５の説明で後述する。
【００５６】
また、モデルタイプ入力受付部９０５では、テンプレートモデルのタイプ（図７の７０３）以外に、「接続部」というタイプを選択可能に表示する。タイプ＝接続部とは、直前の順番（順序）のモデル（例えば９００におけるＭｏｄｅｌ０１）と、当該接続部の直後のモデル（例えば９００におけるＭｏｄｅｌ０１Ａ）とを接続する仮想の部品のタイプを示す。当該接続部の一例を図１２に示す。
【００５７】
モデルイメージ表示部９０６はモデルタイプ入力受付部９０５で入力された３Ｄモデルを示す画像を表示する表示部である。具体的には、タイプ７０３と当該タイプ７０３のモデルのイメージ（画像）のファイル名及び保存パスを対応付けたテーブルを外部メモリに記憶しておき、モデルタイプ入力受付部９０５でモデルタイプの選択を受け付けたことを検知した表計算ソフト１０３が当該テーブルを参照して、モデルタイプ入力受付部９０５で入力されたタイプに対応する対応する画像を読み出して表示する。
【００５８】
寸法Ａ入力受付部９０８、寸法Ｂ入力受付部９０９は、モデル上の所定の面の寸法をどの値に変更するかの入力（変更後の寸法の入力）を受け付ける受付部である。例えば配管のモデル場合、入口または出口になりうる開口部の寸法の入力を受け付ける。なお、本実施形態においては、モデルのタイプ＝「直線」の場合は、寸法ＡのＹ，Ｚ（幅、高さ）＝寸法ＢのＹ，Ｚであり、Ｘは直線の奥行きを示すため、寸法Ｂは入力不可とする。具体的には、部品組立ツール１０２が、モデルのタイプ＝「直線」が選択された場合は、寸法Ｂは入力できないように寸法Ｂ入力受付部９０９をグレーアウトし、寸法Ａ入力受付部９０８に対して値を入力可能に表示する。寸法とモデルとの関係は図１３に示す。
【００５９】
モデル位置入力受付部９０７は、「接続部」に対して入力される値である。モデル位置入力受付部９０７に入力された値は、図１４の１４００〜１４２０に示すように、寸法入力画面９００における「接続部」前後のモデル同士の距離（例：図９におけるＭｏｄｅｌ０１とＭｏｄｅｌ０１Ａとの間の距離）を指定する値である。なお、部品同士のＸ軸方向の距離は、寸法Ａ入力受付部９０８において入力を受け付けたＸ軸の値の分だけ離すものとする（つまり、寸法Ａ入力受付部９０８において入力を受け付けたＸ軸の値は、接続部の長さの値である）。当該Ｘ，Ｙ，Ｚの値が入力されると、当該Ｘ，Ｙ，Ｚの値をメモリ上の表計算ファイル７２０に記憶・更新する。
【００６０】
「モデル作成」ボタン９０１は、寸法入力画面９００において入力を受け付けた寸法のモデルをＣＡＤソフト１０１上で生成するためのモデル作成画面を表示するためのボタンである。「寸法チェック」ボタン９０２は、寸法入力画面９００において表示されている情報を、別途保存されていた表計算ファイルを読み出すことで表示していた場合に、当該ファイルを読み出した（開いた）当初からどのセルの値が変更されたかをチェックする寸法チェックツール１０４を起動するためのボタンである。
【００６１】
「寸法変更」ボタン９０３は、ＣＡＤソフト１０１において生成・配置（組立）済みのモデルの寸法を、寸法入力画面９００において入力されている寸法に一括で変更する寸法一括変更ツール１０５を起動するためのボタンである。以上が図９の説明である。
【００６２】
図４の説明に戻る。ステップＳ４０２では、表計算ソフト１０３はユーザからの操作指示を受け付け（ステップＳ４０２）、当該受け付けた指示が「モデル作成」ボタン９０１の押下か、「寸法チェック」ボタン９０２又は「寸法変更」ボタン９０３の押下か判定する（ステップＳ４０３）。
【００６３】
受け付けた操作指示が「寸法チェック」ボタン９０２又は「寸法変更」ボタン９０３の押下の場合には処理をステップＳ４１６に移行する。ステップＳ４１６の寸法チェック及び寸法一括変更の処理については図６の説明で後述する。
【００６４】
受け付けた操作指示が「モデル作成」ボタン９０１の押下であると判定された場合、部品組立ツール１０２を起動する。具体的には、ＰＣ１００の所定の記憶領域に記憶されている「部品組立ツール．ｅｘｅ」のファイルを指定してツールを起動する（ステップＳ４０４／ステップＳ４０５）。
【００６５】
部品組立ツール１０２は、表計算ソフト１０３がメモリ上に保持している、表計算ソフト１０３が開いているファイルの情報を読み込む。つまり、図９に示す寸法入力画面で入力され表示されているモデルタイプの情報とモデル位置、寸法Ａ、寸法Ｂの情報を取得して、寸法入力画面における行Ｎｏが若い順に（上の行から順に）並べたリストを生成して、メモリ上に記憶する（ステップＳ４０６）。例えば図７の表計算ファイル７２０のようなリストを生成・記憶する。
【００６６】
部品組立ツール１０２は、当該リストに記憶された情報の最上位のレコードを処理対象のモデルの情報として取得して（ステップＳ４０７）、当該情報のモデルタイプ＝接続部か判定する（ステップＳ４０８／タイプ判定手段に該当）。接続部である場合は処理をステップＳ４１０に移行し、モデルタイプが接続部でない場合は処理をステップＳ４０９に移行する。例えば、図９の９００において表示しているファイルを読み込んだ場合は、Ｍｏｄｅｌ０１のタイプは接続部ではないため、処理をステップＳ４０９に移行する。
【００６７】
ステップＳ４０９では、部品組立ツール１０２は、図５に示す部品組立処理を実行する。
【００６８】
ここで図５を参照して、本発明の実施形態における部品組立処理の流れについて説明する。図５の各処理は、ＰＣ１００のＣＰＵ２０１が、部品組立ツール１０２及びＣＡＤソフト１０１の機能を用いて実行するものとする。
【００６９】
部品組立ツール１０２は、図１０に示すモデル作成画面を表示する（ステップＳ５０１）。当該画面においては、ステップＳ４０７で取得したレコードのレコードＮｏをレコードＮｏ表示部１００５に表示し、当該レコードのモデルタイプをモデルタイプ表示部１００６に表示する（ステップＳ５０１）。
【００７０】
ここで図１０に示すモデル作成画面について説明する。図１０によれば、モデル作成画面は、「部品挿入」ボタン１００１、「部品確定」ボタン１００２、「次へ」ボタン１００３、「終了」ボタン１００４、レコードＮｏ表示部１００５、モデルタイプ表示部１００６、ファイル名表示部１００７、ルート方向変更指示受付部１００８、入口面選択受付部１００９、出口面選択受付部１０１０、部品方向変更指示受付部１０１１などから構成されている。また、ＣＡＤソフト１０１は、アセンブリ表示部１０１２、モデル表示部１０１３を備えるモデル表示画面を表示している。
【００７１】
「部品挿入」ボタン１００１は、モデルをＣＡＤソフト１０１においてモデル表示部に仮配置（仮組立）するためのボタンである。仮配置とは、ＣＡＤソフト１０１のモデル表示部１０１３にモデルが配置されるものの、まだモデルの位置・角度が固定（確定）されていない状態である。固定（確定）がされる前に、例えばモデル作成画面が閉じられた場合、未確定の（仮配置中の）モデルは、モデル表示部１０１３から削除する。
【００７２】
「部品挿入」ボタン１００１の押下を受け付けることで部品組立ツール１０２は、モデルタイプ表示部１００６に表示されている、処理中のモデルのモデルタイプに対応するモデル（テンプレートモデル情報７００におけるファイル名７０２のモデル）をメモリ上にコピーしてファイル名を変更し、図９のアセンブリ名入力受付部９１２において入力されているアセンブリ直下の所定のフォルダに当該モデルのファイルを保存する。そしてＣＡＤソフト１０１に、当該保存したモデルのファイルを読み込む（所定のアセンブリにおいて参照させる）よう指示し、読み込ませることで当該モデルをＣＡＤソフトのモデル表示部１０１３に配置（仮配置）する。
【００７３】
「部品確定」ボタン１００２は、仮配置したモデルの配置の確定（組立の確定）をするためのボタンである。「部品確定」ボタン１００２が押下された場合、部品組立ツール１０２は、部品の配置を確定すべく、ＣＡＤソフト１０１に対して配置しているモデルの情報を固定（合致）させるよう指示する。「次へ」ボタン１００３は、配置確定した、処理中のモデルの次のモデルを読み込んでモデル作成画面に表示するためのボタンである（例えば図９の９２０におけるＭｏｄｅｌ０１を配置確定した後、Ｍｏｄｅｌ０２を読み込む）。
【００７４】
「終了」ボタン１００４は、当該モデル作成画面を閉じてモデル作成を終了するためのボタンである。レコードＮｏ表示部１００５、モデルタイプ表示部１００６は、Ｓ４０７で取得したモデル作成画面で作成するモデル（後述するルート方向変更指示受付部１００８、入口面選択受付部１００９、出口面選択受付部１０１０、部品方向変更指示受付部１０１１で、入口・出口の面、ルートの方向、部品自体の配置の方向を変更・決定するモデル）のレコードＮｏ、モデルタイプを表示する表示部である。
【００７５】
ルート方向変更指示受付部１００８は、所定の軸方向に対してモデルを１８０度回転させる操作を受け付ける受付部である。どの軸方向を用いてモデルの回転を行うかは、ルート方向の記載の横に配置している矢印ボタンでＸ軸、Ｙ軸、Ｚ軸を順次選択する。回転する方向はプラス、マイナスのラジオボタンにチェックを入れることで指定し、方向変更を行う。
【００７６】
入口面選択受付部１００９・出口面選択受付部１０１０は、モデルにおける参照平面の内どの面を入口面（直前の部品の出口面と繋げる／合致させる面）にし、モデルにおける参照平面の内どの面を出口面（直後の部品の入口面と繋げる／合致させる面）にするかを特定する選択操作を受け付ける。具体的には、入口面の記載の横に配置されている矢印のボタンの押下を受け付けることで、仮配置したモデルの参照平面の内１つを選択し、選択中の面を入口面として当該参照平面の識別情報をメモリに記憶する。また、出口面の記載の横に配置されている矢印のボタンの押下を受け付けることで、仮配置したモデルの参照平面の内１つを選択し、選択中の面を出口面として当該参照平面の識別情報をメモリに記憶する。
【００７７】
部品方向変更指示受付部１０１１は、部品の配置方向を特定するための入力受付部である。具体的には、部品方向の記載の横に配置されている矢印のボタンの押下を受け付けることで、仮配置されている部品の方向を変更する。
【００７８】
アセンブリ表示部１０１２は、モデル表示部１０１３に表示するモデルの構成を表示する表示部である。以上が図１０の説明である
【００７９】
図５の説明に戻る。部品組立ツール１０２は、ユーザからの操作指示を受け付け（ステップＳ５０２）、受け付けた操作が「部品挿入」ボタン１００１の押下か判定する（ステップＳ５０３）。「部品挿入」ボタン１００１の押下を受け付けた場合は処理をステップＳ５０４に移行する。受け付けた操作が、「部品挿入」ボタン１００１の押下でない場合は処理をステップＳ５１３に移行する。
【００８０】
ステップＳ５０４において、部品組立ツール１０２は、ステップＳ４０７で取得した処理対象のモデルのレコードの寸法Ａ、寸法Ｂを取得し、取得した寸法をＣＡＤソフトに作成依頼する寸法として決定する（ステップＳ５０４）。そして、読込み中のレコードのモデルタイプに対応するファイル名を取得して、当該ファイル名のファイルを、アセンブリ名入力受付部９１２に入力されているアセンブリ直下の所定のフォルダにコピーし、所定のルールに基づいてファイル名を変更する（ステップＳ５０５）。
【００８１】
部品組立ツール１０２は、当該モデルのＣＡＤソフト１０１におけるモデル表示部１０１３上の配置位置を決定する（ステップＳ５０６）。処理対象のモデルが、最初に配置するモデルである場合は、所定の位置（例えばＸ，Ｙ，Ｚ＝０，０，０）を配置位置として決定する。２番目以降に配置するモデルの場合には、直前のモデルの出口面の位置に、処理対象のモデルの入口面が合わさる位置を処理対象のモデルの配置位置として決定する。なお、後述する出口面、入口面の選択はモデルの配置後（仮配置後）に可能となる。処理対象のモデルを最初に配置する際は、当該モデルにおいてデフォルトで設定されている入口面を、配置済みのモデルの出口面に合わせるように配置するものとする。
【００８２】
部品組立ツール１０２は、決定した配置位置に当該コピーしたファイル（モデル）を配置（仮配置）するよう指示し（ステップＳ５０７／配置制御手段に該当）、当該指示を受け付けたＣＡＤソフト１０１が指示された位置に指示されたファイルのモデルを配置する（ステップＳ５０８、Ｓ５０９）。具体的には、部品組立ツール１０２は、アセンブリ名入力受付部９１２に入力されている名称のアセンブリを、コピーしたモデルを参照するよう更新する指示をＣＡＤソフト１０１に送信し、当該指示を受けたＣＡＤソフト１０１が、対象のアセンブリを開いて、当該コピーしたファイルを当該アセンブリの参照ファイルとしてメモリ上に記憶する（例えば図８の構成情報８００をメモリに記憶する）。そしてＣＡＤソフト１０１が当該アセンブリを最新の状態で読み込んで、モデル配置後の画面である図１０の１０２０を表示する。また、配置済みモデル情報７３０をメモリ上に生成し、配置したモデルの各情報を配置済みモデル情報７３０に追加して記憶する。
【００８３】
ここで図８を参照して本発明の実施形態における構成情報８００（アセンブリ）の構成の一例について説明する。
【００８４】
Ｎｏ８０１は、アセンブリのレコードＮｏである。レベル８０２は、アセンブリの構成の階層レベルである。トップアセンブリ（例：ＴｏｐＡｓｓｙ）がレベル１、その直下の情報とし参照されている部品、サブアセンブリ（例：ＤｕｃｔＡｓｓｙ）がレベル２、当該サブアセンブリが参照している部品（例：Ｍｏｄｅｌ０１）がレベル３というように、当該階層レベルは部品、アセンブリごとに記憶されている。フォルダパス８０３は、ファイル名８０４に示す、ＴｏｐＡｓｓｙまたはＤｕｃｔＡｓｓｙ等のサブアセンブリが参照している参照先のファイルの保存パスである。親子関係８０５は、該当レコードのファイルの親（直上）にある、当該ファイルを参照しているアセンブリのファイル名を格納する。種類８０６は、各レコードのファイルの種類が、アセンブリなのか、部品（モデル）なのか、仮想部品（部品（仮想）／仮想モデル）なのかを示す。
【００８５】
ここでいう仮想部品（仮想モデル）とは、Ｍｏｄｅｌ０１．ｐａｒｔのようにモデル単体でファイル化されているモデルではなく、アセンブリの中にその位置、形状の情報が格納された、ＣＡＤソフト１０１の接続部作成のコマンドで作成された部品であることを示す。アセンブリでは、当該仮想部品は８００に示す通り１つの部品として記憶管理される。構成情報８００のアセンブリ構成をツリー状にした図をアセンブリ構成８１０に示す。ＣＡＤソフト１０１は当該アセンブリ構成８１０を、アセンブリ表示部１０１２に表示する。以上が図８の説明である。
【００８６】
図５の説明に戻る。部品組立ツール１０２は、仮配置したモデルの寸法を、ステップＳ５０４で決定した寸法に変更するようＣＡＤソフト１０１に指示し（ステップＳ５１０／寸法変更制御手段に該当）、当該指示を受け付けたＣＡＤソフト１０１が、指示された寸法にモデルの寸法を変更する（ステップＳ５１１、Ｓ５１２）。部品組立ツール１０２は、ステップＳ５１０の後、処理をステップＳ５０１に戻して次の操作を受け付けるまで待機する。以上がモデルの仮配置の処理である。
【００８７】
一方、ステップＳ５１３では、部品組立ツール１０２は、受け付けた操作指示がモデルの回転操作（部品方向変更指示受付部１０１１（矢印ボタン）の押下、又は、ルート方向変更指示受付部１００８におけるラジオボタンの押下）を受け付けたか判定する（ステップＳ５１３）。回転操作を受け付けた場合、押下を受け付けた矢印のボタン、またはラジオボタンに対応する方向に仮配置済みのモデルを回転させるようＣＡＤソフト１０１に指示する（ステップＳ５１４）。ＣＡＤソフト１０１は当該指示を受け付け（ステップＳ５１５）、指示された方向にモデルを回転する（ステップＳ５１６）。
【００８８】
受け付けた操作が回転操作でない場合には、受け付けた操作が出口面の選択操作か判定する（ステップＳ５１７）。具体的には、出口面の記載の横に配置されている矢印ボタンの押下を検知した場合に出口面の選択操作を受け付けたと判定する。矢印ボタンの押下を受け付けた場合、受け付けた矢印ボタンの方向に応じたモデル上の参照平面を特定し、特定した参照平面の識別情報を出口面としてメモリに記憶する（ステップＳ５１８）。例えば図７の入口面・出口面情報７４０中の、選択された参照平面の出口面７４４の値を１に更新する。当該入口面・出口面情報７４０は予めＰＣ１００の外部メモリに、部品組立ツール１０２が参照可能に記憶されている。部品ＩＤ７４１は部品の識別情報であり、参照平面ＩＤは部品ＩＤ７４１の部品における参照平面の識別情報である。入口面７４３、出口面７４４はそれぞれ、いずれの参照平面が入口面、出口面として選択されたかを示す。値が１の場合に、入口面、出口面として選択されたことを示し、値が０の場合は入口面、出口面として選択されていないことを示す。
【００８９】
部品組立ツール１０２は、当該出口面として特定した参照平面を仮配置済みのモデル上で選択状態にすべく、当該参照平面の選択指示をＣＡＤソフト１０１に送信する。ＣＡＤソフト１０１は当該指示を受け付けて、指示された参照平面を選択状態にして出口面として選択・設定中である旨を識別表示する（ステップＳ５１９）。例えば選択された参照平面の線分を青色に変更する処理を行う。出口面の選択をした画面の例を図１１の１１００に示す。
【００９０】
受け付けた操作が出口面の選択操作でない場合には、受け付けた操作が入口面の選択操作か判定する（ステップＳ５２０）。具体的には、入口面の記載の横に配置されている矢印ボタンの押下を検知した場合に入口面の選択操作を受け付けたと判定する。矢印ボタンの押下を受け付けた場合、受け付けた矢印ボタンの方向に応じたモデル上の参照平面を特定し、特定した参照平面の識別情報を入口面としてメモリに記憶する（ステップＳ５２１）。例えば入口面・出口面情報７４０中の、選択された参照平面の入口面７４３の値を１に更新する。そして、当該特定した参照平面を仮配置済みのモデル上で選択状態にすべく、当該参照平面の選択指示をＣＡＤソフト１０１に送信する。ＣＡＤソフト１０１は当該指示を受け付けて、指示された参照平面を選択状態にして入口面として選択・設定中である旨を識別表示する（ステップＳ５２２）。例えば選択された参照平面の線分の色を赤色に変更する処理を行う。入口面の選択をした画面の例を図１１の１１００に示す。また、入口面が選択された場合、部品組立ツール１０２は、当該新たに選択された入口面の位置・向きを、表計算ファイル７２０における直前のモデルの出口面の位置、向きに合わせるようにモデルの位置・向きを変更する処理を行う。具体的には、新たに入口面として選択された参照平面の位置・向きを、直前のモデルの出口面の参照平面の位置・向きに合わせるようにＣＡＤソフト１０１に指示する。ＣＡＤソフト１０１が当該指示を受け付けて、受け付けた指示に応じてモデルの位置・向きを変更し、新たに選択された入口面を当該出口面に合わせて表示する。
【００９１】
受け付けた操作が入口面の選択操作でない場合には、受け付けた操作がモデルの配置確定の操作（配置を完了させる操作）か判定する（ステップＳ５２３）。当該モデルの配置の確定処理とは、仮配置中のモデルの入口面をメモリ上のリスト（表計算ファイル７２０の情報）における当該モデルの直前のレコードのモデルの出口面と合致させる指示をする操作である。具体的には、図１０の「部品確定」ボタン１００２の押下を受け付けた場合に、モデルの配置確定の操作を受け付けたと判定する。
【００９２】
モデルの配置確定の操作を受け付けた場合、部品組立ツール１０２は、仮配置中のモデルの入口面と、既に配置確定されている、メモリ上のリスト（表計算ファイル７２０の情報）の直前のレコードのモデルの出口面と合致させるようＣＡＤソフト１０１に指示する（ステップＳ５２４／合致制御手段に該当）。
【００９３】
ＣＡＤソフト１０１は当該指示を受け付け（ステップＳ５２５）、受け付けた指示に応じて２つの面を合致させる（ステップＳ５２６）。結果、入口面と出口面それぞれと同じ位置にある部品の面同士が合わさる（組み立てられる）。モデルタイプ＝「直線」のモデルと、モデルタイプ＝「曲線」のモデルの参照平面を合致させて組み立てた例を図１５に示す。図１５における１５０１が、それぞれのモデルの入口面・出口面に指定され、合致させた参照平面である。
【００９４】
ＣＡＤソフト１０１は、ステップＳ５２６の合致の処理が完了したことを部品組立ツール１０２に通知する（ステップＳ５３２）。部品組立ツール１０２は当該通知を受け付けると（ステップＳ５３３）、図１８に示すブロック割平面の作成処理を実行する（ステップＳ５２４）。
【００９５】
ここで図１８を参照して、本発明の実施形態における、ブロック割平面の作成処理の流れについて説明する。
【００９６】
部品組立ツール１０２は、ブロック割平面作成処理をする対象の部品を特定する。ここでは、ステップＳ５２６で、直前に配置された部品との合致処理を完了した新たな部品を、ブロック割平面を作成する（配置する）部品として特定する（ステップＳ１８０１）。
【００９７】
部品組立ツール１０２は、特定した部品に既にブロック割平面が配置されているかを判定する（ステップＳ１８０２）。具体的には、対象の部品のモデルを開いているＣＡＤソフト１０１に当該モデルに記憶されているフィーチャの一覧を要求し、要求に応じてＣＡＤソフト１０１から返信されてきたフィーチャ一覧（フィーチャ名一覧１９１０）の中に、ブロック割平面があるか判定する。なお、フィーチャはモデルを構成する情報の１つとして、図１９に示すようにモデル（モデル情報１９００／項目の内容は配置済みモデル情報７３０と同じであるため説明を割愛する）と対応付けて外部メモリに記憶されている、部品の内部情報の１つである。実際にはフィーチャの参照する面や線分等がフィーチャごとに対応付けて記憶されているが、本実施形態の説明においては不要なため記載を省略する。
【００９８】
ステップＳ１８０２では、部品組立ツール１０２は、ＣＡＤソフト１０１から取得したフィーチャ名一覧１９１０の中に、メモリ上に展開されている表計算ファイル７２０上においてステップＳ１８０１で特定した部品に対応付けられているブロック割平面の名称（ＢｌｏｃｋＮｏ）があるか判定する。表計算ファイル７２０は図７に図示している通りである。
【００９９】
ブロック割平面が既にある場合には（ステップＳ１８０２でＹＥＳ）処理をステップＳ１８０３に移行し、ブロック割平面がない場合には（ステップＳ１８０２でＮＯ）処理をステップＳ１８０６に移行する。
【０１００】
ステップＳ１８０３において、部品組立ツール１０２は、部品上に既に存在するブロック割平面を削除するようＣＡＤソフト１０１に指示する（ステップＳ１８０３）。新たにブロック割平面を作成するにあたり、既存のブロック割平面が邪魔なため、ブロｋｋう有り平面の配置状態を一度リセットすることが目的である。
【０１０１】
ＣＡＤソフト１０１は当該指示を受け付け（ステップＳ１８０４）、受け付けた指示に従って、ステップＳ１８０１で特定した部品のブロック割平面を、部品の内部に記憶されているフィーチャ一覧から削除する（ステップＳ１８０５）。そして、当該削除の処理が完了したことを部品組立ツール１０２に通知する。当該通知を受け付けた部品組立ツール１０２は、ステップＳ１８０１で特定した部品を、ファイル名を用いて、メモリ上に展開している表計算ファイルから検索して特定する。そして、特定した部品のファイル名に対応するブロック割情報７２９Ａ（ブロック割平面の配置位置、つまり、部品を分割する分割位置を決定するための情報）を取得する（ステップＳ１８０６）。
そして、ブロック割情報が適切か判定する（ステップＳ１８０７）。具体的には、分割
【０１０２】
距離の項目に記憶されている値の合計が、モデルの直径と一致するか判定する。例えば図７の場合、１００ｍｍ＋３００ｍｍ＋２００ｍｍ＝６００ｍｍの値が寸法Ａ７１３のＸＸｍｍと一致するか判定する。一致する場合は適切にブロック割のための分割距離が入力されていると判断し、ブロック割情報が適切であると判定する。ブロック割情報が適切な場合は、ステップＳ１８０６で取得したブロック割情報７２９Ａに基づいて、図２１でいうＢｌｏｃｋ１の平面とＢｌｏｃｋ２の平面の位置（例えば、面Ａの中心点から部品の寸法Ａの示すＸ方向１００ｍｍ離れた位置をＢｌｏｃｋ１のブロック割平面の中心位置とする。（当該中心位置に面Ａと平行なＢｌｏｃｋ１のブロック割平面を生成することとなる））をブロック割平面の配置位置として決定して、ステップＳ１８０８に処理を移行する。不適切な場合は不図示のエラー画面を表示して処理を終了する。
【０１０３】
部品組立ツール１０２は、決定したブロック割平面の位置に新たなブロック割平面を作成するよう、ＣＡＤソフト１０１に指示する（ステップＳ１８０８／分割平面生成制御手段の一例）。このとき、作成指示する各ブロック割平面の位置に対応付けて、各ブロック割平面の名前も合わせて指示する。例えば、ＢｌｏｃｋＮｏに記載差入れているカンマで区切られている値を、図２１に示す関係になるように各ブロック割平面の名前とするよう指示する。  
【０１０４】
ＣＡＤソフト１０１は当該指示を受け付け（ステップＳ１８０９）、当該指示に従って、ステップＳ１８０１で特定された部品上の（３次元モデルのＣＡＤファイル上の）、指示された位置に、指示された名前のブロック割平面を生成する（ステップＳ１８１０／例えば図２１）。そして、当該ブロック割平面の作成が完了した旨を部品組立ツール１０２に通知する。
【０１０５】
通知を受け付けた部品組立ツール１０２は、ステップＳ１８０９で作成指示した全てのブロック割平面の表示設定について、表示設定が「非表示にする」なっている場合は、表示設定を「表示する」に変更するよう指示する（ステップＳ１８１１／識別表示制御手段の一例）。つまり、ブロック割平面がＣＡＤソフト１０１の操作者であるユーザに見えるように、（非表示の設定の参照平面と区別するように）表示設定を変更する制御を行う。
【０１０６】
ＣＡＤソフト１０１は当該指示を受け付け（ステップＳ１８１２）、当該指示に従って対象のブロック割平面の表示設定を「表示する」に変更する（ステップＳ１８１３）。そして、当該表示設定の変更が完了した旨を部品組立ツール１０２に通知する。
【０１０７】
上述したようにブロック割平面の表示設定を、ブロック割平面が見えるように変更することで、３次元モデルの表示画面上で、どの位置で部品を分割するかをユーザに容易に確認させることができるようなる。
【０１０８】
通知を受け付けた部品組立ツール１０２は、ＣＡＤソフト１０１に対して、ＣＡＤファイルの再構成を指示する（ステップＳ１８１４）。ここでいう再構成とは、更新された（ブロック割平面が挿入された）部品の上位にあたる、図５のＳ５０８で開いたアセンブリファイルの参照している下位のファイル（例えばブロック割平面が挿入された部品）の再読込みを行わせる処理である。再読込みをさせることで、最新の状態の部品（ブロック割平面が挿入された部品）を読み込ませることができ、当該アセンブリファイルを開いているＣＡＤソフト１０１の画面において、ブロック割平面が挿入された更新後の部品を表示させることができる。
【０１０９】
ＣＡＤソフト１０１は当該指示を受け付け（ステップＳ１８１５）、更新された部品を参照しているアセンブリの参照の更新（参照している部品の再読込み）を行う（ステップＳ１８１６）。
【０１１０】
ＣＡＤソフト１０１は、当該再構成の処理を完了したことを部品組立ツール１０２に通知する。部品組立ツール１０２は、当該通知を受け付けてステップＳ１８１７の処理を実行する。
【０１１１】
部品組立ツール１０２は、ブロック割平面を挿入した部品（３次元モデル）の表面積の情報、座標系の情報を、ＣＡＤソフト１０１に要求する（ステップＳ１８１７）。ＣＡＤソフト１０１は当該要求を受け付け（ステップＳ１８１８）、対象の部品（３次元モデル）の表面積（各面の面積の情報）を計測する。また、座標系の情報（部品自体の向き（Ｘ軸、Ｙ軸、Ｚ軸方向）が、ＣＡＤソフト１０１のモデル表示部１０１３の向き（Ｘ軸、Ｙ軸、Ｚ軸方向）に対してどのような方向を向いているかを示す情報／例えば配置済みモデル情報７３０の向き７３６の情報）を取得して、これらの表面積、座標系の情報を部品組立ツール１０２に送信する（ステップＳ１８１９）。なお、本実施形態においては、部品は９０度方向にのみ回転可能であるため、向き７３６の示す値は０°、９０°、１８０°、２７０°のみである。
【０１１２】
部品組立ツール１０２は部品の表面積の情報（各面の面積の情報）、座標系の情報を受信する（ステップＳ１８２０）。そして、受信した座標系の情報を特定し（ステップＳ１８２１）、当該座標系の情報から、部品のどの面が、モデル表示部１０１３で回転された結果どの方向の面に見えているかを特定する（ステップＳ１８２２）。つまり、部品にとっての天井面が、部品がＺ軸方向に１８０°回転されることにより、ユーザに底面として見られていることを特定し、モデルにとってのＺ寸法のプラス方向にある面が、底面であることを決定する（識別情報決定手段の一例）。回転前後の天井面、側面、底面の遷移の例を図２４に示す。図２４は、モデルを、Ｘ軸を基準に（時計回りに）９０°回転、１８０°回転させた場合の図例である。
【０１１３】
部品組立ツール１０２は、部品の各面の面積の値を、ステップＳ１８２２で特定した、部品にとっての各面が（部品の回転により）実際にはどの面として表示されているかの情報に応じて、回転後のどの面の識別情報（天井面、底面、側面等）に対応付けてどの面積を表計算ファイルに挿入して記憶するかを決定し（面積決定手段の一例）、決定した面に対応付けて決定した面積の値を表示するよう表計算ソフト１０３に指示する（ステップＳ１８２３／面積表示制御の一例）。例えば、図２０の面積表示部２００３に示すように、各面の面積を各面に対応する入力欄に入力するよう指示する。例えば部品がＸ軸を基準として９０°回転している場合、部品にとっての天井面及び底面が側面に、部品にとっての右側面が底面に、部品にとっての左側面が天井面になる。なお、図２０に示す表面積（図７の７２９Ｂにおける表面積）の値は、各面の合計値である、部品の表面の総面積である。
【０１１４】
表計算ソフト１０３は当該指示を受け付け（ステップＳ１８２４）、当該指示に従って図７の７２９Ｂに各面の面積を記憶して、図２０の２０１０に示すように、各面の面積を表示部に入力して表示する（ステップＳ１８２５）。以上が図１８の説明である。
【０１１５】
図１８の処理によれば、部品リスト内の情報に応じて、３次元モデルの分割位置を示す識別情報を適切に表示する仕組みを提供することができる。
【０１１６】
例えば、部品の分割位置を示すブロック割平面を適切に配置、表示することができる。
【０１１７】
図５の説明に戻る。ステップＳ５０２で受け付けた操作がモデルの配置確定の操作でない場合（ステップＳ５２３でＮＯ）、受け付けた操作が次のモデルの読込み操作か判定する（ステップＳ５２７）。具体的には、「次へ」ボタン１００３の押下を受け付けた場合に、次のモデルの読込み操作を受け付けたと判定する。次のモデルの読込み操作を受け付けた場合、処理を図４のステップＳ４０７に移行して、未処理のレコードの内、最上位のレコードを取得する。
【０１１８】
受け付けた操作が次のモデルの読込み操作でない場合、受け付けた操作がモデル作成画面の終了操作か判定する（ステップＳ５２８）。具体的には、「終了」ボタン１００４の押下を受け付けた場合に、モデル作成画面の終了操作を受け付けたと判定する。受け付けた操作がモデル作成画面の終了操作でない場合、処理をステップＳ５０１に戻して次の操作があるまで待機する。受け付けた操作がモデル作成画面の終了操作である場合、未確定の、仮配置中のモデルを削除するようＣＡＤソフト１０１に指示する（ステップＳ５２９）。
【０１１９】
ＣＡＤソフト１０１は当該指示を受け付け（ステップＳ５３０）、仮配置中のモデルを削除する（ステップＳ５３１）。以上が図５の説明である。
【０１２０】
図４の説明に戻る。部品組立ツール１０２は、ステップＳ４０９の処理実行後、図４の処理を終了する。一方、ステップＳ４０８において、ステップＳ４０７で取得したレコードのモデルタイプが接続部である場合、ステップＳ４０７で取得したレコードの次のレコードの情報（モデルタイプ、寸法等）を取得し（ステップＳ４１０）、取得したレコードのタイプのモデルを取得した寸法でＣＡＤソフト１０１において配置する処理を行う（ステップＳ４１１）。当該モデルの配置処理は、ステップＳ４０９で説明した図５の処理とほぼ同一である。一部処理が異なるため、以下、異なる処理について説明する。
【０１２１】
ステップＳ４１１では、ステップＳ５０１〜Ｓ５０５の処理実行後、ステップＳ５０６において、メモリ上のリスト（表計算ファイル７２０に相当）の処理中のレコード（例：Ｍｏｄｅｌ０１Ａ）の直前のレコード（タイプ＝接続部のレコード／ＪｏｉｎｔＸＸ）のモデル位置のＹ，Ｚ値、処理中のレコードの寸法Ａ７２６のＸ値を取得し、取得したＸ，Ｙ，Ｚの値を、２つ前のレコード（Ｍｏｄｅｌ０１）との間の距離として特定し、Ｍｏｄｅｌ０１から当該Ｘ，Ｙ，Ｚの距離分離れた位置をＭｏｄｅｌ０１Ａの配置位置として決定・記憶し、部品の配置処理を行う。部品組立ツール１０２は、ステップＳ５０７〜Ｓ５２６を実行する。配置後の部品、例えばＭｏｄｅｌ０１Ａの配置の様子を図１１の１１２０に示す。
【０１２２】
部品組立ツール１０２は、図５のステップＳ５２７で次のモデルの読込み操作を受け付けたと判定した場合に、部品組立ツール１０２は、処理を図４のステップＳ４１２に移行する。また、ステップＳ４１１では、図５のステップＳ５２９で未確定のモデルの削除指示を行った後、図５及び図４の処理を終了するものとする。以上がステップＳ４１１における部品配置処理の説明である。
【０１２３】
部品組立ツール１０２は、ステップＳ４１２で接続部の作成する基準となる面の寸法・位置を特定する（ステップＳ４１２）。具体的には、ステップＳ４１１で配置が確定したモデルの入口面と、当該モデルの直前のレコードのモデルの出口面の位置、寸法を特定して、接続部中の２面を、当該入口面・出口面とそれぞれ位置にある同じ寸法の面（例えば図１２における１２０１の面と１２０２の面）に決定する。
【０１２４】
部品組立ツール１０２は、当該特定した面と同じ寸法の面を、特定した入口面・出口面の位置に備える接続部の仮想モデルを生成するようＣＡＤソフト１０１に指示する（ステップＳ４１３／接続部作成制御）。
【０１２５】
ＣＡＤソフト１０１は、当該指示を受け付け（ステップＳ４１４）、受け付けた指示に応じて接続部のモデル（ＪｏｉｎｔＸＸ）を生成してモデル表示部１０１３に配置する（ステップＳ４１５）。接続部のモデル（ＪｏｉｎｔＸＸ）の配置の様子を図１２の１２００に示す。以上が図４の説明である。
【０１２６】
次に図６を参照して、図４のステップＳ４１６で実行する、寸法チェック及び寸法一括変更の処理の流れについて説明する。
【０１２７】
表計算ソフト１０３は、ステップＳ４０２で受け付けた操作指示が「寸法チェック」ボタン９０２の押下か、「寸法変更」ボタン９０３の押下かを判定する（ステップＳ６０１）。「寸法チェック」ボタン９０２の押下の操作である場合、処理をステップＳ６０２に移行する。「寸法変更」ボタン９０３の押下操作である場合、処理をステップＳ６０８に移行する。
【０１２８】
表計算ソフト１０３は、ステップＳ６０２で、寸法チェックツール１０４を起動する処理をする（ステップＳ６０１）。具体的には、ＰＣ１００の所定の記憶領域に記憶されている「寸法チェックツール．ｅｘｅ」のファイルを指定してツールを起動する（ステップＳ６０２）。当該起動処理の対象となった寸法チェックツール１０４が起動し（ステップＳ６０３）、メモリ上記に記憶されている現在の表計算ファイル７２０の情報（つまり、現在寸法入力画面９００に入力・表示されている値）と、ステップＳ４０１で記憶した比較基準情報とを取得して各項目の値を比較し、値が異なる項目（表計算ソフト１０３において表示されている寸法入力画面９００において現在の値と比較基準情報の値が異なるセル）を特定する（ステップＳ６０４）。どの項目がどのセルに対応するか特定するための情報は、別途メモリに記憶されているものとする。
【０１２９】
寸法チェックツール１０４は、当該値が異なるセルの値を識別可能に表示するよう表計算ソフト１０３に指示する（ステップＳ６０５）。具体的には、当該値が異なるセルの識別番号と当該識別番号の示すセルの背景色を変更する指示を表計算ソフト１０３に対して送信する。
【０１３０】
表計算ソフト１０３は当該識別表示の指示を受け付け（ステップＳ６０６）、指示されたセルの色を所定の色（例えば赤色）に変更することで、表計算ファイル７２０が開かれてから値が変更された項目、その値を識別表示する（ステップＳ６０７）。
【０１３１】
また、表計算ソフト１０３は、ステップＳ４０２で受け付けた操作指示が「寸法変更」ボタン９０３の押下であると判定した場合、ステップＳ６０８で、寸法一括変更ツール１０５の起動処理を実行する（ステップＳ６０８）。具体的には、ＰＣ１００の所定の記憶領域に記憶されている「寸法一括変更ツール．ｅｘｅ」のファイルを指定してツールを起動する。
【０１３２】
当該起動処理の対象となった寸法一括変更ツール１０５が起動し（ステップＳ６０９）、メモリ上記に記憶されている現在の表計算ファイル７２０の各モデルの寸法Ａ、寸法Ｂの値（つまり、現在寸法入力画面９００に入力・表示されている寸法の値）と、配置済みモデル情報７３０の値の各モデルの寸法の値を比較して、寸法の値が異なるモデルのファイル名、及び現在の表計算ファイル７２０における寸法の値を特定する（ステップＳ６１０）。
【０１３３】
寸法一括変更ツール１０５は、ステップＳ６１０で特定したファイル名の全てのモデルの寸法を、ステップＳ６１０で特定した各モデルに対応する現在の寸法入力画面９００における寸法に変更する指示をＣＡＤソフト１０１に送信する（ステップＳ６１１）。
【０１３４】
ＣＡＤソフト１０１は当該指示を受信し（ステップＳ６１２）、指示されたモデルの寸法を指示された寸法に変更・更新する処理を行う（ステップＳ６１３）。そして、当該寸法変更・更新の処理が完了すると、当該寸法変更・更新の処理が完了した旨を寸法一括変更ツール１０５に通知する（ステップＳ６１５）。寸法一括変更ツール１０５は当該通知を受け付ける（ステップＳ６１５）。そして、ブロック割平面の作成処理を実行する（ステップＳ６１６）。具体的には、図１８で説明において部品組立ツール１０２が実行するものとして説明した処理（Ｓ１８０８、Ｓ１８１４、Ｓ１８１７、Ｓ１８２０〜Ｓ１８２３の処理）を寸法変更ツールが代替して実行する。また、寸法変更ツールの指示に応じて、図１０で表計算ソフト１０３、ＣＡＤソフト１０１がそれぞれ実行するもとして説明した処理を、表計算ソフト１０３、ＣＡＤソフト１０１がそれぞれ実行する。以上が図６の説明である。
【０１３５】
これにより、寸法変更のタイミングでも、部品リスト内の情報に応じて、３次元モデルの分割位置を示す識別情報を適切に表示する仕組みを提供することができる。
【０１３６】
例えば、部品の分割位置を示すブロック割平面を適切に配置、表示することができる。
【０１３７】
以上説明したように、本実施形態によれば、部品のリストの順序に応じて、３次元部品の組み立てを簡易に実現できる。
【０１３８】
また、部品リスト内の情報に応じて、３次元モデルの分割位置を示す識別情報を適切に表示する仕組みを提供することができる。
【０１３９】
＜第２の実施形態＞
【０１４０】
第２の実施形態では、例えば、組み立てるモデルの径（出口面と入口面の寸法）が一致しているか容易に確認可能することを目的とする。
【０１４１】
具体的には、図５のステップＳ５０４の直後、又は／及び、図６のステップＳ６０５の処理の直後に図１６の処理を実行することで、当該モデルの径のチェック及びチェック結果のユーザへの通知を行う。
【０１４２】
以下、図１６、図１７を参照して、本発明の第２の実施形態について説明する。第２の実施形態においては、第１の実施形態と共通の処理については説明を省略する。
【０１４３】
ステップＳ５０４の直後に図１６の処理を実行する場合、ステップＳ１６０１において部品組立ツール１０２は、寸法入力画面９００に入力・表示されている値を記憶したメモリ上のリスト（表計算ファイル７２０）を取得して、処理中レコードの直前のレコードを特定し（ステップＳ１６０１）、特定した直前のレコードのモデルの出口面である参照平面と一致する面（出口面である参照平面と同じ位置にあり、同じ向きである直前のレコードの部品上の面）と、処理中のレコードのモデル（ステップＳ５０４で寸法を決定したモデル）の入口面である参照平面に一致する面（入口面である参照平面と同じ位置にあり、同じ向きである処理中のレコードの部品上の面）の寸法をそれぞれ取得する（ステップＳ１６０２）。
【０１４４】
具体的には、部品組立ツール１０２がＣＡＤソフト１０１に対して、前記直前のレコードのモデルの識別情報、当該モデルにおける出口面である参照平面の識別情報を通知することで、当該出口面と同じ位置、向きにある当該モデルの面の寸法を要求する。ＣＡＤソフト１０１が当該要求に応じて対象の面の寸法をモデルのファイルの内部情報から読み出して、部品組立ツール１０２に返信する。部品組立ツール１０２はこれを受信することで、前記直前のレコードの部品上の出口面（参照平面）に一致する面の寸法を取得する。また、部品組立ツール１０２がＣＡＤソフト１０１に対して、処理中のレコードのモデルの識別情報、当該モデルにおける入口面である参照平面の識別情報を通知することで、当該入口面と同じ位置、向きにある当該モデルの面の寸法を要求する。ＣＡＤソフト１０１が当該要求に応じて対象の面の寸法をモデルのファイルの内部情報から読み出して、部品組立ツール１０２に返信する。部品組立ツール１０２はこれを受信することで、処理中のレコードの部品上の入口面（参照平面）に一致する面の寸法を取得する。
【０１４５】
部品組立ツール１０２は取得したそれぞれの面の径（寸法）が適切か判定し（ステップＳ１６０３／寸法判定手段に該当）、適切な場合は図１６の処理を終了して、処理を図５のステップＳ５０５に進める。径が適切な場合とは、例えば、２つの面の径（寸法）が一致している場合である。
【０１４６】
例えばステップＳ１６０３で、それぞれの面の径（寸法）が一致していないと判定された場合は、当該径が一致していないモデルの寸法値を識別表示するよう表計算ソフト１０３に指示する（当該寸法の入力されているセルの識別番号と識別表示の指示を送信する表示制御に該当／ステップＳ１６０４）。
【０１４７】
当該指示を受け付けた表計算ソフト１０３は（ステップＳ１６０６）、当該指示に応じて対象のセルの値を識別表示する。例えば、対象のセルの背景色を赤色に変更する。セルの背景色変更の例を図１７の１７００の１７０１、１７０２に示す。その後処理を終了する。
【０１４８】
また、部品組立ツール１０２は、例えばステップＳ１６０３で、それぞれの面の径（寸法）が一致していないと判定した場合、当該径が一致していないモデルの寸法値を識別表示するようＣＡＤソフト１０１に指示する、識別表示の制御を行う（ステップＳ１６０５）。つまり、当該径が一致していない面と同じ位置にある参照平面（ステップＳ１６０２でＣＡＤソフト１０１に問合せを行った参照平面）の識別情報をＣＡＤソフト１０１に通知し、且つ、当該参照平面の線分の色を所定の色に変更するようＣＡＤソフト１０１に指示する。当該指示を受け付けたＣＡＤソフト１０１は（ステップＳ１６０６）、当該指示に応じて対象の参照平面の線分の色を所定の色（例えば赤色）に変更する処理を行う（ステップＳ１６０７）。参照平面の色変更の表示例を図１７の１７１０の１７１１に示す。また、部品組立ツール１０２は、図１７の１７１２に示すような、２つのモデルの径が不一致である旨を通知する通知画面を表示画面に表示する。以上が図５のステップＳ５０４の直後に図１６の処理を実行する場合の説明である。
【０１４９】
図６のステップＳ６０５の直後に図１６の処理を実行する実施例について説明する。ステップＳ６０５の直後に図１６の処理を実行する場合、上述した図１６の説明において部品組立ツール１０２が実行していた処理と同じ処理（ステップＳ１６０１〜Ｓ１６０５）を寸法チェックツール１０４が実行する。ステップＳ１６０２による面の寸法の取得は、寸法チェックツール１０４とＣＡＤソフト１０１の間で実行する。また、ステップＳ１６０３で径が一致していると判定された場合には、図１６の処理を終了するものとする。
【０１５０】
なお、通知画面１７１２の表示は、１７００に示す表計算ソフトにおけるセルの背景色変更と共に行うようにしてもよい。以上が図１６の説明である。
【０１５１】
以上説明したように、組み立てるモデルの径（出口面と入口面の寸法）が一致しているか容易に確認可能することができる。
【０１５２】
＜第３の実施形態＞
【０１５３】
第３の実施形態では、部品を分割する基準値の情報を用いて、部品の分割位置を容易に決定することができる仕組みを提供することを目的とする。
【０１５４】
例えば、部品リストの中から、分割にかかる位置の情報を特定できない場合に、部品を分割する基準値の情報を用いて、部品の分割位置を容易に決定する。
【０１５５】
具体的には、図１８のステップＳ１８０７で、ブロック割情報が適切でないと判定された場合に、図２２の処理を実行することで、部品を分割する基準値の情報を用いて、ブロック割平面を挿入して表示する位置を自動で決定する。
【０１５６】
以下、図２２を参照して、本発明の第３の実施形態について説明する。第３の実施形態においては、第１の実施形態、第２の実施形態と共通の処理については説明を省略する。
【０１５７】
部品組立ツール１０２は、ステップＳ１８０７でブロック割情報が適切でないと判定された場合に、ステップＳ２２０１の処理を実行する。
【０１５８】
部品組立ツール１０２は、ステップＳ２２０１において、ステップＳ１８０１で特定した部品の重量及び寸法の値をＣＡＤソフト１０１に要求する（ステップＳ２２０１）。なお、寸法の値は寸法Ａ７２６から取得するようにしてもよい。
【０１５９】
ＣＡＤソフト１０１は当該要求を受け付け（ステップＳ２２０２）、部品の材質と寸法から、当該部品の総重量を算出する（ステップＳ２２０３）。そして、当該部品の重量と寸法を部品組立ツール１０２に送信する（ステップＳ２２０４）。
【０１６０】
部品組立ツール１０２は、部品の重量及び寸法を受信して、メモリ上に記憶する（ステップＳ２２０５／総重量取得手段の一例）。ここでは、部品は直方体の形状をしており、重量の比率は部品の端から端まで均等であるものとする。つまり、１０ｋｇの重量の部品を均等な寸法で２つに分割した場合、分割後の各部品の重量は５０ｋｇずつとなるものとする。また、部品の寸法は、部品の各辺の長さ、つまり、部品のＸ，Ｙ、Ｚの直径を取得する（直径取得手段の一例）。
【０１６１】
部品組立ツール１０２は、ＰＣ１００の外部メモリに予め記憶されている部品の分割の基準値を取得する。当該基準値は、例えば、３次元モデルに基づいて実物の部品を製造した後、当該部品を使用する地点に当該部品をトラック等で運搬する際に、トラック等で効率よく部品を運搬するため、適切な大きさ、重さになるように部品を分割するための基準値であり、重さの基準値、寸法の基準値がそれぞれ記憶されている（基準値記憶手段の一例）。
【０１６２】
部品組立ツール１０２は、まず、寸法（部品の大きさ）の基準値に従って、分割位置を仮決定する。例えば、図２３に示すように、部品の寸法Ａ（大きさ）のＸが５ｍ、Ｙが２ｍ、Ｚが２ｍの部品であって、大きさの基準値が各軸について２ｍ以内、と記憶されている場合、Ｘ軸方向を向いた１つの面を基準面として、部品の端（基準面の位置）から２ｍの位置にブロック割平面１、そこからさらに２ｍ離れた位置をブロック割平面２の位置として仮決定する（ステップＳ２２０７）。
【０１６３】
部品組立ツール１０２は、仮決定した位置で部品を分割した場合、分割後の各部品の大きさが、大きさの基準値以内になっているか判定する（ステップＳ２２０８）。基準値以内になっている場合は処理をステップＳ２２０９に進める。基準値より大きい部品がある場合には、ブロック割平面の位置の間隔を、所定の割合分小さくする。例えば、ステップＳ２２０７に処理を戻し、当該間隔を２５％小さくし、１．５ｍ間隔で分割するようにブロック割平面の位置を再度仮決定して、処理を再度ステップＳ２２０８に進める。
【０１６４】
ステップＳ２２０９において、部品組立ツール１０２は、分割した後の各部品の重量が、重量の基準値以下か判定する（ステップＳ２２０９）。例えば、ステップＳ２２０５で受信した部品の総重量と、ブロック割平面を配置する位置として仮決定した位置に基づいて、分割後の各部品の重量を算出する。例えば、図２３に示す部品の場合、Ｘの寸法５ｍを、２：２：１の割合で分割している。よって、例えば部品の重量が５０ｋｇの場合、それぞれ分割後の部品の重量は２０ｋｇ、２０ｋｇ、１０ｋｇとなる。これら全ての部品の重量が、重さの基準値以下か判定する。上記の例によれば、基準値が２０ｋｇ以下と記憶されている場合は基準値以下となっているため、処理をステップＳ２２１０に移行する。仮に基準値が１０ｋｇ以下だった場合、処理をステップＳ２２０７に戻して、例えばブロック割平面の位置の間隔を所定の割合分（例：２５％）小さく設定して、再度処理をステップＳ２２０８に進める。
【０１６５】
ステップＳ２２１０で、部品組立ツール１０２は、ステップＳ２２０９で重量の基準値をクリアしていると判定された分割位置（図２３によれば、２０００ｍｍ、２０００ｍ、１０００ｍｍ）の値を、図７の７２９Ａの分割距離の値にすることを決定し（ステップＳ２２１０）、分割距離に基づいて生成するブロック割平面の名称を決定して、当該分割距離の値と当該ブロック割平面の名称（ＢｌｏｃｋＮｏ）を表計算ファイルに入力するよう、表計算ソフト１０３に指示する（ステップＳ２２１１）。
【０１６６】
表計算ソフト１０３は当該指示を受け付け（ステップＳ２２１２）、受け付けた指示に従って、メモリ上に展開中の表計算ファイルの対象部品の７２９Ａ、７２９Ｂ（図７）にそれぞれ、ブロック割平面の名称（ＢｌｏｃｋＮｏ）、分割距離（２０００ｍｍ、２０００ｍ、１０００ｍｍ）、各面積の値を挿入して記憶する（ステップＳ２２１３）。
【０１６７】
そして、当該記憶の処理が完了した旨を部品組立ツールに通知する（ステップＳ２２１４）。部品組立ツール１０２は当該通知を受け付けると（ステップＳ２２１５）、処理を図１８のステップＳ１８０７に移行して、図２２の処理を終了する。
【０１６８】
図２２の処理によれば、部品を分割する基準値の情報を用いて、部品の分割位置を容易に決定することができる仕組みを提供することができる。
【０１６９】
例えば、部品リストの中から、分割にかかる位置の情報を特定できない場合に、部品を分割する基準値の情報を用いて、部品の分割位置を容易に決定することができる。
【０１７０】
なお、上述した第３の実施形態においては、図２２において、部品組立ツール１０２が、ステップＳ２２０１、Ｓ２２０５〜Ｓ２２１１、Ｓ２２１５の処理を実行するものとしたが、これは図１８においてステップＳ１８０１の処理を部品組立ツール１０２開始している場合である。図１８の処理において、ステップＳ１８０１の処理を寸法一括変更ツールが開始している場合は、ステップＳ２２０１、Ｓ２２０５〜Ｓ２２１１、Ｓ２２１５の処理は部品組立ツール１０２の代わりに寸法一括変更ツールが実行するものとする。
【０１７１】
以上説明したように、本発明によれば、部品のリストの順序に応じて、３次元部品の組み立てを簡易に実現できる。
【０１７２】
また、部品リスト内の情報に応じて、３次元モデルの分割位置を示す識別情報を適切に表示する仕組みを提供することができる。
【０１７３】
また、図４のステップＳ４１０で次のモデルのレコードが未記載の場合は、部品組立ツールは、接続部を接続する先がないため、不図示のエラー画面を表示して次のレコードを入力するようユーザに促すようにしてもよい。
【０１７４】
尚、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１７５】
例えば、部品組立ツール１０２、表計算ソフト１０３、寸法チェックツール１０４、寸法一括変更ツール１０５が１つのツールとして記憶され、当該１つのツールが、各ツールが実行するものとして上述した各図の処理を実行するように構成してもよい。また、これらのツールのうち任意のツールが１つのツールとして記憶され、当該１つのツールが、当該任意のツールが実行するものとして上述した各図の処理を実行するように構成してもよい。
【０１７６】
例えば、不図示のサーバ装置にＣＡＤファイルを記憶させ、ＰＣ１００に記憶されているＣＡＤソフト１０１がネットワークを介して当該ＣＡＤファイルをサーバから取得・読込、展開するようにしてもよい。また、ＣＡＤソフト１０１と部品組立ツール１０２が一体であってもよい。
【０１７７】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【０１７８】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１７９】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１８０】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１８１】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１８２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１８３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１８４】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１８５】
尚、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。
即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１８６】
１００  ＰＣ
１０１  ＣＡＤソフト
１０２  部品組立ツール
１０３  表計算ソフト
１０４  寸法チェックツール
１０５  寸法一括変更ツール
【図１】
0006691290.tif 000002
【図２】
0006691290.tif 000003
【図３】
0006691290.tif 000004
【図４】
0006691290.tif 000005
【図５】
0006691290.tif 000006
【図６】
0006691290.tif 000007
【図７】
0006691290.tif 000008
【図８】
0006691290.tif 000009
【図９】
0006691290.tif 000010
【図１０】
0006691290.tif 000011
【図１１】
0006691290.tif 000012
【図１２】
0006691290.tif 000013
【図１３】
0006691290.tif 000014
【図１４】
0006691290.tif 000015
【図１５】
0006691290.tif 000016
【図１６】
0006691290.tif 000017
【図１７】
0006691290.tif 000018
【図１８】
0006691290.tif 000019
【図１９】
0006691290.tif 000020
【図２０】
0006691290.tif 000021
【図２１】
0006691290.tif 000022
【図２２】
0006691290.tif 000023
【図２３】
0006691290.tif 000024
【図２４】
0006691290.tif 000025