(57)【要約】【課題】刺繍模様の輪郭線の外側に設定されるアウトラインを、刺繍模様の形状に応じて適切に設定可能な縫製データ生成プログラム及び縫製データ生成装置を提供すること。【解決手段】縫製データ生成装置の制御部は、刺繍模様を縫製するための模様データを取得する（Ｓ１）。制御部は、模様データに基づいて、刺繍模様の輪郭から所定量、刺繍模様の外側に向けてオフセットしたオフセット部と、輪郭から所定量よりも多く、刺繍模様から外側に向けてオフセットした補完部とを有する、刺繍模様の外側を囲うアウトラインを設定する（Ｓ７）。制御部は、アウトラインを縫製するための縫製データを生成する（Ｓ８）。【選択図】図２
2017153501.tif 000002
【特許請求の範囲】
【請求項１】
縫製データ生成装置の制御部を、
刺繍模様を縫製するための模様データを取得する取得手段と、
前記模様データに基づいて、前記刺繍模様の輪郭から所定量、前記刺繍模様の外側に向けてオフセットしたオフセット部と、前記輪郭から前記所定量よりも多く、前記刺繍模様から外側に向けてオフセットした補完部とを有する、前記刺繍模様の外側を囲うアウトラインを設定する設定手段と、
前記アウトラインを縫製するための縫製データを生成する生成手段
として機能させる指示を含む縫製データ生成プログラム。
【請求項２】
前記設定手段は、
前記模様データに基づき前記刺繍模様の輪郭線を特定する輪郭線特定手段と、
前記刺繍模様に対して前記輪郭線よりも外側となる仮想線を設定する仮想線設定手段と、
前記輪郭線から前記刺繍模様の外側に向けて前記所定量オフセットさせた前記オフセット部と、前記仮想線に基づき設定される前記補完部とを有する前記アウトラインを設定するアウトライン設定手段と
を有することを特徴とする請求項１に記載の縫製データ生成プログラム。
【請求項３】
前記仮想線設定手段は、前記刺繍模様の形状に応じた形状の前記仮想線を設定することを特徴とする請求項２に記載の縫製データ生成プログラム。
【請求項４】
前記仮想線設定手段は、前記刺繍模様の前記輪郭線に応じた図形に交差する形状の前記仮想線を設定し、
前記アウトライン設定手段は、前記オフセット部と、前記補完部とを、前記図形と前記仮想線との交点に応じた位置でつなげて、前記アウトラインを設定することを特徴とする請求項２又は３に記載の縫製データ生成プログラム。
【請求項５】
前記制御部を、前記刺繍模様を内包するマスク領域の大きさを特定するマスク領域特定手段として機能させる指示を更に含み、
前記仮想線設定手段は、前記マスク領域の大きさに応じた大きさの図形を表す前記仮想線を設定することを特徴とする請求項２から４の何れかに記載の縫製データ生成プログラム。
【請求項６】
前記制御部を、前記輪郭線に応じた図形が有する凹部を検出する凹部検出手段として機能させる指示を更に含み、
前記仮想線設定手段は、検出された前記凹部よりも、前記刺繍模様に対し外側に前記仮想線を設定することを特徴とする請求項２から５の何れかに記載の縫製データ生成プログラム。
【請求項７】
前記仮想線設定手段は、前記凹部の大きさに応じた大きさの図形を表す前記仮想線を設定することを特徴とする請求項６に記載の縫製データ生成プログラム。
【請求項８】
制御部を備え、
前記制御部は、
刺繍模様を縫製するための模様データを取得する取得手段と、
前記模様データに基づいて、前記刺繍模様の輪郭から所定量、前記刺繍模様の外側に向けてオフセットしたオフセット部と、前記輪郭から前記所定量以上、前記刺繍模様の外側に向けてオフセットした補完部とを有する、前記刺繍模様の外側を囲うアウトラインを設定する設定手段と、
前記アウトラインを縫製するための縫製データを生成する生成手段
として機能することを特徴とする縫製データ生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、刺繍縫製可能なミシンで刺繍模様を縫製するための縫製データを生成する縫製データ生成プログラム及び縫製データ生成装置に関する。
【背景技術】
【０００２】
従来、輪郭線に沿った縫目を形成するための縫製データを生成可能な装置が知られている（例えば、特許文献１参照）。特許文献１に記載の装置では、アップリケ布片を被縫製物に縫製する場合に、アップリケ布片の輪郭線の内側のオフセットラインに縫目を形成するための縫製データを作成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２１１２０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
刺繍模様の輪郭線の外側に設定されるアウトラインに縫目を形成するための縫製データについては、十分に検討されていない。
【０００５】
本発明の目的は、刺繍模様の輪郭線の外側に設定されるアウトラインを、刺繍模様の形状に応じて適切に設定可能な縫製データ生成プログラム及び縫製データ生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第一態様に係る縫製データ生成プログラムは、縫製データ生成装置の制御部を、刺繍模様を縫製するための模様データを取得する取得手段と、前記模様データに基づいて、前記刺繍模様の輪郭から所定量、前記刺繍模様の外側に向けてオフセットしたオフセット部と、前記輪郭から前記所定量よりも多く、前記刺繍模様から外側に向けてオフセットした補完部とを有する、前記刺繍模様の外側を囲うアウトラインを設定する設定手段と、前記アウトラインを縫製するための縫製データを生成する生成手段として機能させる指示を含む。
【０００７】
本発明の第二態様に係る縫製データ生成装置は、制御部を備え、前記制御部は、刺繍模様を縫製するための模様データを取得する取得手段と、前記模様データに基づいて、前記刺繍模様の輪郭から所定量、前記刺繍模様の外側に向けてオフセットしたオフセット部と、前記輪郭から前記所定量以上、前記刺繍模様の外側に向けてオフセットした補完部とを有する、前記刺繍模様の外側を囲うアウトラインを設定する設定手段と、前記アウトラインを縫製するための縫製データを生成する生成手段として機能する。
【０００８】
本発明の第一態様及び第二態様によれば、縫製データ生成装置は、刺繍模様の輪郭から所定量オフセットしたアウトラインを設定する場合に比べ、刺繍模様の輪郭が有する凹部の凹みを低減したアウトラインを生成できる可能性を高めることができる。つまり、縫製データ生成装置は、ユーザが意図しない凹部を有するアウトラインを縫製するための縫製データが生成される可能性を低減できる。
【図面の簡単な説明】
【０００９】
【図１】ミシン１０、及び縫製データ生成装置２０を備える縫製システム３０の概要図である。
【図２】縫製データ生成装置２０で実行される第一実施形態のメイン処理のフローチャートである。
【図３】例１の刺繍模様５１と、例２の刺繍模様６１との各々に関する、アウトラインが設定される過程の説明図である。
【図４】図２のメイン処理で実行される凹部検出処理のフローチャートである。
【図５】図２のメイン処理で実行される仮想図形配置処理のフローチャートである。
【図６】例１の刺繍模様５１と、例２の刺繍模様６１との各々に関する、アウトラインが設定される過程の説明図である。
【図７】第二実施形態のメイン処理のフローチャートである。
【発明を実施するための形態】
【００１０】
本開示の第一及び第二実施形態を、図面を参照して順に説明する。図１を参照して、第一実施形態と第二実施形態とに共通する縫製システム３０について説明する。図１に示すように、縫製システム３０は、ミシン１０、及び縫製データ生成装置２０（以下、「装置２０」という。）を備える。ミシン１０は、刺繍縫製が可能なミシンである。装置２０は、表示部９、マウス２１及びキーボード２２を備える、周知のパーソナルコンピュータ（ＰＣ）である。
【００１１】
〈１．ミシン１０と刺繍枠４５の物理的構成〉
図１に示すように、ミシン１０は、ベッド部１１、脚柱部１２、アーム部１３、頭部１４、及び移動機構４０を備える。ベッド部１１は、左右方向に延びるミシン１０の土台部である。脚柱部１２は、ベッド部１１の右端部から上方へ立設される。脚柱部１２の前面には、ＬＣＤ１５及びタッチパネル２６が設けられる。アーム部１３は、ベッド部１１に対向して脚柱部１２の上端から左方へ延びる。頭部１４は、アーム部１３の左先端部に連結する部位である。頭部１４には、図示しないが、針棒、押え棒、及び針棒上下動機構等が設けられる。針棒の下端には、縫針が着脱可能に装着される。
【００１２】
移動機構４０は、針棒に対して刺繍枠４５に保持された被縫製物Ｃを相対的に移動可能に構成される。移動機構４０は、本体ケース４１と、キャリッジ４２を備える。刺繍縫製時には、ユーザは、キャリッジ４２に、刺繍枠４５を装着する。刺繍枠４５は、キャリッジ４２に収容されたＹ方向移動機構（図示略）及び本体ケース４１内に収容されたＸ方向移動機構（図示略）によって、ミシン１０に固有のＸＹ座標系（刺繍座標系）で示される針落ち点に移動される。刺繍枠４５が移動されるのと合わせて、縫針が装着された針棒及び釜機構（図示略）が駆動されることにより、被縫製物Ｃ上に刺繍模様が形成される。
【００１３】
〈２．装置２０の電気的構成〉
図１に示すように、装置２０は、ＣＰＵ１、ＲＯＭ２、ＲＡＭ３、フラッシュメモリ４、通信Ｉ／Ｆ５、及び入出力インターフェイス８を備える。ＣＰＵ１は、装置２０の制御を司る。ＣＰＵ１は、バス７を介して、ＲＯＭ２、ＲＡＭ３、フラッシュメモリ４、通信Ｉ／Ｆ５、及び入出力インターフェイス８と電気的に接続する。ＲＯＭ２には、ブートプログラム及びＢＩＯＳ等が記憶される。ＲＡＭ３には、一時的なデータが記憶される。フラッシュメモリ４には、各種設定値が記憶される。通信Ｉ／Ｆ５は、装置２０をネットワーク１６に接続するためのインターフェイスである。ＣＰＵ１は、通信Ｉ／Ｆ５を介して、ネットワーク１６に接続する他の機器（例えば、ミシン１０）とデータの送受信を実行できる。入出力インターフェイス８は、表示部９、マウス２１、及びキーボード２２と接続される。表示部９は、液晶ディスプレイである。マウス２１、及びキーボード２２は、各種指示を入力する場合に用いられる。
【００１４】
〈３．装置２０で実行される処理の概要〉
装置２０で実行される処理の概要を説明する。装置２０のメイン処理では、ユーザが選択した刺繍模様を縫製するための模様データに基づき、刺繍模様の輪郭の外側にアウトラインを縫製するための縫製データを生成する処理が実行される。刺繍模様の輪郭が、多角形、円、楕円等の環状の閉じた図形によって表される場合、輪郭に囲まれる領域が刺繍模様の内側である。この場合刺繍模様の外側は、輪郭に対して刺繍模様の内側の反対側である。刺繍模様の輪郭が、環状の閉じた図形によって表されない場合、輪郭に対し、刺繍模様を内包する最小矩形（マスク領域）の中心側を刺繍模様の内側とし、輪郭に対し最小矩形の中心とは反対側を刺繍模様の外側とする。装置２０のＣＰＵ１は、刺繍模様を縫製するための模様データを取得する。模様データは、模様を構成する縫目を形成するための針落ち点の座標、縫い順、及び使用される糸の色を示すデータである。針落ち点の座標は、前述の刺繍座標系で表される。装置２０は、取得された模様データに基づいて、オフセット部と、補完部とを有するアウトラインを設定する。アウトラインは、刺繍模様の外側を囲う、所定の太さの一重の線で表される模様である。オフセット部は、刺繍模様の輪郭から第一所定量、刺繍模様の外側に向けてオフセットした部分である。補完部は、輪郭から第一所定量よりも多く、刺繍模様から外側に向けてオフセットした部分である。アウトラインは、例えば、刺繍模様に基づき、ワッペン、及びアップリケを作成する場合に刺繍模様を囲う模様として、刺繍模様の外側に縫製される。
【００１５】
〈４．第一実施形態のメイン処理〉
図２から図６を参照して、第一実施形態の装置２０のメイン処理を説明する。メイン処理は、ユーザが、縫製予定の刺繍模様を選択する指示を入力後、選択された刺繍模様にアウトラインを設定する指示を入力した場合に実行される。縫製予定の刺繍模様は、例えば、フラッシュメモリ４に記憶された複数の模様から選択される。装置２０のＣＰＵ１は指示を検知すると、ＲＯＭ２のプログラム記憶エリアに記憶されたメイン処理を実行するための縫製データ生成プログラムを、ＲＡＭ３に読み出す。ＣＰＵ１は、ＲＡＭ３に読み出した縫製データ生成プログラムに含まれる指示に従って、以下のステップを実行する。メイン処理を実行するのに必要な各種パラメータは、フラッシュメモリ４に記憶されている。メイン処理の過程で得られた各種データは、適宜ＲＡＭ３に記憶される。以下では、例１としてフラッシュメモリ４に記憶された刺繍模様５１（図３参照）が縫製予定の模様として選択された場合を説明する。例１は、目と口とを有するキャラクターを表す模様である。例２としてフラッシュメモリ４に記憶された刺繍模様６１（図３参照）が縫製予定の模様として選択された場合を説明する。例２は、犬のキャラクターを表す模様である。例１に関する処理と、例２に関する処理とは、互いに異なるタイミングで、別々に実行されるが、以下では説明を簡単にするために、例１に関する処理と、例２に関する処理とを並列に説明する。
【００１６】
図２に示すように、ＣＰＵ１は、フラッシュメモリ４からユーザによって選択された刺繍模様の模様データを取得する（Ｓ１）。例１では、刺繍模様５１の模様データが取得される。例２では刺繍模様６１の模様データが取得される。ＣＰＵ１は、Ｓ１で取得された模様データに基づき、刺繍模様の輪郭線を特定する（Ｓ２）。模様データに基づき、輪郭線を特定する処理は、公知であるので詳しい処理の説明は省略する。例１では輪郭線５２が特定される。例２では、輪郭線６２が特定される。
【００１７】
ＣＰＵ１は、Ｓ２で特定された輪郭線に基づき、アップリケデータを生成する（Ｓ３）。アップリケデータは、Ｓ２で特定された輪郭線から、刺繍模様の外側に第一所定量Ｄ１オフセットした所定の太さの線を表す模様（以下、アップリケ模様という。）を縫製するための模様データである。第一所定量Ｄ１は、予め定めればよく、例えば、３ｍｍである。所定の太さは、予め定めればよく、例えば、３ｍｍである。第一所定量Ｄ１及び所定の太さは、ユーザによって設定されてもよいし、刺繍模様の種類、大きさ、及び形状等に応じた値がＣＰＵ１によって設定されてもよい。例１では、アップリケ模様５３を縫製するためのアップリケデータが生成される。アップリケデータは、例えば、アップリケ模様を表す縫目であって、縫目７２で示されるようなジグザグ縫いの縫目の針落ち点の位置を表す。例２では、アップリケ模様６３を縫製するためのアップリケデータが生成される。
【００１８】
ＣＰＵ１は、Ｓ３で生成されたアップリケデータによって表される針落ち点の凸包データを取得する（Ｓ４）。凸包データは、アップリケデータによって表される針落ち点をすべて包含する最小の凸多角形の頂点を表すデータである。凸包データによって表される、凸多角形を凸包図形ともいう。凸包データの取得方法は、逐次添加法（ｉｎｃｒｅｍｅｎｔａｌ  ｍｅｔｈｏｄ）、分割統治法（ｄｉｖｉｄｅｄ−ａｎｄ−ｃｏｎｑｕｅｒ  ｍｅｔｈｏｄ）、枝刈り探索法（ｐｒｕｎｅ−ａｎｄ−ｓｅａｒｃｈ  ｍｅｔｈｏｄ）、Ｇｒａｈａｍ  スキャン（Ｇｒａｈａｍ'ｓ  ｓｃａｎ）、及びＪａｒｖｉｓの行進法（Ｊａｒｖｉｓ'ｓ  ｍａｒｃｈ）等、公知であるので詳しい説明を省略する。例１では、凸包図形５５を表す凸包データが取得される。例１では、凸包図形５５と、アップリケ模様５３のマスク領域５４を表す図形とは同じである。マスク領域は、模様を内包する最小矩形である。マスク領域の二辺は、刺繍座標系のＸ軸と平行である。マスク領域の他の二辺は、刺繍座標系のＹ軸と平行である。例２では、凸包図形６５を表す凸包データが取得される。例２では、凸包図形６５と、アップリケ模様６３のマスク領域６４を表す図形とは、互いに異なる図形である。
【００１９】
ＣＰＵ１は、凹部検出処理を実行する（Ｓ５）。凹部検出処理は、Ｓ３で生成されたアップリケデータで表されるアップリケ模様から、刺繍模様側に向けて、所定量以上凹んだ凹部を検出する処理である。本例のＣＰＵ１は、Ｓ４で取得された凸包データを利用して、凹部を検出する。具体的には、基準点を開始点として、時計回りにアップリケデータが表す針落ち点を取得する。基準点は、予め定められた点であればよく、本例では、アップリケ模様のマスク領域の特定の頂点（図３に記載のマスク領域の左上の点）に最も近い点である。説明を簡単にするために、本例では、基準点は、アップリケ模様の凹部に含まれる点ではないものとする。ＣＰＵ１は、アップリケデータが表す針落ち点から、凸包データによって表される凸包図形までの距離が閾値以上となる部分を、アップリケ模様の凹部として検出する。アップリケ模様の凹部は、刺繍模様の輪郭線に応じた形状を有するので、アップリケ模様の凹部は、刺繍模様の輪郭線によって表される図形の凹部に対応する。
【００２０】
図４に示すように、凹部検出処理ではまず、ＣＰＵ１は、フラグに−１を設定する（Ｓ２１）。フラグは、−１、０、及び１の内の何れかの値に設定され、凹部の検出状況を表す。フラグに−１が設定されている場合、凹部検出処理において、針落ち点から凸包図形までの距離が閾値以上となる針落ち点が検出されていないことを示す。フラグに０が設定されている場合、凹部の入口が検出されたが、凹部の出口が検出されていない状態を表す。フラグに１が設定されている場合、凹部の入口が検出された後、凹部の出口が検出された状態を表す。凹部の入口は、アップリケデータによって表される針落ち点を、基準点から時計回りに取得した場合に、針落ち点から、凸包図形までの距離が閾値より大きくなる最初の点である。凹部の出口は、アップリケデータによって表される針落ち点を、基準点から時計回りに取得した場合に、入口が検出された後に、針落ち点から、凸包図形までの距離が閾値以下となる最初の点である。刺繍模様が複数の凹部を備える場合には、凹部毎に、入口と、出口とが特定される。
【００２１】
ＣＰＵ１は、変数Ｎに１を設定する（Ｓ２２）。変数Ｎは、アップリケ模様を表す針落ち点を所定の順序で読み出すための変数である。ＣＰＵ１はアップリケデータによって示されるＮ番目の針落ち点の座標を取得する（Ｓ２３）。Ｎが１の場合、ＣＰＵ１は、アップリケデータによって示される複数の針落ち点から、基準点を取得する。Ｎが１である場合、例１では、図１の左上の点５６が取得される。例２では、マスク領域６４の左上の点７３に最も近い、点６６が取得される。基準点の取得方法は予め定められていればよく、適宜変更されてよい。
【００２２】
ＣＰＵ１は、Ｓ２３で取得されたＮ番目の針落ち点に対応する凸包データの直線式を取得する（Ｓ２４）。Ｎ番目の針落ち点に対応する凸包データの直線式は、Ｎ番目の針落ち点から、凸包図形までの距離を取得する処理で使用される。凸包データが表す凸包図形の頂点は、アップリケデータによって示される複数の針落ち点のうち何れかの点である。凸包図形の頂点は、例えば、取得順序がＭ番目（Ｍは自然数）の針落ち点である。凸包データが表す凸包図形の辺は、例えば、取得順序がＭ番目の針落ち点と、Ｌ番目（ＬはＭよりも大きい自然数）の針落ち点とを結んだ線分によって表される。Ｎ番目の針落ち点に対応する凸包データの直線式は、凸包図形の辺を表す直線式の内、ＮがＭ以上且つＬより小さい、条件を満たす直線式である。
【００２３】
ＣＰＵ１は、Ｓ２３の処理で取得されたＮ番目の点から、Ｓ２４の処理で取得された直線式によって表される凸包図形の辺までの距離を取得する（Ｓ２５）。Ｎが１である場合、例１及び例２では各々、距離０が取得される。ＣＰＵ１は、フラグに０が設定されているかを判断する（Ｓ２６）。Ｎが１である場合には、フラグは−１に設定されており、フラグに０が設定されていない（Ｓ２６：ＮＯ）。この場合、ＣＰＵ１は、Ｓ２５で取得された距離が閾値よりも大きいか否かを判断する（Ｓ２７）。閾値は、刺繍模様の大きさ、アップリケ模様の第一所定値及び所定の太さ等を考慮して、予め定められる。例えば、刺繍模様の矩形状のマスク領域の短辺の長さの１０から２０％の長さが閾値として設定される。距離が閾値よりも大きい場合（Ｓ２７：ＹＥＳ）、ＣＰＵ１は、Ｓ２３の処理で取得されたＮ番目の点を凹部の入口として記憶する（Ｓ２８）。ＣＰＵ１は、フラグに０を設定する（Ｓ２９）。距離が閾値よりも大きくはない場合（Ｓ２７：ＮＯ）又はＳ２９の処理の次に、ＣＰＵ１は、アップリケデータによって表される複数の針落ち点を、基準点から時計回りに一周分取得したかを判断する（Ｓ３３）。一周していない場合（Ｓ３３：ＮＯ）、ＣＰＵ１は、Ｎを１だけインクリメントして（Ｓ３４）、処理をＳ２３に戻す。一周した場合（Ｓ３３：ＹＥＳ）、ＣＰＵ１は凹部検出処理を終了し、処理を図２のメイン処理に戻す。
【００２４】
例１に関して、繰り返し実行されるＳ２３において、点５７が取得された場合、Ｓ２５の処理で算出された距離は閾値より大きいと判断される（Ｓ２７：ＹＥＳ）。この場合ＣＰＵ１は、点５７を凹部の入口として記憶し（Ｓ２８）、フラグに０を設定する（Ｓ２９）。繰り返し実行されるＳ２３において、例１で点５８が取得された場合、フラグに０が設定されていると判断され（Ｓ２６：ＹＥＳ）、ＣＰＵ１は、Ｓ２５で取得された距離Ｄ３が閾値よりも大きいか否かを判断する（Ｓ３０）。距離が閾値よりも大きくはない場合（Ｓ３０：ＮＯ）、ＣＰＵ１は、Ｓ２３の処理で取得されたＮ番目の点を凹部の出口として記憶する（Ｓ３１）。ＣＰＵ１は、フラグに１を設定し（Ｓ３２）、前述と同様のＳ３３の処理を実行する。例１では、距離Ｄ３が閾値よりも大きいと判断され（Ｓ３０：ＹＥＳ）、ＣＰＵ１は、前述と同様のＳ３３の処理を実行する。繰り返し実行されるＳ２３において、例１で点５９が取得された場合、フラグに０が設定されていると判断され（Ｓ２６：ＹＥＳ）、距離が閾値よりも大きくはないと判断される（Ｓ３０：ＮＯ）。この場合ＣＰＵ１は、Ｓ２３の処理で取得された点５９を凹部の出口として記憶する（Ｓ３１）。ＣＰＵ１は、フラグに１を設定し（Ｓ３２）、前述と同様のＳ３３の処理を実行する。
【００２５】
繰り返し実行されるＳ２３において、例２で点６７が取得された場合、Ｓ２５の処理で算出された距離は閾値より大きいと判断される（Ｓ２７：ＹＥＳ）。この場合ＣＰＵ１は、点６７を凹部の入口として記憶し（Ｓ２８）、フラグに０を設定する（Ｓ２９）。繰り返し実行されるＳ２３において、点６８が取得された場合、フラグに０が設定されていると判断され（Ｓ２６：ＹＥＳ）、ＣＰＵ１は、Ｓ２５で取得された距離Ｄ４が閾値よりも大きいと判断する（Ｓ３０：ＹＥＳ）。繰り返し実行されるＳ２３において、点６９が取得された場合、フラグに０が設定されていると判断され（Ｓ２６：ＹＥＳ）、距離が閾値よりも大きくはないと判断される（Ｓ３０：ＮＯ）。この場合ＣＰＵ１は、Ｓ２３の処理で取得された点６９を凹部の出口として記憶する（Ｓ３１）。ＣＰＵ１は、フラグに１を設定し（Ｓ３２）、前述と同様のＳ３３の処理を実行する。一周した場合（Ｓ３３：ＹＥＳ）、ＣＰＵ１は凹部検出処理を終了し、処理を図２のメイン処理に戻す。
【００２６】
図２に示すように、ＣＰＵ１は、Ｓ５の処理の次に、仮想図形配置処理を実行する（Ｓ６）。仮想図形配置処理では、アウトラインの設定に利用される仮想線の少なくとも一部を構成する仮想図形を、アップリケ模様（刺繍模様）の配置に合わせて配置する処理である。仮想線は、刺繍模様に対して輪郭線よりも外側となる線である。本例のＣＰＵ１は、アップリケ模様に基づきオフセット部を設定する。補完部は、刺繍模様の輪郭から第一所定量よりも多く、刺繍模様から外側に向けてオフセットした部分である。本例のＣＰＵ１は、仮想図形に基づき補完部を設定する。
【００２７】
図５に示すように、仮想図形配置処理では、Ｓ４で取得された凸包データによって表される凸包図形の頂点の数が４つ以下であるかを判断する（Ｓ４１）。凸包図形が三角形又は四角形である場合、凸包図形の頂点の数が４つ以下であると判断され（Ｓ４１：ＹＥＳ）、ＣＰＵ１は、凸包図形を仮想図形に設定する（Ｓ４２）。例１の凸包図形は、四角形であるので、仮想図形には凸包図形５５が設定される。凸包図形の頂点の数が４つ以下ではない場合（Ｓ４１：ＮＯ）、ＣＰＵ１は、円を仮想図形に設定する（Ｓ４５）。例２の凸包図形６５は、頂点の数が４つ以下ではないので、仮想図形には円が設定される。
【００２８】
ＣＰＵ１は、アップリケ模様に対する仮想図形の配置を、マスク基準によって設定するかを判断する（Ｓ４６）。本例のＣＰＵ１は、マスク基準、及び出入口基準の何れかで、アップリケ模様に対する仮想図形の配置を設定可能である。マスク基準は、アップリケ模様のマスク領域に合わせて、仮想図形を拡大又は縮小して、アップリケ模様に対する仮想図形の配置をする、仮想図形の配置方法である。出入口基準は、アップリケ模様と仮想図形とが凹部の入口と出口とで交差するように仮想図形を拡大又は縮小し、配置する、仮想図形の配置方法である。アップリケ模様に対する仮想図形の配置の設定方法は、ユーザが設定可能であってもよいし、刺繍模様の種類、形状、及び大きさ等に応じて、ＣＰＵ１が自動的に設定してもよい。
【００２９】
例１において、アップリケ模様５３に対する仮想図形の配置の設定方法にマスク基準が設定されている場合（Ｓ４６：ＹＥＳ）、ＣＰＵ１は、例１のマスク領域５４を特定する（Ｓ４７）。例１では、凸包図形５５と同様の形状のマスク領域５４が特定される。ＣＰＵ１は、Ｓ４７で特定されたマスク領域に合わせて仮想図形を変形し、アップリケ模様に対して仮想図形を配置する（Ｓ４８）。ＣＰＵ１は、仮想図形が円である場合、Ｓ４７で特定されたマスク領域に合わせて仮想図形を拡大又は縮小し、アップリケ模様に対して仮想図形を配置する。マスク領域に合わせて仮想図形を拡大又は縮小するとは、例えば、マスク領域を表す矩形状の図形に内接するように仮想図形を拡大又は縮小することである。図６に示すように、例１では、仮想図形が凸包図形５５であるので、アップリケ模様５３に対する仮想図形の配置は、アップリケ模様５３に対する凸包図形５５の配置のままとする。凸包図形５５（仮想図形）は、刺繍模様５１に対して輪郭線５２の外側となる仮想線を構成する。
【００３０】
例２において、アップリケ模様６３に対する仮想図形の配置の設定方法に出入口基準が設定されている場合（Ｓ４６：ＮＯ）、ＣＰＵ１は、凹部検出処理で記憶された凹部の入口と出口とを取得する（Ｓ４９）。例２では、凹部の入口の点６７と出口の点６９との座標が取得される（Ｓ４９）。ＣＰＵ１は、Ｓ４９で取得された凹部の入口と出口とに合わせて仮想図形を変形し、アップリケ模様に対して仮想図形を配置する（Ｓ５０）。具体的には図６に示すように、ＣＰＵ１は、アップリケ模様６３と仮想図形７４とが、入口の点６７と出口の点６９との各々で交差するように、仮想図形７４を拡大又は縮小する。本例のＣＰＵ１は、アップリケ模様６３のマスク領域６４の中心７５と、仮想図形７４の中心７６とを一致させる。仮想図形７４は、刺繍模様６１に対して輪郭線６２の外側となる仮想線を構成する。複数の凹部が検出されている場合には、凹部毎に仮想図形が配置されてもよいし、複数の凹部に共通する仮想図形が配置されてもよい。
【００３１】
Ｓ４８又はＳ５０の処理の次に、ＣＰＵ１は、仮想図形配置処理を終了し、図２のメイン処理に処理を戻す。ＣＰＵ１は、Ｓ６の処理の次に、Ｓ６で設定されたアップリケ模様に対する仮想図形の配置に基づき、アウトラインを設定する（Ｓ７）。図６に示すように、例１では、アウトライン６０が設定される。例１のアウトライン６０は、凸包図形５５を所定の太さの線で表された模様である。例１では、アップリケ模様５３と重なる部分がオフセット部７７であり、矢印７９に対応する、アップリケ模様５３とは重ならず、仮想図形（凸包図形５５）と重なる部分が補完部７８である。オフセット部７７の長さは、補完部７８の長さよりも長い。例１の刺繍模様５１に対するアウトライン６０は、矩形状であるが、刺繍模様５１のアウトラインは、矩形の四隅が第一所定量に応じて、面取りされた形状であってもよい。
【００３２】
例２では、アウトライン７０が設定される。アウトライン７０は、アップリケ模様６３と重なる部分がオフセット部８１であり、矢印８３に対応する、アウトライン７０では、アップリケ模様６３とは重ならず、仮想図形と重なる部分が補完部８２である。オフセット部８１の長さは、補完部８２の長さよりも長い。補完部８２は、仮想図形７３のうち、入口の点６７から時計回りに出口の点６９までの部分に相当する。オフセット部８１は、アップリケ模様６３のうち、出口の点６９から時計回りに入口の点６７までの部分に相当する。オフセット部８１と、補完部８２とは、刺繍模様６１の輪郭に応じたアップリケ模様６３の凹部の入口の点６７と、出口の点６９との各々で接続されている。
【００３３】
ＣＰＵ１はＳ７で設定されたアウトラインを縫製するための縫製データを生成する（Ｓ８）。縫製データは、例えば、アウトラインを表す縫目であって、縫目８４で示されるようなジグザグ縫いの縫目の針落ち点の位置（刺繍座標系の座標）を表す。縫製データは、糸の色を表す糸色データを含んでいてもよい。糸の色は、ユーザによって設定されてもよいし、刺繍模様の種類及び刺繍模様に用いられる糸の色等に応じて、ＣＰＵ１が自動的に設定してもよい。ＣＰＵ１は、Ｓ１で取得された刺繍模様の模様データと関連づけて、生成されたアウトラインの縫製データを記憶する。ＣＰＵ１は以上で、メイン処理を終了する。メイン処理で生成されたアウトラインの縫製データは、通信Ｉ／Ｆ５又はメモリカード等の記憶媒体を介して、ミシン１０に読み込まれる。ミシン１０は、ユーザの指示に応じて、メイン処理で生成された縫製データに従って、刺繍模様及びアウトラインを表す縫目を生成する処理を実行する。
【００３４】
ＣＰＵ１は、本発明の制御部の一例である。Ｓ１の処理を実行するＣＰＵ１は、本発明の取得手段の一例である。Ｓ８の処理を実行するＣＰＵ１は、本発明の生成手段の一例である。Ｓ２の処理を実行するＣＰＵ１は、輪郭線特定手段の一例である。Ｓ４８又はＳ５０の処理を実行するＣＰＵ１は、仮想線設定手段の一例である。Ｓ７の処理を実行するＣＰＵ１は、アウトライン設定手段の一例である。Ｓ２、Ｓ４８。Ｓ５０、Ｓ７の処理を実行するＣＰＵ１は、本発明の設定手段の一例である。Ｓ４７の処理を実行するＣＰＵ１は、マスク領域設定手段の一例である。Ｓ５の処理を実行するＣＰＵ１は、凹部検出手段の一例である。
【００３５】
装置２０は、刺繍模様の輪郭から所定量刺繍模様の外側にオフセットしたアウトラインを設定する場合に比べ、刺繍模様の輪郭に含まれる凹部の凹みを低減したアウトラインを生成できる可能性を高めることができる。つまり、装置２０は、ユーザが意図しない凹部を有するアウトラインを縫製するための縫製データが生成される可能性を低減できる。
【００３６】
本例のＣＰＵ１は、模様データに基づき刺繍模様の輪郭線を特定する（Ｓ２）。ＣＰＵ１は、Ｓ２で特定された輪郭線の外側となる仮想線として仮想図形を設定する（Ｓ４８又はＳ５０）。ＣＰＵ１は、Ｓ２で特定された輪郭線から刺繍模様の外側に向け第一所定量オフセットさせたオフセット部と、仮想線から第二所定量、刺繍模様の外側にオフセットさせた補完部とを有するアウトラインを設定する（Ｓ７）。本例の仮想線は、仮想図形によって表され、本例の第二所定量は０である。装置２０は、オフセット部を、輪郭線から刺繍模様の外側に向け第一所定量オフセットしたアップリケ模様に基づき設定し、補完部を仮想図形に基づき設定できる。装置２０は、補完部が仮想線に基づき設定されない場合に比べ、アウトラインの設定する処理を簡単にできる。
【００３７】
ＣＰＵ１は、刺繍模様の形状に応じた形状の仮想線として仮想図形を設定する（Ｓ４８、Ｓ５０）。具体的には、ＣＰＵ１は、刺繍模様の輪郭線によって表される図形の特徴を表す、凸包図形の頂点の数に応じて、仮想図形を設定する（Ｓ４２又はＳ４５）。装置２０は、刺繍模様の形状に適した仮想線が設定される可能性を高めることができる。つまり、装置２０は、ユーザが意図しない形状のアウトラインを縫製するための縫製データが生成される可能性を低減できる。
【００３８】
ＣＰＵ１は、例２で示すように、仮想図形の配置を出入口基準で設定する場合（Ｓ４６：ＮＯ）、刺繍模様の輪郭線に応じた図形（アップリケ模様）に交差する形状の仮想線（仮想図形）を設定する（Ｓ５０）。ＣＰＵ１は、オフセット部と、補完部とを、図形と仮想線との交点に応じた位置でつなげて、アウトラインを設定する（Ｓ７）。交点は、凹部検出処理で検出された、凹部の入口の点と、出口の点とである。装置２０は、凹部に対応する位置に、刺繍模様に対して刺繍模様（本例では、アウトライン模様）の輪郭線よりも外側となる仮想線を確実に設定できる。つまり装置２０は、刺繍模様の輪郭線が有する凹部の凹みを低減する仮想線をより確実に設定できる。装置２０は、刺繍模様の形状に適した仮想線が設定される可能性を高めることができる。装置２０は、ユーザが意図しない形状のアウトラインを縫製するための縫製データを生成する可能性を低減できる
【００３９】
ＣＰＵ１は、例１で示すように、仮想図形の配置をマスク基準で設定する場合（Ｓ４６：ＹＥＳ）、刺繍模様を内包するマスク領域の大きさを特定する（Ｓ４７）。ＣＰＵ１は、特定されたマスク領域の大きさに応じた大きさの図形を表す仮想線を設定する（Ｓ４８）。装置２０は、刺繍模様の大きさに適した大きさの図形を表す仮想線を設定できる。つまり、縫製データ生成装置は、ユーザが意図しない形状のアウトラインを縫製するための縫製データを生成する可能性を低減できる。
【００４０】
ＣＰＵ１は、輪郭線に応じた図形が有する凹部を検出する（Ｓ５）。本例の輪郭線に応じた図形は、アップリケ模様である。ＣＰＵ１は、検出された凹部よりも、刺繍模様に対し外側となる仮想線として仮想図形を設定する（Ｓ４８又はＳ５０）。装置２０は、凸包データを用いて凹部を検出するので、凸包データを用いない場合に比べ、凹部を検出する処理を簡単にできる。本例のＣＰＵ１は、凸包図形との距離が閾値より大きくなる部分を凹部として検出する。装置２０は、凸包図形の距離が閾値以下の場合は、凹みに合わせて凹むアウトラインを生成できる。装置２０は、凸包図形の距離が閾値より大きい場合は、刺繍模様の輪郭に合わせて凹まず、刺繍模様の輪郭に合わせて凹んだ場合よりも、凹み量を低減したアウトラインを生成できる。装置２０は、ユーザが意図しない凹部を有するアウトラインを縫製するための縫製データが生成される可能性を低減できる。
【００４１】
ＣＰＵ１は凹部の大きさに応じた大きさの図形を表す仮想線を設定する。具体的には、例２で示すように、仮想図形の配置を出入口基準で設定する場合（Ｓ４６：ＮＯ）、刺繍模様の輪郭線に応じた図形（アップリケ模様）に交差する形状の仮想線（仮想図形）を拡縮して配置する（Ｓ５０）。装置２０は、凹部の大きさに適した大きさの図形を表す仮想線を設定できる。本例のＣＰＵ１は、つまり、装置２０は、ユーザが意図しない形状のアウトラインを縫製するための縫製データを生成する可能性を低減できる。
【００４２】
図７を参照して、第二実施形態のメイン処理について説明する。第一実施形態と同様の処理には同じ符号を付与している。装置２０のＣＰＵ１は第一実施形態と同様の指示を検知すると、ＲＯＭ２のプログラム記憶エリアに記憶されたメイン処理を実行するための縫製データ生成プログラムを、ＲＡＭ３に読み出す。ＣＰＵ１は、ＲＡＭ３に読み出した縫製データ生成プログラムに含まれる指示に従って、以下のステップを実行する。メイン処理を実行するのに必要な各種パラメータは、フラッシュメモリ４に記憶されている。メイン処理の過程で得られた各種データは、適宜ＲＡＭ３に記憶される。以下では、例１としてフラッシュメモリ４に記憶された刺繍模様５１が縫製予定の模様として選択された場合を説明する。
【００４３】
ＣＰＵ１は、刺繍模様５１の模様データを取得する（Ｓ１）。ＣＰＵ１は、Ｓ１で取得された模様データに基づき、刺繍模様５１の輪郭線５２を特定する（Ｓ２）。ＣＰＵ１は、Ｓ１で取得された模様データに基づき、輪郭線５２に仮想線を設定する（Ｓ７３）。例えば、ＣＰＵ１は、刺繍模様５１を表す針落ち点の凸包データによって表される凸包図形７１を仮想線として設定する。他の例では、ＣＰＵ１は、刺繍模様５１の大きさに合わせた所定の図形を仮想線として設定する。より具体的にはＣＰＵ１は、刺繍模様５１の大きさを表すマスク領域に内接する円９１を仮想線として設定する。ＣＰＵ１は、輪郭線５２から第一所定量、刺繍模様の外側にオフセットしたオフセット部と、仮想線から刺繍模様の外側に第二所定量オフセットした補完部とをつなげて、アウトラインを設定する（Ｓ７７）。
【００４４】
例１において、ＣＰＵ１は、例えば、Ｓ７３で仮想図形として設定された凸包図形７１から第一所定量Ｄ５刺繍模様の外側に向けてオフセットした図形を、アウトライン６０として設定する。例１において、他の例では、ＣＰＵ１は、Ｓ７３で仮想図形として設定された円９１及び輪郭線５２のうちの、刺繍模様５１から外側にある部分から、第一所定量Ｄ５刺繍模様の外側に向けてオフセットした図形を、アウトライン９２として設定する。アウトライン９２のうち、輪郭線５２から第一所定量、刺繍模様５１の外側に向けてオフセットした部分がオフセット部９３である。アウトライン９２のうち、円９１から第一所定量、刺繍模様５１の外側に向けてオフセットした、矢印９５に対応する部分が補完部９４である。ＣＰＵ１は、Ｓ７７で設定されたアウトラインを表す縫目を縫製するための縫製データを生成する（Ｓ８）。ＣＰＵ１は以上でメイン処理を終了する。
【００４５】
第二実施形態の装置２０によれば、刺繍模様５１の輪郭線５２に応じた図形の凹部を検出せずに、輪郭線５２の凹みの影響を低減したアウトラインを縫製するための縫製データを生成できる。装置２０によれば、輪郭線５２に応じた図形として、アップリケデータを生成せずに、アウトラインを縫製するための縫製データを生成できる。
【００４６】
本発明の縫製データ生成プログラム及び縫製データ生成装置は、上記した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更が加えられてもよい。例えば、以下の（Ａ）から（Ｃ）までの変形が適宜加えられてもよい。
【００４７】
（Ａ）装置２０の構成は適宜変更してよい。装置２０は、専用の装置であってもよいし、スマートフォン及びタブレット型のＰＣ等の携帯可能な端末装置であってもよい。装置２０は、ミシン１０に備えられてもよい。ミシン１０は、刺繍縫製が可能なミシンであればよく、工業用ミシン及び多針ミシンであってもよい
【００４８】
（Ｂ）装置２０で実行されるメイン処理（図２及び図７参照）を実行させるための指令を含むプログラムは、ＣＰＵ１がプログラムを実行するまでに、装置２０の記憶機器に記憶されればよい。従って、プログラムの取得方法、取得経路及びプログラムを記憶する機器の各々は、適宜変更してもよい。ＣＰＵ１が実行するプログラムは、ケーブル又は無線通信を介して、他の装置から受信し、フラッシュメモリ等の記憶装置に記憶されてもよい。他の装置は、例えば、ＰＣ、及びネットワーク網を介して接続されるサーバを含む。
【００４９】
（Ｃ）装置２０で実行されるメイン処理（図２及び図７参照）の各ステップは、ＣＰＵ１によって実行される例に限定されず、一部又は全部が他の電子機器（例えば、ＡＳＩＣ）によって実行されてもよい。メイン処理の各ステップは、複数の電子機器（例えば、複数のＣＰＵ）によって分散処理されてもよい。メイン処理の各ステップは、必要に応じて順序の変更、ステップの省略、及び追加が可能である。装置２０上で稼動しているオペレーティングシステム（ＯＳ）等が、ＣＰＵ１からの指令に基づきメイン処理の一部又は全部を行う態様も、本開示の範囲に含まれる。例えば、メイン処理に以下の（Ｃ−１）から（Ｃ−３）の変更が適宜加えられてもよい。
【００５０】
（Ｃ−１）ＣＰＵ１は、刺繍模様の輪郭線を特定せずに、アウトラインを設定してもよい。例えば、ＣＰＵ１は、図７に示す第二実施形態のメイン処理において、刺繍模様の模様データに基づき、刺繍模様を表す針落ち点の凸包データを取得し（Ｓ１）、Ｓ２の処理を省略し、刺繍模様の凸包データによって表される凸包図形を仮想図形として設定してよい（Ｓ７３）。ＣＰＵ１は、凸包図形から所定量刺繍模様の外側にオフセットした図形をアウトラインとして設定してもよい（Ｓ７７）。ＣＰＵ１は、刺繍模様に対して輪郭線よりも外側となる仮想線を設定せずに、アウトラインを設定してもよい。輪郭線から刺繍模様の外側に向けて第一所定量オフセットさせたオフセット部を設定し、仮想線から第二所定量、刺繍模様の外側にオフセットさせた補完部を設定する場合、第一所定量と、第二所定量との各々は、同じ値であってもよいし、異なる値であってもよい。
【００５１】
（Ｃ−２）ＣＰＵ１は、刺繍模様の形状に応じた形状の仮想線を設定しなくてもよい。例えば、刺繍模様の形状によらず、所定形状の図形（例えば、円）が仮想線として設定されてもよい。ＣＰＵ１は、刺繍模様の輪郭線に応じた図形に交差する形状の仮想線を設定しなくてもよい。輪郭線に応じた図形は、輪郭線そのものによって表される図形でもよいし、輪郭線そのものによって表される図形の相似関係にある図形でもよい。また輪郭線に応じた図形は、第一実施形態のアップリケ模様のように、輪郭線が有する凹凸に対応する凹凸を有する図形でもよい。仮想線は、多角形、円等の環状の線であってもよいし、線分、円弧等の始点と終点とを有する線であってもよい。例えば、仮想線は、凹部検出処理によって検出された凹部の入口と出口とを結ぶ線分であってもよい。ＣＰＵ１は、オフセット部と、補完部とを、輪郭線に応じた図形と仮想線との交点に応じた位置でつなげて、アウトラインを設定しなくてもよい。図５の仮想図形配置処理において、マスク基準及び出入口基準の何れかで輪郭線に応じた図形に対する仮想図形（仮想線）の配置が設定されてよい。
【００５２】
（Ｃ−３）ＣＰＵ１は、刺繍模様を内包するマスク領域の大きさを特定しなくてもよい。ＣＰＵ１は、マスク領域の大きさに応じた大きさの図形を表す仮想線を設定しなくてもよい。ＣＰＵ１は、第二実施形態のメイン処理のように、輪郭線に基づき、輪郭線に応じた図形が有する凹部を検出しなくてもよい。ＣＰＵ１は、輪郭線に応じた図形の凹部を検出する場合、凸包データを利用しない公知の方法に従ってもよい。ＣＰＵ１は、検出された凹部に応じて仮想線を設定しなくてもよい。ＣＰＵ１は、凹部の大きさに応じた大きさの図形を表す仮想線を設定しなくてもよい。
【符号の説明】
【００５３】
１      ＣＰＵ
２      ＲＯＭ
３      ＲＡＭ
４      フラッシメモリ
２１    マウス
２２    キーボード
２０    縫製データ生成装置
【図１】
2017153501.tif 000003
【図２】
2017153501.tif 000004
【図３】
2017153501.tif 000005
【図４】
2017153501.tif 000006
【図５】
2017153501.tif 000007
【図６】
2017153501.tif 000008
【図７】
2017153501.tif 000009