(57)【特許請求の範囲】
【請求項１】
コンピュータに、
オブジェクトが配置された３次元ＣＡＤ空間を、指定された視点から表示する場合に、該視点から見た場合に前記オブジェクトが他のオブジェクトに覆われずに表示される表示領域を特定し、
特定した前記オブジェクトの表示領域に、引出線のオブジェクト側の一方の端を配置する
処理を実行させることを特徴とする引出線配置位置決定プログラム。 
【請求項２】
前記配置する処理は、特定した前記オブジェクトの表示領域の境界を避けた位置に、前記引出線のオブジェクト側の一方の端を配置する
ことを特徴とする請求項１に記載の引出線配置位置決定プログラム。 
【請求項３】
前記配置する処理は、特定した前記オブジェクトの表示領域で最も広く表示される面に、前記引出線のオブジェクト側の一方の端を配置する
ことを特徴とする請求項１または２に記載の引出線配置位置決定プログラム。 
【請求項４】
前記コンピュータに、
前記オブジェクトについて表示する情報がある場合に、前記引出線の他方の端を該情報に対応付ける処理をさらに実行させることを特徴とする請求項１〜３の何れか１つに記載の引出線配置位置決定プログラム。 
【請求項５】
コンピュータが、
オブジェクトが配置された３次元ＣＡＤ空間を、指定された視点から表示する場合に、該視点から見た場合に前記オブジェクトが他のオブジェクトに覆われずに表示される表示領域を特定し、
特定した前記オブジェクトの表示領域に、引出線のオブジェクト側の一方の端を配置する
処理を実行することを特徴とする引出線配置位置決定方法。 
【請求項６】
オブジェクトが配置された３次元ＣＡＤ空間で前記オブジェクトを表示させる視点の位置の指定を受け付ける受付部と、
オブジェクトが配置された３次元ＣＡＤ空間を、前記受付部で指定された視点から表示する場合に前記オブジェクトが他のオブジェクトに覆われずに表示される表示領域を特定する特定部と、
前記特定部が特定した前記オブジェクトの表示領域に、引出線のオブジェクト側の一方の端を配置する配置部と、
を有することを特徴とする引出線配置位置決定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、引出線配置位置決定プログラム、引出線配置位置決定方法および引出線配置位置決定装置に関する。
【背景技術】
【０００２】
従来から、引出線を用いた様々なドキュメントが作成されている。例えば、製造業の設計や生産技術部門では、製品を構成する部品の説明や、部品の組み立て方の説明のため、組立図、部品図、分解図、組立手順書等の部品を図示し、部品に関する説明を記載したドキュメントが作成される。このようなドキュメントでは、説明に対応する部品を示すため、部品に対して引出線が付される。
【０００３】
このような引出線を見やすく配置する各種の技術がある。例えば、各部品から延びる引出線を交差しないように配置する技術がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−８３８８１号公報
【特許文献２】特開平２−２６４３６７号公報
【特許文献３】特開２００２−３２４０８５号公報
【特許文献４】特開２００２−３２４０８６号公報
【特許文献５】特開２００３−３３０９７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の技術は、引出線を交差しないように配置できるものの、引出線と部品との対応がわかりづらくなる場合がある。従来の技術は、部品のどの位置を開始位置として引出線を引き出すかが特定されていない。そこで、例えば、ＣＡＤ（Computer  Aided  Design）により生成された部品の３次元モデルの重心位置や、３次元モデルのデータ上の最初の頂点位置などを開始位置として引出線を引き出すものとする。この場合、複数部品からなるアセンブリモデルでは、部品の引出線の開始位置が他の部品に隠れてしまう場合などがあり、引出線と部品との対応がわかりづらくなる。
【０００６】
一つの側面では、部品との対応がわかりやすく引出線を配置できる引出線配置位置決定プログラム、引出線配置位置決定方法および引出線配置位置決定装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
第１の案では、引出線配置位置決定プログラムは、コンピュータに、オブジェクトが配置された３次元ＣＡＤ空間を、指定された視点から表示する場合に、該視点から見た場合に表示される該オブジェクトの形状を特定する処理を実行させる。引出線配置位置決定プログラムは、コンピュータに、特定したオブジェクトの形状から定まる位置に、引出線の一方の端を配置する処理を実行させる。
【発明の効果】
【０００８】
本発明の一の実施態様によれば、部品との対応がわかりやすく引出線を配置できるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、引出線配置位置決定装置の全体構成を示す図である。
【図２】図２は、ＣＡＤデータのデータ構造の一例を示す図である。
【図３】図３は、部品の形状と形状情報の関係の一例を示す図である。
【図４】図４は、形状情報に記憶されるデータの一例を示す図である。
【図５】図５は、注記情報の一例を示す図である。
【図６】図６は、投影画像の一例を示す図である。
【図７】図７は、投影画像の生成の流れの一例を示す図である。
【図８】図８は、部品画像の分割の一例を示す図である。
【図９】図９は、平均点の算出の一例を示す図である。
【図１０】図１０は、投影画像の分割領域ごとに平均点を示した一例を示す図である。
【図１１】図１１は、重み付けの一例を示す図である。
【図１２】図１２は、重み付けした結果の一例を示す図である。
【図１３】図１３は、検索規則の一例を示す図である。
【図１４】図１４は、引き出し画素に対応する部品上の位置の座標の一例を示す図である。
【図１５】図１５は、従来の技術により部品の注記と引出線を配置した一例を示す図である。
【図１６】図１６は、本実施例により部品の注記と引出線を配置した一例を示す図である。
【図１７】図１７は、形状特定処理の手順の一例を示すフローチャートである。
【図１８】図１８は、分割領域特定処理の手順の一例を示すフローチャートである。
【図１９】図１９は、周辺分割領域重み付け処理の手順の一例を示すフローチャートである。
【図２０】図２０は、区分領域特定処理の手順の一例を示すフローチャートである。
【図２１】図２１は、引出線配置位置決定プログラムを実行するコンピュータを示す図である。
【発明を実施するための形態】
【００１０】
以下に、本発明にかかる引出線配置位置決定プログラム、引出線配置位置決定方法および引出線配置位置決定装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１１】
実施例１に係る引出線配置位置決定装置１０について説明する。図１は、引出線配置位置決定装置の全体構成を示す図である。引出線配置位置決定装置１０は、部品に関するドキュメントを作成する際に、引出線の配置を支援する装置である。引出線配置位置決定装置１０は、例えば、パーソナルコンピュータやサーバコンピュータなどのコンピュータなどである。引出線配置位置決定装置１０は、１台のコンピュータとして実装してもよく、また、複数台のコンピュータによるクラウドとして実装することもできる。なお、本実施例では、引出線配置位置決定装置１０を１台のコンピュータとした場合を例として説明する。引出線配置位置決定装置１０は、ＣＡＤ（Computer  Aided  Design）装置などの設計者による設計を支援する設計ソフトウェアが動作する設計装置であってもよい。図１に示すように、引出線配置位置決定装置１０は、入力部２０と、表示部２１と、通信Ｉ／Ｆ（インタフェース）部２２と、記憶部２３と、制御部２４とを有する。
【００１２】
入力部２０は、各種の情報を入力する入力デバイスである。入力部２０としては、マウスやキーボードなどの操作の入力を受け付ける入力デバイスが挙げられる。入力部２０は、各種の情報の入力を受付ける。例えば、入力部２０は、欠陥箇所の予測に関する各種の操作の入力を受け付ける。入力部２０は、ユーザからの操作入力を受け付け、受け付けた操作内容を示す操作情報を制御部２４に入力する。
【００１３】
表示部２１は、各種情報を表示する表示デバイスである。表示部２１としては、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）などの表示デバイスが挙げられる。表示部２１は、各種情報を表示する。例えば、表示部２１は、後述する３次元ＣＡＤ空間上に複数部品からなるアセンブリモデルのオブジェクトを配置した画面など各種の画面を表示する。
【００１４】
通信Ｉ／Ｆ部２２は、他の装置との間で通信制御を行うインタフェースである。通信Ｉ／Ｆ部２２は、不図示のネットワークを介して他の装置と各種情報を送受信する。例えば、通信Ｉ／Ｆ部２２は、他の装置から後述するＣＡＤデータ３０を受信する。通信Ｉ／Ｆ部２２としては、ＬＡＮカードなどのネットワークインタフェースカードを採用できる。なお、引出線配置位置決定装置１０は、メモリカードなどの記憶媒体を介してＣＡＤデータ３０などの情報を取得してもよい。また、ＣＡＤデータ３０は、入力部２０から入力されてもよい。
【００１５】
記憶部２３は、ハードディスク、ＳＳＤ（Solid  State  Drive）、光ディスクなどの記憶装置である。なお、記憶部２３は、ＲＡＭ（Random  Access  Memory）、フラッシュメモリ、ＮＶＳＲＡＭ（Non  Volatile  Static  Random  Access  Memory）などのデータを書き換え可能な半導体メモリであってもよい。
【００１６】
記憶部２３は、制御部２４で実行されるＯＳ（Operating  System）や各種プログラムを記憶する。例えば、記憶部２３は、後述する引出線の配置位置の決定に用いる各種の処理を実行するプログラムを記憶する。さらに、記憶部２３は、制御部２４で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部２３は、ＣＡＤデータ３０と、注記情報３１と、引出線位置情報３２とを記憶する。
【００１７】
ＣＡＤデータ３０は、３次元ＣＡＤによる設計データである。ＣＡＤデータ３０には、複数部品からなるアセンブリモデルについての各部品の形状を示す３次元の座標情報など、各種の設計情報が記憶されている。
【００１８】
図２は、ＣＡＤデータのデータ構造の一例を示す図である。ＣＡＤデータ３０には、アセンブリモデルを構成する部品ごとに、部品に関する各種の属性情報が記憶される。図２に示すように、例えば、ＣＡＤデータ３０には、部品に関する属性情報として、部品番号と、部品の原点座標と、部品のローカル座標系と、形状情報とが記憶される。部品番号は、アセンブリモデルを構成する各部品に付与された識別情報である。各部品には、それぞれを識別するために個別の部品番号が付与される。部品番号の項目には、部品に付与された部品番号が格納される。なお、部品番号の識別情報としては、部品名を用いてもよい。部品の原点座標は、３次元ＣＡＤ空間の座標において、部品に関する位置情報の原点として用いる座標を示す情報である。部品の原点座標は、部品ごとに異なってもよく、各部品で共通の原点を用いてもよい。部品のローカル座標系は、部品ごとに、部品の原点座標を基準として、３次元ＣＡＤ空間での部品の位置を規定するために用いる座標系を示す情報である。部品のローカル座標系は、部品ごとに異なってもよく、各部品で共通の座標系を用いてもよい。形状情報は、部品ごとに、部品の原点座標を基準とした部品のローカル座標系で部品の形状を示した情報である。本実施例にかかるＣＡＤデータ３０では、部品の形状を３角形ｆａｃｅｔの組み合わせにより記憶するものとされている。形状情報には、部品の形状を構成する各３角形ｆａｃｅｔの頂点座標と、各３角形の面の法線ベクトルとが記憶される。
【００１９】
図３は、部品の形状と形状情報の関係の一例を示す図である。例えば、直方体の外形をした部品６０は、３角形ｆａｃｅｔ１〜ｆａｃｅｔＮの組み合わせにより外形の形状が定義される。例えば、３角形ｆａｃｅｔＮは、３つの頂点の３次元座標（ｘ１，ｙ１，ｚ１）、（ｘ２，ｙ２，ｚ２）、（ｘ３，ｙ３，ｚ３）と、ｆａｃｅｔＮの法線ベクトルとにより３次元ＣＡＤ空間上での位置が定められる。
【００２０】
図４は、形状情報に記憶されるデータの一例を示す図である。ＣＡＤデータ３０の形状情報には、部品を構成する３角形ｆａｃｅｔ１〜ｆａｃｅｔＮごとに、３角形の頂点座標と、３角形の面の法線ベクトルとが記憶される。
【００２１】
図１に戻り、注記情報３１は、注記に関する情報を記憶したデータである。例えば、注記情報３１には、注記を対応付ける部品と、注記内容など、注記に関する情報が記憶されている。
【００２２】
図５は、注記情報の一例を示す図である。注記情報３１は、部品番号、コメントの各項目を有する。部品番号の項目は、注記を対応付ける部品の部品番号を記憶する領域である。コメントの項目は、注記内容を記憶する領域である。図５の例では、部品番号「２」の部品に対して、「しっかり接合すること」との注記が登録されている。これらの各部品の注記に関する情報は、ドキュメントを作成する際に、作成者が登録してもよい。また、各部品の注記に関する情報は、部品の設計者や生産を管理する担当者がツールにより登録してもよい。設計者向けツールや生産準備部門向けツールには、注記として用いる内容と登録する機能が標準機能として実装されている。このように注記情報３１が事前に登録される場合、注記情報３１は、ＣＡＤデータ３０と共に他の装置から受信される。
【００２３】
図１に戻り、引出線位置情報３２は、各注記に用いる引出線に関する情報を記憶したデータである。例えば、引出線位置情報３２には、引出線を対応付ける部品の部品番号や、引出線の開始位置の情報が記憶されている。
【００２４】
制御部２４は、引出線配置位置決定装置１０を制御するデバイスである。制御部２４としては、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）等の電子回路や、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、ＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路を採用できる。制御部２４は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部２４は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部２４は、表示制御部４０と、受付部４１と、注記生成部４２とを有する。
【００２５】
表示制御部４０は、表示部２１への各種情報の表示制御を行う。例えば、表示制御部４０は、ＣＡＤデータ３０に基づいて、複数部品からなるアセンブリモデルを３次元ＣＡＤ空間の指定された視点から見た画像を表示させる制御を行う。
【００２６】
受付部４１は、注記の生成に関する各種の操作を受け付ける。例えば、受付部４１は、アセンブリモデルを表示させる視点の位置の指定を受け付ける。例えば、製品を構成する部品の説明や、部品の組み立て方の説明などのドキュメントを作成する場合、ユーザは、部品の説明がしやすい視点の位置を指定する。例えば、ユーザは、ドキュメントで説明する部品を判別しやすい視点の位置や、説明に対応する視点の位置を指定する。表示制御部４０は、アセンブリモデルを３次元ＣＡＤ空間の指定された視点から見た画像を表示させる。
【００２７】
また、例えば、受付部４１は、注記に関する情報の登録を受け付ける。例えば、受付部４１は、注記を対応付ける部品と、注記内容などを受け付ける。例えば、ユーザは、注記を対応付ける部品と、注記内容を登録する。受付部４１は、受け付けた注記に関する情報を注記情報３１に記憶させる。
【００２８】
また、例えば、受付部４１は、注記の配置の指示を受け付ける。例えば、受付部４１は、指定された視点の位置の画像上で、部品ごとに注記の配置の指示を受け付ける。
【００２９】
注記生成部４２は、注記の生成を行う。例えば、注記生成部４２は、受付部４１により受け付けた指示に従い、注記と、当該注記に対応する部品を結ぶ引出線を生成する。注記生成部４２は、注記配置部５０と、特定部５１と、引出線配置部５２とを有する。
【００３０】
注記配置部５０は、画面内に注記を配置する。例えば、注記配置部５０は、注記情報３１に基づき、各部品の注記内容を表示させる。例えば、注記配置部５０は、受け付けた視点の画像において部品が表示される場合、表示される部品の注記内容を表示したボックスを表示させる。なお、注記は、例えば、部品番号などの部品の識別情報を円などに表示させた、所謂、バルーンであってもよい。本実施例では、注記は、バルーンも含むものとする。
【００３１】
特定部５１は、各種の特定を行う。例えば、特定部５１は、アセンブリモデルを構成する部品ごとに、当該部品を３次元ＣＡＤ空間の指定された視点から見た場合に表示される部品オブジェクトの形状を特定する。例えば、特定部５１は、ＣＡＤデータ３０に基づいて、３次元ＣＡＤ空間上のアセンブリモデルの部品を視点方向に投影した投影画像を生成する。
【００３２】
図６は、投影画像の一例を示す図である。図６には、２つの部品６１Ａ、６１Ｂにより構成されたアセンブリモデル６１が示されている。特定部５１は、視点の位置にアセンブリモデル６１に対して垂直な投影面６２を仮想的に配置し、視点側から見える部品の領域を投影面６２に投影した投影画像を生成する。
【００３３】
図７は、投影画像の生成の流れの一例を示す図である。特定部５１は、画像処理を行うための特定の大きさのビットマップを用意する。背景色は黒色で設定する（図７（Ａ））。特定部５１は、ビットマップに対象の部品を投影し、投影された部分を白色にする（図７（Ｂ））。そして、特定部５１は、対象の部品よりも視点側となる他の部品を黒色で投影する（図７（Ｃ））。これにより、投影画像は、部品の視点側から見える部分の画素が白色とされ、見えない部分の画素が黒色とされる。
【００３４】
引出線配置部５２は、引出線の配置を行う。例えば、引出線配置部５２は、投影画像により特定される部品オブジェクトの形状から定まる位置に、引出線の一方の端を配置する。例えば、引出線配置部５２は、特定した部品オブジェクトの形状の境界を避けた位置に、引出線の一方の端を配置する。例えば、引出線配置部５２は、特定した部品オブジェクトの形状で最も広く表示される面に、引出線の一方の端を配置する。
【００３５】
例えば、引出線配置部５２は、部品ごとに、投影画像から、当該部品を中央に配置し、当該部品を所定のサイズに拡大または縮小した矩形の部品画像を生成する。例えば、引出線配置部５２は、部品が２５６×２５６ピクセルの画像内で、部品の縦方向又は横方向のうち大きい方のサイズが、例えば、画像の８０％のサイズとなるように拡大または縮小した部品画像を生成する。
【００３６】
引出線配置部５２は、部品画像を所定の第１サイズごとに分割する。例えば、引出線配置部５２は、２５６×２５６ピクセルの部品画像を、１６×１６ピクセルのサイズごとの分割領域に分割する。図８は、部品画像の分割の一例を示す図である。図８の例では、２５６×２５６ピクセルの部品画像７０が、１６×１６ピクセルのサイズごとの２５６個の分割領域７１に分割されている。
【００３７】
引出線配置部５２は、分割領域ごとに、部品の占める割合を特定する。例えば、引出線配置部５２は、分割領域ごとに、白色の画素を１点、黒色の画素を０点として、平均点を算出する。図９は、平均点の算出の一例を示す図である。図９の例では、分割領域７１について白色の画素を１点、黒色の画素を０点とした場合、平均点が「０．３２」と算出されている。分割領域は、平均点が高いほど部品の占める面積が多い。図１０は、投影画像の分割領域ごとに平均点を示した一例を示す図である。図１０の例では、投影画像８０と、投影画像８０の分割領域の平均値を、分割領域の全画素の画素値として諧調表示した画像８１が表示されている。画像８１は、投影画像８０で白色が大きい部分で分割領域の平均値が高くなるため、分割領域が白色に近くなっている。
【００３８】
引出線配置部５２は、部品画像で、平均値が最も高い分割領域が１つのみ存在するか判定する。平均値が最も高い分割領域が１つのみ存在する場合、引出線配置部５２は、平均値が最も高い分割領域を引出線の引き出し領域と特定する。これにより、例えば、部品の占める割合が最も高く、白色に近くなっている分割領域が、引出線の引き出し領域と特定される。
【００３９】
一方、平均値が最も高い分割領域が１つのみではなく、複数存在する場合、引出線配置部５２は、周辺の領域も加えて引き出し領域と特定する。例えば、引出線配置部５２は、平均値が最も高い分割領域ごとに、当該分割領域の平均点に、周囲の分割領域の平均値を重み付け加算してスコアを求める。
【００４０】
図１１は、重み付けの一例を示す図である。図１１の例では、引出線配置部５２は、平均値が最も高い分割領域７１の隣（上下左右）の分割領域７２の平均点をそのままそれぞれ加算する。また、引出線配置部５２は、平均値が最も高い分割領域７１の斜め隣（左上、左下、右上、右下）の分割領域７３の平均点に０．７５を乗算した値をそれぞれ加算する。なお、図１１の重みは一例であり、これに限定されるものではない。
【００４１】
引出線配置部５２は、平均値が最も高い分割領域のスコアを比較する。平均値が最も高い分割領域が１つ存在する場合、引出線配置部５２は、最もスコアの高い分割領域を引出線の引き出し領域と特定する。一方、最もスコアの高い分割領域が複数存在する場合、引出線配置部５２は、周辺の領域のさらに周辺の領域も加えて引き出し領域と特定する。例えば、引出線配置部５２は、平均値が最も高い分割領域ごとに、当該分割領域の平均点に、周辺の領域のさらに周囲の分割領域の平均値を重み付け加算してスコアを求める。本実施例では、周辺の領域の隣（上下左右）の分割領域の平均点をそのままそれぞれ加算する。なお、周辺の領域の斜め隣の分割領域の平均点を重み付け加算してもよい。引出線配置部５２は、最もスコアの高い分割領域が１つとなるまで周辺の領域の平均値の重み付け加算を繰り返し、最もスコアの高い分割領域を引出線の引き出し領域と特定する。こうした周辺の領域も加えた比較により、最も白色かつ周辺領域が白い分割領域を抽出することができる。
【００４２】
引出線配置部５２は、引き出し領域と特定された分割領域をさらに分割する。例えば、引出線配置部５２は、分割領域を所定の第２サイズごとに分割する。例えば、引出線配置部５２は、１６×１６ピクセルの分割領域を、４×４ピクセルのサイズごとの区分領域に分割する。
【００４３】
引出線配置部５２は、区分領域ごとに、白色の画素を１点、黒色の画素を０点として、平均点を算出する。引出線配置部５２は、引き出し領域と特定された分割領域で、平均値が最も高い区分領域が１つのみ存在するか判定する。平均値が最も高い区分領域が１つのみ存在する場合、引出線配置部５２は、平均値が最も高い区分領域のなかから、引出線の引き出し画素を特定する。例えば、引出線配置部５２は、平均値が最も高い区分領域の画素を左上から探索し、最初に登場した黒色ではない画素を引き出し画素とする。これにより、例えば、部品の占める割合が最も高い区分領域の白色の画素が引き出し画素と特定される。
【００４４】
一方、平均値が最も高い区分領域が１つのみではなく、複数存在する場合、引出線配置部５２は、周辺の領域も加えて引き出し領域と特定する。例えば、引出線配置部５２は、平均値が最も高い区分領域ごとに、当該区分領域の平均点に、周囲の区分領域の平均値を重み付け加算してスコアを求める。例えば、引出線配置部５２は、平均値が最も高い区分領域の隣（上下左右）の区分領域の平均点をそのまま加算する。また、引出線配置部５２は、平均値が最も高い区分領域の斜め隣（左上、左下、右上、右下）の区分領域の平均点に０．７５を乗算した値を加算する。なお、重みは一例であり、これに限定されるものではない。
【００４５】
図１２は、重み付けした結果の一例を示す図である。図１２の例では、１６個の区分領域９０に分割された分割領域７１と、分割領域７１の周辺の区分領域９１が示されている。例えば、区分領域９０Ａが平均値が最も高い区分領域である場合、引出線配置部５２は、区分領域９０Ａの平均点に、区分領域９０Ａの周囲の区分領域９０Ｂ〜９０Ｄ、９１Ａ〜９１Ｅの平均値を重み付け加算してスコアを求める。図１２の例では、スコアの高い区分領域ほど白色に近く示している。
【００４６】
引出線配置部５２は、平均値が最も高い区分領域のスコアを比較する。平均値が最も高い区分領域が１つ存在する場合、引出線配置部５２は、最もスコアの高い区分領域を引出線の引き出し領域と特定する。一方、最もスコアの高い区分領域が複数存在する場合、引出線配置部５２は、周辺の領域のさらに周辺の領域も加えて引き出し領域と特定する。例えば、引出線配置部５２は、最もスコアの高い区分領域ごとに、当該区分領域の平均点に、周辺の領域のさらに周囲の区分領域の平均値を重み付け加算してスコアを求める。本実施例では、周辺の領域の隣（上下左右）の区分領域の平均点をそのままそれぞれ加算する。なお、周辺の領域の斜め隣の区分領域の平均点を重み付け加算してもよい。引出線配置部５２は、最もスコアの高い区分領域が１つとなるまで周辺の領域の平均値の重み付け加算を繰り返し、最もスコアの高い区分領域を引出線の引き出し領域と特定する。こうした周辺の領域も加えた比較により、分割領域内で最も白色かつ周辺領域もより白色の区分領域を抽出することができる。
【００４７】
引出線配置部５２は、引き出し領域と特定された区分領域のなかから、所定の規則に従い、引出線の引き出し画素を特定する。例えば、引出線配置部５２は、区分領域内を所定の検索規則に沿って検索し、最もスコアの高い区分領域のうち、最初に登場した黒色ではない画素を引き出し画素とする。
【００４８】
図１３は、検索規則の一例を示す図である。図１３には、区分領域内の画素を探索する順を示す番号が示されている。図１３の例では、区分領域内の画素の横方向の各ラインを左から右へ、上から順に検索される。これにより、最もスコアの高い区分領域のうち、区分領域内で最も左上に存在する画素が、引き出し画素と特定される。なお、図１３の探索順は一例であり、これに限定されるものではない。
【００４９】
引出線配置部５２は、３次元ＣＡＤ空間において、部品画像内の引き出し画素に対応する部品上の位置の座標を特定する。
【００５０】
図１４は、引き出し画素に対応する部品上の位置の座標の一例を示す図である。例えば、引出線配置部５２は、３次元ＣＡＤ空間で、投影面６２の引き出し画素の位置からの投影面６２に対して垂直なベクトルが部品６１Ａとの交差する交点の座標を求め、交点の座標を引き出し位置の座標と特定する。引出線配置部５２は、部品ごとに、引き出し位置の座標を引出線位置情報３２に記憶させる。このように、３次元ＣＡＤ空間での引き出し位置の座標を記憶させることにより、視点が多少移動しても、引き出し位置の座標に対応して引出線の一端を配置することで、部品との対応がわかりやすく引出線を表示させることができる。
【００５１】
引出線配置部５２は、引出線位置情報３２に基づき、部品ごとに、部品と注記を対応付ける引出線を配置する。例えば、引出線配置部５２は、部品について表示する情報がある場合に、引出線の他方の端を該情報に対応付ける。例えば、引出線配置部５２は、受け付けた視点の画像において部品が表示される場合、表示される部品と当該部品の注記を対応付ける引出線を配置する。例えば、引出線配置部５２は、表示される部品の引き出し位置の座標を引出線位置情報３２から読み出し、３次元ＣＡＤ空間の指定された視点から見た場合の引出線の引き出し位置を求め、引出線の一方の端を配置する。また、引出線配置部５２は、表示される部品に一方の端を配置した引出線の他の端を当該部品の注記に配置して、注記に対応付ける。
【００５２】
ここで、部品の注記と引出線を配置した一例を示す。図１５は、従来の技術により部品の注記と引出線を配置した一例を示す図である。図１５の例では、注記として、部品を示す番号「１」〜「４」のバルーンが表示され、各バルーンと対応する部品を結ぶ引出線が配置されている。図１５の例では、部品側の引出線の端を部品の重心位置から引き出している。図１５の場合、引出線により示される部品との対応がわかりづらい場合がある。例えば、番号「１」の引出線１０１は、部品１１１に対応付けられているにもかかわらず、部品１１２に対応付けられているように見える。また、番号「３」の引出線１０３は、部品１１３に対応付けられているにもかかわらず、部品１１２に対応付けられているように見える。また、番号「４」の引出線１０４は、部品１１４に対応付けられているにもかかわらず、部品１１２に対応付けられているように見える。
【００５３】
一方、図１６は、本実施例により部品の注記と引出線を配置した一例を示す図である。図１６の例でも、注記として、部品を示す番号「１」〜「４」のバルーンが表示され、各バルーンと対応する部品を結ぶ引出線が配置されている。図１６の例では、引出線により示される部品との対応をわかりやすく表示できる。例えば、番号「１」の引出線１０１は、部品１１１に対応付けられている。また、番号「３」の引出線１０３は、部品１１３に対応付けられている。また、番号「４」の引出線１０４は、部品１１４に対応付けられている。
【００５４】
このように、本実施例に係る引出線配置位置決定装置１０は、部品との対応がわかりやすく引出線を配置できる。
【００５５】
次に、本実施例に係る引出線配置位置決定装置１０が引出線の配置位置の決定に用いる各種の処理の流れを説明する。最初に、引出線配置位置決定装置１０が部品オブジェクトの形状を特定する形状特定処理について説明する。図１７は、形状特定処理の手順の一例を示すフローチャートである。
【００５６】
図１７に示すように、特定部５１は、画像処理を行うための特定の大きさで背景色を黒色としたビットマップを用意する（Ｓ１０）。特定部５１は、引出線を配置する対象の部品のみ表示させ、他の部品を非表示とする（Ｓ１１）。特定部５１は、ビットマップに対象の部品を投影し、投影された部分を白色にする（Ｓ１２）。特定部５１は、対象の部品よりも視点側となる他の部品を黒色で投影し（Ｓ１３）、処理を終了する。
【００５７】
次に、引出線配置位置決定装置１０が引出線の引き出し領域となる分割領域を特定する分割領域特定処理について説明する。図１８は、分割領域特定処理の手順の一例を示すフローチャートである。
【００５８】
図１８に示すように、引出線配置部５２は、部品画像を第１サイズごとに分割する（Ｓ２０）。例えば、引出線配置部５２は、２５６×２５６ピクセルの部品画像を、１６×１６ピクセルのサイズごとの分割領域に分割する。
【００５９】
引出線配置部５２は、分割領域ごとに、白色の画素を１点、黒色の画素を０点として、平均点を算出する（Ｓ２１）。引出線配置部５２は、部品画像で、平均値が最も高い分割領域が１つのみ存在するか判定する（Ｓ２２）。平均値が最も高い分割領域が複数存在する場合（Ｓ２２否定）、引出線配置部５２は、後述する周辺分割領域重み付け処理を行い（Ｓ２３）、後述するＳ２４へ移行する。一方、平均値が最も高い分割領域が１つのみ存在する場合（Ｓ２２肯定）、後述するＳ２４へ移行する。
【００６０】
引出線配置部５２は、平均値またはスコアが最も高い分割領域を引出線の引き出し領域と特定し（Ｓ２４）、処理を終了する。
【００６１】
次に、引出線配置位置決定装置１０が周辺の分割領域の平均値を重み付け加算する周辺分割領域重み付け処理について説明する。図１９は、周辺分割領域重み付け処理の手順の一例を示すフローチャートである。
【００６２】
図１９に示すように、引出線配置部５２は、平均値が最も高い分割領域ごとに、当該分割領域の平均点に、周囲の分割領域の平均値を重み付け加算してスコアを求める（Ｓ３０）。例えば、引出線配置部５２は、平均値が最も高い分割領域７１の隣の分割領域７２の平均点をそのままそれぞれ加算する。また、引出線配置部５２は、平均値が最も高い分割領域７１の斜め隣の分割領域７３の平均点に０．７５を乗算した値をそれぞれ加算する。
【００６３】
スコアが最も高い分割領域が１つのみ存在するか判定する（Ｓ３１）。スコアが最も高い分割領域が複数存在する場合（Ｓ３１否定）、引出線配置部５２は、平均値が最も高い分割領域ごとに、さらに周囲の分割領域の平均値を重み付け加算し（Ｓ３２）、Ｓ３１へ移行する。例えば、引出線配置部５２は、スコアが最も高い分割領域に対して、より上下左右方向の分割領域の平均点をそのままそれぞれ加算する。
【００６４】
一方、平均値が最も高い分割領域が１つのみ存在する場合（Ｓ３１肯定）、本処理を終了して、上述のＳ２４へ移行する。
【００６５】
次に、引出線配置位置決定装置１０が引出線の引き出し領域となる区分領域を特定する区分領域特定処理について説明する。図２０は、区分領域特定処理の手順の一例を示すフローチャートである。
【００６６】
図２０に示すように、引出線配置部５２は、引き出し領域と特定された分割領域を第２サイズごとに分割する（Ｓ４０）。例えば、引出線配置部５２は、１６×１６ピクセルの分割領域を、４×４ピクセルのサイズごとの区分領域に分割する。
【００６７】
引出線配置部５２は、区分領域ごとに、白色の画素を１点、黒色の画素を０点として、平均点を算出する（Ｓ４１）。引出線配置部５２は、引き出し領域と特定された分割領域で、平均値が最も高い区分領域が１つのみ存在するか判定する（Ｓ４２）。平均値が最も高い区分領域が１つのみ存在する場合（Ｓ４２肯定）、後述するＳ４６へ移行する。
【００６８】
一方、平均値が最も高い区分領域が複数存在する場合（Ｓ４２否定）、引出線配置部５２は、周辺の領域も加えて引き出し領域と特定する（Ｓ４３）。例えば、引出線配置部５２は、平均値が最も高い区分領域の隣の区分領域の平均点をそのまま加算する。また、引出線配置部５２は、平均値が最も高い区分領域の斜め隣の区分領域の平均点に０．７５を乗算した値を加算する。
【００６９】
スコアが最も高い区分領域が１つのみ存在するか判定する（Ｓ４４）。スコアが最も高い区分領域が複数存在する場合（Ｓ４４否定）、引出線配置部５２は、平均値が最も高い区分領域ごとに、さらに周囲の区分領域の平均値を重み付け加算し（Ｓ４５）、Ｓ４４へ移行する。例えば、引出線配置部５２は、スコアが最も高い区分領域に対して、より上下左右方向の区分領域の平均点をそのままそれぞれ加算する。
【００７０】
一方、平均値が最も高い区分領域が１つのみ存在する場合（Ｓ４４肯定）、後述するＳ４６へ移行する。
【００７１】
引出線配置部５２は、引き出し領域と特定された区分領域のなかから、所定の規則に従い、引出線の引き出し画素を特定する（Ｓ４６）。例えば、引出線配置部５２は、区分領域内を所定の検索規則に沿って検索し、最もスコアの高い区分領域のうち、最初に登場した黒色ではない画素を引き出し画素とする。
【００７２】
引出線配置部５２は、３次元ＣＡＤ空間において、部品画像内の引き出し画素に対応する部品上の位置の座標を特定し、引き出し位置の座標を引出線位置情報３２に記憶させる（Ｓ４７）。
【００７３】
引出線配置部５２は、引出線位置情報３２に基づき、部品ごとに、部品と注記を対応付ける引出線を配置し（Ｓ４８）、処理を終了する。
【００７４】
このように、引出線配置位置決定装置１０は、オブジェクトが配置された３次元ＣＡＤ空間を、指定された視点から表示する場合に、該視点から見た場合に表示される該オブジェクトの形状を特定する。引出線配置位置決定装置１０は、特定したオブジェクトの形状から定まる位置に、引出線の一方の端を配置する。これにより、引出線配置位置決定装置１０は、引出線の一方の端が他の部品に隠れることがなくなるため、部品との対応がわかりやすく引出線を配置できる。
【００７５】
また、引出線配置位置決定装置１０は、特定したオブジェクトの形状の境界を避けた位置に、引出線の一方の端を配置する。これにより、引出線配置位置決定装置１０は、引出線の一方の端が境界に配置されなくなり、部品上に配置されるようになるため、部品との対応がわかりやすく引出線を配置できる。
【００７６】
また、引出線配置位置決定装置１０は、特定したオブジェクトの形状で最も広く表示される面に、引出線の一方の端を配置する。これにより、引出線配置位置決定装置１０は、部品の形状で最も広く表示される面に、引出線の一方の端が配置されるため、引出線が示す部品をわかりやすくすることができる。
【００７７】
また、引出線配置位置決定装置１０は、オブジェクトについて表示する情報がある場合に、引出線の他方の端を該情報に対応付ける。これにより、引出線配置位置決定装置１０は、引出線により、オブジェクトと当該オブジェクトについて表示する情報とを対応付けることができる。
【実施例２】
【００７８】
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００７９】
例えば、上記の実施例では、最もスコアの高い分割領域や区分領域が特定されるまで周囲の領域の平均値の加算を繰り返す場合について説明したが、開示の装置はこれに限定されない。例えば、引出線配置部５２は、周囲の領域の平均値の加算を所定回繰り返しても、最もスコアの高い分割領域や区分領域が特定されない場合、所定の検索規則に沿って検索して、最初の最もスコアの高い分割領域や区分領域を引き出し領域と特定してもよい。例えば、引出線配置部５２は、分割領域や区分領域の横方向の各ラインを左から右へ、上から順に検索し、最も左上に存在する分割領域や区分領域を引出線の引き出し領域と特定してもよい。
【００８０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図１に示す表示制御部４０、受付部４１、注記生成部４２、注記配置部５０、特定部５１、引出線配置部５２の各処理部が適宜統合または分割されてもよい。また、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００８１】
［引出線配置位置決定プログラム］
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。図２１は、引出線配置位置決定プログラムを実行するコンピュータを示す図である。
【００８２】
図２１に示すように、コンピュータ３００は、ＣＰＵ３１０、ＲＯＭ（Read  Only  Memory）３２０、ＨＤＤ（Hard  Disk  Drive）３３０、ＲＡＭ（Random  Access  Memory）３４０を有する。これら３１０〜３４０の各部は、バス４００を介して接続される。
【００８３】
ＲＯＭ３２０には上記実施例の各処理部と同様の機能を発揮する引出線配置位置決定プログラム３２０ａが予め記憶される。例えば、上記実施例の表示制御部４０、受付部４１、注記生成部４２、注記配置部５０、特定部５１、引出線配置部５２と同様の機能を発揮する引出線配置位置決定プログラム３２０ａを記憶させる。なお、引出線配置位置決定プログラム３２０ａについては、適宜分離しても良い。
【００８４】
ＨＤＤ３３０には、各種データを記憶する。例えば、ＨＤＤ３３０は、ＯＳや各種データを記憶する。
【００８５】
そして、ＣＰＵ３１０が、引出線配置位置決定プログラム３２０ａをＲＯＭ３２０から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、引出線配置位置決定プログラム３２０ａは、実施例の表示制御部４０、受付部４１、注記生成部４２、注記配置部５０、特定部５１、引出線配置部５２と同様の動作を実行する。
【００８６】
なお、上記した引出線配置位置決定プログラム３２０ａについては、必ずしも最初からＲＯＭ３２０に記憶させることを要しない。引出線配置位置決定プログラム３２０ａはＨＤＤ３３０に記憶させてもよい。
【００８７】
例えば、コンピュータ３００に挿入されるフレキシブルディスク（ＦＤ）、Compact  Disk  Read  Only  Memory（ＣＤ−ＲＯＭ）、Digital  Versatile  Disk（ＤＶＤ）、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」にプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【００８８】
さらには、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ３００に接続される「他のコンピュータ（またはサーバ）」などにプログラムを記憶させておく。そして、コンピュータ３００がこれらからプログラムを読み出して実行するようにしてもよい。
【符号の説明】
【００８９】
１０  引出線配置位置決定装置
２０  入力部
２１  表示部
２２  通信Ｉ／Ｆ部
２３  記憶部
２４  制御部
３０  ＣＡＤデータ
３１  注記情報
３２  引出線位置情報
４０  表示制御部
４１  受付部
４２  注記生成部
５０  注記配置部
５１  特定部
５２  引出線配置部
【図１】
0006467879.tif 000002
【図２】
0006467879.tif 000003
【図３】
0006467879.tif 000004
【図４】
0006467879.tif 000005
【図５】
0006467879.tif 000006
【図６】
0006467879.tif 000007
【図７】
0006467879.tif 000008
【図８】
0006467879.tif 000009
【図９】
0006467879.tif 000010
【図１０】
0006467879.tif 000011
【図１１】
0006467879.tif 000012
【図１２】
0006467879.tif 000013
【図１３】
0006467879.tif 000014
【図１４】
0006467879.tif 000015
【図１５】
0006467879.tif 000016
【図１６】
0006467879.tif 000017
【図１７】
0006467879.tif 000018
【図１８】
0006467879.tif 000019
【図１９】
0006467879.tif 000020
【図２０】
0006467879.tif 000021
【図２１】
0006467879.tif 000022