JP3840603B2 - Air pocket generation detection software when the work is immersed in the liquid - Google Patents

Air pocket generation detection software when the work is immersed in the liquid Download PDF

Info

Publication number
JP3840603B2
JP3840603B2 JP24112798A JP24112798A JP3840603B2 JP 3840603 B2 JP3840603 B2 JP 3840603B2 JP 24112798 A JP24112798 A JP 24112798A JP 24112798 A JP24112798 A JP 24112798A JP 3840603 B2 JP3840603 B2 JP 3840603B2
Authority
JP
Japan
Prior art keywords
air pocket
triangular polygon
program
triangular
polygon
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP24112798A
Other languages
Japanese (ja)
Other versions
JP2000051750A (en
Inventor
慎一 中根
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Trinity Industrial Corp
Original Assignee
Trinity Industrial Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Trinity Industrial Corp filed Critical Trinity Industrial Corp
Priority to JP24112798A priority Critical patent/JP3840603B2/en
Publication of JP2000051750A publication Critical patent/JP2000051750A/en
Application granted granted Critical
Publication of JP3840603B2 publication Critical patent/JP3840603B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/23Design optimisation, verification or simulation using finite element methods [FEM] or finite difference methods [FDM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Coating Apparatus (AREA)
  • Application Of Or Painting With Fluid Materials (AREA)
  • Spray Control Apparatus (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、浸漬処理、例えばディップ化成処理、電着塗装、ディップ水洗および水圧転写印刷などの模擬試行についてのプログラム、より詳しくは、その模擬試行におけるエアポケット発生の有無をワークの各表面部位について判定し、これをディスプレイ上に表示するプログラムを記録したところの新規なコンピュ−タ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】
浸漬処理、例えば図30に示す電着塗装装置の場合のように、所定の塗料12で満たされた浸漬槽11の上方で、ワークAを、コンベア13の移送により、吊持しながら塗料12中に押し入れることにより、塗料12をワークAの表面に付着させるところの塗装技術は、旧来より、ひろく様々な用途において、各種の製品の表面塗装によく利用されている。
【0003】
【発明が解決しようとする課題】
実際の浸漬塗装プロセスにおいては、槽内の塗料がワークの表面にまったく付着されないまたは不十分にしか付着されないという不良が発生することがある。その代表的な不良としては、図29に示すように、ワークAを浸漬槽11に浸漬する際、ワークAの表面付近における空気の一部が外気へ抜け出ずに残留し、空気溜りがワークAの凹部位などに発生し、結果として空気溜りが生じた表面部位には、塗料12が付着されないという塗装不良(所謂エアポケット16)が挙げられる。
従って、実際の浸漬処理プロセスにおける最適なもしくはより良好な条件を決定するにあたっては、上記のエアポケットによる不良が起きない条件を選定することが不可欠とされる。
【0004】
一方、従来、とりわけ外形が複雑な立体形状を有する特定の製品に対して浸漬塗装プロセスを確立するために、まず、その製品の試作品を作成し、次に、浸漬塗装の試験プラント等において、該試作品を用いて、浸漬処理プロセスを、印刷条件を変更しながら、特に様々な入槽角(つまり、ワークを浸漬槽内に浸漬する際のその進行方向と槽内の塗料の表面との角度)の下で、いろいろと試行し、そして、塗装された試作品の表面について塗装の具合、つまり塗装不良が生じているかどうかを調べることによって、好都合な塗装条件、特に最適な入槽角を探し出すことにより、その後の対象製品の量産体制において適用されるべき浸漬塗装の条件を決定するという手順が採られていた。
しかし、この従来の手法においては、試作品の作成にあたって相当な手間、時間および費用が必要とされ、特に複雑な立体形状の製品であればある程、より多くの手間および時間が試作品の作成に要することになるという問題があった。
その上、上記の手法においては、試作品を用いた浸漬塗装プロセスを一つ一つの塗装条件についてそれぞれ実際に試行するものであるので、最適なもしくはより良好な浸漬塗装条件を最終的に決定するまでに、大変多くの手間および時間さらには費用がそれぞれ必要とされるという問題もあった。
言い換えると、従来の手法にあっては、浸漬塗装すべき対象製品の外形を設計してから浸漬塗装によるその製品の量産に移行するまでの期間が、非常に長いという問題があった。
したがって、浸漬塗装製品の設計から量産までの期間を短縮し、その間における手間および費用を減少させることが、従来、重要な課題とされていた。
【0005】
本発明は、上述の背景に基づいて為されたものであって、その課題とするところは、ワーク(試作品)を液中に浸漬して塗装等の表面処理をなすプロセスを実際に試行せずとも、コンピュータによるプログラムの動作により、浸漬処理すべき製品について、その浸漬模擬プロセスにおけるエアポケット発生の有無をディスプレイ上に表示することができるところのコンピュータ読み取り可能な記録媒体を提供することにある。
【0006】
【課題を解決するための手段】
本発明は、コンピュータによるプログラムの動作により、ワークの各々の表面について、浸漬処理の模擬プロセスにおけるエアポケット不良が発生するかどうかが判定され、そしてその結果がディスプレイ上に表示されうるようにしたものである。本発明は、より明確には、ワークを液中に浸漬する模擬プロセスにおけるエアポケット発生の有無をワークの各々の表面部位について判定しそしてこの結果をコンピュータのディスプレイ上に表示するエアポケット発生判定プログラムを記録した記録媒体であって、該エアポケット発生判定プログラムは、ワークの入力された頂点座標データに基づいてワークの各表面を任意数の三角ポリゴンに分割する有限要素プログラムと、ワークを入力された入槽角の姿勢にて浸漬槽に模擬浸漬した際エアポケットとなる表面部位であるかどうかの判定を分割されたそれぞれの三角ポリゴンについて実行するプログラムであって入力された入槽角の姿勢にあるワークに対して上方よりそしていくつかの水平方向よりそれぞれ眺めたとき死角にならない部位であるかどうかの判断を、分割されたそれぞれの三角ポリゴンについて実行し、そして死角にならない部位の三角ポリゴンはエアポケットとならない部位の三角ポリゴンであると判定する第一のエアポケット判定プログラムを有するエアポケット判定プログラムと、そして、各三角ポリゴンについての前記判定の結果を上記ディスプレイ上に表示する表示プログラムとを有してなることを特徴とする、コンピュータ読み取り可能な記録媒体に関する。
【0007】
本発明のより好ましい態様は、上記の記録媒体において、エアポケット判定プログラムが、上述の第一のエアポケット判定プログラムに加え、前記のエアポケットとならない部位の三角ポリゴンに隣接する三角ポリゴンについて、ワークが入力された入槽角の姿勢にある条件の下で、該エアポケットとならない部位の三角ポリゴンよりも下方に位置するかどうかの判断を実行し、そして下方に位置する三角ポリゴンはエアポケットとならない部位の三角ポリゴンであると判定し、続いてこの新たに判定されたエアポケットとならない部位の三角ポリゴンに隣接する三角ポリゴンについて、ワークが入力された入槽角の姿勢にある条件の下で、該エアポケットとならない部位の三角ポリゴンよりも下方に位置するかどうかの判断を実行し、そして下方に位置する三角ポリゴンもまたエアポケットとならない部位の三角ポリゴンであると判定し、さらに以降、この処理を繰り返す第二のエアポケット判定プログラムとを有してなるところの記録媒体に関する。
【0008】
【発明の実施の形態】
本発明の記録媒体は、エアポケット発生判定プログラムを電磁気的に、光学的にもしくはこれらの組合せで記録したコンピュータ読み取り可能な記録媒体であって、例えば磁気ディスク、光ディスクおよび光磁気ディスク、より具体的にはフロッピーディスク(スーパーディスク(120MB) 、ZIP等を含む)、CD−ROM(650MB) 、MO(128MB、230MB、540MB、640MB等) ディスク、DVD−ROM、PD 650MB(松下電器株式会社製)などよりなる。エアポケット発生判定プログラムは、コンピュータにインストールされたOSソフト(windows 、UNISYS等)の上で各種の処理が可能なプログラムであると、処理実行の都合上より好都合である。
なお、コンピュータとしては、CPU(高性能である程より好ましい)、インターフェイス等を備えた通常構成のコンピュータが利用される。また、これに接続されるディスプレイとしては、CRTディスプレイ、液晶ディスプレイおよびプラズマディスプレイなどが使用される。
エアポケット発生判定プログラムは、対象物の浸漬処理をある設定条件で模擬試行した場合(例えばディップ塗装の模擬プロセス)において、得られる対象物についてエアポケットが発生するかどうかをその各々の表面部位について判定するプログラムであって、少なくとも、有限要素プログラム、エアポケット判定プログラム(第一および第二のエアポケット判定プログラム)および表示プログラムを有するものであるが、これら以外のプログラム、例えばワークの浸漬処理を模擬試行するときの様子をコンピュータのディスプレイ上に動画表現するプログラムなどをさらに含むものであってもよいことは言うまでもない。
【0009】
有限要素プログラムは、ワークの表面のうち、どの部位にエアポケットが発生するおそれがあるか否かを判定するために、その前段階としてワークの各表面を任意数の、例えば数千ないし数十万の三角ポリゴンに分割するプログラムである。本プログラムは、公知の有限要素プログラムと同様の機能、即ち図37(a) (b) に示すようにワークの各表面をその頂点座標データに基づいて所定数の三角ポリゴンに分割しうる機能を有するものでよい。ワークの頂点座標データは、キーボードまたはマウスより直接入力してもよいが、三次元CAD(3dCAD)で作成されたワークの立体図形についての頂点座標データをそのまま本プログラムにおける頂点座標データとして流用することも可能である。なお、本発明で三角ポリゴンを選択したのは、頂点が4個以上の多角ポリゴン例えば四角ポリゴンを選定すると、ポリゴンが歪む可能性があり、模擬の精度低下につながるからである。
本発明におけるエアポケット判定は、ワークをある入槽角で浸漬槽に模擬浸漬した際を基準として、エアポケットという不良の発生の有無を判定するものである。従って、本判定のためのプログラムは、ワークの頂点座標データ並びに分割された各三角ポリゴンの頂点座標データを、ワークが入力された入槽角の姿勢にある状態に変換するプログラムを利用するものとし、そして、入力された入槽角の姿勢に座標変換された三角ポリゴンの頂点座標データを使用して、エアポケット有無の判定をなすプログラム構成とするのがより好都合である。ちなみに、本実施例においては、ワークの頂点座標データに基づいて分割された各々の三角ポリゴンの頂点座標データを、基本の姿勢より入力された入槽角の姿勢に極座標変換する座標変換プログラムが組み込まれ、座標変換された三角ポリゴンの頂点座標データは第一および第二のエアポケット判定プログラムのそれぞれに共通利用されている。なお、入槽角の入力は、コンピュータのキーボードまたはマウスを用いてなされる。
【0010】
エアポケット判定プログラムは、ワークが入力された入槽角の姿勢にある条件の下、その姿勢に座標変換された各々の三角ポリゴンについて、エアポケットとなって塗装されない可能性がある表面部位であるか否かの判定を実行するものであって、第一のエアポケット判定プログラムと、好ましくは第二のエアポケット判定プログラムとの二段階プログラムよりなる。第一のエアポケット判定プログラムは、図25に示すように、上記の姿勢にあるワークに対して、その周囲よりかつ水平より上側の視線方向で眺めたとき、見えず死角になる部位は、ワークの浸漬槽への浸漬の際、エアポケットになる可能性があるという論理の下、組み立てられたプログラムであり、詳細には、図26に示すように、入力された入槽角の姿勢にあるワークに対して、上方より並びに、いくつかの水平方向より、通常前方、後方、左方および右方の4方向よりそれぞれ眺めたとき、死角にならない部位であるかどうかの判断を、分割されたそれぞれの三角ポリゴンについて実行し、そして死角にならない部位の三角ポリゴンはエアポケットとならない部位の三角ポリゴンであると判定するものである。より具体的には、第一のエアポケット判定プログラムは、入槽角の姿勢に座標変換された各々の三角ポリゴンについて、その姿勢のワークを上方、前方、後方、左方および右方より眺めるそれぞれの場合において、重なり合う三角ポリゴンが存在するか否かを判断し、存在するときには、その中で最も手前に位置する三角ポリゴンは死角にならない部位の三角ポリゴンであり、よってエアポケットとならない部位の三角ポリゴンであると判定し、また、存在しないときには、その三角ポリゴンは死角にならない部位、即ちエアポケットとならない部位の三角ポリゴンであると判定するプログラム構成よりなる。第二のエアポケット判定プログラムは、入槽角姿勢のワークを水平より上側の視線方向で眺めたとき、死角になる部位であっても、図27に示すように、ワークがその入槽角の姿勢にあるときで、エアポケットとならない部位より下方へのみ連続する表面を経由して接続される表面部位は、ワークの浸漬槽への浸漬の際、槽内の塗料と接触することができ、エアポケットにはならないという論理の下組み立てられたプログラムであって、詳細には、図28に示すように、第一のエアポケット判定プログラムに従いもしくは本プログラムに従いエアポケットとならない部位と判定された部位の三角ポリゴンに隣接する三角ポリゴンについて、該エアポケットとならない部位の三角ポリゴンよりも下方に位置するかどうかの判断を実行し、そして、下方に位置する三角ポリゴンはエアポケットとならない部位の三角ポリゴンであると追加判定するプログラム構成よりなる。より具体的には、第二のエアポケット判定プログラムは、エアポケットとならない部位と未だ判定されていない三角ポリゴンの中より、その三角ポリゴンの頂点座標が既に判定された「エアポケットとならない部位の三角ポリゴン」の頂点座標と共通するか否かの判断をなすことにより、エアポケットとならない部位の三角ポリゴンに隣接する三角ポリゴンを選出し、次いで、該隣接する三角ポリゴンについて、前記エアポケットとならない部位の三角ポリゴンよりも下方に位置するかどうかの判断を例えば重心の対比により実行し、そして、下方に位置するとき、その隣接する三角ポリゴンはエアポケットとならない部位の三角ポリゴンであると新たに判定し、さらに、この新たに判定された三角ポリゴンを既判定の「エアポケットとならない部位の三角ポリゴン」に加えて、この一連の判定手順を、エアポケットとならない部位の三角ポリゴンである旨の新たな判定が発生しなくなるまで、繰り返すというプログラム構成よりなる。
【0011】
表示プログラムは、浸漬処理の模擬プロセスにおけるエアポケット発生の有無の結果をワークの各々の表面部位についてコンピュータのディスプレイ上に表示するためのプログラムであり、詳細には、分割された各三角ポリゴンについて、上記エアポケット判定プログラム(第一および第二のプログラム)に従う判定結果をディスプレイ上に表示するプログラム構成よりなる。
【0012】
【実施例】
以下、本発明の実施例を図面により説明する。この実施例は、非制限的な例であって、本発明がこれに限定されないことは、言うまでもない。
本実施例の記録媒体は、対象となるワークの各々の表面部位について浸漬処理の模擬プロセスにおけるエアポケット発生の有無を判定しそしてディスプレイ上に表示するプログラム、即ち、エアポケット発生判定プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【0013】
エアポケット発生判定プログラムは、図1に示すように、「三角ポリゴンの頂点座標データ入力」処理1を実行する有限要素プログラム、「ワークの姿勢を入槽角に変更」処理2を実行する座標変換プログラム、「エアポケット▲1▼の判定」処理3を実行する第一のエアポケット判定プログラムおよび「エアポケット▲2▼の判定」処理4を実行する第二のエアポケット判定プログラム、そして、この判定の結果についての「判定の表示」処理5を実行する表示プログラムより構成されている。
一方、本実施例の記録媒体は、そのデータ領域において、基本姿勢の頂点テーブル(図2)、姿勢変換後の頂点テーブル(図3)、および表示用頂点テーブル(図4)、並びに三角ポリゴンテーブル(図6)を有する。
頂点テーブルはいずれも、縦欄が三角ポリゴン10・・を作る各頂点の番号を示し、横欄がその頂点のX座標、Y座標およびZ座標の各データを示す。なお、本実施例においては、図5に示すように、X座標は水平方向の座標で、Y座標は垂直方向の座標で、そしてZ座標はXY表面に直交する手前方向の座標であると設定されている。
基本姿勢の頂点テーブルは、ワークが基本姿勢にあるときの所定数の三角ポリゴン10・・を作る総ての頂点の座標データを記録保存するものである。また、姿勢変換後の頂点テーブルは、ワークが入槽角の姿勢にあるときの所定数の三角ポリゴン10・・を作る総ての頂点の座標データを記録保存するものである。さらに、表示用頂点テーブルは、ワークを視線の方向より眺めたときの所定数の三角ポリゴン10・・を作る総ての頂点の座標データを記録保存するものである。
三角ポリゴンテーブルは、それぞれの三角ポリゴンについて、上記各種の判定の結果を記録保存しそしてディスプレイに表示する際の基礎データとするものであって、縦欄が所定数の三角ポリゴン10の番号を示し、横欄が「頂点P1 」、「頂点P2 」および「頂点P3 」の項にて各々の三角ポリゴンの三つの頂点の番号、「エアポケット」の項にてエアポケット判定の結果、および、「Z位置」の項にて三角ポリゴンの三つの頂点のZ座標の平均値を示す。
なお、本実施例では、図7に示すように、頂点P1 、P2 およびP3 が平面上で右回りに並ぶとき、その平面は、それら三つの頂点P1 、P2 およびP3 で作られる三角ポリゴンの表面であり、頂点P1 、P2 およびP3 が平面上で左回りに並ぶとき、その平面は、それら三つの頂点P1 、P2 およびP3 で作られる三角ポリゴンの裏面であると設定されている。
【0014】
「三角ポリゴンの頂点座標データ入力」処理1は、上記の有限要素プログラムに従い、次の処理が実行される。すなわち、入力されたワークの頂点座標データに基づいて、そのワークの各表面を図37(a) および図37(b) に示されるように所定数(数千ないし数十万)の三角ポリゴン10・・に分割し、そして作られた所定数の三角ポリゴンの各々の頂点のX座標、Y座標およびZ座標のデータを図2に示す基本姿勢の頂点テーブルの「X座標」、「Y座標」および「Z座標」の各項にそれぞれ入力する。この座標データの入力の際、三角ポリゴンの各頂点は番号付けされる。そして、三角ポリゴンの各頂点が番号付けされると同時に、その頂点番号は三角ポリゴンテーブルの「頂点P1 」、「頂点P2 」および「頂点P3 」の項に入力され、そして、3つの頂点P1 、P2 、P3 で作られる各三角ポリゴンが番号付けされる。有限要素プログラムとしては、例えば株式会社クレイドル販売のソフトPre.Mが使用される。ワークの頂点座標データは、キーボードもしくはマウスより直接入力してもよいが、市販の3D−CADソフト例えばユリーカGold(トヨタケーラム株式会社製)で作成されたワークの立体図形についての頂点座標データをそのまま本プログラムにおける頂点座標データとして流用することができる。
「ワークの姿勢を入槽角に変更」処理2は、上記の座標変換プログラムの流れ図(図8)に示される手順に従って次のとおり実行される。
1)計画している浸漬処理をなす際の入槽角θのX座標、Y座標およびZ座標の各成分(θx、θy、θz)をキーボードまたはマウスから入力する。
2)基本姿勢の頂点テーブル内の総ての頂点P1 〜PN のX座標、Y座標およびZ座標の各データを、ワークを極座標で回転することによって、基本姿勢のものから入槽角θの姿勢のものに変換する。
なお、さらに入槽角θの姿勢から入槽角θ’の姿勢に変換する場合には、直前の姿勢の頂点テーブル内の総ての頂点P1 〜PN のX座標、Y座標およびZ座標の各データを、ワークを極座標で回転することによって、直前の姿勢のものから入槽角θ’の姿勢のものに変換する。
3)入槽角θの姿勢に変換された各々の頂点のX座標、Y座標およびZ座標のデータを図3に示す姿勢変換後の頂点テーブルの「X座標」、「Y座標」および「Z座標」の各項にそれぞれ入力する。
そして、これ以後の処理は、姿勢変換後の頂点テーブル内における各々の頂点の「X座標」、「Y座標」および「Z座標」のデータを使用して実行される。すなわち、座標変換された三角ポリゴンの頂点座標データは、第一および第二のエアポケット判定プログラムに共通して利用され、各々のの判定の基本となる。
なお、三角ポリゴンを作る各頂点の番号は、基本姿勢の頂点テーブルにおけるものと姿勢変換後の頂点テーブルにおけるものとで一致している。また、三角ポリゴンテーブルにおける三角ポリゴンの番号と、その三角ポリゴンを作る「頂点P1 」、「頂点P2 」および「頂点P3 」の番号との関係は、座標変換後もそのまま維持される。
【0015】
「エアポケット▲1▼の判定」処理3は、上記の第一のエアポケット判定プログラムの流れ図(図9)に示される手順に従って次のとおり実行される。
1)姿勢変換後の頂点テーブル内の各頂点の「X座標」、「Y座標」および「Z座標」のデータを、座標をX軸に−90°回転したとき(即ち、ワークの上面を正面にしたとき)のものに変更し、そしてこれらをその頂点の「X座標」、「Y座標」および「Z座標」の項にそれぞれ入力し、一時的に保存する。
2)サブルーチン「非エアポケットの算出」を実行する。
3)次に、姿勢変換後の頂点テーブル内の各頂点の「X座標」、「Y座標」および「Z座標」のデータ(復帰された当初のデータ)を、座標をY軸に90°回転したとき(即ち、ワークの左面を正面にしたとき)のものに変更し、そしてこれらをその頂点の「X座標」、「Y座標」および「Z座標」の項にそれぞれ入力し、一時的に保存する。
4)サブルーチン「非エアポケットの算出」を実行する。
5)次に、姿勢変換後の頂点テーブル内の各頂点の「X座標」、「Y座標」および「Z座標」のデータ(復帰された当初のデータ)を、座標をY軸に−90°回転したとき(即ちワークの右面を正面にしたとき)のものに変更し、そしてこれらをその頂点の「X座標」、「Y座標」および「Z座標」の項にそれぞれ入力し、一時的に保存する。
6)サブルーチン「非エアポケットの算出」を実行する。
7)次に、姿勢変換後の頂点テーブル内の各頂点の「X座標」、「Y座標」および「Z座標」のデータ(復帰された当初のデータ)を、座標をY軸に−180°回転したとき(即ち、ワークの後面を正面にしたとき)のものに変更し、そしてこれらをその頂点の「X座標」、「Y座標」および「Z座標」の項にそれぞれ入力し、一時的に保存する。
8)サブルーチン「非エアポケットの算出」を実行する。
9)次に、姿勢変換後の頂点テーブル内の各頂点の「X座標」、「Y座標」および「Z座標」のデータ(復帰された当初のデータ)を、座標を当初のもの(即ち、ワークの前面を正面にしたときのもの)に変更し、そして、これらをその頂点の「X座標」、「Y座標」および「Z座標」の項にそれぞれ入力し、一時的に保存する。
10) サブルーチン「非エアポケットの算出」を実行する。
上記のサブルーチン「非エアポケットの算出」は、図10のプログラム流れ図に示される手順に従って次のとおり実行される。
1)まず、番号1の三角ポリゴンより順に、三角ポリゴンM(N)を判定の対象に選び、この番号Nの三角ポリゴンM(N)について、XY平面上の重心Gをその三角ポリゴンの3つの頂点のX座標値およびY座標値に基づいて求める。
なお、以下の図面において、番号Nの三角ポリゴンは三角M(N)と表わされる場合もある。また、番号Nを除く他の三角ポリゴンは三角M(N2)と表わされる場合もある。
2)サブルーチン「Gと重なるほかの三角ポリゴンよりもM(N)は手前か」を実行する。
すなわち、三角ポリゴンM(N)のXY平面上の重心Gと重なる他の三角ポリゴンM(N2)が存在するか否かを判断し、そして存在するとき、三角ポリゴンM(N)がその他の三角ポリゴンM(N2)よりも手前に位置するか否かを判断し、そして手前に位置するとき、図6に示す三角ポリゴンテーブルにおける番号Nの三角ポリゴンM(N)についての「エアポケット」項に、0に代えて1を入力する。あるいは、重心Gと重なる他の三角ポリゴンM(N2)が存在しないときも、三角ポリゴンテーブル(図6)における番号Nの三角ポリゴンM(N)についての「エアポケット」項に、1を入力する。
3)上記のようにサブルーチンにおいてYESのとき、1を三角ポリゴンテーブル(図6)内の番号Nの三角ポリゴンM(N)についての「エアポケット」項に入力し、一方、NOのとき、つまり番号Nの三角ポリゴンM(N)が重心Gと重なる他の三角ポリゴンM(N2)よりも手前に位置しないとき、処理の対象を次番号の三角ポリゴンに移す。
4)「N+1」を「N」に代入して、以上の手順1)ないし3)を番号2以降の三角ポリゴンについて(即ち、総ての三角ポリゴンについて)繰り返す。
また、上記のサブルーチン「Gと重なるほかの三角ポリゴンよりもM(N)は手前か」は、図11のプログラム流れ図に示される手順に従って次のとおり実行される。
1)三角ポリゴンの群(判定対象に選ばれた三角ポリゴンM(N)を除く)より、他の三角ポリゴンM(N2)を番号1から順次選定する。
2)サブルーチン「三角M(N2)のXY投影面とGは重なっているか」を実行する。
すなわち、三角ポリゴンM(N)のXY平面上の重心Gは、手順1)で選ばれた他の三角ポリゴンM(N2)のXY投影面と重なるか否かを判断する。
3)手順2)のサブルーチンでYESと判断されたとき、即ち三角ポリゴンM(N)の重心Gが他の三角ポリゴンM(N2)のXY投影面の中に含まれるとき、三角ポリゴンM(N)のZ位置(Z座標値)は他の三角ポリゴンM(N2)のZ位置(Z座標値)よりも大きいか否かを判断する。
4)手順3)でNOと判断されたとき、つまり三角ポリゴンM(N)のZ位置は他の三角ポリゴンM(N2)のそれよりも大きくないと判断されたとき、図10のプログラム流れ図におけるサブルーチン「Gと重なるほかの三角ポリゴンよりもM(N)は手前か」に、NOを返す。
5)手順4)でYESと判断されたとき、つまり三角ポリゴンM(N)のZ位置は他の三角ポリゴンM(N2)のそれよりも大きいと判断されたとき、あるいは、手順2)のサブルーチンでNOと判断されたとき、即ち三角ポリゴンM(N)の重心Gが他の三角ポリゴンM(N2)のXY投影面の中に含まれないとき、次の番号の他の三角ポリゴンM(N2)を選出する。
6)「N2+1」を「N2」に代入して、以上の手順1)ないし5)を、次番号以降の他の三角ポリゴンM(N2)について(即ち総ての他の三角ポリゴンM(N2)について)繰り返す。
7)最大の番号の他の三角ポリゴンM(N2)にまで手順6)を繰り返したとき、即ち、手順6)を処理すべき総ての他の三角ポリゴンM(N2)について完了したとき、図10のプログラム流れ図におけるサブルーチン「Gと重なるほかの三角ポリゴンよりもM(N)は手前か」に、YESを返す。
また、上記のサブルーチン「三角M(N2)のXY投影面とGは重なっているか」は、図12ないし図14のプログラム流れ図に示される手順に従って次のとおり実行される。
1)他の三角ポリゴンM(N2)の3つの頂点がXY平面に投影された3つの点を頂点P1 、P2 およびP3 と定める。
2)頂点P1 、P2 およびP3 で作られる三角形P1 −P2 −P3 を、三角ポリゴンM(N)のXY平面上の重心Gと一緒に、頂点P1 の座標がX=0、Y=0に位置するところまで移動する。
3)移動した三角形P1 −P2 −P3 の辺P1 −P2 とX軸との間の角度θ°を求める。
4)手順3)の三角形P1 −P2 −P3 を、三角ポリゴンM(N)のXY平面上の重心Gと一緒に、Z軸に−θ°回転する。つまり、三角形P1 −P2 −P3 を重心Gと一緒に、辺P1 −P2 がX軸上に重なるまで回転する。
5)回転した後の三角ポリゴンM(N)の重心GのY位置(Y座標値)をY1 に代入する。
6)三角形P1 −P2 −P3 および三角ポリゴンM(N)の重心Gを手順1)における原位置にそれぞれ戻す。
7)三角形P1 −P2 −P3 を三角ポリゴンM(N)の重心Gと一緒に、頂点P2 の座標がX=0、Y=0に位置するところまで移動する。
8)移動した三角形P1 −P2 −P3 の辺P2 −P3 とX軸との間の角度θ°を求める。
9)手順8)の三角形P1 −P2 −P3 を、三角ポリゴンM(N)のXY平面上の重心Gと一緒に、Z軸に−θ°回転する。つまり、三角形P1 −P2 −P3 を重心Gと一緒に、辺P2 −P3 がX軸上に重なるまで回転する。
10) 回転した後の三角ポリゴンM(N)の重心GのY位置(Y座標値)をY2 に代入する。
11) 三角形P1 −P2 −P3 および三角ポリゴンM(N)の重心Gを手順1)における原位置にそれぞれ戻す。
12) 三角形P1 −P2 −P3 を三角ポリゴンM(N)の重心Gと一緒に頂点P3 の座標がX=0、Y=0に位置するところまで移動する。
13) 移動した三角形P1 −P2 −P3 の辺P3 −P1 とX軸との間の角度θ°を求める。
14) 手順13) の三角形P1 −P2 −P3 を、三角ポリゴンM(N)のXY平面上の重心Gと一緒に、Z軸に−θ°回転する。つまり、三角形P1 −P2 −P3 を重心Gと一緒に、辺P3 −P1 がX軸上に重なるまで回転する。
15) 回転した後の三角ポリゴンM(N)の重心GのY位置(Y座標値)をY3 に代入する。
16) Y1 <0かつY2 <0かつY3 <0であるか否かを判断する。
17) 手順16) でYESと判断されたとき、図11のプログラム流れ図におけるサブルーチン「三角M(N2)のXY投影面とGは重なっているか」に、YESを返す。
18) 手順16) でNOと判断されたとき、Y1 >0かつY2 >0かつY3 >0であるか否かを判断する。
19) 手順18) でYESと判断されたとき、図11のプログラム流れ図におけるサブルーチン「三角M(N2)のXY投影面とGは重なっているか」に、YESを返す。
20) 一方、手順18) でNOと判断されたとき、図11のプログラム流れ図におけるサブルーチン「三角M(N2)のXY投影面とGは重なっているか」に、NOを返す。
以上のように、第一のエアポケット判定プログラムは、まず、入槽角の姿勢にあるワークに対して、上方より眺めた場合を想定し、姿勢変換後の頂点テーブル内の各頂点の「X座標」、「Y座標」および「Z座標」のデータを、ワークの上面が回転により正面を向くまで、変更し、次に、サブルーチン「非エアポケットの算出」により、三角ポリゴンM(N)がそのXY平面上の重心Gと重なる他の三角ポリゴンM(N2)よりも手前に位置するか否かの判断を実行し、そして、YESのとき、三角ポリゴンテーブル(図6)における三角ポリゴンM(N)についての「エアポケット」項に、1を順に入力していく。NOのときは、0を維持する。
次に、第一のエアポケット判定プログラムは、入槽角の姿勢にあるワークに対して、左方より眺めた場合を想定し、姿勢変換後の頂点テーブル内の各々の頂点の「X座標」、「Y座標」および「Z座標」のデータを、ワークの左面が回転により正面を向くまで変更し、次に、サブルーチン「非エアポケットの算出」により、三角ポリゴンM(N)がそのXY平面上の重心Gと重なる他の三角ポリゴンM(N2)よりも手前に位置するか否かの判断を実行し、そしてYESのとき、三角ポリゴンテーブル(図6)における三角ポリゴンM(N)についての「エアポケット」項に、1を順に入力していく。NOのときは、0を維持する。
さらに、第一のエアポケット判定プログラムは、入槽角の姿勢にあるワークに対して、右方より、後方よりそして前方より眺めた場合を順に想定し、上記と同様の処理を繰り返すものである。
ここで、三角ポリゴンM(N)がその重心Gと重なる他の三角ポリゴンM(N2)よりも手前に位置するとは、重なり合う三角ポリゴンの中で、その三角ポリゴンM(N)は、ワークに対して当該視線方向より眺めたとき、死角にならない部位の三角ポリゴンであることを意味する。また、重心Gと重なる他の三角ポリゴンM(N2)が存在しないときも、その三角ポリゴンM(N)は、ワークに対して当該視線方向より眺めたとき、死角にならない部位の三角ポリゴンであることを意味する。
要するに、第一のエアポケット判定プログラムは、入槽角の姿勢に座標変換された各々の三角ポリゴンについて、その姿勢のワークに対して上方より、左方より、右方より、後方より、そして前方より眺めたそれぞれの場合において、死角にならない部位であるか否かを判断し、そして死角にならない部位の三角ポリゴンはエアポケットとならない部位の三角ポリゴンであると判定し、三角ポリゴンテーブル(図6)において、1を各々の三角ポリゴンM(N)についての「エアポケット」項に入力するものである。
【0016】
「エアポケット▲2▼の判定」処理4は、上記の第二のエアポケット判定プログラムの流れ図(図15)に示される手順に従って次のとおり実行される。
1)最初に、カウント (count)を0に設定しておく。
2)次に、番号1の三角ポリゴンより順に三角ポリゴンM(N)について、三角ポリゴンテーブル(図6)におけるその三角ポリゴンM(N)の「エアポケット」項が1であるか否かを判断する。
3)手順2)でNOと判断されたとき、「N+1」を「N」に代入し、次番号の三角ポリゴンM(N)について、手順2)と同様の判断を行う。
4)手順2)でYESと判断されたとき、サブルーチン「隣接三角ポリゴンのエアポケット正・否判定および新たな非エアポケットのカウント」を実行する。
5)「N+1」を「N」に代入して、以上の手順1)ないし4)を最大の番号の三角ポリゴンについてまで、即ち総ての三角ポリゴンM(N)について繰り返す。
6)総ての三角ポリゴンM(N)について以上の手順を経る過程で、エアポケットとならない部位の三角ポリゴンM(N)が新たに発生したか否か、つまりカウント (count)が1(有り)もしくは0(無し)であるかを判断する。
7)手順6)でYES(カウント有り)と判断されたとき、手順1)に戻る。
8)一方、手順6)でNOと判断されたとき、エアポケット判定のための処理を完了する。
上記のサブルーチン「隣接三角ポリゴンのエアポケット正・否判定および新たな非エアポケットのカウント」は、図16および図17のプログラム流れ図に示される手順に従って次のとおり実行される。
1)三角ポリゴンM(N)[これは「エアポケット▲1▼の判定」処理によりエアポケットとならない部位の三角ポリゴンであると判定されている。]の3つの頂点を頂点P1 、P2 およびP3 と定める。
2)その三角ポリゴンM(N)について、三角ポリゴンテーブル(図6)の「エアポケット」項に、2を1に代えて入力する。
3)その三角ポリゴンM(N)を除く他の三角ポリゴンM(N2)について、番号1の三角ポリゴンより順に、三角ポリゴンテーブル(図6)におけるその三角ポリゴンM(N2)の「エアポケット」項が0であるか否かを判断する。
4)手順3)でNOと判断されたとき、「N2+1」を「N2」に代入し、次番号の他の三角ポリゴンM(N2)について、手順3)と同様の判断を行う。
5)手順3)でYESと判断されたとき、その他の三角ポリゴンM(N2)の3つの頂点を頂点P4 、P5 およびP6 と定める。
6)そして、頂点P1 が頂点P4 と一致するか否か、頂点P1 が頂点P5 と一致するか否か、頂点P1 が頂点P6 と一致するか否か、頂点P2 が頂点P4 と一致するか否か、頂点P2 が頂点P5 と一致するか否か、頂点P2 が頂点P6 と一致するか否か、頂点P3 が頂点P4 と一致するか否か、頂点P3 が頂点P5 と一致するか否か、そして頂点P3 が頂点P6 と一致するか否かをそれぞれ判断する。
すなわち、三角ポリゴンM(N)と他の三角ポリゴンM(N2)との間で各々の頂点を共通するか否かにより、他の三角ポリゴンM(N2)が三角ポリゴンM(N)に隣接するかどうかを判断する。
7)手順6)で、いずれの判断においても、NOと判断されたとき、「N2+1」を「N2」に代入し、次番号の他の三角ポリゴンM(N2)について、手順3)と同様の判断を行う。
8)手順6)で、少なくとも一つの判断においてYESと判断されたとき、三角ポリゴンM(N)の重心Gを求め、そのY位置(Y座標値)をY1 と定め、また、他の三角ポリゴンM(N2)の重心Gを求め、そのY位置(Y座標値)をY2 と定める。
9)次いで、Y1 >Y2 であるか否か、つまり他の三角ポリゴンM(N2)の重心Gが三角ポリゴンM(N)の重心Gより下方に位置するか否かを判断する。
10) 手順9)でNOと判断されたとき、「N2+1」を「N2」に代入し、次番号の他の三角ポリゴンM(N2)について、手順3)と同様の判断を行う。
11) 手順9)でYESと判断されたとき、その他の三角ポリゴンM(N2)について、三角ポリゴンテーブル(図6)における「エアポケット」項に、1を入力する。続いて「count +1」を「count 」に代入し、カウントを1に変更する。
12) 「N2+1」を「N2」に代入して、以上の手順1)ないし11) を、次番号以降の他の三角ポリゴンM(N2)について(即ち、手順1)で対象とされた三角ポリゴンM(N)を除く総ての他の三角ポリゴンM(N2)について)繰り返す。
13) 最大番号の他の三角ポリゴンM(N2)にまで手順12) を完了したとき、図15のプログラム流れ図における判断「新たな非エアポケットの三角ポリゴンが発生したか」に、カウント (count)1(有り)もしくは0(無し)を返す。
以上のように、第二のエアポケット判定プログラムは、まず、第一のエアポケット判定プログラムによりエアポケットとならない部位と判定された三角ポリゴンM(N)について、2を三角ポリゴンテーブル(図6)の「エアポケット」項に入力し、次に、エアポケットとならない部位と未だ判定されていない他の三角ポリゴンM(N2)の中より、既に判定された「エアポケットとならない部位の三角ポリゴンM(N)」に隣接する三角ポリゴンを選出し、次いで、その隣接する他の三角ポリゴンM(N2)について、前記「エアポケットとならない部位の三角ポリゴンM(N)」よりも下方に位置するかどうかの判断を重心の対比により実行し、そして、下方に位置するとき、その隣接する他の三角ポリゴンM(N2)はエアポケットとならない部位の三角ポリゴンであると新たに判定し、三角ポリゴンテーブル(図6)において1をその他の三角ポリゴンM(N2)の「エアポケット」項に入力するものである。
そして、この判定プログラムはその後、最初に、新たに判定された三角ポリゴンについて、既判定の「エアポケットとならない部位の三角ポリゴンM(N)」と同様に、2を三角ポリゴンテーブル(図6)の「エアポケット」項に入力し、次に、エアポケットとならない部位と未だ判定されていない他の三角ポリゴンM(N2)の中より、既に判定された「エアポケットとならない部位の三角ポリゴンM(N)」に隣接する三角ポリゴンを選出し、次いで、その隣接する他の三角ポリゴンM(N2)について、前記「エアポケットとならない部位の三角ポリゴンM(N)」よりも下方に位置するかどうかの判断を重心の対比により実行し、そして、下方に位置するとき、その隣接する他の三角ポリゴンM(N2)はエアポケットとならない部位の三角ポリゴンであると新たに判定し、三角ポリゴンテーブル(図6)において、1をその他の三角ポリゴンM(N2)の「エアポケット」項に入力し、さらに以降、この一連の処理を同様に繰り返すものである。
要するに、第二のエアポケット判定プログラムは、ワークが入槽角の姿勢にある条件の下で、第一のエアポケット判定プログラムに従いもしくは本プログラムに従いエアポケットとならない部位と判定された部位の三角ポリゴンM(N)に隣接する他の三角ポリゴンM(N2)について、そのエアポケットとならない部位の三角ポリゴンM(N)よりも下方に位置するかどうかの判断を実行し、そして、下方に位置する他の三角ポリゴンM(N2)はエアポケットとならない部位の三角ポリゴンであると追加判定するものである。
したがって、上記のエアポケット判定プログラムにより、ワークが入槽角の姿勢にある条件の下、その姿勢に座標変換された各々の三角ポリゴンについて、エアポケットとなる表面部位であるか否かの判定が実行される。
【0017】
「判定の表示」処理5は、上記の表示プログラムの流れ図(図18)に示される手順に従って次のとおり実行される。
1)サブルーチン「ワークの回転」を実行する。
2)サブルーチン「視点の移動」を実行する。
3)サブルーチン「視点の距離順に並び替え」を実行する。
4)サブルーチン「全三角ポリゴンの表示」を実行する。
上記のサブルーチン「ワークの回転」は、図19のプログラム流れ図に示される手順に従って次のとおり実行される。
1)入槽角θのX座標θx、Y座標θyおよびZ座標θzの各値をマウスまたはキーボードより入力する。
2)ワーク(基本姿勢)の各表面を三角ポリゴンに分割したときの総ての頂点を、X軸の回りにθx回転し、Y軸の回りにθy回転し、そしてZ軸の回りにθz回転する。
3)手順2)により入槽角θの姿勢に変換された総ての頂点の座標データを、姿勢変更後の頂点テーブル(図3)に記録保存する。
上記のサブルーチン「視点の移動」は、図20のプログラム流れ図に示される手順に従って次のとおり実行される。
1)視点角ΘのX座標Θx、Y座標ΘyおよびZ座標Θzの各値をマウスまたはキーボードより入力する。
2)姿勢変更後の頂点テーブル(図3)に記録保存された座標データを使用して、入槽角の姿勢にあるワークについて、その表面を分割した三角ポリゴンM(N)の総ての頂点を、X軸の回りにΘx回転し、Y軸の回りにΘy回転し、そしてZ軸の回りにΘz回転する。
3)手順2)により視点角Θの姿勢に変換された総ての頂点の座標データを、表示用頂点テーブル(図4)に記録保存する。
上記のサブルーチン「視点の距離順に並び替え」は、図21(a) のプログラム流れ図に示される手順に従って次のとおり実行される。
1)視点角Θの姿勢に変換された三角ポリゴンM(N)について、番号1の三角ポリゴンより順に、三角ポリゴンM(N)の頂点1をP1 、頂点2をP2 、そして頂点3をP3 とそれぞれ定める。
2)番号Nの三角ポリゴンM(N)について、頂点P1 、頂点P2 および頂点P3 の各Z座標値(P1 z、P2 z、P3 z)の平均値Z(N)を次式:
Z(N)=(P1 z+P2 z+P3 z)/3
により算出し、そして、得られたZ(N)値を三角ポリゴンテーブル(図6)における三角ポリゴンM(N)についての「Z位置」項に入力する。
3)「N+1」を「N」に代入して、以上の手順1)ないし2)を次番号以降の三角ポリゴンM(N)について繰り返す。
4)最大の番号の三角ポリゴンM(N)にまで手順3)を繰り返したか否か、即ち手順3)を総ての三角ポリゴンM(N)について完了したか否かを判断する。
5)手順4)においてNOのとき、手順3)に戻る。一方、YESのとき、図21(b) および図21(c) に示すように、三角ポリゴンテーブル(図6)について、Z位置の絶対値がより小さな順に三角ポリゴンM(N)の順番を並び替える。図21(b) は並び替え前における三角ポリゴンテーブルを示し、図21(c) は並び替え後における三角ポリゴンテーブルを示す。
上記のサブルーチン「全三角ポリゴンの表示」は、図22のプログラム流れ図に示される手順に従って次のとおり実行される。
1)視点角Θの姿勢に変換された三角ポリゴンM(N)について、番号1の三角ポリゴンより順に、三角ポリゴンM(N)の頂点1をP1 、頂点2をP2 、そして頂点3をP3 とそれぞれ定める。
2)頂点P1 と頂点P2 を結ぶ直線P1 −P2 を例えば図23に示すようなディスプレイの画面に描画し、頂点P2 と頂点P3 を結ぶ直線P2 −P3 を該ディスプレイの画面に描画し、頂点P3 と頂点P1 を結ぶ直線P3 −P1 を該ディスプレイの画面に描画する。
3)所定の色相の中より、三角ポリゴンM(N)の色を選択し、指定する。すなわち、処理3および処理4により、三角ポリゴンテーブル(図6)における「エアポケット」項において、エアポケットとならない部位と判定された三角ポリゴンM(N)については、2が記録され、そうでない部位と判定された三角ポリゴンM(N)については、0が記録されている。よって、「エアポケットとならない部位」でない部位と判定された三角ポリゴンM(N)について、着色すべき色を指定する。
4)手順3)で指定された色を用いて、「エアポケットとならない部位」でない部位の三角ポリゴンM(N)の内部を塗り潰す。
5)「N+1」を「N」に代入して、以上の手順1)ないし4)を次番号以降の三角ポリゴンM(N)について繰り返す。
6)総ての三角ポリゴンM(N)について、上記ディスプレイの画面に描画された三角ポリゴンの内部を着色する処理を完了したか否かを判断する。
7)手順6)においてNOのとき、手順5)に戻る。一方、YESのとき、処理を完了する。
以上のように、表示プログラムは、入槽角の姿勢にあるワークについて、表面分割された各々の三角ポリゴンM(N)を単位として、「エアポケットとならない部位」か否かの判定の結果をディスプレイ上に、異なる種々の視点角にて、着色表示、例えば赤色と無色とで色分け表示する処理を実行するものである。
従って、図23に示すディスプレイの画面には、ワークA(入槽角の姿勢にある)について、その各表面のそれぞれの三角ポリゴンM(N)が、塗料面B(水平姿勢)とともに表示される。それぞれの三角ポリゴンM(N)について、エアポケット発生の有無について上記判定の結果が例えば赤色で色分け表示される。また、ワークAの姿勢は異なる種々の視点角に変更することができ、それぞれの視点角から眺めた場合の上記の「判定結果」がそれぞれ表示されうるようになっている。
【0018】
以上のように、本実施例の記録媒体を用いたコンピュータによるプログラムの動作により、浸漬処理を試みようとするワークについて、エアポケットが発生するか否かを、ワーク表面の各三角ポリゴン単位にて、また異なる種々の入槽角姿勢においてディスプレイ上に表示することができ、従ってエアポケット不良の発生の有無などを事前に判断することができる。
【0019】
【発明の効果】
以上説明したように、本発明によれば、浸漬処理を試みようとする製品もしくは試作品について、ワーク(試作品)を液中に浸漬して表面処理をなすプロセスを実際に試行せずとも、コンピュータによるプログラムの動作により、その模擬プロセスにおけるエアポケット発生の有無をワークの各々の入槽角姿勢ごとにディスプレイ上に表示することができ、従ってエアポケット不良の発生の有無などを事前に判断もしくは予測することができるという効果が得られる。
また、本発明によれば、従来の手法でなされていた製品の試作品を用いた浸漬処理試験それ自体も必要性が大きく減少する。したがって、本発明によれば、浸漬処理すべき対象製品の外形を設計してから浸漬処理によるその製品の量産に移行するまでの期間を大幅に短縮することができ、よってその期間における手間および費用を格段に減少させることができるという効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施例の記録媒体に記録されるエアポケット発生判定プログラムを示すプログラム流れ図である。
【図2】実施例の記録媒体のデータ領域に記録される基本姿勢の頂点テーブルを示す図である。
【図3】実施例の記録媒体のデータ領域に記録される姿勢変換後の頂点テーブルを示す図である。
【図4】実施例の記録媒体のデータ領域に記録される表示用頂点テーブルを示す図である。
【図5】実施例の記録媒体に記録されるプログラムにおいて適用されている座標軸を示す図である。
【図6】実施例の記録媒体のデータ領域に記録される三角ポリゴンテーブルを示す図である。
【図7】実施例のプログラムにおいて使用される三角ポリゴンを示す模式図である。
【図8】実施例の記録媒体に記録される座標変換プログラムを示すプログラム流れ図である。
【図9】実施例の記録媒体に記録される第一のエアポケット判定プログラムを示すプログラム流れ図である。
【図10】図9の第一のエアポケット判定プログラムに組み入れられたサブルーチン「非エアポケットの算出」を示すプログラム流れ図である。
【図11】図10のサブルーチン「非エアポケットの算出」に組み入れられたサブルーチン「Gと重なるほかの三角ポリゴンよりもM(N)は手前か」を示すプログラム流れ図である。
【図12】図11のサブルーチン「Gと重なるほかの三角ポリゴンよりもM(N)は手前か」に組み入れられたサブルーチン「三角形M(N2)のXY投影面とGは重なっているか」の前部を、各処理を図示する図とともに示すプログラム流れ図である。
【図13】図12のサブルーチンに続くサブルーチン「三角形M(N2)のXY投影面とGは重なっているか」の中間部を、各処理を図示する図とともに示すプログラム流れ図である。
【図14】図13のサブルーチンに続くサブルーチン「三角形M(N2)のXY投影面とGは重なっているか」の後部を、各処理を図示する図とともに示すプログラム流れ図である。
【図15】実施例の記録媒体に記録される第二のエアポケット判定プログラムを示すプログラム流れ図である。
【図16】図15の第二のエアポケット判定プログラムに組み入れられたサブルーチン「隣接三角ポリゴンのエアポケット正・否判定および新たな非エアポケットのカウント」の前半部を示すプログラム流れ図である。
【図17】図16のサブルーチンに続くサブルーチン「隣接三角ポリゴンのエアポケット正・否判定および新たな非エアポケットのカウント」の後半部を示すプログラム流れ図である。
【図18】実施例の記録媒体に記録される表示プログラムを示すプログラム流れ図である。
【図19】図18の表示プログラムに組み入れられたサブルーチン「ワークの回転」を示すプログラム流れ図である。
【図20】図18の表示プログラムに組み入れられたサブルーチン「視点の移動」を示すプログラム流れ図である。
【図21】図21(a) は図18の表示プログラムに組み入れられたサブルーチン「視点の距離順に並び替え」を示すプログラム流れ図である。図21(b) は並び替え前における三角ポリゴンテーブルの主要部を示す図であり、図21(c) は並び替え後における三角ポリゴンテーブルの主要部を示す図である。
【図22】図18の表示プログラムに組み入れられたサブルーチン「全三角ポリゴンの表示」を示すプログラム流れ図である。
【図23】実施例の記録媒体を用いたコンピュータの動作により表示される、ディスプレイの一画面を示す図である。
【図24】図24(a) は有限要素プログラムにより立方体ワークの各表面が数多くの三角ポリゴンに分割された様子を示す模式図であり、図24(b) は有限要素プログラムにより球体ワークの表面が数多くの三角ポリゴンに分割された様子を示す図である。
【図25】ワークのどの表面部位において、エアポケットとなりうるかを説明する図である。
【図26】エアポケットとならない部位の判定のために、実施例における第一のエアポケット判定プログラムに貫かれている論理を説明する図である。
【図27】エアポケットとならない部位の判定のために、実施例における第二のエアポケット判定プログラムに貫かれている論理を説明する図である。
【図28】実施例における第二のエアポケット判定プログラムに従う、エアポケットとならない部位の判定方法を説明する図である。
【図29】浸漬塗装プロセスにおいてエアポケットという不良が生じる様子を説明する図である。
【図30】浸漬塗装プロセスに使用される代表的なものとして、自動車工場における電着塗装装置の全体構成を示す概略図である。
【符号の説明】
10 三角ポリゴン
11 浸漬槽
12 塗料
A ワーク
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a program for simulation trials such as dipping treatment, for example, dip chemical conversion treatment, electrodeposition coating, dip washing and water pressure transfer printing, and more specifically, whether or not air pockets are generated in each simulation trial for each surface portion of the workpiece. The present invention relates to a novel computer-readable recording medium in which a program for determining and displaying this on a display is recorded.
[0002]
[Prior art]
As in the case of the dipping process, for example, the electrodeposition coating apparatus shown in FIG. 30, the workpiece A is suspended in the paint 12 while being suspended by the transfer of the conveyor 13 above the immersion tank 11 filled with the predetermined paint 12. The coating technique in which the coating material 12 is adhered to the surface of the workpiece A by being pressed into the surface of the workpiece A has been widely used for surface coating of various products for a wide variety of applications.
[0003]
[Problems to be solved by the invention]
In the actual dip coating process, a defect may occur that the paint in the tank is not attached to the surface of the workpiece at all or only insufficiently. As a typical defect, as shown in FIG. 29, when the workpiece A is immersed in the immersion tank 11, a part of the air in the vicinity of the surface of the workpiece A remains without getting out to the outside air, and an air pocket is formed in the workpiece A. There is a coating defect (so-called air pocket 16) that the paint 12 does not adhere to the surface portion where the air pocket is generated as a result.
Therefore, in determining the optimum or better conditions in the actual dipping process, it is essential to select conditions that do not cause defects due to the air pockets.
[0004]
On the other hand, in order to establish a dip coating process for a specific product having a three-dimensional shape with a particularly complicated outer shape, a prototype of the product is first created, and then a dip coating test plant is used. Using the prototype, the immersion treatment process can be carried out while changing the printing conditions, particularly with various tank angles (that is, the direction of travel when the workpiece is immersed in the immersion tank and the surface of the paint in the tank). Under various angles, and by examining whether the surface of the painted prototype is being painted, that is, if there is a coating failure, it is possible to obtain favorable coating conditions, especially the optimal entrance angle. The procedure was taken to determine the conditions of dip coating to be applied in the subsequent mass production system of the target product by searching.
However, this conventional method requires considerable effort, time, and cost to create a prototype, and the more complicated the three-dimensional product is, the more labor and time it takes to create the prototype. There was a problem that it would be necessary.
Moreover, in the above method, the dip coating process using the prototype is actually tried for each coating condition, so the optimum or better dip coating conditions are finally determined. By the time, there has been a problem that a great deal of labor, time and cost are required.
In other words, the conventional method has a problem that the period from designing the outer shape of the target product to be dip coated to shifting to mass production of the product by dip coating is very long.
Therefore, it has been an important issue in the past to shorten the period from design to mass production of dip coating products, and to reduce labor and cost during that period.
[0005]
The present invention has been made on the basis of the above-mentioned background, and the problem is to actually try a process in which a workpiece (prototype) is immersed in a liquid and subjected to surface treatment such as painting. It is an object of the present invention to provide a computer-readable recording medium capable of displaying, on a display, whether or not air pockets are generated in an immersion simulation process for a product to be immersed by a computer program operation. .
[0006]
[Means for Solving the Problems]
According to the present invention, it is determined by the operation of a program by a computer whether or not an air pocket defect occurs in the immersion process simulation process for each surface of the workpiece, and the result can be displayed on the display. It is. More specifically, the present invention determines whether or not air pockets are generated in a simulated process of immersing a workpiece in a liquid for each surface portion of the workpiece and displays the result on a computer display. The air pocket occurrence determination program is a finite element program that divides each surface of a work into an arbitrary number of triangular polygons based on the input vertex coordinate data of the work, and the work is input. Judgment is made for each of the divided triangular polygons to determine whether it is a surface part that becomes an air pocket when simulated immersion is performed in the immersion tank at the angle of the tank. Each triangular polygon that is divided into a program is judged whether it is a part that does not become a blind spot when viewed from above and several horizontal directions with respect to the workpiece in the posture of the tank entering angle. And a first air pocket determination program that determines that the triangular polygon of the part that does not become the blind spot is the triangular polygon of the part that does not become the air pocket. The present invention relates to a computer-readable recording medium comprising an air pocket determination program and a display program for displaying the determination result of each triangular polygon on the display.
[0007]
In a more preferred aspect of the present invention, in the recording medium, the air pocket determination program is Above First air pocket determination program In addition to The triangular polygon adjacent to the triangular polygon of the part that does not become the air pocket is positioned below the triangular polygon of the part that does not become the air pocket under the condition that the workpiece is input at the tank entry angle. And determine that the triangular polygon located below is a triangular polygon of a part that does not become an air pocket, and then a triangle adjacent to the triangular polygon of the part that does not become a newly determined air pocket With respect to the polygon, under the condition that the workpiece is in the posture of the tank entry angle, it is determined whether it is located below the triangular polygon of the part that does not become the air pocket, and the triangular polygon located below Is determined to be a triangular polygon that does not become an air pocket. A recording medium of the place to be and a A pocket determination program.
[0008]
DETAILED DESCRIPTION OF THE INVENTION
The recording medium of the present invention is a computer-readable recording medium in which an air pocket occurrence determination program is recorded electromagnetically, optically, or a combination thereof, and more specifically, for example, a magnetic disk, an optical disk, and a magneto-optical disk. Includes floppy disk (including super disk (120MB), ZIP, etc.), CD-ROM (650MB), MO (128MB, 230MB, 540MB, 640MB, etc.) disk, DVD-ROM, PD 650MB (manufactured by Matsushita Electric Industrial Co., Ltd.) Etc. The air pocket occurrence determination program is more convenient for processing execution if it is a program that can perform various types of processing on OS software (windows, UNISYS, etc.) installed in the computer.
As the computer, a computer having a normal configuration including a CPU (higher performance is more preferable), an interface, and the like is used. Further, as a display connected to this, a CRT display, a liquid crystal display, a plasma display, or the like is used.
The air pocket generation determination program determines whether or not air pockets are generated for each of the surface parts when the object immersion process is simulated under certain set conditions (for example, a dip coating simulation process). A program for judging, which has at least a finite element program, an air pocket judgment program (first and second air pocket judgment program) and a display program. Needless to say, the program may further include a program for expressing a moving image on the computer display of the state of the trial.
[0009]
In order to determine in which part of the surface of the workpiece an air pocket is likely to be generated, the finite element program sets each surface of the workpiece to an arbitrary number, for example, several thousand to several tens, as a previous step. It is a program that divides into 10,000 triangular polygons. This program has the same function as a known finite element program, that is, a function capable of dividing each surface of a workpiece into a predetermined number of triangular polygons based on the vertex coordinate data as shown in FIGS. 37 (a) and (b). You may have. The vertex coordinate data of the workpiece may be input directly from the keyboard or mouse, but the vertex coordinate data for the solid figure of the workpiece created with 3D CAD (3dCAD) should be used as vertex coordinate data in this program as it is. Is also possible. The reason why the triangular polygon is selected in the present invention is that if a polygon polygon having four or more vertices, for example, a quadrilateral polygon is selected, the polygon may be distorted, leading to a decrease in simulation accuracy.
In the air pocket determination in the present invention, the presence or absence of a defect called an air pocket is determined with reference to the case where the workpiece is immersed in the immersion tank at a certain entry angle. Therefore, the program for this determination uses a program that converts the vertex coordinate data of the workpiece and the vertex coordinate data of each divided triangular polygon into a state in which the workpiece is in the posture at the tank entry angle. It is more convenient to use a program configuration for determining the presence / absence of an air pocket by using the vertex coordinate data of a triangular polygon whose coordinates have been converted to the posture of the input tank angle. By the way, in this embodiment, a coordinate conversion program for converting the vertex coordinate data of each triangular polygon divided based on the vertex coordinate data of the workpiece into the posture of the entrance angle inputted from the basic posture is incorporated. The vertex coordinate data of the triangular polygon that has been subjected to coordinate conversion is commonly used for the first and second air pocket determination programs. The entry angle is made using a computer keyboard or mouse.
[0010]
The air pocket determination program is a surface portion that may not be painted as an air pocket for each triangular polygon coordinate-converted to that posture under the condition that the workpiece is in the posture of the tank entry angle. A first air pocket determination program; Preferably It consists of a two-stage program with a second air pocket determination program. As shown in FIG. 25, the first air pocket determination program is configured such that when a workpiece in the above posture is viewed in the line-of-sight direction above its periphery and above the horizontal, the blind spot is not visible. It is an assembled program under the logic that there is a possibility of becoming an air pocket when immersed in the immersion tank, and in detail, as shown in FIG. The determination of whether or not it is a part that does not become a blind spot when viewed from the top and from several horizontal directions, usually from the front, back, left, and right directions, respectively, was divided. The process is executed for each triangular polygon, and it is determined that the triangular polygon that does not become a blind spot is a triangular polygon that does not become an air pocket. More specifically, the first air pocket determination program looks at the workpiece in the posture from the upper, front, rear, left, and right sides for each triangular polygon that has been coordinate-converted to the posture of the tank entry angle. In this case, it is determined whether or not there are overlapping triangular polygons, and when they are present, the triangular polygon located in the foremost position is a triangular polygon that does not become a blind spot, and therefore a triangular that does not become an air pocket. It is determined that the polygon is a polygon, and when it does not exist, the triangular polygon has a program configuration that determines that the triangular polygon is a portion that does not become a blind spot, that is, a portion that does not become an air pocket. As shown in FIG. 27, the second air pocket determination program shows that even when the work is in the blind angle when the work in the tank angle posture is viewed in the line-of-sight direction above the horizontal, When in the posture, the surface part connected via the surface that continues only downward from the part that does not become an air pocket can come into contact with the paint in the tank when the work is immersed in the immersion tank, A program assembled under the logic of not becoming an air pocket, and more specifically, as shown in FIG. 28, according to the first air pocket determination program or a portion determined not to be an air pocket according to this program A determination is made as to whether the triangular polygon adjacent to the triangular polygon is positioned below the triangular polygon of the part that does not become the air pocket; and Triangles located below consists of adding determines program structure that the triangles of sites that do not air pockets. More specifically, the second air pocket determination program determines that the apex coordinate of the triangular polygon has already been determined from among the triangular polygons that have not been determined to be air pockets, By determining whether or not the vertex coordinates of the “triangular polygon” are common, a triangular polygon that is adjacent to the triangular polygon that is not an air pocket is selected, and then the adjacent triangular polygon is not the air pocket. The determination of whether or not it is located below the triangular polygon of the part is executed by, for example, comparing the center of gravity, and when it is located below, the adjacent triangular polygon is newly determined to be a triangular polygon of a part that does not become an air pocket. In addition, this newly determined triangular polygon is In addition to triangles "sites have, the series of decision steps, until a new determination that a triangular polygon sites that do not air pockets is not generated, consisting of a program structure that is repeated.
[0011]
The display program is a program for displaying the result of the presence or absence of the occurrence of air pockets in the simulation process of the immersion treatment on the display of the computer for each surface part of the work. Specifically, for each divided triangular polygon, It has a program configuration for displaying a determination result according to the air pocket determination program (first and second programs) on a display.
[0012]
【Example】
Embodiments of the present invention will be described below with reference to the drawings. This embodiment is a non-limiting example, and it goes without saying that the present invention is not limited thereto.
The recording medium of the present example recorded a program for determining whether or not air pockets were generated in the simulation process of the immersion treatment for each surface portion of the target workpiece and displaying the program on the display, that is, an air pocket generation determination program. A computer-readable recording medium.
[0013]
As shown in FIG. 1, the air pocket occurrence determination program includes a finite element program that executes “input vertex coordinate data of a triangular polygon” process 1 and a coordinate conversion that executes “change work posture to tank angle” process 2. Program, first air pocket determination program for executing "determination of air pocket (1)" processing 3, second air pocket determination program for executing "determination of air pocket (2)" processing 4, and this determination Is composed of a display program for executing the “determination display” process 5 for the result.
On the other hand, the recording medium of the present embodiment has a vertex table (FIG. 2) of a basic posture, a vertex table after posture conversion (FIG. 3), a vertex table for display (FIG. 4), and a triangular polygon table in the data area. (FIG. 6).
In each of the vertex tables, the vertical column indicates the number of each vertex that forms the triangular polygon 10..., And the horizontal column indicates the X coordinate, Y coordinate, and Z coordinate data of the vertex. In this embodiment, as shown in FIG. 5, the X coordinate is a horizontal coordinate, the Y coordinate is a vertical coordinate, and the Z coordinate is a front coordinate orthogonal to the XY surface. Has been.
The vertex table of the basic posture records and saves the coordinate data of all the vertices that create a predetermined number of triangular polygons 10 when the work is in the basic posture. Further, the vertex table after the posture conversion records and saves the coordinate data of all the vertices that make a predetermined number of triangular polygons 10 when the workpiece is in the posture of the tank entry angle. Further, the display vertex table records and saves coordinate data of all the vertices that form a predetermined number of triangular polygons 10 when the work is viewed from the direction of the line of sight.
The triangular polygon table is used as basic data for recording and storing the results of the above various determinations for each triangular polygon and displaying them on the display. The column indicates the number of a predetermined number of triangular polygons 10. The horizontal column is “Vertex P 1 ”,“ Vertex P 2 And “vertex P Three The number of the three vertices of each triangular polygon in the section ", the result of air pocket determination in the" air pocket "section, and the Z coordinate of the three vertices of the triangular polygon in the" Z position "section Average values are shown.
In this embodiment, as shown in FIG. 1 , P 2 And P Three Are aligned clockwise on the plane, the plane is the three vertices P 1 , P 2 And P Three Is the surface of the triangular polygon made by 1 , P 2 And P Three Are arranged counterclockwise on the plane, the plane is the three vertices P 1 , P 2 And P Three It is set to be the back side of the triangular polygon made by.
[0014]
In “triangular polygon vertex coordinate data input” processing 1, the following processing is executed in accordance with the finite element program. That is, based on the input vertex coordinate data of the workpiece, each surface of the workpiece is converted into a predetermined number (several thousands to hundreds of thousands) of triangular polygons 10 as shown in FIGS. 37 (a) and 37 (b). .. The X coordinate, Y coordinate, and Z coordinate data of each vertex of the predetermined number of triangular polygons created and divided into "X coordinate" and "Y coordinate" in the vertex table of the basic posture shown in FIG. And “Z-coordinate”. When inputting the coordinate data, each vertex of the triangular polygon is numbered. Each vertex of the triangular polygon is numbered, and at the same time, the vertex number is “vertex P” in the triangular polygon table. 1 ”,“ Vertex P 2 And “vertex P Three ”And three vertices P 1 , P 2 , P Three Each triangular polygon made by is numbered. As a finite element program, for example, the software Pre. M is used. The vertex coordinate data of the workpiece may be input directly from the keyboard or mouse, but the vertex coordinate data of the solid figure of the workpiece created by commercially available 3D-CAD software such as Eureka Gold (manufactured by Toyota Caelum) is used as it is. It can be used as vertex coordinate data in this program.
The “change the workpiece posture to the entry angle” process 2 is executed as follows in accordance with the procedure shown in the flowchart (FIG. 8) of the coordinate conversion program.
1) Input the components (θx, θy, θz) of the X, Y, and Z coordinates of the tank angle θ when performing the planned immersion treatment from the keyboard or mouse.
2) All vertices P in the basic posture vertex table 1 ~ P N The X coordinate, Y coordinate, and Z coordinate data are converted from the basic posture to the posture with the tank entry angle θ by rotating the work in polar coordinates.
In addition, in the case of converting from the posture of the incoming tank angle θ to the posture of the incoming tank angle θ ′, all the vertices P in the vertex table of the previous posture 1 ~ P N The X coordinate, Y coordinate, and Z coordinate data are converted from the previous posture to the posture of the tank entry angle θ ′ by rotating the work in polar coordinates.
3) The X-, Y-, and Z-coordinate data of each vertex converted into the posture of the tank entrance angle θ is the “X coordinate”, “Y coordinate”, and “Z” in the vertex table after the posture conversion shown in FIG. Input each item in “Coordinates”.
The subsequent processing is executed using data of “X coordinate”, “Y coordinate”, and “Z coordinate” of each vertex in the vertex table after the posture conversion. That is, the vertex coordinate data of the triangular polygon subjected to coordinate conversion is used in common with the first and second air pocket determination programs, and becomes the basis of each determination.
It should be noted that the numbers of the vertices forming the triangular polygon are the same in the vertex table of the basic posture and in the vertex table after the posture conversion. Also, the triangle polygon number in the triangle polygon table and the “vertex P 1 ”,“ Vertex P 2 And “vertex P Three The relationship with the number "" is maintained as it is even after the coordinate conversion.
[0015]
The “determination of air pocket (1)” process 3 is executed as follows according to the procedure shown in the flowchart (FIG. 9) of the first air pocket determination program.
1) When the X-coordinate, Y-coordinate, and Z-coordinate data of each vertex in the vertex table after posture conversion is rotated by -90 ° about the X axis (that is, the upper surface of the workpiece is front-facing) And input these into the “X coordinate”, “Y coordinate” and “Z coordinate” of the vertex respectively, and temporarily store them.
2) Execute subroutine “Calculate non-air pocket”.
3) Next, the "X coordinate", "Y coordinate", and "Z coordinate" data (returned original data) of each vertex in the vertex table after the posture conversion is rotated 90 degrees about the Y axis. (Ie, when the left side of the workpiece is the front), and input these into the “X coordinate”, “Y coordinate”, and “Z coordinate” of the vertex respectively, and temporarily save.
4) Execute subroutine “Calculate non-air pocket”.
5) Next, the “X coordinate”, “Y coordinate” and “Z coordinate” data (returned original data) of each vertex in the vertex table after the posture conversion is set to −90 ° on the Y axis. Change them to those when they are rotated (ie when the right side of the workpiece is in front), and enter these into the "X coordinate", "Y coordinate" and "Z coordinate" sections of the vertex respectively, and temporarily save.
6) Execute subroutine “Calculate non-air pocket”.
7) Next, the “X coordinate”, “Y coordinate” and “Z coordinate” data (returned original data) of each vertex in the vertex table after the posture conversion is set to −180 ° on the Y axis. Change to those when rotating (ie, when the rear surface of the workpiece is in front), and enter these into the "X coordinate", "Y coordinate" and "Z coordinate" items of the vertex respectively and temporarily Save to.
8) Execute subroutine “Calculate non-air pocket”.
9) Next, the “X coordinate”, “Y coordinate”, and “Z coordinate” data (returned original data) of each vertex in the vertex table after the posture conversion is changed to the original coordinate (ie, When the front side of the workpiece is the front side, these are input to the “X coordinate”, “Y coordinate”, and “Z coordinate” items of the vertex, and temporarily stored.
10) Execute subroutine “Calculate non-air pocket”.
The subroutine “Calculation of non-air pocket” is executed as follows in accordance with the procedure shown in the program flowchart of FIG.
1) First, the triangular polygon M (N) is selected as an object of determination in order from the triangular polygon of number 1. For the triangular polygon M (N) of number N, the center of gravity G on the XY plane is set to three of the triangular polygons. Obtained based on the X coordinate value and Y coordinate value of the vertex.
In the following drawings, the triangular polygon with the number N may be represented as a triangle M (N). Further, other triangular polygons except the number N may be represented as a triangle M (N2).
2) The subroutine “Is M (N) in front of other triangular polygons overlapping with G” is executed.
That is, it is determined whether or not there is another triangular polygon M (N2) that overlaps the center of gravity G of the triangular polygon M (N) on the XY plane. It is determined whether or not it is positioned in front of the polygon M (N2), and when it is positioned in front, the “air pocket” item for the triangular polygon M (N) of number N in the triangular polygon table shown in FIG. , Enter 1 instead of 0. Alternatively, even when there is no other triangular polygon M (N2) that overlaps the center of gravity G, 1 is input to the “air pocket” item for the triangular polygon M (N) of number N in the triangular polygon table (FIG. 6). .
3) As described above, when YES is entered in the subroutine, 1 is input to the “air pocket” item for the triangular polygon M (N) of number N in the triangular polygon table (FIG. 6), while when NO, that is, When the triangular polygon M (N) with the number N is not positioned in front of the other triangular polygon M (N2) that overlaps the gravity center G, the processing target is moved to the triangular polygon with the next number.
4) Substituting “N + 1” into “N”, and repeating the above steps 1) to 3) for the triangular polygons numbered 2 and thereafter (that is, for all triangular polygons).
Further, the above-mentioned subroutine “Is M (N) in front of other triangular polygons overlapping with G” is executed as follows according to the procedure shown in the program flowchart of FIG.
1) From the group of triangular polygons (excluding the triangular polygon M (N) selected as a determination target), other triangular polygons M (N2) are sequentially selected from number 1.
2) The subroutine “Is XY projection plane of triangle M (N2) and G overlap” is executed.
That is, it is determined whether or not the center of gravity G of the triangular polygon M (N) on the XY plane overlaps the XY projection plane of the other triangular polygon M (N2) selected in step 1).
3) When YES is determined in the subroutine of step 2), that is, when the center of gravity G of the triangular polygon M (N) is included in the XY projection plane of the other triangular polygon M (N2), the triangular polygon M (N ) Is determined to be larger than the Z position (Z coordinate value) of the other triangular polygon M (N2).
4) When it is determined NO in step 3), that is, when it is determined that the Z position of the triangular polygon M (N) is not larger than that of the other triangular polygon M (N2), the program flow chart of FIG. NO is returned to the subroutine “Is M (N) in front of other triangular polygons overlapping with G”.
5) When it is determined YES in step 4), that is, when it is determined that the Z position of the triangular polygon M (N) is larger than that of the other triangular polygon M (N2), or the subroutine of step 2) Is determined as NO, that is, when the center of gravity G of the triangular polygon M (N) is not included in the XY projection plane of the other triangular polygon M (N2), the other triangular polygon M (N2) of the next number ).
6) Substituting “N2 + 1” into “N2” and repeating the above steps 1) to 5) for other triangular polygons M (N2) after the next number (ie all other triangular polygons M (N2)) Repeat about).
7) When step 6) is repeated up to another triangular polygon M (N2) with the highest number, that is, when step 6) is completed for all other triangular polygons M (N2) to be processed. YES is returned to the subroutine “Is M (N) in front of other triangular polygons overlapping G” in the program flow chart of FIG.
Further, the above-mentioned subroutine “whether the XY projection plane of the triangle M (N2) and G overlap” is executed as follows in accordance with the procedure shown in the program flowcharts of FIGS.
1) Three points obtained by projecting the three vertices of another triangular polygon M (N2) onto the XY plane are defined as vertex P 1 , P 2 And P Three It is determined.
2) Vertex P 1 , P 2 And P Three Triangle P made of 1 -P 2 -P Three Together with the center of gravity G of the triangular polygon M (N) on the XY plane together with the vertex P 1 Move to a position where X = 0 and Y = 0.
3) The moved triangle P 1 -P 2 -P Three Side P 1 -P 2 The angle θ ° between the X axis and the X axis is obtained.
4) Triangle P in step 3) 1 -P 2 -P Three Are rotated by −θ ° about the Z axis together with the center of gravity G of the triangular polygon M (N) on the XY plane. That is, triangle P 1 -P 2 -P Three Along with the center of gravity G and the side P 1 -P 2 Rotate until it overlaps the X axis.
5) The Y position (Y coordinate value) of the center of gravity G of the triangular polygon M (N) after rotation is set to Y. 1 Assign to.
6) Triangle P 1 -P 2 -P Three The center of gravity G of the triangular polygon M (N) is returned to the original position in the procedure 1).
7) Triangle P 1 -P 2 -P Three Together with the center of gravity G of the triangular polygon M (N) and the vertex P 2 Move to the position where the coordinates of X = 0 and Y = 0.
8) Moved triangle P 1 -P 2 -P Three Side P 2 -P Three The angle θ ° between the X axis and the X axis is obtained.
9) Triangle P in step 8) 1 -P 2 -P Three Are rotated by −θ ° about the Z axis together with the center of gravity G of the triangular polygon M (N) on the XY plane. That is, triangle P 1 -P 2 -P Three Along with the center of gravity G and the side P 2 -P Three Rotate until it overlaps the X axis.
10) The Y position (Y coordinate value) of the center of gravity G of the triangular polygon M (N) after rotation is set to Y 2 Assign to.
11) Triangle P 1 -P 2 -P Three The center of gravity G of the triangular polygon M (N) is returned to the original position in the procedure 1).
12) Triangle P 1 -P 2 -P Three Together with the center of gravity G of the triangular polygon M (N) and the vertex P Three Move to the position where the coordinates of X = 0 and Y = 0.
13) Moved triangle P 1 -P 2 -P Three Side P Three -P 1 The angle θ ° between the X axis and the X axis is obtained.
14) Triangle P in step 13) 1 -P 2 -P Three Are rotated by −θ ° about the Z axis together with the center of gravity G of the triangular polygon M (N) on the XY plane. That is, triangle P 1 -P 2 -P Three Along with the center of gravity G and the side P Three -P 1 Rotate until it overlaps the X axis.
15) The Y position (Y coordinate value) of the center of gravity G of the triangular polygon M (N) after the rotation is represented by Y Three Assign to.
16) Y 1 <0 and Y 2 <0 and Y Three It is determined whether or not <0.
17) When YES is determined in step 16), YES is returned to the subroutine “Does XY projection plane of triangle M (N2) overlap G” in the program flowchart of FIG.
18) If NO is determined in step 16), Y 1 > 0 and Y 2 > 0 and Y Three It is determined whether or not> 0.
19) When YES is determined in step 18), YES is returned to the subroutine “Does XY projection plane of triangle M (N2) and G overlap” in the program flowchart of FIG.
20) On the other hand, if NO is determined in step 18), NO is returned to the subroutine “Does XY projection plane of triangle M (N2) and G overlap” in the program flowchart of FIG.
As described above, the first air pocket determination program first assumes that the workpiece in the posture at the entrance angle is viewed from above, and “X” of each vertex in the vertex table after the posture conversion. The data of “coordinate”, “Y coordinate”, and “Z coordinate” are changed until the upper surface of the workpiece turns to the front by rotation, and then the triangular polygon M (N) is changed by the subroutine “calculation of non-air pocket”. A determination is made as to whether or not it is positioned in front of another triangular polygon M (N2) that overlaps the center of gravity G on the XY plane. If YES, the triangular polygon M (in the triangular polygon table (FIG. 6) ( Enter 1 in order in the “Air Pocket” section for N). When NO, 0 is maintained.
Next, the first air pocket determination program assumes the case where the workpiece in the posture at the entrance angle is viewed from the left, and the “X coordinate” of each vertex in the vertex table after the posture conversion. , "Y coordinate" and "Z coordinate" data are changed until the left side of the work turns to the front by rotation, and then the triangular polygon M (N) is changed to its XY plane by the subroutine "Calculation of non-air pocket". A determination is made as to whether or not it is positioned in front of another triangular polygon M (N2) that overlaps the upper center of gravity G. If YES, the triangular polygon M (N) in the triangular polygon table (FIG. 6) is determined. Enter 1 in the “Air pocket” section. When NO, 0 is maintained.
Further, the first air pocket determination program repeats the same processing as described above, assuming that the workpiece is in the posture of the tank entry angle when viewed from the right, from the rear, and from the front. .
Here, the triangular polygon M (N) is positioned in front of the other triangular polygon M (N2) that overlaps the center of gravity G. Among the overlapping triangular polygons, the triangular polygon M (N) When viewed from the direction of the line of sight, this means that the polygon is a triangular polygon that does not become a blind spot. Even when there is no other triangular polygon M (N2) that overlaps the center of gravity G, the triangular polygon M (N) is a triangular polygon that does not become a blind spot when viewed from the direction of the line of sight with respect to the workpiece. Means that.
In short, the first air pocket determination program is as follows. For each triangular polygon whose coordinates are converted into the posture of the tank entry angle, the workpiece of that posture is from above, from left, from right, from back, and forward. In each of the cases viewed, it is determined whether or not it is a part that does not become a blind spot, and the triangular polygon that does not become a blind spot is determined to be a triangular polygon that does not become an air pocket, and a triangular polygon table (FIG. 6). ) In the “air pocket” term for each triangular polygon M (N).
[0016]
The “determination of air pocket (2)” process 4 is executed as follows according to the procedure shown in the flowchart (FIG. 15) of the second air pocket determination program.
1) First, set the count to 0.
2) Next, for the triangular polygon M (N) in order from the triangular polygon of number 1, it is determined whether the “air pocket” item of the triangular polygon M (N) in the triangular polygon table (FIG. 6) is 1. To do.
3) When it is determined NO in step 2), “N + 1” is substituted for “N”, and the same determination as in step 2) is performed for the triangular polygon M (N) of the next number.
4) When it is determined YES in step 2), the subroutine “determining whether or not the air pockets are adjacent triangle polygons and counting new non-air pockets” is executed.
5) Substituting “N + 1” into “N” and repeating the above steps 1) to 4) for the triangular polygon with the highest number, that is, for all triangular polygons M (N).
6) In the process of going through the above procedure for all the triangular polygons M (N), whether or not the triangular polygons M (N) in the parts that do not become air pockets are newly generated, that is, the count is 1 (yes) ) Or 0 (none).
7) If YES in step 6), return to step 1).
8) On the other hand, when it is determined NO in step 6), the processing for air pocket determination is completed.
The above-mentioned subroutine “determining whether or not the air pockets are adjacent triangle polygons and counting new non-air pockets” is executed as follows according to the procedure shown in the program flowcharts of FIGS.
1) Triangular polygon M (N) [This is determined to be a triangular polygon of a portion that does not become an air pocket by the “determination of air pocket (1)” process. ] Is the vertex P 1 , P 2 And P Three It is determined.
2) For the triangular polygon M (N), enter 2 instead of 1 in the “air pocket” field of the triangular polygon table (FIG. 6).
3) For the other triangular polygons M (N2) excluding the triangular polygon M (N), the “air pocket” item of the triangular polygon M (N2) in the triangular polygon table (FIG. 6) in order from the triangular polygon number 1. Whether or not is 0 is determined.
4) When it is determined NO in step 3), “N2 + 1” is substituted for “N2”, and the same determination as in step 3) is performed for the other triangular polygon M (N2) of the next number.
5) When YES is determined in step 3), the other three vertices of the triangular polygon M (N2) are represented as vertices P. Four , P Five And P 6 It is determined.
6) And vertex P 1 Is vertex P Four , Vertex P 1 Is vertex P Five , Vertex P 1 Is vertex P 6 , Vertex P 2 Is vertex P Four , Vertex P 2 Is vertex P Five , Vertex P 2 Is vertex P 6 , Vertex P Three Is vertex P Four , Vertex P Three Is vertex P Five Whether or not and the vertex P Three Is vertex P 6 To determine whether they match.
That is, another triangular polygon M (N2) is adjacent to the triangular polygon M (N) depending on whether or not each vertex is common between the triangular polygon M (N) and the other triangular polygon M (N2). Determine whether or not.
7) If it is determined NO in step 6), “N2 + 1” is substituted for “N2”, and the other triangular polygon M (N2) of the next number is the same as in step 3). Make a decision.
8) When it is determined as YES in at least one determination in step 6), the center of gravity G of the triangular polygon M (N) is obtained, and the Y position (Y coordinate value) is set to Y 1 Further, the center of gravity G of another triangular polygon M (N2) is obtained, and the Y position (Y coordinate value) is set to Y. 2 It is determined.
9) Then Y 1 > Y 2 Whether or not the center of gravity G of the other triangular polygon M (N2) is located below the center of gravity G of the triangular polygon M (N).
10) When NO is determined in step 9), “N2 + 1” is substituted into “N2”, and the same determination as in step 3) is performed for the other triangular polygon M (N2) of the next number.
11) When it is determined YES in step 9), enter 1 in the “air pocket” field of the triangular polygon table (FIG. 6) for the other triangular polygon M (N2). Subsequently, “count + 1” is substituted into “count”, and the count is changed to 1.
12) Substituting “N2 + 1” into “N2” and performing steps 1) through 11) above for the other triangular polygons M (N2) after the next number (ie, the triangular polygons targeted in step 1) Repeat for all other triangular polygons M (N2) except M (N).
13) When step 12) is completed up to the other number of triangular polygons M (N2) with the highest number, the determination in the program flow diagram of FIG. 15 “whether a new non-air pocket triangular polygon has occurred” is counted. Returns 1 (present) or 0 (none).
As described above, the second air pocket determination program first sets 2 to the triangular polygon table (FIG. 6) for the triangular polygon M (N) determined by the first air pocket determination program as a portion that does not become an air pocket. Next, among the other triangular polygons M (N2) that have not yet been determined as a part that does not become an air pocket, the triangle polygon M that has already been determined as a part that does not become an air pocket. (N) ”is selected, and then the other adjacent triangular polygon M (N2) is positioned below the“ triangular polygon M (N) of the portion that does not become an air pocket ”. Judgment is made by comparing the center of gravity, and when located below, the other triangular polygon M (N2) adjacent to it is the air pocket. Newly determined if there a triangular polygon et no site, it is to enter a 1 to "air pocket" section other triangular polygons M (N2) in the triangular polygon table (FIG. 6).
Then, the determination program first sets 2 to the triangular polygon table (FIG. 6) for the newly determined triangular polygon, similarly to the already determined “triangular polygon M (N) of a portion that does not become an air pocket”. Next, among the other triangular polygons M (N2) that have not yet been determined as a part that does not become an air pocket, the triangle polygon M that has already been determined as a part that does not become an air pocket. (N) ”is selected, and then the other adjacent triangular polygon M (N2) is positioned below the“ triangular polygon M (N) of the portion that does not become an air pocket ”. The judgment of whether or not is executed based on the comparison of the center of gravity, and when it is positioned below, the other triangular polygon M (N2) adjacent to it is a portion that does not become an air pocket. In the triangular polygon table (FIG. 6), 1 is input to the “air pocket” item of the other triangular polygon M (N2), and this series of processing is similarly performed thereafter. Repeat.
In short, the second air pocket determination program is a triangular polygon of a part that is determined to be a part that does not become an air pocket according to the first air pocket determination program or according to this program under the condition that the workpiece is in the tank entrance posture. It is determined whether or not the other triangular polygon M (N2) adjacent to M (N) is positioned below the triangular polygon M (N) of the portion that does not become the air pocket, and is positioned below. The other triangular polygon M (N2) is additionally determined to be a triangular polygon in a region that does not become an air pocket.
Therefore, with the above air pocket determination program, it is determined whether or not each triangular polygon coordinate-converted to that posture is a surface portion that becomes an air pocket under the condition that the workpiece is in the tank entry posture. Executed.
[0017]
The “determination display” process 5 is executed as follows according to the procedure shown in the flowchart of the display program (FIG. 18).
1) Execute the subroutine “Work rotation”.
2) Execute the subroutine “Move viewpoint”.
3) Execute the subroutine “Sort by viewpoint distance”.
4) Execute the subroutine “Display all triangular polygons”.
The above subroutine “work rotation” is executed as follows in accordance with the procedure shown in the program flowchart of FIG.
1) Input the X-coordinate θx, Y-coordinate θy, and Z-coordinate θz values of the entrance angle θ from the mouse or keyboard.
2) All vertices of each surface of the workpiece (basic posture) divided into triangular polygons are rotated by θx around the X axis, rotated by θy around the Y axis, and rotated by θz around the Z axis To do.
3) Record and save the coordinate data of all the vertices converted into the posture of the tank entrance angle θ by the procedure 2) in the vertex table (FIG. 3) after the posture change.
The subroutine “movement of viewpoint” is executed as follows in accordance with the procedure shown in the program flowchart of FIG.
1) Input the X coordinate Θx, Y coordinate Θy and Z coordinate Θz values of the viewing angle Θ from the mouse or keyboard.
2) Using the coordinate data recorded and stored in the vertex table after the posture change (Fig. 3), all the vertices of the triangular polygon M (N) obtained by dividing the surface of the workpiece in the posture at the entrance angle Θx around the X axis, Θy around the Y axis, and Θz around the Z axis.
3) Record and save the coordinate data of all the vertices converted into the posture of the viewpoint angle Θ by the procedure 2) in the display vertex table (FIG. 4).
The above-described subroutine “rearranged in order of viewpoint distance” is executed as follows in accordance with the procedure shown in the program flowchart of FIG.
1) With respect to the triangular polygon M (N) converted into the posture of the viewing angle Θ, the vertex 1 of the triangular polygon M (N) is set to P in order from the triangular polygon of number 1. 1 , Vertex 2 is P 2 , And vertex 3 is P Three Respectively.
2) Vertex P for triangular polygon M (N) with number N 1 , Vertex P 2 And vertex P Three Each Z coordinate value (P 1 z, P 2 z, P Three The average value Z (N) of z) is given by
Z (N) = (P 1 z + P 2 z + P Three z) / 3
Then, the obtained Z (N) value is input to the “Z position” term for the triangular polygon M (N) in the triangular polygon table (FIG. 6).
3) Substituting “N + 1” into “N” and repeating the above steps 1) to 2) for the triangular polygon M (N) after the next number.
4) It is determined whether or not the procedure 3) has been repeated up to the triangular polygon M (N) with the largest number, that is, whether or not the procedure 3) has been completed for all the triangular polygons M (N).
5) If NO in step 4), return to step 3). On the other hand, when YES, as shown in FIGS. 21 (b) and 21 (c), in the triangular polygon table (FIG. 6), the order of the triangular polygon M (N) is arranged in ascending order of the absolute value of the Z position. Change. FIG. 21B shows a triangular polygon table before rearrangement, and FIG. 21C shows a triangular polygon table after rearrangement.
The subroutine “display all triangular polygons” is executed as follows in accordance with the procedure shown in the program flowchart of FIG.
1) With respect to the triangular polygon M (N) converted into the posture of the viewing angle Θ, the vertex 1 of the triangular polygon M (N) is set to P in order from the triangular polygon of number 1. 1 , Vertex 2 is P 2 , And vertex 3 is P Three Respectively.
2) Vertex P 1 And vertex P 2 Straight line P 1 -P 2 Is drawn on the display screen as shown in FIG. 2 And vertex P Three Straight line P 2 -P Three Is drawn on the screen of the display, and the vertex P is drawn. Three And vertex P 1 Straight line P Three -P 1 Is drawn on the screen of the display.
3) Select and specify the color of the triangular polygon M (N) from a predetermined hue. That is, 2 is recorded for the triangular polygon M (N) determined as a part that does not become an air pocket in the “air pocket” term in the triangular polygon table (FIG. 6) by the process 3 and the process 4, and the part that is not 0 is recorded for the triangular polygon M (N) determined to be. Therefore, the color to be colored is designated for the triangular polygon M (N) determined to be a portion that is not “a portion that does not become an air pocket”.
4) Using the color specified in step 3), fill the interior of the triangular polygon M (N) that is not the “part that does not become an air pocket”.
5) Substituting “N + 1” into “N” and repeating the above steps 1) to 4) for the triangular polygon M (N) after the next number.
6) For all the triangular polygons M (N), it is determined whether or not the process of coloring the insides of the triangular polygons drawn on the display screen is completed.
7) If NO in step 6), return to step 5). On the other hand, when YES, the process is completed.
As described above, the display program displays the result of the determination as to whether or not it is a “portion that does not become an air pocket”, with each surface divided triangular polygon M (N) as a unit, for the workpiece in the posture of the entrance angle. On the display, a process of performing colored display, for example, color-coded display in red and colorless, is performed at various different viewpoint angles.
Therefore, on the screen of the display shown in FIG. 23, the triangular polygon M (N) on each surface of the workpiece A (in the tank entrance posture) is displayed together with the paint surface B (horizontal posture). . For each triangular polygon M (N), the result of the above determination as to whether or not air pockets are generated is displayed in different colors, for example, in red. Further, the posture of the workpiece A can be changed to various different viewpoint angles, and the above “determination results” when viewed from the respective viewpoint angles can be displayed.
[0018]
As described above, whether or not an air pocket is generated for a work to be dipped by a program operation by a computer using the recording medium of this embodiment is determined for each triangular polygon on the work surface. In addition, it can be displayed on the display at various different tank entrance postures, and therefore it is possible to determine in advance whether or not an air pocket defect has occurred.
[0019]
【The invention's effect】
As described above, according to the present invention, with respect to a product or a prototype to be subjected to the immersion treatment, without actually trying the process of surface treatment by immersing the workpiece (prototype) in the liquid, By the program operation by the computer, the presence or absence of air pockets in the simulation process can be displayed on the display for each entry angle of the workpiece. The effect that it can be predicted is obtained.
Further, according to the present invention, the necessity of the immersion treatment test itself using a product prototype made by the conventional method is greatly reduced. Therefore, according to the present invention, it is possible to greatly shorten the period from designing the outer shape of the target product to be dipped to shifting to mass production of the product by dipping treatment. The effect that it can reduce markedly is acquired.
[Brief description of the drawings]
FIG. 1 is a program flowchart showing an air pocket occurrence determination program recorded on a recording medium according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a vertex table of a basic posture recorded in a data area of a recording medium according to an embodiment.
FIG. 3 is a diagram illustrating a vertex table after posture conversion recorded in a data area of a recording medium according to an embodiment.
FIG. 4 is a diagram illustrating a display vertex table recorded in a data area of a recording medium according to an embodiment.
FIG. 5 is a diagram illustrating coordinate axes applied in a program recorded on the recording medium of the embodiment.
FIG. 6 is a diagram illustrating a triangular polygon table recorded in a data area of a recording medium according to an embodiment.
FIG. 7 is a schematic diagram showing a triangular polygon used in the program of the embodiment.
FIG. 8 is a program flowchart showing a coordinate conversion program recorded on the recording medium of the embodiment.
FIG. 9 is a program flowchart showing a first air pocket determination program recorded on the recording medium of the embodiment.
FIG. 10 is a program flowchart showing a subroutine “calculation of non-air pockets” incorporated in the first air pocket determination program of FIG. 9;
11 is a program flowchart showing a subroutine “Is M (N) in front of other triangular polygons overlapping with G” incorporated in the subroutine “Calculation of non-air pockets” in FIG.
FIG. 12 is a sub-routine of FIG. 11 that is a sub-routine “Is M (N) in front of other triangular polygons that overlap G” or a sub-routine “Is XY projection plane of triangle M (N2) overlapping with G”? 3 is a program flow diagram showing a section together with a diagram illustrating each process.
13 is a program flowchart showing an intermediate part of a subroutine “Is XY projection plane of triangle M (N2) and G overlapping” following the subroutine of FIG. 12 together with diagrams illustrating each process.
FIG. 14 is a program flowchart showing a rear portion of a subroutine “Is XY projection plane of triangle M (N2) and G overlapping” following the subroutine of FIG. 13 together with a diagram illustrating each process;
FIG. 15 is a program flowchart showing a second air pocket determination program recorded in the recording medium of the embodiment.
FIG. 16 is a program flowchart showing the first half of a subroutine “determination of air pocket correctness / noness of adjacent triangular polygon and count of new non-air pocket” incorporated in the second air pocket determination program of FIG. 15;
FIG. 17 is a program flowchart showing a second half of a subroutine “determination of air pockets of adjacent triangular polygons and counting of new non-air pockets” following the subroutine of FIG. 16;
FIG. 18 is a program flowchart showing a display program recorded in the recording medium of the embodiment.
19 is a program flowchart showing a subroutine “work rotation” incorporated in the display program of FIG. 18;
20 is a program flowchart showing a subroutine “viewpoint movement” incorporated in the display program of FIG. 18;
FIG. 21 (a) is a program flowchart showing a subroutine “rearranged in order of distance of viewpoint” incorporated in the display program of FIG. 18; FIG. 21 (b) is a diagram showing the main part of the triangular polygon table before rearrangement, and FIG. 21 (c) is a diagram showing the main part of the triangular polygon table after rearrangement.
FIG. 22 is a program flowchart showing a subroutine “display all triangular polygons” incorporated in the display program of FIG. 18;
FIG. 23 is a diagram illustrating one screen of a display displayed by an operation of a computer using the recording medium of the example.
FIG. 24 (a) is a schematic diagram showing a state in which each surface of a cubic work is divided into a large number of triangular polygons by a finite element program, and FIG. 24 (b) is a surface of a spherical work by a finite element program. It is a figure which shows a mode that was divided | segmented into many triangular polygons.
FIG. 25 is a diagram for explaining on which surface portion of a workpiece an air pocket can be formed;
FIG. 26 is a diagram illustrating logic that is penetrated by a first air pocket determination program in the embodiment for determining a portion that does not become an air pocket.
FIG. 27 is a diagram illustrating logic that is penetrated by a second air pocket determination program in the embodiment for determining a portion that does not become an air pocket;
FIG. 28 is a diagram illustrating a method for determining a portion that does not become an air pocket according to the second air pocket determination program in the embodiment.
FIG. 29 is a diagram illustrating a state in which a defect called an air pocket occurs in the dip coating process.
FIG. 30 is a schematic diagram showing an overall configuration of an electrodeposition coating apparatus in an automobile factory as a representative one used in a dip coating process.
[Explanation of symbols]
10 Triangular polygon
11 Immersion tank
12 Paint
A Work

