図12は、折り畳みシートオブジェクトを設計するコンピュータ実装方法の例を示すフローチャートである。設計方法は、折り線で分けられたパネルを提供するステップS10を含む。該パネルは、連続する折り線間に所定の角度を有する、一点に集まる折り線によって分けられ、環を形成する少なくとも4つの隣接するパネルを含む。設計方法は、連続する折り線間の前記所定の角度の関数として、環を形成する隣接するパネル間の角度をリンクする制御法則を決定するステップS20も含む。このような方法によって、折り畳みシートオブジェクトの設計を改善する。
設計方法は、前述の、一点に集まる折り線で分けられた少なくとも4つの隣接するパネルが環を形成する場合を想定している。設計方法は、制御法則をS20で決定する。該制御法則は環を形成する隣接するパネル間の角度をリンクさせるので、折り畳みシートの折り畳みの潜在的シミュレーションを可能にする。制御法則は、ステップS10の後、一度限りで決定される連続する折り線間の所定の角度の関数である。従って、ユーザはシミュレーションに介入する必要はない。このため、設計方法は、一部の産業(例えば、パッケージング産業)で起こり得る特定のケース(すなわち、一点に集まる折り線によって分けられた少なくとも4つの隣接するパネルが環を形成する、)を考えて、折り畳みシートオブジェクトの折り畳みのシミュレーションに好都合に用いることが可能なデータ(すなわち、制御法則)を、ユーザの介入を必要とすることなく、折り畳みシートオブジェクトに追加することによって、折り畳みシートオブジェクトの設計を改善する。
最新のパッケージング設計CADシステムは、一点に集まる折り線を特徴とする環状の状態を扱うことができない。背景技術の限界は非循環の隣接グラフであり、非循環の隣接グラフは、複雑な環状の折り畳みを扱うことができない。しかしながら、複雑な環状の折り畳みはパッケージング設計に有用である。なぜならば、1つのパネルを折り畳むと、環状で依存状態にあるために隣のパネルも折り畳まれることになるので、複雑な環状の折り畳みは、数個のパネルを同時に折り畳むのに役立つからである。これに反して、非循環の手順は、各パネルを独立して折り畳む必要がある。環状の依存性を通して数個のパネルを同時に折り畳むことによって、折り畳み機を物理的に簡単にし、ひいては、折り畳み機の設計、構築、修理にかかる時間を短縮し、パッケージ製品の製造にかかる時間を短縮する。先行技術のパッケージング設計システムには、平らなシート設計を扱う時に、循環の隣接グラフを容認するものがある。しかし、(シミュレーションにおいて)折り畳み手順を作成するとき、ユーザは、折り線を選択して環を切断するように要求される。このアクションは、正当な設計意図ではなく、先行技術のパッケージング設計システムの弱点によるものである。結果として行われる折り畳みシミュレーションは、切断された折り線の近くの折り畳まれたパネルの挙動をユーザが手動で管理するように再び、要求されるので、非現実的なもので、時間がかかるものとなる。
これに反して、本設計方法で設計された折り畳みシートオブジェクトの折り畳みのシミュレーションは、自動的であり、ユーザのアクションも、隣接するパネルの環を切断するアクションも排除している(例えば、4つを超えるパネルがあるとき、折り畳み構成の定義、または、物理的制約/変動法則の定義などの、他のアクションは、ユーザによって行われてよい、これについては後述する)。
折り畳みシートオブジェクトは、特定の種類のモデル化オブジェクトである。モデル化オブジェクトは、データファイル(すなわち、特定のフォーマットを有する個々のコンピュータデータ)および/またはコンピュータシステムのメモリに記憶可能な構造化データによって定義/記述された任意のオブジェクトである。折り畳みシートオブジェクトは、任意の種類の折り畳み可能な物理的シートを表すモデル化オブジェクトである。例えば、設計された折り畳みシートオブジェクトは、折り畳み後、任意の種類のパッケージを形成可能な平面シート(該折り畳みシートオブジェクトは、従って、「平面状態」を有してよい)を表してよい。拡大解釈すると、「折り畳みシートオブジェクト」という表現は、データ自体、または、物理的シートを指してよい。特に、折り畳みシートオブジェクトは、該折り畳みシートオブジェクトの折り畳み(によって折り畳みシートオブジェクトによって表される物理的シートの折り畳みを表す)シミュレーションを可能にするデータを含んでよい。方法によって得られた折り畳みシートオブジェクトは、特定の構造を有する。方法によって設計された折り畳みシートオブジェクトを形成するデータは、環を形成する少なくとも4つの隣接するパネル、該パネルを分ける折り線、連続する折り線間の所定の角度、および、制御法則を記述する、任意のデータを含む。
設計方法は、折り畳みシートオブジェクトを設計するためのもの、すなわち、該設計の少なくとも幾つかのステップをなす設計方法のステップである。「折り畳みシートオブジェクトを設計すること」は、折り畳みシートオブジェクトを作り上げるプロセスの少なくとも一部である任意のアクションまたは任意の一連のアクションを指す。従って、設計方法は、S10の前に、最初から折り畳みシートを作成するステップを含んでよい。あるいはまた、設計方法は、以前作成した折り畳みシートオブジェクトを提供し、例えば、該折り畳みシートオブジェクトにS20で決定した制御法則を追加するために、該折り畳みシートオブジェクトを修正するステップを含んでよい。
このような折り畳みシートオブジェクトの折り畳みのシミュレーションは、図13を参照して記載されるように、容易である。折り畳みシートオブジェクトの折り畳みのシミュレーションは、該折り畳みシートオブジェクトによって表される物理的シートの物理的な折り畳みを記述および/または表現することの、少なくとも一部である任意のアクションである。図13のシミュレーションは、隣接するパネル対間のN個の角度に対して所定の値を提供するS30を含む。換言すれば、折り畳みのシミュレーションは、隣接するパネル間の角度(すなわち、隣接するパネルを分ける折り線で交差する、例えば、該両パネルが占める両平面の辺についての、2つのパネル間の角度)の幾つかに関する特定の客観的値で開始し、隣接するパネル対間の他の角度の値を制御法則に従った値に決定するS40を含む。S40は、制御法則を用いると容易に行われる。制御法則は、定義によって、S40において、Nとパネルの総数に応じた自由度、および/または隣接するパネル間の角度に与えられた潜在的制約を用いて、値が与えられた角度から、残りの各角度に関して少なくとも1つの値の推定を可能にするからである。これについては後述する。
S40は自動化されていてもよい。S30で提供される値は、ユーザによって提供されてもよく、(例えば、折り畳みシートオブジェクトによって表される物理的シートの折り畳みを行うために物理的圧力をシミュレーションするため)一部のパネルに課す制約を定義する基礎プロセスによって提供されてもよい。後者のケースでは、S30とS40を繰り返して、例えば、所定の時間ステップで、折り畳みシートオブジェクトの折り畳みの全プロセスをシミュレーションしてよい。このようなシミュレーションは、モデル化オブジェクトの設計に続いて行われてもよく、および/または、前記設計方法によって設計された折り畳みシートオブジェクトに基づいて、別の時に行われてもよい。
折り畳みシートオブジェクトは、CADモデル化オブジェクトであってもよく、CADモデル化オブジェクトの一部であってもよい。いずれの場合でも、方法によって設計された折り畳みシートオブジェクトは、CADモデル化オブジェクト、または、少なくともその一部、例えば、CADモデル化オブジェクトによって占められた3D空間を表してよい。CADモデル化オブジェクトは、CADシステムのメモリに記憶されたデータによって定義された任意のオブジェクトである。該システムの種類に従って、モデル化オブジェクトは、異なる種類のデータによって定義されてよい。CADシステムは、CATIAなどの、少なくともモデル化オブジェクトのグラフィック表現に基づいてモデル化オブジェクトを設計するのに適切な任意のシステムである。従って、CADモデル化オブジェクトを定義するデータは、モデル化オブジェクトの表現を可能にするデータ(例えば、空間内での相対的位置を含む、幾何学的データ)を含む。
前記設計および/またはシミュレーションの方法は、製造プロセスに含まれてよい。製造プロセスは、方法を行った後、例えば、該折り畳みシートオブジェクトによって表される物理的シートを用いてパッケージング方法を行うなど、折り畳みシートオブジェクトに対応する物理的製品の生産を含む。例えば、該パッケージング方法の折り畳みは、シミュレーションの方法に従って行ってよい。いずれの場合でも、方法によって設計された折り畳みシートオブジェクトは、例えば、カートン/紙/プラスチック/金属などの任意の折り畳み可能な材料でできた板紙などの物理的シート等、製造する物を表してよい。方法は、DELMIAなどのCAMシステムを用いて実施することができる。CAMシステムは、少なくとも、製造プロセスと製造作業の定義、シミュレーション、および、制御に適切な任意のシステムである。
方法は、コンピュータで実装される。これは、方法が、少なくとも1つのコンピュータ、または、同様の任意のシステムで実施されること、を意味する。例えば、方法はCADシステムで実装されてよい。従って、方法のステップは、完全に自動または半自動で、コンピュータで行ってよい(例えば、結果検証のためなどの、ユーザがトリガするステップ、および/または、ユーザインタラクションを伴うステップが相当する)。
設計および/またはシミュレーション方法をコンピュータで実装する典型的な例は、この目的に適切なシステムを用いて行うことである。該システムは、方法を行うための命令を記録したメモリを含んでよい。換言すれば、ソフトウェアは、すぐに使用できるようにメモリに準備されている。従って、システムは、他のソフトウェアをインストールすることなしに、方法を行うのに適している。このようなシステムは、命令を実行するために、メモリと接続された少なくとも1つのプロセッサも含んでよい。換言すれば、システムは、プロセッサに接続されたメモリに、コード化された命令を含み、該命令は方法を行う手段を提供する。このようなシステムは、折り畳みシートオブジェクトを設計するための効率的なツールである。
このようなシステムはCADシステムであってよい。システムは、また、CAEおよび/またはCAMシステムであってよく、CADモデル化オブジェクトは、また、CAEモデル化オブジェクトおよび/またはCAMモデル化オブジェクトであってよい。実際、CAD、CAEおよびCAMシステムは、これらのシステムの任意の組合せに対応するデータによってモデル化オブジェクトを定義してよいので、互いに排他的ではない。
システムは、ユーザ等によって命令の実行を開始するために少なくとも1つのGUIを含んでよい。特に、GUIは、ユーザがS10またはS30をトリガするのを可能にしてよく、ユーザが、方法の残りのトリガを行うと決定する場合、特定の機能を開始することによって、方法の残りのトリガを可能にしてよい。
折り畳みシートオブジェクトは、3D(すなわち、三次元)であってよい。これは、折り畳みシートオブジェクトは、3D表現を可能にするデータによって定義されることを意味する。3D表現によって、表現されたものを全ての角度から見ることができる。例えば、折り畳みシートオブジェクトを、折り畳みシミュレーション中などに、3Dで表現すると、該シートオブジェクトの任意の軸を中心に、または、該3D表現を表示する画面の任意の軸を中心に、取り扱ってよく、回転させてよい。これによって、特に、2Dアイコンが二次元視点で何かを表現するときでさえ、3Dモデル化されない2Dアイコンを排除する。3D表現を表示することによって設計、またはシミュレーションの理解を容易にする(すなわち、設計者または技術者が自分のタスクを統計的に達成する速度を速める)。これによって、製造業における製造プロセスを速める。
図14は、典型的なCADシステムのGUIの例を示す。該システムは、設計またはシミュレーションを行う機能を含んでよい。このようなシステムの標準的な機能を説明する。
GUIは、標準的なメニューバー2110、2120、ボトムツールバー2140、サイドツールバー2150を有する、典型的なCADインタフェースであってよい。このようなメニューバーおよびツールバーは、ユーザが選択可能なアイコンのセットを含み、各アイコンは、当分野で既知の1つまたは複数の操作または機能に関連付けられている。これらのアイコンの一部は、ソフトウェアツールに関連付けられており、GUIに表示された3Dモデル化オブジェクト2000(折り畳みシートオブジェクト)を編集、および/または、作業に適用される。該ソフトウェアツールは、ワークベンチにグループ分けしてよい。各ワークベンチは、ソフトウェアツールのサブセットを含む。詳細には、ワークベンチの1つは、モデル化オブジェクト2000の幾何学的特徴を編集するのに適した編集ワークベンチである。操作において、設計者は、例えば、オブジェクト2000の一部を予め選択し、操作(造形操作、または、寸法、色などの変更等の任意の他の操作)を開始してよく、または、適切なアイコンを選択して幾何学的な制約を編集してよい。例えば、典型的なCAD操作は、画面に表示された3Dモデル化オブジェクトの穴あけ(punching)または折り畳み(folding)のモデル化である。GUIは、例えば、表示されたオブジェクト2000に関連するデータ2500を表示してよい。図14の例においては、データ2500は「フィーチャーツリー」として表示され、その3D表現2000は、ブレーキのキャリパーおよびディスクを含む、ブレーキアセンブリに関する。GUIは、例えば、オブジェクトの3D定位を容易にしたり、編集した製品の操作のシミュレーションをトリガしたり、または、表示した製品2000の様々な属性をレンダリングするための、様々な種類のグラフィックツール2130、2070、2080を、さらに示してよい。カーソル2060をハプティックデバイスによって制御して、ユーザがグラフィックツールと相互対話することを可能にしてよい。
図15は、クライアントコンピュータシステム、例えば、ユーザのワークステーション等のシステムのアーキテクチャの例を示す。
図のクライアントコンピュータは、内部通信BUS1000に接続されたCPU1010と、同じく該BUSに接続されたRAM1070とを含む。該クライアントコンピュータは、さらに、グラフィックプロセッシングユニット(GPU)1110を備え、CPU1110は、BUSに接続されたビデオRAM1100に関連付けられている。ビデオRAM1100は、当分野では、フレームバッファとしても知られている。大容量記憶装置コントローラ1020は、ハードドライブ1030等の大容量記憶装置へのアクセスを管理する。コンピュータプログラム命令およびデータを具体的に実現するのに適した大容量記憶装置は、例を挙げると、EPROM、EEPROMおよびフラッシュメモリ装置などの半導体メモリ装置、内蔵ハードディスクおよびリムーバルディスクなどの磁気ディスク、光磁気ディスク、並びに、CD−ROMディスク1040など、あらゆる形態の不揮発性メモリを含む。前述の不揮発性メモリはいずれも、特別に設計されたASIC(特定用途向け集積回路)によって補完されてもよく、該ASICに組み込まれてもよい。ネットワークアダプタ1050は、ネットワーク1060へのアクセスを管理する。クライアントコンピュータは、カーソル制御装置やキーボード等のハプティックデバイス1090を含んでもよい。カーソル制御装置は、クライアントコンピュータで用いられて、ユーザが、画面1080の任意の所望の位置に選択的にカーソルを置くのを可能にする。画面というのは、コンピュータモニタなどの、表示を行うことができる任意のサポートを意味する。さらに、カーソル制御装置によって、ユーザは、様々なコマンドを選択し、制御信号を入力することができる。カーソル制御装置は、システムへの入力制御信号のための多くの信号生成装置を含む。典型的には、カーソル制御装置はマウスであってよく、マウスのボタンを用いて信号を生成する。
システムに方法を行わせるために、コンピュータによって実行される命令であって、この目的のための手段を含む命令、を含むコンピュータプログラムを提供する。該プログラムは、例えば、デジタル電子回路で、または、コンピュータのハードウェア、ファームウェア、ソフトウェア、もしくは、それらの組み合わせで、実装されてよい。本発明の装置は、プログラム可能プロセッサで実行される、機械可読記憶装置で有形に実現されるコンピュータプログラム製品で実装されてよい。また、本発明の方法のステップは、プログラム可能プロセッサが命令のプログラムを実行し、入力データに関する演算を行い、出力を生成して本発明の機能を行うことによって、行われてよい。該命令は、プログラム可能システムで実行可能な1つまたは複数のコンピュータプログラムとして、有利に実施してよい。該プログラム可能システムは、少なくとも1つのプログラム可能プロセッサを含み、該プログラム可能プロセッサは、データストレージシステム、少なくとも1つの入力装置、および、少なくとも1つの出力装置に接続されて、それらからデータおよび命令を受信し、かつ、それらにデータおよび命令を送信する。アプリケーションプログラムは、高水準手続き型プログラミング言語もしくはオブジェクト指向プログラミング言語、または、必要に応じて、アセンブリ言語もしくは機械語で実装されてよい。いずれの場合でも、該言語は、コンパイラ型言語であっても、インタープリタ型言語であってもよい。プログラムは、完全インストールプログラムであっても、更新型プログラムであってもよい。後者の場合、プログラムは、既存のCADシステムを更新して、システムを方法の実施に適切な状態にする。
前記設計方法をさらに説明する。
前述のように、折り畳みシートオブジェクトは、折り線(2つの物理的パネル間の折り線、例えば、直線、を表す)によって分けられたパネル(物理的パネル、例えば、平らな、を表す)を記述するデータとしてS10で提供される。各折り線は、その折り線で分けられた2つのパネルに関連付けることができる。このようなデータは、幾何学的性質(ジオメトリ)および位相幾何学的性質(トポロジ)としてS10で提供されてよい。該データは、折り畳みシートオブジェクトのパネルの厚さに関する情報を含んでもよく、含まなくてもよい。一例において、方法は、物理的シートが厚さをもたない材料でできているように、行われる。パネルは、任意の形状であってよい。図4の長方形または図1の台形のような四角形がパッケージング業界では最も実用的なので、前記パネルはそのような四角形であってよい。折り畳みシートオブジェクトは、図7のように、穴を含んでも含まなくてもよい。
S10で提供された折り畳みシートオブジェクトは特定の種類のもので、図4のシート400または図7のシート750のように、1点で集まる折り線によって分けられ、環を形成する、少なくとも4つの隣接するパネルを含む。換言すれば、S10で提供される折り畳みシートオブジェクトは、2つずつ隣り合わせになって環を形成する(4つ以上の数の)パネルのセットを含む。環というのは、該環を形成する最初のパネルからスタートして、あるパネルから隣のパネルへと進んでいくと、最終的に最初のパネルに戻るということを指す。例えば、隣接グラフをS10で提供してもよく、または、後に計算してもよい。このようなグラフは、図5のグラフ500のように、ノードと弧を有してよく、ノードはパネルに関連付けられ、各弧は、各弧によって接続された該ノードに関連付けられた2つの隣接するパネルを分ける各折り線に関連付けられている。グラフの環は、方法で検討した環に対応する。さらに、環に関わる折り線は1点に集まる(すなわち、該折り線は全て、例えば、該折り線の無限の支持線を考えると、同じ点で交差する)。折り畳みシートオブジェクトを定義するデータは、連続する折り線間の所定の角度αiをさらに含む。換言すれば、2本の「連続」(すなわち、隣接グラフで連続)する、同じパネルiに関連付けられた(パネルの各辺で異なる他のパネルからパネルを分ける)折り線を考えると、(例えば、両折り線に関連づけられたパネルの辺の)折り線間の角度αiが分かる。角度は、予め定められ、固定なので、パネルの剛性をモデル化することができる。
折り畳みシートオブジェクトに関するこのような情報が与えられると、方法は、環の隣接するパネル間の角度βiをリンクする制御法則を、所定の角度αiの関数として、S20で決定する。角度βiは、2つの隣接するパネル間の角度(すなわち、該隣接するパネルを分ける折り線で交差する、例えば、該パネルによって占められる2平面の辺についての、2平面間の角度)である。いつの時点でも、折り畳みシートオブジェクトを、例えば、折り畳み中の位置で、全ての隣接するパネル対間の角度によって記述してよい。1つの予定の環の場合で、方法を説明する。しかし、環の数(通常、1つまたは複数であってよい)と同数の制御法則を方法によって決定してよく、また、他の角度、すなわち、環に属さない角度をリンクする制御法則も方法によって決定してよい。複数のこのような制御法則を体系化する方法と折り畳みシートオブジェクト全体の折り畳みをシミュレーションする方法は、しかしながら、実装時の詳細なので、本明細書では記載しない。S20で決定した制御法則は、(予定の環の)角度βiが全て合わせてどのような関係かを示す任意の種類のデータである。従って、該制御法則は、折り畳みシートオブジェクトに対応する物理的シートに与えられる物理的な折り畳みの可能性に対応する。該制御法則は、折り畳みのシミュレーションが、必ず、物理的に可能なものであるように、角度αiの関数として与えられる。
例えば、制御法則は、隣接するパネル対間の、環の自由度に等しい数の角度βiに対する所定の値を所与として、他の隣接するパネル対間の角度βiの値を決定することができる。これによって、速く簡単なシミュレーションが可能になる。
実際に、環は、該環が含むパネルの数と、連続する折り線間の所定の角度αiとに応じた自由度を有してよい。折り線は、該折り線の2つの隣接するパネル間の角度が変わるとき、折り畳まれると言う。自由度は、パネルが剛性で回転可能に折り線によって結合しているという点以外はパネルに何の制約もないという理論的ケースで、個別に折り畳みが可能な(環の)折り線の最大数である。例えば、図4のシート400または図7のシート750のパネル1、2、3、4を含む環等の、4つのパネルの環は、任意の隣接するパネル対に関して折り畳みを行うと、物理的に、その折り畳みに応じて該環の他のパネルが動くことになる(従って、4つのパネルは1つのグループを形成している)ので、1の自由度を有する。N個の角度βiに対して、Nをこのような自由度と等しいとして、値を与える場合、他の角度βiは必ず対応する値を取る(これらの値は、パネルが剛性で折り線によって結合しているので一定の値となる)ことを物理的に意味する。制御法則は、このような値を「固定すること」(すなわち、折り畳みシートオブジェクトが表す実際のシートの物理的構成から生じる「一定の」値を出力すること)によって、それを解いてよい。図13を参照すると、シミュレーション方法は、次に、決定するステップS40が制御法則を用いて直接行われるように、自由度に等しい数の値をS30で提供することができる。角度βiの値の数が自由度より少ない場合については、後述する。簡単に言うと、シミュレーションは、何らかの方法で、値の総数が自由度に達するように、他の角度βiの値を設定してよく、そして、シミュレーションは、例示の制御法則を直接用いてよい。
後に例示されるように、折り畳みは、幾つかの(不連続の)構成を含んでよい。折り畳みの構成は、パネルが剛性で回転可能に折り線によって結合しているという点以外はパネルに何の制約もないという理論的ケースで、物理的シートの折り畳みを完成させる方法である。実際に、パッケージング業界から分かるように、同じ折り畳みシートオブジェクトは、所与の自由度に関して、連続する折り線間の所定の角度αiを含む環の幾何学的性質(ジオメトリ)に応じて、異なる方法で折り畳んでよい。この各種の折り畳み方によって、物理的な折り畳みの最後(パネル同士が密着して、物理的に折り畳みを妨げるまで)で異なる結果を産む。これらの異なる別々の結果は、いわゆる折り畳み構成に対応する。例えば、図4の折り畳みシートオブジェクト400の場合、平面状態から開始して、折り畳みの結果、図16に示す構成になる場合もあり、図22に示す別の構成になる場合もある。これについては後述する。これは、点Pで環を折り畳む戦略が異なるからである。
後に例示されるように、制御法則は、隣接するパネル対間の、環の自由度に等しい数の角度βi対する所定の値を所与として、任意の、複数の、または、それぞれの、折り畳み構成に関して、他の隣接するパネル対間の各角度βiの値を固定してよい。換言すれば、制御法則は、複数の折り畳み構成が可能であるということに適合してよく、また、制御法則は、角度βiに関して、シミュレーション可能な構成に関する任意の要件に従って、角度を出力してよい。これによって、任意の所望のシミュレーションを実現可能とすることができる。
図13の折り畳みのシミュレーションに戻ると、該シミュレーションは、S30で与えられた値によって可能な、任意の、幾つかの、または、全ての折り畳み構成をシミュレーションすることができる。あるいはまた、ユーザは、例えば、パネルの少なくとも1つにかかる仮想圧力を示すことによって、シミュレーションする1つまたは複数の構成を選択してよい。このような仮想圧力は、パッケージングプロセス中に、折り畳みシートオブジェクトによって表される物理的シートに折り畳み機がかける物理的圧力に対応してよい。
例えば、折り畳みシートオブジェクトは、最初、上記で定義した1つまたは複数の環を有する等の平面シートとして提供されてよい。次に、ユーザは、システムの折り畳みシミュレーション機能を起動することができる。そうすると、ユーザは、環を形成するパネルに仮想圧力をかけるように要求され、各環に対して、隣接するパネル対(φ)間のN個の角度(βi)に対して、Nを該環の自由度以下として(4つのパネルの環の場合、N=l)、初期値を定義する。例えば、所定の角度差(例えば、1度)に対応する値が、一方のパネルに圧力がかかっている2つの隣接するパネル間の各角度βiに対して設定される(いわゆる「初期角度」)。例えば、2つのパネルのうちの1つを固定し、他方のパネルに圧力をかけて、固定したパネルに対して回転させることができる。あるいはまた、このような値を、任意の可能な方法で自動的に定義してよい。いずれの場合でも、初期値はS30で与えられ、この例では、1つの折り畳み構成を既に定義してよい。シミュレーション方法は、その後、S40で、前述のように、他の角度βiの値を決定してよい。S30およびS40は、各初期角度に所定の角度差を加える度に、繰り返してよい。1つが他の上に重なるように2つの隣接するパネルが折り畳まれると、所定の角度差の追加を止める。折り畳みシートオブジェクトは、折り畳み手順が全て表されるように、このような繰り返しの初めから終わりまで、表現、例えば、表示してよい。
以上のように、提示した方法の目的は、例えば、後述する閉形式を使用することによって、制御法則を用いて複雑な環の折り畳みを解くことである。この制御法則のおかげで、折り畳みシートオブジェクトの折り畳みは、S30で一部の角度βiに対して値を与え、S40で制御法則によって、可能であれば自動的に、その他の角度βiを決定することによって、前述のように容易にシミュレーションすることができる。
上述のように、シミュレーションにおいて、提供するステップS30の始めに、確実な設計情報を前記システムに提供するようにユーザに要求してよい。例えば、
・最初の折り畳みの向きを選択、および/または
・4本を超える折り線がある場合、1つまたは複数の制御される折り線を選択し、その1つまたは複数の角度の変化を定義する。
図4の折り畳みシート400がS10で提供される例について、4本の一点に集まる折り線と同数の隣接するパネルの場合を説明する。
図16は、図4の折り畳みシートオブジェクト400の三次元形160を示す。以後、これを用いて、(パネル1、2、3、4を含む)点Pの周りの環の設計方法を示す。図17は、図16に示すようにパネル2がパネル1上に重なる前の中間的な位置の、該環に関与するパネル1、2、3、4の一部分の形170を示す。
例示の方法は、複雑な環の折り畳みをシミュレーションする課題を解決する。解決法は、閉形式によって与えられた数学関数を評価することである。換言すれば、数値アルゴリズムも反復アルゴリズムも必要とせず、方法は、簡単で、早く、CPU効率が良い。さらに、後述するように、方法は、閉形式の特異点解析を有利に再利用してよい。このことは、平面の開始状態は、等式という観点から見ると特異な状態であるので、パッケージング設計においては特に効率がよい。
制御法則によって実施される閉形式を、図17の例の環のような4つのパネルからなる環に関して記載する。
4つのパネルからなる環の幾何学的性質(ジオメトリ)は、S10で提供される連続する折り線間の角度αi、i=1,・・・,4の設定によって、全て特定することができる。図18は角度αiを示す。
この例において、環は、4つの隣接するパネルを有し、制御法則は、F(ψ/φ)=0タイプの等式の解を含む。換言すれば、制御法則は、環の自由度を1として、隣接するパネル対間の角度βiの1つに対して所定の値を(φとする)与え、ψを含む他の隣接するパネル対間の角度βiの値を出力するプロセスを記述する。該プロセスは、最初にψを決定し、その後、直接的な方法で他の角度βiを決定するように、F(ψ/φ)=0を解く(すなわち、解を出力する)ことを含む。角度ψとφは、連続した隣接するパネル対間の角度である。換言すれば、パネル間に所定の順序(例えば、任意の法線を前提として、時計回りまたは反時計回り)を与えると、次の2つの隣接するパネル対は、(連続しているので)共通のパネルを共有しているということによって、同様に順序付けられる。図17を参照すると、法線ベクトルが読者の方向を指し、時計回りの順で、隣接するパネル{2,3}の対は、隣接するパネル{1,2}の対に続く。式では、φは予め定められている。この式を解くと、ψが得られ、最終的に、その環の他の角度βiが得られる。これら2つの他の角度は、該環の自由度が1なのでψとφから直接計算され、このため、解から「生じる」と、言える。この解を得るために選択される開始時の角度は、命名規則の事項である。ψとφ間の順序も点Pの周りの順序規則の事項であることに注意されたい。
要約すると、図19に示されるように、3つの連続するパネルをi、j、kとし、パネルiとjの間の角度を角度φとし、パネルjとkの間の角度を角度ψとする。第1のステップで、4つのパネルからなる環の基本式は、陰的関係F(ψ/φ)=0である。これによって、簡単な解法が可能なり、簡単で速いシミュレーションが可能になる。
この等式(関数F)は、具体的には次のようになる。
ここで
は、連続する折り線間の所定の角度である。ψは、α1とα2に対応する隣接するパネル対間の角度、φは、α1とα3に対応する隣接するパネル対間の角度である。
角度ψに関してF(ψ/φ)=0を解くと、それぞれ異なる折り畳み構成に対応する角度φとαiに関する、角度ψの2つの閉形式が得られる。
ここで、
また、角αは、次のように定義される。
パラメータ依存性を得るために、ψ+とψ−を、関数ψ+(α1,α2,α3,α4,φ)とψ−(α1,α2,α3,α4,φ)として考える。これらの関数を定義する式は、角度φおよびαiがc2a2+b2である限り、有効である。角度φおよびαiがc2a2+b2の場合、F(ψ/φ)=0となる角度ψは存在しない。このような場合、前記方法は、シミュレーションが実行可能でないことを出力してもよい。角度φおよびαiがc2=a2+b2の場合、
となる。
4つの折り線の複雑な折り畳みを解く初期状態の例を記載する。
パッケージ設計という文脈において、開始状態は、折り畳みシートオブジェクト用の平らなカートン板紙シートである。
そうすると、b=0およびc2=a2となり、ψ0=πは2重解となる。これは、折り畳み始めると、すなわち、角度φ0=πの値をより小さい値φ<πに変化させていくと、各折り畳み構成に対応する2つの動きφ→ψ+(α1,α2,α3,α4,φ)とφ→ψ−(α1,α2,α3,α4,φ)が可能である、ことを意味する。結果として、設計者は、1本の折り線の折り畳み方向を決めることによって、例えば、固定すると(これもユーザが)定義するパネルに隣接するパネルにかける仮想圧力を定義することによって、1つの解を選択してよい。図20に示されるように、ある折り畳み構成のシミュレーションにおいて、ユーザ選択に従って開始された折り畳み後、解は局所的に一意であり、動きは明確に定義されることは理解されたい。
図21および図22は、この選択を示す。図22は、パネル1と2、および、パネル3と4、が同一平面上にある代替の折り畳み方を示す。平面の初期構成の特異点解析によると、αiの角度がπより大きい場合、該構成は除外される、つまり、折り畳みは不可能である。
パネルの位置は、下記のxyz軸システムを4つのパネルからなる環に関連付けることによって、計算することができる。該軸システムの原点は、折り線の一点に集まる点であり、軸システムの第1のベクトルは、パネル1と2が共有している折り線u0である。折り線v0はパネル1と4が共有しており、折り線w0はパネル3と4が共有している。折り線s0は、パネル2と3が共有している。軸システム、折り線ベクトルよびパネルを図23に示す。
初期の平らな位置で、Σiαi=2πであることを考えると、ベクトルu0、v0、w0、s0の座標は、下記のようになる。
パネルの移動中、パネル番号1を固定して、u0とv0が角度φに依存しないようにする。表記R(θ,u)は、角度θと軸uによって定義された回転である。次に、角度φが初期値φ=πから最終値φ=φ1に代わると、折り線w0の対応する動きは、
となる。
すなわち、折り線w0は、軸v0を中心に角度π−φ回転する。同様に、折り線s0の対応する動きは、
となる。
すなわち、折り線s0は、軸u0を中心に角度ψε(φ)+π回転する。符号εはユーザの初期選択に応じて、+または−になる。
ベクトルw(φ)とベクトルs(φ)との間の角度は、角度φのいずれの値に関してもα3に等しいことに注意されたい。これは、各パネルの剛性が、関数ψ+とψ−によって得られるからである。
図24は、初期の平らな状態の斜視図において有用な回転を示す。角度φを初期値φ0=πから目標値φ1に減じ、かつ、前述のプロセスに従って折り線の位置を合わせることによって、4つのパネル全ての位置は、図25〜図29に記載するように、各φ[φ0,φ1]に関して完全に定義される。図25〜図29は、下記の折り畳みを時間順に示している。
前述のプロセスは、全てのパネルの正確な位置を提供する。さらに、実用的な理由から、隣接するパネル間の角度値を計算することは有用であると思われる。パネルには、各折り線の角度α1,α2,α3,α4に従って、1、2、3、4の番号が付されている。
図30に示されるように、角度β1はパネル4と1の間の角度、β2はパネル1と2の間の角度、β3はパネル2と3の間の角度、β4はパネル3と4の間の角度と定義する。前項によると、β1(φ)=φは入力角度であり、β2(φ)=ψε(φ)となる。角度β3、β4は下記のように計算される。
最初に、パネル2、3、4の法線ベクトルが、各折り線を用いて計算される。パネル2の折り線は、u0とs(φ)なので、パネル2の法線ベクトルn2は、下記の正規化された外積となる。
パネル3の折り線は、w(φ)とs(φ)なので、パネル3の法線ベクトルn3は、下記の正規化された外積となる。
パネル4の折り線は、v0とw(φ)なので、パネル4の法線ベクトルn4は、下記の正規化された外積となる。
第2に、パネルは、局所的に、折り線で制限された、向きを有する半平面であると考えられる。半平面のどの辺がパネルを含むかを把握するために、いわゆる「辺ベクトル」が必要である。この辺ベクトルは、パネルの法線ベクトルと、局所的な位相幾何学的性質(トポロジ)に従った向きの折り線方向との外積によって定義される。命名規則は、mijは、パネルjに対して角度βiである折り線の辺ベクトルである、となる。各折り線を2つのパネルが共有しているので、8つの辺ベクトルが存在する。
図31は、初期の平面状態の上面図において、全ての位相的な向きを示したものである。法線ベクトルは、読者の方を向いている。定義に従うと、ベクトルmijは、下記のように計算される。
角度β3と角β4の余弦は、下記に示すように隣接する辺ベクトルの内積である。
湾曲値(sinus values)の符号を決めるために、いわゆる「扇形」が導入される。2つの隣接するパネルの扇形は、両パネルの法線ベクトルを含む3D空間の領域であると定義する。角度βiは、正確にこれらの扇形を画定する。実際、いわゆる「扇形の鋭角度」σi=1,...,4は、有用である。扇形の鋭角度は、辺ベクトルの合計と法線ベクトルの合計の内積の符号である。注目の鋭角度は、下記のようになる。
解釈としては、この内積が正の場合(負の場合)、扇形は鋭角(鋭角ではない)。図32および図33は、それぞれ、角度β3の鋭角の扇形と、角度β4の鋭角でない扇形を示す。法線ベクトルの合計Σniがゼロになると、または、辺ベクトルの合計Σmijがゼロになると、内積はゼロになる。辺ベクトルの合計がゼロになると、扇形は平らになり、角βはπとなる。法線ベクトルの合計がゼロになると、扇形は円形になり、角βは2πになる、または、扇形はナイフのような形状になり、角βは0度になる、これは等価である。図34〜図36は、扇形の消失を示す。最後に、角度βiの扇形が鋭角の場合、sin(βi)>0である。角度βiの扇形部分が鋭角でない場合、sin(βi)<0である。表Iおよび表IIは角度β3およびβ4のそれぞれに対して計算した結果を全て集めたものである。これで、隣接するパネル間の角度を決定するS40は終了する。
明らかに、S10で提供された幾何学的性質(ジオメトリ)に従って、制御法則は、角度βiの客観的値が可能か否かを示し、可能である場合のみ、残りの角度βiを決定する。
環が4つを超えるパネル(4つ以上のパネル)を有する一般的な場合を記載する。
このような場合、設計方法は、環が4つのパネルを有する場合に、制御法則を決定する理論的展開に基づいて、S20で制御法則を決定してよい。すなわち、決定するステップS20は、パネルを4つのグループに分けることを含むことができる。換言すれば、前記パネルを集めて、(前記環のパネルの総数に応じて)少なくとも1つのパネルからなるグループにしてよい。そして、少なくとも2つのパネルを含む各グループに関して、方法は、該グループのパネルと環を形成する仮想パネル(すなわち、仮想パネルとは、グループのパネルと共に隣接するパネルの環を形成する理論的パネルである)を決定することによって、それぞれが各グループに対応する、4つの隣接するパネル(仮想または仮想でない)からなる仮想の環を形成してよい。換言すれば、4つを超えるパネルからなる環は、4つのパネルの環に同化される。結果として、決定するステップS20は、(前述の)4つのパネルの場合に行ったのと同様に、仮想の環に対して定義された等式Fを定義することによって、簡単に終了してよく、S20で決定された制御法則は、単純に、前記等式Fの解を含んでよい。
4つのパネルの場合のこのような一般化に関する点としては、仮想パネルは、折り畳みシートオブジェクトの実際の初期パネルと違って、剛性でないことである。従って、仮想の環の連続する折り線間の角度は、必ずしも固定ではない。しかしながら、仮想の環に関してFを解くために、上記角度は固定される(従って、仮想パネルと共に環を形成するパネル間の角度は、折り畳みのシミュレーションの所与の時点で、決定値に設定される)。パネル間のこのような角度の設定方法については後述する。アルゴリズムの実装において、ここに記載の仮想パネルの作成に従って、反復を用いて、4つを超えるパネルの課題を4つのパネルの課題に導いてよいことに注意されたい。
一般化を、5つのパネルからなる環という具体的なケースを用いて説明する。
5つのパネルからなる環を扱う場合、方針としては、同等の4つのパネルの環を定義し、前述の式を再利用する。これは、2つの隣接するパネルを図37〜図39に示される同等のパネルで置き換えることによって、行われる。どの隣接するパネル対を同等のパネルで置き換えるかは、全体としての折り畳み戦略に左右され、ユーザの選択を伴ってよい。いわゆる「同等のパネル」または「仮想パネル」は、ψ+(・)とψ−(・)の閉形式を再利用するための仮構(artifact)であることは理解されたい。「同等のパネル」または「仮想パネル」は物理的なものではない。
図37は、初期の5つのパネルの環を示す。ここで、αi,i=1,・・・,5は、連続する折り線間の角度である。図38は、置き換えられる隣接するパネル対(2,3)と共に、同等のパネルを表示している。角度δは、同等のパネルの折り線間の角度である。図39は、同等の4つのパネルの環を示す。
4つのパネルの環の式を再利用するために、置き換えられた2つのパネルの角度に従って、同等のパネルの角度を計算する必要がある。図40および図41は、折り線ACを共有する隣接するパネルABCとADCと、同等のパネルABDとを示す。図42及び図43に示すように、
を2つの隣接するパネルの折り線間の各角度とし、θをそのパネルの平面間の角度とする。
そうすると、同等のパネルの角度
は、下記の式で求められる。
環が4つを超えるパネルを有しており、自由度が2以上(ここで記載する例)のとき、隣接するパネル対間の少なくとも1つの角度は、他の隣接するパネル対間の角度に応じて変動法則によって制御されてよい。従って、変動法則は、1つの値を他の値の制御の下におくことによって、2つの角度βiをリンクする関数である。このような変動法則は、4つを超えるパネルの折り畳みをシミュレーションするとき、ユーザのタスクを簡単にすることができる。該変動法則は、折り畳みの物理的または機械的制約から導き出されてよい。
本例において、折り畳み中、角度θは、駆動する角(driving angle)φに応じて変動法則によって制御される。この変動法則は、折り畳み戦略に左右され、ユーザの決定を伴ってよい。これは、置き換えるパネルの2つの折り線間の角度δが、移動中に変化してよいことを意味する。全てのデータを同じ図に集めると、図44のようになる。
駆動する角としてφを選択し、変動法則θ=θ(φ)に留意すると、角度δ=δ(α2,α3,θ(φ))は、前述の式に従って、φに関連付けられる。最後に、角度ψは、次の式で与えられ、ここで、ε{+,−}は、最初の選択によって決まる。
任意の数の折り線への一般化は、パネルの数が4になるまで隣接するパネル対を連続的に組み合わせることによって可能である。
例えば、6つのパネルの環α1,・・・,α6が与えられると、角度φは、隣接するパネル1と6間の角度を制御するとする。(1,2,3,4,5,6)は、一連の隣接するパネルを表す記号とする。ユーザの定義した折り畳み戦略に従って、パネル2と3を、(2,3)という記号の同等のパネルで置き換える。これは、パネル2と3との間の角度を制御する変動法則θl=θl(φ)を必要とし、これによって、同等のパネル(2,3)の折り線間の角度δ1(α2,α3,θl(φ))を導く。こうして、隣接するパネルの数を6から5に減らし、新しい数列は、(1,(2,3),4,5,6)となる。そして、ユーザが定義した折り畳み戦略に従って、隣接するパネル4と5は、(4,5)という記号の同等のパネルに置き換えられて、パネル4と5の間の角度を制御する別の変動法則θ2=θ2(φ)を必要とし、該同等のパネル(4,5)間の折り線の間の角度δ2(α4,α5,θ2(φ))を導く。これは、図45および図46に示される。
これで、隣接するパネルの数は4、新しい数列は(1,(2,3),(4,5),6)となり、パネル1とパネル(2,3)との間の角度を制御する次の式が可能になる。
隣接するパネル対を同等のパネルで置き換えるプロセスは、別の同等のパネルを伴ってよい。例えば、前述の例のようにパネル2と3を同等のパネル(2,3)で置き換えると、数列は(1,(2,3),4,5,6)となり、前述の折り畳み戦略では、図47および図48で示されるように、隣接するパネル(2,3)と4を((2,3),4)という記号の同等のパネルで置き換えることができる。
対応する数列は、(1,((2,3),4),5,6)となり、角度ψを求める式は、次のようになる。
角度ψは、パネル1とパネル((2,3),4)との間の角度を駆動する。