(57)【特許請求の範囲】
【請求項１】
本体要素と前記本体要素に付加された部品要素とから成る設計対象物を表す設計情報を指定して前記本体要素の少なくとも一部の寸法を変更する指示の入力を受け付けて、前記指示に従った前記本体要素の寸法の変更に応じて前記設計情報に含まれる前記部品要素の寸法を変更した場合の変更後の前記部品要素の寸法を求める処理を行う処理手段と、
前記本体要素に付加される部品要素それぞれの寸法に関する制約条件を記憶した記憶手段を参照し、前記処理手段が求めた変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たすか否かを判定する判定手段と、
前記判定手段において前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、その旨を表す情報を出力する出力手段と、
を備え、
前記記憶手段において、前記本体要素に付加される部品要素それぞれに対して複数の前記制約条件を記憶し、複数の前記制約条件のそれぞれは、当該部品要素がとり得る複数の形状のそれぞれに対応づけられ、かつ当該形状を有する当該部品要素の寸法として許容される値の範囲を表し、
前記判定手段は、さらに、前記変更後の前記部品要素の寸法が、前記部品要素に対する複数の前記制約条件のうちのどの制約条件が表す値の範囲に含まれるかを判定し、
前記処理手段は、前記判定手段により前記変更後の前記部品要素の寸法を含む値の範囲を表すと判定された制約条件に対応づけられた形状を有し、かつ前記変更後の前記部品要素の寸法を有する前記部品要素と、前記変更後の前記本体要素の寸法を有する前記本体要素と、から成る前記設計対象物を表す前記設計情報を生成する、
ことを特徴とする設計支援装置。
【請求項２】
前記処理手段は、さらに、前記判定手段において前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、前記部品要素の寸法が前記制約条件を満たす範囲内で、前記指示に応じて前記本体要素および前記部品要素を拡大または縮小した結果の前記本体要素および前記部品要素の寸法を含む前記設計情報を生成する、
ことを特徴とする請求項１に記載の設計支援装置。
【請求項３】
前記記憶手段は、さらに、前記本体要素に付加される部品要素それぞれについて、前記本体要素において当該部品要素が配置され得る面ごとに、前記制約条件と当該部品要素の形状との組を記憶し、
前記判定手段は、前記変更後の前記部品要素の寸法が、前記本体要素において前記部品要素が配置された面に対応する前記制約条件のうちのどの制約条件が表す値の範囲に含まれるかを判定する、
ことを特徴とする請求項１または２に記載の設計支援装置。
【請求項４】
前記出力手段は、さらに、前記判定手段により前記変更後の前記部品要素の寸法を含む値の範囲を表すと判定された制約条件に対応づけられた形状が、前記指示の入力を受け付けた時点での前記部品要素の形状と異なる場合に、その旨を表す情報を出力する、
ことを特徴とする請求項１から３のいずれか１項に記載の設計支援装置。
【請求項５】
前記設計情報を指定して、前記本体要素に新たな部品要素を付加する指示の入力を受け付けた場合に、当該新たな部品要素の寸法に関し、前記判定手段における判定処理を実行する、
ことを特徴とする請求項１から４のいずれか１項に記載の設計支援装置。
【請求項６】
前記設計情報を指定して、前記設計情報に含まれる前記部品要素の寸法を変更する指示の入力を受け付けた場合に、当該指示に係る変更後の前記部品要素の寸法に関し、前記判定手段における判定処理を実行する、
ことを特徴とする請求項１から５のいずれか１項に記載の設計支援装置。
【請求項７】
コンピュータに、
本体要素と前記本体要素に付加された部品要素とから成る設計対象物を表す設計情報を指定して前記本体要素の少なくとも一部の寸法を変更する指示の入力を受け付けて、前記指示に従った前記本体要素の寸法の変更に応じて前記設計情報に含まれる前記部品要素の寸法を変更した場合の変更後の前記部品要素の寸法を求める処理を行う処理ステップと、
前記本体要素に付加される部品要素それぞれの寸法に関する制約条件を記憶した記憶手段を参照し、前記処理ステップで求めた変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たすか否かを判定する判定ステップと、
前記判定ステップにおいて前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、その旨を表す情報を出力する出力ステップと、
を実行させるためのプログラムであり、
前記記憶手段において、前記本体要素に付加される部品要素それぞれに対して複数の前記制約条件を記憶し、複数の前記制約条件のそれぞれは、当該部品要素がとり得る複数の形状のそれぞれに対応づけられ、かつ当該形状を有する当該部品要素の寸法として許容される値の範囲を表し、
前記判定ステップでは、さらに、前記変更後の前記部品要素の寸法が、前記部品要素に対する複数の前記制約条件のうちのどの制約条件が表す値の範囲に含まれるかを判定し、
前記処理ステップでは、前記判定ステップにより前記変更後の前記部品要素の寸法を含む値の範囲を表すと判定された制約条件に対応づけられた形状を有し、かつ前記変更後の前記部品要素の寸法を有する前記部品要素と、前記変更後の前記本体要素の寸法を有する前記本体要素と、から成る前記設計対象物を表す前記設計情報を生成する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、設計支援装置およびプログラムに関する。
【背景技術】
【０００２】
製品や部品などの設計を支援する技術が開発されている。例えば特許文献１には、３ＤＣＡＤに適用される部品設計支援方法が開示されている。特許文献１に記載の技術では、登録されたフィーチャー形状（部品の形状）の数値パラメータを決定することで作られるフィーチャー形状に対して、各種の制約を予め設定しておき、ユーザが作成した形状が制約に対して適合しない場合に、対象箇所を表示装置に表示させたり、フィーチャー形状の修正について改善案を提示したりする。予め設定される制約の例としては、製造上許容されるサイズ、複数のフィーチャー形状を配置する場合の個々のフィーチャー形状間の製造上許容される配置距離、および個々のフィーチャー形状とモデル外径端部や曲げ部との間の製造上許容される配置距離などが挙げられている。
【０００３】
特許文献２には、設計のベースとなる製品の仕様の複数の基本項目を仕様項目とし、各仕様項目にそれぞれ仕様値を設定して製品を設計することを支援するシステムが開示されている。特許文献２に記載のシステムは、各仕様項目に対して仕様値の取り得る制約条件を記述した仕様構成情報データベースを備え、この制約条件に基づいて、各仕様項目に対する設計者による仕様値の入力を誘導する設計画面を表示させる。
【０００４】
また、特許文献３には、設計の手順を誘導することで設計を支援する技術が開示されている。特許文献３に記載の技術では、部品の形状／組立の定義に必要な属性を提示する方法を記述した属性活性化情報、その属性に対する制約を記述した制約情報、およびその属性の値に基づき形状データまたは組立データを作成する方法を記述した設計結果生成情報から構成される設計プロセス要素をＤＢに持ち、設計の段階毎に利用可能な設計プロセス要素を提示して、設計者がそれを組み合わせて設計を行い、必要に応じて設計プロセス要素に記述されている設計のチェックを自動的に行う。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−１０２２８２号公報
【特許文献２】特開２００６−１５５６０１号公報
【特許文献３】特開平１０−２１４２７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、設計支援装置において、設計対象物の全体の形状を定める本体要素に対して部品要素が付加された状態で、本体要素の寸法を変更する指示を受け付けた場合に、本体要素の寸法を変更すると共に、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法も変更する処理を行う場合がある。
【０００７】
本発明の目的は、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法が変更される場合に、部品要素の制約条件に違反した設計情報が生成されることを防止する設計支援装置およびプログラムを提供することである。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、本体要素と前記本体要素に付加された部品要素とから成る設計対象物を表す設計情報を指定して前記本体要素の少なくとも一部の寸法を変更する指示の入力を受け付けて、前記指示に従った前記本体要素の寸法の変更に応じて前記設計情報に含まれる前記部品要素の寸法を変更した場合の変更後の前記部品要素の寸法を求める処理を行う処理手段と、前記本体要素に付加される部品要素それぞれの寸法に関する制約条件を記憶した記憶手段を参照し、前記処理手段が求めた変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たすか否かを判定する判定手段と、前記判定手段において前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、その旨を表す情報を出力する出力手段と、を備え、前記記憶手段において、前記本体要素に付加される部品要素それぞれに対して複数の前記制約条件を記憶し、複数の前記制約条件のそれぞれは、当該部品要素がとり得る複数の形状のそれぞれに対応づけられ、かつ当該形状を有する当該部品要素の寸法として許容される値の範囲を表し、前記判定手段は、さらに、前記変更後の前記部品要素の寸法が、前記部品要素に対する複数の前記制約条件のうちのどの制約条件が表す値の範囲に含まれるかを判定し、前記処理手段は、前記判定手段により前記変更後の前記部品要素の寸法を含む値の範囲を表すと判定された制約条件に対応づけられた形状を有し、かつ前記変更後の前記部品要素の寸法を有する前記部品要素と、前記変更後の前記本体要素の寸法を有する前記本体要素と、から成る前記設計対象物を表す前記設計情報を生成する、ことを特徴とする設計支援装置である。
【０００９】
請求項２に係る発明は、請求項１に係る発明において、前記処理手段は、さらに、前記判定手段において前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、前記部品要素の寸法が前記制約条件を満たす範囲内で、前記指示に応じて前記本体要素および前記部品要素を拡大または縮小した結果の前記本体要素および前記部品要素の寸法を含む前記設計情報を生成する。
【００１１】
請求項３に係る発明は、請求項１または２に係る発明において、前記記憶手段は、さらに、前記本体要素に付加される部品要素それぞれについて、前記本体要素において当該部品要素が配置され得る面ごとに、前記制約条件と当該部品要素の形状との組を記憶し、前記判定手段は、前記変更後の前記部品要素の寸法が、前記本体要素において前記部品要素が配置された面に対応する前記制約条件のうちのどの制約条件が表す値の範囲に含まれるかを判定する。
【００１２】
請求項４に係る発明は、請求項１から３のいずれか１項に係る発明において、前記出力手段は、さらに、前記判定手段により前記変更後の前記部品要素の寸法を含む値の範囲を表すと判定された制約条件に対応づけられた形状が、前記指示の入力を受け付けた時点での前記部品要素の形状と異なる場合に、その旨を表す情報を出力する。
【００１３】
請求項５に係る発明は、請求項１から４のいずれか１項に係る発明において、前記設計情報を指定して、前記本体要素に新たな部品要素を付加する指示の入力を受け付けた場合に、当該新たな部品要素の寸法に関し、前記判定手段における判定処理を実行する。
【００１４】
請求項６に係る発明は、請求項１から５のいずれか１項に係る発明において、前記設計情報を指定して、前記設計情報に含まれる前記部品要素の寸法を変更する指示の入力を受け付けた場合に、当該指示に係る変更後の前記部品要素の寸法に関し、前記判定手段における判定処理を実行する。
【００１５】
請求項７に係る発明は、コンピュータに、本体要素と前記本体要素に付加された部品要素とから成る設計対象物を表す設計情報を指定して前記本体要素の少なくとも一部の寸法を変更する指示の入力を受け付けて、前記指示に従った前記本体要素の寸法の変更に応じて前記設計情報に含まれる前記部品要素の寸法を変更した場合の変更後の前記部品要素の寸法を求める処理を行う処理ステップと、前記本体要素に付加される部品要素それぞれの寸法に関する制約条件を記憶した記憶手段を参照し、前記処理ステップで求めた変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たすか否かを判定する判定ステップと、前記判定ステップにおいて前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、その旨を表す情報を出力する出力ステップと、を実行させるためのプログラムであり、前記記憶手段において、前記本体要素に付加される部品要素それぞれに対して複数の前記制約条件を記憶し、複数の前記制約条件のそれぞれは、当該部品要素がとり得る複数の形状のそれぞれに対応づけられ、かつ当該形状を有する当該部品要素の寸法として許容される値の範囲を表し、前記判定ステップでは、さらに、前記変更後の前記部品要素の寸法が、前記部品要素に対する複数の前記制約条件のうちのどの制約条件が表す値の範囲に含まれるかを判定し、前記処理ステップでは、前記判定ステップにより前記変更後の前記部品要素の寸法を含む値の範囲を表すと判定された制約条件に対応づけられた形状を有し、かつ前記変更後の前記部品要素の寸法を有する前記部品要素と、前記変更後の前記本体要素の寸法を有する前記本体要素と、から成る前記設計対象物を表す前記設計情報を生成する、ことを特徴とするプログラムである。
【発明の効果】
【００１６】
請求項１または７に係る発明によると、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法が変更される場合に、部品要素の制約条件に違反した設計情報が生成されることを防止できる。
【００１７】
請求項２に係る発明によると、部品要素の制約条件を満たす範囲内で、本体要素の寸法の変更指示に従った、本体要素および部品要素の拡大または縮小を実行できる。
【００１８】
また、請求項１または７に係る発明によると、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法が変更される場合に、部品要素の形状を、部品要素の変更後の寸法に適した形状に設定できる。
【００１９】
請求項３に係る発明によると、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法が変更される場合に、部品要素の形状を、本体要素において部品要素が配置された面と当該部品要素の変更後の寸法とに適した形状に設定できる。
【００２０】
請求項４に係る発明によると、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法が変更されることにより、部品要素の形状が変更された場合に、その旨を利用者に通知できる。
【００２１】
請求項５に係る発明によると、本体要素に新たな部品要素が付加される場合に、当該新たな部品要素の制約条件に違反した設計情報の生成を防止できる。
【００２２】
請求項６に係る発明によると、部品要素の寸法を変更が指示された場合に、当該部品要素の制約条件に違反した設計情報の生成を防止できる。
【図面の簡単な説明】
【００２３】
【図１】設計支援装置の内部構成の概略の例を示す図である。
【図２】設計データの内容の例を模式的に示す図である。
【図３Ａ】図２に示す設計データが表す設計対象物を図式的に示した例の図である。
【図３Ｂ】図２に示す設計データが表す設計対象物を図式的に示した例の図である。
【図４】部品ＤＢのデータ内容の例を示す図である。
【図５】表示部に表示される表示画面の例を示す図である。
【図６】設計支援装置が実行する処理の手順の例を示すフローチャートである。
【図７】警告表示の例を示す図である。
【図８】警告表示の他の例を示す図である。
【図９】設計支援装置の内部構成の概略の他の例を示す図である。
【図１０】部品ＤＢのデータ内容の他の例を示す図である。
【図１１】部品要素の貼り付け面について説明するための図である。
【図１２】設計対象物の他の例を示す図である。
【図１３】設計支援装置が実行する処理の手順の他の例を示すフローチャートである。
【図１４】部品要素の形状を変更した旨を表示する表示画面の例を示す図である。
【図１５】部品要素の形状を変更した旨を表示する表示画面の他の例を示す図である。
【図１６】コンピュータのハードウエア構成の例を示す図である。
【発明を実施するための形態】
【００２４】
［第１実施形態］
図１に、本発明の第１実施形態の例による設計支援装置の内部構成の概略の例を示す。図１に示す設計支援装置１０は、設計データ記憶部１００、部品ＤＢ１１０、操作受付部１２０、設計データ処理部１３０、および表示部１４０を備える。
【００２５】
設計データ記憶部１００は、設計対象物の設計データを記憶する。設計データは、設計対象物のデザインを表す情報であり、後述のようにユーザ（設計者）の指示に従って生成される。設計データは、例えば、設計対象物を構成する各要素の種類、形状、寸法、および配置位置などに関する情報を含む。設計データは、ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）のシステムにおいて一般的に用いられるデータ構造を有していてよい。
【００２６】
図２に、設計データ記憶部１００に記憶される設計データの内容の一例を模式的に示す。図２の例の設計データは、品物の包装用のパッケージ（箱）のデザインを表す。図２の例の設計データが表すパッケージは、本体要素、部品要素１、部品要素２、および部品要素３の４つの構成要素を備える。また、本例の設計データは、本体要素の形状が直方体であることを表し、この直方体の寸法として幅Ｗ，長さＬ，高さＨの値を示す。さらに、本例の設計データは、各部品要素１，２，３について、部品名、形状、位置、寸法、および制約条件の情報を含む。部品名は、部品要素の名称である。本例では、部品名は、部品要素の種類を表す。部品要素１，２の部品名は「切り取りリボン」である。「切り取りリボン」は、パッケージの開封のために切り取られる帯状の部分を意味する。また、「切り取りリボン」である部品要素１，２の形状は、図２に例示するとおりである。部品要素３の部品名は「取っ手用穴」である。「取っ手用穴」は、パッケージの蓋を取り外すときに取っ手として用いられる穴を意味する。「取っ手用穴」である部品要素３の形状は、図２に例示するとおりである。各部品要素の位置は、当該部品要素の配置位置を表す。例えば、本体要素における一点を原点とする３次元座標空間において、各部品要素の中心点の座標値を当該部品要素の「位置」として設計データ中に記述しておけばよい。また、図２の例において、各部品要素の寸法は、当該部品要素の横方向および縦方向（部品要素を２次元平面上で表す場合のＸ軸方向およびＹ軸方向）の大きさを示す。各部品要素の制約条件は、当該部品要素の寸法の制約条件であり、図２の例では、各部品要素について許容される寸法の最小値を表す。部品要素の寸法の制約条件は、例えば、当該部品要素の機能が損なわれない部品要素の寸法の最小値を考慮して予め設定される。図２に例示する「切り取りリボン」の場合、パッケージの開封のための切り取りが可能と考えられる寸法の最小値が制約条件として設定される。「取っ手用穴」の場合、取っ手として利用可能と考えられる寸法の最小値が制約条件として設定される。さらに他の例では、例えば文字列を表示する部品要素の制約条件として、文字列の可読性が維持される寸法の最小値を設定しておくことが考えられる。
【００２７】
図２の例の設計データが表すパッケージを図式的に表すと、例えば図３Ａおよび図３Ｂに示すとおりになる。図３Ａを参照し、パッケージの本体要素である直方体形状の１つの面に部品要素１（切り取りリボン）が配置され、部品要素１が配置された面に隣接する１つの面に、部品要素２が配置されている。また、部品要素１，２は、部品要素１の一方の端部と部品要素２の一方の端部とが互いに接するように配置されている。図３Ｂは、図３Ａに示すパッケージを矢印Ｘの方向から見た場合の例を示す。図３Ｂを参照し、部品要素３は、部品要素１の配置面に対向する面であって部品要素２の配置面に隣接する面に配置されている。
【００２８】
なお、図２は、設計データの内容の具体的な態様を限定するものではない。また、設計データは、図２に例示する内容の他の情報を含んでいてよい。例えば、設計データは、図２の例の内容の他にも、設計対象物の図面を表示部１４０に表示させるために必要な各種の情報を含んでいてよい。
【００２９】
図１の説明に戻り、部品ＤＢ１１０は、本体要素に付加され得る部品要素に関する情報を予め記憶したデータベースである。部品ＤＢ１１０には、各部品要素について、その種類や名称、形状、および制約条件などを記憶する。ユーザは、本体要素に付加する部品要素を、部品ＤＢ１１０に記憶された部品要素の中から選択する。図４に、部品ＤＢ１１０のデータ内容の一例を示す。
【００３０】
図４を参照し、本例の部品ＤＢ１１０は、各部品要素について、部品名、制約条件、および形状の各項目の値を記憶する。部品名は、当該部品要素の名称である。制約条件は、当該部品要素の寸法に関する制約条件である。図４の例では、当該部品要素の寸法として許容される最小値を表す。ただし、当該部品要素の寸法として許容される最大値を表す制約条件、または、許容される最小値および最大値の両方を表す制約条件を設定しておいてもよい。制約条件において最小値および最大値のいずれを設定するかは、当該部品要素の機能に応じて決定すればよい。形状は、当該部品要素の形状を表す。部品ＤＢ１１０に登録された各部品要素の情報は、当該部品要素を含む設計対象物の設計データ中に組み込まれる。例えば、図２の例の設計データを参照し、部品名「切り取りリボン」である各部品要素１，２の情報には、図４の例の部品ＤＢ１１０に登録された「切り取りリボン」の制約条件および形状が含まれている。また、図２に例示する部品要素３（部品名「取っ手用穴」）の情報には、図４の例の部品ＤＢ１１０に登録された「取っ手用穴」の制約条件および形状が含まれている。以上より、部品ＤＢ１１０を、各部品要素のオブジェクトのクラスを定義する情報を記憶したデータベースであると捉え、設計データ中の各部品要素の情報を、当該部品要素のオブジェクトのインスタンスであると捉えてもよい。
【００３１】
再び図１を参照し、操作受付部１２０は、ユーザによる各種の入力を受け付ける。操作受付部１２０は、例えば、マウスやキーボードなどの図示しない入力装置を用いてユーザが入力した情報を取得し、取得した情報を設計データ処理部１３０に渡す。
【００３２】
設計データ処理部１３０は、操作受付部１２０が受け付けたユーザの指示に従って、設計対象物の設計データに対する操作を実行する。設計データ処理部１３０は、位置／形状管理部１３２、制約条件判定部１３４、および表示制御部１３６を備える。
【００３３】
設計データ処理部１３０は、設計データを新規作成して設計データ記憶部１００に格納したり、設計データ記憶部１００に記憶された設計データの内容を変更したりする。例えば、設計データ処理部１３０は、設計対象物の本体要素を選択する指示に従って、選択された本体要素の情報を含む設計データを作成し、作成した設計データを設計データ記憶部１００に格納する。また例えば、設計データ処理部１３０は、設計データ記憶部１００中の特定の設計データの本体要素に部品要素を付加する指示に従って、当該指示に係る部品要素の情報を部品ＤＢ１１０から取得し、取得した情報と、現在の設計対象物における当該部品要素の寸法および位置と、を含む部品要素の情報を生成して当該設計データに追加する。また、設計データ処理部１３０は、特定の設計データ中の部品要素を削除する指示に従って、指示された部品要素を設計データから削除することもある。設計データ処理部１３０は、さらに、本体要素に付加された部品要素の位置を変更したり、設計対象物の構成要素（本体要素または部品要素）を変形させたりする処理を行う。ここで、構成要素の「変形」とは、拡大縮小や、縦／横／奥行きの比率の変更などを表す。構成要素が変形されると、当該要素の少なくとも一部の寸法が変更されることになる。
【００３４】
位置／形状管理部１３２は、設計データに含まれる各構成要素の位置および寸法を管理する。位置／形状管理部１３２は、設計データ処理部１３０において、設計データ中の構成要素の寸法や位置の変更を伴う操作が行われる場合に、変更後の各構成要素の寸法および位置を求める。例えば、位置／形状管理部１３２は、設計データ中の本体要素の寸法を変更する指示に従って、本体要素の変更後の寸法を求め、かつ、当該本体要素に付加された各部品要素の寸法を本体要素の寸法の変更に応じて変更した場合の、各部品要素の変更後の寸法を求める。一具体例として、本体要素を１／２だけ縮小する指示を受けた場合に、位置／形状管理部１３２は、現在の本体要素の寸法を１／２倍した寸法を求めると共に、各部品要素についても、現在の寸法を１／２倍した寸法を求める。位置／形状管理部１３２は、本体要素の寸法の変更に応じて各部品要素の変更後の寸法を求めると、制約条件判定部１３４に依頼して、当該変更後の寸法が当該部品要素の制約条件を満たしているか否かを判定させる。
【００３５】
制約条件判定部１３４は、設計データに含まれる各部品要素の寸法が制約条件を満たしているか否かを判定する。制約条件判定部１３４は、例えば、位置／形状管理部１３２からの上述の依頼を受けて、本体要素の寸法の変更に応じた変更後の各部品要素の寸法を取得する。さらに、処理対象の設計データ中に記述された各部品要素の制約条件を取得する。そして、各部品要素の変更後の寸法が当該部品要素の制約条件を満たしているか否かを判定する。つまり、変更後の寸法が、制約条件によって表される値の範囲内にあるか否かを判定する。
【００３６】
制約条件判定部１３４による判定の結果、すべての部品要素の変更後の寸法が当該部品要素の制約条件を満たしていれば、設計データ処理部１３０は、処理対象の設計データにおいて、各部品要素および本体要素の寸法をそれぞれ変更後の寸法に書き換える。変更後の寸法が制約条件を満たさない部品要素が存在する場合、設計データ処理部１３０は、制約条件に違反した状態を解消するための処理を行う。例えば、設計データ処理部１３０の表示制御部１３６により、制約条件を満たさない部品要素が存在する旨をユーザに通知する警告を表示部１４０に表示させる。また例えば、位置／形状管理部１３２により、各部品要素の制約条件を満たす範囲で、本体要素および各部品要素の寸法を変更するようにしてもよい。例えば、制約条件で示される最小値を下回らないような限界まで、本体要素および各部品要素を縮小したり、制約条件で示される最大値を超えないような限界まで、本体要素および各部品要素を拡大したりする。
【００３７】
表示制御部１３６は、設計データ処理部１３０における処理の過程や結果を表示部１４０に表示させるための制御を行う。本実施形態の例の表示制御部１３６は、表示の内容および態様を指示する表示制御情報を生成して表示部１４０に渡すことで、表示部１４０における表示を制御する。表示制御部１３６は、例えば、設計データ処理部１３０の処理対象の設計データが表すデザインを表示部１４０に図式的に表示させる。また、設計データに対する操作を受け付けるための操作メニューの表示画面を表示させることもある。また、表示制御部１３６は、制約条件判定部１３４の判定の結果を表す情報を表示部１４０に表示させることもある。
【００３８】
表示部１４０は、表示制御部１３６から渡された表示制御情報に従った表示を行う。表示部１４０は、例えば液晶ディスプレイなどの表示装置であってよい。ユーザは、表示部１４０に表示される内容を確認して、入力装置を用いて設計データに対する操作の指示を行う。
【００３９】
図５に、設計データに対するユーザの操作を受け付けるために表示制御部１３６が表示部１４０に表示させる表示画面の一例を示す。図５の例の表示画面には、メニューＭ、設計対象物Ｄ１、および部品要素パレットＰが表示されている。メニューＭは、設計データに関する操作のメニューを表示する。設計対象物Ｄ１の図は、設計データ中に記述された情報に従って表示画面上に描画される。図５に示す設計対象物Ｄ１は、図２，図３Ａ，図３Ｂを参照して上述した例のパッケージであるとする。部品要素パレットＰは、部品ＤＢ１１０に登録された各部品要素を表示する。ユーザは、例えばマウスなどの入力装置を用いて、部品要素パレットＰに表示された部品要素を選択し、選択した部品要素を設計対象物Ｄ１の図上に配置する。この選択および配置の入力を操作受付部１２０が受け付けて、設計対象物Ｄ１の本体要素に、選択された部品要素を付加する指示として設計データ処理部１３０に渡す。この指示を受け取った設計データ処理部１３０は、選択された部品要素の情報を設計データに追加する処理を行う。
【００４０】
図６は、ユーザが設計データ中の本体要素の寸法を変更する指示を行った場合に、設計支援装置１０で実行される処理の手順の例を示すフローチャートである。設計支援装置１０の設計データ処理部１３０は、操作受付部１２０を介して取得したユーザの操作指示が、設計データ中の本体要素の寸法を変更する指示である場合に、図６の例の手順の処理を開始する。なお、図６の例の手順の処理を開始する前に、設計データ処理部１３０は、ユーザによる変更指示の対象の設計データを設計データ記憶部１００から取得済みであるとする。
【００４１】
設計データ処理部１３０は、まず、本体要素の寸法の変更指示の内容を特定する（ステップＳ１０）。ステップＳ１０では、操作受付部１２０から取得された変更指示が、本体要素の寸法をどのように変更することを指示するものであるかを特定する。変更指示は、例えば、本体要素の全体を特定の比率で拡大または縮小する指示である。あるいは、例えば、特定の方向に特定の比率で本体要素を拡大または縮小する指示であってもよい。さらに他の例では、本体要素の縦／横／奥行きの比率を変更する指示であってもよい。
【００４２】
変更指示の内容が特定されると、設計データ処理部１３０の位置／形状管理部１３２は、変更指示に従った変更後の本体要素および各部品要素の寸法を求める（ステップＳ１２）。ステップＳ１２で、位置／形状管理部１３２は、変更指示に従った変更後の本体要素の寸法を求め、かつ、本体要素の変更に応じて各部品要素の寸法を変更した場合の各部品要素の変更後の寸法を求める。例えば、本体要素の全体を拡大または縮小する変更指示の場合、拡大または縮小後の本体要素の寸法と、本体要素に付加された各部品要素を本体要素の拡大または縮小と同じ比率で拡大または縮小した結果の各部品要素の寸法と、を求める。また、特定の方向に特定の比率で本体要素を拡大または縮小する変更指示または本体要素の縦／横／奥行きの比率を変更する指示の場合、本体要素の面ごとに（本体要素の形状が直方体であれば対向する面の組ごとに）拡大または縮小の比率が異なる場合がある。このような場合は、各部品要素について、当該部品要素が配置された本体要素の面の拡大・縮小の比率を求め、この比率を用いて当該部品要素の拡大・縮小後の寸法（変更後の寸法）を求めるようにすればよい。
【００４３】
ステップＳ１２の後、設計データ処理部１３０の制約条件判定部１３４は、各部品要素の変更後の寸法が各部品要素の制約条件を満たすか否かを確認する（ステップＳ１４）。制約条件判定部１３４は、処理対象の設計データに含まれる各部品要素の制約条件を参照し、ステップＳ１２で求められた各部品要素の変更後の寸法が当該部品要素の制約条件で表される範囲内の値であるか否かを確認する。
【００４４】
ステップＳ１４の確認の結果、制約条件を満たさない部品要素がない場合（ステップＳ１６でＮＯ）、設計データ処理部１３０は、ステップＳ１２で求めた変更後の本体要素および部品要素の寸法を設計データに反映させる（ステップＳ２４）。例えば、設計データ記憶部１００において、処理対象の設計データに含まれる本体要素および各部品要素の寸法を、それぞれ、変更後の値に書き換える。
【００４５】
ステップＳ１４の確認の結果、制約条件を満たさない部品要素がある場合（ステップＳ１６でＹＥＳ）、表示制御部１３６は、その旨をユーザに通知するための警告を表示部１４０に表示させる（ステップＳ１８）。ステップＳ１８では、例えば、制約条件を満たさない部品要素を利用者にとって識別可能とする情報と、当該部品要素の制約条件と、を表示部１４０に表示させる。図７に、ステップＳ１８で表示される警告の一例を示す。図７は、図５の例の表示画面に表示された設計対象物Ｄ１の本体要素の全体を縮小する指示に従って求められた各部品要素の変更後の寸法が制約条件の寸法の下限値を下回る場合の警告表示の例である。図７の例の設計対象物Ｄ１´は、設計対象物Ｄ１を指示通りに縮小した場合のデザインを表す。図７の例の警告表示ウィンドウＷ１には、「部品要素のサイズが下限値を下回っています。」とのメッセージが表示され、各部品要素１，２，３の変更後の寸法（サイズ）および制約条件で定められる寸法の下限値を示す表が表示されている。警告表示ウィンドウＷ１の表中の「サイズ」の項目において、下線が付された数値は、制約条件の下限値を下回る寸法であることを示す。警告表示ウィンドウＷ１は、さらに、「元に戻す」、「指定値で更新」、「下限値を下回らないよう更新」のメニューボタンを含む。ユーザは、マウスなどの入力装置により、これらのメニューボタンのいずれかを押下する。各メニューボタンが押下された場合の処理については後述する。
【００４６】
再び図６を参照し、ステップＳ１８で、制約条件を満たさない部品要素がある旨の警告を表示部１４０に表示させた後、設計データ処理部１３０は、制約条件を満たす範囲内でのさらなる変更指示を待ち受ける（ステップＳ２０でＮＯ判定のループ）。さらなる変更指示は、例えば、図７の例の警告表示ウィンドウＷ１のメニューボタンの押下により受け付けられる。ユーザが「元に戻す」ボタンを押下すると、操作受付部１２０は、処理対象の設計データ中の本体要素および各部品要素の寸法を変更前の値のまま維持する指示を設計データ処理部１３０に渡す。ユーザが「指定値で更新」ボタンを押下すると、操作受付部１２０は、各部品要素の寸法を、警告表示ウィンドウＷ１の表における各部品要素の「サイズ」の項目に示された値に変更する指示を設計データ処理部１３０に渡す。なお、本例において、警告表示ウィンドウＷ１中の表における「サイズ」の項目の値は、ユーザの入力により変更可能であるとする。ユーザが「下限値を下回らないよう更新」ボタンを押下すると、操作受付部１２０は、各部品要素の寸法が制約条件の下限値を下回らない範囲で本体要素の寸法が最小となるように本体要素を縮小する指示を設計データ処理部１３０に渡す。上述の各メニューボタンに対応する指示のうち、「元に戻す」ボタンおよび「下限値を下回らないよう更新」ボタンの押下に応じた指示は、制約条件を満たす範囲内での変更指示であると言える。「指定値で更新」ボタンの押下に応じた指示は、警告表示ウィンドウＷ１中の表における「サイズ」の項目の値のうち、対応する下限値を下回るものがなければ、制約条件を満たす範囲内での変更指示である。「サイズ」の項目の値のうち、対応する下限値を下回るものがある状態で「指定値の更新」ボタンが押下された場合、設計データ処理部１３０が取得する指示は、制約条件を満たす範囲内での変更指示ではない。
【００４７】
図６のステップＳ１８の後、制約条件を満たす範囲内での変更指示を設計データ処理部１３０が取得すると（ステップ２０でＹＥＳ）、位置／形状管理部１３２において、当該変更指示に従って各部品要素の変更後の寸法を求める（ステップＳ２２）。ステップＳ２２では、ステップＳ２０で取得された変更指示が本体要素の寸法の変更を伴う場合、本体要素の変更後の寸法も求める。例えば、図７を参照する上述の例で「下限値を下回らないよう更新」ボタンが押下された場合、ステップＳ２２で、位置／形状管理部１３２は、各部品要素の寸法が制約条件の下限値を下回らない範囲で本体要素の寸法が最小となるように本体要素を縮小した場合の、本体要素および各部品要素の寸法を求める。また例えば、上述の例で、図７の警告表示ウィンドウＷ１中の表において「サイズ」の項目の値に制約条件の下限値を下回る値がない状態で「指定値で更新」ボタンが押下された場合、ステップＳ２２で、各部品要素の「サイズ」の項目に入力された値を変更後の寸法とすればよい。また、この例の場合、本体要素の変更後の寸法は、ステップＳ１２で求めた値を用いればよい。なお、上述の例で「元に戻す」ボタンが押下された場合、処理対象の設計データ中の各構成要素の寸法を、そのまま、ステップＳ２２で求める変更後の寸法とすればよい。この場合にステップＳ２２で求められる各構成要素の寸法は、ステップＳ１０で特定された変更指示に従った変更を行う前の値であると言える。あるいは、例えば、「元に戻す」ボタンが押下された場合はステップＳ２２の処理を省略するようにしてもよい。
【００４８】
ステップＳ２２の後、設計データ処理部１３０は、設計データ記憶部１００中の処理対象の設計データにおいて、ステップＳ２２で求めた各構成要素の寸法を反映させる（ステップＳ２４）。ステップＳ２４の後、図６の例の手順の処理は終了する。
【００４９】
図６のステップＳ２０で制約条件を満たす範囲内での変更指示を待ち受ける間に、図７を参照する例において、「サイズ」の項目の値のうち対応する下限値を下回るものがある状態で「指定値の更新」ボタンが押下された場合、設計データ処理部１３０の表示制御部１３６は、例えば、図８に示すようなメッセージを表示部１４０に表示させてもよい。図８に例示するウィンドウＷ２は、各部品要素の「サイズ」の項目に下限値より大きな値を入力することをユーザに促すメッセージを表示する。図８の例のメッセージを表示させた後、設計データ処理部１３０は、引き続き、制約条件を満たす範囲内での変更指示を待ち受ける。
【００５０】
なお、図７および図８を参照する上述の具体例は、本体要素を縮小する指示に従って部品要素を縮小すると、寸法の最小値を定める制約条件に違反する場合の例である。寸法の最大値を定める制約条件が設定された部品要素が本体要素に付加されており、本体要素を拡大する指示に従って部品要素を拡大すると制約条件に違反する場合、ステップＳ１８で、例えば、図７の例の警告表示ウィンドウＷ１と同様の警告表示において、各部品要素の「下限値」の代わりに「上限値」を表示し、「下限値を下回らないよう更新」ボタンの代わりに「上限値を超えないよう更新」ボタンを表示させればよい。この警告表示を行った場合に、ある部品要素について上限値を超える「サイズ」が入力された状態で「指定値で更新」ボタンが押下されると、上限値より小さな値を設定することを促すメッセージを表示させればよい。
【００５１】
図６を参照して説明した例の手順によると、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法も変更する場合に、各部品要素の寸法の制約条件に違反するような変更は回避される。
【００５２】
［第２実施形態］
第２実施形態の例では、各部品要素について、寸法の最大値や最小値を表す制約条件を設定しておく代わりに、各部品要素の本体要素における配置面と各部品要素の寸法の範囲との組合せに適した形状を設定する。第２実施形態の例では、本体要素の寸法の変更に応じて本体要素に付加された部品要素の寸法が変更される場合に、当該部品要素の配置面および変更後の寸法に応じて、当該部品要素の形状の変更の要否の判定が行われる。
【００５３】
図９に、第２実施形態の例による設計支援装置１０の内部構成の概略を示す図である。図９において、図１と同様の要素には図１と同様の符号を付し、その詳細な説明を省略する。図９の例の設計支援装置１０は、設計データ処理部１３０において、制約条件判定部１３４の代わりに部品形状管理部１３５を備える点で、図１の例の設計支援装置１０と異なる。また、第２実施形態の例では、部品ＤＢ１１０において、各部品要素の寸法の最大値や最小値を表す制約条件の代わりに、各部品要素の配置面および寸法の組合せに応じた形状を記憶する。
【００５４】
図１０に、第２実施形態の例における部品ＤＢ１１０のデータ内容の例を示す。図１０の例の表は、部品種別、貼り付け面、Ｘサイズ、Ｙサイズ、および部品形状の各項目を含む。部品種別は、部品要素の種別を表す。部品要素の種別は、例えば、部品要素をその機能に基づいて分類した場合の種別であってよい。図１０では、部品種別として「開封部品」を示す。開封部品は、包装用のパッケージを開封するための機能を有する部品である。貼り付け面とは、本体要素において部品要素が配置される面を表す。図１０の例では、貼り付け面として、「正面」、「側面」、および「上面」を示す。本例では、本体要素の形状を直方体であるとし、直方体の６つの面のうち、面積が最大である２つの面を「正面」、面積が最小である２つの面を「上面」、面積が２番目に大きい（小さい）２つの面を「側面」と呼ぶ（図１１参照）。図１０の例の表のＸサイズおよびＹサイズの各項目は、それぞれ、部品要素を２次元平面上で表す場合のＸ軸方向およびＹ軸方向の寸法の範囲を表す。部品形状の項目は、対応する貼り付け面、Ｘサイズ、およびＹサイズの組合せに応じた、当該部品要素の形状を表す。例えば、図１０の行Ｌ１を参照すると、部品種別が開封部品である部品要素の貼り付け面が本体要素の「正面」であり、当該部品要素のＸ軸方向の寸法が１５ｍｍ未満、かつＹ軸方向の寸法が１５ｍｍ未満である場合、当該部品要素の形状は、行Ｌ１の「部品形状」の項目で示される形状に設定される。また、行Ｌ２の「部品形状」は、貼り付け面が正面であり、Ｘ軸方向の寸法が１５ｍｍ以上５０ｍｍ未満、かつＹ軸方向の寸法が１５ｍｍ以上３５ｍｍ未満の場合の当該部品要素の形状を表す。同様に、行Ｌ３の「部品形状」は、貼り付け面が正面であり、Ｘ軸方向の寸法が５０ｍｍ以上、かつＹ軸方向の寸法が３５ｍｍ以上の場合の当該部品要素の形状を表す。また、図１０の例の表の行Ｌ４では、ＸサイズおよびＹサイズの項目には値が設定されていない。行Ｌ４は、「開封部品」である部品要素の貼り付け面が「側面」であれば、当該部品要素の寸法にかかわらず、当該部品要素を行Ｌ４の「部品形状」の項目で表される形状に設定することを表す。また、行Ｌ５，Ｌ６には、Ｘサイズの項目に値の設定がない。行Ｌ５，Ｌ６は、「開封部品」である部品要素の貼り付け面が「上面」である場合、当該部品要素のＸ軸方向の寸法にかかわらず、Ｙ軸方向の寸法が１５ｍｍ以下であれば行Ｌ５の「部品形状」に、Ｙ軸方向の寸法が１５ｍｍ未満であれば行Ｌ６の「部品形状」に、当該部品要素の形状を設定することを表す。図１０の例の表は、「開封部品」である部品要素が取り得る複数の形状のそれぞれについて、適切な部品要素の貼り付け面および寸法の値の範囲を定める情報であるとも捉えられる。
【００５５】
第２実施形態の例において設計データ記憶部１００に記憶される設計データは、各部品要素に関し、当該部品要素の部品種別に応じて部品ＤＢ１１０から読み出された図１０の例の表のような情報と、当該部品要素の本体要素における現在の貼り付け面（配置面）を表す情報と、当該部品要素の現在の寸法と、を含む。一具体例として、図１２に例示する設計対象物Ｄ２の設計データの場合を考える。設計対象物Ｄ２は、包装用パッケージである。設計対象物Ｄ２の本体要素には、フタに相当する部分に爪（部品要素４）が開封部品として設けられる。設計対象物Ｄ２は、部品要素４の爪を図示しない穴の部分に差し込むことで当該爪を固定するようにしたデザインを有する。部品要素４の寸法（サイズ）は、Ｘ軸方向６０ｍｍ，Ｙ軸方向４０ｍｍであり、貼り付け面は、本体要素の正面であるとする。設計対象物Ｄ２の設計データは、部品要素４に関し、現在の寸法「Ｘ×Ｙ＝６０ｍｍ×４０ｍｍ」および現在の貼り付け面「正面」を表す情報と共に、開封部品の貼り付け面、寸法、および部品形状を示す図１０の例の表の情報を含む。なお、図１２に例示する部品要素４は、その貼り付け面および寸法が図１０の例の表の行Ｌ３の設定値に該当するため、行Ｌ３の部品形状が示すとおり、２本の爪を含む形状を有する。設計対象物Ｄ２の設計データは、部品要素４の現在の形状を表す情報も含む。
【００５６】
図９の説明に戻り、設計データ処理部１３０の位置／形状管理部１３２は、部品要素が付加された本体要素の寸法を変更する指示に応じて、上述の第１実施形態の例と同様に、位置／形状管理部１３２が当該部品要素の変更後の寸法を求める。さらに、位置／形状管理部１３２は、指示に従って本体要素の寸法を変更した後、当該部品要素の貼り付け面が本体要素の正面、側面、および上面のいずれになるかを確認する。例えば、本体要素の変更後の寸法を用いて、当該部品要素の貼り付け面の面積と、本体要素の他の各面の面積と、を求めて比較することで確認すればよい。本体要素の寸法の変更によって当該部品要素の貼り付け面の面積が変化することで、本体要素の寸法の変更の前後で、部品要素の貼り付け面が正面、側面、および上面のうちの１つから他の種類の面に変化する場合がある。このため、第２実施形態の例の位置／形状管理部１３２は、本体要素の寸法の変更の指示に従って、部品要素の変更後の寸法だけでなく、本体要素の寸法を変更した後の部品要素の貼り付け面の情報も求める。求めた変更後の寸法および貼り付け面の情報は、位置／形状管理部１３２により、設計データ記憶部１００中の設計データに反映される。
【００５７】
設計データ処理部１３０の部品形状管理部１３５は、部品ＤＢ１１０の設定内容に従って、部品要素の形状を管理する。例えば、本体要素の寸法を変更する指示に応じて、位置／形状管理部１３２が上述のように当該部品要素の変更後の寸法および貼り付け面を求めた場合、この変更後の寸法および貼り付け面に応じて、当該部品要素の形状を変更するか否かを判定する。この判定は、設計データ中の当該部品要素に関して貼り付け面および寸法に応じた形状を定義する情報（図１０参照）に基づいて行えばよい。例えば、部品要素の変更後の寸法および貼り付け面に対応する形状が現在の形状と同じであれば、形状の変更は不要であると判定し、部品要素の変更後の寸法および貼り付け面に対応する形状が現在の形状と異なっていれば、形状の変更が必要であると判定する。形状の変更が必要である場合、部品形状管理部１３５は、設計データ記憶部１００中の設計データにおいて、当該部品要素の形状を、変更後の寸法および貼り付け面に対応した形状に変更する。
【００５８】
図１３は、図９の例の設計支援装置１０が実行する処理の手順の例を示すフローチャートである。設計支援装置１０の設計データ処理部１３０は、操作受付部１２０を介して取得したユーザの操作指示が、設計データ中の本体要素の寸法を変更する指示である場合に、図１３の例の手順の処理を開始する。
【００５９】
図１３のステップＳ１０で変更指示の内容を特定する処理は、第１実施形態の例の処理における図６の例の手順のステップＳ１０と同様であってよい。
【００６０】
ステップＳ１０の後、設計データ処理部１３０の位置／形状管理部１３２は、変更指示に従った変更後の本体要素の寸法と、各部品要素の変更後の寸法および貼り付け面と、を求める（ステップＳ３０）。本体要素および各部品要素の変更後の寸法を求める処理は、図６のステップＳ１２を参照して説明した処理と同様であってよい。各部品要素の貼り付け面は、例えば、本体要素の変更後の寸法を用いて本体要素の各面の面積を求め、各部品要素の配置された面が、正面（面積最大）、側面（面積が２番目に大きい）、および上面（面積最小）のいずれであるかを特定することで求めればよい。なお、本体要素の６面のうち４面の面積が等しく、正面と側面との区別または上面と側面との区別が付かない場合は、正面（または上面）と側面とのうちの一方の面を各部品要素の貼り付け面として選択してよい。例えば、本体要素において面積最大である４面のうちの１面に部品要素が配置されている場合に当該部品要素の貼り付け面を正面および側面のうちのいずれとみなすか、予め決定しておけばよい。同様に、本体要素において面積最小である４面のうちの１面に部品要素が配置されている場合に当該部品要素の貼り付け面を上面および側面のうちのいずれとみなすかについても、予め決定しておいてよい。なお、本体要素が立方体である（すべての面の面積が等しい）場合は、正面、側面、および上面のうち任意の面を各部品要素の貼り付け面として選択してよい。例えば、本体要素が立方体である場合は部品要素の貼り付け面を正面とみなす、などのように予め決定しておけばよい。
【００６１】
ステップＳ３０の後、設計データ処理部１３０の部品形状管理部１３５は、各部品要素の変更後の寸法および貼り付け面に応じた形状を確認する（ステップＳ３２）。ステップＳ３２で、部品形状管理部１３５は、例えば、処理対象の設計データから、各部品要素についてその貼り付け面と寸法とに応じた形状を定義する情報を読み出し、読み出した情報において、当該部品要素の変更後の寸法および貼り付け面に対応づけられた形状を特定する。例えば、当該部品要素の貼り付け面について設定された寸法の値の範囲のうち、どの範囲が当該部品要素の変更後の寸法を含むかを特定し、特定された寸法の値の範囲に対応づけられた形状を、当該部品要素の変更後の寸法および貼り付け面に応じた形状として特定する。
【００６２】
すべての部品要素についてステップＳ３２で確認した形状が現在の形状と同じである場合、部品要素の形状の変更は不要であることから、ステップＳ３４でＮＯ判定されて、処理はステップＳ４０に進む。ステップＳ４０で、設計データ処理部１３０は、変更後の本体要素および部品要素の寸法を設計データに反映させる。つまり、設計データ記憶部１００中の設計データにおいて、本体要素および各部品要素の寸法を変更後の値に書き換える。ここでは、部品要素の形状は変更されない。
【００６３】
１以上の部品要素についてステップＳ３２で確認した形状と現在の形状とが異なる場合、部品要素の形状の変更が必要であるため、ステップＳ３４でＹＥＳ判定されて、処理はステップＳ３６に進む。ステップＳ３６で、設計データ処理部１３０は、処理対象の設計データにおいて、本体要素の変更後の寸法と各部品要素の変更後の寸法とを反映させ、かつ、形状の変更が必要な部品要素の形状をステップＳ３２で確認した形状に設定する。
【００６４】
ステップＳ３６の後、設計データ処理部１３０の表示制御部１３６は、本体要素の寸法の変更に伴って部品要素の形状を変更した旨を表す情報を表示部１４０に表示させる（ステップＳ３８）。
【００６５】
ステップＳ３８またはステップＳ４０の後、図１３の例の手順の処理は終了する。
【００６６】
以下、図１２、図１４、および図１５を参照し、図１３の例の手順により部品要素の形状が変更される様子の具体例を説明する。本具体例では、まず、図１２に例示する設計対象物Ｄ２の本体要素を縮小する指示が行なわれ、図１３の例の手順の処理が実行されるとする。図１３のステップＳ３０で、部品要素４の変更後のＸ軸方向およびＹ軸方向の寸法として、それぞれ、４０ｍｍおよび２７ｍｍが求められたとする。また、部品要素４の貼り付け面は、本体要素の寸法の変更の前後を通じて、「正面」であるとする。この場合、ステップＳ３２で、部品形状管理部１３５は、設計対象物Ｄ２の設計データにおいて、部品要素４についての寸法および貼り付け面に応じた形状を定義する情報（図１０の例の表）を参照し、部品要素４の変更後の寸法（Ｘ×Ｙ＝４０ｍｍ×２７ｍｍ）および貼り付け面（正面）に対応する形状として、図１０の表の行Ｌ２の「部品形状」を特定する。本体要素の寸法の変更前の部品要素４の形状は、図１０の表の行Ｌ３の「部品形状」の形状であることから、図１３のステップＳ３４で、部品要素４の形状の変更が必要であると判定される。ステップＳ３６で、本体要素の変更後の寸法と、部品要素４の変更後の寸法および形状（図１０の行Ｌ２）とが設計データに反映される。そして、ステップＳ３８で、表示制御部１３６は、例えば図１４のような表示画面を表示部１４０に表示させることで、本体要素の寸法の変更に伴い、部品要素４の形状が変更された旨をユーザに通知する。図１４の例の表示画面に示される設計対象物Ｄ２´は、設計対象物Ｄ２の本体要素および部品要素４の寸法の変更と部品要素４の形状の変更とを反映させた設計データが表すパッケージのデザインの図の例である。
【００６７】
図１５を参照し、部品要素４の貼り付け面が変更される場合の例を説明する。図１２の例の設計対象物Ｄ２または図１４の例の設計対象物Ｄ２´に対して、本体要素の縦／横／奥行きの比率を変更するような指示が行なわれ、これに伴って部品要素４の貼り付け面が正面から上面（本体要素において面積最小の面）に変更されるとする。また、図１３のステップＳ３０で求められる変更後の部品要素４の寸法がＸ軸方向４０ｍｍ，Ｙ軸方向２７ｍｍであるとする。この場合、図１３のステップＳ３２で、部品形状管理部１３５は、部品要素４の変更後の寸法および貼り付け面に対応する形状として、図１０の例の表の行Ｌ５の部品形状を特定する。さらに、表示制御部１３６は、図１３のステップＳ３８で、図１５の例の表示画面を表示させて、部品要素４の貼り付け面の変更に伴い、形状が変更された旨をユーザに通知する。
【００６８】
なお、部品要素４の変更後のＸ軸方向およびＹ軸方向の寸法が、それぞれ、図１０の例の表において異なる行の「Ｘサイズ」および「Ｙサイズ」の範囲に該当することもあり得る。一具体例として、部品要素４の貼り付け面が正面であって、部品要素４の寸法がＸ軸方向４５ｍｍかつＹ軸方向４０ｍｍの場合、図１０の行Ｌ２のＸサイズ、行Ｌ３のＹサイズに該当する。このような場合、例えば、行Ｌ２，Ｌ３の一方の部品形状を選択して用いればよい。ＸサイズおよびＹサイズのいずれに対応する部品形状を用いるか、予め決定しておいてもよい。あるいは、例えば、当該部品要素のＸ軸方向およびＹ軸方向の一方の寸法の変更を促す情報を表示部１４０に表示させ、当該部品要素の寸法を、図１０の例の表の１行で定められるＸサイズおよびＹサイズの両方の値の範囲に該当する寸法に変更するようにしてもよい。この例では、図１０の表の１行におけるＸサイズおよびＹサイズの両方の値の範囲に該当するように部品要素の寸法を変更した上で、当該部品要素の形状を特定すればよい。
【００６９】
第２実施形態の例によると、本体要素の寸法の変更に伴って部品要素の貼り付け面や寸法が変更される場合に、当該部品要素の形状は、当該部品要素の変更後の貼り付け面および寸法に応じた形状に自動的に変更される。
【００７０】
なお、以上では、本体要素の形状が直方体である場合を具体例として説明したが、本体要素の形状は直方体の他の多面体であってもよい。例えば、多面体の各面の面積の大小関係に応じて面の種類を定義し、定義した面の種類ごとに、部品要素の寸法の値の範囲と形状との組を部品ＤＢ１１０に記憶させておけば、第２実施形態の例の処理を上記の説明と同様に実行し得る。
【００７１】
［変形例など］
本発明の実施の形態は、上述の第１実施形態および第２実施形態の例の態様に限定されず、各種の変形例があってよい。
【００７２】
上記の第１実施形態および第２実施形態の説明では、本体要素に部品要素がすでに配置された状態で、本体要素の寸法を変更する場合の処理の例を述べた。第１実施形態の例の制約条件に基づく寸法の確認および第２実施形態の例のような形状の確認は、本体要素の寸法の変更指示が行なわれた時点の他のタイミングで行ってもよい。
【００７３】
例えば、第１実施形態の変形例において、設計データ処理部１３０は、本体要素に新たな部品要素を配置する指示を受けた場合に、当該部品要素の部品名に対応する寸法の制約条件を確認し、当該制約条件を満たす範囲内の寸法を当該部品要素の現在の寸法として設計データ中に設定する。また、例えば、本体要素の寸法の変更指示ではなく、部品要素自体の寸法の変更指示を受けた場合に、その指示に従った変更後の部品要素の寸法が制約条件を満たしているか否かを判定し、満たしていない場合に上述の図６のステップＳ１８以降の処理を行ってもよい。
【００７４】
また、第２実施形態の変形例において、設計データ処理部１３０は、本体要素に新たな部品要素を配置する指示を受けた場合に、当該部品要素の部品種別に対応する形状の情報（図１０参照）を部品ＤＢ１１０から読み出し、当該部品要素の形状を、指示された貼り付け面および寸法に応じた形状に設定する。また、例えば、すでに本体要素に付加された部品要素を、本体要素の他の面に移動させる指示を受けた場合に、移動後の貼り付け面に対応する形状を確認して、現在の形状と異なっていれば当該部品要素の形状を変更するようにしてもよい。また、部品要素自体の寸法の変更指示に応じて、変更後の寸法に応じた形状に変更するようにしてもよい。
【００７５】
さらに他の変形例では、第１実施形態の例による寸法の制約条件に関する処理と、第２実施形態の例による部品の形状に関する処理と、の両方を行ってもよい。例えば、部品ＤＢ１１０において、部品種別ごとに、図１０の例のような表の情報に加えて、各部品要素の寸法について許容される値の範囲を設定しておき、本体要素の寸法の変更指示に応じて、各部品要素の変更後の寸法の制約条件の確認と、変更後の寸法および貼り付け面に応じた形状の確認と、を行う。本変形例では、例えば、まず、図６の例のステップＳ１０〜Ｓ１６の処理を行って、各部品要素の変更後の寸法が制約条件を満たしているか否かを判定し、すべての部品要素が制約条件を満たしていれば（ステップＳ１６でＮＯ）、図１３の例のステップＳ３２以降の処理を行い、各部品要素の形状を、変更後の寸法に応じた形状に設定する。一方、寸法の制約条件を満たさない部品要素がある場合（ステップＳ１６でＹＥＳ）、警告を表示し（ステップＳ１８）、制約条件を満たす範囲内でのさらなる変更指示を待ち受ける（ステップＳ２０でＮＯ判定のループ）。制約条件を満たす範囲内でのさらなる変更指示を受けた場合（ステップＳ２０でＹＥＳ）、図１３のステップＳ３２以降の処理により、各部品要素の形状を、図６のステップＳ２０で受け付けた指示に従った変更後の寸法に応じた形状に設定する。
【００７６】
また、第２実施形態の他の変形例において、部品要素の貼り付け面についての設定を省略してもよい。この変形例の場合、部品要素の寸法について異なる値の範囲に応じて、部品要素の形状を設定しておき、部品要素の寸法が変更される場合に、部品要素の形状を、変更後の寸法に応じた形状に設定するようにすればよい。
【００７７】
なお、上述の第１実施形態および第２実施形態の例では、本体要素に部品要素が付加される場合、部品ＤＢ１１０に記憶された当該部品要素に関する情報を部品ＤＢ１１０から取得して設計データ中に組み込み、設計データを参照して制約条件や部品要素の形状の確認を行う。各実施形態の変形例では、本体要素に付加された各部品要素について、部品名または部品種別、現在の寸法、位置、および形状のみを設計データに記述しておき、寸法の制約条件または形状の情報を用いる処理の実行時に、部品名または部品種別をキーにして部品ＤＢ１１０内を検索して制約条件または形状の情報を部品ＤＢ１１０から取得してもよい。
【００７８】
また、以上では、包装用のパッケージの設計を例にとり各実施形態および変形例を説明したが、設計対象物は、包装用のパッケージに限られない。本体要素に部品要素を付加することで設計される設計対象物であれば、上述の各種の実施形態および変形例の処理を同様に実行してよい。また、上記の説明において用いた具体例の設計対象物のデザインは、いずれも、３次元で表現されるが、２次元で表現されるデザインについても、上述の各種の実施形態および変形例の処理は同様に実行してよい。
【００７９】
上述の設計支援装置１０は、典型的には、汎用のコンピュータにて上述の設計支援装置１０の各部の機能または処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図１６に示すように、ＣＰＵ（中央演算装置）８０、メモリ（一次記憶）８２、各種Ｉ／Ｏ（入出力）インタフェース８４等がバス８６を介して接続された回路構成を有する。また、そのバス８６に対し、例えばＩ／Ｏインタフェース８４経由で、ＨＤＤ（ハードディスクドライブ）８８やＣＤやＤＶＤ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ９０が接続される。このようなドライブ８８又は９０は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、またはネットワーク経由で、ＨＤＤ８８等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されＣＰＵにより実行されることにより、実施形態の処理が実現される。
【００８０】
なお、以上では、設計支援装置１０を１台のコンピュータにより実現する実施形態および変形例を説明したが、設計支援装置１０の上述の例の各種の機能を複数のコンピュータに分散させて実現してもよい。
【符号の説明】
【００８１】
１０  設計支援装置、８０  ＣＰＵ、８２  メモリ、８４  Ｉ／Ｏインタフェース、８６  バス、８８  ＨＤＤ、９０  ディスクドライブ、１００  設計データ記憶部、１１０  部品ＤＢ、１２０  操作受付部、１３０  設計データ処理部、１３２  位置／形状管理部、１３４  制約条件判定部、１３５  部品形状管理部、１３６  表示制御部、１４０  表示部。
【図１】
0005581951.tif 000002
【図２】
0005581951.tif 000003
【図３Ａ】
0005581951.tif 000004
【図３Ｂ】
0005581951.tif 000005
【図４】
0005581951.tif 000006
【図５】
0005581951.tif 000007
【図６】
0005581951.tif 000008
【図７】
0005581951.tif 000009
【図８】
0005581951.tif 000010
【図９】
0005581951.tif 000011
【図１０】
0005581951.tif 000012
【図１１】
0005581951.tif 000013
【図１２】
0005581951.tif 000014
【図１３】
0005581951.tif 000015
【図１４】
0005581951.tif 000016
【図１５】
0005581951.tif 000017
【図１６】
0005581951.tif 000018