Claims (2)

ワークを液中に浸漬する模擬プロセスにおけるエアポケット発生の有無をワークの各々の表面部位について判定しそしてこの結果をコンピュータのディスプレイ上に表示するエアポケット発生判定プログラムを記録した記録媒体であって、
該エアポケット発生判定プログラムは、
ワークの入力された頂点座標データに基づいてワークの各表面を任意数の三角ポリゴンに分割する有限要素プログラムと、
ワークを入力された入槽角の姿勢にて浸漬槽に模擬浸漬した際、エアポケットとなる表面部位であるかどうかの判定を分割されたそれぞれの三角ポリゴンについて実行するプログラムであって、入力された入槽角の姿勢にあるワークに対して上方よりそしていくつかの水平方向よりそれぞれ眺めたとき死角にならない部位であるかどうかの判断を、分割されたそれぞれの三角ポリゴンについて実行し、そして死角にならない部位の三角ポリゴンはエアポケットとならない部位の三角ポリゴンであると判定する第一のエアポケット判定プログラムを有するエアポケット判定プログラムと、
そして、
各三角ポリゴンについての前記判定の結果を上記ディスプレイ上に表示する表示プログラムとを有してなることを特徴とする、コンピュータ読み取り可能な記録媒体。
A recording medium for recording an air pocket occurrence determination program for determining the presence or absence of air pockets in a simulated process of immersing a workpiece in a liquid for each surface portion of the workpiece and displaying the result on a computer display,
The air pocket occurrence determination program is:
A finite element program that divides each surface of the workpiece into an arbitrary number of triangular polygons based on the input vertex coordinate data of the workpiece;
When a workpiece is simulated immersed in the immersion tank at the input tank angle posture, it is a program that executes the determination for each divided triangular polygon as to whether or not it is a surface part that becomes an air pocket. Judgment is made for each triangular polygon that is divided into parts that do not become blind spots when viewed from above and several horizontal directions with respect to the workpiece in the posture of the entrance angle. An air pocket determination program having a first air pocket determination program for determining that a triangular polygon of a portion that does not become an air pocket is a triangular polygon of a portion that does not become an air pocket;
And
A computer-readable recording medium comprising: a display program for displaying the result of the determination for each triangular polygon on the display.
上記エアポケット判定プログラムは
記のエアポケットとならない部位の三角ポリゴンに隣接する三角ポリゴンについて、ワークが入力された入槽角の姿勢にある条件の下で、該エアポケットとならない部位の三角ポリゴンよりも下方に位置するかどうかの判断を実行し、そして下方に位置する三角ポリゴンはエアポケットとならない部位の三角ポリゴンであると判定し、続いてこの新たに判定されたエアポケットとならない部位の三角ポリゴンに隣接する三角ポリゴンについて、ワークが入力された入槽角の姿勢にある条件の下で、該エアポケットとならない部位の三角ポリゴンよりも下方に位置するかどうかの判断を実行し、そして下方に位置する三角ポリゴンもまたエアポケットとならない部位の三角ポリゴンであると判定し、さらに以降、この処理を繰り返す第二のエアポケット判定プログラムをさらに有してなることを特徴とする、請求項1記載の記録媒体。
The air pocket judgment program,
For triangles adjacent triangles sites that do not pre Symbol of air pockets, under conditions where the attitude of Iriso angle workpiece is input, located below the triangles of sites that do not said air pockets And determine that the triangular polygon located below is a triangular polygon of a part that does not become an air pocket, and then a triangle adjacent to the triangular polygon of the part that does not become a newly determined air pocket With respect to the polygon, under the condition that the workpiece is in the posture of the tank entry angle, it is determined whether it is located below the triangular polygon of the part that does not become the air pocket, and the triangular polygon located below Is also determined to be a triangular polygon that does not become an air pocket. Characterized by comprising further comprising a pocket determination program, according to claim 1 recording medium according.
JP24112798A 1998-08-12 1998-08-12 Air pocket generation detection software when the work is immersed in the liquid Expired - Fee Related JP3840603B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP24112798A JP3840603B2 (en) 1998-08-12 1998-08-12 Air pocket generation detection software when the work is immersed in the liquid

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP24112798A JP3840603B2 (en) 1998-08-12 1998-08-12 Air pocket generation detection software when the work is immersed in the liquid

