(57)【特許請求の範囲】
【請求項１】
表示画面上に図形表示された隣接配置される複数の部品の配列を変更する図形処理装置において、
各部品の画面上での表示位置に関する情報とその形状に関する情報とを格納した部品情報格納手段と、
画面上に表示されるべき各部品の配列順序を表す情報が入力される制御画面を表示させる制御画面表示手段と、
制御画面に各部品の配列順序を表す情報を入力するための配列順序入力手段と、
制御画面に入力された各部品の配列順序を表す情報に基づいて、部品情報格納手段に格納された各部品の画面上での表示位置に関する情報を修正する配置情報修正手段と
を有し、
上記制御画面表示手段は、画面上に表示された各部品の配列順序を表す情報を初期情報として含む制御画面を表示させる手段を有し、
上記配列情報入力手段は、制御画面に初期情報として表示された各部品の配列順序を表す情報を、実際に表示させるべき各部品の配列情報を表す情報に変更する配列情報変更手段を有し、
上記初期情報を含む制御画面表示させる手段は、画面上に表示された各部品の配列順序に対応した順序で配列された各部品を特定する情報を初期情報として含む制御画面を表示させる部品リスト表示手段を有し、
上記配列情報変更手段は、部品リスト表示手段にて表示された制御画面に含まれる各部品を特定する情報の配列順序を変更する手段を有し、
配置情報修正手段は、図形表示されるべき部品の配列状態が、上記変更された各部品を特定する情報の配列順序に対応したものなるように、部品情報格納手段に格納された各部品の表示画面上での位置に関する情報を修正するようにし、
該修正された各部品の表示画面上での表示位置に関する情報および各部品の形状に関する情報に基づいて、当該各部品の図形表示を表示画面上で行なうようにしたことを特徴とする図形処理装置。
【請求項２】
表示画面上に図形表示された隣接配置される複数の部品の配列を変更する図形処理装置において、
各部品の画面上での表示位置に関する情報とその形状に関する情報とを格納した部品情報格納手段と、
画面上に表示された各部品の配列状態に対応した順序で各部品を特定する情報を表示画面上にリスト表示させる部品リスト表示手段と、
部品リスト表示手段にて画面上にリスト表示された各部品を特定する情報の配列順序を変更する配列順序変更手段と、
図形表示されるべき部品の配列状態が、配列順序変更手段にて変更された各部品を特定する情報の配列順序に対応したものなるように、部品情報格納手段に格納された各部品の表示画面上での位置に関する情報を修正する配置情報修正手段とを有し、
該修正された各部品の表示画面上での位置に関する情報および各部品の形状に関する情報に基づいて、当該各部品の図形表示を表示画面上で行なうようにしたことを特徴とする図形処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、図形を扱うＣＡＤシステム等に適用される図形処理装置に係り、詳しくは、表示画面上にそれぞれ隣接するように表示された複数の物体の配置替えを容易に行なえるようにした図形処理装置に関する。
【０００２】
【従来の技術】
家具等の物体（部品）のレイアウトを表示画面上で行なえるようにしたＣＡＤシステムでは、一般に、「削除」機能、「複写」機能及び「移動」機能を有している。「削除」機能は、表示画面上の指定した図形（家具などの物体）を削除する機能、「複写」機能は、表示画面上の指定した図形を、指定した位置に複写する機能、そして、「移動」機能は、表示画面上の指定した図形を、指定した位置に移動する機能である。
【０００３】
このような機能を有するＣＡＤシステムにおいて、例えば、図２１（ａ）に示すように異なる大きさの部品（家具等）Ａ、Ｂ、Ｃ、Ｄが表示画面上に連続配置されるように表示されている場合にあって、部品Ｄが部品ＡとＢの間となるように各部品の配置替えを行なうためには次のような操作が行なわれる。
【０００４】
まず、部品Ｂ、Ｃ、Ｄを指定し、部品Ａと部品Ｂとの間に部品Ｄが充分収まるだけの空間を作るために、その指定した部品列Ｂ、Ｃ、Ｄ（図形）を移動させる（図２１（ｂ））。そして、更に、部品Ｄを指定し、その指定した部品Ｄを部品Ａと正確に接するように移動させる（図２１（ｃ））。そして、更に、部品Ｂ、Ｃを指定し、その指定した部品列Ｂ、Ｃを部品Ｂが部品Ｄに正確に接するように移動させる（図２１（ｄ））。                                        このような操作により、部品Ａ、Ｂ、Ｃ、Ｄ（図２１（ａ）参照）のように配列された各部品が表示画面上で、部品Ａ、Ｄ、Ｂ、Ｃ（図２１（ｄ）参照）のようにその配列が変更される。
【０００５】
【発明が解決しようとする課題】
上記のようなＣＡＤシステムに適用された従来の図形処理装置では、各操作は、マウス等のポインティングデバイスを用いて行なわれるが、各部品の指定操作と、指定された部品の移動操作を繰り返し行なわなければならない。また、その移動操作も、表示画面上で、移動した部品を正確に他の部品に接するように行なわなければならず、操作精度が要求されるものであった。
【０００６】
そこで、本発明の課題は、隣接配置されるように表示画面上に表示された複数の物体（部品）の配置替えが比較的容易な操作でできるようにした図形処理装置を提供することである。
【０００７】
【課題を解決するための手段】
上記課題を解決するため、本発明は、表示画面上に図形表示された隣接配置される複数の部品の配列を変更する図形処理装置において、各部品の画面上での表示位置に関する情報とその形状に関する情報とを格納した部品情報格納手段と、画面上に表示されるべき各部品の配列順序を表す情報が入力される制御画面を表示させる制御画面表示手段と、制御画面に各部品の配列順序を表す情報を入力するための配列順序入力手段と、制御画面に入力された各部品の配列順序を表す情報に基づいて、部品情報格納手段に格納された各部品の画面上での表示位置に関する情報を修正する配置情報修正手段とを有し、該修正された各部品の表示画面上での表示位置に関する情報および各部品の形状に関する情報に基づいて、当該各部品の図形表示を表示画面上で行なうように構成される。
【０００８】
このような図形処理装置では、表示される制御画面に希望する各部品の配列順序を表す情報を入力すると、その入力された各部品の配列順序を表す情報に基づいて各部品の表示画面上の表示位置に関する情報が修正される。そして、その修正された表示位置に関する情報および各部品の形状に関する情報に基づいて、各部品の図形表示が表示画面上に行なわれる。従って、入力する部品の配列順序を表す情報を、現在表示された各部品の配列順序から変更することにより、表示画面上に表示される各部品の並べ替えが行なわれる。
【０００９】
現在表示された各部品の配列順序を希望する配列順序に変更する際に、その変更された配列順序をより容易な操作にて入力できるようにするという観点から、本発明は、上記制御画面表示手段は、画面上に表示された各部品の配列順序を表す情報を初期情報として含む制御画面を表示させる手段を有し、上記配列情報入力手段は、制御画面に初期情報として表示された各部品の配列順序を表す情報を、実際に表示させるべき各部品の配列情報を表す情報に変更する配列情報変更手段を有するように構成される。
【００１０】
このような図形処理装置では、現在表示されている各部品の配列順序を表す情報が初期情報として制御画面に表示される。そして、表示すべき各部品の配列順序を表す情報を全て入力する必要はなく、希望の配列順序となるように初期情報として表示された各部品の配列順序にを変更するだけで、各部品の希望とする配列順序が得られる。
【００１１】
更に、各部品の変更された配列順序をより容易な操作にて入力できるようにするという観点から、本発明は、上記初期情報を含む制御画面を表示させる手段は、画面上に表示された各部品の配列順序に対応した順序で配列された各部品を特定する情報を初期情報として含む制御画面を表示させる部品リスト表示手段を有し、上記配列情報変更手段は、部品リスト表示手段にて表示された制御画面に含まれる各部品を特定する情報の配列順序を変更する手段を有し、配置情報修正手段は、図形表示されるべき部品の配列状態が、上記変更された各部品を特定する情報の配列順序に対応したものなるように、部品情報格納手段に格納された各部品の表示画面上での位置に関する情報を修正するように構成される。
【００１２】
このような図形処理装置では、実際に表示された各部品の配列順序に対応した順序で当該各部品を特定する情報が初期情報として制御画面に表示される。そして、その各部品を特定する情報の配列順序を変更することにより、図形表示されるべき部品の配列状態が、当該変更された各部品を特定する情報の配列順序に対応したものなるように、部品情報格納手段に格納された各部品の表示画面上での位置に関する情報が修正される。
【００１３】
上記各部品を特定する情報は、各部品の部品名、品番等任意に定めることができる。
部品を特定する情報として、部品の部品名や品番を用いた場合、表示された各部品の配列順序に対応した順序で配列された部品名や品番の配列順序を制御画面上で変更するだけで、画面上に図形表示される部品の配列順序が変更される。
【００１４】
更に、上記本発明の課題を解決するため、本発明は、表示画面上に図形表示された隣接配置される複数の部品の配列を変更する図形処理装置において、各部品の画面上での表示位置に関する情報とその形状に関する情報とを格納した部品情報格納手段と、画面上に表示された各部品の配列状態に対応した順序で各部品を特定する情報を表示画面上にリスト表示させる部品リスト表示手段と、部品リスト表示手段にて画面上にリスト表示された各部品を特定する情報の配列順序を変更する配列順序変更手段と、図形表示されるべき部品の配列状態が、配列順序変更手段にて変更された各部品を特定する情報の配列順序に対応したものなるように、部品情報格納手段に格納された各部品の表示画面上での位置に関する情報を修正する配置情報修正手段とを有し、該修正された各部品の表示画面上での位置に関する情報および各部品の形状に関する情報に基づいて、当該各部品の図形表示を表示装置の画面上に行なうように構成される。
【００１５】
このような図形表示装置では、基本的に、表示された各部品を特定する情報の配列順序を変更することで、図形表示された部品の配列順序が変更される。
【００１６】
【発明の実施の形態】
以下、本発明の実施の一形態を図面に基づいて説明する。
本発明の実施の一形態に係る図形処理装置は、例えば、コンピュータシステム（ＣＡＤシステム）内に構築される。このコンピュータシステムのハードウエア構成は、例えば、図１に示すようになっている。
【００１７】
図１において、このシステムは、制御ユニット１０（ＣＰＵ）、表示ユニット２０、Ｉ／Ｏインタフェース３０、メモリユニット４０、入力ユニット５０及びＣＤ−ＲＯＭドライバユニット６０を有している。これらのユニット及びＩ／Ｏインタフェースは、バスによって相互に接続されている。更に、ディスクユニット７０がＩ／Ｏインタフェース３０を介してバスに接続されている。
【００１８】
制御ユニット１０は、システム全体の制御を行なうと共に、後述するように、部品配置（レイアウト）に係る図形処理を実行する。表示ユニット２０は、ＣＲＴやＬＣＤ（液晶表示パネル）等で構成され、制御ユニット１０での処理に基づいて部品配置を表す各種図形や、情報入力のためのダイアログボックス等を表示する。メモリユニット４０は、ＲＡＭ、ＲＯＭを含み、制御ユニット１０が実行すべきプログラム、そのプログラムに従った処理の過程で得られた必要なデータ、また、表示ユニット２０の画面上に表示すべきデータ等を格納する。入力ユニット５０は、キーボード、マウス等で構成され、ユーザが当該システムに情報を入力するため（処理の対象となる図形の指定情報、ダイアログボックスへの情報の書き込み等）に使用される。
【００１９】
ＣＤ−ＲＯＭ１００には、部品配置に係る図形処理のプログラムが格納されている。ＣＤ−ＲＯＭドライブユニット６０にセットされたＣＤ−ＲＯＭ１００から当該プログラムがディスクユニット７０にインストールされる。そして、部品配置に係る図形処理を実行する際に、制御ユニット１０の制御のもとにディスクユニット７０から読みだされた当該プログラムがメモリユニット４０（ＲＡＭ）に格納される。この状態で、制御ユニット１０（ＣＰＵ）は、メモリユニット４０に格納されたプログラムに従って、部品配置に係る図形処理を実行する。
【００２０】
また、表示ユニット２０の画面上に表示することのできる全ての部品（家具等）に関するデータ（部品データ）が予めディスクユニット７０のデータ格納領域に格納されている。この部品データは、例えば、ＣＤ−ＲＯＭ等の記録媒体を用いて、あるいは、所定の通信回線を介して当該システムに供給される。部品に関するデータが格納されるディスクユニット７０のデータ格納領域は、例えば、図７に示すような構造となっている。即ち、各部品毎に、「部品名」、「ＥＸＴＥＮＴ情報」、「形状データ」、「配置情報」で構成される部品データがデータ格納領域内に格納されている。
【００２１】
「部品名」は、部品の名称を表す。「ＥＸＴＥＮＴ情報」は、部品の大きさを表す情報で、例えば、図９に示すように、部品の縦（Ｌ）、横（Ｗ）、高さ（Ｈ）を表す情報である。「形状データ」は、部品の形状を表す情報であり、頂点データ、辺データ、面データ等から構成されている。「配置情報」は、部品が表示画面上に設定された座標系のどの位置に配置されるかを表す情報で、例えば、図９に示すように、部品の基準点Ｐo の座標データとその部品に設定される座標軸の向き（少なくとも２方向）を表すデータ（単位ベクトル）で構成される。
【００２２】
ユーザが入力ユニット５０（マウス等）を用いて表示すべき部品及びその表示位置を指定すると、制御ユニット１０はその入力情報に基づいて図形表示の処理を行い、指定された部品が表示ユニット２０の画面上の指定された位置に表示される。例えば、図１３（ａ）に示すように、表示ユニット２０の画面上に指定された部品Ａ、Ｂ、Ｃ、Ｄの図形表示がなされる。
【００２３】
表示ユニット２０の画面上に、例えば、図１３（ａ）に示すように互いに隣接するように表示された部品の配置替えを行なう場合、入力ユニット５０からの情報に基づいて制御ユニット１０は、例えば、図２に示す各処理を実行する。即ち、表示画面上に表示される部品のうち並べ替えるべき部品を選択するための部品選択処理Ｐ１００、部品選択処理Ｐ１００によって選択された部品のリストをダイアログボックスに表示し、そのダイアログボックスに表示されたリストを変更するためのリスト変更処理Ｐ２００、及びリスト変更処理Ｐ２００によって変更された部品リストに基づいて再度部品を表示するための再配列表示処理Ｐ３００が行なわれる。このような制御ユニット１０の一連の処理により、表示画面上で指定した部品列の配置替えがなされる。
【００２４】
以下、図１３（ａ）に示すように部品Ａ、Ｂ、Ｃ、Ｄの図形が表示ユニット２０の画面上に隣接して表示されている場合を例に、各処理Ｐ１００乃至Ｐ３００を詳細に説明する。
まず、上記部品選択処理Ｐ１００は、例えば、図３及び図４に示す手順に従って行なわれる。
【００２５】
制御ユニット１０は、ユーザが入力ユニット５０を用いて指定した入力モードが「１点指定モード」か「範囲指定モード」のいずれであるかを判定する（Ｓ１０１）。「１点指定モード」とは、表示画面上で指定した点（１点）の近傍に図形表示された部品に連なる部品を並び替えの対象となる部品列として指定するモードである。また、「範囲指定モード」とは、表示画面上で指定した範囲内に図形表示された部品列を並び替えの対象となる部品列として指定するモードである。
【００２６】
例えば、「範囲指定モード」が指定されると、制御ユニット１０は、入力ユニット５０（マウス）による表示画面上の点（１点目）の指定入力の待ち状態となる（Ｓ１０２）。マウスのクリック操作によってある点ｐ１が表示画面上において指定されると、制御ユニット１０は、更に、入力ユニット５０（マウス）による表示画面上の点（２点目）の指定入力の待ち状態となる（Ｓ１０３）。ここで、また、マウスのクリック操作によってある点ｐ２が表示画面上において指定されると、図１３（ａ）に示すように、点ｐ１と点ｐ２を対頂点とした矩形領域が対象範囲として指定される。
【００２７】
このように、表示画面上で範囲が指定されると、制御ユニット１０は、その指定された範囲内に図形表示される部品をディスクユニット７０内のデータ格納領域（図７参照）から検出する（Ｓ１０４）。具体的には、制御ユニット１０がデータ格納領域（図７参照）を先頭のアドレスから順次走査し、指定した範囲内に含まれる部品の部品データが検出される毎に、その部品データのポインタ値（先頭アドレス値）をメモリユニット４０内に構築した部品リスト格納データエリアに格納する。
【００２８】
図１３（ａ）に示すように、指定範囲（破線内）に部品Ａ、Ｂ、Ｃ、Ｄが含まれる場合、部品リスト格納データエリアには、図８（ａ）に示すように、部品Ｂの部品データへのポインタ値（Ｐ１）、部品Ｄの部品データへのポインタ値（Ｐ２）、部品Ａの部品データへのポインタ値（Ｐ３）及び部品Ｃの部品データへのポインタ値（Ｐ４）がその検出される順番に順次格納される。そして、制御ユニット１０は、その部品リスト格納データエリアに格納された各部品データへのポインタ値を一回目に指定した点ｐ１に近い順にソートする（Ｓ１０５）。その結果、表示画面上の部品の配列順（図１３（ａ）参照）と同じの順序で、部品リスト格納データエリア内に、各部品Ａ、Ｂ、Ｃ、Ｄの部品データへのポインタ値（Ｐ３）、（Ｐ１）、（Ｐ４）、（Ｐ２）が格納される。
【００２９】
上記のように表示画面上に範囲を指定すると、その範囲に含まれた部品が、例えば、図１３（ｂ）に示すように、表示画面上において反転表示される。これにより、ユーザは、並べ替えるべき部品列を表示ユニット２０の画面上で容易に視認することができる。
【００３０】
一方、「１点指定モード」が指定されると、制御ユニット１０は、マウスのクリック操作の待ち状態となる（図４、Ｓ１１１）。ここで、ユーザが入力ユニット５０（マウス）のクリック操作を行なうと、制御ユニット１０は、表示画面上において入力ユニット５０（マウス）のクリック操作によって特定された点（クリック点）の近傍の部品をデータ格納領域（図７参照）から探す（Ｓ１１２）。このクリック点が、例えば、図１３（ａ）の矢印で示されるように部品Ａの近傍である場合、制御ユニット１０は、この部品Ａを検出する（Ｓ１１３、ＹＥＳ）。そして、制御ユニット１０は、この部品Ａの部品データの格納位置（ポインタ値）をデータ格納領域（図７参照）から取得し、そのポインタ値（Ｐ３）を部品リスト格納データエリア（図８参照）の先頭に書き込む。また、制御ユニット１０は、同時に、データ格納領域からその部品Ａの「ＥＸＴＥＮＴ情報」を取得する（Ｓ１１４）。
【００３１】
制御ユニット１０は、更に、クリック点の近傍にある部品として先に選択した部品Ａの「ＥＸＴＥＮＴ情報」に基づいてその部品Ａに隣接する部品をデータ格納領域（図７）から探す（Ｓ１１５）。その結果、当該部品Ａに隣接する部品Ｂを検出すると（Ｓ１１６、ＹＥＳ）、制御ユニット１０は、当該部品Ｂの部品データへのポインタ値（Ｐ１）を部品格納データエリア（図８参照）に書き込む。また、制御ユニット１０は、同時に、データ格納領域からその部品Ｂの「ＥＸＴＥＮＴ情報」を取得する（Ｓ１１７）。
【００３２】
制御ユニット１０は、更に、クリック点の近傍にある部品として選択した部品Ａに隣接する部品として選択した部品Ｂの「ＥＸＴＥＮＴ情報」に基づいてその部品Ｂに隣接する部品をデータ格納領域（図７）から探す（Ｓ１１５）。その結果、当該部品Ｂに隣接する部品Ｃを検出すると（Ｓ１１６、ＹＥＳ）、制御ユニット１０は、当該部品Ｃの部品データへのポインタ値（Ｐ４）を部品格納エリア（図８）に書き込み、当該部品Ｃの「ＥＸＴＥＮＴ情報」をデータ格納領域（図７）から取得する（Ｓ１１７）。
【００３３】
以後同様に、ステップＳ１１５、Ｓ１１６及びＳ１１７を繰り返すことにより、先に選択した部品に隣接する部品をデータ格納領域内の部品データから検出する。そして、この処理を隣接する部品が検出されなくなるまで繰り返す。その結果、部品リスト格納データエリアには、図８（ｂ）に示すように、隣接する部品Ａ、Ｂ、Ｃ、Ｄの各部品データへのポインタ値（Ｐ３）、（Ｐ１）、（Ｐ４）、（Ｐ２）が、各部品の配列の順番と同一の順番で格納される。
【００３４】
なお、もし、表示画面上においてユーザが入力したクリック点の近傍に部品がない場合（Ｓ１１３、ＮＯ）、制御ユニット１０は、更に、マウスのクリック操作の待ち状態となる（Ｓ１１１）。そして、再度のクリック操作によって指定されたクリック点の近傍に部品が存在した場合に、上述した処理が実行される。
【００３５】
上述したような「範囲指定モード」あるいは「１点指定モード」のいづれかのモードによって、並べ替えの対象となる部品列Ａ、Ｂ、Ｃ、Ｄが指定されると（部品リスト格納データエリアに対応するポインタ値がセットされると）、制御ユニット１０は、更に、指定した部品列Ａ、Ｂ、Ｃ、Ｄの配列の基準情報として、当該部品列の一番目に位置することとなる部品リスト格納データエリア（図８（ｂ））の先頭に格納されたポインタ値で指示される部品Ａの「ＥＸＴＥＮＴ情報」と「配置情報」をメモリユニット４０の所定領域に保存する（Ｓ１０６）。また、制御ユニット１０は、部品リスト格納データエリア（図８（ｂ））の先頭とその次に格納されたポインタ値で指定される部品Ａ及び部品Ｂの部品データに基づいて、当該部品の並び方向と部品Ａと部品Ｂの合わせ位置を求めて保存する（Ｓ１０７）。
【００３６】
ここで、並び方向とは、図１０に示すように、前（ｄ）、後（ｂ）、左（ｃ）、右（ａ）、上（ｅ）、下（ｆ）の６通りの方向のいづれかとなる。また、合わせ位置とは、隣接する部品の接合する角の点を表し、図１１に示すように、前側下の点Ｐｓ１（ａ）、前側上の点Ｐｓ２（ｂ）、後側上の点Ｐｓ３（ｃ）、後側下の点Ｐｓ４（ｄ）の４通りの点のいづれかとなる。
【００３７】
以上のように、部品選択処理Ｐ１００（図２参照）によって、並べ替えの対象となる部品の各部品データへのポインタ値が部品リスト格納データエリアに格納されると共に、配列の基準情報と、並び方向及び合わせ位置についての情報が取得されると、制御ユニット１０は、次に、リスト変更処理Ｐ２００（図２参照）を、例えば、図５に示す手順に従って実行する。
【００３８】
図５において、制御ユニット１０は、［部品リスト］ダイアログボックスにおいて入力すべき情報や制御情報の初期化を行なう（Ｓ２０１）。そして、制御ユニット１０は、上述したように部品リスト格納データエリアに格納した並び替えの対象となる各部品Ａ、Ｂ、Ｃ、Ｄの部品データへのポインタ値を、図１７に示すように、メモリユニット４０内に予め設定されたワークエリアにコピーする（Ｓ２０２）。
【００３９】
更に、制御ユニット１０は、［部品リスト］ダイアログボックスを表示ユニット２０の画面上の所定の位置に表示させる（Ｓ２０３）。このとき、制御ユニット１０は、部品リスト格納データエリア（図８（ｂ））に格納されたポインタ値に基づいて各部品Ａ、Ｂ、Ｃ、Ｄの部品データをデータ格納領域（図７）から読みだし、各部品の「部品名」を表示画面上の［部品リスト］ダイアログボックスに表示させる。その結果、例えば、図１３（ｃ）に示すように、反転表示された部品列（図形表示）に重ねて、［部品リスト］ダイアログボックスが表示画面上に表示される。
【００４０】
この状態で、制御ユニット１０は、入力ユニット５０（マウス）の操作（クリック）入力の待ち状態となる（Ｓ２０４）。
入力ユニット５０（マウス）のクリック操作によって、［部品リスト］ダイアログボックス内に表示された部品名の選択と共に、その［部品リスト］ダイアログボックスに設けられた制御ボタン「上移動」、「下移動」、「削除」、「追加」、「リセット」、「ＯＫ」のいずれかが選択されると、制御ユニット１０は、選択された部品に対してその選択された制御ボタンに対応した処理を実行する。
【００４１】
［部品リスト」ダイアログボックスに表示された部品名が入力ユニット５０（マウス）のクリック操作によって選択されると、制御ユニット１０は、ワークエリア内の選択され部品に対応する情報（その部品データへのポインタ値）の格納位置を指し示すインデックス（ＩＮＤＥＸ）を認識する。従って、例えば、［部品リスト］ダイアログボックスに表示された部品名Ａ、Ｂ、Ｃ、Ｄから部品名Ｂが選択されると、制御ユニット１０は、図１８（ａ）に示すように、ワークエリア内において部品Ｂに対応する情報Ｂ（部品Ｂの部品データへのポインタ値）を格納した位置を指し示すインデックス［１］を認識する。
【００４２】
この状態で、例えば、「上移動」の制御ボタンが選択されると、上記のようにして選択された部品に対する上移動処理が行なわれる（Ｓ２０５（１））。この上移動処理では、制御ユニット１０は、選択された部品に対応した情報のワークエリア上の格納位置を指示するインデックスを”１”だけ減して（−１）新たなインデックスを取得する。そして、当該新たなインデックスで指示されるワークエリア上の格納位置にセットされていた情報と、選択された部品に対応する情報とが入れ替えられる。
【００４３】
例えば、図１８（ａ）に示すように、指定された部品Ｂの対応する情報Ｂの格納位置を示すインデックス［１］を”１”だけ減じて新たなインデックス［０］が取得される。そして、このインデックス［０］にセットされていた部品Ａに対応する情報Ａ（部品Ａの部品データへのポインタ値）と、選択された部品Ｂに対応する情報Ｂとが、図１８（ｂ）に示すように入れ替えられる。
【００４４】
上記のように、上移動処理では、指定された部品に対応する情報のワークエリア上での配列順位が１つ上げられる。
上記のように部品が選択された状態で、「下移動」の制御ボタンが選択されると、選択された部品に対する下移動処理が行なわれる（Ｓ２０５（２））。この下移動処理では、制御ユニット１０は、選択された部品に対応した情報のワークエリア上の格納位置を指示するインデックスを”１”だけ増加して（＋１）新たなインデックスを取得する。そして、当該新たなインデックスで指示されるワークエリア上の格納位置にセットされていた情報と、選択された部品に対応する情報とが入れ替えられる。
【００４５】
例えば、図１８（ａ）に示すように、指定された部品Ｂの対応する情報Ｂの格納位置を示すインデックス［１］を”１”だけ増加して新たなインデックス［２］が取得される。そして、このインデックス［２］にセットされていた部品Ｃに対応する情報Ｃ（部品Ｃの部品データへのポインタ値）と、選択された部品Ｂに対応する情報Ｂとが、図１８（ｃ）に示すように入れ替えられる。
【００４６】
このように、下移動処理では、指定された部品に対応する情報のワークエリア上での配列順位が１つ下げられる。
上記のように部品が選択された状態で、「削除」の制御ボタンが選択されると、選択された部品に対する削除処理が行なわれる（Ｓ２０５（３））。この削除処理では、制御ユニット１０は、現在取得しているインデックスで指し示される格納位置にセットされた当該選択された部品に対応した情報をワークエリアから削除する。そして、現在のインデックスで指される格納位置より下の格納位置にセットされた情報の格納位置が１つずつ上げられる。
【００４７】
例えば、図１８（ａ）に示すように、指定された部品Ｂの対応する情報Ｂの格納位置を示すインデックス［１］が取得されている場合、このインデックス［１］にセットされる当該選択された部品Ｂに対応する情報Ｂが、図１８（ｄ）に示すようにワークエリアから削除される。そして、現在のインデックス［１］で指される格納位置より下の格納位置にセットされた情報Ｃ及び情報Ｄの格納位置が１つずつ上げられる（図１８（ｄ）参照）。
【００４８】
上記のように部品が選択された状態で、「追加」の制御ボタンが選択されると、追加処理が行なわれる（Ｓ２０５（４））。この追加処理では、まず、データ格納領域に保存された全ての部品データの部品名が、例えば、図２０に示すように、表示画面上にリストとして表示される。そして、ユーザが入力ユニット５０（マウス）を用いて追加配列を希望する部品を選択すると、その部品に対応した情報（部品データへのポインタ値）が、現在のインデックスで指される格納位置の直後の（次の）格納位置にセットされる。そして、現在のインデックスで指される格納位置より下の格納位置にセットされた情報の格納位置が１つずつ下げられる。
【００４９】
例えば、図１８（ａ）に示すように、指定された部品Ｂの対応する情報Ｂの格納位置を示すインデックス［１］が取得されている場合、図１８（ｅ）に示すように、このインデックス［１］で指される格納位置の直後の（次の）格納位置に、追加配列を希望するものとして選択された部品Ｅに対応する情報Ｅ（部品Ｅの部品データへのポインタ値）がセットされる。そして、現在のインデックス［１］で指される格納位置より下の格納位置にセットされた情報Ｃ及び情報Ｄの格納位置が１つずつ下げられる（図１８（ｅ）参照）。
【００５０】
更に、「リセット」の制御ボタンの選択操作がなされると、制御ユニット１０は、部品リスト格納データエリア内のデータをワークエリアにコピーする（Ｓ２０６）。即ち、上記上移動処理、下移動処理、削除処理、追加処理を行なっている過程で、「リセット」の制御ボタンの選択操作により、ワークエリア内のデータが初期状態にリセットされる。
【００５１】
上記各処理により、ワークエリア内のデータが種々更新される。そして、制御ユニット１０は、ワークエリア内のデータが更新される毎に、その更新されたワークエリア内の情報に対応した部品名を表示画面上の［部品リスト］ダイアログボックスに表示させる（Ｓ２０７）。従って、ユーザは、表示画面上の［部品リスト］ダイアログボックスに表示される部品名の配列を見ながら、各部品の配置を変更するための上移動処理、下移動処理、削除処理、追加処理等を入力ユニット５０（マウス）を使って指示することができる。
【００５２】
ここで、例えば、表示ユニット２０の画面上に隣接配置された部品Ａ、Ｂ、Ｃ、Ｄの図形表示がなされている状態で、部品Ａと部品Ｃを入れ替える場合についての具体的な処理を説明する。
この場合、前述したように、部品名Ａ、Ｂ、Ｃ、Ｄが表示された［部品リスト」ダイアログボックスが開かれる（図１３（ｃ）参照）。このとき、ワークエリアには、図１９（ａ）に示されるように、各部品に対応する情報Ａ、Ｂ、Ｃ、Ｄが部品の配列順序に対応した順序でセットされている。
【００５３】
入力ユニット５０（マウス）のクリック操作によって、図１４に示すように、［部品リスト］ダイアログボックス内の部品Ｃが選択されると、制御ユニット１０は、図１９（ａ）に示すように、ワークエリア上における部品Ｃに対応する情報Ｃの格納位置を指すインデックス［２］を取得する。そして、更に、「上移動」の制御ボタンの選択操作が２回行なわれると、上述した上移動処理が連続して２回行なわれる。その結果、指定された部品Ｃに対応する情報Ｃがインデックス［２］から２を減じて得られる新たなインデックス［０］が指示する格納位置にセットされ、部品Ａと部品Ｂに対応した情報Ａ、Ｂの格納位置がそれぞれ１つずつ下げられる（図１９（ｂ）、（ｃ）参照）。
【００５４】
このとき、表示画面上の［部品リスト］ダイアログボックスには、図１９（ｃ）に示すようなワークエリア内の情報に対応して、部品名Ｃ、Ａ、Ｂ、Ｄが上から順番に表示された状態となる。そして、この状態で、更に、図１５に示すように、部品Ａを選択すると、制御ユニット１０は、図１９（ｄ）に示すように、ワークエリア上において部品Ａに対応した情報Ａの格納位置を指すインデックス［１］を取得する。
【００５５】
この状態で、「下移動」の制御ボタンの選択操作が行なわれると、部品Ａに対応した情報Ａについての下移動処理が行なわれる。その結果、図１９（ｅ）に示すように、インデックス［１］に１を加えた新たなインデックス［２］にその選択された部品Ａに対応した情報Ａがセットされ、インデックス［２］に今までセットされてていた部品Ｂに対応する情報Ｂが１つ上の格納位置にセットされる。
【００５６】
このとき、表示画面上の［部品リスト］ダイアログボックスには、図１９（ｅ）に示すワークエリア内の情報に対応して、図１６（ａ）に示すように、部品名Ｃ、Ｂ、Ａ、Ｄが上から順番に表示された状態となる。この部品Ｃ、Ｂ、Ａ、Ｄの配列順序がユーザが希望した配列順序である。
【００５７】
この状態で、「ＯＫ」の制御ボタンの選択操作を行なうと、制御ユニット１０は、図１９（ｅ）に示すワークエリア内の情報を部品リスト格納データエリアにコピーする（図５におけるＳ２０８）。その後、制御ユニット１０は、表示画面上の［部品リスト］ダイアログボックスを閉じる（Ｓ２０９）。
【００５８】
なお、［部品リスト］ダイアログボックスに設けられた「キャンセル」の制御ボタンの選択操作を行なった場合、直ちに、［部品リスト］ダイアログボックスが閉じられる（Ｓ２０９）。
上記のような処理により、並べ替え（部品Ａと部品Ｃを入れ替え）られた状態の部品の配列順序で配列された各部品に対応する情報（部品データへのポインタ値）が部品リスト格納データ領域にセットされる。以上により、リスト変更処理Ｐ２００（図２参照）が終了する。
【００５９】
上記のようなリスト変更処理Ｐ２００が終了すると、制御ユニット１０は、例えば、図６に示す手順に従って、再配列表示処理Ｐ３００（図２参照）を実行する。
図６において、制御ユニット１０は、まず、部品リスト格納データエリアの一番目に位置する情報に対応した部品を再配置するための処理を行なう（Ｓ３０１）。例えば、図１９（ｅ）に示すワークエリア内の情報と同一の情報を部品リスト格納データエリアが持つ場合、部品リスト格納データエリアの先頭に位置する部品Ｃの部品データへのポインタ値（Ｐ４）に基づいて、当該部品Ｃの部品データがデータ格納領域（図７参照）から読みだされる。そして、部品選択処理Ｐ１００（ステップＳ１０６）で求められた配列の基準情報に基づいて、当該部品Ｃの部品データの「配置情報」が書き換えられる。この配列の基準情報は、並び替える前の先頭の部品（この場合部品Ａ）の配置された向き（「配置情報」）と大きさ（「ＥＸＴＥＮＴ情報」）から構成され、その向きとなるように、当該部品Ｃの「配置情報」が書き換えられる。
【００６０】
即ち、図１２（ａ）に示すように、破線で示すもとの部品の「配置情報」とその大きさを表す「ＥＸＴＮＥＴ情報」に基づいて、その部品のいずれかの頂点と実線で示す新たな部品の対応する頂点が一致し、更に、同じ方向に向くように当該新たな部品の「配置情報」が修正される。
【００６１】
このように更新された「配置情報」を含む部品Ｃの部品データに基づいて当該部品Ｃの図形がメモリユニット４０の画像メモリ領域に書き込まれる（再配置される）。
その後、制御ユニット１０は、先頭に位置する部品Ｃの部品データ（「ＥＸＴＥＮＴ情報」）と上述した部品選択処理Ｐ１００（ステップＳ１０７）で得られた部品の並び方向及び合わせ位置の各情報に基づいて、部品リスト格納データエリアの二番目に位置する情報に対応した部品を再配置するための処理を行なう（Ｓ３０２）。即ち、一番目と二番目の部品の並び方向及び合わせ位置の状態（図１２（ｂ）参照）が、新たに一番目に配置される部品Ｃと次に配置される部品Ｂとの間でも維持されるように、部品Ｃの部品データ（「ＥＸＴＥＮＴ情報」）と並び方向及び合わせ位置の各情報に基づいて、当該部品Ｂの部品データ（「配置情報」）が修正される。
【００６２】
このように更新された「配置情報」を含む部品Ｂの部品データに基づいて当該部品Ｂの図形がメモリユニット４０の画像メモリ領域に書き込まれる（再配置される）（Ｓ３０３）。
更に、制御ユニット１０は、部品リスト格納データエリアに格納された情報全てについての処理が終了したか否かを判定する（Ｓ３０４）。そして、部品リスト格納データエリアに格納された最後の情報についての処理が終了したと判断するまで、制御ユニット１０は、上述したような前に再配置された部品の「ＥＸＴＥＮＴ情報」と部品選択処理Ｐ１００で得られた並び方向及び合わせ位置の各情報とに基づいて次の部品の部品データを修正する処理（Ｓ３０２）と、その修正された部品データに基づいて、当該次の部品の図形をメモリユニット４０の画像メモリ領域に書き込む処理（Ｓ３０３）とを繰り返す。
【００６３】
上記手順に従った再配列表示処理Ｐ３００により、部品リスト格納データエリアに格納されたポインタ値で指定されるデータ格納領域内の各部品Ｃ、Ｂ、Ａ、Ｄの部品データ（「配置情報」）が、部品Ｃ、Ｂ、Ａ、Ｄの順序で隣接配置されるように修正される。そして、その修正された部品データに基づいて各部品Ｃ、Ｂ、Ａ、Ｄの図形がメモリユニット４０の画像メモリ内に展開される。
【００６４】
制御ユニット１０は、上記のようにして展開された画像メモリ内の情報に基づいて、部品Ｃ、Ｂ、Ａ、Ｄの図形を表示ユニット２０の画面上に表示させる。その結果、図１６（ｂ）に示すように、順次隣接配置された部品Ｃ、Ｂ、Ａ、Ｄの図形表示が表示画面上でなされる。
【００６５】
上記のような処理により、最初、図１３（ａ）に示すように、順次隣接配置された部品Ａ、Ｂ、Ｃ、Ｄから部品Ａと部品Ｃとが入れ替えられた状態で再配置された部品Ｃ、Ｂ、Ａ、Ｄが、図１６（ｂ）に示すように画面上に表示される。
上記のようなシステムでは、並べ替えをすべき部品列を指定した後は、［部品リスト］ダイアログボックス上でのマウス等を使用した選択操作だけで、表示される部品の配列を変更することができる。従って、部品の図形を正確に接するように移動させる等の操作が必要なくなり、より簡単な操作で表示された部品の並べ替えが可能となる。
【００６６】
上述した本発明の実施の形態において、ディスクユニット７０が部品情報格納手段に対応し、図３及び図４に示す処理及び図５に示すステップＳ２０１、Ｓ２０２、Ｓ２０３での処理が制御画面表示手段及（部品リスト表示手段）に対応する。また、入力ユニット５０及びその操作入力に基づいて実行されるべき図５に示すステップＳ２０５（１）、Ｓ２０５（２）、Ｓ２０５（３）、Ｓ２０５（４）、Ｓ２０７、Ｓ２０８での処理が配列順序入力手段（配列情報変更手段）に対応する。
【００６７】
更に、図６に示すステップＳ３０１及びＳ３０２での処理が配置情報修正手段に対応する。
【００６８】
【発明の効果】
以上、説明してきたように、各請求項に記載された本発明によれば、制御画面に希望する各部品の配列順序を表す情報を入力するだけで、図形表示された各部品を画面上で移動させる操作等を行なわずに、図形表示された各部品の配列順序を変更することができる。従って、隣接配置されるように表示画面上に図形表示された複数の物体（部品）の配置替えが比較的容易な操作でできるようになる。
【図面の簡単な説明】
【図１】本発明に係る図形表示装置が構築されるコンピュータシステムのハードウエア構成を示すブロック図である。
【図２】本発明に係る図形表示装置での基本的な処理を表すフローチャートである。
【図３】図２に示す部品選択処理Ｐ１００の手順を示すフローチャート（その１）である。
【図４】図２に示す部品選択処理Ｐ１００の手順を示すフローチャート（その２）である。
【図５】図２に示すリスト変更処理Ｐ２００の手順を示すフローチャートである。
【図６】図２に示す再配列表示処理Ｐ３００の手順を示すフローチャートである。
【図７】データ格納領域の構造を示す図である。
【図８】部品リスト格納データエリアの構造を示す図である。
【図９】各部品のＥＸＴＥＮＴ情報及び配置情報を表す図である。
【図１０】部品の並び方向を示す図である。
【図１１】部品の合わせ位置を示す図である。
【図１２】第一番目と第二番目の部品の再配置の状態を示す図である。
【図１３】表示画面上に図形表示された部品及び最初に開かれた［部品リスト］ダイアログボックスを示す図である。
【図１４】図形表示され部品の配列順序を変更するために操作された［部品リスト］ダイアログボックス（その１）を示す図である。
【図１５】図形表示され部品の配列順序を変更するために操作された［部品リスト］ダイアログボックス（その２）を示す図である。
【図１６】部品の配列順序が変更された場合の［部品リスト］ダイアログボックス及びその変更後に図形表示された部品を示す図である。
【図１７】ワークエリアと部品リスト格納データエリアの関係を示す図である。
【図１８】部品の配列順序を変更するために操作されるワークエリアの情報を示す図である。
【図１９】部品の配列順序を変更するために操作されるワークエリアの情報を示す図である。
【図２０】システムに登録された部品のリストの表示ウインドウを示す図である。
【図２１】部品の配列順序を変更するための従来の操作を説明する図である。
【符号の説明】
１０  制御ユニット
２０  表示ユニット
３０  Ｉ／Ｏインタフェース
４０  メモリユニット
５０  入力ユニット
６０  ＣＤ−ＲＯＭドライブユニット
７０  ディスクユニット
【図１】
0003866810.tif 000002
【図２】
0003866810.tif 000003
【図３】
0003866810.tif 000004
【図４】
0003866810.tif 000005
【図５】
0003866810.tif 000006
【図６】
0003866810.tif 000007
【図７】
0003866810.tif 000008
【図８】
0003866810.tif 000009
【図９】
0003866810.tif 000010
【図１０】
0003866810.tif 000011
【図１１】
0003866810.tif 000012
【図１２】
0003866810.tif 000013
【図１３】
0003866810.tif 000014
【図１４】
0003866810.tif 000015
【図１５】
0003866810.tif 000016
【図１６】
0003866810.tif 000017
【図１７】
0003866810.tif 000018
【図１８】
0003866810.tif 000019
【図１９】
0003866810.tif 000020
【図２０】
0003866810.tif 000021
【図２１】
0003866810.tif 000022