(57)【特許請求の範囲】
【請求項１】
複数のエンティティーを含むコンピュータにより生成された幾何学的モデルのための寸法付けシステムにして、
前記モデルの２つのエンティティーを選択する選択装置と、
前記選択されたエンティティーに付随する各寸法を定義する寸法定義システムとを備え、
前記幾何学的モデルは、３次元板金部品モデルであり、
前記選択装置は、各選択されたエンティティーに対応する付着点を選択する付着点選択装置を備え、前記寸法定義システムは、１つの直平行六面体を生成する直平行六面体生成装置を備え、前記直平行六面体は、前記選択された付着点をその直平行六面体の対向する最も離れた対角コーナー点とするものであるとともに、前記直平行六面体を構成する各エッジは、前記幾何学的モデルが定義されている直交座標系の各座標軸に沿ったものであり、マウスカーソルを画面中を移動させることによって、前記直平行六面体のエッジに沿う、前記付着点間の複数の経路が、選択のために表示され、選択された経路は表示画面上で、矢線で示されることを特徴とする寸法付けシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、板金部品又はシート金属部品などの部品を設計及びモデル化又はモデル化するためのコンピュータ支援設計（ＣＡＤ）システムおよびコンピュータ化された製図用ツールに関する。より特定的には本発明は、表示画面上でＣＡＤ部品モデルの寸法又はディメンションを選択し、表示し再位置付けする装置及び方法に関する。
【０００２】
【従来の技術】
伝統的に、例えば進歩的な板金製造施設などで曲げ板金コンポーネントを製造するには、一連の生産と製造の段階が必要である。第１の段階は、板金部品設計を顧客の仕様書に基づいて作成する設計段階である。顧客は通常は、その施設で生産する特定の板金コンポーネントの注文書を提出する。顧客の注文書は通常は、その工場がそのコンポーネントを製造できるようにするために必要な製品と設計の情報を含む。この情報には例えば、部品の幾何学的寸法、その部品に対して必要な材料（例えば鋼、ステンレススチール、アルミなど）、特殊な成形情報、バッチサイズ、納期などが含まれる。顧客が要求する板金部品は、広い応用分野に適すように設計され生産される。例えば、生産されたコンポーネントは究極的には、コンピュータの外部ケーシング、配電盤、航空機のアームレストまたは自動車のドアパネルの部品などとして使用される。
【０００３】
設計段階では、製造施設の設計事務所は、適当なコンピュータ支援設計（ＣＡＤ）システムを用いて板金部品設計を展開する。顧客の仕様書に基づいて、ＣＡＤシステムを利用して板金部品の２次元（２−Ｄ）モデルを作成する。典型的には、顧客は、コンポーネントの１枚以上の図面および部品の重要な幾何学的寸法を含む青写真を提供する。この寸法を用いて、部品の幾何形状を定量的に示す。この青写真はまた、板金部品表面（単数又は複数）の穴または他のタイプの開口の位置などの、部品に含まれる特殊なフォーミングやマーキングを示す。ＣＡＤシステムのオペレータはしばしばこの青写真を用いて、２次元モデルをＣＡＤシステムで作成する。この２次元モデルは、完成３次元部品へ折り畳まれる平坦な板金部品の図および、曲げ線および／または寸法情報を表示する板金部品の正投影図を含むことがある。
【０００４】
市販のＣＡＤ／コンピュータ支援製造（ＣＡＭ）システムで２次元及び３次元（３−Ｄ）モデル化を使用し開発することで近年モデル化曲げ板金コンポーネントの処理が早くなった。 ＣＡＭシステムオペレータ及び部品設計者は、２次元及び３次元表現を共に利用し部品の形状をよりよく理解することで、いっそう効率的な部品設計の開発が可能である。（指定した方針で定義位置又は空間へその部品を適合させるために）重要な部品の特定の位置間の関係をモデル化し、分析することがある。このように２次元及び３次元モデル化を使用することにより部品を分析し、その寸法で定義位置又は環境に部品が適合できるか判断する時間と労力が以前ほどかからなくなった。コンピュータモデル化以前には、部品は曲げ後に物理的に測定し、スペックと一致しない場合、再曲げされ、その結果最適な設計のための試行錯誤を繰り返した。
【０００５】
【発明が解決しようとする課題】
従来、モデル化プログラムは部品の所定寸法のみを表示していたために、モデル化プログラムの性能には限界があった。すなわち、所定エンティティ間（部品の曲げ線、面、弧及び線（エッジ）など）の距離は自動的に表示された。しかしながら、これら自動的寸法は部品の重要な寸法でないばかりでなく部品が折り畳まれる前には存在しなかった可能性がある。さらに自動的に表示する寸法により一般的には画面上に表示される寸法が多くなってしまい、画面に混雑又はクラッタがおこる。自動的寸法はオールオアナッシング命題、すなわち寸法すべてが表示されるか、又は全く表示されないかどちらかであるため混雑又はクラッタが生じる。従って部品の重要な寸法を決定し、計算と分析のための寸法をユーザ自身が選択できるツールが必要である。さらに表示のための重要な寸法に優先順位をつけること、及び／又は画面が混雑しないように寸法の再位置付けが可能となるようにユーザにツールを与えることが必要である。すなわち表示する寸法を選択し優先順位をつける場合、時間と労力は選択へ変わる。従って、この部品に関するユーザの知識を獲得するため、部品と関連づけて前記寸法を保存する必要がある。
【０００６】
さらに退屈なマウス操作をすることなく、そこから寸法を測定するところの部品の望ましいエンティティを選択する必要がある。通常は２次元モデル又は３次元ペーパーモデルすなわち厚みのないモデルを大部分の旧システムは使用している。しかしながら実際は部品には厚みがある。その結果、部品が曲がると、厚みが問題となり寸法に影響を与える。従って寸法を測定する板金の厚さの１方のサイド（遠いサイド又は近いサイド）を選択する必要がある。さらに多数のエンティティが存在する場合、特に望ましいエンティティの容易な選択を可能とする必要である。
【０００７】
【課題を解決するための手段】
本発明は、１個以上のエンティティを持つコンピュータ生成形状モデル用のための寸法付けシステムに関する。エンティティが曲げ線、面又はフォーミングであることがある。モデルのエンティティ２個を選択するセクタ（選択装置）及び、モデルのエンティティと関連ある寸法それぞれを定義する寸法定義システムが、ディメンショニング（寸法付け）システムには含まれる。選択する可能性のあるモデルの候補エンティティをユーザに指示するインジケータ（示唆装置）を提供することがある。結果としてエンティティそれぞれは指示された候補エンティティに基づき選択される。候補エンティティがユーザ事象に、好ましくはマウスの動作事象に反応して指示される。寸法付けシステムには表示画面上でモデルの表現を表示するモデル表現装置及び、定義寸法に基づいて表示画面上で寸法情報を表示する寸法表現装置が含まれる。形状モデルは、板金部品モデル又は３次元板金部品モデルであってもよい。
【０００８】
セレクタには、選択したエンティティにそれぞれ対応する付着点セレクタが含まれる。寸法定義システムには直平行六面体ジェネレータが含まれ、それが直平行六面体(cuboid)の真向かいの対角コーナーとして選択した付着点を有する直平行六面体を生成する。付着点を結ぶ直線又は直平行六面体の隣接した３個のエッジとして、付着点間の寸法は定義される。隣接した３個のエッジは付着点を結ぶ。又は長方形ジェネレータを使用することがあり、その場合には付着点間の隣接した２個のエッジとして寸法は定義される。
【０００９】
選択したエンティティ間の寸法が２本の線の間で測定された角度である場合、選択したエンティティそれぞれに対して１本づつ、すなわち２本の線を計算する線計算機がセレクタに含まれることがある。線はそれぞれ選択したエンティティの中の１個を表現する。寸法表示装置には、その２本の線を基にしたシリンダを生成するシリンダジェネレータが含まれる。寸法情報コンポーネント（要素又は成分）が周辺シリンダの１部に表示される。又はまた寸法情報コンポーネントは選択した２個のエンティティを結ぶ弧であり、シリンダジェネレータの必要性を軽減することがある。
【００１０】
さらに優先順位をモデルのエンティティ及び定義済み寸法に割り当てる選択順序システムが提供されている。割り当てた優先順位に基づいて選択のターゲットとしてモデルのエンティティ又は定義済み寸法のどちらか１個を選択順序システムは取り上げる。ターゲットがモデルのエンティティであれば、それは候補エンティティである。モデルのエンティティで望ましくないもの、又は定義済み寸法がターゲットになることを妨げるフィルタもまた提供されることがある。
【００１１】
寸法表示には、モデルのユーザ選択視角から付着点が見えることをチェックする可視性チェッカが含まれる。ユーザ選択視角から付着点の１個が必ず見える場合に限り、寸法情報は表示される。寸法情報にはテキスト及び矢印線が含まれる。ユーザ選択視角から見ることができる矢印線の１部に関してテキストが中心に集まるように再位置付けするテキストリポジショナが寸法表示には含まれる。
【００１２】
本発明は、複数のエンティティを持つコンピュータ生成形状モデルのための寸法を選択し表示する方法にも関する。この方法には表示画面上でモデルの表現を表示すること、及びユーザ事象に応じてユーザにモデルの候補エンティティを示唆又は指示することが含まれる。ユーザ事象はマウス動作事象であることが好ましい。またこの方法には２個を選択することが含まれる。ここに、エンティティそれぞれは示唆候補エンティティに基づく。選択したエンティティと関連する寸法を定義すること、及び定義した寸法に基づき表示画面上に寸法情報をモデルと共に表示することが含まれる。形状モデルは、シートモデル部品又は３次元板金部品モデルであり得る。
【００１３】
定義工程には、選択したエンティティ間の角度又は距離として寸法を定義することが含まれる。寸法を、選択したエンティティ間の距離として定義する場合、定義工程には距離を測定する測定軸の選択も含まれる。選択したエンティティ間の角度として寸法を定義する場合、定義には鈍角測定角度又は鋭角測定角度の選択もまた含まれる。
【００１４】
寸法を選択したエンティティ間の距離として定義する場合、選択工程には選択したエンティティに一致する付着点の選択がまた含まれる。寸法の定義工程にはまた、直平行六面体の真向かいの対角コーナーとしての選択した付着点が定義するところの直平行六面体の生成が含まれる。付着点を結ぶ直線又は直平行六面体の隣接した３本の線として、付着点間の寸法は定義される。隣接する３個のエッジは付着点を結ぶ。又は長方形が生成される可能性があり、その場合には付着点間の隣接した２個エッジとして、寸法が定義される。
【００１５】
寸法を角度として定義する場合、選択工程にはまた選択したエンティティそれぞれに１本の線、すなわち２本の線を計算することが含まれる。それぞれの線は選択したエンティティ２個のうち１個を表現している。寸法の表示工程にはまた２本の線に基づいたシリンダの生成が含まれる。選択した２個のエンティティ間の寸法は２本の線の間で測定した角度である。寸法情報コンポーネント（成分）はシリンダの周辺上の１部に表示される。又はシリンダが使用されず、寸法情報コンポーネントが選択した２個のエンティティ間の弧であることもある。
【００１６】
モデルの中の板金又は板金の厚さが表現されることがある。厚さが表現される場合、定義工程にはまた、そこから寸法が測定されるところの厚みについての側面を選択することが含まれる。
【００１７】
本発明はさらに、表示画面上に表現されたコンピュータ生成幾何学モデルのための再位置付けシステムに関する。幾何学モデルは自らと共に関連の寸法を表示画面上に表示させる。再位置付けシステムにはモデルに関して望ましい位置に寸法を再位置付けするリポジショナ及び、モデルに関して望ましい位置に寸法を表示する再位置付け寸法表示装置が含まれる。形状モデルは板金部品モデル又は３次元板金部品モデルである可能性がある。再位置付け寸法表示装置には延長線クリエータが含まれる。延長線クリエータが表示画面上で延長線を作成し表示するのは、矢印線が再位置付けされて直近の端部がもはや選択したエンティティに隣接しない場合である。延長線は、各付着点と矢印線の最も近端の間に延びる。
【００１８】
本発明は、１個以上のエンティティを含む板金部品（シート金属部品）のコンピュータ生成モデルのための寸法付けシステムに関する。寸法付けシステムには表示画面上にモデルの表現を表示するモデル表現装置及び、選択する可能性のある候補エンティティをユーザに示唆又は指示するインディケータが含まれる。ユーザ事象に反応して候補エンティティは示唆又は指示される。モデルのエンティティ２個を選択するセレクタも含まれる。選択したエンティティそれぞれは示唆又は指示された候補エンティティに基づいている。選択したエンティティと関連する寸法を定義する寸法定義システム及び、定義した寸法に基づいて表示画面上に寸法情報を表示する寸法表現装置が寸法定義システムには含まれる。モデルに関して望ましい位置に寸法を再位置付けするリポジショナ及び、モデルに関して望ましい位置に寸法を表示する再位置付け寸法表現装置がシステムにはまた含まれる。
【００１９】
本発明は、１個以上のエンティティを持つコンピュータ生成形状モデルのための１個のエンティティ寸法付けシステムに関する。１個のエンティティ寸法付けシステムには、表示画面上にモデル表現を表示するモデル表現装置及び、選択する可能性のあるモデルの候補エンティティをユーザに示唆、指示するインディケータが含まれる。ユーザ事象に反応して候補エンティティは示唆、指示される。モデルのエンティティ２個を選択するセレクタもまた含まれる。選択したエンティティそれぞれは示唆、指示された候補エンティティに基づいている。寸法定義システムにはモデルの選択したエンティティと関連する寸法を定義する寸法定義システム及び、定義した寸法に基づいて表示画面上に寸法情報を表示する寸法表現装置が含まれる。またシステムにはモデルに関して望ましい位置に寸法を再位置付けするレポジショナ及び、モデルに関して望ましい位置に寸法を表示する再位置付け寸法表現装置が含まれる。形状モデルは板金部品モデル又は３次元板金部品モデルであることもある。選択したエンティティが円又は弧である場合、寸法は選択したエンティティの直径又は半径である。選択したエンティティが曲げ線又は線である場合、寸法は選択したエンティティの長さである。
【００２０】
【発明の実施の形態】
以下に述べる本発明の詳細な説明は図面を参考にしており、好ましい実施形態例は限定していないが、その中で同じ参照符号は図面の内の複数の図全体にわたって類似の部品を示している。
【００２１】
付随の図面を参考に、寸法付け（或いはディメンジョニング）システムを詳細に説明する。本発明の態様に従えば、部品モデルの寸法を選択・表示・再配置するための装置及び方法が提供される。本発明に従えば、２個のエンティティ間の角度又は距離関係（すなわち寸法）を表示するために部品モデルのいずれか２個のエンティティをユーザが選択できる装置及び方法が提供される。部品の最適な図及びその関係の寸法を得るため、寸法の編集及び／又は再位置付けをユーザが行うことがある。３次元（３−Ｄ）モデルと関連する寸法に関して以下で説明されるが、当該寸法付けの特徴は２次元（２−Ｄ）モデルにたいしても容易に応用可能である。
【００２２】
本発明の特徴を広範囲のＣAＤ部品モデル化環境で使用することもある。たとえばＣ＋＋を使用する図１のクラスダイアグラム又は他のオブジェクト指向プログラミング言語に従う典型的な環境の中で本発明が実現される得る。システムはＩＢＭ  ＰＣクローンを使用するマイクロソフトウィンドウズＮＴ４．０で動作し得る。
【００２３】
図１で板金部品の（２次元）モデルを作成するためにAＰ１００又は他のＣAＤツールを使用することができる。２次元モデルにはフォーミング（例えば穴）、曲げ線及びモデルのサイズ（寸法）と形が通常含まれる。 AＰ１００は２次元  ＣＡＤシステムであり、日本のＡｍａｄａ  Ｍｅｔｒｅｃｓ社から入手可能である。もちろん部品のサイズ及び形を定義できるＣＡＤツール１０であればおそらくどれも使用できる。部品データはできれば動的データ交換（ＤＤＥ）メッセージを経由することでＢｅｎｄＣＡＤモジュールに送られる。特願平１１―５３４００（発明の名称「板金部品データを転送しかつ編集するための装置及び方法」） に明記されているさまざまな特徴及び態様は部品データを交換するために使用されることがある。
【００２４】
Ａｍａｄａ社から入手可能なＢｅｎｄＣＡＤのような、オブジェクト指向曲げモデルシステムをＢｅｎｄＣＡＤモジュール１２は具備している。さらに特願平９―１８３３８８で明確になったさまざまな特徴がＢｅｎｄＣＡＤモジュール１２で提供されることがある。一般的にＢｅｎｄＣＡＤモジュールは部品の２次元又は３次元モデルを見るために使用される。 ＢｅｎｄＣＡＤモジュール１２により、曲げ線にそって２次元モデルの曲げが可能になり部品の３次元モデルが作成される。さらに回転、パニング、ズーミングのようなさまざまな図機能が提供され、ユーザは望む位置で部品を見ることができる。
【００２５】
ＢｅｎｄＣＡＤモジュール１２には、寸法付けインタフェイスクラスＬ０のオブジェクトへマウス事象を伝えるビューワクラスと部品クラスが含まれる。部品クラスと寸法付けインタフェイスクラスの間には１対１の関係が存在する。ビューワクラスと寸法付けインタフェイスクラスの間には１対多の関係が存在する。前記部品クラスは、部品の幾何学的性質に関する情報すなわち部品の面数、それらの形状、曲げ線の情報などを記憶する。ビューワクラスは、ビューイングウィンドウに関する情報を記憶し、回転、ズーミングなどの後で、部品を表示する方法を決定する。ビューワクラスはまた図形ユーザインタフェイス（ＧＵＩ）情報を記憶する。
【００２６】
典型的マウス事象はマウスボタンをクリックし、保持し（マウスボタン押し下げ）、マウスボタンを放し（マウスボタン上昇）そしてマウスを移動する（マウス移動）ことである。。本願明細書ではマウスボタン下降事象及びマウスボタン上昇事象はすべて特に指定がなければマウスの左ボタンのことである。しかしながら、説明の実施形態では左ボタンが好ましいが、右ボタン又は中央ボタン、キーボード事象の組み合わせ、又は音声認識を代わりに使用することもできる。
【００２７】
マウス事象を受け取ることに加えて、寸法付けインタフェイスオブジェクトＬ０はキーボード事象及びマウス事象を解釈して、画面上に表示された寸法又はエンティティの何れが選択されようとしているか、如何に寸法が定義されるか及び、寸法が再位置付けされるように意図されている場所を決定する。寸法付けインタフェイスオブジェクトの決定に基づき、メッセージが生成され適正なオブジェクトへ送られる。メッセージの送付を可能にするために、寸法付けインタフェイスオブジェクトＬ０は、２次元描画／選択クラスＬ６，強調クラスＬ７及び寸法クラスＬ１へ向けたポインタを含む。それぞれは以下に説明される。寸法付けインタフェイスクラスＬ０は、強調クラスＬ７及び寸法クラスＬ１と１対多の関係である。寸法付けインタフェイスクラスＬ０は２次元描画／選択クラスＬ６と１対１の関係を有する。寸法付けインタフェイスクラスＬ０のオブジェクトの別な機能はユーザ選択寸法を描画するためのＢｅｎｄＣＡＤモジュール１２へ描画コマンドを送り返すことである。
【００２８】
ユーザから見た場合、本発明の特徴は簡単である。１個以上の部品エンティティをユーザが選択すると、応答として、選択したエンティティ間の寸法をシステムが計算しデフォルト表示姿勢で寸法情報を表示する。部品エンティティにはループ中心、円、弧、曲げ線、曲げ線端部点、線（部品のエッジ）、線端部点及び面が含まれ得る。寸法情報を表示する前に、ユーザは当該寸法が、選択した２個のエンティティ間の角度関係或いは距離関係の何れを表現するかを選択する。距離関係を選択する場合、選択したエンティティ間のどの距離を測定するかをユーザが定義する。選択するエンティティが１個に限られ、それが円又は弧である場合、選択したエンティティの半径又は直径の測定をユーザが選ぶ事ができる。寸法が表示された後、ユーザは、表示された寸法を選択し望ましい位置へドラッグする事ができる。
【００２９】
従って、寸法を作成するプロセスは３段階を含む。はじめに当該寸法が付着する２個のエンティティ（直径／半径  寸法の場合には１個のエンティティ）に不変参照符号が創設される。次に参照符号が決定される。すなわち参照したエンティティが発見される。最後にその選択したエンティティティ２個の座標を使用して簡単な３次元幾何学により３次元距離又は角度が計算される。
【００３０】
たとえば異なる曲げ角度で曲げたために、部品形状が変化する場合、その変化を基に寸法が再び作成され或いは更新される。従って、部品の変化でエンティティの位置すなわち座標も変化することがある。したがって新しい座標について新しい値を再度計算することが必要である。新しい値は、最初の寸法計算に用いられた計算方法と同じ方法により計算される。
【００３１】
しかしながら、望ましい実施形態に従えば、２個以上の面について寸法を定義する場合、以下の規則に従い寸法を表示するべきかシステムは判断する。すなわち寸法が平坦な部品について定義される場合、寸法は平坦な部品についてのみ表示される。寸法が折り畳まれた部品について定義される場合、寸法は折り畳まれた部品についてのみ表示される。たとえば部品が平坦になるように曲げ角度が変化する、すなわち面２個が共面になる場合、２個の面間の距離寸法はすべて消える。寸法の定義が１個の面（隣接した曲げ線を含む）についてのみ定義される場合、寸法は部品が平坦から折り畳みの状態に変化及びその逆に変化する場合でも常に表示される。寸法が１個の面（隣接した曲げ線を含む）についてのみ定義される場合、寸法の座標システムは計算を容易にするためその面に局所的である。
【００３２】
本発明の好ましい実施形態に従えば、目的のエンティティ又は寸法の選択を容易にするためユーザはその選択するエンティティ又は寸法上に正確にマウスカーソルを置く必要はない。さらに視界にないエンティティが選択されることもある。この機能を可能にするため、選択階層（選択順序）を使用することができる。従って、画面上で、移動ボタン上昇事象で（エンティティ及び寸法を含む）ターゲット（目標）を選択する場合、優先順位スキームを使用してユーザが選択するものを決定する。さらにユーザが画面上でマウスカーソルを動かしながら、目的のターゲットを選択するときに生じる推測行為を排除するために、マーカーすなわちターゲットのテキスト記述が画面上に表示されて、（例として図７を参照）マウスのクリック及び解除により選択されるであろうものを示す。好ましい実施形態はテキストを表示することによりターゲットを指示するが、声のような音声信号がそのターゲットを指示するために使用されることもできる。
【００３３】
選択順序を含む典型的な優先順位システムを次に説明する。周知のマウスカーソル座標を使用して、マウスからの所定距離の範囲内のオブジェクトがすべて検出される。次に、選択順序に従って、マーカーが候補エンティティのために表示される。好ましい実施形態では、選択順序は以下のとおりである。小さなループ中心；円；弧；曲げ端部点；線端部点；曲げ線；線；大きなループ中心；寸法そして面である。従って、面、寸法、端部点がマウスカーソルから所定距離の範囲内にある場合、候補エンティティは端部点になる。その結果、端部点マーカーが画面上に表示され、図７で示すように選択の候補として端部点を指示する。ループ、面及び円については、エンティティの中心が選択される。小さなループは所定量より小さな半径を持つループである。大きなループは所定量より大きな半径を持つループである。
【００３４】
選択順序は任意の移動事象により実行される。従って、ユーザは目的のエンティティ及び寸法を常に容易に選択できる。しかしながら、所定の場合に、特定のエンティティを選択することが困難なことがある。例えば、面は選択順序の最後にあるため選択困難である。この場合、フィルタを使用することができる。フィルタによりあるエンティティ又は寸法はターゲットから外れる。たとえばマウスカーソルの位置にも関わらず、円がマウスカーソルの所定距離の範囲内に常に存在しターゲットと成るため、面を選択できない場合、円は、ターゲットエンティティから排除される。ドロップダウンメニューにより排除するエンティティをユーザは選択する。選択順序により実行する場合に円が排除される結果、円は無視されて別のエンティティがターゲットになり得る。このようなメカニズムは、マウス移動事象に反応して実行する機能の中にある簡単なブールフラッグにより、実現され得る。
【００３５】
次に図２を参照して寸法付けの概念を説明する。ユーザに表示された寸法情報には矢印線（又は矢線）２０，延長線２４，２６及び値２８が含まれる。矢線２０は測定中の選択した２個のエンティティ間の間隔又はスペースを示している。指示された距離の寸法量は値２８により表現される。延長線２４，２６は選択したエンティティを矢線２０と結び、測定中の間隔示す。
【００３６】
ユーザがエンティティを選択した後、測定されるエンティティ上の起点又は終点として一個のエンティティ付着点が選択される必要がある。点以外のエンティティの付着点を選択することに関して以下で説明する。もちろん選択したエンティティが点である場合、選択したエンティティが付着点でもある。
【００３７】
寸法付けの別の要素又はコンポーネントは延長線２４，２６である、しかし延長線が存在しない場合もある。角度寸法及び距離寸法の延長線２４，２６を計算するには異なるプロセスが必要である。はじめに距離寸法の延長線２４，２６の計算について説明する。
【００３８】
測定する距離寸法が付着点２点間の直線距離である場合、延長線は画面上に表示されない。距離寸法に関して、測定方法に関するユーザ選択すなわち測定する点の間の距離に基づき延長線２４，２６を最初に生成する。本発明の望ましい実施形態に従えば、任意の付着点２点間で異なる距離４個が測定され得る。最初の距離は選択した点２点間の直線距離である。図４，５及び６は同じ付着点２点間を測定する他の距離３個を示している。
【００３９】
図４，５及び６で、矢線２０それぞれが示すのは部品に関する測定間隔又は測定スペースである。このように図４の矢線２０は付着点５２、５４の間の距離を表現し、図５の矢線２０は付着点間の高さの違いを表現し、図６の矢線２０は付着点間の幅を表現している。矢線２０の好ましいデフォルト位置はたとえばマウスカーソルに最も近い直平行六面体５０の端部（又はエッジ）であることがある。直平行六面体５０は付着点で定義され、図５に示されている。しかしながら、好ましくは、直平行六面体５０のエッジも付着点のすべてが画面上に同時に表示される事はない。選択した経路に沿うエッジ３個に限り表示される。説明のためにのみ、完全な直平行六面体５０及び付着点５２、５４が図５に示されている。距離寸法の再位置付けにより追加の延長線２４，２６が表示され、延長線２４，２６を再度計算する必要が生じることがある。
【００４０】
角度寸法に関しては、延長線２４，２６は図８で示すように矢線２０（実際には角度寸法のための弧）に付着点６２、６４を結びつける。選択した２個のエンティティが同じ平面にある場合、延長線は表示されず矢線（弧）２０は付着点２個を直接結びつける。エンティティが同じ平面にない場合、矢線（弧）２０は２番目の選択した付着点６４から延長し１本の延長線は第一の付着点６２と矢線（弧）２０の最も近い端部との間に表示される。寸法値の再位置付けにより、延長線２４，２６を再度計算する必要が生じる。
【００４１】
図９に示すような、半径或いは直径寸法に関して、最初に延長線２４，２６が描かれることはない。しかしながら寸法値を再配置する場合、延長線２４，２６はエンティティの中心（半径寸法に対して）或いはエンティティの周辺から矢線２０のそれぞれの最も近い端部まで延長する。直径寸法値の再位置付けに際しては、図１０で示すように、延長線はエンティティの周辺上の正反対の点から矢線のそれぞれ最も近い端部まで延長する。すべての種類の寸法について（角度、距離、半形／直径）、延長線２４，２６は、それが基づくところの選択したエンティティへ直交するように延びる。
【００４２】
値２８が表現するのは選択した２個のエンティティ間の３次元空間の中の数値距離又は選択した２個のエンティティ間の角度又は選択した１個のエンティティの半径又は直径である。選択したエンティティそれぞれの座標及びその付着点は知られているため、距離の値は周知の幾何学方法により部品単位で計算できる。好ましい実施形態では、寸法のすべての要素（コンポーネント）の座標は部品モデルの原点と相対的なものである。
【００４３】
このようにユーザがエンティティ２個（半径／直径寸法に関するエンティティ１個）を選択すると、ユーザの入力に基づきシステムは独自の最初の寸法セットアップ（又は寸法付けツール群）を計算する。すなわち、システムは値２８、矢線２０、及び必要な任意の延長線２４，２６を計算する。好ましい実施形態では一旦寸法が定義されると、矢線２０、延長線２４，２６又は選択したエンティティのうち１個を含む寸法付け要素の任意の要素にマウスカーソルを置き、その寸法要素を所望の位置へドラッグすることによりその寸法値が再配置される。
【００４４】
特定の部品モデルに関して、数種類の寸法を定義することがある。典型的な種類の寸法は以下の間の距離である、すなわちの２点間；点と線；点と弧；点と平面；二本の線；線と弧；線と平面；及び平面２個。２本の平行でない線、２個の平行でない平面及び平面に平行でない線と平面の間で角度寸法を定義することがある。半径及び直径寸法は円或いは弧について定義され得る。
【００４５】
弧と点の間で寸法を生成する場合、選択した点は弧の平面上にある必要がある。此の場合、弧付着点は弧中心（又は弧センター）であるか、又は選択した点から最も近い又は最も遠い弧上の点（又は弧点）である。ユーザが付着点を選択することがある。好ましい実施形態に従えば、弧付着点のデフォルト位置は弧点が弧端部点でない場合には、選択した点に最も近い弧点である。さもなければ選択した点に最も遠い弧点が弧端部点でない場合には、最も遠い弧点が弧付着点である。もしそうでなければ弧センタが弧付着点である。
【００４６】
弧と直線との間の寸法は、直線上の点（ユーザは、その線上の点が弧に対して最も近い点又は弧から線上の最も遠い点であるか選択する必要がある）と弧の間の距離を以下の仕様に従って測定する必要がある。このとき直線（以下及び以上に於いて簡単のためしばしば、「直線」を単に「線」と称する。）及び弧は同じ平面上になければならない。弧及び線が交差せず、さらに線に最も近い弧点が弧端部点でない場合、線に最も近い弧点は弧付着点である。さもなければ線から最も遠い弧点が弧端部点でない場合、最も遠い弧点が弧付着点である。さもなければ弧センタは弧付着点である。このように弧と線との間の寸法を選択する場合、弧についての点は、直線上にユーザが選択した点に基づいて或いはその点を使用して計算する。寸法値を再位置付けする場合、線付着点はシフトする。再位置付が寸法値を線を越えて動かす場合、延長線とによりその線は延長され、線付着点は新しい延長線の内側に存在する。
【００４７】
点から線への寸法については、線付着点は選択した点に最も近い線上の点である。線から線への距離については、任意端部ポインタが最初の線から選択される。２番目の線の線付着点は前記任意端部点に最も近い２番目の線上の点である。２個の面に付いては、中心点が付着点である。線から面への距離については、線付着点は面センタ点に最も近い線上の点である。寸法値を再位置付けする場合、線付着点の移動は、矢線２０を前記線との垂直関係を保持する。再位置付けが線を越えて寸法を動かす場合、その線は延長線により延長され、線付着点は新しい延長線の端部に存在する。
【００４８】
図１に戻ると、ユーザがエンティティ２個を選択する場合、寸法クラスＬ１のオブジェクトは最初に空寸法を生成し初期化する。さらに、エンティティそれぞれを選択すると、それらは、強調クラスＬ７の強調オブジェクトの中の強調リストに加えられる。寸法が生成されると、前記エンティティが強調リストから取り除かれる。次に寸法オブジェクトＬ１がＣＡＤ情報（例えば座標、ＩＤ'ｓ）及び測定情報（すなわち角度又は距離；使用する直平行六面体／シリンダの中のエッジ）を取得し、３次元線群の中へその情報を変換する。それらは、矢線２０及び必要な延長線２４，２６を含む３次元寸法である。表示された部品に特有のＣＡＤ情報を使用して、この新しい３次元寸法は表示された部品、特に部品の選択したエンティティと関連付けられる。
【００４９】
本発明を実現するため、寸法クラスＬ１を創設する必要がある。従って、全ての定義される寸法は、画面上で描画されるか否かに拘わらず、部品モデル及び描画との関連性に関する情報すべてを含む固有の寸法オブジェクトと対応する。寸法オブジェクトは、選択した２個のエンティティへのポインタにより部品モデルと結び付けられる。継承の使用により、異なる種類の寸法（点から点、点から線など）はその種類に特有のモデル振る舞い（behavior）に関連して独自のクラスを持つことが可能である。従って前記寸法クラスＬ１は実際ベースクラスである、しかしサブクラスは図１に示されていない。
【００５０】
寸法クラスＬ１のオブジェクトは３次元線を生成するためのメンバ機能又はメンバ関数を持っている。すなわち前記メンバ機能は３次元線それぞれの座標を計算し、当該各３次元線の情報を３次元線クラスＬ２から例示される（或いはインスタンス生成される）それ自身のオブジェクトに記憶する。３次元線の座標を計算する場合、部品原点を使用し、その結果３次元寸法はその部品と相対的なものとなる。延長線２４，２６それぞれに対しオブジェクト１個及び、矢線２０に対しオブジェクト１個、すなわち５個まで３次元線オブジェクトを寸法オブジェクトそれぞれに対し例示する（又はインスタンス生成する）ことが可能である。
【００５１】
３次元線オブジェクトそれぞれは、ビュー平面に関する部品の向きに基づき、３次元線が可視か否かを判断するメンバ機能（又はメンバ関数）を持っている。当該３次元線オブジェクトは、部品が回転される度に前記可視性をチェックする。可視性のチェックには、付着点及び矢線それぞれの可視性の判断、ビューポートクリッピング（表示域切り落とし）の実行、部品の異なるエンティティの後ろに於ける線の有無を判断することが含まれる。ビューポートクリッピングは、２次元線の何れの部分が、前記ビューポートで見ることができるか及びテキストを中央に位置決めするために必要であるかを判断し、寸法を表示するべきか決定する。好ましい実施形態では、矢印が見えない場合、寸法表示はされない。しかしながら付着点１個、又は寸法要素（コンポーネント）の１部が見えることといった他の条件に従い、寸法が表示されることもある。
【００５２】
可視性のチェックに加え、３次元線オブジェクトは、２次元オブジェクトを生成して表示画面のような２次元平面で３次元寸法の表示を可能にする。それゆえ、３次元線オブジェクトは３次元線を２次元線に変換し、さらに計算した２次元線それぞれに対して２次元線オブジェクト１個を例示する（又はインスタンス生成する）。新しいオブジェクトが例示されると、それは、２次元描画／選択クラスＬ６のオブジェクトに格納されたリストの中に置かれる。部品が回転する度に３次元線オブジェクトは可視性を判断する。従って、２次元線オブジェクトの中のデータは部品を回転した後に変化する。
【００５３】
前記３次元線オブジェクトは、値２８を含むテキストボックスの位置を決定し、一つの対応する２次元テキストオブジェクトを例示する（又はインスタンス生成する）。前記テキストボックスは矢線２０に関して中央に表示されることが理想である。その結果、部品をズーム、パン、又は回転する場合、常に画面上のテキストボックスの位置は中央の位置を維持するために変化する必要がある。このように２次元テキストクラスＬ５のオブジェクトは、３次元線オブジェクトにより例示され（又はインスタンス生成され）、テキストボックスの２次元位置を記録する。新しい２次元テキストオブジェクトは例示されると、２次元描画／選択クラスＬ６のオブジェクトに格納又は記憶されたリストの中に置かれる。部品が回転する場合、常に３次元線オブジェクトが可視性を判断する。従って、部品が回転する場合は常に２次元テキストオブジェクトデータは変化する。
【００５４】
最後に３次元線オブジェクトＬ２は、矢線２０上の矢を描画する時及び場所を決定し、対応する２次元矢オブジェクト１個を例示する（又はインスタンス生成する）。示す矢印が２個、１個又は０個の判断は当該矢印の可視性により決定される。矢線２０の端部が見える場合、新しい小さな線セグメントを使用して矢印が、当該矢線２０の見える端部に加えられる。新しい２次元矢オブジェクトが例示される（又はインスタンス生成される）と、それは、２次元描画／選択クラスＬ６のオブジェクトに記憶したリスト内に置かれる。部品が回転する場合は、常に３次元線オブジェクトが可視性を判断するため、部品が回転する場合は常に２次元矢オブジェクトは変化する。
【００５５】
各３次元線オブジェクトＬ２に対して、正確に一つの２次元線クラスＬ３のインスタンス及び、一つの２次元矢クラスＬ４のインスタンス、および一つの２次元テキストクラスＬ５のインスタンスが存在する。部品がパンニング、回転またはズームされると、３次元線・２次元線・２次元テキスト・２次元矢オブジェクトも変化する。２次元線オブジェクトＬ３，２次元矢オブジェクトＬ４および２次元テキストオブジェクトＬ５は、それらが描画される場所を記憶するために存在する。これらのオブジェクトはまた選択のために必要である、すなわちこれらによって、選択のためのマウスの事象の解釈が可能となる。２次元線、２次元テキストおよび２次元矢のオブジェクトはそのおのおのは、２次元描画／選択オブジェクトＬ６中に記憶済みのリスト中で参照され、かつ、そのおのおのは、２次元ドラッグ／選択オブジェクトと多対１の関係を有している。したがって、マウスの座標が知られれば、各オブジェクトはリスト中で見つけられ、マウスの座標と比較され、オブジェクトがマウスカーソルの近傍にありしたがって選択されるように意図しているか否か判断できる。これらのオブジェクトはすべて２次元空間にあるので、各２次元オブジェクトの座標は、３次元オブジェクトのような部品座標系ではなく画面座標系に存在する。２次元オブジェクト中に記憶されている情報は、表示画面上で描画できるようにWindows Graphics Device Interface（ＧＤＩ）に送られる事ができる。２次元オブジェクトの別の機能はそれ自身の可視性を判断することである。しかしながら、２次元オブジェクトは、部品ビューをズームインやズームアウトすることによる可視性を決定する。これは、ビューの回転が３次元オブジェクトに可視性をチェックせしめるのと異なる。
【００５６】
２次元描画／選択クラスＬ６から例示された（又はインスタンス生成された）オブジェクトは、２次元線オブジェクト、２次元テキストオブジェクトおよび２次元矢オブジェクトを組織化するためのデータ構造を包含している。ある好ましい実施形態ではリンク済みのリストであるこのデータ構造によって、２次元線オブジェクトＬ３，２次元矢オブジェクトＬ４および２次元テキストオブジェクトＬ５を探索して、特定の点にもっとも近いオブジェクトを発見し、これによって選択を可能とすることができる。その結果、１対多関係が２次元描画／選択クラスＬ６と、２次元線クラスＬ３および２次元矢クラスＬ４及び２次元テキストクラスＬ５との間に存在する。２次元作図／選択オブジェクトは、また、ビューポートを画定する２つのコーナーの座標を含むビューポート情報および、フォント・色・線のタイプを含む寸法に関する情報を包含する。２次元描画／選択オブジェクトはすべての２次元オブジェクトを追跡するので、２次元描画／選択オブジェクトによって画面のリフレッシュ（又は再生）が可能となる。２次元描画／選択オブジェクトはフォント、色および線のタイプを含む寸法に関する情報を記憶しているので、２次元描画／選択オブジェクトによって、適当な色やフォントなどを持つ２次元線オブジェクト、２次元テキストオブジェクトおよび２次元矢オブジェクト内の描画機能の描画コールを行う事ができる。
【００５７】
強調クラスＬ７は、選択情報を包含するオブジェクト、すなわち選択されたエンティティを定める。強調クラスＬ７は寸法付けインタフェイスクラスＬ０と関連しており、多くの強調オブジェクトが各寸法付けインタフェイスオブジェクトに対して存在し得る。各寸法は最大で２つのエンティティを含むので、強調オブジェクト機能によって、最大で２つのエンティティが一時に選択される。強調オブジェクトは表示画面上で、エンティティを強調することによってどのエンティティが選択されているかを示す。マウスカーソルは選択すべきエンティティ上に置く必要がない（撮像順序のためである）ので、強調機能が必要である。
【００５８】
図３を参照すると、本発明のある側面による、寸法クラスＬ１のオブジェクトの潜在的状態が示されている。最初、状態Ｓ３０で２つのエンティティ（または半径／直径寸法に対する１つのエンティティ）が選択されると、寸法オブジェクトは生成済み状態に入る。生成された寸法オブジェクトは、ユーザが測定方法（直平行六面体のエッジなど）を選択すると定義済み状態Ｓ３３に入る。寸法オブジェクトを定義するときには、測定方法がマウス事象によって定義され、寸法情報が画面上に望ましくは白色で描画される。寸法オブジェクトは、定義された後、寸法情報をクリックしてドラッグする、すなわちマウスを移動させることによって再位置状態Ｓ３４に入り得る。再位置付け中に、位置付けパラメータＰｏｓ１とＰｏｓ２（以下に説明する）はマウス移動事象によって修正される。寸法オブジェクトは、単にマウスボタンを離すことによって再位置状態Ｓ３４から定義済み状態Ｓ３３に復帰する。マウスボタンが離されると、寸法情報は画面上の新しい位置で描画され、旧い位置にある寸法情報は消去される。
【００５９】
定義済み状態Ｓ３３から、寸法オブジェクトはまた選択状態Ｓ３５に入り得る。マウスが寸法情報のいずれかの部分に移動し、マウスボタンの下降事象のすぐ後で、マウスボタンの上昇事象が発生すると、寸法オブジェクトは選択される。寸法オブジェクトが選択状態Ｓ３５にあると、強調オブジェクト内のフラグがセットされ、寸法情報が、それが選択されたことを示すために別の色で画面上に再描画される。その上、画面上の矢線２０の各端部のところにあるマーカーが厚さ測定情報（すなわち遠、近、中間）を表示する。遠／近機能は図１６，１７および１８を参照して以下に詳述する。選択状態Ｓ３５から、寸法オブジェクトは遠／近状態Ｓ３７、別寸法選択状態Ｓ３８または削除済み状態Ｓ３６に入ることができる。
【００６０】
寸法オブジェクトは、デリートキー（削除キー）下降事象が発生する、すなわちデリートキーが押されると削除済み状態Ｓ３６に入る。寸法オブジェクトが削除されると、寸法情報が表示画面から除去され、メモリーが解除され、一括クリーンアップが行われる（すなわち、寸法オブジェクトに対するすべての参照符号が除去される）。寸法付けインタフェイスオブジェクトは、寸法オブジェクトの消去関数をコールすることによって寸法オブジェクトを削除する。寸法オブジェクトが消去されると、寸法オブジェクトと関連する３次元線オブジェクト、２次元線オブジェクト、２次元テキストオブジェクトおよび２次元矢オブジェクトもまた消去される。
【００６１】
寸法オブジェクトは選択状態Ｓ３５から別寸法選択状態Ｓ３８に入り得る。これは、マウスカーソルが別の寸法の位置にある状態でコントロールボタンを押したままで、マウスをクリックして離す場合である。別寸法選択状態Ｓ３８にあると、選択された寸法情報を表す寸法オブジェクト内にフラグがセットされる。別のフラグが強調オブジェクト中にセットされる。これらのフラグは、画面上で別の色で寸法情報を描画して、その寸法情報が選択されたことを示すために用いられる。
【００６２】
寸法オブジェクトは、自身が定義済み状態Ｓ３３にあってマウスカーソルが画面に表示されている遠／近テキストの近傍にあると遠／近状態Ｓ３７に入る。遠／近状態Ｓ３７と別の寸法状態Ｓ３８から、寸法オブジェクトは、エスケープキーを押すことによって、または画面上で他の寸法情報が何もないところにマウスカーソルを位置させ、次ぎにマウスボタンをクリックして離すことによって定義済み状態Ｓ３３に復帰する。
【００６３】
寸法生成又は寸法情報生成は２段階で行われる。最初に、メモリーが割り当てられ、次ぎにＩＤが割り当てられて寸法情報を部品に関連付ける（以下及び以上に於いて簡単のため、「寸法情報」をしばしば単に「寸法」と略称する。）。ユーザの観点からは、寸法の生成は２つのエンティティを選択することによって発生する。第１のエンティティは、表示画面上で表される部品のエンティティの近くにカーソルを移動させることによって選択される。好ましい実施形態では、マウスをクリックして離すと選択されるエンティティ（候補エンティティ）はテキストマーカーによって画面上で示され、そのエンティティは画面上で別の色、すなわち黄色で描画される。一旦マウスをクリックして離すと、第１のエンティティが選択される。次ぎに、マウスカーソルを再位置付けすることによって、同じプロセスで第２のエンティティが選択される。第２のエンティティが選択されると、寸法が即座に作成されて別のエンティティが選択されるのを防止する。このようにして、寸法インタフェイスクラスＬ０は寸法生成関数をコールして寸法クラスＬ１オブジェクトが例示される（又はインスタンス生成される）。
【００６４】
寸法は、生成され後、定義されなければならない。角度寸法の定義方法は後で説明する。寸法インタフェイスクラスＬ０の別のメンバ機能又はメンバ関数によって、距離寸法を定義することができる。距離寸法については、まず複数の付着点が決定されなければ成らない。ある実施形態では、付着点は、エンティティが選択されたときにマウスカーソルが存在した場所にもっとも近い選択済みエンティティ内の点である。次ぎに、選択された付着点５２と５４間で、図５の直平行六面体５０によって表されるような直平行六面体が生成される。次ぎに、マウスカーソルを画面中を移動させることによって、直平行六面体のエッジに沿う、付着点５２と５４間のさまざまな経路および矢線２０が、選択のために表示される。ひとたび所望の経路が表示されると、ユーザはマウスボタンをクリックしてから離し、これによって寸法は、選択済み経路を持つ定義済みＳ３３となる。この選択された経路は表示画面上では、必要に応じて矢線２０と延長線２４および２６で示される。図４，５および６は、矢線２０として選択された直平行六面体の個々のエッジを有する、直平行六面体５０の複数のエッジに沿った一つの経路を示す。
【００６５】
ここで図５を参照して、距離寸法の為に直平行六面体を生成する方法を説明する。直平行六面体５０を画定するところの、直平行六面体５０の２つの最も遠く離れた対向コーナーは選択された付着点５２と５４である。図示目的で、これら付着点の内の一方の付着点５２の座標は（０，０，０）であり、他方の付着点５４の座標は（１，１，１，）であるとする。これらの座標は部品軸に対して相対的に定められるのが望ましい。直平行六面体５０の他の６個のコーナーを発見するには、最初にＸ座標を１だけ変更し、次ぎにＹ座標を１だけ変更し、最後にＺ座標を１だけ変更する。例えば、（１，０，０）は３番目のコーナーであり、（１，１，０）は４番目のコーナーであり、（０，１，０）は５番目のコーナーであり、（０，１，１）は６番目のコーナーであり、（１，０，１）は７番目のコーナーであり、（０，０，１）は８番目のコーナーである。この８個のコーナーが存在して、直平行六面体５０を生成することができる。
【００６６】
ユーザが選択する可能性のある経路には、まさに付着点５２と５４間の直接の線、すなわち線（０，０，０）（１，１，１，）が含まれる（両点を結ぶ直線）。他の６つの可能性のある経路は：経路２＝線（０，０，０）（１，０，０）、線（１，０，０）（１，１，０）および線（１，１，０）（１，１，１）；経路３＝線（０，０，０）（１，０，０）、線（１，０，０）（１，０，１）および線（１，０，１）（１，１，１）；経路４＝線（０，０，０）（０，１，０）、線（０，１，０）（１，１，０）および線（１，１，０）（１，１，１）；経路５＝線（０，０，０）（０，１，０）、線（０，１，０）（０，１，１）および線（０，１，１）（１，１，１）；経路６＝線（０，０，０）（０，０，１）線（０，０，１）（１，０，１）及び線（１，０，１）（１，１，１）；経路７＝（０，０，０）（０，０，１）、線（０，０，１）（０，１，１）および線（０，１，１（１，１，１）である。
【００６７】
選択された経路が線（０，０，０）（１，１，１）の場合、線（０，０，０）（１，１，１）が矢線２０である。選択された経路が線（０，０，０）（１，１，１）でない場合、選択されたエッジの内の２つは延長線２４および２６であり、残余の線は矢線２０である。此の場合好ましくは、矢線２０は、選択の瞬間におけるマウスカーソルの位置にもっとも近い線である。これら３つの３次元線に関する情報は３次元線クラスＬ２内に記憶される。寸法が定義されると、寸法インタフェイスオブジェクト及び寸法オブジェクトの中のフラグは、寸法が定義された事を示すように変化する。
【００６８】
２次元部品モデルの場合、長方形を直平行六面体(cuboid)の代わりに用いて寸法を定義することができる。したがって、寸法は、２つの付着点を接続する長方形の２つのエッジ（直平行六面体の３つのエッジではない）によって定義することができる。
【００６９】
角度寸法を決定する場合、ある好ましい実施形態では、ユーザは選択されたエンティティ間の鋭角、選択されたエンティティ間の鈍角、選択されたもの間の鋭角の余角または選択されたエンティティ間の鈍角の余角を選択できる。ある好ましい実施形態では、この余角は（３６０°−（当該角度））と定められるが、余角は（１８０°−（当該角度））と容易に定義することもできる。
【００７０】
ここで図８を参照して角度寸法（情報）を生成する方法を説明する。最初に、付着点６２および６４を、ユーザが選択したエンティティに基づいて選択する。次に、付着点６２と６４間のシリンダ６０が作成される。シリンダ６０を作成するためには、シリンダ６０の中心ならびにシリンダ６０の基線、高さおよび半径を定義する必要がある。
【００７１】
しかしながら、シリンダの中心を定義する前に、各選択済みエンティティを表す線を計算する必要がある。選択済みエンティティが線である場合、その線は選択されたエンティティを表す。面が選択された場合、その選択済み面に対応する線を生成しなければならない。その線は面の中心点を含み、選択済みエンティティの交線又は交点に直角に延長して中心点まで至る。選択済みエンティティの交線又は交点を発見するには、これらのエンティティを無限に延長する必要がある。角度寸法は平行なエンティティ間では定義できないので、交線又は交点は常に存在する。したがって、面に対応する線は面の外側に存在するかもしれない、すなわち実際の面と線は交差しないが、無限に延長されたエンティティは交差する。
【００７２】
シリンダ中心の定義に戻ると、選択されたエンティティを表す２つの線が共通平面上にある場合、シリンダ中心の方向ベクトルは共通平面に直角である。このベクトルはその交点から発する。この２つの線が同じ平面上になく平行でもない場合（図８のように）、他方のエンティティにもっとも近い各線上の点が決まる。各線は、これら２つの点を計算するときには無限線であると考えられる。これら２つの点を接続する線がシリンダ中心である。
【００７３】
ある好ましい実施形態では、シリンダ６０のデフォルト半径は選択されたエンティティを表す最小の線の２０％である。シリンダ６０の高さは、２つのエンティティ（又はそれを表す線）が同じ平面上にあればゼロである。同じ平面上にない場合、シリンダ６０の高さのデフォルトはシリンダ中心線に沿って測った２つのエンティティ間の距離である。
【００７４】
どちらの場合も、シリンダの基線は中心線に直角な任意の平面上にあり得る。ある好ましい実施形態では、シリンダの各基線は選択されたエンティティを表す線の内の１つを含む。線が同じ平面上にあれば、シリンダの高さはゼロであり、たった１本の基線が表示される。ある好ましい実施形態では、矢線２０のデフォルトは弧の切片であり、基線周辺と一致し、第２の選択された付着点６４を含む。このデフォルト位置では、延長線２４は第１の付着点６２から、第１の選択済みエンティティを表す線に直角に延長し矢線２０に至る。
【００７５】
２次元部品モデルの角度寸法を生成する場合、２つの選択済みエンティティ間の矢線として弧を用いてもよい。したがって、シリンダは必要ない。
【００７６】
別の好ましい実施形態では、選択されたエンティティの半径または直径を測定することができる。もちろん、半径／直径測定が発生するには、選択されたエンティティは、円または弧でなければならない。ユーザは、半径又は直径のどちらを表示させるかを右マウスボタンクリックで選択できる。半径と直径の寸法の例を図９と図１０に示す。この寸法はエンティティ上で単にダブルクリックすることによって表示可能である。半径／直径の寸法は、選択されたエンティティの中心を決めて、円が選択されたら円の周辺まで、弧が選択されたら弧上の点まで直線を引くことによって計算される。この弧が１８０度を越える場合、直径および半径の寸法は表示可能であるが、１８０度以下であれば、半径だけが表示可能となる。円の場合、直径と半径双方の寸法が意味を持ち、したがって、表示可能である。ダブルクリック機能を直径／半径寸法表示方法を参照して説明したが、ダブルクリックのさらなる用途としては、例えばユーザが線上でダブルクリックすることにより、その線の長さを示す寸法を表示可能とすることができる。
【００７７】
つぎに寸法の再位置付けを図１１〜１５を参照して説明する。寸法が定義済み状態Ｓ３３内にある場合、寸法インタフェイスオブジェクトは、標準的なマウス事象解釈により、再位置付け状態Ｓ３４と選択状態Ｓ３５のどちらが発生するか判断する。ユーザが、画面上ですでに描画されている寸法（すなわち定義済み寸法）に近い画面上の場所にマウスカーソルを位置付けし、マウスボタンを（離さずに）クリックし、マウスカーソルを移動し、これによってマウス移動で寸法をドラッグすると再位置付けが発生する。マウスボタンを離すと再位置付けは終了し、定義済み状態Ｓ３３に寸法（情報）を戻す。
【００７８】
図１１を参照すると、再位置付けする場合、ステップＳ４０で、マウスカーソル位置に対してもっとも近い２次元エンティティが最初に発見される。言い換えれば、画面上でマウスカーソルが置かれている場所が決定され、さらに、寸法情報の何らかの要素又はコンポーネント、例えば２次元線オブジェクトが同様の座標を有しているか否かが判断される。マウスカーソル座標と定義済み寸法の２次元コンポーネント間の比較は２次元描画／選択オブジェクトを介して行われる。一旦もっとも近いエンティティが見つかると、もっとも近いコンポーネントの親寸法がステップＳ４２で決定される。言い換えれば、寸法の延長線２４すなわち２次元描画オブジェクトが選択されると、付随する寸法オブジェクト（親寸法）が発見又は検出される。ひとたび寸法（情報）が選択されると、ユーザは、マウスを移動させ且つマウスボタンを押し下げ状態に維持することによって、寸法を別の位置にドラッグし得る。このようにして、ステップＳ４４で、画面を横切るマウスの２次元移動は３次元空間運動に変換されて、ユーザが寸法情報を位置付けしたいところの３次元モデルに対する位置を決定する。寸法情報のすべてが、以下に説明する寸法再位置付け平面を用いて再位置付けされる。ステップＳ４６で、位置付けパラメータＰｏｓ１およびＰｏｓ２は更新され、適宜、必要な追加の延長線を含めて寸法は再描画される。
【００７９】
図１２は、矢線２０及び、潜在的矢線２１’を含む、再位置付けされている間の他の寸法情報を含む寸法情報を示す。マウスボタンを離して再位置付けの終了を信号通知するまでは、オリジナルの寸法情報はすべて、図１２に示すように表示されたままであることに注意されたい。したがって、矢線２０’は単なる潜在的矢線であるが、その理由は、図１２は、完了する前の再位置付け工程であるからである。図１３は、一つの位置にある寸法情報を示し、図１４は、再位置付けが終了した後の同じ寸法情報を示す。
【００８０】
マウスボタン下降事象が発生すると、マウスカーソルの画面上座標は矢線を表す２次元線と比較されて、マウスカーソル位置にもっとも近い２次元線上の点が決まる。既述の好ましい実施形態ではマウス座標は矢線２０と比較されるが、選択された寸法情報のいかなる要素（コンポーネント）上のいかなる点も使用され得る。次に、２次元線上のその点に対応する３次元線上の点が、比を比較することによって決定される。最後に、３次元線上の点が選択点又はピックアップ点としてセットされる。この比の比較は単に、２次元線上の点が２次元線の端部からどれほど隔たっているかを判断し、距離と２次元線の全長との比を計算するだけである。このピックアップ点は、３次元線上の端部点から同じ相対的距離を有する３次元線上の点である。
【００８１】
次に、マウス移動事象を位置付けパラメータＰｏｓ１とＰｏｓ２に変換する方法を説明する。Ｐｏｓ１とＰｏｓ２は、第１の選択された付着点から矢線２０の近接端部までの距離コンポーネント（又は距離要素）を示す。各位置付けパラメータは、１つの軸方向の距離コンポーネントを示す。例えば、図１５に示すように、第１の選択された付着点７０と矢線２０を仮定すると、 Ｐｏｓ１のデフォルト（デフォルトＰｏｓ１）はＤｙに等しくＰｏｓ２のデフォルトはＤｚに等しい。Ｄｘ、ＤｙおよびＤｚの各値は対応するＸ、およびＺ軸に沿った方向に延長する直平行六面体エッジの長さを表す。言い換えれば、Ｄｘはｘ軸に沿った直平行六面体エッジの長さに等しく、ＤｙはＹ軸に沿った直平行六面体エッジの長さに等しく、ＤｚはＺ軸に沿った直平行六面体エッジの長さに等しい。
【００８２】
最初、寸法が最初に定義されると、Ｐｏｓ１とＰｏｓ２はデフォルト値に等しくなるようにセットされる。このデフォルト値は第１の選択された付着点と矢線２０の近接端部間でのＤｘおよび／またはＤｙおよび／またはＤｚ値である。したがって、デフォルト値は直平行六面体エッジに沿った選択済み経路に依存し、特に矢線２０の位置に依存する。例えば、図５を参照すると、位置付けパラメータの内の１つ、例えばＰｏｓ２の値はゼロであるがその理由は、矢線２０の近接端部と第１の付着点５２間の距離はそのＸ、ＹおよびＺ方向の寸法コンポーネントに分割され、これら距離コンポーネントの内の２つはゼロであるからである。他の距離コンポーネント、すなわち第１の選択済み付着点５２と矢線２０の近接端部間の直平行六面体の長さは他の位置付けパラメータＰｏｓ１に等しくなるようにセットされる。
【００８３】
マウス移動事象が発生すると、マウスカーソル画面座標は部品座標に変換される。次に、ピックアップ点と現行のマウス座標間の距離が計算される。この距離は再位置付け平面上に投影される。次に、この投影された距離はピックアップ点に加算される。最後に、投影された距離はそのＸ、ＹおよびＺ軸方向の成分又はコンポーネントに分割され、位置付けパラメータ測定軸に対応する成分がその位置付けパラメータに加算されて、新たなＰｏｓ１とＰｏｓ２の値が得られる。マウスボタン上昇事象が発生すると、再位置付け状態Ｓ３４から退出し、Ｐｏｓ１とＰｏｓ２が最後のマウス移動事象に基づいて決定される。
【００８４】
再位置付けは寸法オブジェクトによって計算され、その寸法オブジェクトは、位置付けパラメータＰｏｓ１とＰｏｓ２を用いて新しい２次元線を計算する。寸法オブジェクトはマウス移動事象を受信して新しい寸法位置を計算する。新しい線はつぎにように計算される。最初に、Ｄｘ、ＤｙおよびＤｚの値が計算される。次に。Ｐｏｓ１とＰｏｓ２を用いて３次元線を計算する。Ｐｏｓ１とＰｏｓ２が双方ともＤｘ、ＤｙまたはＤｚに等しい場合、線は上述のように直平行六面体を用いて計算される。
【００８５】
Ｐｏｓ１とＰｏｓ２がＤｘ、Ｄｙ、Ｄｚのいずれにも等しくない場合、最大で２つの余分の延長線が必要となる。この余分の延長線が必要であると、再位置付け（再位置決め）後に延長線と矢線２０を計算するには６つの点を計算する必要がある（Ｐｏｓ１またはＰｏｓ２がＤｘ、ＤｙまたはＤｚに等しい場合は５点）。
【００８６】
例えば、図１５で、Ｐｏｓ１＝１．５ｘＤｙ、Ｐｏｓ２＝１．５ｘＤｚであると新しい矢線２０’に基づいて仮定する。ここに第１の点７０は第１の付着点７０であると仮定する。第２の点７２は、（前記付着点）＋（Ｐｏｓ１）である。第１の延長線２４は、第１の点７０と第２の点７２の間の線である。第３の点７６は、Ｐｏｓ２を第２の点７２に加算することによって計算される。第２の延長線７８は、第２の点７２と第３の点７６の間を延長する。第４の点８０は、位置付けパラメータによって修正されなかったＤ値（Ｄｘ、ＤｙまたはＤｚ）に第３の点７６を加えたものである。この例では、Ｄｘを用いているが、その理由は、Ｐｏｓ１はＹ軸に対するものでありＰｏｓ２はＺ軸に対するものであるからである。第３の点７６と第４の点８０の間の線は再位置付けされた矢線２０’である。第５の点８２は、（第４の点８０）＋（第２の延長線７８が延長する方向での対応するＤ値）−（前記方向での対応する位置付けパラメータ）として計算される。この例では、第５の点８２は、（第４の点８０）＋（Ｄｚ）−（Ｐｏｓ２）である。第３の延長線８４は、第５の点８２と第４の点８０間を延長する。第６の点８６は、第２の付着点である。第４の延長線２６は、第５の点８２と第６の点８６間を延長する。図１２と１４に、４つの延長線２４，２６，７８および８４を有する再位置付け済み寸法を示す。
【００８７】
たった１つだけ余分の延長線が必要な場合、第５の点８２または第２の点７２の計算は、上述のように省略される。その結果、第５の点が第２の付着点に等しくセットされるか、又は第２の延長線２４が第１の点と第３の点間を延長する。
【００８８】
ここで再位置付け平面について説明する。距離寸法の再位置付けは再位置付け平面上で発生する。例えば、図１５に示す寸法はＹ軸とＺ軸に沿って再位置付けされた。これらの軸によって定義された平面、すなわちＹ−Ｚ平面が再位置付け平面である。好ましい実施形態によれば、部品の前面ビューが選択される場合、再位置付け平面はその部品のＸ−Ｚ平面である。前記部品を上面ビューで眺める場合、再位置付け平面はＸ−Ｙ平面である。部品を側面ビューから眺める場合、再位置付けはＹ−Ｚ平面に沿って発生する。ユーザは、プルダウンメニューから視角ビューを選択するかまたは表示画面上でボタンを押すかしてこれらのビューを切り替える事ができる。特定のビューを選択してはじめて、再位置付け平面はそれに応じた新しい平面に切り替わる。従って、部品を回転させて上面、側面および前面以外の視角から眺めると、再位置付けは最後に選択された視角ビューに対応する再位置付け平面に沿って発生する。
【００８９】
さらに、部品の複数のビューを同時に表示すると、各距離寸法は、それが見えるビューに対応する位置付け平面と関連付けられる。曲げ角が変化すると、双方の付着点が同じ面内にある場合は、再位置付け平面は当該面と共に移動する。これら付着点が同じ面内にない場合、再位置付け平面は変化しない。しかしながら、部品が折り曲げ状態から平坦状態又はその逆に切り替わった場合、寸法は表示されない。
【００９０】
２次元部品モデルと関連した距離寸法情報を再位置付けする場合、再位置付け平面は長方形の平面上にある。その結果、たった１つの位置付けパラメータが必要である。２次元部品モデルと関連した角度寸法の場合、矢線は選択された２つのエンティティ間の弧であり、再位置付けは弧を単に拡大・縮尺することによって弧の平面上で発生する。
【００９１】
寸法付け情報（又は寸法情報又は寸法）はひとたび定義すれば保存又はセーブしなければならない。したがって、（部品を寸法情報と関連付けるための）付着点および位置付けパラメータを包含する部品エンティティのＩＤをメモリー内のファイルまたはディスケットにセーブする。しかしながら、部品の２個のインスタンスが同時にメモリー内にセーブされると、例えば、前記部品は別のファイルにコピーされ、双方の部品中のＩＤは同じになる。同じＩＤになることは、前記部品の一つのインスタンスが変化するとき（例えば、回転するとき）問題を生ずる。これは、そのＩＤを参照するたびに曖昧な値が返却されるからである。。従って、複雑なＩＤシステムがセーブ操作には必要である。寸法コンポーネントと部品データ間の関連を正しくセーブすることを可能とする例証的なＩＤシステムは、２つのタイプのエンティティＩＤすなわちセッションＩＤとファイルＩＤを含む。セッションＩＤは部品がロードされるときにすべてのエンティティに付着される。したがって、セッションＩＤはそのセッション内では一意であることが保証されれるが、セッションが閉じられて再び開かれると変化し得る。ファイルＩＤもまた、各エンティティに付着される。しかしながら、ファイルＩＤは永久的であって、セッション内の他の部品のＩＤには依存せず、したがって変更できない。このように、ファイルＩＤはセッションが閉じられて再び開かれても変更できない。
【００９２】
寸法（寸法付け情報）を描画するために利用されるさまざまな操作とプロセスを図１９を参照してここで説明する。ステップＳ５０で、３次元線がＩＤ情報を用いて計算される。寸法オブジェクトはＩＤをすべてのエンティティに割り当て、そのＩＤをＣＡＤシステム１０に送出する。寸法を描画する際には、寸法オブジェクトはそのＩＤを用いて部品エンティティ座標をＣＡＤツール１０へ照会する。その結果、部品が変化するときはいつでも、その変更は照会結果中に反映される。次に、エンティティ間の距離（例えば寸法値２８）、延長線の形状および矢線がすべて３次元で計算される。ステップＳ５２で、付着点の延長先である付着点が可視であるか否か判断される。この可視であるか否かのチェックは以下に説明するような３次元線オブジェクトのメンバ機能（メンバ関数）によって実行される。ステップＳ５４で、２次元線、テキストおよび矢線がすべて計算される。ステップＳ５６で、Ｗｉｎｄｏｗｓ図形デバイスインタフェイス（ＧＤＩ）関数がコールされて２次元エンティティを部品の上方に描画する。
【００９３】
寸法（寸法付け情報）を作成して描画するプロセスを図２５の論理フローチャートを参照して説明する。ステップＳ１００で、機能コールが寸法付けインタフェイスオブジェクトに成されて、新しい寸法を作成する。この寸法付けインタフェイスオブジェクトはＢｅｎｄＣＡＤモジュール１２に照会して、選択されたエンティティの正確な位置（すなわち座標）を検出する。ステップＳ１０２で、寸法オブジェクトはその寸法（寸法付け情報）の３次元形状、すなわち矢線２０ならびに延長線２４および２６の３次元座標を計算する。ステップＳ１０２で、寸法オブジェクトはまた、そのデータに欠陥があるかないか、例えば付着点が穴の追加などの部品データの変更によって消滅したりしないか判断する。さらに値２８が計算される。ステップＳ１０４で、本発明による２次元形状（２次元幾何情報）が計算される。２次元線を計算するには、各３次元線を１つの２次元線に対してマッピングする。その３次元線が矢線２０である場合、矢（の頭）が新しい小さい線分を用いて付加されて２次元オブジェクト内に記憶される。また、テキストの境界ボックスが計算されて２次元テキストオブジェクト内に記憶される。２次元テキスト情報はすべての３次元線毎に計算される。しかしながら、２次元テキスト情報は矢線２０以外はすべての線に対して隠されている。
【００９４】
ステップＳ１０６で、２次元線が可視であるか否か判断される。ステップＳ１０８で、２次元線が可視でない場合、その寸法に対する全ての２次元データが隠される、すなわちデータに欠陥があれば２次元データは切り捨てられる。しかしながら、寸法を定義する際に、線は常に表示される。ステップＳ１０６で２次元線が可視であると判断された場合、２次元線はステップＳ１１０で描画される。次に、ステップＳ１１２で、処理事象（例えばズーミング、回転、パニング、再位置付け）を受信すると、プロセス全体が繰り返される。このような事象が発生しなければ、ロジックはコール機能（又はコール関数）に戻る。
【００９５】
本発明の別の特徴は、ユーザが部品厚さの遠側部と近側部を選択できる点にある。板金は厚さを有するので、ユーザは板金のどちらの側から寸法を測定すべきであるか決定しなければならない。どちらの側から測定するかを決定するための遠／近機能をここで図１６〜１８を参照して説明する。寸法を定義すると、各付着点近傍の画面上のテキストが、部品厚さのどちらの側すなわち遠か近のどちらが現在選択されているかを示す。例えば図１７と１８はそれぞれ遠側と近側が選択されている様子を示す。
【００９６】
面倒なマウス操作や推測なしで所望の測定側を容易に選択できるようにするために、テキスト表示が遠または近を示し、これによってマウスボタンをクリックすることによって容易に切り替えできる。マウスカーソルを画面上の遠テキスト近傍に位置させてマウスボタンをクリックして離すと、図１８に示すように付着点は遠側から近側に切り替わる。テキストが近と読める場合、ユーザはマウスカーソルを近テキスト近傍に位置させてマウスボタンをクリックして離し、これによって、図１７に示すように付着点が板金の近側から遠側に切り替わる。部品が変化しない限り、すなわち曲げ角度が変化する限りでは、遠／近構成は不変のままである。
【００９７】
遠／近構成は、一方の付着点を固定し他方を変化させる４つの測定組み合わせ（２つの別々の点で、各付着点に対する材料の厚さの各側に対して１つずつ）を分析することによって判断される。付着点を変更する場合、測定結果が長いと遠テキストが表示される。測定結果が短いと、近テキストが表示される。測定距離が変化しない場合、テキスト読み取り「中間」（又は「中性」）が図１６に示すように表示される。部品が変化する際にはいつでも、遠／近構成を再計算しなければならない。ある好ましい実施形態では、寸法は最初に遠構成で双方の付着点と共に表示される。寸法クラスＬ１は２次元テキストクラスＬ４と直接に関連して、遠／近／中間テキストを表示画面上に表示する。
【００９８】
別の好ましい実施形態では、拡大機能が与えられる。この拡大機能によって、マウスが指示するところが自動的にズーミングされる。図２２に示すようにマウス位置の周りの長方形領域を拡大する二次ウインドウが与えられることがある。このズーミングは遠／近寸法のどちらが選択されたか見るには役に立つ。ある場合には、自動再位置付けを用いて寸法を二次ウインドウ中にはめ込む必要がある。
【００９９】
図２３（a）と２３（ｂ）に示すように、付着点がビューポート内にあるが寸法の形状はないように部品をズーミングする際には、寸法を自動的に再位置付けする必要があり得る。すなわち、寸法を再位置付けしてビューポート内にはめ込む必要がある。このような再位置付けには、次のステップが含まれる。１）ビューポートが寸法を切る３次元点を計算するステップおよび、２）寸法が切られた場所に基づいて再位置付けデータを計算するステップ。再位置付けが実行されると、部品の更新された図は寸法情報と共に図２３（ｃ）に示すように表示される。
【０１００】
別の好ましい実施形態によれば、公差表示を図１３に示すように採用して、寸法に関連した公差値を示す。ユーザは、寸法上で右クリックして公差メニューにアクセスできる。公差メニューは、臨界値フィールド、すなわち上限公差フィールド及び下限公差フィールドを有するダイアログボックスを具備する。ひとたび公差ダイアログボックスに入ると、ユーザは、寸法を臨界的であると選択するか或いは寸法と共に表示すべき公差値を選択することができる。オプション機能として、ユーザはまた寸法を隠すこともできるが、この場合、寸法は例えば灰色に着色してあまり目立たないようにする。寸法を臨界的であると指定すると、それはユニークな色例えば赤色で描画するのが望ましい。公差を選択すると、寸法値は（＋）および／または（−）の距離公差値と共に表示される。
【０１０１】
別の好ましい実施形態では、スナッピング機能がある。例えば、図２０（ａ）に示すように、２つの寸法が定義されていると仮定する。図２０（ｂ）に示すように、これらの寸法を互いに対して整合させるのが望ましい。この整合操作は、２次元スナッピング機能によって可能である。類似の３次元スナッピング機能が部品の３次元図に対して提供され得る。周知のアルゴリズムを利用してスナッピング機能を実現してもよい。
【０１０２】
ある好ましい実施形態では、寸法付けシステムによって、ユーザの好みに従っていつどこで寸法を表示するかを記憶する。したがって、ユーザはどの寸法を表示するか選択して、不必要な画面のクラッタリング（混雑）を避けることができる。したがって、部品を表示するときはいつでも、ユーザ選択の寸法だけが部品とともに表示されることになる。また、部品がある方向に回転させる際に寸法をある位置に置き、別の方向に回転させる際には別の位置に置く（例えば、穴を隠すことを避ける目的で）と、システムは、それぞれの回転位置に対して、寸法を表示させるべき場所を記憶する。
【０１０３】
３つの別々のＯＮ／ＯＦＦトグルボタンを備えるのが望ましい。第１のボタンは手動の寸法表示トグルボタンである。この手動寸法表示トグルボタンをオンにすると、選択され手動で生成されて定義されたすべての寸法が表示される。この手動寸法表示ボタンをオフにすると、手動で生成され定義された寸法がすべて隠される。第２のボタンは自動寸法を表示するかしないか切り替える。第１と第２のボタン双方がオンであると、手動と自動の寸法が同時に画面上に表示される。寸法編集モードでは、ユーザは表示されたどの寸法でも選択して再位置付けできる。寸法編集モードがオフの場合、寸法は単に眺めるだけであり選択したり移動したりすることはできない。
【０１０４】
本発明をいくつかの例証的な実施形態を参照して説明したが、ここに用いた語は説明と図示目的であり制限する意図はないものと理解されたい。本発明およびその態様の範囲と精神から逸脱することなく、本書で述べまた修正したように、添付請求の範囲内で変更が可能である。本発明は特定の手段、材料および実施形態を参照して説明したが、本発明はここに開示する特定の実施形態に制限されることを意図するものではなく、本発明は、添付請求の範囲内に含まれるようなあらゆる機能的に等価な構造物、方法および用途を範囲に収めるものである。
【０１０５】
例えば、本システムは何ら製図基準を参照することなく説明したが、本発明は容易に修正して、テキストおよび２次元と３次元の線の形状を変更することによってＩＳＯ９０００またはＡＮＳＩ／ＡＳＭＥ  Ｙ１４．５Ｍ−１１９４などの基準に適合するようにできる。その上、寸法値２８が画面上に表示される数値として説明したが、この値は記号に修正することも容易である。例えば、等価の関係を有する複数の寸法を表示する際、画面上のクラッタを減少させるには数値を表示するより記号を表示する方が望ましい。記号を表示すると、記号／値の割り当てを示すテーブルを個別に描画するのが望ましい。図２１に、記号寸法の例を示す。このようにして、記号寸法によって、穴、ノッチなどの間での繰り返される関係を述べることができる。記号寸法機能によってまた、ある寸法が等しいことを指定できる。
【０１０６】
さらに、再位置付けをユーザによって可能とされるものまたはズーミングに反応して行われるものとして説明したが、寸法付けシステムは自分自身で再位置付けして、図２４（ａ）に示すように画面クラッタを減少させてもよい。画面上のクラッタを避けるためには、寸法を再位置付けして、オーバラップを避ける必要がある。再位置付けしたら、寸法は図２４（ｂ）に示すように構成するのが望ましい。再位置付けして画面クラッタを避けるために、３つのステッププロセスが実行される。第１に、各寸法に対して、候補テキスト位置のリストを発生させる。第２に、他の寸法付け情報と部品のオーバラップが最小化されるようなテキスト位置の構成が選択される。第３に、第２ステップで選択したようにテキストを位置付けすることを可能とするような寸法付け情報の３次元形状が計算される。
【０１０７】
本発明による自動再位置付け機能を用いて、表示される寸法情報の明瞭性を向上させる事もできる。ユーザが好ましい寸法の位置を指定する場合、その位置が目に見えないことがある。自動再位置付け操作には、明瞭性が最大化されるように各寸法情報の位置を計算する操作が含まれる。優先順位としては第１に、ビューポート内に付着点（またはエンティティ）を有するすべての寸法を示すことである。第２に、テキストを再位置付けして、他のテキストや寸法とのオーナラップを避けることである。第３に、寸法付けされたエンティティとのオーバラップを避けることである（すなわち、こうするには部品を９０度回転する必要があるかもしれない）。
【０１０８】
さらに、本システムは寸法を再位置付けして、２次元ビューと３次元ビュー間の首尾一貫性を維持する。従って寸法を２次元モードで再位置付けすると、この寸法は３次元モードでも同じ相対的位置に自動的に表示される。さらに、複数のビューを表示画面上に同時に示してその内の１つのビューの中で寸法を定義するとき、その寸法は他のビューでも表示されるのが望ましい。
【図面の簡単な説明】
【図１】図１は、本発明の一側面による寸法付けシステムの典型的クラスダイアグラムを示す。
【図２】図２は、本発明の一側面による寸法付けの要素（コンポーネント）を示す。
【図３】図３は、本発明の一側面による状態遷移線図を示す。
【図４】図４は、本発明の一側面による部品及び関連定義距離を示す。
【図５】図５は、本発明の一側面による、異なる定義距離寸法と共に図４で示した部品及び付着点の間で生成された直平行六面体を示す。
【図６】図６は、本発明の一側面による、異なる定義距離寸法と共に図４で示した部品を示す。
【図７】図７は、本発明の一側面による、それぞれの候補エンティティの種類を指示するテキストマーカーと共に図４で示した部品及び候補エンティティ２個を示す。
【図８】図８は、本発明による角度寸法を生成するために使用するシリンダと共に部品及び定義角度を示す。
【図９】図９は、本発明の一側面による、部品、デフォルトポジションで表示した定義半径寸法及びデフォルトポジションで表示した定義直径寸法を示す。
【図１０】図１０は、本発明の一側面による、部品及び、再位置付けされたポジションで表示した定義半径寸法及びデフォルトポジションで表示した定義直径寸法を示す。
【図１１】図１１は、本発明の一側面による、ユーザ主導の寸法再位置付けのためのロジックを示す一般的なフローチャートを示す。
【図１２】図１２は、本発明の一側面による、再位置付けされている最中の寸法を持つ部品及び遠／近構成を指示するテキストマーカーを示す。
【図１３】図１３は、本発明による、許容差値を表示した定義距離寸法を持つ図１２の部品を示す。
【図１４】図１４は、本発明の一側面による、再位置付け後の定義距離寸法と共に図１２の部品を示す。
【図１５】図１５は、付着点２点間で生成された直平行六面体及び距離寸法の再配置後に必要になる距離寸法線を示す。
【図１６】図１６は、中性／近構成を持つ定義距離寸法と共に部品を示す。
【図１７】図１７は、遠構成での図１６の部品と定義距離寸法の関係を示す拡大図を示す。
【図１８】図１８は、本発明の一側面による、近構成での図１６の部品と定義距離寸法の関係を示す拡大図を示す。
【図１９】図１９は、本発明の一側面による、寸法を描画する過程を示す一般的フローチャートを示す。
【図２０】図２０（ａ）及び２０（ｂ）は、本発明の一側面による、スナッピング機能の使用法を示す。
【図２１】図２１は、本発明の一側面による記号寸法の使用法を示す。
【図２２】図２２は、本発明の一側面による拡大機能及び対応する二次ウィンドウを示す。
【図２３】図２３a、２３ｂ、及び２３ｃは、部品にズームインする場合に生じる問題点及び矯正再位置付けを示す。
【図２４】図２４a及び２４ｂは、乱れを生じた画面及び矯正再位置付けを示す。
【図２５】図２５は、本発明の一側面による、寸法情報の構成と描画を可能にするロジックの一般的フローチャートを示す。
【図１】
0004430149.tif 000002
【図２】
0004430149.tif 000003
【図３】
0004430149.tif 000004
【図４】
0004430149.tif 000005
【図５】
0004430149.tif 000006
【図６】
0004430149.tif 000007
【図７】
0004430149.tif 000008
【図８】
0004430149.tif 000009
【図９】
0004430149.tif 000010
【図１０】
0004430149.tif 000011
【図１１】
0004430149.tif 000012
【図１２】
0004430149.tif 000013
【図１３】
0004430149.tif 000014
【図１４】
0004430149.tif 000015
【図１５】
0004430149.tif 000016
【図１６】
0004430149.tif 000017
【図１７】
0004430149.tif 000018
【図１８】
0004430149.tif 000019
【図１９】
0004430149.tif 000020
【図２０】
0004430149.tif 000021
【図２１】
0004430149.tif 000022
【図２２】
0004430149.tif 000023
【図２３】
0004430149.tif 000024
【図２４】
0004430149.tif 000025
【図２５】
0004430149.tif 000026