(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-17
(45)【発行日】2024-12-25
(54)【発明の名称】形状データ出力プログラム、形状データ出力方法および情報処理装置
(51)【国際特許分類】
G06F 30/10 20200101AFI20241218BHJP
G06T 17/30 20060101ALI20241218BHJP
【FI】
G06F30/10
G06T17/30
(21)【出願番号】P 2020185727
(22)【出願日】2020-11-06
【審査請求日】2023-07-07
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】安曽 徳康
(72)【発明者】
【氏名】小川 雅俊
【審査官】三沢 岳志
(56)【参考文献】
【文献】特表2006-520948(JP,A)
【文献】特開2004-171227(JP,A)
【文献】特開2014-006812(JP,A)
【文献】特開2019-018446(JP,A)
【文献】特表2016-537716(JP,A)
【文献】特開2004-054363(JP,A)
【文献】特開2015-171736(JP,A)
【文献】韓国公開特許第10-2017-0095744(KR,A)
【文献】岩淵 渉ほか,“BREPの面隣接情報に基づいた部分形状抽出による三次元モデルの部分形状類似検索”,第12回データ工学と情報マネジメントに関するフォーラム(第18回日本データベース学会年次大会)= DEIM2020[online],DEIM2020実行委員会,2020年03月04日,[2024年04月22日検索],<https://db-event.jpn.org/deim2020/post/proceedings/papers/C2-2.pdf>
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/10
G06T 17/30
(57)【特許請求の範囲】
【請求項1】
それぞれ部品をあらわす複数の形状データそれぞれの形状データを、各座標軸方向の成分ごとに正規化して単位形状データを作成し、
作成した前記それぞれの形状データの単位形状データに基づいて、前記複数の形状データを分類し、
分類したグループ内の各形状データ
があらわす部品の
辺の
長さに基づいて、前記グループ内のいずれかの形状データ
があらわす部品内の異なる
辺間の
長さの関係性を示す関係式を特定し、
前記グループ内の前記いずれかの形状データの単位形状データと対応付けて、特定した前記関係式を出力する、
処理をコンピュータに実行させ
、
前記作成する処理は、
前記それぞれの形状データの各特徴点の座標から各座標軸方向の最小値を抽出し、
前記各特徴点の座標の各値から、抽出した前記各座標軸方向の最小値を減算し、
減算後の前記各特徴点の座標から各座標軸方向の最大値を抽出し、
減算後の前記各特徴点の座標の各値を、抽出した前記各座標軸方向の最大値で除算することにより、前記それぞれの形状データの単位形状データを作成する、
ことを特徴とする形状データ出力プログラム。
【請求項2】
前記分類する処理は、
前記それぞれの形状データの単位形状データ間の類似度を算出し、
算出した前記類似度が閾値以上となる単位形状データの組み合わせに対応する形状データ同士が同一グループとなるように、前記複数の形状データを分類する、
ことを特徴とする請求項1に記載の形状データ出力プログラム。
【請求項3】
前記特定する処理は、
前記各形状データがあらわす部品内の辺ごとに、当該辺の前記各形状データにおける長さを要素とするベクトルを作成し、
前記各形状データがあらわす部品内の複数の辺のうちのいずれかの辺を目的変数とし、他の辺を説明変数として、作成した前記辺ごとのベクトルに基づいて、前記グループ内のいずれかの形状データがあらわす部品内の異なる辺間の長さの関係性を示す関係式を作成する、
ことを特徴とする請求項1または2に記載の形状データ出力プログラム。
【請求項4】
前記各形状データがあらわす部品内の複数の辺のうち、作成した前記ベクトルの要素の分散が相対的に高い辺を目的変数とする、ことを特徴とする請求項3に記載の形状データ出力プログラム。
【請求項5】
前記出力する処理は、
前記グループ内の前記いずれかの形状データの単位形状データと対応付けて、特定した前記関係式を記憶部に記憶する、ことを特徴とする請求項1~4のいずれか一つに記載の形状データ出力プログラム。
【請求項6】
ターゲットの形状データの指定を受け付け、
指定された前記ターゲットの形状データを、各座標軸方向の成分ごとに正規化して前記ターゲットの単位形状データを作成し、
前記記憶部を参照して、作成した前記ターゲットの単位形状データと類似する第1の単位形状データを検索し、
検索した前記第1の単位形状データと、当該第1の単位形状データと対応付けて前記記憶部に記憶された、前記第1の単位形状データの作成元である形状データがあらわす部品内の異なる辺間の長さの関係性を示す関係式を出力する、
処理を前記コンピュータに実行させ、
前記ターゲットの単位形状データを作成する処理は、
前記ターゲットの形状データの各特徴点の座標から各座標軸方向の最小値を抽出し、
前記各特徴点の座標の各値から、抽出した前記各座標軸方向の最小値を減算し、
減算後の前記各特徴点の座標から各座標軸方向の最大値を抽出し、
減算後の前記各特徴点の座標の各値を、抽出した前記各座標軸方向の最大値で除算することにより、前記ターゲットの単位形状データを作成する、
ことを特徴とする請求項5に記載の形状データ出力プログラム。
【請求項7】
前記それぞれの形状データの各特徴点は、前記それぞれの形状データがあらわす部品の頂点を含む、ことを特徴とする請求項1~6のいずれか一つに記載の形状データ出力プログラム。
【請求項8】
それぞれ部品をあらわす複数の形状データそれぞれの形状データを、各座標軸方向の成分ごとに正規化して単位形状データを作成し、
作成した前記それぞれの形状データの単位形状データに基づいて、前記複数の形状データを分類し、
分類したグループ内の各形状データ
があらわす部品の
辺の
長さに基づいて、前記グループ内のいずれかの形状データ
があらわす部品内の異なる
辺間の
長さの関係性を示す関係式を特定し、
前記グループ内の前記いずれかの形状データの単位形状データと対応付けて、特定した前記関係式を出力する、
処理をコンピュータが実行
し、
前記作成する処理は、
前記それぞれの形状データの各特徴点の座標から各座標軸方向の最小値を抽出し、
前記各特徴点の座標の各値から、抽出した前記各座標軸方向の最小値を減算し、
減算後の前記各特徴点の座標から各座標軸方向の最大値を抽出し、
減算後の前記各特徴点の座標の各値を、抽出した前記各座標軸方向の最大値で除算することにより、前記それぞれの形状データの単位形状データを作成する、
ことを特徴とする形状データ出力方法。
【請求項9】
それぞれ部品をあらわす複数の形状データそれぞれの形状データを、各座標軸方向の成分ごとに正規化して単位形状データを作成し、
作成した前記それぞれの形状データの単位形状データに基づいて、前記複数の形状データを分類し、
分類したグループ内の各形状データ
があらわす部品の
辺の
長さに基づいて、前記グループ内のいずれかの形状データ
があらわす部品内の異なる
辺間の
長さの関係性を示す関係式を特定し、
前記グループ内の前記いずれかの形状データの単位形状データと対応付けて、特定した前記関係式を出力する、
処理を実行する制御部を含
み、
前記制御部は、
前記それぞれの形状データの各特徴点の座標から各座標軸方向の最小値を抽出し、
前記各特徴点の座標の各値から、抽出した前記各座標軸方向の最小値を減算し、
減算後の前記各特徴点の座標から各座標軸方向の最大値を抽出し、
減算後の前記各特徴点の座標の各値を、抽出した前記各座標軸方向の最大値で除算することにより、前記それぞれの形状データの単位形状データを作成する、
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、形状データ出力プログラム、形状データ出力方法および情報処理装置に関する。
【背景技術】
【0002】
従来、3D(Dimensions)形状の設計や製図には多くの工数がかかるため、過去の3D形状データを利用した流用設計が行われる場合がある。一方で、過去の3D形状データは、分類が不十分であることが多く、似たような形状も大量に存在するため、新規に既存品の類似形状の設計を行う際には、過去の3D形状データを適切に分類して、設計物の標準化を行うことが望ましい。
【0003】
先行技術としては、例えば、設計対象部品の属性値と形状特徴データとに整合する属性値の範囲と形状特徴データの標準部品を検索し、設計対象部品の属性値に類似する属性値の範囲を有し設計対象部品の形状特徴データに類似した形状特徴データの標準部品を検索し、設計対象部品の属性値に類似する属性値と、設計対象部品の形状特徴データに類似した形状特徴データの事例部品を検索するものがある。
【0004】
また、類似部品データを参照して、抽出型番に対応付けられた類似部品型番を検索し、抽出型番の部品データ、および、検索された全ての類似部品型番の部品データをユーザ端末に送信し、各部品の型番が表示された単品検索結果詳細画面を表示する技術がある。また、抽出された関連性情報に直接対応する設計プロセスと、関連性情報に含まれる設計パラメータがさらに関係する他の関連性情報に対応する設計プロセスとを検出し、関連性情報および他の関連性情報に対応する複数個の設計プロセスに基づいて、部品形状を特定する設計パラメータを変更して、その部品の形状を生成する技術がある。
【0005】
また、認識モデルの面、稜線に対して付されるラベルを使用して、稜線の凹凸や面内での頂点の凹凸などの認識モデルの位相を判断して、目的関数および制約条件を生成し、認識モデルの形状認識を規制することにより、形状認識を実行させる技術がある。また、2次元ないし3次元の形状を計算機等に入力して形状および寸法を作成し、その後に、形状あるいは寸法の変更(削除、付加、修正等)をオペレータが実行することができる技術がある。
【先行技術文献】
【特許文献】
【0006】
【文献】特開平9-179892号公報
【文献】国際公開第2017/217032号
【文献】特開2006-139486号公報
【文献】特開2004-21773号公報
【文献】特開平3-206564号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、従来技術では、設計物の標準化を行うにあたり、過去に設計された設計データを適切に分類して、辺や穴などの部位間の寸法の関係性を導出することが難しい。
【0008】
一つの側面では、本発明は、複数の形状データを適切に分類して部位間の寸法の関係性を導出することを目的とする。
【課題を解決するための手段】
【0009】
1つの実施態様では、複数の形状データそれぞれの形状データを、各座標軸方向の成分ごとに正規化して単位形状データを作成し、作成した前記それぞれの形状データの単位形状データに基づいて、前記複数の形状データを分類し、分類したグループ内の各形状データの部位の寸法に基づいて、前記グループ内の形状データの異なる部位間の寸法の関係性を特定し、前記グループ内の形状データの単位形状データと対応付けて、特定した前記寸法の関係性を示す情報を出力する、形状データ出力プログラムが提供される。
【発明の効果】
【0010】
本発明の一側面によれば、複数の形状データを適切に分類して部位間の寸法の関係性を導出することができるという効果を奏する。
【図面の簡単な説明】
【0011】
【
図1】
図1は、実施の形態にかかる形状データ出力方法の一実施例を示す説明図である。
【
図2】
図2は、情報処理システム200のシステム構成例を示す説明図である。
【
図3】
図3は、情報処理装置101のハードウェア構成例を示すブロック図である。
【
図4】
図4は、3D形状DB220の記憶内容の一例を示す説明図である。
【
図5】
図5は、標準形状DB230の記憶内容の一例を示す説明図(その1)である。
【
図6】
図6は、情報処理装置101の機能的構成例を示すブロック図である。
【
図7】
図7は、単位3D形状データの作成例を示す説明図である。
【
図8】
図8は、3D形状データの分類例を示す説明図である。
【
図9A】
図9Aは、3D形状データの一例を示す説明図である。
【
図9B】
図9Bは、部位間の寸法の関係性を示す関係式の構築例を示す説明図である。
【
図10】
図10は、標準形状DB230の記憶内容の一例を示す説明図(その2)である。
【
図11】
図11は、情報処理装置101の事前準備処理手順の一例を示すフローチャートである。
【
図12】
図12は、単位形状作成処理の具体的処理手順の一例を示すフローチャートである。
【
図13】
図13は、情報処理装置101の標準形状登録処理手順の一例を示すフローチャートである。
【
図14】
図14は、形状分類処理の具体的処理手順の一例を示すフローチャートである。
【
図15】
図15は、関係式構築処理の具体的処理手順の一例を示すフローチャートである。
【
図16】
図16は、情報処理装置101の第1の設計処理手順の一例を示すフローチャートである。
【
図17】
図17は、情報処理装置101の第2の設計処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
以下に図面を参照して、本発明にかかる形状データ出力プログラム、形状データ出力方法および情報処理装置の実施の形態を詳細に説明する。
【0013】
(実施の形態)
図1は、実施の形態にかかる形状データ出力方法の一実施例を示す説明図である。
図1において、情報処理装置101は、対象物の設計を支援するコンピュータである。対象物は、設計対象となる物であり、例えば、部品、製品、建設部材、建築物などの立体物である。
【0014】
ここで、3D形状の設計には多くの工数がかかるため、過去の3D形状データを利用した流用設計ができれば、大変有用である。一方で、過去の3D形状データは、分類が不十分であることが多く、似たような形状も大量に存在するため、設計意図に応じた3D形状データを人手で検索するには時間や手間がかかる。
【0015】
このため、新規に既存品の類似形状の設計を行うにあたり、過去の3D形状データを適切に分類して、設計物の標準化を行うことが望ましい。例えば、過去の3D形状データを適切に分類して、3D形状の部位間の寸法の関係性(パラメトリックモデル)を導出することができれば、モデルに対して各種寸法を設定することで、3D形状を規定する設計(いわゆる、パラメトリック設計)を行うことができる。
【0016】
過去の3D形状データを分類する手法としては、3D形状データ同士を比較して類似度を求め、その類似度をもとに3D形状データを分類するものがある。具体的には、例えば、ターゲットの3D形状データを指定し、その3D形状データとの類似度をもとに、同一グループに分類する3D形状データを検索することが考えられる。
【0017】
ターゲットとなる3D形状データは、例えば、対象物についての設計意図を指定するための3D形状データである。設計意図は、例えば、対象物の大まかな形状(詳細な寸法を指定していない形状)、一部の部位間の寸法の比率、一部の部位の相対的な位置関係などである。
【0018】
ターゲットとなる3D形状データの指定は、例えば、過去に設計された3D形状データの中からいずれかの3D形状データを選択することにより行われる。ターゲットとしては、例えば、過去の3D形状データのうち、対象物とは詳細な寸法が異なるものの、対象物と同様の設計意図で作成された3D形状データが指定される。
【0019】
この分類手法では、ターゲットと同じ形状や、幾何学的に相似な形状の3D形状データが検索される。ところが、3D形状データでは似た形状においても、設計意図によって部位間の寸法に関係性があるものとないものがあり、同じ形状や相似な形状の3D形状データだけが、同一グループに分類したい3D形状データとは限らない。
【0020】
また、過去の3D形状データを一つ一つ人手により確認しながら、設計の意図を考慮した分類を行うことも考えられる。しかしながら、膨大な数の3D形状データを人手により分類するには時間や手間がかかり、ひいては、対象物の設計にかかる工数の増大を招くという問題がある。さらに、設計者以外の者が、3D形状データから設計の意図を判断することは難しい。
【0021】
そこで、本実施の形態では、各形状データを正規化した単位形状データをもとに、複数の形状データを分類し、単位形状データで分類される形状データ内の部位間の寸法の関係性を特定することで、パラメトリックモデルを構築する形状データ出力方法について説明する。パラメトリックモデルは、単位形状データに対応して、その単位形状データで分類される形状内の部位間の寸法の関係性を示す情報である。ここで、情報処理装置101の処理例について説明する。
【0022】
(1)情報処理装置101は、複数の形状データそれぞれの形状データを、各座標軸方向の成分ごとに正規化して単位形状データを作成する。ここで、形状データは、設計物の形状をあらわす情報であり、例えば、設計物の各特徴点の位置情報、面情報、穴情報などを含む。特徴点は、例えば、設計物の頂点、穴の中心点などである。
【0023】
特徴点の位置情報は、例えば、直交座標系における特徴点の座標を示す。特徴点の面情報は、例えば、特徴点が属する面を特定する情報である。特徴点の穴情報は、例えば、特徴点が属する穴の形状、大きさなどを特定する情報である。形状データには、例えば、各面の色情報、材質情報などが含まれていてもよい。
【0024】
形状データは、例えば、3次元形状データである。より詳細に説明すると、例えば、形状データは、3次元CAD(Computer Aided Design)を利用して過去に設計された設計データである。ただし、形状データは、2次元形状データであってもよい。
【0025】
形状データを各座標軸方向の成分ごとに正規化するとは、各座標軸方向(例えば、x軸、y軸、z軸方向)での部位間の寸法の関係性を維持したまま、形状データを変換することである。x軸方向を例に挙げると、例えば、形状データを原点に移動させた上で、形状データの各頂点のx座標の値を、形状データのx軸方向の座標の最大値で除算することで、x軸方向での部位間の寸法の関係性を維持したまま形状データを変換する。
【0026】
図1の例では、複数の形状データとして、過去に設計された3D形状データ11~18が表示されている。各3D形状データ11~18は、3次元空間上の各設計物の形状をあらわす。この場合、情報処理装置101は、例えば、各3D形状データ11~18を、各座標軸方向の成分ごとに正規化して単位形状データを作成する。
【0027】
(2)情報処理装置101は、作成したそれぞれの形状データの単位形状データに基づいて、複数の形状データを分類する。具体的には、例えば、情報処理装置101は、それぞれの形状データの単位形状データ間の類似度を算出する。単位形状データ間の類似度の算出には、既存のいかなる技術を用いることにしてもよい。
【0028】
例えば、単位形状データ間の類似度は、単位形状データを複数の方向から撮像した画像を単位形状データ間で比較した結果から算出することにしてもよい。そして、情報処理装置101は、算出した類似度が閾値以上となる単位形状データの組み合わせに対応する形状データ同士が同一グループとなるように、複数の形状データを分類する。
【0029】
すなわち、情報処理装置101は、各形状データの単位形状データを比較して、単位形状データが類似する形状データ同士を、同一グループに分類する。正規化された単位形状データをもとに分類することで、同じ形状や相似な形状だけでなく、寸法が一部異なる形状(例えば、垂直と水平方向の寸法は同じで、奥行の寸法が異なる)についても、同一グループに分類する。
【0030】
図1の例では、ターゲットの3D形状データ20が指定され、3D形状データ11~18の中から、ターゲットの3D形状データ20の類似図形として、3D形状データ16~18が、同一グループ30に分類された場合を想定する。3D形状データ16~18は、ターゲットの3D形状データ20との間で、単位3D形状データ同士の類似度が閾値以上となる3D形状データの集合である。
【0031】
なお、ここでは、ターゲットの3D形状データ20を指定する場合を例に挙げて説明したが、これに限らない。例えば、情報処理装置101は、各単位3D形状データ間の類似度が閾値以上となる単位3D形状データ群を特定し、単位3D形状データ群のそれぞれの単位3D形状データに対応する3D形状データを、同一グループに分類することにしてもよい。
【0032】
(3)情報処理装置101は、分類したグループ内の各形状データの部位の寸法に基づいて、グループ内の形状データの異なる部位間の寸法の関係性を特定する。ここで、形状データの部位とは、形状データがあらわす一部分の形状である。部位は、例えば、辺である。部位の寸法は、例えば、辺の長さである。
【0033】
同一グループに分類された各形状データは、単位形状データ同士が類似しており(正規化した形状が略一致)、互いに対応する部位をそれぞれ有している。例えば、グループ30内の3D形状データ16の各頂点、各辺は、グループ30内の他の3D形状データ17,18の各頂点、各辺に対応している。
【0034】
情報処理装置101は、グループ内の各形状データの部位の寸法をもとに、回帰分析等の手法により、ある部位と他の部位との関係を導出する。具体的には、例えば、情報処理装置101は、各形状データ内の複数の部位のうちのいずれかの部位を目的変数とし、他の部位を説明変数として、異なる部位間の寸法の関係性を示す関係式を作成する。
【0035】
図1の例では、同一グループに分類された3D形状データ16~18の各辺の寸法をもとに作成された関係式の一つとして、3D形状データ18内の辺l
1と辺l
2との間の寸法の関係性を示す関係式「l
1=a・l
2+b」が示されている(a、bは係数)。この関係式「l
1=a・l
2+b」は、3D形状データ18の単位3D形状データで分類される3D形状のパラメトリックモデルの一つである。
【0036】
なお、3D形状データの各辺は、その3D形状データの単位3D形状データの各辺に対応している。例えば、3D形状データ18内の辺l1と辺l2は、3D形状データ18の単位3D形状データ内のいずれかの辺に対応している。関係式に含まれる各変数(パラメータ)が、単位形状データ内のどの辺に対応しているかは特定可能である。
【0037】
(4)情報処理装置101は、グループ内の形状データの単位形状データと対応付けて、特定した形状データの異なる部位間の寸法の関係性を示す情報を出力する。具体的には、例えば、情報処理装置101は、対象物に関する新規設計に利用する形状データとして、部位間の寸法の関係式が付与された単位形状データを出力することにしてもよい。
【0038】
図1の例では、3D形状データ18を例に挙げると、3D形状データ18内の異なる部位間の寸法の関係式(例えば、関係式「l
1=a・l
2+b」)が付与された、単位3D形状データ18’’が出力される。単位3D形状データ18’’は、3D形状データ18の単位3D形状データである。
【0039】
このように、情報処理装置101によれば、単位形状データで分類される形状のパラメトリックモデル(部位間の寸法の関係性)を構築することができる。これにより、パラメトリック設計を可能にして、設計にかかる工数を削減することができる。例えば、新規設計時に、単位形状データをもとに、パラメトリックモデルに従って、各部位の寸法を設定することで、設計データを容易に生成することができる(パラメトリック設計)。
【0040】
図1の例では、部位間の寸法の関係式(例えば、関係式「l
1=a・l
2+b」)が付与された単位3D形状データ18’’をもとに、対象物に関する設計を行うことができる。例えば、新規設計を行う際に設計者が設計要件(例えば、詳細な寸法)を指定することで、単位3D形状データ18’’をもとに、関係式を満たすように各部位の寸法を変換することで、設計意図に応じた設計データを生成することができる。
【0041】
(情報処理システム200のシステム構成例)
つぎに、情報処理装置101を含む情報処理システム200のシステム構成例について説明する。以下の説明では、形状データとして「3D(3次元)形状データ」を例に挙げて説明する。情報処理システム200は、例えば、製品や建築物に関する3D形状の設計を支援するコンピュータシステムに適用される。
【0042】
図2は、情報処理システム200のシステム構成例を示す説明図である。
図2において、情報処理システム200は、情報処理装置101と、クライアント装置201とを含む。情報処理システム200において、情報処理装置101およびクライアント装置201は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、インターネット、LAN、WAN(Wide Area Network)などである。
【0043】
ここで、情報処理装置101は、3D形状DB(Database)220および標準形状DB230を有する。情報処理装置101は、例えば、サーバである。3D形状DB220は、過去に設計された3D形状データを記憶するデータベースである。標準形状DB230は、標準形状データを記憶するデータベースである。3D形状DB220および標準形状DB230の記憶内容については、
図4および
図5を用いて後述する。
【0044】
クライアント装置201は、ユーザが使用するコンピュータである。クライアント装置201は、例えば、PC(Personal Computer)、タブレットPCなどである。ユーザは、例えば、対象物の設計を行う設計者である。
【0045】
なお、
図2の例では、クライアント装置201を1台のみ表記したが、これに限らない。例えば、情報処理システム200には、複数のクライアント装置201が含まれていてもよい。また、情報処理装置101は、クライアント装置201と別体に設けることにしたが、これに限らない。例えば、情報処理装置101は、クライアント装置201により実現されることにしてもよい。
【0046】
(情報処理装置101のハードウェア構成例)
図3は、情報処理装置101のハードウェア構成例を示すブロック図である。
図3において、情報処理装置101は、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、可搬型記録媒体I/F306と、可搬型記録媒体307と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
【0047】
ここで、CPU301は、情報処理装置101の全体の制御を司る。CPU301は、複数のコアを有していてもよい。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOS(Operating System)のプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
【0048】
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【0049】
通信I/F305は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部のコンピュータ(例えば、
図2に示したクライアント装置201)に接続される。そして、通信I/F305は、ネットワーク210と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F305には、例えば、モデムやLANアダプタなどを採用することができる。
【0050】
可搬型記録媒体I/F306は、CPU301の制御に従って可搬型記録媒体307に対するデータのリード/ライトを制御する。可搬型記録媒体307は、可搬型記録媒体I/F306の制御で書き込まれたデータを記憶する。可搬型記録媒体307としては、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどが挙げられる。
【0051】
なお、情報処理装置101は、上述した構成部のうち、例えば、ディスクドライブ303、ディスク304、可搬型記録媒体I/F306、可搬型記録媒体307を有していなくてもよい。また、情報処理装置101は、上述した構成部のほかに、例えば、ディスプレイ、入力装置などを有することにしてもよい。また、
図2に示したクライアント装置201についても、情報処理装置101と同様のハードウェア構成により実現することができる。
【0052】
(各種DB220,230の記憶内容)
つぎに、
図4および
図5を用いて、情報処理装置101が有する各種DB220,230の記憶内容について説明する。各種DB220,230は、例えば、
図3に示したメモリ302、ディスク304などの記憶装置により実現される。
【0053】
図4は、3D形状DB220の記憶内容の一例を示す説明図である。
図4において、3D形状DB220は、idおよび3D形状データのフィールドを有し、各フィールドに情報を設定することで、3D形状管理情報(例えば、3D形状管理情報400-1~400-3)をレコードとして記憶する。
【0054】
ここで、idは、3D形状データを一意に識別する識別子である。3D形状データは、過去に設計された3D形状データである。ここでは説明の便宜上、各3D形状データを「D1,D2,D3,…」と表記している。例えば、3D形状管理情報400-1は、id「1」の3D形状データD1を示す。
【0055】
図5は、標準形状DB230の記憶内容の一例を示す説明図(その1)である。
図5において、標準形状DB230は、id、標準形状データ、関係式および類似形状リストのフィールドを有し、各フィールドに情報を設定することで、標準形状管理情報(例えば、標準形状管理情報500-1,500-2)をレコードとして記憶する。
【0056】
ここで、idは、標準形状データの作成元である3D形状データのidである。標準形状データは、標準形状データとして登録された単位3D形状データである。関係式は、標準形状データの作成元である3D形状データ内の異なる部位(例えば、辺)間の寸法の関係性を示す数式である。
【0057】
ここでは、Re##は、それぞれ異なる数式を示している(##は数字)。各数式は、例えば、3D形状データ内の異なる辺間の寸法の関係性を示している。類似形状リストは、標準形状データ(単位3D形状データ)をもとに同一グループに分類された3D形状データのidをリスト化したものである。
【0058】
例えば、標準形状管理情報500-1は、id「1」の3D形状データD1に対応する標準形状データD1’’、関係式{Re11,Re12,…}および類似形状リスト{1,7,18,21,33}を示す。なお、標準形状データ(単位形状データ)における各部位をあらわす変数は、関係式における変数と対応している。すなわち、標準形状データ(単位形状データ)内のどの部位が、関係式におけるどの変数に対応しているか特定可能である。
【0059】
(情報処理装置101の機能的構成例)
図6は、情報処理装置101の機能的構成例を示すブロック図である。
図6において、情報処理装置101は、受付部601と、作成部602と、分類部603と、特定部604と、検索部605と、生成部606と、出力部607と、記憶部610と、を含む。受付部601~出力部607は制御部となる機能であり、具体的には、例えば、
図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。また、記憶部610は、例えば、メモリ302、ディスク304などの記憶装置により実現される。具体的には、例えば、記憶部610は、
図4に示した3D形状DB220や、
図5に示した標準形状DB230を記憶する。
【0060】
受付部601は、ターゲットの3D形状データの指定を受け付ける。ターゲットの3D形状データは、例えば、対象物についての設計意図を指定するための3D形状データであり、3D形状DB220に記憶された3D形状データの中から指定される。また、ターゲットの3D形状データは、対象物についての基本設計(大まかな寸法で設計したもの)を終えた状態の3D形状データであってもよい。
【0061】
具体的には、例えば、受付部601は、クライアント装置201から、3D形状DB220に記憶されたいずれかの3D形状データのidの指定を受け付けることにより、ターゲットの3D形状データの指定を受け付ける。また、受付部601は、クライアント装置201から、ターゲットの3D形状データそのものを受信することにしてもよい。
【0062】
作成部602は、複数の3D形状データそれぞれの3D形状データを、各座標軸方向の成分ごとに正規化して単位3D形状データを作成する。具体的には、例えば、作成部602は、それぞれの3D形状データの各特徴点の座標から各座標軸方向の最小値を抽出する。特徴点は、例えば、設計物の頂点、穴の中心点などである。
【0063】
そして、作成部602は、各特徴点の座標の各値から、抽出した各座標軸方向の最小値を減算する。つぎに、作成部602は、減算後の各特徴点の座標から各座標軸方向の最大値を抽出する。そして、作成部602は、減算後の各特徴点の座標の各値を、抽出した各座標軸方向の最大値で除算することにより、それぞれの3D形状データの単位3D形状データを作成する。
【0064】
ここで、
図7を用いて、単位3D形状データの作成例について説明する。以下の説明では、複数の3D形状データのうち任意の3D形状データを「3D形状データDi」と表記する場合がある(ただし、iは、1以上の自然数)。
【0065】
図7は、単位3D形状データの作成例を示す説明図である。
図7において、3D形状データDi(
図7中、実線)の各頂点jの座標をP
ij(x
ij,y
ij,z
ij)とする(j=1,2,…,J)。ここでは、3D形状データDiが「直方体」である場合を例に挙げて説明する。また、3D形状データDiの特徴点を「頂点」とする。
【0066】
まず、作成部602は、3D形状データDiの各頂点jの座標から各座標軸方向の最小値を抽出する。そして、作成部602は、各頂点jの座標P
ijの各値から、抽出した各座標軸方向の最小値を減算することにより、3D形状データDiを平行移動する。ここで得られる新たな3D形状データ(
図7中、一点鎖線)を「Di’」とし、各頂点の座標をP
ij’(x
ij’,y
ij’,z
ij’)とする。
【0067】
xij’,yij’,zij’は、下記式(1)~(3)によってあらわされる。ただし、「i,j,J∈自然数」とし、「xij,yij,zij>0」とする。
【0068】
xij’=xij-Min([xi1,xi2,…,xiJ]) ・・・(1)
yij’=yij-Min([yi1,yi2,…,yiJ]) ・・・(2)
zij’=zij-Min([zi1,zi2,…,ziJ]) ・・・(3)
【0069】
つぎに、作成部602は、各頂点の座標P
ij’から各座標軸方向の最大値を抽出する。そして、作成部602は、各頂点の座標P
ij’の各値を、抽出した各座標軸方向の最大値で除算して、正規化した単位3D形状データを作成する。ここで得られる単位D形状データ(
図7中、点線)を「Di’’」とし、各頂点の座標をP
ij’’(x
ij’’,y
ij’’,z
ij’’)とする。
【0070】
xij’’,yij’’,zij’’は、下記式(4)~(6)によってあらわされる。
【0071】
xij’’=xij’/Max([xi1’,xi2’,…,xiJ’]) ・・・(4)
yij’’=yij’/Max([yi1’,yi2’,…,yiJ’]) ・・・(5)
zij’’=zij’/Max([zi1’,zi2’,…,ziJ’]) ・・・(6)
【0072】
図6の説明に戻り、分類部603は、作成されたそれぞれの3D形状データの単位3D形状データに基づいて、複数の3D形状データを分類する。具体的には、例えば、分類部603は、それぞれの3D形状データの単位3D形状データ間の類似度を算出する。つぎに、分類部603は、算出した類似度が閾値以上となる単位3D形状データの組み合わせを特定する。
【0073】
そして、分類部603は、特定した単位3D形状データの組み合わせに含まれる単位3D形状データそれぞれに対応する3D形状データ同士が同一グループとなるように、複数の3D形状データを分類する。閾値は、任意に設定可能である。例えば、閾値は、類似度が閾値以上であれば、単位3D形状データ同士が一致すると判断できる程度の値に設定される。
【0074】
より詳細に説明すると、例えば、分類部603は、指定されたターゲットの3D形状データの単位3D形状データと、3D形状DB220内の各3D形状データの単位3D形状データとを比較して、単位3D形状データ間の類似度を算出する。例えば、分類部603は、複数の方向から各単位3D形状データを撮像した画像を、単位3D形状データ間で比較して、画像間の類似度を算出する。そして、分類部603は、算出した画像間の類似度を累積することにより、単位3D形状データ間の類似度を算出する。
【0075】
そして、分類部603は、算出した類似度が閾値以上となる単位3D形状データの組み合わせに対応する3D形状データを同一グループに分類する。これにより、ターゲットの3D形状データと単位3D形状データが類似する3D形状データを3D形状DB220から抽出することができる。
【0076】
ここで、
図8を用いて、3D形状データの分類例について説明する。
【0077】
図8は、3D形状データの分類例を示す説明図である。
図8において、3D形状データD11~D15が表示されている。3D形状データD11は、ターゲットの3D形状データである。3D形状データD12は、ターゲットの3D形状データD11と向きが異なる3D形状データである。
【0078】
3D形状データD13は、ターゲットの3D形状データD11と相似関係にある3D形状データである。3D形状データD14,D15は、ターゲットの3D形状データD11と一部長さが異なる3D形状データである。
図8中、3D形状データD11内のl
1~l
18は、3D形状データD11内の辺を示している。また、各3D形状データD11~D15内の数値は、各辺の寸法を示している。
【0079】
ここで、各3D形状データD11~D15を、
図7で説明したように、各座標軸方向の成分ごとに正規化すると、同じ形状の単位3D形状データ800(3D形状データD11’’~D15’’に相当)がそれぞれ作成される。この場合、3D形状データD11~D15は、同一グループに分類される。
【0080】
このように、単位3D形状データをもとに類似性を判断することで、各座標軸方向での辺の比率が同じもの同士で分類することが可能となり、ターゲットと同一な形状や相似な形状だけでなく、一部長さが異なる形状も同一グループに分類することができる。
【0081】
図6の説明に戻り、特定部604は、分類されたグループ内の各3D形状データの部位の寸法に基づいて、グループ内の3D形状データの異なる部位間の寸法の関係性を特定する。ここで、3D形状データの部位とは、3D形状データがあらわす設計物の部位であり、例えば、辺や穴などの設計物の特徴をあらわす部位である。また、部位の寸法は、例えば、辺の長さや穴の直径などである。
【0082】
具体的には、例えば、特定部604は、グループ内の各3D形状データ内の部位ごとに、当該部位の各3D形状データにおける寸法を要素とするベクトルを作成する。そして、特定部604は、各3D形状データ内の複数の部位のうちのいずれかの部位を目的変数とし、他の部位を説明変数として、作成した部位ごとのベクトルに基づいて、異なる部位間の寸法の関係性を示す関係式を作成する。異なる部位間の寸法の関係性は、例えば、線形回帰分析、非線形回帰分析、ニューラルネットワークを用いた機械学習等の手法により構築することができる。
【0083】
また、特定部604は、各3D形状データ内の複数の部位のうち、作成したベクトルの要素の分散が相対的に高い部位を目的変数とすることにしてもよい。これにより、グループ内の3D形状データ間で寸法が変わらないような部位を目的変数から除外して、関係式を構築することができる。なお、変数間の相関係数を求め、相関が相対的に低い変数を除外することにしてもよい。
【0084】
また、特定部604は、各3D形状データ内の複数の部位のうち、目的変数に対して寄与率が相対的に高い部位を説明変数とすることにしてもよい。寄与率(決定係数)は、説明変数が目的変数のどれくらいを説明できるかをあらわす値である。より詳細に説明すると、例えば、特定部604は、関係式を構築する際に、ステップワイズ法により、目的変数に対して寄与率が高い変数を説明変数として選択する。
【0085】
ここで、
図9Aおよび
図9Bを用いて、3D形状データ内の異なる部位間の寸法の関係性を示す関係式の構築例について説明する。
【0086】
図9Aは、3D形状データの一例を示す説明図である。
図9Bは、部位間の寸法の関係性を示す関係式の構築例を示す説明図である。ここでは、単位3D形状データをもとに同一グループGaに分類された3D形状データを「3D形状データDG
1~DG
M」とする。Mは、グループGa内の3D形状データの総数である。
【0087】
図9Aにおいて、3D形状データDG
iは、3D形状データDG
1~DG
Mのうちのいずれかの3D形状データである(i=1,2,…,M)。3D形状データDG
i内のl
i1~l
i18は、3D形状データDG
i内の辺(部位)を示している。
【0088】
まず、特定部604は、グループGaに分類された各3D形状データDG
1~DG
Mの単位3D形状データについて、x軸、y軸、z軸の方向を一致させて向きを揃える。つぎに、特定部604は、向きを揃えた単位3D形状データに基づき、グループGa内の各3D形状データDG
1~DG
Mの向きを揃えて、同一の部位となる頂点や寸法の整合性をとることにより、
図9Bに示すような各部位(ここでは、辺)の寸法表900を作成する。
【0089】
図9Bにおいて、寸法表900は、各3D形状データDG
1~DG
Mにおける各辺l
i1~l
iNの寸法を示す。ただし、l
ijは、3D形状データDG
iのj番目の辺を示す。Nは、3D形状データDG
iの辺の数を示す。
図9Aに示した3D形状データDG
iの例では、「N=18」である。
【0090】
つぎに、特定部604は、作成した寸法表900を参照して、各辺間の寸法の関係性を回帰分析等により関係式を導出する。例えば、特定部604は、3D形状データDGi内の各辺について、当該各辺の各3D形状データDG1~DGMにおける寸法を要素とする列ベクトルv(例えば、v1,v2,…)を作成する。
【0091】
そして、特定部604は、変数v[v1,v2,…,vN]を用いて、各辺間の寸法の関係性を示す関係式を求める。例えば、特定部604は、変数vを目的変数yと説明変数xに分けて、回帰モデルを構築する。例えば、vNを目的変数yとし、残りの変数を説明変数xkとして回帰モデルを構築すると、下記式(7)のようにあらわされる。ただし、β0,β1,β2,…は、回帰母数である。
【0092】
【0093】
図9Aに示した3D形状データDG
iの場合、下記式(8)~(12)の関係式(回帰モデル)が得られる。なお、ここでは、上面と下面が同形状のため、v7~v12の関係は省略している。
【0094】
【0095】
これにより、3D形状データDGiの単位3D形状データDGi’’で分類される形状(3D形状データDG1~DGM)のパラメトリックモデル(上記式(8)~(12))を生成することができる。
【0096】
図6の説明に戻り、出力部607は、分類されたグループ内の形状データの単位形状データと対応付けて、特定された部位間の寸法の関係性を示す情報を出力する。出力部607の出力形式としては、例えば、メモリ302、ディスク304などの記憶装置への記憶、通信I/F305による他のコンピュータ(例えば、
図2に示したクライアント装置201)への送信、不図示のディスプレイへの表示などがある。
【0097】
具体的には、例えば、出力部607は、グループ内の3D形状データの単位3D形状データと対応付けて、特定された部位間の寸法の関係性を示す情報を記憶部610に記憶することにしてもよい。部位間の寸法の関係性を示す情報は、例えば、上記式(8)~(12)のような関係式である。
【0098】
より詳細に説明すると、例えば、出力部607は、グループ内の3D形状データの単位3D形状データを標準形状データとして、特定されたグループ内の3D形状データの武威間の寸法の関係性を示す関係式と対応付けて、
図5に示した標準形状DB230に記憶することにしてもよい。この際、出力部607は、標準形状データ(単位3D形状データ)をもとに同一グループに分類された3D形状データを特定可能な情報、例えば、類似形状リストを、標準形状DB230にあわせて記憶することにしてもよい。
【0099】
これにより、単位3D形状データとともに、単位3D形状データで分類される3D形状のパラメトリックモデル(関係式)を知識として蓄積することができる。
【0100】
また、作成部602は、指定されたターゲットの3D形状データを、各座標軸方向の成分ごとに正規化して、ターゲットの単位3D形状データを作成する。
【0101】
検索部605は、記憶部610を参照して、作成されたターゲットの単位3D形状データと類似する第1の単位3D形状データを検索する。具体的には、例えば、検索部605は、標準形状DB230を参照して、ターゲットの単位3D形状データと標準形状データとの類似度を算出する。そして、検索部605は、算出した類似度が閾値以上となる標準形状データを検索する。
【0102】
出力部607は、検索された第1の単位3D形状データと、第1の単位3D形状データと対応付けて記憶部610に記憶された異なる部位間の寸法の関係性を示す情報を出力する。具体的には、例えば、出力部607は、検索された標準形状データと、当該標準形状データと対応付けて標準形状DB230に記憶されている関係式とを出力する。
【0103】
標準形状データと関係式の出力先は、例えば、クライアント装置201である。これにより、設計者は、新規設計を行う際に、標準形状データをもとに、関係式(パラメトリックな関係)に従って対象物の設計を行うことができる。
【0104】
また、受付部601は、対象物に関する設計要件の指定を受け付ける。ここで、対象物に関する設計要件は、対象物を設計する際に満たすべき条件を示すものであり、例えば、特定の部位の寸法を示す。
【0105】
生成部606は、検索された第1の単位3D形状データと、指定された設計要件とに基づいて、第1の単位3D形状データと対応付けて記憶部610に記憶された異なる部位間の寸法の関係性を示す情報に従って、対象物に関する設計データを生成する。この場合、出力部607は、生成された対象物に関する設計データを出力する。
【0106】
具体的には、例えば、生成部606は、検索された標準形状データと、指定された設計要件とに基づいて、当該標準形状データと対応付けて標準形状DB230に記憶されている関係式に従って、対象物に関する設計データを生成する。
【0107】
これにより、例えば、設計者が標準形状データの特定の辺の寸法を指定すると、関係式に従って、その辺と寸法の関係性を有する他の辺の寸法が自動で変更され、対象物に関する設計データを自動生成することができる。なお、関係式に反した設計要件が指定された場合は、例えば、要件違反としてエラーとなる。
【0108】
また、記憶部610には、グループ内の3D形状データの単位3D形状データと対応付けて、当該グループ内の3D形状データが記憶されることにしてもよい。この場合、出力部607は、検索された第1の単位形状データと対応付けて記憶部610に記憶された、グループ内の3D形状データを出力することにしてもよい。
【0109】
具体的には、例えば、まず、出力部607は、検索された標準形状データと対応付けて標準形状DB230に記憶されている類似形状リストを特定する。つぎに、出力部607は、3D形状DB220から、特定した類似形状リストに含まれるidの3D形状データを抽出する。そして、出力部607は、抽出した3D形状データを出力する。
【0110】
これにより、設計者は、新規設計を行う際に、例えば、単位3D形状データをもとにターゲットと同一グループに分類された、過去に設計された3D形状データを流用して、対象物の設計を行うことができる。
【0111】
また、出力部607は、検索された第1の単位形状データと対応付けて記憶部610に記憶された、グループ内の3D形状データと、異なる部位間の寸法の関係性を示す情報とを出力することにしてもよい。具体的には、例えば、まず、出力部607は、検索された標準形状データと対応付けて標準形状DB230に記憶されている類似形状リストを特定する。
【0112】
つぎに、出力部607は、3D形状DB220から、特定した類似形状リストに含まれるidの3D形状データを抽出する。そして、出力部607は、抽出した3D形状データと、検索された標準形状データと対応付けて標準形状DB230に記憶されている関係式とを出力する。
【0113】
これにより、設計者は、新規設計を行う際に、過去に設計された3D形状データをもとに、関係式(パラメトリックな関係)に従って対象物の設計を行うことができる。また、例えば、設計者が、過去に設計された3D形状データのある辺の寸法を指定すると、関係式に従って、その辺と寸法の関係性を有する他の辺の寸法が自動で変更され、対象物に関する設計データを自動生成することができる。
【0114】
なお、上述した説明では、標準形状DB230には、同一グループに分類された3D形状データごとの単位3D形状データが記憶されることにしたが、これに限らない。例えば、標準形状DB230には、同一グループに分類されたいずれかの3D形状データの単位3D形状データのみが標準形状データとして登録されることにしてもよい。
【0115】
ここで、
図10を用いて、同一グループに分類されたいずれかの3D形状データの単位3D形状データのみを標準形状データとして登録する場合の標準形状DB230の記憶内容について説明する。
【0116】
図10は、標準形状DB230の記憶内容の一例を示す説明図(その2)である。
図10において、標準形状DB230は、sid、標準形状データ、関係式および類似形状リストのフィールドを有し、各フィールドに情報を設定することで、標準形状管理情報(例えば、標準形状管理情報1000-1,1000-2)をレコードとして記憶する。
【0117】
ここで、sidは、標準形状データを一意に識別する識別子である。標準形状データは、標準形状データとして登録された単位3D形状データである。標準形状データは、単位3D形状データをもとに同一グループに分類されたいずれかの3D形状データの単位3D形状データである。
【0118】
関係式は、標準形状データ(単位3D形状データ)の作成元である3D形状データ内の異なる部位間の寸法の関係性を示す数式である。類似形状リストは、標準形状データ(単位3D形状データ)をもとに同一グループに分類された3D形状データのidをリスト化したものである。
【0119】
例えば、標準形状管理情報1000-1は、sid「1」の標準形状データSD1、関係式{Re11,Re12,…}および類似形状リスト{1,7,18,21,33}を示す。このように、標準形状データとして、同一グループに分類されたいずれかの3D形状データの単位3D形状データのみを登録することで、
図5に示した場合に比べて、標準形状DB230の記憶量を抑えることができる。
【0120】
(情報処理装置101の各種処理手順)
つぎに、
図11~
図17を用いて、情報処理装置101の各種処理手順について説明する。まず、
図11を用いて、情報処理装置101の事前準備処理手順について説明する。
【0121】
図11は、情報処理装置101の事前準備処理手順の一例を示すフローチャートである。
図11のフローチャートにおいて、まず、情報処理装置101は、3D形状DB220を参照して、選択されていない未選択の3D形状データを選択する(ステップS1101)。
【0122】
つぎに、情報処理装置101は、選択した3D形状データについての単位形状作成処理を実行する(ステップS1102)。単位形状作成処理の具体的な処理手順については、
図12を用いて後述する。そして、情報処理装置101は、3D形状DB220を参照して、選択されていない未選択の3D形状データがあるか否かを判断する(ステップS1103)。
【0123】
ここで、未選択の3D形状データがある場合(ステップS1103:Yes)、情報処理装置101は、ステップS1101に戻る。一方、未選択の3D形状データがない場合(ステップS1103:No)、情報処理装置101は、本フローチャートによる一連の処理を終了する。
【0124】
これにより、事前準備として、3D形状DB220に登録されている各3D形状データの単位3D形状データを作成することができる。なお、作成された単位3D形状データは、例えば、作成元の3D形状データと対応付けて、3D形状DB220に保持されることにしてもよい。
【0125】
つぎに、
図12を用いて、
図11に示したステップS1102の単位形状作成処理の具体的な処理手順について説明する。
【0126】
図12は、単位形状作成処理の具体的処理手順の一例を示すフローチャートである。
図12のフローチャートにおいて、まず、情報処理装置101は、3D形状データの各頂点の座標から各座標軸方向の最小値を抽出する(ステップS1201)。そして、情報処理装置101は、各頂点の座標の各値から、抽出した各座標軸方向の最小値を減算して、3D形状データを平行移動する(ステップS1202)。
【0127】
つぎに、情報処理装置101は、平行移動後の3D形状データの各頂点の座標から各座標軸方向の最大値を抽出する(ステップS1203)。そして、情報処理装置101は、平行移動後の3D形状データの各頂点の座標の各値を、抽出した各座標軸方向の最大値で除算して、単位3D形状データを作成し(ステップS1204)、単位形状作成処理を呼び出したステップに戻る。
【0128】
これにより、各座標軸方向での部位間の寸法の関係性を維持したまま、3D形状データを正規化することができる。
【0129】
つぎに、
図13を用いて、情報処理装置101の標準形状登録処理手順について説明する。標準形状登録処理は、対象物の設計を行う前に、標準形状DB230に標準形状データを事前登録するための処理である。
【0130】
図13は、情報処理装置101の標準形状登録処理手順の一例を示すフローチャートである。
図13のフローチャートにおいて、まず、情報処理装置101は、ターゲット形状の指定を受け付けたか否かを判断する(ステップS1301)。ここで指定されるターゲット形状は、3D形状DB220に登録されている3D形状データを分類するために指定される3D形状データであり、例えば、3D形状DB220から指定される。
【0131】
ここで、情報処理装置101は、ターゲット形状の指定を受け付けるのを待つ(ステップS1301:No)。そして、情報処理装置101は、ターゲット形状の指定を受け付けた場合(ステップS1301:Yes)、ターゲット形状についての単位形状作成処理を実行する(ステップS1302)。
【0132】
なお、ターゲット形状についての単位形状作成処理の具体的な処理手順については、
図12に示した処理手順と同様のため、図示および説明を省略する。ターゲット形状の単位3D形状データが既に作成済みの場合は、情報処理装置101は、ステップS1302をスキップすることにしてもよい。
【0133】
つぎに、情報処理装置101は、作成した単位3D形状データに基づいて、複数の3D形状データを分類する形状分類処理を実行する(ステップS1303)。形状分類処理の具体的な処理手順については、
図14を用いて後述する。
【0134】
つぎに、情報処理装置101は、分類したグループ内の3D形状データの異なる部位間の寸法の関係式を構築する関係式構築処理を実行する(ステップS1304)。関係式構築処理の具体的な処理手順については、
図15を用いて後述する。
【0135】
そして、情報処理装置101は、グループ内の各3D形状データの単位3D形状データをそれぞれ標準形状データとして、標準形状データと、構築した関係式と、類似形状リストとを対応付けて、標準形状DB230に登録して(ステップS1305)、本フローチャートによる一連の処理を終了する。
【0136】
これにより、標準形状データ(単位3D形状データ)とともに、標準形状データで分類される3D形状のパラメトリックモデル(関係式)をDB化することができる。
【0137】
つぎに、
図14を用いて、
図13に示したステップS1303の形状分類処理の具体的な処理手順について説明する。ここでは、
図13に示したステップS1302において作成されたターゲット形状の単位3D形状データを「単位ターゲット形状」と表記する。
【0138】
図14は、形状分類処理の具体的処理手順の一例を示すフローチャートである。
図14のフローチャートにおいて、まず、情報処理装置101は、3D形状DB220内の各3D形状データの単位3D形状データのうち選択されていない未選択の単位3D形状データを選択する(ステップS1401)。
【0139】
そして、情報処理装置101は、選択した単位3D形状データと、作成した単位ターゲット形状との類似度を算出する(ステップS1402)。つぎに、情報処理装置101は、3D形状DB220内の各3D形状データの単位3D形状データのうち選択されていない未選択の単位3D形状データがあるか否かを判断する(ステップS1403)。
【0140】
ここで、未選択の単位3D形状データがある場合(ステップS1403:Yes)、情報処理装置101は、ステップS1401に戻る。一方、未選択の単位3D形状データがない場合(ステップS1403:No)、算出した類似度が閾値以上の単位3D形状データを特定する(ステップS1404)。
【0141】
つぎに、情報処理装置101は、3D形状DB220から、特定した単位3D形状データに対応する3D形状データを抽出する(ステップS1405)。そして、情報処理装置101は、抽出した3D形状データを同一グループに分類して(ステップS1406)、形状分類処理を呼び出したステップに戻る。
【0142】
これにより、ターゲットの3D形状データと単位3D形状データが類似する3D形状データを同一グループに分類することができる。
【0143】
つぎに、
図15を用いて、
図13に示したステップS1304の関係式構築処理の具体的な処理手順について説明する。
【0144】
図15は、関係式構築処理の具体的処理手順の一例を示すフローチャートである。
図15のフローチャートにおいて、まず、情報処理装置101は、ステップS1303において分類されたグループ内の3D形状データについて、x軸、y軸、z軸の方向を一致させて向きを揃える(ステップS1501)。
【0145】
つぎに、情報処理装置101は、グループ内の3D形状データの各部位の寸法表を作成する(ステップS1502)。そして、情報処理装置101は、作成した各部位の寸法表を参照して、各部位について、各3D形状データにおける寸法を要素とする列ベクトルを作成する(ステップS1503)。
【0146】
つぎに、情報処理装置101は、作成した各部位の列ベクトルを変数として、最も分散の高い変数を選択する(ステップS1504)。そして、情報処理装置101は、選択した変数の分散が所定の閾値以下か否かを判断する(ステップS1505)。所定の閾値は、任意に設定可能である。
【0147】
ここで、分散が所定の閾値以下の場合(ステップS1505:Yes)、情報処理装置101は、関係式構築処理を呼び出したステップに戻る。
【0148】
一方、分散が所定の閾値より大きい場合(ステップS1505:No)、情報処理装置101は、選択した変数を目的変数に設定する(ステップS1506)。つぎに、情報処理装置101は、ステップワイズ法により目的変数に対して寄与率の高い変数を説明変数に設定する(ステップS1507)。
【0149】
そして、情報処理装置101は、作成した列ベクトルに基づく回帰分析により、3D形状データの異なる部位間の寸法の関係式を作成する(ステップS1508)。つぎに、情報処理装置101は、選択されていない未選択の変数があるか否かを判断する(ステップS1509)。
【0150】
ここで、未選択の変数がある場合(ステップS1509:Yes)、情報処理装置101は、ステップS1503に戻る。一方、未選択の変数がない場合(ステップS1509:No)、情報処理装置101は、関係式構築処理を呼び出したステップに戻る。
【0151】
これにより、同一グループに分類された3D形状データの異なる部位間の寸法の関係性を示す関係式を構築することができる。
【0152】
つぎに、
図16を用いて、情報処理装置101の第1の設計処理手順について説明する。第1の設計処理は、対象物と似た形状を持つターゲットの3D形状データを指定して、対象物の設計データを生成する処理である。
【0153】
図16は、情報処理装置101の第1の設計処理手順の一例を示すフローチャートである。
図16のフローチャートにおいて、まず、情報処理装置101は、ターゲット形状の指定を受け付けたか否かを判断する(ステップS1601)。ここで指定されるターゲット形状は、対象物と似た形状を持つ3D形状データであり、例えば、3D形状DB220から指定される。
【0154】
ここで、情報処理装置101は、ターゲット形状の指定を受け付けるのを待つ(ステップS1601:No)。そして、情報処理装置101は、ターゲット形状の指定を受け付けた場合(ステップS1601:Yes)、ターゲット形状についての単位形状作成処理を実行する(ステップS1602)。
【0155】
なお、ターゲット形状についての単位形状作成処理の具体的な処理手順については、
図12に示した処理手順と同様のため、図示および説明を省略する。ターゲット形状の単位3D形状データが既に作成済みの場合は、情報処理装置101は、ステップS1602をスキップすることにしてもよい。
【0156】
つぎに、情報処理装置101は、標準形状DB230から、ターゲット形状の単位3D形状データと類似する標準形状データを検索する(ステップS1603)。そして、情報処理装置101は、類似する標準形状データが検索されたか否かを判断する(ステップS1604)。
【0157】
ここで、標準形状データが検索されなかった場合(ステップS1604:No)、情報処理装置101は、複数の3D形状データを分類する形状分類処理を実行する(ステップS1605)。つぎに、情報処理装置101は、分類したグループ内の3D形状データの異なる部位間の寸法の関係式を構築する関係式構築処理を実行して(ステップS1606)、ステップS1607に移行する。
【0158】
なお、ステップS1605の形状分類処理の具体的な処理手順については、
図14に示した処理手順と同様のため、図示および説明を省略する。また、ステップS1606の関係式構築処理の具体的な処理手順については、
図15に示した処理手順と同様のため、図示および説明を省略する。
【0159】
また、ステップS1604において、標準形状データが検索された場合(ステップS1604:Yes)、情報処理装置101は、検索された標準形状データと、当該標準形状データに対応する関係式を出力する(ステップS1607)。なお、ステップS1606で関係式が構築された場合、情報処理装置101は、グループ内のいずれかの3D形状データの単位3D形状データを標準形状データとして出力する。
【0160】
つぎに、情報処理装置101は、出力した標準形状データ内の特定の部位の寸法の入力を受け付けたか否かを判断する(ステップS1608)。標準形状データ内の特定の部位は、標準形状データの作成元の3D形状データの特定の部位に対応している。特定の部位の寸法は、対象物に関する設計要件に相当する。
【0161】
ここで、情報処理装置101は、特定の部位の寸法の入力を受け付けるのを待つ(ステップS1608:No)。情報処理装置101は、特定の部位の寸法の入力を受け付けた場合(ステップS1608:Yes)、入力された特定の部位の寸法に基づいて、関係式に従って、標準形状データを変換して、対象物に関する設計データを生成する(ステップS1609)。
【0162】
そして、情報処理装置101は、生成した設計データを出力して(ステップS1610)、本フローチャートによる一連の処理を終了する。なお、ステップS1607において、情報処理装置101は、標準形状データで分類された3D形状データを出力することにしてもよい。
【0163】
これにより、設計者は、新規設計を行う際に、ターゲット形状と特定の部位の寸法を指定することで、標準形状データをもとに、関係式(パラメトリックな関係)に従って対象物に関する設計データを自動生成することができる。
【0164】
つぎに、
図17を用いて、情報処理装置101の第2の設計処理手順について説明する。第2の設計処理は、標準部品(標準形状データ)により構成されるアセンブリを用いて、対象物の設計データを生成する処理である。
【0165】
図17は、情報処理装置101の第2の設計処理手順の一例を示すフローチャートである。
図17のフローチャートにおいて、まず、情報処理装置101は、構造物の設計要件の入力を受け付けたか否かを判断する(ステップS1701)。構造物の設計要件は、例えば、設計対象である構造物の寸法(例えば、構造物を構成する標準部品の特定の部位の寸法)や、部品間の拘束条件を特定する情報を含む。部品間の拘束条件は、例えば、部品間で連動して寸法が変化する部位などを示す。
【0166】
ここで、情報処理装置101は、構造物の設計要件の入力を受け付けるのを待つ(ステップS1701:No)。情報処理装置101は、構造物の設計要件の入力を受け付けた場合(ステップS1701:Yes)、標準形状DB230から、構造物を構成する標準部品に対応する標準形状データを抽出する(ステップS1702)。
【0167】
つぎに、情報処理装置101は、構造物の設計要件に基づいて、抽出した各標準形状データに対応する関係式に従って、各標準形状データを変換して、構造物に関する設計データを生成する(ステップS1703)。そして、情報処理装置101は、生成した設計データを出力して(ステップS1704)、本フローチャートによる一連の処理を終了する。
【0168】
これにより、標準部品(標準形状データ)により構成されたアセンブリを用いて、対象物の設計データを自動生成することができる。
【0169】
ここで、
図18を用いて、標準部品により構成されたアセンブリを用いた対象物の設計データの生成例について説明する。
【0170】
図18は、設計データの生成例を示す説明図である。
図18において、構造物Aは、標準部品a-stdと、標準部品b-stdと、標準部品c-stdと、標準部品d-stdとから構成されるアセンブリである。この場合、情報処理装置101は、構造物Aの設計要件が入力されると、標準形状DB230から、構造物Aを構成する標準部品a-std,b-std,c-std,d-stdに対応する標準形状データを抽出する。
【0171】
つぎに、情報処理装置101は、構造物Aの設計要件に基づいて、抽出した各標準形状データに対応する関係式(パラメトリックモデル)に従って、各標準形状データを変換して、各部品a,b,c,dの3D形状データを生成する。そして、情報処理装置101は、生成した各部品a,b,c,dの3D形状データに基づいて、構造物Aに関する設計データを生成する。
【0172】
以上説明したように、実施の形態にかかる情報処理装置101によれば、複数の3D形状データそれぞれの3D形状データを、各座標軸方向の成分ごとに正規化して単位3D形状データを作成し、作成したそれぞれの3D形状データの単位3D形状データに基づいて、複数の3D形状データを分類することができる。また、情報処理装置101によれば、分類したグループ内の各3D形状データの部位の寸法に基づいて、グループ内の3D形状データの異なる部位間の寸法の関係性を特定し、グループ内の形状データの単位形状データと対応付けて、特定した部位間の寸法の関係性を示す情報を出力することができる。
【0173】
これにより、単位3D形状データで分類される3D形状のパラメトリックモデル(部位間の寸法の関係性)を構築することができる。このため、例えば、単位3D形状データをもとに、パラメトリックモデルに従って、設計意図に応じた設計データを容易に生成することができる。
【0174】
また、情報処理装置101によれば、それぞれの3D形状データの各特徴点の座標から各座標軸方向の最小値を抽出し、各特徴点の座標の各値から、抽出した各座標軸方向の最小値を減算することができる。そして、情報処理装置101によれば、減算後の各特徴点の座標から各座標軸方向の最大値を抽出し、減算後の各特徴点の座標の各値を、抽出した各座標軸方向の最大値で除算することにより、それぞれの3D形状データの単位3D形状データを作成することができる。
【0175】
これにより、3D形状データを平行移動させ、各座標軸方向での部位間の寸法の関係性を維持したまま正規化することができる。このため、各座標軸方向の比率が同じもので3D形状データを分類して、パラメトリックモデルを構築することができる。例えば、同じ形状や相似な形状だけでなく、寸法が一部異なる形状についても、同一グループに分類することができ、人間の感性に近いグループ分けを行って、新規設計時の汎用性を向上させることができる。
【0176】
また、情報処理装置101によれば、それぞれの3D形状データの単位3D形状データ間の類似度を算出し、算出した類似度が閾値以上となる単位3D形状データの組み合わせに対応する3D形状データ同士が同一グループとなるように、複数の3D形状データを分類することができる。
【0177】
これにより、過去に設計された3D形状データのうち、正規化した単位形状データが似ているもの同士を同一グループに分類することができる。
【0178】
また、情報処理装置101によれば、各3D形状データ内の部位ごとに、当該部位の各3D形状データにおける寸法を要素とするベクトルを作成し、各3D形状データ内の複数の部位のうちのいずれかの部位を目的変数とし、他の部位を説明変数として、作成した部位ごとのベクトルに基づいて、部位間の寸法の関係性を示す関係式を作成することができる。
【0179】
これにより、回帰分析等の統計的手法により、3D形状データのある部位の寸法を、他の部位の寸法をあらわすパラメータを用いて表現する関係式を導出することができる。
【0180】
また、情報処理装置101によれば、各3D形状データ内の複数の部位のうち、作成したベクトルの要素の分散が相対的に高い部位を目的変数とすることができる。
【0181】
これにより、グループ内の3D形状データ間で寸法が変わらないような部位を目的変数から除外して、関係式を構築することができる。
【0182】
また、情報処理装置101によれば、グループ内の3D形状データの単位3D形状データと対応付けて、特定した部位間の寸法の関係性を示す情報を記憶部610(例えば、標準形状DB230)に記憶することができる。
【0183】
これにより、単位3D形状データとともに、単位3D形状データで分類される3D形状のパラメトリックモデル(関係式)をDB化することができる。
【0184】
また、情報処理装置101によれば、ターゲットの3D形状データの指定を受け付け、指定されたターゲットの3D形状データを、各座標軸方向の成分ごとに正規化してターゲットの単位3D形状データを作成し、記憶部610を参照して、作成したターゲットの単位3D形状データと類似する第1の単位3D形状データを検索し、検索した第1の単位3D形状データと、当該第1の単位3D形状データと対応付けて記憶部610に記憶された部位間の寸法の関係性を示す情報を出力することができる。
【0185】
これにより、ターゲットの3D形状データと単位3D形状データが類似する3D形状データの各部位の寸法をもとに構築されたパラメトリックモデルが付与された単位形状データを、標準形状データとして提供することができる。例えば、設計者は、新規設計を行う際に、設計要件(例えば、特定の部位の寸法)を指定することで、標準形状データをもとに、パラメトリックモデルに従って、対象物に関する設計データを自動生成(パラメトリック設計)することが可能となる。
【0186】
また、情報処理装置101によれば、グループ内の3D形状データの単位3D形状データと対応付けて、当該3D形状データをさらに記憶部610に記憶し、検索した第1の単位3D形状データと対応付けて記憶部610に記憶された形状データを出力することができる。
【0187】
これにより、ターゲットの3D形状データと単位3D形状データが類似する過去の3D形状データを提供することができる。例えば、設計者は、新規設計を行う際に、ターゲットの3D形状データと単位3D形状データが類似する過去の3D形状データを利用して、対象物の設計を行うことができる。
【0188】
また、情報処理装置101によれば、検索した第1の単位3D形状データと対応付けて記憶部610(3D形状DB220、標準形状DB230)に記憶された形状データと部位間の寸法の関係性を示す情報を出力することができる。
【0189】
これにより、ターゲットの3D形状データと単位3D形状データが類似する過去の3D形状データを、パラメトリックモデルとともに提供することができる。例えば、設計者は、新規設計を行う際に、設計要件(例えば、特定の部位の寸法)を指定することで、過去の3D形状データをもとに、パラメトリックモデルに従って、対象物に関する設計データを自動生成することが可能となる。
【0190】
これらのことから、情報処理装置101によれば、パラメトリックモデル(部位間の寸法の関係式)が付与された標準形状データを利用して、対象物に関する新規設計を行うことができる。これにより、3D形状の設計にかかる工数を削減することができる。また、新規設計時に、パラメトリックモデルに従って、各部位の寸法を変更することで、設計ミスを減らすことができる。また、新規設計時に利用する標準形状データを、単位3D形状データをもとに検索することで、設計意図に応じた標準形状データを容易に検索することができる。
【0191】
なお、本実施の形態で説明した形状データ出力方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本形状データ出力プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本形状データ出力プログラムは、インターネット等のネットワークを介して配布してもよい。
【0192】
また、本実施の形態で説明した情報処理装置101は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。
【0193】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0194】
(付記1)複数の形状データそれぞれの形状データを、各座標軸方向の成分ごとに正規化して単位形状データを作成し、
作成した前記それぞれの形状データの単位形状データに基づいて、前記複数の形状データを分類し、
分類したグループ内の各形状データの部位の寸法に基づいて、前記グループ内の形状データの異なる部位間の寸法の関係性を特定し、
前記グループ内の形状データの単位形状データと対応付けて、特定した前記寸法の関係性を示す情報を出力する、
処理をコンピュータに実行させることを特徴とする形状データ出力プログラム。
【0195】
(付記2)前記作成する処理は、
前記それぞれの形状データの各特徴点の座標から各座標軸方向の最小値を抽出し、
前記各特徴点の座標の各値から、抽出した前記各座標軸方向の最小値を減算し、
減算後の前記各特徴点の座標から各座標軸方向の最大値を抽出し、
減算後の前記各特徴点の座標の各値を、抽出した前記各座標軸方向の最大値で除算することにより、前記それぞれの形状データの単位形状データを作成する、
ことを特徴とする付記1に記載の形状データ出力プログラム。
【0196】
(付記3)前記分類する処理は、
前記それぞれの形状データの単位形状データ間の類似度を算出し、
算出した前記類似度が閾値以上となる単位形状データの組み合わせに対応する形状データ同士が同一グループとなるように、前記複数の形状データを分類する、
ことを特徴とする付記1または2に記載の形状データ出力プログラム。
【0197】
(付記4)前記特定する処理は、
前記各形状データ内の部位ごとに、当該部位の前記各形状データにおける寸法を要素とするベクトルを作成し、
前記各形状データ内の複数の部位のうちのいずれかの部位を目的変数とし、他の部位を説明変数として、作成した前記部位ごとのベクトルに基づいて、前記寸法の関係性を示す関係式を作成する、
ことを特徴とする付記1~3のいずれか一つに記載の形状データ出力プログラム。
【0198】
(付記5)前記各形状データ内の複数の部位のうち、作成した前記ベクトルの要素の分散が相対的に高い部位を目的変数とする、ことを特徴とする付記4に記載の形状データ出力プログラム。
【0199】
(付記6)前記各形状データ内の複数の部位のうち、前記目的変数に対して寄与率が相対的に高い部位を説明変数とする、ことを特徴とする付記4または5に記載の形状データ出力プログラム。
【0200】
(付記7)前記出力する処理は、
前記グループ内の形状データの単位形状データと対応付けて、特定した前記寸法の関係性を示す情報を記憶部に記憶する、ことを特徴とする付記1~6のいずれか一つに記載の形状データ出力プログラム。
【0201】
(付記8)ターゲットの形状データの指定を受け付け、
指定された前記ターゲットの形状データを、各座標軸方向の成分ごとに正規化して前記ターゲットの単位形状データを作成し、
前記記憶部を参照して、作成した前記ターゲットの単位形状データと類似する第1の単位形状データを検索し、
検索した前記第1の単位形状データと、当該第1の単位形状データと対応付けて前記記憶部に記憶された寸法の関係性を示す情報を出力する、
処理を前記コンピュータに実行させることを特徴とする付記7に記載の形状データ出力プログラム。
【0202】
(付記9)前記記憶部は、前記グループ内の形状データの単位形状データと対応付けて、当該形状データをさらに記憶しており、
前記出力する処理は、
検索した前記第1の単位形状データと対応付けて前記記憶部に記憶された形状データを出力する、ことを特徴とする付記8に記載の形状データ出力プログラム。
【0203】
(付記10)前記出力する処理は、
検索した前記第1の単位形状データと対応付けて前記記憶部に記憶された形状データと寸法の関係性を示す情報とを出力する、ことを特徴とする付記9に記載の形状データ出力プログラム。
【0204】
(付記11)複数の形状データそれぞれの形状データを、各座標軸方向の成分ごとに正規化して単位形状データを作成し、
作成した前記それぞれの形状データの単位形状データに基づいて、前記複数の形状データを分類し、
分類したグループ内の各形状データの部位の寸法に基づいて、前記グループ内の形状データの異なる部位間の寸法の関係性を特定し、
前記グループ内の形状データの単位形状データと対応付けて、特定した前記寸法の関係性を示す情報を出力する、
処理をコンピュータが実行することを特徴とする形状データ出力方法。
【0205】
(付記12)複数の形状データそれぞれの形状データを、各座標軸方向の成分ごとに正規化して単位形状データを作成し、
作成した前記それぞれの形状データの単位形状データに基づいて、前記複数の形状データを分類し、
分類したグループ内の各形状データの部位の寸法に基づいて、前記グループ内の形状データの異なる部位間の寸法の関係性を特定し、
前記グループ内の形状データの単位形状データと対応付けて、特定した前記寸法の関係性を示す情報を出力する、
処理を実行する制御部を含むことを特徴とする情報処理装置。
【符号の説明】
【0206】
101 情報処理装置
200 情報処理システム
201 クライアント装置
210 ネットワーク
220 3D形状DB
230 標準形状DB
300 バス
301 CPU
302 メモリ
303 ディスクドライブ
304 ディスク
305 通信I/F
306 可搬型記録媒体I/F
307 可搬型記録媒体
601 受付部
602 作成部
603 分類部
604 特定部
605 検索部
606 生成部
607 出力部
610 記憶部
900 寸法表