(57)【要約】【課題】浸漬処理における空気溜まりの発生を最少化するワークの最適姿勢を、トライ＆エラーを繰り返すことなく自動的に求める。【解決手段】１回のシミュレーションにおける重力方向の設定毎に、エアポケットの発生個数等のエアポケットの発生状況を評価する指標データを算出し、計算刻み角度（Δφ，Δθ）に対応して区分した評価用メッシュに割り付けて可視化する。そして、ノード値が「０」の領域（エアポケットが発生しない領域）がある場合、ノード値「０」の領域を周囲から囲い込んで絞り込み、最適なワークの姿勢（最適なワークの釣下げ角度）を求め、その位置を識別表示する。【選択図】図７
2008049268.tif 000002
【特許請求の範囲】
【請求項１】
浸漬処理を施すワークの形状を複数の要素のデータでモデル化し、重力方向に対する上記ワークの姿勢に基づいて、各要素の属性が気体であるか液体であるかを判別する判別計算を実行することにより空気溜りをシミュレーションする空気溜りのシミュレーション方法において、
上記ワークの姿勢を可変させる範囲を上記ワークに対する重力方向の設定範囲として指定し、指定した設定範囲内で重力方向を所定の刻み角度ずつ更新して上記判別計算を繰り返し実行させる重力方向更新ステップと、
上記空気溜りの発生状況を評価する指標データを上記刻み角度毎に算出し、該指標データに基づいて上記ワークの最適姿勢を算出する最適姿勢算出ステップと
を備えることを特徴とする空気溜まりのシミュレーション方法。
【請求項２】
上記最適姿勢算出ステップにおいては、
上記指標データの分布を上記空気溜りの発生状況に応じた領域毎に区分し、上記空気溜りの発生無しの最適領域に対応する上記刻み角度から上記ワークの最適姿勢を算出することを特徴とする請求項１記載の空気溜りのシミュレーション方法。
【請求項３】
上記最適姿勢算出ステップにおいては、
上記最適領域における上記指標データの値を、上記最適領域の外周縁側から上記刻み角度に対応した部分領域毎に逐次変更し、上記指標データの元の値を保持する最後の部分領域の上記刻み角度から上記最適姿勢を算出することを特徴とする請求項２記載の空気溜りのシミュレーション方法。
【請求項４】
上記最適姿勢算出ステップにおいては、
上記指標データに基づいて目的関数を作成し、重力方向の上記設定範囲を制約条件として上記目的関数が最小となるまで重力方向の更新を継続させ、上記目的関数が最小となったときの上記刻み角度を上記ワークの最適姿勢として算出することを特徴とする請求項１記載の空気溜りのシミュレーション方法。
【請求項５】
上記重力方向更新ステップにおいては、
上記刻み角度を上記ワークに固定した座標系の座標軸に対する角度で設定することを特徴とする請求項１〜４の何れか一に記載の空気溜りのシミュレーション方法。
【請求項６】
上記最適姿勢算出ステップにおいては、
上記空気溜りの発生状況を可視化処理することを特徴とする請求項１〜５の何れか一に記載の空気溜りのシミュレーション方法。
【請求項７】
上記最適姿勢算出ステップにおいては、
上記空気溜りの発生状況を、上記空気溜りの発生個数と要素数とサイズとの少なくとも１つで表すことを特徴とする請求項１〜６の何れか一に記載の空気溜りのシミュレーション方法。
【請求項８】
浸漬処理を施すワークの形状を複数の要素のデータでモデル化し、重力方向に対する上記ワークの姿勢に基づいて、各要素の属性が気体であるか液体であるかを判別する判別計算を実行することにより空気溜りをシミュレーションするコンピュータが実行可能な空気溜りのシミュレーションプログラムにおいて、
上記ワークの姿勢を可変させる範囲を上記ワークに対する重力方向の設定範囲として指定し、指定した設定範囲内で重力方向を所定の刻み角度ずつ更新して上記判別計算を繰り返し実行させる重力方向更新ステップと、
上記空気溜りの発生状況を評価する指標データを上記刻み角度毎に算出し、該指標データに基づいて上記ワークの最適姿勢を算出する最適姿勢算出ステップと
を備えることを特徴とする空気溜まりのシミュレーションプログラム。
【請求項９】
上記最適姿勢算出ステップにおいては、
上記指標データの分布を上記空気溜りの発生状況に応じた領域毎に区分し、上記空気溜りの発生無しの最適領域に対応する上記刻み角度から上記ワークの最適姿勢を算出することを特徴とする請求項８記載の空気溜りのシミュレーションプログラム。
【請求項１０】
上記最適姿勢算出ステップにおいては、
上記最適領域における上記指標データの値を、上記最適領域の外周縁側から上記刻み角度に対応した部分領域毎に逐次変更し、上記指標データの元の値を保持する最後の部分領域の上記刻み角度から上記最適姿勢を算出することを特徴とする請求項９記載の空気溜りのシミュレーションプログラム。
【請求項１１】
上記最適姿勢算出ステップにおいては、
上記指標データに基づいて目的関数を作成し、重力方向の上記設定範囲を制約条件として上記目的関数が最小となるまで重力方向の更新を継続させ、上記目的関数が最小となったときの上記刻み角度を上記ワークの最適姿勢として算出することを特徴とする請求項８記載の空気溜りのシミュレーションプログラム。
【請求項１２】
上記重力方向更新ステップにおいては、
上記刻み角度を上記ワークに固定した座標系の座標軸に対する角度で設定することを特徴とする請求項８〜１１の何れか一に記載の空気溜りのシミュレーションプログラム。
【請求項１３】
上記最適姿勢算出ステップにおいては、
上記空気溜りの発生状況を可視化処理することを特徴とする請求項８〜１２の何れか一に記載の空気溜りのシミュレーション方法。
【請求項１４】
上記最適姿勢算出ステップにおいては、
上記空気溜りの発生状況を、上記空気溜りの発生個数と要素数とサイズとの少なくとも１つで表すことを特徴とする請求項８〜１３の何れか一に記載の空気溜りのシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、浸漬処理を施す際にワークに生じる空気溜りをシミュレーションする空気溜りのシミュレーション方法及びシミュレーションプログラムに関する。
【背景技術】
【０００２】
一般に、電着塗装やメッキ等におけるワークの浸漬工程においては、均一な塗膜やメッキ膜を形成させるために、ワークに空気溜り（エアポケット）を生じさせないことが重要である。このエアポケットは、複雑な形状のワークを浸漬した際に、その隙間にできる凹部、例えば、自動車等の車体であれば、フード内面、ルーフ内面、フロア下面等の凹部等の空間に空気が残留する現象であり、このエアポケットが発生すると、塗装不良やメッキ不良が発生してしまう。
【０００３】
そこで、ワークを浸漬処理する状態をコンピュータを用いてシミュレーションし、エアポケットの発生状況を予測する手法が提案されている。エアポケットのコンピュータシミュレーションとしては、ワークの表面形状を、メッシュやノード等の複数の要素のデータでモデル化し、各要素の属性が気体であるか液体であるかを、要素の特徴点（例えば、重心点、頂点、内心点、外心点、垂心点）同士の重力方向の位置を比較して判定し、設定した重力方向に対するエアポケットの発生状況を予測評価する幾何学的な手法が知られている（例えば、例えば、本出願人による特願２００６−１９４１３参照）。
【０００４】
また、特許文献１には、ワークの各表面をその頂点座標データに基づいて任意数の三角ポリゴン（三角形の要素）に分割し、各々の三角ポリゴンについて空気と浸漬槽内の液体との状態変化を時々刻々と計算することにより、ワークを入槽角の姿勢にて浸漬槽に模擬浸漬した際にエアポケットとなりうる表面部位であるか否かの判定を行う手法が開示されている。
【特許文献１】特開２０００−５１７５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のシミュレーションでは、エアポケットが発生するか否かの判定は可能であるが、エアポケットの発生を最少化するワークの釣下げ姿勢等の浸漬姿勢を検討するには、シミュレーションの都度、ワークに対する重力方向を設定して計算する必要がある。つまり、従来のシミュレーションでは、先ず、重力方向を設定してから、気体と液体との判別計算を実施するため、ワークの釣下げ姿勢(重力の方向)を検討する場合には、重力方向を１回１回入力しながらトライ＆エラーを繰り返さなければならない。この結果、例えば、以下の（１）〜（３）のような問題が生じる。
【０００６】
（１）仮に、エアポケット発生無しの釣下げ姿勢が複数見出された場合でも、どの姿勢が最良か（ライン上の取付け誤差や製造バラツキ等の影響を加味して安全側か等）と言った点まで踏み込んで判断することは困難である。
【０００７】
（２）トライ＆エラーによるシミュレーションを繰り返しても、エアポケット発生無しの釣下げ姿勢が見出されなかった場合、どの姿勢で形状修正した方が良いか（どの姿勢が最も対策し易いか）が不明である。
【０００８】
（３）検討した釣下げ姿勢のごく近傍に、エアポケット無しの釣下げ姿勢域がある場合であっても、その可能性を知ることができない。
【０００９】
このように、従来のシミュレーションでは、エアポケットの発生を最少化するワークの最適な浸漬姿勢を見い出すためには、非常に多くのトライ＆エラーを繰り返す必要があり、工数と経費の増加を招くばかりでなく、トライ＆エラーで得られた結果が必ずしも最適な姿勢であるとは限らない。
【００１０】
本発明は上記事情に鑑みてなされたもので、浸漬処理における空気溜まりの発生を最少化するワークの最適姿勢を、トライ＆エラーを繰り返すことなく自動的に求めることのできる空気溜りのシミュレーション方法及びシミュレーションプログラムを提供することを目的としている。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、本発明による空気溜りのシミュレーション方法は、浸漬処理を施すワークの形状を複数の要素のデータでモデル化し、重力方向に対する上記ワークの姿勢に基づいて、各要素の属性が気体であるか液体であるかを判別する判別計算を実行することにより空気溜りをシミュレーションする空気溜りのシミュレーション方法において、上記ワークの姿勢を可変させる範囲を上記ワークに対する重力方向の設定範囲として指定し、指定した設定範囲内で重力方向を所定の刻み角度ずつ更新して上記判別計算を繰り返し実行させる重力方向更新ステップと、上記空気溜りの発生状況を評価する指標データを上記刻み角度毎に算出し、該指標データに基づいて上記ワークの最適姿勢を算出する最適姿勢算出ステップとを備えることを特徴とする。
【００１２】
本発明による空気溜りのシミュレーションプログラムは、浸漬処理を施すワークの形状を複数の要素のデータでモデル化し、重力方向に対する上記ワークの姿勢に基づいて、各要素の属性が気体であるか液体であるかを判別する判別計算を実行することにより空気溜りをシミュレーションするコンピュータが実行可能な空気溜りのシミュレーションプログラムにおいて、上記ワークの姿勢を可変させる範囲を上記ワークに対する重力方向の設定範囲として指定し、指定した設定範囲内で重力方向を所定の刻み角度ずつ更新して上記判別計算を繰り返し実行させる重力方向更新ステップと、上記空気溜りの発生状況を評価する指標データを上記刻み角度毎に算出し、該指標データに基づいて上記ワークの最適姿勢を算出する最適姿勢算出ステップとを備えることを特徴とする。
【発明の効果】
【００１３】
本発明によれば、浸漬処理における空気溜まりの発生を最少化するワークの最適姿勢を、トライ＆エラーを繰り返すことなく自動的に求めることができ、シミュレーション効率を向上して工数及び経費を抑制することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施の形態を説明する。図１〜図１０は本発明の実施の第１形態に係り、図１はシミュレーション装置の基本構成図、図２は車体の塗装ラインの概略説明図、図３はフロアパネルの概略斜視図、図４はフロアパネルを複数の要素に分割した解析モデルを示す説明図、図５は重力方向と計算刻み角度とを示す説明図、図６はポスト処理用メッシュの例を示す説明図、図７はポスト処理の例を示す説明図、図８は最適領域が歪んでいる場合を示す説明図、図９は同じ面積の最適領域の分布を示す説明図、図１０はエアポケットシミュレーションプログラムのフローチャートである。
【００１５】
図１に示すように、本実施の形態におけるシミュレーション装置１は、自動車のボディシェル等のワークに電着塗装やメッキ処理等の浸漬処理を施す際に、ワークに生じる空気溜り（エアポケット）をシミュレーションするものである。このエアポケットのシミュレーション装置１は、マイクロコンピュータやパーソナルコンピュータ等の単一のコンピュータ、或いはネットワークを介して相互に接続される複数のコンピュータを用いて構成される。
【００１６】
以下では、便宜上、シミュレーション装置１を単一のコンピュータで構成する例について説明する。このコンピュータとしてのシミュレーション装置１は、演算装置１０、キーボードやマウス等の入力装置１１、ＣＲＴや液晶ディスプレイ等の表示装置１２、磁気ディスクや光ディスク等の外部記憶装置１３等を備えている。
【００１７】
演算装置１０は、ＣＰＵ、ＲＯＭ及びＲＡＭ等の内部メモリ、入出力インターフェース等を備えており、内部のＲＯＭ、外部記憶装置１３、外部の記憶媒体に記憶させたシミュレーションプログラム、或いは、図示しないネットワークや通信装置を介して外部からロードしたシミュレーションプログラムをＣＰＵで実行し、入力装置１１を介して指示された解析対象のワーク（対象物）を擬似的に浸漬槽内に浸漬させ、その浸漬によって対象物に発生するエアポケットをシミュレーションする。
【００１８】
例えば、本発明によるシミュレーションの適用例として、車体ボディの電着塗装時における電着液及び空気の分布を数値解析し、被塗装物におけるエアポケットの発生を予測するシミュレーションが挙げられる。ここで、車体ボディの塗装ラインについて、図２を用いて簡単に説明する。
【００１９】
図２に示すように、溶接等により複数の車体パネルを互いに接合して構成される自動車の車体ボディ２０は、搬送装置２１のハンガに搭載された状態で塗装ラインにて略水平方向へ搬送される。塗装ラインでは、電着塗装の前処理として、車体パネルに脱脂、水洗、表面調整、皮膜化成、水洗等の処理が施される。
【００２０】
これらの処理の後、車体ボディ２０は電着槽２２に向かって降下し、電着液２３に浸漬された状態で略水平に移動する。この状態で、車体ボディ２０と電着槽２２内の電極（図示せず）に電圧を加えることにより、車体パネルに塗料が析出するようになっている。この後、搬送装置２１により車体ボディ２０は電着槽２２から引き上げられ、水洗により車体パネルに電着せずに付着している電着液２３が除去される。
【００２１】
演算装置１０において実行されるシミュレーションプログラムの機能は、モデル構築部１０ａ、重力方向更新部１０ｂ、エアポケット判定部１０ｃ、ポスト処理部１０ｄによって表現することができる。演算装置１０は、対象物（ワーク）の形状を複数の要素のデータでモデル化した解析モデルによる幾何学的手法を用いてエアポケットの発生をシミュレーションし、シミュレーション結果を表示装置１２に出力して表示させる。尚、表示装置１２には、シミュレーション結果のみならずシミュレーション過程を表示させるようにしても良い。
【００２２】
本発明によるエアポケットのシミュレーションは、対象物（ワーク）の表面形状を複数の要素に分割して構築したサーフェスモデルを用いて実行されるが、従来のようにワークの或る１つの姿勢についての１回のシミュレーションで完結するものではなく、ワークの浸漬姿勢を可変して自動的に複数回繰り返されるシミュレーションである。このワークの浸漬姿勢を可変しての複数回のシミュレーションを自動実行することにより、エアポケットの発生を最少化する最適なワークの浸漬姿勢を求めることができる。以下では、塗料槽等に釣下げられて浸漬されるワークの最適な釣下げ姿勢を求めるエアポケットシミュレーションについて説明する。
【００２３】
モデル構築部１０ａは、対象物の形状データを複数の要素に分割して解析モデルを構築する。解析モデルを構成する手法としては、対象物の表面形状を複数の所定の形状に分割して表現するメッシュを用いる手法や、対象物の表面に複数の節点（ノード）を配置する手法等を用いることができる。
【００２４】
例えば、車体ボディ２０を構成する図３に示すようなフロアパネル２６を例に挙げて説明すると、図３に示すフロアパネル２６を、図４に示すように、フロアパネル２６の表面を複数のメッシュ２９に分割して数値計算のための解析モデルを構築する。以下では、対象物の表面形状を三角形のメッシュで表現したサーフェスモデルを用い、このサーフェスモデルのメッシュデータを三次元空間に配置して解析モデルを構築する例について説明するが、解析モデルの要素としてノードを用いる場合においても処理は同様である。
【００２５】
尚、解析モデルの要素としてのメッシュの形状は、三角形の形状に限られず、矩形や多角形の形状であっても良い。個々のメッシュには、例えば、自己を識別するためのメッシュ番号、メッシュの節点（ノード）の所定の基準点に対する座標値（三次元空間のＸＹＺ座標軸における座標値）、メッシュの属性等のデータが付与される。
【００２６】
また、外部記憶装置１３には、エアポケットのシミュレーション処理に必要な各種のデータが格納されている。例えば、外部記憶装置１３は、対象物毎に個別の識別番号（レコード番号）が付された属性レコード群で構成されるデータベースを有し、個々の属性レコードに、各メッシュのメッシュ番号、ノード点座標値、属性データ等が対応付けて記述される。
【００２７】
重力方向更新部１０ｂは、ワークに固定されたＸＹＺ直交座標系のＺ軸を中心とする設定範囲を指定し、この指定範囲内で、シミュレーションを繰り返し実行する際の計算刻み角度に応じて重力方向を更新する。すなわち、図５に示すように、ワークに固定したＸＹＺ座標系から見た重力の方向を、Ｚ軸となす角度φと、Ｚ軸を中心としたＸＹ平面上の偏位角（Ｘ軸からの角度）θとにより表現し、これらの角度を計算刻み角度（Δφ，Δθ）ずつ変えることにより、重力方向を変えて（つまり、ワークの姿勢を変えて）シミュレーションを繰り返し実行することができる。
【００２８】
尚、計算刻み角度（Δφ，Δθ）は、一定値でも良く、また、一回のシミュレーション毎に変更しても良い。
【００２９】
エアポケット判定部１０ｃは、解析モデルを形成する個々のメッシュに対して、エアポケットの箇所に相当する気体の属性と電着液等の浸漬個所に相当する液体の属性との何れかを設定する。このメッシュの属性は、当初、全メッシュが気体の属性に設定され（浸漬前）、その後、初期メッシュを含む隣接メッシュとのＺ方向（重力と反対方向）の高さの比較により、メッシュの属性が液体となるか気体のままであるか（つまり、エアポケットとなるか否か）を判定し、液体と判定されたとき、そのメッシュの属性を液体に変更し、属性データを書き換える。
【００３０】
このエアポケットの判定は、本形態においては、浸漬液の比重が空気の比重よりも大きいことを前提としている。すなわち、或るメッシュの属性を判定する際に、判定対象のメッシュと比較対象のメッシュとを、Ｚ方向（重力と反対方向）の高さで比較する。そして、比較対象メッシュが判定対象メッシュよりも高く液体の属性を有していれば、相対的に低い判定対象メッシュにも浸漬液が空気を押しのけて浸入し、浸漬液により満たされるものと判断して、判定対象メッシュの属性データを液体とする。これに対して、相対的に高い比較対象メッシュの属性が気体である場合には、判定対象メッシュの属性データは変更せず、比較対象を変更して判定を繰り返す。そして、この判定を繰り返して全メッシュの属性が液体と気体とに分離・決定され、属性が気体と決定されたメッシュの存在によって示されるエアポケットの気液境界線が導き出される。この気液境界線は、複数本導き出される場合もある。
【００３１】
ポスト処理部１０ｄは、シミュレーション結果を容易に把握可能とするための可視化処理やシミュレーション結果のデータ出力を行う。シミュレーション結果の可視化処理においては、例えば、液体の属性に決定されたメッシュ、気体の属性に決定されたメッシュ、これらの境界線（気液境界線）を色相や濃淡等によって区分し、エアポケットの発生部位や大きさを明示的に表現する。
【００３２】
また、ポスト処理部１０ｄでは、エアポケットの発生状況を評価する指標データとして、重力方向の各設定毎に、エアポケットの発生個数、エアポケットの表面メッシュ数、エアポケットの体積等を算出し、重力方向の設定範囲内でのシミュレーション終了後、これらを可視化する処理を行う。尚、エアポケットの体積に代わる指標データとして、［気液境界面の面積］×［エアポケット高さ］を算出するようにしても良い。
【００３３】
この指標データの可視化に際しては、重力方向の計算刻み角度（Δφ，Δθ）に対応して設けたポスト処理用メッシュを用いる。このポスト処理用メッシュは、例えば、図６（ａ）に示すように、ＸＹ平面上に投影した重力方向の指定範囲を、計算刻み角度（Δφ，Δθ）に対応して区分した評価用メッシュと、図６（ｂ）に示すように、原点を中心として計算刻み角度（Δφ，Δθ）を展開した評価用メッシュとを用いる。
【００３４】
ポスト処理用メッシュの各ノード点（格子点）には、エアポケットの発生個数、エアポケットの表面メッシュ数、エアポケットの体積等のエアポケット発生状況を評価するための指標値が割り付けられる。例えば、エアポケットの発生個数を指標値として用い、エアポケット発生無しの場合には、該当するノード点にノード値「０」が割り付けられ、エアポケットが１個発生する場合には、該当するノード点にノード値「１」が割り付けられ、エアポケットが２個発生する場合には、該当するノード点にノード値「２」が割り付けられる。そして、図７（ａ），（ｂ）に示すように、ポスト処理用メッシュのノード値が同じ領域毎に区分され、エアポケットの発生状況が可視化される。
【００３５】
また、このエアポケットの発生状況を示す可視化処理では、ノード値が「０」の領域（エアポケットが発生しない領域）がワークの最適姿勢が存在する最適領域となるため、この最適領域内で最適なワークの姿勢（最適なワークの釣下げ角度）を求め、その位置を識別表示する。
【００３６】
具体的には、先ず、ノード値「０」の領域とノード値「１」の領域との境界線に接するノード値「０」の部分領域内のノード値を、「０」から別の数値ｎに変更する。別の数値ｎは、例えば、０＜ｎ＜１の範囲で設定し、ここでは、ｎ＝０．５に変更するものとすると、次に、ノード値「０．５」とノード値「０」との境界線に接するノード値「０」の部分領域内のノード値を、「０」から「０．５」に変更する。
【００３７】
以上の処理を逐次繰り返し、最後に残ったノード値「０」の部分領域がなくなる１ステップ前に、その部分領域での刻み角度（Δφ，Δθ）を平均化する。そして、平均化した刻み角度に対応する位置を、図７に示すように、例えば赤の「×」の印で領域内に重ね合わせ表示する。この「×」点表示の位置（最適点）が、エアポケットが発生しない最適領域内でのワークの釣下げ姿勢の最適角度を表している。
【００３８】
この最適点を求める際に、ノード値「０」の最適領域を、部分領域に分けて周囲から囲い込み、絞り込んでいく理由は、ノード値「０」の最適領域の形状が歪んでいる場合や、ノード値「０」の最適領域が複数分散して存在する場合に対処するためである。すなわち、エアポケットが発生しない最適領域内で、エアポケットが発生する領域との境界からできるだけ離れた略中央に最適点を設定することにより、実際のライン上の取付け誤差や製造バラツキ等に対して妥当且つ安全性を見た釣下げ姿勢を設定することができる。
【００３９】
例えば、図８に示すように、ノード値「０」の最適領域の形状が歪んでいる場合、この最適領域全体での刻み角度を単純に平均化すると、その平均値がノード値「０」の領域外、すなわちエアポケットが発生する領域となる可能性がある。このような場合においても、ノード値「０」の領域を周囲から囲い込んでゆくことにより、確実にノード値「０」の領域内にあって、略中央の位置に最適点を設定することができる。
【００４０】
また、図９に示すように、ノード値「０」の略同じ面積の最適領域が複数ある場合には、円形に近い領域の方から最適角度を設定することが望ましく、また、面積が異なるノード値「０」の領域が複数ある場合には、できるだけ面積の大きいほうの領域から最適角度を設定することが望ましい。このような場合においても、ノード値「０」の領域を周囲から囲い込んでゆくことにより、面積が大きく円形に近い領域内に最適角度を設定することが可能となり、エアポケットが発生しない領域とエアポケットが発生する領域との境界からできるだけ離れた位置に最適点を設定することができる。
【００４１】
以下、演算装置１０のＣＰＵで実行されるエアポケットのシミュレーション処理について、図１０のフローチャートを用いて説明する。
【００４２】
図１０のシミュレーションプログラムでは、先ず、ステップＳ１において、対象物の表面形状を複数の要素のデータでモデル化し、数値計算のための解析モデルを構築する。この解析モデルは、例えば、ワークの表面形状を複数の三角形のメッシュで分割したモデルで構築される。
【００４３】
次に、ステップＳ２へ進んで解析モデルにおける重力方向の設定範囲を指定し、ステップＳ３で重力方向を選択する。この重力方向は、１回のシミュレーション毎に、計算刻み角度（Δφ，Δθ）ずつ可変される（後述のステップＳ７）。
【００４４】
そして、ステップＳ４で、対象物が電着液等に浸漬される前の周辺が空気で満たされた状態のシミュレーションとして、一旦、解析モデルの全てのメッシュを気体の属性に設定する。さらに、対象物を浸漬した初期状態のシミュレーションとして、メッシュを液体の属性と気体の属性とに分離するための初期条件を設定する。
【００４５】
本実施の形態においては、初期状態でのメッシュの属性を液体に決定する条件として、ワークのフリーエッジに接するメッシュを初期メッシュに設定する。そして、この初期メッシュの属性を気体から液体に変更する。ここで、フリーエッジとは、ワークの縁の部分、即ちワークの端部及びワークに形成された穴の縁の部分を意味する。初期メッシュとは、ワークのフリーエッジに接する要素であって、フリーエッジに接するメッシュとは、そのメッシュを構成する辺がフリーエッジに接していることを言う。
【００４６】
尚、初期に属性を液体として決定する条件として、ワークに対してその周囲よりかつ水平より上側の視線方向から見て認識可能なメッシュを初期メッシュとしても良い。この場合においても、初期メッシュ決定後の処理は同じである。
【００４７】
次に、ステップＳ４からステップＳ５へ進み、エアポケット判定計算処理を実施して、エアポケットの発生をシミュレーションする。このエアポケット判定計算処理は、各メッシュの重力と反対方向の高さの比較により、それぞれの属性を決定してエアポケットの発生を判定する処理であり、従来の手法を用いることができる。各メッシュの高さの比較は、例えば、それぞれのメッシュの重心点、内心点、外心点、垂心点等のＺ方向（重力と反対方向）における位置や、それぞれのメッシュが有する各頂点のうちの最も高い頂点（Ｚ方向の位置が最も高い頂点）等の特徴点を比較することで行う。
【００４８】
例えば、重心点の位置を比較する場合には、判定対象とするメッシュと隣接メッシュとのそれぞれの重心点のＺ方向における高さを比較し、隣接メッシュの重心点が判定対象メッシュの重心点よりも高いまたは同じ場合、隣接メッシュの属性が液体であれば、判定対象メッシュの属性を液体に決定する。一方、隣接メッシュの重心点が判定対象メッシュの重心点よりも低い場合には、判定判定メッシュの属性は変更せず、比較対象を変更して判定を繰り返す。この判定を初期メッシュを含む全メッシュについて実行し、液体の属性を有するメッシュと気体の属性を有するメッシュとの境界を気液境界線として検出し、必要に応じて気液境界線を修正する処理を行う。
【００４９】
尚、気液境界線を修正する処理は、例えば、１つのエアポケットに所属する複数の境界線に同じ属性を与えて統一化し、各境界線の高さが異なる場合には、１つの水平線に近づけるように修正する。
【００５０】
その後、ステップＳ６へ進み、１回のシミュレーションで得られた結果を処理し、エアポケットの発生個数、エアポケットの表面メッシュ数、エアポケットの体積等の指標を算出し、必要に応じてデータを保存する。
【００５１】
次に、ステップＳ７で、ワークの釣下げ姿勢を変えてシミュレーションを行うため、計算刻み角度（Δφ，Δθ）を変えて重力方向を更新する。そして、ステップＳ８で、重力方向が予め指定した設定範囲内か否かを調べ、設定範囲内であるときには、ステップＳ４へ戻り、重力方向を変更してのシミュレーションを再実行する。以上のステップＳ２，Ｓ３、及びステップＳ７，Ｓ８が本発明の重力更新ステップに相当する。
【００５２】
一方、重力方向が設定範囲を越えた場合には、重力方向の更新を終了してステップＳ８からステップＳ９へ進み、ポスト処理を行って本シミュレーションプログラムを終了する。このポスト処理では、前述したように、エアポケットの発生個数、エアポケットの表面メッシュ数、エアポケットの体積等の指標を用いて、図７に示すように、エアポケットの発生状況とワークの最適姿勢とを表示装置１２に表示させ、また、必要に応じてシミュレーション結果のデータをファイルに出力する。このステップＳ９が本発明の最適姿勢算出ステップに相当する。
【００５３】
図７に示すようなシミュレーション結果により、エアポケットが発生しないワークの最適な釣下げ姿勢を迅速に設定することができ、仮にエアポケット発生無しの領域がなかったとしても、対策し易い釣下げ姿勢を容易に把握することが可能となる。
【００５４】
以上、本実施の第１形態によれば、シミュレーション毎にワークに対する重力方向を１回１回入力しながらトライ＆エラーを繰り返す従来の手法に比較して、ワークの最適姿勢を自動的に求めることができ、仮にエアポケット発生無しの釣下げ姿勢が複数見出された場合でも、ライン上の取付け誤差や製造バラツキ等の影響に対してどの姿勢が最良かを容易に判断することができる。これにより、シミュレーション効率を向上して工数及び経費を抑制することができる。
【００５５】
次に、本発明の実施の第２形態について説明する。図１１は本発明の実施の第２形態に係り、エアポケットシミュレーションプログラムのフローチャートである。
【００５６】
第２形態は、重力方向の設定範囲と計算刻み角度とから決定される回数だけシミュレーションを繰り返す第１形態に対し、重力方向を最適化して自動的に最適な釣下げ姿勢を求めるものである。
【００５７】
第２形態におけるシミュレーションプログラムは、図１１のフローチャートに示される。このシミュレーションプログラムは、ステップＳ１１〜Ｓ１６までは、第１形態のシミュレーションプログラム（図１０参照）におけるステップＳ１〜Ｓ６と同様であり、解析モデルを構築して重力方向を選択し、初期条件を設定してエアポケット判定計算を行い、計算結果を処理する。
【００５８】
次に、ステップＳ１６からステップＳ１７へ進むと、重力方向を最適化するための最適化計算を行う。この最適化計算は、例えば、遺伝的アルゴリズム（Genetic Algorithm；ＧＡ）等の最適化手法を用いて行われ、指定した重力方向の設定範囲を制約条件として、エアポケットの発生状況を評価する指標データに基づいて作成した目的関数を用いて最適化計算を行う。
【００５９】
尚、この場合の最適化は、単にエアポケットが無くなるワークの釣下げ姿勢を求めるだけでも良いが、本形態においては、エアポケットの発生が無い状態での複数の釣下げ姿勢の中で最も最適な姿勢を求めるため、エアポケットの発生が無い状態では値が「０」となる指標データに加えて他の変数が必要となる。
【００６０】
本形態においては、指標データに対して判別計算の処理時間（ＣＰＵ時間）或いはシミュレーションの繰り返し回数等を併用し、目的関数を作成する際の設計変数とする。これは、エアポケットが発生しないワークの複数の姿勢角度において、判別計算に要する処理時間或いは回数が最も短い場合が最もエアが抜け易い姿勢であり、確実且つ安定的にエアポケットの無い状態を実現できると考えられるからである。
【００６１】
具体的には、以下に示すように、エアポケットの発生個数ｎと、エアポケット判別計算の処理時間（ＣＰＵ時間）とを設計変数とする目的関数ｆを作成し、この目的関数ｆが制約条件の範囲（重力方向の設定範囲）内で最小となるときの刻み角度（Δφ，Δθ）を、ワークの釣下げ姿勢の最適角度とする。 
ｆ（ｎ，Ｃｔｉｍｅ）＝（ｎ＋ζ）・Ｃｔｉｍｅ
但し、ζ：定数（０＜ζ≦１）
【００６２】
すなわち、ステップＳ１８で、重力方向が最適か（目的関数が最小か）否かを調べ、重力方向が最適でない（目的関数が最小でない）場合には、ステップＳ１９で重力方向を更新してステップＳ１４へ戻り、更新した重力方向すなわちワークの釣下げ姿勢を変えたシミュレーションを実行する。
【００６３】
一方、ステップＳ１８で、重力方向が最適となったとき（目的関数が最小となったとき）には、全シミュレーションを終了してステップＳ１８からステップＳ１９へ進み、ポスト処理を実行する。このポスト処理では、エアポケットが発生している場合は、エアポケットの発生個数、エアポケットの表面メッシュ数、エアポケットの体積等を表示し、また、必要に応じてエアポケットの発生状況を可視化処理する。
【００６４】
第２形態においては、以上のステップＳ１２，Ｓ１３，Ｓ１９が本発明の重力方向更新ステップに相当し、ステップＳ１７，Ｓ１８，Ｓ２０が本発明の最適姿勢算出ステップに相当する。
【００６５】
第２形態においても、第１形態と同様、トライ＆エラーを繰り返すことなくワークの最適姿勢を自動的に求めることができるが、更に、第２形態では、規定回数のシミュレーション後のポスト処理を待つことなく、最適な釣下げ姿勢を直接的に求めることができ、よりシミュレーション効率を向上することができる。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の第１形態に係り、シミュレーション装置の基本構成図
【図２】車体の塗装ラインの概略説明図
【図３】フロアパネルの概略斜視図
【図４】フロアパネルを複数の要素に分割した解析モデルを示す説明図
【図５】同上、重力方向と計算刻み角度とを示す説明図
【図６】同上、ポスト処理用メッシュの例を示す説明図
【図７】同上、ポスト処理の例を示す説明図
【図８】同上、最適領域が歪んでいる場合を示す説明図
【図９】同上、同じ面積の最適領域の分布を示す説明図
【図１０】同上、エアポケットシミュレーションプログラムのフローチャート
【図１１】本発明の実施の第２形態に係り、エアポケットシミュレーションプログラムのフローチャート
【符号の説明】
【００６７】
１      シミュレーション装置
１０    演算装置
１０ａ  モデル構築部
１０ｂ  重力方向更新部
１０ｃ  エアポケット判定部
１０ｄ  ポスト処理部
【図１】
2008049268.tif 000003
【図２】
2008049268.tif 000004
【図３】
2008049268.tif 000005
【図４】
2008049268.tif 000006
【図５】
2008049268.tif 000007
【図６】
2008049268.tif 000008
【図７】
2008049268.tif 000009
【図８】
2008049268.tif 000010
【図９】
2008049268.tif 000011
【図１０】
2008049268.tif 000012
【図１１】
2008049268.tif 000013