(57)【特許請求の範囲】
【請求項１】
設計物の立体形状を示す３次元形状データを表示するための部品データと、当該部品データを管理するためのアセンブリデータとを記憶する記憶手段を備え、前記３次元形状データを管理する情報処理装置であって、
前記記憶手段に記憶された部品データごとに、当該部品データの輪郭線を抽出する輪郭線抽出手段と、
前記記憶手段に記憶されたアセンブリデータごとに、設計物の平面形状を示す２次元図面データを構成するためのレイヤーを作成するレイヤー作成手段と、
前記輪郭線抽出手段によって抽出された輪郭線を、前記レイヤー作成手段によって作成されたレイヤーに対して割り当てるレイヤー割当手段と
を備え、
前記レイヤー割り当て手段は、前記アセンブリデータが管理する部品データの輪郭線を前記レイヤー作成手段によって作成されたレイヤーに割り当てる場合には、当該アセンブリデータに対応して作成されたレイヤーに対して、当該部品データの輪郭線を割り当てることを特徴とする情報処理装置。
【請求項２】
前記レイヤー作成手段は、前記記憶手段に記憶されたアセンブリデータのうち、ユーザから指定されたアセンブリデータごとに前記レイヤーを作成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記輪郭線抽出手段は、抽出された輪郭線を３次元形状データ上で識別可能に表示することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記レイヤー作成手段は、前記２次元図面データで利用する複数の視点ごとに前記レイヤーを作成することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
設計物の立体形状を示す３次元形状データを表示するための部品データと、当該部品データを管理するためのアセンブリデータとを記憶する記憶手段を備え、前記３次元形状データを管理する情報処理装置の制御方法であって、
前記情報処理装置の輪郭線抽出手段が、前記記憶手段に記憶された部品データごとに、当該部品データの輪郭線を抽出する輪郭線抽出ステップと、
前記情報処理装置のレイヤー作成手段が、前記記憶手段に記憶されたアセンブリデータごとに、設計物の平面形状を示す２次元図面データを構成するためのレイヤーを作成するレイヤー作成ステップと、
前記情報処理装置のレイヤー割当手段が、前記輪郭線抽出ステップによって抽出された輪郭線を、前記レイヤー作成ステップによって作成されたレイヤーに対して割り当てるレイヤー割当ステップと
を備え、
前記レイヤー割り当てステップは、前記アセンブリデータが管理する部品データの輪郭線を前記レイヤー作成ステップによって作成されたレイヤーに割り当てる場合には、当該アセンブリデータに対応して作成されたレイヤーに対して、当該部品データの輪郭線を割り当てることを特徴とする情報処理装置の制御方法。
【請求項６】
設計物の立体形状を示す３次元形状データを表示するための部品データと、当該部品データを管理するためのアセンブリデータとを記憶する記憶手段を備え、前記３次元形状データを管理する情報処理装置の制御方法をコンピュータに実行させるためのコンピュータに読み取り実行可能なプログラムであって、
前記情報処理装置を、
前記記憶手段に記憶された部品データごとに、当該部品データの輪郭線を抽出する輪郭線抽出手段と、
前記記憶手段に記憶されたアセンブリデータごとに、設計物の平面形状を示す２次元図面データを構成するためのレイヤーを作成するレイヤー作成手段と、
前記輪郭線抽出手段によって抽出された輪郭線を、前記レイヤー作成手段によって作成されたレイヤーに対して割り当てるレイヤー割当手段
として機能させ、
前記レイヤー割り当て手段は、前記アセンブリデータが管理する部品データの輪郭線を前記レイヤー作成手段によって作成されたレイヤーに割り当てる場合には、当該アセンブリデータに対応して作成されたレイヤーに対して、当該部品データの輪郭線を割り当てることを特徴とするコンピュータに読み取り実行可能なプログラム。

