(57)【要約】  組立てブロックモデルのための組立て指示を作成するための、コンピュータによって実施される方法であって、組立てブロックモデルのデジタル表示を検索する工程であって、前記デジタル表示が、コンピュータによって実施される仮想組立てプロセス中にユーザコマンドに応答して複数の仮想組立てブロックが配置されている連続した組立て順序を示し、前記仮想組立てプロセスが、仮想組立てブロックモデルに結実する工程と、前記複数の仮想組立てブロックのそれぞれの第１および第２のサブセットの少なくとも１つの第１および第２の部品モデルのグラフィカルな表示を作成する工程であって、第２のサブセットが、前記複数の仮想組立てブロックの第１のサブセットおよび所定の数のさらなる仮想組立てブロックを含み、そのさらなる仮想組立てブロックが、連続した組立て順序から派生した連続した指示順序に関して、前記第１のサブセット内のすべての仮想組立てブロックの後になる工程とを含む方法。
2008502960.tif 000002
【特許請求の範囲】
【請求項１】
複数の組立てブロックを含む組立てブロックモデルのための組立て指示を作成する、コンピュータによって実施される方法であって、
ａ）前記組立てブロックモデルのデジタル表示を検索する工程を含み、前記デジタル表示は、コンピュータによって実施される仮想組立てプロセス中に、ユーザコマンドに応答して複数の仮想組立てブロックが配置されている連続した組立て順序を示し、前記仮想組立てプロセスは仮想組立てブロックモデルに帰着するものであり、さらに、
ｂ）前記複数の仮想組立てブロックのそれぞれの第１および第２のサブセットの少なくとも１つの第１および第２の部品モデルのグラフィカルな表示を作成する工程を含み、前記第２のサブセットは、前記複数の仮想組立てブロックの前記第１のサブセットおよび所定の数のさらなる仮想組立てブロックを含み、前記さらなる仮想組立てブロックは、前記連続した組立て順序から派生した連続した指示順序に関して、前記第１のサブセット内のすべての仮想組立てブロックの後になることを特徴とする方法。
【請求項２】
前記デジタル表示はデータレコードのシーケンスを含み、前記データレコードのそれぞれは前記複数の組立てブロックのうちの１つを表し、そして前記シーケンスは、前記モデルの作成中に前記仮想組立てブロックが配置された前記連続した組立て順序を表すことを特徴とする請求項１に記載の方法。
【請求項３】
前記デジタル表示は複数のデータレコードを含み、前記データレコードのそれぞれは前記複数の組立てブロックのうちの１つを表し、前記データレコードのそれぞれは、前記モデルの作成中に前記仮想組立てブロックが配置された前記連続した組立て順序内において対応する仮想組立てブロックの位置を示すデータアイテムを含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記連続した指示順序は前記連続した組立て順序と同じであることを特徴とする請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
前記連続した組立て順序を所定の並べ替え基準に従って修正して、前記連続した指示順序を得る工程をさらに含むことを特徴とする請求項１乃至３のいずれか１項に記載の方法。
【請求項６】
前記デジタル表示は、所定の座標系に関する前記仮想組立てブロックのそれぞれの各位置座標を含み、そして前記並べ替え基準は少なくとも１つの所定の方向に沿った前記位置座標を含むことを特徴とする請求項５に記載の方法。
【請求項７】
仮想組立てブロックモデルを対話式に組み立てる、コンピュータによって実施される組立て環境を用いて前記組立てブロックモデルの前記デジタル表示を作成する工程をさらに含み、前記作成する工程が、
複数の仮想組立てブロックを別の仮想組立てブロックと関連させてそれぞれの位置に配置する工程を含み、その結果として仮想組立てブロックモデルが作成され、そして前記仮想組立てブロックがユーザコマンドに応答した連続した組立て順序で配置され、前記作成する工程がさらに、
前記連続した組立て順序に関する情報を含む前記仮想組立てブロックモデルの前記デジタル表示を保存する工程を含むことを特徴とする請求項１乃至６のいずれか１項に記載の方法。
【請求項８】
前記コンピュータによって実施される組立て環境が、組立てブロックの互いの配置に課されている所定のセットの制約を義務付けるように構成されていることを特徴とする請求項７に記載の方法。
【請求項９】
前記コンピュータによって実施される組立て環境が、互いが所定の近さで配置されている２つの組立てブロックの対応する連結要素が前記２つの組立てブロックの間における連結を提供するかどうかを示す前記仮想組立てブロックの前記連結要素の連結性情報を検索するように構成されていることを特徴とする請求項８に記載の方法。
【請求項１０】
前記第１および第２のサブセットのそれぞれが、保存された連続した指示順序から仮想組立てブロックの途切れない部品シーケンスを構成することを特徴とする請求項１乃至９のいずれか１項に記載の方法。
【請求項１１】
グラフィカルな表示を作成する工程は、最初の部品モデルと、増加分の部品モデルのシーケンスと、完全なモデルとを含む部品モデルの対応するシーケンスのグラフィカルな表示のシーケンスを作成する工程とを含み、前記増加分の部品モデルのそれぞれは、前記シーケンスのうちの直前の増加分の部品モデルのすべての仮想組立てブロックと、前記複数の組立てブロックからの所定の数のさらなる仮想組立てブロックとを含み、そして前記完全なモデルは、前記複数の仮想組立てブロックのすべてを含むことを特徴とする請求項１乃至１０のいずれか１項に記載の方法。
【請求項１２】
前記作成されたグラフィカルな表示に関するユーザによってコントロールされる操作を容易にするユーザインタフェースを提供する工程をさらに含むことを特徴とする請求項１乃至１１のいずれか１項に記載の方法。
【請求項１３】
前記ユーザインタフェースは、ズームおよび回転のオペレーションのうちの少なくとも１つを提供することを特徴とする請求項１２に記載の方法。
【請求項１４】
前記ユーザインタフェースは、前記作成されたグラフィカルな表示のうちの選択された表示を表示する機能を提供することを特徴とする請求項１２または１３に記載の方法。
【請求項１５】
前記ユーザインタフェースは、部品モデルのグラフィカルな表示のシーケンスを表示する機能を提供し、そしてそれぞれのグラフィカルな表示は、次のグラフィカルな表示が自動的に表示される前に所定の時間にわたって表示されることを特徴とする請求項１４に記載の方法。
【請求項１６】
前記ユーザインタフェースは、前記グラフィカルな表示のうちの少なくとも１つを印刷すること、及び前記グラフィカルな表示のうちの少なくとも１つを所定のファイルフォーマットで保存することのうちの少なくとも１つを行う機能をさらに提供することを特徴とする請求項１２乃至１５のいずれか１項に記載の方法。
【請求項１７】
前記所定の数をユーザが選択することができることを特徴とする請求項１乃至１６のいずれか１項に記載の方法。
【請求項１８】
前記所定の数が１から６であり、好ましくは２から４であることを特徴とする請求項１乃至１７のいずれか１項に記載の方法。
【請求項１９】
前記モデルの前記第２のグラフィカルな表示を、前記第２の部品モデルを前記第１の部品モデルから区別する前記さらなる組立てブロックのグラフィカルな表示と共に提示する工程をさらに含むことを特徴とする請求項１乃至１８のいずれか１項に記載の方法。
【請求項２０】
前記連続した組立て順序は、ユーザコマンドに応答した組立てオペレーションの連続した順序を示し、そして、前記組立てオペレーションは、１つまたは複数のそれまでに追加された組立てブロックが前記仮想組立てブロックモデル内で配置し直される１つまたは複数の再配置オペレーションを含むことを特徴とする請求項１乃至１９のいずれか１項に記載の方法。
【請求項２１】
データ処理システム上で実行されたときに、請求項１乃至２０のいずれか１項に記載の方法の前記工程を前記データ処理システムに実行させるように適合されているプログラムコード手段を格納するデータ処理システム。
【請求項２２】
データ処理システム上で実行されたときに、請求項１乃至２０のいずれか１項に記載の方法の前記工程をデータ処理システムに実行させるように適合されているプログラムコード手段を含むコンピュータプログラム製品。
【請求項２３】
前記プログラムコード手段を格納しているコンピュータ読み取り可能な媒体を含むことを特徴とする請求項２２に記載のコンピュータプログラム製品。
【請求項２４】
請求項１乃至２０のいずれか１項に記載の方法の工程ａ）およびｂ）を実行するための第１のソフトウェアコンポーネントと、仮想組立てブロックモデルを対話式に組み立てるためのコンピュータによって実施される組立て環境を用いて前記組立てブロックモデルの前記デジタル表示を作成する前記工程を実行するための第２のソフトウェアコンポーネントとを含むことを特徴とする請求項２２または２３に記載のコンピュータプログラム製品。
【請求項２５】
プロセッサによって実行されたときに、請求項１乃至２０のいずれか１項に記載の方法の前記工程を前記プロセッサに実行させる命令のシーケンスを表す、搬送波内で具体化されるコンピュータデータ信号。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組立てブロックモデルのための組立て指示の作成に関する。
【背景技術】
【０００２】
物理的な組立て玩具セットのさまざまな公知のタイプのモデリングコンセプトが存在する。とりわけ、モジュール式または半モジュール式のコンセプトを使用するコンセプトは、おもしろくて意欲をかき立てる遊びの経験を提供するために、非常に人気が高い。通常、これらのコンセプトは、完成前の要素または組立てブロックのセットを提供し、これらは、完成前の要素のモジュールに従って何らかの所定の方法で相互に連結することができる。完成前の要素は、特定のモデリングタスクに適合したよく知られている物体に似ている。したがって、たとえば家のモデルを組み立てる場合には、それらの要素は、壁のレンガ、屋根瓦、ドア、および窓に似せることができる。このようにして要素を選択する目的は、新たなモデルを作成すべきたびに家の細部をすべて定義することになる状況と比較して、家のモデルを組み立てることに関連する作業が著しく少なくなることである。しかし、家または別の物体を組み立てる際の完全な自由は、モデルを組み立てることの単純さとトレードオフの関係にある。
【０００３】
たとえば、ＬＥＧＯ（登録商標）という名のもとで市販されている玩具組立てセットは、連結要素として突起部および対応するくぼみ部を有する複数の異なるタイプの相互に連結可能な組立てブロックを含む。それらの連結要素は、規則的なグリッドパターンに従って配置されており、それによって、組立てブロックどうしの間におけるさまざまな相互連結が可能となる。
【０００４】
通常、このような玩具組立てセットは、１つまたは複数の組立てブロックモデル、たとえば動物、ロボット、あるいは別の生き物、車、航空機、宇宙船、建物などを作成するのに適した組立てブロックのセットを含む。通常、組立てセットは、印刷された組立て指示または組合せ指示をさらに含み、この指示は、そのセットの組立てブロックから特定のモデルをどのようにして組み立てるかを説明する。しかしながら、このような組立てセットのおもしろい特徴は、子供たちを刺激して自分自身のモデルを作成する気にさせることである。
【０００５】
通常、玩具組立てセットに同封されている組立て指示は、どのようにして、またどの順序で組立てブロックをモデルに追加するかを段階的に説明する一連の絵（絵のシーケンス）を含む。このような組立て指示は、玩具組立てセットにおける経験があまりない、および／または字が読めない子供たちにとってさえ理解しやすいという利点を有する。
【０００６】
しかし、このような組立て指示は、作成するのに手間および費用がかかるという不利な点を有する。通常、組立て指示が作成される対象となるモデルは、妥当な組立て工程へと分解され、それぞれの組立て工程は、次いでＣＡＤシステムにおいて描画され、最終的に印刷される。
【０００７】
より最近では、組立て指示は、印刷された形式ではなく、電子的な形式で作成されている。とりわけ、動画化された組立て指示では、より複雑な組立て工程が動画化されている。しかし、そのような組立て指示を作成するには、熟練した設計者による組立て工程の設計および描画／動画化がやはり必要となる。
【０００８】
上述の作成プロセスは、高い技能を必要とし、手間がかかるという不利な点を有する。結果として、組立て指示は通常、組立てブロックの製造業者によって設計された組立てブロックモデルのために存在するだけとなる。とりわけ、組立て指示を作成するための上述の従来技術の方法は、自分自身のモデルのための組立て指示を作成し、それによって自分のモデルを自分の友達と共有できるようにしたいと希望する子供たちには適していない。
【０００９】
効果的で理解しやすい段階的な組立て指示の設計は、いくつかの研究の対象にもなってきた。ｈｔｔｐ：／／ｇｒａｐｈｉｃｓ．ｓｔａｎｆｏｒｄ．ｅｄｕ／ｐａｐｅｒｓ／ａｓｓｅｍｂｌｙ＿ｉｎｓｔｒｕｃｔｉｏｎｓ／から検索されるＭ．Ａｇｒａｗａｌａ外のによるインターネット刊行物「Ｄｅｓｉｇｎｉｎｇ  Ｅｆｆｅｃｔｉｖｅ  Ｓｔｅｐ−ｂｙ−Ｓｔｅｐ  Ａｓｓｅｍｂｌｙ  Ｉｎｓｔｒｕｃｔｉｏｎｓ」は、認知心理学に基づく効果的な組合せ指示のための設計原理について記載している。この記事は、組み合わせる物体、組み合わせる向き、およびグラフィカルなレンダリングのためのカメラの視点のそれぞれに関する情報、グループ分けの情報、留め具、部品の重要性、対称に関する、および組合せの順序についての制約に関する情報に基づいて組合せ指示を作成するためのコンピュータ化されたシステムをさらに開示している。この入力に基づいて、システムは、与えられた制約を考慮に入れて、広範囲に及ぶ検索アルゴリズムに基づいて組合せ工程のシーケンスを計算する。
【特許文献１】米国特許第６，３８９，３７５号明細書
【特許文献２】国際公開第２００４／１０４８１１号パンフレット（国際出願ＰＣＴ／ＤＫ２００４／０００３４１号明細書）
【特許文献３】国際公開第２００４／０３４３３３号パンフレット
【非特許文献１】ｈｔｔｐ：／／ｇｒａｐｈｉｃｓ．ｓｔａｎｆｏｒｄ．ｅｄｕ／ｐａｐｅｒｓ／ａｓｓｅｍｂｌｙ＿ｉｎｓｔｒｕｃｔｉｏｎｓ／（Ｍ．Ａｇｒａｗａｌａ外、「Ｄｅｓｉｇｎｉｎｇ  Ｅｆｆｅｃｔｉｖｅ  Ｓｔｅｐ−ｂｙ−Ｓｔｅｐ  Ａｓｓｅｍｂｌｙ  Ｉｎｓｔｒｕｃｔｉｏｎｓ」）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
上述の従来技術のシステムの問題は、計算上のコストがかさみ、複雑な入力データを必要とし、したがって高度な抽象的思考をユーザに要求することである。
【００１１】
したがって、とりわけ、組立て指示を作成するための上述の従来技術の方法のうちのいずれも、自分自身のモデルのための組立て指示を作成し、それによって自分のモデルを自分の友達と共有できるようにし、遊びの経験をさらに高めたいと希望する子供たちには適していない。
【課題を解決するための手段】
【００１２】
上述およびその他の問題は、組立てブロックモデルのための組立て指示を作成するための、コンピュータによって実施される方法によって解決され、そのモデルは、複数の組立てブロックを含み、この方法は、
ａ）組立てブロックモデルのデジタル表示を検索する工程であって、前記デジタル表示が、コンピュータによって実施される仮想組立てプロセス中にユーザコマンドに応答して複数の仮想組立てブロックが配置されている連続した組立て順序を示し、前記仮想組立てプロセスが、仮想組立てブロックモデルに結実する工程と、
ｂ）前記複数の仮想組立てブロックのそれぞれの第１および第２のサブセットの少なくとも１つの第１および第２の部品モデルのグラフィカルな表示を作成する工程であって、第２のサブセットが、前記複数の仮想組立てブロックの第１のサブセットおよび所定の数のさらなる仮想組立てブロックを含み、そのさらなる仮想組立てブロックが、連続した組立て順序から派生した連続した指示順序に関して、第１のサブセット内のすべての仮想組立てブロックの後になる工程とを含む。
【００１３】
従って、組立て指示が作成される対象となるモデルの仮想バージョンを組み立てるユーザは、組合せ工程の自然なシーケンスを採用するということが分かっている。したがって、ユーザによって採用される組合せ工程の順序を記録および保存することによって、組立て指示を作成する際に工程の順序を使用することができる。この計算の面で簡単な方法によって作成される組立て指示は、他のユーザ、とりわけ子供たちにとって理解しやすいということが判明している。
【００１４】
さらに、組立て指示への入力は、仮想モデルのデジタル表示、および仮想モデルの作成中に記録される仮想組立て工程のシーケンスに関する情報だけであるため、組立て指示は、設計の技能または幾何学や制約などに関する抽象的な知識をユーザが持ち合わせていることを必要とせず、ユーザにとっては作成するのが容易である。
【００１５】
仮想組立てブロックを配置することは、たとえば基準の座標系に対して組立てブロックの所望の向きを選択することを含むことができる。したがって、いくつかの実施形態においては、仮想組立てブロックを配置することは、３次元の座標系に対して仮想組立てブロックを配置してその向きを選択することを含む。
【００１６】
好ましい一実施形態においては、デジタル表示は、データレコードのシーケンスを含み、そのデータレコードのそれぞれは、複数の組立てブロックのうちの１つを表し、前記シーケンスは、モデルの作成中に仮想組立てブロックが配置された連続した組立て順序を表す。したがって、個々の組立てブロックのためのデータレコードは、それらの組立てブロックがモデルに追加されたりモデル内で配置し直されたりしたのと同じ順序で保存されるため、連続した順序に関する情報は、さらなるデータアイテムを必要とせずにデジタル表示内に自動的に含まれ、それによって特にコンパクトな表示が提供される。さらに、部品モデルのグラフィカルな表示を作成する際には、次の工程において追加される（１つまたは複数の）次の組立てブロックを識別するためにデータレコードの全体を通じた検索を行う必要はない。
【００１７】
ある代替実施形態においては、デジタル表示は、複数のデータレコードを含み、そのそれぞれは、複数の組立てブロックのうちの１つを表し、それぞれのデータレコードは、モデルの作成中に仮想組立てブロックが配置された前記連続した順序内における対応する仮想組立てブロックの位置を示すデータアイテムを含む。したがって、連続した順序付け内におけるそれぞれの組立てブロックの位置が明示的に保存されるため、この方法は、デジタル表示のフォーマット上にいかなる順序付けの制約も課さない。順序付けの情報は、たとえばシーケンス番号をそれぞれの組立てブロックに割り当てることによって、あるいはそれぞれのデータレコードがシーケンス内の次の組立てブロックへのポインタを含むリンクされたリストとしてデータレコードを保存することによってなど、さまざまな方法でデジタル表示内に含めることができるという点を理解されたい。
【００１８】
一実施形態においては、連続した指示順序は、記録された連続した組立て順序と同じであり、それによって、保存されたデータレコードを再び並べ替える必要がいっさいなくなる。別の好ましい実施形態においては、この方法は、連続した組立て順序を所定の並べ替え基準に従って修正して、連続した指示順序を得る工程をさらに含み、これによって、仮想組立てプロセス内では実施されない物理的な組立てプロセスの制限を考慮に入れるためのメカニズムが提供される。いくつかの実施形態においては、連続した順序の修正は、デジタル表示を保存する前に実行され、その結果、組立て順序に関する、および連続した順序のすべての修正に関する情報を含むモデルのデジタル表示が生成される。たとえば、組立てブロックデータレコードは、修正された連続した順序で保存することができる。別法としては、デジタル表示が、記録された組立て順序で保存され、いかなる修正も、グラフィカルな表示を作成する一環として実行される。
【００１９】
詳細には、デジタル表示が、所定の座標系に関する仮想組立てブロックのそれぞれの各位置座標を含む場合に、および前記並べ替え基準が、少なくとも１つの所定の方向、好ましくは、組立てブロックモデルが組み立てられる際の基盤となるベースプレートから突き出る方向に沿った前記位置座標を含む場合に、とりわけ理解しやすいユーザ指示が得られるということが判明している。
【００２０】
別の好ましい実施形態においては、この方法は、仮想組立てブロックモデルを対話式に組み立てるためにコンピュータによって実施される組立て環境を用いて組立てブロックモデルのデジタル表示を作成する工程をさらに含み、その作成する工程は、
−複数の仮想組立てブロックを別の仮想組立てブロックと関連させてそれぞれの位置に配置する工程であって、その結果として仮想組立てブロックモデルが作成され、仮想組立てブロックが、ユーザコマンドに応答した連続した組立て順序で配置される工程と、
−前記連続した組立て順序に関する情報を含む前記仮想組立てブロックモデルのデジタル表示を保存する工程とを含む。
【００２１】
仮想組立てブロックモデルを対話式に組み立てるためにコンピュータによって実施される組立て環境は、コンピュータプログラムを含み、このコンピュータプログラムは、コンピュータ上で実行されたときに、グラフィカル  ユーザ  インタフェースを提供し、このグラフィカル  ユーザ  インタフェースによってユーザは、組立てブロックを選択すること、組立てブロックをモデルに追加すること、組立てブロックをモデルから削除すること、組立てブロックの向きを変更すること、組立てブロックのプロパティ、たとえば色、タイプ、サイズなどを変更すること、モデルを表示すること、モデルのデジタル表示を保存すること、それまでに保存されたモデルのデジタル表示をロードすることなどのオペレーションを含めて、仮想組立てブロックモデルを操作できることが好ましい。
【００２２】
仮想組立てブロックは、対応する物理的な組立てブロックの仮想上の対応物であること、すなわち対応する相対的なサイズ、形状、色などを有することが好ましい。
【００２３】
さらに好ましい実施形態においては、コンピュータによって実施される組立て環境は、組立てブロックのお互いに対する相対的な位置に課されている所定のセットの制約を義務付けるように構成されている。それらの制約は、対応する物理的な組立てブロックに適用可能な対応する制約に相当することが好ましく、それによって仮想組立てブロックモデルは、対応する物理的な組立てブロックからも実際に組み立てることができる。したがってこの方法は、作成された組立て指示が、実際に実現可能であること、すなわち所望の結果へとつながることを確実にするという点が利点である。
【００２４】
そのような制約の一例は、新たに配置される組立てブロックと、それまでに配置された組立てブロックとの間における不調和を検出することである。さらに、多くの玩具組立てセットにおいては、組立てブロックは、お互いに対して相互に連結可能であり、すなわち、その他のそのような組立てブロックの連結要素にぴったりとはまるように適合されている連結要素を含む。たとえば突起部は、お互いに対して正しい位置に配置されたときに、対応するくぼみ部にぴったりとはまるなど、連結は、適合する連結要素どうしの間でのみ可能であるため、このような連結要素は、組立てブロックの考えられる配置にさらなる制約を課す。したがって、好ましい一実施形態においては、コンピュータによって実施される組立て環境は、お互いから所定の近さに配置されている２つの組立てブロックの対応する連結要素がそれらの２つの組立てブロックの間における連結を提供するかどうかを示す仮想組立てブロックの連結要素の連結性情報を検索するように構成されている。
【００２５】
それぞれのグラフィカルな表示が、部分的な組立てブロックモデル、すなわち連続した順序付けの部品シーケンスの組立てブロックを含む組立てブロックモデルのグラフィカルなレンダリングを含むことが好ましい。さらなる好ましい実施形態においては、第１および第２のサブセットのそれぞれが、保存された連続した順序から仮想組立てブロックの途切れない部品シーケンスを構成し、それによって、それぞれのグラフィカルな表示が、所定の数の組立てブロックがモデルに追加される組立てプロセス内の１つの工程に対応する理解しやすい組立て指示が提供される。ユーザは、２つの連続したグラフィカルな表示を比較することによって、それぞれの工程においてどの組立てブロックが追加されるか、およびそれらがどのように追加されるかを容易に判断することができる。
【００２６】
この方法は、グラフィカルな表示を表示するためのユーザインタフェースを提供する工程をさらに含み、そのユーザインタフェースは、好ましくは、作成されたグラフィカルな表示のユーザによってコントロールされる操作を容易にする場合には、便利なことに、組立てブロックモデルのデジタル表示をコンピュータ上に表示することができる。詳細には、モデルのデジタル表示は、組立て指示を作成するのに必要とされるすべての情報を含むため、便利なことに、組立て指示は、１つのコンピュータから別のコンピュータへ伝達すること、たとえば記録メディア上に保存し、通信ネットワークを介して、たとえばＥメールの添付ファイルとして送信すること、ウェブサーバ上にアップロードすることなどができる。したがってデジタル表示の受け手は、グラフィカルな表示を表示し、それを操作すること、たとえば視角を変更すること、ズーム、表示オプションを変更することなどができる。したがってユーザは、自分の組立て指示を友達に容易に伝達することができる。デジタル表示は、指示のそれぞれの工程のグラフィカルなレンダリングを含む必要はなく、それによってデジタル表示のファイルサイズを小さくしておけることが、さらなる利点である。さらにデジタル表示は、すべての関連するモデル情報を含むことが好ましいため、モデルの受け手は、組立て指示を作成する前にモデルを修正することさえできる。
【００２７】
ユーザインタフェースは、作成されたグラフィカルな表示のうちの選択された表示を表示するための、およびズーム、回転などのオペレーションを提供するための機能を提供することが好ましい。したがってユーザは、指示を表示する際に好ましい視点を選択すること、およびその視点を変更することさえでき、それによって、計算上のコストがかかる３Ｄ計算を行う必要なく、新たに配置される組立てブロックが見えない位置に配置されることによって引き起こされるあらゆる問題を回避する。ユーザインタフェースが、部品モデルのグラフィカルな表示のシーケンスを表示する機能を提供し、それぞれのグラフィカルな表示が、次のグラフィカルな表示が自動的に表示される前に所定の時間にわたって表示されることがさらに好ましい。したがってユーザは、組立て指示を実際の組立てプロセスのスライドショーまたはアニメーションとして表示することができ、それによって指示の理解がさらに容易になる。
【００２８】
ユーザインタフェースは、グラフィカルな表示のうちの少なくとも１つを印刷するための、および／またはグラフィカルな表示のうちの少なくとも１つを所定のファイルフォーマットで保存するための機能をさらに提供し、それによって、印刷されたおよび／または電子的な組立て指示の作成を可能にすることが好ましい。適切なファイルフォーマットの例としては、ＨＴＭＬ、ＸＭＬ、ＢＭＰ、ＴＩＦＦなどが含まれる。
【００２９】
好ましい一実施形態においては、段階的な指示の１つの工程において追加されるさらなる仮想組立てブロックの所定の数をユーザが選択することができ、それによってユーザは、たとえばそれぞれの工程が単一の新たな組立てブロックの配置に対応する非常に詳しい段階的な指示と、それぞれの工程が多数の新たに配置されるブロックに対応する非常にコンパクトな指示との間で選択を行うことができる。所定の数が、１乃至６、好ましくは２乃至４から選択される場合に、多くのモデルにとって理解しやすい指示が実現されるということが判明している。しかし、その他の工程のサイズも可能である。いくつかの実施形態においては、それぞれの工程において追加される組立てブロックの数は、すべての工程で同じである。他の実施形態においては、追加されるさらなるブロックの数は、組立て指示の別々の工程ごとに異なるものとすることができる。たとえば工程のサイズは、それぞれの工程ごとにユーザによってコントロールすることができ、それによって、組立てのさらに複雑な部品に関するさらにきめ細かい指示を作成することができる。
【００３０】
この方法は、モデルの第２のグラフィカルな表示を、第２の部品モデルを第１の部品モデルから区別するさらなる組立てブロックのグラフィカルな表示と共に提示する工程をさらに含む場合には、ユーザには、それぞれの工程においてどの組立てブロックが追加されるかがすぐに分かるため、特に効果的な組立て指示が提供される。代替として、または追加として、たとえば部品モデル内の新たに配置される組立てブロックを別の色で、半透明にして、あるいは周りを囲む四角い枠を用いることなどでレンダリングすることによって、新たに配置される組立てブロックをさまざまな方法で強調表示することができる。
【００３１】
本発明は、上述および後述の方法と、データ処理システムと、さらなる作成手段とを含むさまざまな方法で実装することができ、そのそれぞれは、最初に述べた方法に関連して説明した利点および長所のうちの１つまたは複数をもたらし、またそのそれぞれは、最初に述べた方法に関連して説明した、およびそれに関連する従属請求項において開示されている好ましい実施形態に対応する１つまたは複数の好ましい実施形態を有する。
【００３２】
詳細には、上述および後述の方法の機能は、ソフトウェア内に実装して、データ処理システム、またはコンピュータ実行可能命令の実行によってもたらされるその他の処理手段上で実行することができる。それらの命令は、記録メディアから、またはコンピュータネットワークを介して別のコンピュータから、ＲＡＭなどのメモリ内にロードされるプログラムコード手段とすることができる。あるいは、説明した機能は、ソフトウェアではなくハードワイヤードの回路によって、またはソフトウェアと組み合わせて実装することもできる。
【００３３】
したがって、本発明はさらに、上述および後述の方法を実行するように適合されているデータ処理システムに関する。本発明はさらに、コンピュータプログラムがコンピュータ上で実行されたときに上述および後述の方法のすべての工程を実行するためのプログラムコード手段を含むコンピュータプログラムに関する。本発明はさらに、コンピュータプログラム製品がコンピュータ上で実行されたときに上述および後述の方法を実行するためのプログラムコード手段を含むコンピュータプログラム製品に関する。このプログラムコード手段は、コンピュータ可読メディア上に保存すること、および／または伝搬されるデータ信号として具体化することができる。
【００３４】
このコンピュータプログラムは、最初に述べた方法の工程ａ）およびｂ）を実行するための第１のソフトウェアコンポーネントと、仮想組立てブロックモデルを対話式に組み立てるためのコンピュータによって実施される組立て環境を用いて組立てブロックモデルのデジタル表示を作成する工程を実行するための第２のソフトウェアコンポーネントとを含み、それによって、モデルのデジタル表示を読み取って、対応する組立て指示を提示するための別個のソフトウェアコンポーネントを提供することが好ましい。したがって、組立て指示を伝達する際、ユーザは、デジタル表示を第２のソフトウェアコンポーネントと共に伝達することができ、それによって、受け手がさらなるソフトウェアを必要とせずに見ることができる組立て指示のコンパクトな自己完結型の表示が提供される。
【００３５】
本発明について、好ましい実施形態に関連して、図面を参照しながら、以降でさらに十分に説明する。
【発明を実施するための最良の形態】
【００３６】
図１ａ乃至図１ｂは、幾何学的な物体のコンピュータ可読モデルを作成して操作するためのデータ処理システムを示している。
【００３７】
図１ａは、コンピュータシステムの一例の概略図を示している。このコンピュータシステムは、適切にプログラムされたコンピュータ１０１、たとえばパーソナルコンピュータを含み、このコンピュータ１０１は、ディスプレイ１２０と、キーボード１２１と、コンピュータマウス１２２および／またはタッチパッド、トラックボール、ライトペン、タッチスクリーンなどの別のポインティングデバイスとを含む。
【００３８】
１０１と指名されたコンピュータシステムは、仮想組立てブロックモデルを設計すること、保存すること、操作すること、および共有すること、ならびに本明細書に記載されているように組立て指示を作成することを容易にするように適合されている。コンピュータシステム１０１は、スタンドアロンのシステムとして、またはクライアント／サーバ  システム内のクライアントとして使用することができる。いくつかの実施形態においては、このコンピュータシステムは、コンピュータをコンピュータネットワーク、たとえばインタネットと接続するための１つまたは複数のインタフェースをさらに含む。
【００３９】
図１ｂは、組立てブロックモデルのための組立て指示を作成するためのデータ処理システムのブロック図を示している。コンピュータ１０１は、メモリ１０２を含み、このメモリ１０２は、部分的には揮発性のメモリ手段として、また部分的には不揮発性のメモリ手段、たとえばランダム  アクセス  メモリ（ＲＡＭ）およびハードディスクとして実装することができる。このメモリは、モデル  コード  インタプリタ１０７、モデル  コード  ジェネレータ１０８、ＵＩイベントハンドラ１０９、モデリングアプリケーション１１０、および組立て指示ジェネレータ１１３をその上に格納しており、これらはそれぞれ、中央処理装置１０３によって実行することができる。さらに、このメモリは、モデルデータ１１１、すなわち仮想組立てブロックモデルのデジタル表示を表すデータ構造のセットをその中に格納している。
【００４０】
コードインタプリタ１０７は、モデルを定義するコード、すなわちモデルの組立てブロックデータ構造を表すコードを読み取って解釈するように適合されている。好ましい一実施形態においては、コードインタプリタは、モデルを読み取るように、およびそのようなモデルを、コンピュータディスプレイ上に提示するための公知のグラフィックフォーマット、好ましくはモデルの３Ｄレンダリングへと変換するように適合されている。
【００４１】
ＵＩイベントハンドラ１０９は、ユーザとユーザインタフェースとの対話を、コードジェネレータ１０８によって認識できる適切なユーザコマンドへと変換するように適合されている。考えられる認識可能なコマンドのセットとしては、要素のライブラリから組立てブロックを得ること、別の組立てブロックに連結するために組立てブロックを配置すること、組立てブロックを切り離すこと、組立てブロックを切り捨てること、たとえば回転を開始することによって１つの組立てブロック、組立てブロックのグループなどを操作することなどを含むことができる。それぞれのコマンドと共に、たとえばディスプレイの座標系に関連するカーソル座標、組立てブロックのタイプなど、それぞれのパラメータのセットを関連付けることができる。
【００４２】
コードジェネレータ１０８は、ユーザのコマンドに応答してモデルのデータ構造を修正するように適合されている。同時並行のタスクまたは後続のタスクとして、コードジェネレータの結果を提示するためにコードインタプリタを実行することができる。
【００４３】
モデリングアプリケーション１１０は、メモリ、ファイル、ユーザインタフェースなどをコントロールするように適合されている。
【００４４】
組立て指示アプリケーション１１３は、モデルデータを読み取るように、および後述のように組立て工程の保存されたシーケンスに従って部品モデルを表示するためのユーザインタフェースを提供するように適合されている。組立て指示アプリケーション１１３は、モデルを読み取ってグラフィカルにレンダリングするためにコードインタプリタ１０７によって提供される機能を、およびユーザ入力を受け取るためにＵＩイベントハンドラ１０９によって提供される機能を、それぞれ使用する。代替実施形態においては、組立て指示アプリケーションは、自己完結型であり、すなわち外部のソフトウェアコンポーネントに依存しない。
【００４５】
ユーザ１０５は、ユーザインタフェース１０６（コンピュータスクリーン上に表示されるグラフィカル  ユーザ  インタフェースを含むことが好ましい）と、キーボードおよび／またはポインティングデバイスなどの１つまたは複数の入力デバイスとを用いて、コンピュータシステム１０１と対話することができる。
【００４６】
モデル、幾何学的な描写、またはその他のデータをロードし、保存し、または伝達するために、このコンピュータシステムは、入力／出力ユニット（Ｉ／Ｏ）１０４を含む。入力／出力ユニットは、さまざまなタイプの記録メディア、およびさまざまなタイプのコンピュータネットワーク、たとえばインターネットへのインタフェースとして使用することができる。さらに、入力／出力ユニット（Ｉ／Ｏ）１０４は、たとえば対話式に他のユーザとモデルをやり取りするために使用することができる。
【００４７】
メモリ１０２、中央処理装置（ＣＰＵ）１０３、ユーザインタフェース（ＵＩ）１０６、および入力／出力ユニット１０４の間におけるデータのやり取りは、データバス１１２を用いて達成される。
【００４８】
図１のデータ処理システムは、モデリングアプリケーションおよび組立て指示アプリケーションの双方を実行するように構成されているという点に留意されたい。しかし、その他の実施形態においては、このデータ処理システムは、モデリングアプリケーションが実行されている別のコンピュータから受け取られたモデルデータに基づいて組立て指示アプリケーションを実行するようにのみ構成することができる。同様に、前記他のコンピュータ上には、モデリングアプリケーションを単独でインストールすることもでき、あるいは組立て指示アプリケーションと共にインストールすることもできる。
【００４９】
図２は、組立て指示の作成の一実施形態の流れ図を示している。このプロセスは、工程Ｓ１および工程Ｓ２を含むモデル作成ステージ２０６と、工程Ｓ３および工程Ｓ４を含む組立て指示作成ステージ２０７とに分割されている。モデル作成ステージ２０６は、組立て指示作成ステージ２０７への入力である組立てブロックモデルのデジタル表示を作成する。双方のステージは、同一のコンピュータ上で実行することもでき、あるいは別々のコンピュータ上で実行することもできるという点が、このモジュール式のプロセスの利点である。
【００５０】
最初の工程Ｓ１においては、仮想組立てモデルのデジタル表示が、モデル作成モジュール、たとえば図１ｂのモデリング  アプリケーション１１０によって作成される。モデリングは対話式に行われ、これによってユーザ２０２は、あらかじめ定義された仮想組立てブロックのセットから仮想組立てブロックモデルを組み立てることができる。仮想組立てブロックは、それぞれのデータ構造として記録メディア２０１上に保存される。たとえばデータレコードは、モデリング  アプリケーションが実行されているコンピュータ上にローカルに保存することができる。代替として、または追加として、記録デバイス、たとえばＣＤ  ＲＯＭから、またはコンピュータネットワークを介して、たとえばインターネット上のウェブサイトから組立てブロックの定義をダウンロードすることによって、組立てブロックの定義を検索することができる。
【００５１】
モデルの作成中には、ユーザは通常、複数の組立てブロックを一度に１つずつ選択すること、およびその選択した組立てブロックをモデルに追加すること、すなわち、それまでに置かれた組立てブロックに対してそのブロックを配置することによって、仮想組立てブロックモデルを作成する。便利なことに、このような配置オペレーションは、ドラッグ  アンド  ドロップ  オペレーション、または類似した対話式の選択および配置オペレーションによって実行することができる。
【００５２】
バーチャル  リアリティ  モデリングの一実施形態は、米国特許第６，３８９，３７５号明細書に記載されている。さらに、３Ｄ構造を含むシーン内へ新たな仮想組立てブロックを対話式に配置するプロセスの一実施形態は、同時係属の国際出願ＰＣＴ／ＤＫ２００４／０００３４１号明細書（国際公開第２００４／１０４８１１号パンフレット）に記載されている。双方の文書については、その全体を参照によって本明細書に組み込む。
【００５３】
組立てプロセスは、組立てブロックを削除すること、組立てブロックを別の位置へ移動すること、組立てブロックの向きを直すこと、組立てブロックの属性／プロパティを変更することなどを含めて、既にモデル内に配置されている組立てブロックの操作をさらに含むことができるということを理解されたい。
【００５４】
ユーザは通常、たとえば新たに選択した組立てブロックを追加することによって、またはそれまでに配置された組立てブロックを配置し直すことによって、一度に１つの組立てブロックを配置するため、組立てプロセスは、組立て工程の連続した順序を課す。この連続した順序は、モデリング  アプリケーションによって記録される。しなしながら、いくつかの実施形態においては、いくつかの組立てブロックを同時に配置することができる。たとえば、いくつかの実施形態においては、モデリング  アプリケーションは、コピー  アンド  ペースト機能を提供し、その場合には、ユーザコマンドに応答して、１つまたは複数の相互に連結された組立てブロックを選択することができ、選択された下部構造のコピーをモデルの別々の位置に配置することができる。この実施形態においては、選択された組立てブロックのそれぞれは、連続した順序付けの中に１つの位置を有する。複数の組立てブロックのコピーを作成する場合には、それらの組立てブロックは、他の選択されてコピーされた組立てブロックに対する自分の相対的な連続した順序付けを保持し、それによって、コピーオペレーション中に別の組立てブロックに対する自分の相対的な連続した順序付けを簡単に維持する。
【００５５】
工程Ｓ１におけるモデルの作成が完了すると、そのモデルのデジタル表示が、工程Ｓ２においてモデリング  アプリケーションによって保存される。通常、保存工程は、対応するユーザコマンドによって開始される。
【００５６】
工程Ｓ２においては、デジタル表示は、記録メディア２０３内に、たとえばモデリングアプリケーションを実行しているコンピュータのローカルハードディスク上に、ＣＤ  ＲＯＭ上に、ディスケット上などに保存される。代替として、または追加として、モデルのデジタル表示は、離れた場所に保存することもでき、たとえば、そのデジタル表示が保存されているコンピュータネットワークの別のコンピュータへ送信することができる。たとえばデジタル表示は、ウェブサーバへアップロードすることができ、そこでその他のユーザにとって利用可能にすることができる。
【００５７】
デジタル表示の好ましいデータ構造について、以降で説明する。工程Ｓ３においては、組立て工程の記録された連続した順序に関する保存された情報を含むデジタル表示が、組立て指示アプリケーションによって記録メディア２０３からロードされる。
【００５８】
工程Ｓ４においては、組立て指示アプリケーションは、ロードされたデジタル表示から組立て指示２０５を作成する。具体的には、組立て指示アプリケーションは、部品モデルの３Ｄビューのシーケンスを作成し、そこでは、所定の数のさらなる組立てブロックが、組立て工程の保存されたシーケンスに従って、またはそこから派生した順序に従ってモデルに追加されるという点において、それぞれの部品モデルが、直前の部品モデルから区別される。組立て指示プロセスの好ましい実施形態について、以降で図７乃至図１１を参照して説明する。組立て指示２０５は、電子的に提示することもでき、印刷することもでき、あるいは別の適切な方法で提示することもできる。いくつかの実施形態においては、組立て指示の作成は、ユーザ２０４によってコントロールすることができる。たとえばユーザは、それぞれの工程において追加されるさらなる組立てブロックの数を選択することができる。さらにユーザは、後述するように、カメラ位置の変更などを含めて、作成された３Ｄビューを操作することができる。ユーザ２０４は、ユーザ２０２と同一のユーザとすることもでき、あるいは別のユーザとすることもできる。
【００５９】
図３は、仮想組立てブロックシステムのグラフィカル  ユーザ  インタフェースを示している。このユーザインタフェースは、ベース  プレート３０２と共に３Ｄシーンのビューを表示するディスプレイ領域３０１と、複数の相互に連結された仮想組立てブロック３０４を含む３Ｄ構造３０３とを含む。このシーンは、所定の視点から表示される。以降では、この視点を（仮想）カメラ位置とも呼ぶ。というのも、この視点は、ディスプレイ領域内に表示されるグラフィカルな絵に対応する実際の構造の写真をカメラがそこから記録するという位置に相当するためである。
【００６０】
組立てブロック３０４のそれぞれは、グラフィカル  ユーザ  インタフェースのアクティブな要素に対応し、この要素は、たとえばその組立てブロックを選択するためにコンピュータマウスを用いてその上をクリックすることによって、アクティブにすることができる。一実施形態においては、選択された仮想組立てブロックは、外観が変わる。たとえば、選択された組立てブロックは、色、テクスチャなどを変更することができ、その選択された組立てブロックの周りを囲む四角い枠などを表示することによって、強調表示することができる。ユーザは、選択された組立てブロックを操作することができ、たとえば、そのプロパティ、たとえばその色を変更すること、そのブロックを削除すること、コピー  アンド  ペースト  オペレーションを実行すること、そのブロックを別の位置へドラッグすること、そのブロックを回転させることなどができる。
【００６１】
このユーザインタフェースは、パレットパネル３０５をさらに含み、このパレットパネル３０５は、ユーザによって選択することができる複数の異なる組立てブロック３０６を含む。たとえばユーザは、マウスを用いて組立てブロック３０６のうちの１つの上をクリックし、それによってその組立てブロックを選択し、その選択した組立てブロックをディスプレイ領域３０１内へドラッグして、その組立てブロックを構造３０３に、またはベースプレート３０２に連結することができる。
【００６２】
このユーザインタフェースは、メニューバー３０７をさらに含み、このメニューバー３０７は、さまざまな機能またはツールをアクティブにするための複数のメニューボタン３０８を含む。たとえばツールバーは、仮想カメラ位置を変更するための回転ツールを含むことができ、それによってユーザは、組立てエリアをさまざまな方向から見ることができる。メニューバーは、３Ｄシーンへズームインする、及び／または、３Ｄシーンからズームアウトするためのズームツールをさらに含むことができる。ツールのその他の例としては、それぞれが組立てブロックの別々のセットを含むさまざまなパレット３０５を選択するためのパレットツール、構造の部品を彩色するための彩色ツール、組立てブロックを消すための消しゴムツールなどが含まれる。
【００６３】
メニューバー３０７は、モデルを保存する機能、それまでに保存されたモデルを開く機能、モデルの画像を印刷する機能、ヘルプ機能など、標準的な機能をさらに提供することができる。
【００６４】
図４は、組立てブロックおよびその連結要素の一例を示している。具体的には、図４は、組立てブロック４０１の斜視図を示している。組立てブロック４０１は、８つのノブ４０３ａ〜４０３ｈを備えた上面４０２を有し、これらのノブ４０３ａ〜４０３ｈは、別の組立てブロックの対応する穴、たとえば別の組立てブロックの底面の穴にはめ込むことができる。これに対応するものとして、組立てブロック４０１は、対応する穴を備えた底面（図示せず）を含む。組立てブロック４０１は、側面４０４をさらに含み、この側面４０４は、連結要素をまったく含まない。
【００６５】
一般に、連結要素は、さまざまな種類の連結要素、たとえばコネクタ、レセプタ、および混合要素へとグループ分けすることができる。コネクタとは、別の組立てブロックのレセプタが受け入れることができる連結要素であり、それによって、組立てブロックどうしの間における連結を提供する。たとえばコネクタは、別の要素の部品どうしの間に、穴の中などに、はめ込むことができる。レセプタとは、別の組立てブロックのコネクタを受け入れることができる連結要素である。混合要素とは、レセプタおよびコネクタの双方として機能することができる部品であり、通常は、他の組立てブロックの協働する連結要素のタイプに依存する。
【００６６】
図４に示されているタイプの組立てブロックは、ＬＥＧＯ（登録商標）という名のもとで非常にさまざまな形状、サイズ、および色で市販されている。さらに、このような組立てブロックは、さまざまな異なる連結要素と共に利用することができる。上述の組立てブロックは、考えられる組立てブロックの例としての役割を果たしているにすぎないという点を理解されたい。
【００６７】
図５は、組立てブロックモデルをデジタルに表示するためのデータ構造の一実施形態を示している。仮想組立てブロックモデルの作成中には、モデリング  アプリケーションは、それまでに作成されたモデルを表すデータ構造を維持する。モデルを保存する際には、対応するデータ構造が保存される。一実施形態においては、保存されるデータ構造５０１は、１つまたは複数のデータレコード５０２を含み、このデータレコード５０２は、モデルの全体に関連するグローバル  モデル  パラメータを含む。このようなモデルパラメータの例としては、モデル名、モデルの作成者の名前、モデリングアプリケーションのプログラムバージョン番号、作成日などが含まれる。モデルデータ構造５０１は、組立てブロックデータ構造のリスト５０３をさらに含む。図５の例においては、このリストは、「組立てブロック１」、「組立てブロック２」、・・・、「組立てブロックＪ」、・・・、「組立てブロックＮ」というＮ個のデータ構造を含む。
【００６８】
リスト５０３のそれぞれの組立てブロックデータレコードは、「組立てブロックＪ」のためのデータ構造５０４によって示されている構造を有する。
【００６９】
具体的には、それぞれの組立てブロックデータレコードは、組立てブロックＩＤ５０５を含み、この組立てブロックＩＤ５０５は、組立てブロックのタイプに対応する識別子を示す。組立てブロックＩＤは、組立てブロックのプロパティまたは組立てブロックのタイプを一意に識別することが好ましい。
組立てブロックデータレコードは、複数の組立てブロック属性５０６をさらに含み、これらの組立てブロック属性５０６は、色、テクスチャ、装飾など、組立てブロックの１つまたは複数の属性を示す。
【００７０】
さらに、組立てブロックデータレコード５０４は、データアイテム５０７および５０８を含み、これらのデータアイテム５０７および５０８は、組立てブロックの内部座標系の位置および向きをそれぞれ表す。組立てブロックの位置および向きは、グローバルな「世界」座標系に対する組立てブロックの内部座標系の起点の座標によって、およびグローバル座標系に対する内部座標系の向きによって定義される。
【００７１】
座標系の階層を含む仮想組立てモデルを保存するためのデータフォーマットの一例が、米国特許第６，３８９，３７５号に開示されている。
【００７２】
さらに、組立てブロックデータレコード５０４は、データアイテム５０９および５１０を含み、これらのデータアイテム５０９および５１０は、組立てブロックに関する１つまたは複数の周りを囲む四角い枠および連結性データをそれぞれ表し、他の組立てブロックに対するその組立てブロックの連結性プロパティを検出する際に使用される。図４に示されている組立てブロックのタイプの連結性データの表示の一実施形態は、組立てブロックの周りを囲む四角い枠の表面によって画定される面を表すデータ構造を含む。組立てブロックの連結要素は、これらの面の中に配置され、それによってそれぞれの連結要素は、自分に関連付けられている軸を有する。同じ面の中のすべての連結要素の軸は、規則的なグリッド、たとえば直交グリッドのそれぞれのグリッドポイントに対応し、隣接するグリッドポイントどうしの間の距離は一定である。図４の組立てブロック４０１に関連付けられている面は、２つ一組でお互いに対して平行であり、組立てブロックの上面および底面に対応する一組の横の面と、組立てブロックの側面に対応する複数の縦の面とを含む。隣接するグリッドポイント同士の間の距離は、すべての横の面の中では同じであることが好ましい。一実施形態においては、縦の面の中における隣接するグリッドポイント同士の間の距離は、横の面の中における隣接するグリッドポイント同士の間の距離とは異なる。図４に示されているタイプの組立てブロックの連結性プロパティのデジタル表示、および仮想モデルの作成中における対応する連結性ルールの実施については、国際公開第２００４／０３４３３３号パンフレットに開示されており、その全体を参照によって本明細書に組み込む。
【００７３】
デジタル表示は、たとえばバイナリファイルとして、所定のモデリング記述言語によるテキストファイルとしてなど、任意の適切なデータまたはファイルフォーマットにおいてコード化することができるという点を理解されたい。
【００７４】
モデルデータ構造の上述の例においては、組立てブロックは、自分のそれぞれの配置の連続した順序で順序付けられている。したがって組立てブロック１は、モデル内に配置された最初の組立てブロックであり、組立てブロックＮは、最も新しく配置された、または配置し直された組立てブロックである。モデルが操作されるたびに、上述のデータ構造が更新される。
【００７５】
そのような操作の例としては、下記のものが含まれる。
−組立てブロックの属性、たとえばその色や外観の変更。
この変更には、組立てブロックの連続した順序における変更は含まれない。
−新たな組立てブロックの追加。
この変更には、新たな組立てブロックデータ構造をリストへ付加することが含まれ、その結果として、Ｎ＋１個の組立てブロックのリストが生じ、そのリストでは、組立てブロックＮ＋１が、新たに追加された組立てブロックである。
−組立てブロックの削除
この変更には、組立てブロックデータレコードをリストから削除することが含まれる。
−組立てブロックを配置し直すこと、たとえば、組立てブロックを新たな位置へ移動させること、組立てブロックの向きにおける変更、またはそれらの組合せ
この変更には、対応する組立てブロックデータ構造をリスト内におけるその現在の位置から削除すること、およびそのデータレコードを、対応する新たな位置および向きの座標、ならびに連結性データにおけるすべての変更と共にリストの末尾に付加することが含まれる。
【００７６】
図６は、組立てブロックモデルをデジタルに表示するためのデータ構造の別の実施形態を示している。この実施形態は、図５のデータ構造に類似している。しかし、この実施形態においては、リスト５０３のそれぞれの組立てブロックデータレコードは、シーケンスインデックス６０１を含み、このシーケンスインデックス６０１は、組立てブロックの位置を、それらの組立てブロックがモデルに追加された、またはモデル内で配置し直された連続した順序で示す。
【００７７】
図７は、組立て指示アプリケーションのグラフィカル  ユーザ  インタフェースの一実施形態を示している。このユーザインタフェースは、表示エリア７０１を含み、この表示エリア７０１は、段階的な組立て指示のセットのうちの１つの工程のグラフィカルな表示を示す。このグラフィカルな表示は、所定のカメラ位置から見た部品モデル７０２の３Ｄビューを示す。部品モデル７０２は、完全なモデルのすべての組立てブロックのサブセットから構成され、このサブセットは、最初に配置された組立てブロックを含む。表示エリア７０１は、最も新しく配置された組立てブロック、すなわち現在の部品モデル７０２を前の工程の部品モデルから区別する組立てブロックのグラフィカルな表示７０３をさらに含む。この例においては、これらは、部品モデル７０２の組立てブロック７１４、７１５、および７１６である。
【００７８】
このユーザインタフェースは、スライダコントロール要素７０９をさらに含み、このスライダコントロール要素７０９は、マウスを用いた対応するドラッグオペレーションによって、別々の間隔を移動することができ、これによってユーザは、段階的な指示の工程のうちのいずれを選択することもできる。図７の例においては、３つの新たな組立てブロックが、指示のそれぞれの工程において追加されている。
【００７９】
このユーザインタフェースは、ボタンコントロール要素７０５をさらに含み、このボタンコントロール要素７０５によって、ユーザは、グラフィカルな表示をそれぞれ前方向および後ろ方向に順次パラパラとめくること、指示の最初の工程および最後の工程へジャンプすること、カメラ位置を変更すること、作成された組立て指示を印刷すること、および「自動再生」機能を開始することなど、複数の頻繁に使用する機能を呼び出すことができる。自動再生機能は、部品モデルのシーケンスを１つずつ表示し、それによって、それぞれの部品モデルが所定の時間にわたって表示される。ユーザは、自動再生機能内でそれぞれの部品モデルごとに表示時間を設定できることが好ましい。
【００８０】
それぞれの工程において追加される組立てブロックの数を設定できることが好ましい。図７の例においては、この数が３に設定されている、すなわち３つの組立てブロックが、組立て指示のそれぞれの工程においてモデルに追加されると想定される。したがって第１の部品モデルは、記録されている組立て工程の連続した順序の第１、第２、および第３の組立てブロックを含み、その一方で第２の部品モデルは、第１、第２、第３、第４、第５、および第６の組立てブロックなどを含む。
【００８１】
最後に、このユーザインタフェースは、複数のプルダウンメニュー７０４を含み、これによってユーザは、ヘルプ機能、カメラ位置を変更するための機能、ズーム機能などの機能を起動することができる。組立て指示アプリケーションによって提供されるさらなる機能としては、デジタル表示をロードすること、部品モデルのグラフィカルな表示を印刷するための印刷機能、および部品モデルのグラフィカルな表示のシーケンスを、たとえばＨＴＭＬフォーマット、またはＴＩＦ、ＪＰＧ、ＢＭＰなど、その他の任意の適切なグラフィカルなファイルフォーマットでエクスポートするためのエクスポート機能が含まれる。
【００８２】
組立て指示アプリケーションによって提供される機能のさらなる例としては、構成要素明細機能が含まれ、これによってユーザは、モデル内のすべての組立てブロックのリストを表示したり印刷したりすることができる。
【００８３】
図８Ａ乃至図８Ｂは、組立てブロックモデルの段階的な組立て指示を作成する部品モデルのグラフィカルな表示の例示的なシーケンスを示している。それぞれのグラフィカルな表示は、ディスプレイ領域８０１内に示されており、部品モデル８０２の表示と、現在の工程において追加される組立てブロック８０３の表示とを含む。やはりこの例においても、３つの組立てブロックが、それぞれの工程において追加される。したがって図８Ａ（ａ）は、連続した順序の最初の３つの組立てブロック８０３の最初の部品モデル、すなわちモデルの作成中にモデルに追加された最初の３つの組立てブロックを示している。図８Ａ（ｂ）は、次の部品モデルを示しており、この部品モデルは、６つの組立てブロック、すなわち図８Ａ（ａ）の３つの組立てブロックと、３つのさらなる組立てブロックとを含む。図８Ａ（ｃ）〜図８Ｂ（ｋ）は、段階的な指示の連続した順序における後続の増加分の部品モデルを示している。最後に図８Ｂ（ｌ）は、最後の３つの組立てブロックが追加された後の完全なモデルを示している。モデル内の組立てブロックの総数が、それぞれの工程において追加される組立てブロックの数の倍数ではない場合には、それらの工程のうちの１つにおいて、たとえば最後の工程において、異なる数のブロックが追加されるという点を理解されたい。
【００８４】
いくつかの実施形態においては、ユーザインタフェースの表示エリア内に複数の部品モデルを同時に表示することができるという点を理解されたい。
【００８５】
図９は、組立て指示アプリケーションのグラフィカル  ユーザ  インタフェースの表示エリアの別の実施形態を示している。この実施形態においては、表示エリア７０１は、現在の部品モデル７０２と、組立てブロック９０３がモデルに追加された連続した順序における組立てブロック９０３のシーケンスとを示している。組立てブロック９０３のシーケンスの隣にあるスライダコントロール要素９０４は、そのシーケンス内における現在の位置を示している。表示エリア９０１内に現在表示されている部品モデル９０２は、現在のスライダ位置によって示されている組立てブロック９１３までのすべての組立てブロックを含む。
【００８６】
スライダコントロール要素９０４を上下に移動させることによって、ユーザは、表示エリア内にどの部品モデルを表示するかを選択することができる。したがって、この実施形態においては、それぞれの増加分の部品モデルは、前の部品モデルとはレンガ１つ分だけ異なっている。
【００８７】
図１０は、仮想組立てブロックモデルの組立て工程のシーケンスの一例を示している。図１０ａ乃至図１０ｄは、モデリングアプリケーション、たとえば図３に関連して説明したモデリングアプリケーションのディスプレイ領域１０００を、仮想組立てブロックモデル１０１０へとつながる組立て工程のシーケンスのうちの別々の工程ごとに示している。説明を簡単にするために、この例においては、組立てブロックモデルは、組立てブロックの１つのタイプのみから、すなわち図４に関連して説明したタイプから作成されるものと仮定する。図１０ａは、第１の組立てブロック１００１を配置した後のディスプレイ領域を示している。図１０ｂは、第１の組立てブロック１００１の上面のノブのうちのいくつかが、第２の組立てブロック１００２の底面の対応するくぼみ部にはめ込まれるように、第２の組立てブロック１００２を部分的に第２の組立てブロックの上に配置した後のディスプレイ領域を示している。図１０ｃは、第３の組立てブロック１００３を配置した後のディスプレイ領域を示しており、図１０ｄは、第４の組立てブロック１００４を配置した後のディスプレイ領域を示している。
【００８８】
第４の組立てブロック１００４をこの位置に配置することは、図４に関連して説明したタイプの物理的な組立てブロックにとっては、組立てブロック１００１および１００４のそれぞれの上面のノブによって、組立てブロック１００１と１００３の間の隙間に組立てブロック１００４を挿入できないため、ブロック１００１または１００３のいずれかをはじめに取り除かなければ不可能であるという点に留意されたい。それでもなお、仮想モデリングアプリケーションのいくつかの実施形態においては、結果として生じる位置が有効であるため、組立てブロック１００４の配置を可能にすることができる。隙間の内部に配置すると、組立てブロック１００１および１００４のノブは、組立てブロック１００４および１００３の対応するくぼみ部にそれぞれ正しくはめ込まれる。仮想モデリングアプリケーション内でこのような配置を可能にすることによって、その他の多数の組立て工程を取り消すことを必要とせずにモデルの真ん中にある組立てブロックを取り替えることなど、組立てブロックのさらに効率的な操作が提供される。
【００８９】
それでもやはり、物理的なモデルを組み立てるための組立て指示を作成する際には、組立て工程のシーケンスが、示されている順序で必ず実行できるようにすることが望ましいかもしれない。
【００９０】
この問題は、記録された組立て工程のシーケンスを、派生したシーケンスへとつながる第２の順序付け条件に従って修正することによって解決される。図１０の例におけるそのような第２の条件の一例は、組立てブロックの位置である。たとえば、大域座標系１０１１のｙ方向における組立てブロックの座標は、第２の並べ替え基準として使用することができる。図１０の大域座標系におけるｙ方向は、ベースプレートからの垂直方向、すなわち組立てブロックをお互いの上に積み重ねる際の自然な方向に相当する。
【００９１】
図１０の例に関してモデリングアプリケーションによって作成される組立てブロックデータレコードのリストは、下記の連続した順序を有する。
【表１】
2008502960.tif 000003
ここでは、組立てブロックのｙ座標は、ｙ１、ｙ２、およびｙ３と表示され、ｙ１＜ｙ２＜ｙ３である。
【００９２】
一実施形態においては、上述の記録された連続した順序は、組立てブロックをそれらのｙ座標に従って保存することによって修正される。等しいｙ座標を有する組立てブロックは、自分の相対的な連続した順序を記録どおりに維持する。
【００９３】
この修正の結果、下記の修正されたシーケンスとなる。
【表２】
2008502960.tif 000004
したがって、組立てブロック１００３と１００４が入れ替わっている。組立て指示の対応する工程が、図１１ａ乃至図１１ｄに示されており、そこでは、さらなる組立てブロックが、それぞれの工程において追加されている。
【００９４】
図１１は、図１０のシーケンスに従って作成される仮想組立てブロックモデルのための組立て指示の一実施形態を示している。具体的には、図１１ａ〜図１１ｄは、組立て指示アプリケーションのユーザインタフェースのディスプレイ領域１１００を示しており、このディスプレイ領域１１００は、作成された段階的な組立て指示のそれぞれの工程の部品モデルを示している。図１１の例においては、組立て指示における工程のシーケンスは、図１０に関連して説明した工程の修正されたシーケンスから作成される。したがって図１１ａは、最初の部品モデルを指示シーケンスの第１の組立てブロック１１０１と共に示している。図１１ｂは、指示シーケンスの第２の組立てブロック１１０２を追加した後の部品モデルを示している。図１１ｃは、指示シーケンスの第３の組立てブロック１１０４を追加した後の部品モデルを示している。最後に図１１ｄは、指示シーケンスの第４の組立てブロック１１０３を追加した後の完全なモデルを示している。
【図面の簡単な説明】
【００９５】
【図１】組立てブロックモデルの組立て指示を作成するためのデータ処理システムを示す図である。
【図２】組立て指示の作成の一実施形態を示す流れ図である。
【図３】仮想組立てブロックシステムのグラフィカルユーザインタフェースを示す図である。
【図４】組立てブロックおよびその連結要素の一例を示す図である。
【図５】組立てブロックモデルをデジタルに表示するためのデータ構造の一実施形態を示す図である。
【図６】組立てブロックモデルをデジタルに表示するためのデータ構造の別の実施形態を示す図である。
【図７】組立て指示アプリケーションのグラフィカルユーザインタフェースの一実施形態を示す図である。
【図８Ａ】組立てブロックモデルの段階的な組立て指示を作成する部品モデルのグラフィカルな表示の例示的なシーケンスを示す図である。
【図８Ｂ】組立てブロックモデルの段階的な組立て指示を作成する部品モデルのグラフィカルな表示の例示的なシーケンスを示す図である。
【図９】組立て指示アプリケーションのグラフィカルユーザインタフェースの表示エリアの別の実施形態を示す図である。
【図１０】仮想組立てブロックモデルの組立て工程のシーケンスの一例を示す図である。
【図１１】図１０のシーケンスに従って作成される仮想組立てブロックモデルのための組立て指示の一実施形態を示す図である。
【図１】
2008502960.tif 000005
【図２】
2008502960.tif 000006
【図３】
2008502960.tif 000007
【図４】
2008502960.tif 000008
【図５】
2008502960.tif 000009
【図６】
2008502960.tif 000010
【図１０】
2008502960.tif 000011
【図１１】
2008502960.tif 000012
【図７】
2008502960.tif 000013
【図８Ａ】
2008502960.tif 000014
【図８Ｂ】
2008502960.tif 000015
【図９】
2008502960.tif 000016
【国際調査報告】
2008502960.tif 000017
2008502960.tif 000018
2008502960.tif 000019