(57)【要約】      （修正有）【課題】メッシュデータを一つのフィーチャに利用し、最初の製品設計者が3次元CADプログラムで製品を設計した過程によってリバースモデリングを行う。【解決手段】任意のメッシュデータを検出してフィーチャに設定し、上記設定されたメッシュデータの基準座標系を設定する段階、上記設定されたメッシュデータ・スケッチの下図が投影される作業平面を設定する段階、上記メッシュデータの断面データをスケッチ作成用作業平面に投影する段階、上記スケッチ作成用作業平面に投影されたデータを曲率分布によって特徴的なセグメントに区分し、上記区分されたセグメントをスケッチデータに作成する段階、及び上記スケッチデータから上記メッシュデータの形状による3次元フィーチャを作成する段階を含む。【選択図】図２
2007328759.tif 000002
【特許請求の範囲】
【請求項１】
メッシュデータをフィーチャに利用し、最初設計者の設計過程によってリバースエンジニアリングする方法であって、
a)任意のメッシュデータを検出してフィーチャと設定し、上記設定されたメッシュデータの基準座標系を設定する段階；
b)上記設定されたメッシュデータ・スケッチの下図が投影できる作業平面を設定する段階；
c)上記メッシュデータの断面データをスケッチ作成用作業平面に投影する段階；
d)上記スケッチ作成用作業平面に投影されたデータを曲率分布によって特徴的なセグメントに区分し、上記区分されたセグメントをスケッチデータに作成する段階；及び
e)上記スケッチデータから上記メッシュデータの形状による3次元フィーチャを作成し、上記作成された3次元フィーチャをモデルデータに保存する段階を含み、上記作成されたスケッチデータ及び3次元フィーチャはパラメータ化された連結によるものであるを特徴とするメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項２】
ユーザーから上記メッシュデータの特徴領域への曲面作成が追加される場合、上記ユーザーから設定される上記メッシュデータの曲面作成領域をフィーチャに追加し、曲面を作成する段階；及び
上記作成された曲面と段階eで作成された上記3次元フィーチャをカット、トリム及び合成の中で少なくとも一つを行ってモデルデータを作成し、上記作成されたモデルデータを保存する段階を更に含むことを特徴とする請求項１に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項３】
段階aの基準座標系はユーザーから入力される座標情報に基づいて上記メッシュデータの座標系を設定するか、上記メッシュデータの曲率分布及び上記曲率分布による幾何形状に基づいて座標系を設定することを特徴とする請求項１または２に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項４】
段階eの3次元フィーチャは押し出し、フィレット、隅切り、回転、ドラフト、ミラー、パターン、ブーリアン、スイープ、メイト、描画の中で少なくとも一つのソリッドモデリング作業で作成することを特徴とする請求項１または２に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項５】
上記任意のメッシュデータと類似な形状のメッシュデータが入力された場合、上記類似な形状のメッシュデータは段階aで設定された任意のメッシュデータの座標軸と同じく一致させ、上記任意のメッシュデータを設計した過程と同じく再計算されるようにすることを特徴とする請求項１または２に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項６】
段階dで区分された上記セグメントは直線、円、円弧、自由曲線、直方形及び多角形、スロットの何れか一つであることを特徴とする請求項１または２に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項７】
上記セグメントは各セグメント間の連結による拘束条件及び数値情報が設定されるようにして、パラメータ化された相互連結によるものであるを特徴とする請求項６に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項８】
上記拘束条件及び数値情報は上記2次元投影断面データの曲線、円、円弧、自由曲線、直方形及び多角形、スロットを含む特徴セグメントからフィットされるか、またはユーザーが設定した上記特徴セグメント間の垂直、水平、平行、傾斜、接合、固定、一致、同一直線、同心、同一半径及び同一距離の少なくとも何れか一つを設定するための条件であることを特徴とする請求項７に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項９】
上記セグメントは、各セグメント間の内部公差によって自動設定されるか、またはユーザーから入力されるデータによって受動設定、または修正されるようにすることを特徴とする請求項７に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。 
【請求項１０】
上記セグメントに区分されたメッシュデータに変更が発生した場合、上記変更が発生したメッシュデータのセグメント、上記変更が発生したセグメント、パラメータ化された連結による他のセグメントを自動再計算することを特徴とする請求項６に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項１１】
上記自動再計算された最終結果は自動アップデートされることを特徴とする請求項10に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項１２】
メッシュデータをフィーチャに利用し、最初設計者の設計過程によってリバースエンジニアリングする方法であって、
i)任意のメッシュデータを検出してフィーチャに設定し、上記設定されたメッシュデータの基準座標系を設定する段階；
ii)上記メッシュデータの曲率分布と上記曲率分布に基づき、幾何情報を分類して上記分類された幾何情報によって特徴領域に区分する段階；
iii)上記特徴領域に区分されたメッシュデータ・スケッチの下図が投影される作業平面を設定する段階；
iv)上記メッシュデータの断面データをスケッチ作成用作業平面に投影することで、上記スケッチ作成用作業平面に投影されたデータを曲率分布によって特徴的なセグメントに区分し、スケッチデータに作成する段階；及び
v)上記スケッチデータと段階 ii で区分された上記メッシュデータの特徴領域に基づいて、メッシュデータの形状が反映された3次元フィーチャを作成する段階を含み、
上記作成されたスケッチデータ及び3次元フィーチャはパラメータ化された連結によるものであることを特徴とするメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項１３】
ユーザーから上記メッシュデータの曲面作成が追加された場合、上記ユーザーから設定される上記メッシュデータの曲面作成領域をフィーチャに追加して曲面を作成する段階；及び
上記作成された曲面と段階 v で作成された上記3次元フィーチャをカット、トリム及び合成の中で少なくとも一つを行ってモデルデータを作成し、上記作成されたモデルデータを保存する段階を更に含むことを特徴とする請求項12に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項１４】
段階iの基準座標系はユーザーから入力される座標情報に基づき、上記メッシュデータの座標系を設定するか、上記メッシュデータの曲率分布及び上記曲率分布による幾何形状に基づいて座標系を設定することを特徴とする請求項12または13に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項１５】
段階iiで区分された上記の特徴領域はユーザーの分類設定要請によって再分類ができることを特徴とする請求項12または13に記載のメッシュデータをフィーチャーに利用したリバースエンジニアリングの方法。
【請求項１６】
段階iiで区分された上記特徴領域は曲率分布によって互いに異なる色が付加された幾何情報で表示されるようにすることを特徴とする請求項12または13に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項１７】
段階vで上記メッシュデータの形状が反映された3次元フィーチャは上記特徴領域を構成する点群の警戒まで作成されるようにすることを特徴とする請求項12または13に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項１８】
上記セグメントは直線、円、円弧、自由曲線、直方体及び多角形、スロットの何れか一つであり、上記セグメントは各セグメント間の連結による拘束条件及び数値情報が設定されるようにして、パラメータ化された相互連結によるものであることを特徴とする請求項12または13に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項１９】
上記セグメントに区分されたメッシュデータに変形が発生した場合、上記変形が発生したメッシュデータのセグメントと、上記変形が発生したセグメントとパラメータ化された連結による他のセグメントとを自動再計算することを特徴とする請求項17に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【請求項２０】
上記任意のメッシュデータと類似な形状のメッシュデータが入力された場合、上記類似な形状のメッシュデータは段階iで設定された上記任意のメッシュデータの座標軸と同じく一致させ、上記任意のメッシュデータの設計過程と同じく再計算されるようにすることを特徴とする請求項12または13に記載のメッシュデータをフィーチャに利用したリバースエンジニアリングの方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメッシュデータをフィーチャに利用したリバースエンジニアリングに関するもので、より詳細にはメッシュデータを一つのフィーチャに利用し、最初の製品設計者が3次元CADプログラムで製品を設計した過程によってリバースモデリングを行うメッシュデータをフィーチャに利用したリバースエンジニアリングの方法に関するものである。
【背景技術】
【０００２】
一般的にCAD/CAM/CAEを活用するデジタル生産システムの運営において、部品の3次元CADデータのようなデジタルデータは欠かせないものである。特に手作業で製作した製品や古くなって設計データのない製品、ライバル製品などが典型的にリバースエンジニアリングの技術を用いた複製作業の代表的な活用分野である。
【０００３】
このような複製作業プロセスを従来の作業体制と統合・運営するためには、リバースエンジニアリングされたモデルデータがCADシステムで再活用されるように支援され、即時量産が可能な品質を保証する必要がある。
【０００４】
しかし実際の製造現場で活用できる品質を保証するリバースエンジニアリングデータの獲得というのは決して簡単な作業ではない。
【０００５】
また実際の部品や製品のスキャン作業で獲得したデータは生産過程の中で設計されたCADモデルに比べ、ある程度の誤差を持っている。またスキャン作業中に周辺環境やスキャナー自体の誤差率によってデータが変化されることもある。
【０００６】
そのため、スキャンデータから3次元CADのようなソリッドモデルデータを作成するのは非常に難しいことであり、場合によってはソリッドモデルの作成が不可能という問題点がある。
【０００７】
また試作品モデルをスキャンしてコンピュータ上でシミュレートし、物理的に架空した後再び手作業で変更する作業を継続的に繰り返す場合、変更作業を行う過程で試作品モデルの形状情報が変更される問題点があり、設計されたCADモデルと実際の試作品モデルの間に差が発生することになる問題点がある。
【０００８】
また上記スキャンデータ又はモデルデータから曲面フィットなどの方法で検出したモデルデータはパラメータ化された連結によるものではないため、ユーザーが新しい数値情報を入力するか、間違ったモデルデータを修正しても、上記特定部分のみ修正されて上記特定部分と連結された他の部分は修正されない問題点がある。
【０００９】
また曲線(Curve)に基づいたパッチ(Patch)の作成法は曲線ネットワークの形成を簡単にするだけではなく、曲面作業において必ず必要な作業で、曲線の抽出は曲線を自動作成する機能でモデルの曲線ネットワーク作業にかかる多くの時間を短縮できる利点があるが、ユーザーがそれぞれのすべての曲線をネットワーク曲線に指定して作成しなければならないという問題点がある。
【００１０】
またメッシュ上に曲線ネットワークを描く必要があり、このような作業はユーザーの意図通り曲線ネットワークを構成できるが、多くの時間とノウハウが必要であり、パラメータ化されていないので再設計や修正作業が容易ではない問題点がある。
【００１１】
また自動曲面パッチ(Automatic surface patch)はメッシュデータの外部表面だけを検出し、正確な形状情報を獲得できる利点があるが、作成された曲面の修正が難しい問題点があり、多すぎるパッチが発生して曲面品質の調節が難しい問題点がある。
【００１２】
また曲線ネットワークを自動作成する利便性はあるが、曲線の変更が非常に難しいので再設計作業に多くの時間と努力が必要になり、パラメータ化されていないので再設計や修正作業が容易ではない問題点がある。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
上記問題点を解決するために、本発明は任意のメッシュデータを一つのフィーチャに利用し、最初の製品設計者が3次元CADプログラムで製品を設計した過程によってリバースモデリングを行うメッシュデータをフィーチャに利用したリバースエンジニアリングの方法を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために本発明はメッシュデータをフィーチャに利用し、最初設計者の設計過程によってリバースエンジニアリングする方法であって、 a)任意のメッシュデータを検出してフィーチャに設定し、上記設定されたメッシュデータの基準座標系を設定する段階；  b)上記設定されたメッシュデータ・スケッチの下図が投影される作業平面を設定する段階；  c)上記メッシュデータの断面データをスケッチ作成用作業平面に投影する段階；  d)上記スケッチ作成用作業平面に投影されたデータを曲率分布によって特徴的なセグメントに区分し、上記区分されたセグメントをスケッチデータに作成する段階；  及びe）上記スケッチデータから上記メッシュデータの形状による3次元フィーチャを作成する段階を含め、上記作成されたスケッチデータ及び3次元フィーチャはパラメータ化された連結によるものであるを特徴とする。
【００１５】
また本発明はユーザーから上記メッシュデータの曲面作成が追加される場合、上記ユーザーから設定される上記メッシュデータの曲面作成領域をフィーチャに追加して曲面を作成する段階；  及び上記作成された曲面と段階eで作成された上記3次元フィーチャをカット、トリム及び合成の中で少なくとも一つを行ってモデルデータを作成し、上記作成されたモデルデータを保存する段階を更に含むことを特徴とする。
【００１６】
また段階aの基準座標系はユーザーから入力される座標情報に基づいて上記メッシュデータの座標系を設定するか、上記メッシュデータの曲率分布及び上記曲率分布による幾何形状に基づいて座標系を設定することを特徴とする。
【００１７】
また段階eの3次元フィーチャは押し出し、フィレット、隅切り、回転、ドラフト、ミラー、パターン、ブーリアン、スイープ、メイト、描画の中で少なくとも一つのソリッドモデリングで作成することを特徴とする。
【００１８】
また上記任意のメッシュデータと類似な形状のメッシュデータが入力された場合、上記類似な形状のメッシュデータは段階aで設定された任意のメッシュデータの座標軸と同じく一致させ、上記任意のメッシュデータを設計した過程と同じく再計算されるようにすることを特徴とする。
【００１９】
また段階ｄで区分された上記セグメントは直線、円、円弧、自由曲線、矩形及び多角形、スロットの何れか一つであり、好ましくは、上記セグメントは各セグメント間の連結による拘束条件及び数値情報が設定されるようにして、パラメータ化された相互連結によるものであることを特徴とする。
【００２０】
また上記拘束条件及び数値情報は上記2次元投影断面データの直線、円、円弧、自由曲線、矩形及び多角形、スロットを含む特徴セグメントからフィットされるか、またはユーザーの設定した上記特徴セグメント間の垂直、水平、平行、傾斜、接合、固定、一致、同一直線、同心、同一半径及び同一距離の少なくとも何れか一つを設定するための条件であることを特徴とする。
【００２１】
また上記セグメントは各セグメント間の内部公差によって自動設定されるか、またはユーザーから入力されるデータによって受動設定または修正されるようにすることを特徴とする。
【００２２】
また上記セグメントに区分されたメッシュデータに変更が発生した場合、上記変更が発生したメッシュデータのセグメント、上記変更が発生したセグメント、パラメータ化された連結による他のセグメントを自動再計算することを特徴とする。
【００２３】
また上記自動再計算された最終結果は自動アップデートされることを特徴とする。
【００２４】
また本発明はメッシュデータをフィーチャに利用し、最初設計者の設計過程によってリバースエンジニアリングする方法であって、 i)  任意のメッシュデータを検出してフィーチャに設定し、上記設定されたメッシュデータの基準座標系を設定する段階； ii)  上記メッシュデータの曲率分布と上記曲率分布に基づいて幾何情報を分類し、上記分類された幾何情報によって特徴領域に区分する段階； iii)  上記特徴領域に区分されたメッシュデータ・スケッチの下図が投影される作業平面を設定する段階； iv)  上記メッシュデータの断面データをスケッチ作成用作業平面に投影し、上記スケッチ作成用作業平面に投影されたデータを曲率分布によって特徴セグメントに区分し、スケッチデータに作成する段階；  及び v)  上記スケッチデータと段階iiで区分された上記メッシュデータの特徴領域に基づいてメッシュデータの形状が反映された3次元フィーチャを作成する段階を含み、上記作成されたスケッチデータ及び3次元フィーチャはパラメータ化された連結によるものであることを特徴とする。
【００２５】
また本発明はユーザーから上記メッシュデータの曲面作成が追加される場合、上記ユーザーから設定される上記メッシュデータの曲面作成領域をフィーチャに追加して曲面を作成する段階；  及び上記作成された曲面と段階ｖで作成された上記3次元フィーチャをカット、トリム及び合成の中で少なくとも一つを行ってモデルデータを作成し、上記作成されたモデルデータを保存する段階も含めることを特徴とする。
【００２６】
また段階iの基準座標系はユーザーから入力される座標情報に基づいて上記メッシュデータの座標系を設定するか、上記メッシュデータの曲率分布及び上記曲率分布による幾何形状に基づいて座標系を設定することを特徴とする。
【００２７】
また段階iiで区分された上記特徴領域はユーザーの分類設定要請による再分類が可能なことを特徴とする。
【００２８】
また段階iiで区分された上記特徴領域は曲率分布によって互いに異なる色が付加された幾何情報で表示されるようにすることを特徴とする。
【００２９】
また段階ｖで上記メッシュデータの形状が反映された3次元フィーチャは上記特徴領域を構成する点の警戒まで作成されるようにすることを特徴とする。
【００３０】
また上記セグメントは直線、円、円弧、自由曲線、矩形及び多角形、スロットの何れか一つであり、上記セグメントは各セグメント間の連結による拘束条件及び数値情報が設定されるようにして、パラメータ化された相互連結によるものであることを特徴とする。
【００３１】
また上記セグメントに区分されたメッシュデータに変形が発生した場合、上記変形が発生したメッシュデータのセグメント、上記変形が発生したセグメントとパラメータ化された連結による他のセグメントとを自動再計算することを特徴とする。
【００３２】
また上記任意のメッシュデータと類似な形状のメッシュデータが入力された場合、上記類似な形状のメッシュデータは段階iで設定された上記任意のメッシュデータの座標軸と同じく一致させ、上記任意のメッシュデータの設計過程と同じく再計算されるようにすることを特徴とする。
【発明を実施するための最良の形態】
【００３３】
以下、添付された図面を参照して本発明の望ましい実施例を説明すると、次のようである。
【００３４】
図1は本発明によるメッシュデータをフィーチャに利用したリバースエンジニアリングシステムの構成を示したブロック図である。図1でリバースモデリングのための対象物の検出はモデリング対象物を測定するためのスキャナー(10)とモデリングシステムの全般的な制御とモデリングを行うリバースエンジニアリングの制御部(20)、スキャナー(10)から検出したスキャンデータまたは上記スキャンデータを変形したメッシュデータ(以下メッシュデータという)をユーザーが確認できるように出力するディスプレイ部(30)、ユーザーから入力される設定用データを検出するユーザー入力部(40)、上記メッシュデータから検出したリバースエンジニアリングデータを保存するデータ保存部(50)を含む。
【００３５】
スキャナー(10)はリバースエンジニアリング対象物を測定してスキャンデータを獲得する構成で、好ましくは3次元スキャナーである。
【００３６】
しかし、本発明でリバースモデリング対象物はスキャナー(10)から検出した点群データやスキャンデータ、上記スキャンデータを変形して作成したメッシュデータ、一般CADデータ及び曲面を含めたCADデータ、コンピュータなどの外部装置からグラフィックで線分を連結し、多様な方法で作成したポリライン(Polyline)などを含む。
【００３７】
リバースエンジニアリングの制御部(20)は任意のメッシュデータ又は点群(Point Cloud)データ(以下メッシュデータという)を分析し、ユーザー入力部(40)から入力される基準座標系の情報によって上記入力されたメッシュデータのX軸、Y軸及びZ軸を設定して上記メッシュデータを一つのフィーチャ(Feature)に認識されるようにする。
【００３８】
つまり、メッシュデータを一つのフィーチャとして認識するため、メッシュデータから作成されたすべてのフィーチャは影響を受け、メッシュフィーチャに修正が発生すると全体的なリバースエンジニアリング過程の再計算(Rebuild)が行われ、最終のリバースエンジニアリングモデルが自動アップデートされるパラメータ化機能を持つことになる。
【００３９】
また、任意のメッシュデータについて基準座標系を自動設定することができる。つまりリバースエンジニアリングの制御部(20)が上記メッシュデータの曲率分布を分析して一定の曲率分布が検出された領域を区分することで、上記区分された領域から面と軸の情報を抽出し、抽出された上記面と軸の情報から最適の座標系を探すことができる。
【００４０】
また、リバースエンジニアリングの制御部(20)は上記設定されたメッシュデータ・スケッチの下図になる断面にスケッチ作成用作業平面が位置されるようにし、上記メッシュデータの断面データがスケッチ作成用作業平面に投影されるようにする。
【００４１】
ここで、リバースエンジニアリングの制御部(20)は上記スケッチ作成用作業平面に投影されたデータを曲率分布によって分析し、上記分析された結果によって、例えば直線や円、円弧、自由曲線、矩形、及び多角形、スロットなどのセグメント(Segment)を区分し、上記セグメントの座標系情報や数値情報などを検出する。
【００４２】
ここで、曲率は弧の長さでパラメータ化された曲線方向の変化率で、上記スケッチ作成用作業平面に投影されたメッシュの2次元断面データの曲率分布で直線や円、円弧、自由曲線、矩形及び多角形、スロットなどの2次元投影断面データを表示する。
【００４３】
また、上記検出されたセグメントの数値情報をパラメータとして上記セグメントの連結関係をパラメータで設定し、上記設定されたセグメント及び数値情報がディスプレイ部(30)に表示されるようにする。
【００４４】
ディスプレイ部(30)は上記メッシュデータとリバースエンジニアリングの制御部(20)から自動設定された基準座標またはユーザー入力部(40)から入力されるX軸、Y軸及びZ軸方向の情報、リバースエンジニアリングの制御部(20)から作成されるスケッチ作成用作業平面、上記スケッチ作成用作業平面に投影された断面データ、上記投影された断面データに基づいて作成したスケッチ要素と上記スケッチ要素から作成される3次元ソリッドモデリングフィーチャが表示されるようにする。本実施例では3次元モデリングフィーチャとして押し出しフィーチャ(Extrude Feature)が表示されるようにしたが、上記3次元モデリングフィーチャはカット(Cutting)、トリム(Trim)及び合成(Merge)の中で少なくとも一つを行ってモデリングデータを作成する。
【００４５】
ユーザー入力部(40)はキーボードやマウスなどの入力手段で、ディスプレイ部(30)に表示されるメッシュデータに基準座標系を設定するための設定情報、上記メッシュデータの数値情報の入力及び修正、押し出しフィーチャの作成のための各種情報を入力する構成である。
【００４６】
データ保存部(50)は上記メッシュデータの保存やリバースエンジニアリングの制御部(20)から作成される押し出しフィーチャ、つまり3次元リバースエンジニアリングのデータなどを保存する。
【００４７】
図2は本発明によるメッシュデータをフィーチャに利用したリバースエンジニアリングの過程を示したフロー図で、図1及び図2を参照してメッシュデータをフィーチャに利用したリバースエンジニアリングの方法を説明すると次のようである。
【００４８】
メッシュデータのリバースエンジニアリングを行うリバースエンジニアリングの制御部(20)が上記メッシュデータをスキャナー(10)または外部装置(例えばコンピュータシステム)で検出し、上記検出された任意のメッシュデータに座標設定のために、リバースエンジニアリングの制御部(20)が上記メッシュデータの曲率分布を分析して一定の曲率分布が検出された領域を区分することで、区分された領域に基づいて基準座標を自動設定するか、ユーザー入力部(40)から入力される座標系の設定情報によってメッシュデータのX軸、Y軸及びZ軸の基準座標系を設定し、上記設定されたメッシュデータを一つのフィーチャとして認識(S100)する。
【００４９】
つまり、図3のように任意のメッシュデータ(100)または点群(Point Cloud)データを導入して基準座標系を設定し、上記設定されたメッシュデータ(100)を一つのフィーチャとして登録する。
【００５０】
このとき、基準座標系の設定は上記メッシュデータの曲率分布を分析し、一定の曲率分布が検出された領域を区分することで、上記区分された領域から面と軸の情報を抽出し、抽出された上記面と軸の情報から最適の座標系を探すことができる。
【００５１】
また、一般的な方法で基準になる3面、例えばX-Y平面、Y-Z平面及びZ-X平面を設定し、上記各面が交差する位置に局部座標系(Local coordinate system)を作成して、上記作成された局部座標系をグローバル座標系に一致させる方法がある。
【００５２】
また、基準座標軸を設定する他の方法としてリバースエンジニアリング対象物のCADデータがある場合、上記CADデータの曲面とモデルデータの点群間距離を最小限にする方法、上記CADデータに予め定義されている基準点とこれに該当するメッシュデータ上の点群を探し、この点群との距離が最小限になれるようにする方法がある。
【００５３】
また、メッシュデータ(100)を編集する場合、図4に示したように、ユーザー入力部(40)でツリーのメニュー(200)を選択してユーザーの設定部分(例えば不明確な点群、メッシュ領域など)をユーザーが追加や削除などの編集で修正することもできる。
【００５４】
上記S100段階を行った後、リバースエンジニアリングの制御部(20)は図5に示したように、設定されたメッシュデータ(100)スケッチの下図になる断面にスケッチ作成用作業平面(110)が位置されるようにする(S110)。
【００５５】
つまり、リバースエンジニアリングの対象物を最初設計した設計者がリバースエンジニアリング対象物をモデリングする過程と同じく2次元スケッチデータが作成される作業平面(110)を設定し、上記スケッチデータの下図になる断面の位置を設定する。
【００５６】
このとき、上記スケッチデータの下図になる断面の位置はスケッチ作成用作業平面(110)がメッシュデータ(100)によって移動されるようにし、スケッチ作成用作業平面(110)にリアルタイムで表示されるメッシュデータ(100)の断面形状をユーザーが見ながら上記スケッチデータの下図になる最適の断面位置を設定することになる。
【００５７】
上記S110段階を行った後、リバースエンジニアリングの制御部(20)はメッシュデータ(100)の断面データをスケッチ作成用作業平面(110)に投影し(S120)、スケッチ作成用作業平面(110)に投影されたデータを曲率分布によって特徴セグメントに区分(S130)する。
【００５８】
図6のようにユーザーが指定した位置からメッシュの断面データをスケッチ作業平面上に投影し、上記スケッチ作成用作業平面上に投影されたデータは曲率分布によって直線や円、円弧、自由曲線、矩形及び多角形、スロットなどのセグメントに区分される。
【００５９】
つまり、リバースエンジニアリングの制御部(20)でスケッチ作成用作業平面(110)に投影された断面データの曲率分布を分析した結果、平面曲線の曲率が分析された第1セグメント(300)と第4セグメント(330)は直線に区分し、円の曲率が分析された第2セグメント(310)は円に区分する。また円弧の曲率が分析された第2セグメント(320)は円弧に区分し、第1または第4セグメント(300または330)を表示する。
【００６０】
このようなセグメントはパラメータ化された連結によるもので、セグメントと区分されたメッシュデータに変形が発生した場合、上記変形が発生されたメッシュデータのセグメントと上記変更が発生されたセグメント、そしてパラメータ化された連結による他のセグメントは自動再計算されるようにし、上記自動再計算された最終結果はアップデートされる。
【００６１】
つまり、スケッチ要素である各セグメントの間の垂直や水平、平行、タンゼントなどを維持した状態で各セグメントの寸法(Dimension)情報を探して再計算し、その結果を保存する。
【００６２】
一方、上記セグメントはリバースエンジニアリングの制御部(20)で曲率分布を分析するための公知技術で自動区分され、上記区分されたセグメントはユーザーの選択によって受動で再び設定することもできる。
【００６３】
上記S130段階を行った後、リバースエンジニアリングの制御部(20)は上記区分された各セグメントをスケッチデータに作成する(S140)。
【００６４】
図7のように自動区分されたメッシュの断面データは第1スケッチ要素(400)及び第2スケッチ要素(410)のような自動変換も、第1セグメント(300)及び第3セグメント(320)のようにユーザーが指定したスケッチ要素の受動変換もできるようにする。
【００６５】
このように、ユーザーの指定したスケッチ要素を受動に再設定するのは、スケッチ作成用作業平面(110)上の自動区分で作成したセグメントの場合、実際の設計者の意図とは異なって基準座標系から少しずつ離れた位置に予め設定された拘束条件(例えば投影された断面データのセグメント間垂直や水平、平行、傾斜、接合、固定、一致、同一直線、同心、同一半径及び同一距離など)なしに作成されるためである。
【００６６】
つまり、上記投影された断面データの各セグメント間終点は互いに離れることになり、長さや半径などの値は設計数値から少しずつ誤差を持つことになる。これは内部公差によって終点をリバースエンジニアリングの制御部(20)で自動連結するか、ユーザーが受動連結し、数値と拘束条件によって自動及び受動設定ができるようにする。
【００６７】
また、受動設定時には投影された断面データの終点又は警戒辺りでマウスのカーソルを自動固定するスナップ(Snapping)機能で、ユーザーが指定するセグメントが正確に選択されて上記終点に固定されるようにする。
【００６８】
その後、ユーザーが固定された点から新たに設定される他のセグメントの終点にマウスのカーソルを移動させると、スナップでマウスのカーソルが連結対象のセグメントの終点に固定され、ユーザーによって新たなスケッチ要素が設定されるようにする。
【００６９】
また終点からの傾斜方向がリバースエンジニアリングの制御部(20)で予め設定した角度以内に入る場合、自動に接するように傾斜を設定することも可能で、角度、長さ、半径なども四捨五入や切り捨てなどの基準によって設定することも可能である。
【００７０】
これは従来の2次元スケッチデータを作成するために数値概念のない2次元イメージを呼び込んで作業するか、実物の各種数値を直接測定して作業を進行する問題点が改善されるようにしたのである。
【００７１】
従って、自動及び受動に変換されたスケッチ要素によって図8のようなスケッチデータが作成され、このとき第3スケッチ要素(420)のような各種数値が自動獲得される。
【００７２】
上記S140段階を行った後、リバースエンジニアリングの制御部(20)は完成されたスケッチデータからメッシュデータの形状による3次元フィーチャを作成し、3次元モデリングフィーチャを作成(S150)する。
【００７３】
つまり、図9のように多数のスケッチ要素(400または430)に変換されたスケッチデータを基準にして上下方向に押し出し(Extrude)を行うことで、2次元スケッチ要素に3次元押し出しフィーチャを追加し、リバースエンジニアリング対象物を設計した最初設計者と同じ方法でモデリングを行うことになる。ここで3次元フィーチャは押し出し、フィレット、隅切り、回転、ドラフト、ミラー、パターン、ブーリアン、スイープ、メイト、描画などを含む。
【００７４】
一方、リバースエンジニアリングのためのメッシュデータの形状が整形化された形状(例えば正六面体、直方体、球など)を持つ場合、上記のS150段階を行うと、モデルデータの作成ができるが、リバースエンジニアリングのためのメッシュデータの形状が非整形化された自由形状（Free form）を持つか、特徴領域の検出のためのメッシュデータが不十分な場合、ユーザーが追加する特徴領域のフィーチャでメッシュデータの特徴形状のフィーチャを追加することができる。
【００７５】
従って、リバースエンジニアリングの制御部(20)はユーザー入力部(40)からメッシュデータの曲面作成が入力されるか否かを判断(S160)し、上記S160段階の判断結果、ユーザーから曲面作成のための曲面作成領域が入力された場合、ユーザーから入力されるメッシュデータの曲面作成領域のフィットを設定して、上記設定された曲面の作成領域について曲面を作成(S170)する。
【００７６】
つまり、図10のようなモデリングデータ(700)の作成時に長方形形状の整形化された形状を持つ第1フィーチャ(710)と第1フィーチャ(710)の上部に曲面を持つ非整形化された自由形状の曲面(720)を持つことになる。
【００７７】
上記曲面(720)を設定するためにリバースエンジニアリングの制御部(20)はユーザーが設定するメッシュデータの上部曲面を特徴領域について曲面を作成するための特徴領域、つまりフィーチャ領域（Feature region）に設定する。
【００７８】
このとき、設定される特徴領域はメッシュデータの曲率分布によって自動区分され、自動区分された上記特徴領域はユーザーによって修正できる。
【００７９】
一方、曲面の作成はメッシュデータ上やユーザーの描画プログラムなどの曲面作成のための領域をループに表示して曲面を作成する。またユーザーが任意に設定したポリラインや他のメッシュデータから検出した第3特徴形状を曲面領域に設定して曲面を作成することもできる。
【００８０】
以後設定された曲面作成領域に基づき、リバースエンジニアリングの制御部(20)は自由形状の曲面を作成する。
【００８１】
上記S170段階を行った後、リバースエンジニアリングの制御部(20)は上記S150段階で作成された上記3次元フィーチャと上記S170段階で作成された曲面をカット、トリム及び合成の中で少なくとも一つを行い、一つのフィーチャで構成されたモデリングデータを作成する(S190)。
【００８２】
つまり、直方体形状を持つ第1フィーチャ(710)と上記直方形を持つ第1フィーチャ（710）の特定領域に位置した曲面(720)を一つのフィーチャに結合し、曲面(720)以外の必要のない第1フィーチャ(710)の特徴はすべてカットし、モデリングデータ(700)を作成する。
【００８３】
上記S190段階で作成されたモデリングデータ(700)はリバースエンジニアリングの制御部(20)で、上記S100段階またはS190段階のヒストリーは作成された上記モデリングデータ(700)とともにデータ保存部(50)に保存する。
【００８４】
ここで、リバースエンジニアリング過程を保存するのはリバースエンジニアリングされたメッシュデータと類似な形状のメッシュデータが入力された場合、ユーザーが上記リバースエンジニアリングの過程を再び行う不便を改善するためのことで、上記類似な形状のメッシュデータと上記リバースエンジニアリングされたメッシュデータの座標軸を一致させた後、上記リバースエンジニアリングされたメッシュデータのリバースエンジニアリングの過程と同じ過程に再計算されるようにし、上記再計算された最終結果は自動アップデートされてデータ保存部(50)に保存されるようにする。
【００８５】
(第2実施例)
図11は本発明の他の実施例によるメッシュデータをフィーチャに利用したリバースエンジニアリングの過程を示したフロー図である。
【００８６】
図1及び図11を参照すると、メッシュデータのリバースエンジニアリングを行うリバースエンジニアリングの制御部(20)が上記メッシュデータをスキャナー(10)又は外部装置(例えばコンピュータシステム)で検出し、上記検出された任意のメッシュデータに座標設定のためにリバースエンジニアリングの制御部(20)が上記メッシュデータの曲率分布を分析して一定の曲率分布が検出された領域を区分し、上記区分された領域に基づいて上記区分された面と軸の情報を抽出し、抽出された上記面と軸の情報から最適の座標系を探して基準座標を自動設定するか、ユーザー入力部(40)から入力される座標系の設定情報によってメッシュデータのX軸、Y軸及びZ軸の基準座標系を設定する。そして上記設定されたメッシュデータを一つのフィーチャとして認識(S200)する。
【００８７】
上記S200段階を行った後、リバースエンジニアリングの制御部(20)は図12のように獲得したメッシュデータ(100)の曲率分布と上記曲率分布に基づいた幾何情報を分類し(S210)、上記曲率分布によるメッシュデータを特徴領域(Region)に区分(S220)する。
【００８８】
つまり、メッシュデータ(100)の曲率分布と幾何情報による形状的な特徴を第1特徴領域又は第8特徴領域(500又は570)に区分し、区分された特徴領域はメッシュの形状的な特徴を示すことになる。
【００８９】
より詳細には、曲率分布(例えば平面や曲面など)と幾何形状(三角形状や四角形状、多角形、円、円弧など)によって四角形状の第1特徴領域(500)、上部に円弧を備えた四角形状の第2特徴領域(510)、四角形状の第3特徴領域(520)、中空の円柱形状の第7特徴領域(560)に区分され、第1特徴領域(500)と第3特徴領域の間に形成された円弧またはフィレット(Fillet)の第4特徴領域(530)、第2特徴領域(510)、第3特徴領域(520)の間に形成された第5特徴領域(540)、第1特徴領域(500)、第2特徴領域(510)の間に形成された第6特徴領域(550)、第3特徴領域(520)、第7特徴領域(560)の間に形成された第8特徴領域(570)に区分される。
【００９０】
このような特徴領域はリバースモデリング作業における必要なフィーチャを作成するために行われる様々なソリッドモデリング作業(例えば押し出しやフィレット、隅切り、回転など)が容易に行われるようにする。
【００９１】
またメッシュデータの曲率分布によって特徴領域別に差別化された色に区分され、リバースエンジニアリングの制御部(20)で自動区分するか、上記自動区分された特徴領域についてユーザー入力部(40)で入力される分類設定要請によって選択される特徴領域の同一領域又は他の領域に再分類を設定することもできる。
【００９２】
例えば、互いに異なる特徴領域に区分された第4特徴領域(530)と第6特徴領域が同じ曲率分布と幾何情報を持つ場合、ユーザーによって同じ特徴を持つ特徴領域に設定することができる。
【００９３】
上記S220段階を行った後、リバースエンジニアリングの制御部(20)は設定されたメッシュデータ・スケッチの下図の断面にスケッチ作成用作業平面が位置されるようにする(S230)。
【００９４】
上記メッシュデータの断面データが上記スケッチ作成用作業平面に投影され、スケッチ作成用作業平面に投影されたデータを曲率分布によって特徴的なセグメントに区分した後、上記区分された各セグメントをスケッチデータに作成する(S240)。
【００９５】
上記S240段階を行った後、リバースエンジニアリングの制御部(20)は上記S240段階で作成されたスケッチデータと上記S220段階で区分された上記メッシュデータの特徴領域に基づいてメッシュデータの形状が反映された3次元フィーチャを作成(S250)する。
【００９６】
図13のようにスケッチデータから3次元フィーチャを作成するとき、リバースエンジニアリングの制御部(20)は上記区分された特徴領域までだけ3次元フィーチャ、例えば押し出しフィーチャを作成する。つまり特徴領域を通じてメッシュの形状が反映されるようにしたのである。
【００９７】
一方、3次元フィーチャは押し出しやフィレット、隅切り、回転、ドラフト、ミラー、パターン、ブーリアン、スイープ、メイト、描画などで作成することもできる。
【００９８】
上記メッシュデータの形状が反映された3次元フィーチャは上記特徴領域の部分で、自動固定されるスナップで上記特徴領域を構成する点群の警戒まで作成されるようにする。
【００９９】
また、上記作成されたスケッチデータ及び3次元フィーチャはパラメータ化された連結によるもので、メッシュデータから区分されたセグメント又は特徴領域の一つの構成要素でも変更された場合、上記変更された構成要素と連結された他の構成要素も自動計算される。
【０１００】
一方、リバースエンジニアリングのためのメッシュデータの形状が整形化された形状(例えば正六面体や直方体、球など)を持った場合、上記のS250段階を行うと、モデルデータの作成が可能であるが、リバースエンジニアリングのためのメッシュデータの形状が非整形化された自由形状(Free form)を持つか、特徴領域を検出するためのメッシュデータが不十分な場合、ユーザーが追加する特徴領域のフィットでメッシュデータの形状フィーチャを追加する。
【０１０１】
リバースエンジニアリングの制御部(20)はユーザー入力部(40)からメッシュデータの形状についての曲面作成が入力されるか否かを判断(S260)し、上記S260段階の判断結果、ユーザーから曲面作成のための曲面作成領域が入力された場合、ユーザーから入力されるメッシュデータの曲面作成領域を曲面に作成(S270)する。
【０１０２】
図10を参照すると、図10のようにモデリングデータ(700)を作成する場合、直方体形状の整形化された形状を持つ第1フィーチャ(710)と第1フィーチャ(710)の上部に曲面のある非整形化された自由形状の曲面(720)を持つことになる。
【０１０３】
上記曲面(720)を設定するために、リバースエンジニアリングの制御部(20)はユーザーが設定するメッシュデータの上部曲面、曲面作成のための特徴領域、つまりフィーチャ領域(Feature region)と設定する。
【０１０４】
このときに設定される特徴領域はメッシュデータの曲率分布によって自動区分され、ユーザーが上記自動区分された特徴領域を曲面作成領域に修正することもできる。
【０１０５】
以後設定された曲面作成領域に基づいてリバースエンジニアリングの制御部(20)は自由形状の曲面を作成する。
【０１０６】
再び図1及び図11を参照すると、上記S270段階を行った後、リバースエンジニアリングの制御部(20)は上記S120段階で作成された上記3次元フィーチャと上記S270段階で作成された曲面をカット、トリム及び合成の中で少なくとも一つを行い(S280)、一つのフィーチャに構成されたモデリングデータを作成する(S290)。
【０１０７】
つまり、直方体形状を持つ第1フィーチャと上記直方体形状を持った第1フィーチャの特定領域に位置された曲面まで(Up to region)モデリングデータが作成されるようにし、モデリングデータ(700)を作成する。
【０１０８】
上記S290段階で作成されたモデリングデータ(700)は、リバースエンジニアリングの制御部(20)で上記のS200段階又はS290段階のヒストリーを上記作成されたモデリングデータ(700)とともにデータ保存部(50)に保存する。
【０１０９】
ここで、リバースエンジニアリングの過程を保存するのはリバースエンジニアリングされたメッシュデータと類似なメッシュデータが入力された場合、ユーザーが上記のリバースエンジニアリングの過程を再び行う不便を改善するためのことで、上記類似な形状のメッシュデータと上記リバースエンジニアリングされたメッシュデータの座標軸を一致させた後、上記リバースエンジニアリング作業後のメッシュデータのリバースエンジニアリングの過程と同じ過程で再計算されるようにし、上記再計算された最終結果は自動アップデートされてデータ保存部(50)に保存されるようにする。
【０１１０】
また、上記リバースエンジニアリングされたメッシュデータの曲面フィット(Fitting surface)は上記類似な形状のメッシュデータに一致させ、再計算されるようにすることもできる。
【０１１１】
上記のように、本発明はリバースエンジニアリング対象物のメッシュデータに基づいて、上記対象物の最初設計者が3次元CADプログラムで製品を設計した過程によってリバースエンジニアリングを行うことができる利点がある。
【０１１２】
また、リバースエンジニアリング対象物のメッシュデータに基づいてリバースエンジニアリング作業を行い、モデリング作業の効率性向上とモデリング作業時間の短縮というメリットがある。
【０１１３】
また、本発明はリバースモデリング過程で設定された各フィーチャが互いにパラメータ化された連結によるもので、新しい条件又は情報などの修正時に自動更新できる利点がある。
【０１１４】
また、本発明はリバースエンジニアリングモデリングの過程を保存し、リバースエンジニアリングされたメッシュデータと類似な形状のメッシュデータが入力された場合、ユーザーがリバースエンジニアリング過程を繰り返し作業なしに迅速に再計算できる利点がある。
【図面の簡単な説明】
【０１１５】
【図１】本発明によるメッシュデータをフィーチャに利用したリバースエンジニアリングのシステム構成を示したブロック図である。
【図２】本発明によるメッシュデータをフィーチャに利用したリバースエンジニアリングの過程を示したフロー図である。
【図３】本発明による任意のメッシュデータを示した例示図である。
【図４】図3のメッシュデータについてフィーチャの設定過程を示した例示図である。
【図５】図3のメッシュデータの断面輪郭をスケッチ作業平面に投影する過程を示した例示図である。
【図６】作業平面上に投影された断面輪郭を示した例示図である。
【図７】作業平面上に投影された断面輪郭の設定過程を示した例示図である。
【図８】作業平面上に投影された断面輪郭の数値情報の設定過程を示した例示図である。
【図９】完成されたスケッチデータと区分された領域から3次元フィーチャを作成する過程を示した例示図である。
【図１０】図10の3次元フィーチャの中で押し出しフィーチャを作成した例示図である。
【図１１】本発明の他の実施例によるメッシュデータをフィーチャに利用したリバースエンジニアリングの過程を示したフロー図である。
【図１２】メッシュデータの曲率及び幾何情報から特徴領域を区分した過程を示した例示図である。
【図１３】メッシュデータから区分された特徴領域まで押し出しフィーチャを作成する過程を示した例示図である。
【符号の説明】
【０１１６】
10：スキャナー              20：リバースエンジニアリングの制御部
30：ディスプレイ部                    40：ユーザー入力部
100：メッシュデータ                  110：スケッチ作業平面
200：ツリー                          300：第1セグメント
310：第2セグメント               320：第3セグメント
330：第4セグメント                    400：第1スケッチデータ
410：第2スケッチデータ                420：第3スケッチデータ
500：第1特徴領域                      510：第2特徴領域
520：第3特徴領域                      530：第4特徴領域
540：第5特徴領域                      550：第6特徴領域
560：第7特徴領域                      570：第8特徴領域
600：第1押し出し領域          700：モデリングデータ
【図１】
2007328759.tif 000003
【図２】
2007328759.tif 000004
【図３】
2007328759.tif 000005
【図４】
2007328759.tif 000006
【図５】
2007328759.tif 000007
【図６】
2007328759.tif 000008
【図７】
2007328759.tif 000009
【図８】
2007328759.tif 000010
【図９】
2007328759.tif 000011
【図１０】
2007328759.tif 000012
【図１１】
2007328759.tif 000013
【図１２】
2007328759.tif 000014
【図１３】
2007328759.tif 000015