(57)【特許請求の範囲】
【請求項１】
英文字筆記体によるアルファベット模様を、一つの閉領域によって構成される外形形状を示すデータとして記憶したアルファベット模様記憶手段と、
前記アルファベット模様記憶手段に記憶されているアルファベット模様の中から文字を選択する文字選択手段と、
前記アルファベット模様記憶手段に記憶されているデータに基づき、前記文字選択手段が選択した文字の外形形状を、選択順に従って、所定間隔でディスプレイに表示する文字模様群表示手段と、
前記文字模様群表示手段によってディスプレイ上に表示された文字と文字とを連結するための連結位置を入力する連結位置入力手段と、
前記連結位置入力手段によって入力された連結位置に基づいて、前後の文字に対して部分的に重なる様に、帯の前端部が前の文字の内部に入り込むと共に帯の後端部が後の文字の内部にも入り込んだ状態の連結用の帯模様を生成する連結用帯模様生成手段と、
前記連結用帯模様生成手段によって生成された帯模様を、前記連結位置入力手段によって入力された連結位置において各文字に部分的に重なる様に、前記ディスプレイに表示する連結用帯模様表示手段と、
前記ディスプレイ上で、部分的に重なって表示されているアルファベット模様と帯模様とから構成される重なりを持った模様群を、全体として一つの連続する模様として捉え直し、模様全体に対して一つの外形線データを抽出する全体単一外形線データ抽出手段と
を備え、
前記全体単一外形線データ抽出手段は、前記重なりを持っている各文字及び帯模様の外形線同士の交点を算出すると共に追跡開始点を定め、当該追跡開始点から外形線の追跡を開始して軌跡を記憶し、前記交点が現れたら、追跡対象の外形線を当該交点を共有する他の外形線に切り換えて追跡を続行する処理を、前記追跡開始点に戻るまで繰り返し実行することによって得られる軌跡を、部分的に重なり合った文字及び帯模様の最も外側の外形線が連続した一つの刺繍模様として捉え直し、当該刺繍模様の全体に対して一つの外形線データとして抽出する手段として構成されていること
を特徴とする連続模様からなる刺繍データの作成装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、複数の単位模様を連結して一つの連続する模様のデータを作成するための装置及びこれを主要部とする連続模様からなる切断用データ、アップリケ用データ及び刺繍用データの作成装置に関する。
【０００２】
【従来の技術及び発明が解決しようとする課題】
従来、図９４（Ａ）に示す様に、シャツ１０１等の上着の胸に野球チーム名やブランド名などを表したアップリケ用布片１０３を刺繍にて縫い付ける装飾方法がよく知られている。
【０００３】
このような場合、従来は、アップリケ用布片の型紙１０５を作成し、これをデジタイザ１０７で読み込んで模様全体の外形線データを作成し、このデータに基づいて、アップリケ用布片の切断データと、アップリケ用布片の取り付け位置を示すための仮縫いデータと、アップリケ用布片を止めるための止縫いデータと、アップリケ用布片を刺繍にて縫い付けるための刺繍縫いデータとを作成し、これらのデータに基づいてカット機や自動刺繍機を駆動制御するといった技術が採用されていた（特開平６−２９６７８１号公報等）。
【０００４】
かかる技術によれば、切断用及び縫い付け用の各データを１つの型紙からの１回のデジタイザ入力で作成でき、しかも、これらは同一の外形線データから作成されるので食い違いが生じることがなく、それ以前の技術に比べると簡単に正確な制御データを作成することができるようになった点で優れたものである。
【０００５】
しかし、最初に型紙を作成しないことには上記の技術は実施できない。また、この型紙をデジタイザにセットして点列を入力する作業が必要である。
このため、従来の技術では型紙作成作業がネックとなり、十分にコストダウンできないという問題があった。特に、筆記体による連続模様として表される文字列は、文字間のつながり部分が存在するため、あらかじめ各文字用の単独の型紙を用意しておいただけでは不十分であり、結局、そのつど模様全体を表した型紙を作る必要があった。
【０００６】
また、型紙をデジタイザにセットしての点列入力作業が必要となるという問題もある。そして、曲線部分の点列入力には多大な作業時間を要するという問題もある。
こうした連続模様でシャツ等の胸に装飾を施すに当たっては、より高級なものとして刺繍による場合もある。従来は、文字毎・書体毎の刺繍データを予め記憶しておき、そこから例えば「Ａ」，「ｎ」，「ｇ」，「ｅ」，「ｌ」，「ｓ」という順番で文字列を選択してやり、刺繍を行うようにしたモノグラム刺繍ミシンが知られている。また、特開昭６３−１３９５８７〜１３９５９２号公報記載の刺繍模様作成装置のように、文字毎・書体毎のカラムデータを記憶しておき、これらの中から所望の文字列を選択し、これをＣＲＴディスプレイ上で所望の位置に配列して刺繍模様を設計し、これから刺繍データを作成する装置も知られている。
【０００７】
しかし、これら従来の技術では、あくまでも１個の文字をそれぞれ独立のものとして重ね縫いしているに過ぎず、複数個の連続する文字全体を一つの模様として捉えた上での刺繍を行うものではなかった。従って、重なった部分には縫目が重複して形成されることになり、糸の無駄、刺繍時間の無駄が発生していた。加えて、複雑に幾重にも重複する場合などでは、重複部分だけが異常に盛り上がってしまうおそれもあった。従って、連続模様の刺繍データを作成するには、やはり、模様全体の型紙をいちいち作成し、これをデジタイザにセットしてインプットするという面倒な作業が必要となっていた。加えて、刺繍の方法として、サテンステッチではなく、より高級感を与えてくれる平行タタミ縫いによるものが望まれている。そうなると、型紙の作成だけでなく、渡り糸を縫目の下に隠すように刺繍順序をも考慮してデータの設計をしなくてはならず、これにもかなりな時間を要していた。
【０００８】
また、切断機を用いて粘着剤付きのビニールシートから切り抜いてなるネームシールなどについても、英文筆記体の如く連続文字のネームシールを切り抜こうとすると、これもまた連続文字の型紙を作成しなければならず、上記と同様の問題を抱えていた。
【０００９】
そこで、本発明は、筆記体による英単語として構成される連続模様からなる切断用データ、アップリケ用データ及び刺繍用データをより簡便に作成できるようにするため、型紙を用いることなく連続模様の外形データを作成可能とすることを目的とする。
【００１０】
【課題を解決するための手段、作用及び効果】
かかる目的を達成すべく完成された本発明の連続模様からなる刺繍データの作成装置は、
英文字筆記体によるアルファベット模様を、一つの閉領域によって構成される外形形状を示すデータとして記憶したアルファベット模様記憶手段と、
前記アルファベット模様記憶手段に記憶されているアルファベット模様の中から文字を選択する文字選択手段と、
前記アルファベット模様記憶手段に記憶されているデータに基づき、前記文字選択手段が選択した文字の外形形状を、選択順に従って、所定間隔でディスプレイに表示する文字模様群表示手段と、
前記文字模様群表示手段によってディスプレイ上に表示された文字と文字とを連結するための連結位置を入力する連結位置入力手段と、
前記連結位置入力手段によって入力された連結位置に基づいて、前後の文字に対して部分的に重なる様に、帯の前端部が前の文字の内部に入り込むと共に帯の後端部が後の文字の内部にも入り込んだ状態の連結用の帯模様を生成する連結用帯模様生成手段と、
前記連結用帯模様生成手段によって生成された帯模様を、前記連結位置入力手段によって入力された連結位置において各文字に部分的に重なる様に、前記ディスプレイに表示する連結用帯模様表示手段と、
前記ディスプレイ上で、部分的に重なって表示されているアルファベット模様と帯模様とから構成される重なりを持った模様群を、全体として一つの連続する模様として捉え直し、模様全体に対して一つの外形線データを抽出する全体単一外形線データ抽出手段と
を備え、
前記全体単一外形線データ抽出手段は、前記重なりを持っている各文字及び帯模様の外形線同士の交点を算出すると共に追跡開始点を定め、当該追跡開始点から外形線の追跡を開始して軌跡を記憶し、前記交点が現れたら、追跡対象の外形線を当該交点を共有する他の外形線に切り換えて追跡を続行する処理を、前記追跡開始点に戻るまで繰り返し実行することによって得られる軌跡を、部分的に重なり合った文字及び帯模様の最も外側の外形線が連続した一つの刺繍模様として捉え直し、当該刺繍模様の全体に対して一つの外形線データとして抽出する手段として構成されていること
を特徴とする。
【００１３】
あるいは、
単位模様を入力する単位模様入力手段と、
該単位模様入力手段により複数個の単位模様を入力したとき、当該単位模様同士を部分的に重ね合わせた状態でディスプレイに表示する表示制御手段と、
該ディスプレイ表示された複数個の単位模様を全体として一つの連続する模様として捉え直し、模様全体の外形線をデータとして抽出する外形線データ抽出手段と
を備えることを特徴とする（以下、第３のタイプの連続模様データの作成装置という）。
【００１４】
本発明の連続模様データの作成装置は、アルファベット模様同士の間に帯模様を挿入することにより、前後のアルファベット模様を連続させた状態にしてディスプレイに表示する。そして、このディスプレイ表示に基づいて、帯模様によって連続させられた模様全体を一つの模様として捉え直し、模様全体の外形線をデータとして抽出する。
【００１６】
ここで、より具体的には、
前記外形線データ抽出手段は、
前記ディスプレイ表示されている個々の模様同士の交点を算出する交点算出手段と、
いずれかの模様の外形線上の点を出発点として外形線の追跡を行い、前記交点が現れる毎に隣の模様の外形線の追跡に切り換えることにより、模様全体の外形線を連続して追跡する追跡手段と、
該追跡手段による追跡ラインが閉じたとき、それまでの追跡結果を模様全体の外形線として決定する外形線決定手段と
を備えてなることとすることができる。
【００１７】
この様に構成すれば、作業者は、単に複数個の単位模様を入力し、間に連結模様を挿入するか、単位模様同士を部分的に重ね合わせるだけでよく、後は交点算出→外形線追跡→外形線決定といった作業が自動的に実行される。
また、
前記外形線データ抽出手段は、
前記ディスプレイ表示されている各単位模様の内部と外部とを２値化情報によって区別したものとして捉え直すことにより単位模様同士が連続してなる連続模様の内部と外部とを区別する内外区別手段と、
該内外区別手段により捉え直された２値化情報の変化する位置を模様全体の外形線として決定する外形線決定手段と
を備えてなることとすることもできる。
【００１８】
イメージ的にいえば、例えば、部分的に重なるかあるいは連結模様の挿入によって全体として連続した模様として捉え直されるべき個々の単位模様をそれぞれ黒で塗り潰すことで連続模様の内部を黒一色で統一し、これにより白黒の境界線を抽出してやれば、連続模様の外形線が決定できるのである。
【００１９】
また、
前記外形線データ抽出手段は、
前記ディスプレイ表示されている個々の模様同士の交点を算出する交点算出手段と、
該交点間の線分を指定する線分指定手段と、
該線分指定手段の指定した線分を消去する線分消去手段と、
該線分消去手段によって交点間の線分の消去がなされた後で、ディスプレイ上に表示されている線を模様全体の外形線として決定する外形線決定手段と
を備えてなることとすることもできる。
【００２０】
このようにした場合には、作業者が、ディスプレイを見ながら、消去するべき線分を指定していく必要がある。従って、先に述べた外形線追跡の方法を採用する方が、自動的でより簡便であるといえる。
なお、単位模様入力手段としては、単位模様の型紙を予め作成しておいてスキャナなどを用いて読み込ませたり、単位模様毎にデジタイザにセットして読み込ませたりするようにしてもよいが、さらに、次の様に構成するとよい。即ち、前記単位模様入力手段は、複数の単位模様について、それぞれの外形線を示すデータとして記憶した模様データ記憶手段と、該模様データ記憶手段から任意の単位模様を選択する模様選択手段とを備えてなることとするとよい。
【００２１】
このように構成すると、デジタイザやスキャナに型紙をセットしたり点列を入力したりする必要がなく、しかも、各単位模様は外形線を示すデータとして記憶されているから、デジタイザやスキャナでの入力誤差や読取誤差がなく、いつでも同一のデータを用いることができるという利点もある。
【００２２】
これらの連続模様データの作成装置において、さらに、
前記模様全体に対して、拡大，縮小，回転，配列ラインの変更等の編集を加える編集手段を備え、
前記表示制御手段が、この編集結果をディスプレイ表示すると共に、
前記外形線データ抽出手段が、前記編集後のデータに基づいて模様全体の外形線データを抽出することとするとよい。
【００２３】
このように構成すると、入力した単位模様を連続させただけの模様ではなく、これを全体として拡大，縮小，回転したり、配列ラインを変えることによって、例えば円弧配列としたりすることなどができる。この編集の様子はディスプレイ表示されるので、これを見ながらビジュアル的に理解しやすい状態で連続模様の設計をすることができる。そして、この編集結果としての模様全体から外形線データが抽出される。
【００２４】
このような編集を行うには、
前記編集手段として、
前記模様全体に対する座標原点及び座標軸としての配列基準線を設定する原点・基準線設定手段と、
前記模様の外形線を座標原点及び配列基準線に対する平面座標値で把握する平面座標値把握手段と、
該配列基準線を変化させる配列基準線変化手段と、
該座標原点を移動させる座標原点移動手段と、
前記把握した平面座標値を座標変換する座標変換手段と
を備えることとすればよい。
【００２５】
例えば、配列基準線を所定の曲率の円弧に変化させてやれば、直線ではなく円弧を座標軸とするように外形線データ中の各点の位置が決定される。従って、模様全体がその円弧に沿うような曲がり具合いの模様としてディスプレイ表示され、外形データ化される。
【００２６】
あるいは、ｘ座標値を正負反転させる座標変換を行えば左右に反転した模様となり、ｙ座標値を正負反転させる座標変換を行えば逆立ち状態の模様となる。また、ｘ座標値及びｙ座標値をそれぞれ等倍するような座標変換を行えば全体に拡大・縮小することができる。このとき、ｙ座標値だけを２倍とか３倍とかにするなら、縦にだけ伸びた模様とすることもできる。いずれにしろ、平面座標値として外形線データを把握することにより、こうした種々の模様へと容易に編集することができるようになる。
【００２７】
これらの連続模様データの作成装置に、さらに、前記抽出された模様全体の外形線データに基づいてシート状又は板状材料を切抜くためのデータを作成する切抜きデータ作成手段を備えることとすれば、本発明の目的を達成し得る連続模様からなる切断用データの作成装置となる。
【００２８】
また、同じくこれらの連続模様データの作成装置に、さらに、
前記抽出された模様全体の外形線データに基づいて、アップリケ用の切断データを作成する切断データ作成手段と、
前記抽出された模様全体の外形線データに基づいて、アップリケ用切断片の取り付け位置を示すための仮縫いデータと、アップリケ用切断片を止めるための止縫いデータと、アップリケ用切断片を刺繍にて縫い付けるための刺繍縫いデータとを作成する縫付用データ作成手段と
を備えることとすれば、本発明の目的を達成し得る連続模様からなるアップリケ用データの作成装置となる。
【００２９】
さらに、同じくこれらの連続模様データの作成装置に、さらに、
前記抽出された模様全体の外形線で囲まれた領域内を複数の閉領域に分ける分割手段と、
該分割された各閉領域の刺繍順序を決定する刺繍順序決定手段と、
該決定された刺繍順序に従って、前記模様全体の内部を埋め尽くす縫目を形成するための刺繍データを作成する刺繍データ作成手段と
を備えることとすれば、本発明の目的を達成し得る連続模様からなる刺繍用データの作成装置となる。
【００３０】
この刺繍用データの作成装置においては、前記刺繍データ作成手段が平行タタミ縫い用の刺繍データを作成する手段であり、前記刺繍順序決定手段が各閉領域間に形成される渡り糸が平行タタミ縫いをし終った閉領域の上を跨がない様に前記刺繍順序を決定する手段であることが望ましい。
【００３１】
ここで、これらの刺繍用データの作成装置は、所定の基準方向に沿った部分を有する縫目により刺繍模様を形成するための刺繍データとして、少なくとも、該基準方向により方向が定まる複数の線分同士を一本に連続させた線分群として表される縫目形成経路に関する情報、を含んだ刺繍データを作成する刺繍データの作成装置であって、前記刺繍模様の輪郭を特定する輪郭特定手段と、前記基準方向を特定する基準方向特定手段と、前記特定された輪郭の輪郭線上から所定の特徴点を抽出する特徴点抽出手段と、該抽出した特徴点及び前記特定された基準方向に基づいて、前記輪郭により囲まれた閉領域を複数の分割領域に分割する閉領域分割手段と、該分割領域、前記輪郭及び前記基準方向に基づいて、閉領域の全体に渡る縫目形成経路を決定する縫目形成経路決定手段とを備えるようにするとよい。
【００３２】
この刺繍用データの作成装置によれば、閉領域分割手段が、輪郭特定手段が模様全体の外形線データから特定した輪郭に囲まれる閉領域を複数の分割領域に分割する。この際、閉領域分割手段は、特徴点抽出手段によって抽出された輪郭線上の所定の特徴点及び基準方向付与手段により特定された基準方向を考慮して閉領域の分割を行う。縫目形成経路決定手段は、こうして得られた分割領域、特定された輪郭及び基準方向に基づいて、閉領域の全体に渡る縫目形成経路を決定する。
【００３３】
ここで、一つの特徴的構成要素である前記特徴点抽出手段は、例えば、前記輪郭線の連続状態に基づいて前記特徴点を抽出することとできる。即ち、特徴点は、輪郭線が折れ曲がる箇所、あるいは折れ曲がる箇所の内の特定の箇所など、として抽出すると、幾何学的な図形を考慮する上で便利である。これは角のある形状の例であるが、曲線的形状における変曲点なども輪郭線の連続状態で特定できるから、これを特徴点として抽出する構成であってもよい。
【００３４】
また、前記閉領域分割手段は、前記輪郭線の連続状態に基づいて前記閉領域の凹凸に関する状態を認識し、該凹凸に関する状態を加味して前記分割領域を決定することとするとなおよい。分割領域の決定に当たって閉領域の凹凸形状を加味することで、必要最小限の分割数とするなどの態様にて縫目形成経路を決定することができる。なお、分割領域の決定においては、連続して縫目を形成する場合に縫い残しや重ね縫い等の不具合が発生しない限り必要最小限の分割数とすることにこだわる必要はない。
【００３５】
さらに、前記縫目形成経路が、各分割領域における縫目形成経路と、該縫目形成経路同士を連結する連結路とからなり、前記縫目形成経路決定手段は、前記連結経路を縫目形成順に関する所定の条件に従って決定する連結経路決定部をも備えることとしてもよい。この様に構成することで、刺繍模様全体の一本の連続した縫目形成経路を、各分割領域内の縫目形成経路と連結経路とに分解して決定できるので簡単である。
【００３６】
この様に縫目形成経路全体を各分割領域内のものとそれらの連結経路とに分けて決定する場合、前記連結経路決定部は、前記輪郭線の連続状態に基づいて認識される前記閉領域の凹凸に関する状態を加味して前記連結経路を決定することとするとよい。また、前記連結経路決定部は、各連結経路が、当該連結経路よりも連続の始点側にある縫目形成経路に対して重複又は交差をしないことを前記所定の条件とすることとするとよい。この様にすることで、既に形成した縫目の上を連結経路が渡ってしまうことがなく、刺繍模様の見た目が損なわれることがない。
【００３７】
一方、上記のそれぞれの刺繍用データの作成装置において、前記閉領域分割手段は、前記輪郭線の連続状態に基づいて前記閉領域の凹凸に関する状態を認識し、前記基準方向に平行で凹の点を通る直線と輪郭線との所定の交点を求め、縫目形成経路の終点を出発点として検討し、前記輪郭線上に前記交点，凸の点，凹の点の順番に連続し、かつ間に他の交点，凸の点，凹の点を有しない部分を抽出することで前記分割領域を決定することとしてもよい。さらに、この刺繍用データの作成装置において、前記閉領域分割手段は、さらに、一つの分割領域を決定した後に、次の分割領域を決定するに当たっては、既に決定された分割領域内の交点，凸の点，凹の点は無視することとするとよい。これらの構成によれば、縫目形成順番まで自動的に定めることができる。
【００３８】
これら各構成の刺繍用データの作成装置において、前記連結経路決定部は、各連結経路として複数の候補がある場合に長さが最短となる候補を選択することとすれば、縫い糸の節約をも図ることができる。
なお、この刺繍用データの作成装置においては、さらに、模様全体の中から中抜き部分のデータに着目し、この中抜きデータの部分を切り開く中抜き部分切開手段を備え、前記分割手段、刺繍順序決定手段及び刺繍データ作成手段は、この切開後の模様に基づいて刺繍データを作成するように構成すればよい。そして、切開の条件としては、平行タタミ縫いであれば、その縫目と縫目の間が切開位置となるように決定することが望ましい。
【００３９】
なお、これらの刺繍用データの作成装置において、
前記平行タタミ縫いにより埋め尽くされる領域に地模様として形成すべき模様の情報を与える地模様情報付与手段を備え、
前記刺繍データ作成手段は、平行タタミ縫い用の刺繍データを作成するに当り、当該付与された地模様形成のための情報に基づいて中間針落ち点を決定する手段であることを特徴とする連続模様からなる刺繍データを作成する様にしてもよい。
【００４０】
かかる構成により、平行タタミ縫いにおいて、さらに地模様を形成する様に針落ち点を決定してやることができ、一層装飾性の高い刺繍模様を形成することができるようになる。
また、他のタイプの刺繍用データの作成装置として、上記の連続模様データの作成装置に、さらに、
地模様の情報を与える地模様情報付与手段と、
該付与された地模様情報に、前記抽出された模様全体の外形線で囲まれた領域を重ね合わす領域重ね合わせ手段と、
前記与えられた地模様の情報の内、前記重ね合わせの結果、抽出された模様全体の外形線の内部に重なった地模様だけを刺繍するための刺繍データを作成する刺繍データ作成手段と
を備えることとしてもよい。
【００４１】
この場合は、生地の上のある領域内にだけ地模様をちりばめた様な刺繍を行うことができる。
以上の様な本発明によれば、新たな連続模様を設計しようとするとき、既存の単位模様を利用してこれらの組み合せとして模様の設計を行うことができ、しかも、それをディスプレイ上で実行できる。よって、従来技術の様な連続模様全体としての型紙作成の必要がなく、きわめて簡便となる。特に、上述の単位模様記憶手段を有する様に構成すると、単位模様に関しては常に同一のデータを用いることができ、スキャナやデジタイザを利用する場合と比べて、読み取り誤差や入力誤差といった心配がなく、信頼性の高いデータ作成作業が約束される。
【００４２】
【実施例】
以下、本発明を適用した実施例について、図面に基づき説明する。
第１実施例は、アップリケ作成システムとして構成したものである。
実施例のシステムは、図１に示すように、アップリケ模様の設計、アップリケ布片の切断用のデータ及び縫い付け用のデータの作成を行うデータ作成装置１０と、アップリケ用布片を切断するためのカット機２０と、アップリケ用布片を布地に縫い付けるための刺繍ミシン３０とから構成される。
【００４３】
データ作成装置１０は、キーボード１１と、マウス１２と、カラーディスプレイ１３と、Ｘ−Ｙプロッタ１４と、フロッピーディスクドライブユニット（ＦＤＤ）１５と、ハードディスク（ＨＤＤ）１６とが接続されたマイクロコンピュータ１７である。
【００４４】
カット機２０は、生地をセットする盤面２１と、ヒートカッタ２２と、操作キー２３と、ＦＤＤ２４とを備え、マイクロコンピュータ２５を内蔵している。ＦＤＤ２４には、データ作成装置１０にて作成した切断データを記録したカット機用データディスクＦＤ１が挿入される。マイクロコンピュータ２５は、図２に示すように、盤面２１の生地がビニールシートの様な密なものである場合には固定用の吸着ユニット２６の吸引作用により生地の吸着を行う。通常の布地の場合には、こうした吸引作用による生地の吸着は困難なので、スプレー糊などを用いて直接盤面２１に接着する。次に、ＦＤＤ２４で切断データを読み込んで、Ｘ，Ｙモータ２７ｘ，２７ｙを駆動してヒートカッタ２２をＸ−Ｙ駆動すると共に、ソレノイド２８をオン／オフしてヒートカッタ２２先端を生地に接触／離間させ、熱源ユニット２９をオン／オフして生地を切断する。
【００４５】
刺繍ミシン３０は、図１に示した様に、複数頭の刺繍ヘッド３１と、ヘッド３１の数だけ釜及び下糸ボビンが内蔵されたベッド３２と、アップリケを施す布地を展張する刺繍枠３３と、操作キー３４と、カラーディスプレイ３５と、ＦＤＤ３６と、制御用のマイクロコンピュータ３７とを備えている。ＦＤＤ３６には、データ作成装置１０にて作成した仮縫いデータ、止め縫いデータ及び刺繍データを記録した刺繍機用データディスクＦＤ２が挿入される。マイクロコンピュータ３７は、図３に示すように、ＦＤＤ３６で刺繍データ等を読み込んで、Ｘ，Ｙモータ３８ｘ，３８ｙを駆動して刺繍枠３３をＸ−Ｙ駆動すると共に、ミシンモータ３９を駆動して刺繍ヘッド３１による縫目形成を実行し、カラーディスプレイ３５へとその縫目形成の進行状況を表示するように構成されている。
【００４６】
さて、データ作成装置１０のＨＤＤ１５には、英文字筆記体によるアルファベット模様の外形形状を示す数値データが記憶されている。この英文字筆記体は、例えば、図４の様な模様となる。なお、各模様を囲んでいる四角枠ＦＲは、それぞれ各模様の外形線の位置を相対的に決定付けるデータ枠であり、後述のエディットフレーム７１，８１の変形に伴って同様に変形する。
【００４７】
以上の様なシステムにおいて、まず、データ作成装置１０のマイクロコンピュータ１７が実行するデータ作成処理の内容について説明する。マイクロコンピュータ１７には、予め、次の様なデータ作成プログラムがインストールされる。このデータ作成プログラムは、図５に示す様に、エディット処理（Ｓ２）、アップリケ用データ作成処理（Ｓ４）、データ格納処理（Ｓ６）から構成される。
【００４８】
まず、模様の選定及び編集から外形データの取得に関する部分であるエディット処理について説明する。
エディット処理ルーチンを図６に示す。このルーチンは、マウス１２の操作にてエディットモードが選択されると開始される。まず最初に、図７に示す様に、カラーディスプレイ１３上にこれから文字列を配置する四角の枠であるエディットフレーム７１と、サブボックス７３とを表示する（Ｓ１０）。
【００４９】
エディットフレーム７１は、図８（Ａ）に示す様に、枠線７１ａ，配列ライン７１ｂ，機能呼出マーク７１ｃ〜７１ｉから構成されている。なお、各マーク７１ｃ〜７１ｉの上にマウスカーソルが置かれると、マウスカーソルは、同図（Ｂ）の中列に示す様な絵柄マークに変わり、どの様な機能を呼び出すためのマークを選択したのかがイメージとして分かりやすい様に構成されている。
【００５０】
枠線７１ａは、刺繍模様を構成する文字列の全体形状をイメージとして理解する際の助けとなるもので、最初は一文字を当てはめることのできる程度の小さな枠として表示される。配列ライン７１ｂは、文字列の並ぶ基準線を意味する。初期設定としては、この配列ライン７１ｂに対する各文字のベースラインのずれは「０」とされている。従って、最初の入力では、各文字の下辺は、この配列ライン７１ｂにくっつく様に配列される（図９参照）。
【００５１】
機能呼出マーク７１ｃは、エディットフレーム７１を斜めに変形させることで各単位模様の斜め変形角度を指示する斜変形角指示手段としての機能を呼び出すためのものである。以下、スランターマーク７１ｃとよぶ。機能呼出マーク７１ｄは、エディットフレーム７１を配列ライン７１ｂと直交する方向へ伸縮することによってフレーム内に配列される各文字の相似変形量を指示する相似変形量指示手段としての機能を呼び出すためのもので、以下、リサイザーマーク７１ｄとよぶ。機能呼出マーク７１ｅは、エディットフレーム７１を縦横比の異なる形状に変形させることでフレーム内に配列される文字の縦横比変化を指示する縦横比変化指示手段としての機能を呼び出すためのもので、以下、フリーリサイザーマーク７１ｅとよぶ。機能呼出マーク７１ｆは、エディットフレーム７１を文字列の配列方向に伸縮することでフレーム内の各文字の配列間隔を指示する配列間隔指示手段としての機能を呼び出すためのもので、以下、スペーサーマーク７１ｆとよぶ。機能呼出マーク７１ｇは、エディットフレーム７１を回転させることでフレーム内の各文字の回転角度を指示する回転角指示手段としての機能を呼び出すためのもので、以下、ローテイターマーク７１ｇとよぶ。機能呼出マーク７１ｈは、エディットフレーム７１を湾曲形状に変形させることで配列ライン７１ｂの湾曲状態を指示する湾曲配列指示手段としての機能を呼び出すためのもので、以下、アークメイカーマーク７１ｈとよぶ。機能呼出マーク７１ｉは、エディットフレーム７１を平行移動させることで文字列全体を平行移動させる移動量を指示する移動量指示手段としての機能を呼び出すためのもので、以下、シフターマーク７１ｉとよぶ。
【００５２】
サブボックス７３は、図１０に示す様に、編集内容を数値で表したテーブルを表示するものであり、エディットフレーム７１の形状に対応する数値を表示する。テーブルの上から順番に、エディットフレームの枠線高さデータの設定値表示部７３ａ，エディットフレームの枠線幅データの設定値表示部７３ｂ，エディットフレーム内での文字間隔データの設定値表示部７３ｃ，エディットフレームの回転角データの設定値表示部７３ｄ，エディットフレーム全体の斜変形角データに関する設定値表示部７３ｅ，エディットフレームの湾曲状況を表す円弧半径データの設定値表示部７３ｆを備えたテーブルである。なお、設定値表示部７３ｅにおいて９０ｄｅｇとは、エディットフレームが斜変形されていないことを意味する。なお、７３ｇは、後述する文字単位の編集モードへ移行するためのスイッチである。
【００５３】
また、エディットフレーム７１とサブボックス７３との関係は、次の様になっている。エディットフレーム７１を変形させると、それに応じて、サブボックス７３内の各設定値が変化する。逆に、サブボックス７３内の数値の方を変化させると、それに応じてエディットフレーム７１が変形する。即ち、エディットフレーム７１とサブボックス７３とは一義的に対応した一対一の関係にある。そして、サブボックス７３の方の数値をキーボード入力で変更することによってエディットフレーム７１を変形，回転，移動等して文字列の編集処理を実行することもできる様になっている。
【００５４】
なお、カラーディスプレイ１３上には、図７に示す様に、さらに、水平基準線７５及び垂直基準線７７も表示される。これらは、以下の編集処理において、模様の傾き具合いや湾曲配列の具合いなどを直観的に理解する際の助けとなる。
こうして最初に表示されたエディットフレーム７１は、基準サイズの文字を、基準文字間隔にて、傾いたり回転したりすることなく、水平に配列するためのものとして機能する。基準文字サイズは、書体毎にデフォルト値が与えられている。
【００５５】
このエディットフレーム表示状態において、文字列の入力を待つ（Ｓ１２）。文字列の入力は、キーボード１１のアルファニューメリカルキー群を操作することにより、タイプライタ感覚で実施できる。文字が一文字入力される毎に、その文字をエディットフレーム７１内に、基準サイズ，基準文字間隔にて水平に配列しつつ表示していく（Ｓ１４）。
この際、図９に示す様に、エディットフレーム７１は一文字増える毎に横方向に伸びていく。各文字は、配列ライン７１ｂに対して配置を関連付けられながら、文字原点が配列ライン７１ｂ上に乗り、かつ法線方向に直立した状態で表示される。なお、文字原点は、例えば図４（Ｂ）の如く、各文字毎に定められている。このとき、文字列は、選択されている文字列の中心が垂直基準線に一致する様に表示される。すなわち、文字列の中心を座標原点として左右に振り分ける格好で各単位文字が配置されていく。
【００５６】
一方、この文字入力においては、バックスペースキーを操作することによって、最後部から順番に文字を消去することもできる。この操作によって、エディットフレーム７１は縮むことになる。
こうして予定の文字列を入力し終えたら（Ｓ１６：ＹＥＳ）、文字編集ルーチン（Ｓ２０）を実行するか否かを判断する（Ｓ１８）。文字編集ルーチンを実行するには、前述の文字選択スイッチ７３ｇにマウスカーソルを合わせてクリックすればよい。文字編集ルーチンを実行しない場合には、文字の連結処理ルーチンを実行する（Ｓ２２）。そして、連結処理ルーチン実行後に、全体編集ルーチンに移行するか否かを判別する（Ｓ２４）。全体編集ルーチンへ移行しない場合には、この状態でリターンキーを押下するか、エディットフレームの中へマウスカーソルをもっていき、マウスの右側のクリックボタンをクリック（以下、右クリックという）すればよい。全体編集ルーチンへ移行しないと判別されたら、エディットフレーム７１の表示を消し（Ｓ２６）、現在カラーディスプレイ１３に表示されている連続模様全体を一つの模様としてその外形線データを登録する登録処理ルーチンを実行する（Ｓ２８）。これに対し、全体編集ルーチンへ移行する場合には、機能呼出マーク７１ｃ〜７１ｉのいずれかにカーソルを合わせてマウスをクリックすればよい。この操作がなされると、エディットフレーム変形処理及び刺繍模様編集処理からなる全体編集処理ルーチン（Ｓ２９）が実行される。
【００５７】
文字連結処理ルーチンでは、図１１に示す様に、まず、ディスプレイ１３に「連結位置を入力して下さい。」というメッセージを表示し（Ｓ３０）、オペレータの入力を待つ（Ｓ３２）。ここでは、オペレータは２個以上の点列若しくは入力完了のコマンドのいずれかを入力する。点列入力であるなら、点が入力される毎にこれの位置座標を記憶する（Ｓ３４）。
【００５８】
点ｐは、例えば図１２（Ａ）の「Ｌ」と「Ｏ」の間に示す様に、前の文字の内部と後の文字の内部のそれぞれに１点ずつを入力するだけでもよいし、「Ｏ」と「Ｖ」、「Ｖ」と「Ｅ」の間に示す様にさらに間の点を入力してもよい。
こうして所望の個数の点列入力が完了し、完了コマンドが指示されると、上記の点ｐ同士を結ぶ線分ｌを算出する（Ｓ３６，図１２（Ｂ））。このとき、２点だけが入力されているときには単純に直線として線分を算出する。一方、３点以上が入力されているときには自由曲線として線分を算出する。
【００５９】
次に、上記の線分を中心線とする帯模様ｂを算出し、これをディスプレイ１３上に表示する（Ｓ３８，図１２（Ｃ））。このとき、帯の幅は、予め定められているデフォルト値に基づいて自動的に決定する。なお、帯の幅を入力させるようにしてもよいし、一旦デフォルト表示した後に修正できるようにしてもよい。こうして表示された帯模様の外形線のデータは、エディットフレーム７１の原点及び配列ライン７１ｂに対する相対位置として記憶される。従って、後述の全体編集においてエディットフレーム７１が横に伸ばされたり、縦に潰されたり、湾曲させられたときには、この相対位置関係を保ったまま、帯模様も変形される。
【００６０】
こうして帯模様を表示したら、「他に連結するべき位置がありますか？」というメッセージを表示し、「あり／なし」のいずれかの入力がなされるのを待つ（Ｓ４０，Ｓ４２）。「あり」が入力された場合には、再びＳ３０へ戻り、上記の処理を繰り返す。そして、「なし」が入力されると、本ルーチンを抜ける。
【００６１】
こうして、本実施例では、オペレータがキー入力した文字を、その入力順に並んだ文字列としてディスプレイに表示すると共に、各文字の間に、文字同士を連結するための帯模様を挿入して表示する処理を実行する。
全体編集処理ルーチンは、図１３に示す様に、編集機能としていずれの機能が選択されたかを判別し（Ｓ１００）、スランター処理（Ｓ２００）、リサイザー処理（Ｓ３００）、フリーリサイザー処理（Ｓ４００）、スペーサー処理（Ｓ５００）、ローテイター処理（Ｓ６００）、アークメイカー処理（Ｓ７００）、シフター処理（Ｓ８００）のいずれかへ進む。そして、これらの各処理を１回若しくは複数回実行して編集終了が指示されると（Ｓ９００）、編集後にディスプレイ１３に表示されている模様の外形線データを抽出し、登録する処理を実行する（Ｓ９５０）。
【００６２】
次に、各機能に基づく編集処理の内容を説明する。
スランター処理の詳細を図１４に示す。この処理は、スランターマーク７１ｃがクリックされることにより開始される。
スランター処理では、まず、開始時点でのスランターマーク７１ｃの画面上座標位置から枠線７１ａの初期の斜変形角を演算して記憶する（Ｓ２１０）。枠線７１ａの斜変形角は、スランターマーク７１ｃの位置座標と配列ライン７１ｂとの関係から幾何学的に演算することができる。この際、配列ライン７１ｂが湾曲、傾斜等している場合には、それも考慮する。具体的には、図１５（Ａ），（Ｂ）に例示する角度として斜変形角が求められる。特に、配列ライン７１ｂが湾曲している場合には、その先端から後端方向に向かって接線を求め、これとの関係により斜変形角を算出する。
【００６３】
次に、所定時間毎の割り込み処理でスランターマーク７１ｃの座標位置を読み取り（Ｓ２２０）、各時点での斜変形角を計算する（Ｓ２３０）。実質的には、マーク７１ｃが動かない限りは斜変形角は変化しないから、マーク７１ｃが動いたら計算するという処理に置き換えてもよい。所定時間毎に計算をしてもよいし、動いた場合にだけ計算をしてもよい点は、以下に出て来る他のマークについても同じである。そして、各時点での斜変形角に基づいてエディットフレーム７１を変形し、再表示する（Ｓ２４０）。また、各文字及び帯模様を斜めに傾斜させて再表示する（Ｓ２５０）。このとき、斜変形角以外のデータ、例えば文字間隔や文字列の枠線幅などは元のデータのままで上記エディットフレーム７１の変形や文字及び帯模様の再表示が実施される。また、配列ライン７１ｂの先端点が動かない様にエディットフレーム７１を変形する。従って、エディットフレーム７１の高さ及び幅は変化せず、配列ライン７１ｂに対する各文字及び帯模様の位置関係はそのままで、文字同士のインターバルも変化しない。また、斜変形角と文字の変形状態との関係は、図１６の様になる。即ち、斜変形角が９０ｄｅｇより大きくなると文字は前のめりに傾き、９０ｄｅｇより小さいと後方へ斜めに傾く。そして、いずれの場合も文字はやや引き延ばされた様な形状になる。
【００６４】
こうして、マウス１２のドラッグ操作によってスランターマーク７１ｃが移動されるに伴い、その移動に追随する形でエディットフレーム７１を変形し、かつ、フレーム内の文字を斜めに変形表示する。そして、マウスのクリックボタンがリリースされると（以下、リリース操作という）、その時点で演算されている斜変形角を新データとして記憶する（Ｓ２６０，Ｓ２７０）。
【００６５】
リサイザー処理は、図１７に示す手順で実行される。この処理は、リサイザーマーク７１ｄがクリックされることにより開始される。
リサイザー処理では、まず、開始時点でのリサイザーマーク７１ｄの画面上座標位置から枠線７１ａの初期の高さを演算して記憶する（Ｓ３１０）。枠線高さは、このリサイザーマーク７１ｄから配列ライン７１ｂに引いた垂線の長さとして演算することができる。
【００６６】
次に、所定時間毎にリサイザーマーク７１ｄの座標位置を読み取り（Ｓ３２０）、各時点での枠線高さを計算する（Ｓ３３０）。そして、各時点での斜変形角に基そして、各時点での枠線高さと、最初に記憶した枠線高さとの関係から、エディットフレームを変形し、再表示する（Ｓ３４０）。このときも、配列ライン７１ｂの先端点を基準点に固定してエディットフレーム７１の変形表示が実行される。また、エディットフレーム７１の枠線幅は、例えば次の様な式（１）により算出される。
【００６７】
【数１】
0003636761.tif 000002
そして、各時点での枠線高さと初期値として記憶した枠線高さとの比に基づいて、各文字及び帯模様を相似変形させて再表示する（Ｓ３５０）。この間の表示例を示すと、図１８の様になる。即ち、エディットフレーム７１は拡大又は縮小され、その中に収まる形で文字及び帯模様も相似形にて拡大又は縮小される。
【００６８】
こうして、マウス１２のドラッグ操作によってリサイザーマーク７１ｄが移動されるに伴い、その移動に追随する形でエディットフレーム７１を変形し、かつ、フレーム内の文字を拡大・縮小してそれぞれを再表示する。そして、マウス１２がリリース操作されると、その時点で演算されている枠線高さを新データとして記憶する（Ｓ３６０，Ｓ３７０）。
【００６９】
次に、フリーリサイザー処理について説明する。この処理は、フリーリサイザーマーク７１ｅがクリックされることにより開始される。
フリーリサイザー処理では、図１９に示す様に、まず、開始時点でのフリーリサイザーマーク７１ｅの画面上座標位置から枠線７１ａの初期の高さ及び幅を演算して記憶する（Ｓ４１０）。枠線高さは、フリーリサイザーマーク７１ｅから配列ライン７１ｂに引いた垂線の長さとして演算することができる。枠線幅は、配列ライン７１ｂと上記垂線との交点から、配列ライン７１ｂの先端点までの長さとして演算することができる。なお、枠線幅の演算に当たっては、配列ライン７１ｂが湾曲しているときには、その湾曲した線分の長さとして求める。
【００７０】
次に、所定時間毎にフリーリサイザーマーク７１ｅの座標位置を読み取り（Ｓ４２０）、各時点での枠線高さ及び枠線幅を計算する（Ｓ４３０）。そして、各時点での斜変形角に基そして、各時点での枠線高さ及び枠線幅に基づいてエディットフレームを変形し、再表示する（Ｓ４４０）。このときも、エディットフレーム７１の配列ライン７１ｂの先端を基準点にして枠線７１ａが変形される。
【００７１】
そして、各時点での枠線高さ及び枠線幅と初期値としての枠線高さ及び枠線幅との比に基づいて、各文字及び帯模様を縦横比を変えて再表示する（Ｓ４５０）。この間の表示例を示すと、図２０の様になる。例えば、フリーリサイザーマーク７１ｅを上方にだけ移動させれば、エディットフレーム７１が縦方向に伸び、内部の文字及び帯模様も縦長に変形される。また、フリーリサイザーマーク７１ｅを右方向にだけ移動させれば、エディットフレーム７１が左右に伸び、内部の文字及び帯模様も横長に変形される。左右に伸びるのは、エディットフレーム７１は基準点をその中心に定義されているからである。なお、この処理において、フリーリサイザーマーク７１ｅを左方向へ移動してエディットフレーム７１の幅を短くしても、縦長の文字に変形していくことができる。なお、文字間隔は一切変更されず、元々の間隔で各文字が再表示される。
【００７２】
こうして、マウス１２のドラッグ操作によってフリーリサイザーマーク７１ｅが移動されるに伴い、その移動に追随する形でエディットフレーム７１を変形し、かつ、フレーム内の文字を縦横比を変化させながら再表示する。そして、マウス１２がリリース操作されると、その時点で演算されている枠線高さ及び枠線幅を新データとして記憶する（Ｓ４６０，Ｓ４７０）。
【００７３】
次に、スペーサー処理について説明する。この処理は、スペーサーマーク７１ｆがクリックされることにより開始される。
スペーサー処理では、図２１に示す様に、まず、開始時点でのスペーサーマーク７１ｆの画面上座標位置から枠線７１ａの初期の幅を演算して記憶すると共に、初期設定としての文字間隔も記憶する（Ｓ５１０）。枠線幅は、スペーサーマーク７１ｆから配列ライン７１ｂ上へ下ろした垂線の交点から、配列ライン７１ｂの先端点までの長さとして演算することができる。なお、この処理においても、枠線幅は、配列ライン７１ｂが湾曲しているときには、その湾曲した線分の長さとして求める。
【００７４】
次に、所定時間毎にスペーサーマーク７１ｆの座標位置を読み取り（Ｓ５２０）、各時点での枠線幅を計算する（Ｓ５３０）。そして、各時点での枠線幅に基づいてエディットフレームを変形し、再表示する（Ｓ５４０）。このときも、エディットフレーム７１の配列ライン７１ｂの先端を基準点にして枠線７１ａが変形される。
【００７５】
そして、各時点での枠線幅と初期値との差に基づいて各文字の間隔を変えて再表示をする（Ｓ５５０）。この文字間隔は、例えば次の様な式（２）により算出される。
【００７６】
【数２】
0003636761.tif 000003
この間の表示例を示すと、図２２の様になる。例えば、スペーサーマーク７１ｆを右方向に移動させれば、エディットフレーム７１が左右に伸び、内部の文字の間隔が広がり、帯模様が長くなる。また、スペーサーマーク７１ｆを左方向に移動させれば、エディットフレーム７１が縮み、内部の文字の間隔が狭まり、帯模様が短くなる。なお、この処理において、各文字の幅や高さは一切変化されないので、上記（２）式がマイナスの値となる様な場合には、文字同士が重なることがある。
【００７７】
こうして、マウス１２のドラッグ操作によってスペーサーマーク７１ｆが移動されるに伴い、その移動に追随する形でエディットフレーム７１を変形し、かつ、フレーム内の文字間隔を変化させながら再表示する。そして、マウス１２がリリース操作されると、その時点で演算されている枠線幅及び文字間隔を新データとして記憶する（Ｓ５６０，Ｓ５７０）。
【００７８】
次に、ローテイター処理について説明する。この処理は、ローテイターマーク７１ｇがクリックされることにより開始される。
ローテイター処理では、図２３に示す様に、まず、開始時点でのローテイターマーク７１ｇの画面上座標位置から初期値としての配列ライン傾斜角を演算して記憶すると共に、初期の回転角を記憶する（Ｓ６１０）。配列ライン傾斜角は、図２４に例示する様に、ローテイターマーク７１ｇと配列ライン７１ｂの先端点とを結ぶ線分の水平線に対する角度として演算することができる。従って、この（配列ライン傾斜角）＝（回転角）となる。
【００７９】
次に、所定時間毎にローテイターマーク７１ｇの座標位置を読み取り（Ｓ６２０）、各時点での配列ライン傾斜角を計算する（Ｓ６３０）。そして、初期状態に対する配列ライン傾斜角の増減を、回転角に加算して新たな回転角を求め、エディットフレームを回転し、再表示を実施する（Ｓ６４０）。このときも、エディットフレーム７１の配列ライン７１ｂの中心を基準点にして枠線７１ａが回転される。
【００８０】
そして、各時点で演算される回転角に基づいて各文字を回転させて再表示をする（Ｓ６５０）。
この間の表示例を示すと、図２５の様になる。例えば、ローテイターマーク７１ｇを右回りに移動させれば、内部の文字及び帯模様も含めてエディットフレーム７１が全体として右回りに回転する。また、ローテイターマーク７１ｇを左回りに移動させれば、内部の文字等も含めてエディットフレーム７１が全体として左回りに回転する。
【００８１】
こうして、マウス１２のドラッグ操作によってローテイターマーク７１ｇが移動されるに伴い、その移動に追随する形でエディットフレーム７１を回転し、かつ、フレーム内の文字列も回転させながら再表示される。そして、マウス１２がリリース操作されると、その時点で演算されている回転角を新データとして記憶する（Ｓ６６０，Ｓ６７０）。
【００８２】
次に、アークメイカー処理について説明する。この処理は、アークメイカーマーク７１ｈがクリックされることにより開始される。
アークメイカー処理では、図２６に示す様に、まず、開始時点でのアークメイカーマーク７１ｈの画面上座標位置を記憶すると共に、初期の円弧半径も記憶する（Ｓ７１０）。次に、所定時間毎にアークメイカーマーク７１ｈの座標位置を読み取り（Ｓ７２０）、各時点での円弧半径を計算する（Ｓ７３０）。
【００８３】
円弧半径は、図２７（Ａ）の様に下円弧となる場合にはマイナスの値として、同図（Ｃ）の様に上円弧となる場合にはプラスの値として計算される。この計算の条件としては、配列ラインの中点ＰＭを移動させず、かつ、配列ラインの長さを固定とし、アークメイカーマーク７１ｈの移動量に比例して配列ラインの先端点Ｐ１及び後端点Ｐ２が対称位置を保ったままで移動されたとしたときに、これら先端点Ｐ１，中点ＰＭ及び後端点Ｐ２の三点を結ぶ円弧の半径として算出される。
【００８４】
より具体的には、図２８に示す様に、Ｓ７２０で読み取った先端点Ｐ１の座標から、垂直基準線に対して対称位置になるべき後端点Ｐ２の座標を算出する（Ｓ７３１）。次に、中点ＰＭの座標を読み出す（Ｓ７３２）。ここで、中点ＰＭの座標は、Ｓ７１０で読み込んだ初期値に基づいて記憶されている。続いて、先端点Ｐ１と中点ＰＭとを結ぶ線分を算出し、この線分に対する垂直２等分線Ｌ１を求める（Ｓ７３３）。同じく、中点ＰＭと後端点Ｐ２を結ぶ線分を算出し、この線分に対する垂直２等分線Ｌ２を求める（Ｓ７３４）。そして、両垂直２等分線Ｌ１，Ｌ２の交点の座標を算出し、これを３点円弧の中心Ｏとする（Ｓ７３５）。後は、この円弧中心Ｏと中点ＰＭのｙ方向の座標値の差を算出すれば、半径を数値として求めることができる（Ｓ７３６）。
【００８５】
そして、この演算結果に基づいて、各時点でのエディットフレーム７１の湾曲状態を視覚的に表すための再表示を実施する（Ｓ７４０）。このときの表示基準点は、初期の配列ライン７１ｂの中点ＰＭである。そして、この湾曲表示された配列ライン７１ｂに対して、各文字を大きさ等をそのままに、各文字の底辺が配列ラインの接線方向と一致し、かつ配列ライン上での文字間隔が文字間隔データ設定値により定められた間隔になる様に、文字の再表示をする（Ｓ７５０）。
【００８６】
この間の表示例を示すと、図２９の様になる。例えば、アークメイカーマーク７１ｈを下方へ移動させれば、内部の文字等も含めてエディットフレーム７１が下円弧形状に湾曲され、アークメイカーマーク７１ｈを上方に移動させれば、内部の文字等も含めてエディットフレーム７１が上円弧形状に湾曲される。
【００８７】
こうして、マウス１２のドラッグ操作によってアークメイカーマーク７１ｈが移動されるに伴い、その移動に追随する形でエディットフレーム７１を湾曲させ、かつ、フレーム内の文字列も湾曲位置に再配置しながら再表示する。なお、帯模様に関しては、それ自体をエディットフレーム７１と同じ曲率で湾曲させるようにする。そして、マウス１２がリリース操作されると、その時点で演算されている円弧半径を新データとして記憶する（Ｓ７６０，Ｓ７７０）。
【００８８】
なお、このアークメイカー処理におけるエディットフレーム及び文字列の湾曲・再表示は、湾曲後の円弧半径にてエディットフレームを扇型に変形して表示し直すと共に、各文字の文字原点を通る基線が、この扇型に変形したエディットフレーム中の湾曲した基準線に対する接線となるように各文字をそれぞれ湾曲に沿った角度に回転させて表示している。
【００８９】
次に、シフター処理を説明する。この処理は、シフターマーク７１ｉがクリックされることにより開始される。
シフター処理では、図３０に示す様に、まず、開始時点でのシフターマーク７１ｉの画面上座標位置を記憶する（Ｓ８１０）。次に、所定時間毎にシフターマーク７１ｉの座標位置を読み取り（Ｓ８２０）、各時点での配列ライン７１ｂの平行移動量を計算する（Ｓ８３０）。配列ラインの平行移動量は、各時点でのシフターマーク位置と初期シフターマーク位置とのｘ成分，ｙ成分の差として簡単に求められる。
【００９０】
そして、この演算結果に基づいて、エディットフレーム７１を平行移動した位置に再表示する（Ｓ８４０）。また、この再表示されたエディットフレーム７１の配列ライン７１ｂに対して、大きさ，文字間隔，文字の回転角等をそのままに、各文字を再表示する（Ｓ８５０）。
【００９１】
この間の表示例を示すと、図３１の様になる。同図（Ｂ）に示す様に、アークメイカー処理によって湾曲されたデータを、その湾曲状態を保ったままで平行移動することもできる。同じく、ローテイター処理によって回転されたデータを、その回転状態を保ったままで平行移動したりすることもできる。
【００９２】
こうして、マウス１２のドラッグ操作によってシフターマーク７１ｉが移動されるに伴い、その移動に追随する形でエディットフレーム７１を平行移動させ、かつ、フレーム内の文字列も平行移動した位置に再配置しながら再表示する。そして、マウス１２がリリース操作されると、その時点で演算されているシフターマーク位置を新データとして記憶する（Ｓ８６０，Ｓ８７０）。
【００９３】
以上説明した様に、本実施例によれば、エディットフレーム７１の変形，回転，移動といった処理を実施することにより、エディットフレーム内の文字列を各文字を連結する帯模様も含めて、全体に変形，回転，移動することができ、しかも、その処理の進行状況が時々刻々とカラーディスプレイ１３上に表示される。従って、作業者は、カラーディスプレイ１３を目で見ながらビジュアル的に容易に結果を予想しつつ各種の編集作業を実施することができる。しかも、この編集作業は文字列の全体に対して一括して実施でき、かつ、変更しないデータは元のものがそのまま用いられるので、例えば文字列の間隔が予期せぬ状態にバラバラになってしまうといった様なことがない。
【００９４】
次に、文字単位での編集処理ルーチンでの処理について説明する。
この文字編集処理のメインルーチンは、マウス１２の操作にてサブボックス７３中の文字編集モード移行スイッチ７３ｇ（図１０参照）をクリックすることによって文字編集モードを選択すると開始される。
【００９５】
文字編集モードが選択されると、図３２に示す様に、最初に、編集対象文字の指定を待つ（Ｓ１０１０）。編集対象文字を指定するには、文字列上の任意の文字の上にマウスカーソルを合わせてクリックすればよい。編集対象文字が指定されたら、図３３に示す様に、カラーディスプレイ１３上に四角の枠である単位フレーム８１と、サブボックス８３とを表示する（Ｓ１０２０）。
【００９６】
単位フレーム８１は、エディットフレーム７１とほぼ同様の構成であり、図３４に示す様に、枠線８１ａ，配列ライン８１ｂ，機能呼出マーク８１ｃ〜８１ｇ，８１ｉから構成されている。なお、枠線８１ａの幅は、（文字の幅）＋（後続文字までの間隔）になっている。
【００９７】
単位フレーム８１の機能呼出マークは、エディットフレームよりも一つすくなく、アークメイカー処理が指定できない様になっている。各機能呼出マークを、全体編集処理と同様に、スランターマーク８１ｃ、リサイザーマーク８１ｄ、フリーリサイザーマーク８１ｅ、スペーサーマーク８１ｆ、ローテイターマーク８１ｇ、シフターマーク８１ｉとよぶ。単位フレーム８１のスペーサーマーク８１ｆは、エディットフレームのそれとやや異なり、単位フレーム８１を文字列の配列方向に伸縮することでこの単位フレームを被された文字とその後続文字との配列間隔だけを設定・変更など指示する手段としての機能を呼び出す役割を受け持っている。これ以外のスランターマーク８１ｃ、リサイザーマーク８１ｄ、フリーリサイザーマーク８１ｅ、ローテイターマーク８１ｇ、シフターマーク８１ｉは、変形，回転，移動等されるのが単位フレーム８１及び単位文字であるだけで、エディットフレーム７１のそれとほぼ同様の機能を呼び出す役割を果たしている。
【００９８】
サブボックス８３は、図３５に示す様に、編集内容を数値で表したテーブルを表示するものであり、単位フレーム８１の形状に応じて数値が変化する。テーブル内容は全体編集処理のサブボックス７３に対するものとほぼ同様であるが、文字列全体ではなく単位文字の、「高さ」，「高さに対する幅の比率」，「後続文字との間隔」，「回転角度」，「斜変形角度」に関する各データの設定値表示部８３ａ〜８３ｅを備えたテーブルである。
【００９９】
ここでも、サブボックス８３の方の数値をキーボード入力で変更して単位フレーム８１を変形，回転，移動等して単位文字の編集処理を実行することもできる様になっている。
こうして表示された単位フレーム８１は、編集対象である文字に被さる。従って、既にこの文字が拡大や回転等されていれば、拡大や回転等した単位フレームになる。
【０１００】
この単位フレーム表示状態において、編集機能の指定を待つ（Ｓ１０３０）。なお、編集へ移行しない場合には、この状態でリターンキーを押下するか、単位フレームの中でマウスを右クリックして終了を指示すればよい。かかる操作をした場合には、単位フレーム８１の表示を消し（Ｓ１０４０，Ｓ１０４５）、本ルーチンを抜ける。これに対し、編集機能の指定は、機能呼出マーク８１ｃ〜８１ｇ，８１ｉのいずれかにカーソルを合わせてマウスをクリックすればよい。この操作がなされると、単位フレーム変形処理，単位文字編集処理及び隣接文字列調整処理等からなる単位模様編集処理（Ｓ１０６０）が実行される。
【０１０１】
単位模様編集処理は、図３６に示す様に、いずれの機能が選択されたかを判別し（Ｓ１１００）、スランター処理（Ｓ１２００）、リサイザー処理（Ｓ１３００）、フリーリサイザー処理（Ｓ１４００）、スペーサー処理（Ｓ１５００）、ローテイター処理（Ｓ１６００）、シフター処理（Ｓ１８００）のいずれかへ進む。そして、これらの各処理を１回、若しくは複数回実行して編集終了が指示されると本ルーチンを抜ける（Ｓ１９００）。
【０１０２】
次に、各機能に基づく編集処理の内容を説明する。
スランター処理の詳細を図３７に示す。この処理は、スランターマーク８１ｃがクリックされることにより開始され、まず、開始時点でのスランターマーク８１ｃの画面上座標位置から枠線８１ａの斜変形角の初期値を演算して記憶し（Ｓ１２１０）、所定時間毎にスランターマーク８１ｃの座標位置を読み取って各時点での斜変形角を計算する（Ｓ１２２０，Ｓ１２３０）。そして、各時点での斜変形角に基づいて単位フレーム８１を変形・再表示し（Ｓ１２４０）、それに合わせて各文字を斜めに傾斜させて再表示する（Ｓ１２５０）。このとき、斜変形角以外のデータ、例えば文字高さや文字幅などは元のデータのままで上記単位フレーム８１の変形や文字の再表示が実行される。また、単位フレーム８１の変形は、配列ライン８１ｂの先端点が動かない様にしてなされる。
【０１０３】
例えば、図３８に示す様に、「ＬＯＶＥ」の「Ｌ」だけを前方や後方に傾斜した書体に変更することができる。
こうして、マウス１２のドラッグ操作によってスランターマーク８１ｃが移動されるに伴い、その移動に追随する形で単位フレーム８１を斜変形させ、かつ、フレーム内の文字を斜変形表示し、必要に応じて先行文字列又は後続文字列をずらす。そして、マウス１２がリリース操作されると、その時点で演算されている斜変形角を新データとして記憶する（Ｓ１２６０，Ｓ１２７０）。
【０１０４】
リサイザー処理は、リサイザーマーク８１ｄがクリックされることにより開始され、図３９に示す手順で実行される。
まず、全体編集処理でのリサイザー処理と同様に、開始時点でのリサイザーマーク８１ｄの画面上座標位置から枠線８１ａの初期の高さを演算して記憶し、所定時間毎にリサイザーマーク８１ｄの座標位置を読み取り、各時点での枠線高さを計算する（Ｓ１３１０〜Ｓ１３３０）。そして、各時点での枠線高さと、最初に記憶した枠線高さとの関係から、単位フレームを変形・再表示する（Ｓ１３４０）。このときも、配列ライン８１ｂの先端点を基準点にして単位フレーム８１の変形表示が実行される。また、単位フレームの枠線幅は、例えば次の様な式（３）により算出される。
【０１０５】
【数３】
0003636761.tif 000004
そして、各時点での枠線高さと初期枠線高さとの比に基づいて、各文字を相似変形させて再表示する（Ｓ１３５０）。この間の表示例を示すと、図４０の様になる。即ち、単位フレーム８１は拡大又は縮小され、その中に収まる形で文字も相似形にて拡大又は縮小される。
【０１０６】
リサイザー処理では、単位フレームが拡大される場合には後続文字列をさらに後方へずらし、縮小される場合には後続文字列を前方へとずらす必要がある。また、先行文字列についても、単位フレームが拡大される場合にはさらに前方へずらし、縮小される場合には後方へとずらす必要がある。このため、例えば式（４）にてずらし量を算出し（Ｓ１３５５）、前後の文字列を後方又は前方へずらした状態になるように再表示する（Ｓ１３５７）。
【０１０７】
【数４】
ずらし量＝（初期枠線幅）−（枠線幅計算値）  …（４）
ここで、ずらし量が負ならば後方へのずらし量であることを、正なら前方へのずらし量であることを表す。図４０は、後方文字を後方へずらすべき例である。ずらす方向は、スランター処理の場合と同様に、文字列全体に対して設定されるべきエディットフレームの配列ラインに沿った方向である。従って、配列ラインが崩れたりしない。また、元の文字間隔は正しく維持される。
【０１０８】
こうして、マウス１２のドラッグ操作によってリサイザーマーク８１ｄが移動されるに伴い、その移動に追随する形で単位フレーム８１を変形し、かつ、フレーム内の文字を拡大・縮小してそれぞれを再表示し、さらに後続の文字列をずらして再表示する。そして、マウス１２がリリース操作されると、その時点で演算されている枠線高さを新データとして記憶する（Ｓ１３６０，Ｓ１３７０）。
【０１０９】
フリーリサイザー処理は、フリーリサイザーマーク８１ｅがクリックされることにより開始される。図４１に示す様に、まず、全体編集処理でのフリーリサイザー処理と同様に、開始時点でのフリーリサイザーマーク８１ｅの画面上座標位置から枠線８１ａの初期の高さ及び幅を演算して記憶し（Ｓ１４１０）、所定時間毎にフリーリサイザーマーク８１ｅの座標位置を読み取り、各時点での枠線高さ及び枠線幅を計算する（Ｓ１４２０，Ｓ１４３０）。そして、各時点での枠線高さ及び枠線幅に基づいて単位フレーム８１を変形・再表示する（Ｓ１４４０）。この変形表示も、配列ライン８１ｂの先端を基準点にしてなされる。
【０１１０】
そして、各時点での枠線高さ及び枠線幅と初期の枠線高さ及び枠線幅との比に基づいて、各文字を縦横比を変えて再表示する（Ｓ１４５０）。
フリーリサイザー処理では、リサイザー処理と同様に、例えば式（４）にてずらし量を算出し（Ｓ１４５５）、前後の文字列を後方又は前方へずらした状態となるように再表示する（Ｓ１４５７）。なお、単位フレーム８１が高さ方向にだけ変形されるときは、後続文字列はずらす必要がない。この間の表示例を示すと、図４２の様になる。
【０１１１】
こうして、マウス１２のドラッグ操作によってフリーリサイザーマーク８１ｅが移動されるに伴い、その移動に追随する形で単位フレーム８１を変形し、かつ、フレーム内の文字を縦横比を変化させながら再表示し、さらに、後続文字列をずらして再表示する。そして、マウス１２がリリース操作されると、その時点で演算されている枠線高さ及び枠線幅を新データとして記憶する（Ｓ１４６０，Ｓ１４７０）。この処理においても必要に応じて元の表示状態に復帰させることができる（Ｓ１４８０，Ｓ１４９０）。
【０１１２】
スペーサー処理は、スペーサーマーク７１ｆがクリックされることにより開始される。図４３に示す様に、まず、開始時点でのスペーサーマーク８１ｆの画面上座標位置から枠線８１ａの初期の幅を演算して記憶すると共に、初期の文字間隔も記憶する（Ｓ１５１０）。次に、所定時間毎にスペーサーマーク７１ｆの座標位置を読み取り、各時点での枠線幅を計算し、各時点での枠線幅に基づいて単位フレームを変形・再表示する（Ｓ１５２０〜Ｓ１５４０）。このときも、配列ライン８１ｂの先端を基準点にして枠線８１ａが変形される。そして、各時点での枠線幅と初期の枠線幅との差に基づいて後続文字列をずらして再表示する（Ｓ１５５０）。このずらし量は、上述の式（４）により算出される。なお、単位フレームを被された文字は、初期の表示状態を維持する。この間の表示例を示すと、図４４の様になる。
【０１１３】
こうして、マウス１２のドラッグ操作によってスペーサーマーク８１ｆが移動されるに伴い、その移動に追随する形で単位フレーム８１を変形し、かつ、後続文字列をずらしながら文字列の再表示をする。そして、マウス１２がリリース操作されると、その時点で演算されている枠線幅及び文字間隔を新データとして記憶する（Ｓ１５６０，Ｓ１５７０）。この処理においても必要に応じて元の表示状態に復帰させることができる（Ｓ１５８０，Ｓ１５９０）。
【０１１４】
ローテイター処理は、ローテイターマーク８１ｇがクリックされることにより開始される。
ローテイター処理では、図４５に示す様に、まず、開始時点でのローテイターマーク８１ｇの画面上座標位置から初期の配列ライン傾斜角を演算し、初期の回転角のデータとして記憶する（Ｓ１６１０）。単位フレーム８１においては、湾曲処理はなされないので、常に、（配列ライン傾斜角）＝（回転角）となる。
【０１１５】
次に、所定時間毎にローテイターマーク８１ｇの座標位置を読み取り、各時点での回転角を計算し、単位フレームの回転・再表示を実施し、さらにフレーム内の文字の回転・再表示も実行する（Ｓ１６２０〜Ｓ１６５０）。このときも、配列ライン８１ｂの先端を基準点にして枠線８１ａが回転される（図４６参照）。
【０１１６】
こうして、マウス１２のドラッグ操作によってローテイターマーク８１ｇが移動されるに伴い、その移動に追随する形で単位フレーム８１の回転、フレーム内の文字の回転をしながら再表示をする。そして、マウス１２がリリース操作されると、その時点で演算されている回転角を新データとして記憶する（Ｓ１６６０，Ｓ１６７０）。
【０１１７】
シフター処理は、シフターマーク８１ｉがクリックされることにより開始される。シフター処理では、図４７に示す様に、まず、開始時点でのシフターマーク８１ｉの画面上座標位置を記憶し（Ｓ１８１０）、次に、所定時間毎にシフターマーク８１ｉの座標位置を読み取って各時点での配列ライン８１ｂの平行移動量を計算する（Ｓ１８２０，Ｓ１８３０）。配列ラインの平行移動量は、各時点でのシフターマーク位置と初期シフターマーク位置とのｘ成分，ｙ成分の差として簡単に求められる。
【０１１８】
そして、この演算結果に基づいて、単位フレーム８１を平行移動した位置に再表示し（Ｓ１８４０）、この再表示された単位フレーム８１の配列ライン８１ｂに対して、大きさ，文字の回転角等をそのままに、文字を再表示する（Ｓ１８５０）。なお、シフター処理では、他の文字列のずらし処理は行わない。
【０１１９】
この間の表示例を示すと、図４８の様になる。ローテイター処理によって回転されたデータを平行移動したりすることもできる。
こうして、マウス１２のドラッグ操作によってシフターマーク８１ｉが移動されるに伴い、その移動に追随する形で単位フレーム８１を平行移動させ、かつ、フレーム内の文字も平行移動した位置に再配置しながら再表示する。そして、マウス１２がリリース操作されると、その時点で演算されているシフターマーク位置を新データとして記憶する（Ｓ１８６０，Ｓ１８７０）。
【０１２０】
以上説明した単位フレーム８１の変形，回転，移動等により全体の文字列が再配置された結果は、図４９に示す様に、「ＬＯＶＥ」の文字列の初期状態において全体に被されるべきエディットフレーム７１の配列ライン７１ｂに対し、各単位フレーム８１Ｌ，８１Ｏ，８１Ｖ，８１Ｅの相対位置関係として記憶される。即ち、エディットフレーム７１の配列ライン７１ｂ上に、各文字の中点が連結ポイントＰＰＬ，ＰＰＯ，ＰＰＶ，ＰＰＥとして定まっており、この連結ポイントＰＰＬ，ＰＰＯ，ＰＰＶ，ＰＰＥを始点とした法線Ｎと接線Ｔとを直交座標系として各単位模様の連結状態が定まる。
【０１２１】
従って、エディットフレーム７１が湾曲変形されて配列ライン７１ｂが湾曲されても、文字編集処理によって施された配列関係は活かしたままで刺繍模様の全体を編集することができる。即ち、図４９（Ｂ）に示す様に、単位フレーム操作によって処理された後の文字列全体をさらに湾曲させるなどの処理を実施することもできる。
【０１２２】
この様に、本実施例では、全体編集に先立って、ある文字だけを、傾かせたり、縦横比を変化させたり、拡大，縮小したり、回転させたり、移動させたりすることができるだけでなく、必要に応じてずらし処理をする配置位置調整手段としての機能も備えているので、全体の模様の関係は崩れない。さらに、エディットフレームの変形処理を行っても、単位フレームを用いた編集，調整の結果を活かしたままで、模様全体の編集を実行することができる。
【０１２３】
この結果、従来困難で面倒な作業を必要とした、複雑かつ変化に富む模様もディスプレイ表示を見ながらビジュアル的に理解しやすい状態で設計することができる様になった。
次に、データ登録処理について説明する。
【０１２４】
データ登録処理では、図５０に示す様に、まず、文字及び帯模様に順位を付ける（Ｓ２０００）。本実施例では、左側から模様番号ｋ＝１，２，３，…，ｎと優先順位をつけていく。次に、各文字及び帯模様の外形線同士の交点を算出する（Ｓ２０１０）。続いて、ｋ＝１の文字の外形データ中の始点をスタートポイントとして、右周りに外形データの追跡を開始する（Ｓ２０２０）。
【０１２５】
こうして追跡を開始したら、その軌跡を外形点列データとして記憶しつつ（Ｓ２０３０）、交点が現れるまではそのまま追跡を続行する（Ｓ２０４０）。交点が現れたら、追跡対象の模様番号ｋに１を加え（Ｓ２０５０）、ｋ＞ｎとなっていないことを確認したら（Ｓ２０６０）、交点から、新たなｋで示される模様に乗り換えて外形線を右周りに追跡する（Ｓ２０２０）。
一方、ｋ＞ｎとなっていた場合には（Ｓ２０６０＝ＹＥＳ）、ｋ＝ｎ−１と設定し直し（Ｓ２０７０）、交点から、新たなｋで示される模様に乗り換えて外形線を右周りに追跡し、軌跡を記憶していく（Ｓ２０８０，Ｓ２０９０）。そして、始点に戻ったか否かを判断しながら（Ｓ２１００）、始点に戻るか（Ｓ２１００＝ＹＥＳ）、次の交点が現れるまでは（Ｓ２１１０＝ＮＯ）、追跡を続行する。
【０１２６】
次の交点が現れた場合には（Ｓ２１１０＝ＹＥＳ）、追跡対象の模様番号ｋから１を引き（Ｓ２１２０）、Ｓ２０８０へ戻る。
始点が現れた場合には（Ｓ２１００＝ＹＥＳ）、これまでに記憶してきた軌跡を連続した文字列模様の外形線データとして登録する（Ｓ２１４０）。そして、この文字列中に、「Ａ」，「Ｏ」，「Ｐ」などのような中抜きの文字が含まれている否かを判断し（Ｓ２１６０）、中抜きの文字がある場合には、その中抜き部分の外形データをそのまま外形線データとして登録する（Ｓ２１８０）。
【０１２７】
こうして、帯模様で連結された文字列の全体を一つの模様として把握し直し、その外形線のデータを抽出することができる。
次に、こうして抽出した外形線データに基づいて、アップリケ用データを作成する処理について説明する。
【０１２８】
この処理では、図５１に示す様に、まず、上記抽出した外形線データを読み出す（Ｓ２２００）。そして、この外形線データに基づいて、Ｘ，Ｙモータ２７ｘ，２７ｙの駆動制御データと、ソレノイド２８のオン／オフ制御データと、熱源ユニットのオン／オフ制御データとからなる切断データを作成し、登録する（Ｓ２２２０）。このとき、中抜き部分がある場合には、当該部分のデータの方を切断順位が先のものとして登録する。これは、外回りを切り抜いてから中抜きをすると、小さくなった布片を切断することになることによってカット機上で布がずれやすくなるのを防止するためである。なお、具体的な切断データは、熱源ユニット２９をオンにすると共にＸ，Ｙモータ２７ｘ，２７ｙを駆動して切断開始位置までヒートカッタ２２を移動し、そこでソレノイド２８をオンにして後は、中抜きデータ及び外形線データに沿ってＸ，Ｙモータ２７ｘ，２７ｙを駆動する制御データとなる。この際、中抜きデータ同士の間や中抜きデータから外形線データへ移動するところには、ソレノイド２８をオフにしてヒートカッタ２２を一旦上昇させ、次の切断開始位置までＸ，Ｙモータ２７ｘ，２７ｙを駆動したら再びソレノイド２８をオンにしてヒートカッタ２２を下降させる制御データが形成される。
【０１２９】
次に、上記の外形線データに基づき、この外形線データ上を所定のピッチで歩き縫いする位置決め用仮縫いデータを作成し、登録する（Ｓ２２４０）。具体的には、例えば、外形線データの始点を最初の針落ち点とし、そこから右周りに外形線データ上で一定ピッチで針落ち点を算出し、歩き縫いデータを作成する。あるいは、ピッチ一定とするのではなく、特徴点を拾いながら、それを針落ち点とするようにしてもよい。
【０１３０】
次に、外形線データに対して、一定距離だけ模様の内側にオフセットした内周データを作成し、登録する（Ｓ２２６０）。そして、外形線データ上の始点を最初の針落ち点とし、次に、内周データ上の点、以下、外形線データ上，外形線データ上，内周データ上，外形線データ上，外形線データ上，内周データ上，…と針落ち点を設定し、例えば、Ｅステッチによる止め縫いデータを作成し、これを登録する（Ｓ２２８０）。
【０１３１】
次に、外形線データに対して、一定距離だけ模様の外側にオフセットした外周データを作成し、登録する（Ｓ２３００）。そして、この外周データと、先に作成した内周データとから、例えば、内周データ上，外周データ上，内周データ上，外周データ上，…、あるいは、内周データ上，内周データ上，外周データ上，外周データ上，内周データ上，内周データ上，外周データ上，…など、といった具合いに針落ち点を設定し、サテンステッチその他による刺繍縫いデータを作成し、これを登録する（Ｓ２３２０）。
【０１３２】
こうして、切断データ、仮縫いデータ、止め縫いデータ及び刺繍縫いデータがそれぞれ自動作成され、登録される。なお、歩き縫い、Ｅステッチ、サテンステッチのピッチ等の情報については、予め固定値を登録しておいてもよいし、上記の処理の際に指定できるようにしてもよい。
【０１３３】
次に、データ格納処理について説明する。
この処理では、図５２に示す様に、上記登録した切断データを読み出し（Ｓ２４２０）、これをＦＤＤ１５のＮｏ．１ドライブに装着されたカット機用データディスクＦＤ１に書き込む（Ｓ２４３０）。続いて、上記登録した仮縫いデータ、止め縫いデータ及び刺繍縫いデータがそれぞれ自動作成され、登録される。なお、歩き縫い、Ｅステッチ、サテンステッチの縫い付けデータを読み出し（Ｓ２４４０）、これをＦＤＤ１５のＮｏ．２ドライブに装着された刺繍機用データディスクＦＤ２に書き込む（Ｓ２４６０）。
【０１３４】
こうして、データ作成装置１０によるアップリケ用データの作成が完了したら、ＦＤ１をカット機２０に装着し、生地をセットして、図５３（Ａ）に示す様に、アップリケ用布片を切り出す。そして、次に、ＦＤ２を刺繍ミシン３０にセットし、アップリケを施すべき布地を刺繍枠にセットして、まずは位置決め用の仮縫いを実行する（Ｂ）。そして、この仮縫いにより現れた模様とアップリケ用布片とが重なる様に、布片を布地上に糊付けする（Ｃ）。続いて、止め縫いデータに基づく処理をスタートさせ、止め縫い用ステッチにて布片を布地上に止め縫いする（Ｄ）。最後に、刺繍縫いデータに基づく処理をスタートさせ、サテンステッチにて布片を布地上にしっかりと縫い付ける（Ｅ）。なお、この刺繍縫いの進行状況は、刺繍ミシン３０のディスプレイ３５にも表示し、次の布地への交換時期を、刺繍ヘッドのところを覗き込まなくても分かるようにしてある。
【０１３５】
以上説明してきたアップリケ作成システムによれば、従来の様な型紙を作成することなく、既存の文字データに基づいて、連続模様の外形線データを自動的に作成することができる。従って、従来は不可能であった既存データに基づく連続模様の作成ができるようになり、少量多品種生産の要望に迅速に応えることができ、かつ十分にペイする値段で連続模様のアップリケ製品を提供できるようになる。
【０１３６】
また、ディスプレイ画面を見ながら編集を加えることができるので、既存の文字データに基づいてアップリケ用データを作成するにもかかわらず、非常に任意性に富んだ模様を作成することができる。
次に、第２実施例として、平行タタミ縫いによる刺繍システムを説明する。
【０１３７】
第２実施例のシステムは、第１実施例の機器構成の内、カット機２０を除く、データ作成装置１０と、刺繍ミシン３０とから構成される。ただし、データ作成装置は、刺繍をするための連続模様の外形線データの抽出と、この外形線データからタタミ縫いによる刺繍データを作成する処理とを実行するようにプログラムされている。
【０１３８】
この刺繍データ作成プログラムは、図５４に示す様に、エディット処理（Ｓ３００２）、平行タタミ縫いデータ作成処理（Ｓ３００４）、データ格納処理（Ｓ３００６）から構成される。エディット処理は、第１実施例と全く同じであり、文字を入力し、帯模様を挿入し、必要に応じて編集を加えた結果の連続文字列を一つの模様として把握し直し、外形線データを作成・登録する処理である。
【０１３９】
平行タタミ縫いデータ作成処理は、この外形線データに基づいて実行される。まず、図５５に示す様に、外形線データを読み出し、ディスプレイ上に画像表示する（Ｓ３０１０）。次に、平行タタミ縫いの方向ｄｉｒの入力を促すメッセージをディスプレイに表示し（Ｓ３０２０）、入力を待つ（Ｓ３０３０）。オペレータはマウスを利用して２点を入力し、方向ｄｉｒを指定する。ｄｉｒの入力があったら、この方向ｄｉｒをｘ軸に一致させるように、模様全体を回転させる（Ｓ３０４０）。例えば、図５６（Ａ）に示す様に方向ｄｉｒが入力されたとすると、図示の模様は、同図（Ｂ）に示す様に回転される。具体的には、外形線データを一次変換して得られる。
【０１４０】
こうして一次変換された外形線データに対して、次に、縫い終わり点（以下、Ｏ点という）を起点として平行タタミ縫いのピッチに対応する間隔で平行線を形成していく（Ｓ３０５０，図５７（Ａ））。そして、中抜き部分の中央に一番近く、かつ、Ｓ３０５０で形成した平行線の中心に相当する位置から左方向へと切断線ＣＬを形成する（Ｓ３０６０）。こうして切断線が形成されたら、図５７（Ｂ）に例示する様に、中抜き部分をこの切断線ＣＬで切開して中抜きをなくした模様を、以後の処理対象となる連続模様として捉え直す（Ｓ３０７０）。
【０１４１】
以後は、この中抜きがないものとみなされた模様に基づき、特異点抽出処理（Ｓ３０８０）、順序決定処理（Ｓ３０９０）、平行タタミ縫いのための刺繍データ作成処理（Ｓ３１００）が実行される。
なお、Ｓ３０５０，Ｓ３０６０のように、平行タタミ縫いの縫目の間に切断線ＣＬを決定し、中抜き模様を切開するので、切開位置が縫目と重なることがなく、縫目の飛びを防止できる。よって、中抜き部分を切開したにも拘らず、仕上がりの刺繍模様には切開部分が分からないようになり、見た目に美しい刺繍製品を提供することができる。
【０１４２】
特異点抽出処理では、図５８に示す様に、まず、模様の外形線データ中のｘ座標値の最大値ｘmax と最小値ｘmin とを算出する（Ｓ３２１０）。そして、ｘmin からｘmax に至るまで、時計方向ＣＷに外形線データを追跡しながら、ｙ増分△ｙの正負の変化を調べる（Ｓ３２２０）。そして、この調査の結果に基づいてＣ点及びＢ点を特定し、抽出する（Ｓ３２３０）。この特定においては、中抜き部分及び切断部分を除き、△ｙが「正から負」へ変化する点をＣ点と、「負から正」へ変化する点をＢ点と定義し、それぞれを記憶する。
【０１４３】
こうして、ｘmin からｘmax に至る外形線の追跡調査及びＢ点，Ｃ点の抽出が完了したら、次に、ｘmax からｘmin に至るまで、やはり時計方向ＣＷに外形線データを追跡し、△ｙの変化を調べる（Ｓ３２４０）。そして、この調査の結果に基づいてＣ点及びＢ点を特定し、抽出する（Ｓ３２５０）。この特定においては、中抜き部分及び切断部分以外の部分については、今度は、△ｙが「負から正」へ変化する点をＣ点と、「正から負」へ変化する点をＢ点と定義する条件に切り換えて、特異点の抽出を実行する。
【０１４４】
Ｓ３２３０及びＳ３２５０における中抜きの部分からの特異点の抽出方法としては、当該中抜き部分を切断線で上下に二分した下半分に関しては、△ｙが「負から正」へ変化する点をＣ点と、「正から負」へ変化する点をＢ点と定義し、上半分については△ｙが「正から負」へ変化する点をＣ点と、「負から正」へ変化する点をＢ点と定義する。また、切断部分は追跡方向の終わり側の点を強制的にＣ点として定義することとする。
【０１４５】
こうして、時計方向ＣＷに一周し終えたら、次に、ｘmax ，ｘmin を跨ぐ前後の所定範囲について、時計方向ＣＷに外形線データを追跡し、ｙ増分△ｙの変化を調べ、△ｙが「正から負」へ変化する点をＣ点と、「負から正」へ変化する点をＢ点と定義し、それぞれを記憶することにより、ｘmax ，ｘmin が特異点に該当するか否かを確認する（Ｓ３２６０）。なお、特異点の抽出に当り、△ｙの変化が、「正→０→負」とか、「負→０→正」となる場合には、「０→負」となる点を「正→負」となる特異点と、「０→正」となる点を「負→正」となる特異点とみなすこととする。
【０１４６】
このようにして、模様の内部から見たときに外へ向かって凸となっている部分のピークをＣ点という特異点と、凹となっている部分の底のピークをＢ点という特異点として定義し、抽出することができる。
続いて、各Ｂ点から、ｙ軸に平行な線を形成し、それらと外形線データとの交点を算出し、これらをＴ点という特異点と定義し、記憶する（Ｓ３２７０）。
【０１４７】
以上の処理の結果、特異点がどのように抽出されるのかを例示する（図５９）。図中●がＣ点、▲がＢ点、■がＴ点である。この例の様に、一般的には、幾何学図形の性質上、Ｃ点はＢ点よりも２個多くなる。また、Ｔ点は、Ｂ点の２倍の個数になる。
【０１４８】
こうして特異点の抽出ができたら、次に、順序決定処理へ移行する。
順序決定処理では、図６０に示す様に、Ｏ点を検討開始点ｓｐに設定し（Ｓ３４１０）、時計方向ＣＷに見たとき検討開始点ｓｐの一つ前の点を検討終了点ｅｐとして設定する（Ｓ３４２０）。次に、点ｓｐから点ｅｐへ至る点列中にＴ点が一つ以上あるか否かを判定し（Ｓ３４３０）、一つ以上ある場合には検討開始点ｓｐから時計方向ＣＷに見た場合に最初に発見されるＴ点をエリア特定端点ｗとする（Ｓ３４４０）。このエリア特定端点ｗは、以下のエリア検討において単位エリアを特定するための基準点であり、最終的に特定された単位エリアを釣鐘状と見たときの底辺の左端となる点（Ｌ点）となる。
【０１４９】
こうしてエリア特定端点ｗ（順方向最初に発見したＴ点）が特定できたら、当該エリア特定端点ｗから、さらに順方向ＣＷに検討終了点ｅｐに至るまでの間に特異点がＣ点，Ｂ点の順番に連続しているか否かを判定する（Ｓ３４５０）。即ち、順方向にＴ点→Ｃ点→Ｂ点の順番に特異点が連続しているか否かを判定する。ここで、「Ｔ点→Ｃ点→Ｂ点の順番に特異点が連続している」とは、「Ｔ点→（Ｔ点）→Ｃ点→Ｂ点」とか「Ｔ点→（Ｂ点）→Ｃ点→Ｂ点」といった他の属性の点（（）でくくった点）を介装することなく「Ｔ点→Ｃ点→Ｂ点」とのみ連続するものという意味である。
【０１５０】
Ｓ３４５０にて「ＮＯ」と判定された場合には、エリア特定端点ｗから反時計方向（逆方向）ＣＣＷにＯ点に至るまでの間に特異点がさらにＣ点，Ｂ点の順番に連続しているか否かを判定する（Ｓ３４６０）。即ち、順方向ＣＷがだめなら逆方向ＣＣＷにＴ点→Ｃ点→Ｂ点の順番に特異点が連続しているか否かを判定する。
【０１５１】
順方向ＣＷ，逆方向ＣＣＷ共に「ＮＯ」と判定されたら、現在のエリア特定端点ｗを新たな検討開始点ｓｐとしてＳ３４４０以下の処理を繰り返す（Ｓ３４７０）。なお、Ｔ点が一つ以上存在する限り、図形の性質上必ずいつかはＳ３４５０又はＳ３４６０が「ＹＥＳ」となる。
【０１５２】
Ｓ３４５０又はＳ３４６０が「ＹＥＳ」となった場合には、当該Ｔ点，Ｃ点，Ｂ点及びそれらの間の点列により囲まれる閉図形を単位エリアとして特定し、Ｔ点をＬ点（単位エリアを釣鐘状と見たときの底辺左端にあたる点）と、Ｃ点をＭ点（単位エリアを釣鐘状と見たときの頂点にあたる点）と、Ｂ点をＲ点（単位エリアを釣鐘状と見たときの底辺右端にあたる点）と、それぞれ命名すると共にその点番号をマイクロコンピュータ１７のＲＡＭ内に設定した単位エリア記憶領域の空き領域の先頭に記憶する（Ｓ３４８０）。そして、これら今回の処理で発見されたＴ点，Ｃ点，Ｂ点及び、今回発見したＴ点と対になるＴ点の４つの特異点の属性を無属性にし（Ｓ３４９０）、再びＳ３４１０以下の処理を繰り返す。なお、この後のＳ３４１０以下の処理においては、最初の点列により特定される閉図形から、今回特定されたブロックのＬ点からＭ点を経てＲ点へ至る部分がなくなった外形線データについて検討を行う。
【０１５３】
こうして処理を繰り返していく内に属性Ｔの点が全て無属性とされると、Ｓ３４３０が「ＮＯ」となる。このとき、自動的に属性Ｂの点も全て無属性となっているが、属性Ｃの点は未だ２個残っている。
こうしてＳ３４３０が「ＮＯ」となると、最後に残った二つのＣ点を含む閉図形を最終エリアとして特定し、単位エリア記憶領域に記憶する（Ｓ３５００）。なお、本実施例では、最初の入力において刺繍経路の終点を指定する場合に、このＣ点のいずれかをＯ点として指定することとしている。デザインした閉図形の尖った点の中からＯ点を指定するのである。従って、残った二つのＣ点の内の一方が必ずＯ点となっている。そこで、このＳ３３５０の処理においては、Ｏ点をブロックのＬ点及びＲ点として、もう一つのＣ点をＭ点として記憶する。
【０１５４】
以上の処理の進行状況を、図６１以下にて説明する。本実施例では、一次変換後の模様の頂点＝Ｏ点と、自動的に指定されるものとしている。
すると、最初のＣＷ方向への追跡により、図中ハッチングで示したエリアＡ１が最初の単位エリアとして抽出される。そこで、次に、図６２に示す様に、エリアＡ１がなくなった残りの模様について特異点の追跡が実行される。ただし、この状態では、ＣＷ方向では「Ｔ→Ｃ→Ｔ」となり、ＣＣＷ方向も「Ｔ→Ｃ→Ｔ」となる。そこで、ｓｐ点をずらすことになる。こうして、ｓｐ点が図６２に示すところまでずらされてきて初めて、「Ｔ→Ｃ→Ｂ」となるエリアＡ２抽出される。その後は、ｓｐ点が図６３に示すところまでずらされてきて初めて、「Ｔ→Ｃ→Ｂ」となるエリアＡ３が抽出される。以下、図６４〜図７２に示す様に、ｓｐ点をずらしながらエリアＡ４以下が抽出され、図７３に示す様に、模様中の全てのＢ点及びＴ点がなくなると、最終エリアＡ１３が抽出される。また、この最終エリアの頂点を正規の縫い終わり点としてＯ点が定義しなおされる。
【０１５５】
以上の処理の結果、ＲＡＭ内の単位エリア記憶領域には、図７４に示す様に、各エリアＡ１〜Ａ１３を構成するＴ点，Ｃ点，Ｂ点が、Ｌ点，Ｒ点，Ｍ点と定義されて記憶されることになる。各特異点とその位置の対応関係については、図７５に示した。
【０１５６】
この様に、模様全体を１３のエリアに分割することができた訳であるが、上述の処理は単にこのエリア分割をするだけでなく、その特定された順番に各エリアに刺繍縫目を形成していくこととすれば、先に縫ったエリアを縫糸が渡ってしまうといったことが生じないという縫目形成順まで決定する処理を兼ねている。これは、種々の図形について上記手法によるエリア分割を試みて確認できた。
【０１５７】
なお、図の例では、縫い終わり点Ｏ点は、最終的には、エリア１３の頂点Ｃ１３に設定し直される。
こうして、単位エリアと縫目形成順が決定されると、いよいよ刺繍データ作成処理が開始される。刺繍データ作成処理は、図７６に示す様に、輪郭構造設定処理（Ｓ３６０２）と、縫目形成経路決定処理（Ｓ３６０４）と、連結経路算出処理（Ｓ３６０６）とからなる。
【０１５８】
輪郭構造設定処理では、各単位エリアを特定するＬ点，Ｍ点，Ｒ点（以下、構造要素ともいう）をもとに、任意のエリアの具体的な輪郭構造を決定する。ここで得られる輪郭構造は、そのエリアの構造要素Ｍ点を底にもち、Ｒ点，Ｌ点を上辺とするすりばち状を基本に考えている。
【０１５９】
以下、Ｍ点からＲ点までをＲ輪郭とよび、Ｍ点からＬ点までをＬ輪郭とよぶ。
輪郭構造決定処理においては、図７７に示す様に、まず、検討方向を順方向（時計方向）ＣＷに設定する（Ｓ３６１０）。続いて、検討しようとしている単位エリアのＭ点をＱ点（着目点）とする（Ｓ３６２０）。そして、図５６（Ａ）の状態での外形線データの点列ｐの輪郭状を順方向ＣＷにＱ点を移動していき、移動中の各位置に関する情報を一時記憶する追跡調査を実行する（Ｓ３６３０）。この追跡調査により、Ｑ点がＬ点に到達したら（Ｓ３６４０）、当該Ｌ点は現在検討中の単位エリアのものであるか否かを判定する（Ｓ３６５０）。現在検討中の単位エリアのものであるならば、追跡調査により一時記憶してきた移動中の各位置に関する情報をＬ輪郭情報としてＲＡＭ内のエリア記憶領域の所定部に書き込む（Ｓ３６６０）。一方、他のエリアのＬ点であったならば、当該他のエリアのＬ点から当該他のエリアのＲ点を結ぶ線上を追跡してから再び点列ｐ上を輪郭線に沿って設定された検討方向に追跡調査していく（Ｓ３６７０）。
【０１６０】
また、Ｌ点に至る前にＲ点に到達したら（Ｓ３６８０＝ＹＥＳ）、当該Ｒ点は現在検討中の単位エリアのものであるか否かを判定する（Ｓ３６９０）。
現在検討中の単位エリアのものであるならば、追跡調査により一時記憶してきた移動中の各位置に関する情報をＲ輪郭情報としてＲＡＭ内のエリア記憶領域の所定部に書き込む（Ｓ３７００）。一方、他のエリアのＲ点であったならば、当該他のエリアのＲ点から当該他のエリアのＬ点を結ぶ線上を追跡してから再び点列ｐ上を輪郭線に沿って設定された検討方向に追跡調査していく（Ｓ３７１０）。
【０１６１】
ところで、Ｓ３６６０又はＳ３７００を実行した場合には、次に、検討中の追跡方向は逆方向ＣＣＷであるか否かを判定し（Ｓ３７２０）、「ＮＯ」ならば検討方向を逆方向ＣＣＷに設定してからＳ３６２０以下の処理を繰り返す（Ｓ３７３０）。一方、「ＹＥＳ」となっているならば当該エリアについての輪郭構造決定処理を終了する。
【０１６２】
次に、縫目形成経路決定処理について説明する。求めた輪郭構造をもとに、エリア内に縫目を形成するための縫目形成経路を決定する処理を実行する。この処理は、図７８，図７９に示す様に、まず、図５６（Ｂ）に示した様な方向ｄｉｒに基づいて一次変換した後の外形線データの点列ｓについてのｙ成分最小点ｙmin に対応する点列ｐ上の点を一つの端点（下端点）ｋとし、同じく、点列ｓについてのｙ成分最大点ｙmax に対応する点列ｐ上の点をもう一つの端点（上端点）ｇとする（Ｓ３８１０）。次に、上端点ｇを通り基準方向ｄｉｒに垂直な直線Ｌ１と、下端点ｋを通り基準方向ｄｉｒと平行な直線Ｌ２との交点ｈを求め（Ｓ３８２０）、上端点ｇと交点ｈを結ぶ線分ｇｈを求める（Ｓ３８３０）。次に、線分ｇｈを上端点ｇから交点ｈへ向かって縫目間隔ｓｓｐ（刺繍模様中の平行な縫目同士の間隔であり、キーボード１１から初期に入力されている）に基づいて分割した分割点Ｈn を求める（Ｓ３８４０）。
【０１６３】
この結果、図８０に示した様な状態となる。
また、検討中の単位エリアのＭ点から直線Ｌ２までの垂直距離から、当該単位エリアのＲ点から直線Ｌ２までの垂直距離を引いた差ｄｉｓを求める（Ｓ３８５０）。なお、線分ＬＲは直線Ｌ２と平行であるから、Ｌ点との直線距離により上記差ｄｉｓを求めてもよい。
【０１６４】
次に、検討対象エリアのＭ点を通り、基準方向ｄｉｒと平行な直線と、線分ｇｈとの交点ｊを求める（Ｓ３８６０）。次に、Ｓ３８５０で求めた差ｄｉｓが正であるか負であるかを確認し（Ｓ３８７０）、正ならば線分ｊｈ上の点の内、交点ｊに最も近い分割点Ｈn の添字ｎを評価値ｚとし（Ｓ３８８０）、負であるならば線分ｊｇ上の点の内、交点ｊに最も近い分割点Ｈn の添字ｎを評価値ｚとする（Ｓ３８９０）。
【０１６５】
続いて、評価値ｚが奇数か偶数かを確認し（Ｓ３９００）、奇数であるならば、着目点（Ｑ点）からの縫い出し方向としてＲ輪郭方向を選定し（Ｓ３９１０）、偶数であるならばＬ輪郭方向を選定する（Ｓ３９２０）。なお、着目点は、最初はＭ点であり、処理に従って順次更新されていく点である。
【０１６６】
そして、選定された縫い出し方向に対応する輪郭構造と、評価値ｚを特定した分割点Ｈz を通る基準方向ｄｉｒに平行な直線とが交わる点を縫目方向を変更する点（方向変更点）ｔｍｐとする（Ｓ３９３０）。従って、Ｓ３９００にて評価値ｚが奇数と判定されたならばＲ輪郭上の点が、逆に偶数と判定されたならばＬ輪郭上の点が方向変更点ｔｍｐとなる。なお、この処理は後述の様に何度も繰り返され、Ｒ輪郭，Ｌ輪郭いずれとも交点を形成しない場合も出て来るが、その場合は方向変更点ｔｍｐを有すべき輪郭のＭ点ではない方の端点（Ｌ点又はＲ点）を方向変更点ｔｍｐとする。
【０１６７】
なお、最初のＱ点（Ｍ点）と方向変更点ｔｍｐとは同一輪郭上にある。また、以下の処理ステップを経て再び本処理ステップに戻った場合にもその時点ではＱ点と方向変更点ｔｍｐとは同一輪郭上にある関係となる。
続いて、Ｑ点がＬ点又はＲ点に至っていないことを確認しつつ（Ｓ３９４０）、点列ｐにより定まる輪郭に沿ってＱ点を方向変更点ｔｍｐまで移動していき、移動中の各位置に関する情報を記憶する（Ｓ３９５０，Ｓ３９６０）。そして、Ｑ点が方向変更点ｔｍｐに到達した場合には、Ｑ点は、当該方向変更点ｔｍｐを通り、基準方向ｄｉｒに平行な直線上を反対側の輪郭に達するまで移動されつつ、当該移動中の各位置に関する情報を記憶していく（Ｓ３９７０，Ｓ３９８０）。
【０１６８】
こうしてＱ点が反対側の輪郭に至ったら、先に求めた差ｄｉｓが正であるか負であるかにより、評価値ｚに「＋１」又は「−１」を加算して更新し（Ｓ３９９０〜Ｓ４０１０）、Ｓ３９３０へ戻る。以上の処理を繰り返していくと、いずれはＳ３９４０が「ＮＯ」となる。すると、今まで記憶してきた位置情報をつないだエリア単位内の縫目形成経路（エリア内縫目形成経路）を記憶し、本処理を終える（Ｓ４０２０）。この際、当該エリアのＭ点を始点ｔｐとし、Ｓ３９４０の処理で「ＮＯ」と判定されることとなったＬ点又はＲ点を終点ｆｐとして記憶する。
【０１６９】
なお、エリアＡ９についての演算例を図８１に示す。図示の様に、分割点Ｈn（ｎは奇数とする）に基づいてＲ輪郭が選択され、以後順次処理が進むことにより、始点ｔｐ9 （Ｍ点）から終点ｆｐ9 （Ｌ点）までの縫目形成経路が求められる。
【０１７０】
こうしてエリア単位の縫目形成経路を完成した後は、これらをエリア同士で結ぶ連結経路を求める処理（図８２，図８３）を実行する。ここで、エリア同士を結ぶ順番は、単位エリア決定処理の際に併せて求められている。
従って、以下の処理では、連結経路を最短にすることを主な目的としている。なお、実施例では、連結経路は単位エリアの輪郭線上のみを通ることを要件とし、エリア内を横切らないものとの前提条件を付けてある。この処理では、まず、検討方向を時計方向ＣＷとし（Ｓ４１１０）、連結しようとしている単位エリア同士の内の若い順位の方のエリア終点ｆｐn を着目点（Ｑ点）とする（Ｓ４１２０）。また、最小経路評価値ｄを「０」にリセットする（Ｓ４１３０）。
【０１７１】
そして、Ｑ点がもう一方の単位エリアの始点ｔｐn+1 と一致しているか否かを確認する（Ｓ４１４０）。不一致の場合には、現在検討中の単位エリアの若い方を含み、全体としてそれよりも若いエリアのＬ輪郭又はＲ輪郭に乗らないこと（縫い重ねがないこと）を確認しつつ（Ｓ４１５０）、検討方向に沿って点列ｎにより定まる輪郭線上をＱ点を微小距離△ｄずつ移動させ、移動中の各位置に関する情報を記憶すると共に（Ｓ４１６０）、最小経路評価値ｄを更新していく（Ｓ４１７０）。
【０１７２】
この間、Ｓ４１５０の処理において「ＹＥＳ」と判定された場合には、当該位置から、そのＬ輪郭又はＲ輪郭を有するエリアのＬ点とＲ点を結ぶ線分上を反対側の輪郭構造までＱ点を微小移動させつつＳ４１６０，Ｓ４１７０と同様の処理を実行していく（Ｓ４１８０〜Ｓ４２００）。そして反対側の輪郭構造まで達したら、再び検討方向に沿って輪郭上を微小移動させ続ける。
【０１７３】
この様にしていくと、いつかはＳ４１４０の判定が「ＹＥＳ」となる。すると、検討方向が逆方向ＣＣＷであるか否かを判定し（Ｓ４２１０）、「ＮＯ」ならば、現時点での最小経路評価値ｄを第１評価値ｄ１として記憶し（Ｓ４２２０）、対応する位置情報を連ねた経路を順方向連結経路として記憶する（Ｓ４２３０）。そして、検討方向を逆方向ＣＣＷに設定してからＳ４１２０以下の処理を繰り返す（Ｓ４２４０）。
【０１７４】
一方、Ｓ４２１０の判定が「ＹＥＳ」となったならば、現時点での最小経路評価値ｄを第２評価値ｄ２として記憶し（Ｓ４２５０）、対応する位置情報を連ねた経路を逆方向連結経路として記憶する（Ｓ４２６０）。そして、第１，第２評価値ｄ１，ｄ２の小さい方に対応する連結経路を最小連結経路として記憶して本処理を終える（Ｓ４２７０〜Ｓ４２９０）。
【０１７５】
以上の各処理が完了すると、図８４に示す様に、データ格納処理が実行される。この処理では、縫い初め点（Ｉ点）からエリアＡ１への連結経路とエリアＡ１の縫目形成経路の始点ｔｐ1 を接続し（Ｓ４４１０）、最終エリアの縫目形成経路の終点に至るまでの各縫目形成経路及びエリア間の連結経路を接続して（Ｓ４４２０，Ｓ４４３０）、縫い初め点から最終エリアの終点までの縫目形成経路を完成させ、この結果（完成経路）をフロッピディスクＦＤ２に書き込む（Ｓ４４４０）。
【０１７６】
なお、こうして縫目経路が完成した後で、さらに、縫目の針落点情報を作成するため、上記の完成経路を分割する処理が行われる。この完成経路の分割条件は、刺繍の地模様として、図８５（Ａ）に示す様なタタミ目を見せる様にするのか、図８６（Ａ）に示す様に特定の絵柄を表示させるのか等の条件を指定してやることにより決定される。具体的には、例えば、図８７に示す様に、分割条件を読み込み（Ｓ５０１０）、当該分割条件がタタミ目や特定の絵柄であるのなら（Ｓ５０２０＝ＮＯ）、それに対応するタタミ目や特定の絵柄の線図情報を読み出し（Ｓ５０３０）、図８５（Ｂ）及び図８６（Ｂ）に示す様に、これら読み出した線図情報と完成経路とを重ね合わせたときの交点を求める（Ｓ５０４０）といった手順で実施することができる。一方、図８８に示す様に、タタミ目を識別不能にする条件が指定されている場合には、Ｓ５０２０＝ＹＥＳとなり、アトランダムに分割点を算出する処理（Ｓ５０５０）を実行する。なお、上記Ｓ４４４０において完成経路を書き込む際に、この針落点情報にまで処理を進めておいてもよいことはもちろんである。
【０１７７】
以上の様にして、本実施例によれば、単位文字を入力し、これらを帯模様で連結し、必要に応じて編集を加えたら、外形線データが自動的に作成され、かつ、このデータに基づいて平行タタミ縫いのためのブロック分割と刺繍順序の決定と刺繍データの作成がやはり自動的に実行される。よって、従来の様な型紙を作成し、これをデジタイザで入力するといった作業が不要となり、しかも、ブロック分割や刺繍順序を熟練者が手作業で決定するといったことも不要となり、きわめて効率よく、連続模様の平行タタミ縫いが実行できる。
【０１７８】
以上本発明の実施例について説明したが、本発明は何等この実施例に限定されるものではなく、その要旨を逸脱しない範囲の種々なる態様にて実施することができる。
例えば、第２実施例では専用の刺繍データ作成装置を例に説明したが、これを内蔵した刺繍ミシンとして完成しても構わない。その場合には、完成した刺繍データをわざわざフロッピーディスクに書き込まなくてもよい。
【０１７９】
また、各実施例では、帯模様を挿入することによって文字同士を連結するようにしたが、文字単位のシフト処理を実行して、文字同士を部分的に重ね合わせることによって連結するようにしてもよい。この場合には、文字と帯模様との交点ではなく文字同士の交点を求めることになり、後は外形線データを追跡するようにして上述の実施例と同様に模様全体の外形線データを抽出することができる。
【０１８０】
あるいは、図８９（Ａ）に示す様に、各単位文字のデータに連結様のヒゲＸを初めから付けておき、同図（Ｂ）に示す様に、文字列を選択するとデフォルト状態にて重なる様にしておいてもよい。
一方、帯模様の挿入方法についても、実施例では帯の中心線を指定して単位幅の帯模様を挿入するように構成したが、図９０に示すように、最低４個以上の点列を入力するようにし、これにより幅も任意とした帯模様を決定する様にしてもよい。
【０１８１】
また、外形線データの抽出の仕方としては、ディスプレイ表示されている各単位模様の内部と外部とを２値化情報によって区別したものとして捉え直すことにより単位模様同士が連続してなる連続模様の内部と外部とを区別し、この２値化情報の変化する位置を模様全体の外形線として決定する様にしてもよい。具体的イメージでいうならば、図９１に示す様に、帯模様を挿入したり重ね合わすなどして連続させた文字列の各文字及び帯模様の内部だけを黒く塗りつぶした状態としてやることによって、連続模様の内部を黒、外部を白に２値化し、この白黒の境界線を連続模様全体の外形線としてやればよいのである。
【０１８２】
さらに、外形線データの抽出の仕方としては、図９２に示す様に、交点まで求めた後で（Ａ）、交点間の消去したい線分をオペレータがマウス等で指定し（Ｂ）、これに基づいて交点間の線分を消去するようにしてもよい（Ｃ）。こうして不要な線分を消去した残りの外形線をデータとして抽出するようにしてもよいのである。
【０１８３】
また、各実施例ではＦＤ１，ＦＤ２にてデータをカット機２０及び刺繍ミシン３０に受け渡す様にしたが、これらを介することなくオンラインでデータ作成装置１０から送り込む様に構成してもよい。
さらに、第１実施例における切断データを、アップリケ用の布片ではなく、例えば粘着剤付きシートからネームプレートを切断するための切断データとして用いることもできる。従って、第１実施例自体が、シート材や板材からの連続模様切抜き用のデータ作成装置を包含していることは明かである。こうした装置として考えたときにも、既存の文字データに基づいて文字列の連続した模様を作成することができ、そのための型紙製作の手間が不要となるなどの効果が得られる点で共通し、本発明の要旨を逸脱するものではない。
【０１８４】
加えて、文字列に限らず、図形を連続させたり、図形と文字とを混在させて連続させたりする用途にそのまま応用できることはいうまでもない。
さらに、次のようなものも本発明の刺繍用データ作成装置として実施可能である。
【０１８５】
例えば、地模様の絵柄と外形線とを重ね合わせ、外形線の内部に重なった地模様だけを抽出し、これらの地模様だけを刺繍して図９３に示すような刺繍を行うためのデータを作成するようにしてもよい。
【図面の簡単な説明】
【図１】  実施例システムを示す概略構成図である。
【図２】  実施例システムにおけるカット機の制御系の構成図である。
【図３】  実施例システムにおける刺繍ミシンの制御系の構成図である。
【図４】  実施例システムにおける文字データの記憶例を示す説明図である。
【図５】  第１実施例におけるメインルーチンのフローチャートである。
【図６】  第１実施例におけるエディット処理のフローチャートである。
【図７】  第１実施例におけるエディット処理開始時の画面表示状態の説明図である。
【図８】  第１実施例におけるエディットフレームの構成を表した説明図である。
【図９】  第１実施例におけるエディット処理における文字列の入力とエディットフレームの関係を表した説明図である。
【図１０】  第１実施例におけるサブボックスの構成を表した説明図である。
【図１１】  第１実施例における文字連結処理のフローチャートである。
【図１２】  第１実施例における文字連結処理の様子を表した説明図である。
【図１３】  第１実施例における全体編集処理のフローチャートである。
【図１４】  第１実施例における全体編集処理中のスランター処理のフローチャートである。
【図１５】  第１実施例におけるスランター処理における斜変形角の求め方に関する説明図である。
【図１６】  第１実施例におけるスランター処理中の画像表示の説明図である。
【図１７】  第１実施例における全体編集処理中のリサイザー処理のフローチャートである。
【図１８】  第１実施例におけるリサイザー処理中の画像表示の説明図である。
【図１９】  第１実施例における全体編集処理中のフリーリサイザー処理のフローチャートである。
【図２０】  第１実施例におけるフリーリサイザー処理中の画像表示の説明図である。
【図２１】  第１実施例における全体編集処理中のスペーサー処理のフローチャートである。
【図２２】  第１実施例におけるスペーサー処理中の画像表示の説明図である。
【図２３】  第１実施例における全体編集処理中のローテイター処理のフローチャートである。
【図２４】  第１実施例におけるローテイター処理における配列ライン傾斜角の求め方に関する説明図である。
【図２５】  第１実施例におけるローテイター処理中の画像表示の説明図である。
【図２６】  第１実施例における全体編集処理中のアークメイカー処理のフローチャートである。
【図２７】  第１実施例におけるアークメイカー処理における円弧半径の求め方に関する説明図で
ある。
【図２８】  第１実施例における三点円弧中心算出処理のフローチャートである。
【図２９】  第１実施例におけるアークメイカー処理中の画像表示の説明図である。
【図３０】  第１実施例における全体編集処理中のシフター処理のフローチャートである。
【図３１】  第１実施例におけるシフター処理中の画像表示の説明図である。
【図３２】  第１実施例における文字編集処理のメインルーチンのフローチャートである。
【図３３】  第１実施例における文字編集処理開始時の画面表示状態の説明図である。
る。
【図３４】  第１実施例における単位フレームの構成を表した説明図である。
【図３５】  第１実施例におけるサブボックスの構成を表した説明図である。
【図３６】  第１実施例における単位模様編集処理のフローチャートである。
【図３７】  第１実施例における単位模様のスランター処理のフローチャートである。
【図３８】  第１実施例における単位模様のスランター処理中の画像表示の説明図である。
【図３９】  第１実施例における単位模様のリサイザー処理のフローチャートである。
【図４０】  第１実施例における単位模様のリサイザー処理中の画像表示の説明図である。
【図４１】  第１実施例における単位模様のフリーリサイザー処理のフローチャートである。
【図４２】  第１実施例における単位模様のフリーリサイザー処理中の画像表示の説明図である。
【図４３】  第１実施例における単位模様のスペーサー処理のフローチャートである。
【図４４】  第１実施例における単位模様のスペーサー処理中の画像表示の説明図である。
【図４５】  第１実施例における単位模様のローテイター処理のフローチャートである。
【図４６】  第１実施例における単位模様のローテイター処理中の画像表示の説明図である。
【図４７】  第１実施例における単位模様のシフター処理のフローチャートである。
【図４８】  第１実施例における単位模様のシフター処理中の画像表示の説明図である。
【図４９】  第１実施例における単位模様編集処理と全体編集処理との関係を表す説明図である。
【図５０】  第１実施例におけるデータ登録処理のフローチャートである。
【図５１】  第１実施例におけるアップリケ用データ作成処理のフローチャートである。
【図５２】  第１実施例におけるデータ格納処理のフローチャートである。
【図５３】  第１実施例により作成されたアップリケ用データに基づいての作業の流れの説明図である。
【図５４】  第２実施例におけるメインルーチンのフローチャートである。
【図５５】  第２実施例におけるタタミ縫いデータ作成処理のフローチャートである。
【図５６】  第２実施例における座標変換結果の説明図である。
【図５７】  第２実施例における模様分離結果の説明図である。
【図５８】  第２実施例における特異点抽出処理のフローチャートである。
【図５９】  第２実施例における特異点抽出処理の様子を示す説明図である。
【図６０】  第２実施例における順序決定処理のフローチャートである。
【図６１】  第２実施例における単位エリア特定処理の様子を示す説明図である。
【図６２】  第２実施例における単位エリア特定処理の様子を示す説明図である。
【図６３】  第２実施例における単位エリア特定処理の様子を示す説明図である。
【図６４】  第２実施例における単位エリア特定処理の様子を示す説明図である。
【図６５】  第２実施例における単位エリア特定処理の様子を示す説明図である。
【図６６】  第２実施例における単位エリア特定処理の様子を示す説明図である。
【図６７】  第２実施例における単位エリア特定処理の様子を示す説明図である。
【図６８】  第２実施例における単位エリア特定処理の様子を示す説明図である。
【図６９】  第２実施例における単位エリア特定処理の様子を示す説明図である。
【図７０】  第２実施例における単位エリア特定処理の様子を示す説明図である。
【図７１】  第２実施例における単位エリア特定処理の様子を示す説明図である。
【図７２】  第２実施例における単位エリア特定処理の様子を示す説明図である。
【図７３】  第２実施例における単位エリア特定処理の様子を示す説明図である。
【図７４】  第２実施例におけるＲＡＭ内の単位エリア記憶量域内の様子を示す説明図である。
【図７５】  第２実施例のＲＡＭ内の単位エリア記憶量域内の点番号と具体例との対応関係を示す説明図である。
【図７６】  第２実施例で実行する刺繍データ作成処理のフローチャートである。
【図７７】  第２実施例における輪郭構造決定処理のフローチャートである。
【図７８】  第２実施例におけるエリア内縫目形成経路決定処理の一部を示すフローチャートである。
【図７９】  第２実施例におけるエリア内縫目形成経路決定処理の残部を示すフローチャートである。
【図８０】  第２実施例におけるエリア内縫目形成経路決定処理の初期の処理状態の様子を示す説明図である。
【図８１】  第２実施例において決定されたエリア内縫目形成経路の一例を示す説明図である。
【図８２】  第２実施例における連結経路算出処理の一部を示すフローチャートである。
【図８３】  第２実施例における連結経路算出処理の残部を示すフローチャートである。
【図８４】  第２実施例におけるデータ格納処理のフローチャートである。
【図８５】  第２実施例における地模様の例を示す説明図である。
【図８６】  第２実施例における地模様の例を示す説明図である。
【図８７】  第２実施例における完成経路分割処理のフローチャートである。
【図８８】  第２実施例における地模様の例を示す説明図である。
【図８９】  文字同士の連結方法に関する変形例の説明図である。
【図９０】  帯模様の挿入方法に関する変形例の説明図である。
【図９１】  外形線データの抽出方法に関する変形例の説明図である。
【図９２】  外形線データの抽出方法に関する変形例の説明図である。
【図９３】  刺繍データ作成装置としての変形例の説明図である。
【図９４】  従来のアップリケ用データ作成方法の説明図である。
【符号の説明】
１０・・・データ作成装置、１１・・・キーボード、１２・・・マウス、１３・・・カラーディスプレイ、１４・・・Ｘ−Ｙプロッタ、１５・・・フロッピーディスクドライバ（ＦＤＤ）、１６・・・ハードディスク（ＨＤＤ）、１７・・・マイクロコンピュータ、２０・・・カット機、２１・・・盤面、２２・・・ヒートカッタ、２３・・・操作キー、２４・・・フロッピーディスクドライバ（ＦＤＤ）、２５・・・マイクロコンピュータ、２６・・・吸着ユニット、２７ｘ・・・Ｘモータ、２７ｙ・・・Ｙモータ、２８・・・ソレノイド、２９・・・熱源ユニット、３０・・・刺繍ミシン、３１・・・刺繍ヘッド、３２・・・ベッド、３３・・・刺繍枠、３４・・・操作キー、３５・・・カラーディスプレイ、３６・・・フロッピーディスクドライバ（ＦＤＤ）、３７・・・マイクロコンピュータ、３８ｘ・・・Ｘモータ、３８ｙ・・・Ｙモータ、３９・・・ミシンモータ、７１・・・エディットフレーム、７１ａ・・・枠線、７１ｂ・・・配列ライン、７１ｃ・・・スランターマーク、７１ｄ・・・リサイザーマーク、７１ｅ・・・フリーリサイザーマーク、７１ｆ・・・スペーサーマーク、７１ｇ・・・ローテイターマーク、７１ｈ・・・アークメイカーマーク、７１ｉ・・・シフターマーク、７３・・・サブボックス、７３ａ〜７３ｆ・・・設定値表示部、７５・・・水平基準線、７７・・・垂直基準線、８１・・・単位フレーム、８１ａ・・・枠線、８１ｂ・・・配列ライン、８１ｃ・・・スランターマーク、８１ｄ・・・リサイザーマーク、８１ｅ・・・フリーリサイザーマーク、８１ｆ・・・スペーサーマーク、８１ｇ・・・ローテイターマーク、８１ｉ・・・シフターマーク、８３・・・サブボックス、８３ａ〜８３ｅ・・・設定値表示部、ＦＤ１・・・カット機用データディスク、ＦＤ１・・・カット機用データディスク、ＦＤ２・・・刺繍機用データディスク。
【図１】
0003636761.tif 000005
【図２】
0003636761.tif 000006
【図３】
0003636761.tif 000007
【図４】
0003636761.tif 000008
【図５】
0003636761.tif 000009
【図６】
0003636761.tif 000010
【図７】
0003636761.tif 000011
【図８】
0003636761.tif 000012
【図９】
0003636761.tif 000013
【図１０】
0003636761.tif 000014
【図１１】
0003636761.tif 000015
【図１２】
0003636761.tif 000016
【図１３】
0003636761.tif 000017
【図１４】
0003636761.tif 000018
【図１５】
0003636761.tif 000019
【図１６】
0003636761.tif 000020
【図１７】
0003636761.tif 000021
【図１８】
0003636761.tif 000022
【図１９】
0003636761.tif 000023
【図２０】
0003636761.tif 000024
【図２１】
0003636761.tif 000025
【図２２】
0003636761.tif 000026
【図２３】
0003636761.tif 000027
【図２４】
0003636761.tif 000028
【図２５】
0003636761.tif 000029
【図２６】
0003636761.tif 000030
【図２７】
0003636761.tif 000031
【図２８】
0003636761.tif 000032
【図２９】
0003636761.tif 000033
【図３０】
0003636761.tif 000034
【図３１】
0003636761.tif 000035
【図３２】
0003636761.tif 000036
【図３３】
0003636761.tif 000037
【図３４】
0003636761.tif 000038
【図３５】
0003636761.tif 000039
【図３６】
0003636761.tif 000040
【図３７】
0003636761.tif 000041
【図３８】
0003636761.tif 000042
【図３９】
0003636761.tif 000043
【図４０】
0003636761.tif 000044
【図４１】
0003636761.tif 000045
【図４２】
0003636761.tif 000046
【図４３】
0003636761.tif 000047
【図４４】
0003636761.tif 000048
【図４５】
0003636761.tif 000049
【図４６】
0003636761.tif 000050
【図４７】
0003636761.tif 000051
【図４８】
0003636761.tif 000052
【図４９】
0003636761.tif 000053
【図５０】
0003636761.tif 000054
【図５１】
0003636761.tif 000055
【図５２】
0003636761.tif 000056
【図５３】
0003636761.tif 000057
【図５４】
0003636761.tif 000058
【図５５】
0003636761.tif 000059
【図５６】
0003636761.tif 000060
【図５７】
0003636761.tif 000061
【図５８】
0003636761.tif 000062
【図５９】
0003636761.tif 000063
【図６０】
0003636761.tif 000064
【図６１】
0003636761.tif 000065
【図６２】
0003636761.tif 000066
【図６３】
0003636761.tif 000067
【図６４】
0003636761.tif 000068
【図６５】
0003636761.tif 000069
【図６６】
0003636761.tif 000070
【図６７】
0003636761.tif 000071
【図６８】
0003636761.tif 000072
【図６９】
0003636761.tif 000073
【図７０】
0003636761.tif 000074
【図７１】
0003636761.tif 000075
【図７２】
0003636761.tif 000076
【図７３】
0003636761.tif 000077
【図７４】
0003636761.tif 000078
【図７５】
0003636761.tif 000079
【図７６】
0003636761.tif 000080
【図７７】
0003636761.tif 000081
【図７８】
0003636761.tif 000082
【図７９】
0003636761.tif 000083
【図８０】
0003636761.tif 000084
【図８１】
0003636761.tif 000085
【図８２】
0003636761.tif 000086
【図８３】
0003636761.tif 000087
【図８４】
0003636761.tif 000088
【図８５】
0003636761.tif 000089
【図８６】
0003636761.tif 000090
【図８７】
0003636761.tif 000091
【図８８】
0003636761.tif 000092
【図８９】
0003636761.tif 000093
【図９０】
0003636761.tif 000094
【図９１】
0003636761.tif 000095
【図９２】
0003636761.tif 000096
【図９３】
0003636761.tif 000097
【図９４】
0003636761.tif 000098