Publications (2)

Publication Number Publication Date
JP2000051750A JP2000051750A (en) 2000-02-22
JP3840603B2 true JP3840603B2 (en) 2006-11-01

Family

ID=17069694

Family Applications (1)

Application Number Title Priority Date Filing Date
JP24112798A Expired - Fee Related JP3840603B2 (en) 1998-08-12 1998-08-12 Air pocket generation detection software when the work is immersed in the liquid

Country Status (1)

Country Link
JP (1) JP3840603B2 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7346474B2 (en) * 2004-06-02 2008-03-18 Fuji Jukogyo Kabushiki Kaisha Method of analyzing residual fluid and computer readable medium
JP4729283B2 (en) * 2004-09-30 2011-07-20 富士重工業株式会社 Fluid analysis method around body panel and fluid analysis program around body panel
JP4729294B2 (en) * 2004-12-03 2011-07-20 富士重工業株式会社 Fluid analysis method around body panel and fluid analysis program around body panel
JP4670340B2 (en) * 2004-12-22 2011-04-13 日産自動車株式会社 Application failure detection apparatus and method
EP1742158A1 (en) * 2005-07-07 2007-01-10 Fuji Jukogyo Kabushiki Kaisha Method and program for simulating occurrence of air pocket
JP4746949B2 (en) * 2005-09-21 2011-08-10 富士重工業株式会社 Prediction method of air pool occurrence
JP4823864B2 (en) * 2005-11-15 2011-11-24 富士重工業株式会社 Air pool generation simulation apparatus and method
JP4773833B2 (en) * 2006-01-27 2011-09-14 富士重工業株式会社 Air pool analyzer
JP4773837B2 (en) * 2006-02-09 2011-09-14 富士重工業株式会社 Air pool analyzer
JP4807748B2 (en) * 2006-08-24 2011-11-02 富士重工業株式会社 Air pool simulation method and simulation program
JP4807747B2 (en) * 2006-08-24 2011-11-02 富士重工業株式会社 Air pool simulation method and simulation program
JP4980015B2 (en) * 2006-09-20 2012-07-18 富士重工業株式会社 Air pool simulation method and simulation program
JP4907372B2 (en) * 2007-02-01 2012-03-28 富士重工業株式会社 Method for simulating the occurrence of air accumulation in an object to be immersed and a computer-executable program for executing the simulation method
JP4907375B2 (en) * 2007-02-13 2012-03-28 富士重工業株式会社 Method for simulating the occurrence of air accumulation in an object to be immersed and a computer-executable program for executing the simulation method

