閉領域識別方法
【課題】2次元CADデータの間取り図を自動認識すること。
【解決手段】2次元CADデータは、壁や柱などが規定された躯体レイヤ、建具が規定された建具レイヤ、文字が規定された文字レイヤなど、要素を種類ごとに規定した複数のレイヤから構成されている。本実施の形態の3次元CAD装置は、躯体レイヤより所定間隔内で描かれている平行線を抽出することにより躯体(壁と柱)を特定し、そして、抽出した躯体の配置から、建具が配置されている領域(位置)を推察する。そして、建具要素が存在すると推察される領域を建具レイヤと照合し、建具が存在すると推察される領域に要素が存在する場合にこれを建具として認識する。更に、躯体の中心線と建具の基準線を連結して線分からなる線分図を作成し、この線分図内の閉領域を検出することにより部屋を特定する。そして、各部屋に部屋マスタで規定されている属性を付与する。
【解決手段】2次元CADデータは、壁や柱などが規定された躯体レイヤ、建具が規定された建具レイヤ、文字が規定された文字レイヤなど、要素を種類ごとに規定した複数のレイヤから構成されている。本実施の形態の3次元CAD装置は、躯体レイヤより所定間隔内で描かれている平行線を抽出することにより躯体(壁と柱)を特定し、そして、抽出した躯体の配置から、建具が配置されている領域(位置)を推察する。そして、建具要素が存在すると推察される領域を建具レイヤと照合し、建具が存在すると推察される領域に要素が存在する場合にこれを建具として認識する。更に、躯体の中心線と建具の基準線を連結して線分からなる線分図を作成し、この線分図内の閉領域を検出することにより部屋を特定する。そして、各部屋に部屋マスタで規定されている属性を付与する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、閉領域識別方法に関し、例えば、2次元CADデータの間取りを自動認識する際に使用する閉領域識別方法に関する。
【背景技術】
【0002】
近年の急激なコンピュータの発達に伴い、従来はドラフタなどを用いて手作業で行っていた建築用図面の作成をコンピュータを用いたCAD(Computer Aided Design)装置により作成することが広く行われるようになってきた。ここで、CAD装置とは、コンピュータによる設計支援装置のことであり、パーソナルコンピュータにCADソフトをインストールし、コンピュータの演算機能や記憶機能などを用いて図面作成を効率化するものである。
【0003】
建築CAD装置には、2次元データによって図面を作成する2次元CAD装置と、3次元データによって図面を作成する3次元CAD装置が存在する。
古くは、ソフトウェア技術の未発達や、コンピュータの情報処理能力の限界などから2次元CAD装置が主流であったが、近年のソフトウェア技術の進歩やコンピュータの能力向上などから、例えば、間取り図から3次元構造を自動生成したり、3次元CADデータから建物を3次元コンピュータグラフィックスにて自動表示するなど、高度な機能を備えた3次元CAD装置に移行しつつある。
このように、建築CADは、3次元CAD装置に移行しつつあるが、未だ2次元CADを用いているユーザも多い。
【0004】
ところで、2次元CAD装置のユーザも、プレゼンテーションなどを目的として、建物を3次元コンピュータグラフィックスにて表示したい場合がある。また、2次元CADデータを3次元CADデータに変換したい場合もある。
この場合、2次元CADの2次元データを3次元CAD装置に移行する必要があるが、従来は、作業者が2次元CADにて作成した図面を手作業にて3次元CAD装置に入力し直すことによりこの処理を行っていた。
【0005】
これは、2次元CADデータでは、壁や建具、その他の要素が線分要素や曲線要素で規定されており、どの線分要素が壁を表しており、どの線分要素が建具を表しているかといったことをコンピュータが認識することができないためである。
なお、2次元CADデータに高さの情報を付与する技術として次の「建築図面作成装置」がある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平7−234892号公報
【0007】
そして、例えば、2次元CADデータの間取りを自動認識する場合のように、従来からある線集合から閉領域を作成するための手段として、指定した位置に近い要素から時計回りあるいは反時計回りで交点をたどりながら閉領域を検出する方法があった。
これはマウスで線に囲まれた空間をクリックすると、塗りつぶし領域が入るなどの機能に使われる。
しかし、従来の方法では指定点が必要であり、指定点1つで求められる領域が一箇所だけであるからである。仮に大量の指定点を定義して領域を求めたとしても拾えない領域が出る可能性があり、指定点を更に多くして閉領域を発見する精度を上げたとしても、検索の過程で同位置形状の領域が大量に見つかり、これらの比較と除外に多大の処理を要するため現実的ではない。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、複数の閉領域を一括して容易に求めることを目的とする。
【課題を解決するための手段】
【0009】
本発明は、前記目的を達成するために、請求項1に記載の発明では、線分を連結して構成した線分図において線分によって囲まれた閉領域を識別する閉領域識別方法であって、フラグ設定手段と、線分選択手段と、線分特定手段と、フラグ再設定手段と、を備えたコンピュータにおいて、前記フラグ設定手段が、各線分の両側にそれぞれ未選択、選択済みを識別するフラグを設定するフラグ設定ステップと、前記線分選択手段が、前記設定したフラグの少なくとも一方が未選択となっている線分を選択する線分選択ステップと、前記線分特定手段が、前記選択した線分を一辺とし、前記線分の未選択となっているフラグが設定されている側を内周とする閉領域を構成する線分を特定する線分特定ステップと、前記フラグ再設定手段が、前記選択した線分、及び前記特定した線分で構成された閉領域の内周側のフラグを選択済みに再設定するフラグ再設定ステップと、から構成されたことを特徴とする閉領域識別方法を提供する。
【発明の効果】
【0010】
本発明によれば、例えば、2次元CADデータの間取り図を自動認識する際に、複数の領域を一括して容易に求めることができる。
【図面の簡単な説明】
【0011】
【図1】2次元CADデータにより構成された間取り図の一例を示した図である。
【図2】2次元CADデータの概念的な構造を示した図である。
【図3】自動生成された3次元CADデータによる斜視図の例を示した図である。
【図4】自動的に生成した建物の斜視図である。
【図5】2次元CADデータから3次元CADデータを生成する処理手順を説明するためのフローチャートである。
【図6】線分要素の連結処理を説明するための図である。
【図7】真壁などの処理を説明するための図である。
【図8】中心線の作成方法を説明するための図である。
【図9】妥当でない躯体中心線の処理を説明するための図である。
【図10】妥当でない躯体中心線の処理を説明するための図である。
【図11】躯体中心線の補正処理を説明するための図である。
【図12】建具候補線の生成処理を説明するための図である。
【図13】建具基準線の作成処理を説明するための図である。
【図14】建具基準線の作成例を説明するための図である。
【図15】閉領域の検出例を説明するための図である。
【図16】閉領域の分割処理を説明するための図である。
【図17】閉領域の分割処理を説明するための図である。
【図18】閉領域の分割処理を説明するための図である。
【図19】閉領域の検出処理を説明するための図である。
【図20】閉領域の検出処理を説明するための図である。
【図21】閉領域の検出処理を説明するためのフローチャートである。
【図22】閉領域の検出処理を説明するための図である。
【図23】3次元CAD装置のハードウェア構成を示した図である。
【図24】変形例1を説明するための図である。
【図25】変形例1を説明するための図である。
【図26】変形例1を説明するための図である。
【図27】変形例1を説明するための図である。
【図28】変形例2を説明するための図である。
【図29】変形例3を説明するための図である。
【図30】変形例3を説明するための図である。
【発明を実施するための形態】
【0012】
(1)実施の形態の概要
2次元CADデータは、壁や柱などの躯体が規定された躯体レイヤ、建具が規定された建具レイヤ、文字が規定された文字レイヤなと、要素を種類ごとに規定した複数のレイヤから構成されている。
本実施の形態の3次元CAD装置は、躯体レイヤより所定間隔内で描かれている平行線を抽出することにより躯体(壁と柱)を特定し、そして、抽出した躯体の配置から、建具が配置されている領域(位置)を推察する。
そして、建具要素が存在すると推察される領域を建具レイヤと照合し、建具が存在すると推察される領域に要素が存在する場合にこれを建具として認識する。
更に、躯体の中心線と建具の基準線を連結して線分からなる線分図を作成し、この線分図内の閉領域を検出することにより部屋を特定する。
そして、2次元CADデータに登録されている文字要素と、予め用意してある部屋マスタを照合し、各部屋に部屋マスタで規定されている属性を付与する。
【0013】
(2)実施の形態の詳細
本実施の形態で説明する3次元CAD装置は、例えば、3次元CADデータを処理する建築CAD装置であり、2次元CADデータで生成された間取り図を自動認識し、これから3次元CADデータを自動生成することができる。
まず、図1〜4を用いて本実施の形態の3次元CADが行うことができる処理について概要を説明する。
【0014】
図1は、2次元CADデータにより構成された間取り図の一例を示した図である。
図に示したように、間取り図には、壁で仕切られた納戸、ホール、洋室、・・・などが描かれており、壁には窓やドアなどの建具が設置されている。
一般に、2次元CADデータは、線分、円、円弧点などの要素集合を用いて構成され、これらの要素を図面上に配置していくことにより間取りなどの図面が描かれる。
要素は、配置される位置の座標値の他に、線の太さ、色、線種(点線等)などの属性を有している。
【0015】
製図にあたっては、膨大な要素を管理するため、類似した目的の表現を行う要素をグループ化するためのレイヤ機能があり、各要素と関連付けを行うことができる。
レイヤ機能により、壁や柱は躯体レイヤに登録し、建具は建具レイヤに登録し、文字は文字レイヤに登録するといったようなレイヤごとに要素を管理する運用がなされる。
【0016】
図2の各図は、2次元CADデータの概念的な構造を示した図である。2次元CADデータは、図2(a)に示したように、平面上に壁、柱、建具、文字などが配置されて間取りの平面図を構成している。
そして、この平面図は、図2(b)に示したように、壁や柱などの躯体が線分要素などで規定された躯体レイヤ、建具が線分要素などで規定された建具レイヤ、文字要素が配置された文字レイヤ、その他のレイヤを重ね合わせることにより構成されいている。
【0017】
このように線画を最終成果物とする2次元CADでは、要素の配置されている座標や線の太さなどの属性は与えられているが、例えば、厚さ何mmの壁が何箇所あり、建具が何箇所ありその形状は何であるかといった、通常の3次元CADデータに含まれている情報は含まれていない。
以下、本実施の形態では、このような2次元CADデータを取り扱うものとする。
【0018】
図3は、図1に示した平面図を元に3次元CAD装置が自動生成した3次元CADデータによる斜視図の例を示した図である。
3次元CAD装置は、2次元CADデータに描かれた間取り図から壁・柱や建具を自動認識して部屋の間取りを特定し、更に予め部屋マスタとして設定されている属性(高さ、畳・床の別、・・・)を付与して3次元CADデータを生成する。
図4は、3次元CADデータに屋根などの要素を加えて建物を完成させた3次元CADデータによる斜視図の例を示した図である。屋根の形状や材質などは、マスタで予め用意されており、これを用いて形成されている。
【0019】
なお、マスタには、床仕上マスタ(部屋などで使用する床仕上の仕様の集まり)、内部天井仕上マスタ(部屋などで使用する天井仕上の仕様の集まり)、内壁仕上マスタ(部屋などで使用する内壁仕上の仕様の集まり)、外部仕上マスタ(部屋の外側などで使用する外壁仕上の仕様の集まり)、部屋マスタ(床仕上、内壁仕上、内部天井マスタ情報等から構成される部屋の仕様の集まり)、屋根仕上マスタ(屋根仕上の仕様の集まり)、外部天井仕上マスタ(外部の天井(軒天、玄関屋根の天井など)の仕様の集まり)、外部標準マスタ(屋根仕上、外部天井、外壁仕上マスタ情報等から構成される建物外観の仕様の集まり)、建具マスタ(建具の仕様の集まり)、建具配置マスタ(部屋と関連付けられた建具の仕様の集まり。一つまたは複数関係する部屋に対して、建具マスタのどの情報を使用するか等が設定されている)などがある。
【0020】
これらの一連の処理うち、2次元的な間取りから3次元CADデータを自動生成する機能は既に3次元CAD装置で実現されていたが、2次元CADデータで規定された間取りを自動的に認識する機能が実現されていなかった。
本実施の形態の3次元CAD装置は、2次元CADデータから間取りを自動認識する機能を新たに備えたものである。以下、この機能について説明する。
【0021】
図5は、3次元CAD装置が2次元CADデータから間取りを認識して3次元CADデータを生成する処理手順を説明するためのフローチャートであり、その概要は次のようになる。
手順1:躯体レイヤと建具レイヤの分別。
3次元CAD装置は、2次元CADデータのレイヤ構造を分析し、壁や柱が描かれた躯体レイヤと建具が描かれた建具レイヤを分別する。
手順2:躯体中心線の作成、及び壁中心線と柱中心線の分別。
躯体レイヤで平行な関係にある要素を元に躯体中心線を作成する。躯体中心線には、壁に対して生成された壁中心線と、柱に対して作成された柱中心線があり、壁中心線と柱中心線を分別し、線分要素の特定を行う。
【0022】
手順3:建具候補線の作成。
躯体中心線を用いて建具が存在すると思われる場所に建具候補線を作成する。建具候補線は、建具が存在すると推察される領域・位置を示している。
手順4:建具基準線の作成。
建具候補線を建具レイヤで規定されている要素と比較し、建具候補線で示される領域に要素が存在する場合、この要素を建具として認識する。そして、建具候補線を建具基準線とする。
手順5:部屋基準領域、壁基準線、袖壁基準線の作成 壁中心線と建具基準線を連結して生成される線図において閉領域を特定することにより、部屋が形成されている閉領域を特定する。更に、閉領域に複数の部屋が設定されている場合は、仕切線を生成してこれを分割する。
このようにしてできた閉領域が3次元CADデータを生成する際の部屋基準領域となり、部屋基準領域の辺上にある壁中心線が壁基準線、辺上にない壁中心線が袖壁基準線となる。
【0023】
手順6:柱基準点の作成。
柱中心線と壁中心線から、柱基準点を作成する。
手順7:部屋、柱、壁、建具の配置。
部屋基準領域、柱基準点、壁基準線、建具基準線と、これら含まれる属性から、3次元CADデータとしての部屋、柱、壁、建具を作成し配置する。
手順8:マスタ情報の付与。
配置した3次元CADデータに各種マスタ情報を付与し、床、天井、内壁仕上げ、外壁仕上げ、屋根データを作成し配置する。これによって建物全体の3次元CADデータが構成される。
以下では、上記の各手順について詳細に説明する。
【0024】
(1)手順1:躯体レイヤと建具レイヤの分別。
2次元CADデータでは、躯体や建具をどのレイヤに登録するか、またレイヤの名称をどのようにするかはユーザの自由であるため、3次元CAD装置は、次のようにして躯体(壁、柱など)が登録された躯体レイヤと建具が登録された建具レイヤを分別する。
一般に躯体レイヤに対しては「躯体」などと命名され、建具レイヤに対しては「建具」などと命名される場合が多い。
そのため、3次元CAD装置は、レイヤの名称を確認し、「躯体」なる文字を含むレイヤを躯体レイヤとして特定し、「建具」なる文字を含むレイヤを建具レイヤとして特定する。
【0025】
また、「躯体」なる文字の他に「壁」な「柱」など、ユーザが「躯体」の代わりに命名しそうな文字を予め複数設定しておき、ユーザが「躯体」とは異なる名称を用いた場合でも躯体レイヤが発見できるようにしておく。建具レイヤも同様である。
目的のレイヤが発見できなかった場合、3次元CAD装置は、ユーザに問い合わせをしてユーザに躯体レイヤと建具レイヤを指定してもらう。
【0026】
(2)手順2:壁中心線と柱中心線の分別。
躯体レイヤでは、壁や柱が線分要素などで規定されている。そのため、どの線分要素が壁でどの線分要素が柱であるのかを認識し易くするために躯体中心線を作成し、更に、躯体中心線のうち、壁中心線と柱中心線を分別する。
この処理は、壁や柱は互いに近く平行な線分要素で構成されていることに着目したものである。
以下に、詳細な処理内容について説明する。
【0027】
(2−1)要素集合の整理。
3次元CAD装置は、後の処理を正確に行うため、まず、要素集合の整理を行う。この処理は、同じ線種、色、線幅などの属性情報を有し、平面図上で重複・連結する線分要素を合成するものである。
例えば、図6(a)では、上から順に2本の線分要素が平行に接続する例、一部重複する例、一方が他方の全てに重複する例が示されているが、これらは、図6(b)に示したように一本の線分要素に合成される。
図6(c)の例では、上3本、下2本の線分要素が平行に接続しているが、これはら図6(d)に示したようにそれぞれ一本の線分要素に合成される。
【0028】
(2−2)真壁など、複数平行線からなる躯体要素の部分削除。
真壁は、平行な2本の線分要素の内側に、更に平行な2本の線分要素を記して表される。後の処理の都合上、次のようにして外側の線分要素を残して内側の線分要素を除去する。
まず、躯体レイヤの平行な要素から柱と壁を求めるために、壁厚として許容できる値の最大値を常識的な範囲で設定する。木造物件であれば100〜300[mm]程度が妥当である。以降はこれを壁厚限界値と呼ぶことにする。
そして、壁厚限界値以内で平行関係にある2つの線分要素に完全に挟まれ、かつ2つの線分要素より短い平行な線分要素を除外する。
【0029】
図7(a)の上側の図は真壁を示しており、線分要素5、5と、これらの内側に描かれた2本の線分要素4によって表される。なお、矩形状の部分3は柱を表している。
線分要素4は、壁厚限界値以内にある2つの線分要素(線分要素5、5)に完全に挟まれる短くて平行な線分要素であるため除去され、図7(a)の下側の図に示したように、線分要素5、5から線分要素4を除去したデータが生成される。
【0030】
図7(b)は、この処理の具体例を示した図である。
平行な線分要素A、B、C、Dがあり、それぞれの間隔が40、20、40[mm]であるとする。また、壁厚限界値を100[mm]とする。
線分要素B、Cは、壁厚限界値以内で平行関係にある2つの要素(線分要素A、D)に全体が挟まれかつ線分要素A、Dよりも短いため、線分要素B、Cは除去される。
【0031】
(2−3)躯体中心線の(平行線の中心線)作成。
平行となっている線分要素を比較し、間隔が壁厚限界値以内であれば、壁の候補として中心線を作成する。
中心線は比較した2線分要素が平行に重なっている範囲に作成する。また、中心線には厚み(2線分要素の間隔)を属性として与える。
壁の候補となった平行な2線分要素の中心線のうちには、柱を規定する2線分要素の中心線が含まれる可能性がある。
そこで、柱を規定する2線分要素の中心線を壁を、規定する2線分要素の中心線から識別するために、中心線が他の線と交差し、かつ交差した線の長さが交差された線の厚さと同程度のものを柱中心線とし、その他を壁中心線とする。
これは、壁に垂直な方向の柱中心線の長さと、壁の厚さが略等しいことに着目したものである。
このように、3次元CAD装置は、柱の可能性が高い中心線と壁の可能性が高い中心線を分類する。
【0032】
図8の各図は、中心線の作成方法を説明するための図である。
図8(a)は、大壁と柱を規定した躯体レイヤを示している。真壁は、図7(a)の処理により大壁と同様になっている。
図8(a)のうち、平行となっている2線分要素(大壁と柱)の中心線を作成すると図8(b)のようになる。この場合、中心線は交差する。
図8(c)は、柱壁が包絡されて描かれている場合の図面を示している。このように、2次元CADでは、柱壁を包絡した図面を作成する方法もある。
この場合に平行となっている2線分要素の中心線を作成すると図8(d)のようになる。この場合、中心線は交差する点の手前まで作成される。
【0033】
図8(e)は、大壁と柱を規定した図面を示している。図8(e)のうち、平行となっている2線分要素の中心線を作成すると図8(f)のようになる。図8(f)に示した中心線のうち、中心線7、7は、柱中心線として識別され、他の中心線は壁中心線として識別される。即ち、中心線7、7の長さと、中心線6に属性として与えられた厚さが略等しいので、中心線7、7は柱中心線として認識される。
図8(g)は、柱壁が包絡されて描かれている場合の間取り図を示している。図8(g)の中心線を作成すると図8(h)のようになる。
【0034】
(2−4)妥当でない躯体中心線の判定と除外。
要素の配置位置、人的要因などから誤って躯体レイヤに登録されてしまった要素などにより、前述の計算で中心線が作成されることがある。そこで作成した中心線が妥当かどうかを他の中心線と比較しながら判断し、適切でない中心線を除外する。
例えば、図9(a)に示したような大壁と柱からなる図面があったとする。これから中心線を策定すると図9(b)に示したような線分A〜Dが作成される。線分B、Dは柱に対して作成された中心線であり、線分A、Cは柱と柱の間に作成された中心線である。
【0035】
これらの線分のうち、線分Aは、柱の中心線の可能性があるが、左隣に線分Aに付与された厚みと同じ厚みの壁があり、右隣にも同じ厚みの柱があるため、不適切な中心線であると判定される。
線分Bは、(断面が)正方形の柱になりうる上、左右隣に線分Bに付与された厚みと同じ厚みの壁や柱がないため適切な中心線であると判定される。
線分Cは、正方形でない柱の可能性があるが、左右に正方形の柱になりうる線があるため不適切な中心線であると判定される。
線分Dは、正方形の柱になりうる上、左右にも正方形の柱がないため適切な中心線であると判定される。
これら不適切と判定された中心線A、Cを除去すると図9(c)に示したように、壁中心線と柱中心線からなる線図が得られる。
【0036】
図10(a)は、壁の近くに、本来は他のレイヤに登録すべき棚が描かれている場合を示している。
この場合、図10(b)に示したように、線分A〜Dからなる中心線が作成される。線分B、Cは、棚と壁の間に作成された中心線である。
中心線A〜Dには、厚みの属性として、それぞれ、中心線A:100[mm]、中心線B:100[mm]、中心線C:50[mm]、中心線D:100[mm]が付与されているものとする。
【0037】
この場合、3次元CAD装置は、躯体レイヤの全ての躯体中心線の厚み属性を集計し、その結果から中心線が適切であるか否かを判定する。
今、躯体レイヤ柱の中心線を集計した結果、100[mm]が30本、20[mm]が10本、150[mm]が3本であったとすると、線分C、Dは、厚みを考慮すると側面が接する関係にある。線分Dの厚みは線分Cよりも多数派であるため、線分Dを優先し、線分Cは除外する。
【0038】
線分A、Bも厚みを考慮すると側面が接する関係にある。双方とも同じ厚さで多数派の判定は行えないが、線分Aは同じ厚さの他の線分(線分D)と交差していることから線分Aを優先し、線分Bを除外する。
その結果、図10(c)に示したように、壁中心線が残り、棚と壁の間に作成された中心線は除外される。
なお、側面が他の線に接していなくとも、厚みとして少数派であり、かつ同じ厚さの線が複数除外された場合は、その線分も除外対象となる。
【0039】
(2−5)躯体中心線の補正 2次元CADデータが、部分的に異なる厚さの壁を表現している場合、前述までの処理では躯体中心線が揃わない。
また部屋の角では柱と壁の中心線が合成されて端部が交点の先まで伸びてしまう他(図8(b))、包絡された場合などでは端部が交点までよりも短くなっている箇所もある(図8(d))。そのような中心線に対して中心線の位置や端部を伸縮して揃える処理を行う。
比較する躯体中心線同士が平行関係で厚みを考慮すると十分近い距離にあり、この時端点の垂線上に相手端点が存在する場合、厚みの薄い方の中心線を平行移動して中心線を揃える。移動補正した中心線には、属性にオフセット値(平行移動の量)を与える。
【0040】
図11(a)は、壁と柱により図面が描かれている場合であって、部分8で壁の厚さが変化している。
この図面で中心線を作成すると図8(b)に示したようになり、部分8では、断続した中心線9と中心線10が作成される。中心線9と中心線10は平行で、厚みを考慮すると十分近い距離にある。この距離の判定には、例えば、最大距離を設定しておき、最大距離以内であれば十分近いと判断する。
【0041】
また、中心線9の端点の垂線上に中心線10の端点が存在する。そこで、厚みの薄い中心線9を中心線10の方向に平行移動し、図11(c)に示したように、中心線9と中心線10が揃えられる。
更に、端部11、11で中心線の長さの伸縮補正を行うと、図11(d)のように端部の伸びが除去され、後ほど閉領域を求めやすい形状となる。
【0042】
図11(e)は、包絡線によって間取りが描かれている場合であり、部分8で壁の厚さが変化している。
この場合も中心線は図11(f)のように断続し、これを図11(b)の場合と同様に補正して図11(g)のように、中心線が揃えられる。
更に、端部12、12、12、12の伸縮補正を行うと、図11(h)のように端部が延長されて接続し、後ほど閉領域を求めやすい形状となる。
本実施の形態の3次元CAD装置は、以上のようにして躯体を特定する(躯体特定手段)。
【0043】
(3)手順3:建具候補線を作成。
建具はさまざまな表記方法があり、建具レイヤの要素だけで建具の位置(建具基準線)を求めることは困難である。
そこで、建具は一般的に壁や柱に設置されるという事実を利用し、建具が存在すると推察される領域に建具候補線を作成する。そして、建具レイヤに登録されている要素と建具候補線を比較し、建具基準線を作成していく。
【0044】
建具候補線の作成は次のように行う。
2つの躯体中心線が、距離をおいて同一直線上に存在する場合、建具候補線を躯体中心線の端点から他の中心線に至るまで躯体中心線に平行に作成する(図12(b)の建具候補線12)。
包絡された図形の場合なども考慮し、壁中心線が柱中心線と交差していない箇所(壁中心線の端部側で、柱中心線がない箇所)は、その側面から垂直に他の中心線まで建具候補線を作成する(図12(b)の建具候補線13)。
なお、端部が中心線の側面に面する場合(中心線の側面から建具候補線を引き始める場合、又は、建具候補線が中心線の側面に突き当たり引き終える場合)は中心線の厚みを考慮するため端部を中心線の厚み分だけ短くする(図12(b)の建具候補線13)。
建具候補線にも厚みを属性として与え、建具候補線を引くのに使用した中心線の厚みを設定する。
【0045】
図12(a)に示した躯体中心線を用いて建具候補線を作成する場合について考える。
この図に建具候補線を作成すると図12(b)に示したようになる。図では、躯体中心線からの識別を容易にするために建具候補線を長方形で示してある。
例えば、中心線9と中心線10は、一直線上にあり、中心線9の端部から中心線10の端部にかけて建具候補線12を中心線9、10に平行に作成する。
また、中心線9の一端は、壁中心線が柱中心線と交差していない箇所に該当するため、中心線9の端部の側面から中心線11にかけて、中心線9と垂直に建具候補線13を作成する。なお、建具候補線13の両端は、中心線9、11の厚み分だけ短くしてある。以上の要領で他の建具候補線も作成される。
【0046】
なお、図12(b)に示した黒の四角記号は、建具候補線を引き始めようと試みた点であり、建具候補線を引き終えるための相手方の躯体中心線が存在しないか、あるいは、存在したとしても建具の長さとして現実的でないため建具候補線を作成しなかった箇所である。
例えば、記号14で示した端部から中心線と平行に建具候補線を作成する場合、建具候補線の他端側を規定する躯体中心線が存在しない。
また、記号15で示した端部から中心線と垂直に建具候補線を作成する場合も建具候補線の他端側を規定する躯体中心線が存在しない。
このようにして作成された躯体中心線を図示すると図12(c)のようになる。
本実施の形態の3次元CAD装置は、以上のようにして建具の存在する領域を推察する(建具領域推察手段)。
【0047】
(4)手順4:建具基準線の作成。
建具候補線と建具レイヤに登録された要素を比較して、建具候補線の領域に建具レイヤに登録された要素があるか否かを確認し、これによって建具候補線が建具基準線として妥当であるか計算する。妥当な場合はこれを建具基準線として形状を計算し属性に与える。
図13(a)は、建具候補線17と、建具レイヤに登録された建具を重ね合わせた所を示している。
次に説明する2つの判定方法(ブロック判定、円弧判定)とその結果の組み合わせにより、建具基準線として妥当であるか、及び建具の形状を判断する。
【0048】
まず、図13(b)に示したように、建具候補線17の上に複数のブロック18(矩形)を作成し、これが建具レイヤの要素と重なるか比較する。全てのブロック18が要素と重なる場合、そこに建具が存在すると判断する。
図では、判定結果をブロック18に対応させて白丸(重ならない場合)と黒丸(重なる場合)で示している。図に示したように、この場合は、全てのブロック18が要素と重なるため、建具候補線17の位置には建具が存在すると判断される。
なお、図13(c)に示したように、開きタイプの建具で敷居を描かない場合、一部のブロックは要素と重ならないが、この場合は、次に説明する円弧判定を行い、円弧が存在し、更に、始終点にあたるブロックが要素と重なっていれば建具が存在すると判断する。
【0049】
次に、図13(d)に示したように、円弧の判定も行う。即ち、基準線と要素の比較過程で円弧を抽出し、その中心が建具候補線の近辺にあり、半径が戸として十分大きい場合(例えば、建具候補線の1/3以上)は開き戸である可能性が高い。
そこで、建具候補線の両端の両側面側の4箇所(図に白丸、黒丸で示す)の円弧の有無と半径を元に、建具が片開き、両開き、親子などの開きタイプの判断に用いる。
図では、建具候補線17の両端の片側に黒丸で示したように、大小2つの円弧が検出されるので、この側に開閉する親子開きの建具であることがわかる。
【0050】
図14(a)は、建具基準線を示しており、図14(b)は、対応する建具レイヤの要素を示している。
建具候補線Aに関しては、対応する要素19が存在するため、ブロック判定では、要素が存在すると判定され、円弧判定でも片開きの円弧ありと判定される。この2つの判定結果より、建具候補線Aは、建具基準線として適していると判定され、その形状は片開きとなる。
建具候補線Bに関しては、ブロック判定では建具候補線Bの建具候補線A側のみ要素が重なり、他端側は重ならないため、ブロックと要素が重ならないと判定される。円弧判定では、要素19の円弧が検出され円弧ありと判定される。この2つの判定結果を総合すると、ブロック判定においてブロックと要素の重なりが検出されなかったため、建具基準として適していないと判定される。
【0051】
建具候補線Dに関しては、ブロック判定では、要素20と重なると判定される。円弧判定では、円弧なしと判定され、開き以外の建具であることがわかる。2つの判定結果を総合することにより、建具候補線Dは、建具基準線として適していると判定され、その形状は開き以外であると判断される。
建具候補線C、E、F、Gは、ブロック判定により、重なる要素がないため、建具基準線として適していないと判断される。
本実施の形態の3次元CAD装置は、以上のようにして、建具の存在すると推察した領域に存在する要素を建具として特定する(建具特定手段)。
【0052】
(5)手順5:部屋基準領域、壁基準線、袖壁基準線の作成。
以上の処理によって、2次元CADデータにおいて躯体と建具が特定されたため、ここでは、これらの結果を用いて部屋位置の閉領域を計算し、2次元CADデータで与えられている文字データを手がかりにして部屋に関する情報を取得する。これによって部屋の間取りが取得される。以下に、詳細な処理内容について説明する。
【0053】
(5−1)建具基準線と躯体壁中心線を用いた閉領域の検出。
躯体中心線と建具基準線を使用し、これらの線分で囲まれた領域を計算して検出する。閉領域を構成しない壁基準線などは袖壁基準線とする。閉領域の計算方法については後ほど詳細に説明する。
【0054】
図15(a)は、間取りを検出するための元となる線分図であって、躯体中心線と建具基準線を重ね合わせることにより作成される(線分図生成手段)。なお、建具基準線は、躯体の中心線ではなく、躯体の表面(壁の表面など)までしか作成されないものがあるので、この場合は、躯体中心線の伸縮補正と同様にして建具基準線の端部を躯体中心線に接するようにする。
図15(b)は、検出された閉領域を示している。閉領域A〜Hは、それぞれ線分に囲まれている。
図15(a)の部分22に存在する躯体中心線は、閉領域を構成しなかった壁基準線であり、袖壁基準線に設定される。
【0055】
(5−2)2次元CADデータからの部屋名称の取得。
2次元CADデータでは、例えば、「ホール」などと、部屋名称が文字要素により記載されている。そこで、2次元CADデータに登録されている文字要素を手がかりにして、各部屋に属性を付与していく。
即ち、部屋マスタには部屋名称が規定されており、この部屋名称と2次元CADデータに登録する文字要素を照合し、一致した場合は、部屋マスタで規定されている属性を部屋に付与するのである。
【0056】
この目的のために、まず、3次元CAD装置は、2次元CADデータの文字要素のうち、部屋名称にふさわしい文字要素を抽出する。
また、名称は、例えば、「台所」、「キッチン」などと、複数名称を有する場合がある。この場合は、このうち1つを上位語として登録し、他を下位語として登録した名称変換テーブルを用意し、2次元CADデータに下位語があった場合は、これを上位語に変換するようにする。このようにして、複数名称が存在しても漏れなく検出することができ、名称を上位語に統一することができる。
抽出した文字要素(以下、部屋名称要素)には、後ほど部屋マスタと関連づけるため、マスタIDなどの属性を付与する。
【0057】
(5−3)部屋名称要素、閉領域、部屋マスタの関連付け。
部屋名称要素と閉領域を重ね合わせ、閉領域に部屋名称要素が含まれる場合、その閉領域と部屋名称と部屋マスタを関連づける。
この関連づけにより、例えば、図15(c)の例では、閉領域Aは「ユニットバス」、閉領域C、Dは「収納」、閉領域Eは「洋室」、閉領域Hは「納戸」などとの関連づけがなされている。
【0058】
また、閉領域Gに関しては、「玄関」、「ホール」、「階段」などと、複数の部屋名称要素が関連づけられている。
閉領域B、Fに関しては関連づけがなされていない。
このように、関連付けがない領域、複数関連付けのある領域は、後述のように処理する。
【0059】
(5−4)結合されている閉領域を分割し、部屋を割り当てる場合。
玄関、廊下、階段同士が隣り合う場合などには間仕切が入らないことがある。そこには躯体中心線がなく、建具基準線もないため、複数の部屋が結合されている閉領域を計算してしまうことがあるが、そのような閉領域に対して分割計算を行う。
(5−4−1)袖壁基準線による階段を含む領域の分割。
階段と廊下が結合されている可能性のある閉領域を探し、領域分割と部屋マスタ(階段)との関連付けを行う。その条件として袖壁基準線(壁中心線で袖壁と判断されたもの)の組み合わせから新たな分割線を引き、閉領域と基準線と分割線から新たに閉領域を計算する。計算を終え階段だったほうの閉領域には部屋マスタから階段のものを関連づける。
【0060】
例えば、一般に、階段は、図16(a)〜(c)に示したパターンとなる。
そこで、図16(a)のように、袖壁基準線A、BがL字形状となる組み合わせの場合は、点線で示したように袖壁基準線Aの終点から袖壁基準線Aの方向に分割線を生成し、新たな閉領域を生成する。なお、袖壁基準線とは、袖壁であると判断された壁基準線である(図15(a)部分22)。
図16(b)のように、袖壁基準線A、B、Cがクランク形状となる組み合わせの場合は、点線で示したように、袖壁基準線Cの終点から袖壁基準線Bの方向に分割線を生成し、新たな閉領域を生成する。
図16(c)のように、袖壁基準線A、B、CがJ字形状となる組み合わせの場合は、点線で示したように、袖壁基準線Bの端点から袖壁基準線Bの方向に分割線を生成し、新たな閉領域を生成する。
【0061】
(5−4−2)関連部屋が複数ある閉領域を袖壁基準線で分割する場合。
複数部屋名称を含む閉領域に対しては分割を行う。
まず、袖壁基準線の端部から平行と垂直方向に、閉領域か他の袖壁基準線に接するまで分割線を引く。そして、この分割線と、2次元CADデータの全てのレイヤの要素をブロック判定し、ブロック判定で分割できる可能性があると判断した場合、この分割線で仮分割を行う。そして、分割された閉領域を全て部屋名称と関連づけることができた場合、分割を確定する。
これは、躯体レイヤ、建具レイヤ、その他のレイヤに、線分要素などで仕切線などが記載されている場合があり、これを検出するものである。
【0062】
図17(a)は、2次元CADデータによる間取り図を示している。袖壁21から仕切線22が対向する壁まで描かれている。仕切線22は、躯体レイヤや建具レイヤでない他のレイヤに登録されていてもよい。
図17(b)は、躯体中心線と建具中心線から形成された線分図である。3次元CAD装置は、袖壁基準線の端部から、周囲の線分に至るまで、袖壁と平行、又は垂直な分割線A、B、Cを生成する。そして、ブロック判定により分割線A、B、Cと重なる要素が全てのレイヤのうちにあるかを判断する。この場合、仕切線22が分割線Bと重なるので、3次元CAD装置は、分割線Bを採用し、図17(c)に示したように、分割線Bによって閉領域を部屋1と部屋2に分割する。
【0063】
(5−4−3)関連部屋が複数ある閉領域を矩形になるように分割する場合。
部屋は矩形で構成されることが多いことを用いて、複数部屋名称を含みながらも矩形でない閉領域を矩形にする分割を行う。
閉領域の凹んでいる頂点を基準に躯体中心線に平行及び垂直な分割候補線を引き、部屋名称と関連付けられる分割ができることを前提に、矩形2つに分割できる線、面積差を大きく分割できる線を優先して分割候補線を分割に使うか判定し、条件の合った線で分割する。
【0064】
図18(a)の例では、分割線A、Bの何れによっても部屋1と部屋2に分割できる。この場合は、分割線Aで分割し、部屋1、2の面積差が大きくなるようにする。
図18(b)の例では、分割線A、B、C、Dによって分割可能である。しかし、分割線B、分割線Dは、部屋名称要素と重なるため除外する。そして、分割しても部屋名称要素を対応付けることができない分割線Cも除外する。その結果、分割線Aを採用し、部屋1、2に分割される。
図18(c)の例では、分割線A、B、Cによって分割可能である。分割線Cは、部屋名称要素と重なるため除外する。更に、分割後の部屋が矩形になる分割線Bを選択し、部屋1、2に分割される。
【0065】
(5−5)部屋として認識困難な領域を妥当な部屋として認識させる場合。
以上の処理を行っても部屋マスタと関連付けを行えない領域についてのマスタ割り付けを行う。
これは、関連付けが既にされた隣り合う閉領域やその閉領域の大きさ、設置されている建具の数などから部屋マスタを割り付ける条件を決めた妥当部屋条件情報を予め用意しておき、これを元に関連付けていく。
【0066】
妥当部屋条件情報は、例えば、次のように設定することができる。ある閉領域が、面積が1〜1.5畳程度、同じ階にまだトイレが対応付けられた閉領域がない、内部に設置される建具と、外部に設置される建具がある場合に、この閉領域をトイレとする。
また、通常隣り合う部屋として設置される(ユニットバス、洗面脱衣室)、(浴室、洗面脱衣室)、(和室、押入)、(和室、床の間)、(洋室、もの入れ)などは、一方が定まると隣接する閉領域を特定することができる。
【0067】
以上のように、分割処理を行うと、間取りに配置された部屋を構成する閉領域が確定する。この閉領域を部屋基準領域という。また、部屋基準領域を構成する、壁中心線、分割線、袖壁線を壁基準線という。
本実施の形態の3次元CAD装置は、以上のように、2次元CADデータの壁と建具を用いて間取りを特定する(間取り特定手段)。
【0068】
(6)手順6:柱基準点の作成。
建具基準線、部屋基準領域(部屋マスタが割り当てられた閉領域)は既に作成できており、部屋基準領域の作成過程で、壁基準線、袖壁基準線も作成した。そこで、ここでは、残りの柱基準点を作成する。
まずは、柱中心線同士の交点と、その属性(厚み)から柱基準点を作成する。
次に壁中心線同士の交点を求め、交差する同士の厚みから、柱基準点を作成する。
後者の方で計算を行うのは、部屋の角などにおいては、処理の過程で柱中心線が壁中心線と一体になっているためである。
【0069】
(7)手順7:部屋、柱、壁、建具の配置。
この処理は、部屋基準領域、柱基準点、壁基準線、建具基準線とそこに含まれる属性から、3次元CADデータとしての部屋、柱、壁、建具を作成し配置するものである。
これは、手順6で得られた処理結果に、3次元CAD装置の公知の技術を適用することにより行うことができる。
【0070】
(8)手順8:マスタ情報の付与。
この処理は、配置した3次元CADデータと、各種マスタ情報から、床、天井、内壁仕上げ、外壁仕上げ、屋根データを作成し配置するものである。
これは、手順6で得られた処理結果に、3次元CAD装置の公知の技術を適用することにより行うことができる。
【0071】
次に、(5−1)で用いた閉領域の計算方法について説明する。
線分、円弧、スプラインなどの線集合から、それに囲まれる領域(内領域)とそれらが合成して1つになる領域(外領域、即ち輪郭で囲まれる領域)を求めることを考える。
更に求めた領域同士を比較することで、内領域に対する開口(又は重複)領域を求めることもできる。
【0072】
上述したように、従来からある線集合から閉領域を作成するための手段として、指定した位置に近い要素から時計回りあるいは反時計回りで交点をたどりながら閉領域を検出する方法があり、これはマウスで線に囲まれた空間をクリックすると、塗りつぶし領域が入るなどの機能に使われる。
本実施の形態で求めたい領域は、上記の手段で行った場合求めることができる閉領域であるが、本実施の形態では、複数の閉領域を一括して求めたいため、従来の方法で行うことは困難である。
従来の方法では指定点が必要であり、指定点1つで求められる領域が一箇所だけであるからである。仮に大量の指定点を定義して領域を求めたとしても拾えない領域が出る可能性があり、指定点を更に多くして閉領域を発見する精度を上げたとしても、検索の過程で同位置形状の領域が大量に見つかり、これらの比較と除外に多大の処理を要するため現実的ではない。
【0073】
ところで、線集合データを交点で分割して閉領域を構成する要素になりうる要素(両端点が接している要素)だけを残した状態にすると、これらの線分は必ず内領域や外領域などの2つの領域の辺を構成している。本実施の形態で提案する計算方法は、この事実を利用して、配列管理された要素データから確実に効率よく領域の検索そして取得などを行うものである。
【0074】
例えば、図19(a)に示したような、両端点で接している線分集合があった場合、図19(b)に示した、閉領域A、閉領域Bからなる内領域が存在する。また、図19(c)に示したように、線分集合の輪郭を構成する外領域Cが存在する。
そして、図19(d)に示したように、例えば、線分1、4、6は、内領域Aと外領域Cの2つの領域の辺を構成している。線分2は、内領域A、Bの2つの領域の辺を構成している。線分5、3、7は、内領域Bと外領域Cの2つの領域の辺を構成している。このように、各線分は、線分の右側、及び左側の領域の辺をなしている そこで、本実施の形態では、各線分の右側と左側にオン・オフ切替可能なフラグをオフの状態で設定し、このフラグをオンにしながら閉領域を検索することにより、検索済みか否かを表す情報とする。なお、オン・オフは逆に運用してもよい。
【0075】
図20に示したように、まず全ての線分の始点から終点に向かって左右2つのフラグを設定する。
ここで、フラグは各線分の両側にそれぞれ設定された未選択、選択済みを識別するフラグを構成している(フラグ設定手段)。
任意の要素(例ではA線)において、左フラグがオフの場合は左曲がり優先ルート(後述)、右フラグがオフの場合は右曲がり優先ルートで線分を取得していく(線分特定手段)。このようにして線分を取得していくと、各ルートとも最後は必ず検索を始めた線分に戻る。
検索を始めた線分に戻るまでに取得した線分が閉領域の辺であり、この辺と取得した順番から閉領域を作成する。
【0076】
ルート検索中には取得(通過)した線分のフラグをオンにし(右曲がり優先ルートの場合は右フラグ、左曲がりルートの場合は左フラグをオンにする。しかし、検索方向と逆に接続する線分は逆のフラグをオンにする。)、検索済みであることを記録しておく(フラグ再設定手段)。
このように、フラグをチェックしながら線分Aにおける閉領域を検索した後、まだフラグがオフとなっている要素を選択して検索を開始することにより、まだ未検索の閉領域を検索することができる(線分選択手段)。
そして、全ての要素の全てのフラグがオンとなった否かで、閉領域を全て検索できたか否かを判断することができる。
【0077】
図21は、閉領域検出処理の手順を説明するためのフローチャートである。
まず、3次元CAD装置は、全ての要素(壁中心線、柱中心線)を交点で分割する(ステップ5)。
次に、3次元CAD装置は、両端点が接していない要素は閉領域を構成しないので除外する(ステップ10)。
【0078】
次に、3次元CAD装置は、各要素の左右フラグを割り付ける(ステップ15)。各フラグの初期値はオフとなっている。
次に、3次元CAD装置は、オフとなっているフラグ(右フラグ、左フラグ何れでもよい)となっている要素があるか否か判断する(ステップ20)。
フラグがオフとなっている要素がある場合(ステップ20;Y)、3次元CAD装置は、左フラグがオフか否かを確認する(ステップ30)。
【0079】
左フラグがオフの場合(ステップ30;Y)、その要素の対応するフラグをオンにして左曲がり優先で次の要素を検索する(ステップ35)。
検索した要素が検索開始要素でない場合(ステップ40;N)、ステップ35に戻り更に検索を続行する。
検索した要素が検索開始要素であった場合(ステップ40;Y)、3次元CAD装置は、検索した線分を内周とする領域(閉領域)を作成し、記憶装置に保持する(ステップ45)。
【0080】
また、左フラグがオンでない場合(ステップ30;N)、又は、ステップ45で領域を保持した場合、3次元CAD装置は、右フラグがオフか否かを確認する(ステップ50)。
【0081】
右フラグがオフの場合(ステップ50;Y)、その要素の対応するフラグをオンにして右曲がり優先で次の要素を検索する(ステップ55)。
検索した要素が検索開始要素でない場合(ステップ60;N)、ステップ55に戻り更に検索を続行する。
検索した要素が検索開始要素であった場合(ステップ60;Y)、3次元CAD装置は、検索した線分を内周とする領域(閉領域)を作成して記憶装置に保持し(ステップ65)、ステップ20に戻る。
ステップ20でフラグがオフの要素がなかった場合(ステップ20;N)、3次元CAD装置は、検索した閉領域を内領域と外領域に分けて(ステップ25)処理を終了する。
【0082】
次に、図22に示した線分集合に対して以上の処理手順を適用してみる。
なお、図では、左右フラグを省略してある。
まず、要素19、要素20は、閉領域を構成しないので除外される。
次に、要素1を選択したとし、左曲がり優先ルート(1→2→3→14→15→16→7→6→11→10→1)をそれぞれの対応するフラグをオンにしながら検索し、図22(c)に示した外領域Eが取得される。ただし、括弧内の数字は、検索した要素の番号を示している。
【0083】
ここで、要素1から要素2へは直進、要素3から要素14へは右曲がりとなっているが、これは、進行方向の左側から右回りに要素を検索し、最初に見つかった要素が取得されるためである。このように要素を左側から右回りに検索するルートを左曲がり優先ルートと呼び、逆に右側から左回りに検索するルートを右曲がり優先ルートと呼ぶ。
次に、要素1からそれぞれの対応するフラグをオンにしながら、右回り優先ルート(1→12→4→10→1)を検索し、図22(b)に示した内領域Aが取得される。
【0084】
次に、要素2を選択する。なお、要素の選択はオフのフラグを有するものであれば任意でよい。
要素2の左フラグはオンになっているため、左曲がり優先ルートの検索は行わない。要素2の右フラグはオフの状態となっているため、対応するフラグをオンにしながら右曲がり優先ルート(2→3→14→5→12→2)を検索する。これによって、図22(b)の内領域Cが検索される。
【0085】
次に、要素3を選択するが、既に左右のフラグがオンになっているため、検索は行わない。
次に、要素4を選択する。要素4の左フラグはオフであるため、対応するフラグをオンにしながら左曲がり優先ルート(4→11→6→13→4)を検索し、これによって内領域Bが検索される。
一方、要素4の右フラグはオンになっているため、右曲がり優先ルートの検索は行わない。
【0086】
次に、要素5を選択する。要素5の左フラグはオフであるため、対応するフラグをオンにしながら左曲がり優先ルート(5→13→7→16→15→5)を検索し、これによって内領域5が検索される。
一方、要素5の右フラグはオンであるため、右曲がり優先ルートの検索は行わない。
【0087】
次に、要素6、7を選択するが、何れも左右フラグがオンになっているため検索は行わない。
次に、要素8を選択する。左フラグがオフとなっているため、左曲がり優先ルート(8→18→9→17→8)の検索を行い外領域Fが検索される。
また、要素8の右フラグがオフであるため、右曲がり優先ルート(8→18→9→17→8)の検索を行い内領域Fが検索される。このように、左右のルートが同じ要素順となる場合は、内領域と外領域が等しくなる。
残りの要素9〜18は、何れも左右フラグがオンとなっているので、検索は行わない。
以上のようにして、全ての閉領域が検索された。
【0088】
図23は、本実施の形態の3次元CAD装置のハードウェア的な構成の一例を示したブロック図である。
3次元CAD装置は、制御部111にバスライン118を介して入力装置115、出力装置116、通信制御装置116、記憶装置123、記憶媒体駆動装置120、入出力I/F(インターフェース)119などが接続して構成されている。
【0089】
CPU(Central Processing Unit)113は、所定のプログラムに従って、各種の情報処理や3次元CAD装置の制御を行ったりする。CPU113は、レジスタと呼ばれる記憶部を有しており、このレジスタにROM(Read Only Memory)112やRAM(Random Access Memory)114などからプログラムを読み込んで、このプログラムに従って動作することにより制御部111の各種機能が発揮される。
CPU113は、CADプログラムを読み込んでこれを実行することにより、設計支援機能を発揮する他、2次元CADデータから間取りを自動認識し、3次元CADでの処理を行えるようにする。
【0090】
ROM112は、CPU113が各種演算や制御を行うための各種プログラム、データ及びパラメータなどを格納したリードオンリーメモリである。CPU113は、ROM112からプログラムやデータ、パラメータなどを読み込むことはできるが、これらを書き換えたり消去することは行わない。
【0091】
RAM114は、CPU113にワーキングメモリとして使用されるランダムアクセスメモリである。CPU113は、RAM114にプログラムやデータなどを書き込んだり消去したりすることができる。
本実施の形態では、RAM114には、2次元CADデータから間取りを自動認識するためのエリアや、3次元CAD機能を発揮するためのエリアが確保可能となっている。
【0092】
入力装置115は、例えばキーボードやマウス、タブレットなどの入力装置から構成されている。
入力装置115は、3次元CAD装置に対して文字や数字などの各種データを入力したり、コマンドを入力したりするための装置である。
ユーザは、入力装置115からコマンドを入力して、2次元CADデータの読み込みのを指示したり、間取りの自動認識を指示したりすることができる。
【0093】
キーボードは、カナや英文字などを入力するためのキーや数字を入力するためのテンキー、各種機能キー、カーソルキー及びその他のキーによって構成されている。
マウス、タブレットは、ポインティングデバイスである。GUI(Graphical User Interface)などを用いて3次元CAD装置を操作する場合、表示装置上に表示されたボタンやアイコンなどをマウスでクリックすることにより、コマンドなどの入力を行うことができる。
【0094】
出力装置116は、例えば表示装置、印刷装置などから構成されており、3次元CAD装置が行った情報処理結果などを出力する際に使用する。
表示装置は、例えばCRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、プラズマディスプレイなどで構成された情報を画面上に提示するための装置である。
【0095】
表示装置には、2次元CADデータによる図面を表示する他、2次元CADデータから自動生成した間取り図、更に、間取り図から家屋を自動生成したコンピュータグラフィックスなどを表示することができる。
【0096】
印刷装置は、例えば、プロッタの他、インクジェットプリンタ、レーザプリンタ、熱転写プリンタ、ドットプリンタなどの各種プリンタ装置によって構成されている。
印刷装置により、作成した間取り図などを設計図として紙媒体に印刷することができる。
【0097】
通信制御装置116は、3次元CAD装置をインターネットなどのネットワークに接続するための装置であって、モデム、ターミナルアダプタ、その他の接続装置によって構成されている。
3次元CAD装置は、通信制御装置116を用いて、外部のコンピュータから2次元CADデータを受信したり、あるいは、2次元CADデータから間取りを自動認識した結果を送信したりすることができる。
【0098】
記憶装置123は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置によって構成されている。当該記憶媒体として主にハードディスクが使用されるが、その他に、例えば、光磁気ディスク、磁気ディスク、半導体メモリなどの他の読み書き可能な記憶媒体によって構成することも可能である。
【0099】
記憶装置123には、プログラム格納部131、データ格納部132などが形成されており、それぞれ、プログラム、データが格納されている。
プログラム格納部131には、3次元CAD装置に設計図作成機能や2次元CADデータの間取り自動認識機能を発揮させるための3次元CADプログラムや、メモリ管理や入出力管理など3次元CAD装置を動作させるための基本的なプログラムであるOS(Operating System)、通信制御装置116を制御する通信プログラム、その他の各種プログラムが記憶されている。
データ格納部132には、2次元CADデータや、ユーザが設計した、あるいは設計中の3次元CADデータなどが格納されている。
【0100】
記憶媒体駆動装置120は、着脱可能な記憶媒体を駆動してデータの読み書きを行うための駆動装置である。着脱可能な記憶媒体としては、例えば、光磁気ディスク、磁気ディスク、磁気テープ、半導体メモリ、データをパンチした紙テープ、CD−ROMなどがある。なお、CD−ROMや紙テープは、読み込みのみ可能である。
3次元CAD装置は、記憶媒体駆動装置120を介して、記憶媒体に記憶された2次元CADデータを読み込んだり、あるいは、3次元CADデータを記憶媒体に書き込んだりすることができる。
【0101】
入出力I/F(インターフェース)89は、例えば、シリアルインターフェースやその他の規格のインターフェースにより構成されている。入出力I/F119に当該インターフェースに対応した外部機器を接続することにより、CAD装置の機能を拡張することができる。
【0102】
以上に説明した本実施の形態により次のような効果を得ることができる。
(1)2次元CADデータの間取り図面から、間取りを自動認識することができる。
(2)2次元CADデータから躯体レイヤを特定し、躯体レイヤから壁と柱を表す線分要素を特定することができる。
(3)躯体レイヤでの壁と柱の位置から建具が配置されている位置を推察することができる。
(4)2次元CADデータで建具レイヤを特定し、推察した建具の位置と、建具レイヤでの要素の位置の重なりから、建具レイヤにおいて建具を表す要素を特定することができる。
【0103】
(5)壁と建具からなる線分図を作成し、その閉領域を検出して部屋が存在する領域を検出することができる。
(6)2次元CADデータの文字要素と予め用意してある部屋マスタをマッチングして、検出した部屋に属性を付与することができる。
(7)部屋に付与された属性を用いて建築物の3次元構造を自動的に生成することができる。
【0104】
(変形例1)
本実施の形態で説明した(2)手順2(躯体中心線の作成、及び壁中心線と柱中心線の分別)は、次のように構成することも可能である。
(2−1)の要素集合の整理は、先に説明した通りである。(2−2)の真壁など、複数平行線からなる躯体要素の部分削除は、以下に説明する内容により不要となる。
【0105】
(2−3)の躯体中心線の(平行線の中心線)作成は、次のように行うことができる。
まず、3次元CAD装置は、躯体レイヤの平行な要素から柱と壁を求めるために、壁厚として許容できる値の最大値(壁厚限界値)を常識的な範囲で設定する。木造物件であれば100から300mm程度が妥当である。
そして、3次元CAD装置は、躯体レイヤの要素から平行となっている線分要素を比較し、間隔が壁厚限界値以内であれば、壁の候補として中心線を作成する。以下、先に説明した(2−3)と同様にして躯体中心線を作成する。
【0106】
(2−4)の妥当でない躯体中心線の判定と除外は、次のように行うことができる。
壁の表現方法、要素の配置位置、人的要因などから誤って躯体レイヤに登録された要素により、前述の計算で、躯体中心線として望ましくない中心線が作成されることがある。
そこで、3次元CAD装置は、作成した中心線が妥当かどうかを他の中心線と比較しながら判断し適切で無い中心線を除外する。
【0107】
柱を内蔵する大壁に関する処理は図9で説明した通りである。
本来他のレイヤに登録すべき要素が描かれている場合は次のようにする。
図24(a)は、壁の内部に真壁を示す2本の線分31、そして壁の近くには、本来は他のレイヤに登録されてあるのが望ましい棚が描かれている。
この場合、真壁の内側2本の線分31や棚を表す線分に対する中心線も含めて中心線を作成すると、図24(b)に示したように、線分A〜Gで成る中心線が作成される。
ここで、線分A、Bは棚と壁の間に作成された中心線である。
線分Dは、壁を4本の平行線(外側2本の線分要素と内側2本の線分要素)で表現した真壁の外側2本の線分から作られる中心線である。
線分Fは、真壁の内側2本の線分31から作られる中心線であり、線分Dと重なっている。
線分EとGは、真壁の内側の線分31と外側の線分の間の中心線である。
【0108】
これら中心線A〜Gには、厚みの属性として中心線A:110[mm]、中心線B:50[mm]、中心線C:100[mm]、中心線D:100[mm]、中心線E:40[mm]、中心線F:20[mm]、中心線G:40[mm]が付与されているものとする。
このように、躯体中心線同士を比較し、片方の躯体中心線がもう片方の躯体中心線の厚みの範囲内にある場合や、並んで接するような場合には、どちらか、あるいは両方が躯体として不適切な線である可能性が高い。
【0109】
躯体として適切かどうかは、壁として十分長い(例えば、躯体中心線の属性の厚みよりも長い。)躯体中心線同士が交差していたり端部が近接する関係にあるものや、あるいは、そのような関係を持った躯体中心線の厚みと、同じ長さであったり、同じ厚みを属性に持つ躯体中心線であるかなどが判断基準となる。
【0110】
図24(b)で、中心線Bは中心線Cと並行であり、中心線Bと中心線Cの厚みを考慮すると(中心線Bの厚みは50[mm]、中心線Cの厚みは100[mm])、両者は接する関係にあるものとする。そのため、何れかの中心線は、躯体中心線でないため除去する必要がある。
中心線Cは、同じ厚みの中心線Dと交差しており躯体(壁)と判断できる可能性があるが、中心線Bはこのような交差の関係を持たない。
また、中心線Bと同じ厚みの他の中心線が図面内に存在しないことから、3次元CAD装置は、中心線Cを躯体として優先するために、中心線Bを除去する。
中心線Dと中心線Aも、並んで接する関係にあるが、3次元CAD装置は、同様の判断により中心線Aを除去する。
【0111】
中心線Eは、中心線Dの厚みの範囲内に存在するものとする。
中心線Dは、同じ厚みの中心線Cと交差しており躯体(壁)と判断できる可能性があるが、中心線Eはこのような交差の関係を持たない。
また中心線Eと同じ厚みを持つ中心線Gにおいても、やはり同様であることから、3次元CAD装置は、中心線Dを躯体として優先するために、中心線Eを除去する。
中心線Fと中心線Gも、中心線Dの厚みの範囲内に存在するものであるが、3次元CAD装置は、同様の判断によりFとGを除去する。
図24(c)は、図24(b)から不適切と判断した躯体中心線を除去した後の様子を表しており、中心線C、Dが躯体中心線として抽出される。
【0112】
本来他のレイヤに登録すべき要素が描かれている場合の他の処理例を説明する。
図25(a)は、壁の側面に、本来は他のレイヤに登録されてあるのが望ましい壁仕上げが描かれている。この場合、図25(b)に示したように、中心線A〜Hから成る中心線が作成される。
中心線B、C、E、F、Gは、壁仕上げと壁によって作られた中心線である。
中心線Dは中心線Cと並行に並んでおり、厚み属性を考慮すると両者は接する関係にあるものとする。そのため、中心線D、Cの何れかを除去する必要がある。
中心線Dは中心線Aと交差をしていないものの、厚み属性を考慮すると、中心線Dの端部は中心線Aの壁の表面にあり、「Tの字」を描くような関係にあることから、3次元CAD装置は、中心線Dを躯体中心線として優先する。
【0113】
一方、中心線Cも中心線Bとは、厚み属性を考慮すると近い関係(壁の角が接する「Lの字」を描く様な関係にあるが、3次元CAD装置は、「Tの字」を構成するDの方を躯体として強い優先関係とするルールを設定しており、中心線Cを除去する。
中心線Aも中心線Dにより壁として優先できるため、3次元CAD装置は、並行に並んで接する関係にある中心線B、Fを除去する。
中心線Hと中心線Gは並んで接する関係にある。中心線Hと中心線Gともに、同厚の他の要素との関連は「Lの字」を構成する程度であるが、中心線Hと同じ厚みの中心線Aや中心線Dが壁として優先されていることから、3次元CAD装置は、中心線Hを優先して中心線Gを除去する。
【0114】
このように、3次元CAD装置は、同じ厚みの躯体中心線が交差していたり、交差していなくても2本以上の中芯線で「Tの字」を構成したり、4本線で「十の時」を構成したものを躯体として優先させることにより、不適切な中心線を除去することができる。
これは、躯体レイヤに誤って含まれる壁仕上などによって作成された中心線は、交差や、「Tの字」や「十の時」の関係を作ることがほとんど無いという性質を利用したものである。
図25(c)は、3次元CAD装置が、図25(b)から不適切と判断した躯体中心線を除去した後の様子を表しており、中心線A、D、Hが躯体中心線として抽出されている。
【0115】
次に、包絡処理された柱要素の躯体中心線はつぎのようにして作成することができる。
RC構造等の図面では、矩形の柱であっても柱壁が包絡処理されることで、描画に用いている線分要素などが複雑な組み合わせになることがある。
この場合、包絡線などからそのまま躯体中心線を作成してもそれが十字に交差せず、柱の躯体中心線として採用できない場合や、柱の大きさが壁厚限界値よりも大きいことから躯体中心線そのものが特定できないことがある。
【0116】
このような場合、3次元CAD装置は、既に取得した躯体中心線から包絡処理で取り除かれた部分を復元することで柱を矩形や円といった単純な図形に戻し、その後、RC柱として現実的な値(550程度)を壁厚限界値に用いて、再度躯体中心線を作成する。
そして、3次元CAD装置は、この中から矩形を構成(中心線が十字で交差する)するものを取得し、柱の躯体中心線として採用する。
【0117】
図26(a)は、包絡処理されたRC構造の柱(柱要素)と壁を表している。壁や柱の表面が包絡線を表す線分によって表されている。
図26(b)は、図26(a)を元に作成した躯体中心線であり、3次元CAD装置が包絡線を構成する線分の中心線から作成したものである。
壁厚限界値を超えてしまうと、線分a、b、cは作られることすらないが、作られても元の要素が包絡処理されているため中心線が十字とならず、3次元CAD装置は、これを柱として認識することはできない。
また、線分c、bは、線分aに対して柱を構成しない形で線分aの厚みに含まれており、また線分aも柱を構成しない形で線分bに含まれていることや、線分a、b、cは他箇所で壁を構成している厚みでも無いことから、3次元CAD装置は、前述における処理によって、線分a、b、Cを不正な躯体中心線として除去する。
【0118】
図26(c)は、図26(a)で示されている躯体レイヤ要素から躯体中心線を作成し、図26(a)の図に重ねたものである。
図26(d)は、それらを比較して、3次元CAD装置が包絡された柱を復元するための線を作成したものである。
図26(c)の躯体中心線eには、壁の表面を基準とした端部に躯体レイヤ要素dが付いている。この場合、3次元CAD装置は、図26(d)に示したように、この躯体レイヤ要素dの角度で躯体中心線eの壁の小口gを作成する。
【0119】
3次元CAD装置は、他の箇所も同様に処理し、図26(d)に示したように小口h、iを作成する。
3次元CAD装置は、これらを躯体レイヤ要素に重ねることで、包絡処理されていた柱を矩形に復元する。
このように復元した後に作成した躯体中心線は十字交差の関係を持ち、3次元CAD装置は、これを柱と認識できる。このような既に取得した躯体中心線を元に、包絡処理された要素を復元し、単純な要素の組み合わせに戻して柱を認識(柱要素を特定)する処理は、矩形の柱に限らず、円柱を取得する際における円弧から円のへ復元等においても有効である。
【0120】
図26(e)は、3次元CAD装置が、図26(d)の図面から、RC柱の大きさとして現実的な値を壁厚限界値に用いて再度躯体中心線を求めたものである。
その中で、3次元CAD装置は、中心線同士が十字の交差をし、かつRC柱として妥当な大きさや縦横比(例えば長辺が短辺の2倍以内)である中心線j、kを、躯体中心線としてこの後の処理に用いる。
このように、3次元CAD装置は、包絡処理によって線分の一部を削除された柱要素に対して、前記削除された線分(小口g、h、i)を当該柱要素の接続する躯体の躯体中心線を用いて復元することにより、前記包絡処理された柱要素を特定する柱要素特定手段を備えている。
【0121】
(2−5)躯体中心線の補正。
RC構造のように、柱壁が包絡されたレイヤ要素から作成される躯体中心線では、お互いが交差や接する関係に無く、これらをそのまま後述の建具基準線の作成や、間取りの基準領域を求めることには適切でない。そこで、3次元CAD装置は、これらを伸ばして接続し、後の処理を行いやすくする。
【0122】
図27(a)は、包絡処理された壁により図面が描かれている場合であって、この図面で躯体中心線を作成すると図27(b)に示したように断続した中心線が作成される。
躯体中心線Aの端部aは、躯体中心線Cの厚みを考慮した側面に位置するため、3次元CAD装置は、端部aを伸ばして躯体中心線Cに接続する。3次元CAD装置は、同様の処理を躯体中心線Aの端部bでも行う。
【0123】
躯体中心線Cの端部cと、躯体中心線Bの端部dとは、互いの厚みを考慮すると、壁の角が接する関係であることから、3次元CAD装置は、端部cと、端部dを互いに伸ばして接続する。3次元CAD装置は、同様の処理を躯体中心線Dの端部eと躯体中心線Bの端部fでも行う。
このように処理を行うと、図27(c)のように端部が延長されて接続し、後ほど建具基準線や閉領域を求めやすい形状になる。
本変形例の形態の3次元処理装置は、以上のようにして躯体を特定する(躯体特定手段)。
【0124】
(変形例2)
本実施の形態で説明した(3)手順3(建具候補線の作成)は、次のように構成することも可能である。
建具候補線の作成は、先の説明では、2つの躯体中心線が、距離をおいて同一直線上に存在する場合、建具候補線を躯体中心線の端点から他の中心線に至るまで躯体中心線に平行に作成したが(図12(b)の建具候補線12)、このように、2つの躯体中心線が同一直線上にある場合に加えて、3次元CAD装置は、お互いの壁厚の半分を限度とした範囲内に存在する場合に、建具候補線を躯体中心線の端点から、他の中心線に至るまで躯体中心線に平行に作成するように構成することもできる。
本変形例により、建具の片方の端に他方と異なる厚みの壁が作図されていた場合でも建具中心線を作成することができる。
【0125】
(変形例3)
本実施の形態で説明した手順5の(5−1:建具基準線と躯体壁中心線を用いた閉領域の検出)は、次のように構成することも可能である。
【0126】
(5−1)建具基準線と躯体壁中心線を用いた閉領域の検出。
先の実施の形態では、躯体中心線と建具基準線を用いたが、閉領域の検出は、躯体中心線と建具基準線に他に、これらを元に作成した補助線を使用し、これらの線分で囲まれた領域を計算して検出するように構成することも可能である。
閉領域を構成しない壁基準線などは、袖壁基準線とする。閉領域の計算方法は、先に図22で説明した方法を用いる。
【0127】
図28は間取りを検出するための元となる線分図であって、躯体中心線と建具中心線を重ね合わせることにより作成される(線分図作成手段)。建具基準線は躯体中心線に必要な情報(位置を示す線と厚み)を持っているため、これを躯体中心線に置き換えて処理することができる。
なお、建具基準線には、躯体の中心線ではなく、躯体の表面(壁の表面など)までしか作成されないものがあるので、躯体中心線での端部補正のように、建具基準線の端部を躯体中心線までの伸ばして接続する。
【0128】
また、これらの線分の内、柱として認識できる部分は領域作成に必要ないため取り除く。柱として認識できる線とは、躯体中心線と建具中心線(躯体中心線に置き換えたもの)を重ね合わせた線分図を交点で分割したときに、両端が他の線分と接していなく、かつ、その中心線の厚みよりも短くなる箇所である。3次元CAD装置がこの処理を行うと図15(a)の線分図を作成できる。
図15(b)は、検出された閉領域を示している。閉領域AからHはそれぞれ線分に囲まれている。
図15(a)の部分22に存在する躯体中心線は、閉領域を構成しなかった壁基準線であり、袖壁基準線に設定される。
【0129】
補助線を用いた、領域の計算は次のようにして行う。
図29(a)は、RC構造の特徴を持った図面から、躯体中心線を作成したものである。
図29(a)の丸印aで囲んだ領域は、部分的に壁厚が異なっていることにより、躯体中心線がずれて接続されていない箇所を示している。
丸印b、cで囲んだ領域は、RC柱の包絡等により壁が繋がっていない箇所を示している。
このように、躯体中心線と建具中心線のみで閉領域の計算しても正しい領域を求めることができない場合があり、この場合は、これらの中心線を接続するための補助線を作成し、これらを合わせて領域計算を行う。
【0130】
図29(b)は、RC柱を示す躯体中心線の中を通すように補助線を引いた例である。
三角記号は、柱に接していた躯体中芯線(壁)の端部が、三角記号の頂点にあることを示している。そして、3次元CAD装置は、三角記号の頂点から、柱の反対側まで貫通させるように補助線を引く。
図29(b)の補助線d、eにおいては、柱内部を通過する補助線が、全て交差する関係とならない。そのためこれらの補助線を接続するために、3次元CAD装置は、更に補助線fを引く。
補助線d、eは平行な関係にあるため、3次元CAD装置は、柱の中心を通り、補助線d、eに直行するように補助線fを引いた。
また、補助線g、hのような場合では、すでに柱内の補助線が全て交差し接続されているため、補助線fの様な目的の補助線を引く必要は無い。
【0131】
図30(a)は、3次元CAD装置が、図29(b)で作成した補助線を交点で分割し、両端が、躯体中心線や他の補助線の端部と接している箇所のみを残したものである。
図30(b)は、上記手段で引いた補助線を躯体中心線と合わせたものである。なお、柱として認識できる線は、領域作成に必要ないので取り除いている。
この中の、図30(b)の補助線aは、偏芯により躯体中心線同士が接していない箇所を接続するために引いた補助線である。
このように、3次元CAD装置は、比較する躯体中心線同士が、平行関係で厚みを考慮すると十分近い距離にあり、この時端点の垂線上に相手端点が存在する場合に、これらの端点をつなげる補助線を引く。これらの補助線を引いたとで、中心線同士が繋がり、閉領域を求めることができるようになる。
本変形例により、躯体中心線同士が接続、あるいは接していない場合に、補助線でこれらを接続することにより、閉領域を形成することができる。
このように、3次元CAD装置は、特定した躯体の中心線が連結しない場合に、補助線を生成して連結させる。
【0132】
なお、本実施形態としては、2次元CADデータの間取り図を自動認識するための構成として次の構成を用いることができる。
(1)構成1「躯体と建具を用いて間取りが規定されている2次元CADデータを取得する2次元CADデータ取得手段と、前記取得した2次元CADデータにおいて躯体を特定する躯体特定手段と、前記特定した躯体の配置から建具が配置されている領域を推察する建具領域推察手段と、前記推察した領域に存在する要素を建具として特定する建具特定手段と、前記特定した躯体と前記特定した建具を用いて間取りを特定する間取り特定手段と、を具備したことを特徴とする2次元CADデータ処理装置。」
(2)構成2「前記2次元CADデータは、躯体を規定した躯体レイヤと建具を規定した建具レイヤを含んでおり、前記躯体特定手段は、前記躯体レイヤから、間隔が所定値内である平行線を抽出することにより躯体を特定し、前記建具特定手段は、前記建具レイヤにおいて、前記推察した領域に存在する要素を建具として特定することを特徴とする構成1に記載の2次元CADデータ処理装置を提供する。
(3)構成3「前記特定した躯体の中心線と、前記特定した建具の基準線と、を連結して線分からなる線分図を生成する線分図生成手段を具備し、前記間取り特定手段は、前記生成した線分図の閉領域を検出することにより間取りを特定することを特徴とする構成1、又は構成2に記載の2次元CADデータ処理装置。」
(4)構成4「前記2次元CADデータに規定されている文字と、前記特定した間取りを対応付けることにより、前記間取りに属性を付与することを特徴とする構成1、構成2、又は構成3に記載の2次元CADデータ処理装置。」
(5)構成5「2次元CADデータ取得手段と、躯体特定手段と、建具領域推察手段と、建具特定手段と、間取り特定手段と、を備えたコンピュータにおいて、前記2次元CADデータ取得手段が、躯体と建具を用いて間取りが規定されている2次元CADデータを取得する2次元CADデータ取得ステップと、前記躯体特定手段が、前記取得した2次元CADデータにおいて躯体を特定する躯体特定ステップと、前記建具領域推察手段が、前記特定した躯体の配置から建具が配置されている領域を推察する建具領域推察ステップと、前記建具特定手段が、前記推察した領域に存在する要素を建具として特定する建具特定ステップと、前記間取り特定手段が、前記特定した躯体と前記特定した建具を用いて間取りを特定する間取り特定ステップと、から構成されたことを特徴とする2次元CADデータ処理方法。」
(6)構成6「躯体と建具を用いて間取りが規定されている2次元CADデータを取得する2次元CADデータ取得機能と、前記取得した2次元CADデータにおいて躯体を特定する躯体特定機能と、前記特定した躯体の配置から建具が配置されている領域を推察する建具領域推察機能と、前記推察した領域に存在する要素を建具として特定する建具特定機能と、前記特定した躯体と前記特定した建具を用いて間取りを特定する間取り特定機能と、をコンピュータで実現する2次元CADデータ処理プログラム。」
(7)構成7「前記線分図生成手段は、前記特定した躯体の中心線が連結しない場合に、補助線を生成して連結させることを特徴とする構成3に記載の2次元CADデータ処理装置。」
(8)構成8「包絡処理によって線分の一部を削除された柱要素に対して、前記削除された線分を当該柱要素の接続する躯体の躯体中心線を用いて復元することにより、前記包絡処理された柱要素を特定する柱要素特定手段を具備したことを特徴とする構成3、又は構成7に記載の2次元CADデータ処理装置。」
【符号の説明】
【0133】
111 制御部
112 ROM
114 RAM
115 入力装置
116 出力装置
117 通信制御装置
118 バスライン
119 入出力I/F
120 記憶媒体駆動装置
123 記憶装置
131 プログラム格納部
132 データ格納部
【技術分野】
【0001】
本発明は、閉領域識別方法に関し、例えば、2次元CADデータの間取りを自動認識する際に使用する閉領域識別方法に関する。
【背景技術】
【0002】
近年の急激なコンピュータの発達に伴い、従来はドラフタなどを用いて手作業で行っていた建築用図面の作成をコンピュータを用いたCAD(Computer Aided Design)装置により作成することが広く行われるようになってきた。ここで、CAD装置とは、コンピュータによる設計支援装置のことであり、パーソナルコンピュータにCADソフトをインストールし、コンピュータの演算機能や記憶機能などを用いて図面作成を効率化するものである。
【0003】
建築CAD装置には、2次元データによって図面を作成する2次元CAD装置と、3次元データによって図面を作成する3次元CAD装置が存在する。
古くは、ソフトウェア技術の未発達や、コンピュータの情報処理能力の限界などから2次元CAD装置が主流であったが、近年のソフトウェア技術の進歩やコンピュータの能力向上などから、例えば、間取り図から3次元構造を自動生成したり、3次元CADデータから建物を3次元コンピュータグラフィックスにて自動表示するなど、高度な機能を備えた3次元CAD装置に移行しつつある。
このように、建築CADは、3次元CAD装置に移行しつつあるが、未だ2次元CADを用いているユーザも多い。
【0004】
ところで、2次元CAD装置のユーザも、プレゼンテーションなどを目的として、建物を3次元コンピュータグラフィックスにて表示したい場合がある。また、2次元CADデータを3次元CADデータに変換したい場合もある。
この場合、2次元CADの2次元データを3次元CAD装置に移行する必要があるが、従来は、作業者が2次元CADにて作成した図面を手作業にて3次元CAD装置に入力し直すことによりこの処理を行っていた。
【0005】
これは、2次元CADデータでは、壁や建具、その他の要素が線分要素や曲線要素で規定されており、どの線分要素が壁を表しており、どの線分要素が建具を表しているかといったことをコンピュータが認識することができないためである。
なお、2次元CADデータに高さの情報を付与する技術として次の「建築図面作成装置」がある。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平7−234892号公報
【0007】
そして、例えば、2次元CADデータの間取りを自動認識する場合のように、従来からある線集合から閉領域を作成するための手段として、指定した位置に近い要素から時計回りあるいは反時計回りで交点をたどりながら閉領域を検出する方法があった。
これはマウスで線に囲まれた空間をクリックすると、塗りつぶし領域が入るなどの機能に使われる。
しかし、従来の方法では指定点が必要であり、指定点1つで求められる領域が一箇所だけであるからである。仮に大量の指定点を定義して領域を求めたとしても拾えない領域が出る可能性があり、指定点を更に多くして閉領域を発見する精度を上げたとしても、検索の過程で同位置形状の領域が大量に見つかり、これらの比較と除外に多大の処理を要するため現実的ではない。
【発明の概要】
【発明が解決しようとする課題】
【0008】
本発明は、複数の閉領域を一括して容易に求めることを目的とする。
【課題を解決するための手段】
【0009】
本発明は、前記目的を達成するために、請求項1に記載の発明では、線分を連結して構成した線分図において線分によって囲まれた閉領域を識別する閉領域識別方法であって、フラグ設定手段と、線分選択手段と、線分特定手段と、フラグ再設定手段と、を備えたコンピュータにおいて、前記フラグ設定手段が、各線分の両側にそれぞれ未選択、選択済みを識別するフラグを設定するフラグ設定ステップと、前記線分選択手段が、前記設定したフラグの少なくとも一方が未選択となっている線分を選択する線分選択ステップと、前記線分特定手段が、前記選択した線分を一辺とし、前記線分の未選択となっているフラグが設定されている側を内周とする閉領域を構成する線分を特定する線分特定ステップと、前記フラグ再設定手段が、前記選択した線分、及び前記特定した線分で構成された閉領域の内周側のフラグを選択済みに再設定するフラグ再設定ステップと、から構成されたことを特徴とする閉領域識別方法を提供する。
【発明の効果】
【0010】
本発明によれば、例えば、2次元CADデータの間取り図を自動認識する際に、複数の領域を一括して容易に求めることができる。
【図面の簡単な説明】
【0011】
【図1】2次元CADデータにより構成された間取り図の一例を示した図である。
【図2】2次元CADデータの概念的な構造を示した図である。
【図3】自動生成された3次元CADデータによる斜視図の例を示した図である。
【図4】自動的に生成した建物の斜視図である。
【図5】2次元CADデータから3次元CADデータを生成する処理手順を説明するためのフローチャートである。
【図6】線分要素の連結処理を説明するための図である。
【図7】真壁などの処理を説明するための図である。
【図8】中心線の作成方法を説明するための図である。
【図9】妥当でない躯体中心線の処理を説明するための図である。
【図10】妥当でない躯体中心線の処理を説明するための図である。
【図11】躯体中心線の補正処理を説明するための図である。
【図12】建具候補線の生成処理を説明するための図である。
【図13】建具基準線の作成処理を説明するための図である。
【図14】建具基準線の作成例を説明するための図である。
【図15】閉領域の検出例を説明するための図である。
【図16】閉領域の分割処理を説明するための図である。
【図17】閉領域の分割処理を説明するための図である。
【図18】閉領域の分割処理を説明するための図である。
【図19】閉領域の検出処理を説明するための図である。
【図20】閉領域の検出処理を説明するための図である。
【図21】閉領域の検出処理を説明するためのフローチャートである。
【図22】閉領域の検出処理を説明するための図である。
【図23】3次元CAD装置のハードウェア構成を示した図である。
【図24】変形例1を説明するための図である。
【図25】変形例1を説明するための図である。
【図26】変形例1を説明するための図である。
【図27】変形例1を説明するための図である。
【図28】変形例2を説明するための図である。
【図29】変形例3を説明するための図である。
【図30】変形例3を説明するための図である。
【発明を実施するための形態】
【0012】
(1)実施の形態の概要
2次元CADデータは、壁や柱などの躯体が規定された躯体レイヤ、建具が規定された建具レイヤ、文字が規定された文字レイヤなと、要素を種類ごとに規定した複数のレイヤから構成されている。
本実施の形態の3次元CAD装置は、躯体レイヤより所定間隔内で描かれている平行線を抽出することにより躯体(壁と柱)を特定し、そして、抽出した躯体の配置から、建具が配置されている領域(位置)を推察する。
そして、建具要素が存在すると推察される領域を建具レイヤと照合し、建具が存在すると推察される領域に要素が存在する場合にこれを建具として認識する。
更に、躯体の中心線と建具の基準線を連結して線分からなる線分図を作成し、この線分図内の閉領域を検出することにより部屋を特定する。
そして、2次元CADデータに登録されている文字要素と、予め用意してある部屋マスタを照合し、各部屋に部屋マスタで規定されている属性を付与する。
【0013】
(2)実施の形態の詳細
本実施の形態で説明する3次元CAD装置は、例えば、3次元CADデータを処理する建築CAD装置であり、2次元CADデータで生成された間取り図を自動認識し、これから3次元CADデータを自動生成することができる。
まず、図1〜4を用いて本実施の形態の3次元CADが行うことができる処理について概要を説明する。
【0014】
図1は、2次元CADデータにより構成された間取り図の一例を示した図である。
図に示したように、間取り図には、壁で仕切られた納戸、ホール、洋室、・・・などが描かれており、壁には窓やドアなどの建具が設置されている。
一般に、2次元CADデータは、線分、円、円弧点などの要素集合を用いて構成され、これらの要素を図面上に配置していくことにより間取りなどの図面が描かれる。
要素は、配置される位置の座標値の他に、線の太さ、色、線種(点線等)などの属性を有している。
【0015】
製図にあたっては、膨大な要素を管理するため、類似した目的の表現を行う要素をグループ化するためのレイヤ機能があり、各要素と関連付けを行うことができる。
レイヤ機能により、壁や柱は躯体レイヤに登録し、建具は建具レイヤに登録し、文字は文字レイヤに登録するといったようなレイヤごとに要素を管理する運用がなされる。
【0016】
図2の各図は、2次元CADデータの概念的な構造を示した図である。2次元CADデータは、図2(a)に示したように、平面上に壁、柱、建具、文字などが配置されて間取りの平面図を構成している。
そして、この平面図は、図2(b)に示したように、壁や柱などの躯体が線分要素などで規定された躯体レイヤ、建具が線分要素などで規定された建具レイヤ、文字要素が配置された文字レイヤ、その他のレイヤを重ね合わせることにより構成されいている。
【0017】
このように線画を最終成果物とする2次元CADでは、要素の配置されている座標や線の太さなどの属性は与えられているが、例えば、厚さ何mmの壁が何箇所あり、建具が何箇所ありその形状は何であるかといった、通常の3次元CADデータに含まれている情報は含まれていない。
以下、本実施の形態では、このような2次元CADデータを取り扱うものとする。
【0018】
図3は、図1に示した平面図を元に3次元CAD装置が自動生成した3次元CADデータによる斜視図の例を示した図である。
3次元CAD装置は、2次元CADデータに描かれた間取り図から壁・柱や建具を自動認識して部屋の間取りを特定し、更に予め部屋マスタとして設定されている属性(高さ、畳・床の別、・・・)を付与して3次元CADデータを生成する。
図4は、3次元CADデータに屋根などの要素を加えて建物を完成させた3次元CADデータによる斜視図の例を示した図である。屋根の形状や材質などは、マスタで予め用意されており、これを用いて形成されている。
【0019】
なお、マスタには、床仕上マスタ(部屋などで使用する床仕上の仕様の集まり)、内部天井仕上マスタ(部屋などで使用する天井仕上の仕様の集まり)、内壁仕上マスタ(部屋などで使用する内壁仕上の仕様の集まり)、外部仕上マスタ(部屋の外側などで使用する外壁仕上の仕様の集まり)、部屋マスタ(床仕上、内壁仕上、内部天井マスタ情報等から構成される部屋の仕様の集まり)、屋根仕上マスタ(屋根仕上の仕様の集まり)、外部天井仕上マスタ(外部の天井(軒天、玄関屋根の天井など)の仕様の集まり)、外部標準マスタ(屋根仕上、外部天井、外壁仕上マスタ情報等から構成される建物外観の仕様の集まり)、建具マスタ(建具の仕様の集まり)、建具配置マスタ(部屋と関連付けられた建具の仕様の集まり。一つまたは複数関係する部屋に対して、建具マスタのどの情報を使用するか等が設定されている)などがある。
【0020】
これらの一連の処理うち、2次元的な間取りから3次元CADデータを自動生成する機能は既に3次元CAD装置で実現されていたが、2次元CADデータで規定された間取りを自動的に認識する機能が実現されていなかった。
本実施の形態の3次元CAD装置は、2次元CADデータから間取りを自動認識する機能を新たに備えたものである。以下、この機能について説明する。
【0021】
図5は、3次元CAD装置が2次元CADデータから間取りを認識して3次元CADデータを生成する処理手順を説明するためのフローチャートであり、その概要は次のようになる。
手順1:躯体レイヤと建具レイヤの分別。
3次元CAD装置は、2次元CADデータのレイヤ構造を分析し、壁や柱が描かれた躯体レイヤと建具が描かれた建具レイヤを分別する。
手順2:躯体中心線の作成、及び壁中心線と柱中心線の分別。
躯体レイヤで平行な関係にある要素を元に躯体中心線を作成する。躯体中心線には、壁に対して生成された壁中心線と、柱に対して作成された柱中心線があり、壁中心線と柱中心線を分別し、線分要素の特定を行う。
【0022】
手順3:建具候補線の作成。
躯体中心線を用いて建具が存在すると思われる場所に建具候補線を作成する。建具候補線は、建具が存在すると推察される領域・位置を示している。
手順4:建具基準線の作成。
建具候補線を建具レイヤで規定されている要素と比較し、建具候補線で示される領域に要素が存在する場合、この要素を建具として認識する。そして、建具候補線を建具基準線とする。
手順5:部屋基準領域、壁基準線、袖壁基準線の作成 壁中心線と建具基準線を連結して生成される線図において閉領域を特定することにより、部屋が形成されている閉領域を特定する。更に、閉領域に複数の部屋が設定されている場合は、仕切線を生成してこれを分割する。
このようにしてできた閉領域が3次元CADデータを生成する際の部屋基準領域となり、部屋基準領域の辺上にある壁中心線が壁基準線、辺上にない壁中心線が袖壁基準線となる。
【0023】
手順6:柱基準点の作成。
柱中心線と壁中心線から、柱基準点を作成する。
手順7:部屋、柱、壁、建具の配置。
部屋基準領域、柱基準点、壁基準線、建具基準線と、これら含まれる属性から、3次元CADデータとしての部屋、柱、壁、建具を作成し配置する。
手順8:マスタ情報の付与。
配置した3次元CADデータに各種マスタ情報を付与し、床、天井、内壁仕上げ、外壁仕上げ、屋根データを作成し配置する。これによって建物全体の3次元CADデータが構成される。
以下では、上記の各手順について詳細に説明する。
【0024】
(1)手順1:躯体レイヤと建具レイヤの分別。
2次元CADデータでは、躯体や建具をどのレイヤに登録するか、またレイヤの名称をどのようにするかはユーザの自由であるため、3次元CAD装置は、次のようにして躯体(壁、柱など)が登録された躯体レイヤと建具が登録された建具レイヤを分別する。
一般に躯体レイヤに対しては「躯体」などと命名され、建具レイヤに対しては「建具」などと命名される場合が多い。
そのため、3次元CAD装置は、レイヤの名称を確認し、「躯体」なる文字を含むレイヤを躯体レイヤとして特定し、「建具」なる文字を含むレイヤを建具レイヤとして特定する。
【0025】
また、「躯体」なる文字の他に「壁」な「柱」など、ユーザが「躯体」の代わりに命名しそうな文字を予め複数設定しておき、ユーザが「躯体」とは異なる名称を用いた場合でも躯体レイヤが発見できるようにしておく。建具レイヤも同様である。
目的のレイヤが発見できなかった場合、3次元CAD装置は、ユーザに問い合わせをしてユーザに躯体レイヤと建具レイヤを指定してもらう。
【0026】
(2)手順2:壁中心線と柱中心線の分別。
躯体レイヤでは、壁や柱が線分要素などで規定されている。そのため、どの線分要素が壁でどの線分要素が柱であるのかを認識し易くするために躯体中心線を作成し、更に、躯体中心線のうち、壁中心線と柱中心線を分別する。
この処理は、壁や柱は互いに近く平行な線分要素で構成されていることに着目したものである。
以下に、詳細な処理内容について説明する。
【0027】
(2−1)要素集合の整理。
3次元CAD装置は、後の処理を正確に行うため、まず、要素集合の整理を行う。この処理は、同じ線種、色、線幅などの属性情報を有し、平面図上で重複・連結する線分要素を合成するものである。
例えば、図6(a)では、上から順に2本の線分要素が平行に接続する例、一部重複する例、一方が他方の全てに重複する例が示されているが、これらは、図6(b)に示したように一本の線分要素に合成される。
図6(c)の例では、上3本、下2本の線分要素が平行に接続しているが、これはら図6(d)に示したようにそれぞれ一本の線分要素に合成される。
【0028】
(2−2)真壁など、複数平行線からなる躯体要素の部分削除。
真壁は、平行な2本の線分要素の内側に、更に平行な2本の線分要素を記して表される。後の処理の都合上、次のようにして外側の線分要素を残して内側の線分要素を除去する。
まず、躯体レイヤの平行な要素から柱と壁を求めるために、壁厚として許容できる値の最大値を常識的な範囲で設定する。木造物件であれば100〜300[mm]程度が妥当である。以降はこれを壁厚限界値と呼ぶことにする。
そして、壁厚限界値以内で平行関係にある2つの線分要素に完全に挟まれ、かつ2つの線分要素より短い平行な線分要素を除外する。
【0029】
図7(a)の上側の図は真壁を示しており、線分要素5、5と、これらの内側に描かれた2本の線分要素4によって表される。なお、矩形状の部分3は柱を表している。
線分要素4は、壁厚限界値以内にある2つの線分要素(線分要素5、5)に完全に挟まれる短くて平行な線分要素であるため除去され、図7(a)の下側の図に示したように、線分要素5、5から線分要素4を除去したデータが生成される。
【0030】
図7(b)は、この処理の具体例を示した図である。
平行な線分要素A、B、C、Dがあり、それぞれの間隔が40、20、40[mm]であるとする。また、壁厚限界値を100[mm]とする。
線分要素B、Cは、壁厚限界値以内で平行関係にある2つの要素(線分要素A、D)に全体が挟まれかつ線分要素A、Dよりも短いため、線分要素B、Cは除去される。
【0031】
(2−3)躯体中心線の(平行線の中心線)作成。
平行となっている線分要素を比較し、間隔が壁厚限界値以内であれば、壁の候補として中心線を作成する。
中心線は比較した2線分要素が平行に重なっている範囲に作成する。また、中心線には厚み(2線分要素の間隔)を属性として与える。
壁の候補となった平行な2線分要素の中心線のうちには、柱を規定する2線分要素の中心線が含まれる可能性がある。
そこで、柱を規定する2線分要素の中心線を壁を、規定する2線分要素の中心線から識別するために、中心線が他の線と交差し、かつ交差した線の長さが交差された線の厚さと同程度のものを柱中心線とし、その他を壁中心線とする。
これは、壁に垂直な方向の柱中心線の長さと、壁の厚さが略等しいことに着目したものである。
このように、3次元CAD装置は、柱の可能性が高い中心線と壁の可能性が高い中心線を分類する。
【0032】
図8の各図は、中心線の作成方法を説明するための図である。
図8(a)は、大壁と柱を規定した躯体レイヤを示している。真壁は、図7(a)の処理により大壁と同様になっている。
図8(a)のうち、平行となっている2線分要素(大壁と柱)の中心線を作成すると図8(b)のようになる。この場合、中心線は交差する。
図8(c)は、柱壁が包絡されて描かれている場合の図面を示している。このように、2次元CADでは、柱壁を包絡した図面を作成する方法もある。
この場合に平行となっている2線分要素の中心線を作成すると図8(d)のようになる。この場合、中心線は交差する点の手前まで作成される。
【0033】
図8(e)は、大壁と柱を規定した図面を示している。図8(e)のうち、平行となっている2線分要素の中心線を作成すると図8(f)のようになる。図8(f)に示した中心線のうち、中心線7、7は、柱中心線として識別され、他の中心線は壁中心線として識別される。即ち、中心線7、7の長さと、中心線6に属性として与えられた厚さが略等しいので、中心線7、7は柱中心線として認識される。
図8(g)は、柱壁が包絡されて描かれている場合の間取り図を示している。図8(g)の中心線を作成すると図8(h)のようになる。
【0034】
(2−4)妥当でない躯体中心線の判定と除外。
要素の配置位置、人的要因などから誤って躯体レイヤに登録されてしまった要素などにより、前述の計算で中心線が作成されることがある。そこで作成した中心線が妥当かどうかを他の中心線と比較しながら判断し、適切でない中心線を除外する。
例えば、図9(a)に示したような大壁と柱からなる図面があったとする。これから中心線を策定すると図9(b)に示したような線分A〜Dが作成される。線分B、Dは柱に対して作成された中心線であり、線分A、Cは柱と柱の間に作成された中心線である。
【0035】
これらの線分のうち、線分Aは、柱の中心線の可能性があるが、左隣に線分Aに付与された厚みと同じ厚みの壁があり、右隣にも同じ厚みの柱があるため、不適切な中心線であると判定される。
線分Bは、(断面が)正方形の柱になりうる上、左右隣に線分Bに付与された厚みと同じ厚みの壁や柱がないため適切な中心線であると判定される。
線分Cは、正方形でない柱の可能性があるが、左右に正方形の柱になりうる線があるため不適切な中心線であると判定される。
線分Dは、正方形の柱になりうる上、左右にも正方形の柱がないため適切な中心線であると判定される。
これら不適切と判定された中心線A、Cを除去すると図9(c)に示したように、壁中心線と柱中心線からなる線図が得られる。
【0036】
図10(a)は、壁の近くに、本来は他のレイヤに登録すべき棚が描かれている場合を示している。
この場合、図10(b)に示したように、線分A〜Dからなる中心線が作成される。線分B、Cは、棚と壁の間に作成された中心線である。
中心線A〜Dには、厚みの属性として、それぞれ、中心線A:100[mm]、中心線B:100[mm]、中心線C:50[mm]、中心線D:100[mm]が付与されているものとする。
【0037】
この場合、3次元CAD装置は、躯体レイヤの全ての躯体中心線の厚み属性を集計し、その結果から中心線が適切であるか否かを判定する。
今、躯体レイヤ柱の中心線を集計した結果、100[mm]が30本、20[mm]が10本、150[mm]が3本であったとすると、線分C、Dは、厚みを考慮すると側面が接する関係にある。線分Dの厚みは線分Cよりも多数派であるため、線分Dを優先し、線分Cは除外する。
【0038】
線分A、Bも厚みを考慮すると側面が接する関係にある。双方とも同じ厚さで多数派の判定は行えないが、線分Aは同じ厚さの他の線分(線分D)と交差していることから線分Aを優先し、線分Bを除外する。
その結果、図10(c)に示したように、壁中心線が残り、棚と壁の間に作成された中心線は除外される。
なお、側面が他の線に接していなくとも、厚みとして少数派であり、かつ同じ厚さの線が複数除外された場合は、その線分も除外対象となる。
【0039】
(2−5)躯体中心線の補正 2次元CADデータが、部分的に異なる厚さの壁を表現している場合、前述までの処理では躯体中心線が揃わない。
また部屋の角では柱と壁の中心線が合成されて端部が交点の先まで伸びてしまう他(図8(b))、包絡された場合などでは端部が交点までよりも短くなっている箇所もある(図8(d))。そのような中心線に対して中心線の位置や端部を伸縮して揃える処理を行う。
比較する躯体中心線同士が平行関係で厚みを考慮すると十分近い距離にあり、この時端点の垂線上に相手端点が存在する場合、厚みの薄い方の中心線を平行移動して中心線を揃える。移動補正した中心線には、属性にオフセット値(平行移動の量)を与える。
【0040】
図11(a)は、壁と柱により図面が描かれている場合であって、部分8で壁の厚さが変化している。
この図面で中心線を作成すると図8(b)に示したようになり、部分8では、断続した中心線9と中心線10が作成される。中心線9と中心線10は平行で、厚みを考慮すると十分近い距離にある。この距離の判定には、例えば、最大距離を設定しておき、最大距離以内であれば十分近いと判断する。
【0041】
また、中心線9の端点の垂線上に中心線10の端点が存在する。そこで、厚みの薄い中心線9を中心線10の方向に平行移動し、図11(c)に示したように、中心線9と中心線10が揃えられる。
更に、端部11、11で中心線の長さの伸縮補正を行うと、図11(d)のように端部の伸びが除去され、後ほど閉領域を求めやすい形状となる。
【0042】
図11(e)は、包絡線によって間取りが描かれている場合であり、部分8で壁の厚さが変化している。
この場合も中心線は図11(f)のように断続し、これを図11(b)の場合と同様に補正して図11(g)のように、中心線が揃えられる。
更に、端部12、12、12、12の伸縮補正を行うと、図11(h)のように端部が延長されて接続し、後ほど閉領域を求めやすい形状となる。
本実施の形態の3次元CAD装置は、以上のようにして躯体を特定する(躯体特定手段)。
【0043】
(3)手順3:建具候補線を作成。
建具はさまざまな表記方法があり、建具レイヤの要素だけで建具の位置(建具基準線)を求めることは困難である。
そこで、建具は一般的に壁や柱に設置されるという事実を利用し、建具が存在すると推察される領域に建具候補線を作成する。そして、建具レイヤに登録されている要素と建具候補線を比較し、建具基準線を作成していく。
【0044】
建具候補線の作成は次のように行う。
2つの躯体中心線が、距離をおいて同一直線上に存在する場合、建具候補線を躯体中心線の端点から他の中心線に至るまで躯体中心線に平行に作成する(図12(b)の建具候補線12)。
包絡された図形の場合なども考慮し、壁中心線が柱中心線と交差していない箇所(壁中心線の端部側で、柱中心線がない箇所)は、その側面から垂直に他の中心線まで建具候補線を作成する(図12(b)の建具候補線13)。
なお、端部が中心線の側面に面する場合(中心線の側面から建具候補線を引き始める場合、又は、建具候補線が中心線の側面に突き当たり引き終える場合)は中心線の厚みを考慮するため端部を中心線の厚み分だけ短くする(図12(b)の建具候補線13)。
建具候補線にも厚みを属性として与え、建具候補線を引くのに使用した中心線の厚みを設定する。
【0045】
図12(a)に示した躯体中心線を用いて建具候補線を作成する場合について考える。
この図に建具候補線を作成すると図12(b)に示したようになる。図では、躯体中心線からの識別を容易にするために建具候補線を長方形で示してある。
例えば、中心線9と中心線10は、一直線上にあり、中心線9の端部から中心線10の端部にかけて建具候補線12を中心線9、10に平行に作成する。
また、中心線9の一端は、壁中心線が柱中心線と交差していない箇所に該当するため、中心線9の端部の側面から中心線11にかけて、中心線9と垂直に建具候補線13を作成する。なお、建具候補線13の両端は、中心線9、11の厚み分だけ短くしてある。以上の要領で他の建具候補線も作成される。
【0046】
なお、図12(b)に示した黒の四角記号は、建具候補線を引き始めようと試みた点であり、建具候補線を引き終えるための相手方の躯体中心線が存在しないか、あるいは、存在したとしても建具の長さとして現実的でないため建具候補線を作成しなかった箇所である。
例えば、記号14で示した端部から中心線と平行に建具候補線を作成する場合、建具候補線の他端側を規定する躯体中心線が存在しない。
また、記号15で示した端部から中心線と垂直に建具候補線を作成する場合も建具候補線の他端側を規定する躯体中心線が存在しない。
このようにして作成された躯体中心線を図示すると図12(c)のようになる。
本実施の形態の3次元CAD装置は、以上のようにして建具の存在する領域を推察する(建具領域推察手段)。
【0047】
(4)手順4:建具基準線の作成。
建具候補線と建具レイヤに登録された要素を比較して、建具候補線の領域に建具レイヤに登録された要素があるか否かを確認し、これによって建具候補線が建具基準線として妥当であるか計算する。妥当な場合はこれを建具基準線として形状を計算し属性に与える。
図13(a)は、建具候補線17と、建具レイヤに登録された建具を重ね合わせた所を示している。
次に説明する2つの判定方法(ブロック判定、円弧判定)とその結果の組み合わせにより、建具基準線として妥当であるか、及び建具の形状を判断する。
【0048】
まず、図13(b)に示したように、建具候補線17の上に複数のブロック18(矩形)を作成し、これが建具レイヤの要素と重なるか比較する。全てのブロック18が要素と重なる場合、そこに建具が存在すると判断する。
図では、判定結果をブロック18に対応させて白丸(重ならない場合)と黒丸(重なる場合)で示している。図に示したように、この場合は、全てのブロック18が要素と重なるため、建具候補線17の位置には建具が存在すると判断される。
なお、図13(c)に示したように、開きタイプの建具で敷居を描かない場合、一部のブロックは要素と重ならないが、この場合は、次に説明する円弧判定を行い、円弧が存在し、更に、始終点にあたるブロックが要素と重なっていれば建具が存在すると判断する。
【0049】
次に、図13(d)に示したように、円弧の判定も行う。即ち、基準線と要素の比較過程で円弧を抽出し、その中心が建具候補線の近辺にあり、半径が戸として十分大きい場合(例えば、建具候補線の1/3以上)は開き戸である可能性が高い。
そこで、建具候補線の両端の両側面側の4箇所(図に白丸、黒丸で示す)の円弧の有無と半径を元に、建具が片開き、両開き、親子などの開きタイプの判断に用いる。
図では、建具候補線17の両端の片側に黒丸で示したように、大小2つの円弧が検出されるので、この側に開閉する親子開きの建具であることがわかる。
【0050】
図14(a)は、建具基準線を示しており、図14(b)は、対応する建具レイヤの要素を示している。
建具候補線Aに関しては、対応する要素19が存在するため、ブロック判定では、要素が存在すると判定され、円弧判定でも片開きの円弧ありと判定される。この2つの判定結果より、建具候補線Aは、建具基準線として適していると判定され、その形状は片開きとなる。
建具候補線Bに関しては、ブロック判定では建具候補線Bの建具候補線A側のみ要素が重なり、他端側は重ならないため、ブロックと要素が重ならないと判定される。円弧判定では、要素19の円弧が検出され円弧ありと判定される。この2つの判定結果を総合すると、ブロック判定においてブロックと要素の重なりが検出されなかったため、建具基準として適していないと判定される。
【0051】
建具候補線Dに関しては、ブロック判定では、要素20と重なると判定される。円弧判定では、円弧なしと判定され、開き以外の建具であることがわかる。2つの判定結果を総合することにより、建具候補線Dは、建具基準線として適していると判定され、その形状は開き以外であると判断される。
建具候補線C、E、F、Gは、ブロック判定により、重なる要素がないため、建具基準線として適していないと判断される。
本実施の形態の3次元CAD装置は、以上のようにして、建具の存在すると推察した領域に存在する要素を建具として特定する(建具特定手段)。
【0052】
(5)手順5:部屋基準領域、壁基準線、袖壁基準線の作成。
以上の処理によって、2次元CADデータにおいて躯体と建具が特定されたため、ここでは、これらの結果を用いて部屋位置の閉領域を計算し、2次元CADデータで与えられている文字データを手がかりにして部屋に関する情報を取得する。これによって部屋の間取りが取得される。以下に、詳細な処理内容について説明する。
【0053】
(5−1)建具基準線と躯体壁中心線を用いた閉領域の検出。
躯体中心線と建具基準線を使用し、これらの線分で囲まれた領域を計算して検出する。閉領域を構成しない壁基準線などは袖壁基準線とする。閉領域の計算方法については後ほど詳細に説明する。
【0054】
図15(a)は、間取りを検出するための元となる線分図であって、躯体中心線と建具基準線を重ね合わせることにより作成される(線分図生成手段)。なお、建具基準線は、躯体の中心線ではなく、躯体の表面(壁の表面など)までしか作成されないものがあるので、この場合は、躯体中心線の伸縮補正と同様にして建具基準線の端部を躯体中心線に接するようにする。
図15(b)は、検出された閉領域を示している。閉領域A〜Hは、それぞれ線分に囲まれている。
図15(a)の部分22に存在する躯体中心線は、閉領域を構成しなかった壁基準線であり、袖壁基準線に設定される。
【0055】
(5−2)2次元CADデータからの部屋名称の取得。
2次元CADデータでは、例えば、「ホール」などと、部屋名称が文字要素により記載されている。そこで、2次元CADデータに登録されている文字要素を手がかりにして、各部屋に属性を付与していく。
即ち、部屋マスタには部屋名称が規定されており、この部屋名称と2次元CADデータに登録する文字要素を照合し、一致した場合は、部屋マスタで規定されている属性を部屋に付与するのである。
【0056】
この目的のために、まず、3次元CAD装置は、2次元CADデータの文字要素のうち、部屋名称にふさわしい文字要素を抽出する。
また、名称は、例えば、「台所」、「キッチン」などと、複数名称を有する場合がある。この場合は、このうち1つを上位語として登録し、他を下位語として登録した名称変換テーブルを用意し、2次元CADデータに下位語があった場合は、これを上位語に変換するようにする。このようにして、複数名称が存在しても漏れなく検出することができ、名称を上位語に統一することができる。
抽出した文字要素(以下、部屋名称要素)には、後ほど部屋マスタと関連づけるため、マスタIDなどの属性を付与する。
【0057】
(5−3)部屋名称要素、閉領域、部屋マスタの関連付け。
部屋名称要素と閉領域を重ね合わせ、閉領域に部屋名称要素が含まれる場合、その閉領域と部屋名称と部屋マスタを関連づける。
この関連づけにより、例えば、図15(c)の例では、閉領域Aは「ユニットバス」、閉領域C、Dは「収納」、閉領域Eは「洋室」、閉領域Hは「納戸」などとの関連づけがなされている。
【0058】
また、閉領域Gに関しては、「玄関」、「ホール」、「階段」などと、複数の部屋名称要素が関連づけられている。
閉領域B、Fに関しては関連づけがなされていない。
このように、関連付けがない領域、複数関連付けのある領域は、後述のように処理する。
【0059】
(5−4)結合されている閉領域を分割し、部屋を割り当てる場合。
玄関、廊下、階段同士が隣り合う場合などには間仕切が入らないことがある。そこには躯体中心線がなく、建具基準線もないため、複数の部屋が結合されている閉領域を計算してしまうことがあるが、そのような閉領域に対して分割計算を行う。
(5−4−1)袖壁基準線による階段を含む領域の分割。
階段と廊下が結合されている可能性のある閉領域を探し、領域分割と部屋マスタ(階段)との関連付けを行う。その条件として袖壁基準線(壁中心線で袖壁と判断されたもの)の組み合わせから新たな分割線を引き、閉領域と基準線と分割線から新たに閉領域を計算する。計算を終え階段だったほうの閉領域には部屋マスタから階段のものを関連づける。
【0060】
例えば、一般に、階段は、図16(a)〜(c)に示したパターンとなる。
そこで、図16(a)のように、袖壁基準線A、BがL字形状となる組み合わせの場合は、点線で示したように袖壁基準線Aの終点から袖壁基準線Aの方向に分割線を生成し、新たな閉領域を生成する。なお、袖壁基準線とは、袖壁であると判断された壁基準線である(図15(a)部分22)。
図16(b)のように、袖壁基準線A、B、Cがクランク形状となる組み合わせの場合は、点線で示したように、袖壁基準線Cの終点から袖壁基準線Bの方向に分割線を生成し、新たな閉領域を生成する。
図16(c)のように、袖壁基準線A、B、CがJ字形状となる組み合わせの場合は、点線で示したように、袖壁基準線Bの端点から袖壁基準線Bの方向に分割線を生成し、新たな閉領域を生成する。
【0061】
(5−4−2)関連部屋が複数ある閉領域を袖壁基準線で分割する場合。
複数部屋名称を含む閉領域に対しては分割を行う。
まず、袖壁基準線の端部から平行と垂直方向に、閉領域か他の袖壁基準線に接するまで分割線を引く。そして、この分割線と、2次元CADデータの全てのレイヤの要素をブロック判定し、ブロック判定で分割できる可能性があると判断した場合、この分割線で仮分割を行う。そして、分割された閉領域を全て部屋名称と関連づけることができた場合、分割を確定する。
これは、躯体レイヤ、建具レイヤ、その他のレイヤに、線分要素などで仕切線などが記載されている場合があり、これを検出するものである。
【0062】
図17(a)は、2次元CADデータによる間取り図を示している。袖壁21から仕切線22が対向する壁まで描かれている。仕切線22は、躯体レイヤや建具レイヤでない他のレイヤに登録されていてもよい。
図17(b)は、躯体中心線と建具中心線から形成された線分図である。3次元CAD装置は、袖壁基準線の端部から、周囲の線分に至るまで、袖壁と平行、又は垂直な分割線A、B、Cを生成する。そして、ブロック判定により分割線A、B、Cと重なる要素が全てのレイヤのうちにあるかを判断する。この場合、仕切線22が分割線Bと重なるので、3次元CAD装置は、分割線Bを採用し、図17(c)に示したように、分割線Bによって閉領域を部屋1と部屋2に分割する。
【0063】
(5−4−3)関連部屋が複数ある閉領域を矩形になるように分割する場合。
部屋は矩形で構成されることが多いことを用いて、複数部屋名称を含みながらも矩形でない閉領域を矩形にする分割を行う。
閉領域の凹んでいる頂点を基準に躯体中心線に平行及び垂直な分割候補線を引き、部屋名称と関連付けられる分割ができることを前提に、矩形2つに分割できる線、面積差を大きく分割できる線を優先して分割候補線を分割に使うか判定し、条件の合った線で分割する。
【0064】
図18(a)の例では、分割線A、Bの何れによっても部屋1と部屋2に分割できる。この場合は、分割線Aで分割し、部屋1、2の面積差が大きくなるようにする。
図18(b)の例では、分割線A、B、C、Dによって分割可能である。しかし、分割線B、分割線Dは、部屋名称要素と重なるため除外する。そして、分割しても部屋名称要素を対応付けることができない分割線Cも除外する。その結果、分割線Aを採用し、部屋1、2に分割される。
図18(c)の例では、分割線A、B、Cによって分割可能である。分割線Cは、部屋名称要素と重なるため除外する。更に、分割後の部屋が矩形になる分割線Bを選択し、部屋1、2に分割される。
【0065】
(5−5)部屋として認識困難な領域を妥当な部屋として認識させる場合。
以上の処理を行っても部屋マスタと関連付けを行えない領域についてのマスタ割り付けを行う。
これは、関連付けが既にされた隣り合う閉領域やその閉領域の大きさ、設置されている建具の数などから部屋マスタを割り付ける条件を決めた妥当部屋条件情報を予め用意しておき、これを元に関連付けていく。
【0066】
妥当部屋条件情報は、例えば、次のように設定することができる。ある閉領域が、面積が1〜1.5畳程度、同じ階にまだトイレが対応付けられた閉領域がない、内部に設置される建具と、外部に設置される建具がある場合に、この閉領域をトイレとする。
また、通常隣り合う部屋として設置される(ユニットバス、洗面脱衣室)、(浴室、洗面脱衣室)、(和室、押入)、(和室、床の間)、(洋室、もの入れ)などは、一方が定まると隣接する閉領域を特定することができる。
【0067】
以上のように、分割処理を行うと、間取りに配置された部屋を構成する閉領域が確定する。この閉領域を部屋基準領域という。また、部屋基準領域を構成する、壁中心線、分割線、袖壁線を壁基準線という。
本実施の形態の3次元CAD装置は、以上のように、2次元CADデータの壁と建具を用いて間取りを特定する(間取り特定手段)。
【0068】
(6)手順6:柱基準点の作成。
建具基準線、部屋基準領域(部屋マスタが割り当てられた閉領域)は既に作成できており、部屋基準領域の作成過程で、壁基準線、袖壁基準線も作成した。そこで、ここでは、残りの柱基準点を作成する。
まずは、柱中心線同士の交点と、その属性(厚み)から柱基準点を作成する。
次に壁中心線同士の交点を求め、交差する同士の厚みから、柱基準点を作成する。
後者の方で計算を行うのは、部屋の角などにおいては、処理の過程で柱中心線が壁中心線と一体になっているためである。
【0069】
(7)手順7:部屋、柱、壁、建具の配置。
この処理は、部屋基準領域、柱基準点、壁基準線、建具基準線とそこに含まれる属性から、3次元CADデータとしての部屋、柱、壁、建具を作成し配置するものである。
これは、手順6で得られた処理結果に、3次元CAD装置の公知の技術を適用することにより行うことができる。
【0070】
(8)手順8:マスタ情報の付与。
この処理は、配置した3次元CADデータと、各種マスタ情報から、床、天井、内壁仕上げ、外壁仕上げ、屋根データを作成し配置するものである。
これは、手順6で得られた処理結果に、3次元CAD装置の公知の技術を適用することにより行うことができる。
【0071】
次に、(5−1)で用いた閉領域の計算方法について説明する。
線分、円弧、スプラインなどの線集合から、それに囲まれる領域(内領域)とそれらが合成して1つになる領域(外領域、即ち輪郭で囲まれる領域)を求めることを考える。
更に求めた領域同士を比較することで、内領域に対する開口(又は重複)領域を求めることもできる。
【0072】
上述したように、従来からある線集合から閉領域を作成するための手段として、指定した位置に近い要素から時計回りあるいは反時計回りで交点をたどりながら閉領域を検出する方法があり、これはマウスで線に囲まれた空間をクリックすると、塗りつぶし領域が入るなどの機能に使われる。
本実施の形態で求めたい領域は、上記の手段で行った場合求めることができる閉領域であるが、本実施の形態では、複数の閉領域を一括して求めたいため、従来の方法で行うことは困難である。
従来の方法では指定点が必要であり、指定点1つで求められる領域が一箇所だけであるからである。仮に大量の指定点を定義して領域を求めたとしても拾えない領域が出る可能性があり、指定点を更に多くして閉領域を発見する精度を上げたとしても、検索の過程で同位置形状の領域が大量に見つかり、これらの比較と除外に多大の処理を要するため現実的ではない。
【0073】
ところで、線集合データを交点で分割して閉領域を構成する要素になりうる要素(両端点が接している要素)だけを残した状態にすると、これらの線分は必ず内領域や外領域などの2つの領域の辺を構成している。本実施の形態で提案する計算方法は、この事実を利用して、配列管理された要素データから確実に効率よく領域の検索そして取得などを行うものである。
【0074】
例えば、図19(a)に示したような、両端点で接している線分集合があった場合、図19(b)に示した、閉領域A、閉領域Bからなる内領域が存在する。また、図19(c)に示したように、線分集合の輪郭を構成する外領域Cが存在する。
そして、図19(d)に示したように、例えば、線分1、4、6は、内領域Aと外領域Cの2つの領域の辺を構成している。線分2は、内領域A、Bの2つの領域の辺を構成している。線分5、3、7は、内領域Bと外領域Cの2つの領域の辺を構成している。このように、各線分は、線分の右側、及び左側の領域の辺をなしている そこで、本実施の形態では、各線分の右側と左側にオン・オフ切替可能なフラグをオフの状態で設定し、このフラグをオンにしながら閉領域を検索することにより、検索済みか否かを表す情報とする。なお、オン・オフは逆に運用してもよい。
【0075】
図20に示したように、まず全ての線分の始点から終点に向かって左右2つのフラグを設定する。
ここで、フラグは各線分の両側にそれぞれ設定された未選択、選択済みを識別するフラグを構成している(フラグ設定手段)。
任意の要素(例ではA線)において、左フラグがオフの場合は左曲がり優先ルート(後述)、右フラグがオフの場合は右曲がり優先ルートで線分を取得していく(線分特定手段)。このようにして線分を取得していくと、各ルートとも最後は必ず検索を始めた線分に戻る。
検索を始めた線分に戻るまでに取得した線分が閉領域の辺であり、この辺と取得した順番から閉領域を作成する。
【0076】
ルート検索中には取得(通過)した線分のフラグをオンにし(右曲がり優先ルートの場合は右フラグ、左曲がりルートの場合は左フラグをオンにする。しかし、検索方向と逆に接続する線分は逆のフラグをオンにする。)、検索済みであることを記録しておく(フラグ再設定手段)。
このように、フラグをチェックしながら線分Aにおける閉領域を検索した後、まだフラグがオフとなっている要素を選択して検索を開始することにより、まだ未検索の閉領域を検索することができる(線分選択手段)。
そして、全ての要素の全てのフラグがオンとなった否かで、閉領域を全て検索できたか否かを判断することができる。
【0077】
図21は、閉領域検出処理の手順を説明するためのフローチャートである。
まず、3次元CAD装置は、全ての要素(壁中心線、柱中心線)を交点で分割する(ステップ5)。
次に、3次元CAD装置は、両端点が接していない要素は閉領域を構成しないので除外する(ステップ10)。
【0078】
次に、3次元CAD装置は、各要素の左右フラグを割り付ける(ステップ15)。各フラグの初期値はオフとなっている。
次に、3次元CAD装置は、オフとなっているフラグ(右フラグ、左フラグ何れでもよい)となっている要素があるか否か判断する(ステップ20)。
フラグがオフとなっている要素がある場合(ステップ20;Y)、3次元CAD装置は、左フラグがオフか否かを確認する(ステップ30)。
【0079】
左フラグがオフの場合(ステップ30;Y)、その要素の対応するフラグをオンにして左曲がり優先で次の要素を検索する(ステップ35)。
検索した要素が検索開始要素でない場合(ステップ40;N)、ステップ35に戻り更に検索を続行する。
検索した要素が検索開始要素であった場合(ステップ40;Y)、3次元CAD装置は、検索した線分を内周とする領域(閉領域)を作成し、記憶装置に保持する(ステップ45)。
【0080】
また、左フラグがオンでない場合(ステップ30;N)、又は、ステップ45で領域を保持した場合、3次元CAD装置は、右フラグがオフか否かを確認する(ステップ50)。
【0081】
右フラグがオフの場合(ステップ50;Y)、その要素の対応するフラグをオンにして右曲がり優先で次の要素を検索する(ステップ55)。
検索した要素が検索開始要素でない場合(ステップ60;N)、ステップ55に戻り更に検索を続行する。
検索した要素が検索開始要素であった場合(ステップ60;Y)、3次元CAD装置は、検索した線分を内周とする領域(閉領域)を作成して記憶装置に保持し(ステップ65)、ステップ20に戻る。
ステップ20でフラグがオフの要素がなかった場合(ステップ20;N)、3次元CAD装置は、検索した閉領域を内領域と外領域に分けて(ステップ25)処理を終了する。
【0082】
次に、図22に示した線分集合に対して以上の処理手順を適用してみる。
なお、図では、左右フラグを省略してある。
まず、要素19、要素20は、閉領域を構成しないので除外される。
次に、要素1を選択したとし、左曲がり優先ルート(1→2→3→14→15→16→7→6→11→10→1)をそれぞれの対応するフラグをオンにしながら検索し、図22(c)に示した外領域Eが取得される。ただし、括弧内の数字は、検索した要素の番号を示している。
【0083】
ここで、要素1から要素2へは直進、要素3から要素14へは右曲がりとなっているが、これは、進行方向の左側から右回りに要素を検索し、最初に見つかった要素が取得されるためである。このように要素を左側から右回りに検索するルートを左曲がり優先ルートと呼び、逆に右側から左回りに検索するルートを右曲がり優先ルートと呼ぶ。
次に、要素1からそれぞれの対応するフラグをオンにしながら、右回り優先ルート(1→12→4→10→1)を検索し、図22(b)に示した内領域Aが取得される。
【0084】
次に、要素2を選択する。なお、要素の選択はオフのフラグを有するものであれば任意でよい。
要素2の左フラグはオンになっているため、左曲がり優先ルートの検索は行わない。要素2の右フラグはオフの状態となっているため、対応するフラグをオンにしながら右曲がり優先ルート(2→3→14→5→12→2)を検索する。これによって、図22(b)の内領域Cが検索される。
【0085】
次に、要素3を選択するが、既に左右のフラグがオンになっているため、検索は行わない。
次に、要素4を選択する。要素4の左フラグはオフであるため、対応するフラグをオンにしながら左曲がり優先ルート(4→11→6→13→4)を検索し、これによって内領域Bが検索される。
一方、要素4の右フラグはオンになっているため、右曲がり優先ルートの検索は行わない。
【0086】
次に、要素5を選択する。要素5の左フラグはオフであるため、対応するフラグをオンにしながら左曲がり優先ルート(5→13→7→16→15→5)を検索し、これによって内領域5が検索される。
一方、要素5の右フラグはオンであるため、右曲がり優先ルートの検索は行わない。
【0087】
次に、要素6、7を選択するが、何れも左右フラグがオンになっているため検索は行わない。
次に、要素8を選択する。左フラグがオフとなっているため、左曲がり優先ルート(8→18→9→17→8)の検索を行い外領域Fが検索される。
また、要素8の右フラグがオフであるため、右曲がり優先ルート(8→18→9→17→8)の検索を行い内領域Fが検索される。このように、左右のルートが同じ要素順となる場合は、内領域と外領域が等しくなる。
残りの要素9〜18は、何れも左右フラグがオンとなっているので、検索は行わない。
以上のようにして、全ての閉領域が検索された。
【0088】
図23は、本実施の形態の3次元CAD装置のハードウェア的な構成の一例を示したブロック図である。
3次元CAD装置は、制御部111にバスライン118を介して入力装置115、出力装置116、通信制御装置116、記憶装置123、記憶媒体駆動装置120、入出力I/F(インターフェース)119などが接続して構成されている。
【0089】
CPU(Central Processing Unit)113は、所定のプログラムに従って、各種の情報処理や3次元CAD装置の制御を行ったりする。CPU113は、レジスタと呼ばれる記憶部を有しており、このレジスタにROM(Read Only Memory)112やRAM(Random Access Memory)114などからプログラムを読み込んで、このプログラムに従って動作することにより制御部111の各種機能が発揮される。
CPU113は、CADプログラムを読み込んでこれを実行することにより、設計支援機能を発揮する他、2次元CADデータから間取りを自動認識し、3次元CADでの処理を行えるようにする。
【0090】
ROM112は、CPU113が各種演算や制御を行うための各種プログラム、データ及びパラメータなどを格納したリードオンリーメモリである。CPU113は、ROM112からプログラムやデータ、パラメータなどを読み込むことはできるが、これらを書き換えたり消去することは行わない。
【0091】
RAM114は、CPU113にワーキングメモリとして使用されるランダムアクセスメモリである。CPU113は、RAM114にプログラムやデータなどを書き込んだり消去したりすることができる。
本実施の形態では、RAM114には、2次元CADデータから間取りを自動認識するためのエリアや、3次元CAD機能を発揮するためのエリアが確保可能となっている。
【0092】
入力装置115は、例えばキーボードやマウス、タブレットなどの入力装置から構成されている。
入力装置115は、3次元CAD装置に対して文字や数字などの各種データを入力したり、コマンドを入力したりするための装置である。
ユーザは、入力装置115からコマンドを入力して、2次元CADデータの読み込みのを指示したり、間取りの自動認識を指示したりすることができる。
【0093】
キーボードは、カナや英文字などを入力するためのキーや数字を入力するためのテンキー、各種機能キー、カーソルキー及びその他のキーによって構成されている。
マウス、タブレットは、ポインティングデバイスである。GUI(Graphical User Interface)などを用いて3次元CAD装置を操作する場合、表示装置上に表示されたボタンやアイコンなどをマウスでクリックすることにより、コマンドなどの入力を行うことができる。
【0094】
出力装置116は、例えば表示装置、印刷装置などから構成されており、3次元CAD装置が行った情報処理結果などを出力する際に使用する。
表示装置は、例えばCRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ、プラズマディスプレイなどで構成された情報を画面上に提示するための装置である。
【0095】
表示装置には、2次元CADデータによる図面を表示する他、2次元CADデータから自動生成した間取り図、更に、間取り図から家屋を自動生成したコンピュータグラフィックスなどを表示することができる。
【0096】
印刷装置は、例えば、プロッタの他、インクジェットプリンタ、レーザプリンタ、熱転写プリンタ、ドットプリンタなどの各種プリンタ装置によって構成されている。
印刷装置により、作成した間取り図などを設計図として紙媒体に印刷することができる。
【0097】
通信制御装置116は、3次元CAD装置をインターネットなどのネットワークに接続するための装置であって、モデム、ターミナルアダプタ、その他の接続装置によって構成されている。
3次元CAD装置は、通信制御装置116を用いて、外部のコンピュータから2次元CADデータを受信したり、あるいは、2次元CADデータから間取りを自動認識した結果を送信したりすることができる。
【0098】
記憶装置123は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータを読み書きするための駆動装置によって構成されている。当該記憶媒体として主にハードディスクが使用されるが、その他に、例えば、光磁気ディスク、磁気ディスク、半導体メモリなどの他の読み書き可能な記憶媒体によって構成することも可能である。
【0099】
記憶装置123には、プログラム格納部131、データ格納部132などが形成されており、それぞれ、プログラム、データが格納されている。
プログラム格納部131には、3次元CAD装置に設計図作成機能や2次元CADデータの間取り自動認識機能を発揮させるための3次元CADプログラムや、メモリ管理や入出力管理など3次元CAD装置を動作させるための基本的なプログラムであるOS(Operating System)、通信制御装置116を制御する通信プログラム、その他の各種プログラムが記憶されている。
データ格納部132には、2次元CADデータや、ユーザが設計した、あるいは設計中の3次元CADデータなどが格納されている。
【0100】
記憶媒体駆動装置120は、着脱可能な記憶媒体を駆動してデータの読み書きを行うための駆動装置である。着脱可能な記憶媒体としては、例えば、光磁気ディスク、磁気ディスク、磁気テープ、半導体メモリ、データをパンチした紙テープ、CD−ROMなどがある。なお、CD−ROMや紙テープは、読み込みのみ可能である。
3次元CAD装置は、記憶媒体駆動装置120を介して、記憶媒体に記憶された2次元CADデータを読み込んだり、あるいは、3次元CADデータを記憶媒体に書き込んだりすることができる。
【0101】
入出力I/F(インターフェース)89は、例えば、シリアルインターフェースやその他の規格のインターフェースにより構成されている。入出力I/F119に当該インターフェースに対応した外部機器を接続することにより、CAD装置の機能を拡張することができる。
【0102】
以上に説明した本実施の形態により次のような効果を得ることができる。
(1)2次元CADデータの間取り図面から、間取りを自動認識することができる。
(2)2次元CADデータから躯体レイヤを特定し、躯体レイヤから壁と柱を表す線分要素を特定することができる。
(3)躯体レイヤでの壁と柱の位置から建具が配置されている位置を推察することができる。
(4)2次元CADデータで建具レイヤを特定し、推察した建具の位置と、建具レイヤでの要素の位置の重なりから、建具レイヤにおいて建具を表す要素を特定することができる。
【0103】
(5)壁と建具からなる線分図を作成し、その閉領域を検出して部屋が存在する領域を検出することができる。
(6)2次元CADデータの文字要素と予め用意してある部屋マスタをマッチングして、検出した部屋に属性を付与することができる。
(7)部屋に付与された属性を用いて建築物の3次元構造を自動的に生成することができる。
【0104】
(変形例1)
本実施の形態で説明した(2)手順2(躯体中心線の作成、及び壁中心線と柱中心線の分別)は、次のように構成することも可能である。
(2−1)の要素集合の整理は、先に説明した通りである。(2−2)の真壁など、複数平行線からなる躯体要素の部分削除は、以下に説明する内容により不要となる。
【0105】
(2−3)の躯体中心線の(平行線の中心線)作成は、次のように行うことができる。
まず、3次元CAD装置は、躯体レイヤの平行な要素から柱と壁を求めるために、壁厚として許容できる値の最大値(壁厚限界値)を常識的な範囲で設定する。木造物件であれば100から300mm程度が妥当である。
そして、3次元CAD装置は、躯体レイヤの要素から平行となっている線分要素を比較し、間隔が壁厚限界値以内であれば、壁の候補として中心線を作成する。以下、先に説明した(2−3)と同様にして躯体中心線を作成する。
【0106】
(2−4)の妥当でない躯体中心線の判定と除外は、次のように行うことができる。
壁の表現方法、要素の配置位置、人的要因などから誤って躯体レイヤに登録された要素により、前述の計算で、躯体中心線として望ましくない中心線が作成されることがある。
そこで、3次元CAD装置は、作成した中心線が妥当かどうかを他の中心線と比較しながら判断し適切で無い中心線を除外する。
【0107】
柱を内蔵する大壁に関する処理は図9で説明した通りである。
本来他のレイヤに登録すべき要素が描かれている場合は次のようにする。
図24(a)は、壁の内部に真壁を示す2本の線分31、そして壁の近くには、本来は他のレイヤに登録されてあるのが望ましい棚が描かれている。
この場合、真壁の内側2本の線分31や棚を表す線分に対する中心線も含めて中心線を作成すると、図24(b)に示したように、線分A〜Gで成る中心線が作成される。
ここで、線分A、Bは棚と壁の間に作成された中心線である。
線分Dは、壁を4本の平行線(外側2本の線分要素と内側2本の線分要素)で表現した真壁の外側2本の線分から作られる中心線である。
線分Fは、真壁の内側2本の線分31から作られる中心線であり、線分Dと重なっている。
線分EとGは、真壁の内側の線分31と外側の線分の間の中心線である。
【0108】
これら中心線A〜Gには、厚みの属性として中心線A:110[mm]、中心線B:50[mm]、中心線C:100[mm]、中心線D:100[mm]、中心線E:40[mm]、中心線F:20[mm]、中心線G:40[mm]が付与されているものとする。
このように、躯体中心線同士を比較し、片方の躯体中心線がもう片方の躯体中心線の厚みの範囲内にある場合や、並んで接するような場合には、どちらか、あるいは両方が躯体として不適切な線である可能性が高い。
【0109】
躯体として適切かどうかは、壁として十分長い(例えば、躯体中心線の属性の厚みよりも長い。)躯体中心線同士が交差していたり端部が近接する関係にあるものや、あるいは、そのような関係を持った躯体中心線の厚みと、同じ長さであったり、同じ厚みを属性に持つ躯体中心線であるかなどが判断基準となる。
【0110】
図24(b)で、中心線Bは中心線Cと並行であり、中心線Bと中心線Cの厚みを考慮すると(中心線Bの厚みは50[mm]、中心線Cの厚みは100[mm])、両者は接する関係にあるものとする。そのため、何れかの中心線は、躯体中心線でないため除去する必要がある。
中心線Cは、同じ厚みの中心線Dと交差しており躯体(壁)と判断できる可能性があるが、中心線Bはこのような交差の関係を持たない。
また、中心線Bと同じ厚みの他の中心線が図面内に存在しないことから、3次元CAD装置は、中心線Cを躯体として優先するために、中心線Bを除去する。
中心線Dと中心線Aも、並んで接する関係にあるが、3次元CAD装置は、同様の判断により中心線Aを除去する。
【0111】
中心線Eは、中心線Dの厚みの範囲内に存在するものとする。
中心線Dは、同じ厚みの中心線Cと交差しており躯体(壁)と判断できる可能性があるが、中心線Eはこのような交差の関係を持たない。
また中心線Eと同じ厚みを持つ中心線Gにおいても、やはり同様であることから、3次元CAD装置は、中心線Dを躯体として優先するために、中心線Eを除去する。
中心線Fと中心線Gも、中心線Dの厚みの範囲内に存在するものであるが、3次元CAD装置は、同様の判断によりFとGを除去する。
図24(c)は、図24(b)から不適切と判断した躯体中心線を除去した後の様子を表しており、中心線C、Dが躯体中心線として抽出される。
【0112】
本来他のレイヤに登録すべき要素が描かれている場合の他の処理例を説明する。
図25(a)は、壁の側面に、本来は他のレイヤに登録されてあるのが望ましい壁仕上げが描かれている。この場合、図25(b)に示したように、中心線A〜Hから成る中心線が作成される。
中心線B、C、E、F、Gは、壁仕上げと壁によって作られた中心線である。
中心線Dは中心線Cと並行に並んでおり、厚み属性を考慮すると両者は接する関係にあるものとする。そのため、中心線D、Cの何れかを除去する必要がある。
中心線Dは中心線Aと交差をしていないものの、厚み属性を考慮すると、中心線Dの端部は中心線Aの壁の表面にあり、「Tの字」を描くような関係にあることから、3次元CAD装置は、中心線Dを躯体中心線として優先する。
【0113】
一方、中心線Cも中心線Bとは、厚み属性を考慮すると近い関係(壁の角が接する「Lの字」を描く様な関係にあるが、3次元CAD装置は、「Tの字」を構成するDの方を躯体として強い優先関係とするルールを設定しており、中心線Cを除去する。
中心線Aも中心線Dにより壁として優先できるため、3次元CAD装置は、並行に並んで接する関係にある中心線B、Fを除去する。
中心線Hと中心線Gは並んで接する関係にある。中心線Hと中心線Gともに、同厚の他の要素との関連は「Lの字」を構成する程度であるが、中心線Hと同じ厚みの中心線Aや中心線Dが壁として優先されていることから、3次元CAD装置は、中心線Hを優先して中心線Gを除去する。
【0114】
このように、3次元CAD装置は、同じ厚みの躯体中心線が交差していたり、交差していなくても2本以上の中芯線で「Tの字」を構成したり、4本線で「十の時」を構成したものを躯体として優先させることにより、不適切な中心線を除去することができる。
これは、躯体レイヤに誤って含まれる壁仕上などによって作成された中心線は、交差や、「Tの字」や「十の時」の関係を作ることがほとんど無いという性質を利用したものである。
図25(c)は、3次元CAD装置が、図25(b)から不適切と判断した躯体中心線を除去した後の様子を表しており、中心線A、D、Hが躯体中心線として抽出されている。
【0115】
次に、包絡処理された柱要素の躯体中心線はつぎのようにして作成することができる。
RC構造等の図面では、矩形の柱であっても柱壁が包絡処理されることで、描画に用いている線分要素などが複雑な組み合わせになることがある。
この場合、包絡線などからそのまま躯体中心線を作成してもそれが十字に交差せず、柱の躯体中心線として採用できない場合や、柱の大きさが壁厚限界値よりも大きいことから躯体中心線そのものが特定できないことがある。
【0116】
このような場合、3次元CAD装置は、既に取得した躯体中心線から包絡処理で取り除かれた部分を復元することで柱を矩形や円といった単純な図形に戻し、その後、RC柱として現実的な値(550程度)を壁厚限界値に用いて、再度躯体中心線を作成する。
そして、3次元CAD装置は、この中から矩形を構成(中心線が十字で交差する)するものを取得し、柱の躯体中心線として採用する。
【0117】
図26(a)は、包絡処理されたRC構造の柱(柱要素)と壁を表している。壁や柱の表面が包絡線を表す線分によって表されている。
図26(b)は、図26(a)を元に作成した躯体中心線であり、3次元CAD装置が包絡線を構成する線分の中心線から作成したものである。
壁厚限界値を超えてしまうと、線分a、b、cは作られることすらないが、作られても元の要素が包絡処理されているため中心線が十字とならず、3次元CAD装置は、これを柱として認識することはできない。
また、線分c、bは、線分aに対して柱を構成しない形で線分aの厚みに含まれており、また線分aも柱を構成しない形で線分bに含まれていることや、線分a、b、cは他箇所で壁を構成している厚みでも無いことから、3次元CAD装置は、前述における処理によって、線分a、b、Cを不正な躯体中心線として除去する。
【0118】
図26(c)は、図26(a)で示されている躯体レイヤ要素から躯体中心線を作成し、図26(a)の図に重ねたものである。
図26(d)は、それらを比較して、3次元CAD装置が包絡された柱を復元するための線を作成したものである。
図26(c)の躯体中心線eには、壁の表面を基準とした端部に躯体レイヤ要素dが付いている。この場合、3次元CAD装置は、図26(d)に示したように、この躯体レイヤ要素dの角度で躯体中心線eの壁の小口gを作成する。
【0119】
3次元CAD装置は、他の箇所も同様に処理し、図26(d)に示したように小口h、iを作成する。
3次元CAD装置は、これらを躯体レイヤ要素に重ねることで、包絡処理されていた柱を矩形に復元する。
このように復元した後に作成した躯体中心線は十字交差の関係を持ち、3次元CAD装置は、これを柱と認識できる。このような既に取得した躯体中心線を元に、包絡処理された要素を復元し、単純な要素の組み合わせに戻して柱を認識(柱要素を特定)する処理は、矩形の柱に限らず、円柱を取得する際における円弧から円のへ復元等においても有効である。
【0120】
図26(e)は、3次元CAD装置が、図26(d)の図面から、RC柱の大きさとして現実的な値を壁厚限界値に用いて再度躯体中心線を求めたものである。
その中で、3次元CAD装置は、中心線同士が十字の交差をし、かつRC柱として妥当な大きさや縦横比(例えば長辺が短辺の2倍以内)である中心線j、kを、躯体中心線としてこの後の処理に用いる。
このように、3次元CAD装置は、包絡処理によって線分の一部を削除された柱要素に対して、前記削除された線分(小口g、h、i)を当該柱要素の接続する躯体の躯体中心線を用いて復元することにより、前記包絡処理された柱要素を特定する柱要素特定手段を備えている。
【0121】
(2−5)躯体中心線の補正。
RC構造のように、柱壁が包絡されたレイヤ要素から作成される躯体中心線では、お互いが交差や接する関係に無く、これらをそのまま後述の建具基準線の作成や、間取りの基準領域を求めることには適切でない。そこで、3次元CAD装置は、これらを伸ばして接続し、後の処理を行いやすくする。
【0122】
図27(a)は、包絡処理された壁により図面が描かれている場合であって、この図面で躯体中心線を作成すると図27(b)に示したように断続した中心線が作成される。
躯体中心線Aの端部aは、躯体中心線Cの厚みを考慮した側面に位置するため、3次元CAD装置は、端部aを伸ばして躯体中心線Cに接続する。3次元CAD装置は、同様の処理を躯体中心線Aの端部bでも行う。
【0123】
躯体中心線Cの端部cと、躯体中心線Bの端部dとは、互いの厚みを考慮すると、壁の角が接する関係であることから、3次元CAD装置は、端部cと、端部dを互いに伸ばして接続する。3次元CAD装置は、同様の処理を躯体中心線Dの端部eと躯体中心線Bの端部fでも行う。
このように処理を行うと、図27(c)のように端部が延長されて接続し、後ほど建具基準線や閉領域を求めやすい形状になる。
本変形例の形態の3次元処理装置は、以上のようにして躯体を特定する(躯体特定手段)。
【0124】
(変形例2)
本実施の形態で説明した(3)手順3(建具候補線の作成)は、次のように構成することも可能である。
建具候補線の作成は、先の説明では、2つの躯体中心線が、距離をおいて同一直線上に存在する場合、建具候補線を躯体中心線の端点から他の中心線に至るまで躯体中心線に平行に作成したが(図12(b)の建具候補線12)、このように、2つの躯体中心線が同一直線上にある場合に加えて、3次元CAD装置は、お互いの壁厚の半分を限度とした範囲内に存在する場合に、建具候補線を躯体中心線の端点から、他の中心線に至るまで躯体中心線に平行に作成するように構成することもできる。
本変形例により、建具の片方の端に他方と異なる厚みの壁が作図されていた場合でも建具中心線を作成することができる。
【0125】
(変形例3)
本実施の形態で説明した手順5の(5−1:建具基準線と躯体壁中心線を用いた閉領域の検出)は、次のように構成することも可能である。
【0126】
(5−1)建具基準線と躯体壁中心線を用いた閉領域の検出。
先の実施の形態では、躯体中心線と建具基準線を用いたが、閉領域の検出は、躯体中心線と建具基準線に他に、これらを元に作成した補助線を使用し、これらの線分で囲まれた領域を計算して検出するように構成することも可能である。
閉領域を構成しない壁基準線などは、袖壁基準線とする。閉領域の計算方法は、先に図22で説明した方法を用いる。
【0127】
図28は間取りを検出するための元となる線分図であって、躯体中心線と建具中心線を重ね合わせることにより作成される(線分図作成手段)。建具基準線は躯体中心線に必要な情報(位置を示す線と厚み)を持っているため、これを躯体中心線に置き換えて処理することができる。
なお、建具基準線には、躯体の中心線ではなく、躯体の表面(壁の表面など)までしか作成されないものがあるので、躯体中心線での端部補正のように、建具基準線の端部を躯体中心線までの伸ばして接続する。
【0128】
また、これらの線分の内、柱として認識できる部分は領域作成に必要ないため取り除く。柱として認識できる線とは、躯体中心線と建具中心線(躯体中心線に置き換えたもの)を重ね合わせた線分図を交点で分割したときに、両端が他の線分と接していなく、かつ、その中心線の厚みよりも短くなる箇所である。3次元CAD装置がこの処理を行うと図15(a)の線分図を作成できる。
図15(b)は、検出された閉領域を示している。閉領域AからHはそれぞれ線分に囲まれている。
図15(a)の部分22に存在する躯体中心線は、閉領域を構成しなかった壁基準線であり、袖壁基準線に設定される。
【0129】
補助線を用いた、領域の計算は次のようにして行う。
図29(a)は、RC構造の特徴を持った図面から、躯体中心線を作成したものである。
図29(a)の丸印aで囲んだ領域は、部分的に壁厚が異なっていることにより、躯体中心線がずれて接続されていない箇所を示している。
丸印b、cで囲んだ領域は、RC柱の包絡等により壁が繋がっていない箇所を示している。
このように、躯体中心線と建具中心線のみで閉領域の計算しても正しい領域を求めることができない場合があり、この場合は、これらの中心線を接続するための補助線を作成し、これらを合わせて領域計算を行う。
【0130】
図29(b)は、RC柱を示す躯体中心線の中を通すように補助線を引いた例である。
三角記号は、柱に接していた躯体中芯線(壁)の端部が、三角記号の頂点にあることを示している。そして、3次元CAD装置は、三角記号の頂点から、柱の反対側まで貫通させるように補助線を引く。
図29(b)の補助線d、eにおいては、柱内部を通過する補助線が、全て交差する関係とならない。そのためこれらの補助線を接続するために、3次元CAD装置は、更に補助線fを引く。
補助線d、eは平行な関係にあるため、3次元CAD装置は、柱の中心を通り、補助線d、eに直行するように補助線fを引いた。
また、補助線g、hのような場合では、すでに柱内の補助線が全て交差し接続されているため、補助線fの様な目的の補助線を引く必要は無い。
【0131】
図30(a)は、3次元CAD装置が、図29(b)で作成した補助線を交点で分割し、両端が、躯体中心線や他の補助線の端部と接している箇所のみを残したものである。
図30(b)は、上記手段で引いた補助線を躯体中心線と合わせたものである。なお、柱として認識できる線は、領域作成に必要ないので取り除いている。
この中の、図30(b)の補助線aは、偏芯により躯体中心線同士が接していない箇所を接続するために引いた補助線である。
このように、3次元CAD装置は、比較する躯体中心線同士が、平行関係で厚みを考慮すると十分近い距離にあり、この時端点の垂線上に相手端点が存在する場合に、これらの端点をつなげる補助線を引く。これらの補助線を引いたとで、中心線同士が繋がり、閉領域を求めることができるようになる。
本変形例により、躯体中心線同士が接続、あるいは接していない場合に、補助線でこれらを接続することにより、閉領域を形成することができる。
このように、3次元CAD装置は、特定した躯体の中心線が連結しない場合に、補助線を生成して連結させる。
【0132】
なお、本実施形態としては、2次元CADデータの間取り図を自動認識するための構成として次の構成を用いることができる。
(1)構成1「躯体と建具を用いて間取りが規定されている2次元CADデータを取得する2次元CADデータ取得手段と、前記取得した2次元CADデータにおいて躯体を特定する躯体特定手段と、前記特定した躯体の配置から建具が配置されている領域を推察する建具領域推察手段と、前記推察した領域に存在する要素を建具として特定する建具特定手段と、前記特定した躯体と前記特定した建具を用いて間取りを特定する間取り特定手段と、を具備したことを特徴とする2次元CADデータ処理装置。」
(2)構成2「前記2次元CADデータは、躯体を規定した躯体レイヤと建具を規定した建具レイヤを含んでおり、前記躯体特定手段は、前記躯体レイヤから、間隔が所定値内である平行線を抽出することにより躯体を特定し、前記建具特定手段は、前記建具レイヤにおいて、前記推察した領域に存在する要素を建具として特定することを特徴とする構成1に記載の2次元CADデータ処理装置を提供する。
(3)構成3「前記特定した躯体の中心線と、前記特定した建具の基準線と、を連結して線分からなる線分図を生成する線分図生成手段を具備し、前記間取り特定手段は、前記生成した線分図の閉領域を検出することにより間取りを特定することを特徴とする構成1、又は構成2に記載の2次元CADデータ処理装置。」
(4)構成4「前記2次元CADデータに規定されている文字と、前記特定した間取りを対応付けることにより、前記間取りに属性を付与することを特徴とする構成1、構成2、又は構成3に記載の2次元CADデータ処理装置。」
(5)構成5「2次元CADデータ取得手段と、躯体特定手段と、建具領域推察手段と、建具特定手段と、間取り特定手段と、を備えたコンピュータにおいて、前記2次元CADデータ取得手段が、躯体と建具を用いて間取りが規定されている2次元CADデータを取得する2次元CADデータ取得ステップと、前記躯体特定手段が、前記取得した2次元CADデータにおいて躯体を特定する躯体特定ステップと、前記建具領域推察手段が、前記特定した躯体の配置から建具が配置されている領域を推察する建具領域推察ステップと、前記建具特定手段が、前記推察した領域に存在する要素を建具として特定する建具特定ステップと、前記間取り特定手段が、前記特定した躯体と前記特定した建具を用いて間取りを特定する間取り特定ステップと、から構成されたことを特徴とする2次元CADデータ処理方法。」
(6)構成6「躯体と建具を用いて間取りが規定されている2次元CADデータを取得する2次元CADデータ取得機能と、前記取得した2次元CADデータにおいて躯体を特定する躯体特定機能と、前記特定した躯体の配置から建具が配置されている領域を推察する建具領域推察機能と、前記推察した領域に存在する要素を建具として特定する建具特定機能と、前記特定した躯体と前記特定した建具を用いて間取りを特定する間取り特定機能と、をコンピュータで実現する2次元CADデータ処理プログラム。」
(7)構成7「前記線分図生成手段は、前記特定した躯体の中心線が連結しない場合に、補助線を生成して連結させることを特徴とする構成3に記載の2次元CADデータ処理装置。」
(8)構成8「包絡処理によって線分の一部を削除された柱要素に対して、前記削除された線分を当該柱要素の接続する躯体の躯体中心線を用いて復元することにより、前記包絡処理された柱要素を特定する柱要素特定手段を具備したことを特徴とする構成3、又は構成7に記載の2次元CADデータ処理装置。」
【符号の説明】
【0133】
111 制御部
112 ROM
114 RAM
115 入力装置
116 出力装置
117 通信制御装置
118 バスライン
119 入出力I/F
120 記憶媒体駆動装置
123 記憶装置
131 プログラム格納部
132 データ格納部
【特許請求の範囲】
【請求項1】
線分を連結して構成した線分図において線分によって囲まれた閉領域を識別する閉領域識別方法であって、
フラグ設定手段と、線分選択手段と、線分特定手段と、フラグ再設定手段と、を備えたコンピュータにおいて、
前記フラグ設定手段が、各線分の両側にそれぞれ未選択、選択済みを識別するフラグを設定するフラグ設定ステップと、
前記線分選択手段が、前記設定したフラグの少なくとも一方が未選択となっている線分を選択する線分選択ステップと、
前記線分特定手段が、前記選択した線分を一辺とし、前記線分の未選択となっているフラグが設定されている側を内周とする閉領域を構成する線分を特定する線分特定ステップと、
前記フラグ再設定手段が、前記選択した線分、及び前記特定した線分で構成された閉領域の内周側のフラグを選択済みに再設定するフラグ再設定ステップと、
から構成されたことを特徴とする閉領域識別方法。
【請求項1】
線分を連結して構成した線分図において線分によって囲まれた閉領域を識別する閉領域識別方法であって、
フラグ設定手段と、線分選択手段と、線分特定手段と、フラグ再設定手段と、を備えたコンピュータにおいて、
前記フラグ設定手段が、各線分の両側にそれぞれ未選択、選択済みを識別するフラグを設定するフラグ設定ステップと、
前記線分選択手段が、前記設定したフラグの少なくとも一方が未選択となっている線分を選択する線分選択ステップと、
前記線分特定手段が、前記選択した線分を一辺とし、前記線分の未選択となっているフラグが設定されている側を内周とする閉領域を構成する線分を特定する線分特定ステップと、
前記フラグ再設定手段が、前記選択した線分、及び前記特定した線分で構成された閉領域の内周側のフラグを選択済みに再設定するフラグ再設定ステップと、
から構成されたことを特徴とする閉領域識別方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【公開番号】特開2012−48763(P2012−48763A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2011−269366(P2011−269366)
【出願日】平成23年12月8日(2011.12.8)
【分割の表示】特願2006−250328(P2006−250328)の分割
【原出願日】平成18年9月15日(2006.9.15)
【出願人】(394024477)福井コンピュータ株式会社 (18)
【Fターム(参考)】
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願日】平成23年12月8日(2011.12.8)
【分割の表示】特願2006−250328(P2006−250328)の分割
【原出願日】平成18年9月15日(2006.9.15)
【出願人】(394024477)福井コンピュータ株式会社 (18)
【Fターム(参考)】
[ Back to top ]