(57)【特許請求の範囲】
【請求項１】
複数のメッシュで構成される多面体を生成するための多面体生成プログラムにおいて、
コンピュータに、
多面体の生成指示を受けると、３次元モデルの形状を定義した３次元ＣＡＤデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成し、
生成された前記複数のサンプル多面体データそれぞれについて、所定の物理量に関して、前記３次元ＣＡＤデータで示される物体とサンプル多面体データで示される多面体との間の誤差を算出し、
算出されたサンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と誤差との相関関係を示す関係式を生成し、
前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する誤差保証メッシュ数を算出し、
前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する、
処理を実行させる多面体生成プログラム。
【請求項２】
前記コンピュータに、さらに、
前記所定の物理量を一意に決定することができる他の物理量に関する許容誤差の入力を受けると、予め定義された計算式によって前記所定の物理量に関する許容誤差を算出する、
処理を実行させる請求項１記載の多面体生成プログラム。
【請求項３】
誤差の算出では、前記コンピュータに、
前記３次元ＣＡＤデータに基づいて前記３次元モデルの前記所定の物理量の値を計算し、サンプル多面体データに基づいて多面体の前記所定の物理量の値を計算し、前記３次元モデルと該多面体との前記所定の物理量の値の差を採って前記所定の物理量に関する誤差とする処理を実行させる請求項１記載の多面体生成プログラム。
【請求項４】
誤差の算出では、前記コンピュータに、
前記複数のサンプル多面体データそれぞれについて多面体の前記所定の物理量の値を計算し、サンプル多面体データで示される多面体のメッシュ数と前記所定の物理量の値との相関関係から前記３次元モデルの前記所定の物理量の推定真値を算出し、前記推定真値とサンプル多面体データの前記所定の物理量の値との差を採って前記所定の物理量に関する誤差とする処理を実行させる請求項１記載の多面体生成プログラム。
【請求項５】
関係式の生成では、前記コンピュータに、
誤差とメッシュ数とを座標軸とした座標平面上で、サンプル多面体データごとに求められた誤差とメッシュ数との関係を示す測定点を設定し、測定点の内挿曲線を生成し、生成した前記内挿曲線を示す式を前記関係式とする処理を実行させる請求項１記載の多面体生成プログラム。
【請求項６】
複数のメッシュで構成される多面体を生成するための多面体生成装置において、
多面体の生成指示を受けると、３次元モデルの形状を定義した３次元ＣＡＤデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成するとともに、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、該誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する多面体生成手段と、
生成された前記複数のサンプル多面体データそれぞれについて、所定の物理量に関して、前記３次元ＣＡＤデータで示される物体とサンプル多面体データで示される多面体との間の誤差を算出する誤差計算手段と、
算出されたサンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と誤差との相関関係を示す関係式を生成する関係式生成手段と、
前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する誤差保証メッシュ数を算出し、該誤差保証メッシュ数を前記多面体生成手段に対して入力する誤差保証メッシュ数決定手段と、
を有することを特徴とする多面体生成装置。
【請求項７】
複数のメッシュで構成される多面体をコンピュータによって生成するための多面体生成方法において、
前記コンピュータが、
多面体の生成指示を受けると、３次元モデルの形状を定義した３次元ＣＡＤデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成し、
生成された前記複数のサンプル多面体データそれぞれについて、所定の物理量に関して、前記３次元ＣＡＤデータで示される物体とサンプル多面体データで示される多面体との間の誤差を計算し、
算出されたサンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と誤差との相関関係を示す関係式を生成し、
前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する誤差保証メッシュ数を算出し、
前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する、
ことを特徴とする多面体生成方法。
【請求項８】
コンピュータに、
３次元モデルの形状を定義した３次元ＣＡＤデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成し、
生成された前記複数のサンプル多面体データそれぞれについて、所定の物理量に関して、前記３次元ＣＡＤデータで示される物体とサンプル多面体データで示される多面体との間の誤差を算出し、
算出されたサンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と誤差との相関関係を示す関係式を生成し、
前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する誤差保証メッシュ数を算出する、
処理を実行させるメッシュ数算出プログラム。
【請求項９】
３次元モデルの形状を定義した３次元ＣＡＤデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成する多面体生成手段と、
生成された前記複数のサンプル多面体データそれぞれについて、所定の物理量に関して、前記３次元ＣＡＤデータで示される物体とサンプル多面体データで示される多面体との間の誤差を算出する誤差計算手段と、
算出されたサンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と誤差との相関関係を示す関係式を生成する関係式生成手段と、
前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する誤差保証メッシュ数を算出する誤差保証メッシュ数決定手段と、
を有することを特徴とするメッシュ数算出装置。
【請求項１０】
コンピュータが、
３次元モデルの形状を定義した３次元ＣＡＤデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成し、
生成された前記複数のサンプル多面体データそれぞれについて、所定の物理量に関して、前記３次元ＣＡＤデータで示される物体とサンプル多面体データで示される多面体との間の誤差を算出し、
算出されたサンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と誤差との相関関係を示す関係式を生成し、
前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する誤差保証メッシュ数を算出する、
処理を実行するメッシュ数算出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は３次元ＣＡＤ（Computer Aided Design）データに基づいて複数のメッシュで構成される多面体を生成するための多面体生成プログラム、多面体生成装置および多面体生成方法に関し、特に誤差を保証した多面体を生成するための多面体生成プログラム、多面体生成装置および多面体生成方法に関する。
【背景技術】
【０００２】
工業製品の設計には、多くの場合、３次元ＣＡＤソフトウェアが用いられる。３次元ＣＡＤソフトウェアは、コンピュータ上の操作で部品を設計できると共に、部品等の形状を電子データ（３次元ＣＡＤデータ）で管理および配布できるため非常に便利である。
【０００３】
３次元ＣＡＤデータには、曲面を含む複雑な形状が定義されている。そのため、ＣＡＭ（Computer Aided Manufacturing）やＣＡＥ（Computer Aided Engineering）等の他のソフトウェアで利用する場合、データの内容が複雑すぎてしまう。そこで、３次元ＣＡＤデータを他のソフトウェアで流用するために、多面体データへのデータ変換が行われる。
【０００４】
多面体データは、３次元ＣＡＤデータで示される形状をメッシュと呼ばれる平面の集合（多面体）に置き換えたものである。多面体を構成する各メッシュは３角形をしており、形状の頂点の座標を定義することで、そのメッシュの形状、位置、および向きを特定できる。そのため、３次元ＣＡＤデータを多面体データへ変換することで、データ量を削減できると共に、データ構造を単純化できる。
【０００５】
ところで、３次元ＣＡＤデータを多面体データへ変換した場合、多面体データで表現される多面体の形状には、元の３次元ＣＡＤデータで表される３次元モデルの形状に対して誤差がある。多面体のメッシュ数を多くすれば誤差は少なくなるが、多面体データのデータ量も多くなり、その多面体データを解析するＣＡＭやＣＡＥの処理負荷も大きくなる。そのため、多面体データの使用目的に応じて、適切な精度でデータ変換を行う必要がある。
【０００６】
そこで、元の曲面と、その曲面を分割した面との誤差の最大値が、与えられた寸法の許容誤差内となるようにオフセット多面体を生成する技術が考えられている（たとえば、特許文献１参照）。
【特許文献１】特開昭６３−６４１０５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１に示すように、全ての面について誤差が許容範囲内となるように曲面を逐次分割した場合、全ての面について誤差を許容範囲内にすることができるが、その一方で処理負荷が大きくなる。特に３次元ＣＡＤデータによる形状が非常に複雑な場合、処理負荷が過大となる。
【０００８】
しかも、特許文献１で指定できる物理量は、元の曲面と分割した面との誤差の最大値のみであり、他の物理量の誤差を指標として、適切なメッシュ数での多面体データを作成することはできない。換言すると、許容誤差を決定するための判断基準は、多面体データの使用目的ごとに異なる。たとえば、多面体データをＣＡＭで利用する場合、工作機械の加工精度に応じて、必要となる多面体データの精度が決定される。また、多面体データをＣＡＥで利用する場合、設計データの許容誤差に応じて、必要となる多面体データの精度が決定される。
【０００９】
このように、多面体データの利用目的に応じて、生成すべき多面体データの精度（メッシュ数）を決定するための判断基準が異なってくる。そこで実際には、所定のメッシュ数の多面体データを生成し、生成された多面体データを解析する。そして、生成した多面体データの物理特性が、その利用目的に応じて必要とされる物理特性を満たしているか、あるいは過剰に高精度となっていないかを判断することとなる。多面体データの物理特性が適切でなければ、メッシュ数の異なる多面体データを再度作成し、適切な物理特性となるまで試行錯誤を繰り返すしかなかった。
【００１０】
本発明はこのような点に鑑みてなされたものであり、任意の物理量の誤差を許容範囲内に抑え、かつ過剰精度とならない多面体データを容易に得ることができる多面体生成プログラム、多面体生成装置、多面体生成方法、メッシュ数算出プログラム、メッシュ数算出装置、およびメッシュ数算出方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明では上記課題を解決するために、図１に示すような機能を有する多面体生成装置１が提供される。本発明の係る多面体生成装置１は、３次元ＣＡＤデータに基づいて複数のメッシュで構成される多面体を生成するために、次のような機能を有する。ＣＡＤデータ記憶手段１ａは、３次元モデルの形状を定義した３次元ＣＡＤデータを記憶する。多面体生成手段１ｂは、多面体の生成指示を受けると、ＣＡＤデータ記憶手段１ａに記憶された３次元ＣＡＤデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成する。また、多面体生成手段１ｂは、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データ１ｈを生成する。多面体データ記憶手段１ｃは、多面体生成手段１ｂで生成された複数のサンプル多面体データを記憶する。誤差計算手段１ｄは、多面体データ記憶手段１ｃから複数のサンプル多面体データを取得し、所定の物理量に関して、３次元ＣＡＤデータで示される物体とサンプル多面体データで示される多面体との間の誤差を、サンプル多面体データごとに計算する。関係式生成手段１ｅは、誤差計算手段１ｄによって算出されたサンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と誤差との相関関係を示す関係式を生成する。誤差保証メッシュ数決定手段１ｇは、所定の物理量に関する許容誤差が予め与えられており、許容誤差を関係式に代入し、許容誤差を保証する誤差保証メッシュ数を算出し、誤差保証メッシュ数を多面体生成手段１ｂに対して入力する。
【００１２】
このような多面体生成装置１によれば、多面体の生成指示を受けると、多面体生成手段１ｂにより、３次元ＣＡＤデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データが生成される。生成されたサンプル多面体データは、多面体データ記憶手段１ｃで記憶される。次に、誤差計算手段１ｄにより、所定の物理量に関して、３次元ＣＡＤデータで示される物体とサンプル多面体データで示される多面体との間の誤差が、サンプル多面体データごとに計算される。さらに、関係式生成手段１ｅにより、多面体を構成するメッシュ数と誤差との相関関係を示す関係式が生成される。そして、誤差保証メッシュ数決定手段１ｇにより、許容誤差が関係式に代入され、許容誤差を保証する誤差保証メッシュ数が算出される。算出された誤差保証メッシュ数は多面体生成手段１ｂに対して入力され、多面体生成手段１ｂにより、誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データ１ｈが生成される。
【発明の効果】
【００１３】
本発明では、メッシュ数の異なる複数の多面体に基づいて、多面体を構成するメッシュ数と誤差との相関関係を示す関係式を生成し、その関係式に許容誤差を代入することで許容誤差を保証する誤差保証メッシュ数を算出するようにした。これにより、任意の物理量の誤差を許容範囲内に抑え、かつ過剰精度とならない多面体データを容易に生成することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態を図面を参照して説明する。
図１は、発明の概要を示す図である。本発明に係る多面体生成装置１は、３次元ＣＡＤデータに基づいて複数のメッシュで構成される多面体を生成するために、ＣＡＤデータ記憶手段１ａ、多面体生成手段１ｂ、多面体データ記憶手段１ｃ、誤差計算手段１ｄ、関係式生成手段１ｅ、許容誤差決定手段１ｆ、および誤差保証メッシュ数決定手段１ｇを有している。
【００１５】
ＣＡＤデータ記憶手段１ａは、３次元モデルの形状を定義した３次元ＣＡＤデータを記憶する。
多面体生成手段１ｂは、多面体の生成指示を受けると、ＣＡＤデータ記憶手段１ａに記憶された３次元ＣＡＤデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成する。たとえば、１０から順に１０のべき乗の各値（１０，１０2，１０3，１０4，・・・）に応じたメッシュ数（所定の上限値まで）をサンプリングメッシュ数とする。また、多面体生成手段１ｂは、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データ１ｈを生成する。
【００１６】
多面体データ記憶手段１ｃは、多面体生成手段１ｂで生成された複数のサンプル多面体データを記憶する。
誤差計算手段１ｄは、多面体データ記憶手段１ｃから複数のサンプル多面体データを取得し、所定の物理量に関して、３次元ＣＡＤデータで示される物体とサンプル多面体データで示される多面体との間の誤差を、サンプル多面体データごとに計算する。所定の物理量は、たとえば、体積誤差や歪エネルギ密度の誤差などである。
【００１７】
関係式生成手段１ｅは、誤差計算手段１ｄによって算出されたサンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と誤差との相関関係を示す関係式を生成する。たとえば、関係式生成手段１ｅは、誤差とメッシュ数とを座標軸とした座標平面上で、サンプル多面体データごとに求められた誤差とメッシュ数との関係を示す測定点を設定する。そして、関係式生成手段１ｅは、測定点の内挿曲線を生成し、生成した内挿曲線を示す式を前記関係式とする。
【００１８】
許容誤差決定手段１ｆは、所定の物理量を一意に決定することができる他の物理量に関する許容誤差の入力を受けると、予め定義された計算式によって所定の物理量に関する許容誤差を算出する。そして、許容誤差決定手段１ｆは、許容誤差を誤差保証メッシュ数決定手段１ｇに与える。
【００１９】
誤差保証メッシュ数決定手段１ｇは、所定の物理量に関する許容誤差が予め与えられており、許容誤差を関係式に代入し、許容誤差を保証する誤差保証メッシュ数を算出する。そして、誤差保証メッシュ数決定手段１ｇは、誤差保証メッシュ数を多面体生成手段１ｂに対して入力する。
【００２０】
このような多面体生成装置１によれば、多面体の生成指示を受けると、多面体生成手段１ｂにより、３次元ＣＡＤデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データが生成される。生成されたサンプル多面体データは、多面体データ記憶手段１ｃで記憶される。
【００２１】
次に、誤差計算手段１ｄにより、所定の物理量に関して、３次元ＣＡＤデータで示される物体とサンプル多面体データで示される多面体との間の誤差が、サンプル多面体データごとに計算される。さらに、関係式生成手段１ｅにより、多面体を構成するメッシュ数と誤差との相関関係を示す関係式が生成される。
【００２２】
また、許容誤差決定手段１ｆにより、予め定義された計算式によって所定の物理量に関する許容誤差が算出される。算出された許容誤差は、誤差保証メッシュ数決定手段１ｇに与えられる。そして、誤差保証メッシュ数決定手段１ｇにより、許容誤差が関係式に代入され、許容誤差を保証する誤差保証メッシュ数が算出される。算出された誤差保証メッシュ数は多面体生成手段１ｂに対して入力され、多面体生成手段１ｂにより、誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データ１ｈが生成される。
【００２３】
このようにして、任意の物理量を指標として、その物理量を許容誤差内とし、かつ過剰精度とならない多面体データを容易に生成できる。
次に、本実施の形態の詳細を説明する。
【００２４】
［第１の実施の形態］
第１の実施の形態として、ＣＡＭの加工精度を保証した多面体データの作成技術について説明する。
【００２５】
図２は、第１の実施の形態のシステム構成例を示す図である。本実施の形態では、工作機械２０にコンピュータ１００がネットワーク１０経由で接続されている。工作機械２０は、内蔵されたコンピュータによって制御され、入力された多面体データで示された形状に、加工物を切削することができる。
【００２６】
コンピュータ１００は、３次元ＣＡＤアプリケーションを有している。３次元ＣＡＤアプリケーションは、ユーザからの操作入力に応答して、任意の形状を表現する３次元ＣＡＤデータを生成する。また、コンピュータ１００は、３次元ＣＡＤデータに基づいて、工作機械２０の加工精度に応じた面数の多面体データを生成することができる。
【００２７】
図３は、第１の実施の形態に用いるコンピュータのハードウェア構成例を示す図である。コンピュータ１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ:Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、および通信インタフェース１０６が接続されている。
【００２８】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションプログラムが格納される。
【００２９】
グラフィック処理装置１０４には、モニタ１１が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、画像をモニタ１１の画面に表示させる。入力インタフェース１０５には、キーボード１２とマウス１３とが接続されている。入力インタフェース１０５は、キーボード１２やマウス１３から送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。
【００３０】
通信インタフェース１０６は、ネットワーク１０に接続されている。通信インタフェース１０６は、ネットワーク１０を介して、他のコンピュータとの間でデータの送受信を行う。
【００３１】
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
図４は、第１の実施の形態に係るコンピュータが有する機能を示すブロック図である。コンピュータ１００には、ＣＡＤデータ記憶部１１０、多面体データ記憶部１２０、３次元ＣＡＤアプリケーション１３１、多面体生成部１３２、体積誤差計算部１３３、内挿曲線生成部１３４、体積許容誤差決定部１３５、精度保証メッシュ数決定部１３６、および多面体データ送信部１３７を有している。
【００３２】
ＣＡＤデータ記憶部１１０は、３次元ＣＡＤアプリケーション１３１で作成されたＣＡＤデータを記憶する。たとえば、ＨＤＤ１０３の記憶領域の一部が、ＣＡＤデータ記憶部１１０として使用される。
【００３３】
多面体データ記憶部１２０は、多面体生成部１３２で生成された多面体データを記憶する。たとえば、ＨＤＤ１０３の記憶領域の一部が、多面体データ記憶部１２０として使用される。
【００３４】
３次元ＣＡＤアプリケーション１３１は、ユーザからの操作入力に応答して、任意の立体形状を示す３次元ＣＡＤデータを生成する。３次元ＣＡＤアプリケーション１３１は、生成した３次元ＣＡＤデータをＣＡＤデータ記憶部１１０に格納する。
【００３５】
多面体生成部１３２は、３次元ＣＡＤデータに基づいて、任意のメッシュ数となる多面体を生成する。具体的には、多面体生成部１３２は、多面体の生成を指示する操作入力を受け取ると、ＣＡＤデータ記憶部１１０から３次元ＣＡＤデータを取得する。次に、多面体生成部１３２は、予め指定されたメッシュ数（サンプリングメッシュ数）となる複数の多面体を生成する。本実施の形態では、多面体生成部１３２は、１０から順に１０のべき乗の１０8までの各値（１０，１０2，１０3，１０4，１０5，１０6，１０7，１０8）のメッシュ数をサンプリングメッシュ数とする。そして、多面体生成部１３２は、生成した多面体を表す多面体データを多面体データ記憶部１２０に格納する。
【００３６】
また、多面体生成部１３２は、精度保証メッシュ数決定部１３６から加工精度に応じたメッシュ数（精度保証メッシュ数（NCAM））が入力されると、その精度保証メッシュ数（NCAM）に応じたメッシュ数の多面体データを生成する。そして、多面体生成部１３２は、生成した多面体データを多面体データ送信部１３７に渡す。
【００３７】
体積誤差計算部１３３は、３次元ＣＡＤデータと、メッシュ数の異なる複数の多面体データそれぞれとの間の体積誤差を計算する。体積誤差計算部１３３は、計算した体積誤差を内挿曲線生成部１３４に渡す。
【００３８】
内挿曲線生成部１３４は、体積誤差計算部１３３による計算結果に基づいて、メッシュ数と体積誤差との関係を示す内挿曲線を表す式を生成する。内挿曲線生成部１３４は、生成した内挿曲線の式を精度保証メッシュ数決定部１３６に渡す。
【００３９】
体積許容誤差決定部１３５は、操作入力により、加工精度と代表寸法との入力を受け付けると、加工精度と代表寸法とに応じて、許容できる体積誤差（体積許容誤差）を決定する。そして、体積許容誤差決定部１３５は、決定した体積許容誤差を精度保証メッシュ数決定部１３６に渡す。
【００４０】
精度保証メッシュ数決定部１３６は、体積許容誤差を満たす精度保証メッシュ数を、内挿曲線の式に基づいて決定する。精度保証メッシュ数決定部１３６は、決定した精度保証メッシュ数を多面体生成部１３２に渡す。
【００４１】
多面体データ送信部１３７は、多面体生成部１３２から、精度保証メッシュ数に応じた多面体データを取得する。そして、多面体データ送信部１３７は、取得した多面体データを工作機械２０に送信する。
【００４２】
次に、コンピュータ１００による工作機械の加工精度を保証した多面体データの生成手順を説明する。
図５は、加工精度を保証した多面体データの生成手順を示すフローチャートである。以下、図５に示す処理を、ステップ番号に沿って説明する。
【００４３】
［ステップＳ１１］３次元ＣＡＤアプリケーション１３１は、ユーザからの操作入力に応答して３次元ＣＡＤデータを生成する。たとえば、３次元ＣＡＤアプリケーション１３１は、球、円筒、直方体などの基本形状（プリミティブ）のソリッドモデルを、ユーザの操作入力に基づいて生成する。そして、３次元ＣＡＤアプリケーション１３１は、操作入力に応じて、ソリッドモデルの３次元空間内での位置と向きを決定する。
【００４４】
さらに、３次元ＣＡＤアプリケーション１３１は、操作入力に応じて、ソリッドモデルの集合演算の式を決定する。たとえば、ソリッドモデルＡとソリッドモデルＢとの間の集合演算には、「Ａ∪Ｂ」、「Ａ∩Ｂ」、「Ａ−Ｂ」といったものがある。「Ａ∪Ｂ」は、ソリッドモデルＡが占有する空間とソリッドモデルＢが占有する空間を合わせた空間が、作成している３次元モデルが占有する空間であること示している。「Ａ∩Ｂ」は、ソリッドモデルＡが占有する空間とソリッドモデルＢが占有する空間との重複する空間が、作成している３次元モデルが占有する空間であること示している。「Ａ−Ｂ」は、ソリッドモデルＡが占有する空間からソリッドモデルＢが占有する空間を除いた空間が、作成している３次元モデルが占有する空間であること示している。
【００４５】
このように、３次元ＣＡＤアプリケーション１３１は、基本形状のソリッドモデルの集合演算によって３次元モデルの形状を定義する。そして、３次元ＣＡＤアプリケーション１３１は、３次元モデルを表す３次元ＣＡＤデータを、ＣＡＤデータ記憶部１１０に格納する。
【００４６】
［ステップＳ１２］多面体生成部１３２は、加工精度と代表寸法とに応じた多面体の生成を指示する操作入力に応答して、３次元ＣＡＤデータに基づく複数の多面体を生成する。この処理の詳細は後述する（図８参照）。
【００４７】
［ステップＳ１３］体積誤差計算部１３３は、多面体生成部１３２によって多面体データが多面体データ記憶部２２０に格納されると、その多面体と３次元モデルとの間の体積誤差を計算する。３次元モデルの体積をＶｃ、多面体の体積をＶｐとすると、体積誤差εは以下の式で表せる。
ε＝｜（Ｖｃ−Ｖｐ）／Ｖｃ｜    ・・・・（１）
この処理の詳細は後述する（図１１〜図１３参照）。
【００４８】
［ステップＳ１４］内挿曲線生成部１３４は、多面体のメッシュ数と体積誤差との相関関係を示す内挿曲線を生成する。たとえば、内挿曲線生成部１３４は、横軸をメッシュ数、縦軸を体積誤差としたグラフ上に、メッシュ数の異なる複数の多面体データそれぞれに関するメッシュ数と体積誤差との値を示す測定点をプロットする。そして、内挿曲線生成部１３４は、プロットされた各測定点を通る滑らかな曲線を生成する。曲線の生成方法としては、たとえば線形補間法（method of linear interpolation）を用いることができる。
【００４９】
［ステップＳ１５］体積許容誤差決定部１３５は、多面体の生成指示に伴って入力された加工精度と代表寸法とを取得する。加工精度は、工作機械２０または加工対象物の材質などに依存する。たとえば、鋳物の砂粒の大きさに応じて０．２mm程度の加工精度が与えられる。代表寸法は、３次元モデルで表される物質の代表的な位置に関する幅である。たとえば、物質に関して、高さ、幅、奥行きといった３方向の寸法を計算し、最も大きな値となる方向の寸法を代表寸法とする。たとえば、代表寸法として１ｍ程度の値が設定される。
【００５０】
体積許容誤差決定部１３５は、加工精度を代表寸法で除算し、その除算結果を３乗した値を体積許容誤差εtとする。式で表すと以下の通りである。
εt＝（ｌ／Ｌ）3          ・・・（２）
ここで、ｌは加工精度であり、Ｌは代表寸法である。加工精度を代表寸法で除算するのは、求められている最大限の精度で加工したときに代表軸方向に発生する誤差と代表寸法との比を計算するためである。除算結果を３乗するのは、体積誤差と単位を合わせるためである。すなわち、体積誤差は、３次元の計算で求められる。一方、代表寸法を採った軸方向の誤差は、１次元の計算で求められる誤差である。そのため、次元を一致させるためには、除算結果を３乗しておくことが必要となる。
【００５１】
［ステップＳ１６］精度保証メッシュ数決定部１３６は、内挿曲線と体積許容誤差とから、精度保証メッシュ数を決定する。具体的には、精度保証メッシュ数決定部１３６は、内挿曲線において、体積許容誤差に対応するメッシュ数を、精度保証メッシュ数とする。
【００５２】
［ステップＳ１７］多面体生成部１３２は、精度保証メッシュ数の多面体を生成する。
［ステップＳ１８］多面体データ送信部１３７は、精度保証メッシュ数の多面体データを、工作機械２０に送信する。
【００５３】
次に、具体例を用いて、加工精度を保証した多面体データの生成手順を詳細に説明する。
図６は、３次元モデルの例を示す図である。図６に示す３次元モデル３１は、球のソリッドモデルと円筒のソリッドモデルとの集合演算（Ａ∪Ｂ）によって定義されている。このような3次元モデル３１が３次元ＣＡＤアプリケーション１３１で作成され、対応する３次元ＣＡＤデータが、ＣＡＤデータ記憶部１１０に格納される。
【００５４】
図７は、３次元ＣＡＤデータのデータ構造例を示す図である。３次元ＣＡＤデータ１１１は、ソリッドモデル情報テーブル１１１ａと集合演算情報１１１ｂとで構成される。
ソリッドモデル情報テーブル１１１ａには、ソリッドＩＤ、ソリッド種別、およびパラメータの欄が設けられている。ソリッドＩＤの欄には、ソリッドの識別子が設定される。ソリッド種別の欄には、ソリッドモデルで示される基本形状の名称が設定される。パラメータの欄には、ソリッドモデルの形状、位置、向きを定義するためのパラメータが設定される。設定されるパラメータは、パラメータ種別と値との組である。必要なパラメータ種別は、ソリッド種別に応じて予め決まっている。たとえば、球であれば、中心座標と半径とによって、その形状、位置が一意に決定できる（球に、向きの情報は不要である）。また、円筒であれば、底面中心座標、底面半径方向ベクトル、および高さによって、その形状、位置、および向きが一意に決定される。
【００５５】
集合演算情報１１１ｂの欄には、ソリッドモデル間の集合演算の式が設定される。図７の例では、ソリッドＩＤ「Ｓ１」のソリッドモデルと、ソリッドＩＤ「Ｓ２」のソリッドモデルとの和集合で占められる空間によって３次元モデル３１の形状が示されている。
【００５６】
このような３次元ＣＡＤデータ１１１に基づいて、多面体が生成される。
図８は、多面体生成処理の手順を示すフローチャートである。以下、図８に示す処理をステップ番号に沿って説明する。
【００５７】
［ステップＳ２１］多面体生成部１３２は、ＣＡＤデータ記憶部１１０から３次元ＣＡＤデータを取得する。
［ステップＳ２２］多面体生成部１３２は、未選択のサンプリングメッシュ数を選択する。
【００５８】
［ステップＳ２３］多面体生成部１３２は、３次元モデルの各サーフェス（面）を、３角形メッシュに分割する。この際、平面のサーフェスに関しては、なるべく大きな３角形メッシュに分割する。また、曲面は、分割後の隣接する３角形メッシュ同士の交わる角度が、予め決められた角度（たとえば１０度）以上とならないように分割する。
【００５９】
［ステップＳ２４］多面体生成部１３２は、ステップＳ２３で分割された各サーフェスの３角形メッシュの面積を合計し、表面全体の面積を計算する。
［ステップＳ２５］多面体生成部１３２は、ステップＳ２４で計算した表面全体の面積を、サンプリングメッシュ数で割、１メッシュ当たりの面積を求める。
【００６０】
［ステップＳ２６］多面体生成部１３２は、ステップＳ２５で求めた１メッシュ当たりの面積と同じ面積となる正３角形の１辺の長さ（メッシュ長さ）を求める。
［ステップＳ２７］多面体生成部１３２は、元の３次元モデルの各サーフェスを、メッシュ長さで複数のメッシュに分割する。具体的には、多面体生成部１３２は、各サーフェスの接合エッジ（複数のサーフェス間の境界部分）を、メッシュ長さの線分に分割する。次に、各サーフェス内部を、エッジを分割して得られた線分を基準にして、メッシュ長さ間隔の格子状に分割する。この分割によって生成された４角形を対角線で細分割することで、３角形のメッシュとなる。このとき、サーフェスの接合エッジでは、隣接するサーフェスのエッジの分割位置がずれることもある。その場合、接合エッジ部分で４角形が生じてしまうので、その４角形を対角線に細分割することで、境界部分での整合性を取ることができる。
【００６１】
［ステップＳ２８］多面体生成部１３２は、生成した多面体を示す多面体データを、多面体データ記憶部１２０に格納する。
［ステップＳ２９］多面体生成部１３２は、予め決められたサンプリングメッシュ数の全てを選択したか否かを判断する。全てのサンプリングメッシュ数に関して多面体生成処理が完了していれば、処理が終了する。未選択のサンプリングメッシュ数があれば、処理がステップＳ２２に進められる。
【００６２】
図９は、多面体の例を示す図である。多面体３２は、複数のメッシュに分割されている。図９には、一種類の多面体３２しか示していないが、メッシュの数が異なる多数の多面体が生成される。
【００６３】
図１０は、多面体データのデータ構造例を示す図である。多面体データ記憶部１２０には、複数の多面体データ１２１，１２２，１２３，・・・が格納されている。多面体データ１２１には、メッシュ数情報１２１ａ、メッシュデータテーブル１２１ｂ、および頂点データテーブル１２１ｃが含まれている。
【００６４】
メッシュ数情報１２１ａは、多面体のメッシュ数が示されている。
メッシュデータテーブル１２１ｂには、多面体を構成するメッシュの位置および向き等を一意に特定する情報が示されている。具体的には、メッシュデータテーブル１２１ｂには、メッシュ番号、頂点＃１、頂点＃２、および頂点＃３の欄が設けられている。メッシュ番号の欄には、１つの多面体内でメッシュを一意に識別するための識別番号（メッシュ番号）が設定される。
【００６５】
頂点＃１、頂点＃２、および頂点＃３の欄には、メッシュ番号で示されるメッシュの３つの頂点を一意に識別するための識別番号（頂点番号）が設定される。なお、本実施の形態では、メッシュの外（表）側から頂点をみたときの反時計回りの順番と一致するように、各頂点の頂点番号が、頂点＃１、頂点＃２、および頂点＃３の欄に順に設定される。
【００６６】
頂点データテーブル１２１ｃには、多面体上に設定された各頂点の位置を特定するための情報が設定されている。具体的には、頂点データテーブル１２１ｃには、頂点番号と座標との欄が設けられている。頂点番号の欄には、頂点を一意に識別するための識別番号（頂点番号）が設定される。座標の欄には、対応する頂点の３次元空間での位置を示す座標が設定される。
【００６７】
このような多面体データに基づいて、３次元モデルと複数の多面体それぞれとの間の体積誤差が計算される。
図１１は、体積誤差計算手順を示すフローチャートである。以下、図１１に示す処理をステップ番号に沿って説明する。
【００６８】
［ステップＳ３１］体積誤差計算部１３３は、ＣＡＤデータ記憶部１１０から３次元ＣＡＤデータを取得する。
［ステップＳ３２］体積誤差計算部１３３は、３次元ＣＡＤデータに基づいて３次元モデルの体積を計算する。この処理の詳細は後述する。
【００６９】
［ステップＳ３３］体積誤差計算部１３３は、多面体データ記憶部１２０から未処理の多面体データを取得する。
［ステップＳ３４］体積誤差計算部１３３は、取得した多面体データに基づいて、多面体の体積を計算する。この処理の詳細は後述する。
【００７０】
［ステップＳ３５］体積誤差計算部１３３は、ステップＳ３２で計算した３次元モデルの体積とステップＳ３４で計算した多面体の体積とに基づいて、３次元モデルと多面体との間の体積誤差を計算する。
【００７１】
［ステップＳ３６］体積誤差計算部１３３は、未処理の多面体データがあるか否かを判断する。未処理の多面体データがある場合、処理がステップＳ３３に進められる。全ての多面体データに対して体積誤差の計算が行われた場合、処理が終了する。
【００７２】
次に、３次元モデルの体積計算手順を詳細に説明する。
図１２は、３次元モデルの体積計算手順を示すフローチャートである。以下、図１２に示す処理をステップ番号に沿って説明する。
【００７３】
［ステップＳ４１］体積誤差計算部１３３は、体積Ｖｃを初期化する。具体的には、３次元モデルの体積を示す変数としてＶｃに０を設定する。
［ステップＳ４２］体積誤差計算部１３３は、プリミティブを１つ選択する。
【００７４】
［ステップＳ４３］体積誤差計算部１３３は、選択したプリミティブの体積を計算する。たとえば、球のプリミティブであれば、体積は（４／３）πｒ03である。ここで、πは円周率、ｒ0は半径である。また、円筒のプリミティブであれば、体積はπｒ12ｈである。ここで、ｒ1は底面の半径であり、ｈは高さである。
【００７５】
［ステップＳ４４］体積誤差計算部１３３は、選択したプリミティブと既に処理したプリミティブとの重複領域の有無（干渉判定）を判断する。重複領域があれば、処理がステップＳ４５に進められる。重複領域がなければ、処理がステップＳ５２に進められる。
【００７６】
［ステップＳ４５］体積誤差計算部１３３は、重複領域の体積を計算する。
［ステップＳ４６］体積誤差計算部１３３は、重複関係にあるプリミティブの集合演算が、和集合（Ｓ１∪Ｓ２）か否かを判断する。和集合であれば、処理がステップＳ４７に進められる。和集合でなければ、処理がステップＳ４９に進められる。
【００７７】
［ステップＳ４７］体積誤差計算部１３３は、プリミティブの体積から重複領域の体積を減算する。
［ステップＳ４８］体積誤差計算部１３３は、減算結果を、体積Ｖｃに加算する。その後、処理がステップＳ５２に進められる。
【００７８】
［ステップＳ４９］体積誤差計算部１３３は、重複関係にあるプリミティブの集合演算が、積集合（Ｓ１∩Ｓ２）か否かを判断する。積集合であれば、処理がステップＳ５０に進められる。積集合でなければ、減算（Ｓ１−Ｓ２）であると判断され、処理がステップＳ５１に進められる。
【００７９】
［ステップＳ５０］体積誤差計算部１３３は、重複領域の体積をＶｃに設定する。その後、処理がステップＳ５２に進められる。
［ステップＳ５１］体積誤差計算部１３３は、重複領域の体積をＶｃから減算する。
【００８０】
［ステップＳ５２］体積誤差計算部１３３は、未選択のプリミティブがあるか否かを判断する。未選択のプリミティブがある場合、処理がステップＳ４２に進められる。全てのプリミティブが選択された場合、処理が終了する。
【００８１】
このようにして、３次元モデルの体積を計算できる。
次に、多面体の体積計算手順を詳細に説明する。
図１３は、多面体の体積計算手順を示すフローチャートである。以下、図１３に示す処理をステップ番号に沿って説明する。
【００８２】
［ステップＳ６１］体積誤差計算部１３３は、未処理のメッシュを１つ選択する。
［ステップＳ６２］体積誤差計算部１３３は、メッシュの頂点と原点とを結ぶ線分を辺とする３角錐の体積を計算する。計算された体積は、ＲＡＭ１０２に格納される。
【００８３】
［ステップＳ６３］体積誤差計算部１３３は、メッシュを原点から見たときの頂点の回転方向（頂点＃１，頂点＃２、頂点＃３の順）を判定する。
［ステップＳ６４］体積誤差計算部１３３は、回転方向は反時計回りか否かを判断する。反時計回りであれば、処理がステップＳ６５に進められる。時計回りであれば、処理ｒがステップＳ６６に進められる。
【００８４】
［ステップＳ６５］体積誤差計算部１３３は、ＲＡＭ１０２に格納された体積を負の値にする。
［ステップＳ６６］体積誤差計算部１３３は、未選択のメッシュがあるか否かを判断する。未選択のメッシュがあれば、処理がステップＳ６１に進められる。未選択のメッシュがなければ、処理がステップＳ６７に進められる。
【００８５】
［ステップＳ６７］体積誤差計算部１３３は、メッシュごとに計算した全ての体積の値を合計する。
このようにして、多面体の体積を計算できる。なお、上記の例では、原点から見たときにメッシュの回転方向が反時計回りの場合に、体積を負としている。これは、多面体の各メッシュが、多面体の外部に対して表面を向けている場合を想定したものである。多面体の各メッシュが、多面体の内部に対して表面を向けている場合には、原点から見て時計回りのメッシュの体積を負にすることとなる。
【００８６】
図１２の処理により３次元モデルの体積Ｖｃを計算し、図１３の処理により各多面体の体積Ｖｐを計算すれば、その結果を前述の式（１）に代入することで体積誤差εを算出できる。
【００８７】
なお、図１２に示した重複領域の判定（公差判定）や、図１３に示した多面体の体積判定については、「山口富士夫、情報数理シリーズ  Ｂ−３  ＣＡＤ工学、培風館、1998年2月、p.119−128,p.234−242」に詳しい。
【００８８】
次に、内挿曲線生成処理を詳細に説明する。内挿曲線を生成する場合、まず、多面体のメッシュ数に応じた体積誤差を集計する。集計結果を、グラフ上にプロットすると図１４のようになる。
【００８９】
図１４は、多面体のメッシュ数と体積誤差の関係を示すグラフである。図１４の例では、横軸にメッシュ数をとり、縦軸に体積誤差を取っている。このようなグラフに対して、内挿曲線生成部１３４は、メッシュ数の異なる各多面体における体積誤差の値を示す位置に測定点を設定する。そして、内挿曲線生成部１３４は、このようなグラフ上で各測定点を通る滑らかな内挿曲線を生成する。
【００９０】
図１５は、生成された内挿曲線を示す図である。内挿曲線は、線形補間法で求めることができる。線形補間法については、たとえば、「Ｔ．Ｒ．マッカーラ、計算機のための数値計算法概論、サイエンス社、1972年3月、p.177−209」に記載されている（なお、後述する外挿曲線の算出方法についても、当該文献に記載されている）。
【００９１】
内挿曲線の式が求められると、体積許容誤差決定部１３５によって体積許容誤差εt（＝（ｌ／Ｌ）3）が求められる。そして、精度保証メッシュ数決定部１３６が、内挿曲線の式に体積許容誤差εtを代入しメッシュ数について解くことで、体積誤差が体積許容誤差εtとなる精度保証メッシュ数ＮCAMが得られる。
【００９２】
図１６は、決定された精度保証メッシュ数を示す図である。このようにして求められた精度保証メッシュ数ＮCAMが多面体生成部１３２に渡され、精度保証メッシュ数ＮCAMの多面体が生成される。そして、その多面体の多面体データが多面体データ送信部１３７を介して工作機械２０に送られる。工作機械２０では、加工精度に応じた精度で作成された多面体データに基づいて、工作物を加工できる。
【００９３】
このように、本実施の形態によれば、加工精度に応じた精度の多面体データを自動で生成することができる。工作機械２０を操作するオペレータは、通常、その工作機械２０の加工精度を把握しているため、既知の情報を元に多面体のメッシュ数を決定できることとなる。その結果、３次元モデルに基づいてＣＡＭで使用する多面体データを生成する作業が容易（試行錯誤が不要）となる。
【００９４】
［第２の実施の形態］
次に、第２の実施の形態として、ＣＡＥの解析精度を保証した多面体データの作成技術について説明する。なお、本実施の形態では、３次元ＣＡＤデータに基づいて多面体を生成するコンピュータ上にＣＡＥによる構造解析シミュレータが実装されているものとする。このような機能を実現するためのコンピュータのハードウェアは、図３に示したコンピュータ１００と同様である。
【００９５】
また、本実施の形態では、設計データの許容誤差に応じたメッシュ数の多面体を生成するものとする。設計データの許容誤差としては、たとえば、０．０１ｍｍ程度の値が指定される。
【００９６】
設計データの許容誤差は、トレランスと呼ばれている。ＣＡＤにおいてトレランスとは、図形要素（点や線）の座標値の精度を表している。コンピュータ内では数値は有限の桁内におさめて表現しなければならない。このため演算誤差がどうしても発生する。そこで、ある程度の許容誤差を認める必要が生じ、その許容誤差がトレランスである。トレランスには、たとえば、マージトレランスがある。マージントレランスは、隣接する２面に対して、どの程度まですき間を許容するかを規定するものである。
【００９７】
図１７は、第２の実施の形態に係るコンピュータが有する機能を示すブロック図である。コンピュータ２００は、ＣＡＤデータ記憶部２１０、多面体データ記憶部２２０、荷重情報記憶部２３０、拘束条件記憶部２４０、材料定数情報記憶部２５０、３次元ＣＡＤアプリケーション２６１、多面体生成部２６２、歪エネルギ密度算出部２６３、相対誤差算出手段２６４、内挿曲線生成部２６５、歪エネルギ密度許容誤差決定部２６６、精度保証メッシュ数決定部２６７、および構造解析シミュレータ２６８を有している。
【００９８】
ここで、ＣＡＤデータ記憶部２１０、多面体データ記憶部２２０、３次元ＣＡＤアプリケーション２６１の機能は、それぞれ図４に示した第１の実施の形態におけるＣＡＤデータ記憶部１１０、多面体データ記憶部１２０、３次元ＣＡＤアプリケーション１３１と同じである。
【００９９】
荷重情報記憶部２３０は、構造解析において３次元モデルで示される部品にかけられる荷重に関する情報（荷重情報）を記憶する。たとえば、ＨＤＤの記憶領域の一部が、荷重情報記憶部２３０として使用される。
【０１００】
拘束条件記憶部２４０は、構造解析において３次元モデルで示される部品に荷重を加える際に、その部品の拘束条件を記憶する。たとえば、ＨＤＤの記憶領域の一部が、拘束条件記憶部２４０として使用される。拘束条件とは、荷重がかけられるときに、対象の物品を固定する条件である。拘束には、３次元空間上の移動に関する拘束と、ｘ軸、ｙ軸、ｚ軸の各軸回りの回転方向の拘束とがある。
【０１０１】
材料定数情報記憶部２５０は、３次元モデルで示される部品を構成する材料に関する各種の物理定数（材料定数）を記憶する。たとえば、ＨＤＤの記憶領域の一部が、材料定数情報記憶部２５０として使用される。
【０１０２】
多面体生成部２６２は、３次元ＣＡＤデータに基づいて、任意のメッシュ数となる多面体を生成する。具体的には、多面体生成部２６２は、多面体の生成を指示する操作入力を受け取ると、ＣＡＤデータ記憶部２１０から３次元ＣＡＤデータを取得する。次に、多面体生成部２６２は、予め指定されたメッシュ数（サンプリングメッシュ数）となる複数の多面体を生成する。本実施の形態では、多面体生成部２６２は、１０から順に１０のべき乗の１０8までの各値（１０，１０2，１０3，１０4，１０5，１０6，１０7，１０8）に応じたメッシュ数をサンプリングメッシュ数とする。そして、多面体生成部２６２は、生成した多面体を表す多面体データを多面体データ記憶部２２０に格納する。
【０１０３】
また、多面体生成部２６２は、精度保証メッシュ数決定部２６７から設計データの許容誤差に応じたメッシュ数（精度保証メッシュ数（NCAE））が入力されると、その精度保証メッシュ数NCAEに応じたメッシュ数の多面体データを生成する。そして、多面体生成部２６２は、生成した多面体データを構造解析シミュレータ２６８に渡す。
【０１０４】
歪エネルギ密度算出部２６３は、荷重情報記憶部２３０に格納された荷重情報、拘束条件記憶部２４０に記憶された拘束条件、および材料定数情報記憶部２５０に格納された材料定数に基づいて、多面体データ記憶部２２０に格納された複数の多面体データで示される複数の多面体それぞれの歪エネルギ密度を算出する。歪エネルギ密度算出部２６３は、算出した各多面体の歪エネルギ密度を、相対誤差算出手段２６４に渡す。
【０１０５】
相対誤差算出手段２６４は、多面体の歪エネルギ密度に基づいて、多面体のメッシュ数を限りなく増加させたときの歪エネルギ密度（推定真値）を求める。ここで、推定真値は、３次元ＣＡＤデータに示される物品に対する歪エネルギ密度を、多面体データから求め出したものである。推定真値は、有限要素法等を用いて数学的に求めることができる。そして、相対誤差算出手段２６４は、推定真値と各多面体の歪エネルギ密度との間の相対誤差を求める。多面体ごとの相対誤差は、内挿曲線生成部２６５に渡される。
【０１０６】
内挿曲線生成部２６５は、多面体ごとの相対誤差に基づいて、推定真値と各多面体の歪エネルギ密度との誤差とメッシュ数との関係を示す内挿曲線を生成する。そして、内挿曲線生成部２６５は、生成された内挿曲線を表す式を精度保証メッシュ数決定部２６７に渡す。
【０１０７】
歪エネルギ密度許容誤差決定部２６６は、ユーザから操作入力により、歪エネルギ密度許容誤差を決定する。具体的には、歪エネルギ密度許容誤差決定部２６６は、先ず、３次元モデルの３次元ＣＡＤデータをＣＡＤデータ記憶部２１０から取得し、３次元モデルの体積Ｖｃを求める。そして、歪エネルギ密度許容誤差決定部２６６は、入力された設計データの許容誤差Δと３次元モデルの体積Ｖｃとから歪エネルギ密度の許容誤差εEを算出する。歪エネルギ密度の許容誤差εEは、以下の式
εE＝｜Δ3／Ｖｃ｜    ・・・（３）
で求められる。なお、式（３）は、以下のようにして求められたものである。
【０１０８】
物質の歪エネルギ密度は、歪エネルギを体積で割ったものである。歪エネルギをＥ、３次元モデルの体積をＶｃ、多面体の体積をＶｐとすると、歪エネルギ密度の許容誤差εEは、
εE＝｜（Ｅ／Ｖｃ−Ｅ／Ｖｐ）／（Ｅ／Ｖｃ）｜    ・・・（４）
と定義できる。式（４）を変形すると、
｜（Ｅ／Ｖｃ−Ｅ／Ｖｐ）／（Ｅ／Ｖｃ）｜
＝｜（１／Ｖｃ−１／Ｖｐ）／（１／Ｖｃ）｜
＝｜１−Ｖｃ／Ｖｐ｜
＝｜（Ｖｐ−Ｖｃ）／Ｖｐ｜
・・・（５）
となる。ここで、（Ｖｐ−Ｖｃ）は体積の差分を示している。そこで、「Ｖｐ−Ｖｃ＝δＶ」と置き換える。すると
｜（Ｖｐ−Ｖｃ）／Ｖｐ｜＝｜δＶ／Ｖｐ｜    ・・・（６）
となる。ＶｃやＶｐに対してδＶが十分に小さければ、
｜δＶ／Ｖｐ｜≒｜δＶ／Ｖｃ｜    ・・・（７）
と置くことができる。δＶは体積に関する誤差であるが、設計データの許容誤差Δは、長さに関する誤差である。そこで単位を合わせて、δＶを設計データの許容誤差Δに置き換えると、
｜δＶ／Ｖｃ｜＝｜Δ3／Ｖｃ｜    ・・・（８）
となる。これにより、式（３）が導き出される。
【０１０９】
歪エネルギ密度許容誤差決定部２６６は、算出した歪エネルギ密度の許容誤差εEを精度保証メッシュ数決定部２６７に渡す。
精度保証メッシュ数決定部２６７は、内挿曲線生成部２６５から受け取った内挿曲線に基づいて、歪エネルギ密度の許容誤差を満たすメッシュ数（精度保証メッシュ数ＮCAE）を決定する。精度保証メッシュ数決定部２６７は、決定した精度保証メッシュ数ＮCAEを多面体生成部２６２に渡す。
【０１１０】
構造解析シミュレータ２６８は、多面体生成部２６２から歪エネルギ密度の許容誤差を満たした多面体に関する多面体データを受け取り、構造解析を行う。具体的には、構造解析シミュレータ２６８は、荷重情報記憶部２３０に格納された荷重情報、拘束条件記憶部２４０に記憶された拘束条件、および材料定数情報記憶部２５０に記憶された材料定数を取得する。そして、構造解析シミュレータ２６８は、多面体データで示される多面体に材料定数に示される各種物理特性を設定し、多面体を拘束条件に従って拘束し、拘束された多面体に荷重情報に従って荷重を加えたときに発生する応力歪みなどの特性を計算する。
【０１１１】
次に、荷重情報記憶部２３０、拘束条件記憶部２４０、および材料定数情報記憶部２５０に格納されるデータについて詳細に説明する。
図１８は、荷重情報記憶部のデータ構造例を示す図である。荷重情報記憶部２３０には、荷重番号、荷重値、荷重方向ベクトル、および荷重がかかる場所の座標の欄が設けられている。これらの各欄の横方向に並べられたデータ同士が関連付けられ、荷重情報を構成している。
【０１１２】
荷重番号の欄には、荷重情報を一意に識別するための識別番号（荷重番号）が設定される。荷重値の欄には、荷重として加えられる力の大きさ（荷重値）が設定される。荷重方向ベクトルの欄には、荷重として加えられる力の方向を示すベクトル（荷重方向ベクトル）が設定される。荷重がかかる場所の座標の欄には、荷重として力が加えられる３次元空間上の位置が設定される。
【０１１３】
なお、荷重がかかる場所の座標の欄には、「ｘ４、ｙ４，ｚ４」、「ｘ５，ｙ５，ｘ５」と示されている。これは、３次元空間上の位置を示すために各軸に応じた３つの変数が定義され、各変数に値が設定されていることを示すものであり、４番目の頂点、５番目の頂点を意味するものではない。これは、図１９の「ｘ６、ｙ６，ｚ６」、「ｘ７，ｙ７，ｘ７」、「ｘ８、ｙ８，ｚ８」、「ｘ９，ｙ９，ｘ９」についても同様である。
【０１１４】
図１９は、拘束条件記憶部のデータ構造例を示す図である。拘束条件記憶部２４０には、拘束番号、拘束方向、および拘束がかかる場所の座標の欄が設けられている。これらの各欄の横方向に並べられたデータ同士が関連付けられ、拘束条件を構成している。
【０１１５】
拘束番号の欄には、拘束条件報を一意に識別するための識別番号（拘束番号）が設定される。拘束方向の欄には、拘束される方向が設定される。拘束方向としては、ｘ軸、ｙ軸、ｚ軸方向の拘束の有無が０または１の値で示される（１の場合に拘束される）。また、回転方向の拘束として、ｘ軸と平行な軸回りの回転（Θｘ）、ｙ軸と平行な軸回りの回転（Θｙ）、ｚ軸と平行な軸回りの回転（Θｘ）それぞれの回転方向の拘束の有無が０または１の値で示される（１の場合に拘束される）。拘束がかかる場所の座標の欄には、拘束される３次元空間上の位置が設定される。
【０１１６】
構造解析シミュレーションにおいて、拘束がかかる場所における物質は、拘束されるものと設定された方向には動かない。たとえば、ｘ軸方向が拘束されていれば、拘束がかかる場所の物質は、荷重がかけられてもｘ軸方向には移動しない。また、ｘ軸と平行な軸回りの回転方向が拘束されていれば、荷重によって拘束がかかる場所に対して力のモーメントが発生しても、荷重がかかる場所を通るｘ軸と平行な軸回りには回転しない。
【０１１７】
図２０は、材料定数情報記憶部のデータ構造例を示す図である。材料定数情報記憶部２５０には、材料番号、ヤング率、せん断率、ポアソン比、密度、および熱膨張係数の欄が設けられている。これらの各欄の横方向に並べられたデータ同士が関連付けられ、材料定数情報を構成している。
【０１１８】
材料番号の欄には、材料定数情報を一意に識別するための識別番号（材料番号）が設定される。ヤング率の欄には、材料番号で示される材料のヤング率が設定される。せん断率の欄には、材料番号で示される材料のせん断率が設定される。ポアソン比の欄には、材料番号で示される材料のポアソン比が設定される。密度の欄には、材料番号で示される材料の密度が設定される。熱膨張係数の欄には、材料番号で示される材料の熱膨張係数が設定される。
【０１１９】
以上のような情報に基づいて、解析精度を保証した多面体が生成され、その多面体を用いた構造解析が行われる。
図２１は、解析精度を保証した多面体データの生成および構造解析処理の手順を示すフローチャートである。以下、図２１に示す処理をステップ番号に沿って説明する。
【０１２０】
［ステップＳ７１］３次元ＣＡＤアプリケーション２６１は、ユーザからの操作入力に応答して３次元ＣＡＤデータを生成する。
［ステップＳ７２］多面体生成部２６２は、設計データの許容誤差に応じた多面体の生成を指示する操作入力に応答して、３次元ＣＡＤデータに基づく複数の多面体を生成する。この処理の詳細は図８で説明した第１の実施の形態の処理と同様である。
【０１２１】
［ステップＳ７３］歪エネルギ密度算出部２６３は、多面体生成部２６２によって多面体データが多面体データ記憶部２２０に格納されると、その多面体データの歪エネルギ密度を計算する。この処理の詳細は後述する（図２２〜図２５参照）。
【０１２２】
［ステップＳ７４］相対誤差算出手段２６４は、推定真値を求める。そして、相対誤差算出手段２６４は、推定真値と、多面体ごとの歪エネルギ密度との相対誤差を算出する。次には、内挿曲線生成部２６５は、推定真値と各多面体の歪エネルギ密度との誤差とメッシュ数との関係を示す内挿曲線を生成する。この処理の詳細は後述する（図２６参照）。
【０１２３】
［ステップＳ７５］歪エネルギ密度許容誤差決定部２６６は、多面体の生成指示に伴って入力された設計データの許容誤差を取得し、歪エネルギ密度許容誤差を算出する。この処理の詳細は後述する（図３３参照）。
【０１２４】
［ステップＳ７６］精度保証メッシュ数決定部２６７は、内挿曲線生成部２６５によって生成された内挿曲線に基づいて、歪エネルギ密度許容誤差を満たす精度保証メッシュ数ＮCAEを決定する。
【０１２５】
［ステップＳ７７］多面体生成部２６２は、精度保証メッシュ数ＮCAEで指定されたメッシュ数の多面体を生成し、生成された多面体を示す多面体データを構造解析シミュレータ２６８に渡す。
【０１２６】
［ステップＳ７８］構造解析シミュレータ２６８は、取得した多面体データで示される多面体に対して、荷重をかけたときの応力解析を行う。具体的には、構造解析シミュレータ２６８は、材料定数情報記憶部２５０に格納された材料定数情報によって、多面体を構成する物質の性質を設定する。また、構造解析シミュレータ２６８は、拘束条件記憶部２４０に格納された拘束条件によって、多面体の拘束条件（多面体が動くことができる自由度）を設定する。そして、構造解析シミュレータ２６８は、荷重情報記憶部２３０に格納された荷重情報に応じた荷重を多面体に加え、そのときに多面体内部の各部に発生する応力や歪を解析する。
【０１２７】
次に、歪エネルギ密度計算処理を詳細に説明する。
図２２は、歪エネルギ密度計算処理の手順を示すフローチャートである。以下、図２２に示す処理をステップ番号に沿って説明する。
【０１２８】
［ステップＳ８１］歪エネルギ密度算出部２６３は、未処理の多面体データを多面体データ記憶部２２０から取得する。
［ステップＳ８２］歪エネルギ密度算出部２６３は、多面体に対する荷重データを生成する。この処理の詳細は後述する（図２３参照）。
【０１２９】
［ステップＳ８３］歪エネルギ密度算出部２６３は、多面体に対する拘束条件データを生成する。この処理の詳細は後述する（図２４参照）。
［ステップＳ８４］歪エネルギ密度算出部２６３は、多面体の体積を計算する。この処理の詳細は、第１の実施の形態において図１３を用いて説明した処理と同様である。
【０１３０】
［ステップＳ８５］歪エネルギ密度算出部２６３は、多面体の歪エネルギＥを計算する。この処理の詳細は後述する（図２５参照）。
［ステップＳ８６］歪エネルギ密度算出部２６３は、多面体の歪エネルギ密度を計算する。多面体の歪エネルギ密度は、多面体の歪エネルギＥをその多面体の体積Ｖｐで除算したもの（Ｅ／Ｖｐ）である。算出された多面体の歪エネルギ密度は、多面体のメッシュ数と組にしてメモリ（ＲＡＭ等）に格納される。
【０１３１】
［ステップＳ８７］歪エネルギ密度算出部２６３は、未処理の多面体データがあるか否かを判断する。未処理の多面体データがあれば処理がステップＳ８１に進められる。未処理の多面体データが無ければ、処理が終了する。
【０１３２】
次に、多面体に対する荷重データの生成処理について説明する。
図２３は、多面体に対する荷重データ生成処理の手順を示すフローチャートである。以下、図２３に示す処理をステップ番号に沿って説明する。
【０１３３】
［ステップＳ９１］歪エネルギ密度算出部２６３は、荷重情報記憶部２３０から荷重情報を１つ選択する。
［ステップＳ９２］歪エネルギ密度算出部２６３は、荷重がかかる場所から荷重方向ベクトルで示される方向へ線を引いたときに、最初に交わるメッシュを検出する。
【０１３４】
［ステップＳ９３］歪エネルギ密度算出部２６３は、ステップＳ９２で検出したメッシュのメッシュ番号と荷重情報とのペアをメモリ（ＲＡＭ等）に記憶する。
［ステップＳ９４］歪エネルギ密度算出部２６３は、荷重情報記憶部２３０内の全ての荷重情報を選択したか否かを判断する。未選択の荷重情報があれば、処理がステップＳ９１に進められる。全ての荷重情報を選択していれば、処理が終了する。
【０１３５】
次に、多面体に対する拘束データの生成手順について説明する。
図２４は、多面体データに対する拘束データ生成手順を示すフローチャートである。以下、図２４に示す処理をステップ番号に沿って説明する。
【０１３６】
［ステップＳ１０１］歪エネルギ密度算出部２６３は、拘束条件記憶部２４０から拘束条件を１つ選択する。
［ステップＳ１０２］歪エネルギ密度算出部２６３は、拘束がかかる場所の座標に最も近いメッシュを検出する。
【０１３７】
［ステップＳ１０３］歪エネルギ密度算出部２６３は、ステップＳ１０２で検出したメッシュのメッシュ番号と拘束条件とのペアをメモリ（ＲＡＭ等）に記憶する。
［ステップＳ１０４］歪エネルギ密度算出部２６３は、拘束条件記憶部２４０内の全ての拘束条件を選択したか否かを判断する。未選択の拘束条件があれば、処理がステップＳ１０１に進められる。全ての拘束条件を選択していれば、処理が終了する。
【０１３８】
次に、多面体の歪エネルギの計算処理について説明する。
図２５は、多面体の歪エネルギの計算手順を示すフローチャートである。以下、図２５に示す処理をステップ番号に沿って説明する。
【０１３９】
［ステップＳ１１１］歪エネルギ密度算出部２６３は、多面体に対する全体剛性マトリックスＫを計算する。全体剛性マトリックスは、物品の剛性を全体座標系（物品全体に係る力の向きや端部の変位を定義するための座標系）で表したものである。全体剛性マトリックスは、部材座標系（部材に係る力の向きや端部の変位を定義するための座標系）で表した部材剛性マトリックスを全体座標系に変換することで作成できる。また、部材剛性マトリックスは、その部材の端部の力と、端部の変位との関係を表したものである。部材の端部に働く力とその変位とは、部材の各種材料定数によって決まる。従って、材料定数情報記憶部２５０に格納された材料定数情報に基づいて、全体剛性マトリックスが生成できる。
【０１４０】
［ステップＳ１１２］歪エネルギ密度算出部２６３は、多面体に対する荷重情報に基づいて荷重ベクトルＦを計算する。荷重ベクトルＦは、節点（力が作用する点や拘束される点）の自由度の数分の未知数を有している。そして、歪エネルギ密度算出部２６３は、荷重情報で示される位置における荷重方向ベクトルで示される方向に対応する未知数に対して、荷重値を設定する。その他の未知数は０に設定される。
【０１４１】
［ステップＳ１１３］歪エネルギ密度算出部２６３は、多面体に対する拘束条件を用いて、変位ベクトルを求める。すなわち、歪エネルギ密度算出部２６３は、多面体に対する拘束条件データを参照し、全体剛性マトリックスに対して拘束条件を反映させる。すなわち、全体剛性マトリックスＫにおいて、拘束条件によって拘束されるメッシュに関しては、拘束される方向への変位を示す値に０が設定される。
【０１４２】
そして、歪エネルギ密度算出部２６３は、全体剛性マトリックスＫと荷重ベクトルＦとから、変位ベクトルＵを求める。すなわち、全体剛性マトリックスＫに対して右から変位ベクトルＵを掛けると、荷重ベクトルＦとなる。その関係を表す連立一次方程式を、変位ベクトルＵに付いて解くことで、変位ベクトルＵが得られる。
【０１４３】
［ステップＳ１１４］歪エネルギ密度算出部２６３は、多面体の歪エネルギＥを算出する。多面体の歪みエネルギＥは、
多面体の歪エネルギＥ＝（１／２）×｛変位ベクトルＵT｝｛荷重ベクトルＦ｝
で求められる。変位ベクトルＵTは、変位ベクトルの転置行列である。その後、処理が終了する。このようにして得られた多面体の歪エネルギＥを、多面体の体積Ｖｐで除算すれば、多面体の歪エネルギ密度となる。
【０１４４】
次に、内挿曲線の生成手順について説明する。
図２６は、内挿曲線の生成手順を示すフローチャートである。以下、図２６に示す処理をステップ番号に沿って説明する。
【０１４５】
［ステップＳ１２１］相対誤差算出手段２６４は、多面体の歪エネルギ密度の計算結果を集計する。
［ステップＳ１２２］相対誤差算出手段２６４は、多面体の歪エネルギ密度の内挿曲線を生成する。
【０１４６】
［ステップＳ１２３］相対誤差算出手段２６４は、ステップＳ１２２で生成した内挿曲線を延長した外挿曲線を生成し、推定真値を求める。外挿曲線は、線形補間法によって求めることができる。
【０１４７】
［ステップＳ１２４］相対誤差算出手段２６４は、推定真値と歪エネルギ密度との相対誤差を算出する。
［ステップＳ１２５］内挿曲線生成部２６５は、メッシュ数の異なる多面体ごとの相対誤差を集計する。
【０１４８】
［ステップＳ１２６］内挿曲線生成部２６５は、相対誤差の内挿曲線を生成する。その後、処理が終了する。
このような内挿曲線の生成手順を、グラフを用いて視覚的に示すと以下のようになる。
【０１４９】
図２７は、多面体のメッシュ数とその多面体の歪エネルギ密度との関係を示すグラフである。図２７の例では、横軸に多面体のメッシュ数を採り、縦軸に歪エネルギ密度を採っている。このようなグラフに対して、相対誤差算出手段２６４は、メッシュ数の異なる各多面体における歪エネルギ密度の値を示す位置に測定点を設定する。そして、相対誤差算出手段２６４は、このようなグラフ上で各測定点を通る滑らかな内挿曲線を生成する。
【０１５０】
図２８は、メッシュ数と歪エネルギ密度との関係を示す内挿曲線を示す図である。内挿曲線は、線形補間法で求めることができる。
次に、相対誤差算出手段２６４は、推定真値を求める。
【０１５１】
図２９は、推定真値を示す図である。相対誤差算出手段２６４は、内挿曲線をメッシュ数が極大となる方向に延長する外挿曲線を求める。そして、相対誤差算出手段２６４は、メッシュ数が極大となったときの歪エネルギ密度を、推定真値Ｄとする。
【０１５２】
次に、相対誤差算出手段２６４は、推定真値と、各多面体の歪エネルギ密度との差分ｄを採り、その相対誤差を求める。
図３０は、相対誤差を示す図である。図３０に示すように、推定真値Ｄから多面体ごとの歪エネルギ密度を減算した差分ｄを、推定真値で除算した値が、相対誤差（ｄ／Ｄ）となる。
【０１５３】
次に、内挿曲線生成部２６５は、メッシュ数の異なる多面体ごとの相対誤差を集計する。集計結果をグラフで表すと図３１のようになる。
図３１は、多面体のメッシュ数と相対誤差との関係を示すグラフである。図３１の例では、横軸に多面体のメッシュ数を採り、縦軸に相対誤差を採っている。相対誤差の集計結果を示すグラフである。
【０１５４】
内挿曲線生成部２６５は、集計結果からメッシュ数と相対誤差との関係を示す内挿曲線を生成する。
図３２は、メッシュ数と相対誤差との関係を示す内挿曲線を示す図である。このようにして生成された内挿曲線が、精度保証メッシュ数決定部２６７に渡される。
【０１５５】
次に、歪エネルギ密度許容誤差算出手順について説明する。
図３３は、歪エネルギ密度許容誤差算出手順を示すフローチャートである。以下、図３３に示す処理をステップ番号に沿って説明する。
【０１５６】
［ステップＳ１３１］歪エネルギ密度許容誤差決定部２６６は、ＣＡＤデータ記憶部２１０から３次元ＣＡＤデータを取得し、３次元モデルの体積Ｖｃを計算する。この処理の詳細は、図１２に示した第１の実施の形態の処理と同様である。
【０１５７】
［ステップＳ１３２］歪エネルギ密度許容誤差決定部２６６は、設計データの許容誤差に応じた歪エネルギ密度の許容誤差εEを式（３）に基づいて計算する。算出された歪エネルギ密度の許容誤差εEは、精度保証メッシュ数決定部２６７に渡される。
【０１５８】
精度保証メッシュ数決定部２６７は、メッシュ数と相対誤差との関係を示す内挿曲線と、歪エネルギ密度の許容誤差εEとから精度保証メッシュ数を決定する。具体的には、精度保証メッシュ数決定部２６７は、内挿曲線の相対誤差として、歪エネルギ密度の許容誤差εEを設定し、メッシュ数について解くことにより、精度保証メッシュ数ＮCAEを得ることができる。
【０１５９】
図３４は、決定された精度保証メッシュ数を示す図である。このようにして求められた精度保証メッシュ数ＮCAEが多面体生成部２６２に渡され、精度保証メッシュ数ＮCAEの多面体が生成される。そして、その多面体の多面体データが構造解析シミュレータ２６８に渡される。構造解析シミュレータ２６８では、入力された多面体データに基づいて応力計算等の構造解析が行われる。
【０１６０】
以上のようにして、設計データの許容誤差に応じた精度を保証したメッシュ数の多面体を容易に生成できる。その結果、必要な精度を保証し、かつ過大なデータ量とならない多面体データが生成される。
【０１６１】
しかも、設計データの許容誤差は、ＣＡＤを用いた設計を行っている技術者であれば、通常認識している数値である。そのようなＣＡＤの設計者が認識している物理量を指定することで、構造解析に必要な精度を保証した多面体データを生成できる。その結果、適切なメッシュ数の多面体データを生成するために、技術者が試行錯誤を繰り返すといった無駄な作業が不要となる。
【０１６２】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、コンピュータが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープなどがある。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。光磁気記録媒体には、ＭＯ（Magneto-Optical disk）などがある。
【０１６３】
プログラムを流通させる場合には、たとえば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１６４】
プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１６５】
なお、本発明は、上述の実施の形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加えることができる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
【０１６６】
（付記１）  ３次元ＣＡＤデータに基づいて複数のメッシュで構成される多面体を生成するための多面体生成プログラムにおいて、
コンピュータを、
３次元モデルの形状を定義した前記３次元ＣＡＤデータを記憶するＣＡＤデータ記憶手段、
多面体の生成指示を受けると、前記ＣＡＤデータ記憶手段に記憶された前記３次元ＣＡＤデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成するとともに、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する多面体生成手段、
前記多面体生成手段で生成された複数の前記サンプル多面体データを記憶する多面体データ記憶手段、
前記多面体データ記憶手段から複数の前記サンプル多面体データを取得し、所定の物理量に関して、前記３次元ＣＡＤデータで示される物体と前記サンプル多面体データで示される多面体との間の誤差を、前記サンプル多面体データごとに計算する誤差計算手段、
前記誤差計算手段によって算出された前記サンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と前記誤差との相関関係を示す関係式を生成する関係式生成手段、
前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する前記誤差保証メッシュ数を算出し、前記誤差保証メッシュ数を前記多面体生成手段に対して入力する誤差保証メッシュ数決定手段、
として機能させることを特徴とする多面体生成プログラム。
【０１６７】
（付記２）  コンピュータを、さらに、
前記所定の物理量を一意に決定することができる他の物理量に関する許容誤差の入力を受けると、予め定義された計算式によって前記所定の物理量に関する許容誤差を算出し、算出した前記許容誤差を前記誤差保証メッシュ数決定手段に与える許容誤差決定手段、
として機能させることを特徴とする付記１記載の多面体生成プログラム。
【０１６８】
（付記３）  前記誤差計算手段は、前記ＣＡＤデータ記憶手段に記憶された前記３次元ＣＡＤデータに基づいて前記３次元モデルの前記所定の物理量を計算し、前記多面体データ記憶手段に記憶された前記サンプル多面体データに基づいて前記多面体の前記所定の物理量を計算し、前記３次元モデルと前記多面体と前記所定の物理量の差を採って前記所定の物理量に関する誤差とすることを特徴とする付記１記載の多面体生成プログラム。
【０１６９】
（付記４）  前記所定の物理量が体積であることを特徴とする付記３記載の多面体生成プログラム。
（付記５）  コンピュータを、さらに、
加工時に許容される誤差である加工精度と代表寸法との入力を受けると、予め定義された計算式によって許容される体積誤差を算出し、前記体積誤差を前記所定の物理量に関する許容誤差として前記誤差保証メッシュ数決定手段に与える許容誤差決定手段、
として機能させることを特徴とする付記４記載の多面体生成プログラム。
【０１７０】
（付記６）  前記誤差計算手段は、前記多面体データ記憶手段に記憶された前記サンプル多面体データに基づいて前記多面体の前記所定の物理量を計算し、前記サンプル多面体データで示される前記多面体のメッシュ数と前記所定の物理量との相関関係から前記３次元モデルの前記所定の物理量の推定真値を算出し、前記推定真値と前記サンプル多面体データの前記所定の物理量との差を採って前記所定の物理量に関する誤差とすることを特徴とする付記１記載の多面体生成プログラム。
【０１７１】
（付記７）  前記所定の物理量は歪エネルギ密度であることを特徴とする付記６記載の多面体生成プログラム。
（付記８）  コンピュータを、さらに、
設計データの許容誤差の入力を受けると、予め定義された計算式によって許容される歪エネルギ密度の誤差を算出し、前記歪エネルギ密度の誤差を前記所定の物理量に関する許容誤差として前記誤差保証メッシュ数決定手段に与える許容誤差決定手段、
として機能させることを特徴とする付記７記載の多面体生成プログラム。
【０１７２】
（付記９）  前記関係式生成手段は、誤差とメッシュ数とを座標軸とした座標平面上で、前記サンプル多面体データごとに求められた誤差とメッシュ数との関係を示す測定点を設定し、前記測定点の内挿曲線を生成し、生成した前記内挿曲線を示す式を前記関係式とすることを特徴とする付記１記載の多面体生成プログラム。
【０１７３】
（付記１０）  ３次元ＣＡＤデータに基づいて複数のメッシュで構成される多面体を生成するための多面体生成装置において、
３次元モデルの形状を定義した前記３次元ＣＡＤデータを記憶するＣＡＤデータ記憶手段と、
多面体の生成指示を受けると、前記ＣＡＤデータ記憶手段に記憶された前記３次元ＣＡＤデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成するとともに、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する多面体生成手段と、
前記多面体生成手段で生成された複数の前記サンプル多面体データを記憶する多面体データ記憶手段と、
前記多面体データ記憶手段から複数の前記サンプル多面体データを取得し、所定の物理量に関して、前記３次元ＣＡＤデータで示される物体と前記サンプル多面体データで示される多面体との間の誤差を、前記サンプル多面体データごとに計算する誤差計算手段と、
前記誤差計算手段によって算出された前記サンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と前記誤差との相関関係を示す関係式を生成する関係式生成手段と、
前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する前記誤差保証メッシュ数を算出し、前記誤差保証メッシュ数を前記多面体生成手段に対して入力する誤差保証メッシュ数決定手段と、
を有することを特徴とする多面体生成装置。
【０１７４】
（付記１１）  ３次元ＣＡＤデータに基づいて複数のメッシュで構成される多面体をコンピュータによって生成するための多面体生成方法において、
多面体生成手段が、多面体の生成指示を受けると、ＣＡＤデータ記憶手段に記憶された３次元モデルの形状を定義した前記３次元ＣＡＤデータに基づいて、予め設定された複数のサンプリングメッシュ数それぞれに相当するメッシュ数の複数のサンプル多面体データを生成し、
多面体データ記憶手段が、前記多面体生成手段で生成された複数の前記サンプル多面体データを記憶し、
誤差計算手段が、前記多面体データ記憶手段から複数の前記サンプル多面体データを取得し、所定の物理量に関して、前記３次元ＣＡＤデータで示される物体と前記サンプル多面体データで示される多面体との間の誤差を、前記サンプル多面体データごとに計算し、
関係式生成手段が、前記誤差計算手段によって算出された前記サンプル多面体データごとの誤差に基づいて、多面体を構成するメッシュ数と前記誤差との相関関係を示す関係式を生成し、
誤差保証メッシュ数決定手段が、前記所定の物理量に関する許容誤差が予め与えられており、前記許容誤差を前記関係式に代入し、前記許容誤差を保証する前記誤差保証メッシュ数を算出し、前記誤差保証メッシュ数を前記多面体生成手段に対して入力し、
前記多面体生成手段が、誤差を保証するメッシュ数を示す誤差保証メッシュ数が入力されると、前記誤差保証メッシュ数に相当するメッシュ数の誤差保証多面体データを生成する、
ことを特徴とする多面体生成方法。
【図面の簡単な説明】
【０１７５】
【図１】発明の概要を示す図である。
【図２】第１の実施の形態のシステム構成例を示す図である。
【図３】第１の実施の形態に用いるコンピュータのハードウェア構成例を示す図である。
【図４】第１の実施の形態に係るコンピュータが有する機能を示すブロック図である。
【図５】加工精度を保証した多面体データの生成手順を示すフローチャートである。
【図６】３次元モデルの例を示す図である。
【図７】３次元ＣＡＤデータのデータ構造例を示す図である。
【図８】多面体生成処理の手順を示すフローチャートである。
【図９】多面体の例を示す図である。
【図１０】多面体データのデータ構造例を示す図である。
【図１１】体積誤差計算手順を示すフローチャートである。
【図１２】３次元モデルの体積計算手順を示すフローチャートである。
【図１３】多面体の体積計算手順を示すフローチャートである。
【図１４】多面体のメッシュ数と体積誤差の関係を示すグラフである。
【図１５】生成された内挿曲線を示す図である。
【図１６】決定された精度保証メッシュ数を示す図である。
【図１７】第２の実施の形態に係るコンピュータが有する機能を示すブロック図である。
【図１８】荷重情報記憶部のデータ構造例を示す図である。
【図１９】拘束条件記憶部のデータ構造例を示す図である。
【図２０】材料定数情報記憶部のデータ構造例を示す図である。
【図２１】解析精度を保証した多面体データの生成および構造解析処理の手順を示すフローチャートである。
【図２２】歪エネルギ密度計算処理の手順を示すフローチャートである。
【図２３】多面体に対する荷重データ生成処理の手順を示すフローチャートである。
【図２４】多面体データに対する拘束データ生成手順を示すフローチャートである。
【図２５】多面体の歪エネルギの計算手順を示すフローチャートである。
【図２６】内挿曲線の生成手順を示すフローチャートである。
【図２７】多面体のメッシュ数とその多面体の歪エネルギ密度との関係を示すグラフである。
【図２８】メッシュ数と歪エネルギ密度との関係を示す内挿曲線を示す図である。
【図２９】推定真値を示す図である。
【図３０】相対誤差を示す図である。
【図３１】多面体のメッシュ数と相対誤差との関係を示すグラフである。
【図３２】メッシュ数と相対誤差との関係を示す内挿曲線を示す図である。
【図３３】歪エネルギ密度許容誤差算出手順を示すフローチャートである。
【図３４】決定された精度保証メッシュ数を示す図である。
【符号の説明】
【０１７６】
１  多面体生成装置
１ａ  ＣＡＤデータ記憶手段
１ｂ  多面体生成手段
１ｃ  多面体データ記憶手段
１ｄ  誤差計算手段
１ｅ  関係式生成手段
１ｆ  許容誤差決定手段
１ｇ  誤差保証メッシュ数決定手段
１ｈ  誤差保証多面体データ
【図１】
0005040523.tif 000002
【図２】
0005040523.tif 000003
【図３】
0005040523.tif 000004
【図４】
0005040523.tif 000005
【図５】
0005040523.tif 000006
【図６】
0005040523.tif 000007
【図７】
0005040523.tif 000008
【図８】
0005040523.tif 000009
【図９】
0005040523.tif 000010
【図１０】
0005040523.tif 000011
【図１１】
0005040523.tif 000012
【図１２】
0005040523.tif 000013
【図１３】
0005040523.tif 000014
【図１４】
0005040523.tif 000015
【図１５】
0005040523.tif 000016
【図１６】
0005040523.tif 000017
【図１７】
0005040523.tif 000018
【図１８】
0005040523.tif 000019
【図１９】
0005040523.tif 000020
【図２０】
0005040523.tif 000021
【図２１】
0005040523.tif 000022
【図２２】
0005040523.tif 000023
【図２３】
0005040523.tif 000024
【図２４】
0005040523.tif 000025
【図２５】
0005040523.tif 000026
【図２６】
0005040523.tif 000027
【図２７】
0005040523.tif 000028
【図２８】
0005040523.tif 000029
【図２９】
0005040523.tif 000030
【図３０】
0005040523.tif 000031
【図３１】
0005040523.tif 000032
【図３２】
0005040523.tif 000033
【図３３】
0005040523.tif 000034
【図３４】
0005040523.tif 000035