多面体生成プログラム、多面体生成装置および多面体生成方法
【課題】任意の物理量の誤差を許容範囲内に抑え、かつ過剰精度とならない多面体データを容易に得ることができるようにする。
【解決手段】多面体生成手段1bにより、複数のサンプリングメッシュ数に相当するメッシュ数の複数のサンプル多面体データが生成される。次に、誤差計算手段1dにより、所定の物理量に関して、3次元CADデータで示される物体とサンプル多面体データで示される多面体との間の誤差が、サンプル多面体データごとに計算される。さらに、関係式生成手段1eにより、多面体を構成するメッシュ数と誤差との相関関係を示す関係式が生成される。そして、誤差保証メッシュ数決定手段1gにより、許容誤差が関係式に代入され、許容誤差を保証する誤差保証メッシュ数が算出され、多面体生成手段1bにより、誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データ1hが生成される。
【解決手段】多面体生成手段1bにより、複数のサンプリングメッシュ数に相当するメッシュ数の複数のサンプル多面体データが生成される。次に、誤差計算手段1dにより、所定の物理量に関して、3次元CADデータで示される物体とサンプル多面体データで示される多面体との間の誤差が、サンプル多面体データごとに計算される。さらに、関係式生成手段1eにより、多面体を構成するメッシュ数と誤差との相関関係を示す関係式が生成される。そして、誤差保証メッシュ数決定手段1gにより、許容誤差が関係式に代入され、許容誤差を保証する誤差保証メッシュ数が算出され、多面体生成手段1bにより、誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データ1hが生成される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は3次元CAD(Computer Aided Design)データに基づいて複数のメッシュで構成される多面体を生成するための多面体生成プログラム、多面体生成装置および多面体生成方法に関し、特に誤差を保証した多面体を生成するための多面体生成プログラム、多面体生成装置および多面体生成方法に関する。
【背景技術】
【0002】
工業製品の設計には、多くの場合、3次元CADソフトウェアが用いられる。3次元CADソフトウェアは、コンピュータ上の操作で部品を設計できると共に、部品等の形状を電子データ(3次元CADデータ)で管理および配布できるため非常に便利である。
【0003】
3次元CADデータには、曲面を含む複雑な形状が定義されている。そのため、CAM(Computer Aided Manufacturing)やCAE(Computer Aided Engineering)等の他のソフトウェアで利用する場合、データの内容が複雑すぎてしまう。そこで、3次元CADデータを他のソフトウェアで流用するために、多面体データへのデータ変換が行われる。
【0004】
多面体データは、3次元CADデータで示される形状をメッシュと呼ばれる平面の集合(多面体)に置き換えたものである。多面体を構成する各メッシュは3角形をしており、形状の頂点の座標を定義することで、そのメッシュの形状、位置、および向きを特定できる。そのため、3次元CADデータを多面体データへ変換することで、データ量を削減できると共に、データ構造を単純化できる。
【0005】
ところで、3次元CADデータを多面体データへ変換した場合、多面体データで表現される多面体の形状には、元の3次元CADデータで表される3次元モデルの形状に対して誤差がある。多面体のメッシュ数を多くすれば誤差は少なくなるが、多面体データのデータ量も多くなり、その多面体データを解析するCAMやCAEの処理負荷も大きくなる。そのため、多面体データの使用目的に応じて、適切な精度でデータ変換を行う必要がある。
【0006】
そこで、元の曲面と、その曲面を分割した面との誤差の最大値が、与えられた寸法の許容誤差内となるようにオフセット多面体を生成する技術が考えられている(たとえば、特許文献1参照)。
【特許文献1】特開昭63−64105号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、特許文献1に示すように、全ての面について誤差が許容範囲内となるように曲面を逐次分割した場合、全ての面について誤差を許容範囲内にすることができるが、その一方で処理負荷が大きくなる。特に3次元CADデータによる形状が非常に複雑な場合、処理負荷が過大となる。
【0008】
しかも、特許文献1で指定できる物理量は、元の曲面と分割した面との誤差の最大値のみであり、他の物理量の誤差を指標として、適切なメッシュ数での多面体データを作成することはできない。換言すると、許容誤差を決定するための判断基準は、多面体データの使用目的ごとに異なる。たとえば、多面体データをCAMで利用する場合、工作機械の加工精度に応じて、必要となる多面体データの精度が決定される。また、多面体データをCAEで利用する場合、設計データの許容誤差に応じて、必要となる多面体データの精度が決定される。
【0009】
このように、多面体データの利用目的に応じて、生成すべき多面体データの精度(メッシュ数)を決定するための判断基準が異なってくる。そこで実際には、所定のメッシュ数の多面体データを生成し、生成された多面体データを解析する。そして、生成した多面体データの物理特性が、その利用目的に応じて必要とされる物理特性を満たしているか、あるいは過剰に高精度となっていないかを判断することとなる。多面体データの物理特性が適切でなければ、メッシュ数の異なる多面体データを再度作成し、適切な物理特性となるまで試行錯誤を繰り返すしかなかった。
【0010】
本発明はこのような点に鑑みてなされたものであり、任意の物理量の誤差を許容範囲内に抑え、かつ過剰精度とならない多面体データを容易に得ることができる多面体生成プログラム、多面体生成装置および多面体生成方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明では上記課題を解決するために、図1に示すような機能を有する多面体生成装置1が提供される。本発明の係る多面体生成装置1は、3次元CADデータに基づいて複数のメッシュで構成される多面体を生成するために、次のような機能を有する。CADデータ記憶手段1aは、3次元モデルの形状を定義した3次元CADデータを記憶する。多面体生成手段1bは、多面体の生成指示を受けると、CADデータ記憶手段1aに記憶された3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成する。また、多面体生成手段1bは、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データ1hを生成する。多面体データ記憶手段1cは、多面体生成手段1bで生成された複数のサンプル多面体データを記憶する。誤差計算手段1dは、多面体データ記憶手段1cから複数のサンプル多面体データを取得し、所定の物理量に関して、3次元CADデータで示される物体とサンプル多面体データで示される多面体との間の誤差を、サンプル多面体データごとに計算する。関係式生成手段1eは、誤差計算手段1dによって算出されたサンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と誤差との相関関係を示す関係式を生成する。誤差保証メッシュ数決定手段1gは、所定の物理量に関する許容誤差が予め与えられており、許容誤差を関係式に代入し、許容誤差を保証する誤差保証メッシュ数を算出し、誤差保証メッシュ数を多面体生成手段1bに対して入力する。
【0012】
このような多面体生成装置1によれば、多面体の生成指示を受けると、多面体生成手段1bにより、3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データが生成される。生成されたサンプル多面体データは、多面体データ記憶手段1cで記憶される。次に、誤差計算手段1dにより、所定の物理量に関して、3次元CADデータで示される物体とサンプル多面体データで示される多面体との間の誤差が、サンプル多面体データごとに計算される。さらに、関係式生成手段1eにより、多面体を構成するメッシュ数と誤差との相関関係を示す関係式が生成される。そして、誤差保証メッシュ数決定手段1gにより、許容誤差が関係式に代入され、許容誤差を保証する誤差保証メッシュ数が算出される。算出された誤差保証メッシュ数は多面体生成手段1bに対して入力され、多面体生成手段1bにより、誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データ1hが生成される。
【発明の効果】
【0013】
本発明では、メッシュ数の異なる複数の多面体に基づいて、多面体を構成するメッシュ数と誤差との相関関係を示す関係式を生成し、その関係式に許容誤差を代入することで許容誤差を保証する誤差保証メッシュ数を算出するようにした。これにより、任意の物理量の誤差を許容範囲内に抑え、かつ過剰精度とならない多面体データを容易に生成することができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施の形態を図面を参照して説明する。
図1は、発明の概要を示す図である。本発明に係る多面体生成装置1は、3次元CADデータに基づいて複数のメッシュで構成される多面体を生成するために、CADデータ記憶手段1a、多面体生成手段1b、多面体データ記憶手段1c、誤差計算手段1d、関係式生成手段1e、許容誤差決定手段1f、および誤差保証メッシュ数決定手段1gを有している。
【0015】
CADデータ記憶手段1aは、3次元モデルの形状を定義した3次元CADデータを記憶する。
多面体生成手段1bは、多面体の生成指示を受けると、CADデータ記憶手段1aに記憶された3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成する。たとえば、10から順に10のべき乗の各値(10,102,103,104,・・・)に応じたメッシュ数(所定の上限値まで)をサンプリングメッシュ数とする。また、多面体生成手段1bは、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データ1hを生成する。
【0016】
多面体データ記憶手段1cは、多面体生成手段1bで生成された複数のサンプル多面体データを記憶する。
誤差計算手段1dは、多面体データ記憶手段1cから複数のサンプル多面体データを取得し、所定の物理量に関して、3次元CADデータで示される物体とサンプル多面体データで示される多面体との間の誤差を、サンプル多面体データごとに計算する。所定の物理量は、たとえば、体積誤差や歪エネルギ密度の誤差などである。
【0017】
関係式生成手段1eは、誤差計算手段1dによって算出されたサンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と誤差との相関関係を示す関係式を生成する。たとえば、関係式生成手段1eは、誤差とメッシュ数とを座標軸とした座標平面上で、サンプル多面体データごとに求められた誤差とメッシュ数との関係を示す測定点を設定する。そして、関係式生成手段1eは、測定点の内挿曲線を生成し、生成した内挿曲線を示す式を前記関係式とする。
【0018】
許容誤差決定手段1fは、所定の物理量を一意に決定することができる他の物理量に関する許容誤差の入力を受けると、予め定義された計算式によって所定の物理量に関する許容誤差を算出する。そして、許容誤差決定手段1fは、許容誤差を誤差保証メッシュ数決定手段1gに与える。
【0019】
誤差保証メッシュ数決定手段1gは、所定の物理量に関する許容誤差が予め与えられており、許容誤差を関係式に代入し、許容誤差を保証する誤差保証メッシュ数を算出する。そして、誤差保証メッシュ数決定手段1gは、誤差保証メッシュ数を多面体生成手段1bに対して入力する。
【0020】
このような多面体生成装置1によれば、多面体の生成指示を受けると、多面体生成手段1bにより、3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データが生成される。生成されたサンプル多面体データは、多面体データ記憶手段1cで記憶される。
【0021】
次に、誤差計算手段1dにより、所定の物理量に関して、3次元CADデータで示される物体とサンプル多面体データで示される多面体との間の誤差が、サンプル多面体データごとに計算される。さらに、関係式生成手段1eにより、多面体を構成するメッシュ数と誤差との相関関係を示す関係式が生成される。
【0022】
また、許容誤差決定手段1fにより、予め定義された計算式によって所定の物理量に関する許容誤差が算出される。算出された許容誤差は、誤差保証メッシュ数決定手段1gに与えられる。そして、誤差保証メッシュ数決定手段1gにより、許容誤差が関係式に代入され、許容誤差を保証する誤差保証メッシュ数が算出される。算出された誤差保証メッシュ数は多面体生成手段1bに対して入力され、多面体生成手段1bにより、誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データ1hが生成される。
【0023】
このようにして、任意の物理量を指標として、その物理量を許容誤差内とし、かつ過剰精度とならない多面体データを容易に生成できる。
次に、本実施の形態の詳細を説明する。
【0024】
[第1の実施の形態]
第1の実施の形態として、CAMの加工精度を保証した多面体データの作成技術について説明する。
【0025】
図2は、第1の実施の形態のシステム構成例を示す図である。本実施の形態では、工作機械20にコンピュータ100がネットワーク10経由で接続されている。工作機械20は、内蔵されたコンピュータによって制御され、入力された多面体データで示された形状に、加工物を切削することができる。
【0026】
コンピュータ100は、3次元CADアプリケーションを有している。3次元CADアプリケーションは、ユーザからの操作入力に応答して、任意の形状を表現する3次元CADデータを生成する。また、コンピュータ100は、3次元CADデータに基づいて、工作機械20の加工精度に応じた面数の多面体データを生成することができる。
【0027】
図3は、第1の実施の形態に用いるコンピュータのハードウェア構成例を示す図である。コンピュータ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
【0028】
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。
【0029】
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
【0030】
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
【0031】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図4は、第1の実施の形態に係るコンピュータが有する機能を示すブロック図である。コンピュータ100には、CADデータ記憶部110、多面体データ記憶部120、3次元CADアプリケーション131、多面体生成部132、体積誤差計算部133、内挿曲線生成部134、体積許容誤差決定部135、精度保証メッシュ数決定部136、および多面体データ送信部137を有している。
【0032】
CADデータ記憶部110は、3次元CADアプリケーション131で作成されたCADデータを記憶する。たとえば、HDD103の記憶領域の一部が、CADデータ記憶部110として使用される。
【0033】
多面体データ記憶部120は、多面体生成部132で生成された多面体データを記憶する。たとえば、HDD103の記憶領域の一部が、多面体データ記憶部120として使用される。
【0034】
3次元CADアプリケーション131は、ユーザからの操作入力に応答して、任意の立体形状を示す3次元CADデータを生成する。3次元CADアプリケーション131は、生成した3次元CADデータをCADデータ記憶部110に格納する。
【0035】
多面体生成部132は、3次元CADデータに基づいて、任意のメッシュ数となる多面体を生成する。具体的には、多面体生成部132は、多面体の生成を指示する操作入力を受け取ると、CADデータ記憶部110から3次元CADデータを取得する。次に、多面体生成部132は、予め指定されたメッシュ数(サンプリングメッシュ数)となる複数の多面体を生成する。本実施の形態では、多面体生成部132は、10から順に10のべき乗の108までの各値(10,102,103,104,105,106,107,108)のメッシュ数をサンプリングメッシュ数とする。そして、多面体生成部132は、生成した多面体を表す多面体データを多面体データ記憶部120に格納する。
【0036】
また、多面体生成部132は、精度保証メッシュ数決定部136から加工精度に応じたメッシュ数(精度保証メッシュ数(NCAM))が入力されると、その精度保証メッシュ数(NCAM)に応じたメッシュ数の多面体データを生成する。そして、多面体生成部132は、生成した多面体データを多面体データ送信部137に渡す。
【0037】
体積誤差計算部133は、3次元CADデータと、メッシュ数の異なる複数の多面体データそれぞれとの間の体積誤差を計算する。体積誤差計算部133は、計算した体積誤差を内挿曲線生成部134に渡す。
【0038】
内挿曲線生成部134は、体積誤差計算部133による計算結果に基づいて、メッシュ数と体積誤差との関係を示す内挿曲線を表す式を生成する。内挿曲線生成部134は、生成した内挿曲線の式を精度保証メッシュ数決定部136に渡す。
【0039】
体積許容誤差決定部135は、操作入力により、加工精度と代表寸法との入力を受け付けると、加工精度と代表寸法とに応じて、許容できる体積誤差(体積許容誤差)を決定する。そして、体積許容誤差決定部135は、決定した体積許容誤差を精度保証メッシュ数決定部136に渡す。
【0040】
精度保証メッシュ数決定部136は、体積許容誤差を満たす精度保証メッシュ数を、内挿曲線の式に基づいて決定する。精度保証メッシュ数決定部136は、決定した精度保証メッシュ数を多面体生成部132に渡す。
【0041】
多面体データ送信部137は、多面体生成部132から、精度保証メッシュ数に応じた多面体データを取得する。そして、多面体データ送信部137は、取得した多面体データを工作機械20に送信する。
【0042】
次に、コンピュータ100による工作機械の加工精度を保証した多面体データの生成手順を説明する。
図5は、加工精度を保証した多面体データの生成手順を示すフローチャートである。以下、図5に示す処理を、ステップ番号に沿って説明する。
【0043】
[ステップS11]3次元CADアプリケーション131は、ユーザからの操作入力に応答して3次元CADデータを生成する。たとえば、3次元CADアプリケーション131は、球、円筒、直方体などの基本形状(プリミティブ)のソリッドモデルを、ユーザの操作入力に基づいて生成する。そして、3次元CADアプリケーション131は、操作入力に応じて、ソリッドモデルの3次元空間内での位置と向きを決定する。
【0044】
さらに、3次元CADアプリケーション131は、操作入力に応じて、ソリッドモデルの集合演算の式を決定する。たとえば、ソリッドモデルAとソリッドモデルBとの間の集合演算には、「A∪B」、「A∩B」、「A−B」といったものがある。「A∪B」は、ソリッドモデルAが占有する空間とソリッドモデルBが占有する空間を合わせた空間が、作成している3次元モデルが占有する空間であること示している。「A∩B」は、ソリッドモデルAが占有する空間とソリッドモデルBが占有する空間との重複する空間が、作成している3次元モデルが占有する空間であること示している。「A−B」は、ソリッドモデルAが占有する空間からソリッドモデルBが占有する空間を除いた空間が、作成している3次元モデルが占有する空間であること示している。
【0045】
このように、3次元CADアプリケーション131は、基本形状のソリッドモデルの集合演算によって3次元モデルの形状を定義する。そして、3次元CADアプリケーション131は、3次元モデルを表す3次元CADデータを、CADデータ記憶部110に格納する。
【0046】
[ステップS12]多面体生成部132は、加工精度と代表寸法とに応じた多面体の生成を指示する操作入力に応答して、3次元CADデータに基づく複数の多面体を生成する。この処理の詳細は後述する(図8参照)。
【0047】
[ステップS13]体積誤差計算部133は、多面体生成部132によって多面体データが多面体データ記憶部220に格納されると、その多面体と3次元モデルとの間の体積誤差を計算する。3次元モデルの体積をVc、多面体の体積をVpとすると、体積誤差εは以下の式で表せる。
ε=|(Vc−Vp)/Vc| ・・・・(1)
この処理の詳細は後述する(図11〜図13参照)。
【0048】
[ステップS14]内挿曲線生成部134は、多面体のメッシュ数と体積誤差との相関関係を示す内挿曲線を生成する。たとえば、内挿曲線生成部134は、横軸をメッシュ数、縦軸を体積誤差としたグラフ上に、メッシュ数の異なる複数の多面体データそれぞれに関するメッシュ数と体積誤差との値を示す測定点をプロットする。そして、内挿曲線生成部134は、プロットされた各測定点を通る滑らかな曲線を生成する。曲線の生成方法としては、たとえば線形補間法(method of linear interpolation)を用いることができる。
【0049】
[ステップS15]体積許容誤差決定部135は、多面体の生成指示に伴って入力された加工精度と代表寸法とを取得する。加工精度は、工作機械20または加工対象物の材質などに依存する。たとえば、鋳物の砂粒の大きさに応じて0.2mm程度の加工精度が与えられる。代表寸法は、3次元モデルで表される物質の代表的な位置に関する幅である。たとえば、物質に関して、高さ、幅、奥行きといった3方向の寸法を計算し、最も大きな値となる方向の寸法を代表寸法とする。たとえば、代表寸法として1m程度の値が設定される。
【0050】
体積許容誤差決定部135は、加工精度を代表寸法で除算し、その除算結果を3乗した値を体積許容誤差εtとする。式で表すと以下の通りである。
εt=(l/L)3 ・・・(2)
ここで、lは加工精度であり、Lは代表寸法である。加工精度を代表寸法で除算するのは、求められている最大限の精度で加工したときに代表軸方向に発生する誤差と代表寸法との比を計算するためである。除算結果を3乗するのは、体積誤差と単位を合わせるためである。すなわち、体積誤差は、3次元の計算で求められる。一方、代表寸法を採った軸方向の誤差は、1次元の計算で求められる誤差である。そのため、次元を一致させるためには、除算結果を3乗しておくことが必要となる。
【0051】
[ステップS16]精度保証メッシュ数決定部136は、内挿曲線と体積許容誤差とから、精度保証メッシュ数を決定する。具体的には、精度保証メッシュ数決定部136は、内挿曲線において、体積許容誤差に対応するメッシュ数を、精度保証メッシュ数とする。
【0052】
[ステップS17]多面体生成部132は、精度保証メッシュ数の多面体を生成する。
[ステップS18]多面体データ送信部137は、精度保証メッシュ数の多面体データを、工作機械20に送信する。
【0053】
次に、具体例を用いて、加工精度を保証した多面体データの生成手順を詳細に説明する。
図6は、3次元モデルの例を示す図である。図6に示す3次元モデル31は、球のソリッドモデルと円筒のソリッドモデルとの集合演算(A∪B)によって定義されている。このような3次元モデル31が3次元CADアプリケーション131で作成され、対応する3次元CADデータが、CADデータ記憶部110に格納される。
【0054】
図7は、3次元CADデータのデータ構造例を示す図である。3次元CADデータ111は、ソリッドモデル情報テーブル111aと集合演算情報111bとで構成される。
ソリッドモデル情報テーブル111aには、ソリッドID、ソリッド種別、およびパラメータの欄が設けられている。ソリッドIDの欄には、ソリッドの識別子が設定される。ソリッド種別の欄には、ソリッドモデルで示される基本形状の名称が設定される。パラメータの欄には、ソリッドモデルの形状、位置、向きを定義するためのパラメータが設定される。設定されるパラメータは、パラメータ種別と値との組である。必要なパラメータ種別は、ソリッド種別に応じて予め決まっている。たとえば、球であれば、中心座標と半径とによって、その形状、位置が一意に決定できる(球に、向きの情報は不要である)。また、円筒であれば、底面中心座標、底面半径方向ベクトル、および高さによって、その形状、位置、および向きが一意に決定される。
【0055】
集合演算情報111bの欄には、ソリッドモデル間の集合演算の式が設定される。図7の例では、ソリッドID「S1」のソリッドモデルと、ソリッドID「S2」のソリッドモデルとの和集合で占められる空間によって3次元モデル31の形状が示されている。
【0056】
このような3次元CADデータ111に基づいて、多面体が生成される。
図8は、多面体生成処理の手順を示すフローチャートである。以下、図8に示す処理をステップ番号に沿って説明する。
【0057】
[ステップS21]多面体生成部132は、CADデータ記憶部110から3次元CADデータを取得する。
[ステップS22]多面体生成部132は、未選択のサンプリングメッシュ数を選択する。
【0058】
[ステップS23]多面体生成部132は、3次元モデルの各サーフェス(面)を、3角形メッシュに分割する。この際、平面のサーフェスに関しては、なるべく大きな3角形メッシュに分割する。また、曲面は、分割後の隣接する3角形メッシュ同士の交わる角度が、予め決められた角度(たとえば10度)以上とならないように分割する。
【0059】
[ステップS24]多面体生成部132は、ステップS23で分割された各サーフェスの3角形メッシュの面積を合計し、表面全体の面積を計算する。
[ステップS25]多面体生成部132は、ステップS24で計算した表面全体の面積を、サンプリングメッシュ数で割、1メッシュ当たりの面積を求める。
【0060】
[ステップS26]多面体生成部132は、ステップS25で求めた1メッシュ当たりの面積と同じ面積となる正3角形の1辺の長さ(メッシュ長さ)を求める。
[ステップS27]多面体生成部132は、元の3次元モデルの各サーフェスを、メッシュ長さで複数のメッシュに分割する。具体的には、多面体生成部132は、各サーフェスの接合エッジ(複数のサーフェス間の境界部分)を、メッシュ長さの線分に分割する。次に、各サーフェス内部を、エッジを分割して得られた線分を基準にして、メッシュ長さ間隔の格子状に分割する。この分割によって生成された4角形を対角線で細分割することで、3角形のメッシュとなる。このとき、サーフェスの接合エッジでは、隣接するサーフェスのエッジの分割位置がずれることもある。その場合、接合エッジ部分で4角形が生じてしまうので、その4角形を対角線に細分割することで、境界部分での整合性を取ることができる。
【0061】
[ステップS28]多面体生成部132は、生成した多面体を示す多面体データを、多面体データ記憶部120に格納する。
[ステップS29]多面体生成部132は、予め決められたサンプリングメッシュ数の全てを選択したか否かを判断する。全てのサンプリングメッシュ数に関して多面体生成処理が完了していれば、処理が終了する。未選択のサンプリングメッシュ数があれば、処理がステップS22に進められる。
【0062】
図9は、多面体の例を示す図である。多面体32は、複数のメッシュに分割されている。図9には、一種類の多面体32しか示していないが、メッシュの数が異なる多数の多面体が生成される。
【0063】
図10は、多面体データのデータ構造例を示す図である。多面体データ記憶部120には、複数の多面体データ121,122,123,・・・が格納されている。多面体データ121には、メッシュ数情報121a、メッシュデータテーブル121b、および頂点データテーブル121cが含まれている。
【0064】
メッシュ数情報121aは、多面体のメッシュ数が示されている。
メッシュデータテーブル121bには、多面体を構成するメッシュの位置および向き等を一意に特定する情報が示されている。具体的には、メッシュデータテーブル121bには、メッシュ番号、頂点#1、頂点#2、および頂点#3の欄が設けられている。メッシュ番号の欄には、1つの多面体内でメッシュを一意に識別するための識別番号(メッシュ番号)が設定される。
【0065】
頂点#1、頂点#2、および頂点#3の欄には、メッシュ番号で示されるメッシュの3つの頂点を一意に識別するための識別番号(頂点番号)が設定される。なお、本実施の形態では、メッシュの外(表)側から頂点をみたときの反時計回りの順番と一致するように、各頂点の頂点番号が、頂点#1、頂点#2、および頂点#3の欄に順に設定される。
【0066】
頂点データテーブル121cには、多面体上に設定された各頂点の位置を特定するための情報が設定されている。具体的には、頂点データテーブル121cには、頂点番号と座標との欄が設けられている。頂点番号の欄には、頂点を一意に識別するための識別番号(頂点番号)が設定される。座標の欄には、対応する頂点の3次元空間での位置を示す座標が設定される。
【0067】
このような多面体データに基づいて、3次元モデルと複数の多面体それぞれとの間の体積誤差が計算される。
図11は、体積誤差計算手順を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
【0068】
[ステップS31]体積誤差計算部133は、CADデータ記憶部110から3次元CADデータを取得する。
[ステップS32]体積誤差計算部133は、3次元CADデータに基づいて3次元モデルの体積を計算する。この処理の詳細は後述する。
【0069】
[ステップS33]体積誤差計算部133は、多面体データ記憶部120から未処理の多面体データを取得する。
[ステップS34]体積誤差計算部133は、取得した多面体データに基づいて、多面体の体積を計算する。この処理の詳細は後述する。
【0070】
[ステップS35]体積誤差計算部133は、ステップS32で計算した3次元モデルの体積とステップS34で計算した多面体の体積とに基づいて、3次元モデルと多面体との間の体積誤差を計算する。
【0071】
[ステップS36]体積誤差計算部133は、未処理の多面体データがあるか否かを判断する。未処理の多面体データがある場合、処理がステップS33に進められる。全ての多面体データに対して体積誤差の計算が行われた場合、処理が終了する。
【0072】
次に、3次元モデルの体積計算手順を詳細に説明する。
図12は、3次元モデルの体積計算手順を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
【0073】
[ステップS41]体積誤差計算部133は、体積Vcを初期化する。具体的には、3次元モデルの体積を示す変数としてVcに0を設定する。
[ステップS42]体積誤差計算部133は、プリミティブを1つ選択する。
【0074】
[ステップS43]体積誤差計算部133は、選択したプリミティブの体積を計算する。たとえば、球のプリミティブであれば、体積は(4/3)πr03である。ここで、πは円周率、r0は半径である。また、円筒のプリミティブであれば、体積はπr12hである。ここで、r1は底面の半径であり、hは高さである。
【0075】
[ステップS44]体積誤差計算部133は、選択したプリミティブと既に処理したプリミティブとの重複領域の有無(干渉判定)を判断する。重複領域があれば、処理がステップS45に進められる。重複領域がなければ、処理がステップS52に進められる。
【0076】
[ステップS45]体積誤差計算部133は、重複領域の体積を計算する。
[ステップS46]体積誤差計算部133は、重複関係にあるプリミティブの集合演算が、和集合(S1∪S2)か否かを判断する。和集合であれば、処理がステップS47に進められる。和集合でなければ、処理がステップS49に進められる。
【0077】
[ステップS47]体積誤差計算部133は、プリミティブの体積から重複領域の体積を減算する。
[ステップS48]体積誤差計算部133は、減算結果を、体積Vcに加算する。その後、処理がステップS52に進められる。
【0078】
[ステップS49]体積誤差計算部133は、重複関係にあるプリミティブの集合演算が、積集合(S1∩S2)か否かを判断する。積集合であれば、処理がステップS50に進められる。積集合でなければ、減算(S1−S2)であると判断され、処理がステップS51に進められる。
【0079】
[ステップS50]体積誤差計算部133は、重複領域の体積をVcに設定する。その後、処理がステップS52に進められる。
[ステップS51]体積誤差計算部133は、重複領域の体積をVcから減算する。
【0080】
[ステップS52]体積誤差計算部133は、未選択のプリミティブがあるか否かを判断する。未選択のプリミティブがある場合、処理がステップS42に進められる。全てのプリミティブが選択された場合、処理が終了する。
【0081】
このようにして、3次元モデルの体積を計算できる。
次に、多面体の体積計算手順を詳細に説明する。
図13は、多面体の体積計算手順を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
【0082】
[ステップS61]体積誤差計算部133は、未処理のメッシュを1つ選択する。
[ステップS62]体積誤差計算部133は、メッシュの頂点と原点とを結ぶ線分を辺とする3角錐の体積を計算する。計算された体積は、RAM102に格納される。
【0083】
[ステップS63]体積誤差計算部133は、メッシュを原点から見たときの頂点の回転方向(頂点#1,頂点#2、頂点#3の順)を判定する。
[ステップS64]体積誤差計算部133は、回転方向は反時計回りか否かを判断する。反時計回りであれば、処理がステップS65に進められる。時計回りであれば、処理rがステップS66に進められる。
【0084】
[ステップS65]体積誤差計算部133は、RAM102に格納された体積を負の値にする。
[ステップS66]体積誤差計算部133は、未選択のメッシュがあるか否かを判断する。未選択のメッシュがあれば、処理がステップS61に進められる。未選択のメッシュがなければ、処理がステップS67に進められる。
【0085】
[ステップS67]体積誤差計算部133は、メッシュごとに計算した全ての体積の値を合計する。
このようにして、多面体の体積を計算できる。なお、上記の例では、原点から見たときにメッシュの回転方向が反時計回りの場合に、体積を負としている。これは、多面体の各メッシュが、多面体の外部に対して表面を向けている場合を想定したものである。多面体の各メッシュが、多面体の内部に対して表面を向けている場合には、原点から見て時計回りのメッシュの体積を負にすることとなる。
【0086】
図12の処理により3次元モデルの体積Vcを計算し、図13の処理により各多面体の体積Vpを計算すれば、その結果を前述の式(1)に代入することで体積誤差εを算出できる。
【0087】
なお、図12に示した重複領域の判定(公差判定)や、図13に示した多面体の体積判定については、「山口富士夫、情報数理シリーズ B−3 CAD工学、培風館、1998年2月、p.119−128,p.234−242」に詳しい。
【0088】
次に、内挿曲線生成処理を詳細に説明する。内挿曲線を生成する場合、まず、多面体のメッシュ数に応じた体積誤差を集計する。集計結果を、グラフ上にプロットすると図14のようになる。
【0089】
図14は、多面体のメッシュ数と体積誤差の関係を示すグラフである。図14の例では、横軸にメッシュ数をとり、縦軸に体積誤差を取っている。このようなグラフに対して、内挿曲線生成部134は、メッシュ数の異なる各多面体における体積誤差の値を示す位置に測定点を設定する。そして、内挿曲線生成部134は、このようなグラフ上で各測定点を通る滑らかな内挿曲線を生成する。
【0090】
図15は、生成された内挿曲線を示す図である。内挿曲線は、線形補間法で求めることができる。線形補間法については、たとえば、「T.R.マッカーラ、計算機のための数値計算法概論、サイエンス社、1972年3月、p.177−209」に記載されている(なお、後述する外挿曲線の算出方法についても、当該文献に記載されている)。
【0091】
内挿曲線の式が求められると、体積許容誤差決定部135によって体積許容誤差εt(=(l/L)3)が求められる。そして、精度保証メッシュ数決定部136が、内挿曲線の式に体積許容誤差εtを代入しメッシュ数について解くことで、体積誤差が体積許容誤差εtとなる精度保証メッシュ数NCAMが得られる。
【0092】
図16は、決定された精度保証メッシュ数を示す図である。このようにして求められた精度保証メッシュ数NCAMが多面体生成部132に渡され、精度保証メッシュ数NCAMの多面体が生成される。そして、その多面体の多面体データが多面体データ送信部137を介して工作機械20に送られる。工作機械20では、加工精度に応じた精度で作成された多面体データに基づいて、工作物を加工できる。
【0093】
このように、本実施の形態によれば、加工精度に応じた精度の多面体データを自動で生成することができる。工作機械20を操作するオペレータは、通常、その工作機械20の加工精度を把握しているため、既知の情報を元に多面体のメッシュ数を決定できることとなる。その結果、3次元モデルに基づいてCAMで使用する多面体データを生成する作業が容易(試行錯誤が不要)となる。
【0094】
[第2の実施の形態]
次に、第2の実施の形態として、CAEの解析精度を保証した多面体データの作成技術について説明する。なお、本実施の形態では、3次元CADデータに基づいて多面体を生成するコンピュータ上にCAEによる構造解析シミュレータが実装されているものとする。このような機能を実現するためのコンピュータのハードウェアは、図3に示したコンピュータ100と同様である。
【0095】
また、本実施の形態では、設計データの許容誤差に応じたメッシュ数の多面体を生成するものとする。設計データの許容誤差としては、たとえば、0.01mm程度の値が指定される。
【0096】
設計データの許容誤差は、トレランスと呼ばれている。CADにおいてトレランスとは、図形要素(点や線)の座標値の精度を表している。コンピュータ内では数値は有限の桁内におさめて表現しなければならない。このため演算誤差がどうしても発生する。そこで、ある程度の許容誤差を認める必要が生じ、その許容誤差がトレランスである。トレランスには、たとえば、マージトレランスがある。マージントレランスは、隣接する2面に対して、どの程度まですき間を許容するかを規定するものである。
【0097】
図17は、第2の実施の形態に係るコンピュータが有する機能を示すブロック図である。コンピュータ200は、CADデータ記憶部210、多面体データ記憶部220、荷重情報記憶部230、拘束条件記憶部240、材料定数情報記憶部250、3次元CADアプリケーション261、多面体生成部262、歪エネルギ密度算出部263、相対誤差算出手段264、内挿曲線生成部265、歪エネルギ密度許容誤差決定部266、精度保証メッシュ数決定部267、および構造解析シミュレータ268を有している。
【0098】
ここで、CADデータ記憶部210、多面体データ記憶部220、3次元CADアプリケーション261の機能は、それぞれ図4に示した第1の実施の形態におけるCADデータ記憶部110、多面体データ記憶部120、3次元CADアプリケーション131と同じである。
【0099】
荷重情報記憶部230は、構造解析において3次元モデルで示される部品にかけられる荷重に関する情報(荷重情報)を記憶する。たとえば、HDDの記憶領域の一部が、荷重情報記憶部230として使用される。
【0100】
拘束条件記憶部240は、構造解析において3次元モデルで示される部品に荷重を加える際に、その部品の拘束条件を記憶する。たとえば、HDDの記憶領域の一部が、拘束条件記憶部240として使用される。拘束条件とは、荷重がかけられるときに、対象の物品を固定する条件である。拘束には、3次元空間上の移動に関する拘束と、x軸、y軸、z軸の各軸回りの回転方向の拘束とがある。
【0101】
材料定数情報記憶部250は、3次元モデルで示される部品を構成する材料に関する各種の物理定数(材料定数)を記憶する。たとえば、HDDの記憶領域の一部が、材料定数情報記憶部250として使用される。
【0102】
多面体生成部262は、3次元CADデータに基づいて、任意のメッシュ数となる多面体を生成する。具体的には、多面体生成部262は、多面体の生成を指示する操作入力を受け取ると、CADデータ記憶部210から3次元CADデータを取得する。次に、多面体生成部262は、予め指定されたメッシュ数(サンプリングメッシュ数)となる複数の多面体を生成する。本実施の形態では、多面体生成部262は、10から順に10のべき乗の108までの各値(10,102,103,104,105,106,107,108)に応じたメッシュ数をサンプリングメッシュ数とする。そして、多面体生成部262は、生成した多面体を表す多面体データを多面体データ記憶部220に格納する。
【0103】
また、多面体生成部262は、精度保証メッシュ数決定部267から設計データの許容誤差に応じたメッシュ数(精度保証メッシュ数(NCAE))が入力されると、その精度保証メッシュ数NCAEに応じたメッシュ数の多面体データを生成する。そして、多面体生成部262は、生成した多面体データを構造解析シミュレータ268に渡す。
【0104】
歪エネルギ密度算出部263は、荷重情報記憶部230に格納された荷重情報、拘束条件記憶部240に記憶された拘束条件、および材料定数情報記憶部250に格納された材料定数に基づいて、多面体データ記憶部220に格納された複数の多面体データで示される複数の多面体それぞれの歪エネルギ密度を算出する。歪エネルギ密度算出部263は、算出した各多面体の歪エネルギ密度を、相対誤差算出手段264に渡す。
【0105】
相対誤差算出手段264は、多面体の歪エネルギ密度に基づいて、多面体のメッシュ数を限りなく増加させたときの歪エネルギ密度(推定真値)を求める。ここで、推定真値は、3次元CADデータに示される物品に対する歪エネルギ密度を、多面体データから求め出したものである。推定真値は、有限要素法等を用いて数学的に求めることができる。そして、相対誤差算出手段264は、推定真値と各多面体の歪エネルギ密度との間の相対誤差を求める。多面体ごとの相対誤差は、内挿曲線生成部265に渡される。
【0106】
内挿曲線生成部265は、多面体ごとの相対誤差に基づいて、推定真値と各多面体の歪エネルギ密度との誤差とメッシュ数との関係を示す内挿曲線を生成する。そして、内挿曲線生成部265は、生成された内挿曲線を表す式を精度保証メッシュ数決定部267に渡す。
【0107】
歪エネルギ密度許容誤差決定部266は、ユーザから操作入力により、歪エネルギ密度許容誤差を決定する。具体的には、歪エネルギ密度許容誤差決定部266は、先ず、3次元モデルの3次元CADデータをCADデータ記憶部210から取得し、3次元モデルの体積Vcを求める。そして、歪エネルギ密度許容誤差決定部266は、入力された設計データの許容誤差Δと3次元モデルの体積Vcとから歪エネルギ密度の許容誤差εEを算出する。歪エネルギ密度の許容誤差εEは、以下の式
εE=|Δ3/Vc| ・・・(3)
で求められる。なお、式(3)は、以下のようにして求められたものである。
【0108】
物質の歪エネルギ密度は、歪エネルギを体積で割ったものである。歪エネルギをE、3次元モデルの体積をVc、多面体の体積をVpとすると、歪エネルギ密度の許容誤差εEは、
εE=|(E/Vc−E/Vp)/(E/Vc)| ・・・(4)
と定義できる。式(4)を変形すると、
|(E/Vc−E/Vp)/(E/Vc)|
=|(1/Vc−1/Vp)/(1/Vc)|
=|1−Vc/Vp|
=|(Vp−Vc)/Vp|
・・・(5)
となる。ここで、(Vp−Vc)は体積の差分を示している。そこで、「Vp−Vc=δV」と置き換える。すると
|(Vp−Vc)/Vp|=|δV/Vp| ・・・(6)
となる。VcやVpに対してδVが十分に小さければ、
|δV/Vp|≒|δV/Vc| ・・・(7)
と置くことができる。δVは体積に関する誤差であるが、設計データの許容誤差Δは、長さに関する誤差である。そこで単位を合わせて、δVを設計データの許容誤差Δに置き換えると、
|δV/Vc|=|Δ3/Vc| ・・・(8)
となる。これにより、式(3)が導き出される。
【0109】
歪エネルギ密度許容誤差決定部266は、算出した歪エネルギ密度の許容誤差εEを精度保証メッシュ数決定部267に渡す。
精度保証メッシュ数決定部267は、内挿曲線生成部265から受け取った内挿曲線に基づいて、歪エネルギ密度の許容誤差を満たすメッシュ数(精度保証メッシュ数NCAE)を決定する。精度保証メッシュ数決定部267は、決定した精度保証メッシュ数NCAEを多面体生成部262に渡す。
【0110】
構造解析シミュレータ268は、多面体生成部262から歪エネルギ密度の許容誤差を満たした多面体に関する多面体データを受け取り、構造解析を行う。具体的には、構造解析シミュレータ268は、荷重情報記憶部230に格納された荷重情報、拘束条件記憶部240に記憶された拘束条件、および材料定数情報記憶部250に記憶された材料定数を取得する。そして、構造解析シミュレータ268は、多面体データで示される多面体に材料定数に示される各種物理特性を設定し、多面体を拘束条件に従って拘束し、拘束された多面体に荷重情報に従って荷重を加えたときに発生する応力歪みなどの特性を計算する。
【0111】
次に、荷重情報記憶部230、拘束条件記憶部240、および材料定数情報記憶部250に格納されるデータについて詳細に説明する。
図18は、荷重情報記憶部のデータ構造例を示す図である。荷重情報記憶部230には、荷重番号、荷重値、荷重方向ベクトル、および荷重がかかる場所の座標の欄が設けられている。これらの各欄の横方向に並べられたデータ同士が関連付けられ、荷重情報を構成している。
【0112】
荷重番号の欄には、荷重情報を一意に識別するための識別番号(荷重番号)が設定される。荷重値の欄には、荷重として加えられる力の大きさ(荷重値)が設定される。荷重方向ベクトルの欄には、荷重として加えられる力の方向を示すベクトル(荷重方向ベクトル)が設定される。荷重がかかる場所の座標の欄には、荷重として力が加えられる3次元空間上の位置が設定される。
【0113】
なお、荷重がかかる場所の座標の欄には、「x4、y4,z4」、「x5,y5,x5」と示されている。これは、3次元空間上の位置を示すために各軸に応じた3つの変数が定義され、各変数に値が設定されていることを示すものであり、4番目の頂点、5番目の頂点を意味するものではない。これは、図19の「x6、y6,z6」、「x7,y7,x7」、「x8、y8,z8」、「x9,y9,x9」についても同様である。
【0114】
図19は、拘束条件記憶部のデータ構造例を示す図である。拘束条件記憶部240には、拘束番号、拘束方向、および拘束がかかる場所の座標の欄が設けられている。これらの各欄の横方向に並べられたデータ同士が関連付けられ、拘束条件を構成している。
【0115】
拘束番号の欄には、拘束条件報を一意に識別するための識別番号(拘束番号)が設定される。拘束方向の欄には、拘束される方向が設定される。拘束方向としては、x軸、y軸、z軸方向の拘束の有無が0または1の値で示される(1の場合に拘束される)。また、回転方向の拘束として、x軸と平行な軸回りの回転(Θx)、y軸と平行な軸回りの回転(Θy)、z軸と平行な軸回りの回転(Θx)それぞれの回転方向の拘束の有無が0または1の値で示される(1の場合に拘束される)。拘束がかかる場所の座標の欄には、拘束される3次元空間上の位置が設定される。
【0116】
構造解析シミュレーションにおいて、拘束がかかる場所における物質は、拘束されるものと設定された方向には動かない。たとえば、x軸方向が拘束されていれば、拘束がかかる場所の物質は、荷重がかけられてもx軸方向には移動しない。また、x軸と平行な軸回りの回転方向が拘束されていれば、荷重によって拘束がかかる場所に対して力のモーメントが発生しても、荷重がかかる場所を通るx軸と平行な軸回りには回転しない。
【0117】
図20は、材料定数情報記憶部のデータ構造例を示す図である。材料定数情報記憶部250には、材料番号、ヤング率、せん断率、ポアソン比、密度、および熱膨張係数の欄が設けられている。これらの各欄の横方向に並べられたデータ同士が関連付けられ、材料定数情報を構成している。
【0118】
材料番号の欄には、材料定数情報を一意に識別するための識別番号(材料番号)が設定される。ヤング率の欄には、材料番号で示される材料のヤング率が設定される。せん断率の欄には、材料番号で示される材料のせん断率が設定される。ポアソン比の欄には、材料番号で示される材料のポアソン比が設定される。密度の欄には、材料番号で示される材料の密度が設定される。熱膨張係数の欄には、材料番号で示される材料の熱膨張係数が設定される。
【0119】
以上のような情報に基づいて、解析精度を保証した多面体が生成され、その多面体を用いた構造解析が行われる。
図21は、解析精度を保証した多面体データの生成および構造解析処理の手順を示すフローチャートである。以下、図21に示す処理をステップ番号に沿って説明する。
【0120】
[ステップS71]3次元CADアプリケーション261は、ユーザからの操作入力に応答して3次元CADデータを生成する。
[ステップS72]多面体生成部262は、設計データの許容誤差に応じた多面体の生成を指示する操作入力に応答して、3次元CADデータに基づく複数の多面体を生成する。この処理の詳細は図8で説明した第1の実施の形態の処理と同様である。
【0121】
[ステップS73]歪エネルギ密度算出部263は、多面体生成部262によって多面体データが多面体データ記憶部220に格納されると、その多面体データの歪エネルギ密度を計算する。この処理の詳細は後述する(図22〜図25参照)。
【0122】
[ステップS74]相対誤差算出手段264は、推定真値と求める。そして、相対誤差算出手段264は、推定真値と、多面体ごとの歪エネルギ密度との相対誤差を算出する。次には、内挿曲線生成部265は、推定真値と各多面体の歪エネルギ密度との誤差とメッシュ数との関係を示す内挿曲線を生成する。この処理の詳細は後述する(図26参照)。
【0123】
[ステップS75]歪エネルギ密度許容誤差決定部266は、多面体の生成指示に伴って入力された設計データの許容誤差を取得し、歪エネルギ密度許容誤差を算出する。この処理の詳細は後述する(図33参照)。
【0124】
[ステップS76]精度保証メッシュ数決定部267は、内挿曲線生成部265によって生成された内挿曲線に基づいて、歪エネルギ密度許容誤差を満たす精度保証メッシュ数NCAEを決定する。
【0125】
[ステップS77]多面体生成部262は、精度保証メッシュ数NCAEで指定されたメッシュ数の多面体を生成し、生成された多面体を示す多面体データを構造解析シミュレータ268に渡す。
【0126】
[ステップS78]構造解析シミュレータ268は、取得した多面体データで示される多面体に対して、荷重をかけたときの応力解析を行う。具体的には、構造解析シミュレータ268は、材料定数情報記憶部250に格納された材料定数情報によって、多面体を構成する物質の性質を設定する。また、構造解析シミュレータ268は、拘束条件記憶部240に格納された拘束条件によって、多面体の拘束条件(多面体が動くことができる自由度)を設定する。そして、構造解析シミュレータ268は、荷重情報記憶部230に格納された荷重情報に応じた荷重を多面体に加え、そのときに多面体内部の各部に発生する応力や歪を解析する。
【0127】
次に、歪エネルギ密度計算処理を詳細に説明する。
図22は、歪エネルギ密度計算処理の手順を示すフローチャートである。以下、図22に示す処理をステップ番号に沿って説明する。
【0128】
[ステップS81]歪エネルギ密度算出部263は、未処理の多面体データを多面体データ記憶部220から取得する。
[ステップS82]歪エネルギ密度算出部263は、多面体に対する荷重データを生成する。この処理の詳細は後述する(図23参照)。
【0129】
[ステップS83]歪エネルギ密度算出部263は、多面体に対する拘束条件データを生成する。この処理の詳細は後述する(図24参照)。
[ステップS84]歪エネルギ密度算出部263は、多面体の体積を計算する。この処理の詳細は、第1の実施の形態において図13を用いて説明した処理と同様である。
【0130】
[ステップS85]歪エネルギ密度算出部263は、多面体の歪エネルギEを計算する。この処理の詳細は後述する(図25参照)。
[ステップS86]歪エネルギ密度算出部263は、多面体の歪エネルギ密度を計算する。多面体の歪エネルギ密度は、多面体の歪エネルギEをその多面体の体積Vpで除算したもの(E/Vp)である。算出された多面体の歪エネルギ密度は、多面体のメッシュ数と組にしてメモリ(RAM等)に格納される。
【0131】
[ステップS87]歪エネルギ密度算出部263は、未処理の多面体データがあるか否かを判断する。未処理の多面体データがあれば処理がステップS81に進められる。未処理の多面体データが無ければ、処理が終了する。
【0132】
次に、多面体に対する荷重データの生成処理について説明する。
図23は、多面体に対する荷重データ生成処理の手順を示すフローチャートである。以下、図23に示す処理をステップ番号に沿って説明する。
【0133】
[ステップS91]歪エネルギ密度算出部263は、荷重情報記憶部230から荷重情報を1つ選択する。
[ステップS92]歪エネルギ密度算出部263は、荷重がかかる場所から荷重方向ベクトルで示される方向へ線を引いたときに、最初に交わるメッシュを検出する。
【0134】
[ステップS93]歪エネルギ密度算出部263は、ステップS92で検出したメッシュのメッシュ番号と荷重情報とのペアをメモリ(RAM等)に記憶する。
[ステップS94]歪エネルギ密度算出部263は、荷重情報記憶部230内の全ての荷重情報を選択したか否かを判断する。未選択の荷重情報があれば、処理がステップS91に進められる。全ての荷重情報を選択していれば、処理が終了する。
【0135】
次に、多面体に対する拘束データの生成手順について説明する。
図24は、多面体データに対する拘束データ生成手順を示すフローチャートである。以下、図24に示す処理をステップ番号に沿って説明する。
【0136】
[ステップS101]歪エネルギ密度算出部263は、拘束条件記憶部240から拘束条件を1つ選択する。
[ステップS102]歪エネルギ密度算出部263は、拘束がかかる場所の座標に最も近いメッシュを検出する。
【0137】
[ステップS103]歪エネルギ密度算出部263は、ステップS102で検出したメッシュのメッシュ番号と拘束条件とのペアをメモリ(RAM等)に記憶する。
[ステップS104]歪エネルギ密度算出部263は、拘束条件記憶部240内の全ての拘束条件を選択したか否かを判断する。未選択の拘束条件があれば、処理がステップS101に進められる。全ての拘束条件を選択していれば、処理が終了する。
【0138】
次に、多面体の歪エネルギの計算処理について説明する。
図25は、多面体の歪エネルギの計算手順を示すフローチャートである。以下、図25に示す処理をステップ番号に沿って説明する。
【0139】
[ステップS111]歪エネルギ密度算出部263は、多面体に対する全体剛性マトリックスKを計算する。全体剛性マトリックスは、物品の剛性を全体座標系(物品全体に係る力の向きや端部の変位を定義するための座標系)で表したものである。全体剛性マトリックスは、部材座標系(部材に係る力の向きや端部の変位を定義するための座標系)で表した部材剛性マトリックスを全体座標系に変換することで作成できる。また、部材剛性マトリックスは、その部材の端部の力と、端部の変位との関係を表したものである。部材の端部に働く力とその変位とは、部材の各種材料定数によって決まる。従って、材料定数情報記憶部250に格納された材料定数情報に基づいて、全体剛性マトリックスが生成できる。
【0140】
[ステップS112]歪エネルギ密度算出部263は、多面体に対する荷重情報に基づいて荷重ベクトルFを計算する。荷重ベクトルFは、節点(力が作用する点や拘束される点)の自由度の数分の未知数を有している。そして、歪エネルギ密度算出部263は、荷重情報で示される位置における荷重方向ベクトルで示される方向に対応する未知数に対して、荷重値を設定する。その他の未知数は0に設定される。
【0141】
[ステップS113]歪エネルギ密度算出部263は、多面体に対する拘束条件を用いて、変位ベクトルを求める。すなわち、歪エネルギ密度算出部263は、多面体に対する拘束条件データを参照し、全体剛性マトリックスに対して拘束条件を反映させる。すなわち、全体剛性マトリックスKにおいて、拘束条件によって拘束されるメッシュに関しては、拘束される方向への変位を示す値に0が設定される。
【0142】
そして、歪エネルギ密度算出部263は、全体剛性マトリックスKと荷重ベクトルFとから、変位ベクトルUを求める。すなわち、全体剛性マトリックスKに対して右から変位ベクトルUを掛けると、荷重ベクトルFとなる。その関係を表す連立一次方程式を、変位ベクトルUに付いて解くことで、変位ベクトルUが得られる。
【0143】
[ステップS114]歪エネルギ密度算出部263は、多面体の歪エネルギEを算出する。多面体の歪みエネルギEは、
多面体の歪エネルギE=(1/2)×{変位ベクトルUT}{荷重ベクトルF}
で求められる。変位ベクトルUTは、変位ベクトルの転置行列である。その後、処理が終了する。このようにして得られた多面体の歪エネルギEを、多面体の体積Vpで除算すれば、多面体の歪エネルギ密度となる。
【0144】
次に、内挿曲線の生成手順について説明する。
図26は、内挿曲線の生成手順を示すフローチャートである。以下、図26に示す処理をステップ番号に沿って説明する。
【0145】
[ステップS121]相対誤差算出手段264は、多面体の歪エネルギ密度の計算結果を集計する。
[ステップS122]相対誤差算出手段264は、多面体の歪エネルギ密度の内挿曲線を生成する。
【0146】
[ステップS123]相対誤差算出手段264は、ステップS122で生成した内挿曲線を延長した外挿曲線を生成し、推定真値を求める。外挿曲線は、線形補間法によって求めることができる。
【0147】
[ステップS124]相対誤差算出手段264は、推定真値と歪エネルギ密度との相対誤差を算出する。
[ステップS125]内挿曲線生成部265は、メッシュ数の異なる多面体ごとの相対誤差を集計する。
【0148】
[ステップS126]内挿曲線生成部265は、相対誤差の内挿曲線を生成する。その後、処理が終了する。
このような内挿曲線の生成手順を、グラフを用いて視覚的に示すと以下のようになる。
【0149】
図27は、多面体のメッシュ数とその多面体の歪エネルギ密度との関係を示すグラフである。図27の例では、横軸に多面体のメッシュ数を採り、縦軸に歪エネルギ密度を採っている。このようなグラフに対して、相対誤差算出手段264は、メッシュ数の異なる各多面体における歪エネルギ密度の値を示す位置に測定点を設定する。そして、相対誤差算出手段264は、このようなグラフ上で各測定点を通る滑らかな内挿曲線を生成する。
【0150】
図28は、メッシュ数と歪エネルギ密度との関係を示す内挿曲線を示す図である。内挿曲線は、線形補間法で求めることができる。
次に、相対誤差算出手段264は、推定真値を求める。
【0151】
図29は、推定真値を示す図である。相対誤差算出手段264は、内挿曲線をメッシュ数が極大となる方向に延長する外挿曲線を求める。そして、相対誤差算出手段264は、メッシュ数が極大となったときの歪エネルギ密度を、推定真値Dとする。
【0152】
次に、相対誤差算出手段264は、推定真値と、各多面体の歪エネルギ密度との差分dを採り、その相対誤差を求める。
図30は、相対誤差を示す図である。図30に示すように、推定真値Dから多面体ごとの歪エネルギ密度を減算した差分dを、推定真値で除算した値が、相対誤差(d/D)となる。
【0153】
次に、内挿曲線生成部265は、メッシュ数の異なる多面体ごとの相対誤差を集計する。集計結果をグラフで表すと図31のようになる。
図31は、多面体のメッシュ数と相対誤差との関係を示すグラフである。図31の例では、横軸に多面体のメッシュ数を採り、縦軸に相対誤差を採っている。相対誤差の集計結果を示すグラフである。
【0154】
内挿曲線生成部265は、集計結果からメッシュ数と相対誤差との関係を示す内挿曲線を生成する。
図32は、メッシュ数と相対誤差との関係を示す内挿曲線を示す図である。このようにして生成された内挿曲線が、精度保証メッシュ数決定部267に渡される。
【0155】
次に、歪エネルギ密度許容誤差算出手順について説明する。
図33は、歪エネルギ密度許容誤差算出手順を示すフローチャートである。以下、図33に示す処理をステップ番号に沿って説明する。
【0156】
[ステップS131]歪エネルギ密度許容誤差決定部266は、CADデータ記憶部210から3次元CADデータを取得し、3次元モデルの体積Vcを計算する。この処理の詳細は、図12に示した第1の実施の形態の処理と同様である。
【0157】
[ステップS132]歪エネルギ密度許容誤差決定部266は、設計データの許容誤差に応じた歪エネルギ密度の許容誤差εEを式(3)に基づいて計算する。算出された歪エネルギ密度の許容誤差εEは、精度保証メッシュ数決定部267に渡される。
【0158】
精度保証メッシュ数決定部267は、メッシュ数と相対誤差との関係を示す内挿曲線と、歪エネルギ密度の許容誤差εEとから精度保証メッシュ数を決定する。具体的には、精度保証メッシュ数決定部267は、内挿曲線の相対誤差として、歪エネルギ密度の許容誤差εEを設定し、メッシュ数について解くことにより、精度保証メッシュ数NCAEを得ることができる。
【0159】
図34は、決定された精度保証メッシュ数を示す図である。このようにして求められた精度保証メッシュ数NCAEが多面体生成部262に渡され、精度保証メッシュ数NCAEの多面体が生成される。そして、その多面体の多面体データが構造解析シミュレータ268に渡される。構造解析シミュレータ268では、入力された多面体データに基づいて応力計算等の構造解析が行われる。
【0160】
以上のようにして、設計データの許容誤差に応じた精度を保証したメッシュ数の多面体を容易に生成できる。その結果、必要な精度を保証し、かつ過大なデータ量とならない多面体データが生成される。
【0161】
しかも、設計データの許容誤差は、CADを用いた設計を行っている技術者であれば、通常認識している数値である。そのようなCADの設計者が認識している物理量を指定することで、構造解析に必要な精度を保証した多面体データを生成できる。その結果、適切なメッシュ数の多面体データを生成するために、技術者が試行錯誤を繰り返すといった無駄な作業が不要となる。
【0162】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、コンピュータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
【0163】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0164】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0165】
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
【0166】
(付記1) 3次元CADデータに基づいて複数のメッシュで構成される多面体を生成するための多面体生成プログラムにおいて、
コンピュータを、
3次元モデルの形状を定義した前記3次元CADデータを記憶するCADデータ記憶手段、
多面体の生成指示を受けると、前記CADデータ記憶手段に記憶された前記3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成するとともに、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する多面体生成手段、
前記多面体生成手段で生成された複数の前記サンプル多面体データを記憶する多面体データ記憶手段、
前記多面体データ記憶手段から複数の前記サンプル多面体データを取得し、所定の物理量に関して、前記3次元CADデータで示される物体と前記サンプル多面体データで示される多面体との間の誤差を、前記サンプル多面体データごとに計算する誤差計算手段、
前記誤差計算手段によって算出された前記サンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と前記誤差との相関関係を示す関係式を生成する関係式生成手段、
前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する前記誤差保証メッシュ数を算出し、前記誤差保証メッシュ数を前記多面体生成手段に対して入力する誤差保証メッシュ数決定手段、
として機能させることを特徴とする多面体生成プログラム。
【0167】
(付記2) コンピュータを、さらに、
前記所定の物理量を一意に決定することができる他の物理量に関する許容誤差の入力を受けると、予め定義された計算式によって前記所定の物理量に関する許容誤差を算出し、算出した前記許容誤差を前記誤差保証メッシュ数決定手段に与える許容誤差決定手段、
として機能させることを特徴とする付記1記載の多面体生成プログラム。
【0168】
(付記3) 前記誤差計算手段は、前記CADデータ記憶手段に記憶された前記3次元CADデータに基づいて前記3次元モデルの前記所定の物理量を計算し、前記多面体データ記憶手段に記憶された前記サンプル多面体データに基づいて前記多面体の前記所定の物理量を計算し、前記3次元モデルと前記多面体と前記所定の物理量の差を採って前記所定の物理量に関する誤差とすることを特徴とする付記1記載の多面体生成プログラム。
【0169】
(付記4) 前記所定の物理量が体積であることを特徴とする付記3記載の多面体生成プログラム。
(付記5) コンピュータを、さらに、
加工時に許容される誤差である加工精度と代表寸法との入力を受けると、予め定義された計算式によって許容される体積誤差を算出し、前記体積誤差を前記所定の物理量に関する許容誤差として前記誤差保証メッシュ数決定手段に与える許容誤差決定手段、
として機能させることを特徴とする付記4記載の多面体生成プログラム。
【0170】
(付記6) 前記誤差計算手段は、前記多面体データ記憶手段に記憶された前記サンプル多面体データに基づいて前記多面体の前記所定の物理量を計算し、前記サンプル多面体データで示される前記多面体のメッシュ数と前記所定の物理量との相関関係から前記3次元モデルの前記所定の物理量の推定真値を算出し、前記推定真値と前記サンプル多面体データの前記所定の物理量との差を採って前記所定の物理量に関する誤差とすることを特徴とする付記1記載の多面体生成プログラム。
【0171】
(付記7) 前記所定の物理量は歪エネルギ密度であることを特徴とする付記6記載の多面体生成プログラム。
(付記8) コンピュータを、さらに、
設計データの許容誤差の入力を受けると、予め定義された計算式によって許容される歪エネルギ密度の誤差を算出し、前記歪エネルギ密度の誤差を前記所定の物理量に関する許容誤差として前記誤差保証メッシュ数決定手段に与える許容誤差決定手段、
として機能させることを特徴とする付記7記載の多面体生成プログラム。
【0172】
(付記9) 前記関係式生成手段は、誤差とメッシュ数とを座標軸とした座標平面上で、前記サンプル多面体データごとに求められた誤差とメッシュ数との関係を示す測定点を設定し、前記測定点の内挿曲線を生成し、生成した前記内挿曲線を示す式を前記関係式とすることを特徴とする付記1記載の多面体生成プログラム。
【0173】
(付記10) 3次元CADデータに基づいて複数のメッシュで構成される多面体を生成するための多面体生成装置において、
3次元モデルの形状を定義した前記3次元CADデータを記憶するCADデータ記憶手段と、
多面体の生成指示を受けると、前記CADデータ記憶手段に記憶された前記3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成するとともに、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する多面体生成手段と、
前記多面体生成手段で生成された複数の前記サンプル多面体データを記憶する多面体データ記憶手段と、
前記多面体データ記憶手段から複数の前記サンプル多面体データを取得し、所定の物理量に関して、前記3次元CADデータで示される物体と前記サンプル多面体データで示される多面体との間の誤差を、前記サンプル多面体データごとに計算する誤差計算手段と、
前記誤差計算手段によって算出された前記サンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と前記誤差との相関関係を示す関係式を生成する関係式生成手段と、
前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する前記誤差保証メッシュ数を算出し、前記誤差保証メッシュ数を前記多面体生成手段に対して入力する誤差保証メッシュ数決定手段と、
を有することを特徴とする多面体生成装置。
【0174】
(付記11) 3次元CADデータに基づいて複数のメッシュで構成される多面体をコンピュータによって生成するための多面体生成方法において、
多面体生成手段が、多面体の生成指示を受けると、CADデータ記憶手段に記憶された3次元モデルの形状を定義した前記3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成し、
多面体データ記憶手段が、前記多面体生成手段で生成された複数の前記サンプル多面体データを記憶し、
誤差計算手段が、前記多面体データ記憶手段から複数の前記サンプル多面体データを取得し、所定の物理量に関して、前記3次元CADデータで示される物体と前記サンプル多面体データで示される多面体との間の誤差を、前記サンプル多面体データごとに計算し、
関係式生成手段が、前記誤差計算手段によって算出された前記サンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と前記誤差との相関関係を示す関係式を生成し、
誤差保証メッシュ数決定手段が、前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する前記誤差保証メッシュ数を算出し、前記誤差保証メッシュ数を前記多面体生成手段に対して入力し、
前記多面体生成手段が、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する、
ことを特徴とする多面体生成方法。
【図面の簡単な説明】
【0175】
【図1】発明の概要を示す図である。
【図2】第1の実施の形態のシステム構成例を示す図である。
【図3】第1の実施の形態に用いるコンピュータのハードウェア構成例を示す図である。
【図4】第1の実施の形態に係るコンピュータが有する機能を示すブロック図である。
【図5】加工精度を保証した多面体データの生成手順を示すフローチャートである。
【図6】3次元モデルの例を示す図である。
【図7】3次元CADデータのデータ構造例を示す図である。
【図8】多面体生成処理の手順を示すフローチャートである。
【図9】多面体の例を示す図である。
【図10】多面体データのデータ構造例を示す図である。
【図11】体積誤差計算手順を示すフローチャートである。
【図12】3次元モデルの体積計算手順を示すフローチャートである。
【図13】多面体の体積計算手順を示すフローチャートである。
【図14】多面体のメッシュ数と体積誤差の関係を示すグラフである。
【図15】生成された内挿曲線を示す図である。
【図16】決定された精度保証メッシュ数を示す図である。
【図17】第2の実施の形態に係るコンピュータが有する機能を示すブロック図である。
【図18】荷重情報記憶部のデータ構造例を示す図である。
【図19】拘束条件記憶部のデータ構造例を示す図である。
【図20】材料定数情報記憶部のデータ構造例を示す図である。
【図21】解析精度を保証した多面体データの生成および構造解析処理の手順を示すフローチャートである。
【図22】歪エネルギ密度計算処理の手順を示すフローチャートである。
【図23】多面体に対する荷重データ生成処理の手順を示すフローチャートである。
【図24】多面体データに対する拘束データ生成手順を示すフローチャートである。
【図25】多面体の歪エネルギの計算手順を示すフローチャートである。
【図26】内挿曲線の生成手順を示すフローチャートである。
【図27】多面体のメッシュ数とその多面体の歪エネルギ密度との関係を示すグラフである。
【図28】メッシュ数と歪エネルギ密度との関係を示す内挿曲線を示す図である。
【図29】推定真値を示す図である。
【図30】相対誤差を示す図である。
【図31】多面体のメッシュ数と相対誤差との関係を示すグラフである。
【図32】メッシュ数と相対誤差との関係を示す内挿曲線を示す図である。
【図33】歪エネルギ密度許容誤差算出手順を示すフローチャートである。
【図34】決定された精度保証メッシュ数を示す図である。
【符号の説明】
【0176】
1 多面体生成装置
1a CADデータ記憶手段
1b 多面体生成手段
1c 多面体データ記憶手段
1d 誤差計算手段
1e 関係式生成手段
1f 許容誤差決定手段
1g 誤差保証メッシュ数決定手段
1h 誤差保証多面体データ
【技術分野】
【0001】
本発明は3次元CAD(Computer Aided Design)データに基づいて複数のメッシュで構成される多面体を生成するための多面体生成プログラム、多面体生成装置および多面体生成方法に関し、特に誤差を保証した多面体を生成するための多面体生成プログラム、多面体生成装置および多面体生成方法に関する。
【背景技術】
【0002】
工業製品の設計には、多くの場合、3次元CADソフトウェアが用いられる。3次元CADソフトウェアは、コンピュータ上の操作で部品を設計できると共に、部品等の形状を電子データ(3次元CADデータ)で管理および配布できるため非常に便利である。
【0003】
3次元CADデータには、曲面を含む複雑な形状が定義されている。そのため、CAM(Computer Aided Manufacturing)やCAE(Computer Aided Engineering)等の他のソフトウェアで利用する場合、データの内容が複雑すぎてしまう。そこで、3次元CADデータを他のソフトウェアで流用するために、多面体データへのデータ変換が行われる。
【0004】
多面体データは、3次元CADデータで示される形状をメッシュと呼ばれる平面の集合(多面体)に置き換えたものである。多面体を構成する各メッシュは3角形をしており、形状の頂点の座標を定義することで、そのメッシュの形状、位置、および向きを特定できる。そのため、3次元CADデータを多面体データへ変換することで、データ量を削減できると共に、データ構造を単純化できる。
【0005】
ところで、3次元CADデータを多面体データへ変換した場合、多面体データで表現される多面体の形状には、元の3次元CADデータで表される3次元モデルの形状に対して誤差がある。多面体のメッシュ数を多くすれば誤差は少なくなるが、多面体データのデータ量も多くなり、その多面体データを解析するCAMやCAEの処理負荷も大きくなる。そのため、多面体データの使用目的に応じて、適切な精度でデータ変換を行う必要がある。
【0006】
そこで、元の曲面と、その曲面を分割した面との誤差の最大値が、与えられた寸法の許容誤差内となるようにオフセット多面体を生成する技術が考えられている(たとえば、特許文献1参照)。
【特許文献1】特開昭63−64105号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、特許文献1に示すように、全ての面について誤差が許容範囲内となるように曲面を逐次分割した場合、全ての面について誤差を許容範囲内にすることができるが、その一方で処理負荷が大きくなる。特に3次元CADデータによる形状が非常に複雑な場合、処理負荷が過大となる。
【0008】
しかも、特許文献1で指定できる物理量は、元の曲面と分割した面との誤差の最大値のみであり、他の物理量の誤差を指標として、適切なメッシュ数での多面体データを作成することはできない。換言すると、許容誤差を決定するための判断基準は、多面体データの使用目的ごとに異なる。たとえば、多面体データをCAMで利用する場合、工作機械の加工精度に応じて、必要となる多面体データの精度が決定される。また、多面体データをCAEで利用する場合、設計データの許容誤差に応じて、必要となる多面体データの精度が決定される。
【0009】
このように、多面体データの利用目的に応じて、生成すべき多面体データの精度(メッシュ数)を決定するための判断基準が異なってくる。そこで実際には、所定のメッシュ数の多面体データを生成し、生成された多面体データを解析する。そして、生成した多面体データの物理特性が、その利用目的に応じて必要とされる物理特性を満たしているか、あるいは過剰に高精度となっていないかを判断することとなる。多面体データの物理特性が適切でなければ、メッシュ数の異なる多面体データを再度作成し、適切な物理特性となるまで試行錯誤を繰り返すしかなかった。
【0010】
本発明はこのような点に鑑みてなされたものであり、任意の物理量の誤差を許容範囲内に抑え、かつ過剰精度とならない多面体データを容易に得ることができる多面体生成プログラム、多面体生成装置および多面体生成方法を提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明では上記課題を解決するために、図1に示すような機能を有する多面体生成装置1が提供される。本発明の係る多面体生成装置1は、3次元CADデータに基づいて複数のメッシュで構成される多面体を生成するために、次のような機能を有する。CADデータ記憶手段1aは、3次元モデルの形状を定義した3次元CADデータを記憶する。多面体生成手段1bは、多面体の生成指示を受けると、CADデータ記憶手段1aに記憶された3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成する。また、多面体生成手段1bは、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データ1hを生成する。多面体データ記憶手段1cは、多面体生成手段1bで生成された複数のサンプル多面体データを記憶する。誤差計算手段1dは、多面体データ記憶手段1cから複数のサンプル多面体データを取得し、所定の物理量に関して、3次元CADデータで示される物体とサンプル多面体データで示される多面体との間の誤差を、サンプル多面体データごとに計算する。関係式生成手段1eは、誤差計算手段1dによって算出されたサンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と誤差との相関関係を示す関係式を生成する。誤差保証メッシュ数決定手段1gは、所定の物理量に関する許容誤差が予め与えられており、許容誤差を関係式に代入し、許容誤差を保証する誤差保証メッシュ数を算出し、誤差保証メッシュ数を多面体生成手段1bに対して入力する。
【0012】
このような多面体生成装置1によれば、多面体の生成指示を受けると、多面体生成手段1bにより、3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データが生成される。生成されたサンプル多面体データは、多面体データ記憶手段1cで記憶される。次に、誤差計算手段1dにより、所定の物理量に関して、3次元CADデータで示される物体とサンプル多面体データで示される多面体との間の誤差が、サンプル多面体データごとに計算される。さらに、関係式生成手段1eにより、多面体を構成するメッシュ数と誤差との相関関係を示す関係式が生成される。そして、誤差保証メッシュ数決定手段1gにより、許容誤差が関係式に代入され、許容誤差を保証する誤差保証メッシュ数が算出される。算出された誤差保証メッシュ数は多面体生成手段1bに対して入力され、多面体生成手段1bにより、誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データ1hが生成される。
【発明の効果】
【0013】
本発明では、メッシュ数の異なる複数の多面体に基づいて、多面体を構成するメッシュ数と誤差との相関関係を示す関係式を生成し、その関係式に許容誤差を代入することで許容誤差を保証する誤差保証メッシュ数を算出するようにした。これにより、任意の物理量の誤差を許容範囲内に抑え、かつ過剰精度とならない多面体データを容易に生成することができる。
【発明を実施するための最良の形態】
【0014】
以下、本発明の実施の形態を図面を参照して説明する。
図1は、発明の概要を示す図である。本発明に係る多面体生成装置1は、3次元CADデータに基づいて複数のメッシュで構成される多面体を生成するために、CADデータ記憶手段1a、多面体生成手段1b、多面体データ記憶手段1c、誤差計算手段1d、関係式生成手段1e、許容誤差決定手段1f、および誤差保証メッシュ数決定手段1gを有している。
【0015】
CADデータ記憶手段1aは、3次元モデルの形状を定義した3次元CADデータを記憶する。
多面体生成手段1bは、多面体の生成指示を受けると、CADデータ記憶手段1aに記憶された3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成する。たとえば、10から順に10のべき乗の各値(10,102,103,104,・・・)に応じたメッシュ数(所定の上限値まで)をサンプリングメッシュ数とする。また、多面体生成手段1bは、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データ1hを生成する。
【0016】
多面体データ記憶手段1cは、多面体生成手段1bで生成された複数のサンプル多面体データを記憶する。
誤差計算手段1dは、多面体データ記憶手段1cから複数のサンプル多面体データを取得し、所定の物理量に関して、3次元CADデータで示される物体とサンプル多面体データで示される多面体との間の誤差を、サンプル多面体データごとに計算する。所定の物理量は、たとえば、体積誤差や歪エネルギ密度の誤差などである。
【0017】
関係式生成手段1eは、誤差計算手段1dによって算出されたサンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と誤差との相関関係を示す関係式を生成する。たとえば、関係式生成手段1eは、誤差とメッシュ数とを座標軸とした座標平面上で、サンプル多面体データごとに求められた誤差とメッシュ数との関係を示す測定点を設定する。そして、関係式生成手段1eは、測定点の内挿曲線を生成し、生成した内挿曲線を示す式を前記関係式とする。
【0018】
許容誤差決定手段1fは、所定の物理量を一意に決定することができる他の物理量に関する許容誤差の入力を受けると、予め定義された計算式によって所定の物理量に関する許容誤差を算出する。そして、許容誤差決定手段1fは、許容誤差を誤差保証メッシュ数決定手段1gに与える。
【0019】
誤差保証メッシュ数決定手段1gは、所定の物理量に関する許容誤差が予め与えられており、許容誤差を関係式に代入し、許容誤差を保証する誤差保証メッシュ数を算出する。そして、誤差保証メッシュ数決定手段1gは、誤差保証メッシュ数を多面体生成手段1bに対して入力する。
【0020】
このような多面体生成装置1によれば、多面体の生成指示を受けると、多面体生成手段1bにより、3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データが生成される。生成されたサンプル多面体データは、多面体データ記憶手段1cで記憶される。
【0021】
次に、誤差計算手段1dにより、所定の物理量に関して、3次元CADデータで示される物体とサンプル多面体データで示される多面体との間の誤差が、サンプル多面体データごとに計算される。さらに、関係式生成手段1eにより、多面体を構成するメッシュ数と誤差との相関関係を示す関係式が生成される。
【0022】
また、許容誤差決定手段1fにより、予め定義された計算式によって所定の物理量に関する許容誤差が算出される。算出された許容誤差は、誤差保証メッシュ数決定手段1gに与えられる。そして、誤差保証メッシュ数決定手段1gにより、許容誤差が関係式に代入され、許容誤差を保証する誤差保証メッシュ数が算出される。算出された誤差保証メッシュ数は多面体生成手段1bに対して入力され、多面体生成手段1bにより、誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データ1hが生成される。
【0023】
このようにして、任意の物理量を指標として、その物理量を許容誤差内とし、かつ過剰精度とならない多面体データを容易に生成できる。
次に、本実施の形態の詳細を説明する。
【0024】
[第1の実施の形態]
第1の実施の形態として、CAMの加工精度を保証した多面体データの作成技術について説明する。
【0025】
図2は、第1の実施の形態のシステム構成例を示す図である。本実施の形態では、工作機械20にコンピュータ100がネットワーク10経由で接続されている。工作機械20は、内蔵されたコンピュータによって制御され、入力された多面体データで示された形状に、加工物を切削することができる。
【0026】
コンピュータ100は、3次元CADアプリケーションを有している。3次元CADアプリケーションは、ユーザからの操作入力に応答して、任意の形状を表現する3次元CADデータを生成する。また、コンピュータ100は、3次元CADデータに基づいて、工作機械20の加工精度に応じた面数の多面体データを生成することができる。
【0027】
図3は、第1の実施の形態に用いるコンピュータのハードウェア構成例を示す図である。コンピュータ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信インタフェース106が接続されている。
【0028】
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。
【0029】
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。
【0030】
通信インタフェース106は、ネットワーク10に接続されている。通信インタフェース106は、ネットワーク10を介して、他のコンピュータとの間でデータの送受信を行う。
【0031】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図4は、第1の実施の形態に係るコンピュータが有する機能を示すブロック図である。コンピュータ100には、CADデータ記憶部110、多面体データ記憶部120、3次元CADアプリケーション131、多面体生成部132、体積誤差計算部133、内挿曲線生成部134、体積許容誤差決定部135、精度保証メッシュ数決定部136、および多面体データ送信部137を有している。
【0032】
CADデータ記憶部110は、3次元CADアプリケーション131で作成されたCADデータを記憶する。たとえば、HDD103の記憶領域の一部が、CADデータ記憶部110として使用される。
【0033】
多面体データ記憶部120は、多面体生成部132で生成された多面体データを記憶する。たとえば、HDD103の記憶領域の一部が、多面体データ記憶部120として使用される。
【0034】
3次元CADアプリケーション131は、ユーザからの操作入力に応答して、任意の立体形状を示す3次元CADデータを生成する。3次元CADアプリケーション131は、生成した3次元CADデータをCADデータ記憶部110に格納する。
【0035】
多面体生成部132は、3次元CADデータに基づいて、任意のメッシュ数となる多面体を生成する。具体的には、多面体生成部132は、多面体の生成を指示する操作入力を受け取ると、CADデータ記憶部110から3次元CADデータを取得する。次に、多面体生成部132は、予め指定されたメッシュ数(サンプリングメッシュ数)となる複数の多面体を生成する。本実施の形態では、多面体生成部132は、10から順に10のべき乗の108までの各値(10,102,103,104,105,106,107,108)のメッシュ数をサンプリングメッシュ数とする。そして、多面体生成部132は、生成した多面体を表す多面体データを多面体データ記憶部120に格納する。
【0036】
また、多面体生成部132は、精度保証メッシュ数決定部136から加工精度に応じたメッシュ数(精度保証メッシュ数(NCAM))が入力されると、その精度保証メッシュ数(NCAM)に応じたメッシュ数の多面体データを生成する。そして、多面体生成部132は、生成した多面体データを多面体データ送信部137に渡す。
【0037】
体積誤差計算部133は、3次元CADデータと、メッシュ数の異なる複数の多面体データそれぞれとの間の体積誤差を計算する。体積誤差計算部133は、計算した体積誤差を内挿曲線生成部134に渡す。
【0038】
内挿曲線生成部134は、体積誤差計算部133による計算結果に基づいて、メッシュ数と体積誤差との関係を示す内挿曲線を表す式を生成する。内挿曲線生成部134は、生成した内挿曲線の式を精度保証メッシュ数決定部136に渡す。
【0039】
体積許容誤差決定部135は、操作入力により、加工精度と代表寸法との入力を受け付けると、加工精度と代表寸法とに応じて、許容できる体積誤差(体積許容誤差)を決定する。そして、体積許容誤差決定部135は、決定した体積許容誤差を精度保証メッシュ数決定部136に渡す。
【0040】
精度保証メッシュ数決定部136は、体積許容誤差を満たす精度保証メッシュ数を、内挿曲線の式に基づいて決定する。精度保証メッシュ数決定部136は、決定した精度保証メッシュ数を多面体生成部132に渡す。
【0041】
多面体データ送信部137は、多面体生成部132から、精度保証メッシュ数に応じた多面体データを取得する。そして、多面体データ送信部137は、取得した多面体データを工作機械20に送信する。
【0042】
次に、コンピュータ100による工作機械の加工精度を保証した多面体データの生成手順を説明する。
図5は、加工精度を保証した多面体データの生成手順を示すフローチャートである。以下、図5に示す処理を、ステップ番号に沿って説明する。
【0043】
[ステップS11]3次元CADアプリケーション131は、ユーザからの操作入力に応答して3次元CADデータを生成する。たとえば、3次元CADアプリケーション131は、球、円筒、直方体などの基本形状(プリミティブ)のソリッドモデルを、ユーザの操作入力に基づいて生成する。そして、3次元CADアプリケーション131は、操作入力に応じて、ソリッドモデルの3次元空間内での位置と向きを決定する。
【0044】
さらに、3次元CADアプリケーション131は、操作入力に応じて、ソリッドモデルの集合演算の式を決定する。たとえば、ソリッドモデルAとソリッドモデルBとの間の集合演算には、「A∪B」、「A∩B」、「A−B」といったものがある。「A∪B」は、ソリッドモデルAが占有する空間とソリッドモデルBが占有する空間を合わせた空間が、作成している3次元モデルが占有する空間であること示している。「A∩B」は、ソリッドモデルAが占有する空間とソリッドモデルBが占有する空間との重複する空間が、作成している3次元モデルが占有する空間であること示している。「A−B」は、ソリッドモデルAが占有する空間からソリッドモデルBが占有する空間を除いた空間が、作成している3次元モデルが占有する空間であること示している。
【0045】
このように、3次元CADアプリケーション131は、基本形状のソリッドモデルの集合演算によって3次元モデルの形状を定義する。そして、3次元CADアプリケーション131は、3次元モデルを表す3次元CADデータを、CADデータ記憶部110に格納する。
【0046】
[ステップS12]多面体生成部132は、加工精度と代表寸法とに応じた多面体の生成を指示する操作入力に応答して、3次元CADデータに基づく複数の多面体を生成する。この処理の詳細は後述する(図8参照)。
【0047】
[ステップS13]体積誤差計算部133は、多面体生成部132によって多面体データが多面体データ記憶部220に格納されると、その多面体と3次元モデルとの間の体積誤差を計算する。3次元モデルの体積をVc、多面体の体積をVpとすると、体積誤差εは以下の式で表せる。
ε=|(Vc−Vp)/Vc| ・・・・(1)
この処理の詳細は後述する(図11〜図13参照)。
【0048】
[ステップS14]内挿曲線生成部134は、多面体のメッシュ数と体積誤差との相関関係を示す内挿曲線を生成する。たとえば、内挿曲線生成部134は、横軸をメッシュ数、縦軸を体積誤差としたグラフ上に、メッシュ数の異なる複数の多面体データそれぞれに関するメッシュ数と体積誤差との値を示す測定点をプロットする。そして、内挿曲線生成部134は、プロットされた各測定点を通る滑らかな曲線を生成する。曲線の生成方法としては、たとえば線形補間法(method of linear interpolation)を用いることができる。
【0049】
[ステップS15]体積許容誤差決定部135は、多面体の生成指示に伴って入力された加工精度と代表寸法とを取得する。加工精度は、工作機械20または加工対象物の材質などに依存する。たとえば、鋳物の砂粒の大きさに応じて0.2mm程度の加工精度が与えられる。代表寸法は、3次元モデルで表される物質の代表的な位置に関する幅である。たとえば、物質に関して、高さ、幅、奥行きといった3方向の寸法を計算し、最も大きな値となる方向の寸法を代表寸法とする。たとえば、代表寸法として1m程度の値が設定される。
【0050】
体積許容誤差決定部135は、加工精度を代表寸法で除算し、その除算結果を3乗した値を体積許容誤差εtとする。式で表すと以下の通りである。
εt=(l/L)3 ・・・(2)
ここで、lは加工精度であり、Lは代表寸法である。加工精度を代表寸法で除算するのは、求められている最大限の精度で加工したときに代表軸方向に発生する誤差と代表寸法との比を計算するためである。除算結果を3乗するのは、体積誤差と単位を合わせるためである。すなわち、体積誤差は、3次元の計算で求められる。一方、代表寸法を採った軸方向の誤差は、1次元の計算で求められる誤差である。そのため、次元を一致させるためには、除算結果を3乗しておくことが必要となる。
【0051】
[ステップS16]精度保証メッシュ数決定部136は、内挿曲線と体積許容誤差とから、精度保証メッシュ数を決定する。具体的には、精度保証メッシュ数決定部136は、内挿曲線において、体積許容誤差に対応するメッシュ数を、精度保証メッシュ数とする。
【0052】
[ステップS17]多面体生成部132は、精度保証メッシュ数の多面体を生成する。
[ステップS18]多面体データ送信部137は、精度保証メッシュ数の多面体データを、工作機械20に送信する。
【0053】
次に、具体例を用いて、加工精度を保証した多面体データの生成手順を詳細に説明する。
図6は、3次元モデルの例を示す図である。図6に示す3次元モデル31は、球のソリッドモデルと円筒のソリッドモデルとの集合演算(A∪B)によって定義されている。このような3次元モデル31が3次元CADアプリケーション131で作成され、対応する3次元CADデータが、CADデータ記憶部110に格納される。
【0054】
図7は、3次元CADデータのデータ構造例を示す図である。3次元CADデータ111は、ソリッドモデル情報テーブル111aと集合演算情報111bとで構成される。
ソリッドモデル情報テーブル111aには、ソリッドID、ソリッド種別、およびパラメータの欄が設けられている。ソリッドIDの欄には、ソリッドの識別子が設定される。ソリッド種別の欄には、ソリッドモデルで示される基本形状の名称が設定される。パラメータの欄には、ソリッドモデルの形状、位置、向きを定義するためのパラメータが設定される。設定されるパラメータは、パラメータ種別と値との組である。必要なパラメータ種別は、ソリッド種別に応じて予め決まっている。たとえば、球であれば、中心座標と半径とによって、その形状、位置が一意に決定できる(球に、向きの情報は不要である)。また、円筒であれば、底面中心座標、底面半径方向ベクトル、および高さによって、その形状、位置、および向きが一意に決定される。
【0055】
集合演算情報111bの欄には、ソリッドモデル間の集合演算の式が設定される。図7の例では、ソリッドID「S1」のソリッドモデルと、ソリッドID「S2」のソリッドモデルとの和集合で占められる空間によって3次元モデル31の形状が示されている。
【0056】
このような3次元CADデータ111に基づいて、多面体が生成される。
図8は、多面体生成処理の手順を示すフローチャートである。以下、図8に示す処理をステップ番号に沿って説明する。
【0057】
[ステップS21]多面体生成部132は、CADデータ記憶部110から3次元CADデータを取得する。
[ステップS22]多面体生成部132は、未選択のサンプリングメッシュ数を選択する。
【0058】
[ステップS23]多面体生成部132は、3次元モデルの各サーフェス(面)を、3角形メッシュに分割する。この際、平面のサーフェスに関しては、なるべく大きな3角形メッシュに分割する。また、曲面は、分割後の隣接する3角形メッシュ同士の交わる角度が、予め決められた角度(たとえば10度)以上とならないように分割する。
【0059】
[ステップS24]多面体生成部132は、ステップS23で分割された各サーフェスの3角形メッシュの面積を合計し、表面全体の面積を計算する。
[ステップS25]多面体生成部132は、ステップS24で計算した表面全体の面積を、サンプリングメッシュ数で割、1メッシュ当たりの面積を求める。
【0060】
[ステップS26]多面体生成部132は、ステップS25で求めた1メッシュ当たりの面積と同じ面積となる正3角形の1辺の長さ(メッシュ長さ)を求める。
[ステップS27]多面体生成部132は、元の3次元モデルの各サーフェスを、メッシュ長さで複数のメッシュに分割する。具体的には、多面体生成部132は、各サーフェスの接合エッジ(複数のサーフェス間の境界部分)を、メッシュ長さの線分に分割する。次に、各サーフェス内部を、エッジを分割して得られた線分を基準にして、メッシュ長さ間隔の格子状に分割する。この分割によって生成された4角形を対角線で細分割することで、3角形のメッシュとなる。このとき、サーフェスの接合エッジでは、隣接するサーフェスのエッジの分割位置がずれることもある。その場合、接合エッジ部分で4角形が生じてしまうので、その4角形を対角線に細分割することで、境界部分での整合性を取ることができる。
【0061】
[ステップS28]多面体生成部132は、生成した多面体を示す多面体データを、多面体データ記憶部120に格納する。
[ステップS29]多面体生成部132は、予め決められたサンプリングメッシュ数の全てを選択したか否かを判断する。全てのサンプリングメッシュ数に関して多面体生成処理が完了していれば、処理が終了する。未選択のサンプリングメッシュ数があれば、処理がステップS22に進められる。
【0062】
図9は、多面体の例を示す図である。多面体32は、複数のメッシュに分割されている。図9には、一種類の多面体32しか示していないが、メッシュの数が異なる多数の多面体が生成される。
【0063】
図10は、多面体データのデータ構造例を示す図である。多面体データ記憶部120には、複数の多面体データ121,122,123,・・・が格納されている。多面体データ121には、メッシュ数情報121a、メッシュデータテーブル121b、および頂点データテーブル121cが含まれている。
【0064】
メッシュ数情報121aは、多面体のメッシュ数が示されている。
メッシュデータテーブル121bには、多面体を構成するメッシュの位置および向き等を一意に特定する情報が示されている。具体的には、メッシュデータテーブル121bには、メッシュ番号、頂点#1、頂点#2、および頂点#3の欄が設けられている。メッシュ番号の欄には、1つの多面体内でメッシュを一意に識別するための識別番号(メッシュ番号)が設定される。
【0065】
頂点#1、頂点#2、および頂点#3の欄には、メッシュ番号で示されるメッシュの3つの頂点を一意に識別するための識別番号(頂点番号)が設定される。なお、本実施の形態では、メッシュの外(表)側から頂点をみたときの反時計回りの順番と一致するように、各頂点の頂点番号が、頂点#1、頂点#2、および頂点#3の欄に順に設定される。
【0066】
頂点データテーブル121cには、多面体上に設定された各頂点の位置を特定するための情報が設定されている。具体的には、頂点データテーブル121cには、頂点番号と座標との欄が設けられている。頂点番号の欄には、頂点を一意に識別するための識別番号(頂点番号)が設定される。座標の欄には、対応する頂点の3次元空間での位置を示す座標が設定される。
【0067】
このような多面体データに基づいて、3次元モデルと複数の多面体それぞれとの間の体積誤差が計算される。
図11は、体積誤差計算手順を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
【0068】
[ステップS31]体積誤差計算部133は、CADデータ記憶部110から3次元CADデータを取得する。
[ステップS32]体積誤差計算部133は、3次元CADデータに基づいて3次元モデルの体積を計算する。この処理の詳細は後述する。
【0069】
[ステップS33]体積誤差計算部133は、多面体データ記憶部120から未処理の多面体データを取得する。
[ステップS34]体積誤差計算部133は、取得した多面体データに基づいて、多面体の体積を計算する。この処理の詳細は後述する。
【0070】
[ステップS35]体積誤差計算部133は、ステップS32で計算した3次元モデルの体積とステップS34で計算した多面体の体積とに基づいて、3次元モデルと多面体との間の体積誤差を計算する。
【0071】
[ステップS36]体積誤差計算部133は、未処理の多面体データがあるか否かを判断する。未処理の多面体データがある場合、処理がステップS33に進められる。全ての多面体データに対して体積誤差の計算が行われた場合、処理が終了する。
【0072】
次に、3次元モデルの体積計算手順を詳細に説明する。
図12は、3次元モデルの体積計算手順を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
【0073】
[ステップS41]体積誤差計算部133は、体積Vcを初期化する。具体的には、3次元モデルの体積を示す変数としてVcに0を設定する。
[ステップS42]体積誤差計算部133は、プリミティブを1つ選択する。
【0074】
[ステップS43]体積誤差計算部133は、選択したプリミティブの体積を計算する。たとえば、球のプリミティブであれば、体積は(4/3)πr03である。ここで、πは円周率、r0は半径である。また、円筒のプリミティブであれば、体積はπr12hである。ここで、r1は底面の半径であり、hは高さである。
【0075】
[ステップS44]体積誤差計算部133は、選択したプリミティブと既に処理したプリミティブとの重複領域の有無(干渉判定)を判断する。重複領域があれば、処理がステップS45に進められる。重複領域がなければ、処理がステップS52に進められる。
【0076】
[ステップS45]体積誤差計算部133は、重複領域の体積を計算する。
[ステップS46]体積誤差計算部133は、重複関係にあるプリミティブの集合演算が、和集合(S1∪S2)か否かを判断する。和集合であれば、処理がステップS47に進められる。和集合でなければ、処理がステップS49に進められる。
【0077】
[ステップS47]体積誤差計算部133は、プリミティブの体積から重複領域の体積を減算する。
[ステップS48]体積誤差計算部133は、減算結果を、体積Vcに加算する。その後、処理がステップS52に進められる。
【0078】
[ステップS49]体積誤差計算部133は、重複関係にあるプリミティブの集合演算が、積集合(S1∩S2)か否かを判断する。積集合であれば、処理がステップS50に進められる。積集合でなければ、減算(S1−S2)であると判断され、処理がステップS51に進められる。
【0079】
[ステップS50]体積誤差計算部133は、重複領域の体積をVcに設定する。その後、処理がステップS52に進められる。
[ステップS51]体積誤差計算部133は、重複領域の体積をVcから減算する。
【0080】
[ステップS52]体積誤差計算部133は、未選択のプリミティブがあるか否かを判断する。未選択のプリミティブがある場合、処理がステップS42に進められる。全てのプリミティブが選択された場合、処理が終了する。
【0081】
このようにして、3次元モデルの体積を計算できる。
次に、多面体の体積計算手順を詳細に説明する。
図13は、多面体の体積計算手順を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
【0082】
[ステップS61]体積誤差計算部133は、未処理のメッシュを1つ選択する。
[ステップS62]体積誤差計算部133は、メッシュの頂点と原点とを結ぶ線分を辺とする3角錐の体積を計算する。計算された体積は、RAM102に格納される。
【0083】
[ステップS63]体積誤差計算部133は、メッシュを原点から見たときの頂点の回転方向(頂点#1,頂点#2、頂点#3の順)を判定する。
[ステップS64]体積誤差計算部133は、回転方向は反時計回りか否かを判断する。反時計回りであれば、処理がステップS65に進められる。時計回りであれば、処理rがステップS66に進められる。
【0084】
[ステップS65]体積誤差計算部133は、RAM102に格納された体積を負の値にする。
[ステップS66]体積誤差計算部133は、未選択のメッシュがあるか否かを判断する。未選択のメッシュがあれば、処理がステップS61に進められる。未選択のメッシュがなければ、処理がステップS67に進められる。
【0085】
[ステップS67]体積誤差計算部133は、メッシュごとに計算した全ての体積の値を合計する。
このようにして、多面体の体積を計算できる。なお、上記の例では、原点から見たときにメッシュの回転方向が反時計回りの場合に、体積を負としている。これは、多面体の各メッシュが、多面体の外部に対して表面を向けている場合を想定したものである。多面体の各メッシュが、多面体の内部に対して表面を向けている場合には、原点から見て時計回りのメッシュの体積を負にすることとなる。
【0086】
図12の処理により3次元モデルの体積Vcを計算し、図13の処理により各多面体の体積Vpを計算すれば、その結果を前述の式(1)に代入することで体積誤差εを算出できる。
【0087】
なお、図12に示した重複領域の判定(公差判定)や、図13に示した多面体の体積判定については、「山口富士夫、情報数理シリーズ B−3 CAD工学、培風館、1998年2月、p.119−128,p.234−242」に詳しい。
【0088】
次に、内挿曲線生成処理を詳細に説明する。内挿曲線を生成する場合、まず、多面体のメッシュ数に応じた体積誤差を集計する。集計結果を、グラフ上にプロットすると図14のようになる。
【0089】
図14は、多面体のメッシュ数と体積誤差の関係を示すグラフである。図14の例では、横軸にメッシュ数をとり、縦軸に体積誤差を取っている。このようなグラフに対して、内挿曲線生成部134は、メッシュ数の異なる各多面体における体積誤差の値を示す位置に測定点を設定する。そして、内挿曲線生成部134は、このようなグラフ上で各測定点を通る滑らかな内挿曲線を生成する。
【0090】
図15は、生成された内挿曲線を示す図である。内挿曲線は、線形補間法で求めることができる。線形補間法については、たとえば、「T.R.マッカーラ、計算機のための数値計算法概論、サイエンス社、1972年3月、p.177−209」に記載されている(なお、後述する外挿曲線の算出方法についても、当該文献に記載されている)。
【0091】
内挿曲線の式が求められると、体積許容誤差決定部135によって体積許容誤差εt(=(l/L)3)が求められる。そして、精度保証メッシュ数決定部136が、内挿曲線の式に体積許容誤差εtを代入しメッシュ数について解くことで、体積誤差が体積許容誤差εtとなる精度保証メッシュ数NCAMが得られる。
【0092】
図16は、決定された精度保証メッシュ数を示す図である。このようにして求められた精度保証メッシュ数NCAMが多面体生成部132に渡され、精度保証メッシュ数NCAMの多面体が生成される。そして、その多面体の多面体データが多面体データ送信部137を介して工作機械20に送られる。工作機械20では、加工精度に応じた精度で作成された多面体データに基づいて、工作物を加工できる。
【0093】
このように、本実施の形態によれば、加工精度に応じた精度の多面体データを自動で生成することができる。工作機械20を操作するオペレータは、通常、その工作機械20の加工精度を把握しているため、既知の情報を元に多面体のメッシュ数を決定できることとなる。その結果、3次元モデルに基づいてCAMで使用する多面体データを生成する作業が容易(試行錯誤が不要)となる。
【0094】
[第2の実施の形態]
次に、第2の実施の形態として、CAEの解析精度を保証した多面体データの作成技術について説明する。なお、本実施の形態では、3次元CADデータに基づいて多面体を生成するコンピュータ上にCAEによる構造解析シミュレータが実装されているものとする。このような機能を実現するためのコンピュータのハードウェアは、図3に示したコンピュータ100と同様である。
【0095】
また、本実施の形態では、設計データの許容誤差に応じたメッシュ数の多面体を生成するものとする。設計データの許容誤差としては、たとえば、0.01mm程度の値が指定される。
【0096】
設計データの許容誤差は、トレランスと呼ばれている。CADにおいてトレランスとは、図形要素(点や線)の座標値の精度を表している。コンピュータ内では数値は有限の桁内におさめて表現しなければならない。このため演算誤差がどうしても発生する。そこで、ある程度の許容誤差を認める必要が生じ、その許容誤差がトレランスである。トレランスには、たとえば、マージトレランスがある。マージントレランスは、隣接する2面に対して、どの程度まですき間を許容するかを規定するものである。
【0097】
図17は、第2の実施の形態に係るコンピュータが有する機能を示すブロック図である。コンピュータ200は、CADデータ記憶部210、多面体データ記憶部220、荷重情報記憶部230、拘束条件記憶部240、材料定数情報記憶部250、3次元CADアプリケーション261、多面体生成部262、歪エネルギ密度算出部263、相対誤差算出手段264、内挿曲線生成部265、歪エネルギ密度許容誤差決定部266、精度保証メッシュ数決定部267、および構造解析シミュレータ268を有している。
【0098】
ここで、CADデータ記憶部210、多面体データ記憶部220、3次元CADアプリケーション261の機能は、それぞれ図4に示した第1の実施の形態におけるCADデータ記憶部110、多面体データ記憶部120、3次元CADアプリケーション131と同じである。
【0099】
荷重情報記憶部230は、構造解析において3次元モデルで示される部品にかけられる荷重に関する情報(荷重情報)を記憶する。たとえば、HDDの記憶領域の一部が、荷重情報記憶部230として使用される。
【0100】
拘束条件記憶部240は、構造解析において3次元モデルで示される部品に荷重を加える際に、その部品の拘束条件を記憶する。たとえば、HDDの記憶領域の一部が、拘束条件記憶部240として使用される。拘束条件とは、荷重がかけられるときに、対象の物品を固定する条件である。拘束には、3次元空間上の移動に関する拘束と、x軸、y軸、z軸の各軸回りの回転方向の拘束とがある。
【0101】
材料定数情報記憶部250は、3次元モデルで示される部品を構成する材料に関する各種の物理定数(材料定数)を記憶する。たとえば、HDDの記憶領域の一部が、材料定数情報記憶部250として使用される。
【0102】
多面体生成部262は、3次元CADデータに基づいて、任意のメッシュ数となる多面体を生成する。具体的には、多面体生成部262は、多面体の生成を指示する操作入力を受け取ると、CADデータ記憶部210から3次元CADデータを取得する。次に、多面体生成部262は、予め指定されたメッシュ数(サンプリングメッシュ数)となる複数の多面体を生成する。本実施の形態では、多面体生成部262は、10から順に10のべき乗の108までの各値(10,102,103,104,105,106,107,108)に応じたメッシュ数をサンプリングメッシュ数とする。そして、多面体生成部262は、生成した多面体を表す多面体データを多面体データ記憶部220に格納する。
【0103】
また、多面体生成部262は、精度保証メッシュ数決定部267から設計データの許容誤差に応じたメッシュ数(精度保証メッシュ数(NCAE))が入力されると、その精度保証メッシュ数NCAEに応じたメッシュ数の多面体データを生成する。そして、多面体生成部262は、生成した多面体データを構造解析シミュレータ268に渡す。
【0104】
歪エネルギ密度算出部263は、荷重情報記憶部230に格納された荷重情報、拘束条件記憶部240に記憶された拘束条件、および材料定数情報記憶部250に格納された材料定数に基づいて、多面体データ記憶部220に格納された複数の多面体データで示される複数の多面体それぞれの歪エネルギ密度を算出する。歪エネルギ密度算出部263は、算出した各多面体の歪エネルギ密度を、相対誤差算出手段264に渡す。
【0105】
相対誤差算出手段264は、多面体の歪エネルギ密度に基づいて、多面体のメッシュ数を限りなく増加させたときの歪エネルギ密度(推定真値)を求める。ここで、推定真値は、3次元CADデータに示される物品に対する歪エネルギ密度を、多面体データから求め出したものである。推定真値は、有限要素法等を用いて数学的に求めることができる。そして、相対誤差算出手段264は、推定真値と各多面体の歪エネルギ密度との間の相対誤差を求める。多面体ごとの相対誤差は、内挿曲線生成部265に渡される。
【0106】
内挿曲線生成部265は、多面体ごとの相対誤差に基づいて、推定真値と各多面体の歪エネルギ密度との誤差とメッシュ数との関係を示す内挿曲線を生成する。そして、内挿曲線生成部265は、生成された内挿曲線を表す式を精度保証メッシュ数決定部267に渡す。
【0107】
歪エネルギ密度許容誤差決定部266は、ユーザから操作入力により、歪エネルギ密度許容誤差を決定する。具体的には、歪エネルギ密度許容誤差決定部266は、先ず、3次元モデルの3次元CADデータをCADデータ記憶部210から取得し、3次元モデルの体積Vcを求める。そして、歪エネルギ密度許容誤差決定部266は、入力された設計データの許容誤差Δと3次元モデルの体積Vcとから歪エネルギ密度の許容誤差εEを算出する。歪エネルギ密度の許容誤差εEは、以下の式
εE=|Δ3/Vc| ・・・(3)
で求められる。なお、式(3)は、以下のようにして求められたものである。
【0108】
物質の歪エネルギ密度は、歪エネルギを体積で割ったものである。歪エネルギをE、3次元モデルの体積をVc、多面体の体積をVpとすると、歪エネルギ密度の許容誤差εEは、
εE=|(E/Vc−E/Vp)/(E/Vc)| ・・・(4)
と定義できる。式(4)を変形すると、
|(E/Vc−E/Vp)/(E/Vc)|
=|(1/Vc−1/Vp)/(1/Vc)|
=|1−Vc/Vp|
=|(Vp−Vc)/Vp|
・・・(5)
となる。ここで、(Vp−Vc)は体積の差分を示している。そこで、「Vp−Vc=δV」と置き換える。すると
|(Vp−Vc)/Vp|=|δV/Vp| ・・・(6)
となる。VcやVpに対してδVが十分に小さければ、
|δV/Vp|≒|δV/Vc| ・・・(7)
と置くことができる。δVは体積に関する誤差であるが、設計データの許容誤差Δは、長さに関する誤差である。そこで単位を合わせて、δVを設計データの許容誤差Δに置き換えると、
|δV/Vc|=|Δ3/Vc| ・・・(8)
となる。これにより、式(3)が導き出される。
【0109】
歪エネルギ密度許容誤差決定部266は、算出した歪エネルギ密度の許容誤差εEを精度保証メッシュ数決定部267に渡す。
精度保証メッシュ数決定部267は、内挿曲線生成部265から受け取った内挿曲線に基づいて、歪エネルギ密度の許容誤差を満たすメッシュ数(精度保証メッシュ数NCAE)を決定する。精度保証メッシュ数決定部267は、決定した精度保証メッシュ数NCAEを多面体生成部262に渡す。
【0110】
構造解析シミュレータ268は、多面体生成部262から歪エネルギ密度の許容誤差を満たした多面体に関する多面体データを受け取り、構造解析を行う。具体的には、構造解析シミュレータ268は、荷重情報記憶部230に格納された荷重情報、拘束条件記憶部240に記憶された拘束条件、および材料定数情報記憶部250に記憶された材料定数を取得する。そして、構造解析シミュレータ268は、多面体データで示される多面体に材料定数に示される各種物理特性を設定し、多面体を拘束条件に従って拘束し、拘束された多面体に荷重情報に従って荷重を加えたときに発生する応力歪みなどの特性を計算する。
【0111】
次に、荷重情報記憶部230、拘束条件記憶部240、および材料定数情報記憶部250に格納されるデータについて詳細に説明する。
図18は、荷重情報記憶部のデータ構造例を示す図である。荷重情報記憶部230には、荷重番号、荷重値、荷重方向ベクトル、および荷重がかかる場所の座標の欄が設けられている。これらの各欄の横方向に並べられたデータ同士が関連付けられ、荷重情報を構成している。
【0112】
荷重番号の欄には、荷重情報を一意に識別するための識別番号(荷重番号)が設定される。荷重値の欄には、荷重として加えられる力の大きさ(荷重値)が設定される。荷重方向ベクトルの欄には、荷重として加えられる力の方向を示すベクトル(荷重方向ベクトル)が設定される。荷重がかかる場所の座標の欄には、荷重として力が加えられる3次元空間上の位置が設定される。
【0113】
なお、荷重がかかる場所の座標の欄には、「x4、y4,z4」、「x5,y5,x5」と示されている。これは、3次元空間上の位置を示すために各軸に応じた3つの変数が定義され、各変数に値が設定されていることを示すものであり、4番目の頂点、5番目の頂点を意味するものではない。これは、図19の「x6、y6,z6」、「x7,y7,x7」、「x8、y8,z8」、「x9,y9,x9」についても同様である。
【0114】
図19は、拘束条件記憶部のデータ構造例を示す図である。拘束条件記憶部240には、拘束番号、拘束方向、および拘束がかかる場所の座標の欄が設けられている。これらの各欄の横方向に並べられたデータ同士が関連付けられ、拘束条件を構成している。
【0115】
拘束番号の欄には、拘束条件報を一意に識別するための識別番号(拘束番号)が設定される。拘束方向の欄には、拘束される方向が設定される。拘束方向としては、x軸、y軸、z軸方向の拘束の有無が0または1の値で示される(1の場合に拘束される)。また、回転方向の拘束として、x軸と平行な軸回りの回転(Θx)、y軸と平行な軸回りの回転(Θy)、z軸と平行な軸回りの回転(Θx)それぞれの回転方向の拘束の有無が0または1の値で示される(1の場合に拘束される)。拘束がかかる場所の座標の欄には、拘束される3次元空間上の位置が設定される。
【0116】
構造解析シミュレーションにおいて、拘束がかかる場所における物質は、拘束されるものと設定された方向には動かない。たとえば、x軸方向が拘束されていれば、拘束がかかる場所の物質は、荷重がかけられてもx軸方向には移動しない。また、x軸と平行な軸回りの回転方向が拘束されていれば、荷重によって拘束がかかる場所に対して力のモーメントが発生しても、荷重がかかる場所を通るx軸と平行な軸回りには回転しない。
【0117】
図20は、材料定数情報記憶部のデータ構造例を示す図である。材料定数情報記憶部250には、材料番号、ヤング率、せん断率、ポアソン比、密度、および熱膨張係数の欄が設けられている。これらの各欄の横方向に並べられたデータ同士が関連付けられ、材料定数情報を構成している。
【0118】
材料番号の欄には、材料定数情報を一意に識別するための識別番号(材料番号)が設定される。ヤング率の欄には、材料番号で示される材料のヤング率が設定される。せん断率の欄には、材料番号で示される材料のせん断率が設定される。ポアソン比の欄には、材料番号で示される材料のポアソン比が設定される。密度の欄には、材料番号で示される材料の密度が設定される。熱膨張係数の欄には、材料番号で示される材料の熱膨張係数が設定される。
【0119】
以上のような情報に基づいて、解析精度を保証した多面体が生成され、その多面体を用いた構造解析が行われる。
図21は、解析精度を保証した多面体データの生成および構造解析処理の手順を示すフローチャートである。以下、図21に示す処理をステップ番号に沿って説明する。
【0120】
[ステップS71]3次元CADアプリケーション261は、ユーザからの操作入力に応答して3次元CADデータを生成する。
[ステップS72]多面体生成部262は、設計データの許容誤差に応じた多面体の生成を指示する操作入力に応答して、3次元CADデータに基づく複数の多面体を生成する。この処理の詳細は図8で説明した第1の実施の形態の処理と同様である。
【0121】
[ステップS73]歪エネルギ密度算出部263は、多面体生成部262によって多面体データが多面体データ記憶部220に格納されると、その多面体データの歪エネルギ密度を計算する。この処理の詳細は後述する(図22〜図25参照)。
【0122】
[ステップS74]相対誤差算出手段264は、推定真値と求める。そして、相対誤差算出手段264は、推定真値と、多面体ごとの歪エネルギ密度との相対誤差を算出する。次には、内挿曲線生成部265は、推定真値と各多面体の歪エネルギ密度との誤差とメッシュ数との関係を示す内挿曲線を生成する。この処理の詳細は後述する(図26参照)。
【0123】
[ステップS75]歪エネルギ密度許容誤差決定部266は、多面体の生成指示に伴って入力された設計データの許容誤差を取得し、歪エネルギ密度許容誤差を算出する。この処理の詳細は後述する(図33参照)。
【0124】
[ステップS76]精度保証メッシュ数決定部267は、内挿曲線生成部265によって生成された内挿曲線に基づいて、歪エネルギ密度許容誤差を満たす精度保証メッシュ数NCAEを決定する。
【0125】
[ステップS77]多面体生成部262は、精度保証メッシュ数NCAEで指定されたメッシュ数の多面体を生成し、生成された多面体を示す多面体データを構造解析シミュレータ268に渡す。
【0126】
[ステップS78]構造解析シミュレータ268は、取得した多面体データで示される多面体に対して、荷重をかけたときの応力解析を行う。具体的には、構造解析シミュレータ268は、材料定数情報記憶部250に格納された材料定数情報によって、多面体を構成する物質の性質を設定する。また、構造解析シミュレータ268は、拘束条件記憶部240に格納された拘束条件によって、多面体の拘束条件(多面体が動くことができる自由度)を設定する。そして、構造解析シミュレータ268は、荷重情報記憶部230に格納された荷重情報に応じた荷重を多面体に加え、そのときに多面体内部の各部に発生する応力や歪を解析する。
【0127】
次に、歪エネルギ密度計算処理を詳細に説明する。
図22は、歪エネルギ密度計算処理の手順を示すフローチャートである。以下、図22に示す処理をステップ番号に沿って説明する。
【0128】
[ステップS81]歪エネルギ密度算出部263は、未処理の多面体データを多面体データ記憶部220から取得する。
[ステップS82]歪エネルギ密度算出部263は、多面体に対する荷重データを生成する。この処理の詳細は後述する(図23参照)。
【0129】
[ステップS83]歪エネルギ密度算出部263は、多面体に対する拘束条件データを生成する。この処理の詳細は後述する(図24参照)。
[ステップS84]歪エネルギ密度算出部263は、多面体の体積を計算する。この処理の詳細は、第1の実施の形態において図13を用いて説明した処理と同様である。
【0130】
[ステップS85]歪エネルギ密度算出部263は、多面体の歪エネルギEを計算する。この処理の詳細は後述する(図25参照)。
[ステップS86]歪エネルギ密度算出部263は、多面体の歪エネルギ密度を計算する。多面体の歪エネルギ密度は、多面体の歪エネルギEをその多面体の体積Vpで除算したもの(E/Vp)である。算出された多面体の歪エネルギ密度は、多面体のメッシュ数と組にしてメモリ(RAM等)に格納される。
【0131】
[ステップS87]歪エネルギ密度算出部263は、未処理の多面体データがあるか否かを判断する。未処理の多面体データがあれば処理がステップS81に進められる。未処理の多面体データが無ければ、処理が終了する。
【0132】
次に、多面体に対する荷重データの生成処理について説明する。
図23は、多面体に対する荷重データ生成処理の手順を示すフローチャートである。以下、図23に示す処理をステップ番号に沿って説明する。
【0133】
[ステップS91]歪エネルギ密度算出部263は、荷重情報記憶部230から荷重情報を1つ選択する。
[ステップS92]歪エネルギ密度算出部263は、荷重がかかる場所から荷重方向ベクトルで示される方向へ線を引いたときに、最初に交わるメッシュを検出する。
【0134】
[ステップS93]歪エネルギ密度算出部263は、ステップS92で検出したメッシュのメッシュ番号と荷重情報とのペアをメモリ(RAM等)に記憶する。
[ステップS94]歪エネルギ密度算出部263は、荷重情報記憶部230内の全ての荷重情報を選択したか否かを判断する。未選択の荷重情報があれば、処理がステップS91に進められる。全ての荷重情報を選択していれば、処理が終了する。
【0135】
次に、多面体に対する拘束データの生成手順について説明する。
図24は、多面体データに対する拘束データ生成手順を示すフローチャートである。以下、図24に示す処理をステップ番号に沿って説明する。
【0136】
[ステップS101]歪エネルギ密度算出部263は、拘束条件記憶部240から拘束条件を1つ選択する。
[ステップS102]歪エネルギ密度算出部263は、拘束がかかる場所の座標に最も近いメッシュを検出する。
【0137】
[ステップS103]歪エネルギ密度算出部263は、ステップS102で検出したメッシュのメッシュ番号と拘束条件とのペアをメモリ(RAM等)に記憶する。
[ステップS104]歪エネルギ密度算出部263は、拘束条件記憶部240内の全ての拘束条件を選択したか否かを判断する。未選択の拘束条件があれば、処理がステップS101に進められる。全ての拘束条件を選択していれば、処理が終了する。
【0138】
次に、多面体の歪エネルギの計算処理について説明する。
図25は、多面体の歪エネルギの計算手順を示すフローチャートである。以下、図25に示す処理をステップ番号に沿って説明する。
【0139】
[ステップS111]歪エネルギ密度算出部263は、多面体に対する全体剛性マトリックスKを計算する。全体剛性マトリックスは、物品の剛性を全体座標系(物品全体に係る力の向きや端部の変位を定義するための座標系)で表したものである。全体剛性マトリックスは、部材座標系(部材に係る力の向きや端部の変位を定義するための座標系)で表した部材剛性マトリックスを全体座標系に変換することで作成できる。また、部材剛性マトリックスは、その部材の端部の力と、端部の変位との関係を表したものである。部材の端部に働く力とその変位とは、部材の各種材料定数によって決まる。従って、材料定数情報記憶部250に格納された材料定数情報に基づいて、全体剛性マトリックスが生成できる。
【0140】
[ステップS112]歪エネルギ密度算出部263は、多面体に対する荷重情報に基づいて荷重ベクトルFを計算する。荷重ベクトルFは、節点(力が作用する点や拘束される点)の自由度の数分の未知数を有している。そして、歪エネルギ密度算出部263は、荷重情報で示される位置における荷重方向ベクトルで示される方向に対応する未知数に対して、荷重値を設定する。その他の未知数は0に設定される。
【0141】
[ステップS113]歪エネルギ密度算出部263は、多面体に対する拘束条件を用いて、変位ベクトルを求める。すなわち、歪エネルギ密度算出部263は、多面体に対する拘束条件データを参照し、全体剛性マトリックスに対して拘束条件を反映させる。すなわち、全体剛性マトリックスKにおいて、拘束条件によって拘束されるメッシュに関しては、拘束される方向への変位を示す値に0が設定される。
【0142】
そして、歪エネルギ密度算出部263は、全体剛性マトリックスKと荷重ベクトルFとから、変位ベクトルUを求める。すなわち、全体剛性マトリックスKに対して右から変位ベクトルUを掛けると、荷重ベクトルFとなる。その関係を表す連立一次方程式を、変位ベクトルUに付いて解くことで、変位ベクトルUが得られる。
【0143】
[ステップS114]歪エネルギ密度算出部263は、多面体の歪エネルギEを算出する。多面体の歪みエネルギEは、
多面体の歪エネルギE=(1/2)×{変位ベクトルUT}{荷重ベクトルF}
で求められる。変位ベクトルUTは、変位ベクトルの転置行列である。その後、処理が終了する。このようにして得られた多面体の歪エネルギEを、多面体の体積Vpで除算すれば、多面体の歪エネルギ密度となる。
【0144】
次に、内挿曲線の生成手順について説明する。
図26は、内挿曲線の生成手順を示すフローチャートである。以下、図26に示す処理をステップ番号に沿って説明する。
【0145】
[ステップS121]相対誤差算出手段264は、多面体の歪エネルギ密度の計算結果を集計する。
[ステップS122]相対誤差算出手段264は、多面体の歪エネルギ密度の内挿曲線を生成する。
【0146】
[ステップS123]相対誤差算出手段264は、ステップS122で生成した内挿曲線を延長した外挿曲線を生成し、推定真値を求める。外挿曲線は、線形補間法によって求めることができる。
【0147】
[ステップS124]相対誤差算出手段264は、推定真値と歪エネルギ密度との相対誤差を算出する。
[ステップS125]内挿曲線生成部265は、メッシュ数の異なる多面体ごとの相対誤差を集計する。
【0148】
[ステップS126]内挿曲線生成部265は、相対誤差の内挿曲線を生成する。その後、処理が終了する。
このような内挿曲線の生成手順を、グラフを用いて視覚的に示すと以下のようになる。
【0149】
図27は、多面体のメッシュ数とその多面体の歪エネルギ密度との関係を示すグラフである。図27の例では、横軸に多面体のメッシュ数を採り、縦軸に歪エネルギ密度を採っている。このようなグラフに対して、相対誤差算出手段264は、メッシュ数の異なる各多面体における歪エネルギ密度の値を示す位置に測定点を設定する。そして、相対誤差算出手段264は、このようなグラフ上で各測定点を通る滑らかな内挿曲線を生成する。
【0150】
図28は、メッシュ数と歪エネルギ密度との関係を示す内挿曲線を示す図である。内挿曲線は、線形補間法で求めることができる。
次に、相対誤差算出手段264は、推定真値を求める。
【0151】
図29は、推定真値を示す図である。相対誤差算出手段264は、内挿曲線をメッシュ数が極大となる方向に延長する外挿曲線を求める。そして、相対誤差算出手段264は、メッシュ数が極大となったときの歪エネルギ密度を、推定真値Dとする。
【0152】
次に、相対誤差算出手段264は、推定真値と、各多面体の歪エネルギ密度との差分dを採り、その相対誤差を求める。
図30は、相対誤差を示す図である。図30に示すように、推定真値Dから多面体ごとの歪エネルギ密度を減算した差分dを、推定真値で除算した値が、相対誤差(d/D)となる。
【0153】
次に、内挿曲線生成部265は、メッシュ数の異なる多面体ごとの相対誤差を集計する。集計結果をグラフで表すと図31のようになる。
図31は、多面体のメッシュ数と相対誤差との関係を示すグラフである。図31の例では、横軸に多面体のメッシュ数を採り、縦軸に相対誤差を採っている。相対誤差の集計結果を示すグラフである。
【0154】
内挿曲線生成部265は、集計結果からメッシュ数と相対誤差との関係を示す内挿曲線を生成する。
図32は、メッシュ数と相対誤差との関係を示す内挿曲線を示す図である。このようにして生成された内挿曲線が、精度保証メッシュ数決定部267に渡される。
【0155】
次に、歪エネルギ密度許容誤差算出手順について説明する。
図33は、歪エネルギ密度許容誤差算出手順を示すフローチャートである。以下、図33に示す処理をステップ番号に沿って説明する。
【0156】
[ステップS131]歪エネルギ密度許容誤差決定部266は、CADデータ記憶部210から3次元CADデータを取得し、3次元モデルの体積Vcを計算する。この処理の詳細は、図12に示した第1の実施の形態の処理と同様である。
【0157】
[ステップS132]歪エネルギ密度許容誤差決定部266は、設計データの許容誤差に応じた歪エネルギ密度の許容誤差εEを式(3)に基づいて計算する。算出された歪エネルギ密度の許容誤差εEは、精度保証メッシュ数決定部267に渡される。
【0158】
精度保証メッシュ数決定部267は、メッシュ数と相対誤差との関係を示す内挿曲線と、歪エネルギ密度の許容誤差εEとから精度保証メッシュ数を決定する。具体的には、精度保証メッシュ数決定部267は、内挿曲線の相対誤差として、歪エネルギ密度の許容誤差εEを設定し、メッシュ数について解くことにより、精度保証メッシュ数NCAEを得ることができる。
【0159】
図34は、決定された精度保証メッシュ数を示す図である。このようにして求められた精度保証メッシュ数NCAEが多面体生成部262に渡され、精度保証メッシュ数NCAEの多面体が生成される。そして、その多面体の多面体データが構造解析シミュレータ268に渡される。構造解析シミュレータ268では、入力された多面体データに基づいて応力計算等の構造解析が行われる。
【0160】
以上のようにして、設計データの許容誤差に応じた精度を保証したメッシュ数の多面体を容易に生成できる。その結果、必要な精度を保証し、かつ過大なデータ量とならない多面体データが生成される。
【0161】
しかも、設計データの許容誤差は、CADを用いた設計を行っている技術者であれば、通常認識している数値である。そのようなCADの設計者が認識している物理量を指定することで、構造解析に必要な精度を保証した多面体データを生成できる。その結果、適切なメッシュ数の多面体データを生成するために、技術者が試行錯誤を繰り返すといった無駄な作業が不要となる。
【0162】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、コンピュータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
【0163】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【0164】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【0165】
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
【0166】
(付記1) 3次元CADデータに基づいて複数のメッシュで構成される多面体を生成するための多面体生成プログラムにおいて、
コンピュータを、
3次元モデルの形状を定義した前記3次元CADデータを記憶するCADデータ記憶手段、
多面体の生成指示を受けると、前記CADデータ記憶手段に記憶された前記3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成するとともに、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する多面体生成手段、
前記多面体生成手段で生成された複数の前記サンプル多面体データを記憶する多面体データ記憶手段、
前記多面体データ記憶手段から複数の前記サンプル多面体データを取得し、所定の物理量に関して、前記3次元CADデータで示される物体と前記サンプル多面体データで示される多面体との間の誤差を、前記サンプル多面体データごとに計算する誤差計算手段、
前記誤差計算手段によって算出された前記サンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と前記誤差との相関関係を示す関係式を生成する関係式生成手段、
前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する前記誤差保証メッシュ数を算出し、前記誤差保証メッシュ数を前記多面体生成手段に対して入力する誤差保証メッシュ数決定手段、
として機能させることを特徴とする多面体生成プログラム。
【0167】
(付記2) コンピュータを、さらに、
前記所定の物理量を一意に決定することができる他の物理量に関する許容誤差の入力を受けると、予め定義された計算式によって前記所定の物理量に関する許容誤差を算出し、算出した前記許容誤差を前記誤差保証メッシュ数決定手段に与える許容誤差決定手段、
として機能させることを特徴とする付記1記載の多面体生成プログラム。
【0168】
(付記3) 前記誤差計算手段は、前記CADデータ記憶手段に記憶された前記3次元CADデータに基づいて前記3次元モデルの前記所定の物理量を計算し、前記多面体データ記憶手段に記憶された前記サンプル多面体データに基づいて前記多面体の前記所定の物理量を計算し、前記3次元モデルと前記多面体と前記所定の物理量の差を採って前記所定の物理量に関する誤差とすることを特徴とする付記1記載の多面体生成プログラム。
【0169】
(付記4) 前記所定の物理量が体積であることを特徴とする付記3記載の多面体生成プログラム。
(付記5) コンピュータを、さらに、
加工時に許容される誤差である加工精度と代表寸法との入力を受けると、予め定義された計算式によって許容される体積誤差を算出し、前記体積誤差を前記所定の物理量に関する許容誤差として前記誤差保証メッシュ数決定手段に与える許容誤差決定手段、
として機能させることを特徴とする付記4記載の多面体生成プログラム。
【0170】
(付記6) 前記誤差計算手段は、前記多面体データ記憶手段に記憶された前記サンプル多面体データに基づいて前記多面体の前記所定の物理量を計算し、前記サンプル多面体データで示される前記多面体のメッシュ数と前記所定の物理量との相関関係から前記3次元モデルの前記所定の物理量の推定真値を算出し、前記推定真値と前記サンプル多面体データの前記所定の物理量との差を採って前記所定の物理量に関する誤差とすることを特徴とする付記1記載の多面体生成プログラム。
【0171】
(付記7) 前記所定の物理量は歪エネルギ密度であることを特徴とする付記6記載の多面体生成プログラム。
(付記8) コンピュータを、さらに、
設計データの許容誤差の入力を受けると、予め定義された計算式によって許容される歪エネルギ密度の誤差を算出し、前記歪エネルギ密度の誤差を前記所定の物理量に関する許容誤差として前記誤差保証メッシュ数決定手段に与える許容誤差決定手段、
として機能させることを特徴とする付記7記載の多面体生成プログラム。
【0172】
(付記9) 前記関係式生成手段は、誤差とメッシュ数とを座標軸とした座標平面上で、前記サンプル多面体データごとに求められた誤差とメッシュ数との関係を示す測定点を設定し、前記測定点の内挿曲線を生成し、生成した前記内挿曲線を示す式を前記関係式とすることを特徴とする付記1記載の多面体生成プログラム。
【0173】
(付記10) 3次元CADデータに基づいて複数のメッシュで構成される多面体を生成するための多面体生成装置において、
3次元モデルの形状を定義した前記3次元CADデータを記憶するCADデータ記憶手段と、
多面体の生成指示を受けると、前記CADデータ記憶手段に記憶された前記3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成するとともに、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する多面体生成手段と、
前記多面体生成手段で生成された複数の前記サンプル多面体データを記憶する多面体データ記憶手段と、
前記多面体データ記憶手段から複数の前記サンプル多面体データを取得し、所定の物理量に関して、前記3次元CADデータで示される物体と前記サンプル多面体データで示される多面体との間の誤差を、前記サンプル多面体データごとに計算する誤差計算手段と、
前記誤差計算手段によって算出された前記サンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と前記誤差との相関関係を示す関係式を生成する関係式生成手段と、
前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する前記誤差保証メッシュ数を算出し、前記誤差保証メッシュ数を前記多面体生成手段に対して入力する誤差保証メッシュ数決定手段と、
を有することを特徴とする多面体生成装置。
【0174】
(付記11) 3次元CADデータに基づいて複数のメッシュで構成される多面体をコンピュータによって生成するための多面体生成方法において、
多面体生成手段が、多面体の生成指示を受けると、CADデータ記憶手段に記憶された3次元モデルの形状を定義した前記3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成し、
多面体データ記憶手段が、前記多面体生成手段で生成された複数の前記サンプル多面体データを記憶し、
誤差計算手段が、前記多面体データ記憶手段から複数の前記サンプル多面体データを取得し、所定の物理量に関して、前記3次元CADデータで示される物体と前記サンプル多面体データで示される多面体との間の誤差を、前記サンプル多面体データごとに計算し、
関係式生成手段が、前記誤差計算手段によって算出された前記サンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と前記誤差との相関関係を示す関係式を生成し、
誤差保証メッシュ数決定手段が、前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する前記誤差保証メッシュ数を算出し、前記誤差保証メッシュ数を前記多面体生成手段に対して入力し、
前記多面体生成手段が、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する、
ことを特徴とする多面体生成方法。
【図面の簡単な説明】
【0175】
【図1】発明の概要を示す図である。
【図2】第1の実施の形態のシステム構成例を示す図である。
【図3】第1の実施の形態に用いるコンピュータのハードウェア構成例を示す図である。
【図4】第1の実施の形態に係るコンピュータが有する機能を示すブロック図である。
【図5】加工精度を保証した多面体データの生成手順を示すフローチャートである。
【図6】3次元モデルの例を示す図である。
【図7】3次元CADデータのデータ構造例を示す図である。
【図8】多面体生成処理の手順を示すフローチャートである。
【図9】多面体の例を示す図である。
【図10】多面体データのデータ構造例を示す図である。
【図11】体積誤差計算手順を示すフローチャートである。
【図12】3次元モデルの体積計算手順を示すフローチャートである。
【図13】多面体の体積計算手順を示すフローチャートである。
【図14】多面体のメッシュ数と体積誤差の関係を示すグラフである。
【図15】生成された内挿曲線を示す図である。
【図16】決定された精度保証メッシュ数を示す図である。
【図17】第2の実施の形態に係るコンピュータが有する機能を示すブロック図である。
【図18】荷重情報記憶部のデータ構造例を示す図である。
【図19】拘束条件記憶部のデータ構造例を示す図である。
【図20】材料定数情報記憶部のデータ構造例を示す図である。
【図21】解析精度を保証した多面体データの生成および構造解析処理の手順を示すフローチャートである。
【図22】歪エネルギ密度計算処理の手順を示すフローチャートである。
【図23】多面体に対する荷重データ生成処理の手順を示すフローチャートである。
【図24】多面体データに対する拘束データ生成手順を示すフローチャートである。
【図25】多面体の歪エネルギの計算手順を示すフローチャートである。
【図26】内挿曲線の生成手順を示すフローチャートである。
【図27】多面体のメッシュ数とその多面体の歪エネルギ密度との関係を示すグラフである。
【図28】メッシュ数と歪エネルギ密度との関係を示す内挿曲線を示す図である。
【図29】推定真値を示す図である。
【図30】相対誤差を示す図である。
【図31】多面体のメッシュ数と相対誤差との関係を示すグラフである。
【図32】メッシュ数と相対誤差との関係を示す内挿曲線を示す図である。
【図33】歪エネルギ密度許容誤差算出手順を示すフローチャートである。
【図34】決定された精度保証メッシュ数を示す図である。
【符号の説明】
【0176】
1 多面体生成装置
1a CADデータ記憶手段
1b 多面体生成手段
1c 多面体データ記憶手段
1d 誤差計算手段
1e 関係式生成手段
1f 許容誤差決定手段
1g 誤差保証メッシュ数決定手段
1h 誤差保証多面体データ
【特許請求の範囲】
【請求項1】
3次元CADデータに基づいて複数のメッシュで構成される多面体を生成するための多面体生成プログラムにおいて、
コンピュータを、
3次元モデルの形状を定義した前記3次元CADデータを記憶するCADデータ記憶手段、
多面体の生成指示を受けると、前記CADデータ記憶手段に記憶された前記3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成するとともに、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する多面体生成手段、
前記多面体生成手段で生成された複数の前記サンプル多面体データを記憶する多面体データ記憶手段、
前記多面体データ記憶手段から複数の前記サンプル多面体データを取得し、所定の物理量に関して、前記3次元CADデータで示される物体と前記サンプル多面体データで示される多面体との間の誤差を、前記サンプル多面体データごとに計算する誤差計算手段、
前記誤差計算手段によって算出された前記サンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と前記誤差との相関関係を示す関係式を生成する関係式生成手段、
前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する前記誤差保証メッシュ数を算出し、前記誤差保証メッシュ数を前記多面体生成手段に対して入力する誤差保証メッシュ数決定手段、
として機能させることを特徴とする多面体生成プログラム。
【請求項2】
コンピュータを、さらに、
前記所定の物理量を一意に決定することができる他の物理量に関する許容誤差の入力を受けると、予め定義された計算式によって前記所定の物理量に関する許容誤差を算出し、算出した前記許容誤差を前記誤差保証メッシュ数決定手段に与える許容誤差決定手段、
として機能させることを特徴とする請求項1記載の多面体生成プログラム。
【請求項3】
前記誤差計算手段は、前記CADデータ記憶手段に記憶された前記3次元CADデータに基づいて前記3次元モデルの前記所定の物理量を計算し、前記多面体データ記憶手段に記憶された前記サンプル多面体データに基づいて前記多面体の前記所定の物理量を計算し、前記3次元モデルと前記多面体と前記所定の物理量の差を採って前記所定の物理量に関する誤差とすることを特徴とする請求項1記載の多面体生成プログラム。
【請求項4】
前記誤差計算手段は、前記多面体データ記憶手段に記憶された前記サンプル多面体データに基づいて前記多面体の前記所定の物理量を計算し、前記サンプル多面体データで示される前記多面体のメッシュ数と前記所定の物理量との相関関係から前記3次元モデルの前記所定の物理量の推定真値を算出し、前記推定真値と前記サンプル多面体データの前記所定の物理量との差を採って前記所定の物理量に関する誤差とすることを特徴とする請求項1記載の多面体生成プログラム。
【請求項5】
前記関係式生成手段は、誤差とメッシュ数とを座標軸とした座標平面上で、前記サンプル多面体データごとに求められた誤差とメッシュ数との関係を示す測定点を設定し、前記測定点の内挿曲線を生成し、生成した前記内挿曲線を示す式を前記関係式とすることを特徴とする請求項1記載の多面体生成プログラム。
【請求項6】
3次元CADデータに基づいて複数のメッシュで構成される多面体を生成するための多面体生成装置において、
3次元モデルの形状を定義した前記3次元CADデータを記憶するCADデータ記憶手段と、
多面体の生成指示を受けると、前記CADデータ記憶手段に記憶された前記3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成するとともに、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する多面体生成手段と、
前記多面体生成手段で生成された複数の前記サンプル多面体データを記憶する多面体データ記憶手段と、
前記多面体データ記憶手段から複数の前記サンプル多面体データを取得し、所定の物理量に関して、前記3次元CADデータで示される物体と前記サンプル多面体データで示される多面体との間の誤差を、前記サンプル多面体データごとに計算する誤差計算手段と、
前記誤差計算手段によって算出された前記サンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と前記誤差との相関関係を示す関係式を生成する関係式生成手段と、
前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する前記誤差保証メッシュ数を算出し、前記誤差保証メッシュ数を前記多面体生成手段に対して入力する誤差保証メッシュ数決定手段と、
を有することを特徴とする多面体生成装置。
【請求項7】
3次元CADデータに基づいて複数のメッシュで構成される多面体をコンピュータによって生成するための多面体生成方法において、
多面体生成手段が、多面体の生成指示を受けると、CADデータ記憶手段に記憶された3次元モデルの形状を定義した前記3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成し、
多面体データ記憶手段が、前記多面体生成手段で生成された複数の前記サンプル多面体データを記憶し、
誤差計算手段が、前記多面体データ記憶手段から複数の前記サンプル多面体データを取得し、所定の物理量に関して、前記3次元CADデータで示される物体と前記サンプル多面体データで示される多面体との間の誤差を、前記サンプル多面体データごとに計算し、
関係式生成手段が、前記誤差計算手段によって算出された前記サンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と前記誤差との相関関係を示す関係式を生成し、
誤差保証メッシュ数決定手段が、前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する前記誤差保証メッシュ数を算出し、前記誤差保証メッシュ数を前記多面体生成手段に対して入力し、
前記多面体生成手段が、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する、
ことを特徴とする多面体生成方法。
【請求項1】
3次元CADデータに基づいて複数のメッシュで構成される多面体を生成するための多面体生成プログラムにおいて、
コンピュータを、
3次元モデルの形状を定義した前記3次元CADデータを記憶するCADデータ記憶手段、
多面体の生成指示を受けると、前記CADデータ記憶手段に記憶された前記3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成するとともに、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する多面体生成手段、
前記多面体生成手段で生成された複数の前記サンプル多面体データを記憶する多面体データ記憶手段、
前記多面体データ記憶手段から複数の前記サンプル多面体データを取得し、所定の物理量に関して、前記3次元CADデータで示される物体と前記サンプル多面体データで示される多面体との間の誤差を、前記サンプル多面体データごとに計算する誤差計算手段、
前記誤差計算手段によって算出された前記サンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と前記誤差との相関関係を示す関係式を生成する関係式生成手段、
前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する前記誤差保証メッシュ数を算出し、前記誤差保証メッシュ数を前記多面体生成手段に対して入力する誤差保証メッシュ数決定手段、
として機能させることを特徴とする多面体生成プログラム。
【請求項2】
コンピュータを、さらに、
前記所定の物理量を一意に決定することができる他の物理量に関する許容誤差の入力を受けると、予め定義された計算式によって前記所定の物理量に関する許容誤差を算出し、算出した前記許容誤差を前記誤差保証メッシュ数決定手段に与える許容誤差決定手段、
として機能させることを特徴とする請求項1記載の多面体生成プログラム。
【請求項3】
前記誤差計算手段は、前記CADデータ記憶手段に記憶された前記3次元CADデータに基づいて前記3次元モデルの前記所定の物理量を計算し、前記多面体データ記憶手段に記憶された前記サンプル多面体データに基づいて前記多面体の前記所定の物理量を計算し、前記3次元モデルと前記多面体と前記所定の物理量の差を採って前記所定の物理量に関する誤差とすることを特徴とする請求項1記載の多面体生成プログラム。
【請求項4】
前記誤差計算手段は、前記多面体データ記憶手段に記憶された前記サンプル多面体データに基づいて前記多面体の前記所定の物理量を計算し、前記サンプル多面体データで示される前記多面体のメッシュ数と前記所定の物理量との相関関係から前記3次元モデルの前記所定の物理量の推定真値を算出し、前記推定真値と前記サンプル多面体データの前記所定の物理量との差を採って前記所定の物理量に関する誤差とすることを特徴とする請求項1記載の多面体生成プログラム。
【請求項5】
前記関係式生成手段は、誤差とメッシュ数とを座標軸とした座標平面上で、前記サンプル多面体データごとに求められた誤差とメッシュ数との関係を示す測定点を設定し、前記測定点の内挿曲線を生成し、生成した前記内挿曲線を示す式を前記関係式とすることを特徴とする請求項1記載の多面体生成プログラム。
【請求項6】
3次元CADデータに基づいて複数のメッシュで構成される多面体を生成するための多面体生成装置において、
3次元モデルの形状を定義した前記3次元CADデータを記憶するCADデータ記憶手段と、
多面体の生成指示を受けると、前記CADデータ記憶手段に記憶された前記3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成するとともに、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する多面体生成手段と、
前記多面体生成手段で生成された複数の前記サンプル多面体データを記憶する多面体データ記憶手段と、
前記多面体データ記憶手段から複数の前記サンプル多面体データを取得し、所定の物理量に関して、前記3次元CADデータで示される物体と前記サンプル多面体データで示される多面体との間の誤差を、前記サンプル多面体データごとに計算する誤差計算手段と、
前記誤差計算手段によって算出された前記サンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と前記誤差との相関関係を示す関係式を生成する関係式生成手段と、
前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する前記誤差保証メッシュ数を算出し、前記誤差保証メッシュ数を前記多面体生成手段に対して入力する誤差保証メッシュ数決定手段と、
を有することを特徴とする多面体生成装置。
【請求項7】
3次元CADデータに基づいて複数のメッシュで構成される多面体をコンピュータによって生成するための多面体生成方法において、
多面体生成手段が、多面体の生成指示を受けると、CADデータ記憶手段に記憶された3次元モデルの形状を定義した前記3次元CADデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成し、
多面体データ記憶手段が、前記多面体生成手段で生成された複数の前記サンプル多面体データを記憶し、
誤差計算手段が、前記多面体データ記憶手段から複数の前記サンプル多面体データを取得し、所定の物理量に関して、前記3次元CADデータで示される物体と前記サンプル多面体データで示される多面体との間の誤差を、前記サンプル多面体データごとに計算し、
関係式生成手段が、前記誤差計算手段によって算出された前記サンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と前記誤差との相関関係を示す関係式を生成し、
誤差保証メッシュ数決定手段が、前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する前記誤差保証メッシュ数を算出し、前記誤差保証メッシュ数を前記多面体生成手段に対して入力し、
前記多面体生成手段が、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する、
ことを特徴とする多面体生成方法。
【図1】
【図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】
【図30】
【図31】
【図32】
【図33】
【図34】
【図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】
【図30】
【図31】
【図32】
【図33】
【図34】
【公開番号】特開2009−48537(P2009−48537A)
【公開日】平成21年3月5日(2009.3.5)
【国際特許分類】
【出願番号】特願2007−215883(P2007−215883)
【出願日】平成19年8月22日(2007.8.22)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成21年3月5日(2009.3.5)
【国際特許分類】
【出願日】平成19年8月22日(2007.8.22)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]