Also Published As

Publication number Publication date
JP2000051750A (en) 2000-02-22

Similar Documents

Publication Publication Date Title
JP3840603B2 (en) Air pocket generation detection software when the work is immersed in the liquid
US7586490B2 (en) Systems and methods for three-dimensional sketching
EP1241628B1 (en) Interference checking method
US5990897A (en) Methods for automatically generating a three-dimensional geometric solid from two-dimensional view sets including automatic segregation of open, closed and disjoint curves into views using their center of gravity
CN112669434B (en) Collision detection method based on grid and bounding box
Chen et al. An integrated reverse engineering approach to reconstructing free-form surfaces
US11648579B2 (en) Method and system for generating a robotic program for industrial coating
JP3854033B2 (en) Mechanism simulation apparatus and mechanism simulation program
CN102682150B (en) Design navigation scene
Li et al. Orientation-point relation based inspection path planning method for 5-axis OMI system
JPH0727579B2 (en) Graphics processing device and method and pixel memory device
CN109308370B (en) Vehicle coating robot simulation method
Eckstein et al. Dynamic collision detection in virtual reality applications
JP2826138B2 (en) Mobile body interference check device
JP4829885B2 (en) Method and system for identifying proximity regions between several digitally simulated geometric objects
US20060192779A1 (en) Hidden line processing method for erasing hidden lines in projecting a three-dimensional model consisting of a plurality of polygons onto a two-dimensional plane
JP3870388B2 (en) Hydraulic transfer printing simulation software
CN1395196A (en) Data visual display method of computer fluid mechanics in smelting process
Limaiem CATIP: a computer-aided tactile inspection planning system
CN101308523B (en) Dummy laser processing procedure geometric simulation method
JP4807748B2 (en) Air pool simulation method and simulation program
CN112507282A (en) Flow display method based on velocity gradient tensor characteristics
JPH042481A (en) Assembly process design device and method thereof
JPH04236676A (en) Method for checking interference of articulated structure
Moutchiho A New Programming Approach for Robot-based Flexible Inspection Systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20031215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060307

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060621

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060719

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060726

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100818

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110818

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees