(57)【特許請求の範囲】
【請求項１】
立体の展開図を表す展開図データを取得し、取得した展開図データに含まれる各面を検出する検出手段と、
印刷に用いられる用紙の大きさの設定および当該用紙において前記展開図データが印刷される領域である印刷領域の設定を受け付ける受付手段と、
前記検出手段が検出した面ごとに前記展開図データを分割し、各面について１枚の前記用紙の前記印刷領域内での当該面の配置を決定する配置決定手段であって、当該面を構成する辺の少なくとも１つが前記印刷領域の辺上に位置するように当該面の配置を決定する配置決定手段と、
前記配置決定手段が決定した各面の配置を表す画像を前記用紙に印刷するための印刷データを生成する生成手段と、
を備えることを特徴とする印刷データ生成装置。
【請求項２】
前記検出手段は、前記展開図データに含まれる外枠線および折り線を検出し、検出した外枠線および折り線により囲まれる各領域を前記各面として検出し、
前記配置決定手段は、前記検出した面ごとに、当該面の辺のうち前記折り線が前記印刷領域の辺上に位置するように当該面の前記印刷領域内での配置を決定する、
ことを特徴とする請求項１に記載の印刷データ生成装置。
【請求項３】
前記配置決定手段は、前記検出した面のうちの１つを１枚の前記用紙の前記印刷領域内に配置した状態で、当該１つの面に隣接する面がさらに前記印刷領域内に収まる場合に、当該１つの面と当該隣接する面とを前記印刷領域内に配置することを決定し、当該隣接する面のみを１枚の前記用紙の前記印刷領域内に配置することを決定済みであれば当該決定を破棄する、
ことを特徴とする請求項１または２に記載の印刷データ生成装置。
【請求項４】
前記配置決定手段は、配置の決定の対象の面が１枚の前記用紙の前記印刷領域内に収まらない場合に、複数の前記用紙の前記印刷領域に亘って当該対象の面を配置することを決定する、
ことを特徴とする請求項１から３のいずれか１項に記載の印刷データ生成装置。
【請求項５】
前記生成手段は、前記配置決定手段が決定した各面の配置を表す画像に対して、前記展開図データが表す展開図を用いた組み立て作業の際の目印となる画像を追加した印刷データを生成する、
ことを特徴とする請求項１から４のいずれか１項に記載の印刷データ生成装置。
【請求項６】
前記生成手段は、前記配置決定手段が決定した各面の配置を表す画像を印刷する前記用紙の大きさの設定を、印刷において利用可能な用紙の大きさのうち前記各面を印刷可能な最小の用紙の大きさに変更した上で、前記印刷データを生成する、
ことを特徴とする請求項１から５のいずれか１項に記載の印刷データ生成装置。
【請求項７】
コンピュータに、
立体の展開図を表す展開図データを取得し、取得した展開図データに含まれる各面を検出する検出ステップと、
印刷に用いられる用紙の大きさの設定および当該用紙において前記展開図データが印刷される領域である印刷領域の設定を受け付ける受付ステップと、
前記検出ステップで検出された面ごとに前記展開図データを分割し、各面について１枚の前記用紙の前記印刷領域内での当該面の配置を決定するステップであって、当該面を構成する辺の少なくとも１つが前記印刷領域の辺上に位置するように当該面の配置を決定する配置決定ステップと、
前記配置決定ステップで決定した各面の配置を表す画像を前記用紙に印刷するための印刷データを生成する生成ステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データ生成装置およびプログラムに関する。
【背景技術】
【０００２】
ＣＡＤ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ）などで設計した製品の展開図データから、この展開図データにおける底面や側面などの面ごとに面図形データを生成する技術（特許文献１）や、このように生成された面図形データを用いて製品の組立形状を算出する技術が開発されている（特許文献２）。
【０００３】
また、製品や商品の展開図データを保持したサーバが、利用者のクライアント端末からの要求に応じて、クライアント端末に展開図データを送信するシステムが提案されている。例えば、特許文献３に記載のシステムは、製品の実物大の展開図データを注文者のコンピュータに送信する。注文者は、自身のコンピュータで受信した展開図データを紙に印刷し、印刷された展開図を切り抜き、展開図中の折れ線および糊代線に沿って組み立てることで、製品の実物大の外観を確認する。また例えば、特許文献４には、商品の展開図データをクライアント端末に送信するシステムにおいて、商品の展開図データを作成する際に、商品の寸法に関する情報に基づいて、展開図の寸法が所定の用紙サイズに納まるように展開図の寸法を調整するシステムが開示されている。
【０００４】
また、特許文献５には、印刷装置で印刷可能な用紙のサイズよりも大きなサイズの用紙に大きな画像を印刷することを可能とする技術が開示されている。特許文献５に記載の技術では、画像データを基準位置で複数の画像に分割し、分割した複数の画像を変倍する。そして、分割および変倍した複数の画像のそれぞれを、複数折りにした用紙の各面に印刷する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−２５９５０７号公報
【特許文献２】特開平６−１７６１１１号公報
【特許文献３】特開２００２−１５００５９号公報
【特許文献４】特開２００５−２０２８３８号公報
【特許文献５】特開２００３−４６７５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
印刷装置で印刷可能な用紙の大きさよりも大きな展開図データの印刷を利用者が望む場合がある。この場合、印刷可能な用紙の大きさの範囲内に納まるように展開図データを縮小して印刷するか、あるいは、展開図データを分割して複数の用紙に印刷することが考えられる。展開図データを縮小して印刷する場合、印刷された展開図を組み立てても、縮小前の展開図データが表す大きさの立体は得られない。また、展開図データを分割して複数の用紙に印刷し、これらの用紙を貼り合わせて得られる展開図から立体を組み立てる場合、用紙の重複部分では組み立てのための加工が困難であり得る。
【０００７】
本発明の目的は、展開図データの大きさを変えることなく、組み立てのための加工が阻害されないように展開図データを分割して複数の用紙に印刷できる印刷データ生成装置およびプログラムを提供することである。
【課題を解決するための手段】
【０００８】
請求項１に係る発明は、立体の展開図を表す展開図データを取得し、取得した展開図データに含まれる各面を検出する検出手段と、印刷に用いられる用紙の大きさの設定および当該用紙において前記展開図データが印刷される領域である印刷領域の設定を受け付ける受付手段と、前記検出手段が検出した面ごとに前記展開図データを分割し、各面について１枚の前記用紙の前記印刷領域内での当該面の配置を決定する配置決定手段であって、当該面を構成する辺の少なくとも１つが前記印刷領域の辺上に位置するように当該面の配置を決定する配置決定手段と、前記配置決定手段が決定した各面の配置を表す画像を前記用紙に印刷するための印刷データを生成する生成手段と、を備えることを特徴とする印刷データ生成装置である。
【０００９】
請求項２に係る発明は、請求項１に係る発明において、前記検出手段は、前記展開図データに含まれる外枠線および折り線を検出し、検出した外枠線および折り線により囲まれる各領域を前記各面として検出し、前記配置決定手段は、前記検出した面ごとに、当該面の辺のうち前記折り線が前記印刷領域の辺上に位置するように当該面の前記印刷領域内での配置を決定する。
【００１０】
請求項３に係る発明は、請求項１または２に係る発明において、前記配置決定手段は、前記検出した面のうちの１つを１枚の前記用紙の前記印刷領域内に配置した状態で、当該１つの面に隣接する面がさらに前記印刷領域内に収まる場合に、当該１つの面と当該隣接する面とを前記印刷領域内に配置することを決定し、当該隣接する面のみを１枚の前記用紙の前記印刷領域内に配置することを決定済みであれば当該決定を破棄する。
【００１１】
請求項４に係る発明は、請求項１から３のいずれか１項に係る発明において、前記配置決定手段は、配置の決定の対象の面が１枚の前記用紙の前記印刷領域内に収まらない場合に、複数の前記用紙の前記印刷領域に亘って当該対象の面を配置することを決定する。
【００１２】
請求項５に係る発明は、請求項１から４のいずれか１項に係る発明において、前記生成手段は、前記配置決定手段が決定した各面の配置を表す画像に対して、前記展開図データが表す展開図を用いた組み立て作業の際の目印となる画像を追加した印刷データを生成する。
【００１３】
請求項６に係る発明は、請求項１から５のいずれか１項に係る発明において、前記生成手段は、前記配置決定手段が決定した各面の配置を表す画像を印刷する前記用紙の大きさの設定を、印刷において利用可能な用紙の大きさのうち前記各面を印刷可能な最小の用紙の大きさに変更した上で、前記印刷データを生成する。
【００１４】
請求項７に係る発明は、コンピュータに、立体の展開図を表す展開図データを取得し、取得した展開図データに含まれる各面を検出する検出ステップと、印刷に用いられる用紙の大きさの設定および当該用紙において前記展開図データが印刷される領域である印刷領域の設定を受け付ける受付ステップと、前記検出ステップで検出された面ごとに前記展開図データを分割し、各面について１枚の前記用紙の前記印刷領域内での当該面の配置を決定するステップであって、当該面を構成する辺の少なくとも１つが前記印刷領域の辺上に位置するように当該面の配置を決定する配置決定ステップと、前記配置決定ステップで決定した各面の配置を表す画像を前記用紙に印刷するための印刷データを生成する生成ステップと、を実行させるためのプログラムである。
【発明の効果】
【００１５】
請求項１または７に係る発明によると、展開図データの大きさを変えることなく、組み立てのための加工が阻害されないように展開図データを分割して複数の用紙に印刷できる。
【００１６】
請求項２に係る発明によると、用紙が張り合わせられる重複部分に展開図の折り線が印刷されることを防止できる。
【００１７】
請求項３に係る発明によると、展開図データの面ごとに１枚の用紙を用いて印刷する場合と比較して、より少ない枚数の用紙を用いて展開図データを印刷できる。
【００１８】
請求項４に係る発明によると、展開図データの面が１枚の用紙の印刷領域内に収まらない場合に、当該面を複数の用紙の印刷領域に亘って印刷することができる。
【００１９】
請求項５に係る発明によると、分割されて複数の用紙に印刷された展開図を用いた組み立て作業を支援できる。
【００２０】
請求項６に係る発明によると、用紙の大きさを固定する場合と比較して、展開図データの各面を印刷した用紙における余白部分をより少なくすることができる。
【図面の簡単な説明】
【００２１】
【図１】印刷データ生成装置の内部構成の概略の例を示すブロック図である。
【図２】印刷される展開図の例を示す図である。
【図３】用紙の印刷領域の例を示す図である。
【図４】印刷データ生成装置が実行する処理の手順の一部の例を示すフローチャートである。
【図５】印刷データ生成装置が実行する処理の手順の他の一部の例を示すフローチャートである。
【図６】展開図中の１つの面を用紙の印刷領域に配置した例を示す図である。
【図７】展開図中の他の面を用紙の印刷領域に配置した例を示す図である。
【図８】展開図中のさらに他の面を用紙の印刷領域に配置した例を示す図である。
【図９】展開図中のさらに他の面を用紙の印刷領域に配置した例を示す図である。
【図１０Ａ】展開図中の面が用紙の印刷領域内に収まらない配置の例を示す図である。
【図１０Ｂ】図１０Ａの例の配置に対して用紙を追加した状態の例を示す図である。
【図１１】印刷データ生成装置が実行する処理の手順のさらに他の一部の例を示すフローチャートである。
【図１２】展開図中のすべての面を用紙に配置した例を示す図である。
【図１３】用紙の張り合わせ領域の中央位置を示す枠線の例を示す図である。
【図１４】組み立ての際の目印を追加した印刷データの例を示す図である。
【図１５】コンピュータのハードウエア構成の例を示す図である。
【発明を実施するための形態】
【００２２】
図１に、本発明の実施形態の例による印刷データ生成装置の内部構成の概略の例を示す。図１では、印刷データ生成装置１０は、表示装置２０および印刷装置３０に接続されている。表示装置２０は、液晶ディスプレイなどの一般的な表示装置であってよい。また、印刷装置３０は、電子データを用紙に印刷する一般的なプリンタであってよい。
【００２３】
印刷データ生成装置１０は、立体の展開図を用紙に印刷するための印刷データを生成する。印刷データ生成装置１０は、展開図データ記憶部１００、入力受付部１１０、展開図データ処理部１２０、印刷データ生成部１３０、印刷指示部１４０、および表示制御部１５０を備える。
【００２４】
展開図データ記憶部１００は、展開図を表す展開図データを記憶する記憶手段である。展開図データは、例えば、ＣＡＤシステムなどを使用して作成された展開図の画像のデータであってよい。展開図データは、例えばＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）などの形式のファイルとして展開図データ記憶部１００に記憶される。また、展開図データには、当該展開図データが表す展開図の大きさを示す情報が含まれているとする。展開図の大きさを示す情報は、例えば、展開図の全体を印刷するために必要な用紙のサイズ（大きさ）および展開図中の各部分の寸法を含む。
【００２５】
図２に、展開図データ記憶部１００に記憶される展開図データが表す展開図の一例を示す。図２の例の展開図は、箱の展開図である。図２では、外枠線および切込線を実線で示し、折り線を破線で示す。また、図２の例の展開図は、印刷装置３０で利用可能な用紙の最大サイズよりも大きいものとする。なお、図２に示す符号ｉ〜ｘｉｉｉは、以下の説明において展開図データ中の各面を識別するための符号である。
【００２６】
再び図１を参照し、入力受付部１１０は、印刷データ生成装置１０に対するユーザの指示の入力を受け付ける。入力受付部１１０は、例えば、マウスやキーボードなどの入力装置（図示しない）を用いて入力された情報を取得し、取得した情報を展開図データ処理部１２０や印刷データ生成部１３０に渡す。
【００２７】
展開図データ処理部１２０は、展開図データから印刷データを生成するための前処理を展開図データに対して行う。展開図データ処理部１２０は、データ取得部１２２、面検出部１２４、用紙情報取得部１２６、および配置決定部１２８を備える。
【００２８】
データ取得部１２２は、展開図データ記憶部１００から展開図データを取得する。例えば、展開図データ記憶部１００に記憶された展開図データのうちの１つを指定して印刷データの生成を指示するユーザの入力を入力受付部１１０が受け付けた場合、データ取得部１２２は、ユーザにより指定された展開図データを展開図データ記憶部１００から読み出す。データ取得部１２２は、さらに、読み出した展開図データから、展開図の大きさを表す情報を抽出する。
【００２９】
面検出部１２４は、展開図データ中の各面を検出する。本実施形態の例の面検出部１２４は、まず、展開図データに含まれる各種の線を検出する。例えば図２の例の場合、展開図データには、実線および破線が含まれ、面検出部１２４は、これらの実線および破線を検出する。展開図データ中の線を検出した後、面検出部１２４は、検出した面に囲まれる各領域を、展開図データ中の各面として検出する。図２の例では、面ｉ〜ｘｉｉｉが検出される。なお、本実施形態の例の面検出部１２４は、展開図データ中の線を検出する際、検出した線の種類を認識するものとする。ここで、「線の種類」とは、展開図から立体を組み立てる際の各線の機能を意味する。図２の例の場合、展開図の外形を規定する実線を「外枠線」として、展開図の内部の実線を「切込線」として、破線を「折り線」として認識する。展開図データ中の線の態様（実線、破線、点線、一点鎖線など）と線の種類（組立時の線の機能）との対応を表す情報は、展開図データに含まれていてもよいし、予め設定されて記憶装置（図示しない）記憶装置に記憶されていてもよい。いずれにしても、展開図データ中のどのような態様の線をどの種類の線として認識すべきかを表す情報を面検出部１２４により参照可能にしておけばよい。この情報を参照して、面検出部１２４は、展開図データにおいて検出した線の種類を特定する。
【００３０】
用紙情報取得部１２６は、入力受付部１１０を介して、展開図データの印刷に用いられる用紙に関する情報を取得する。本実施形態の例の用紙情報取得部１２６は、印刷に用いられる用紙のサイズと、当該用紙において印刷に用いられない張り合わせ領域と、を指定するユーザの入力を取得する。ここで、張り合わせ領域とは、用紙において印刷が行われない余白（マージン）領域であり、用紙に印刷された展開図を切り取って組み立てる際に、用紙同士を張り合わせるために用いられ得る。用紙情報取得部１２６は、例えば、後述の表示制御部１５０に依頼して、用紙のサイズと用紙における張り合わせ領域のサイズとの入力をユーザに促す情報を表示装置２０に表示させる。用紙のサイズについては、例えば、印刷装置３０で利用可能な用紙サイズの選択肢（Ａ４，Ａ３，Ｂ５，など）を表示させ、そのうちの１つを選択することを促す情報を表示させればよい。張り合わせ領域のサイズに関しては、例えば、用紙の上下左右の余白領域の幅を入力することを促す情報を表示させればよい。表示装置２０の表示を確認したユーザが入力装置（図示しない）を用いて、用紙のサイズおよび張り合わせ領域のサイズを入力すると、この入力は、入力受付部１１０により用紙情報取得部１２６に渡される。用紙情報取得部１２６は、取得した用紙のサイズおよび張り合わせ領域のサイズを配置決定部１２８に渡す。
【００３１】
配置決定部１２８は、面検出部１２４が検出した各面について、用紙への配置を決定する。本実施形態の例の配置決定部１２８は、まず、用紙情報取得部１２６から受け取った用紙のサイズおよび張り合わせ領域のサイズから、当該用紙において印刷が行われる領域である印刷領域の位置および大きさを求める。例えば図３を参照し、用紙４００の張り合わせ領域のサイズとして、矢印ｔｏｐ，ｂｏｔｔｏｍ，ｌｅｆｔ，ｒｉｇｈｔで示すように、上下左右の余白の幅が指定されているとする。用紙４００において、余白部分以外の斜線部分が印刷領域４０２である。図３の例において、用紙４００の縦方向の大きさから矢印ｔｏｐ，ｂｏｔｔｏｍの余白の幅の和を減算することで印刷領域４０２の縦方向の大きさが求められ、用紙４００の横方向の大きさから、矢印ｌｅｆｔ，ｒｉｇｈｔの余白の幅の和を減算することで印刷領域４０２の横方向の大きさが求められる。また、印刷領域４０２の位置は、矢印ｔｏｐ，ｂｏｔｔｏｍ，ｌｅｆｔ，ｒｉｇｈｔで表される余白の幅により求められる。
【００３２】
図１の説明に戻り、配置決定部１２８は、用紙の印刷領域の大きさおよび位置を求めると、展開図データの展開図の大きさが１枚の用紙の印刷領域内に収まるか否かを判定する。１枚の用紙の印刷領域内に収まる場合、当該展開図の全体を当該印刷領域内に配置する。展開図の全体が１枚の用紙の印刷領域内に収まらない場合、配置決定部１２８は、面検出部１２４が検出した展開図データ中の複数の面を複数の用紙の印刷領域に割り当て、各面の印刷領域における配置を決定する。言い換えると、展開図を面単位で分割して、複数の用紙の印刷領域内に配置する。また、本実施形態の例では、展開図データ中の面を構成する辺の少なくとも１つが印刷領域の辺上に位置するように、各面の印刷領域への配置が決定される。配置決定部１２８による各面の配置の決定の詳細については後述する。
【００３３】
印刷データ生成部１３０は、配置決定部１２８が決定した配置に従って印刷データを生成する。印刷データ生成部１３０は、例えば、配置決定部１２８が決定したとおりに展開図データ中の各面を用紙の印刷領域に配置した結果の画像を印刷装置３０に印刷させるための印刷データを生成する。
【００３４】
印刷指示部１４０は、印刷データ生成部１３０が生成した印刷データを用紙に印刷するよう、印刷装置３０に対して指示を出す。
【００３５】
表示制御部１５０は、表示装置２０に表示させる内容を制御する。表示制御部１５０は、例えば、展開図データ処理部１２０における処理の結果や過程を表示装置２０に表示させたり、印刷データ生成部１３０が生成した印刷データを表示装置２０に表示させたりする。
【００３６】
以下、印刷データ生成装置１０における処理の例を説明する。
【００３７】
図４は、印刷データ生成装置１０が実行する処理の手順の例を示すフローチャートである。印刷データ生成装置１０は、例えば、特定の展開図データの印刷を指示するユーザの入力を入力受付部１１０において受け付けた場合に、図４の例の手順の処理を開始する。
【００３８】
入力受付部１１０からユーザの入力を受取った展開図データ処理部１２０において、データ取得部１２２は、ユーザの入力で特定された展開図データを展開図データ記憶部１００から取得する（ステップＳ１０）。ステップＳ１０で、データ取得部１２２は、さらに、取得した展開図データから、展開図の大きさを表す情報を抽出する。
【００３９】
展開図データ処理部１２０の用紙情報取得部１２６は、入力受付部１１０を介して、展開図データの印刷に用いられる用紙のサイズおよび張り合わせ領域のサイズのユーザ入力を受け付ける（ステップＳ１２）。用紙情報取得部１２６は、例えば、表示制御部１５０に依頼して、用紙のサイズおよび張り合わせ領域のサイズの入力を促す情報を表示装置２０に表示させ、この表示に応じてユーザが入力した情報を、入力受付部１１０から取得する。用紙情報取得部１２６は、取得した用紙のサイズおよび張り合わせ領域のサイズを配置決定部１２８に渡す。
【００４０】
配置決定部１２８は、ステップＳ１２で受け付けられた用紙のサイズおよび張り合わせ領域のサイズを用いて、用紙における印刷領域の位置および大きさを特定する（ステップＳ１４）。この印刷領域の特定は、例えば図３を参照して上述したとおりに行えばよい。
【００４１】
印刷領域を特定すると、配置決定部１２８は、ステップＳ１０で取得された展開図データが表す展開図の全体が１枚の用紙の印刷領域内に収まるか否かを判定する（ステップＳ１６）。この判定は、ステップＳ１０で展開図データから抽出された展開図の大きさと、ステップＳ１４で求めた印刷領域の大きさとを比較することで行えばよい。
【００４２】
１枚の用紙の印刷領域内に展開図の全体が収まる場合（ステップＳ１６でＹＥＳ）、配置決定部１２８は、当該展開図の全体を印刷領域に配置し（ステップＳ１８）、この配置を表す情報を印刷データ生成部１３０に渡す。印刷データ生成部１３０は、配置決定部１２８から受取った情報に従って、用紙の印刷領域に展開図を配置した結果の画像を印刷するための印刷データを生成する（ステップＳ２０）。生成された印刷データは、印刷データ生成部１３０から印刷指示部１４０に渡され、印刷指示部１４０は、当該印刷データによる印刷を行うことを印刷装置３０に指示する（ステップＳ２２）。この指示を受けて、展開図が１枚の用紙に印刷される。
【００４３】
ステップＳ１０で取得された展開図データの展開図が１枚の用紙の印刷領域内に収まらない場合（ステップＳ１６でＮＯ）、処理は図５のステップＳ３０に進む。
【００４４】
図５を参照し、まず、展開図データ処理部１２０の面検出部１２４において、図４のステップＳ１０で取得された展開図データ中の線を検出する（ステップＳ３０）。上述の図２の例の展開図データの場合、実線で表される外枠線および切込線と、破線で表される折り線とが検出される。
【００４５】
次に、面検出部１２４は、ステップＳ３０で検出した線を用いて、展開図データ中の各面を検出する（ステップＳ３２）。本実施形態の例の面検出部１２４は、展開図データにおいて、ステップＳ３０で検出した線によって囲まれる領域のそれぞれを面として検出する。面検出部１２４は、ステップＳ３２で検出した各面の情報を配置決定部１２８に渡す。例えば図２の例の展開図の場合、面ｉ〜ｘｉｉｉが検出され、これらの各面ｉ〜ｘｉｉｉを表す情報が配置決定部１２８に渡される。各面を表す情報は、例えば、当該面を構成する辺、各辺の種類、各辺の大きさ、および当該面と他の面との間の位置関係などを含む。
【００４６】
展開図データ中の各面を検出した後、配置決定部１２８は、これらの面のうちの１つを処理対象として選択し（ステップＳ３４）、選択した面の用紙における配置を決定する（ステップＳ３６）。より詳細には、配置決定部１２８は、選択した面を構成する辺のうちの少なくとも１つが用紙の印刷領域の辺上に位置するように、当該面の印刷領域への配置を決定する。本例の配置決定部１２８は、選択した面の辺のうち、「折り線」が優先的に印刷領域の辺上に位置するように面の配置を決定する。図６〜図９に、図２の例の展開図の面の一部（面ｉ〜ｉｖ）について、各面を用紙４００の印刷領域４０２内に配置した例を示す。図６〜図９は、用紙４００の内部の一点鎖線で囲まれた矩形を印刷領域４０２とする。図６，図７，図８，図９は、それぞれ、展開図データ中の面ｉ，ｉｉ，ｉｉｉ，ｉｖがステップＳ３４で選択された場合の配置の例を示す。図６〜図９を参照し、各面ｉ〜ｉｖは、当該面の折り線のうちの少なくとも１つが印刷領域４０２の辺上に位置するように配置されている。また、角度９０度の角を含む面ｉｉ〜ｉｖは、それぞれ、９０度の角が印刷領域４０２の角のうちの１つと重なるように配置されている。なお、本実施形態の例では、ステップＳ３６で、各面を配置する用紙の向きは一定の向きに定められるとする。図６〜図９では、用紙を横向き（用紙の長辺を水平方向と平行にする向き）に固定して各面の配置を決定する場合の例を示す。
【００４７】
ステップＳ３２で選択した面について用紙の印刷領域への配置を行った後、配置決定部１２８は、当該選択した面の全体が印刷領域内に収まっているか否かを確認する（ステップＳ３８）。上述の図６〜図９の各例の場合、いずれも、配置された各面ｉ〜ｉｖは印刷領域４０２内に収まっているので、ステップＳ３８でＹＥＳ判定され、ステップＳ４２に進む。
【００４８】
一方、選択した面が印刷領域内に収まらない場合もある。この場合の例を図１０Ａに示す。図１０Ａは、図２の例の展開図データの各面の配置を決定する際、ステップＳ３６で、用紙を縦向き（用紙の長辺を水平方向に対して垂直にする向き）に固定した場合の面ｉｉの配置の一例である。図１０Ａを参照し、面ｉｉが備える２つの折り線のうちの一方が印刷領域４０２の辺上に位置するように面ｉｉを印刷領域４０２に配置した状態において、面ｉｉのうち印刷領域４０２内に収まっていない部分がある。図１０Ａの例のように、現在の処理対象の面のうち印刷領域４０２内に収まらない部分がある場合、図５の例の手順のステップＳ３８の判定処理でＮＯ判定され、配置決定部１２８は、現在の処理対象の面を印刷するための用紙を追加する（ステップＳ４０）。ステップＳ４０で、配置決定部１２８は、例えば、印刷領域４０２内に収まっていない部分に、追加の用紙の印刷領域を割り当てる。図１０Ａを参照する上述の例の場合、ステップＳ４０で、例えば図１０Ｂに示すように、面ｉｉにおいて用紙４００の印刷領域４０２に収まらない部分を追加の用紙４００´の印刷領域４０２´内に配置するように、追加の用紙４００´における面ｉｉの配置を決定する。なお、図１０Ｂにおいて、展開図の下方に示した用紙４００´は、用紙４００´の実際の配置位置を示すものではなく、単に理解を容易にするために示したものである。展開図の下方に示す用紙４００´の印刷領域４０２´において斜線で示す領域内に、展開図の面ｉｉにおいて印刷領域４０２内に収まらない部分が配置される。また、面ｉｉのうち印刷領域４０２内に収まらない部分における折り線が印刷領域４０２´の辺上に配置される。図１０Ｂの例のように追加の用紙４００´の印刷領域４０２´内に面ｉｉの一部を配置すると、面ｉｉの全体が用紙４００および用紙４００´のいずれか一方の印刷領域４０２，４０２´内に収まる。
【００４９】
ステップＳ４０の後、ステップＳ３８に戻り、再度、現在の処理対象の面において印刷領域内に収まっていない部分があるか否かの判定が行われる。用紙を追加しても当該面が印刷領域内に収まらない場合（ステップＳ３８でＮＯ）、面の全体が印刷領域内に収まるようになるまで、用紙を追加する処理（ステップＳ４０）が繰り返される。また、例えば図１０Ｂのように、追加の用紙による配置を行うことで面が印刷領域内に収まる場合、ステップＳ３８でＹＥＳ判定されてステップＳ４２に進む。
【００５０】
ステップＳ４２では、展開図データ中の面のすべてについて処理済みであるか否かの判定が行われる。すべての面について処理済みでなければ（ステップＳ４２でＮＯ）、処理はステップＳ３４に戻って、未処理の面を１つ選択し、選択した面に対してステップＳ３６以降の処理が行われる。すべての面について処理済みであれば（ステップＳ４２でＹＥＳ）、処理は図１１のステップＳ５０に進む。
【００５１】
図５の例の手順において、展開図データ中のすべての面について処理が終了した時点では、展開図データ中の面ごとに、１枚以上の用紙の印刷領域への当該面の配置が決定されている。例えば図２の例の展開図の場合、図６〜図９に例示する面ｉ〜ｉｖの配置に加えて、面ｖ〜ｘｉｉｉの各面についても図６〜図９と同様に印刷領域への配置が決定される。このように決定された配置のとおりに展開図データの各面を用紙に印刷すると、展開図データ中の面の数以上の枚数の用紙が必要となる。上述の図２，図６〜図９を参照する例の場合、展開図データ中に１３個の面ｉ〜ｘｉｉｉが存在するため、面ごとに１枚以上の用紙の印刷領域への配置を決定して印刷を行うと、１３枚以上の用紙が必要となる。しかしながら、１枚の用紙の印刷領域に複数の面を配置可能な場合もある。１枚の用紙の印刷領域に複数の面を配置すれば、これら複数の面ごとに１枚以上の用紙への配置を行うよりも、印刷に必要な用紙の枚数が少なくなる。したがって、配置決定部１２８は、図１１の例のステップＳ５０〜Ｓ５６で、可能な限り多くの面を１枚の用紙に配置するための処理を行う。
【００５２】
図１１を参照し、配置決定部１２８は、展開図データ中の面のうちの１つを１枚の用紙に配置した状態を表す配置情報を選択する（ステップＳ５０）。ここで、「配置情報」とは、例えば図６〜図９に例示するような、展開図データ中の面の用紙（の印刷領域）への配置を表す情報であるとする。図１１の例の手順が開始される時点では、上述のように、展開図データ中の面ごとに、当該面の１枚以上の用紙への配置を表す配置情報が生成されている。これらの配置情報のうち、１枚の用紙に１つの面を配置した状態を表すものがステップＳ５０における選択の対象となる。
【００５３】
配置決定部１２８は、ステップＳ５０で選択した配置情報が表す配置の状態において、印刷領域に配置された面に隣接する面（隣接面）のうち、当該印刷領域内に収まる面があるか否かを判定する（ステップＳ５２）。
【００５４】
例えば、ステップＳ５０で図６の例の配置を表す配置情報が選択された場合、面ｉに隣接する面ｉｉは、印刷領域４０２内に収まっていない。このため、ステップＳ５２でＮＯ判定される。ステップＳ５２でＮＯ判定されると、未処理の配置情報がなくなるまで（ステップＳ５６でＮＯ判定されるまで）、ステップＳ５０以降の処理が繰り返される。
【００５５】
また例えば、図７の例の配置を表す配置情報がステップＳ５０で選択された場合、面ｉｉに隣接する面ｉは、印刷領域４０２内に収まっている。このため、ステップＳ５２でＹＥＳ判定される。
【００５６】
ステップＳ５２でＹＥＳ判定されると、処理はステップＳ５４に進み、配置決定部１２８は、印刷領域内に収まっている隣接面のみを用紙に配置した状態を表す配置情報を破棄する。例えば、図７についてステップＳ５２の判定が行われてステップＳ５４の処理を行う場合、面ｉｉに隣接する面ｉのみを用紙に配置した状態を表す図６の例の配置情報を破棄する。また、配置決定部１２８は、ステップＳ５４で破棄した配置情報に含まれる隣接面を、現在の処理対象の（ステップＳ５０で選択された）配置情報における印刷領域内に配置される面として、現在の処理対象の配置情報に含める。図７を参照する上述の例の場合、印刷領域に元から配置されていた面ｉｉだけでなく、隣接する面ｉ（廃棄された図６の配置情報に含まれる面）も印刷領域内に配置された面として認識しておく。言い換えると、図７に例示する印刷領域４０２内に位置する展開図データの面ｉおよび面ｉｉの両方を印刷対象としておく。
【００５７】
ステップＳ５４の後、またはステップＳ５２でＮＯ判定された後、ステップＳ５６で、未処理の配置情報の有無が判定される。未処理の配置情報があれば（ステップＳ５６でＹＥＳ）、処理はステップＳ５０に戻り、未処理の配置情報のうちの１つを選択してステップＳ５２以降の処理が実行される。
【００５８】
ステップＳ５０〜Ｓ５６を含むループ処理により、１枚の用紙の印刷領域内に配置可能な、展開図データ中の隣接する複数の面が特定される。さらに、これらの複数の面ごとに生成されていた、複数の用紙への配置情報は、１枚の用紙の印刷領域内にこれらの複数の面を配置した状態を表す配置情報に統合される。よって、ステップＳ５０〜Ｓ５６を含むループ処理は、不要な配置情報を間引く処理であるとも言える。
【００５９】
なお、本例のステップＳ５４では、現在の処理対象の配置情報において印刷領域内に収まる隣接面「のみ」を用紙に配置した状態を表す配置情報は破棄するけれども、このような隣接面の他の面をさらに用紙に配置した状態を表す配置情報は破棄しない。例えば、上述した例のように、図６および図７の例の各配置情報についてステップＳ５０〜Ｓ５６を含むループ処理を行ったとする。この例では、図７の例の配置情報を処理対象としたときに、ステップＳ５４で図６の例の配置情報は廃棄される。この後、さらに、図８の例の面ｉｉｉの配置を表す配置情報がステップＳ５０で選択されたとする。図８を参照すると、面ｉｉｉの隣接面ｉｉも印刷領域４０２内に収まっている。しかし、この隣接面ｉｉを印刷領域に配置した配置情報（図７）が表す印刷領域４０２には、面ｉｉだけでなく、面ｉも含まれている。さらに、面ｉを含む配置情報（図６）はすでに破棄されているため、面ｉｉを含む図７の例の配置情報を破棄すると、面ｉの用紙への割り当てがなくなる。よって、図７の例の配置情報は破棄すべきでない。以上より、処理対象の配置情報において元から印刷領域内に配置されていた面の隣接面が印刷領域内に収まっていても、当該隣接面を含む配置情報において当該隣接面の他の面が印刷領域に含まれる場合は、ステップＳ５４で、当該隣接面を含む配置情報を破棄しないようにする。
【００６０】
なお、ステップＳ５０〜Ｓ５６を含むループ処理において、複数の用紙の印刷領域に亘って１つの面を配置した状態を表す配置情報（１枚の用紙の印刷領域内に収まらない面の配置情報）は、処理の対象から除外される。このような配置情報において、印刷領域に配置された面に隣接する面がさらに印刷領域内に収まる可能性は低いためである。
【００６１】
１つの面を１枚の用紙に配置した状態を表す配置情報のすべてについてステップＳ５０〜Ｓ５４の処理が実行された場合（ステップＳ５６でＮＯ）、配置決定部１２８は、表示制御部１５０に依頼して、現時点での各面の配置情報を表示装置２０に表示させる（ステップＳ５８）。図１２に、ステップＳ５８で表示される配置情報の一例を示す。図１２は、図２の例の展開図データに対して、上述の図４、図５、および図１１のステップＳ５０〜ステップＳ５６までの処理を行った結果の例である。図１２の例では、展開図データ中のすべての面ｉ〜ｘｉｉｉが、いずれかの用紙の印刷領域内に配置されている。また、面ｉｉｉ，ｖ，ｘｉｉの他の面についての配置情報は、隣接する複数の面を１枚の用紙の印刷領域内に配置したものである。
【００６２】
次に、展開図データ処理部１２０は、配置情報の表示を確認したユーザによる、用紙や配置の設定の変更を受け付ける（ステップＳ６０）。例えば、ユーザは、図示しない入力装置を用いて、特定の配置情報における用紙の向きを変更する指示を入力してよい。また例えば、各配置情報における用紙のサイズを、印刷装置３０で利用可能な用紙サイズのうち、各配置情報で配置された面を印刷可能な最小サイズに変更する指示を入力してよい。あるいは、例えば、面の配置を変更する入力を行ってもよい。面の配置の変更の例としてある面をその印刷領域内で移動させること、および、ある面を他の用紙の印刷領域内の余白部分に移動させることなどが挙げられる。以上の例のようなユーザの入力は、入力受付部１１０を介して展開図データ処理部１２０により取得される。展開図データ処理部１２０は、取得した入力に従って、配置情報を変更する。なお、例えば変更が不要である旨の入力があった場合など、ユーザによる変更指示の入力がない場合、ステップＳ６０の処理は省略される。
【００６３】
印刷データ生成部１３０は、ステップＳ５８で表示された配置情報を配置決定部１２８から取得し、取得した配置情報を用いて印刷データを生成する（ステップＳ６２）。印刷データ生成部１３０は、取得した配置情報が表す各用紙の画像を印刷するための印刷データを生成する。例えば図１２の例の配置情報を取得した場合、図１２に示す７枚の用紙それぞれの画像を印刷するための印刷データを生成する。また、ステップＳ６０では、取得した配置情報が表す各用紙の画像において、組み立ての際に目印となる線や印を付加した印刷データを生成してもよい。例えば、図１３に示すように、各用紙の張り合わせ領域の中央位置を表す枠線Ｌを追加する。また例えば、図１４に示すように、各用紙において、組み立て時に互いに張り合わせられる部分に、目印となる符号を付してもよい。図１４の例は、同じアルファベット文字の部分同士が、組み立て時に張り合わせられることを示す。図１３の例の枠線と図１４の例の目印との両方を付加してもよい。また、図１４のようにアルファベット文字で張り合わせ位置を示す代わりに、他の種類の符号やマークを張り合わせ位置の目印にしたり、張り合わせの位置合わせに用いられる目印線を付加したりしてもよい。また、例えば図１０Ａおよび図１０Ｂを参照して説明したように、複数の用紙の印刷領域に亘って１つの面が配置された配置情報についての印刷データには、印刷領域の重複位置を示す線を付加してもよい。例えば図１０Ｂの用紙４００´の印刷領域４０２´において、面ｉｉの一部分が配置される領域（斜線部分）とその他の領域とを区別するための境界線を付加してもよい。
【００６４】
ステップＳ６２で印刷データを生成した後、印刷データ生成部１３０は、生成した印刷データを印刷指示部１４０に渡す。印刷指示部１４０は、印刷データ生成部１３０から受け取った印刷データに従った印刷を行うよう、印刷装置３０に対して印刷指示を出す（ステップＳ６４）。この印刷指示に従って、印刷装置３０は、展開図データ中の異なる面が配置された複数の用紙の印刷を行う。ステップＳ６４の後、図１１の例の手順の処理は終了する。
【００６５】
以上、図４〜図１４を参照して説明した処理の例によると、印刷装置３０で利用可能な用紙の最大サイズよりも大きな展開図を印刷する場合、展開図を縮小することなく、面単位で分割して複数の用紙に印刷する。このように複数の用紙に亘って印刷された展開図から組み立てられた立体は、展開図が表すとおりの大きさを有する。また、本例の処理によると、用紙の上下左右の余白により定められる張り合わせ領域を除いた印刷領域にのみ展開図の各面が印刷され、各面の折り線の少なくとも１つが印刷領域の辺上に位置するように各面が印刷領域に配置される。よって、印刷された展開図の各面を張り合わせて立体を組み立てる際、複数の用紙の張り合わせにより用紙が重複した部分に折り線が位置することはない。
【００６６】
以上で説明した実施形態の例は、本発明の実施の形態の一例に過ぎず、上述の実施形態の例の他に各種の変形例があってよい。例えば、図１１のステップＳ６０において、用紙のサイズについて、ユーザからの指示を待たずに、自動的に変更してもよい。つまり、各配置情報における用紙のサイズを、印刷装置３０で利用可能な用紙サイズのうち、当該配置情報で配置された面を印刷可能な最小サイズに自動的に変更するようにしてもよい。
【００６７】
また例えば、上述の実施形態の例では、展開図データ中のすべての面のそれぞれについて、１枚以上の用紙の印刷領域への配置を決定してから、１枚の用紙の印刷領域内に配置可能な複数の面を特定する。変形例では、各面の配置を決定するたびに、隣接する他の面が印刷領域内に収まるか否かを確認してもよい。本変形例においても、印刷領域の辺上に面の一辺が位置するように配置を決定した面の隣接面が印刷領域内に収まる場合、当該隣接面のみを印刷領域に配置した状態を表す配置情報を破棄する。
【００６８】
上述した例の印刷データ生成装置１０の各部の機能は、他のシステムまたはソフトウエアの機能の一部として実現されてもよい。例えば、展開図データ処理部１２０および印刷データ生成部１３０の機能を、展開図データを作成するＣＡＤシステムの一部として実現し、作成された展開図データの印刷に用いることが考えられる。また例えば、プリンタおよびファクシミリなどの画像形成装置の機能の一部として展開図データ処理部１２０および印刷データ生成部１３０を実現してもよい。あるいは、プリンタに接続されたＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）などにインストールされるプリンタドライバが、展開図データ処理部１２０、印刷データ生成部１３０、および印刷指示部１４０の機能を備えるようにしてもよい。
【００６９】
上述の印刷データ生成装置１０は、典型的には、汎用のコンピュータにて上述の印刷データ生成装置１０の各部の機能または処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図１５に示すように、ＣＰＵ（中央演算装置）８０、メモリ（一次記憶）８２、各種Ｉ／Ｏ（入出力）インタフェース８４等がバス８６を介して接続された回路構成を有する。また、そのバス８６に対し、例えばＩ／Ｏインタフェース８４経由で、ＨＤＤ（ハードディスクドライブ）８８やＣＤやＤＶＤ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ９０が接続される。このようなドライブ８８又は９０は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがＣＤやＤＶＤ等の記録媒体を経由して、またはネットワーク経由で、ＨＤＤ８８等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されＣＰＵにより実行されることにより、実施形態の処理が実現される。
【００７０】
なお、以上では、印刷データ生成装置１０を１台のコンピュータにより実現する実施形態および変形例を説明したが、印刷データ生成装置１０の上述の例の各部の機能を複数のコンピュータに分散させて実現してもよい。例えば、サーバコンピュータとクライアントコンピュータとが互いに接続されたシステムにおいて、印刷データ生成装置１０の各部の機能をサーバコンピュータとクライアントコンピュータとに分散させて実現させることが考えられる。一例では、サーバコンピュータに展開図データ記憶部１００、展開図データ処理部１２０、および印刷データ生成部１３０の機能を実現し、クライアントコンピュータに印刷指示部１４０および表示制御部１５０の機能を実現する。この例の場合、クライアントコンピュータにおいてユーザが入力した指示をクライアントコンピュータがサーバコンピュータに送信し、この指示に従ってサーバコンピュータの展開図データ処理部１２０および印刷データ生成部１３０により上述の実施形態の例の処理が行われて、生成された印刷データがクライアントコンピュータに返送される。クライアントコンピュータの印刷指示部１４０により、クライアントコンピュータに接続された印刷装置３０に印刷指示が行なわれ、展開図が印刷される。
【符号の説明】
【００７１】
１０  印刷データ生成装置、２０  表示装置、３０  印刷装置、８０  ＣＰＵ、８２  メモリ、８４  Ｉ／Ｏインタフェース、８６  バス、８８  ＨＤＤ、９０  ディスクドライブ、１００  展開図データ記憶部、１１０  入力受付部、１２０  展開図データ処理部、１２２  データ取得部、１２４  面検出部、１２６  用紙情報取得部、１２８  配置決定部、１３０  印刷データ生成部、１４０  印刷指示部、１５０  表示制御部。
【図１】
0005594028.tif 000002
【図２】
0005594028.tif 000003
【図３】
0005594028.tif 000004
【図４】
0005594028.tif 000005
【図５】
0005594028.tif 000006
【図６】
0005594028.tif 000007
【図７】
0005594028.tif 000008
【図８】
0005594028.tif 000009
【図９】
0005594028.tif 000010
【図１０Ａ】
0005594028.tif 000011
【図１０Ｂ】
0005594028.tif 000012
【図１１】
0005594028.tif 000013
【図１２】
0005594028.tif 000014
【図１３】
0005594028.tif 000015
【図１４】
0005594028.tif 000016
【図１５】
0005594028.tif 000017