(57)【要約】      （修正有）【課題】部品を配置すべき複数の部品配置層をもつ電子機器に対する部品の配置案を作成する。【解決手段】第１部品配置層に配置すべき複数の各第１部品の寸法を表した第１部品情報と、第２部品配置層に配置すべき複数の各第２部品の寸法を表した第２部品情報とを記憶する部品情報記憶手段と、前記各第１部品を配置する順番を表す第１配置順位と、前記各第２部品を配置する順番を表す第２配置順位とを決定する部品配置順決定手段と、前記各第１部品を配置する規則を定めた第１配置規則、前記各第２部品を配置する規則を定めた、前記第１配置規則と異なる第２配置規則を決定する配置規則決定手段と、前記第１配置順位に示される順番で前記各第１部品を前記第１配置規則にしたがって前記第１部品配置層に配置し、また前記第２配置順位に示される順番で前記各第２部品を前記第２配置規則にしたがって前記第２部品配置層に配置する部品配置手段と、を備える。【選択図】図４
2008108217.tif 000002
【特許請求の範囲】
【請求項１】
部品を配置する少なくとも第１部品配置層および第２部品配置層を含む電子機器に対する部品の配置案を作成する部品配置支援装置であって、
前記第１部品配置層に配置すべき複数の各第１部品の寸法を表した第１部品情報と、前記第２部品配置層に配置すべき複数の各第２部品の寸法を表した第２部品情報とを記憶する部品情報記憶手段と、
前記各第１部品を配置する順番を表す第１配置順位と、前記各第２部品を配置する順番を表す第２配置順位とを決定する部品配置順決定手段と、
前記各第１部品を配置する規則を定めた第１配置規則、前記各第２部品を配置する規則を定めた、前記第１配置規則と異なる第２配置規則を決定する配置規則決定手段と、
前記第１配置順位に示される順番で前記各第１部品を前記第１配置規則にしたがって前記第１部品配置層に配置し、また前記第２配置順位に示される順番で前記各第２部品を前記第２配置規則にしたがって前記第２部品配置層に配置する部品配置手段と、
を備えた部品配置支援装置。
【請求項２】
前記第１部品情報は、各前記第１部品について前記第１部品配置層における配置可能範囲を定めており、
前記部品配置手段は、前記配置可能範囲内で各前記第１部品の配置を行うことを特徴とする請求項１に記載の部品配置支援装置。
【請求項３】
前記第２部品情報は、各前記第２部品について前記第２部品配置層における配置可能範囲を定めており、
前記部品配置手段は、前記配置可能範囲内で各前記第２部品の配置を行うことを特徴とする請求項２に記載の部品配置支援装置。
【請求項４】
前記第１配置順位および前記第２配置順位の少なくとも一方は、高さが高い部品の順であることを特徴とする請求項１ないし３のいずれか一項に記載の部品配置支援装置。
【請求項５】
前記第１配置順位および前記第２配置順位の少なくとも一方は、配置面積の大きい部品の順であることを特徴とする請求項１ないし４のいずれか一項に記載の部品配置支援装置。
【請求項６】
前記第１配置規則は、前記第１部品配置層を平面的に見て、左から上詰め、左から下詰め、右から上詰め、右から下詰め、上から左詰め、上から右詰め、下から左詰め、下から右詰めのうちのいずれかであり、
前記第２配置規則は、前記第２部品配置層を前記第１部品配置層と同一方向から平面的に見て、左から上詰め、左から下詰め、右から上詰め、右から下詰め、上から左詰め、上から右詰め、下から左詰め、下から右詰めのうち前記第１配置規則と異なるいずれかであることを特徴とする請求項１ないし５のいずれか一項に記載の部品配置支援装置。
【請求項７】
前記第１および第２部品配置層をそれぞれ平面的に格子状に分割した際のそれぞれ同一の格子座標において該格子座標に存在する部品の高さの合計を計算し、合計値が閾値以上となるまたは最も大きい格子座標を特定し、特定した格子座標に部品をもつ部品配置層のうち１つの部品配置層を選択し、選択した部品配置層に配置すべき各部品の配置順位を変更することを前記部品配置順決定手段に指示する高さ評価手段をさらに備えたことを特徴とする請求項１ないし６のいずれか一項に記載の部品配置支援装置。
【請求項８】
前記第１および第２部品配置層の相対位置を積層方向と平行な方向に調整する調整手段をさらに備えたことを特徴とする請求項１ないし６のいずれか一項に記載の部品配置支援装置。
【請求項９】
前記第２の部品配置層における各前記第２部品の位置を前記第１および第２の部品配置層の積層方向に平行な方向に各々独立に調整する調整手段をさらに備えたことを特徴とする請求項１ないし６のいずれか一項に記載の部品配置支援装置。
【請求項１０】
部品を配置する少なくとも第１部品配置層および第２部品配置層を含む電子機器に対する部品の配置案を作成する部品配置支援方法であって、
前記第１部品配置層に配置すべき複数の各第１部品の寸法を表した第１部品情報と、前記第２部品配置層に配置すべき複数の各第２部品の寸法を表した第２部品情報とを用意し、
前記各第１部品を配置する順番を表す第１配置順位と、前記各第２部品を配置する順番を表す第２配置順位とを決定し、
前記各第１部品を配置する規則を定めた第１配置規則、前記各第２部品を配置する規則を定めた、前記第１配置規則と異なる第２配置規則を決定し、
前記第１配置順位に示される順番で前記各第１部品を前記第１配置規則にしたがって前記第１部品配置層に配置し、また前記第２配置順位に示される順番で前記各第２部品を前記第２配置規則にしたがって前記第２部品配置層に配置する、
ことを特徴とする部品配置支援方法
【請求項１１】
部品を配置する少なくとも第１部品配置層および第２部品配置層を含む電子機器に対する部品の配置案を作成するためのプログラムであって、
前記第１部品配置層に配置すべき複数の各第１部品の寸法を表した第１部品情報と、前記第２部品配置層に配置すべき複数の各第２部品の寸法を表した第２部品情報とにアクセスするステップと、
前記各第１部品を配置する順番を表す第１配置順位と、前記各第２部品を配置する順番を表す第２配置順位とを決定するステップと、
前記各第１部品を配置する規則を定めた第１配置規則、前記各第２部品を配置する規則を定めた、前記第１配置規則と異なる第２配置規則を決定するステップと、
前記第１配置順位に示される順番で前記各第１部品を前記第１配置規則にしたがって前記第１部品配置層に配置し、また前記第２配置順位に示される順番で前記各第２部品を前記第２配置規則にしたがって前記第２部品配置層に配置するステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、部品を配置すべき複数の部品配置層を持つ電子機器に対する部品の配置案を作成する部品配置支援装置、方法およびプログラムに関する。
【背景技術】
【０００２】
電子機器を設計する際には、電子機器を構成する部品群をいかにコンパクトに筐体内に配置するかが１つの重要な課題である。電子機器の部品配置の特徴には、複数の層に分けて配置可能なことが多い点がある。例えば、基板の上面に配置される電子部品群は１つの層に属し、基板の下面に配置される電子部品群は別の層に属する。また、端子部品は筐体の端に配置しなければならない等の配置範囲に関する制約が多い点も特徴のである。部品配置を行う際は、筐体全体の高さができるだけ低くなるように配置を行うことが望まれる。
【０００３】
非特許文献１には２次元ビンパッキング問題（部品をコンパクトに配置する問題）の近似解を高速に導出する方法が記述されており（ビンパッキング問題は、NP困難（ＮＰ−ｈａｒｄ）に属する問題であるため最良の解を導出するには指数時間かかる）、非特許文献２には３次元ビンパッキング問題の近似解を高速に導出する方法が記述している。いずれの文献も、部品の配置制約などは考慮されておらず、上述のような配置範囲に制約のある電子部品を予め定められた複数の層に分けて配置するケースは解決できない。
【非特許文献１】E.G. Coffman.Jr, M.R. Garey, D.S.Johnson, 1984, Approximation Algorithms for Bin-packing−An Updated Survay, Algorithm Design for Computer System Design, 1984, 49-106
【非特許文献２】William B. Dowsland, 1991, Three-dimensional Packing−Solution Approaches and Heuristic Development, International Journal of Production Research, Vol.29, No.8, 1673-1685
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本発明は、部品を配置すべき複数の部品配置層をもつ電子機器に対する部品の配置案を作成可能な部品配置支援装置、方法およびプログラムを提供する。
【課題を解決するための手段】
【０００５】
本発明の一態様としての部品配置支援装置は、
部品を配置する少なくとも第１部品配置層および第２部品配置層を含む電子機器に対する部品の配置案を作成する部品配置支援装置であって、
前記第１部品配置層に配置すべき複数の各第１部品の寸法を表した第１部品情報と、前記第２部品配置層に配置すべき複数の各第２部品の寸法を表した第２部品情報とを記憶する部品情報記憶手段と、
前記各第１部品を配置する順番を表す第１配置順位と、前記各第２部品を配置する順番を表す第２配置順位とを決定する部品配置順決定手段と、
前記各第１部品を配置する規則を定めた第１配置規則、前記各第２部品を配置する規則を定めた、前記第１配置規則と異なる第２配置規則を決定する配置規則決定手段と、
前記第１配置順位に示される順番で前記各第１部品を前記第１配置規則にしたがって前記第１部品配置層に配置し、また前記第２配置順位に示される順番で前記各第２部品を前記第２配置規則にしたがって前記第２部品配置層に配置する部品配置手段と、
を備えた部品配置支援装置。
【０００６】
本発明の一態様としての部品配置支援方法は、
部品を配置する少なくとも第１部品配置層および第２部品配置層を含む電子機器に対する部品の配置案を作成する部品配置支援方法であって、
前記第１部品配置層に配置すべき複数の各第１部品の寸法を表した第１部品情報と、前記第２部品配置層に配置すべき複数の各第２部品の寸法を表した第２部品情報とを用意し、
前記各第１部品を配置する順番を表す第１配置順位と、前記各第２部品を配置する順番を表す第２配置順位とを決定し、
前記各第１部品を配置する規則を定めた第１配置規則、前記各第２部品を配置する規則を定めた、前記第１配置規則と異なる第２配置規則を決定し、
前記第１配置順位に示される順番で前記各第１部品を前記第１配置規則にしたがって前記第１部品配置層に配置し、また前記第２配置順位に示される順番で前記各第２部品を前記第２配置規則にしたがって前記第２部品配置層に配置する、ことを特徴とする。
【０００７】
本発明の一態様としてのプログラムは、
部品を配置する少なくとも第１部品配置層および第２部品配置層を含む電子機器に対する部品の配置案を作成するためのプログラムであって、
前記第１部品配置層に配置すべき複数の各第１部品の寸法を表した第１部品情報と、前記第２部品配置層に配置すべき複数の各第２部品の寸法を表した第２部品情報とにアクセスするステップと、
前記各第１部品を配置する順番を表す第１配置順位と、前記各第２部品を配置する順番を表す第２配置順位とを決定するステップと、
前記各第１部品を配置する規則を定めた第１配置規則、前記各第２部品を配置する規則を定めた、前記第１配置規則と異なる第２配置規則を決定するステップと、
前記第１配置順位に示される順番で前記各第１部品を前記第１配置規則にしたがって前記第１部品配置層に配置し、また前記第２配置順位に示される順番で前記各第２部品を前記第２配置規則にしたがって前記第２部品配置層に配置するステップと、
をコンピュータに実行させることを特徴とする。
【発明の効果】
【０００８】
本発明により、部品を配置すべき複数の部品配置層をもつ電子機器に対する部品の配置案を作成できる。
【発明を実施するための最良の形態】
【０００９】
本実施の形態は、部品を配置すべき複数の部品配置層をもつ電子機器（部品配置空間）に対してコンパクトな部品の配置案を高速に作成しようとするものである。すなわち、電子機器の内部を複数の部品配置層に分離し、２次元平面上での部品配置問題とする。各部品配置層の縦および横の長さ（２次元方向のサイズ）はあらかじめ与えられているものとする。各部品配置層における部品の配置規則をそれぞれ異ならせる（部品の詰め方を異ならせる）ことにより、また、各部品配置層においてそれぞれ部品を配置する順番を変えることにより、各部品配置層を積み重ねたときの高さをできるだけ低くするような部品の配置案を作成する。以下、本実施の形態について詳細に説明する。
【００１０】
図１は、本発明の一実施の形態にしたがった部品配置支援装置の構成を示すブロック図である。図２は、図１の部品配置支援装置の動作を説明するフローチャートである。
【００１１】
以下、図１および図２を用いて、電子機器としてノート型PC(Personal Computer)における主要部品の配置案を作成する例を説明する。主要部品とは、CPU(Central Processing Unit：中央演算処理装置), VGA(Video Graphics Array：グラフィック用チップ), キーボード, バッテリ, ハードディスクドライブ等のPCを構成する比較的大きな部品をさす。ノート型PCの縦・横の長さ（２次元方向のサイズ）は仕様で決まっておりその値を使用する。
【００１２】
まず、ステップ１において、配置層サイズ入力手段１０１を用いて、部品を配置すべき各部品配置層の情報を入力する。部品配置層（以下単に配置層と称する）の情報は、少なくとも名称（識別子）とそのサイズ（２次元方向におけるサイズ）を入力する。配置層が例えば部品配置部材の表面である場合、該部品配置部材の厚みを配置層の情報の一部として付加的に入力してもよい。
【００１３】
ここでは、配置層の名称として、基板上面層、基板下面層、筐体上面層、筐体内部層の４つを入力し、各層のサイズとしてそれぞれ同一の平面サイズを入力する。本例では各層は矩形の平面形状を有するものとするが、本発明はこれに限られず、例えば円形、楕円形など他の平面形状でもよい。
【００１４】
基板上面層は、基板の上面に取り付ける部品（基板上面部品）が配置される層である。
【００１５】
基板下面層は、当該基板の下面に取り付ける部品（基板下面部品）が配置される層である。
【００１６】
筐体上面層は、筐体内における筐体上面に取り付ける部品（筐体上面部品）が配置される層である。
【００１７】
筐体内部層は、筐体内のどの位置にでも配置可能な部品（筐体内部部品）を配置するための層である。
【００１８】
さらに本ステップ１では、配置部品＆個数入力手段１０２を用いて、ノート型ＰＣの筐体内に配置しようとする各部品の名称（識別子）とその個数を入力する。ここでは部品の名称として、CPU、VGA、第１端子類、メモリ装置、MCH(Memory Controller Hub：ノースブリッジ)、第２端子類、キーボード、タッチパッド、スピーカー、バッテリ、冷却用ファン、ハードディスクドライブ、DVD/CD-ROMドライブを入力する。入力する各部品の個数は、第１端子類および第２端子類が１または複数、これら以外の部品は１とする。配置部品＆個数入力手段１０２および配置層サイズ入力手段１０１は入力手段１００に含まれる。
【００１９】
ここで、図１のデータベース１０３にはノート型ＰＣ内に配置する各部品の部品情報が格納されている。部品情報は、部品の形状・サイズ（縦・横・高さ：寸法）、配置されるべき配置層、当該配置層において配置可能な範囲を含み、少なくともサイズ（縦・横・高さ：寸法）を含む。本例では各部品が配置されるべき配置層として以下の内容が定義されているとする。
（１）基板上面層：CPU、VGA、第１端子類
（２）基板下面層：メモリ装置、MCH、第２端子類
（３）筐体上面層：キーボード、タッチパッド、スピーカー
（４）筐体内部層：冷却用ファン、ハードディスクドライブ、DVD/CD-ROMドライブ
【００２０】
ただし上述のバッテリは、ここでは筐体内における筐体下面に取り付ける部品（筐体下面部品）として、上記４つの配置層のいずれにも属さない。すなわち筐体下面部品は本例では１つのみであるため、他の配置層における部品配置が終了した時点で筐体の高さが最も低くなる位置にバッテリを配置すればよく、したがって筐体下面部品を配置する層として筐体下面配置層を用意しない（配置層サイズ入力手段１０１から入力しない）こととした。
【００２１】
上述の各部品の配置可能範囲の情報としては、例えば、第１および第２の端子類は各々の配置層において筐体の側面側・背面側のみ、DVD/CD-ROMドライブはその配置層において筐体の側面側・手前面側（ユーザに近い側）のみといった情報が定められる。配置箇所が制限されない旨の情報が定められてもよい。
【００２２】
ここで、本例では、上述のように各部品と、当該部品を配置する配置層との関係をデータベース１０３において定義しておくこととしたが、そうではなく、入力手段１００を用いてユーザにより各部品を配置すべき配置層の情報を入力するようにしてもよい。
【００２３】
次に、ステップ２において、部品配置層分類手段１０４がデータベース１０３と入力手段１０１からデータを読み取り、各部品をそれぞれどの配置層に分類するかを決定する。部品と配置層との関係は上述したようにデータベース１０３において定義しておいてもよいし、入力手段１００を用いてユーザにより入力してもよい。部品配置層分類手段１０４は、データベース１０３および入力手段１０１から読み取ったデータを少なくとも一時的に記憶する記憶手段を有している。
【００２４】
次にステップ３において、部品配置設定手段１０５が、配置層毎に、部品の配置規則と、どの部品から順番に配置を行うかを示す配置順位とを決定する。すなわち部品配置設定手段１０５は部品配置順決定手段、配置規則決定手段を有する。
【００２５】
配置規則の例を図３（Ａ）〜図３（Ｈ）に示す。大きな矩形の枠Ｗ１〜Ｗ８は、任意の配置層を平面的に見たときの全体領域を表している（本例では上述したように各配置層の平面形状およびサイズは同じである）。○の中の数字は部品を配置した順番（配置順位）を表している。
図３（Ａ）の「左から下詰め」は、まず部品をできるだけ左側に詰め（寄せ）、次にできるだけ下側に詰める（寄せる）ことを意味する。
図３（Ｂ）の「左から上詰め」は、まず部品をできるだけ左側に詰め、次にできるだけ上側に詰めることを意味する。
図３（Ｃ）の「右から下詰め」は、まず部品をできるだけ右側に詰め、次にできるだけ下側に詰めることを意味する。
図３（Ｄ）の「下から左詰め」は、まず部品をできるだけ下側に詰め、次にできるだけ左側に詰めることを意味する。
図３（Ｅ）の「下から右詰め」は、まず部品をできるだけ下側に詰め、次にできるだけ右側に詰めることを意味する。
図３（Ｆ）の「右から上詰め」は、まず部品をできるだけ右側に詰め、次にできるだけ上側に詰めることを意味する。
図３（Ｇ）の「上から左詰め」は、まず部品をできるだけ上側に詰め、次にできるだけ左側に詰めることを意味する。
図３（Ｈ）の「上から右詰め」は、まず部品をできるだけ上側に詰め、次にできるだけ右側に詰めることを意味する。
【００２６】
一方、配置順位としては例えば高さの高い順、面積の大きい順、ランダム順などがある。
【００２７】
本例では、図４（Ａ）〜図４（Ｄ）のように、各配置層に対して、配置規則と配置順位が決定されたとする。
図４（Ａ）は、基板上面層に適用する配置規則と、基板上面層に配置する部品の配置順位とを示している。「ＩＤ」は各部品の識別子である。なお第１端子類の図示は省略されている。基板上面層には第１端子類を除き「上から左詰め」が適用され、第１端子類には「下から左詰め」が適用される（第１端子類についてはユーザとの親和性を考慮して「下から左詰め」としている）。配置順位についてはＣＰＵ、ＶＧＡの順となっている。Ｗ１１は基板上面層の平面領域を表している。この２次元領域は格子状に分割されているが、この理由は後において図６を用いて説明する。
図４（Ｂ）は、基板下面層に適用する配置規則と、基板下面層に配置する部品の配置順位とを示している。コネクタは第２端子類の一例である。基板下面層には第２端子類を除き「上から右詰め」が適用され、第２端子類には「下から右詰め」が適用される（第２端子類についてはユーザとの親和性を考慮して「下から右詰め」としている）。Ｗ１２は基板下面層の平面領域を表している。
図４（Ｃ）は、筐体上面層に適用する配置規則と、筐体上面層に配置する部品の配置順位とを示している。筐体上面層には「右から上詰め」が適用される。Ｗ１３は筐体上面層の平面領域を表している。
図４（Ｄ）は、筐体内部層に適用する配置規則と、筐体内部層に配置する部品の配置順位とを示している。筐体内部層には「下から左詰め」が適用される。Ｗ１４は基板内部層の平面領域を表している。前述した通り、Ｗ１１〜Ｗ１４により示される平面領域の形状およびサイズは同じである。
【００２８】
ここで各配置層間において同じ箇所（格子座標）に部品が集中することをできるだけ防いで筐体の高さを低くするため各配置層に適用する配置規則をそれぞれ異ならせている。ただし端子類はユーザとの親和性の観点から配置規則の重複を許すこととし、筐体上面層における第１端子類の配置規則と筐体内部層の配置規則とは重複している。また、このように配置層ごとに配置規則を異ならせると共に、配置順位として高さの高い順、または面積の大きい順とすることにより、有効な部品配置を行うことができる。後者の場合の配置例を図５（Ａ）および図５（Ｂ）に示す。図５（Ａ）のように面積の大きい順に配置しなかった場合、配置層Ａおよび配置層Ｂとで部品が重なり筐体が厚くなってしまうが、図５（Ｂ）のように面積の大きい順に配置することで配置層間での部品の重なりが低減される。
【００２９】
次にステップ４において、部品配置手段１０６が、各配置層において、配置箇所が一意に決定される部品をそれぞれ対応する箇所に配置する。本例ではキーボード、タッチパッドがこれにあたるとし、それぞれ筐体上面層における規定の箇所に配置する。
【００３０】
次にステップ５において、部品配置手段１０６が、基板上面層に配置すべき部品のうち第１端子類を除くものを、部品配置設定手段１０５により設定された配置規則および配置順位にしたがって配置する。すなわち、ＣＰＵ、ＶＧＡを、この順番で、「上から左詰め」により配置する。なお、配置の際、基板上面層において各部品が互いに重ならないように配置する。
【００３１】
次にステップ６において、部品配置手段１０６が、基板下面層に配置すべき部品のうち第２端子類を除くものを、部品配置設定手段１０５により設定された配置規則および配置順位にしたがって配置する。すなわち、ＭＣＨ、メモリ装置を、この順番で、「上から右詰め」により配置する。なお、配置の際、基板下面層において各部品が互いに重ならないように配置する。
【００３２】
次にステップ７において、筐体上面層に配置すべき部品を、部品配置設定手段１０５により設定された配置規則および配置順位にしたがって配置する。すなわち、スピーカーを「右から上詰め」で配置する。キーボードおよびタッチパッドはステップ４において既に配置済みである。なお、配置の際、筐体上面層において他の部品と重ならないように配置する。
【００３３】
次にステップ８において、筐体内部層に配置すべき部品を、部品配置設定手段１０５により設定された配置規則および配置順位にしたがって配置する。すなわち、冷却ファン、ハードディスクドライブ、ＤＶＤ／ＣＤ−ＲＯＭドライブを、この順番で、「下から左詰め」により配置する。筐体内部層以外の配置層では、各部品が互いに重ならないように配置するが、筐体内部層については各部品の重なりを許すこととする。ただし、重ねた際に、あらかじめユーザが設定する「筐体の標準高」を超えてしまうような配置になる場合は、重なりを許さないようする。「筐体の標準高」は固定値で設定してもよいし、配置途中の高さ推定値（後述する図６参照）の最大値を利用して決定してもよい。これについての詳細は後述する。
【００３４】
次にステップ９において、基板上面層に配置すべき部品のうち第１端子類を部品配置設定手段１０５により設定された配置規則および配置順位にしたがって配置する。すなわち、第１端子類を「下から左詰め」により基板上面層に配置する。なお、配置の際、基板上面層において各部品が互いに重ならないように配置する。すでに筐体内部層の部品が同じ位置（層は異なるが格子座標が同じの意味）に配置されており、かつ、設定された上記「筐体の標準高」を超えてしまう場合には、筐体内部層のその部品と重ならないように配置する。
【００３５】
次にステップ１０において、基板下面層に配置すべき部品のうち第２端子類を部品配置設定手段１０５により設定された配置規則および配置順位にしたがって配置する。すなわち第２端子類を「下から右詰め」により配置する。なお、配置の際、基板下面層において各部品が互いに重ならないように配置する。ただし、すでに筐体内部層の部品が同じ位置（層は異なるが格子座標が同じの意味）配置されており、かつ、設定された上記「筐体の標準高」を超えてしまう場合には、筐体内部層の当該部品と重ならないように配置する。
【００３６】
次にステップ１１において、格子点高さ評価手段１０７が、格子点（格子座標）ごとに当該格子座標に存在する全ての部品の高さの和（高さ推定値）を計算する。そして、筐体下面部品を配置した際に、最も低いまたは閾値以下の高さの和（高さ推定値）が得られる格子座標を求め、求めた格子座標の領域に筐体下面部品を配置する。各格子座標における高さの和（高さ推定値）の計算がどのように行われるのかを図６を用いて説明する。
【００３７】
図６において、筐体上面層Ｗ２１、基板上面層Ｗ２２、基板下面層Ｗ２３、筐体内部層Ｗ２４はそれぞれ平面的に格子状に分割され同じ数（２１個）の格子点を有する。筐体上面層Ｗ２１には、図示の領域Ｅに高さ１の部品が配置されている。同様に、基板上面層Ｗ２２には、領域Ｄに高さ４の部品が配置され、基板下面層Ｗ２３には、領域Ｃに高さ１の部品が配置され、筐体内部層Ｗ２４には、領域Ａに高さ３の部品が、領域Ｂに高さ２の部品が配置されている。各配置層Ｗ２１〜Ｗ２４において同一の格子座標における部品の高さを合計することにより、各格子座標における部品の高さの和（高さ推定値）を表した高さ評価データ１１０が得られる。この高さ評価データ１１０を用いて、筐体下面部品を配置した際に最も低いまたは閾値以下の高さの和（高さ推定値）が得られる格子座標を求め、求めた格子座標に筐体下面部品を配置する。
【００３８】
ここまでの手順で各配置層への部品配置は終了する。次に立体構造（筐体設計案）を出力するため、立体構造出力手段１０８において、ステップ１２〜ステップ１５の処理を行う。立体構造出力手段１０８は出力手段１０９に含まれる。立体構造出力手段１０８は例えば調整手段に相当する。
【００３９】
まずステップ１２において、図７に示すように、筐体上面層Ｗ３１の下に基板上面層Ｗ３２を、筐体上面部品と基板上面部品とが重ならないように配置する。すなわち筐体上面層Ｗ３１と基板上面層Ｗ３２とを向かい合わせ、筐体上面層Ｗ３１および基板上面層Ｗ３２の相対位置を積層方向に平行な方向（紙面に沿って平行に上または下側の方向）に調整する。
【００４０】
次にステップ１３において、基板上面層Ｗ３２の下に基板下面層Ｗ３３を基板の厚さ分の隙間Ｄ１を空けて配置する。
【００４１】
次にステップ１４において、筐体内部層Ｗ３４に配置された各筐体内部部品について各々独立に格子座標（２次元上の位置）を保持したまま、他の部品と重ならないように（接触は可能とする）配置する。この際、できるだけ筐体全体の高さ（筐体の厚み）が低くなるように配置する。
【００４２】
最後に、ステップ１５において、図８に示すように、筐体上面部品、基板上面部品、基板下面部品および筐体内部部品と重ならないように筐体下面部品を最下面（筐体下面）Ｐに配置する。最後の配置部品なので、他の部品の配置位置から、最も筐体の高さが低くなる位置は抽出可能である。以上により、最終的な立体構造（筐体設計案）が得られる。本例における最終的な筐体の厚みはＤ２によって示される。
【００４３】
複数の筐体設計案を得る場合には、ステップ１１の終了後、ステップ１６に進み、格子点高さ評価手段１０７において各格子座標における高さの和（高さ推定値）を計算する（筐体下面部品は除く）。なおこの計算はステップ１１で既に行われているためこの計算結果をそのまま用いてもよい。そして最も大きい格子座標にある、筐体下面部品以外の部品を１つ選ぶ。選択の方法は、ランダムでもよいし、あらかじめ各配置層に配置順位を設定しておきこの配置順位に従ってもよい。図６の例の場合、最も大きい和（高さ推定値）である７をもつ格子座標に配置されている部品B、D、Eが選ばれる候補となる。
【００４４】
そしてステップ１７において、部品配置設定手段１０５により格子点高さ評価手段１０７で選ばれた部品が属する配置層の配置順位を変更し、当該配置層において部品の配置をやり直す。これにより当該配置層において、異なる配置を得ることができる。この後は、再度、ステップ１１〜ステップ１５の処理を実行することで、上記と異なる立体構造（筺体設計案）を得ることができる。
【００４５】
ところで、上述したステップ８の説明において、筐体内部層への部品の配置の際、各部品の重なりを許すが、重ねた際に、あらかじめユーザが設定する「筐体の標準高」を超えてしまうような配置になる場合は、重なりを許さない旨を述べた。そして、筐体の標準高は固定値で設定してもよいし、配置途中の高さ推定値（図６参照）を利用して決定してもよい旨を述べた。これについての詳細を以下に説明する。
【００４６】
筐体内部層への部品の配置の際、２次元平面で各部品の重なりを許すものの、同じ箇所に部品を集中的に配置してしまうと、３次元に展開した際、筐体が分厚くなってしまう問題が生じる。そこで、「筐体の標準高」という概念を導入し、筐体の標準高を超える配置は許さないこととした。
【００４７】
筐体の標準高の設定は、上述のように固定値でもよいし、配置途中の高さ推定値の最大値を利用して行ってもよい。
【００４８】
筐体の標準高を固定値で与える場合、筐体の標準高はPCの設計者が考える最終的なPCの厚みに相当（図７および図８に示した筐体の厚みＤ２に相当）する。筐体の標準高と比較する高さは、図６における高さ推定値である。
【００４９】
したがって、筐体の標準高を固定値で与える場合、重なりが許されるかどうかは、まず、部品を仮配置し、その部品が占有する領域（１または複数の格子座標）の高さ推定値（複数の格子座標にまたがる場合は最大のもの）を計算する。そして、その部品が占有する領域の高さ推定値（ｈ１とする）と、筐体の標準高（ｈ２とする）とが、「ｈ１≦ｈ２」の関係を満たすならば、その箇所に配置を許す。一方、この関係を満たさないならば、配置を許さず、次の配置候補箇所を配置規則に基づき探索する。例えば配置規則にしたがって座標を１つずらした箇所を次の配置候補箇所として決定する（ただし配置可能範囲に属する必要がある）。決定した配置候補箇所に前回重なりが許さないと判定された部品が配置されている場合は、当該部品と重ならない箇所まで座標を配置規則に基づきずらすことが処理効率の観点から好ましい。
【００５０】
一方、配置途中の高さ推定値の最大値を利用した筐体の標準高は、ある配置途中（対象となる部品を配置する前）の高さ推定値の最大値をｈ３とすると、「ｈ３× 係数k」で与えられる。係数ｋは例えばPC設計者があらかじめ設定する。ある箇所に部品を仮配置し、該部品が占有する領域（１または複数の格子座標）の高さ推定値（複数の格子座標にまたがる場合は最大のもの）をh４とすると、「ｈ４≦ｈ３×係数k」の関係を満たすならば、部品をその箇所に配置する。一方、この関係を満たさないならば、次の配置候補箇所を配置規則にしたがって検索する。配置途中の高さ推定値の最大値を利用して筐体の標準高を決定するのは、PC設計者が考える最終的なPCの厚みは考慮せずに、薄い配置を高速に行いたい場合に有効である。
【００５１】
筐体の標準高の概念を導入せずに、単に高さ推定値が低くなる箇所を検索して部品を配置するようにしてもよいが、全ての箇所を検索する必要があるため計算時間がかかってしまう。これに対し、標準高の概念を導入すると、特定の条件（上述の不等式など）を満たす点が見つかった時点で配置が完了するため高速な配置が可能になる。
【００５２】
上述のステップ９における第１端子類の配置、ステップ１０における第２端子類の配置においても、筐体内部層の部品と重なる場合に、筐体の標準高を超えないように配置すべき旨を述べたが、これらについても上述と同様の手法により判定を行う。
【００５３】
なお、本実施形態における部品配置支援装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いて実現してもよい。すなわち部品配置層分類手段１０４、部品配置設定手段１０５、部品配置手段１０６、格子点高さ評価手段１０７、立体構造出力手段１０８は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することができる。このとき、部品配置支援装置は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、ＣＤ−ＲＯＭなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、データベース１０３は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ装置、ハードディスクもしくはＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒなどの記憶媒体などを適宜利用して実現することができる。
【図面の簡単な説明】
【００５４】
【図１】本発明の実施形態にしたがった部品配置支援装置の構成を示すブロック図。
【図２】図１の部品配置支援装置の動作を説明するフローチャート。
【図３】配置規則の例を説明する図。
【図４】配置層毎に決定された配置規則と配置順位とを示す図。
【図５】面積が大きい順に部品を配置した場合の効果を説明する図。
【図６】各格子座標における高さの和（高さ推定値）の計算を説明する図。
【図７】作成途中の立体構造を示す図。
【図８】最終的に得られた立体構造を示す図。
【符号の説明】
【００５５】
１００：入力手段
１０１：配置層サイズ入力手段
１０２：配置部品＆個数入力手段
１０３：データベース
１０４：部品配置層分類手段
１０５：部品配置設定手段
１０６：部品配置手段
１０７：格子点高さ評価手段
１０８：立体構造出力手段
１０９：出力手段
【図１】
2008108217.tif 000003
【図２】
2008108217.tif 000004
【図３】
2008108217.tif 000005
【図４】
2008108217.tif 000006
【図５】
2008108217.tif 000007
【図６】
2008108217.tif 000008
【図７】
2008108217.tif 000009
【図８】
2008108217.tif 000010