IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社キーエンスの特許一覧

<>
  • 特開-リバースエンジニアリング支援装置 図1
  • 特開-リバースエンジニアリング支援装置 図2
  • 特開-リバースエンジニアリング支援装置 図3
  • 特開-リバースエンジニアリング支援装置 図4
  • 特開-リバースエンジニアリング支援装置 図5
  • 特開-リバースエンジニアリング支援装置 図6
  • 特開-リバースエンジニアリング支援装置 図7
  • 特開-リバースエンジニアリング支援装置 図8
  • 特開-リバースエンジニアリング支援装置 図9
  • 特開-リバースエンジニアリング支援装置 図10
  • 特開-リバースエンジニアリング支援装置 図11
  • 特開-リバースエンジニアリング支援装置 図12
  • 特開-リバースエンジニアリング支援装置 図13
  • 特開-リバースエンジニアリング支援装置 図14
  • 特開-リバースエンジニアリング支援装置 図15
  • 特開-リバースエンジニアリング支援装置 図16
  • 特開-リバースエンジニアリング支援装置 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024024510
(43)【公開日】2024-02-22
(54)【発明の名称】リバースエンジニアリング支援装置
(51)【国際特許分類】
   G06F 30/10 20200101AFI20240215BHJP
   G06F 30/20 20200101ALI20240215BHJP
   G06F 30/12 20200101ALI20240215BHJP
   G06F 111/20 20200101ALN20240215BHJP
