説明

メッシュ変更装置、メッシュ変更方法、およびプログラム

【課題】従来、メッシュにおけるフィレットの径を正確に変更できなかったという課題があった。
【解決手段】3次元物体の形状を示すメッシュを構成する情報であり、1以上のフィレットを有する形状を示すメッシュを構成する情報であるメッシュデータを格納し得るメッシュデータ格納部と、メッシュデータを読み込み、メッシュデータを用いて、3次元物体の形状を示すメッシュを出力するメッシュ出力部と、1以上の各フィレットに対する径の情報である径情報を受け付ける受付部と、受け付けた径情報に応じて、3次元物体の形状を示すメッシュが有するフィレットの径を変更するメッシュ変更部とを具備し、メッシュ出力部は、メッシュ変更部が変更した径のフィレットを有する3次元物体の形状を示すメッシュを出力するメッシュ変更装置により、メッシュにおいてフィレットの径を、正確に変更できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、CADシステムにおけるメッシュを構成するフィレットの径を変更できるメッシュ変更装置等に関するものである。
【背景技術】
【0002】
従来の第一の技術として、面と面とを接続するフィレット面をより効率よく作成する技術があった(例えば、特許文献1参照)。かかる技術は、対象面の点群データを取得し、フィレット面の外延を規定する2本のR止まり線を定める。そして、2本のR止まり線に垂直な平面を複数定め、点の集合と垂直平面とが交差する位置にある交線を求めて、交線とそれらR止まり線とが交わる分割点を求め、垂直平面のそれぞれについて、交線をそれら分割点と分割点との間にある中間部分交線に接続する部分交線にそれぞれ分割し、垂直平面のそれぞれについて、それら部分交線を、垂直平面内でそれら分割点の側に外挿してそれぞれ延長線を定め、垂直平面のそれぞれについて、第1の延長線と第2延長線とが交わる延長線交点を求め、延長線交点、に基づいて仮想点を定め、仮想点を滑らかに結ぶ仮想線に基づいて、フィレット面を定める、というものである。
【0003】
また、従来の第二の技術として、メッシュモーフィング技術があった(非特許文献1)。かかる技術は、メッシュモデルを利用し、CAD形状に変更を加えず節点や要素形状だけを変更する技術である。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2003−263464号公報(第1頁、第1図等)
【非特許文献】
【0005】
【非特許文献1】"ハイエンドメッシュモーフィングソフトウェア DEP Mesh Works/Morpher"、[online]、[平成21年10月23日検索]、インターネット<URL:http://www.cdaj.co.jp/product/900000misc/pdf/DEPMeshWorksMorphe.pdf#search='メッシュモーフィング'>
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の第一の技術では、CADデータを修正してから、メッシュデータを作成する必要があり、効率的なフィレットの径の変更ができなかった。また、従来の第二の技術では、フィレットの径を、正確に変更できなかった。
【課題を解決するための手段】
【0007】
本第一の発明のメッシュ変更装置は、3次元物体の形状を示すメッシュを構成する情報であり、1以上のフィレットを有する形状を示すメッシュを構成する情報であるメッシュデータを格納し得るメッシュデータ格納部と、メッシュデータ格納部に格納されているメッシュデータを読み込み、メッシュデータを用いて、3次元物体の形状を示すメッシュを出力するメッシュ出力部と、1以上の各フィレットに対する径の情報である径情報を受け付ける受付部と、受付部が受け付けた径情報に応じて、メッシュ出力部が出力している3次元物体の形状を示すメッシュが有するフィレットの径を変更するメッシュ変更部とを具備し、メッシュ出力部は、メッシュ変更部が変更した径のフィレットを有する3次元物体の形状を示すメッシュを出力するメッシュ変更装置である。
【0008】
かかる構成により、メッシュにおいてフィレットの径を、正確に変更できる。
【0009】
また、本第二の発明のメッシュ変更装置は、第一の発明に対して、フィレットの曲面上の点であり、メッシュを構成する1以上の点を用いて、フィレットの曲面に並行する線である補助線を構成する補助線構成部と、補助線構成部が構成した補助線を、メッシュ出力部が出力しているメッシュと同一の画面上に出力する補助線出力部とをさらに具備し、受付部は、補助線を移動させる入力であり、フィレットの径を特定する入力である径情報を受け付け、メッシュ出力部は、補助線の移動に伴い、径情報に従ってフィレットの径を変更した3次元物体の形状を示すメッシュを出力するメッシュ変更装置である。
【0010】
かかる構成により、メッシュにおいてフィレットの径を、正確に、かつ、補助線を用いて容易に変更できる。
【0011】
また、本第三の発明のメッシュ変更装置は、第二の発明に対して、補助線構成部は、メッシュ上の点であり、フィレットの曲面を垂直に切る面である垂直面の上の点である基準点を、2以上の垂直面ごとに、2以上取得する基準点取得手段と、基準点取得手段が取得した2以上の各基準点に接する線であり、フィレットの曲面に水平に接する線である2以上水平線に垂直の線である垂直線を2以上、垂直面ごとに取得する垂直線取得手段と、垂直線取得手段が取得した2以上の垂直線の1以上の交点から、補助線を構成する点である構成点を、垂直面ごとに取得する構成点取得手段と、構成点取得手段が取得した、垂直面ごとの構成点から、補助線を取得する補助線取得手段とを具備するメッシュ変更装置である。
【0012】
かかる構成により、メッシュにおいてフィレットの径を、正確に、かつ、補助線を用いて容易に変更できる。
【0013】
また、本第四の発明のメッシュ変更装置は、第一の発明に対して、受付部は、径を変更するフィレットを特定する指示、および径情報を受け付けるメッシュ変更装置である。
【0014】
かかる構成により、メッシュにおいてフィレットの径を、正確に、かつ、容易に変更できる。
【0015】
また、本第五の発明のメッシュ変更装置は、第一から第四いずれかの発明に対して、メッシュ変更部は、変更したフィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の1以上の点が移動することとなる場合、外部点を、メッシュから消去するメッシュ変更装置である。
【0016】
かかる構成により、メッシュにおいてフィレットの径を、正確に、かつ、容易に変更でき、かつ、フィレットの曲面の外部のメッシュも適切に処理できる。
【0017】
また、本第六の発明のメッシュ変更装置は、第一から第四いずれかの発明に対して、メッシュ変更部は、変更したフィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の1以上の点が移動することとなる場合、フィレットの曲面上の点の移動に応じて、外部点をフィレットの曲面上に載らないように移動するメッシュ変更装置である。
【0018】
かかる構成により、メッシュにおいてフィレットの径を、正確に、かつ、容易に変更でき、かつ、フィレットの曲面の外部のメッシュも適切に処理できる。
【0019】
また、本第七の発明のメッシュ変更装置は、第二から第六いずれかの発明に対して、補助線構成部は、フィレットの曲面上の点であり、メッシュを構成する1以上の点を用いて、フィレットの曲面に並行する線を構成し、かつ、線の一端または両端を延長した延長部を線に付加した補助線を構成するメッシュ変更装置である。
かかる構成により、メッシュにおいてフィレットの径を、正確に、かつ、延長された補助線を用いて極めて容易に変更できる。
【発明の効果】
【0020】
本発明によるメッシュ変更装置によれば、メッシュにおけるフィレットの径を、正確に変更できる。
【図面の簡単な説明】
【0021】
【図1】実施の形態1における三次元CAD装置のブロック図
【図2】同メッシュ変更装置の動作について説明するフローチャート
【図3】同補助線出力処理の動作について説明するフローチャート
【図4】同径変更処理の動作について説明するフローチャート
【図5】同メッシュの出力例を示す図
【図6】同径変更指示の入力例を示す図
【図7】同径を変更する対象のフィレットを示す図
【図8】同フィレットの曲面を垂直面で切った図
【図9】同構成点の集合を示す図
【図10】同延長部を有する補助線を示す図
【図11】同補助線の出力例を示す図
【図12】同補助線を用いた操作を説明する図
【図13】同フィレットの径の変更を説明する図
【図14】同補助線を用いた操作を説明する図
【図15】同フィレットの径の変更を説明する図
【図16】同補助線の構成方法の例を説明する図
【図17】同フィレットの径の入力画面の例を示す図
【図18】同パイプモデルの径の変更を説明する図
【図19】同パイプモデルの径の変更処理を説明する図
【図20】同パイプモデルの径の変更結果を示す図
【図21】同メッシュ変更装置のブロック図
【図22】同境界情報取得手段の処理を説明する図
【図23】同法線ベクトル取得手段の処理を説明する図
【図24】同曲率半径取得手段の処理を説明する図
【図25】同補助線候補点取得手段の処理を説明する図
【図26】同補助線候補点集約手段の処理を説明する図
【図27】同補助点取得手段の処理を説明する図
【図28】同角度算出手段の処理を説明する図
【図29】同メッシュ変更部26の処理を説明する図
【図30】同メッシュ変更装置の処理結果を示す図
【図31】上記実施の形態におけるコンピュータシステムの概観図
【図32】同コンピュータシステムのブロック図
【発明を実施するための形態】
【0022】
以下、三次元CAD装置、メッシュ変更装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
【0023】
本実施の形態において、メッシュが出力されている状態において、フィレットの径(以下、適宜、フィレットRという。)を変更するメッシュ変更装置1について説明する。また、かかるメッシュ変更装置1を具備する三次元CAD装置について説明する。
【0024】
メッシュ変更装置1は、後述する補助線を用いて、フィレットの径を変更する第一の方法、および入力手段(例えば、マウスやキーボードなど)を用いて、変更する径の量または変更後の径の量などを入力し、当該入力に基づいて、フィレットの径を変更する第二の方法について説明する。
【0025】
図1は、本実施の形態における三次元CAD装置のブロック図である。この三次元CAD装置は、メッシュ変更装置1、記憶部2、入力部3、データ受付部4、演算部5、メッシュデータ生成部6、表示部7を備える。
【0026】
また、メッシュ変更装置1は、メッシュデータ格納部11、受付部12、メッシュ出力部13、補助線構成部14、補助線出力部15、メッシュ変更部16を備える。
【0027】
さらに、補助線構成部14は、基準点取得手段141、水平線取得手段142、垂直線取得手段143、構成点取得手段144、補助線取得手段145を備える。
【0028】
メッシュ変更装置1は、CADデータを修正することなく(三次元CADに戻らずに)、メッシュの状態において、フィレットの径を変更する。
【0029】
メッシュデータ格納部11は、メッシュデータを格納し得る。メッシュデータは、ここでは、3次元物体の形状を示すメッシュを構成する情報であり、1以上のフィレットを有する形状を示すメッシュを構成する情報である。また、メッシュデータは、例えば、メッシュ上の点の集合である。また、メッシュデータは、例えば、メッシュ上の点の集合と点間の接続に関する情報でも良い。さらに、メッシュデータは、例えば、メッシュ上の線の情報でも良い。メッシュデータ格納部11は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0030】
メッシュデータ格納部11にメッシュデータが記憶される過程は問わない。ただし、メッシュデータは、メッシュデータ生成部6により生成されたデータであることは好適である。
【0031】
受付部12は、1以上の各フィレットに対する径の情報である径情報を受け付ける。受付部12は、1以上のフィレットの中の一のフィレットに対する径の情報である径情報を受け付けても良いことは言うまでもない。また、受付部12は、後述する補助線を移動させる入力であり、フィレットの径を特定する入力である径情報を受け付けることは好適である。また、受付部12は、径を変更するフィレットを特定する指示、および径情報を受け付けても良い。なお、ここで、径を変更するフィレットを特定する指示とは、フィレット変更範囲を指定する指示と同意義である。また、径情報とは、例えば、変化後のフィレットの径の値(フィレットR)、径の変化量などである。また、径情報は、補助線の移動後の位置を示す一の座標情報や、補助線の移動後の位置を示す座標情報群などでも良い。また、フィレットを特定する指示とは、例えば、マウス等のポインティングデバイスによる指示である。また、径情報の受け付けとは、例えば、キーボードによる入力の受け付けである。なお、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。径情報等の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部12は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0032】
メッシュ出力部13は、メッシュデータ格納部11に格納されているメッシュデータを読み込み、当該メッシュデータを用いて、3次元物体の形状を示すメッシュを出力する。メッシュ出力部13がメッシュを出力する処理は公知技術である。
【0033】
また、メッシュ出力部13は、メッシュ変更部16が変更した径のフィレットを有する3次元物体の形状を示すメッシュを出力する。メッシュ出力部13は、メッシュ変更部16が変更したメッシュデータを用いて、メッシュを出力する。
【0034】
また、メッシュ出力部13は、補助線の移動に伴い、径情報に従ってフィレットの径を変更した3次元物体の形状を示すメッシュを出力することは好適である。
【0035】
ここで、出力とは、ディスプレイ(例えば、表示部7)への表示、プロジェクターを用いた投影、プリンタへの印字、外部の装置(表示装置など)への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【0036】
メッシュ出力部13は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。メッシュ出力部13は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0037】
補助線構成部14は、フィレットの曲面上の点であり、メッシュを構成する1以上の点を用いて、フィレットの曲面に並行する線である補助線を構成する。補助線構成部14は、例えば、後述する基準点取得手段141、水平線取得手段142、垂直線取得手段143、構成点取得手段144、および補助線取得手段145により、補助線を構成する。また、補助線構成部14は、フィレットの曲面の外積の平均値を取得し、当該平均値から補助線を構成しても良い。また、補助線構成部14は、メッシュを構成する1以上の点であり、1以上のフィレットの曲面上の点のうちの中点(略中点でも良い)を取得し、当該中点から、曲面に対して垂直に延びる線であり、元のフィレットRの長さの線を構成する端点から構成される線である補助線を構成しても良い。
【0038】
補助線構成部14は、フィレットの曲面上の点であり、メッシュを構成する1以上の点を用いて、フィレットの曲面に並行する線を構成し、かつ、当該線の一端または両端を延長した延長部を当該線に付加した補助線を構成することは好適である。ここで、線を構成する処理とは、線を構成する元になる2以上の点の情報を読み出す処理でも良いし、線を構成する元になる2以上の点の情報から線の情報(例えば、線の両端の点の情報)を取得する処理などでも良い。
【0039】
なお、上記における点とは、通常、3次元上の点の情報であり、例えば、(x,y,z)の構造を有するが、点の構造は問わない。
【0040】
また、補助線を構成する処理は、線を構成する点の集合を取得することでも良いし、線の情報(例えば、両端の点の情報)を取得することでも良い。
【0041】
補助線構成部14は、通常、MPUやメモリ等から実現され得る。補助線構成部14の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0042】
基準点取得手段141は、メッシュ上の点であり、フィレットの曲面を垂直に切る面である垂直面の上の点である基準点を、2以上の垂直面ごとに、2以上取得する。なお、基準点は、フィレットの曲面上の点である。基準点取得手段141は、フィレットの曲面上の点であり、垂直面の上の点を、基準点としてすべて取得しても良い。また、基準点取得手段141は、フィレットの曲面上の点であり、垂直面の上の点のうち、二つの点を基準点として取得しても良い。
【0043】
水平線取得手段142は、基準点取得手段141が取得した2以上の各基準点に接する線であり、フィレットの曲面に水平に接する線である水平線を2以上、垂直面ごとに取得する。
【0044】
垂直線取得手段143は、水平線取得手段142が取得した2以上の水平線に垂直の線である垂直線を2以上、垂直面ごとに取得する。垂直線は、曲面の中心に向かう線である。
【0045】
垂直線取得手段143は、基準点取得手段141が取得した2以上の各基準点に接する線であり、フィレットの曲面に水平に接する線である水平線に垂直の線である垂直線を2以上、垂直面ごとに取得しても良い。かかる場合、垂直線取得手段143は不要である。
【0046】
構成点取得手段144は、垂直線取得手段143が取得した2以上の垂直線の1以上の交点から、補助線を構成する点である構成点を、垂直面ごとに取得する。一の垂直面の2以上の垂直線の交点が一つである場合、構成点は当該交点である。また、一の垂直面の2以上の垂直線の交点が2つ以上存在する場合、構成点は、例えば、当該2つ以上の交点の中心になる点である。中心になる点とは、例えば、複数の交点との距離の和が最小になる点である。ただし、2以上の垂直線の交点が2つ以上存在する場合、構成点の決定方法は問わない。構成点は、一の代表的な交点を選択しても良いし、ランダムに一の交点を選択しても良い。つまり、構成点は、交点と一致する場合もあれば、2以上の交点から算出される場合もあり得る。
【0047】
補助線取得手段145は、構成点取得手段144が取得した、垂直面ごとの2以上の構成点から、補助線を取得する。補助線は、構成点の集合でも良いし、構成点の集合から取得された線の情報(例えば、両端の点の情報)等でも良い。
【0048】
基準点取得手段141、水平線取得手段142、垂直線取得手段143、構成点取得手段144、および補助線取得手段145は、通常、MPUやメモリ等から実現され得る。基準点取得手段141等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0049】
補助線出力部15は、補助線構成部14が構成した補助線を出力する。補助線出力部15は、メッシュ出力部13が出力しているメッシュと同一の画面上に補助線を出力する。補助線出力部15は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。補助線出力部15は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0050】
メッシュ変更部16は、受付部12が受け付けた径情報に応じて、メッシュ出力部13が出力している3次元物体の形状を示すメッシュが有するフィレットの径を変更する。フィレットの径を変更する処理は、メッシュを構成する点を移動する処理である。
【0051】
また、メッシュ変更部16は、変更したフィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の1以上の点が移動することとなる場合、外部点を、メッシュから消去することは好適である。
【0052】
また、メッシュ変更部16は、変更したフィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の1以上の点が移動することとなる場合、フィレットの曲面上の点の移動に応じて、外部点をフィレットの曲面上に載らないように移動することは好適である。なお、かかる処理は、後述するメッシュ変更部16が行っても良い。
【0053】
メッシュ変更部16は、通常、MPUやメモリ等から実現され得る。メッシュ変更部16の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0054】
記憶部2は、3次元物体を構成する点のデータ群や、当該点のデータ群から三次元物体の形状を構成する面データを作成する過程で作成されるデータや、3次元CADプログラム等を格納し得る。記憶部2は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。記憶部2にCADデータ等が記憶される過程は問わない。例えば、記録媒体を介してCADデータ等が記憶部2で記憶されるようになってもよく、通信回線等を介して送信されたCADデータ等が記憶部2で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたCADデータ等が記憶部2で記憶されるようになってもよい。
【0055】
入力部3は、各種のデータを入力する。入力部3は、例えば、CADデータを構成するためのデータや命令等を入力する。入力部3は、例えば、キーボードや、マウス等のポインティングデバイスなどである。
【0056】
データ受付部4は、入力部3から入力されたデータや命令などを受け付ける。また、データ受付部4は、外部から、3次元形状のデータを受け付けても良い。データ受付部4は、例えば、メッシュデータを生成する指示であるメッシュデータ生成指示を受け付ける。また、データ受付部4は、外部装置から三次元物体の画像を受け付ける。
【0057】
演算部5は、記憶部2に記憶された3次元CADプログラムを実行し、点のデータ群から面データを作成する処理や、3次元CAD装置の各部の制御等を行う。演算部5は、通常、MPUやメモリ等から実現され得る。演算部5の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0058】
メッシュデータ生成部6は、3次元CADデータをメッシュ化し、メッシュデータを生成する。かかる処理は公知技術であるので、詳細な説明を省略する。メッシュデータ生成部6は、通常、MPUやメモリ等から実現され得る。メッシュデータ生成部6の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0059】
表示部7は、3次元CADデータを表示する。また、表示部7は、メッシュ出力部13が出力したメッシュデータを受け付け、メッシュを表示しても良い。表示部7は、ディスプレイデバイスを含むと考えても含まないと考えても良い。表示部7は、ディスプレイデバイスのドライバーソフトまたは、ディスプレイデバイスのドライバーソフトとディスプレイデバイス等で実現され得る。
次に、三次元CAD装置の動作について説明する。三次元CAD装置の中のメッシュ変更装置1を除く構成要素は公知技術により実現可能であるので、詳細な説明を省略する。
【0060】
メッシュ変更装置1の動作について、図2のフローチャートを用いて説明する。なお、メッシュデータ生成部6により生成されたメッシュデータが、メッシュ変更装置1のメッシュデータ格納部11に格納されている、とする。
【0061】
(ステップS201)受付部12は、メッシュ出力指示を受け付けたか否かを判断する。メッシュ出力指示を受け付ければステップS202に行き、メッシュ出力指示を受け付けなければステップS204に行く。
【0062】
(ステップS202)メッシュ出力部13は、メッシュデータ格納部11からメッシュデータを読み出す。
【0063】
(ステップS203)メッシュ出力部13は、ステップS202で読み出したメッシュデータを用いて、メッシュを出力する。ステップS201に戻る。
【0064】
(ステップS204)受付部12は、径変更指示を受け付けたか否かを判断する。径変更指示を受け付ければステップS205に行き、径変更指示を受け付けなければステップS201に戻る。なお、径変更指示とは、フィレットの径を変更する指示である。
【0065】
(ステップS205)補助線構成部14は補助線を構成し、補助線出力部15は補助線を出力する。かかる処理を補助線出力処理という。補助線出力処理について、図3のフローチャートを用いて説明する。
【0066】
(ステップS206)受付部12は、径情報を受け付けたか否かを判断する。径情報を受け付ければステップS207に行き、径情報を受け付けなければステップS209に行く。
【0067】
(ステップS207)メッシュ変更部16は、ステップS206で受け付けた径情報を用いて、フィレットの径を変更する。かかる処理を径変更処理という。径変更処理について、図4のフローチャートを用いて説明する。
【0068】
(ステップS208)メッシュ出力部13は、ステップS207で径が変更されたフィレットを有するメッシュを出力する。ここでの出力は、表示デバイスへの表示である。
【0069】
(ステップS209)受付部12は、径変更処理を確定する指示を受け付けたか否かを判断する。確定する指示を受け付けた場合はステップS210に行き、確定する指示を受け付けない場合ステップS206に戻る。
【0070】
(ステップS210)メッシュ出力部13は、ステップS208で出力されているメッシュのメッシュデータを、メッシュデータ格納部11に蓄積する。ステップS201に戻る。
【0071】
なお、図2のフローチャートにおいて、補助線を用いて、フィレットの径を変更した。しかし、上述したように、補助線を用いずに、フィレットの径を変更しても良い。補助線を用いない方法は、例えば、キーボードなどの入力デバイスを用いて、変更後のフィレットRを指定する方法である。
【0072】
また、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0073】
次に、ステップS205の補助線出力処理について、図3のフローチャートを用いて説明する。
【0074】
(ステップS301)補助線構成部14は、カウンタiに1を代入する。
【0075】
(ステップS302)補助線構成部14の基準点取得手段141は、メッシュ上の点であり、フィレットの曲面を垂直に切る面である垂直面の中で、i番目の垂直面が存在するか否かを判断する。i番目の垂直面が存在すればステップS303に行き、存在しなければステップS314に行く。なお、垂直面の存在とは、フィレットの曲面上のメッシュを構成するライン上の点の集合の存在と同意義である。
【0076】
(ステップS303)基準点取得手段141は、i番目の垂直面(i番目のライン)上の点であり、メッシュ上の点である2以上の基準点を取得する。基準点は、例えば、(x,y,z)という点の情報である。
【0077】
(ステップS304)水平線取得手段142は、カウンタjに1を代入する。
【0078】
(ステップS305)水平線取得手段142は、j番目の基準点が存在するか否かを判断する。j番目の基準点が存在すればステップS306に行き、j番目の基準点が存在しなければステップS308に行く。
【0079】
(ステップS306)水平線取得手段142は、j番目の基準点に対応する水平線を取得する。そして、垂直線取得手段143は、水平線取得手段142が取得した水平線に垂直の線である垂直線を取得する。なお、垂直線取得手段143は、水平線を取得することなしに、一挙に垂直線を取得しても良い。かかる場合、水平線取得手段142は不要である。
【0080】
(ステップS307)水平線取得手段142は、カウンタjを1、インクリメントする。ステップS305に戻る。
【0081】
(ステップS308)構成点取得手段144は、ステップS306で取得された2以上の垂直線の交点を、1以上、取得する。
【0082】
(ステップS309)構成点取得手段144は、ステップS308で取得した交点が2以上であるか否かを判断する。交点が2以上であればステップS310に行き、2以上でなければステップS311に行く。
【0083】
(ステップS310)構成点取得手段144は、2以上の交点から、構成点を算出する。例えば、交点が2つの場合は、構成点取得手段144は、2つの交点の中点を構成点とする。また、交点が3つ以上の場合は、構成点取得手段144は、交点により作成される多角形の重心を算出し、当該重心を構成点とする。ステップS312に行く
【0084】
(ステップS311)構成点取得手段144は、一つの交点を構成点として、取得する。
【0085】
(ステップS312)補助線取得手段145は、構成点取得手段144が取得した構成点を、予め決められたバッファ(補助線バッファ)に追記する。
【0086】
(ステップS313)補助線構成部14は、カウンタiを1、インクリメントする。ステップS302に戻る。
【0087】
(ステップS314)補助線構成部14は、補助線の両端または一方の端を延ばした延長部の情報を取得する。例えば、補助線構成部14は、補助線を構成する両端の直線(補助線バッファの端からの2点で構成される直線)を、予め決められた長さ、または補助線の長さに対する割合分だけ延長する直線の端点の情報を取得する。なお、かかる場合、端点が延長部を構成する。なお、延長部の長さの決定方法は問わない。
【0088】
(ステップS315)補助線構成部14は、ステップS312で追記された構成点から構成される線と、ステップS314で取得した延長部とから、補助線を構成する。補助線の構成とは、例えば、補助線を示す点の集合を取得することや、記録媒体に蓄積することなどでも良い。上位処理にリターンする。
【0089】
(ステップS316)補助線出力部15は、メッシュ出力部13が出力しているメッシュと同一の画面上に補助線を出力する。補助線出力部15は、ステップS315で構成した補助線を出力する。上位処理にリターンする。
【0090】
次に、ステップS307の径変更処理について、図4のフローチャートを用いて説明する。
【0091】
(ステップS401)補助線出力部15は、受け付けられた径情報に応じて、補助線を移動する。なお、ここでの径情報は、例えば、補助線の移動位置を示す座標情報(例えば、(x,y,z))である。そして、補助線出力部15は、径情報が示す位置に補助線が載るように、補助線を平行移動して、出力する。なお、補助線の移動は、例えば、ユーザが、マウスでドラッグされた補助線をリリースすることにより、実行される。
【0092】
(ステップS402)メッシュ変更部16は、径情報を用いて、フィレットの径を算出する。フィレットの径は、ここでは、径情報が示す位置の点と、基準点との距離である。なお、受け付けられた径情報が、フィレットの径である場合、本ステップにおける処理は不要である。
【0093】
(ステップS403)メッシュ変更部16は、カウンタiに1を代入する。
【0094】
(ステップS404)メッシュ変更部16は、フィレットの内の点であり、i番目の点が存在するか否かを判断する。i番目の点が存在すればステップS405に行き、i番目の点が存在しなければステップS407に行く。なお、i番目の点は、メッシュ上の点である。
【0095】
(ステップS405)メッシュ変更部16は、ステップS402で算出した径となるように、i番目の点を移動する。なお、点の移動とは、移動後の点の座標情報を算出し、バッファに書き込むことである。また、メッシュ変更部16は、通常、補助線の位置に対して、ステップS402で算出した径となるように、i番目の点を移動する。
【0096】
(ステップS406)メッシュ変更部16は、カウンタiを1、インクリメントする。ステップS404に戻る。
【0097】
(ステップS407)メッシュ変更部16は、カウンタjに1を代入する。
【0098】
(ステップS408)メッシュ変更部16は、フィレットの外の点であり、j番目の点が存在するか否かを判断する。j番目の点が存在すればステップS409に行き、j番目の点が存在しなければ上位処理にリターンする。
【0099】
(ステップS409)メッシュ変更部16は、現在のj番目の点(位置の変更前のj番目の点)が、変更後のフィレットの曲面内に入る点であるか否かを判断する。変更後のフィレットの曲面内に入る点であればステップS410に行き、変更後のフィレットの曲面内に入る点でなければステップS411に行く。
【0100】
(ステップS410)メッシュ変更部16は、j番目の点の処理を行う。j番目の点の処理とは、j番目の点を削除する処理、または、変更後のフィレットの曲面外に位置するように移動する処理である。なお、j番目の点を変更後のフィレットの曲面外に位置するように移動する場合、他のフィレットの外の点も、ずれるように移動することは好適である。
【0101】
(ステップS411)メッシュ変更部16は、カウンタjを1、インクリメントする。ステップS408に戻る。
【0102】
以下、本実施の形態における三次元CAD装置の具体的な動作について説明する。第一の補助線を用いる具体例1の方法、第二の補助線を用いる具体例2の方法、およびユーザがキーボード等の入力デバイスを用いて、フィレットの径を入力する具体例3の方法について説明する。
(具体例1)
【0103】
今、三次元CAD装置の記憶部2には、3次元のCADデータが格納されている。そして、ユーザは、入力部3を用いて、メッシュデータ生成指示を入力した、とする。
【0104】
次に、データ受付部4は、メッシュデータ生成指示を受け付ける。そして、メッシュデータ生成部6は、メッシュデータ生成指示に従い、記憶部2に格納されているCADデータを読み出し、メッシュデータを生成し、メッシュ変更装置1のメッシュデータ格納部11に蓄積した、とする。
【0105】
次に、ユーザは、入力部3を用いて、メッシュ出力指示を入力する。そして、受付部12は、メッシュ出力指示を受け付ける。
【0106】
次に、メッシュ出力部13は、メッシュデータ格納部11からメッシュデータを読み出す。そして、メッシュ出力部13は、読み出したメッシュデータを用いて、メッシュを出力する。かかるメッシュの出力例を、図5に示す。
【0107】
次に、ユーザは、入力部3を用いて、径変更指示を入力する。径変更指示は、例えば、図6に示すように、マウスである入力部3を用いて、径を変更するフィレットを特定する入力を含む。図6において、径変更指示は、601の領域指定により特定されるフィレットが、径を変更する対象のフィレットである。なお、径を変更する対象のフィレットのみを取り出した図が、図7である。図7は、フィレットのメッシュの出力である。
【0108】
次に、以下のように、補助線構成部14は補助線を構成する。まず、基準点取得手段141は、図7のフィレットの曲面に対して、垂直面ごとに、垂直面上の点であり、メッシュ上の点である2以上の基準点を取得する。基準点の例は、図7の701、702である。なお、フィレットの曲面を垂直面で切った図が、図8である。図8において、基準点は701、702である。
【0109】
次に、水平線取得手段142は、2つの基準点に対応する水平線を取得する。図8において、水平線は801、802である。
【0110】
次に、垂直線取得手段143は、水平線取得手段142が取得した水平線に垂直の線である垂直線を取得する。図8において、垂直線は803、804である。
【0111】
次に、構成点取得手段144は、取得された2以上の垂直線の交点を取得する。図8において、交点は805である。なお、補助線は、図8の面に垂直の線であり、交点は805を通過する線により構成されることとなる。
【0112】
次に、構成点取得手段144は、交点805を構成点として、補助線バッファに追記する。なお、図8において、806の矢印は、805から、例えば、水平軸のような基準軸で、後述するθ1とθ2を求めるための基準軸を示す。
【0113】
上記の処理を、補助線構成部14は、垂直面ごとに行う。そして、補助線バッファには、補助線を構成する構成点の集合が存在することとなる。かかる段階で、図9に示すように、フィレットのメッシュから、構成点の集合が取得できたこととなる。
【0114】
次に、補助線構成部14は、補助線の両端(一方の端でも良い)を延ばした延長部の情報を取得する。ここで、例えば、補助線構成部14は、補助線を構成する両端の直線(補助線バッファの端からの2点で構成される直線)を、予め決められた長さ分だけ延長する直線の端点の情報を取得する。図10において、矢印が、延長した延長部である。
【0115】
次に、補助線構成部14は、追記された構成点から構成される線と、取得した延長部とから、補助線を構成する。つまり、補助線構成部14は、延長部を特定する情報(点の情報)も補助線バッファに追記し、最終的な補助線を構成する点(構成点)の集合が補助線バッファに格納される。
【0116】
補助線出力部15は、メッシュ出力部13が出力しているメッシュと同一の画面上に補助線を出力する。補助線出力部15は、補助線バッファ内の構成点の情報を用いて、補助線を出力する。図11は、補助線の出力例である。なお、図11において、補助線は1101であり、波線であるが、線の形態は問わないことは言うまでもない。
【0117】
次に、ユーザは、入力部2(例えば、マウス)を用いて、補助線を移動させる。例えば、ユーザは、補助線を、径が小さくなる方向(図12参照)に移動させたとする。径が小さくなる方向とは、補助線をフィレットの曲面に近づける方向の移動である。すると、受付部12は、径情報を受け付ける。ここでの径情報は、例えば、変更後の補助線の位置を示す補助線上の点の座標情報である。
【0118】
次に、補助線出力部15は、受け付けられた径情報に応じて、補助線を移動する。つまり、補助線は、図12に示すように、元の補助線の位置より、フィレットの曲面に近づく方向に移動する。
【0119】
次に、メッシュ変更部16は、径情報を用いて、フィレットの径を算出する。この径は、「R−ΔR」であった、とする。なお、元のフィレットの径は、「R」である、とする。
【0120】
次に、メッシュ変更部16は、フィレットの内の点であり、メッシュ上の点を、径「R−ΔR」となるように移動させる。
【0121】
すると、図13に示すように、メッシュの表示状態において、メッシュの径が縮小される。なお、図13では、「ΔR」は「1.0mm」である。また、メッシュ変更部16は、図12において、θ1、θ2を変更しないように、フィレットの径を変更する。なお、θ1、θ2は、基準軸806(例えば水平軸)から構成点へのなす角である。
【0122】
次に、ユーザは、フィレットの径を元に戻した(例えば、undoした)、とする。また、次に、ユーザは、入力部2(例えば、マウス)を用いて、補助線を移動させる。例えば、ユーザは、補助線を、径が大きくなる方向(図14参照)に移動させたとする。径が大きくなる方向とは、補助線をフィレットの曲面から遠ざける方向の移動である。すると、受付部12は、径情報を受け付ける。ここでの径情報は、例えば、変更後の補助線の位置を示す補助線上の点の座標情報である。
【0123】
次に、補助線出力部15は、受け付けられた径情報に応じて、補助線を移動する。つまり、補助線は、図14に示すように、元の補助線の位置より、フィレットの曲面から遠ざかる方向に移動する。
【0124】
次に、メッシュ変更部16は、径情報を用いて、フィレットの径を算出する。この径は、「R+ΔR」であった、とする。なお、元のフィレットの径は、「R」である、とする。
【0125】
次に、メッシュ変更部16は、フィレットの内の点であり、メッシュ上の点を、径「R+ΔR」となるように移動させる。
【0126】
すると、メッシュの表示状態において、メッシュの径が拡大される。また、メッシュ変更部16は、図14において、θ1、θ2を変更しないように、フィレットの径を変更する。
【0127】
次に、メッシュ変更部16は、変更前のフィレット外の点であり、変更後のフィレットの曲面内に入る点を削除する。なお、ここで、変更前のフィレット外の点であり、変更後のフィレットの曲面内に入る点を、フィレットの曲面から遠ざかる方向に、ずらしながら移動しても良い。なお、メッシュ変更部16が、どの程度、上記の点の位置をずらすかは、問わない。
【0128】
なお、上記の具体例1において、凸面のフィレットの径を変更した。しかし、図15に示すように、凹面のフィレットの径を変更しても良い。図15において、左側が変更前の凹面のフィレット、右側が変更後の凹面のフィレットである。
(具体例2)
【0129】
今、具体例1と同様に、ユーザの指示により、図5に示すメッシュが出力された、とする。
【0130】
次に、ユーザは、入力部3を用いて、径変更指示を入力する。そして、径変更指示に含まれるフィレットを特定する情報により特定されたフィレットは、図7のフィレットである。
【0131】
次に、以下のように、補助線構成部14は補助線を構成する。つまり、本具体例において、補助線構成部14は、メッシュを構成する1以上の点であり、1以上のフィレットの曲面上の点のうちの中点(略中点でも良い)を取得し、当該中点から、曲面に対して垂直に延びる線であり、元のフィレットRの長さの線を構成する端点から構成される線である補助線を構成する。
【0132】
さらに具体的には、補助線構成部14は、図16に示すように、フィレットの曲面上の中点1601を、垂直面ごとに、2以上取得する。なお、図16は、フィレットの曲面を垂直に切った垂直面である。
【0133】
次に、補助線構成部14は、中点1601から、曲面に対して垂直に延びる線1603(中点1601を含み、フィレットの曲面に水平の線に対して垂直の線)であり、元のフィレットRの長さの線を構成する端点1604を、構成点として取得する。次に、補助線構成部14は、構成点を補助線バッファに追記する。
【0134】
補助線構成部14は、かかる処理を、フィレットの曲面上のすべての中点に対して行う。そして、補助線バッファには、補助線を構成する構成点の集合が格納される。
【0135】
また、補助線構成部14は、補助線の両端(一方の端でも良い)を延ばした延長部の情報を取得する。ここで、例えば、補助線構成部14は、補助線を構成する両端の直線(補助線バッファの端からの2点で構成される直線)を、予め決められた長さ分だけ延長する直線の端点の情報を取得する。
【0136】
次に、補助線構成部14は、追記された構成点から構成される線と、取得した延長部とから、補助線を構成する。つまり、補助線構成部14は、延長部を特定する情報(点の情報)も補助線バッファに追記し、最終的な補助線を構成する点(構成点)の集合が補助線バッファに格納される。
【0137】
次に、補助線出力部15は、メッシュ出力部13が出力しているメッシュと同一の画面上に補助線を出力する。補助線出力部15は、補助線バッファ内の構成点の情報を用いて、補助線を出力する。図11は、補助線の出力例である。
【0138】
次に、ユーザは、入力部2(例えば、マウス)を用いて、補助線を移動させる。例えば、ユーザは、補助線を、径が小さくなる方向(図12参照)に移動させたとする。径が小さくなる方向とは、補助線をフィレットの曲面に近づける方向の移動である。すると、受付部12は、径情報を受け付ける。ここでの径情報は、例えば、変更後の補助線の位置を示す補助線上の点の座標情報である。
【0139】
次に、補助線出力部15は、受け付けられた径情報に応じて、補助線を移動する。つまり、補助線は、図12に示すように、元の補助線の位置より、フィレットの曲面に近づく方向に移動する。
【0140】
次に、メッシュ変更部16は、径情報を用いて、フィレットの径を算出する。この径は、「R−ΔR」であった、とする。なお、元のフィレットの径は、「R」である、とする。
【0141】
次に、メッシュ変更部16は、フィレットの内の点であり、メッシュ上の点を、径「R−ΔR」となるように移動させる。
【0142】
すると、図13に示すように、メッシュの表示状態において、メッシュの径が縮小される。なお、図13では、「ΔR」は「1.0mm」である。また、メッシュ変更部16は、図12において、θ1、θ2を変更しないように、フィレットの径を変更する。
【0143】
次に、ユーザは、フィレットの径を元に戻した(例えば、undoした)、とする。また、次に、ユーザは、入力部2(例えば、マウス)を用いて、補助線を移動させる。例えば、ユーザは、補助線を、径が大きくなる方向(図14参照)に移動させたとする。径が大きくなる方向とは、補助線をフィレットの曲面から遠ざける方向の移動である。すると、受付部12は、径情報を受け付ける。ここでの径情報は、例えば、変更後の補助線の位置を示す補助線上の点の座標情報である。
【0144】
次に、補助線出力部15は、受け付けられた径情報に応じて、補助線を移動する。つまり、補助線は、図14に示すように、元の補助線の位置より、フィレットの曲面から遠ざかる方向に移動する。
【0145】
次に、メッシュ変更部16は、径情報を用いて、フィレットの径を算出する。この径は、「R+ΔR」であった、とする。なお、元のフィレットの径は、「R」である、とする。
【0146】
次に、メッシュ変更部16は、フィレットの内の点であり、メッシュ上の点を、径「R+ΔR」となるように移動させる。
【0147】
すると、メッシュの表示状態において、メッシュの径が拡大される。また、メッシュ変更部16は、図14において、θ1、θ2を変更しないように、フィレットの径を変更する。
【0148】
なお、上記の具体例2において、凸面のフィレットの径を変更した。しかし、図15に示すように、凹面のフィレットの径を変更しても良い。
(具体例3)
【0149】
今、具体例1と同様に、ユーザの指示により、図5に示すメッシュが出力された、とする。
【0150】
次に、ユーザは、入力部3を用いて、径変更指示を入力する。径変更指示は、例えば、図6に示すように、マウスである入力部3を用いて、径を変更するフィレットを特定する入力を含む。図6において、径変更指示は、601の領域指定により特定されるフィレットが、径を変更する対象のフィレットである。
【0151】
次に、メッシュ変更部16は、指定されたフィレットの径の変更を受け付ける画面(図17参照)を出力する、とする。なお、図17の画面において、現在のフィレットの径「6」mmが表示されている。
【0152】
次に、ユーザは、変更後のフィレットの径を入力するフィールドに「10」mmを入力し、「決定」ボタンを押下した、とする。
【0153】
すると、受付部12は、変更後のフィレットの径「10」mmを含む径情報を受け付ける。
【0154】
次に、メッシュ変更部16は、フィレットの径が「10」mmになるように、メッシュデータを変更する。メッシュの変更処理は上述した通りである。
【0155】
以上、本実施の形態によれば、メッシュにおいてフィレットの径を、正確に変更できる。
【0156】
また、本実施の形態によれば、補助線を用いてフィレットの径を変更することにより、正確に、かつ、容易にフィレットの径を変更できる。
【0157】
また、本実施の形態において、フィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の1以上の点が移動することとなる場合でも、外部点を、メッシュから消去したり、外部点をフィレットの曲面上に載らないように移動したりすることにより、フィレットの曲面の外部のメッシュ上の点についても適切に処理できる。
【0158】
さらに、本実施の形態において、延長された補助線を用いて、フィレットの径を、正確に、かつ、極めて容易に変更できる。
【0159】
なお、本実施の形態において、図18の(a)に示すようなパイプモデル(フィレットの曲面が閉じた曲面)においても、フィレットの径の変更は適用できることは言うまでもない。
【0160】
パイプモデルにおいて、補助線構成部14は、パイプの断面の中心点を構成点として取得する(図18の(b))。
【0161】
次に、補助線構成部14は、構成点の集合から補助線を構成する(図18の(c))。そして、補助線出力部15は、補助線を出力する。
【0162】
なお、補助線が出力された際、例えば、メッシュ出力部13は、パイプのうちの一部のメッシュデータを用いて、一部のメッシュを出力することは好適である。一部のメッシュとは、パイプが流れる方向に切り取って、残ったメッシュである(図19の1901)。
【0163】
そして、ユーザは、図19の1902(図18の(c))の補助線を、矢印に方向に移動させることにより、パイプの径の拡大、縮小が可能となる。図20は、パイプの径を23.5mmから、30.0mmに拡大した場合の表示例である。なお、パイプの径を拡大する場合のメッシュの変更処理は、上述したメッシュ変更部16が行うメッシュ変更処理である。
【0164】
また、本実施の形態によれば、メッシュ変更装置1は三次元CAD装置の中に存在したが、三次元CAD装置から独立していても良い。
【0165】
また、本実施の形態によれば、補助線の生成のアルゴリズムや、メッシュ変更のアルゴリズム等は問わないことは言うまでもない。例えば、メッシュ変更装置は、以下のように補助線を生成し、メッシュを変更しても良い。かかるメッシュ変更装置2は、図21に示すブロック図の構成になる。メッシュ変更装置2は、メッシュデータ格納部11、受付部12、メッシュ出力部13、補助線構成部24、補助線出力部15、メッシュ変更部26を備える。
補助線構成部24は、境界情報取得手段241、法線ベクトル取得手段242、曲率半径取得手段243、補助線候補点取得手段244、補助線候補点集約手段245、補助線延長手段246を具備する。
メッシュ変更部26は、補助点取得手段261、交点取得手段262、角度算出手段263、変更後構成点取得手段264を具備する。
境界情報取得手段241は、例えば、受付部12がフィレット変更範囲を指定する指示を受け付けた後、当該指示に対応するフィレット変更範囲から、変更するフレットの境界線および境界点を判別する。境界情報取得手段241は、図22に示すように、長手方向の2つの境界線(長さ境界線)と丸め方向の2つの境界線(角度境界線)を決定する。境界情報取得手段241は、受付部12が受け付けた指示に含まれる座標情報から、長さ境界線(図22の長さ境界線−1、長さ境界線−2)を決定する。また、境界情報取得手段241は、メッシュ上の点を結ぶ線の直線性から、角度境界線(図22の角度境界線−1、角度境界線−2)を決定する。そして、境界情報取得手段241は、メッシュデータと、長さ境界線と、角度境界線とから、図22に示すように、共通境界線構成点、長さ境界線構成点、角度境界線構成点、およびメッシュ構成点を取得する。
法線ベクトル取得手段242は、共通境界線構成点、長さ境界線構成点、角度境界線構成点、およびメッシュ構成点の法線ベクトルを取得する。図23に示すように、通常、法線ベクトル取得手段242は、まず、フィレット変更範囲の構成点により構成される各面の法線ベクトル(波線の矢印)を取得する。なお、平面の法線ベクトルを取得する処理は公知技術である。次に、法線ベクトル取得手段242は、各構成点(共通境界線構成点、長さ境界線構成点、角度境界線構成点、およびメッシュ構成点)に対して、接する面の法線ベクトルの重み付き平均を算出し、当該算出したベクトルを各構成点の法線ベクトル(実線の矢印)として取得する。なお、重みは、例えば、各面の面積比と同等とする。また、図22によれば、各構成点は1から4の面に接しているので、各構成点の法線ベクトルは1から4の面の法線ベクトルの重み付き平均により得られる。
曲率半径取得手段243は、2以上の構成点の法線ベクトルを、要素中心を基準とした相対値にして曲率半径を算出する。例えば、図24に示すように、曲率半径取得手段243は、2つの構成点間(ここでは、ab間)で、単位長あたりの法線ベクトルの変化量から曲率半径(ρ)を取得する。なお、図24において、「曲率半径=(V1ーV2)/構成点間の距離」となる。また、曲率半径の取得方法は問わない。
補助線候補点取得手段244は、法線ベクトル取得手段242が取得した構成点の法線ベクトルと、曲率半径取得手段243が取得した曲率半径とから、補助線を構成する候補点である補助線候補点を取得する。つまり、補助線候補点取得手段244は、各構成点の法線ベクトルを曲率半径の長さだけ延長した点を、補助線候補点として取得する(図25参照)。
補助線候補点集約手段245は、一列のメッシュ構成点から構成される複数の補助線候補点を集約して一の補助線構成点を決定する。そして、補助線候補点集約手段245は、フィレット変更範囲のすべての列のメッシュ構成点から、複数の補助線構成点を取得する(図26参照)。
補助線延長手段246は、補助線候補点集約手段245が取得した複数の補助線構成点から構成される補助線を延長する。補助線延長手段246は、補助線候補点集約手段245が取得した複数の補助線構成点から構成される補助線の両端または一方の端を延長した先の点である補助線延長部点を取得する。そして、補助線延長手段246は、補助線の両端または一方の端の点と、補助線延長部点とを結ぶ補助線延長部を得る。補助線延長手段246は、補助線の端の点、およびその先の点の2点を取得し、予め決められた長さまたは、補助線全体からの割合(例えば、1割)から得られる長さだけ、当該2点により構成される直線を伸ばし、補助線延長部点を取得する。なお、補助線延長部点の取得方法(長さや延長の方向(ベクトル)等)は問わない。補助線が延長され、操作しやすくなれば良い。
補助点取得手段261は、構成点ごとに、当該構成点の法線ベクトルと補助線との交点である補助点を取得する(図27参照)。
交点取得手段262は、構成点ごとに、補助点取得手段261が取得した補助点を通る任意のX軸と、X軸に垂直なY軸を求める。そして、交点取得手段262は、構成点ごとに、XY平面と境界線との交点を算出する(図27参照)。
角度算出手段263は、X軸に対して、処理対象の構成点(移動点とも言う)のなす角度θと半径Rを取得する。そして、角度算出手段263は、X軸に対して境界線構成点のなす角度θ1、θ2とを算出する(図28参照)。
変更後構成点取得手段264は、構成点ごとに、補助点を平均角度方向に移動し、移動後の補助点から、指定された半径を用いてθ1、θ2の角度分を回転移動させることで、新たな構成点の位置を取得する(図29参照)。図29に示すように、フィレットRを縮小する場合とフィレットRを拡大する場合において、補助点の移動方向と指定された半径が異なるのみで、同様に新たな構成点の位置を取得する。
補助線構成部24、メッシュ変更部26は、通常、MPUやメモリ等から実現され得る。補助線構成部24等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、メッシュ変更装置2の動作について説明する。メッシュ変更装置2とメッシュ変更装置1とは、補助線の出力方法や、径変更処理を含むメッシュ変更処理は異なるが、他の動作は同じでよい。また、補助線の出力方法やメッシュ変更処理は上述した通りである。
そして、メッシュ変更装置2により、フィレットRを縮小または拡大した出力結果の例を図30に示す。図30(a)は、変更前のメッシュデータであり、変更対象のフィレットRは9mmである。メッシュ変更装置2により、フィレットRを縮小した場合、図30(a)は図30(b)に変わり、フィレットRを拡大した場合、図30(a)は図30(c)に変わる。
【0166】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、3次元物体の形状を示すメッシュを構成する情報であり、1以上のフィレットを有する形状を示すメッシュを構成する情報であるメッシュデータを格納しており、コンピュータを、前記記憶媒体に格納されているメッシュデータを読み込み、当該メッシュデータを用いて、前記3次元物体の形状を示すメッシュを出力するメッシュ出力部と、1以上の各フィレットに対する径の情報である径情報を受け付ける受付部と、前記受付部が受け付けた径情報に応じて、前記メッシュ出力部が出力している3次元物体の形状を示すメッシュが有するフィレットの径を変更するメッシュ変更部として機能させるためのプログラムであり、前記メッシュ出力部は、前記メッシュ変更部が変更した径のフィレットを有する3次元物体の形状を示すメッシュを出力するものとして機能させるためのプログラムである。
【0167】
また、上記プログラムにおいて、コンピュータを、フィレットの曲面上の点であり、前記メッシュを構成する1以上の点を用いて、前記フィレットの曲面に並行する線である補助線を構成する補助線構成部と、前記補助線構成部が構成した補助線を、前記メッシュ出力部が出力しているメッシュと同一の画面上に出力する補助線出力部としてさらに機能させ、前記受付部は、前記補助線を移動させる入力であり、フィレットの径を特定する入力である径情報を受け付け、前記メッシュ出力部は、前記補助線の移動に伴い、前記径情報に従ってフィレットの径を変更した3次元物体の形状を示すメッシュを出力するものとして機能させるためのプログラムであることは好適である。
【0168】
また、上記プログラムにおいて、前記補助線構成部は、メッシュ上の点であり、フィレットの曲面を垂直に切る面である垂直面の上の点である基準点を、2以上の垂直面ごとに、2以上取得する基準点取得手段と、前記基準点取得手段が取得した2以上の各基準点に接する線であり、前記フィレットの曲面に水平に接する線である2以上水平線に垂直の線である垂直線を2以上、垂直面ごとに取得する垂直線取得手段と、前記垂直線取得手段が取得した2以上の垂直線の1以上の交点から、補助線を構成する点である構成点を、垂直面ごとに取得する構成点取得手段と、前記構成点取得手段が取得した、垂直面ごとの構成点から、補助線を取得する補助線取得手段とを具備するものとして機能させるためのプログラムであることは好適である。
【0169】
また、上記プログラムにおいて、前記受付部は、径を変更するフィレットを特定する指示、および径情報を受け付けるものとして機能させるためのプログラムであることは好適である。
【0170】
また、上記プログラムにおいて、前記メッシュ変更部は、前記変更したフィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の1以上の点が移動することとなる場合、前記外部点を、前記メッシュから消去するものとして機能させるためのプログラムであることは好適である。
【0171】
また、上記プログラムにおいて、前記メッシュ変更部は、前記変更したフィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の1以上の点が移動することとなる場合、当該フィレットの曲面上の点の移動に応じて、前記外部点をフィレットの曲面上に載らないように移動するものとして機能させるためのプログラムであることは好適である。
【0172】
また、上記プログラムにおいて、前記補助線構成部は、フィレットの曲面上の点であり、前記メッシュを構成する1以上の点を用いて、前記フィレットの曲面に並行する線を構成し、かつ、当該線の一端または両端を延長した延長部を前記線に付加した補助線を構成するものとして機能させるためのプログラムであることは好適である。
【0173】
また、図31は、本明細書で述べたプログラムを実行して、上述した実施の形態のメッシュ変更装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図31は、このコンピュータシステム340の概観図であり、図32は、コンピュータシステム340の内部構成を示す図である。
【0174】
図31において、コンピュータシステム340は、FDドライブ3411、CD−ROMドライブ3412を含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
【0175】
図32において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、MPU3413と、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM3415とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
【0176】
コンピュータシステム340に、上述した実施の形態のメッシュ変更装置等の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
【0177】
プログラムは、コンピュータ341に、上述した実施の形態のメッシュ変更装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
【0178】
なお、上記プログラムにおいて、ハードウェアによって行われる処理は含まれない。
【0179】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0180】
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0181】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0182】
以上のように、本発明にかかるメッシュ変更装置は、メッシュにおいてフィレットの径を正確に変更できるという効果を有し、三次元CAD装置等として有用である。
【符号の説明】
【0183】
1 メッシュ変更装置
2 記憶部
3 入力部
4 データ受付部
5 演算部
6 メッシュデータ生成部
7 表示部
11 メッシュデータ格納部
12 受付部
13 メッシュ出力部
14 補助線構成部
15 補助線出力部
16 メッシュ変更部
141 基準点取得手段
142 水平線取得手段
143 垂直線取得手段
144 構成点取得手段
145 補助線取得手段

