図面編集装置および図面編集プログラム
【課題】図面編集時に、少ない手数で並行する複数本の線分列部品を編集することが可能な図面編集装置および図面編集プログラムを提供する。
【解決手段】線分列部品の1つを基準線分列部品とし、基準線分列部品と、基準線分列部品に並行に配置される並行線分列部品とをグループ化した複線化部品を生成するとともに、複線化部品を含めて部品の生成、選択、変形および削除を含む編集を行う部品編集部23と、部品編集部23から画面に表示する部品の情報を受け、画面に表示する部品の表示処理を行う表示部21とを備えており、複線化部品は、基準線分列部品に対する編集が、並行線分列部品に対しても及ぶようにグループ化される。
【解決手段】線分列部品の1つを基準線分列部品とし、基準線分列部品と、基準線分列部品に並行に配置される並行線分列部品とをグループ化した複線化部品を生成するとともに、複線化部品を含めて部品の生成、選択、変形および削除を含む編集を行う部品編集部23と、部品編集部23から画面に表示する部品の情報を受け、画面に表示する部品の表示処理を行う表示部21とを備えており、複線化部品は、基準線分列部品に対する編集が、並行線分列部品に対しても及ぶようにグループ化される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、部品の配置や構造などを設計する際に用いられる、図面編集装置および図面編集プログラムに関する。
【背景技術】
【0002】
例えば特許文献1に開示されるような従来の図面編集装置では、折れ線(線分列部品)を簡単に修正する技術を開示しており、そこには、ユーザが修正対象部分の線図に、修正用の線図を直接描き加えることを可能とする技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−131435号公報(図5、図6)
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の図面編集装置においては、ユーザが修正対象部分の線図に、修正用の線図を直接描き加えることが可能であるが、線分列部品が平行して複数存在するような場合、並行するすべての線分列部品に対して、それらの位置関係を保ったまま変形などの編集を行うには、ユーザが並行する全ての線分列部品に対して編集を行う必要があるため、ユーザの手間がかかるという問題があった。
【0005】
本発明は、上記のような問題を解決するためになされたものであり、図面編集時に、少ない手数で並行する複数本の線分列部品を編集することが可能な図面編集装置および図面編集プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係る図面編集装置の態様は、線分を連ねて構成される線分列部品を含む複数の部品で構成される図面を、表示装置の画面上で作成する図面編集装置であって、前記線分列部品の1つを基準線分列部品とし、前記基準線分列部品と、前記基準線分列部品に並行に配置される並行線分列部品とをグループ化した複線化部品を生成するとともに、前記複線化部品を含めて前記部品の生成、選択、変形および削除を含む編集を行う部品編集部と、前記部品編集部から前記画面に表示する前記部品の情報を受け、前記画面に表示する前記部品の表示処理を行う表示部とを備え、前記複線化部品は、前記基準線分列部品に対する編集が、前記並行線分列部品に対しても及ぶようにグループ化される。
【発明の効果】
【0007】
本発明によれば、基準線分列部品に対する編集が並行線分列部品に対しても及ぶので、ユーザは並行線分列部品に対して編集を行う必要がなく、編集作業が軽減される。
【図面の簡単な説明】
【0008】
【図1】本発明に係る図面編集装置を示すハードウェア構成図である。
【図2】本発明に係る実施の形態1の図面編集装置を示すブロック図である。
【図3】本発明に係る実施の形態1の図面編集装置により作成する複線化部品を示す図である。
【図4】本発明に係る実施の形態1の図面編集装置の内部処理全体の手順を示すフローチャートである。
【図5】本発明に係る実施の形態1の図面編集装置の複線化部品生成処理の手順を示すフローチャートである。
【図6】本発明に係る実施の形態1の図面編集装置の個別部品化処理の手順を示すフローチャートである。
【図7】本発明に係る実施の形態1の図面編集装置の複線化部品化処理の手順を示すフローチャートである。
【図8】本発明に係る実施の形態1の図面編集装置の複線化部品変形処理の手順を示すフローチャートである。
【図9】本発明に係る実施の形態1の図面編集装置の複線化部品座標算出処理の手順を示すフローチャートである。
【図10】本発明に係る実施の形態1の図面編集装置による並行線分列部品の座標を算出する方法の一例を示す図である。
【図11】本発明に係る実施の形態1の図面編集装置による5本に複線化した場合の並行線分列部品の座標を算出する方法の一例を示す図である。
【図12】本発明に係る実施の形態1の図面編集装置による図面編集画面の一例を示す図である。
【図13】本発明に係る実施の形態1の図面編集装置において線分列部品から複線化部品を生成する場合の一例を示す図である。
【図14】本発明に係る実施の形態1の図面編集装置において複線化部品を個別部品化する場合の一例を示す図である。
【図15】本発明に係る実施の形態1の図面編集装置において複線化部品に芯線を表示し変形する場合の一例を示す図である。
【図16】本発明に係る実施の形態1の図面編集装置において複数の部品を複線化部品化する場合の一例を示す図である。
【図17】本発明に係る実施の形態2の図面編集装置を示すブロック図である。
【図18】本発明に係る実施の形態2の図面編集装置の内部処理全体の手順を示すフローチャートである。
【図19】本発明に係る実施の形態2の図面編集装置の複線化部品座標算出処理の手順を示すフローチャートである。
【図20】本発明に係る実施の形態2の図面編集装置の複線化部品角変形処理の手順を示すフローチャートである。
【図21】本発明に係る実施の形態2の図面編集装置による図面編集画面の一例を示す図である。
【図22】本発明に係る実施の形態2の図面編集装置において複線化部品の角を円弧で表示する場合の一例を示す図である。
【発明を実施するための形態】
【0009】
<実施の形態1>
<図面編集装置の機能の概略>
実施の形態1に係る図面編集装置の機能の概略は、ユーザが、基準となる線分列部品(本願では、折れ線のように複数の線分を連ねて構成される構成をこのように呼称)を1つ指定して編集すると、それに並行する複数本の線分列部品の情報を同時に構築あるいは再構築し、編集した内容を、並行する複数本の線分列部品に反映するものである。
【0010】
ここで、編集とは、例えば、部品を生成することや、部品を変形することを指している。また、本発明に係る図面編集装置は、主に、道路の交通状況や鉄道の運行状況などを監視する監視制御システムの監視画面の設計図、電気回路図、電気・電子機器、機械や土木建築物等の設計結果を記した設計図等を編集の対象とする。
【0011】
以下、基準となる線分列部品を「基準線分列部品」、基準線分列部品に並行に配置される線分列部品を「並行線分列部品」と記述する。
【0012】
<装置構成>
図1は実施の形態1に係る図面編集装置を、コンピュータシステムのハードウェアにより実現する場合のハードウェア構成を示すブロック図である。
【0013】
図1に示すコンピュータシステムは、中央処理装置2と、主記憶装置3と、ハードディスク等の外部記憶装置4とを有するコンピュータ1と、マウスやキーボード等の入力装置5と、ディスプレイ等の表示装置6とで、その主要部が構成されている。
【0014】
図2は、図1に示したコンピュータシステムによって実現される実施の形態1の図面編集装置100の構成を示すブロック図である。
【0015】
図2に示すように図面編集装置100は、コンピュータ1(図1)内で実現される表示部21、ユーザ入力受付部22、部品編集部23、部品情報格納部24および複線化制御部品情報格納部25と、入力装置5および表示装置6を備えている。
【0016】
部品情報格納部24および複線化制御部品情報格納部25は、コンピュータ1(図1)内の主記憶装置3および/または外部記憶装置4で実現される。
【0017】
表示部21、ユーザ入力受付部22および部品編集部23は、外部記憶装置4に記憶されたソフトウェアプログラムを主記憶装置3に読み出して、中央処理装置2により実行することにより実現される。
【0018】
表示部21は、部品編集部23で編集された部品を表示処理して表示装置6に表示し、ユーザ入力受付部22は、入力装置5から入力された入力点の座標を受け取り、部品編集部23に出力する。
【0019】
部品情報格納部24は、複線化部品を構成する各部品の情報を含む、画面上に描画する部品の情報を格納している。複線化制御部品情報格納部25は、複線化部品を制御する部品の情報を格納している。
【0020】
部品編集部23は、基準線分列部品の座標を部品情報格納部24より受け取り、その座標を用いて、複線化部品の座標を算出する複線化部品座標算出部2325と、複線化部品座標算出部2325で算出された複線化部品の座標を用いて複線化部品を生成する複線化部品生成部2321と、複線化部品座標算出部2325で算出された複線化部品の座標を用いて複線化部品の変形を行う、複線化部品変形部2322と、複数の部品を複線化部品としてグループ化する複線化部品化処理部2323と、複線化された部品を個別部品に分解する個別部品化部2324と、を含む複線化部品編集部232を有している。また、基準線分列部品を含む従来部品の、生成、選択、変形、削除を行う従来部品編集部231を有している。
【0021】
表示部21は、部品編集部23からの情報を受け、従来部品の頂点の表示処理を行う頂点表示部211と、複線化部品の基準線分列部品の頂点の表示処理を行う芯線表示部212とを有している。
【0022】
次に、複線化部品について説明する。複線化部品は、基準線分列部品と並行線分列部品から構成され、基準線分列部品と並行線分列部品に対して、一括で生成、変形などの編集処理を行うことができる。
【0023】
図3に複線化部品の一例を示す。図3に示す複線化部品31は、1本の線分列部品311を基準線分列部品とし、線分列部品311に並行に密接して2本の線分列部品である、並行線分列部品312、313を配置した構成となっている。図3では、基準線分列部品311を中央に置いて3本に複線化した例を示しているが、線分列部品312あるいは313を基準線分列部品としても図3と同様の複線化部品が得られる。
【0024】
<編集処理の全体の流れ>
次に、複線化部品の編集を行う際の、図面編集装置100内での処理手順を説明する。図4は、複線化部品の編集処理の全体の流れを示すフローチャートである。
【0025】
まず、編集モードが「ON」に設定されることで、図面編集装置100は処理を開始する(ステップST101)。なお、表示装置6上に開かれる入力画面において各種のモードが選択可能に表示されており、この入力画面に基づいて編集モードの「ON」、「OFF」を設定することができる。
【0026】
編集モードが「ON」に設定された後は、イベント待ちの状態に入る(ステップST102)。ここで、イベントとは、入力装置5からの入力に相当し、イベント情報はユーザ入力受付部22に渡される。
【0027】
イベントが発生すると、ユーザ入力受付部22がイベントの判定を行う(ステップST103)。
【0028】
ここで、部品の選択中に発生するイベントの一覧を表1に示す。
【0029】
【表1】
【0030】
表1において、“−”は無効イベント、または、発生し得ないイベントを示している。発生したイベントは、選択中の部品の種類と、イベント発生時の条件とによって判定される。
【0031】
また、表1では、入力装置5としてマウスを使用し、かつ、「複線化部品生成」などのメニューが、図面編集装置のメニューバーから表示されるプルダウンメニューの中にある場合の条件を示している。例えば、マウスの左ボタンでクリックした位置が、図面編集装置のメニューバーから表示されるプルダウンメニューの「複線化部品生成」であった場合には、「複線化部品生成」イベントが発生する。
【0032】
なお、入力装置5としてキーボードを使用し、キーボードによって「複線化部品生成」メニューを選択した場合も、同等のイベントが発生する。また、「複線化部品作成」などのメニューは、ポップアップメニューの中にあってもよい。
【0033】
表1では、イベントの発生をマウスにより行うものとし、マウスイベントを、「左ボタンをクリック」、「左ボタンでドラッグ開始」および「その他」に分類している。
【0034】
また、イベントの例として、「複線化部品生成」、「頂点表示」、「複線化部品化」、「芯線表示」、「個別部品化」、「複線化部品変形」および「通常処理」を挙げている。
【0035】
表1において、選択対象部品が「一つの線分列」である場合、「複線化部品生成」および「頂点表示」は有効なイベントであるが、他のイベントは無効イベントとなることを示している。また、選択対象部品が「複数の線分列」である場合、「複線化部品化」のみが有効なイベントとなることを示している。また、選択対象部品が「複数化部品」である場合、「芯線表示」、「個別部品化」および「複線化部品変形」は有効なイベントとなるが、他のイベントは無効イベントとなることを示している。また、選択対象部品が「その他の部品」である場合、「頂点表示」のみが有効なイベントとなることを示している。なお、何れの選択対象部品であっても通常編集処理や編集終了は有効である。
【0036】
ここで、図4の説明に戻り、ユーザ入力受付部22でのイベント判定の結果、入力されたイベントが、「複線化部品生成」イベントであれば、複線化部品生成処理(ステップST104)を実行する。また、「個別部品化」イベントであれば、個別部品化処理(ステップST105)を実行する。「複線化部品化」イベントであれば、複線化部品化処理(ステップST106)を実行する。「芯線表示」イベントであれば、芯線表示処理(ステップST107)を実行する。「複線化部品変形」イベントであれば、複線化部品変形処理(ステップST108)を実行する。「通常編集処理」イベントであれば編集処理(ステップST109)を実行し、従来と同様の編集処理を行う。
【0037】
複線化部品生成処理(ステップST104)は、複線化部品生成部2321が、選択された線分列部品の座標を用いて複線化部品を生成する。処理の詳細については後述する。
【0038】
個別部品化処理(ステップST105)は、個別部品化部2324が、選択された複線化部品を個別の部品に分解する。処理の詳細については後述する。
【0039】
複線化部品化処理(ステップST106)は、複線化部品化処理部2323が、選択された複数の線分列部品を複線化部品として扱えるよう、部品を変形するなどの処理を行う。処理の詳細については後述する。
【0040】
芯線表示処理(ステップST107)は、芯線表示部212が、選択された複線化部品の基準線分列部品を、部品編集部23を介して複線化制御部品情報格納部25から取得した後、取得した基準線分列部品の座標を、部品編集部23を介して、部品情報格納部24から取得する。そして、基準線分列部品の座標を用いて、芯線の位置を決定する。
【0041】
複線化部品変形処理(ステップST108)は、複線化部品変形部2322が、選択された複線化部品の芯線の変形状態に応じて、複線化部品の変形を行う。処理の詳細については後述する。
【0042】
編集処理(ステップST109)は、従来部品編集部231が、指定された編集処理を行う。処理の内容は、従来の図面編集装置と同様である。
【0043】
なお、上記何れかの処理を実行した後は、ステップST110において表示部21がステップST104〜109で編集された各部品を表示装置6に表示する。
【0044】
入力されたイベントが「頂点表示」イベントであれば、ステップST110へ進み、表示装置6に頂点を表示する。頂点を表示する処理は従来の図面編集装置と同様である。なお、「編集終了」イベントであれば、編集モードをOFFに設定するなどして処理を終了する。また、部品の未選択時に発生するイベントについては、従来の図面編集装置と同様の処理を行うこととなる。ステップST110の後は、ステップST102のイベント待ち状態へと戻る。
【0045】
このように、ステップST102〜ステップST110までの処理を、編集モードがOFFに設定されるまで繰り返し行う。
【0046】
<複線化部品生成処理>
以下、図5に示すフローチャートを用いて図4に示すステップST104の複線化部品生成処理の詳細について説明する。
【0047】
複線化部品生成処理においては、まず、複線化部品生成部2321が、複線化制御部品を生成する(ステップST1041)。複線化制御部品とは、複線化部品を構成する線分列部品を管理・制御する部品であり、複線化部品に対して編集が行われた際に、複線化部品を構成する線分列部品に対して一括で編集を行うための部品である。複線化部品を構成する線分列部品の情報や、基準線分列部品がどれであるかなどの情報を持っており、複線化部品一つに対し、一つ存在する。
【0048】
次に、複線化部品生成部2321は、入力装置5より入力された複線化する本数の情報を、ユーザ入力受付部22を介して取得する(ステップST1042)。
【0049】
次に、複線化部品生成部2321は、(ステップST1042で取得した本数−1)本分の並行線分列部品を生成する(ステップST1043)。
【0050】
次に、複線化部品生成部2321は、選択中の線分列部品とステップST1043で生成した並行線分列部品の情報を、複線化制御部品に登録し、また、選択中の線分列部品を基準線分列部品として、複線化制御部品に登録する。そして、得られた複線化制御部品の情報を、複線化制御部品情報格納部25へ格納する(ステップST1044)。
【0051】
次に、複線化部品生成部2321が、基準線分列部品の座標を部品情報格納部24から取得する(ステップST1045)。
【0052】
次に、複線化部品生成部2321は、ステップST1041で生成した複線化制御部品と、ステップST1045で取得した基準線分列の座標を、複線化部品座標算出部2325へ渡し、その情報を用いて、複線化部品座標算出部2325が並行線分列部品の座標を算出する(ステップST1046)。この処理の詳細については後述する。
【0053】
最後に、ステップST1046で算出した複線化部品に関する座標などの情報を表示部21へ渡すとともに、部品情報格納部24へ格納する(ステップST1047)。
【0054】
なお、基準線分列部品は、複線化部品生成時に使用したものとしているが、複線化部品生成後に、ユーザが指定し直してもよい。
【0055】
<個別部品化処理>
次に、図6に示すフローチャートを用いて図4に示すステップST105の個別部品化処理の詳細について説明する。
【0056】
個別部品化処理においては、まず、個別部品化部2324が、選択中の複線化部品の複線化制御部品を、複線化制御部品情報格納部25から取得する(ステップST1051)。
【0057】
次に、個別部品化部2324は、ステップST1051で取得した複線化制御部品を削除し(ステップST1052)、選択中の複線化部品の座標情報のみを表示部21へ渡す。
【0058】
複線化制御部品は、複線化部品を構成する線分列部品をまとめて管理するための部品であり、例えば、複数の複線化部品を束ねるような機能を持っているが表示されるものではない。これを削除することにより、複線化部品を構成する線分列部品を個々の部品として扱えるようになる。
【0059】
<複線化部品化処理>
次に、図7に示すフローチャートを用いて図4に示すステップST106の複線化部品化処理の詳細について説明する。
【0060】
複線化部品化処理においては、まず、複線化部品化処理部2323が、グループ化のための複線化制御部品を生成する(ステップST1061)。
【0061】
複線化制御部品は、基準線分列部品に対する編集が、並行線分列部品に対しても及ぶようにグループ化するための部品である。
【0062】
次に、複線化部品化処理部2323は、選択中の複数の線分列部品の座標を用いて、選択中の複数の線分列部品の中央に最も近い位置にある線分列部品を基準線分列部品に決定する(ステップST1062)。なお、上記の決定方法は、複数の線分列部品の中央に最も近い位置にある線分列部品を基準線分列部品として決定するという予め定めた決定条件に基づくものであるが、基準線分列部品の決定条件はこれに限ったものではない。
【0063】
決定条件を予め定めておくことで、基準線分列部品を自動的に決定でき、ユーザの手間を省くことができる。
【0064】
また、基準線分列部品は、ユーザが任意に指定できるようにしても良い。これにより、ユーザが基準線分列部品を自由に指定することができる。
【0065】
次に、複線化部品化処理部2323は、ステップST1061で生成した複線化制御部品に、選択中の複数の線分列部品を登録するとともに、ステップST1062で決定した基準線分列部品の情報を、複線化制御部品に登録する。そして、得られた複線化制御部品の情報を、複線化制御部品情報格納部25へ格納する(ステップST1063)。
【0066】
次に、複線化部品化処理部は、ステップST1061で生成した複線化制御部品と、ステップST1062で決定した基準線分列の座標を、複線化部品座標算出部2325へ渡し、その情報を用いて、複線化部品座標算出部2325が並行線分列部品の座標を算出する(ステップST1064)。この処理の詳細については後述する。
【0067】
最後に、ステップST1064で算出した複線化部品に関する座標などの情報を表示部21へ渡すとともに、部品情報格納部24へ格納する(ステップST1065)。
【0068】
複線化部品化処理部2323を備えることで、複線化部品として生成した部品でなくても複線化部品とすることができるので、ユーザは基準線分列部品を編集するだけで、並行線分列部品に対する編集を行うことができ、ユーザの編集作業が軽減される。
【0069】
<複線化部品変形処理>
次に、図8に示すフローチャートを用いて図4に示すステップST108の複線化部品変形処理の詳細について説明する。
【0070】
複線化部品変形処理においては、まず、複線化部品変形部2322が、選択中の複線化部品の複線化制御部品を、複線化制御部品情報格納部25から取得する(ステップST1081)。
【0071】
次に、複線化部品変形部2322は、基準線分列の変形後の座標を部品情報格納部24より取得する(ステップST1082)。
【0072】
次に、複線化部品変形部2322は、ステップST1081で取得した複線化制御部品と、ステップST1082で取得した変形後の基準線分列の座標を、複線化部品座標算出部2325へ渡し、その情報を用いて、複線化部品座標算出部2325が並行線分列部品の座標を算出する(ステップST1083)。この処理の詳細については後述する。
【0073】
最後に、複線化部品変形部2322は、ステップST1083で算出した複線化部品に関する座標などの情報を表示部21へ渡すとともに、部品情報格納部24へ格納する(ステップST1084)。
【0074】
<複線化部品座標算出処理>
次に、これまでにステップST1046(図5)、ST1064(図7)およびST1084(図8)として説明した複線化部品座標算出処理の詳細について、図9に示すフローチャートを用いて説明する。
【0075】
複線化部品座標算出処理においては、まず、複線化部品座標算出部2325が、複線化制御部品の情報から、複線化部品を構成する線分列部品の情報を取得する(ステップST10)。
【0076】
次に、複線化部品座標算出部2325は、基準線分列部品の座標と線の太さの情報を用いて、並行線分列部品の端点の座標を算出する(ステップST11)。この処理について、図10を用いて具体的に説明する。
【0077】
図10の(a)部には、線分列部品101を基準線分列部品として、線分列部品102および103が並行線分列部品となる場合を示している。線分列部品101は、点1011および点1014を線分列の端に位置する端点とし、点1012および点1013を線分列の頂点(屈曲点)として有している。同様に、線分列部品102は、点1021および点1024を線分列の端に位置する端点とし、点1022および点1023を線分列の頂点として有している。また、線分列部品103は、点1031および点1034を線分列の端に位置する端点とし、点1032および点1033を線分列の頂点として有している。
【0078】
また、線分列部品101は、点1011と点1012を通る線分を線分1015とし、点1012と点1013を通る線分を線分1016とし、点1013と点1014を通る線分を線分1017として有している。同様に、線分列部品102は、点1021と点1022を通る線分を線分1025とし、点1022と点1023を通る線分を線分1026とし、点1023と点1024を通る線分を線分1027として有している。また、線分列部品103は、点1031と点1032を通る線分を線分1035とし、点1032と点1033を通る線分を線分1036とし、点1033と点1034を通る線分を線分1037として有している。
【0079】
並行線分列部品である線分列部品102の端点1021の座標を算出する場合、以下の手順で端点1021の座標を求める。
【0080】
まず、図10の(b)部に示すように、基準線分列部品101の端点1011を通る線分1015に対して、垂直であって端点1011を通る垂線10111を求める。
【0081】
そして、図10の(c)部に示すように、端点1011から線分列部品101の線の太さwに等しい距離にあり、かつ、垂線10111上にある点10112を求める。点10112が、並行線分列部品102の端点1021となる。
【0082】
同様の処理で、並行線分列部品102の端点1024、並行線分列部品103の端点1031および1034の座標も求めることができる。
【0083】
また、図11には複線化する本数が5本である場合を示しており、図11の(a)部には、線分列部品111を基準線分列部品として、線分列部品112、113、114および115が並行線分列部品となる場合を示している。線分列部品111、112、113、114および115は、それぞれ一方の端点1111、1121、1131、1141および1151を有し、他方の端点1114、1124、1134、1144および1154を有している。
【0084】
図11の(a)部に示すように、基準線分列部品111の隣に、既に複線化部品を構成する他の線分列部品112がある場合に、線分列部品113の端点1131の座標を求めるには、図11の(b)部に示すように、線の太さw×本数に等しい距離にある点を求めれば良い。
【0085】
ここで、図9の説明に戻り、複線化部品座標算出部2325は、基準線分列部品の座標と、ステップST11で求めた端点の座標を用いて、並行線分列部品の端以外の点の座標を算出する(ステップST12)。この処理について、図10を用いて具体的に説明する。
【0086】
図10の(a)部に示す線分列部品101を基準線分列として、並行線分列部品102の頂点1022の座標を算出する場合、以下の手順で点1022の座標を求める。
【0087】
まず、図10の(d)部に示すように、線分1015上であって頂点1012から距離hの位置にある点10121と、線分1016上であって頂点1012から距離hの位置にある点10122を求める。
【0088】
次に、図10の(e)部に示すように、点10121を通る線分1015に対して、垂直であって点10121を通る垂線101211と、点10122を通る線分1016に対して、垂直であって点10122を通る垂線101221を求め、両者の交点を点10123とする。
【0089】
次に、図10の(f)部に示すように、垂線101211と垂線101221の交点10123と点1012とを通る線分10124を求める。
【0090】
その後、図10の(g)部に示すように、点10112を通り、線分1015に平行な線分10113を求め、線分10124と、線分10113との交点101241を求める。点101241が並行線分列部品102の頂点1022となる。
【0091】
同様の処理で、並行線分列部品102の頂点1023、並行線分列部品103の頂点1032および1033の座標も求めることができる。
【0092】
ここで、再び図9の説明に戻り、ステップST12で算出した並行線分列部品に関する座標などの情報と、基準線分列部品に関する座標などの情報を表示部21や部品情報格納部24へ渡す(ステップST13)。
【0093】
<図面編集操作>
以下、図12〜図16を用いて、図面編集装置100における図面編集操作について説明する。
【0094】
図12には、表示装置6(図1)に表示される図面編集画面の一例を示しており、ユーザが監視制御システムの監視画面を作成する例について説明する。
【0095】
ユーザは、表示装置6に表示される図面編集画面121に対して、部品の配置や変形などの編集を行う。図面編集画面121は、部品を挿入する部品挿入手段122と、図面を編集可能なシート123と、部品に対する編集内容を指定可能な編集指定手段124と、編集を行える編集モードと編集を行えない閲覧モードとの切り替えを行うためのモード切り替え手段125とを有している。
【0096】
編集指定手段124には、線分列部品から複線化部品を生成する複線化部品生成手段1241、複線化部品を個別部品に分解する個別部品化手段1242、複線化部品の芯線を表示する芯線表示手段1243、および複数の線分列部品を複線化部品にするための複線化部品化手段1244を含んでいる。
【0097】
以上説明した図面編集画面121を用いて、ユーザによる図面編集操作を説明する。
【0098】
まず、ユーザが、モード切り替え手段125を操作して、図面編集装置100を編集モードへ移行させ、図面の編集が行えるようにする。これは、図4を用いて説明したステップST101の処理に相当する。
【0099】
次に、ユーザが部品挿入手段122を用いて部品を入力する。ここでは、図12に示すように、部品126、127、128の入力を行ったものとする。この場合、図面編集装置100の内部では、図4を用いて説明したステップST102、ステップST103、およびステップST109、ステップST110を実行されることとなる。
【0100】
次に、ユーザが、マウスやキーボード等の入力装置5(図1)を介して、部品に対する編集内容を指定可能な編集指定手段124(図12)などを用いて、部品に対する編集を行う。
【0101】
ユーザが、一つの線分列部品を選択した後に、当該線分列部品に対して、複線化部品生成手段1241(図12)を用いて複線化する本数を指定すると、指定した本数の複線化部品が表示される。この操作を図13を用いて説明する。
【0102】
図13の(a)部には、ユーザが選択した線分列部品131が示されており、これに対して複線化する本数を3本として複線化部品生成手段1241を用いると、図13の(b)部に示すような複線化部品132が図面編集画面121(図12)上に表示される。図13の(b)に示される複線化部品132は、線分列部品131、1321、1322で構成されている。この場合、図面編集装置100の内部では、図4を用いて説明したステップST102〜ステップST104、およびステップST110が実行されることとなる。
【0103】
ユーザが、複線化部品を選択した後に、個別部品化手段1242(図12)を用いると、複線化部品が個別部品に分解される。この操作を図14を用いて説明する。
【0104】
図14の(a)部には、ユーザが選択した複線化部品141が示されており、これに対して個別部品化手段1242(図12)を用いると、図14の(b)部に示されるように個別の線分列部品142、143および144に分解され、図14の(c)部に示されるように、線分列部品142を他から引き離すなど、それぞれが個別の線分列部品として独立して編集できるようになる。この場合、図面編集装置100の内部では、図4を用いて説明したステップST102、ステップST103、ステップST105およびステップST110が実行されることとなる。
【0105】
ユーザが、複線化部品を選択した後に、芯線表示手段1243(図12)を用いると、選択した複線化部品の芯線が表示される。この操作を図15を用いて説明する。
【0106】
図15の(a)部には、ユーザが選択した複線化部品151が示されており、これに対して芯線表示手段1243(図12)を用いることで、複線化部品151の芯線152が表示される。この場合、図面編集装置100の内部では、図4を用いて説明したステップST102、ステップST103、ステップST107およびステップST110が実行されることとなる。
【0107】
引き続き、ユーザがマウスのドラッグ操作などにより、図15の(b)部に示される矢印ARの方向に芯線152の変形を行うと、複線化部品151を構成する線分列部品1511、1512および1513に、その変形状態が反映され、図15の(c)部に示されるように、線分列部品1511〜1513を一括して変形させることができる。この場合、図面編集装置100の内部では、図4を用いて説明したステップST102、ステップST103、ステップST108およびステップST110が実行されることとなる。
【0108】
ユーザが、複数の線分列部品を選択した後に、複線化部品化手段1244(図12)を用いると、それらの部品を複線化部品として扱うことができる。この操作を図16を用いて説明する。
【0109】
図16の(a)部には、ユーザが選択した3本の線分列部品161、162および163を示している。これらに対して複線化部品化手段1244(図12)を用いると、これらが1つの複線化部品として扱えるようになり、図16の(b)部に示すように複線化部品164として図面編集画面121(図12)上に表示される。なお、図16の(b)部の例では、選択した線分列部品161、162および163のうち、画面の中央に最も近い位置の線分列部品162を基準線分列部品としたが、図16の(c)部に示されるように、選択した線分列部品161、162および163のうち、画面中央から最も遠い位置の線分列部品163を基準線分列部品としても良い。また、基準線分列部品はユーザが任意に指定しても良い。この場合、図面編集装置100の内部では、図4を用いて説明したステップST102、ステップST103、ステップST106およびステップST110が実行されることとなる。
【0110】
ユーザによる所望の編集が終了した場合は、モード切り替え手段125(図12)を用いて、編集モードを終了させる。編集モードが終了するまで、図面編集装置100の内部では、ステップST102〜ステップST110の処理が繰り返される。
【0111】
<効果>
以上説明したように、複線化部品を用いることにより、基準線分列部品を編集するだけで、並行線分列部品に対する編集を行うことができ、ユーザは互いに並行する全ての線分列部品に対して同じ編集を行う必要がなくなるので、編集作業が軽減される。
【0112】
すなわち、従来は、折れ線や多角形等の点列で構成される図形の形状を編集する処理を各図形に対して行っていたため、並行する複数本の線分列部品を編集する場合には、それらの本数分の編集作業が必要であった。しかし、実施の形態1に係る図面編集装置100を用いることで、互いに並行する線分列部品が複数存在する場合には、それらを複線化部品として一括することができ、その内の1本の線分列部品に対して編集作業を行えば良く、少ない手数で編集を行うことができる。
【0113】
また、複線化部品を編集後、個別部品に分解できるため、一括して編集した後、個々の部品として編集することもでき、ユーザは制約なく所望の編集操作を実行できる。
【0114】
<実施の形態2>
実施の形態2に係る図面編集装置においては、複線化部品を構成する線分列部品の隣り合う線分がなす角の表示方法が選択可能に構成されている。より具体的には、線分列部品の屈曲部ごとに、角部として表示するか、円弧で表示するかを選択可能となっている。
【0115】
<装置構成>
図17は、図1に示したコンピュータシステムによって実現される実施の形態2の図面編集装置200の構成を示すブロック図である。なお、図2に示した図面編集装置200と同一の構成については同一の符号を付し、重複する説明は省略する。
【0116】
図17に示す図面編集装置200においては、複線化部品編集部232内に、複線化部品角部変形部2326を有している。また、複線化部品座標算出部2325は、基準線分列部品の座標を用いて、並行線分列部品の座標の他に、複線化部品の角部の同心円の、中心座標、半径、線分列部品との接点座標を求めることができる構成となっている。
【0117】
また、部品情報格納部24は、部品情報に加えて、複線化部品座標算出部2325で算出した、複線化部品の角部の同心円の、中心座標、半径、線分列部品との接点座標の情報を格納する構成となっている。
【0118】
また、複線化制御部品情報格納部25は、複線化制御部品情報に加えて、複線化部品を構成する線分列部品の中にある、線分どうしがなす角部を、角形として表示するか、円弧で表示するかの角部形状情報を格納する構成となっている。
【0119】
また、複線化部品角部変形部2326は、複線化制御部品が持つ角部形状情報を取得・更新し、部品情報格納部24から角部形状情報に合った複線化部品の座標などの情報を取得する。なお、角部形状情報に合った情報が部品情報格納部24に存在しない場合は、複線化部品座標算出部2325で算出される情報を取得し、部品情報格納部24に格納する。その後、表示部21に複線化部品の情報を渡す。
【0120】
なお、複線化部品角部変形部2326は、外部記憶装置4に記憶されたソフトウェアプログラムを主記憶装置3に読み出して、中央処理装置2により実行することにより実現される。
【0121】
<編集処理の全体の流れ>
次に、複線化部品の編集を行う際の、図面編集装置200内での処理手順を説明する。図18は、複線化部品の編集処理の全体の流れを示すフローチャートである。
【0122】
図18において、ステップST201、ステップST202、ステップST204、ステップST205、ステップST206、ステップST207、ステップST208およびステップST209は、それぞれ、図4に示した図面編集装置100内でのステップST101、ステップST102、ステップST104、ステップST105、ステップST106、ステップST107、ステップST108およびステップST109と同様の処理を行う。
【0123】
イベントが発生すると、ユーザ入力受付部22がイベントの判定を行う(ステップST203)。ここで、部品の選択中に発生するイベントの一覧を表2に示す。
【0124】
【表2】
【0125】
表2において、“−”は無効イベント、または、発生し得ないイベントを示している。発生したイベントは、選択中の部品の種類と、イベント発生時の条件とによって判定される。なお、表1との相違は、「複線化部品角部変形」イベントが加わっていることである。
【0126】
また、表2では、入力装置5としてマウスを使用し、かつ、「複線化部品生成」などのメニューが、図面編集装置のメニューバーから表示されるプルダウンメニューの中にある場合の条件を示している。例えば、マウスの左ボタンでクリックした位置が、図面編集装置のメニューバーから表示されるプルダウンメニューの「複線化部品生成」であった場合には、「複線化部品生成」イベントが発生する。また、マウスの右ボタンでクリックした位置が、複線化部品に表示されている芯線の頂点であった場合には、「複線化部品角部変形」イベントが発生する。
【0127】
表2では、イベントの発生をマウスにより行うものとし、マウスイベントを、「左ボタンをクリック」、「右ボタンをクリック」、「左ボタンでドラッグ開始」および「その他」に分類している。
【0128】
また、イベントの例として、「複線化部品生成」、「頂点表示」、「複線化部品化」、「芯線表示」、「個別部品化」、「複線化部品変形」、「複線化部品角部変形」および「通常処理」を挙げている。
【0129】
表2において、選択対象部品とイベントの有効、無効の関係は表1とほぼ同じであるが、選択対象部品が「複数化部品」である場合、「芯線表示」、「個別部品化」、「複線化部品変形」および「複線化部品角部変形」が有効なイベントとなる。
【0130】
ここで、図18の説明に戻り、ユーザ入力受付部22でのイベント判定の結果、入力されたイベントが、「複線化部品角部変形」イベントであれば、複線化部品角部変形処理(ステップST211)を実行し、その他のイベントであれば、実施の形態1の図面編集装置200と同様の動作を行う。
【0131】
ステップST204〜209およびステップST211の何れかの処理を実行した後は、ステップST210において表示部21がステップST204〜209およびステップST211で編集された各部品を表示装置6に表示する。ステップST210の後は、ステップST202のイベント待ち状態へと戻る。
【0132】
このように、ステップST202〜ステップST211までの処理を、編集モードがOFFに設定されるまで繰り返し行う。
【0133】
なお、ステップST204の複線化部品生成処理、ステップST205の個別部品化処理、ステップST206の複線化部品化処理、ステップST208の複線化部品変形処理は、先に説明した実施の形態1のステップST104(図5)、ST105(図6)、ST106(図7)およびST108(図8)と同じであるが、異なるのはステップST104、ST106およびST108における複線化部品座標算出処理(ST1046、ST1064、ST1083)である。
【0134】
<複線化部品座標算出処理>
以下、図19に示すフローチャートを用いて実施の形態2の図面編集装置200における複線化部品座標算出部2325での複線化部品座標算出処理について説明する。
【0135】
図19においては、実施の形態1における図9のフローチャートのステップST12をステップST121に入れ替えたものであり、それ以外の処理内容は図9と同様であるので説明は省略する。
【0136】
ステップST121において、複線化部品座標算出部2325はステップST12(図9)と同様に、基準線分列部品の座標と、ステップST11で求めた端点の座標を用いて、並行線分列部品の端以外の点の座標を算出する。ただし、並行線分列部品の端以外の点を求める際に算出される座標を部品情報格納部24に記憶する点が異なる。
【0137】
例えば、図10の(f)部に示される点10123を、線分1015と線分1016が成す角部の同心円の中心座標として記憶する。また、図10の(e)部に示される点10121を線分1015における同心円の接点とし、点10122を線分1016における同心円の接点として記憶する。また、図10の(d)部、(e)部、(f)部および(g)部で説明した手順に、以下の手順を加え、同心円の半径を記憶する。すなわち、図10の(e)部に示される、点10121と点10123の距離を求め、同心円の半径とする。
【0138】
<複線化部品角部変形処理>
次に、図20に示すフローチャートを用いて図18に示すステップST211の複線化部品角部変形処理の詳細について説明する。
【0139】
複線化部品角部変形処理においては、まず、複線化部品角部変形部2326が、選択中の複線化部品の複線化制御部品を、複線化制御部品情報格納部25から取得する(ステップST2111)。
【0140】
次に、複線化部品角部変形部2326は、入力装置5より指定された頂点の情報を、ユーザ入力受付部22より取得する。取得した頂点の情報を用いて、当該頂点の角部形状情報を、ステップST2111で取得した複線化制御部品より取得する(ステップST2112)。ここで、角部形状情報は複線化制御部品に含まれ、角部を角形として表示するか、円弧で表示するかの情報であり、デフォルトでの設定として角形あるいは円弧とすることが設定されている。デフォルトでどちらかに設定されていたとしても、それを見たユーザが任意に変更できるので問題はない。
【0141】
次に、複線化部品角部変形部2326は、指定された頂点の角部形状情報を更新する(ステップST2113)。すなわち、ステップST2112で取得した情報が「角形で表示」であれば「円弧で表示」に更新するとともに、複線化制御部品情報格納部25の情報を更新する。また、ステップST2112で取得した情報が「円弧で表示」であれば「角形で表示」に更新するとともに、複線化制御部品情報格納部25の情報を更新する。
【0142】
次に、複線化部品角部変形部2326は、複線化部品の座標などの情報を、部品情報格納部24から取得する(ステップST2114)。
【0143】
次に、複線化部品角部変形部2326は、更新した角部形状情報から角部形状を判定する(ステップST2115)。そして、判定した角部形状が「角形」であれば、ステップST21110に進み、「円弧」であれば、ステップST2116に進む。
【0144】
ステップST2116では、複線化部品角部変形部2326は、ステップST2114で取得した情報の中に、指定された角部の同心円の中心座標、半径、接点座標などの円弧情報があるか否かを判定する。円弧情報が「ある」場合は、ステップST2119に進む。一方、円弧情報が「ない」場合は、ステップST2117に進む。
【0145】
ステップST2117の複線化部品座標算出処理は、図19を用いて説明した処理と同じであり、並行線分列部品の端以外の点の座標を算出する処理であるが、算出結果には角部の同心円の中心座標、同心円の接点座標、同心円の半径などの円弧情報を含んでいる。
【0146】
次に、複線化部品角部変形部2326は、ステップST2117において算出した円弧情報を、部品情報格納部24に格納する(ステップST2118)。
【0147】
次に、複線化部品角部変形部2326は、ステップST2114で取得した複線化部品の座標と、ステップST2117で算出した円弧情報を、表示部21へ渡す(ステップST2119)。
【0148】
また、複線化部品角部変形部2326は、ステップST2114で取得した複線化部品の座標を表示部21へ渡す(ステップST21110)。この場合、指定した角部の円弧情報は渡さない。
【0149】
<図面編集操作>
次に、図21および図22を用いて、図面編集装置200における図面編集操作について説明する。なお、以下では複線化部品の角部を、角形で表示するか、円弧で表示するかを、角部ごとに選択するユーザの操作を説明する。その他の操作は、図12を用いて説明した実施の形態1と同様である。
【0150】
図21には、表示装置6(図1)に表示される図面編集画面の一例を示しており、ユーザが監視制御システムの監視画面を作成する例について説明する。
【0151】
図21に示す図面編集画面121Aは、編集指定手段124に角部の形状を切り替える角部形状切り替え手段1245を有している点で図12に示した図面編集画面121と異なっている。
【0152】
この、角部形状切り替え手段1245は、例えば、編集指定手段124の角部形状切替手段1245を選択すると、複線化部品にある選択中の頂点の角部の形状を切り替えることができる。また、角部形状切替手段1245は、図面編集装置のメニューバーから表示されるプルダウンメニューにあるものでなく、角部の形状を切り替えたい複線化部品の頂点を、マウスで右クリックするという手段としても良い。
【0153】
次に、ユーザが、複線化部品を選択した後に、当該複線化部品に対して複線化部品角部変形処理を施す操作を図22を用いて説明する。
【0154】
図22の(a)部には、ユーザが選択した複線化部品2101が示されており、この複線化部品2101に対して、芯線表示手段1243を用いると、図21の(a)部に示すように芯線2102が表示される。この場合、図面編集装置200の内部では、図18を用いて説明したステップST202、ステップST203、ステップST207およびステップST210が実行されることとなる。
【0155】
次に、ユーザが角部を丸めたい頂点上で、角部形状切り替え手段1245を用いると、図22の(b)部に示されるように角部を丸めて表示される。すなわち、頂点21021上でマウスの右クリック操作を行うと、図22の(b)部に示すように、角部が丸まって(円弧で)表示される。一方、丸めた角部の頂点上で、角部形状切り替え手段1245を用いると(マウスの右クリック操作を行うと)、図22の(a)部で示す形状に戻すことができる。この場合、図面編集装置200の内部では、図18を用いて説明したステップST202、ステップST203、ステップST211およびステップST210が実行されることとなる。
【0156】
<効果>
以上説明したように、実施の形態2に係る図面編集装置200では、複線化部品の任意の角部の形状を、角または円弧として表示させることができる。
【符号の説明】
【0157】
21 表示部、22 ユーザ入力受付部、23 部品編集部、24 部品情報格納部、25 複線化制御部品情報格納部、211 頂点表示部、212 芯線表示部、231 従来部品編集部、232 複線化部品編集部、2321 複線化部品生成部、2322 複線化部品変形部、2323 複線化部品化処理部、2324 個別部品化部、2325 複線化部品座標算出部、2326 複線化部品角部変形部。
【技術分野】
【0001】
本発明は、部品の配置や構造などを設計する際に用いられる、図面編集装置および図面編集プログラムに関する。
【背景技術】
【0002】
例えば特許文献1に開示されるような従来の図面編集装置では、折れ線(線分列部品)を簡単に修正する技術を開示しており、そこには、ユーザが修正対象部分の線図に、修正用の線図を直接描き加えることを可能とする技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平6−131435号公報(図5、図6)
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来の図面編集装置においては、ユーザが修正対象部分の線図に、修正用の線図を直接描き加えることが可能であるが、線分列部品が平行して複数存在するような場合、並行するすべての線分列部品に対して、それらの位置関係を保ったまま変形などの編集を行うには、ユーザが並行する全ての線分列部品に対して編集を行う必要があるため、ユーザの手間がかかるという問題があった。
【0005】
本発明は、上記のような問題を解決するためになされたものであり、図面編集時に、少ない手数で並行する複数本の線分列部品を編集することが可能な図面編集装置および図面編集プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係る図面編集装置の態様は、線分を連ねて構成される線分列部品を含む複数の部品で構成される図面を、表示装置の画面上で作成する図面編集装置であって、前記線分列部品の1つを基準線分列部品とし、前記基準線分列部品と、前記基準線分列部品に並行に配置される並行線分列部品とをグループ化した複線化部品を生成するとともに、前記複線化部品を含めて前記部品の生成、選択、変形および削除を含む編集を行う部品編集部と、前記部品編集部から前記画面に表示する前記部品の情報を受け、前記画面に表示する前記部品の表示処理を行う表示部とを備え、前記複線化部品は、前記基準線分列部品に対する編集が、前記並行線分列部品に対しても及ぶようにグループ化される。
【発明の効果】
【0007】
本発明によれば、基準線分列部品に対する編集が並行線分列部品に対しても及ぶので、ユーザは並行線分列部品に対して編集を行う必要がなく、編集作業が軽減される。
【図面の簡単な説明】
【0008】
【図1】本発明に係る図面編集装置を示すハードウェア構成図である。
【図2】本発明に係る実施の形態1の図面編集装置を示すブロック図である。
【図3】本発明に係る実施の形態1の図面編集装置により作成する複線化部品を示す図である。
【図4】本発明に係る実施の形態1の図面編集装置の内部処理全体の手順を示すフローチャートである。
【図5】本発明に係る実施の形態1の図面編集装置の複線化部品生成処理の手順を示すフローチャートである。
【図6】本発明に係る実施の形態1の図面編集装置の個別部品化処理の手順を示すフローチャートである。
【図7】本発明に係る実施の形態1の図面編集装置の複線化部品化処理の手順を示すフローチャートである。
【図8】本発明に係る実施の形態1の図面編集装置の複線化部品変形処理の手順を示すフローチャートである。
【図9】本発明に係る実施の形態1の図面編集装置の複線化部品座標算出処理の手順を示すフローチャートである。
【図10】本発明に係る実施の形態1の図面編集装置による並行線分列部品の座標を算出する方法の一例を示す図である。
【図11】本発明に係る実施の形態1の図面編集装置による5本に複線化した場合の並行線分列部品の座標を算出する方法の一例を示す図である。
【図12】本発明に係る実施の形態1の図面編集装置による図面編集画面の一例を示す図である。
【図13】本発明に係る実施の形態1の図面編集装置において線分列部品から複線化部品を生成する場合の一例を示す図である。
【図14】本発明に係る実施の形態1の図面編集装置において複線化部品を個別部品化する場合の一例を示す図である。
【図15】本発明に係る実施の形態1の図面編集装置において複線化部品に芯線を表示し変形する場合の一例を示す図である。
【図16】本発明に係る実施の形態1の図面編集装置において複数の部品を複線化部品化する場合の一例を示す図である。
【図17】本発明に係る実施の形態2の図面編集装置を示すブロック図である。
【図18】本発明に係る実施の形態2の図面編集装置の内部処理全体の手順を示すフローチャートである。
【図19】本発明に係る実施の形態2の図面編集装置の複線化部品座標算出処理の手順を示すフローチャートである。
【図20】本発明に係る実施の形態2の図面編集装置の複線化部品角変形処理の手順を示すフローチャートである。
【図21】本発明に係る実施の形態2の図面編集装置による図面編集画面の一例を示す図である。
【図22】本発明に係る実施の形態2の図面編集装置において複線化部品の角を円弧で表示する場合の一例を示す図である。
【発明を実施するための形態】
【0009】
<実施の形態1>
<図面編集装置の機能の概略>
実施の形態1に係る図面編集装置の機能の概略は、ユーザが、基準となる線分列部品(本願では、折れ線のように複数の線分を連ねて構成される構成をこのように呼称)を1つ指定して編集すると、それに並行する複数本の線分列部品の情報を同時に構築あるいは再構築し、編集した内容を、並行する複数本の線分列部品に反映するものである。
【0010】
ここで、編集とは、例えば、部品を生成することや、部品を変形することを指している。また、本発明に係る図面編集装置は、主に、道路の交通状況や鉄道の運行状況などを監視する監視制御システムの監視画面の設計図、電気回路図、電気・電子機器、機械や土木建築物等の設計結果を記した設計図等を編集の対象とする。
【0011】
以下、基準となる線分列部品を「基準線分列部品」、基準線分列部品に並行に配置される線分列部品を「並行線分列部品」と記述する。
【0012】
<装置構成>
図1は実施の形態1に係る図面編集装置を、コンピュータシステムのハードウェアにより実現する場合のハードウェア構成を示すブロック図である。
【0013】
図1に示すコンピュータシステムは、中央処理装置2と、主記憶装置3と、ハードディスク等の外部記憶装置4とを有するコンピュータ1と、マウスやキーボード等の入力装置5と、ディスプレイ等の表示装置6とで、その主要部が構成されている。
【0014】
図2は、図1に示したコンピュータシステムによって実現される実施の形態1の図面編集装置100の構成を示すブロック図である。
【0015】
図2に示すように図面編集装置100は、コンピュータ1(図1)内で実現される表示部21、ユーザ入力受付部22、部品編集部23、部品情報格納部24および複線化制御部品情報格納部25と、入力装置5および表示装置6を備えている。
【0016】
部品情報格納部24および複線化制御部品情報格納部25は、コンピュータ1(図1)内の主記憶装置3および/または外部記憶装置4で実現される。
【0017】
表示部21、ユーザ入力受付部22および部品編集部23は、外部記憶装置4に記憶されたソフトウェアプログラムを主記憶装置3に読み出して、中央処理装置2により実行することにより実現される。
【0018】
表示部21は、部品編集部23で編集された部品を表示処理して表示装置6に表示し、ユーザ入力受付部22は、入力装置5から入力された入力点の座標を受け取り、部品編集部23に出力する。
【0019】
部品情報格納部24は、複線化部品を構成する各部品の情報を含む、画面上に描画する部品の情報を格納している。複線化制御部品情報格納部25は、複線化部品を制御する部品の情報を格納している。
【0020】
部品編集部23は、基準線分列部品の座標を部品情報格納部24より受け取り、その座標を用いて、複線化部品の座標を算出する複線化部品座標算出部2325と、複線化部品座標算出部2325で算出された複線化部品の座標を用いて複線化部品を生成する複線化部品生成部2321と、複線化部品座標算出部2325で算出された複線化部品の座標を用いて複線化部品の変形を行う、複線化部品変形部2322と、複数の部品を複線化部品としてグループ化する複線化部品化処理部2323と、複線化された部品を個別部品に分解する個別部品化部2324と、を含む複線化部品編集部232を有している。また、基準線分列部品を含む従来部品の、生成、選択、変形、削除を行う従来部品編集部231を有している。
【0021】
表示部21は、部品編集部23からの情報を受け、従来部品の頂点の表示処理を行う頂点表示部211と、複線化部品の基準線分列部品の頂点の表示処理を行う芯線表示部212とを有している。
【0022】
次に、複線化部品について説明する。複線化部品は、基準線分列部品と並行線分列部品から構成され、基準線分列部品と並行線分列部品に対して、一括で生成、変形などの編集処理を行うことができる。
【0023】
図3に複線化部品の一例を示す。図3に示す複線化部品31は、1本の線分列部品311を基準線分列部品とし、線分列部品311に並行に密接して2本の線分列部品である、並行線分列部品312、313を配置した構成となっている。図3では、基準線分列部品311を中央に置いて3本に複線化した例を示しているが、線分列部品312あるいは313を基準線分列部品としても図3と同様の複線化部品が得られる。
【0024】
<編集処理の全体の流れ>
次に、複線化部品の編集を行う際の、図面編集装置100内での処理手順を説明する。図4は、複線化部品の編集処理の全体の流れを示すフローチャートである。
【0025】
まず、編集モードが「ON」に設定されることで、図面編集装置100は処理を開始する(ステップST101)。なお、表示装置6上に開かれる入力画面において各種のモードが選択可能に表示されており、この入力画面に基づいて編集モードの「ON」、「OFF」を設定することができる。
【0026】
編集モードが「ON」に設定された後は、イベント待ちの状態に入る(ステップST102)。ここで、イベントとは、入力装置5からの入力に相当し、イベント情報はユーザ入力受付部22に渡される。
【0027】
イベントが発生すると、ユーザ入力受付部22がイベントの判定を行う(ステップST103)。
【0028】
ここで、部品の選択中に発生するイベントの一覧を表1に示す。
【0029】
【表1】
【0030】
表1において、“−”は無効イベント、または、発生し得ないイベントを示している。発生したイベントは、選択中の部品の種類と、イベント発生時の条件とによって判定される。
【0031】
また、表1では、入力装置5としてマウスを使用し、かつ、「複線化部品生成」などのメニューが、図面編集装置のメニューバーから表示されるプルダウンメニューの中にある場合の条件を示している。例えば、マウスの左ボタンでクリックした位置が、図面編集装置のメニューバーから表示されるプルダウンメニューの「複線化部品生成」であった場合には、「複線化部品生成」イベントが発生する。
【0032】
なお、入力装置5としてキーボードを使用し、キーボードによって「複線化部品生成」メニューを選択した場合も、同等のイベントが発生する。また、「複線化部品作成」などのメニューは、ポップアップメニューの中にあってもよい。
【0033】
表1では、イベントの発生をマウスにより行うものとし、マウスイベントを、「左ボタンをクリック」、「左ボタンでドラッグ開始」および「その他」に分類している。
【0034】
また、イベントの例として、「複線化部品生成」、「頂点表示」、「複線化部品化」、「芯線表示」、「個別部品化」、「複線化部品変形」および「通常処理」を挙げている。
【0035】
表1において、選択対象部品が「一つの線分列」である場合、「複線化部品生成」および「頂点表示」は有効なイベントであるが、他のイベントは無効イベントとなることを示している。また、選択対象部品が「複数の線分列」である場合、「複線化部品化」のみが有効なイベントとなることを示している。また、選択対象部品が「複数化部品」である場合、「芯線表示」、「個別部品化」および「複線化部品変形」は有効なイベントとなるが、他のイベントは無効イベントとなることを示している。また、選択対象部品が「その他の部品」である場合、「頂点表示」のみが有効なイベントとなることを示している。なお、何れの選択対象部品であっても通常編集処理や編集終了は有効である。
【0036】
ここで、図4の説明に戻り、ユーザ入力受付部22でのイベント判定の結果、入力されたイベントが、「複線化部品生成」イベントであれば、複線化部品生成処理(ステップST104)を実行する。また、「個別部品化」イベントであれば、個別部品化処理(ステップST105)を実行する。「複線化部品化」イベントであれば、複線化部品化処理(ステップST106)を実行する。「芯線表示」イベントであれば、芯線表示処理(ステップST107)を実行する。「複線化部品変形」イベントであれば、複線化部品変形処理(ステップST108)を実行する。「通常編集処理」イベントであれば編集処理(ステップST109)を実行し、従来と同様の編集処理を行う。
【0037】
複線化部品生成処理(ステップST104)は、複線化部品生成部2321が、選択された線分列部品の座標を用いて複線化部品を生成する。処理の詳細については後述する。
【0038】
個別部品化処理(ステップST105)は、個別部品化部2324が、選択された複線化部品を個別の部品に分解する。処理の詳細については後述する。
【0039】
複線化部品化処理(ステップST106)は、複線化部品化処理部2323が、選択された複数の線分列部品を複線化部品として扱えるよう、部品を変形するなどの処理を行う。処理の詳細については後述する。
【0040】
芯線表示処理(ステップST107)は、芯線表示部212が、選択された複線化部品の基準線分列部品を、部品編集部23を介して複線化制御部品情報格納部25から取得した後、取得した基準線分列部品の座標を、部品編集部23を介して、部品情報格納部24から取得する。そして、基準線分列部品の座標を用いて、芯線の位置を決定する。
【0041】
複線化部品変形処理(ステップST108)は、複線化部品変形部2322が、選択された複線化部品の芯線の変形状態に応じて、複線化部品の変形を行う。処理の詳細については後述する。
【0042】
編集処理(ステップST109)は、従来部品編集部231が、指定された編集処理を行う。処理の内容は、従来の図面編集装置と同様である。
【0043】
なお、上記何れかの処理を実行した後は、ステップST110において表示部21がステップST104〜109で編集された各部品を表示装置6に表示する。
【0044】
入力されたイベントが「頂点表示」イベントであれば、ステップST110へ進み、表示装置6に頂点を表示する。頂点を表示する処理は従来の図面編集装置と同様である。なお、「編集終了」イベントであれば、編集モードをOFFに設定するなどして処理を終了する。また、部品の未選択時に発生するイベントについては、従来の図面編集装置と同様の処理を行うこととなる。ステップST110の後は、ステップST102のイベント待ち状態へと戻る。
【0045】
このように、ステップST102〜ステップST110までの処理を、編集モードがOFFに設定されるまで繰り返し行う。
【0046】
<複線化部品生成処理>
以下、図5に示すフローチャートを用いて図4に示すステップST104の複線化部品生成処理の詳細について説明する。
【0047】
複線化部品生成処理においては、まず、複線化部品生成部2321が、複線化制御部品を生成する(ステップST1041)。複線化制御部品とは、複線化部品を構成する線分列部品を管理・制御する部品であり、複線化部品に対して編集が行われた際に、複線化部品を構成する線分列部品に対して一括で編集を行うための部品である。複線化部品を構成する線分列部品の情報や、基準線分列部品がどれであるかなどの情報を持っており、複線化部品一つに対し、一つ存在する。
【0048】
次に、複線化部品生成部2321は、入力装置5より入力された複線化する本数の情報を、ユーザ入力受付部22を介して取得する(ステップST1042)。
【0049】
次に、複線化部品生成部2321は、(ステップST1042で取得した本数−1)本分の並行線分列部品を生成する(ステップST1043)。
【0050】
次に、複線化部品生成部2321は、選択中の線分列部品とステップST1043で生成した並行線分列部品の情報を、複線化制御部品に登録し、また、選択中の線分列部品を基準線分列部品として、複線化制御部品に登録する。そして、得られた複線化制御部品の情報を、複線化制御部品情報格納部25へ格納する(ステップST1044)。
【0051】
次に、複線化部品生成部2321が、基準線分列部品の座標を部品情報格納部24から取得する(ステップST1045)。
【0052】
次に、複線化部品生成部2321は、ステップST1041で生成した複線化制御部品と、ステップST1045で取得した基準線分列の座標を、複線化部品座標算出部2325へ渡し、その情報を用いて、複線化部品座標算出部2325が並行線分列部品の座標を算出する(ステップST1046)。この処理の詳細については後述する。
【0053】
最後に、ステップST1046で算出した複線化部品に関する座標などの情報を表示部21へ渡すとともに、部品情報格納部24へ格納する(ステップST1047)。
【0054】
なお、基準線分列部品は、複線化部品生成時に使用したものとしているが、複線化部品生成後に、ユーザが指定し直してもよい。
【0055】
<個別部品化処理>
次に、図6に示すフローチャートを用いて図4に示すステップST105の個別部品化処理の詳細について説明する。
【0056】
個別部品化処理においては、まず、個別部品化部2324が、選択中の複線化部品の複線化制御部品を、複線化制御部品情報格納部25から取得する(ステップST1051)。
【0057】
次に、個別部品化部2324は、ステップST1051で取得した複線化制御部品を削除し(ステップST1052)、選択中の複線化部品の座標情報のみを表示部21へ渡す。
【0058】
複線化制御部品は、複線化部品を構成する線分列部品をまとめて管理するための部品であり、例えば、複数の複線化部品を束ねるような機能を持っているが表示されるものではない。これを削除することにより、複線化部品を構成する線分列部品を個々の部品として扱えるようになる。
【0059】
<複線化部品化処理>
次に、図7に示すフローチャートを用いて図4に示すステップST106の複線化部品化処理の詳細について説明する。
【0060】
複線化部品化処理においては、まず、複線化部品化処理部2323が、グループ化のための複線化制御部品を生成する(ステップST1061)。
【0061】
複線化制御部品は、基準線分列部品に対する編集が、並行線分列部品に対しても及ぶようにグループ化するための部品である。
【0062】
次に、複線化部品化処理部2323は、選択中の複数の線分列部品の座標を用いて、選択中の複数の線分列部品の中央に最も近い位置にある線分列部品を基準線分列部品に決定する(ステップST1062)。なお、上記の決定方法は、複数の線分列部品の中央に最も近い位置にある線分列部品を基準線分列部品として決定するという予め定めた決定条件に基づくものであるが、基準線分列部品の決定条件はこれに限ったものではない。
【0063】
決定条件を予め定めておくことで、基準線分列部品を自動的に決定でき、ユーザの手間を省くことができる。
【0064】
また、基準線分列部品は、ユーザが任意に指定できるようにしても良い。これにより、ユーザが基準線分列部品を自由に指定することができる。
【0065】
次に、複線化部品化処理部2323は、ステップST1061で生成した複線化制御部品に、選択中の複数の線分列部品を登録するとともに、ステップST1062で決定した基準線分列部品の情報を、複線化制御部品に登録する。そして、得られた複線化制御部品の情報を、複線化制御部品情報格納部25へ格納する(ステップST1063)。
【0066】
次に、複線化部品化処理部は、ステップST1061で生成した複線化制御部品と、ステップST1062で決定した基準線分列の座標を、複線化部品座標算出部2325へ渡し、その情報を用いて、複線化部品座標算出部2325が並行線分列部品の座標を算出する(ステップST1064)。この処理の詳細については後述する。
【0067】
最後に、ステップST1064で算出した複線化部品に関する座標などの情報を表示部21へ渡すとともに、部品情報格納部24へ格納する(ステップST1065)。
【0068】
複線化部品化処理部2323を備えることで、複線化部品として生成した部品でなくても複線化部品とすることができるので、ユーザは基準線分列部品を編集するだけで、並行線分列部品に対する編集を行うことができ、ユーザの編集作業が軽減される。
【0069】
<複線化部品変形処理>
次に、図8に示すフローチャートを用いて図4に示すステップST108の複線化部品変形処理の詳細について説明する。
【0070】
複線化部品変形処理においては、まず、複線化部品変形部2322が、選択中の複線化部品の複線化制御部品を、複線化制御部品情報格納部25から取得する(ステップST1081)。
【0071】
次に、複線化部品変形部2322は、基準線分列の変形後の座標を部品情報格納部24より取得する(ステップST1082)。
【0072】
次に、複線化部品変形部2322は、ステップST1081で取得した複線化制御部品と、ステップST1082で取得した変形後の基準線分列の座標を、複線化部品座標算出部2325へ渡し、その情報を用いて、複線化部品座標算出部2325が並行線分列部品の座標を算出する(ステップST1083)。この処理の詳細については後述する。
【0073】
最後に、複線化部品変形部2322は、ステップST1083で算出した複線化部品に関する座標などの情報を表示部21へ渡すとともに、部品情報格納部24へ格納する(ステップST1084)。
【0074】
<複線化部品座標算出処理>
次に、これまでにステップST1046(図5)、ST1064(図7)およびST1084(図8)として説明した複線化部品座標算出処理の詳細について、図9に示すフローチャートを用いて説明する。
【0075】
複線化部品座標算出処理においては、まず、複線化部品座標算出部2325が、複線化制御部品の情報から、複線化部品を構成する線分列部品の情報を取得する(ステップST10)。
【0076】
次に、複線化部品座標算出部2325は、基準線分列部品の座標と線の太さの情報を用いて、並行線分列部品の端点の座標を算出する(ステップST11)。この処理について、図10を用いて具体的に説明する。
【0077】
図10の(a)部には、線分列部品101を基準線分列部品として、線分列部品102および103が並行線分列部品となる場合を示している。線分列部品101は、点1011および点1014を線分列の端に位置する端点とし、点1012および点1013を線分列の頂点(屈曲点)として有している。同様に、線分列部品102は、点1021および点1024を線分列の端に位置する端点とし、点1022および点1023を線分列の頂点として有している。また、線分列部品103は、点1031および点1034を線分列の端に位置する端点とし、点1032および点1033を線分列の頂点として有している。
【0078】
また、線分列部品101は、点1011と点1012を通る線分を線分1015とし、点1012と点1013を通る線分を線分1016とし、点1013と点1014を通る線分を線分1017として有している。同様に、線分列部品102は、点1021と点1022を通る線分を線分1025とし、点1022と点1023を通る線分を線分1026とし、点1023と点1024を通る線分を線分1027として有している。また、線分列部品103は、点1031と点1032を通る線分を線分1035とし、点1032と点1033を通る線分を線分1036とし、点1033と点1034を通る線分を線分1037として有している。
【0079】
並行線分列部品である線分列部品102の端点1021の座標を算出する場合、以下の手順で端点1021の座標を求める。
【0080】
まず、図10の(b)部に示すように、基準線分列部品101の端点1011を通る線分1015に対して、垂直であって端点1011を通る垂線10111を求める。
【0081】
そして、図10の(c)部に示すように、端点1011から線分列部品101の線の太さwに等しい距離にあり、かつ、垂線10111上にある点10112を求める。点10112が、並行線分列部品102の端点1021となる。
【0082】
同様の処理で、並行線分列部品102の端点1024、並行線分列部品103の端点1031および1034の座標も求めることができる。
【0083】
また、図11には複線化する本数が5本である場合を示しており、図11の(a)部には、線分列部品111を基準線分列部品として、線分列部品112、113、114および115が並行線分列部品となる場合を示している。線分列部品111、112、113、114および115は、それぞれ一方の端点1111、1121、1131、1141および1151を有し、他方の端点1114、1124、1134、1144および1154を有している。
【0084】
図11の(a)部に示すように、基準線分列部品111の隣に、既に複線化部品を構成する他の線分列部品112がある場合に、線分列部品113の端点1131の座標を求めるには、図11の(b)部に示すように、線の太さw×本数に等しい距離にある点を求めれば良い。
【0085】
ここで、図9の説明に戻り、複線化部品座標算出部2325は、基準線分列部品の座標と、ステップST11で求めた端点の座標を用いて、並行線分列部品の端以外の点の座標を算出する(ステップST12)。この処理について、図10を用いて具体的に説明する。
【0086】
図10の(a)部に示す線分列部品101を基準線分列として、並行線分列部品102の頂点1022の座標を算出する場合、以下の手順で点1022の座標を求める。
【0087】
まず、図10の(d)部に示すように、線分1015上であって頂点1012から距離hの位置にある点10121と、線分1016上であって頂点1012から距離hの位置にある点10122を求める。
【0088】
次に、図10の(e)部に示すように、点10121を通る線分1015に対して、垂直であって点10121を通る垂線101211と、点10122を通る線分1016に対して、垂直であって点10122を通る垂線101221を求め、両者の交点を点10123とする。
【0089】
次に、図10の(f)部に示すように、垂線101211と垂線101221の交点10123と点1012とを通る線分10124を求める。
【0090】
その後、図10の(g)部に示すように、点10112を通り、線分1015に平行な線分10113を求め、線分10124と、線分10113との交点101241を求める。点101241が並行線分列部品102の頂点1022となる。
【0091】
同様の処理で、並行線分列部品102の頂点1023、並行線分列部品103の頂点1032および1033の座標も求めることができる。
【0092】
ここで、再び図9の説明に戻り、ステップST12で算出した並行線分列部品に関する座標などの情報と、基準線分列部品に関する座標などの情報を表示部21や部品情報格納部24へ渡す(ステップST13)。
【0093】
<図面編集操作>
以下、図12〜図16を用いて、図面編集装置100における図面編集操作について説明する。
【0094】
図12には、表示装置6(図1)に表示される図面編集画面の一例を示しており、ユーザが監視制御システムの監視画面を作成する例について説明する。
【0095】
ユーザは、表示装置6に表示される図面編集画面121に対して、部品の配置や変形などの編集を行う。図面編集画面121は、部品を挿入する部品挿入手段122と、図面を編集可能なシート123と、部品に対する編集内容を指定可能な編集指定手段124と、編集を行える編集モードと編集を行えない閲覧モードとの切り替えを行うためのモード切り替え手段125とを有している。
【0096】
編集指定手段124には、線分列部品から複線化部品を生成する複線化部品生成手段1241、複線化部品を個別部品に分解する個別部品化手段1242、複線化部品の芯線を表示する芯線表示手段1243、および複数の線分列部品を複線化部品にするための複線化部品化手段1244を含んでいる。
【0097】
以上説明した図面編集画面121を用いて、ユーザによる図面編集操作を説明する。
【0098】
まず、ユーザが、モード切り替え手段125を操作して、図面編集装置100を編集モードへ移行させ、図面の編集が行えるようにする。これは、図4を用いて説明したステップST101の処理に相当する。
【0099】
次に、ユーザが部品挿入手段122を用いて部品を入力する。ここでは、図12に示すように、部品126、127、128の入力を行ったものとする。この場合、図面編集装置100の内部では、図4を用いて説明したステップST102、ステップST103、およびステップST109、ステップST110を実行されることとなる。
【0100】
次に、ユーザが、マウスやキーボード等の入力装置5(図1)を介して、部品に対する編集内容を指定可能な編集指定手段124(図12)などを用いて、部品に対する編集を行う。
【0101】
ユーザが、一つの線分列部品を選択した後に、当該線分列部品に対して、複線化部品生成手段1241(図12)を用いて複線化する本数を指定すると、指定した本数の複線化部品が表示される。この操作を図13を用いて説明する。
【0102】
図13の(a)部には、ユーザが選択した線分列部品131が示されており、これに対して複線化する本数を3本として複線化部品生成手段1241を用いると、図13の(b)部に示すような複線化部品132が図面編集画面121(図12)上に表示される。図13の(b)に示される複線化部品132は、線分列部品131、1321、1322で構成されている。この場合、図面編集装置100の内部では、図4を用いて説明したステップST102〜ステップST104、およびステップST110が実行されることとなる。
【0103】
ユーザが、複線化部品を選択した後に、個別部品化手段1242(図12)を用いると、複線化部品が個別部品に分解される。この操作を図14を用いて説明する。
【0104】
図14の(a)部には、ユーザが選択した複線化部品141が示されており、これに対して個別部品化手段1242(図12)を用いると、図14の(b)部に示されるように個別の線分列部品142、143および144に分解され、図14の(c)部に示されるように、線分列部品142を他から引き離すなど、それぞれが個別の線分列部品として独立して編集できるようになる。この場合、図面編集装置100の内部では、図4を用いて説明したステップST102、ステップST103、ステップST105およびステップST110が実行されることとなる。
【0105】
ユーザが、複線化部品を選択した後に、芯線表示手段1243(図12)を用いると、選択した複線化部品の芯線が表示される。この操作を図15を用いて説明する。
【0106】
図15の(a)部には、ユーザが選択した複線化部品151が示されており、これに対して芯線表示手段1243(図12)を用いることで、複線化部品151の芯線152が表示される。この場合、図面編集装置100の内部では、図4を用いて説明したステップST102、ステップST103、ステップST107およびステップST110が実行されることとなる。
【0107】
引き続き、ユーザがマウスのドラッグ操作などにより、図15の(b)部に示される矢印ARの方向に芯線152の変形を行うと、複線化部品151を構成する線分列部品1511、1512および1513に、その変形状態が反映され、図15の(c)部に示されるように、線分列部品1511〜1513を一括して変形させることができる。この場合、図面編集装置100の内部では、図4を用いて説明したステップST102、ステップST103、ステップST108およびステップST110が実行されることとなる。
【0108】
ユーザが、複数の線分列部品を選択した後に、複線化部品化手段1244(図12)を用いると、それらの部品を複線化部品として扱うことができる。この操作を図16を用いて説明する。
【0109】
図16の(a)部には、ユーザが選択した3本の線分列部品161、162および163を示している。これらに対して複線化部品化手段1244(図12)を用いると、これらが1つの複線化部品として扱えるようになり、図16の(b)部に示すように複線化部品164として図面編集画面121(図12)上に表示される。なお、図16の(b)部の例では、選択した線分列部品161、162および163のうち、画面の中央に最も近い位置の線分列部品162を基準線分列部品としたが、図16の(c)部に示されるように、選択した線分列部品161、162および163のうち、画面中央から最も遠い位置の線分列部品163を基準線分列部品としても良い。また、基準線分列部品はユーザが任意に指定しても良い。この場合、図面編集装置100の内部では、図4を用いて説明したステップST102、ステップST103、ステップST106およびステップST110が実行されることとなる。
【0110】
ユーザによる所望の編集が終了した場合は、モード切り替え手段125(図12)を用いて、編集モードを終了させる。編集モードが終了するまで、図面編集装置100の内部では、ステップST102〜ステップST110の処理が繰り返される。
【0111】
<効果>
以上説明したように、複線化部品を用いることにより、基準線分列部品を編集するだけで、並行線分列部品に対する編集を行うことができ、ユーザは互いに並行する全ての線分列部品に対して同じ編集を行う必要がなくなるので、編集作業が軽減される。
【0112】
すなわち、従来は、折れ線や多角形等の点列で構成される図形の形状を編集する処理を各図形に対して行っていたため、並行する複数本の線分列部品を編集する場合には、それらの本数分の編集作業が必要であった。しかし、実施の形態1に係る図面編集装置100を用いることで、互いに並行する線分列部品が複数存在する場合には、それらを複線化部品として一括することができ、その内の1本の線分列部品に対して編集作業を行えば良く、少ない手数で編集を行うことができる。
【0113】
また、複線化部品を編集後、個別部品に分解できるため、一括して編集した後、個々の部品として編集することもでき、ユーザは制約なく所望の編集操作を実行できる。
【0114】
<実施の形態2>
実施の形態2に係る図面編集装置においては、複線化部品を構成する線分列部品の隣り合う線分がなす角の表示方法が選択可能に構成されている。より具体的には、線分列部品の屈曲部ごとに、角部として表示するか、円弧で表示するかを選択可能となっている。
【0115】
<装置構成>
図17は、図1に示したコンピュータシステムによって実現される実施の形態2の図面編集装置200の構成を示すブロック図である。なお、図2に示した図面編集装置200と同一の構成については同一の符号を付し、重複する説明は省略する。
【0116】
図17に示す図面編集装置200においては、複線化部品編集部232内に、複線化部品角部変形部2326を有している。また、複線化部品座標算出部2325は、基準線分列部品の座標を用いて、並行線分列部品の座標の他に、複線化部品の角部の同心円の、中心座標、半径、線分列部品との接点座標を求めることができる構成となっている。
【0117】
また、部品情報格納部24は、部品情報に加えて、複線化部品座標算出部2325で算出した、複線化部品の角部の同心円の、中心座標、半径、線分列部品との接点座標の情報を格納する構成となっている。
【0118】
また、複線化制御部品情報格納部25は、複線化制御部品情報に加えて、複線化部品を構成する線分列部品の中にある、線分どうしがなす角部を、角形として表示するか、円弧で表示するかの角部形状情報を格納する構成となっている。
【0119】
また、複線化部品角部変形部2326は、複線化制御部品が持つ角部形状情報を取得・更新し、部品情報格納部24から角部形状情報に合った複線化部品の座標などの情報を取得する。なお、角部形状情報に合った情報が部品情報格納部24に存在しない場合は、複線化部品座標算出部2325で算出される情報を取得し、部品情報格納部24に格納する。その後、表示部21に複線化部品の情報を渡す。
【0120】
なお、複線化部品角部変形部2326は、外部記憶装置4に記憶されたソフトウェアプログラムを主記憶装置3に読み出して、中央処理装置2により実行することにより実現される。
【0121】
<編集処理の全体の流れ>
次に、複線化部品の編集を行う際の、図面編集装置200内での処理手順を説明する。図18は、複線化部品の編集処理の全体の流れを示すフローチャートである。
【0122】
図18において、ステップST201、ステップST202、ステップST204、ステップST205、ステップST206、ステップST207、ステップST208およびステップST209は、それぞれ、図4に示した図面編集装置100内でのステップST101、ステップST102、ステップST104、ステップST105、ステップST106、ステップST107、ステップST108およびステップST109と同様の処理を行う。
【0123】
イベントが発生すると、ユーザ入力受付部22がイベントの判定を行う(ステップST203)。ここで、部品の選択中に発生するイベントの一覧を表2に示す。
【0124】
【表2】
【0125】
表2において、“−”は無効イベント、または、発生し得ないイベントを示している。発生したイベントは、選択中の部品の種類と、イベント発生時の条件とによって判定される。なお、表1との相違は、「複線化部品角部変形」イベントが加わっていることである。
【0126】
また、表2では、入力装置5としてマウスを使用し、かつ、「複線化部品生成」などのメニューが、図面編集装置のメニューバーから表示されるプルダウンメニューの中にある場合の条件を示している。例えば、マウスの左ボタンでクリックした位置が、図面編集装置のメニューバーから表示されるプルダウンメニューの「複線化部品生成」であった場合には、「複線化部品生成」イベントが発生する。また、マウスの右ボタンでクリックした位置が、複線化部品に表示されている芯線の頂点であった場合には、「複線化部品角部変形」イベントが発生する。
【0127】
表2では、イベントの発生をマウスにより行うものとし、マウスイベントを、「左ボタンをクリック」、「右ボタンをクリック」、「左ボタンでドラッグ開始」および「その他」に分類している。
【0128】
また、イベントの例として、「複線化部品生成」、「頂点表示」、「複線化部品化」、「芯線表示」、「個別部品化」、「複線化部品変形」、「複線化部品角部変形」および「通常処理」を挙げている。
【0129】
表2において、選択対象部品とイベントの有効、無効の関係は表1とほぼ同じであるが、選択対象部品が「複数化部品」である場合、「芯線表示」、「個別部品化」、「複線化部品変形」および「複線化部品角部変形」が有効なイベントとなる。
【0130】
ここで、図18の説明に戻り、ユーザ入力受付部22でのイベント判定の結果、入力されたイベントが、「複線化部品角部変形」イベントであれば、複線化部品角部変形処理(ステップST211)を実行し、その他のイベントであれば、実施の形態1の図面編集装置200と同様の動作を行う。
【0131】
ステップST204〜209およびステップST211の何れかの処理を実行した後は、ステップST210において表示部21がステップST204〜209およびステップST211で編集された各部品を表示装置6に表示する。ステップST210の後は、ステップST202のイベント待ち状態へと戻る。
【0132】
このように、ステップST202〜ステップST211までの処理を、編集モードがOFFに設定されるまで繰り返し行う。
【0133】
なお、ステップST204の複線化部品生成処理、ステップST205の個別部品化処理、ステップST206の複線化部品化処理、ステップST208の複線化部品変形処理は、先に説明した実施の形態1のステップST104(図5)、ST105(図6)、ST106(図7)およびST108(図8)と同じであるが、異なるのはステップST104、ST106およびST108における複線化部品座標算出処理(ST1046、ST1064、ST1083)である。
【0134】
<複線化部品座標算出処理>
以下、図19に示すフローチャートを用いて実施の形態2の図面編集装置200における複線化部品座標算出部2325での複線化部品座標算出処理について説明する。
【0135】
図19においては、実施の形態1における図9のフローチャートのステップST12をステップST121に入れ替えたものであり、それ以外の処理内容は図9と同様であるので説明は省略する。
【0136】
ステップST121において、複線化部品座標算出部2325はステップST12(図9)と同様に、基準線分列部品の座標と、ステップST11で求めた端点の座標を用いて、並行線分列部品の端以外の点の座標を算出する。ただし、並行線分列部品の端以外の点を求める際に算出される座標を部品情報格納部24に記憶する点が異なる。
【0137】
例えば、図10の(f)部に示される点10123を、線分1015と線分1016が成す角部の同心円の中心座標として記憶する。また、図10の(e)部に示される点10121を線分1015における同心円の接点とし、点10122を線分1016における同心円の接点として記憶する。また、図10の(d)部、(e)部、(f)部および(g)部で説明した手順に、以下の手順を加え、同心円の半径を記憶する。すなわち、図10の(e)部に示される、点10121と点10123の距離を求め、同心円の半径とする。
【0138】
<複線化部品角部変形処理>
次に、図20に示すフローチャートを用いて図18に示すステップST211の複線化部品角部変形処理の詳細について説明する。
【0139】
複線化部品角部変形処理においては、まず、複線化部品角部変形部2326が、選択中の複線化部品の複線化制御部品を、複線化制御部品情報格納部25から取得する(ステップST2111)。
【0140】
次に、複線化部品角部変形部2326は、入力装置5より指定された頂点の情報を、ユーザ入力受付部22より取得する。取得した頂点の情報を用いて、当該頂点の角部形状情報を、ステップST2111で取得した複線化制御部品より取得する(ステップST2112)。ここで、角部形状情報は複線化制御部品に含まれ、角部を角形として表示するか、円弧で表示するかの情報であり、デフォルトでの設定として角形あるいは円弧とすることが設定されている。デフォルトでどちらかに設定されていたとしても、それを見たユーザが任意に変更できるので問題はない。
【0141】
次に、複線化部品角部変形部2326は、指定された頂点の角部形状情報を更新する(ステップST2113)。すなわち、ステップST2112で取得した情報が「角形で表示」であれば「円弧で表示」に更新するとともに、複線化制御部品情報格納部25の情報を更新する。また、ステップST2112で取得した情報が「円弧で表示」であれば「角形で表示」に更新するとともに、複線化制御部品情報格納部25の情報を更新する。
【0142】
次に、複線化部品角部変形部2326は、複線化部品の座標などの情報を、部品情報格納部24から取得する(ステップST2114)。
【0143】
次に、複線化部品角部変形部2326は、更新した角部形状情報から角部形状を判定する(ステップST2115)。そして、判定した角部形状が「角形」であれば、ステップST21110に進み、「円弧」であれば、ステップST2116に進む。
【0144】
ステップST2116では、複線化部品角部変形部2326は、ステップST2114で取得した情報の中に、指定された角部の同心円の中心座標、半径、接点座標などの円弧情報があるか否かを判定する。円弧情報が「ある」場合は、ステップST2119に進む。一方、円弧情報が「ない」場合は、ステップST2117に進む。
【0145】
ステップST2117の複線化部品座標算出処理は、図19を用いて説明した処理と同じであり、並行線分列部品の端以外の点の座標を算出する処理であるが、算出結果には角部の同心円の中心座標、同心円の接点座標、同心円の半径などの円弧情報を含んでいる。
【0146】
次に、複線化部品角部変形部2326は、ステップST2117において算出した円弧情報を、部品情報格納部24に格納する(ステップST2118)。
【0147】
次に、複線化部品角部変形部2326は、ステップST2114で取得した複線化部品の座標と、ステップST2117で算出した円弧情報を、表示部21へ渡す(ステップST2119)。
【0148】
また、複線化部品角部変形部2326は、ステップST2114で取得した複線化部品の座標を表示部21へ渡す(ステップST21110)。この場合、指定した角部の円弧情報は渡さない。
【0149】
<図面編集操作>
次に、図21および図22を用いて、図面編集装置200における図面編集操作について説明する。なお、以下では複線化部品の角部を、角形で表示するか、円弧で表示するかを、角部ごとに選択するユーザの操作を説明する。その他の操作は、図12を用いて説明した実施の形態1と同様である。
【0150】
図21には、表示装置6(図1)に表示される図面編集画面の一例を示しており、ユーザが監視制御システムの監視画面を作成する例について説明する。
【0151】
図21に示す図面編集画面121Aは、編集指定手段124に角部の形状を切り替える角部形状切り替え手段1245を有している点で図12に示した図面編集画面121と異なっている。
【0152】
この、角部形状切り替え手段1245は、例えば、編集指定手段124の角部形状切替手段1245を選択すると、複線化部品にある選択中の頂点の角部の形状を切り替えることができる。また、角部形状切替手段1245は、図面編集装置のメニューバーから表示されるプルダウンメニューにあるものでなく、角部の形状を切り替えたい複線化部品の頂点を、マウスで右クリックするという手段としても良い。
【0153】
次に、ユーザが、複線化部品を選択した後に、当該複線化部品に対して複線化部品角部変形処理を施す操作を図22を用いて説明する。
【0154】
図22の(a)部には、ユーザが選択した複線化部品2101が示されており、この複線化部品2101に対して、芯線表示手段1243を用いると、図21の(a)部に示すように芯線2102が表示される。この場合、図面編集装置200の内部では、図18を用いて説明したステップST202、ステップST203、ステップST207およびステップST210が実行されることとなる。
【0155】
次に、ユーザが角部を丸めたい頂点上で、角部形状切り替え手段1245を用いると、図22の(b)部に示されるように角部を丸めて表示される。すなわち、頂点21021上でマウスの右クリック操作を行うと、図22の(b)部に示すように、角部が丸まって(円弧で)表示される。一方、丸めた角部の頂点上で、角部形状切り替え手段1245を用いると(マウスの右クリック操作を行うと)、図22の(a)部で示す形状に戻すことができる。この場合、図面編集装置200の内部では、図18を用いて説明したステップST202、ステップST203、ステップST211およびステップST210が実行されることとなる。
【0156】
<効果>
以上説明したように、実施の形態2に係る図面編集装置200では、複線化部品の任意の角部の形状を、角または円弧として表示させることができる。
【符号の説明】
【0157】
21 表示部、22 ユーザ入力受付部、23 部品編集部、24 部品情報格納部、25 複線化制御部品情報格納部、211 頂点表示部、212 芯線表示部、231 従来部品編集部、232 複線化部品編集部、2321 複線化部品生成部、2322 複線化部品変形部、2323 複線化部品化処理部、2324 個別部品化部、2325 複線化部品座標算出部、2326 複線化部品角部変形部。
【特許請求の範囲】
【請求項1】
線分を連ねて構成される線分列部品を含む複数の部品で構成される図面を、表示装置の画面上で作成する図面編集装置であって、
前記線分列部品の1つを基準線分列部品とし、前記基準線分列部品と、前記基準線分列部品に並行に配置される並行線分列部品とをグループ化した複線化部品を生成するとともに、前記複線化部品を含めて前記部品の生成、選択、変形および削除を含む編集を行う部品編集部と、
前記部品編集部から前記画面に表示する前記部品の情報を受け、前記画面に表示する前記部品の表示処理を行う表示部と、を備え、
前記複線化部品は、前記基準線分列部品に対する編集が、前記並行線分列部品に対しても及ぶようにグループ化されることを特徴とする、図面編集装置。
【請求項2】
前記図面編集装置は、
前記複線化部品を含めて前記部品の情報を格納し、前記部品編集部との間で前記部品の情報を授受する部品情報格納部と、
前記複線化部品を管理、制御する複線化部品制御部品の情報を格納し、前記部品編集部との間で前記複線化部品制御部品の情報を授受する複線化制御部品情報格納部とをさらに備え、
前記部品編集部は、
前記基準線分列部品の座標を用いて、前記並行線分列部品の座標を算出する複線化部品座標算出部と、
前記複線化部品座標算出部で算出された前記並行線分列部品の座標を用いて前記複線化部品を生成する複線化部品生成部と、
前記基準線分列部品の変形後の座標を前記複線化部品座標算出部に渡し、それに基づいて前記複線化部品座標算出部が算出した前記並行線分列部品の変形後の座標を取得する複線化部品変形部と、を有し、
前記基準線分列部品を変形することで、前記並行線分列部品を前記線分列部品と同じように変形させる、請求項1記載の図面編集装置。
【請求項3】
前記複線化部品座標算出部は、
前記基準線分列部品の角部を頂点として連続する2本の線分に接する同心円の、中心座標、半径および前記2本の線分との接点座標を含む円弧情報を算出し、
前記部品編集部は、
前記複線化制御部品情報格納部から取得した前記複線化部品制御部品の情報に含まれる、前記複線化部品の角部を角形で表示するか、円弧で表示するかの情報に従って前記複線化部品の角部を角形または円弧で表示するように、前記部品情報格納部から取得した前記複線化部品の情報および前記複線化部品座標算出部で算出した前記円弧情報の少なくとも一方を前記表示部に与える、複線化部品角部変形部をさらに有する、請求項2記載の図面編集装置。
【請求項4】
前記部品編集部は、
前記複線化部品を個別部品に分解する個別部品化部をさらに有し、
前記個別部品化部は、
選択された前記複線化部品について、前記複線化制御部品情報格納部から取得した前記複線化部品制御部品の情報を削除して前記複線化部品の情報のみを前記表示部に与える、請求項2記載の図面編集装置。
【請求項5】
前記部品編集部は、
前記複線化部品制御部品を生成して、前記基準線分列部品および前記並行線分列部品をグループ化して前記複線化部品を生成する複線化部品化処理部をさらに有する、請求項2記載の図面編集装置。
【請求項6】
前記基準線分列部品は、任意に指定される、請求項5記載の図面編集装置。
【請求項7】
前記複線化部品化処理部は、前記基準線分列部品を、前記部品情報格納部から取得した前記部品の情報と、予め定めた決定条件に基づいて自動的に決定する、請求項5記載の図面編集装置。
【請求項8】
コンピュータにインストールされ、線分を連ねて構成される線分列部品を含む複数の部品で構成される図面を、表示装置の画面上で作成する図面編集プログラムであって、
前記線分列部品の1つを基準線分列部品とし、前記基準線分列部品と、前記基準線分列部品に並行に配置される並行線分列部品とをグループ化した複線化部品を生成するとともに、前記複線化部品を含めて前記部品の生成、選択、変形および削除を含む編集を行う部品編集部と、
前記部品編集部から前記画面に表示する前記部品の情報を受け、前記画面に表示する前記部品の表示処理を行う表示部と、を有し、
前記複線化部品は、前記基準線分列部品に対する編集が、前記並行線分列部品に対しても及ぶようにグループ化される図面編集装置、
として前記コンピュータを機能させることを特徴とする、図面編集プログラム。
【請求項1】
線分を連ねて構成される線分列部品を含む複数の部品で構成される図面を、表示装置の画面上で作成する図面編集装置であって、
前記線分列部品の1つを基準線分列部品とし、前記基準線分列部品と、前記基準線分列部品に並行に配置される並行線分列部品とをグループ化した複線化部品を生成するとともに、前記複線化部品を含めて前記部品の生成、選択、変形および削除を含む編集を行う部品編集部と、
前記部品編集部から前記画面に表示する前記部品の情報を受け、前記画面に表示する前記部品の表示処理を行う表示部と、を備え、
前記複線化部品は、前記基準線分列部品に対する編集が、前記並行線分列部品に対しても及ぶようにグループ化されることを特徴とする、図面編集装置。
【請求項2】
前記図面編集装置は、
前記複線化部品を含めて前記部品の情報を格納し、前記部品編集部との間で前記部品の情報を授受する部品情報格納部と、
前記複線化部品を管理、制御する複線化部品制御部品の情報を格納し、前記部品編集部との間で前記複線化部品制御部品の情報を授受する複線化制御部品情報格納部とをさらに備え、
前記部品編集部は、
前記基準線分列部品の座標を用いて、前記並行線分列部品の座標を算出する複線化部品座標算出部と、
前記複線化部品座標算出部で算出された前記並行線分列部品の座標を用いて前記複線化部品を生成する複線化部品生成部と、
前記基準線分列部品の変形後の座標を前記複線化部品座標算出部に渡し、それに基づいて前記複線化部品座標算出部が算出した前記並行線分列部品の変形後の座標を取得する複線化部品変形部と、を有し、
前記基準線分列部品を変形することで、前記並行線分列部品を前記線分列部品と同じように変形させる、請求項1記載の図面編集装置。
【請求項3】
前記複線化部品座標算出部は、
前記基準線分列部品の角部を頂点として連続する2本の線分に接する同心円の、中心座標、半径および前記2本の線分との接点座標を含む円弧情報を算出し、
前記部品編集部は、
前記複線化制御部品情報格納部から取得した前記複線化部品制御部品の情報に含まれる、前記複線化部品の角部を角形で表示するか、円弧で表示するかの情報に従って前記複線化部品の角部を角形または円弧で表示するように、前記部品情報格納部から取得した前記複線化部品の情報および前記複線化部品座標算出部で算出した前記円弧情報の少なくとも一方を前記表示部に与える、複線化部品角部変形部をさらに有する、請求項2記載の図面編集装置。
【請求項4】
前記部品編集部は、
前記複線化部品を個別部品に分解する個別部品化部をさらに有し、
前記個別部品化部は、
選択された前記複線化部品について、前記複線化制御部品情報格納部から取得した前記複線化部品制御部品の情報を削除して前記複線化部品の情報のみを前記表示部に与える、請求項2記載の図面編集装置。
【請求項5】
前記部品編集部は、
前記複線化部品制御部品を生成して、前記基準線分列部品および前記並行線分列部品をグループ化して前記複線化部品を生成する複線化部品化処理部をさらに有する、請求項2記載の図面編集装置。
【請求項6】
前記基準線分列部品は、任意に指定される、請求項5記載の図面編集装置。
【請求項7】
前記複線化部品化処理部は、前記基準線分列部品を、前記部品情報格納部から取得した前記部品の情報と、予め定めた決定条件に基づいて自動的に決定する、請求項5記載の図面編集装置。
【請求項8】
コンピュータにインストールされ、線分を連ねて構成される線分列部品を含む複数の部品で構成される図面を、表示装置の画面上で作成する図面編集プログラムであって、
前記線分列部品の1つを基準線分列部品とし、前記基準線分列部品と、前記基準線分列部品に並行に配置される並行線分列部品とをグループ化した複線化部品を生成するとともに、前記複線化部品を含めて前記部品の生成、選択、変形および削除を含む編集を行う部品編集部と、
前記部品編集部から前記画面に表示する前記部品の情報を受け、前記画面に表示する前記部品の表示処理を行う表示部と、を有し、
前記複線化部品は、前記基準線分列部品に対する編集が、前記並行線分列部品に対しても及ぶようにグループ化される図面編集装置、
として前記コンピュータを機能させることを特徴とする、図面編集プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2012−174155(P2012−174155A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−37871(P2011−37871)
【出願日】平成23年2月24日(2011.2.24)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願日】平成23年2月24日(2011.2.24)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】
[ Back to top ]