設計支援装置およびプログラム
【課題】本体の寸法の変更に応じて本体に付加された部品の寸法が変更される場合に、部品の制約条件に違反した設計データが生成されることを防止する。
【解決手段】設計データ処理部130の位置/形状管理部132は、本体と本体に付加された部品とから成る設計対象物を表す設計データを指定して本体の少なくとも一部の寸法を変更する指示を取得し、この指示に従った本体の寸法の変更に応じて設計データに含まれる部品の寸法を変更した場合の変更後の部品の寸法を求める。制約条件判定部134は、各部品の寸法に関する制約条件を記憶した部品DB110から得られる制約条件を参照し、変更後の部品の寸法が当該部品の制約条件を満たすか否かを判定する。表示制御部136は、変更後の部品の寸法が当該部品の制約条件を満たさないと判定された場合に、その旨を表す情報を表示部140に表示させる。
【解決手段】設計データ処理部130の位置/形状管理部132は、本体と本体に付加された部品とから成る設計対象物を表す設計データを指定して本体の少なくとも一部の寸法を変更する指示を取得し、この指示に従った本体の寸法の変更に応じて設計データに含まれる部品の寸法を変更した場合の変更後の部品の寸法を求める。制約条件判定部134は、各部品の寸法に関する制約条件を記憶した部品DB110から得られる制約条件を参照し、変更後の部品の寸法が当該部品の制約条件を満たすか否かを判定する。表示制御部136は、変更後の部品の寸法が当該部品の制約条件を満たさないと判定された場合に、その旨を表す情報を表示部140に表示させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、設計支援装置およびプログラムに関する。
【背景技術】
【0002】
製品や部品などの設計を支援する技術が開発されている。例えば特許文献1には、3DCADに適用される部品設計支援方法が開示されている。特許文献1に記載の技術では、登録されたフィーチャー形状(部品の形状)の数値パラメータを決定することで作られるフィーチャー形状に対して、各種の制約を予め設定しておき、ユーザが作成した形状が制約に対して適合しない場合に、対象箇所を表示装置に表示させたり、フィーチャー形状の修正について改善案を提示したりする。予め設定される制約の例としては、製造上許容されるサイズ、複数のフィーチャー形状を配置する場合の個々のフィーチャー形状間の製造上許容される配置距離、および個々のフィーチャー形状とモデル外径端部や曲げ部との間の製造上許容される配置距離などが挙げられている。
【0003】
特許文献2には、設計のベースとなる製品の仕様の複数の基本項目を仕様項目とし、各仕様項目にそれぞれ仕様値を設定して製品を設計することを支援するシステムが開示されている。特許文献2に記載のシステムは、各仕様項目に対して仕様値の取り得る制約条件を記述した仕様構成情報データベースを備え、この制約条件に基づいて、各仕様項目に対する設計者による仕様値の入力を誘導する設計画面を表示させる。
【0004】
また、特許文献3には、設計の手順を誘導することで設計を支援する技術が開示されている。特許文献3に記載の技術では、部品の形状/組立の定義に必要な属性を提示する方法を記述した属性活性化情報、その属性に対する制約を記述した制約情報、およびその属性の値に基づき形状データまたは組立データを作成する方法を記述した設計結果生成情報から構成される設計プロセス要素をDBに持ち、設計の段階毎に利用可能な設計プロセス要素を提示して、設計者がそれを組み合わせて設計を行い、必要に応じて設計プロセス要素に記述されている設計のチェックを自動的に行う。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−102282号公報
【特許文献2】特開2006−155601号公報
【特許文献3】特開平10−214276号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、設計支援装置において、設計対象物の全体の形状を定める本体要素に対して部品要素が付加された状態で、本体要素の寸法を変更する指示を受け付けた場合に、本体要素の寸法を変更すると共に、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法も変更する処理を行う場合がある。
【0007】
本発明の目的は、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法が変更される場合に、部品要素の制約条件に違反した設計情報が生成されることを防止する設計支援装置およびプログラムを提供することである。
【課題を解決するための手段】
【0008】
請求項1に係る発明は、本体要素と前記本体要素に付加された部品要素とから成る設計対象物を表す設計情報を指定して前記本体要素の少なくとも一部の寸法を変更する指示の入力を受け付けて、前記指示に従った前記本体要素の寸法の変更に応じて前記設計情報に含まれる前記部品要素の寸法を変更した場合の変更後の前記部品要素の寸法を求める処理を行う処理手段と、前記本体要素に付加される部品要素それぞれの寸法に関する制約条件を記憶した記憶手段を参照し、前記処理手段が求めた変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たすか否かを判定する判定手段と、前記判定手段において前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、その旨を表す情報を出力する出力手段と、を備えることを特徴とする設計支援装置である。
【0009】
請求項2に係る発明は、請求項1に係る発明において、前記処理手段は、さらに、前記判定手段において前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、前記部品要素の寸法が前記制約条件を満たす範囲内で、前記指示に応じて前記本体要素および前記部品要素を拡大または縮小した結果の前記本体要素および前記部品要素の寸法を含む前記設計情報を生成する。
【0010】
請求項3に係る発明は、請求項1または2に係る発明において、前記記憶手段において、前記本体要素に付加される部品要素それぞれに対して複数の前記制約条件を記憶し、複数の前記制約条件のそれぞれは、当該部品要素がとり得る複数の形状のそれぞれに対応づけられ、かつ当該形状を有する当該部品要素の寸法として許容される値の範囲を表し、前記判定手段は、さらに、前記変更後の前記部品要素の寸法が、前記部品要素に対する複数の前記制約条件のうちのどの制約条件が表す値の範囲に含まれるかを判定し、前記処理手段は、前記判定手段により前記変更後の前記部品要素の寸法を含む値の範囲を表すと判定された制約条件に対応づけられた形状を有し、かつ前記変更後の前記部品要素の寸法を有する前記部品要素と、前記変更後の前記本体要素の寸法を有する前記本体要素と、から成る前記設計対象物を表す前記設計情報を生成する。
【0011】
請求項4に係る発明は、請求項3に係る発明において、前記記憶手段は、さらに、前記本体要素に付加される部品要素それぞれについて、前記本体要素において当該部品要素が配置され得る面ごとに、前記制約条件と当該部品要素の形状との組を記憶し、前記判定手段は、前記変更後の前記部品要素の寸法が、前記本体要素において前記部品要素が配置された面に対応する前記制約条件のうちのどの制約条件が表す値の範囲に含まれるかを判定する。
【0012】
請求項5に係る発明は、請求項3または4に係る発明において、前記出力手段は、さらに、前記判定手段により前記変更後の前記部品要素の寸法を含む値の範囲を表すと判定された制約条件に対応づけられた形状が、前記指示の入力を受け付けた時点での前記部品要素の形状と異なる場合に、その旨を表す情報を出力する。
【0013】
請求項6に係る発明は、請求項1から5のいずれか1項に係る発明において、前記設計情報を指定して、前記本体要素に新たな部品要素を付加する指示の入力を受け付けた場合に、当該新たな部品要素の寸法に関し、前記判定手段における判定処理を実行する。
【0014】
請求項7に係る発明は、請求項1から6のいずれか1項に係る発明において、前記設計情報を指定して、前記設計情報に含まれる前記部品要素の寸法を変更する指示の入力を受け付けた場合に、当該指示に係る変更後の前記部品要素の寸法に関し、前記判定手段における判定処理を実行する。
【0015】
請求項8に係る発明は、コンピュータに、本体要素と前記本体要素に付加された部品要素とから成る設計対象物を表す設計情報を指定して前記本体要素の少なくとも一部の寸法を変更する指示の入力を受け付けて、前記指示に従った前記本体要素の寸法の変更に応じて前記設計情報に含まれる前記部品要素の寸法を変更した場合の変更後の前記部品要素の寸法を求める処理を行う処理ステップと、前記本体要素に付加される部品要素それぞれの寸法に関する制約条件を記憶した記憶手段を参照し、前記処理ステップで求めた変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たすか否かを判定する判定ステップと、前記判定ステップにおいて前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、その旨を表す情報を出力する出力ステップと、を実行させるためのプログラムである。
【発明の効果】
【0016】
請求項1または8に係る発明によると、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法が変更される場合に、部品要素の制約条件に違反した設計情報が生成されることを防止できる。
【0017】
請求項2に係る発明によると、部品要素の制約条件を満たす範囲内で、本体要素の寸法の変更指示に従った、本体要素および部品要素の拡大または縮小を実行できる。
【0018】
請求項3に係る発明によると、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法が変更される場合に、部品要素の形状を、部品要素の変更後の寸法に適した形状に設定できる。
【0019】
請求項4に係る発明によると、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法が変更される場合に、部品要素の形状を、本体要素において部品要素が配置された面と当該部品要素の変更後の寸法とに適した形状に設定できる。
【0020】
請求項5に係る発明によると、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法が変更されることにより、部品要素の形状が変更された場合に、その旨を利用者に通知できる。
【0021】
請求項6に係る発明によると、本体要素に新たな部品要素が付加される場合に、当該新たな部品要素の制約条件に違反した設計情報の生成を防止できる。
【0022】
請求項7に係る発明によると、部品要素の寸法を変更が指示された場合に、当該部品要素の制約条件に違反した設計情報の生成を防止できる。
【図面の簡単な説明】
【0023】
【図1】設計支援装置の内部構成の概略の例を示す図である。
【図2】設計データの内容の例を模式的に示す図である。
【図3A】図2に示す設計データが表す設計対象物を図式的に示した例の図である。
【図3B】図2に示す設計データが表す設計対象物を図式的に示した例の図である。
【図4】部品DBのデータ内容の例を示す図である。
【図5】表示部に表示される表示画面の例を示す図である。
【図6】設計支援装置が実行する処理の手順の例を示すフローチャートである。
【図7】警告表示の例を示す図である。
【図8】警告表示の他の例を示す図である。
【図9】設計支援装置の内部構成の概略の他の例を示す図である。
【図10】部品DBのデータ内容の他の例を示す図である。
【図11】部品要素の貼り付け面について説明するための図である。
【図12】設計対象物の他の例を示す図である。
【図13】設計支援装置が実行する処理の手順の他の例を示すフローチャートである。
【図14】部品要素の形状を変更した旨を表示する表示画面の例を示す図である。
【図15】部品要素の形状を変更した旨を表示する表示画面の他の例を示す図である。
【図16】コンピュータのハードウエア構成の例を示す図である。
【発明を実施するための形態】
【0024】
[第1実施形態]
図1に、本発明の第1実施形態の例による設計支援装置の内部構成の概略の例を示す。図1に示す設計支援装置10は、設計データ記憶部100、部品DB110、操作受付部120、設計データ処理部130、および表示部140を備える。
【0025】
設計データ記憶部100は、設計対象物の設計データを記憶する。設計データは、設計対象物のデザインを表す情報であり、後述のようにユーザ(設計者)の指示に従って生成される。設計データは、例えば、設計対象物を構成する各要素の種類、形状、寸法、および配置位置などに関する情報を含む。設計データは、CAD(Computer Aided Design)のシステムにおいて一般的に用いられるデータ構造を有していてよい。
【0026】
図2に、設計データ記憶部100に記憶される設計データの内容の一例を模式的に示す。図2の例の設計データは、品物の包装用のパッケージ(箱)のデザインを表す。図2の例の設計データが表すパッケージは、本体要素、部品要素1、部品要素2、および部品要素3の4つの構成要素を備える。また、本例の設計データは、本体要素の形状が直方体であることを表し、この直方体の寸法として幅W,長さL,高さHの値を示す。さらに、本例の設計データは、各部品要素1,2,3について、部品名、形状、位置、寸法、および制約条件の情報を含む。部品名は、部品要素の名称である。本例では、部品名は、部品要素の種類を表す。部品要素1,2の部品名は「切り取りリボン」である。「切り取りリボン」は、パッケージの開封のために切り取られる帯状の部分を意味する。また、「切り取りリボン」である部品要素1,2の形状は、図2に例示するとおりである。部品要素3の部品名は「取っ手用穴」である。「取っ手用穴」は、パッケージの蓋を取り外すときに取っ手として用いられる穴を意味する。「取っ手用穴」である部品要素3の形状は、図2に例示するとおりである。各部品要素の位置は、当該部品要素の配置位置を表す。例えば、本体要素における一点を原点とする3次元座標空間において、各部品要素の中心点の座標値を当該部品要素の「位置」として設計データ中に記述しておけばよい。また、図2の例において、各部品要素の寸法は、当該部品要素の横方向および縦方向(部品要素を2次元平面上で表す場合のX軸方向およびY軸方向)の大きさを示す。各部品要素の制約条件は、当該部品要素の寸法の制約条件であり、図2の例では、各部品要素について許容される寸法の最小値を表す。部品要素の寸法の制約条件は、例えば、当該部品要素の機能が損なわれない部品要素の寸法の最小値を考慮して予め設定される。図2に例示する「切り取りリボン」の場合、パッケージの開封のための切り取りが可能と考えられる寸法の最小値が制約条件として設定される。「取っ手用穴」の場合、取っ手として利用可能と考えられる寸法の最小値が制約条件として設定される。さらに他の例では、例えば文字列を表示する部品要素の制約条件として、文字列の可読性が維持される寸法の最小値を設定しておくことが考えられる。
【0027】
図2の例の設計データが表すパッケージを図式的に表すと、例えば図3Aおよび図3Bに示すとおりになる。図3Aを参照し、パッケージの本体要素である直方体形状の1つの面に部品要素1(切り取りリボン)が配置され、部品要素1が配置された面に隣接する1つの面に、部品要素2が配置されている。また、部品要素1,2は、部品要素1の一方の端部と部品要素2の一方の端部とが互いに接するように配置されている。図3Bは、図3Aに示すパッケージを矢印Xの方向から見た場合の例を示す。図3Bを参照し、部品要素3は、部品要素1の配置面に対向する面であって部品要素2の配置面に隣接する面に配置されている。
【0028】
なお、図2は、設計データの内容の具体的な態様を限定するものではない。また、設計データは、図2に例示する内容の他の情報を含んでいてよい。例えば、設計データは、図2の例の内容の他にも、設計対象物の図面を表示部140に表示させるために必要な各種の情報を含んでいてよい。
【0029】
図1の説明に戻り、部品DB110は、本体要素に付加され得る部品要素に関する情報を予め記憶したデータベースである。部品DB110には、各部品要素について、その種類や名称、形状、および制約条件などを記憶する。ユーザは、本体要素に付加する部品要素を、部品DB110に記憶された部品要素の中から選択する。図4に、部品DB110のデータ内容の一例を示す。
【0030】
図4を参照し、本例の部品DB110は、各部品要素について、部品名、制約条件、および形状の各項目の値を記憶する。部品名は、当該部品要素の名称である。制約条件は、当該部品要素の寸法に関する制約条件である。図4の例では、当該部品要素の寸法として許容される最小値を表す。ただし、当該部品要素の寸法として許容される最大値を表す制約条件、または、許容される最小値および最大値の両方を表す制約条件を設定しておいてもよい。制約条件において最小値および最大値のいずれを設定するかは、当該部品要素の機能に応じて決定すればよい。形状は、当該部品要素の形状を表す。部品DB110に登録された各部品要素の情報は、当該部品要素を含む設計対象物の設計データ中に組み込まれる。例えば、図2の例の設計データを参照し、部品名「切り取りリボン」である各部品要素1,2の情報には、図4の例の部品DB110に登録された「切り取りリボン」の制約条件および形状が含まれている。また、図2に例示する部品要素3(部品名「取っ手用穴」)の情報には、図4の例の部品DB110に登録された「取っ手用穴」の制約条件および形状が含まれている。以上より、部品DB110を、各部品要素のオブジェクトのクラスを定義する情報を記憶したデータベースであると捉え、設計データ中の各部品要素の情報を、当該部品要素のオブジェクトのインスタンスであると捉えてもよい。
【0031】
再び図1を参照し、操作受付部120は、ユーザによる各種の入力を受け付ける。操作受付部120は、例えば、マウスやキーボードなどの図示しない入力装置を用いてユーザが入力した情報を取得し、取得した情報を設計データ処理部130に渡す。
【0032】
設計データ処理部130は、操作受付部120が受け付けたユーザの指示に従って、設計対象物の設計データに対する操作を実行する。設計データ処理部130は、位置/形状管理部132、制約条件判定部134、および表示制御部136を備える。
【0033】
設計データ処理部130は、設計データを新規作成して設計データ記憶部100に格納したり、設計データ記憶部100に記憶された設計データの内容を変更したりする。例えば、設計データ処理部130は、設計対象物の本体要素を選択する指示に従って、選択された本体要素の情報を含む設計データを作成し、作成した設計データを設計データ記憶部100に格納する。また例えば、設計データ処理部130は、設計データ記憶部100中の特定の設計データの本体要素に部品要素を付加する指示に従って、当該指示に係る部品要素の情報を部品DB110から取得し、取得した情報と、現在の設計対象物における当該部品要素の寸法および位置と、を含む部品要素の情報を生成して当該設計データに追加する。また、設計データ処理部130は、特定の設計データ中の部品要素を削除する指示に従って、指示された部品要素を設計データから削除することもある。設計データ処理部130は、さらに、本体要素に付加された部品要素の位置を変更したり、設計対象物の構成要素(本体要素または部品要素)を変形させたりする処理を行う。ここで、構成要素の「変形」とは、拡大縮小や、縦/横/奥行きの比率の変更などを表す。構成要素が変形されると、当該要素の少なくとも一部の寸法が変更されることになる。
【0034】
位置/形状管理部132は、設計データに含まれる各構成要素の位置および寸法を管理する。位置/形状管理部132は、設計データ処理部130において、設計データ中の構成要素の寸法や位置の変更を伴う操作が行われる場合に、変更後の各構成要素の寸法および位置を求める。例えば、位置/形状管理部132は、設計データ中の本体要素の寸法を変更する指示に従って、本体要素の変更後の寸法を求め、かつ、当該本体要素に付加された各部品要素の寸法を本体要素の寸法の変更に応じて変更した場合の、各部品要素の変更後の寸法を求める。一具体例として、本体要素を1/2だけ縮小する指示を受けた場合に、位置/形状管理部132は、現在の本体要素の寸法を1/2倍した寸法を求めると共に、各部品要素についても、現在の寸法を1/2倍した寸法を求める。位置/形状管理部132は、本体要素の寸法の変更に応じて各部品要素の変更後の寸法を求めると、制約条件判定部134に依頼して、当該変更後の寸法が当該部品要素の制約条件を満たしているか否かを判定させる。
【0035】
制約条件判定部134は、設計データに含まれる各部品要素の寸法が制約条件を満たしているか否かを判定する。制約条件判定部134は、例えば、位置/形状管理部132からの上述の依頼を受けて、本体要素の寸法の変更に応じた変更後の各部品要素の寸法を取得する。さらに、処理対象の設計データ中に記述された各部品要素の制約条件を取得する。そして、各部品要素の変更後の寸法が当該部品要素の制約条件を満たしているか否かを判定する。つまり、変更後の寸法が、制約条件によって表される値の範囲内にあるか否かを判定する。
【0036】
制約条件判定部134による判定の結果、すべての部品要素の変更後の寸法が当該部品要素の制約条件を満たしていれば、設計データ処理部130は、処理対象の設計データにおいて、各部品要素および本体要素の寸法をそれぞれ変更後の寸法に書き換える。変更後の寸法が制約条件を満たさない部品要素が存在する場合、設計データ処理部130は、制約条件に違反した状態を解消するための処理を行う。例えば、設計データ処理部130の表示制御部136により、制約条件を満たさない部品要素が存在する旨をユーザに通知する警告を表示部140に表示させる。また例えば、位置/形状管理部132により、各部品要素の制約条件を満たす範囲で、本体要素および各部品要素の寸法を変更するようにしてもよい。例えば、制約条件で示される最小値を下回らないような限界まで、本体要素および各部品要素を縮小したり、制約条件で示される最大値を超えないような限界まで、本体要素および各部品要素を拡大したりする。
【0037】
表示制御部136は、設計データ処理部130における処理の過程や結果を表示部140に表示させるための制御を行う。本実施形態の例の表示制御部136は、表示の内容および態様を指示する表示制御情報を生成して表示部140に渡すことで、表示部140における表示を制御する。表示制御部136は、例えば、設計データ処理部130の処理対象の設計データが表すデザインを表示部140に図式的に表示させる。また、設計データに対する操作を受け付けるための操作メニューの表示画面を表示させることもある。また、表示制御部136は、制約条件判定部134の判定の結果を表す情報を表示部140に表示させることもある。
【0038】
表示部140は、表示制御部136から渡された表示制御情報に従った表示を行う。表示部140は、例えば液晶ディスプレイなどの表示装置であってよい。ユーザは、表示部140に表示される内容を確認して、入力装置を用いて設計データに対する操作の指示を行う。
【0039】
図5に、設計データに対するユーザの操作を受け付けるために表示制御部136が表示部140に表示させる表示画面の一例を示す。図5の例の表示画面には、メニューM、設計対象物D1、および部品要素パレットPが表示されている。メニューMは、設計データに関する操作のメニューを表示する。設計対象物D1の図は、設計データ中に記述された情報に従って表示画面上に描画される。図5に示す設計対象物D1は、図2,図3A,図3Bを参照して上述した例のパッケージであるとする。部品要素パレットPは、部品DB110に登録された各部品要素を表示する。ユーザは、例えばマウスなどの入力装置を用いて、部品要素パレットPに表示された部品要素を選択し、選択した部品要素を設計対象物D1の図上に配置する。この選択および配置の入力を操作受付部120が受け付けて、設計対象物D1の本体要素に、選択された部品要素を付加する指示として設計データ処理部130に渡す。この指示を受け取った設計データ処理部130は、選択された部品要素の情報を設計データに追加する処理を行う。
【0040】
図6は、ユーザが設計データ中の本体要素の寸法を変更する指示を行った場合に、設計支援装置10で実行される処理の手順の例を示すフローチャートである。設計支援装置10の設計データ処理部130は、操作受付部120を介して取得したユーザの操作指示が、設計データ中の本体要素の寸法を変更する指示である場合に、図6の例の手順の処理を開始する。なお、図6の例の手順の処理を開始する前に、設計データ処理部130は、ユーザによる変更指示の対象の設計データを設計データ記憶部100から取得済みであるとする。
【0041】
設計データ処理部130は、まず、本体要素の寸法の変更指示の内容を特定する(ステップS10)。ステップS10では、操作受付部120から取得された変更指示が、本体要素の寸法をどのように変更することを指示するものであるかを特定する。変更指示は、例えば、本体要素の全体を特定の比率で拡大または縮小する指示である。あるいは、例えば、特定の方向に特定の比率で本体要素を拡大または縮小する指示であってもよい。さらに他の例では、本体要素の縦/横/奥行きの比率を変更する指示であってもよい。
【0042】
変更指示の内容が特定されると、設計データ処理部130の位置/形状管理部132は、変更指示に従った変更後の本体要素および各部品要素の寸法を求める(ステップS12)。ステップS12で、位置/形状管理部132は、変更指示に従った変更後の本体要素の寸法を求め、かつ、本体要素の変更に応じて各部品要素の寸法を変更した場合の各部品要素の変更後の寸法を求める。例えば、本体要素の全体を拡大または縮小する変更指示の場合、拡大または縮小後の本体要素の寸法と、本体要素に付加された各部品要素を本体要素の拡大または縮小と同じ比率で拡大または縮小した結果の各部品要素の寸法と、を求める。また、特定の方向に特定の比率で本体要素を拡大または縮小する変更指示または本体要素の縦/横/奥行きの比率を変更する指示の場合、本体要素の面ごとに(本体要素の形状が直方体であれば対向する面の組ごとに)拡大または縮小の比率が異なる場合がある。このような場合は、各部品要素について、当該部品要素が配置された本体要素の面の拡大・縮小の比率を求め、この比率を用いて当該部品要素の拡大・縮小後の寸法(変更後の寸法)を求めるようにすればよい。
【0043】
ステップS12の後、設計データ処理部130の制約条件判定部134は、各部品要素の変更後の寸法が各部品要素の制約条件を満たすか否かを確認する(ステップS14)。制約条件判定部134は、処理対象の設計データに含まれる各部品要素の制約条件を参照し、ステップS12で求められた各部品要素の変更後の寸法が当該部品要素の制約条件で表される範囲内の値であるか否かを確認する。
【0044】
ステップS14の確認の結果、制約条件を満たさない部品要素がない場合(ステップS16でNO)、設計データ処理部130は、ステップS12で求めた変更後の本体要素および部品要素の寸法を設計データに反映させる(ステップS24)。例えば、設計データ記憶部100において、処理対象の設計データに含まれる本体要素および各部品要素の寸法を、それぞれ、変更後の値に書き換える。
【0045】
ステップS14の確認の結果、制約条件を満たさない部品要素がある場合(ステップS16でYES)、表示制御部136は、その旨をユーザに通知するための警告を表示部140に表示させる(ステップS18)。ステップS18では、例えば、制約条件を満たさない部品要素を利用者にとって識別可能とする情報と、当該部品要素の制約条件と、を表示部140に表示させる。図7に、ステップS18で表示される警告の一例を示す。図7は、図5の例の表示画面に表示された設計対象物D1の本体要素の全体を縮小する指示に従って求められた各部品要素の変更後の寸法が制約条件の寸法の下限値を下回る場合の警告表示の例である。図7の例の設計対象物D1´は、設計対象物D1を指示通りに縮小した場合のデザインを表す。図7の例の警告表示ウィンドウW1には、「部品要素のサイズが下限値を下回っています。」とのメッセージが表示され、各部品要素1,2,3の変更後の寸法(サイズ)および制約条件で定められる寸法の下限値を示す表が表示されている。警告表示ウィンドウW1の表中の「サイズ」の項目において、下線が付された数値は、制約条件の下限値を下回る寸法であることを示す。警告表示ウィンドウW1は、さらに、「元に戻す」、「指定値で更新」、「下限値を下回らないよう更新」のメニューボタンを含む。ユーザは、マウスなどの入力装置により、これらのメニューボタンのいずれかを押下する。各メニューボタンが押下された場合の処理については後述する。
【0046】
再び図6を参照し、ステップS18で、制約条件を満たさない部品要素がある旨の警告を表示部140に表示させた後、設計データ処理部130は、制約条件を満たす範囲内でのさらなる変更指示を待ち受ける(ステップS20でNO判定のループ)。さらなる変更指示は、例えば、図7の例の警告表示ウィンドウW1のメニューボタンの押下により受け付けられる。ユーザが「元に戻す」ボタンを押下すると、操作受付部120は、処理対象の設計データ中の本体要素および各部品要素の寸法を変更前の値のまま維持する指示を設計データ処理部130に渡す。ユーザが「指定値で更新」ボタンを押下すると、操作受付部120は、各部品要素の寸法を、警告表示ウィンドウW1の表における各部品要素の「サイズ」の項目に示された値に変更する指示を設計データ処理部130に渡す。なお、本例において、警告表示ウィンドウW1中の表における「サイズ」の項目の値は、ユーザの入力により変更可能であるとする。ユーザが「下限値を下回らないよう更新」ボタンを押下すると、操作受付部120は、各部品要素の寸法が制約条件の下限値を下回らない範囲で本体要素の寸法が最小となるように本体要素を縮小する指示を設計データ処理部130に渡す。上述の各メニューボタンに対応する指示のうち、「元に戻す」ボタンおよび「下限値を下回らないよう更新」ボタンの押下に応じた指示は、制約条件を満たす範囲内での変更指示であると言える。「指定値で更新」ボタンの押下に応じた指示は、警告表示ウィンドウW1中の表における「サイズ」の項目の値のうち、対応する下限値を下回るものがなければ、制約条件を満たす範囲内での変更指示である。「サイズ」の項目の値のうち、対応する下限値を下回るものがある状態で「指定値の更新」ボタンが押下された場合、設計データ処理部130が取得する指示は、制約条件を満たす範囲内での変更指示ではない。
【0047】
図6のステップS18の後、制約条件を満たす範囲内での変更指示を設計データ処理部130が取得すると(ステップ20でYES)、位置/形状管理部132において、当該変更指示に従って各部品要素の変更後の寸法を求める(ステップS22)。ステップS22では、ステップS20で取得された変更指示が本体要素の寸法の変更を伴う場合、本体要素の変更後の寸法も求める。例えば、図7を参照する上述の例で「下限値を下回らないよう更新」ボタンが押下された場合、ステップS22で、位置/形状管理部132は、各部品要素の寸法が制約条件の下限値を下回らない範囲で本体要素の寸法が最小となるように本体要素を縮小した場合の、本体要素および各部品要素の寸法を求める。また例えば、上述の例で、図7の警告表示ウィンドウW1中の表において「サイズ」の項目の値に制約条件の下限値を下回る値がない状態で「指定値で更新」ボタンが押下された場合、ステップS22で、各部品要素の「サイズ」の項目に入力された値を変更後の寸法とすればよい。また、この例の場合、本体要素の変更後の寸法は、ステップS12で求めた値を用いればよい。なお、上述の例で「元に戻す」ボタンが押下された場合、処理対象の設計データ中の各構成要素の寸法を、そのまま、ステップS22で求める変更後の寸法とすればよい。この場合にステップS22で求められる各構成要素の寸法は、ステップS10で特定された変更指示に従った変更を行う前の値であると言える。あるいは、例えば、「元に戻す」ボタンが押下された場合はステップS22の処理を省略するようにしてもよい。
【0048】
ステップS22の後、設計データ処理部130は、設計データ記憶部100中の処理対象の設計データにおいて、ステップS22で求めた各構成要素の寸法を反映させる(ステップS24)。ステップS24の後、図6の例の手順の処理は終了する。
【0049】
図6のステップS20で制約条件を満たす範囲内での変更指示を待ち受ける間に、図7を参照する例において、「サイズ」の項目の値のうち対応する下限値を下回るものがある状態で「指定値の更新」ボタンが押下された場合、設計データ処理部130の表示制御部136は、例えば、図8に示すようなメッセージを表示部140に表示させてもよい。図8に例示するウィンドウW2は、各部品要素の「サイズ」の項目に下限値より大きな値を入力することをユーザに促すメッセージを表示する。図8の例のメッセージを表示させた後、設計データ処理部130は、引き続き、制約条件を満たす範囲内での変更指示を待ち受ける。
【0050】
なお、図7および図8を参照する上述の具体例は、本体要素を縮小する指示に従って部品要素を縮小すると、寸法の最小値を定める制約条件に違反する場合の例である。寸法の最大値を定める制約条件が設定された部品要素が本体要素に付加されており、本体要素を拡大する指示に従って部品要素を拡大すると制約条件に違反する場合、ステップS18で、例えば、図7の例の警告表示ウィンドウW1と同様の警告表示において、各部品要素の「下限値」の代わりに「上限値」を表示し、「下限値を下回らないよう更新」ボタンの代わりに「上限値を超えないよう更新」ボタンを表示させればよい。この警告表示を行った場合に、ある部品要素について上限値を超える「サイズ」が入力された状態で「指定値で更新」ボタンが押下されると、上限値より小さな値を設定することを促すメッセージを表示させればよい。
【0051】
図6を参照して説明した例の手順によると、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法も変更する場合に、各部品要素の寸法の制約条件に違反するような変更は回避される。
【0052】
[第2実施形態]
第2実施形態の例では、各部品要素について、寸法の最大値や最小値を表す制約条件を設定しておく代わりに、各部品要素の本体要素における配置面と各部品要素の寸法の範囲との組合せに適した形状を設定する。第2実施形態の例では、本体要素の寸法の変更に応じて本体要素に付加された部品要素の寸法が変更される場合に、当該部品要素の配置面および変更後の寸法に応じて、当該部品要素の形状の変更の要否の判定が行われる。
【0053】
図9に、第2実施形態の例による設計支援装置10の内部構成の概略を示す図である。図9において、図1と同様の要素には図1と同様の符号を付し、その詳細な説明を省略する。図9の例の設計支援装置10は、設計データ処理部130において、制約条件判定部134の代わりに部品形状管理部135を備える点で、図1の例の設計支援装置10と異なる。また、第2実施形態の例では、部品DB110において、各部品要素の寸法の最大値や最小値を表す制約条件の代わりに、各部品要素の配置面および寸法の組合せに応じた形状を記憶する。
【0054】
図10に、第2実施形態の例における部品DB110のデータ内容の例を示す。図10の例の表は、部品種別、貼り付け面、Xサイズ、Yサイズ、および部品形状の各項目を含む。部品種別は、部品要素の種別を表す。部品要素の種別は、例えば、部品要素をその機能に基づいて分類した場合の種別であってよい。図10では、部品種別として「開封部品」を示す。開封部品は、包装用のパッケージを開封するための機能を有する部品である。貼り付け面とは、本体要素において部品要素が配置される面を表す。図10の例では、貼り付け面として、「正面」、「側面」、および「上面」を示す。本例では、本体要素の形状を直方体であるとし、直方体の6つの面のうち、面積が最大である2つの面を「正面」、面積が最小である2つの面を「上面」、面積が2番目に大きい(小さい)2つの面を「側面」と呼ぶ(図11参照)。図10の例の表のXサイズおよびYサイズの各項目は、それぞれ、部品要素を2次元平面上で表す場合のX軸方向およびY軸方向の寸法の範囲を表す。部品形状の項目は、対応する貼り付け面、Xサイズ、およびYサイズの組合せに応じた、当該部品要素の形状を表す。例えば、図10の行L1を参照すると、部品種別が開封部品である部品要素の貼り付け面が本体要素の「正面」であり、当該部品要素のX軸方向の寸法が15mm未満、かつY軸方向の寸法が15mm未満である場合、当該部品要素の形状は、行L1の「部品形状」の項目で示される形状に設定される。また、行L2の「部品形状」は、貼り付け面が正面であり、X軸方向の寸法が15mm以上50mm未満、かつY軸方向の寸法が15mm以上35mm未満の場合の当該部品要素の形状を表す。同様に、行L3の「部品形状」は、貼り付け面が正面であり、X軸方向の寸法が50mm以上、かつY軸方向の寸法が35mm以上の場合の当該部品要素の形状を表す。また、図10の例の表の行L4では、XサイズおよびYサイズの項目には値が設定されていない。行L4は、「開封部品」である部品要素の貼り付け面が「側面」であれば、当該部品要素の寸法にかかわらず、当該部品要素を行L4の「部品形状」の項目で表される形状に設定することを表す。また、行L5,L6には、Xサイズの項目に値の設定がない。行L5,L6は、「開封部品」である部品要素の貼り付け面が「上面」である場合、当該部品要素のX軸方向の寸法にかかわらず、Y軸方向の寸法が15mm以下であれば行L5の「部品形状」に、Y軸方向の寸法が15mm未満であれば行L6の「部品形状」に、当該部品要素の形状を設定することを表す。図10の例の表は、「開封部品」である部品要素が取り得る複数の形状のそれぞれについて、適切な部品要素の貼り付け面および寸法の値の範囲を定める情報であるとも捉えられる。
【0055】
第2実施形態の例において設計データ記憶部100に記憶される設計データは、各部品要素に関し、当該部品要素の部品種別に応じて部品DB110から読み出された図10の例の表のような情報と、当該部品要素の本体要素における現在の貼り付け面(配置面)を表す情報と、当該部品要素の現在の寸法と、を含む。一具体例として、図12に例示する設計対象物D2の設計データの場合を考える。設計対象物D2は、包装用パッケージである。設計対象物D2の本体要素には、フタに相当する部分に爪(部品要素4)が開封部品として設けられる。設計対象物D2は、部品要素4の爪を図示しない穴の部分に差し込むことで当該爪を固定するようにしたデザインを有する。部品要素4の寸法(サイズ)は、X軸方向60mm,Y軸方向40mmであり、貼り付け面は、本体要素の正面であるとする。設計対象物D2の設計データは、部品要素4に関し、現在の寸法「X×Y=60mm×40mm」および現在の貼り付け面「正面」を表す情報と共に、開封部品の貼り付け面、寸法、および部品形状を示す図10の例の表の情報を含む。なお、図12に例示する部品要素4は、その貼り付け面および寸法が図10の例の表の行L3の設定値に該当するため、行L3の部品形状が示すとおり、2本の爪を含む形状を有する。設計対象物D2の設計データは、部品要素4の現在の形状を表す情報も含む。
【0056】
図9の説明に戻り、設計データ処理部130の位置/形状管理部132は、部品要素が付加された本体要素の寸法を変更する指示に応じて、上述の第1実施形態の例と同様に、位置/形状管理部132が当該部品要素の変更後の寸法を求める。さらに、位置/形状管理部132は、指示に従って本体要素の寸法を変更した後、当該部品要素の貼り付け面が本体要素の正面、側面、および上面のいずれになるかを確認する。例えば、本体要素の変更後の寸法を用いて、当該部品要素の貼り付け面の面積と、本体要素の他の各面の面積と、を求めて比較することで確認すればよい。本体要素の寸法の変更によって当該部品要素の貼り付け面の面積が変化することで、本体要素の寸法の変更の前後で、部品要素の貼り付け面が正面、側面、および上面のうちの1つから他の種類の面に変化する場合がある。このため、第2実施形態の例の位置/形状管理部132は、本体要素の寸法の変更の指示に従って、部品要素の変更後の寸法だけでなく、本体要素の寸法を変更した後の部品要素の貼り付け面の情報も求める。求めた変更後の寸法および貼り付け面の情報は、位置/形状管理部132により、設計データ記憶部100中の設計データに反映される。
【0057】
設計データ処理部130の部品形状管理部135は、部品DB110の設定内容に従って、部品要素の形状を管理する。例えば、本体要素の寸法を変更する指示に応じて、位置/形状管理部132が上述のように当該部品要素の変更後の寸法および貼り付け面を求めた場合、この変更後の寸法および貼り付け面に応じて、当該部品要素の形状を変更するか否かを判定する。この判定は、設計データ中の当該部品要素に関して貼り付け面および寸法に応じた形状を定義する情報(図10参照)に基づいて行えばよい。例えば、部品要素の変更後の寸法および貼り付け面に対応する形状が現在の形状と同じであれば、形状の変更は不要であると判定し、部品要素の変更後の寸法および貼り付け面に対応する形状が現在の形状と異なっていれば、形状の変更が必要であると判定する。形状の変更が必要である場合、部品形状管理部135は、設計データ記憶部100中の設計データにおいて、当該部品要素の形状を、変更後の寸法および貼り付け面に対応した形状に変更する。
【0058】
図13は、図9の例の設計支援装置10が実行する処理の手順の例を示すフローチャートである。設計支援装置10の設計データ処理部130は、操作受付部120を介して取得したユーザの操作指示が、設計データ中の本体要素の寸法を変更する指示である場合に、図13の例の手順の処理を開始する。
【0059】
図13のステップS10で変更指示の内容を特定する処理は、第1実施形態の例の処理における図6の例の手順のステップS10と同様であってよい。
【0060】
ステップS10の後、設計データ処理部130の位置/形状管理部132は、変更指示に従った変更後の本体要素の寸法と、各部品要素の変更後の寸法および貼り付け面と、を求める(ステップS30)。本体要素および各部品要素の変更後の寸法を求める処理は、図6のステップS12を参照して説明した処理と同様であってよい。各部品要素の貼り付け面は、例えば、本体要素の変更後の寸法を用いて本体要素の各面の面積を求め、各部品要素の配置された面が、正面(面積最大)、側面(面積が2番目に大きい)、および上面(面積最小)のいずれであるかを特定することで求めればよい。なお、本体要素の6面のうち4面の面積が等しく、正面と側面との区別または上面と側面との区別が付かない場合は、正面(または上面)と側面とのうちの一方の面を各部品要素の貼り付け面として選択してよい。例えば、本体要素において面積最大である4面のうちの1面に部品要素が配置されている場合に当該部品要素の貼り付け面を正面および側面のうちのいずれとみなすか、予め決定しておけばよい。同様に、本体要素において面積最小である4面のうちの1面に部品要素が配置されている場合に当該部品要素の貼り付け面を上面および側面のうちのいずれとみなすかについても、予め決定しておいてよい。なお、本体要素が立方体である(すべての面の面積が等しい)場合は、正面、側面、および上面のうち任意の面を各部品要素の貼り付け面として選択してよい。例えば、本体要素が立方体である場合は部品要素の貼り付け面を正面とみなす、などのように予め決定しておけばよい。
【0061】
ステップS30の後、設計データ処理部130の部品形状管理部135は、各部品要素の変更後の寸法および貼り付け面に応じた形状を確認する(ステップS32)。ステップS32で、部品形状管理部135は、例えば、処理対象の設計データから、各部品要素についてその貼り付け面と寸法とに応じた形状を定義する情報を読み出し、読み出した情報において、当該部品要素の変更後の寸法および貼り付け面に対応づけられた形状を特定する。例えば、当該部品要素の貼り付け面について設定された寸法の値の範囲のうち、どの範囲が当該部品要素の変更後の寸法を含むかを特定し、特定された寸法の値の範囲に対応づけられた形状を、当該部品要素の変更後の寸法および貼り付け面に応じた形状として特定する。
【0062】
すべての部品要素についてステップS32で確認した形状が現在の形状と同じである場合、部品要素の形状の変更は不要であることから、ステップS34でNO判定されて、処理はステップS40に進む。ステップS40で、設計データ処理部130は、変更後の本体要素および部品要素の寸法を設計データに反映させる。つまり、設計データ記憶部100中の設計データにおいて、本体要素および各部品要素の寸法を変更後の値に書き換える。ここでは、部品要素の形状は変更されない。
【0063】
1以上の部品要素についてステップS32で確認した形状と現在の形状とが異なる場合、部品要素の形状の変更が必要であるため、ステップS34でYES判定されて、処理はステップS36に進む。ステップS36で、設計データ処理部130は、処理対象の設計データにおいて、本体要素の変更後の寸法と各部品要素の変更後の寸法とを反映させ、かつ、形状の変更が必要な部品要素の形状をステップS32で確認した形状に設定する。
【0064】
ステップS36の後、設計データ処理部130の表示制御部136は、本体要素の寸法の変更に伴って部品要素の形状を変更した旨を表す情報を表示部140に表示させる(ステップS38)。
【0065】
ステップS38またはステップS40の後、図13の例の手順の処理は終了する。
【0066】
以下、図12、図14、および図15を参照し、図13の例の手順により部品要素の形状が変更される様子の具体例を説明する。本具体例では、まず、図12に例示する設計対象物D2の本体要素を縮小する指示が行なわれ、図13の例の手順の処理が実行されるとする。図13のステップS30で、部品要素4の変更後のX軸方向およびY軸方向の寸法として、それぞれ、40mmおよび27mmが求められたとする。また、部品要素4の貼り付け面は、本体要素の寸法の変更の前後を通じて、「正面」であるとする。この場合、ステップS32で、部品形状管理部135は、設計対象物D2の設計データにおいて、部品要素4についての寸法および貼り付け面に応じた形状を定義する情報(図10の例の表)を参照し、部品要素4の変更後の寸法(X×Y=40mm×27mm)および貼り付け面(正面)に対応する形状として、図10の表の行L2の「部品形状」を特定する。本体要素の寸法の変更前の部品要素4の形状は、図10の表の行L3の「部品形状」の形状であることから、図13のステップS34で、部品要素4の形状の変更が必要であると判定される。ステップS36で、本体要素の変更後の寸法と、部品要素4の変更後の寸法および形状(図10の行L2)とが設計データに反映される。そして、ステップS38で、表示制御部136は、例えば図14のような表示画面を表示部140に表示させることで、本体要素の寸法の変更に伴い、部品要素4の形状が変更された旨をユーザに通知する。図14の例の表示画面に示される設計対象物D2´は、設計対象物D2の本体要素および部品要素4の寸法の変更と部品要素4の形状の変更とを反映させた設計データが表すパッケージのデザインの図の例である。
【0067】
図15を参照し、部品要素4の貼り付け面が変更される場合の例を説明する。図12の例の設計対象物D2または図14の例の設計対象物D2´に対して、本体要素の縦/横/奥行きの比率を変更するような指示が行なわれ、これに伴って部品要素4の貼り付け面が正面から上面(本体要素において面積最小の面)に変更されるとする。また、図13のステップS30で求められる変更後の部品要素4の寸法がX軸方向40mm,Y軸方向27mmであるとする。この場合、図13のステップS32で、部品形状管理部135は、部品要素4の変更後の寸法および貼り付け面に対応する形状として、図10の例の表の行L5の部品形状を特定する。さらに、表示制御部136は、図13のステップS38で、図15の例の表示画面を表示させて、部品要素4の貼り付け面の変更に伴い、形状が変更された旨をユーザに通知する。
【0068】
なお、部品要素4の変更後のX軸方向およびY軸方向の寸法が、それぞれ、図10の例の表において異なる行の「Xサイズ」および「Yサイズ」の範囲に該当することもあり得る。一具体例として、部品要素4の貼り付け面が正面であって、部品要素4の寸法がX軸方向45mmかつY軸方向40mmの場合、図10の行L2のXサイズ、行L3のYサイズに該当する。このような場合、例えば、行L2,L3の一方の部品形状を選択して用いればよい。XサイズおよびYサイズのいずれに対応する部品形状を用いるか、予め決定しておいてもよい。あるいは、例えば、当該部品要素のX軸方向およびY軸方向の一方の寸法の変更を促す情報を表示部140に表示させ、当該部品要素の寸法を、図10の例の表の1行で定められるXサイズおよびYサイズの両方の値の範囲に該当する寸法に変更するようにしてもよい。この例では、図10の表の1行におけるXサイズおよびYサイズの両方の値の範囲に該当するように部品要素の寸法を変更した上で、当該部品要素の形状を特定すればよい。
【0069】
第2実施形態の例によると、本体要素の寸法の変更に伴って部品要素の貼り付け面や寸法が変更される場合に、当該部品要素の形状は、当該部品要素の変更後の貼り付け面および寸法に応じた形状に自動的に変更される。
【0070】
なお、以上では、本体要素の形状が直方体である場合を具体例として説明したが、本体要素の形状は直方体の他の多面体であってもよい。例えば、多面体の各面の面積の大小関係に応じて面の種類を定義し、定義した面の種類ごとに、部品要素の寸法の値の範囲と形状との組を部品DB110に記憶させておけば、第2実施形態の例の処理を上記の説明と同様に実行し得る。
【0071】
[変形例など]
本発明の実施の形態は、上述の第1実施形態および第2実施形態の例の態様に限定されず、各種の変形例があってよい。
【0072】
上記の第1実施形態および第2実施形態の説明では、本体要素に部品要素がすでに配置された状態で、本体要素の寸法を変更する場合の処理の例を述べた。第1実施形態の例の制約条件に基づく寸法の確認および第2実施形態の例のような形状の確認は、本体要素の寸法の変更指示が行なわれた時点の他のタイミングで行ってもよい。
【0073】
例えば、第1実施形態の変形例において、設計データ処理部130は、本体要素に新たな部品要素を配置する指示を受けた場合に、当該部品要素の部品名に対応する寸法の制約条件を確認し、当該制約条件を満たす範囲内の寸法を当該部品要素の現在の寸法として設計データ中に設定する。また、例えば、本体要素の寸法の変更指示ではなく、部品要素自体の寸法の変更指示を受けた場合に、その指示に従った変更後の部品要素の寸法が制約条件を満たしているか否かを判定し、満たしていない場合に上述の図6のステップS18以降の処理を行ってもよい。
【0074】
また、第2実施形態の変形例において、設計データ処理部130は、本体要素に新たな部品要素を配置する指示を受けた場合に、当該部品要素の部品種別に対応する形状の情報(図10参照)を部品DB110から読み出し、当該部品要素の形状を、指示された貼り付け面および寸法に応じた形状に設定する。また、例えば、すでに本体要素に付加された部品要素を、本体要素の他の面に移動させる指示を受けた場合に、移動後の貼り付け面に対応する形状を確認して、現在の形状と異なっていれば当該部品要素の形状を変更するようにしてもよい。また、部品要素自体の寸法の変更指示に応じて、変更後の寸法に応じた形状に変更するようにしてもよい。
【0075】
さらに他の変形例では、第1実施形態の例による寸法の制約条件に関する処理と、第2実施形態の例による部品の形状に関する処理と、の両方を行ってもよい。例えば、部品DB110において、部品種別ごとに、図10の例のような表の情報に加えて、各部品要素の寸法について許容される値の範囲を設定しておき、本体要素の寸法の変更指示に応じて、各部品要素の変更後の寸法の制約条件の確認と、変更後の寸法および貼り付け面に応じた形状の確認と、を行う。本変形例では、例えば、まず、図6の例のステップS10〜S16の処理を行って、各部品要素の変更後の寸法が制約条件を満たしているか否かを判定し、すべての部品要素が制約条件を満たしていれば(ステップS16でNO)、図13の例のステップS32以降の処理を行い、各部品要素の形状を、変更後の寸法に応じた形状に設定する。一方、寸法の制約条件を満たさない部品要素がある場合(ステップS16でYES)、警告を表示し(ステップS18)、制約条件を満たす範囲内でのさらなる変更指示を待ち受ける(ステップS20でNO判定のループ)。制約条件を満たす範囲内でのさらなる変更指示を受けた場合(ステップS20でYES)、図13のステップS32以降の処理により、各部品要素の形状を、図6のステップS20で受け付けた指示に従った変更後の寸法に応じた形状に設定する。
【0076】
また、第2実施形態の他の変形例において、部品要素の貼り付け面についての設定を省略してもよい。この変形例の場合、部品要素の寸法について異なる値の範囲に応じて、部品要素の形状を設定しておき、部品要素の寸法が変更される場合に、部品要素の形状を、変更後の寸法に応じた形状に設定するようにすればよい。
【0077】
なお、上述の第1実施形態および第2実施形態の例では、本体要素に部品要素が付加される場合、部品DB110に記憶された当該部品要素に関する情報を部品DB110から取得して設計データ中に組み込み、設計データを参照して制約条件や部品要素の形状の確認を行う。各実施形態の変形例では、本体要素に付加された各部品要素について、部品名または部品種別、現在の寸法、位置、および形状のみを設計データに記述しておき、寸法の制約条件または形状の情報を用いる処理の実行時に、部品名または部品種別をキーにして部品DB110内を検索して制約条件または形状の情報を部品DB110から取得してもよい。
【0078】
また、以上では、包装用のパッケージの設計を例にとり各実施形態および変形例を説明したが、設計対象物は、包装用のパッケージに限られない。本体要素に部品要素を付加することで設計される設計対象物であれば、上述の各種の実施形態および変形例の処理を同様に実行してよい。また、上記の説明において用いた具体例の設計対象物のデザインは、いずれも、3次元で表現されるが、2次元で表現されるデザインについても、上述の各種の実施形態および変形例の処理は同様に実行してよい。
【0079】
上述の設計支援装置10は、典型的には、汎用のコンピュータにて上述の設計支援装置10の各部の機能または処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図16に示すように、CPU(中央演算装置)80、メモリ(一次記憶)82、各種I/O(入出力)インタフェース84等がバス86を介して接続された回路構成を有する。また、そのバス86に対し、例えばI/Oインタフェース84経由で、HDD(ハードディスクドライブ)88やCDやDVD、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ90が接続される。このようなドライブ88又は90は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、またはネットワーク経由で、HDD88等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されCPUにより実行されることにより、実施形態の処理が実現される。
【0080】
なお、以上では、設計支援装置10を1台のコンピュータにより実現する実施形態および変形例を説明したが、設計支援装置10の上述の例の各種の機能を複数のコンピュータに分散させて実現してもよい。
【符号の説明】
【0081】
10 設計支援装置、80 CPU、82 メモリ、84 I/Oインタフェース、86 バス、88 HDD、90 ディスクドライブ、100 設計データ記憶部、110 部品DB、120 操作受付部、130 設計データ処理部、132 位置/形状管理部、134 制約条件判定部、135 部品形状管理部、136 表示制御部、140 表示部。
【技術分野】
【0001】
本発明は、設計支援装置およびプログラムに関する。
【背景技術】
【0002】
製品や部品などの設計を支援する技術が開発されている。例えば特許文献1には、3DCADに適用される部品設計支援方法が開示されている。特許文献1に記載の技術では、登録されたフィーチャー形状(部品の形状)の数値パラメータを決定することで作られるフィーチャー形状に対して、各種の制約を予め設定しておき、ユーザが作成した形状が制約に対して適合しない場合に、対象箇所を表示装置に表示させたり、フィーチャー形状の修正について改善案を提示したりする。予め設定される制約の例としては、製造上許容されるサイズ、複数のフィーチャー形状を配置する場合の個々のフィーチャー形状間の製造上許容される配置距離、および個々のフィーチャー形状とモデル外径端部や曲げ部との間の製造上許容される配置距離などが挙げられている。
【0003】
特許文献2には、設計のベースとなる製品の仕様の複数の基本項目を仕様項目とし、各仕様項目にそれぞれ仕様値を設定して製品を設計することを支援するシステムが開示されている。特許文献2に記載のシステムは、各仕様項目に対して仕様値の取り得る制約条件を記述した仕様構成情報データベースを備え、この制約条件に基づいて、各仕様項目に対する設計者による仕様値の入力を誘導する設計画面を表示させる。
【0004】
また、特許文献3には、設計の手順を誘導することで設計を支援する技術が開示されている。特許文献3に記載の技術では、部品の形状/組立の定義に必要な属性を提示する方法を記述した属性活性化情報、その属性に対する制約を記述した制約情報、およびその属性の値に基づき形状データまたは組立データを作成する方法を記述した設計結果生成情報から構成される設計プロセス要素をDBに持ち、設計の段階毎に利用可能な設計プロセス要素を提示して、設計者がそれを組み合わせて設計を行い、必要に応じて設計プロセス要素に記述されている設計のチェックを自動的に行う。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−102282号公報
【特許文献2】特開2006−155601号公報
【特許文献3】特開平10−214276号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、設計支援装置において、設計対象物の全体の形状を定める本体要素に対して部品要素が付加された状態で、本体要素の寸法を変更する指示を受け付けた場合に、本体要素の寸法を変更すると共に、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法も変更する処理を行う場合がある。
【0007】
本発明の目的は、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法が変更される場合に、部品要素の制約条件に違反した設計情報が生成されることを防止する設計支援装置およびプログラムを提供することである。
【課題を解決するための手段】
【0008】
請求項1に係る発明は、本体要素と前記本体要素に付加された部品要素とから成る設計対象物を表す設計情報を指定して前記本体要素の少なくとも一部の寸法を変更する指示の入力を受け付けて、前記指示に従った前記本体要素の寸法の変更に応じて前記設計情報に含まれる前記部品要素の寸法を変更した場合の変更後の前記部品要素の寸法を求める処理を行う処理手段と、前記本体要素に付加される部品要素それぞれの寸法に関する制約条件を記憶した記憶手段を参照し、前記処理手段が求めた変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たすか否かを判定する判定手段と、前記判定手段において前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、その旨を表す情報を出力する出力手段と、を備えることを特徴とする設計支援装置である。
【0009】
請求項2に係る発明は、請求項1に係る発明において、前記処理手段は、さらに、前記判定手段において前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、前記部品要素の寸法が前記制約条件を満たす範囲内で、前記指示に応じて前記本体要素および前記部品要素を拡大または縮小した結果の前記本体要素および前記部品要素の寸法を含む前記設計情報を生成する。
【0010】
請求項3に係る発明は、請求項1または2に係る発明において、前記記憶手段において、前記本体要素に付加される部品要素それぞれに対して複数の前記制約条件を記憶し、複数の前記制約条件のそれぞれは、当該部品要素がとり得る複数の形状のそれぞれに対応づけられ、かつ当該形状を有する当該部品要素の寸法として許容される値の範囲を表し、前記判定手段は、さらに、前記変更後の前記部品要素の寸法が、前記部品要素に対する複数の前記制約条件のうちのどの制約条件が表す値の範囲に含まれるかを判定し、前記処理手段は、前記判定手段により前記変更後の前記部品要素の寸法を含む値の範囲を表すと判定された制約条件に対応づけられた形状を有し、かつ前記変更後の前記部品要素の寸法を有する前記部品要素と、前記変更後の前記本体要素の寸法を有する前記本体要素と、から成る前記設計対象物を表す前記設計情報を生成する。
【0011】
請求項4に係る発明は、請求項3に係る発明において、前記記憶手段は、さらに、前記本体要素に付加される部品要素それぞれについて、前記本体要素において当該部品要素が配置され得る面ごとに、前記制約条件と当該部品要素の形状との組を記憶し、前記判定手段は、前記変更後の前記部品要素の寸法が、前記本体要素において前記部品要素が配置された面に対応する前記制約条件のうちのどの制約条件が表す値の範囲に含まれるかを判定する。
【0012】
請求項5に係る発明は、請求項3または4に係る発明において、前記出力手段は、さらに、前記判定手段により前記変更後の前記部品要素の寸法を含む値の範囲を表すと判定された制約条件に対応づけられた形状が、前記指示の入力を受け付けた時点での前記部品要素の形状と異なる場合に、その旨を表す情報を出力する。
【0013】
請求項6に係る発明は、請求項1から5のいずれか1項に係る発明において、前記設計情報を指定して、前記本体要素に新たな部品要素を付加する指示の入力を受け付けた場合に、当該新たな部品要素の寸法に関し、前記判定手段における判定処理を実行する。
【0014】
請求項7に係る発明は、請求項1から6のいずれか1項に係る発明において、前記設計情報を指定して、前記設計情報に含まれる前記部品要素の寸法を変更する指示の入力を受け付けた場合に、当該指示に係る変更後の前記部品要素の寸法に関し、前記判定手段における判定処理を実行する。
【0015】
請求項8に係る発明は、コンピュータに、本体要素と前記本体要素に付加された部品要素とから成る設計対象物を表す設計情報を指定して前記本体要素の少なくとも一部の寸法を変更する指示の入力を受け付けて、前記指示に従った前記本体要素の寸法の変更に応じて前記設計情報に含まれる前記部品要素の寸法を変更した場合の変更後の前記部品要素の寸法を求める処理を行う処理ステップと、前記本体要素に付加される部品要素それぞれの寸法に関する制約条件を記憶した記憶手段を参照し、前記処理ステップで求めた変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たすか否かを判定する判定ステップと、前記判定ステップにおいて前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、その旨を表す情報を出力する出力ステップと、を実行させるためのプログラムである。
【発明の効果】
【0016】
請求項1または8に係る発明によると、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法が変更される場合に、部品要素の制約条件に違反した設計情報が生成されることを防止できる。
【0017】
請求項2に係る発明によると、部品要素の制約条件を満たす範囲内で、本体要素の寸法の変更指示に従った、本体要素および部品要素の拡大または縮小を実行できる。
【0018】
請求項3に係る発明によると、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法が変更される場合に、部品要素の形状を、部品要素の変更後の寸法に適した形状に設定できる。
【0019】
請求項4に係る発明によると、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法が変更される場合に、部品要素の形状を、本体要素において部品要素が配置された面と当該部品要素の変更後の寸法とに適した形状に設定できる。
【0020】
請求項5に係る発明によると、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法が変更されることにより、部品要素の形状が変更された場合に、その旨を利用者に通知できる。
【0021】
請求項6に係る発明によると、本体要素に新たな部品要素が付加される場合に、当該新たな部品要素の制約条件に違反した設計情報の生成を防止できる。
【0022】
請求項7に係る発明によると、部品要素の寸法を変更が指示された場合に、当該部品要素の制約条件に違反した設計情報の生成を防止できる。
【図面の簡単な説明】
【0023】
【図1】設計支援装置の内部構成の概略の例を示す図である。
【図2】設計データの内容の例を模式的に示す図である。
【図3A】図2に示す設計データが表す設計対象物を図式的に示した例の図である。
【図3B】図2に示す設計データが表す設計対象物を図式的に示した例の図である。
【図4】部品DBのデータ内容の例を示す図である。
【図5】表示部に表示される表示画面の例を示す図である。
【図6】設計支援装置が実行する処理の手順の例を示すフローチャートである。
【図7】警告表示の例を示す図である。
【図8】警告表示の他の例を示す図である。
【図9】設計支援装置の内部構成の概略の他の例を示す図である。
【図10】部品DBのデータ内容の他の例を示す図である。
【図11】部品要素の貼り付け面について説明するための図である。
【図12】設計対象物の他の例を示す図である。
【図13】設計支援装置が実行する処理の手順の他の例を示すフローチャートである。
【図14】部品要素の形状を変更した旨を表示する表示画面の例を示す図である。
【図15】部品要素の形状を変更した旨を表示する表示画面の他の例を示す図である。
【図16】コンピュータのハードウエア構成の例を示す図である。
【発明を実施するための形態】
【0024】
[第1実施形態]
図1に、本発明の第1実施形態の例による設計支援装置の内部構成の概略の例を示す。図1に示す設計支援装置10は、設計データ記憶部100、部品DB110、操作受付部120、設計データ処理部130、および表示部140を備える。
【0025】
設計データ記憶部100は、設計対象物の設計データを記憶する。設計データは、設計対象物のデザインを表す情報であり、後述のようにユーザ(設計者)の指示に従って生成される。設計データは、例えば、設計対象物を構成する各要素の種類、形状、寸法、および配置位置などに関する情報を含む。設計データは、CAD(Computer Aided Design)のシステムにおいて一般的に用いられるデータ構造を有していてよい。
【0026】
図2に、設計データ記憶部100に記憶される設計データの内容の一例を模式的に示す。図2の例の設計データは、品物の包装用のパッケージ(箱)のデザインを表す。図2の例の設計データが表すパッケージは、本体要素、部品要素1、部品要素2、および部品要素3の4つの構成要素を備える。また、本例の設計データは、本体要素の形状が直方体であることを表し、この直方体の寸法として幅W,長さL,高さHの値を示す。さらに、本例の設計データは、各部品要素1,2,3について、部品名、形状、位置、寸法、および制約条件の情報を含む。部品名は、部品要素の名称である。本例では、部品名は、部品要素の種類を表す。部品要素1,2の部品名は「切り取りリボン」である。「切り取りリボン」は、パッケージの開封のために切り取られる帯状の部分を意味する。また、「切り取りリボン」である部品要素1,2の形状は、図2に例示するとおりである。部品要素3の部品名は「取っ手用穴」である。「取っ手用穴」は、パッケージの蓋を取り外すときに取っ手として用いられる穴を意味する。「取っ手用穴」である部品要素3の形状は、図2に例示するとおりである。各部品要素の位置は、当該部品要素の配置位置を表す。例えば、本体要素における一点を原点とする3次元座標空間において、各部品要素の中心点の座標値を当該部品要素の「位置」として設計データ中に記述しておけばよい。また、図2の例において、各部品要素の寸法は、当該部品要素の横方向および縦方向(部品要素を2次元平面上で表す場合のX軸方向およびY軸方向)の大きさを示す。各部品要素の制約条件は、当該部品要素の寸法の制約条件であり、図2の例では、各部品要素について許容される寸法の最小値を表す。部品要素の寸法の制約条件は、例えば、当該部品要素の機能が損なわれない部品要素の寸法の最小値を考慮して予め設定される。図2に例示する「切り取りリボン」の場合、パッケージの開封のための切り取りが可能と考えられる寸法の最小値が制約条件として設定される。「取っ手用穴」の場合、取っ手として利用可能と考えられる寸法の最小値が制約条件として設定される。さらに他の例では、例えば文字列を表示する部品要素の制約条件として、文字列の可読性が維持される寸法の最小値を設定しておくことが考えられる。
【0027】
図2の例の設計データが表すパッケージを図式的に表すと、例えば図3Aおよび図3Bに示すとおりになる。図3Aを参照し、パッケージの本体要素である直方体形状の1つの面に部品要素1(切り取りリボン)が配置され、部品要素1が配置された面に隣接する1つの面に、部品要素2が配置されている。また、部品要素1,2は、部品要素1の一方の端部と部品要素2の一方の端部とが互いに接するように配置されている。図3Bは、図3Aに示すパッケージを矢印Xの方向から見た場合の例を示す。図3Bを参照し、部品要素3は、部品要素1の配置面に対向する面であって部品要素2の配置面に隣接する面に配置されている。
【0028】
なお、図2は、設計データの内容の具体的な態様を限定するものではない。また、設計データは、図2に例示する内容の他の情報を含んでいてよい。例えば、設計データは、図2の例の内容の他にも、設計対象物の図面を表示部140に表示させるために必要な各種の情報を含んでいてよい。
【0029】
図1の説明に戻り、部品DB110は、本体要素に付加され得る部品要素に関する情報を予め記憶したデータベースである。部品DB110には、各部品要素について、その種類や名称、形状、および制約条件などを記憶する。ユーザは、本体要素に付加する部品要素を、部品DB110に記憶された部品要素の中から選択する。図4に、部品DB110のデータ内容の一例を示す。
【0030】
図4を参照し、本例の部品DB110は、各部品要素について、部品名、制約条件、および形状の各項目の値を記憶する。部品名は、当該部品要素の名称である。制約条件は、当該部品要素の寸法に関する制約条件である。図4の例では、当該部品要素の寸法として許容される最小値を表す。ただし、当該部品要素の寸法として許容される最大値を表す制約条件、または、許容される最小値および最大値の両方を表す制約条件を設定しておいてもよい。制約条件において最小値および最大値のいずれを設定するかは、当該部品要素の機能に応じて決定すればよい。形状は、当該部品要素の形状を表す。部品DB110に登録された各部品要素の情報は、当該部品要素を含む設計対象物の設計データ中に組み込まれる。例えば、図2の例の設計データを参照し、部品名「切り取りリボン」である各部品要素1,2の情報には、図4の例の部品DB110に登録された「切り取りリボン」の制約条件および形状が含まれている。また、図2に例示する部品要素3(部品名「取っ手用穴」)の情報には、図4の例の部品DB110に登録された「取っ手用穴」の制約条件および形状が含まれている。以上より、部品DB110を、各部品要素のオブジェクトのクラスを定義する情報を記憶したデータベースであると捉え、設計データ中の各部品要素の情報を、当該部品要素のオブジェクトのインスタンスであると捉えてもよい。
【0031】
再び図1を参照し、操作受付部120は、ユーザによる各種の入力を受け付ける。操作受付部120は、例えば、マウスやキーボードなどの図示しない入力装置を用いてユーザが入力した情報を取得し、取得した情報を設計データ処理部130に渡す。
【0032】
設計データ処理部130は、操作受付部120が受け付けたユーザの指示に従って、設計対象物の設計データに対する操作を実行する。設計データ処理部130は、位置/形状管理部132、制約条件判定部134、および表示制御部136を備える。
【0033】
設計データ処理部130は、設計データを新規作成して設計データ記憶部100に格納したり、設計データ記憶部100に記憶された設計データの内容を変更したりする。例えば、設計データ処理部130は、設計対象物の本体要素を選択する指示に従って、選択された本体要素の情報を含む設計データを作成し、作成した設計データを設計データ記憶部100に格納する。また例えば、設計データ処理部130は、設計データ記憶部100中の特定の設計データの本体要素に部品要素を付加する指示に従って、当該指示に係る部品要素の情報を部品DB110から取得し、取得した情報と、現在の設計対象物における当該部品要素の寸法および位置と、を含む部品要素の情報を生成して当該設計データに追加する。また、設計データ処理部130は、特定の設計データ中の部品要素を削除する指示に従って、指示された部品要素を設計データから削除することもある。設計データ処理部130は、さらに、本体要素に付加された部品要素の位置を変更したり、設計対象物の構成要素(本体要素または部品要素)を変形させたりする処理を行う。ここで、構成要素の「変形」とは、拡大縮小や、縦/横/奥行きの比率の変更などを表す。構成要素が変形されると、当該要素の少なくとも一部の寸法が変更されることになる。
【0034】
位置/形状管理部132は、設計データに含まれる各構成要素の位置および寸法を管理する。位置/形状管理部132は、設計データ処理部130において、設計データ中の構成要素の寸法や位置の変更を伴う操作が行われる場合に、変更後の各構成要素の寸法および位置を求める。例えば、位置/形状管理部132は、設計データ中の本体要素の寸法を変更する指示に従って、本体要素の変更後の寸法を求め、かつ、当該本体要素に付加された各部品要素の寸法を本体要素の寸法の変更に応じて変更した場合の、各部品要素の変更後の寸法を求める。一具体例として、本体要素を1/2だけ縮小する指示を受けた場合に、位置/形状管理部132は、現在の本体要素の寸法を1/2倍した寸法を求めると共に、各部品要素についても、現在の寸法を1/2倍した寸法を求める。位置/形状管理部132は、本体要素の寸法の変更に応じて各部品要素の変更後の寸法を求めると、制約条件判定部134に依頼して、当該変更後の寸法が当該部品要素の制約条件を満たしているか否かを判定させる。
【0035】
制約条件判定部134は、設計データに含まれる各部品要素の寸法が制約条件を満たしているか否かを判定する。制約条件判定部134は、例えば、位置/形状管理部132からの上述の依頼を受けて、本体要素の寸法の変更に応じた変更後の各部品要素の寸法を取得する。さらに、処理対象の設計データ中に記述された各部品要素の制約条件を取得する。そして、各部品要素の変更後の寸法が当該部品要素の制約条件を満たしているか否かを判定する。つまり、変更後の寸法が、制約条件によって表される値の範囲内にあるか否かを判定する。
【0036】
制約条件判定部134による判定の結果、すべての部品要素の変更後の寸法が当該部品要素の制約条件を満たしていれば、設計データ処理部130は、処理対象の設計データにおいて、各部品要素および本体要素の寸法をそれぞれ変更後の寸法に書き換える。変更後の寸法が制約条件を満たさない部品要素が存在する場合、設計データ処理部130は、制約条件に違反した状態を解消するための処理を行う。例えば、設計データ処理部130の表示制御部136により、制約条件を満たさない部品要素が存在する旨をユーザに通知する警告を表示部140に表示させる。また例えば、位置/形状管理部132により、各部品要素の制約条件を満たす範囲で、本体要素および各部品要素の寸法を変更するようにしてもよい。例えば、制約条件で示される最小値を下回らないような限界まで、本体要素および各部品要素を縮小したり、制約条件で示される最大値を超えないような限界まで、本体要素および各部品要素を拡大したりする。
【0037】
表示制御部136は、設計データ処理部130における処理の過程や結果を表示部140に表示させるための制御を行う。本実施形態の例の表示制御部136は、表示の内容および態様を指示する表示制御情報を生成して表示部140に渡すことで、表示部140における表示を制御する。表示制御部136は、例えば、設計データ処理部130の処理対象の設計データが表すデザインを表示部140に図式的に表示させる。また、設計データに対する操作を受け付けるための操作メニューの表示画面を表示させることもある。また、表示制御部136は、制約条件判定部134の判定の結果を表す情報を表示部140に表示させることもある。
【0038】
表示部140は、表示制御部136から渡された表示制御情報に従った表示を行う。表示部140は、例えば液晶ディスプレイなどの表示装置であってよい。ユーザは、表示部140に表示される内容を確認して、入力装置を用いて設計データに対する操作の指示を行う。
【0039】
図5に、設計データに対するユーザの操作を受け付けるために表示制御部136が表示部140に表示させる表示画面の一例を示す。図5の例の表示画面には、メニューM、設計対象物D1、および部品要素パレットPが表示されている。メニューMは、設計データに関する操作のメニューを表示する。設計対象物D1の図は、設計データ中に記述された情報に従って表示画面上に描画される。図5に示す設計対象物D1は、図2,図3A,図3Bを参照して上述した例のパッケージであるとする。部品要素パレットPは、部品DB110に登録された各部品要素を表示する。ユーザは、例えばマウスなどの入力装置を用いて、部品要素パレットPに表示された部品要素を選択し、選択した部品要素を設計対象物D1の図上に配置する。この選択および配置の入力を操作受付部120が受け付けて、設計対象物D1の本体要素に、選択された部品要素を付加する指示として設計データ処理部130に渡す。この指示を受け取った設計データ処理部130は、選択された部品要素の情報を設計データに追加する処理を行う。
【0040】
図6は、ユーザが設計データ中の本体要素の寸法を変更する指示を行った場合に、設計支援装置10で実行される処理の手順の例を示すフローチャートである。設計支援装置10の設計データ処理部130は、操作受付部120を介して取得したユーザの操作指示が、設計データ中の本体要素の寸法を変更する指示である場合に、図6の例の手順の処理を開始する。なお、図6の例の手順の処理を開始する前に、設計データ処理部130は、ユーザによる変更指示の対象の設計データを設計データ記憶部100から取得済みであるとする。
【0041】
設計データ処理部130は、まず、本体要素の寸法の変更指示の内容を特定する(ステップS10)。ステップS10では、操作受付部120から取得された変更指示が、本体要素の寸法をどのように変更することを指示するものであるかを特定する。変更指示は、例えば、本体要素の全体を特定の比率で拡大または縮小する指示である。あるいは、例えば、特定の方向に特定の比率で本体要素を拡大または縮小する指示であってもよい。さらに他の例では、本体要素の縦/横/奥行きの比率を変更する指示であってもよい。
【0042】
変更指示の内容が特定されると、設計データ処理部130の位置/形状管理部132は、変更指示に従った変更後の本体要素および各部品要素の寸法を求める(ステップS12)。ステップS12で、位置/形状管理部132は、変更指示に従った変更後の本体要素の寸法を求め、かつ、本体要素の変更に応じて各部品要素の寸法を変更した場合の各部品要素の変更後の寸法を求める。例えば、本体要素の全体を拡大または縮小する変更指示の場合、拡大または縮小後の本体要素の寸法と、本体要素に付加された各部品要素を本体要素の拡大または縮小と同じ比率で拡大または縮小した結果の各部品要素の寸法と、を求める。また、特定の方向に特定の比率で本体要素を拡大または縮小する変更指示または本体要素の縦/横/奥行きの比率を変更する指示の場合、本体要素の面ごとに(本体要素の形状が直方体であれば対向する面の組ごとに)拡大または縮小の比率が異なる場合がある。このような場合は、各部品要素について、当該部品要素が配置された本体要素の面の拡大・縮小の比率を求め、この比率を用いて当該部品要素の拡大・縮小後の寸法(変更後の寸法)を求めるようにすればよい。
【0043】
ステップS12の後、設計データ処理部130の制約条件判定部134は、各部品要素の変更後の寸法が各部品要素の制約条件を満たすか否かを確認する(ステップS14)。制約条件判定部134は、処理対象の設計データに含まれる各部品要素の制約条件を参照し、ステップS12で求められた各部品要素の変更後の寸法が当該部品要素の制約条件で表される範囲内の値であるか否かを確認する。
【0044】
ステップS14の確認の結果、制約条件を満たさない部品要素がない場合(ステップS16でNO)、設計データ処理部130は、ステップS12で求めた変更後の本体要素および部品要素の寸法を設計データに反映させる(ステップS24)。例えば、設計データ記憶部100において、処理対象の設計データに含まれる本体要素および各部品要素の寸法を、それぞれ、変更後の値に書き換える。
【0045】
ステップS14の確認の結果、制約条件を満たさない部品要素がある場合(ステップS16でYES)、表示制御部136は、その旨をユーザに通知するための警告を表示部140に表示させる(ステップS18)。ステップS18では、例えば、制約条件を満たさない部品要素を利用者にとって識別可能とする情報と、当該部品要素の制約条件と、を表示部140に表示させる。図7に、ステップS18で表示される警告の一例を示す。図7は、図5の例の表示画面に表示された設計対象物D1の本体要素の全体を縮小する指示に従って求められた各部品要素の変更後の寸法が制約条件の寸法の下限値を下回る場合の警告表示の例である。図7の例の設計対象物D1´は、設計対象物D1を指示通りに縮小した場合のデザインを表す。図7の例の警告表示ウィンドウW1には、「部品要素のサイズが下限値を下回っています。」とのメッセージが表示され、各部品要素1,2,3の変更後の寸法(サイズ)および制約条件で定められる寸法の下限値を示す表が表示されている。警告表示ウィンドウW1の表中の「サイズ」の項目において、下線が付された数値は、制約条件の下限値を下回る寸法であることを示す。警告表示ウィンドウW1は、さらに、「元に戻す」、「指定値で更新」、「下限値を下回らないよう更新」のメニューボタンを含む。ユーザは、マウスなどの入力装置により、これらのメニューボタンのいずれかを押下する。各メニューボタンが押下された場合の処理については後述する。
【0046】
再び図6を参照し、ステップS18で、制約条件を満たさない部品要素がある旨の警告を表示部140に表示させた後、設計データ処理部130は、制約条件を満たす範囲内でのさらなる変更指示を待ち受ける(ステップS20でNO判定のループ)。さらなる変更指示は、例えば、図7の例の警告表示ウィンドウW1のメニューボタンの押下により受け付けられる。ユーザが「元に戻す」ボタンを押下すると、操作受付部120は、処理対象の設計データ中の本体要素および各部品要素の寸法を変更前の値のまま維持する指示を設計データ処理部130に渡す。ユーザが「指定値で更新」ボタンを押下すると、操作受付部120は、各部品要素の寸法を、警告表示ウィンドウW1の表における各部品要素の「サイズ」の項目に示された値に変更する指示を設計データ処理部130に渡す。なお、本例において、警告表示ウィンドウW1中の表における「サイズ」の項目の値は、ユーザの入力により変更可能であるとする。ユーザが「下限値を下回らないよう更新」ボタンを押下すると、操作受付部120は、各部品要素の寸法が制約条件の下限値を下回らない範囲で本体要素の寸法が最小となるように本体要素を縮小する指示を設計データ処理部130に渡す。上述の各メニューボタンに対応する指示のうち、「元に戻す」ボタンおよび「下限値を下回らないよう更新」ボタンの押下に応じた指示は、制約条件を満たす範囲内での変更指示であると言える。「指定値で更新」ボタンの押下に応じた指示は、警告表示ウィンドウW1中の表における「サイズ」の項目の値のうち、対応する下限値を下回るものがなければ、制約条件を満たす範囲内での変更指示である。「サイズ」の項目の値のうち、対応する下限値を下回るものがある状態で「指定値の更新」ボタンが押下された場合、設計データ処理部130が取得する指示は、制約条件を満たす範囲内での変更指示ではない。
【0047】
図6のステップS18の後、制約条件を満たす範囲内での変更指示を設計データ処理部130が取得すると(ステップ20でYES)、位置/形状管理部132において、当該変更指示に従って各部品要素の変更後の寸法を求める(ステップS22)。ステップS22では、ステップS20で取得された変更指示が本体要素の寸法の変更を伴う場合、本体要素の変更後の寸法も求める。例えば、図7を参照する上述の例で「下限値を下回らないよう更新」ボタンが押下された場合、ステップS22で、位置/形状管理部132は、各部品要素の寸法が制約条件の下限値を下回らない範囲で本体要素の寸法が最小となるように本体要素を縮小した場合の、本体要素および各部品要素の寸法を求める。また例えば、上述の例で、図7の警告表示ウィンドウW1中の表において「サイズ」の項目の値に制約条件の下限値を下回る値がない状態で「指定値で更新」ボタンが押下された場合、ステップS22で、各部品要素の「サイズ」の項目に入力された値を変更後の寸法とすればよい。また、この例の場合、本体要素の変更後の寸法は、ステップS12で求めた値を用いればよい。なお、上述の例で「元に戻す」ボタンが押下された場合、処理対象の設計データ中の各構成要素の寸法を、そのまま、ステップS22で求める変更後の寸法とすればよい。この場合にステップS22で求められる各構成要素の寸法は、ステップS10で特定された変更指示に従った変更を行う前の値であると言える。あるいは、例えば、「元に戻す」ボタンが押下された場合はステップS22の処理を省略するようにしてもよい。
【0048】
ステップS22の後、設計データ処理部130は、設計データ記憶部100中の処理対象の設計データにおいて、ステップS22で求めた各構成要素の寸法を反映させる(ステップS24)。ステップS24の後、図6の例の手順の処理は終了する。
【0049】
図6のステップS20で制約条件を満たす範囲内での変更指示を待ち受ける間に、図7を参照する例において、「サイズ」の項目の値のうち対応する下限値を下回るものがある状態で「指定値の更新」ボタンが押下された場合、設計データ処理部130の表示制御部136は、例えば、図8に示すようなメッセージを表示部140に表示させてもよい。図8に例示するウィンドウW2は、各部品要素の「サイズ」の項目に下限値より大きな値を入力することをユーザに促すメッセージを表示する。図8の例のメッセージを表示させた後、設計データ処理部130は、引き続き、制約条件を満たす範囲内での変更指示を待ち受ける。
【0050】
なお、図7および図8を参照する上述の具体例は、本体要素を縮小する指示に従って部品要素を縮小すると、寸法の最小値を定める制約条件に違反する場合の例である。寸法の最大値を定める制約条件が設定された部品要素が本体要素に付加されており、本体要素を拡大する指示に従って部品要素を拡大すると制約条件に違反する場合、ステップS18で、例えば、図7の例の警告表示ウィンドウW1と同様の警告表示において、各部品要素の「下限値」の代わりに「上限値」を表示し、「下限値を下回らないよう更新」ボタンの代わりに「上限値を超えないよう更新」ボタンを表示させればよい。この警告表示を行った場合に、ある部品要素について上限値を超える「サイズ」が入力された状態で「指定値で更新」ボタンが押下されると、上限値より小さな値を設定することを促すメッセージを表示させればよい。
【0051】
図6を参照して説明した例の手順によると、本体要素の寸法の変更に応じて、本体要素に付加された部品要素の寸法も変更する場合に、各部品要素の寸法の制約条件に違反するような変更は回避される。
【0052】
[第2実施形態]
第2実施形態の例では、各部品要素について、寸法の最大値や最小値を表す制約条件を設定しておく代わりに、各部品要素の本体要素における配置面と各部品要素の寸法の範囲との組合せに適した形状を設定する。第2実施形態の例では、本体要素の寸法の変更に応じて本体要素に付加された部品要素の寸法が変更される場合に、当該部品要素の配置面および変更後の寸法に応じて、当該部品要素の形状の変更の要否の判定が行われる。
【0053】
図9に、第2実施形態の例による設計支援装置10の内部構成の概略を示す図である。図9において、図1と同様の要素には図1と同様の符号を付し、その詳細な説明を省略する。図9の例の設計支援装置10は、設計データ処理部130において、制約条件判定部134の代わりに部品形状管理部135を備える点で、図1の例の設計支援装置10と異なる。また、第2実施形態の例では、部品DB110において、各部品要素の寸法の最大値や最小値を表す制約条件の代わりに、各部品要素の配置面および寸法の組合せに応じた形状を記憶する。
【0054】
図10に、第2実施形態の例における部品DB110のデータ内容の例を示す。図10の例の表は、部品種別、貼り付け面、Xサイズ、Yサイズ、および部品形状の各項目を含む。部品種別は、部品要素の種別を表す。部品要素の種別は、例えば、部品要素をその機能に基づいて分類した場合の種別であってよい。図10では、部品種別として「開封部品」を示す。開封部品は、包装用のパッケージを開封するための機能を有する部品である。貼り付け面とは、本体要素において部品要素が配置される面を表す。図10の例では、貼り付け面として、「正面」、「側面」、および「上面」を示す。本例では、本体要素の形状を直方体であるとし、直方体の6つの面のうち、面積が最大である2つの面を「正面」、面積が最小である2つの面を「上面」、面積が2番目に大きい(小さい)2つの面を「側面」と呼ぶ(図11参照)。図10の例の表のXサイズおよびYサイズの各項目は、それぞれ、部品要素を2次元平面上で表す場合のX軸方向およびY軸方向の寸法の範囲を表す。部品形状の項目は、対応する貼り付け面、Xサイズ、およびYサイズの組合せに応じた、当該部品要素の形状を表す。例えば、図10の行L1を参照すると、部品種別が開封部品である部品要素の貼り付け面が本体要素の「正面」であり、当該部品要素のX軸方向の寸法が15mm未満、かつY軸方向の寸法が15mm未満である場合、当該部品要素の形状は、行L1の「部品形状」の項目で示される形状に設定される。また、行L2の「部品形状」は、貼り付け面が正面であり、X軸方向の寸法が15mm以上50mm未満、かつY軸方向の寸法が15mm以上35mm未満の場合の当該部品要素の形状を表す。同様に、行L3の「部品形状」は、貼り付け面が正面であり、X軸方向の寸法が50mm以上、かつY軸方向の寸法が35mm以上の場合の当該部品要素の形状を表す。また、図10の例の表の行L4では、XサイズおよびYサイズの項目には値が設定されていない。行L4は、「開封部品」である部品要素の貼り付け面が「側面」であれば、当該部品要素の寸法にかかわらず、当該部品要素を行L4の「部品形状」の項目で表される形状に設定することを表す。また、行L5,L6には、Xサイズの項目に値の設定がない。行L5,L6は、「開封部品」である部品要素の貼り付け面が「上面」である場合、当該部品要素のX軸方向の寸法にかかわらず、Y軸方向の寸法が15mm以下であれば行L5の「部品形状」に、Y軸方向の寸法が15mm未満であれば行L6の「部品形状」に、当該部品要素の形状を設定することを表す。図10の例の表は、「開封部品」である部品要素が取り得る複数の形状のそれぞれについて、適切な部品要素の貼り付け面および寸法の値の範囲を定める情報であるとも捉えられる。
【0055】
第2実施形態の例において設計データ記憶部100に記憶される設計データは、各部品要素に関し、当該部品要素の部品種別に応じて部品DB110から読み出された図10の例の表のような情報と、当該部品要素の本体要素における現在の貼り付け面(配置面)を表す情報と、当該部品要素の現在の寸法と、を含む。一具体例として、図12に例示する設計対象物D2の設計データの場合を考える。設計対象物D2は、包装用パッケージである。設計対象物D2の本体要素には、フタに相当する部分に爪(部品要素4)が開封部品として設けられる。設計対象物D2は、部品要素4の爪を図示しない穴の部分に差し込むことで当該爪を固定するようにしたデザインを有する。部品要素4の寸法(サイズ)は、X軸方向60mm,Y軸方向40mmであり、貼り付け面は、本体要素の正面であるとする。設計対象物D2の設計データは、部品要素4に関し、現在の寸法「X×Y=60mm×40mm」および現在の貼り付け面「正面」を表す情報と共に、開封部品の貼り付け面、寸法、および部品形状を示す図10の例の表の情報を含む。なお、図12に例示する部品要素4は、その貼り付け面および寸法が図10の例の表の行L3の設定値に該当するため、行L3の部品形状が示すとおり、2本の爪を含む形状を有する。設計対象物D2の設計データは、部品要素4の現在の形状を表す情報も含む。
【0056】
図9の説明に戻り、設計データ処理部130の位置/形状管理部132は、部品要素が付加された本体要素の寸法を変更する指示に応じて、上述の第1実施形態の例と同様に、位置/形状管理部132が当該部品要素の変更後の寸法を求める。さらに、位置/形状管理部132は、指示に従って本体要素の寸法を変更した後、当該部品要素の貼り付け面が本体要素の正面、側面、および上面のいずれになるかを確認する。例えば、本体要素の変更後の寸法を用いて、当該部品要素の貼り付け面の面積と、本体要素の他の各面の面積と、を求めて比較することで確認すればよい。本体要素の寸法の変更によって当該部品要素の貼り付け面の面積が変化することで、本体要素の寸法の変更の前後で、部品要素の貼り付け面が正面、側面、および上面のうちの1つから他の種類の面に変化する場合がある。このため、第2実施形態の例の位置/形状管理部132は、本体要素の寸法の変更の指示に従って、部品要素の変更後の寸法だけでなく、本体要素の寸法を変更した後の部品要素の貼り付け面の情報も求める。求めた変更後の寸法および貼り付け面の情報は、位置/形状管理部132により、設計データ記憶部100中の設計データに反映される。
【0057】
設計データ処理部130の部品形状管理部135は、部品DB110の設定内容に従って、部品要素の形状を管理する。例えば、本体要素の寸法を変更する指示に応じて、位置/形状管理部132が上述のように当該部品要素の変更後の寸法および貼り付け面を求めた場合、この変更後の寸法および貼り付け面に応じて、当該部品要素の形状を変更するか否かを判定する。この判定は、設計データ中の当該部品要素に関して貼り付け面および寸法に応じた形状を定義する情報(図10参照)に基づいて行えばよい。例えば、部品要素の変更後の寸法および貼り付け面に対応する形状が現在の形状と同じであれば、形状の変更は不要であると判定し、部品要素の変更後の寸法および貼り付け面に対応する形状が現在の形状と異なっていれば、形状の変更が必要であると判定する。形状の変更が必要である場合、部品形状管理部135は、設計データ記憶部100中の設計データにおいて、当該部品要素の形状を、変更後の寸法および貼り付け面に対応した形状に変更する。
【0058】
図13は、図9の例の設計支援装置10が実行する処理の手順の例を示すフローチャートである。設計支援装置10の設計データ処理部130は、操作受付部120を介して取得したユーザの操作指示が、設計データ中の本体要素の寸法を変更する指示である場合に、図13の例の手順の処理を開始する。
【0059】
図13のステップS10で変更指示の内容を特定する処理は、第1実施形態の例の処理における図6の例の手順のステップS10と同様であってよい。
【0060】
ステップS10の後、設計データ処理部130の位置/形状管理部132は、変更指示に従った変更後の本体要素の寸法と、各部品要素の変更後の寸法および貼り付け面と、を求める(ステップS30)。本体要素および各部品要素の変更後の寸法を求める処理は、図6のステップS12を参照して説明した処理と同様であってよい。各部品要素の貼り付け面は、例えば、本体要素の変更後の寸法を用いて本体要素の各面の面積を求め、各部品要素の配置された面が、正面(面積最大)、側面(面積が2番目に大きい)、および上面(面積最小)のいずれであるかを特定することで求めればよい。なお、本体要素の6面のうち4面の面積が等しく、正面と側面との区別または上面と側面との区別が付かない場合は、正面(または上面)と側面とのうちの一方の面を各部品要素の貼り付け面として選択してよい。例えば、本体要素において面積最大である4面のうちの1面に部品要素が配置されている場合に当該部品要素の貼り付け面を正面および側面のうちのいずれとみなすか、予め決定しておけばよい。同様に、本体要素において面積最小である4面のうちの1面に部品要素が配置されている場合に当該部品要素の貼り付け面を上面および側面のうちのいずれとみなすかについても、予め決定しておいてよい。なお、本体要素が立方体である(すべての面の面積が等しい)場合は、正面、側面、および上面のうち任意の面を各部品要素の貼り付け面として選択してよい。例えば、本体要素が立方体である場合は部品要素の貼り付け面を正面とみなす、などのように予め決定しておけばよい。
【0061】
ステップS30の後、設計データ処理部130の部品形状管理部135は、各部品要素の変更後の寸法および貼り付け面に応じた形状を確認する(ステップS32)。ステップS32で、部品形状管理部135は、例えば、処理対象の設計データから、各部品要素についてその貼り付け面と寸法とに応じた形状を定義する情報を読み出し、読み出した情報において、当該部品要素の変更後の寸法および貼り付け面に対応づけられた形状を特定する。例えば、当該部品要素の貼り付け面について設定された寸法の値の範囲のうち、どの範囲が当該部品要素の変更後の寸法を含むかを特定し、特定された寸法の値の範囲に対応づけられた形状を、当該部品要素の変更後の寸法および貼り付け面に応じた形状として特定する。
【0062】
すべての部品要素についてステップS32で確認した形状が現在の形状と同じである場合、部品要素の形状の変更は不要であることから、ステップS34でNO判定されて、処理はステップS40に進む。ステップS40で、設計データ処理部130は、変更後の本体要素および部品要素の寸法を設計データに反映させる。つまり、設計データ記憶部100中の設計データにおいて、本体要素および各部品要素の寸法を変更後の値に書き換える。ここでは、部品要素の形状は変更されない。
【0063】
1以上の部品要素についてステップS32で確認した形状と現在の形状とが異なる場合、部品要素の形状の変更が必要であるため、ステップS34でYES判定されて、処理はステップS36に進む。ステップS36で、設計データ処理部130は、処理対象の設計データにおいて、本体要素の変更後の寸法と各部品要素の変更後の寸法とを反映させ、かつ、形状の変更が必要な部品要素の形状をステップS32で確認した形状に設定する。
【0064】
ステップS36の後、設計データ処理部130の表示制御部136は、本体要素の寸法の変更に伴って部品要素の形状を変更した旨を表す情報を表示部140に表示させる(ステップS38)。
【0065】
ステップS38またはステップS40の後、図13の例の手順の処理は終了する。
【0066】
以下、図12、図14、および図15を参照し、図13の例の手順により部品要素の形状が変更される様子の具体例を説明する。本具体例では、まず、図12に例示する設計対象物D2の本体要素を縮小する指示が行なわれ、図13の例の手順の処理が実行されるとする。図13のステップS30で、部品要素4の変更後のX軸方向およびY軸方向の寸法として、それぞれ、40mmおよび27mmが求められたとする。また、部品要素4の貼り付け面は、本体要素の寸法の変更の前後を通じて、「正面」であるとする。この場合、ステップS32で、部品形状管理部135は、設計対象物D2の設計データにおいて、部品要素4についての寸法および貼り付け面に応じた形状を定義する情報(図10の例の表)を参照し、部品要素4の変更後の寸法(X×Y=40mm×27mm)および貼り付け面(正面)に対応する形状として、図10の表の行L2の「部品形状」を特定する。本体要素の寸法の変更前の部品要素4の形状は、図10の表の行L3の「部品形状」の形状であることから、図13のステップS34で、部品要素4の形状の変更が必要であると判定される。ステップS36で、本体要素の変更後の寸法と、部品要素4の変更後の寸法および形状(図10の行L2)とが設計データに反映される。そして、ステップS38で、表示制御部136は、例えば図14のような表示画面を表示部140に表示させることで、本体要素の寸法の変更に伴い、部品要素4の形状が変更された旨をユーザに通知する。図14の例の表示画面に示される設計対象物D2´は、設計対象物D2の本体要素および部品要素4の寸法の変更と部品要素4の形状の変更とを反映させた設計データが表すパッケージのデザインの図の例である。
【0067】
図15を参照し、部品要素4の貼り付け面が変更される場合の例を説明する。図12の例の設計対象物D2または図14の例の設計対象物D2´に対して、本体要素の縦/横/奥行きの比率を変更するような指示が行なわれ、これに伴って部品要素4の貼り付け面が正面から上面(本体要素において面積最小の面)に変更されるとする。また、図13のステップS30で求められる変更後の部品要素4の寸法がX軸方向40mm,Y軸方向27mmであるとする。この場合、図13のステップS32で、部品形状管理部135は、部品要素4の変更後の寸法および貼り付け面に対応する形状として、図10の例の表の行L5の部品形状を特定する。さらに、表示制御部136は、図13のステップS38で、図15の例の表示画面を表示させて、部品要素4の貼り付け面の変更に伴い、形状が変更された旨をユーザに通知する。
【0068】
なお、部品要素4の変更後のX軸方向およびY軸方向の寸法が、それぞれ、図10の例の表において異なる行の「Xサイズ」および「Yサイズ」の範囲に該当することもあり得る。一具体例として、部品要素4の貼り付け面が正面であって、部品要素4の寸法がX軸方向45mmかつY軸方向40mmの場合、図10の行L2のXサイズ、行L3のYサイズに該当する。このような場合、例えば、行L2,L3の一方の部品形状を選択して用いればよい。XサイズおよびYサイズのいずれに対応する部品形状を用いるか、予め決定しておいてもよい。あるいは、例えば、当該部品要素のX軸方向およびY軸方向の一方の寸法の変更を促す情報を表示部140に表示させ、当該部品要素の寸法を、図10の例の表の1行で定められるXサイズおよびYサイズの両方の値の範囲に該当する寸法に変更するようにしてもよい。この例では、図10の表の1行におけるXサイズおよびYサイズの両方の値の範囲に該当するように部品要素の寸法を変更した上で、当該部品要素の形状を特定すればよい。
【0069】
第2実施形態の例によると、本体要素の寸法の変更に伴って部品要素の貼り付け面や寸法が変更される場合に、当該部品要素の形状は、当該部品要素の変更後の貼り付け面および寸法に応じた形状に自動的に変更される。
【0070】
なお、以上では、本体要素の形状が直方体である場合を具体例として説明したが、本体要素の形状は直方体の他の多面体であってもよい。例えば、多面体の各面の面積の大小関係に応じて面の種類を定義し、定義した面の種類ごとに、部品要素の寸法の値の範囲と形状との組を部品DB110に記憶させておけば、第2実施形態の例の処理を上記の説明と同様に実行し得る。
【0071】
[変形例など]
本発明の実施の形態は、上述の第1実施形態および第2実施形態の例の態様に限定されず、各種の変形例があってよい。
【0072】
上記の第1実施形態および第2実施形態の説明では、本体要素に部品要素がすでに配置された状態で、本体要素の寸法を変更する場合の処理の例を述べた。第1実施形態の例の制約条件に基づく寸法の確認および第2実施形態の例のような形状の確認は、本体要素の寸法の変更指示が行なわれた時点の他のタイミングで行ってもよい。
【0073】
例えば、第1実施形態の変形例において、設計データ処理部130は、本体要素に新たな部品要素を配置する指示を受けた場合に、当該部品要素の部品名に対応する寸法の制約条件を確認し、当該制約条件を満たす範囲内の寸法を当該部品要素の現在の寸法として設計データ中に設定する。また、例えば、本体要素の寸法の変更指示ではなく、部品要素自体の寸法の変更指示を受けた場合に、その指示に従った変更後の部品要素の寸法が制約条件を満たしているか否かを判定し、満たしていない場合に上述の図6のステップS18以降の処理を行ってもよい。
【0074】
また、第2実施形態の変形例において、設計データ処理部130は、本体要素に新たな部品要素を配置する指示を受けた場合に、当該部品要素の部品種別に対応する形状の情報(図10参照)を部品DB110から読み出し、当該部品要素の形状を、指示された貼り付け面および寸法に応じた形状に設定する。また、例えば、すでに本体要素に付加された部品要素を、本体要素の他の面に移動させる指示を受けた場合に、移動後の貼り付け面に対応する形状を確認して、現在の形状と異なっていれば当該部品要素の形状を変更するようにしてもよい。また、部品要素自体の寸法の変更指示に応じて、変更後の寸法に応じた形状に変更するようにしてもよい。
【0075】
さらに他の変形例では、第1実施形態の例による寸法の制約条件に関する処理と、第2実施形態の例による部品の形状に関する処理と、の両方を行ってもよい。例えば、部品DB110において、部品種別ごとに、図10の例のような表の情報に加えて、各部品要素の寸法について許容される値の範囲を設定しておき、本体要素の寸法の変更指示に応じて、各部品要素の変更後の寸法の制約条件の確認と、変更後の寸法および貼り付け面に応じた形状の確認と、を行う。本変形例では、例えば、まず、図6の例のステップS10〜S16の処理を行って、各部品要素の変更後の寸法が制約条件を満たしているか否かを判定し、すべての部品要素が制約条件を満たしていれば(ステップS16でNO)、図13の例のステップS32以降の処理を行い、各部品要素の形状を、変更後の寸法に応じた形状に設定する。一方、寸法の制約条件を満たさない部品要素がある場合(ステップS16でYES)、警告を表示し(ステップS18)、制約条件を満たす範囲内でのさらなる変更指示を待ち受ける(ステップS20でNO判定のループ)。制約条件を満たす範囲内でのさらなる変更指示を受けた場合(ステップS20でYES)、図13のステップS32以降の処理により、各部品要素の形状を、図6のステップS20で受け付けた指示に従った変更後の寸法に応じた形状に設定する。
【0076】
また、第2実施形態の他の変形例において、部品要素の貼り付け面についての設定を省略してもよい。この変形例の場合、部品要素の寸法について異なる値の範囲に応じて、部品要素の形状を設定しておき、部品要素の寸法が変更される場合に、部品要素の形状を、変更後の寸法に応じた形状に設定するようにすればよい。
【0077】
なお、上述の第1実施形態および第2実施形態の例では、本体要素に部品要素が付加される場合、部品DB110に記憶された当該部品要素に関する情報を部品DB110から取得して設計データ中に組み込み、設計データを参照して制約条件や部品要素の形状の確認を行う。各実施形態の変形例では、本体要素に付加された各部品要素について、部品名または部品種別、現在の寸法、位置、および形状のみを設計データに記述しておき、寸法の制約条件または形状の情報を用いる処理の実行時に、部品名または部品種別をキーにして部品DB110内を検索して制約条件または形状の情報を部品DB110から取得してもよい。
【0078】
また、以上では、包装用のパッケージの設計を例にとり各実施形態および変形例を説明したが、設計対象物は、包装用のパッケージに限られない。本体要素に部品要素を付加することで設計される設計対象物であれば、上述の各種の実施形態および変形例の処理を同様に実行してよい。また、上記の説明において用いた具体例の設計対象物のデザインは、いずれも、3次元で表現されるが、2次元で表現されるデザインについても、上述の各種の実施形態および変形例の処理は同様に実行してよい。
【0079】
上述の設計支援装置10は、典型的には、汎用のコンピュータにて上述の設計支援装置10の各部の機能または処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図16に示すように、CPU(中央演算装置)80、メモリ(一次記憶)82、各種I/O(入出力)インタフェース84等がバス86を介して接続された回路構成を有する。また、そのバス86に対し、例えばI/Oインタフェース84経由で、HDD(ハードディスクドライブ)88やCDやDVD、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ90が接続される。このようなドライブ88又は90は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、またはネットワーク経由で、HDD88等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されCPUにより実行されることにより、実施形態の処理が実現される。
【0080】
なお、以上では、設計支援装置10を1台のコンピュータにより実現する実施形態および変形例を説明したが、設計支援装置10の上述の例の各種の機能を複数のコンピュータに分散させて実現してもよい。
【符号の説明】
【0081】
10 設計支援装置、80 CPU、82 メモリ、84 I/Oインタフェース、86 バス、88 HDD、90 ディスクドライブ、100 設計データ記憶部、110 部品DB、120 操作受付部、130 設計データ処理部、132 位置/形状管理部、134 制約条件判定部、135 部品形状管理部、136 表示制御部、140 表示部。
【特許請求の範囲】
【請求項1】
本体要素と前記本体要素に付加された部品要素とから成る設計対象物を表す設計情報を指定して前記本体要素の少なくとも一部の寸法を変更する指示の入力を受け付けて、前記指示に従った前記本体要素の寸法の変更に応じて前記設計情報に含まれる前記部品要素の寸法を変更した場合の変更後の前記部品要素の寸法を求める処理を行う処理手段と、
前記本体要素に付加される部品要素それぞれの寸法に関する制約条件を記憶した記憶手段を参照し、前記処理手段が求めた変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たすか否かを判定する判定手段と、
前記判定手段において前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、その旨を表す情報を出力する出力手段と、
を備えることを特徴とする設計支援装置。
【請求項2】
前記処理手段は、さらに、前記判定手段において前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、前記部品要素の寸法が前記制約条件を満たす範囲内で、前記指示に応じて前記本体要素および前記部品要素を拡大または縮小した結果の前記本体要素および前記部品要素の寸法を含む前記設計情報を生成する、
ことを特徴とする請求項1に記載の設計支援装置。
【請求項3】
前記記憶手段において、前記本体要素に付加される部品要素それぞれに対して複数の前記制約条件を記憶し、複数の前記制約条件のそれぞれは、当該部品要素がとり得る複数の形状のそれぞれに対応づけられ、かつ当該形状を有する当該部品要素の寸法として許容される値の範囲を表し、
前記判定手段は、さらに、前記変更後の前記部品要素の寸法が、前記部品要素に対する複数の前記制約条件のうちのどの制約条件が表す値の範囲に含まれるかを判定し、
前記処理手段は、前記判定手段により前記変更後の前記部品要素の寸法を含む値の範囲を表すと判定された制約条件に対応づけられた形状を有し、かつ前記変更後の前記部品要素の寸法を有する前記部品要素と、前記変更後の前記本体要素の寸法を有する前記本体要素と、から成る前記設計対象物を表す前記設計情報を生成する、
ことを特徴とする請求項1または2に記載の設計支援装置。
【請求項4】
前記記憶手段は、さらに、前記本体要素に付加される部品要素それぞれについて、前記本体要素において当該部品要素が配置され得る面ごとに、前記制約条件と当該部品要素の形状との組を記憶し、
前記判定手段は、前記変更後の前記部品要素の寸法が、前記本体要素において前記部品要素が配置された面に対応する前記制約条件のうちのどの制約条件が表す値の範囲に含まれるかを判定する、
ことを特徴とする請求項3に記載の設計支援装置。
【請求項5】
前記出力手段は、さらに、前記判定手段により前記変更後の前記部品要素の寸法を含む値の範囲を表すと判定された制約条件に対応づけられた形状が、前記指示の入力を受け付けた時点での前記部品要素の形状と異なる場合に、その旨を表す情報を出力する、
ことを特徴とする請求項3または4に記載の設計支援装置。
【請求項6】
前記設計情報を指定して、前記本体要素に新たな部品要素を付加する指示の入力を受け付けた場合に、当該新たな部品要素の寸法に関し、前記判定手段における判定処理を実行する、
ことを特徴とする請求項1から5のいずれか1項に記載の設計支援装置。
【請求項7】
前記設計情報を指定して、前記設計情報に含まれる前記部品要素の寸法を変更する指示の入力を受け付けた場合に、当該指示に係る変更後の前記部品要素の寸法に関し、前記判定手段における判定処理を実行する、
ことを特徴とする請求項1から6のいずれか1項に記載の設計支援装置。
【請求項8】
コンピュータに、
本体要素と前記本体要素に付加された部品要素とから成る設計対象物を表す設計情報を指定して前記本体要素の少なくとも一部の寸法を変更する指示の入力を受け付けて、前記指示に従った前記本体要素の寸法の変更に応じて前記設計情報に含まれる前記部品要素の寸法を変更した場合の変更後の前記部品要素の寸法を求める処理を行う処理ステップと、
前記本体要素に付加される部品要素それぞれの寸法に関する制約条件を記憶した記憶手段を参照し、前記処理ステップで求めた変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たすか否かを判定する判定ステップと、
前記判定ステップにおいて前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、その旨を表す情報を出力する出力ステップと、
を実行させるためのプログラム。
【請求項1】
本体要素と前記本体要素に付加された部品要素とから成る設計対象物を表す設計情報を指定して前記本体要素の少なくとも一部の寸法を変更する指示の入力を受け付けて、前記指示に従った前記本体要素の寸法の変更に応じて前記設計情報に含まれる前記部品要素の寸法を変更した場合の変更後の前記部品要素の寸法を求める処理を行う処理手段と、
前記本体要素に付加される部品要素それぞれの寸法に関する制約条件を記憶した記憶手段を参照し、前記処理手段が求めた変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たすか否かを判定する判定手段と、
前記判定手段において前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、その旨を表す情報を出力する出力手段と、
を備えることを特徴とする設計支援装置。
【請求項2】
前記処理手段は、さらに、前記判定手段において前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、前記部品要素の寸法が前記制約条件を満たす範囲内で、前記指示に応じて前記本体要素および前記部品要素を拡大または縮小した結果の前記本体要素および前記部品要素の寸法を含む前記設計情報を生成する、
ことを特徴とする請求項1に記載の設計支援装置。
【請求項3】
前記記憶手段において、前記本体要素に付加される部品要素それぞれに対して複数の前記制約条件を記憶し、複数の前記制約条件のそれぞれは、当該部品要素がとり得る複数の形状のそれぞれに対応づけられ、かつ当該形状を有する当該部品要素の寸法として許容される値の範囲を表し、
前記判定手段は、さらに、前記変更後の前記部品要素の寸法が、前記部品要素に対する複数の前記制約条件のうちのどの制約条件が表す値の範囲に含まれるかを判定し、
前記処理手段は、前記判定手段により前記変更後の前記部品要素の寸法を含む値の範囲を表すと判定された制約条件に対応づけられた形状を有し、かつ前記変更後の前記部品要素の寸法を有する前記部品要素と、前記変更後の前記本体要素の寸法を有する前記本体要素と、から成る前記設計対象物を表す前記設計情報を生成する、
ことを特徴とする請求項1または2に記載の設計支援装置。
【請求項4】
前記記憶手段は、さらに、前記本体要素に付加される部品要素それぞれについて、前記本体要素において当該部品要素が配置され得る面ごとに、前記制約条件と当該部品要素の形状との組を記憶し、
前記判定手段は、前記変更後の前記部品要素の寸法が、前記本体要素において前記部品要素が配置された面に対応する前記制約条件のうちのどの制約条件が表す値の範囲に含まれるかを判定する、
ことを特徴とする請求項3に記載の設計支援装置。
【請求項5】
前記出力手段は、さらに、前記判定手段により前記変更後の前記部品要素の寸法を含む値の範囲を表すと判定された制約条件に対応づけられた形状が、前記指示の入力を受け付けた時点での前記部品要素の形状と異なる場合に、その旨を表す情報を出力する、
ことを特徴とする請求項3または4に記載の設計支援装置。
【請求項6】
前記設計情報を指定して、前記本体要素に新たな部品要素を付加する指示の入力を受け付けた場合に、当該新たな部品要素の寸法に関し、前記判定手段における判定処理を実行する、
ことを特徴とする請求項1から5のいずれか1項に記載の設計支援装置。
【請求項7】
前記設計情報を指定して、前記設計情報に含まれる前記部品要素の寸法を変更する指示の入力を受け付けた場合に、当該指示に係る変更後の前記部品要素の寸法に関し、前記判定手段における判定処理を実行する、
ことを特徴とする請求項1から6のいずれか1項に記載の設計支援装置。
【請求項8】
コンピュータに、
本体要素と前記本体要素に付加された部品要素とから成る設計対象物を表す設計情報を指定して前記本体要素の少なくとも一部の寸法を変更する指示の入力を受け付けて、前記指示に従った前記本体要素の寸法の変更に応じて前記設計情報に含まれる前記部品要素の寸法を変更した場合の変更後の前記部品要素の寸法を求める処理を行う処理ステップと、
前記本体要素に付加される部品要素それぞれの寸法に関する制約条件を記憶した記憶手段を参照し、前記処理ステップで求めた変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たすか否かを判定する判定ステップと、
前記判定ステップにおいて前記変更後の前記部品要素の寸法が前記部品要素の前記制約条件を満たさないと判定された場合に、その旨を表す情報を出力する出力ステップと、
を実行させるためのプログラム。
【図1】
【図2】
【図3A】
【図3B】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3A】
【図3B】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2012−79079(P2012−79079A)
【公開日】平成24年4月19日(2012.4.19)
【国際特許分類】
【出願番号】特願2010−223463(P2010−223463)
【出願日】平成22年10月1日(2010.10.1)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成24年4月19日(2012.4.19)
【国際特許分類】
【出願日】平成22年10月1日(2010.10.1)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]