(57)【特許請求の範囲】
【請求項１】
三次元空間内に複数個の三次元図形を配置する際に、複数の三次元図形相互の位置関係を規定する幾何拘束条件を表示する幾何拘束条件表示装置において、
前記三次元図形の立体形状データを格納する第１の格納手段と、
複数個の三次元図形相互の位置関係を規定する幾何拘束条件を格納する第２の格納手段と、
前記幾何拘束条件を視覚的に表示するための幾何拘束表示データを作成する幾何拘束表示データ処理部と、
前記第１の格納手段に格納された複数個の三次元図形を第２の格納手段に格納された前記幾何拘束条件によって定められる位置関係にて三次元空間内に配置された状態を表示するとともに、表示された三次元図形を構成する前記各要素のうち前記幾何拘束条件によって位置規制された要素とその拘束の種類とを特定する表示を全幾何拘束条件に関して行う表示手段とを備え、
前記表示手段は、前記第２の格納手段に格納された前記複数の幾何拘束条件によって前記複数個の三次元図形間の位置関係が確定した場合には、前記幾何拘束条件によって位置規制された要素とその拘束の種類とを特定する表示を確定前とは異なった態様で行うことを特徴とする幾何拘束条件表示装置。
【請求項２】
前記幾何拘束条件を入力する入力部と、前記入力部によって入力された幾何拘束条件に従って、前記第２の格納手段に格納されている前記幾何拘束条件を更新する幾何拘束編集処理部を更に備えたことを特徴とする請求項１記載の幾何拘束条件表示装置。
【請求項３】
前記入力部は、特定の幾何拘束条件を削除する旨の入力を受けることが可能であり、前記幾何拘束編集処理部は、前記入力部が前記幾何拘束条件を削除する旨の入力を行った場合には、特定された幾何拘束条件を前記第２の格納手段内から削除することを特徴とする請求項２記載の幾何拘束条件表示装置。
【請求項４】
前記表示手段は、前記第２の格納手段に格納されている前記幾何拘束条件が前記幾何拘束編集処理部によって更新された場合には、前記更新後の幾何拘束条件に従って前記複数個の三次元図形間の位置関係を定めるとともに、前記更新後の幾何拘束条件によって位置規制された要素とその拘束の種類とを特定する表示を行うことを特徴とする請求項２又は３記載の幾何拘束条件表示装置。
【請求項５】
前記表示手段は、前記幾何拘束条件によって位置規制された一対の要素間を線で結ぶことにより、それら各要素の特定を行うことを特徴とする請求項１記載の幾何拘束条件表示装置。
【請求項６】
前記表示手段は、前記幾何拘束条件によって位置規制された要素上に、その幾何拘束の種類に対応した記号又は数字を表示することにより、拘束の種類を特定する表示を行うことを特徴とする請求項５記載の幾何拘束条件表示装置。
【請求項７】
前記表示手段は、前記複数個の三次元図形の位置関係確定の前後で、前記幾何拘束条件によって位置規制された要素とその拘束の種類とを特定する表示の表示色を変えることを特徴とする請求項１記載の幾何拘束条件表示装置。
【請求項８】
前記表示手段は、前記複数個の三次元図形間の位置関係確定の前においては前記幾何拘束条件によって位置規制された一対の要素間を線で結ぶことによりそれら各要素の特定を行うとともに、前記複数個の三次元図形間の位置関係確定の後においては前記線を消去することを特徴とする請求項７記載の幾何拘束条件表示装置。
【請求項９】
前記表示手段は、前記複数個の三次元図形間の位置関係確定の前においては前記幾何拘束条件によって位置決めがなされる一対の要素上にその幾何拘束の種類に対応した記号又は数字を表示することにより拘束の種類を特定する表示を行うとともに、前記複数個の三次元図形の位置関係確定の後においては一方の要素上に表示されている前記記号又は数字を消去することを特徴とする請求項７記載の幾何拘束条件表示装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、多次元ＣＡＤ上で多次元モデルを組み立てる際の各多次元図形相互間の幾何拘束条件を表示する幾何拘束条件表示装置に関する。
【０００２】
【従来の技術】
三次元ＣＡＤを用いて構造物等の三次元モデルを組み立てるためには、三次元座標上の座標値を直接指定して点，線，及び面を定義する手法を用いるのが、最も簡便である。但し、この方法では、三次元モデルを構成するパーツとしての立体同士の位置関係を容易に変更することができない。そのため、従来より、立体の幾何拘束条件を定義する手法が開発されてきている。
【０００３】
この手法を具体的に説明すると、三次元モデルを構成するパーツとしての複数の立体を、三次元モデルを組み立てる空間の座標とは独立している三次元座標を用いて、定義しておく。次に、このように定義した立体のうち基準となる立体（以下、「基準立体」という。）を、上述の空間内の任意の座標位置に、任意の方向を向かせて配置する。そして、他の立体（以下、「被拘束立体」という。）をこの空間内に配置する際には、基準立体に対する複数個（通常３個以上）の幾何拘束条件（“面と面とが重なり合う”，“線と線とが一致する”，等）を定めることにより、その位置決めを行うのである。
【０００４】
幾何拘束条件の例を、図９を用いて説明する。図９は、三次元モデルを組み立てる空間内に、２個の立体１０１，１０２が定義されている状態を示している。いま、立体（直方体）１０１が基準立体であるとする。この場合、少なくとも立体１０１，１０２相互間の距離と、各立体１０１，１０２を構成する面の関係を２個定義すれば、立体（直方体）１０２の位置及び向きを定めることができるのである。具体的には、例えば、“立体１０１の面１Ａと立体１０２の面２Ａとは同一平面に乗る”という関係，“立体１０１の面１Ｂと立体１０２の面２Ｂとは同一平面に乗る”という関係，及び“立体１０１の面１Ｃと立体１０２の面２Ｃとの間の距離は１００である”という関係を定義すればよい。
【０００５】
このような幾何拘束条件を用いる手法を用いると、以下の利点が得られる。即ち、被拘束立体の位置及び方向を定めるのに必要な最小限の幾何拘束条件のうち何れか一個の幾何拘束条件を削除すると、被拘束立体は基準立体に対して、１個の自由度を持つことになる。即ち、被拘束立体は、この自由度に依る方向に変位可能となる。従って、この自由度の範囲内で新たな幾何拘束条件を設定するだけで、立体相互間の新たな位置又は姿勢を決めることができるのである。例えば、“立体１０１の面１Ａと立体１０２の面２Ａとは平行平面である”と定められていた当初の幾何拘束条件を“立体１０１の面１Ａと立体１０２の面２Ａとは同一平面に乗る”という幾何拘束条件に変更する如くである。同様に、残りの幾可拘束条件を任意に設定し直すことにより、被拘束立体の位置及び方向を任意に決め直すことができるのである。
【０００６】
【発明が解決しようとする課題】
しかしながら、このような幾何拘束条件を用いる従来の三次元ＣＡＤシステムにおいては、一旦必要最小限の幾何拘束条件が設定された後では、定性的な幾何拘束条件は、三次元ＣＡＤシステムの画面上に表示されなかった。即ち、図１０に示すように、「面と面との間の距離」のように寸法として表現できる幾何拘束条件は表示されるのであるが、「面と面とが重なり合う」，「線と線とが一致する」等の定性的な幾何拘束条件は画面上に表示されなかったのである。
【０００７】
そのため、一旦必要最小限の幾何拘束条件を設定した後では、どのような幾何拘束条件が設定しているかを確認することができなかった。従って、幾何拘束条件の設定後に、その設定されている幾何拘束条件のうちの一部のみを選択して編集する，即ち、削除したり変更したりすることができなかった。
【０００８】
それ故に、従来の三次元ＣＡＤシステムにおいて、一旦必要最小限の幾何拘束条件を設定した後に設定した幾何拘束条件を（一部でも）変更する場合には、設定されている全ての幾何拘束条件を一度削除し、もう一度（新たな内容で）幾何拘束条件を設定し直すという作業が必要となっていた。
【０００９】
このように、従来の三次元ＣＡＤシステムにおいては、幾何拘束条件の変更による立体の移動のための作業の効率が悪いという問題があった。
本発明は、上記問題点に鑑み、幾何拘束条件の編集が容易であり、もって多次元図形の移動を効率良く行い得る幾何拘束条件表示装置を提供することを課題とする。
【００１０】
【課題を解決するための手段】
本発明による幾何拘束条件表示装置は、原理図である図１に示すように、三次元空間内に複数個の三次元図形（２０４）を配置する際に、複数の三次元図形相互の位置関係を規定する幾何拘束条件を表示する幾何拘束条件表示装置において、
前記三次元図形の立体形状データを格納する第１の格納手段（２００）と、
複数個の三次元図形（２０４）相互の位置関係を規定する幾何拘束条件を格納する第２の格納手段（２０１）と、
前記幾何拘束条件を視覚的に表示するための幾何拘束表示データを作成する幾何拘束表示データ処理部と、
前記第１の格納手段（２００）に格納された複数個の三次元図形（２０４）を第２の格納手段（２０１）に格納された前記幾何拘束条件によって定められる位置関係にて三次元空間内に配置された状態を表示するとともに、表示された三次元図形（２０４）を構成する前記各要素のうち前記幾何拘束条件によって位置規制された要素とその拘束の種類とを特定する表示を全幾何拘束条件に関して行う表示手段（２０３）とを備え、
前記表示手段（２０３）は、前記第２の格納手段に格納された前記複数の幾何拘束条件によって前記複数個の三次元図形間の位置関係が確定した場合には、前記幾何拘束条件によって位置規制された要素とその拘束の種類とを特定する表示を確定前とは異なった態様で行うことを特徴とする。以下、三次元図形を多次元図形とも呼ぶ。
【００１１】
〔第１の格納手段，第２の格納手段〕
これら第１の格納手段２００及び第２の格納手段２０１は、ディスク装置等の不揮発媒体であっても、ＣＰＵの主記憶装置のような一時記憶用の揮発媒体で宛も良い。また、第１の格納手段２００及び第２の格納手段２０１は、同一の装置内に構築されていても良いし、別体の装置内に構築されていてもよい。
【００１２】
〔多次元図形〕
多次元図形とは、２次元空間内に存在し得る平面図形又は三次元空間内に存在し得る立体図形である。この多次元図形は、表示手段によって、それ自体の形状を変化させることなく、多次元空間の任意の位置に且つ任意の方向を向いて配置される。
【００１３】
〔幾何拘束条件〕
この幾何拘束条件は、多次元空間内に配置される複数の多次元図形の相互の位置関係を規定する条件である。この場合、幾何拘束条件は、一対の多次元図形相互間において規定されるように定めることができる。このようにすれば、この一対の組み合わせを数珠繋ぎに規定することで、３個以上の多次元図形相互間の位置関係をも規定することができる。
【００１４】
この幾何拘束条件は、多次元図形を構成する各要素，即ち、面，線，点，等が他の多次元図形の各要素に対してどのような位置関係にあるかを定めるものである。この幾何拘束条件の具体例としては、“平面と平面とが平行”，“平面と平面とが一致（平面又はその延長面が他の平面と同一平面上に存在するということ）”，“直線と平面とが一致”，“直線と直線とが平行”，“直線と直線とが一致（直線と直線とが同軸上に存在するということ）”，“点が面上に存在（点が平面上に存在，点が円筒面上に存在，点が円錐面上に存在，点が球面上に存在，点がトーラス面上に存在，等を含む）”，“点が線上に存在（点が直線上に存在，点が円弧状に存在，等を含む）”，“点と点とが一致”“回転に対する自由度（立体が任意の角度で回転対称な形状の場合、その図形の回転位置を具体的に決定しなくても、その回転位置が確定しているものとみなすということ）”，“平面と平面との距離”，“直線と直線との距離”，“点と平面との距離”，“点と直線との距離”，“点と点との距離”，“座標系相互の相対座標（各立体が基準としている座標系同士の表示座標上での相対距離）”，“座標系相互の相対角度（各立体が基準としている座標系同士の表示座標上での相対角度）”等が挙げられる。
【００１５】
〔表示手段〕
表示手段は、視覚的な外部出力を行うディスプレイ装置と、このディスプレイ装置に表示させるための画像データを作成するための処理部とから構成することができる。
【００１６】
この表示手段は、多次元図形を幾何拘束条件に従った位置関係で多次元空間内に配置した状態を表示する機能と、この幾何拘束条件が適用される各要素とその拘束の種類とを特定する表示を行う機能とを、有している。
【００１７】
この要素の特定のやり方としては、幾何拘束条件によって位置規制された一対の要素間を線で結ぶようにしても良い（請求項５に対応）。このようにすれば、幾何拘束条件が複雑に絡み合っている場合でも、容易に各要素の特定を行うことができる。それ以外にも、対応する要素間で同じ記号や数字を付するようにしても良いし、同じ色を付するようにしても良い。
【００１８】
また、拘束の種類の特定のやり方としては、前記幾何拘束条件によって位置規制された要素上に、その幾何拘束の種類に対応した記号又は数字を表示するようにしても良い（請求項６に対応）。このようにすれば、拘束の種類を文字で特定しなくても、容易に拘束の種類の表示を行うことができる。
【００２０】
この異なる態様としては、幾何拘束条件によって位置規制された要素とその拘束の種類とを特定する表示の表示色を変えることが挙げられる（請求項７に対応）また、複数個の多次元図形間の位置関係確定の前においては前記幾何拘束条件によって位置規制された一対の要素間を線で結ぶことによりそれら各要素の特定を行うとともに、前記複数個の多次元図形間の位置関係確定の後においては前記線を消去するようにするようにしても良い（請求項８に対応）。また、複数個の多次元図形間の位置関係確定の前においては前記幾何拘束条件によって位置規制された一対の要素上にその幾何拘束の種類に対応した記号又は数字を表示することにより拘束の種類を特定する表示を行うとともに、複数の多次元図形間の位置関係確定の後においては一方の要素上に表示されている前記記号又は数字を消去するようにしても良い（請求項９に対応）。
【００２１】
＜本発明における付加的構成＞
本発明の必須構成要件に、以下の付加的構成要件を加えても、本発明は成立可能である。
【００２２】
〔入力部と幾何拘束編集処理部〕
幾何拘束条件を入力する入力部と、この入力部によって入力された幾何拘束条件に従って、第２の格納手段に格納されている幾何拘束条件を更新する幾何拘束編集処理部を備えても良い（請求項２に対応）。このようにすれば、幾何拘束条件の任意の編集が可能になる。このような編集は、本発明の必須の構成要件である表示手段によって、全ての幾何拘束条件が表示されていることから可能になる。この際、入力部は、個々の幾何拘束条件毎に、その入力を受け付けることができる。
【００２３】
この入力部は、特定の幾何拘束条件を削除する旨の入力を受けても良い。この場合には、幾何拘束編集処理部は、特定された幾何拘束条件を前記第２の格納手段内から削除するように更新する（請求項３に対応）。
【００２４】
このようにして第２の格納手段内に格納されている幾何拘束条件が更新された場合には、表示手段は、更新後の幾何拘束条件に従って多次元図形の位置決めをするとともに、更新後の幾何拘束条件によって位置決めがなされる要素とその拘束の種類とを特定する表示を行う（請求項４に対応）。
【００２５】
【作用】
第１の格納手段は、複数個の多次元図形を表示するための図形表示データを格納する。一方、第２の格納手段は、幾何拘束条件を格納する。
【００２６】
これらの図形表示データ及び幾何拘束条件は、表示手段に通知される。そして、表示手段は、通知された図形表示データに基づいて多次元図形を多次元空間内に配置した状態を表示する。
【００２７】
通知された図形表示データが複数個になった場合には、表示手段は、多次元図形相互の位置決めを、通知された幾何拘束条件に従って行う。即ち、各多次元図形の構成要素同士の位置関係を、幾何拘束条件に従って規制することにより、多次元図形の位置決めを行う。
【００２８】
そして、表示手段は、この幾何拘束条件によって位置決めされたこれらの多次元図形の構成要素とこの拘束の種類とを特定する表示も行う。この特定する表示は、全ての幾何拘束条件について行う。従って、表示された多次元図形を見れば、どの構成要素にどのような種類の幾何拘束が付されているのかが一目瞭然である（請求項１乃至１０の作用）。
【００２９】
幾何拘束条件を入力するための入力部と、この入力部により入力された幾何拘束条件に従って第２の格納部に格納されている幾何拘束条件を更新する幾何拘束編集処理部を設ければ、幾何拘束条件を任意に編集することができる（請求項２乃至請求項４の作用）。
【００３０】
複数個の多次元図形間の位置関係が第２の格納手段に格納されている幾何拘束条件によって確定された場合に、拘束される構成要素と拘束の種類との特定表示を、確定前と違った態様によって行うようにすれば、配置位置の確定があったか否かが一目瞭然となる（請求項７乃至請求項１０の作用）。
【００３１】
【実施例】
以下に図面に基づいて本発明の実施例を説明する。
【００３２】
【第１実施例】
＜実施例の構成＞
〔三次元ＣＡＤシステムの構成〕
図２は、本発明の第１実施例による幾何拘束条件表示装置を含む三次元ＣＡＤシステムの構成を示す機能ブロック図である。
【００３３】
この三次元ＣＡＤシステムは、処理部１と、この処理部１に各々接続された入力部２，表示処理部３，及びデータ部４から構成されている。
この処理部１は、三次元ＣＡＤシステム全体の制御を行うとともに、表示すべき三次元モデルを作成する構成部である。また、入力部２は、処理部１に対してデータを入力する構成部である。また、表示処理部３は、処理部１にて作成された三次元モデルを表示する構成部である。また、データ部４は、処理部１にて三次元モデルを作成するのに用いられるデータを格納しておく構成部である。
【００３４】
入力部２は、キーボード及びマウスから構成されており、操作者が表示を希望する三次元モデルを表示するための諸データを処理部１に入力する機能を有している。
【００３５】
データ部４は、具体的には、第２の格納手段としての幾何拘束データ格納部４ａと第１の格納手段としての形状データ格納部４ｂとから構成されている。この形状データ格納部４ｂは、三次元モデルを構成する各立体の形状を規定するための立体形状データを格納する。個々の立体についての立体形状データは、面（要素Ａ）についてのデータと線（要素Ｂ）についてのデータとに分離されて格納される。
【００３６】
一方、幾何拘束データ格納部４ａは、各立体相互間の位置関係を規定する幾何拘束条件を格納する。個々の幾何拘束条件は、拘束種類と利用要素列（及び距離）とに分離されて格納される。この拘束種類とは、具体的には、以下に掲げるもの等である。即ち、“平面と平面とが平行”，“平面と平面とが一致（平面又はその延長面が他の平面と同一平面上に存在するということ）”，“直線と平面とが一致”，“直線と直線とが平行”，“直線と直線とが一致（直線と直線とが同軸上に存在するということ）”，“点が面上に存在（点が平面上に存在，点が円筒面上に存在，点が円錐面上に存在，点が球面上に存在，点がトーラス面上に存在，等を含む）”，“点が線上に存在（点が直線上に存在，点が円弧状に存在，等を含む）”，“点と点とが一致”“回転に対する自由度（立体が任意の角度で回転対称な形状の場合、その図形の回転位置を具体的に決定しなくても、その回転位置が確定しているものとみなすということ）”，“平面と平面との距離”，“直線と直線との距離”，“点と平面との距離”，“点と直線との距離”，“点と点との距離”，“座標系相互の相対座標（各立体が基準としている座標系同士の表示座標上での相対距離）”，“座標系相互の相対角度（各立体が基準としている座標系同士の表示座標上での相対角度）”等である。利用要素列とは、対応する拘束種類によって特定された幾何拘束条件が実際に適用される要素（面，線，点，座標，等）の組み合わせを、具体的に特定するものである。
【００３７】
処理部１は、具体的には、ＣＰＵ（中央演算装置）１０と、このＣＰＵ１に接続されている組み立て処理部１１と、この組み立て処理部１１に接続されている幾何拘束条件作成部１２及び立体形状作成部１３とから、構成されている。これら組み立て処理部１１，幾何拘束データ作成部１２，及び立体形状作成部１３は、実際には、これらの機能を実現させるためのプログラムを格納するメモリ（ＲＡＭ）から構成される。ＣＰＵ１０は、これらメモリに格納されているプログラムを実行して、各機能を実現させる装置である。また、ＣＰＵ１０は、オペレーションシステム（ＯＳ）による制御の下、入力部２，表示処理部３，及びデータ部４との出入力処理を実行する。
【００３８】
立体形状作成部１３は、入力部２により入力されたデータに基づいて、三次元モデルを構成するパーツとしての立体（立方体，直方体，円柱，球、等）を表示するための立体形状データを作成する。この立体形状データを作成する際には、三次元モデルを作成するための表示座標系とは独立した座標系を基準として、このデータを作成する。
【００３９】
幾何拘束条件作成部１２は、入力部２により入力されたデータに基づいて、立体形状作成部１３により作成した立体の相互位置関係を規定する幾何拘束条件を作成するとともに、この幾何拘束条件を画面上に表示するための幾何拘束表示データを作成する。更に詳しく述べると、幾何拘束条件作成部１２内には、幾何拘束記憶処理部１２ａ，幾何拘束編集処理部１２ｂ，及び幾何拘束表示データ処理部１２ｃが含まれている。
【００４０】
幾何拘束記憶処理部１２ａは、幾何拘束編集処理部１２ｂにおいて作成された幾何拘束条件をデータ部４の幾何拘束データ格納部４ａに格納したり、データ部４に格納されている幾何拘束データを読み出す処理を行う。
【００４１】
幾何拘束編集処理部１２ｂは、入力部２で入力されたデータから幾何拘束条件を作成したり、幾何拘束記憶処理部１２ａによってデータ部４の幾何拘束データ格納部４ａから読み出された幾何拘束条件を削除したり、変更したり、追加する編集を行う。
【００４２】
幾何拘束表示データ処理部１２ｃは、幾何拘束編集処理部１２ｂによって編集された幾何拘束条件に基づいて、この幾何拘束条件を視覚的に表示するための幾何拘束表示データを作成する。この幾何拘束表示データに基づく幾何拘束条件の表示例を、図６に示す。この図６から明らかなように、幾何拘束条件の表示は、拘束の種類を示すパターン（記号又は数字）と利用要素列を特定する直線とによってなされる。
【００４３】
即ち、図６（ａ）〜（ｄ）に示す黒塗りの三角形は、“面と面とが一致”という幾何拘束条件が適用される面を示している。そして、この黒塗りの三角形を結ぶ直線（結合線）は、この“面と面とが一致”という幾何拘束条件によって相互に位置決めがなされる要素（面）の組み合わせを指示するものである。同様に、図６（ｃ〜ｄ）に示す黒塗りの四角形は、“面と面とが垂直”という幾何拘束条件が適用される面を示し、それら黒塗りの四角形を結ぶ直線は、その幾何拘束条件によって相互に位置決めされる要素（面）の組み合わせを示している。一方、図６（ａ，ｃ，ｄ）に示す数字が付された矢印付き結線は、距離に関する幾何拘束条件が適用される面の組み合わせを示している。そして、その数字（１００，５０）が矢印によって示される要素（面）相互間の距離を示しているのである。但し、図６（ｃ）に示されるのは未だ表示データの組み立て（立体の配置位置の確定）が行われていない状態であるので、幾何拘束条件の表示内容と実際の立体の配置状態とは一致していない。
【００４４】
なお、幾何拘束表示データ処理部１２ｃは、幾何拘束編集処理部１２ｂによって幾何拘束条件が削除，変更，又は追加されるのに合わせて、幾何拘束表示データを、削除，変更，又は追加する。また、幾何拘束表示データ処理部１２ｃは、組立処理部１１における組立処理の結果如何に応じて、幾何拘束条件の表示形態を変化させる。
【００４５】
組み立て処理部１１は、立体形状作成部１３にて作成された各立体を規定するための立体形状データに基づいて、各立体を表示するための立体表示データを作成する。そして、組み立て処理部１１は、各立体表示データを幾何拘束編集処理部１２ｂにて作成された幾何拘束条件に従って表示空間内で変位させて、三次元モデルを表示するための三次元モデル表示データに組み立てる演算を実行する。組み立て処理部１１は、この演算を実行することにより、複数の立体間の相対位置関係を確定する。演算実行の際には、各立体相互の位置関係を確定するのに必要な最小限の幾何拘束条件が入力されていることが必要である。なお、組み立て処理部１１は、必要最小限の幾何拘束条件が入力されて組み立てが行われる前においては、立体形状データを表示空間内の任意の位置（以前に三次元モデル表示データの組み立てが行われたが、その後一部の幾何拘束条件が削除された場合には、そのままの位置）に配置するように、立体表示データを作成する。
【００４６】
また、組み立て処理部１１は、以上のようにして組み立てた三次元モデル表示データ（立体表示データ）に、幾何拘束表示データ処理部１２ｃにて作成された幾何拘束表示データを付加する。
【００４７】
表示処理部３は、ディスプレイ装置３ａを備えている。そして、組み立て処理部１１によって組み立てられた三次元モデル表示データ（立体表示データ）に基づいて、このディスプレイ装置３ａに三次元モデルを表示するとともに、幾何拘束表示データに基づいて、幾何拘束表示を行う処理を実行する。
【００４８】
この幾何拘束表示データ処理部１２ｃと表示処理部３とにより、表示手段が構成される。
〔三次元ＣＡＤシステムの制御内容〕
次に、処理部１及び表示処理部３において実行される制御の内容を、図３乃至図５のフローチャートに基づいて説明する。
【００４９】
図３は、立体相互間の位置関係を表示するのに必要な最低限の幾何拘束条件の入力が完了するとともに、それらの配置位置を確定するための組立演算が完了する前において実行される処理を示している。
【００５０】
図３に示す処理は、入力部２からの新規の幾何拘束条件の入力がある度に，及び、幾何拘束条件編集用のデータ入力がある度に、実行される。そして、最初のステップＳ１０１において、幾何拘束条件編集処理部１２ｂは、入力された幾何拘束条件に基づいて、幾何拘束データ（拘束の種類及び利用要素列（並びに距離））を作成する。そして、幾何拘束記憶処理部１２ａは、作成された幾何拘束データを、データ部４の幾何拘束データ格納部４ａに格納する。なお、入力部１から幾何拘束条件を削除する旨のデータ入力があった場合には、幾何拘束記憶処理部１２ａは、幾何拘束データ格納部４ａに格納されている幾何拘束データを削除する。
【００５１】
次に、ステップＳ１０２において、組み立て処理部１１は、立体表示データを作成する。但し、以前に三次元モデル表示用データの組み立てが行われた後に一部の幾何拘束条件が削除された場合には、各立体の位置関係をそのままにして、立体表示データを作成する。
【００５２】
次に、ステップＳ１０３において、幾何拘束表示データ処理部１２ｃは、幾何拘束の表示用データを作成する。
以上のようにして幾何拘束の表示用データ及び立体表示データが作成された後に、表示処理部３は、作成された立体表示データに基づいて各立体をディスプレイ３ａに表示する。それとともに、表示処理部３は、作成された幾何拘束の表示用データに基づいて、表示されている三次元モデルに幾何拘束の表示（パターン及び結合線）を追加表示する。そして、以上の一連の処理を終了する。
【００５３】
図４は、立体相互間の位置関係を表示するのに必要な最低限の幾何拘束条件の入力が完了した後において、それらの配置位置を確定するために実行される処理を示している。
【００５４】
図４に示す処理は、入力部２から組み立て決定指示の入力があると、実行される。そして、最初のステップＳ２０１において、組み立て処理部１１は、データ部４の幾何拘束データ格納部４ａに格納されている幾何拘束データと形状データ格納部４ｂに格納されている形状データとに基づいて、三次元モデル表示用のデータの組み立て処理を実行する。
【００５５】
次に、幾何拘束表示データ処理部１２ｃは、ステップＳ２０２において、組み立て完了時用の幾何拘束の表示用データを作成する。
以上のようにして幾何拘束の表示用データ及び三次元モデル表示用データが作成された後のステップＳ２０３において、表示処理部３は、ディスプレイ３ａ上に幾何拘束データを表示中であるかどうかをチェックする。
【００５６】
そして、幾何拘束データを表示中であると判断した場合には、ステップＳ２０４において、現在表示中の幾何拘束表示を削除する。そして、処理をステップＳ２０５に進める。
【００５７】
一方、ステップＳ２０３にて幾何拘束データを表示中でないと判定した場合には、ステップＳ２０４をスキップして直接処理をステップＳ２０５に進める。
ステップＳ２０５において、表示処理部３は、ステップＳ２０２にて新規に作成した幾何拘束表示データを表示する。そして、以上の一連の処理を終了する。
【００５８】
図５は、図３のステップＳ１０３，又は図４のステップＳ２０２において幾何拘束表示データ処理部１２ｃが実行する幾何拘束の表示用データ作成処理のサブルーチンを示している。このサブルーチンでは、最初にステップＳ３０１において、記憶部４の幾何拘束データ格納部４ａから未表示の幾何拘束データを一つ取り出す。
【００５９】
そして、続くステップＳ３０２では、ステップＳ３０１にて取り出した幾何拘束データの拘束の種類を判定する。次に、ステップＳ３０３では、ステップＳ３０２にて判定した拘束の種類に対応した利用表示パターン（記号又は数字）を確定する。
【００６０】
次に、ステップＳ３０４では、ステップＳ３０１にて取り出した幾何拘束データの利用要素の種類を判定する。即ち、この幾何拘束によって拘束される要素が面であるのか、線であるのか、若しくは点であるのかを判定する。この判定は、幾何拘束の種類を分析することにより行う。
【００６１】
そして、利用要素が面である場合には、ステップＳ３０５において、対応する利用要素列から面データを獲得する。また、利用要素が線である場合には、ステップＳ３０６において、対応する利用要素列から線データを獲得する。また、利用要素列が点データである場合には、ステップＳ３０７において、対応する利用要素列から点データを獲得する。なお、幾何拘束の種類が距離に関するものである場合には、これらのステップにおいて、対応する距離のデータも獲得する。
【００６２】
続くステップＳ３０８では、組み立て処理部１１によって組み立て処理が完了しているかどうかを判定する。このサブルーチンが図３のステップＳ１０３から呼び出された場合には、三次元モデル表示データの組立は完了していないので、処理をステップＳ３０９に進める。これに対して、このサブルーチンが図４のステップＳ２０２から呼び出された場合には、ステップＳ２０１にて三次元モデル表示データの組み立ては完了しているので、処理をステップＳ３１０に進める。
【００６３】
ステップＳ３０９では、未完了用の幾何拘束の表示データの作成を行う。即ち、全ての幾何拘束条件について、パターン（記号又は数字）及び結合線の表示を行う。具体的に述べると、定性的な幾何拘束の場合には、ステップＳ３０５乃至ステップＳ３０７の何れかにて獲得した一対の利用要素の表示位置にステップＳ３０３にて確定した表示パターン（記号）を表示するとともに、それらの間を結ぶ結合線を表示するデータを作成するのである。また、距離に関する幾何拘束の場合には、ステップＳ３０５乃至ステップＳ３０７の何れかにおいて獲得した一対の利用要素を結ぶ矢印付結合線を表示するとともに、距離を数字で表示するデータを作成するのである。
【００６４】
一方、ステップＳ３１０では、完了時用の幾何拘束の表示データの作成を行う。即ち、ステップＳ３０９にて作成される表示データとは異なった形態にて幾何拘束条件を表示するための表示データを作成する。具体的に述べると、図７に示すように、定性的な幾何拘束の場合には、ステップＳ３０５乃至ステップＳ３０７の何れかにて獲得した被拘束立体の利用要素の表示位置にステップＳ３０３にて確定した表示パターン（図形）のみを表示するデータを作成するのである。また、距離に関する幾何拘束の場合には、ステップＳ３０９によるのと同様に、ステップＳ３０５乃至ステップＳ３０７の何れかにおいて獲得した一対の利用要素を結ぶ矢印付結合線を表示するとともに、距離を数字で表示するデータを作成するのである。
【００６５】
なお、ステップＳ３１０にて作成される完了時用の表示データとしては、図８に示すような表示をするものでも良い。具体的に述べると、定性的な幾何拘束の場合には、ステップＳ３０９にて作成した表示データと同じ表示パターン及び結合線を、それらとは異なる色によって表示するデータを作成するのである。また、距離に関する幾何拘束の場合には、ステップＳ３０９によるのと同様に、ステップＳ３０５乃至ステップＳ３０７の何れかにおいて獲得した一対の利用要素を結ぶ矢印付結合線を表示するとともに、距離を数字で表示するデータを作成するのである。
【００６６】
ステップＳ３０９又はステップＳ３１０を実行した後、処理はステップＳ３１１に進む。このステップＳ３１１では、データ部４の幾何拘束データ格納部４ａに未表示の幾何拘束データがあるかどうかを判定する。このサブルーチンが図３のステップＳ１０３により呼び出された場合には、未表示の幾何拘束データはあり得ないので、このサブルーチンを終了して元の処理位置にリターンする。一方、このサブルーチンが図４のステップＳ２０２により呼び出された場合には、未表示の幾何拘束データがあり得るので、処理をステップＳ３０１に戻す。そして、ステップＳ３０１からステップＳ３１１までのループを繰り返した結果、未表示の幾何拘束データが無くなった場合には、このサブルーチンを終了して元の処理位置にリターンする。
＜実施例の作用＞
〔組み立て完了前における表示〕
本実施例による幾何拘束表示装置によれば、幾何拘束条件の編集は以下のようにして行われる。いま、図７（ａ）に示すように、直方体を表示する基準立体１０１と直方体を表示する被拘束立体１０２とが作成されているとする。そして、“立体１０１の面１Ａと立体１０２の面２Ａとが一致”という幾何拘束条件（拘束Ａ），“立体１０１の面１Ｂと立体１０２の面２Ｂとが一致”という幾何拘束条件（拘束Ｃ），及び“立体１０１の面１Ｃと立体１０２の面２Ｃとの距離が１００”という幾何拘束条件（拘束Ｄ）を入力部２から入力すると、図７（ａ）に示すような幾何拘束条件の表示がディスプレイ３ａ上においてなされる。図７（ａ）は、三次元モデル表示用のデータ組み立て完了前の状態を示している。従って、全ての幾何拘束条件の表示が行われている。
〔組み立て完了後における表示〕
この状態において、組み立て決定指示が入力部２から入力されて、三次元モデル表示用のデータ組み立て計算が完了すると、図７（ｂ）に示す様な組み立て完了時用の幾何拘束条件表示がなされる。即ち、定性的拘束である拘束Ａ及び拘束Ｃにおいて利用要素の組み合わせを示している結合線の表示が消去される。それと同時に、拘束Ａ及び拘束Ｃにおいて基準立体１０１側の利用要素及び拘束の種類を示している表示パターン（黒塗りの三角形）が消去される。
【００６７】
このように、本実施例によれば、三次元モデル表示用データの組み立て完了（立体の相互位置関係の確定）前後において幾何拘束の表示方法が変更されるので、組み立てが完了しているのか否かが一目瞭然である。しかも、組み立て完了後においても、幾何拘束の種類は被拘束立体１０２に付された表示パターンから特定できる。さらに、表示パターンが付されている被拘束立体１０２上の利用要素の位置と幾何拘束の種類とから、基準立体１０１上の用要素の位置も推測することが可能である。従って、組み立て完了の前後に拘わらず、全ての幾何拘束条件を確認することができ、その編集を行うことができる。
【００６８】
なお、組み立て完了時用の幾何拘束条件表示が図８に従ってなされる場合には、図８（ｂ）に示す様な組み立て完了時用の幾何拘束条件表示がなされる。即ち、定性的拘束である拘束Ａ及び拘束Ｂにおける幾何拘束表示（表示パターン（黒塗りの三角形）及び結合線）が、組み立て完了前（図８（ａ）参照）とは異なった色によってなされる。このようにした場合には、組み立てが完了しているのか否かが一目瞭然でありながら、組み立て完了後であっても幾何拘束条件を完全に認識することができる。従って、幾何拘束条件の編集を容易に行うことができる。
〔幾何拘束条件の編集〕
次に、本実施例において幾何拘束条件の編集をする際の手順を説明する。なお、本実施例においては、三次元モデル表示用データの組み立て完了の有無如何に拘わらず、幾何拘束条件の編集が可能である。図６は、組み立て完了後において幾何拘束条件を編集する際の状態を示している。
【００６９】
先ず、図６（ａ）は、図８（ｂ）と同じく、拘束Ａ，拘束Ｃ，及び拘束Ｄの各幾何拘束条件を入力した状態を示している。この状態から、被拘束立体１０２を反時計方向に回転させるとともに、立体１０１，１０２相互間の距離を５０に縮める編集を行うとする。
【００７０】
その場合には、図６（ａ）に示されるように表示されている幾何拘束条件表示を観察することにより、各幾何拘束条件のうち拘束Ａ及び拘束Ｄが邪魔であることが理解される。従って、入力部２を介して、拘束Ａ及び拘束Ｄを削除する旨を入力する。
【００７１】
すると、ステップＳ１０１が実行されることにより、データ部４の幾何拘束データ４ａ格納部４ａから拘束Ａ及び拘束Ｄに関する幾何拘束データが削除される。従って、ステップＳ１０３においては、拘束Ａ及び拘束Ｄの幾何拘束表示が除外された幾何拘束データが作成される。その結果、図６（ｂ）に示すように、ディスプレイ３ａ上から拘束Ａの幾何拘束表示及び拘束Ｄの幾何拘束表示が消去される。また、残った拘束Ｃの幾何拘束表示は、組み立て前用の態様になる。
【００７２】
次に、被拘束立体１０２を回転させるために、新たに、“立体１０１の面１Ａと立体１０２の面２Ａとが垂直”という幾何拘束条件（拘束Ｂ）を、入力部２を介して入力する。同時に、被拘束立体１０２を基準立体１０１に近づけさせるために、“立体１０１の面１Ｃと立体１０２の面２Ａとの距離が５０”という幾何拘束条件（拘束Ｄ’）を、入力部２を介して入力する。その結果、ステップＳ１０３が実行されることにより、図６（ｃ）に示すように、幾何拘束条件が適用される要素相互間に幾何拘束表示（拘束Ｂ，拘束Ｄ’）が表示される。但し、この時点では、組み立てがなされていないので、幾何拘束表示の態様が組み立て前用のものであり、その幾何拘束の内容と実際の立体の配置位置は一致していない。
【００７３】
次に、組み立て決定指示が入力されると、ステップＳ２０１が実行されることにより、立体１０２の配置位置が、図６（ｃ）に示すように変化する。即ち、被拘束立体１０２は、“立体１０１の面１Ｂと立体１０２の面２Ｂとが一致”という条件（拘束Ｃ）を満たしつつ、この面２Ｂが存在する面内で反時計方向に９０度回転する。それとともに、相対する面（面１Ｃ，面２Ａ）の相対距離が５０になるように、立体１０２は、立体１０１に向けて接近する。
【００７４】
以上のように編集及び組み立てが終わった後に、更に編集が必要であれば、編集を続行することも可能である。
【００７５】
【発明の効果】
本発明によれば、多次元ＣＡＤシステムにおいて多次元モデルを表示する場合において、付加されている幾何拘束条件を画面上で容易に確認することができる。従って、表示されている幾何拘束条件の各々を、単独に指定して編集を行うことができる。よって、幾何拘束条件の編集が容易となり、立体の移動を効率良く行うことができるようになる。
【００７６】
なお、表示されている幾何拘束条件のうち、組み立て完了部分と未完了部分とを異なった態様にて表示するようにすれば、この組み立て完了部分と未完了部分とを図面上で容易に確認することができる。そのため、確認作業の時間短縮を図ることができる。
【図面の簡単な説明】
【図１】  本発明の原理図
【図２】  本発明の第１実施例による三次元モデルの幾何拘束条件表示装置が含まれる三次元ＣＡＤシステムの構成を示すブロック図
【図３】  幾何拘束条件入力時における制御内容を示すフローチャート
【図４】  組み立て決定指示の入力時における制御内容を示すフローチャート
【図５】  図３のステップＳ１０３又は図４のステップＳ２０２において実行される表示データ作成処理サブルーチンの内容を示すフローチャート
【図６】  幾何拘束条件の編集の手順を示す図
【図７】  三次元モデル表示用データの組み立て前後における幾何拘束条件の表示態様変化の説明図。
【図８】  三次元モデル表示用データの組み立て前後における幾何拘束条件の表示態様変化の説明図。
【図９】  幾何拘束条件の説明図
【図１０】  従来における幾何拘束条件の表示態様の説明図
【符号の説明】
１・・・処理部
２・・・入力部
３・・・表示処理部
４・・・データ部
１１・・・組み立て処理部
１２・・・幾何拘束条件作成部
１３・・・立体形状作成部
【図１】
0003663219.tif 000002
【図２】
0003663219.tif 000003
【図３】
0003663219.tif 000004
【図４】
0003663219.tif 000005
【図５】
0003663219.tif 000006
【図６】
0003663219.tif 000007
【図７】
0003663219.tif 000008
【図８】
0003663219.tif 000009
【図９】
0003663219.tif 000010
【図１０】
0003663219.tif 000011