(57)【要約】      （修正有）【課題】未処理３次元スキャンデータから立体及び表面モデリング媒介変数のプログラムによる抽出及び操作ができるようにする。【解決手段】自動化プロセスは、未処理３次元スキャンデータを読取り、ＣＡＤ部品モデリングを実行できるようにするために、ＣＡＤシステムと通信する。ユーザーは、メッシュモデル(未処理３次元スキャンデータから形成される)を多数のメッシュ領域に分割する自動化された機能を提供される。ユーザーに、設計意図が計算されるメッシュ領域と共に設計意図の類型を選択できるようにするグラフィックユーザーインターフェースが提供される。各設計意図は、設計意図の類型に依存するベクター、平面またはポリラインにより示される。モデリング特徴の媒介変数に対するユーザーの要求に応じて、要請される媒介変数値に対する最上の近似値が、一セットの機能を使用して未処理３次元スキャンデータを処理することにより計算される。【選択図】図２
2007305133.tif 000002
【特許請求の範囲】
【請求項１】
３次元スキャンデータを使用して逆設計を行う途中に、本来の設計意図を近似させるための方法であって、
３次元対象物の形状を示す３次元スキャンデータの集合を提供する段階と、
分割手段を通じて、メッシュモデルを多数のメッシュ領域に分割する段階と、
メッシュ領域及び本来の設計特徴である設計意図の類型を選択する段階と、
選択されたメッシュ領域に対する設計意図の選択された類型に関する近似値をプログラムにより計算する段階とを含み、
前記３次元スキャンデータは、多数のメッシュとして結合されて、前記多数のメッシュは、３次元対象物を示すメッシュモデルとして結合されて、
前記計算する段階は、選択されたメッシュ領域に対する３次元スキャンデータを使用することを特徴とする、３次元スキャンデータを使用して、本来の設計意図を確認するための方法。
【請求項２】
前記分割手段は、幾何学的な値を概算することにより、メッシュモデルを多数のメッシュ領域に分割することを特徴とする、請求項１に記載の３次元スキャンデータを使用して、本来の設計意図を確認するための方法。
【請求項３】
前記幾何学的な値は、メッシュ曲率値及びメッシュ法線値のいずれか一つであることを特徴とする、請求項２に記載の３次元スキャンデータを使用して、本来の設計意図を確認するための方法。
【請求項４】
メッシュモデルから形成されるＣＡＤモデルにおいて、一つの指定された特徴を選択する段階と、
３次元スキャンデータを使用して、前記指定された特徴に対して概算された媒介変数値をプログラムにより計算する段階と、をさらに含むことを特徴とする、請求項１に記載の３次元スキャンデータを使用して、本来の設計意図を確認するための方法。
【請求項５】
前記多数のメッシュは、三角形メッシュ、四角形メッシュ、及び点からなるグループのいずれか一つであることを特徴とする、請求項１に記載の３次元スキャンデータを使用して、本来の設計意図を確認するための方法。
【請求項６】
前記設計意図は、ベクターに対する計算により示されることを特徴とする、請求項１に記載の３次元スキャンデータを使用して、本来の設計意図を確認するための方法。
【請求項７】
前記設計意図は、突出方向、分解方向、円形パターン軸、線形パターン軸、円錐軸(Cone axis)、円筒軸、及びリボルビング中心のいずれか一つであることを特徴とする、請求項６に記載の３次元スキャンデータを使用して、本来の設計意図を確認するための方法。
【請求項８】
前記設計意図は、平面に対する計算により示されることを特徴とする、請求項１に記載の３次元スキャンデータを使用して、本来の設計意図を確認するための方法。
【請求項９】
前記設計意図は、直交(orthogonal)平面及びミラーリング(mirroring)平面のいずれか一つであることを特徴とする、請求項８に記載の３次元スキャンデータを使用して、本来の設計意図を確認するための方法。
【請求項１０】
前記設計意図は、ポリラインに対する計算により示されることを特徴とする、請求項１に記載の３次元スキャンデータを使用して、本来の設計意図を確認するための方法。
【請求項１１】
前記設計意図は、突出プロファイル、リボルビングプロファイル、スウィーピング経路曲線、湾曲されたパイプの中心線、面取り中心、仮想の鋭いエッジ、ビードライン、シルエット曲線及び分解曲線のいずれか一つであることを特徴とする、請求項１０に記載の３次元スキャンデータを使用して、本来の設計意図を確認するための方法。
【請求項１２】
前記設計意図は、抜き勾配、一定の面取り半径、変化する面取り半径、リボルビング角度、突出距離、及びくり抜き壁厚特徴のいずれか一つであることを特徴とする、請求項１に記載の３次元スキャンデータを使用して、本来の設計意図を確認するための方法。
【請求項１３】
３次元スキャンデータを使用して、本来の設計意図を近似させるためのシステムであって、
プログラムにより３次元対象物の３次元スキャンデータから形成されたメッシュモデルを多数のメッシュ領域に分割する分割手段と、
本来の設計特徴である設計意図の類型及びメッシュ領域を選択できるようにするユーザーインターフェースと、
ＣＡＤ応用プログラムと交信する設計意図手段と、を含み、
前記設計意図手段は、選択されたメッシュ領域に対する設計意図の選択された類型に関する近似値をプログラムにより計算して、
前記計算は、選択されたメッシュ領域に対する３次元スキャンデータを使用することを特徴とする、３次元スキャンデータを使用して、本来の設計意図を確認するためのシステム。
【請求項１４】
３次元対象物の形状を示す多数の点をスキャンする３次元スキャナーをさらに含み、
前記多数の点は、多数のメッシュとして結合されて、前記多数のメッシュは、３次元物体の表面を示すメッシュモデルとして結合されることを特徴とする、請求項１３に記載の３次元スキャンデータを使用して、本来の設計意図を確認するためのシステム。
【請求項１５】
前記設計意図は、ベクター、平面、及びポリラインのいずれか一つとして示されることを特徴とする、請求項１３に記載の３次元スキャンデータを使用して、本来の設計意図を確認するためのシステム。
【請求項１６】
３次元スキャンデータを使用して逆設計を行う途中に、本来の設計意図を近似させるためにコンピューターで実行可能な命令(instruction)を受容して、コンピューティング装置と共に使用する形体を有した物理的な媒介物であって、
３次元対象物の形状を示す３次元スキャンデータの集合を提供するための命令と、
分割手段を通じてメッシュモデルを多数のメッシュ領域に分割するための命令と、
メッシュ領域及び本来の設計特徴である設計意図の類型を選択するための命令と、
選択されたメッシュ領域に対する設計意図の選択された類型に関する近似値をプログラムにより計算するための命令と、を含み、
前記３次元スキャンデータは、多数のメッシュとして結合され、前記多数のメッシュは、３次元対象物を示すメッシュモデルとして結合されて、
前記計算するための命令は、選択されたメッシュ領域に対する３次元スキャンデータを使用することを特徴とする、コンピューティング装置と共に使用する形体を有した物理的な媒介物。
【請求項１７】
前記分割手段は、幾何学的な値を概算することにより、メッシュモデルを多数のメッシュ領域に分割することを特徴とする、請求項１６に記載のコンピューティング装置と共に使用する形体を有した物理的な媒介物。
【請求項１８】
前記幾何学的な値は、メッシュ法線値及びメッシュ曲率値のいずれか一つであることを特徴とする、請求項１７に記載のコンピューティング装置と共に使用する形体を有した物理的な媒介物。
【請求項１９】
前記命令は、
メッシュモデルから形成されるＣＡＤモデルにおいて、指定された特徴を選択するための命令と、
３次元スキャンデータを使用して、指定された特徴に対して概算された媒介変数値をプログラムにより計算するための命令と、をさらに含むことを特徴とする、請求項１６に記載のコンピューティング装置と共に使用する形体を有した物理的な媒介物。
【請求項２０】
前記多数のメッシュは、三角形メッシュ、四角形メッシュ及び点からなるグループのいずれか一つであることを特徴とする、請求項１６に記載のコンピューティング装置と共に使用する形体を有した物理的な媒介物。
【請求項２１】
前記設計意図は、ベクターに対する計算により示されることを特徴とする、請求項１６に記載のコンピューティング装置と共に使用する形体を有した物理的な媒介物。
【請求項２２】
前記設計意図は、突出方向、分解方向、円形パターン軸、線形パターン軸、円錐軸(Cone axis)、円筒軸、及びリボルビング中心のいずれか一つであることを特徴とする、請求項２１に記載のコンピューティング装置と共に使用する形体を有した物理的な媒介物。
【請求項２３】
前記設計意図は、平面に対する計算により示されることを特徴とする、請求項１６に記載のコンピューティング装置と共に使用する形体を有した物理的な媒介物。
【請求項２４】
前記設計意図は、直交平面及びミラーリング平面のいずれか一つであることを特徴とする、請求項２３に記載のコンピューティング装置と共に使用する形体を有した物理的な媒介物。
【請求項２５】
前記設計意図は、ポリラインに対する計算により示されることを特徴とする、請求項１６に記載のコンピューティング装置と共に使用する形体を有した物理的な媒介物。
【請求項２６】
前記設計意図は、突出プロファイル、リボルビングプロファイル、スウィーピング経路曲線、湾曲されたパイプの中心線、面取り中心、仮想の鋭いエッジ、ビードライン、シルエット曲線、及び分解曲線のいずれか一つであることを特徴とする、請求項２５に記載のコンピューティング装置と共に使用する形体を有した物理的な媒介物。
【請求項２７】
前記設計意図は、抜き勾配、一定の面取り半径、変化する面取り半径、リボルビング角度、突出距離、及びくり抜き壁厚特徴のいずれか一つであることを特徴とする、請求項１６に記載のコンピューティング装置と共に使用する形体を有した物理的な媒介物。
【請求項２８】
３次元スキャンデータを使用して逆設計を行う途中に、本来の設計意図を近似させるための方法であって、
３次元対象物の形状を示す３次元スキャンデータの集合を提供する段階と、
分割手段を通じて、メッシュモデルを多数のメッシュ領域に分割する段階と、
メッシュ領域及び本来の設計特徴である設計意図の類型を、ユーザーインターフェースを通じて選択する段階と、
選択されたメッシュ領域に対する設計意図の選択された類型に関する近似値をプログラムにより計算する段階と、を含み、
前記３次元スキャンデータは、多数のメッシュとして結合されて、前記多数のメッシュは、３次元対象物を示すメッシュモデルとして結合されて、
前記選択する段階は、メッシュモデル内のメッシュ領域に対する少なくとも一つの設計意図をプログラムにより確認した後に行われて、
前記計算する段階は、選択されたメッシュ領域に対する３次元スキャンデータを使用することを特徴とする、３次元スキャンデータを使用して、本来の設計意図を確認するための方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の具体的な実施例は、一般に、コンピューター援用設計(Computer Aided Design：以下、CAD)に関するもので、さらに詳細には、部品再設計過程の途中に、本来の設計意図(original design intents)を確認するための３次元スキャンデータ逆設計(reverse engineering)に関するものである。
【背景技術】
【０００２】
ＣＡＤ応用プログラム(CAD applications)は、作られる実際的な物理的装置の生産プロセス(process)の一部分であって、２次元及び３次元対象物のコンピューターモデルを生成するに使用される。モデルは、頻繁に、個別的に設計されなければならない多数の部品を含む。モデルの部品を設計する者は、モデルの部品を設計するために、専門化されたモデリング特徴(modeling feature)を使用する。(設計意図と呼ばれる)代表的なモデリング特徴は、突出(extrusion)、リボルビング(revolving)、シェリング(shelling)、面取り(filleting)、スウィーピング(sweeping)、ロフティング(lofting)、ブレンディング(blending)、エンボシング(embossing)、パターンコピー(pattern copying)などを含む。設計意図は、媒介変数として示されて、モデル設計者は時々、設計過程の途中に、設計意図に対する相異なる媒介変数値をもって試験する。一応設計者が設計に満足すると、実際の物理的装置は、モデルを使用して生産される。
【０００３】
３次元スキャニングは、スキャンされた３次元対象物の形状を表す高解像度の点(point)を集めて、３次元対象物に対する物理的な幾何学的形状情報を収集する。一応収集されると、未処理３次元スキャンデータは、３次元対象物の設計を複製するか修正するための追加的な処理のために、ＣＡＤ部品モデルに変換され得る。ＣＡＤ応用プログラムに提供し、対象物を再設計できるようにするための、３次元対象物に対する３次元スキャンデータを収集するこのような過程は、逆設計(reverse engineering)と呼ばれる。
【０００４】
残念ながら、逆設計の途中に３次元スキャナーにより収集された未処理スキャンデータは、単に対象物の最終的な幾何学的形状のみを表す。３次元スキャンデータが単に対象物の最終的な幾何学的形状のみを表すという事実は、本来の設計意図とその媒介変数値の根源を明かし難くする。例えば、２次元プロファイルの突出、方向と距離、２次元プロファイルのリボルビング、回転軸と角度、一定のまたは変化する面取り半径、ドラフティング平面(drafting plane)及び抜き勾配、スウィーピング経路曲線、湾曲されたパイプの中心線などの特徴(feature)に対する媒介変数値と本来の設計意図を３次元スキャンデータから決定し難い。本来の設計意図を決定することが不可能であるため、逆設計の正確性及び生産性が劣るようになる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
未処理３次元スキャンデータを使用し、核心的な本来の設計意図を明かして計算することにおいて、プログラムによりユーザーを助けるＣＡＤシステムを、自動化された処理作業(computerized process working)に提供することが好ましい。
【課題を解決するための手段】
【０００６】
本発明の具体的な実施例は、ユーザーが未処理３次元スキャンデータから立体及び面モデリング媒介変数(solid and surface modeling parameters)をプログラムにより抽出して操作できるようにする。自動化されたプロセスは、未処理３次元スキャンデータを読み取り、ＣＡＤ部品モデリングを行えるＣＡＤシステムと通信する。ユーザーに、メッシュ法線(normal)または曲率(curvature)値などの幾何学的な値を概算することにより、(未処理３次元スキャンデータから形成される)メッシュモデルを多数のメッシュ領域に分割するようにする自動化された機能が提供される。設計意図が計算される一つ以上のメッシュ領域と共に設計意図の類型をユーザーが選択できるようにするグラフィックユーザーインターフェースが提供される。また、ある設計意図は、よく形状化されたメッシュ領域において、プログラムにより見つけ出される。各設計意図は、設計意図の類型によって、ベクター、平面、またはポリライン(poly-line)により表される。付加的に、モデリング特徴の媒介変数に対するユーザーの要求に応じて、要求される媒介変数値に最も近い値が、一セットの機能を使用し未処理３次元スキャンデータを処理して計算される。その後、ユーザーは、このような近似値を使用するか、その値を手動で修正することができる。
【０００７】
本発明の一様態によると、３次元スキャンデータを使用して逆設計を行う間に、本来の設計意図を近似させるための方法は、３次元対象物の形状を示す３次元スキャンデータの集合を提供する段階を含む。３次元スキャンデータは、３次元対象物を示すメッシュモデルとして結合される多数のメッシュとして結合される。また、この方法は、分割手段(segmentation facility)を通じて、メッシュモデルを多数のメッシュ領域に分割する。付加的に、この方法は、メッシュ領域及び本来の設計特徴である設計意図の類型を選択する。選択されたメッシュ領域に対する 設計意図の選択された類型に関する近似値がプログラムにより計算される。この計算は、選択されたメッシュ領域に対する３次元スキャンデータを使用する。
【０００８】
本発明の他の一様態によると、３次元スキャンデータを使用して本来の設計意図を近似させるためのシステムは、分割手段を含む。分割手段は、３次元対象物の３次元スキャンデータから形成されるメッシュモデルをプログラムにより多数のメッシュ領域に分割する。また、このシステムは、メッシュ領域及び設計意図の類型を選択できるようにするユーザーインターフェースを含む。この設計意図は、本来の設計特徴である。付加的に、システムは、ＣＡＤ応用プログラムと通信する設計意図手段を含む。この設計意図手段は、選択されたメッシュ領域に対する設計意図の選択された類型に関する近似値をプログラムにより計算する。選択されたメッシュ領域に対する３次元スキャンデータは、設計意図の選択された類型に対する近似値を計算する時に使用される。
【０００９】
本発明は、添付された特許請求の範囲の特性と共に強調される。本発明の追加的な長所のみならず、上記の本発明の長所は、添付された図面に係る、後述する説明を参照すると、さらに容易に理解できる。
【発明を実施するための最良の形態】
【００１０】
本発明の例示的な実施例は、ユーザーに、３次元スキャンデータからの３次元対象物の逆設計を行う過程で、本来のモデル設計意図を近似させるための道具を提供する。自動化されたプロセスにより、ユーザーは、特定のメッシュ領域を照準することができて、ユーザーが媒介変数値を得ることにおいて関心を持つ本来の設計特徴の特定な類型をユーザーが具体化することができる。本発明は、本来の設計意図を推測するために、根源的なメッシュデータをプログラムにより分析して、本来の設計意図に対する値に関して、最上の概算値(estimation)をユーザーに提示する。以後、ユーザーは、その近似値を使用するか、あるいは立体モデル部品を生成させる過程における要求に従って、その近似値を修正することができる。
【００１１】
図１は、本発明の例示的な実施例を実行するに適合した環境を示す。コンピューティング装置２は、スキャンされた３次元対象物に対する未処理３次元スキャンデータ４の集合を含む。未処理３次元スキャンデータ４は、３次元スキャナーから収集される。また、コンピューティング装置２は、ＣＡＤ応用プログラム６、設計意図手段８、及び分割手段１０をホスト(host)する。コンピューティング装置２は、ワークステーション、サーバー、ラップトップ、コンピューター本体(mainframe)、ＰＤＡ、一緒に作動する装置のクラスター(cluster)、仮想の装置、または、ここで論議されるＣＡＤ応用プログラム６、設計意図手段８及び分割手段１０を支援できるまた他のコンピューティング装置である。設計意図手段８及び分割手段１０は、さらに後述する実行可能なソフトウェアプロセスである。設計意図手段８及び分割手段１０は、応用プログラムプロセス(application process)、応用プログラムプラグイン(pluged-in)、または独立型の応用プログラムとして具現できる。本発明の一具現例において、設計意図手段８は、ＣＡＤ応用プログラム６内に道具として統合される。他の具現例において、設計意図手段８は、ＣＡＤ応用プログラム６と通信するが、ＣＡＤ応用プログラムの部分ではない。また他の具現例において、分割手段１０は、設計意図手段８の部分である。
【００１２】
未処理スキャンデータ４は、スキャンされた対象物の形状を示す３次元高解像度点の集合である。一具現例において、未処理スキャンデータ４は、一セットの三角形メッシュであるが、他の形態のスキャンデータを使用することも、本発明の範囲内にあると見なされる。例えば、未処理スキャンデータ４は、点、四角形メッシュ、四面体形メッシュ、または六面体形メッシュである。集合的に、メッシュのセットは、スキャンされた対象物の表面を示すメッシュモデルを形成する。分割手段１０により、ユーザーは、曲率値に従ってメッシュモデル１２をプログラムによりメッシュ領域１４、１６、１８に分割することができる。メッシュモデルのより多い湾曲された断片(curved segment)は、滑らかな表面の幻影(illusion)を示すために、結果的に非常に多い数のメッシュを生じさせるようになる。設計意図手段８は、コンピューティング装置２と通信する画面３０(display)上にグラフィックユーザーインターフェース３２(Graphical User Interface; 以下、GUI)を生成させる。ＧＵＩ(３２)により、ユーザーは、メッシュモデルにおいて特定のメッシュ領域１４、１６，１８を選択することができて、また、ユーザーが本来の媒介変数値を計算しようとする設計意図の特定な類型を選択することができる。設計意図手段８は、未処理スキャンデータ４を、以下でさらに説明するように、一セットの機能を通じて分析して、ユーザー２０により要請される設計意図に対する近似値を計算する。
【００１３】
図２は、未処理３次元スキャンデータを使用して、本来の設計意図を確認するための本発明の実施例による一連の段階の流れ図である。連続的な段階は、未処理３次元スキャンデータ４の集合の提供と共に始まる(段階１１０)。未処理３次元スキャンデータは、設計意図を決定するプロセスの動的部分として集められるか、既に蓄積されたスキャンデータである。メッシュモデル１２は、もしデータが既にモデルとして結合されていなかったら、スキャンデータ４から生成される(段階１１２)。分割手段１０は、メッシュモデル１２をプログラムにより多数のメッシュ領域１４、１６、１８に分割するためのユーザーの命令に応じて活用される(段階１１４)。その後、設計意図手段は、特徴がよく保存された領域から自動的に幾つかの設計意図を把握する。次いで、画面３０上のメッシュモデル１２を見るユーザー２０は、一つ以上のメッシュ領域１４、１６及び/または１８、並びに、ユーザーが設計意図手段８を通じて本来の設計媒介変数値の近似値を計算しようとする設計意図の類型を選択するために、ＧＵＩ(３２)を使用する(段階１１６)。その後、設計意図手段８は、選択されたメッシュ領域１４、１６及び/または１８に対する設計意図の類型に関する値を計算するために、以下でさらに説明するように、未処理スキャンデータ４を分析する(段階１１８)。
【００１４】
上記のように、本発明により、ユーザーは、設計意図手段８を通じて本来の設計意図に対する値を決定しようとするメッシュ領域を選択することができる。本発明をさらに好ましく表現するために、多い数の異なる類型の設計意図に対する決定が論議される。以下で論議される明細書は、例示的に解釈されて、特に列挙しない他の設計意図もまた本発明の範囲内にあると認められる。
【００１５】
計算された設計意図は、設計意図の類型に依存する一つ以上のベクター、平面またはポリラインにより示される。例えば、突出方向、リボルビング中心、及び分解方向は、ベクターにより示されて、分解方向は、一つ以上のベクターにより示されて、突出プロファイル、リボルビングプロファイル、スウィーピング経路曲線、湾曲されたパイプの中心線、面取り中心、仮想の鋭いエッジ(virtual sharp edge)、ビードライン(bead line)、シルエット曲線(silhouette curve)、及び分解曲線は、ポリラインにより示されて、直交平面(orthogonal planes)、及びミラーリング平面は、平面により示される。設計意図手段は、メッシュからベクター、平面及びポリラインの方向を決定するために、エラー最小化技法(erorr minimization routine)を実行する。ベクターは、位置(Ｘ、Ｙ、Ｚ)と方向(Ｉ、Ｊ、Ｋ)変数を有する。平面は、位置(Ｘ、Ｙ、Ｚ)と法線方向(Ｉ、Ｊ、Ｋ)変数を有する。ポリラインは、多角形エッジ(polygon edges)から(言い換えると、平面に多角形エッジの投影体(projection)を提供するシルエットポリライン生成(silhourtte poly-line creation)から)生じる多数の直線断片である。、
設計意図手段８は、メッシュから設計意図を決定するために、エラー最小化技法を実行する。矩形形状に対する一つの例を以下に説明する。
【００１６】
1)突出が基本スケッチ(base sketch)を使用して生成される。その形状は、矩形と知られている。矩形の寸法は、ＸとＹ、及び突出距離Ｚと呼ばれる。Ｘ、Ｙ及びＺは、矩形ボックスの幅、奥行及び高さである。これらは、モデルの媒介変数である。
【００１７】
2)スケッチ線がお互い垂直であるという制限が本質的に強制されて、他の制限が追加され得る。
【００１８】
3)ユーザーは、全体メッシュに対して(偏差(deviation)を最小化する)エラーを最小化することを望むか、または選択的に、選択されたメッシュ領域に対してエラーを最小化することを望む。
【００１９】
4)媒介変数Ｘ、Ｙ、Ｚは、偏差を最小化するために、自動的に外れた値を除去する技術(automatic outlier removel techniques)(ここで、外れた値は、ノイズデータをいう)と共に、多重変数最適化プロセス(multivariable optimization process)を使用して調整される。
【００２０】
5)多重変数最適化は、たくさんの数値的設定(numerical setting)に使用される。例えば、直線をデータに合わせるために、ユーザーは、線方程式ｙ＝ｍ×ｘ＋ｂ(ここで、ｂ及びｍは、変数であり、ｙ及びｘは、２つのデータセット)と共に始める。ユーザーは、ｍ及びｂの開始値(starting value)を選択する。エラーは、データセットのｙ値と、開始値ｍとｂ、及びｘを使用して計算されたｙ値との間の差(または、“二乗した(squared)”距離；距離二乗の和)である。その後、ｍ及びｂは、エラーが最小化されるまで調整される。これは、最小二乗エラー最小化(Least Squares Minimization of error)または多重変数最適化である。
【００２１】
設計意図手段８は、突出方向設計意図を決定するために使用される。ユーザーは、平面形のプロファイルを突出させる時、側面となる、メッシュ領域または複数の領域を選択する。次いで、設計意図手段８は、突出方向を最適に表現できるベクターを計算する。このようなプロセスは、図３ａ及び３ｂに示されている。図３ａにおいて、ユーザーは、ＧＵＩ(３２)の制御道具１８０を通じて、メッシュモデル２００において前方の四つの円筒形状領域２０２、２０４、２０６、２０８を選択する。また、ユーザーは、また一つの制御道具１９０を通じて‘突出軸’方法を選択する。突出軸Ａに対する概算(estimation)から始めて、領域(Ｎ)内の全ての面の全ての法線ベクターと突出軸との間の角度を決定すると、領域内の全ての面に対するＡＮ値が得られる(これは、突出軸に対する現在最上の概算値(current best estimate)と多角形面法線(polygon face normal)との間の角度である)。最小化段階は、一セットのＡＮ測定値間の差異を最小化するために行われる。最小化段階後に、ＡＮ平均値が得られる。ＡＮ＝９０°−抜き勾配である(したがって、ＡＮ＝９０°ならば、突出された部分では、抜き勾配はない)。また、外れた値の除去、標本抽出比率(sampling ratio)及び突出ベクターに対する最大角度のような軸に係る追加的なオプション(options)がユーザーにより第３の制御道具１９５を通じて構成され得る。四つの領域２０２、２０４、２０６、２０８を選択した後に、設計意図手段８は、突出方向に対するベクターを計算する。行列(matrix)方程式の解を含むメッシュデータに対する突出方向アルゴリズムが使用される。ユーザーが選択したメッシュ領域に対する計算された突出方向ベクター２２０が、図３ｂにおいて、閉曲線により囲まれている。メッシュ領域のボディー内部の突出方向ベクター２２０の部分は、破線で表示される。
【００２２】
リボルビング中心設計意図を決定するプロセスは、類似している。ユーザーは、(平面形のプロファイルを回転させる時、側面となる)一つ以上のメッシュ領域を選択する。次いで、設計意図手段８は、リボルビング中心軸を最上に表現できるベクターを計算する。このようなプロセスは、図４ａ、図４ｂ及び図４ｃを参照して理解できる。図４ａにおいて、ユーザーは、選択制御道具１８０を使用して円錐(cone)形状からなる一番目に作図された円筒形状領域２０２(領域２)を選択する。これは、円筒のリボルビング軸を概算する際に好ましい。ユーザーは、‘リボルビング軸’方法を選択するために、ＧＵＩ(３２)の方法制御道具１９０を使用する。行列方程式の解を含む回転ベクターアルゴリズムが使用される。図４ａで選択された領域に関しては、図４ｂにおいて、閉曲線で囲まれた破線は、計算されたリボルビング中心２３０を示す。また、リボルビング中心は、多数の領域において探知される。図４ｃにおいて、ユーザーは、選択制御道具１８０でメッシュモデル２４０から領域１(２４２)、領域２(２４４)及び領域３(２４６)を選択する。設計意図手段８は、ユーザーが選択した三つの領域２４２、２４４、２４６に対して描写されたリボルビング中心２５０を計算する。
【００２３】
また、設計意図手段８は、突出プロファイル設計意図を決定するために使用される。ユーザーは、(平面形のプロファイルを突出させる時、側面となる)メッシュ領域または複数の領域と、プロファイルが生成されるスケッチ平面とを選択する。設計意図手段８は、突出された立体(solid)の領域データのシルエット曲線を生成させて、このシルエット曲線を(突出軸法線(extrusion axis normal)と共に)スケッチ平面上に投影させる。平面上の一連の線形断片(シルエット曲線の投影体)は、ポリライン(突出プロファイル)で表される。このようなプロセスは、図５ａ及び図５ｂを参照して理解できる。図５ａにおいて、もしユーザーが前方の四つの円筒形状領域２０２、２０４、２０６、２０８、及び後方の四つの円筒形状領域２０１、２０３、２０５、２０７を選択したら、且つ‘突出プロファイル’方法を選択したら、図５ｂに示された、計算された突出プロファイル２６０設計意図が生成される。設計意図手段８は、突出方向命令を使用して、突出方向を内部的に決定する。全ての平面化された(投影された)データを使用して、設計意図手段８は、突出プロファイルとなるポリラインを生成するために、このようなデータに一連の線を最もよく一致させる。その結果は、正確な円というよりは、ポリラインである。
【００２４】
リボルビングプロファイル設計意図を決定するために、ユーザーは、(平面形のプロファイルをリボルビングした時、側面となる)メッシュ領域または複数の領域、及びリボルビング中心軸を選択する。設計意図手段８は、選択されたメッシュ領域または複数の領域の回転イメージ(rotation image)を生成して、回転イメージと回転軸を通過する平面との間の断面ポリライン(cross sectional poly-line)を生成させる。このようなプロセスは、図６ａ及び図６ｂを参照して理解できる。図６ａにおいて、ユーザーは、モデル２４０から三つの領域２４２、２４４、２４６を選択して、リボルビング断面(revolving section)または‘リボルビングプロファイル’を決定するために、ＧＵＩ(３２)を通じて設計意図手段８により利用可能になる‘リボルビングプロファイル’命令を使用する。リボルビングプロファイルは、リボルビング軸の周りを回転するために使用でき、且つ立体を生成するために使用できる、２次元スケッチの概算値である。図６ａのモデル２４０から選択された領域に対して計算されるリボルビングプロファイル２７０は、図６ｂに示される。中心軸周りに図６ｂのパターン２７０を回転させることは、選択された領域２４２、２４４、２４６を最適に合わせるようになる。リボルビングプロファイル２７０を決定するために、設計意図手段は、(‘突出方向’機能及び領域データの投影を使用することとは対照的に)‘リボルビング中心’命令が使用されて、リボルビングされた立体に相応する全ての領域データが、リボルビング軸が同一平面上にある状態で、この中心に対してスケッチ平面に回転する方式で投影されることを除いては、以上で論議した突出プロファイルに対する方式と同一な方式で行う。点は少なくなり、ＭＳＴ接近法(minimal spanning tree approach)がポリラインを形成するために使用される。代表的なＭＳＴ接近法が、浦項工科大学校情報研究所(POSTECH、Information Reserch Laboratories)のリインコン(LEE, In-Kwon)により発表された“整理されていない点からの曲線再建(Curve Reconstruction from Unorganized Points)”に示されている。
【００２５】
また、設計意図手段８は、与えられたメッシュ領域が、ある平面に対称となる時、ミラーリング平面設計意図を決定するために使用される。ミラーリング平面を確認するために、ユーザーは、メッシュ領域(または複数の領域)を選択して、ミラーリング平面にほぼ近接する平面を初期近似値(initial approximation)として特定する。設計意図手段８は、与えられたメッシュ領域または複数の領域を複写して、これまたはこれらを、与えられた平面に対称するように変換させる。設計意図手段８は、逐次最近点アルゴリズム(Iterative Closest Points Algorithm；以下、ICPアルゴリズム)を使用して、重なる部分内の点間の距離の和を最小化するために、複写されたメッシュ領域または複数の領域を変換して、ＩＣＰアルゴリズムから生成される変換行列は、ミラーリング平面を調整するために使用される。設計意図手段８は、変換行列を蓄積して、アルゴリズムが収斂するまでこれを、与えられた平面に逐次的に適用して、その後、結果をユーザー２０に出力する。
【００２６】
ミラーリング平面を決定するプロセスは、図７ａ及び図７ｂを参照して理解できる。図７ａに、モデル３００に対するミラーリング平面３０２が示される。ミラーリング平面３０２は、ユーザーにより与えられる初期近似値を示す。全ての領域に対し、本発明の設計意図手段８を使用する‘ミラーリング平面’命令を実行することにより、結果的に図７ｂに示されたモデル３００に対するミラーリング平面３０４を計算するようになる。ミラーリング平面３０４は、ユーザーにより提供された近似させた平面３０２に変換行列を適用することにより計算される。
【００２７】
スウィーピング経路曲線設計意図(sweeping path curves design intent)を決定するために、ユーザーは、プロファイル曲線をスウィーピングする時に側面となる、メッシュ領域または複数の領域を選択する。このようなプロセスは、図８ａ及び図８ｂを参照して理解できる。図８ａでは、スウィーピングされた表面を含むモデル３１０(図８ａでは、上部領域/面３１２のみが直接的に見える)に対する三つの領域３１２、３１４、３１６がユーザーにより選択される。その後、設計意図手段は、図８ｂに示されたようなモデル３１０に対するスウィーピング曲線３１８を概算する。次いで、三つの側面を有するプロファイルを、図示されたポリライン３１８に沿ってスウィーピングすることにより、表面(surface)が生成される。アルゴリズムは、スウィーピングプロファイル上に開始地点(starting point)を提供する(案内曲線は、ユーザーが最終的に決定しようとするものである)。断面曲率(曲率は、断面方向(section direction)に依存し、離散の計算値(discrete calculation)である)は、メッシュ表面上に(離散点で)局部的に決定される。局部的な最小及び最大曲率に帰着される断面方向が計算されて、これは、主曲率(principal curvature)方向である。断面方向は、それぞれの与えられた地点においてお互い垂直である。ソフトウェアは、(離散の断面曲率計算に基づいて)主曲率方向に基づいた曲率流れを追跡する。一つの案内曲線が(与えられた表面に対して無限な数の案内曲線が存在するため)初期調査位置に基づいて計算される。
【００２８】
また、設計意図手段８は、湾曲されたパイプ設計意図の中心線を決定するために使用できる。この手段は、スウィーピング経路曲線設計意図の場合と類似した作業流れを使用する。ユーザー２０は、円形のプロファイルをスウィーピングする時に側面となる、メッシュ領域または複数の領域を選択する。このようなプロセスは、以上で論議したスウィーピング経路曲線の場合と同様に機能を行う。このようなプロセスは、図９ａ及び図９ｂを参照して理解できる。図９ａに、中心に曲線を有するパイプ３５０の不完全なスキャンデータが示される。設計意図手段は、パイプ３５０の中心線を決定することにより、本来の設計意図を計算することができて、図９ｂに示したように、中心線を通過する最も適合した曲線３５２を生成する。中心線を決定するプロセスは、図９ｃ〜図９ｅでさらに説明されて、図９ｃに示されたように、選択された領域に対する‘中間軸’の決定から始まる。中間軸は、一セットの点(位置(locus))であり、ここで、点３５５は、領域に内接する球３５３(sphere)(最大球)の中心点である。中間軸点は、少なくなり、ＭＳＴ(３５７)が図９ｄ及び図９ｅに示されたように計算される。ＭＳＴ点を連続的に連結する一セットの線断片(line segment)であるポリラインが生成される。本来の点群(point cloud)は、最大球を使用する中間軸接近法を使用して少なくなり、ＭＳＴが中間軸点から生成される。連続的な断片は、図９ｅにおいて閉曲線で囲まれており、湾曲されたパイプ中心を示すポリライン３５９である。
【００２９】
また、設計意図手段は、分解方向設計意図を計算することができる。上部の鋳型と底部の鋳型とからなる２つの鋳型(mold)により成型品(molded part)を生成する時、鋳型は円滑に分離できて、成型品に影響を与えてはいけない。例えば、両側に配置される２つの鋳型を使用して砂時計(の外側表面)を成型することができる。上部と下部に鋳型があるとしたら、これらを除去することは不可能である。ソフトウェアは、分解に対する一つ以上の可能な方向(分解方向)を計算する。これらは、分解のための実現可能な全ての方向を示す、一つまたは複数のベクターや円錐として可視化できる。分解方向は、部品のアンダーカットを最小化しようとする。許容されるアンダーカットの量(amount)に関する許容公差(tolerance)媒介変数がこの手段に適用できる。アンダーカットの最小化は、図１０を参照して理解できる。成型品３６０は、表面３６２、３６４、３６６、３６８、３７０、３７２、３７４、３７６を含む。設計意図手段８は、最も少ない数の表面と交差する分解方向の発見を試みる。垂直線の方向３８０は、もし分解方向として使用されたら、この方向でベクターが２以上の表面と交差するため(即ち、四つの表面３６２、３６４、３６６、３６８と交差する)、多い量のアンダーカットを生じさせる。これと対照的に、水平線の方向３９０は、(ただ２つの表面と交差するため)少ないアンダーカットを生じさせて、分解方向に対するさらに可能性の高い候補となる。推定される分解方向に関するメッシュ上の法線角度の計算は、分解方向に対する一つ(後で多数)の可能な方向を決定するために使用される。また、本発明は、与えられた分解方向と抜き勾配にしたがってモデルを移動させる時、モデルを二つのアンダーカットから自由なモデルに分離させる曲線である、分解曲線(parting curve)を生成する。
【００３０】
付加的に、設計意図手段８はまた、円形パターン軸(circular pattern axis)設計意図を決定するために使用できる。円形パターン軸設計意図を決定するために、ユーザーは、円形パターンにより生成され得るメッシュ領域または複数の領域を選択する。その後、設計意図手段は、領域間における登録(registration)により変換行列(transform matrix)を計算する。領域間における登録は、３次元モデルを幾何学的に整列させる。登録プロセスは、主軸変換アルゴリズム(Principal Axis Transform Algorithm: 以下、PATアルゴリズム)及びＩＣＰアルゴリズムを利用する。ＰＡＴアルゴリズムは、モデルの主軸(principal axis)と重力中心を整列させる。ＩＣＰアルゴリズムは、変換されたモデルの標準内で対応する点間の距離の反復的に最小化する。ＰＡＴは、粗悪な初期整列として使用されて、ＩＣＰは、精巧な整列として使用される。登録プロセスの結果は、変換行列(回転、並進移動(translation))で表現される。設計意図手段８は、ｎ個の入力領域から一つの基準領域を選択する。そして、ｎ−１個の変換行列が、基準領域に対するｎ−１個の領域からのｎ−１回の登録により計算される。その後、応用プログラムは、計算された変換行列から回転中心軸を抽出する。
【００３１】
同様に、設計意図手段８は、線形パターン軸(linear pattern axis)設計意図を決定するために使用できる。線形パターン軸設計意図を決定するために、ユーザーは、線形パターンにより生成され得るメッシュ領域または複数の領域を選択する。その後、設計意図手段は、領域間における“回転が遮断されて抑制された登録(rotation locked constrained registration)”により変換行列を計算する。回転が遮断されて抑制された登録プロセスは、登録上の変換の回転項目(rotation term)を無視することを除いては、上記のような登録プロセスと同一な方法により(言い換えると、ただ並進移動の変換(translational transform)のみで)作動する。その後、応用プログラムは、計算された変換行列から並進移動パターン軸(translational pattern axis)を抽出する。
【００３２】
付加的に、設計意図手段８は、ポリラインで表示される面取り中心、仮想の鋭いエッジ、ビードライン及びシルエット曲線を決定するために使用できる。面取り中心に対して、ユーザーは、面取りにより生成され得るメッシュ領域または複数の領域を選択する。設計意図手段８は、面取り領域から抽出される中心を使用して、ポリラインを計算する。仮想の鋭いエッジに関しては、ユーザーはメッシュ領域または複数の領域を選択して、設計意図手段は、拡張されて適合になった表面またはメッシュを計算する。その後、設計意図手段は、拡張された実体(expanded entity)間で交差ポリラインを計算する。ビードラインに関しては、ユーザーは、ビードライン領域を含むメッシュ領域または複数の領域を選択する。次いで、設計意図手段８は、メッシュ領域からグルーブ領域(groove region)を抽出して、グルーブの中心線を通過するポリラインを計算する。シルエット曲線に関しては、ユーザーは、メッシュ領域または複数の領域、及び方向ベクター(または平面)を選択する。もし、平面が選択されたら、設計意図手段は、メッシュ領域(または複数の領域)を、選択された平面に投影(project)させる。その後、設計意図手段は、投影されたメッシュ領域または複数の領域の境界ループ(boundary loop)からポリラインを生成する。もし、ベクターが選択されたら、設計意図手段は、分解線(parting line)としてポリラインを計算する。
【００３３】
一応、本発明の具体的な実施例が要請された設計意図を計算すると、ユーザーは、その内部に多いメッシュを含ませるか、それからメッシュを除外させるか、形状を滑らかにするか、他のメッシュ編集道具を使用して、メッシュ領域を修正することができる。メッシュを追加する時、本発明は、ユーザーがメッシュのファイル(file)を選択して、これをプログラム内に取り込み可能にする。領域が、このように新しく取り込んだメッシュにより生成されて、次いで、ユーザーは、このように生成された領域を一つの領域に追加するために、‘領域併合(Merge Region)’命令を使用する。また、ユーザーは、‘メッシュ併合(mesh merge)’及び‘メッシュ結合(mesh combine)’のような基本的なメッシュ作業を実行することができる。‘メッシュ併合’作業は、重なる領域に平均化作業(averaging operation)を実行して、多数のメッシュを一つのメッシュに併合する。開始メッシュ(starting mesh)に穴(hole)がある以下の例で、もしユーザーが穴を有しない取り込んだメッシュを使用してメッシュ併合作業を行うと、この時、‘併合されたメッシュ(merged mesh)’は、穴を有する開始メッシュと、穴を有しない取り込んだメッシュとの平均である。取り込んだメッシュからのデータは、開始メッシュ内の穴を埋めるために使用される。‘メッシュ結合’機能は、メッシュ併合作業と同様に、しかし平均化無しで行われる。
【００３４】
メッシュ編集段階の後に、設計意図手段８は、自動的に設計意図を再計算する。その後、以上で論議された設計意図決定プロセスは、新しいデータに対して実行される。設計意図手段８は、３次元ボディーモデリング特徴(3D body modeling feature)、整列(alignment)及び２次元スケッチプロファイル(2D sketch profile)などのような全ての他の実体(entity)を含む追跡連合(tracing association)により、変化を伝播する。
【００３５】
上記した特徴の利益は、図１１ａ〜図１１ｅを参照して理解できる。粗悪な品質のスキャンデータから始めて、修正無しで実行することは、正確ではないＣＡＤ立体(solid)に帰着される。図１１ａは、不正確なＣＡＤ立体を生じさせる粗悪なメッシュ４００を示す。図１１ｂは、不正確なＣＡＤ立体を生成させるに使用された粗悪なデータ４０２を示す。しかしながら、本発明は、ユーザーが、よりよいメッシュを生成させるために、メッシュを追加または除去するか、‘スムース(smooth)’及び‘穴埋め(hole fill)’のようなメッシュ作業を行うことにより、スキャンデータを修正できるようにする。メッシュ編集作業が粗悪なスキャンデータ４０２に対して実行された以後の改善されたメッシュは、図１１ｃにモデル４０４で示される。以上で論議したように、本発明の具体的な実施例は、複数のセットのスキャンデータを、図１１ｄにモデル４１０で示されたように、結合できるようにする。結合された複数のセットのデータは、メッシュ内の不足空間(void)４１２、４１４、４１６、４１８を埋めるか、ノイズを平均化するか、悪いデータを除去するために使用される。メッシュに対するデータ追加や除去を含むメッシュ作業は、設計意図を再計算する設計意図手段により自動的に追跡される。このような変化は、ベクター、平面、及びポリラインの計算に影響を与える。再計算は、図１１ｅに図示の更新されたＣＡＤ立体４２０の自動再生性に反映されたように、３次元物体モデリング特徴、整列及び２次元スケッチプロファイルのような他の実体に影響を及ぼす。
【００３６】
‘リボルビング角度(Revolving Angle)’及び‘突出距離(Extrusion Distance)’特徴に関しては、個々の多角形に対する一セットの測定値が角度や距離のような寸法を決定するために回転の円を描く方向または突出の線形に伸びる方向で生成される。このような寸法は全て、初期スケッチ平面を必要とする(そして、リボルビング角度は、リボルビング中心線をさらに必要とする)。リボルビング角度特徴の決定は、図１２ａ及び図１２ｂを参照して理解できる。モデル４３０の領域４３２における各面の中心とスケッチ平面４３４との間の角度(角度１(４４０)、角度２(４４２)、角度３(４４４))が測定される。外れた値が、各多角形面の法線とスケッチ平面の法線及びリボルビング軸４３６に基づいて濾過される。リボルビング軸は、データ点(選択された領域内の全ての点)における全ての位置法線ベクターと交差する線により定義される。‘データ点における位置法線ベクター’は、スキャンデータ点から出発して、法線方向に向かう方向ベクターである。領域(外れた値濾過プロセスにより除去されなかったもの)内の面に対する残存角度測定値は、互いに平均化される(残存面に対する最大及び最小角度もまた蓄積される)。平均値(残存面に対する平均角度)は、まるで最大/最小角度がスケッチに対するリボルビング角度として使用するようユーザーに提案されるように、ユーザーに提案される。
【００３７】
突出距離特徴の計算は、図１３を参照して論議される。以上で論議したリボルビング角度の計算と同様に、突出距離５５０、５５２、５５４は、各面の中心５４２、５４４、５４６からスケッチ平面５４０まで測定される。外れた値が、各多角形面の法線とスケッチ平面５４０の法線と(これらは、許容可能な角度公差内でお互い平行しなければならない)に基づいて濾過される。領域(外れた値濾過プロセスにより除去されなかったもの)内の面に対する残存距離測定値は、互いに平均化される(残存面に対する最大及び最小距離もまた蓄積される)。平均値(残存面に対する平均距離)は、まるで最大/最小距離がスケッチに対する突出距離として使用するようユーザーに提案されるように、ユーザーに提案される。
【００３８】
また、本発明の具体的な実施例は、ユーザーのために、ドラフティング(drafting)、くり抜き(hollowing)、及び面取り特徴に対して要求される寸法を設定する時、最上の概算値を計算する。
【００３９】
ユーザーがドラフティング特徴を追加する時、ドラフティング対話窓が現れる。対話窓で、ユーザーは、未処理３次元スキャンデータ形状に対する最も適合した角度である、抜き勾配を計算するために、グラフィックボタンをクリックすることができる。本発明は、未処理３次元スキャンデータと、抜き勾配測定の基準になる中立平面から上方に少し移動する平面との間の交差曲線を計算する。交差曲線から抽出された点において、自体の法線ベクターが交差曲線に接する平面が生成される。その後、このような平面と未処理３次元スキャンデータとの間の交差線が計算される。中立平面の法線ベクターと、定義された平面(抜き勾配が疑問の平面)との間で、角度が平均化される。本発明は、三つの角度値、即ち、最小角度、最大角度、及び平均角度をユーザーに提案する。
【００４０】
抜き勾配計算プロセスは、図１４に示される。モデル５００において、２つの領域５０２、５０４(法線領域−図１４において、平坦な基本領域５０２；ドラフティングされた領域(drafted region)−図１４において、角度を有する傾斜した領域５０４)を選択することにより、２つの領域は、平面形表面(planar surface)５０６、５０８に合わせられ得る。合わせられる表面が曲面形表面であり得るため、作業が平面形の合わせられる表面に対するものに制限されないことは、自明である。このような表面を延長させて交差するようにすることにより、交差線５１０が決定される(非平面形表面の場合は、曲線が決定される)。それぞれ二つずつの線(５１６，５１８)(５２０、５２２)を合わせた各平面上で、交差曲線に垂直な２つの平面５１２、５１４を生成することにより、そして、このような線の交差角(または抜き勾配)５２４、５２６を決定することにより、抜き勾配が２回抽出される。ユーザーは、逆設計プロセスにおいて、抜き勾配を選択するために、平均、最大または最小交差角(抜き勾配)を使用することができる。データ集合(data gathering)の方向を定めるための平面を使用して、断面データ(section data)が生成される(図１４に、角度が計算される２つの平面が示されている)。ベクター(線)が、エラー最小化技術を使用して、このような断面データに合わせられる。角度は、このようなベクターに基づいて計算される。平面を合わせることは、エラー最小化技術に従う。平行ではない二つの線は、直線またはベクター上で交差する。 
上記のように、本発明の具体的な実施例は、図１５ａ乃至図１５ｃに示されたように、くり抜き(またはシェリング)厚を決定するために使用できる。ユーザーがくり抜き特徴を追加する時、くり抜き対話窓が現れる。対話窓において、ユーザーは、未処理３次元スキャンデータ形状を従うために最も適合した壁厚(wall thickness)を計算するために、グラフィックボタンをクリックすることができる。設計意図手段８は、くり抜き特徴が追加されるべきボディー上の点を抽出して、次いで、局部表面(local surface)上のＵ及びＶ方向ベクターのベクター積(dU×dV)を求めることにより、概算できる法線方向に沿う半直線(ray)を生成させる。このプロセスは、図１５ａに示されている。抽出された点５８０、５９０間の距離は平均化されて、半直線５８２、５９２と未処理３次元スキャンデータとの間の交差点(intersection point)が決定される。距離平均化の代わりに、くり抜かれた外皮層(hollowed shell)間の偏差に基づき、偏差が最小化されるまでくり抜き距離を調整しエラーを最小化する、エラー最小化技術を使用することができる。三つの厚さ値、即ち、最小、最大、及び平均の厚さ値がユーザーに提案される。外れた値は、交差点の法線ベクターと半直線との間の角度差に基づいて除去される。もし、角度が、指定された許容可能な公差より大きければ、これは、くり抜き厚の計算において考慮されない。
【００４１】
くり抜き技術は、まず、窪んでいない立体を生成するために、メッシュの外側表面を使用する。外側表面として使用されていないメッシュの内側部分がある。メッシュの内側部分は、くり抜き厚を決定するために使用される。厚さの計算は、まず、(局部の生成された表面または立体上で局部のＵ軸及びＶ軸方向に垂直な)表面に対する局部法線ベクター(local normal vector)を計算することにより決定される。このような法線方向において、表面と未処理メッシュ(未処理３次元スキャンデータ)との間の距離は、局部的なくり抜き距離である。完全なくり抜き区域(全ての距離測定値)が、このような局部的なくり抜き距離(厚さ)から生成される。ユーザーは、くり抜き区域(hollowing field)の平均、最大または最小の均一なくり抜き厚さを有するように、選択することができる。本来の立体/表面と、新しく生成されるくり抜かれた表面とを含む新しい立体を生成させるために、残存する立体/表面の内部に新しい表面が生成される。図１５ｂは、メッシュの外部から生成される立体６００を示す。図１５ｃは、図１５ｂの立体６００の断面６１０を示す。断面６１０は、局部のＵ軸６１２及びＶ軸６１４、法線ベクター６１６、及び法線ベクター６１６とメッシュ６２０との間の局部的な交差部分６１８を示す。図１５ｄは、本発明により行われるくり抜き作業以後の図１５ｂの立体６３０を示す。
【００４２】
面取りは、凹凸状にエッジを滑らかにすることである。本発明は、面取り半径を計算するために使用できる。面取り半径は、一定または変化する。ユーザーが面取り特徴を追加する時、面取り対話窓が現れる。対話窓で、ユーザーは、未処理３次元スキャンデータ形状を従うために最も適合した面取り半径を計算するために、グラフィックボタンをクリックすることができる。本発明は、面取りに関して、ユーザーにより指定されるエッジから点を抽出する。その後、法線ベクターが点においてエッジに接するようになる平面を定義する。設計意図手段８は、点においてエッジに接する法線ベクターを有する平面と、未処理３次元スキャンデータとの間の交差曲線を計算する。それぞれの交差曲線は、円弧と線とに自動的に分解される。応用プログラムは、以上で論議した定義された平面と、未処理３次元スキャンデータとの間で計算される全ての交差曲線に関する分解された交差曲線から中心弧(center arc)の半径を平均する。もし、面取りオプションが一定の値であれば、三つの半径値、即ち、最小、最大、及び平均半径がユーザーに提供される。もし、面取りオプションが変化する半径を有すれば、半径は、ユーザーが半径変化の傾向が分かるよう、新しい２次元グラフ窓に表示される。また、設計意図手段８は、２次元グラフから最も近い曲線を自動に合わせる。
【００４３】
面取り半径を計算するプロセスが図１６に示されている。面取り部を有する一領域の部分６５０が選択される。この部分に曲線が描かれて、平面６６２、６６４、６６６、６６８、６７０が曲線に垂直に生成される。曲線は、面取り部周辺の幾つかの点を選択することにより、補間法(interpolation)から生成される。ユーザーは、曲線を選択して、(図示したように)曲線に対して同一に分布される分割区域の数を指定することができ、また、ユーザーは、面取り半径を調査するために、曲線に沿った個別的な点を選択することができる。図１６において、５個の抽出区域が、均一ではない面取り部に対する面取りプロファイルを決定するために調査される。面取り部に対して結果的に選択される半径は、全ての面取り測定値の平均値、最大値、または最小値であり、あるいは、均一ではない面取り半径の場合は、(グラフ６８０に示されたように、)後続の補間法が、変化する半径の面取り部(varying radius fillet)に対して使用される。
【００４４】
また、本発明は、一つ以上の媒介物上にまたは内に収録される一つ以上のコンピューター用プログラムとして提供できる。媒介物は、フロッピー（登録商標）ディスク、ハードディスク、コンパクトディスク、ＤＶＤ(Digital Versatile Disk)、フラッシュメモリカード、ＰＲＯＭ、ＲＡＭ、ＲＯＭ、または磁気テープなどである。一般に、コンピューター用プログラムは、いかなるプログラミング言語でも行うことができる。使用可能な言語の例は、ＦＯＲＴＲＡＮ、Ｃ、Ｃ＋＋、Ｃ＃、またはＪＡＶＡ（登録商標）を含む。ソフトウェアプログラムは、目的コード(object code)として、一つ以上の媒介物上にまたは内に蓄積され得る。ＦＰＧＡまたはＡＳＩＣ上で、ハードウェア加速が使用され得て、コードの全てまたは一部が駆動され得る。コードは、仮想マシン(virtual machine)のような仮想の環境で駆動され得る。コードを駆動する多数の仮想マシンは、一つの処理装置に常駐し得る。
発明の効果
【００４５】
以上のように、３次元スキャンデータを使用して本来の設計意図を確認するためのシステム及び方法を提供することにより、本発明は、ユーザーが未処理３次元スキャンデータから立体及び面モデリング媒介変数(solid and surface modeling parameters)をプログラムにより抽出して、操作できるようにし、本来の設計意図を確認することができるようにする効果が得られる。
【００４６】
本発明の範囲を逸脱することなく変更を加えることができるため、以上の説明に含まれるか、添付図面に示された全ての内容は、例示的に解釈されて、文言的に解釈されてはいけない。図面に示された構造と連続する段階は、本発明の範囲を逸脱することなく変更を加えることができ、ここに含まれた例示は、本発明の多数の可能な説明の一例に過ぎないことは、当業者にとって明らかである。
【図面の簡単な説明】
【００４７】
【図１】本発明の具体的な実施例を行うのに適合した環境を示した図である。
【図２】未処理３次元スキャンデータを使用して、本来の設計意図を確認するための本発明の実施例により進行される連続する段階を示した流れ図である。
【図３ａ】突出方向(extrusion direction)を計算するためのメッシュ領域(mesh region)の選択を示した図である。
【図３ｂ】図３ａで選択されたメッシュ領域に対する計算された突出ベクター(vector)を示した図である。
【図４ａ】リボルビング中心(revolving center)を計算するためのメッシュ領域の選択を示した図である。
【図４ｂ】図４ａで選択されたメッシュ領域に対するリボルビング中心を表現する計算されたベクターを示した図である。
【図４ｃ】多数の選択されたメッシュ領域に対する計算されたリボルビング中心を示した図である。
【図５ａ】突出プロファイル(profile)を計算するためのメッシュ領域の選択を示した図である。
【図５ｂ】図５ａで選択されたメッシュ領域に対する突出プロファイルを表現する計算されたポリライン(poly-line)を示した図である。
【図６ａ】リボルビングプロファイルを計算するためのメッシュ領域の選択を示した図である。
【図６ｂ】図６ａで選択されたメッシュ領域に対するリボルビングプロファイルを表現する計算されたポリラインを示した図である。
【図７ａ】ミラーリング平面(mirroring plane)を計算するためのメッシュ領域の選択を示した図である。
【図７ｂ】図７ａで選択されたメッシュ領域に対するミラーリング平面を表現する計算された平面を示した図である。
【図８ａ】スウィーピング経路曲線(sweeping path curve)を計算するための三つのメッシュ領域の選択を示した図である。
【図８ｂ】図８ａで選択されたメッシュ領域に対するスウィーピング経路曲線を表現する計算されたポリラインを示した図である。
【図９ａ】湾曲されたパイプの中心線を計算するためのメッシュ領域の選択を示した図である。
【図９ｂ】図９ａで選択されたメッシュ領域に対する湾曲されたパイプの中心線を表現する計算されたポリラインを示した図である。
【図９ｃ】湾曲されたパイプに対する中心線を決定するために使用される中間軸(medial axis)と最大限の適合した球(maximal fitting sphere)を示した図である。
【図９ｄ】最小スパニングツリー(Minimum Spanning Tree:以下、MST)、及び連続するＭＳＴ点を連結するポリラインを示した図である。
【図９ｅ】最小スパニングツリー(Minimum Spanning Tree:以下、MST)、及び連続するＭＳＴ点を連結するポリラインを示した図である。
【図１０】分割方向(parting direction)意図を把握する過程において、アンダーカット(undercutting)の最小化を示した図である。
【図１１ａ】不正確なＣＡＤ立体(solid)を生じさせる粗悪なメッシュを示した図である。
【図１１ｂ】図１１ａの粗悪なメッシュに使用される粗雑なデータを示した図である。
【図１１ｃ】メッシュ編集後のメッシュを示した図である。
【図１１ｄ】多数のセットのデータを結合した後のメッシュを示した図である。
【図１１ｅ】再生成されたＣＡＤ立体を示した図である。
【図１２ａ】リボルビング角度の計算を示した図である。
【図１２ｂ】リボルビング角度の計算を示した図である。
【図１３】本発明による突出距離の計算を示した図である。
【図１４】本発明による抜き勾配(drafting angle)の計算を示した図である。
【図１５ａ】局部表面法線(local surface normal)の計算を示した図である。
【図１５ｂ】メッシュの外側から生成される立体を示した図である。
【図１５ｃ】図１５ｂの立体の断面を示した図である。
【図１５ｄ】本発明により行われるくり抜き(hollowing)作業以後の図１５ｂの立体を示した図である。
【図１６ａ】本発明の面取り(filleting)作業を示した図である。
【図１６ｂ】本発明の面取り(filleting)作業を示した図である。
【図１】
2007305133.tif 000003
【図２】
2007305133.tif 000004
【図３ａ】
2007305133.tif 000005
【図３ｂ】
2007305133.tif 000006
【図４ａ】
2007305133.tif 000007
【図４ｂ】
2007305133.tif 000008
【図４ｃ】
2007305133.tif 000009
【図５ａ】
2007305133.tif 000010
【図５ｂ】
2007305133.tif 000011
【図６ａ】
2007305133.tif 000012
【図６ｂ】
2007305133.tif 000013
【図７ａ】
2007305133.tif 000014
【図７ｂ】
2007305133.tif 000015
【図８ａ】
2007305133.tif 000016
【図８ｂ】
2007305133.tif 000017
【図９ａ】
2007305133.tif 000018
【図９ｂ】
2007305133.tif 000019
【図９ｃ】
2007305133.tif 000020
【図９ｄ】
2007305133.tif 000021
【図９ｅ】
2007305133.tif 000022
【図１０】
2007305133.tif 000023
【図１１ａ】
2007305133.tif 000024
【図１１ｂ】
2007305133.tif 000025
【図１１ｃ】
2007305133.tif 000026
【図１１ｄ】
2007305133.tif 000027
【図１１ｅ】
2007305133.tif 000028
【図１２ａ】
2007305133.tif 000029
【図１２ｂ】
2007305133.tif 000030
【図１３】
2007305133.tif 000031
【図１４】
2007305133.tif 000032
【図１５ａ】
2007305133.tif 000033
【図１５ｂ】
2007305133.tif 000034
【図１５ｃ】
2007305133.tif 000035
【図１５ｄ】
2007305133.tif 000036
【図１６ａ】
2007305133.tif 000037
【図１６ｂ】
2007305133.tif 000038