IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ インテグラル・テクノロジー株式会社の特許一覧

特許7530073形状データ処理装置、形状データ処理方法及び形状データ処理プログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-30
(45)【発行日】2024-08-07
(54)【発明の名称】形状データ処理装置、形状データ処理方法及び形状データ処理プログラム
(51)【国際特許分類】
   G06F 30/10 20200101AFI20240731BHJP
【FI】
G06F30/10 100
【請求項の数】 13
(21)【出願番号】P 2022558723
(86)(22)【出願日】2020-10-29
(86)【国際出願番号】 JP2020040708
(87)【国際公開番号】W WO2022091311
(87)【国際公開日】2022-05-05
【審査請求日】2023-04-14
(73)【特許権者】
【識別番号】507240370
【氏名又は名称】インテグラル・テクノロジー株式会社
(74)【代理人】
【識別番号】110000947
【氏名又は名称】弁理士法人あーく事務所
(72)【発明者】
【氏名】西浦 光一
【審査官】松浦 功
(56)【参考文献】
【文献】国際公開第2017/175349(WO,A1)
【文献】特開2018-032059(JP,A)
【文献】米国特許第09741126(US,B1)
【文献】谷口健男 外1名,3次元体表面上の点群を用いた形状生成と要素分割,応用数理 [online],2005年12月,Vol. 15, No. 4,pp. 310-319,[検索日 2024.02.27],インターネット,URL:https://www.jstage.jst.go.jp/article/bjsiam/15/4/15_KJ00003983536/_article/-char/ja/
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00 -30/28
G06T 7/00 - 7/90
G06T 11/00 -19/20
G06V 10/00 -20/90
(57)【特許請求の範囲】
【請求項1】
表面を複数の面に区分された対象物の形状を特定する形状特定手段を備え、
前記形状特定手段は、
前記対象物における前記複数の面に対応する区分情報と、前記複数の面の形状のそれぞれに対応する複数の形状識別情報及び前記複数の面の各点に隣接する線間の線角度を合計した点角度を含む形状特定用データと、が関連付けられて登録されたデータベースから、前記区分情報に対する前記形状識別情報及び前記点角度を含む前記形状特定用データを読み出し、
読み出した前記形状特定用データに基づいて前記対象物の形状を特定することを特徴とする形状データ処理装置。
【請求項2】
請求項1に記載の形状データ処理装置であって、
前記形状特定手段は、前記形状特定用データに基づいて前記面の形状を特定することを特徴とする形状データ処理装置。
【請求項3】
請求項2に記載の形状データ処理装置であって、
前記形状特定手段にて特定した形状の前記面に対してメッシュを生成するメッシュ生成手段をさらに備え、
前記データベースには、個々の前記面に対してメッシュを生成するためのメッシュ生成用データが前記面毎に登録されており、
前記メッシュ生成手段は、前記メッシュ生成用データに基づいて前記面に対してメッシュを生成することを特徴とする形状データ処理装置。
【請求項4】
請求項3に記載の形状データ処理装置であって、
前記データベースには、前記対象物の各種の形状の登録面の前記形状識別情報及び前記点角度を含む前記形状特定用データが予め登録されており、
前記メッシュ生成手段は、前記データベースに予め登録されている前記各種の形状の登録面の前記形状識別情報及び前記点角度を含む前記形状特定用データに基づいて特定した面の中から、前記形状特定手段にて特定した前記面の形状に最も近い形状の選択面を選択し、選択した前記選択面に対して前記メッシュを生成することを特徴とする形状データ処理装置。
【請求項5】
請求項3又は請求項4に記載の形状データ処理装置であって、
前記メッシュ生成用データは、前記複数の面の各点のうちの隣り合う2つの点と前記2つの点間の線とからなる作用子の前記メッシュとのメッシュ節点の数、前記メッシュで囲まれた区画の隣り合うメッシュ線の長さの比率、前記メッシュ線の長さを含み、
前記メッシュ節点の数は、前記対象物の各面毎の前記各作用子における前記メッシュ節点の数であることを特徴とする形状データ処理装置。
【請求項6】
請求項3から請求項5までの何れか1つに記載の形状データ処理装置であって、
前記メッシュ生成手段は、生成したメッシュの評価を行うことを特徴とする形状データ処理装置。
【請求項7】
形状データ処理装置が行う形状データ処理方法であって、
形状特定手段が、表面を複数の面に区分された対象物の形状を特定する形状特定ステップを含み、
前記形状特定ステップでは、
前記対象物における前記複数の面に対応する区分情報と、前記複数の面の形状のそれぞれに対応する複数の形状識別情報及び前記複数の面の各点に隣接する線間の線角度を合計した点角度を含む形状特定用データと、が関連付けられて登録されたデータベースから、前記区分情報に対する前記形状識別情報及び前記点角度を含む前記形状特定用データを読み出し、
読み出した前記形状特定用データに基づいて前記対象物の形状を特定することを特徴とする形状データ処理方法。
【請求項8】
請求項7に記載の形状データ処理方法であって、
前記形状特定ステップでは、前記形状特定用データに基づいて前記面の形状を特定することを特徴とする形状データ処理方法。
【請求項9】
請求項8に記載の形状データ処理方法であって、
形状特定手段が、前記形状特定ステップにて特定した形状の前記面に対してメッシュを生成するメッシュ生成ステップをさらに含み、
前記データベースには、個々の前記面に対してメッシュを生成するためのメッシュ生成用データが前記面毎に登録されており、
前記メッシュ生成ステップでは、前記メッシュ生成用データに基づいて前記面に対してメッシュを生成することを特徴とする形状データ処理方法。
【請求項10】
請求項9に記載の形状データ処理方法であって、
前記データベースには、前記対象物の各種の形状の登録面の前記形状識別情報及び前記点角度を含む前記形状特定用データが予め登録されており、
前記メッシュ生成ステップでは、前記データベースに予め登録されている前記各種の形状の登録面の前記形状識別情報及び前記点角度を含む前記形状特定用データに基づいて特定した面の中から、前記形状特定ステップにて特定した前記面の形状に最も近い形状の選択面を選択し、選択した前記選択面に対して前記メッシュを生成することを特徴とする形状データ処理方法。
【請求項11】
請求項9又は請求項10に記載の形状データ処理方法であって、
前記メッシュ生成用データは、前記複数の面の各点のうちの隣り合う2つの点と前記2つの点間の線とからなる作用子の前記メッシュとのメッシュ節点の数、前記メッシュで囲まれた区画の隣り合うメッシュ線の長さの比率、前記メッシュ線の長さを含み、
前記メッシュ節点の数は、前記対象物の各面毎の前記各作用子における前記メッシュ節点の数であることを特徴とする形状データ処理方法。
【請求項12】
請求項9から請求項11までの何れか1つに記載の形状データ処理方法であって、
前記メッシュ生成ステップでは、生成したメッシュの評価を行うことを特徴とする形状データ処理方法。
【請求項13】
請求項7から請求項12までの何れか1つに記載の形状データ処理方法の各ステップを、コンピュータに実行させるための形状データ処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、形状データ処理装置、形状データ処理方法及び形状データ処理プログラムに関する。
【背景技術】
【0002】
特許文献1には、構造解析等のCAE(Computer Aided Engineering:コンピュータ支援エンジニアリング)の技術分野において区分された対象物の表面形状を複数の記号(+,-,0)を用いて判定する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開第2017/175349号
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、CAD(Computer-Aided Design:コンピュータ支援設計)の技術分野においては、区分された対象物の表面形状の判定結果を利用して立体的な(3次元的な)対象物の形状を出力することが望まれている。また、近年、AI(人工知能)技術を利用して立体的な対象物の形状を判定する技術が注目されている。
【0005】
しかしながら、特許文献1の開示技術では、区分された対象物の表面形状がどこの区分のものでどのような形状のものであるかを特定できないため、CADの技術分野(特にAI技術)に利用することができていないのが実情である。
【0006】
そこで、本発明は、区分された対象物の表面形状がどこの区分のものでどのような形状のものであるかを特定することができ、これにより、CADの技術分野(特にAI技術)に利用することができる形状データ処理装置、形状データ処理方法及び形状データ処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明は、前記課題を解決するため、次の形状データ処理装置、形状データ処理方法及び形状データ処理プログラムを提供する。
【0008】
(1)形状データ処理装置
本発明に係る形状データ処理装置は、表面を複数の面に区分された対象物の形状を特定する形状特定手段を備え、前記形状特定手段は、前記対象物における前記複数の面に対応する区分情報と、前記複数の面の形状のそれぞれに対応する複数の形状識別情報及び前記複数の面の各点に隣接する線間の線角度を合計した点角度を含む形状特定用データと、が関連付けられて登録されたデータベースから、前記区分情報に対する前記形状識別情報及び前記点角度を含む前記形状特定用データを読み出し、読み出した前記形状特定用データに基づいて前記対象物の形状を特定することを特徴とする。
【0009】
(2)形状データ処理方法
本発明に係る形状データ処理方法は、形状データ処理装置が行う形状データ処理方法であって、形状特定手段が、表面を複数の面に区分された対象物の形状を特定する形状特定ステップを含み、前記形状特定ステップでは、前記対象物における前記複数の面に対応する区分情報と、前記複数の面の形状のそれぞれに対応する複数の形状識別情報及び前記複数の面の各点に隣接する線間の線角度を合計した点角度を含む形状特定用データと、が関連付けられて登録されたデータベースから、前記区分情報に対する前記形状識別情報及び前記点角度を含む前記形状特定用データを読み出し、読み出した前記形状特定用データに基づいて前記対象物の形状を特定することを特徴とする。
【0010】
(3)形状データ処理プログラム
本発明に係る形状データ処理プログラムは、前記本発明に係る形状データ処理方法の各ステップを、コンピュータに実行させるためのものである。
【発明の効果】
【0011】
本発明によると、区分された対象物の表面形状がどこの区分のものでどのような形状のものであるかを特定することができ、これにより、CADの技術分野(特にAI技術)に利用することが可能となる。
【図面の簡単な説明】
【0012】
図1図1は、形状データ処理装置のハードウェア構成の一例を示すブロック図である。
図2図2は、形状データ処理装置の処理手順の一例を示すフローチャートである。
図3図3は、対象物の一部の区分情報の面の一例を示す説明図である。
図4図4は、形状データ処理装置による対象物の判定処理の説明図である。
図5図5は、形状データ処理装置による対象物の判定処理の説明図である。
図6図6は、形状データ処理装置による対象物の判定処理の説明図である。
図7図7は、形状データ処理装置による対象物の判定処理の手順を示すフローチャートである。
図8図8は、判定処理を解析構造物の具体的な形状部分に当てはめたときの処理結果を示す説明図である。
図9図9は、判定処理を解析構造物の具体的な形状部分に当てはめたときの処理結果を示す説明図である。
図10図10は、判定処理を解析構造物の具体的な形状部分に当てはめたときの処理結果を示す説明図である。
図11図11は、判定処理を解析構造物の具体的な形状部分に当てはめたときの処理結果を示す説明図である。
図12図12は、解析構造物を六面体メッシュに分割する場合の簡単な例を示した説明図である。
図13図13は、複数の面の各点に隣接する線間の線角度及び点角度を概念的に説明する説明図である。
図14A図14Aは、データベースにおいて図13に示す対象物の一部の形状特定用データのデータ構造の一例を概略的に示すデータ構造図である。
図14B図14Bは、図14Aに示す形状特定用データを加工した形状特定用データのデータ構造の一例を概略的に示すデータ構造図である。
図15図15は、母材に設けられた対象物として6面体のリブの一例を示す斜視図である。
図16図16は、母材に設けられた対象物として互いに大きさが異なる2つの6面体を接合したリブの一例を示す斜視図である。
図17図17は、母材に設けられた対象物として2つの6面体を直交させるように接合したリブの一例を示す斜視図である。
図18A図18Aは、母材に設けられた対象物として円筒のリブの一例を示す斜視図である。
図18B図18Bは、母材に設けられた対象物として円筒のリブの他の例を示す斜視図である。
図19A図19Aは、母材に設けられた対象物として台座の穴の一例を示す斜視図である。
図19B図19Bは、母材に設けられた対象物として台座の穴の他の例を示す斜視図である。
図20図20は、母材に設けられた対象物として円筒と6面体とを接合したリブの一例を示す斜視図である。
図21図21は、母材に設けられた対象物として6面体の端部にL字状部材を接合したリブの一例を示す斜視図である。
図22図22は、対象物におけるフィレットの一例を示す斜視図である。
図23A図23Aは、対象物に設けられた四角形状の穴の一例を示す斜視図である。
図23B図23Bは、対象物に設けられた円形状の穴の一例を示す斜視図である。
図24図24は、母材に設けられた対象物として円筒と直角三角柱とを接合したリブの一例を示す斜視図である。
図25図25は、対象物の各面に形成されたメッシュの一例を示す斜視図である。
図26A図26Aは、データベースにおいて図25に示す対象物の一部の形状特定用データ、メッシュ生成用データ及びメッシュ評価用データのデータ構造の一例を概略的に示すデータ構造図である。
図26B図26Bは、図26Aに示す形状特定用データを加工した形状特定用データのデータ構造の一例を概略的に示すデータ構造図である。
図26C図26Cは、図26Aに示すメッシュ生成用データを加工したメッシュ生成用データのデータ構造の一例を概略的に示すデータ構造図である。
図26D図26Dは、第1メッシュ評価用データ及び第2メッシュ評価用データ並びに第3メッシュ評価用データのデータ構造の一例を概略的に示すデータ構造図である。
図27図27は、特定した形状の各面にメッシュを生成するメッシュ生成処理の制御動作の一例を示すフローチャートである。
図28A図28Aは、特定した形状の面に最も近い形状の選択面を示す斜視図である。
図28B図28Bは、選択した選択面にメッシュを生成した一例を示す斜視図である。
【発明を実施するための形態】
【0013】
以下、本発明に係る実施の形態について図面を参照しながら説明する。
【0014】
[形状データ処理装置のハードウェア構成]
先ず、本実施の形態に係る形状データ処理装置100のハードウェア構成について図1を参照しながら以下に説明する。
【0015】
図1は、形状データ処理装置100のハードウェア構成の一例を示すブロック図である。
【0016】
図1に示すように、形状データ処理装置100は、制御部110(コンピュータ)、記憶部120、読取部130及び出力部140を備えている。制御部110は、記憶部120の記録装置121に予め格納(インストール)された形状データ処理プログラムPを実行することによって、制御部110に必要な各種の機能を実現させるように構成されている。詳しくは、制御部110は、CPU等のプロセッサーで構成されている。制御部110は、記録装置121に予め格納された形状データ処理プログラムP等のソフトウェアプログラムをメモリ装置122のRAM122b上にロードして実行することにより、各種の処理を行う。記憶部120は、ROM122a、RAM122b等のメモリ装置122、及び、フラッシュメモリ、ハードディスク装置等の記録装置121を備えている。記録装置121には、読取部130から取得した形状データ処理プログラムPが予め格納される。形状データ処理プログラムPは、例えば、インターネット等の通信手段を介してダウンロードされる。出力部140は、液晶表示パネル等の表示装置141と、レーザープリンタ等の印刷装置142を備えている。表示装置141は、制御部110からの出力表示情報を表示画面に表示する。印刷装置142は、制御部110からの出力表示情報を印刷する。読取部130は、CD-ROM等の記録媒体Mを読み取る読取装置131を備えている。なお、形状データ処理プログラムPは、記録媒体Mに予め記録され、読取装置131にて読み取られるものであってもよい。記録媒体Mは、CD-ROM等の記録ディスクの他、他の各種の記録媒体であってもよい。
【0017】
[形状データ処理装置のソフトウェア構成]
次に、形状データ処理装置100のソフトウェア構成について図1を参照しながら以下に説明する。
【0018】
制御部110は、3次元CADデータ入力手段Q1と、形状認識手段Q2と、判定手段Q3と、取得手段Q4と、点角度算出手段Q5と、作用子検出手段Q6と、登録手段Q7と、形状特定手段Q8と、出力手段Q9とを備える手段として機能する。すなわち、形状データ処理プログラムPは、3次元CADデータ入力ステップと、形状認識ステップと、判定ステップと、取得ステップと、点角度算出ステップと、作用子検出ステップと、登録ステップと、形状特定ステップと、出力ステップとを含むステップを制御部110に実行させる。
【0019】
[形状データ処理装置の処理手順]
図2は、形状データ処理装置100の処理手順の一例を示すフローチャートである。
【0020】
形状データ処理装置100の処理手順の一例では、3次元CADデータ入力、形状認識、形状識別情報判定、特性情報取得、点角度算出、作用子検出、データベース登録、形状特定、情報出力の各処理を行う。
【0021】
(3次元CADデータ入力)
3次元CADデータ入力ステップでは、制御部110は、3次元CADで作成された対象物(製品)の形状データである3次元CADデータ(3次元CADモデル)が読取部130から入力される。
【0022】
(形状認識)
次に、形状認識ステップでは、制御部110は、3次元CADデータに基づいて形状を認識する。詳しくは、形状認識ステップは、主に3つのステップに分けることができる。
【0023】
第1ステップでは、3次元CADデータのそれぞれの面情報を取得する。最初に入力された3次元CADデータのそれぞれの面にフリーメッシュを作成し、特徴計算のためのデータベース(この例ではデータベースDB)を構築する。かかる特徴は、例えば、面の曲率、外周の曲率、外周長さ、外周上の固定点、対になる外周ペアの長さ比、外周の円形状、円筒形状、球面度、固定点の内角、面積、面内の法線方向角度差、サーフェス連続性、外周の接触角度、そして断面形状が含まれる。これらの特徴を計算するために、取得したジオメトリ形状の情報とともにメッシュデータを主に参照する。
【0024】
本明細書でいう「特徴」とは、例えば、
(1)「全体の形状」:穴の開いている捻じれた凹凸のある板
(2)「ドロービード」:平らな面に作る帯状の凹凸部分
(3)「フィレット」:尖った角を丸く削った部分
などの「形状」(又はそれを示す言葉)をいい、「シェープ」と称される。
【0025】
また、「特徴=形状」の「起点(頂点、端部を含む)」「切り替わる」部分(但し、3次元CADデータに表現されている「線」全てがそれに相当するわけではない。)は、「フィーチャー」と称される。
【0026】
第2ステップでは、取得した情報と特徴を元にそれぞれの面を分類分けする。データを取得し、それぞれの面の特徴を計算した後に、それぞれの面を5つの異なるタイプ(平面、フィレット、円筒、球、曲面)に分類する。各面を分類するためには、分類する面タイプによって特定の特徴を有するか確認する。例として、ある面をフィレットの面だとみなすためには、面の曲率、外周の曲率、外周長さ、面の幅、外周上の固定点、対になる外周ペアの長さ比、外周の円形状、固定点の内角、面積、サーフェスの連続性、外周の接触角度、そして断面形状を検査する。フィレット、円筒、球、そして曲面は全て最初の段階では曲面とみなす。その後異なる特徴からそれらを区別する。また、円筒と球とはフィレットになり得る。それらが特定の形で隣接面との連続性がある場合はフィレットとみなす。
【0027】
第3ステップでは、複数の面からなる複雑な部位の認識を行う。板形状モデル上の2Dの穴、ソリッドモデル上の3Dの孔、ザグリをはじめとした段付き孔、段差、エンボス、フランジ、フィレット流れ、面取り、角部フィレット、フィレット間の細い面、リブ、溝、ギヤの歯、ネジのような部位を認識するために、第2ステップで分類した面タイプとその他の情報を使用する。部位の認識を行うめに使用したその他の情報には、面タイプの組合せ、面同士の位置関係、部位の大きさ、複数の面で複合形状を形成した際の断面形状などがある。
【0028】
以上、3つのステップを経て認識された特定部位は、CADの情報、メッシュの領域情報、認識した際の形状データをまとめてシステム内部で保持され、ルールに従ったメッシュ作成の際に使用される。
【0029】
このとき、データベースDBにおいて、対象物の区分に対応する区分情報(例えば面番号や面記号)毎に特性情報等の形状データが関連付けられている。この例では、区分情報は、サーフェス(以下、面ということもある。)に対応するサーフェス記号及び/又は番号とされている。ここで、サーフェスとは、3次元CADデータにおいて対象物を構成する一単位を意味する。すなわち、サーフェスは、対象物における個々の形状の位置を把握するために、便宜上、対象物の表面をサーフェスで複数に区切ったものであり、複数のサーフェスのそれぞれには記号及び/又は番号が付与される。なお、データベースDBにおいて区分情報毎に関連付けられた特性情報等の形状データが予め登録されていてもよい。この場合、形状認識ステップを省略することができる。
【0030】
(形状識別情報判定)
判定ステップでは、制御部110は、表面を複数の面(サーフェス)に区分された対象物における複数の面の形状のそれぞれに対応する複数の形状識別情報(+1,-1,0)を判定する。
【0031】
図3は、対象物の一部の区分情報M12の面の一例を示す説明図である。図3に示す面は、後述する図8に示すリブ形状のリブの立ち上がり部分の根元である丸み肉厚部(フィレット)の区分情報M12の面を例示している。
【0032】
データベースDBには、各面の情報として、面積a1、各面の外形を構成するラインL1~L4及びライン数、それぞれのラインL1~L4の長さ、最大ライン長(この例ではL1(またはL3)の幅w)、相当ライン幅(=面積a1/最大のラインL1の長さd)の各情報が、それぞれの区分情報毎に登録されている。
【0033】
ここで、データベースDBに登録された一つの面を第1の区分情報の第1面(基準面)とし、これに隣接する他の面を第2の区分情報の第2面とすると、判定ステップは、第1の区分情報の面(基準面)の法線ベクトル(面外ベクトル)と、第1の区分情報の面と第2の区分情報の面とが接する接線方向のベクトルとにより外積ベクトルを求める外積演算ステップと、求めた外積ベクトルと第2の区分情報の面の法線ベクトル(面外ベクトル)との内積を求める内積演算ステップと、内積演算ステップの演算結果に基づいて第1の区分情報の面に対する第2の区分情報の面の表面形状を判定する判定ステップとを含んでいる。
【0034】
次に、上記構成の判定ステップによる判定処理について、図4から図6に示す説明図及び図7に示すフローチャートを参照しながら以下に説明する。
【0035】
図4から図6は、形状データ処理装置100による対象物の判定処理の説明図である。また、図7は、形状データ処理装置100による対象物の判定処理の手順を示すフローチャートである。
【0036】
外積演算ステップでは、データベースDBに登録された一つの面を第1の区分情報M1の面(基準面)とし、これに隣接する他の区分情報の面を第2の区分情報M2の面として、外積演算を行う(ST1)。ここで、第1の区分情報M1の面(基準面)は、基本的に平面である。外積演算ステップでは、図4から図6に示すように、第1の区分情報M1の面(基準面)の法線ベクトル(面外ベクトル)Rと、第1の区分情報M1の面と第2の区分情報M2の面とが接する接線方向のベクトルSとにより外積ベクトルVを求める。
【0037】
次に、内積演算ステップでは、外積演算ステップで求めた外積ベクトルVと第2の区分情報M2の面の法線ベクトル(面外ベクトル)Tとの内積を求め(ST2)、その演算結果を判定ステップに入力する。
【0038】
判定ステップでは、入力された演算結果に基づいて第1の区分情報M1の面に対する第2の区分情報M2の面の表面形状を判定する。
【0039】
具体的には、演算結果がプラスの値であるか否かを判断し(ST3)、演算結果がプラスの値を示すときには(ST3:Yes)、第2の区分情報M2の面を凹面(図4参照)として形状識別情報(+1)を判定する(ST4)。一方、演算結果がプラスの値でない場合には(ST3:No)、演算結果がマイナスの値であるか否かを判断し(ST5)、演算結果がマイナスの値を示すときには(ST5:Yes)、第2の区分情報M2の面を凸面(図5参照)として形状識別情報(-1)を判定する(ST6)。また、演算結果がマイナスの値でない場合には(ステップST5:No)、演算結果が零の値であるか否かを判断し(ST7)、演算結果が零の値を示すときには(ST7:Yes)、第2の区分情報M2の面を第1の区分情報M1の面に連続する平面(図6参照)であるとして形状識別情報(0)を判定する(ST8)。なお、ST7でもNoと判断された場合には、エラー処理(ST10)を実行してST9に移行する。
【0040】
この後、全ての区分情報の面の処理を終了したか否かを確認し(ST9)、全ての区分情報の面の処理を終了していない場合には(ST9:Yes)、ST1に戻って処理を繰り返す。一方、全ての区分情報の面の処理を終了している場合には(ST9:No)、その時点で表面形状の判定処理を終了する。
【0041】
すなわち、本実施の形態では、上記内積演算の結果、隣り合う面が、基準面からみたときに面内に食い込む面は必ずマイナスの値となり、面外に広がる面は必ずプラスの値となることを利用している。
【0042】
図8から図11は、上記の判定処理を解析構造物の具体的な形状部分に当てはめたときの処理結果を例示している。
【0043】
図8は、リブ形状に上記の判定処理を当てはめた結果を示しており、リブの立ち上がり部分の根元である丸み肉厚部(フィレット)の面は、内積演算の結果がプラス(+)となり、リブの先端部(端部)の面では、内積演算の結果がマイナス(-)となっている。その結果、図8において、面(M11)は平面、面(M12)は凹面、面(M13)は平面、面(M14)は凸面、面(M15)は平面、面(M16)は凹面、面(M17)は平面に分類されることになる。
【0044】
また、図9は、端部の形状に上記の判定処理を当てはめた結果を示しており、端部の角部分の丸みを帯びた面は、内積演算の結果がマイナス(-)となっている。その結果、図9において、面(M21)は平面、面(M22)は凸面、面(M23)は平面、面(M24)は凸面、面(M25)は平面に分類されることになる。
【0045】
また、図10は、平面が続く形状に上記の判定処理を当てはめた結果を示している。平面が続く場合には、内積演算の結果も零(0)が続くことなる。その結果、図10において、面(M31)は平面、面(M32)は平面、面(M33)は平面、面(M34)は平面に分類されることになる。
【0046】
また、図11は、徐変している面(徐変面)を含む形状に上記の判定処理を当てはめた結果を示しており、徐変面は、内積演算の結果がプラス(+)とマイナス(-)となっている。その結果、図11において、面(M41)は平面、面(M42)は徐変面(この例では傾斜面)、面(M43)は平面に分類されることになる。
【0047】
このようにして分類された解析構造物(対象物)の各面の形状種別の情報は、その後の各種解析シミュレーションに利用される。
【0048】
すなわち、本実施の形態の表面形状判定処理によれば、区分された各面の表面形状を、演算結果の演算値のプラス、マイナス、零だけで判定できるので、表面判定処理を簡単かつ極めて高速に行うことが可能となる。
【0049】
なお、解析構造物の形状モデルとしては、上記のサーフェースモデル以外にも、ソリッドモデルやワイヤーモデル等の各種形状モデルに対しても、本実施の形態の表面形状判定処理を適用することが可能である。
【0050】
(実施の形態に係る表面形状判定処理の応用例の説明)
例えば図11に示す形状の場合、面(M41)と面(M42)との接続点e1(点)、及び面(M42)と面(M43)との接続点e2(点)からそれぞれ対向面に垂直に直線L11,L12を引くことで、各接続点e1,e2での距離(解析構造物の厚み)がわかる。従って、これらの情報を利用して、例えば徐変している面(M42)に対して、その真ん中に中立面(若しくはメッシュ)CF1を貼るといったことを容易に行うことができる。また、面(M41)の中立面(若しくはメッシュ)CF2をそのまま面(M42)及び面(M43)まで延長して貼るような場合でも、面(M41)から面(M43)までの解析構造物の形状を事前に特定する必要があるが、本実施の形態の表面形状判定処理を用いることで、このような形状特定を容易に行うことができる。
【0051】
また、図12は、解析構造物を六面体メッシュに分割する場合の簡単な例を示した説明図であり、基準面である面(M51)の法線ベクトルと、面(M51)と面(M52)とが接する接線方向のベクトルとにより外積ベクトルを求め、この外積ベクトルと面(M52)の法線ベクトルとの内積を求めると、その演算結果はプラスとなる。すなわち、面(M51)と面(M52)との接続部分は凹部であることがわかる。従って、この接続点e(点)から面(M52)に沿って下方向に〔すなわち、面(M54)と平行に〕カット線CL1を引くことで、解析構造物を左右2つの六面体メッシュに分割することができる。また、この接続点eから面(M51)に沿って左方向に〔すなわち、面(M53)に平行に〕カット線CL2を引くことで、解析構造物を上下2つの六面体メッシュに分割することができる。
【0052】
なお、図11及び図12で示した応用例はほんの一例であり、これらの応用例に限定されるものではない。
【0053】
(特性情報取得)
取得ステップでは、制御部110は、複数の面の形状にそれぞれ関係する複数の特性情報のうちの面の面積を取得する。ここで、特性情報は、形状認識ステップにて認識した特性情報或いは予め登録しておいた特性情報である。特性情報としては、例えば、面(サーフェス)の幅、長さ、面積、厚み、曲率、面(サーフェス)内で形状が切り替わる変曲点座標を挙げることができる。
【0054】
図13は、複数の面(M1,M2,M3,M4,M5,…)の各点A,B,…に隣接する線(K1-K2),(K2-K3),(K3-K1),(B1+B2+B3+B4),…間の線角度(A1,A2,A3),…及び点角度(A1+A2+A3),…を概念的に説明する説明図である。
【0055】
本発明者の知見によれば、図13に示すように、対象物N(解析構造物)は、複数の面(M1,M2,M3,M4,M5,…)に対して形状識別情報(+1、-1、0)と、点角度(A1+A2+A3),(B1+B2+B3+B4),…と、作用子(A,B,K1),…と、面積S1,S2,…とで表現される。
【0056】
ここで、形状識別情報(+1、-1、0)は、例えば、凹面(+)、凸面(-)、平面(0)である。点角度(A1+A2+A3),(B1+B2+B3+B4),…は、線角度(A1,A2,A3),(B1,B2,B3,B4),…を合計した角度である。線角度(A1,A2,A3),(B1,B2,B3,B4),…は、各点A,B,…に隣接する線〔(K1-K2),(K2-K3),(K3-K1)〕,〔(K1-K5),(K5-K4),(K4-K6),(K6-K1)〕,…間の角度である。点角度(A1+A2+A3),(B1+B2+B3+B4),…は、基本的には270度、360度、450度となり、大きいほど、複雑な線の入り込み方をしている。
【0057】
例えば、点Aの線角度A1,A2,A3は、それぞれ、90度、90度、90度であり、点角度(A1+A2+A3)は、線角度A1,A2,A3を合計した270度(=90度+90度+90度)である。点角度が270度である場合、角柱の先端部に存在することが多い。点Bの線角度B1,B2,B3,B4は、それぞれ、90度、135度、135度、90度であり、点角度(B1+B2+B3+B4)は、線角度B1,B2,B3,B4を合計した450度(=90度+135度+135度+90度)である。点角度が450度である場合、角柱の底部に存在することが多い。なお、点角度が360度である場合、円筒の底部若しくは端部、又は、円柱の底部若しくは端部に存在することが多い。
【0058】
また、作用子(A,B,K1),…は、各点A,B,…のうちの隣り合う2つの点(A,B),…と2つの点(A,B),…間の線K1,…とからなる。例えば、円柱の端部において、作用子の各点が同じ値となる場合が多い。
【0059】
例えば、作用子(B,E,K6),(A,F,K3)について、(点Bの点角度)=(点Eの点角度)、(点Aの点角度)=(点Fの点角度)のとき点Bと点Eとは同等の構造角を持つため、作用子(B,E、K6),(A,F,K3)間では特異的な構造は存在しないとして、その次の作用子候補(E,F,K8),(C,D,K7)を考える。
【0060】
(点角度算出)
点角度算出ステップでは、複数の面(M1,M2,M3,M4,M5,…)の各点A,B,…に隣接する線〔(K1-K2),(K2-K3),(K3-K1)〕,〔(K1-K5),(K5-K4),(K4-K6),(K6-K1)〕,…間の線角度(A1,A2,A3),(B1,B2,B3,B4),…を合計した点角度(A1+A2+A3),(B1+B2+B3+B4),…を算出する。
【0061】
(作用子検出)
作用子検出ステップでは、各点A,B,…のうちの隣り合う2つの点(A,B),…と2つの点(A,B),…間の線K1,…とからなる作用子(A,B,K1),…を検出する。
【0062】
(データベース登録)
図14Aは、データベースDBにおいて図13に示す対象物Nの一部の形状特定用データDT1のデータ構造の一例を概略的に示すデータ構造図である。
【0063】
登録ステップでは、制御部110は、複数の面に対応する区分情報M1,M2,…(例えば面番号や面記号)を形状識別情報及び点角度を含む形状特定用データDT1(この例では作用子、面の面積、厚み及び曲率のうち少なくとも1つ(具体的には全て)をさらに含む形状特定用データDT1)と関連付けてデータベースDBに登録する。
【0064】
登録ステップでは、制御部110は、各面の区分情報M1,M2,…に対して、形状識別情報(+1,-1,0)、点角度(例えば、270度,450度,450度,…)と関連付けてデータベースDBに登録することにより、以後に実施される形状特定ステップにおいて、これらのデータの組合せにより対象物Nの立体的な形状を特定することができる。また、制御部110は、各面の区分情報M1,M2,…に対して、各点A,B,…を含む作用子(A,B,K1),…、面積S1,S2,…(例えば、1000mm,…)とさらに関連付けてデータベースDBに登録することにより、対象物Nの形状を特定する特定精度を向上させることができる。
【0065】
ところで、隣接する面同士(M1,M2),(M1,M3),…の厚み(面に直交する方向の厚み)は、等しいことが多い。また、隣接する面同士(M1,M2),(M1,M3),…の曲率が等しいこともある。
【0066】
従って、登録ステップでは、区分情報M1,M2,…をさらに作用子(A,B,K1),…、毎の面の厚みh1,h2,…(例えば、20mm,…)及び/又は面の曲率(例えば、0,…)と関連付けてデータベースDBに登録してもよい。これにより、後述する形状特定ステップにおいて、一の面の厚みが隣接するべき他の面の厚みと等しいか否か、或いは/さらに、一の面の曲率が隣接するべき他の面の曲率と等しいか否かで、一の面に隣接する他の面の特定精度を向上させることができる。
【0067】
(形状特定)
形状特定ステップでは、制御部110は、データベースDBに保存した区分情報M1,M2,…毎の形状識別情報(+1,-1,0)、点角度、作用子、面の面積S1,S2,…、面の厚みh1,h2,…及び面の曲率のうち少なくとも形状識別情報(+1,-1,0)及び点角度をデータベースDBから読み出す。制御部110は、読み出した区分情報M1,M2,…毎の形状識別情報(+1,-1,0)、点角度、作用子、面の面積S1,S2,…、面の厚みh1,h2,…及び面の曲率のうち少なくとも形状識別情報(+1,-1,0)及び点角度から区分情報M1,M2,…を繋ぎ合わせて対象物Nの形状を特定する。例えば、形状識別情報(+1,-1,0)を基に、点A,D,F,H,…の点角度が270度であるため、通常は、角柱の先端部に存在することがわかる。点B,C,E,…の点角度が450度であるため、通常は、角柱の底部に存在することがわかる。また、点角度が360度である場合、通常は、円筒の底部又は端部、又は、円柱の底部又は端部に存在することがわかる。また、区分情報M1の面は、面積S1が1000mm、厚みh1が20mm、長さ50mm=1000mm/20mm)の平面(曲率0)で、区分情報M2,M3の面とは作用子(A,B,K1),(A,D,K2)において凸面(-1)で隣接し、区分情報M1,M2の面は、区分情報M4,M5の面とは作用子(B,C,K5),(B,E,K6)において凹面(+1)で隣接することがわかる。また、以下、全ての面について同様に認識処理することで、対象物Nの立体的な形状を特定することができる。
【0068】
図14Aに示す対象物Nの形状を特定するための形状特定用データDT1を用いて形状を特定するようにしてもよいが、データ処理し易いように、面(区分情報)単位で形状特定用データDT1を加工した形状特定用データDT1aを用いて対象物Nの立体的な形状を特定するようにしてもよい。
【0069】
図14Bは、図14Aに示す形状特定用データDT1を加工した形状特定用データDT1aのデータ構造の一例を概略的に示すデータ構造図である。
【0070】
図14Bに示す加工した形状特定用データDT1aにおいて、「点角度の数又は比率」のうち、「点角度の数」は、各面において同じ点角度の数を表しており、例えば、面(M1)では、270度の点角度の数が点Aの1個と点Dの1個とを合計した2個であり、450度の点角度の数が点Bの1個と点Cの1個とを合計した2個であることを表している。「比率」は、総数(例えば4個)に対する点角度の数の割合〔例えば、面(M1)の270度で2/4=50%、360度で0%、450度で2/4=50%〕を表している。
【0071】
「形状識別情報の数又は比率」のうち、「形状識別情報の数」は、各面において作用子に対する同じ形状識別情報の数を表しており、例えば、面(M1)では、凹面(+1)の数が作用子(点B、点C、線K5)の1個であり、凸面(-1)の数が作用子(点A、点B、線K1)の1個と作用子(点C、点D、線K7)の1個と作用子(点A、点D、線K2)の1個とを合計した3個であり、平面(0)の数が0個であることを表している。「比率」は、総数(例えば4個)に対する各作用子に対する形状識別情報の数の割合〔例えば、面(M1)では、凹面(+1)で1/4=25%、凸面(-1)で3/4=75%、平面(0)で0%〕を表している。
【0072】
また、「作用子に対する隣り合う点角度間の作用子の数又は比率」のうち、「隣り合う点角度間の作用子の数」は、各面において隣り合う点角度間の作用子の同じ組合せの数を表しており、例えば、面(M1)では、点Aの点角度270度と点Dの点角度270度との組合せ1個と、点Bの点角度450度と点Cの点角度450度との組合せ1個と、点Aの点角度270度と点Bの点角度450度との組合せ、及び、点Dの点角度270度と点Cの点角度450度との組合せを合計した2個とを表している。面(M2)では、点Aの点角度270度と点Fの点角度270度との組合せ1個と、点Bの点角度450度と点Eの点角度450度との組合せ1個と、点Aの点角度270度と点Bの点角度450度との組合せ、及び、点Fの点角度270度と点Eの点角度450度との組合せを合計した2個とを表している。また、面(M3)では、点Aの点角度270度と点Dの点角度270度との組合せ、点Dの点角度270度と点Hの点角度270度との組合せ、点Hの点角度270度と点Fの点角度270度との組合せ、及び、点Fの点角度270度と点Aの点角度270度との組合せを合計した4個を表している。「比率」は、総数(例えば4個)に対する隣り合う点角度間の作用子の数の割合〔例えば、面(M1)の270度-270度間で1/4=25%、360度-360度間で0%、450度-450度間で1/4=25%、270度-360度間で0%、270度-450度間で2/4=50%、360度-450度間で0%〕を表している。
【0073】
「厚み」は、各面(M1,M2,…)において作用子(A,B,K1),…毎の厚みh1,h2,…を平均した平均値又は各面(M1,M2,…)の中心の厚みである。なお、各面(M1,M2,…)の中心の厚みは、例えば、作用子(A,B,K1),…毎の厚みh1,h2,…の平均値を計算できない場合に用いることができる。
【0074】
「面の名称」としては、例えば、リブ面、リブ根本面、シリンダーリブ面、端部面、フィレット面、円柱面、母材面、一般面などを挙げることができる。
【0075】
このように面(区分情報)単位で加工した形状特定用データDT1aを用いることでも対象物Nの立体的な形状を特定することができる。
【0076】
具体的には、図15から図24に示すように特定することができる。
【0077】
<具体例1>
図15は、母材Iに設けられた対象物Nとして6面体のリブの一例を示す斜視図である。
【0078】
・論理的に形状を捉える場合
図15に示すように、作用子(A,B,K1),…について、点A,D,F,Hの点角度が何れも270度、点B,C,E,Gの点角度が何れも450度であれば、リブの可能性が非常に高い。
【0079】
一方、リブであれば、作用子(A,B,K1),…について、線K1-K2,K2-K3,…間の線角度は90度、線K5-K4,K4-K6,…間の線角度は135度であり、作用子(A,B,K1),(A,D,K2),…の形状識別情報は-1、作用子(B,C,K5),(B,E,K6),(G,C,K9),…の形状識別情報は+1、作用子(B,J,K4),…の形状識別情報は0である。
【0080】
・AIで捉える場合
例えば、作用子の形状識別情報、点角度等を色相、彩度、明度等の画像要素で表現した集合から立体的な形状を特定することできる。
【0081】
<具体例2>
図16は、母材Iに設けられた対象物Nとして互いに大きさが異なる2つの6面体を接合したリブの一例を示す斜視図である。
【0082】
・論理的に形状を捉える場合
図16に示すように、図15に示す例と同様、作用子(A,B,K1),…について、点A,D,F,Hの点角度が何れも270度、点B,C,E,Gの点角度が何れも450度であれば、リブの可能性が非常に高い。
【0083】
また、例えば、作用子(A,B,K1)において、点Eの点角度は450度であるのに、点X1の点角度は270度であれば、作用子(A,B,K1),(E,F,K8)で構成されるリブN1にリブ等の接合部材N2が接合されている可能性が高い。接合部材N2は、リブである場合、リブN1を母材I1とし、かつ、リブN1の母材Iを母材とするリブとなり、図16に示すように、点角度が450度の点X2,点X3が母材I1側に、点角度が450度の点X4,点X5が母材I側に位置する。
【0084】
・AIで捉える場合
例えば、図15に示す例と同様、作用子の形状識別情報、点角度等を色相、彩度、明度等の画像要素で表現した集合から立体的な形状を特定することできる。
【0085】
<具体例3>
図17は、母材Iに設けられた対象物Nとして2つの6面体を直交させるように接合したリブの一例を示す斜視図である。
【0086】
図17には、2つの6面体を直交させるように接合したリブにおいて、作用子の形状識別情報、各点の点角度を示している。
【0087】
<具体例4>
図18A及び図18Bは、母材Iに設けられた対象物Nとして円筒のリブの例を示す斜視図である。
【0088】
図18A及び図18Bには、円筒のリブにおいて、作用子の形状識別情報、各点の点角度を示している。点A,Bの点角度が何れも360度であるため、通常は、円筒の底部又は端部、又は、円柱の底部又は端部に存在することがわかる。
【0089】
<具体例5>
図19A及び図19Bは、母材Iに設けられた対象物Nとして台座の穴H1,H2の例を示す斜視図である。
【0090】
図19A及び図19Bには、四角形状の穴H1,H2を設けた台座において、作用子の形状識別情報、各点の点角度を示している。図19Aに示すように、通常、座面F1(上面)における穴H1の各点の点角度が何れも450度で、座面F1における隣り合う2つの点の点角度の合計が900度(=450度+450度)であるが、図19Bに示すように、座面F1における穴H2の隣り合う2つの点の点角度の合計が720度(=450度+270度)の場合もある。この場合、四角形状の穴の一側面が開放した形状を例示できる。
【0091】
<具体例6>
図20は、母材Iに設けられた対象物Nとして円筒と6面体とを接合したリブの一例を示す斜視図である。
【0092】
図20には、円筒と6面体とを接合したリブにおいて、作用子の形状識別情報、各点の点角度を示している。
【0093】
<具体例7>
図21は、母材Iに設けられた対象物Nとして6面体の端部にL字状部材N3を接合したリブの一例を示す斜視図である。
【0094】
図21には、6面体の端部にL字状部材N3を接合したリブにおいて、作用子の形状識別情報、各点の点角度を示している。
【0095】
<具体例8>
図22は、対象物Nにおけるフィレットの一例を示す斜視図である。
【0096】
図22には、対象物Nにおけるフィレットにおいて、作用子の形状識別情報、各点の点角度を示している。
【0097】
<具体例9>
図23A及び図23Bは、それぞれ、対象物Nに設けられた四角形状の穴H3の一例及び円形状の穴H4の一例を示す斜視図である。
【0098】
図23A及び図23Bには、対象物Nに設けられた四角形状の穴H3及び円形状の穴H4において、作用子の形状識別情報、各点の点角度を示している。
【0099】
<具体例10>
図24は、母材Iに設けられた対象物Nとして円筒と直角三角柱とを接合したリブの一例を示す斜視図である。
【0100】
図24には、円筒と3角柱とを接合したリブにおいて、作用子の形状識別情報、各点の点角度を示している。直角三角形の直角を構成する点の点角度が270度であり、直角三角形の底角θ1,θ2(この例では45度)を構成する点の点角度φ1,φ2が360度を超え(底角θ1,θ2が0度を超え)、かつ、450度未満(底角θ1,θ2が90度未満)の値(この例では405度)である。
【0101】
(情報出力)
出力ステップでは、制御部110は、形状特定ステップにて特定した対象物Nの形状を表示装置141又は印刷装置142に出力する。
【0102】
そして、特定した立体的な形状の情報は、例えば、CADシステムに送られ、CADシステムで利用される。
【0103】
本実施の形態では、データベースDBに保存した区分情報M1,M2,…毎の形状識別情報(+1,-1,0)及び点角度(A1+A2+A3),…を含む形状特定用データDT1から複数の面(M1,M2,…)を繋ぎ合わせて対象物Nの立体的な形状を特定することができる。従って、区分された対象物Nの表面形状がどこの区分のものでどのような形状のものであるかを特定することができ、これにより、CADの技術分野(特にAI技術)に利用することが可能となる。
【0104】
本実施の形態において、制御部110は、画像処理技術を用いて区分情報M1,M2,…に対する形状特定用データDT1から対象物Nの形状を特定する。こうすることで、特定した対象物Nの形状を出力することができ、これにより、ユーザーは、複数の面(M1,M2,…)毎の形状特定用データDT1から特定した対象物Nの立体的な形状を確認することができる。
【0105】
本実施の形態において、制御部110は、複数の面(M1,M2,…)の形状にそれぞれ関係する複数の特性情報(例えば面積S1,S2,…、厚みh1,h2,…、曲率)のうちの少なくとも1つの特性情報をさらに取得し、区分情報M1,M2,…を、取得した特性情報と関連付けてデータベースDBに登録する。
【0106】
こうすることで、取得した特性情報から対象物Nの形状を特定し易くすることができる。
【0107】
本実施の形態において、制御部110は、画像処理技術を用いて区分情報M1,M2,…に対する形状識別情報(+1,-1,0)、点角度(A1+A2+A3),…に加えて、作用子(A,B,K1),…、面(M1,M2,…)の面積S1,S2,…、厚みh1,h2,…及び曲率のうち少なくとも1つ(具体的には全て)から対象物Nの形状を特定する。
【0108】
こうすることで、作用子(A,B,K1),…を用いる場合、面を構成する線の位置を特定することができる。面積S1,S2,…を用いる場合、面の大きさを特定することができる。厚みh1,h2,…を用いる場合、一の面の厚みが隣接するべき他の面の厚みと等しいか否かで、一の面に隣接する他の面の特定精度を向上させることができる。また、曲率を用いる場合、一の面の曲率が隣接するべき他の面の曲率と等しいか否かで、一の面に隣接する他の面の特定精度を向上させることができる。
【0109】
本実施の形態において、制御部110は、区分情報に対して単一のプロセッサーにより連続的に処理するようにしてもよいが、区分情報M1,M2,…に対して複数に分けて処理する複数のプロセッサーを備え、制御部110は、複数のプロセッサーにより並列処理を行うことが好ましい。例えば、区分情報M1,M2,…に対して複数のプロセッサーを順番に又はランダムに割り当てるようにすることができる。このように、区分情報M1,M2,…に対して複数のプロセッサーを割り当てることにより、複数のプロセッサー間で区分情報M1,M2,…に関連付けられた作用子(A,B,K1),…、形状識別情報(+1,-1,0)、点角度、面積S1,S2,…により、対象物Nの立体的な形状を特定することができる。具体的には、区分情報M1~M1000に対して第1プロセッサー、区分情報M2001~M3000に対して第2プロセッサー、区分情報M1001~M2000に対して第3プロセッサーをそれぞれ割り当て、第1プロセッサー、第2プロセッサー及び第3プロセッサーにより並列処理を行ったとしても、作用子、形状識別情報、点角度、面積から対象物Nの立体的な形状を容易に特定することができる。こうすることで、容易に並列処理を行うことができ、これにより、簡単な制御構成で、さらなる高速処理を実現させることができる。
【0110】
(メッシュの生成について)
次に、特定した形状の各面に対してメッシュを生成する態様について以下に説明する。
【0111】
図25は、対象物Nの各面(M1,M2,…)に形成されたメッシュの一例を示す斜視図である。なお、図25では、対象物Nの各面(M1,M2,…)のうちの一の面(M1)におけるメッシュの一例を示している。
【0112】
図25に示すように、対象物Nの各面(M1,M2,…)には、メッシュが形成されている。以下では、対象物Nの各面(M1,M2,…)のうちの一の面(M1)を例にとって説明する。
【0113】
面(M1)は、メッシュによって複数箇所に区画されている。この例では、面(M1)は、区画識別情報G1~G6の6箇所の区画に区画されている。
【0114】
各区画は、1又は複数のメッシュ線によって区画されている。この例では、各区画(G1~G6)は、メッシュ線識別情報Ga~Ggの6つのメッシュ線(Ga~Gg)よって区画されている。
【0115】
図26Aは、データベースDBにおいて図25に示す対象物Nの一部の形状特定用データDT1、メッシュ生成用データDT2及びメッシュ評価用データDT3のデータ構造の一例を概略的に示すデータ構造図である。
【0116】
図26Aに示すように、データベースDBには、形状特定用データDT1に加えて、メッシュ生成用データDT2及びメッシュ評価用データDT3が登録されている。
【0117】
図26Aに示す形状特定用データDT1については、前述した通りであるため、ここでは説明を省略する。また、図26Bは、図26Aに示す形状特定用データDT1を加工した形状特定用データDT1aのデータ構造の一例を概略的に示すデータ構造図であるが、加工した形状特定用データDT1aについても、前述した通りであるため、ここでは説明を省略する。
【0118】
図26Aに示すメッシュ生成用データDT2は、特定した形状の個々の面に対してメッシュを生成するためのものである。
【0119】
メッシュ生成用データDT2は、区画(G1~G6)の形状、メッシュで囲まれた区画(G1~G6)のメッシュ線(Ga~Gg)の長さを含んでいる。また、メッシュ生成用データDT2は、作用子(A,B,K1),…に存在するメッシュ節点(節点識別情報g1~g6)を含んでいる。
【0120】
この例では、面(M1)の各区画(G1~G6)は、何れも矩形に形成されている。メッシュ線(Ga~Gg)の長さは、それぞれ、10.4[mm]、10.9[mm]、10.4[mm]、10.9[mm]、10[mm]、10[mm]、10[mm]とされている。面(M1)の各作用子(A,B,K1),…には、1又は複数のメッシュ節点(g1~g6)が存在している。この例では、作用子(A,B,K1)に2つのメッシュ節点(g1,g2)が、作用子(C,D,K4)に2つのメッシュ節点(g4,g5)が、また、作用子(C,B,K3),(D,A,K2)に1つのメッシュ節点(g5,g6)がそれぞれ存在している。
【0121】
メッシュ生成用データDT2を用いてメッシュを生成するようにしてもよいが、データ処理し易いように、面(区分情報)単位でメッシュ生成用データDT2を加工したメッシュ生成用データを用いて特定した形状の個々の面に対してメッシュを生成するようにしてもよい。
【0122】
図26Cは、図26Aに示すメッシュ生成用データDT2を加工したメッシュ生成用データDT2aのデータ構造の一例を概略的に示すデータ構造図である。
【0123】
図26Cに示す加工したメッシュ生成用データDT2aにおいて、「メッシュ節点の数」は、各面(M1,…)毎の各作用子(A,B,K1),…におけるメッシュ節点(g1~g6)の数を表している。例えば、面(M1)では、作用子1(A,B,K1)のメッシュ節点の数がメッシュ節点(g1)の1個とメッシュ節点(g2)の1個とを合計した2個であり、作用子2(A,D,K2)のメッシュ節点の数がメッシュ節点(g5)の1個であり、作用子3(B,C,K3)のメッシュ節点の数がメッシュ節点(g6)の1個であり、作用子4(C,D,K4)のメッシュ節点の数がメッシュ節点(g3)の1個とメッシュ節点(g4)の1個とを合計した2個であることを表している。また、「総数」は、各面(M1,…)毎の節点(g1~g6)の総数〔例えば、面(M1)では、6個〕であることを表している。
【0124】
「メッシュ線の長さの比率」(アスペクト比)は、メッシュ線の長さの比率を表しており、例えば、面(M1)では、(Ge/Ga)、(Gf/Ga)、(Ge/Gc)、(Gf/Gc)は、0.96であることを、(Gf/Gb)、(Gg/Gb)、(Gg/Gd)は、0.92であることを、(Gf/Gd)は、1.00であることを表している。
【0125】
図26Aに示すメッシュ評価用データDT3は、生成したメッシュを評価するためのものであり、メッシュ節点(g1~g6)の座標(x1,y1,z1),…、メッシュが形成された各面(M1,…)のピクチャ画像の電子ファイルの名称「M1.img」,…を含んでいる。
【0126】
メッシュ評価用データDT3を用いて、生成したメッシュを評価するようにしてもよいが、面(区分情報)単位でメッシュ生成用データDT2を加工した第1メッシュ評価用データ、及び、加工したメッシュ生成用データDT2aをさらに加工した第2メッシュ評価用データ、並びに、三角形の数の割合を示す第3メッシュ評価用データを用いて、生成したメッシュを評価するようにしてもよい。
【0127】
図26Dは、第1メッシュ評価用データDT3a1(DT3a)及び第2メッシュ評価用データDT3a2(DT3a)並びに第3メッシュ評価用データDT3a3(DT3a)のデータ構造の一例を概略的に示すデータ構造図である。
【0128】
第1メッシュ評価用データDT3a1(DT3a)は、図26Aに示すメッシュ生成用データDT2を加工したメッシュ評価用データである。第1メッシュ評価用データDT3a1(DT3a)は、面(M1,…)を区画したメッシュ線(Ga~Gg)の長さの平均値、最大値、最小値を含んでいる。図26Dに示す「メッシュ線の長さ」の「平均」、「最大」、「最小」は、図26Aに示すメッシュ生成用データDT2の「メッシュ線の長さ」の平均値、最大値、最小値を表しており、例えば、面(M1)では、それぞれ、10.4[mm]、10.9[mm]、10.0[mm]であることを表している。
【0129】
第2メッシュ評価用データDT3a2(DT3a)は、図26Cに示す加工したメッシュ生成用データDT2aをさらに加工したメッシュ評価用データである。第2メッシュ評価用データDT3a2(DT3a)は、メッシュ線(Ga~Gg)の長さに比率の平均値、最大値、最小値を含んでいる。図26Dに示す「メッシュ線の長さの比率」の「平均」、「最大」、「最小」は、図26Cに示す加工したメッシュ生成用データDT2aの「メッシュ線の長さの比率」の平均値、最大値、最小値を表しており、例えば、面(M1)では、それぞれ、0.95、1.00、0.92であることを表している。
【0130】
第3メッシュ評価用データDT3a3(DT3a)は、三角形の数の割合を示すメッシュ評価用データである。第3メッシュ評価用データDT3a3(DT3a)は、三角形の数の割合を含んでいる。図26Dに示す「三角形の数の割合」は、メッシュに囲まれる区画(G1~G6)の全て区画数に対する区画の形状のうち三角形の数の割合を表しており、例えば、面(M1)では、6つの区画(G1~G6)のうちの三角形の区画がないことから、0/6=0.0%であることを表している。
【0131】
また、データベースDBには、図示を省略したが、例えば、リブ面、各種形状のリブ根本面、各種形状のシリンダーリブ面、各種形状の端部面、各種形状のフィレット面、各種形状の円柱面、各種形状の母材面、各種形状の一般面等の対象物Nの各種(例えば数十万種類から数百万種類)の形状の登録面の形状識別情報及び点角度を含む形状特定用データ(この例では作用子、面の面積、厚み及び曲率のうち少なくとも1つをさらに含む形状特定用データ)が予め登録されている。
【0132】
データベースDBに登録されたこれらのデータは対象物Nの形状が変更される毎に更新される。
【0133】
<メッシュ生成の制御例>
次に、特定した形状の各面にメッシュを生成するメッシュ生成処理の流れを以下に説明する。
【0134】
図27は、特定した形状の各面にメッシュを生成するメッシュ生成処理の制御動作の一例を示すフローチャートである。図28Aは、特定した形状の面(この例では一般面)に最も近い形状の選択面(M1a)を示す斜視図である。また、図28Bは、選択した選択面(M1a)にメッシュを生成した一例を示す斜視図である。
【0135】
図27に示すように、形状特定ステップでは、制御部110は、まず、データベースDBに保存した対象物Nの各面(M1,M2,…)毎の形状特定用データDT1(DT1a)から一つの面(M1)の形状特定用データDT1(DT1a)を読み出す(P1)。
【0136】
次に、制御部110は、メッシュ生成ステップでは、読み出した形状特定用データDT1(DT1a)に基づいて面の形状(この例では一般面)を特定する(P2)。この特定は、前述した通りであり、ここでは詳しい説明を省略する。
【0137】
次に、制御部110は、データベースDBに予め登録されている各種の形状の登録面(この例では一般面)の形状識別情報及び点角度を含む形状特定用データ(この例では、作用子、面の面積、厚み及び曲率のうち少なくとも1つをさらに含む形状特定用データ)に基づいて特定した面の中から、形状特定ステップにて特定した面の形状に最も近い形状の選択面(M1a)を選択する(P3)(図28A参照)。
【0138】
次に、制御部110は、データベースDBに保存した対象物Nの各面(M1,M2,…)毎のメッシュ生成用データDT2(DT2a)から一つの面(M1)のメッシュ生成用データDT2(DT2a)を読み出す(P4)。
【0139】
次に、制御部110は、読み出したメッシュ生成用データDT2(DT2a)を用いて、選択した選択面(M1a)に対してメッシュを生成する(P5)。
【0140】
詳しくは、制御部110は、各作用子のメッシュ節点の数、メッシュ線の長さの比率から、作用子1(Aa,Ba,K1a)上のメッシュ節点(g1a,g2a)、作用子2(Aa,Da,K2a)上のメッシュ節点(g5a)、作用子3(Ba,Ca,K3a)上のメッシュ節点(g6a)、作用子4(Ca,Da,K4a)上のメッシュ節点(g3a,g4a)を検出(認識)することができる。
【0141】
そして、制御部110は、作用子1(Aa,Ba,K1a)上のメッシュ節点(g1a,g2a)と、作用子4(Ca,Da,K4a)上のメッシュ節点(g3a,g4a)との間のメッシュ線(Gaa,Gca),(Gba,Gda)をそれぞれ生成する。また、制御部110は、作用子2(Aa,Da,K2a)上のメッシュ節点(g5a)と、作用子3(Ba,Ca,K3a)上のメッシュ節点(g6a)との間のメッシュ線(Gea,Gfa,Gga)を生成する。
【0142】
ところで、選択面(M1a)に生成したメッシュは、対象物Nの面(M1)に形成したメッシュと等しいことが理想であるが、対象物Nの面(M1)に形成したメッシュとは異なることがある。
【0143】
この点、メッシュ生成ステップでは、制御部110は、選択面(M1a)に生成したメッシュが対象物Nの一つの面(M1)に形成したメッシュと異なっているか否か、また、異なっている場合には、どれぐらい異なっているかを評価する(P6)。この評価の詳細については後述する。
【0144】
次に、制御部110は、対象物Nの全ての面(M1,…)に対してメッシュ生成処理を行うまで前記したP1~P6の処理を繰り返し(P7:No)、対象物Nの全ての面(M1,…)に対してメッシュ生成処理を終了すると(P7:Yes)、制御動作を終了する。
【0145】
<メッシュの評価>
次に、対象物Nの一つの面に形成したメッシュに対する選択面(M1a,…)に生成したメッシュの評価について以下に説明する。
【0146】
制御部110が対象物Nの面(M1,…)に形成されたメッシュに対して選択面(M1a,…)に生成したメッシュを評価する態様としては、例えば、次の(a)から(d)の態様を挙げることができる。
【0147】
(a)選択面(M1a,…)に生成したメッシュについて算出したメッシュ線の長さの平均値、最大値、最小値と、対象物Nの面(M1,…)に形成されたメッシュについて算出したメッシュ線の長さの平均値、最大値、最小値とを比較して、これらの値の選択面(M1a,…)に生成したメッシュと対象物Nの面(M1,…)に形成されたメッシュとの一致度合を重みづけして評価する態様。
【0148】
(b)選択面(M1a,…)に生成したメッシュについて算出したメッシュ線の長さの比率の平均値、最大値、最小値と、対象物Nの面(M1,…)に形成されたメッシュについて算出したメッシュ線の長さの比率の平均値、最大値、最小値とを比較して、これらの値の選択面(M1a,…)に生成したメッシュと対象物Nの面(M1,…)に形成されたメッシュとの一致度合を重みづけして評価する態様。
【0149】
(c)選択面(M1a,…)に生成したメッシュについて形成したピクチャ画像と図26Aに示すピクチャ画像(M1.img,…)を所定の画像処理により比較して、これらの画像の選択面(M1a,…)に生成したメッシュと対象物Nの面(M1,…)に形成されたメッシュとの一致度合を重みづけして評価する態様。
【0150】
(d)選択面(M1a,…)に生成したメッシュの節点の座標と、対象物Nの面(M1,…)に形成されたメッシュの節点の座標とを所定の写像関数により所定形状の写像モデルに写像して、これらの値の選択面(M1a,…)に生成したメッシュと対象物Nの面(M1,…)に形成されたメッシュとの一致度合を重みづけして評価する態様。
【0151】
(e)前記(a)の態様から前記(d)の態様のうち少なくとも2つを組合せた態様。
【0152】
ここで、前記(d)の態様における写像関数としては、代表的には、ラプラシアン・φ(ファイ)の関数を例示できる。写像関数は、ラプラシアン・φ=1/ρ(ロー)の関数又はラプラシアン・φ=0の関数である。
【0153】
例えば、制御部110は、対象物Nの面(M1,…)に形成されたメッシュの節点の第1形状モデル(x,y,z)から第1写像モデル(a,b,c)へ写像し、かつ、選択面(M1a,…)に生成したメッシュの節点の第2形状モデル(x1,y1,z1)から第2写像モデル(a1,b1,c1)へ写像することができる。この場合、制御部110は、第1写像モデル(a,b,c)と第2写像モデル(a1,b1,c1)とを比較することにより評価することができる。
【0154】
詳しくは、制御部110は、第1形状モデル(x,y,z)の座標(x)に対応する第1写像モデル(a,b,c)の座標(a)と、第2形状モデル(x1,y1,z1)の座標(x1)に対応する第2写像モデル(a1,b1,c1)の座標(a1)との一致度合を評価することができる。さらに、制御部110は、第1写像モデル(a,b,c)の座標(a)と第2写像モデル(a1,b1,c1)の座標(a1)とのずれ量から第2形状モデル(x1,y1,z1)の座標(x1)が第1形状モデル(x,y,z)の座標(x)になるように第2形状モデル(x1,y1,z1)の座標(x1)を補正することができる。
【0155】
制御部110は、第1形状モデル(x,y,z)の座標(y)に対応する第1写像モデル(a,b,c)の座標(b)と、第2形状モデル(x1,y1,z1)の座標(y1)に対応する第2写像モデル(a1,b1,c1)の座標(b1)との一致度合を評価することができる。さらに、制御部110は、第1写像モデル(a,b,c)の座標(b)と第2写像モデル(a1,b1,c1)の座標(b1)とのずれ量から第2形状モデル(x1,y1,z1)の座標(y1)が第1形状モデル(x,y,z)の座標(y)になるように第2形状モデル(x1,y1,z1)の座標(y1)を補正することができる。
【0156】
また、制御部110は、第1形状モデル(x,y,z)の座標(z)に対応する第1写像モデル(a,b,c)の座標(c)と、第2形状モデル(x1,y1,z1)の座標(z1)に対応する第2写像モデル(a1,b1,c1)の座標(c1)との一致度合を評価することができる。さらに、制御部110は、第1写像モデル(a,b,c)の座標(c)と第2写像モデル(a1,b1,c1)の座標(c1)とのずれ量から第2形状モデル(x1,y1,z1)の座標(z1)が第1形状モデル(x,y,z)の座標(z)になるように第2形状モデル(x1,y1,z1)の座標(z1)を補正することができる。
【0157】
選択面(M1a,…)に生成したメッシュの節点の形状モデルから写像モデルへ写像する手法、対象物Nの面(M1,…)に形成されたメッシュの節点の座標から写像モデルへ写像する手法、及び、形状モデルの座標を補正する手法は、従来公知の手法で行うことができ、ここでは詳しい説明は省略する。
【0158】
ところで、区画の形状において、通常は、三角形が存在しない方がよい。かかる観点から、メッシュ評価用データDT3は、メッシュに囲まれる区画の全て区画数に対する区画の形状のうち三角形の数の割合を示す第3メッシュ評価用データDT3a(図26D参照)を含む。制御部110は、第3メッシュ評価用データDT3aから読み出した三角形の数の割合を検出(認識)する。制御部110は、例えば、図26Dに示すように、面(M1)では、三角形の数の割合が0%であることから、面(M1)には三角形が存在しないことを検出(認識)することができる。
【0159】
(本実施の形態について)
以上説明したように、本実施の形態によれば、対象物Nにおける複数の面に対応する区分情報M1,M2,…が形状識別情報(+1,-1,0)及び点角度(A1+A2+A3),…を含む形状特定用データDT1〔この例では、作用子(A,B,K1),…、面(M1,M2,…の面積S1,S2,…、厚みh1、h2,…及び曲率のうち少なくとも1つ(具体的には全て)をさらに含む形状特定用データDT1〕と関連付けられてデータベースDBに登録された区分情報M1,…に対する形状識別情報(+1,-1,0)及び点角度(A1+A2+A3),…を含む形状特定用データDT1に基づいて対象物Nの形状を特定することで、区分された対象物Nの表面形状がどこの区分のものでどのような形状のものであるかを特定することができ、これにより、CADの技術分野(特にAI技術)に利用することが可能となる。また、形状特定用データDT1として、作用子(A,B,K1),…、面(M1,M2,…)の面積S1,S2,…、厚みh1,h2,…及び曲率のうち少なくとも1つを用いることで、さらに精度よく対象物Nの形状を特定することができる。
【0160】
本実施の形態において、形状特定ステップでは、制御部110は、画像処理技術を用いて区分情報M1,M2,…に対する形状識別情報(+1,-1,0)、点角度(A1+A2+A3),…、作用子(A,B,K1),…及び面(M1,M2,…)の面積S1,S2,…から対象物Nの面(M1,M2,…)の形状を特定する。こうすることで、特定した対象物Nの面(M1,M2,…)の形状により、対象物Nの立体的な形状を精度よく特定することができる。
【0161】
本実施の形態において、制御部110は、さらにメッシュ生成手段Q10(図1参照)を備える手段として機能する。すなわち、形状データ処理プログラムPは、さらにメッシュ生成ステップを制御部110に実行させる。データベースDBには、個々の面(M1,M2,…)に対してメッシュを生成するためのメッシュ生成用データDT2(DT2a)が面(M1,M2,…)毎に登録されている。メッシュ生成ステップでは、メッシュ生成用データDT2(DT2a)に基づいて形状特定ステップにて特定した形状の面に対してメッシュを生成する。
【0162】
こうすることで、特定した形状の面、この例では、対象物Nの面(M1,M2,…)に相当する選択面(M1a,M2a,…)に対して対象物Nの面(M1,M2,…)に形成されたメッシュに対応するメッシュを生成することができる。
【0163】
本実施の形態において、データベースDBには、対象物Nの各種の形状の登録面の形状識別情報及び点角度を含む形状特定用データ(この例では作用子、面の面積、厚み及び曲率のうち少なくとも1つをさらに含む形状特定用データ)が予め登録されている。メッシュ生成ステップでは、制御部110は、データベースDBに予め登録されている各種の形状の登録面(この例では一般面)の形状識別情報及び点角度を含む形状特定用データ(この例では作用子、面の面積、厚み及び曲率のうち少なくとも1つをさらに含む形状特定用データ)に基づいて特定した面の中から、形状特定ステップにて特定した面の形状に最も近い形状の選択面(M1a)を選択し、選択した選択面(M1a)に対してメッシュを生成する。
【0164】
こうすることで、特定した形状の面に最も近い選択面(M1a,M2a,…)を容易に選択することができ、これにより、対象物Nの面(M1,M2,…)に相当する選択面(M1a,M2a,…)に対して対象物Nの面(M1,M2,…)に形成されたメッシュに対応するメッシュを容易に生成することができる。また、形状特定用データとして、さらに作用子及び面の面積を用いることで、登録面から精度よく面を特定することができる。
【0165】
本実施の形態において、メッシュ生成用データDT2(DT2a)は、作用子(A,B,K1),…のメッシュとのメッシュ節点(g1~g6),…の数、メッシュで囲まれた区画の隣り合うメッシュ線の長さの比率、メッシュ線(ga~gg),…の長さを含む。
【0166】
こうすることで、特定した形状の面、この例では、対象物Nの面(M1,M2,…)に相当する選択面(M1a,M2a,…)に対して対象物Nの面(M1,M2,…)に形成されたメッシュに対応するメッシュを簡単な制御構成で精度よく生成することができる。
【0167】
本実施の形態において、メッシュ生成ステップでは、形状特定ステップにて特定した形状の面(選択面M1a,M2a,…)に生成したメッシュの評価を行う。
【0168】
こうすることで、対象物Nの面(M1,M2,…)に形成されたメッシュに対する形状特定ステップにて特定した形状の面(選択面M1a,M2a,…)へのメッシュの生成位置精度を認識することができる。また、形状特定ステップにて特定した形状の面(選択面M1a,M2a,…)に生成したメッシュを補正することができる。
【0169】
本発明は、以上説明した実施の形態に限定されるものではなく、他のいろいろな形で実施することができる。そのため、係る実施の形態はあらゆる点で単なる例示にすぎず、限定的に解釈してはならない。本発明の範囲は請求の範囲によって示すものであって、明細書本文には、なんら拘束されない。さらに、請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【産業上の利用可能性】
【0170】
本発明は、CADの技術分野、特に、AI技術に適用することができる。
【符号の説明】
【0171】
100 形状データ処理装置
110 制御部
120 記憶部
121 記録装置
122 メモリ装置
130 読取部
131 読取装置
140 出力部
141 表示装置
142 印刷装置
A,… 各点
A1,… 線角度
DB データベース
DT1 形状特定用データ
DT1a 加工した形状特定用データ
DT2 メッシュ生成用データ
DT2a 加工したメッシュ生成用データ
DT3 メッシュ評価用データ
DT3a 加工したメッシュ評価用データ
G1,… 区画識別情報
Ga,… メッシュ線識別情報
M1,… 区分情報
N 対象物
P 形状データ処理プログラム
Q1 3次元CADデータ入力手段
Q2 形状認識手段
Q3 判定手段
Q4 取得手段
Q5 点角度算出手段
Q6 作用子検出手段
Q7 登録手段
Q8 形状特定手段
Q9 出力手段
Q10 メッシュ生成手段
S1,… 面積
h1,… 厚み
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14A
図14B
図15
図16
図17
図18A
図18B
図19A
図19B
図20
図21
図22
図23A
図23B
図24
図25
図26A
図26B
図26C
図26D
図27
図28A
図28B