(57)【特許請求の範囲】
【請求項１】
複数の部品を含む三次元モデルを格納するモデルデータ格納部から、穴を含む第１の部品を読み出すステップと、
前記モデルデータ格納部に格納されている前記三次元モデルに含まれる前記複数の部品のうち、前記第１の部品に含まれる穴の内部に位置する部分を有するという第１の条件又は前記第１の部品に含まれる穴の開口部の少なくとも一部を覆うという第２の条件を満たす第２の部品が存在しているか判断するステップと、
前記第２の部品が存在している場合には、前記第１の条件又は前記第２の条件を満たす第２の部品が検出され且つ前記第１の部品に含まれる穴を特定するためのデータを、データ格納部に格納するステップと
をコンピュータに実行させるためのプログラム。
【請求項２】
前記データ格納部に格納されているデータにより特定される穴の開口部の面積に対する、前記第２の部品を前記穴の開口面で切断することにより得られる断面の面積の比率、又は前記開口部の面積に対する、前記第２の部品が前記開口部を覆っている部分の面積の比率を算出するステップと、
前記比率が所定値以上である場合、前記第１の部品から前記穴を削除した形状のデータを、修正済データ格納部に格納する第１修正ステップと
をさらに前記コンピュータに実行させるための請求項１記載のプログラム。
【請求項３】
前記比率が所定値未満である場合、前記穴の内部のうち前記第２の部品が占める部分に相当する形状、又は前記開口部のうち前記第２の部品に覆われている部分を前記穴の内部において当該穴の軸に沿って延伸することにより得られた形状を、前記穴に配置して前記第１の部品を修正した後の形状のデータを修正済データ格納部に格納する第２修正ステップ
をさらに前記コンピュータに実行させるための請求項２記載のプログラム。
【請求項４】
前記第１の条件が、削除すべき部品についての第３の条件が登録されている条件格納部に格納されている前記第３の条件をさらに含み、
前記第１の条件を満たす前記第２の部品、又は前記第２の条件を満たし且つ前記第３の条件を満たす前記第２の部品である削除部品を特定するためのデータを、前記データ格納部に格納するステップ
をさらに前記コンピュータに実行させる請求項３記載のプログラム。
【請求項５】
データ格納部と、
複数の部品を含む三次元モデルを格納するモデルデータ格納部から、穴を含む第１の部品を読み出し、前記モデルデータ格納部に格納されている前記三次元モデルに含まれる前記複数の部品のうち、前記第１の部品に含まれる穴の内部に位置する部分を有するという第１の条件又は前記第１の部品に含まれる穴の開口部の少なくとも一部を覆うという第２の条件を満たす第２の部品が存在しているか判断し、前記第２の部品が存在している場合には、前記第１の条件又は前記第２の条件を満たす第２の部品が検出され且つ前記第１の部品に含まれる穴を特定するためのデータを、前記データ格納部に格納する処理部と、
を有する情報処理装置。
【請求項６】
複数の部品を含む三次元モデルを格納するモデルデータ格納部から、穴を含む第１の部品を読み出すステップと、
前記モデルデータ格納部に格納されている前記三次元モデルに含まれる前記複数の部品のうち、前記第１の部品に含まれる穴の内部に位置する部分を有するという第１の条件又は前記第１の部品に含まれる穴の開口部の少なくとも一部を覆うという第２の条件を満たす第２の部品が存在しているか判断するステップと、
前記第２の部品が存在している場合には、前記第１の条件又は前記第２の条件を満たす第２の部品が検出され且つ前記第１の部品に含まれる穴を特定するためのデータを、データ格納部に格納するステップと
を含み、コンピュータに実行される情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、三次元モデルを処理するための技術に関する。
【背景技術】
【０００２】
近年、有限要素法（ＦＥＭ，Finite Element Method）や有限体積法等を用いた数値解析による設計検証が普及してきた。このような数値解析に用いるための三次元モデルは、三次元ＣＡＤ（Computer Aided Design）による設計データに含まれる三次元モデルを基礎として生成するのが一般的である。ただし、設計データは製品形状を精確に表しているため、例えば設計データに含まれる三次元モデルそのままの形状から数値解析用のメッシュを生成すると、数値解析に用いるには過剰に詳細なメッシュとなり計算時間が長くなってしまう。
【０００３】
そのため、設計データの形状を修正して、数値解析に適したメッシュを生成する場合がある。例えば、指定された半径より小さい半径を有する穴や丸みを削除するという技術が存在している。すなわち、製品の構造解析、振動解析、騒音解析等に殆ど影響しない穴や丸みを削除することで、解析計算を簡単にするというものである。
【０００４】
また、直径又は対辺までの距離が空間メッシュの厚さの２倍以下の穴が部材にある場合、その穴をＦＥＭメッシュで埋めるという技術も存在している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−１１８６４６号公報
【特許文献２】特開２００２−１８９７６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
例えば、サーバ等の大型情報機器では穴の数は数千個存在する。これに対処するため、修正対象の穴の抽出等の、三次元モデルに対する修正作業の支援技術が求められている。しかしながら、従来技術のような穴の大きさという基準は、ある観点に基づいた１つの抽出条件に過ぎない。
【０００７】
従って、本技術の目的は、一側面として、新たな観点に基づき、三次元モデルの修正作業を支援するための技術に関する。
【課題を解決するための手段】
【０００８】
本三次元モデル処理方法は、（Ａ）複数の部品を含む三次元モデルを格納するモデルデータ格納部から、穴を含む第１の部品を読み出すステップと、（Ｂ）モデルデータ格納部に格納されている三次元モデルに含まれる複数の部品のうち、第１の部品に含まれる穴の内部に位置する部分を有するという第１の条件又は第１の部品に含まれる穴の開口部の少なくとも一部を覆うという第２の条件を満たす第２の部品が存在しているか判断するステップと、（Ｃ）第２の部品が存在している場合には、第１の部品に含まれる穴を特定するためのデータを、データ格納部に格納するステップとを含む。
【発明の効果】
【０００９】
新たな観点に基づき、三次元モデルの修正作業を支援できるようになる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施の形態に係る三次元モデル処理装置の機能ブロック図である。
【図２】図２は、メインの処理フローを示す図である。
【図３】図３（ａ）及び（ｂ）は、設計データに含まれる模式的な三次元モデルの例を示す斜視図である。
【図４】図４は、第１修正処理の処理フローを示す図である。
【図５】図５は、三次元モデルに含まれる穴を示す斜視図である。
【図６】図６は、穴から抽出される閉ループを示す斜視図である。
【図７】図７は、検出用ソリッドを穴に配置した状態を示す断面図である。
【図８】図８は、検出用ソリッドと他の部品との干渉を説明するための断面図である。
【図９】図９は、検出用ソリッドと他の部品との干渉を説明するための斜視図である。
【図１０】図１０は、集合積形状を説明するための斜視図である。
【図１１】図１１は、検出用ソリッドを説明するための斜視図である。
【図１２】図１２は、穴の削除を説明するための斜視図である。
【図１３】図１３は、穴の一部への立体の配置を説明するための斜視図である。
【図１４】図１４は、穴の一部に立体が配置される場合の一例を説明するための平面図である。
【図１５】図１５は、第２修正処理の処理フローを示す図である。
【図１６】図１６は、穴に相当する形状の拡大を説明するための断面図である。
【図１７】図１７は、検出用ソリッドと他の部品との干渉を説明するための断面図である。
【図１８】図１８は、検出用ソリッドを示す平面図である。
【図１９】図１９は、集合積形状を示す平面図である。
【図２０】図２０は、拡大した集合積形状の配置を説明するための断面図である。
【図２１】図２１は、拡大した集合積形状と穴に相当する形状との集合積形状を説明するための断面図である。
【図２２】図２２は、穴のうち他の部品に覆われた部分を埋める処理を説明するための斜視図である。
【図２３】図２３は、複数の穴の内部に１つの部品が存在する場合の一例を説明するための断面図である。
【図２４】図２４は、変形例に係る第１修正処理の処理フローを示す図である。
【図２５】図２５は、検出用ループを説明するための斜視図である。
【図２６】図２６は、検出用ループ内の部品とその断面を説明するための斜視図である。
【図２７】図２７は、変形例に係る第２修正処理の処理フローを示す図である。
【図２８】図２８は、検出用ループの延伸を説明するための断面図である。
【図２９】図２９は、検出用ソリッドと他の部品との干渉を説明するための斜視図である。
【図３０】図３０は、ＣＡＤプログラムを実行するコンピュータの機能ブロック図である。
【図３１】図３１は、数値解析プログラムを実行するコンピュータの機能ブロック図である。
【図３２】図３２は、コンピュータの機能ブロック図である。
【図３３】図３３は、三次元モデル処理方法の処理フローである。
【図３４】図３４は、三次元モデル処理装置の機能ブロック図である。
【発明を実施するための形態】
【００１１】
背景技術の欄で述べたように、設計データに含まれる三次元モデルには数値解析の結果に大きな影響を与えない大きさの穴が存在している。一方、設計データに含まれる三次元モデルには、開口した穴だけでなく、ネジ等のような他の部品で埋められた穴や、他の部品で覆われた穴が多数あり、このような塞がれた穴の中にも、数値解析の結果に大きな影響を与えないものが存在する。本実施の形態では、三次元モデルに含まれる複数の部品の複数の穴から、塞がれた穴を抽出する。そして、所定の条件を満たす場合には、部品の修正を行う。
【００１２】
図１は、本実施の形態に係る三次元モデル修正装置の機能ブロック図である。本実施の形態に係る三次元モデル処理装置は、三次元ＣＡＤによる設計データを格納する設計データ格納部１０１と、条件格納部１０３と、入力部１０５と、抽出部１０７と、データ格納部１０９と、面積比算出部１１１と、修正部１１３と、修正後三次元モデル格納部１１５と、出力部１１７とを有する。
【００１３】
入力部１０５は、ユーザからの入力を受け付けて処理対象の抽出条件等を条件格納部１０３に登録したり、抽出部１０７に処理開始の指示を出力したりする。抽出部１０７は、入力部１０５からの指示に応じて、設計データ格納部１０１、条件格納部１０３及びデータ格納部１０９に格納されているデータを用いて修正候補となる穴を抽出等し、穴及び部品を特定するためのデータ等をデータ格納部１０９に格納する。面積比算出部１１１は、データ格納部１０９に格納されているデータを用いて穴の開口部と塞がれた部分との面積比を算出し、データ格納部１０９に格納する。修正部１１３は、条件格納部１０３及びデータ格納部１０９に格納されたデータを用いて設計データを修正し、数値解析に適した修正後の三次元モデルを修正後三次元モデル格納部１１５に格納する。出力部１１７は、条件格納部１０３、データ格納部１０９及び修正後三次元モデル格納部１１５に格納されたデータを出力する。
【００１４】
次に、図２乃至図２９を用いて図１に示した三次元モデル修正装置の処理内容について説明する。図２はメインの処理フローである。予め入力部１０５はユーザからの入力を受け付け、以下の処理で用いるデータを条件格納部１０３に格納しているものとする。条件格納部１０３に格納されているデータは、抽出すべき穴の条件、削除すべき部品の条件、穴を削除するか否かを判断するための閾値である基準面積比、検出範囲を調整するためのパラメータ（拡大率又は延長すべき長さ等）等を含む。
【００１５】
まず、入力部１０５は、ユーザから処理対象となる設計データを指定した、処理の開始指示を受け付けると抽出部１０７に指示を出力し、抽出部１０７は指示に応じて設計データ格納部１０１から処理対象となる設計データを取得する（図２：ステップＳ１）。読み出した設計データは、例えばデータ格納部１０９に格納しておく。ここで、設計データは、例えばソリッドモデルで表された三次元モデルのデータを含む。図３（ａ）に、模式的な設計データに含まれる三次元モデルを斜視図で表した例を示す。図３（ａ）には、複数の穴Ａ乃至Ｃを有する板状の部品１と、円柱状の部品２と、直方体状の部品３とが示されている。また、図３（ａ）に示した一点鎖線を通る平面で切断した断面図を、図３（ｂ）に示す。図３（ｂ）に示すように、部品２は穴Ａを貫通する形で存在し、部品３は穴Ｂの一部を覆っている。具体例として、ステップＳ１では図３（ａ）及び（ｂ）に示したような設計データが取得されたものとする。
【００１６】
そして、抽出部１０７は、削除すべき部品の条件及び抽出すべき穴の条件を条件格納部１０３から取得する（ステップＳ３）。削除すべき部品の条件は、例えば、（１）三次元ＣＡＤのデータが有する部品名称（例えば「ねじ」）、（２）部品の体積、（３）部品の最大外形寸法等のいずれか又はこれらの２以上の組み合わせにより定義される。三次元モデルに対し数値解析を行う場合、解析結果に影響の少ない部品を特定して削除することができれば、計算量を減らすことができる。例えばエアフローの数値解析を行う場合、ある程度小さい部品は削除しても解析結果に影響が少ない。また、抽出すべき穴の条件は、例えば「所定値よりも浅い穴」のように定義される。これは、数値解析を行う上で解析結果に大きく影響しない深さの穴を抽出する場合に設定される条件である。
【００１７】
その後、抽出部１０７は、ステップＳ３で取得した条件を満たす穴を有する未処理の部品を１つ処理対象として特定する（ステップＳ４）。また、抽出部１０７は、処理対象の部品が有する穴から、未処理であり且つステップＳ３で取得した条件を満たす穴を１つ特定する（ステップＳ５）。ここでは、図５に示すような穴Ａが特定されたものとする。なお、例えば穴という形状は、おもてが内側を向いた柱状体の側面の形状として検出することができる。そして、抽出部１０７は第１修正処理を実施する（ステップＳ７）。
【００１８】
この第１修正処理については図４乃至図１３を用いて説明する。まず、抽出部１０７は、穴を構成している閉ループを抽出し、データ格納部１０９に格納する（図４：ステップＳ２１）。ここでは、図５に示した穴Ａから、図６に示すような閉ループが抽出される。図６は、上面及び側面のない円柱の側面を示しており、当該円柱の側面に当たる曲面が閉ループを形成している。そして、抽出部１０７は、抽出した閉ループを基に検出用ソリッドを生成し、処理対象の部品における処理対象の穴に当該検出用ソリッドを配置した状態を表すように、データ格納部１０９に格納されている三次元モデルのデータを更新する（ステップＳ２３）。検出用ソリッドは、例えばその直径及び高さが図６に示した閉ループの内径及び高さと同一の円柱であり、処理対象の部品と干渉することなく処理対象の穴に配置できるものである。ここでは、図７のように穴Ａの内部に検出用ソリッド４ａが配置される。
【００１９】
その後、抽出部１０７は、三次元モデルに含まれる他の部品の中に、ステップＳ３で取得した、削除すべき部品の条件を満たし且つその少なくとも一部が処理対象の穴の内部に存在する部品が存在するか判断する（ステップＳ２５）。具体的には、検出用ソリッドが他の部品と干渉するか判断する。例えばソリッドモデルであれば、面の接続関係を表す位相情報を有しているため、形状同士の干渉判定を行うことができる。他の部品と干渉しないと判断された場合、検出用ソリッドを破棄して第１修正処理を終了し、図２の処理に戻る。一方、他の部品と干渉すると判断された場合、抽出部１０７は、他の部品と検出用ソリッドとの集合積で表される形状のデータを生成し、データ格納部１０９に格納する（ステップＳ２７）。例えばソリッドモデルであれば、形状の集合演算も行うことができる。
【００２０】
また、抽出部１０７は、当該穴及び当該他の部品を特定するための情報をデータ格納部１０９に格納しておくようにしてもよい。例えば、当該他の部品を特定するための情報は、部品を表す幾何情報（頂点、稜線及び曲面の少なくとも一部）又は部品の内部の少なくとも１点を表す座標等であってもよいし、設計データに含まれる、部品の識別情報等であってもよい。同様に、穴を特定するための情報は、穴を表す幾何情報や穴の内部の点を表す座標等であってもよいし、設計データ格納部１０１等に含まれる、穴の識別情報等であってもよい。出力部１１７が、格納された情報を基に、特定された穴を強調表示等するためのデータを生成し、図示していない表示装置等を介してユーザに提示すれば、穴を修正すべきか否かをユーザに選択させることも可能である。その場合は、同時に当該他の部品を提示してもよい。ここでは、ステップＳ２５において、図８のように検出用ソリッド４ａと他の部品２との干渉が検出され、ステップＳ２７において、図９に示すような互いに干渉する形状のうち、図１０に示す集合積形状が生成されたものとする。
【００２１】
その後、面積比算出部１１１は、データ格納部１０９に格納された検出用ソリッド及び集合積形状の上面又は底面の面積を求め、検出用ソリッドの上面又は底面の面積に対する集合積形状の上面又は底面の面積の比率を算出する（ステップＳ２９）。算出した比率は例えばデータ格納部１０９に格納される。なお、本具体例における検出用ソリッドの上面又は底面の面積とは、すなわち穴の開口部の面積であり、ステップＳ２９では開口部のうち他の部品に塞がれている部分の割合を算出している。ここでは、図９に示した互いに干渉する形状のうち、図１１に示す検出用ソリッドの上面の面積と、図１０に示した集合積形状の上面の面積とを求め、比率を算出するものとする。集合積形状の上面の面積と底面の面積とが異なる場合は、例えば小さい方の面積を用いれば、塞がれている部分の割合を過大に評価することがなくなる。
【００２２】
その後、修正部１１３は、条件格納部１０３から基準面積比を取得し、ステップＳ２９で算出された面積比が基準面積比より小さいか判断する（ステップＳ３１）。本具体例における基準面積比は穴を削除するか否か判断するための閾値であり、基準面積比より小さい場合はその穴自体を削除してしまうと数値解析への影響が大きいものとみなす。算出された面積比が基準面積比以上の場合、修正部１１３は、処理対象の部品から処理対象の穴を削除し、当該穴なしの部品のデータでデータ格納部１０９に格納されている三次元モデルのデータを更新する（ステップＳ３３）。その後、ステップＳ３７へ移行する。ここでは、図５に示した穴Ａは図１２に示すように削除される。なお、集合積形状は破棄される。
【００２３】
一方、算出された面積比が基準面積比よりも小さい場合、修正部１１３は、処理対象の部品における処理対象の穴に集合積形状を配置した状態を表すように、データ格納部１０９に格納されている三次元モデルのデータを更新する（ステップＳ３５）。ここでは、図１３に示すように、穴のうち他の部品によって塞がれている部分に集合積形状が配置される。ここで、図１４にある部品を平面図で表した他の例を示す。図１４では、角が丸く細長い矩形の穴Ｄの一部にねじ２ａが存在する。このような形状において、例えばエアフローの数値解析を行う場合、ねじ２ａは削除しても解析結果に影響しない大きさの部品であるが、穴Ｄの開口面に対するねじ２ａの断面の面積比が小さく、穴Ｄを削除してしまうと解析結果に影響する。このような場合に、ステップＳ３５において集合積形状を配置し、後のステップでねじ２ａを削除すれば、解析結果への影響を抑えつつ数値解析の計算量を減らすことのできる三次元モデルが得られる。
【００２４】
ステップＳ３３又はステップＳ３５の後、処理はステップＳ３７へ移行し、修正部１１３は、処理対象の穴の内部に存在する部分を有する他の部品のデータを、データ格納部１０９に格納されている三次元モデルのデータにおいて削除する（ステップＳ３７）。その後、ステップＳ２３で配置した検出用ソリッドは破棄して第１修正処理を終了し、図２の処理に戻る。
【００２５】
図２の処理の説明に戻り、抽出部１０７は、ステップＳ５で特定された処理対象の穴が存在しているか判断する（ステップＳ８）。第１修正処理において処理対象の穴が削除されている場合は、ステップＳ１１へ移行する。処理対象の穴が一部でも存在している場合には、当該穴を処理対象の穴として、抽出部１０７は第２修正処理を実施する（図２：ステップＳ９）。この第２修正処理については図１５乃至図２２を用いて説明する。
【００２６】
まず、抽出部１０７は、処理対象の部品から穴を構成している閉ループを抽出し、データ格納部１０９に格納する（図１５：ステップＳ４１）。そして、抽出部１０７は、抽出した閉ループを基にして穴に相当する形状のデータを生成し、処理対象の部品における処理対象の穴に生成したデータを配置した状態を表すように、データ格納部１０９に格納されている三次元モデルのデータを更新する。（ステップＳ４３）。このステップＳ４１及びステップＳ４３の処理はステップＳ２１及びステップＳ２３（図３）の処理と実質的に同じであるため、第１修正処理において穴に相当する形状のデータをデータ格納部１０９に保持しておき、当該第２修正処理で用いてもよい。
【００２７】
そして、抽出部１０７は、条件格納部１０３から検出範囲を調整するためのパラメータを取得し、穴に相当する形状を当該パラメータに応じて穴の軸に沿って拡大した形状を、穴に相当する形状とは別に生成する（ステップＳ４５）。拡大した形状は、他の部品との干渉を判定することによって穴を覆っている他の部品が存在するか判断するための検出用ソリッドとして、後に用いる。また、処理対象の穴に当該検出用ソリッドを配置した状態を表すように、データ格納部１０９に格納されている三次元モデルのデータを更新する。ここでは、予めユーザが設定した拡大率又は延長すべき長さ等のパラメータを取得し、例えば図１６に示すように、パラメータに応じて穴に相当する形状を拡大する。パラメータの設定次第では、処理対象の部品からある程度離れた他の部品も検出される。
【００２８】
その後、抽出部１０７は、三次元モデルに含まれる他の部品が処理対象の穴の少なくとも一部を覆っているか判断する（ステップＳ４７）。具体的には、検出用ソリッドが他の部品と干渉するか判断する。他の部品と干渉しないと判断された場合は、穴に相当する形状及び検出用ソリッドを破棄して第２修正処理を終了し、図２の処理に戻る。例えば、第１修正処理においてすでに部品２が削除されている場合は、穴Ａを覆っている他の部品は存在しないと判断される。
【００２９】
一方、他の部品と干渉すると判断された場合は、抽出部１０７は、他の部品と検出用ソリッドとの集合積で表される形状のデータを生成し、データ格納部１０９に格納する（ステップＳ４９）。なお、ステップＳ２７（図４）と同様に、当該穴及び当該他の部品を特定するための情報を保持しておき、ユーザに提示することで修正の是非を判断させてもよい。ここでは、図３に示した穴Ｂを例に、図１７に示すように部品３と検出用ソリッド４ｂとが干渉すると判断されたものとして、以降の説明を続ける。ここでは、図１８に平面図を示すような検出用ソリッドに対し、図１９に平面図を示すような集合積形状が生成される。
【００３０】
その後、面積比算出部１１１は、データ格納部１０９に格納された検出用ソリッド及び集合積形状の上面又は底面の面積を求め、検出用ソリッドの上面又は底面の面積に対する集合積形状の上面又は底面の面積の比率を算出する（ステップＳ５１）。ここでは、例えば図１８に示した検出用ソリッド４ｂの上面の面積に対する図１９に示した集合体形状５ｂの上面の面積の比率が算出される。算出された比率はデータ格納部１０９に格納される。
【００３１】
そして、修正部１１３は、条件格納部１０３から第２基準面積比を取得し、ステップＳ５１で算出された面積比が第２基準面積比より小さいか判断する（ステップＳ５３）。第２基準面積比は第２修正処理での閾値となる値であるが、第１修正処理で用いる値と同じ値であってもよい。算出された面積比が基準面積比以上の場合、修正部１１３は、処理対象の部品から処理対象の穴を削除し、当該穴なしの部品のデータでデータ格納部１０９に格納されている三次元モデルのデータを更新する（ステップＳ５５）。その後、ステップＳ６１の処理に移行する。
【００３２】
一方、算出された面積比が基準面積比よりも小さい場合、修正部１１３は、集合積形状の高さが処理対象の穴の深さ以上となるように穴の軸に沿って拡大し、処理対象の部品における処理対象の穴に当該拡大した集合積形状を配置した状態を表すように、データ格納部１０９に格納されている三次元モデルのデータを更新する（ステップＳ５７）。例えば、集合積形状の高さを、穴の深さの所定値倍又は穴の深さに所定値を加算した値になるように延伸する。この所定値は、ユーザが設定するパラメータとして条件格納部１０３に格納しておいてもよい。ここでは、図２０に示すように、拡大した集合積形状５ｃが配置される。そして、修正部１１３は、拡大した集合積形状と穴に相当する形状との集合積形状を生成し、処理対象の部品における処理対象の穴に当該生成した集合積形状を配置した状態を表すように、データ格納部１０９に格納されている三次元モデルのデータを更新する（ステップＳ５９）。ここでは、図２１に示すように、穴に相当する形状４ａと拡大した集合積形状５ｃとの集合積形状が生成され、図２２に示すように、生成された集合積形状５ｄが処理対象の穴に配置される。ここで生成された集合積形状は、処理対象の穴のうち他の部品に覆われた部分を埋めるための形状である。このような形状を配置すれば、後に処理対象の穴を覆っている他の部品を削除しても、数値解析の結果に大きな影響を与えることがない。また、処理対象の穴を覆っている他の部品を削除しなくても、他の部品と穴の側面とで形成される段差が埋まり、数値解析の結果に大きく影響しない過剰に詳細な部分が単純化される。
【００３３】
ステップＳ５５又はステップＳ５９の後、修正部１１３は、条件格納部１０３に格納された削除すべき部品の条件を取得し、処理対象の穴を覆っている他の部品が削除すべき部品に該当するか判断する（ステップＳ６１）。削除すべき部品に該当しない場合は、中間的に生成された検出用ソリッド等を破棄して第２修正処理を終了し、図２の処理に戻る。一方、削除すべき部品に該当する場合は、修正部１１３は、処理対象の穴の少なくとも一部を覆っている他の部品のデータを、データ格納部１０９に格納されている三次元モデルのデータにおいて削除する（ステップＳ６３）。その後、中間的に生成された検出用ソリッド等を破棄して第２修正処理を終了し、図２の処理に戻る。
【００３４】
図２の処理の説明に戻り、抽出部１０７は、ステップＳ３で取得した条件を満たす未処理の穴が存在するか判断する（ステップＳ１１）。該当する穴が存在する場合、処理はステップＳ５へ戻る。なお、図３（ａ）及び（ｂ）に示した穴Ｃが未処理であれば、ステップＳ５に戻る。その後、穴ＣはステップＳ３で取得した条件を満たすためステップＳ５において抽出される。しかし、穴の内部に存在する部分を有する他の部品及び穴の少なくとも一部を覆う他の部品が存在しないため、穴Ｃは修正されずにそのまま残る。該当する穴が存在しない場合は、抽出部１０７は、穴を有する未処理の部品が存在するか判断する（ステップＳ１３）。該当する部品が存在する場合、処理はステップＳ４へ戻る。該当する部品が存在しない場合、修正部１１３は、データ格納部１０９に格納されている三次元モデルのデータを読み出し、修正後三次元モデル格納部１１５に格納し（ステップＳ１５）、処理を終了する。
【００３５】
以上のような処理を実施すれば、設計データに含まれる詳細な三次元モデルを基にして、数値解析を行う上で結果に与える影響の少ない穴及び部品を修正することができる。特に部品の間の空間的な隙間が解析結果に影響を与えるエアフロー等の数値解析において、解析結果への影響を抑えつつ計算量を減らすことのできる三次元モデルが得られる。
【００３６】
また、穴の修正を自動的に行わなくても、修正候補となり得る穴を特定してユーザに提示すれば、ユーザによる三次元モデルの修正作業を支援することができる。処理結果のデータや処理途中のデータ、設定された条件等については、出力部１１７を介して表示装置に表示等し、適宜ユーザに提示するようにしてもよい。
【００３７】
なお、第１修正処理及び第２修正処理の順序を入れ替えても、ほぼ同様の三次元モデルのデータが得られる。また、設計データ格納部１０１は、本実施の形態に係る三次元モデル修正装置とネットワークで接続された他の記憶装置や、リムーバブルメディア等であってもよい。
【００３８】
本実施の形態では１つの穴に対し、内部に存在する他の部品が１つ又は開口部を覆っている他の部品が１つの例を示したが、例えば図２３に示すように、１つの部品が複数の穴の内部に存在する場合もある。図２３では、部品２ｂ（ハッチングを付したボルト、ナット及びワッシャ）が部品１ｂ及び部品１ｃを固定している。なお、ボルト、ナット及びワッシャを１つの単位として削除対象に設定されているものとする。本実施の形態では、まず部品１ｂが処理対象になると、部品２ｂが内部に存在する穴が削除されると共に部品２ｂも削除され、修正後の部品１ｂは部品１ｃの穴を覆う形状となる。そして後に部品１ｃが処理対象となったとき、部品１ｃの穴も削除され、削除対象でない部品１ｂはそのまま残る。このような例に対しては、別の処理方法として、部品１ｂの穴及び部品１ｃの穴を１つの穴として処理するようにしてもよい。逆に、１つの穴の内部に他の複数の部品が存在する場合や開口部を他の複数の部品が覆っている場合は、例えば上で述べたステップＳ２９及びステップＳ５１において、他の複数の部品をまとめて面積比を算出するようにしてもよい。
【００３９】
［修正処理の変形例］
上で述べた第１修正処理及び第２修正処理は、以下のように変形して実施することも可能である。まず、第１修正処理の変形例について、図２４乃至図２６を用いて説明する。
【００４０】
図２４に、第１修正処理の変形例に係る処理フローを示す。まず、抽出部１０７は、穴を構成している開口面上の閉ループを抽出し、当該閉ループから検出用ループを生成する（図２４：ステップＳ７１）。また、抽出部１０７は、処理対象の穴の開口部に当該検出用ループを配置した状態を表すように、データ格納部１０９に格納されている三次元モデルのデータを更新する。ここでは、図２５に示すように、開口部の形状に相当する検出用ループ４ｃ及び４ｄが穴の形状に加えて配置される。
【００４１】
その後、抽出部１０７は、三次元モデルに含まれる他の部品の中に、ステップＳ３で取得した、削除すべき部品の条件を満たし且つ検出用ループの内側に存在する部品があるか判断する（ステップＳ７３）。該当する部品が存在しないと判断された場合は、検出用ループを破棄して第１修正処理を終了し、図２の処理に戻る。一方、該当する部品が存在すると判断された場合は、抽出部１０７は、検出用ループを通る平面で他の部品を切断した断面を抽出し、処理対象の穴に当該断面を配置した状態を表すように、データ格納部１０９に格納されている三次元モデルのデータを更新する（ステップＳ７５）。また、抽出部１０７は、当該穴及び当該他の部品を特定するための情報をデータ格納部１０９に格納しておくようにしてもよい。ここでは、ステップＳ７３において、図２６のように検出用ループ４ｃの内側に存在する他の部品２が検出され、ステップＳ７５において、断面５ｅが抽出される。
【００４２】
その後、面積比算出部１１１は、データ格納部１０９に格納されている検出用ループ内の面積及び抽出された断面の面積を求め、検出用ループ内の面積に対する抽出された断面の面積の比率を算出する（ステップＳ７７）。算出された比率は例えばデータ格納部１０９に格納される。ここでも、図２５に示した検出用ループ４ｃ及び４ｄから面積の異なる複数の断面が抽出された場合は、例えば小さい方の面積を用いれば、塞がれている部分の割合を過大に評価することがなくなる。
【００４３】
その後、修正部１１３は、条件格納部１０３から基準面積比を取得し、ステップＳ７７で算出された面積比が基準面積比より小さいか判断する（ステップＳ７９）。そして、算出された面積比が基準面積比以上の場合、修正部１１３は、処理対象の部品から処理対象の穴を削除し、当該穴なしの部品のデータでデータ格納部１０９に格納されている三次元モデルのデータを更新する（ステップＳ８１）。その後、ステップＳ８５へ移行する。
【００４４】
一方、算出された面積比が基準面積比よりも小さい場合、修正部１１３は、抽出された断面を穴の軸に沿って高さが穴の深さになるように延伸した立体を生成し、処理対象の穴の内部に当該立体を配置した状態を表すように、データ格納部１０９に格納されている三次元モデルのデータを更新する（ステップＳ８３）。ここでは、図１３に示したものと同じような立体が配置される。
【００４５】
ステップＳ８１又はステップＳ８３の後、処理はステップＳ８５へ移行し、修正部１１３は、処理対象の穴の内部に存在する部分を有する他の部品のデータを、データ格納部１０９に格納されている三次元モデルのデータにおいて削除する（ステップＳ８５）。その後、中間的に生成された検出用ループ等を破棄して、第１修正処理を終了し、図２の処理に戻る。
【００４６】
次に、第２修正処理の変形例について、図２７乃至図２９を用いて説明する。まず、図２７に第２修正処理の変形例に係る処理フローを示す。はじめに、抽出部１０７は、穴を構成している開口面上の閉ループを検出用ループとして抽出し、当該検出用ループを表すデータをデータ格納部１０９に格納する（図２７：ステップＳ９１）。
【００４７】
その後、抽出部１０７は、検出用ループを外周とする面分を生成する。そして、抽出部１０７は、条件格納部１０３から検出範囲を調整するためのパラメータを取得し、生成した面分を、穴の軸に沿って且つ穴の外側へ、当該パラメータに応じて延伸し、検出用ソリッドを生成する（ステップＳ９３）。そして、処理対象の穴の開口部から外側に向けて当該検出用ソリッドを配置した状態を表すように、データ格納部１０９に格納されている三次元モデルのデータを更新する。ここでは、図２８に示すように、検出用ソリッドが配置される。
【００４８】
その後、抽出部１０７は、三次元モデルに含まれる他の部品が処理対象の穴の少なくとも一部を覆っているか判断する（ステップＳ９５）。具体的には、検出用ソリッドが他の部品と干渉するか判断する。他の部品と干渉しないと判断された場合は、中間的に生成した検出用ソリッドを破棄して第２修正処理を終了し、図２の処理に戻る。
【００４９】
一方、他の部品と干渉すると判断された場合は、抽出部１０７は、他の部品と検出用ソリッドとの集合積で表される形状のデータを生成し、当該集合積形状を表すデータをデータ格納部１０９に格納する（ステップＳ９７）。例えば、図２９に示すように、検出用ソリッド４ｅと部品３とが干渉する場合、重なった部分の形状が生成される。また、抽出部１０７は、当該穴及び当該他の部品を特定するための情報をデータ格納部１０９に格納しておくようにしてもよい。
【００５０】
その後、面積比算出部１１１は、データ格納部１０９に格納された検出用ループ内の面積及び集合積形状の上面又は底面の面積を求め、検出用ループ内の面積に対する集合積形状の上面又は底面の面積の比率を算出する（ステップＳ９９）。検出用ループ内の面積でなく検出用ソリッドの上面又は底面の面積を用いても、同じ値が算出される。
【００５１】
そして、修正部１１３は、条件格納部１０３から第２基準面積比を取得し、ステップＳ９９で算出された面積比が第２基準面積比より小さいか判断する（ステップＳ１０１）。算出された面積比が第２基準面積比以上の場合、修正部１１３は、処理対象の部品から処理対象の穴を削除し、当該穴なしの部品のデータでデータ格納部１０９に格納されている三次元モデルのデータを更新する（ステップＳ１０３）。その後、ステップＳ１０７の処理に移行する。
【００５２】
一方、算出された面積比が第２基準面積比よりも小さい場合、修正部１１３は、高さが処理対象の穴の深さになるように集合積形状を穴の軸に沿って延伸した立体を生成する。そして、生成された立体を処理対象の穴の内部に配置し、処理対象の部品における処理対象の穴の内部に当該立体を配置した状態を表すように、データ格納部１０９に格納されている三次元モデルのデータを更新する（ステップＳ１０５）。ここでは、図２２に示したものと同じような立体が配置される。
【００５３】
ステップＳ１０３又はステップＳ１０５の後、修正部１１３は、条件格納部１０３に格納された、削除すべき部品の条件を取得し、処理対象の穴を覆っている他の部品が削除すべき部品に該当するか判断する（ステップＳ１０７）。削除すべき部品に該当しない場合は、中間的に生成された検出用ソリッド等を破棄して第２修正処理を終了し、図２の処理に戻る。一方、削除すべき部品に該当する場合は、修正部１１３は、処理対象の穴の少なくとも一部を覆っている他の部品のデータを、データ格納部１０９に格納された三次元モデルのデータにおいて削除する（ステップＳ１０９）。その後、中間的に生成された検出用ループ及び検出用ソリッド等を破棄して第２修正処理を終了し、図２の処理に戻る。
【００５４】
このように、穴の開口部に相当する検出用ループを用いても、同様の修正処理を行うことができる。この場合も、出力部１１７を介して処理に関連するデータを出力し、適宜ユーザに提示するようにしてもよい。
【００５５】
また、変形例に係る第１修正処理及び第２修正処理の順序を入れ替えてもよく、上で述べた実施例と当該変形例とを組み合せてもよい。
【００５６】
以上、三次元モデル処理装置の実施例及び変形例を説明したが、このような三次元モデルの処理を、例えばＣＡＤプログラム又は数値解析プログラムに組み込むこともできる。ここで、図３０に、本実施の形態に係る三次元モデルの処理を組み込んだＣＡＤプログラムを実行するコンピュータの例を示す。図３０に示すコンピュータ２０は、ＣＡＤデータ格納部２３を有し、ＣＡＤプログラム２１を実行する。また、ＣＡＤプログラム２１は、実行されると、設計データ等を生成するＣＡＤデータ生成部２００と、本実施の形態に係る三次元モデルの処理を行う穴処理部２１０として機能する。また、ＣＡＤデータ生成部２００は、ユーザの入力を受け付けて三次元モデルを処理する形状入力部２０１と、三次元モデルを変形させるスクリプトをＣＡＤプログラム２１が処理することで実現される自動修正部２０３とを有する。ＣＡＤプログラムには、自動的に形状の修正を行うためのスクリプトに従って処理を行わせることができるものがあり、設計データの修正等に用いることができる。例えば本実施の形態に係る三次元モデルの処理についても、当該処理を行うためのスクリプトを作成し、当該スクリプトをＣＡＤプログラム２１が処理することで、穴処理部２１０を実現するようにしてもよい。また、ＣＡＤデータ格納部に格納された修正後の三次元モデルを、他のコンピュータ又は数値解析部等へ直接出力し、連携させるようにしてもよい。
【００５７】
また、図３１に、本実施の形態に係る三次元モデルの処理を組み込んだ数値解析プログラムを実行するコンピュータの例を示す。図３１に示すコンピュータ３０は、ＣＡＤデータ格納部３１を有し、数値解析プログラム３３を実行する。また、数値解析プログラム３３は、実行されると、ＣＡＤデータ読込部３００と、ＣＡＤデータ修正部３１０と、解析条件設定部３２０と、メッシュ生成部３３０と、数値解析処理部３４０と、出力部３５０として機能する。ＣＡＤデータ修正部３１０は、ユーザの入力に応じてＣＡＤデータを修正する形状修正部３１１と、数値解析プログラム３３がスクリプトを処理することにより実現される自動修正部３１３と、本実施の形態に係る三次元モデルの処理を行う穴処理部３１５とを有する。そして、ＣＡＤデータ修正部３１０は、ＣＡＤデータ読込部３００が読み込んだ設計データを修正して数値解析に用いるデータを生成する。数値解析プログラムにも、自動的に形状の修正を行うためのスクリプトに従って処理を行わせることができるものがあり、設計データの修正等に用いることができる。例えば本実施の形態に係る三次元モデルの処理についても、当該処理を行うためのスクリプトを作成し、数値解析プログラム３３が当該スクリプトを処理することで、穴処理部３１５を実現するようにしてもよい。ＣＡＤデータ読込部３００、解析条件設定部３２０、メッシュ生成部３３０、数値解析処理部３４０及び出力部３５０については、従来の処理と同じ処理を行うので、ここでは詳細な説明は省略する。
【００５８】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。また、処理フローについても、処理結果が変わらない限り、ステップの順番を入れ替えたり、並列実施するようにしてもよい。
【００５９】
なお、上で述べた三次元モデル修正装置は、コンピュータ装置であって、図３２に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００６０】
以上述べた本実施の形態をまとめると、以下のようになる。
【００６１】
本実施の形態に係る三次元モデル処理方法は、（Ａ）複数の部品を含む三次元モデルを格納するモデルデータ格納部から、穴を含む第１の部品を読み出すステップ（図３３：ステップＳ１００１）と、（Ｂ）モデルデータ格納部に格納されている三次元モデルに含まれる複数の部品のうち、第１の部品に含まれる穴の内部に位置する部分を有するという第１の条件又は第１の部品に含まれる穴の開口部の少なくとも一部を覆うという第２の条件を満たす第２の部品が存在しているか判断するステップ（図３３：ステップＳ１００３）と、（Ｃ）第２の部品が存在している場合（図３３：ステップＳ１００５：Ｙｅｓルート）には、第１の部品に含まれる穴を特定するためのデータを、データ格納部に格納するステップ（図３３：ステップＳ１００７）とを含む。
【００６２】
例えばエアフローの数値解析を行うような場合には、塞がれてしまっている穴は解析結果にあまり影響を与えることはない。従って、上で述べたように、内部に他の部品の一部が存在する穴又は開口部の少なくとも一部が他の部品により覆われている穴は、実質的に塞がれてしまっている穴の可能性がある。そこで、上で述べたような処理を行って、新たな観点として、実質的に塞がれてしまっている可能性のある穴を特定することで、三次元モデルの修正作業を支援する。すなわち、ユーザに提示して選択させたり、自動的に穴を修正したりといった修正作業を容易にするものである。
【００６３】
また、本実施の形態に係る三次元モデル処理方法は、（Ｄ）データ格納部に格納されているデータにより特定される穴の開口部の面積に対する、第２の部品を穴の開口面で切断することにより得られる断面の面積の比率、又は開口部の面積に対する、第２の部品が開口部を覆っている部分の面積の比率を算出するステップと、（Ｅ）比率が所定値以上である場合、第１の部品から穴を削除した形状のデータを、修正済データ格納部に格納する第１修正ステップとをさらに含むようにしてもよい。面積比が所定値以上である場合は数値解析に影響する隙間がないものとみなして穴自体を自動的に削除することで、三次元モデルの修正作業をより効率化することができる。
【００６４】
さらに、本実施の形態に係る三次元モデル処理方法は、（Ｆ）比率が所定値未満である場合、穴の内部のうち第２の部品が占める部分に相当する形状、又は開口部のうち第２の部品に覆われている部分を穴の内部において当該穴の軸に沿って延伸することにより得られた形状を、穴に配置して第１の部品を修正した後の形状のデータを修正済データ格納部に格納する第２修正ステップをさらに含むようにしてもよい。穴自体を削除することはできないと判断された場合でも、他の部品が占めている部分や他の部品に覆われた部分を塞ぐための形状を配置することにより、他の部品を削除してもよい形状になる。すなわち、他の部品を削除しても穴のうち実質的に開いた部分の大きさが変わらず、数値解析に影響しない形状になる。
【００６５】
また、上で述べた第１の条件が、削除すべき部品についての第３の条件が登録されている条件格納部に格納されている第３の条件をさらに含むようにしてもよい。そして、本実施の形態に係る三次元モデル処理方法は、（Ｇ）第１の条件を満たす第２の部品、又は第２の条件を満たし且つ第３の条件を満たす第２の部品である削除部品を特定するためのデータを、データ格納部に格納するステップをさらに含むようにしてもよい。
【００６６】
部品を減らすことで数値解析の計算量も減らすことができる。このように、第１の条件が第３の条件をさらに含むため、上で述べたステップ（Ｂ）で処理対象となる第２の部品が絞り込まれると共に、当該第２の部品はステップ（Ｄ）乃至（Ｆ）でも処理される。すなわち、第２の部品の代わりのものが穴に配置されることとなるため、ステップ（Ｇ）でそのまま削除される。一方、第２の条件を満たす第２の部品については、第３の条件を満たすか否かを問わずステップ（Ｂ）乃至（Ｆ）で処理され、ステップ（Ｇ）で第３の条件を満たすか否かを判断される。従って、第２の部品が削除すべき部品でない場合にも、穴全て又は第２の部品が一部を覆っていることで生ずる穴側面と第２の部品との段差を解消する形状で穴の少なくとも一部を埋めてしまい、当該穴を含む周辺の形状が複雑化しないように工夫を施している。
【００６７】
本実施の形態に係る三次元モデル処理装置は、データ格納部（図３４：データ格納部１５０１）と、複数の部品を含む三次元モデルを格納するモデルデータ格納部から、穴を含む第１の部品を読み出し、モデルデータ格納部に格納されている三次元モデルに含まれる複数の部品のうち、第１の部品に含まれる穴の内部に位置する部分を有するという第１の条件又は第１の部品に含まれる穴の開口部の少なくとも一部を覆うという第２の条件を満たす第２の部品が存在しているか判断し、第２の部品が存在している場合には、第１の部品に含まれる穴を特定するためのデータを、データ格納部に格納する処理部（図３４：処理部１５０３）とを有する。
【００６８】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００６９】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００７０】
（付記１）
複数の部品を含む三次元モデルを格納するモデルデータ格納部から、穴を含む第１の部品を読み出すステップと、
前記モデルデータ格納部に格納されている前記三次元モデルに含まれる前記複数の部品のうち、前記第１の部品に含まれる穴の内部に位置する部分を有するという第１の条件又は前記第１の部品に含まれる穴の開口部の少なくとも一部を覆うという第２の条件を満たす第２の部品が存在しているか判断するステップと、
前記第２の部品が存在している場合には、前記第１の部品に含まれる穴を特定するためのデータを、データ格納部に格納するステップと
をコンピュータに実行させるためのプログラム。
【００７１】
（付記２）
前記データ格納部に格納されているデータにより特定される穴の開口部の面積に対する、前記第２の部品を前記穴の開口面で切断することにより得られる断面の面積の比率、又は前記開口部の面積に対する、前記第２の部品が前記開口部を覆っている部分の面積の比率を算出するステップと、
前記比率が所定値以上である場合、前記第１の部品から前記穴を削除した形状のデータを、修正済データ格納部に格納する第１修正ステップと
をさらに前記コンピュータに実行させるための付記１記載のプログラム。
【００７２】
（付記３）
前記比率が所定値未満である場合、前記穴の内部のうち前記第２の部品が占める部分に相当する形状、又は前記開口部のうち前記第２の部品に覆われている部分を前記穴の内部において当該穴の軸に沿って延伸することにより得られた形状を、前記穴に配置して前記第１の部品を修正した後の形状のデータを修正済データ格納部に格納する第２修正ステップ
をさらに前記コンピュータに実行させるための付記２記載のプログラム。
【００７３】
（付記４）
前記第１の条件が、削除すべき部品についての第３の条件が登録されている条件格納部に格納されている前記第３の条件をさらに含み、
前記第１の条件を満たす前記第２の部品、又は前記第２の条件を満たし且つ前記第３の条件を満たす前記第２の部品である削除部品を特定するためのデータを、前記データ格納部に格納するステップ
をさらに前記コンピュータに実行させる付記３記載のプログラム。
【００７４】
（付記５）
データ格納部と、
複数の部品を含む三次元モデルを格納するモデルデータ格納部から、穴を含む第１の部品を読み出し、前記モデルデータ格納部に格納されている前記三次元モデルに含まれる前記複数の部品のうち、前記第１の部品に含まれる穴の内部に位置する部分を有するという第１の条件又は前記第１の部品に含まれる穴の開口部の少なくとも一部を覆うという第２の条件を満たす第２の部品が存在しているか判断し、前記第２の部品が存在している場合には、前記第１の部品に含まれる穴を特定するためのデータを、前記データ格納部に格納する処理部と、
を有する情報処理装置。
【００７５】
（付記６）
複数の部品を含む三次元モデルを格納するモデルデータ格納部から、穴を含む第１の部品を読み出すステップと、
前記モデルデータ格納部に格納されている前記三次元モデルに含まれる前記複数の部品のうち、前記第１の部品に含まれる穴の内部に位置する部分を有するという第１の条件又は前記第１の部品に含まれる穴の開口部の少なくとも一部を覆うという第２の条件を満たす第２の部品が存在しているか判断するステップと、
前記第２の部品が存在している場合には、前記第１の部品に含まれる穴を特定するためのデータを、データ格納部に格納するステップと
を含み、コンピュータに実行される情報処理方法。
【符号の説明】
【００７６】
１０１  設計データ格納部    １０３  条件格納部
１０５  入力部    １０７  抽出部
１０９  データ格納部    １１１  面積比算出部
１１３  修正部    １１５  修正後三次元モデル格納部
１１７  出力部
【図１】
0005585315.tif 000002
【図２】
0005585315.tif 000003
【図３】
0005585315.tif 000004
【図４】
0005585315.tif 000005
【図５】
0005585315.tif 000006
【図６】
0005585315.tif 000007
【図７】
0005585315.tif 000008
【図８】
0005585315.tif 000009
【図９】
0005585315.tif 000010
【図１０】
0005585315.tif 000011
【図１１】
0005585315.tif 000012
【図１２】
0005585315.tif 000013
【図１３】
0005585315.tif 000014
【図１４】
0005585315.tif 000015
【図１５】
0005585315.tif 000016
【図１６】
0005585315.tif 000017
【図１７】
0005585315.tif 000018
【図１８】
0005585315.tif 000019
【図１９】
0005585315.tif 000020
【図２０】
0005585315.tif 000021
【図２１】
0005585315.tif 000022
【図２２】
0005585315.tif 000023
【図２３】
0005585315.tif 000024
【図２４】
0005585315.tif 000025
【図２５】
0005585315.tif 000026
【図２６】
0005585315.tif 000027
【図２７】
0005585315.tif 000028
【図２８】
0005585315.tif 000029
【図２９】
0005585315.tif 000030
【図３０】
0005585315.tif 000031
【図３１】
0005585315.tif 000032
【図３２】
0005585315.tif 000033
【図３３】
0005585315.tif 000034
【図３４】
0005585315.tif 000035