図形作成装置及び図形作成プログラム
【課題】 一連の編集フローを実行する際において連続性を絶たない編集作業を以って効率的且つ正確な編集作業を行える図形作成装置及び図形作成プログラムを提供する。
【解決手段】 編集操作から編集データを出力する入力手段と、前記編集データに基き描画作業の編集制御を行う編集手段と、前記編集データに基き図形を編集する図形描画手段と、前記編集データに基きガイドを編集するガイド描画手段と、編集データを解析し、一連の図形描画手段による編集フローの中でガイド描画手段によりガイドを編集する割込み処理、又は、一連のガイド描画手段による編集フローの中で図形描画手段により図形を編集する割込み処理、に移行し復帰する為のイベントを検出する入力解析モジュールと、当該イベントに基づき前記編集データを前記描画手段の編集データとして取り扱うか、前記編集手段の編集データとして取り扱うかの切換を行う入力切換手段とを備えた図形作成装置。
【解決手段】 編集操作から編集データを出力する入力手段と、前記編集データに基き描画作業の編集制御を行う編集手段と、前記編集データに基き図形を編集する図形描画手段と、前記編集データに基きガイドを編集するガイド描画手段と、編集データを解析し、一連の図形描画手段による編集フローの中でガイド描画手段によりガイドを編集する割込み処理、又は、一連のガイド描画手段による編集フローの中で図形描画手段により図形を編集する割込み処理、に移行し復帰する為のイベントを検出する入力解析モジュールと、当該イベントに基づき前記編集データを前記描画手段の編集データとして取り扱うか、前記編集手段の編集データとして取り扱うかの切換を行う入力切換手段とを備えた図形作成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CAD(Computer Aided Design)システムにおいて、効率よく作図作業が行える図形作成装置及び図形作成プログラムに関する。
【背景技術】
【0002】
CADシステムは、線、面、又は三次元形状をディスプレイ画面に表示させつつ作図していくものであるが、作図の便宜を図る手法も種々紹介されており、以下にその例を概説する。
【発明の開示】
【発明が解決しようとする課題】
【0003】
下記特許文献1及び特許文献2には、グリッドを使用して作図を行う方法が記されている。
【0004】
【特許文献1】特開平6−215074号公報
【特許文献2】特開平8−123849号公報
【特許文献3】特開平8−16825号公報
【特許文献4】特開平6−195403号公報
【0005】
特許文献1に記載の技術は、所望の座標点が既存のグリッドとして存在しない場合には、既存のグリッドに変更を加えなければならず、例えば、グリッドの間隔変更には、原点と間隔の特定が必要となる。
【0006】
特許文献2に記載の技術は、部品ごとに個別のグリッドを予め割り当て、部品配置時にその間隔単位でずらして配置できる様にしたものであって、部品とは切り離した形で登録されたグリッドを適宜表示して作業の便宜を図る手法である。当該手法も、グリッドとして存在しない点を求める場合には、たとえそれが一つの点に過ぎなくともグリッドを入れ替える必要が生じる為に、編集効率が悪いという問題がある。
【0007】
また、下記特許文献3に記載の技術は、編集操作の内容とその対象物を選択し、描画する物体(描画物)に外接する直方体の輪郭線を表示し、当該輪郭線をドラッグすることによって描画物を編集する手法である。当該手法は、ドラッグする前に、回転、移動、或いは拡大縮小といった編集操作の内容を選択しておかなければならないと言う問題がある。
【0008】
下記特許文献4に記載の技術は、頻繁に使用する座標位置を、予め識別名と共に保存し、適宜呼び出して利用する形態が存在する。当該手法では、望むパースを描画するには、消失点座標を数値出力する必要がある。かかる入力に際しては、XYの種別と、座標系の種類を入力しなければならず、絶対座標系以外の座標系であれば、絶対座標系に対する原点の指定も必要となる。
【0009】
以上、従来の問題となる作業は、入力値確認の作業を以って純粋な編集作業に向かう思考を分断し、編集作業への注意力を消費して、編集作業全体で生じる疲労を増大させる結果となる。
【0010】
本発明は、上記実情に鑑みてなされたものであって、一連の編集フロー(ここでは、図形又はガイドを構成する単位要素(以下、オブジェクトと記す。)を編集する為の不可分な操作とする。)を実行する際において連続性を絶たない編集作業を以って効率的且つ正確な編集作業を行える図形作成装置及び図形作成プログラムの提供を目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決する為に成された本発明による図形作成装置は、編集操作から編集データを出力する入力手段と、前記編集データに基き描画作業の編集制御を行う編集手段と、前記編集データに基き一連の編集フローにより図形を編集する図形描画手段と、前記編集データに基き一連の編集フローによりガイドを編集するガイド描画手段と、当該入力手段から得た編集データを解析し、一連の図形描画手段による編集フローの中でガイド描画手段によりガイドを編集する割込み処理、又は、一連のガイド描画手段による編集フローの中で図形描画手段により図形を編集する割込み処理、に移行し復帰する為のイベントを検出する入力解析モジュールと、当該イベントに基づき前記編集データを前記描画手段の編集データとして取り扱うか、前記編集手段の編集データとして取り扱うかの切換を行う入力切換手段とを備えたことを特徴とする。
【0012】
前記入力解析モジュールは、ポインタによってホールドされたホールドオブジェクトの存在を検出するオブジェクト検索モジュール、及びドラッグ操作の有無を検出する移動距離計算モジュールを具備し、前記ホールドオブジェクトが無く一定距離以上のドラッグ操作が生じた際の編集データを起動イベントとして検出するものであっても良い。
【0013】
また、上記課題を解決する為に成された本発明による図形作成プログラムは、コンピュータに、編集操作から編集データを出力する入力手段、前記編集データに基き描画作業の編集制御を行う編集手段、前記編集データに基き一連の編集フローにより図形を編集する図形描画手段、前記編集データに基き一連の編集フローによりガイドを編集するガイド描画手段、当該入力手段から得た編集データを解析し、一連の図形描画手段による編集フローの中でガイド描画手段によりガイドを編集する割込み処理、又は、一連のガイド描画手段による編集フローの中で、図形描画手段により図形を編集する割込み処理に移行し復帰する為のイベントを検出する入力解析モジュール、及び当該イベントに基づき前記編集データを前記描画手段の編集データとして取り扱うか、前記編集手段の編集データとして取り扱うかの切換を行う入力切換手段としての機能を与えることを特徴とする。
【0014】
前記入力解析モジュールに、ポインタによってホールドされたホールドオブジェクトの存在を検出するオブジェクト検索モジュール、及びドラッグ操作の有無を検出する移動距離計算モジュールとしての機能を与え、前記ホールドオブジェクトが無く一定距離以上のドラッグ操作が生じた際の編集データを起動イベントとして検出させる図形作成プログラムとしても良い。
【発明の効果】
【0015】
上記本発明による図形編集装置を使用すれば、一連の編集フローを実行する際において連続性を絶たない編集作業を以って効率的且つ正確な編集作業を行えることから、入力値確認の作業を以って純粋な編集作業に向かう思考を分断し、編集作業への注意力を消費して、編集作業全体で生じる疲労を増大させることもない。
【発明を実施するための最良の形態】
【0016】
以下、本発明に因る図形作成装置の実施の形態を図面に基き説明する。
ここで例示する図形作成装置は、本発明による図形作成プログラムによる情報処理が、キーボードやマウス等の入力装置、並びにディスプレイ装置及びプリンタ等の出力装置を備えたコンピュータを用いて実現されたものである。
【0017】
図1に示す例は、それらハードウエア資源と前記図形作成プログラムとが協働して、編集操作から座標値、属性、制御データ(以下、編集データと総称し、当該編集データのうちのマウス操作に関するデータをマウスデータと記す。)を出力する入力手段と、前記編集データに基き描画作業の編集制御を行う編集手段と、前記編集データに基き一連の編集フローにより図形を編集する図形描画手段と、前記編集データに基き一連の編集フローによりガイドを編集するガイド描画手段と、当該入力手段から得た編集データを解析し一連の図形描画手段による編集フローの中でガイド描画手段によりガイドを編集する割込み処理、又は、一連のガイド描画手段による編集フローの中で図形描画手段により図形を編集する割込み処理、に移行し復帰する為のイベントを検出する入力解析モジュールと、当該イベントに基づき前記編集データを前記図形描画手段の編集データとして取り扱うか、前記ガイド描画手段の編集データとして取り扱うかの切換を行う入力切換手段とを構成する。
【0018】
前記入力手段は、前記入力装置及びそれらのインターフェースで構成され、マウスやキーボード等を用いた種々の編集操作で生じる電気信号を前記編集データとして出力する。
【0019】
前記属性には、座標値属性、オブジェクト属性等が挙げられる。
座標属性としては、マウスダウン(ディスプレイ上の描画ポインタの位置を定めた上でのクリックボタンの押圧)操作、マウスムーブ(ドラッグ)操作、マウスアップ(ディスプレイ上の描画ポインタの位置を定めた上でのクリックボタンの開放)操作、左右ボタンの認識、及びキー入力操作が存在し、オブジェクト属性としては、処理対象(点、直線、曲線等)、入力オブジェクトID、処理内容(追加、変更、及び削除等)等が挙げられる。
制御データとは、線種、表示色、UnDo、ReDo、初期化、検索範囲、検索対象(線、点)、表示・非表示、出力・非出力、及びガイド通知等である(図7乃至図9参照)。
【0020】
以下、前記機能手段のモジュール構成例(図1参照)と、当該機能手段が行う基本的な処理内容を説明する。
【0021】
前記入力切換手段は、図形編集とガイド編集との切り換えを司るスイッチングモジュールとして、当該入力手段で入力した編集データを、当該編集データから抽出されたイベントに応じて前記図形描画手段とガイド描画手段を含む編集手段へ出力するものである(図7参照)。
【0022】
前記図形描画手段は、
前記図形編集の開始から終了に亘る一連の編集フローでの編集データに基きオブジェクトを作成するオブジェクト編集モジュールと、
作成されたオブジェクトを表示するオブジェクト表示モジュールと、
前記図形編集の開始から終了に亘る一連の編集フローでの編集データを受けて当該図形描画に関する編集データを図形保存領域(メモリや記録媒体等)に保存するオブジェクト保存モジュールとを具備する(図8参照)。
これら各モジュールは、当該編集手段以外の他の機能手段に設けても良いし、単独で存在しても良い。
【0023】
当該例において、前記編集手段は、ガイド描画手段と、入力解析モジュールとで構成される。前記図形描画手段にあっても、その態様に応じて当該編集手段に適宜組み込んだ構成が可能である。
【0024】
前記ガイド描画手段は、前記入力手段で出力した編集データから、前記図形編集の開始から終了に亘る一連の編集フローでの編集データを検出すると共に、前記ガイド編集の開始から終了に亘る一連の編集フローでの編集データを検出する入力解析モジュールと、
前記ガイド編集の開始から終了に亘る一連の編集フローでの編集データに基きオブジェクトを作成するオブジェクト編集モジュールと、
作成されたガイドを表示するオブジェクト表示モジュールと、
前記ガイド編集の開始から終了に亘る一連の編集フローでの編集データを受けて当該ガイド編集に関する編集データをガイド保存領域(メモリや記録媒体等)へ保存するオブジェクト保存モジュールと、
前記オブジェクト検索モジュール及びオブジェクト判定モジュールに付属し、当該オブジェクト保存モジュールによりガイド保存領域又は図形保存領域に保存された既存オブジェクトのうちの指定されたオブジェクト相互の交点を算出する交点計算モジュールと、
を具備する(図9参照)。
【0025】
尚、これら各モジュールは、当該図形描画手段や編集手段以外の他の機能手段に設けても良いし、単独で存在しても良い。
【0026】
前記入力解析モジュールは、ポインタによってホールドされたホールドオブジェクトの存在を検出する為に前記図形編集又はガイド編集の開始から終了に亘る一連の編集フローでの編集データを受けて規定範囲内のオブジェクトを既存の図形保存領域又はガイド保存領域から検索すると共に、既存オブジェクトから抽出されたオブジェクトに関する既存の編集データを検出するオブジェクト検索モジュールと、
当該オブジェクト検索モジュールにより抽出されたオブジェクトに関する編集データに基づきオブジェクトの種類(点、線、円弧等)を判定するオブジェクト判定モジュールと、
ホールドしたオブジェクトの基準点の座標値を算出する基準点計算モジュールと、
ドラッグ操作の有無を検出する為に前記マウスダウン座標値とマウスムーブ座標値との距離(以下、移動距離と記す。)を算出し、その履歴を履歴保存領域に保存する移動距離計算モジュールを具備する。
そして、これらを以って、以下に示すマウスダウン解析処理及びマウスムーブ解析処理、並びにマウスアップ解析処理を行うと共に、その処理のなかで、前記ホールドオブジェクトが無く一定距離以上の(準備範囲外への)ドラッグ操作が生じた際の編集データを起動イベントとして検出する。
【0027】
マウスダウン解析処理(マウスムーブ解析処理を含む(図2参照))は、マウスアップ操作又はマウスムーブ操作で生じるイベントをトリガとして開始され、マウスダウンを行った際の描画ポインタの位置の座標値(マウスダウン座標値:編集データ)を検出する位置検出ステップと、前記オブジェクト検索モジュールにより、当該マウスダウン座標値が示す位置の規定範囲内に存在するオブジェクトを、図形保存領域又はガイド保存領域内の既存のオブジェクトから検索し、前記描画ポインタでホールドし得る既存オブジェクトの有無を判定する前記ホールド判定ステップ(オブジェクト検索ステップを含む。以下同じ。)と、前記オブジェクト判定モジュールにより、前記描画ポインタでホールドされたオブジェクトのオブジェクト属性(前記処理対象、入力オブジェクトID、及び処理内容)を判定するオブジェクト判定ステップと、これら、両ステップの判定結果に応じた処理を行う判定ステップや処理ステップを行うものである。
【0028】
前記ホールド判定ステップにおいて、マウスダウン座標値が示す位置の規定範囲内にオブジェクトが存在しない場合には、前記マウスムーブ解析処理により、マウスムーブ操作により移動する描画ポインタの位置の座標値(以下、マウスムーブ座標値:編集データ)及び「図形」のオブジェクトIDを出力する等の処理ステップを経て当該マウスダウン解析処理を終了する(図2参照)。
【0029】
前記ホールド判定ステップにおいて、マウスダウン座標値が示す位置の規定範囲内にオブジェクトが存在する場合には、更に、前記移動距離計算モジュールにより描画ポインタの移動距離を算出し、マウスムーブ操作により移動し終えた描画ポインタの位置が、マウスダウンの座標値が示す位置から設定値以上離れたか否かを判定する前記マウスムーブ解析処理での距離算出ステップを経る。
【0030】
当該距離算出ステップで規定値未満と判定した場合には、マウスダウン座標値、及び「図形」のオブジェクトIDを出力する処理ステップを経て前記マウスダウン解析処理を終了する。一方、当該距離算出ステップで規定値以上と判定した場合には、更に、描画ポインタでホールドされたオブジェクトが「点」であるか他のものかを判定するオブジェクト判定ステップを経る。
【0031】
前記オブジェクト判定ステップにより、描画ポインタでホールドされたオブジェクトが判明した場合には、前記ガイド描画手段の前記オブジェクト編集モジュールを以って以下の処理を行う。
【0032】
即ち、描画ポインタでホールドされたオブジェクトが「点」である場合には、「コンパス」処理を行うフラグを立てるツール設定ステップを経る。そして、マウスダウン座標値の位置[DOWN]を中心とし、前記マウスダウン座標値とマウスムーブ座標値との前記移動距離を半径とし、前記移動距離に達する過程で前記規定値に達した位置と前記中心とを結ぶ直線上を開始点とし、前記マウスムーブ座標値と前記中心とを結ぶ直線上を終了点として、当該操作に適合する「線分」を、当該オブジェクト編集モジュールを以って編集し、当該オブジェクト編集モジュールからその線分データを受け取り「LINE」と位置付けてオブジェクト表示モジュールにより表示し、前記マウスダウン解析処理を終了する。
【0033】
一方、描画ポインタでホールドされたオブジェクトが「点」でない場合には、当該オブジェクトを「線分」とみなし、回転処理を望むか否かを、シフトキーが押されているか否かで判断するオブジェクト判定ステップを経る。当該オブジェクト判定ステップにおいてシフトキーが押されていた場合には、「分度器」処理を行うフラグを立てる。一方、押されていなかった場合には、「平行定規」処理を行うフラグを立てる。
【0034】
前記「分度器」処理にあっては、描画ポインタでホールドされた「線分」上、又はその近傍に「点」又は「交点」が存在するか否かを検索する点検索ステップを経る。それらが存在する場合には、その「点」又は「交点」を中心とし、存在しない場合には、マウスムーブ座標値の位置から当該「線分」に下ろした垂線の足を中心として、中心とマウスムーブ座標値の位置とを結ぶ角度に回転した当該操作に適合する前記「線分」の複写を、オブジェクト編集モジュールを以って形成し、「LINE」と位置付けてオブジェクト表示モジュールにより表示し、前記マウスダウン解析処理を終了する。
【0035】
前記「平行定規」処理にあっては、前記マウスムーブ座標値の位置に平行移動した当該操作に適合する前記「線分」の複写をオブジェクト編集モジュールを以って形成し、「LINE」と位置付けてオブジェクト表示モジュールにより表示し、前記マウスダウン解析処理を終了する。
【0036】
マウスアップ解析処理(マウスムーブ解析処理を含む(図3参照))は、マウスアップ操作をトリガとして開始され、マウスアップを行った描画ポインタの位置の座標値(マウスアップ座標値:編集データ)を検出する位置検出ステップと、前記オブジェクト検索モジュールにより、当該マウスアップの座標値が示す位置の規定範囲内にオブジェクトが存在するか否かを判定するホールド判定ステップと、ホールドされたオブジェクトのオブジェクト属性(前記処理対象、入力オブジェクトID、及び処理内容)を判定するオブジェクト判定ステップと、これら、両ステップの判定結果に応じた処理を行う判定ステップや処理ステップを行うものである。
【0037】
前記ホールド判定ステップにおいて、マウスアップ座標値が示す位置にオブジェクトが存在する場合には、前記マウスアップ座標値及び「図形」のオブジェクトIDを出力する処理ステップを経て当該マウスアップ解析処理を終了する。
【0038】
前記ホールド判定ステップにおいて、マウスアップ座標値が示す位置にオブジェクトが存在しない場合には、更に、前記移動距離計算モジュールにより、マウスムーブ操作により描画ポインタが移動し終えた位置(マウスアップ座標値が示す位置)が、マウスダウンの座標値の位置[DOWN]から規定値以上離れたか否かを判定する前記マウスムーブ解析処理での距離算出ステップを経る。
【0039】
当該距離算出ステップで規定値未満と判定した場合には、更に前記移動距離計算モジュールにより、最終のマウスダウンからマウスアップに至る間に前記移動距離が規定値以上になった実績があるか否かを履歴保存領域の履歴を参照して判定する履歴参照ステップを経る。その様な実績が無い場合には、マウスダウン座標値、及び「図形」のオブジェクトIDを出力する処理ステップを経て当該マウスアップ解析処理を終了する。一方、当該履歴参照ステップで規定値以上となった実績があると判定した場合には、直ちに、当該マウスアップ解析処理を終了する。
【0040】
当該距離算出ステップで規定値以上と判定した場合には、当該マウスアップ座標から規定範囲内に存在するオブジェクトを検出するオブジェクト検索ステップを経る。当該オブジェクト検索ステップによって検出されたオブジェクトが点である場合には、その点を[UP]座標とし、当該オブジェクト検索ステップによって検出されたオブジェクトが「線」である場合には、マウスアップ座標から当該線分に下ろした垂線の足を[UP]座標とし、当該オブジェクト検索ステップによって検出されたオブジェクトが無い場合には、マウスアップ座標値の位置を[UP]座標とする。
【0041】
前記オブジェクト編集モジュールは、前記マウスダウン解析処理で得られたマウスダウン座標値の位置[DOWN]と前記[UP]座標との距離、及びそれらの相対的な回転角度を前記移動距離計算モジュールの履歴に基いて数値化し、前記編集設定モジュールによってそれらの数値を初期値とした入力ダイアログをディスプレイに表示し、オペレータによる設定値の入力を促すと共に、入力操作とその確認操作を以ってその入力ダイアログを閉じる数値設定ステップを経る(図3参照)。
【0042】
即ち、前記数値設定ステップでの入力値を適用する確認を得た場合には、前記マウスダウン座標値の位置[DOWN]を固定点とし、前記[UP]座標方向に設定数値分だけ移動或いは回転等の処理を施した「線分」をオブジェクト編集モジュールを以って形成し、当該オブジェクト編集モジュールからその線分データを受け取り「LINE」と位置付けてオブジェクト表示モジュールにより表示し、ガイド描画手段のガイド保存領域に保存する処理ステップを経る。一方、入力値を適用する確認が得られなかった場合には、即座に前記マウスアップ解析処理を終了し、当該一連の編集フローの直前の状態に復帰する(図3参照)。
【0043】
以下、直線の描画処理を例にとって、補助線の使用、即ち、図形描画手段とガイド描画手段の双方が機能する事(補助線通知がonであること(図7表参照)、即ち、ガイド描画手段が利用可能であること。)を前提とした図形作成装置の処理動作の基本的な一例を示す。
【0044】
先ず、描画始点までの移動に際し、マウスボタンの操作が行われない状態で移動するマウスの操作によって描画ポインタが移動し、前記入力手段においてMOVEイベントが発生する(図11の一段目参照)。
【0045】
次いで、オペレータが望む位置に第一の編集行程のマウスダウン操作が行われることによってDOWNイベントが発生し、入力切換手段を介して(入力切換手段を介さない構成も可能である。)前記編集データが、初期条件としての入力先である編集手段の編集データとして出力される(図11の二段目参照)。当該マウスダウン操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスダウン解析処理が行われる(図4参照)。
【0046】
ここでは、マウスダウンの座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在しなかったとする(オブジェクト検索モジュールによるホールド判定ステップ(オブジェクト検索ステップを含む。)以下、ホールド判定ステップと記す。)。そうすると、オペレータのマウスダウン操作に伴いマウスダウン解析処理によって検出されたマウスダウン座標値、及び「図形」のオブジェクトIDを含む編集データが、前記入力切換手段へ出力される(図2参照)。
【0047】
一方、仮に、マウスダウン座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在した場合には(ホールド判定ステップ)、前記マウスムーブ解析処理によって前記マウスダウン座標値の位置からマウスムーブ操作(ドラッグ操作)がなされている位置までの距離(移動距離)が規定値以上であるか否かを判定し(距離算出ステップ)、当該移動距離が規定値未満である場合には、前記マウスダウン座標値、及び「図形」のオブジェクトIDを含む編集データが当該入力切換手段へ出力される。
【0048】
当該入力切換手段は、前記マウスダウン座標値、及び「図形」のオブジェクトIDを含む編集データを受けて制御テーブル(図7表参照)を参照し、当該編集データは、それが指し示す前記図形描画手段へ出力され、当該図形描画手段の編集データとして取り扱われる。
【0049】
次に、オペレータが望む位置にマウスアップすることによってUPイベントが発生し、入力切換手段を介して(入力切換手段を介さない構成も可能である。)初期条件としての入力先である編集手段に前記編集データが出力される。当該マウスアップ操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスアップ解析処理を行う。
【0050】
ここでは、マウスアップの座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在しなかったので(ホールド判定ステップ)、オペレータのマウスアップ操作に伴いマウスアップ解析処理によって検出されたマウスアップ座標値、及び「図形」のオブジェクトIDを含む編集データが当該入力切換手段へ出力される。
【0051】
当該入力切換手段は、当該編集データを受けて制御テーブル(図7表参照)を参照し、当該編集データが前記図形描画手段へ出力され、当該編集データは、当該図形描画手段の編集データとして取り扱われる。
【0052】
当該図形描画手段においては、当該編集データを受けてオブジェクト判定モジュールが制御テーブル(図8表参照)を参照し、当該参照結果に基き「点」として判断され、前記オブジェクト編集モジュールは、前記オブジェクト表示モジュールを以って前記マウスダウン座標へオブジェクトたる「線分」の始点として表示し(図11の三段目参照)、前記オブジェクト保存モジュールにより前記マウスダウン座標が前記「線分」の始点として図形保存領域へ保存される。当該オブジェクト保存ステップを以ってマウスアップ解析処理が完了し、第一の編集行程(描画の第一点の編集)が終了する。
【0053】
続いて、次の描画始点までの移動に際し、マウスボタンの操作が行われない状態で移動するマウスの操作によってMOVEイベントが発生する。当該MOVEイベントを受けた前記オブジェクト編集モジュールは、描画ポインタが前記始点から引き出された直線を引いて移動する画像を前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記始点及びそれから引き出された線分として図形保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図11四段目参照)。
【0054】
次に、オペレータが望む位置に、第二の編集行程のマウスダウン操作が行われることによってDOWNイベントが発生し、入力切換手段を介して(入力切換手段を介さない構成も可能である。)前記編集データが、初期条件としての入力先である編集手段の編集データとして出力される(図11の五段目参照)。当該マウスダウン操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスダウン解析処理が行われる(図5参照)。
【0055】
ここでは、マウスダウンの座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在し(ホールド判定ステップ)、前記ガイド保存領域に「(縦)線分」の存在が認められるとするから(ホールド判定ステップ)、基準点計算モジュールにより、オペレータのマウスダウン操作に伴いマウスダウン解析処理によって検出されたマウスダウン座標値の位置から当該「線分」に下ろした垂線の足の座標を算出し、近傍点(グリップ点:下記移動距離計算の起点)座標として出力すると共に、この様に出力された近傍点座標、及び「ガイド」のオブジェクトIDを含む編集データが当該入力切換手段へ出力される。
【0056】
当該入力切換手段は、当該編集データを受けて制御テーブル(図7表参照)を参照し、当該編集データが指し示す前記ガイド描画手段へ出力され、当該編集データは、当該ガイド描画手段の編集データとして取り扱われる。
【0057】
当該第二の編集行程のマウスダウン操作が行われ、且つ継続してマウスムーブ操作が伴う場合にはMOVEイベントが発生し、入力切換手段を介して与えられた前記編集データが継続して初期条件としての入力先である編集手段におけるガイド編集用の編集データとして出力され、図形の描画編集は、前記第一の編集行程を以って中断される。当該マウスムーブ操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスムーブ解析処理が行われる。
【0058】
当該マウスムーブ解析処理では、前記近傍点座標が示す位置からマウスムーブ座標値までの距離(移動距離)を算出し(移動距離計算モジュールによる距離算出ステップ)、当該移動距離が規定値以内である場合には、ガイド描画準備状態として何等新規な編集動作は行わず、前記第一の編集行程の終了時における作図描画状態を維持する(図11の六段目参照)。一方、規定値以上である場合にはドラッグ操作と認め以下の処理を行うこととなる。
【0059】
また、前記オブジェクト判定モジュールにより描画ポインタにホールドされたオブジェクトの判断を行い(オブジェクト判定ステップ)、当該例では、前記の如く「線分」であって「点」以外であるから、更に、シフトキーが押されているか否かの判断を行う。シフトキーが押されていない場合には、前記オブジェクト編集モジュールは、「平行定規」のフラグを立て(ツール設定ステップ)、前記「線分」のグリップ点をマウスムーブ座標値へ平行移動したに等しい線分を導き、前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記「平行定規」処理継続中の位置に存在する「LINE」として保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図11の最終段参照)。
【0060】
次に、オペレータが望む位置でマウスアップ操作が行われることによってUPイベントが発生し(図12の一段目参照)、入力切換手段を介して初期条件としての入力先である編集手段に当該マウスアップ操作による編集データが出力される。当該編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスアップ解析処理を行う(ケースA)。
【0061】
当該マウスアップ解析処理では、マウスダウンの座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在するか否かを検索し(オブジェクト検索ステップ)、ここでは、描画ポインタでホールドされたオブジェクトが存在することから、前記オブジェクト判定モジュールにより描画ポインタにホールドされたオブジェクトの判断を行い(オブジェクト判定ステップ)、且つ、前記オブジェクト編集モジュールは、「平行定規」のフラグが立っていること、及び当該UPイベント発生時における描画ポインタの移動距離が規定値以上であることを確認し(距離算出ステップ)、オペレータのマウスアップ操作に伴い検出されたマウスアップ座標値からドラッグ中の「線分」への垂線の足までの距離、及び相対的な回転角度を前記移動距離計算モジュールの履歴に基いて数値化し、前記編集設定モジュールによりそれらの数値(設定数値)を初期値とした入力ダイアログを表示し(図12の二段目参照)、オペレータによる設定値の入力を促すと共に、入力操作とその適用の確認操作を以ってその入力ダイアログを閉じる数値設定ステップを行う(図12の三段目参照)。
【0062】
適用の確認操作が行われずキャンセルボタンの操作が行われた場合、或いは前記マウスムーブ解析処理によって前記マウスダウン座標値の位置からマウスムーブ操作(ドラッグ操作)がなされている位置までの距離(移動距離)が規定値以上であるか否かを判定し(距離算出ステップ)、当該UPイベント発生時における移動距離が規定値未満である場合には、マウスダウン座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在したとしても(ホールド判定ステップ)、前記第一の編集行程の終了時、即ち、当該一連の編集フローの開始前における作図描画状態に復帰するキャンセル処理(ケースB)が行われる(図11の六段目及び図13参照)。
【0063】
前記入力ダイアログに記入された設定数値に基き、前記オブジェクト表示モジュールは、「平行定規」のフラグが立っている条件に与えられた処理(「平行定規」処理)を以って、前記第一の編集行程の終了時における作図描画状態に加えて、前記「線分」を前記近傍点座標値が示す位置から設定数値に相当する距離の位置へ前記オブジェクト表示モジュールを以って表示し、前記オブジェクト保存モジュールにより前記「平行定規」処理を終えた位置に存在する「LINE」として保存領域へ保存される。当該オブジェクト保存ステップを以ってマウスアップ解析処理が完了し、第二の編集行程(ガイドたる「線分」の移動複写)が終了する(図12の三段目参照)。
【0064】
当該第二の編集行程の終了と共に、前記第一の編集行程の終了時における作図描画状態に復帰する。そして、次の描画始点までの移動に際し、マウスボタンの操作が行われない状態で移動するマウスの操作によってMOVEイベントが発生する。当該MOVEイベントを受けた前記オブジェクト編集モジュールは、描画ポインタが前記始点から引き出された直線を引いて移動する画像を前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記始点及びそれから引き出された線分として図形保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図12の四段目参照)。
【0065】
更に、オペレータが望む位置に、第三の編集行程のマウスダウン操作が行われることによってDOWNイベントが発生し、入力切換手段を介して(入力切換手段を介さない構成も可能である。)前記編集データが、初期条件としての入力先である編集手段におけるガイド編集用の編集データとして出力される(図12の五段目参照)。当該マウスダウン操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスダウン解析処理が行われる。
【0066】
ここでは、前記オブジェクト検索モジュールによるホールド検索ステップと前記オブジェクト判定モジュールによるオブジェクト判定ステップにより、マウスダウン座標値の位置が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトを、点、交点、線分の順で図形保存領域及びガイド保存領域を検索する。当該例では、前記「LINE」と既存の「LINE」との「交点」が優先的に検出され、当該マウスダウン座標値(規定領域内の「交点」へ吸着する処理を伴う場合には、前記交点計算モジュールによりそれらの「交点」の座標値を算出し、その「交点」の座標値(交点座標値))、及び「図形」のオブジェクトIDを含む編集データが当該入力切換手段へ出力される。
【0067】
当該入力切換手段は、前記交点座標値、及び「図形」のオブジェクトIDを含む編集データを受けて制御テーブル(図7表参照)を参照し、当該編集データは、それが指し示す前記図形描画手段へ出力され、当該図形描画手段の編集データとして取り扱われる。
【0068】
次に、オペレータが望む位置でマウスアップすることによってUPイベントが発生し、入力切換手段を介して(入力切換手段を介さない構成も可能である。)初期条件としての入力先である編集手段に前記編集データが出力される(図12の最終段参照)。当該マウスアップ操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスアップ解析処理を行う。
【0069】
ここでは、前記オブジェクト検索モジュールと前記オブジェクト判定モジュールにより、マウスアップの座標値が示す規定範囲内で「交点」が検出されたので、オペレータのマウスアップ操作に伴いマウスアップ解析処理によって検出された前記交点座標値、及び「図形」のオブジェクトIDを含む編集データが当該入力切換手段へ出力される。
【0070】
当該入力切換手段は、当該編集データを受けて制御テーブル(図7表参照)を参照し、当該編集データが前記図形描画手段へ出力され、当該編集データは、当該図形描画手段の編集データとして取り扱われる。
【0071】
当該図形描画手段においては、当該編集データを受けて制御テーブル(図8表参照)を参照し、当該参照結果に基き、前記第一の編集行程で得られた1点と合わせて2点を具備する「線」として判断され、前記オブジェクト編集モジュールは、前記オブジェクト表示モジュールを以って前記マウスダウン座標へ描画の終点及びそれと始点とを結ぶ「線」として表示し、前記オブジェクト保存モジュールにより前記マウスダウン座標が図形描画のオブジェクトたる「線」の終点として図形保存領域へ保存されると共に、当該「線」が図形描画のオブジェクトの一つとして保存される。当該オブジェクト保存ステップを以ってマウスアップ解析処理が完了し、第三の編集行程(描画の第一点の編集)が終了する(図12の最終段参照)。
【0072】
次に、前記第二の編集行程の様に、既存オブジェクトを利用して編集を行う他の処理態様を説明する。
図14に示す処理は、既存の線分を所望の角度だけ回転させ複写する処理(以下、「回転複写」処理(ケースC)と記す。)の一例を示したものである。
【0073】
オペレータが望む位置に、「回転複写」処理行程のマウスダウン操作が行われることによってDOWNイベントが発生し、入力切換手段を介して(入力切換手段を介さない構成も可能である。)前記編集データが、初期条件としての入力先である編集手段の編集データとして出力される(図14の一段目参照)。当該マウスダウン操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスダウン解析処理が行われる(図5参照)。
【0074】
ここでは、マウスダウンの座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在し(ホールド判定ステップ)、前記ガイド保存領域に「(縦)線分(図14においては点線表示)」の存在が認められるとするから(ホールド判定ステップ)、基準点計算モジュールにより、オペレータのマウスダウン操作に伴いマウスダウン解析処理によって検出されたマウスダウン座標値の位置から当該「線分」に下ろした垂線の足の座標を算出し、近傍点(グリップ点:下記移動距離計算の起点)座標として出力すると共に、この様に出力された近傍点座標、及び「ガイド」のオブジェクトIDを含む編集データが当該入力切換手段へ出力される。
【0075】
当該入力切換手段は、当該編集データを受けて制御テーブル(図7表参照)を参照し、当該編集データが指し示す前記ガイド描画手段へ出力され、当該編集データは、当該ガイド描画手段の編集データとして取り扱われる。
【0076】
当該回転複写処理行程のマウスダウン操作が行われ、且つ継続してマウスムーブ操作が伴う場合にはMOVEイベントが発生し、入力切換手段を介して(入力切換手段を介さない構成も可能である。)与えられた前記編集データが継続して初期条件としての入力先である編集手段におけるガイド編集用の編集データとして出力され、当該一連の編集フローの開始前における作図描画状態を以ってその編集行程が中断される。当該マウスムーブ操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスムーブ解析処理が行われる。
【0077】
当該マウスムーブ解析処理では、前記近傍点座標が示す位置からマウスムーブ座標値までの距離(移動距離)を算出し(移動距離計算モジュールによる距離算出ステップ)、当該移動距離が規定値(図14の破線円。以下、同じ。)以内である場合には、ガイド描画準備状態として何等新規な編集動作は行わず、前記一連の編集フローの開始前における作図描画状態を維持する(図11の六段目参照)。一方、規定値以上である場合にはドラッグ操作と認め以下の処理を行うこととなる。
【0078】
即ち、前記オブジェクト判定モジュールにより描画ポインタにホールドされたオブジェクトの判断を行い(オブジェクト判定ステップ)、当該例では、前記の如く「線分」であって「点」以外であるから、更に、シフトキーが押されているか否かの判断を行う。シフトキーが押されている場合には、前記オブジェクト編集モジュールは、「分度器」のフラグを立て(ツール設定ステップ)、ドラッグの方向が水平方向から一定の閾角度以内であれば、前記近傍点と共に、前記「線分」をマウスムーブ座標値へ平行移動したに等しい線分を導き、前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記「分度器」処理継続中の位置に存在する「LINE」として保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図14の一段目の破線参照)。
【0079】
前記オブジェクト編集モジュールは、前記の如く「分度器」のフラグが立っている場合にあっては(ツール設定ステップ)、前記ドラッグの方向が、前記平行移動に続いて水平方向から一定の閾角度を超えた場合には、前記マウスダウン座標値の位置を回転の「中心」とし(図2参照)、前記マウスダウン時(ホールド時)の位置に存在した前記「線分」を、前記グリップ点と共に、前記閾角度を超えた角度だけ回転移動したに等しい線分を導き、前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記「分度器」処理継続中の位置に存在する「LINE」として保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図14の二段目の破線参照)。
【0080】
尚、この際、マウスムーブ解析処理の継続中にシフトキーが放された場合には、前記オブジェクト編集モジュールは、「平行定規」のフラグを立て(ツール設定ステップ)、前記近傍点と共に、前記「線分」をマウスムーブ座標値へ平行移動したに等しい線分を導き、前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記「分度器」処理継続中の位置に存在する「LINE」として保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図14の三段目参照)。更に、シフトキーが押された場合には、前記オブジェクト編集モジュールは、再び「分度器」のフラグを立て(ツール設定ステップ)、前記「回転複写」処理に復帰する。
【0081】
次に、オペレータが望む位置でマウスアップ操作が行われることによってUPイベントが発生し、入力切換手段を介して初期条件としての入力先である編集手段に当該マウスアップ操作による編集データが出力される。当該編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスアップ解析処理を行う。
【0082】
当該マウスアップ解析処理では、マウスダウンの座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在するか否かを検索し(オブジェクト検索ステップ)、ここでは、描画ポインタでホールドされたオブジェクトが存在することから、前記オブジェクト判定モジュールにより描画ポインタにホールドされたオブジェクトの判断を行い(オブジェクト判定ステップ)、且つ、前記オブジェクト編集モジュールは、「分度器」のフラグが立っていること、及び当該UPイベント発生時における描画ポインタの移動距離が規定値以上であることを確認し(距離算出ステップ)、オペレータのマウスアップ操作に伴い検出されたマウスアップ座標値からドラッグ中の「線分」への垂線の足までの距離、及び相対的な回転角度を前記移動距離計算モジュールの履歴に基いて数値化し、前記編集設定モジュールによりそれらの数値(設定数値)を初期値とした入力ダイアログを表示し、オペレータによる設定値の入力を促す(図14の最下段参照)と共に、入力操作とその適用の確認操作を以ってその入力ダイアログを閉じる数値設定ステップを行う。
【0083】
前記入力ダイアログに記入された設定数値に基き、前記オブジェクト表示モジュールは、「分度器」のフラグが立っている条件に与えられた処理(「回転複写」処理)を以って、一連の編集フローの開始前における作図描画状態に加えて、前記「線分」を前記近傍点座標値が示す位置から設定数値に相当する角度回転させた位置へ前記オブジェクト表示モジュールを以って表示し、前記オブジェクト保存モジュールにより前記「回転複写」処理を終えた位置に存在する「LINE」として保存領域へ保存される。当該オブジェクト保存ステップを以ってマウスアップ解析処理が完了し、「回転複写」処理行程(ガイドたる「線分」の回転複写)に伴う一連の編集フローが終了する。
【0084】
当該「回転複写」処理行程の終了と共に、前記一連の編集フローの開始前における作図描画状態に復帰する。そして、次の描画始点までの移動に際し、マウスボタンの操作が行われない状態で移動するマウスの操作によってMOVEイベントが発生する。当該MOVEイベントを受けた前記オブジェクト編集モジュールは、描画ポインタが前記始点から引き出された直線を引いて移動する画像を前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記始点及びそれから引き出された線分として図形保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図14最下段参照)。尚、当該処理においても前記キャンセル処理は伴うこととなる。
【0085】
図15に示す処理は、所望の半径の円弧を所望の角度だけ編集する処理(以下、「円弧描画」処理(ケースD)と記す。)の一例を示したものである。
【0086】
オペレータが望む位置に、「円弧描画」処理行程のマウスダウン操作が行われることによってDOWNイベントが発生し、入力切換手段を介して(入力切換手段を介さない構成も可能である。)前記編集データが、初期条件としての入力先である編集手段の編集データとして出力される(図15の一段目参照)。当該マウスダウン操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスダウン解析処理が行われる(図5参照)。
【0087】
ここでは、マウスダウンの座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在し(ホールド判定ステップ)、前記ガイド保存領域に「交点」の存在が認められるとするから(ホールド判定ステップ)、基準点計算モジュールにより、オペレータのマウスダウン操作に伴いマウスダウン解析処理によって検出されたマウスダウン座標値の位置から当該「交点」を「円弧描画」処理の基点座標として出力すると共に、この様に出力された基点座標、及び「ガイド」のオブジェクトIDを含む編集データが当該入力切換手段へ出力される。
【0088】
当該入力切換手段は、当該編集データを受けて制御テーブル(図7表参照)を参照し、当該編集データが指し示す前記ガイド描画手段へ出力され、当該編集データは、当該ガイド描画手段の編集データとして取り扱われる。
【0089】
当該回転複写処理行程のマウスダウン操作が行われ、且つ継続してマウスムーブ操作が伴う場合にはMOVEイベントが発生し、入力切換手段を介して与えられた前記編集データが継続して初期条件としての入力先である編集手段におけるガイド編集用の編集データとして出力され、当該一連の編集フローの開始前における作図描画状態を以ってその編集行程が中断される。当該マウスムーブ操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスムーブ解析処理が行われる。
【0090】
当該マウスムーブ解析処理では、前記基点座標が示す位置からマウスムーブ座標値までの距離(移動距離)を算出し(移動距離計算モジュールによる距離算出ステップ)、当該移動距離が規定値(図15の破線円。以下、同じ。)以内である場合には、ガイド描画準備状態として何等新規な編集動作は行わず、前記一連の編集フローの開始前における作図描画状態を維持する(図15の二段目及び三段目参照)。一方、規定値以上である場合にはドラッグ操作と認め以下の処理を行うこととなる。
【0091】
即ち、前記オブジェクト判定モジュールにより描画ポインタにホールドされたオブジェクトの判断を行い(オブジェクト判定ステップ)、当該例では、前記の如く「交点」であって「点」であるから、前記オブジェクト編集モジュールは、「コンパス」のフラグを立て(ツール設定ステップ)、当該移動距離が規定値に達した時、描画ポインタが規定値を超えた点(図15の破線円との交点)と前記基点とを結ぶ線の延長線上を円弧の始点とし、マウスムーブ座標値が示す位置と基点とを結ぶ線の延長線上を円弧の終点として、前記基点からマウスムーブ座標値が示す位置までの距離を半径とした円弧を導き、前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記「コンパス」処理継続中の位置に存在する「LINE」として保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図15の四段目及び図16の一段目参照)。
【0092】
次に、オペレータが望む位置でマウスアップ操作が行われることによってUPイベントが発生し、入力切換手段を介して初期条件としての入力先である編集手段に当該マウスアップ操作による編集データが出力される。当該編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスアップ解析処理を行う(ケースDの続き)。
【0093】
当該マウスアップ解析処理では、マウスアップの座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在するか否かを検索し(オブジェクト検索ステップ)、ここでは、描画ポインタでホールドされたオブジェクトが存在することから、前記オブジェクト判定モジュールにより描画ポインタにホールドされたオブジェクトの判断を行い(オブジェクト判定ステップ)、且つ、前記オブジェクト編集モジュールは、「コンパス」のフラグが立っていること、及び当該UPイベント発生時における描画ポインタの移動距離が規定値以上であることを確認し(距離算出ステップ)、オペレータのマウスアップ操作に伴い検出されたマウスアップ座標値から前記基点までの距離、及び相対的な回転角度を前記移動距離計算モジュールの履歴に基いて数値化し、前記編集設定モジュールによりそれらの数値(設定数値)を初期値とした入力ダイアログを表示し、オペレータによる設定値の入力を促す(図16の二段目参照)と共に、入力操作とその適用の確認操作を以ってその入力ダイアログを閉じる数値設定ステップを行う。
【0094】
前記入力ダイアログに記入された設定数値に基き、前記オブジェクト表示モジュールは、「コンパス」のフラグが立っている条件に与えられた処理(「円弧描画」処理)を以って、一連の編集フローの開始前における作図描画状態に加えて、描画ポインタが規定値を超えた点(図15の最下段破線円との交点)と前記基点とを結ぶ線の延長線上を円弧の始点とし、マウスムーブ座標値が示す位置と基点とを結ぶ線の延長線上を円弧の終点として、前記基点からマウスムーブ座標値が示す位置までの距離を半径とした円弧を、前記オブジェクト表示モジュールを以って表示し、前記オブジェクト保存モジュールにより前記「円弧描画」処理を終えた位置に存在する「LINE」として保存領域へ保存される。当該オブジェクト保存ステップを以ってマウスアップ解析処理が完了し、「円弧描画」処理行程に伴う一連の編集フローが終了する。
【0095】
当該「円弧描画」処理行程の終了と共に、前記一連の編集フローの開始前における作図描画状態に復帰する。そして、次の描画始点までの移動に際し、マウスボタンの操作が行われない状態で移動するマウスの操作によってMOVEイベントが発生する。当該MOVEイベントを受けた前記オブジェクト編集モジュールは、描画ポインタが前記始点から引き出された直線を引いて移動する画像を前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記始点及びそれから引き出された線分として図形保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図16最下段参照)。尚、当該処理においても前記キャンセル処理は伴うこととなる。
【0096】
本発明による図形作成装置は、上記の如く編集行程を重ね、メニューボタンでの選択により、同一種類のオブジェクトに関する新規編集作業への移行、或いは、異なる種類のオブジェクトに関する新規編集作業の第一の編集行程への移行が行われた場合等に上記編集行程のモードから脱する他、当該編集モードにある限り、ガイドの編集、又は図形の編集を適宜行うことができる。
【0097】
以上の如く、本発明による図形編集装置は、入力手段から入力した編集データを、入力解析モジュールによって解析し、入力切換手段によって、前記図形描画手段の編集データとして取り扱うか、前記ガイド描画手段の編集データとして取り扱うかの切換を行う。その際、入力解析モジュールは、ホールド判定ステップ及び距離算出ステップにより、ホールドオブジェクトの存在、及び一定距離以上のドラッグ操作の有無を検出して前記入力切換手段の切換動作を司る編集データ、並びに座標値及び属性(編集データ)を出力する(図10参照)。
【0098】
即ち、図2及び図3の如く、ホールドオブジェクトが無く、前記移動距離が規定値以上である場合に図形の描画モードとして図形描画手段が機能し、当該条件を回避した編集操作によって、ガイド編集モード又は編集操作終了モードとしてガイド描画手段や編集手段が機能し、前記図形編集又はガイド編集の開始から終了に亘り複数の編集操作からなる一連の編集フローの中に、ガイド編集の操作からなる一連の編集フローを組み入れ、且つ当該ガイド編集に係る一連の編集フローが終了した後には、元の図形の描画モードの編集操作に復帰するという割込み処理を介在した編集フローが、マウスや、カーソルキーの操作による描画ポインタの移動及びクリック操作又はリターンキー等のキー入力操作のみによって可能となる。
【0099】
上記実施の形態にあっては、入力解析モジュールが編集手段に付属して設けられているが、単独で存在しても良いし、他の機能手段に付属していても良い。また、入力手段、編集手段、図形描画手段、ガイド描画手段、或いは入力解析モジュールをはじめとして、種々の処理を行う機能手段は、前記主な機能手段に適宜付随するものとして組み合わせられれば良い。
【0100】
その際、割込み処理を介在した編集フローへの移行及び復帰は、上記実施の形態の様な直接的な編集操作、即ち、前記入力解析モジュールに、ポインタによってホールドされたホールドオブジェクトの存在を検出するオブジェクト検索モジュール、及びドラッグ操作の有無を検出する移動距離計算モジュールを以って、前記ホールドオブジェクトが無く一定距離以上のドラッグ操作が生じた際の編集データを起動イベントとして検出するのではなく、特定の付加的なキー入力を以って起動イベントとする構成を採っても良いことは言うまでもない。
【産業上の利用可能性】
【0101】
本発明は、一連の編集フローを実行する際において連続性を絶たない編集作業を以って効率的且つ正確な編集作業を行える描画手法を採ることにより、図形作成装置及び図形作成プログラムの、より一層の作業性向上に寄与する。
【図面の簡単な説明】
【0102】
【図1】本発明による図形作成装置が具備する機能手段、及び図形作成プログラムに基く機能手段の一例を示すブロック図である。
【図2】本発明による図形作成装置及び図形作成プログラムの処理の一態様を示すフローチャートである。
【図3】本発明による図形作成装置及び図形作成プログラムの処理の一態様を示すフローチャートである。
【図4】本発明による図形作成装置が具備する機能手段、及び図形作成プログラムに基く機能手段による基本的な入出力処理の要部の一例を示すブロック図である。
【図5】本発明による図形作成装置が具備する機能手段、及び図形作成プログラムに基く機能手段による基本的な入出力処理の要部の一例を示すブロック図である。
【図6】本発明による図形作成装置が具備する機能手段、及び図形作成プログラムに基く機能手段による基本的な入出力処理の要部の一例を示すブロック図である。
【図7】本発明による図形作成装置が具備する機能手段、及び図形作成プログラムに基く機能手段による基本的な入出力構成の要部及びデータテーブルの一例を示す説明図である。
【図8】本発明による図形作成装置が具備する機能手段、及び図形作成プログラムに基く機能手段による基本的な入出力構成の要部及びデータテーブルの一例を示す説明図である。
【図9】本発明による図形作成装置が具備する機能手段、及び図形作成プログラムに基く機能手段による基本的な入出力構成の要部の一例を示す説明図である。
【図10】本発明による図形作成装置が具備する機能手段、及び図形作成プログラムに基く機能手段による基本的な入出力構成のデータテーブルの一例を示す説明図である。
【図11】本発明による図形作成装置及び図形作成プログラムで行われる処理例の概要をステップ毎に示す説明図である(直線描画開始)
【図12】本発明による図形作成装置及び図形作成プログラムで行われる処理例の概要をステップ毎に示す説明図である(ケースA)
【図13】本発明による図形作成装置及び図形作成プログラムで行われる処理例の概要をステップ毎に示す説明図である(ケースB)
【図14】本発明による図形作成装置及び図形作成プログラムで行われる処理例の概要をステップ毎に示す説明図である(ケースC)
【図15】本発明による図形作成装置及び図形作成プログラムで行われる処理例の概要をステップ毎に示す説明図である(ケースD)
【図16】本発明による図形作成装置及び図形作成プログラムで行われる処理例の概要をステップ毎に示す説明図である(ケースD)
【技術分野】
【0001】
本発明は、CAD(Computer Aided Design)システムにおいて、効率よく作図作業が行える図形作成装置及び図形作成プログラムに関する。
【背景技術】
【0002】
CADシステムは、線、面、又は三次元形状をディスプレイ画面に表示させつつ作図していくものであるが、作図の便宜を図る手法も種々紹介されており、以下にその例を概説する。
【発明の開示】
【発明が解決しようとする課題】
【0003】
下記特許文献1及び特許文献2には、グリッドを使用して作図を行う方法が記されている。
【0004】
【特許文献1】特開平6−215074号公報
【特許文献2】特開平8−123849号公報
【特許文献3】特開平8−16825号公報
【特許文献4】特開平6−195403号公報
【0005】
特許文献1に記載の技術は、所望の座標点が既存のグリッドとして存在しない場合には、既存のグリッドに変更を加えなければならず、例えば、グリッドの間隔変更には、原点と間隔の特定が必要となる。
【0006】
特許文献2に記載の技術は、部品ごとに個別のグリッドを予め割り当て、部品配置時にその間隔単位でずらして配置できる様にしたものであって、部品とは切り離した形で登録されたグリッドを適宜表示して作業の便宜を図る手法である。当該手法も、グリッドとして存在しない点を求める場合には、たとえそれが一つの点に過ぎなくともグリッドを入れ替える必要が生じる為に、編集効率が悪いという問題がある。
【0007】
また、下記特許文献3に記載の技術は、編集操作の内容とその対象物を選択し、描画する物体(描画物)に外接する直方体の輪郭線を表示し、当該輪郭線をドラッグすることによって描画物を編集する手法である。当該手法は、ドラッグする前に、回転、移動、或いは拡大縮小といった編集操作の内容を選択しておかなければならないと言う問題がある。
【0008】
下記特許文献4に記載の技術は、頻繁に使用する座標位置を、予め識別名と共に保存し、適宜呼び出して利用する形態が存在する。当該手法では、望むパースを描画するには、消失点座標を数値出力する必要がある。かかる入力に際しては、XYの種別と、座標系の種類を入力しなければならず、絶対座標系以外の座標系であれば、絶対座標系に対する原点の指定も必要となる。
【0009】
以上、従来の問題となる作業は、入力値確認の作業を以って純粋な編集作業に向かう思考を分断し、編集作業への注意力を消費して、編集作業全体で生じる疲労を増大させる結果となる。
【0010】
本発明は、上記実情に鑑みてなされたものであって、一連の編集フロー(ここでは、図形又はガイドを構成する単位要素(以下、オブジェクトと記す。)を編集する為の不可分な操作とする。)を実行する際において連続性を絶たない編集作業を以って効率的且つ正確な編集作業を行える図形作成装置及び図形作成プログラムの提供を目的とする。
【課題を解決するための手段】
【0011】
上記課題を解決する為に成された本発明による図形作成装置は、編集操作から編集データを出力する入力手段と、前記編集データに基き描画作業の編集制御を行う編集手段と、前記編集データに基き一連の編集フローにより図形を編集する図形描画手段と、前記編集データに基き一連の編集フローによりガイドを編集するガイド描画手段と、当該入力手段から得た編集データを解析し、一連の図形描画手段による編集フローの中でガイド描画手段によりガイドを編集する割込み処理、又は、一連のガイド描画手段による編集フローの中で図形描画手段により図形を編集する割込み処理、に移行し復帰する為のイベントを検出する入力解析モジュールと、当該イベントに基づき前記編集データを前記描画手段の編集データとして取り扱うか、前記編集手段の編集データとして取り扱うかの切換を行う入力切換手段とを備えたことを特徴とする。
【0012】
前記入力解析モジュールは、ポインタによってホールドされたホールドオブジェクトの存在を検出するオブジェクト検索モジュール、及びドラッグ操作の有無を検出する移動距離計算モジュールを具備し、前記ホールドオブジェクトが無く一定距離以上のドラッグ操作が生じた際の編集データを起動イベントとして検出するものであっても良い。
【0013】
また、上記課題を解決する為に成された本発明による図形作成プログラムは、コンピュータに、編集操作から編集データを出力する入力手段、前記編集データに基き描画作業の編集制御を行う編集手段、前記編集データに基き一連の編集フローにより図形を編集する図形描画手段、前記編集データに基き一連の編集フローによりガイドを編集するガイド描画手段、当該入力手段から得た編集データを解析し、一連の図形描画手段による編集フローの中でガイド描画手段によりガイドを編集する割込み処理、又は、一連のガイド描画手段による編集フローの中で、図形描画手段により図形を編集する割込み処理に移行し復帰する為のイベントを検出する入力解析モジュール、及び当該イベントに基づき前記編集データを前記描画手段の編集データとして取り扱うか、前記編集手段の編集データとして取り扱うかの切換を行う入力切換手段としての機能を与えることを特徴とする。
【0014】
前記入力解析モジュールに、ポインタによってホールドされたホールドオブジェクトの存在を検出するオブジェクト検索モジュール、及びドラッグ操作の有無を検出する移動距離計算モジュールとしての機能を与え、前記ホールドオブジェクトが無く一定距離以上のドラッグ操作が生じた際の編集データを起動イベントとして検出させる図形作成プログラムとしても良い。
【発明の効果】
【0015】
上記本発明による図形編集装置を使用すれば、一連の編集フローを実行する際において連続性を絶たない編集作業を以って効率的且つ正確な編集作業を行えることから、入力値確認の作業を以って純粋な編集作業に向かう思考を分断し、編集作業への注意力を消費して、編集作業全体で生じる疲労を増大させることもない。
【発明を実施するための最良の形態】
【0016】
以下、本発明に因る図形作成装置の実施の形態を図面に基き説明する。
ここで例示する図形作成装置は、本発明による図形作成プログラムによる情報処理が、キーボードやマウス等の入力装置、並びにディスプレイ装置及びプリンタ等の出力装置を備えたコンピュータを用いて実現されたものである。
【0017】
図1に示す例は、それらハードウエア資源と前記図形作成プログラムとが協働して、編集操作から座標値、属性、制御データ(以下、編集データと総称し、当該編集データのうちのマウス操作に関するデータをマウスデータと記す。)を出力する入力手段と、前記編集データに基き描画作業の編集制御を行う編集手段と、前記編集データに基き一連の編集フローにより図形を編集する図形描画手段と、前記編集データに基き一連の編集フローによりガイドを編集するガイド描画手段と、当該入力手段から得た編集データを解析し一連の図形描画手段による編集フローの中でガイド描画手段によりガイドを編集する割込み処理、又は、一連のガイド描画手段による編集フローの中で図形描画手段により図形を編集する割込み処理、に移行し復帰する為のイベントを検出する入力解析モジュールと、当該イベントに基づき前記編集データを前記図形描画手段の編集データとして取り扱うか、前記ガイド描画手段の編集データとして取り扱うかの切換を行う入力切換手段とを構成する。
【0018】
前記入力手段は、前記入力装置及びそれらのインターフェースで構成され、マウスやキーボード等を用いた種々の編集操作で生じる電気信号を前記編集データとして出力する。
【0019】
前記属性には、座標値属性、オブジェクト属性等が挙げられる。
座標属性としては、マウスダウン(ディスプレイ上の描画ポインタの位置を定めた上でのクリックボタンの押圧)操作、マウスムーブ(ドラッグ)操作、マウスアップ(ディスプレイ上の描画ポインタの位置を定めた上でのクリックボタンの開放)操作、左右ボタンの認識、及びキー入力操作が存在し、オブジェクト属性としては、処理対象(点、直線、曲線等)、入力オブジェクトID、処理内容(追加、変更、及び削除等)等が挙げられる。
制御データとは、線種、表示色、UnDo、ReDo、初期化、検索範囲、検索対象(線、点)、表示・非表示、出力・非出力、及びガイド通知等である(図7乃至図9参照)。
【0020】
以下、前記機能手段のモジュール構成例(図1参照)と、当該機能手段が行う基本的な処理内容を説明する。
【0021】
前記入力切換手段は、図形編集とガイド編集との切り換えを司るスイッチングモジュールとして、当該入力手段で入力した編集データを、当該編集データから抽出されたイベントに応じて前記図形描画手段とガイド描画手段を含む編集手段へ出力するものである(図7参照)。
【0022】
前記図形描画手段は、
前記図形編集の開始から終了に亘る一連の編集フローでの編集データに基きオブジェクトを作成するオブジェクト編集モジュールと、
作成されたオブジェクトを表示するオブジェクト表示モジュールと、
前記図形編集の開始から終了に亘る一連の編集フローでの編集データを受けて当該図形描画に関する編集データを図形保存領域(メモリや記録媒体等)に保存するオブジェクト保存モジュールとを具備する(図8参照)。
これら各モジュールは、当該編集手段以外の他の機能手段に設けても良いし、単独で存在しても良い。
【0023】
当該例において、前記編集手段は、ガイド描画手段と、入力解析モジュールとで構成される。前記図形描画手段にあっても、その態様に応じて当該編集手段に適宜組み込んだ構成が可能である。
【0024】
前記ガイド描画手段は、前記入力手段で出力した編集データから、前記図形編集の開始から終了に亘る一連の編集フローでの編集データを検出すると共に、前記ガイド編集の開始から終了に亘る一連の編集フローでの編集データを検出する入力解析モジュールと、
前記ガイド編集の開始から終了に亘る一連の編集フローでの編集データに基きオブジェクトを作成するオブジェクト編集モジュールと、
作成されたガイドを表示するオブジェクト表示モジュールと、
前記ガイド編集の開始から終了に亘る一連の編集フローでの編集データを受けて当該ガイド編集に関する編集データをガイド保存領域(メモリや記録媒体等)へ保存するオブジェクト保存モジュールと、
前記オブジェクト検索モジュール及びオブジェクト判定モジュールに付属し、当該オブジェクト保存モジュールによりガイド保存領域又は図形保存領域に保存された既存オブジェクトのうちの指定されたオブジェクト相互の交点を算出する交点計算モジュールと、
を具備する(図9参照)。
【0025】
尚、これら各モジュールは、当該図形描画手段や編集手段以外の他の機能手段に設けても良いし、単独で存在しても良い。
【0026】
前記入力解析モジュールは、ポインタによってホールドされたホールドオブジェクトの存在を検出する為に前記図形編集又はガイド編集の開始から終了に亘る一連の編集フローでの編集データを受けて規定範囲内のオブジェクトを既存の図形保存領域又はガイド保存領域から検索すると共に、既存オブジェクトから抽出されたオブジェクトに関する既存の編集データを検出するオブジェクト検索モジュールと、
当該オブジェクト検索モジュールにより抽出されたオブジェクトに関する編集データに基づきオブジェクトの種類(点、線、円弧等)を判定するオブジェクト判定モジュールと、
ホールドしたオブジェクトの基準点の座標値を算出する基準点計算モジュールと、
ドラッグ操作の有無を検出する為に前記マウスダウン座標値とマウスムーブ座標値との距離(以下、移動距離と記す。)を算出し、その履歴を履歴保存領域に保存する移動距離計算モジュールを具備する。
そして、これらを以って、以下に示すマウスダウン解析処理及びマウスムーブ解析処理、並びにマウスアップ解析処理を行うと共に、その処理のなかで、前記ホールドオブジェクトが無く一定距離以上の(準備範囲外への)ドラッグ操作が生じた際の編集データを起動イベントとして検出する。
【0027】
マウスダウン解析処理(マウスムーブ解析処理を含む(図2参照))は、マウスアップ操作又はマウスムーブ操作で生じるイベントをトリガとして開始され、マウスダウンを行った際の描画ポインタの位置の座標値(マウスダウン座標値:編集データ)を検出する位置検出ステップと、前記オブジェクト検索モジュールにより、当該マウスダウン座標値が示す位置の規定範囲内に存在するオブジェクトを、図形保存領域又はガイド保存領域内の既存のオブジェクトから検索し、前記描画ポインタでホールドし得る既存オブジェクトの有無を判定する前記ホールド判定ステップ(オブジェクト検索ステップを含む。以下同じ。)と、前記オブジェクト判定モジュールにより、前記描画ポインタでホールドされたオブジェクトのオブジェクト属性(前記処理対象、入力オブジェクトID、及び処理内容)を判定するオブジェクト判定ステップと、これら、両ステップの判定結果に応じた処理を行う判定ステップや処理ステップを行うものである。
【0028】
前記ホールド判定ステップにおいて、マウスダウン座標値が示す位置の規定範囲内にオブジェクトが存在しない場合には、前記マウスムーブ解析処理により、マウスムーブ操作により移動する描画ポインタの位置の座標値(以下、マウスムーブ座標値:編集データ)及び「図形」のオブジェクトIDを出力する等の処理ステップを経て当該マウスダウン解析処理を終了する(図2参照)。
【0029】
前記ホールド判定ステップにおいて、マウスダウン座標値が示す位置の規定範囲内にオブジェクトが存在する場合には、更に、前記移動距離計算モジュールにより描画ポインタの移動距離を算出し、マウスムーブ操作により移動し終えた描画ポインタの位置が、マウスダウンの座標値が示す位置から設定値以上離れたか否かを判定する前記マウスムーブ解析処理での距離算出ステップを経る。
【0030】
当該距離算出ステップで規定値未満と判定した場合には、マウスダウン座標値、及び「図形」のオブジェクトIDを出力する処理ステップを経て前記マウスダウン解析処理を終了する。一方、当該距離算出ステップで規定値以上と判定した場合には、更に、描画ポインタでホールドされたオブジェクトが「点」であるか他のものかを判定するオブジェクト判定ステップを経る。
【0031】
前記オブジェクト判定ステップにより、描画ポインタでホールドされたオブジェクトが判明した場合には、前記ガイド描画手段の前記オブジェクト編集モジュールを以って以下の処理を行う。
【0032】
即ち、描画ポインタでホールドされたオブジェクトが「点」である場合には、「コンパス」処理を行うフラグを立てるツール設定ステップを経る。そして、マウスダウン座標値の位置[DOWN]を中心とし、前記マウスダウン座標値とマウスムーブ座標値との前記移動距離を半径とし、前記移動距離に達する過程で前記規定値に達した位置と前記中心とを結ぶ直線上を開始点とし、前記マウスムーブ座標値と前記中心とを結ぶ直線上を終了点として、当該操作に適合する「線分」を、当該オブジェクト編集モジュールを以って編集し、当該オブジェクト編集モジュールからその線分データを受け取り「LINE」と位置付けてオブジェクト表示モジュールにより表示し、前記マウスダウン解析処理を終了する。
【0033】
一方、描画ポインタでホールドされたオブジェクトが「点」でない場合には、当該オブジェクトを「線分」とみなし、回転処理を望むか否かを、シフトキーが押されているか否かで判断するオブジェクト判定ステップを経る。当該オブジェクト判定ステップにおいてシフトキーが押されていた場合には、「分度器」処理を行うフラグを立てる。一方、押されていなかった場合には、「平行定規」処理を行うフラグを立てる。
【0034】
前記「分度器」処理にあっては、描画ポインタでホールドされた「線分」上、又はその近傍に「点」又は「交点」が存在するか否かを検索する点検索ステップを経る。それらが存在する場合には、その「点」又は「交点」を中心とし、存在しない場合には、マウスムーブ座標値の位置から当該「線分」に下ろした垂線の足を中心として、中心とマウスムーブ座標値の位置とを結ぶ角度に回転した当該操作に適合する前記「線分」の複写を、オブジェクト編集モジュールを以って形成し、「LINE」と位置付けてオブジェクト表示モジュールにより表示し、前記マウスダウン解析処理を終了する。
【0035】
前記「平行定規」処理にあっては、前記マウスムーブ座標値の位置に平行移動した当該操作に適合する前記「線分」の複写をオブジェクト編集モジュールを以って形成し、「LINE」と位置付けてオブジェクト表示モジュールにより表示し、前記マウスダウン解析処理を終了する。
【0036】
マウスアップ解析処理(マウスムーブ解析処理を含む(図3参照))は、マウスアップ操作をトリガとして開始され、マウスアップを行った描画ポインタの位置の座標値(マウスアップ座標値:編集データ)を検出する位置検出ステップと、前記オブジェクト検索モジュールにより、当該マウスアップの座標値が示す位置の規定範囲内にオブジェクトが存在するか否かを判定するホールド判定ステップと、ホールドされたオブジェクトのオブジェクト属性(前記処理対象、入力オブジェクトID、及び処理内容)を判定するオブジェクト判定ステップと、これら、両ステップの判定結果に応じた処理を行う判定ステップや処理ステップを行うものである。
【0037】
前記ホールド判定ステップにおいて、マウスアップ座標値が示す位置にオブジェクトが存在する場合には、前記マウスアップ座標値及び「図形」のオブジェクトIDを出力する処理ステップを経て当該マウスアップ解析処理を終了する。
【0038】
前記ホールド判定ステップにおいて、マウスアップ座標値が示す位置にオブジェクトが存在しない場合には、更に、前記移動距離計算モジュールにより、マウスムーブ操作により描画ポインタが移動し終えた位置(マウスアップ座標値が示す位置)が、マウスダウンの座標値の位置[DOWN]から規定値以上離れたか否かを判定する前記マウスムーブ解析処理での距離算出ステップを経る。
【0039】
当該距離算出ステップで規定値未満と判定した場合には、更に前記移動距離計算モジュールにより、最終のマウスダウンからマウスアップに至る間に前記移動距離が規定値以上になった実績があるか否かを履歴保存領域の履歴を参照して判定する履歴参照ステップを経る。その様な実績が無い場合には、マウスダウン座標値、及び「図形」のオブジェクトIDを出力する処理ステップを経て当該マウスアップ解析処理を終了する。一方、当該履歴参照ステップで規定値以上となった実績があると判定した場合には、直ちに、当該マウスアップ解析処理を終了する。
【0040】
当該距離算出ステップで規定値以上と判定した場合には、当該マウスアップ座標から規定範囲内に存在するオブジェクトを検出するオブジェクト検索ステップを経る。当該オブジェクト検索ステップによって検出されたオブジェクトが点である場合には、その点を[UP]座標とし、当該オブジェクト検索ステップによって検出されたオブジェクトが「線」である場合には、マウスアップ座標から当該線分に下ろした垂線の足を[UP]座標とし、当該オブジェクト検索ステップによって検出されたオブジェクトが無い場合には、マウスアップ座標値の位置を[UP]座標とする。
【0041】
前記オブジェクト編集モジュールは、前記マウスダウン解析処理で得られたマウスダウン座標値の位置[DOWN]と前記[UP]座標との距離、及びそれらの相対的な回転角度を前記移動距離計算モジュールの履歴に基いて数値化し、前記編集設定モジュールによってそれらの数値を初期値とした入力ダイアログをディスプレイに表示し、オペレータによる設定値の入力を促すと共に、入力操作とその確認操作を以ってその入力ダイアログを閉じる数値設定ステップを経る(図3参照)。
【0042】
即ち、前記数値設定ステップでの入力値を適用する確認を得た場合には、前記マウスダウン座標値の位置[DOWN]を固定点とし、前記[UP]座標方向に設定数値分だけ移動或いは回転等の処理を施した「線分」をオブジェクト編集モジュールを以って形成し、当該オブジェクト編集モジュールからその線分データを受け取り「LINE」と位置付けてオブジェクト表示モジュールにより表示し、ガイド描画手段のガイド保存領域に保存する処理ステップを経る。一方、入力値を適用する確認が得られなかった場合には、即座に前記マウスアップ解析処理を終了し、当該一連の編集フローの直前の状態に復帰する(図3参照)。
【0043】
以下、直線の描画処理を例にとって、補助線の使用、即ち、図形描画手段とガイド描画手段の双方が機能する事(補助線通知がonであること(図7表参照)、即ち、ガイド描画手段が利用可能であること。)を前提とした図形作成装置の処理動作の基本的な一例を示す。
【0044】
先ず、描画始点までの移動に際し、マウスボタンの操作が行われない状態で移動するマウスの操作によって描画ポインタが移動し、前記入力手段においてMOVEイベントが発生する(図11の一段目参照)。
【0045】
次いで、オペレータが望む位置に第一の編集行程のマウスダウン操作が行われることによってDOWNイベントが発生し、入力切換手段を介して(入力切換手段を介さない構成も可能である。)前記編集データが、初期条件としての入力先である編集手段の編集データとして出力される(図11の二段目参照)。当該マウスダウン操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスダウン解析処理が行われる(図4参照)。
【0046】
ここでは、マウスダウンの座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在しなかったとする(オブジェクト検索モジュールによるホールド判定ステップ(オブジェクト検索ステップを含む。)以下、ホールド判定ステップと記す。)。そうすると、オペレータのマウスダウン操作に伴いマウスダウン解析処理によって検出されたマウスダウン座標値、及び「図形」のオブジェクトIDを含む編集データが、前記入力切換手段へ出力される(図2参照)。
【0047】
一方、仮に、マウスダウン座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在した場合には(ホールド判定ステップ)、前記マウスムーブ解析処理によって前記マウスダウン座標値の位置からマウスムーブ操作(ドラッグ操作)がなされている位置までの距離(移動距離)が規定値以上であるか否かを判定し(距離算出ステップ)、当該移動距離が規定値未満である場合には、前記マウスダウン座標値、及び「図形」のオブジェクトIDを含む編集データが当該入力切換手段へ出力される。
【0048】
当該入力切換手段は、前記マウスダウン座標値、及び「図形」のオブジェクトIDを含む編集データを受けて制御テーブル(図7表参照)を参照し、当該編集データは、それが指し示す前記図形描画手段へ出力され、当該図形描画手段の編集データとして取り扱われる。
【0049】
次に、オペレータが望む位置にマウスアップすることによってUPイベントが発生し、入力切換手段を介して(入力切換手段を介さない構成も可能である。)初期条件としての入力先である編集手段に前記編集データが出力される。当該マウスアップ操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスアップ解析処理を行う。
【0050】
ここでは、マウスアップの座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在しなかったので(ホールド判定ステップ)、オペレータのマウスアップ操作に伴いマウスアップ解析処理によって検出されたマウスアップ座標値、及び「図形」のオブジェクトIDを含む編集データが当該入力切換手段へ出力される。
【0051】
当該入力切換手段は、当該編集データを受けて制御テーブル(図7表参照)を参照し、当該編集データが前記図形描画手段へ出力され、当該編集データは、当該図形描画手段の編集データとして取り扱われる。
【0052】
当該図形描画手段においては、当該編集データを受けてオブジェクト判定モジュールが制御テーブル(図8表参照)を参照し、当該参照結果に基き「点」として判断され、前記オブジェクト編集モジュールは、前記オブジェクト表示モジュールを以って前記マウスダウン座標へオブジェクトたる「線分」の始点として表示し(図11の三段目参照)、前記オブジェクト保存モジュールにより前記マウスダウン座標が前記「線分」の始点として図形保存領域へ保存される。当該オブジェクト保存ステップを以ってマウスアップ解析処理が完了し、第一の編集行程(描画の第一点の編集)が終了する。
【0053】
続いて、次の描画始点までの移動に際し、マウスボタンの操作が行われない状態で移動するマウスの操作によってMOVEイベントが発生する。当該MOVEイベントを受けた前記オブジェクト編集モジュールは、描画ポインタが前記始点から引き出された直線を引いて移動する画像を前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記始点及びそれから引き出された線分として図形保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図11四段目参照)。
【0054】
次に、オペレータが望む位置に、第二の編集行程のマウスダウン操作が行われることによってDOWNイベントが発生し、入力切換手段を介して(入力切換手段を介さない構成も可能である。)前記編集データが、初期条件としての入力先である編集手段の編集データとして出力される(図11の五段目参照)。当該マウスダウン操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスダウン解析処理が行われる(図5参照)。
【0055】
ここでは、マウスダウンの座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在し(ホールド判定ステップ)、前記ガイド保存領域に「(縦)線分」の存在が認められるとするから(ホールド判定ステップ)、基準点計算モジュールにより、オペレータのマウスダウン操作に伴いマウスダウン解析処理によって検出されたマウスダウン座標値の位置から当該「線分」に下ろした垂線の足の座標を算出し、近傍点(グリップ点:下記移動距離計算の起点)座標として出力すると共に、この様に出力された近傍点座標、及び「ガイド」のオブジェクトIDを含む編集データが当該入力切換手段へ出力される。
【0056】
当該入力切換手段は、当該編集データを受けて制御テーブル(図7表参照)を参照し、当該編集データが指し示す前記ガイド描画手段へ出力され、当該編集データは、当該ガイド描画手段の編集データとして取り扱われる。
【0057】
当該第二の編集行程のマウスダウン操作が行われ、且つ継続してマウスムーブ操作が伴う場合にはMOVEイベントが発生し、入力切換手段を介して与えられた前記編集データが継続して初期条件としての入力先である編集手段におけるガイド編集用の編集データとして出力され、図形の描画編集は、前記第一の編集行程を以って中断される。当該マウスムーブ操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスムーブ解析処理が行われる。
【0058】
当該マウスムーブ解析処理では、前記近傍点座標が示す位置からマウスムーブ座標値までの距離(移動距離)を算出し(移動距離計算モジュールによる距離算出ステップ)、当該移動距離が規定値以内である場合には、ガイド描画準備状態として何等新規な編集動作は行わず、前記第一の編集行程の終了時における作図描画状態を維持する(図11の六段目参照)。一方、規定値以上である場合にはドラッグ操作と認め以下の処理を行うこととなる。
【0059】
また、前記オブジェクト判定モジュールにより描画ポインタにホールドされたオブジェクトの判断を行い(オブジェクト判定ステップ)、当該例では、前記の如く「線分」であって「点」以外であるから、更に、シフトキーが押されているか否かの判断を行う。シフトキーが押されていない場合には、前記オブジェクト編集モジュールは、「平行定規」のフラグを立て(ツール設定ステップ)、前記「線分」のグリップ点をマウスムーブ座標値へ平行移動したに等しい線分を導き、前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記「平行定規」処理継続中の位置に存在する「LINE」として保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図11の最終段参照)。
【0060】
次に、オペレータが望む位置でマウスアップ操作が行われることによってUPイベントが発生し(図12の一段目参照)、入力切換手段を介して初期条件としての入力先である編集手段に当該マウスアップ操作による編集データが出力される。当該編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスアップ解析処理を行う(ケースA)。
【0061】
当該マウスアップ解析処理では、マウスダウンの座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在するか否かを検索し(オブジェクト検索ステップ)、ここでは、描画ポインタでホールドされたオブジェクトが存在することから、前記オブジェクト判定モジュールにより描画ポインタにホールドされたオブジェクトの判断を行い(オブジェクト判定ステップ)、且つ、前記オブジェクト編集モジュールは、「平行定規」のフラグが立っていること、及び当該UPイベント発生時における描画ポインタの移動距離が規定値以上であることを確認し(距離算出ステップ)、オペレータのマウスアップ操作に伴い検出されたマウスアップ座標値からドラッグ中の「線分」への垂線の足までの距離、及び相対的な回転角度を前記移動距離計算モジュールの履歴に基いて数値化し、前記編集設定モジュールによりそれらの数値(設定数値)を初期値とした入力ダイアログを表示し(図12の二段目参照)、オペレータによる設定値の入力を促すと共に、入力操作とその適用の確認操作を以ってその入力ダイアログを閉じる数値設定ステップを行う(図12の三段目参照)。
【0062】
適用の確認操作が行われずキャンセルボタンの操作が行われた場合、或いは前記マウスムーブ解析処理によって前記マウスダウン座標値の位置からマウスムーブ操作(ドラッグ操作)がなされている位置までの距離(移動距離)が規定値以上であるか否かを判定し(距離算出ステップ)、当該UPイベント発生時における移動距離が規定値未満である場合には、マウスダウン座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在したとしても(ホールド判定ステップ)、前記第一の編集行程の終了時、即ち、当該一連の編集フローの開始前における作図描画状態に復帰するキャンセル処理(ケースB)が行われる(図11の六段目及び図13参照)。
【0063】
前記入力ダイアログに記入された設定数値に基き、前記オブジェクト表示モジュールは、「平行定規」のフラグが立っている条件に与えられた処理(「平行定規」処理)を以って、前記第一の編集行程の終了時における作図描画状態に加えて、前記「線分」を前記近傍点座標値が示す位置から設定数値に相当する距離の位置へ前記オブジェクト表示モジュールを以って表示し、前記オブジェクト保存モジュールにより前記「平行定規」処理を終えた位置に存在する「LINE」として保存領域へ保存される。当該オブジェクト保存ステップを以ってマウスアップ解析処理が完了し、第二の編集行程(ガイドたる「線分」の移動複写)が終了する(図12の三段目参照)。
【0064】
当該第二の編集行程の終了と共に、前記第一の編集行程の終了時における作図描画状態に復帰する。そして、次の描画始点までの移動に際し、マウスボタンの操作が行われない状態で移動するマウスの操作によってMOVEイベントが発生する。当該MOVEイベントを受けた前記オブジェクト編集モジュールは、描画ポインタが前記始点から引き出された直線を引いて移動する画像を前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記始点及びそれから引き出された線分として図形保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図12の四段目参照)。
【0065】
更に、オペレータが望む位置に、第三の編集行程のマウスダウン操作が行われることによってDOWNイベントが発生し、入力切換手段を介して(入力切換手段を介さない構成も可能である。)前記編集データが、初期条件としての入力先である編集手段におけるガイド編集用の編集データとして出力される(図12の五段目参照)。当該マウスダウン操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスダウン解析処理が行われる。
【0066】
ここでは、前記オブジェクト検索モジュールによるホールド検索ステップと前記オブジェクト判定モジュールによるオブジェクト判定ステップにより、マウスダウン座標値の位置が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトを、点、交点、線分の順で図形保存領域及びガイド保存領域を検索する。当該例では、前記「LINE」と既存の「LINE」との「交点」が優先的に検出され、当該マウスダウン座標値(規定領域内の「交点」へ吸着する処理を伴う場合には、前記交点計算モジュールによりそれらの「交点」の座標値を算出し、その「交点」の座標値(交点座標値))、及び「図形」のオブジェクトIDを含む編集データが当該入力切換手段へ出力される。
【0067】
当該入力切換手段は、前記交点座標値、及び「図形」のオブジェクトIDを含む編集データを受けて制御テーブル(図7表参照)を参照し、当該編集データは、それが指し示す前記図形描画手段へ出力され、当該図形描画手段の編集データとして取り扱われる。
【0068】
次に、オペレータが望む位置でマウスアップすることによってUPイベントが発生し、入力切換手段を介して(入力切換手段を介さない構成も可能である。)初期条件としての入力先である編集手段に前記編集データが出力される(図12の最終段参照)。当該マウスアップ操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスアップ解析処理を行う。
【0069】
ここでは、前記オブジェクト検索モジュールと前記オブジェクト判定モジュールにより、マウスアップの座標値が示す規定範囲内で「交点」が検出されたので、オペレータのマウスアップ操作に伴いマウスアップ解析処理によって検出された前記交点座標値、及び「図形」のオブジェクトIDを含む編集データが当該入力切換手段へ出力される。
【0070】
当該入力切換手段は、当該編集データを受けて制御テーブル(図7表参照)を参照し、当該編集データが前記図形描画手段へ出力され、当該編集データは、当該図形描画手段の編集データとして取り扱われる。
【0071】
当該図形描画手段においては、当該編集データを受けて制御テーブル(図8表参照)を参照し、当該参照結果に基き、前記第一の編集行程で得られた1点と合わせて2点を具備する「線」として判断され、前記オブジェクト編集モジュールは、前記オブジェクト表示モジュールを以って前記マウスダウン座標へ描画の終点及びそれと始点とを結ぶ「線」として表示し、前記オブジェクト保存モジュールにより前記マウスダウン座標が図形描画のオブジェクトたる「線」の終点として図形保存領域へ保存されると共に、当該「線」が図形描画のオブジェクトの一つとして保存される。当該オブジェクト保存ステップを以ってマウスアップ解析処理が完了し、第三の編集行程(描画の第一点の編集)が終了する(図12の最終段参照)。
【0072】
次に、前記第二の編集行程の様に、既存オブジェクトを利用して編集を行う他の処理態様を説明する。
図14に示す処理は、既存の線分を所望の角度だけ回転させ複写する処理(以下、「回転複写」処理(ケースC)と記す。)の一例を示したものである。
【0073】
オペレータが望む位置に、「回転複写」処理行程のマウスダウン操作が行われることによってDOWNイベントが発生し、入力切換手段を介して(入力切換手段を介さない構成も可能である。)前記編集データが、初期条件としての入力先である編集手段の編集データとして出力される(図14の一段目参照)。当該マウスダウン操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスダウン解析処理が行われる(図5参照)。
【0074】
ここでは、マウスダウンの座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在し(ホールド判定ステップ)、前記ガイド保存領域に「(縦)線分(図14においては点線表示)」の存在が認められるとするから(ホールド判定ステップ)、基準点計算モジュールにより、オペレータのマウスダウン操作に伴いマウスダウン解析処理によって検出されたマウスダウン座標値の位置から当該「線分」に下ろした垂線の足の座標を算出し、近傍点(グリップ点:下記移動距離計算の起点)座標として出力すると共に、この様に出力された近傍点座標、及び「ガイド」のオブジェクトIDを含む編集データが当該入力切換手段へ出力される。
【0075】
当該入力切換手段は、当該編集データを受けて制御テーブル(図7表参照)を参照し、当該編集データが指し示す前記ガイド描画手段へ出力され、当該編集データは、当該ガイド描画手段の編集データとして取り扱われる。
【0076】
当該回転複写処理行程のマウスダウン操作が行われ、且つ継続してマウスムーブ操作が伴う場合にはMOVEイベントが発生し、入力切換手段を介して(入力切換手段を介さない構成も可能である。)与えられた前記編集データが継続して初期条件としての入力先である編集手段におけるガイド編集用の編集データとして出力され、当該一連の編集フローの開始前における作図描画状態を以ってその編集行程が中断される。当該マウスムーブ操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスムーブ解析処理が行われる。
【0077】
当該マウスムーブ解析処理では、前記近傍点座標が示す位置からマウスムーブ座標値までの距離(移動距離)を算出し(移動距離計算モジュールによる距離算出ステップ)、当該移動距離が規定値(図14の破線円。以下、同じ。)以内である場合には、ガイド描画準備状態として何等新規な編集動作は行わず、前記一連の編集フローの開始前における作図描画状態を維持する(図11の六段目参照)。一方、規定値以上である場合にはドラッグ操作と認め以下の処理を行うこととなる。
【0078】
即ち、前記オブジェクト判定モジュールにより描画ポインタにホールドされたオブジェクトの判断を行い(オブジェクト判定ステップ)、当該例では、前記の如く「線分」であって「点」以外であるから、更に、シフトキーが押されているか否かの判断を行う。シフトキーが押されている場合には、前記オブジェクト編集モジュールは、「分度器」のフラグを立て(ツール設定ステップ)、ドラッグの方向が水平方向から一定の閾角度以内であれば、前記近傍点と共に、前記「線分」をマウスムーブ座標値へ平行移動したに等しい線分を導き、前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記「分度器」処理継続中の位置に存在する「LINE」として保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図14の一段目の破線参照)。
【0079】
前記オブジェクト編集モジュールは、前記の如く「分度器」のフラグが立っている場合にあっては(ツール設定ステップ)、前記ドラッグの方向が、前記平行移動に続いて水平方向から一定の閾角度を超えた場合には、前記マウスダウン座標値の位置を回転の「中心」とし(図2参照)、前記マウスダウン時(ホールド時)の位置に存在した前記「線分」を、前記グリップ点と共に、前記閾角度を超えた角度だけ回転移動したに等しい線分を導き、前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記「分度器」処理継続中の位置に存在する「LINE」として保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図14の二段目の破線参照)。
【0080】
尚、この際、マウスムーブ解析処理の継続中にシフトキーが放された場合には、前記オブジェクト編集モジュールは、「平行定規」のフラグを立て(ツール設定ステップ)、前記近傍点と共に、前記「線分」をマウスムーブ座標値へ平行移動したに等しい線分を導き、前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記「分度器」処理継続中の位置に存在する「LINE」として保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図14の三段目参照)。更に、シフトキーが押された場合には、前記オブジェクト編集モジュールは、再び「分度器」のフラグを立て(ツール設定ステップ)、前記「回転複写」処理に復帰する。
【0081】
次に、オペレータが望む位置でマウスアップ操作が行われることによってUPイベントが発生し、入力切換手段を介して初期条件としての入力先である編集手段に当該マウスアップ操作による編集データが出力される。当該編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスアップ解析処理を行う。
【0082】
当該マウスアップ解析処理では、マウスダウンの座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在するか否かを検索し(オブジェクト検索ステップ)、ここでは、描画ポインタでホールドされたオブジェクトが存在することから、前記オブジェクト判定モジュールにより描画ポインタにホールドされたオブジェクトの判断を行い(オブジェクト判定ステップ)、且つ、前記オブジェクト編集モジュールは、「分度器」のフラグが立っていること、及び当該UPイベント発生時における描画ポインタの移動距離が規定値以上であることを確認し(距離算出ステップ)、オペレータのマウスアップ操作に伴い検出されたマウスアップ座標値からドラッグ中の「線分」への垂線の足までの距離、及び相対的な回転角度を前記移動距離計算モジュールの履歴に基いて数値化し、前記編集設定モジュールによりそれらの数値(設定数値)を初期値とした入力ダイアログを表示し、オペレータによる設定値の入力を促す(図14の最下段参照)と共に、入力操作とその適用の確認操作を以ってその入力ダイアログを閉じる数値設定ステップを行う。
【0083】
前記入力ダイアログに記入された設定数値に基き、前記オブジェクト表示モジュールは、「分度器」のフラグが立っている条件に与えられた処理(「回転複写」処理)を以って、一連の編集フローの開始前における作図描画状態に加えて、前記「線分」を前記近傍点座標値が示す位置から設定数値に相当する角度回転させた位置へ前記オブジェクト表示モジュールを以って表示し、前記オブジェクト保存モジュールにより前記「回転複写」処理を終えた位置に存在する「LINE」として保存領域へ保存される。当該オブジェクト保存ステップを以ってマウスアップ解析処理が完了し、「回転複写」処理行程(ガイドたる「線分」の回転複写)に伴う一連の編集フローが終了する。
【0084】
当該「回転複写」処理行程の終了と共に、前記一連の編集フローの開始前における作図描画状態に復帰する。そして、次の描画始点までの移動に際し、マウスボタンの操作が行われない状態で移動するマウスの操作によってMOVEイベントが発生する。当該MOVEイベントを受けた前記オブジェクト編集モジュールは、描画ポインタが前記始点から引き出された直線を引いて移動する画像を前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記始点及びそれから引き出された線分として図形保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図14最下段参照)。尚、当該処理においても前記キャンセル処理は伴うこととなる。
【0085】
図15に示す処理は、所望の半径の円弧を所望の角度だけ編集する処理(以下、「円弧描画」処理(ケースD)と記す。)の一例を示したものである。
【0086】
オペレータが望む位置に、「円弧描画」処理行程のマウスダウン操作が行われることによってDOWNイベントが発生し、入力切換手段を介して(入力切換手段を介さない構成も可能である。)前記編集データが、初期条件としての入力先である編集手段の編集データとして出力される(図15の一段目参照)。当該マウスダウン操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスダウン解析処理が行われる(図5参照)。
【0087】
ここでは、マウスダウンの座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在し(ホールド判定ステップ)、前記ガイド保存領域に「交点」の存在が認められるとするから(ホールド判定ステップ)、基準点計算モジュールにより、オペレータのマウスダウン操作に伴いマウスダウン解析処理によって検出されたマウスダウン座標値の位置から当該「交点」を「円弧描画」処理の基点座標として出力すると共に、この様に出力された基点座標、及び「ガイド」のオブジェクトIDを含む編集データが当該入力切換手段へ出力される。
【0088】
当該入力切換手段は、当該編集データを受けて制御テーブル(図7表参照)を参照し、当該編集データが指し示す前記ガイド描画手段へ出力され、当該編集データは、当該ガイド描画手段の編集データとして取り扱われる。
【0089】
当該回転複写処理行程のマウスダウン操作が行われ、且つ継続してマウスムーブ操作が伴う場合にはMOVEイベントが発生し、入力切換手段を介して与えられた前記編集データが継続して初期条件としての入力先である編集手段におけるガイド編集用の編集データとして出力され、当該一連の編集フローの開始前における作図描画状態を以ってその編集行程が中断される。当該マウスムーブ操作の編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスムーブ解析処理が行われる。
【0090】
当該マウスムーブ解析処理では、前記基点座標が示す位置からマウスムーブ座標値までの距離(移動距離)を算出し(移動距離計算モジュールによる距離算出ステップ)、当該移動距離が規定値(図15の破線円。以下、同じ。)以内である場合には、ガイド描画準備状態として何等新規な編集動作は行わず、前記一連の編集フローの開始前における作図描画状態を維持する(図15の二段目及び三段目参照)。一方、規定値以上である場合にはドラッグ操作と認め以下の処理を行うこととなる。
【0091】
即ち、前記オブジェクト判定モジュールにより描画ポインタにホールドされたオブジェクトの判断を行い(オブジェクト判定ステップ)、当該例では、前記の如く「交点」であって「点」であるから、前記オブジェクト編集モジュールは、「コンパス」のフラグを立て(ツール設定ステップ)、当該移動距離が規定値に達した時、描画ポインタが規定値を超えた点(図15の破線円との交点)と前記基点とを結ぶ線の延長線上を円弧の始点とし、マウスムーブ座標値が示す位置と基点とを結ぶ線の延長線上を円弧の終点として、前記基点からマウスムーブ座標値が示す位置までの距離を半径とした円弧を導き、前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記「コンパス」処理継続中の位置に存在する「LINE」として保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図15の四段目及び図16の一段目参照)。
【0092】
次に、オペレータが望む位置でマウスアップ操作が行われることによってUPイベントが発生し、入力切換手段を介して初期条件としての入力先である編集手段に当該マウスアップ操作による編集データが出力される。当該編集データを受けた編集手段では、前記入力解析モジュールが機能し、前記マウスアップ解析処理を行う(ケースDの続き)。
【0093】
当該マウスアップ解析処理では、マウスアップの座標値が示す位置から規定範囲内に描画ポインタでホールドし得るオブジェクトが存在するか否かを検索し(オブジェクト検索ステップ)、ここでは、描画ポインタでホールドされたオブジェクトが存在することから、前記オブジェクト判定モジュールにより描画ポインタにホールドされたオブジェクトの判断を行い(オブジェクト判定ステップ)、且つ、前記オブジェクト編集モジュールは、「コンパス」のフラグが立っていること、及び当該UPイベント発生時における描画ポインタの移動距離が規定値以上であることを確認し(距離算出ステップ)、オペレータのマウスアップ操作に伴い検出されたマウスアップ座標値から前記基点までの距離、及び相対的な回転角度を前記移動距離計算モジュールの履歴に基いて数値化し、前記編集設定モジュールによりそれらの数値(設定数値)を初期値とした入力ダイアログを表示し、オペレータによる設定値の入力を促す(図16の二段目参照)と共に、入力操作とその適用の確認操作を以ってその入力ダイアログを閉じる数値設定ステップを行う。
【0094】
前記入力ダイアログに記入された設定数値に基き、前記オブジェクト表示モジュールは、「コンパス」のフラグが立っている条件に与えられた処理(「円弧描画」処理)を以って、一連の編集フローの開始前における作図描画状態に加えて、描画ポインタが規定値を超えた点(図15の最下段破線円との交点)と前記基点とを結ぶ線の延長線上を円弧の始点とし、マウスムーブ座標値が示す位置と基点とを結ぶ線の延長線上を円弧の終点として、前記基点からマウスムーブ座標値が示す位置までの距離を半径とした円弧を、前記オブジェクト表示モジュールを以って表示し、前記オブジェクト保存モジュールにより前記「円弧描画」処理を終えた位置に存在する「LINE」として保存領域へ保存される。当該オブジェクト保存ステップを以ってマウスアップ解析処理が完了し、「円弧描画」処理行程に伴う一連の編集フローが終了する。
【0095】
当該「円弧描画」処理行程の終了と共に、前記一連の編集フローの開始前における作図描画状態に復帰する。そして、次の描画始点までの移動に際し、マウスボタンの操作が行われない状態で移動するマウスの操作によってMOVEイベントが発生する。当該MOVEイベントを受けた前記オブジェクト編集モジュールは、描画ポインタが前記始点から引き出された直線を引いて移動する画像を前記オブジェクト表示モジュールを以ってディスプレイに表示し、前記オブジェクト保存モジュールにより前記始点及びそれから引き出された線分として図形保存領域へ逐次保存され、マウスムーブ解析処理が継続する(図16最下段参照)。尚、当該処理においても前記キャンセル処理は伴うこととなる。
【0096】
本発明による図形作成装置は、上記の如く編集行程を重ね、メニューボタンでの選択により、同一種類のオブジェクトに関する新規編集作業への移行、或いは、異なる種類のオブジェクトに関する新規編集作業の第一の編集行程への移行が行われた場合等に上記編集行程のモードから脱する他、当該編集モードにある限り、ガイドの編集、又は図形の編集を適宜行うことができる。
【0097】
以上の如く、本発明による図形編集装置は、入力手段から入力した編集データを、入力解析モジュールによって解析し、入力切換手段によって、前記図形描画手段の編集データとして取り扱うか、前記ガイド描画手段の編集データとして取り扱うかの切換を行う。その際、入力解析モジュールは、ホールド判定ステップ及び距離算出ステップにより、ホールドオブジェクトの存在、及び一定距離以上のドラッグ操作の有無を検出して前記入力切換手段の切換動作を司る編集データ、並びに座標値及び属性(編集データ)を出力する(図10参照)。
【0098】
即ち、図2及び図3の如く、ホールドオブジェクトが無く、前記移動距離が規定値以上である場合に図形の描画モードとして図形描画手段が機能し、当該条件を回避した編集操作によって、ガイド編集モード又は編集操作終了モードとしてガイド描画手段や編集手段が機能し、前記図形編集又はガイド編集の開始から終了に亘り複数の編集操作からなる一連の編集フローの中に、ガイド編集の操作からなる一連の編集フローを組み入れ、且つ当該ガイド編集に係る一連の編集フローが終了した後には、元の図形の描画モードの編集操作に復帰するという割込み処理を介在した編集フローが、マウスや、カーソルキーの操作による描画ポインタの移動及びクリック操作又はリターンキー等のキー入力操作のみによって可能となる。
【0099】
上記実施の形態にあっては、入力解析モジュールが編集手段に付属して設けられているが、単独で存在しても良いし、他の機能手段に付属していても良い。また、入力手段、編集手段、図形描画手段、ガイド描画手段、或いは入力解析モジュールをはじめとして、種々の処理を行う機能手段は、前記主な機能手段に適宜付随するものとして組み合わせられれば良い。
【0100】
その際、割込み処理を介在した編集フローへの移行及び復帰は、上記実施の形態の様な直接的な編集操作、即ち、前記入力解析モジュールに、ポインタによってホールドされたホールドオブジェクトの存在を検出するオブジェクト検索モジュール、及びドラッグ操作の有無を検出する移動距離計算モジュールを以って、前記ホールドオブジェクトが無く一定距離以上のドラッグ操作が生じた際の編集データを起動イベントとして検出するのではなく、特定の付加的なキー入力を以って起動イベントとする構成を採っても良いことは言うまでもない。
【産業上の利用可能性】
【0101】
本発明は、一連の編集フローを実行する際において連続性を絶たない編集作業を以って効率的且つ正確な編集作業を行える描画手法を採ることにより、図形作成装置及び図形作成プログラムの、より一層の作業性向上に寄与する。
【図面の簡単な説明】
【0102】
【図1】本発明による図形作成装置が具備する機能手段、及び図形作成プログラムに基く機能手段の一例を示すブロック図である。
【図2】本発明による図形作成装置及び図形作成プログラムの処理の一態様を示すフローチャートである。
【図3】本発明による図形作成装置及び図形作成プログラムの処理の一態様を示すフローチャートである。
【図4】本発明による図形作成装置が具備する機能手段、及び図形作成プログラムに基く機能手段による基本的な入出力処理の要部の一例を示すブロック図である。
【図5】本発明による図形作成装置が具備する機能手段、及び図形作成プログラムに基く機能手段による基本的な入出力処理の要部の一例を示すブロック図である。
【図6】本発明による図形作成装置が具備する機能手段、及び図形作成プログラムに基く機能手段による基本的な入出力処理の要部の一例を示すブロック図である。
【図7】本発明による図形作成装置が具備する機能手段、及び図形作成プログラムに基く機能手段による基本的な入出力構成の要部及びデータテーブルの一例を示す説明図である。
【図8】本発明による図形作成装置が具備する機能手段、及び図形作成プログラムに基く機能手段による基本的な入出力構成の要部及びデータテーブルの一例を示す説明図である。
【図9】本発明による図形作成装置が具備する機能手段、及び図形作成プログラムに基く機能手段による基本的な入出力構成の要部の一例を示す説明図である。
【図10】本発明による図形作成装置が具備する機能手段、及び図形作成プログラムに基く機能手段による基本的な入出力構成のデータテーブルの一例を示す説明図である。
【図11】本発明による図形作成装置及び図形作成プログラムで行われる処理例の概要をステップ毎に示す説明図である(直線描画開始)
【図12】本発明による図形作成装置及び図形作成プログラムで行われる処理例の概要をステップ毎に示す説明図である(ケースA)
【図13】本発明による図形作成装置及び図形作成プログラムで行われる処理例の概要をステップ毎に示す説明図である(ケースB)
【図14】本発明による図形作成装置及び図形作成プログラムで行われる処理例の概要をステップ毎に示す説明図である(ケースC)
【図15】本発明による図形作成装置及び図形作成プログラムで行われる処理例の概要をステップ毎に示す説明図である(ケースD)
【図16】本発明による図形作成装置及び図形作成プログラムで行われる処理例の概要をステップ毎に示す説明図である(ケースD)
【特許請求の範囲】
【請求項1】
編集操作から編集データを出力する入力手段と、
前記編集データに基き描画作業の編集制御を行う編集手段と、
前記編集データに基き一連の編集フローにより図形を編集する図形描画手段と、
前記編集データに基き一連の編集フローによりガイドを編集するガイド描画手段と、
当該入力手段から得た編集データを解析し、一連の図形描画手段による編集フローの中でガイド描画手段によりガイドを編集する割込み処理、又は、一連のガイド描画手段による編集フローの中で図形描画手段により図形を編集する割込み処理、に移行し復帰する為のイベントを検出する入力解析モジュールと、
当該イベントに基づき前記編集データを前記描画手段の編集データとして取り扱うか、前記編集手段の編集データとして取り扱うかの切換を行う入力切換手段と、
を備えた図形作成装置。
【請求項2】
前記入力解析モジュールは、ポインタによってホールドされたホールドオブジェクトの存在を検出するオブジェクト検索モジュール、及びドラッグ操作の有無を検出する移動距離計算モジュールを具備し、前記ホールドオブジェクトが無く一定距離以上のドラッグ操作が生じた際の編集データを起動イベントとして検出する前記請求項1に記載の図形作成装置。
【請求項3】
コンピュータに、
編集操作から編集データを出力する入力手段、
前記編集データに基き描画作業の編集制御を行う編集手段、
前記編集データに基き一連の編集フローにより図形を編集する図形描画手段、
前記編集データに基き一連の編集フローによりガイドを編集するガイド描画手段、
当該入力手段から得た編集データを解析し、一連の図形描画手段による編集フローの中でガイド描画手段によりガイドを編集する割込み処理、又は、一連のガイド描画手段による編集フローの中で図形描画手段により図形を編集する割込み処理、に移行し復帰する為のイベントを検出する入力解析モジュール、及び
当該イベントに基づき前記編集データを前記描画手段の編集データとして取り扱うか、前記編集手段の編集データとして取り扱うかの切換を行う入力切換手段、
としての機能を与える図形作成プログラム。
【請求項4】
前記入力解析モジュールに、ポインタによってホールドされたホールドオブジェクトの存在を検出するオブジェクト検索モジュール、及びドラッグ操作の有無を検出する移動距離計算モジュールとしての機能を与え、前記ホールドオブジェクトが無く一定距離以上のドラッグ操作が生じた際の編集データを起動イベントとして検出させる前記請求項3に記載の図形作成プログラム。
【請求項1】
編集操作から編集データを出力する入力手段と、
前記編集データに基き描画作業の編集制御を行う編集手段と、
前記編集データに基き一連の編集フローにより図形を編集する図形描画手段と、
前記編集データに基き一連の編集フローによりガイドを編集するガイド描画手段と、
当該入力手段から得た編集データを解析し、一連の図形描画手段による編集フローの中でガイド描画手段によりガイドを編集する割込み処理、又は、一連のガイド描画手段による編集フローの中で図形描画手段により図形を編集する割込み処理、に移行し復帰する為のイベントを検出する入力解析モジュールと、
当該イベントに基づき前記編集データを前記描画手段の編集データとして取り扱うか、前記編集手段の編集データとして取り扱うかの切換を行う入力切換手段と、
を備えた図形作成装置。
【請求項2】
前記入力解析モジュールは、ポインタによってホールドされたホールドオブジェクトの存在を検出するオブジェクト検索モジュール、及びドラッグ操作の有無を検出する移動距離計算モジュールを具備し、前記ホールドオブジェクトが無く一定距離以上のドラッグ操作が生じた際の編集データを起動イベントとして検出する前記請求項1に記載の図形作成装置。
【請求項3】
コンピュータに、
編集操作から編集データを出力する入力手段、
前記編集データに基き描画作業の編集制御を行う編集手段、
前記編集データに基き一連の編集フローにより図形を編集する図形描画手段、
前記編集データに基き一連の編集フローによりガイドを編集するガイド描画手段、
当該入力手段から得た編集データを解析し、一連の図形描画手段による編集フローの中でガイド描画手段によりガイドを編集する割込み処理、又は、一連のガイド描画手段による編集フローの中で図形描画手段により図形を編集する割込み処理、に移行し復帰する為のイベントを検出する入力解析モジュール、及び
当該イベントに基づき前記編集データを前記描画手段の編集データとして取り扱うか、前記編集手段の編集データとして取り扱うかの切換を行う入力切換手段、
としての機能を与える図形作成プログラム。
【請求項4】
前記入力解析モジュールに、ポインタによってホールドされたホールドオブジェクトの存在を検出するオブジェクト検索モジュール、及びドラッグ操作の有無を検出する移動距離計算モジュールとしての機能を与え、前記ホールドオブジェクトが無く一定距離以上のドラッグ操作が生じた際の編集データを起動イベントとして検出させる前記請求項3に記載の図形作成プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2007−213391(P2007−213391A)
【公開日】平成19年8月23日(2007.8.23)
【国際特許分類】
【出願番号】特願2006−33746(P2006−33746)
【出願日】平成18年2月10日(2006.2.10)
【出願人】(594045791)株式会社ア−キテック (3)
【Fターム(参考)】
【公開日】平成19年8月23日(2007.8.23)
【国際特許分類】
【出願日】平成18年2月10日(2006.2.10)
【出願人】(594045791)株式会社ア−キテック (3)
【Fターム(参考)】
[ Back to top ]