(57)【特許請求の範囲】
【請求項１】
プロセッサが、限定された空間について１または複数のレイアウトを予め決定する工程であって、各レイアウトは、複数の形状を有するものと、
前記プロセッサが、複数のアイテムを有するセットをコンピュータ読み取り可能媒体から受け入れる工程と、
前記プロセッサが、複数のコンフィギュレーションであって、各々、前記セットから選択された１つのアイテムを前記１または複数のレイアウト内の各形状に割り当てることによって形成されるものを決定する工程であって、前記１つのアイテムは、そのアイテムが割り当てられる１つの形状に適合するものと、
前記プロセッサが、前記セットに含まれる複数のアイテムのうちの少なくとも１つが各コンフィギュレーションに含まれないことに起因するペナルティを含む少なくとも１つのファクタに基づき、各コンフィギュレーションのスコアを計算する工程と、
前記プロセッサが、そのスコアに少なくとも部分的に基づき、前記複数のコンフィギュレーションのうちのいずれかを選択する工程と
を含む方法。
【請求項２】
請求項１に記載の方法であって、高密度に詰め込まれた前記１または複数のレイアウトは、前記プロセッサが、モルフォロジー法(morphological technique)を用いて予め計算される方法。
【請求項３】
請求項１に記載の方法であって、さらに、
前記プロセッサが、ユーザによる入力を受け入れる工程であって、前記ユーザによる入力は、少なくとも１つのレイアウトを有するものと、
前記プロセッサが、その少なくとも１つのレイアウトを前記予め決定された１または複数のレイアウトに付加する工程と
を含む方法。
【請求項４】
請求項１に記載の方法であって、前記セットは、待ち行列、一次の待ち行列、優先度付き待ち行列またはバッグ(bag)のうちのいずれかを有し、前記バッグは、同じ複数のアイテムを伴う複数のアイテムの集まりである方法。
【請求項５】
請求項１に記載の方法であって、前記限定された空間は、２次元空間または３次元空間のいずれかを有する方法。
【請求項６】
請求項１に記載の方法であって、前記少なくとも１つのファクタは、
各コンフィギュレーションについての高さ寸法依存コスト(height cost)と、
前記セット内の複数のアイテムのうち、各コンフィギュレーションに含まれているアイテムについての占有ペナルティであって、各コンフィギュレーションに含まれている複数のアイテムの数がしきい値に到達せず、そのコンフィギュレーションに含まれていない複数のアイテムが印刷されない状態に置かれる場合に、そのコンフィギュレーションに含まれている複数のアイテムについて科されるペナルティであるものと、
前記セット内の複数のアイテムのうち、各コンフィギュレーションに含まれていないアイテムについての出荷遅延ペナルティであって、各コンフィギュレーションに含まれていないアイテムが先入れ先出しの原則から逸脱する出荷遅延の場合に、そのアイテムについて科されるペナルティであるものと
を含む方法。
【請求項７】
請求項１に記載の方法であって、前記プロセッサが、前記複数のコンフィギュレーションのスコアを計算する工程は、各コンフィギュレーションごとに、高さ寸法依存コスト(height cost)、各コンフィギュレーションに含まれている複数のアイテムの数がしきい値に到達せず、そのコンフィギュレーションに含まれていない複数のアイテムが印刷されない状態に置かれる場合に、そのコンフィギュレーションに含まれている複数のアイテムについて科されるペナルティである占有ペナルティおよび各コンフィギュレーションに含まれていないアイテムが先入れ先出しの原則から逸脱する出荷遅延の場合に、そのアイテムについて科されるペナルティである出荷遅延ペナルティを合計する工程を含む方法。
【請求項８】
請求項１に記載の方法であって、各コンフィギュレーションは、前記複数のアイテムの前記セットの一部であるサブセットを含み、各サブセットの各アイテムは、前記コンフィギュレーション内における向きおよび位置を有する方法。
【請求項９】
請求項１に記載の方法であって、前記スコアを計算する工程は、さらに、
あるコンフィギュレーションが選択されると、前記プロセッサが、そのコンフィギュレーションに含まれていた複数のアイテムを前記セットから除外することによって前記セットを更新する工程と、
前記複数のアイテムが除外されると、前記プロセッサが、前記少なくとも１つのファクタに基づき、前記更新されたセットを評価する工程と
を含む方法。
【請求項１０】
請求項１に記載の方法であって、さらに、前記選択された１つのコンフィギュレーションを用いて３次元印刷処理を実行し、それにより、前記セットから選択された前記複数のアイテムを制作する工程を含む方法。
【請求項１１】
請求項１に記載の方法であって、前記１または複数のコンフィギュレーションは、前記セットを用いて生成され、そのセットは、一次の待ち行列、優先度付き待ち行列またはバッグのうちのいずれかを含み、前記バッグは、同じ複数のアイテムを伴う複数のアイテムの集まりである方法。
【請求項１２】
請求項１１に記載の方法であって、前記１または複数のコンフィギュレーションは、前記セットから複数のアイテムをグリーディに(greedily)取り出すことによって形成される方法。
【請求項１３】
請求項２に記載の方法であって、前記モルフォロジー法は、前記限定された空間内に複数の形状を順に配置し、その一方で、１または複数のシステム上の制約(system constraints)であって前記複数の形状の配置を定義するものを充足させる(maintain)工程を含む方法。
【請求項１４】
請求項２に記載の方法であって、前記モルフォロジー法は、前記限定された空間内において前記複数の形状をラウンド−ロビン法（round-robin fashion)で移動させる工程を含む方法。
【請求項１５】
請求項１４に記載の方法であって、前記システム上の制約は、前記複数の形状間の最小距離と、前記限定された空間に対する前記複数の形状の向きと、前記複数の形状相互間の向きとのうちの少なくとも１つを含む方法。
【請求項１６】
請求項１に記載の方法であって、前記１または複数のレイアウトを予め決定する工程は、遺伝的方法(genetic technique)を用いる方法。
【請求項１７】
請求項１に記載の方法であって、前記１または複数のレイアウトを予め決定する工程は、遺伝的方法およびモルフォロジー法の双方を用いる方法。
【請求項１８】
３次元印刷用プリント・ベッドの限定された空間内に複数のアイテムを配置する方法であって、
プロセッサが、前記限定された空間について１または複数のレイアウトを予め決定する工程であって、各レイアウトは、複数の形状を有するものと、
前記プロセッサが、待ち行列をコンピュータ読み取り可能媒体に保存する工程であって、前記待ち行列は、複数の不規則形状アイテムの順序を有し、それら不規則形状アイテムの各々は、少なくとも１つの割り当てられた特性を有するものと、
前記プロセッサが、少なくとも２つのコンフィギュレーションを、前記限定された空間内において、選択された評価基準(metric)に従い、決定する工程と、
前記プロセッサが、前記待ち行列に含まれる複数の不規則形状アイテムのうちの少なくとも１つが各コンフィギュレーションに含まれないことに起因するペナルティを含む少なくとも１つのファクタに基づき、少なくとも２つのコンフィギュレーションの相対的ランクを決定する工程と、
前記プロセッサが、その決定されたランクに少なくとも部分的に基づいて１つのコンフィギュレーションを選択する工程であって、その１つのコンフィギュレーションは、前記待ち行列内に存在する前記複数の不規則形状アイテムのうちの一部であるサブセットを印刷する３次元印刷用プリント・ベッドに適合するものと
を含み、
前記少なくとも２つのコンフィギュレーションを決定する工程における前記少なくとも２つのコンフィギュレーションの各々は、前記１または複数のレイアウト内の各形状に、前記少なくとも１つの割り当てられた特性に基づいて前記待ち行列から選択された１つの不規則形状アイテムを割り当てることによって決定され、
その１つの不規則形状アイテムは、その不規則形状アイテムが割り当てられる１つの形状に適合する方法。
【請求項１９】
請求項１８に記載の方法であって、前記待ち行列を保存する工程は、
複数の不規則形状アイテムを前記待ち行列内に受け入れる工程と、
前記１つのコンフィギュレーションが選択されると、複数の不規則形状アイテムを前記待ち行列から除外する工程であって、それら不規則形状アイテムであって前記サブセット内に含まれるものが除外されるものと
を含む方法。
【請求項２０】
請求項１８に記載の方法であって、前記１または複数のレイアウトを予め決定する工程は、
前記プロセッサが、前記複数の不規則形状アイテムの各々を所定のビューから撮影した画像の２値画像を取得する工程と、
前記プロセッサが、前記２値画像を用いて前記複数の不規則形状アイテムを、前記限定された空間内においてモルフォロジー法を用いて位置決めし、それにより、あるレイアウトを作成する工程と
を含み、
前記少なくとも２つのコンフィギュレーションを決定する工程は、
前記レイアウトを、前記セットから選択されたある不規則形状アイテムと組み合わせ、それにより、あるコンフィギュレーションを作成する工程を含む方法。
【請求項２１】
請求項２０に記載の方法であって、前記２値画像を取得する工程は、前記プロセッサが、前記複数の不規則形状アイテムを表すトップ−ダウン・ビューを取得する工程を含む方法。
【請求項２２】
請求項２０に記載の方法であって、前記２値画像を取得する工程は、前記プロセッサが、前記複数の不規則形状アイテムの各々について複数の２次元スライスを生成する工程を含む方法。
【請求項２３】
請求項１８に記載の方法であって、前記１または複数のレイアウトを予め決定する工程は、
前記プロセッサが、前記複数の不規則形状アイテムの各々の３次元ポイント・クラウドを１つの平面に縮約する工程と、
前記プロセッサが、その縮約されたポイント・クラウドの境界線を識別する工程と
を含み、
前記少なくとも２つのコンフィギュレーションを決定する工程は、
前記プロセッサが、前記複数の不規則形状アイテムの各々の前記縮約されたポイント・クラウドの前記境界線を用いて、前記１または複数のレイアウト内の各形状に、前記複数の不規則形状アイテムの各々を当てはめる工程を含む方法。
【請求項２４】
請求項１８に記載の方法であって、前記少なくとも２つのコンフィギュレーションの相対的ランクを決定する工程は、前記プロセッサが、前記少なくとも２つのコンフィギュレーションの各々を用いて印刷するコストを計算する工程を含む方法。
【請求項２５】
請求項２４に記載の方法であって、前記コストを計算する工程は、前記プロセッサが、各コンフィギュレーションごとに、高さ寸法依存コスト、各コンフィギュレーションに含まれている複数のアイテムの数がしきい値に到達せず、そのコンフィギュレーションに含まれていない複数のアイテムが印刷されない状態に置かれる場合に、そのコンフィギュレーションに含まれている複数のアイテムについて科されるペナルティである占有ペナルティおよび各コンフィギュレーションに含まれていないアイテムが先入れ先出しの原則から逸脱する出荷遅延の場合に、そのアイテムについて科されるペナルティである出荷遅延ペナルティを合計する工程を含む方法。
【請求項２６】
請求項１８に記載の方法であって、前記選択された評価基準(metric)は、充填密度基準、最小アイテム数基準または最大コスト基準のうちのいずれかを含む方法。
【請求項２７】
プロセッサが、３次元印刷用プリント・ベッドの限定された空間における複数のレイアウトを生成する工程であって、各レイアウトは、複数の形状を有するものと、
複数の不規則形状アイテムのセットを受け入れる工程と、
前記プロセッサが、前記セットから選択された複数の不規則形状アイテムの一部であるサブセットを前記複数のレイアウトに対応付けることにより、複数のコンフィギュレーションを生成する工程と、
前記プロセッサが、前記セットに含まれる複数のアイテムのうちの少なくとも１つが各コンフィギュレーションに含まれないことに起因するペナルティを含む少なくとも１つのファクタに基づき、前記複数のコンフィギュレーションのうちのいずれかを選択する工程と、
前記プロセッサが、その選択された１つのコンフィギュレーションを用いて３次元印刷処理を行うことにより、複数の不規則形状アイテムのバッチを生成する工程と、
前記プロセッサが、前記バッチ内において生成された複数の不規則形状アイテムを前記セットから除外することにより、前記セットを更新する工程と
を含み、
前記複数のコンフィギュレーションの各々は、前記複数のレイアウト内の各形状に、前記サブセットから選択された１つの不規則形状アイテムを割り当てることによって生成され、その１つの不規則形状アイテムは、その不規則形状アイテムが割り当てられる１つの形状に適合する方法。
【請求項２８】
請求項２７に記載の方法であって、前記複数のレイアウトを生成する工程は、モルフォロジー法を用いる工程を含む方法。
【請求項２９】
請求項２８に記載の方法であって、さらに、前記複数のレイアウトを保存するために遺伝的方法を用いる工程を含む方法。
【請求項３０】
プロセッサが、モルフォロジー法を用いて少なくとも１つのレイアウトを予め計算する工程であって、前記レイアウトは、限定された空間内に位置する複数のホールを含むものと、
前記プロセッサが、複数の不規則形状アイテムの待ち行列をコンピュータ読み取り可能媒体から受け入れる工程であって、前記複数の不規則形状アイテムの各々は、前記複数のホールのうちの少なくとも１つに適合するものと、
前記プロセッサが、前記待ち行列の一部であるサブセットを前記限定された空間に当てはめる複数のコンフィギュレーションを逐次反復的に決定する工程であって、各コンフィギュレーションは、複数の不規則形状アイテムの前記待ち行列の別の一部であるサブセットを含み、前記複数のコンフィギュレーションの各々は、不規則形状アイテムとホールとの間の適合性に基づき、前記複数のホールの各々に、前記待ち行列から選択された１つの不規則形状アイテムを割り当てることによって決定されるものと、
前記プロセッサが、前記待ち行列に含まれる複数の不規則形状アイテムのうちの少なくとも１つが各コンフィギュレーションに含まれないことに起因するペナルティを含む少なくとも１つのファクタに基づき、前記複数のコンフィギュレーションの各々のスコアを計算する工程と、
前記プロセッサが、前記複数のコンフィギュレーションのスコアに少なくとも部分的に基づき、前記複数のコンフィギュレーションのうちのいずれかを選択する工程と
を含む方法。
【請求項３１】
請求項３０に記載の方法であって、さらに、前記プロセッサが、前記選択された複数のコンフィギュレーションを前記コンピュータ読み取り可能媒体に保存するために発見的方法(heuristic technique)を実施する工程を含む方法。
【請求項３２】
請求項３０に記載の方法であって、さらに、
前記プロセッサが、ユーザによる入力を受け入れる工程であって、前記ユーザによる入力は、少なくとも１つのレイアウトを有するものと、
前記プロセッサが、そのユーザによる入力を、前記予め計算された複数のレイアウトであって前記複数のコンフィギュレーションを決定するために使用されるものと一緒に前記コンピュータ読み取り可能媒体に保存する工程と
を含む方法。
【請求項３３】
印刷すべき複数のアイテムを包含するセットを保存するように構成されたコンピュータ記録デバイスと、
そのコンピュータ記録デバイスと通信可能なプロセッサと
を含み、
そのプロセッサは、
限定された空間について１または複数のレイアウトを予め決定する工程であって、各レイアウトは、複数の形状を有するものと、
前記複数のアイテムの前記セットを受け入れる工程と、
複数のコンフィギュレーションであって、各々、前記セットから選択された１つのアイテムを前記１または複数のレイアウト内の各形状に割り当てることによって形成されるものを決定する工程であって、前記１つのアイテムは、そのアイテムが割り当てられる１つの形状に適合するものと、
前記セットに含まれる複数のアイテムのうちの少なくとも１つが各コンフィギュレーションに含まれないことに起因するペナルティを含む少なくとも１つのファクタに基づき、各コンフィギュレーションのスコアを計算する工程と、
そのスコアに少なくとも部分的に基づき、前記複数のコンフィギュレーションのうちのいずれかを選択する工程と
を実行するように構成されるシステム。
【請求項３４】
複数のアイテムを有するセットからいくつかのアイテムを選択し、その選択されたアイテムを限定された空間内に詰め込む方法であって、
プロセッサが、限定された空間について複数のレイアウトを予め決定する工程であって、各レイアウトは、複数の形状の集まりを有するものと、
前記プロセッサが、複数のコンフィギュレーションであって、各々、前記セットから選択された１つのアイテムを前記複数のレイアウト内の各形状に割り当てることによって形成されるものを決定する工程であって、前記１つのアイテムは、そのアイテムが割り当てられる１つの形状に適合するものと、
前記プロセッサが、前記セットに含まれる複数のアイテムのうちの少なくとも１つが各コンフィギュレーションに含まれないことに起因するペナルティを含む少なくとも１つのファクタに基づき、各コンフィギュレーションのスコアを計算する工程と、
前記プロセッサが、そのスコアに少なくとも部分的に基づき、前記複数のコンフィギュレーションのうちのいずれかを選択する工程と
を含む方法。
【請求項３５】
請求項３４に記載の方法であって、前記セットは、前記複数のアイテムの待ち行列を含む方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書での説明は、一般に、複数のオブジェクト（object、対象物、品物、物品）を限定された(defined、定義された、仕切られた）容積内に詰め込む(pack、充填する）ためのシステムおよび方法に関しており、特に、複雑であるかまたは不規則である形状(geometry、幾何学）を有する複数のアイテム（item、品物、物品）を、３次元（３Ｄ）印刷処理を目的として、限定された容積に当てはめること(fitting、はめ込むこと、幾何学的に適合すること、フィットさせること、収めること、入れること、フィッティング)に関する。
【背景技術】
【０００２】
限定された空間内に複数のオブジェクトを詰め込みつつ空間を効率的に利用することは、種々の用途において重要である。複数のオブジェクトが、互いに相対的に、かつ、前記空間内において効率的におよび／または適切に配置されていない場合には、より少ない数のアイテムしか当てはまらない（フィットしない）可能性がある。いくつかのケースにおいては、そのような空間の非効率的な利用に多くの費用が発生する可能性がある。例えば、３Ｄ印刷処理において使用される複数のプリンタ・ベッド(printer bed、印刷台）が、予め定められた容積を有し、その容積に、印刷されるべき複数のオブジェクトが当てはめられる可能性がある。前述のプリント・ベッド(print bed、印刷台）内の空間を効率的に利用しないと、複数のオブジェクトの印刷時間が遅延するのみならず、印刷回数(print run、印刷枚数)が何回も追加されてしまうという結果が発生する可能性がある。
【０００３】
一般に、正方形または長方形を成す複数のオブジェクトは、正方形または長方形を成すように限定された空間内に詰め込むことが比較的容易である。しかし、不規則形状を有する複数のオブジェクトを効率的に詰め込むことは、より困難である。従来、人間であるオペレータは、限定された空間内に複数のオブジェクトを最もうまくはめ込むという努力を課せられてきている。複数の不規則形状オブジェクトについては、オペレータは、ある程度の充填効率(packing efficiency、詰め込み効率）を達成することが可能であるが、このことは、限定された空間内における複数のオブジェクトのレイアウトを改善するためのオペレータの記憶力、創造力および熱意次第で制限されるかもしれない。典型的には、オペレータは、数少ない好みのパターンを記憶し、それらパターンを何度も何度も再利用するであろう。オペレータの知識は、一般的に、複数のプラットフォームまたは複数の印刷コンソールを横断して共有されるようにはなっておらず、その結果、全体的な知識が欠如してしまう。複数の不規則形状アイテムを効率的に詰め込むという問題は、それら不規則形状アイテムが無作為に提供されるとともに、形状のみならずサイズも互いに異なる場合に、より一層困難となる。
【発明の概要】
【０００４】
逐次反復的な(iterative、逐次的な、反復的な）方法およびその方法を実行するためのシステムが説明されており、それら方法およびシステムは、限定された(defined、定義された、仕切られた）空間内に複数の不規則形状アイテムを詰め込むためにモルフォロジー法を実行する。具体的には、一例は、限定された空間につき、１または複数のレイアウトを予め決定する工程を含む方法という形態を取ることが可能である。各レイアウトは、複数の形状を有する。この方法は、さらに、複数のアイテムを有するセットを受け入れる(receive、受信する）工程と、前記１つのレイアウト内の各形状に、前記セットから選択された１つのアイテムを割り当てることにより、１または複数のコンフィギュレーションを決定する工程とを含む。それらアイテムは、それらアイテムが割り当てられる前記複数の形状に合致する。さらに、この方法は、各コンフィギュレーションのスコアを計算する工程と、そのスコアに少なくとも部分的に基づき、１つのコンフィギュレーションを選択する工程とを含む。
【０００５】
別の例は、限定された空間内に複数のアイテムを配置する方法という形態を取ることが可能であり、その方法は、前記限定された空間について１または複数のレイアウトを予め決定する工程であって、各レイアウトは、複数の形状を有するものを含む。この方法は、待ち行列をコンピュータ読み取り可能媒体に保存する(maintain、記憶させる、記録する）工程であって、前記待ち行列は、複数の不規則形状アイテムの順序を有し、それら不規則形状アイテムの各々は、少なくとも１つの割り当てられた特性を有するものを含む。さらに、この方法は、少なくとも２つのコンフュギュレーションを、前記限定された空間内において、選択された評価基準（metric、メトリック）に従い、プロセッサを用いて決定する工程と、前記複数のコンフィギュレーションのうちの少なくとも２つの相対的ランクを決定する工程とを含む。さらに、この工程は、その決定されたランクに少なくとも部分的に基づいて１つのコンフィギュレーションを選択する工程を含む。その１つのコンフィギュレーションは、前記待ち行列内に存在する前記複数の不規則形状アイテムのうちの一部の集まりであるサブセットを３次元的に印刷するためのプリント・ベッドに対応する。
【０００６】
さらに別の例は、プロセッサを用いて、限定された空間に複数の形状をフィットさせるための複数のレイアウトを生成する工程と、複数の不規則形状アイテムのセットを受け入れる(receive、受信する）工程とを含む方法という形態を取ることが可能である。さらに、この方法は、前記セットから選択された複数の不規則形状アイテムの一部の集まりであるサブセットを前記複数のレイアウトに対応付けることにより、複数のコンフィギュレーションを生成する工程と、前記複数のコンフィギュレーションのうちのいずれかを選択する工程とを含む。この方法は、さらに、その選択された１つのコンフィギュレーションを用いて３次元印刷処理を行うことにより、複数の不規則形状アイテムのバッチを生成する工程と、前記バッチ内において生成された複数の不規則形状アイテムを前記セットから除外することにより、前記セットを更新する工程とを含む。
【０００７】
また別の例は、モルフォロジー法を用いて少なくとも１つのレイアウトを予め計算する工程であって、前記レイアウトは、限定された空間内に位置する複数のホール(hole)を含むものと、複数の不規則形状アイテムの待ち行列を受け入れる(receive、受信する）工程とを含む方法という形態を取ることが可能である。前記待ち行列は、コンピュータ読み取り可能媒体に保存され、前記複数の不規則形状アイテムの各々は、前記複数のホールのうちの少なくとも１つに対応する。この方法は、さらに、前記待ち行列の一部であるサブセットを前記限定された空間に当てはめる複数のコンフィギュレーションを逐次反復的に決定する工程であって、各コンフィギュレーションは、複数の不規則形状アイテムの前記待ち行列のうちの別の一部であるサブセットを有するものを含む。さらに、この方法は、前記複数のコンフィギュレーションの各々のスコアを計算する工程と、前記複数のコンフィギュレーションのスコアに少なくとも部分的に基づき、前記複数のコンフィギュレーションのうちのいずれかを選択する工程とを含む。
【０００８】
さらにまた別の例は、印刷すべき複数の不規則形状アイテムを有するセットを保存するように構成されたコンピュータ記録デバイスと、そのコンピュータ記録デバイスと通信可能なプロセッサとを含むシステムという形態を取ることが可能である。そのプロセッサは、限定された空間について１または複数のレイアウトを予め決定するように構成されており、各レイアウトは、複数の形状を有する。このプロセッサは、さらに、前記複数のアイテムの前記セットを受け入れる(receive、受信する）とともに、前記１つのレイアウト内の各形状に、前記セットから選択された１つのアイテムを割り当てることによって形成される１または複数のコンフィギュレーションを決定し、前記１つのアイテムは、前記１つの形状に適合する。このプロセッサは、さらに、各コンフィギュレーションのスコアを計算するとともに、そのスコアに少なくとも部分的に基づき、１つのコンフィギュレーションを選択する。
【０００９】
複数の例が開示されているが、本発明についてのさらに別のいくつかの例が、当業者にとっては、後続する詳細な説明の欄から自明となるであろう。理解されるであろうが、それら例は、それらの主旨および範囲からいずれも逸脱することなく、種々の側面においていくつかの変更を施すことが可能である。したがって、図面および詳細な説明は、本質的には説明の便宜のためのものとして理解すべきであって、特許請求の範囲を制限すべきものとして理解すべきではない。
【図面の簡単な説明】
【００１０】
【図１】図１は、個別注文可能な多数のオブジェクトを生成するためのシステムを示している。
【００１１】
【図２】図２は、限定された空間内に複数の不規則形状オブジェクトを効率的に当てはめるためのワークフローを示している。
【００１２】
【図３】図３は、限定された空間内に複数のオブジェクトを配置するためのモルフォロジー法におけるいくつかの工程を示している。
【００１３】
【図４】図４は、効率的に充填されたプリント・ビン(print bin、印刷用の保管場所、貯蔵場所、収容場所）の一例を示している。
【００１４】
【図５】図５は、例示的な印刷待ち行列を示している。
【００１５】
【図６】図６は、図５に示す印刷待ち行列であってアイテム選択時に考慮すべきいくつかの事項を有するものを示している。
【００１６】
【図７】図７は、図５に示す印刷待ち行列であってコスト評価のためのいくつかのファクタを有するものを示している。
【００１７】
【図８】図８は、現在のコスト待ち行列と、予想されたコスト待ち行列とを示している。
【００１８】
【図９】図９は、非効率的に充填された第１の印刷用ビンと、効率的に充填された第２の印刷用ビンとを示している。
【発明を実施するための形態】
【００１９】
複数の不規則形状オブジェクトを、限定された空間内に配置するシステムおよび方法が説明されている。当該システムは、計算システムという形態をとり、その計算システムは、前記限定された空間につき（に合わせて）、複数の高密度充填レイアウトを予め計算する。各レイアウトは、複数の形状を含んでいる。当該システムは、複数のアイテムのセットを受け入れる(receive、受信する）とともに、前記セットから選択された複数のアイテムを１つのレイアウトに割り当てることにより、複数のコンフィギュレーションを決定し、前記割り当てられたアイテムは、前記レイアウト内の１つの形状に適合する。当該システムは、各コンフィギュレーションのスコアを計算するとともに、そのスコアに基づき、１つのコンフィギュレーションを選択する。一般に、上述の、予め計算する工程は、あるコンフィギュレーションに用いられるべき複数の形状のみに基づいて複数のレイアウトを生成する工程を含んでもよく、また、それら生成された複数のレイアウトは、複数のレイアウトのライブラリを占有してもよい。
【００２０】
本明細書において使用されるように、「レイアウト」という用語は、前記限定された空間内において当てはまる(fit、互いにフィットする）複数の形状の集合体(organization、組織、編成、系統）を意味することが可能である。「コンフィギュレーション(configuration、配置、配位、詰め込み形態）」という用語は、前記セットから選択された複数のアイテムによって占拠されている１つのレイアウトを意味することが可能である。「セット」という用語は、一般に、１つのレイアウトに関連して１つのコンフィギュレーションを生成するために互いに組み合わせられる１または複数のアイテムであって前記計算システムに提供されるものを意味することが可能である。前記セットは、適切であればいかなる形態でも取ることが可能であり、その形態は、待ち行列、線形待ち行列(linear queue)、優先度付き待ち行列(priority queue)、「バッグ(bag)」、およびその他同様なものを含んでいる。バッグというものは、複数のアイテムの集まり(collection）であって、同じ複数のアイテム（例えば、同じ複数のアイテムの、同一の複数のインスタンス(instances、実体））を伴うものである可能性がある。前記セットは、任意の適切な方法で配列されたものである可能性があり、いくつかの具体例においては、前記セットの配列（順序）は、前述のスコア計算において用いることが可能である。例えば、前記セットは、優先度付き待ち行列という形態を取ることが可能であり、その優先度付き待ち行列は、ツリー状のデータ構造を有し、そのデータ構造においては、ルート（root、根）・アイテム（根アイテム）が、最高スコアを有するアイテムであり、他のすべてのアイテム（すなわち、子）（子アイテム）は、いかなる順序で並んでもよいし、いかなるスコアを有してもよい。さらに、理解すべきことは、前記限定された空間は、２次元空間という形態を有しても３次元空間という形態を有してもよいということである。
【００２１】
いくつかの具体例においては、当該システムが、複数のレイアウトおよび／または複数のコンフィギュレーションにつき、人間による入力（input、入力情報、入力操作）を受け入れる(receive、受信する）ように構成することが可能である。すなわち、当該システムは、複数のレイアウトおよび複数のコンフィギュレーションであってオペレータが作成したものに関し、オペレータによる入力を受け入れる(receive、受信する）ように構成することが可能なのである。オペレータの経験および専門的知識を利用すれば、当該システムが、より良好な複数の初期のレイアウトから開始することを支援することが可能となり、さらに、当該システムが、最適化（optmization、最適化状態）に向かってより迅速に収束することを支援することが可能となる。
【００２２】
いくつかの具体例においては、当該システムが、グラフィック・ユーザ・インタフェースを有することが可能であり、そのグラフィック・ユーザ・インタフェースによれば、オペレータが、定義された(defined、決められた）複数の形状を用いるか、または複数の新規な形状を定義することにより、あるレイアウトを作成することが可能となる。それら複数の形状は、複数の不規則形状アイテムと複数の規則形状アイテム（例えば、長方形、正方形、立方体、球体およびその他同様なものの形状を有する）との双方を有することが可能である。いくつかの具体例においては、それらアイテムを、オペレータによって選択するかまたは作成するとともに、「ドラッグ・アンド・ドロップ操作」により、限定された空間内に移動させることが可能である。さらに、オペレータは、それらアイテムの向きを前記空間内において変更し、それにより、前記限定された空間内において複数のアイテムが目標密度で詰め込まれる状態を達成することが可能である。
【００２３】
当該システムは、さらに、前記限定された空間内においてはめ込まれるべき１つのアイテムの画像を取得するとともに、そのアイテムの２値画像を作成するように構成することが可能である。いくつかのケースにおいては、それらアイテムは、複数の不規則形状アイテムと複数の規則形状アイテムとの双方を有することが可能である。当該システムは、前記２値画像を用い、それにより、前記アイテムを前記限定された空間内において形態学的に(morphologically、モルフォロジー法を用いて）位置決めし、それにより、あるレイアウトを作成することが可能であり、そのレイアウトは、前記セットから選択されたあるアイテムと組み合わせ、それにより、あるコンフィギュレーションを作成することが可能である。一例においては、当該計算システムは、３次元印刷機と組み合わせて使用され、それにより、個別注文品（特注品）である複数のオブジェクト(custom objects)または個別注文品に準じた複数のオブジェクト(semi-custom objects)を大量に製作することが可能である。例えば、一例においては、当該システムが、個別注文品である複数のフィギュア(figurine、人形）であって、各々、固有の特徴(characteristics)および／または固有のサイズを有するものを印刷することが可能である。別のいくつかの例においては、それらフィギュアが、決められたサイズおよび／または部分的な個別注文が可能である（完全にではないが個別注文できる）形状を有することが可能である。
【００２４】
当該コンピュータ・システムは、モルフォロジー法(morphological technique、形態学的方法）を用いて、前記３次元印刷のためのプリント・ベッド内に前記複数のフィギュアを位置決めすることが可能である。そのモルフォロジー法は、前記複数のフィギュアの画像を取得する工程と、その画像を２値画像に変換する工程とを有することが可能である。すなわち、前記画像は、フィギュアの白黒シルエットに変換することが可能なのである。当該コンピュータ・システムは、前記複数のフィギュアおよび／または他の複数のオブジェクトを前記プリント・ベッド内において位置決めするために、複数のオブジェクトの複数の２値画像を用いる。他のいくつかの具体例においては、当該コンピュータ・システムを、オブジェクトの３次元画像であってポイント・クラウド（point cloud、点群）によって表現されるものを取得するように構成することが可能である。そのポイント・クラウドは、１つの平面に縮約する(collapsed)ことが可能であり、その平面的なポイント・クラウドの境界線が求められる。理解すべきことは、そのポイント・クラウドを、互いに異なる多数の方向(direction)または向き(orientation)において（沿って）縮約し、それにより、前記ポイント・クラウドを表現する互いに異なる複数の平面表現(planar representations、平面的に表現するもの）を取得することが可能であるということである。さらに別のいくつかの具体例においては、エッジ検出ソフトウェアを、前記複数のフィギュアの外側境界線を求めるために実装する（implement、実行する）ことが可能である。
【００２５】
いくつかの例においては、当該コンピュータ・システムが、印刷のために、複数のアイテムの待ち行列を受け入れる(receive、受信する）かまたは生成することが可能である。その待ち行列は、一般に、その待ち行列への加入時刻に基づき、時系列的に構成することが可能である。この待ち行列は、印刷のため、前記複数のアイテムについての複数のサムネール画像を含むことが可能であり、また、拡張可能かつ動的に変化するものとすることが可能である。すなわち、複数のアイテムは、前記待ち行列に加入することも、その待ち行列から除去することも可能である。当該コンピュータ・システムは、前記待ち行列内のいくつかのアイテムが印刷されると、それらアイテムを前記待ち行列から除去することが可能である。複数のアイテムは、それらアイテムが前記待ち行列内に配置されていた順序に少なくとも部分的に基づき、印刷のために選択することが可能である。さらに、複数のアイテムは、他の判断基準(criteria）に少なくとも部分的に基づき、印刷のために選択することが可能である。具体的には、それらアイテムは、前記待ち行列内のそれらアイテムが、特定のプリント・ボックス・コンフィギュレーション(print box configuration、プリント・ボックスについてのコンフィギュレーション)内において互いに当てはまる（fit、フィットする）仕方に基づき、印刷のために選択することが可能である。例えば、同じ待ち行列内の第２アイテムおよび第５アイテムが、第１アイテム、第３アイテムおよび第４アイテムよりうまく前記プリント・ベッドに当てはまる場合には、第２アイテムおよび第５アイテムを、最初に印刷するために、選択することが可能である。
【００２６】
当該コンピュータ・システムは、さらに、前記待ち行列のうち、印刷すべきアイテムがいずれであるかを、種々のプリント・ベッド・コンフィギュレーションに関して行われるスコア計算工程(scoring process)に基づいて決定するように構成することが可能である。理解されるかもしれないように、複数のプリント・ベッド・コンフィギュレーションは、印刷のための前記待ち行列内の複数のアイテムに基づき、作成することが可能である。それらコンフィギュレーションは、それぞれ、前記複数のプリント・ベッド内において、複数のレイアウトを前記複数のフィギュアで高密度に充填するために用いられるモルフォロジー法に従って構成する(arrange、配置する）ことが可能である。前記スコアの計算は、特定のプリント・ベッドを用いて複数のフィギュアを印刷するためのコストを考慮して行うことが可能である。例えば、前記スコアは、各プリント・ベッドを使用するためのコスト（例えば、プリント・ベッド内における前記複数のフィギュアの高さ寸法(a height of the figurines)に基づく（based on、依存する）、複数のベッドを印刷するためのコスト）と、同じ待ち行列内に残存することになる複数のフィギュアを印刷しないためのコストとを含むことが可能である。よって、複数のアイテムについての注文の待ち行列(order queue line)と複数のコンフィギュレーションとが与えられると、特定の１つのコンフィギュレーションであって、待ち行列の遅延時間(queue delays)と、印刷時間と、１つのコンフィギュレーション内のフィギュアの総数とに基づき、前記コスト関数を最小化するものが選択される。
【００２７】
当該コンピュータ・システムは、モルフォロジー法を用いて構成されている、複数のプリント・ベッドについての複数のレイアウトを保存する(store、記憶させる)ことが可能である。さらに、当該コンピュータ・システムは、頻繁に利用される複数のレイアウトかまたは他のレイアウトよりスコアが高い複数のレイアウトを維持する(maintain、記憶させる、保存する)ために、遺伝的方法を実行することが可能である。より良好である複数のレイアウトが促進され、また、より良好な詰め込み状態を有する複数のコンフィギュレーションが遺伝的に子孫に伝承される（pass along）。よって、前記待ち行列についてより良好に最適化されている複数のレイアウトのライブラリを維持する(maintain)ことが可能である。前記遺伝的アルゴリズムは、進化スタイルのルーチン（evolutionary-style routine)であり、そのルーチンにおいては、最良のいくつかのメンバが逐次法(iterative procedure)によって生き残り、それにより、最良のいくつかの全体的形質(trait、性質、特徴)がある回の逐次反復操作(iteration、ある世代) から次回の逐次反復操作（次の世代）に「遺伝的に伝承される(pass on)」。よって、高密度で詰め込まれた空間を、その後、将来のいくつかの逐次反復操作（将来の世代）のための改善のためのサブアセンブリとして用い、その結果、人間にようる介在を必要とすることなく、空間利用率（area utilization、空間稼動率）が時間と共に次第に上昇するようにすることが可能である。
【００２８】
さらに、いくつかの例においては、過去の待ち行列データを、いずれのレイアウトが将来、有用となるかを予測するために用いることが可能である。その過去のデータは、さらに、モルフォロジー法と共に用い、それにより、すでに準備されているレイアウトとは異なる別のレイアウトを準備することを支援するために用いることも可能である。いくつかのレイアウトは、印刷することを要求された複数のアイテムの相対的な頻度に対応するために、過去のデータに基づいて設計することが可能である。例えば、第１アイテムがこれまで第２アイテムより多く注文（要求）されてきたとすると、いくつかのレイアウトを、第２アイテムより多数の第１アイテムに対応する（第２アイテムの数より第１アイテムの数の方が大きくなる）ように設計することが可能である。一具体例は、７インチの高さを有する「ベル」と命名されたフィギュアが、３インチの高さを有する「ベル」と命名されたフィギュアに対する比率が５：１であるように注文されるが、複数のコンフィギュレーションのライブラリがそれらフィギュアを３：１の比率でしか収容しないというものであるが、新しいコンフィギュレーションは、前記５：１の比率を用いて生成され、よって、注文待ち行列を、より効果的でありかつよりタイムリーな方法で処理することを支援する可能性がある。理解すべきことは、２つのアイテム間の比率ではなく、過去のいくつかの評価基準（metric、メトリック、尺度、基準、判断基準）を、待ち行列をより効果的に処理するいくつかのコンフィギュレーションを生成することを支援するために用いることが可能であるということである。さらに、前記過去のデータは、より効果的ないくつかのレイアウトを提供するために、コンフィギュレーション・スコア（例えば、高さ寸法依存費用（height cost））と組み合わせて用いることが可能である。すなわち、前記いくつかの評価基準は、過去に用いられたレイアウトより高いスコアを達成するいくつかのレイアウトを設計するために用いることが可能なのである。
【００２９】
モルフォロジー法を用いることは、複数の不規則形状オブジェクトを、限定された空間内に高密度で詰め込むことを可能にするために有用である可能性がある。理解される可能性があるように、この方法は、１または複数の望ましい目的を達成するために、種々の分野において実行することが可能である。３Ｄ印刷においては、例えば、より高密度に詰め込まれたプリント・ベッドにより、印刷回数を減らし、より短時間でより多くのアイテムを印刷することが可能となる。さらに、このモルフォロジー法により、複数のアイテムが、限定された空間内に、その利用可能な空間を活用する方法で当てはめられ、また、前記遺伝的アルゴリズムにより、前記待ち行列内に出現する複数のアイテムの変動性から効率的であることが分かった複数のレイアウトが使いこなせられる。従来の方法は、人間に依存し、それにより、生成される複数のレイアウトおよび／または利用される複数のレイアウトの多様性を一般的に制限するプリント・ベッド内において複数のオブジェクトの向きを決めるという方法であった。
【００３０】
一例においては、当該システムおよび当該方法が、大量注文生産システム（mass customizable production system、注文生産品を大量に生産するシステム）の一部として実行することが可能である。この大量注文生産システムによれば、消費者または顧客が、特定のフィギュア（例えば、お姫様(princess)またはアクション・ヒーロー）を選択し、そのフィギュアのサイズおよび色を選択することにより、そのフィギュアを個別に注文生産することが可能であるようにしてもよい。さらに、そのフィギュアの顔および／または他の部位を、その消費者本人の特徴(feature、身体的特徴）を模倣するように個別に注文生産してもよい。すなわち、当該システムは、消費者の画像を撮影するように構成してもよいし、また、その画像を、その消費者の顔の３Ｄモデルが当該フィギュア上に再現されるように処理してもよいのである。
【００３１】
理解される可能性があるように、この種のシステムにおいては、印刷されるべきであるかまたは他の方法で製造されるべきアイテムの種類が多いであろうし、また、前記待ち行列は、ずっと変化していくものである可能性があるが、消費者の側としては、フィギュアをタイムリーに（timely、適切なタイミングで、適時に）納品して欲しいという大きな期待を持つ可能性もある。よって、複数のフィギュアを効率的に詰め込むという作業は、顧客からの注文が不規則であることが原因でより困難になるが、同時に、タイムリーな納品（適時納品）という消費者の期待を満たすことができる能力にも関係する。すなわち、一般に、フィギュアについての要望が存在することが予想されるが、複数のフィギュアをプリント・ベッド内により効率的に詰め込むことができれば、それだけ早く、消費者からのすべての注文につき、発注から納品までの作業が行われることになり、それにより、タイムリーな納品（適時納品）に関する顧客の期待が満たされるかまたはそれを超えた満足が実現されるのである。
【００３２】
理解すべきことは、本明細書において説明されているいくつかの方法およびいくつかのシステムは、本明細書においてはいくつかの例として説明されている特定の具体的ないくつかの用途において実行されることが予想されるが、本明細書の開示範囲は、それら特定の例に限定して解釈すべきではないということである。むしろ、それらの例は、その開示範囲を限定しないいくつかの例として提示されている。
【００３３】
数枚の添付図面を参照し、まず、図１を参照するに、製造システム１００が示されている。この製造システム１００は、中央コンピュータ１０２と、そのコンピュータ１０２に連結されたプリンタ１０４とを有してもよい。その中央コンピュータ１０２は、プロセッサ１０６と、ストレージ・デバイス１０８とを有してもよい。そのコンピュータ１０２は、限定された空間内に複数の不規則形状オブジェクト（例えば、正方形ではない形状または長方形ではない形状を有するオブジェクト）を当てはめるためのいくつかのレイアウトを、本明細書において説明されるいくつかの方法に従って作成するように構成してもよい。 ストレージ・デバイス１０８は、プロセッサ１０６と通信可能であり、また、このストレージ・デバイス１０８は、それらレイアウトを保存するように構成してもよい。
【００３４】
プリンタ１０４は、コンピュータ・システム１０２と通信可能であり、また、コンピュータ・システム１０２から受信した情報に従い、前述の複数の不規則形状アイテムを印刷するように構成される。プリンタ１０４は、３Ｄプリンタであってもよく、また、適切であればいなかる形態を採用してもよい。３Ｄ印刷は、時々、付加製造(additive manufacturing)に分類され、また、ある材料より成る層を次々に横置きに積み重ねることにより、３Ｄオブジェクトを造形する方法を包含する。一般的に、オブジェクトにつき、コンピュータ支援作図法（ＣＡＤ）によって作図された図面のようなデジタル画像は、３Ｄプリンタに読み込まれ、そのプリンタは、互いに連続した複数の断面部から当該オブジェクトを作り上げるために、液体、粉体またはシート材から成る層を次々に横置きに積み重ねる。それら層は、最終形状を形成するために合体させられる。本書面の目的の都合上、適切な３Ｄ印刷法であればいなかるものでも実行することが可能であり、そのような方法としては、例えば、選択的レーザ焼結法(selective laser sinitering、セレクティブ・レーザ・シンタリング)、ダイレクト・メタル・レーザ・シンタリング、溶解積層法（fused deposition modeling）、３次元光造形（ステレオ・リソグラフィ）、薄膜積層法（laminated objec manufacturing）、電子ビーム溶解法（electron beam melting）、石膏３Ｄプリント法（plaster based 3-D printing）、およびその他同様なものがある。
【００３５】
製造システム１００は、さらに、互いに分散した複数の計算デバイス１２０と、ネットワーク・アクセス型ストレージ１２２とを有している。それら互いに分散した複数の計算デバイス１２０は、それぞれ、インプット（input、入力情報、入力操作）を受信しまたは取り込んで、そのインプットをコンピュータ・システム１０２および／またはネットワーク・アクセス型ストレージ１２２に提供するように構成することが可能である。例えば、それら計算デバイス１２０は、それぞれ、デジタル・カメラ１２４を有し、そのデジタル・カメラ１２４は、画像を撮影し、その画像をコンピュータ・システム１０２および／またはネットワーク・アクセス型ストレージ１２２に提供するように構成される。さらに、それら計算デバイス１２０は、ユーザ・データおよび／または注文情報(order information、順序情報）のような情報を入力するために、他の複数の入力デバイス１２６、例えば、マウスおよびキーボードのようなものを有してもよい。
【００３６】
ネットワーク・アクセス型ストレージ１２２は、適切であればいなかる形態でも採用することが可能であり、そのような形態は、ローカル・ネットワーク上のサーバ・ストレージ、インタネットを介してアクセス可能なクラウド・ストレージ、または、それと同様なものを含むが、それらに限定されない。ネットワーク・アクセス型ストレージ１２２は、共通のリポジトリとして機能するものであってもよく、そのリポジトリは、当該システムのそれぞれの部品によりアクセス可能なデータベースである可能性がある。理解すべきことは、いくつかの例においては、ネットワーク・アクセス型ストレージ１２２が、コンピュータ・システム１０２または前述の、互いに分散した複数の計算デバイス１２０のうちの１つと一緒に同じ場所に配置される可能性があるということである。他のいくつかの例においては、システム１００が、前記ネットワーク・アクセス型ストレージを有していない可能性がある。
【００３７】
いくつかの例においては、別の計算デバイス（図示しない）が、計算能力（computing power、演算能力）を増加させるために、システム１００に追加される可能性がある。その別の計算デバイスは、一般に、複数の計算タスクをオフラインで実行するように構成することが可能である。さらに、オペレータ・コンソール（図示しない）を、追跡および／または介入を目的として情報へのアクセスを可能にするために、当該システム内に設けられる。
【００３８】
図２を参照するに、システム１００によって実行される複数の工程が逐次反復的なワークフロー(workflow、作業手順）２００として示されている。すなわち、それら工程は、逐次反復的な方法で全体的に（generally、概して）反復的に実行され、その逐次反復的な方法は、工程の改良(refine、リファイン)を行い、そして、生成される複数のレイアウトおよび使用される複数のコンフィギュレーションを継続的に改善することを支援するためのものである可能性がある。最初に、モルフォロジー・アルゴリズムを、限定された空間内における複数のオブジェクトの配置（placement、充填）を決定するために適用することが可能である（ブロック２０２）。すなわち、１または複数のレイアウトが生成される可能性があるのである。それらレイアウトの各々は、複数のホール（holes、穴、部屋、仕切り）を有しており、それらホール(hole)に、対応する複数のアイテムがフィットすることが可能である。前記限定された空間内に配置されるべき複数のアイテムが列挙されたリストを、１つの完全詰め込みレイアウト(complete packing layout、全アイテムの詰め込み状態を表すレイアウト）を生成するために用いることが可能である（ブロック２０４）。本明細書に用いられるように、「配置する（place）」という用語、「配置する（placing)」という用語、「配置される（placed）」という用語およびそれらと同様な用語は、前記限定された空間内における向きと位置決めとの双方を意味することが可能である。一例においては、互いに異なる多数のコンフィギュレーションを、前記限定された空間内に位置決めされるべき複数のアイテムを列挙する待ち行列(queue、キュー）と、その待ち行列の複数のアイテムを、前記複数のレイアウト内の複数のホール(hole)に関連付けること(correlating、関連付ける待ち行列)とに基づいて生成することが可能である。遺伝的アルゴリズムが、複数の詰め込みコンフィギュレーション（packing configurations、詰め込み状態を表す複数のコンフィギュレーション)のライブラリを生成するために実行される（ブロック２０６）。一般的に、その遺伝的アルゴリズムは、複数の特定のアイテムを詰め込むという用途にとって効率的であるいくつかのレイアウトを維持する（maintain、保存する、記憶する、残存させる）ことを支援するとともに、それほど効率的ではないいくつかのレイアウトを除外することを支援するために実行される。複数のサブセットであって、それぞれ、効率的な複数のレイアウトの一部であるものを、次第にますます効率的になるいくつかのレイアウトを発生させるために互いに組み合わせることも可能である。このことは、後に詳述されるスコア計算技術によって達成することが可能である。
【００３９】
１つのコンフィギュレーションが、それの効率の高さであって現在の待ち行列に対して相対的に決まるものに基づいて選択される（ブロック２０８）。すなわち、特定の１つのコンフィギュレーションが、予め決められた評価基準(criteria)を達成するかまたは最良の状態でその評価基準を満たすものとして選択されるのである。いくつかのケースにおいては、その１つのコンフィギュレーションが、待ち行列から選択された複数のアイテムを非線形的な方法で（in a non-linear manner）含むことが可能である。すなわち、その１つのコンフィギュレーションは、待ち行列内において複数のアイテムが並ぶ順序のみに基づいてそれらアイテムを含むわけではない可能性があるのである。一旦、その１つのコンフィギュレーションが選択されると、そのコンフィギュレーションに含まれる複数のアイテムは、待ち行列から除外することが可能である。
【００４０】
過去のデータは、その後、より的が絞られた（targeted）複数のレイアウトを生成するために用いることが可能である。特に、複数のアイテムが、全体的に、標準的な形状またはサイズを有するか、および／または、完全な個別注文に準じた個別注文が可能なものである(semi-customizable)場合には、過去のデータは、いくつかの傾向(trend)を決定するために評価される可能性があり、それら傾向は、将来の要求(demand、需要）を予測する(forecast)ために役に立つように用いることが可能である。その予測された要求は、今度は、将来の要求に効果的に合致する可能性がある複数のコンフィギュレーションを決定するために用いることが可能である。
【００４１】
ワークフロー２００は、逐次反復的な方法で反復的に実行され、その逐次反復的な方法は、モルフォロジー・アルゴリズムにより、待ち行列内の複数のアイテムに基づき、現在の要求に応じること（ブロック２０２）と、遺伝的アルゴリズムによって前記ライブラリを継続的に更新することにより、既に使用されたいくつかのレイアウトを改善する(refine)こと（ブロック２０６）との両方を支援する。その遺伝的アルゴリズムは、前記複数のコンフィギュレーションのライブラリが最適化状態に近づくように進化することを支援するために、いくつかの人工知能技術を実行することが可能である。一般に、１回目（初回）の逐次反復操作(iteration)においては、複数のレイアウトから成る１組のセット（１組のレイアウト・セット）が評価され、その評価は、前記複数のレイアウトが、前記待ち行列から取り出された複数のアイテムを効率的に印刷するための判断基準にうまく適合する程度に基づいて行われる。前記１組のレイアウト・セットは、変更(change)が可能であり、その変更は、前記複数のレイアウトの修正(modification、モディフィケーション）、すなわち、それらレイアウトのうち、より高いランクを有する複数の高位レイアウトのうちの複数の部分要素(portions)を取り出して、それら部分要素を、より低いランクを有する複数の低位レイアウトに付加すること、すなわち、前記モルフォロジー法を用いて複数の新しいレイアウトを追加することにより行われるもの、および／または前記複数のレイアウトの無作為の修正(modification）により、行われる。そのような場合には、新しい１組のレイアウト・セットが、各回の逐次反復操作によって生成され、その１組のレイアウト・セットは、待ち行列の要求に応じるように漸進的に(progressively、徐々に)改善される。
【００４２】
前記モルフォロジー・アルゴリズムは、一般的に、特定の詰め込み評価基準(metric)を達成することに関係していることが可能である。いくつかのケースにおいては、その評価基準は、高密度で占有される空間に関連することが可能である。すなわち、例えば、このモルフォロジー・アルゴリズムは、各回の印刷動作ごとに、待ち行列から取り出された多くの不規則形状オブジェクトを前記プリント・ベッドにフィットさせるように構成することが可能なのである。その待ち行列は、一般に、無作為に寄せ集められた複数の種々の不規則形状アイテムを有する可能性があるため、比較的高密度な詰め込みを達成する潜在的な複数のレイアウトは、種類が互いに異なる可能性がある。したがって、このモルフォロジー・アルゴリズムは、待ち行列によって記述されたいくつかの印刷要求を満たす多数のレイアウトを生成するように構成することが可能である。他のいくつかの具体例においては、複数の他の評価基準を採用することが可能であり、それら評価基準は、例えば、限定された空間内における最小アイテム数、印刷費用およびその他同様のものである。
【００４３】
図３を参照するに、モルフォロジカル当てはめ方法(morphological fitting process、モルフォロジー法を用いた当てはめ方法、形態学的当てはめ方法)３００が、フィギュア３０２（例えば、不規則形状オブジェクト）に関して図示されている。まず、当該フィギュアの画像３０４が、例えばデジタル・カメラによって撮影される。いくつかの例においては、フィギュア３０２のトップ−ダウン・ビュー（平面視）を撮影することが可能である。しかし、理解すべきことは、不規則形状についての複数の画像であって複数のアングルおよび／または互いに異なるアングルを有するものを撮影し、それら画像を、当該モルフォロジカル当てはめ方法において、プリント・ベッド内の３Ｄ空間を活用するために用いることが可能であるということである。この例においては、前記トップ−ダウン・ビュー（平面視）が、説明を簡単にするために図示されている。
【００４４】
別の具体例においては、複数の３Ｄポイント(3-D points、３次元空間上の複数の座標点）から成る１つのポイント・クラウドであって１つの３Ｄモデルを表現するものを、１枚の平面に平面化することが可能である。その３Ｄポイント・クラウドは、当該フィギュアを作成するために３Ｄプリンタによって用いられる複数のポイントと同じ複数のポイントから構成することが可能である。それら平面化された複数のポイントは、処理アルゴリズム(processing algorithm)により、境界線の形状を求めるために用いられる。種々の方法を、その境界線形状を求めるために実行することが可能である。例えば、Ｘ字型法(x-shaped method)すなわち(or、または）凸包法(convex hull method)を用いることが可能である。前記境界線形状は、その後、後続するステップにおいて用いられる。
【００４５】
前記画像が撮影されると、その画像の２値表現３０６が生成される。その２値表現３０６は、一般に、フィギュア３０２のシルエットとして出現し、よって、前記画像が撮影されたときのビュー（view、撮影方向）および／またはアングルについての（for、のもとでの）前記フィギュアの外側輪郭(outer perimeter)を定義することが可能である。前記２値表現は、その後、他のアイテム３１０と一緒に、限定された空間（例えば、プリント・ベッド）内に当てはめることが可能である。その当てはめ工程において、使用可能な空間のアウトライン（an outline、１本のアウトライン）３０８を、生成するかまたは他の方法で求めることが可能である。２値表現３０６は、アウトライン３０８の範囲内においていずれの場所にも当てはめることが可能である。理解される可能性があるように、待ち行列は、印刷されるべき複数のフィギュアであって互いに異なるかおよび／または各々固有であるものを有し、よって、与えられた１つのコンフィギュレーションについてのアウトライン３０８は固有である可能性がある。さらに理解すべきことは、特定のアイテムについての画像は、他のすべての類似のアイテムについてのテンプレートとして役に立つ可能性があるということである。例えば、印刷すべき２つのフィギュアが、同じ形状を有するが異なるサイズを有するとすると、唯一の画像を撮像し、その後、印刷すべきアイテムのそれぞれのサイズの差に応じて変倍（scale、拡大または縮小）することが可能である。
【００４６】
従来のシステマティック（systematic、漏れなく系統的に、しらみつぶしに、網羅的、型に則った、順序立てられた、全数探索的）配置方法は、一般に、複数の規則形状ポリゴンのみを対象としていた。しかし、本方法は、複数の規則形状ポリゴンも、不規則で複雑な形状を有する複数のアイテムも見込んでいる。さらに、本方法においては、モルフォロジー法が、与えられた容積内において利用可能空間を仕切り、そのモルフォロジー法は、当該オブジェクトを前記利用可能空間内に配置する。
【００４７】
図４は、プリント・ベッドのコンフィギュレーション４００であって、印刷すべき複数の不規則形状アイテム４０２から成る１組のセットで充填されているものを示している。理解される可能性があるように、モルフォロジー法は、高密度に詰め込まれたプリント・ベッドに備えることが可能である。理解すべきことは、モルフォロジー法は、種々の目的(objectives)および／またはパラメータ(parameters、条件）であって当該方法をガイドするものを用いて実行することが可能であるということである。例えば、いくつかの例においては、１または複数の不規則形状オブジェクトは、他のオブジェクトから分離されるための境界線または切替しきい値(threshold distance、エッジ間のしきい距離）を有することが可能である。さらに、いくつかの例においては、前記目的は、高密度という目的ではなく、不規則形状アイテムのしきい総数、または特定の１個のアイテムであって他のいくつかのアイテムを伴うもののしきい総数とすることが可能である。したがって、いくつかのオブジェクトは、フィギュア間の向きおよびフィギュア間のすきまというような配置上の制約条件に従いつつ、システマティックに（systematically、しらみつぶしに、網羅的に、順を追って、型に則って、全数探索的に）配置される。
【００４８】
前述のように、モルフォロジー法は、プリント・ベッドまたは限定された空間を充填するために、前記待ち行列からいくつかのアイテムを取り出すことが可能である。図５は、例示的な待ち行列５００を示している。その待ち行列５００内の複数のアイテム５０２は、一般的に、秩序(organization、組織）または順序を有することが可能である。一例においては、それらアイテム５０２は、待ち行列５００に加入したタイミングに基づく順序（order、並び順序）を有することが可能である。例えば、待ち行列５００内に最も長い時間滞留しているアイテムは、待ち行列５００の前端または上端に位置し、そのとき、他のすべてのアイテムは、その最初のアイテム（先頭アイテム）に後続して、時系列的に並ぶようにすることが可能である。待ち行列５００内の各アイテムは、自身に関連付けられるいくつかの特徴を有することが可能である。例えば、各アイテムは、自身の形状、自身のサイズ、自身の１または複数の色、およびその他同様なものを示すことが可能である。それら特徴のうちの一部は、プリント・ベッド上のレイアウトを決定する際に用いることが可能である。
【００４９】
図５においては、各アイテム５０２は、印刷されるべきそのアイテムの特定の形状に関連付けられる名称５０４を有する。具体的には、その名称は、特定のお姫様(princess)またはキャラクタに関連付けられる。さらに、サイズ情報５０６が提供される。具体的には、そのサイズは、１００で、取得可能なフィギュアのうちの最大サイズ、すなわち、フィギュアの最大サイズを示すように測定され、１００以外の数字は、特定のアイテムについての、最大サイズに対する比率を示す。
【００５０】
図６は、印刷するためにどのアイテムを待ち行列５００から選択するかを決定する場合に考慮すべき一般的ないくつかの考慮事項を示している。具体的には、あるアイテムが現在まで待ち状態にあり続けた時間の長さ（例えば、ある顧客が現在まで前記アイテムを待ち続けた時間の長さ）という事項である（ブロック６００）。あるアイテムが、より大きな注文（a larger order、アイテムの注文数が２個以上である注文）のうちの一部であるか否か、および、今回の注文が占有するかもしれないプリント・ビン(bin、印刷のための保管場所、貯蔵場所、収容場所）の数という事項である（ブロック６０２）。効率的に印刷されるかもしれない他のいくつかのアイテムが存在するか否かという事項である。例えば、小さいバッチ（例えば、最大サイズに対して４３％であるサイズを有するいくつかのアイテム）であって高速印刷処理が可能であるものが存在するかもしれないか否かという事項である（ブロック６０４）。
【００５１】
図７は、いくつかのファクタを示しており、それらファクタは、特定のプリント・ベッド・レイアウトについてのスコアを取得するために用いられる可能性がある前述の考慮事項に基づくものである。第１のファクタは、出荷遅延(shipment delay、納期遅延、納品遅れ）ペナルティ(penalty、違反金)ファクタである可能性がある（ブロック７００）。一般に、このファクタは、先入れ先出しの原則に基づいており、その原則から逸脱すると、ペナルティを科される。このファクタは、アイテムのタイムリーな納品（適時納品）に基づいて回避される可能性がある顧客の、満足度に対する懸念が存在する場合に、適切である可能性がある。例えば、いくつかの具体例においては、あるアイテムが待ち行列に加入された時点において、当該システムが一般的に、そのアイテムが印刷されるまでに必要な時間の長さを、現在の待ち行列と、その待ち行列内のいくつかのアイテムであって、今回新たに追加されたアイテムより前方に（in front of、過去に）存在するものとに基づき、表示することが可能であるようにしてもよい。そのようにされている場合には、顧客に、今回のアイテムが使用可能になる（印刷が終了する）時刻の推定値が提供される可能性がある。したがって、待ち行列の順序から逸脱したことを理由にペナルティを科すことは、待ち行列内に最大時間で滞留しているいくつかのアイテムが、同じ待ち行列に最近追加されたアイテムより優先的に扱われること、または、むしろ、最近追加されたアイテムが、古いアイテムが無視される(passed over、対象外とされる）とペナルティを科せられことになるという理由で、不利に取り扱われることが確保されることが支援される。図７に示すように、出荷遅延ペナルティは、より最近に追加されたアイテムが大きなペナルティを科されずに済むところ、特に、待ち行列内の最初のいくつかのアイテムについて大きいペナルティである可能性がある。
【００５２】
別のファクタは、ビン(bin、保管場所、貯蔵場所、収容場所）占有(bin-occupancy)ファクタである（ブロック７０２）。一般に、ビン占有は、直接的なファクタではないが、詰め込み(packing、詰め込み形態、詰め込みのための配置）が効率的であるほど高速に印刷される可能性があるように与えられた待ち行列を印刷するために必要であろう時間の長さが原因で、詰め込み(packing、詰め込み形態）についてのスコアを低下させる原因となるであろう。このビン占有ファクタは、特定の１つのレイアウトについての特定の１つのビンに当てはめられるアイテムの数に関連付けられる。特定の１つのレイアウトが、アイテム数についての特定のしきい値に到達することもそれを超えることもないと仮定すると、あまりに多くのアイテムが印刷されない状態に置かれるという理由で、その特定の１つのレイアウトは、ペナルティを科せられる。１つのビンに当てはめられるアイテムの数は、少なくとも具体的なアイテムの形状およびサイズに部分的に依拠する可能性がある。すなわち、そのアイテムが特に幅寸法が大きい形状を有すると仮定すると、そのアイテム自身により、同じビンに当てはめられるかもしれない他のアイテムの数を制限する可能性があるのである。さらに、そのアイテムが、最大サイズを有するというように、大きいと仮定すると、そのサイズは、同じビンに当てはめられるかもしれない他のアイテムの数を制限するであろう。一般に、より多数のアイテムを有するレイアウトは、前記ビン占有ファクタについてより高い評価を生じさせる。さらに別のファクタは、バッチ高さ寸法依存コスト(batch height cost)である（ブロック７０４）。そのバッチ高さ寸法依存コストは、特定のバッチを印刷するためのコストであって、そのバッチの高さ寸法に依存するものとして設定される可能性がある。一般に、印刷すべきアイテムの高さ寸法が大きいほど、印刷に必要な時間が長くなる。そのバッチ高さ寸法依存コストに代わるものは、いくつかのバッチについてのサイズまたは速度に関する特典（bonus、ボーナス、加点事項）である可能性があり、それらバッチは、より小形の複数のアイテムを有し、かつ、必要な印刷時間がより短い。
【００５３】
そのようにされている場合には、待ち行列内に残存しているアイテムに関連するペナルティまたはコスト（例えば、前述の出荷遅延ペナルティおよびビン占有ペナルティ）のみならず、印刷されるアイテムに関連するペナルティまたはコスト（例えば、前述のバッチ高さ寸法依存コスト）も存在する。前述のいくつかのファクタは、待ち行列内の複数のアイテムから成る特定の１つのセットについての特定のいくつかのビン・レイアウト（bin layout、ビン内の複数のアイテムのレイアウト）のスコアを決定するために、単独でまたは互いに組み合わせて用いることが可能である。一例においては、前述のいくつかのコストを、特定の１つのコンフィギュレーションのスコアを計算するために、合計することが可能である。理解すべきことは、１つのコンフィギュレーションは、待ち行列に含まれるアイテムがどのようなものであるかに基づき、異なる時刻に異なるスコアを有することが可能であるということである。
【００５４】
図８は、現在コストについての待ち行列と、複数の予想コスト(projected costs、推定コスト、実績コスト、予定コスト、見積もりコスト)についての待ち行列とを示している。現在コストは、上側の待ち行列８００内に示されるように、その待ち行列内のすべてのアイテムを含んでいる。下側の待ち行列８０２は、予想されたコストを、その待ち行列内に残存しているコストのみを含むものとして示している。具体的には、すでに印刷されたアイテムＡおよびＢは、印刷対象として現在選択されているアイテムであってグレイで示すものと同様に、予想コストの対象から除外される。待ち行列内に残存している複数のアイテムは、待っている順序で予想ランク(projected rank、予定順位）を付与される（例えば、１，２，３など）。その待ち行列内のランクは、予想される出荷日を計算するために用いられ、その出荷日は、出荷遅延ペナルティおよびビン占有ペナルティの双方に影響を及ぼす。
【００５５】
上述の方法を用いると、複数の不規則形状アイテムを効率的に詰め込むことを可能にするプリント・ベッド・レイアウト（print bed layout、プリント・ベッド上の複数のアイテムのレイアウト）を選択することが可能となる。その選択工程の一部として、複数のレイアウトが評価されるとともにスコアを計算される。それらレイアウトは、前記プリント・ベッドに複数のアイテムをよりうまく詰め込むために、モルフォロジー法を用いていずれのアイテムも存在しないことが可能である。図９は、比較のために、２つのプリント・ベッドを示している。第１のプリント・ベッドは、いずれのアイテムも存在しないいくつかのエリア９００を有しする。具体的には、そのプリント・ベッドの左側においては、エリア９０２が、２つのアイテムのみを有し、多くの空間が未使用状態に置かれている。これに対し、第２のプリント・ベッド９１０は、自身の空間を効率的に利用している。具体的には、そのプリント・ベッドの左側部９１２は、３つのアイテムによって充填されていて、未使用空間がほとんど存在しない。そのようにされている場合には、高密度充填(high density packing)が最適化の目的であるいくつかの例においては、前記第２のプリント・ベッドが一般的に好まれる。しかし、前記第１のプリント・ベッドを、前記第２のプリント・ベッドの複数のコンフィギュレーションのうちの一部から成る特定のいくつかのサブセットを有するように修正する(modify)ことが可能である。具体的には、前記第１のプリント・ベッドの左側部を前記第２のプリント・ベッドの左側部のレイアウトに置換し、それにより、前記第１のプリント・ベッドの空間をより十分に利用することが可能である。
【００５６】
いくつかの例においては、オブジェクトの３次元形状を、限定された空間内に配置するために考慮することが可能である。すなわち、限定された空間内に配置されるべきアイテムの単一の次元（例えば、上方から見たシルエット）に依存するのではなく、当該オブジェクトのすべての次元を考慮することが可能である。例えば、当該オブジェクトの、互いに異なる複数の画像を、異なるアングルおよび異なる視点(viewpoint)で、取得することが可能である。したがって、当該アイテムおよび他のアイテムの全体形状を、限定された空間内に配置するために考慮することが可能である。特に、いくつかの例においては、いくつかのフィギュアが概して円錐またはピラミッドである形状を有し、それらフィギュアの頭部は、前記円錐またはピラミッドの、丸みを帯びた先端部(blunted point)であることが可能である。そのようにされている場合には、いくつかのフィギュアを他のフィギュアに対して逆さま姿勢で前記空間内に挿入し、それにより、前記空間をより高密度に充填することが可能である。
【００５７】
一般に、本明細書において説明されているいくつかの技術は、最適化のためのいくつかの最適化パラメータを設定する工程を含み、それら最適化パラメータは、初期値を有するように設定され、その後、逐次法(iterative process)により、もっとよい値となるように探索される(sought after)。しかし、理解すべきことは、最適化状態への収束を制限する可能性がある物理的な限界および／または装置上の限界(equipment limitations)が存在するかもしれないということである。例えば、オブジェクトの回転自由度が制限される可能性があり、なぜなら、そのオブジェクトが特定のポイントを超えて回転させられると、品質低下のような特定のペナルティが発生する可能性があるからである。他の限界は、破ることができないハード限界（hard limitations、絶対的な制限）であるかもしれない。
【００５８】
本明細書において説明されているシステムおよび方法は、システム上の制約(system constraints、システム制約条件）に自動的に従う一方で、限定された空間に複数のオブジェクトを配置する。このことにより、印刷用の配置を定義する（define、決定する）ために必要な時間が短縮される。さらに、当該システムは、人間がオペレータである従来のシステムでは看過されてしまう利用可能空間を見つけようとする。コンフィギュレーションの生成を慎重に行うことにより、本明細書において説明されている技術によれば、人間であるオペレータが到達するものを超えるコンフィギュレーションを生成することが可能である。具体的には、うまく定義されたコスト関数を遺伝的アルゴリズムと共に用いることにより、当該コンピュータは、どのサブアセンブリが、良好な充填を実現するコンフィギュレーションにつながるのかを追跡する（track、探索する）ことが可能である。そのコンピュータは、さらに、人間であるオペレータが扱える数の潜在的組合せより多数の潜在的組合せを短時間で試験できる能力をも有し、それにより、最適解に近い解を見つける可能性が増加する。ここで説明されている設計態様の別の利点は、コンピュータが、複雑なコスト関数を、与えられた待ち行列のもとで、数千もの数の充填用コンフィギュレーションの全部について評価することが可能であるということであり、これに対し、人間であるオペレータでは、より少数の判断基準を少数のコンフィギュレーションについて考慮することができるにすぎないかもしれない。さらに、限定された空間内に複数のアイテムを配置する工程にモルフォロジー法を用いると、規則形状および複雑形状を有する複数のオブジェクトを前記空間内に配置して詰め込むことが可能となる。これにより、無駄にされる空間の大きさが減少し、なぜなら、複数のオブジェクトが、それぞれの個別の形状(profile)に基づいて配置されるのであって、正規配置(regular shape placement、オブジェクトが規則形状である場合のオブジェクトの配置）に従う境界ボックス（bounding box)に基づいて配置されるわけではないからである。
【００５９】
以上、具体的ないくつかの例を説明してきたが、当業者であれば、それら例の主旨および範囲を逸脱することなく、形式および細部においていくつかの変更を行うことが可能であることを認識するであろう。したがって、本明細書において説明されている具体的ないくつかの例は、いくつかの例として理解すべきであり、それら例の範囲を限定するものとして理解すべきではない。例えば、いくつかの例は、力まかせ探索法（brute force methodology、総当り探索法、全数探索法）を用い、それにより、可能なすべての種々のレイアウトを決定し、その後、待ち行列内における複数のアイテムについて最適な選択肢を選択することが可能である。別のいくつかの例においては、フューチャー・ターゲッティング（future targeting、未来目標設定法）を、未来の要求に基づいて詰め込み状態を最適化することを支援するために実行することが可能である。さらに、いくつかの例においては、互いに異なる複数のアルゴリズムを、互いに同じであるかまたは似ている複数の結果を得るために実行することが可能である。例えば、確率論的アルゴリズム(stochastic algorithm)、擬似焼きなまし法（simulated annealing、アニーリング法）、モンテ・カルロ法（Monte Carlo)、分枝限定法(branch and bound、分岐限定法）、木探索法(tree search）および他の同様なアルゴリズムを、上述のいくつかのアルゴリズムを置き換えるかまたはそれらに加えて、実行することが可能である。
【図１】
0005711780.tif 000002
【図２】
0005711780.tif 000003
【図３】
0005711780.tif 000004
【図４】
0005711780.tif 000005
【図５】
0005711780.tif 000006
【図６】
0005711780.tif 000007
【図７】
0005711780.tif 000008
【図８】
0005711780.tif 000009
【図９】
0005711780.tif 000010