(57)【要約】【課題】様々な形の複数の部材を様々な形の母材に配置することを目的とする。【解決手段】母材情報入力手段で入力された母材情報に含まれる物理属性情報と、部材情報入力手段で入力された各部材情報に含まれる物理属性情報と、に基づいて設定されている物理法則に則って容器オブジェクト内に複数の部材オブジェクトを入れたときの複数の部材オブジェクトの動作のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置上に表示するシミュレーション手段と、入力装置を介したユーザの選択操作に基づいて、シミュレーション手段でのシミュレーションの結果の一つを、母材に複数の部材を配置する板取の解として選択するユーザ選択手段と、を有することによって課題を解決する。【選択図】図２
2011128897.tif 000002
【特許請求の範囲】
【請求項１】
母材に複数の部材を配置する板取装置であって、
入力装置を介したユーザの入力操作に基づいて、母材の形状情報と大きさ情報と物理属性情報とを含む母材情報を入力する母材情報入力手段と、
入力装置を介したユーザの入力操作に基づいて、部材の形状情報と大きさ情報と物理属性情報とを含む部材情報を複数入力する部材情報入力手段と、
前記母材情報入力手段で入力された母材情報に含まれる母材の形状情報と、大きさ情報と、に基づいて母材の形状と大きさとを表した容器オブジェクトを作成し、前記部材情報入力手段で入力された各部材情報に含まれる部材の形状情報と、部材の大きさ情報と、に基づいて各部材の形状と大きさとを表した複数の部材オブジェクトを作成し、前記母材情報入力手段で入力された母材情報に含まれる物理属性情報と、前記部材情報入力手段で入力された各部材情報に含まれる物理属性情報と、に基づいて設定されている物理法則に則って前記容器オブジェクト内に前記複数の部材オブジェクトを入れたときの前記複数の部材オブジェクトの動作のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置上に表示するシミュレーション手段と、
入力装置を介したユーザの選択操作に基づいて、前記シミュレーション手段でのシミュレーションの結果の一つを、母材に複数の部材を配置する板取の解として選択するユーザ選択手段と、
を有する板取装置。
【請求項２】
前記母材情報入力手段で入力された母材情報に含まれる物理属性情報とは、母材の質量と反発係数と摩擦係数とであり、
前記部材情報入力手段で入力された各部材情報に含まれる物理属性情報とは、部材の質量と反発係数と摩擦係数とであり、
前記シミュレーション手段は、前記母材情報に含まれる物理属性情報と、前記各部材情報に含まれる物理属性情報と、に基づいて設定されている物理法則に則って前記容器オブジェクト内に前記複数の部材オブジェクトを入れたときの前記複数の部材オブジェクトの重力による自由落下、衝突、反発、回転のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して前記表示装置上に表示する請求項１記載の板取装置。
【請求項３】
入力装置を介したユーザの入力操作に基づいて、前記シミュレーション手段でのシミュレーションの実行中に、前記容器オブジェクトに対して振動を加える振動手段を更に有し、
前記シミュレーション手段は、前記振動手段で加えられた振動と、前記母材情報入力手段で入力された母材情報に含まれる物理属性情報と、前記部材情報入力手段で入力された各部材情報に含まれる物理属性情報と、に基づいて設定されている物理法則に則って容器オブジェクト内の複数の部材オブジェクトの動作のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して前記表示装置上に表示する請求項１又は２記載の板取装置。
【請求項４】
前記シミュレーション手段での単位時間ごとのシミュレーションの結果を基に、前記容器オブジェクト内の空白率を求め、前記空白率に基づいて、前記シミュレーション手段でのシミュレーションの結果の一つを、母材に複数の部材を配置する板取の解として選択する自動選択手段と、
前記ユーザ選択手段で板取の解として選択されたシミュレーションの結果と、前記自動選択手段で板取の解として選択されたシミュレーションの結果と、をユーザが選択可能に前記表示装置に表示し、入力装置を介したユーザの選択操作に基づいて、選択されたシミュレーションの結果を板取の解と決定する決定手段と、
を更に有する請求項１乃至３何れか１項記載の板取装置。
【請求項５】
前記シミュレーション手段での単位時間ごとのシミュレーションの結果を基に、前記容器オブジェクトの底辺から前記容器オブジェクト内の一番上の部材オブジェクトまでの高さを求め、前記高さに基づいて、前記シミュレーション手段でのシミュレーションの結果の一つを、母材に複数の部材を配置する板取の解として選択する自動選択手段と、
前記ユーザ選択手段で板取の解として選択されたシミュレーションの結果と、前記自動選択手段で板取の解として選択されたシミュレーションの結果と、をユーザが選択可能に前記表示装置に表示し、入力装置を介したユーザの選択操作に基づいて、選択されたシミュレーションの結果を板取の解と決定する決定手段と、
を更に有する請求項１乃至３何れか１項記載の板取装置。
【請求項６】
母材に複数の部材を配置する板取装置であって、
入力装置を介したユーザの入力操作に基づいて、母材の形状情報と大きさ情報と物理属性情報とを含む母材情報を入力する母材情報入力手段と、
入力装置を介したユーザの入力操作に基づいて、部材の形状情報と大きさ情報と物理属性情報とを含む部材情報を複数入力する部材情報入力手段と、
前記母材情報入力手段で入力された母材情報に含まれる母材の形状情報と、大きさ情報と、に基づいて母材の形状と大きさとを表した容器オブジェクトを作成し、前記部材情報入力手段で入力された各部材情報に含まれる部材の形状情報と、部材の大きさ情報と、に基づいて各部材の形状と大きさとを表した複数の部材オブジェクトを作成し、前記母材情報入力手段で入力された母材情報に含まれる物理属性情報と、前記部材情報入力手段で入力された各部材情報に含まれる物理属性情報と、に基づいて設定されている物理法則に則って前記容器オブジェクト内に前記複数の部材オブジェクトを入れたときの前記複数の部材オブジェクトの動作のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置上に表示するシミュレーション手段と、
前記シミュレーション手段での単位時間ごとのシミュレーションの結果を基に、前記容器オブジェクト内の空白率を求め、前記空白率に基づいて、前記シミュレーション手段でのシミュレーションの結果の一つを、母材に複数の部材を配置する板取の解として選択する選択手段と、
を有する板取装置。
【請求項７】
母材に複数の部材を配置する板取装置であって、
入力装置を介したユーザの入力操作に基づいて、母材の形状情報と大きさ情報と物理属性情報とを含む母材情報を入力する母材情報入力手段と、
入力装置を介したユーザの入力操作に基づいて、部材の形状情報と大きさ情報と物理属性情報とを含む部材情報を複数入力する部材情報入力手段と、
前記母材情報入力手段で入力された母材情報に含まれる母材の形状情報と、大きさ情報と、に基づいて母材の形状と大きさとを表した容器オブジェクトを作成し、前記部材情報入力手段で入力された各部材情報に含まれる部材の形状情報と、部材の大きさ情報と、に基づいて各部材の形状と大きさとを表した複数の部材オブジェクトを作成し、前記母材情報入力手段で入力された母材情報に含まれる物理属性情報と、前記部材情報入力手段で入力された各部材情報に含まれる物理属性情報と、に基づいて設定されている物理法則に則って前記容器オブジェクト内に前記複数の部材オブジェクトを入れたときの前記複数の部材オブジェクトの動作のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置上に表示するシミュレーション手段と、
前記シミュレーション手段での単位時間ごとのシミュレーションの結果を基に、前記容器オブジェクト内の複数の部材オブジェクトの高さを求め、前記高さに基づいて、前記シミュレーション手段でのシミュレーションの結果の一つを、母材に複数の部材を配置する板取の解として選択する選択手段と、
を有する板取装置。
【請求項８】
母材に複数の部材を配置する板取装置が実行する板取方法であって、
入力装置を介したユーザの入力操作に基づいて、母材の形状情報と大きさ情報と物理属性情報とを含む母材情報を入力する母材情報入力ステップと、
入力装置を介したユーザの入力操作に基づいて、部材の形状情報と大きさ情報と物理属性情報とを含む部材情報を複数入力する部材情報入力ステップと、
前記母材情報入力ステップで入力された母材情報に含まれる母材の形状情報と、大きさ情報と、に基づいて母材の形状と大きさとを表した容器オブジェクトを作成し、前記部材情報入力ステップで入力された各部材情報に含まれる部材の形状情報と、部材の大きさ情報と、に基づいて各部材の形状と大きさとを表した複数の部材オブジェクトを作成し、前記母材情報入力ステップで入力された母材情報に含まれる物理属性情報と、前記部材情報入力ステップで入力された各部材情報に含まれる物理属性情報と、に基づいて設定されている物理法則に則って前記容器オブジェクト内に前記複数の部材オブジェクトを入れたときの前記複数の部材オブジェクトの動作のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置上に表示するシミュレーションステップと、
入力装置を介したユーザの選択操作に基づいて、前記シミュレーションステップでのシミュレーションの結果の一つを、母材に複数の部材を配置する板取の解として選択するユーザ選択ステップと、
を有する板取方法。
【請求項９】
母材に複数の部材を配置する板取装置が実行する板取方法であって、
入力装置を介したユーザの入力操作に基づいて、母材の形状情報と大きさ情報と物理属性情報とを含む母材情報を入力する母材情報入力ステップと、
入力装置を介したユーザの入力操作に基づいて、部材の形状情報と大きさ情報と物理属性情報とを含む部材情報を複数入力する部材情報入力ステップと、
前記母材情報入力ステップで入力された母材情報に含まれる母材の形状情報と、大きさ情報と、に基づいて母材の形状と大きさとを表した容器オブジェクトを作成し、前記部材情報入力ステップで入力された各部材情報に含まれる部材の形状情報と、部材の大きさ情報と、に基づいて各部材の形状と大きさとを表した複数の部材オブジェクトを作成し、前記母材情報入力ステップで入力された母材情報に含まれる物理属性情報と、前記部材情報入力ステップで入力された各部材情報に含まれる物理属性情報と、に基づいて設定されている物理法則に則って前記容器オブジェクト内に前記複数の部材オブジェクトを入れたときの前記複数の部材オブジェクトの動作のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置上に表示するシミュレーションステップと、
前記シミュレーションステップでの単位時間ごとのシミュレーションの結果を基に、前記容器オブジェクト内の空白率を求め、前記空白率に基づいて、前記シミュレーションステップでのシミュレーションの結果の一つを、母材に複数の部材を配置する板取の解として選択する選択ステップと、
を有する板取方法。
【請求項１０】
母材に複数の部材を配置する板取装置が実行する板取方法であって、
入力装置を介したユーザの入力操作に基づいて、母材の形状情報と大きさ情報と物理属性情報とを含む母材情報を入力する母材情報入力ステップと、
入力装置を介したユーザの入力操作に基づいて、部材の形状情報と大きさ情報と物理属性情報とを含む部材情報を複数入力する部材情報入力ステップと、
前記母材情報入力ステップで入力された母材情報に含まれる母材の形状情報と、大きさ情報と、に基づいて母材の形状と大きさとを表した容器オブジェクトを作成し、前記部材情報入力ステップで入力された各部材情報に含まれる部材の形状情報と、部材の大きさ情報と、に基づいて各部材の形状と大きさとを表した複数の部材オブジェクトを作成し、前記母材情報入力ステップで入力された母材情報に含まれる物理属性情報と、前記部材情報入力ステップで入力された各部材情報に含まれる物理属性情報と、に基づいて設定されている物理法則に則って前記容器オブジェクト内に前記複数の部材オブジェクトを入れたときの前記複数の部材オブジェクトの動作のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置上に表示するシミュレーションステップと、
前記シミュレーションステップでの単位時間ごとのシミュレーションの結果を基に、前記容器オブジェクト内の複数の部材オブジェクトの高さを求め、前記高さに基づいて、前記シミュレーションステップでのシミュレーションの結果の一つを、母材に複数の部材を配置する板取の解として選択する選択ステップと、
を有する板取方法。
【請求項１１】
コンピュータを、
入力装置を介したユーザの入力操作に基づいて、母材の形状情報と大きさ情報と物理属性情報とを含む母材情報を入力する母材情報入力手段と、
入力装置を介したユーザの入力操作に基づいて、部材の形状情報と大きさ情報と物理属性情報とを含む部材情報を複数入力する部材情報入力手段と、
前記母材情報入力手段で入力された母材情報に含まれる母材の形状情報と、大きさ情報と、に基づいて母材の形状と大きさとを表した容器オブジェクトを作成し、前記部材情報入力手段で入力された各部材情報に含まれる部材の形状情報と、部材の大きさ情報と、に基づいて各部材の形状と大きさとを表した複数の部材オブジェクトを作成し、前記母材情報入力手段で入力された母材情報に含まれる物理属性情報と、前記部材情報入力手段で入力された各部材情報に含まれる物理属性情報と、に基づいて設定されている物理法則に則って前記容器オブジェクト内に前記複数の部材オブジェクトを入れたときの前記複数の部材オブジェクトの動作のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置上に表示するシミュレーション手段と、
入力装置を介したユーザの選択操作に基づいて、前記シミュレーション手段でのシミュレーションの結果の一つを、母材に複数の部材を配置する板取の解として選択するユーザ選択手段と、
して機能させるプログラム。
【請求項１２】
コンピュータを、
入力装置を介したユーザの入力操作に基づいて、母材の形状情報と大きさ情報と物理属性情報とを含む母材情報を入力する母材情報入力手段と、
入力装置を介したユーザの入力操作に基づいて、部材の形状情報と大きさ情報と物理属性情報とを含む部材情報を複数入力する部材情報入力手段と、
前記母材情報入力手段で入力された母材情報に含まれる母材の形状情報と、大きさ情報と、に基づいて母材の形状と大きさとを表した容器オブジェクトを作成し、前記部材情報入力手段で入力された各部材情報に含まれる部材の形状情報と、部材の大きさ情報と、に基づいて各部材の形状と大きさとを表した複数の部材オブジェクトを作成し、前記母材情報入力手段で入力された母材情報に含まれる物理属性情報と、前記部材情報入力手段で入力された各部材情報に含まれる物理属性情報と、に基づいて設定されている物理法則に則って前記容器オブジェクト内に前記複数の部材オブジェクトを入れたときの前記複数の部材オブジェクトの動作のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置上に表示するシミュレーション手段と、
前記シミュレーション手段での単位時間ごとのシミュレーションの結果を基に、前記容器オブジェクト内の空白率を求め、前記空白率に基づいて、前記シミュレーション手段でのシミュレーションの結果の一つを、母材に複数の部材を配置する板取の解として選択する選択手段と、
して機能させるプログラム。
【請求項１３】
コンピュータを、
入力装置を介したユーザの入力操作に基づいて、母材の形状情報と大きさ情報と物理属性情報とを含む母材情報を入力する母材情報入力手段と、
入力装置を介したユーザの入力操作に基づいて、部材の形状情報と大きさ情報と物理属性情報とを含む部材情報を複数入力する部材情報入力手段と、
前記母材情報入力手段で入力された母材情報に含まれる母材の形状情報と、大きさ情報と、に基づいて母材の形状と大きさとを表した容器オブジェクトを作成し、前記部材情報入力手段で入力された各部材情報に含まれる部材の形状情報と、部材の大きさ情報と、に基づいて各部材の形状と大きさとを表した複数の部材オブジェクトを作成し、前記母材情報入力手段で入力された母材情報に含まれる物理属性情報と、前記部材情報入力手段で入力された各部材情報に含まれる物理属性情報と、に基づいて設定されている物理法則に則って前記容器オブジェクト内に前記複数の部材オブジェクトを入れたときの前記複数の部材オブジェクトの動作のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置上に表示するシミュレーション手段と、
前記シミュレーション手段での単位時間ごとのシミュレーションの結果を基に、前記容器オブジェクト内の複数の部材オブジェクトの高さを求め、前記高さに基づいて、前記シミュレーション手段でのシミュレーションの結果の一つを、母材に複数の部材を配置する板取の解として選択する選択手段と、
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、板取装置、板取方法及びプログラムに関する。
【背景技術】
【０００２】
従来、母材から注文に応じた複数の部材を切り出す場合に、部材同士の重複がないように、複数の部材を母材に効率よく配置する板取が行われている。
【０００３】
特許文献１では、部材から注文データに応じた注文製品の切り出しを自動的に行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−８０４１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら上述した技術は、長方形の母材から長方形の部材を切り出す技術に関するものである。したがって、上述した技術では、様々な形の複数の部材を様々な形の母材に配置することはできない問題があった。
本発明はこのような問題点に鑑みなされたもので、様々な形の複数の部材を様々な形の母材に配置することを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明は、母材に複数の部材を配置する板取装置であって、入力装置を介したユーザの入力操作に基づいて、母材の形状情報と大きさ情報と物理属性情報とを含む母材情報を入力する母材情報入力手段と、入力装置を介したユーザの入力操作に基づいて、部材の形状情報と大きさ情報と物理属性情報とを含む部材情報を複数入力する部材情報入力手段と、前記母材情報入力手段で入力された母材情報に含まれる母材の形状情報と、大きさ情報と、に基づいて母材の形状と大きさとを表した容器オブジェクトを作成し、前記部材情報入力手段で入力された各部材情報に含まれる部材の形状情報と、部材の大きさ情報と、に基づいて各部材の形状と大きさとを表した複数の部材オブジェクトを作成し、前記母材情報入力手段で入力された母材情報に含まれる物理属性情報と、前記部材情報入力手段で入力された各部材情報に含まれる物理属性情報と、に基づいて設定されている物理法則に則って前記容器オブジェクト内に前記複数の部材オブジェクトを入れたときの前記複数の部材オブジェクトの動作のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置上に表示するシミュレーション手段と、入力装置を介したユーザの選択操作に基づいて、前記シミュレーション手段でのシミュレーションの結果の一つを、母材に複数の部材を配置する板取の解として選択するユーザ選択手段と、を有する。
ここで、ユーザ選択手段は、例えば、後述するユーザ選択部２４等に対応する。
【０００７】
また、本発明は、母材に複数の部材を配置する板取装置であって、入力装置を介したユーザの入力操作に基づいて、母材の形状情報と大きさ情報と物理属性情報とを含む母材情報を入力する母材情報入力手段と、入力装置を介したユーザの入力操作に基づいて、部材の形状情報と大きさ情報と物理属性情報とを含む部材情報を複数入力する部材情報入力手段と、前記母材情報入力手段で入力された母材情報に含まれる母材の形状情報と、大きさ情報と、に基づいて母材の形状と大きさとを表した容器オブジェクトを作成し、前記部材情報入力手段で入力された各部材情報に含まれる部材の形状情報と、部材の大きさ情報と、に基づいて各部材の形状と大きさとを表した複数の部材オブジェクトを作成し、前記母材情報入力手段で入力された母材情報に含まれる物理属性情報と、前記部材情報入力手段で入力された各部材情報に含まれる物理属性情報と、に基づいて設定されている物理法則に則って前記容器オブジェクト内に前記複数の部材オブジェクトを入れたときの前記複数の部材オブジェクトの動作のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置上に表示するシミュレーション手段と、前記シミュレーション手段での単位時間ごとのシミュレーションの結果を基に、前記容器オブジェクト内の空白率を求め、前記空白率に基づいて、前記シミュレーション手段でのシミュレーションの結果の一つを、母材に複数の部材を配置する板取の解として選択する選択手段と、を有する。
ここで、選択手段は、例えば、後述する第一の自動選択の方法を適用した自動選択部２５等に対応する。
【０００８】
また、本発明は、母材に複数の部材を配置する板取装置であって、入力装置を介したユーザの入力操作に基づいて、母材の形状情報と大きさ情報と物理属性情報とを含む母材情報を入力する母材情報入力手段と、入力装置を介したユーザの入力操作に基づいて、部材の形状情報と大きさ情報と物理属性情報とを含む部材情報を複数入力する部材情報入力手段と、前記母材情報入力手段で入力された母材情報に含まれる母材の形状情報と、大きさ情報と、に基づいて母材の形状と大きさとを表した容器オブジェクトを作成し、前記部材情報入力手段で入力された各部材情報に含まれる部材の形状情報と、部材の大きさ情報と、に基づいて各部材の形状と大きさとを表した複数の部材オブジェクトを作成し、前記母材情報入力手段で入力された母材情報に含まれる物理属性情報と、前記部材情報入力手段で入力された各部材情報に含まれる物理属性情報と、に基づいて設定されている物理法則に則って前記容器オブジェクト内に前記複数の部材オブジェクトを入れたときの前記複数の部材オブジェクトの動作のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置上に表示するシミュレーション手段と、前記シミュレーション手段での単位時間ごとのシミュレーションの結果を基に、前記容器オブジェクト内の複数の部材オブジェクトの高さを求め、前記高さに基づいて、前記シミュレーション手段でのシミュレーションの結果の一つを、母材に複数の部材を配置する板取の解として選択する選択手段と、を有する。
ここで、選択手段は、例えば、後述する第二の自動選択の方法を適用した自動選択部２５等に対応する。
【発明の効果】
【０００９】
本発明によれば、様々な形の複数の部材を様々な形の母材に配置することができる。
【図面の簡単な説明】
【００１０】
【図１】板取装置（コンピュータ）のハードウェア構成の一例を示す図である。
【図２】本実施形態の板取の概念を説明するための図である。
【図３】実施形態１の板取装置のソフトウェア構成の一例を示す図である。
【図４】実施形態１の板取処理の一例を示すフローチャートである。
【図５】十字型の母材における板取の処理の一例を説明するための図である。
【図６】実施形態２の板取装置のソフトウェア構成の一例を示す図である。
【図７】実施形態２の板取処理の一例を示すフローチャートである。
【図８】実施形態３の板取装置のソフトウェア構成の一例を示す図である。
【図９】実施形態３の板取処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。
【００１２】
＜実施形態１＞
図１は、板取装置（コンピュータ）のハードウェア構成の一例を示す図である。図１に示されるように、板取装置１は、ハードウェア構成として、ＣＰＵ１１と、入力装置１２と、記憶装置１３と、表示装置１４と、を有する。
ＣＰＵ１１が、ＲＡＭ、ＲＯＭ、ＨＤ等で構成される記憶装置１３に記憶されているプログラムに基づき処理を実行することによって、後述する板取装置１のソフトウェア構成及び後述するフローチャートの処理等が実現される。入力装置１２は、例えばマウスやキーボード等であり、ユーザ等の操作に応じて、板取装置１に情報を入力する。表示装置１４は、例えばディスプレイ等であり、板取装置１における処理の結果等を表示する。記憶装置１３は、プログラムやＣＰＵ１１の処理に必要なデータ等を記憶する。
なお、本実施形態では、板取装置１をコンピュータで実現した例を用いて説明を行うが、板取装置１を例えばＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）等の携帯情報端末装置で実現してもよい。例えば、板取装置１を携帯情報端末装置で実現した場合、入力装置１２と表示装置１４とは一体となり、例えばタッチパネル等となる。
【００１３】
図２を用いて、本実施形態における板取の概念を説明する。図２は、本実施形態の板取の概念を説明するための図である。板取装置１は、入力された母材情報に基づき母材の形状及び大きさに合わせた容器オブジェクトを作成する（図２（ａ））。また、板取装置１は、入力された複数の部材情報に基づき部材の形状及び大きさに合わせた複数の部材オブジェクトを作成し、容器オブジェクトに入れる（図２（ｂ））。そして、板取装置１は、重力を発生させ、複数の部材オブジェクトの動作をシミュレーションする（図２（ｃ））。ここで、「重力を発生させ」とは、シミュレーションにおいて、「重力を有効とする（重力の大きさを０以上にする）」ということである。板取装置１は、重力を発生させることによって、部材を重力に基づいて落下するようにシミュレーションすることができる。また、板取装置１は、振動及び／又は衝撃を発生させ、複数の部材オブジェクトの動作をシミュレーションする。ここで、「振動を発生させ」とは、シミュレーションにおいて、例えばユーザ等によって指定された位置を中心としてユーザ等によって指定された大きさの振動（振動波）を発生させるということである。また、「衝撃を発生させ」とは、シミュレーションにおいて、例えばユーザ等によって指定された位置及び方向に対してユーザ等によって指定された大きさの衝撃（衝撃波）を発生させるということである。
重力により部材オブジェクトは下に向かって詰まろうとし、振動及び／又は衝撃によって部材オブジェクト同士が衝突、反発し、部材オブジェクトの位置が変化したり、部材オブジェクトの向きが変化したりする。
このようにすることによって、部材同士の重複がないように、複数の部材を母材に配置することができる。
つまり、本実施形態の板取の処理を、計量カップとお米とを用いて説明すると、本実施形態の板取の処理は、計量カップ（容器オブジェクトに対応）にすりきり一杯のお米（複数の部材オブジェクトに対応）を入れて、計量カップの底等を叩いて振動を起こすことにより、各米粒に振動が伝わり、米粒の回転による向きの変化や重力等により米粒間のスペース（空白）を圧縮し、お米を詰め込んでいるのと同じである。
【００１４】
図３は、実施形態１の板取装置のソフトウェア構成の一例を示す図である。図３に示されるように、板取装置１は、ソフトウェア構成として、母材情報入力部２０と、部材情報入力部２１と、シミュレーション部２２と、編集部２３と、ユーザ選択部２４と、自動選択部２５と、決定部２６と、を有する。
母材情報入力部２０は、母材情報を入力する。より具体的に説明すると、母材情報入力部２０は、入力装置１２等を介したユーザの入力操作に基づいて、母材の形状情報と大きさ情報と物理属性情報とを含む母材情報を入力する。ここで、母材の物理属性情報とは、母材の質量と反発係数と摩擦係数とである。例えば、母材情報入力部２０は、入力装置１２等を介して、ユーザによって直接入力された母材情報に含まれる各情報の数値を入力してもよいし、母材情報に含まれる各情報の複数の選択可能な数値を表示装置１４に表示し、ユーザの選択操作を入力操作として、ユーザが選択した前記各情報の数値を含む母材情報を入力してもよい。
部材情報入力部２１は、部材情報を入力する。より具体的に説明すると、部材情報入力部２１は、入力装置１２等を介したユーザの入力操作に基づいて、部材の形状情報と大きさ情報と物理属性情報とを含む複数の部材情報を入力する。ここで、部材の物理属性情報とは、部材の質量と反発係数と摩擦係数とである。例えば、部材情報入力部２１は、入力装置１２等を介して、ユーザによって直接入力された部材情報に含まれる各情報の数値を入力してもよいし、部材情報に含まれる各情報の複数の数値を表示装置１４に表示し、ユーザの選択操作を入力操作として、ユーザが選択した前記各情報の数値を含む部材情報を入力してもよい。ここで、一種類の部材がユーザの入力操作によって選択された場合であっても、例えば、ユーザによって入力された個数分、同一の部材情報が部材情報入力部２１によって入力されるものとする。
ここで、母材の一例としては、コイルがある。母材がコイルの場合、部材はコイルから切り抜かれる製品コイルとなる。また、母材の一例としては、生地がある。母材が生地の場合、部材は生地から切り抜かれるＴシャツ等の洋服の型となる。また、母材の一例としては、ロール紙がある。母材がロール紙の場合、部材はロール紙から切り抜かれるシール等の型となる。
【００１５】
シミュレーション部２２は、母材情報入力部２０で入力された母材情報に含まれる母材の形状情報と、大きさ情報と、に基づいて母材の形状と大きさとを表した容器オブジェクトを作成する（例えば、図２（ａ）参照）。また、シミュレーション部２２は、部材情報入力部２１で入力された各部材情報に含まれる部材の形状情報と、部材の大きさ情報と、に基づいて各部材の形状と大きさとを表した複数の部材オブジェクトを作成する（例えば、図２（ｂ）参照）。
そして、シミュレーション部２２は、母材情報入力部２０で入力された母材情報に含まれる物理属性情報と、部材情報入力部２１で入力された各部材情報に含まれる物理属性情報と、に基づいて設定されている物理法則に則って容器オブジェクト内に複数の部材オブジェクトを入れたときの複数の部材オブジェクトの動作のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置１４上に表示する（例えば、図２（ｃ）参照）。より具体的に説明すると、シミュレーション部２２は、母材の質量と反発係数と摩擦係数と、部材の質量と反発係数と摩擦係数とに基づいて設定されている物理法則に則って容器オブジェクト内に複数の部材オブジェクトを入れたときの複数の部材オブジェクトの重力による自由落下、衝突、反発、回転のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置上に表示する。ここで、設定されている物理法則とは、「有効と設定されている物理法則」の意味であり、例えば、ユーザは、重力の大きさや有効、無効等を設定することができるものとする。
【００１６】
編集部２３は、入力装置１２を介したユーザの編集操作に応じて、シミュレーション部２２でのシミュレーションの実行中に、前記容器オブジェクトに対して振動（又は衝撃）を加える（例えば、図２（ｄ）参照）。ここで、編集部２３は、入力装置１２を介したユーザの編集操作に応じて、シミュレーション部２２でのシミュレーションの実行中に、前記容器オブジェクト全体に振動を与えるだけではなく、容器オブジェクトの一部や部材オブジェクトごとに振動を与えることもできる。
なお、板取装置１は、入力装置１２に代わり、加速度センサー等が内蔵されたモーションセンサー機能を有する入力装置と有線又は無線を介して接続可能に構成されていてもよい。以下、板取装置１はこのような構成を有するものとし、ポインタ機能やモーションセンサー機能を有する入力装置をリモコンという。このような構成の場合、編集部２３は、リモコンを介したユーザの編集操作としての振動のモーションに基づいて、シミュレーション部２２でのシミュレーションの実行中に、前記容器オブジェクトに対して振動を加える。また、編集部２３は、リモコンのポインタ機能で選択された部材オブジェクトをモーションセンサー機能で示された先に移動させるようにしてもよい。また、編集部２３は、ユーザのリモコンを用いた操作に応じて、部材オブジェクトを新たに追加したり、部材オブジェクトを削除したり、部材オブジェクトを回転させたりしてもよい。
【００１７】
ユーザ選択部２４は、リモコンを介したユーザの選択操作に基づいて、シミュレーション部２２でのシミュレーションの結果の一つを、選択する。ユーザ選択部２４は、選択したシミュレーションの結果を、記憶装置１３等に記憶する。
以下、自動選択部２５の処理を説明するが、本実施形態における自動選択部２５における板取の解の自動選択の方法は二通りある。どちらの選択方法を板取装置１に適用するかは予め板取装置１に定義しておいてもよいし、ユーザがどちらの選択方法を適用するかを、リモコン等を用いて選択できるように板取装置１を構成してもよい。
まず、初めに説明する自動選択の方法は、「決められた大きさの容器オブジェクトにどれだけの量の部材オブジェクトを詰め込むことができるか？」という板取の際に適用する自動選択の方法（第一の自動選択の方法）である。
自動選択部２５は、第一の自動選択の方法を適用する場合、シミュレーション部２２での単位時間ごとのシミュレーションの結果を基に、容器オブジェクト内の空白率を求め、空白率に基づいて、シミュレーション部２２でのシミュレーションの結果の一つを、選択する。より具体的に説明すると、自動選択部２５は、シミュレーション部２２での単位時間ごとのシミュレーションの結果を基に、容器オブジェクト内の空白率を求め、空白率の最も少ないシミュレーションの結果を、選択する。
自動選択部２５は、処理が開始されてから最も少ない空白率と、前記空白率のときのシミュレーションの結果と、を記憶装置１３に記憶する。より具体的に説明すると、自動選択部２５は、単位時間ごとに計算した空白率と、記憶装置１３に記憶してある処理が開始されてから最も少ない空白率と、を比較し、計算した空白率が、記憶装置１３に記憶されている空白率より小さい場合は、前記計算した空白率で記憶装置１３に記憶されている空白率を上書きすると共に、前記計算した空白率に関するシミュレーションの結果を、記憶装置１３に記憶されているシミュレーションの結果を上書きする。なお、自動選択部２５は、前記比較の結果、計算した空白率と、記憶装置１３に記憶されている空白率と、が同じ値であった場合、空白率を上書きせず、前記計算した空白率に関するシミュレーションの結果を、母材に複数の部材を配置する板取の更なる解として記憶装置１３に記憶するようにしてもよい。つまり、記憶装置１３に記憶されている空白率と同じ空白率が複数存在する場合、複数のシミュレーションの結果を記憶装置１３に記憶するようにしてもよい。このような構成とする場合、後述する決定部２６によって、自動選択の解として記憶装置１３に記憶されている複数のシミュレーションの結果がユーザに提示される。
【００１８】
次に説明する自動選択の方法は、「決められた量の部材オブジェクトを詰めるのに必要最低限の大きさの母材は？」という板取の際に適用する自動選択の方法（第二の自動選択の方法）である。
自動選択部２５は、第二の自動選択の方法を適用する場合、シミュレーション部２２での単位時間ごとのシミュレーションの結果を基に、前記容器オブジェクトの底辺から前記容器オブジェクト内の一番上の部材オブジェクトまでの高さ（例えば、図２（ｄ）参照）を求め、前記高さに基づいて、シミュレーション部２２でのシミュレーションの結果の一つを、選択する。より具体的に説明すると、自動選択部２５は、シミュレーション部２２での単位時間ごとのシミュレーションの結果を基に、前記容器オブジェクトの底辺から前記容器オブジェクト内の一番上の部材オブジェクトまでの高さを求め、前記高さが一番低いシミュレーションの結果を、選択する。
自動選択部２５は、処理が開始されてから最も低い高さと、前記高さのときのシミュレーションの結果と、を記憶装置１３に記憶する。より具体的に説明すると、自動選択部２５は、単位時間ごとに計算した高さと、記憶装置１３に記憶してある処理が開始されてから最も低い高さと、を比較し、計算した高さが、記憶装置１３に記憶されている高さより低い場合は、前記計算した高さで記憶装置１３に記憶されている高さを上書きすると共に、前記計算した高さに関するシミュレーションの結果で記憶装置１３に記憶されているシミュレーションの結果を上書きする。なお、自動選択部２５は、前記比較の結果、計算した高さと、記憶装置１３に記憶されている高さと、が同じ値であった場合、高さを上書きせず、前記計算した高さに関するシミュレーションの結果を、母材に複数の部材を配置する板取の更なる解として記憶装置１３に記憶するようにしてもよい。つまり、記憶装置１３に記憶されている高さと同じ高さが複数存在する場合、複数のシミュレーションの結果を記憶装置１３に記憶するようにしてもよい。このような構成とする場合、後述する決定部２６によって、自動選択の解として記憶装置１３に記憶されている複数のシミュレーションの結果がユーザに提示される。
自動選択部２５は、処理が終了された時点で記憶装置１３に記憶されているシミュレーションの結果を、自動で選択した母材に複数の部材を配置する板取の解とする。
自動選択部２５が、第一の自動選択の方法を適用するか、第二の自動選択の方法を適用するかは、予め設定されていてもよいし、ユーザがリモコン等を介して適宜、目的に応じて設定可能に構成してもよい。
【００１９】
決定部２６は、ユーザ選択部２４で板取の解として選択されたシミュレーションの結果と、自動選択部２５で板取の解として選択されたシミュレーションの結果と、をユーザが選択可能に表示装置１４に表示し、リモコンを介したユーザの選択操作に基づいて、選択されたシミュレーションの結果を板取の解と決定する。
本実施形態の処理によれば、ユーザは、解を決定するまでの過程（単位時間ごとの連続したシミュレーションの結果）を確認しつつ自身で選択した解と、板取装置１が計算で求めた解と、から最終的な板取の解を決定することができる。
【００２０】
図４は、実施形態１の板取処理の一例を示すフローチャートである。なお、以下では説明の簡略化のため、自動選択部２５は、第一の自動選択の方法を適用する旨、予め設定されているものとする。
Ｓ１０において、母材情報入力部２０は、母材情報を入力する。
Ｓ１１において、部材情報入力部２１は、複数の部材情報を入力する。
Ｓ１２において、シミュレーション部２２は、Ｓ１０で入力された母材情報に含まれる母材の形状情報と、大きさ情報と、に基づいて母材の形状と大きさとを表した容器オブジェクトを作成する。また、シミュレーション部２２は、Ｓ１１で入力された各部材情報に含まれる部材の形状情報と、部材の大きさ情報と、に基づいて各部材の形状と大きさとを表した複数の部材オブジェクトを作成する。そして、シミュレーション部２２は、Ｓ１０で入力された母材情報に含まれる物理属性情報（母材の質量、反発係数、摩擦係数）と、Ｓ１１で入力された各部材情報に含まれる物理属性情報（部材の質量、反発係数、摩擦係数）と、に基づいて設定されている物理法則に則って容器オブジェクト内に複数の部材オブジェクトを入れたときの複数の部材オブジェクトの重力による自由落下、衝突、反発、回転のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置１４上に表示する。
【００２１】
Ｓ１３において、自動選択部２５は、自動選択部２５は、シミュレーション部２２での単位時間ごとのシミュレーションの結果を基に、容器オブジェクト内の空白率を求め、計算した空白率と、記憶装置１３に記憶してある処理が開始されてから最も少ない空白率と、を比較し、計算した空白率が、記憶装置１３に記憶されている空白率より小さい場合は、前記計算した空白率で記憶装置１３に記憶されている空白率を上書きすると共に、前記計算した空白率に関するシミュレーションの結果で、記憶装置１３に記憶されているシミュレーションの結果を上書きする。
Ｓ１４において、ユーザ選択部２４は、リモコンを介したユーザの選択操作が行われたか否かに基づいて、シミュレーション部２２におけるシミュレーションを終了するか否かを判定する。ユーザ選択部２４は、シミュレーション部２２におけるシミュレーションを終了すると判定すると、Ｓ１７に処理を進め、シミュレーション部２２におけるシミュレーションを終了しないと判定すると、Ｓ１５に処理を進める。
ユーザ選択部２４は、リモコンを介したユーザの選択操作が行われたと判断した場合、シミュレーション部２２におけるシミュレーションを終了すると判定し、リモコンを介したユーザの選択操作が行われていないと判断した場合、シミュレーション部２２におけるシミュレーションを終了しないと判定する。
【００２２】
Ｓ１５において、編集部２３は、リモコンを介したユーザの編集操作が行われたか否かに基づいて、編集を行うか否かを判定する。編集部２３は、編集を行うと判定すると、Ｓ１６に処理を進め、編集を行わないと判定すると、Ｓ１２に処理を戻す。
Ｓ１６において、編集部２３は、リモコンを介したユーザの編集操作に応じて、編集を行う。より具体的に説明すると、編集部２３は、リモコンを介したユーザの編集操作が、振動のモーションであった場合、Ｓ１２におけるシミュレーション部２２によるシミュレーションの実行中に、前記容器オブジェクトに対して前記リモコンの振動の強さに応じた振動を加える。また、編集部２３は、リモコンのポインタ機能で選択された部材オブジェクトをモーションセンサー機能で示された先に移動させるようにしてもよい。また、編集部２３は、ユーザのリモコンを用いた操作に応じて、部材オブジェクトを新たに追加したり、部材オブジェクトを削除したり、部材オブジェクトを回転させたりしてもよい。
【００２３】
Ｓ１７において、ユーザ選択部２４は、リモコンを介したユーザの選択操作に基づいて、選択されたときのシミュレーション部２２でのシミュレーションの結果を、記憶装置１３に記憶する。
Ｓ１８において、決定部２６は、Ｓ１７でユーザ選択部２４が板取の解として選択した（又は記憶装置１３に記憶した）シミュレーションの結果と、Ｓ１３で自動選択部２５が板取の解として選択した（又は記憶装置１３に記憶した）シミュレーションの結果と、をユーザが選択可能に表示装置１４に表示する。
Ｓ１９において、決定部２６は、リモコンを介したユーザの選択操作に基づいて、選択されたシミュレーションの結果を板取の解と決定する。
【００２４】
以上、上述したように、本実施形態の板取の方法によれば、母材は、長方形や正方形に限らず、例えば円形や三角形、台形等、様々な形であってもよい。
また、十字型のような母材に対しても本実施形態の板取の方法を適用することができる。図５は、十字型の母材における板取の処理の一例を説明するための図である。
十字型の母材の場合、まず板取装置１は、図５（ａ）に示されるように、十字形の母材を、Ａ、Ｂ、Ｃ、Ｄ、Ｅの複数の正方形（又は長方形）の母材に分け、まず、Ａに対して上述したような処理を実行し、部材を詰める。そして、板取装置１は、Ａに詰めた部材を固定し、母材全体を１８０度回転させ、Ｂに対して上述したような処理を実行し、部材を詰める。また、板取装置１は、Ｂに詰めた部材を固定し、母材全体を９０度回転させ、Ｃに対して上述したような処理を実行し、部材を詰める。また、板取装置１は、Ｃに詰めた部材を固定し、母材全体を１８０度回転させ、Ｅに対して上述したような処理を実行し、部材を詰める。そして、板取装置１は、Ｅに詰めた部材を固定し、Ｄに対して上述したような処理を実行し、部材を詰める。
このようにして、板取装置１は、十字型のような母材に対しても部材の板取を行うことができる。
また、板取装置１は、十字型の母材を、Ａ、Ｂ、Ｃ、Ｄ、Ｅの複数の正方形（又は長方形）の母材に分け、まず、Ａに対して上述したような処理を実行し、母材を詰める。そして、板取装置１は、Ａに詰めた部材を固定し、母材全体を１８０度回転させ、Ｂに対して上述したような処理を実行し、部材を詰める。また、板取装置１は、Ｂに詰めた部材を固定し、母材全体を９０度回転させ、Ｃ、Ｄ、Ｅが縦方向に並ぶように向きを変え、上述したような処理を実行し、部材を詰める。
このようにしても、板取装置１は、十字型のような母材に対しても部材の板取を行うことができる。
また、板取装置１は、図５に示されるような十字型の母材に対して、部材を詰め、母材を回転させ、遠心力で部材をＡ、Ｂ、Ｃ、Ｅに詰めた後、固定し、Ｄに対して上述したような処理を実行し、部材を詰めるようにしてもよい。
【００２５】
本実施形態によれば、様々な形の複数の部材を様々な形の母材に効率よく配置することができる。
【００２６】
＜実施形態２＞
実施形態１では、ユーザが選択した解と、板取装置１が計算で求めた解と、をユーザに提示して最終的な解を決定する構成を用いて説明を行ったが、板取装置１は計算で解を求めず、ユーザが選択した解を、板取の解としてもよい。
以下、本実施形態では、上述した実施形態１と異なる機能及び処理について説明を行う。なお、実施形態１と同様の構成要素には同一の符号を付し、説明を省略する。
図６は、実施形態２の板取装置のソフトウェア構成の一例を示す図である。図６に示されるように、板取装置１は、ソフトウェア構成として、母材情報入力部２０と、部材情報入力部２１と、シミュレーション部２２と、編集部２３と、ユーザ選択部２４と、を有する。
本実施形態２の板取装置は、ユーザ選択部２４が選択し、記憶装置１３等に記憶したシミュレーションの結果を、母材に複数の部材を配置する板取の解とする。
【００２７】
図７は、実施形態２の板取処理の一例を示すフローチャートである。
Ｓ２０において、母材情報入力部２０は、母材情報を入力する。
Ｓ２１において、部材情報入力部２１は、複数の部材情報を入力する。  Ｓ２２において、シミュレーション部２２は、Ｓ２０で入力された母材情報に含まれる母材の形状情報と、大きさ情報と、に基づいて母材の形状と大きさとを表した容器オブジェクトを作成する。また、シミュレーション部２２は、Ｓ２１で入力された各部材情報に含まれる部材の形状情報と、部材の大きさ情報と、に基づいて各部材の形状と大きさとを表した複数の部材オブジェクトを作成する。そして、シミュレーション部２２は、Ｓ２０で入力された母材情報に含まれる物理属性情報（母材の質量、反発係数、摩擦係数）と、Ｓ２１で入力された各部材情報に含まれる物理属性情報（部材の質量、反発係数、摩擦係数）と、に基づいて設定されている物理法則に則って容器オブジェクト内に複数の部材オブジェクトを入れたときの複数の部材オブジェクトの重力による自由落下、衝突、反発、回転のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置１４上に表示する。
【００２８】
Ｓ２３において、ユーザ選択部２４は、リモコンを介したユーザの選択操作が行われたか否かに基づいて、シミュレーション部２２におけるシミュレーションを終了するか否かを判定する。ユーザ選択部２４は、シミュレーション部２２におけるシミュレーションを終了すると判定すると、Ｓ２６に処理を進め、シミュレーション部２２におけるシミュレーションを終了しないと判定すると、Ｓ２４に処理を進める。
ユーザ選択部２４は、リモコンを介したユーザの選択操作が行われたと判断した場合、シミュレーション部２２におけるシミュレーションを終了すると判定し、リモコンを介したユーザの選択操作が行われていないと判断した場合、シミュレーション部２２におけるシミュレーションを終了しないと判定する。
Ｓ２４において、編集部２３は、リモコンを介したユーザの編集操作が行われたか否かに基づいて、編集を行うか否かを判定する。編集部２３は、編集を行うと判定すると、Ｓ２５に処理を進め、編集を行わないと判定すると、Ｓ２２に処理を戻す。
Ｓ２５において、編集部２３は、リモコンを介したユーザの編集操作に応じて、編集を行う。より具体的に説明すると、編集部２３は、リモコンを介したユーザの編集操作が、振動のモーションであった場合、Ｓ２２におけるシミュレーション部２２によるシミュレーションの実行中に、前記容器オブジェクトに対して前記リモコンの振動の強さに応じた振動を加える。また、編集部２３は、リモコンのポインタ機能で選択された部材オブジェクトをモーションセンサー機能で示された先に移動させるようにしてもよい。また、編集部２３は、ユーザのリモコンを用いた操作に応じて、部材オブジェクトを新たに追加したり、部材オブジェクトを削除したり、部材オブジェクトを回転させたりしてもよい。
【００２９】
Ｓ２６において、編集部２３は、ユーザ選択部２４は、リモコンを介したユーザの選択操作に基づいて、選択されたときのシミュレーション部２２でのシミュレーションの結果を、母材に複数の部材を配置する板取の解として記憶装置１３に記憶する。また、編集部２３は、記憶したシミュレーションの結果を、母材に複数の部材を配置する板取の解として表示装置１４上に表示してもよい。
【００３０】
本実施形態によれば、ユーザは自身で最適と思われる複数の部材の母材への配置を選択することができる。
【００３１】
＜実施形態３＞
実施形態１では、ユーザが選択した解と、板取装置１が計算で求めた解と、をユーザに提示して最終的な解を決定する構成を用いて説明を行ったが、板取装置１は、ユーザに解を選択させず、計算だけで解を求め、求めた解を、板取の解としてもよい。
以下、本実施形態では、上述した実施形態１と異なる機能及び処理について説明を行う。なお、実施形態１と同様の構成要素には同一の符号を付し、説明を省略する。
図８は、実施形態３の板取装置のソフトウェア構成の一例を示す図である。図８に示されるように、板取装置１は、ソフトウェア構成として、母材情報入力部２０と、部材情報入力部２１と、シミュレーション部２２と、編集部２３と、自動選択部２５と、を有する。
本実施形態３の板取装置は、自動選択部２５が選択し、記憶装置１３等に記憶したシミュレーションの結果を、母材に複数の部材を配置する板取の解とする。
【００３２】
図９は、実施形態３の板取処理の一例を示すフローチャートである。なお、以下では説明の簡略化のため、自動選択部２５は、第一の自動選択の方法を適用する旨、予め設定されているものとする。
Ｓ３０において、母材情報入力部２０は、母材情報を入力する。
Ｓ３１において、部材情報入力部２１は、複数の部材情報を入力する。
Ｓ３２において、シミュレーション部２２は、Ｓ３０で入力された母材情報に含まれる母材の形状情報と、大きさ情報と、に基づいて母材の形状と大きさとを表した容器オブジェクトを作成する。また、シミュレーション部２２は、Ｓ３１で入力された各部材情報に含まれる部材の形状情報と、部材の大きさ情報と、に基づいて各部材の形状と大きさとを表した複数の部材オブジェクトを作成する。そして、シミュレーション部２２は、Ｓ３０で入力された母材情報に含まれる物理属性情報（母材の質量、反発係数、摩擦係数）と、Ｓ３１で入力された各部材情報に含まれる物理属性情報（部材の質量、反発係数、摩擦係数）と、に基づいて設定されている物理法則に則って容器オブジェクト内に複数の部材オブジェクトを入れたときの複数の部材オブジェクトの重力による自由落下、衝突、反発、回転のシミュレーションを実行し、単位時間ごとにシミュレーションの結果を連続して表示装置１４上に表示する。
【００３３】
Ｓ３３において、自動選択部２５は、シミュレーション部２２での単位時間ごとのシミュレーションの結果を基に、容器オブジェクト内の空白率を求め、計算した空白率と、記憶装置１３に記憶してある処理が開始されてから最も少ない空白率と、を比較し、計算した空白率が、記憶装置１３に記憶されている空白率より小さい場合は、前記計算した空白率で記憶装置１３に記憶されている空白率を上書きすると共に、前記計算した空白率に関するシミュレーションの結果で、記憶装置１３に記憶されているシミュレーションの結果を上書きする。
Ｓ３４において、ユーザ選択部２４は、リモコンを介したユーザの選択操作が行われたか否かに基づいて、シミュレーション部２２におけるシミュレーションを終了するか否かを判定する。ユーザ選択部２４は、シミュレーション部２２におけるシミュレーションを終了すると判定すると、図９に示す処理を終了し、シミュレーション部２２におけるシミュレーションを終了しないと判定すると、Ｓ３５に処理を進める。
ユーザ選択部２４は、リモコンを介したユーザの選択操作が行われたと判断した場合、シミュレーション部２２におけるシミュレーションを終了すると判定し、リモコンを介したユーザの選択操作が行われていないと判断した場合、シミュレーション部２２におけるシミュレーションを終了しないと判定する。
【００３４】
Ｓ３５において、編集部２３は、リモコンを介したユーザの編集操作が行われたか否かに基づいて、編集を行うか否かを判定する。編集部２３は、編集を行うと判定すると、Ｓ３６に処理を進め、編集を行わないと判定すると、Ｓ３２に処理を戻す。
Ｓ３６において、編集部２３は、リモコンを介したユーザの編集操作に応じて、編集を行う。より具体的に説明すると、編集部２３は、リモコンを介したユーザの編集操作が、振動のモーションであった場合、Ｓ３２におけるシミュレーション部２２によるシミュレーションの実行中に、前記容器オブジェクトに対して前記リモコンの振動の強さに応じた振動を加える。また、編集部２３は、リモコンのポインタ機能で選択された部材オブジェクトをモーションセンサー機能で示された先に移動させるようにしてもよい。また、編集部２３は、ユーザのリモコンを用いた操作に応じて、部材オブジェクトを新たに追加したり、部材オブジェクトを削除したり、部材オブジェクトを回転させたりしてもよい。
【００３５】
自動選択部２５は、Ｓ３４において、ユーザ選択部２４によって図９に示す処理を終了と判断された場合、記憶装置１３に記憶されているシミュレーションの結果を、母材に複数の部材を配置する板取の解として表示装置１４上に表示してもよい。
【００３６】
本実施形態によれば、様々な形の複数の部材を様々な形の母材に効率よく配置することができる。
【００３７】
＜その他の実施形態＞
編集部２３は、リモコンを介したユーザの編集操作に基づいて、選択された部材オブジェクトのサイズを変更するようにしてもよい。つまり、ユーザは、シミュレーション部２２のシミュレーションの結果を表示装置１４上で確認しつつ、例えば、サイズを小さくすれば母材に納まるような部材が存在し、かつ、その部材のサイズを変更してもよいような場合、リモコンを操作し、部材を選択して部材のサイズの変更を行うよう板取装置１に指示することができる。
例えば、母材がロール紙で、部材はロール紙から切り抜かれる様々な種類のキャラクターの型である場合、あるキャラクターのサイズを少し小さくすれば、所定の数のキャラクターの型をロール紙に詰めることができる場合がある。このような場合、ユーザは、上述した部材オブジェクトのサイズ変更の機能を利用することによって、あるキャラクターを表す部材オブジェクトのサイズを少し小さくして、シミュレーションを続行させることができる。
また、編集部２３は、リモコンを介したユーザの編集操作に基づいて、選択された母材のサイズを変更するようにしてもよい。つまり、ユーザは、シミュレーション部２２のシミュレーションの結果を表示装置１４上で確認しつつ、例えば、母材のサイズを少し大きくすれば全ての部材が納まり、かつ、母材のサイズを変更してもよいような場合、リモコンを操作し、母材を選択して母材のサイズの変更を行うよう板取装置１に指示することができる。
【００３８】
部材情報入力部２１は、入力装置１２等を介したユーザの入力操作に基づいて、部材に切り代を付けるか否かを設定してもよい。また、部材情報入力部２１は、切り代を付ける場合、部材の形状情報及び部材の大きさ情報等に基づいて、切り代の大きさを決定し、入力するようにしてもよいし、ユーザの入力操作に基づいて指定された大きさを切り代の大きさとして入力するようにしてもよい。
シミュレーション部２２は、部材情報入力部２１より、部材の形状情報と、部材の大きさ情報と、切り代の大きさ情報と、が部材情報として入力されてきた場合、部材の形状情報と、部材の大きさ情報と、切り代の大きさ情報と、に基づいて切り代が付いた部材オブジェクトを作成し、シミュレーションを実行する。
【００３９】
シミュレーション部２２は、部材の形状情報等に基づき作成した部材オブジェクトが、例えば、ドーナツ型のような中空形状であった場合、シミュレーション中の各部材の質量、反発係数、摩擦係数、に応じた部材の速度（又は加速度）等に応じて、中空形状の部材の中に（中空部分に）他の部材が入り込むようなすり抜けを許可するようにしてもよい。また、シミュレーション部２２は、シミュレーション中の各部材の質量、反発係数、摩擦係数、に応じた部材の速度（又は加速度）等に応じて、中空形状の部材の中から他の部材が飛び出るようなすり抜けを許可するようにしてもよい。
【００４０】
シミュレーション部２２は、部材情報に基づき部材オブジェクトを作成するに際し、例えば、部材の角を丸くする等、単純系に近似するようにしてもよい。このようにすることで、部材同士等の摩擦が少なくなり、自動選択部２５等における解の探索の時間が縮小される。
また、シミュレーション部２２は、母材オブジェクト及び部材オブジェクト以外に、部材オブジェクトが母材オブジェクトから飛び出さない又は部材オブジェクトの必要以上の動きを制限するため、落し蓋の役割を担う落し蓋オブジェクトを作成するようにしてもよい。そして、シミュレーション部２２は、母材オブジェクトの中に複数の部材オブジェクトを入れた上から所定の質量を有する落し蓋オブジェクトを置いてもよい。このようにすることによって、自動選択部２５等における解の探索の時間が縮小される。
【００４１】
以上、上述した各実施形態によれば、様々な形の複数の部材を様々な形の母材に効率よく配置することができる。
【００４２】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
例えば、上述した各フローチャートにおいて、「様々な形の複数の部材を様々な形の母材に効率よく配置することができる」という効果を得ることができるのであれば、処理順序を変更したり、別の処理を挿入したり、処理内容を変更したりすることができる。
【符号の説明】
【００４３】
１１  ＣＰＵ
１２  入力装置
１３  記憶装置
１４  表示装置
【図１】
2011128897.tif 000003
【図２】
2011128897.tif 000004
【図３】
2011128897.tif 000005
【図４】
2011128897.tif 000006
【図５】
2011128897.tif 000007
【図６】
2011128897.tif 000008
【図７】
2011128897.tif 000009
【図８】
2011128897.tif 000010
【図９】
2011128897.tif 000011