(57)【要約】【課題】仮想３次元空間の奥行きを把握することが困難であり、また、描画図形と他の図形との相対的な位置関係を把握することが困難である。【解決手段】ＸＹ平面方向のグランド面３００で形成される仮想３次元空間において、オブジェクトＡ〜Ｄが配置されている。操作面４１０は、グランド面３００に平行であり、その面上には、作図線分６２０が描画されている。ＣＰＵは、ユーザにより指定された操作面方向条件（ＹＺ平面方向）を取得し、現在の操作面４１０に代えて、ＹＺ平面方向であって、次に描こうとする作図線分の始点５２０（作図線分６２０の終点）に操作面４２０を表示する。ユーザからの指令を受けて、ＣＰＵは、操作面４２０上に終点５４０および作図線分６４０を、青色で描画する。【選択図】　図１８
2004005575.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間において、図形処理を行う３次元空間図形処理装置であって、
操作者の操作入力を受ける操作入力部と、
対象図形の基準点または基準線に基づいて、前記仮想３次元空間に、処理面を生成する処理面生成手段と、
操作者の操作入力を受けて、前記処理面を基準として、前記対象図形に関する処理を行う図形処理手段と、
少なくとも前記対象図形、前記処理面および前記対象図形に関する処理内容を表示する図形表示部と、
を備えたことを特徴とする３次元空間図形処理装置。
【請求項２】
仮想３次元空間において図形処理を行う３次元空間図形処理装置を、コンピュータを用いて実現するためのプログラムであって、
対象図形の基準点または基準線に基づいて、前記仮想３次元空間に、処理面を生成する処理面生成手段と、
操作者の操作入力を受けて、前記処理面を基準として、前記対象図形に関する処理を行う図形処理手段と、
をコンピュータによって実現するためのプログラム。
【請求項３】
請求項２のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項４】
請求項１ないし請求項３のいずれかの３次元空間図形処理装置、プログラムまたは記録媒体において、
前記対象図形は複数の図形を含み、
事前に描画された図形に基づいて前記処理面を生成し、
当該処理面を基準として、次の図形を描画することを特徴とするもの。
【請求項５】
請求項４の３次元空間図形処理装置、プログラムまたは記録媒体において、
前記基準点は、直前に描画された図形の終点または始点であることを特徴とするもの。
【請求項６】
請求項１ないし請求項３のいずれかの３次元空間図形処理装置、プログラムまたは記録媒体において、
前記対象図形は、あらかじめ用意された図形から、操作者の操作によって選択されて、操作者の操作入力によって前記仮想３次元空間上に配置された図形であることを特徴とするもの。
【請求項７】
請求項１ないし請求項６のいずれかの３次元空間図形処理装置、プログラムまたは記録媒体において、
前記対象図形に関する処理は、当該対象図形の終点を始点とする新たな図形の描画処理であることを特徴とするもの。
【請求項８】
請求項１ないし請求項６のいずれかの３次元空間図形処理装置、プログラムまたは記録媒体において、
前記対象図形に関する処理は、当該対象図形を、前記処理面を基準として移動または変形する処理であることを特徴とするもの。
【請求項９】
請求項１ないし請求項８のいずれかの３次元空間図形処理装置、プログラムまたは記録媒体において、
前記処理面生成手段は、さらに、操作者の操作入力による処理面方向情報に基づいて、前記処理面を生成することを特徴とするもの。
【請求項１０】
請求項１ないし請求項９のいずれかの３次元空間図形処理装置、プログラムまたは記録媒体において、
前記基準点は、操作者によって選択された前記対象図形内または対象図形上の点であることを特徴とするもの。
【請求項１１】
請求項１ないし請求項１０のいずれかの３次元空間図形処理装置、プログラムまたは記録媒体において、
前記図形表示部にて、前記仮想３次元空間において、ＸＹ平面、ＹＺ平面またはＺＸ平面方向に、グランド面を表示することを特徴とするもの。
【請求項１２】
請求項９ないし請求項１１のいずれかの３次元空間図形処理装置、プログラムまたは記録媒体において、
前記処理面生成手段は、前記処理面方向情報として入力されたＸＹ平面、ＹＺ平面またはＺＸ平面方向に、前記処理面を生成することを特徴とするもの。
【請求項１３】
請求項１ないし請求項１２のいずれかの３次元空間図形処理装置、プログラムまたは記録媒体において、
前記図形処理手段は、前記処理面上にて操作者により操作入力された描画位置を取得し、当該描画位置に基づいて、前記処理面上に図形を描くことを特徴とするもの。
【請求項１４】
請求項１ないし請求項１３のいずれかの３次元空間図形処理装置、プログラムまたは記録媒体において、
前記図形処理手段は、前記仮想３次元空間内にすでに存在する図形に、処理対象である図形を連結または結合することを特徴とするもの。
【請求項１５】
請求項１ないし請求項１４のいずれかの３次元空間図形処理装置、プログラムまたは記録媒体において、
前記処理面生成手段は、操作者の操作入力を受けて、前記処理面を移動することを特徴とするもの。
【請求項１６】
請求項１ないし請求項１５のいずれかの３次元空間図形処理装置、プログラムまたは記録媒体において、
前記図形表示部にて、視点位置を移動して表示することを特徴とするもの。
【請求項１７】
請求項１６の３次元空間図形処理装置、プログラムまたは記録媒体において、
前記図形表示部にて、前記対象図形に関する処理を行う度に、表示画面の中心位置に前記処理面を表示することを特徴とするもの。
【請求項１８】
請求項１６または請求項１７の３次元空間図形処理装置、プログラムまたは記録媒体において、
前記図形表示部にて、前記処理面生成手段によって生成された前記処理面に対して垂直な方向から、表示することを特徴とするもの。
【請求項１９】
請求項１ないし請求項１８のいずれかの３次元空間図形処理装置、プログラムまたは記録媒体において、
前記図形表示部にて、前記仮想３次元空間内に、前記処理面の初期設定用の図形を表示し、
前記処理面生成手段は、当該図形を前記対象図形として、前記処理面を生成することを特徴とするもの。
【請求項２０】
請求項１ないし請求項１９のいずれかの３次元空間図形処理装置、プログラムまたは記録媒体において、
前記処理面は、平面状に生成された複数の点または線の集合であることを特徴とするもの。
【請求項２１】
請求項１ないし請求項１９のいずれかの３次元空間図形処理装置、プログラムまたは記録媒体において、
前記処理面は、所定の曲率半径を有する曲面状に生成された複数の点または線の集合であることを特徴とするもの。
【請求項２２】
請求項７のいずれかの３次元空間図形処理装置、プログラムまたは記録媒体において、
前記図形処理手段によって描画される図形は、１の線分または複数の線分の連結であることを特徴とするもの。
【請求項２３】
請求項２２の３次元空間図形処理装置、プログラムまたは記録媒体において、
前記図形処理手段は、描画した線分の全部または一部の長さを算出することを特徴とするもの。
【請求項２４】
請求項１１の３次元空間図形処理装置、プログラムまたは記録媒体において、
前記グランド面は、所定の間隔を有する線または点の集合であることを特徴とするもの。
【請求項２５】
請求項１ないし請求項２２の３次元空間図形処理装置において、
前記処理面は、処理面の裏側の図形が操作面を介して見えるように、半透明であることを特徴とするもの。
【請求項２６】
コンピュータを用いて、仮想３次元空間において図形処理を行う３次元空間図形処理方法であって、
対象図形の基準点または基準線に基づいて、前記仮想３次元空間に、処理面を生成する処理面生成ステップと、
前記処理面を、操作者に対して提示する処理提示ステップと、
操作者の操作入力を受けて、前記処理面を基準として、前記対象図形に関する処理を行う図形処理ステップと、
前記対象図形に関する処理内容を、操作者に対して提示する処理内容提示ステップと、
を備えた３次元空間図形処理方法。
【請求項２７】
仮想３次元空間において、図形処理を行う３次元空間図形処理装置であって、
操作者の操作入力を受ける操作入力部と、
操作者の操作入力によって描画された図形の終点を含む処理面を、前記仮想３次元空間に生成する処理面生成手段と、
操作者の操作入力を受けて、前記処理面上に、前記描画された図形の終点を始点とする新たな図形を描画する図形処理手段と、
少なくとも前記描画された図形、前記処理面および前記新たな図形を表示する図形表示部と、
を備えたことを特徴とする３次元空間図形処理装置。
【請求項２８】
仮想３次元空間において図形処理を行う３次元空間図形処理装置を、コンピュータを用いて実現するためのプログラムであって、
操作者の操作入力によって描画された図形の終点を含む処理面を、前記仮想３次元空間に生成する処理面生成手段と、
操作者の操作入力を受けて、前記処理面上に、前記描画された図形の終点を始点とする新たな図形を描画する図形処理手段と、
をコンピュータによって実現するためのプログラム。
【請求項２９】
コンピュータを用いて、仮想３次元空間において図形処理を行う３次元空間図形処理方法であって、
操作者の操作入力によって描画された図形の終点を含む処理面を、前記仮想３次元空間に生成する処理面生成ステップと、
前記処理面を、操作者に対して提示する処理面提示ステップと、
操作者の操作入力を受けて、前記処理面上に、前記描画された図形の終点を始点とする新たな図形を描画する図形処理ステップと、
前記新たな図形を、操作者に対して提示する新たな図形提示ステップと、
を備えた３次元空間図形処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、仮想３次元空間において、図形の描画、移動等の処理を行う装置および方法に関し、特に、描画する図形と他の図形との相対的な位置関係を操作者が容易に把握できるようにして、より正確な設計を行うためのものである。
【０００２】
【従来の技術および解決しようとする課題】
今日、３次元形状の図形を描くための３次元ＣＡＤ（Ｃｏｍｐｕｔｅｒ　Ａｉｄｅｄ　Ｄｅｓｉｇｎ）システムが多用されている。この３次元ＣＡＤシステムでは、２次元の表示画面において、３次元投影座標上の奥行きを、操作者が正確に把握できないため、的確に作図方向、作図点を指定することが困難である。このような問題を解決するために、特開平９−７３４７６号公報において、３次元投影図である作図案内図形を操作者に提示して、作図方向および作図点の指定を促す配管情報入力装置が開示されている。以下に、この装置を用いて、３次元空間に連続した線分を描画するときの処理について、図３６を用いて説明する。
【０００３】
操作者による入力によって、座標条件、基準点８００、作図象限の設定が行われる。この座標条件とは、３次元投影座標軸の条件であり、基準点とは、作図線分の始点である。作図象限とは、基準点からどの方向に線分を描くかを決定するための基準点を中心とする区分領域である。
【０００４】
配管入力装置は、設定された作図象限において、基準点８００を一頂点とする立方体の斜投影図である作図案内図形８２０を表示する。操作者は、基準点８００から線分を描画する方向を特定するため、その作図案内図形８２０の一頂点８２２を指定する（作図方向の指定）。配管入力装置は、その方向に作図方向矢線を表示し、その線上にて、操作者により指定された点８０２を作図点として、基準点８００と作図点８０２間に線分８１２を描画する。
【０００５】
その後、作図点８０２を基準点として、作図象限の設定、作図案内図形８３０、８４０、８５０の表示、作図方向の指定および作図点８０４、８０６、８０８の指定が、繰り返し行われ、線分８１４、８１６、８１８を描くことができる。
【０００６】
しかしながら、上記の装置では、以下のような課題が生じている。第一に、作図案内図形８２０、８３０、８４０、８５０を用いても、基準点（または線分）と３次元空間に存在する他の図形（図示せず）との相対的な位置関係を、３次元空間において把握しなければならず、非常に困難である。第二に、操作者は、一の線分を描くために、作図象限の設定、作図方向の指定および作図点の指定をしなければならず、操作が煩雑である。第三に、作図案内図形８２０、８３０、８４０、８５０が、３次元空間に存在する他の図形と重なって表示される場合があるため、作図方向および作図点の指定が困難である。
【０００７】
この発明は、上記問題を解決し、描画する図形と他の図形との相対的な位置関係を操作者が容易に把握できるようにして、より正確な設計を行うための３次元空間図形処理装置および３次元空間図形処理方法を提供することを目的とする。
【０００８】
【課題を解決するための手段および発明の効果】
（１）　この発明の３次元空間図形処理装置は、仮想３次元空間において、図形処理を行う装置であって、操作者の操作入力を受ける操作入力部と、対象図形の基準点または基準線に基づいて、前記仮想３次元空間に、処理面を生成する処理面生成手段と、操作者の操作入力を受けて、前記処理面を基準として、前記対象図形に関する処理を行う図形処理手段と、少なくとも前記対象図形、前記処理面および前記対象図形に関する処理内容を表示する図形表示部とを備えたことを特徴としている。
【０００９】
これより、対象図形に関する処理において、当該対象図形と仮想３次元空間内の他の図形との相対的な位置関係を、処理面が形成する２次元平面上において把握することができる。また、２次元である処理面を基準として、対象図形に関する処理を行うため、その処理のための操作を簡易化することができる。さらに、２次元である処理面を利用するため、仮想３次元空間の奥行きを把握しやすくし、図形処理の的確化を図ることができる。
【００１０】
（４）　この発明の３次元空間図形処理装置では、前記対象図形は複数の図形を含み、事前に描画された図形に基づいて前記処理面を生成し、当該処理面を基準として、次の図形を描画することを特徴としている。これにより、対象図形を指定する操作を省くことによって、処理面の生成処理および対象図形に関する処理（描画処理）の迅速化を図ることができる。
【００１１】
（５）　この発明の３次元空間図形処理装置では、前記基準点は、直前に描画された図形の終点または始点であることを特徴としている。これにより、基準点を指定する操作を省くことによって、処理面の生成処理および対象図形に関する処理の迅速化を図ることができる。
【００１２】
（６）　この発明の３次元空間図形処理装置では、前記対象図形は、あらかじめ用意された図形から、操作者の操作によって選択されて、操作者の操作入力によって前記仮想３次元空間上に配置された図形であることを特徴としている。これにより、例えば、あらかじめ記憶する部品図データを読み込んで、仮想３次元空間上に当該部品図を配置することができる。
【００１３】
（７）　この発明の３次元空間図形処理装置では、前記対象図形に関する処理は、当該対象図形の終点を始点とする新たな図形の描画処理であることを特徴としている。これにより、対象図形の終点を始点とする図形を、迅速に描くことができる。例えば、複数の線分が連結する図形を、各線分ごとに連続して描くことができる。
【００１４】
（８）　この発明の３次元空間図形処理装置では、前記対象図形に関する処理は、当該対象図形を、前記処理面を基準として移動または変形する処理であることを特徴としている。これにより、処理面を利用して、対象図形を、所望の位置に、より的確に配置することができる。
【００１５】
（９）　この発明の３次元空間図形処理装置では、前記処理面生成手段は、さらに、操作者の操作入力による処理面方向情報に基づいて、前記処理面を生成することを特徴としている。これにより、基準点（または基準線）と処理面方向情報に基づいて、処理面を決定することができる。例えば、処理面方向情報を入力することにより、すでに生成されている処理面の方向を変更したり、これから生成する処理面の方向を設定することができる。
【００１６】
（１０）　この発明の３次元空間図形処理装置では、前記基準点は、操作者によって選択された前記対象図形内または対象図形上の点であることを特徴としている。これにより、例えば、２次元の対象図形上や、３次元の対象図形内の所定位置を選択することにより、当該位置を基準点として、処理面を生成することができる。
【００１７】
（１１）　この発明の３次元空間図形処理装置では、前記図形表示部にて、前記仮想３次元空間において、ＸＹ平面、ＹＺ平面またはＺＸ平面方向に、グランド面を表示することを特徴としている。これにより、グランド面をベースとして、仮想３次元空間内の奥行きを把握し易くすることができる。また、仮想３次元空間内の処理面や図形の位置を、グランド面が構成する平面（ＸＹ平面、ＹＺ平面またはＺＸ平面）上において把握することができる。
【００１８】
（１２）　この発明の３次元空間図形処理装置では、前記処理面生成手段は、前記処理面方向情報として入力されたＸＹ平面、ＹＺ平面またはＺＸ平面方向に、前記処理面を生成することを特徴としている。これにより、ＸＹ平面、ＹＺ平面またはＺＸ平面方向にあるグランド面と、処理面間の相対的な位置関係を確認することによって、仮想３次元空間内における処理面の位置を把握することができる。
【００１９】
（１３）　この発明の３次元空間図形処理装置では、前記図形処理手段は、前記処理面上にて操作者により操作入力された描画位置を取得し、当該描画位置に基づいて、前記処理面上に図形を描くことを特徴としている。これにより、処理面上において、描画されていく図形を、随時視覚的に把握しながら、描画指令を入力することができる。
【００２０】
（１４）　この発明の３次元空間図形処理装置では、前記図形処理手段は、前記仮想３次元空間内にすでに存在する図形に、処理対象である図形を連結または結合することを特徴としている。これにより、仮想３次元空間において、例えば、部品図の連結等を行うことができる。
【００２１】
（１５）　この発明の３次元空間図形処理装置では、前記処理面生成手段は、操作者の操作入力を受けて、前記処理面を移動することを特徴としている。これにより、処理面を適当な位置に配置することにより、仮想３次元空間内の適当な位置に、図形を描画等することができる。
【００２２】
（１６）　この発明の３次元空間図形処理装置では、前記図形表示部にて、視点位置を移動して表示することを特徴としている。これにより、処理面の生成処理と、視点位置の移動処理を併用することにより、対象図形に関する処理のための操作（図形の描画操作など）を簡易化することができる。
【００２３】
（１７）　この発明の３次元空間図形処理装置では、前記図形表示部にて、前記対象図形に関する処理を行う度に、表示画面の中心位置に前記処理面を表示することを特徴としている。これは、例えば、描画した作図線分の終点が注視点となるようにするとともに、その終点位置が中心となるように処理面を生成（または移動）することにより、実現することができる。これにより、処理面が、図形表示部の表示画面から、大きくはみ出すような状態を回避することができる。また、仮想３次元空間に広大な図形を描く場合に、その操作を簡易化することができる。
【００２４】
（１８）　この発明の３次元空間図形処理装置では、前記図形表示部にて、前記処理面生成手段によって生成された前記処理面に対して垂直な方向から、表示することを特徴としている。これにより、例えば、処理面上において２次元の図形を描画する場合に、当該図形の形状を容易に把握でき、当該描画操作を簡易化することができる。
【００２５】
（１９）　この発明の３次元空間図形処理装置では、前記図形表示部にて、前記仮想３次元空間内に、前記処理面の初期設定用の図形を表示し、前記処理面生成手段は、当該図形を前記対象図形として、前記処理面を生成することを特徴としている。これにより、仮想３次元空間に対象図形が存在しない場合でも、初期設定用の図形を利用して、処理面を生成することができる。
【００２６】
（２０）　この発明の３次元空間図形処理装置では、前記処理面は、平面状に生成された複数の点または線の集合であることを特徴としている。これにより、処理面の裏側にある図形の位置を、処理面を介して視覚的に把握することができる。
【００２７】
（２１）　この発明の３次元空間図形処理装置では、前記処理面は、所定の曲率半径を有する曲面状に生成された複数の点または線の集合であることを特徴としている。これにより、当該処理面上に、所定の曲率半径を有する曲線を簡単に描くことができる。
【００２８】
（２２）　この発明の３次元空間図形処理装置では、前記図形処理手段によって描画される図形は、１の線分または複数の線分の連結であることを特徴としている。これにより、例えば、ハーネスや配管等の設計に利用することができる。
【００２９】
（２３）　この発明の３次元空間図形処理装置では、前記図形処理手段は、描画した線分の全部または一部の長さを算出することを特徴としている。これにより、例えば、ハーネスの設計において、簡単にハーネス長を知ることができる。
【００３０】
（２４）　この発明の３次元空間図形処理装置では、前記グランド面は、所定の間隔を有する線または点の集合であることを特徴としている。これにより、処理面がグランド面に対して垂直な方向に生成された場合に、グランド面と処理面の交線から、処理面や、処理面上に描かれた図形の位置を把握することができる。
【００３１】
（２５）　この発明の３次元空間図形処理装置では、前記処理面は、処理面の裏側の図形が操作面を介して見えるように、半透明であることを特徴としている。
【００３２】
これにより、操作面によって、視界が妨げられることを防止することができる。また、操作面とオブジェクトが交わる場合には、操作面の表側に存在するオブジェクトの部分（または、操作面の裏側に存在するオブジェクトの部分）を、容易に把握することができる。さらに、オブジェクトと操作面の交線が明確であり、オブジェクトと操作面との相対的関係を容易に把握することができる。
【００３３】
（２７）　この発明の３次元空間図形処理装置は、仮想３次元空間において、図形処理を行う装置であって、操作者の操作入力を受ける操作入力部と、操作者の操作入力によって描画された図形の終点を含む処理面を、前記仮想３次元空間に生成する処理面生成手段と、操作者の操作入力を受けて、前記処理面上に、前記描画された図形の終点を始点とする新たな図形を描画する図形処理手段と、少なくとも前記描画された図形、前記処理面および前記新たな図形を表示する図形表示部とを備えていることを特徴としている。
【００３４】
これにより、終点と始点が同一である図形を連続して描画する場合（例えば、ハーネスや配管等の設計を行う場合）に、当該図形と仮想３次元空間内の他の図形との相対的な位置関係を、処理面が形成する２次元平面上において把握することができる。さらに、２次元である処理面上にて描画処理を行うため、その処理のための操作を簡易化することができる。
【００３５】
なお、この発明において、「処理面生成手段」とは、対象図形の基準点または基準線に基づいて処理面を生成する手段であり、下記の第１の実施形態では、図５ＢステップＳ３２２、Ｓ３２４、Ｓ３２６におけるＣＰＵ１２０の処理、図５ＡステップＳ１８２、Ｓ１８４、Ｓ１８６におけるＣＰＵ１２０の処理が該当する。第２の実施形態では、図３３ステップＳ６０６、Ｓ６１４におけるＣＰＵ１２０の処理が該当する。なお、１つの基準点等に基づいて、１つの処理面を生成する場合に限られるものではなく、複数の処理面を生成する場合も含む概念である。
【００３６】
「図形処理手段」とは、処理面を基準として対象図形に関する処理を行う手段であり、下記の第１の実施形態では、図８ステップＳ３０４におけるＣＰＵ１２０の処理、図７ステップＳ２６４におけるＣＰＵ１２０の処理が該当する。第２の実施形態では、図３３ステップＳ６２４におけるＣＰＵ１２０の処理が該当する。
【００３７】
「操作入力部」とは、操作者の操作入力を受け付けるものであり、下記の実施形態では、マウス／キーボード１２６に該当する。「図形表示部」とは、少なくとも対象図形、処理面および対象図形に関する処理内容を表示するものであり、下記の実施形態では、ディスプレイ１２８に該当する。
【００３８】
「対象図形」とは、処理面の生成処理における基準点または基準線を含む図形である。下記の第１の実施形態では、操作面４２０、４３０、４４０を生成するときの各作図線分６２０、６４０、６６０に、操作面４１０を生成するときのオブジェクトＡに該当する。第２の実施形態では、操作面７５０、７６０を生成するときのオブジェクトＥに該当する。
【００３９】
「対象図形に関する処理」とは、対象図形に基づいて行われる処理のことであり、その処理には、描画、移動、変形などを含む。下記の第１の実施形態では作図線分の描画処理に、第２の実施形態ではオブジェクトの移動処理に該当する。
【００４０】
「対象図形の基準点」とは、処理面の生成処理において基準となる点であって、対象図形内、対象図形上に限らず、対象図形外の点（対象図形と相対的な位置関係にある点）も含む概念である。「対象図形の基準線」とは、処理面の生成処理において基準となる線であって、対象図形内、対象図形上に限らず、対象図形外の線（対象図形と相対的な位置関係にある線）も含む概念である。例えば、対象図形である線分と所定間隔離れた平行な点や線も、対象図形の基準点、基準線となり得る。
【００４１】
「処理面」とは、対象図形の基準点または基準線に基づいて生成される面であり、下記の第１の実施形態では、操作面４１０、４２０、４３０、４４０に該当する。第２の実施形態では、操作面７５０、７６０に該当する。なお、当該処理面は、平面に限られるものではなく、曲面も含む概念である。
【００４２】
また、「操作面」は、透明な面や半透明な面も含む概念である。つまり、操作面の位置を認識できるとともに、その操作面の裏側に存在する図形も認識できるような操作面も含む概念である。
【００４３】
「処理面を基準として」として行う対象図形に関する処理には、処理面上で行われる当該処理に限らず、処理面を基準とする所定の位置において行われる当該処理も含む概念である。例えば、処理面と平行な平面上における作図線分の描画処理や、処理面に対する法線方向上における作図線分の描画処理などである。
【００４４】
「処理面方向情報」とは、生成される処理面の方向に関する情報であり、ＸＹ平面、ＹＺ平面およびＺＸ平面方向に限らず、任意の平面方向も含む概念である。下記第１の実施形態では、平面方向ボタン２１０、２１２、２１４にて入力される操作面方向条件（ＸＹ平面、ＹＺ平面およびＺＸ平面方向）に該当する。第２の実施形態では、さらに、図３３ステップＳ６１２にて、ユーザにより入力される角度も該当する。「グランド面」とは、仮想３次元空間のＸＹ平面、ＹＺ平面またはＺＸ平面方向を特定するものであり、下記の実施形態では、グランド面３００に該当する。
【００４５】
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、ＣＤ−ＲＯＭ、ハードディスク、メモリカード、ＲＯＭ、パンチカード、テープ等を含む概念である。また、コンピュータによって直接実行可能なプログラムを記録した記録媒体だけでなく、一旦他の記録媒体（ハードディスク等）にインストールすることによって実行可能となるようなプログラムを記録した記録媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記録媒体を含む概念である。「プログラム」とは、ＣＰＵにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【００４６】
【発明の実施の形態】
１．　第１の実施形態
以下に、ハーネス等の設計にあたり、連続して作図線分を描画するときの３次元図形処理装置について説明する。
【００４７】
１．１　機能ブロック図
図１に、第１の実施形態における３次元図形処理装置であるＣＡＤコンピュータ１００の機能ブロック図を示す。操作入力部１０２は、ユーザから操作面方向条件を受け、処理面生成手段１０４は、作図線分の始点位置に、仮想３次元空間に操作面を生成する。図形処理手段１０６は、ユーザから作図線分の終点位置を受けて、操作面上に作図線分の描画処理を行う。図形表示部１０８は、操作面、作図線分等を表示する。
【００４８】
１．２　ＣＡＤコンピュータ１００のハードウエア構成
図２Ａに、ＣＡＤコンピュータ１００のハードウエア構成を示す。ＣＡＤコンピュータ１００は、ＣＰＵ１２０とバスラインを介して接続されたハードディスク１２２、メモリ１２４、マウス・キーボード１２６、ディスプレイ１２８、フレキシブルディスク・ドライブ１３０、ＣＤ−ＲＯＭドライブ１３２などを備えている。
【００４９】
ハードディスク１２２には、ＣＡＤプログラム１４０、後述するオブジェクトＡ〜Ｄの配置位置、形状データを記憶するオブジェクトファイル１４２、オペレーティングシステム（ＯＳ）１４４などが記憶されている。このＣＡＤプログラム１４０は、操作面生成モジュール１６０、図形処理モジュール１６２、視点位置移動モジュール１６４、ユーザ指令取得モジュール１６６等からなる（図２Ｂ参照）。なお、ＣＡＤプログラム１４０、オブジェクトファイル１４２は、ＣＤ−ＲＯＭドライブ１３２を介してＣＤ−ＲＯＭ１３４等からインストールされたもの、または通信回線を介してダウンロードされたものである。
【００５０】
ユーザ指令取得モジュール１６６は、マウス・キーボード１２６を介してユーザからの操作面方向条件や作図線分の終点位置などを取得し、操作面生成モジュール１６０、図形処理モジュール１６２に与えるものである。操作面生成モジュール１６０は、後述する「初期操作面の設定処理」、「操作面の設定処理」、「操作面の移動処理」を行うものである。
【００５１】
視点位置移動モジュール１６４は、ユーザ指令取得モジュール１６６を介して取得した視点位置情報に基づいて、後述する「視点位置の移動処理」、「注視点の移動処理」を行うものである。図形処理モジュール１６２は、後述する「作図線分の描画処理」、「作図線分の一時表示処理」、「始点の描画処理」を行うものである。
【００５２】
１．３　目標とする設計図
図３Ａに、この実施形態における目標とする設計図（斜視図）の一例を示す。また、図３Ｂ、図３Ｃに、それぞれＹＺ平面、ＺＸ平面への投影図を示す。これらの図に示すように、３次元空間において、オブジェクトＡ〜Ｄが存在する。オブジェクトＡの側面から、オブジェクトＢとオブジェクトＣに当たらないようにその間を通り、オブジェクトＤの下面につながる作図線分６２０、６４０、６６０、６８０を描くことを目標とする。
【００５３】
１．４　処理内容
図４〜図９に、図３に示す作図線分６２０、６４０、６６０、６８０を描画するときの、ＣＡＤプログラム１４０に基づくＣＰＵ１２０のフローチャートを示す。まず、ＣＰＵ１２０は、図１０に示す初期画面を表示する（図４ステップＳ１０）。この初期画面は、主に、描画図形を表示するためのメインエリア２００と、ユーザが後述する操作面の方向を設定するためのボタン２１０、２１２、２１４、操作面の移動を指示するための操作面移動ボタン２１６、視点位置の移動方法を設定するためのボタン２２０、２２２、２２４、描画指令を入力するための作図ボタン２３０等からなる。
【００５４】
メインエリア２００には、ＸＹ平面方向にグランド面３００と、初期案内図形３１０が表示される。グランド面３００は、仮想３次元空間のＸＹ平面方向を特定するものであり、その面はマス目状に表示されている。初期案内図形３１０は、その中心はグランド面３００上にあり、グランド面３００に平行な上面、下面をもつ立方体の斜視図である。
【００５５】
次に、ユーザは、グランド面３００で形成される仮想３次元空間において、オブジェクトＡ〜Ｄのオブジェクト配置ボタン２４０をクリックする。この指令を受けて、ＣＰＵ１２０は、図１１に示すオブジェクトファイル１４２にて、各オブジェクトＡ〜Ｄの配置位置、形状データを読み込んで、仮想３次元空間内に、各オブジェクトＡ〜Ｄを配置する（図１２参照）（図４ステップＳ１２）。なお、図１２以降の図面において、初期案内図形３１０は図面上に記していない。
【００５６】
次に、ユーザは、図３Ａに示す作図線分６２０を描画するための操作面設定指令を入力する。つまり、ＸＹ平面方向に操作面を設定するためのＸＹ平面方向ボタン２１０をクリックする（図４ステップＳ１４：初期操作面の設定指令）。この指令を受けて、ＣＰＵ１２０は、図５Ａに示す「初期操作面の設定処理」を実行する（図４ステップＳ１８）。
【００５７】
この処理では、ＣＰＵ１２０は、ユーザにより指定された操作面方向条件（ＸＹ平面方向）を取得し、その方向であって、初期案内図形３１０の中心位置に操作面４００を表示する（図１３参照）（図５ＡステップＳ１８０、Ｓ１８２）。この操作面４００は、図１２に示す状態において、初期案内図形３１０の中心はグランド面３００上にあるので、グランド面３００と重なることになる。なお、この操作面４００は、各ＸＹ座標点の位置にマーク（丸印）を表示することによって、生成される。
【００５８】
次に、ユーザは、作図線分の始点５００となる位置（オブジェクトＡの側面の所定位置）が操作面上にくるように、操作面４００を移動させる指令を入力する（図４ステップＳ２０：操作面の移動指令）。この指令は、操作面移動ボタン２１６をクリックし、マウスをドラッグ操作することにより行われる。この指令を受けて、ＣＰＵ１２０は、図６Ａに示す「操作面の移動処理」を実行する（図４ステップＳ２２）。
【００５９】
この処理では、ＣＰＵ１２０は、マウスの移動位置を取得し、操作面４００を平行移動させる（図６ＡステップＳ２２０、Ｓ２２２）。平行移動後の図面を図１４ａに示す。なお、平行移動後の操作面を操作面４１０と記し、図１４ｂにＺＸ平面への投影図を示す。
【００６０】
次に、ユーザは、オブジェクトＡの側面の所定位置に作図線分の始点５００を描画するための指令を入力する。つまり、作図ボタン２３０をクリックし、さらに、オブジェクトＡの側面と操作面４１０の交線上の所定位置をクリックする（図４ステップＳ２０：作図線分の始点の描画指令）。この指令を受けて、ＣＰＵ１２０は、図７に示す「始点の描画処理」を実行する（図４ステップＳ２６）。
【００６１】
この処理では、ＣＰＵ１２０は、クリックされた位置を取得し、操作面４１０上に始点５００を青色で描画する（図７ステップＳ２６０、Ｓ２６４）。さらに、描画した始点５００が、注視点となるように（メインエリア２００の中心位置に表示されるように）、表示画面を切り換える（図７ステップＳ２６６）。
【００６２】
次に、ユーザは、図１４ａの視覚方向から、右回りに約９０度回転した方向に視覚方向を移動する指令を入力する。この指令は、視点位置の移動方法を選択するための回転ボタン２２０、平行移動ボタン２２２、拡大・縮小ボタン２２４のうち、回転ボタン２２０をクリックし、マウスのドラッグ操作により行う（図４ステップＳ２８：視点位置の移動指令）。この指令を受けて、ＣＰＵ１２０は、図９に示す「視点位置の移動処理」を実行する（図４ステップＳ３８）。
【００６３】
この処理では、ＣＰＵ１２０は、マウスの移動位置を取得し、ユーザにより選択された移動方法（回転）に基づいて、視点位置を移動して図面を表示する（図１５参照）（図９ステップＳ３８０〜Ｓ３８４）。
【００６４】
次に、ユーザは、オブジェクトＢの側面から離れた位置に終点がくるような作図線分を描くために、終点位置の検討を行う。つまり、仮想３次元空間において、作図線分の終点位置をマウスポインタで移動させながら、作図線分とオブジェクトＢとの相対的な位置関係を操作面４１０上において把握する（図４ステップＳ２８：作図線分の一時表示指令）。この際、ＣＰＵ１２０は、図６Ｂに示す「作図線分の一時表示処理」を実行する。
【００６５】
この処理では、ＣＰＵ１２０は、マウスポインタの位置を随時取得して、作図線分６３０を白色で表示する（図１６参照）（図６ＢステップＳ３４０、Ｓ３４２）。
【００６６】
次に、ユーザは、オブジェクトＢの側面から離れた位置に、作図線分６２０を描くための指令を行う。つまり、上記処理で白色で表示される作図線分６３０のうち、オブジェクトＢの側面から離れた操作面４１０上の適当な位置をクリックする（図４ステップＳ２８：作図線分の描画指令）。この指令を受けて、ＣＰＵ１２０は、図８に示す「作図線分の描画処理」を実行する（図４ステップＳ３０）。
【００６７】
この処理では、ＣＰＵ１２０は、クリックされた位置を作図線分の終点位置として取得し、その位置に作図線分の終点５２０を青色で描画するとともに、その終点５２０と始点５００間に作図線分６２０を青色で描画する（図１７参照）（図８ステップＳ３００、Ｓ３０４）。さらに、終点５２０が注視点となるように、表示画面を切り換え、描画した作図線分６２０の終点５２０を、次に描画する作図線分６４０の始点とする（図８ステップＳ３０６、Ｓ３０８）。
【００６８】
次に、ユーザは、図１７の視覚方向から、少し右回り回転した方向であって、下方向に、視覚方向を移動するための視点位置移動指令を入力する（図４ステップＳ２８）。この指令を受けて、ＣＰＵ１２０は、図９に示す「視点位置の移動処理」を実行する（図４ステップＳ３８）。図１８に、視点位置移動後の図面を示す。
【００６９】
次に、ユーザは、ＹＺ平面方向に操作面を設定するために、ＹＺ方向ボタン２１２をクリックする（図４ステップＳ２８：操作面の設定指令）。この指令を受けて、ＣＰＵ１２０は、図５Ｂに示す「操作面の設定処理」を実行する（図４ステップＳ３２）。
【００７０】
この処理では、ＣＰＵ１２０は、ユーザにより指定された操作面方向条件（ＹＺ平面方向）を取得し、現在のＸＹ平面方向の操作面４１０に代えて、ＹＺ平面方向であって、作図線分の始点位置５２０に操作面４２０を表示する（図１９ａ、図１９ｂ参照）（図５ＢステップＳ３２０、Ｓ３２４）。なお、この操作面４２０は、各ＹＺ座標点の位置にマーク（丸印）を表示することによって、生成される。
【００７１】
次に、ユーザは、作図線分の終点位置をマウスポインタで移動させながら、作図線分とオブジェクトＣとの相対的な位置関係を操作面４２０上において把握する（図４ステップＳ２８：作図線分の一時表示指令）。この際、ＣＰＵ１２０は、マウスポインタの位置を随時取得して、作図線分を白色で表示する（図示せず）（図４ステップＳ３４：「作図線分の一時表示処理」）。
【００７２】
次に、ユーザは、オブジェクトＣの下面から離れた操作面４２０上の適当な位置をクリックする（図４ステップＳ２８：作図線分の描画指令）。この指令を受けて、ＣＰＵ１２０は、操作面４２０上に作図線分の終点５４０および作図線分６４０を、青色で描画する（図２０参照）（図４ステップＳ３０：「作図線分の描画処理」）。上記と同様に、描画した終点５４０が注視点となるように、表示画面を切り換え、描画した作図線分６４０の終点５４０を、次に描画する作図線分６６０の始点とする。
【００７３】
次に、ユーザは、図２０の視覚方向から、左回りに約９０度回転した方向であって下方向に、視覚方向を移動るための視点位置移動指令を入力する（図４ステップＳ２８）。この指令を受けて、ＣＰＵ１２０は、図９に示す「視点位置の移動処理」を実行する（図２１参照）（図４ステップＳ３８）。
【００７４】
次に、ユーザは、ＸＹ平面方向に操作面を設定するために、ＸＹ平面方向ボタン２１０をクリックする（図４ステップＳ２８：操作面の設定指令）。この指令を受けて、ＣＰＵ１２０は、現在のＹＺ平面方向の操作面４２０に代えて、ＸＹ平面方向であって、作図線分の始点位置５４０に操作面４３０を表示する（図４ステップＳ３２：「操作面の設定処理」）。図２２ａに、視点位置移動後の図面を示す（図２２ｂの投影図参照）。
【００７５】
次に、ユーザは、視点位置を移動させながら、操作面４３０上で、作図線分の終点位置をマウスポインタで移動させ、以後に描画する作図線分（６８０）を考慮して、当該作図線分とオブジェクトＣ、Ｄとの相対的な位置関係を、操作面４３０を利用して把握する。この際、ＣＰＵ１２０は、マウスポインタの位置を随時取得して、作図線分を白色で表示する（図示せず）（図４ステップＳ３４：「作図線分の一時表示処理」）。
【００７６】
次に、ユーザは、以後に描画する作図線分（６８０）が、オブジェクトＣに当たず、かつ、オブジェクトＤの下面にその終点が描けるように、操作面４３０上の所定位置をクリックする（図４ステップＳ２８：作図線分の描画指令）。この指令を受けて、ＣＰＵ１２０は、操作面４３０上に作図線分の終点５６０および作図線分６６０を、青色で描画する（図２３参照）（図４ステップＳ３０：「作図線分の描画処理」）。上記と同様に、描画した終点５６０が注視点となるように、表示画面を切り換え、描画した作図線分６６０の終点５６０を、次に描画する作図線分６８０の始点とする。
【００７７】
次に、ユーザは、ＺＸ平面方向に操作面を設定するために、ＺＸ平面方向ボタン２１４をクリックする（図４ステップＳ２８：操作面の設定指令）。この指令を受けて、ＣＰＵ１２０は、現在のＸＹ平面方向の操作面４３０に代えて、ＺＸ平面方向であって、作図線分の始点位置５６０に操作面４４０を表示する（図２４ａ、図２４ｂ参照）（図４ステップＳ３２：「操作面の設定処理」）。
【００７８】
次に、ユーザは、操作面４４０とオブジェクトＤの下面の交線上の所定位置をクリックする（図４ステップＳ２８：作図線分の描画指令）。この指令を受けて、ＣＰＵ１２０は、操作面４４０上に作図線分の終点５８０および作図線分６８０を、青色で描画する（図２５参照）（図４ステップＳ３０：「作図線分の描画処理」）。
【００７９】
次に、ユーザは、所望の視覚方向から最終的な図面を確認するために、視点位置の移動指令を入力する（図４ステップＳ２８）。この指令を受けて、ＣＰＵ１２０は、当該視覚方向から図面を表示する（図示せず）（図４ステップＳ３８：「視点位置の移動処理」）。ユーザは、各作図線分６２０、６４０、６６０、６８０と各オブジェクトＡ〜Ｄ間の相対的な位置関係を確認すると、描画の終了指令を入力する（図４ステップＳ４０）。
【００８０】
なお、図４ステップＳ１４において、ユーザから視点位置の移動指令がなされれば、ＣＰＵ１２０は、図４ステップＳ１６の「視点位置の移動処理」（図９に示すルーチン処理）を実行する。図４ステップＳ２０において、ユーザから視点位置の移動指令がなされれば、ＣＰＵ１２０は、図４ステップＳ２４の「視点位置の移動処理」（図９に示すルーチン処理）を実行する。図４ステップＳ２８において、ユーザから操作面の移動指令がなされれば、ＣＰＵ１２０は、図４ステップＳ３６の「操作面の移動処理」（図６Ａに示すルーチン処理）を実行する。
【００８１】
１．５　他の実施例
（１）操作面の方向について
この実施形態では、操作面方向条件を設定するために、ＸＹ平面方向ボタン２１０、ＹＺ平面方向ボタン２１２、ＺＸ平面方向ボタン２１４が用意されており、ユーザの選択操作により、操作面の方向を決定している。しかしながら、ユーザによるマウスのドラッグ操作により、操作面の方向を決定してもよい。また、この実施形態では、ＸＹ平面、ＹＺ平面またはＺＸ平面方向に操作面を設定しているが、これらの平面方向に限られるものではなく、任意の平面方向でもよい。この場合、操作面の方向の角度を表示するとよい。
【００８２】
（２）操作面の設定位置について
この実施形態では、作図線分の始点位置（直前に描画した作図線分の終点位置）に操作面を設定している（図５ＢステップＳ３２２〜Ｓ３２６）。しかしながら、これに限られるものではない。例えば、直前に描画した作図線分の始点位置、中点位置、またはその作図線分上の任意の点（例えば、ユーザにより指定された点）であってもよい。
【００８３】
また、直前に描画し終えた作図線分自体を基準線として、操作面を設定してもよい。例えば、図２６に示す状態において、作図線分７０２を中心に生成される操作面７０４、７０６等から、任意の方向の操作面をユーザが特定することによって、操作面を設定する。なお、直前に描画し終えた作図線分に限られるものではなく、それ以前に描画した作図線分を基準線としてもよい。
【００８４】
また、仮想３次元空間内のオブジェクト内またはその平面上の任意の点（例えば、オブジェクトの重心）、または任意の線を基準として、操作面を設定してもよい。また、描画した作図線分やオブジェクト等に対して相対的な位置関係にある任意の点や、任意の線（例えば、作図線分に平行な線）を基準として、操作面を設定してもよい。
【００８５】
（３）操作面の表示ついて
この実施形態では、新たな操作面が設定された場合には、直前に生成した操作面に代えて（その操作面の表示を消去して）、当該新たな操作面を表示する場合を一例として説明している。しかしながら、新たな操作面を表示する場合でも、以前の操作面の表示を残しておいてもよい。つまり、複数の操作面が同時に表示されることになる。
【００８６】
（４）操作面の設定処理について
この実施形態では、作図線分の始点位置と、ユーザにより選択された操作面方向条件（ＸＹ平面、ＹＺ平面、ＺＸ平面方向）に基づいて、操作面を設定している（図５ＢステップＳ３２０〜Ｓ３２６）。しかしながら、これに限られるものではない。例えば、（ａ）ユーザにより入力された３点の３次元座標値、（ｂ）ユーザにより入力された２点の３次元座標値および作図線分の始点位置、（ｃ）ユーザにより入力された１点の３次元座標値および操作面方向条件に基づいて、操作面を設定することができる。
【００８７】
また、図２７に示すフローチャートにしたがって操作面を設定、移動してもよい。つまり、図２８Ａに示すように、操作面７１２を回転するための回転軸７１０（ｘｙｚ軸）を表示し（図２７ステップＳ４００）、操作面７１２の回転軸と回転角度の入力をユーザに対して促す。ユーザにより回転軸が選択され、回転角度が入力されると（図２７ステップＳ４０２）、その回転軸と回転角度に基づいて新たな操作面を表示する（図２７ステップＳ４０４、Ｓ４０６）。例えば、回転軸としてｚ軸が選択された場合には、図２８Ｂに示す操作面７１４が設定される。なお、回転軸７１０を表示せずに、操作面の回転を指令するためのボタンをクリックし、マウスの操作により、操作面を回転させてもよい。
【００８８】
（５）注視点の移動処理について
この実施形態では、「作図線分の描画処理（図４ステップＳ３０）」において、作図線分を描画した後（図８ステップＳ３０４）、注視点の移動処理を行っている（図８ステップＳ３０６）。しかしながら、この注視点の移動処理を行わなくてもよい。また、ユーザの指令にしたがって、注視点の移動処理を行ってもよい。
【００８９】
（６）操作面の移動について
この実施形態における「作図線分の描画処理（図４ステップＳ３０）」において、描画した作図線分の終点位置が、操作面の中心となるように、操作面の平行移動を行ってもよい。これは、生成される操作面が、表示画面に対して小さいような場合に有効である。例えば、図２９に示すように、始点７２２を中心とする操作面７２６が表示されている状態において、終点７２４とする作図線分７２０を描画した場合、その終点７２４を中心とする操作面７２８を、操作面７２６に代えて表示する。つまり、描画処理とともに操作面の平行移動を行う。なお、この操作面の平行移動処理とともに、注視点の移動処理（図８ステップＳ３０６）を行うことにより、表示画面の中心位置に操作面を自動的に表示することができる。
【００９０】
（７）視点位置の自動移動処理について
この実施形態では、ＣＰＵ１２０は、図８ステップＳ３０６における注視点の移動処理以外は、ユーザからの指令を受けて、視点位置の移動処理を行っている（図４ステップＳ１６、Ｓ２４、Ｓ３８）。しかしながら、新たに操作面を生成する度に（図５ＢステップＳ３２２〜Ｓ３２６）、その操作面の位置を基準として視点位置を自動的に移動する処理を行ってもよい。例えば、新たに操作面を生成する度に、当該操作面に対して垂直な方向から、当該操作面等を自動的に表示する。特に、この処理を注視点の移動処理とともに行うことにより、視点位置の移動指令のためのユーザの操作を省くことができ、操作の煩雑化を避けることができる。
【００９１】
また、この実施形態では、視点位置の移動処理（図４ステップＳ１６、Ｓ２４、Ｓ３８）を実行する機能を備えているが、この機能を備えていないものでもよい。
【００９２】
（８）視点位置の移動指令について
この実施形態では、ユーザは、回転ボタン２２０、平行移動ボタン２２２または拡大・縮小ボタン２２４をクリックし、マウスのドラッグ操作により、視点位置の移動指令を入力している。しかしながら、回転角度や平行移動距離、視点と注視点間の距離の入力を行うことにより、視点位置の移動指令を入力してもよい。また、回転ボタン２２０をクリックする代わりに、キーボードの特定のキーを押しながら、マウスのドラッグ操作を行うことにより、視点位置の移動指令を入力してもよい。
【００９３】
（９）作図線分の描画指令について
この実施形態では、描画図形として線分を一例として説明しているため、マウスポインタにより指定された線分の終点位置を取得することにより、作図線分の描画処理を行っている（図８ステップＳ３００、Ｓ３０４）。しかしながら、これに限られるものではなく、操作面上にて、マウスのドラッグ操作によるマウスの移動軌跡を描画図形として、描画処理を行ってもよい。
【００９４】
（１０）描画図形について
この実施形態では、描画図形として線分を一例として説明している。しかしながら、これに限られるものではなく、任意の平面図形についてこの発明を適用することができる。例えば、Ｓ字形の図形を描画した場合、その図形の終点、またはその図形上の任意の点を基準として、操作面を設定する。
【００９５】
また、任意の３次元形状の斜視図等について、この発明を適用することができる。例えば、円柱を斜視図で描画した場合、その図形上の任意の点（側面、上面、底面上の任意の点）、またはその図形内の任意の点を基準として、操作面を設定する。
【００９６】
（１１）オブジェクトの配置処理について
この実施形態では、ＣＰＵ１２０が、図１１に示すオブジェクトファイル１４２にて、各オブジェクトＡ〜Ｄの配置位置、形状データを読み込んで、仮想３次元空間内に、各オブジェクトＡ〜Ｄを配置している（図４ステップＳ１２）。しかしながら、仮想３次元空間内にて、ユーザが指定する位置にオブジェクトを配置するようにしてもよい。例えば、初期案内図形３１０を配置カーソルとして利用するときのＣＰＵ１２０の処理の一例を図３０に示す。
【００９７】
ＣＰＵ１２０は、オブジェクトファイル１４２から、ユーザから選択されたオブジェクトの形状データを読み込んで、オブジェクトを初期案内図形３１０の中心位置に表示する（図３０ステップＳ５００、Ｓ５０２）。ＣＰＵ１２０は、ユーザによりオブジェクトの配置指令を受けて（図３０ステップＳ５０４）、マウスポインタにより移動対象となるオブジェクトが特定されると（図３０ステップＳ５０６）、ユーザによるマウスのドラッグ操作に基づくマウスの移動位置を取得して（図３０ステップＳ５０８）、オブジェクトを移動し、配置する（図３０ステップＳ５１０）。なお、オブジェクトの配置位置データとして、キーボードを介して入力された座標値を取得して、オブジェクトを配置してもよい。
【００９８】
（１２）操作面について
この実施形態では、操作面は、それと平行な座標面の各座標点にマーク（丸印）を表示することによって、生成される。例えば、ＺＸ平面に平行な操作面ならば、各ＺＸ座標点の位置にマークが表示されることによって、操作面が生成される。しかしながら、これに限られるものではなく、一様な色彩が施された平面によって、操作面を生成してもよい。特に、操作面の裏側に存在するオブジェクト等を、操作面を介して見えるようにするため、透明な色彩が好ましい。また、グランド面３００のように、マス目状に表示してもよい。
【００９９】
また、操作面には、厚みを設けないことが好ましい。例えば、ＺＸ平面に平行な操作面を生成するならば、ＹＺ平面に垂直な方向からそれを表示した場合に、操作面が細い直線で表示されるか、または全く表示されないようにすることが好ましい。これは、できるだけ操作面によって、視界が妨げられることを防止するためである。
【０１００】
また、操作面は、平面に限らず、所定の曲率半径を有する曲面であってもよい。この場合、例えば、ユーザにより、その曲面上に作図線分の終点位置が指定されれば、始点と終点間を結ぶ曲面に沿った曲線のうち、その距離が最短になるように曲線を描くことが好ましい。このようにすれば、平面状である操作面上に曲線を描画するための操作入力よりも、曲面状である操作面上に曲線を描画するための操作入力の方が、簡易なため、曲面の方が有効な場合もある。なお、操作面の形状情報（例えば、曲率半径、操作面の大きさ等）を記憶する操作面情報テーブルをあらかじめ備え、その情報に基づいた操作面を設定するようにしてもよい。
【０１０１】
また、この実施形態では、オブジェクトＡ〜Ｄ内に存在する操作面の部分（オブジェクトと操作面が重なる部分）は、表示していない。しかしながら、その部分を表示してもよい。例えば、図１９ａに示す状態において、オブジェクトＣ、Ｄと操作面が重なる部分を表示すると、図３１に示すようになる。また、オブジェクトとＣ、Ｄと操作面が重なる部分を、色を換えて表示してもよい。
【０１０２】
また、操作面を構成するマークは、丸印に限られるものではなく、花印、×印、□印などあってもよい（花印の一例を図３２に示す）。なお、ユーザの指令によって、操作面の表示方法（模様の種類等）を、任意に変更できるようにしてもよい。
【０１０３】
（１３）操作面の位置、方向データの記憶について
この実施形態において、一連の描画処理において生成した操作面の位置、方向データを、ＣＰＵ１２０が、メモリ１２４等に記憶しておいてもよい。これにより、ユーザが、一旦描画した作図線分を訂正したい場合などに、以前生成した操作面を再度表示し、訂正処理の迅速化を図ることができる。
【０１０４】
（１４）対象図形に関する処理について
この実施形態では、対象図形（直前に描画された作図線分）に関する処理として、直前に描画された作図線分の終点を始点として、新たに作図線分を描画する場合を一例として説明している。しかしながら、これに限られるものではなく、対象図形（直前に描画された作図線分）を変形する処理であってもよい。例えば、直前に描画された作図線分の長さや方向を、再度描画し直す処理である。
【０１０５】
（１５）作図線分の長さの算出処理について
この実施形態における図形処理モジュール１６２は、ユーザから作図線分の長さの算出指令を受けて、描画した作図線分の全長を算出する機能を備えていてもよい。また、ユーザから特定された作図線分（描画した作図線分の一部分）の長さを算出する機能を備えていてもよい。
【０１０６】
（１６）グランド面３００について
この実施形態では、グランド面３００は、ＸＹ平面方向の平面であるが、ＹＺ平面またはＺＸ平面方向の平面であってもよい。また、この実施形態では、グランド面３００は、マス目状の平面であるが、所定の間隔を有する点の集合や、一様な色彩や模様が施された平面であってもよい。また、この実施形態では、グランド面３００を設ける場合について説明しているが、グランド面３００を設けなくてもよい。
【０１０７】
（１７）初期操作面の設定処理について
この実施形態では、初期案内図形３１０の中心位置に初期操作面４００を設定しているが（図５ＡステップＳ１８２〜Ｓ１８６）、これに限られるものではなく、ユーザの指定位置や、あらかじめ定められた位置に初期操作面を設定してもよい。また、当初から初期操作面が、所定位置に設定されていてもよい。
【０１０８】
（１８）線分の描画位置について
この実施形態では、操作面上に線分を描画する場合を一例として説明している。しかしながら、操作面に対して法線方向に線分を描画できるようにしてもよい。また、操作面に対して平行な方向に、線分を描画できるようにしてもよい。
【０１０９】
（１９）仮想３次元空間について
この実施形態では、直交座標ＸＹＺ軸で表される３次元空間における図形処理を一例として説明しているが、極座標で表される３次元空間における図形処理についても、この発明を適用することができる。また、直交座標ＸＹＺ軸であっても、各軸の方向は、図３等で示すものに限られるものではない。
【０１１０】
（２０）部品図の連結、組立について
この実施形態では、対象図形に関する処理として、連続して作図線分を描画する場合を一例として説明している。しかしながら、あらかじめ部品の形状データ等を記憶する部品ファイルを用意し、それから部品図を抽出して仮想３次元空間内に配置することにより、部品図の連結、組立を行う場合にも、この発明を適用することができる。つまり、操作面を利用して、部品図の連結等を行うことにより、処理対象となる部品図と仮想３次元空間内の他の図形との相対的な位置関係を、操作面上において把握することができ、また、仮想３次元空間の奥行きを把握し易くすることができる。これは、配管等を設計する場合に、特に有用である。
【０１１１】
また、この部品図の配置処理と、図形（線分など）の描画処理を併用する場合にも、この発明を適用することができる。例えば、ハーネスの設計において、部品ファイルから、あらかじめ形状が定めれたコネクタを所定位置に配置し、そのコネクタを作図線分の始点として、上述の作図線分の描画処理、操作面の設定処理等を行う。
【０１１２】
（２１）応用例について
この発明は、ハーネスや配管その他生産ラインの設計等に適用することができる。上記の実施形態では、作図線分（ハーネス）がオブジェクト（オブジェクトＢ、Ｃ）を避けるように設計しているが、作図線分が、オブジェクト内を通過するようにしてもよい。また、作図線分が、オブジェクトの面に沿って配置されるようにしてもよい。また、作図線分が、オブジェクトの面から一定の距離で配置されるようにしてもよい。
【０１１３】
（２２）作図線分の色表示について
この実施形態では、作図線分の一時表示のときには白色で表示し（図６ＢステップＳ３４２）、作図線分を最終的に描画するときには青色で表示してる（図８ステップＳ３０４）。しかしながら、これらの色に限定されるものではない。
【０１１４】
２．　第２の実施形態
以下に、操作面上においてオブジェクトの移動を行うときの３次元図形処理装置について説明する。この実施形態におけるＣＡＤコンピュータ１００のハードウエアの構成は、基本的に第１の実施形態のものと同様である。なお、第１の実施形態では、ＸＹ平面、ＹＺ平面またはＺＸ平面方向のいずれかの方向に、操作面が設定されるが、この実施形態では、さらに、グランド面３００に対する角度を入力することにより、任意の方向に操作面を設定することができる機能を有する。
【０１１５】
図３３に、ＣＡＤプログラム１４０に基づくＣＰＵ１２０のフローチャートを示す。まず、仮想３次元空間内にオブジェクトＥが配置された状態において（図３４ａ参照）、ユーザは、オブジェクトＥをマウスポインタにより特定する（オブジェクトの特定指令）（図３３ステップＳ６００）。この指令を受けて、ＣＰＵ１２０は、オブジェクトＥを赤色表示する（図３３ステップＳ６０２）。
【０１１６】
次に、ユーザは、操作面方向条件を設定するためのボタン２１０、２１２、２１４のいずれかをクリックする（図３３ステップＳ６０４）。この実施形態では、ＸＹ平面方向ボタン２１０がクリックされた場合について説明する。この指令を受けて、ＣＰＵ１２０は、ＸＹ平面方向であって、オブジェクトＥの中心位置に操作面７５０を表示する（図３３ステップＳ６０６）。
【０１１７】
次に、ユーザは、グランド面３００に対して所定の角度を有する操作面を設定するために、操作面角度入力ボタン２５０をクリックする（図３３ステップＳ６０８）。この指令を受けて、ＣＰＵ１２０は、ウインドウを表示して（図示せず）、グランド面３００に対する操作面の角度の入力を促す（図３３ステップＳ６１０）。
【０１１８】
ユーザは、そのウインドウにおいて、グランド面３００に対する角度を入力する（図３３ステップＳ６１２）。この実施形態では、グランド面３００に対する角度として３０度が入力された場合について説明する。ＣＰＵ１２０は、入力角度３０度を取得して、グランド面３００に対して角度３０度を有する操作面７６０を表示する（図３４ｂ参照）（図３３ステップＳ６１４）。
【０１１９】
次に、ユーザは、オブジェクト移動ボタン２６０をクリックして（オブジェクトの移動指令）、オブジェクトＥをマウスポインタにより特定する（図３３ステップＳ６１６、Ｓ６１８）。この指令を受けて、ＣＰＵ１２０は、オブジェクトＥを青色表示する（図３３ステップＳ６２０）。
【０１２０】
次に、ユーザは、マウスを操作して、操作面７６０上において、オブジェクトＥの移動目標位置をクリックする。この際、ＣＰＵ１２０は、マウスの移動目標位置を取得し（図３３ステップＳ６２２）、操作面７６０上の移動目標位置にオブジェクトＥの中心が合致するように、オブジェクトＥを移動させる（図３３ステップＳ６２４）。このように、操作面を利用して、オブジェクトの移動処理を行えば、奥行きの把握が困難な３次元空間においても、操作面上でオブジェクトを的確な位置に移動させることができるため、オブジェクト間の結合（例えば、コネクタのオスとメスの嵌合など）を行う際において有効である。
【０１２１】
なお、この実施形態では、操作面７６０上の移動目標位置を指定することによりオブジェクトＥをその位置に移動させているが、マウスのドラッグ操作により、操作面７６０上をオブジェクトＥが移動するようにしてもよい。
【０１２２】
また、この実施形態では、グランド面３００に対する操作面の角度を入力することにより、任意の方向の操作面を設定しているが、マウスのドラッグ操作により、任意の方向の操作面を設定してもよい。また、この実施形態では、マウス操作により、操作面７６０上の移動目標位置をクリックすることにより、オブジェクトＥの移動位置を入力しているが、移動距離の入力や、特定の座標軸方向における移動距離の入力（例えば、Ｘ軸方向の移動距離）などによって、オブジェクトＥの移動位置を入力してもよい。
【０１２３】
また、この実施形態では、オブジェクトＥの中心位置に操作面を設定しているが、オブジェクトＥ内の任意の点、線または面を基準として、操作面を設定してもよい。例えば、ユーザによりオブジェクトの下面が指定されれば、その下面を含む操作面が設定され、その操作面上をオブジェクトが移動する。
【０１２４】
また、この実施形態では、グランド面３００に対する角度を入力することにより、任意の方向の操作面を設定しているが、各Ｘ軸、Ｙ軸、Ｚ軸に対する角度を入力することにより、任意の方向の操作面を設定してもよい。
【０１２５】
また、この実施形態では、グランド面３００を設ける場合について説明しているが、グランド面３００を設けなくてもよい。この場合、例えば、ＸＹ平面に対する角度を入力することにより、任意の方向に操作面を設定することができる。
【０１２６】
３．　第３の実施形態
この実施形態では、操作面の他の形態の一例を示す。上述の第一、第二の実施形態では、操作面は、マーク（丸印）を表示することによって生成される。しかしながら、図３５Ａに示す半透明の面であってもよい。これにより、操作面の裏側に存在するオブジェクト等を、操作面を介して見ることができ、操作面によって、視界が妨げられることを防止することができる。また、操作面７８０とオブジェクト７９０が交わる場合には（図３５Ａ参照）、操作面７８０の表側に存在するオブジェクト７９０の部分（または、操作面７８０の裏側に存在するオブジェクト７９０の部分）を把握し易くすることができる。
【０１２７】
さらに、オブジェクト７９０と操作面７８０の交線が明確であり、オブジェクト７９０と操作面７８０との相対的関係が把握しやすい。なお、操作面には、厚みを設けないことが好ましい。また、図３５Ｂに示すように、操作面にマス目を付してもよい。
【図面の簡単な説明】
【図１】第１の実施形態における機能ブロック図を示す図である。
【図２】第１の実施形態におけるＣＡＤコンピュータ１００のハードウエア構成、ＣＡＤプログラム１４０の構成を示す図である。
【図３】第１の実施形態における目標とする設計図を示す図である。
【図４】ＣＡＤプログラム１４０に基づくＣＰＵ１２０の処理を示すフローチャートである。
【図５】初期操作面、操作面の設定処理を示すフローチャートである。
【図６】操作面の移動処理、作図線分の一時表示処理を示すフローチャートである。
【図７】始点の描画処理を示すフローチャートである。
【図８】作図線分の描画処理を示すフローチャートである。
【図９】視点位置の移動処理を示すフローチャートである。
【図１０】初期画面を示す図である。
【図１１】オブジェクトファイル１４２を示す図である。
【図１２】オブジェクトＡ〜Ｄの配置後のＣＡＤ画面を示す図である。
【図１３】初期操作面４００設定後のＣＡＤ画面を示す図である。
【図１４ａ】初期操作面４００移動後（操作面４１０設定後）のＣＡＤ画面を示す図である。
【図１４ｂ】操作面４１０設定後のＺＸ平面への投影図である。
【図１５】操作面４１０設定後のＣＡＤ画面を示す図である。
【図１６】作図線分の一時表示が行われたＣＡＤ画面を示す図である。
【図１７】作図線分の描画処理が行われたＣＡＤ画面を示す図である。
【図１８】視点位置移動後のＣＡＤ画面を示す図である。
【図１９ａ】操作面４２０設定後のＣＡＤ画面を示す図である。
【図１９ｂ】操作面４２０設定後のＺＸ平面への投影図である。
【図２０】作図線分の描画処理が行われたＣＡＤ画面を示す図である。
【図２１】視点位置移動後のＣＡＤ画面を示す図である。
【図２２ａ】操作面４３０設定後のＣＡＤ画面を示す図である。
【図２２ｂ】操作面４３０設定後のＺＸ平面への投影図である。
【図２３】作図線分の描画処理が行われたＣＡＤ画面を示す図である。
【図２４ａ】操作面４４０設定後のＣＡＤ画面を示す図である。
【図２４ｂ】操作面４４０設定後のＺＸ平面への投影図である。
【図２５】作図線分の描画処理が行われたＣＡＤ画面を示す図である。
【図２６】作図線分を基準線として操作面を設定するときＣＡＤ画面の概略を示す図である。
【図２７】回転軸を用いて操作面を設定するときのフローチャートである。
【図２８】回転軸を用いて操作面を設定するときＣＡＤ画面の概略を示す図である。
【図２９】描画処理とともに操作面を移動するときのＣＡＤ画面の概略を示す図である。
【図３０】他の実施例におけるオブジェクトの配置処理を示すフローチャートである。
【図３１】他の実施例における操作面４２０設定後のＣＡＤ画面を示す図である。
【図３２】他の実施例における操作面４２０を示す図である。
【図３３】第２の実施形態におけるオブジェクトの移動処理を示すフローチャートである。
【図３４ａ】第２の実施形態における操作面７５０設定後のＣＡＤ画面を示す図である。
【図３４ｂ】第２の実施形態における操作面７６０上におけるオブジェクトの移動処理を表すＣＡＤ画面を示す図である。
【図３５ａ】第三の実施形態における半透明な操作面を示す図である。
【図３５ｂ】第三の実施形態における半透明な操作面を示す図である。
【図３６】従来の技術の配管入力装置によるＣＡＤ画面の概略を示す図である。
【符号の説明】
１００・・・・ＣＡＤコンピュータ
１２６・・・・マウス・キーボード
１２８・・・・ディスプレイ
１４０・・・・ＣＡＤプログラム
１６０・・・・操作面生成モジュール
１６２・・・・図形処理モジュール
１６４・・・・視点位置移動モジュール
１６６・・・・ユーザ指令取得モジュール
【図１】
2004005575.tif 000003
【図２】
2004005575.tif 000004
【図３】
2004005575.tif 000005
【図４】
2004005575.tif 000006
【図５】
2004005575.tif 000007
【図６】
2004005575.tif 000008
【図７】
2004005575.tif 000009
【図８】
2004005575.tif 000010
【図９】
2004005575.tif 000011
【図１０】
2004005575.tif 000012
【図１１】
2004005575.tif 000013
【図１２】
2004005575.tif 000014
【図１３】
2004005575.tif 000015
【図１４ａ】
2004005575.tif 000016
【図１４ｂ】
2004005575.tif 000017
【図１５】
2004005575.tif 000018
【図１６】
2004005575.tif 000019
【図１７】
2004005575.tif 000020
【図１８】
2004005575.tif 000021
【図１９ａ】
2004005575.tif 000022
【図１９ｂ】
2004005575.tif 000023
【図２０】
2004005575.tif 000024
【図２１】
2004005575.tif 000025
【図２２ａ】
2004005575.tif 000026
【図２２ｂ】
2004005575.tif 000027
【図２３】
2004005575.tif 000028
【図２４ａ】
2004005575.tif 000029
【図２４ｂ】
2004005575.tif 000030
【図２５】
2004005575.tif 000031
【図２６】
2004005575.tif 000032
【図２７】
2004005575.tif 000033
【図２８】
2004005575.tif 000034
【図２９】
2004005575.tif 000035
【図３０】
2004005575.tif 000036
【図３１】
2004005575.tif 000037
【図３２】
2004005575.tif 000038
【図３３】
2004005575.tif 000039
【図３４ａ】
2004005575.tif 000040
【図３４ｂ】
2004005575.tif 000041
【図３５ａ】
2004005575.tif 000042
【図３５ｂ】
2004005575.tif 000043
【図３６】
2004005575.tif 000044