印刷データ生成装置およびプログラム
【課題】展開図データの大きさを変えることなく、組み立てのための加工が阻害されないように展開図データを分割して複数の用紙に印刷する。
【解決手段】印刷データ生成装置10が備える展開図データ処理部120の面検出部124は、データ取得部122が取得した展開図データに含まれる各面を検出する。用紙情報取得部126は、印刷に用いられる用紙の大きさの設定および当該用紙において展開図データが印刷され得る領域である印刷領域の設定を受け付ける。配置決定部128は、面検出部124が検出した面ごとに、当該面を構成する辺の少なくとも1つが印刷領域の辺上に位置するように、1枚の用紙の印刷領域内での当該面の配置を決定する。印刷データ生成部130は、配置決定部128が決定した各面の配置を表す画像を用紙に印刷するため印刷データを生成する。
【解決手段】印刷データ生成装置10が備える展開図データ処理部120の面検出部124は、データ取得部122が取得した展開図データに含まれる各面を検出する。用紙情報取得部126は、印刷に用いられる用紙の大きさの設定および当該用紙において展開図データが印刷され得る領域である印刷領域の設定を受け付ける。配置決定部128は、面検出部124が検出した面ごとに、当該面を構成する辺の少なくとも1つが印刷領域の辺上に位置するように、1枚の用紙の印刷領域内での当該面の配置を決定する。印刷データ生成部130は、配置決定部128が決定した各面の配置を表す画像を用紙に印刷するため印刷データを生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷データ生成装置およびプログラムに関する。
【背景技術】
【0002】
CAD(Computer Aided Design)などで設計した製品の展開図データから、この展開図データにおける底面や側面などの面ごとに面図形データを生成する技術(特許文献1)や、このように生成された面図形データを用いて製品の組立形状を算出する技術が開発されている(特許文献2)。
【0003】
また、製品や商品の展開図データを保持したサーバが、利用者のクライアント端末からの要求に応じて、クライアント端末に展開図データを送信するシステムが提案されている。例えば、特許文献3に記載のシステムは、製品の実物大の展開図データを注文者のコンピュータに送信する。注文者は、自身のコンピュータで受信した展開図データを紙に印刷し、印刷された展開図を切り抜き、展開図中の折れ線および糊代線に沿って組み立てることで、製品の実物大の外観を確認する。また例えば、特許文献4には、商品の展開図データをクライアント端末に送信するシステムにおいて、商品の展開図データを作成する際に、商品の寸法に関する情報に基づいて、展開図の寸法が所定の用紙サイズに納まるように展開図の寸法を調整するシステムが開示されている。
【0004】
また、特許文献5には、印刷装置で印刷可能な用紙のサイズよりも大きなサイズの用紙に大きな画像を印刷することを可能とする技術が開示されている。特許文献5に記載の技術では、画像データを基準位置で複数の画像に分割し、分割した複数の画像を変倍する。そして、分割および変倍した複数の画像のそれぞれを、複数折りにした用紙の各面に印刷する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平6−259507号公報
【特許文献2】特開平6−176111号公報
【特許文献3】特開2002−150059号公報
【特許文献4】特開2005−202838号公報
【特許文献5】特開2003−46752号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
印刷装置で印刷可能な用紙の大きさよりも大きな展開図データの印刷を利用者が望む場合がある。この場合、印刷可能な用紙の大きさの範囲内に納まるように展開図データを縮小して印刷するか、あるいは、展開図データを分割して複数の用紙に印刷することが考えられる。展開図データを縮小して印刷する場合、印刷された展開図を組み立てても、縮小前の展開図データが表す大きさの立体は得られない。また、展開図データを分割して複数の用紙に印刷し、これらの用紙を貼り合わせて得られる展開図から立体を組み立てる場合、用紙の重複部分では組み立てのための加工が困難であり得る。
【0007】
本発明の目的は、展開図データの大きさを変えることなく、組み立てのための加工が阻害されないように展開図データを分割して複数の用紙に印刷できる印刷データ生成装置およびプログラムを提供することである。
【課題を解決するための手段】
【0008】
請求項1に係る発明は、立体の展開図を表す展開図データを取得し、取得した展開図データに含まれる各面を検出する検出手段と、印刷に用いられる用紙の大きさの設定および当該用紙において前記展開図データが印刷される領域である印刷領域の設定を受け付ける受付手段と、前記検出手段が検出した面ごとに前記展開図データを分割し、各面について1枚の前記用紙の前記印刷領域内での当該面の配置を決定する配置決定手段であって、当該面を構成する辺の少なくとも1つが前記印刷領域の辺上に位置するように当該面の配置を決定する配置決定手段と、前記配置決定手段が決定した各面の配置を表す画像を前記用紙に印刷するための印刷データを生成する生成手段と、を備えることを特徴とする印刷データ生成装置である。
【0009】
請求項2に係る発明は、請求項1に係る発明において、前記検出手段は、前記展開図データに含まれる外枠線および折り線を検出し、検出した外枠線および折り線により囲まれる各領域を前記各面として検出し、前記配置決定手段は、前記検出した面ごとに、当該面の辺のうち前記折り線が前記印刷領域の辺上に位置するように当該面の前記印刷領域内での配置を決定する。
【0010】
請求項3に係る発明は、請求項1または2に係る発明において、前記配置決定手段は、前記検出した面のうちの1つを1枚の前記用紙の前記印刷領域内に配置した状態で、当該1つの面に隣接する面がさらに前記印刷領域内に収まる場合に、当該1つの面と当該隣接する面とを前記印刷領域内に配置することを決定し、当該隣接する面のみを1枚の前記用紙の前記印刷領域内に配置することを決定済みであれば当該決定を破棄する。
【0011】
請求項4に係る発明は、請求項1から3のいずれか1項に係る発明において、前記配置決定手段は、配置の決定の対象の面が1枚の前記用紙の前記印刷領域内に収まらない場合に、複数の前記用紙の前記印刷領域に亘って当該対象の面を配置することを決定する。
【0012】
請求項5に係る発明は、請求項1から4のいずれか1項に係る発明において、前記生成手段は、前記配置決定手段が決定した各面の配置を表す画像に対して、前記展開図データが表す展開図を用いた組み立て作業の際の目印となる画像を追加した印刷データを生成する。
【0013】
請求項6に係る発明は、請求項1から5のいずれか1項に係る発明において、前記生成手段は、前記配置決定手段が決定した各面の配置を表す画像を印刷する前記用紙の大きさの設定を、印刷において利用可能な用紙の大きさのうち前記各面を印刷可能な最小の用紙の大きさに変更した上で、前記印刷データを生成する。
【0014】
請求項7に係る発明は、コンピュータに、立体の展開図を表す展開図データを取得し、取得した展開図データに含まれる各面を検出する検出ステップと、印刷に用いられる用紙の大きさの設定および当該用紙において前記展開図データが印刷される領域である印刷領域の設定を受け付ける受付ステップと、前記検出ステップで検出された面ごとに前記展開図データを分割し、各面について1枚の前記用紙の前記印刷領域内での当該面の配置を決定するステップであって、当該面を構成する辺の少なくとも1つが前記印刷領域の辺上に位置するように当該面の配置を決定する配置決定ステップと、前記配置決定ステップで決定した各面の配置を表す画像を前記用紙に印刷するための印刷データを生成する生成ステップと、を実行させるためのプログラムである。
【発明の効果】
【0015】
請求項1または7に係る発明によると、展開図データの大きさを変えることなく、組み立てのための加工が阻害されないように展開図データを分割して複数の用紙に印刷できる。
【0016】
請求項2に係る発明によると、用紙が張り合わせられる重複部分に展開図の折り線が印刷されることを防止できる。
【0017】
請求項3に係る発明によると、展開図データの面ごとに1枚の用紙を用いて印刷する場合と比較して、より少ない枚数の用紙を用いて展開図データを印刷できる。
【0018】
請求項4に係る発明によると、展開図データの面が1枚の用紙の印刷領域内に収まらない場合に、当該面を複数の用紙の印刷領域に亘って印刷することができる。
【0019】
請求項5に係る発明によると、分割されて複数の用紙に印刷された展開図を用いた組み立て作業を支援できる。
【0020】
請求項6に係る発明によると、用紙の大きさを固定する場合と比較して、展開図データの各面を印刷した用紙における余白部分をより少なくすることができる。
【図面の簡単な説明】
【0021】
【図1】印刷データ生成装置の内部構成の概略の例を示すブロック図である。
【図2】印刷される展開図の例を示す図である。
【図3】用紙の印刷領域の例を示す図である。
【図4】印刷データ生成装置が実行する処理の手順の一部の例を示すフローチャートである。
【図5】印刷データ生成装置が実行する処理の手順の他の一部の例を示すフローチャートである。
【図6】展開図中の1つの面を用紙の印刷領域に配置した例を示す図である。
【図7】展開図中の他の面を用紙の印刷領域に配置した例を示す図である。
【図8】展開図中のさらに他の面を用紙の印刷領域に配置した例を示す図である。
【図9】展開図中のさらに他の面を用紙の印刷領域に配置した例を示す図である。
【図10A】展開図中の面が用紙の印刷領域内に収まらない配置の例を示す図である。
【図10B】図10Aの例の配置に対して用紙を追加した状態の例を示す図である。
【図11】印刷データ生成装置が実行する処理の手順のさらに他の一部の例を示すフローチャートである。
【図12】展開図中のすべての面を用紙に配置した例を示す図である。
【図13】用紙の張り合わせ領域の中央位置を示す枠線の例を示す図である。
【図14】組み立ての際の目印を追加した印刷データの例を示す図である。
【図15】コンピュータのハードウエア構成の例を示す図である。
【発明を実施するための形態】
【0022】
図1に、本発明の実施形態の例による印刷データ生成装置の内部構成の概略の例を示す。図1では、印刷データ生成装置10は、表示装置20および印刷装置30に接続されている。表示装置20は、液晶ディスプレイなどの一般的な表示装置であってよい。また、印刷装置30は、電子データを用紙に印刷する一般的なプリンタであってよい。
【0023】
印刷データ生成装置10は、立体の展開図を用紙に印刷するための印刷データを生成する。印刷データ生成装置10は、展開図データ記憶部100、入力受付部110、展開図データ処理部120、印刷データ生成部130、印刷指示部140、および表示制御部150を備える。
【0024】
展開図データ記憶部100は、展開図を表す展開図データを記憶する記憶手段である。展開図データは、例えば、CADシステムなどを使用して作成された展開図の画像のデータであってよい。展開図データは、例えばPDF(Portable Document Format)などの形式のファイルとして展開図データ記憶部100に記憶される。また、展開図データには、当該展開図データが表す展開図の大きさを示す情報が含まれているとする。展開図の大きさを示す情報は、例えば、展開図の全体を印刷するために必要な用紙のサイズ(大きさ)および展開図中の各部分の寸法を含む。
【0025】
図2に、展開図データ記憶部100に記憶される展開図データが表す展開図の一例を示す。図2の例の展開図は、箱の展開図である。図2では、外枠線および切込線を実線で示し、折り線を破線で示す。また、図2の例の展開図は、印刷装置30で利用可能な用紙の最大サイズよりも大きいものとする。なお、図2に示す符号i〜xiiiは、以下の説明において展開図データ中の各面を識別するための符号である。
【0026】
再び図1を参照し、入力受付部110は、印刷データ生成装置10に対するユーザの指示の入力を受け付ける。入力受付部110は、例えば、マウスやキーボードなどの入力装置(図示しない)を用いて入力された情報を取得し、取得した情報を展開図データ処理部120や印刷データ生成部130に渡す。
【0027】
展開図データ処理部120は、展開図データから印刷データを生成するための前処理を展開図データに対して行う。展開図データ処理部120は、データ取得部122、面検出部124、用紙情報取得部126、および配置決定部128を備える。
【0028】
データ取得部122は、展開図データ記憶部100から展開図データを取得する。例えば、展開図データ記憶部100に記憶された展開図データのうちの1つを指定して印刷データの生成を指示するユーザの入力を入力受付部110が受け付けた場合、データ取得部122は、ユーザにより指定された展開図データを展開図データ記憶部100から読み出す。データ取得部122は、さらに、読み出した展開図データから、展開図の大きさを表す情報を抽出する。
【0029】
面検出部124は、展開図データ中の各面を検出する。本実施形態の例の面検出部124は、まず、展開図データに含まれる各種の線を検出する。例えば図2の例の場合、展開図データには、実線および破線が含まれ、面検出部124は、これらの実線および破線を検出する。展開図データ中の線を検出した後、面検出部124は、検出した面に囲まれる各領域を、展開図データ中の各面として検出する。図2の例では、面i〜xiiiが検出される。なお、本実施形態の例の面検出部124は、展開図データ中の線を検出する際、検出した線の種類を認識するものとする。ここで、「線の種類」とは、展開図から立体を組み立てる際の各線の機能を意味する。図2の例の場合、展開図の外形を規定する実線を「外枠線」として、展開図の内部の実線を「切込線」として、破線を「折り線」として認識する。展開図データ中の線の態様(実線、破線、点線、一点鎖線など)と線の種類(組立時の線の機能)との対応を表す情報は、展開図データに含まれていてもよいし、予め設定されて記憶装置(図示しない)記憶装置に記憶されていてもよい。いずれにしても、展開図データ中のどのような態様の線をどの種類の線として認識すべきかを表す情報を面検出部124により参照可能にしておけばよい。この情報を参照して、面検出部124は、展開図データにおいて検出した線の種類を特定する。
【0030】
用紙情報取得部126は、入力受付部110を介して、展開図データの印刷に用いられる用紙に関する情報を取得する。本実施形態の例の用紙情報取得部126は、印刷に用いられる用紙のサイズと、当該用紙において印刷に用いられない張り合わせ領域と、を指定するユーザの入力を取得する。ここで、張り合わせ領域とは、用紙において印刷が行われない余白(マージン)領域であり、用紙に印刷された展開図を切り取って組み立てる際に、用紙同士を張り合わせるために用いられ得る。用紙情報取得部126は、例えば、後述の表示制御部150に依頼して、用紙のサイズと用紙における張り合わせ領域のサイズとの入力をユーザに促す情報を表示装置20に表示させる。用紙のサイズについては、例えば、印刷装置30で利用可能な用紙サイズの選択肢(A4,A3,B5,など)を表示させ、そのうちの1つを選択することを促す情報を表示させればよい。張り合わせ領域のサイズに関しては、例えば、用紙の上下左右の余白領域の幅を入力することを促す情報を表示させればよい。表示装置20の表示を確認したユーザが入力装置(図示しない)を用いて、用紙のサイズおよび張り合わせ領域のサイズを入力すると、この入力は、入力受付部110により用紙情報取得部126に渡される。用紙情報取得部126は、取得した用紙のサイズおよび張り合わせ領域のサイズを配置決定部128に渡す。
【0031】
配置決定部128は、面検出部124が検出した各面について、用紙への配置を決定する。本実施形態の例の配置決定部128は、まず、用紙情報取得部126から受け取った用紙のサイズおよび張り合わせ領域のサイズから、当該用紙において印刷が行われる領域である印刷領域の位置および大きさを求める。例えば図3を参照し、用紙400の張り合わせ領域のサイズとして、矢印top,bottom,left,rightで示すように、上下左右の余白の幅が指定されているとする。用紙400において、余白部分以外の斜線部分が印刷領域402である。図3の例において、用紙400の縦方向の大きさから矢印top,bottomの余白の幅の和を減算することで印刷領域402の縦方向の大きさが求められ、用紙400の横方向の大きさから、矢印left,rightの余白の幅の和を減算することで印刷領域402の横方向の大きさが求められる。また、印刷領域402の位置は、矢印top,bottom,left,rightで表される余白の幅により求められる。
【0032】
図1の説明に戻り、配置決定部128は、用紙の印刷領域の大きさおよび位置を求めると、展開図データの展開図の大きさが1枚の用紙の印刷領域内に収まるか否かを判定する。1枚の用紙の印刷領域内に収まる場合、当該展開図の全体を当該印刷領域内に配置する。展開図の全体が1枚の用紙の印刷領域内に収まらない場合、配置決定部128は、面検出部124が検出した展開図データ中の複数の面を複数の用紙の印刷領域に割り当て、各面の印刷領域における配置を決定する。言い換えると、展開図を面単位で分割して、複数の用紙の印刷領域内に配置する。また、本実施形態の例では、展開図データ中の面を構成する辺の少なくとも1つが印刷領域の辺上に位置するように、各面の印刷領域への配置が決定される。配置決定部128による各面の配置の決定の詳細については後述する。
【0033】
印刷データ生成部130は、配置決定部128が決定した配置に従って印刷データを生成する。印刷データ生成部130は、例えば、配置決定部128が決定したとおりに展開図データ中の各面を用紙の印刷領域に配置した結果の画像を印刷装置30に印刷させるための印刷データを生成する。
【0034】
印刷指示部140は、印刷データ生成部130が生成した印刷データを用紙に印刷するよう、印刷装置30に対して指示を出す。
【0035】
表示制御部150は、表示装置20に表示させる内容を制御する。表示制御部150は、例えば、展開図データ処理部120における処理の結果や過程を表示装置20に表示させたり、印刷データ生成部130が生成した印刷データを表示装置20に表示させたりする。
【0036】
以下、印刷データ生成装置10における処理の例を説明する。
【0037】
図4は、印刷データ生成装置10が実行する処理の手順の例を示すフローチャートである。印刷データ生成装置10は、例えば、特定の展開図データの印刷を指示するユーザの入力を入力受付部110において受け付けた場合に、図4の例の手順の処理を開始する。
【0038】
入力受付部110からユーザの入力を受取った展開図データ処理部120において、データ取得部122は、ユーザの入力で特定された展開図データを展開図データ記憶部100から取得する(ステップS10)。ステップS10で、データ取得部122は、さらに、取得した展開図データから、展開図の大きさを表す情報を抽出する。
【0039】
展開図データ処理部120の用紙情報取得部126は、入力受付部110を介して、展開図データの印刷に用いられる用紙のサイズおよび張り合わせ領域のサイズのユーザ入力を受け付ける(ステップS12)。用紙情報取得部126は、例えば、表示制御部150に依頼して、用紙のサイズおよび張り合わせ領域のサイズの入力を促す情報を表示装置20に表示させ、この表示に応じてユーザが入力した情報を、入力受付部110から取得する。用紙情報取得部126は、取得した用紙のサイズおよび張り合わせ領域のサイズを配置決定部128に渡す。
【0040】
配置決定部128は、ステップS12で受け付けられた用紙のサイズおよび張り合わせ領域のサイズを用いて、用紙における印刷領域の位置および大きさを特定する(ステップS14)。この印刷領域の特定は、例えば図3を参照して上述したとおりに行えばよい。
【0041】
印刷領域を特定すると、配置決定部128は、ステップS10で取得された展開図データが表す展開図の全体が1枚の用紙の印刷領域内に収まるか否かを判定する(ステップS16)。この判定は、ステップS10で展開図データから抽出された展開図の大きさと、ステップS14で求めた印刷領域の大きさとを比較することで行えばよい。
【0042】
1枚の用紙の印刷領域内に展開図の全体が収まる場合(ステップS16でYES)、配置決定部128は、当該展開図の全体を印刷領域に配置し(ステップS18)、この配置を表す情報を印刷データ生成部130に渡す。印刷データ生成部130は、配置決定部128から受取った情報に従って、用紙の印刷領域に展開図を配置した結果の画像を印刷するための印刷データを生成する(ステップS20)。生成された印刷データは、印刷データ生成部130から印刷指示部140に渡され、印刷指示部140は、当該印刷データによる印刷を行うことを印刷装置30に指示する(ステップS22)。この指示を受けて、展開図が1枚の用紙に印刷される。
【0043】
ステップS10で取得された展開図データの展開図が1枚の用紙の印刷領域内に収まらない場合(ステップS16でNO)、処理は図5のステップS30に進む。
【0044】
図5を参照し、まず、展開図データ処理部120の面検出部124において、図4のステップS10で取得された展開図データ中の線を検出する(ステップS30)。上述の図2の例の展開図データの場合、実線で表される外枠線および切込線と、破線で表される折り線とが検出される。
【0045】
次に、面検出部124は、ステップS30で検出した線を用いて、展開図データ中の各面を検出する(ステップS32)。本実施形態の例の面検出部124は、展開図データにおいて、ステップS30で検出した線によって囲まれる領域のそれぞれを面として検出する。面検出部124は、ステップS32で検出した各面の情報を配置決定部128に渡す。例えば図2の例の展開図の場合、面i〜xiiiが検出され、これらの各面i〜xiiiを表す情報が配置決定部128に渡される。各面を表す情報は、例えば、当該面を構成する辺、各辺の種類、各辺の大きさ、および当該面と他の面との間の位置関係などを含む。
【0046】
展開図データ中の各面を検出した後、配置決定部128は、これらの面のうちの1つを処理対象として選択し(ステップS34)、選択した面の用紙における配置を決定する(ステップS36)。より詳細には、配置決定部128は、選択した面を構成する辺のうちの少なくとも1つが用紙の印刷領域の辺上に位置するように、当該面の印刷領域への配置を決定する。本例の配置決定部128は、選択した面の辺のうち、「折り線」が優先的に印刷領域の辺上に位置するように面の配置を決定する。図6〜図9に、図2の例の展開図の面の一部(面i〜iv)について、各面を用紙400の印刷領域402内に配置した例を示す。図6〜図9は、用紙400の内部の一点鎖線で囲まれた矩形を印刷領域402とする。図6,図7,図8,図9は、それぞれ、展開図データ中の面i,ii,iii,ivがステップS34で選択された場合の配置の例を示す。図6〜図9を参照し、各面i〜ivは、当該面の折り線のうちの少なくとも1つが印刷領域402の辺上に位置するように配置されている。また、角度90度の角を含む面ii〜ivは、それぞれ、90度の角が印刷領域402の角のうちの1つと重なるように配置されている。なお、本実施形態の例では、ステップS36で、各面を配置する用紙の向きは一定の向きに定められるとする。図6〜図9では、用紙を横向き(用紙の長辺を水平方向と平行にする向き)に固定して各面の配置を決定する場合の例を示す。
【0047】
ステップS32で選択した面について用紙の印刷領域への配置を行った後、配置決定部128は、当該選択した面の全体が印刷領域内に収まっているか否かを確認する(ステップS38)。上述の図6〜図9の各例の場合、いずれも、配置された各面i〜ivは印刷領域402内に収まっているので、ステップS38でYES判定され、ステップS42に進む。
【0048】
一方、選択した面が印刷領域内に収まらない場合もある。この場合の例を図10Aに示す。図10Aは、図2の例の展開図データの各面の配置を決定する際、ステップS36で、用紙を縦向き(用紙の長辺を水平方向に対して垂直にする向き)に固定した場合の面iiの配置の一例である。図10Aを参照し、面iiが備える2つの折り線のうちの一方が印刷領域402の辺上に位置するように面iiを印刷領域402に配置した状態において、面iiのうち印刷領域402内に収まっていない部分がある。図10Aの例のように、現在の処理対象の面のうち印刷領域402内に収まらない部分がある場合、図5の例の手順のステップS38の判定処理でNO判定され、配置決定部128は、現在の処理対象の面を印刷するための用紙を追加する(ステップS40)。ステップS40で、配置決定部128は、例えば、印刷領域402内に収まっていない部分に、追加の用紙の印刷領域を割り当てる。図10Aを参照する上述の例の場合、ステップS40で、例えば図10Bに示すように、面iiにおいて用紙400の印刷領域402に収まらない部分を追加の用紙400´の印刷領域402´内に配置するように、追加の用紙400´における面iiの配置を決定する。なお、図10Bにおいて、展開図の下方に示した用紙400´は、用紙400´の実際の配置位置を示すものではなく、単に理解を容易にするために示したものである。展開図の下方に示す用紙400´の印刷領域402´において斜線で示す領域内に、展開図の面iiにおいて印刷領域402内に収まらない部分が配置される。また、面iiのうち印刷領域402内に収まらない部分における折り線が印刷領域402´の辺上に配置される。図10Bの例のように追加の用紙400´の印刷領域402´内に面iiの一部を配置すると、面iiの全体が用紙400および用紙400´のいずれか一方の印刷領域402,402´内に収まる。
【0049】
ステップS40の後、ステップS38に戻り、再度、現在の処理対象の面において印刷領域内に収まっていない部分があるか否かの判定が行われる。用紙を追加しても当該面が印刷領域内に収まらない場合(ステップS38でNO)、面の全体が印刷領域内に収まるようになるまで、用紙を追加する処理(ステップS40)が繰り返される。また、例えば図10Bのように、追加の用紙による配置を行うことで面が印刷領域内に収まる場合、ステップS38でYES判定されてステップS42に進む。
【0050】
ステップS42では、展開図データ中の面のすべてについて処理済みであるか否かの判定が行われる。すべての面について処理済みでなければ(ステップS42でNO)、処理はステップS34に戻って、未処理の面を1つ選択し、選択した面に対してステップS36以降の処理が行われる。すべての面について処理済みであれば(ステップS42でYES)、処理は図11のステップS50に進む。
【0051】
図5の例の手順において、展開図データ中のすべての面について処理が終了した時点では、展開図データ中の面ごとに、1枚以上の用紙の印刷領域への当該面の配置が決定されている。例えば図2の例の展開図の場合、図6〜図9に例示する面i〜ivの配置に加えて、面v〜xiiiの各面についても図6〜図9と同様に印刷領域への配置が決定される。このように決定された配置のとおりに展開図データの各面を用紙に印刷すると、展開図データ中の面の数以上の枚数の用紙が必要となる。上述の図2,図6〜図9を参照する例の場合、展開図データ中に13個の面i〜xiiiが存在するため、面ごとに1枚以上の用紙の印刷領域への配置を決定して印刷を行うと、13枚以上の用紙が必要となる。しかしながら、1枚の用紙の印刷領域に複数の面を配置可能な場合もある。1枚の用紙の印刷領域に複数の面を配置すれば、これら複数の面ごとに1枚以上の用紙への配置を行うよりも、印刷に必要な用紙の枚数が少なくなる。したがって、配置決定部128は、図11の例のステップS50〜S56で、可能な限り多くの面を1枚の用紙に配置するための処理を行う。
【0052】
図11を参照し、配置決定部128は、展開図データ中の面のうちの1つを1枚の用紙に配置した状態を表す配置情報を選択する(ステップS50)。ここで、「配置情報」とは、例えば図6〜図9に例示するような、展開図データ中の面の用紙(の印刷領域)への配置を表す情報であるとする。図11の例の手順が開始される時点では、上述のように、展開図データ中の面ごとに、当該面の1枚以上の用紙への配置を表す配置情報が生成されている。これらの配置情報のうち、1枚の用紙に1つの面を配置した状態を表すものがステップS50における選択の対象となる。
【0053】
配置決定部128は、ステップS50で選択した配置情報が表す配置の状態において、印刷領域に配置された面に隣接する面(隣接面)のうち、当該印刷領域内に収まる面があるか否かを判定する(ステップS52)。
【0054】
例えば、ステップS50で図6の例の配置を表す配置情報が選択された場合、面iに隣接する面iiは、印刷領域402内に収まっていない。このため、ステップS52でNO判定される。ステップS52でNO判定されると、未処理の配置情報がなくなるまで(ステップS56でNO判定されるまで)、ステップS50以降の処理が繰り返される。
【0055】
また例えば、図7の例の配置を表す配置情報がステップS50で選択された場合、面iiに隣接する面iは、印刷領域402内に収まっている。このため、ステップS52でYES判定される。
【0056】
ステップS52でYES判定されると、処理はステップS54に進み、配置決定部128は、印刷領域内に収まっている隣接面のみを用紙に配置した状態を表す配置情報を破棄する。例えば、図7についてステップS52の判定が行われてステップS54の処理を行う場合、面iiに隣接する面iのみを用紙に配置した状態を表す図6の例の配置情報を破棄する。また、配置決定部128は、ステップS54で破棄した配置情報に含まれる隣接面を、現在の処理対象の(ステップS50で選択された)配置情報における印刷領域内に配置される面として、現在の処理対象の配置情報に含める。図7を参照する上述の例の場合、印刷領域に元から配置されていた面iiだけでなく、隣接する面i(廃棄された図6の配置情報に含まれる面)も印刷領域内に配置された面として認識しておく。言い換えると、図7に例示する印刷領域402内に位置する展開図データの面iおよび面iiの両方を印刷対象としておく。
【0057】
ステップS54の後、またはステップS52でNO判定された後、ステップS56で、未処理の配置情報の有無が判定される。未処理の配置情報があれば(ステップS56でYES)、処理はステップS50に戻り、未処理の配置情報のうちの1つを選択してステップS52以降の処理が実行される。
【0058】
ステップS50〜S56を含むループ処理により、1枚の用紙の印刷領域内に配置可能な、展開図データ中の隣接する複数の面が特定される。さらに、これらの複数の面ごとに生成されていた、複数の用紙への配置情報は、1枚の用紙の印刷領域内にこれらの複数の面を配置した状態を表す配置情報に統合される。よって、ステップS50〜S56を含むループ処理は、不要な配置情報を間引く処理であるとも言える。
【0059】
なお、本例のステップS54では、現在の処理対象の配置情報において印刷領域内に収まる隣接面「のみ」を用紙に配置した状態を表す配置情報は破棄するけれども、このような隣接面の他の面をさらに用紙に配置した状態を表す配置情報は破棄しない。例えば、上述した例のように、図6および図7の例の各配置情報についてステップS50〜S56を含むループ処理を行ったとする。この例では、図7の例の配置情報を処理対象としたときに、ステップS54で図6の例の配置情報は廃棄される。この後、さらに、図8の例の面iiiの配置を表す配置情報がステップS50で選択されたとする。図8を参照すると、面iiiの隣接面iiも印刷領域402内に収まっている。しかし、この隣接面iiを印刷領域に配置した配置情報(図7)が表す印刷領域402には、面iiだけでなく、面iも含まれている。さらに、面iを含む配置情報(図6)はすでに破棄されているため、面iiを含む図7の例の配置情報を破棄すると、面iの用紙への割り当てがなくなる。よって、図7の例の配置情報は破棄すべきでない。以上より、処理対象の配置情報において元から印刷領域内に配置されていた面の隣接面が印刷領域内に収まっていても、当該隣接面を含む配置情報において当該隣接面の他の面が印刷領域に含まれる場合は、ステップS54で、当該隣接面を含む配置情報を破棄しないようにする。
【0060】
なお、ステップS50〜S56を含むループ処理において、複数の用紙の印刷領域に亘って1つの面を配置した状態を表す配置情報(1枚の用紙の印刷領域内に収まらない面の配置情報)は、処理の対象から除外される。このような配置情報において、印刷領域に配置された面に隣接する面がさらに印刷領域内に収まる可能性は低いためである。
【0061】
1つの面を1枚の用紙に配置した状態を表す配置情報のすべてについてステップS50〜S54の処理が実行された場合(ステップS56でNO)、配置決定部128は、表示制御部150に依頼して、現時点での各面の配置情報を表示装置20に表示させる(ステップS58)。図12に、ステップS58で表示される配置情報の一例を示す。図12は、図2の例の展開図データに対して、上述の図4、図5、および図11のステップS50〜ステップS56までの処理を行った結果の例である。図12の例では、展開図データ中のすべての面i〜xiiiが、いずれかの用紙の印刷領域内に配置されている。また、面iii,v,xiiの他の面についての配置情報は、隣接する複数の面を1枚の用紙の印刷領域内に配置したものである。
【0062】
次に、展開図データ処理部120は、配置情報の表示を確認したユーザによる、用紙や配置の設定の変更を受け付ける(ステップS60)。例えば、ユーザは、図示しない入力装置を用いて、特定の配置情報における用紙の向きを変更する指示を入力してよい。また例えば、各配置情報における用紙のサイズを、印刷装置30で利用可能な用紙サイズのうち、各配置情報で配置された面を印刷可能な最小サイズに変更する指示を入力してよい。あるいは、例えば、面の配置を変更する入力を行ってもよい。面の配置の変更の例としてある面をその印刷領域内で移動させること、および、ある面を他の用紙の印刷領域内の余白部分に移動させることなどが挙げられる。以上の例のようなユーザの入力は、入力受付部110を介して展開図データ処理部120により取得される。展開図データ処理部120は、取得した入力に従って、配置情報を変更する。なお、例えば変更が不要である旨の入力があった場合など、ユーザによる変更指示の入力がない場合、ステップS60の処理は省略される。
【0063】
印刷データ生成部130は、ステップS58で表示された配置情報を配置決定部128から取得し、取得した配置情報を用いて印刷データを生成する(ステップS62)。印刷データ生成部130は、取得した配置情報が表す各用紙の画像を印刷するための印刷データを生成する。例えば図12の例の配置情報を取得した場合、図12に示す7枚の用紙それぞれの画像を印刷するための印刷データを生成する。また、ステップS60では、取得した配置情報が表す各用紙の画像において、組み立ての際に目印となる線や印を付加した印刷データを生成してもよい。例えば、図13に示すように、各用紙の張り合わせ領域の中央位置を表す枠線Lを追加する。また例えば、図14に示すように、各用紙において、組み立て時に互いに張り合わせられる部分に、目印となる符号を付してもよい。図14の例は、同じアルファベット文字の部分同士が、組み立て時に張り合わせられることを示す。図13の例の枠線と図14の例の目印との両方を付加してもよい。また、図14のようにアルファベット文字で張り合わせ位置を示す代わりに、他の種類の符号やマークを張り合わせ位置の目印にしたり、張り合わせの位置合わせに用いられる目印線を付加したりしてもよい。また、例えば図10Aおよび図10Bを参照して説明したように、複数の用紙の印刷領域に亘って1つの面が配置された配置情報についての印刷データには、印刷領域の重複位置を示す線を付加してもよい。例えば図10Bの用紙400´の印刷領域402´において、面iiの一部分が配置される領域(斜線部分)とその他の領域とを区別するための境界線を付加してもよい。
【0064】
ステップS62で印刷データを生成した後、印刷データ生成部130は、生成した印刷データを印刷指示部140に渡す。印刷指示部140は、印刷データ生成部130から受け取った印刷データに従った印刷を行うよう、印刷装置30に対して印刷指示を出す(ステップS64)。この印刷指示に従って、印刷装置30は、展開図データ中の異なる面が配置された複数の用紙の印刷を行う。ステップS64の後、図11の例の手順の処理は終了する。
【0065】
以上、図4〜図14を参照して説明した処理の例によると、印刷装置30で利用可能な用紙の最大サイズよりも大きな展開図を印刷する場合、展開図を縮小することなく、面単位で分割して複数の用紙に印刷する。このように複数の用紙に亘って印刷された展開図から組み立てられた立体は、展開図が表すとおりの大きさを有する。また、本例の処理によると、用紙の上下左右の余白により定められる張り合わせ領域を除いた印刷領域にのみ展開図の各面が印刷され、各面の折り線の少なくとも1つが印刷領域の辺上に位置するように各面が印刷領域に配置される。よって、印刷された展開図の各面を張り合わせて立体を組み立てる際、複数の用紙の張り合わせにより用紙が重複した部分に折り線が位置することはない。
【0066】
以上で説明した実施形態の例は、本発明の実施の形態の一例に過ぎず、上述の実施形態の例の他に各種の変形例があってよい。例えば、図11のステップS60において、用紙のサイズについて、ユーザからの指示を待たずに、自動的に変更してもよい。つまり、各配置情報における用紙のサイズを、印刷装置30で利用可能な用紙サイズのうち、当該配置情報で配置された面を印刷可能な最小サイズに自動的に変更するようにしてもよい。
【0067】
また例えば、上述の実施形態の例では、展開図データ中のすべての面のそれぞれについて、1枚以上の用紙の印刷領域への配置を決定してから、1枚の用紙の印刷領域内に配置可能な複数の面を特定する。変形例では、各面の配置を決定するたびに、隣接する他の面が印刷領域内に収まるか否かを確認してもよい。本変形例においても、印刷領域の辺上に面の一辺が位置するように配置を決定した面の隣接面が印刷領域内に収まる場合、当該隣接面のみを印刷領域に配置した状態を表す配置情報を破棄する。
【0068】
上述した例の印刷データ生成装置10の各部の機能は、他のシステムまたはソフトウエアの機能の一部として実現されてもよい。例えば、展開図データ処理部120および印刷データ生成部130の機能を、展開図データを作成するCADシステムの一部として実現し、作成された展開図データの印刷に用いることが考えられる。また例えば、プリンタおよびファクシミリなどの画像形成装置の機能の一部として展開図データ処理部120および印刷データ生成部130を実現してもよい。あるいは、プリンタに接続されたPC(Personal Computer)などにインストールされるプリンタドライバが、展開図データ処理部120、印刷データ生成部130、および印刷指示部140の機能を備えるようにしてもよい。
【0069】
上述の印刷データ生成装置10は、典型的には、汎用のコンピュータにて上述の印刷データ生成装置10の各部の機能または処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図15に示すように、CPU(中央演算装置)80、メモリ(一次記憶)82、各種I/O(入出力)インタフェース84等がバス86を介して接続された回路構成を有する。また、そのバス86に対し、例えばI/Oインタフェース84経由で、HDD(ハードディスクドライブ)88やCDやDVD、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ90が接続される。このようなドライブ88又は90は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、またはネットワーク経由で、HDD88等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されCPUにより実行されることにより、実施形態の処理が実現される。
【0070】
なお、以上では、印刷データ生成装置10を1台のコンピュータにより実現する実施形態および変形例を説明したが、印刷データ生成装置10の上述の例の各部の機能を複数のコンピュータに分散させて実現してもよい。例えば、サーバコンピュータとクライアントコンピュータとが互いに接続されたシステムにおいて、印刷データ生成装置10の各部の機能をサーバコンピュータとクライアントコンピュータとに分散させて実現させることが考えられる。一例では、サーバコンピュータに展開図データ記憶部100、展開図データ処理部120、および印刷データ生成部130の機能を実現し、クライアントコンピュータに印刷指示部140および表示制御部150の機能を実現する。この例の場合、クライアントコンピュータにおいてユーザが入力した指示をクライアントコンピュータがサーバコンピュータに送信し、この指示に従ってサーバコンピュータの展開図データ処理部120および印刷データ生成部130により上述の実施形態の例の処理が行われて、生成された印刷データがクライアントコンピュータに返送される。クライアントコンピュータの印刷指示部140により、クライアントコンピュータに接続された印刷装置30に印刷指示が行なわれ、展開図が印刷される。
【符号の説明】
【0071】
10 印刷データ生成装置、20 表示装置、30 印刷装置、80 CPU、82 メモリ、84 I/Oインタフェース、86 バス、88 HDD、90 ディスクドライブ、100 展開図データ記憶部、110 入力受付部、120 展開図データ処理部、122 データ取得部、124 面検出部、126 用紙情報取得部、128 配置決定部、130 印刷データ生成部、140 印刷指示部、150 表示制御部。
【技術分野】
【0001】
本発明は、印刷データ生成装置およびプログラムに関する。
【背景技術】
【0002】
CAD(Computer Aided Design)などで設計した製品の展開図データから、この展開図データにおける底面や側面などの面ごとに面図形データを生成する技術(特許文献1)や、このように生成された面図形データを用いて製品の組立形状を算出する技術が開発されている(特許文献2)。
【0003】
また、製品や商品の展開図データを保持したサーバが、利用者のクライアント端末からの要求に応じて、クライアント端末に展開図データを送信するシステムが提案されている。例えば、特許文献3に記載のシステムは、製品の実物大の展開図データを注文者のコンピュータに送信する。注文者は、自身のコンピュータで受信した展開図データを紙に印刷し、印刷された展開図を切り抜き、展開図中の折れ線および糊代線に沿って組み立てることで、製品の実物大の外観を確認する。また例えば、特許文献4には、商品の展開図データをクライアント端末に送信するシステムにおいて、商品の展開図データを作成する際に、商品の寸法に関する情報に基づいて、展開図の寸法が所定の用紙サイズに納まるように展開図の寸法を調整するシステムが開示されている。
【0004】
また、特許文献5には、印刷装置で印刷可能な用紙のサイズよりも大きなサイズの用紙に大きな画像を印刷することを可能とする技術が開示されている。特許文献5に記載の技術では、画像データを基準位置で複数の画像に分割し、分割した複数の画像を変倍する。そして、分割および変倍した複数の画像のそれぞれを、複数折りにした用紙の各面に印刷する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開平6−259507号公報
【特許文献2】特開平6−176111号公報
【特許文献3】特開2002−150059号公報
【特許文献4】特開2005−202838号公報
【特許文献5】特開2003−46752号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
印刷装置で印刷可能な用紙の大きさよりも大きな展開図データの印刷を利用者が望む場合がある。この場合、印刷可能な用紙の大きさの範囲内に納まるように展開図データを縮小して印刷するか、あるいは、展開図データを分割して複数の用紙に印刷することが考えられる。展開図データを縮小して印刷する場合、印刷された展開図を組み立てても、縮小前の展開図データが表す大きさの立体は得られない。また、展開図データを分割して複数の用紙に印刷し、これらの用紙を貼り合わせて得られる展開図から立体を組み立てる場合、用紙の重複部分では組み立てのための加工が困難であり得る。
【0007】
本発明の目的は、展開図データの大きさを変えることなく、組み立てのための加工が阻害されないように展開図データを分割して複数の用紙に印刷できる印刷データ生成装置およびプログラムを提供することである。
【課題を解決するための手段】
【0008】
請求項1に係る発明は、立体の展開図を表す展開図データを取得し、取得した展開図データに含まれる各面を検出する検出手段と、印刷に用いられる用紙の大きさの設定および当該用紙において前記展開図データが印刷される領域である印刷領域の設定を受け付ける受付手段と、前記検出手段が検出した面ごとに前記展開図データを分割し、各面について1枚の前記用紙の前記印刷領域内での当該面の配置を決定する配置決定手段であって、当該面を構成する辺の少なくとも1つが前記印刷領域の辺上に位置するように当該面の配置を決定する配置決定手段と、前記配置決定手段が決定した各面の配置を表す画像を前記用紙に印刷するための印刷データを生成する生成手段と、を備えることを特徴とする印刷データ生成装置である。
【0009】
請求項2に係る発明は、請求項1に係る発明において、前記検出手段は、前記展開図データに含まれる外枠線および折り線を検出し、検出した外枠線および折り線により囲まれる各領域を前記各面として検出し、前記配置決定手段は、前記検出した面ごとに、当該面の辺のうち前記折り線が前記印刷領域の辺上に位置するように当該面の前記印刷領域内での配置を決定する。
【0010】
請求項3に係る発明は、請求項1または2に係る発明において、前記配置決定手段は、前記検出した面のうちの1つを1枚の前記用紙の前記印刷領域内に配置した状態で、当該1つの面に隣接する面がさらに前記印刷領域内に収まる場合に、当該1つの面と当該隣接する面とを前記印刷領域内に配置することを決定し、当該隣接する面のみを1枚の前記用紙の前記印刷領域内に配置することを決定済みであれば当該決定を破棄する。
【0011】
請求項4に係る発明は、請求項1から3のいずれか1項に係る発明において、前記配置決定手段は、配置の決定の対象の面が1枚の前記用紙の前記印刷領域内に収まらない場合に、複数の前記用紙の前記印刷領域に亘って当該対象の面を配置することを決定する。
【0012】
請求項5に係る発明は、請求項1から4のいずれか1項に係る発明において、前記生成手段は、前記配置決定手段が決定した各面の配置を表す画像に対して、前記展開図データが表す展開図を用いた組み立て作業の際の目印となる画像を追加した印刷データを生成する。
【0013】
請求項6に係る発明は、請求項1から5のいずれか1項に係る発明において、前記生成手段は、前記配置決定手段が決定した各面の配置を表す画像を印刷する前記用紙の大きさの設定を、印刷において利用可能な用紙の大きさのうち前記各面を印刷可能な最小の用紙の大きさに変更した上で、前記印刷データを生成する。
【0014】
請求項7に係る発明は、コンピュータに、立体の展開図を表す展開図データを取得し、取得した展開図データに含まれる各面を検出する検出ステップと、印刷に用いられる用紙の大きさの設定および当該用紙において前記展開図データが印刷される領域である印刷領域の設定を受け付ける受付ステップと、前記検出ステップで検出された面ごとに前記展開図データを分割し、各面について1枚の前記用紙の前記印刷領域内での当該面の配置を決定するステップであって、当該面を構成する辺の少なくとも1つが前記印刷領域の辺上に位置するように当該面の配置を決定する配置決定ステップと、前記配置決定ステップで決定した各面の配置を表す画像を前記用紙に印刷するための印刷データを生成する生成ステップと、を実行させるためのプログラムである。
【発明の効果】
【0015】
請求項1または7に係る発明によると、展開図データの大きさを変えることなく、組み立てのための加工が阻害されないように展開図データを分割して複数の用紙に印刷できる。
【0016】
請求項2に係る発明によると、用紙が張り合わせられる重複部分に展開図の折り線が印刷されることを防止できる。
【0017】
請求項3に係る発明によると、展開図データの面ごとに1枚の用紙を用いて印刷する場合と比較して、より少ない枚数の用紙を用いて展開図データを印刷できる。
【0018】
請求項4に係る発明によると、展開図データの面が1枚の用紙の印刷領域内に収まらない場合に、当該面を複数の用紙の印刷領域に亘って印刷することができる。
【0019】
請求項5に係る発明によると、分割されて複数の用紙に印刷された展開図を用いた組み立て作業を支援できる。
【0020】
請求項6に係る発明によると、用紙の大きさを固定する場合と比較して、展開図データの各面を印刷した用紙における余白部分をより少なくすることができる。
【図面の簡単な説明】
【0021】
【図1】印刷データ生成装置の内部構成の概略の例を示すブロック図である。
【図2】印刷される展開図の例を示す図である。
【図3】用紙の印刷領域の例を示す図である。
【図4】印刷データ生成装置が実行する処理の手順の一部の例を示すフローチャートである。
【図5】印刷データ生成装置が実行する処理の手順の他の一部の例を示すフローチャートである。
【図6】展開図中の1つの面を用紙の印刷領域に配置した例を示す図である。
【図7】展開図中の他の面を用紙の印刷領域に配置した例を示す図である。
【図8】展開図中のさらに他の面を用紙の印刷領域に配置した例を示す図である。
【図9】展開図中のさらに他の面を用紙の印刷領域に配置した例を示す図である。
【図10A】展開図中の面が用紙の印刷領域内に収まらない配置の例を示す図である。
【図10B】図10Aの例の配置に対して用紙を追加した状態の例を示す図である。
【図11】印刷データ生成装置が実行する処理の手順のさらに他の一部の例を示すフローチャートである。
【図12】展開図中のすべての面を用紙に配置した例を示す図である。
【図13】用紙の張り合わせ領域の中央位置を示す枠線の例を示す図である。
【図14】組み立ての際の目印を追加した印刷データの例を示す図である。
【図15】コンピュータのハードウエア構成の例を示す図である。
【発明を実施するための形態】
【0022】
図1に、本発明の実施形態の例による印刷データ生成装置の内部構成の概略の例を示す。図1では、印刷データ生成装置10は、表示装置20および印刷装置30に接続されている。表示装置20は、液晶ディスプレイなどの一般的な表示装置であってよい。また、印刷装置30は、電子データを用紙に印刷する一般的なプリンタであってよい。
【0023】
印刷データ生成装置10は、立体の展開図を用紙に印刷するための印刷データを生成する。印刷データ生成装置10は、展開図データ記憶部100、入力受付部110、展開図データ処理部120、印刷データ生成部130、印刷指示部140、および表示制御部150を備える。
【0024】
展開図データ記憶部100は、展開図を表す展開図データを記憶する記憶手段である。展開図データは、例えば、CADシステムなどを使用して作成された展開図の画像のデータであってよい。展開図データは、例えばPDF(Portable Document Format)などの形式のファイルとして展開図データ記憶部100に記憶される。また、展開図データには、当該展開図データが表す展開図の大きさを示す情報が含まれているとする。展開図の大きさを示す情報は、例えば、展開図の全体を印刷するために必要な用紙のサイズ(大きさ)および展開図中の各部分の寸法を含む。
【0025】
図2に、展開図データ記憶部100に記憶される展開図データが表す展開図の一例を示す。図2の例の展開図は、箱の展開図である。図2では、外枠線および切込線を実線で示し、折り線を破線で示す。また、図2の例の展開図は、印刷装置30で利用可能な用紙の最大サイズよりも大きいものとする。なお、図2に示す符号i〜xiiiは、以下の説明において展開図データ中の各面を識別するための符号である。
【0026】
再び図1を参照し、入力受付部110は、印刷データ生成装置10に対するユーザの指示の入力を受け付ける。入力受付部110は、例えば、マウスやキーボードなどの入力装置(図示しない)を用いて入力された情報を取得し、取得した情報を展開図データ処理部120や印刷データ生成部130に渡す。
【0027】
展開図データ処理部120は、展開図データから印刷データを生成するための前処理を展開図データに対して行う。展開図データ処理部120は、データ取得部122、面検出部124、用紙情報取得部126、および配置決定部128を備える。
【0028】
データ取得部122は、展開図データ記憶部100から展開図データを取得する。例えば、展開図データ記憶部100に記憶された展開図データのうちの1つを指定して印刷データの生成を指示するユーザの入力を入力受付部110が受け付けた場合、データ取得部122は、ユーザにより指定された展開図データを展開図データ記憶部100から読み出す。データ取得部122は、さらに、読み出した展開図データから、展開図の大きさを表す情報を抽出する。
【0029】
面検出部124は、展開図データ中の各面を検出する。本実施形態の例の面検出部124は、まず、展開図データに含まれる各種の線を検出する。例えば図2の例の場合、展開図データには、実線および破線が含まれ、面検出部124は、これらの実線および破線を検出する。展開図データ中の線を検出した後、面検出部124は、検出した面に囲まれる各領域を、展開図データ中の各面として検出する。図2の例では、面i〜xiiiが検出される。なお、本実施形態の例の面検出部124は、展開図データ中の線を検出する際、検出した線の種類を認識するものとする。ここで、「線の種類」とは、展開図から立体を組み立てる際の各線の機能を意味する。図2の例の場合、展開図の外形を規定する実線を「外枠線」として、展開図の内部の実線を「切込線」として、破線を「折り線」として認識する。展開図データ中の線の態様(実線、破線、点線、一点鎖線など)と線の種類(組立時の線の機能)との対応を表す情報は、展開図データに含まれていてもよいし、予め設定されて記憶装置(図示しない)記憶装置に記憶されていてもよい。いずれにしても、展開図データ中のどのような態様の線をどの種類の線として認識すべきかを表す情報を面検出部124により参照可能にしておけばよい。この情報を参照して、面検出部124は、展開図データにおいて検出した線の種類を特定する。
【0030】
用紙情報取得部126は、入力受付部110を介して、展開図データの印刷に用いられる用紙に関する情報を取得する。本実施形態の例の用紙情報取得部126は、印刷に用いられる用紙のサイズと、当該用紙において印刷に用いられない張り合わせ領域と、を指定するユーザの入力を取得する。ここで、張り合わせ領域とは、用紙において印刷が行われない余白(マージン)領域であり、用紙に印刷された展開図を切り取って組み立てる際に、用紙同士を張り合わせるために用いられ得る。用紙情報取得部126は、例えば、後述の表示制御部150に依頼して、用紙のサイズと用紙における張り合わせ領域のサイズとの入力をユーザに促す情報を表示装置20に表示させる。用紙のサイズについては、例えば、印刷装置30で利用可能な用紙サイズの選択肢(A4,A3,B5,など)を表示させ、そのうちの1つを選択することを促す情報を表示させればよい。張り合わせ領域のサイズに関しては、例えば、用紙の上下左右の余白領域の幅を入力することを促す情報を表示させればよい。表示装置20の表示を確認したユーザが入力装置(図示しない)を用いて、用紙のサイズおよび張り合わせ領域のサイズを入力すると、この入力は、入力受付部110により用紙情報取得部126に渡される。用紙情報取得部126は、取得した用紙のサイズおよび張り合わせ領域のサイズを配置決定部128に渡す。
【0031】
配置決定部128は、面検出部124が検出した各面について、用紙への配置を決定する。本実施形態の例の配置決定部128は、まず、用紙情報取得部126から受け取った用紙のサイズおよび張り合わせ領域のサイズから、当該用紙において印刷が行われる領域である印刷領域の位置および大きさを求める。例えば図3を参照し、用紙400の張り合わせ領域のサイズとして、矢印top,bottom,left,rightで示すように、上下左右の余白の幅が指定されているとする。用紙400において、余白部分以外の斜線部分が印刷領域402である。図3の例において、用紙400の縦方向の大きさから矢印top,bottomの余白の幅の和を減算することで印刷領域402の縦方向の大きさが求められ、用紙400の横方向の大きさから、矢印left,rightの余白の幅の和を減算することで印刷領域402の横方向の大きさが求められる。また、印刷領域402の位置は、矢印top,bottom,left,rightで表される余白の幅により求められる。
【0032】
図1の説明に戻り、配置決定部128は、用紙の印刷領域の大きさおよび位置を求めると、展開図データの展開図の大きさが1枚の用紙の印刷領域内に収まるか否かを判定する。1枚の用紙の印刷領域内に収まる場合、当該展開図の全体を当該印刷領域内に配置する。展開図の全体が1枚の用紙の印刷領域内に収まらない場合、配置決定部128は、面検出部124が検出した展開図データ中の複数の面を複数の用紙の印刷領域に割り当て、各面の印刷領域における配置を決定する。言い換えると、展開図を面単位で分割して、複数の用紙の印刷領域内に配置する。また、本実施形態の例では、展開図データ中の面を構成する辺の少なくとも1つが印刷領域の辺上に位置するように、各面の印刷領域への配置が決定される。配置決定部128による各面の配置の決定の詳細については後述する。
【0033】
印刷データ生成部130は、配置決定部128が決定した配置に従って印刷データを生成する。印刷データ生成部130は、例えば、配置決定部128が決定したとおりに展開図データ中の各面を用紙の印刷領域に配置した結果の画像を印刷装置30に印刷させるための印刷データを生成する。
【0034】
印刷指示部140は、印刷データ生成部130が生成した印刷データを用紙に印刷するよう、印刷装置30に対して指示を出す。
【0035】
表示制御部150は、表示装置20に表示させる内容を制御する。表示制御部150は、例えば、展開図データ処理部120における処理の結果や過程を表示装置20に表示させたり、印刷データ生成部130が生成した印刷データを表示装置20に表示させたりする。
【0036】
以下、印刷データ生成装置10における処理の例を説明する。
【0037】
図4は、印刷データ生成装置10が実行する処理の手順の例を示すフローチャートである。印刷データ生成装置10は、例えば、特定の展開図データの印刷を指示するユーザの入力を入力受付部110において受け付けた場合に、図4の例の手順の処理を開始する。
【0038】
入力受付部110からユーザの入力を受取った展開図データ処理部120において、データ取得部122は、ユーザの入力で特定された展開図データを展開図データ記憶部100から取得する(ステップS10)。ステップS10で、データ取得部122は、さらに、取得した展開図データから、展開図の大きさを表す情報を抽出する。
【0039】
展開図データ処理部120の用紙情報取得部126は、入力受付部110を介して、展開図データの印刷に用いられる用紙のサイズおよび張り合わせ領域のサイズのユーザ入力を受け付ける(ステップS12)。用紙情報取得部126は、例えば、表示制御部150に依頼して、用紙のサイズおよび張り合わせ領域のサイズの入力を促す情報を表示装置20に表示させ、この表示に応じてユーザが入力した情報を、入力受付部110から取得する。用紙情報取得部126は、取得した用紙のサイズおよび張り合わせ領域のサイズを配置決定部128に渡す。
【0040】
配置決定部128は、ステップS12で受け付けられた用紙のサイズおよび張り合わせ領域のサイズを用いて、用紙における印刷領域の位置および大きさを特定する(ステップS14)。この印刷領域の特定は、例えば図3を参照して上述したとおりに行えばよい。
【0041】
印刷領域を特定すると、配置決定部128は、ステップS10で取得された展開図データが表す展開図の全体が1枚の用紙の印刷領域内に収まるか否かを判定する(ステップS16)。この判定は、ステップS10で展開図データから抽出された展開図の大きさと、ステップS14で求めた印刷領域の大きさとを比較することで行えばよい。
【0042】
1枚の用紙の印刷領域内に展開図の全体が収まる場合(ステップS16でYES)、配置決定部128は、当該展開図の全体を印刷領域に配置し(ステップS18)、この配置を表す情報を印刷データ生成部130に渡す。印刷データ生成部130は、配置決定部128から受取った情報に従って、用紙の印刷領域に展開図を配置した結果の画像を印刷するための印刷データを生成する(ステップS20)。生成された印刷データは、印刷データ生成部130から印刷指示部140に渡され、印刷指示部140は、当該印刷データによる印刷を行うことを印刷装置30に指示する(ステップS22)。この指示を受けて、展開図が1枚の用紙に印刷される。
【0043】
ステップS10で取得された展開図データの展開図が1枚の用紙の印刷領域内に収まらない場合(ステップS16でNO)、処理は図5のステップS30に進む。
【0044】
図5を参照し、まず、展開図データ処理部120の面検出部124において、図4のステップS10で取得された展開図データ中の線を検出する(ステップS30)。上述の図2の例の展開図データの場合、実線で表される外枠線および切込線と、破線で表される折り線とが検出される。
【0045】
次に、面検出部124は、ステップS30で検出した線を用いて、展開図データ中の各面を検出する(ステップS32)。本実施形態の例の面検出部124は、展開図データにおいて、ステップS30で検出した線によって囲まれる領域のそれぞれを面として検出する。面検出部124は、ステップS32で検出した各面の情報を配置決定部128に渡す。例えば図2の例の展開図の場合、面i〜xiiiが検出され、これらの各面i〜xiiiを表す情報が配置決定部128に渡される。各面を表す情報は、例えば、当該面を構成する辺、各辺の種類、各辺の大きさ、および当該面と他の面との間の位置関係などを含む。
【0046】
展開図データ中の各面を検出した後、配置決定部128は、これらの面のうちの1つを処理対象として選択し(ステップS34)、選択した面の用紙における配置を決定する(ステップS36)。より詳細には、配置決定部128は、選択した面を構成する辺のうちの少なくとも1つが用紙の印刷領域の辺上に位置するように、当該面の印刷領域への配置を決定する。本例の配置決定部128は、選択した面の辺のうち、「折り線」が優先的に印刷領域の辺上に位置するように面の配置を決定する。図6〜図9に、図2の例の展開図の面の一部(面i〜iv)について、各面を用紙400の印刷領域402内に配置した例を示す。図6〜図9は、用紙400の内部の一点鎖線で囲まれた矩形を印刷領域402とする。図6,図7,図8,図9は、それぞれ、展開図データ中の面i,ii,iii,ivがステップS34で選択された場合の配置の例を示す。図6〜図9を参照し、各面i〜ivは、当該面の折り線のうちの少なくとも1つが印刷領域402の辺上に位置するように配置されている。また、角度90度の角を含む面ii〜ivは、それぞれ、90度の角が印刷領域402の角のうちの1つと重なるように配置されている。なお、本実施形態の例では、ステップS36で、各面を配置する用紙の向きは一定の向きに定められるとする。図6〜図9では、用紙を横向き(用紙の長辺を水平方向と平行にする向き)に固定して各面の配置を決定する場合の例を示す。
【0047】
ステップS32で選択した面について用紙の印刷領域への配置を行った後、配置決定部128は、当該選択した面の全体が印刷領域内に収まっているか否かを確認する(ステップS38)。上述の図6〜図9の各例の場合、いずれも、配置された各面i〜ivは印刷領域402内に収まっているので、ステップS38でYES判定され、ステップS42に進む。
【0048】
一方、選択した面が印刷領域内に収まらない場合もある。この場合の例を図10Aに示す。図10Aは、図2の例の展開図データの各面の配置を決定する際、ステップS36で、用紙を縦向き(用紙の長辺を水平方向に対して垂直にする向き)に固定した場合の面iiの配置の一例である。図10Aを参照し、面iiが備える2つの折り線のうちの一方が印刷領域402の辺上に位置するように面iiを印刷領域402に配置した状態において、面iiのうち印刷領域402内に収まっていない部分がある。図10Aの例のように、現在の処理対象の面のうち印刷領域402内に収まらない部分がある場合、図5の例の手順のステップS38の判定処理でNO判定され、配置決定部128は、現在の処理対象の面を印刷するための用紙を追加する(ステップS40)。ステップS40で、配置決定部128は、例えば、印刷領域402内に収まっていない部分に、追加の用紙の印刷領域を割り当てる。図10Aを参照する上述の例の場合、ステップS40で、例えば図10Bに示すように、面iiにおいて用紙400の印刷領域402に収まらない部分を追加の用紙400´の印刷領域402´内に配置するように、追加の用紙400´における面iiの配置を決定する。なお、図10Bにおいて、展開図の下方に示した用紙400´は、用紙400´の実際の配置位置を示すものではなく、単に理解を容易にするために示したものである。展開図の下方に示す用紙400´の印刷領域402´において斜線で示す領域内に、展開図の面iiにおいて印刷領域402内に収まらない部分が配置される。また、面iiのうち印刷領域402内に収まらない部分における折り線が印刷領域402´の辺上に配置される。図10Bの例のように追加の用紙400´の印刷領域402´内に面iiの一部を配置すると、面iiの全体が用紙400および用紙400´のいずれか一方の印刷領域402,402´内に収まる。
【0049】
ステップS40の後、ステップS38に戻り、再度、現在の処理対象の面において印刷領域内に収まっていない部分があるか否かの判定が行われる。用紙を追加しても当該面が印刷領域内に収まらない場合(ステップS38でNO)、面の全体が印刷領域内に収まるようになるまで、用紙を追加する処理(ステップS40)が繰り返される。また、例えば図10Bのように、追加の用紙による配置を行うことで面が印刷領域内に収まる場合、ステップS38でYES判定されてステップS42に進む。
【0050】
ステップS42では、展開図データ中の面のすべてについて処理済みであるか否かの判定が行われる。すべての面について処理済みでなければ(ステップS42でNO)、処理はステップS34に戻って、未処理の面を1つ選択し、選択した面に対してステップS36以降の処理が行われる。すべての面について処理済みであれば(ステップS42でYES)、処理は図11のステップS50に進む。
【0051】
図5の例の手順において、展開図データ中のすべての面について処理が終了した時点では、展開図データ中の面ごとに、1枚以上の用紙の印刷領域への当該面の配置が決定されている。例えば図2の例の展開図の場合、図6〜図9に例示する面i〜ivの配置に加えて、面v〜xiiiの各面についても図6〜図9と同様に印刷領域への配置が決定される。このように決定された配置のとおりに展開図データの各面を用紙に印刷すると、展開図データ中の面の数以上の枚数の用紙が必要となる。上述の図2,図6〜図9を参照する例の場合、展開図データ中に13個の面i〜xiiiが存在するため、面ごとに1枚以上の用紙の印刷領域への配置を決定して印刷を行うと、13枚以上の用紙が必要となる。しかしながら、1枚の用紙の印刷領域に複数の面を配置可能な場合もある。1枚の用紙の印刷領域に複数の面を配置すれば、これら複数の面ごとに1枚以上の用紙への配置を行うよりも、印刷に必要な用紙の枚数が少なくなる。したがって、配置決定部128は、図11の例のステップS50〜S56で、可能な限り多くの面を1枚の用紙に配置するための処理を行う。
【0052】
図11を参照し、配置決定部128は、展開図データ中の面のうちの1つを1枚の用紙に配置した状態を表す配置情報を選択する(ステップS50)。ここで、「配置情報」とは、例えば図6〜図9に例示するような、展開図データ中の面の用紙(の印刷領域)への配置を表す情報であるとする。図11の例の手順が開始される時点では、上述のように、展開図データ中の面ごとに、当該面の1枚以上の用紙への配置を表す配置情報が生成されている。これらの配置情報のうち、1枚の用紙に1つの面を配置した状態を表すものがステップS50における選択の対象となる。
【0053】
配置決定部128は、ステップS50で選択した配置情報が表す配置の状態において、印刷領域に配置された面に隣接する面(隣接面)のうち、当該印刷領域内に収まる面があるか否かを判定する(ステップS52)。
【0054】
例えば、ステップS50で図6の例の配置を表す配置情報が選択された場合、面iに隣接する面iiは、印刷領域402内に収まっていない。このため、ステップS52でNO判定される。ステップS52でNO判定されると、未処理の配置情報がなくなるまで(ステップS56でNO判定されるまで)、ステップS50以降の処理が繰り返される。
【0055】
また例えば、図7の例の配置を表す配置情報がステップS50で選択された場合、面iiに隣接する面iは、印刷領域402内に収まっている。このため、ステップS52でYES判定される。
【0056】
ステップS52でYES判定されると、処理はステップS54に進み、配置決定部128は、印刷領域内に収まっている隣接面のみを用紙に配置した状態を表す配置情報を破棄する。例えば、図7についてステップS52の判定が行われてステップS54の処理を行う場合、面iiに隣接する面iのみを用紙に配置した状態を表す図6の例の配置情報を破棄する。また、配置決定部128は、ステップS54で破棄した配置情報に含まれる隣接面を、現在の処理対象の(ステップS50で選択された)配置情報における印刷領域内に配置される面として、現在の処理対象の配置情報に含める。図7を参照する上述の例の場合、印刷領域に元から配置されていた面iiだけでなく、隣接する面i(廃棄された図6の配置情報に含まれる面)も印刷領域内に配置された面として認識しておく。言い換えると、図7に例示する印刷領域402内に位置する展開図データの面iおよび面iiの両方を印刷対象としておく。
【0057】
ステップS54の後、またはステップS52でNO判定された後、ステップS56で、未処理の配置情報の有無が判定される。未処理の配置情報があれば(ステップS56でYES)、処理はステップS50に戻り、未処理の配置情報のうちの1つを選択してステップS52以降の処理が実行される。
【0058】
ステップS50〜S56を含むループ処理により、1枚の用紙の印刷領域内に配置可能な、展開図データ中の隣接する複数の面が特定される。さらに、これらの複数の面ごとに生成されていた、複数の用紙への配置情報は、1枚の用紙の印刷領域内にこれらの複数の面を配置した状態を表す配置情報に統合される。よって、ステップS50〜S56を含むループ処理は、不要な配置情報を間引く処理であるとも言える。
【0059】
なお、本例のステップS54では、現在の処理対象の配置情報において印刷領域内に収まる隣接面「のみ」を用紙に配置した状態を表す配置情報は破棄するけれども、このような隣接面の他の面をさらに用紙に配置した状態を表す配置情報は破棄しない。例えば、上述した例のように、図6および図7の例の各配置情報についてステップS50〜S56を含むループ処理を行ったとする。この例では、図7の例の配置情報を処理対象としたときに、ステップS54で図6の例の配置情報は廃棄される。この後、さらに、図8の例の面iiiの配置を表す配置情報がステップS50で選択されたとする。図8を参照すると、面iiiの隣接面iiも印刷領域402内に収まっている。しかし、この隣接面iiを印刷領域に配置した配置情報(図7)が表す印刷領域402には、面iiだけでなく、面iも含まれている。さらに、面iを含む配置情報(図6)はすでに破棄されているため、面iiを含む図7の例の配置情報を破棄すると、面iの用紙への割り当てがなくなる。よって、図7の例の配置情報は破棄すべきでない。以上より、処理対象の配置情報において元から印刷領域内に配置されていた面の隣接面が印刷領域内に収まっていても、当該隣接面を含む配置情報において当該隣接面の他の面が印刷領域に含まれる場合は、ステップS54で、当該隣接面を含む配置情報を破棄しないようにする。
【0060】
なお、ステップS50〜S56を含むループ処理において、複数の用紙の印刷領域に亘って1つの面を配置した状態を表す配置情報(1枚の用紙の印刷領域内に収まらない面の配置情報)は、処理の対象から除外される。このような配置情報において、印刷領域に配置された面に隣接する面がさらに印刷領域内に収まる可能性は低いためである。
【0061】
1つの面を1枚の用紙に配置した状態を表す配置情報のすべてについてステップS50〜S54の処理が実行された場合(ステップS56でNO)、配置決定部128は、表示制御部150に依頼して、現時点での各面の配置情報を表示装置20に表示させる(ステップS58)。図12に、ステップS58で表示される配置情報の一例を示す。図12は、図2の例の展開図データに対して、上述の図4、図5、および図11のステップS50〜ステップS56までの処理を行った結果の例である。図12の例では、展開図データ中のすべての面i〜xiiiが、いずれかの用紙の印刷領域内に配置されている。また、面iii,v,xiiの他の面についての配置情報は、隣接する複数の面を1枚の用紙の印刷領域内に配置したものである。
【0062】
次に、展開図データ処理部120は、配置情報の表示を確認したユーザによる、用紙や配置の設定の変更を受け付ける(ステップS60)。例えば、ユーザは、図示しない入力装置を用いて、特定の配置情報における用紙の向きを変更する指示を入力してよい。また例えば、各配置情報における用紙のサイズを、印刷装置30で利用可能な用紙サイズのうち、各配置情報で配置された面を印刷可能な最小サイズに変更する指示を入力してよい。あるいは、例えば、面の配置を変更する入力を行ってもよい。面の配置の変更の例としてある面をその印刷領域内で移動させること、および、ある面を他の用紙の印刷領域内の余白部分に移動させることなどが挙げられる。以上の例のようなユーザの入力は、入力受付部110を介して展開図データ処理部120により取得される。展開図データ処理部120は、取得した入力に従って、配置情報を変更する。なお、例えば変更が不要である旨の入力があった場合など、ユーザによる変更指示の入力がない場合、ステップS60の処理は省略される。
【0063】
印刷データ生成部130は、ステップS58で表示された配置情報を配置決定部128から取得し、取得した配置情報を用いて印刷データを生成する(ステップS62)。印刷データ生成部130は、取得した配置情報が表す各用紙の画像を印刷するための印刷データを生成する。例えば図12の例の配置情報を取得した場合、図12に示す7枚の用紙それぞれの画像を印刷するための印刷データを生成する。また、ステップS60では、取得した配置情報が表す各用紙の画像において、組み立ての際に目印となる線や印を付加した印刷データを生成してもよい。例えば、図13に示すように、各用紙の張り合わせ領域の中央位置を表す枠線Lを追加する。また例えば、図14に示すように、各用紙において、組み立て時に互いに張り合わせられる部分に、目印となる符号を付してもよい。図14の例は、同じアルファベット文字の部分同士が、組み立て時に張り合わせられることを示す。図13の例の枠線と図14の例の目印との両方を付加してもよい。また、図14のようにアルファベット文字で張り合わせ位置を示す代わりに、他の種類の符号やマークを張り合わせ位置の目印にしたり、張り合わせの位置合わせに用いられる目印線を付加したりしてもよい。また、例えば図10Aおよび図10Bを参照して説明したように、複数の用紙の印刷領域に亘って1つの面が配置された配置情報についての印刷データには、印刷領域の重複位置を示す線を付加してもよい。例えば図10Bの用紙400´の印刷領域402´において、面iiの一部分が配置される領域(斜線部分)とその他の領域とを区別するための境界線を付加してもよい。
【0064】
ステップS62で印刷データを生成した後、印刷データ生成部130は、生成した印刷データを印刷指示部140に渡す。印刷指示部140は、印刷データ生成部130から受け取った印刷データに従った印刷を行うよう、印刷装置30に対して印刷指示を出す(ステップS64)。この印刷指示に従って、印刷装置30は、展開図データ中の異なる面が配置された複数の用紙の印刷を行う。ステップS64の後、図11の例の手順の処理は終了する。
【0065】
以上、図4〜図14を参照して説明した処理の例によると、印刷装置30で利用可能な用紙の最大サイズよりも大きな展開図を印刷する場合、展開図を縮小することなく、面単位で分割して複数の用紙に印刷する。このように複数の用紙に亘って印刷された展開図から組み立てられた立体は、展開図が表すとおりの大きさを有する。また、本例の処理によると、用紙の上下左右の余白により定められる張り合わせ領域を除いた印刷領域にのみ展開図の各面が印刷され、各面の折り線の少なくとも1つが印刷領域の辺上に位置するように各面が印刷領域に配置される。よって、印刷された展開図の各面を張り合わせて立体を組み立てる際、複数の用紙の張り合わせにより用紙が重複した部分に折り線が位置することはない。
【0066】
以上で説明した実施形態の例は、本発明の実施の形態の一例に過ぎず、上述の実施形態の例の他に各種の変形例があってよい。例えば、図11のステップS60において、用紙のサイズについて、ユーザからの指示を待たずに、自動的に変更してもよい。つまり、各配置情報における用紙のサイズを、印刷装置30で利用可能な用紙サイズのうち、当該配置情報で配置された面を印刷可能な最小サイズに自動的に変更するようにしてもよい。
【0067】
また例えば、上述の実施形態の例では、展開図データ中のすべての面のそれぞれについて、1枚以上の用紙の印刷領域への配置を決定してから、1枚の用紙の印刷領域内に配置可能な複数の面を特定する。変形例では、各面の配置を決定するたびに、隣接する他の面が印刷領域内に収まるか否かを確認してもよい。本変形例においても、印刷領域の辺上に面の一辺が位置するように配置を決定した面の隣接面が印刷領域内に収まる場合、当該隣接面のみを印刷領域に配置した状態を表す配置情報を破棄する。
【0068】
上述した例の印刷データ生成装置10の各部の機能は、他のシステムまたはソフトウエアの機能の一部として実現されてもよい。例えば、展開図データ処理部120および印刷データ生成部130の機能を、展開図データを作成するCADシステムの一部として実現し、作成された展開図データの印刷に用いることが考えられる。また例えば、プリンタおよびファクシミリなどの画像形成装置の機能の一部として展開図データ処理部120および印刷データ生成部130を実現してもよい。あるいは、プリンタに接続されたPC(Personal Computer)などにインストールされるプリンタドライバが、展開図データ処理部120、印刷データ生成部130、および印刷指示部140の機能を備えるようにしてもよい。
【0069】
上述の印刷データ生成装置10は、典型的には、汎用のコンピュータにて上述の印刷データ生成装置10の各部の機能または処理内容を記述したプログラムを実行することにより実現される。コンピュータは、例えば、ハードウエアとして、図15に示すように、CPU(中央演算装置)80、メモリ(一次記憶)82、各種I/O(入出力)インタフェース84等がバス86を介して接続された回路構成を有する。また、そのバス86に対し、例えばI/Oインタフェース84経由で、HDD(ハードディスクドライブ)88やCDやDVD、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体を読み取るためのディスクドライブ90が接続される。このようなドライブ88又は90は、メモリに対する外部記憶装置として機能する。実施形態の処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、またはネットワーク経由で、HDD88等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがメモリに読み出されCPUにより実行されることにより、実施形態の処理が実現される。
【0070】
なお、以上では、印刷データ生成装置10を1台のコンピュータにより実現する実施形態および変形例を説明したが、印刷データ生成装置10の上述の例の各部の機能を複数のコンピュータに分散させて実現してもよい。例えば、サーバコンピュータとクライアントコンピュータとが互いに接続されたシステムにおいて、印刷データ生成装置10の各部の機能をサーバコンピュータとクライアントコンピュータとに分散させて実現させることが考えられる。一例では、サーバコンピュータに展開図データ記憶部100、展開図データ処理部120、および印刷データ生成部130の機能を実現し、クライアントコンピュータに印刷指示部140および表示制御部150の機能を実現する。この例の場合、クライアントコンピュータにおいてユーザが入力した指示をクライアントコンピュータがサーバコンピュータに送信し、この指示に従ってサーバコンピュータの展開図データ処理部120および印刷データ生成部130により上述の実施形態の例の処理が行われて、生成された印刷データがクライアントコンピュータに返送される。クライアントコンピュータの印刷指示部140により、クライアントコンピュータに接続された印刷装置30に印刷指示が行なわれ、展開図が印刷される。
【符号の説明】
【0071】
10 印刷データ生成装置、20 表示装置、30 印刷装置、80 CPU、82 メモリ、84 I/Oインタフェース、86 バス、88 HDD、90 ディスクドライブ、100 展開図データ記憶部、110 入力受付部、120 展開図データ処理部、122 データ取得部、124 面検出部、126 用紙情報取得部、128 配置決定部、130 印刷データ生成部、140 印刷指示部、150 表示制御部。
【特許請求の範囲】
【請求項1】
立体の展開図を表す展開図データを取得し、取得した展開図データに含まれる各面を検出する検出手段と、
印刷に用いられる用紙の大きさの設定および当該用紙において前記展開図データが印刷される領域である印刷領域の設定を受け付ける受付手段と、
前記検出手段が検出した面ごとに前記展開図データを分割し、各面について1枚の前記用紙の前記印刷領域内での当該面の配置を決定する配置決定手段であって、当該面を構成する辺の少なくとも1つが前記印刷領域の辺上に位置するように当該面の配置を決定する配置決定手段と、
前記配置決定手段が決定した各面の配置を表す画像を前記用紙に印刷するための印刷データを生成する生成手段と、
を備えることを特徴とする印刷データ生成装置。
【請求項2】
前記検出手段は、前記展開図データに含まれる外枠線および折り線を検出し、検出した外枠線および折り線により囲まれる各領域を前記各面として検出し、
前記配置決定手段は、前記検出した面ごとに、当該面の辺のうち前記折り線が前記印刷領域の辺上に位置するように当該面の前記印刷領域内での配置を決定する、
ことを特徴とする請求項1に記載の印刷データ生成装置。
【請求項3】
前記配置決定手段は、前記検出した面のうちの1つを1枚の前記用紙の前記印刷領域内に配置した状態で、当該1つの面に隣接する面がさらに前記印刷領域内に収まる場合に、当該1つの面と当該隣接する面とを前記印刷領域内に配置することを決定し、当該隣接する面のみを1枚の前記用紙の前記印刷領域内に配置することを決定済みであれば当該決定を破棄する、
ことを特徴とする請求項1または2に記載の印刷データ生成装置。
【請求項4】
前記配置決定手段は、配置の決定の対象の面が1枚の前記用紙の前記印刷領域内に収まらない場合に、複数の前記用紙の前記印刷領域に亘って当該対象の面を配置することを決定する、
ことを特徴とする請求項1から3のいずれか1項に記載の印刷データ生成装置。
【請求項5】
前記生成手段は、前記配置決定手段が決定した各面の配置を表す画像に対して、前記展開図データが表す展開図を用いた組み立て作業の際の目印となる画像を追加した印刷データを生成する、
ことを特徴とする請求項1から4のいずれか1項に記載の印刷データ生成装置。
【請求項6】
前記生成手段は、前記配置決定手段が決定した各面の配置を表す画像を印刷する前記用紙の大きさの設定を、印刷において利用可能な用紙の大きさのうち前記各面を印刷可能な最小の用紙の大きさに変更した上で、前記印刷データを生成する、
ことを特徴とする請求項1から5のいずれか1項に記載の印刷データ生成装置。
【請求項7】
コンピュータに、
立体の展開図を表す展開図データを取得し、取得した展開図データに含まれる各面を検出する検出ステップと、
印刷に用いられる用紙の大きさの設定および当該用紙において前記展開図データが印刷される領域である印刷領域の設定を受け付ける受付ステップと、
前記検出ステップで検出された面ごとに前記展開図データを分割し、各面について1枚の前記用紙の前記印刷領域内での当該面の配置を決定するステップであって、当該面を構成する辺の少なくとも1つが前記印刷領域の辺上に位置するように当該面の配置を決定する配置決定ステップと、
前記配置決定ステップで決定した各面の配置を表す画像を前記用紙に印刷するための印刷データを生成する生成ステップと、
を実行させるためのプログラム。
【請求項1】
立体の展開図を表す展開図データを取得し、取得した展開図データに含まれる各面を検出する検出手段と、
印刷に用いられる用紙の大きさの設定および当該用紙において前記展開図データが印刷される領域である印刷領域の設定を受け付ける受付手段と、
前記検出手段が検出した面ごとに前記展開図データを分割し、各面について1枚の前記用紙の前記印刷領域内での当該面の配置を決定する配置決定手段であって、当該面を構成する辺の少なくとも1つが前記印刷領域の辺上に位置するように当該面の配置を決定する配置決定手段と、
前記配置決定手段が決定した各面の配置を表す画像を前記用紙に印刷するための印刷データを生成する生成手段と、
を備えることを特徴とする印刷データ生成装置。
【請求項2】
前記検出手段は、前記展開図データに含まれる外枠線および折り線を検出し、検出した外枠線および折り線により囲まれる各領域を前記各面として検出し、
前記配置決定手段は、前記検出した面ごとに、当該面の辺のうち前記折り線が前記印刷領域の辺上に位置するように当該面の前記印刷領域内での配置を決定する、
ことを特徴とする請求項1に記載の印刷データ生成装置。
【請求項3】
前記配置決定手段は、前記検出した面のうちの1つを1枚の前記用紙の前記印刷領域内に配置した状態で、当該1つの面に隣接する面がさらに前記印刷領域内に収まる場合に、当該1つの面と当該隣接する面とを前記印刷領域内に配置することを決定し、当該隣接する面のみを1枚の前記用紙の前記印刷領域内に配置することを決定済みであれば当該決定を破棄する、
ことを特徴とする請求項1または2に記載の印刷データ生成装置。
【請求項4】
前記配置決定手段は、配置の決定の対象の面が1枚の前記用紙の前記印刷領域内に収まらない場合に、複数の前記用紙の前記印刷領域に亘って当該対象の面を配置することを決定する、
ことを特徴とする請求項1から3のいずれか1項に記載の印刷データ生成装置。
【請求項5】
前記生成手段は、前記配置決定手段が決定した各面の配置を表す画像に対して、前記展開図データが表す展開図を用いた組み立て作業の際の目印となる画像を追加した印刷データを生成する、
ことを特徴とする請求項1から4のいずれか1項に記載の印刷データ生成装置。
【請求項6】
前記生成手段は、前記配置決定手段が決定した各面の配置を表す画像を印刷する前記用紙の大きさの設定を、印刷において利用可能な用紙の大きさのうち前記各面を印刷可能な最小の用紙の大きさに変更した上で、前記印刷データを生成する、
ことを特徴とする請求項1から5のいずれか1項に記載の印刷データ生成装置。
【請求項7】
コンピュータに、
立体の展開図を表す展開図データを取得し、取得した展開図データに含まれる各面を検出する検出ステップと、
印刷に用いられる用紙の大きさの設定および当該用紙において前記展開図データが印刷される領域である印刷領域の設定を受け付ける受付ステップと、
前記検出ステップで検出された面ごとに前記展開図データを分割し、各面について1枚の前記用紙の前記印刷領域内での当該面の配置を決定するステップであって、当該面を構成する辺の少なくとも1つが前記印刷領域の辺上に位置するように当該面の配置を決定する配置決定ステップと、
前記配置決定ステップで決定した各面の配置を表す画像を前記用紙に印刷するための印刷データを生成する生成ステップと、
を実行させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10A】
【図10B】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10A】
【図10B】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2012−78894(P2012−78894A)
【公開日】平成24年4月19日(2012.4.19)
【国際特許分類】
【出願番号】特願2010−220771(P2010−220771)
【出願日】平成22年9月30日(2010.9.30)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成24年4月19日(2012.4.19)
【国際特許分類】
【出願日】平成22年9月30日(2010.9.30)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]