(57)【要約】【課題】ＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法を提供する。【解決手段】本発明は、Ｇコード形式のパートプログラムをＳＴＥＰ−ＮＣ言語形式のパートプログラムに変換させる方法に係り、より詳細には、Ｇコード形式のパートプログラムと工具情報とからＧコードを解析する過程を経て加工工程情報と加工形状情報及び加工方式情報などで構成されるＳＴＥＰ−ＮＣ言語形式のパートプログラムを自動生成することによって、現場で主に使われるＧコード形式のパートプログラムを煩わしい修正なしにもＳＴＥＰ−ＮＣ制御器に容易に適用することができる方法に関する。本発明によるＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法は、ＳＴＥＰ−ＮＣパートプログラムの生成に必要なＧコードパートプログラム、工具情報及び当該Ｇコードを解読することができる数値制御器情報を入力される段階と、該入力されたＧコードパートプログラムを数値制御器種類によって分析してＧコードブロック情報を生成させる段階と、Ｇコードブロック情報を用いて特徴的なブロックを検出し、特徴的なブロックを境界にＧコードブロックをグループ化して、全体パートプログラムをセットアップ実行段階と多数の加工実行段階とに区分されるように実行段階単位で分割する段階と、各加工実行段階別にそれに対応するＧコードブロック情報を用いて、工具情報、機械機能情報及び加工技術情報を生成させ、情報を用いて、荒削または仕上加工を区分する加工工程情報を生成させる手段と、素材領域から切削される領域をブーリアン演算作業で除去して、当該加工実行段階の加工形状情報を生成させる手段と、工具の進退戦略または加工戦略を含む加工方式情報を生成させる手段とを含む加工実行段階の内部情報を生成させる段階と、各加工実行段階の内部情報がすべて生成されれば、加工実行段階をＧコードパートプログラムで遂行した加工工程と同一な順序で並べてＳＴＥＰ−ＮＣパートプログラムを生成させる段階と、を含んで構成される点を特徴とする。【選択図】      図１
2009522682.tif 000002
【特許請求の範囲】
【請求項１】
Ｇコード形式のパートプログラムをＳＴＥＰ−ＮＣ形式のパートプログラムに変換させる方法において、
ＳＴＥＰ−ＮＣパートプログラムの生成に必要なＧコードパートプログラム、工具情報及び当該Ｇコードを解読することができる数値制御器情報を入力される段階と、
入力されたＧコードパートプログラムを、前記数値制御器種類によって分析してＧコードブロック情報を生成させる段階と、
前記Ｇコードブロック情報を用いて特徴的なブロックを検出し、前記特徴的なブロックを境界にＧコードブロックをグループ化して、全体パートプログラムをセットアップ実行段階（ｓｅｔｕｐ  ｗｏｒｋｉｎｇｓｔｅｐ）と多数の加工実行段階（ｍａｃｈｉｎｉｎｇ  ｗｏｒｋｉｎｇｓｔｅｐ）とに区分されるように実行段階単位で分割する段階と、
前記各加工実行段階別にそれに対応するＧコードブロック情報を用いて、工具情報、機械機能情報及び加工技術情報を生成させ、前記情報を用いて、荒削または仕上加工を区分する加工工程情報を生成させる手段と、素材領域から切削される領域をブーリアン演算作業（ｂｏｏｌｅａｎ  ｏｐｅｒａｔｉｏｎ）で除去して、当該加工実行段階の加工形状情報を生成させる手段と、工具の進退戦略または加工戦略を含む加工方式情報を生成させる手段とを含む加工実行段階の内部情報を生成させる段階と、
前記各加工実行段階の内部情報がすべて生成されれば、前記加工実行段階をＧコードパートプログラムで遂行した加工工程と同一な順序で並べてＳＴＥＰ−ＮＣパートプログラムを生成させる段階と、を含んで構成されることを特徴とするＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法。
【請求項２】
前記実行段階の分割段階は、
Ｇコードパートプログラム上で初期原点、主軸、切削油有無を含めた設定情報のみを含んでいるブロックを検出して当該ブロックをセットアップ実行段階に分類する段階と、
前記セットアップ実行段階以外のブロックを加工工具が変わる特徴的なブロックを境界にして１次分割する段階と、
前記１次分割されたブロックを移送速度や主軸回転数が変わる特徴的なブロックを境界に２次分割する段階と、
前記２次分割されたブロックを加工方向や加工領域が変わる特徴的なブロックを境界に３次分割する段階と、で構成されることを特徴とする請求項１に記載のＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法。
【請求項３】
前記加工工程情報の生成手段は、
前記Ｇコード解析段階と実行段階の分割段階で生成された加工実行段階とブロック情報を読み込む段階と、
当該実行段階の工具の種類を判断する段階と、
前記工具の種類によって加工方向または補間移送座標を考慮して工程種類を認識して当該工程情報を生成させる段階と、
前記工程情報の生成段階で認識された工程種類によって荒削または仕上に区分される切削方法を判別する段階と、
前記工程情報の生成段階で認識された工程種類と前記荒削または仕上判別段階で判別された結果によって細部工程情報を生成させてその属性値を設定する段階と、で構成されることを特徴とする請求項１に記載のＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法。
【請求項４】
前記加工形状情報の生成手段は、
加工素材の形状情報から加工される領域を設定する段階と、
工具の種類と補間移送の移送方向とを用いて切削刃を決定する段階と、
補間移送によって工具の切削刃によって加工素材が除去される加工領域を求める段階と、加工素材領域から加工領域をブーリアン減算作業（ｓｕｂｓｔｒａｃｔ  ｂｏｏｌｅａｎ  ｏｐｅｒａｔｉｏｎ）を通じて除去して最終的に残る加工素材の輪郭（ｍａｃｈｉｎｉｎｇ  ｐｒｏｆｉｌｅ）を算出する段階と、
前記加工素材輪郭情報の算出段階で算出された加工素材輪郭情報を用いて加工形状情報を決定する段階と、で構成されることを特徴とする請求項１に記載のＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法。
【請求項５】
前記加工方式情報の生成手段は、
該当する加工実行段階とそれに対応するブロックの情報とを入手する段階と、
加工実行段階とブロック情報とを参照して当該実行段階の進退戦略について情報を生成させる段階と、
当該実行段階で使われた工具の種類を判断する段階と、
前記工具の種類の判断段階で得られた工具の種類によって、急速移送と補間移送との組合わせによる加工方向を考慮して加工戦略を樹立する段階と、
当該加工方式情報を生成させてその属性値を設定する段階と、で構成されることを特徴とする請求項１に記載のＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法。
【請求項６】
前記パートプログラム生成段階で生成されるＳＴＥＰ−ＮＣパートプログラムは、ＩＳＯ  １４６４９またはＩＳＯ  １０３０３−ＡＰ２３８の規格によることを特徴とする請求項１に記載のＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法。
【請求項７】
請求項１ないし請求項６のＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法を実行させるためのプログラムが保存された記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｇコード形式のパートプログラムをＳＴＥＰ−ＮＣ言語形式のパートプログラムに変換させる方法に係り、より詳細には、Ｇコード形式のパートプログラムと工具情報からＧコードを解析する過程を経て加工工程情報と加工形状情報及び加工方式情報などで構成されるＳＴＥＰ−ＮＣ言語形式のパートプログラムを自動生成させることによって、現場で主に使われるＧコード形式のパートプログラムを煩わしい修正なしにもＳＴＥＰ−ＮＣ制御器に容易に適用することができる方法に関する。
【背景技術】
【０００２】
数値制御（Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ：以下、ＮＣ）加工技術は、１９５２年ＭＩＴ大学で３軸数値制御ミーリング工作機械を発明した以来、マイクロプロセッサ技術を含めた電子工学技術発達とともにコンピュータ支援数値制御（Ｃｏｍｐｕｔｅｒ  Ｎｕｍｅｒｉｃａｌ  Ｃｏｎｔｒｏｌ：以下、ＣＮＣ）加工技術に進化して眩しい発展を繰り返えしている。
【０００３】
最近、現場で最も普遍的に利用されるＣＮＣ加工方式は、ＣＡＤ／ＣＡＭ（Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｄｅｓｉｇｎ／Ｃｏｍｐｕｔｅｒ−Ａｉｄｅｄ  Ｍａｎｕｆａｃｔｕｒｉｎｇ）ソフトウェアを通じて加工品の図面を含めた形状設計情報からパートプログラム（ｐａｒｔ  ｐｒｏｇｒａｍ）を生成させ、これを数値制御器が搭載された工作機械（以下、ＣＮＣ工作機械）に入力して加工する方式である。
【０００４】
このようなＣＮＣ加工方式において、作業者は、ハードコピー図面またはＣＡＤシステムで作成された完成品の形状に基づいて素材形状、除去ボリューム、除去順序、使用工具及び加工条件などを含む工程計画を立て、これからＣＡＭシステムや手作業を用いて工具及びＣＮＣ工作機械の動作を指定するパートプログラムを所定のコード形態（Ｇコード）に合わせて生成させる。ＣＮＣ制御器は、入力されたＧコード形式のパートプログラムによって工作機械の動作を制御して最初の素材を所望する形状の完成品に加工する。
【０００５】
Ｇコードは、工作機械の動作を工具または移送軸の位置及び速度などで表現した一種の機械語として最も一般的なパートプログラムの形態として使われているが、移送軸の直線（Ｇ０１）と円（Ｇ０２、Ｇ０３）運動のみ支援するために高品位加工が難しく、製品についての幾何学的情報を含まないために５軸加工や高速加工に不適である。また、工程と関連した多様な情報を有していないために、実際加工を通じて最適化された加工条件がＣＡＤ／ＣＡＭに再びフィードバックされることができず、工作機械製造社別に異なるＧコード体系を有しているために、異機種間のデータ交換が難しく、このために別途の後処理（ｐｏｓｔ−ｐｒｏｃｅｓｓｉｎｇ）を必要とする短所を有している。
【０００６】
最近、このような短所を解消するための新たなプログラム言語としてＳＴＥＰ（ＳＴａｎｄａｒｄ  ｆｏｒ  ｔｈｅ  Ｅｘｃｈａｎｇｅ  ｏｆ  Ｐｒｏｄｕｃｔ  Ｍｏｄｅｌ  ｄａｔａ）データモデルに基盤したＳＴＥＰ−ＮＣ言語が台頭されている。ＳＴＥＰ−ＮＣ言語は、軸動作を直接指定する代わりに軸動作を生成させることができる形状情報、加工手続き、加工方法及び工具情報などの工程計画情報を定義していて高品位加工が可能であり、加工情報がＣＡＤ−ＣＡＭ−ＣＮＣプロセスチェーン上で双方向に交換されることができる。また、ＣＮＣ制御器に中立的な国際標準言語であるので、互換のための後処理が不要であるという長所がある。
【０００７】
現在、このようなＳＴＥＰ−ＮＣ言語に作成されたパートプログラムを解読して直接軸動作を生成させるＳＴＥＰ−ＮＣ制御器はほぼ実用化段階に入っているが、今後、ＳＴＥＰ−ＮＣ制御器が産業現場に新たに適用される場合、ユーザーが以前にＧコードで作成した多数のプログラムをＳＴＥＰ−ＮＣ言語に変換しなければならない煩わしさがあるので、ＧコードとＳＴＥＰ−ＮＣ言語との互換性問題は、ＳＴＥＰ−ＮＣ制御器の底辺化に障害物として作用する余地が大きい。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、前記問題点を解決するためのものである。すなわち、本発明の目的は、Ｇコード形式のパートプログラムと工具情報とからＳＴＥＰ−ＮＣ言語形式のパートプログラムに自動変換させるパートプログラム変換方法を提供することによって、産業現場で主に使われているＧコード形式のパートプログラムをＳＴＥＰ−ＮＣ制御器に容易に適用させることにある。
【課題を解決するための手段】
【０００９】
前記目的を果たすための技術的思想として本発明は、ＳＴＥＰ−ＮＣパートプログラムの生成に必要なＧコードパートプログラム、工具情報及び当該Ｇコードを解読することができる数値制御器情報を入力される段階と、入力されたＧコードパートプログラムを前記数値制御器種類によって分析してＧコードブロック情報を生成させる段階と、前記Ｇコードブロック情報を用いて特徴的なブロックを検出し、前記特徴的なブロックを境界にＧコードブロックをグループ化して、全体パートプログラムをセットアップ実行段階（ｓｅｔｕｐ  ｗｏｒｋｉｎｇｓｔｅｐ）と多数の加工実行段階（ｍａｃｈｉｎｉｎｇ  ｗｏｒｋｉｎｇｓｔｅｐ）とに区分されるように実行段階単位で分割する段階と、前記各加工実行段階別にそれに対応するＧコードブロック情報を用いて、工具情報、機械機能情報及び加工技術情報を生成させ、前記情報を用いて、荒削または仕上加工を区分する加工工程情報を生成させる手段と、素材領域から切削される領域をブーリアン演算作業（ｂｏｏｌｅａｎ  ｏｐｅｒａｔｉｏｎ）で除去して、当該加工実行段階の加工形状情報を生成させる手段と、工具の進退戦略または加工戦略を含む加工方式情報を生成させる手段とを含む加工実行段階の内部情報を生成させる段階と、前記各加工実行段階の内部情報がすべて生成されれば、前記加工実行段階をＧコードパートプログラムで遂行した加工工程と同一な順序で並べてＳＴＥＰ−ＮＣパートプログラムを生成させる段階と、を含んで構成されることを特徴とするＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法を提供する。
【発明の効果】
【００１０】
本発明によるＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法は、産業現場で主に使われているＧコード形式のパートプログラムを別途の手作業なしにＳＴＥＰ−ＮＣ制御器に容易に適用させることによって、ＳＴＥＰ−ＮＣの導入による人力消耗と時間とを大幅に節減することができる。
【００１１】
また、ＳＴＥＰ−ＮＣ制御器を通じる新たなプログラム方式に慣れなくて難しさを経験するユーザーに以前の方式どおりプログラムを作成してＳＴＥＰ−ＮＣ制御器を駆動することができる方法を提供することによって、ＳＴＥＰ−ＮＣ制御器の底辺化に寄与することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の望ましい実施形態を添付図面に基づいて、詳しく説明する。
【００１３】
図１は、本発明によるＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法が適用される加工システムの構成を表わす図面である。
【００１４】
Ｇコード変換器３００は、本発明によるＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法によってＧコードを変換する装置であって、図１に図示されたように、ＣＡＭやユーザーからＧコードパートプログラムを含めた各種情報１０を入力され、該入力された情報１０を処理してＳＴＥＰ−ＮＣ言語形式のパートプログラム４００を出力する。
【００１５】
Ｇコード変換器３００に入力される情報１０は、Ｇコードパートプログラム１１、工具情報１２、数値制御器情報１３、最終形状情報１４及び加工素材情報１５で構成される。ここで、Ｇコードパートプログラム１１、工具情報１２及び数値制御器情報１３は、ＳＴＥＰ−ＮＣパートプログラム４００を生成させるための必須的な入力情報であり、最終形状情報１４及び加工素材情報１５は、選択的に入力することができる付加情報である。
【００１６】
Ｇコードパートプログラム１１は、ＳＴＥＰ−ＮＣパートプログラム４００に変換されるＧコード形式のパートプログラムであって、変換作業時にエラーが発生しないように不要な工具や工具経路の含まれていない正確なプログラムに作成されることが望ましい。
【００１７】
工具情報１２は、Ｇコードパートプログラムに明示されたすべての加工工具と関連した情報として工具の種類と工具ホルダー及びインサート規格とについての情報を有している。工具の種類は、外径荒削・仕上用、内径荒削・仕上用、溝加工用、ドリル加工用、スレッディング加工及びナーリング加工用などに区分されるが、実際に旋盤加工に使われる工具の種類は多様で製作会社ごとにそれぞれ異なる規格を有しているので、製作会社についての情報も含むことが良い。また、工具ホルダー規格は、工具ホルダーの種類及び幾何情報（例：ＰＣＬＮＲ２５２５−Ｍ１２）で構成され、インサート規格は、インサートの種類及び幾何情報（例：ＣＮＭＧ１２０４０）で構成される。
【００１８】
数値制御器情報１３は、制御器製作会社、制御器種類、旋盤あるいはミーリング加工用有無、制御軸数などで構成される情報であって、Ｇコードのうち共通されたコード以外に制御器製作会社による固有コードを正確に解析するための情報である。
【００１９】
最終形状情報１４は、最終形状に対するＣＡＤファイルとしてユーザーの便宜のために提供される付加情報であり、敢えて入力情報に含まれて入力されないとしても本実施形態によるＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法を通じて生成されることができる。
【００２０】
加工素材情報１５は、加工素材の幾何学的種類、サイズ及び材質についての情報で構成され、後述する加工形状情報の生成に助けになることができる付加情報である。
【００２１】
一方、Ｇコード変換器３００で出力されるＳＴＥＰ−ＮＣパートプログラム４００の形式は、ＩＳＯ  １０３０３  Ｐａｒｔ２１（Ｃｌｅａｒ  Ｔｅｘｔ  Ｅｎｃｏｄｉｎｇ  Ｆｉｌｅ）規格によるが、順次に実行される加工工程別に区分される実行段階で構成され、各実行段階には、加工工程（ｍａｃｈｉｎｉｎｇ  ｏｐｅｒａｔｉｏｎ）、加工形状（ｍａｎｕｆａｃｔｕｒｉｎｇ  ｆｅａｔｕｒｅ）及び幾何情報（ｇｅｏｍｅｔｒｙ）、加工方式（ｍａｃｈｉｎｉｎｇ  ｓｔｒａｔｅｇｙ）、加工技術（ｍａｃｈｉｎｉｎｇ  ｔｅｃｈｎｏｌｏｇｙ）、機械機能（ｍａｃｈｉｎｅ  ｆｕｎｃｔｉｏｎ）及び加工工具（ｍａｃｈｉｎｉｎｇ  ｔｏｏｌ）情報が含まれる。また、ＳＴＥＰ−ＮＣパートプログラム４００のデータモデルは、基本的にＩＳＯ  １４６４９によるが、ＩＳＯ  １４６４９とＩＳＯ  １０３０３−ＡＰ２３８データモデルは、構造がほぼ類似して表現方式にのみ差があるので、ＩＳＯ  １０３０３−ＡＰ２３８データモデルも含ませることが良い。
【００２２】
このようなＳＴＥＰ−ＮＣパートプログラム４００は、Ｇコード変換器３００からＬＡＮまたはインターネットなどのネットワーク網やＲＳ２３２のような通信ケーブルを通じてＳＴＥＰ−ＮＣ制御器５１０とＳＴＥＰ−ＮＣ保存部５２０とで構成されたＳＴＥＰ−ＮＣシステム５００に伝送される。
【００２３】
ＳＴＥＰ−ＮＣ制御器５１０は、入力されたＳＴＥＰ−ＮＣパートプログラム４００を解析して工具経路を生成させ、これにより、ＮＣの動作を制御することで加工を遂行する。
【００２４】
ＳＴＥＰ−ＮＣ保存部５２０は、ＳＴＥＰ−ＮＣ制御器５１０に伝送されるか、ＳＴＥＰ−ＮＣ制御器５１０で自体的に生成したＳＴＥＰ−ＮＣパートプログラムを保存するデータベースであって、ＳＴＥＰ−ＮＣ制御器５１０で必要なパートプログラムを読出して加工に利用させうる。
【００２５】
前述したように、本実施形態では、Ｇコード変換器３００がＳＴＥＰ−ＮＣシステム５００と別途に構成されているが、Ｇコード変換器３００をＳＴＥＰ−ＮＣシステム５００の内部に統合して構成するか、ＳＴＥＰ−ＮＣシステム５００を支援するオフラインＣＡＭソフトウェアの内部に統合して構成することもできる。
【００２６】
以下、図２を参照して、本発明の一実施形態によるＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法を説明する。ここで、具体的な変換手続きは、２軸旋盤に適用される場合を基準にして説明する。
【００２７】
ＳＴＥＰ−ＮＣ言語のデータ構造は、ＣＮＣ制御器を通じて一つの完成された製品を加工するための最も上位のプロジェクト（ｐｒｏｊｅｃｔ）エンティティとその下位に工作物の位置が一定に維持される一つのセットアップに対して加工を執行するワークプラン（ｗｏｒｋｐｌａｎ）エンティティとで構成されている。また、各ワークプランの内部には、客体指向的概念の実行段階（ｗｏｒｋｉｎｇｓｔｅｐ）が作業単位と定義され、実行段階の内部には、当該実行段階の遂行を通じて加工されなければならない形状が定義され、これを加工するために必要なすべての工程情報が含まれる。ＳＴＥＰ−ＮＣパートプログラムは、このような実行段階が多数構成されており、それぞれの実行段階を制御器の能力によって順次にまたは並列的に執行する。したがって、ＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法は、Ｇコードプログラムを解析してＳＴＥＰ−ＮＣパートプログラムフォーマットで順次に変換させる段階を含んでいる。
【００２８】
先ず、Ｇコードパートプログラム、工具情報及び数値制御器情報などの情報を入力される（Ｓ１０）。
【００２９】
以後、入力されたＧコードパートプログラムを数値制御器種類によって解析してＧコードブロック情報を生成させる（Ｓ２０）。Ｇコードパートプログラムは、数値制御器が一回に処理する構文単位であるブロックで構成され、ブロック内のＧコード以外にＴ、Ｓ、Ｆ及びＭコードなどを解析して図３のようなデータ構造を有するブロック情報を生成させることができる。
【００３０】
図３に図示されたように、ブロック情報のデータ構造は、Ｇコード値、移送終了点（ｅｎｄ  ｐｏｉｎｔ）、移送開始点（ｓｔａｒｔ  ｐｏｉｎｔ）、移送半径（ｒａｄｉｕｓ）、移送速度（ｆｅｅｄｒａｔｅ）、主軸回転数（ｓｐｉｎｄｌｅ  ｓｐｅｅｄ）、主軸最高回転数（ｍａｘｉｍｕｍ  ｓｐｉｎｄｌｅ  ｓｐｅｅｄ）、工具番号（ｔｏｏｌ  ｎｕｍｂｅｒ）、工具補正種類（ｃｏｍｐｅｎｓａｔｉｏｎ  ｔｙｐｅ）、工具補正値（ｃｏｍｐｅｎｓａｔｉｏｎ  ｖａｌｕｅ）、移送方向（ｔｒａｊｅｃｔｏｒｙ  ｄｉｒｅｃｔｉｏｎ）及び移送長さ（ｔｒａｊｅｃｔｏｒｙ  ｌｅｎｇｔｈ）で構成される。ここで、移送方向は、移送開始点から移送終了点までのベクトル方向であり、移送長さは、このベクトルの長さに該当する。ここで、Ｇコード値には、Ｇコード以外にブロック内のＴ、Ｓ、Ｆ及びＭコードの値も含むように適切にコード化して保存することが良い。
【００３１】
ブロック情報の例を挙げれば、Ｇコードパートプログラムが、Ｎ０１  Ｇ５０  Ｓ４２０；Ｎ０２  Ｇ９７  Ｓ２０５  Ｔ０１００  Ｍ０１；Ｎ０３  Ｇ００  Ｘ８５．０  Ｚ１８０．０；Ｎ０４  Ｇ０１  Ｘ８５．０  Ｚ０．０  Ｆ０．２であり、制御器種類がＦＡＮＵＣ  ０系列である時、Ｎ０４ブロックに該当するブロック情報は、Ｇコード＝０１、移送終了点＝Ｘ８５．０  Ｚ０．０、移送開始点＝Ｘ８５．０  Ｚ１８０．０、移送半径＝０、移送速度＝０．２、主軸回転数＝２０５、主軸最高回転数＝４２０、工具番号＝０１、工具補正種類＝ｏｆｆ、工具補正値＝Ｘ０．０  Ｚ０．０、移送方向＝Ｘ０．０、Ｚ−１８０．０、移送長さ＝１８０である。
【００３２】
前記ブロック情報の生成段階（Ｓ２０）が終了すれば、生成されたブロックをグループ化してＳＴＥＰ−ＮＣデータモデルの基本作業単位である実行段階情報を生成させるが、使われる工具、主軸回転数、移送速度、加工方向または加工領域に変化が発生する特徴的なブロックを境界にして全体パートプログラムを実行段階単位で分割する（Ｓ５０）。
【００３３】
このような特徴的なブロックによって分けられたそれぞれの実行段階は、セットアップ実行段階（ｓｅｔｕｐ  ｗｏｒｋｉｎｇｓｔｅｐ）と加工実行段階（ｍａｃｈｉｎｉｎｇ  ｗｏｒｋｉｎｇｓｔｅｐ）とに分類されることができる。セットアップ実行段階は、座標系設定、絶対・相対指令、分当たり・回転当たり移送、主速一定制御または一定制御無視、初期原点セッティング、主軸速度、切削油有無などについての設定情報にのみ構成され、加工経路に対する追跡が不要である。このセットアップ実行段階から後述する加工技術情報や機械機能情報などを得られる。セットアップ実行段階で生成された情報は、引き続き出る加工実行段階に影響を及ぼすようになって加工技術情報や機械機能情報の値に設定され、他のセットアップ実行段階が表れれば、その以後の加工実行段階からは新たに表われたセットアップ実行段階の情報で再設定される。一方、加工実行段階は、工具移送による加工を指令するブロックのグループとして実際に加工を執行する段階であり、それぞれが一つの加工工程と定義されることができる実行段階である。加工実行段階に含まれるブロックは、ＧコードのＧ００、Ｇ０１、Ｇ０２及びＧ０３などのコードを含んで急速移送または切削移送で工具を移送させる。
【００３４】
ここで、パートプログラムの全体ブロックを実行段階に分割する方法についてより詳しく説明すれば、次の通りである。
【００３５】
Ｇコードパートプログラム上で、座標系設定、絶対・相対指令、分当たり・回転当たり移送、主速一定制御または一定制御無視、初期原点セッティング、主軸速度、切削油有無などについての設定情報のみを含んでいるブロックを捜し出して、このブロックをセットアップ実行段階に分類し、残りのブロックの中で加工工具が変わる特徴的なブロックを境界にして、ブロックがこの境界によって分けられる１次分割を遂行する。加工工具を基準に１次分割する理由は、作業者が一般的に加工時に工具交換の最小化を考慮してパートプログラムを作成するために最大の範疇のブロックグループに縛ることができ、工具の種類によって加工する方法が異なるために工具による加工方法の解析も異なるためである。１次分割された各ブロックは、移送速度や主軸回伝数が変わる特徴的なブロックを境界に再び２次分割される。移送速度や主軸回転数の変化は、加工される表面品質の変化を意味するので、同じ工程内ではこれらの変化を与えないことが一般的である。１次分割されたブロックグループ内で同じ工具を使うブロックであっても移送速度や主軸回転数が変化するブロックは他の加工を遂行するとの手がかりを提供するために、移送速度や主軸回転数が変わる特徴的なブロックは、二番目の分割のための境界になる。２次分割された各ブロックは、再び加工方向や加工領域が変わる特徴的なブロックを境界に３次分割される。同じ工具で同じ移送速度や主軸回転数に加工されても加工方向（例えば、ｚ軸に垂直に加工する断面加工とｚ軸と平行に加工する外径加工）が異なりうる。また、上の条件が同じであるとしても加工領域が異なれば、他の実行段階であることを意味するので、加工領域が変わる特徴的なブロックを捜し出す作業を遂行する。このような過程によって最終的に分割されたブロックグループのそれぞれが作業の基本単位である実行段階に設定され、特に、加工実行段階に対して加工工程を定義する。ここで、もし、Ｇコードパートプログラム上に固定サイクル（ｃｙｃｌｅ）コードが存在する場合、サイクルコードを解析する別途の過程を通じて実行段階を生成させる。
【００３６】
このように実行段階の分割段階（Ｓ５０）が完了すれば、各加工実行段階別にそれに対応するＧコードブロック情報を用いて、工具情報、加工技術情報、加工工程情報、加工形状情報及び加工方式情報で構成される加工実行段階の内部情報を生成させる（Ｓ１００）。
【００３７】
前記段階（Ｓ１００）をすべての加工実行段階に対して順次に遂行して、加工実行段階のすべての情報が生成され、Ｇコードパートプログラムのすべてのブロックに対する解析が終われば、前記加工実行段階をＧコードパートプログラムで遂行した加工工程のような順に並べる。並べられた実行段階を一つのワークプランエンティティに順次に含ませ、これを最終的にプロジェクトエンティティに含ませることで完全なＳＴＥＰ−ＮＣパートプログラムを生成させる（Ｓ８００）。
【００３８】
以後、前記段階（Ｓ８００）で生成されたＳＴＥＰ−ＮＣパートプログラムをユーザーに見せることでユーザーに検証及び確認を要請するが（Ｓ９００）、望ましくは、加工工程とこれによる加工形状などの情報とをＧＵＩ（Ｇｒａｐｈｉｃ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を通じて視覚的に確認しながら修正させることが良い。
【００３９】
以下、図４を参照して、図２に図示された加工実行段階別の内部情報生成段階（Ｓ１００）をより詳しく説明する。
【００４０】
先ず、該当する加工実行段階に使われた工具に対して入力情報中の工具情報を用いてＳＴＥＰ−ＮＣデータモデルに定義された工具情報を生成させ（Ｓ２００）、当該加工実行段階のＧコードブロック情報からＭ−ｃｏｄｅを解析して、これと関連した機械機能情報を生成させる（Ｓ３００）。また、Ｇコードブロック情報を参照して、移送速度、主軸回転数及び主軸最高回転数などの情報を含む加工技術情報（Ｓ４００）を生成させる。前記の各段階は、順次である必要がなく、通常のＧコードブロックに記載の順序によってそれぞれの情報を生成させる。
【００４１】
以後、前記Ｓ２００ないしＳ４００段階で生成された工具情報、機械機能情報及び加工技術情報を参照して、工具の種類及び加工方向によって断面、外径、溝、ドリル及び内径工程などに分類され、また荒削加工の有無、主軸回転数及び移送速度情報などによって荒削加工及び仕上加工に細分化される加工工程情報を生成させる（Ｓ５００）。
【００４２】
前記加工工程情報の生成段階（Ｓ５００）が完了すれば、Ｇコードブロック情報、加工工程情報の加工工程種類、工具情報の工具の種類及び工具形状を参照して、加工実行段階の補間移送によって除去される領域と加工輪郭（ｍａｃｈｉｎｉｎｇ  ｐｒｏｆｉｌｅ）とを計算し、これから算出される幾何情報に基づいて加工形状情報を生成させる（Ｓ６００）。また、加工工程情報の加工工程種類、工具情報の工具の種類を参照してＧコードブロック情報から求められる補間移送ベクトル及び急速移送ベクトルを用いて、工具の進退戦略（ａｐｐｒｏａｃｈ／ｒｅｔｒａｃｔ  ｓｔｒａｔｅｇｙ）と加工方法に関する加工戦略（ｍａｃｈｉｎｉｎｇ  ｓｔｒａｔｅｇｙ）とで構成される加工方式情報を生成させることによって（Ｓ７００）、単位加工実行段階の内部情報生成段階（Ｓ１００）を終了する。
【００４３】
以下、図５を参照して、図４に図示された加工工程情報の生成段階をより詳しく説明する。
【００４４】
先ず、Ｇコード解析段階と実行段階の分割段階で生成された加工実行段階とこれに対応するブロックの情報を読み込み（Ｓ５１０）、当該実行段階の工具の種類を判断する（Ｓ５２０）。
【００４５】
前記段階（Ｓ５２０）で工具の種類が外径用工具である場合、先ず、加工方向がＸ軸と平行であるか否かを判断する（Ｓ５３０）。ここで、加工方向がＸ軸に平行ではなければ当該工程種類を外径加工と認識し、反対の場合に断面加工と認識する。
【００４６】
前記工具の種類の判断段階（Ｓ５２０）で工具の種類が溝加工用工具である場合、加工経路を検討して当該加工が加工素材を切断するか否かを判断する（Ｓ５４０）。ここで、溝加工用工具の補間移送終了点のＸ値を検討して、その値が０より小さな場合を加工素材を切断すると判断する。前記段階（Ｓ５４０）で加工素材を切断すると判断される場合、当該工程種類を断面加工と認識し、反対の場合に溝加工と認識する（Ｓ５５０）。
【００４７】
前記工具の種類の判断段階（Ｓ５２０）で工具の種類が内径、ドリル加工、スレッディング及びナーリング用工具である場合、当該工程種類をそれぞれ内径、ドリル加工、スレッディング及びナーリング加工と認識する。
【００４８】
このように、工具の種類によって工程種類を認識した後、それについての工程情報を生成させる（Ｓ５５０）。
【００４９】
以後、工程種類によって荒削または仕上に区分される切削方法を判別し（Ｓ５６０）、当該実行段階の工程種類によって細部工程情報を生成させてそれと関連した属性値を生成させる（Ｓ５７０）。前記Ｓ５６０、Ｓ５７０段階で工程種類別に荒削／仕上を判別する条件とその結果によって細部工程種類を決定する方法とを図６を参照して説明すれば、次の通りである。
【００５０】
工程種類が外径加工、断面加工または内径加工である場合、同じ加工領域に対して同一な加工種類の荒削作業が以前実行段階に既に存在するか、当該実行段階で仕上用工具が使われるか、荒削作業に比べて高い回転主軸数と低い移送速度とが設定されていれば仕上加工と判断し、その反対であれば荒削加工と判断する。
【００５１】
一方、工程種類が溝加工である場合、当該実行段階で同じ加工領域に対して溝荒削作業が既に存在するか、当該実行段階で荒削作業に比べて高い回転主軸数と低い移送速度とが設定されていれば仕上加工と判断し、その反対であれば荒削加工と判断する。
【００５２】
ここで、以前実行段階によって生成された加工形状の幾何情報と現在加工実行段階内のブロック情報とに含まれた移送開始点、移送終了点情報から求められる幾何情報を互いに比べて、二つの幾何情報がほぼ一致する場合に同じ加工領域に対する同一加工が存在すると判断する。
【００５３】
細部工程は、加工種類が外径、断面、溝及び内径加工である場合には、前記荒削／仕上判別段階（Ｓ５６０）で判別された切削方法が荒削であるかまたは仕上であるかによって、各各外径荒削（ｃｏｎｔｏｕｒｉｎｇ  ｒｏｕｇｈ）、外径仕上（ｃｏｎｔｏｕｒｉｎｇ  ｆｉｎｉｓｈ）、溝荒削（ｇｒｏｏｖｉｎｇ  ｒｏｕｇｈ）、溝仕上（ｇｒｏｏｖｉｎｇ  ｆｉｎｉｓｈ）、内径荒削（ｃｏｎｔｏｕｒｉｎｇ  ｒｏｕｇｈ）及び内径仕上（ｃｏｎｔｏｕｒｉｎｇ  ｆｉｎｉｓｈ）加工工程と認識される。また、加工種類がドリル加工である場合には、ドリル加工のための事前作業で素材に小さな溝を出すためのセンタードリル用工具が使われればセンタードリル（ｃｅｎｔｅｒ  ｄｒｉｌｌｉｎｇ）加工工程と、一般ドリル加工用工具が使われればドリル（ｄｒｉｌｌｉｎｇ）加工工程と認識される。
【００５４】
このように認識された細部工程は、各工程ごとに内部属性値が異ならせて定義されるが、前記細部工程情報の生成段階（Ｓ５７０）では、当該実行段階内のブロック情報を参照して認識された細部工程の内部属性値を設定する。
【００５５】
以下、図７を参照して、図４に図示された加工形状情報の生成段階をよりより詳しく説明する。
【００５６】
先ず、加工素材の形状情報から加工される領域を設定する（Ｓ６１０）。最初の加工実行段階の場合には、前述して説明した入力情報１０の中で加工素材の形状情報１５が入力されていれば、加工素材情報によって加工素材領域を生成させ、加工素材形状情報１５がなければＧコードパートプログラムの最初の急速移送の開始点を考慮して適切な加工素材領域を設定する。以後の加工実行段階に対する加工素材領域は、以前加工実行段階によって遂行された加工によって除去された後、残っている加工素材領域が使われる。
【００５７】
以後、工具の種類と補間移送の移送方向とを用いて切削刃（ｃｕｔｔｉｎｇ  ｅｄｇｅ）を決定する（Ｓ６２０）。切削刃は、加工時に加工素材と接触する工具刃を意味するが、工具の種類別に切削刃を求める方法については、後述して詳しく説明する。
【００５８】
前記段階（Ｓ６２０）で切削刃算出が完了すれば、補間移送によって工具の切削刃によって加工素材が除去される加工領域を求め（Ｓ６３０）、加工素材領域から加工領域をブーリアン減算作業（ｓｕｂｓｔｒａｃｔ  ｂｏｏｌｅａｎ  ｏｐｅｒａｔｉｏｎ）を通じて除去して、最終的に残る加工素材の輪郭（ｍａｃｈｉｎｉｎｇ  ｐｒｏｆｉｌｅ）を求める（Ｓ６４０）。ここで、輪郭情報は、輪郭を構成する線の種類、位置、方向などの情報で構成される。
【００５９】
以後、前記段階（Ｓ６４０）で求めた加工素材の輪郭情報を用いてＳＴＥＰ−ＮＣデータモデルに定義されている加工形状（ｍａｎｕｆａｃｔｕｒｉｎｇ  ｆｅａｔｕｒｅ）情報を生成させるが、図８でのように、加工工程、輪郭を構成する線分あるいは円弧の個数、輪郭構成要素の種類及び輪郭構成要素の傾きによって加工形状をマッピングする（Ｓ６５０）。すなわち、加工工程が断面、外径、または内径である場合、輪郭構成要素の個数、線分や円弧の種類及び傾きによってＳＴＥＰ−ＮＣデータモデルに定義されたサーキュラーフェース（ｃｉｒｃｕｌａｒ  ｆａｃｅ）、アウターダイアミタ（ｏｕｔｅｒ  ｄｉａｍｔｅｒ）、リボルブドラウンド（ｒｅｖｏｌｖｅｄ  ｒｏｕｎｄ）、リボルブドフラット（ｒｅｖｏｌｖｅｄ  ｆｌａｔ）、ゼネラルレボリューション（ｇｅｎｅｒａｌ  ｒｅｖｏｌｕｔｉｏｎ）にマッピングされ、溝加工の場合はグルーブ（ｇｒｏｏｖｅ）、ドリル加工の場合はラウンドホール（ｒｏｕｎｄ  ｈｏｌｅ）にマッピングされる。ここで、輪郭構成要素は、加工後の素材輪郭全体で加工前の素材輪郭成分を除外した構成要素であって、加工によって新たに生成される輪郭を成す構成要素を意味する。例えば、一つの実行段階が加工工程情報の生成段階（Ｓ５００）で外径荒削工程と認識され、加工領域による加工輪郭情報の生成段階（Ｓ６４０）で輪郭構成要素個数が３個、輪郭構成要素種類がすべて線分と認識されれば、図８でのように、ゼネラルレボリューションと認識される。
【００６０】
加工輪郭による加工形状のマッピング段階（Ｓ６５０）で保存される情報としては、マッピングされた形状の種類と形状の下位情報である輪郭を成す幾何形状についての情報、すなわち、輪郭の原点座標、輪郭を成す線分の種類である直線、直線に対する点の位置座標及び方向などがある。
【００６１】
以下、図９ないし図１１を参照して、加工時の切削刃を求める方法について説明する。
【００６２】
図９は、ＳＴＥＰ−ＮＣデータモデルに定義されている外径用または内径用工具の切削刃角を表わす図面であり、図１０は、図９に図示された切削刃角と移送方向によって決定される切削刃とを表わす図面であり、図１１は、溝加工用工具とドリル加工用工具との切削刃を表わす図面である。
【００６３】
図９でのように、外径用あるいは内径用工具６００のインサート６１０の中で側面に形成された刃を側面切削刃（ｓｉｄｅ  ｃｕｔｔｉｎｇ  ｅｄｇｅ）６１１と言い、側面切削刃がＺ軸と成す角の絶対値を側面切削刃角（ｓｉｄｅ  ｃｕｔｔｉｎｇ  ｅｄｇｅ  ａｎｇｌｅ）θｓと言う。また、インサート６１０の中で下面に形成された刃を下面切削刃（ｅｎｄ  ｃｕｔｔｉｎｇ  ｅｄｇｅ）６１２と言い、下面切削刃がＺ軸と成す角の絶対値を下面切削刃角（ｅｎｄｃｕｔｔｉｎｇ  ｅｄｇｅ  ａｎｇｌｅ）θｓと言う。
【００６４】
加工時の切削刃は、移送方向と切削刃角とによって決定されるが、切削刃は、図１０の（ａ）でのように、移送方向が（１８０゜−側面切削刃角）と（１８０゜＋下面切削刃各）との間にあれば側面切削刃、図１０の（ｂ）でのように、（９０゜＋側面切削刃角）と（３６０゜＋下面切削刃角）と間にあれば下面切削刃、図１０の（ｃ）でのように、（１８０゜＋下面切削刃角）と（９０゜＋側面切削刃角）との間にあれば下面切削刃と側面切削刃との組合わせで決定される。
【００６５】
溝加工用工具とドリル加工用工具との切削刃は、図１１でのように、工具のチップ（ｔｉｐ）部分に該当する。
【００６６】
以下、図１２を参照して、図４に図示された加工方式情報の生成段階（Ｓ７００）の細部手続きを説明する。
【００６７】
先ず、該当する加工実行段階とそれに対応するブロックの情報を読み込む（Ｓ７１０）。
【００６８】
以後、加工実行段階とブロック情報とを参照して、当該実行段階の進入戦略（ａｐｐｒｏａｃｈ  ｓｔｒａｔｅｇｙ）及び退却戦略（ｒｅｔｒａｃｔ  ｓｔｒａｔｅｇｙ）についての情報を生成させる（Ｓ７２０）。
【００６９】
ここで、加工実行段階の進入戦略情報は、当該実行段階内で最初の補間移送以前に急速移送ブロックが存在する時に生成される。ＳＴＥＰ−ＮＣデータモデルで定義した接近方式は、急速移送ブロックによって算出される移送ベクトルの類型によって区分されるが、移送ベクトルが軸に垂直であればプランジ工具軸（ｐｌｕｎｇｅ  ｔｏｏｌ  ａｘｉｓ）、傾きが存在すれば線形プランジ（ｐｌｕｎｇｅ  ｒａｍｐ）、円弧であれば螺旋形プランジ（ｐｌｕｎｇｅ  ｈｅｌｉｘ）、そして、ジグザグ形態であればジグザグ型プランジ（ｐｌｕｎｇｅ  ｚｉｇｚａｇ）と認識される。
【００７０】
また、加工実行段階の退却戦略は、当該実行段階内で最後の補間移送以後に急速移送ブロックが存在する時に生成され、その種類と認識方法は、進入戦略の場合と同一である。
【００７１】
前記進退戦略生成段階（Ｓ７２０）が完了すれば、当該実行段階で使われた工具の種類を判断する（Ｓ７３０）。
【００７２】
前記段階（Ｓ７３０）で使用工具が内径用または外径用工具であると判断されれば、急速移送と補間移送との組合わせによる加工方向を考慮して加工戦略を樹立する（Ｓ７４０）。加工戦略は、加工が双方向に遂行される場合、双方向加工方式（ｂｉｄｉｒｅｃｔｉｏｎａｌ  ｔｕｒｎｉｎｇ）に、何れか一方向にのみ遂行される場合、単方向加工方式（ｕｎｉｄｉｒｅｃｔｉｏｎａｌ  ｔｕｒｎｉｎｇ）に、最終形状の輪郭に沿って補間移送のみが遂行される場合、模倣切削加工方式（ｃｏｎｔｏｕｒ  ｔｕｒｎｉｎｇ）に樹立される。ここで、双方向加工方式は、中立形態の工具を使う場合にのみ可能な方式であり、模倣切削加工方式は、補間移送のみが連続的に配列されて最終形状の輪郭に沿って工具を補間移送する場合に該当する。
【００７３】
前記加工戦略樹立段階（Ｓ７４０）が完了すれば、該当する加工方式情報を生成させてそれと関連した属性値を設定することによって（Ｓ７５０）、加工方式情報の生成段階（Ｓ７００）を完了する。このとき、関連属性値は加工戦略の種類ごとに異なり、加工実行段階内のブロック情報から得られる。
【００７４】
一方、工具の種類の判断段階（Ｓ７３０）で工具の種類が溝加工用工具である場合、加工方式を自動的に多段階溝加工方式（ｍｕｌｔｉｓｔｅｐ  ｇｒｏｏｖｉｎｇ  ｓｔｒａｔｅｇｙ）と認識して、前記加工方式情報の生成段階（Ｓ７５０）を遂行する。
【００７５】
以上で説明した本発明は、前述した実施形態及び添付した図面によって限定されず、本発明の技術的思想を外れない範囲内でさまざまな置き換え、変形及び変更が可能であるということは、当業者にとって明白である。
【産業上の利用可能性】
【００７６】
本発明によるＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法は、Ｇコード形式のパートプログラムをＳＴＥＰ−ＮＣ言語形式のパートプログラムに自動変換させるパートプログラム変換方法を提供することによって、産業現場で主に使われているＧコード形式のパートプログラムを別途の手作業なしにＳＴＥＰ−ＮＣ制御器に容易に適用させうる。
【００７７】
また、ＳＴＥＰ−ＮＣ言語形式のパートプログラムに慣れていないユーザーに以前の方式どおりプログラムを作成してＳＴＥＰ−ＮＣ制御器を駆動することができる方法を提供することによって、ＳＴＥＰ−ＮＣ制御器を最初に導入する段階にＳＴＥＰ−ＮＣ制御器に容易に適応させうる。
【図面の簡単な説明】
【００７８】
【図１】本発明によるＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法が適用される加工システムの構成を表わす図面である。
【図２】本発明の一実施形態によるＧコードからＳＴＥＰ−ＮＣパートプログラムに変換する方法のフローチャートである。
【図３】ブロック情報のデータ構造を表わす表である。
【図４】図２に図示された実行段階別の内部情報生成段階を詳しく表わしたフローチャートである。
【図５】図４に図示された加工工程情報の生成段階を詳しく表わしたフローチャートである。
【図６】工程種類別に荒削／仕上を判別する条件とその結果による細部工程の種類を表わす表である。
【図７】図４に図示された加工形状情報の生成段階を詳しく表わしたフローチャートである。
【図８】加工工程と輪郭構成要素によって加工形状をマッピングする方法を表わす表である。
【図９】ＳＴＥＰ−ＮＣデータモデルに定義されている外径用または内径用工具の切削刃角を表わす図面である。
【図１０】図９に図示された切削刃角と移送方向によって決定される切削刃を表わす図面である。
【図１１】溝加工用工具とドリル加工用工具との切削刃を表わす図面である。
【図１２】図４に図示された加工方式情報の生成段階を詳しく表わしたフローチャートである。
【符号の説明】
【００７９】
１０：入力情報    １１：Ｇコードパートプログラム    １２：工具情報                        １３：制御器情報    ３００：Ｇコード変換器    ４００：ＳＴＥＰ−ＮＣパートプログラム    ５００：ＳＴＥＰ−ＮＣシステム    ５１０：ＳＴＥＰ−ＮＣ制御器    ５２０：ＳＴＥＰ−ＮＣ保存部
【図１】
2009522682.tif 000003
【図２】
2009522682.tif 000004
【図３】
2009522682.tif 000005
【図４】
2009522682.tif 000006
【図５】
2009522682.tif 000007
【図６】
2009522682.tif 000008
【図７】
2009522682.tif 000009
【図８】
2009522682.tif 000010
【図９】
2009522682.tif 000011
【図１０】
2009522682.tif 000012
【図１１】
2009522682.tif 000013
【図１２】
2009522682.tif 000014
【国際調査報告】
2009522682.tif 000015
2009522682.tif 000016