【特許請求の範囲】
【請求項1】
3次元物体の形状を示すメッシュを構成する情報であり、1以上のフィレットを有する形状を示すメッシュを構成する情報であるメッシュデータを格納し得るメッシュデータ格納部と、
前記メッシュデータ格納部に格納されているメッシュデータを読み込み、当該メッシュデータを用いて、前記3次元物体の形状を示すメッシュを出力するメッシュ出力部と、
1以上の各フィレットに対する径の情報である径情報を受け付ける受付部と、
前記受付部が受け付けた径情報に応じて、前記メッシュ出力部が出力している3次元物体の形状を示すメッシュが有するフィレットの径を変更するメッシュ変更部とを具備し、
前記メッシュ出力部は、
前記メッシュ変更部が変更した径のフィレットを有する3次元物体の形状を示すメッシュを出力するメッシュ変更装置。
【請求項2】
フィレットの曲面上の点であり、前記メッシュを構成する1以上の点を用いて、前記フィレットの曲面に並行する線である補助線を構成する補助線構成部と、
前記補助線構成部が構成した補助線を、前記メッシュ出力部が出力しているメッシュと同一の画面上に出力する補助線出力部とをさらに具備し、
前記受付部は、
前記補助線を移動させる入力であり、フィレットの径を特定する入力である径情報を受け付け、
前記メッシュ出力部は、
前記補助線の移動に伴い、前記径情報に従ってフィレットの径を変更した3次元物体の形状を示すメッシュを出力する請求項1記載のメッシュ変更装置。
【請求項3】
前記補助線構成部は、
メッシュ上の点であり、フィレットの曲面を垂直に切る面である垂直面の上の点である基準点を、2以上の垂直面ごとに、2以上取得する基準点取得手段と、
前記基準点取得手段が取得した2以上の各基準点に接する線であり、前記フィレットの曲面に水平に接する線である2以上水平線に垂直の線である垂直線を2以上、垂直面ごとに取得する垂直線取得手段と、
前記垂直線取得手段が取得した2以上の垂直線の1以上の交点から、補助線を構成する点である構成点を、垂直面ごとに取得する構成点取得手段と、
前記構成点取得手段が取得した、垂直面ごとの構成点から、補助線を取得する補助線取得手段とを具備する請求項2記載のメッシュ変更装置。
【請求項4】
前記受付部は、
径を変更するフィレットを特定する指示、および径情報を受け付ける請求項1記載のメッシュ変更装置。
【請求項5】
前記メッシュ出力部は、
前記メッシュ変更部が変更したフィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の1以上の点が移動することとなる場合、前記外部点を、前記メッシュから消去する請求項1から請求項4いずれか記載のメッシュ変更装置。
【請求項6】
前記メッシュ出力部は、
前記メッシュ変更部が変更したフィレットの径が大きくなり、フィレットの曲面上の点が移動する場合に、フィレットの径の変更前にフィレットの曲面の外に存在した点である外部点を超えて、フィレットの曲面上の1以上の点が移動することとなる場合、当該フィレットの曲面上の点の移動に応じて、前記外部点をフィレットの曲面上に載らないように移動する請求項1から請求項4いずれか記載のメッシュ変更装置。
【請求項7】
前記補助線構成部は、
フィレットの曲面上の点であり、前記メッシュを構成する1以上の点を用いて、前記フィレットの曲面に並行する線を構成し、かつ、当該線の一端または両端を延長した延長部を前記線に付加した補助線を構成する請求項2から請求項6いずれか記載のメッシュ変更装置。
【請求項8】
記憶媒体に、
3次元物体の形状を示すメッシュを構成する情報であり、1以上のフィレットを有する形状を示すメッシュを構成する情報であるメッシュデータを格納しており、
メッシュ出力部、受付部、およびメッシュ変更部により実現されるメッシュ変更方法であって、
前記メッシュ出力部により、前記記憶媒体に格納されているメッシュデータを読み込み、当該メッシュデータを用いて、前記3次元物体の形状を示すメッシュを出力するメッシュ出力ステップと、
前記受付部により、1以上の各フィレットに対する径の情報である径情報を受け付ける受付ステップと、
前記メッシュ変更部により、前記受付ステップで受け付けた径情報に応じて、前記メッシュ出力ステップで出力した3次元物体の形状を示すメッシュが有するフィレットの径を変更するメッシュ変更ステップとを具備し、
前記メッシュ出力ステップは、
前記メッシュ変更ステップで変更された径のフィレットを有する3次元物体の形状を示すメッシュを出力するメッシュ変更方法。
【請求項9】
記憶媒体に、
3次元物体の形状を示すメッシュを構成する情報であり、1以上のフィレットを有する形状を示すメッシュを構成する情報であるメッシュデータを格納しており、
コンピュータを、
前記記憶媒体に格納されているメッシュデータを読み込み、当該メッシュデータを用いて、前記3次元物体の形状を示すメッシュを出力するメッシュ出力部と、
1以上の各フィレットに対する径の情報である径情報を受け付ける受付部と、
前記受付部が受け付けた径情報に応じて、前記メッシュ出力部が出力している3次元物体の形状を示すメッシュが有するフィレットの径を変更するメッシュ変更部として、機能させるためのプログラムであり、
前記メッシュ出力部は、
前記メッシュ変更部が変更した径のフィレットを有する3次元物体の形状を示すメッシュを出力するものとして機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図21】
image rotate

【図23】
image rotate

【図24】
image rotate

【図31】
image rotate

【図32】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図22】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate


【公開番号】特開2011−134165(P2011−134165A)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願番号】特願2009−293943(P2009−293943)
【出願日】平成21年12月25日(2009.12.25)
【出願人】(507228172)株式会社JSOL (23)
【Fターム(参考)】