(57)【要約】【課題】複数のオブジェクトを組み合わせて対象物の３次元形状を設計するにあたり、オブジェクト間の拘束条件を柔軟かつ有効的に活用することで、設計作業の効率化を図ること。【解決手段】複写部７２は、別パーツとの間にパーツ間拘束が設定されているパーツを、当該パーツ間拘束（拘束条件）の設定を外してソリッド単位で複写することによって、対応する部品モデルを生成し、ＣＡＤデータ記憶部６１のうち、パーツが記憶されている第１の場所とは別の第２記憶場所に記憶させる。リンク部７３は、第１記憶場所に記憶されたオブジェクトと、第２記憶場所に記憶された複写オブジェクトとのリンク関係を示すリンク情報を生成し、リンク情報を第１記憶場所及び第２記憶場所の各々に記憶させる。【選択図】図３
2012068830.tif 000002
【特許請求の範囲】
【請求項１】
複数のオブジェクトを組み合わせて対象物の３次元形状を設計する情報処理装置において、
別オブジェクトとの間に拘束条件が設定されているオブジェクトを、当該拘束条件の設定を外して複写することによって複写オブジェクトを生成し、前記オブジェクトが記憶されている第１記憶場所とは別の第２記憶場所に記憶させる複写手段と、
前記第１記憶場所に記憶された前記オブジェクトと、前記複写手段により前記第２記憶場所に記憶された前記複写オブジェクトとのリンク関係を示すリンク情報を生成し、前記リンク情報を前記第１記憶場所及び前記第２記憶場所の各々に記憶させるリンク手段と、
を備える情報処理装置。
【請求項２】
前記オブジェクトは１以上のソリッドから構成されており、
前記複写手段により前記複写オブジェクトが生成される前には、前記１以上のソリッド、及び、前記拘束条件を含む第１パラメータが、前記第１記憶場所に対応付けられて記憶されており、
前記複写手段は、前記第１パラメータの複写を禁止した状態で、前記１以上のソリッドを複写して、前記複写オブジェクトとして前記第２記憶場所に記憶させ、
前記リンク手段は、前記リンク情報を含む第２パラメータを生成し、前記第２パラメータを前記１以上のソリッドと対応付けて前記第１記憶場所及び前記第２記憶場所の各々に記憶させる、
請求項１に記載の情報処理装置。
【請求項３】
複数のオブジェクトを組み合わせて対象物の３次元形状を設計する情報処理装置が実行する情報処理方法において、
別オブジェクトとの間に拘束条件が設定されているオブジェクトを、当該拘束条件の設定を外して複写することによって複写オブジェクトを生成し、前記オブジェクトが記憶されている第１記憶場所とは別の第２記憶場所に記憶させる複写ステップと、
前記第１記憶場所に記憶された前記オブジェクトと、前記複写ステップの処理により前記第２記憶場所に記憶された前記複写オブジェクトとのリンク関係を示すリンク情報を生成し、前記リンク情報を前記第１記憶場所及び前記第２記憶場所の各々に記憶させるリンクステップと、
を含む情報処理方法。
【請求項４】
複数のオブジェクトを組み合わせて対象物の３次元形状を設計する情報処理装置を制御するコンピュータに
別オブジェクトとの間に拘束条件が設定されているオブジェクトを、当該拘束条件の設定を外して複写することによって複写オブジェクトを生成し、前記オブジェクトが記憶されている第１記憶場所とは別の第２記憶場所に記憶させる複写ステップと、
前記第１記憶場所に記憶された前記オブジェクトと、前記複写ステップの処理により前記第２記憶場所に記憶された前記複写オブジェクトとのリンク関係を示すリンク情報を生成し、前記リンク情報を前記第１記憶場所及び前記第２記憶場所の各々に記憶させるリンクステップと、
を含む制御処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のオブジェクトを組み合わせて対象物の３次元形状を設計することが可能な、情報処理装置及び方法、並びにプログラムに関する。特に、本発明は、オブジェクト間の拘束条件を柔軟かつ有効的に活用することで、設計作業の効率化を図ることが可能な、情報処理装置及び方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、複数のオブジェクトを組み合わせて対象物の３次元形状を設計することが可能なＣＡＤ（ＣｏｍｐｕｔｅｒＡｉｄｅｄ  Ｄｅｓｉｇｎ）システムが、様々な技術分野で利用されている（特許文献１参照）。
例えば自動車の部品の金型を設計する技術分野では、金型の各部品に相当する各オブジェクト（パーツや部品モデル）を組み合わせることによって、金型の３次元形状を設計するＣＡＤシステムが利用されている。
【０００３】
このようなＣＡＤシステムにおいては、複数のオブジェクトの間に、相互の位置関係等を規定する拘束条件が設定される場合がある。
このような拘束条件が設定されている場合には、１つのオブジェクトが修正されると、他のオブジェクトも、当該拘束条件に従って自動的に追従するように修正される。
従って、設計者は、拘束条件を活用することで、複数のオブジェクトの１つ１つを逐一修正する必要はなく、１つのオブジェクトを修正すれば済む。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】平９−２１０８６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、立場の異なる複数の設計者が同一のＣＡＤシステムを利用する場合、１人の設計者が用いた拘束条件は、他の設計者にとって、必ずしも好適でなく、不要な場合もある。
【０００６】
例えば、自動車の部品の金型を設計する技術分野では、一般的に、複数の設計の段階が存在し、各段階毎に別々の設計者が担当する。ただし、最終的に採用される金型の部品は同一になるため、各段階の別々の設計者が、同一部品に相当する同一オブジェクトを用いて、それぞれ設計する場合がある。しかしながら、このような場合には、各段階の別々の設計者毎に、必要な拘束条件が異なったり、拘束条件が不要になったりする。
【０００７】
このため、同一オブジェクトを用いて設計する場合であっても、オブジェクト間の拘束条件の適用可否を設計の各段階に応じて選択できる等、オブジェクト間の拘束条件を柔軟かつ有効的に活用することができるようになれば、設計作業の効率化を図ることが可能になる。
しかしながら、特許文献１も含め従来のＣＡＤシステムでは、オブジェクト間の拘束条件を柔軟かつ有効的に活用できているとはいい難い。
例えば特許文献１によれば、第１部品（オブジェクト）に対して第２部品（別オブジェクト）の組付けを行う際に、設計者は、第１部品から独立した疑似モデル（対応オブジェクト）を作成して、疑似モデルと第２部品との間の組付け条件（拘束条件）を個別に定義することができる。しかしながら、この場合、複数の設計者毎に、或いは各段階等の状況が異なる設計毎に、新たな疑似モデルの作成が必要になり、さらに、新たな組付け条件（拘束条件）の定義が必要になるため、オブジェクト間の拘束条件を柔軟かつ有効的に活用できているとはいい難い。
【０００８】
本発明は、このような状況に鑑みてなされたものであり、複数のオブジェクトを組み合わせて対象物の３次元形状を設計するにあたり、オブジェクト間の拘束条件を柔軟かつ有効的に活用することで、設計作業の効率化を図ることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の情報処理装置は、
複数のオブジェクトを組み合わせて対象物の３次元形状を設計する情報処理装置であって、
別オブジェクト（例えば実施形態におけるパーツ１２）との間に拘束条件（例えばパーツ間拘束）が設定されているオブジェクト（例えば実施形態におけるパーツ１１）を、当該拘束条件の設定を外して複写することによって複写オブジェクト（例えば実施形態における部品モデル２１）を生成し、前記オブジェクトが記憶されている第１記憶場所（例えば実施形態における「検討完了ＣＡＤデータ」フォルダ内の「ユニット」フォルダ）とは別の第２記憶場所（例えば実施形態における「設計ＣＡＤデータ」フォルダ内の「Ａｓｓｙ」フォルダ）に記憶させる複写手段（例えば実施形態における複写部７２）と、
前記第１記憶場所に記憶された前記オブジェクトと、前記複写手段により前記第２記憶場所に記憶された前記複写オブジェクトとのリンク関係を示すリンク情報を生成し、前記リンク情報を前記第１記憶場所及び前記第２記憶場所の各々に記憶させるリンク手段（例えば実施形態におけるリンク部７３）と、
を備えることを特徴とする。
【００１０】
この発明によれば、別オブジェクトとの間の拘束条件が必要な設計では、第１記憶場所に記憶されたオブジェクトを用いて設計することができる一方、当該拘束条件が不要な設計では、第２記憶場所に記憶された複写オブジェクトを用いて設計することができる。
この場合、リンク情報によって、オブジェクト側が修正された場合には複写オブジェクトにもその修正を反映させ、また、複写オブジェクト側が修正された場合には複写オブジェクトにもその修正を反映させることができる。一方で、オブジェクト側が修正された場合には、拘束条件により、別オブジェクトにもその修正を反映させることができるが、複写オブジェクト側が修正された場合には、拘束条件の設定が外されているため、別オブジェクトにはその修正は反映されない。
即ち、オブジェクトの修正によって、複写オブジェクト及び別オブジェクトが連動して修正される。これに対して、複写オブジェクトの修正によって、オブジェクトは連動して修正されるが、別オブジェクトは修正されない。
このように、オブジェクト間の拘束条件を柔軟かつ有効的に活用することができる。その結果、設計作業の効率化を図ることが可能になる。
【００１１】
この場合、
前記オブジェクトは１以上のソリッドから構成されており、
前記複写手段により前記複写オブジェクトが生成される前には、前記１以上のソリッド（例えば実施形態におけるソリッド５１ｏ，５２ｏ）、及び、前記拘束条件を含む第１パラメータ（例えば実施形態における６３ｏ）が、前記第１記憶場所に対応付けられて記憶されており、
前記複写手段は、前記第１パラメータの複写を禁止した状態で、前記１以上のソリッドを複写して、前記複写オブジェクトとして（例えば実施形態におけるソリッド５１ｃ，５２ｃとして）前記第２記憶場所に記憶させ、
前記リンク手段は、前記リンク情報を含む第２パラメータを生成し、前記第２パラメータを前記１以上のソリッドと対応付けて前記第１記憶場所及び前記第２記憶場所の各々に記憶させる（パラメータ６１ｏ，６２ｏをパーツ１１のファイルに記憶させ、パラメータ６１ｃ，６２ｃを部品モデル２１のフォルダに記憶させる）、
ようにしてもよい。
【００１２】
本発明の情報処理方法及びプログラムは、複数のオブジェクトを組み合わせて対象物の３次元形状を設計するにあたり、オブジェクト間の拘束条件を柔軟かつ有効的に活用することで、設計作業の効率化を図ることが可能になる。
【発明の効果】
【００１３】
本発明によれば、複数のオブジェクトを組み合わせて対象物の３次元形状を設計するにあたり、オブジェクト間の拘束条件を柔軟かつ有効的に活用することで、設計作業の効率化を図ることが可能になる。
【図面の簡単な説明】
【００１４】
【図１】本発明の情報処理システムの一実施形態に係る、３次元形状データ設計システムの機能の概略を説明する図である。
【図２】本発明の情報処理システムの一実施形態に係る、３次元形状データ設計システムの機能の概略を説明する図である。
【図３】本発明の情報処理システムの一実施形態に係る、３次元形状データ設計システムの機能的構成を示す機能ブロック図である。
【図４】図３の３次元形状データ設計システムのＣＡＤデータ記憶部のデータ構造の一例を示している。
【図５】図３の３次元形状データ設計システムが実行するリンク付複写処理の流れを説明するフローチャートである。
【図６】図５のリンク付複写処理のうち検討データ分類リスト処理の詳細な流れを示すフローチャートである。
【図７】図６の検討データ分類リスト処理により作成される検討データ分類リストの一例を示している。
【図８】図５のリンク付複写処理で用いられる複写用リストの一例を示している。
【図９】図５のリンク付複写処理のうち流用処理の詳細な流れを示すフローチャートである。
【図１０】図５のリンク付複写処理のうち複写処理の詳細な流れを示すフローチャートである。
【図１１】図５のリンク付複写処理のうちリンク処理の詳細な流れを示すフローチャートである。
【図１２】図５のリンク付複写処理のうちチェック処理の詳細な流れを示すフローチャートである。
【図１３】図３の３次元形状データ設計システムを１代の情報処理装置で構成した場合のハードウェア構成を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態を図面に基づいて説明する。
【００１６】
図１は、本発明の情報処理システムの一実施形態に係る、３次元形状データ設計システムの機能の概略を説明する図である。
【００１７】
３次元形状データ設計システムは、異なる立場の複数の設計者の各々による操作を受け付け、例えば自動車の部品の金型を対象物として、当該対象物の３次元形状の設計を行うことができる。
ここで、３次元形状データ設計システムで用いられるオブジェクトのうち、保存可能な３次元形状のオブジェクトの最小単位を、以下、「ソリッド」と呼ぶ。
これらのソリッドが１以上用いられて、金型の１部品に該当するオブジェクトが構築される。このような金型の１部品に該当するオブジェクトを、以下、「パーツ」又は「部品モデル」と呼ぶ。本実施形態では、後述する金型の設計段階の違いに応じて「パーツ」と「部品モデル」を使い分けるが、このような使い分けは、説明の便宜上のものであって、特に必須なわけではない。
【００１８】
図１に示すように、金型の設計の段階は、一般的に、型仕様検討段階と型設計段階との２段階に大別される。
型仕様検討段階とは、金型により製作される自動車の部品（製品）の特性の観点から、当該金型を如何なる形状にするのかという設計思想の下、金型の仕様を構想する段階をいう。
型設計段階とは、自動車の部品（製品）から離れて、金型自身の特性の観点から、当該金型を如何なる形状にするのかという設計思想の下、金型の形状を設計する段階をいう。
【００１９】
図１の例では、設計される金型は、プレス用の上金型と下金型とであるものとされている。即ち、自動車の部品の材料が、垂直方向に対向して配置される上金型と下金型との間に挿入され、上金型と下金型によって垂直方向にプレスされることによって、当該自動車の部品が製作される場合における、当該上金型と当該下金型の３次元形状が設計されるものとされている。
具体的には、図１中最右方の「リンク活用修正結果」の枠内に示されるように、上金型モデル３１の３次元形状と、下金型モデル３２の３次元形状とが最終的に設計されるものとされている。
上金型モデル３１は、部品モデル２１と部品モデル２３とが結合されることによって構築されるものとする。
下金型モデル３２は、部品モデル２２と部品モデル２４とが結合されることによって構築されるものとする。
【００２０】
型仕様検討段階では、このような部品モデル２１乃至２４の各々に対応する、パーツ１１乃至１４の各々を用いた設計がなされるものとする。
型仕様検討段階では、金型により製作される製品（自動車の部品）の特性として、垂直方向にプレスされて製品が製作される点に着目した設計がなされる。従って、このような設計のためには、垂直方向に対向して配置されるパーツ１１とパーツ１２との位置関係、及び、垂直方向に対向して配置されるパーツ１３とパーツ１４との位置関係が重要になる。
このため、型仕様検討段階では、これらの垂直方向の位置関係をむやみに変化させることはできず、垂直方向に対向して配置される２つのパーツ間に一定の束縛条件を設定する必要が生ずる。このような一定の束縛条件は、図１においては上下方向の両矢印により示されており、以下、「パーツ間拘束」と呼ぶ。
【００２１】
ここで、例えば、図１には図示しないが、型仕様検討段階には、設計者Ａ及び設計者Ｂが存在し、型設計段階には、設計者Ｃ及び設計者Ｄが存在するものとする。
【００２２】
この場合、例えば、設計者Ａは、３次元形状データ設計システムを操作して、左側のパーツ１１及びパーツ１２の位置関係等を設計するものとする。
また例えば、設計者Ｂは、３次元形状データ設計システムを操作して、右側のパーツ１３及びパーツ１４の位置関係等を設計するものとする。
図１の左方から右方に従って時間が経過するものとし、図１の最左方の型仕様検討段階の図が、設計者Ａ及び設計者Ｂによって、パーツ１１乃至パーツ１４の位置関係についての最初の検討が終了した時点の様子を示している。
この時点では、型設計段階で用いる部品モデル２１乃至２４は未だ生成されていない。
【００２３】
そこで、３次元形状データ設計システムは、パーツ１１乃至１４の各々を複写（形状のみならず配置位置等も複写）することによって、部品モデル２１乃至２４の各々を生成する。
より正確にいえば、例えば、パーツ１１を構成する１以上のソリッド（そのパラメータ等含む）が複写され、その結果として、複写された１以上のソリッドから構成されるオブジェクトが部品モデル２１として生成される。パーツ１２乃至パーツ１４の各々に対応する部品モデル２２乃至２４も同様に生成される。このように、実際の複写の単位は、ソリッドになる。
この場合、３次元形状データ設計システムにおいては、パーツ１１乃至１４の各々と、部品モデル２１乃至２４の各々との記憶場所は異なる。そこで、３次元形状データ設計システムは、複写元たるパーツ１１乃至１４の各々と、複写先たる部品モデル２１乃至２４の各々との間に、相互の記憶場所が参照できるようなリンクを設定する。
ただし、型仕様検討段階で必要であった垂直方向の位置関係のパーツ間拘束については、型設計段階では設計上不都合を生ずる場合があるので、複写が禁止される。
このような３次元形状データ設計システムによる複写の処理を、以下、図１の記載に併せて、「リンク付複写」と呼ぶ。
【００２４】
リンク付複写後も、設計者Ａや設計者Ｂは、３次元形状データ設計システムを操作して、パーツ１１乃至１４の各々を移動させることによって、各々の配置位置を修正することができる。
例えば、図１の例では、「手動」と表記された右向矢印が、設計者Ａや設計者Ｂによる操作を示している。即ち、設計者Ａは、パーツ１１を右上方向に移動することによって、その配置位置を移動先の位置に修正している。設計者Ｂは、パーツ１３を右下方向に移動することによって、その配置位置を移動先の位置に修正している。
【００２５】
この場合、型仕様検討段階においては、リンク付複写後であっても、パーツ１１及び１２について、並びに、パーツ１３及び１４について、垂直方向のパーツ間拘束のそれぞれの設定は有効になっている。
そこで、図１中「自動」と表記された右向矢印に示すように、３次元形状データ設計システムは、パーツ間拘束に従って、パーツ１１の移動先の位置に追従させてパーツ１２を移動させた場合における、その移動先の位置をパーツ１２の配置位置として修正する。
同様に、３次元形状データ設計システムは、パーツ間拘束に従って、パーツ１３の移動先の位置に追従させてパーツ１４を移動させた場合における、その移動先の位置をパーツ１４の配置位置として修正する。
【００２６】
さらに、リンク付複写によって、パーツ１１乃至１４の各々と部品モデル２１乃至２４の各々とは相互にリンクしている。
そこで、図１中「自動反映」と表記された下向矢印に示すように、３次元形状データ設計システムは、これらのリンクに従って、パーツ１１乃至１４の各々の移動先の各位置を、部品モデル２１乃至２４の各配置位置となるように修正する。即ち、型仕様検討段階の修正が自動的に反映されて、型仕様段階においても同様の修正がなされる。
【００２７】
ここで、例えば、型設計段階の設計者Ｃは、３次元形状データ設計システムを操作して、上金型モデル３１の３次元形状を設計するものとする。
この場合、設計者Ｃは、上側の部品モデル２１及び２３を結合することによって、図１の最右方のリンク活用修正結果の枠内に示すような、上金型モデル３１を作成する。
このようにして、上側の部品モデル２１及２３の配置位置が、リンク付複写後に型仕様検討段階側の修正内容が反映された位置となっている状態で、上金型モデル３１が作成される。
【００２８】
また例えば、型設計段階の設計者Ｄは、３次元形状データ設計システムを操作して、下金型モデル３２の３次元形状を設計するものとする。
この場合、設計者Ｄは、下側の部品モデル２２及び２４を結合することによって、図１の最右方のリンク活用修正結果の枠内に示すような、下金型モデル３２を作成する。
即ち、下側の部品モデル２２及２４の位置が、リンク付複写後に型仕様検討段階側の修正内容が反映された位置となっている状態で、下金型モデル３２が作成される。
【００２９】
図２は、本発明の情報処理システムの一実施形態に係る、３次元形状データ設計システムの機能のうち、設計段階で部品モデルを単独で修正する場合における機能の概略を説明する図である。
【００３０】
パーツ間拘束による垂直方向の自動追従が不要な場合には、設計者Ｃは、３次元形状データ設計システムを操作して、部品モデル２１及び２３の各々を独立して任意の位置に移動させることによって、それらの配置位置を修正することができる。
ここで、リンク付複写では、パーツ間拘束の複写が禁止されている。よって、型設計段階で、上側の部品モデル２１又は２３の配置位置が修正されたとしても、下側の部品モデル２２及び２４はその修正に自動追従しない。即ち、下側の部品モデル２２及び２４の配置位置は変化せずに元の位置のまま保持される。
【００３１】
このように、設計者は、本実施形態の３次元形状データ設計システムを用いることで、設計状況（設計段階等の状況）に応じて、パーツ間拘束の有無を適宜選択しながら、各パーツや各部品モデルを用いて自由度の高い設計をすることができる。このようにして、金型の３次元形状の設計の効率が向上する。
【００３２】
図３は、本発明の情報処理システムの一実施形態に係る、３次元形状データ設計システムの機能的構成のうち、図１や図２を参照して説明した機能を実現するための機能的構成を示す機能ブロック図である。
【００３３】
図３に示すように、３次元形状データ設計システム５１は、ＣＡＤデータ記憶部６１と、プログラム記憶部６２と、ファイルオープン部６３と、プログラム起動部６４と、プログラム実行部６５と、を備えている。
【００３４】
ここで、システムとは、複数の装置や複数の処理部により構成される装置全体を表すものをいう。即ち、１つの筺体に含まれる範囲を１台と定義するならば、３次元形状データ設計システム５１は、１台の装置で構成することもできるし、複数台の装置で構成することもできる。
３次元形状データ設計システム５１が複数台の装置で構成される場合、ＣＡＤデータ記憶部６１乃至プログラム実行部６５の各々は、任意の台数の任意の装置にそれぞれ独立して搭載することが可能である。ここで、任意の台数の装置としたのは、１つの機能ブロックは、システム全体として機能を発揮できれば足りるため、システムを構成する複数の装置の各々に対して機能を分散させて搭載することも可能だからである。
換言すると、図３に示すＣＡＤデータ記憶部６１乃至プログラム実行部６５の各機能が、３次元形状データ設計システム５１内で発揮できれば足りるため、３次元形状データ設計システム５１の機能的構成は図３の例に特に限定されない。例えば、図３に示す幾つかの機能ブロックを１つの機能ブロックにまとめることも可能であるし、逆に、図３に示す１つの機能ブロックを複数の機能ブロックに分割することも可能である。
また、当然ながら、図３に図示せぬ機能ブロックを、３次元形状データ設計システム５１に搭載させることも容易に可能である。
また、各機能ブロックの実現形態は、ハードウェア単体であってもよいし、ソフトウェア単体であってもよいし、或いはまた、ハードウェアとソフトウェアとの組み合わせであってもよい。
【００３５】
ＣＡＤデータ記憶部６１は、３次元形状データ設計システム５１に用いるＣＡＤデータ、例えば図１に示す各種ＣＡＤデータ、即ち、パーツ１１乃至１４や、部品モデル２１乃至２４等を記憶する。
【００３６】
図４は、ＣＡＤデータ記憶部６１のデータ構造の一例を示している。
図４に示すように、ＣＡＤデータ記憶部６１のデータ構造として、いわゆるツリー構造が採用されている。
【００３７】
図４に示すように、ＣＡＤデータ記憶部６１において、「Ｒｏｏｔ」という最上位層の直下の層には、「検討完了ＣＡＤデータ」フォルダと、「設計ＣＡＤデータ」フォルダと、が配置されている。
「検討完了ＣＡＤデータ」フォルダには、本実施形態では図１や図２に示す型仕様検討段階で用いるＣＡＤデータが含められる。即ち、「検討完了ＣＡＤデータ」フォルダは、図１や図２の例でいえば、パーツ１１及び１２を用いた設計を行う設計者Ａ、並びに、パーツ１３及び１４を用いた設計を行う設計者Ｂにより管理又は利用される。
また、「設計ＣＡＤデータ」フォルダには、本実施形態では図１や図２に示す型設計段階で用いるＣＡＤデータが含められる。即ち、「設計ＣＡＤデータ」フォルダは、図１や図２の例でいえば、部品モデル２１及び２３を用いた設計を行う設計者Ｃ、並びに、部品モデル２２及び２４を用いた設計を行う設計者Ｄにより管理又は利用される。
【００３８】
「検討完了ＣＡＤデータ」フォルダの下層には、１以上の「ユニット」フォルダが配置される。
「ユニット」フォルダ内には、１以上の「パーツ」ファイルが含められる。
「ユニット」フォルダの単位は、特に限定されないが、本実施形態では説明の便宜上、設計者単位であるものとする。
即ち、図１や図２の例でいえば、パーツ１１及び１２を用いた設計を行う設計者Ａが、「ユニット１」フォルダを管理又は利用する。この「ユニット１」には、例えば、「パーツ」ファイルとして、パーツ１１及びパーツ１２の各ファイルが含められる。
また、パーツ１３及び１４を用いた設計を行う設計者Ｂが、「ユニット２」フォルダを管理又は利用する。
【００３９】
「パーツ」ファイルには、１以上のソリッドと、１以上のパラメータとが含められる。
例えば「パーツ」ファイルの一例としてパーツ１１のファイルに着目すると、当該パーツ１１のファイルには、ソリッド５１ｏ，５２ｏ、パラメータ６１ｏ，６２ｏ，６３ｏ、及び、パラメータ７１ｏ，７２ｏが含められている。なお、パラメータ６１ｏ，６２ｏ，６３ｏ、及び、パラメータ７１ｏ，７２ｏの具体的な内容については後述する。
【００４０】
このような「検討完了ＣＡＤデータ」フォルダに対して、「設計ＣＡＤデータ」フォルダの下層には、１以上の「Ａｓｓｙ」フォルダが配置される。
「Ａｓｓｙ」フォルダ内には、１以上の「部品」ファイルが含められる。
「Ａｓｓｙ」フォルダの単位は、特に限定されないが、本実施形態では説明の便宜上、設計者単位であるものとする。
即ち、図１や図２の例でいえば、部品モデル２１及び２３を用いた設計を行う設計者Ｃが、「ＡｓｓｙＡ」フォルダを管理又は利用する。後述するようにリンク付複写後には、「ＡｓｓｙＡ」には、「部品」ファイルとして、部品モデル２１及び２３の各ファイルが含められる。
また、部品モデル２２及び２４を用いた設計を行う設計者Ｄが、「ＡｓｓｙＡ」フォルダを管理又は利用する。
【００４１】
「部品」ファイルは、原則として、とある「パーツ」ファイルがリンク付複写された結果、生成されるものである。即ち、複写元の「パーツ」ファイル内の各データが複写されたものが、原則として、「部品」ファイルに含まれる。
ここで、「原則として」と記述した理由は、上述したように、リンク付複写とは、「パーツ」ファイルに含まれるデータの全てを複写するものではなく、パーツ間拘束を示すデータ等一部のデータの複写は禁止するものだからである。
その点で、リンク付複写の単位は、パーツ単位というより、ソリッド単位であると把握することができる。
【００４２】
例えば、パーツ１１のファイルがリンク付複写された結果、部品モデル２１のファイルが「ＡｓｓｙＡ」のフォルダ内に含まれることになる。具体的には、このときのリンク付複写は、次のように行われる。
即ち、パーツ１１のファイルに含まれるソリッド５１ｏ，５２ｏの各々が複写され、その結果、ソリッド５１ｃ，５２ｃの各々が得られて、部品モデル２１のファイルに含められる。
この場合、ソリッド５１ｏに関するパラメータ７１ｏ，７２ｏ（例えば配置位置等を示すパラメータ）も複写されて、その結果、パラメータ７１ｃ，７２ｃの各々が得られて、ソリッド５１ｃと対応付けられて部品モデル２１のファイルに含められる。
さらに、複写元のソリッド５１ｏと複写先のソリッド５１ｃとのリンク関係を示す情報（以下、「リンク情報」と呼ぶ）が別のパラメータとして生成される。
具体例については後述するが、リンク情報は、少なくとも、リンク相手の記憶場所を含むものとする。
具体的には、複写元のソリッド５１ｏに関するリンク情報（リンク相手の複写先のソリッド５１ｃの記憶場所を少なくとも含む）としてパラメータ６１ｏが生成されて、パーツ１１のファイル内に含められる。一方、複写先のソリッド５１ｃに関するリンク情報（リンク相手の複写元のソリッド５１ｏの記憶場所を少なくとも含む）としてパラメータ６１ｃが生成されて、部品モデル２１のファイル内に含められる。
同様に、複写元のソリッド５２ｏに関するリンク情報（リンク相手の複写先のソリッド５２ｃの記憶場所を少なくとも含む）としてパラメータ６２ｏが生成されて、パーツ１１のファイル内に含められる。一方、複写先のソリッド５２ｃに関するリンク情報（リンク相手の複写元のソリッド５２ｏの記憶場所を少なくとも含む）としてパラメータ６２ｃが生成されて、部品モデル２１のファイル内に含められる。
ここで、パーツ１１のファイル内には、垂直方向に対向して配置される別のパーツ１２に関するパーツ間拘束を含むパラメータ６３ｏが、リンク付複写が行われる前から存在しているものとする。この場合、リンク付複写では、パーツ間拘束の複写が禁止されるため、パラメータ６３ｏの複写が禁止される。このため、部品モデル２１のフォルダ内には、パーツ間拘束を含むパラメータ６３ｏに対応するパラメータは存在しないのである。
このようなリンク付複写が行われた結果として、パーツ１１及び部品モデル２１の各フォルダの構成は、図４に示す構成になる。
【００４３】
図３に戻り、プログラム記憶部６２は、このようなリンク付複写を実現するアプリケーションプログラム（以下、「リンク付複写プログラム」と呼ぶ）を記憶する。
【００４４】
ファイルオープン部６３は、ＣＡＤデータ記憶部６１に記憶されている各ファイルをオープンする。
ファイルオープン部６３によりオープンされたファイルは、各種データの読み書きが可能になる。その後、オープンされたファイルからの各種データの読み出し、及び、オープンされたファイルに対する各種データの書き込みは、後述するプログラム実行部６５の制御の下、ファイルオープン部６３により実行される。
具体的には例えば図４の例でいえば、「検討完了ＣＡＤデータ」フォルダに含まれるパーツ１１乃至パーツ１４の各ファイル、及び、「設計ＣＡＤデータ」フォルダに含まれる部品モデル２１乃至２４の各ファイルがオープンになる。
なお、「各ファイルをオープン」とは、「検討完了ＣＡＤデータ」及び「設計ＣＡＤデータ」の各フォルダがオープンになること、即ち、これらのフォルダ内に、新たなフォルダやファイルを作成することや、既存のフォルダやファイルを削除することも含む概念である。
【００４５】
プログラム起動部６４は、プログラム記憶部６２に記憶されているリンク付複写プログラムを起動する。
【００４６】
プログラム実行部６５は、プログラム起動部６４により起動されたリンク付複写プログラムを実行する。
ここで、リンク付複写プログラムは、１以上のコンピュータに対して、少なくとも、リスト化機能、複写機能、リンク機能、部品名入力機能、及びチェック機能を実現させる。１以上のコンピュータとは、プログラム実行部６５の存在場所であり、例えば後述する図１３のＣＰＵ１０１を含むコンピュータが該当する。
プログラム実行部６５には、リスト化機能を実現するリスト化部７１と、複写機能を実現する複写部７２と、リンク機能を実現するリンク部７３と、流用機能を実現する流用部７４と、チェック機能を実現するチェック部７５と、が設けられている。
【００４７】
リスト化機能とは、主に、ＣＡＤデータ記憶部６１内の「検討完了ＣＡＤデータ」フォルダの内容をソリッド単位でリスト化する、という機能である。
このようなリスト化機能の実現により生成されるリスト、即ち、各ソリッドが羅列されたリストを、以下、「検討データ分類リスト」と呼ぶ。また、リスト化機能を実現する処理、即ち、検討データ分類リストを生成するまでの処理を、以下、「検討データ分類リスト処理」と呼ぶ。
即ち、リスト化部７１は、検討データ分類リスト処理を実行することによって、検討データ分類リストを生成する。なお、検討データ分類リスト処理の詳細については図６を参照して、検討データ分類リストの具体例については図７を参照して、それぞれ後述する。
【００４８】
複写機能とは、主に、検討データ分類リストに羅列されたソリッドのうち、複写対象のソリッドを、ＣＡＤデータ記憶部６１内の「設計ＣＡＤデータ」フォルダ内に複写する、という機能である。
このような複写機能を実現する処理を、以下、「複写処理」と呼ぶ。
即ち、複写部７２は、複写処理を実行する。なお、複写処理の詳細については、図１０を参照して後述する。
【００４９】
リンク機能とは、主に、複写機能の実現により複写されたソリッドに関するリンク情報を生成し、それをパラメータとして複写元と複写先の各々に格納する、という機能である。
このようなリンク機能を実現する処理を、以下、「リンク処理」と呼ぶ。
即ち、リンク部７３は、リンク処理を実行する。なお、リンク処理の詳細については、図１１を参照して後述する。
【００５０】
流用機能とは、次のような機能をいう。即ち、複写処理やリンク処理を実行するためには、複写先の指示が必要になる。このような指示は、後述するように、原則として、設計者が、３次元形状データ設計システム５１を手動操作することによって行われる。しかしながら、設計者等にとっては、このような手動操作は、煩雑で手間のかかるものである。そこで、このような手動操作の負荷を軽減すべく、過去に行われた指示を流用する機能が、流用機能である。
即ち、流用機能とは、検討データ分類リストに羅列されたソリッドの中には、過去にリンク付複写が行われたものもあり得るため、そのようなソリッドについては、過去のリンク付複写で用いられた複写先の指示を流用する、という機能である。
このような流用機能を実現する処理を、以下、「流用処理」と呼ぶ。
即ち、流用部７４は、流用処理を実行する。なお、流用処理の詳細については、図９を参照して後述する。
【００５１】
チェック機能とは、主に、検討データ分類リストに羅列されたソリッドの、複写元と複写先のリンク関係の整合性をチェックする、という機能である。
このようなチェック機能を実現する処理を、以下、「チェック処理」と呼ぶ。
即ち、チェック部７５は、チェック処理を実行する。なお、チェック処理の詳細については、図１２を参照して後述する。
【００５２】
このようなリンク付複写プログラムの実行により実現される処理、即ち、検討データ分類リスト処理、複写処理、リンク処理、流用処理、及びチェック処理等からなる処理全体を、以下、「リンク付複写処理」と呼ぶ。
さらに以下、図５以降の図面を参照して、リンク付複写処理の流れについて説明する。
【００５３】
図５は、リンク付複写処理の流れを説明するフローチャートである。
リンク付複写処理は、ＣＡＤデータ記憶部６１に記憶されている各ファイルがファイルオープン部６３によりオープンされ、プログラム記憶部６２に記憶されているリンク付複写プログラムがプログラム起動部６４により起動されたことを契機として、開始される。
【００５４】
ステップＳ１において、リスト化部７１は、検討データ分類リスト処理を実行する。
【００５５】
図６は、検討データ分類リスト処理の詳細な流れを示すフローチャートである。
【００５６】
ステップＳ２１において、リスト化部７１は、リスト作成範囲として、Ｎ個のソリッドを指定し、ソリッド番号ｉ＝１乃至Ｎの番号をそれぞれ付す。
ここで、Ｎは、ＣＡＤデータ記憶部６１内の「検討完了ＣＡＤデータ」フォルダに含まれるソリッドの総数以下の整数値であって、任意に設定可能な設定値である。
【００５７】
ステップＳ２２において、リスト化部７１は、ソリッド番号ｉ＝１乃至Ｎの各ソリッドについて、「検討完了ＣＡＤデータ」フォルダ（複写元）内の情報を取得する。
ソリッドについての「検討完了ＣＡＤデータ」フォルダ（複写元）内の情報として、例えば、当該ソリッドの記憶場所や、当該ソリッドに対応するパラメータの内容が取得される。
具体的には本実施形態では、ソリッドが記憶されている「ユニット」フォルダの名称（以下、「ユニット名」と呼ぶ）、ソリッドが記憶されている「パーツ」ファイルの名称（以下、「パーツ名」と呼ぶ）、ソリッドの名称（以下、「ソリッド名」と呼ぶ）、及び、ソリッド種類が取得されるものとする。
【００５８】
ステップＳ２３において、リスト化部７１は、ｉ＝１乃至Ｎの各ソリッド単位で、ステップＳ２２の処理で取得した各情報を羅列したリストを、検討データ分類リストとして作成する。
【００５９】
図７は、検討データ分類リストの一例を示している。
検討データ分類リストは、図７の例では行列構造を有している。
そこで、以下、水平方向を「行」と呼び、垂直方向を「列」と呼ぶものとして、検討データ分類リストについて説明する。なお、図７において、♯ｋ（ｋは、１乃至Ｎの範囲内の整数値）は、行番号を示している。よって、行番号♯ｋの行を、以下、「第ｋ行」と呼ぶ。
第ｋ行は、ソリッド番号ｋのソリッドと対応している。
従って、第ｋ行においては、「ｉ」の項目には、ソリッド番号ｋが格納され、「ユニット名」、「パーツ名」、「ソリッド名」、「ソリッド種類」の各項目のそれぞれには、ソリッド番号ｋのソリッドについての、ユニット名、パーツ名、ソリッド名、ソリッド種類の各々が格納される。
例えば、第１行目によれば、ソリッド番号「１」のソリッドは、「ユニット１」のフォルダ内の「パーツ１１」のフォルダに含まれており、「ソリッド５１ｏ」というソリッド名を持ち、ソリッド種類は「独自構造」であることがわかる。
【００６０】
このような検討データ分類リストが作成されると、図６のステップＳ２３の処理が終了するため、検討データ分類リスト処理が終了する。即ち、図５のリンク付複写処理において、ステップＳ１の処理が終了し、処理はステップＳ２に進む。
【００６１】
ステップＳ２において、流用部７４は、流用処理を実行する。ただし、流用処理の詳細については、図９を参照して後述する。
【００６２】
ステップＳ３において、複写部７２は、複写条件の入力を受け付ける。
即ち、ステップＳ１の処理で作成された検討データ分類リストは、３次元形状データ設計システム５１の表示部（図３には図示せず。例えば後述する図１３の出力部１０７）に表示される。
設計者等は、検討データ分類リストをみながら、３次元形状データ設計システム５１の操作部（図３には図示せず。例えば後述する図１３の入力部１０６）を操作することによって、複写条件を入力することができる。複写部７２は、このようにして入力された複写条件を受け付ける（取得する）。
複写部７２が受け付ける複写条件は、特に限定されないが、本実施形態では、ソリッド番号ｉ＝１乃至Ｎのソリッドのうち複写対象はどれにするのかという条件、複写物（対応するソリッド）の記憶場所（「Ａｓｓｙ」フォルダ単位）はどこにするのかという条件、及び。複写物（対応するソリッド）に付される番号はどうするのかという条件が採用されている。
【００６３】
ステップＳ４において、複写部７２は、ステップＳ１の処理で作成された検討データ分類リストと、ステップＳ３の処理で入力を受け付けた複写条件（後述するステップＳ２の流用処理で流用される場合もある）とから、複写用リストを作成して、表示部に表示させる。
【００６４】
図８は、複写用リストの一例を示している。
複写用リストは、図８の例では行列構造を有している。そこで、複写用リストについても、図７の検討データ分類リストと同様に「第ｋ行」という語句等を用いて説明する。
図７と図８とを比較すれば容易にわかるように、複写用リストは、ステップＳ１の処理で作成された検討データ分類リストに対して、複写条件等の項目が追加されたリストである。このため、複写用リストの第ｋ行は、検討データ分類リストと同様に、ソリッド番号ｋのソリッドと対応している。
従って、第ｋ行においては、「ｉ」の項目には、ソリッド番号ｋが格納され、「検討データ分類リスト（複写元）」の項目には、検討データ分類リストの第ｋ行の各情報がそのまま格納される。
また、第ｋ行の「複写対象」の項目には、ソリッド番号ｋのソリッドが複写対象となっているか否か（複写条件の設定内容の１つ）を示す情報が格納される。なお、図８の例では、当該項目にチェック印が示されている場合、複写対象となっていることを示している。
第ｋ行の「リンク状態」の項目については、図１１のリンク処理のステップＳ８２の処理の説明の際に後述する。
第ｋ行の「設計ＣＡＤデータ（複写先）」の項目には、ソリッド番号ｋのソリッドがリンク付複写される場合における、複写先である「設計ＣＡＤデータ」フォルダについての各種条件（複写条件の設定内容の一部）が格納される。具体的には本実施形態では、「記憶場所（Ａｓｓｙ）」の項目には、ソリッド番号ｋのソリッドの複写物（対応するソリッド）の記憶場所が「Ａｓｓｙ」フォルダ単位で格納される。「番号（Ｃｏｄｅ）」の項目には、ソリッド番号ｋのソリッドの複写物（対応するソリッド）に対して付される番号（Ｃｏｄｅ）が格納される。
【００６５】
ところで、複写用リストの項目のうち、「複写対象」や「設計ＣＡＤデータ（複写先）」の項目の入力、換言すると、複写先の指示を行う複写条件の入力は、原則として、設計者の手動操作により行われる。しかしながら、設計者にとっては、このような手動操作は、煩雑で手間のかかるものである。
そこで、このような手動操作の負担を軽減すべく、過去に行われた複写条件を流用して複写用リストに予め入力する流用処理が、設計者による手動操作が行われるステップＳ３の前のステップＳ２において実行される。
そこで、図９を参照して、流用処理の詳細な流れについて説明する。
【００６６】
図９は、流用処理の詳細な流れを示すフローチャートである。
【００６７】
ステップＳ４１において、流用部７４は、ソリッド番号ｉ＝１に初期設定する。
【００６８】
ステップＳ４２において、流用部７４は、「検討完了ＣＡＤデータ」フォルダ（複写元）の、ソリッド番号ｉのソリッドのパラメータ内にリンク情報が存在するか否かを判定する。
ソリッドのパラメータとは、当該ソリッドが含まれる「パーツ」フォルダ内のパラメータのうち、当該ソリッドと対応付けられているパラメータをいう。
例えば図４の例では、ソリッド５１ｏに対してソリッド番号ｉが付されている場合、当該ソリッド５１ｏが含まれるパーツ１１のフォルダ内に含まれるパラメータ６１ｏ，７１ｏ，７２ｏが、当該ソリッド５１ｏのパラメータである。
ここで、上述したように、パラメータ６１ｏが、ソリッド５１ｃとのリンク関係を示すリンク情報を含んでいる。図４は、リンク付複写処理が終了した後の状態を示しているが、仮に、当該パラメータ６１ｏが、ステップＳ４２の処理の時点で存在する場合、それは、ソリッド５１ｏに対してリンク付複写が過去に行われた場合であることを意味する。
このような場合、ステップＳ４２においてＹＥＳであると判定されて、処理はステップＳ４３に進む。
【００６９】
ステップＳ４３において、流用部７４は、当該パラメータから、記憶場所（Ａｓｓｙ）や番号（Ｃｏｄｅ）を取得する。
即ち、本実施形態では、リンク情報として、少なくとも、複写先の記憶場所（Ａｓｓｙ）や番号（Ｃｏｄｅ）がパラメータに含まれているものとされている。例えば、上述したように仮にステップＳ４２の処理の時点で存在しているパラメータ６１ｏには、複写先の記憶場所（Ａｓｓｙ）として「ＡｓｓｙＡ」が含まれており、番号（Ｃｏｄｅ）として「○×△×」が含まれているものとすると、「ＡｓｓｙＡ」及び「○×△×」が取得されることになる。
【００７０】
ステップＳ４４において、流用部７４は、複写用リストのうち、ソリッド番号ｉ（ｉ行目）の各項目に、ステップＳ４２の処理で取得した記憶場所（Ａｓｓｙ）やソリッド用部品番号（Ｃｏｄｅ）を入力する。
この場合、ソリッド番号ｉのソリッドは複写対象になる旨の情報（本例ではチェック印）も、ソリッド番号ｉ（ｉ行目）の「複写対象」の項目に入力される。
なお、本実施形態では、図５のステップＳ４の処理で複写用リストが作成されるものとされているので、ステップＳ４４の処理とは、ソリッド番号ｉ（ｉ行目）の各項目に、ステップＳ４２の処理で取得した記憶場所（Ａｓｓｙ）やソリッド用部品番号（Ｃｏｄｅ）を入力する準備をする（ユーザの手動操作の入力は不要になる）という意味である。
【００７１】
このように、ソリッド番号ｉのソリッドに対してリンク付複写が過去に行われている場合、過去のリンク付複写で用いられた複写先の指示（複写条件）、即ち記憶場所（Ａｓｓｙ）やソリッド用部品番号（Ｃｏｄｅ）が流用されることになる。これにより、ユーザは、ソリッド番号ｉのソリッドについては、改めて複写条件を入力する手動操作をする必要がなくなる（図５のステップＳ３参照）。
【００７２】
なお、ソリッド番号ｉのソリッドに対してリンク付複写が過去に行われていない場合、当然、リンク情報はまだ作られていないため（後述する図５のステップＳ１０のリンク処理で作られるため）、ステップＳ４２においてＮＯであると判定される。
【００７３】
このようにして、ステップＳ４２においてＮＯであると判定されるか、又はステップＳ４４の処理が実行されると、処理はステップＳ４５に進む。
ステップＳ４５において、流用部７４は、ソリッド番号ｉを１だけインクリメントする（ｉ＝ｉ＋１）。
【００７４】
ステップＳ４６において、流用部７４は、ソリッド番号ｉは、最終番号Ｎ（検討データ分類リストに羅列されたソリッドの総数Ｎ）よりも大きいか否かを判定する。
【００７５】
ソリッド番号ｉがＮ以下の場合とは、検討データ分類リストに羅列された各ソリッドのうち、ステップＳ４２乃至Ｓ４５の処理が施されていないソリッドが存在する場合であることを意味する。このような場合、ステップＳ４６においてＮＯであると判定されて、処理はステップＳ４２に戻され、それ以降の処理が繰り返される。
従って、検討データ分類リストに羅列された各ソリッドの全てに対して、ステップＳ４２乃至Ｓ４５の処理がそれぞれ施されると、最後の番号Ｎのソリッドに対するステップＳ４５の処理でソリッド番号ｉは、Ｎ＋１に更新される。このような場合には、ステップＳ４６においてＹＥＳであると判定されて、流用処理は終了する。
【００７６】
このような流用処理が終了すると、ソリッド番号１乃至ｉのソリッドのうち、リンク付複写が過去に行われていたソリッドについては、過去に用いられた複写条件が流用される。即ち、これららのソリッドについての複写条件は、既に入力されたのと等価な状態になっている。
このような状態で、図５のステップＳ２の処理が終了して、ステップＳ３の処理が開始されるので、設計者は、未入力のソリッド（流用できなかったソリッド）だけを対象に、複写条件を入力すればよい。従って、設計者にとっては、ソリッド毎に複写条件を入力するための手動操作の負荷が軽減されることになる。
その後、ステップＳ３の処理で、ユーザの入力による複写条件が受け付けられ、ステップＳ４の処理で、当該受け付けられた複写条件又はステップＳ２の流用処理で流用された複写条件を含む複写用リストが作成されると、処理はステップＳ５に進む。
【００７７】
ステップＳ５において、複写部７２は、ソリッド番号ｉ＝１に初期設定する。
【００７８】
ステップＳ６において、複写部７２は、複写用リストを参照して、ソリッド番号ｉのソリッドは複写対象であるか否かを判定する。
ソリッド番号ｉのソリッドが複写対象の場合、ステップＳ６においてＹＥＳであると判定されて、処理はステップＳ７に進む。
【００７９】
ステップＳ７において、複写部７２は、「検討完了ＣＡＤデータ」フォルダ（複写元）の、ソリッド番号ｉのソリッドのパラメータ内にリンク情報が存在するか否かを判定する。
ソリッド番号ｉのソリッドのパラメータ内にリンク情報が存在しない場合、ステップＳ７においてＮＯであると判定され、処理はステップＳ９に進む。
【００８０】
ステップＳ９において、複写部７２は、複写処理を実行する。
【００８１】
図１０は、複写処理の詳細な流れを示すフローチャートである。
【００８２】
ステップＳ６１において、複写部７２は、「設計ＣＡＤデータ」フォルダ（複写先）内に、ソリッド番号ｉのソリッドの複写先として指定された（複写条件として入力された）「Ａｓｓｙ」フォルダ（記憶場所）は存在するか否かを判定する。
当該「Ａｓｓｙ」フォルダが存在しない場合、ステップＳ６１においてＮＯであると判定されて、処理はステップＳ６２に進む。
ステップＳ６２において、複写部７２は、「設計ＣＡＤデータ」フォルダ（複写先）内に、当該「Ａｓｓｙ」フォルダを作成する。
【００８３】
このようにしてステップＳ６２の処理で当該「Ａｓｓｙ」フォルダが作成された場合、又は、当該「Ａｓｓｙ」フォルダが元々存在しており、その結果、ステップＳ６１においてＹＥＳであると判定された場合、処理はステップＳ６３に進む。
【００８４】
ステップＳ６３において、複写部７２は、当該「Ａｓｓｙ」フォルダ内に、「部品」ファイルは存在するか否かを判定する。
ソリッド番号ｉのソリッドが含まれている複写元の「パーツ」フォルダに対応する「部品」ファイルが存在しない場合、ステップＳ６３においてＮＯであると判定されて、処理はステップＳ６４に進む。
ステップＳ６４において、複写部７２は、当該「Ａｓｓｙ」フォルダ内に、当該「部品」ファイルを作成する。
【００８５】
このようにしてステップＳ６４の処理で当該「部品」ファイルが作成された場合、又は、当該「部品」ファイルが元々存在しており、その結果、ステップＳ６３においてＹＥＳであると判定された場合、処理はステップＳ６５に進む。
【００８６】
ステップＳ６５において、複写部７２は、当該「部品」ファイル内に、ソリッド番号ｉのソリッドのデータを複写する。
【００８７】
これにより、複写処理は終了する。即ち、図５のステップＳ９の処理は終了し、処理はステップＳ１０に進む。
【００８８】
ステップＳ１０において、リンク部７３は、リンク処理を実行する。
【００８９】
図１１は、リンク処理の詳細な流れを示すフローチャートである。
【００９０】
ステップＳ８１において、リンク部７３は、ソリッド番号ｉのソリッドのリンク情報を、「設計ＣＡＤデータ」フォルダ（複写先）の「部品」ファイルのパラメータと、「検討完了ＣＡＤデータ」フォルダ（複写元）の「パーツ」ファイル内のパラメータとのそれぞれとして書き込む。
具体的には例えば、図４のソリッド５１ｏが、ソリッド番号ｉのソリッドデータであるとする。この場合、直前の複写処理（図１０参照）で、ソリッド５１ｃが、「設計ＣＡＤデータ」フォルダ（複写先）の部品モデル２１のファイルに含められることになる。
従って、この場合のリンク情報とは、複写元のソリッド５１ｏと複写先のソリッド５１ｃとのリンク関係を示す情報となる。当該リンク情報を含むパラメータ６１ｃが、「設計ＣＡＤデータ」フォルダの部品モデル２１のファイル内に書き込まれると共に、当該リンク情報を含むパラメータ６１ｏが、「検討完了ＣＡＤデータ」フォルダのパーツ１１のファイル内に書き込まれる。
より具体的には例えば、複写先の部品モデル２１のファイル内のパラメータ６１ｃには、自身の記憶場所（Ａｓｓｙ）、番号（Ｃｏｄｅ）、及び相手方であるパーツ１１が含まれるユニット１のフォルダの記憶場所が、リンク情報として含まれている。また、複写元のパーツ１１のファイル内のパラメータ６１ｏには、自身の記憶場所であるユニット１のフォルダの記憶場所、相手方の記憶場所（Ａｓｓｙ）、及び相手方の番号（ＣＯｄｅ）が、リンク情報として含まれている。
【００９１】
ステップＳ８２において、リンク部７３は、複写用リストのうち、ソリッド番号ｉ（ｉ行目）の「リンク状態」の項目に対して、「整合状態」を入力する。
即ち、ｉ行目の「リンク状態」の項目には、ｉ行目のソリッドについてのリンク関係が整合が取れていて問題ない場合には、「整合状態」が入力される一方、当該リンク関係が整合が取れておらず問題になる場合には、「不整合状態」が入力される。ステップＳ８２の処理は、ステップＳ８１の処理でリンク関係の整合が取られるようにパラメータが書き込まれるので、「整合状態が」入力されるのである。
【００９２】
これにより、リンク処理は終了する。このため、図５のステップＳ１０の処理は終了し、即ち、ソリッド番号ｉのソリッドに対するリンク付複写が終了し、処理はステップＳ１１に進む。
【００９３】
ステップＳ１１において、複写部７２は、ソリッド番号ｉを１だけインクリメントする（ｉ＝ｉ＋１）。
【００９４】
ステップＳ１２において、複写部７２は、ソリッド番号ｉは、最終番号Ｎ（検討データ分類リストに羅列されたソリッドの総数Ｎ）よりも大きいか否かを判定する。
【００９５】
ソリッド番号ｉがＮ以下の場合とは、検討データ分類リストに羅列された各ソリッドのうち、ステップＳ６乃至Ｓ１１の処理が施されていないソリッドが存在する場合であることを意味する。このような場合、ステップＳ１２においてＮＯであると判定されて、処理はステップＳ６に戻され、それ以降の処理が繰り返される。
【００９６】
ここで、次のソリッド番号ｉのソリッドが複写対象でない場合、ステップＳ６においてＮＯであると判定されて、ステップＳ７乃至Ｓ１０の処理は実行されずに、即ち、ソリッド番号ｉのソリッドのリンク付複写は行われずに、処理はステップＳ１１に進む。この場合、ステップＳ１１において、ソリッド番号ｉが更新されて、ステップＳ１２に進む。更新後のソリッド番号ｉがＮ以下の場合には、ステップＳ１２の処理でＮＯであると判定されて、処理はステップＳ６に戻され、それ以降の処理が繰り返される。
【００９７】
ここで、次のソリッド番号ｉのソリッドが複写対象である場合、ステップＳ６においてＹＥＳであると判定されて、処理はステップＳ７に進む。
【００９８】
複写対象のリンク情報が存在しない場合、即ち本実施形態では、ステップＳ２の流用処理で複写条件が流用されずに、次のステップＳ３の処理で設計者によって新たに入力された複写条件が受け付けられた場合、ステップＳ７においてＮＯであると判定される。
この場合には、上述したステップＳ９の複写処理とステップＳ１０のリンク処理が実行されて、複写対象に対するリンク付複写が行われる。
【００９９】
これに対して、複写対象のリンク情報が存在する場合、即ち本実施形態では、ステップＳ２の流用処理で複写条件が流用された場合、過去のリンク付複写処理の内容が有効であり、リンク関係が整合状態を維持しているときがある。このようなときには、複写対象に対するリンク付複写を改めて行う必要はない。
一方で、過去のリンク付複写処理の内容が無効となっており、リンク関係が既に不整合状態になっているときがある。このようなときには、複写対象に対するリンク付複写を改めて行う必要がある。
そこで、複写対象のリンク情報が存在する場合、ステップＳ７においてＹＥＳであると判定されて、処理はステップＳ８に進む。
ステップＳ８において、チェック部７５は、リンク関係が整合状態であるか否かをチェックするチェック処理を実行する。
【０１００】
図１２は、チェック処理の詳細な流れを示すフローチャートである。
【０１０１】
ステップＳ１０１において、チェック部７５は、ソリッド番号ｉのソリッドについて、「検討完了ＣＡＤデータ」フォルダ（複写元）の「パーツ」ファイル内のパラメータから
リンク情報を認識する。
【０１０２】
ステップＳ１０２において、チェック部７５は、ステップＳ１０１の処理で認識したリンク情報により特定されるアドレスに、「設計ＣＡＤデータ」フォルダ（複写先）の「部品」ファイルに、該当するパラメータが実在するか否かを判定する。
【０１０３】
該当するパラメータが実在する場合、ステップＳ１０２においてＹＥＳであると判定されて、処理はステップＳ１０３に進む。
ステップＳ１０３において、チェック部７５は、複写用リストのうち、ソリッド番号ｉ（ｉ行目）の「リンク状態」の項目に対して、「整合状態」を入力する。
この場合、ソリッド番号ｉのソリッドは、複写対象であるが、リンク付複写は改めて行われない（複写処理とリンク処理は実行されない）。
【０１０４】
これに対して、該当するパラメータが実在しない場合、ステップＳ１０２においてＮＯであると判定されて、処理はステップＳ１０４に進む。
ステップＳ１０４において、チェック部７５は、複写用リストのうち、ソリッド番号ｉ（ｉ行目）の「リンク状態」の項目に対して、「不整合状態」を入力する。
この場合、ソリッド番号ｉのソリッドは、後述する図５のステップＳ１３の処理でリンク付複写が行われる（複写処理とリンク処理が改めて実行される）。
【０１０５】
このようなステップＳ１０３又はＳ１０４の処理が終了すると、チェック処理は終了となる。即ち、図５のステップＳ８の処理が終了して、処理はステップＳ１１に進む。この場合、ステップＳ１１において、ソリッド番号ｉが更新されて、ステップＳ１２に進む。更新後のソリッド番号ｉがＮ以下の場合には、ステップＳ１２の処理でＮＯであると判定されて、処理はステップＳ６に戻され、それ以降の処理が繰り返される。
【０１０６】
このようにして、ステップＳ１の処理で作成された検討データ分類リストに羅列された、ソリッド番号ｉ＝１乃至Ｎのソリッドの各々に対して、ステップＳ６乃至Ｓ１２のループ処理がその都度施される。
そして、最後の番号ＮのソリッドについてのステップＳ１１の処理で、ソリッド番号ｉがＮ＋１に更新されると、次のステップＳ１２の処理でＹＥＳであると判定されて、処理はステップＳ１３に進む。
【０１０７】
ステップＳ１３において、リンク関係が不整合状態のソリッドについて、複写部７２は複写処理（図１０参照）を実行し、リンク部７３はリンク処理（図１１参照）を実行する。
なお、リンク関係が不整合状態のソリッドが複数存在する場合には、複数のソリッドの各々に対して、複写処理及びリンク処理がそれぞれ施される。一方、リンク関係が不整合状態のソリッドが存在しない場合には、ステップＳ１３の処理は省略される。
【０１０８】
このようなステップＳ１３の処理が終了すると、ステップＳ１の処理で作成された検討データ分類リストに羅列された、ソリッド番号ｉ＝１乃至Ｎのソリッドのうち、複製対象については全て、リンク関係が整合状態となる。そこで、リンク付複写処理は終了となる。
【０１０９】
以上説明したように、本実施形態の３次元形状データ設計システムは、複数のオブジェクト（例えばパーツや部品モデル）を組み合わせて対象物（例えば金型）の３次元形状を設計するために、図３に示す複写部７２及びリンク部７３を備えている。
複写部７２は、別オブジェクト（例えば図４のパーツ１２）との間に拘束条件（例えばパーツ間拘束）が設定されているオブジェクト（例えば図４のパーツ１１）を、当該拘束条件の設定を外して複写することによって複写オブジェクト（例えば図４の部品モデル２１）を生成し、オブジェクトが記憶されている第１記憶場所（例えば図４の「検討完了ＣＡＤデータ」フォルダ内の「ユニット」フォルダ）とは別の第２記憶場所（例えば図４の「設計ＣＡＤデータ」フォルダ内の「Ａｓｓｙ」フォルダ）に記憶させる。
リンク部７３は、第１記憶場所に記憶されたオブジェクトと、第２記憶場所に記憶された複写オブジェクトとのリンク関係を示すリンク情報を生成し、リンク情報を第１記憶場所及び第２記憶場所の各々に記憶させる。
【０１１０】
このような本実施形態によれば、例えば、次のような効果を奏することが可能になる。
即ち、別オブジェクトとの間の拘束条件が必要な設計では、第１記憶場所に記憶されたオブジェクトを用いて設計することができる一方、当該拘束条件が不要な設計では、第２記憶場所に記憶された複写オブジェクトを用いて設計することができる。
この場合、リンク情報によって、オブジェクト側が修正された場合には複写オブジェクトにもその修正を反映させ、また、複写オブジェクト側が修正された場合には複写オブジェクトにもその修正を反映させることができる。一方で、オブジェクト側が修正された場合には、拘束条件により、別オブジェクトにもその修正を反映させることができるが、複写オブジェクト側が修正された場合には、拘束条件の設定が外されているため、別オブジェクトにはその修正は反映されない。
即ち、オブジェクトの修正によって、複写オブジェクト及び別オブジェクトが連動して修正される。これに対して、複写オブジェクトの修正によって、オブジェクトは連動して修正されるが、別オブジェクトは修正されない。
このように、オブジェクト間の拘束条件を柔軟かつ有効的に活用することができる。その結果、設計作業の効率化を図ることが可能になる。
【０１１１】
なお、本発明は本実施の形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
【０１１２】
例えば、上述した実施形態では、設計の対象物は金型とされたが、特に限定されない。即ち、設計の対象物は、実世界と仮想世界とを問わず３次元形状を有するものであれば足りる。
この場合、情報処理システム内で、対象物は、任意の数の任意の３次元形状のオブジェクトに分割可能である。換言すると、任意の数の任意に分割されたオブジェクトを組み合わせることによって、対象物が構築される。よって、オブジェクトとは、上述した実施形態のパーツや部品モデルに特に限定されるものではなく、対象物の少なくとも一部を構成可能なものであれば足りる。
【０１１３】
また例えば、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
【０１１４】
図１３は、上述した一連の処理をソフトウェアにより実行させる場合の、本発明が適用される情報処理装置のハードウェア構成を示すブロック図である。換言すると、図３の機能的構成を有する３次元形状データ設計システムが１台の装置により構成された場合のハードウェア構成が、図１３に示す構成である。
【０１１５】
図１３の例では、情報処理装置（３次元形状データ設計システム）は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３と、バス１０４と、入出力インタフェース１０５と、入力部１０６と、出力部１０７と、記憶部１０８と、通信部１０９と、ドライブ１１０と、を備えている。
【０１１６】
ＣＰＵ１０１は、ＲＯＭ１０２に記録されているプログラムに従って各種の処理を実行する。又は、ＣＰＵ１０１は、記憶部１０８からＲＡＭ１０３にロードされたプログラムに従って各種の処理を実行する。
ＲＡＭ１０３にはまた、ＣＰＵ１０１が各種の処理を実行する上において必要なデータ等も適宜記憶される。
【０１１７】
例えば、図３のＣＡＤデータ記憶部６１が、記憶部１０８の一領域として構成される。プログラム記憶部６２は、ＲＯＭ１０２や記憶部１０８の一領域として構成される。即ち、リンク付複写プログラムは、ＲＯＭ１０２や記憶部１０８に記憶される。
ファイルオープン部６３、プログラム起動部６４、及び、プログラム実行部６５は、ＣＰＵ１０１の１機能として構成される。
従って、ＣＰＵ１０１が、リンク付複写プログラムを起動して実行することで、上述したリンク付複写処理を実現することができる。
【０１１８】
ＣＰＵ１０１、ＲＯＭ１０２、及びＲＡＭ１０３は、バス１０４を介して相互に接続されている。このバス１０４にはまた、入出力インタフェース１０５も接続されている。入出力インタフェース１０５には、入力部１０６、出力部１０７、記憶部１０８、及び通信部１０９が接続されている。
【０１１９】
入力部１０６は、キーボードやマウス等の入力機器で構成され、これらの入力機器に対する設計者等の指示操作を受け付ける。
出力部１０７は、各種情報を出力する。例えば、出力部１０７には、図示せぬ表示部が設けられており、上述した各種リストの画像が当該表示部に適宜表示される。
記憶部１０８は、ハードディスクやＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成され、各種データを記憶する。
通信部１０９は、インターネットを含むネットワークを介して他の装置（図示せず）との間で行う通信を制御する。
【０１２０】
入出力インタフェース１０５にはまた、必要に応じてドライブ１１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリ等よりなるリムーバブルメディア１１１が適宜装着される。ドライブ１１０によってリムーバブルメディア１１１から読み出されたプログラムは、必要に応じて記憶部１０８にインストールされる。
【０１２１】
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータ等にネットワークや記録媒体からインストールされる。コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
【０１２２】
このようなプログラムを含む記録媒体は、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディア１１１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体等で構成される。リムーバブルメディア２１１は、例えば、磁気ディスク（フロッピディスクを含む）、光ディスク、又は光磁気ディスク等により構成される。光ディスクは、例えば、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等により構成される。光磁気ディスクは、ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）等により構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されているＲＯＭ１０２や記憶部１０８に含まれるハードディスク等で構成される。
【０１２３】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的或いは個別に実行される処理をも含むものである。
【符号の説明】
【０１２４】
５１    ３次元形状データ設計システム
６１  ＣＡＤデータ記憶部
６２  プログラム記憶部
６３  ファイルオープン部
６４  プログラム起動部
６５  プログラム実行部
７１  リリスト化部
７２  複写部
７３  リンク部
７４  流用部７４
７５  チェック部
１０１  ＣＰＵ
【図１】
2012068830.tif 000003
【図２】
2012068830.tif 000004
【図３】
2012068830.tif 000005
【図４】
2012068830.tif 000006
【図５】
2012068830.tif 000007
【図６】
2012068830.tif 000008
【図７】
2012068830.tif 000009
【図８】
2012068830.tif 000010
【図９】
2012068830.tif 000011
【図１０】
2012068830.tif 000012
【図１１】
2012068830.tif 000013
【図１２】
2012068830.tif 000014
【図１３】
2012068830.tif 000015