(57)【要約】【課題】複雑な流体解析を要することなく、浸漬処理されるワークに生じる液溜りと、その液溜りの排出孔の適否を判断する。【解決手段】演算装置１０において、モデル構築部１０ａでワークの形状データを複数の要素に分割して解析モデルを構築し、液溜り判定部１０ｂで各要素の重力方向の位置関係に基づいて決定した属性から浸漬液の液溜りの有無を判定する。液溜りが有る場合、液溜り体積計算部１０ｃにおいて、属性が気体と決定された要素と属性が液体と決定された要素との境界を修正して形成される水平方向の液面の面積と該液面の重力方向の高さとに基づいて液溜り体積を計算し、液排出時間計算部１０ｄで液溜り体積分の液体が排出される液排出時間をワークの搬送条件に基づいて計算する。これにより、複雑な流体解析を要することなく、浸漬処理されるワークに生じる液溜りと、その液溜りの排出孔の適否を判断することができる。【選択図】図１
2008197744.tif 000002
【特許請求の範囲】
【請求項１】
浸漬処理を施すワークを複数の要素のデータでモデル化し、重力方向の位置関係に基づいて各要素の属性が気体であるか液体であるかを決定して浸漬液の液溜りをシミュレーションする液溜りのシミュレーション方法において、
上記液溜りに貯留される液体の液溜り体積を、属性が気体と決定された要素と属性が液体と決定された要素との境界を修正して形成される水平方向の液面の面積と、該液面の重力方向の高さとに基づいて計算する液溜り体積計算ステップと、
上記液溜りから上記体積分の液体が排出される液排出時間を、上記ワークの搬送条件に基づいて計算する液排出時間計算ステップと
を備えることを特徴とする液溜りのシミュレーション方法。
【請求項２】
更に、上記ワークが浸漬される浸漬槽から上記ワークが引き上げられて設定位置まで搬送される時間と、上記液溜りの液排出時間とに基づいて、上記液溜りの可否を判定する判定ステップを備えることを特徴とする請求項１記載の液溜りのシミュレーション方法。
【請求項３】
上記液溜り体積計算ステップにおいては、
液体の属性の各要素毎に、各要素の液面の面積と各要素の代表点から液面までの高さとに基づいて体積を計算し、計算した各要素の体積を積算して上記液溜り体積を求めることを特徴とする請求項１又は２記載の液溜りのシミュレーション方法。
【請求項４】
上記設定位置を、複数の浸漬工程に対応する複数の上記浸漬槽の間の搬送路に設定され、前段の浸漬槽に貯留された浸漬液を次段の浸漬槽内に混入させることなく回収可能なデッドラインとすることを特徴とする請求項２記載の液溜りのシミュレーション方法。
【請求項５】
浸漬処理を施すワークを複数の要素のデータでモデル化し、重力方向の位置関係に基づいて各要素の属性が気体であるか液体であるかを決定して浸漬液の液溜りをシミュレーションするコンピュータが実行可能な液溜りのシミュレーションプログラムにおいて、
上記液溜りに貯留される液体の液溜り体積を、属性が気体と決定された要素と属性が液体と決定された要素との境界を修正して形成される水平方向の液面の面積と、該液面の重力方向の高さとに基づいて計算する液溜り体積計算ステップと、
上記液溜りから上記体積分の液体が排出される液排出時間を、上記ワークの搬送条件に基づいて計算する液排出時間計算ステップと
を備えることを特徴とする液溜りのシミュレーションプログラム。
【請求項６】
更に、上記ワークが浸漬される浸漬槽から上記ワークが引き上げられて設定位置まで搬送される時間と、上記液溜りの液排出時間とに基づいて、上記液溜りの可否を判定する判定ステップを備えることを特徴とする請求項５記載の液溜りのシミュレーションプログラム。
【請求項７】
上記液溜り体積計算ステップにおいては、
液体の属性の各要素毎に、各要素の液面の面積と各要素の代表点から液面までの高さとに基づいて体積を計算し、計算した各要素の体積を積算して上記液溜り体積を求めることを特徴とする請求項５又は６記載の液溜りのシミュレーションプログラム。
【請求項８】
上記設定位置を、複数の浸漬工程に対応する複数の上記浸漬槽の間の搬送路に設定され、前段の浸漬槽に貯留された浸漬液を次段の浸漬槽内に混入させることなく回収可能なデッドラインとすることを特徴とする請求項６記載の液溜りのシミュレーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、浸漬処理を施したワークに残留する浸漬液の液溜りをシミュレーションする液溜りのシミュレーション方法及びシミュレーションプログラムに関する。
【背景技術】
【０００２】
電着塗装やメッキ等におけるワークの浸漬工程においては、浸漬槽からワークを引き上げる際に、ワークの袋部等に浸漬液が残留して液溜りとなる場合がある。この液溜りの浸漬液は、次工程に入るまでに完全に排出しないと、ワーク表面の残留液による処理不良、次工程の処理液への混入、残留液の加熱・乾燥による外観品質の低下、更には、浸漬液の持ち出しによる浸漬液使用量の増加によるコストアップを招く。
【０００３】
このため、一般的に、ワークの液溜りとなることが予想される部位には、予め、液排出用の排出孔を設けることが行われている。この液溜りの排出孔は、必要最低限に抑える必要があり、十分な検討を経ずに多数の排出孔を設けると、構造上の強度低下を招くばかりでなく、排出孔を塞ぐ等の後処理の工数及び時間の増加を招き、莫大なコストがかかることになる。
【０００４】
これに対処する為に、例えば、特許文献１には、自動車の車体の浸漬処理の排出孔の加工に際して、グロメットを取り付ける必要のない排出孔を形成する技術が提案されている。また、特許文献２には、中空押出し部材に他の部材を接合して形成する自動車ボデーにおいて、各部材の接合部位の少なくとも１部位に、ボデー外部に通じる通路を備えることで、フロアパネル上や各部材の内部に溜まった処理液等を、迅速、確実に除去する技術が提案されている。
【特許文献１】特開平７−８１６４０号公報
【特許文献２】特開２００４−３４８５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ワークに生じる液溜りは、コンピュータを用いた流体解析シミュレーションによって予測が可能である。このコンピュータシミュレーションにより、液溜りの発生個所や液溜りからの液排出時間等を計算し、ワークの排出孔の適否やワークの搬送速度の適否等を判断することができ、製品設計や製品品質を向上する上で極めて有効である。
【０００６】
しかしながら、一般に、流体解析シミュレーションは、計算データの作成及び処理に膨大な時間を要し、高速・大規模なコンピュータシステムが要求され、シミュレーションに要するコスト及び工数が増大する。更には、設計変更等に対して迅速に解析モデルを変更し、再シミュレーションを実行するといった柔軟な対応も困難である。
【０００７】
本発明は上記事情に鑑みてなされたもので、複雑な流体解析を要することなく、浸漬処理されるワークに生じる液溜りと、その液溜りの排出孔の適否を判断することができる液溜りのシミュレーション方法及びシミュレーションプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明による液溜りのシミュレーション方法は、浸漬処理を施すワークを複数の要素のデータでモデル化し、重力方向の位置関係に基づいて各要素の属性が気体であるか液体であるかを決定して浸漬液の液溜りをシミュレーションする液溜りのシミュレーション方法において、上記液溜りに貯留される液体の液溜り体積を、属性が気体と決定された要素と属性が液体と決定された要素との境界を修正して形成される水平方向の液面の面積と、該液面の重力方向の高さとに基づいて計算する液溜り体積計算ステップと、上記液溜りから上記体積分の液体が排出される液排出時間を、上記ワークの搬送条件に基づいて計算する液排出時間計算ステップとを備えることを特徴とする。
【０００９】
本発明による液溜りのシミュレーションプログラムは、浸漬処理を施すワークを複数の要素のデータでモデル化し、重力方向の位置関係に基づいて各要素の属性が気体であるか液体であるかを決定して浸漬液の液溜りをシミュレーションするコンピュータが実行可能な液溜りのシミュレーションプログラムにおいて、上記液溜りに貯留される液体の液溜り体積を、属性が気体と決定された要素と属性が液体と決定された要素との境界を修正して形成される水平方向の液面の面積と、該液面の重力方向の高さとに基づいて計算する液溜り体積計算ステップと、上記液溜りから上記体積分の液体が排出される液排出時間を、上記ワークの搬送条件に基づいて計算する液排出時間計算ステップとを備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、複雑な流体解析を要することなく、比較的小規模なシステムにも適用可能なシミュレーションとして、浸漬処理されるワークに生じる液溜りと、その液溜りの排出孔の適否を判断することができ、また、設計変更によるモデル変更等にも柔軟に対応することが可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の実施の形態を説明する。図１〜図１５は本発明の実施の一形態に係り、図１はシミュレーション装置の基本構成図、図２は車体の塗装ラインの概略説明図、図３は塗装ラインにおける車体の状態を示す説明図、図４は車体の液溜り部を示す説明図、図５は水平状態での液溜り面を示す説明図、図６は傾斜状態での液溜り面を示す説明図、図７は数値計算モデルのメッシュ配列を示す説明図、図８は数値計算モデルのデータ構造のメッシュ間の関係を示す説明図、図９は数値計算モデルのデータ構造のノード番号及び座標データを示す説明図、図１０は液溜り部を数値計算モデルで表現した例を示す説明図、図１１は液溜り部の体積計算方法を示す説明図、図１２は液面高さの計算方法を示す説明図、図１３は車体の液溜り部からの液排出時間の計算方法を示す説明図、図１４は液溜りシミュレーションプログラムのフローチャート、図１５は液排出判定プログラムのフローチャートである。
【００１２】
図１に示すように、本実施の形態におけるシミュレーション装置１は、自動車のボディシェル等のワークに電着塗装やめっき処理等の浸漬処理を施す際に、ワークから排出されずに残留する浸漬液の液溜りをシミュレーションするものである。このシミュレーション装置１は、マイクロコンピュータやパーソナルコンピュータ等の単一のコンピュータ、或いはネットワークを介して相互に接続される複数のコンピュータを用いて構成される。
【００１３】
以下では、便宜上、シミュレーション装置１を単一のコンピュータで構成する例について説明する。シミュレーション装置１は、演算装置１０、キーボードやマウス等の入力装置１１、ＣＲＴや液晶ディスプレイ等の表示装置１２、磁気ディスクや光ディスク等の外部記憶装置１３等を備えている。
【００１４】
演算装置１０は、ＣＰＵ、ＲＯＭ及びＲＡＭ等の内部メモリ、入出力インターフェース等を備えており、内部のＲＯＭ、外部記憶装置１３、外部の記憶媒体に記憶させたシミュレーションプログラム、或いは、図示しないネットワークや通信装置を介して外部からロードしたシミュレーションプログラムをＣＰＵで実行し、入力装置１１を介して指示された解析対象のワーク（対象物）を擬似的に浸漬槽内に浸漬させ、その浸漬によって対象物に発生する浸漬液の液溜りをシミュレーションする。
【００１５】
例えば、本発明によるシミュレーションの適用例として、車体ボディの電着塗装ラインにおける浸漬液及び空気の分布を数値解析し、被塗装物における浸漬液の液溜りの発生を予測するシミュレーションが挙げられる。ここで、車体ボディの塗装ラインについて、図２を用いて簡単に説明する。
【００１６】
図２に示すように、溶接等により複数の車体パネルを互いに接合して構成される自動車の車体ボディ２０は、搬送装置２１のハンガーに搭載された状態で塗装ラインにて略水平方向へ搬送される。塗装ラインは、複数の浸漬槽２２を連続的に配置して構成され（図２においては１つの浸漬槽を代表して図示している）、電着塗装の前処理として、車体パネルに脱脂、水洗、表面調整、皮膜化成、水洗等の処理が施される。
【００１７】
これらの処理の後、車体ボディ２０は電着液２３を満たした浸漬槽（電着槽）２２に向かって降下し、電着液２３に浸漬された状態で略水平に移動する。この状態で、車体ボディ２０と浸漬槽２２内の電極（図示せず）に電圧を加えることにより、車体パネルに塗料が析出するようになっている。この後、搬送装置２１により車体ボディ２０は浸漬槽２２から引き上げられ、水洗により車体パネルに電着せずに付着している電着液２３が除去される。
【００１８】
このような塗装ラインにおいては、車体ボディ２０は複数の浸漬槽２２に連続的に浸漬されることから、１つの浸漬槽から引き上げられて次の工程に入るまでに浸漬液を完全に排出し、元の浸漬槽に回収する必要がある。しかしながら、複雑な形状のワークでは、１つの浸漬槽から引き上げられて次の工程に入るまでに浸漬液が完全に排出されず、液溜りとなって残留する可能性がある。
【００１９】
このような液溜りが発生すると、次の工程の浸漬液に混入して処理不良が発生したり、残留液が乾燥工程で加熱・沸騰されて製品の外観を損なう等して、製造上及び製品上の品質低下を招いてしまう。更には、浸漬槽から浸漬液を持ち出すことになるため、浸漬液の使用量が増大し、コスト上昇の要因となる。
【００２０】
従って、演算装置１０は、浸漬処理におけるワークの液溜り発生を予め予測して対策を講じるため、液溜りのシミュレーションプログラムを実行し、ワークの形状と浸漬処理ラインにおける移動状態に基づいて、液溜りの有無を判定する。そして、液溜りが有る場合、予め穿設された排出孔やシミュレーション上で設定した排出孔からの残留液の排出時間を計算する。この演算装置１０による液溜りシミュレーションは、複雑な流体解析を要することなく、比較的高速のシミュレーションが可能であり、浸漬処理されるワークに生じる液溜りと、排出孔の適否を判断することができ、また、設計変更によるモデル変更等にも柔軟に対応することが可能となる。
【００２１】
以下、演算装置１０による液溜りシミュレーションについて、図３に示すように、浸漬槽２２に車体ボディ２０を浸漬する例を取って説明する。浸漬槽２２は、本形態においては、底面２２ａに対して傾斜角θの側壁２２ｂを有する形状を有しており、次段の浸漬槽２２の側壁と略水平な搬送路２２ｃを介して連結されているものとする。ワークである車体ボディ２０は、浸漬槽２２内において、底面から液面高さＬｉｑＨの浸漬液で浸漬されて底面を略水平に移動し、傾斜角θで浸漬槽２２から引き上げられた後、搬送路２２ｃに沿って略水平移動し、次段の浸漬槽２２内に降下される。
【００２２】
尚、車体ボディ２０を搬送するハンガーは、浸漬槽２２内での水平移動から側壁２２ｂに沿って傾斜角θで車体ボディ２０を引き上げる搬送距離がＬ１に設定されており、この搬送距離Ｌ１の後に搬送路２２ｃを水平移動してデッドラインＤＬに達するまでの距離がＬ２に設定されている。デッドラインＤＬは、後述するように、車体ボディ２０の液溜り部から排出された浸漬液を次段側に持ち出すことなく回収可能なラインである。
【００２３】
図４は、車体ボディ２０内部に予想される液溜り部を立体的なイメージとして示したものであり、フロント側床部のボックス状の袋部２４と、リヤ側床部のボックス状の袋部２５とは、浸漬槽２２から引き上げられた後も浸漬液が残留して貯留される液溜り部となることが予想される。このように、予め液溜り部となることが予想される箇所には、貯留された液体を排出するため、予め液抜き用の孔を設けることが一般的であり、図５に示すように、各袋部２４，２５には、それぞれ、底面側に、液抜き孔２４ａ，２５ａが設けられている。
【００２４】
この場合、本シミュレーションにおける液溜り部の判定では、各袋部２４，２５の液抜き孔２４ａ，２５ａは、解析モデル上で意図的に塞がれて液溜り判定が実施される。また、この液溜り判定は、車体ボディ２０が浸漬槽２２から引き上げられるとき、車体ボディ２０が傾斜角θで傾くことから、図６に示すように、車体ボディ２０を傾斜角θで傾斜させた状態に対して実行され、各袋部２４，２５の液面２４ｂ，２５ｂの高さや残留液の体積（液溜り体積）が計算される。
【００２５】
液溜り部（袋部２４，２５）からの浸漬液の排出時間は、車体ボディ２０が浸漬槽２２から引き上げられて各袋部２４，２５の液抜き孔２４ａ，２５ａが液面上に露呈するまでの時間と、各液抜き孔２４ａ，２５ａから各液溜り体積分の液体が排出される時間とを加算した時間として計算される。この排出時間は、浸漬槽２２の傾斜角θ、ピッチ速度（車体ボディ２０の搬送速度）、液溜り体積、液抜き孔２４ａ，２５ａの孔径や浸漬液の粘性等に基づいて予め決定された単位時間当たりの排出流量等から計算される。
【００２６】
前述の図３で説明したように、車体ボディ２０は、所定の浸漬槽２２から引き上げられた後、搬送路２２ｃを水平移動して次の浸漬槽２２内に降下される。搬送路２２ｃには、図３中に示すように、水平の搬送路２２ｃの始点から長さＬ２の位置にデッドラインＤＬが設定されており、車体ボディ２０がデッドラインＤＬに達するまでに液溜り部の浸漬液が排出されれば、排出された浸漬液を前段の浸漬槽２２内に回収することができる。
【００２７】
従って、本シミュレーションでは、計算された液溜り部からの液排出時間が、車体ボディ２０がピッチ速度から計算されるデッドラインＤＬに達するまでの時間よりも短ければ、特に問題はなく“ＯＫ”であると判断することができる。一方、本シミュレーションによって計算される液排出時間が、デッドラインＤＬに達するまでの時間よりも長い場合には、液溜り部内に貯留されている前段の浸漬液が次段まで持ち出されてしまい、不具合が生じることが予想されるため、“ＮＧ”と判断することができる。
【００２８】
尚、後述するように、本形態においては、液溜りに貯留される液体が全て排出される液排出時間と、デッドラインＤＬに達するまでの時間とを比較する代わりに、デッドラインＤＬに達する時間までに排出される体積と、液溜りに貯留される液体の液溜り体積とを比較し、“ＯＫ”か“ＮＧ”かを判断するようにしている。
【００２９】
以上の液溜りシミュレーションを実行する演算装置１０の機能は、モデル構築部１０ａ、液溜り判定部１０ｂ、液溜り体積計算部１０ｃ、液排出時間計算部１０ｄ、ポスト処理部１０ｅによって表現することができる。演算装置１０は、ワークの形状を複数の要素のデータでモデル化した解析モデルによる幾何学的手法を用いて液溜りの発生をシミュレーションし、シミュレーション結果を表示装置１２に出力して表示させる。尚、表示装置１２には、シミュレーション結果のみならずシミュレーション過程を表示させるようにしても良い。
【００３０】
モデル構築部１０ａは、対象物の形状データを複数の要素に分割して解析モデルを構築する。解析モデルを構成する手法としては、対象物の表面形状を複数の所定の形状に分割して表現するメッシュを用いる手法や、対象物の表面に複数の節点（ノード）を配置する手法等を用いることができる。以下では、対象物の表面形状を、図７に示すような多角形のメッシュで表現した解析モデルを用い、この解析モデルのメッシュデータを三次元空間に配置して解析モデルを構築する例について説明するが、解析モデルの要素としてノードを用いる場合においても処理は同様である。
【００３１】
図７は、解析モデルを形成するメッシュの配列を示しており、ノードａ，ｄ，ｅ，ｈを有するメッシュＡに、ノードａ，ｂ，ｃ，ｄを有するメッシュＢと、ノードｄ，ｃ，ｆ，ｇを有するメッシュＣと、ノードｅ，ｇ，ｈを有するメッシュＤと、ノードａ，ｈ，…を有するメッシュＦとが隣接して配置される例を示している。隣接メッシュとは、或るメッシュに対して節点或いは辺を共有するメッシュであり、メッシュＡ以外に着目すると、メッシュＦ及びメッシュＢにメッシュＥが隣接し、メッシュＤにメッシュＧが隣接し、メッシュＣにメッシュＨ，Ｉが隣接している。
【００３２】
このようなメッシュによって形成される解析モデルは、例えば、図８，図９に示すようなデータ構造を有しており、個々のメッシュに、自己を識別するためのメッシュ番号、ノード番号、隣接メッシュの番号、ノード座標値（三次元空間のＸＹＺ直交座標系における座標値）、メッシュの属性等のデータが付与される。これらのシミュレーション処理に必要な各種のデータは、外部記憶装置１３に格納されている。例えば、外部記憶装置１３は、対象物毎に個別の識別番号（レコード番号）が付された属性レコード群で構成されるデータベースを有し、個々の属性レコードに、各メッシュのメッシュ番号、ノード点座標値、属性データ等が対応付けて記述される。
【００３３】
尚、解析モデルのデータ構造におけるＸＹＺ直交座標系は、解析対象に固定の座標系であり、解析対象の車体ボディ２０が水平の状態で、Ｚ軸が重力方向（重力と反対方向）となるように予め設定しておく。
【００３４】
液溜り判定部１０ｂは、解析モデルを形成する個々のメッシュに対して、浸漬液が排出されて直接的或いは間接的（付着膜等を介して）に空気に晒される箇所に相当する気体の属性と、浸漬液が残留して貯留される箇所に相当する液体の属性との何れかを設定し、液溜りの有無を判定する。このメッシュの属性は、当初、全メッシュが液体の属性に設定され（浸漬状態）、その後、境界メッシュを含む隣接メッシュとの重力方向の高さの比較により、メッシュの属性が気体となるか液体のままであるか（つまり、液溜りとなるか否か）を判定し、気体と判定されたとき、そのメッシュの属性を気体に変更し、属性データを書き換える。
【００３５】
境界メッシュは、解析モデルの全メッシュの属性を液体と気体とに分離・決定するための初期条件として用いられるものであり、各メッシュの属性を判定する処理に先立って、予め気体の属性に決定されている要素である。本形態においては、境界メッシュは、解析モデルを形成する全メッシュの中からフリーエッジを有するメッシュを探索し、このフリーエッジを有するメッシュを境界メッシュとして設定する。
【００３６】
フリーエッジは、ワークの縁の部分、すなわちワークの端部やワークに形成された穴の縁の部分を意味し、浸漬状態からワークが引き上げられたとき、無条件で液体が排出される部分である。換言すれば、フリーエッジは、複数の要素で共有されることのない、単独の要素（メッシュ）のみに所属するエッジ（辺）であり、要素同士が接続されていない不連続な部分であり、空間に解放されている部分（すなわち、浸漬液が必ず排出される部分）である。図７に示す例では、メッシュＢのノードｂ，ｃが他のどのメッシュにも共有されていないことから、エッジ（ｂ−ｃ）がフリーエッジであり、このフリーエッジを有するメッシュＢが境界メッシュとして初期設定される。
【００３７】
尚、ワークの浸漬処理における液溜りの判定に際しては、前述したように、液溜りからの排出孔となる開口部は、予め、解析モデル上で孔部に相当するメッシュを追加してカバーする、或いは、最初から液排出孔のない図面データを用いて解析モデルを作成する等して孔を塞いでおく。
【００３８】
液溜りの判定は、基本的に、浸漬液の比重が空気の比重よりも大きいことを前提としている。すなわち、或るメッシュの属性を判定する際に、判定対象のメッシュと比較対象のメッシュとを重力と反対方向の高さで比較する。そして、比較対象メッシュが判定対象メッシュよりも低く気体の属性を有していれば、相対的に高い判定対象メッシュには浸漬液が滞留せずに排出されるものと判断し、判定対象メッシュの属性データを気体とする。
【００３９】
これに対して、相対的に低い比較対象メッシュの属性が液体である場合には、判定対象メッシュの属性データは変更せず、比較対象を変更して判定を繰り返す。そして、この判定を繰り返して全メッシュの属性が液体と気体とに分離・決定され、属性が液体と決定されたメッシュの存在によって示される液溜りの気液境界線が導き出される。
【００４０】
尚、液溜り判定及び液溜り体積の計算に際しては、解析対象の車体ボディ２０が浸漬槽２２から傾斜角θで引き上げられる状態を想定し、ＸＹＺ直交座標系のＺ軸を、Ｙ軸を中心として傾斜角θだけ座標回転させた状態とする。
【００４１】
液溜り体積計算部１０ｃは、本発明の液溜りシミュレーションにおける液溜り体積計算ステップの機能、すなわち、属性が気体と決定された要素と属性が液体と決定された要素との境界を修正して形成される水平方向の液面の面積と、該液面の重力方向の高さとに基づいて液溜り体積を計算する機能を有するものである。具体的には、液溜り部を形成するメッシュに対して、液溜り部の境界ラインにおいて重力と反対方向の高さが最も低いノードを通る水平面を設定し、以下の（１）式に示すように、この水平面への各メッシュの投影面積Ｓｍｉと高さｈｍｉとを求めて体積Ｖｍｉを計算し、各メッシュ毎の体積Ｖｍｉを総和して液溜り部全体の体積Ｖを計算する。 
Ｖ＝ΣＶｍｉ＝Σ（Ｓｍｉ×ｈｍｉ）  …（１）
【００４２】
すなわち、図１０に示すように、属性を液体と決定されたメッシュＭＳＨＬｑによって形成される液溜り部は、液面ラインが気体の属性のメッシュＭＳＨａとの境界として検出されるため、重力方向で上下するギザギザした境界ラインとなる。従って、液溜り部の体積計算においては、重力と反対方向の高さが最も低いノードを通る水平面を設定し、全ノードが水平面より高いメッシュは、その属性を気体に変更して液溜り部から除外し、図１１に示すように各メッシュの水平面までの高さ（液面高さ）ｈｍｉを求めることにより、メッシュ毎の体積を計算する。
【００４３】
各メッシュの液面高さｈｍｉは、便宜上ＸＹＺ直交座標系のＺ軸が重力方向（重力と反対方向）を向いているものとすると、以下の（２）式に示すように水平面のＺ座標値Ｚｈとｎ個のノードのＺ座標値Ｚ1，Ｚ2，…との差を平均した値、或いは、対象メッシュの代表点（重心点、内心点、垂心点等）Ｐｉからの水平面までの高さで与えられる。 
ｈｍｉ＝（（Ｚ1−Ｚｈ）＋（Ｚ2−Ｚｈ）＋…）／ｎ  …（２）
【００４４】
この場合、ノードの一部のみが水平面より高いメッシュに対しては、水平面より上にあるノードと水平面より下にあるノードとの間に水平面を横切る中間ノードを追加して液面を分割し、分割した液面より下にある部分の体積を計算する。例えば、図１２に示すように、４個のノードＮ１〜Ｎ４を有するメッシュが境界ラインにある場合、水平面より上のあるノードの数に応じて中間ノードの追加位置を決定し、追加したノードと水平面より下にあるノードとで形成される領域の面積と、この領域の重心点から液面までの高さとから液面下の体積を求める。
【００４５】
図１２（ａ）に示す例では、ノードＮ１，Ｎ２が水平面より高く、ノードＮ１に連結されるノードＮ４とノードＮ２に連結されるノードＮ３とが水平面より下にある。この場合には、ノードＮ１とノードＮ４との間に水平面を横切る中間ノードＡｄ１を追加すると共に、ノードＮ２とノードＮ３との間に水平面を横切る中間ノードＡｄ２を追加する。そして、ノードＮ３，Ｎ４，Ａｄ１，Ａｄ２によって形成される領域の面積と、該領域の重心点等から液面までの高さによって液面下の体積を計算する。
【００４６】
尚、新たに追加生成される中間ノードＡｄ１，Ａｄ２の座標値(ｘａ1,ｙａ1,ｚａ1)，(ｘａ2,ｙａ2,ｚａ2)は、既存の各ノードの座標値(ｘ1,ｙ1,ｚ1)，(ｘ2,ｙ2,ｚ2)，(ｘ3,ｙ3,ｚ3)，(ｘ4,ｙ4,ｚ4)を用いて、以下の（３），（４）式によって求めることができる。 
（ｘａ1,ｙａ1,ｚａ1）＝（(ｚ1−ｚａ1)×(ｘ4−ｘ1)／(ｚ1−ｚ4)＋ｘ1，(ｚ1−ｚａ1)×(ｙ4−ｙ1)／(ｚ1−ｚ4)＋ｙ1，Ｚｈ）  …（３）
（ｘａ2,ｙａ2,ｚａ2）＝（(ｚ2−ｚａ2)×(ｘ3−ｘ2)／(ｚ2−ｚ3)＋ｘ2，(ｚ2−ｚａ2)×(ｙ3−ｙ2)／(ｚ2−ｚ3)＋ｙ2，Ｚｈ）  …（４）
【００４７】
一方、図１２（ｂ）に示す例では、ノードＮ２が水平面より高く、ノードＮ２に連結されるノードＮ１とノードＮ２に連結されるノードＮ３と、ノードＮ１及びノードＮ３に連結されるノードＮ４が水平面より下にある。この場合には、ノードＮ２とノードＮ１との間に中間ノードＡｄ１を追加すると共に、ノードＮ２とノードＮ３との間に中間ノードＡｄ２を追加し、これらのノードＮ１，Ａｄ１，Ａｄ２，Ｎ３，Ｎ４によって形成される領域の面積を求めて液面下の体積を計算する。
【００４８】
この場合、一方の中間ノードＡｄ２の座標値は、上述と同じ（４）式で与えることができるが、他方の中間ノードＡｄ１の座標値は、以下の（５）式によって与えられる。 
（ｘａ1,ｙａ1,ｚａ1）＝（(ｚ2−ｚａ1)×(ｘ1−ｘ2)／(ｚ2−ｚ1)＋ｘ1，(ｚ2−ｚａ1)×(ｙ1−ｙ2)／(ｚ2−ｚ1)＋ｙ1，Ｚｈ）  …（５）
【００４９】
更に、図１２（ｃ）に示す例では、ノードＮ４のみが水平面より下にあり、この場合には、ノードＮ１とノードＮ４との間に中間ノードＡｄ１を追加すると共に、ノードＮ３とノードＮ４との間に中間ノードＡｄ２を追加し、これらのノードＡｄ１，Ａｄ２，Ｎ４によって形成される領域の面積を求めて液面下の体積を計算する。この場合には、中間ノードＡｄ１の座標値は、前述の（３）式で与えられ、中間ノードＡｄ２の座標値は、以下の（６）式によって与えられる。 
（ｘａ2,ｙａ2,ｚａ2）＝（(ｚ3−ｚａ2)×(ｘ3−ｘ4)／(ｚ2−ｚ3)＋ｘ4，(ｚ3−ｚａ2)×(ｙ3−ｙ4)／(ｚ2−ｚ3)＋ｙ4，Ｚｈ）  …（６）
【００５０】
液排出時間計算部１０ｄは、本発明の液溜りシミュレーションにおける液排出時間計算ステップの機能、すなわち、液溜りから液溜り体積分の液体が排出される液排出時間を、ワークの搬送条件に基づいて計算する機能を有するものである。具体的には、ワークを浸漬槽から引き上げたときの液排出のシミュレーションとして、液溜り部の底部（排出孔）が浸漬液の液面上に露呈するまでの時間と、液溜り部の底部が浸漬液の液面上に露呈して排出孔から残留液が排出される時間とを、ワークの姿勢、搬送速度、液溜り体積、排出孔からの単位時間当たりの排出流量等に基づいて計算する。
【００５１】
本形態においては、１つの液溜り部に１つの排出孔が設けられているものとして説明する。液溜り部の底部（排出孔）が浸漬液の液面上に露呈するまでの時間Ｔ１は、図１３に示すように、浸漬槽２２底面から各液溜り部の排出孔までの高さをｈＨ１，ｈＨ２（代表してｈＨｉと記載）とすると、浸漬液の液面高さＬｉｑＨ、車体ボディ２０の搬送におけるピッチ速度ＶＬ及び傾斜角θから、以下の（７）で求めることができる。 
Ｔ１＝（ＬｉｑＨ−ｈＨｉ）／ｓｉｎθ／ＶＬ  …（７）
【００５２】
また、液溜り部の底部（排出孔）が浸漬液の液面上に露呈してからの液排出時間Ｔ２は、各液溜り部の液溜り体積をＶ１，Ｖ２（代表してＶｉと記載）、各液溜り部の排出孔からの単位時間当たりの排出流量をＬｉｑＶ１，ＬｉｑＶ２（代表してＬｉｑＶｉと記載）とすると、以下の（８）式で求めることができる。 
Ｔ２＝Ｖｉ／ＬｉｑＶｉ  …（８）
【００５３】
以上の時間Ｔ１，Ｔ２の和が液排出時間として求められるわけであるが、液排出時間Ｔ２を計算する際の液溜り体積Ｖｉは、厳密には、時間経過と共に変化（減少）する。本形態では、液溜り体積Ｖｉは、車体ボディ２０が傾斜角θで引き上げられる搬送状態においては、近似的に初期値のまま一定であるとし、搬送路２２ｃに沿って水平移動する搬送状態では、傾斜角θの搬送状態で排出された分だけ初期値から減少するものとする。
【００５４】
更に、液排出時間計算部１０ｄは、本発明の液溜りシミュレーションにおいて、ワークが浸漬される浸漬槽からワークが引き上げられて設定位置まで搬送される時間と、液溜りの液排出時間とに基づいて、液溜りの可否を判定する判定ステップの機能を有しており、液溜りからの液排出状態が“ＯＫ”か“ＮＧ”かを判定する。この判定に際しては、先ず、車体ボディ２０が傾斜角θで引き上げられて搬送路２２ｃに沿った水平移動に移行する前に、すなわち、傾斜角θの搬送時間で、液溜り体積Ｖｉが全て排出されるか否かを調べる。水平移動前に液溜り体積Ｖｉが全て排出される場合には、“ＯＫ”判定と共に上述の（７），（８）式によって計算した排出時間を報知する。
【００５５】
一方、水平移動前に液溜り体積Ｖｉが排出しきれない場合には、更に、搬送路２２ｃのデッドラインＤＬに達するまでに液溜り体積Ｖｉが排出されるか否かを判断する。そして、デッドラインＤＬに達するまでに液溜り体積Ｖｉが排出される場合は、“ＯＫ”判定と共に排出時間を報知し、デッドラインＤＬに達するまでに液溜り体積Ｖｉが排出されない場合、“ＮＧ”判定と共に排出時間を報知する。
【００５６】
尚、１つの液溜り部に複数の排出孔がある場合には、各排出孔に識別番号を付して、例えば、最も高い位置にある排出孔から、順次、以上の処理を行う。
【００５７】
ポスト処理部１０ｅは、シミュレーション結果を容易に把握可能とするための可視化処理やシミュレーション結果のデータ出力を行う。シミュレーション結果の可視化処理においては、液体の属性に決定されたメッシュ、気体の属性に決定されたメッシュ、これらの境界線を色相や濃淡等によって区分し、液溜りの発生部位や大きさ等を明示的に表示すると共に、液溜りから液排出状態に対する判定結果を報知する。
【００５８】
次に、演算装置１０のＣＰＵで実行される液溜りのシミュレーション処理について、図１４，図１５のフローチャートを用いて説明する。尚、このシミュレーション処理は、前述した浸漬槽２２による車体ボディ２０の浸漬処理を想定している。
【００５９】
図１４のシミュレーションプログラムは、液溜りの有無を判定するプログラムであり、先ず、ステップＳ１において、対象物の表面形状を複数の表面要素のデータでモデル化し、数値計算のための解析モデルを構築する。この解析モデルは、例えば、ワークの表面形状を複数の三角形のメッシュで分割したモデルで構築される。
【００６０】
次に、ステップＳ２へ進み、対象物が電着液等に浸漬された状態のシミュレーションとして、一旦、解析モデルの全てのメッシュを液体の属性に設定する。そして、ステップＳ３で、全メッシュの属性を液体と気体とに分離するための初期メッシュとして、フリーエッジを有するメッシュを探索し、ステップＳ４でフリーエッジを持つメッシュの属性を液体から気体に変更する。
【００６１】
次に、ステップＳ５へ進み、ワークに対する重力方向と、ワークを浸漬槽２２から引き上げるときのラインの角度θ（浸漬槽２２の側壁に沿った傾斜角）を指定し、ステップＳ６で、車体ボディ２０を角度θだけ傾けて引き上げるシミュレーションとして、車体ボディ２０に固定した３次元座標系をＹ軸を中心として角度θだけ回転し、Ｚ軸が重力方向に対して角度θだけ傾斜するようにする。
【００６２】
ステップＳ７以降では、本発明の判定ステップに相当する液溜り判定計算処理を実施する。この液溜り判定計算処理は、各メッシュの重力と反対方向の高さの比較により、それぞれの属性を決定して液溜りの発生を判定する処理であり、従来の手法を用いることができる。
【００６３】
すなわち、ステップＳ７で、属性が気体であるメッシュ（空気メッシュ）と、この空気メッシュに隣接する属性が液体であるメッシュ（液体メッシュ）との重力と反対方向の高低を比較する。各メッシュの高さの比較は、例えば、それぞれのメッシュの重心点、内心点、外心点、垂心点等の重力と反対方向における位置や、それぞれのメッシュが有する各頂点のうちの最も高い頂点等の特徴点を比較することで行う。
【００６４】
重力と反対方向の高低は、各メッシュのＺ座標値を傾斜角θで補正した値となるが、傾斜角θは一定であるため、ここでは、Ｚ座標値で高低を比較し、ステップＳ８で、空気メッシュのＺ座標値が隣接する液体メッシュのＺ座標値以下か否かを調べる。その結果、液体メッシュが空気メッシュよりも下に位置する場合には、当該液体メッシュの属性を変更することなくステップＳ８からステップＳ１０へジャンプし、液体メッシュが空気メッシュよりも上に位置する場合、ステップＳ９で当該液体メッシュの属性を液体から気体に変更して空気メッシュとし、ステップＳ１０へ進む。
【００６５】
ステップＳ１０では、メッシュの属性情報を記録し、ステップＳ１１で、全液体メッシュについての属性変更判定が済み、これ以上の属性の変更が不可能か否かを調べる。そして、未だ全液体メッシュについての判定処理が済んでおらず、属性変更の余地がある場合には、ステップＳ１１からステップＳ７へ戻って以上の判定処理を継続し、これ以上属性変更が不可能である場合、ステップＳ１１からステップＳ１２へ進み、液体メッシュがゼロか否かを調べる。
【００６６】
その結果、液体メッシュがゼロである場合には、ステップＳ１２からステップＳ１３へ進んで液溜り無しと判断し、表示装置１２にシミュレーション結果を表示する等して液溜りの発生が無いことを報知し、また、必要に応じてシミュレーション結果のデータをファイルに出力する。一方、液体メッシュがゼロでない場合には、ステップＳ１２からステップＳ１４へ進み、液溜り有りと判断し、表示装置１２等を介して報知すると共に、各液溜り部の体積Ｖｉを計算する。
【００６７】
以上のプログラムで液溜り有りと判定された場合、液溜りからの液排出状態が調べられ、“ＯＫ”か“ＮＧ”かが判定される。次に、この判定を行う液溜り排出判定プログラムについて、図１５のフローチャートを用いて説明する。
【００６８】
図１５の液溜り排出判定プログラムでは、先ず、最初のステップＳ２１において、液溜り番号ｉ、液溜り体積Ｖｉ、浸漬槽２２の液面高さＬｉｑＨ、浸漬槽２２底面から各液溜り部の排出孔までの高さｈＨｉ等の液溜りデータを入力する。
【００６９】
次に、ステップＳ２２へ進み、車体ボディ２０が浸漬槽２２の側壁に沿って傾斜角θで引き上げられる行程において液溜り体積Ｖｉが全て排出されるか否かを、以下の（９）式に示す条件が成立するか否かによって判断する。（９）式の条件は、排出孔が浸漬液面上に露呈した状態で排出される液体の体積が液溜り体積Ｖｉ以上となる条件であり、詳細には、傾斜角θでの搬送開始位置をゼロ点として搬送距離Ｌ１を移動するに要する時間Ｌ１／ＶＬに、車体の垂直方向の全上昇距離（Ｌ１×ｓｉｎθ）と、この全上昇距離（Ｌ１×ｓｉｎθ）から排出孔が浸漬液面上に露呈するまでの上昇距離分（ＬｉｑＨ−ｈＨｉ）を除いた距離との比率を乗算した時間で排出される液量が液溜り体積Ｖｉ以上となる条件である。 
Ｌ１／ＶＬ×（Ｌ１×ｓｉｎθ−（ＬｉｑＨ−ｈＨｉ））／（Ｌ１×ｓｉｎθ）×ＬｉｑＶｉ≧Ｖｉ  …（９）
【００７０】
その結果、（９）式の条件が成立する場合には、ステップＳ２２からステップＳ２８へ進み、液溜り体積Ｖｉの排出を完了する液排出時間Ｔを算出し、ステップＳ２９で“ＯＫ”判定と共に排出時間を報知する。液排出時間Ｔは、前述の（７）式に示すように、排出孔が液面下にある時間Ｔ１に、（８）式に示すように、排出孔が浸漬液の液面上に露呈してからの排出時間Ｔ２を加算した時間である。
【００７１】
一方、（９）式の条件が成立しない場合には、ステップＳ２２からステップＳ２３へ進み、以下の（１０）式に示すように、傾斜角θでの搬送行程で排出した分だけ液溜り体積Ｖｉを減少・更新する。液溜り体積Ｖｉの減少分は、（９）式の左辺における値、すなわち排出孔が浸漬液面上に露呈した状態で排出される液体の体積である。以下では、減少を更新した液溜り体積Ｖｉを、便宜上、残存体積Ｖｉと記載し、初期値と区別する。 
Ｖｉ＝Ｖｉ−Ｌ１／ＶＬ×（Ｌ１×ｓｉｎθ−（ＬｉｑＨ−ｈＨｉ））／（Ｌ１×ｓｉｎθ）×ＬｉｑＶｉ  …（１０）
【００７２】
次に、ステップＳ２４へ進み、車体ボディ２０の水平移動でデッドラインＤＬに達するまでの排出液量が残存体積Ｖｉ以上か否かを、以下の（１１）式の条件が成立するか否かにより判断する。 
Ｌ２／ＶＬ×ＬｉｑＶｉ≧Ｖｉ  …（１１）
【００７３】
そして、（１１）式の条件が成立する場合、ステップＳ２４からステップＳ２５へ進み、以下の（１２）式に示すように、傾斜角θでの搬送時間Ｌ１／ＶＬに、水平移動で残存体積Ｖｉを排出する時間Ｖｉ／ＬｉｑＶｉを加算して液排出時間Ｔを算出し、前述のステップＳ２９で“ＯＫ”判定と共に排出時間を報知する。一方、（１１）式の条件が成立しない場合には、ステップＳ２４からステップＳ２６へ進み、同様に、（１２）式で液排出時間Ｔを算出し、ステップＳ２７で“ＮＧ”判定と共に液排出時間を報知する。 
Ｔ＝Ｌ１／ＶＬ＋Ｖｉ／ＬｉｑＶｉ  …（１２）
【００７４】
以上、本実施の形態によれば、浸漬処理を施すワークを複数の要素のデータで分割した解析モデルを用いて、重力方向の位置関係に基づいて決定される各要素の属性から液溜りの有無を判定する。液溜りがある場合には、その液溜り体積を、属性が気体と決定された要素と属性が液体と決定された要素との境界を修正して形成される水平方向の液面の面積と、該液面の重力方向の高さとに基づいて計算した後、液溜り体積の排出時間をワークの搬送条件に基づいて計算し、“ＯＫ”か“ＮＧ”かを判定する。
【００７５】
これにより、複雑な流体解析を要することなく、比較的小規模なシステムにも適用可能なシミュレーションとすることができ、浸漬処理されるワークに生じる液溜りと、その液溜りの排出孔の適否を判断することができ、また、設計変更によるモデル変更等にも柔軟に対応することが可能となる。
【図面の簡単な説明】
【００７６】
【図１】シミュレーション装置の基本構成図
【図２】車体の塗装ラインの概略説明図
【図３】塗装ラインにおける車体の状態を示す説明図
【図４】車体の液溜り部を示す説明図
【図５】水平状態での液溜り面を示す説明図
【図６】傾斜状態での液溜り面を示す説明図
【図７】数値計算モデルのメッシュ配列を示す説明図
【図８】数値計算モデルのデータ構造のメッシュ間の関係を示す説明図
【図９】数値計算モデルのデータ構造のノード番号及び座標データを示す説明図
【図１０】液溜り部を数値計算モデルで表現した例を示す説明図
【図１１】液溜り部の体積計算方法を示す説明図
【図１２】液面高さの計算方法を示す説明図
【図１３】車体の液溜り部からの液排出時間の計算方法を示す説明図
【図１４】液溜りシミュレーションプログラムのフローチャート
【図１５】液排出判定プログラムのフローチャート
【符号の説明】
【００７７】
１      シミュレーション装置
１０    演算装置
１０ａ  モデル構築部
１０ｂ  液溜り判定部
１０ｃ  液溜り体積計算部
１０ｄ  液排出時間計算部
【図１】
2008197744.tif 000003
【図２】
2008197744.tif 000004
【図３】
2008197744.tif 000005
【図４】
2008197744.tif 000006
【図５】
2008197744.tif 000007
【図６】
2008197744.tif 000008
【図７】
2008197744.tif 000009
【図８】
2008197744.tif 000010
【図９】
2008197744.tif 000011
【図１０】
2008197744.tif 000012
【図１１】
2008197744.tif 000013
【図１２】
2008197744.tif 000014
【図１３】
2008197744.tif 000015
【図１４】
2008197744.tif 000016
【図１５】
2008197744.tif 000017