【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元ＣＡＤデータを用いて２次元ＣＡＤデータを作成する作図プロセスに関し、特に構成単位でレイヤー出力し、２次元ＣＡＤデータを作成する情報処理装置、情報処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
３次元ＣＡＤアプリケーションの普及と共に３次元形状データ（形状データ）作成による設計が進んだ現在でも、設計における最終的な成果物としての位置づけは従来同様２次元ＣＡＤデータ（図面データ）、すなわち紙に印刷された図面（紙図面）である。これには長年にわたる国内企業の文化や慣習はもとより、官公庁などとのやり取りにおいても紙図面が用いられることが起因している。
【０００３】
形状データに全ての設計情報が盛り込まれているとしても依然として設計した形状データをもとに図面データを作成しなければならないため、３次元ＣＡＤアプリケーションには形状データから図面データを作成する機能が一般的に備わっている。しかし、３次元ＣＡＤアプリケーションの図面作成機能、例えば図面表記（寸法表現や指示記号）などの機能は２次元ＣＡＤアプリケーションの機能を十分に満たしているとはいえない。
【０００４】
そこで多くの３次元ＣＡＤアプリケーションが有する、形状データの輪郭線を図面データへ投影表示する機能によって輪郭線のみの図面データを効率的に作成し、それを２次元ＣＡＤアプリケーションへ取り込むことにより２次元ＣＡＤアプリケーション上で図面データを仕上げていくという手順がとられている。
【０００５】
２次元ＣＡＤアプリケーションによる図面データ作成の際には一般的にレイヤーと呼ばれる表示層（例えばスライドフィルムに部品データの輪郭線や図面表記を描き、全てのスライドフィルムを重ねて表示させるもの）を用いて個々の輪郭線や図面表記を個別のレイヤーに割り当てながら作業を進めていく。
【０００６】
例えば下記の特許文献１には図面データに予めレイヤーが複数作成されており、作業を進める過程で新たな輪郭線をレイヤーに割り当てる際に未使用のレイヤーを検索し、レイヤーの表示設定を自動的に変更する仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平８−１８５４１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、３次元ＣＡＤアプリケーションの標準的な機能では形状データ全体の輪郭線が１つのレイヤーに割り当てられてしまうため、２次元ＣＡＤアプリケーションで作業を行う際には、取り込んだ輪郭線から任意の輪郭線を構成部品単位ごと（例えば、アセンブリデータごと）になるよう手作業で選択し、複数のレイヤーに割り当て直す作業が生じてしまう問題がある。
【０００９】
形状データを構成する構成部品としては、３次元モデルを構成する部品データと、構成部品の位置関係等を管理するアセンブリデータがある。アセンブリデータと部品データは上下関係を構築し、例えば図２１に示す通り、複数のアセンブリデータと部品データから１つの形状データを構築する。２次元ＣＡＤアプリケーションでは全体の形状データに対して図面表記等を行うよりも、アセンブリデータのような構成部品単位で処理を行いたい場合が多いので、構成部品単位になるよう複数のレイヤーに割り当て直す作業が発生してしまっている。
【００１０】
特許文献１に開示されている仕組みでは、確かに複数のレイヤーが準備されている図面データに対して輪郭線などを効率的に割り当てていくことを実現しているが、前述の問題である輪郭線を任意の構成部品単位に選び出すことへの解決には至っていない。
【００１１】
多数の輪郭線によって図面は成り立っており、それらの中から任意の構成部品単位で輪郭線を選択してレイヤーに割り当てる作業を回避することができれば、３次元ＣＡＤアプリケーションから図面データを取り込んだ際の２次元ＣＡＤアプリケーションによる図面データ作成時間を短縮することが期待される。
【００１２】
本発明は上記の課題を解決するためになされたもので、３次元ＣＡＤアプリケーションから２次元ＣＡＤアプリケーションで取り込み可能な図面データを出力する際に、形状データの輪郭線に対して任意の構成部品単位でレイヤー割り当てを行うことにより２次元ＣＡＤアプリケーションでの図面データ作成作業の効率化を図る仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記の目的を達成するために、本発明の情報処理装置は、設計物の立体形状を示す３次元形状データを表示するための部品データと、当該部品データを管理するためのアセンブリデータとを記憶する記憶手段を備え、前記３次元形状データを管理する情報処理装置であって、前記記憶手段に記憶された部品データごとに、当該部品データの輪郭線を抽出する輪郭線抽出手段と、前記記憶手段に記憶されたアセンブリデータごとに、設計物の平面形状を示す２次元図面データを構成するためのレイヤーを作成するレイヤー作成手段と、前記輪郭線抽出手段によって抽出された輪郭線を、前記レイヤー作成手段によって作成されたレイヤーに対して割り当てるレイヤー割当手段とを備え、前記レイヤー割り当て手段は、前記アセンブリデータが管理する部品データの輪郭線を前記レイヤー作成手段によって作成されたレイヤーに割り当てる場合には、当該アセンブリデータに対応して作成されたレイヤーに対して、当該部品データの輪郭線を割り当てることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、３次元ＣＡＤアプリケーションで作成した形状データを２次元ＣＡＤアプリケーションで取り込み可能な図面データに出力する際、ユーザから指定された構成部品単位でレイヤーに割り当てることができるので、２次元ＣＡＤアプリケーション上で個々のレイヤーに割り当て直す作業を回避することが可能となる効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態における３次元形状データ管理システム１００の一例を示す構成図である。
【図２】図１に示す情報処理装置１０１及びサーバ１０２のハードウェア構成の一例を示す構成図である。
【図３】図１に示す情報処理装置１０１及びサーバ１０２のモジュール構成の一例を示す構成図である。
【図４】本発明の実施形態における一連の処理の流れを示すフローチャートである。
【図５】図４のステップＳ４０７におけるレイヤー名指定処理の詳細を示すフローチャートである。
【図６】図５のステップＳ５０５におけるレイヤーテーブル更新処理の詳細を示すフローチャートである。
【図７】図５のステップＳ５０７における輪郭選択表示処理の詳細を示すフローチャートである。
【図８】図４のステップＳ４０９におけるレイヤー作成処理の詳細を示すフローチャートである。
【図９】図４のステップＳ４１０におけるレイヤー割当処理の詳細を示すフローチャートである。
【図１０】情報処理装置１０１に記憶されたビューテーブル１０００、レイヤーテーブル１０１０、チェックボックステーブル１０２０、及びレイヤー割当テーブル１０３０のテーブル構成の一例を示す構成図である。
【図１１】本実施例におけるビューテーブル１０００のデータ格納例を示す模式図である。
【図１２】本実施例におけるレイヤーテーブル１０１０のデータ格納例を示す模式図である。
【図１３】本実施例におけるチェックボックステーブル１０２０のデータ格納例を示す模式図である。
【図１４】本実施例におけるレイヤー名指定ダイアログ１４００の一例を示す構成図である。
【図１５】本実施例におけるレイヤー名指定処理の実行結果の一例を示す模式図である。
【図１６】本実施例におけるレイヤー名指定処理の実行結果の一例を示す模式図である。
【図１７】本実施例におけるレイヤー割当テーブル１０３０のデータ格納例を示す模式図である。
【図１８】単一レイヤーで出力した場合の一例を示す模式図である。
【図１９】複数レイヤーで出力した場合の一例を示す模式図である。
【図２０】図１９の複数レイヤーのうち、１つのレイヤーを表示した場合の一例を示す模式図である。
【図２１】本実施例における形状データの構成を示す模式図である。
【図２２】図１５に示す結果を基に図４のステップＳ４１０でレイヤー割り当てを行った場合の一例を示す模式図である。
【図２３】図１６に示す結果を基に図４のステップＳ４１０でレイヤー割り当てを行った場合の一例を示す模式図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して、本発明の実施の形態の一例について説明する。
【００１７】
図１は、本発明の３次元形状データ管理システム１００のシステム構成の一例を示す図である。本発明の３次元形状データ管理システム１００は、情報処理装置１０１、サーバ１０２が設置されており、それら装置はＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワーク１０３を介して相互にデータ通信可能に接続されている。図１のネットワーク１０３上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【００１８】
情報処理装置１０１は、３次元ＣＡＤアプリケーションを実行する装置である。３次元ＣＡＤアプリケーションは後述する図２のＲＯＭ２０２または外部メモリ２１１に記憶されており、設計者（以下、ユーザ）からの指示に応じて、ＣＰＵ２０１がＲＡＭ２０３に読みだして各種動作を行う。
【００１９】
３次元ＣＡＤアプリケーションは、ユーザからの操作に応じて、形状データの作成や構築を行う。本実施例においては、３次元ＣＡＤアプリケーションが形状データの輪郭線を抽出し、レイヤーに割り当てて２次元ＣＡＤアプリケーションで読み込み可能な図面データを作成する。尚、形状データはサーバ１０２の外部メモリ２１１に記憶されても、情報処理装置１０１の外部メモリ２１１に記憶されてもよい。本実施例では、情報処理装置１０１の外部メモリ２１１に記憶されているものとして、以下説明を行う。
【００２０】
サーバ１０２は、情報処理装置１０１で作成された各種データを記憶管理する装置である。形状データは、複数のユーザによって作成される場合があり、その場合には１つのサーバ１０２に各ユーザの情報処理装置１０１で作成された形状データを一元管理する。
【００２１】
尚、情報処理装置１０１が、サーバ１０２の構成を含んでもよいし、サーバ１０２が情報処理装置１０１の構成を含んでもよい。また、本実施例においては、情報処理装置１０１に各種データが記憶され、ユーザからの操作によって動作させる形態に基づいて説明を行う。
【００２２】
図２は、本発明の実施形態における各種端末のハードウェア構成を示す図である。
【００２３】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２４】
また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ(Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ)やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００２５】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２６】
また、入力コントローラ（入力Ｃ）２０５は、キーボード２０９や不図示のマウス等のポインティングデバイスからの入力を制御する。
【００２７】
ビデオコントローラ（ＶＣ）２０６は、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。表示器はＣＲＴだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。
【００２８】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフロッピーディスク（登録商標  ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ２１１へのアクセスを制御する。
【００２９】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００３０】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３１】
本発明の情報処理装置１０１が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ２１１に格納されている。
【００３２】
次に、情報処理装置１０１及びサーバ１０２のモジュール構成を示す機能構成図について、図３を用いて説明する。尚、図３の各種端末あるいはサーバのモジュール構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【００３３】
情報処理装置１０１は、形状データ記憶モジュール３０１、レイヤー管理モジュール３０２、画面表示モジュール３０３、テーブル管理モジュール３０４を備える。
【００３４】
形状データ記憶モジュール３０１は、３次元ＣＡＤアプリケーションによって作成された形状データを記憶するモジュールである（構成部品記憶手段）。形状データ記憶モジュール３０１によって記憶された形状データは、情報処理装置１０１の外部メモリ２１１等に記憶され、必要に応じて、形状データ記憶モジュール３０１によって読みだされる。
【００３５】
レイヤー管理モジュール３０２は、２次元ＣＡＤアプリケーションで取り込み可能な図面データを構成するレイヤーの作成や、作成されたレイヤーに対して構成部品を割り当てる処理を行うモジュールである。
【００３６】
画面表示モジュール３０３は、各種情報を情報処理装置１０１のＣＲＴ２１０に表示させるためのモジュールである。画面表示モジュール３０３は後述するレイヤー名指定ダイアログ１４００等の画面に情報を表示させ、必要に応じてユーザからの選択を受け付ける。また、３次元形状データ自体を表示させ、必要に応じて識別可能に表示させる。
【００３７】
テーブル管理モジュール３０４は、後述する図１０の各種テーブルの記憶や更新等を行うためのモジュールである。各種テーブルは、外部メモリ２１１に記憶され、必要に応じてＲＡＭ２０３に読み出す。
【００３８】
サーバ１０２は、形状データ記憶モジュール３０６を備える。形状データ記憶モジュール３０６は、前述した情報処理装置１０１の形状データ記憶モジュール３０１と同様である。情報処理装置１０１に形状データを記憶管理させる場合には情報処理装置１０１の形状データ記憶モジュール３０１を利用し、サーバ１０２に形状データを記憶管理させる場合にはサーバ１０２の形状データ記憶モジュール３０６を利用する。本実施例では、情報処理装置１０１の形状データ記憶モジュール３０１を利用するものとして説明を行う。
【００３９】
次に、本発明の実施例における情報処理装置１０１によって行われる一連の処理について、図４に示すフローチャートを用いて説明する。尚、Ｓ４０１乃至Ｓ４１２の各ステップは情報処理装置１０１におけるＣＰＵ２０１の制御の下、処理が行われる。
【００４０】
尚、この処理を情報処理装置１０１に実行させるためのプログラムは、情報処理装置１０１にインストールされている３次元ＣＡＤアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、３次元ＣＡＤアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【００４１】
図４に示す処理を行う際には、情報処理装置１０１のＣＰＵ２０１は３次元ＣＡＤアプリケーションを動作可能な状態にある。本発明では、図面データで表示される部品の輪郭線を部品の上下関係を参照しながら任意のレイヤーに割り当てる。
【００４２】
まず、ステップＳ４０１では、情報処理装置１０１は、ユーザによる３次元ＣＡＤアプリケーションの操作により任意の形状データを読み込み、３次元ＣＡＤアプリケーション上に表示する。
【００４３】
ステップＳ４０２では、情報処理装置１０１は、ユーザによるレイヤー分け出力プログラムの起動指示を受け付けると、外部メモリ２１１からレイヤー分け出力プログラムを読み出して、起動する。レイヤー分け出力プログラムは３次元ＣＡＤアプリケーションのメニューの１つとして動作してもよいし、３次元ＣＡＤアプリケーションとは別のプログラムとして動作してもよい。
【００４４】
ステップＳ４０３では、情報処理装置１０１は、ステップＳ４０１で読み込まれた形状データが保持するビュー（例えば、第三角法で作成されている場合の正面図、平面図、右側面図ひとつひとつをビューと識別する）の総数と名称を取得してビューテーブル１０００（図１０参照）に格納する。具体的には、ビューテーブル１０００のＮｏ１００１に識別したビューごとに識別番号を格納し、ビュー名１００２に識別したビューの名称を格納する。格納結果としては、図１１に示す通りとなる。「Ｖｉｅｗ−１」は正面図、「Ｖｉｅｗ−２」は平面図、「Ｖｉｅｗ−３」は右側面図と考えるものとする。本実施例では、「Ｖｉｅｗ−１」に限って説明を行うが、他のビューであっても動作は同様である。
【００４５】
ビューテーブル１０００（図１０参照）は、ビューのレコード番号を示すＮｏ１００１、ビューの識別名称を示すビュー名１００２から構成される。
【００４６】
ステップＳ４０４では、情報処理装置１０１は、ステップＳ４０１で読み込んだ形状データを構成するアセンブリデータや部品データといった構成部品を取得し、ステップＳ４０３においてビューテーブル１０００に格納した全てのビューに対して、レイヤーテーブル１０１０（図１０参照）に格納する。具体的には、レイヤーテーブル１０１０のＩＤ１０１１にレコード番号を格納し、ステップＳ４０３で格納したビュー名１００２をビュー名１０１２に格納する。また、参照ＩＤ１０１３にレコード番号を格納し、構成部品の上下関係パスにあたるコンポーネント名をコンポーネント名１０１４に格納し、構成部品のフォルダパスをファイルパス１０１５に格納する。
【００４７】
レイヤーテーブル１０１０（図１０参照）は、レコード番号を示すＩＤ１０１１、処理対象のビュー名を示すビュー名１０１２、どの構成部品のレイヤーに含まれるかを示すための参照ＩＤ１０１３、構造物全体における構成位置を示すコンポーネント名１０１４、構成部品の記憶場所を示すファイルパス１０１５、及びレイヤーを作成する場合のレイヤーの名称を示すレイヤー名１０１６から構成される。
【００４８】
コンポーネント名１０１４とは構造物全体における特定の構成部品に対する構成位置に相当するものである。例えばステップＳ４０１で読み込んだファイル名が「Ｓｔｒｕｃｔｕｒｅ」、その下位に位置する構成部品名が「Ｕｎｉｔ０１」だった場合のコンポーネント名は、「Ｓｔｒｕｃｔｕｒｅ／Ｕｎｉｔ０１−１」のように表記される。この場合の「−１」とは複数の「Ｕｎｉｔ０１」が配置されている場合に対する便宜上の識別番号である。「／」はファイル間の上下関係を意味している区切り記号であるが、記号として必ずしもこの限りではない。この場合であれば「Ｕｎｉｔ０１−１」にとって「Ｓｔｒｕｃｔｕｒｅ」は上位にあたる。尚、本実施例では、コンポーネント名１０１４に格納するデータは「Ｓｔｒｕｃｔｕｒｅ」を省略するものとする。
【００４９】
ステップＳ４０５では、情報処理装置１０１は、ステップＳ４０４で作成したレイヤーテーブル１０１０に対して、コンポーネント名１０１４の値とステップＳ４０１で読み込んだファイル名を組み合わせてレイヤー名を作成し、レイヤー名１０１６に格納する。
【００５０】
図２１に示すような構成部品から成る形状データに基づく、ステップＳ４０４及びステップＳ４０５の格納結果としては、区切り記号を置換した図１２に示す通りとなる。格納した情報のうち参照ＩＤ１０１３とレイヤー名１０１６については後述の手順によって変更する場合がある。
【００５１】
ステップＳ４０６では、情報処理装置１０１は、ステップＳ４０５で作成されたレイヤーテーブル１０１０に基づいて、チェックボックステーブル１０２０（図１０参照）を作成する。具体的には、まずレイヤーテーブル１０１０のファイルパス１０１５によって構成部品のドキュメントタイプを取得する。ドキュメントの拡張子が「ＳＬＤＡＳＭ」の場合にはアセンブリデータとして、拡張子が「ＳＬＤＰＲＴ」の場合には部品データとしてそれぞれを識別する。チェックボックステーブル１０２０のＩＤ１０２１に処理中のＩＤ１０１１を格納し、処理中の構成部品のコンポーネント名１０１４に基づいて上位部品を特定し、当該上位部品に相当するレコードのＩＤ１０１１を親ＩＤ１０２２に格納する。また、処理中の構成部品のドキュメントタイプがアセンブリデータの場合にはチェック１０２３に「１」を格納し、ドキュメントタイプが部品データの場合にはチェック１０２３に「０」を格納する。
【００５２】
例えば、図１２に示すレイヤーテーブル１０１０のＩＤ１０１１のうち、「１」は上位部品がステップＳ４０１での読み込みファイルであるためチェックボックステーブル１０２０の親ＩＤ１０２２には自分のＩＤ１０１１の値を格納する。一方、図１２に示すレイヤーテーブル１０１０のＩＤ１０１１のうち、「２」から「５」までの構成部品は上位部品が「Ｕｎｉｔ０１」であるため、親ＩＤ１０２２には「１」を格納する。ＩＤ１０１１が「６」は、上位部品が「Ｕｎｉｔ０２」であるため、親ＩＤ１０２２には「５」を格納する。ステップＳ４０６の格納結果としては、図１３に示す通りとなる。
【００５３】
チェックボックステーブル１０２０は、レコード番号を示すＩＤ１０２１、上位部品のＩＤ１０１１を示す親ＩＤ１０２２、及び後述するレイヤー名指定ダイアログ１４００（図１４）に設けるチェックボックスの有無やチェックの有無を示すチェック１０２３から構成される。チェック１０２３は、「０」はチェックボックスを設けないことを示し、「１」はチェックボックスを設けるがチェックがなされていない状態を示し、「２」はチェックボックスが設けられており、かつチェックがなされている状態を示す。これらのフラグはチェックボックスの管理ができればよく、これに限らない。
【００５４】
ステップＳ４０７では、情報処理装置１０１は、ユーザからの操作に基づいて出力する構成部品の指定を受け付ける処理を行う。レイヤー名指定処理の詳細は、後述する図５に示す。
【００５５】
ステップＳ４０８では、情報処理装置１０１は、ステップＳ４０１で読み込んだ形状データを編集するために形状データのコピーをテンポラリファイルとしてカレントフォルダに作成する。
【００５６】
ステップＳ４０９では、情報処理装置１０１は、ステップＳ４０８で作成したテンポラリファイルに対して、レイヤーテーブル１０１０のレイヤー名１０１６に基づいたレイヤーの作成処理を行う。レイヤー作成処理の詳細は、後述する図８に示す。
【００５７】
ステップＳ４１０では、情報処理装置１０１は、ステップＳ４０９で作成したレイヤーに対して、レイヤーテーブル１０１０のコンポーネント名１０１４単位で図面データの割り当て処理を行う。レイヤー割当処理の詳細は、後述する図９に示す。
【００５８】
ステップＳ４１１では、情報処理装置１０１は、ステップＳ４１０でレイヤーの割当処理が完了した形状データを２次元ＣＡＤアプリケーションで読み込み可能なファイル形式に保存して、外部メモリ２１１に記憶する。保存場所は、後述するステップＳ５１０において指定されたファイルパスの場所をＲＡＭ２０３から取得して、当該ファイルパスに保存する。
【００５９】
ステップＳ４１２では、情報処理装置１０１は、ステップＳ４０８で作成したテンポラリファイルを削除し、ステップＳ４０２において起動したレイヤー分け出力プログラムを終了し、本一連の処理を終了する。
【００６０】
次に、レイヤー名指定処理について図５を用いて説明する。尚、Ｓ５０１乃至Ｓ５１１の各ステップは情報処理装置１０１おけるＣＰＵ２０１の制御の下、処理が行われる。
【００６１】
この処理を情報処理装置１０１に実行させるためのプログラムは、情報処理装置１０１にインストールされている３次元ＣＡＤアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、３次元ＣＡＤアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【００６２】
ステップＳ５０１では、情報処理装置１０１は、ステップＳ４０５で作成したレイヤーテーブル１０１０及び、ステップＳ４０６で作成したチェックボックステーブル１０２０を取得する。
【００６３】
ステップＳ５０２では、情報処理装置１０１は、ステップＳ５０１で取得した各テーブルを基にユーザコントロール用のレイヤー名指定ダイアログ１４００（図１４参照）を表示する。画面の構成はこれに限らない。
【００６４】
レイヤー名指定ダイアログ１４００は、レイヤーテーブル１０１０のレコードを昇順に表示する際、チェックボックステーブル１０２０のチェック１０２３に「１」が格納されているレコードにチェックボックス１４０１を表示する。チェックボックス１４０１は、アセンブリデータのレコードにのみ表示され、チェックがなされると、そのアセンブリデータが管理する構成部品を当該アセンブリデータのレイヤーと同一のレイヤーに割り当てられる仕組みとなっている。こうすることで、部品データごとではなく、アセンブリデータのような任意の構成部品単位でレイヤー分けを行うことができる。
【００６５】
またレイヤー名指定ダイアログ１４００は、レイヤーテーブル１０１０のファイルパス１０１５よりドキュメント名のみを抽出して構成部品名欄１４０２に表示し、レイヤーテーブル１０１０の参照ＩＤ１０１３と同じ値を持つＩＤ１０１１のレコードのレイヤー名１０１６をレイヤー名欄１４０３に表示する。
【００６６】
例えば図１２のレイヤーテーブル１０１０に基づいて説明すると、ＩＤ１０１１が「３」のレコードを処理する場合、ＩＤ１０１１におけるレコードの参照ＩＤ１０１３は「３」であるためＩＤ１０１１が「３」のレコードについてのレイヤー名欄１４０３にはＩＤ１０１１が「３」のレコードに格納しているレイヤー名１０１６を表示する。仮に当該レコードの参照ＩＤ１０１３が「１」であった場合、レイヤー名欄１４０３にはＩＤ１０１１が「１」のレコードに格納しているレイヤー名１０１６を表示する。レイヤー名指定ダイアログ１４００に構成部品名を表示する際には上下関係の下位へ移るごとに段落を下げて表示し、チェックボックスを有する行については背景色を変更して表示する。図１２のレイヤーテーブル１０１０に基づいて作成されたレイヤー名指定ダイアログ１４００は、図１４に示す内容の通りとなる。
【００６７】
ステップＳ５０３では、情報処理装置１０１は、ステップＳ５０２において表示されたレイヤー名指定ダイアログ１４００に対してユーザが行うチェックボックス１４０１のオンオフ操作を受け付ける。チェックボックス１４０１にチェックがなされたと判定された場合には、ステップＳ５０４に処理を進め、そうでない場合には、ステップＳ５０６に処理を進める。
【００６８】
ステップＳ５０４では、情報処理装置１０１は、ステップＳ５０３で受け付けたチェックボックス１４０１のオンオフ状態を基に、チェックボックステーブル１０２０のチェック１０２３に対して更新処理を行う。例えば、図１５に示すように、レイヤー名指定ダイアログ１４００に表示された構成部品のうち、「Ｕｎｉｔ０２．ＳＬＤＡＳＭ」のチェックボックス１４０１がオフからオンに変更されると、図１５のチェックボックステーブル１０２０に示すように、「Ｕｎｉｔ０２」に該当するＩＤ１０２１が「５」のレコードに対してチェック１０２３の値を「２」に更新する。つまり、チェックボックス１４０１にチェックがなされたことを格納する。
【００６９】
ステップＳ５０５では、情報処理装置１０１は、ステップＳ５０４でチェックボックステーブル１０２０が更新されると、レイヤーテーブル１０１０の更新を行う。レイヤーテーブル更新処理の詳細は、後述する図６に示す。
【００７０】
ステップＳ５０３でチェックボックス１４０１のオンオフ操作が行われなかった場合、処理はステップＳ５０６に移行する。
【００７１】
ステップＳ５０６では、情報処理装置１０１は、表示中のレイヤー名指定ダイアログ１４００のレイヤー名欄１４０３または構成部品名欄１４０２部分がユーザによって選択されたか否かを判定する。選択されたと判定された場合には、ステップＳ５０７に処理を進め、選択されたと判定できなかった場合には、ステップＳ５０８に処理を進める。
【００７２】
ステップＳ５０７では、情報処理装置１０１は、ステップＳ５０６において選択されたレイヤー名欄１４０３または構成部品名欄１４０２のレコードのコンポーネントを対象として、その輪郭線を３次元ＣＡＤアプリケーションの図面データ上で選択状態にする処理を行う。輪郭選択表示処理の詳細は、後述する図７に示す。
【００７３】
ステップＳ５０８では、情報処理装置１０１は、参照ボタン１４０４の押下を検知したか否かを判定する。参照ボタン１４０４の押下を検知した場合には、ステップＳ５０９に処理を進め、そうでない場合には、ステップＳ５０３に処理を戻す。
【００７４】
ステップＳ５０９では、情報処理装置１０１は、ステップＳ５０８において参照ボタン１４０４の押下を受け付けると、２次元ＣＡＤアプリケーションで読み込み可能な図面データの保存先を指定するためのファイル保存ダイアログ（不図示）を表示し、ユーザから保存するフォルダの指定を受け付ける。
【００７５】
ステップＳ５１０では、情報処理装置１０１は、ステップＳ５０９で表示したファイル保存ダイアログで、保存するファイル名の受付処理を行い、保存するフォルダ及び保存するファイル名が入力され、ユーザから確定の指示があった場合には、当該フォルダのフォルダパスとファイル名を組み合わせて、ファイルパスを作成し、ＲＡＭ２０３に記憶する。ファイル保存ダイアログは閉じる。
【００７６】
ステップＳ５１１では、情報処理装置１０１は、実行ボタン１４０５の押下を検知したか否かを判定する。実行ボタン１４０５の押下を検知した場合には、レイヤー名指定処理を終了して呼び出し元に処理を戻し、そうでない場合には、押下されるまで待機する。
【００７７】
次に、レイヤーテーブル更新処理について図６を用いて説明する。尚、Ｓ６０１乃至Ｓ６１０の各ステップは情報処理装置１０１おけるＣＰＵ２０１の制御の下、処理が行われる。
【００７８】
この処理を情報処理装置１０１に実行させるためのプログラムは、情報処理装置１０１にインストールされている３次元ＣＡＤアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、３次元ＣＡＤアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【００７９】
ここでは、図１５のレイヤー名指定ダイアログ１４００に示すように、「Ｕｎｉｔ０２」にチェックがなされた状態で、図１５のチェックボックステーブル１０２０の５番目のレコードが取得された場合を例にとってステップＳ６０１乃至ステップＳ６０４、及びステップＳ６１０を説明する。
【００８０】
ステップＳ６０１では、情報処理装置１０１は、チェックボックステーブル１０２０からＩＤ１０２１の昇順にレコードを取得する。
【００８１】
ステップＳ６０２では、情報処理装置１０１は、ステップＳ６０１で取得したレコードのチェック１０２３の値が「１」または「２」であるか否かを判定する。つまり、取得したレコードにチェックボックスが存在するか否かを判定することになる。チェック１０２３の値が「１」または「２」であると判定された場合には、ステップＳ６０３に処理を進め、チェック１０２３の値が「１」または「２」ではないと判定された場合には、ステップＳ６０５に処理を進める。前述の例を引き継ぐと、チェックボックステーブル１０２０のＩＤ１０２１が「５」のレコードのチェック１０２３の値は「２」である。よって、チェックボックスありを示すので、ステップＳ６０３に処理を進める。
【００８２】
ステップＳ６０３では、情報処理装置１０１は、ステップＳ６０１で取得したレコードのチェック１０２３の値が「２」であるか否かを判定する。つまり、チェックボックス１４０１にチェックが入っているか否かを判定することになる。チェック１０２３の値が「２」であると判定された場合には、ステップＳ６０４に処理を進め、そうでない場合には、ステップＳ６０５に処理を進める。前述の例を引き継ぐと、チェック１０２３の値は「２」である。よって、チェックボックス１４０１にチェックがなされている旨を示すため、ステップＳ６０４に処理を進める。
【００８３】
ステップＳ６０４では、情報処理装置１０１は、レイヤーテーブル１０１０の更新処理を行う。ここではチェックボックステーブル１０２０に対して処理中のＩＤ１０２１と同一の値を持つ、レイヤーテーブル１０１０のＩＤ１０１１のレコードを特定し、当該レコードに対して参照ＩＤ１０１３の値をレコードのＩＤ１０１１の値に更新する。前述の例を引き継ぐとレイヤーテーブル１０１０のＩＤ１０１１が「５」のレコードにおいて参照ＩＤ１０１３を「５」に更新することになる。初期状態からの処理とすれば参照ＩＤ１０１３に変化は生じないケースとなる。参照ＩＤ１０１３は、どのレコードのレイヤー名１０１６のレイヤーに割り当てられるのかを決定するためのものである。よって、自身のレコードのＩＤ１０１１を参照ＩＤ１０１３に格納するということは、自身のレイヤー名１０１６のレイヤーに割り当てられることを示す。
【００８４】
ステップＳ６１０では、情報処理装置１０１は、チェックボックステーブル１０２０の処理中レコードが最終レコードであるか否かを判定する。つまり、チェックボックステーブル１０２０のすべてのレコードの処理が終了したか否かを判定する。処理中レコードが最終レコードであると判定された場合には、レイヤーテーブル更新処理を終了して、呼び出し元に処理を戻し、そうでない場合には、ステップＳ６０１に処理を戻す。前述の例を引き継ぐと、処理中のＩＤ１０２１は「５」であるため、ステップＳ６０１に処理を戻すことになる。
【００８５】
次に、前述に引き続き図１５に示すように、「Ｕｎｉｔ０２」にチェックがなされた状態で、図１５のチェックボックステーブル１０２０の６番目のレコードが取得された場合を例にとって、ステップＳ６０５乃至ステップＳ６０７を説明する。ステップＳ６０１では、チェックボックステーブル１０２０のＩＤ１０２１が「６」のレコードを取得し、ステップＳ６０２では、チェックボックステーブル１０２０のＩＤ１０２１が「６」のレコードのチェック１０２３の値を確認する。値は「０」であるため、チェックボックスがないことを示すので、ステップＳ６０５に処理を進める。
【００８６】
ステップＳ６０５では、情報処理装置１０１は、チェックボックステーブル１０２０において処理中のレコードが他の構成部品の中で、最上位に位置する構成部品であるか否かを判定する。具体的には、処理中のレコードのＩＤ１０２１と当該レコードの親ＩＤ１０２２の値を比較し、同じか否かを判定する。同じであるということは、当該レコードの上位に当たる構成部品は存在しないので、最上位の構成部品であることがわかる。よって、最上位に位置する構成部品は自分のレイヤー名１０１６以外のレイヤーに属することはないので、ステップＳ６０４に進めることになる。最上位の位置する構成部品である場合には、ステップＳ６０４に処理を進め、そうでない場合には、ステップＳ６０６に処理を進める。前述の例を引き継ぐとＩＤ１０２１が「６」のレコードの親ＩＤ１０２２は「５」であるため、ステップＳ６０６に処理を進める。
【００８７】
ステップＳ６０６では、情報処理装置１０１は、処理中のレコードの親ＩＤ１０２２のレコードのチェック１０２３に対してチェックボックス１４０１のオンオフ状態を取得し、チェックボックス１４０１がオンであるか否かを判定する。つまり、上位の構成部品のチェックボックス１４０１がオンになっているということは、処理中のレコードは当該上位の構成部品のレイヤーに属する必要があるので、ステップＳ６０７に進めることとなる。チェックボックス１４０１のオンオフ状態は、チェック１０２３が「１」であるか「２」であるかによって判定する。「２」であればオンを示す。チェックボックス１４０１がオンである場合には、ステップＳ６０７に処理を進め、そうでない場合には、ステップＳ６０８に処理を進める。尚、親ＩＤ１０２２に設定されるレコードはドキュメントタイプが必ずアセンブリデータとなるためチェックボックス１４０１を必ずもつことになる。前述の例を引き継ぐとＩＤ１０２１が「６」の親ＩＤ１０２２は「５」であるため取得するレコードはＩＤ１０２１が「５」のレコードのチェック１０２３の値となり、ここではチェックオンを示す「２」を取得することになるため、処理をステップＳ６０７に進める。
【００８８】
ステップＳ６０７では、情報処理装置１０１は、処理中のＩＤ１０２１と同一のＩＤ１０１１のレコードをレイヤーテーブル１０１０より取得し、取得したレコードの参照ＩＤ１０１３に処理中レコードの親ＩＤ１０２２の値を反映する。前述の例を引き継ぐとチェックボックステーブル１０２０のＩＤ１０２１が「６」のレコードの親ＩＤ１０２２は「５」であるため、レイヤーテーブル１０１０のＩＤ１０１１が「６」のレコードの参照ＩＤ１０１３に「５」を格納することになる。格納した結果としては、図１５の格納例１５０１に示す通りとなる。また、例えばこのまま処理を継続し、７番目のレコードまで処理した結果は、図１５に示す格納例１５０２に示す通りとなる。このように、「Ｕｎｉｔ０２」のチェックボックス１４０１にチェックがなされた場合、「Ｕｎｉｔ０２」の下位に位置する「Ｔｙｐｅ０４」と「Ｔｙｐｅ０５」が「Ｕｎｉｔ０２」のレイヤーに割り当てられるように設定がなされる。
【００８９】
次に、図１６のレイヤー名指定ダイアログ１４００に示すように「Ｕｎｉｔ０１」にチェックがなされた状態で、図１６のチェックボックステーブル１０２０の６番目のレコードが取得された場合を例にとってステップＳ６０８、ステップＳ６０９を説明する。またこの処理を行う時点でのレイヤーテーブル１０１０の状態を示すのが図１６のレイヤーテーブル１０１０である。チェックボックステーブル１０２０のＩＤ１０２１が「５」のレコードのチェック１０２３はチェックオフを示す「１」であるため、ステップＳ６０６の分岐によりステップＳ６０８に処理を進めることになる。
【００９０】
ステップＳ６０８では、情報処理装置１０１は、チェックボックステーブル１０２０で処理中のレコードの親ＩＤ１０２２を取得し、その親ＩＤ１０２２の値と同一のＩＤ１０１１のレコードをレイヤーテーブル１０１０から取得する。続いて、レイヤーテーブル１０１０で取得したレコードのＩＤ１０１１と参照ＩＤ１０１３を比較し、同一であるか否かを判定する。ここでは、処理中のレコードに該当する構成部品の上位にあたる構成部品の更に上位の構成部品（仮に第２上位構成部品とする）がチェックされた場合、処理中の構成部品と、その構成部品の上位のあたる構成部品も、第２上位構成部品のレイヤーに割り当てられることになる。よって、ステップＳ６０９で参照ＩＤ１０１３を更新すべく、ステップＳ６０８で判定することになる。ＩＤ１０１１と参照ＩＤ１０１３が同一である場合には、ステップＳ６０４に処理を進め、そうでない場合には、ステップＳ６０９に処理を進める。前述の例を引き継ぐと、６番目のレコードの親ＩＤ１０２２は「５」であり、レイヤーテーブル１０１０のＩＤ１０１１が「５」のレコードにおいては参照ＩＤ１０１３が「１」であるため、ステップＳ６０９へ処理を進めることになる。
【００９１】
ステップＳ６０９では、情報処理装置１０１は、チェックボックステーブル１０２０で処理中のレコードの親ＩＤ１０２２に相当するレイヤーテーブル１０１０のレコードが格納する参照ＩＤ１０１３を、チェックボックステーブル１０２０で処理中のレコードのＩＤ１０２１と同一のレイヤーテーブル１０１０のＩＤ１０１１のレコードの参照ＩＤ１０１３に格納する。つまり、処理中のレコードの構成部品の上位にあたる構成部品の参照ＩＤ１０１３を処理中のレコードの構成部品の参照ＩＤ１０１３に格納することになる。前述の例を引き継ぐと、処理中のチェックボックステーブル１０２０のＩＤ１０２１が「６」のレコードの親ＩＤ１０２２は「５」であるからレイヤーテーブル１０１０で取得するレコードはＩＤ１０１１が「５」のレコードとなり、そのレコードの参照ＩＤ１０１３は「１」である。よって、レイヤーテーブル１０１０でのＩＤ１０１１が「６」のレコードの参照ＩＤ１０１３に取得した値の「１」を格納することになる。格納した結果としては、図１６の格納例１６０１に示す通りとなる。ステップＳ６０９の処理を行うとステップＳ６１０に進める。また、例えばこのまま処理を継続し、７番目のレコードまで処理した結果は、図１６に示す格納例１６０２に示す通りとなる。このように、「Ｕｎｉｔ０１」のチェックボックス１４０１にチェックがなされた場合、「Ｕｎｉｔ０１」の下位に位置する構成部品がすべて「Ｕｎｉｔ０１」のレイヤーに割り当てられるように設定がなされる。
【００９２】
次に輪郭選択表示処理について図７を用いて説明する。尚、Ｓ７０１乃至Ｓ７０８の各ステップは情報処理装置１０１おけるＣＰＵ２０１の制御の下、処理が行われる。
【００９３】
この処理を情報処理装置１０１に実行させるためのプログラムは、情報処理装置１０１にインストールされている３次元ＣＡＤアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、３次元ＣＡＤアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【００９４】
ステップＳ７０１では、情報処理装置１０１は、ステップＳ５０６で選択されたものがレイヤー名欄１４０３であるか否かを判定する。レイヤー名欄１４０３が選択されたと判定された場合には、ステップＳ７０２に処理を進め、そうでない場合には、ステップＳ７０６に処理を進める。
【００９５】
ステップＳ７０２では、情報処理装置１０１は、ユーザによって選択されたレイヤー名欄１４０３の表示リストの行番号を取得する。例えば、１行目の「Ｓｔｒｕｃｔｕｒｅ＄Ｕｎｉｔ０１−１」が選択された場合、行番号の「１」を取得する。
【００９６】
ステップＳ７０３では、情報処理装置１０１は、ステップＳ７０２で取得した行番号と同一の値を示すＩＤ１０２１に対応するＩＤ１０１１のレコードを取得し、そのレコードの参照ＩＤ１０１３を取得する。
【００９７】
ステップＳ７０４では、情報処理装置１０１は、ステップＳ７０３で取得した参照ＩＤ１０１３と同一の参照ＩＤ１０１３を格納するレコードの一覧をレイヤーテーブル１０１０から取得する。例えば、ステップＳ７０３で取得した参照ＩＤ１０１３が「１」であった場合、全レコードのうち参照ＩＤ１０１３に「１」が格納されているレコードをすべて取得する。
【００９８】
ステップＳ７０５では、情報処理装置１０１は、ステップＳ７０４で取得したレコードのコンポーネント名１０１４を取得し、それにより３次元ＣＡＤアプリケーション上で形状の輪郭を選択する処理をステップＳ７０４で取得した全レコードに対して行う。こうすることで、選択を行った後の３次元ＣＡＤアプリケーション上では、選択された輪郭線を通常と異なる着色によって表示するため、ステップＳ７０１で受け付けたレイヤー名欄１４０３と同一のレイヤーに割り当てられるすべての構成部品の輪郭線を目視確認することができる。
【００９９】
ステップＳ７０６では、情報処理装置１０１は、ステップＳ５０６で選択されたものが構成部品名欄１４０２であるか否かを判定する。構成部品名欄１４０２が選択されたと判定された場合には、ステップＳ７０７に処理を進め、そうでない場合には、輪郭選択表示処理を終了する。
【０１００】
ステップＳ７０７では、情報処理装置１０１は、ユーザによって選択された構成部品名欄１４０２の表示リストの行番号を取得する。例えば、３行目の「Ｔｙｐｅ０２．ＳＬＤＰＲＴ」が選択された場合、行番号の「３」を取得する。
【０１０１】
ステップＳ７０８では、情報処理装置１０１は、レイヤーテーブル１０１０からステップＳ７０７で取得した行番号と同一のＩＤ１０１１をもつレコードを取得し、そのレコードのコンポーネント名１０１４を取得して３次元ＣＡＤアプリケーション上で形状の輪郭を選択する処理を行う。選択する輪郭線はステップＳ７０５と同様に表示する。レイヤー名欄１４０３との違いは、レイヤー名欄１４０３が選択された場合には、当該レイヤーと同じレイヤーに属する構成部品の輪郭線を表示するのに対して、構成部品名欄１４０２が選択された場合には、選択された構成部品のみ表示する点が異なる。こうすることで、ユーザがどの構成部品をどのレイヤーに含めるのかを決定しやすくなる。
【０１０２】
次にレイヤー作成処理について図８を用いて説明する。なお、Ｓ８０１乃至Ｓ８０６の各ステップは情報処理装置１０１おけるＣＰＵ２０１の制御の下、処理が行われる。
【０１０３】
この処理を情報処理装置１０１に実行させるためのプログラムは、情報処理装置１０１にインストールされている３次元ＣＡＤアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、３次元ＣＡＤアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【０１０４】
ステップＳ８０１にて、情報処理装置１０１は、レイヤーテーブル１０１０に基づいて、レイヤー割当テーブル１０３０を作成し、レイヤー名指定ダイアログ１４００を閉じる。レイヤー割当テーブル１０３０のレイヤー名１０３４は、レイヤーテーブル１０１０の参照ＩＤ１０１３と同じ値を持つＩＤ１０１１のレコードのレイヤー名１０１６を格納する。それ以外のＩＤ１０３１、ビュー名１０３２、コンポーネント名１０３３には、レイヤーテーブル１０１０のＩＤ１０１１、ビュー名１０１２、コンポーネント名１０１４の値をそれぞれ格納する。格納結果は、図１７に示す通りである。図１７は、図１５の格納例１５０２を元に作成されたレイヤー割当テーブル１０３０である。よって、「Ｕｎｉｔ０２」にチェックがなされているので、レイヤー割当テーブル１０３０のＩＤ１０３１が「５」「６」「７」のレイヤー名１０３４は、同じレイヤーとなっている。
【０１０５】
ステップＳ８０２では、情報処理装置１０１は、レイヤー割当テーブル１０３０のレコードを取得する。ここでは例として６番目のレコードを元に説明する。
【０１０６】
ステップＳ８０３では、情報処理装置１０１は、後述するステップＳ８０５で既に作成されているレイヤーの一覧を取得する。何もレイヤーが作成されていなければ、取得できないので、そのまま取得しなくてよい。
【０１０７】
ステップＳ８０４では、情報処理装置１０１は、ステップＳ８０３で取得したレイヤーの一覧に処理中レコードのレイヤー名１０３４のレイヤーが存在するか否かを判定する。つまり、処理中のレコードが割り当てられるレイヤーが既に作成済みか否かを判定することになる。処理中レコードのレイヤー名１０３４のレイヤーが存在する場合は、ステップＳ８０６に処理を進め、処理中レコードのレイヤー名１０３４のレイヤーが存在しない場合には、ステップＳ８０５処理を進める。前述の例を引き継ぐと、ＩＤ１０３１が「６」のレイヤー名１０１６はＩＤ１０３１が「５」のレコードを処理する際に作成済みのため、既存レイヤーが存在することとなり、ステップＳ８０６に進むこととなる。
【０１０８】
ステップＳ８０５では、情報処理装置１０１は、レイヤー割当テーブル１０３０のレイヤー名１０３４の値を取得し、取得した値の名前のレイヤーを作成する（レイヤー作成手段）。例えば、ＩＤ１０３１が「５」のレイヤー名１０３４は「Ｓｔｒｕｃｔｕｒｅ＄Ｕｎｉｔ０１−１＄Ｕｎｉｔ０２−１」であるので、このレイヤー名１０３４を使用してレイヤーを作成することとなる。
【０１０９】
ステップＳ８０６では、情報処理装置１０１は、レイヤー割当テーブル１０３０で処理中のレコードが最終レコードであるか否かを判定する。最終レコードであると判定された場合には、レコード作成処理を終了して呼び出し元に処理を戻し、最終レコードでないと判定された場合には、ステップＳ８０２に処理を戻す。
【０１１０】
次にレイヤー割当処理について図９を用いて説明する。尚、Ｓ９０１乃至Ｓ９０４の各ステップは情報処理装置１０１おけるＣＰＵ２０１の制御の下、処理が行われる。
【０１１１】
この処理を情報処理装置１０１に実行させるためのプログラムは、情報処理装置１０１にインストールされている３次元ＣＡＤアプリケーションの一部、若しくはアドオンプログラムとして用意されていてもよいし、３次元ＣＡＤアプリケーションとは別にインストールされたプログラムとして用意されていてもよい。
【０１１２】
ステップＳ９０１では、情報処理装置１０１は、レイヤー割当テーブル１０３０からレコードを取得する。
【０１１３】
ステップＳ９０２では、情報処理装置１０１は、レイヤー割当テーブル１０３０のビュー名１０３２とコンポーネント名１０３３によって図面データの輪郭線を構成部品単位で選択する（輪郭線抽出手段）。例えばＩＤ１０３１が「６」のレコードについて処理を行う場合、「Ｖｉｅｗ−１」に表示するコンポーネント名１０３３が「Ｕｎｉｔ０１−１／Ｕｎｉｔ０２−１／Ｔｙｐｅ０４−１」の部品を選択することで図面データ上での輪郭線を選択する。つまり、「Ｖｉｅｗ−１」が正面図であった場合、コンポーネント名１０３３が「Ｕｎｉｔ０１−１／Ｕｎｉｔ０２−１／Ｔｙｐｅ０４−１」を正面から捉えた場合の図面データ上の輪郭線を選択することになる。尚、アセンブリデータに関しては、あくまで部品データを管理するためのデータに過ぎず、３次元モデルそのものではないので、ステップＳ９０２及びステップＳ９０３の処理を除外してもよい。
【０１１４】
ステップＳ９０３では、情報処理装置１０１は、ステップＳ９０２で選択した輪郭線をレイヤー割当テーブル１０３０のレイヤー名１０３４と一致するレイヤーに対して割り当てて、割り当てた構成部品ごとに識別表示する（レイヤー割当手段）。例えば前述の例を引き継ぐとＩＤ１０３１が「６」の場合はレイヤー名が「Ｓｔｒｕｃｔｕｒｅ＄Ｕｎｉｔ０１−１＄Ｕｎｉｔ０２−１」のレイヤーに対して割り当てることになる。
【０１１５】
図１５のレイヤー名指定ダイアログ１４００のように「Ｕｎｉｔ０２」にチェックがなされて、レイヤー割当処理を行うと、図２２のように割り当てられることになる。ステップＳ８０５において作成されるレイヤーは、「Ｔｙｐｅ０１−１」「Ｔｙｐｅ０２−１」「Ｔｙｐｅ０３−１」「Ｕｎｉｔ０２−１」の４枚である。この４枚に対して、それぞれ構成部品を割り当てる。レイヤー割当処理を行うと、「Ｔｙｐｅ０１−１」には「Ｔｙｐｅ０１．ＳＬＤＰＲＴ」を割り当て、「Ｔｙｐｅ０２−１」には「Ｔｙｐｅ０２．ＳＬＤＰＲＴ」を割り当て、「Ｔｙｐｅ０３−１」には「Ｔｙｐｅ０３．ＳＬＤＰＲＴ」を割り当てる。そして、「Ｕｎｉｔ０２−１」には「Ｔｙｐｅ０４．ＳＬＤＰＲＴ」と「Ｔｙｐｅ０５．ＳＬＤＰＲＴ」をまとめて割り当てることになる。その結果、図１８に示すような単一のレイヤーにすべての構成部品の輪郭線が割り当てられて出力されるのではなく、図１９に示すように複数の構成部品の輪郭線を複数のレイヤーに分けて割り当てることができる。図１９は複数のレイヤーから構成される図面データであるので、図２０に示すように構成部品１９０１だけ表示することができる。こうすることで、アセンブリデータのようなまとまりでもレイヤーに割り当てることができ、２次元ＣＡＤアプリケーションに取り込んだ場合でも無駄な作業は発生しない。
【０１１６】
また、図１６のレイヤー名指定ダイアログ１４００のように「Ｕｎｉｔ０１」にチェックがなされて、レイヤー割当処理を行うと、図２３のように割り当てられることになる。この場合は、すべての構成部品の輪郭線を１枚のレイヤーにまとめることとなるので、「Ｕｎｉｔ０１−１」に「Ｔｙｐｅ０１．ＳＬＤＰＲＴ」から「Ｔｙｐｅ０５．ＳＬＤＰＲＴ」までを割り当てることになる。つまり、従来の３次元ＣＡＤアプリケーションの機能で出力されるように、単一のレイヤーに割り当てる。よって、図１８に示すような出力結果となる。
【０１１７】
ステップＳ９０４では、情報処理装置１０１は、レイヤー割当テーブル１０３０で処理中のレコードが最終レコードであるか否かを判定する。最終レコードであると判定された場合には、レイヤー割当処理を終了して呼び出し元に処理を戻し、最終レコードでないと判定された場合には、ステップＳ９０１に処理を戻す。
【０１１８】
以上説明したように、本実施形態によれば、３次元ＣＡＤアプリケーションで作成した形状データを用いて、２次元ＣＡＤアプリケーションで効率よく作業を行うための図面データ出力を補助することが可能となる。例えば単一のレイヤーに全ての構成部品の輪郭を割り当てて出力した図面データを示す図１８と、構成部品の輪郭をまとまった単位でレイヤーに割り当てて出力した図面データを示す図１９及び図２０を用いて比較する。図１８では重なった輪郭線の境目が分かり難いのに対し、図１９ではレイヤー割り当てを行っているためレイヤーごとに表示色を変更できるため輪郭線の境目がより明確になっていることが確認できる。またレイヤーごとに表示・非表示を変更できるため図２０のように特定のレイヤーのみを表示することによってより一層輪郭線に対する指示情報などの付加操作の効率化が期待できる。
【０１１９】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１２０】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【０１２１】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１２２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１２３】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１２４】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１２５】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１２６】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１２７】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１２８】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１２９】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１３０】
１００  ３次元形状データ管理システム
１０１  情報処理装置
１０２  サーバ
１０３  ネットワーク
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０５  入力コントローラ
２０６  ビデオコントローラ
２０７  メモリコントローラ
２０８  通信Ｉ／Ｆ（インターフェース）コントローラ
２０９  入力装置
２１０  ディスプレイ装置
２１１  外部メモリ
【図１】
0005532036.tif 000002
【図２】
0005532036.tif 000003
【図３】
0005532036.tif 000004
【図４】
0005532036.tif 000005
【図５】
0005532036.tif 000006
【図６】
0005532036.tif 000007
【図７】
0005532036.tif 000008
【図８】
0005532036.tif 000009
【図９】
0005532036.tif 000010
【図１０】
0005532036.tif 000011
【図１１】
0005532036.tif 000012
【図１２】
0005532036.tif 000013
【図１３】
0005532036.tif 000014
【図１４】
0005532036.tif 000015
【図１５】
0005532036.tif 000016
【図１６】
0005532036.tif 000017
【図１７】
0005532036.tif 000018
【図１８】
0005532036.tif 000019
【図１９】
0005532036.tif 000020
【図２０】
0005532036.tif 000021
【図２１】
0005532036.tif 000022
【図２２】
0005532036.tif 000023
【図２３】
0005532036.tif 000024