(57)【特許請求の範囲】
【請求項１】
リブが形成されたプリント基板のＣＡＤデータから、リブの形状を定義した図形プリミティブを読み込む読込手段と、
前記読込手段により読み込まれた図形プリミティブを、リブごとにグループ化するグループ化手段と、
前記グループ化手段によりグループ化した図形プリミティブが属するグループごとに、前記読込手段により読み込まれた各図形プリミティブを、水平線分及び垂直線分の少なくとも一方を用いた図形で夫々近似する図形近似手段と、
前記図形近似手段により近似された各図形から閉鎖ループが形成されるように、該図形を構成する各線分を整列させる線分整列手段と、
前記線分整列手段により整列された各線分の両端点を、所定間隔をなして配置された格子の交点のうち直近のものに移動する端点移動手段と、
前記端点移動手段により両端点が移動された各線分に基づいて、前記プリント基板の解析モデルを生成する解析モデル生成手段と、
を含んで構成されたことを特徴とするプリント基板解析モデル生成装置。
【請求項２】
前記端点移動手段により各線分の両端点が移動された結果、前記閉鎖ループに反対方向を向く２つの線分の両端点が夫々同一位置にある線状部分が形成されたときには、一方の線分を他方の線分から前記所定間隔離間するように平行移動し、前記線状部分を解消する線状部分解消手段を備えたことを特徴とする請求項１記載のプリント基板解析モデル生成装置。
【請求項３】
前記端点移動手段により各線分の両端点が移動された結果、前記閉鎖ループに２つの線分の終点が同一位置にある点接触部分が形成されたときには、該点接触部分を端点とし且つ連続する２つの線分の少なくとも一方を該点接触部分から前記所定間隔離間するように平行移動し、前記点接触部分を解消する第１の接触部分解消手段を備えたことを特徴とする請求項１又は請求項２に記載のプリント基板解析モデル生成装置。
【請求項４】
前記端点移動手段により各線分の両端点が移動された結果、異なるグループに属する閉鎖ループに、一方のグループに属する線分及び他方のグループに属する線分の少なくとも一部が重畳する線接触部分が形成されたときには、一方のグループに属する線分のうち該線接触部分を全部又は一部とするものを、該線接触部分から前記所定間隔離間するように平行移動し、前記線接触部分を解消する第２の接触部分解消手段を備えたことを特徴とする請求項１から請求項３のいずれか１つに記載のプリント基板解析モデル生成装置。
【請求項５】
リブが形成されたプリント基板のＣＡＤデータから、リブの形状を定義した図形プリミティブを読み込むステップと、
読み込まれた図形プリミティブを、リブごとにグループ化するステップと、
グループ化した図形プリミティブが属するグループごとに、読み込まれた各図形プリミティブを、水平線分及び垂直線分の少なくとも一方を用いた図形で夫々近似するステップと、
近似された各図形から閉鎖ループが形成されるように、該図形を構成する各線分を整列させるステップと、
整列された各線分の両端点を、所定間隔をなして配置された格子の交点のうち直近のものに移動するステップと、
両端点が移動された各線分に基づいて、前記プリント基板の解析モデルを生成するステップと、
をコンピュータに実現させるためのプリント基板解析モデル生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リブが存在するプリント基板の解析モデルを生成する技術に関する。
【背景技術】
【０００２】
プリント基板のリフロー半田付けは、プリント基板がリフロー炉を通過する間に半田を溶融させ、半田付けを実施する方法の一つである。但し、この方法だと、プリント板がリフロー炉を通過する間、プリント基板上の電子部品も同様に熱を受けるため、耐熱温度以上に加熱されると電子部品の故障を引き起こす。特に近年では、環境への影響を考慮し、鉛フリー半田が用いられることが多くなってきた。鉛フリー半田は、従来の鉛を含んだ半田と比較すると融点が上昇することから、加熱制御をより厳密に行う必要がある。従って、実際に半田付けを行う前に、プリント基板の解析を実施して問題なく半田付けが行われるかどうかの検証を行う必要があり、そのためにはプリント基板の解析モデルを生成する必要がある。
【０００３】
かかるプリント基板の解析モデルを生成するときに、プリント基板にくり抜き穴であるリブが形成されている場合には、プリント基板設計用ＣＡＤシステムで作成されたＣＡＤデータを参照しながら手操作によってリブの形状を定義して解析モデルを生成していた。解析モデルを自動生成する技術としては、特願２００５−２３４６３号で提案されているように、解析対象物を有限要素に分割していくつかの有限要素をまとめたメッシュという単位を定義し、各メッシュにおける導体の含有率に応じて有限要素の材料を導体かそれ以外のものとみなして簡略化した解析モデルを生成するものがある。しかし、この技術は解析対象物に含まれる材料に関するものであるため、プリント基板の解析モデルを生成するときに、プリント基板にくり抜き穴であるリブが形成されている場合においては適用できず、かかる場合には、前述のように手操作によってリブの形状を定義して解析モデルを生成せざるを得なかった。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、手操作でリブの形状を定義して解析モデルを生成する方法では、閉鎖ループをなす図形としての夫々のリブの形状の定義に非常に時間がかかり、作業効率が悪かった。
一方、ＣＡＤデータにおいては、リブの形状は図形プリミティブ（直線、矩形、円弧、円、長円、多角形等）の集合で定義されているが、１つのリブの形状を定義する図形プリミティブの端点にずれが生じている場合があった。なぜなら、プリント基板の製造システムにおいてプリント基板を削るドリルの軌跡情報を別途定義しなければならないことから、ＣＡＤシステムにおいては、リブの形状の定義は、例えばレイアウト検討のために部品間の干渉の有無が把握できる程度で良く、厳格な精度が求められていないからである。かかる理由により、リブの形状が必ずしも閉鎖ループをなしているとは限らず、ＣＡＤデータをもとに高精度な解析を行い得る解析モデルを自動生成するのは困難であった。
【０００５】
また、解析システムは所定間隔の格子状の解析単位（以下、「格子単位」とする）を設定した解析モデルを用いるのが一般的である。解析モデルを生成する際、格子単位を細かくするほど解析精度が向上する反面、解析時間が増大する。反対に、格子単位を粗くするほど解析時間が短くなる反面、解析精度が低下する。効率的に解析を行うためには、解析モデルの格子単位を解析精度と解析時間が折り合うように設定する必要がある。ただし、リブは必ずしも格子上に乗ってはいないため、そのままの形状を反映させて解析モデルを生成すると、格子上に乗っていない部分について細かい格子単位が設定されてしまい、解析システムの処理性能が低下してしまう。
【０００６】
そこで、本発明は以上のような従来の問題点に鑑み、プリント基板にリブが形成されている場合であっても、解析精度を確保しつつ高速に解析することが可能な解析モデルを自動生成し、解析作業を効率化することを目的とする。
【課題を解決するための手段】
【０００７】
このため、本発明においては、リブが形成されたプリント基板のＣＡＤデータから、リブの形状を定義した図形プリミティブを読み込む。次に、読み込まれた図形プリミティブを、リブごとにグループ化する。また、グループ化した図形プリミティブが属するグループごとに、読み込まれた各図形プリミティブを、水平線分及び垂直線分の少なくとも一方を用いた図形で夫々近似する。更に、近似された各図形から閉鎖ループが形成されるように、該図形を構成する各線分を整列させ、その各線分の両端点を、所定間隔をなして配置された格子の交点のうち直近のものに移動する。なお、所定間隔とは、解析システムにおいて解析精度を確保しつつ高速に解析することが可能な格子単位をなす間隔である。そして、両端点が移動された各線分に基づいて、プリント基板の解析モデルを生成する。
【発明の効果】
【０００８】
本発明によれば、プリント基板の解析モデルを生成するときにおいて、プリント基板にリブが存在する場合であっても、リブの形状を定義する図形プリミティブをリブごとにグループ化し、水平線分及び垂直線分の少なくとも一方を用いた図形で夫々近似した上で、閉鎖ループが形成されるように図形を構成する線分を整列し、その各線分の両端点を格子の交点に移動することで、ＣＡＤデータにおけるリブの形状を定義する図形プリミティブ同士の端点のずれを補正しつつ、解析システムにおいて精度の高い解析を高速に行うことが可能な解析モデルを短時間で自動生成することが可能になり、解析作業を効率化することができる。
【発明を実施するための最良の形態】
【０００９】
以下、添付された図面を参照して本発明を詳述する。
図１は、本発明に係るプリント基板解析モデル生成装置（以下「解析モデル生成装置」という）の機能ブロック図を示す。なお、解析モデル生成装置は、少なくとも中央処理装置（ＣＰＵ）とメモリとを備えたコンピュータにおいて構築され、メモリにロードされたプログラムによりソフトウェア的に実現される。
【００１０】
解析モデル生成装置は、図形プリミティブ読込部１０と、グループ化部２０と、図形近似部３０と、線分整列部４０と、線分端点移動部５０と、線状部分解消部６０と、くびれ部分解消部７０と、接触部分解消部８０と、解析モデル生成部９０と、を含んで構成される。
図形プリミティブ読込部１０は、読込手段として機能し、ＣＡＤデータ１００からプリント基板のリブの形状を定義する図形プリミティブを読み込む。グループ化部２０は、グループ化手段として機能し、読み込まれた図形プリミティブをリブごとにグループ化する。図形近似部３０は、図形近似手段として機能し、グループ化した図形プリミティブが属するグループごとに、読み込まれた各図形プリミティブを、水平線分及び垂直線分の少なくとも一方を用いた図形で夫々近似する。線分整列部４０は、線分整列手段として機能し、近似された各図形から閉鎖ループが形成されるように、各図形を構成する各線分を整列させる。線分端点移動部５０は、端点移動手段として機能し、整列された各線分の両端点を、所定間隔をなして配置された格子の交点のうち直近のものに移動する。線状部分解消部６０では、線状部分解消手段として機能し、同一グループの閉鎖ループに形成されている線状部分を解消する。くびれ部分解消部７０は、第１の接触部分解消手段として機能し、閉鎖ループに形成されている点接触部分を解消する。接触部分解消部８０は、第２の接触部分解消手段及び第３の接触部分解消手段として機能し、異なるグループに属する閉鎖ループ同士が接触している接触部分を解消する。解析モデル生成部９０では、解析モデル生成手段として機能し、解析モデル１１０を生成する。
【００１１】
図２は、図形プリミティブ読込部１０で実行される読込処理を示す。
ステップ１（図では「Ｓ１」と略記する。以下同様）では、リブの形状を定義する図形プリミティブの個数を計数するための図形プリミティブ数ｎに初期値０をセットする。
ステップ２では、ＣＡＤデータ１００から図形プリミティブを１つずつ読み込む。
ステップ３では、読み込んだ図形プリミティブが、リブを定義するものかどうかを判定する。定義していればステップ４に進み（Ｙｅｓ）、そうでなければステップ６に進む（Ｎｏ）。
【００１２】
ステップ４では、図形プリミティブをメモリ、一時ファイルなどの作業領域に順次格納する。
ステップ５では、図形プリミティブ数ｎに１を加算する。
ステップ６では、全ての図形プリミティブの読み込みを完了したかを判定する。完了していれば、読込処理を終了し（Ｙｅｓ）、そうでなければステップ２に戻る（Ｎｏ）。
【００１３】
かかる読込処理によれば、ＣＡＤデータの図形プリミティブを読み込み、その中からリブの形状を定義する図形プリミティブのみを選択して作業領域に格納することができる。
図３は、グループ化部２０で実行されるグループ化処理を示す。
ステップ１１では、ループ変数ｉに初期値１をセットする。なお、作業領域に格納された図形プリミティブのうち、ｉ番目の図形プリミティブを、図形プリミティブ［ｉ］とする（以下同様）。
【００１４】
ステップ１２では、図形プリミティブ［ｉ］の形状が矩形、長円、円のいずれかに該
当するかどうかを判定する。該当すればステップ１３に進み（Ｙｅｓ）、図形プリミティブ［ｉ］が単独で１つのリブの形状を定義するものとして認識し、図形プリミティブ
［ｉ］に独立したグループ識別子を付与する。一方、そうでなければステップ１４に進
む（Ｎｏ）。
【００１５】
ステップ１４では、図形プリミティブ［ｉ］が円弧かどうかを判定する。円弧であれ
ばステップ１５に進み（Ｙｅｓ）、図形プリミティブ［ｉ］、即ち円弧の両端点の座標
を求める。一方、そうでなければステップ１６に進む（Ｎｏ）。
【００１６】
ステップ１６では、ループ変数ｊに初期値ｉ＋１をセットする。
ステップ１７では、図形プリミティブ［ｊ］の形状が矩形、長円、円のいずれかに該当するかどうかを判定する。該当すればステップ１８に進み（Ｙｅｓ）、図形プリミティブ［ｊ］が単独で１つのリブの形状を定義するものとして認識し、図形プリミティブ［ｊ］に独立したグループ識別子を付与する。一方、そうでなければステップ１９に進む（Ｎｏ）。
【００１７】
ステップ１９では、図形プリミティブ［ｊ］が円弧かどうかを判定する。円弧であればステップ２０に進み（Ｙｅｓ）、図形プリミティブ［ｊ］、即ち円弧の両端点の座標を求める。一方、そうでなければステップ２１に進む（Ｎｏ）。
ステップ２１では、図形プリミティブ［ｉ］の端点と図形プリミティブ［ｊ］との端
点との距離Ｄを演算する。
【００１８】
ステップ２２では、距離Ｄが、所定閾値以下であるかどうかを判定する。所定閾値以下であればステップ２３に進み（Ｙｅｓ）、図形プリミティブ［ｉ］と図形プリミティ
ブ［ｊ］とが同一のリブの形状を定義するものとして認識し、図形プリミティブ［ｉ］
と図形プリミティブ［ｊ］に同一のグループ識別子を付与する。一方、そうでなければステップ２４に進む（Ｎｏ）。なお、所定閾値とは、図形プリミティブ同士が同一のリブ形状を定義しているとみなすことができる端点同士の距離である。
【００１９】
ステップ２４では、ループ変数ｊに１を加算する。
ステップ２５では、ループ変数ｊの値が図形プリミティブ数ｎより大きいかどうかを判定する。大きければ、ステップ２６に進み（Ｙｅｓ）、ループ変数ｉに１を加算する
。一方、そうでなければステップ１７に戻る（Ｎｏ）。
【００２０】
ステップ２７では、ループ変数ｉの値が図形プリミティブ数ｎ−１より大きいかどう
かを判定する。大きければ、グループ化処理を終了し（Ｙｅｓ）、そうでなければステップ１２に戻る（Ｎｏ）。
かかるグループ化処理によれば、単独で１つの閉鎖ループを形成している図形プリミティブは１つのリブを形成しているとみなす一方、それ以外の図形プリミティブについては、異なる図形プリミティブ同士でその端点が一致していない場合であっても、端点間の距離Ｄが所定閾値以内にあるもの同士を同一のリブを形成する図形プリミティブとみなすことで、図形プリミティブをリブごとにグループ化することができる。
【００２１】
図４は、図形近似部３０で実行される図形近似処理を示す。この処理は、夫々のグループごとに実行する。
ステップ３１では、ループ変数ｉに初期値１をセットすると共に、線分の個数を計数するための線分数ｍに初期値０をセットする。
ステップ３２では、図形プリミティブ［ｉ］の形状が矩形、長円、円のいずれかに該
当するかどうかを判定する。該当すればステップ３３に進み（Ｙｅｓ）、そうでなければステップ３４に進む（Ｎｏ）。
【００２２】
ステップ３３では、図形プリミティブ［ｉ］、即ち矩形、長円、円のいずれかを包含
する矩形を構成する水平線分と垂直線分の４線分により図形プリミティブ［ｉ］を近似
し、ステップ４０に進む。具体的には、図形プリミティブ［ｉ］が図５（Ａ）に示すよ
うな円の場合には、同図（Ｂ）に示すような４つの線分で近似する。
【００２３】
ステップ３４では、図形プリミティブ［ｉ］が円弧かどうかを判定する。円弧であれ
ばステップ３５に進み（Ｙｅｓ）、そうでなければステップ３８に進む（Ｎｏ）。
ステップ３５では、図形プリミティブ［ｉ］、即ち円弧に外接する水平線分と垂直線
分とにより円弧を近似する。水平線分と垂直線分の数は、円弧の形状により、２線分から６線分の５つのパターンに分かれる。円弧の曲率中心を原点とした直角座標系を想定した場合に、円弧がそのｘ軸及びｙ軸と交差する回数により、外接する線分の数が決まる。図６（Ａ）のように１回も交差しない場合は、同図（Ｂ）のように外接する２線分で近似する。図７（Ａ）のように１回交差する場合は、同図（Ｂ）のように外接する３線分で近似する。図８（Ａ）のように２回交差する場合は、同図（Ｂ）のように外接する４線分で近似する。図９（Ａ）のように３回交差する場合は、同図（Ｂ）のように外接する５線分で近似する。図１０（Ａ）のように４回交差する場合は、同図（Ｂ）のように外接する６線分で近似する。即ち、交差回数をＣとすると、図６から図１０に示すように、円弧をＣ＋２個の線分で近似する。
【００２４】
ステップ３６では、近似した夫々の線分の長さが所定値より長いかを判定する。なお、この所定値は、円弧をより正確に近似する必要があるかを判断する基準とする長さである。所定値より長い場合はステップ３７に進み（Ｙｅｓ）、所定値以下の場合はステップ４０に進む（Ｎｏ）。
ステップ３７では、水平線分と垂直線分で形成される所定の矩形を想定し、矩形を円弧に沿って移動させながら、矩形の範囲内で曲線を水平線分及び垂直線分の少なくとも一方を用いて順次近似する。例えば、図１１の破線で示す円弧の場合、実線で示すような階段形状に近似する。
【００２５】
ステップ３８では、図形プリミティブ［ｉ］の形状が斜線かどうかを判定する。該当
すればステップ３９に進み（Ｙｅｓ）、そうでなければステップ４０に進む（Ｎｏ）。
ステップ３９では、斜線を水平線分及び垂直線分により近似する。
ステップ４０では、線分数ｍに、相当数を加算する。なお、相当数とは図形プリミティブ［ｉ］を近似した図形を構成する線分数である。
【００２６】
ステップ４１では、ループ変数ｉに１を加算する。
ステップ４２では、ループ変数ｉの値が図形プリミティブ数ｎより大きいかどうかを
判定する。大きければ、図形近似処理を終了し（Ｙｅｓ）、そうでなければステップ３２に戻る（Ｎｏ）。
【００２７】
かかる図形近似処理によれば、図形プリミティブが属するグループごとに、各図形プリミティブが水平線分及び垂直線分の少なくとも一方を用いた図形で近似される。例えば図１２に破線で示すような図形プリミティブは、実線で示すような図形に近似される。
図１３は、線分整列部４０で実行される線分整列処理を示す。この処理は、夫々のグループごとに実行する。
【００２８】
ステップ５１では、ループ変数ｉに初期値１をセットする。
ステップ５２では、ループ変数ｊに初期値ｉ＋１をセットする。
ステップ５３では、線分［ｊ］が線分［ｉ］に連続するように、線分［ｊ］の両端点
の座標を必要に応じて入れ替える。具体的には、線分［ｊ］の両端点のうち一方の端点と線分［ｉ］の終点とが一致するとき、線分［ｉ］に線分［ｊ］の終点が接続されてい
れば、線分［ｊ］の始点と終点の座標を入れ替える。
【００２９】
ステップ５４では、ループ変数ｊに１を加算する。
ステップ５５では、ループ変数ｊの値が線分数ｍより大きいかどうかを判定する。大きければ、ステップ５６に進み（Ｙｅｓ）、そうでなければステップ５３に戻る（Ｎｏ）。
ステップ５６では、ループ変数ｉに１を加算する。
【００３０】
ステップ５７では、ループ変数ｉの値が線分数ｍ−１より大きいかどうかを判定する
。大きければ、ステップ５８に進み（Ｙｅｓ）、そうでなければステップ５２に戻る（Ｎｏ）。
ステップ５８では、線分が時計回りに整列しているどうかを判定する。していれば、ステップ５９に進み（Ｙｅｓ）、そうでなければ線分整列処理を終了する（Ｎｏ）。
【００３１】
ステップ５９では、全線分の始点と終点を入れ替え、反時計回りに整列させる。
かかる線分整列処理により、図形近似処理により近似された図形を構成する各線分を整列させることで、閉鎖ループを形成することが可能となる。
図１４は、線分端点移動部５０で実行される線分端点移動処理を示す。この処理は、夫々のグループごとに実行する。
【００３２】
ステップ６１では、ループ変数ｉに初期値１をセットする。
ステップ６２では、線分［ｉ］の両端点を、所定間隔をなして配置された格子の交点
のうち直近のものに移動する。なお、所定間隔とは、解析システムにおいて解析精度を確保しつつ高速に解析することが可能な格子単位をなす間隔である。
【００３３】
ステップ６３では、ループ変数ｉに１を加算する。
ステップ６４では、ループ変数ｉの値が線分数ｍより大きいかどうかを判定する。大
きければ、線分端点移動処理を終了し（Ｙｅｓ）、そうでなければステップ６２に戻る（Ｎｏ）。
【００３４】
かかる線分端点移動処理により、線分の両端点を格子の交点に移動することで、閉鎖ループを格子上に乗せることが可能となる。例えば図１５（Ａ）に示すように、線分を実線、格子を破線で表現した閉鎖ループの場合には、線分端点移動処理を施すと、同図（Ｂ）のようになる。
図１６は、線状部分解消部６０で実行される線状部分解消処理を示す。この処理は、夫々のグループごとに実行する。
【００３５】
ステップ７１では、ループ変数ｉに初期値１をセットする。
ステップ７２では、ループ変数ｊに初期値ｉ＋１をセットする。
ステップ７３では、線分［ｉ］と線分［ｊ］とが反対方向を向いており、且つ線分［
ｉ］の両端点と線分［ｊ］の両端点とが夫々同一位置にあるかどうかを判定する。この
条件に該当すれば、ステップ７４に進み（Ｙｅｓ）、そうでなければステップ７５に進む（Ｎｏ）。
【００３６】
ステップ７４では、線分［ｉ］及び線分［ｊ］のうち、端点移動前の線分位置と移動
後の線分位置との距離が大きいものを、他方から所定間隔離間するように平行移動する。
ステップ７５では、ループ変数ｊに１を加算する。
ステップ７６では、ループ変数ｊの値が線分数ｍより大きいかどうかを判定する。大きければ、ステップ７７に進み（Ｙｅｓ）、そうでなければステップ７３に戻る（Ｎｏ）。
【００３７】
ステップ７７では、ループ変数ｉに１を加算する。
ステップ７８では、ループ変数ｉの値が線分数ｍ−１より大きいかどうかを判定する
。大きければ、線状部分解消処理を終了し（Ｙｅｓ）、そうでなければステップ７２に戻る（Ｎｏ）。
【００３８】
かかる線状部分解消処理により、端点移動処理により閉鎖ループに線状部分が形成された場合であっても、線分を所定間隔平行移動して線状部分を解消することで、実際には形成されているリブが解析モデルで消滅してしまうことを防止でき、解析精度を保つことができる。例えば図１７（Ａ）に示すような閉鎖ループは、線分端点移動処理により、同図（Ｂ）に示すような線状部分を形成する。この場合、線状部分解消処理により、同図（Ｃ）のような閉鎖ループに修正される。
【００３９】
図１８は、くびれ部分解消部７０で実行されるくびれ部分解消処理を示す。この処理は、夫々のグループごとに実行する。
ステップ８１では、ループ変数ｉに初期値１をセットする。
ステップ８２では、ループ変数ｊに初期値ｉ＋１をセットする。
【００４０】
ステップ８３では、線分［ｉ］の終点と線分［ｊ］の終点とが同一位置にあるかを判
定する。同一位置にあれば、ステップ８４に進み（Ｙｅｓ）、そうでなければステップ８８に進む（Ｎｏ）。なお、終点が同一位置にある場合、その位置で点接触が起きている。
ステップ８４では、線分［ｉ］及び線分［ｊ］の終点を端点とし、かつ連続する２組
の線分を夫々２辺とする２つの矩形を想定する。例えば図１９（Ａ）の実線で示されるような閉鎖ループの場合は、図１９（Ｂ）の斜線で塗られた部分で示される２つの矩形を想定する。
【００４１】
ステップ８５では、２つの矩形の対角線の長さが同じかどうかを判定する。同じであれば、ステップ８６に進み（Ｙｅｓ）、そうでなければステップ８７に進む（Ｎｏ）。
ステップ８６では、２つの矩形のうち、点接触部分を端点とし、且つＣＡＤデータにより定義されるリブからの変位が小さい矩形を構成する線分を、点接触部分から所定間隔離間するように平行移動する。例えば図２０（Ａ）に実線で示された閉鎖ループの場合、２つの矩形の対角線の長さは同じである。この場合、破線で示されたＣＡＤデータにより定義されるリブからの変位が小さい矩形を構成する線分を平行移動し、同図（Ｂ）のようにする。
【００４２】
ステップ８７では、２つの矩形のうち、点接触部分を端点とし、且つ対角線の長さが短い矩形を構成する線分を、点接触部分から所定間隔離間するように平行移動する。図２１（Ａ）に実線で示された閉鎖ループの場合、対角線の長さが短い矩形を構成する線分を平行移動し、同図（Ｂ）のようにする。
ステップ８８では、ループ変数ｊに１を加算する。
【００４３】
ステップ８９では、ループ変数ｊの値が線分数ｍより大きいかどうかを判定する。大きければ、ステップ９０に進み（Ｙｅｓ）、ループ変数ｉに１を加算する。そうでなけ
ればステップ８３に戻る（Ｎｏ）。
ステップ９１では、ループ変数ｉの値が線分数ｍ−１より大きいかどうかを判定する
。大きければ、くびれ部分解消処理を終了し（Ｙｅｓ）、そうでなければステップ８２に戻る（Ｎｏ）。
【００４４】
かかるくびれ部分解消処理により、端点移動処理により閉鎖ループにくびれ部分、即ち点接触部分が形成された場合であっても、線分を所定間隔平行移動して点接触部分を解消することで、実際には基板が接していない部分が解析モデルで接してしまうことを防止でき、解析精度を保つことができる。
図２２は、接触部分解消部８０で実行される接触部分解消処理を示す。
【００４５】
ステップ１０１では、ループ変数ｇ１に初期値１をセットする。
ステップ１０２では、ループ変数ｇ２に初期値ｇ１＋１をセットする。
ステップ１０３では、ループ変数ｉに初期値１をセットする。
ステップ１０４では、ループ変数ｊに初期値１をセットする。
【００４６】
ステップ１０５では、グループ［ｇ１］の線分［ｉ］とグループ［ｇ２］の線分［ｊ
］とが接触しているどうかを判定する。接触していれば、ステップ１０６に進み（Ｙｅｓ）、そうでなければステップ１１０に進む（Ｎｏ）。なお、接触のパターンとしては、まず、図２３（Ａ）のように、異なるグループに属する各閉鎖ループに、一方のグループに属する線分の一端点と他方のグループに属する線分の一端点とが同一位置にある点接触がある。また、同図（Ｂ）のように、異なるグループに属する閉鎖ループに、一方のグループに属する線分及び他方のグループに属する線分の全部が重畳する線接触がある。更に、同図（Ｃ）のように、異なるグループに属する閉鎖ループに、一方のグループに属する線分及び他方のグループに属する線分の一部が重畳する線接触がある。
【００４７】
ステップ１０６では、グループ［ｇ１］の線分［ｉ］を接触部分から所定間隔離間す
るように平行移動すると、その閉鎖ループに２つの線分の両端点が同一位置となる線状部分が形成されるかを判定する。形成されれば、ステップ１０７に進む（Ｙｅｓ）。そうでなければステップ１０８に進み（Ｎｏ）、グループ［ｇ１］の線分［ｉ］を接触部
分から所定間隔離間するように平行移動する。
【００４８】
ステップ１０７では、グループ［ｇ２］の線分［ｊ］を接触部分から所定間隔離間するように平行移動すると、その閉鎖ループに２つの線分の両端点が同一位置となる線状部分が形成されるかを判定する。形成されれば、ステップ１１０に進む（Ｙｅｓ）。そうでなければステップ１０９に進み（Ｎｏ）、グループ［ｇ２］の線分［ｊ］を接触部分から所定間隔離間するように平行移動する。
【００４９】
ステップ１１０では、ループ変数ｊに１を加算する。
ステップ１１１では、ループ変数ｊの値が線分数ｍより大きいかどうかを判定する。大きければ、ステップ１１２に進み（Ｙｅｓ）、ループ変数ｉに１を加算する。そうで
なければステップ１０５に戻る（Ｎｏ）。
【００５０】
ステップ１１３では、ループ変数ｉの値が線分数ｍ−１より大きいかどうかを判定す
る。大きければ、ステップ１１４に進み（Ｙｅｓ）、ループ変数ｇ２に１を加算する。そうでなければステップ１０４に戻る（Ｎｏ）。
ステップ１１５では、ループ変数ｇ２の値がグループ数より大きいかどうかを判定する。大きければ、ステップ１１６に進み（Ｙｅｓ）、ループ変数ｇ１に１を加算する。そうでなければステップ１０３に戻る（Ｎｏ）。
【００５１】
ステップ１１７では、ループ変数ｇ１の値がグループ数−１より大きいかどうかを判定する。大きければ、接触部分解消処理を終了し（Ｙｅｓ）、そうでなければステップ１０２に戻る（Ｎｏ）。
かかる処理により、線分端点移動処理により異なるグループに属する閉鎖ループ同士が接触しても、線分を所定間隔平行移動して接触部分を解消することで、実際にはリブが接していない部分が解析モデルで接してしまうことを防止でき、解析精度を保つことができる。更に、線分を平行移動した結果閉鎖ループに線状部分が形成される場合には、平行移動を禁止することで、解析精度の低下を防ぐことができる。
【００５２】
図２４は、解析モデル生成部９０で実行される解析モデル生成処理を示す。
ステップ１２１では、ループ変数ｉに初期値１をセットする。
ステップ１２２では、グループ［ｉ］に属する線分の始点座標を順次連結し、閉鎖ル
ープを形成する。
【００５３】
ステップ１２３では、形成された閉鎖ループに基づいて、解析モデル１１０を生成する。
ステップ１２４では、ループ変数ｉに１を加算する。
ステップ１２５では、ループ変数ｉの値がグループ数より大きいかどうかを判定する
。大きければ、解析モデル生成処理を終了し（Ｙｅｓ）、そうでなければステップ１２２に戻る（Ｎｏ）。
【００５４】
かかる解析モデル生成処理により、線分の始点を順次連結した閉鎖ループに基づいて解析モデルを生成することができる。
なお、解析モデル生成処理では、両端点が同一位置にある線分があるときには、その線分を削除してから解析モデルを生成することが望ましい。また、両端点が同一位置にある連続した２つの線分があるときには、その線分を削除してから解析モデルを生成することが望ましい。更に、同一方向に連続して延びる複数の線分があるときには、連続する線分を連結して１つの線分にしてから解析モデルを生成することが望ましい。このようにすると、不要なデータを削除することができ、解析効率の向上につながる。例えば図１５（Ｂ）に示すような閉鎖ループの場合、これらの処理を行った結果、同図（Ｃ）に示すような閉鎖ループになる。
【００５５】
かかる解析モデル生成装置によれば、プリント基板の解析モデルを生成するときにおいて、プリント基板にリブが存在する場合であっても、リブの形状を定義する図形プリミティブをリブごとにグループ化し、水平線分及び垂直線分の少なくとも一方を用いた図形で夫々近似した上で、閉鎖ループが形成されるように図形を構成する線分を整列し、その各線分の両端点を格子の交点に移動することで、ＣＡＤデータにおけるリブの形状を定義する図形プリミティブ同士の端点のずれを補正しつつ、解析システムにおいて精度の高い解析を高速に行うことが可能な解析モデルを短時間で自動生成することが可能となり、解析作業を効率化することができる。また、解析モデルを生成する途中過程において、各線分の両端点を格子の交点に移動することにより発生するリブの接触等の不具合を解消すると共に、冗長なデータを削除しておくことで、より精度が高く効率の良い解析が可能な解析モデルを生成することができる。
【００５６】
また、本発明は、熱伝導解析や熱流体解析に適用できる他、応力解析の分野にも適用可能である。
【００５７】
（付記１）リブが形成されたプリント基板のＣＡＤデータから、リブの形状を定義した図形プリミティブを読み込む読込手段と、前記読込手段により読み込まれた図形プリミティブを、リブごとにグループ化するグループ化手段と、前記グループ化手段によりグループ化した図形プリミティブが属するグループごとに、前記読込手段により読み込まれた各図形プリミティブを、水平線分及び垂直線分の少なくとも一方を用いた図形で夫々近似する図形近似手段と、前記図形近似手段により近似された各図形から閉鎖ループが形成されるように、該図形を構成する各線分を整列させる線分整列手段と、前記線分整列手段により整列された各線分の両端点を、所定間隔をなして配置された格子の交点のうち直近のものに移動する端点移動手段と、前記端点移動手段により両端点が移動された各線分に基づいて、前記プリント基板の解析モデルを生成する解析モデル生成手段と、を含んで構成されたことを特徴とするプリント基板解析モデル生成装置。
【００５８】
（付記２）前記端点移動手段により各線分の両端点が移動された結果、前記閉鎖ループに反対方向を向く２つの線分の両端点が夫々同一位置にある線状部分が形成されたときには、一方の線分を他方の線分から前記所定間隔離間するように平行移動し、前記線状部分を解消する線状部分解消手段を備えたことを特徴とする付記１記載のプリント基板解析モデル生成装置。
【００５９】
（付記３）前記線状部分解消手段は、前記２つの線分のうち、前記端点移動手段による移動前の線分位置と移動後の線分位置との距離が大きいものを平行移動することを特徴とする付記２記載のプリント基板解析モデル生成装置。
【００６０】
（付記４）前記端点移動手段により各線分の両端点が移動された結果、前記閉鎖ループに２つの線分の終点が同一位置にある点接触部分が形成されたときには、該点接触部分を端点とし且つ連続する２つの線分の少なくとも一方を該点接触部分から前記所定間隔離間するように平行移動し、前記点接触部分を解消する第１の接触部分解消手段を備えたことを特徴とする付記１〜付記３のいずれか１つに記載のプリント基板解析モデル生成装置。
【００６１】
（付記５）前記第１の接触部分解消手段は、前記点接触部分を端点とし且つ連続する２組の２つの線分を夫々２辺とする２つの矩形のうち、その対角線の長さが異なるときには対角線が短いものを構成する線分を、その対角線の長さが同じときにはＣＡＤデータにより定義されるリブからの変位が小さいものを構成する線分を平行移動させることを特徴とする付記４記載のプリント基板解析モデル生成装置。
【００６２】
（付記６）前記端点移動手段により各線分の両端点が移動された結果、異なるグループに属する閉鎖ループに、一方のグループに属する線分及び他方のグループに属する線分の少なくとも一部が重畳する線接触部分が形成されたときには、一方のグループに属する線分のうち該線接触部分を全部又は一部とするものを、該線接触部分から前記所定間隔離間するように平行移動し、前記線接触部分を解消する第２の接触部分解消手段を備えたことを特徴とする付記１〜付記５のいずれか１つに記載のプリント基板解析モデル生成装置。
【００６３】
（付記７）前記端点移動手段により各線分の両端点が移動された結果、異なるグループに属する各閉鎖ループに、一方のグループに属する線分の一端点と他方のグループに属する線分の一端点とが同一位置にある点接触部分が形成されたときには、一方のグループに属する線分のうち該点接触部分を端点とするものの少なくとも一方を、該点接触部分から前記所定間隔離間するように平行移動し、前記点接触部分を解消する第３の接触部分解消手段を備えたことを特徴とする付記１〜付記６のいずれか１つに記載のプリント基板解析モデル生成装置。
【００６４】
（付記８）前記第２の接触部分解消手段又は第３の接触部分解消手段は、前記線分を平行移動すると閉鎖ループに２つの線分の両端点が同一位置となる線状部分が形成されるか否かを判定し、該線状部分が形成されると判定したときに、前記線分の平行移動を禁止することを特徴とする付記６又は付記７に記載のプリント基板解析モデル生成装置。
【００６５】
（付記９）前記図形近似手段は、前記図形プリミティブが円弧のときには、水平線分と垂直線分とで形成される所定寸法の矩形を想定し、該矩形を円弧に沿って移動させながら、該矩形の範囲内で円弧を水平線分及び垂直線分の少なくとも一方を用いて順次近似することを特徴とする付記１〜付記８のいずれか１つに記載のプリント基板解析モデル生成装置。
【００６６】
（付記１０）前記解析モデル生成手段は、両端点が同一位置にある１つの線分があるときには、該線分を削除してから解析モデルを生成することを特徴とする付記１〜付記９のいずれか１つに記載のプリント基板解析モデル生成装置。
【００６７】
（付記１１）前記解析モデル生成手段は、両端点が同一位置にある連続した２つの線分があるときには、該２つの線分を削除してから解析モデルを生成することを特徴とする付記１〜付記１０のいずれか１つに記載のプリント基板解析モデル生成装置。
【００６８】
（付記１２）前記解析モデル生成手段は、同一方向に連続して延びる複数の線分があるときには、該複数の線分を連結して１つの線分としてから解析モデルを生成することを特徴とする付記１〜付記１１のいずれか１つに記載のプリント基板解析モデル生成装置。
【００６９】
（付記１３）リブが形成されたプリント基板のＣＡＤデータから、リブの形状を定義した図形プリミティブを読み込むステップと、読み込まれた図形プリミティブを、リブごとにグループ化するステップと、グループ化した図形プリミティブが属するグループごとに、読み込まれた各図形プリミティブを、水平線分及び垂直線分の少なくとも一方を用いた図形で夫々近似するステップと、近似された各図形から閉鎖ループが形成されるように、該図形を構成する各線分を整列させるステップと、整列された各線分の両端点を、所定間隔をなして配置された格子の交点のうち直近のものに移動するステップと、両端点が移動された各線分に基づいて、前記プリント基板の解析モデルを生成するステップと、をコンピュータに実現させるためのプリント基板解析モデル生成プログラム。
【図面の簡単な説明】
【００７０】
【図１】本発明に係るプリント基板解析モデル生成装置の機能ブロック図
【図２】読込処理を示すフローチャート
【図３】グループ化処理を示すフローチャート
【図４】図形近似処理を示すフローチャート
【図５】円の近似方法を示し、（Ａ）は近似前の説明図、（Ｂ）は近似後の説明図
【図６】円弧の近似方法の第１例を示し、（Ａ）は近似前の説明図、（Ｂ）は近似後の説明図
【図７】円弧の近似方法の第２例を示し、（Ａ）は近似前の説明図、（Ｂ）は近似後の説明図
【図８】円弧の近似方法の第３例を示し、（Ａ）は近似前の説明図、（Ｂ）は近似後の説明図
【図９】円弧の近似方法の第４例を示し、（Ａ）は近似前の説明図、（Ｂ）は近似後の説明図
【図１０】円弧の近似方法の第５例を示し、（Ａ）は近似前の説明図、（Ｂ）は近似後の説明図
【図１１】円弧を階段形状に近似する方法の説明図
【図１２】図形近似処理による図形プリミティブの近似結果の説明図
【図１３】線分整列処理を示すフローチャート
【図１４】線分端点移動処理を示すフローチャート
【図１５】線分の両端点の移動方法及び冗長データ削除方法を示し、（Ａ）は端点移動前の説明図、（Ｂ）は端点移動後の説明図、（Ｃ）は冗長データ削除後の説明図
【図１６】線状部分解消処理を示すフローチャート
【図１７】線状部分解消方法を示し、（Ａ）は端点移動前の説明図、（Ｂ）は端点移動後の説明図、（Ｃ）は線状部分解消後の説明図
【図１８】くびれ部分解消処理を示すフローチャート
【図１９】くびれ部分解消処理で想定する矩形を示し、（Ａ）は想定対象たる閉鎖ループの説明図、（Ｂ）は想定した矩形の説明図
【図２０】矩形の対角線の長さが同じ場合のくびれ部分解消方法を示し、（Ａ）は解消前の説明図、（Ｂ）は解消後の説明図
【図２１】矩形の対角線の長さが異なる場合のくびれ部分解消方法を示し、（Ａ）は解消前の説明図、（Ｂ）は解消後の説明図
【図２２】接触部分解消処理を示すフローチャート
【図２３】接触状態のパターンを示し、（Ａ）は点接触の説明図、（Ｂ）は線接触の説明図、（Ｃ）は線接触（一部）の説明図
【図２４】解析モデル生成処理を示すフローチャート
【符号の説明】
【００７１】
１０    図形プリミティブ読込部
２０    グループ化部
３０    図形近似部
４０    線分整列部
５０    線分端点移動部
６０    線状部分解消部
７０    くびれ部分解消部
８０    接触部分解消部
９０    解析モデル生成部
１００    ＣＡＤデータ
１１０    解析モデル
【図１】
0004657042.tif 000002
【図２】
0004657042.tif 000003
【図３】
0004657042.tif 000004
【図４】
0004657042.tif 000005
【図５】
0004657042.tif 000006
【図６】
0004657042.tif 000007
【図７】
0004657042.tif 000008
【図８】
0004657042.tif 000009
【図９】
0004657042.tif 000010
【図１０】
0004657042.tif 000011
【図１１】
0004657042.tif 000012
【図１２】
0004657042.tif 000013
【図１３】
0004657042.tif 000014
【図１４】
0004657042.tif 000015
【図１５】
0004657042.tif 000016
【図１６】
0004657042.tif 000017
【図１７】
0004657042.tif 000018
【図１８】
0004657042.tif 000019
【図１９】
0004657042.tif 000020
【図２０】
0004657042.tif 000021
【図２１】
0004657042.tif 000022
【図２２】
0004657042.tif 000023
【図２３】
0004657042.tif 000024
【図２４】
0004657042.tif 000025