(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024022950
(43)【公開日】2024-02-21
(54)【発明の名称】図面処理装置、図面処理方法、及びプログラム
(51)【国際特許分類】
G06F 30/10 20200101AFI20240214BHJP
G06F 30/27 20200101ALI20240214BHJP
G06V 10/70 20220101ALI20240214BHJP
G06T 11/60 20060101ALI20240214BHJP
【FI】
G06F30/10 100
G06F30/27
G06V10/70
G06T11/60 100B
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022126413
(22)【出願日】2022-08-08
(71)【出願人】
【識別番号】000002299
【氏名又は名称】清水建設株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100161506
【弁理士】
【氏名又は名称】川渕 健一
(74)【代理人】
【識別番号】100161207
【弁理士】
【氏名又は名称】西澤 和純
(72)【発明者】
【氏名】笹川 和彦
(72)【発明者】
【氏名】大山 巧
(72)【発明者】
【氏名】古川 慧
(72)【発明者】
【氏名】宮下 裕貴
(72)【発明者】
【氏名】三戸 景資
【テーマコード(参考)】
5B050
5B146
5L096
【Fターム(参考)】
5B050BA06
5B050BA17
5B050BA18
5B050BA20
5B050CA07
5B050EA07
5B050EA12
5B050EA18
5B146AA04
5B146DA06
5B146DC03
5B146DE03
5B146EA07
5L096FA69
5L096FA77
5L096GA40
5L096KA04
(57)【要約】
【課題】2次元の図面において重複するオブジェクトの移動を効率良く行えるようにする。
【解決手段】ベクタ形式の図面から得たラスタ形式図面に含まれるオブジェクトを検出し、検出したオブジェクトごとの属性に応じて定まる移動制約条件を判定するオブジェクト検出部と、前記オブジェクト検出部により検出されたオブジェクトが重複している場合に、オブジェクトごとに設定された移動制約条件による移動の自由度が低いものから順に移動先設定対象を選択し、選択した移動先設定対象のオブジェクトごとに、他のオブジェクトと重複しないように移動先を設定する移動設定部と、前記移動設定部により設定されたオブジェクトの移動先に応じて前記ベクタ形式の図面においてオブジェクトを移動させる移動指示情報を生成する移動指示情報生成部とを備えて図面処理装置を構成する。
【選択図】
図6
【特許請求の範囲】
【請求項1】
オブジェクトを含むベクタ形式の図面をラスタ形式に変換して得られたラスタ形式図面に含まれるオブジェクトを検出し、検出したオブジェクトごとの属性に応じて定まる移動制約条件を判定するオブジェクト検出部と、
前記オブジェクト検出部により検出されたオブジェクトが重複している場合に、オブジェクトごとに設定された移動制約条件による移動の自由度が低いものから順に移動先設定対象を選択し、選択した移動先設定対象のオブジェクトごとに、他のオブジェクトと重複しないように移動先を設定する移動設定部と、
前記移動設定部により設定されたオブジェクトの移動先に応じて前記ベクタ形式の図面においてオブジェクトを移動させる移動指示情報を生成する移動指示情報生成部と
を備える図面処理装置。
【請求項2】
前記移動設定部は、前記移動制約条件による移動の自由度が同じオブジェクトが存在する場合には、面積の大きいほうのオブジェクトから順に移動先設定対象として選択する
請求項1に記載の図面処理装置。
【請求項3】
前記移動設定部は、移動先設定対象のオブジェクトが他のオブジェクトと重複しない位置のうちから、移動距離が最小の位置もしくは前記移動距離が最小の位置からさらに所定の距離を隔てた位置を移動先として設定する
請求項1または2に記載の図面処理装置。
【請求項4】
前記ベクタ形式の図面は、属性に応じて定まる移動制限の態様に応じた所定の色がオブジェクトごとに対して付与されたうえで前記ラスタ形式図面に変換され、
前記オブジェクト検出部は、オブジェクトにおいて描画されるオブジェクトの色に基づいて移動制約条件を判定する
請求項1または2に記載の図面処理装置。
【請求項5】
前記オブジェクト検出部は、オブジェクトの画像を学習用データとして入力して学習を行わせた学習済モデルを用いて前記オブジェクトを検出する
請求項1または2に記載の図面処理装置。
【請求項6】
オブジェクトを含むベクタ形式の図面をラスタ形式に変換して得られたラスタ形式図面に含まれるオブジェクトを検出し、検出したオブジェクトごとの属性に応じて定まる移動制約条件を判定するオブジェクト検出ステップと、
前記オブジェクト検出ステップにより検出されたオブジェクトが重複している場合に、オブジェクトごとに設定された移動制約条件による移動の自由度が低いものから順に移動先設定対象を選択し、選択した移動先設定対象のオブジェクトごとに、他のオブジェクトと重複しないように移動先を設定する移動設定ステップと、
前記移動設定ステップにより設定されたオブジェクトの移動先に応じて前記ベクタ形式の図面においてオブジェクトを移動させる移動指示情報を生成する移動指示情報生成ステップと
を含む図面処理方法。
【請求項7】
図面処理装置としてのコンピュータを、
オブジェクトを含むベクタ形式の図面をラスタ形式に変換して得られたラスタ形式図面に含まれるオブジェクトを検出し、検出したオブジェクトごとの属性に応じて定まる移動制約条件を判定するオブジェクト検出部、
前記オブジェクト検出部により検出されたオブジェクトが重複している場合に、オブジェクトごとに設定された移動制約条件による移動の自由度が低いものから順に移動先設定対象を選択し、選択した移動先設定対象のオブジェクトごとに、他のオブジェクトと重複しないように移動先を設定する移動設定部、
前記移動設定部により設定されたオブジェクトの移動先に応じて前記ベクタ形式の図面においてオブジェクトを移動させる移動指示情報を生成する移動指示情報生成部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、図面処理装置、図面処理方法、及びプログラムに関する。
【背景技術】
【0002】
3次元CAD(Computer Aided Design)モデルから、2次元画像を抽出する技術が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば建築物の図面等のように図形、寸法線等のオブジェクトのほかに、寸法値、品番、注釈、各種符号といった文字列等によるオブジェクトも多く含まれるような3次元CADの図面を2次元に変換した場合には、2次元の図面上でオブジェクトが重複する事象が発生しやすい。
このように2次元の図面上でオブジェクトが重複していると、重複したオブジェクトの内容の確認がしにくくなり建築の現場で使用に耐えない場合も生じ得る。そこで、オブジェクトが重複しなくなるようにオブジェクトの位置を移動させて見やすくすることが求められる。しかしながら、オブジェクトの移動を手作業で行うことは作業者にとって相当の負担となる。重複したオブジェクトの移動については、できるだけ効率的に行えるようにすることが好ましい。
【0005】
本発明は、このような事情に鑑みてなされたもので、2次元の図面において重複するオブジェクトの移動を効率良く行えるようにすることを目的とする。
【課題を解決するための手段】
【0006】
上述した課題を解決するための本発明の一態様は、オブジェクトを含むベクタ形式の図面をラスタ形式に変換して得られたラスタ形式図面に含まれるオブジェクトを検出し、検出したオブジェクトごとの属性に応じて定まる移動制約条件を判定するオブジェクト検出部と、前記オブジェクト検出部により検出されたオブジェクトが重複している場合に、オブジェクトごとに設定された移動制約条件による移動の自由度が低いものから順に移動先設定対象を選択し、選択した移動先設定対象のオブジェクトごとに、他のオブジェクトと重複しないように移動先を設定する移動設定部と、前記移動設定部により設定されたオブジェクトの移動先に応じて前記ベクタ形式の図面においてオブジェクトを移動させる移動指示情報を生成する移動指示情報生成部とを備える図面処理装置である。
【0007】
また、本発明の一態様は、オブジェクトを含むベクタ形式の図面をラスタ形式に変換して得られたラスタ形式図面に含まれるオブジェクトを検出し、検出したオブジェクトごとの属性に応じて定まる移動制約条件を判定するオブジェクト検出ステップと、前記オブジェクト検出ステップにより検出されたオブジェクトが重複している場合に、オブジェクトごとに設定された当該オブジェクトについて判定された移動制約条件による移動の自由度が低いものから順に移動先設定対象を選択し、選択した移動先設定対象のオブジェクトごとに、他のオブジェクトと重複しないように移動先を設定する移動設定ステップと、前記移動設定ステップにより設定されたオブジェクトの移動先に応じて前記ベクタ形式の図面においてオブジェクトを移動させる移動指示情報を生成する移動指示情報生成ステップとを含む図面処理方法である。
【0008】
また、本発明の一態様は、図面処理装置としてのコンピュータを、オブジェクトを含むベクタ形式の図面をラスタ形式に変換して得られたラスタ形式図面に含まれるオブジェクトを検出し、検出したオブジェクトごとの属性に応じて定まる移動制約条件を判定するオブジェクト検出部、前記オブジェクト検出部により検出されたオブジェクトが重複している場合に、オブジェクトごとに設定された当該オブジェクトについて判定された移動制約条件による移動の自由度が低いものから順に移動先設定対象を選択し、選択した移動先設定対象のオブジェクトごとに、他のオブジェクトと重複しないように移動先を設定する移動設定部、前記移動設定部により設定されたオブジェクトの移動先に応じて前記ベクタ形式の図面においてオブジェクトを移動させる移動指示情報を生成する移動指示情報生成部として機能させるためのプログラムである。
【発明の効果】
【0009】
以上説明したように、本発明によれば、2次元の図面において重複するオブジェクトの移動を効率良く行えるようになるという効果が得られる。
【図面の簡単な説明】
【0010】
【
図1】第1実施形態に係る図面処理装置の構成例を示す図である。
【
図2】第1実施形態に係るオブジェクト検出部に対応する学習データの例を示す図である。
【
図3】第1実施形態に係るオブジェクトの機能属性と移動属性との関係の具体例を説明する図である。
【
図4】第1実施形態に係るオブジェクト検出部によるオブジェクト検出結果の一例を示す図である。
【
図5】第1実施形態に係る重複オブジェクトの移動先設定と移動距離との関係を説明する図である。
【
図6】第1実施形態に係る移動設定部による移動先設定の一具体例を説明する図である。
【
図7】第1実施形態に係る図面処理装置における製図アプリケーション部が、図面次元変換に関連して実行する処理手順例を示すフローチャートである。
【
図8】第1実施形態に係る図面処理装置における修正アプリケーション部と製図アプリケーション部とが、ベクタ形式の2次元図面の重複修正に関連して実行する処理手順例を示すフローチャートである。
【
図9】第1実施形態に係る移動先設定処理としての処理手順例を示すフローチャートである。
【
図10】第1実施形態に係るオブジェクトの重複修正の一具体例を示す図である。
【
図11】第1実施形態に係るオブジェクトの重複修正の一具体例を示す図である。
【
図12】第1実施形態に係るオブジェクトの重複修正の一具体例を示す図である。
【
図13】第2実施形態に係るオブジェクトの移動属性に応じた色範囲区分の設定例を示す図である。
【
図14】第3実施形態に係るベクタ形式の2次元図面に対する分割線の設定例を示す図である。
【発明を実施するための形態】
【0011】
<第1実施形態>
[図面処理装置の構成例]
図1は、本実施形態の図面処理装置100の機能構成例を示している。同図の図面処理装置100としての機能は、図面処理装置100がハードウェアとして備えるCPU(Central Processing Unit)とGPU(Graphics Processing Unit)がプログラムを実行することにより実現される。
図面処理装置100は、パーソナルコンピュータ等のコンピュータ装置に製図アプリケーションと修正アプリケーションをインストールすることにより実現されてよい。
【0012】
製図アプリケーションは、例えばBIM(Building Information Modeling)やCADであって、3次元環境で建物、鉄骨構造物の作図等を行うことのできるアプリケーションであってもよい。
【0013】
本実施形態の製図アプリケーションは、3次元環境のもとで図面(3次元図面)を作成可能とされている。また、製図アプリケーションは、3次元図面(図面の一例)を2次元図面に変換することができる。製図アプリケーションが扱う2次元図面(図面の一例)は、例えば2次元CADによるベクタデータによるものとなる。
【0014】
3次元図面は、設計された建物の構造を立体的に把握でき、図面の整合性の保障、干渉や勾配等の各種の確認作業を容易に行えるという利点がある。一方で、建物の施工が行われる現場では2次元断面の図面のほうが使いやすいという側面もある。製図アプリケーションは、3次元図面を2次元図面に変換する機能を有することで、上記のように現場にて使用される2次元図面を提供することができる。
【0015】
修正アプリケーションは、オブジェクトの重複を解消するようにベクタ形式の2次元図面を修正するにあたり、修正のためのオブジェクトの移動に関する設定を行うアプリケーションである。
3次元図面としての3次元空間においては、建物の建設に用いられる部材等だけではなく、各部の寸法、部材の製品コード等をはじめとする各種の附帯情報が多数包含されている。3次元図面から変換された2次元図面においては、これらの付帯情報を図面上に表記することが一般的であるため、多数の付帯情報のオブジェクトが2次元平面に配置されることで、オブジェクトの重複が生じる。
【0016】
重複したオブジェクトは施工者にとって見づらいため、図面の解釈に齟齬が生じたり、施工作業の効率を低下させる可能性がある。そこで、2次元図面において重複したオブジェクトを移動させて、重複した状態とならないようにすることが求められる。このように2次元図面内のオブジェクトを移動させる作業を人手により行うことは効率的でない。そこで、本実施形態の図面処理装置100は、修正アプリケーションによりオブジェクトを移動させることで2次元図面におけるオブジェクトの重複の解消を図ることができる。
【0017】
図1の図面処理装置100は、製図アプリケーション部101、修正アプリケーション部102、記憶部103、及びユーザインターフェース部104を備える。
製図アプリケーション部101は、製図アプリケーションに対応する機能部である。製図アプリケーション部101は、製図処理部111、変換部112、及び移動処理部113を備える。
【0018】
製図処理部111は、例えばユーザの操作に応じて3次元環境のもとで建物の設計に応じた製図処理を実行し、3次元図面を作成する。製図処理部111は、作成した3次元図面を記憶部103に記憶させてよい。
【0019】
変換部112は、製図処理部111により作成された3次元図面を、例えば2次元CADとしてのベクタ形式による2次元図面に変換する図面次元変換を行う。変換部112は、図面次元変換により得られた2次元図面を記憶部103に記憶させることができる。
【0020】
移動処理部113は、移動指示情報生成部124により生成された移動指示情報を利用して、ベクタ形式の2次元図面におけるオブジェクトを移動させる処理(オブジェクト移動処理)を実行する。移動処理部113がオブジェクト移動処理を実行することにより、ベクタ形式の2次元図面においてはオブジェクトの重複が解消されるようにして修正が行われる。
【0021】
修正アプリケーション部102は、修正アプリケーションに対応する機能部である。修正アプリケーション部102は、前処理部121、オブジェクト検出部122、移動設定部123、及び移動指示情報生成部124を備える。
前処理部121は、前処理として、例えば記憶部103に記憶されるベクタ形式の2次元図面のうちから指定された2次元図面を取得し、取得した2次元図面をラスタ形式に変換するラスタ変換を実行する。ラスタ形式の2次元図面は、例えば具体的にはPNG(Portable Network Graphics)形式の画像データによるものであってよい。
【0022】
ラスタ変換にあたり、前処理部121は、2次元図面においてオブジェクトに設定されていた色の設定を引き継がせる。具体的に、前処理部121は、ベクタ形式の2次元図面におけるオブジェクトごとに設定されている色コードの値がラスタ形式の2次元図面に引き継がれるようにして、ラスタ変換を行う。これにより、ベクタ形式の2次元図面とラスタ形式の2次元図面とで共通となるオブジェクトには同じ色コードが共通に設定されることになる。
【0023】
オブジェクト検出部122(オブジェクト検出部の一例)は、オブジェクト検出を行う。
オブジェクト検出部122は、オブジェクト検出として、ラスタ形式の2次元図面において存在するオブジェクトの識別を行う。この際、オブジェクト検出部122は、識別したオブジェクトごとに、ラスタ形式の2次元図面としての画像においてオブジェクトに対応する領域範囲を示す枠(領域指示枠)を適用する。領域指示枠は、例えば矩形による枠であってよい。
また、オブジェクト検出部122は、オブジェクト検出として、識別したオブジェクト間における重複についての判定を行う。
【0024】
オブジェクト検出部122によるオブジェクトの重複の判定は、例えば以下のようにして行うことができる。
まず、製図アプリケーション部101において、製図処理部111は、3次元図面の段階で図面内の文字列、記号、線分等の要素をオブジェクト単位でグルーピングしておくようにする。
【0025】
図2(A)、
図2(B)、
図2(C)は、それぞれ、製図処理部111のグルーピングによって得られた1単位のオブジェクトPOJの一例を示している。
図2(A)のオブジェクトPOJは、文字列のみによりグルーピングされたオブジェクトとなる。
図2(B)のオブジェクトPOJは、文字列と当該文字列を囲った枠によりグルーピングされたオブジェクトとなる。
図2(C)のオブジェクトPOJは、文字列と、当該文字列を囲った枠と、枠外にも配置された文字列とをグルーピングしたオブジェクトとなる。また、同図のオブジェクトPOJは、右斜め上方向に傾いた状態となっている。
【0026】
変換部112は、図面次元変換後の2次元図面に対して上記のようにグルーピングにより得られたオブジェクトPOJのデータを付加して、記憶部103に記憶させる。
【0027】
修正アプリケーション部102において、オブジェクト検出部122は、2次元図面に付加されたオブジェクトPOJのデータを参照して、ラスタ形式の2次元図面からオブジェクトPOJに対応する画像部分を識別するようにされる。
オブジェクト検出部122は、上記のようにして識別したオブジェクト間での2次元図面上での重複を判定する。このようなオブジェクトの重複の判定にあたり、オブジェクト検出部122は、機械学習等による学習済みモデルを用いるようにされてよい。この場合の学習済みモデルは、重複したオブジェクトの画像として多様なパターンを学習データとして学習器に入力させて学習を行うようにされてよい。
【0028】
また、オブジェクト検出部122によるオブジェクトの識別は、以下のように、学習済みモデルの学習器に、多様なオブジェクトの画像を学習データとして入力して学習を行わせるようにもされてよい。この場合には、先に
図2(A)、
図2(B)、
図2(C)に例示したようにグルーピングにより得られたオブジェクトPOJを学習器に学習データとして入力させてよい。そのうえで、この場合にはオブジェクトPOJにタグを付与してよい。
具体的に、例えば
図2(A)のオブジェクトPOJには、例えば「文字列のみ」であることを示すタグが付与されてよい。
また、
図2(B)のオブジェクトPOJは、「枠付きの文字列」であることを示すタグが付与されてよい。
また、
図2(C)のオブジェクトPOJには、例えば「枠付きの文字列及び枠外文字列/右斜め上方向」であることを示すタグが付与されてよい。
この場合、オブジェクト検出部122は、学習済みモデルにより2次元図面からオブジェクトを識別し、例えば識別したオブジェクト間の位置関係に基づいて、あるいは上記と同様の重複判定の学習済みモデルを用いて重複の判定を行ってもよい。
【0029】
説明を
図1に戻す。移動設定部123は、ラスタ形式の2次元図面において、オブジェクト検出部122によって重複していると判定されたオブジェクトが重複しない状態となるように、ラスタ形式の2次元図面におけるオブジェクトの移動先を設定する。
【0030】
移動指示情報生成部124は、移動指示情報を生成する。移動指示情報は、移動設定部123により設定されたオブジェクトの移動先に基づいて、ベクタ形式の2次元図面において移動が必要なオブジェクトごとの位置(移動前オブジェクト位置)と移動量ベクトルとを指示す情報である。
【0031】
具体的に、移動設定部123により指示される移動前オブジェクト位置は、ラスタ形式の2次元図面としての画像における画素位置(画素の座標)により指定される。また、移動量ベクトルは、鉛直方向及び水平方向の移動距離から成ってよいが、移動距離は、画素(ピクセル)数により示されるものとなる。
移動指示情報生成部124は、画素位置により指定される対象オブジェクトの位置を、ベクタ形式の2次元図面に対して設定された縦方向の寸法と横方向の寸法により表される座標により示されるように変換する。また、移動指示情報生成部124は、画素数によるオブジェクトの移動距離を、ベクタ形式の2次元図面における寸法に換算する。
移動指示情報生成部124は、ラスタ形式の2次元図面における単位画素数とベクタ形式の2次元図面における寸法との対応関係に基づいて、画素数から寸法への換算を行うことができる。
移動指示情報生成部124は、生成した移動指示情報を製図アプリケーション部101に引き渡す。この際、移動指示情報生成部124は、移動指示情報を記憶部103に記憶させ、製図アプリケーション部101は、記憶部103に記憶された移動指示情報を取得するようにされてよい。
【0032】
記憶部103は、図面処理装置100が対応する各種情報を記憶する。
【0033】
ユーザインターフェース部104は、ユーザインターフェースに対応する部位である。具体的に、ユーザインターフェース部104は、ユーザが操作に用いる入力デバイス、画像を表示するディスプレイデバイス、音を出力する音出力デバイス等を備えて構成される。
【0034】
[オブジェクト重複修正に対応する2次元図面の処理]
以降の説明にあたり、ベクタ形式の2次元図面についてオブジェクトの重複が解消されるようにして行う修正については「重複修正」とも記載する。
本実施形態の製図アプリケーション部101の変換部112は、図面次元変換により得られたベクタ形式の2次元図面において配置されるオブジェクトについて、重複修正に対応して、移動属性(移動制約条件の一例)に対応させて事前に所定の色を設定しておくようにされる。
【0035】
移動属性は、重複修正にあたって対応のオブジェクトが移動対象とされた場合の移動制限である。本実施形態の場合、例えば、移動属性は、移動不可、左右(水平)移動、上下(垂直)移動、自由移動の4種類により区分されるものであってよい。これらの移動属性について、移動の自由度が低い順に列挙する。ここでの移動の自由度は、オブジェクトが移動可能とされる方向の数の多さが対応する。
移動属性が移動不可である場合、対応のオブジェクトは移動不可であることが規定される。
移動属性が左右移動である場合、対応のオブジェクトは、左右方向の移動については許容されるが上下方向の移動は禁止であることが規定される。
移動属性が上下移動である場合、対応のオブジェクトは、上下方向の移動については許容されるが左右方向の移動は禁止であることが規定される。
なお、移動の自由度の点では、左右移動と上下移動との移動属性は同等となる。
移動属性が移動自由である場合、対応のオブジェクトは、特に方向の制限なく移動が許容されることが規定される。
【0036】
移動属性は、オブジェクトの機能属性に応じて定められている。機能属性は、オブジェクトの機能に関する属性である。図面におけるオブジェクトは、それぞれが、例えば部材形状、寸法線、寸法値、部材の品番、各種の記号や符号などといったように特定の事項を示す機能を有する。例えば、記憶部103は、機能属性ごとに移動属性を対応させた移動属性テーブルを記憶してよい。
【0037】
オブジェクトの機能属性と移動属性との関係の具体例について、
図3を参照して説明する。
図3は、ベクタ形式の2次元図面における一部領域を抜き出して示している。
同図において、オブジェクトOJ-A1の機能属性は部材形状である。部材形状のオブジェクトは上下左右のいずれの方向にかかわらず、配置された位置から移動されてしまうと建物における正しい位置や本来の形状を示すことができなくなる。
このため、機能属性が部材形状のオブジェクトには、移動不可の移動属性が対応付けられる。
【0038】
また、オブジェクトOJ-A2の機能属性は寸法線である。寸法線は、部材形状に対して寸法の計測範囲を指定するように配置される。このような寸法線のオブジェクトは、上下左右のいずれの方向にかかわらず、配置された位置から移動されてしまうと、部材形状に対する計測範囲を正しく指定することができなくなるおそれがある。
このため、機能属性が寸法線のオブジェクトには、移動不可の移動属性が対応付けられる。
【0039】
また、オブジェクトOJ-A3の機能属性は部材寸法である。部材寸法は、寸法線に対応して部材形状の寸法を示す。機能属性が部材寸法のオブジェクトOJ-A3は、上下左右のいずれの方向にかかわらず、配置された位置から移動されてしまうと、本来対応すべきものと異なる寸法線に対応する寸法を示すような状態となって機能を損なう可能性がある。
このため、機能属性が部材寸法のオブジェクトには、移動不可の移動属性が対応付けられる。
【0040】
また、同図におけるオブジェクトOJ-Bの機能属性は高さ標示である。機能属性が高さ標示のオブジェクトは、高さを指し示すものであるため、上下方向に移動した場合には、本来の高さを適切に指し示すことができなくなる可能性がある。一方、機能属性が高さ標示のオブジェクトは、左右方向に移動されたとしても、高さについては適切に指し示すことができる。
このため、機能属性が高さ標示のオブジェクトには、左右移動の移動属性が対応付けられる。
【0041】
また、同図におけるオブジェクトOJ-Cの機能属性は縦断面指定である。つまり、オブジェクトOJ-Cは、当該オブジェクトOJ-Cが示す位置にて部材を縦方向に切断した断面を指定する。このような機能属性が縦断面指定のオブジェクトは、左右方向に移動された場合には正しい切断位置を示さなくなってしまうが、上下方向において移動される限りは、正しい切断位置を示すことができる。
このため、機能属性が縦断面指定のオブジェクトには、上下移動の移動属性が対応付けられる。
【0042】
また、同図におけるオブジェクトOJ-D1、OJ-D2、OJ-D3、OJ-D4の機能属性は部材情報提示である。部材情報提示は、対応の部材の名称、型番、寸法(サイズ)等の部材に関する情報を提示する機能である。このような機能属性が部材情報提示のオブジェクトは、対応の部材から大きく離れた位置に配置されない限り、上下左右のいずれに移動されても機能を果たすことができる。
このため、機能属性が部材情報提示のオブジェクトには、自由移動の移動属性が対応付けられる。
【0043】
また、オブジェクトOJ-D2には、引出線の機能属性であるオブジェクトOJ-Eが付随されている。引出線のオブジェクトOJ-Eは、対応のオブジェクトOJ-D2が移動される場合には、移動されたオブジェクトOJ-D2と部材との位置関係を示すこと可能なように移動される。この際、引出線のオブジェクトOJ-Eは、始点(部材を指し示す側の端部)の位置を固定として、始点から引き出される斜め線について定められた所定の引き出し角度θ(例えば60°)を維持するようにして上下左右に移動可能としてよい。なお、引き出し角度θについては、例えば60°といった所定の1つの値で固定とされてよいし、例えば45°、60°、75°といった複数の選択肢のうちから選択可能とされてもよいし、特に制約されることなく任意の値が設定可能とされてもよい。
【0044】
また、オブジェクトOJ-D5の機能属性は方位指示である。機能属性が方位指示のオブジェクトは、上下左右のいずれに移動されても方位を正しく示すようにして機能を果たすことができる。
このため、機能属性が方位指示のオブジェクトには、自由移動の移動属性が対応付けられる。
【0045】
このようにして、ベクタ形式の2次元図面において配置されたオブジェクトのそれぞれは、機能属性に応じて移動不可、左右移動、上下移動、自由移動のうちのいずれか1つの移動属性を有することになる。
変換部112は、移動属性テーブルを参照してオブジェクトの機能属性に対応する移動属性を特定することにより、オブジェクトごとに移動属性を対応付けることができる。
【0046】
そのうえで、変換部112は、オブジェクトごとに移動属性に応じた色を設定する。
移動属性に応じた色については特に限定されない。一例として、変換部112は、移動不可の移動属性が対応付けられたオブジェクトには緑色を設定し、左右移動の移動属性が対応付けられたオブジェクトにはマゼンタを設定し、上下移動の移動属性が対応付けられたオブジェクトにはシアンを設定し、自由移動の移動属性が対応付けられたオブジェクトには青色を設定するようにされてよい。
【0047】
変換部112が上記の処理を実行することで、ベクタ形式の2次元図面は、配置されるオブジェクトのそれぞれについて移動属性に応じた色が設定されたものとなる。
【0048】
修正アプリケーション部102は、上記のようにオブジェクトに色が設定されたラスタ形式の2次元図面を取得して移動指示情報生成までの処理を実行する。
このため、修正アプリケーション部102における前処理部121は、取得したベクタ形式の2次元図面をラスタ形式の2次元図面に変換するラスタ変換を行う。この際、前処理部121は、前述のように、ベクタ形式の2次元図面においてオブジェクトごとに設定されていた色コードがラスタ形式の2次元図面にも引き継がれるようにしてラスタ変換を行う。
【0049】
次に、オブジェクト検出部122は、前処理部121のラスタ変換により得られたラスタ形式の2次元図面に対するオブジェクト検出として、ラスタ形式の2次元図面におけるオブジェクトの識別と、識別したオブジェクト間での重複についての判定(重複判定)を実行する。
【0050】
図4は、オブジェクト検出部122によるオブジェクト検出結果を示している。同図は、例えばユーザインターフェース部104にて表示されるオブジェクト検出画面によりオブジェクト検出部122によるオブジェクト検出結果を示した例を挙げている。同図は、オブジェクト検出画面の一部を抜き出して示している。
【0051】
同図においては、ラスタ形式の2次元図面においてオブジェクトが識別された領域にてオブジェクトOJA(OJA-1~OJA-7)が配置されている。オブジェクトOJAは、それぞれ、対応のオブジェクトが対応する範囲を示す領域指示枠BXが配置されている。オブジェクト検出部122は、領域指示枠BXに対応する領域を、それぞれ1のオブジェクトとして識別している。
【0052】
また、同図においては、オブジェクトOJAごとに対して、他のオブジェクトとの重複の有無についての判定結果を示すタブTBが付加されている。
「OK」との文字が含まれるタブTBは、対応のオブジェクトOJA-1について他のオブジェクトOJAのいずれとも重複していないとの判定結果が得られていることを示す。
「NG」との文字が含まれるタブTBは、対応のオブジェクトOJAについて、他のオブジェクトOJAと重複しているとの判定結果が得られていることを示す。
【0053】
次に、移動設定部123は、オブジェクト検出部122により検出されたオブジェクトの重複が解消されるように、オブジェクトの移動先を設定する処理を実行する。
本実施形態において、移動設定部123は、以下のオブジェクト選択ルールに従って他のオブジェクトと重複するオブジェクトから移動先設定対象とするオブジェクトを選択する。
以降の説明において、他のオブジェクトと重複し、移動属性が移動不可ではないオブジェクトについては、重複オブジェクトとも記載する場合がある。
【0054】
まず、移動設定部123は、オブジェクト検出部122により検出された重複オブジェクトについて1つずつ順に移動先を設定していく。
この際、移動設定部123は、オブジェクト検出部122により検出された重複オブジェクトのうち、対応の移動属性が示す移動の自由度が低いものから優先して移動先を設定していく。
また、移動設定部123は、移動属性が示す移動の自由度が同等の重複オブジェクトが複数存在する場合には、オブジェクトとしての面積が大きいものから優先して移動先を設定していく。
1つの重複オブジェクトの移動先の設定は、これまでの他の重複オブジェクトについて設定済みの移動先に他の重複オブジェクトが移動されているとした状態のもとで行われる。
【0055】
前述のように、対応のオブジェクトを移動可能な移動属性は、左右移動、上下移動、及び自由移動である。以降において、左右移動及び上下移動について特に区別しない場合には、単方向移動と記載する場合がある。
このような移動可能な移動属性のうちで、単方向移動(左右移動及び上下移動)は、上下方向もしくは左右方向への移動が不可であることから、自由移動よりも移動の自由度が低い。左右移動と上下移動とでは、移動可能な方向は異なるものの、移動の自由度では同等となる。
従って、移動設定部123は、オブジェクト検出部122により検出された重複オブジェクトで、移動属性が単方向移動の重複オブジェクトから移動先を設定していく。この際、移動属性が単方向移動の重複オブジェクトが複数存在する場合には、移動属性が左右移動または上下移動の複数の重複オブジェクトのうちから、サイズの大きいものから優先して順に移動先を設定していく。
移動設定部123は、移動属性が単方向移動の重複オブジェクトの全てについて移動先を設定すると、移動属性が自由移動の重複オブジェクトについて、オブジェクトとしてのサイズが大きいものから順に移動先を設定していく。
【0056】
また、移動設定部123は、上記の順序で重複オブジェクトの移動先の設定するにあたり、個々の重複オブジェクトについては、他のオブジェクトと重複しない位置のうちで、移動距離が最小となる位置を移動先として設定するとの移動先設定ルールに従う。移動距離は、ユークリッド距離が採用されてもよいし、マンハッタン距離が採用されてもよい。
【0057】
図5を参照して、移動先設定ルールに着目した重複オブジェクトの移動先の設定例について説明する。
図5(A)は、ラスタ形式の2次元図面の一部を抜き出して示している。同図のラスタ形式の2次元図面は、画素pxをマトリクス状に配列した画面上において、オブジェクトOJAを配置した態様である。
【0058】
同図においては、ラスタ形式の2次元図面において、2つのオブジェクトOJA-11、OJA-12が配置されている。オブジェクトOJA-11は、5(縦)×9(横)画素によるサイズを有し、オブジェクトOJA-12は、3(縦)×9(横)画素によるサイズを有している。
【0059】
オブジェクトOJA-11とオブジェクトOJA-12とは重複している。ここでは、オブジェクトOJA-11が自由移動の移動属性により移動可能とされていることで、オブジェクトOJA-11を移動させることにより重複を解消する場合を例に挙げる。
【0060】
同図では、移動設定部123は、移動先設定対象のオブジェクト(重複オブジェクト)OJA-11について1つの基準点Pを設定する。同図では、矩形のオブジェクトOJA-11の左上の頂点に対応する1つの画素が対応する位置を基準点Pとしている。同図では、基準点Pの座標を(Xp,Yp)として表している。
【0061】
同図における重複範囲BDは、オブジェクトOJA-12と重複するオブジェクトOJA-11の位置ごとに対応する基準点Pの範囲を示している。オブジェクトOJA-12がオブジェクトOJA-12と重複しないようにするには、重複範囲BDよりも外側の画素pxに基準点Pが移動する必要がある。
移動設定部123は、重複範囲BDより外の画素pxのうちで、同図の位置からの基準点Pの移動距離が最小の画素pxを基準点Pの移動先として特定してよい。
あるいは、図面の可読性に配慮し、オブジェクト間に空白を設けるため、例えば移動距離が最小の画素pxの位置から、さらに予め定めた追加移動距離Paを加えた位置を基準点Pの移動先として特定してもよい。
【0062】
図5(B)は、重複範囲BDより外の画素pxのうちで、
図5(A)の基準点Pの位置からの移動先として、移動距離が最小として特定された画素pxに基準点Pが位置するようにしてオブジェクトOJA-11を移動させた状態を示している。この場合、基準点Pの座標は(Xp,Yp+2)となる。このように移動されたオブジェクトOJA-11は、オブジェクトOJA-12と接しているが重複していない状態である。
【0063】
図6を参照して、移動設定部123による重複オブジェクトの移動先設定手順の一具体例について説明する。
図6(A)は、ラスタ形式の2次元図面についてオブジェクト検出部122がオブジェクト検出を行った結果の一例が示されている。同図においては、5つのオブジェクトOJA-21、OJA-22、OJA-23、OJA-24、OJA-25がそれぞれ他のオブジェクトOJAと重複した状態で配置されている。
この場合のオブジェクト検出部122は、5つのオブジェクトOJA-21、OJA-22、OJA-23、OJA-24、OJA-25のいずれもが他のオブジェクトOJAのうちの1以上のいずれかと重複していることを検出する。
【0064】
移動設定部123は、各オブジェクトOJAに設定されている色に基づき、オブジェクトOJA-21の移動属性は移動不可、オブジェクトOJA-22の移動属性は上下移動、オブジェクトOJA-23の移動属性は左右移動、オブジェクトOJA-24の移動属性は自由移動、オブジェクトOJA-25の移動属性は移動不可であると判定した。
【0065】
この場合において、移動設定部123は、まず、オブジェクト選択ルールに従って、移動可能な移動属性のオブジェクトOJA-22、OJA-23、OJA-24のうちから、オブジェクトOJA-22を、1番目の移動先設定対象として選択する。
つまり、この場合の移動設定部123は、移動可能な移動属性のオブジェクトOJA-22、OJA-23、OJA-24のうちで、移動属性が単方向移動のオブジェクトOJA-22とオブジェクトOJA-23とをまず選択候補とし、移動属性が自由移動のオブジェクトOJA-24は選択候補から除外した。移動設定部123は、選択候補としたオブジェクトOJA-22、OJA-23のうちで、サイズの大きいオブジェクトOJA-22を移動先設定対象として選択した。
【0066】
移動先設定対象とされたオブジェクトOJA-22は、オブジェクトOJA-21、オブジェクトOJA-23及びオブジェクトOJA-25と重複している。この場合、移動設定部123は、オブジェクトOJA-22について、他のオブジェクトOJAとのいずれとも重複しないように移動させることのできる位置の範囲において、オブジェクトOJA-22に設定した基準点Pの移動距離が最小となる位置を移動先オブジェクト位置として特定する。
移動設定部123は、
図6(B)に示すように、上記のように特定した移動先オブジェクト位置にまでオブジェクトOJA-22を移動させる。このようにオブジェクトOJA-22が移動されることで、オブジェクトOJA-22は、オブジェクトOJA-23、OJA-25から離れ、下辺がオブジェクトOJA-21の上辺と接する状態となる。
【0067】
移動設定部123は、上記のようにオブジェクトOJA-22を移動させると、次に、オブジェクトOJA-23を移動先設定対象として選択する。オブジェクトOJA-23は、移動属性が単方向移動で、オブジェクトOJA-22の次にサイズが大きいものとして扱われる重複オブジェクトである。
【0068】
オブジェクトOJA-23は、オブジェクトOJA-21と重複している。オブジェクトOJA-23は、単方向移動として左右移動の移動属性である。そこで、移動設定部123は、
図6(B)のようにオブジェクトOJA-22を移動させた後の状態において、オブジェクトOJA-23を他のオブジェクトOJAのいずれとも重複しないようにして左右方向に移動させることのできる位置の範囲において、基準点Pの移動距離が最小となる位置を移動先オブジェクト位置として特定する。移動設定部123は、移動先オブジェクト位置にオブジェクトOJA-22を移動させる。
図6(C)は、特定された移動先オブジェクト位置に対応させてオブジェクトOJA-23を移動させた状態が示されている。
図6(C)において、オブジェクトOJA-23は、右辺がオブジェクトOJA-21の左辺と接する位置にまで左方向に移動されている。
【0069】
上記のようにオブジェクトOJA-22、OJA-23を移動させたことにより、移動属性が単方向移動の全てのオブジェクトの移動が完了したことになる。この場合、移動可能な移動属性のオブジェクトで未だ移動が完了していない重複オブジェクトは、移動属性が自由移動のオブジェクトOJA-24である。
そこで、移動設定部123は、オブジェクトOJA-24を次の移動対象として選択し、他のオブジェクトOJAとの重複が解消されるように移動させることになる。オブジェクトOJA-24は、オブジェクトOJA-21と重複している。移動設定部123は、
図6(C)のようにオブジェクトOJA-22、OJA-23が移動された状態のもとで、移動属性が自由移動のオブジェクトOJA-23が他のオブジェクトOJAのいずれとも重複しないように移動させることのできる位置の範囲において、基準点Pの移動距離が最小となる位置を移動先オブジェクト位置として特定する。移動設定部123は、特定された移動先オブジェクト位置にオブジェクトOJA-24を移動させる。
図6(D)は、特定された移動先オブジェクト位置に対応させてオブジェクトOJA-24を移動させた状態が示されている。
図6(D)において、オブジェクトOJA-24は、上辺がオブジェクトOJA-21の下辺と接する位置にまで下方向に移動されている。
【0070】
移動設定部123は、
図6(A)から
図6(D)にて説明したようにして対象オブジェクト位置に移動させたオブジェクトOJA-22、OJA-23、OJA-24ごとの移動量ベクトルを求める。前述のように移動量ベクトルは鉛直方向及び水平方向の移動距離から成るものであってよい。この段階において、移動距離は、ラスタ形式の2次元図面に対応して画素位置(画素の座標)、画素数により示される。
【0071】
移動指示情報生成部124は、移動設定部123により求められたオブジェクトOJAの移動量ベクトルにおける移動距離を前述のように画素数による値から寸法による値に変換する。移動指示情報生成部124は、寸法により移動距離が示される移動量ベクトルの情報を示す移動指示情報を生成する。
【0072】
製図アプリケーション部101における移動処理部113は、移動指示情報生成部124が生成した移動指示情報を利用して、対応のベクタ形式の2次元図面におけるオブジェクトを移動させる処理を実行する。これにより、オブジェクトの重複が解消されるように修正されたベクタ形式の2次元図面が得られることになる。
このように修正されたベクタ形式の2次元図面は、例えば印刷により出力して、例えば施工現場において施工作業を行う作業者が使用してよい。このように印刷された2次元図面においてもオブジェクトが重複していないことから、作業者にとっても見やすく、解釈を間違えることなく効率良く作業を行うことができる。
【0073】
[処理手順例]
図7のフローチャートを参照して、図面処理装置100における製図アプリケーション部101が図面次元変換に関連して実行する処理手順例について説明する。
同図の処理は、例えば変換対象の3次元図面を指定して図面次元変換を指示する操作が行われたことをトリガとして実行してよい。
【0074】
ステップS100:製図アプリケーション部101において、変換部112は、記憶部103に記憶されている3次元図面のうちから、図面次元変換の対象として指定された3次元図面を取得する。
ステップS102:変換部112は、ステップS100により取得された3次元図面を、ベクタ形式の2次元図面に変換する。
【0075】
ステップS104:変換部112は、ステップS102により得られたベクタ形式の2次元図面におけるオブジェクトごとの移動属性を判定する。変換部112は、記憶部103が記憶する移動属性テーブルを参照して、オブジェクトに付与されている機能属性に対応付けられている移動属性を特定することで、オブジェクトの移動属性を判定することができる。
ステップS106:変換部112は、ベクタ形式の2次元図面におけるオブジェクトごとに、ステップS104により判定された移動属性に対応付けられた色コードによる色を設定する。
【0076】
ステップS108:変換部112は、ステップS106によりオブジェクトごとに色が設定されたベクタ形式の2次元図面を記憶部103に記憶させる。
【0077】
図8のフローチャートを参照して、図面処理装置100における修正アプリケーション部102と製図アプリケーション部101とが、ベクタ形式の2次元図面の重複修正に関連して実行する処理手順例について説明する。
同図の処理は、修正対象のベクタ形式の2次元図面を指定して重複修正の実行を指示する操作が行われたことに応じて実行されてよい。あるいは、同図の処理は、
図7の処理に続けて、ステップS108により記憶されたベクタ形式の2次元図面を修正対象として実行されてよい。
【0078】
まず、修正アプリケーション部102の処理について説明する。
ステップS200:図面処理装置100における修正アプリケーション部102において、前処理部121は、修正対象として指定されたベクタ形式の2次元図面を記憶部103から取得する。
ステップS202:前処理部121は、ステップS200により取得されたベクタ形式の2次元図面をラスタ形式の2次元図面に変換する。
【0079】
ステップS204:オブジェクト検出部122は、ステップS202により得られたラスタ形式の2次元図面を対象としてオブジェクト検出を実行する。オブジェクト検出は、前述のように、ラスタ形式の2次元図面におけるオブジェクトの識別と、識別したオブジェクトについての重複判定とを含む。また、オブジェクト検出は、オブジェクトに設定された色に基づく移動属性の判定を含む。
【0080】
ステップS206:移動設定部123は、ステップS204によるオブジェクト検出により判定されたオブジェクトの重複が解消されるように、オブジェクトの移動先を設定する処理を実行する。
【0081】
ステップS208:移動指示情報生成部124は、ステップS206によるオブジェクトについての移動先の設定結果に基づいて、各重複オブジェクトについて、移動前オブジェクト位置から移動先の位置(移動先オブジェクト位置)までの移動量ベクトルを算出する。前述のように、移動量ベクトルは移動方向と移動距離とを含む。移動指示情報生成部124は、移動量ベクトルとして、重複オブジェクトに設定した基準点Pの移動方向と移動距離を算出するようにしてよい。
移動指示情報生成部124は、前述のように、画素位置により示される移動先オブジェクト位置と画素数による移動距離とについて、それぞれ、ベクタ形式の2次元図面において用いられる寸法に基づく値に換算する。
【0082】
ステップS210:移動指示情報生成部124は、ステップS208により算出された移動対象のオブジェクトごとの移動を指示する移動指示情報を生成する。
ステップS212:移動指示情報生成部124は、製図アプリケーション部101に対して、修正対象のベクタ形式の2次元図面の修正を指示する。移動指示情報生成部124は、修正の指示にあたり、ステップS210により生成した移動指示情報を製図アプリケーション部101に渡すようにされる。
【0083】
次に、製図アプリケーション部101が実行する処理手順例について説明する。
ステップS300:製図アプリケーション部101において、移動処理部113は、ステップS212による修正アプリケーション部102からの修正指示とともに渡された移動指示情報を取得する。
ステップS302:移動処理部113は、ステップS212により取得した移動指示情報を利用して、修正対象のベクタ形式の2次元図面におけるオブジェクトを移動させる処理を実行する。つまり、移動処理部113は、記憶部103に記憶されている修正対象のベクタ形式の2次元図面を読み出す。移動処理部113は、移動指示情報において示される移動先オブジェクト位置により、記憶部103から読み出したベクタ形式の2次元図面において配置されるオブジェクトのうちから移動対象のオブジェクトを特定し、特定した移動対象のオブジェクトについて、対応の移動量ベクトルに従って移動させる処理を実行する。当該ステップS302の処理により、修正対象のベクタ形式の2次元図面について、オブジェクトの重複が解消されるように修正が行われる。
ステップS304:移動処理部113は、ステップS302により修正したベクタ形式の2次元図面を記憶部103に記憶させる。この際、移動処理部113は、ステップS302により修正したベクタ形式の2次元図面を、修正前のベクタ形式の2次元図面とは別のデータとして記憶部103に記憶させてもよいし、修正前のベクタ形式の2次元図面に上書きするようにして記憶させてもよい。
【0084】
図9のフローチャートを参照して、
図8のステップS206としての移動先設定処理としての処理手順例について説明する。
ステップS400:移動設定部123は、
図8のステップS204によるオブジェクトの重複判定と移動属性判定の結果と、これまでのステップS404~S408の処理結果に基づいて、移動属性が単方向移動であって移動先が未設定の重複オブジェクトの有無を確認する。
ステップS402:移動設定部123は、ステップS400の確認結果に基づき、移動属性が単方向移動で移動先が未設定の重複オブジェクトが有るか否かを判定する。
ステップS404:移動属性が単方向移動で移動先が未設定の重複オブジェクトが有ると判定された場合、移動設定部123は、移動属性が単方向移動で移動先が未設定の重複オブジェクトのうちから、最も大きいサイズの重複オブジェクトを移動先設定の対象オブジェクトとして選択する。
ステップS406:移動設定部123は、ステップS404により選択された対象オブジェクトについて、
図6にて説明したように、移動先オブジェクト位置を特定する。
ステップS408:移動設定部123は、ステップS406により特定された位置に対象オブジェクトを移動させる。
上記のステップS406及びステップS408の処理により、移動属性が単方向移動の対象オブジェクトの1つを対象として移動先の設定が行われたことになる。
ステップS408の処理の後は、ステップS400に処理が戻される。
【0085】
ステップS410:移動属性が単方向移動の重複オブジェクトの全てについて移動先の設定が完了すると、ステップS402にて移動属性が単方向移動で移動先が未設定の重複オブジェクトは無いとの判定が得られる。この場合、移動設定部123は、
図8のステップS204によるオブジェクトの重複判定と移動属性判定の結果と、これまでのステップS414~S418の処理結果に基づいて、移動属性が自由移動であって移動先が未設定の重複オブジェクトの有無を確認する。
ステップS412:移動設定部123は、ステップS410の確認結果に基づき、移動属性が自由移動で移動先が未設定の重複オブジェクトが有るか否かを判定する。
ステップS414:移動属性が自由移動で移動先が未設定の重複オブジェクトが有ると判定された場合、移動設定部123は、移動属性が自由移動で移動先が未設定の重複オブジェクトのうちから、最も大きいサイズの重複オブジェクトを対象オブジェクトとして選択する。
ステップS416:移動設定部123は、ステップS414により選択された対象オブジェクトについて、
図6にて説明したように、移動先オブジェクト位置を特定する。
ステップS418:移動設定部123は、ステップS416により特定された位置に対象オブジェクトを移動させる。
上記ステップS416及びステップS418の処理により、移動属性が自由移動の対象オブジェクトの1つを対象として移動先の設定が行われたことになる。
ステップS418の処理の後は、ステップS410に処理が戻される。
そして、移動属性が自由移動の重複オブジェクトの全てについて移動先の設定が完了すると、ステップS412にて、移動属性が自由移動で移動先が未設定の重複オブジェクトは無いと判定される。この場合、同図の処理を終了して、
図8のステップS208の処理が実行される。
【0086】
図10は、2次元図面における重複修正の一具体例を示している。
図10(A)は、重複修正前の2次元図面を示し、
図10(B)は、重複修正後の2次元図面を示す。
図10(A)の重複修正前の状態においては、部材情報提示のオブジェクトOJA-31が、寸法線のオブジェクトOJA-33及び引出線のオブジェクトOJA-34と重複している状態にある。部材情報提示のオブジェクトOJA-31には、対応の引出線のオブジェクトOJA-32が付随している。オブジェクトOJA-31は、機能属性が部材情報提示であることから、移動属性は自由移動である。
【0087】
重複修正後の状態を示す
図10(B)において、部材情報提示のオブジェクトOJA-31は、左右方向においては寸法線のオブジェクトOJA-33に重複しないように右側に移動し、上下方向においては所定の移動量により上方向に移動した位置に再配置されている。
部材情報提示のオブジェクトOJA-31には引出線のオブジェクトOJA-32が付随されている。引出線のオブジェクトOJA-32は、始点と斜め線の引き出し角度とが維持されるようにして移動可能とされている。
同図の例では、部材情報提示のオブジェクトOJA-31が他のオブジェクトと重複しない状態となるまで、斜め線を延長し、延長された斜め線から横線部分が引き出された状態となるようにして、引出線のオブジェクトOJA-32の移動(再配置)が行われている。部材情報提示のオブジェクトOJA-31は、このように再配置された引出線のオブジェクトOJA-32の横線部分に対応して配置されるようにして移動が行われている。
【0088】
図11は、2次元図面における重複修正の他の一具体例を示している。
図11(A)は、重複修正前の2次元図面を示し、
図11(B)は、重複修正後の2次元図面を示す。
図11(A)の重複修正前の状態においては、部材情報提示のオブジェクトOJA-41が、部材形状のオブジェクトOJA-44より上の領域において、寸法線のオブジェクトOJA-43と重複している状態にある。部材情報提示のオブジェクトOJA-41には、対応の引出線のオブジェクトOJA-42が付随している。
【0089】
重複修正後において、部材情報提示のオブジェクトOJA-41は、
図11(B)に示されるように、部材形状のオブジェクトOJA-44の下側に移動されている。このような部材形状のオブジェクトOJA-44の移動に伴い、部材形状のオブジェクトOJA-44に付随する引出線のオブジェクトOJA-42は、始点は固定されたうえで、
図11(A)の重複修正前の位置状態に対して始点を通過する水平線に対して対称となるように反転された状態で移動(再配置)されている。
【0090】
図12は、2次元図面における重複修正の他の一具体例を示している。
図12(A)は、重複修正前の2次元図面を示し、
図12(B)は、重複修正後の2次元図面を示す。
図12(A)の重複修正前の状態においては、部材情報提示のオブジェクトOJA-51が、縦断面指定のオブジェクトOJA-53と重複している。部材情報提示のオブジェクトOJA-51には、引出線のオブジェクトOJA-51が付随する。
また、
図12(A)の重複修正前の状態においては、それぞれ縦断面指定のオブジェクトOJA-55、OJA-56が重複している。
【0091】
重複修正後において、部材情報提示の機能属性であるオブジェクトOJA-51は、
図12(B)に示されるように、オブジェクトOJA-53の下側に移動するようにして配置されている。この場合、移動後のオブジェクトOJA-53の上下方向における位置は、オブジェクトOJA-53に重複しない高さのうちで
図12(A)の高さからの移動距離が最小となる高さに対応する。
この際、オブジェクトOJA-51の高さを低い方に移動させていくのに伴い、オブジェクトOJA-51に付随する引出線のオブジェクトOJA-52は、始点の位置と斜め線の角度を保ったうえで短くなっていくことから、オブジェクトOJA-52の横線は、左右方向において徐々に左に移動していく。オブジェクトOJA-51は、横線に対応して配置される、このため、
図12(B)に示されるオブジェクトOJA-51の左右方向における位置は、
図12(A)に示される移動前の状態から左に移動していることになる。
【0092】
また、重複修正後において、縦断面指定のオブジェクトOJA-55は、
図12(A)から
図12(B)の変化として示すように、上方向に移動することでオブジェクトOJA-56との重複を解消している。
【0093】
<第2実施形態>
続いて、第2実施形態について説明する。先の第1実施形態では、製図アプリケーション部101の変換部112は、ベクタ形式の2次元図面におけるオブジェクトについて、移動属性ごとに特定の1の色を設定するようにされていた。
これに対して、本実施形態の変換部112は、移動属性ごとに特定の1の色を対応させるのではなく、移動属性ごとに、それぞれ異なる色範囲を対応付けたうえで、対応付けられた色範囲において、オブジェクトごとに異なる色を設定する。
【0094】
具体例として、本実施形態の変換部112は、
図13に示すように、オブジェクトに設定可能な色範囲を、移動属性(移動不可、左右移動、上下移動、自由移動)ごとに対応する複数の色範囲区分PT(第1色範囲区分PT-1~第4色範囲区分PT-4)に区分する。そのうえで、変換部112は、1の色範囲区分PTにおいて、対応の移動属性を有するオブジェクトごとに異なる色を設定する。
例えば、移動不可の移動属性を有するオブジェクトについては、第1色範囲区分PT-1に含まれる色コードのうちからそれぞれ異なる色コードが設定される。
【0095】
このようにベクタ形式の2次元図面においてオブジェクトごとに設定された色コードは、ラスタ変換によって得られたラスタ形式の2次元図面においても維持されることになる。
例えば、ラスタ形式の2次元図面において同じ移動属性のオブジェクトが多数重複しているような状態の場合に、これらの同じ移動属性のオブジェクトの色が同じであると、オブジェクト検出部122によるオブジェクト検出において、適正にオブジェクトを認識できないエラーが発生する確率が高くなる。
そこで、本実施形態のように、同じ移動属性のオブジェクトであっても異なる色コードを設定することで、オブジェクト検出部122は、オブジェクトごとに設定された色コードを用いて、重複した状態のオブジェクトを分離して検出することが可能となる。これにより、オブジェクトの認識におけるエラーの発生を抑えることが可能となる。
【0096】
なお、同じ移動属性のオブジェクトに設定する色は、人によっては色の違いが明確に視認できない程度の色範囲における色コードを用いるようにされてよい。具体的には、視覚的には、移動不可の移動属性が対応付けられたオブジェクトは緑色、左右移動の移動属性が対応付けられたオブジェクトはマゼンタ、上下移動の移動属性が対応付けられたオブジェクトはシアン、自由移動の移動属性が対応付けられたオブジェクトは青色に見えるが、実際に各移動属性のもとでオブジェクトごとに設定された色コードは異なるように設定してよい。
例えば施工現場において修正後のベクタ形式の2次元図面の印刷物として、白黒ではなくカラーによるものを用いて作業する場合には、オブジェクトに設定された色も反映されるように印刷してよい。この場合において、上記のように同じ移動属性のオブジェクトには視覚的にはほぼ同色に見えるが異なる色コードが設定されていれば、作業者にとっては、印刷された2次元図面において移動属性ごとにオブジェクトが色分けされて見える。移動属性自体は作業者の施工とは直接に関係しないものの、移動属性は、1以上の特定の機能属性に対応している。このため、作業者は、印刷された2次元図面におけるオブジェクトの色分けにより、オブジェクトについての機能を大まかにではあるが判断できる。
【0097】
<第3実施形態>
続いて、第3実施形態について説明する。ベクタ形式の2次元図面からラスタ変換により得られたままのラスタ形式の2次元図面は、例えば用紙サイズとしてはA2サイズあるいはA3サイズといったように相当に大きいものとなる。このようなサイズの大きなラスタ形式の2次元図面について、そのまま修正アプリケーション部102が前処理、オブジェクト検出、移動先設定等の処理を行った場合には、処理負荷が相当に重くなったり、図の解像度の低下によりオブジェクト検出の精度が低下する場合がある。
【0098】
そこで、本実施形態の変換部112は、修正対象となるベクタ形式の2次元図面について分割するようにしてよい。具体的に、変換部112は、例えばベクタ形式の2次元図面について、上下と左右とをそれぞれ2等分する分割線により4つに分割してよい。なお、ベクタ形式の2次元図面の分割数については特に限定されない。
以降における修正アプリケーション部102による処理は、分割されたベクタ形式の2次元図面を対象として実行するようにされてよい。これにより、修正アプリケーション部102における処理負荷の軽減が図られる。
【0099】
ただし、上記のようにベクタ形式の2次元図面について単純に上下と左右とでそれぞれ2等分するようにして4分割した場合には、特に分割線とオブジェクトの配置との関係を考慮していないので、分割により切断されるオブジェクトが生じる場合がある。切断されたオブジェクトについては、オブジェクト検出によりオブジェクトであると正しく認識されない場合がある。
そこで、変換部112は、ベクタ形式の2次元図面においてオブジェクトが切断されないようにして分割線を設定し、設定した分割線に沿うようにベクタ形式の2次元図面を分割してよい。
【0100】
図14は、本実施形態における分割線の設定例を示している。同図においてはベクタ形式の2次元図面PICの全体が示されている。2次元図面PICにおいては、例えばオブジェクトが集合して配置されたことで形成される4つのオブジェクト群エリアAR-1、AR-2、AR-3、AR-4が存在している。ベクタ形式の2次元図面PICにおいて、オブジェクト群エリアAR-1、AR-2、AR-3、AR-4以外の領域にはオブジェクトは配置されていない。この場合、変換部112は、2次元図面PICにおいてオブジェクトが配置されていない領域に対して、同図に示すように分割線DVを設定し、分割線DVに沿って分割する。このように分割が行われれば、オブジェクトが切断されないようにすることができる。
【0101】
なお、上記各実施形態において、変換部112としての機能を、修正アプリケーション部102が備えるように構成されてよい。
【0102】
なお、移動処理部113としての機能を修正アプリケーション部102が備えるように構成されてよい。この場合、修正アプリケーション部102においては、前処理部121のラスタ変換によって得られたラスタ形式の2次元図面を、可逆的にベクタ形式に変換するようにされてよい。修正アプリケーション部102において、移動処理部113は、変換により得られたベクタ形式の2次元図面を対象として、移動指示情報生成部124が生成した移動指示情報を利用してオブジェクトを移動させる処理を行ってよい。
【0103】
なお、製図アプリケーション部101に修正アプリケーション部102の構成が含まれるようにしてよい。つまり、製図アプリケーションが修正アプリケーションの機能を有するように構成されてよい。
【0104】
なお、上述の図面処理装置100としての機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより上述の図面処理装置100としての処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。
【0105】
2015年9月の国連サミットにおいて採択された17の国際目標として「持続可能な開発目標(Sustainable Development Goals:SDGs)」がある。本実施形態に係る図面処理装置100は、このSDGsの17の目標のうち、例えば「9.産業と技術革新の基盤をつくろう」の目標などの達成に貢献し得る。
【符号の説明】
【0106】
100 図面処理装置、101 製図アプリケーション部、102 修正アプリケーション部、103 記憶部、104 ユーザインターフェース部、111 製図処理部、112 変換部、113 移動処理部、121 前処理部、122 オブジェクト検出部、123 移動設定部、124 移動指示情報生成部