【FI】
G06F30/10 100
G06F30/20
G06F30/12
G06F111:20
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022127396
(22)【出願日】2022-08-09
(71)【出願人】
【識別番号】000129253
【氏名又は名称】株式会社キーエンス
(74)【代理人】
【識別番号】110001933
【氏名又は名称】弁理士法人 佐野特許事務所
(72)【発明者】
【氏名】青木 和佐
(72)【発明者】
【氏名】田淵 潤
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146AA07
5B146DA07
5B146DC05
5B146DE02
5B146DG01
5B146DJ15
5B146EA01
5B146EA15
5B146EC01
5B146EC09
(57)【要約】
【課題】メッシュデータからユーザの設計意図を反映して抽出した多面体のCADデータを容易に作成できるリバースエンジニアリング支援装置を提供する。
【解決手段】ワークWのメッシュデータをCADデータに変換して出力するリバースエンジニアリング支援装置1であって、メッシュデータを取得するデータ取得部84と、メッシュデータ上の指定点の入力を受け付ける受付部72と、指定点に基づく平面候補をメッシュデータから抽出する抽出部73と、平面候補に基づいて多面体を構成する平面を作成する平面決定部77と、平面決定部77で作成した平面を含む多面体を作成する多面体作成部76とを備え、受付部72はさらに多面体の各面に対して他の面に対する位置姿勢または所定の座標系における位置姿勢を示す拘束条件の指定を受け付けることができ、平面決定部77は平面候補と拘束条件とに基づいて多面体を構成する平面を作成する。
【選択図】図2
【特許請求の範囲】
【請求項1】
ワークの立体形状を測定することで得られるメッシュデータから作成された多面体をCADデータに変換して出力するリバースエンジニアリング支援装置であって、
メッシュデータを取得するデータ取得部と、
メッシュデータ上の指定点と、前記多面体の各面に対する拘束条件に関するユーザ入力を受け付ける受付部と、
前記受付部により受け付けられた前記指定点に基づく平面候補を前記メッシュデータから抽出する抽出部と、
前記抽出部で抽出された前記平面候補と、前記拘束条件とに基づいて多面体を構成する平面を決定する平面決定部と、
前記平面決定部で決定された平面を含んで構成される多面体を作成する多面体作成部と、
前記多面体作成部によって作成された多面体をCADデータに変換する変換部と、
を備えることを特徴とするリバースエンジニアリング支援装置。
【請求項2】
前記受付部は、前記拘束条件に関するユーザ入力として、前記多面体の各面に対して、他の面に対する位置姿勢または所定の座標系における位置姿勢の指定を受け付けることができ、
前記平面決定部は、前記受付部により前記指定点のユーザ入力を受け付けることで抽出された前記平面候補と、前記受付部で受け付けた前記拘束条件の指定とに基づいて、前記多面体を構成する平面を決定することを特徴とする請求項1に記載のリバースエンジニアリング支援装置。
【請求項3】
前記抽出部は、前記指定点を含むポリゴンに連なるポリゴンの内、前記指定点を含むポリゴンの法線に対して所定の角度範囲内に存在するポリゴン群を抽出し、当該抽出されたポリゴン群に近似する平面を前記平面候補として抽出することを特徴とする請求項1に記載のリバースエンジニアリング支援装置。
【請求項4】
前記多面体作成部は、前記多面体を構成する複数の平面について前記受付部により前記拘束条件が指定されたか否かを判定し、当該判定結果に基づいて前記多面体を構成する面として、前記抽出部で抽出された前記平面候補を用いることを特徴とする請求項1に記載のリバースエンジニアリング支援装置。
【請求項5】
前記多面体作成部は、前記多面体を構成する複数の平面について前記受付部により前記拘束条件が指定されたか否かを判定し、当該判定結果に基づいて前記多面体を構成する面として、前記受付部で受け付けた前記拘束条件に基づいて前記平面決定部により決定された平面を用いることを特徴とする請求項1に記載のリバースエンジニアリング支援装置。
【請求項6】
前記受付部は、多面体の基準底面を形成する第1平面に隣接した基準壁面を形成する第2平面に対する前記拘束条件として、前記第1平面に対する位置姿勢の指定を受け付け、前記平面決定部は、前記基準底面に対する位置姿勢が拘束された平面を前記第2平面として作成することを特徴とする請求項1に記載のリバースエンジニアリング支援装置。
【請求項7】
前記受付部は、前記第1平面に対する前記拘束条件として装置の座標系に対する位置姿勢の指定を受け付けることができることを特徴とする請求項6に記載のリバースエンジニアリング支援装置。
【請求項8】
前記平面決定部は、基準底面である前記第1平面に隣接し、基準壁面である前記第2平面に順に連設された側壁面を形成する第3平面、第4平面及び第5平面と、前記第1平面
に対向した天面を形成する第6平面とを決定し、
前記多面体作成部は、前記平面決定部で作成された第1平面、第2平面、第3平面、第4平面、第5平面及び第6平面により構成される六面体を作成し、
前記受付部は、前記第3平面、第4平面、第5平面及び第6平面に対する前記拘束条件として前記基準底面及び前記基準壁面の少なくとも一方に対する位置姿勢の指定を受け付けることを特徴とする請求項5に記載のリバースエンジニアリング支援装置。
【請求項9】
前記平面決定部は、前記第6平面を、前記基準底面に対する位置姿勢及び前記受付部により受け付けた指定点に基づいて作成することを特徴とする請求項7に記載のリバースエンジニアリング支援装置。
【請求項10】
前記平面決定部は、前記第6平面を、基準底面である前記第1平面に平行であり、基準壁面である前記第2平面、前記第3平面、前記第4平面及び前記第5平面に交差する平面により作成することを特徴とする請求項7に記載のリバースエンジニアリング支援装置。
【請求項11】
前記多面体作成部は前記平面決定部で作成された6つの平面の内、隣接する3つの平面の交点を算出し、算出された前記交点を頂点とする六面体を作成することを特徴とする請求項7に記載のリバースエンジニアリング支援装置。
【請求項12】
前記多面体作成部による多面体の作成可否を判定する判定部と、前記判定部により多面体を作成できない場合に報知する報知部とを有することを特徴とする請求項7に記載のリバースエンジニアリング支援装置。
【請求項13】
前記変換部で変換されたCADデータを出力する出力部を備え、
前記多面体作成部は、複数の多面体を作成することができ、
前記変換部は、前記複数の多面体をアッセンブリ化された一のCADデータに変換し、
前記出力部は、前記アッセンブリ化された一のCADデータを出力することを特徴とする請求項1に記載のリバースエンジニアリング支援装置。
【請求項14】
前記受付部は、一の多面体の所定の面に対する前記拘束条件として、一の多面体の他の面に対する位置姿勢の指定を受け付ける第1モードと、他の多面体の面に対する位置姿勢の指定を受け付ける第2モードとの内、一方のモードの選択を受け付けることを特徴とする請求項12に記載のリバースエンジニアリング支援装置。
【請求項15】
前記受付部は、さらにメッシュデータから幾何要素を作成するためのユーザ入力を受け付けることができ、
前記変換部は、前記多面体作成部で作成された多面体と、前記受付部で受け付けたユーザ入力に基づき作成された幾何要素と、をアッセンブリ化した一のCADデータに変換し、
前記出力部は、前記アッセンブリ化された一のCADデータを出力することを特徴とする請求項12に記載のリバースエンジニアリング支援装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、三次元形状を計測したデータからCAD図面を作成するリバースエンジニアリングを支援するリバースエンジニアリング支援装置に関する。
【背景技術】
【0002】
従来の三次元測定装置は特許文献1に開示される。この三次元形状測定器は立体のワークをスキャンして得られた点群から多数のポリゴンから成るメッシュデータを作成する。
【0003】
また、メッシュデータから平面、円筒、直方体等の幾何要素を抽出してCADデータに変換することにより、リバースエンジニアリングを容易に行うことができる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2017-227611号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、リバースエンジニアリングを行う際にメッシュデータからユーザの設計意図を反映して多面体を作成することは難しかった。
【0006】
本発明は、メッシュデータからユーザの設計意図を反映して抽出した多面体のCADデータを容易に作成できるリバースエンジニアリング支援装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記目的を達成するために本発明は、ワークの立体形状を測定することで得られるメッシュデータから作成された多面体をCADデータに変換して出力するリバースエンジニアリング支援装置であって、
メッシュデータを取得するデータ取得部と、
メッシュデータ上の指定点と、前記多面体の各面に対する拘束条件に関するユーザ入力を受け付ける受付部と、
前記受付部により受け付けられた前記指定点に基づく平面候補を前記メッシュデータから抽出する抽出部と、
前記抽出部で抽出された前記平面候補と、前記拘束条件とに基づいて多面体を構成する平面を決定する平面決定部と、
前記平面決定部で決定された平面を含んで構成される多面体を作成する多面体作成部と、
前記多面体作成部によって作成された多面体をCADデータに変換する変換部と、
を備えることを特徴としている。
【0008】
また本発明は上記構成のリバースエンジニアリング支援装置において、前記受付部は、前記拘束条件に関するユーザ入力として、前記多面体の各面に対して、他の面に対する位置姿勢または所定の座標系における位置姿勢の指定を受け付けることができ、
前記平面決定部は、前記受付部により前記指定点のユーザ入力を受け付けることで抽出された前記平面候補と、前記受付部で受け付けた前記拘束条件の指定とに基づいて、前記多面体を構成する平面を決定することを特徴としている。
【0009】
また本発明は上記構成のリバースエンジニアリング支援装置において、前記抽出部は、前記指定点を含むポリゴンに連なるポリゴンの内、前記指定点を含むポリゴンの法線に対して所定の角度範囲内に存在するポリゴン群を抽出し、当該抽出されたポリゴン群に近似する平面を前記平面候補として抽出することを特徴としている。
【0010】
また本発明は上記構成のリバースエンジニアリング支援装置において、前記多面体作成部は、前記多面体を構成する複数の平面について前記受付部により前記拘束条件が指定されたか否かを判定し、当該判定結果に基づいて前記多面体を構成する面として、前記抽出部で抽出された前記平面候補を用いることを特徴としている。
【0011】
また本発明は上記構成のリバースエンジニアリング支援装置において、前記多面体作成部は、前記多面体を構成する複数の平面について前記受付部により前記拘束条件が指定されたか否かを判定し、当該判定結果に基づいて前記多面体を構成する面として、前記受付部で受け付けた前記拘束条件に基づいて前記平面決定部により決定された平面を用いることを特徴としている。
【0012】
また本発明は上記構成のリバースエンジニアリング支援装置において、前記受付部は、多面体の基準底面を形成する第1平面に隣接した基準壁面を形成する第2平面に対する前記拘束条件として、前記第1平面に対する位置姿勢の指定を受け付け、前記平面決定部は、前記基準底面に対する位置姿勢が拘束された平面を前記第2平面として作成することを特徴としている。
【0013】
また本発明は上記構成のリバースエンジニアリング支援装置において、前記受付部は、前記第1平面に対する前記拘束条件として装置の座標系に対する位置姿勢の指定を受け付けることができることを特徴としている。
【0014】
また本発明は上記構成のリバースエンジニアリング支援装置において、前記平面決定部は、基準底面である前記第1平面に隣接して基準壁面である前記第2平面に順に連設された側壁面を形成する第3平面、第4平面及び第5平面と、前記第1平面に対向した天面を形成する第6平面とを決定し、
前記多面体作成部は、前記平面決定部で作成された第1平面、第2平面、第3平面、第4平面、第5平面及び第6平面により構成される六面体を作成し、
前記受付部は、前記第3平面、第4平面、第5平面及び第6平面に対する前記拘束条件として前記基準底面及び前記基準壁面の少なくとも一方に対する位置姿勢の指定を受け付けることを特徴としている。
【0015】
また本発明は上記構成のリバースエンジニアリング支援装置において、前記平面決定部は、前記第6平面を、前記基準底面に対する位置姿勢及び前記受付部により受け付けた指定点に基づいて作成することを特徴としている。
【0016】
また本発明は上記構成のリバースエンジニアリング支援装置において、前記平面決定部は、前記第6平面を、基準底面である前記第1平面に平行であり、基準壁面である前記第2平面、前記第3平面、前記第4平面及び前記第5平面に交差する平面により作成することを特徴としている。
【0017】
また本発明は上記構成のリバースエンジニアリング支援装置において、前記多面体作成部は前記平面決定部で作成された6つの平面の内、隣接する3つの平面の交点を算出し、算出された前記交点を頂点とする六面体を作成することを特徴としている。
【0018】
また本発明は上記構成のリバースエンジニアリング支援装置において、前記変換部で変
換されたCADデータを出力する出力部を備え、
前記多面体作成部は、複数の多面体を作成することができ、
前記変換部は、前記複数の多面体をアッセンブリ化された一のCADデータに変換し、
前記出力部は、前記アッセンブリ化された一のCADデータを出力することを特徴としている。
【0019】
また本発明は上記構成のリバースエンジニアリング支援装置において、前記受付部は、一の多面体の所定の面に対する前記拘束条件として、一の多面体の他の面に対する位置姿勢の指定を受け付ける第1モードと、他の多面体の面に対する位置姿勢の指定を受け付ける第2モードとの内、一方のモードの選択を受け付けることを特徴としている。
【0020】
また本発明は上記構成のリバースエンジニアリング支援装置において、前記受付部は、さらにメッシュデータから幾何要素を作成するためのユーザ入力を受け付けることができ、
前記変換部は、前記多面体作成部で作成された多面体と、前記受付部で受け付けたユーザ入力に基づき作成された幾何要素と、をアッセンブリ化した一のCADデータに変換し、
前記出力部は、前記アッセンブリ化された一のCADデータを出力することを特徴としている。
【発明の効果】
【0021】
本発明によると、平面決定部はメッシュデータ上の指定点に基づく平面候補及び拘束条件に基づいて平面を決定し、多面体形成部は平面決定部が決定した平面を含む複数の平面により多面体を作成する。これにより、所望位置のメッシュデータからユーザの設計意図を反映して抽出した多面体のCADデータを容易に作成することができる。
【図面の簡単な説明】
【0022】
図1】本発明の実施形態のリバースエンジニアリング支援装置を備えた三次元測定装置を示すシステム図
図2】本発明の実施形態のリバースエンジニアリング支援装置の構成を示すブロック図
図3】本発明の実施形態のリバースエンジニアリング支援装置を含む三次元測定装置の動作を示すフローチャート
図4】本発明の実施形態のリバースエンジニアリング支援装置のCADデータ作成処理の動作を示すフローチャート
図5】本発明の実施形態のリバースエンジニアリング支援装置の多面体作成処理の動作を示すフローチャート
図6】本発明の実施形態のリバースエンジニアリング支援装置の多面体作成処理の動作を示すフローチャート
図7】本発明の実施形態のリバースエンジニアリング支援装置の幾何拘束処理多面体作成処理の動作を示すフローチャート
図8】本発明の実施形態のリバースエンジニアリング支援装置の拘束条件の入力画面を示す図
図9】本発明の実施形態のリバースエンジニアリング支援装置の多面体作成対象のワークを示す斜視図
図10】本発明の実施形態のリバースエンジニアリング支援装置の基準底面を受け付けた表示画面を示す図
図11】本発明の実施形態のリバースエンジニアリング支援装置の基準壁面を受け付けた表示画面を示す図
図12】本発明の実施形態のリバースエンジニアリング支援装置の側壁面を受け付けた表示画面を示す図
図13】本発明の実施形態のリバースエンジニアリング支援装置の天面を受け付けた画面を示す図
図14】本発明の実施形態のリバースエンジニアリング支援装置により作成した多面体の一例を示す斜視図
図15】本発明の実施形態のリバースエンジニアリング支援装置により複数の多面体を作成した例を示す斜視図
図16】本発明の実施形態のリバースエンジニアリング支援装置により複数の多面体を作成した例を示す側面図
図17】本発明の実施形態のリバースエンジニアリング支援装置により複数の多面体を作成した例を示す側面図
【発明を実施するための形態】
【0023】
<三次元測定装置1>
以下に図面を参照して本発明の実施形態を説明する。図1は一実施形態の三次元測定装置1の一構成例を示したシステム図である。詳細を後述するように、三次元測定装置1は、ワークWの立体形状を光学的に測定する測定器であり、測定部2、コントローラ4及び情報処理端末5により構成される。また、三次元測定装置1は測定により取得したメッシュデータをCADデータに変換して出力する。これにより、三次元測定装置1はワークWのリバースエンジニアリングも行うことができ、リバースエンジニアリング支援装置7(図2参照)を含む。
【0024】
<測定部2>
測定部2は、ステージ21、回転駆動部22、撮像部23、投光部24、テクスチャ照明出射部25及び制御基板26により構成される。測定部2は、ステージ21上のワークWに可視光からなる検出光を照射し、ワークWにより反射された検出光を受光して撮影画像を生成するヘッドユニットである。
【0025】
ステージ21は、ワークWを載置するための水平かつ平坦な載置面を有する作業台である。このステージ21は、円板状のステージプレート211と、ステージプレート211を支持するステージベース212とにより構成される。
【0026】
回転駆動部22は、ステージ21上のワークWに対する撮像アングルを調整するために、鉛直方向の回転軸を中心としてステージ21を回転させる。
【0027】
撮像部23は、ステージ21上のワークWを撮影する固定倍率のカメラであり、受光レンズ231及び撮像素子232により構成される。撮像素子232は、受光レンズ231を介してワークWからの光を受光し、撮影画像を生成する。撮像素子232には、例えば、CCD(Charge Coupled Devices:電荷結合素子)、CMOS(Complementary Metal Oxide Semiconductor:相補型金属酸化物半導体)などのイメージセンサが用いられる。この撮像素子232は、例えば、モノクロイメージセンサである。尚、撮像部23の倍率は必ずしも固定倍率である必要はなく、可変倍率のカメラであってもよい。
【0028】
投光部24は、ステージ21上のワークWに測定光を照射する照明装置であり、投光用光源241、コレクタレンズ242、パターン生成ユニット243及び投光レンズ244により構成される。投光用光源241には、例えば、単色の光を生成するLED(発光ダイオード)又はハロゲンランプが用いられる。色収差補正等が容易であることから、投光用光源241として、白色光源を用いる場合に比べ、単色の投光用光源241を用いる方が有利である。また、波長は短い方が三次元形状データの解像度を上げるのに有利であることから、青色の光源、例えば、青色LEDを投光用光源241として用いることが好ま
しい。ただし、撮像素子232が良好なS/Nで受光することができる波長が選択される。
【0029】
尚、単色の投光用光源241を使用する場合に、撮像素子232がカラーイメージセンサであると例えば青の受光素子を利用して赤及び緑の受光素子を利用しないため、利用できる画素数が減る。このため、画素サイズや画素数をそろえた場合、撮像素子232には、モノクロイメージセンサを用いる方が有利である。
【0030】
投光用光源241から出射された検出光は、コレクタレンズ242を介してパターン生成ユニット243に入射する。そして、パターン生成ユニット243から出射された検出光は、投光レンズ244を介してステージ21上のワークWに照射される。
【0031】
パターン生成ユニット243は、構造化照明用のパターン光を生成するための装置であり、均一な検出光と、二次元パターンからなる検出光とを切り替えることができる。パターン生成ユニット243には、例えば、DMD(Digital Micromirror Device)又は液晶パネルが用いられる。DMDは、多数の微小なミラーが2次元状に整列配置され、各ミラーの傾きを制御することにより、画素ごとに明状態と暗状態とを切り替えることができる表示素子である。
【0032】
三角測距の原理を利用してワークWの立体形状を測定するための構造化照明法には、正弦波位相シフト法、マルチスリット法、空間コード法等がある。正弦波位相シフト法は、ワークWに正弦波状の縞パターンを投影し、正弦波の周期よりも短いピッチで縞パターンを移動させるごとに撮影画像を取得する照明法である。各撮影画像の輝度値から各画素における位相値を求めて高さ情報に変換することにより、三次元形状データが求められる。
【0033】
マルチスリット法は、ワークWに細線状の縞パターンを投影し、縞と縞との間隔よりも狭いピッチで縞パターンを移動させるごとに撮影画像を取得する照明法である。各撮影画像の輝度値から各画素における最大輝度の撮影タイミングを求めて高さ情報に変換することにより、三次元形状データが求められる。
【0034】
空間コード法は、白黒のデューティ比が50%であり、縞パターンの幅が異なる複数の縞パターンをワークWに対して順次投影し、撮影画像を取得する照明法である。各撮影画像の輝度値から各画素におけるコード値を求めて高さ情報に変換することにより、三次元形状データが求められる。
【0035】
パターン生成ユニット243では、上述した縞パターンを二次元パターンとして生成することができる。本実施形態の三次元測定装置1では、マルチスリット法と空間コード法とを組み合わせることにより、高分解能かつ高精度に三次元形状データが取得される。
【0036】
また、撮像部23を挟んで2つの投光部24が左右対称に配置されている。各投光部24の投光軸J2、J3は、三角測距の原理を利用するために撮像部23の受光軸J1に対して傾斜している。この投光部24では、投光用光源241、コレクタレンズ242及びパターン生成ユニット243の光軸に対し、投光レンズ244を受光軸J1側にオフセットさせることにより、投光軸J2及びJ3を傾斜させている。この様な構成を採用することにより、投光部24全体を傾斜させる場合に比べ、測定部2を小型化することができる。
【0037】
テクスチャ照明出射部25は、ワークWの色、模様等を表面テクスチャ情報として検知するため、可視光からなる均一な照明光をステージ21上のワークWに向けて出射する。このテクスチャ照明出射部25は、投光軸が撮像部23の受光軸J1と略平行であり、撮
像部23の受光レンズ231を取り囲むように配置される。このため、投光部24からの照明と比べてワークW上での影ができにくく、撮影時の死角が少なくなる。
【0038】
制御基板26は、回転駆動部22を制御する制御回路、投光部24の投光用光源241及びパターン生成ユニット243を駆動する駆動回路、撮像部23の撮像素子232からの検出信号を処理する処理回路等が設けられた回路基板である。すなわち、制御基板26は、測定部2の各部を制御するとともに、撮像部23で検出された検出信号を処理する。
【0039】
コントローラ4は測定部2の制御装置であり、テクスチャ光源41と、制御基板42と、電源43とにより構成される。テクスチャ光源41はテクスチャ照明用の照明光を生成する。制御基板42はテクスチャ光源41用の駆動回路等が設けられる。電源43は測定部2内の各デバイスに電力を供給する。
【0040】
テクスチャ光源41は、撮影画像からカラーのテクスチャ画像が得られるようにするために、例えば、R(赤)、G(緑)、B(青)の各色の照明光を順次に点灯する。撮像素子232がモノクロイメージセンサであると、テクスチャ光源41に白色光源を用いてテクスチャ情報を取得する場合にカラー情報を取得することができない。このため、テクスチャ光源41ではRGBを切り替えて照明している。
【0041】
情報処理端末5は、測定部2を制御し、撮影画像の画面表示、寸法測定のための設定情報の登録、三次元形状データの生成、ワークWの寸法算出等を行う端末装置である。
【0042】
情報処理端末5は表示部51、キーボード52及びマウス53が接続され、記憶部54(図2参照)を搭載している。表示部51は撮影画像、設定情報等を画面に表示するモニタ装置である。キーボード52及びマウス53は、ユーザが操作入力を行う入力装置である。記憶部54は動作プログラム、設定情報、三次元形状のメッシュデータ等を記憶する。この情報処理端末5は、例えばパーソナルコンピュータであり、測定部2の制御基板26に接続されている。
【0043】
<リバースエンジニアリング支援装置7>
図2は、三次元測定装置1に含まれるリバースエンジニアリング支援装置7の構成を示すブロック図である。リバースエンジニアリング支援装置7は、情報処理端末5により構成され、各部を制御するCPU55を備えている。CPU55には前述の表示部51、キーボード52、マウス53、記憶部54が接続され、制御基板26を介して撮像部23が接続される。
【0044】
CPU55は与えられた信号やデータを処理して各種の演算を行い、演算結果を出力する制御回路や制御素子である。本明細書においてCPU55は演算を行う素子や回路を意味し、その名称に限定するものではない。すなわち、CPU55とは汎用PC向けのCPUやMPU、GPU、TPU等のプロセッサに限定するものでなく、FPGA、ASIC、LSI等のプロセッサやマイコン、あるいはSoC等のチップセットを含む概念である。
【0045】
記憶部54は、ROM、RAM等の半導体メモリー、フラッシュメモリー等の可搬性を有する半導体メモリー及びハードディスク等の記憶媒体を含む又は記憶媒体が接続される回路である。記憶部54は、動作プログラム、設定情報、三次元形状のメッシュデータ等を記憶する。
【0046】
表示部51は、例えば、液晶パネル、有機ELパネル等のディスプレイパネルを有し、撮像画像、メッシュ画像、設定情報等を画面に表示するモニタ装置である。キーボード5
2及びマウス53は、ユーザが操作入力を行う入力装置である。尚、操作入力装置としては、表示部51に表示されている画像に接触することで入力を行う、いわゆるタッチパネル装置を採用してもよい。この情報処理端末5は例えばパーソナルコンピュータであり、測定部2の制御基板26に接続され、制御基板26からの撮像データを取得する。
【0047】
また、CPU55には、受付部72、抽出部73、編集部74、幾何要素作成部75、変換部81、出力部82、表示制御部83、データ取得部84、三次元データ生成部85、測定制御部86が接続される。幾何要素作成部75は多面体作成部76、平面決定部77、曲面体作成部79及び判定部80を備えている。
【0048】
受付部72、抽出部73、編集部74、幾何要素作成部75、変換部81、出力部82表示制御部83、データ取得部84、三次元データ生成部85、及び測定制御部86は、記憶部54に格納したソフトウェアである。すなわち、これらはリバースエンジニアリング支援装置7の記憶部54に記憶される動作プログラムをCPU55により実行することにより機能する。
【0049】
測定制御部86は制御基板26、42を介してステージ21、撮像部23、投光器24及びテクスチャ光源41を制御し、ワークWの撮影を行う。
【0050】
三次元データ生成部85は、三次元空間における複数の測定点の位置情報を測定し、ワークWの立体形状を表す点群データを生成する。尚、点群データは、例えば測定部2の撮像部23から取得した撮影画像に基づいて生成される。そして、点群データにおいて所定のアルゴリズムによって決定された複数の点群を頂点とする多角形(ポリゴン)で表面を敷き詰めた三次元のメッシュデータを生成する。
【0051】
データ取得部84は、三次元データ生成部85で生成されたワークWの三次元形状データをメッシュデータ(ポリゴンデータ)として取得し、記憶部54に記憶する。また、データ取得部84は、外部から取り込まれて記憶部54に記憶されたメッシュデータを取得することができる。また、データ取得部71は、取得したメッシュデータを抽出部73及び表示制御部83に受け渡す。
【0052】
受付部72は幾何要素の選択等のユーザ入力を受け付ける。多面体作成の場合に受付部72はメッシュデータ上の指定点(図10のP1等)及び多面体の各面の拘束条件のユーザ入力を受け付ける。受付部72は、拘束条件として、拘束対象要素及び拘束方法の入力を受け付ける。
【0053】
拘束対象要素は多面体を形成する面に対する拘束の基準となる面であり、受付部72は多面体の所定の面、所定の座標系(例えば、三次元測定装置1の座標系)における座標面等の指定を受け付けることができる。拘束方法として、受付部72は拘束対象要素に対する位置姿勢の指定を受け付けることができる。具体的には受付部72は、拘束対象要素に対する姿勢である角度(平行、直角を含む)の指定や位置の指定(オフセット量等)を受け付けることができる。また、受付部72は平面、円筒、球、その他の幾何要素の作成条件のユーザ入力を受け付けることもできる。
【0054】
抽出部73は受付部72により受け付けられた指定点(P1等)に基づく平面候補をメッシュデータから抽出し、平面候補として記憶部54に記憶する。
【0055】
編集部74は抽出された各平面候補を多面体の構成領域として登録する。例えば、六面体の場合には編集部74は受付部72により受け付けられた順に基準底面、基準壁面、3面の側壁面、天面の順に登録する。また、編集部74は登録済みの領域の編集、削除を行
う。
【0056】
平面決定部77は、抽出部73で記憶した平面候補に対して受付部72で受け付けた拘束条件に基づいて再計算処理を行い、平面候補に基づいて平面を決定する。また、平面決定部77は、平面候補に基づいて作成された平面を記憶部54に記憶させる。
【0057】
多面体作成部76は、記憶部54に記憶された複数の平面を連結して多面体を作成する。例えば、六面体の場合に多面体形成部76は、六面体を構成する6つの平面の内、隣接する3平面を用いて交点を算出する。そして、多面体形成部76はこの交点の算出処理を8回繰り返して8つの交点座標を算出し、この算出された8つの交点座標を六面体の8つの頂点座標とする。すなわち、多面体作成部76は算出された8つの交点座標を頂点とする六面体要素を作成する。
【0058】
曲面体作成部79は、受付部72で受け付けた作成条件に基づいて円筒、球、円錐等の曲面を有する幾何要素を作成する。多面体作成部76、平面決定部77及び曲面体作成部79は、幾何要素を作成する幾何要素作成部75を構成する。
【0059】
判定部80は受付部72により受け付けられた内容に基づいて、多面体等の幾何要素が作成可能か否かを判定する。
【0060】
変換部81は、幾何要素作成部75により作成された多面体等の幾何要素をCADデータに変換する。出力部82は変換部81で変換されたCADデータを出力する。
【0061】
表示制御部83は、記憶部54内の三次元形状データに基づいて、表示部51に表示する表示データを作成する。例えば、多数の測定点が三次元的に配置されたオブジェクト体を所定の視点から眺めるように表示された三次元形状を表示部51の画面に表示するための表示データを作成する。画面内における三次元形状(ワークW)の位置、視点及び表示倍率は、任意に指定することができる。
【0062】
図3は、三次元測定装置1の動作の一例を示すフローチャートである。三次元測定装置1が起動されると、ステップS101で測定制御部86の制御によりステージ21上に載置されたワークWを撮像部23が撮影する。表示制御部83は、撮像部23によりワークを撮影することで得られた撮影画像を表示部51に表示させる。そして、受付部72は、投光照明の明るさ調整を受け付け、受け付けた投光照明の明るさに基づいて投光部24を制御基板26に送る。制御基板26は、受付部72からの投光照明の明るさの情報に基づいて、投光部24を制御する。
【0063】
ステップS102では、測定制御部86は、テクスチャ照明に切り替えて撮影画像を取得し、表示部51に表示してテクスチャ照明の明るさ調整を行う。この明るさ調整は、テクスチャ照明出射部25からR(赤)、G(緑)、B(青)の各色の照明光を順に或いは同時に照射して行われる。ステップS101とステップS102とは、順序を入れ替えてもよい。
【0064】
ステップS103では、受付部72がユーザによる測定開始の指示を受け付けたか否かを測定制御部86により判定する。受付部72がユーザによる測定開始の指示を受け付けるまで(ステップS103でNoの間)ステップS101、S102の処理手順を繰り返す。受付部72がユーザによる測定開始の指示を受け付けると(ステップS103でYes)ステップS104に移行する。
【0065】
ステップS104では投光部24がパターン光の投光を開始する。続くステップS10
5では、撮像部23がパターン画像を取得する。このパターン画像は、ステージ21上のワークWが撮影された撮影画像である。パターン光の投光及び撮影画像の取得は、パターン生成ユニット243と撮像部23とを同期させて行われる。
【0066】
ステップS106では、測定制御部86は、投光部24からのパターン光をテクスチャ照明出射部25からのテクスチャ照明に切り替える。ステップS107では、撮像部23がテクスチャ画像を取得する。このテクスチャ画像は、R(赤)、G(緑)、B(青)の各色の照明光を順に照射させて取得された複数の撮影画像を合成することによって得られる。
【0067】
ステップS108では撮影が終了したか否かを測定制御部86により判定する。連結測定時において、測定制御部86は、制御基板26を介して撮像部23及び投光部24を制御し、ステージ21を予め指定された複数の撮像アングルに順次に切り替えながら、ステップS104からステップS107までの処理手順を繰り返す。撮影が終了すると(ステップS108でYes)、ステップS109に移行する。
【0068】
ステップS109では、三次元データ生成部85は、ステップS105において取得されたパターン画像に基づいて三次元形状のメッシュデータを生成して記憶部54に記憶する。
【0069】
ステップS110では所望の測定箇所について三次元形状データが得られたか否かが受付部72で受け付けたユーザ入力に基づいて測定制御部86により判断される。所望のデータが得られていない場合(ステップS110でNoの場合)は撮像アングルや撮影条件等を変更しながらステップS101からステップS109までの処理手順を繰り返す。所望のデータが得られ(ステップS110でYes)、ユーザによるデータ解析の指示を受け付けると、ステップS111に移行する。
【0070】
ステップS111では、測定制御部86は、ステップS109で記憶されたメッシュデータにテクスチャ画像をマッピングする。ステップS112では、表示制御部83はテクスチャ画像がマッピングされた三次元形状データをワークWの三次元形状として表示部51に表示させる。
【0071】
続くステップS113では三次元データ生成部85により、三次元形状データのデータ解析を行い、ワークWの寸法等の所望データを算出する。三次元データ生成部85は、算出されたデータをメッシュデータと関連付けて、記憶部54に記憶する。
【0072】
ステップS114では三次元データ生成部85は、メッシュデータからCADデータを作成する指示を受付部72が受け付けたか否かを判定する。CADデータを作成する指示がない場合(ステップS114でNoの場合)、三次元データ生成部85は三次元測定装置1の動作を終了する。CADデータを作成する指示があった場合はステップS115で幾何要素作成部75や変換部81等によって図4に示すCADデータ作成処理を行い、その後三次元測定装置1の動作を終了する。
【0073】
図4はCADデータ作成処理の動作を示すフローチャートである。ステップS301ではデータ取得部84により記憶部54からメッシュデータが読み出される。ステップS302では、表示制御部83は、データ取得部71により取得されたメッシュデータに基づいて、ワークの三次元形状を表示部51に表示するための表示データを生成する。そして、表示制御部83は、生成された表示データに基づいて、ワークWの三次元形状を表示部51に表示する。
【0074】
ステップS303では、受付部72による多面体を作成する指示があったか否かが幾何要素作成部75により判断される。多面体を作成する指示があった場合はステップS304に移行して図5に示す多面体作成処理が行われ、指示がない場合はステップS305に移行する。
【0075】
ステップS305では、受付部72による曲面体を作成する指示があったか否かが幾何要素作成部75により判断される。円筒または球を作成する指示があった場合はステップS306に移行して曲面体作成部79による円筒、球等の作成処理が行われ、指示がない場合はステップS307に移行する。
【0076】
ステップS307では幾何要素の作成が終了したか否かが幾何要素作成部75により判断され、終了していない場合はステップS303~S306が繰り返される。
【0077】
ステップS307の判断で幾何要素の作成が終了すると、ステップS308に移行する。ステップS308では、ステップS304、S306で作成された多面体や曲面体等の形状データが変換部81(図2参照)によりCADデータに変換される。ステップS309ではステップS308で作成されたCADデータが出力部82(図2参照)により出力される。
【0078】
また、ステップS303~S307により幾何要素作成部75が複数の幾何要素を作成する場合、変換部81は、幾何要素作成部75で作成された複数の幾何要素をアッセンブリ化された一のCADデータに変換する。そして、出力部82は、アッセンブリ化された一のCADデータを出力する。複数の幾何要素の中には多面体が含まれていてもよい。すなわち、複数の多面体が多面体作成部76により作成される場合には、変換部81は複数の多面体をアッセンブリ化された一のCADデータに変換できる。
【0079】
この時、詳細を後述するように、受付部72は多面体の所定の面に対する拘束条件として同じ多面体の他の面に対する位置姿勢を受け付ける第1モードと、他の多面体の面に対する位置姿勢を受け付ける第2モードとから動作モードの選択を受け付けることが可能であってもよい。
【0080】
次に、多面体作成処理の動作を説明する。ここでは、図9に示すワークWの一部であるリブ形状の要素T1を六面体として作成する場合を例に説明する。八面体、十二面体、二十面体等の他の多面体においても同様に作成することができる。尚、図10図13図9の要素T1を含むH部を拡大した表示画面51aを示しており、図中のドット柄は等高線を表している。
【0081】
六面体は基準底面、基準壁面、3面の側壁面及び天面を受付部72により指定して形成される。六面体の各面は基準底面や基準壁面に対する所望の拘束条件により拘束することができる。
【0082】
図8は表示部51の表示画面51a内に表示される拘束条件の入力画面72aを示している。入力画面72aには各面に対し、抽出領域欄、拘束対象要素1欄(第1の拘束対象要素欄)、拘束方法1欄(第1の拘束方法欄)、拘束対象要素2欄(第2の拘束対象要素欄)、拘束方法2欄(第2の拘束方法欄)が設けられる。抽出領域欄は各面の平面候補指定時に受付部72により割り当てられる「領域0」等の名称を表示する。
【0083】
拘束対象要素1欄は各面を拘束するための基準となる第1の基準面がユーザ入力される。拘束方法1欄は拘束対象要素1欄で指定された第1の基準面に対する拘束方法(平行、直角等)がユーザ入力される。拘束対象要素2欄は各面を拘束するための基準となる第2
の基準面がユーザ入力される。拘束方法2欄は拘束対象要素2欄で指定された第2の基準面に対する拘束方法(平行、直角等)がユーザ入力される。
【0084】
基準底面に対する拘束条件として、三次元測定装置1の座標系を指定することができる。この場合、拘束対象要素1欄を三次元測定装置1の「XY座標面」とし、拘束方法1欄を「平行拘束」とすることで、ステージ21の上面を基準底面に指定することができる。また、基準底面に対する拘束条件としては、所定の座標系に対しての平行拘束を指定することもできる。この場合、所定の座標系と平行な平面を基準底面として設定できるため、基準底面に対してユーザの設計意図を反映させることが容易となる。
【0085】
基準壁面に対する拘束条件として、基準底面に対する位置や交差角度等の位置姿勢の指定を受け付けることができる。例えば、拘束対象要素1欄を「基準底面」、拘束方法1欄を「直角拘束」とすることで、「基準底面に対して直角」といった角度条件を受け付けることができる。また、受付部72は、基準壁面に対する拘束条件として、「基準底面に対して30度」といったように、具体的な角度の値を角度条件として受け付けることもできる。
【0086】
3面の側壁面(側面1、側面2、側面3)に対する拘束条件として、基準底面及び基準壁面の少なくとも一方に対する位置や交差角度等の位置姿勢の指定を受け付けることができる。例えば、側面1の拘束対象要素1欄を「基準底面」、拘束方法1欄を「直角拘束」、拘束対象要素2欄を「基準壁面」、拘束方法2欄を「直角拘束」とすることで、「基準底面に直角且つ基準壁面に直角」といった条件を受け付けることができる。
【0087】
また、側面2の拘束対象要素1欄を「基準壁面」、拘束方法1欄を「平行拘束」とすることで、「基準壁面に平行」といった拘束条件を受け付けることができる。側面3の拘束対象要素1欄を「基準底面」、拘束方法1欄を「直角拘束」、拘束対象要素2欄を「基準壁面」、拘束方法2欄を「直角拘束」とすることで、「基準底面に直角且つ基準壁面に直角」といった拘束条件を受け付けることができる。
【0088】
側面1~3の拘束条件を基準底面や基準壁面に対して「直角」や「平行」に設定される場合を説明したが、これに限定されるものではない。基準壁面に設定される角度条件と同様に、側面1~3の拘束条件を「基準底面に対して30度」といったように、具体的な角度の値を角度条件として受け付けることもできる。
【0089】
天面に対する拘束条件として、基準底面及び基準壁面の少なくとも一方に対する位置や交差角度等の位置姿勢の指定を受け付けることができる。例えば、拘束対象要素1欄を「基準底面」、拘束方法1欄を「平行拘束」とすることで、「基準底面に平行」といった拘束条件を受け付けることができる。また、拘束対象要素1欄を「基準壁面」、拘束方法1欄を「直角拘束」とすることで、「基準壁面に直角」といった拘束条件を受け付けることができる。
【0090】
入力画面72aの拘束条件の入力は、各面の指定点を入力する毎、六面の指定点を入力する前、または六面の指定点を入力した後に行うことができる。入力画面72aに入力された拘束条件は記憶部54に記憶される。以下では、各面の指定点を入力する毎に拘束条件を入力する場合を一例として説明するが、本実施形態はこれに限定されるものではなく、多面体の各面が指定された後に各面に対する拘束条件が入力されてもよい。
【0091】
また、直方体作成モード等、予め各面の間の拘束条件が指定された多面体作成モードが用意されており、ユーザによる面の指定を受け付けることで、所定の拘束条件が設定された多面体が作成されてもよい。この場合、受付部72は、拘束条件に関するユーザ入力と
して、「直方体作成モード」というモードの指定を受け付ける。
【0092】
図5図6は多面体作成処理のフローチャートを示している。ステップS401では六面体の基準底面を抽出するためのユーザ入力が受付部72により受け付けられる。具体的には、図10に示すように表示部51の表示画面51a上にワークWの三次元画像が表示制御部83の制御によって表示される。受付部72は、表示画面51aに表示されたワークWの三次元画像上において所望の面上で指定点P1のユーザ入力を受け付ける。これにより、基準底面を抽出するためのユーザ入力が受け付けられる。
【0093】
ステップS402ではステップS401で受け付けた指定点P1に基づいて、抽出部73は、メッシュデータから基準底面の平面候補を抽出する。そして、抽出部73は抽出した平面候補を記憶部54に記憶させる。
【0094】
具体的には、抽出部73は、まず指定点P1を含むポリゴンに連なるポリゴンの内で、指定点P1を含むポリゴンと法線の方向が所定の角度範囲内の複数のポリゴンから成る第1のポリゴン群を抽出する。次に、抽出部73は、第1のポリゴン群に近似する第1の平面を算出する。次に、抽出部73は、指定点P1を含むポリゴンに連なるポリゴンの内で、第1の平面の法線との角度が所定の角度範囲内で、かつ第1の平面からの距離が所定の範囲内である複数のポリゴンからなる第2のポリゴン群を抽出する。そして、第2のポリゴン群に近似する第2の平面を算出し、第2の平面を平面候補として記憶部54に記憶させる。ポリゴン群を抽出するための法線方向の角度範囲は、例えば5度以内や10度以内等の値が予め定められている。
【0095】
尚、ここでは、法線の方向に基づいて、メッシュデータから平面候補を抽出する場合を説明したが、法線の方向に限らず、曲率値を用いることもできる。曲率値に基づいてメッシュデータから平面候補を抽出する場合、抽出部73は、指定点P1を含むポリゴンに連なった複数のポリゴンから成る曲率値が0の第1のポリゴン群を抽出する。次に、抽出部73は、第1のポリゴン群に近似する第1の平面を算出し、第1の平面からの距離が所定の範囲内である複数のポリゴンからなる第2のポリゴン群を抽出する。そして、第2のポリゴン群に近似する第2の平面を算出し、第2の平面を平面候補として記憶部54に記憶させる。
【0096】
また、抽出部73は、ポリゴンに限らず、点群を用いて平面候補を算出することもできる。具体的には、指定点P1を含む点群に連なる点群の内で、指定点P1の最近傍の点の法線に対して所定の角度範囲内の第1の点群を抽出する。次に、抽出部73は、第1の点群に近似する第1の平面を算出する。次に、抽出部73は、指定点P1を含む点群に連なる点群の内で、第1の平面の法線との角度が所定の角度範囲内で、かつ第1の平面からの距離が所定の範囲内である複数の点群からなる第2の点群を抽出する。そして、第2の点群に近似する第2の平面を算出し、第2の平面を平面候補として記憶部54に記憶させる。
【0097】
ステップS403では基準底面の拘束条件が受付部72により受け付けられる。入力画面72aの拘束対象要素1欄、拘束方法1欄にユーザ入力することで基準底面の拘束条件が指定される。拘束対象要素1欄を「XY座標面」として拘束方法1欄を「平行拘束」とするとステージ21の上面が第1平面F1に指定される。この時、指定点P1の指定は不要であるため、メッシュデータのない面を含む多面体を作成することができる。
【0098】
尚、前述したように、ステップS303~S307(図4参照)により複数の多面体を作成することができる。この時、具体例を後述するが(図15図16参照)、所定の面に対する拘束対象要素を同じ多面体の面とした第1モードと、他の多面体の面とした第2
モードとが設けられる。これにより、複数の多面体を所望の配置でアッセンブリ化したCADデータを得ることができる。また、多面体の面の拘束条件として、多面体以外の他の幾何要素の面に対する位置姿勢を受け付けるモードを設けてもよい。
【0099】
ステップS404では、多面体作成部76は、基準底面(第1平面F1)に対する拘束条件が設定されているか否かを判定する。この判定は、入力画面72aの入力内容に基づいて行われる。拘束条件が設定されていないと多面体作成部76が判定した場合はステップS407 に移行する。
【0100】
ステップS407では、多面体作成部76は、抽出部73により抽出して記憶部54に記憶された平面候補を基準底面(第1平面F1)として記憶する。すなわち、多面体作成部76は、受付部72により基準底面に対する拘束条件が受け付けられなかった場合は、抽出部73により抽出された平面候補を基準底面とする。
【0101】
ステップS404において拘束条件が設定されたと多面体作成部76が判定した場合はステップS405に移行する。ステップS405では、平面決定部77は後述する幾何拘束処理を行う。ステップS406では、多面体作成部76は、幾何拘束処理により平面決定部77が平面候補を再計算して作成した平面を基準底面として記憶部54に記憶する。
【0102】
ステップS411では、受付部72は、六面体の基準底面に隣接する基準壁面の指定を受け付ける。具体的には、図11に示すように表示部51の表示画面51aに表示されたワークWの三次元画像上において第1平面F1に交差する所望の面上で指定点P2のユーザ入力を受け付ける。これにより、基準壁面を抽出するためのユーザ入力が受け付けられる。
【0103】
ステップS412ではステップS402と同様に、ステップS411で受け付けた指定点P2に基づいて、抽出部73は、メッシュデータから基準壁面の平面候補を抽出する。そして、抽出部73 は、抽出した平面候補を記憶部54に記憶させる。
【0104】
ステップS413では、受付部72は、基準壁面の拘束条件を受け付ける。上記したように、受付部72は、基準壁面に対する拘束条件として、基準底面である第1平面F1に対する位置や交差角度等の位置姿勢の指定を受け付けることができる。
【0105】
ステップS414では、多面体作成部76は、基準壁面(第2平面F2)に対する拘束条件が設定されているか否かを判定する。拘束条件が設定されていないと多面体作成部76が判定した場合はステップS417に移行する。
【0106】
ステップS417では、多面体作成部76は、抽出部73により抽出して記憶部54に記憶された平面候補を基準壁面(第2平面F2)として記憶する。すなわち、多面体作成部76は、受付部72により基準壁面に対する拘束条件が受け付けられなかった場合は、抽出部73により抽出された平面候補を基準壁面とする。
【0107】
ステップS414において拘束条件が設定されたと多面体作成部76が判定した場合はステップS415に移行する。ステップS415では、平面決定部77は、後述する幾何拘束処理を行う。ステップS416では、多面体作成部76は、幾何拘束処理により平面決定部77が平面候補を再計算して作成した平面を基準壁面として記憶部54に記憶する。
【0108】
ステップS421~S428では基準底面に隣接する基準壁面以外の3面の側壁面が形成される。ステップS421では、受付部72は、一の側壁面(側面1)の指定を受け付
ける。具体的には、図12に示すように表示部51の表示画面51aに表示されたワークWの三次元画像上において第1平面F1に交差する所望の面上で指定点P3のユーザ入力を受け付ける。これにより、第3平面F3を抽出するためのユーザ入力が受け付けられる。
【0109】
ステップS422ではステップS412と同様に、ステップS421で受け付けた指定点P3に基づいて、抽出部73は、メッシュデータから側壁面(第3平面F3)の平面候補を抽出する。そして、抽出部73は、抽出した平面候補を記憶部54に記憶させる。
【0110】
ステップS423では、受付部72は、第3平面F3の拘束条件を受け付ける。上記したように、受付部72は、第3平面F3に対する拘束条件として、第1平面F1及び第2平面F2に対する位置や交差角度等の位置姿勢を受け付けることができる。
【0111】
ステップS424では、多面体作成部76は、第3平面F3に対する拘束条件が設定されているか否かを判定する。拘束条件が設定されていないと多面体作成部76が判定した場合はステップS427に移行する。
【0112】
ステップS427では、多面体作成部76は、抽出部73により抽出して記憶部54に記憶された平面候補を第3平面F3として記憶する。すなわち、多面体作成部76は、受付部72により第3平面F3に対する拘束条件を受け付けられなかった場合は、抽出部73により抽出された平面候補を第3平面F3(側面1)とする。
【0113】
ステップS424において拘束条件が設定されたと多面体作成部76が判定した場合はステップS425に移行する。ステップS425では、多面体作成部76は、後述する幾何拘束処理を行う。ステップS426では、多面体作成部76は、幾何拘束処理により平面決定部77が平面候補を再計算して作成した平面を第3平面F3として記憶部54に記憶する。
【0114】
ステップS428では3面の側壁面(第3平面F3、第4平面F4、第5平面F5)が形成されたか否かが判断され、形成されていない場合はステップS421~S427が繰り返される。第3平面F3と同様に第4平面F4、第5平面F5が形成されると、ステップS431に移行する。
【0115】
ステップS431では、受付部72は、基準底面に対向する天面の指定を受け付ける。具体的には、図13に示すように表示部51の表示画面51aに表示されたワークWの三次元画像上において第1平面F1に対向した所望の面上で指定点P6のユーザ入力を受け付ける。これにより、天面(第6平面F6)を抽出するためのユーザ入力が受け付けられる。
【0116】
ステップS432ではステップS402と同様に、ステップS431で受け付けた指定点P6に基づいて、抽出部73は、メッシュデータから天面の平面候補を抽出する。そして、抽出部73 は、抽出した平面候補を記憶部54に記憶させる。
【0117】
ステップS433では、受付部72は、第6平面F6の拘束条件を受け付ける。上記したように、受付部72は、天面に対する拘束条件として、基準底面である第1平面F1に対する位置や交差角度等の位置姿勢の指定を受け付けることができる。
【0118】
ステップS434では、多面体作成部76は、天面(第6平面F6)に対する拘束条件が設定されているか否かを判定する。拘束条件が設定されていないと多面体作成部76が判定した場合はステップS437に移行する。
【0119】
ステップS437では、多面体作成部76は、抽出部73により抽出して記憶部54に記憶された平面候補を天面(第6平面F6)として記憶する。すなわち、多面体作成部76は、受付部72により天面に対する拘束条件が受け付けられなかった場合は、抽出部73により抽出された平面候補を天面とする。
【0120】
ステップS434において拘束条件が設定されたと多面体作成部76が判定した場合はステップS435に移行する。ステップS435では、平面決定部77は、後述する幾何拘束処理を行う。ステップS436では、多面体作成部76は、幾何拘束処理により平面決定部77が平面候補を再計算して作成した平面を天面として記憶部54に記憶する。
【0121】
尚、第6平面F6に対する指定点の入力を省略し、第2平面F2、第3平面F3、第4平面F4、第5平面F5のいずれかの上端の位置により第6平面F6が作成されてもよい。
【0122】
ステップS441では、判定部80は、第1平面F1~第6平面F6により六面体の作成が可能か否かを判定する。例えば、判定部80は第2平面F2、第3平面F3、第4平面F4、第5平面F5それぞれと、第1平面F1との4本の交線が四角形を形成できない場合に、六面体の作成不可と判定できる。また、判定部80は、第2平面F2~第5平面F5のいずれかが第1平面F1に平行な場合に六面体の作成不可と判定してもよい。
【0123】
ステップS441において、判定部80により六面体の作成が不可と判定された場合はステップS443に移行する。ステップS443では、表示制御部83は、表示部51にエラー表示して報知し、図4のフローチャートに戻る。すなわち、表示部51は六面体の作成が不可と判定された場合に表示により報知する報知部を構成する。
【0124】
ステップS441において、判定部80により六面体の作成が可能と判定された場合は、ステップS442に移行する。ステップS442では多面体作成部76により第1平面F1~第6平面F6を連結し、図14に示すように六面体を作成する。具体的には、多面体作成部76は六面体を構成する第1平面F1~第6平面F6の内、隣接する3平面を用いて交点を算出する。そして、多面体形成部76はこの交点の算出処理を8回繰り返して8つの交点座標を算出し、この算出された8つの交点座標を六面体の8つの頂点座標とする。
【0125】
ステップS444では、多面体作成部76は、六面体の形状データを記憶部54に記憶し、図4のフローチャートに戻る。
【0126】
尚、図10図14はワークWのリブ形状の要素T1に沿った多面体を作成した例を示しているが、ワークW上の凹形状部分に沿った多面体も同様に作成することができる。
【0127】
図7は幾何拘束処理の動作を示すフローチャートである。幾何拘束処理のステップS501では、記憶部54に記憶された拘束条件が取得される。表1はステップS403、S413、S423、S433において入力画面52aに入力され、記憶部54に記憶された拘束条件データの管理テーブルの例を示している。平面決定部77は表1の管理テーブルから拘束対象要素及び拘束方法を取得する。
【0128】
【表1】
【0129】
ステップS502では、平面決定部77は、拘束条件として平行拘束が指定されているか否かを判定する。平面決定部77により平行拘束が指定されていないと判定された場合はステップS503に移行する。平面決定部77により平行拘束が指定されていると判定された場合はステップS506に移行する。
【0130】
ステップS506で平面決定部77は、平行拘束の拘束対象要素である面の法線ベクトルを算出する。例えば第6平面F6に対する拘束対象要素である第1平面F1の法線ベクトルが算出される。ステップS507ではステップS506で算出した法線ベクトルを法線に持つ平面を平面決定部77により再計算して平面候補として更新し、記憶部54に記憶する。
【0131】
すなわち、平面決定部77は、平行拘束の拘束対象要素である面の法線の向きと、平面候補の法線の向きとが一致するように平面候補を更新し、多面体を構成する平面を決定する。これにより、指定点により決められる位置で拘束条件を満たす平面によって平面候補が更新される。
【0132】
尚、平面決定部77は他の方法で取得した平面により平面候補を更新してもよい。例えば、平面決定部77は、更新前に記憶部54に記憶された平面候補の重心を面内に含み拘束条件を満たす平面により平面候補を更新してもよい。
【0133】
平面決定部77により作成した平面で記憶部54に記憶される平面候補が更新されると、図5図6のフローチャートに戻る。
【0134】
ステップS502において、平面決定部77により平行拘束が指定されていないと判定された場合はステップS503に移行する。の判断で平行拘束が指定されていない場合はステップS503に移行する。ステップS503では、ステップS402、S412、S422、S432のいずれかのステップで記憶部54に記憶された平面候補の法線ベクトルが算出される。
【0135】
ステップS504で平面決定部77は、ステップS503で算出した法線ベクトルを直角拘束の拘束対象要素である面に投影する。例えば、第2平面F2に対する拘束対象要素である第1平面F1に第2平面F2の平面候補の法線ベクトルが投影される。ステップS505ではステップS504で投影されたベクトルを法線に持つ平面を平面決定部77により再計算して平面候補を更新し、記憶部54に記憶する。
【0136】
すなわち、平面決定部77は、直角拘束の拘束対象要素である面の法線の向きと、平面
候補の法線の向きとが直交するように平面候補を更新し、多面体を構成する平面を決定する。これにより、指定点により決められる位置で拘束条件を満たす平面によって平面候補が更新される。
【0137】
尚、平面決定部77は、更新前に記憶部54に記憶された平面候補の重心を面内に含み拘束条件を満たす平面により平面候補を更新してもよい。
【0138】
ステップS511で平面決定部77は、2つ目の拘束条件(直角拘束)があるか否かを判断する。平面決定部77が2つ目の拘束条件がないと判断した場合は図5図6のフローチャートに戻る。平面決定部77が2つ目の拘束条件があると判断した場合はステップS512に移行する。
【0139】
ステップS512では、平面決定部77によりステップS504で1つ目の拘束対象要素の面に投影したベクトルを更に2つ目の拘束対象要素の面に投影する。すなわち、平面決定部77は、ステップS505で再計算された平面の法線ベクトルを2つ目の拘束対象要素の面に投影する。
【0140】
ステップS513ではステップS512で投影したベクトルを法線に持つ平面を平面決定部77により再計算して平面候補を更新し、記憶部54に記憶する。すなわち、平面決定部77は、拘束対象要素である面の法線の向きと、平面候補の法線の向きとが直交するように平面候補を更新し、多面体を構成する平面を決定する。
【0141】
尚、平面決定部77は、更新前に記憶部54に記憶された平面候補の重心を面内に含み拘束条件を満たす平面により平面候補を更新してもよい。そして、平面決定部77により平面候補を更新した後、図5図6のフローチャートに戻る。
【0142】
尚、ここでは、拘束対象要素である基準面に対して直角拘束、平行拘束を設定する場合を説明したが、基準面に対して30度といった任意の角度の拘束条件を設定することもできる。この場合も、平面決定部77は、拘束対象要素の法線の向きと、平面候補の法線の向きとが指定された角度となるように平面候補を更新し、多面体を構成する平面を決定する。一例としては、平面決定部77は、拘束対象要素を指定された角度分だけ傾けた平面に対して平面候補の法線ベクトルを投影する。そして、平面決定部77は、投影されたベクトルを法線に持つ平面を再計算することで、多面体を構成する平面を決定することができる。
【0143】
図15図16は多面体作成部76により複数の六面体を作成した時の斜視図及び側面図を示している。前述の図4のステップS303~S307を繰り返すことにより、例えば図9に示すワークWのリブ形状の要素T1に柱形状の要素T2を加えて図15図16に示すように複数の多面体を作成することができる。変換部81は、幾何要素作成部75で作成された複数の幾何要素をアッセンブリ化された一のCADデータに変換する。そして、出力部82は、アッセンブリ化された一のCADデータを出力する。
【0144】
この時、他の幾何要素の面を拘束対象要素にできる第2モードでは、例えば、要素T1の六面体の基準底面(第1平面F1)及び基準壁面(第2平面F2)を拘束対象要素として要素T2の六面体の基準底面(第1平面F1’)及び基準壁面(第2平面F2’)に対して拘束条件を設定できる。
【0145】
例えば、図16に示すように、要素T1の第6平面F6が要素T1の第1平面F1に対して角度を有していた場合、メッシュデータから抽出された要素T2の基準底面F1’は要素T1の第6平面F6と略一致し、要素T1の第1平面F1とは非平行となる。この場
合、第1モードでは、要素T2の第1平面F1’を基準として要素T2の他の面に対して拘束条件を設定した場合、要素T1の第1平面F1と平行な面を作成するのは難しく、要素T1と要素T2とは一直線上には並ばない。
【0146】
一方、第2モードでは、図17に示すように、要素T2の第1平面F1’に対して、要素T1の第1平面F1に対する平行拘束を設定できる。また、要素T2の第6平面F6’に対して、要素T1の第1平面F1に対する平行拘束を設定できる。このように要素T2の面に対して他の要素T1の面を基準とする拘束条件が設定できることで、要素T1、T2に基づく2つの六面体が一平面上に隣接して並ぶ立体を形成することができる。尚、上記の説明において、要素T2の面に対して要素T1の面を基準として平行拘束が設定される場合を説明したが、平行拘束に限られず、直角拘束が設定されてもよい。
【0147】
本実施形態によると、平面決定部77は、受付部72により指定点のユーザ入力を受け付けることで抽出された平面候補と、受付部72で受け付けた拘束条件の指定とに基づいて、多面体を構成する平面を作成する。これにより、所望位置のメッシュデータに沿った多面体のCADデータを容易に作成することができ、CADのモデリングを容易に行うことができる。
【0148】
また、抽出部73は、指定点を含むポリゴンに連なるポリゴンの内で、指定点を含むポリゴンの法線に対して所定の角度範囲内に存在するポリゴン群を抽出し、抽出されたポリゴン群に近似する平面を平面候補として抽出する。これにより、指定点上の面に近似した平面候補を容易に抽出することができる。
【0149】
また、多面体作成部76は、拘束条件が指定されたか否かを判定し、判定結果に基づいて多面体を構成する面として抽出部73で抽出された平面候補を用いる。これにより、拘束条件の有無をユーザが選択して多面体を作成することができ、形状の柔軟性を担保しながら所望の六面体を正確に再現することができる。
【0150】
また、多面体作成部76は、拘束条件が指定されたか否かを判定し、判定結果に基づいて多面体を構成する面として、拘束条件に基づいて平面決定部77により決定された平面を用いる。これにより、拘束条件の有無をユーザが選択して多面体を作成することができ、形状の柔軟性を担保しながら所望の六面体を正確に再現することができる。
【0151】
また、受付部72は、多面体の基準底面を形成する第1平面F1に隣接した基準壁面を形成する第2平面F2に対する前記拘束条件として、第1平面F1に対する位置姿勢の指定を受け付け、平面決定部77は、基準底面に対する位置姿勢が拘束された平面を第2平面F2として作成する。これにより、第2平面F2を所望の姿勢に容易に配置することができる。
【0152】
また、受付部72は、第1平面F1に対する拘束条件として装置の座標系に対する位置姿勢の指定を受け付けることができる。これにより、装置のステージ上面等のメッシュデータのない面を基準底面とする場合であっても容易に多面体を作成することができる。
【0153】
また、多面体作成部76により六面体を作成する場合に、受付部72は、第3平面F3、第4平面F4及び第5平面F5に対する拘束条件として第1平面F1及び第2平面F2に対する位置姿勢の指定を受け付けることができる。また、第6平面F6に対する拘束条件として第1平面F1に対する位置姿勢の指定を受け付けることができる。これにより、第3平面F3~第6平面F6を所望の姿勢に容易に配置することができる。
【0154】
また、多面体作成部76は、第6平面F6を第1平面F1に対する位置姿勢及び指定点
P6に基づいて作成する。これにより、第6平面F6を容易に作成することができる。
【0155】
また、多面体作成部76は、前記第6平面を、第1平面F1に平行であり、第2平面F2、第3平面F3、第4平面F4及び第5平面F5に交差する平面により作成してもよい。これにより、六面体作成の操作を簡素化することができる。
【0156】
また、多面体作成部76は隣接する3つの平面が交わる交点を算出し、算出された交点を頂点とする六面体を作成する。これにより、六面体を容易に作成することができる。
【0157】
また、多面体の作成可否を判定する判定部80と、多面体を作成できない場合に報知する報知部とを有するので、リバースエンジニアリング支援装置7の利便性を向上することができる。
【0158】
また、多面体作成部76は複数の多面体を作成することができ、複数の多面体を変換部81によりアッセンブリ化された一のCADデータに変換し、出力部82により出力できる。これにより、複数の多面体が組み合わされた立体のCADデータを得ることができ、リバースエンジニアリング支援装置7の利便性を向上することができる。
【0159】
また、受付部72は、一の多面体の所定の面に対する拘束条件として、一の多面体の他の面に対する位置姿勢を受け付ける第1モードと、他の多面体の面に対する位置姿勢を受け付ける第2モードとを有する。これにより、複数の多面体の所望の面に対して所望の姿勢に配置させることができる。
【0160】
また、変換部81は、多面体作成部76で作成された多面体と、受付部72で受け付けたユーザ入力に基づき作成された幾何要素とをアッセンブリ化した一のCADデータに変換し、出力部82により出力できる。これにより、複数の幾何要素が組み合わされた立体のCADデータを得ることができ、リバースエンジニアリング支援装置7の利便性を向上することができる。
【0161】
本実施形態において、三次元測定装置1によりワークWを撮影してメッシュデータを生成しているが、他の機器で生成されたメッシュデータをデータ取得部84により取得してリバースエンジニアリングを行う装置であってもよい。
【産業上の利用可能性】
【0162】
本発明によると、三次元形状を計測したデータからCAD図面を作成するリバースエンジニアリングを支援するリバースエンジニアリング支援装置に利用することができる。
【符号の説明】
【0163】
1 三次元測定装置
2 測定部
3 ライトガイド
4 コントローラ
5 情報処理端末
7 リバースエンジニアリング支援装置
21 ステージ
22 回転駆動部
23 撮像部
24 投光部
25 テクスチャ照明出射部
26 制御基板
27 ベース筐体
41 テクスチャ光源
42 制御基板
43 電源
51 表示部
51a 表示画面
52 キーボード
53 マウス
54 記憶部
55 CPU
72 受付部
72a 入力テーブル
73 抽出部
74 編集部
75 幾何要素作成部
76 多面体作成部
77 平面決定部
79 曲面体作成部
80 判定部
81 変換部
82 出力部
83 表示制御部
84 データ取得部
211 ステージプレート
212 ステージベース
231 受光レンズ
232 撮像素子
241 投光用光源
242 コレクタレンズ
243 パターン生成ユニット
244 投光レンズ
F1~F6 第1平面~第6平面
J1 受光軸
J2、J3 投光軸
J4 回転軸
P1~P6 指定点
W ワーク
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17