(57)【要約】【課題】図面要素間の干渉の修正を適切に支援すること。【解決手段】図面修正支援プログラムは、コンピュータに、二次元図面記憶手段に記憶された二次元図面データの図面領域を単位領域に分割し、単位領域ごとに位置情報を記憶手段に記録する図面領域分割手順と、前記図面領域に含まれる図面要素ごとに、当該図面要素の配置情報と前記単位領域との位置情報とに基づいて前記単位領域を割り当て、割り当てられた前記単位領域との関連付け情報を前記記憶手段に記録する単位領域割り当て手順と、割り当てられた前記単位領域の重複の有無に基づいて、前記図面要素間の干渉の有無を判定する判定手順とを実行させる。【選択図】図２
2011043934.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
二次元図面記憶手段に記憶された二次元図面データの図面領域を単位領域に分割し、単位領域ごとに位置情報を記憶手段に記録する図面領域分割手順と、
前記図面領域に含まれる図面要素ごとに、当該図面要素の配置情報と前記単位領域との位置情報とに基づいて前記単位領域を割り当て、割り当てられた前記単位領域との関連付け情報を前記記憶手段に記録する単位領域割り当て手順と、
割り当てられた前記単位領域の重複の有無に基づいて、前記図面要素間の干渉の有無を判定する判定手順とを実行させるための図面修正支援プログラム。
【請求項２】
前記コンピュータに、
前記判定手順において前記干渉が有ると判定された場合に、該干渉に係る前記図面要素の種別に応じた処理により該干渉を解消させる修正手順を実行させるための請求項１記載の図面修正支援プログラム。
【請求項３】
前記修正手順は、該干渉に係る一方の前記図面要素を、前記図面領域において該図面要素を配置可能な空き領域に移動させる請求項２記載の図面修正支援プログラム。
【請求項４】
前記修正手順は、該干渉に係る前記図面要素が寸法値又は寸法線である場合は、前記寸法値又は寸法線の配置方向と、寸法補助線の引き出し点との位置関係に基づいて、前記寸法値又は寸法線の移動方向を決定する請求項３記載の図面修正支援プログラム。
【請求項５】
前記修正手順は、寸法補助線同士が干渉する場合は、一方の寸法補助線について、干渉する部分を削除する請求項３又は４記載の図面修正支援プログラム。
【請求項６】
二次元図面記憶手段に記憶された二次元図面データの図面領域を単位領域に分割し、単位領域ごとに位置情報を記憶手段に記録する図面領域分割手段と、
前記図面領域に含まれる図面要素ごとに、当該図面要素の配置情報と前記単位領域との位置情報とに基づいて前記単位領域を割り当て、割り当てられた前記単位領域との関連付け情報を前記記憶手段に記録する単位領域割り当て手段と、
割り当てられた前記単位領域の重複の有無に基づいて、前記図面要素間の干渉の有無を判定する判定手段とを有する図面修正支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、図面修正支援プログラム及び図面修正支援装置に関し、特に図面データにおける要素間の干渉の修正を支援する図面修正支援プログラム及び図面修正支援装置に関する。
【背景技術】
【０００２】
従来、三次元ＣＡＤシステムの中には、三次元ＣＡＤデータを二次元ＣＡＤデータに変換する機能を有するものがある。この場合、二次元ＣＡＤデータには、寸法要素（寸法値、寸法線、寸法補助線）が自動的に配置される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第２９６６４４１号公報
【特許文献２】特開平５−６１９２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、自動的に配置された寸法要素の体裁は必ずしもそのままの利用に適したものではなく、或る程度の修正が必要とされる場合が有る。具体的には、寸法要素が他の寸法要素又は図面要素と重複（干渉）している場合が有る。また、他の図面要素についても、二次元ＣＡＤデータに変換された結果、干渉が発生している場合がある。
【０００５】
斯かる干渉について、人間の手作業による修正では、修正漏れが発生する可能性がある。また、作業効率が悪いという問題もある。
【０００６】
本発明は、上記の点に鑑みてなされたものであって、図面要素間の干渉の修正を適切に支援することができる図面修正支援プログラム及び図面修正支援装置の提供を目的とする。
【課題を解決するための手段】
【０００７】
そこで上記課題を解決するため、図面修正支援プログラムは、コンピュータに、二次元図面記憶手段に記憶された二次元図面データの図面領域を単位領域に分割し、単位領域ごとに位置情報を記憶手段に記録する図面領域分割手順と、前記図面領域に含まれる図面要素ごとに、当該図面要素の配置情報と前記単位領域との位置情報とに基づいて前記単位領域を割り当て、割り当てられた前記単位領域との関連付け情報を前記記憶手段に記録する単位領域割り当て手順と、割り当てられた前記単位領域の重複の有無に基づいて、前記図面要素間の干渉の有無を判定する判定手順とを実行させる。
【発明の効果】
【０００８】
開示されたプログラム又は装置によれば、図面要素間の干渉の修正を適切に支援することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態における図面修正支援装置のハードウェア構成例を示す図である。
【図２】本発明の実施の形態における図面修正支援装置の機能構成例を示す図である。
【図３】図面修正支援装置が実行する処理手順を説明するためのフローチャートである。
【図４】本実施の形態における図面データのデータ構造の例を示す図である。
【図５】図面データの表示例を示す図である。
【図６】各図面要素の属性情報の例を示す図である。
【図７】一組の寸法要素の例を示す図である。
【図８】寸法要素のグループの例を示す図である。
【図９】図面領域が単位領域に分割された様子を示す図である。
【図１０】図面枠領域及び表題への単位領域の割り当て処理の処理手順を説明するためのフローチャートである。
【図１１】ビューへの単位領域の割り当て処理の処理手順を説明するためのフローチャートである。
【図１２】寸法要素及び注記への単位領域の割り当て処理の処理手順を説明するためのフローチャートである。
【図１３】寸法値に対する単位領域の番地の割り当てを説明するための図である。
【図１４】寸法線に対する単位領域の番地の割り当てを説明するための図である。
【図１５】寸法補助線に対する単位領域の番地の割り当てを説明するための図である。
【図１６】図面要素の干渉判定処理及び配置位置修正処理の処理手順を説明するためのフローチャートである。
【図１７】単位領域の番地に基づく図面要素の干渉の有無の判定方法を説明するための図である。
【図１８】干渉する図面要素の組み合わせに応じて実行される修正処理を示す図である。
【図１９】修正処理１の処理手順を説明するためのフローチャートである。
【図２０】次ページにコピーされたビューと次ページに移動された寸法要素との例を示す図である。
【図２１】修正処理３の処理手順を説明するためのフローチャートである。
【図２２】対象図形に対する相対的な配置位置を説明するための図である。
【図２３】寸法値の基準点と寸法補助線の引き出し点との関係を示す図である。
【図２４】寸法値の基準点と引き出し点との比較に基づく対象図形に対する対象寸法要素の相対的な配置位置の判定内容を示す図である。
【図２５】寸法値同士の干渉の修正例を示す図である。
【図２６】寸法値と寸法線との干渉の修正例を示す図である。
【図２７】寸法線と寸法線との干渉の修正例を示す図である。
【図２８】修正処理４の処理手順を説明するためのフローチャートである。
【図２９】寸法線と寸法補助線との干渉の修正例を示す図である。
【図３０】修正処理５の処理手順を説明するためのフローチャートである。
【図３１】寸法補助線同士の干渉の修正例を示す図である。
【図３２】注記に関する干渉の例を示す図である。
【図３３】修正処理６の処理手順を説明するためのフローチャートである。
【図３４】修正処理７の処理手順を説明するためのフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における図面修正支援装置のハードウェア構成例を示す図である。図１の図面修正支援装置１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、ＣＰＵ１０４と、表示装置１０６と、入力装置１０７とを有する。
【００１１】
図面修正支援装置１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。但し、プログラムのインストールは必ずしも記録媒体１０１より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
【００１２】
メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。ＣＰＵ１０４は、メモリ装置１０３に格納されたプログラムに従って図面修正支援装置１０に係る機能を実現する。表示装置１０６はプログラムによるＧＵＩ（Graphical User Interface）等を表示する。入力装置１０７はキーボード及びマウス等であり、様々な操作指示を入力させるために用いられる。
【００１３】
図２は、本発明の実施の形態における図面修正支援装置の機能構成例を示す図である。同図において、図面修正支援装置１０は、図面データ取得部１１、図面領域分割部１２、単位領域割り当て部１３、干渉判定部１４、配置位置修正部１５、及び図面ＤＢ１６等を有する。これら各部は、図面修正支援装置１０にインストールされたプログラムが、ＣＰＵ１０４に実行させる処理により実現される。
【００１４】
図面データ取得部１１は、処理対象（修正対象）とする図面データ（２次元ＣＡＤデータ）を図面ＤＢ１６より取得し（読み出し）、処理対象としてメモリ装置１０３上に展開する。図面ＤＢ１６は、例えば、補助記憶装置１０２を用いて図面データを管理するデータベースである。本実施の形態において、図面ＤＢ１６に登録されている図面データは、３次元ＣＡＤシステムによって、３次元ＣＡＤデータより自動的に変換されたものである。但し、本実施の形態を適用可能な図面データは、３次元ＣＡＤデータより自動変換されたものに限られない。通常の２次元ＣＡＤシステムにおいて対話的に生成された図面データであってもよい。対話的に生成される場合であっても、作業者の習熟度によっては、図面要素間に干渉が発生するような作図が行われる可能性も有るからである。
【００１５】
図面要素とは、図面上に配置されるあらゆる要素をいう。したがって、図面によって表現される物体の形状自体を表現する図形のみならず、図面枠領域、表題、注記、寸法要素（寸法値、寸法線、及び寸法補助線）等も図面要素に含まれる。
【００１６】
図面領域分割部１２は、処理対象とされた図面データによって示される図面領域をメッシュ状又は格子状に分割する。分割によって、図面領域内に複数の単位領域が仮想的に形成される。
【００１７】
単位領域割り当て部１３は、処理対象とされた図面データ（図面）に含まれる図面要素ごとに、当該図面要素の領域の少なくとも一部が重複する単位領域を当該図面要素に割り当てる（関連付ける）。
【００１８】
干渉判定部１４は、単位領域の重複の有無に基づいて図面要素間の干渉（重複）の有無を判定する。すなわち、二つの図面要素に対して同一の図面要素が割り当てられている場合、当該二つの図面要素は干渉すると判定される。
【００１９】
配置位置修正部１５は、干渉すると判定された図面要素について、図面上の配置位置を修正する。配置位置修正部１５は、干渉する図面要素の種別に応じた処理によって配置位置の修正を行う。
【００２０】
なお、図面ＤＢ１６は、必ずしも図面修正支援装置１０が有していなくてもよい。例えば、図面修正支援装置１０とネットワークを介して接続されるコンピュータ又は記憶装置が有していてもよい。
【００２１】
以下、図１の図面修正支援装置の処理手順について説明する。図３は、図面修正支援装置が実行する処理手順を説明するためのフローチャートである。
【００２２】
例えば、図面ＤＢ１６に登録されている図面データの一覧の中から、処理対象（修正対象）の図面データがユーザによって選択されると、図面データ取得部１１は、選択された図面データを図面ＤＢ１６より取得し、メモリ装置１０３上に展開する（Ｓ１１０）。メモリ装置１０３上に展開された図面データが以下において処理対象とされる。
【００２３】
図４は、本実施の形態における図面データのデータ構造の例を示す図である。同図に示されるように、一つの図面データは、一つ以上のページを含む。ページとは、１枚の図面を表現する図面要素である。一つのページは、一つ以上のビュー、図面枠領域、及び表題、等を含む。ビューは、図面によって表現される物体を特定の方向から見た図ごとに定義される図面要素である。したがって、正面図及び側面図が一つずつ描画されたページは、二つのビューを含む。一つのビューは、一つ以上の図形、寸法要素、及び注記等を含む。図形は、物体の形状を示す図面要素である。寸法要素は、寸法値、寸法線、又は寸法補助線を示す図面要素である。注記は、任意に記載される説明事項等である。
【００２４】
図面枠領域、表題、及びビューについてより明確にするために、図面データの表示例を示す。
【００２５】
図５は、図面データの表示例を示す図である。同図には、図面データの一ページの表示例が示されている。図中において、符号Ａ１によって示される矩形領域は、当該ページの図面領域（図面の範囲）である。符号Ｆ１によって示される矩形は、枠線である。図面領域Ａ１において枠線Ｆ１の外側の図面領域は、図面要素の一つである図面枠領域である。符号Ｔ１で示される矩形領域は、図面要素の一つである表題である。
【００２６】
また、当該ページには、上面図が描画されたビューＶ１、正面図が描画されたビューＶ２、側面図が描画されたビューＶ３が含まれている。なお、ステップＳ１１０において、図面データは表示されてもよいし、表示されなくてもよい。
【００２７】
また、各図面要素は、図６に示されるような属性情報を有する。図６は、各図面要素の属性情報の例を示す図である。
【００２８】
ページは、属性情報として図面領域範囲を有する。図面領域範囲は、図面領域の範囲を示す座標情報（例えば、四つの頂点又は二つの対角点の座標値）である。
【００２９】
ビューは、配置基準位置及び配置範囲等を属性情報として有する。配置基準位置は、ビュー基準点（例えば、ビューの左下頂点）の図面領域上の座標値である。配置範囲は、ビューの領域の範囲を示すサイズ情報（例えば、高さ及び幅）である。
【００３０】
図面枠領域は、配置基準位置及び配置範囲等を属性情報として有する。配置基準位置は、枠線の基準点（例えば、枠線の左下頂点）の図面領域上の座標値である。配置範囲は、枠線の範囲を示すサイズ情報である。
【００３１】
表題は、配置基準位置、配置範囲、及び表題文字列等を属性情報として有する。配置基準位置は、表題の基準点（例えば、表題の左下頂点）の図面領域上の座標値である。配置範囲は、表題の範囲を示すサイズ情報である。表題文字列は、表題の文字列である。
【００３２】
注記は、注記文字列、配置基準位置、及び配置範囲等を属性情報として有する。注記文字列は、注記の文字列である。配置基準位置は、注記文字列を囲む矩形領域（以下、「注記領域」という。）の基準点（例えば、注記の左下頂点）の図面領域上の座標値である。配置範囲は、注記領域の範囲を示すサイズ情報である。
【００３３】
寸法値は、寸法値文字列、配置基準位置、配置範囲等、同一組に含まれる寸法線及び寸法補助線の要素ＩＤ、並びに同一グループに含まれる寸法値、寸法線、及び寸法補助線の要素ＩＤ等を属性情報として有する。同一組に含まれる寸法線及び寸法補助線の要素ＩＤは、当該寸法値に付随する寸法線及び寸法補助線の要素ＩＤである。すなわち、寸法値、寸法線、及び寸法補助線等の寸法要素は、それぞれ単独で配置されることはなく、通常は、図７に示されるように、１つの寸法値、１本の寸法線、及び２本の寸法補助線によって一つの組を形成する。同一組に含まれる寸法線及び寸法補助線の要素ＩＤは、当該組を判別するための属性情報である。なお、図６においては省略されているが、各図面要素は、それぞれを識別するためのＩＤを属性情報として有する。本実施の形態では、当該ＩＤを要素ＩＤという。
【００３４】
寸法値文字列は、寸法値の文字列である。配置基準位置は、寸法値文字列を囲む矩形領域（以下、「寸法値領域」という。図７参照）の基準点（例えば、寸法値領域の左下頂点）の図面領域上の座標値である。配置範囲は、寸法値領域の範囲を示すサイズ情報である。
【００３５】
同一グループに含まれる寸法値、寸法線、及び寸法補助線の要素ＩＤは、当該寸法値と一つのグループを形成する各寸法要素の要素ＩＤである。寸法要素のグループとは、一組を超える寸法要素が一体的に扱われる単位をいう。
【００３６】
図８は、寸法要素のグループの例を示す図である。同図に示されるようなケースでは、２つの寸法値、２本の寸法線、及び３本の寸法補助線が一体的に扱われる必要がある。このよう関係にある寸法要素はグループ化され、各寸法要素の属性情報において、他の寸法要素の要素ＩＤが設定される。同一グループに含まれる寸法値、寸法線、及び寸法補助線の要素ＩＤは、斯かるグループ化のための属性情報である。
【００３７】
寸法線は、配置基準位置、配置範囲等、同一組に含まれる寸法値及び寸法補助線の要素ＩＤ、並びに同一グループに含まれる寸法値、寸法線、及び寸法補助線の要素ＩＤ等を属性情報として有する。配置基準位置は、寸法線を囲む矩形領域（以下、「寸法線領域」という。図７参照）の基準点（例えば、寸法線領域の左下頂点）の図面領域上の座標値である。配置範囲は、寸法線領域の範囲を示すサイズ情報である。同一組及び同一グループに関する属性情報については、寸法値の属性情報に関する説明より自明であるため、その説明は省略する。
【００３８】
寸法補助線は、配置基準位置、配置範囲等、同一組に含まれる寸法値、寸法線及び寸法補助線の要素ＩＤ、並びに同一グループに含まれる寸法値、寸法線、及び寸法補助線の要素ＩＤ等を属性情報として有する。配置基準位置は、寸法補助線を含む矩形領域（以下、「寸法補助線領域」という。図７参照）の基準点（例えば、寸法補助線の引き出し点）の図面領域上の座標値である。配置範囲は、寸法補助線領域の範囲を示すサイズ情報である。同一組及び同一グループに関する属性情報については、寸法値の属性情報に関する説明より自明であるため、その説明は省略する。なお、１本の寸法補助線によって１つの図面要素を形成する。
【００３９】
続いて、図面データ取得部１１は、処理対象とされた図面データ（以下、「カレント図面データ」という。）の１ページ目を処理対象（以下、「カレントページ」という。）とする（Ｓ１２０）。続いて、図面領域分割部１２は、カレントページの図面領域を、カレントページの図面領域範囲に基づいて単位領域に分割する（Ｓ１３０）。
【００４０】
図９は、図面領域が単位領域に分割された様子を示す図である。図９中、図５と同一部分には同一符号を付している。同図において、最小単位の矩形が単位領域である。図面領域分割部１２は、生成された各単位領域に対して位置情報（識別情報）を付与する。本実施の形態において、当該位置情報は、図面領域Ａ１の左下を基準とする番地によって表現される。番地は、（列番号、行番号）の形式で表記される。
【００４１】
単位領域のサイズ（辺の長さ等）は、設定ファイル等において編集可能としてもよいし、固定的に決定されていてもよい。単位領域のサイズは、各種の図面要素が複数の単位領域に跨る程度のものであることが望ましい。本実施の形態において、単位領域の形状は矩形である。但し、単位領域は他の形状（例えば、正六角形等）によって形成されてもよい。なお、同図においては、枠線Ｆ１及び表題Ｔ１の境界は、単位領域の境界と重なっている。これは、便宜的なものであり、そのように単位領域が分割されることを意図するものではない。すなわち、単位領域の分割に際し、各図面要素がどのように配置されているかは影響しない。
【００４２】
続いて、単位領域割り当て部１３は、カレントページの図面枠領域及び表題それぞれに対して、それぞれの領域に属する（それぞれの領域に位置する）単位領域を割り当てる（関連付ける）（Ｓ１４０）。続いて、単位領域割り当て部１３は、カレントページの各ビューに対して、それぞれの領域の属する単位領域を割り当てる（Ｓ１５０）。続いて、単位領域割り当て部１３は、カレントページの各寸法要素又は各注記に対して、それぞれの領域に属する単位領域を割り当てる（Ｓ１６０）。なお、ステップＳ１４０、Ｓ１５０、及びＳ１６０の処理結果として、図面要素ごとに、割り当てられた単位領域の番地との関連付け情報がメモリ装置１０３に記録される。
【００４３】
続いて、干渉判定部１４は、各図面要素に割り当てられた単位領域の重複の有無に基づいて、図面要素間の干渉の有無を判定する。すなわち、同一の単位領域が割り当てられている図面要素は、干渉すると判定される。配置位置修正部１５は、干渉すると判定された図面要素の配置位置を修正する（Ｓ１７０）。
【００４４】
続いて、図面データ取得部１１は、カンレント図面データに次ページが有るか否かを判定する（Ｓ１８０）。次ページが有る場合（Ｓ１８０でＹｅｓ）、次ページを処理対象（カレントページ）とする（Ｓ１９０）。したがって、次ページについて、ステップＳ１３０からＳ１７０までが実行される。
【００４５】
カレント図面データに含まれている全てのページについて処理が完了すると（Ｓ１８０でＮｏ）、図面データ取得部１１は、メモリ装置１０３上において修正された図面データを図面ＤＢ１６に書き戻す（Ｓ２１０）。
【００４６】
続いて、ステップＳ１４０の詳細について説明する。図１０は、図面枠領域及び表題への単位領域の割り当て処理の処理手順を説明するためのフローチャートである。
【００４７】
ステップＳ１４１において、単位領域割り当て部１３は、カンレントページに含まれている図面枠領域及び表題のそれぞれの属性情報を図面データより取得する。続いて、単位領域割り当て部１３は、図面枠領域及び表題の配置基準位置及び配置範囲に基づいてそれぞれの領域を判定し、各領域に属する単位領域の番地を図面枠領域又は表題に割り当てる（Ｓ１４２）。各領域に属する単位領域には、当該領域にその全てが含まれる単位領域だけでなく、一部が含まれる単位領域も含まれる。この点については、他の図面要素に属する単位領域の判定に関しても同様である。なお、各単位領域の図面領域上の座標情報は、各単位領域の番地とサイズ情報とに基づいて算出されればよい。又は、各単位領域が生成された時点において、単位領域毎に座標情報が関連付けられていてもよい。
【００４８】
続いて、ステップＳ１５０の詳細について説明する。図１１は、ビューへの単位領域の割り当て処理の処理手順を説明するためのフローチャートである。
【００４９】
ステップＳ１５１において、単位領域割り当て部１３は、カレントページに含まれている一つのビューを処理対象（以下、「カレントビュー」という。）とする。続いて、単位領域割り当て部１３は、カレントビューの属性情報を図面データより取得する（Ｓ１５２）。続いて、単位領域割り当て部１３は、カレントビューの配置基準位置及び配置範囲に基づいてカレントビューの領域を判定し、当該領域に属する単位領域の番地をカレントビューに割り当てる（Ｓ１５３）。続いて、単位領域割り当て部１３は、カレントページに含まれている全てのビューについて処理を完了したか判定する（Ｓ１５４）。未処理のビューが残っている場合（Ｓ１５４でＮｏ）、単位領域割り当て部１３は、未処理のビューを処理対象とし（Ｓ１５５）、ステップＳ１５２及びＳ１５３を実行する。カレントページに含まれている全てのビューについて処理が完了すると（Ｓ１５４でＹｅｓ）、図１１の処理は終了する。
【００５０】
続いて、ステップＳ１６０の詳細について説明する。図１２は、寸法要素及び注記への単位領域の割り当て処理の処理手順を説明するためのフローチャートである。
【００５１】
ステップＳ１６１において、単位領域割り当て部１３は、カンレントページに含まれる一つのビューを処理対象（以下、「カレントビュー」という。）とする（Ｓ１６２）。続いて、単位領域割り当て部１３は、カレントビューに含まれる一つの寸法要素（寸法値、寸法線、又は寸法補助線）又は注記を処理対象（以下、「カレント図面要素」という。）とする（Ｓ１６３）。
【００５２】
続いて、単位領域割り当て部１３は、カレント図面要素の属性情報を図面データより取得する（Ｓ１６３）。続いて、単位領域割り当て部１３は、カンレント図面要素の領域に属する単位領域の番地をカレント図面要素に割り当てる（Ｓ１６４）。
【００５３】
例えば、カレント図面要素が寸法値である場合、当該寸法値に対して単位領域の割り当てが行われる。
【００５４】
図１３は、寸法値に対する単位領域の番地の割り当てを説明するための図である。同図の例では、８個の単位領域が寸法値領域ａ１の少なくとも一部と重なっている。したがって、この場合、当該８個の単位領域の番地が当該寸法値に対して割り当てられる。なお、寸法値領域ａ１は、寸法値の属性情報の配置基準位置及び配置範囲に基づいて特定される。
【００５５】
また、カレント図面要素が寸法線である場合、当該寸法線に対して単位領域の割り当てが行われる。
【００５６】
図１４は、寸法線に対する単位領域の番地の割り当てを説明するための図である。同図の例では、４個の単位領域が寸法線領域ａ２の少なくとも一部と重なっている。したがって、この場合、当該４個の単位領域の番地が当該寸法線に対して割り当てられる。なお、寸法線領域ａ２は、寸法線の属性情報の配置基準位置及び配置範囲に基づいて特定される。
【００５７】
また、カレント図面要素が寸法補助線である場合、当該寸法補助線に対して単位領域の割り当てが行われる。
【００５８】
図１５は、寸法補助線に対する単位領域の番地の割り当てを説明するための図である。同図の例では、３個の単位領域が寸法補助線領域の少なくとも一部と重なっている。したがって、この場合、当該３個の単位領域の番地が当該寸法補助線に対して割り当てられる。なお、寸法補助線領域は、寸法補助線の属性情報の配置基準位置及び配置範囲に基づいて特定される。但し、同図では、便宜上、寸法補助線領域の範囲は記載されていない。
【００５９】
また、カンレント図面要素が注記である場合、当該注記の配置基準位置及び配置範囲に基づいて判定される注記領域の少なくとも一部と重なる単位領域の番地が当該注記に割り当てられる。
【００６０】
続いて、単位領域割り当て部１３は、カレントビューに含まれる全ての寸法要素又は全ての注記について処理を完了したか否か判定する（Ｓ１６５）。未処理の寸法要素又は注記が残っている場合（Ｓ１６５でＮｏ）、単位領域割り当て部１３は、未処理の寸法要素又は注記を処理対象とし、ステップＳ１６３及びＳ１６４を実行する。カレントビューに含まれる全ての寸法要素及び注記について処理が完了すると、単位領域割り当て部１３は、カレントページに含まれる全てのビューについて処理を完了したか否かを判定する（Ｓ１６７）。未処理のビューが残っている場合（Ｓ１６７でＮｏ）、単位領域割り当て部１３は、未処理のビューを処理対象とし（Ｓ１６８）、ステップＳ１６２以降を実行する。カレントページに含まれている全てのビューについて処理が完了すると（Ｓ１６７でＹｅｓ）、図１２の処理は終了する。
【００６１】
続いて、ステップＳ１７０の詳細について説明する。図１６は、図面要素の干渉判定処理及び配置位置修正処理の処理手順を説明するためのフローチャートである。
【００６２】
ステップＳ１７０１において、干渉判定部１４は、カレントページに含まれている一つのビューを処理対象（以下、「カレントビュー」という。）とする。続いて、干渉判定部１４は、カレントビューにおける寸法要素と図面枠領域との干渉の有無を判定する（Ｓ１７０２）。すなわち、寸法要素の一部又は全部が枠線をはみ出しているか否かが判定される。当該干渉の有無は、寸法要素に割り当てられた単位領域の番地と、図面枠領域に割り当てられた単位領域の番地との間に重複するものが有るか否かに基づいて判定される。
【００６３】
図１７は、単位領域の番地に基づく図面要素の干渉の有無の判定方法を説明するための図である。同図において番地情報ａｄ１は、図面枠領域に割り当てられた番地の一部であり、番地情報ａｄ２は、或る一つの寸法要素に割り当てられた番地であるとする。この場合、番地（４，４）及び番地（５，４）が重複している。したがって、当該寸法要素は、図面枠領域と干渉していると判定される。重複する番地が無い場合、相互の図面要素は干渉しないと判定される。なお、図１７に示される判定方法は、他の図面要素同士の干渉の有無の判定についても同様に適用される。
【００６４】
ステップＳ１７０２では、カレントページに含まれる全ての寸法要素について順番に図面枠領域との干渉の有無が判定される。干渉が検知されるたびに（Ｓ１７０２でＹｅｓ）、配置位置修正部１５は、当該干渉に係る寸法要素の配置位置の修正処理（修正処理１）を実行する（Ｓ１７０３）。
【００６５】
カレントビューにおける寸法要素と図面枠領域との干渉が解消されると（Ｓ１７０２でＮｏ）、干渉判定部１４は、カレントビューにおける寸法要素とカレントビュー以外のビューとの干渉の有無をそれぞれに割り当てられた単位領域の番地に基づいて判定する（Ｓ１７０４）。すなわち、カレントビューにおける全ての寸法要素について、当該寸法要素が属さないビューとの干渉の有無が順番に判定される。干渉が検知されるたびに（Ｓ１７０４でＹｅｓ）、配置位置修正部１５は、当該干渉に係る寸法要素の配置位置の修正処理（修正処理２）を実行する（Ｓ１７０５）。
【００６６】
カレントビューにおける寸法要素とカレントビュー以外のビューとの干渉が解消されると（Ｓ１７０４でＮｏ）、干渉判定部１４は、カレントビューにおける寸法要素間の干渉の有無をそれぞれに割り当てられた単位領域の番地に基づいて判定する（Ｓ１７０６）。干渉が検知されるたびに（Ｓ１７０６でＹｅｓ）、配置位置修正部１５は、当該干渉に係る寸法要素の配置位置の修正処理（修正処理３、４、又は５）を実行する（Ｓ１７０７）。
【００６７】
カレントビューにおける寸法要素間の干渉が解消されると（Ｓ１７０６でＮｏ）、干渉判定部１４は、カレントビューにおける注記と他の図面要素との干渉の有無をそれぞれに割り当てられた単位領域の番地に基づいて判定する（Ｓ１７０８）。干渉が検知されるたびに（Ｓ１７０８でＹｅｓ）、配置位置修正部１５は、当該干渉に係る注記の配置位置の修正処理（修正処理６）を実行する（Ｓ１７０９）。
【００６８】
カレントビューにおける注記に関する干渉が解消されると（Ｓ１７０８でＮｏ）、干渉判定部１４は、修正ライブラリが存在するか否かを判定する（Ｓ１７１０）。修正ライブラリは、図面要素の配置位置の自動修正に関するユーザ独自の修正ルールを実現させるための情報である。修正ライブラリは、干渉パターンデータと修正パターンデータとを含む。干渉パターンデータは、干渉していると判定すべき図面要素の状態（干渉パターン）が定義されたデータである。修正パターンデータは、干渉パターンに応じた修正内容が定義されたデータである。干渉パターンデータ及び修正パターンデータは、例えば、ファイルとして補助記憶装置１０２に保存されている。
【００６９】
修正ライブラリが存在する場合（Ｓ１７１０でＹｅｓ）、配置位置修正部１５は、修正ライブラリに基づく修正処理（修正処理７）を実行する（Ｓ１７１１）。
【００７０】
続いて、干渉判定部１４は、カレントページに含まれる全てのビューについて処理を完了したか否かを判定する（Ｓ１７１２）。未処理のビューが残っている場合（Ｓ１７１２でＮｏ）、干渉判定部１４は、未処理のビューを処理対象とし（Ｓ１７１３）、ステップＳ１７０２以降を実行する。カレントページに含まれている全てのビューについて処理が完了すると（Ｓ１７１２でＹｅｓ）、図１６の処理は終了する。
【００７１】
図１６の処理内容を表にまとめると図１８に示されるようになる。図１８は、干渉する図面要素の組み合わせに応じて実行される修正処理を示す図である。同図では、行方向（寸法値、寸法線、寸法補助線、注記）に示される図面要素が、列方向（図面枠領域、ビュー（当該図面要素が属さないビュー）、寸法値、寸法線、寸法補助線、注記）に示される図面要素と干渉した場合に、どのような修正処理が実行されるかが示されている。同図における修正処理１〜６の内容は、図１６における修正処理１〜６の内容に一致する。このように、干渉する図面要素の種別に応じて実行される処理が異なる。
【００７２】
続いて、修正処理１〜７の詳細について順番に説明する。図１９は、修正処理１の処理手順を説明するためのフローチャートである。
【００７３】
ステップＳ１７０３−１において、配置位置修正部１５は、図面枠領域との干渉が検知された寸法要素（対象寸法要素）の組又はグループに属する他の寸法要素を抽出する。具体的には、対象寸法要素の属性情報に基づいて、当該組又は当該グループに属する寸法要素の要素ＩＤが特定される。
【００７４】
続いて、配置位置修正部１５は、カレントページの次のページ（以下、単に「次ページ」という。）の存否を図面データに基づいて判定する（Ｓ１７０３−２）。次ページが無い場合（Ｓ１７０３−２でＮｏ）、配置位置修正部１５は、次ページを図面データに追加する（Ｓ１０７２−３）。続いて、配置位置修正部１５は、次ページにカレントビューが存在するか否かを図面データに基づいて判定する（Ｓ１７０３−４）。すなわち、次ページにカレントビューと同じ要素ＩＤを有する図面要素が有るか否かが判定される。次ページにカレントビューが無い場合（Ｓ１７０３−４でＮｏ）、配置位置修正部１５は、カレントビュー及びカレントビューの図形を次ページにコピーする（Ｓ１０７３−５）。ここで、カレントビューの図形もコピーの対象とするのは、寸法要素が対象とする図形も次ページに含まれるようにするためである。換言すれば、カレントビューに含まれる図面要素の中で次ページにコピーされる図面要素は、対象寸法要素の組又はグループに属する寸法要素によって寸法が示される図形だけであってもよい。但し、寸法要素と図形との関連付けがデータとして保持されていない場合は、カレントビューの全図形がコピーされてよい。
【００７５】
続いて、配置位置修正部１５は、対象寸法要素及び対象寸法要素と同じ組又はグループに属する寸法要素を次のページに移動する（Ｓ１０７２−６）。したがって、当該組又はグループに属する寸法要素は図面データにおいてカレントページから削除される。続いて、配置位置修正部１５は、次ページの図面枠領域と干渉しない位置に対象寸法要素の位置を移動させる（Ｓ１０７２−７）。対象寸法要素の移動先が次ページの図面枠領域と干渉するか否かについても、次ページを単位領域に分割し、単位領域の重複に基づいて判定すればよい。なお、対象寸法要素の移動に伴って、対象寸法要素の組又はグループに属する他の寸法要素の形状の変更も実行されうる。例えば、寸法値の位置の変更に応じて、寸法線の位置が変更され、更に、寸法補助線の長さが変更されるといった具合である。
【００７６】
続いて、修正処理２の詳細について説明する。修正処理２は、処理対象とれる寸法要素が、カレントビュー以外のビューとの干渉が検知された寸法要素である点を除いて、修正処理１と同様でよい。
【００７７】
例えば、図５においては、ビューＶ２に含まれ、グループＧ１を形成する寸法要素は、ビューＶ１に干渉している。したがって、修正処理２が実行されることにより、グループＧ１は次ページに移動される。その結果、次ページは図２０示されるような状態となる。
【００７８】
図２０は、次ページにコピーされたビューと次ページに移動された寸法要素との例を示す図である。同図では、ビューＶ２及びビューＶ２に含まれる図形が次ページにコピーされている。また、ビューＶ１と干渉していたグループＧ１は次ページに移動されている。なお、図２０に示されるように、ビューＶ２に含まれる図形以外の図面要素（例えば、グループＧ１以外の寸法要素等）は、次ページにコピーされなくてもよい。
【００７９】
続いて、修正処理３の詳細について説明する。図２１は、修正処理３の処理手順を説明するためのフローチャートである。修正処理３は、寸法値又は寸法線が、他の寸法値又は寸法線と干渉する場合に実行される（図１８参照）。したがって、図２１の説明における寸法要素は、寸法値又は寸法線に限定される。
【００８０】
ステップＳ１７０７−１１において、配置位置修正部１５は、干渉が検知された寸法要素の一方を処理対象（対象寸法要素）とする。続いて、配置位置修正部１５は、対象寸法要素について、対象図形に対する相対的な配置位置を判定する（Ｓ１７０７−１２）。続いて、配置位置修正部１５は、対象寸法要素の配置位置の判定結果に基づいて、対象寸法要素の移動方向を決定する（Ｓ１７０７−１３）。
【００８１】
ステップＳ１７０７−１２及びＳ１７０７−１３の内容について詳細に説明する。
【００８２】
図２２は、対象図形に対する相対的な配置位置を説明するための図である。同図では、対象図形が矩形Ｒ１であり、矩形Ｒ１に対して四方向に寸法要素が配置された例が示されている。ステップＳ１７０２−１２において判定されるのは、対象寸法要素が、矩形Ｒ１に対して位置ｄ１（上）、位置ｄ２（右）、位置ｄ３（下）、又は位置ｄ４（左）のいずれに位置するのかということである。
【００８３】
当該判定は、例えば、対象寸法要素の組の寸法値の基準点の座標値と、対象寸法要素の組の寸法補助線の基準点（引き出し点）の座標値とに基づいて行えばよい。
【００８４】
図２３は、寸法値の基準点と引き出し点との関係を示す図である。同図のように寸法要素が配置される場合、寸法値の基準点ｐ１と引き出し点ｐ２との座標値が比較される。なお、通常、寸法補助線は２本有るが、いずれの寸法補助線が比較対象とされてもよい。すなわち、同図において、左側の寸法補助線の引き出し点が基準点ｐ１との比較対象とされてもよい。
【００８５】
図２４は、寸法値の基準点と引き出し点との比較に基づく対象図形に対する対象寸法要素の相対的な配置位置の判定内容を示す図である。
【００８６】
同図の表の列方向の順で判定が行われる。すなわち、配置位置修正部１５は、対象寸法要素の配置方向が水平方向であるか垂直方向であるかを判定する（１列目）。配置方向は、対象寸法要素の配置範囲に基づいて判定可能である。または、各寸法要素に配置方向を示す属性情報を追加してもよい。
【００８７】
対象寸法要素の配置方向が水平方向である場合、配置位置修正部１５は、引き出し点の座標と対象寸法要素の基準点と座標とを比較する（２列目）。引き出し点のＹ座標値が寸法値の基準点のＹ座標値より大きい場合、配置位置修正部１５は、対象寸法要素は、対象図形に対して下（図２２の位置ｄ３）に位置すると判定する（３列目）。その結果、配置位置修正部１５は、対象寸法要素の移動方向は下方向であると判定する（４列目）。引き出し点のＹ座標値が寸法値の基準点のＹ座標値より小さい場合、配置位置修正部１５は、対象寸法要素は、対象図形に対して上（図２２の位置ｄ１）に位置すると判定する（３列目）。その結果、配置位置修正部１５は、対象寸法要素の移動方向は上方向であると判定する（４列目）。
【００８８】
一方、対象寸法要素の配置方向が垂直方向である場合、配置位置修正部１５は、引き出し点の座標と対象寸法要素の基準点と座標とを比較する（２列目）。引き出し点のＸ座標値が寸法値の基準点のＸ座標値より大きい場合、配置位置修正部１５は、対象寸法要素は、対象図形に対して左（図２２の位置ｄ４）に位置すると判定する（３列目）。その結果、配置位置修正部１５は、対象寸法要素の移動方向は左方向であると判定する（４列目）。引き出し点のＸ座標値が寸法値の基準点のＸ座標値より小さい場合、配置位置修正部１５は、対象寸法要素は、対象図形に対して右（図２２の位置ｄ１）に位置すると判定する（３列目）。その結果、配置位置修正部１５は、対象寸法要素の移動方向は右方向であると判定する（４列目）。
【００８９】
すなわち、対象寸法要素の移動方向は、対象図形が配置されている方向とは逆方向とされる。
【００９０】
続いて、配置位置修正部１５は、移動量を仮に決定する（Ｓ１７０７−１４）。例えば、予め補助記憶装置１０２に設定されている値が移動量とされればよい。続いて、配置位置修正部１５は、判定された移動方向及び移動量の位置に、対象寸法要素を配置するだけの空き領域が有るか否かを判定する（Ｓ１７０７−１５）。当該判定は、対象寸法要素の配置範囲に基づいて行えばよい。すなわち、当該配置範囲を包含可能な空き領域の有無が判定されればよい。空き領域が無い場合（Ｓ１７０７−１５でＮｏ）、配置位置修正部１５は、移動量を微調整し、対象寸法要素を配置可能な空き領域を探索する（Ｓ１７０７−１５）。
【００９１】
空き領域が見つかった場合（Ｓ１７０７−１５でＹｅｓ）、配置位置修正部１５は、移動量を確定し、ステップＳ１７０７−１３において決定された移動方向に、確定された移動量分だけ対象寸法要素を移動させる（Ｓ１７０７−１６）。配置位置修正部１５は、対象寸法要素の移動に伴って、対象寸法要素の組に属する他の対象寸法要素についても移動又は変形を行う。例えば、対象寸法要素が寸法値である場合、寸法線も寸法値に伴って移動され、寸法補助線が延長される。したがって、ステップＳ１７０５−１５の空き領域の判定では、対象寸法の移動に伴って移動又は変形される他の寸法要素を配置する空き領域の有無についても同時に判定するとよい。なお、寸法要素を含め図面要素の移動及び変形とは、当該図面要素の属性情報の値の変更が行われることを意味する。
【００９２】
続いて、配置位置修正部１５は、移動又は変形された各寸法要素に対して単位領域の割り当てをし直す（Ｓ１７０７−１７）。
【００９３】
修正処理３の具体例について示す。図２５は、寸法値同士の干渉の修正例を示す図である。同図（Ａ）では、寸法線ｅ１１及び寸法値ｅ１２の組と、寸法線ｅ２１及び寸法値ｅ２２の組とにおいて、寸法値ｅ１２と寸法値ｅ２２とが干渉している。この場合、（Ｂ）に示されるように、寸法線ｅ２１及び寸法値ｅ２２が右方向に移動されることにより干渉が解消される。
【００９４】
また、図２６は、寸法値と寸法線との干渉の修正例を示す図である。同図（Ａ）では、寸法線ｅ１１及び寸法値ｅ１２の組と、寸法線ｅ２１及び寸法値ｅ２２の組とにおいて、寸法線ｅ１１と寸法値ｅ２２とが干渉している。この場合、（Ｂ）に示されるように、寸法線ｅ２１及び寸法値ｅ２２が右方向に移動されることにより干渉が解消される。
【００９５】
また、図２７は、寸法線と寸法線との干渉の修正例を示す図である。同図（Ａ）では、寸法線ｅ１１、寸法値ｅ１２、寸法補助線ｅ１３、及び寸法補助線ｅ１４の組と、寸法線ｅ２１、寸法値ｅ２２、寸法補助線ｅ２３、及び寸法補助線ｅ２４の組とにおいて、寸法線ｅ１１と寸法線ｅ２１とが干渉している。この場合、（Ｂ）に示されるように、寸法線ｅ１１及び寸法値ｅ１２が右方向に移動され、寸法補助線ｅ１３及びｅ１４が延長されることにより干渉が解消される。
【００９６】
なお、図２５及び図２６においては、便宜上、寸法補助線の記載は省略したが、図２５及び図２６のケースにおいても、必要に応じて寸法補助線の延長も行われる。
【００９７】
続いて、修正処理４の詳細について説明する。図２８は、修正処理４の処理手順を説明するためのフローチャートである。修正処理４は、寸法値又は寸法線が寸法補助線と干渉する場合に実行される（図１８参照）。したがって、図２８の説明において、干渉する二つの寸法要素のうちの一方は寸法補助線である。
【００９８】
ステップＳ１７０７−２１において、配置位置修正部１５は、干渉が検知された二つの寸法要素のそれぞれに割り当てられている単位領域の中で、重複している全ての単位領域を判定する（洗い出す）。続いて、配置位置修正部１５は、重複している全ての単位領域に基づいて、干渉部分の範囲（干渉エリア）を算出する（Ｓ１７０７−２２）。干渉エリアは、例えば、重複している全ての単位領域の外周によって形成され範囲としてもよいし、より厳密な範囲が算出されてもよい。より厳密な範囲とは、干渉する寸法要素の属性情報に基づいて干渉位置又は干渉範囲を図面領域の座標値単位で算出し、算出された位置又は範囲に所定のマージンを付加することにより得られる範囲である。
【００９９】
続いて、配置位置修正部１５は、干渉する寸法補助線において干渉エリアに係る部分を削除する（Ｓ１７０７−２３）。
【０１００】
図２９は、寸法値と寸法補助線との干渉の修正例を示す図である。同図（Ａ）では、寸法値ｅ３１と寸法補助線ｅ３２とが干渉している。この場合、（Ｂ）に示されるように寸法補助線ｅ３２において干渉エリアに係る部分が削除される。
【０１０１】
寸法補助線の削除は、表示上の削除であってもよいし、寸法補助線の分割であってもよい。前者の場合、寸法補助線に関して非表示範囲を示す属性情報を設け、寸法補助線と干渉エリアが重複する範囲を当該寸法補助線の非表示範囲として記録すればよい。後者の場合、元の寸法補助線を短縮し、新たな寸法補助線を生成すればよい。すなわち、図２９の例では、元の寸法補助線ｅ３２を寸法補助線ｅ３２−１の形状に短縮し、新たな寸法補助線ｅ３２−２のデータ（属性情報）をカレントビューに追加すればよい。なお、元の寸法補助線の短縮は、当該寸法補助線の配置基準位置及び配置範囲の修正によって実現される。
【０１０２】
続いて、配置位置修正部１５は、変形された寸法補助線に対して単位領域の割り当てをし直す（Ｓ１７０７−２４）。また、新たに寸法補助線が生成された場合は、当該寸法補助線に対して単位領域が割り当てられる。
【０１０３】
続いて、修正処理５の詳細について説明する。図３０は、修正処理５の処理手順を説明するためのフローチャートである。修正処理５は、寸法補助線同士が干渉する場合に実行される（図１８参照）。
【０１０４】
ステップＳ１７０７−３１、Ｓ１７０７−３２は、図２８のステップＳ１７０７−２１、Ｓ１７０７−２２と同様でよい。続いて、配置位置修正部１５は、干渉する２本の寸法補助線のうち、いずれの寸法補助線を干渉エリアに係る部分の削除対象とするかを判定する（Ｓ１７０７−３３）。削除対象を選択する際の判定基準としては、例えば、寸法補助線の長さ、方向等を採用すればよい。具体的には、配置位置修正部１５は、干渉する２本の寸法補助線の長さ（配置範囲）比較し、長さの短い寸法補助線を維持し、長さの長い寸法補助線を削除対象とする。双方の長さが同一の場合、配置位置修正部１５は、斜め方向、水平方向、垂直方向の優先度で、削除対象を選択する。但し、いずれの寸法補助線を削除対象とするかについては、任意に設定可能としてもよいし、対話的に選択可能としてもよい。
【０１０５】
続いて、配置位置修正部１５は、削除対象とされた寸法補助線について、干渉エリアに係る部分を削除する（Ｓ１７０７−３４）。
【０１０６】
図３１は、寸法補助線同士の干渉の修正例を示す図である。同図（Ａ）では、寸法補助線ｅ４１と寸法補助線ｅ４２とが干渉している。ここで、２本の寸法補助線の長さは同じであるとする。したがって、この場合、（Ｂ）に示されるように斜めの寸法補助線ｅ４２において干渉エリアに係る部分が削除される。
【０１０７】
なお、寸法補助線における干渉エリアの削除の具体的な処理内容は、図２８において説明したものと同様でよい。
【０１０８】
続いて、配置位置修正部１５は、変形された寸法補助線に対して単位領域の割り当てをし直す（Ｓ１７０７−３５）。また、新たに寸法補助線が生成された場合は、当該寸法補助線に対して単位領域が割り当てられる。
【０１０９】
続いて、修正処理６の詳細について説明する。修正処理６は、注記が、図面枠領域、ビュー（注記が属するビュー以外のビュー）、寸法要素、又は他の注記と干渉する場合に実行される（図１８参照）。
【０１１０】
図３２は、注記に関する干渉の例を示す図である。同図には、注記と図面枠領域との干渉、注記とビューＶ１との干渉、注記同士の干渉の例が示されている。
【０１１１】
図３３は、修正処理６の処理手順を説明するためのフローチャートである。図３３の説明において、干渉する二つの図面要素のうちの少なくとも一方は注記である。
【０１１２】
ステップＳ１７０９−１において、配置位置修正部１５は、他の図面要素と干渉している注記（対象注記）の周辺において当該注記を配置可能な空き領域の有無を判定する。ここでいう「周辺」の範囲については、予め設定値を補助記憶装置１０２に記録しておけばよい。したがって、ステップＳ１７０９−１では、例えば、当該注記の領域の中心を中心とする所定のサイズの矩形領域、円領域、又は他の図形によって規定される範囲内において空き領域の有無が判定される。また、空き領域の有無の判定については、対象注記の配置範囲に基づいて行えばよい。すなわち、当該配置範囲を包含可能な空き領域の有無が判定されればよい。
【０１１３】
空き領域が見つかった場合（Ｓ１７０９−１でＹｅｓ）、配置位置修正部１５は、空き領域へ対象注記を移動させる（Ｓ１７０９−２）。なお、注記同士が干渉している場合、配置位置修正部１５は、双方の注記について空き領域の有無を判定し、空き領域の有る注記を移動させる。双方の注記に空き領域が有る場合、配置位置修正部１５は、移動量が小さくて済む方の注記を移動させる。続いて、配置位置修正部１５は、移動された注記に対して単位領域の割り当てをし直す（Ｓ１７０９−３）。
【０１１４】
空き領域が見つからなかった場合（Ｓ１７０９−１でＮｏ）、配置位置修正部１５は、カレントページの次ページの存在の有無を図面データに基づいて判定する（Ｓ１７０９−４）。次ページが無い場合、配置位置修正部１５は、次ページを図面データに追加する（Ｓ１７０９−５）。続いて、配置位置修正部１５は、次ページにカレントビューが存在するか否かを図面データに基づいて判定する（Ｓ１７０９−６）。次ページにカレントビューが無い場合（Ｓ１７０９−６でＮｏ）、配置位置修正部１５は、カレントビュー及びカレントビューの図形を次ページにコピーする（Ｓ１０７９−７）。続いて、配置位置修正部１５は、次ページに移動する（Ｓ１７０９−８）。この際、配置位置修正部１５は、次ページの図面枠領域又は他のビューと重複しない位置に対象注記を配置する。
【０１１５】
続いて、修正処理７の詳細について説明する。図３４は、修正処理７の処理手順を説明するためのフローチャートである。
【０１１６】
ステップＳ１７１１−１において、配置位置修正部１５は、干渉パターンデータを読み込む。続いて、配置位置修正部１５は、干渉パターンデータに定義されている干渉パターンに該当する箇所の有無を、各図面要素の属性情報に基づいて判定する（Ｓ１７１１−２）。干渉パターンに該当する箇所が有る場合（Ｓ１７１１−２でＹｅｓ）、配置位置修正部１５は、修正パターンデータを読み込む（Ｓ１７１１−３）。続いて、配置位置修正部１５は、干渉パターンに応じた修正パターンに基づいて、該当箇所の修正を実行する（Ｓ１７１１−４）。
【０１１７】
修正ライブラリによる修正例としては、同じ組に属する寸法線の矢印部分と寸法値とが干渉する場合、矢印を黒点に変更したり、矢印の方向を変更したりすることが挙げられる。
【０１１８】
なお、干渉箇所の修正が手動で行われた場合に、その干渉パターンを干渉パターンデータに自動的に追加し、修正内容を修正パターンデータに自動的に追加するようにしてもよい。
【０１１９】
上述したように、本実施の形態における図面修正支援装置１０によれば、図面領域を単位領域に分割し、単位領域を各図面要素に割り当て、単位領域の重複の有無に基づいて図面要素間の干渉の有無を自動的に判定する。したがって、干渉箇所の存在について、検知漏れを低減させることができる。
【０１２０】
また、単位領域の重複の有無をチェックするといったシンプルなロジックであるため、干渉の有無の判定時間を短縮化することができる。
【０１２１】
また、存在が検知された干渉については、当該干渉に係る図面要素の種別に応じて適切な修正処理が自動的に実行される。その結果、効率的に干渉の解消を図ることができる。
【０１２２】
なお、自動的な修正処理を行わずに、干渉のチェック結果のみを出力するようにしてもよい。干渉のチェック結果の出力によっても、修正漏れの防止を図ることができる。また、干渉箇所を目視で探す場合に比べて、作業効率の向上を図ることもできる。干渉のチェック結果の出力形態としては、例えば、図面データを表示させ、干渉箇所をハイライト表示させればよい。
【０１２３】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０１２４】
以上の説明に関し、更に以下の項を開示する。
（付記１）
コンピュータに、
二次元図面記憶手段に記憶された二次元図面データの図面領域を単位領域に分割し、単位領域ごとに位置情報を記憶手段に記録する図面領域分割手順と、
前記図面領域に含まれる図面要素ごとに、当該図面要素の配置情報と前記単位領域との位置情報とに基づいて前記単位領域を割り当て、割り当てられた前記単位領域との関連付け情報を前記記憶手段に記録する単位領域割り当て手順と、
割り当てられた前記単位領域の重複の有無に基づいて、前記図面要素間の干渉の有無を判定する判定手順とを実行させるための図面修正支援プログラム。
（付記２）
前記コンピュータに、
前記判定手順において前記干渉が有ると判定された場合に、該干渉に係る前記図面要素の種別に応じた処理により該干渉を解消させる修正手順を実行させるための付記１記載の図面修正支援プログラム。
（付記３）
前記修正手順は、該干渉に係る一方の前記図面要素を、前記図面領域において該図面要素を配置可能な空き領域に移動させる付記２記載の図面修正支援プログラム。
（付記４）
前記修正手順は、該干渉に係る前記図面要素が寸法値又は寸法線である場合は、前記寸法値又は寸法線の配置方向と、寸法補助線の引き出し点との位置関係に基づいて、前記寸法値又は寸法線の移動方向を決定する付記３記載の図面修正支援プログラム。
（付記５）
前記修正手順は、寸法補助線同士が干渉する場合は、一方の寸法補助線について、干渉する部分を削除する付記３又は４記載の図面修正支援プログラム。
（付記６）
二次元図面記憶手段に記憶された二次元図面データの図面領域を単位領域に分割し、単位領域ごとに位置情報を記憶手段に記録する図面領域分割手段と、
前記図面領域に含まれる図面要素ごとに、当該図面要素の配置情報と前記単位領域との位置情報とに基づいて前記単位領域を割り当て、割り当てられた前記単位領域との関連付け情報を前記記憶手段に記録する単位領域割り当て手段と、
割り当てられた前記単位領域の重複の有無に基づいて、前記図面要素間の干渉の有無を判定する判定手段とを有する図面修正支援装置。
（付記７）
前記判定手段において前記干渉が有ると判定された場合に、該干渉に係る前記図面要素の種別に応じた処理により該干渉を解消させる修正手段を有する付記６記載の図面修正支援装置。
（付記８）
前記修正手段は、該干渉に係る一方の前記図面要素を、前記図面領域において該図面要素を配置可能な空き領域に移動させる付記７記載の図面修正支援装置。
（付記９）
前記修正手段は、該干渉に係る前記図面要素が寸法値又は寸法線である場合は、前記寸法値又は寸法線の配置方向と、寸法補助線の引き出し点との位置関係に基づいて、前記寸法値又は寸法線の移動方向を決定する付記８記載の図面修正支援装置。
（付記１０）
前記修正手段は、寸法補助線同士が干渉する場合は、一方の寸法補助線について、干渉する部分を削除する付記８又は９記載の図面修正支援装置。
（付記１１）
コンピュータが実行する図面修正支援方法であって、
二次元図面記憶手段に記憶された二次元図面データの図面領域を単位領域に分割し、単位領域ごとに位置情報を記憶手段に記録する図面領域分割手順と、
前記図面領域に含まれる図面要素ごとに、当該図面要素の配置情報と前記単位領域との位置情報とに基づいて前記単位領域を割り当て、割り当てられた前記単位領域との関連付け情報を前記記憶手段に記録する単位領域割り当て手順と、
割り当てられた前記単位領域の重複の有無に基づいて、前記図面要素間の干渉の有無を判定する判定手順とを有する図面修正支援方法。
（付記１２）
前記判定手順において前記干渉が有ると判定された場合に、該干渉に係る前記図面要素の種別に応じた処理により該干渉を解消させる修正手順を有する付記１１記載の図面修正支援方法。
（付記１３）
前記修正手順は、該干渉に係る一方の前記図面要素を、前記図面領域において該図面要素を配置可能な空き領域に移動させる付記１２記載の図面修正支援方法。
（付記１４）
前記修正手順は、該干渉に係る前記図面要素が寸法値又は寸法線である場合は、前記寸法値又は寸法線の配置方向と、寸法補助線の引き出し点との位置関係に基づいて、前記寸法値又は寸法線の移動方向を決定する付記１３記載の図面修正支援方法。
（付記１５）
前記修正手順は、寸法補助線同士が干渉する場合は、一方の寸法補助線について、干渉する部分を削除する付記１３又は１４記載の図面修正支援方法。
【符号の説明】
【０１２５】
１０          図面修正支援装置
１１          図面データ取得部
１２          図面領域分割部
１３          単位領域割り当て部
１４          干渉判定部
１５          配置位置修正部
１６          図面ＤＢ
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        ＣＰＵ
１０６        表示装置
１０７        入力装置
Ｂ            バス
【図１】
2011043934.tif 000003
【図２】
2011043934.tif 000004
【図３】
2011043934.tif 000005
【図４】
2011043934.tif 000006
【図５】
2011043934.tif 000007
【図６】
2011043934.tif 000008
【図７】
2011043934.tif 000009
【図８】
2011043934.tif 000010
【図９】
2011043934.tif 000011
【図１０】
2011043934.tif 000012
【図１１】
2011043934.tif 000013
【図１２】
2011043934.tif 000014
【図１３】
2011043934.tif 000015
【図１４】
2011043934.tif 000016
【図１５】
2011043934.tif 000017
【図１６】
2011043934.tif 000018
【図１７】
2011043934.tif 000019
【図１８】
2011043934.tif 000020
【図１９】
2011043934.tif 000021
【図２０】
2011043934.tif 000022
【図２１】
2011043934.tif 000023
【図２２】
2011043934.tif 000024
【図２３】
2011043934.tif 000025
【図２４】
2011043934.tif 000026
【図２５】
2011043934.tif 000027
【図２６】
2011043934.tif 000028
【図２７】
2011043934.tif 000029
【図２８】
2011043934.tif 000030
【図２９】
2011043934.tif 000031
【図３０】
2011043934.tif 000032
【図３１】
2011043934.tif 000033
【図３２】
2011043934.tif 000034
【図３３】
2011043934.tif 000035
【図３４】
2011043934.tif 000036