(57)【要約】【課題】  異種のソリッドモデリングシステム間で、ネットワークへの通信負荷を伴うことなく、ソリッド形状モデル情報の共有化を図り、協調作業支援を可能とする。【解決手段】  複数のカーネルのいずれかにおいて作成されたソリッドモデルを構成する各要素に対し、それぞれの要素を識別するグローバルIDを付与するグローバルID生成部12aと、ソリッドモデルを作成した操作情報履歴をグローバルIDと関連づけて蓄積するローカル操作情報履歴蓄積部12bと、操作情報履歴とこれに関連づけられたグローバルIDとをセットとして他のカーネルに送信する操作情報履歴送信部12cとを備える。上記グローバルID生成部12aは、要素のそれぞれを内接するように包含するバウンディングボックスの三次元座標上における座標位置に従って、各要素及び各要素に含まれる面又は稜線に対してグローバルIDを付与する。【選択図】  図1
2006285836.tif 000002
【特許請求の範囲】
【請求項１】
仮想的に定義された３次元座標上において仮想的な立体形状であるソリッドモデルを作成するローカルカーネルと、該ローカルカーネルにネットワークを介して接続されたリモートカーネルを含み、これらのカーネル間で共通のデータを相互運用する３次元CADシステムであって、
前記リモートカーネル側において作成されたリモートソリッドモデルを構成する各要素に対し、それぞれの要素を識別するグローバルIDを付与する第1のグローバルID生成部と、
前記リモートソリッドモデルを作成した操作情報履歴を、前記グローバルIDと関連づけて蓄積する操作情報履歴蓄積部と、
前記操作情報履歴と、これに関連づけられたグローバルIDとをセットとして前記ローカルカーネルに送信する操作情報履歴送信部と、
前記ローカルカーネル側において、前記リモートソリッドモデルの操作情報履歴及びグローバルIDを受信する操作情報履歴受信部と、
受信された操作情報履歴に含まれるリモートカーネルにおける各操作を、当該各操作に対応する当該ローカルカーネルが有する操作に置換する操作情報翻訳部と、
受信された操作情報履歴に基づいて、前記置換された操作を順次実行し、ローカルカーネルを作成する操作情報実行部と、
操作情報実行部により生成されたローカルソリッドモデルの要素に対して、前記決定規則と同一の規則に基づいて、グローバルIDを付与する第2のグローバルID生成部と、
を備え、
前記要素は、前記ソリッドモデルを構成する最小単位形状であって、単一のモデリング操作によって生成される面、及び面が接する稜線の集合であり、
前記第1及び第2のグローバルID生成部は、前記要素のそれぞれを内接するように包含するバウンディングボックスの前記三次元座標上における座標位置に基づく決定規則に従って、各要素及び各要素に含まれる形状、面又は稜線に対して前記グローバルIDを付与する
ことを特徴とする3次元CADシステム。
【請求項２】
前記第1及び第2のグローバルID生成部は、前記バウンディングボックスが一致する複数の面がある場合に、これら複数の面の法線ベクトルを求め、法線ベクトルの相違に基づいて、当該複数の面を区別し、区別された複数の面それぞれに対して異なるグローバルIDを付与することを特徴とする請求項1に記載の3次元CADシステム。
【請求項３】
仮想的に定義された3次元座標上において仮想的な立体形状であるソリッドモデルを作成するローカルカーネルと、該ローカルカーネルにネットワークを介して接続されたリモートカーネルを含み、これらのカーネル間で共通のデータを相互運用してソリッドモデルを作成する方法であって、
前記リモートカーネル側において作成されたリモートソリッドモデルを構成する各要素に対し、それぞれの要素を識別するグローバルIDを、第1のグローバルID生成部によって付与するステップ（1）と、
前記リモートソリッドモデルを作成した操作情報履歴を、前記グローバルIDと関連づけて操作情報履歴蓄積部に蓄積するステップ（2）と、
前記操作情報履歴と、これに関連づけられたグローバルIDとをセットとしてローカルカーネルに送信するステップ（3）と、
前記ローカルカーネル側において、前記リモートソリッドモデルの操作情報履歴及びグローバルIDを受信するステップ（4）と、
受信された操作情報履歴に含まれるリモートカーネルにおける各操作を、当該各操作に対応する当該ローカルカーネルが有する操作に置換するステップ（5）と、
受信された操作情報履歴に基づいて、前記置換された操作を順次実行し、ローカルカーネルを作成するとともに、該ローカルソリッドモデルの要素に対して、前記決定規則と同一の規則に基づいて、第2のグローバルID生成部によって、グローバルIDを付与するステップ（6）と
を備え、
前記要素を、前記ソリッドモデルを構成する最小単位形状であって、単一のモデリング操作によって生成される面、及び面が接する稜線の集合とし、前記ステップ（1）及び（6）において、前記要素のそれぞれを内接するように包含するバウンディングボックスの前記三次元座標上における座標位置に従って、各要素及び各要素に含まれる形状、面又は稜線に対して前記グローバルIDを付与する
ことを特徴とするソリッドモデルの作成方法。
【請求項４】
前記ステップ（1）及び（6）では、前記バウンディングボックスが一致する複数の面がある場合に、これら複数の面の法線ベクトルを求め、法線ベクトルの相違に基づいて、当該複数の面を区別し、区別された複数の面それぞれに対して異なるグローバルIDを付与することを特徴とする請求項3に記載のソリッドモデルの作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想的に定義された3次元座標上においてソリッドモデルを作成するカーネルを複数含み、これら複数のカーネル間で共通のデータを相互運用する3次元CAD（Computer  Aided  Design）システム及びソリッドモデルの作成方法に関する。
【背景技術】
【０００２】
従来より、コンピュータによってソリッドモデルを作成する3次元CADシステム（ソリッドモデリングシステム）を用いて設計業務を行っている。この3次元CADを用いた設計業務などにおいては、ネットワーク分散環境下にある設計者と他部門の担当者が協調して設計作業を進める場合が多く、このような場合にあっては、ソリッドモデルの共有が重要となる（例えば、特許文献1）。すなわち、設計者は他部門の担当者からのモデル修正のための意見を得ながら、両者間にソリッドモデル情報を基礎にしたネゴシエーションを形成し、設計者は設計案の修正・構築を動的に進めることになる。
【特許文献１】国際公開番号WO2003/009155パンフレット
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、ネットワーク分散環境下では異種のソリッドモデリングシステムが存在することも多く、これらの間でデータを共有し、相互運用を行う必要が生じる。
【０００４】
しかしながら、ソリッドモデリングシステムでは、各システムに固有のパラメーター定義や機能によりモデリング操作を実行していることから、異種のソリッドモデリングシステム間で単にデータを送受したのみでは、相互運用が困難となっている。
【０００５】
すなわち、ソリッドモデリングシステムごとに、モデル要素（body、Face、Edge、Vertexなど）のIDの決定規則が異なるため、異なるシステム間では、他のシステムにおける幾何モデルで与えられる幾何情報を識別することができない。
【０００６】
また、異種のソリッドモデリングシステム間で、上述した幾何情報のすべてを送受信すると、通信負荷が過大となり、処理遅延を招き実用性に欠けるという問題が生じる。
【０００７】
そこで、本発明は以上の点に鑑みてなされたもので、異種のソリッドモデリングシステムが存在するネットワーク分散環境下において、異種のソリッドモデリングシステム間で、ネットワークへの通信負荷を伴うことなく、ソリッド形状モデル情報の共有化を図り、協調作業支援を可能とする3次元CADシステム及びソリッドモデルの作成方法を提供することをその課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、仮想的に定義された3次元座標上において仮想的な立体形状であるソリッドモデルを作成するローカルカーネルと、該ローカルカーネルにネットワークを介して接続されたリモートカーネルを含み、これらのカーネル間で共通のデータを相互運用する3次元CADシステム及びソリッドモデルの作成方法である。
【０００９】
具体的に、本発明において、リモートカーネル側には、作成されたリモートソリッドモデルを構成する各要素に対しそれぞれの要素を識別するグローバルIDを付与する第1のグローバルID生成部と、リモートソリッドモデルを作成した操作情報履歴をグローバルIDと関連づけて蓄積する操作情報履歴蓄積部と、操作情報履歴とこれに関連づけられたグローバルIDとをセットとしてローカルカーネルに送信する操作情報履歴送信部とを備える。
【００１０】
また、ローカルカーネル側には、リモートソリッドモデルの操作情報履歴及びグローバルIDを受信する操作情報履歴受信部と、受信された操作情報履歴に含まれるリモートカーネルにおける各操作を当該各操作に対応するローカルカーネルが有する操作に置換する操作情報翻訳部と、受信された操作情報履歴に基づいて、置換された操作を順次実行し、ローカルカーネルを作成する操作情報実行部と、操作情報実行部により生成されたローカルソリッドモデルの要素に対して、前記決定規則と同一の規則に基づいて、グローバルIDを付与する第2のグローバルID生成部とを備えている。
【００１１】
なお、上記発明において、要素とは、ソリッドモデルを構成する最小単位形状であって、単一のモデリング操作によって生成される面、及び面が接する稜線の集合である。そして、上記第1及び第2のグローバルID生成部は、要素のそれぞれを内接するように包含するバウンディングボックスの三次元座標上における座標位置に従って、各要素及び各要素に含まれる形状、面又は稜線に対してグローバルIDを付与する。
【００１２】
なお、ここで、本発明における相互運用とは、異なるカーネルで作成された3次元ソリッドモデルデータの送受信のみを意味するのではなく、そのソリッドモデルの作成に使用される操作情報又はその履歴を送受信することによって、リモート側（一方のカーネル側）で作成されているソリッドモデルを、ローカル側（他方のカーネル側）で再現し、利用することを指す。
【００１３】
このような本発明によれば、いずれのカーネルも一般的に備えているバウンディングボックス機能を用いて、各カーネルに共通のグローバルIDを付与することから、システムに依存しない統一されたモデリング要素の識別ができ、幾何情報の共有及び相互運用が可能となる。
【００１４】
なお、上記発明において、第1及び第2グローバルID生成部は、バウンディングボックスが一致する複数の面がある場合に、これら複数の面の法線ベクトルを求め、法線ベクトルの相違に基づいて、当該複数の面を区別し、区別された複数の面それぞれに対して異なるグローバルIDを付与することが好ましい。
【発明の効果】
【００１５】
以上説明したように本発明によれば、異種のソリッドモデリングシステムが存在するネットワーク分散環境下において、異種のソリッドモデリングシステム間で、ネットワークへの通信負荷を伴うことなく、ソリッド形状モデル情報の共有化を図り、協調作業支援を可能とすることができる。
【発明を実施するための最良の形態】
【００１６】
（3次元CADシステムの構成）
本発明の実施形態について、図面を参照しつつ説明する。図1は、本実施形態に係る3次元CADシステムの概略構成を示すブロックである。
【００１７】
図1に示すように、本実施形態に係る3次元CADシステムは、〜Aが使用するソリッドモデリングブラウザ1と、ユーザーBが使用するソリッドモデリングブラウザ2とがネットワーク3を介して接続されており、これら2のソリッドモデリングブラウザ1及び2間で共通のデータを相互運用する。
【００１８】
なお、図1ではこれらのソリッドモデリングブラウザ1及び2は、同様の内部構成として示しているが、両者はそれぞれ独自の決定規則に基づいてモデル要素（body、Face、Edge、Vertexなど）のID（ローカルID）を定めているとともに、それぞれ固有の機能によりモデリングを行っている。
【００１９】
各ソリッドモデリングブラウザ1及び2は、一般のWebブラウザソフトと同様にネットワーク上の分散処理に関するユーザーのフロントエンドとして位置づけられるアプリケーションであり、カーネル11及び21をそれぞれ備えるとともに、プラグイン等の機能追加プログラムによって、これら複数のカーネル間でデータを相互運用するインターフェース・エージェント12及び22をそれぞれ備えている。
【００２０】
カーネル11（21）は、仮想的に定義された3次元座標上において仮想的な立体形状であるソリッドモデルを作成する基本プログラムであり、このカーネル11及び21は、ユーザー操作を取得し、ソリッドモデルを作成するモデリング操作部11a（21a）をそれぞれ有している。
【００２１】
なお、本実施形態では、カーネル11側でユーザーAが作成したソリッドモデルをローカルソリッドモデルとし、カーネル21側でユーザーBが作成したソリッドモデルをリモートソリッドモデルとする。各カーネルは、モデリング操作により作成したソリッドモデルの情報を、各カーネル固有のB-repsデータ構造により保持している。
【００２２】
モデリング操作部11a（21a）は、ユーザー操作によりソリッドモデルを作成するモジュールであり、キーボードやマウス等の入力デバイスからユーザー操作信号を取得し、カーネル11（21）における演算処理によりモデリングを実行し、ディスプレイ等の表示手段に処理結果としてのソリッドモデルを表示させる。
【００２３】
ここで、操作情報は、モデリング操作名とそれに関するパラメーター（属性情報）とのペアである。例えば、円柱をモデリングしたとすると、円柱作成という操作名とそのパラメーターとしての半径と高さがその操作情報になる。なお、グローバルIDは、操作情報のパラメーター（属性情報）に含まれ、操作の対象となる要素を特定する。
【００２４】
インターフェース・エージェント12（22）は、カーネル間で共通のデータを送受信し、各カーネルにおいて相互運用するための機能を提供するモジュールであり、具体的には、グローバルID生成部12a（22a）と、ローカル操作情報履歴蓄積部12b（22b）と、操作情報履歴送信部12c（22c）と、操作情報履歴受信部12g（22g）と、リモート操作情報履歴蓄積部12f（22f）と、操作情報翻訳部12e（22e）と、操作情報実行部12d（22d）とを備えている。
【００２５】
グローバルID生成部12a（22a）は、作成されたソリッドモデルを構成する各要素に対し、それぞれの要素を識別するグローバルIDを付与するモジュールである。なお、本実施形態においてグローバルID生成部12a（22a）は、他のカーネルに送信するためのローカルリゾットモデルにグローバルIDを付与する第1のグローバルID生成部と、他のカーネルにおいて作成され受信されたリモートリゾットモデルにグローバルIDを付与する第2のグローバルID生成部とを1つのモジュールで兼用している。
【００２６】
ここで、グローバルIDとは、上述したソリッドモデルを構成する要素（Solid，Face，Edge）を識別するために、3次元CADシステムによってそれぞれの要素に割り振られる定数（EntityID，SolidID，FaceID，EdgeID及びVertexID）である。すなわち、図2に示すように、各要素は、要素自身のID（SolidID，FaceID，EdgeID）と属する要素集合のID（EntityID）をグローバルIDとし、これに関連する属性情報を持つ。
【００２７】
本実施形態において要素とは、ソリッドモデルの一部又は全部を構成し、単一のモデリング操作によって生成される最小単位形状（Solid）と、この形状を構成する面（Face）、及び面が接する稜線（Edge）との集合である。そして、本実施形態において、グローバルID生成部12aは、要素のそれぞれを内接するように包含するバウンディングボックスの頂点（Vertex）の三次元座標上における座標位置に従って、各要素及び各要素に含まれる形状、面又は稜線に対してグローバルIDを付与する。
【００２８】
ここで、EntityIDとは、一般的なB-repsデータ構造にはないIDであり、二つ以上のSolidが生成された場合、それぞれのSolidを構成するFace及びEdgeを識別するIDである。このEntityIDを付与することにより、要素の種類に関わらず、各要素を識別することができる。すなわち、例えば2次元の面（Face）を持ち上げて伸張させ、ソリッドを生成した場合、当初Faceであった要素が後にSolidに変更されたこととなるが、このEntityIDによれば、要素の種別がFaceであるかSolidであるかに関わらず識別することができる。
【００２９】
なお、例えばソリッド作成操作によって、SolidとあるFaceが生成されたとすると、最初にSolidとFaceにはEntityIDがそれぞれ付与される。その後、Faceを持ち上げてあるSolidを作成した場合は、最初にそのFaceに付与されたEntityIDがSolidIDに継承される。つまり、それぞれの要素の識別を行う際には、EntityIDの下位にSolidID，FaceID，EdgeIDが従属することとなる。例えば、Faceを識別するときには、EntityIDがxであるFaceIDyというように表現される。
【００３０】
また、本実施形態においてグローバルID生成部12a（22a）は、バウンディングボックスが一致する複数の面がある場合に、これら複数の面の法線ベクトルを求め、法線ベクトルの相違に基づいて、当該複数の面を区別し、区別された複数の面それぞれに対して異なるグローバルIDを付与する。
【００３１】
ローカル操作情報履歴蓄積部12b（22b）は、ローカルソリッドモデルを作成した操作情報履歴を、グローバルIDと関連づけて蓄積する記憶装置である。すなわち本実施形態において、グローバルID生成部12a（22a）によって付与されたグローバルIDは、操作情報のパラメーター（属性情報）に含まれることによって、各操作情報に関連づけられる。
【００３２】
操作情報履歴送信部12c（22c）は、ネットワーク3に接続された通信インターフェースであり、ネットワーク3を通じて、ローカル操作情報履歴蓄積部12b（22b）に蓄積された、操作情報履歴と、これに関連づけられたグローバルIDとをセットとして他のカーネルに送信するモジュールである。
【００３３】
操作情報履歴受信部12g（22g）は、ネットワーク3に接続された通信インターフェースであり、ネットワーク3を通じて、他のカーネルにおいて生成されたソリッドモデルの操作情報履歴及びグローバルIDを受信するモジュールである。
【００３４】
リモート操作情報履歴蓄積部12f（22f）は、受信した操作情報履歴及びグローバルIDを蓄積する記憶装置であり、蓄積した操作情報履歴を操作情報実行部12dの要求に応じて読み出して、出力する。
【００３５】
操作情報翻訳部12e（22e）は、受信された操作情報履歴に含まれるリモート側での操作を、ローカル側のカーネルが有する機能に置換するモジュールである。すなわち、操作情報翻訳部12e（22e）は、受信されたリモートソリッドモデルの操作情報履歴から必要なモデリング操作を判断して、操作情報履歴中の各操作に対して、ローカルのモデリング操作を割り当てる。
【００３６】
操作情報実行部12d（22d）は、操作情報履歴に基づいて、他のカーネル（リモートカーネル）において生成されたソリッドモデルを、ローカルのモデリング操作によって再現するモジュールである。具体的には、受信した操作情報に基づいて、ローカルな3次元CADシステムに対して必要なコマンドを実行することにより、リモート側でモデリングされたリモートソリッドモデルを作成する。
【００３７】
また、この操作情報実行部12dは、操作情報履歴中の操作を順次実行することによって生成されるソリッドモデルのB-repsデータの中に、ローカル側で生成されたグローバルIDを属性情報として入れ込む機能を有する。これにより、リモート側からの操作情報の中にはグローバルIDが入力されているため、ローカル側で生成されるソリッドモデルの中に保存されているグローバルIDを参照することによって、要素の識別が可能になる。
【００３８】
（IDの決定規則及びIDの格納）
上記のような構成のシステムにおいて、各モデリング操作における要素を指定するためのグローバルIDの決定規則を説明する。ここでは、図3（a）のようなモデルが生成された場合を例に説明する。
【００３９】
なお、本実施形態においてID付与の順序決定に用いる情報としては、次のように一般にほとんどのカーネルにおいても提供され、カーネルの違い等の環境に依存しない幾何学的な情報を用いる。
【００４０】
・バウンディングボックス
・Edgeに隣接するFaceのセット
・Faceの法線ベクトル
先ず、要素が作成された順番でEntityIDを割り振る。すなわち、要素1が最初に作成されたモデルであるとすれば、このモデルのEntityIDは1となる。ここでは、生成された要素がソリッドであるため、”EntityID=1”が当該ソリッドに付加されることとなる。
【００４１】
次いで、上記グローバルID付与の対象要素をSolid、Face、Edgeとし、Solid、Face、Edgeの順にIDを付与していく。この手順について以下に説明する。なお、単独のSolid、 Face、Edgeが作成された場合には、それぞれSolid、Face、Edgeの項目では(1)のみが実行される。例えば、単独のFaceが生成される場合には、Face(1)、Edge(1)~(4)によりIDが決定される。
【００４２】
（1）Solidの場合
(1-1)  単独のSolidがentityとして作成された場合、その時点での最も大きなEntityIDの次のIDをEntityID及びSolidIDとする。
(1-2)  上記(1-1)でIDを決定できない場合、すなわち複数のSolidが同時に作成された場合、バウンディングボックスにより、グローバル座標系において各Solidが占有する領域の範囲(x0、y0、z0)、(x1、y1、z1)を求める。
ただし、x0≦x1、y0≦y1、z0≦z1  である。
(1-3)  各座標成分の大小関係によりSolidを並べ替え、順にIDを付与する。
【００４３】
（2）Faceの場合
(2-1)  単独のFaceがentityとして作成された場合、その時点での最も大きなEntityIDの次のIDをEntityIDとし、FaceIDを1とする。
(2-2)  上記(2-1)でIDを決定できない場合、バウンディングボックスにより、グローバル座標系において各Faceが占有する領域の範囲を求め、各座標成分の大小関係によりFaceを並べ替える。
(2-3)  上記(2-2)で順序が確定できない場合、すなわち、x0、y0、z0及びx1、y1、z1が一致するFaceが存在する場合、Faceの法泉方向の単位ベクトルの座標成分(vx、vy、vz)の大小関係によりFaceを並べ替える。
(2-4)  上記(2-2)及び(2-3)で並べ替えた順序に従い、順にFaceIDを付与する。
【００４４】
（3）Edgeの場合
(3-1)  単独のEdgeがentityとして作成された場合、その時点での最も大きなEntityIDの次のIDをEntityIDとし、EdgeIDを1とする。
(3-2)  Edgeに隣接する面のFaceIDの値を比較し、その大小関係で並べ替える。
(3-3)  上記(3-2)で順番が確定しない場合、すなわち、隣接する面の構成が一致するEdgeが存在する場合、グローバル座標系において各Edgeが占有する領域の範囲を求め、各座標成分の大小関係によりEdgeを並べ替える。
(3-4)  上記(3-2)、(3-3)で並べ替えた順序に従い、順にEdgeIDを付与する。
【００４５】
上述した（1-2）及び（2-2）のように、Solid、Faceでは、絶対座標系におけるバウンディングボックスの頂点の中で、x、y、zが最小となる座標値（x0，y0，z0）と、x、y、zが最大となる座標値（x1，y1，z1）を求める。そして、x0の値を比較し、値が小さい順になるよう並び替える。x0の値が等しい場合はy0の値を比較して並び替える。このようにx0→y0→z0→x1→y1→z1と比較していき並べ替えていく。
【００４６】
これについて詳述すると、先ず、要素を構成するすべての面を仮にそれぞれFa〜Fdとし（図3（a））、各面の占有する領域の範囲（x0、y0、z0、x1、y1、z1）を求める（3（b）、表1）。
【表１】
2006285836.tif 000003
【００４７】
さらに、求めた領域の範囲を元にFa〜Fdを並べ替え、Fa=Fb、Fc、Fdという順序になる。このFaceにおいて、バウンディングボックスの情報で並び替えができない場合、すなわち、Faceの占有する領域が等しい場合、Faceの法線方向単位ベクトル（vx，vy，vz）を求める。そして、vxの値を比較し、値が小さい順になるよう並び替える。そしてvxの値が等しい場合はvyを、vyの値が等しい場合はvzを比較し並び替えていく。
【００４８】
ここでは、FaとFbの占有する領域が一致する、すなわちバウンディングボックスが一致することから、FaとFbは同一の順序である。そこで、本実施形態では、FaとFbの法線方向単位ベクトルを求め（表1）、比較し、Fb、Faという順序となる。これにより、モデルを構成する面の順序はFb、Fa、Fc、Fdとなり、これに従いFaceIDを割り振る。すなわち、FaceIDはFb=1、Fa=2、Fc=3、Fd=4となる（図3（c））。
【００４９】
次いで、要素を構成するすべての稜線を仮にそれぞれEa〜Efとし、各稜線が隣接する面を稜線ごとに取得し、昇順に並べ替える。Edgeでは先ず、Edgeに隣接する二つのFaceのIDを比較し、その値が小さい順になるよう並び替え順にFaceID1、FaceID2とする。FaceID1を比較していき、値が小さい順になるよう並び替える。FaceID1が等しい場合、FaceID2を比較して並び替える。ここで並び替えができない場合、すなわち、隣接するFaceの構成が一致するEdgeが存在する場合、バウンディングボックスの情報を用い並び替える。
【００５０】
すなわち、図3（c）では、面の番号を比較してEa〜Efを並べ替え、Ec=Ed、Eb、Ef、Ea、Eeという順序になる。なお、EcとEdに隣接する面が一致することから、EcとEdは同一の順序となっている。そこで、本実施形態では、EcとEdの占有する領域の範囲（x0、y0、z0、x1、y1、z1）を求める（表2）。
【表２】
2006285836.tif 000004
【００５１】
そして、この求めた領域の範囲を元にEcとEdを比較すると、Ed、Ecという順序となる。これにより、モデルを構成する稜線の順序はEd、Ec、Eb、Ef、Ea、Eeとなり、これに従いEdgeIDを割り振る。すなわち、EdgeIDはEd=1、Ec=2、Eb=3、Ef=4、Ea=5、Ee=6となる（図3（d））。
【００５２】
なお、要素分割が行われるような操作の際には、位相的に対称となる要素が発生する。この対称性を持つ要素の識別のためにはIDを変更する必要がある。また、要素が新規に生成されるような操作の際には、新規に生成された要素にIDを付与する必要がある。このようなことから、要素分割、要素追加発生時には再び要素をソートして順にIDを付与していく。
【００５３】
（ソリッドモデルの作成方法）
以上の構成を有する3次元CADシステムを動作させることによって、本発明のソリッドモデルの作成方法を実施することができる。図4〜9は、本実施形態に係るシステムの動作を示す説明図である。なお、図4から図7まではユーザーBによってモデリングされたクラッチ駆動側のモデリング操作とその操作情報履歴を示す。
【００５４】
本実施形態においては、リモート側のカーネル21において、モデリング操作が表3のように定義されているものとする。
【表３】
2006285836.tif 000005
【００５５】
先ず、図4（a）及び（b）に示すように、カーネル21において、ユーザーBが半径40、高さ32の円柱を作成し、平行移動及び90°の回転移動を行ったとする。続いて、図5〜図7に示すように、円錐台、角柱、及び円柱を作成し、各種形状を結合したり（ブーリアン演算・和）、切り取ったり（ブーリアン演算・差）してリゾットモデル（クラッチ駆動側）を作成したとする。このモデリング操作に際し、各要素に対し、ローカルIDが付与されるとともに、グローバルID生成部22aによってグローバルIDが付与される。
【００５６】
このこのようにしてユーザーBによって行われたモデリング操作は、ローカル操作情報蓄積部22bにおいて、操作情報として保存される。このとき、各要素に対して付与されたグローバルIDは、各要素の属性情報として操作情報履歴に保持される。図8（a）は、ユーザーBによって作成されたクラッチ駆動側のソリッドモデルと、そのローカルIDとグローバルIDを示す。
【００５７】
そして、このユーザーBによる操作情報履歴は、ユーザーA側のカーネル11に送信される。ユーザーA側では、この操作情報履歴に基づいて、操作情報翻訳部12e及び操作情報実行部12dによって、モデリング操作が実行される。この作成された要素に対して、グローバルID生成部12aにおいてユーザーB側における決定規則と同一の規則に従い、グローバルIDが付与される。図8（b）はユーザーBから受け取った操作情報履歴を用いて、ユーザーAが自分の3次元CADシステムを用いて作成した駆動側のモデルを示す。
【００５８】
図8（a）及び（b）から分かるように、ローカルIDは異なるが、ID決定規則によって生成されたグローバルIDが一致している。このため、ユーザーA側（ローカル側）でのモデルの作成が可能となる。例えば、図9（a）に示すように、ユーザーBがモデリングする駆動側のソリッドモデルのある面を持ち上げることで、ソリッドモデルの変更を行った場合、図9（b）に示すように、その変更の操作情報はリアルタイムにユーザーAに送信され、ユーザーAで作成されたユーザーBの駆動側モデルに反映される。
【００５９】
（本実施形態による作用・効果）
このような本実施形態によれば、いずれのカーネルも一般的に備えているバウンディングボックス機能を用いて、各カーネルに共通のグローバルIDを付与することから、システムに依存しない統一されたモデリング要素の識別ができ、幾何情報の共有及び相互運用が可能となる。
【００６０】
具体的に本実施形態によれば、グローバルID の決定規則がシステム内で統一されているため、一方の端末のカーネルにおいて一連の操作を行った場合、どの端末においても操作の内容及び順序は同一となるので、生成されるグローバルIDは同一となり、どの端末からでも要素の識別が可能となる。また、こうしたグローバルID決定規則を導入し、各端末で用いているソリッドモデリングシステムが元から持つモデルの管理機能を利用することで、モデリング操作の種類と操作そのものに必要なパラメーターのみを管理することで他端末との相互運用を図ることが可能となる。
【図面の簡単な説明】
【００６１】
【図１】実施形態に係る3次元CADシステムの概略構成を示すブロックである。
【図２】実施形態に係るソリッドモデルのデータ構造とグローバルIDの付与を示す説明図である。
【図３】実施形態に係るグローバルIDの付与を例示する説明図である。
【図４】実施形態に係るクラッチ駆動側のユーザーBによるモデリング操作とその操作情報履歴を示す画面構成図である。
【図５】実施形態に係るクラッチ駆動側のユーザーBによるモデリング操作とその操作情報履歴を示す画面構成図である。
【図６】実施形態に係るクラッチ駆動側のユーザーBによるモデリング操作とその操作情報履歴を示す画面構成図である。
【図７】実施形態に係るクラッチ駆動側のユーザーBによるモデリング操作とその操作情報履歴を示す画面構成図である。
【図８】（a）は、ユーザーBによって作成されたクラッチ駆動側モデルとそのローカルIDとグローバルIDを示す画面構成図であり、（b）は、ユーザーBから受け取った操作情報履歴からユーザーAで作成されたクラッチ駆動側モデルとそのローカルIDとグローバルIDを示す画面構成図である。
【図９】（a）は、実施形態に係るユーザーBが駆動側モデルの面（LocalFaceID：2265，GlobalFaceID：1）を持ち上げた場合を示す画面構成図であり、（b）は、操作情報によって変更されたユーザーAでの駆動側モデルを示す画面構成図である。
【符号の説明】
【００６２】
A，B…ユーザー
1，2…ソリッドモデリングブラウザ
3…ネットワーク
11，21…カーネル
11a，21a…モデリング操作部
12，22…インターフェース・エージェント
12a，12a…グローバルID生成部
12b，12b…ローカル操作情報履歴蓄積部
12c，12c…操作情報履歴送信部
12d，12d…操作情報実行部
12e，12e…操作情報翻訳部
12f，12f…リモート操作情報履歴蓄積部
12g，12g…操作情報履歴受信部
【図１】
2006285836.tif 000006
【図２】
2006285836.tif 000007
【図３】
2006285836.tif 000008
【図４】
2006285836.tif 000009
【図５】
2006285836.tif 000010
【図６】
2006285836.tif 000011
【図７】
2006285836.tif 000012
【図８】
2006285836.tif 000013
【図９】
2006285836.tif 000014