(57)【要約】      （修正有）【課題】予め登録する必要がなく的確に隠線を判定することができ、しかも従来例に比較して高速で隠線判定処理を行う。【解決手段】少なくとも上部品と下部品を含み、各部品を配置して設備図面を作成し、上部品の直下の下部品について隠線判定を行う情報処理装置において、各部品の図形を線分に展開して個々の下部品の図形の線分（線分からの延長線も含む。）と上部品の全図形の交点を計算し、上部品の図形と下部品の図形の交点が存在した場合に下部品の図形の始点側、終点側の両側に対して、上部品との交点が存在するかどうかを調べ、始点側又は終点側に交点が存在しないときにその点を隠線の境界と判断することにより隠線を判定する。【選択図】図９
2010176493.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも上部品と下部品を含み、各部品を配置して設備図面を作成し、上部品の直下の下部品について隠線判定を行う情報処理装置において、
各部品の図形を線分に展開して個々の下部品の図形の線分と上部品の全図形の交点を計算し、上部品の図形と下部品の図形の交点が存在した場合に下部品の図形の始点側、終点側の両側に対して、上部品との交点が存在するかどうかを調べ、始点側又は終点側に交点が存在しないときにその点を隠線の境界と判断することにより隠線を判定する制御手段を備えたことを特徴とする情報処理装置。
【請求項２】
上記制御手段は、各部品の図形の部分が直線でない場合は、上部品の図形と下部品の図形の交点が存在した場合、交点から下部品の図形の接線を求め、始点側、終点側の両側に対して、上部品との交点が存在するかどうかを調べ、始点側又は終点側に交点が存在しない場合にその点を隠線の境界と判断することにより隠線を判定することを特徴とする請求項１記載の情報処理装置。
【請求項３】
上記制御手段は、各部品の図形の線分における２つの交点を結ぶ線分上の点からの当該線分の長手方向とは異なる角度の方向を求め、当該異なる角度の方向の延長上で上部品の図形と交点が存在しない場合はその２つの交点間の図形を隠線を判定することを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
上記制御手段は、上部品の全存在領域を複数の領域に分割し、下部品の全存在領域を複数の領域に分割し、上記上部品毎及び上記下部品毎にそれぞれ、上記各領域内にあるか否かの判断を行い、上記上部品の各領域と上記下部品の各領域とが重なっているときに、上記上部品の各領域毎に下部品の図形の領域を判定し、上記上部品の各領域毎の下部品の図形について上記隠線の判定を行うことを特徴とする請求項１乃至３のうちのいずれか１つに記載の情報処理装置。
【請求項５】
少なくとも上部品と下部品を含み、各部品を配置して設備図面を作成し、上部品の直下の下部品について隠線判定を行う情報処理方法において、
各部品の図形を線分に展開して個々の下部品の図形の線分と上部品の全図形の交点を計算し、上部品の図形と下部品の図形の交点が存在した場合に下部品の図形の始点側、終点側の両側に対して、上部品との交点が存在するかどうかを調べ、始点側又は終点側に交点が存在しないときにその点を隠線の境界と判断することにより隠線を判定する制御ステップを含むことを特徴とする情報処理方法。
【請求項６】
上記制御ステップは、各部品の図形の部分が直線でない場合は、上部品の図形と下部品の図形の交点が存在した場合、交点から下部品の図形の接線を求め、始点側、終点側の両側に対して、上部品との交点が存在するかどうかを調べ、始点側又は終点側に交点が存在しない場合にその点を隠線の境界と判断することにより隠線を判定することを特徴とする請求項５記載の情報処理方法。
【請求項７】
上記制御ステップは、各部品の図形の線分における２つの交点を結ぶ線分上の点からの当該線分の長手方向とは異なる角度の方向を求め、当該異なる角度の方向の延長上で上部品の図形と交点が存在しない場合はその２つの交点間の図形を隠線を判定することを特徴とする請求項５又は６記載の情報処理方法。
【請求項８】
上記制御ステップは、上部品の全存在領域を複数の領域に分割し、下部品の全存在領域を複数の領域に分割し、上記上部品毎及び上記下部品毎にそれぞれ、上記各領域内にあるか否かの判断を行い、上記上部品の各領域と上記下部品の各領域とが重なっているときに、上記上部品の各領域毎に下部品の図形の領域を判定し、上記上部品の各領域毎の下部品の図形について上記隠線の判定を行うことを特徴とする請求項５乃至７のうちのいずれか１つに記載の情報処理方法。
【請求項９】
請求項５乃至８のうちのいずれか１つに記載の情報処理方法に含まれるステップを含むことを特徴とするコンピュータにより実行可能なプログラム。
【請求項１０】
請求項９記載のプログラムを格納したことを特徴とするコンピュータにより読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び方法、プログラム並びに記録媒体に関し、特に、ＣＡＤ（Computer Aided Design）等のアプリケーションを用いて作図するときに、少なくとも上部品と下部品とを含む図面データにおいて、下部品が上部品により隠れるように的確に隠線判定処理を行うことができる情報処理装置及び方法、コンピュータにより実行可能なプログラム並びにそのプログラムを記録したコンピュータにより読取可能な記録媒体に関する。
【背景技術】
【０００２】
従来から、ＣＡＤ（Computer Aided Design）等のアプリケーションを用いて作図するときにおいて、少なくとも上部品と下部品とを含み、下部品が上部品により隠れるように（すなわち、上側から見えない線については、隠線として線を隠すように）隠線判定処理を行って作図していた。当該従来例において、具体的には、例えば、複数の図形からなる部品同士が重なり、隠線判定処理を行う場合、上側と判断された部品の輪郭と下側と判断された部品の図形との交点を計算し輪郭内の図形を排除することで隠線を行っている。ここで、上側と判断された部品の輪郭は、下記の２通りで用意されることが一般的である。
（１）前もって各部品の輪郭を登録しておく。
（２）上側と判断された部品の輪郭を図形から求める
【０００３】
例えば、特許文献１においては、３次元上の領域において、ある一点がその領域内にあるか否かを判定するために以下の判定方法が提案されている。すなわち、判定したい点が、Ｎ次元の面に乗っているかを判定するステップと、前記判定したい点が上記領域の境界を構成する稜線に乗っているかを判定するステップと、前記判定したい点を通り領域と交点を持つ切断面を求めるステップと、前記切断面と領域の乗っている面との交線を求めるステップと、切断面と領域の境界を構成する稜線の交点を求めるステップと、前記交線上に乗っていて、領域外にある点を求めるステップと、判定したい点と領域外にある点の数が偶数か奇数かを判定するステップとにより実現する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４０９５１２０号公報。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記従来例の処理における輪郭に関して、各々下記のような問題点があった。
（１）前もって各部品の輪郭を登録する必要があり、登録の手間がかなりかかってしまう。
（２）逐次で求めると時間がかかる、また複雑な図形から形成される部品の場合正しく輪郭が求められない場合もある。
【０００６】
本発明の目的は以上の問題点を解決し、予め登録する必要がなく的確に隠線を判定することができ、しかも従来例に比較して高速で隠線判定処理を行うことができる情報処理装置及び方法、プログラム並びに記録媒体を提供することにある。
【課題を解決するための手段】
【０００７】
第１の発明に係る情報処理装置は、少なくとも上部品と下部品を含み、各部品を配置して設備図面を作成し、上部品の直下の下部品について隠線判定を行う情報処理装置において、
各部品の図形を線分に展開して個々の下部品の図形の線分（線分からの延長線も含む。）と上部品の全図形の交点を計算し、上部品の図形と下部品の図形の交点が存在した場合に下部品の図形の始点側、終点側の両側に対して、上部品との交点が存在するかどうかを調べ、始点側又は終点側に交点が存在しないときにその点を隠線の境界と判断することにより隠線を判定する制御手段を備えたことを特徴とする。
【０００８】
上記情報処理装置において、上記制御手段は、各部品の図形の部分が直線でない場合は、上部品の図形と下部品の図形の交点が存在した場合、交点から下部品の図形の接線を求め、始点側、終点側の両側に対して、上部品との交点が存在するかどうかを調べ、始点側又は終点側に交点が存在しない場合にその点を隠線の境界と判断することにより隠線を判定することを特徴とする。
【０００９】
また、上記情報処理装置において、上記制御手段は、各部品の図形の線分における２つの交点を結ぶ線分上の点からの当該線分の長手方向とは異なる角度の方向を求め、当該異なる角度の方向の延長上で上部品の図形と交点が存在しない場合はその２つの交点間の図形を隠線を判定することを特徴とする。
【００１０】
さらに、上記情報処理装置において、上記制御手段は、上部品の全存在領域を複数の領域に分割し、下部品の全存在領域を複数の領域に分割し、上記上部品毎及び上記下部品毎にそれぞれ、上記各領域内にあるか否かの判断を行い、上記上部品の各領域と上記下部品の各領域とが重なっているときに、上記上部品の各領域毎に下部品の図形の領域を判定し、上記上部品の各領域毎の下部品の図形について上記隠線の判定を行うことを特徴とする。
【００１１】
第２の発明に係る情報処理方法は、少なくとも上部品と下部品を含み、各部品を配置して設備図面を作成し、上部品の直下の下部品について隠線判定を行う情報処理方法において、
各部品の図形を線分に展開して個々の下部品の図形の線分（線分からの延長線も含む。）と上部品の全図形の交点を計算し、上部品の図形と下部品の図形の交点が存在した場合に下部品の図形の始点側、終点側の両側に対して、上部品との交点が存在するかどうかを調べ、始点側又は終点側に交点が存在しないときにその点を隠線の境界と判断することにより隠線を判定する制御ステップを含むことを特徴とする。
【００１２】
上記情報処理方法において、上記制御ステップは、各部品の図形の部分が直線でない場合は、上部品の図形と下部品の図形の交点が存在した場合、交点から下部品の図形の接線を求め、始点側、終点側の両側に対して、上部品との交点が存在するかどうかを調べ、始点側又は終点側に交点が存在しない場合にその点を隠線の境界と判断することにより隠線を判定することを特徴とする。
【００１３】
また、上記情報処理方法において、上記制御ステップは、各部品の図形の線分における２つの交点を結ぶ線分上の点からの当該線分の長手方向とは異なる角度の方向を求め、当該異なる角度の方向の延長上で上部品の図形と交点が存在しない場合はその２つの交点間の図形を隠線を判定することを特徴とする。
【００１４】
さらに、上記情報処理方法において、上記制御ステップは、上部品の全存在領域を複数の領域に分割し、下部品の全存在領域を複数の領域に分割し、上記上部品毎及び上記下部品毎にそれぞれ、上記各領域内にあるか否かの判断を行い、上記上部品の各領域と上記下部品の各領域とが重なっているときに、上記上部品の各領域毎に下部品の図形の領域を判定し、上記上部品の各領域毎の下部品の図形について上記隠線の判定を行うことを特徴とする。
【００１５】
第３の発明に係るコンピュータにより実行可能なプログラムは、上記情報処理方法に含まれるステップを含むことを特徴とする。
【００１６】
第４の発明に係るコンピュータにより読取可能な記録媒体は、上記プログラムを格納したことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、外郭線を使用しないので、外郭線を持っていない部品に対してもきれいにかつ的確に隠線判定処理を行うことができる。また、単純な計算の繰り返しであるために逐次で計算したとしても高速に隠線判定処理を行うことができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の一実施形態に係る図面データ処理装置の構成を示すブロック図である。
【図２】図１のハードディスクメモリ２３の構成を示すブロック図である。
【図３】図２の隠線判定処理対象部品テーブル２３ｄの一例を示す図である。
【図４】図２の線分データテーブル２３ｅの一例を示す図である。
【図５】図２の円データテーブル２３ｆの一例を示す図である。
【図６】図２の円弧データテーブル２３ｇの一例を示す図である。
【図７】図２の交点データテーブル２３ｈの一例を示す図である。
【図８】図１の図面データ処理装置により処理される図面データにおける隠線判定処理例を示す平面図である。
【図９】図１の図面データ処理装置によって実行される隠線判定処理（Ｓ１）の第１の部分を示すフローチャートである。
【図１０】図１の図面データ処理装置によって実行される隠線判定処理（Ｓ１）の第２の部分を示すフローチャートである。
【図１１】図１の図面データ処理装置によって実行される隠線対象図形絞り込み処理（領域判定処理）を含む隠線判定処理の第１の部分を示すフローチャートである。
【図１２】図１の図面データ処理装置によって実行される隠線対象図形絞り込み処理（領域判定処理）を含む隠線判定処理の第２の部分を示すフローチャートである。
【図１３】図１の図面データ処理装置によって実行される実施例１に係る、便器２０１（上部品）と配管２０５（下部品）の一例を示す平面図である。
【図１４】図１の図面データ処理装置によって実行される実施例２に係る、便器２０２（上部品）と便器２０３（下部品）の一例を示す平面図である。
【図１５】実施例１において隠線の消滅を防止するための、実施例３に係る隠線判定特別処理の一例を示す図１３の部分３００を示す平面図である。
【図１６】図１の図面データ処理装置によって実行される実施例４に係る、図面データの存在領域を４分割したときの一例を示す平面図である。
【図１７】図１の図面データ処理装置によって実行される実施例５に係る、図面データの存在領域を９分割したときの一例を示す平面図である。
【符号の説明】
【００１９】
１０…図面データ処理装置、
２０…ＣＰＵ、
２１…ＲＯＭ、
２２…ＲＡＭ、
２３…ハードディスクメモリ、
２３ａ…図面データメモリ、
２３ｄ…隠線判定処理対象部品テーブル、
２３ｅ…線分データテーブル、
２３ｆ…円データテーブル、
２３ｇ…円弧データテーブル、
２３ｈ…交点データテーブル、
２３ｉ…領域判定テーブル、
２４…プログラムメモリ、
３０…バス、
３１…キーボードインターフェース、
３２…マウスインターフェース、
３３…ディスプレイインターフェース、
３４…プリンタインターフェース、
３５ａ，３５ｂ…ドライブ装置インターフェース、
４１…キーボード、
４２…マウス、
４３…ＣＲＴディスプレイ、
４４…プリンタ、
４５…ＣＤ−ＲＯＭドライブ装置、
４５ａ…ＣＤ−ＲＯＭ、
７０…設備機器情報データベースサーバ装置、
８０…インターネット、
８１〜８８…交点、
９１〜９４…接線、
２０１〜２０３…便器、
２０５…配管、
３００…部分、
３０１，３０２、３０４…交点、
３０３…垂線。
【発明を実施するための形態】
【００２０】
以下、本発明に係る実施形態について図面を参照して説明する。なお、以下の各実施形態において、同様の構成要素については同一の符号を付している。
【００２１】
図１は、本発明の一実施形態に係る図面データ処理装置１０の構成を示すブロック図である。図１の図面データ処理装置１０は例えば情報処理装置であるディジタル計算機にてなり、各部品を接続して設備ルートを配置して設備図面を作成する図面処理において、図９及び図１０の隠線判定処理、並びに図１１及び図１２の隠線対象図面絞り込み処理（領域判定処理）を含む隠線判定処理を実行することにより、少なくとも上部品と下部品とを含む図面データにおいて、下部品が上部品により隠れるように隠線を判定して作図することを特徴としている。
【００２２】
本実施形態では、特に、各部品の図形を線分に展開し個々の下部品の図形の線分（無限線、すなわち線分からの延長線を含む。）と上部品の全図形の交点を計算し、線分の端点より先に交点が存在したかどうかと、その線分の両端の状態の組み合わせによってどこまでが上図形と重なっているかを判定し、隠線を行うことで単純な計算で隠線判定処理を行うことを特徴としている。ここで、「隠線判定」、「隠線の判定」又は「隠線を判定」とは、「線が表示されるのか消されるのかを判定する」ことをいい、当該明細書等で以下同様である。
【００２３】
以下、本実施形態に係る図面データ処理装置１０の構成及び処理について詳述する。
【００２４】
図１において、図面データ処理装置１０の通信インターフェース５１は、インターネット８０を介して、設備機器情報を予め格納して提供する設備機器情報データベースサーバ装置７０に接続され、図面データ処理装置１０は、設備機器情報データベースサーバ装置７０にアクセスすることにより、所望する設備機器情報を取得してハードディスクメモリ２３に格納する。また、図面データ処理装置１０のドライブ装置インターフェース３５ｂを介して、例えばハードディスクメモリであり設備機器情報を予め格納して提供する外部記憶装置６０に接続され、図面データ処理装置１０は、外部記憶装置６０にアクセスすることにより、所望する設備機器情報を取得してハードディスクメモリ２３に格納してもよい。
【００２５】
図１において、図面データ処理装置１０は、
（ａ）当該図面データ処理装置１０の動作及び処理を演算及び制御するコンピュータのＣＰＵ（中央演算処理装置）２０と、
（ｂ）オペレーションプログラムなどの基本プログラム及びそれを実行するために必要なデータを格納するＲＯＭ（読み出し専用メモリ）２１と、
（ｃ）ＣＰＵ２０のワーキングメモリとして動作し、当該図面データ処理で必要なパラメータやデータ（一時リストテーブル２２ａを含む。）を一時的に格納するＲＡＭ（ランダムアクセスメモリ）２２と、
（ｄ）当該図面データ処理において用いる各種データ（図２参照。）を格納するためのハードディスクメモリ２３と、
（ｅ）例えばハードディスクメモリで構成され、ＣＤ−ＲＯＭドライブ装置４５を用いて読み込んだ、図９及び図１０の隠線判定処理、並びに図１１及び図１２の隠線対象図面絞り込み処理（領域判定処理）を含む隠線判定処理のプログラム（これらのプログラムはコンピュータにより実行可能なプログラムである。）を格納するプログラムメモリ２４と、
（ｆ）設備機器情報データベースサーバ装置７０とインターネット８０を介して接続され、設備機器情報データベースサーバ装置７０とデータを送受信する通信インターフェース５１と、
（ｇ）所定のデータや指示コマンドを入力するためのキーボード４１に接続され、キーボード４１から入力されたデータや指示コマンドを受信して所定の信号変換などのインターフェース処理を行ってＣＰＵ２０に伝送するキーボードインターフェース３１と、
（ｈ）ＣＲＴディスプレイ４３上で指示コマンドを入力するためのマウス４２に接続され、マウス４２から入力されたデータや指示コマンドを受信して所定の信号変換などのインターフェース処理を行ってＣＰＵ２０に伝送するマウスインターフェース３２と、
（ｉ）ＣＰＵ２０によって処理されたデータや設定指示画面、生成された機器表データや系統図データなどを表示するＣＲＴディスプレイ４３に接続され、表示すべき画像データをＣＲＴディスプレイ４３用の画像信号に変換してＣＲＴディスプレイ４３に出力して表示するディスプレイインターフェース３３と、
（ｊ）ＣＰＵ２０によって処理されたデータ及び所定の生成された機器表データや系統図データなどを印字するプリンタ４４に接続され、印字すべき印字データの所定の信号変換などを行ってプリンタ４４に出力して印字するプリンタインターフェース３４と、
（ｋ）図９及び図１０の隠線判定処理、並びに図１１及び図１２の隠線対象図面絞り込み処理（領域判定処理）を含む隠線判定処理のプログラムが記憶されたＣＤ−ＲＯＭ４５ａから当該プログラムのプログラムデータを読み出すＣＤ−ＲＯＭドライブ装置４５に接続され、読み出された画像処理プログラムのプログラムデータを所定の信号変換などを行ってプログラムメモリ２４に転送するドライブ装置インターフェース３５ａと、
（ｌ）例えば設備機器情報のデータを記憶する、例えばハードディスクメモリなどの外部記憶装置６０に接続され、読み出されたデータを所定の信号変換などを行ってＣＰＵ２０又はハードディスクメモリ２３に転送するドライブ装置インターフェース３５ｂとを備え、
これらの回路２０〜２４、３１〜３４、３５ａ、３５ｂ及び５１はバス３０を介して接続される。
【００２６】
図２は図１のハードディスクメモリ２３の構成を示すブロック図である。図２において、ハードディスクメモリ２３は以下のデータファイルを格納する複数のメモリ２３ａ，２３ｂを含む。
（ａ）図面データメモリ２３ａ：建物内の空調設備などのダクト配線の図面データを格納するメモリである。
（ｂ）上記図面データメモリ２３ａには以下のテーブルを格納する。
（ｂ１）隠線判定処理対象部品テーブル２３ｄ；
（ｂ２）線分データテーブル２３ｅ；
（ｂ３）円データテーブル２３ｆ；
（ｂ４）円弧データテーブル２３ｇ；
（ｂ５）交点データテーブル２３ｈ；
（ｂ６）領域判定テーブル２３ｉ。
【００２７】
ここで、隠線判定処理対象部品テーブル２３ｄは、図３に示すように、部品ＩＤ毎に、部品種類、高さ、複数の図面の情報を含む。また、線分データテーブル２３ｅは、図４に示すように、図形データ毎に、始点のＸ座標及びＹ座標と、終点のＸ座標及びＹ座標とを含む。さらに、円データテーブル２３ｆは、図５に示すように、図形データ毎に、円の中心のＸ座標及びＹ座標と、半径とを含む。またさらに、円弧データテーブル２３ｇは、図６に示すように、図形データ毎に、円弧の中心のＸ座標及びＹ座標と、半径と、例えば図面上側を０度としたときの始点角度及び終点角度とを含む。また、交点データテーブル２３ｈは、図７に示すように、図形データ毎に、始点側から終点側への交点に関する情報を含み、当該情報は、交点ＩＤ毎に、Ｘ座標及びＹ座標と、交点フラグ（始点、線分の線上、終点、延長上のいずれであるか）と、チェック対象線分（２つの交点ＩＤで表す）と、垂線方向フラグ（垂線方向の両側で交差する線分があるときは「閉」フラグをセットし、少なくとも線分がないときは「開」フラグをセットする。）とを含む。さらに、領域判定テーブル２３ｉは、分割された各領域に存在すると判断された図形の図形データを含む。
【００２８】
図８は図１の図面データ処理装置により処理される図面データにおける隠線判定処理例を示す平面図である。図８において、便器部２０１ａと、水格納部２０１ｂとからなる便器２０１の下側に３本の配管線分１１１，１１２，１１３からなる配管２０５が図示されている。これを本実施形態における処理例とする。
【００２９】
次いで、図１の図面データ処理装置によって実行される隠線判定処理、及び隠線対象図面絞り込み処理（領域判定処理）を含む隠線判定処理について以下に説明する。
【００３０】
図９及び図１０は図１の図面データ処理装置によって実行される隠線判定処理（Ｓ１）を示すフローチャートである。
【００３１】
図９のステップＳ１１において、まず、上部品の全図形を取得し、ステップＳ１２において下部品の全図形を取得する。次いで、ステップＳ１３において、上部品又は下部品は機器か否かが判断され、ＹＥＳのときはステップＳ１４に進む一方、ＮＯのときはステップＳ１６に進む。ステップＳ１４では、下部品又は上部品の機器について既に存在範囲（各図形を含むように、図面の上下左右の方向で矩形を形成したときの矩形領域をいう。以下同様である。）を算出しているか否かが判断され、ＹＥＳのときはステップＳ１５に進む一方、ＮＯのときはステップＳ１６に進む。ステップＳ１６では、算出済みの機器の存在範囲を取得してステップＳ１７に進む。一方、ステップＳ１６では、各部品の存在範囲を算出し、ステップＳ１７に進む。ステップＳ１７では、上部品の存在範囲と下部品の存在範囲は重なっているか否かが判断され、ＹＥＳのときはステップＳ１８に進む一方、ＮＯのときは当該処理を終了する。
【００３２】
ステップＳ１８では、下部品の図形数の回数だけループ処理をしたか、すなわち下部品のすべての図形について処理したか否かが判断され、ＹＥＳのときは当該処理を終了する一方、ＮＯのときは未処理の下部品を処理対象としてステップＳ１９に進む。次いで、ステップＳ１９において上部品の図形数の回数だけループ処理をしたか、すなわち上部品のすべての図形について処理したか否かが判断され、ＹＥＳのときは図１０のステップＳ３０に進む一方、ＮＯのときは未処理の上部品を処理対象としてステップＳ２０に進む。ステップＳ２０では、下部品の図形は線分（直線）であるか否かが判断され、ＹＥＳのときはステップＳ２１に進む一方、ＮＯのときはステップＳ２５に進む。そして、ステップＳ２１では、上部品の図形と下部品の図形の交点座標を算出し、ステップＳ２２では、算出した各交点は上部品の図形上（延長上ではない）か否かが判断され、ＹＥＳのときはステップＳ２３に進む一方、ＮＯのときはステップＳ１９に戻る。ステップＳ２３では、算出した各交点において交点座標、始点側、終点側、各々の延長上に上部品との交点が存在するかの情報を交点データテーブル２３ｈに保持し、当該交点データテーブル２３ｈにおいて、算出した交点と始点、終点を始点側から順にソートし、ステップＳ１９に戻る。
【００３３】
ステップＳ２５では、上部品の図形と下部品の図形の交点座標を算出し、ステップＳ２６では、算出した各交点は上部品の図形上で（延長線上ではない）かつ下部品の図形上で（延長線上でない）か否かが判断され、ＹＥＳのときはステップＳ２７に進む一方、ＮＯのときはステップＳ２５に進む。ステップＳ２７では、算出した各交点における下部品の図形の方向ベクトル（各交点において下部品の図形に対して接線を引いた方向ベクトルをいう。以下同様である。）を算出し、その延長方向も含めて方向ベクトルと上部品との交点を算出し、始点側、終点側の両側に上部品のすべての図形に対して図形上の交点が存在するかどうかを調べる。ステップＳ２８では、各交点について交点座標、始点側、終点側各々の延長上に上部品との交点が存在するかの情報を交点データテーブル２３ｈに保持し、交点データテーブル２３ｈにおいて算出した交点を始点側から順にソートし、ステップＳ１９に戻る。
【００３４】
図１０のステップＳ３０において、交点データテーブル２３ｈにおいて各交点間の図形すべてに「閉」フラグをセットし、ステップＳ３１において算出した交点は２個未満であるか否かが判断され、ＹＥＳのときはステップＳ３２に進む一方、ＮＯのときはステップＳ３３に進む。ステップＳ３２では、下部品の図形（線分）そのままを使用するために交点データテーブル２３ｈの垂線方向フラグを「開」フラグをセットし、図９のステップＳ１８に戻る。ステップＳ３３では、始点側から順にすべての交点（又は始点、終点を含む。以下、交点等という。）を調べたか否かが判断され、ＹＥＳのときはステップＳ１８に戻る一方、ＮＯのときは次の交点等を処理対象としてステップＳ３４に進む。ステップＳ３４では、処理対象の現在の交点と次の交点等の中間点から両側の垂直方向に上部品の図形との交点を算出し、ステップＳ３５において、その両側のどちらかに交点が存在しなかったか否かが判断され、ＹＥＳのときはステップＳ４０に進む一方、ＮＯのときはステップＳ３６に進む。
【００３５】
ステップＳ３６では、処理対象の現在の点は始点、終点ではなく、交点か否かが判断され、ＹＥＳのときはステップＳ３８に進む一方、ＮＯのときはステップＳ３７に進む。ステップＳ３７では、処理対象の現在の点（始点又は終点を含む。）は上部品の図形上にある、かつ始点側の延長上に上部品との交点が存在しないか否かが判断され、ＹＥＳのときはステップＳ４０に進む一方、ＮＯのときはステップＳ３８に進む。ステップＳ３８では、次の点は始点、終点ではなく交点か否かが判断され、ＹＥＳのときはステップＳ３３に戻る一方、ＮＯのときはステップＳ３９に進む。ステップＳ３９では、次の点（又は始点、終点を含む。）は上部品の図形上にある、かつ、終点側の延長上に上部品との交点が存在しないか否かが判断され、ＹＥＳのときはステップＳ４０に進む一方、ＮＯのときはステップＳ３３に戻る。ステップＳ４０では、処理対象の現在の点と次の交点（又は始点、終点を含む。）との間の図形を隠線結果として取得するために交点データテーブル２３ｈの垂線方向フラグを「開」フラグをセットし、ステップＳ３３に戻る。
【００３６】
図１１及び図１２は、図１の図面データ処理装置によって実行される隠線対象図形絞り込み処理（領域判定処理）を含む隠線判定処理を示すフローチャートである。
【００３７】
図１１のステップＳ４１では、まず、上部品の図形数により、上部品の存在範囲（全存在領域）を複数のマス目（１つのマス目を１つの領域とする。）に格子状で分割する。ここで、例えば、図形数が１００以上であれば２×２の４分割とし、２５０以上であれば３×３の９分割とし、５００以上であれば４×４の１６分割とし、１００以上であれば、５×５の２５分割とする。次いで、ステップＳ４２では、１つ１つの図形を各マス目毎に「領域内」であるか否かの判定を行い、ステップＳ４３において「領域内」となるマス目はあったか否かが判断され、ＹＥＳのときはステップＳ４４に進む一方、ＮＯのときはステップＳ４５に進む。ステップＳ４４では、当該処理対象の図形が「領域内」となったマス目の情報を領域判定テーブル２３ｉに登録し、ステップＳ４６に進む。ステップＳ４５では、当該処理対象の図形が「領域内」とならなかったとき当該図形の情報を、「領域内」とならなかった図形として領域判定テーブル２３ｉに登録し、ステップＳ４６に進む。ステップＳ４６では、すべての図形について判定したか否かが判断され、ＹＥＳのときはステップＳ４７に進む一方、ＮＯのときはステップＳ４２に戻る。
【００３８】
ステップＳ４７では、下部品の図形数により、ステップＳ４１と同様に下部品の存在範囲（全存在領域）を複数のマス目に格子状で分割する。次いで、ステップＳ４８では、１つ１つの図形を各マス目毎に「領域内」であるか否かの判定を行い、ステップＳ４９において「領域内」となるマス目はあったか否かが判断され、ＹＥＳのときはステップＳ５０に進む一方、ＮＯのときはステップＳ５１に進む。ステップＳ５０では、当該処理対象の図形が「領域内」となったマス目の情報を領域判定テーブル２３ｉに登録し、ステップＳ５２に進む。ステップＳ５１では、当該処理対象の図形が「領域内」とならなかったとき当該図形の情報を、「領域内」とならなかった図形として領域判定テーブル２３ｉに登録し、ステップＳ５２に進む。ステップＳ５２では、すべての図形について判定したか否かが判断され、ＹＥＳのときは図１２のステップＳ６１に進む一方、ＮＯのときはステップＳ４８に戻る。
【００３９】
ステップＳ６１では、上部品の各マス目と下部品の各マス目とが重なっているか否かについて領域判定（以下、領域判定という。）し、ステップＳ６２では、比較してマス目の存在範囲は一部でも重なっているか否かが判断され、ＹＥＳのときはステップＳ６３に進む一方、ＮＯのときはステップＳ６６に進む。ステップＳ６３では、上部品のマス目と下部品のマス目内の１つ１つの図形とを領域判定し、ステップＳ６４では、重なっている上部品のマス目は存在したか否か、すなわち各部品が上部品のマス目に存在しているか否かが判断され、ＹＥＳのときはステップＳ１のサブルーチンである「重なっている上部品のマス目内の全部品と、下部品の部品図形とについて、隠線判定処理」（図９及び図１０）を実行する。次いで、下部品の図形数の回数だけループ処理をしたか否かが判断され、ＹＥＳのときはステップＳ６６に進む一方、ＮＯのときは次の下部品の図形を処理対象とし、ステップＳ６３に戻る。ステップＳ６６では、下部品の全マス目と領域判定したか否かが判断され、ＹＥＳのときはステップＳ６８に進む一方、ＮＯのときはステップＳ６７に進む。ステップＳ６７では、次の下部品のマス目を判定対象とし、ステップＳ６１に戻る。ステップＳ６８では、上部品の全マス目と領域判定したか否かが判断され、ＹＥＳのときは当該処理を終了する一方、ＮＯのときはステップＳ６９に進む。ステップＳ６９では、次の上部品のマス目を判定対象とし、ステップＳ６１に戻る。
【００４０】
次いで、本実施形態に係る隠線判定処理について以下に説明する。従来例のごとく、外郭線を求める処理は、非常に時間がかかる上に現状の部品が持つ図形の状態を考えると正確に求めること自体も困難と判断せざるを得ない。従って、外郭線を使ったクリップではなく、他の方法にてクリップすることで行う。すなわち、本実施形態に係る隠線判定処理では、各部品の図形を線分に展開し個々の下部品の図形の線分（無限線）と上部品の全図形の交点を計算し、線分の端点より先に交点が存在したかどうかと、その線分の両端の状態の組み合わせによってどこまでが上図形と重なっているかを判定し、隠線を行うことで単純な計算で隠線判定処理を行うことを特徴としている。
【実施例１】
【００４１】
図１３は図１の図面データ処理装置によって実行される実施例１に係る、便器２０１（上部品）と配管２０５（下部品）の一例を示す平面図である。本実施形態に係る隠線判定処理では、上部品の図形と下部品の図形の交点が存在した場合、下部品の図形の始点側、終点側の両側に対して、上部品との交点が存在するかどうかを調べ、始点側又は終点側に交点が存在しない場合は、その点が隠線の境界と判断する。図１３において、便器部２０１ａと水格納部２０１ｂとからなる便器２０１の下側に３本の線分１１１〜１１３を含む配管２０５が配置されている。そして、位置３００付近において上記隠線判定処理がなされている。
【実施例２】
【００４２】
図１４は図１の図面データ処理装置によって実行される実施例２に係る、便器２０２（上部品）と便器２０３（下部品）の一例を示す平面図である。図１４の便器２０２，２０３が線分（直線）でない場合は、上部品の図形と下部品の図形の交点が存在した場合、交点から下部品の図形の接線（図１４において、９１〜９４）を求め、始点側、終点側の両側に対して、上部品との交点が存在するかどうかを調べ、始点側又は終点側に交点が存在しない場合は、その点が「隠線の境界」と判断する。図１４においては、交点８１〜８８のうち、交点８３〜８６が「隠線の境界」として判断される。上記実施例１のような場合、実施例１のロジックのみでは、図１４の交点８３〜８６が消えてしまうことになるが、下記の実施例３のようなロジックを部分３００に対して追加することでより正確できれいな隠線を実現することが可能となる。
【実施例３】
【００４３】
図１５は実施例１において隠線の消滅を防止するための、実施例３に係る隠線判定特別処理の一例を示す図１３の部分３００を示す平面図である。実施例１の図１３の部分３００において（交点３０１，３０２の両側の延長にも交点が存在する場合）が消えてしまうのを救うために、２つの交点３０１，３０２を結ぶ線分上の中点からの垂線３０３を求め、その垂線３０３の両端のいずれかが上部品の図形と交点が存在しない場合はその２つの交点３０１，３０２間の図形を隠線結果として残すようにする。一方、垂線３０３の両端のいずれかが上部品の図形と交点３０４が存在する場合は隠線ではないとする。なお、実施例３において、２つの交点３０１，３０２を結ぶ線分上の中点（中点に限定されず、線分上の点であってもよい。）からの当該線分の長手方向とは異なる角度の方向を求め、当該異なる角度の方向の延長上で上部品の図形と交点が存在しない場合はその２つの交点３０１，３０２間の図形を隠線結果として残すようにしてもよい。すなわち、２つの交点３０１，３０２を結ぶ線分上の中点からの垂線３０３でなく、垂線の９０度とは異なる角度（０度ではない。）で上記延長線を引いてもよい。
【００４４】
さらに、クリップ対称図形の削減処理について以下に説明する。クリップ対象部品の図形数が多い場合、その図形数に応じて領域を分割しその領域毎に「領域内」、「領域外」の判定、交点チェックを行うようにする。こうすることで、処理の効率化を図ることができる。領域分割例を実施例４及び５に示す。
【実施例４】
【００４５】
図１６は図１の図面データ処理装置によって実行される実施例４に係る、図面データの存在領域を４分割したときの一例を示す平面図である。
【実施例５】
【００４６】
図１７は図１の図面データ処理装置によって実行される実施例５に係る、図面データの存在領域を９分割したときの一例を示す平面図である。
【００４７】
クリップ対称図形の削減処理においては、図形は、各分割した領域に完全に入っている場合は各々の領域に属した図形としてグループで扱い、完全に入っていない図形はそれらを１つのグループとして扱う。クリップまでの処理は、概略下記の通りである。
（ＳＳ１）上図形と下図形毎に、グループ毎に領域チェックを行い、重なっているグループを検出する（図１１のステップＳ４１〜Ｓ４３，Ｓ４７〜Ｓ４９）。
（ＳＳ２）検出した上図形と下図形のグループ毎に図形単位で領域チェックを行う（図１１のステップＳ４４〜Ｓ４６，Ｓ４９〜Ｓ５２）。
（ＳＳ３）重なっている場合、下図形を上図形毎に領域チェックを行う（重なり領域判定処理：ステップＳ６１〜Ｓ６４）。
（ＳＳ４）さらに重なっている場合、以下の隠線判定処理（図９及び図１０）を行う。
（ＳＳ４１）下図形がＸ軸と平行又はＹ軸と平行な線分の場合、始点側に最も近い座標を持つ図形を検索し交点を求める。
（ＳＳ４２）その交点座標よりも始点側にあり、未チェックでかつ始点側に最も近い座標を持つ図形が存在した場合にその交点を求める。
（ＳＳ４３）上記（ＳＳ１）、（ＳＳ２）の処理を繰り返し、最も始点側に近い交点を求める。
（ＳＳ４４）終点側に関しても、上記（ＳＳ１）〜（ＳＳ３）の処理にて交点を求める。
【００４８】
なお、図面全体に対しても、上記と同じように領域分割し、領域毎の「領域内」「領域外」判定を行うことで図面全体での部品毎の「領域内」「領域外」判定処理を大幅に削減することが可能となり、数倍から効果が大きい場合は１０倍程度の高速化が見込める。
【００４９】
以上の実施形態において、図９〜図１２の処理のプログラムが記憶されたコンピュータにより読取可能なＣＤ−ＲＯＭ４５ａを用いて実行してもよいし、ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ−ＲＡＭなどのコンピュータにより読取可能な種々の記録媒体を用いてもよい。
【産業上の利用可能性】
【００５０】
以上詳述したように、本発明によれば、外郭線を使用しないので、外郭線を持っていない部品に対してもきれいにかつ的確に隠線判定処理を行うことができる。また、単純な計算の繰り返しであるために逐次で計算したとしても高速に隠線判定処理を行うことができる。
【図１】
2010176493.tif 000003
【図２】
2010176493.tif 000004
【図３】
2010176493.tif 000005
【図４】
2010176493.tif 000006
【図５】
2010176493.tif 000007
【図６】
2010176493.tif 000008
【図７】
2010176493.tif 000009
【図８】
2010176493.tif 000010
【図９】
2010176493.tif 000011
【図１０】
2010176493.tif 000012
【図１１】
2010176493.tif 000013
【図１２】
2010176493.tif 000014
【図１３】
2010176493.tif 000015
【図１４】
2010176493.tif 000016
【図１５】
2010176493.tif 000017
【図１６】
2010176493.tif 000018
【図１７】
2010176493.tif 000019