(57)【要約】【課題】従来、メッシュにおけるフィレットの径を正確に変更できなかったという課題があった。【解決手段】３次元物体の形状を示すメッシュを構成する情報であり、１以上のフィレットを有する形状を示すメッシュを構成する情報であるメッシュデータを格納し得るメッシュデータ格納部と、メッシュデータを読み込み、メッシュデータを用いて、３次元物体の形状を示すメッシュを出力するメッシュ出力部と、１以上の各フィレットに対する径の情報である径情報を受け付ける受付部と、受け付けた径情報に応じて、３次元物体の形状を示すメッシュが有するフィレットの径を変更するメッシュ変更部とを具備し、メッシュ出力部は、メッシュ変更部が変更した径のフィレットを有する３次元物体の形状を示すメッシュを出力するメッシュ変更装置により、メッシュにおいてフィレットの径を、正確に変更できる。【選択図】図１
2011134165.tif 000002
【特許請求の範囲】
【請求項１】
３次元物体の形状を示すメッシュを構成する情報であり、１以上のフィレットを有する形状を示すメッシュを構成する情報であるメッシュデータを格納し得るメッシュデータ格納部と、
前記メッシュデータ格納部に格納されているメッシュデータを読み込み、当該メッシュデータを用いて、前記３次元物体の形状を示すメッシュを出力するメッシュ出力部と、
１以上の各フィレットに対する径の情報である径情報を受け付ける受付部と、
前記受付部が受け付けた径情報に応じて、前記メッシュ出力部が出力している３次元物体の形状を示すメッシュが有するフィレットの径を変更するメッシュ変更部とを具備し、
前記メッシュ出力部は、
前記メッシュ変更部が変更した径のフィレットを有する３次元物体の形状を示すメッシュを出力するメッシュ変更装置。
【請求項２】
フィレットの曲面上の点であり、前記メッシュを構成する１以上の点を用いて、前記フィレットの曲面に並行する線である補助線を構成する補助線構成部と、
前記補助線構成部が構成した補助線を、前記メッシュ出力部が出力しているメッシュと同一の画面上に出力する補助線出力部とをさらに具備し、
前記受付部は、
前記補助線を移動させる入力であり、フィレットの径を特定する入力である径情報を受け付け、
前記メッシュ出力部は、
前記補助線の移動に伴い、前記径情報に従ってフィレットの径を変更した３次元物体の形状を示すメッシュを出力する請求項１記載のメッシュ変更装置。
【請求項３】
前記補助線構成部は、
メッシュ上の点であり、フィレットの曲面を垂直に切る面である垂直面の上の点である基準点を、２以上の垂直面ごとに、２以上取得する基準点取得手段と、
前記基準点取得手段が取得した２以上の各基準点に接する線であり、前記フィレットの曲面に水平に接する線である２以上水平線に垂直の線である垂直線を２以上、垂直面ごとに取得する垂直線取得手段と、
前記垂直線取得手段が取得した２以上の垂直線の１以上の交点から、補助線を構成する点である構成点を、垂直面ごとに取得する構成点取得手段と、
前記構成点取得手段が取得した、垂直面ごとの構成点から、補助線を取得する補助線取得手段とを具備する請求項２記載のメッシュ変更装置。
【請求項４】
前記受付部は、
径を変更するフィレットを特定する指示、および径情報を受け付ける請求項１記載のメッシュ変更装置。
【請求項５】
前記メッシュ出力部は、
前記メッシュ変更部が変更したフィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の１以上の点が移動することとなる場合、前記外部点を、前記メッシュから消去する請求項１から請求項４いずれか記載のメッシュ変更装置。
【請求項６】
前記メッシュ出力部は、
前記メッシュ変更部が変更したフィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の１以上の点が移動することとなる場合、当該フィレットの曲面上の点の移動に応じて、前記外部点をフィレットの曲面上に載らないように移動する請求項１から請求項４いずれか記載のメッシュ変更装置。
【請求項７】
前記補助線構成部は、
フィレットの曲面上の点であり、前記メッシュを構成する１以上の点を用いて、前記フィレットの曲面に並行する線を構成し、かつ、当該線の一端または両端を延長した延長部を前記線に付加した補助線を構成する請求項２から請求項６いずれか記載のメッシュ変更装置。
【請求項８】
記憶媒体に、
３次元物体の形状を示すメッシュを構成する情報であり、１以上のフィレットを有する形状を示すメッシュを構成する情報であるメッシュデータを格納しており、
メッシュ出力部、受付部、およびメッシュ変更部により実現されるメッシュ変更方法であって、
前記メッシュ出力部により、前記記憶媒体に格納されているメッシュデータを読み込み、当該メッシュデータを用いて、前記３次元物体の形状を示すメッシュを出力するメッシュ出力ステップと、
前記受付部により、１以上の各フィレットに対する径の情報である径情報を受け付ける受付ステップと、
前記メッシュ変更部により、前記受付ステップで受け付けた径情報に応じて、前記メッシュ出力ステップで出力した３次元物体の形状を示すメッシュが有するフィレットの径を変更するメッシュ変更ステップとを具備し、
前記メッシュ出力ステップは、
前記メッシュ変更ステップで変更された径のフィレットを有する３次元物体の形状を示すメッシュを出力するメッシュ変更方法。
【請求項９】
記憶媒体に、
３次元物体の形状を示すメッシュを構成する情報であり、１以上のフィレットを有する形状を示すメッシュを構成する情報であるメッシュデータを格納しており、
コンピュータを、
前記記憶媒体に格納されているメッシュデータを読み込み、当該メッシュデータを用いて、前記３次元物体の形状を示すメッシュを出力するメッシュ出力部と、
１以上の各フィレットに対する径の情報である径情報を受け付ける受付部と、
前記受付部が受け付けた径情報に応じて、前記メッシュ出力部が出力している３次元物体の形状を示すメッシュが有するフィレットの径を変更するメッシュ変更部として、機能させるためのプログラムであり、
前記メッシュ出力部は、
前記メッシュ変更部が変更した径のフィレットを有する３次元物体の形状を示すメッシュを出力するものとして機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＣＡＤシステムにおけるメッシュを構成するフィレットの径を変更できるメッシュ変更装置等に関するものである。
【背景技術】
【０００２】
従来の第一の技術として、面と面とを接続するフィレット面をより効率よく作成する技術があった（例えば、特許文献１参照）。かかる技術は、対象面の点群データを取得し、フィレット面の外延を規定する２本のＲ止まり線を定める。そして、２本のＲ止まり線に垂直な平面を複数定め、点の集合と垂直平面とが交差する位置にある交線を求めて、交線とそれらＲ止まり線とが交わる分割点を求め、垂直平面のそれぞれについて、交線をそれら分割点と分割点との間にある中間部分交線に接続する部分交線にそれぞれ分割し、垂直平面のそれぞれについて、それら部分交線を、垂直平面内でそれら分割点の側に外挿してそれぞれ延長線を定め、垂直平面のそれぞれについて、第１の延長線と第２延長線とが交わる延長線交点を求め、延長線交点、に基づいて仮想点を定め、仮想点を滑らかに結ぶ仮想線に基づいて、フィレット面を定める、というものである。
【０００３】
また、従来の第二の技術として、メッシュモーフィング技術があった（非特許文献１）。かかる技術は、メッシュモデルを利用し、ＣＡＤ形状に変更を加えず節点や要素形状だけを変更する技術である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２６３４６４号公報（第１頁、第１図等）
【非特許文献】
【０００５】
【非特許文献１】"ハイエンドメッシュモーフィングソフトウェア  DEP Mesh Works/Morpher"、［online］、［平成２１年１０月２３日検索］、インターネット<URL：http://www.cdaj.co.jp/product/900000misc/pdf/DEPMeshWorksMorphe.pdf#search='メッシュモーフィング'>
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の第一の技術では、ＣＡＤデータを修正してから、メッシュデータを作成する必要があり、効率的なフィレットの径の変更ができなかった。また、従来の第二の技術では、フィレットの径を、正確に変更できなかった。
【課題を解決するための手段】
【０００７】
本第一の発明のメッシュ変更装置は、３次元物体の形状を示すメッシュを構成する情報であり、１以上のフィレットを有する形状を示すメッシュを構成する情報であるメッシュデータを格納し得るメッシュデータ格納部と、メッシュデータ格納部に格納されているメッシュデータを読み込み、メッシュデータを用いて、３次元物体の形状を示すメッシュを出力するメッシュ出力部と、１以上の各フィレットに対する径の情報である径情報を受け付ける受付部と、受付部が受け付けた径情報に応じて、メッシュ出力部が出力している３次元物体の形状を示すメッシュが有するフィレットの径を変更するメッシュ変更部とを具備し、メッシュ出力部は、メッシュ変更部が変更した径のフィレットを有する３次元物体の形状を示すメッシュを出力するメッシュ変更装置である。
【０００８】
かかる構成により、メッシュにおいてフィレットの径を、正確に変更できる。
【０００９】
また、本第二の発明のメッシュ変更装置は、第一の発明に対して、フィレットの曲面上の点であり、メッシュを構成する１以上の点を用いて、フィレットの曲面に並行する線である補助線を構成する補助線構成部と、補助線構成部が構成した補助線を、メッシュ出力部が出力しているメッシュと同一の画面上に出力する補助線出力部とをさらに具備し、受付部は、補助線を移動させる入力であり、フィレットの径を特定する入力である径情報を受け付け、メッシュ出力部は、補助線の移動に伴い、径情報に従ってフィレットの径を変更した３次元物体の形状を示すメッシュを出力するメッシュ変更装置である。
【００１０】
かかる構成により、メッシュにおいてフィレットの径を、正確に、かつ、補助線を用いて容易に変更できる。
【００１１】
また、本第三の発明のメッシュ変更装置は、第二の発明に対して、補助線構成部は、メッシュ上の点であり、フィレットの曲面を垂直に切る面である垂直面の上の点である基準点を、２以上の垂直面ごとに、２以上取得する基準点取得手段と、基準点取得手段が取得した２以上の各基準点に接する線であり、フィレットの曲面に水平に接する線である２以上水平線に垂直の線である垂直線を２以上、垂直面ごとに取得する垂直線取得手段と、垂直線取得手段が取得した２以上の垂直線の１以上の交点から、補助線を構成する点である構成点を、垂直面ごとに取得する構成点取得手段と、構成点取得手段が取得した、垂直面ごとの構成点から、補助線を取得する補助線取得手段とを具備するメッシュ変更装置である。
【００１２】
かかる構成により、メッシュにおいてフィレットの径を、正確に、かつ、補助線を用いて容易に変更できる。
【００１３】
また、本第四の発明のメッシュ変更装置は、第一の発明に対して、受付部は、径を変更するフィレットを特定する指示、および径情報を受け付けるメッシュ変更装置である。
【００１４】
かかる構成により、メッシュにおいてフィレットの径を、正確に、かつ、容易に変更できる。
【００１５】
また、本第五の発明のメッシュ変更装置は、第一から第四いずれかの発明に対して、メッシュ変更部は、変更したフィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の１以上の点が移動することとなる場合、外部点を、メッシュから消去するメッシュ変更装置である。
【００１６】
かかる構成により、メッシュにおいてフィレットの径を、正確に、かつ、容易に変更でき、かつ、フィレットの曲面の外部のメッシュも適切に処理できる。
【００１７】
また、本第六の発明のメッシュ変更装置は、第一から第四いずれかの発明に対して、メッシュ変更部は、変更したフィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の１以上の点が移動することとなる場合、フィレットの曲面上の点の移動に応じて、外部点をフィレットの曲面上に載らないように移動するメッシュ変更装置である。
【００１８】
かかる構成により、メッシュにおいてフィレットの径を、正確に、かつ、容易に変更でき、かつ、フィレットの曲面の外部のメッシュも適切に処理できる。
【００１９】
また、本第七の発明のメッシュ変更装置は、第二から第六いずれかの発明に対して、補助線構成部は、フィレットの曲面上の点であり、メッシュを構成する１以上の点を用いて、フィレットの曲面に並行する線を構成し、かつ、線の一端または両端を延長した延長部を線に付加した補助線を構成するメッシュ変更装置である。
かかる構成により、メッシュにおいてフィレットの径を、正確に、かつ、延長された補助線を用いて極めて容易に変更できる。
【発明の効果】
【００２０】
本発明によるメッシュ変更装置によれば、メッシュにおけるフィレットの径を、正確に変更できる。
【図面の簡単な説明】
【００２１】
【図１】実施の形態１における三次元ＣＡＤ装置のブロック図
【図２】同メッシュ変更装置の動作について説明するフローチャート
【図３】同補助線出力処理の動作について説明するフローチャート
【図４】同径変更処理の動作について説明するフローチャート
【図５】同メッシュの出力例を示す図
【図６】同径変更指示の入力例を示す図
【図７】同径を変更する対象のフィレットを示す図
【図８】同フィレットの曲面を垂直面で切った図
【図９】同構成点の集合を示す図
【図１０】同延長部を有する補助線を示す図
【図１１】同補助線の出力例を示す図
【図１２】同補助線を用いた操作を説明する図
【図１３】同フィレットの径の変更を説明する図
【図１４】同補助線を用いた操作を説明する図
【図１５】同フィレットの径の変更を説明する図
【図１６】同補助線の構成方法の例を説明する図
【図１７】同フィレットの径の入力画面の例を示す図
【図１８】同パイプモデルの径の変更を説明する図
【図１９】同パイプモデルの径の変更処理を説明する図
【図２０】同パイプモデルの径の変更結果を示す図
【図２１】同メッシュ変更装置のブロック図
【図２２】同境界情報取得手段の処理を説明する図
【図２３】同法線ベクトル取得手段の処理を説明する図
【図２４】同曲率半径取得手段の処理を説明する図
【図２５】同補助線候補点取得手段の処理を説明する図
【図２６】同補助線候補点集約手段の処理を説明する図
【図２７】同補助点取得手段の処理を説明する図
【図２８】同角度算出手段の処理を説明する図
【図２９】同メッシュ変更部２６の処理を説明する図
【図３０】同メッシュ変更装置の処理結果を示す図
【図３１】上記実施の形態におけるコンピュータシステムの概観図
【図３２】同コンピュータシステムのブロック図
【発明を実施するための形態】
【００２２】
以下、三次元ＣＡＤ装置、メッシュ変更装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
（実施の形態１）
【００２３】
本実施の形態において、メッシュが出力されている状態において、フィレットの径（以下、適宜、フィレットＲという。）を変更するメッシュ変更装置１について説明する。また、かかるメッシュ変更装置１を具備する三次元ＣＡＤ装置について説明する。
【００２４】
メッシュ変更装置１は、後述する補助線を用いて、フィレットの径を変更する第一の方法、および入力手段（例えば、マウスやキーボードなど）を用いて、変更する径の量または変更後の径の量などを入力し、当該入力に基づいて、フィレットの径を変更する第二の方法について説明する。
【００２５】
図１は、本実施の形態における三次元ＣＡＤ装置のブロック図である。この三次元ＣＡＤ装置は、メッシュ変更装置１、記憶部２、入力部３、データ受付部４、演算部５、メッシュデータ生成部６、表示部７を備える。
【００２６】
また、メッシュ変更装置１は、メッシュデータ格納部１１、受付部１２、メッシュ出力部１３、補助線構成部１４、補助線出力部１５、メッシュ変更部１６を備える。
【００２７】
さらに、補助線構成部１４は、基準点取得手段１４１、水平線取得手段１４２、垂直線取得手段１４３、構成点取得手段１４４、補助線取得手段１４５を備える。
【００２８】
メッシュ変更装置１は、ＣＡＤデータを修正することなく（三次元ＣＡＤに戻らずに）、メッシュの状態において、フィレットの径を変更する。
【００２９】
メッシュデータ格納部１１は、メッシュデータを格納し得る。メッシュデータは、ここでは、３次元物体の形状を示すメッシュを構成する情報であり、１以上のフィレットを有する形状を示すメッシュを構成する情報である。また、メッシュデータは、例えば、メッシュ上の点の集合である。また、メッシュデータは、例えば、メッシュ上の点の集合と点間の接続に関する情報でも良い。さらに、メッシュデータは、例えば、メッシュ上の線の情報でも良い。メッシュデータ格納部１１は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００３０】
メッシュデータ格納部１１にメッシュデータが記憶される過程は問わない。ただし、メッシュデータは、メッシュデータ生成部６により生成されたデータであることは好適である。
【００３１】
受付部１２は、１以上の各フィレットに対する径の情報である径情報を受け付ける。受付部１２は、１以上のフィレットの中の一のフィレットに対する径の情報である径情報を受け付けても良いことは言うまでもない。また、受付部１２は、後述する補助線を移動させる入力であり、フィレットの径を特定する入力である径情報を受け付けることは好適である。また、受付部１２は、径を変更するフィレットを特定する指示、および径情報を受け付けても良い。なお、ここで、径を変更するフィレットを特定する指示とは、フィレット変更範囲を指定する指示と同意義である。また、径情報とは、例えば、変化後のフィレットの径の値（フィレットＲ）、径の変化量などである。また、径情報は、補助線の移動後の位置を示す一の座標情報や、補助線の移動後の位置を示す座標情報群などでも良い。また、フィレットを特定する指示とは、例えば、マウス等のポインティングデバイスによる指示である。また、径情報の受け付けとは、例えば、キーボードによる入力の受け付けである。なお、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。径情報等の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部１２は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【００３２】
メッシュ出力部１３は、メッシュデータ格納部１１に格納されているメッシュデータを読み込み、当該メッシュデータを用いて、３次元物体の形状を示すメッシュを出力する。メッシュ出力部１３がメッシュを出力する処理は公知技術である。
【００３３】
また、メッシュ出力部１３は、メッシュ変更部１６が変更した径のフィレットを有する３次元物体の形状を示すメッシュを出力する。メッシュ出力部１３は、メッシュ変更部１６が変更したメッシュデータを用いて、メッシュを出力する。
【００３４】
また、メッシュ出力部１３は、補助線の移動に伴い、径情報に従ってフィレットの径を変更した３次元物体の形状を示すメッシュを出力することは好適である。
【００３５】
ここで、出力とは、ディスプレイ（例えば、表示部７）への表示、プロジェクターを用いた投影、プリンタへの印字、外部の装置（表示装置など）への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【００３６】
メッシュ出力部１３は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。メッシュ出力部１３は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００３７】
補助線構成部１４は、フィレットの曲面上の点であり、メッシュを構成する１以上の点を用いて、フィレットの曲面に並行する線である補助線を構成する。補助線構成部１４は、例えば、後述する基準点取得手段１４１、水平線取得手段１４２、垂直線取得手段１４３、構成点取得手段１４４、および補助線取得手段１４５により、補助線を構成する。また、補助線構成部１４は、フィレットの曲面の外積の平均値を取得し、当該平均値から補助線を構成しても良い。また、補助線構成部１４は、メッシュを構成する１以上の点であり、１以上のフィレットの曲面上の点のうちの中点（略中点でも良い）を取得し、当該中点から、曲面に対して垂直に延びる線であり、元のフィレットＲの長さの線を構成する端点から構成される線である補助線を構成しても良い。
【００３８】
補助線構成部１４は、フィレットの曲面上の点であり、メッシュを構成する１以上の点を用いて、フィレットの曲面に並行する線を構成し、かつ、当該線の一端または両端を延長した延長部を当該線に付加した補助線を構成することは好適である。ここで、線を構成する処理とは、線を構成する元になる２以上の点の情報を読み出す処理でも良いし、線を構成する元になる２以上の点の情報から線の情報（例えば、線の両端の点の情報）を取得する処理などでも良い。
【００３９】
なお、上記における点とは、通常、３次元上の点の情報であり、例えば、（ｘ，ｙ，ｚ）の構造を有するが、点の構造は問わない。
【００４０】
また、補助線を構成する処理は、線を構成する点の集合を取得することでも良いし、線の情報（例えば、両端の点の情報）を取得することでも良い。
【００４１】
補助線構成部１４は、通常、ＭＰＵやメモリ等から実現され得る。補助線構成部１４の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００４２】
基準点取得手段１４１は、メッシュ上の点であり、フィレットの曲面を垂直に切る面である垂直面の上の点である基準点を、２以上の垂直面ごとに、２以上取得する。なお、基準点は、フィレットの曲面上の点である。基準点取得手段１４１は、フィレットの曲面上の点であり、垂直面の上の点を、基準点としてすべて取得しても良い。また、基準点取得手段１４１は、フィレットの曲面上の点であり、垂直面の上の点のうち、二つの点を基準点として取得しても良い。
【００４３】
水平線取得手段１４２は、基準点取得手段１４１が取得した２以上の各基準点に接する線であり、フィレットの曲面に水平に接する線である水平線を２以上、垂直面ごとに取得する。
【００４４】
垂直線取得手段１４３は、水平線取得手段１４２が取得した２以上の水平線に垂直の線である垂直線を２以上、垂直面ごとに取得する。垂直線は、曲面の中心に向かう線である。
【００４５】
垂直線取得手段１４３は、基準点取得手段１４１が取得した２以上の各基準点に接する線であり、フィレットの曲面に水平に接する線である水平線に垂直の線である垂直線を２以上、垂直面ごとに取得しても良い。かかる場合、垂直線取得手段１４３は不要である。
【００４６】
構成点取得手段１４４は、垂直線取得手段１４３が取得した２以上の垂直線の１以上の交点から、補助線を構成する点である構成点を、垂直面ごとに取得する。一の垂直面の２以上の垂直線の交点が一つである場合、構成点は当該交点である。また、一の垂直面の２以上の垂直線の交点が２つ以上存在する場合、構成点は、例えば、当該２つ以上の交点の中心になる点である。中心になる点とは、例えば、複数の交点との距離の和が最小になる点である。ただし、２以上の垂直線の交点が２つ以上存在する場合、構成点の決定方法は問わない。構成点は、一の代表的な交点を選択しても良いし、ランダムに一の交点を選択しても良い。つまり、構成点は、交点と一致する場合もあれば、２以上の交点から算出される場合もあり得る。
【００４７】
補助線取得手段１４５は、構成点取得手段１４４が取得した、垂直面ごとの２以上の構成点から、補助線を取得する。補助線は、構成点の集合でも良いし、構成点の集合から取得された線の情報（例えば、両端の点の情報）等でも良い。
【００４８】
基準点取得手段１４１、水平線取得手段１４２、垂直線取得手段１４３、構成点取得手段１４４、および補助線取得手段１４５は、通常、ＭＰＵやメモリ等から実現され得る。基準点取得手段１４１等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００４９】
補助線出力部１５は、補助線構成部１４が構成した補助線を出力する。補助線出力部１５は、メッシュ出力部１３が出力しているメッシュと同一の画面上に補助線を出力する。補助線出力部１５は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。補助線出力部１５は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【００５０】
メッシュ変更部１６は、受付部１２が受け付けた径情報に応じて、メッシュ出力部１３が出力している３次元物体の形状を示すメッシュが有するフィレットの径を変更する。フィレットの径を変更する処理は、メッシュを構成する点を移動する処理である。
【００５１】
また、メッシュ変更部１６は、変更したフィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の１以上の点が移動することとなる場合、外部点を、メッシュから消去することは好適である。
【００５２】
また、メッシュ変更部１６は、変更したフィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の１以上の点が移動することとなる場合、フィレットの曲面上の点の移動に応じて、外部点をフィレットの曲面上に載らないように移動することは好適である。なお、かかる処理は、後述するメッシュ変更部１６が行っても良い。
【００５３】
メッシュ変更部１６は、通常、ＭＰＵやメモリ等から実現され得る。メッシュ変更部１６の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００５４】
記憶部２は、３次元物体を構成する点のデータ群や、当該点のデータ群から三次元物体の形状を構成する面データを作成する過程で作成されるデータや、３次元ＣＡＤプログラム等を格納し得る。記憶部２は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。記憶部２にＣＡＤデータ等が記憶される過程は問わない。例えば、記録媒体を介してＣＡＤデータ等が記憶部２で記憶されるようになってもよく、通信回線等を介して送信されたＣＡＤデータ等が記憶部２で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたＣＡＤデータ等が記憶部２で記憶されるようになってもよい。
【００５５】
入力部３は、各種のデータを入力する。入力部３は、例えば、ＣＡＤデータを構成するためのデータや命令等を入力する。入力部３は、例えば、キーボードや、マウス等のポインティングデバイスなどである。
【００５６】
データ受付部４は、入力部３から入力されたデータや命令などを受け付ける。また、データ受付部４は、外部から、３次元形状のデータを受け付けても良い。データ受付部４は、例えば、メッシュデータを生成する指示であるメッシュデータ生成指示を受け付ける。また、データ受付部４は、外部装置から三次元物体の画像を受け付ける。
【００５７】
演算部５は、記憶部２に記憶された３次元ＣＡＤプログラムを実行し、点のデータ群から面データを作成する処理や、３次元ＣＡＤ装置の各部の制御等を行う。演算部５は、通常、ＭＰＵやメモリ等から実現され得る。演算部５の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００５８】
メッシュデータ生成部６は、３次元ＣＡＤデータをメッシュ化し、メッシュデータを生成する。かかる処理は公知技術であるので、詳細な説明を省略する。メッシュデータ生成部６は、通常、ＭＰＵやメモリ等から実現され得る。メッシュデータ生成部６の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００５９】
表示部７は、３次元ＣＡＤデータを表示する。また、表示部７は、メッシュ出力部１３が出力したメッシュデータを受け付け、メッシュを表示しても良い。表示部７は、ディスプレイデバイスを含むと考えても含まないと考えても良い。表示部７は、ディスプレイデバイスのドライバーソフトまたは、ディスプレイデバイスのドライバーソフトとディスプレイデバイス等で実現され得る。
次に、三次元ＣＡＤ装置の動作について説明する。三次元ＣＡＤ装置の中のメッシュ変更装置１を除く構成要素は公知技術により実現可能であるので、詳細な説明を省略する。
【００６０】
メッシュ変更装置１の動作について、図２のフローチャートを用いて説明する。なお、メッシュデータ生成部６により生成されたメッシュデータが、メッシュ変更装置１のメッシュデータ格納部１１に格納されている、とする。
【００６１】
（ステップＳ２０１）受付部１２は、メッシュ出力指示を受け付けたか否かを判断する。メッシュ出力指示を受け付ければステップＳ２０２に行き、メッシュ出力指示を受け付けなければステップＳ２０４に行く。
【００６２】
（ステップＳ２０２）メッシュ出力部１３は、メッシュデータ格納部１１からメッシュデータを読み出す。
【００６３】
（ステップＳ２０３）メッシュ出力部１３は、ステップＳ２０２で読み出したメッシュデータを用いて、メッシュを出力する。ステップＳ２０１に戻る。
【００６４】
（ステップＳ２０４）受付部１２は、径変更指示を受け付けたか否かを判断する。径変更指示を受け付ければステップＳ２０５に行き、径変更指示を受け付けなければステップＳ２０１に戻る。なお、径変更指示とは、フィレットの径を変更する指示である。
【００６５】
（ステップＳ２０５）補助線構成部１４は補助線を構成し、補助線出力部１５は補助線を出力する。かかる処理を補助線出力処理という。補助線出力処理について、図３のフローチャートを用いて説明する。
【００６６】
（ステップＳ２０６）受付部１２は、径情報を受け付けたか否かを判断する。径情報を受け付ければステップＳ２０７に行き、径情報を受け付けなければステップＳ２０９に行く。
【００６７】
（ステップＳ２０７）メッシュ変更部１６は、ステップＳ２０６で受け付けた径情報を用いて、フィレットの径を変更する。かかる処理を径変更処理という。径変更処理について、図４のフローチャートを用いて説明する。
【００６８】
（ステップＳ２０８）メッシュ出力部１３は、ステップＳ２０７で径が変更されたフィレットを有するメッシュを出力する。ここでの出力は、表示デバイスへの表示である。
【００６９】
（ステップＳ２０９）受付部１２は、径変更処理を確定する指示を受け付けたか否かを判断する。確定する指示を受け付けた場合はステップＳ２１０に行き、確定する指示を受け付けない場合ステップＳ２０６に戻る。
【００７０】
（ステップＳ２１０）メッシュ出力部１３は、ステップＳ２０８で出力されているメッシュのメッシュデータを、メッシュデータ格納部１１に蓄積する。ステップＳ２０１に戻る。
【００７１】
なお、図２のフローチャートにおいて、補助線を用いて、フィレットの径を変更した。しかし、上述したように、補助線を用いずに、フィレットの径を変更しても良い。補助線を用いない方法は、例えば、キーボードなどの入力デバイスを用いて、変更後のフィレットＲを指定する方法である。
【００７２】
また、図２のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【００７３】
次に、ステップＳ２０５の補助線出力処理について、図３のフローチャートを用いて説明する。
【００７４】
（ステップＳ３０１）補助線構成部１４は、カウンタｉに１を代入する。
【００７５】
（ステップＳ３０２）補助線構成部１４の基準点取得手段１４１は、メッシュ上の点であり、フィレットの曲面を垂直に切る面である垂直面の中で、ｉ番目の垂直面が存在するか否かを判断する。ｉ番目の垂直面が存在すればステップＳ３０３に行き、存在しなければステップＳ３１４に行く。なお、垂直面の存在とは、フィレットの曲面上のメッシュを構成するライン上の点の集合の存在と同意義である。
【００７６】
（ステップＳ３０３）基準点取得手段１４１は、ｉ番目の垂直面（ｉ番目のライン）上の点であり、メッシュ上の点である２以上の基準点を取得する。基準点は、例えば、（ｘ，ｙ，ｚ）という点の情報である。
【００７７】
（ステップＳ３０４）水平線取得手段１４２は、カウンタｊに１を代入する。
【００７８】
（ステップＳ３０５）水平線取得手段１４２は、ｊ番目の基準点が存在するか否かを判断する。ｊ番目の基準点が存在すればステップＳ３０６に行き、ｊ番目の基準点が存在しなければステップＳ３０８に行く。
【００７９】
（ステップＳ３０６）水平線取得手段１４２は、ｊ番目の基準点に対応する水平線を取得する。そして、垂直線取得手段１４３は、水平線取得手段１４２が取得した水平線に垂直の線である垂直線を取得する。なお、垂直線取得手段１４３は、水平線を取得することなしに、一挙に垂直線を取得しても良い。かかる場合、水平線取得手段１４２は不要である。
【００８０】
（ステップＳ３０７）水平線取得手段１４２は、カウンタｊを１、インクリメントする。ステップＳ３０５に戻る。
【００８１】
（ステップＳ３０８）構成点取得手段１４４は、ステップＳ３０６で取得された２以上の垂直線の交点を、１以上、取得する。
【００８２】
（ステップＳ３０９）構成点取得手段１４４は、ステップＳ３０８で取得した交点が２以上であるか否かを判断する。交点が２以上であればステップＳ３１０に行き、２以上でなければステップＳ３１１に行く。
【００８３】
（ステップＳ３１０）構成点取得手段１４４は、２以上の交点から、構成点を算出する。例えば、交点が２つの場合は、構成点取得手段１４４は、２つの交点の中点を構成点とする。また、交点が３つ以上の場合は、構成点取得手段１４４は、交点により作成される多角形の重心を算出し、当該重心を構成点とする。ステップＳ３１２に行く
【００８４】
（ステップＳ３１１）構成点取得手段１４４は、一つの交点を構成点として、取得する。
【００８５】
（ステップＳ３１２）補助線取得手段１４５は、構成点取得手段１４４が取得した構成点を、予め決められたバッファ（補助線バッファ）に追記する。
【００８６】
（ステップＳ３１３）補助線構成部１４は、カウンタｉを１、インクリメントする。ステップＳ３０２に戻る。
【００８７】
（ステップＳ３１４）補助線構成部１４は、補助線の両端または一方の端を延ばした延長部の情報を取得する。例えば、補助線構成部１４は、補助線を構成する両端の直線（補助線バッファの端からの２点で構成される直線）を、予め決められた長さ、または補助線の長さに対する割合分だけ延長する直線の端点の情報を取得する。なお、かかる場合、端点が延長部を構成する。なお、延長部の長さの決定方法は問わない。
【００８８】
（ステップＳ３１５）補助線構成部１４は、ステップＳ３１２で追記された構成点から構成される線と、ステップＳ３１４で取得した延長部とから、補助線を構成する。補助線の構成とは、例えば、補助線を示す点の集合を取得することや、記録媒体に蓄積することなどでも良い。上位処理にリターンする。
【００８９】
（ステップＳ３１６）補助線出力部１５は、メッシュ出力部１３が出力しているメッシュと同一の画面上に補助線を出力する。補助線出力部１５は、ステップＳ３１５で構成した補助線を出力する。上位処理にリターンする。
【００９０】
次に、ステップＳ３０７の径変更処理について、図４のフローチャートを用いて説明する。
【００９１】
（ステップＳ４０１）補助線出力部１５は、受け付けられた径情報に応じて、補助線を移動する。なお、ここでの径情報は、例えば、補助線の移動位置を示す座標情報（例えば、（ｘ，ｙ，ｚ））である。そして、補助線出力部１５は、径情報が示す位置に補助線が載るように、補助線を平行移動して、出力する。なお、補助線の移動は、例えば、ユーザが、マウスでドラッグされた補助線をリリースすることにより、実行される。
【００９２】
（ステップＳ４０２）メッシュ変更部１６は、径情報を用いて、フィレットの径を算出する。フィレットの径は、ここでは、径情報が示す位置の点と、基準点との距離である。なお、受け付けられた径情報が、フィレットの径である場合、本ステップにおける処理は不要である。
【００９３】
（ステップＳ４０３）メッシュ変更部１６は、カウンタｉに１を代入する。
【００９４】
（ステップＳ４０４）メッシュ変更部１６は、フィレットの内の点であり、ｉ番目の点が存在するか否かを判断する。ｉ番目の点が存在すればステップＳ４０５に行き、ｉ番目の点が存在しなければステップＳ４０７に行く。なお、ｉ番目の点は、メッシュ上の点である。
【００９５】
（ステップＳ４０５）メッシュ変更部１６は、ステップＳ４０２で算出した径となるように、ｉ番目の点を移動する。なお、点の移動とは、移動後の点の座標情報を算出し、バッファに書き込むことである。また、メッシュ変更部１６は、通常、補助線の位置に対して、ステップＳ４０２で算出した径となるように、ｉ番目の点を移動する。
【００９６】
（ステップＳ４０６）メッシュ変更部１６は、カウンタｉを１、インクリメントする。ステップＳ４０４に戻る。
【００９７】
（ステップＳ４０７）メッシュ変更部１６は、カウンタｊに１を代入する。
【００９８】
（ステップＳ４０８）メッシュ変更部１６は、フィレットの外の点であり、ｊ番目の点が存在するか否かを判断する。ｊ番目の点が存在すればステップＳ４０９に行き、ｊ番目の点が存在しなければ上位処理にリターンする。
【００９９】
（ステップＳ４０９）メッシュ変更部１６は、現在のｊ番目の点（位置の変更前のｊ番目の点）が、変更後のフィレットの曲面内に入る点であるか否かを判断する。変更後のフィレットの曲面内に入る点であればステップＳ４１０に行き、変更後のフィレットの曲面内に入る点でなければステップＳ４１１に行く。
【０１００】
（ステップＳ４１０）メッシュ変更部１６は、ｊ番目の点の処理を行う。ｊ番目の点の処理とは、ｊ番目の点を削除する処理、または、変更後のフィレットの曲面外に位置するように移動する処理である。なお、ｊ番目の点を変更後のフィレットの曲面外に位置するように移動する場合、他のフィレットの外の点も、ずれるように移動することは好適である。
【０１０１】
（ステップＳ４１１）メッシュ変更部１６は、カウンタｊを１、インクリメントする。ステップＳ４０８に戻る。
【０１０２】
以下、本実施の形態における三次元ＣＡＤ装置の具体的な動作について説明する。第一の補助線を用いる具体例１の方法、第二の補助線を用いる具体例２の方法、およびユーザがキーボード等の入力デバイスを用いて、フィレットの径を入力する具体例３の方法について説明する。
（具体例１）
【０１０３】
今、三次元ＣＡＤ装置の記憶部２には、３次元のＣＡＤデータが格納されている。そして、ユーザは、入力部３を用いて、メッシュデータ生成指示を入力した、とする。
【０１０４】
次に、データ受付部４は、メッシュデータ生成指示を受け付ける。そして、メッシュデータ生成部６は、メッシュデータ生成指示に従い、記憶部２に格納されているＣＡＤデータを読み出し、メッシュデータを生成し、メッシュ変更装置１のメッシュデータ格納部１１に蓄積した、とする。
【０１０５】
次に、ユーザは、入力部３を用いて、メッシュ出力指示を入力する。そして、受付部１２は、メッシュ出力指示を受け付ける。
【０１０６】
次に、メッシュ出力部１３は、メッシュデータ格納部１１からメッシュデータを読み出す。そして、メッシュ出力部１３は、読み出したメッシュデータを用いて、メッシュを出力する。かかるメッシュの出力例を、図５に示す。
【０１０７】
次に、ユーザは、入力部３を用いて、径変更指示を入力する。径変更指示は、例えば、図６に示すように、マウスである入力部３を用いて、径を変更するフィレットを特定する入力を含む。図６において、径変更指示は、６０１の領域指定により特定されるフィレットが、径を変更する対象のフィレットである。なお、径を変更する対象のフィレットのみを取り出した図が、図７である。図７は、フィレットのメッシュの出力である。
【０１０８】
次に、以下のように、補助線構成部１４は補助線を構成する。まず、基準点取得手段１４１は、図７のフィレットの曲面に対して、垂直面ごとに、垂直面上の点であり、メッシュ上の点である２以上の基準点を取得する。基準点の例は、図７の７０１、７０２である。なお、フィレットの曲面を垂直面で切った図が、図８である。図８において、基準点は７０１、７０２である。
【０１０９】
次に、水平線取得手段１４２は、２つの基準点に対応する水平線を取得する。図８において、水平線は８０１、８０２である。
【０１１０】
次に、垂直線取得手段１４３は、水平線取得手段１４２が取得した水平線に垂直の線である垂直線を取得する。図８において、垂直線は８０３、８０４である。
【０１１１】
次に、構成点取得手段１４４は、取得された２以上の垂直線の交点を取得する。図８において、交点は８０５である。なお、補助線は、図８の面に垂直の線であり、交点は８０５を通過する線により構成されることとなる。
【０１１２】
次に、構成点取得手段１４４は、交点８０５を構成点として、補助線バッファに追記する。なお、図８において、８０６の矢印は、８０５から、例えば、水平軸のような基準軸で、後述するθ１とθ２を求めるための基準軸を示す。
【０１１３】
上記の処理を、補助線構成部１４は、垂直面ごとに行う。そして、補助線バッファには、補助線を構成する構成点の集合が存在することとなる。かかる段階で、図９に示すように、フィレットのメッシュから、構成点の集合が取得できたこととなる。
【０１１４】
次に、補助線構成部１４は、補助線の両端（一方の端でも良い）を延ばした延長部の情報を取得する。ここで、例えば、補助線構成部１４は、補助線を構成する両端の直線（補助線バッファの端からの２点で構成される直線）を、予め決められた長さ分だけ延長する直線の端点の情報を取得する。図１０において、矢印が、延長した延長部である。
【０１１５】
次に、補助線構成部１４は、追記された構成点から構成される線と、取得した延長部とから、補助線を構成する。つまり、補助線構成部１４は、延長部を特定する情報（点の情報）も補助線バッファに追記し、最終的な補助線を構成する点（構成点）の集合が補助線バッファに格納される。
【０１１６】
補助線出力部１５は、メッシュ出力部１３が出力しているメッシュと同一の画面上に補助線を出力する。補助線出力部１５は、補助線バッファ内の構成点の情報を用いて、補助線を出力する。図１１は、補助線の出力例である。なお、図１１において、補助線は１１０１であり、波線であるが、線の形態は問わないことは言うまでもない。
【０１１７】
次に、ユーザは、入力部２（例えば、マウス）を用いて、補助線を移動させる。例えば、ユーザは、補助線を、径が小さくなる方向（図１２参照）に移動させたとする。径が小さくなる方向とは、補助線をフィレットの曲面に近づける方向の移動である。すると、受付部１２は、径情報を受け付ける。ここでの径情報は、例えば、変更後の補助線の位置を示す補助線上の点の座標情報である。
【０１１８】
次に、補助線出力部１５は、受け付けられた径情報に応じて、補助線を移動する。つまり、補助線は、図１２に示すように、元の補助線の位置より、フィレットの曲面に近づく方向に移動する。
【０１１９】
次に、メッシュ変更部１６は、径情報を用いて、フィレットの径を算出する。この径は、「Ｒ−ΔＲ」であった、とする。なお、元のフィレットの径は、「Ｒ」である、とする。
【０１２０】
次に、メッシュ変更部１６は、フィレットの内の点であり、メッシュ上の点を、径「Ｒ−ΔＲ」となるように移動させる。
【０１２１】
すると、図１３に示すように、メッシュの表示状態において、メッシュの径が縮小される。なお、図１３では、「ΔＲ」は「１．０ｍｍ」である。また、メッシュ変更部１６は、図１２において、θ１、θ２を変更しないように、フィレットの径を変更する。なお、θ１、θ２は、基準軸８０６（例えば水平軸）から構成点へのなす角である。
【０１２２】
次に、ユーザは、フィレットの径を元に戻した（例えば、ｕｎｄｏした）、とする。また、次に、ユーザは、入力部２（例えば、マウス）を用いて、補助線を移動させる。例えば、ユーザは、補助線を、径が大きくなる方向（図１４参照）に移動させたとする。径が大きくなる方向とは、補助線をフィレットの曲面から遠ざける方向の移動である。すると、受付部１２は、径情報を受け付ける。ここでの径情報は、例えば、変更後の補助線の位置を示す補助線上の点の座標情報である。
【０１２３】
次に、補助線出力部１５は、受け付けられた径情報に応じて、補助線を移動する。つまり、補助線は、図１４に示すように、元の補助線の位置より、フィレットの曲面から遠ざかる方向に移動する。
【０１２４】
次に、メッシュ変更部１６は、径情報を用いて、フィレットの径を算出する。この径は、「Ｒ＋ΔＲ」であった、とする。なお、元のフィレットの径は、「Ｒ」である、とする。
【０１２５】
次に、メッシュ変更部１６は、フィレットの内の点であり、メッシュ上の点を、径「Ｒ＋ΔＲ」となるように移動させる。
【０１２６】
すると、メッシュの表示状態において、メッシュの径が拡大される。また、メッシュ変更部１６は、図１４において、θ１、θ２を変更しないように、フィレットの径を変更する。
【０１２７】
次に、メッシュ変更部１６は、変更前のフィレット外の点であり、変更後のフィレットの曲面内に入る点を削除する。なお、ここで、変更前のフィレット外の点であり、変更後のフィレットの曲面内に入る点を、フィレットの曲面から遠ざかる方向に、ずらしながら移動しても良い。なお、メッシュ変更部１６が、どの程度、上記の点の位置をずらすかは、問わない。
【０１２８】
なお、上記の具体例１において、凸面のフィレットの径を変更した。しかし、図１５に示すように、凹面のフィレットの径を変更しても良い。図１５において、左側が変更前の凹面のフィレット、右側が変更後の凹面のフィレットである。
（具体例２）
【０１２９】
今、具体例１と同様に、ユーザの指示により、図５に示すメッシュが出力された、とする。
【０１３０】
次に、ユーザは、入力部３を用いて、径変更指示を入力する。そして、径変更指示に含まれるフィレットを特定する情報により特定されたフィレットは、図７のフィレットである。
【０１３１】
次に、以下のように、補助線構成部１４は補助線を構成する。つまり、本具体例において、補助線構成部１４は、メッシュを構成する１以上の点であり、１以上のフィレットの曲面上の点のうちの中点（略中点でも良い）を取得し、当該中点から、曲面に対して垂直に延びる線であり、元のフィレットＲの長さの線を構成する端点から構成される線である補助線を構成する。
【０１３２】
さらに具体的には、補助線構成部１４は、図１６に示すように、フィレットの曲面上の中点１６０１を、垂直面ごとに、２以上取得する。なお、図１６は、フィレットの曲面を垂直に切った垂直面である。
【０１３３】
次に、補助線構成部１４は、中点１６０１から、曲面に対して垂直に延びる線１６０３（中点１６０１を含み、フィレットの曲面に水平の線に対して垂直の線）であり、元のフィレットＲの長さの線を構成する端点１６０４を、構成点として取得する。次に、補助線構成部１４は、構成点を補助線バッファに追記する。
【０１３４】
補助線構成部１４は、かかる処理を、フィレットの曲面上のすべての中点に対して行う。そして、補助線バッファには、補助線を構成する構成点の集合が格納される。
【０１３５】
また、補助線構成部１４は、補助線の両端（一方の端でも良い）を延ばした延長部の情報を取得する。ここで、例えば、補助線構成部１４は、補助線を構成する両端の直線（補助線バッファの端からの２点で構成される直線）を、予め決められた長さ分だけ延長する直線の端点の情報を取得する。
【０１３６】
次に、補助線構成部１４は、追記された構成点から構成される線と、取得した延長部とから、補助線を構成する。つまり、補助線構成部１４は、延長部を特定する情報（点の情報）も補助線バッファに追記し、最終的な補助線を構成する点（構成点）の集合が補助線バッファに格納される。
【０１３７】
次に、補助線出力部１５は、メッシュ出力部１３が出力しているメッシュと同一の画面上に補助線を出力する。補助線出力部１５は、補助線バッファ内の構成点の情報を用いて、補助線を出力する。図１１は、補助線の出力例である。
【０１３８】
次に、ユーザは、入力部２（例えば、マウス）を用いて、補助線を移動させる。例えば、ユーザは、補助線を、径が小さくなる方向（図１２参照）に移動させたとする。径が小さくなる方向とは、補助線をフィレットの曲面に近づける方向の移動である。すると、受付部１２は、径情報を受け付ける。ここでの径情報は、例えば、変更後の補助線の位置を示す補助線上の点の座標情報である。
【０１３９】
次に、補助線出力部１５は、受け付けられた径情報に応じて、補助線を移動する。つまり、補助線は、図１２に示すように、元の補助線の位置より、フィレットの曲面に近づく方向に移動する。
【０１４０】
次に、メッシュ変更部１６は、径情報を用いて、フィレットの径を算出する。この径は、「Ｒ−ΔＲ」であった、とする。なお、元のフィレットの径は、「Ｒ」である、とする。
【０１４１】
次に、メッシュ変更部１６は、フィレットの内の点であり、メッシュ上の点を、径「Ｒ−ΔＲ」となるように移動させる。
【０１４２】
すると、図１３に示すように、メッシュの表示状態において、メッシュの径が縮小される。なお、図１３では、「ΔＲ」は「１．０ｍｍ」である。また、メッシュ変更部１６は、図１２において、θ１、θ２を変更しないように、フィレットの径を変更する。
【０１４３】
次に、ユーザは、フィレットの径を元に戻した（例えば、ｕｎｄｏした）、とする。また、次に、ユーザは、入力部２（例えば、マウス）を用いて、補助線を移動させる。例えば、ユーザは、補助線を、径が大きくなる方向（図１４参照）に移動させたとする。径が大きくなる方向とは、補助線をフィレットの曲面から遠ざける方向の移動である。すると、受付部１２は、径情報を受け付ける。ここでの径情報は、例えば、変更後の補助線の位置を示す補助線上の点の座標情報である。
【０１４４】
次に、補助線出力部１５は、受け付けられた径情報に応じて、補助線を移動する。つまり、補助線は、図１４に示すように、元の補助線の位置より、フィレットの曲面から遠ざかる方向に移動する。
【０１４５】
次に、メッシュ変更部１６は、径情報を用いて、フィレットの径を算出する。この径は、「Ｒ＋ΔＲ」であった、とする。なお、元のフィレットの径は、「Ｒ」である、とする。
【０１４６】
次に、メッシュ変更部１６は、フィレットの内の点であり、メッシュ上の点を、径「Ｒ＋ΔＲ」となるように移動させる。
【０１４７】
すると、メッシュの表示状態において、メッシュの径が拡大される。また、メッシュ変更部１６は、図１４において、θ１、θ２を変更しないように、フィレットの径を変更する。
【０１４８】
なお、上記の具体例２において、凸面のフィレットの径を変更した。しかし、図１５に示すように、凹面のフィレットの径を変更しても良い。
（具体例３）
【０１４９】
今、具体例１と同様に、ユーザの指示により、図５に示すメッシュが出力された、とする。
【０１５０】
次に、ユーザは、入力部３を用いて、径変更指示を入力する。径変更指示は、例えば、図６に示すように、マウスである入力部３を用いて、径を変更するフィレットを特定する入力を含む。図６において、径変更指示は、６０１の領域指定により特定されるフィレットが、径を変更する対象のフィレットである。
【０１５１】
次に、メッシュ変更部１６は、指定されたフィレットの径の変更を受け付ける画面（図１７参照）を出力する、とする。なお、図１７の画面において、現在のフィレットの径「６」ｍｍが表示されている。
【０１５２】
次に、ユーザは、変更後のフィレットの径を入力するフィールドに「１０」ｍｍを入力し、「決定」ボタンを押下した、とする。
【０１５３】
すると、受付部１２は、変更後のフィレットの径「１０」ｍｍを含む径情報を受け付ける。
【０１５４】
次に、メッシュ変更部１６は、フィレットの径が「１０」ｍｍになるように、メッシュデータを変更する。メッシュの変更処理は上述した通りである。
【０１５５】
以上、本実施の形態によれば、メッシュにおいてフィレットの径を、正確に変更できる。
【０１５６】
また、本実施の形態によれば、補助線を用いてフィレットの径を変更することにより、正確に、かつ、容易にフィレットの径を変更できる。
【０１５７】
また、本実施の形態において、フィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の１以上の点が移動することとなる場合でも、外部点を、メッシュから消去したり、外部点をフィレットの曲面上に載らないように移動したりすることにより、フィレットの曲面の外部のメッシュ上の点についても適切に処理できる。
【０１５８】
さらに、本実施の形態において、延長された補助線を用いて、フィレットの径を、正確に、かつ、極めて容易に変更できる。
【０１５９】
なお、本実施の形態において、図１８の（ａ）に示すようなパイプモデル（フィレットの曲面が閉じた曲面）においても、フィレットの径の変更は適用できることは言うまでもない。
【０１６０】
パイプモデルにおいて、補助線構成部１４は、パイプの断面の中心点を構成点として取得する（図１８の（ｂ））。
【０１６１】
次に、補助線構成部１４は、構成点の集合から補助線を構成する（図１８の（ｃ））。そして、補助線出力部１５は、補助線を出力する。
【０１６２】
なお、補助線が出力された際、例えば、メッシュ出力部１３は、パイプのうちの一部のメッシュデータを用いて、一部のメッシュを出力することは好適である。一部のメッシュとは、パイプが流れる方向に切り取って、残ったメッシュである（図１９の１９０１）。
【０１６３】
そして、ユーザは、図１９の１９０２（図１８の（ｃ））の補助線を、矢印に方向に移動させることにより、パイプの径の拡大、縮小が可能となる。図２０は、パイプの径を２３．５ｍｍから、３０．０ｍｍに拡大した場合の表示例である。なお、パイプの径を拡大する場合のメッシュの変更処理は、上述したメッシュ変更部１６が行うメッシュ変更処理である。
【０１６４】
また、本実施の形態によれば、メッシュ変更装置１は三次元ＣＡＤ装置の中に存在したが、三次元ＣＡＤ装置から独立していても良い。
【０１６５】
また、本実施の形態によれば、補助線の生成のアルゴリズムや、メッシュ変更のアルゴリズム等は問わないことは言うまでもない。例えば、メッシュ変更装置は、以下のように補助線を生成し、メッシュを変更しても良い。かかるメッシュ変更装置２は、図２１に示すブロック図の構成になる。メッシュ変更装置２は、メッシュデータ格納部１１、受付部１２、メッシュ出力部１３、補助線構成部２４、補助線出力部１５、メッシュ変更部２６を備える。
補助線構成部２４は、境界情報取得手段２４１、法線ベクトル取得手段２４２、曲率半径取得手段２４３、補助線候補点取得手段２４４、補助線候補点集約手段２４５、補助線延長手段２４６を具備する。
メッシュ変更部２６は、補助点取得手段２６１、交点取得手段２６２、角度算出手段２６３、変更後構成点取得手段２６４を具備する。
境界情報取得手段２４１は、例えば、受付部１２がフィレット変更範囲を指定する指示を受け付けた後、当該指示に対応するフィレット変更範囲から、変更するフレットの境界線および境界点を判別する。境界情報取得手段２４１は、図２２に示すように、長手方向の２つの境界線（長さ境界線）と丸め方向の２つの境界線（角度境界線）を決定する。境界情報取得手段２４１は、受付部１２が受け付けた指示に含まれる座標情報から、長さ境界線（図２２の長さ境界線−１、長さ境界線−２）を決定する。また、境界情報取得手段２４１は、メッシュ上の点を結ぶ線の直線性から、角度境界線（図２２の角度境界線−１、角度境界線−２）を決定する。そして、境界情報取得手段２４１は、メッシュデータと、長さ境界線と、角度境界線とから、図２２に示すように、共通境界線構成点、長さ境界線構成点、角度境界線構成点、およびメッシュ構成点を取得する。
法線ベクトル取得手段２４２は、共通境界線構成点、長さ境界線構成点、角度境界線構成点、およびメッシュ構成点の法線ベクトルを取得する。図２３に示すように、通常、法線ベクトル取得手段２４２は、まず、フィレット変更範囲の構成点により構成される各面の法線ベクトル（波線の矢印）を取得する。なお、平面の法線ベクトルを取得する処理は公知技術である。次に、法線ベクトル取得手段２４２は、各構成点（共通境界線構成点、長さ境界線構成点、角度境界線構成点、およびメッシュ構成点）に対して、接する面の法線ベクトルの重み付き平均を算出し、当該算出したベクトルを各構成点の法線ベクトル（実線の矢印）として取得する。なお、重みは、例えば、各面の面積比と同等とする。また、図２２によれば、各構成点は１から４の面に接しているので、各構成点の法線ベクトルは１から４の面の法線ベクトルの重み付き平均により得られる。
曲率半径取得手段２４３は、２以上の構成点の法線ベクトルを、要素中心を基準とした相対値にして曲率半径を算出する。例えば、図２４に示すように、曲率半径取得手段２４３は、２つの構成点間（ここでは、ａｂ間）で、単位長あたりの法線ベクトルの変化量から曲率半径（ρ）を取得する。なお、図２４において、「曲率半径＝（Ｖ１ーＶ２）／構成点間の距離」となる。また、曲率半径の取得方法は問わない。
補助線候補点取得手段２４４は、法線ベクトル取得手段２４２が取得した構成点の法線ベクトルと、曲率半径取得手段２４３が取得した曲率半径とから、補助線を構成する候補点である補助線候補点を取得する。つまり、補助線候補点取得手段２４４は、各構成点の法線ベクトルを曲率半径の長さだけ延長した点を、補助線候補点として取得する（図２５参照）。
補助線候補点集約手段２４５は、一列のメッシュ構成点から構成される複数の補助線候補点を集約して一の補助線構成点を決定する。そして、補助線候補点集約手段２４５は、フィレット変更範囲のすべての列のメッシュ構成点から、複数の補助線構成点を取得する（図２６参照）。
補助線延長手段２４６は、補助線候補点集約手段２４５が取得した複数の補助線構成点から構成される補助線を延長する。補助線延長手段２４６は、補助線候補点集約手段２４５が取得した複数の補助線構成点から構成される補助線の両端または一方の端を延長した先の点である補助線延長部点を取得する。そして、補助線延長手段２４６は、補助線の両端または一方の端の点と、補助線延長部点とを結ぶ補助線延長部を得る。補助線延長手段２４６は、補助線の端の点、およびその先の点の２点を取得し、予め決められた長さまたは、補助線全体からの割合（例えば、１割）から得られる長さだけ、当該２点により構成される直線を伸ばし、補助線延長部点を取得する。なお、補助線延長部点の取得方法（長さや延長の方向（ベクトル）等）は問わない。補助線が延長され、操作しやすくなれば良い。
補助点取得手段２６１は、構成点ごとに、当該構成点の法線ベクトルと補助線との交点である補助点を取得する（図２７参照）。
交点取得手段２６２は、構成点ごとに、補助点取得手段２６１が取得した補助点を通る任意のＸ軸と、Ｘ軸に垂直なＹ軸を求める。そして、交点取得手段２６２は、構成点ごとに、ＸＹ平面と境界線との交点を算出する（図２７参照）。
角度算出手段２６３は、Ｘ軸に対して、処理対象の構成点（移動点とも言う）のなす角度θと半径Ｒを取得する。そして、角度算出手段２６３は、Ｘ軸に対して境界線構成点のなす角度θ１、θ２とを算出する（図２８参照）。
変更後構成点取得手段２６４は、構成点ごとに、補助点を平均角度方向に移動し、移動後の補助点から、指定された半径を用いてθ１、θ２の角度分を回転移動させることで、新たな構成点の位置を取得する（図２９参照）。図２９に示すように、フィレットＲを縮小する場合とフィレットＲを拡大する場合において、補助点の移動方向と指定された半径が異なるのみで、同様に新たな構成点の位置を取得する。
補助線構成部２４、メッシュ変更部２６は、通常、ＭＰＵやメモリ等から実現され得る。補助線構成部２４等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
次に、メッシュ変更装置２の動作について説明する。メッシュ変更装置２とメッシュ変更装置１とは、補助線の出力方法や、径変更処理を含むメッシュ変更処理は異なるが、他の動作は同じでよい。また、補助線の出力方法やメッシュ変更処理は上述した通りである。
そして、メッシュ変更装置２により、フィレットＲを縮小または拡大した出力結果の例を図３０に示す。図３０（ａ）は、変更前のメッシュデータであり、変更対象のフィレットＲは９ｍｍである。メッシュ変更装置２により、フィレットＲを縮小した場合、図３０（ａ）は図３０（ｂ）に変わり、フィレットＲを拡大した場合、図３０（ａ）は図３０（ｃ）に変わる。
【０１６６】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、３次元物体の形状を示すメッシュを構成する情報であり、１以上のフィレットを有する形状を示すメッシュを構成する情報であるメッシュデータを格納しており、コンピュータを、前記記憶媒体に格納されているメッシュデータを読み込み、当該メッシュデータを用いて、前記３次元物体の形状を示すメッシュを出力するメッシュ出力部と、１以上の各フィレットに対する径の情報である径情報を受け付ける受付部と、前記受付部が受け付けた径情報に応じて、前記メッシュ出力部が出力している３次元物体の形状を示すメッシュが有するフィレットの径を変更するメッシュ変更部として機能させるためのプログラムであり、前記メッシュ出力部は、前記メッシュ変更部が変更した径のフィレットを有する３次元物体の形状を示すメッシュを出力するものとして機能させるためのプログラムである。
【０１６７】
また、上記プログラムにおいて、コンピュータを、フィレットの曲面上の点であり、前記メッシュを構成する１以上の点を用いて、前記フィレットの曲面に並行する線である補助線を構成する補助線構成部と、前記補助線構成部が構成した補助線を、前記メッシュ出力部が出力しているメッシュと同一の画面上に出力する補助線出力部としてさらに機能させ、前記受付部は、前記補助線を移動させる入力であり、フィレットの径を特定する入力である径情報を受け付け、前記メッシュ出力部は、前記補助線の移動に伴い、前記径情報に従ってフィレットの径を変更した３次元物体の形状を示すメッシュを出力するものとして機能させるためのプログラムであることは好適である。
【０１６８】
また、上記プログラムにおいて、前記補助線構成部は、メッシュ上の点であり、フィレットの曲面を垂直に切る面である垂直面の上の点である基準点を、２以上の垂直面ごとに、２以上取得する基準点取得手段と、前記基準点取得手段が取得した２以上の各基準点に接する線であり、前記フィレットの曲面に水平に接する線である２以上水平線に垂直の線である垂直線を２以上、垂直面ごとに取得する垂直線取得手段と、前記垂直線取得手段が取得した２以上の垂直線の１以上の交点から、補助線を構成する点である構成点を、垂直面ごとに取得する構成点取得手段と、前記構成点取得手段が取得した、垂直面ごとの構成点から、補助線を取得する補助線取得手段とを具備するものとして機能させるためのプログラムであることは好適である。
【０１６９】
また、上記プログラムにおいて、前記受付部は、径を変更するフィレットを特定する指示、および径情報を受け付けるものとして機能させるためのプログラムであることは好適である。
【０１７０】
また、上記プログラムにおいて、前記メッシュ変更部は、前記変更したフィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の１以上の点が移動することとなる場合、前記外部点を、前記メッシュから消去するものとして機能させるためのプログラムであることは好適である。
【０１７１】
また、上記プログラムにおいて、前記メッシュ変更部は、前記変更したフィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の１以上の点が移動することとなる場合、当該フィレットの曲面上の点の移動に応じて、前記外部点をフィレットの曲面上に載らないように移動するものとして機能させるためのプログラムであることは好適である。
【０１７２】
また、上記プログラムにおいて、前記補助線構成部は、フィレットの曲面上の点であり、前記メッシュを構成する１以上の点を用いて、前記フィレットの曲面に並行する線を構成し、かつ、当該線の一端または両端を延長した延長部を前記線に付加した補助線を構成するものとして機能させるためのプログラムであることは好適である。
【０１７３】
また、図３１は、本明細書で述べたプログラムを実行して、上述した実施の形態のメッシュ変更装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図３１は、このコンピュータシステム３４０の概観図であり、図３２は、コンピュータシステム３４０の内部構成を示す図である。
【０１７４】
図３１において、コンピュータシステム３４０は、ＦＤドライブ３４１１、ＣＤ−ＲＯＭドライブ３４１２を含むコンピュータ３４１と、キーボード３４２と、マウス３４３と、モニタ３４４とを含む。
【０１７５】
図３２において、コンピュータ３４１は、ＦＤドライブ３４１１、ＣＤ−ＲＯＭドライブ３４１２に加えて、ＭＰＵ３４１３と、ＣＤ−ＲＯＭドライブ３４１２及びＦＤドライブ３４１１に接続されたバス３４１４と、ブートアッププログラム等のプログラムを記憶するためのＲＯＭ３４１５とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのＲＡＭ３４１６と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク３４１７とを含む。ここでは、図示しないが、コンピュータ３４１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【０１７６】
コンピュータシステム３４０に、上述した実施の形態のメッシュ変更装置等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３５０１、またはＦＤ３５０２に記憶されて、ＣＤ−ＲＯＭドライブ３４１２またはＦＤドライブ３４１１に挿入され、さらにハードディスク３４１７に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ３４１に送信され、ハードディスク３４１７に記憶されても良い。プログラムは実行の際にＲＡＭ３４１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３５０１、ＦＤ３５０２またはネットワークから直接、ロードされても良い。
【０１７７】
プログラムは、コンピュータ３４１に、上述した実施の形態のメッシュ変更装置等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能（モジュール）を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３４０がどのように動作するかは周知であり、詳細な説明は省略する。
【０１７８】
なお、上記プログラムにおいて、ハードウェアによって行われる処理は含まれない。
【０１７９】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１８０】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１８１】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１８２】
以上のように、本発明にかかるメッシュ変更装置は、メッシュにおいてフィレットの径を正確に変更できるという効果を有し、三次元ＣＡＤ装置等として有用である。
【符号の説明】
【０１８３】
１  メッシュ変更装置
２  記憶部
３  入力部
４  データ受付部
５  演算部
６  メッシュデータ生成部
７  表示部
１１  メッシュデータ格納部
１２  受付部
１３  メッシュ出力部
１４  補助線構成部
１５  補助線出力部
１６  メッシュ変更部
１４１  基準点取得手段
１４２  水平線取得手段
１４３  垂直線取得手段
１４４  構成点取得手段
１４５  補助線取得手段
【図１】
2011134165.tif 000003
【図２】
2011134165.tif 000004
【図３】
2011134165.tif 000005
【図４】
2011134165.tif 000006
【図２１】
2011134165.tif 000007
【図２３】
2011134165.tif 000008
【図２４】
2011134165.tif 000009
【図３１】
2011134165.tif 000010
【図３２】
2011134165.tif 000011
【図５】
2011134165.tif 000012
【図６】
2011134165.tif 000013
【図７】
2011134165.tif 000014
【図８】
2011134165.tif 000015
【図９】
2011134165.tif 000016
【図１０】
2011134165.tif 000017
【図１１】
2011134165.tif 000018
【図１２】
2011134165.tif 000019
【図１３】
2011134165.tif 000020
【図１４】
2011134165.tif 000021
【図１５】
2011134165.tif 000022
【図１６】
2011134165.tif 000023
【図１７】
2011134165.tif 000024
【図１８】
2011134165.tif 000025
【図１９】
2011134165.tif 000026
【図２０】
2011134165.tif 000027
【図２２】
2011134165.tif 000028
【図２５】
2011134165.tif 000029
【図２６】
2011134165.tif 000030
【図２７】
2011134165.tif 000031
【図２８】
2011134165.tif 000032
【図２９】
2011134165.tif 000033
【図３０】
2011134165.tif 000034