(57)【特許請求の範囲】
【請求項１】
仮想３次元空間において、図形処理を行う３次元空間図形処理装置であって、
操作者の操作入力を受ける操作入力部と、
対象図形の基準点または基準線に基づいて、前記仮想３次元空間に、当該対象図形と他の対象図形との位置関係を把握することのできる広がりを持つ１つの処理面を生成する処理面生成手段と、
操作者の操作入力を受けて、前記処理面を基準として、前記対象図形に関する処理を行う図形処理手段と、
少なくとも前記対象図形、前記処理面および前記対象図形に関する処理内容を表示する図形表示部とを備え、
前記処理面は、少なくとも対象図形と重なる部分において表示されないように、あるいは異なる色にて表示され、
前記対象図形に関する処理は、当該対象図形である線分の終点を始点とする新たな線分の描画処理であり、
前記処理面生成手段は、さらに、操作者の操作入力による処理面方向情報に基づいて、前記処理面の方向を変更し、
前記図形処理手段は、前記処理面上にて操作者により操作入力された描画位置を取得し、当該描画位置に基づいて、前記処理面上に線分を描き、
前記図形処理手段は、前記仮想３次元空間内にすでに存在する図形に、処理対象である線分を連結または結合し、
前記処理面生成手段は、操作者の操作入力を受けて、前記処理面を移動し、
前記図形表示部にて、視点位置を移動して表示し、
前記図形処理手段は、描画した線分の全部または一部の長さを算出することを特徴とする３次元空間図形処理装置。
【請求項２】
仮想３次元空間において図形処理を行う３次元空間図形処理装置を、コンピュータを用いて実現するためのプログラムであって、
対象図形の基準点または基準線に基づいて、前記仮想３次元空間に、当該対象図形と他の対象図形との位置関係を把握することのできる広がりを持ち、少なくとも対象図形と重なる部分においては、表示されずあるいは異なる色にて表示される１つの処理面を生成する処理面生成手段と、
操作者の操作入力を受けて、前記処理面を基準として、前記対象図形に関する処理を行う図形処理手段と、
をコンピュータによって実現するためのプログラムであって、
前記対象図形に関する処理は、当該対象図形である線分の終点を始点とする新たな線分の描画処理であり、
前記処理面生成手段は、さらに、操作者の操作入力による処理面方向情報に基づいて、前記処理面の方向を変更し、
前記図形処理手段は、前記処理面上にて操作者により操作入力された描画位置を取得し、当該描画位置に基づいて、前記処理面上に線分を描き、
前記図形処理手段は、前記仮想３次元空間内にすでに存在する図形に、処理対象である線分を連結または結合し、
前記処理面生成手段は、操作者の操作入力を受けて、前記処理面を移動し、
前記図形処理手段は、描画した線分の全部または一部の長さを算出することを特徴とするプログラム。
【請求項３】
仮想３次元空間において図形処理を行う３次元空間図形処理装置を、コンピュータを用いて実現するためのプログラムであって、
対象図形の基準点または基準線に基づいて、前記仮想３次元空間に、当該対象図形と他の対象図形との位置関係を把握することのできる広がりを持ち、少なくとも対象図形と重なる部分においては、表示されずあるいは異なる色にて表示される１つの処理面を生成する処理面生成手段と、
操作者の操作入力を受けて、前記処理面を基準として、前記対象図形に関する処理を行う図形処理手段と、
をコンピュータによって実現するためのプログラムであって、
前記対象図形に関する処理は、当該対象図形である線分の終点を始点とする新たな線分の描画処理であり、
前記処理面生成手段は、さらに、操作者の操作入力による処理面方向情報に基づいて、前記処理面の方向を変更し、
前記図形処理手段は、前記処理面上にて操作者により操作入力された描画位置を取得し、当該描画位置に基づいて、前記処理面上に線分を描き、
前記図形処理手段は、前記仮想３次元空間内にすでに存在する図形に、処理対象である線分を連結または結合し、
前記処理面生成手段は、操作者の操作入力を受けて、前記処理面を移動することを特徴とするプログラム。
【請求項４】
請求項２のプログラムにおいて、
前記図形表示部にて、前記対象図形に関する処理を行う度に、表示画面の中心位置に前記処理面を表示することを特徴とするもの。
【請求項５】
請求項２または４のプログラムにおいて、
前記図形表示部にて、前記処理面生成手段によって生成された前記処理面に対して垂直な方向から、表示することを特徴とするもの。
【請求項６】
請求項１ないし請求項５のいずれかの３次元空間図形処理装置またはプログラムにおいて、
前記図形表示部にて、前記仮想３次元空間内に、前記処理面の初期設定用の図形を表示し、
前記処理面生成手段は、当該図形を前記対象図形として、前記処理面を生成することを特徴とするもの。
【請求項７】
請求項１ないし請求項６のいずれかの３次元空間図形処理装置またはプログラムにおいて、
前記処理面は、平面状に生成された複数の点または線の集合であることを特徴とするもの。
【請求項８】
請求項１ないし請求項７のいずれかの３次元空間図形処理装置またはプログラムにおいて、
前記処理面は、所定の曲率半径を有する曲面状に生成された複数の点または線の集合であることを特徴とするもの。
【請求項９】
請求項１ないし請求項８の３次元空間図形処理装置において、
前記処理面は、処理面の裏側の図形が操作面を介して見えるように、半透明であることを特徴とするもの。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、仮想3次元空間において、図形の描画、移動等の処理を行う装置および方法に関し、特に、描画する図形と他の図形との相対的な位置関係を操作者が容易に把握できるようにして、より正確な設計を行うためのものである。
【０００２】
【従来の技術および解決しようとする課題】
今日、3次元形状の図形を描くための3次元CAD（Computer Aided Design）システムが多用されている。この3次元CADシステムでは、2次元の表示画面において、3次元投影座標上の奥行きを、操作者が正確に把握できないため、的確に作図方向、作図点を指定することが困難である。このような問題を解決するために、特開平9-73476号公報において、3次元投影図である作図案内図形を操作者に提示して、作図方向および作図点の指定を促す配管情報入力装置が開示されている。以下に、この装置を用いて、3次元空間に連続した線分を描画するときの処理について、図36を用いて説明する。
【０００３】
操作者による入力によって、座標条件、基準点800、作図象限の設定が行われる。この座標条件とは、3次元投影座標軸の条件であり、基準点とは、作図線分の始点である。作図象限とは、基準点からどの方向に線分を描くかを決定するための基準点を中心とする区分領域である。
【０００４】
配管入力装置は、設定された作図象限において、基準点800を一頂点とする立方体の斜投影図である作図案内図形820を表示する。操作者は、基準点800から線分を描画する方向を特定するため、その作図案内図形820の一頂点822を指定する（作図方向の指定）。配管入力装置は、その方向に作図方向矢線を表示し、その線上にて、操作者により指定された点802を作図点として、基準点800と作図点802間に線分812を描画する。
【０００５】
その後、作図点802を基準点として、作図象限の設定、作図案内図形830、840、850の表示、作図方向の指定および作図点804、806、808の指定が、繰り返し行われ、線分814、816、818を描くことができる。
【０００６】
しかしながら、上記の装置では、以下のような課題が生じている。第一に、作図案内図形820、830、840、850を用いても、基準点（または線分）と3次元空間に存在する他の図形（図示せず）との相対的な位置関係を、3次元空間において把握しなければならず、非常に困難である。第二に、操作者は、一の線分を描くために、作図象限の設定、作図方向の指定および作図点の指定をしなければならず、操作が煩雑である。第三に、作図案内図形820、830、840、850が、3次元空間に存在する他の図形と重なって表示される場合があるため、作図方向および作図点の指定が困難である。
【０００７】
この発明は、上記問題を解決し、描画する図形と他の図形との相対的な位置関係を操作者が容易に把握できるようにして、より正確な設計を行うための3次元空間図形処理装置および3次元空間図形処理方法を提供することを目的とする。
【０００８】
【課題を解決するための手段および発明の効果】
(1)  この発明の３次元空間図形処理装置は、仮想３次元空間において、図形処理を行う装置であって、操作者の操作入力を受ける操作入力部と、対象図形の基準点または基準線に基づいて、前記仮想３次元空間に、処理面を生成する処理面生成手段と、操作者の操作入力を受けて、前記処理面を基準として、前記対象図形に関する処理を行う図形処理手段と、少なくとも前記対象図形、前記処理面および前記対象図形に関する処理内容を表示する図形表示部とを備えたことを特徴としている。
【０００９】
これより、対象図形に関する処理において、当該対象図形と仮想3次元空間内の他の図形との相対的な位置関係を、処理面が形成する2次元平面上において把握することができる。また、2次元である処理面を基準として、対象図形に関する処理を行うため、その処理のための操作を簡易化することができる。さらに、2次元である処理面を利用するため、仮想3次元空間の奥行きを把握しやすくし、図形処理の的確化を図ることができる。
【００１０】
(4)  この発明の３次元空間図形処理装置では、前記対象図形は複数の図形を含み、事前に描画された図形に基づいて前記処理面を生成し、当該処理面を基準として、次の図形を描画することを特徴としている。これにより、対象図形を指定する操作を省くことによって、処理面の生成処理および対象図形に関する処理（描画処理）の迅速化を図ることができる。
【００１１】
(5)  この発明の３次元空間図形処理装置では、前記基準点は、直前に描画された図形の終点または始点であることを特徴としている。これにより、基準点を指定する操作を省くことによって、処理面の生成処理および対象図形に関する処理の迅速化を図ることができる。
【００１２】
(6)  この発明の３次元空間図形処理装置では、前記対象図形は、あらかじめ用意された図形から、操作者の操作によって選択されて、操作者の操作入力によって前記仮想３次元空間上に配置された図形であることを特徴としている。これにより、例えば、あらかじめ記憶する部品図データを読み込んで、仮想3次元空間上に当該部品図を配置することができる。
【００１３】
(7)  この発明の３次元空間図形処理装置では、前記対象図形に関する処理は、当該対象図形の終点を始点とする新たな図形の描画処理であることを特徴としている。これにより、対象図形の終点を始点とする図形を、迅速に描くことができる。例えば、複数の線分が連結する図形を、各線分ごとに連続して描くことができる。
【００１４】
(8)  この発明の３次元空間図形処理装置では、前記対象図形に関する処理は、当該対象図形を、前記処理面を基準として移動または変形する処理であることを特徴としている。これにより、処理面を利用して、対象図形を、所望の位置に、より的確に配置することができる。
【００１５】
(9)  この発明の３次元空間図形処理装置では、前記処理面生成手段は、さらに、操作者の操作入力による処理面方向情報に基づいて、前記処理面を生成することを特徴としている。これにより、基準点（または基準線）と処理面方向情報に基づいて、処理面を決定することができる。例えば、処理面方向情報を入力することにより、すでに生成されている処理面の方向を変更したり、これから生成する処理面の方向を設定することができる。
【００１６】
(10)  この発明の３次元空間図形処理装置では、前記基準点は、操作者によって選択された前記対象図形内または対象図形上の点であることを特徴としている。これにより、例えば、2次元の対象図形上や、3次元の対象図形内の所定位置を選択することにより、当該位置を基準点として、処理面を生成することができる。
【００１７】
(11)  この発明の３次元空間図形処理装置では、前記図形表示部にて、前記仮想３次元空間において、XY平面、YZ平面またはZX平面方向に、グランド面を表示することを特徴としている。これにより、グランド面をベースとして、仮想3次元空間内の奥行きを把握し易くすることができる。また、仮想3次元空間内の処理面や図形の位置を、グランド面が構成する平面（XY平面、YZ平面またはZX平面）上において把握することができる。
【００１８】
(12)  この発明の３次元空間図形処理装置では、前記処理面生成手段は、前記処理面方向情報として入力されたXY平面、YZ平面またはZX平面方向に、前記処理面を生成することを特徴としている。これにより、XY平面、YZ平面またはZX平面方向にあるグランド面と、処理面間の相対的な位置関係を確認することによって、仮想3次元空間内における処理面の位置を把握することができる。
【００１９】
(13)  この発明の３次元空間図形処理装置では、前記図形処理手段は、前記処理面上にて操作者により操作入力された描画位置を取得し、当該描画位置に基づいて、前記処理面上に図形を描くことを特徴としている。これにより、処理面上において、描画されていく図形を、随時視覚的に把握しながら、描画指令を入力することができる。
【００２０】
(14)  この発明の３次元空間図形処理装置では、前記図形処理手段は、前記仮想３次元空間内にすでに存在する図形に、処理対象である図形を連結または結合することを特徴としている。これにより、仮想3次元空間において、例えば、部品図の連結等を行うことができる。
【００２１】
(15)  この発明の３次元空間図形処理装置では、前記処理面生成手段は、操作者の操作入力を受けて、前記処理面を移動することを特徴としている。これにより、処理面を適当な位置に配置することにより、仮想3次元空間内の適当な位置に、図形を描画等することができる。
【００２２】
(16)  この発明の３次元空間図形処理装置では、前記図形表示部にて、視点位置を移動して表示することを特徴としている。これにより、処理面の生成処理と、視点位置の移動処理を併用することにより、対象図形に関する処理のための操作（図形の描画操作など）を簡易化することができる。
【００２３】
(17)  この発明の３次元空間図形処理装置では、前記図形表示部にて、前記対象図形に関する処理を行う度に、表示画面の中心位置に前記処理面を表示することを特徴としている。これは、例えば、描画した作図線分の終点が注視点となるようにするとともに、その終点位置が中心となるように処理面を生成（または移動）することにより、実現することができる。これにより、処理面が、図形表示部の表示画面から、大きくはみ出すような状態を回避することができる。また、仮想3次元空間に広大な図形を描く場合に、その操作を簡易化することができる。
【００２４】
(18)  この発明の３次元空間図形処理装置では、前記図形表示部にて、前記処理面生成手段によって生成された前記処理面に対して垂直な方向から、表示することを特徴としている。これにより、例えば、処理面上において2次元の図形を描画する場合に、当該図形の形状を容易に把握でき、当該描画操作を簡易化することができる。
【００２５】
(19)  この発明の３次元空間図形処理装置では、前記図形表示部にて、前記仮想３次元空間内に、前記処理面の初期設定用の図形を表示し、前記処理面生成手段は、当該図形を前記対象図形として、前記処理面を生成することを特徴としている。これにより、仮想3次元空間に対象図形が存在しない場合でも、初期設定用の図形を利用して、処理面を生成することができる。
【００２６】
(20)  この発明の３次元空間図形処理装置では、前記処理面は、平面状に生成された複数の点または線の集合であることを特徴としている。これにより、処理面の裏側にある図形の位置を、処理面を介して視覚的に把握することができる。
【００２７】
(21)  この発明の３次元空間図形処理装置では、前記処理面は、所定の曲率半径を有する曲面状に生成された複数の点または線の集合であることを特徴としている。これにより、当該処理面上に、所定の曲率半径を有する曲線を簡単に描くことができる。
【００２８】
(22)  この発明の３次元空間図形処理装置では、前記図形処理手段によって描画される図形は、1の線分または複数の線分の連結であることを特徴としている。これにより、例えば、ハーネスや配管等の設計に利用することができる。
【００２９】
(23)  この発明の３次元空間図形処理装置では、前記図形処理手段は、描画した線分の全部または一部の長さを算出することを特徴としている。これにより、例えば、ハーネスの設計において、簡単にハーネス長を知ることができる。
【００３０】
(24)  この発明の３次元空間図形処理装置では、前記グランド面は、所定の間隔を有する線または点の集合であることを特徴としている。これにより、処理面がグランド面に対して垂直な方向に生成された場合に、グランド面と処理面の交線から、処理面や、処理面上に描かれた図形の位置を把握することができる。
【００３１】
(25)  この発明の３次元空間図形処理装置では、前記処理面は、処理面の裏側の図形が操作面を介して見えるように、半透明であることを特徴としている。
【００３２】
これにより、操作面によって、視界が妨げられることを防止することができる。また、操作面とオブジェクトが交わる場合には、操作面の表側に存在するオブジェクトの部分（または、操作面の裏側に存在するオブジェクトの部分）を、容易に把握することができる。さらに、オブジェクトと操作面の交線が明確であり、オブジェクトと操作面との相対的関係を容易に把握することができる。
【００３３】
(27)  この発明の３次元空間図形処理装置は、仮想３次元空間において、図形処理を行う装置であって、操作者の操作入力を受ける操作入力部と、操作者の操作入力によって描画された図形の終点を含む処理面を、前記仮想３次元空間に生成する処理面生成手段と、操作者の操作入力を受けて、前記処理面上に、前記描画された図形の終点を始点とする新たな図形を描画する図形処理手段と、少なくとも前記描画された図形、前記処理面および前記新たな図形を表示する図形表示部とを備えていることを特徴としている。
【００３４】
これにより、終点と始点が同一である図形を連続して描画する場合（例えば、ハーネスや配管等の設計を行う場合）に、当該図形と仮想3次元空間内の他の図形との相対的な位置関係を、処理面が形成する2次元平面上において把握することができる。さらに、2次元である処理面上にて描画処理を行うため、その処理のための操作を簡易化することができる。
【００３５】
なお、この発明において、「処理面生成手段」とは、対象図形の基準点または基準線に基づいて処理面を生成する手段であり、下記の第1の実施形態では、図5BステップS322、S324、S326におけるCPU120の処理、図5AステップS182、S184、S186におけるCPU120の処理が該当する。第2の実施形態では、図33ステップS606、S614におけるCPU120の処理が該当する。なお、1つの基準点等に基づいて、1つの処理面を生成する場合に限られるものではなく、複数の処理面を生成する場合も含む概念である。
【００３６】
「図形処理手段」とは、処理面を基準として対象図形に関する処理を行う手段であり、下記の第1の実施形態では、図8ステップS304におけるCPU120の処理、図7ステップS264におけるCPU120の処理が該当する。第2の実施形態では、図33ステップS624におけるCPU120の処理が該当する。
【００３７】
「操作入力部」とは、操作者の操作入力を受け付けるものであり、下記の実施形態では、マウス／キーボード126に該当する。「図形表示部」とは、少なくとも対象図形、処理面および対象図形に関する処理内容を表示するものであり、下記の実施形態では、ディスプレイ128に該当する。
【００３８】
「対象図形」とは、処理面の生成処理における基準点または基準線を含む図形である。下記の第1の実施形態では、操作面420、430、440を生成するときの各作図線分620、640、660に、操作面410を生成するときのオブジェクトAに該当する。第2の実施形態では、操作面750、760を生成するときのオブジェクトEに該当する。
【００３９】
「対象図形に関する処理」とは、対象図形に基づいて行われる処理のことであり、その処理には、描画、移動、変形などを含む。下記の第1の実施形態では作図線分の描画処理に、第2の実施形態ではオブジェクトの移動処理に該当する。
【００４０】
「対象図形の基準点」とは、処理面の生成処理において基準となる点であって、対象図形内、対象図形上に限らず、対象図形外の点（対象図形と相対的な位置関係にある点）も含む概念である。「対象図形の基準線」とは、処理面の生成処理において基準となる線であって、対象図形内、対象図形上に限らず、対象図形外の線（対象図形と相対的な位置関係にある線）も含む概念である。例えば、対象図形である線分と所定間隔離れた平行な点や線も、対象図形の基準点、基準線となり得る。
【００４１】
「処理面」とは、対象図形の基準点または基準線に基づいて生成される面であり、下記の第1の実施形態では、操作面410、420、430、440に該当する。第2の実施形態では、操作面750、760に該当する。なお、当該処理面は、平面に限られるものではなく、曲面も含む概念である。
【００４２】
また、「操作面」は、透明な面や半透明な面も含む概念である。つまり、操作面の位置を認識できるとともに、その操作面の裏側に存在する図形も認識できるような操作面も含む概念である。
【００４３】
「処理面を基準として」として行う対象図形に関する処理には、処理面上で行われる当該処理に限らず、処理面を基準とする所定の位置において行われる当該処理も含む概念である。例えば、処理面と平行な平面上における作図線分の描画処理や、処理面に対する法線方向上における作図線分の描画処理などである。
【００４４】
「処理面方向情報」とは、生成される処理面の方向に関する情報であり、XY平面、YZ平面およびZX平面方向に限らず、任意の平面方向も含む概念である。下記第1の実施形態では、平面方向ボタン210、212、214にて入力される操作面方向条件（XY平面、YZ平面およびZX平面方向）に該当する。第2の実施形態では、さらに、図33ステップS612にて、ユーザにより入力される角度も該当する。「グランド面」とは、仮想3次元空間のXY平面、YZ平面またはZX平面方向を特定するものであり、下記の実施形態では、グランド面300に該当する。
【００４５】
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、CD-ROM、ハードディスク、メモリカード、ROM、パンチカード、テープ等を含む概念である。また、コンピュータによって直接実行可能なプログラムを記録した記録媒体だけでなく、一旦他の記録媒体（ハードディスク等）にインストールすることによって実行可能となるようなプログラムを記録した記録媒体や、暗号化されたり、圧縮されたりしたプログラムを記録した記録媒体を含む概念である。「プログラム」とは、CPUにより直接実行可能なプログラムだけでなく、ソース形式のプログラム、圧縮処理がされたプログラム、暗号化されたプログラム等を含む概念である。
【００４６】
【発明の実施の形態】
1.  第1の実施形態
以下に、ハーネス等の設計にあたり、連続して作図線分を描画するときの3次元図形処理装置について説明する。
【００４７】
1.1  機能ブロック図
図1に、第1の実施形態における3次元図形処理装置であるCADコンピュータ100の機能ブロック図を示す。操作入力部102は、ユーザから操作面方向条件を受け、処理面生成手段104は、作図線分の始点位置に、仮想3次元空間に操作面を生成する。図形処理手段106は、ユーザから作図線分の終点位置を受けて、操作面上に作図線分の描画処理を行う。図形表示部108は、操作面、作図線分等を表示する。
【００４８】
1.2  CADコンピュータ100のハードウエア構成
図2Aに、CADコンピュータ100のハードウエア構成を示す。CADコンピュータ100は、CPU120とバスラインを介して接続されたハードディスク122、メモリ124、マウス・キーボード126、ディスプレイ128、フレキシブルディスク・ドライブ130、CD-ROMドライブ132などを備えている。
【００４９】
ハードディスク122には、CADプログラム140、後述するオブジェクトA〜Dの配置位置、形状データを記憶するオブジェクトファイル142、オペレーティングシステム（OS）144などが記憶されている。このCADプログラム140は、操作面生成モジュール160、図形処理モジュール162、視点位置移動モジュール164、ユーザ指令取得モジュール166等からなる（図2B参照）。なお、CADプログラム140、オブジェクトファイル142は、CD-ROMドライブ132を介してCD-ROM134等からインストールされたもの、または通信回線を介してダウンロードされたものである。
【００５０】
ユーザ指令取得モジュール166は、マウス・キーボード126を介してユーザからの操作面方向条件や作図線分の終点位置などを取得し、操作面生成モジュール160、図形処理モジュール162に与えるものである。操作面生成モジュール160は、後述する「初期操作面の設定処理」、「操作面の設定処理」、「操作面の移動処理」を行うものである。
【００５１】
視点位置移動モジュール164は、ユーザ指令取得モジュール166を介して取得した視点位置情報に基づいて、後述する「視点位置の移動処理」、「注視点の移動処理」を行うものである。図形処理モジュール162は、後述する「作図線分の描画処理」、「作図線分の一時表示処理」、「始点の描画処理」を行うものである。
【００５２】
1.3  目標とする設計図
図3Aに、この実施形態における目標とする設計図（斜視図）の一例を示す。また、図3B、図3Cに、それぞれYZ平面、ZX平面への投影図を示す。これらの図に示すように、3次元空間において、オブジェクトA〜Dが存在する。オブジェクトAの側面から、オブジェクトBとオブジェクトCに当たらないようにその間を通り、オブジェクトDの下面につながる作図線分620、640、660、680を描くことを目標とする。
【００５３】
1.4  処理内容
図4〜図9に、図3に示す作図線分620、640、660、680を描画するときの、CADプログラム140に基づくCPU120のフローチャートを示す。まず、CPU120は、図10に示す初期画面を表示する（図4ステップS10）。この初期画面は、主に、描画図形を表示するためのメインエリア200と、ユーザが後述する操作面の方向を設定するためのボタン210、212、214、操作面の移動を指示するための操作面移動ボタン216、視点位置の移動方法を設定するためのボタン220、222、224、描画指令を入力するための作図ボタン230等からなる。
【００５４】
メインエリア200には、XY平面方向にグランド面300と、初期案内図形310が表示される。グランド面300は、仮想3次元空間のXY平面方向を特定するものであり、その面はマス目状に表示されている。初期案内図形310は、その中心はグランド面300上にあり、グランド面300に平行な上面、下面をもつ立方体の斜視図である。
【００５５】
次に、ユーザは、グランド面300で形成される仮想3次元空間において、オブジェクトA〜Dのオブジェクト配置ボタン240をクリックする。この指令を受けて、CPU120は、図11に示すオブジェクトファイル142にて、各オブジェクトA〜Dの配置位置、形状データを読み込んで、仮想3次元空間内に、各オブジェクトA〜Dを配置する（図12参照）（図4ステップS12）。なお、図12以降の図面において、初期案内図形310は図面上に記していない。
【００５６】
次に、ユーザは、図3Aに示す作図線分620を描画するための操作面設定指令を入力する。つまり、XY平面方向に操作面を設定するためのXY平面方向ボタン210をクリックする（図4ステップS14：初期操作面の設定指令）。この指令を受けて、CPU120は、図5Aに示す「初期操作面の設定処理」を実行する（図4ステップS18）。
【００５７】
この処理では、CPU120は、ユーザにより指定された操作面方向条件（XY平面方向）を取得し、その方向であって、初期案内図形310の中心位置に操作面400を表示する（図13参照）（図5AステップS180、S182）。この操作面400は、図12に示す状態において、初期案内図形310の中心はグランド面300上にあるので、グランド面300と重なることになる。なお、この操作面400は、各XY座標点の位置にマーク（丸印）を表示することによって、生成される。
【００５８】
次に、ユーザは、作図線分の始点500となる位置（オブジェクトAの側面の所定位置）が操作面上にくるように、操作面400を移動させる指令を入力する（図4ステップS20：操作面の移動指令）。この指令は、操作面移動ボタン216をクリックし、マウスをドラッグ操作することにより行われる。この指令を受けて、CPU120は、図6Aに示す「操作面の移動処理」を実行する（図4ステップS22）。
【００５９】
この処理では、CPU120は、マウスの移動位置を取得し、操作面400を平行移動させる（図6AステップS220、S222）。平行移動後の図面を図14aに示す。なお、平行移動後の操作面を操作面410と記し、図14bにZX平面への投影図を示す。
【００６０】
次に、ユーザは、オブジェクトAの側面の所定位置に作図線分の始点500を描画するための指令を入力する。つまり、作図ボタン230をクリックし、さらに、オブジェクトAの側面と操作面410の交線上の所定位置をクリックする（図4ステップS20：作図線分の始点の描画指令）。この指令を受けて、CPU120は、図7に示す「始点の描画処理」を実行する（図4ステップS26）。
【００６１】
この処理では、CPU120は、クリックされた位置を取得し、操作面410上に始点500を青色で描画する（図7ステップS260、S264）。さらに、描画した始点500が、注視点となるように（メインエリア200の中心位置に表示されるように）、表示画面を切り換える（図7ステップS266）。
【００６２】
次に、ユーザは、図14aの視覚方向から、右回りに約90度回転した方向に視覚方向を移動する指令を入力する。この指令は、視点位置の移動方法を選択するための回転ボタン220、平行移動ボタン222、拡大・縮小ボタン224のうち、回転ボタン220をクリックし、マウスのドラッグ操作により行う（図4ステップS28：視点位置の移動指令）。この指令を受けて、CPU120は、図9に示す「視点位置の移動処理」を実行する（図4ステップS38）。
【００６３】
この処理では、CPU120は、マウスの移動位置を取得し、ユーザにより選択された移動方法（回転）に基づいて、視点位置を移動して図面を表示する（図15参照）（図9ステップS380〜S384）。
【００６４】
次に、ユーザは、オブジェクトBの側面から離れた位置に終点がくるような作図線分を描くために、終点位置の検討を行う。つまり、仮想3次元空間において、作図線分の終点位置をマウスポインタで移動させながら、作図線分とオブジェクトBとの相対的な位置関係を操作面410上において把握する（図4ステップS28：作図線分の一時表示指令）。この際、CPU120は、図6Bに示す「作図線分の一時表示処理」を実行する。
【００６５】
この処理では、CPU120は、マウスポインタの位置を随時取得して、作図線分630を白色で表示する（図16参照）（図6BステップS340、S342）。
【００６６】
次に、ユーザは、オブジェクトBの側面から離れた位置に、作図線分620を描くための指令を行う。つまり、上記処理で白色で表示される作図線分630のうち、オブジェクトBの側面から離れた操作面410上の適当な位置をクリックする（図4ステップS28：作図線分の描画指令）。この指令を受けて、CPU120は、図8に示す「作図線分の描画処理」を実行する（図4ステップS30）。
【００６７】
この処理では、CPU120は、クリックされた位置を作図線分の終点位置として取得し、その位置に作図線分の終点520を青色で描画するとともに、その終点520と始点500間に作図線分620を青色で描画する（図17参照）（図8ステップS300、S304）。さらに、終点520が注視点となるように、表示画面を切り換え、描画した作図線分620の終点520を、次に描画する作図線分640の始点とする（図8ステップS306、S308）。
【００６８】
次に、ユーザは、図17の視覚方向から、少し右回り回転した方向であって、下方向に、視覚方向を移動するための視点位置移動指令を入力する（図4ステップS28）。この指令を受けて、CPU120は、図9に示す「視点位置の移動処理」を実行する（図4ステップS38）。図18に、視点位置移動後の図面を示す。
【００６９】
次に、ユーザは、YZ平面方向に操作面を設定するために、YZ方向ボタン212をクリックする（図4ステップS28：操作面の設定指令）。この指令を受けて、CPU120は、図5Bに示す「操作面の設定処理」を実行する（図4ステップS32）。
【００７０】
この処理では、CPU120は、ユーザにより指定された操作面方向条件（YZ平面方向）を取得し、現在のXY平面方向の操作面410に代えて、YZ平面方向であって、作図線分の始点位置520に操作面420を表示する（図19a、図19b参照）（図5BステップS320、S324）。なお、この操作面420は、各YZ座標点の位置にマーク（丸印）を表示することによって、生成される。
【００７１】
次に、ユーザは、作図線分の終点位置をマウスポインタで移動させながら、作図線分とオブジェクトCとの相対的な位置関係を操作面420上において把握する（図4ステップS28：作図線分の一時表示指令）。この際、CPU120は、マウスポインタの位置を随時取得して、作図線分を白色で表示する（図示せず）（図4ステップS34：「作図線分の一時表示処理」）。
【００７２】
次に、ユーザは、オブジェクトCの下面から離れた操作面420上の適当な位置をクリックする（図4ステップS28：作図線分の描画指令）。この指令を受けて、CPU120は、操作面420上に作図線分の終点540および作図線分640を、青色で描画する（図20参照）（図4ステップS30：「作図線分の描画処理」）。上記と同様に、描画した終点540が注視点となるように、表示画面を切り換え、描画した作図線分640の終点540を、次に描画する作図線分660の始点とする。
【００７３】
次に、ユーザは、図20の視覚方向から、左回りに約90度回転した方向であって下方向に、視覚方向を移動るための視点位置移動指令を入力する（図4ステップS28）。この指令を受けて、CPU120は、図9に示す「視点位置の移動処理」を実行する（図21参照）（図4ステップS38）。
【００７４】
次に、ユーザは、XY平面方向に操作面を設定するために、XY平面方向ボタン210をクリックする（図4ステップS28：操作面の設定指令）。この指令を受けて、CPU120は、現在のYZ平面方向の操作面420に代えて、XY平面方向であって、作図線分の始点位置540に操作面430を表示する（図4ステップS32：「操作面の設定処理」）。図22aに、視点位置移動後の図面を示す（図22bの投影図参照）。
【００７５】
次に、ユーザは、視点位置を移動させながら、操作面430上で、作図線分の終点位置をマウスポインタで移動させ、以後に描画する作図線分（680）を考慮して、当該作図線分とオブジェクトC、Dとの相対的な位置関係を、操作面430を利用して把握する。この際、CPU120は、マウスポインタの位置を随時取得して、作図線分を白色で表示する（図示せず）（図4ステップS34：「作図線分の一時表示処理」）。
【００７６】
次に、ユーザは、以後に描画する作図線分（680）が、オブジェクトCに当たず、かつ、オブジェクトDの下面にその終点が描けるように、操作面430上の所定位置をクリックする（図4ステップS28：作図線分の描画指令）。この指令を受けて、CPU120は、操作面430上に作図線分の終点560および作図線分660を、青色で描画する（図23参照）（図4ステップS30：「作図線分の描画処理」）。上記と同様に、描画した終点560が注視点となるように、表示画面を切り換え、描画した作図線分660の終点560を、次に描画する作図線分680の始点とする。
【００７７】
次に、ユーザは、ZX平面方向に操作面を設定するために、ZX平面方向ボタン214をクリックする（図4ステップS28：操作面の設定指令）。この指令を受けて、CPU120は、現在のXY平面方向の操作面430に代えて、ZX平面方向であって、作図線分の始点位置560に操作面440を表示する（図24a、図24b参照）（図4ステップS32：「操作面の設定処理」）。
【００７８】
次に、ユーザは、操作面440とオブジェクトDの下面の交線上の所定位置をクリックする（図4ステップS28：作図線分の描画指令）。この指令を受けて、CPU120は、操作面440上に作図線分の終点580および作図線分680を、青色で描画する（図25参照）（図4ステップS30：「作図線分の描画処理」）。
【００７９】
次に、ユーザは、所望の視覚方向から最終的な図面を確認するために、視点位置の移動指令を入力する（図4ステップS28）。この指令を受けて、CPU120は、当該視覚方向から図面を表示する（図示せず）（図4ステップS38：「視点位置の移動処理」）。ユーザは、各作図線分620、640、660、680と各オブジェクトA〜D間の相対的な位置関係を確認すると、描画の終了指令を入力する（図4ステップS40）。
【００８０】
なお、図4ステップS14において、ユーザから視点位置の移動指令がなされれば、CPU120は、図4ステップS16の「視点位置の移動処理」（図9に示すルーチン処理）を実行する。図4ステップS20において、ユーザから視点位置の移動指令がなされれば、CPU120は、図4ステップS24の「視点位置の移動処理」（図9に示すルーチン処理）を実行する。図4ステップS28において、ユーザから操作面の移動指令がなされれば、CPU120は、図4ステップS36の「操作面の移動処理」（図6Aに示すルーチン処理）を実行する。
【００８１】
1.5  他の実施例
(1)操作面の方向について
この実施形態では、操作面方向条件を設定するために、XY平面方向ボタン210、YZ平面方向ボタン212、ZX平面方向ボタン214が用意されており、ユーザの選択操作により、操作面の方向を決定している。しかしながら、ユーザによるマウスのドラッグ操作により、操作面の方向を決定してもよい。また、この実施形態では、XY平面、YZ平面またはZX平面方向に操作面を設定しているが、これらの平面方向に限られるものではなく、任意の平面方向でもよい。この場合、操作面の方向の角度を表示するとよい。
【００８２】
(2)操作面の設定位置について
この実施形態では、作図線分の始点位置（直前に描画した作図線分の終点位置）に操作面を設定している（図5BステップS322〜S326）。しかしながら、これに限られるものではない。例えば、直前に描画した作図線分の始点位置、中点位置、またはその作図線分上の任意の点（例えば、ユーザにより指定された点）であってもよい。
【００８３】
また、直前に描画し終えた作図線分自体を基準線として、操作面を設定してもよい。例えば、図26に示す状態において、作図線分702を中心に生成される操作面704、706等から、任意の方向の操作面をユーザが特定することによって、操作面を設定する。なお、直前に描画し終えた作図線分に限られるものではなく、それ以前に描画した作図線分を基準線としてもよい。
【００８４】
また、仮想3次元空間内のオブジェクト内またはその平面上の任意の点（例えば、オブジェクトの重心）、または任意の線を基準として、操作面を設定してもよい。また、描画した作図線分やオブジェクト等に対して相対的な位置関係にある任意の点や、任意の線（例えば、作図線分に平行な線）を基準として、操作面を設定してもよい。
【００８５】
(3)操作面の表示ついて
この実施形態では、新たな操作面が設定された場合には、直前に生成した操作面に代えて（その操作面の表示を消去して）、当該新たな操作面を表示する場合を一例として説明している。しかしながら、新たな操作面を表示する場合でも、以前の操作面の表示を残しておいてもよい。つまり、複数の操作面が同時に表示されることになる。
【００８６】
(4)操作面の設定処理について
この実施形態では、作図線分の始点位置と、ユーザにより選択された操作面方向条件（XY平面、YZ平面、ZX平面方向）に基づいて、操作面を設定している（図5BステップS320〜S326）。しかしながら、これに限られるものではない。例えば、(a)ユーザにより入力された3点の3次元座標値、(b)ユーザにより入力された2点の3次元座標値および作図線分の始点位置、(c)ユーザにより入力された1点の3次元座標値および操作面方向条件に基づいて、操作面を設定することができる。
【００８７】
また、図27に示すフローチャートにしたがって操作面を設定、移動してもよい。つまり、図28Aに示すように、操作面712を回転するための回転軸710（xｙｚ軸）を表示し（図27ステップS400）、操作面712の回転軸と回転角度の入力をユーザに対して促す。ユーザにより回転軸が選択され、回転角度が入力されると（図27ステップS402）、その回転軸と回転角度に基づいて新たな操作面を表示する（図27ステップS404、S406）。例えば、回転軸としてｚ軸が選択された場合には、図28Bに示す操作面714が設定される。なお、回転軸710を表示せずに、操作面の回転を指令するためのボタンをクリックし、マウスの操作により、操作面を回転させてもよい。
【００８８】
(5)注視点の移動処理について
この実施形態では、「作図線分の描画処理（図4ステップS30）」において、作図線分を描画した後（図8ステップS304）、注視点の移動処理を行っている（図8ステップS306）。しかしながら、この注視点の移動処理を行わなくてもよい。また、ユーザの指令にしたがって、注視点の移動処理を行ってもよい。
【００８９】
(6)操作面の移動について
この実施形態における「作図線分の描画処理（図4ステップS30）」において、描画した作図線分の終点位置が、操作面の中心となるように、操作面の平行移動を行ってもよい。これは、生成される操作面が、表示画面に対して小さいような場合に有効である。例えば、図29に示すように、始点722を中心とする操作面726が表示されている状態において、終点724とする作図線分720を描画した場合、その終点724を中心とする操作面728を、操作面726に代えて表示する。つまり、描画処理とともに操作面の平行移動を行う。なお、この操作面の平行移動処理とともに、注視点の移動処理（図8ステップS306）を行うことにより、表示画面の中心位置に操作面を自動的に表示することができる。
【００９０】
(7)視点位置の自動移動処理について
この実施形態では、CPU120は、図8ステップS306における注視点の移動処理以外は、ユーザからの指令を受けて、視点位置の移動処理を行っている（図4ステップS16、S24、S38）。しかしながら、新たに操作面を生成する度に（図5BステップS322〜S326）、その操作面の位置を基準として視点位置を自動的に移動する処理を行ってもよい。例えば、新たに操作面を生成する度に、当該操作面に対して垂直な方向から、当該操作面等を自動的に表示する。特に、この処理を注視点の移動処理とともに行うことにより、視点位置の移動指令のためのユーザの操作を省くことができ、操作の煩雑化を避けることができる。
【００９１】
また、この実施形態では、視点位置の移動処理（図4ステップS16、S24、S38）を実行する機能を備えているが、この機能を備えていないものでもよい。
【００９２】
(8)視点位置の移動指令について
この実施形態では、ユーザは、回転ボタン220、平行移動ボタン222または拡大・縮小ボタン224をクリックし、マウスのドラッグ操作により、視点位置の移動指令を入力している。しかしながら、回転角度や平行移動距離、視点と注視点間の距離の入力を行うことにより、視点位置の移動指令を入力してもよい。また、回転ボタン220をクリックする代わりに、キーボードの特定のキーを押しながら、マウスのドラッグ操作を行うことにより、視点位置の移動指令を入力してもよい。
【００９３】
(9)作図線分の描画指令について
この実施形態では、描画図形として線分を一例として説明しているため、マウスポインタにより指定された線分の終点位置を取得することにより、作図線分の描画処理を行っている（図8ステップS300、S304）。しかしながら、これに限られるものではなく、操作面上にて、マウスのドラッグ操作によるマウスの移動軌跡を描画図形として、描画処理を行ってもよい。
【００９４】
(10)描画図形について
この実施形態では、描画図形として線分を一例として説明している。しかしながら、これに限られるものではなく、任意の平面図形についてこの発明を適用することができる。例えば、S字形の図形を描画した場合、その図形の終点、またはその図形上の任意の点を基準として、操作面を設定する。
【００９５】
また、任意の3次元形状の斜視図等について、この発明を適用することができる。例えば、円柱を斜視図で描画した場合、その図形上の任意の点（側面、上面、底面上の任意の点）、またはその図形内の任意の点を基準として、操作面を設定する。
【００９６】
(11)オブジェクトの配置処理について
この実施形態では、CPU120が、図11に示すオブジェクトファイル142にて、各オブジェクトA〜Dの配置位置、形状データを読み込んで、仮想3次元空間内に、各オブジェクトA〜Dを配置している（図4ステップS12）。しかしながら、仮想3次元空間内にて、ユーザが指定する位置にオブジェクトを配置するようにしてもよい。例えば、初期案内図形310を配置カーソルとして利用するときのCPU120の処理の一例を図30に示す。
【００９７】
CPU120は、オブジェクトファイル142から、ユーザから選択されたオブジェクトの形状データを読み込んで、オブジェクトを初期案内図形310の中心位置に表示する（図30ステップS500、S502）。CPU120は、ユーザによりオブジェクトの配置指令を受けて（図30ステップS504）、マウスポインタにより移動対象となるオブジェクトが特定されると（図30ステップS506）、ユーザによるマウスのドラッグ操作に基づくマウスの移動位置を取得して（図30ステップS508）、オブジェクトを移動し、配置する（図30ステップS510）。なお、オブジェクトの配置位置データとして、キーボードを介して入力された座標値を取得して、オブジェクトを配置してもよい。
【００９８】
(12)操作面について
この実施形態では、操作面は、それと平行な座標面の各座標点にマーク（丸印）を表示することによって、生成される。例えば、ZX平面に平行な操作面ならば、各ZX座標点の位置にマークが表示されることによって、操作面が生成される。しかしながら、これに限られるものではなく、一様な色彩が施された平面によって、操作面を生成してもよい。特に、操作面の裏側に存在するオブジェクト等を、操作面を介して見えるようにするため、透明な色彩が好ましい。また、グランド面300のように、マス目状に表示してもよい。
【００９９】
また、操作面には、厚みを設けないことが好ましい。例えば、ZX平面に平行な操作面を生成するならば、YZ平面に垂直な方向からそれを表示した場合に、操作面が細い直線で表示されるか、または全く表示されないようにすることが好ましい。これは、できるだけ操作面によって、視界が妨げられることを防止するためである。
【０１００】
また、操作面は、平面に限らず、所定の曲率半径を有する曲面であってもよい。この場合、例えば、ユーザにより、その曲面上に作図線分の終点位置が指定されれば、始点と終点間を結ぶ曲面に沿った曲線のうち、その距離が最短になるように曲線を描くことが好ましい。このようにすれば、平面状である操作面上に曲線を描画するための操作入力よりも、曲面状である操作面上に曲線を描画するための操作入力の方が、簡易なため、曲面の方が有効な場合もある。なお、操作面の形状情報（例えば、曲率半径、操作面の大きさ等）を記憶する操作面情報テーブルをあらかじめ備え、その情報に基づいた操作面を設定するようにしてもよい。
【０１０１】
また、この実施形態では、オブジェクトA〜D内に存在する操作面の部分（オブジェクトと操作面が重なる部分）は、表示していない。しかしながら、その部分を表示してもよい。例えば、図19aに示す状態において、オブジェクトC、Dと操作面が重なる部分を表示すると、図31に示すようになる。また、オブジェクトとC、Dと操作面が重なる部分を、色を換えて表示してもよい。
【０１０２】
また、操作面を構成するマークは、丸印に限られるものではなく、花印、×印、□印などあってもよい（花印の一例を図32に示す）。なお、ユーザの指令によって、操作面の表示方法（模様の種類等）を、任意に変更できるようにしてもよい。
【０１０３】
(13)操作面の位置、方向データの記憶について
この実施形態において、一連の描画処理において生成した操作面の位置、方向データを、CPU120が、メモリ124等に記憶しておいてもよい。これにより、ユーザが、一旦描画した作図線分を訂正したい場合などに、以前生成した操作面を再度表示し、訂正処理の迅速化を図ることができる。
【０１０４】
(14)対象図形に関する処理について
この実施形態では、対象図形（直前に描画された作図線分）に関する処理として、直前に描画された作図線分の終点を始点として、新たに作図線分を描画する場合を一例として説明している。しかしながら、これに限られるものではなく、対象図形（直前に描画された作図線分）を変形する処理であってもよい。例えば、直前に描画された作図線分の長さや方向を、再度描画し直す処理である。
【０１０５】
(15)作図線分の長さの算出処理について
この実施形態における図形処理モジュール162は、ユーザから作図線分の長さの算出指令を受けて、描画した作図線分の全長を算出する機能を備えていてもよい。また、ユーザから特定された作図線分（描画した作図線分の一部分）の長さを算出する機能を備えていてもよい。
【０１０６】
(16)グランド面300について
この実施形態では、グランド面300は、XY平面方向の平面であるが、YZ平面またはZX平面方向の平面であってもよい。また、この実施形態では、グランド面300は、マス目状の平面であるが、所定の間隔を有する点の集合や、一様な色彩や模様が施された平面であってもよい。また、この実施形態では、グランド面300を設ける場合について説明しているが、グランド面300を設けなくてもよい。
【０１０７】
(17)初期操作面の設定処理について
この実施形態では、初期案内図形310の中心位置に初期操作面400を設定しているが（図5AステップS182〜S186）、これに限られるものではなく、ユーザの指定位置や、あらかじめ定められた位置に初期操作面を設定してもよい。また、当初から初期操作面が、所定位置に設定されていてもよい。
【０１０８】
(18)線分の描画位置について
この実施形態では、操作面上に線分を描画する場合を一例として説明している。しかしながら、操作面に対して法線方向に線分を描画できるようにしてもよい。また、操作面に対して平行な方向に、線分を描画できるようにしてもよい。
【０１０９】
(19)仮想3次元空間について
この実施形態では、直交座標XYZ軸で表される3次元空間における図形処理を一例として説明しているが、極座標で表される3次元空間における図形処理についても、この発明を適用することができる。また、直交座標XYZ軸であっても、各軸の方向は、図3等で示すものに限られるものではない。
【０１１０】
(20)部品図の連結、組立について
この実施形態では、対象図形に関する処理として、連続して作図線分を描画する場合を一例として説明している。しかしながら、あらかじめ部品の形状データ等を記憶する部品ファイルを用意し、それから部品図を抽出して仮想3次元空間内に配置することにより、部品図の連結、組立を行う場合にも、この発明を適用することができる。つまり、操作面を利用して、部品図の連結等を行うことにより、処理対象となる部品図と仮想3次元空間内の他の図形との相対的な位置関係を、操作面上において把握することができ、また、仮想3次元空間の奥行きを把握し易くすることができる。これは、配管等を設計する場合に、特に有用である。
【０１１１】
また、この部品図の配置処理と、図形（線分など）の描画処理を併用する場合にも、この発明を適用することができる。例えば、ハーネスの設計において、部品ファイルから、あらかじめ形状が定めれたコネクタを所定位置に配置し、そのコネクタを作図線分の始点として、上述の作図線分の描画処理、操作面の設定処理等を行う。
【０１１２】
(21)応用例について
この発明は、ハーネスや配管その他生産ラインの設計等に適用することができる。上記の実施形態では、作図線分（ハーネス）がオブジェクト（オブジェクトB、C）を避けるように設計しているが、作図線分が、オブジェクト内を通過するようにしてもよい。また、作図線分が、オブジェクトの面に沿って配置されるようにしてもよい。また、作図線分が、オブジェクトの面から一定の距離で配置されるようにしてもよい。
【０１１３】
(22)作図線分の色表示について
この実施形態では、作図線分の一時表示のときには白色で表示し（図6BステップS342）、作図線分を最終的に描画するときには青色で表示してる（図8ステップS304）。しかしながら、これらの色に限定されるものではない。
【０１１４】
2.  第2の実施形態
以下に、操作面上においてオブジェクトの移動を行うときの3次元図形処理装置について説明する。この実施形態におけるCADコンピュータ100のハードウエアの構成は、基本的に第1の実施形態のものと同様である。なお、第1の実施形態では、XY平面、YZ平面またはZX平面方向のいずれかの方向に、操作面が設定されるが、この実施形態では、さらに、グランド面300に対する角度を入力することにより、任意の方向に操作面を設定することができる機能を有する。
【０１１５】
図33に、CADプログラム140に基づくCPU120のフローチャートを示す。まず、仮想3次元空間内にオブジェクトEが配置された状態において（図34a参照）、ユーザは、オブジェクトEをマウスポインタにより特定する（オブジェクトの特定指令）（図33ステップS600）。この指令を受けて、CPU120は、オブジェクトEを赤色表示する（図33ステップS602）。
【０１１６】
次に、ユーザは、操作面方向条件を設定するためのボタン210、212、214のいずれかをクリックする（図33ステップS604）。この実施形態では、XY平面方向ボタン210がクリックされた場合について説明する。この指令を受けて、CPU120は、XY平面方向であって、オブジェクトEの中心位置に操作面750を表示する（図33ステップS606）。
【０１１７】
次に、ユーザは、グランド面300に対して所定の角度を有する操作面を設定するために、操作面角度入力ボタン250をクリックする（図33ステップS608）。この指令を受けて、CPU120は、ウインドウを表示して（図示せず）、グランド面300に対する操作面の角度の入力を促す（図33ステップS610）。
【０１１８】
ユーザは、そのウインドウにおいて、グランド面300に対する角度を入力する（図33ステップS612）。この実施形態では、グランド面300に対する角度として30度が入力された場合について説明する。CPU120は、入力角度30度を取得して、グランド面300に対して角度30度を有する操作面760を表示する（図34b参照）（図33ステップS614）。
【０１１９】
次に、ユーザは、オブジェクト移動ボタン260をクリックして（オブジェクトの移動指令）、オブジェクトEをマウスポインタにより特定する（図33ステップS616、S618）。この指令を受けて、CPU120は、オブジェクトEを青色表示する（図33ステップS620）。
【０１２０】
次に、ユーザは、マウスを操作して、操作面760上において、オブジェクトEの移動目標位置をクリックする。この際、CPU120は、マウスの移動目標位置を取得し（図33ステップS622）、操作面760上の移動目標位置にオブジェクトEの中心が合致するように、オブジェクトEを移動させる（図33ステップS624）。このように、操作面を利用して、オブジェクトの移動処理を行えば、奥行きの把握が困難な3次元空間においても、操作面上でオブジェクトを的確な位置に移動させることができるため、オブジェクト間の結合（例えば、コネクタのオスとメスの嵌合など）を行う際において有効である。
【０１２１】
なお、この実施形態では、操作面760上の移動目標位置を指定することによりオブジェクトEをその位置に移動させているが、マウスのドラッグ操作により、操作面760上をオブジェクトEが移動するようにしてもよい。
【０１２２】
また、この実施形態では、グランド面300に対する操作面の角度を入力することにより、任意の方向の操作面を設定しているが、マウスのドラッグ操作により、任意の方向の操作面を設定してもよい。また、この実施形態では、マウス操作により、操作面760上の移動目標位置をクリックすることにより、オブジェクトEの移動位置を入力しているが、移動距離の入力や、特定の座標軸方向における移動距離の入力（例えば、X軸方向の移動距離）などによって、オブジェクトEの移動位置を入力してもよい。
【０１２３】
また、この実施形態では、オブジェクトEの中心位置に操作面を設定しているが、オブジェクトE内の任意の点、線または面を基準として、操作面を設定してもよい。例えば、ユーザによりオブジェクトの下面が指定されれば、その下面を含む操作面が設定され、その操作面上をオブジェクトが移動する。
【０１２４】
また、この実施形態では、グランド面300に対する角度を入力することにより、任意の方向の操作面を設定しているが、各X軸、Y軸、Z軸に対する角度を入力することにより、任意の方向の操作面を設定してもよい。
【０１２５】
また、この実施形態では、グランド面300を設ける場合について説明しているが、グランド面300を設けなくてもよい。この場合、例えば、XY平面に対する角度を入力することにより、任意の方向に操作面を設定することができる。
【０１２６】
3.  第3の実施形態
この実施形態では、操作面の他の形態の一例を示す。上述の第一、第二の実施形態では、操作面は、マーク（丸印）を表示することによって生成される。しかしながら、図35Aに示す半透明の面であってもよい。これにより、操作面の裏側に存在するオブジェクト等を、操作面を介して見ることができ、操作面によって、視界が妨げられることを防止することができる。また、操作面780とオブジェクト790が交わる場合には（図35A参照）、操作面780の表側に存在するオブジェクト790の部分（または、操作面780の裏側に存在するオブジェクト790の部分）を把握し易くすることができる。
【０１２７】
さらに、オブジェクト790と操作面780の交線が明確であり、オブジェクト790と操作面780との相対的関係が把握しやすい。なお、操作面には、厚みを設けないことが好ましい。また、図35Bに示すように、操作面にマス目を付してもよい。
【図面の簡単な説明】
【図１】第1の実施形態における機能ブロック図を示す図である。
【図２】第1の実施形態におけるCADコンピュータ100のハードウエア構成、CADプログラム140の構成を示す図である。
【図３】第1の実施形態における目標とする設計図を示す図である。
【図４】  CADプログラム140に基づくCPU120の処理を示すフローチャートである。
【図５】初期操作面、操作面の設定処理を示すフローチャートである。
【図６】操作面の移動処理、作図線分の一時表示処理を示すフローチャートである。
【図７】始点の描画処理を示すフローチャートである。
【図８】作図線分の描画処理を示すフローチャートである。
【図９】視点位置の移動処理を示すフローチャートである。
【図１０】初期画面を示す図である。
【図１１】オブジェクトファイル142を示す図である。
【図１２】オブジェクトA〜Dの配置後のCAD画面を示す図である。
【図１３】初期操作面400設定後のCAD画面を示す図である。
【図１４ａ】初期操作面400移動後（操作面410設定後）のCAD画面を示す図である。
【図１４ｂ】操作面410設定後のZX平面への投影図である。
【図１５】操作面410設定後のCAD画面を示す図である。
【図１６】作図線分の一時表示が行われたCAD画面を示す図である。
【図１７】作図線分の描画処理が行われたCAD画面を示す図である。
【図１８】視点位置移動後のCAD画面を示す図である。
【図１９ａ】操作面420設定後のCAD画面を示す図である。
【図１９ｂ】操作面420設定後のZX平面への投影図である。
【図２０】作図線分の描画処理が行われたCAD画面を示す図である。
【図２１】視点位置移動後のCAD画面を示す図である。
【図２２ａ】操作面430設定後のCAD画面を示す図である。
【図２２ｂ】操作面430設定後のZX平面への投影図である。
【図２３】作図線分の描画処理が行われたCAD画面を示す図である。
【図２４ａ】操作面440設定後のCAD画面を示す図である。
【図２４ｂ】操作面440設定後のZX平面への投影図である。
【図２５】作図線分の描画処理が行われたCAD画面を示す図である。
【図２６】作図線分を基準線として操作面を設定するときCAD画面の概略を示す図である。
【図２７】回転軸を用いて操作面を設定するときのフローチャートである。
【図２８】回転軸を用いて操作面を設定するときCAD画面の概略を示す図である。
【図２９】描画処理とともに操作面を移動するときのCAD画面の概略を示す図である。
【図３０】他の実施例におけるオブジェクトの配置処理を示すフローチャートである。
【図３１】他の実施例における操作面420設定後のCAD画面を示す図である。
【図３２】他の実施例における操作面420を示す図である。
【図３３】第2の実施形態におけるオブジェクトの移動処理を示すフローチャートである。
【図３４ａ】第2の実施形態における操作面750設定後のCAD画面を示す図である。
【図３４ｂ】第2の実施形態における操作面760上におけるオブジェクトの移動処理を表すCAD画面を示す図である。
【図３５ａ】第三の実施形態における半透明な操作面を示す図である。
【図３５ｂ】第三の実施形態における半透明な操作面を示す図である。
【図３６】従来の技術の配管入力装置によるCAD画面の概略を示す図である。
【符号の説明】
100・・・・CADコンピュータ
126・・・・マウス・キーボード
128・・・・ディスプレイ
140・・・・CADプログラム
160・・・・操作面生成モジュール
162・・・・図形処理モジュール
164・・・・視点位置移動モジュール
166・・・・ユーザ指令取得モジュール
【図１】
0003983707.tif 000002
【図２】
0003983707.tif 000003
【図３】
0003983707.tif 000004
【図４】
0003983707.tif 000005
【図５】
0003983707.tif 000006
【図６】
0003983707.tif 000007
【図７】
0003983707.tif 000008
【図８】
0003983707.tif 000009
【図９】
0003983707.tif 000010
【図１０】
0003983707.tif 000011
【図１１】
0003983707.tif 000012
【図１２】
0003983707.tif 000013
【図１３】
0003983707.tif 000014
【図１４ａ】
0003983707.tif 000015
【図１４ｂ】
0003983707.tif 000016
【図１５】
0003983707.tif 000017
【図１６】
0003983707.tif 000018
【図１７】
0003983707.tif 000019
【図１８】
0003983707.tif 000020
【図１９ａ】
0003983707.tif 000021
【図１９ｂ】
0003983707.tif 000022
【図２０】
0003983707.tif 000023
【図２１】
0003983707.tif 000024
【図２２ａ】
0003983707.tif 000025
【図２２ｂ】
0003983707.tif 000026
【図２３】
0003983707.tif 000027
【図２４ａ】
0003983707.tif 000028
【図２４ｂ】
0003983707.tif 000029
【図２５】
0003983707.tif 000030
【図２６】
0003983707.tif 000031
【図２７】
0003983707.tif 000032
【図２８】
0003983707.tif 000033
【図２９】
0003983707.tif 000034
【図３０】
0003983707.tif 000035
【図３１】
0003983707.tif 000036
【図３２】
0003983707.tif 000037
【図３３】
0003983707.tif 000038
【図３４ａ】
0003983707.tif 000039
【図３４ｂ】
0003983707.tif 000040
【図３５ａ】
0003983707.tif 000041
【図３５ｂ】
0003983707.tif 000042
【図３６】
0003983707.tif 000043