以下に添付図面を参照して、この発明にかかる設計プログラム、設計方法、および設計装置の実施の形態を詳細に説明する。
図1は、本発明にかかる設計装置による一動作例を示す説明図である。設計装置100は、シミュレーション空間上に配置された物体101の開口部を特定するコンピュータである。ここで、シミュレーション空間とは、コンピュータ上でシミュレーションされる仮想的な3次元空間である。具体的には、例えば、シミュレーション空間は、3次元のアセンブリの設計を行うためのCADによって設計装置100内に仮想的に設定された空間である。シミュレーション空間には、例えば、x軸とy軸とz軸とからなる3次元の直交座標系が定義される。ここで、検証対象の物体101は、2つ以上の部品によって形成されるアセンブリモデルである。物体101は、製品全体をコンピュータ上に仮想化したモデルであってもよいし、製品を形成する一部をコンピュータ上に仮想化したアセンブリモデルであってもよい。物体101とは、PC(Personal Computer)、タブレットPC、サーバ、携帯情報端末、スマートフォン、自動車、家電製品などの機械製品などをコンピュータ上に仮想化したアセンブリモデルである。部品は、これ以上分解できない最小単位のモデルである。また、各部品は、例えば、位置情報などを含む3次元のCADデータで表現される。部品情報例については、後述する。
図1(1)に示すように、設計装置100は、物体101に含まれる複数の部品の各々を示す部品情報に基づいて、物体101を内包する第1直方体102を示す第1直方体情報を生成する。例えば、設計装置100は、物体101を内包する最小の第1直方体102を生成する。第1直方体情報は、第1直方体102の面を形成する頂点を示す頂点情報などである。
図1(2)に示すように、設計装置100は、生成した第1直方体情報が示す第1直方体102を分割した複数の第2直方体の各々を示す第2直方体情報を生成する。ここでは、第2直方体をグリッドgと称する。第2直方体情報は、グリッドgの面を形成する頂点を示す頂点情報などである。図1(3)は、物体101とグリッドgとの断面例を示す。
図1(4)に示すように、設計装置100は、生成した第2直方体情報が示す複数のグリッドgのうち、第1直方体102の少なくともいずれかの面SFの法線上の該面SFとグリッドgとの間に、複数の部品の少なくとも一部を含むグリッドgがない第3直方体を抽出する。ここで、抽出される第3直方体を外部領域空間exdsとも称する。例えば、設計装置100は、該グリッドgから、面SFの法線方向と逆方向に複数の部品の少なくとも一部を含むグリッドgまでの間にあるグリッドgと、面SFに接するグリッドgと、のうち、複数の部品のいずれの一部も含まないグリッドgを抽出する。
図1(5)に示すように、設計装置100は、複数のグリッドgのうち、抽出した外部領域空間exdsと、複数のグリッドgのうちの複数の部品の少なくとも一部を含むグリッドgと、を除いた第4直方体を抽出する。ここで、抽出される第4直方体を内部領域空間indsとも称する。
そして、図1(6)に示すように、設計装置100は、抽出した外部領域空間exdsの面と、抽出した内部領域空間indsの面と、の間で重複する面を抽出する。ここで、抽出される重複する面を境界面bsとも称する。これにより、内部の空間と外部の空間とが区別され、物体101内の開口部を特定することができる。また、設計装置100は、抽出結果をディスプレイなどに表示してもよい。
つぎに、設計装置100は、抽出した境界面bsのうち、連続する複数の境界面bsを検出する。ここで、検出された連続する複数の境界面bsによって形成される形状が1つの開口部である。そして、設計装置100は、開口部の各面のサイズを導出する。具体的には、設計装置100は、開口部に含まれる複数の境界面bsを、境界面bsの法線方向が同一の境界面bsが同一グループとなるようにグループ化する。つぎに、設計装置100は、グループ化したグループの各々について、グループを1つの面とした場合の面のサイズを導出する。そして、設計装置100は、グループ化したグループの各々について、検出したサイズが所定サイズ以下であるか否かを判断する。所定サイズは、設計ルールに基づいて定まる。例えば、所定サイズは、発振機を有する半導体集積回路の周波数に対して波長λ/4とならない大きさである。例えば、発振機が3[GHz]であれば、波長λは100[mm]であり、所定サイズは25[mm](λ/4)となる。所定サイズ以下であると判断された場合、設計装置100は、開口部は電波が外部に放射しにくい構造であることを示す情報を出力してもよい。
また、本実施の形態では、設計装置100は、境界面から連続する内部領域空間indsを検出し、連続する内部領域空間indsによって形成される空間のサイズを導出してもよい。これにより、内部から開口部までの間の形状が電波や音波の減衰効果を生む形状であるか否かを判断可能である。
また、本実施の形態では、設計装置100は、開口部間にある外部領域空間によって形成される開口領域を抽出する。そして、設計装置は、開口領域のサイズを導出する。これにより、内部領域空間と外部領域空間との境界面である開口部よりも外から見える開口の方が狭い場合がある。このように、狭い開口を抽出することにより、電波や音波が外部に放射しにくい構造であるか否かをより精度良く判定することができる。
また、本実施の形態では、設計装置100は、境界面bdから静電気が印加された場合の境界面bdから導電体である部品までの経路を特定し、経路の長さを算出する。これにより、経路の長さによって導電体である部品が静電気による影響を受けるか否かを判定することができる。また、静電気が印加される位置を利用者が指定しなくてよいため、設計検証の手間を省くことができる。
(設計装置のハードウェア構成例)
図2は、設計装置のハードウェア構成例を示すブロック図である。図2において、設計装置100は、CPU201(Central Processing Unit)と、ROM202(Read Only Memory)と、RAM203(Random Access Memory)と、ディスクドライブ204と、ディスク205と、を有している。設計装置100は、I/F206(Inter/Face)と、ディスプレイ207と、キーボード208と、マウス209と、を有する。また、各部はバス210によってそれぞれ接続されている。
ここで、CPU201は、設計装置100の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。ディスクドライブ204は、CPU201の制御にしたがってディスク205に対するデータのリード/ライトを制御する。ディスク205は、ディスクドライブ204の制御で書き込まれたデータを記憶する。ディスク205としては、磁気ディスク、光ディスクなどが挙げられる。
I/F206は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワークNETに接続され、このネットワークNETを介して他の装置に接続される。そして、I/F206は、ネットワークNETと内部のインターフェースを司り、外部装置からのデータの入出力を制御する。I/F206には、例えばモデムやLANアダプタなどを採用することができる。
ディスプレイ207は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。ディスプレイ207は、例えば、液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
キーボード208は、文字、数字、各種指示などの入力のためのキーを有し、利用者の操作によるデータの入力が可能である。また、キーボード208は、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス209は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
(設計装置100の機能的構成例)
図3は、設計装置の機能的構成を示すブロック図である。設計装置100は、制御部301と、出力部302と、記憶部303と、を含む。出力部302は、例えば、ディスプレイ207によって実現される。記憶部303は、例えば、RAM203、ディスク205などによって実現される。
図4は、記憶部の記憶内容例を示す説明図である。記憶部303は、部品情報401と、グリッド情報402と、設計ルール情報403と、を有する。部品情報401は、検証対象の物体に含まれる各部品を示す情報である。グリッド情報402は、物体をメッシュ状に複数の要素に区切った場合の各要素を示す情報である。設計ルール情報403は、物体を設計するためのルールを示す情報である。設計ルール情報403は、開口部のサイズ、形状的に減衰効果を発生させる隙間のサイズ、静電気における沿面距離と空間距離との加算距離などの情報を有する。
また、設計ルールにおける開口部のサイズとは、発振機を有する物体の周波数に対してλ/4波長とならないサイズである。設計ルールにおける開口部のサイズ以下であれば、電波や音波が出にくい開口部であり、設計ルールにおける開口部のサイズより大きければ、電波が出やすい開口であると判断される。また、部品の形状間の隙間は0.1[mm]程度であり、この隙間の長さが20[mm]以上ある場合に形状的に電波や音波の減衰効果を生む隙間である。また、静電気についての設計ルールとは、例えば、1[kV]であれば、静電気の入力点と電子部品との間は、沿面距離と空間距離とを合わせて1[mm]以上離さなければならない。そこで、設計値が9[kV]の場合、9mm以上離さなければならない。部品情報401とグリッド情報402との詳細例は後述する。
図5は、部品情報の記憶内容例を示す説明図である。部品情報401は、シミュレーション空間上に検証対象の物体を表示させるための情報であり、検証対象の物体に含まれる各部品を示す情報である。ここで、シミュレーション空間とは、コンピュータ上でシミュレーションされる仮想的な3次元空間である。具体的には、例えば、シミュレーション空間は、3次元のアセンブリの設計を行うためのCADによって設計装置100内に仮想的に設定された空間である。部品情報401は、例えば、部品ID、形状、位置、導電性などのフィールドを有する。各フィールドに情報が設定されることにより、レコード(500−1など)として記憶される。また、図示しないが、色情報などを有していてもよい。
部品IDのフィールドには、部品を一意に特定可能な識別情報が設定される。形状のフィールドには、部品の形状を示す情報が設定される。位置のフィールドには、部品の位置を示す情報が設定される。シミュレーション空間には、例えば、X軸とY軸とZ軸とからなる3次元の直交座標系が定義される。導電性のフィールドには、導電性の有無が設定される。
図6は、物体例を示す説明図である。図6(a),(b)に示すように、物体600は、例えば、DC−IN,ロアカバー、外部IF部などを有する。また、物体600には、通気口や外部IF部の開口などがある。図6(a),(b)に示す物体600は、理解の容易化のために、装置を断面で表示した状態である。
図3の説明に戻って、図3に示した制御部301の処理は、例えば、CPU201がアクセス可能な記憶部303に記憶された設計プログラムにコーディングされている。そして、CPU201が記憶部303から設計プログラムを読み出して、設計プログラムにコーディングされている処理を実行する。これにより、制御部301の処理が実現される。また、各部の処理結果は、例えば、RAM203、ディスク205などの記憶装置に記憶される。
制御部301は、外部領域空間を作成する処理と、内部領域空間を作成する処理と、境界面を作成する処理と、開口単位に分類する処理と、開口の隙間と設計ルールの比較結果を表示する処理と、を行う。
図7は、制御部の機能的構成を示すブロック図である。制御部301は、外部領域空間抽出部701と、内部領域空間抽出部702と、境界面抽出部703と、開口隙間抽出部704と、内部隙間抽出部705と、開口領域特定部706と、静電気経路特定部707と、を有する。
また、以降立方体、直方体、領域空間などが生成されるが、これらはシミュレーション空間上に生成されるものであって、実際には例えば、立方体、直方体、領域空間などの各頂点を示す頂点情報などが生成される。
まず、外部領域空間抽出部701は、シミュレーション空間上に配置された物体600から、面SFから内側方向に物体600形状に接触するまでを埋めた外部領域空間を抽出する。面SFとは、物体600を最も小さく直方体で内包した各面である。直方体の種類には、立方体が含まれる。具体的には、外部領域空間抽出部701は、物体600に接触し、物体600を内包する最小の直方体を示す直方体情報を生成する。
図8は、直方体と直方体の面例を示す説明図である。上述したように、シミュレーション空間上には、直方体に基づきx,y,zの基準となる座標系が定義されてある。直方体800は、面SF−1〜SF−6によって形成される。
つぎに、外部領域空間抽出部701は、直方体情報が示す直方体800を所定サイズで分割した複数の部分直方体を示すグリッド情報402を生成する。部分直方体は、グリッドとも称する。
図9は、グリッド例を示す説明図である。図10は、グリッド情報例を示す説明図である。図9に示すように、直方体800は複数のグリッドに分割される。グリッド情報402は、各グリッドに設定可能な情報である。グリッド情報402は、グリッド位置、グリッド属性、部品タイプ、導電性、面のフィールドを有する。各フィールドに情報が設定されることにより、グリッドに対応するレコード(1000−1)として記憶される。
グリッド位置のフィールドには、上述したように、定義された座標系に基づく座標が設定される。グリッド属性のフィールドには、グリッドがいずれの属性であるかを示す情報である。属性としては、部品、後述する外部領域空間、後述する内部領域空間、後述する内部隙間領域、後述する境界領域、後述する開口領域のいずれかが挙げられる。部品タイプのフィールドには、グリッド属性が部品であるグリッドについて、グリッドと位置が重複する部品のタイプを示す情報が設定される。部品タイプとしては、外部、電気、一般のいずれかが設定される。導電性のフィールドには、グリッド属性が部品であるグリッドについて、グリッドと位置が重複する部品の導電性の有無が設定される。面のフィールドには、グリッドを形成する6つの面の各々について、部品境界であるか、境界であるか、開口であるか、いずれでもないかが設定される。いずれでもない場合には「−」が設定される。6つの面には、Xminの面と、Xmaxの面と、Yminの面と、Ymaxの面と、Zminの面と、Zmaxの面と、がある。
図11は、生成された面と物体との断面例1を示す説明図である。図11に示す各マスがグリッドである。
図12は、外部領域空間抽出例1を示す説明図である。つぎに、外部領域空間抽出部701は、複数の面SFから順に1つの面SFを選択する。外部領域空間抽出部701は、選択した面SFと接するグリッドを順に選択する。そして、外部領域空間抽出部701は、複数のグリッドのうち、選択したグリッドから内側方向に少なくとも一部が部品と重複するグリッドまでの間にある部品と重複しないグリッドを外部領域空間exdsとして抽出する。抽出結果は、グリッド情報402のグリッド属性のフィールドに設定される。内側方向とは選択した面SFの法線ベクトル方向naの逆方向ndiである。
そして、外部領域空間抽出部701は、選択したグリッドから内側方向に少なくとも一部が部品と重複する最初のグリッドを外装部品領域expaとして抽出する。抽出結果は、グリッド情報402のグリッド属性のフィールドに設定される。また、外部領域空間抽出部701は、部品情報401に基づいて、抽出した外装部品領域expaに少なくとも一部が重複する部品の導電性の有無を抽出する。抽出結果は、グリッド情報402のグリッド属性のフィールドとグリッド情報402の導電性のフィールドとに設定される。
図13は、内部領域空間抽出例1を示す説明図である。つぎに、内部領域空間抽出部702は、未抽出のグリッドの各々について、部品情報401に基づいて、グリッドに少なくとも一部が重複する部品があるか否かを判断する。そして、内部領域空間抽出部702は、重複する部品がないグリッドであれば、内部領域空間indsとして抽出する。抽出結果は、グリッド情報402のグリッド属性のフィールドに設定される。
そして、内部領域空間抽出部702は、重複する部品があるグリッドであれば、部品領域paとして抽出する。また、内部領域空間抽出部702は、部品情報401に基づいて、部品領域paとして抽出されたグリッドに重複する部品の導電性の有無を抽出する。抽出結果は、グリッド情報402のグリッド属性のフィールドとグリッド情報402の導電性のフィールドとに設定される。
図14は、境界面の抽出例1を示す説明図である。つぎに、境界面抽出部703は、内部領域空間indsの面のうち、外部領域空間exdsの面に接触する接触面を境界面bsとして抽出する。抽出結果は、グリッド情報402の面のフィールドに設定される。図14の例では、境界面抽出部703は、内部領域空間indsであるグリッドgxの面と外部領域空間exdsであるグリッドgyの面との接触面を境界面bs11として抽出する。また、図14の例では、境界面抽出部703は、内部領域空間indsであるグリッドgoの面と外部領域空間exdsであるグリッドgpの面との接触面を境界面bs12として抽出する。
つぎに、開口隙間抽出部704は、抽出した境界面bsのうちいずれかを選択する。開口隙間抽出部704は、選択した境界面bsを新規開口部として記録する。つぎに、開口隙間抽出部704は、選択した境界面bsと隣接する境界面bsを選択する。そして、開口隙間抽出部704は、選択した境界面bsと選択した隣接する境界面bsとを同一の開口部として記録する。つぎに、開口隙間抽出部704は、同一の開口部として記録された複数の境界面bsのいずれかに隣接する境界面bsを選択する。そして、開口隙間抽出部704は、あらたに選択した境界面bsを複数の境界面bsと同一の開口部として記憶部303に記録する。
図15は、連続する境界面の抽出と隙間のサイズの特定例を示す説明図である。図15(a)に示すように、連続する境界面bsが同一の開口部として特定される。つぎに、開口隙間抽出部704は、特定された開口部に含まれる境界面bsのうち、法線方向が同一の境界面bsごとにグループ化する。図15(a)に示すように、開口部に含まれる境界面bsの法線方向は4つあるため、図15(b)に示すように、4つのグループにグループ化される。そして、開口隙間抽出部704は、グループ化したグループごとにグループに含まれる境界面bsによって形成される1つの面を隙間として抽出する。そして、開口隙間抽出部704は、隙間のサイズを算出する。例えば、開口隙間抽出部704は、グループごとに、グループに含まれる境界面bsを投影することにより、1つの面を示す情報を生成可能である。ここで、開口隙間抽出部704は、得られた一つの面を隙間として記憶部303に記憶する。そして、開口隙間抽出部704は、投影によって得られた隙間のサイズを算出する。隙間のサイズとは、例えば隙間の縦横の長さである。
そして、開口隙間抽出部704は、抽出した隙間のサイズと、設計ルール情報403に含まれる隙間のサイズと、を比較する。抽出した隙間のサイズが、設計ルール情報403に含まれる隙間のサイズよりも小さい場合、開口隙間抽出部704は、抽出した隙間は電波が通りにくい隙間であると判断する。抽出した隙間のサイズが、設計ルール情報403に含まれる隙間のサイズ以上の場合、開口隙間抽出部704は、抽出した隙間は電波が通りやすい隙間であると判断する。そして、出力部302は、抽出した隙間と、比較結果と、を関連付けて出力する。
図16は、内部隙間領域の抽出例を示す説明図である。ここで、抽出される内部隙間領域の各サイズによって減衰効果を生む隙間であるか否かを判断する。内部隙間抽出部705は、内部領域空間indsのうち、抽出済みの開口部に含まれる境界面bsから連続する複数の内部領域空間indsを検出する。そして、内部隙間抽出部705は、検出した複数の内部領域空間indsによって形成される空間のサイズを導出する。内部隙間抽出部705は、連続する複数の内部領域空間indsをすべて検出した後に空間のサイズを導出してもよいし、空間のサイズを導出しながら連続する複数の内部領域空間indsを順に検出してもよい。複数の内部領域空間indsによって形成される空間のうち、狭い空間の部分が内部隙間領域である。
内部隙間抽出部705は、抽出済みの開口部に含まれる境界面bsに接する内部領域空間indsを対象領域とする。そして、内部隙間抽出部705は、対象領域と、対象領域から、境界面bsから内部領域空間indsがある方向(チェック方向cd)以外の複数の方向のいずれかの方向にある内部領域空間indsの連続空間のサイズが一定値以下であるか否かを判断する。チェック方向cd以外の方向の一例として、両方向cdoを図16に示す。一定値については、利用者によって予め定められてあり、記憶部303などに記憶されてある。ここでは、例えば、一定値を5とする。ここでは、理解の容易化のために一定値をグリッド単位として5とするが、実際には、一定値は0.1[mm]などである。図16に示すように、例えば、内部隙間抽出部705は、境界面bs11に接触する内部領域空間indsであるグリッドgxを対象グリッドとする。対象グリッドであるグリッドgxから、チェック方向cd以外の方向cdoに内部領域空間indsがないため、連続空間のサイズは1である。そのため、内部領域空間indsの連続空間のサイズは一定値以下であると判断される。内部隙間抽出部705は、一定値以下であると判断された内部領域空間indsを内部隙間領域として抽出する。抽出結果は、グリッド情報402のグリッド属性のフィールドに設定される。
つぎに、内部隙間抽出部705は、対象グリッドを、対象グリッドからチェック方向cdへ1ずらしたグリッドにする。そして、同様に、内部隙間抽出部705は、対象グリッドと、対象グリッドからチェック方向以外の方向にある内部領域空間indsであるグリッドと、のグリッド数が一定値未満であるか否かを判断する。図16に示すように、例えば、対象グリッドがグリッドgxからグリッドgzになる。そして、例えば、内部隙間抽出部705は、グリッドgzとグリッドgzから、方向cdoに内部領域空間indsであるグリッドと、のグリッド数は6であるため、一定値以上であると判断する。一定値以上であると判断された場合、内部隙間抽出部705は、対象グリッドを対象グリッドからチェック方向cdへ1ずらしたグリッドにする。
内部隙間抽出部705は、チェック方向cdに内部領域空間inds以外のグリッドとなるまで、内部隙間領域を抽出する処理を繰り返す。そして、チェック方向cdに内部領域空間inds以外のグリッドとなると、内部隙間抽出部705は、抽出した内部隙間領域のサイズと、設計ルール情報403に含まれる隙間のサイズと、を比較する。内部隙間領域のサイズとは、チェック方向cdにおける連続する内部隙間領域の長さである。例えば、内部隙間領域の長さが設計ルール情報403に含まれる隙間のサイズよりも大きい場合、内部隙間抽出部705は、内部隙間領域を、形状的に減衰効果を生む隙間であると判断する。一方、内部隙間領域の長さが設計ルール情報403に含まれる隙間のサイズ以下である場合、内部隙間抽出部705は、内部隙間領域を、形状的に減衰効果を生まない隙間であると判断する。図16の例では、境界面bs11についての内部隙間領域はグリッドgxだけである。例えば、設計ルール情報403に含まれる隙間のサイズがグリッド単位で5である場合、内部隙間抽出部705は、境界面bs11について抽出した内部隙間領域は形状的に減衰効果を生まない領域であると判断する。そして、出力部302は、内部隙間抽出部705による比較結果と、内部隙間抽出部705によって抽出された内部隙間領域と、を表示する。
図17は、内部隙間領域例を示す説明図である。図17には、内部隙間領域例と、チェック方向cd1〜cd4を示す。また、チェック方向cd2と直交する方向において内部隙間領域のサイズが計測される。例えば、上述したように、連続する内部隙間領域の長さが、設計ルールに含まれる隙間のサイズよりも長い場合、連続する内部隙間領域は、電波の入出口までに減衰が期待できる効果領域である。
つぎに、通気口などの外部領域空間のうち、開口領域を抽出する例を説明する。内部にある隙間よりも面SFから見た開口の方が狭いと、面SFから見た開口によって音波や電波は外部に放射しにくくなるため、内部にある隙間は無視して良い。
まず、開口領域特定部706は、境界面bsのうち、法線が一致する境界面bsの組み合わせの各々について、組み合わせに含まれる2つの境界面bsの間に外部領域空間exdsのいずれかのみがある場合、該2つの境界面bsの間にある境界領域を抽出する。開口領域特定部706は、外部領域空間exdsのうち、境界領域の面のうち、面SFの法線上の面SFと境界領域の面との間に、境界領域以外の外部領域空間exdsがある面を開口領域として抽出する。以降に開口領域特定部706の詳細な説明をする。
図18は、生成された面と物体との断面例2を示す説明図である。図18では、内部空間よりも面SFから見た開口の方が狭い。
図19は、外部領域空間抽出例2を示す説明図である。外部領域空間抽出部701は、上述した処理によって外部領域空間exdsと外装部品領域expaとを抽出する。
図20は、境界領域の抽出例を示す説明図である。内部領域空間抽出部702が上述した処理によって内部領域空間indsを抽出する。境界面抽出部703は、上述した処理によって境界面bsを抽出し、抽出した境界面bsに基づく開口部を抽出する。つぎに、開口領域特定部706は、抽出済みの開口部に含まれる境界面bsから、法線が一致する境界面bs面の組み合わせの各々について、組み合わせに含まれる境界面bsの間に外部領域空間exdsのいずれかのみがある場合、外部領域空間exdsのうち、組み合わせに含まれる境界面bsの間にある第5直方体を抽出する。ここで、第5直方体を境界領域とも称する。具体的に、開口領域特定部706は、抽出済みの開口部に含まれる境界面bsから、当該境界面bsに接する外部領域空間exdsがある方向(抽出方向ad)の延長上に当該抽出済みの開口部に含まれる別の境界面bsがあるか否かを判断する。別の境界面bsがあると判断された場合、開口領域特定部706は、境界面bsと別の境界面bsとの間にある外部領域空間exdsを境界領域として抽出する。図20の例では、開口領域特定部706は、境界面bs21と境界面bs22との間にある外部領域空間exdsを境界領域として抽出する。抽出結果は、グリッド情報402のグリッド属性のフィールドに設定される。
図21は、外部領域空間の削除例を示す説明図(その1)である。開口領域特定部706は、抽出された境界領域barに接する外部領域空間exdsを特定する。開口領域特定部706は、接する外部領域空間exdsのうち、外部領域空間exdsの作成方向と、抽出された境界領域barの各面のうちのいずれかの法線の方向と、同一である外部領域空間exdsを特定する。外部領域空間exdsの作成方向とは、上述したように、面SFの法線ベクトルの方向naと逆方向ndiである。そして、開口領域特定部706は、特定した外部領域空間exdsを削除する。具体的には、特定した外部領域空間exdsを削除するとは、開口領域特定部706が、特定した外部領域空間exdsであるグリッドに対応するグリッド情報402のグリッド属性のフィールドに設定された外部領域空間exdsを示す情報を削除することである。図21の例では、外部領域空間exdsであるグリッドga〜gcが削除される。
図22は、外部領域空間の削除例を示す説明図(その2)である。開口領域特定部706は、外部領域空間exdsの作成方向以外の方向に連続する外部領域空間exdsのうち、外装部品領域expaに接しない外部領域空間exdsを特定する。そして、開口領域特定部706は、特定した外部領域空間exdsを削除する。具体的には、特定した外部領域空間exdsを削除するとは、開口領域特定部706が、特定した外部領域空間exdsであるグリッドに対応するグリッド情報402のグリッド属性のフィールドに設定された外部領域空間exdsを示す情報を削除することである。図22では、例えば、外部領域空間exdsであるグリッドgdなどが削除される。
図23は、開口領域の特定例を示す説明図である。図24は、開口領域を3次元で表した例を示す説明図である。開口領域特定部706は、境界領域barに接する外部領域空間exdsの作成方向と、当該外部領域空間exdsに接する境界領域barの面の法線と、が正対する場合、境界領域barに接する外部領域空間exdsを開口領域として特定する。特定結果は、グリッド情報402のグリッド属性のフィールドに記憶される。また、境界領域barに接する開口領域の面を開口として、グリッド情報402の面のフィールドに記憶される。また、開口領域特定部706は、開口領域に接する境界領域barの面のサイズを開口領域のサイズとして特定する。図23および図24に示すように、開口領域は例えばグリッドgeなどである。図23および図24に示すように、開口領域特定部706は、開口領域のサイズosizeを特定する。また、図23に示すように、開口領域特定部706は、境界面bsのサイズbsizeを特定する。
また、例えば、開口領域特定部706は、開口領域のサイズosizeと設計ルール情報403に記憶された開口部のサイズと、を比較してもよい。また、開口領域特定部706は、特定した開口領域のサイズosizeと、境界面bsのサイズbsizeと、を比較する。例えば、特定した開口領域のサイズosizeが、境界面bsのサイズbsizeよりも狭い場合、開口領域特定部706は、開口領域のサイズosizeと設計ルール情報403に記憶された開口部のサイズと、を比較する。一方、例えば、特定した境界面bsのサイズbsizeが、開口領域のサイズosizeよりも狭い場合、開口領域特定部706は、特定した境界面bsのサイズbsizeと設計ルール情報403に記憶された開口部のサイズと、を比較する。このようにして、最も狭い開口部について、電波の出にくい開口部のサイズであるか否かの判定が行われる。
つぎに、開口による静電気印加による影響の有無を特定する例について説明する。本実施の形態では、設計装置100は、物体600が組み立てられた状態において利用者による印加箇所の指定操作なしで、印加電圧による静電気経路における空間距離と沿面距離との加算結果が設計ルールにおける距離以内の箇所を表示する。
静電気経路特定部707は、複数の部品のうち、境界面bsに隣接する部品領域paに含まれる部品が非導電体である場合、内部領域空間indsの面のうち、部品領域paに含まれる部品に隣接する面によって形成される形状の各面を特定する。そして、静電気経路特定部707は、特定した各面のうち、内部領域空間indsのうちの境界面bsに重複する面を有する第4直方体の面に連続する複数の面を特定する。つぎに、静電気経路特定部707は、特定した複数の面のうち、複数の部品のうちの導電体である部品と該面との間に、複数の部品のうちの非導電体である部品がない面と、導電体である部品と、の間の距離を算出する。そして、静電気経路特定部707は、境界面bsから、特定した複数の面のうち算出した距離が所定距離以内である面までの長さと、算出した距離と、を加算する。つぎに、静電気経路特定部707による処理の詳細を以降に説明する。
図25は、静電気経路例を示す説明図である。図25(a)には、マウス209に含まれるクリックスイッチにおける静電気経路例を示す。マウス209は、例えばクリックボタンと、クリックスイッチと、プリント基板と、を含む。例えば、静電気の印加点からクリックスイッチまでの距離が電圧値に基づく距離より小さければ、クリックスイッチは静電気印加による影響があると判断される。静電気の印加点からクリックスイッチまでの距離は、破線部の距離である。破線部の距離が電圧値に基づく距離以上であれば、クリックスイッチは静電気印加による影響がないと判断される。図25(a)には、破線部の長さが10mm以上であればよいとして例に挙げている。
ここで、印加点から検証対象の導電体(例えば、クリックスイッチ)までの距離は、空間距離と沿面距離とがある。図25(b)に示すように、空間距離は、絶縁された導電体間の最短距離であり、沿面距離は、絶縁された導電体間を隔てる非導電体の表面に沿った距離である。例えば、静電気の対策としては、導電体間の空間距離と沿面距離との加算距離を1[kV]当たり1[mm]以上離すこととする。例えば、9[kV]の場合、導電体間が9[mm]以上離れていなければならない。設計ルール情報403には、離さなければならない距離が含まれる。
図26は、静電気経路の特定例を示す説明図(その1)である。図26には、非導電体の部品と、導電体の部品epa2と、電気部品epa1と、を含む物体600の断面例を示す。
図27は、静電気経路の特定例を示す説明図(その2)である。図27においては、外部領域空間exdsと、内部領域空間indsと、境界面bsと、は抽出済みである。まず、静電気経路特定部707は、電気部品の外形から設計ルール情報403に含まれる範囲内にある内部領域空間indsを検証対象空間領域として抽出する。つぎに、静電気経路特定部707は、検証対象空間領域にある境界面bsに隣接する部品が導電性なしの場合、検証対象空間領域面とする。境界面bs31〜bs33は、いずれも非導電体の部品と隣接しているため、検証対象空間領域面である。
図28は、静電気経路の特定例を示す説明図(その3)である。静電気経路特定部707は、内部領域空間indsの各面のうち、非導電体の部品に隣接する面に対して同一法線の面ごとの集合体を非導電体部品面として抽出する。図28の例では、検証対象空間領域面である境界面bs32を例に挙げると、非導電体部品面g1〜g4が抽出される。
図29は、静電気経路の特定例を示す説明図(その4)である。静電気経路特定部707は、検証対象空間領域面に隣接する非導電体部品面を対象の非導電体の部品面とする。静電気経路特定部707は、導電体の部品のうち、対象の非導電体の部品面からの距離が基準距離以内の導電体の部品のうち、集合体からの距離が最も短い導電体の部品を最短距離部品として抽出する。例えば、検証対象空間領域面である境界面bs32を例に挙げると、対象の非導電体部品面は非導電体部品面g1である。静電気経路特定部707は、非導電体部品面g1と導電体の部品との間の距離と、非導電体部品面g1と電子部品との間の距離とが、基準距離以内であると判断する。そして、静電気経路特定部707は、非導電体部品面g1と電子部品との間の距離が非導電体部品面g1と導電体の部品との間の距離よりも短いため、電子部品を最短距離部品として抽出する。
つぎに、静電気経路特定部707は、対象の非導電体部品面と抽出した最短距離部品との間に部品があるか否かを判断する。あると判断された場合、静電気経路特定部707は、対象の非導電体部品面に隣接する非導電体の部品面をあらたな対象として、最短距離部品の抽出処理と、集合体と最短距離部品との間に部品があるかの判断処理とを行う。図29の例では、静電気経路特定部707は、非導電体の部品面g1と最短距離部品との間に部品があると判断する。
図30は、静電気経路の特定例を示す説明図(その5)である。図30の例では、静電気経路特定部707は、非導電体の部品面g2を対象とし、非導電体の部品面g2の最短距離部品として電子部品を抽出する。また、静電気経路特定部707は、非導電体の部品面g2と最短距離部品との間に遮蔽物があると判断する。
図示しないが、つぎに、静電気経路特定部707は、非導電体の部品面g2に隣接する非導電体の部品面g3をあらたな対象とした場合に、非導電体の部品面g3の最短距離部品として電子部品を抽出する。また、静電気経路特定部707は、非導電体の部品面g3と最短距離部品との間に遮蔽物があると判断する。
図31は、静電気経路の特定例を示す説明図(その6)である。図31の例では、静電気経路特定部707は、非導電体の部品面g3に隣接する非導電体の部品面g4をあらたな対象とし、非導電体の部品面g4の最短距離部品として電子部品を抽出する。また、静電気経路特定部707は、非導電体の部品面g4と最短距離部品との間に遮蔽物がないと判断する。遮蔽物がないと判断された場合、静電気経路特定部707は、非導電体の部品面g4と最短距離部品との間の距離を空間距離spdとする。
つぎに、静電気経路特定部707は、隣接エッジから最短距離を計測する面上の点までの距離d0と検証対象空間領域面からの対象の非導電体の部品面までの間にある非導電体部品面の隣接距離d1〜d3を、沿面距離として算出する。静電気経路特定部707は、最短距離部品と対象の集合体との間の最短距離を空間距離として算出する。静電気経路特定部707は、沿面距離と空間距離spdとの加算結果を記憶部303に記録する。
静電気経路特定部707は、記憶部303に記憶した加算結果と、設計ルール情報403に含まれる基準距離と、を比較する。加算結果が基準距離よりも短い場合、静電気経路特定部707は、対象の非導電体の部品面の隣接する非導電体の部品面の探索を終了する。そして、静電気経路特定部707は、検証対象空間領域面から、加算結果から基準距離までの距離に対象の電気部品があるか否かを判断する。あると判断された場合、静電気経路特定部707は、空間距離の始点および終点と、沿面距離の経路と、をルール違反として記憶部303に記録する。
図32は、静電気経路の特定例を示す説明図(その7)である。静電気経路特定部707は、経路r1は沿面距離と空間距離との加算結果が基準距離以下な経路であり、経路r1を通過する静電気が電気部品に影響すると判断して、判断結果を記録する。静電気経路特定部707は、経路r2は沿面距離と空間距離との加算結果が基準距離より大きい経路であるため、経路r2を通過する静電気が電気部品に影響しないと判断する。静電気経路特定部707は、経路r3および経路r4は最も近い距離にある導電体の部品が対象の電気部品でないため、経路r3および経路r4を通過する静電気が電気部品に影響しないと判断する。
図33は、静電気経路の特定例を示す説明図(その8)である。例えば、出力部302は、外部から見た場合における静電気の該当進入箇所をディスプレイ207に表示してもよい。
(設計装置100による設計処理手順例)
図34は、設計装置による設計処理手順例を示すフローチャートである。設計装置100は、外部領域空間作成処理を行う(ステップS3401)。つぎに、設計装置100は、内部領域空間作成処理を行う(ステップS3402)。そして、設計装置100は、境界面作成処理を行う(ステップS3403)。
つづいて、設計装置100は、開口単位に分類処理を行う(ステップS3404)。そして、設計装置100は、開口の隙間と設計ルールの比較結果の表示処理を行い(ステップS3405)、一連の処理を終了する。
図35は、図34で示した外部領域空間作成処理の詳細な説明を示すフローチャートである。まず、設計装置100は、物体600を内包する直方体800を取得する(ステップS3501)。つぎに、設計装置100は、直方体800を一定間隔で分割したグリッドを作成する(ステップS3502)。そして、設計装置100は、直方体800の6面を作成する(ステップS3503)。設計装置100は、外部領域空間exdsが未作成の直方体800の面があるか否かを判断する(ステップS3504)。
外部領域空間exdsが未作成の直方体800の面があると判断された場合(ステップS3504:Yes)、設計装置100は、面の法線方向を取得する(ステップS3505)。設計装置100は、面に接する未選択のグリッドがあるか否かを判断する(ステップS3506)。面に接する未選択のグリッドがあると判断された場合(ステップS3506:Yes)、設計装置100は、面に接する未選択のグリッドから選択したグリッドの内側方向に空き空間があるか否かを判断する(ステップS3507)。内側方向とは、法線ベクトルの方向と逆方向である。空き空間とは、物体600に含まれる複数の部品のいずれの部品の一部も含まない領域である。
空き空間がないと判断された場合(ステップS3507:No)、設計装置100は、ステップS3506へ戻る。空き空間があると判断された場合(ステップS3507:Yes)、設計装置100は、空き空間のグリッドを外部領域空間exdsとして抽出する(ステップS3508)。そして、設計装置100は、内側方向に空き空間の先にある部品の少なくとも一部を含む1つのグリッドを外装部品領域expaとし、導電性の有無を記録し(ステップS3509)、ステップS3506へ戻る。
面に接する未選択のグリッドがないと判断された場合(ステップS3506:No)、設計装置100は、ステップS3504へ戻る。外部領域空間exdsが未作成の直方体800の面がないと判断された場合(ステップS3504:No)、設計装置100は、一連の処理を終了する。
図36は、図34で示した内部領域空間作成処理の詳細な説明を示すフローチャートである。まず、設計装置100は、未確認のグリッドがあるか否かを判断する(ステップS3601)。未確認のグリッドがあると判断された場合(ステップS3601:Yes)、設計装置100は、未確認のグリッドから選択したグリッドが部品領域paでないかを判断する(ステップS3602)。部品領域paでないと判断された場合(ステップS3602:Yes)、設計装置100は、選択したグリッドを内部領域空間indsとして抽出し(ステップS3603)、ステップS3601へ戻る。
部品領域paであると判断された場合(ステップS3602:No)、設計装置100は、選択したグリッドに含まれる部品の導電性の有無を記録し(ステップS3604)、ステップS3601へ戻る。未確認のグリッドがないと判断された場合(ステップS3601:No)、設計装置100は、一連の処理を終了する。
図37は、図34で示した境界面作成処理の詳細な説明を示すフローチャートである。まず、設計装置100は、未選択の外部領域空間exdsがあるか否かを判断する(ステップS3701)。未選択の外部領域空間exdsがあると判断された場合(ステップS3701:Yes)、設計装置100は、未選択の外部領域空間exdsから外部領域空間exdsを選択する(ステップS3702)。つぎに、設計装置100は、外部領域空間exdsと内部領域空間indsとが接触するか否かを判断する(ステップS3703)。
接触すると判断された場合(ステップS3703:Yes)、設計装置100は、接触面を境界面bsとして記録し(ステップS3704)、ステップS3701へ戻る。接触しないと判断された場合(ステップS3703:No)、設計装置100は、ステップS3701へ戻る。また、ステップS3701において、未選択の外部領域空間exdsがないと判断された場合(ステップS3701:No)、設計装置100は、一連の処理を終了する。
図38は、図34で示した分類処理の詳細な説明を示すフローチャートである。まず、設計装置100は、未選択の境界面bsがあるか否かを判断する(ステップS3801)。未選択の境界面bsがあると判断された場合(ステップS3801:Yes)、設計装置100は、未選択の境界面bsからいずれかの境界面bsを選択する(ステップS3802)。設計装置100は、選択した境界面bsを新規開口部として記録する(ステップS3803)。
設計装置100は、未選択の境界面bsのうち開口部に隣接した境界面bsがあるか否かを判断する(ステップS3804)。隣接した境界面bsがあると判断された場合(ステップS3804:Yes)、設計装置100は、隣接境界面bsを選択する(ステップS3805)。そして、設計装置100は、隣接境界面bsを同一開口として記録し(ステップS3806)、ステップS3804へ戻る。ステップS3804において、隣接した境界面bsがないと判断された場合(ステップS3804:No)、設計装置100は、ステップS3801へ戻る。また、ステップS3801において、未選択の境界面bsがないと判断された場合(ステップS3801:No)、設計装置100は、一連の処理を終了する。
図39は、図34で示した比較結果の表示処理例1の詳細な説明を示すフローチャートである。設計装置100は、未選択の開口部があるか否かを判断する(ステップS3901)。未選択の開口部があると判断された場合(ステップS3901:Yes)、設計装置100は、開口部を選択する(ステップS3902)。設計装置100は、開口部の境界面bsを同一法線方向でグループ化する(ステップS3904)。設計装置100は、グループごとに投影する(ステップS3905)。設計装置100は、各グループを隙間として、投影結果により隙間のサイズを抽出する(ステップS3906)。設計装置100は、隙間のサイズと設計ルールを比較して結果を記録し(ステップS3907)、ステップS3901へ戻る。
未選択の開口部がないと判断された場合(ステップS3901:No)、設計装置100は、全ての比較結果を表示し(ステップS3903)、一連の処理を終了する。
図40は、図34で示した比較結果の表示処理例2の詳細な説明を示すフローチャートである。設計装置100は、未選択の開口部があるか否かを判断する(ステップS4001)。未選択の開口部があると判断された場合(ステップS4001:Yes)、設計装置100は、開口部を選択する(ステップS4002)。設計装置100は、未選択の境界面bsがあるか否かを判断する(ステップS4003)。
未選択の境界面bsがあると判断された場合(ステップS4003:Yes)、設計装置100は、境界面bsの内部領域空間inds方向(チェック方向)を取得する(ステップS4004)。設計装置100は、チェック方向に内部領域空間indsがあるか否かを判断する(ステップS4005)。チェック方向に内部領域空間indsがあると判断された場合(ステップS4005:Yes)、設計装置100は、チェック方向にグリッドを移動する(ステップS4006)。設計装置100は、チェック方向以外のいずれかの方向にある内部領域空間indsの連続空間のサイズを導出し、導出したサイズが一定値以下であるか否かを判断する(ステップS4007)。一定値以下であると判断された場合(ステップS4007:Yes)、設計装置100は、内部隙間領域として記録し(ステップS4008)、ステップS4005へ戻る。
ステップS4005において、チェック方向に内部領域空間indsがないと判断された場合(ステップS4005:No)、設計装置100は、ステップS4003へ戻る。また、一定値以下でないと判断された場合(ステップS4007:No)、設計装置100は、ステップS4003へ戻る。ステップS4003において、未選択の境界面bsがないと判断された場合(ステップS4003:No)、設計装置100は、ステップS4001へ戻る。
また、ステップS4001において、未選択の開口部がないと判断された場合(ステップS4001:No)、設計装置100は、連続する内部隙間領域の長さを導出し、導出した長さと設計ルールを比較して結果を記録する(ステップS4010)。設計装置100は、全ての内部隙間領域と比較結果を表示し(ステップS4011)、一連の処理を終了する。また、設計装置100は、図39に示した処理例1と図40に示した処理例2との両方を行ってもよいし、いずれか一方を行ってもよい。
図41は、設計装置による開口領域の表示処理手順例を示すフローチャートである。ここで示す開口領域の表示処理手順は、設計装置100が、図34に示した設計処理手順1において境界面bsの抽出処理が終わった後に、行う処理手順である。まず、設計装置100は、境界面bsから境界領域barの抽出処理を行う(ステップS4101)。つぎに、設計装置100は、境界領域barに接する内側の外部領域空間exdsの削除処理を行う(ステップS4102)。
そして、設計装置100は、外装部品領域に接続しない外部領域空間exdsの削除処理を行う(ステップS4103)。設計装置100は、開口領域の抽出処理を行う(ステップS4104)。設計装置100は、開口領域と境界領域barの接続面を開口サイズとして抽出する(ステップS4105)。
つぎに、設計装置100は、開口サイズを設計ルールと比較して比較結果を記録する(ステップS4106)。設計装置100は、全ての開口領域と接続面と比較結果を表示し(ステップS4107)、一連の処理を終了する。
図42は、図41で示した境界領域の抽出処理の詳細な説明を示すフローチャートである。設計装置100は、未選択の開口部があるか否かを判断する(ステップS4201)。未選択の開口部があると判断された場合(ステップS4201:Yes)、設計装置100は、開口部を選択する(ステップS4202)。設計装置100は、未選択の境界面bsがあるか否かを判断する(ステップS4203)。未選択の境界面bsがあると判断された場合(ステップS4203:Yes)、設計装置100は、境界面bsの外部領域空間exds方向(抽出方向)を取得する(ステップS4204)。設計装置100は、抽出方向の延長上に別の同一開口部の境界面bsがあるか否かを判断する(ステップS4205)。
抽出方向の延長上に別の同一開口部の境界面bsがあると判断された場合(ステップS4205:Yes)、設計装置100は、選択した境界面bsと延長上の境界面bsとの間にある外部領域空間exdsを境界領域barとして抽出し(ステップS4206)、ステップS4205へ戻る。抽出方向の延長上に別の同一開口部の境界面bsがないと判断された場合(ステップS4205:No)、設計装置100は、ステップS4203へ戻る。ステップS4203において、未選択の境界面bsがないと判断された場合(ステップS4203:No)、設計装置100は、ステップS4201へ戻る。ステップS4201において、未選択の開口部がないと判断された場合(ステップS4201:No)、設計装置100は、一連の処理を終了する。
図43は、図41で示した境界領域に接する内側の外部領域空間の削除処理の詳細な説明を示すフローチャートである。設計装置100は、未選択の境界領域barがあるか否かを判断する(ステップS4301)。未選択の境界領域barがあると判断された場合(ステップS4301:Yes)、設計装置100は、未選択の境界領域barからいずれかの境界領域barを選択する(ステップS4302)。
設計装置100は、未選択の接触する外部領域空間exdsがあるか否かを判断する(ステップS4303)。未選択の接触する外部領域空間exdsとは、選択した境界領域barに接触する外部領域空間exdsのうち未選択の外部領域空間exdsである。未選択の接触する外部領域空間exdsがあると判断された場合(ステップS4303:Yes)、設計装置100は、接触する外部領域空間exdsの作成方向を取得する(ステップS4304)。外部領域空間exdsの作成方向とは直方体800の面の法線方向の逆方向である。
設計装置100は、境界領域bar面の法線と外部領域空間exdsの作成方向が同じか否かを判断する(ステップS4305)。同じであると判断された場合(ステップS4305:Yes)、設計装置100は、接する外部領域空間exdsを削除し(ステップS4306)、ステップS4305へ移行する。同じでないと判断された場合(ステップS4305:No)、設計装置100は、ステップS4303へ戻る。
ステップS4303において、未選択の接触する外部領域空間exdsがないと判断された場合(ステップS4303:No)、設計装置100は、ステップS4301へ戻る。ステップS4301において、未選択の境界領域barがないと判断された場合(ステップS4301:No)、設計装置100は、一連の処理を終了する。
図44は、図41で示した外装部品領域に接続しない外部領域空間の削除処理手順の詳細な説明を示すフローチャートである。設計装置100は、未選択の外部領域空間exds候補があるか否かを判断する(ステップS4401)。未選択の外部領域空間exds候補があると判断された場合(ステップS4401:Yes)、設計装置100は、外部領域空間exds候補を抽出する(ステップS4402)。
設計装置100は、未抽出のグリッド領域があるか否かを判断する(ステップS4403)。未抽出のグリッド領域があると判断された場合(ステップS4403:Yes)、設計装置100は、グリッドと外部領域空間exds候補の作成方向を取得する(ステップS4404)。設計装置100は、外部領域空間exds候補の作成方向に直交する探索方向のうち、外部領域空間exds候補の連続空間の延長上に外装部品領域expaがない方向があるか否かを判断する(ステップS4405)。
外装部品領域expaがない方向があると判断された場合(ステップS4405:Yes)、設計装置100は、外装部品領域expaがない方向の連続したグリッド上の外部領域空間exdsを削除し(ステップS4406)、ステップS4405へ戻る。外装部品領域expaがない方向がないと判断された場合(ステップS4405:No)、設計装置100は、ステップS4403へ戻る。
ステップS4403において、未抽出のグリッド領域がないと判断された場合(ステップS4403:No)、設計装置100は、ステップS4401へ戻る。ステップS4401において、未選択の外部領域空間exds候補がないと判断された場合(ステップS4401:No)、設計装置100は、一連の処理を終了する。
図45は、図41で示した開口領域の抽出処理の詳細な説明を示すフローチャートである。設計装置100は、未選択の境界領域barがあるか否かを判断する(ステップS4501)。未選択の境界領域barがあると判断された場合(ステップS4501:Yes)、設計装置100は、境界領域barを選択する(ステップS4502)。設計装置100は、未抽出の接続する外部領域空間exds候補があるか否かを判断する(ステップS4503)。
外部領域空間exds候補があると判断された場合(ステップS4503:Yes)、設計装置100は、外部領域空間exds候補の作成方向を取得する(ステップS4504)。設計装置100は、境界領域barの面と外部領域空間exds候補の作成方向が正対するか否かを判断する(ステップS4505)。作成方向が正対すると判断された場合(ステップS4505:Yes)、設計装置100は、境界領域barの面の大きさで、正対方向にある領域を開口領域として抽出し(ステップS4506)、ステップS4505へ戻る。作成方向が正対しないと判断された場合(ステップS4505:No)、設計装置100は、ステップS4503へ戻る。
ステップS4503において、外部領域空間exds候補がないと判断された場合(ステップS4503:No)、設計装置100は、ステップS4501へ戻る。ステップS4501において、未選択の境界領域barがないと判断された場合(ステップS4501:No)、設計装置100は、一連の処理を終了する。
図46は、設計装置が行う静電気経路特定処理の詳細な説明を示すフローチャートである。設計装置100は、未選択の電気部品があるか否かを判断する(ステップS4601)。未選択の電気部品があると判断された場合(ステップS4601:Yes)、設計装置100は、電気部品を選択する(ステップS4602)。設計装置100は、電気部品の外形から設計ルールの基準距離の領域を指定する(ステップS4603)。
設計装置100は、領域内の内部領域空間indsを検証対象空間領域として抽出する(ステップS4604)。設計装置100は、未選択の検証対象空間領域があるか否かを判断する(ステップS4605)。未選択の検証対象空間領域があると判断された場合(ステップS4605:Yes)、設計装置100は、検証対象空間領域に境界面bsがあるか否かを判断する(ステップS4606)。
そして、検証対象空間領域に境界面bsがあると判断された場合(ステップS4606:Yes)、設計装置100は、境界面bsに隣接する部品面が導電性なしの場合、検証対象空間領域面とする(ステップS4607)。つぎに、設計装置100は、電気部品と検証対象空間領域面の最短経路を面ごとに抽出する処理を行い(ステップS4608)、ステップS4605へ戻る。ステップS4606において、検証対象空間領域に境界面bsがないと判断された場合(ステップS4606:No)、設計装置100は、ステップS4605へ戻る。
ステップS4605において、未選択の検証対象空間領域がないと判断された場合(ステップS4605:No)、設計装置100は、ステップS4601へ戻る。ステップS4601において、未選択の電気部品がないと判断された場合(ステップS4601:No)、設計装置100は、ルール違反の境界面bsと沿面距離の経路と空間距離の始点、終点と比較結果を合わせて表示し(ステップS4609)、一連の処理を終了する。
図47は、図46で示した抽出する処理の詳細な説明を示すフローチャートである。設計装置100は、内部領域空間indsの面のうち非導電体部品に隣接する面に対して、同一法線の隣接面ごとに集合体を非導電体部品面として作成する(ステップS4701)。設計装置100は、未選択の検出対象空間領域面があるか否かを判断する(ステップS4702)。未選択の検出対象空間領域面があると判断された場合(ステップS4702:Yes)、設計装置100は、検証対象空間領域面を選択する(ステップS4703)。
つぎに、設計装置100は、未選択の隣接する非導電体部品面があるか否かを判断する(ステップS4704)。非導電体部品面があると判断された場合(ステップS4704:Yes)、設計装置100は、非導電体部品面を選択する(ステップS4705)。設計装置100は、非導電体部品面と導電体の部品で基準距離以内の最短距離部品を抽出する(ステップS4706)。つぎに、設計装置100は、未選択の最短距離部品があるか否かを判断する(ステップS4707)。
未選択の最短距離部品があると判断された場合(ステップS4707:Yes)、設計装置100は、最短距離以内に遮蔽物がないかを判断する(ステップS4708)。最短距離以内に遮蔽物がないと判断された場合(ステップS4708:Yes)、設計装置100は、ステップS4709へ移行する。設計装置100は、空間距離として最短距離部品との最短距離と、沿面距離として隣接エッジからの最短距離を計測する集合体上の点までの距離と、検証対象空間領域面からの非導電体部品面の隣接距離を加算して記録し(ステップS4709)、ステップS4707へ移行する。一方、最短距離以内に遮蔽物があると判断された場合(ステップS4708:No)、設計装置100は、ステップS4707へ戻る。
未選択の最短距離部品がないと判断された場合(ステップS4707:No)、設計装置100は、記録した加算結果が基準距離以内であるかを判断する(ステップS4710)。基準距離以内であると判断された場合(ステップS4710:Yes)、設計装置100は、非導電体の部品面から接続する隣接探索を終了する(ステップS4711)。設計装置100は、対象の電気部品があるか否かを判断する(ステップS4712)。
対象の電気部品があると判断された場合(ステップS4712:Yes)、設計装置100は、空間距離の始点、終点と沿面距離の経路をルール違反として記録し(ステップS4713)、ステップS4704へ戻る。一方、対象の電気部品がないと判断された場合(ステップS4712:No)、設計装置100は、ステップS4704へ戻る。
ステップS4710において、基準距離以内でないと判断された場合(ステップS4710:No)、設計装置100は、ステップS4704へ戻る。ステップS4704において、非導電体部品面がないと判断された場合(ステップS4704:No)、設計装置100は、ステップS4702へ戻る。ステップS4702において、未選択の検証対象空間領域面がないと判断された場合(ステップS4702:No)、設計装置100は、一連の処理を終了する。
以上説明したように、設計装置100が、物体を内包する直方体の各面から該面の法線に沿って物体を見た場合に、いずれかの面から見える外部空間と、いずれの面からも見えない内部空間と、の間で重複する境界面を抽出する。これにより、物体内の開口部を特定できる。
また、設計装置100が、連続する複数の境界面によって形成される形状の各面のサイズを導出する。これにより、物体内の開口部のサイズを特定可能となる。
また、設計装置100が、導出した各面のサイズが所定サイズ以内であるかを判断する。これにより、開口部が電波や音波を放射しにくい構造であるか否かを判別可能となる。
また、本実施の形態では、設計装置100は、境界面から連続する内部領域空間indsを検出し、連続する内部領域空間indsによって形成される空間のサイズを導出してもよい。これにより、内部から開口部までの間の形状が電波や音波の減衰効果を生む形状であるか否かを判断可能である。
また、本実施の形態では、設計装置100は、開口部間にある外部領域空間によって形成される開口領域を抽出する。そして、設計装置100は、開口領域のサイズを導出する。
これにより、内部領域空間と外部領域空間との境界面である開口部よりも外から見える開口の方が狭い場合がある。このように、狭い開口を抽出することにより、電波や音波が外部に放射しにくい構造であるか否かをより精度良く判定することができる。
また、本実施の形態では、設計装置100は、境界面bdから静電気が印加された場合の境界面bdから導電体である部品までの経路を特定し、経路の長さを算出する。これにより、経路の長さによって導電体である部品が静電気による影響を受けるか否かを判定することができる。また、静電気が印加される位置を利用者が指定しなくてよいため、設計検証の手間を省くことができる。
なお、本実施の形態で説明した設計方法は、予め用意された設計プログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本設計プログラムは、磁気ディスク、光ディスク、USB(Universal Serial Bus)フラッシュメモリなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、設計プログラムは、インターネット等のネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
物体に含まれる複数の部品の各々を示す部品情報に基づいて、前記物体を内包する第1直方体を示す第1直方体情報を生成し、
生成した前記第1直方体情報が示す第1直方体を分割した複数の第2直方体の各々を示す第2直方体情報を生成し、
生成した前記第2直方体情報が示す複数の第2直方体のうち、前記第1直方体の少なくともいずれかの面の法線上の前記面と前記第2直方体との間に、前記複数の部品の少なくとも一部を含む第2直方体がない第3直方体を抽出し、
抽出した前記第3直方体と、前記複数の第2直方体のうちの前記複数の部品の少なくとも一部を含む第2直方体とを、前記複数の第2直方体から除いた第4直方体を抽出し、
抽出した前記第3直方体の面と、抽出した前記第4直方体の面と、の間で重複する面を抽出する、
処理を実行させることを特徴とする設計プログラム。
(付記2)前記コンピュータに、
抽出した前記重複した面のうち、連続する複数の面を検出し、
検出した前記複数の面によって形成される形状の各面のサイズを導出する、
処理を実行させることを特徴とする付記1に記載の設計プログラム。
(付記3)前記コンピュータに、
導出した各サイズが所定サイズ以下であるか否かを判断する、
処理を実行させることを特徴とする付記2に記載の設計プログラム。
(付記4)前記コンピュータに、
抽出した前記第4直方体のうち、抽出した前記重複した面から連続する複数の第4直方体を検出し、
検出した前記複数の第4直方体によって形成される空間のサイズを導出する、
処理を実行させることを特徴とする付記1〜3のいずれか一つに記載の設計プログラム。
(付記5)前記コンピュータに、
抽出した前記重複した面のうち、法線が一致する面の組み合わせの各々について、前記組み合わせに含まれる2つの面の間に前記第3直方体のいずれかのみがある場合、前記第3直方体のうち、前記2つの面の間にある第5直方体を抽出し、
抽出した前記第5直方体のうち、連続する複数の第5直方体の面のうち、前記第1直方体のいずれかの面の法線上の前記面と前記第5直方体との間に、抽出した前記第5直方体以外の前記第3直方体がある面を抽出する、
処理を実行させることを特徴とする付記1〜4のいずれか一つに記載の設計プログラム。
(付記6)前記コンピュータに、
抽出した前記第3直方体がある面のうち、連続する複数の面を抽出し、
抽出した前記複数の面によって形成される形状の各面のサイズを導出する、
処理を実行させることを特徴とする付記5に記載の設計プログラム。
(付記7)前記コンピュータに、
前記複数の部品のうち、抽出した前記重複した面に隣接する前記第2直方体に含まれる部品が非導電体である場合、
抽出した前記第4直方体の面のうち、前記第2直方体に含まれる部品に隣接する面によって形成される形状の各面を特定し、
特定した前記各面のうち、抽出した前記第4直方体のうちの抽出した前記重複した面に重複する面を有する第4直方体の面に連続する複数の面を特定し、
特定した前記複数の面のうち、前記複数の部品のうちの導電体である部品と前記面との間に前記複数の部品のうちの非導電体である部品がない面と、前記導電体である部品と、の間の距離を算出し、
抽出した前記重複した面から、特定した前記複数の面のうち算出した前記距離が所定距離以内である面までの長さと、算出した前記距離と、を加算する、
処理を実行させることを特徴とする付記1〜6のいずれか一つに記載の設計プログラム。
(付記8)前記コンピュータが、
加算した加算結果が前記所定距離以内であるか否かを判断する、
処理を実行させることを特徴とする付記7に記載の設計プログラム。
(付記9)コンピュータが、
物体に含まれる複数の部品の各々を示す部品情報に基づいて、前記物体を内包する第1直方体を示す第1直方体情報を生成し、
生成した前記第1直方体情報が示す第1直方体を分割した複数の第2直方体の各々を示す第2直方体情報を生成し、
生成した前記第2直方体情報が示す複数の第2直方体のうち、前記第1直方体の少なくともいずれかの面の法線上の前記面と前記第2直方体との間に、前記複数の部品の少なくとも一部を含む第2直方体がない第3直方体を抽出し、
抽出した前記第3直方体と、前記複数の第2直方体のうちの前記複数の部品の少なくとも一部を含む第2直方体とを、前記複数の第2直方体から除いた第4直方体を抽出し、
抽出した前記第3直方体の面と、抽出した前記第4直方体の面と、の間で重複する面を抽出する、
処理を実行することを特徴とする設計方法。
(付記10)物体に含まれる複数の部品の各々を示す部品情報を記憶する記憶部と、
前記記憶部に記憶された前記部品情報に基づいて、前記物体を内包する第1直方体を示す第1直方体情報を生成し、
生成した前記第1直方体情報が示す第1直方体を分割した複数の第2直方体の各々を示す第2直方体情報を生成し、
生成した前記第2直方体情報が示す複数の第2直方体のうち、前記第1直方体の少なくともいずれかの面の法線上の前記面と前記第2直方体との間に、前記複数の部品の少なくとも一部を含む第2直方体がない第3直方体を抽出し、
抽出した前記第3直方体と、前記複数の第2直方体のうちの前記複数の部品の少なくとも一部を含む第2直方体とを、前記複数の第2直方体から除いた第4直方体を抽出し、
抽出した前記第3直方体の面と、抽出した前記第4直方体の面と、の間で重複する面を抽出する制御部と、
を有することを特徴とする設計装置。
(付記11)物体に含まれる複数の部品の各々を示す部品情報に基づいて、前記物体を内包する第1直方体を示す第1直方体情報を生成し、
生成した前記第1直方体情報が示す第1直方体を分割した複数の第2直方体の各々を示す第2直方体情報を生成し、
生成した前記第2直方体情報が示す複数の第2直方体のうち、前記第1直方体の少なくともいずれかの面の法線上の前記面と前記第2直方体との間に、前記複数の部品の少なくとも一部を含む第2直方体がない第3直方体を抽出し、
抽出した前記第3直方体と、前記複数の第2直方体のうちの前記複数の部品の少なくとも一部を含む第2直方体とを、前記複数の第2直方体から除いた第4直方体を抽出し、
抽出した前記第3直方体の面と、抽出した前記第4直方体の面と、の間で重複する面を抽出する、
処理をコンピュータに実行させる設計プログラムを記録した記録媒体。