(57)【要約】【課題】  不備のないテンプレートを簡単に作成することができるテンプレート作成装置を得ることを目的とする。【解決手段】  頂点の座標が確定している図形に編集コマンド（図形の編集方法を指定するキーワードと、変形量又は移動量などを指定するパラメータを含む）が設定されると、その編集コマンドにしたがって図形を編集し、編集後の図形の形状を表すテンプレートを作成するように構成した。これにより、形状が複雑な図形であっても、不備のないテンプレートを簡単に作成することができる。【選択図】        図１
2006048127.tif 000002
【特許請求の範囲】
【請求項１】
頂点の座標が確定している図形に編集コマンドを設定するコマンド設定手段と、上記コマンド設定手段により設定された編集コマンドにしたがって図形を編集する図形編集手段と、上記図形編集手段による編集後の図形の形状を表すテンプレートを作成するテンプレート作成手段とを備えたテンプレート作成装置。
【請求項２】
コマンド設定手段は、図形の編集方法を指定するキーワードを含む編集コマンドを設定することを特徴とする請求項１記載のテンプレート作成装置。
【請求項３】
コマンド設定手段は、図形の変形又は移動を指定する場合、変形量又は移動量を指定するパラメータを含む編集コマンドを設定することを特徴とする請求項２記載のテンプレート作成装置。
【請求項４】
コマンド設定手段は、変形量又は移動量を指定するパラメータが数式で表されている編集コマンドを設定することを特徴とする請求項３記載のテンプレート作成装置。
【請求項５】
図形編集手段は、図形の移動を指示するキーワードと、移動量を指定するパラメータとを含む編集コマンドが、その図形の内部に設定されている場合、その図形の全頂点の座標に当該移動量を加算することを特徴とする請求項３記載のテンプレート作成装置。
【請求項６】
図形編集手段は、図形の変形を指示するキーワードと、変形量を指定するパラメータとを含む編集コマンドが、その図形の任意の頂点に設定されている場合、その頂点の座標に当該変形量を加算することを特徴とする請求項３記載のテンプレート作成装置。
【請求項７】
図形編集手段は、線分の追加を指示するキーワードを含む編集コマンドが、矩形状の図形の一辺に設定されている場合、その一辺と平行な線分を図形の内部に追加することを特徴とする請求項２記載のテンプレート作成装置。
【請求項８】
図形編集手段は、図形の一辺の移動を指示するキーワードと、移動量を指定するパラメータとを含む編集コマンドが、その図形の一辺に設定されている場合、その一辺を当該移動量だけ移動することを特徴とする請求項３記載のテンプレート作成装置。
【請求項９】
図形編集手段は、移動対象の辺上に新たな頂点が指定されている場合、その頂点を起点とする線分を移動することを特徴とする請求項８記載のテンプレート作成装置。
【請求項１０】
図形編集手段は、同一グループに属する全ての図形の移動を指示するキーワードと、移動量を指定するパラメータとを含む編集コマンドが、そのグループの領域内に設定されている場合、全ての図形の全頂点の座標に当該移動量を加算することを特徴とする請求項３記載のテンプレート作成装置。
【請求項１１】
図形編集手段は、複数の図形を含むグループがアレイ配置されているとき、全ての図形の移動を指示するキーワードと、移動量を指定するパラメータとを含む編集コマンドが、アレイ配置領域内に設定されている場合、全ての図形の全頂点の座標に当該移動量を加算することを特徴とする請求項３記載のテンプレート作成装置。
【請求項１２】
図形編集手段は、編集コマンドを適用するレイヤが指定された場合、そのレイヤに存在する図形に当該編集コマンドを適用することを特徴とする請求項１記載のテンプレート作成装置。
【請求項１３】
図形編集手段は、複数の図形に共通する領域に編集コマンドが設定されている場合、複数の図形に当該編集コマンドを適用することを特徴とする請求項１記載のテンプレート作成装置。
【請求項１４】
テンプレート作成手段は、図形編集手段による編集後の複数の図形が同一形状であり、かつ、複数の図形がアレイ配置されている場合、複数の図形に対応する１つのテンプレートを作成することを特徴とする請求項１記載のテンプレート作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、半導体製造プロセスの一工程であるフォトリソグラフィを評価する際に使用するＴＥＧ（Ｔｅｓｔ  Ｅｌｅｍｅｎｔ  Ｇｒｏｕｐ）マスク生成用のテンプレートを作成するテンプレート作成装置に関するものである。
【背景技術】
【０００２】
半導体製造プロセスの一工程であるフォトリソグラフィは、有機薬品の光反応を利用して金属膜や絶縁膜を図形のパターンにする工程であり、半導体の微細構造を実現するために不可欠な技術である。
このフォトリソグラフィ工程における配線の幅や間隔などの条件を評価するため、ＴＥＧと呼ばれる評価専用のフォトマスクを用いて、様々な配線形状、配線幅、配線間隔のレイアウトにおけるリーク電流やしきい値電圧などの電気的特性を測定する。
そのため、ＴＥＧ用のフォトマスクとして、基本的な形状が同じ図形を、様々な幅と間隔でシステマチックに並べて描画する（例えば、特許文献１を参照）。
【０００３】
従来は、ＴＥＧ用のフォトマスクを次のようにして描画している。
まず、ユーザがテンプレート作成装置である計算機を操作することにより、基本図形であるドラフトを作成し、そのドラフトを見ながら図形のサイズ（高さ、幅）や、図形間の間隔を示すパラメータを任意に設定する。
ユーザは、上記のようにしてパラメータを設定すると、テンプレート作成装置である計算機を操作して、予め用意しているテンプレートに当該パラメータを人手で代入することにより、ＴＥＧマスク生成用のテンプレートを作成する。
テンプレート作成装置である計算機は、ＴＥＧマスク生成用のテンプレートにしたがってＴＥＧマスク描画用の図形パターンを自動的に生成する。
【０００４】
【特許文献１】特開平５−１２９４００号公報（段落番号［０００７］、図５）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
従来のテンプレート作成装置は以上のように構成されているので、ユーザが人手作業で図形のサイズや間隔を示すパラメータを代入してテンプレートを作成しなければならない。このため、ドラフトが単純な形状であれば、比較的簡単にテンプレートを作成することができるが、ドラフトの形状が複雑になると、テンプレートの作成に多くの手間を要するとともに、パラメータの誤入力に伴うテンプレートの不備を招くことがあるなどの課題があった。
【０００６】
この発明は上記のような課題を解決するためになされたもので、形状が複雑な図形であっても、不備のないテンプレートを簡単に作成することができるテンプレート作成装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係るテンプレート作成装置は、頂点の座標が確定している図形に編集コマンドが設定されると、その編集コマンドにしたがって図形を編集し、編集後の図形の形状を表すテンプレートを作成するようにしたものである。
【発明の効果】
【０００８】
この発明によれば、頂点の座標が確定している図形に編集コマンドが設定されると、その編集コマンドにしたがって図形を編集し、編集後の図形の形状を表すテンプレートを作成するように構成したので、形状が複雑な図形であっても、不備のないテンプレートを簡単に作成することができる効果がある。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１はこの発明の実施の形態１によるテンプレート作成装置を示す構成図であり、図において、マンマシンＩ／Ｆ１はユーザが編集コマンドを設定する際に使用するキーボードやマウスなどの入力機器である。
図形データベース２は各種の基本図形が登録されており、各種の基本図形の頂点の座標を格納しているメモリである。
【００１０】
コマンド設定部３はユーザがマンマシンＩ／Ｆ１を操作して、図形データベース２に登録されている基本図形の中から任意の図形を選択すると、その図形に対する編集コマンドの設定を受け付ける機能を備えている。
なお、マンマシンＩ／Ｆ１、図形データベース２及びコマンド設定部３からコマンド設定手段が構成されている。
【００１１】
図形編集部４はコマンド設定部３により設定された編集コマンドにしたがって図形を変形したり、移動したりするなどの編集処理を実施する。なお、図形編集部４は図形編集手段を構成している。
テンプレート作成部５は図形編集部４による編集後の図形の形状を表すテンプレートの作成処理を実施する。なお、テンプレート作成部５はテンプレート作成手段を構成している。
【００１２】
次に動作について説明する。
ＴＥＧ用のマスクに描画する図形は、実品種の電子回路のレイアウト図形とは異なり、図２と図３に示すように、図形の基本的な形状は同じで、ピッチだけが僅かずつ連続的に変化しているものである。
【００１３】
計算機を利用して、ＴＥＧ用のマスクを生成する場合、矩形Ｐ１の左下の頂点が原点に配置されている図形の形状を数式で表現しているテンプレートを生成する（図４を参照）。図４におけるＬ，Ｓ，Ｈはパラメータである。
そして、図４のテンプレートに使用されているパラメータＬ，Ｓ，Ｈに対して値をシステマチックに割り付け（図５及び図６を参照）、計算機が当該テンプレートにしたがってＴＥＧ用のマスクに描画する図形を自動的に生成する方法が有効である。
【００１４】
ここで、図７は従来のＴＥＧ用マスクの図形生成手順をまとめたものである。
まず、ユーザがどのようなＴＥＧ用のマスクを生成するかを考えて、基本図形であるドラフトを人手で作成し（図３を参照）、ユーザがドラフトを見ながら図４のテンプレートを人手で作成する。
そして、ユーザが図４のテンプレートに対して、パラメータＬ，Ｓ，Ｈの値を代入する（図５及び図６を参照）。
これにより、計算機が当該テンプレートにしたがって図２のＴＥＧ用のマスクを自動的に生成する。
【００１５】
しかしながら、このような手順でＴＥＧ用のマスクを生成する場合、ＴＥＧ用のマスクが図２のような単純な形状であれば、そのマスク生成用のテンプレートを比較的容易に作成することができるが、ＴＥＧ用のマスクが図８のような複雑な形状であれば、そのマスク生成用のテンプレートの作成に多くの手間を要する。
【００１６】
そこで、この実施の形態１では、次のようにして、テンプレートの作成の容易化を図っている。
図形データベース２には、形状が固定の基本図形（各頂点の座標値が一意に確定している図形）が登録されているので、ユーザがマンマシンＩ／Ｆ１を操作して、図形データベース２に登録されている基本図形の中から任意の図形を選択する。例えば、図９に示すような基本的な図形を選択する。
【００１７】
ユーザは、図形データベース２に登録されている基本図形の中から任意の図形を選択すると、マンマシンＩ／Ｆ１を操作して、その図形に適用する編集コマンドを決定する。
コマンド設定部３は、ユーザが図形に適用する編集コマンドを決定すると、その図形に編集コマンドを設定する。
編集コマンドの内容については後述する。
【００１８】
図形編集部４は、コマンド設定部３が図形に編集コマンドを設定すると、その編集コマンドにしたがって図形を変形したり、移動したりするなどの編集処理を実施する。
図形の編集処理については後述する。
テンプレート作成部５は、図形編集部４が図形の編集処理を実施すると、図形編集部４による編集後の図形の形状を表すテンプレートを作成する。
テンプレートの作成処理については後述する。
【００１９】
以下、編集コマンドについて詳述する。
編集コマンドは、図形の編集方法（例えば、図形の変形、移動、線分の追加など）を指定するキーワードを含み、また、図形の変形量や移動量などを指定するパラメータを含んでいる。
図形の変形や移動等を実施するに際して、各種の変形方法や移動方法等が考えられるが、この実施の形態１では、以下の７種類の編集コマンドを用意している。
（１）ＰＯ（Ｐｏｌｙｇｏｎ  Ｏｆｆｓｅｔ）
（２）ＶＯ（Ｖｅｒｔｅｘ  Ｏｆｆｓｅｔ）
（３）ＣＬ（ＣＬｉｐｌｉｎｅ  ｓｅｔｔｉｎｇ）
（４）ＥＤ（Ｅｄｇｅ  Ｄｉｖｉｄｅ）
（５）ＥＳ（Ｅｄｇｅ  Ｓｈｉｆｔ）
（６）ＲＯ（Ｒｅｆｅｒｅｎｃｅ  Ｏｆｆｓｅｔ）
（７）ＡＰ（Ａｒｒａｙ  Ｐｒｏｐｅｒｔｙ）
【００２０】
編集コマンドの文字列の記述方法は、次の通りである。
編集コマンドの先頭の２文字が、編集コマンドのキーワードであり、そのキーワードに続く引数がパラメータであって、区切り文字で区切って記述する。
ここでは説明の便宜上、アンダースコア“＿”が区切り文字に設定されているものとする。ただし、アンダースコア“＿”が区切り文字に設定された場合、変数名の一部としてアンダースコアを使うことはできない。
例えば、編集コマンドの文字列が下記のように記述された場合、「−Ｓ」と「０.２５」が引数となる。
ＰＯ＿−Ｓ＿０.２５
【００２１】
引数には、具体的な数値の他、変数、若しくは、変数を使った数式を記述することができる。
例えば、四則演算を表す記号（＋、−、＊、／）や、演算の優先順位を表す（）や、ＩＮＴ演算などの数式を記述することができる。ＩＮＴ演算とは、小数点以下を切り捨てる演算のことである。
【００２２】
以下、上記（１）〜（７）の編集コマンドについて説明する。
（１）ＰＯ（Ｐｏｌｙｇｏｎ  Ｏｆｆｓｅｔ）
ＰＯコマンドは、１つの多角形の全頂点にオフセットをかけることにより、図形を全体的に移動するためのコマンドである。
・適用対象  ：多角形
・キーワード：ＰＯ
・引数      ：多角形の全頂点の座標値に対する加算値
【００２３】
ＰＯコマンドを設定する場合、ユーザがマンマシンＩ／Ｆ１を操作して、編集対象の多角形（例えば、図９及び図１０の多角形）の内部に設定し（多角形の内部であれば、どの場所でもよいが、多角形の外部、あるいは、辺上や頂点上に設定された場合には、ＰＯコマンドは無効である。また、多角形が線分（面積が０）の場合にも、ＰＯコマンドは無効である。）、コマンド設定部３が設定内容を受け付けると、図形編集部４が編集コマンドにしたがって多角形を編集する。
即ち、ＰＯコマンドの引数で与えられる加算値（または変数）を多角形の全頂点の座標値に加算することにより、多角形の形状を変更することなく、多角形を移動する。
【００２４】
ＰＯコマンドと記述形式は、下記の通りである。
・記述形式
ＰＯ＿Ｘ方向の移動量＿Ｙ方向の移動量
・記述例
ＰＯ＿２５＿５０
ＰＯ＿（−２＊Ｘｏ）＿Ｙｏ／４.５
ＰＯ＿−Ｗ／２.５＿Ｈ＋４.５
【００２５】
以下、ＰＯコマンドが設定された場合の具体例を説明する。
ここでは、適用対象の多角形の頂点は以下に示す座標値を有するものとする。
POLYGON
頂点数
Ｘ０座標  Ｘ１座標  Ｘ２座標  …  Ｘｎ座標
Ｙ０座標  Ｙ１座標  Ｙ２座標  …  Ｙｎ座標
【００２６】
例えば、適用対象の多角形が図９の多角形であり（Ａ〜Ｆは多角形の頂点）、その多角形の内部にＰＯコマンドとして、ＰＯ＿１２＿１５が設定されているものとする。また、多角形の頂点Ａ〜Ｆが次の通りであるとする。
Ａ（０．０，０．０）
Ｂ（０．０，４．０）
Ｃ（１．０，４．０）
Ｄ（１．０，２．０）
Ｅ（２．０，２．０）
Ｆ（２．０，０．０）
【００２７】
図形編集部４が上記のＰＯコマンドを図９の多角形に適用すると、テンプレート作成部５により生成されるテンプレートは次のようになる。
POLYGON
6
[0.0+(12)]  [0.0+(12)]  [1.0+(12)]  [1.0+(12)]  [2.0+(12)]  [2.0+(12)]
[0.0+(15)]  [4.0+(15)]  [4.0+(15)]  [2.0+(15)]  [2.0+(15)]  [0.0+(15)]
【００２８】
また、適用対象の多角形が図１０の多角形であり（Ａ〜Ｆは多角形の頂点）、その多角形の内部にＰＯコマンドとして、移動量に数式が用いられているＰＯ＿（Ｐｘ＋５）／２＿Ｐｙが設定されている場合は、数式の記述をそのままテンプレートの各頂点座標の値に加えるようにする。
POLYGON
6
[0.0+((Px+5)/2)]  [0.0+((Px+5)/2)]  [1.0+((Px+5)/2)]  [1.0+((Px+5)/2)]
[0.0+(Py)]        [4.0+(Py)]        [4.0+(Py)]        [2.0+(Py)]
：
[2.0+((Px+5)/2)]  [2.0+((Px+5)/2)]
[2.0+(Py)]        [0.0+(Py)]
【００２９】
また、図１１に示すように、ＰＯコマンドの設定位置が複数の多角形の内部にあり、複数の多角形がＰＯコマンドの処理対象の図形であれば、複数の多角形にＰＯコマンドを適用する。処理対象とする多角形の設定方法については後述する。
さらに、図１２に示すように、１つ多角形に複数のＰＯコマンドが設定されており、かつ、複数のＰＯコマンドが同じ多角形を処理対象としている場合は、１つの多角形に対して複数のＰＯコマンドを適用する。
【００３０】
（２）ＶＯ（Ｖｅｒｔｅｘ  Ｏｆｆｓｅｔ）
ＶＯコマンドは、１つの多角形の１つの頂点のみにオフセットをかけることにより、図形を変形するためのコマンドである。
・適用対象  ：多角形
・キーワード：ＶＯ
・引数      ：多角形の１つの頂点の座標値に対する加算値
【００３１】
ＶＯコマンドを設定する場合、ユーザがマンマシンＩ／Ｆ１を操作して、編集対象の多角形（例えば、図１３の多角形）の任意の頂点に設定し、コマンド設定部３が設定内容を受け付けると、図形編集部４が編集コマンドにしたがって多角形を編集する。
即ち、ＶＯコマンドの引数で与えられる加算値（または変数）を設定した頂点の座標値に加算することにより、多角形の１つの頂点だけを移動する。
【００３２】
ＶＯコマンドの記述形式は、下記の通りである。
・記述形式
ＶＯ＿Ｘオフセット値＿Ｙオフセット値
・記述例
ＶＯ＿１２＿２４
ＶＯ＿（−２＊Ｘｏ）＿Ｙｏ／４．５
ＶＯ＿−Ｗ／２.５＿Ｈ＋４.５
【００３３】
以下、ＶＯコマンドが設定された場合の具体例を説明する。
例えば、適用対象の多角形が図１３の多角形であり（Ａ〜Ｆは多角形の頂点）、その多角形の頂点ＡにＶＯコマンドとして、ＶＯ＿Ｐｘ＿Ｐｙが設定されているものとする。
図形編集部４が上記のＶＯコマンドを図１３の多角形に適用すると、テンプレート作成部５により生成されるテンプレートは次のようになる。
POLYGON
6
[0.0+(Px)]  [0.0]  [1.0]  [1.0]  [2.0]  [2.0]
[0.0+(Py)]  [4.0]  [4.0]  [2.0]  [2.0]  [0.0]
【００３４】
なお、ＶＯコマンドが複数の多角形の頂点上に設定され、これらの多角形がＶＯコマンドの処理対象の図形であれば、複数の多角形にＶＯコマンドを適用する。
また、１つ多角形に対して複数のＶＯコマンドが設定されており、かつ、複数のＶＯコマンドが同じ多角形を処理対象としている場合は、１つ多角形の頂点に対して複数のＶＯコマンドを適用する。
【００３５】
（３）ＣＬ（ＣＬｉｐｌｉｎｅ  ｓｅｔｔｉｎｇ）
ＣＬコマンドは、長方形の長辺又は短辺と同じ長さの線分を、その長辺又は短辺と平行になるように、その長方形の内部に追加するためのコマンドである。
・適用対象  ：長方形
・キーワード：ＣＬ
・引数      ：ＣＬコマンドが設定された一辺からの距離
【００３６】
ＣＬコマンドを設定する場合、ユーザがマンマシンＩ／Ｆ１を操作して、編集対象の長方形（例えば、図１４の長方形）の任意の一辺に設定し、コマンド設定部３が設定内容を受け付けると、図形編集部４が編集コマンドにしたがって長方形を編集する。
即ち、ＣＬコマンドが設定された辺から、引数で指定された距離Ｌ，Ｈだけ離れた長方形の内部の位置に、その辺と平行な線分を配置する。ただし、その線分の両端が長方形の辺上にくるように配置する（長方形からはみ出さないように線分を配置する）。
【００３７】
ＣＬコマンドの記述形式は、下記の通りである。
・記述形式
ＣＬ＿ＣＬコマンドが設定された一辺からの距離
・記述例
ＣＬ＿Ｌ
ＣＬ＿Ｈ
【００３８】
（４）ＥＤ（Ｅｄｇｅ  Ｄｉｖｉｄｅ）
ＥＤコマンドは、多角形の辺上の任意の場所に頂点を新規に設定するためのコマンドである。
・適用対象  ：多角形
・キーワード：ＥＤ
・引数      ：なし
【００３９】
ＥＤコマンドを設定する場合、ユーザがマンマシンＩ／Ｆ１を操作して、編集対象の多角形（例えば、図１５の多角形）の任意の一辺に設定し、コマンド設定部３が設定内容を受け付けると、図形編集部４が編集コマンドにしたがって多角形を編集する。
即ち、ＥＤコマンドが設定された辺に頂点を新規に設定する。例えば、Ｎ角形の図形の任意の一辺にＥＤコマンドを１つ設定すれば、Ｎ＋１角形の図形に変更することになるが、ＥＤコマンドを設定するだけでは、図形の形状は変更されず、後述するＥＳコマンドが設定されたとき、ＥＳコマンドとの組み合わせで図形の形状が変更される。したがって、ＥＤコマンドを単独で設定しても意味がない。
【００４０】
ＥＤコマンドの記述形式は、下記の通りである。
・記述形式
ＥＤ
・記述例
ＥＤ
【００４１】
（５）ＥＳ（Ｅｄｇｅ  Ｓｈｉｆｔ）
ＥＳコマンドは、多角形における２つ頂点間の線分を移動することにより、図形を変形するためのコマンドである。
・適用対象  ：多角形
・キーワード：ＥＳ
・引数      ：線分の移動量
【００４２】
ＥＳコマンドを設定する場合、ユーザがマンマシンＩ／Ｆ１を操作して、編集対象の多角形（例えば、図１５の多角形）の任意の一辺に設定し、コマンド設定部３が設定内容を受け付けると、図形編集部４が編集コマンドにしたがって多角形を編集する。
即ち、ＥＳコマンドが設定された辺（多角形のオリジナルの頂点間を結ぶ線分、または、ＥＤコマンドにより設定された頂点間を結ぶ線分）を、引数で指定された移動量（シフト方向と幅）だけ、Ｘ軸又はＹ軸と並行な方向にずらすことにより、多角形の形状を変更する。
ただし、線分をＸ軸又はＹ軸の正方向にずらす場合は、シフト幅を正の値で記述し、負方向にずらす場合は負の値で記述する。また、シフト幅は具体的な数値だけでなく、変数を指定することもできる。この場合、辺の移動方向は、テンプレートの変数に具体的な数値を代入して得られる計算結果による。図１５は、変数Ｓｘに代入された値が正の値である場合の例である。
【００４３】
ＥＳコマンドの記述形式は、下記の通りである。
・記述形式
ＥＳ＿シフト方向と幅
・記述例
ＥＳ＿２５
ＥＳ＿（−２＊ＷＤ）
ＥＳ＿−Ｓ／５.０
【００４４】
以下、ＥＤコマンドとＥＳコマンドが設定された場合の具体例を説明する。
最初に、ＥＤコマンドとＥＳコマンドを説明するために必要となる用語を定義する。
（定義１）オリジナル固定頂点（ＯＲ固定頂点）
本節で説明するコマンドの処理対象となる多角形の頂点のことである。
（定義２）ＥＤ固定頂点
ＥＤコマンドにより設定された点のことである。
（定義３）ＥＳ点
ＥＳコマンドが設定された点である。ＥＳコマンドは多角形の辺上になければならず、辺上にない場合には、ＥＳコマンドは無効である。
（定義４）ＥＳ移動頂点
多角形の辺上に設定されたＥＳ点から、この辺上を探索してＥＤ固定頂点に到達したとき、そのＥＤ固定頂点上に打つ頂点のことである。ただし、ＥＳ移動頂点の方をＥＳ点寄りに設定する。
【００４５】
図形編集部４は、コマンド設定部３によりＥＳコマンドが設定された場合、以下の調査を実施して、ＥＳコマンドが有効であるか否かを判定する。
・ＥＳ点が設定された場所が、多角形の辺上であるか否かを調査し、辺上でなければ、ＥＳコマンドが無効であると判定する。
・ＥＳ点が設定された場所を起点として、辺の両方向を探索して、ＥＤ固定頂点又はＯＲ固定頂点がそれぞれの方向にあるか否かを調査し、それぞれの方向になければ、ＥＳコマンドが無効であると判定する。
・図１６に示すように、ＥＤ固定頂点又はＯＲ固定頂点で切られる辺上に、ＥＳ点が２点以上設定することはできないものとする。
・ＥＤ固定頂点とＥＳ点は、同じ場所には設定できないものとする。
【００４６】
図形編集部４が上記の調査を実施して、ＥＳコマンドが有効であると判定すると、以下に示す編集処理を実施する。
（ａ）ＥＤ固定頂点−ＥＳ点−ＥＤ固定頂点の組が、多角形の辺上に単独で設定されている場合
ここでは、図１７に示すように、多角形の辺の途中にＥＤ固定頂点が２つあり、この２点間にＥＳ点が挟まれている場合の処理について説明する。
図形編集部４は、図１８に示すように、ＥＤコマンドが設定されている２箇所の位置（ＥＤ固定頂点が打たれた場所）に、ＥＳ移動頂点を設定する。このとき、点の並びはＥＳ移動頂点がＥＳ点側になるようにする。即ち、図１８の上側からＥＤ固定頂点、ＥＳ移動頂点、ＥＳ点、ＥＳ移動頂点、ＥＤ固定頂点の順に設定する。ＥＳ移動頂点を設定した結果、ＥＳ点が２つのＥＳ移動頂点に挟まれる。
図形編集部４は、図１９に示すように、ＥＳ移動頂点にＥＳコマンドで設定されたシフト量Ｓｘを加えることにより、シフト量Ｓｘだけ辺の一部分を移動させる。
テンプレート作成部５は、シフト量Ｓｘだけ辺の一部分が移動された図１９の多角形の頂点を示すテンプレートを作成する。
【００４７】
（ｂ）ＥＤ固定頂点−ＥＳ点−ＥＤ固定頂点の組が、多角形の辺上に隣接して設定されている場合
ここでは、ＥＳ点から検索を始めて最初に見つかったＥＤ固定頂点を処理対象とする。図２０に示すように、ＥＤ固定頂点を２つのＥＳ点で共有してもよい。
図２０において、前項（ａ）で説明したように、ＥＤ固定頂点上にＥＳ移動頂点を追加する。上下のＥＳ点で共有しているＥＤ固定頂点上には、ＥＳ移動頂点が２つ打たれることになる。このとき、辺の上からの点の並びは、図２１に示すように、ＥＤ固定頂点、ＥＳ移動頂点、ＥＳ点、ＥＳ移動頂点、ＥＤ固定頂点、ＥＳ移動頂点、ＥＳ点、ＥＳ移動頂点、ＥＳ固定頂点の順になる。
【００４８】
図２２は辺上に設定したＥＳ移動頂点をシフトさせたものである。ただし、図２２（ｂ）に示すように、２つの線分を同一の方向に移動させると、３つあるＥＤ固定頂点のうちの真中の頂点と、その前後にあるＥＳ固定頂点との間で線分の重なりが起こる。この問題を回避するため、ＥＳ移動頂点、ＥＤ固定頂点、ＥＳ移動頂点の３つが同じ場所に設定された場合は、ＥＤ固定頂点を削除する。この結果、図２２は最終的に図２３のようになる。
この例のように、ＥＤ固定頂点を削除するのは、２つのＥＳ移動頂点と、１つのＥＤ固定頂点が同じ場所に設定される場合である。図２４のように、２つのＥＤ点によってＥＤ固定頂点の共有が起こらない場合には、ＥＤ固定頂点を削除する処理は実施しない。なお、図２２（ａ）では、２つの線分を異なる方向に移動させているので、２つの線分の重なりは起こらない。
【００４９】
（ｃ）ＥＤ固定頂点−ＥＳ点−ＥＤ固定頂点の複数の組が、多角形の辺上に離れて設定されている場合
この場合、ＥＳコマンドによる辺の一部を引き出し／押し込みする処理は、図２５のようになる。
以上で、ＥＳ点の両端がＥＤ固定頂点である場合の説明は終りである。
【００５０】
ＥＳ点の片方の端がＯＲ固定頂点で、もう一方の端がＥＤ固定頂点である場合の説明は、下記の（ｄ）以降である。
（ｄ）ＯＲ固定頂点−ＥＳ点−ＥＤ固定頂点の組が、多角形の辺上に設定されている場合
図２６に示すように、ＥＳ点を設定した場所の両端の固定頂点のうち、一方がＯＲ固定頂点であり、もう一方がＥＤ固定頂点である場合、ＥＤ固定頂点側にだけ、ＥＳ移動頂点を設定し、ＯＲ固定頂点側にはＥＳ移動頂点を設定しない。このとき、ＯＲ固定頂点に対しては、頂点そのものをＥＳコマンドで指定されたシフト量だけ移動させる。
図２６において、ＥＳ点による辺の移動方向がＸ軸の正方向であるとすると、ＥＤ固定頂点上に設定されたＥＳ移動頂点は右側に移動する。また、ＯＲ固定頂点には直接オフセットをかけて右側に頂点を移動させる。この結果、元の図形は、図２７に示すような形状に変形される。
【００５１】
（ｅ）ＯＲ固定頂点−ＥＳ点−ＯＲ固定頂点の組が、多角形の辺上に設定されている場合
図２８に示すように、ＥＳ点を設定した場所の両方の固定頂点がＯＲ固定頂点である場合、ＥＳ移動頂点を設定せずに、ＯＲ固定頂点をＥＳコマンドで指定されたシフト量だけ移動させる。
図２８において、ＥＳコマンドのシフト量の指定が負の値である場合、変形後の図形の形状は図２９のようになる。
【００５２】
（ｆ）ＯＲ固定頂点−ＥＳ点−ＯＲ固定頂点の組が、隣接して設定されている場合
図３０に示すように、ＥＳ点を設定した場所の両方の固定頂点がＯＲ固定頂点であり、かつ、この組み合せが隣接している場合には、ＯＲ固定頂点を共有することになる。
この場合、共有している点がＯＲ固定頂点であるため、ＥＳ移動頂点を設定せずに、ＯＲ固定頂点のＸ座標値とＹ座標値に対して、２つのＥＳコマンドで指定されたシフト量をそれぞれ独立して移動量を加えることにより、Ｘ軸又はＹ軸の方向に移動させる。
この結果、変形後の図形の形状は図３１のようになる。
【００５３】
（ｇ）ＯＲ固定頂点−ＥＳ点−ＯＲ固定頂点の組が、離れて設定されている場合
図３２に示すように、ＥＳ点を設定した場所の両方の固定頂点がＯＲ固定頂点であり、かつ、この組み合せが離れた場所に設定されている場合には、ＯＲ固定頂点の共有は起こらない。
この場合、ＥＳ点が設定されている辺をＸ方向に移動させる。図３３に示すように、ＯＲ固定頂点ＯｂとＯＲ固定頂点ＯｃとのＸ座標値の大小関係が入れ替わることがあるが、この場合でも、矛盾なく図形を変形させることができる。
【００５４】
図３４は上記（ａ）〜（ｅ）のＥＳコマンドによる図形の変形例を示している。
図３４（ｄ）（ｅ）に示すハンマーヘッドの例では、ＥＳコマンドが２つの長方形の辺が重なった状態になっている上に設定されている。このような場合、２つの辺の両方に対してＥＳコマンドが働くため、結果としてハンマーのヘッドと柄の部分を連動して動かすことができる。
また、図３５に示すように、多角形の頂点を挟んで両側にコマンドが設定された場合であっても、図形を変形することができる。
【００５５】
（６）ＲＯ（Ｒｅｆｅｒｅｎｃｅ  Ｏｆｆｓｅｔ）
ＲＯコマンドは、同一グループに属する全ての多角形の全頂点にオフセットをかけることにより、全ての多角形をまとめて移動するためのコマンドである。
・適用対象  ：グルーピングされたすべての多角形
・キーワード：ＲＯ
・引数      ：移動量
【００５６】
ＲＯコマンドを設定する場合、ユーザがマンマシンＩ／Ｆ１を操作して、複数の図形を含むグループの領域（グルーピングされた多角形を囲む最小矩形）内に設定し（例えば、図３６の矩形）、コマンド設定部３が設定内容を受け付けると、図形編集部４が編集コマンドにしたがって図形を編集する。
即ち、ＲＯコマンドが設定されたグループに属する全ての多角形の全頂点の座標に、引数で指定された移動量を加算することにより、同一グループに属する全ての多角形をまとめて移動する。
なお、グルーピングされた多角形を囲む最小矩形の外部や線分上に設定された場合、ＲＯコマンドは無効である。また、グルーピングされた多角形群に対して回転や反転の指定がある場合、これらの回転や反転の処理を実施した後の多角形を囲む矩形が最小矩形となる。
【００５７】
ＲＯコマンドの記述形式は、下記の通りである。
・記述形式
ＲＯ＿Ｘオフセット値＿Ｙオフセット値
・記述例
ＲＯ＿２５＿５０
ＲＯ＿−２.５＊Ｓ＿（Ｔ＋２.８）＊（−３）
【００５８】
（７）ＡＰ（Ａｒｒａｙ  Ｐｒｏｐｅｒｔｙ）
ＡＰコマンドは、複数の多角形を含むグループがアレイ配置されているとき、複数のグループに属する全ての多角形の全頂点にオフセットをかけることにより、全ての多角形をまとめて移動するためのコマンドである。また、ＡＰコマンドは、必要があれば、グループとしてのＸ方向とＹ方向のアレイ配置数を変えることができる。
・適用対象  ：アレイ配置されている複数のグループに属する全ての多角形
・キーワード：ＡＰ
・引数      ：全頂点の座標値に対する加算値、Ｘ／Ｙ方向への配置個数と配置ピッチ
【００５９】
ＡＰコマンドを設定する場合、ユーザがマンマシンＩ／Ｆ１を操作して、複数のグループがアレイ配置されているアレイ配置領域内に設定し（例えば、図３７及び図３８の領域）、コマンド設定部３が設定内容を受け付けると、図形編集部４が編集コマンドにしたがって図形を編集する。なお、図３７は図３６の図形を２×３で配置したものである。
即ち、ＡＰコマンドが設定されたアレイ配置領域内に存在するグループに属する全ての多角形の全頂点の座標に、引数で指定された移動量を加算することにより、複数のグループに属する全ての多角形をまとめて移動する。
なお、ＡＰコマンドを設定することにより、グループのＸ／Ｙ方向の配置個数と配置ピッチを再設定することができる。即ち、グループのＸ個数、Ｘピッチ、Ｙ個数、Ｙピッチを指定することにより、複数のグループのアレイ配置を設定することができる。
【００６０】
ＡＰコマンドの記述形式は、下記の通りである。
・記述形式
ＡＰ＿Ｘ方向移動量＿Ｙ方向移動量＿Ｘ方向配置個数＿Ｘ方向配置ピッチ
＿Ｙ方向配置個数＿Ｙ方向配置ピッチ
・記述例
ＡＰ＿２５＿５０＿３＿１０＿５＿８
ＡＰ＿Ｘｏ＿Ｙｏ＿＊＿＊＿＊＿＊
ＡＰ＿Ｘｏ＿Ｙｏ＿５＿＊＿８＿＊
【００６１】
以下、ＡＰコマンドが設定された場合の具体例を説明する。
コマンド設定部３は、図３８に示すように、グルーピングされた多角形群をアレイ展開したときに、展開後の多角形を囲む最小矩形の内部にＡＰコマンドを設定する。
図形編集部４は、コマンド設定部３がＡＰコマンドを最小矩形の内部に設定すると、ＡＰコマンドで指定された「Ｘ方向の移動量」と「Ｙ方向の移動量」で指定された量だけ、最小矩形で囲まれたすべての多角形を移動させる。
【００６２】
必要があれば、グルーピングされた状態での配置個数と配置ピッチを変更することができる。配置個数と配置ピッチの変更は、多角形の移動処理を実施する前に実行する。
例えば、図３８の図形に対するＡＰコマンドとして、ＡＰ＿Ｓｘ＿Ｓｙ＿２＿Ｐｘ＿３＿Ｐｙが設定されている場合、このＡＰコマンドを適用した第一段階の処理結果は、図３９に示すように、配置個数と配置ピッチが変更された状態になる。
この後、図形編集部４が全ての多角形を、ＡＰコマンドで指定された移動量Ｓｘ，Ｓｙだけ移動する。この結果、最終的な多角形の配置は図４０のようになる。
図４０は移動量Ｓｘ，Ｓｙに負の値が指定された場合の多角形の移動を表している。
【００６３】
以上で明らかなように、この実施の形態１によれば、頂点の座標が確定している図形に編集コマンドが設定されると、その編集コマンドにしたがって図形を編集し、編集後の図形の形状を表すテンプレートを作成するように構成したので、形状が複雑な図形であっても、不備のないテンプレートを簡単に作成することができる効果を奏する。
【００６４】
実施の形態２．
複数の図形が複数のレイヤ（層）に配置される場合がある。
この実施の形態２では、複数の図形が複数のレイヤに配置されている場合においても、コマンドを図形に適用できるようにするため、コマンドを適用する図形の設定方法について説明する。
【００６５】
この実施の形態２では、コマンドを適用する図形のレイヤを指定する場合、レイヤ番号とデータイプ番号という２つの整数が組み合わされている文字列を使用する。この文字列は、レイヤ番号とデータイプ番号の間に“Ｔ”を挟んで、レイヤ番号とデータイプ番号を区別している。
ただし、レイヤ番号及びデータイプ番号として使用することができる数は、ともに０以上の整数である。
【００６６】
・記述形式
レイヤ番号Ｔデータタイプ番号
・記述例
２Ｔ１
ただし、データタイプ番号は、必要がなければ省略することができる。この場合、“Ｔ”は使用せずに、レイヤ番号だけを単独で記述する。
・記述例
２
【００６７】
コマンドが適用される図形を設定するには、テンプレート生成用のコマンドにレイヤを１つ指定した上で、このコマンドを適用する図形が存在するレイヤを指定する。１つのコマンドを、複数のレイヤに存在する図形に適用することができる。ただし、ＲＯコマンドやＡＰコマンドには、レイヤの概念を適用せず、コマンドが設定されている場所が、先に説明した最小矩形の内部であるか否かによってのみ適用するか否かを決定する。
【００６８】
レイヤの指定は、“ＴＥＸＴＬＡＹＥＲ”レコードとしてファイルに記述する。
即ちは、キーワードとして“ＴＥＸＴＬＡＹＥＲ”を記述し、一旦改行した後に、具体的なレイヤをキーワードの次の行から書き始める。レイヤは複数指定することができ、この場合、レイヤを複数行記述する。
・記述形式
TEXTLAYER（改行）
コマンドが記述されているレイヤ  図形の存在するレイヤ１  図形の存在するレイヤ２・・・
・記述例
TEXTLAYER
３  １  ２
【００６９】
“ＴＥＸＴＬＡＹＥＲ”レコードの設定が省略された場合には、デフォルトの設定として、コマンドが記述されているレイヤと、そのコマンドが適用される図形が存在するレイヤが同じであるとする。
また、“ＴＥＸＴＬＡＹＥＲ”レコードにおける指定が１行である場合には、その行で指定されたレイヤにある図形にだけコマンドを適用し、それ以外のレイヤにあるＴＥＸＴレコードと図形に対してはコマンドを適用しない。
【００７０】
また、レイヤ番号だけの記述と、レイヤ番号とデータタイプ番号の組み合せによる記述の両者が存在する場合、これらは異なるレイヤの指定として取り扱う。ただし、データタイプの番号が０である場合のみ、データタイプ番号が省略されたものと等価であるとして扱う。
例えば、２Ｔ０は、２と等価であるとし、２Ｔ１や２Ｔ２は２と等価ではない。
【００７１】
「コマンドのレイヤ」で指定されるレイヤが同一の行に複数あってもよい。
即ち、コマンドのレイヤ設定と、このコマンドが適用される図形のレイヤ設定の組み合せが重複していてもよい。
TEXTLAYER
３  １  ２
３  ４  １
上記の例では、「３  ４  １」の行のコマンドと、図形のレイヤの組み合せ（３  １）が直上の行の設定と重複しているので、（３  １）の設定は、“ＴＥＸＴＬＡＹＥＲ”レコード全体で１回だけであったものとして処理する。
【００７２】
上記の内容を明確にするため、以下、図を参照して具体的に説明する。
図４１の例ではレイヤ１，２，３，５に多角形が存在し、これらの多角形をＰ１，Ｐ２，Ｐ３，Ｐ５とする。また、レイヤ２，４にはＰＯコマンドが設定されており、これらのＰＯコマンドをＣ２，Ｃ４とする。２つのＰＯコマンドＣ２，Ｃ４が設定されている座標は、どちらもすべての多角形の内部にあるものとする。
このとき、“ＴＥＸＴＬＡＹＥＲ”レコードの設定により、ＰＯコマンドＣ２，Ｃ４がどのように適用されるかを説明する。
【００７３】
（１）ケース１
TEXTLAYER
４  ５
この場合、レイヤ４に設定されたＰＯコマンドＣ４が、レイヤ５に存在する多角形Ｐ５に適用される。レイヤ５以外に存在する多角形には、ＰＯコマンドＣ４が適用されない。
【００７４】
（２）ケース２
TEXTLAYER
４  １  ３  ５
この場合、レイヤ４に設定されたコマンドＣ４が、レイヤ１，３，５に存在する多角形Ｐ１，Ｐ３，Ｐ５に適用される。レイヤ２に存在する多角形Ｐ２には、ＰＯコマンドＣ４が適用されない。
【００７５】
（３）ケース３
TEXTLAYER
４  ２
この場合、レイヤ４に設定されたコマンドＣ４が、レイヤ２に存在する多角形Ｐ２に適用される。レイヤ２以外に存在する多角形には、ＰＯコマンドＣ４が適用されない。多角形Ｐ２と同じレイヤにＰＯコマンドＣ２があるが、ＰＯコマンドＣ２はどの多角形にも適用されない。
【００７６】
（４）ケース４
TEXTLAYER
２  １  ３
この場合、レイヤ２に設定されたコマンドＣ２が、レイヤ１，３に存在する多角形Ｐ１，Ｐ３に適用される。レイヤ２に存在する多角形Ｐ２には、コマンドＣ２が適用されない。
【００７７】
（５）ケース５
TEXTLAYER
２  １  ３
４  ２  ５
この場合、レイヤ２に設定されたコマンドＣ２が、レイヤ１，３に存在する多角形Ｐ１，Ｐ３に適用される。また、レイヤ４に設定されたコマンドＣ４が、レイヤ２，５に存在する多角形Ｐ２，Ｐ５に適用される。レイヤ２に存在する多角形Ｐ２には、コマンドＣ２が適用されない。
【００７８】
（６）ケース６
TEXTLAYER
２  １  ３
４  １  ５
この場合、レイヤ２に設定されたコマンドＣ２が、レイヤ１，３に存在する多角形Ｐ１，Ｐ３に適用される。また、レイヤ４に設定されたコマンドＣ４が、レイヤ１，５に存在する多角形Ｐ１，Ｐ５に適用される。レイヤ１に存在する多角形Ｐ１には、コマンドＣ２，Ｃ４の両方が適用される。
【００７９】
（７）ケース７
“ＴＥＸＴＬＡＹＥＲ”レコードがない場合、以下に示すようなデフォルトの設定が行われる
TEXTLAYER
１  １
２  ２
３  ３
４  ４
５  ５
この場合、あるレイヤに設定されたコマンドは、同じレイヤに存在する図形に適用される。この結果、レイヤ２に設定されたコマンドＣ２は、レイヤ２に存在する多角形Ｐ２に適用される。
なお、ＰＯコマンドが図形に対して有効であるか否かは、“ＴＥＸＴＬＡＹＥＲ”レコードによるレイヤの設定の他、ＰＯコマンドが設定されている場所と図形の位置関係を調べなければならない。
【００８０】
実施の形態３．
上記実施の形態１，２では、特に言及していないが、テンプレート作成部５により作成されるテンプレートは、ＴＥＧ用のマスクに描画する図形を生成するためのものであるから、テンプレートを作成する際、マスク製作時の位相と透過率を設定できるようにする。
この実施の形態３では、位相と透過率の設定方法について説明する。
【００８１】
透過率と位相の設定は、“ＩＮＴＰＨＡＳＥ”レコードとしてファイルに記述する。
即ち、キーワードとして“ＩＮＴＰＨＡＳＥ”を記述し、一旦改行した後、具体的な設定をキーワードの次の行から書き始める。設定を何行記述してもよい。
・記述形式
INTPHASE（改行）
透過率  位相  透過率と位相を適用する多角形のあるレイヤ１  レイヤ２・・・
・記述例
INTPHASE
0.98  180  7  8  9
1.00    0  1  2
【００８２】
ただし、透過率の設定は、０．０〜１．０の小数点数または整数とする。また、位相の設定は、−３６０．０〜３６０．０の小数点数または整数とし、これ以外の値を設定することはできない。
同じレイヤに対して、複数の透過率と位相の組み合せを設定してもよい。この場合、このレイヤに属する図形はテンプレートに複数回出力する。
・記述例
INTPHASE
0.98  180  7  8  9
1.00    0  5  6  7
【００８３】
上の例では、レイヤ７に属する図形が、透過率と位相の組み合せ(0.98  180)と(1.00  0)で、テンプレートに２回出力される。
例えば、図４２のような多角形があって、レイヤがそれぞれ設定されているとする。
この場合、上記のようなＩＮＴＰＨＡＳＥの指定があると、生成されるテンプレートは図４３のようになる。
図４３のテンプレートからＴＥＧ用のマスクを生成する際には、図形の形状と一緒に、位相と透過率が設定されるため、マスク製作効率を更に高めることができる。
【００８４】
実施の形態４．
通常、マスクに描画する図形のテンプレートを作成する際のドラフトは、図３のように単一平面上の多角形だけで表現されることは少なく、階層構造になっていることが普通である。
しかしながら、マスクに描画する図形パターンは階層構造を持つことができないので、単一平面に展開した多角形だけの状態にしなければならない。
このため、マスクに描画する図形を生成するテンプレートを作成する際にも、元のドラフトの階層構造を展開した状態にしなければならない。
【００８５】
以下、階層構造を持ったドラフトからテンプレートを生成する処理について説明する。
上述したＲＯコマンドとＡＰコマンドの適用対象が、階層構造を作り得る多角形群である。ここでは、グルーピングされた上記多角形群を「セル」と称すことにする。
セルを使って階層構造を持つドラフトを作る場合、このドラフトに対してセルを１個だけ配置することを「ＳＲＥＦ」と称し、１個のセルをアレイ配置することを「ＡＲＥＦ」と称する。
【００８６】
ＡＲＥＦでセルをアレイ配置するには、Ｘ軸方向及びＹ軸方向の配置個数と配置ピッチを指定する必要がある。
具体的には、内部の構成が図３６であるセルを、Ｘ方向の配置個数を２、Ｙ方向の配置個数を３、Ｘ方向の配置ピッチをＰｘ、Ｙ方向の配置ピッチをＰｙとして、ＡＲＥＦ配置したのが図３９である。
階層構造をもつドラフトに対しては、次のような処理を実施してテンプレートを生成する。
【００８７】
（１）ＳＲＥＦで配置されたセルの展開
ある平面にセルがＳＲＥＦで配置されている場合には、ＳＲＥＦの実体を展開して、多角形だけの状態にして、その平面に配置する。ＳＲＥＦが階層構造になっている場合は、最下層のＳＲＥＦから順次展開して、最終的に単一の平面に多角形だけが配置される状態にする。
【００８８】
（２）ＡＲＥＦの展開
ある平面にセルがＡＲＥＦで配置されている場合には、ＡＲＥＦの実体をＳＲＥＦとして展開する。
その後、展開したすべての多角形にＡＲＥＦの持つアレイ情報（繰り返し配置数、配置ピッチ）を設定する。この際、ＳＲＥＦとして参照するセルに、既にアレイ情報の付いている多角形があれば、これをアレイに展開してアレイ情報のない多角形だけの状態にしてから、ＡＲＥＦの持つアレイ情報を設定する。
従って、最終的にトップセルの階層まで展開された多角形に付いているアレイ情報は、最も上位のものだけになる。テンプレートにアレイ情報の付いている多角形を出力する際には、ＡＲＥＦの図形として配置する。
【００８９】
（３）ＳＲＥＦとＡＲＥＦが混在している場合の展開
上記（１）と（２）の規則を一番下の階層のセルから順次適用しながら上位階層に向かって展開してゆくことにより、トップセルを多角形だけの状態にして、テンプレートの図形レコードを生成する。
（４）回転・反転・拡大／縮小の扱い
ＳＲＥＦとＡＲＥＦのいずれも、任意の角度の回転と、反転を指定することができる。また、拡大／縮小を指定することもできる。
【００９０】
上記の（１）〜（４）の内容を、図を参照しながら具体的に説明する。
例えば、図４４に示すような内部構成のＣｅｌｌＡがあるとする。
図４４の中央が原点であり、セル内には多角形（長方形）が１つ配置されている。このセルを、図４５に示すＣｅｌｌＢにおいてＳＲＥＦとＡＲＥＦで参照する場合を考える。
ＡＲＥＦのアレイの配置は、１行２列で、配置方向がＸ軸の正の方向であるとする。
【００９１】
ＣｅｌｌＢに配置されたＳＲＥＦは、参照先のＣｅｌｌＡの内部の構成を展開する。またＡＲＥＦは、参照先のＣｅｌｌＡの内部の構成を一旦ＳＲＥＦとして展開したのち、ＡＲＥＦの持つアレイ配置情報を展開後の多角形に設定する（図４６を参照）。
ＣｅｌｌＢを最上位のセルとした場合、展開はこれで終わりである。テンプレートには、図４６の上側の多角形と、下側の多角形が「ＡＲＲＡＹ」の図形として出力される。
ＣｅｌｌＢがさらに別のセルからＡＲＥＦとして参照されると、参照しているセルにＣｅｌｌＢを展開する前に、アレイ配置情報の付いた多角形をアレイ展開し、図４７に示すように、全ての多角形がアレイ情報の付いていない状態にする。
【００９２】
図４８に示すＣｅｌｌＣのように、ＣｅｌｌＢがＳＲＥＦとＡＲＥＦで配置されているとする。ＡＲＥＦのアレイ配置は、２行１列で、配置方向はＹ軸の負の方向とする。
ＣｅｌｌＣでＡＲＥＦとして参照しているＣｅｌｌＢは、先に説明した通り、ＣｅｌｌＢの内部でアレイ情報の付いている多角形をアレイ展開した図４７の状態で配置し、この後、全ての多角形にＣｅｌｌＣのＡＲＥＦのアレイ配置情報を付ける。
これに対して、ＳＲＥＦとして参照しているＣｅｌｌＢの方は、この中の多角形をアレイ展開することなく、図４６の状態でＣｅｌｌＣに展開する。
この結果、ＡＲＥＦとＳＲＥＦを展開した後のＣｅｌｌＣの内部構成は、図４９のようになる。以上のことから、１つの多角形に付けられるアレイ配置情報は最終的に１個だけとなる。
図４９のＣｅｌｌＣが他のセルでＡＲＥＦとして参照されている場合は、図４９を予め図５０のように展開してから参照しているセルへ展開し、全部の多角形にアレイ配置情報を付ける。
【００９３】
次に、ＳＲＥＦとＡＲＥＦで、回転と反転が設定されている場合の処理を説明する。
図５１に示すＣｅｌｌＡが、ＳＲＥＦとＡＲＥＦで他のセルから参照される際に回転・反転の設定がある場合は、次のようにする。
まず、回転や反転の指定がないものとしてＳＲＥＦとＡＲＥＦをセルに配置する。
次に、ＳＲＥＦの場合は、セルの配置ポイントを中心に、回転と反転の処理を実施する。このとき、ＲＯコマンドの配置エリアは、回転と反転の処理を実施した後のＳＲＥＦのエリアとなることに注意する。ＡＲＥＦの場合は、回転と反転の指定がないものとして一旦セルをアレイ展開する。そして、展開後のＡＲＥＦ全体を、配置ポイントを中心として回転と反転の処理を実施する。
【００９４】
図５２はＣｅｌｌＡをＳＲＥＦとＡＲＥＦの回転指定付きで参照しているＣｅｌｌＤを示している。
ＳＲＥＦとＡＲＥＦは、ともに回転と反転の指定がない状態でセルを展開する。この状態で、ＳＲＥＦの場合は、配置ポイントを中心に９０度回転させる。ＡＲＥＦの場合は、さらに回転と反転の処理を実施せずにアレイ展開する。これらの処理の終わった状態が図５３である。
【００９５】
ＡＲＥＦを回転させるには、図５３で配置ポイントを中心にしてアレイ展開後の全体を２７０度回す。このようにして、ＣｅｌｌＤは最終的に図５４のように展開される。
ＲＯコマンドとＡＰコマンドの設定エリアは、回転と反転の処理をした後のエリアになる。
図形の拡大・縮小をする場合は、ＣｅｌｌＡの状態で図形の基本形状を変えずに、原点を中心に拡大・縮小した状態で参照・展開処理を実施する。
【図面の簡単な説明】
【００９６】
【図１】この発明の実施の形態１によるテンプレート作成装置を示す構成図である。
【図２】ＴＥＧ用のマスクに描画する図形を示す説明図である。
【図３】ドラフトを示す説明図である。
【図４】テンプレートを示す説明図である。
【図５】パラメータを示す説明図である。
【図６】パラメータの値が代入されたテンプレートを示す説明図である。
【図７】従来のＴＥＧ用マスクの図形生成手順を示す説明図である。
【図８】ＴＥＧ用のマスクに描画する図形を示す説明図である。
【図９】ＰＯコマンドの設定例を示す説明図である。
【図１０】ＰＯコマンドの設定例を示す説明図である。
【図１１】ＰＯコマンドの設定例を示す説明図である。
【図１２】ＰＯコマンドの設定例を示す説明図である。
【図１３】ＶＯコマンドの設定例を示す説明図である。
【図１４】ＣＬコマンドの設定例を示す説明図である。
【図１５】ＥＤコマンド及びＥＳコマンドの設定例を示す説明図である。
【図１６】ＥＳ点が２点以上設定された場合を示す説明図である。
【図１７】ＥＤコマンド及びＥＳコマンドの設定例を示す説明図である。
【図１８】ＥＳ移動頂点の設定例を示す説明図である。
【図１９】ＥＳコマンドが適用された図形を示す説明図である。
【図２０】２つのＥＳ点がＥＤ固定頂点を共有している例を示す説明図である。
【図２１】ＥＳ移動頂点の設定例を示す説明図である。
【図２２】ＥＳ移動頂点がシフトされた多角形を示す説明図である。
【図２３】ＥＳコマンドが適用された図形を示す説明図である。
【図２４】２つのＥＤ点によってＥＤ固定頂点の共有が起こらない例を示す説明図である。
【図２５】ＥＳコマンドが適用された図形を示す説明図である。
【図２６】ＥＳ点の設定例を示す説明図である。
【図２７】ＥＳコマンドが適用された図形を示す説明図である。
【図２８】ＥＳ点の設定例を示す説明図である。
【図２９】ＥＳコマンドが適用された図形を示す説明図である。
【図３０】ＥＳ点の設定例を示す説明図である。
【図３１】ＥＳコマンドが適用された図形を示す説明図である。
【図３２】ＥＳ点の設定例を示す説明図である。
【図３３】ＥＳコマンドが適用された図形を示す説明図である。
【図３４】ＥＳコマンドによる図形の変形例を示す説明図である。
【図３５】ＥＳコマンドによる図形の変形例を示す説明図である。
【図３６】ＲＯコマンドの設定例を示す説明図である。
【図３７】ＡＰコマンドの設定例を示す説明図である。
【図３８】ＡＰコマンドの設定例を示す説明図である。
【図３９】配置個数と配置ピッチが変更された図形群を示す説明図である。
【図４０】ＡＰコマンドが適用された図形を示す説明図である。
【図４１】多角形とコマンドがレイヤに配置されている例を示す説明図である。
【図４２】透過率と位相が設定される多角形を示す説明図である。
【図４３】テンプレートを示す説明図である。
【図４４】ＣｅｌｌＡの内部構成を示す説明図である。
【図４５】ＣｅｌｌＢの内部構成を示す説明図である。
【図４６】ＣｅｌｌＢの内部構成を示す説明図である。
【図４７】ＣｅｌｌＢの内部構成を示す説明図である。
【図４８】ＣｅｌｌＣの内部構成を示す説明図である。
【図４９】ＣｅｌｌＣの内部構成を示す説明図である。
【図５０】ＣｅｌｌＣの内部構成を示す説明図である。
【図５１】回転・反転の設定があるＣｅｌｌＡを示す説明図である。
【図５２】ＣｅｌｌＡをＳＲＥＦとＡＲＥＦの回転指定付きで参照しているＣｅｌｌＤを示す説明図である。
【図５３】ＣｅｌｌＤを示す説明図である。
【図５４】ＣｅｌｌＤを示す説明図である。
【符号の説明】
【００９７】
１  マンマシンＩ／Ｆ（コマンド設定手段）、２  図形データベース（コマンド設定手段）、３  コマンド設定部（コマンド設定手段）、４  図形編集部（図形編集手段）、５  テンプレート作成部（テンプレート作成手段）。
【図１】
2006048127.tif 000003
【図２】
2006048127.tif 000004
【図３】
2006048127.tif 000005
【図４】
2006048127.tif 000006
【図５】
2006048127.tif 000007
【図６】
2006048127.tif 000008
【図７】
2006048127.tif 000009
【図８】
2006048127.tif 000010
【図９】
2006048127.tif 000011
【図１０】
2006048127.tif 000012
【図１１】
2006048127.tif 000013
【図１２】
2006048127.tif 000014
【図１３】
2006048127.tif 000015
【図１４】
2006048127.tif 000016
【図１５】
2006048127.tif 000017
【図１６】
2006048127.tif 000018
【図１７】
2006048127.tif 000019
【図１８】
2006048127.tif 000020
【図１９】
2006048127.tif 000021
【図２０】
2006048127.tif 000022
【図２１】
2006048127.tif 000023
【図２２】
2006048127.tif 000024
【図２３】
2006048127.tif 000025
【図２４】
2006048127.tif 000026
【図２５】
2006048127.tif 000027
【図２６】
2006048127.tif 000028
【図２７】
2006048127.tif 000029
【図２８】
2006048127.tif 000030
【図２９】
2006048127.tif 000031
【図３０】
2006048127.tif 000032
【図３１】
2006048127.tif 000033
【図３２】
2006048127.tif 000034
【図３３】
2006048127.tif 000035
【図３４】
2006048127.tif 000036
【図３５】
2006048127.tif 000037
【図３６】
2006048127.tif 000038
【図３７】
2006048127.tif 000039
【図３８】
2006048127.tif 000040
【図３９】
2006048127.tif 000041
【図４０】
2006048127.tif 000042
【図４１】
2006048127.tif 000043
【図４２】
2006048127.tif 000044
【図４３】
2006048127.tif 000045
【図４４】
2006048127.tif 000046
【図４５】
2006048127.tif 000047
【図４６】
2006048127.tif 000048
【図４７】
2006048127.tif 000049
【図４８】
2006048127.tif 000050
【図４９】
2006048127.tif 000051
【図５０】
2006048127.tif 000052
【図５１】
2006048127.tif 000053
【図５２】
2006048127.tif 000054
【図５３】
2006048127.tif 000055
【図５４】
2006048127.tif 000056