以下、本発明の実施の形態を、図面を参照して説明する。
図1は、本発明の一実施形態に係る3次元モデル生成装置を示した図である。図1に示す3次元モデル生成装置1は、例えば、パーソナルコンピュータやサーバ等の情報処理装置である。図1には、3次元モデル生成装置1の他に、3次元測定器2と、3次元測定器2が出力する3次元点群データDとが示してある。
3次元測定器2は、例えば、プラントを構成している構成部材(部品)の各部位にレーザビームを照射し、3次元点群データDを出力する。3次元測定器2が出力する3次元点群データDには、例えば、レーザビームによる部品の計測点座標(x,y,z)と、R,G,Bの色情報とが含まれる。
3次元モデル生成装置1には、3次元測定器2が計測した3次元点群データDが入力される。3次元モデル生成装置1は、3次元測定器2が計測した3次元点群データDから、プラントを構成している、平面を備えた鉄骨を自動判定する。例えば、プラントは、I字鋼、L字鋼、U字鋼等の鉄骨や、筒状のパイプ、タンク等の部品によって構成されているが、3次元モデル生成装置1は、プラントを構成しているそのような部品の中から、I字鋼、L字鋼、U字鋼等の鉄骨を自動判定する。
3次元モデル生成装置1は、プラントを構成している鉄骨を自動判定すると、鉄骨の3次元CAD(Computer Aided Design)データを生成する。3次元モデル生成装置1は、生成した鉄骨の3次元CADデータに基づいて、プラントを構成する鉄骨の3次元モデルを、表示装置に表示する。
図2は、3次元モデル生成装置1に入力される3次元点群データDの例を説明する図である。図2には、プラントの一部の3次元点群データDを可視化した例が示してある。図2では、白黒でプラントの一部を可視化しているが、3次元点群データDは、上記したようにR,G,Bの色情報を有しており、白黒以外の色も表現することができる。3次元モデル生成装置1には、図2に示すようなプラントの計測点座標(x,y,z)と、R,G,Bの色情報とを含む3次元点群データDが入力される。
図3は、3次元モデル生成装置1が表示装置に表示する3次元モデルの例を示した図である。図3に示す3次元モデルは、図2に示したプラントの、鉄骨の3次元モデルを示している。
図1で説明したように、3次元モデル生成装置1は、3次元測定器2が測定した3次元点群データDから、プラントを構成している鉄骨を自動判定する。3次元モデル生成装置1は、自動判定したプラントの鉄骨の3次元CADデータを生成し、図3に示すような、プラントを構成する鉄骨の3次元モデルを表示装置に表示する。
なお、上記では、3次元モデル生成装置1は、プラントを構成している鉄骨を自動判定するとしたが、これに限られない。例えば、3次元モデル生成装置1は、プラント以外の構造物の鉄骨を自動判定してもよい。
また、上記では、3次元モデル生成装置1は、プラントを構成する鉄骨の3次元モデルを表示装置に表示するとしたが、これに限られない。例えば、3次元モデル生成装置1は、プラントを構成する、鉄骨以外の部品の3次元CADデータも生成し、その3次元モデルも表示装置に表示してもよい。
図4は、3次元モデル生成装置1の機能ブロック例を示した図である。図4に示すように、3次元モデル生成装置1は、入力部11と、平面抽出部12と、グループ化部13と、連結関係抽出部14と、判定部15と、取得部16と、生成部17と、表示部18とを有している。また、3次元モデル生成装置1は、3次元点群データ記憶部21と、ルール情報記憶部22と、規格値記憶部23と、3次元CADデータ記憶部24とを有している。
入力部11は、ユーザの入力装置等の操作に応じて、情報を入力する。入力部11は、入力した情報を所定の記憶部に記憶する。
例えば、入力部11は、3次元測定器2が測定した、プラントの3次元点群データを入力する。入力部11は、入力した3次元点群データを3次元点群データ記憶部21に記憶する。
また、入力部11は、鉄骨のルール情報を入力する。鉄骨のルール情報は、例えば、3次元モデル生成装置1がプラントの鉄骨を自動判定する前に、ユーザによって予め入力される。入力部11は、入力した鉄骨のルール情報をルール情報記憶部22に記憶する。鉄骨のルール情報については、以下で詳述する。
また、入力部11は、鉄骨の寸法の規格値を入力する。鉄骨の寸法の規格値は、例えば、3次元モデル生成装置1がプラントの鉄骨を自動判定する前に、ユーザによって予め入力される。入力部11は、入力した鉄骨の寸法の規格値を規格値記憶部23に記憶する。鉄骨の寸法の規格値については、以下で詳述する。
平面抽出部12は、3次元点群データ記憶部21を参照し、プラントを構成している部品の平面を抽出する。I字鋼、L字鋼、U字鋼等の鉄骨は、平面を有しているからである。平面抽出部12は、例えば、3次元点群データ記憶部21に記憶された3次元点群データに対して平面をフィッティングし、プラントを構成している部品の平面を抽出する。なお、平面フィッティングによる平面抽出は、一般的な技術を用いることができる。
グループ化部13は、平面抽出部12によって抽出された平面をグループ化する。グループ化部13は、平面抽出部12によって抽出された平面を、基準方向に対する角度と、平面間との距離とに基づいて、グループ化する。
図5は、平面抽出およびグループ化の例を説明する図である。図5には、3次元測定器2によって計測されたI字鋼の断面が示してある。
まず、平面抽出について説明する。平面抽出部12は、平面フィッティングにより、I字鋼の平面を抽出する。例えば、平面抽出部12は、図5に示すように、平面P1〜P8を抽出する。
なお、図5では、説明を簡単にするため、1つのI字鋼における平面抽出について説明しているが、平面抽出部12は、3次元点群データ記憶部21に記憶されている3次元点群データの全て(または一部)に対して、平面フィッティングを行う。すなわち、平面抽出部12は、プラントに含まれている部品の全て(または一部)の平面を抽出する。
平面抽出部12は、I字鋼の平面の大きさや幅によっては、I字鋼の平面を抽出しなくてもよい。例えば、平面抽出部12は、所定の閾値より小さい面積の平面については、その平面を抽出しなくてもよい。具体的には、平面抽出部12は、図5の平面P11a〜P11dを抽出しなくてもよい。平面P11a〜P11dのような面積の小さい平面は、例えば、3次元測定器2によって、計測されていない場合もあり、このようなことからも、平面抽出部12は、所定の閾値より小さい面積の平面については、その平面を抽出しなくてもよい。ただし、面積の小さい平面を抽出するか否かは仕様事項であり、平面抽出部12は、面積の小さい平面(例えば、平面P11a〜P11d)を抽出してもよい。
次に、平面のグループ化について説明する。グループ化部13は、まず、平面抽出部12によって抽出された平面を、所定の角度を持つ平面でグループ化する。例えば、グループ化部13は、基準方向に対し、所定の角度を持つ平面でグループ化する。
例えば、図5の例の場合、平面P1,P2,P3,P6,P7,P8は、基準方向A1に対し、0度(または180度)の角度をなしている。また、平面P4,P5は、基準方向A1に対し、90度の角度をなしている。従って、グループ化部13は、基準方向A1に対し、0度の角度をなしている「平面P1,P2,P3,P6,P7,P8」のグループと、基準方向A1に対し、90度の角度をなしている「平面P4,P5」のグループとに、平面をグループ化する。
図6は、図5の例における平面の角度グループを説明する図である。図5の例の場合、「平面P1,P2,P3,P6,P7,P8」は、「0度」の角度グループにグループ化され、「平面P4,P5」は、「90度」の角度グループにグループ化される。
すなわち、グループ化部13は、図6の表31に示すように、図5の「平面P1〜P8」を、「0度」の角度グループ「平面P1,P2,P3,P6,P7,P8」と、「90度」の角度グループ「P4,P5」とにグループ化する。
なお、図6の例では、角度グループは、「0度」と「90度」の2つしか示していないが、実際は、それ以上存在する。例えば、角度グループは、x度間隔等(xは正数)、所定の間隔で存在する。プラントには、様々な方向を向いた平面が含まれているからである。すなわち、グループ化部13は、所定の角度ごとに、平面抽出部12によって抽出された平面をグループ化する。
また、平面の基準方向A1に対する角度は、例えば、3次元測定器2の計測誤差等によって、多少の誤差を有する。従って、グループ化部13は、例えば、近接した角度を持つ平面でグループ化してもよい。例えば、グループ化部13は、基準方向A1に対し、「0度±α」、「90度±α」の角度を持つ平面でグループ化してもよい。
グループ化部13は、平面を角度でグループ化すると、角度でグループ化した平面を、さらに所定の距離内にある平面でグループ化する。
例えば、グループ化部13は、「0度」の角度グループの平面を、所定の距離内にある平面でグループ化し、「90度」の角度グループの平面を、所定の距離内にある平面でグループ化する。
具体的には、図5において、「0度」の角度グループにグループ化された「平面P1,P2,P3,P6,P7,P8」のうち、「平面P1,P2,P3」はそれぞれ距離が近い(所定の距離内にある)。また、「0度」の角度グループにグループ化された「平面P1,P2,P3,P6,P7,P8」のうち、「平面P6,P7,P8」はそれぞれ距離が近い(所定の距離内にある)。従って、図5の例の場合、グループ化部13は、「0度」の角度グループの「平面P1,P2,P3,P6,P7,P8」を、さらに「平面P1,P2,P3」のグループと、「平面P6,P7,P8」のグループとにグループ化する。
また、「90度」の角度グループにグループ化された「平面P4,P5」は、距離が近い(所定の距離内にある)。従って、グループ化部13は、「90度」の角度グループの「平面P4,P5」を、「平面P4,P5」にグループ化する。
図7は、図5の例における平面の距離グループを説明する図である。図5の例の場合、「0度」の角度グループにグループ化された「平面P1,P2,P3,P6,P7,P8」は、所定距離内にある距離グループとして、「平面P1,P2,P3」と「平面P6,P7,P8」とにグループ化される。「90度」の角度グループにグループ化された「平面P4,P5」は、所定距離内にある距離グループとして、「平面P4,P5」にグループ化される。
すなわち、グループ化部13は、図7の表32に示すように、最終的に図5の「平面P1〜P8」を、「平面P1,P2,P3」のグループG1と、「平面P6,P7,P8」のグループG2と、「平面P4,P5」のグループG3とにグループ化する。
図8は、グループ化部13による鉄骨平面のグループ結果を説明する図である。図8の矢印A1には、グループ化部13による、図5に示したI字鋼の平面のグループ結果が示してある。図5に示したI字鋼の平面は、矢印A1の点線枠に示すように、グループG1,G2,G3にグループ化される。図8のグループG1,G2,G3は、図7に示した表32の距離グループの「G1,G2,G3」に対応している。
なお、矢印A2には、L字鋼の平面のグループ化例が示してある。グループ化部13は、L字鋼の場合、矢印A2の点線枠に示すように、平面を2つのグループG11,G12にグループ化することになる。
また、矢印A3には、U字鋼の平面のグループ化例が示してある。グループ化部13は、U字鋼の場合、矢印A3の点線枠に示すように、平面を3つのグループG21,G22,G23にグループ化することになる。
グループ化部13は、平面抽出部12によって抽出された平面をグループ化すると、グループ化した平面のグループ(平面グループ)を線分化する。すなわち、グループ化部13は、鉄骨の骨格(鉄骨の断面骨格)を抽出する。
図9は、鉄骨の線分化を説明する図である。図9の矢印A11には、図5に示したI字鋼の一部が示してある。図9において、図5と同じものには同じ符号が付してある。
グループ化部13は、平面をグループ化すると、その平面グループの各平面との平均距離が最小となる線分を引く。そのとき、グループ化部13は、各平面グループの線分が直結するように、線分を延長して引く。
例えば、グループ化部13は、「平面P1,P2,P3」の平面グループにおいては、線分41aを引く。また、グループ化部13は、「平面P4,P5」の平面グループにおいては、線分41bが線分41aに直結するように、線分41bを延長して引く。
なお、図9の矢印A12には、I字鋼の線分化結果が示してある。例えば、線分L1は、図8の矢印A1に示すグループG1の平面グループの線分化結果を示し、線分L2は、グループG2の平面グループの線分化結果を示し、線分L3は、グループG3の平面グループの線分化結果を示している。
また、図9の矢印A13には、L字鋼の線分化結果が示してある。例えば、線分L11は、図8の矢印A2に示すグループG11の平面グループの線分化結果を示し、線分L12は、グループG12の平面グループの線分化結果を示している。
また、図9の矢印A14には、U字鋼の線分化結果が示してある。例えば、線分L21は、図8の矢印A3に示すグループG21の平面グループの線分化結果を示し、線分L22は、グループG22の平面グループの線分化結果を示し、線分L23は、グループG23の平面グループの線分化結果を示している。
ここで、I字鋼、L字鋼、およびU字鋼の線分の連結関係は、それぞれにおいて異なっている。例えば、I字鋼では、線分L1と線分L3は、線分L1の中点と、線分L3の終点(端)とが連結している。また、線分L2と線分L3は、線分L2の中点と、線分L3の終点とが連結している。
また、L字鋼では、線分L11と線分L12は、線分L11の終点と、線分L12の終点とが連結している。
また、U字鋼では、線分L21と線分L22は、線分L21の終点と、線分L22の終点とが連結している。また、線分L21と線分L23は、線分L21の終点と、線分L23の終点とが連結している。
従って、グループ化部13によってグループ化された平面グループの連結関係(平面グループを示す線分の連結関係)を抽出すれば、プラントを構成している部品の中から、鉄骨(I字鋼、L字鋼、およびU字鋼)を判定することができる。
図4の説明に戻る。連結関係抽出部14は、グループ化部13によってグループ化された平面グループ間の連結関係を抽出する。例えば、連結関係抽出部14は、グループ化部13による平面グループの線分化結果を用いて、グループ化された平面グループ間の連結関係を抽出する。
図10は、I字鋼の連結関係を説明する図である。図10の矢印A21には、I字鋼の線分化結果が示してある。I字鋼は、図8の矢印A1に示したように、3つの平面グループに分けられる。図10の線分51a〜51cは、I字鋼のそれぞれの平面グループの線分化結果を示している。なお、線分51aは、図8の矢印A1に示すI字鋼のグループG1の線分に対応している。線分51bは、図8の矢印A1に示すI字鋼のグループG2の線分に対応している。線分51cは、図8の矢印A1に示すI字鋼のグループG3の線分に対応している。
点52a,52bは、線分51a〜51cの連結部分を示している。すなわち、点52a,52bは、グループ化部13によってグループ化された平面グループの連結部分を示している。
連結関係抽出部14は、グループ化部13によってグループ化された平面グループ間の連結関係を抽出する。連結関係抽出部14は、平面グループの連結関係をグラフ化して、平面グループ間の連結関係を抽出する。
例えば、連結関係抽出部14は、グループ化部13によってグループ化された平面グループの線分化結果を用いて、平面グループをグラフ化する。具体的には、連結関係抽出部14は、矢印A21の線分51a,51b,51cを、矢印A22に示すように、ノード53a,53b,53cで示す。なお、ノード53aは、線分51aに対応し、ノード53bは、線分51bに対応し、ノード53cは、線分51cに対応している。
また、連結関係抽出部14は、矢印A21の線分51a,51b,51cの連結の有無を、矢印A22に示すように、アーク54a,54bで示す。
例えば、矢印A21に示すように、線分51aと線分51cは、点52aにおいて連結している。従って、連結関係抽出部14は、矢印A22に示すように、線分51aに対応するノード53aと、線分51cに対応するノード53cとを、アーク54aで結ぶ。
また、矢印A21に示すように、線分51bと線分51cは、点52bにおいて連結している。従って、連結関係抽出部14は、矢印A22に示すように、線分51bに対応するノード53bと、線分51cに対応するノード53cとを、アーク54bで結ぶ。
なお、矢印A21に示すように、線分51aと線分51bは、直接連結していない。従って、連結関係抽出部14は、矢印A22に示すように、線分51aに対応するノード53aと、線分51bに対応するノード53bとを、直接アークで結んでいない。
連結関係抽出部14は、上記のようにして、線分51a,51b,51cをグラフ化すると、線分51a,51b,51cの連結位置を抽出する。例えば、線分51aと線分51cは、線分51aの中点と、線分51cの終点とにおいて、連結している。従って、連結関係抽出部14は、矢印A23に示すように、ノード53aとノード53cの連結位置を[中点,終点]と抽出する。同様に、線分51cと線分51bは、線分51cの終点と、線分51bの中点とにおいて、連結している。従って、連結関係抽出部14は、ノード53cとノード53bの連結位置を、矢印A24に示すように、[終点,中点]と抽出する。
以上より、連結関係抽出部14は、プラントを構成する部品にI字鋼が含まれていた場合、矢印A22に示すノード関係と、矢印A23,A24に示す連結位置とを有する連結関係を抽出する。
図11は、L字鋼の連結関係を説明する図である。図11の矢印A31には、L字鋼の線分化結果が示してある。L字鋼は、図8の矢印A2に示したように、2つの平面グループに分けられる。図11の線分61a,61bは、L字鋼のそれぞれの平面グループの線分化結果を示している。
点62は、線分61a,61bの連結部分を示している。すなわち、点62は、グループ化部13によってグループ化された平面グループの連結した部分を示している。
連結関係抽出部14は、グループ化部13によってグループ化された平面グループ間の連結関係を抽出する。連結関係抽出部14は、平面グループの連結関係をグラフ化して、平面グループ間の連結関係を抽出する。
例えば、連結関係抽出部14は、グループ化部13によってグループ化された平面グループの線分化結果を用いて、平面グループをグラフ化する。具体的には、連結関係抽出部14は、矢印A31の線分61a,61bを、矢印A32に示すように、ノード63a,63bで示す。なお、ノード63aは、線分61aに対応し、ノード63bは、線分61bに対応している。
また、連結関係抽出部14は、矢印A31の線分61a,61bの連結の有無を、矢印A32に示すように、アーク64で示す。
例えば、矢印A31に示すように、線分61aと線分61bは、点62において連結している。従って、連結関係抽出部14は、矢印A32に示すように、線分61aに対応するノード63aと、線分61bに対応するノード63bとを、アーク64で結ぶ。
連結関係抽出部14は、上記のようにして、線分61a,61bをグラフ化すると、線分61a,61bの連結位置を抽出する。例えば、線分61aと線分61bは、線分61aの終点と、線分61bの終点とにおいて、連結している。従って、連結関係抽出部14は、矢印A33に示すように、ノード63aとノード63bの連結位置を[終点,終点]と抽出する。
以上より、連結関係抽出部14は、プラントを構成する部品にL字鋼が含まれていた場合、矢印A32に示すノード関係と、矢印A33に示す連結位置とを有する連結関係を抽出する。
図12は、U字鋼の連結関係を説明する図である。図12の矢印A41には、U字鋼の線分化結果が示してある。U字鋼は、図8の矢印A3に示したように、3つの平面グループに分けられる。図12の線分71a〜71cは、U字鋼のそれぞれの平面グループの線分化結果を示している。
点72a,72bは、線分71a〜71cの連結部分を示している。すなわち、点72a,72bは、グループ化部13によってグループ化された平面グループの連結した部分を示している。
連結関係抽出部14は、グループ化部13によってグループ化された平面グループ間の連結関係を抽出する。連結関係抽出部14は、平面グループの連結関係をグラフ化して、平面グループ間の連結関係を抽出する。
例えば、連結関係抽出部14は、グループ化部13によってグループ化された平面グループの線分化結果を用いて、平面グループをグラフ化する。具体的には、連結関係抽出部14は、矢印A41の線分71a,71b,71cを、矢印A42に示すように、ノード73a,73b,73cで示す。なお、ノード73aは、線分71aに対応し、ノード73bは、線分71bに対応し、ノード73cは、線分71cに対応している。
また、連結関係抽出部14は、矢印A41の線分71a,71b,71cの連結の有無を、矢印A42に示すように、アーク74a,74bで示す。
例えば、矢印A41に示すように、線分71aと線分71bは、点72aにおいて連結している。従って、連結関係抽出部14は、矢印A42に示すように、線分71aに対応するノード73aと、線分71bに対応するノード73bとを、アーク74aで結ぶ。
また、矢印A41に示すように、線分71aと線分71cは、点72bにおいて連結している。従って、連結関係抽出部14は、矢印A42に示すように、線分71aに対応するノード73aと、線分71cに対応するノード73cとを、アーク74bで結ぶ。
なお、矢印A41に示すように、線分71bと線分71cは、直接連結していない。従って、連結関係抽出部14は、矢印A42に示すように、線分71bに対応するノード73bと、線分71cに対応するノード73cとを、直接アークで結んでいない。
連結関係抽出部14は、上記のようにして、線分71a,71b,71cをグラフ化すると、線分71a,71b,71cの連結位置を抽出する。例えば、線分71aと線分71bは、線分71aの終点と、線分71bの終点とにおいて、連結している。従って、連結関係抽出部14は、ノード73aとノード73bの連結位置を矢印A43に示すように、[終点,終点]と抽出する。同様に、線分71aと線分71cは、線分71aの終点と、線分71cの終点とにおいて、連結している。従って、連結関係抽出部14は、ノード73aとノード73cの連結位置を、矢印A44に示すように、[終点,終点]と抽出する。
以上より、連結関係抽出部14は、プラントを構成する部品にU字鋼が含まれていた場合、矢印A42に示すノード関係と、矢印A43,A44に示す連結位置とを有する連結関係を抽出する。
図4の説明に戻る。判定部15は、連結関係抽出部14によって抽出された連結関係に基づいて、ルール情報記憶部22を参照し、プラントを構成している鉄骨を判定する。
ルール情報記憶部22について説明する。ルール情報記憶部22には、連結関係と鉄骨の型とが対応付けられて記憶されている。
図13は、ルール情報記憶部22のデータ構成例を示した図である。図13に示すように、ルール情報記憶部22には、連結関係22aと、型22bとが記憶される。連結関係22aは、さらにノード関係22aaと、連結位置22abとを有している。連結関係22aと型22bは、予めユーザによってルール情報記憶部22に記憶される。
ノード関係22aaは、鉄骨の平面グループのノード関係を示す。鉄骨の平面グループのノード関係22aaには、例えば、図10の矢印A22に示すノード関係、図11の矢印A32に示すノード関係、および図12の矢印A42に示すノード関係がある。
連結位置22abは、ノードの連結位置を示す。連結位置22abには、例えば、図10の矢印A23,A24に示す連結位置、図11の矢印A33に示す連結位置、および図12の矢印A43,A44に示す連結位置がある。
型22bは、鉄骨の型を示す。型22bには、例えば、I字鋼、L字鋼、およびU字鋼がある。
例えば、連結関係抽出部14は、図10の矢印A22に示すノード関係と、矢印A23,A24に示す連結位置とを抽出したとする。この場合、連結関係抽出部14が抽出したノード関係と連結位置は、図13のNo.1に示すノード関係22aaと連結22abとに対応する。従って、判定部15は、連結関係抽出部14によって抽出された連結関係を有する平面グループの部品は「I字鋼である」と判定する。
図4の説明に戻る。取得部16は、判定部15によって判定された鉄骨の型の寸法の規格値を、規格値記憶部23を参照して取得する。例えば、連結関係抽出部14が抽出した連結関係には、平面グループを構成している各平面の形状や配置等の形態データ(鉄骨の寸法データ)も含まれており、取得部16は、連結関係に含まれている形態データに最も近い鉄骨の寸法の規格値を、規格値記憶部23を参照して取得する。
一般的に鉄骨には、寸法ついて規格値がある。また、3次元測定器2の測定値には、誤差等が含まれている場合がある。取得部16は、判定部15が判定した鉄骨に、鉄骨の規格値を引き当てることにより、3次元測定器2の測定値に含まれていた誤差を補正する。
規格値記憶部23について説明する。規格値記憶部23には、鉄骨の各型における規格値が記憶されている。
図14は、規格値記憶部23のデータ構成例を示した図である。図14に示すように、規格値記憶部23には、型23aと、規格値23bとが記憶される。型23aと規格値23bは、予めユーザによって規格値記憶部23に記憶される。
型23aは、鉄骨の型を示す。型23aには、例えば、I字鋼、L字鋼、およびU字鋼がある。
規格値23bは、型23aに対応する鉄骨(断面)の寸法の規格値を示す。図14に示すように、鉄骨には、それぞれの型において、複数の規格値がある。
例えば、判定部15は、「I字鋼」を判定したとする。この場合、取得部16は、規格値記憶部23の型23aが「I字鋼」である規格値23bを参照し、連結関係抽出部14が抽出した連結関係に含まれている、判定部15が判定した「I字鋼」の形態データに最も近い規格値を取得する。
図4の説明に戻る。生成部17は、取得部16によって取得された規格値に基づいて、鉄骨の3次元CADデータを生成する。例えば、生成部17は、取得部16が取得した鉄骨(断面)の規格値と、形態データに含まれている鉄骨の長手方向(鉄骨の断面に対し垂直な方向)の長さとから、鉄骨の3次元CADデータを生成する。生成部17は、生成した鉄骨の3次元CADデータを、3次元CADデータ記憶部24に記憶する。
表示部18は、3次元CADデータ記憶部24に記憶された3次元CADデータに基づいて、プラントの鉄骨の3次元画像データを生成する。表示部18が生成した3次元画像データは、表示装置に出力され、表示装置には、例えば、図3に示したような鉄骨の3次元モデルが表示される。なお、表示部18は、鉄骨以外の部品の3次元モデルも表示してもよい。
3次元モデル生成装置1の動作を、フローチャートを用いて説明する。
図15は、3次元モデル生成装置1の動作例を示したフローチャートである。3次元モデル生成装置1は、例えば、ユーザからの3次元CADデータの生成指示に応じて、図15のフローチャートの処理を開始する。
なお、鉄骨の3次元CADデータの生成対象となるプラントの3次元点群データは、3次元測定器2によって測定され、3次元点群データ記憶部21に記憶されているとする。また、図13で説明した連結関係22aと型22bとを含むルール情報は、例えば、ユーザからの入力によってルール情報記憶部22に記憶されているとする。また、鉄骨の規格値は、例えば、ユーザによって規格値記憶部23に記憶されているとする。
まず、平面抽出部12は、3次元点群データ記憶部21を参照し、プラントを構成している部品の平面を抽出する(ステップS1)。
次に、グループ化部13は、ステップS1にて抽出された平面をグループ化する(ステップS2)。
例えば、グループ化部13は、平面抽出部12によって抽出された平面を、図7の表32に示すように、基準方向に対する角度と、平面間との距離とに基づいて、グループ化する。これにより、例えば、図8の矢印A1〜A3に示すように、I字鋼、L字鋼、およびU字鋼を構成している平面は、点線枠に示すようにグループ化される。
次に、連結関係抽出部14は、ステップS2にてグループ化された平面グループ間の連結関係を抽出する(ステップS3)。
例えば、グループ化部13によってグループ化された平面グループが、図8の矢印A1に示すI字鋼を構成する平面グループであった場合、連結関係抽出部14は、図10の矢印A22に示すノード関係と、矢印A23,A24に示す連結位置とを有する連結関係を抽出することになる。
次に、判定部15は、ステップS3にて抽出された連結関係に基づいて、ルール情報記憶部22を参照し、プラントを構成している鉄骨の型を判定する(ステップS4)。
例えば、連結関係抽出部14によって抽出された連結関係が、図10の矢印A22に示すノード関係と、矢印A23,A24に示す連結位置とを有する連結関係であった場合、その連結関係は、図13のルール情報記憶部22の「No.1」に該当し、判定部15は、I字鋼であると判定する。
次に、取得部16は、ステップS4にて判定された鉄骨の型の規格値を、規格値記憶部23を参照して取得する(ステップS5)。
例えば、判定部15は、「I字鋼」を判定したとする。この場合、取得部16は、規格値記憶部23の型23aが「I字鋼」である規格値23bを参照し、連結関係抽出部14が抽出した連結関係に含まれている、判定部15が判定した「I字鋼」の形態データに近い規格値を取得する。
次に、生成部17は、ステップS5にて取得された規格値に基づいて、鉄骨の3次元CADデータを生成する(ステップS6)。生成部17は、生成した鉄骨の3次元CADデータを3次元CADデータ記憶部24に記憶する。
次に、表示部18は、ステップS6にて3次元CADデータ記憶部24に記憶された3次元CADデータに基づいて、プラントの鉄骨の3次元画像データを生成し、鉄骨の3次元モデルを表示装置に表示する(ステップS7)。そして、3次元モデル生成装置1は、当該フローチャートの処理を終了する。
グループ化部13の詳細な動作を、フローチャートを用いて説明する。
図16は、グループ化部13の動作例を示したフローチャートである。図16のフローチャートは、図15のステップS2の詳細な処理動作を示している。
まず、グループ化部13は、平面抽出部12によって抽出された平面(図15のステップS1にて抽出された平面)を、所定の角度を持つ平面でグループ化する(ステップS11)。
例えば、グループ化部13は、基準方向に対し、所定の角度を持つ平面でグループ化する。具体的には、グループ化部13は、図6の表31に示すように、平面を所定の角度グループでグループ化する。
次に、グループ化部13は、平面抽出部12によって抽出された平面の全てにおいて、角度による平面のグループ化処理を実行したか否か判定する(ステップS12)。グループ化部13は、平面抽出部12によって抽出された平面の全てにおいて、角度による平面のグループ化処理を実行していない場合(S12の「No」)、処理をステップS11に移行する。グループ化部13は、平面抽出部12によって抽出された平面の全てにおいて、角度による平面のグループ化処理を実行した場合(S12の「Yes」)、処理をステップS13に移行する。
グループ化部13は、ステップS12において、平面抽出部12によって抽出された平面の全てにおいて、角度による平面のグループ化処理を実行したと判定した場合(S12の「Yes」)、角度でグループ化した平面を、所定の距離内にある平面でグループ化する(ステップS13)。
例えば、グループ化部13は、図7の表32に示すように、角度グループでグループ化さした平面を、さらに距離でグループ化する。
次に、グループ化部13は、全角度グループに対して、距離のグループ化処理を実行したか否か判定する(ステップS14)。グループ化部13は、全角度グループに対して、距離のグループ化処理を実行していない場合(S14の「No」)、処理をステップS13に移行する。グループ化部13は、全角度グループに対して、距離のグループ化処理を実行した場合(S14の「Yes」)、処理をステップS15に移行する。
グループ化部13は、ステップS14において、全角度グループに対して、距離のグループ化処理を実行したと判定した場合(S14の「Yes」)、グループ化された平面グループ(角度および距離でグループ化した平面)を線分化する(ステップS15)。
次に、グループ化部13は、全平面グループに対して、線分化処理を実行したか否か判定する(ステップS16)。グループ化部13は、全平面グループに対して、線分化処理を実行していない場合(S16の「No」)、処理をステップS15に移行する。グループ化部13は、全平面グループに対して、線分化処理を実行した場合(S16の「Yes」)、当該フローチャートの処理を終了する。なお、グループ化部13は、当該フローチャートの処理を終了すると、図15のステップS3に処理を移行する。
図17は、3次元モデル生成装置1のハードウェア構成例を示した図である。3次元モデル生成装置1は、例えば、図17に示すような、CPU(Central Processing Unit)等の演算装置101と、RAM(Random Access Memory)などの主記憶装置102と、HDD(Hard Disk Drive)等の補助記憶装置103と、有線又は無線により通信ネットワークと接続するための通信インターフェイス(I/F)104と、マウス、キーボード、タッチセンサーやタッチパネルなどの入力装置105と、液晶ディスプレイなどの表示装置106と、DVD(Digital Versatile Disk)などの持ち運び可能な記憶媒体に対する情報の読み書きを行う読み書き装置107と、を備えるコンピュータで実現することができる。
例えば、3次元モデル生成装置1の各部の機能は、補助記憶装置103などから主記憶装置102にロードされた所定のプログラムを演算装置101が実行することで実現される。3次元モデル生成装置1の各記憶部の機能は、例えば、演算装置101が主記憶装置102または補助記憶装置103を利用することで実現される。
上記の所定のプログラムは、例えば、読み書き装置107により読み取られた記憶媒体からインストールされてもよいし、通信I/F104を介してネットワークからインストールされてもよい。
このように、3次元モデル生成装置1の入力部11は、プラントの3次元点群データを入力する。平面抽出部12は、3次元点群データからプラントの平面を抽出する。グループ化部13は、平面の基準方向に対する角度と、平面間の距離とに基づいて、平面を平面グループにグループ化する。連結関係抽出部14は、グループ化された平面グループ間の連結関係を抽出する。判定部15は、抽出された連結関係に基づいて、プラントを構成している鉄骨を判定する。これにより、3次元モデル生成装置1は、プラントに含まれている、鉄骨を自動判定することができる。
また、取得部16は、判定された鉄骨の型の規格値を規格値記憶部23から取得し、生成部17は、取得された規格値に基づいて、鉄骨の3次元CADデータを生成する。これにより、3次元モデル生成装置1は、精度のよい鉄骨の3次元CADデータを生成することができる。
なお、鉄骨は、I字鋼、L字鋼、U字鋼に限られない。例えば、3次元モデル生成装置1は、T字鋼等、ルール情報記憶部22にその他の型のルール情報が記憶されることにより、その他の型の鉄骨も判定することができる。
また、3次元モデル生成装置1は、生成部17が生成した鉄骨の3次元CADデータと、設計時の鉄骨の3次元CADデータとを比較する比較部と、比較部の比較結果に基づいて、鉄骨の3次元CADデータと、設計時の鉄骨の3次元CADデータとの乖離を算出する乖離算出部を有していてもよい。これにより、3次元モデル生成装置1は、実際にプラントに使用された鉄骨が、設計時の鉄骨に対してどのくらい異なっていたかを出力することができる。
また、3次元モデル生成装置1は、生成部17が生成した鉄骨の3次元CADデータに基づいて、鉄骨のプラント内における搬入ルートを算出する搬入ルート算出部を有していてもよい。そして、3次元モデル生成装置1は、プラントと、搬入ルート算出部が算出した搬入ルートにおける鉄骨との干渉を検出する干渉検出部を有していてもよい。これにより、3次元モデル生成装置1は、例えば、プラントの古い鉄骨を新たな鉄骨に交換する場合において、鉄骨の搬入の際、鉄骨とプラントとが干渉するか否かを判定することができる。
また、入力部11は、プラントの複数個所において計測した3次元点群データを入力してもよい。そして、生成部17は、複数個所において計測されたプラントの3次元点群データから、それぞれの箇所における鉄骨の3次元CADデータを生成し、生成した3次元CADデータを1つの座標系に統合してもよい。
例えば、入力部11は、プラントの複数の異なる箇所で測定された3次元点群データを入力する。そして、生成部17は、複数の異なる箇所で測定された3次元点群データから、それぞれの箇所における鉄骨の3次元CADデータを、独立した座標系で生成し、生成した各座標系における3次元CADデータを、1つの共通座標系に統合する。これにより、3次元モデル生成装置1は、プラントの複数の異なる箇所で測定された3次元点群データから、1つのプラントにおける3次元CADデータを生成することができる。
また、生成部17は、鉄骨以外の部品の3次元CADデータも生成し、3次元CADデータ記憶部24に記憶してもよい。このとき、生成部17は、各部品の属性情報を付して、生成した3次元CADデータを3次元CADデータ記憶部24に記憶してもよい。例えば、生成部17は、生成した3次元CADデータに、鉄骨、パイプ、タンク等の属性情報を付して、3次元CADデータ記憶部24に記憶してもよい。
以上、本発明について実施形態を用いて説明したが、3次元モデル生成装置1の機能構成は、3次元モデル生成装置1の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。3次元モデル生成装置1の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
また、上述したフローチャートの各処理単位は、3次元モデル生成装置1の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。3次元モデル生成装置1の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、1つの処理単位がさらに多くの処理を含むように分割することもできる。
また、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に多様な変更または改良を加えることが可能であることが当業者には明らかである。また、そのような変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。また、本発明は、3次元モデル生成装置1の構成部材判定方法、および3次元モデル生成装置1の構成部材判定方法を実現するプログラム、および当該プログラムを記憶した記憶媒体として提供することもできる。