(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023127610
(43)【公開日】2023-09-14
(54)【発明の名称】形状解析装置、形状解析方法および形状解析プログラム
(51)【国際特許分類】
G06T 17/20 20060101AFI20230907BHJP
G06F 30/10 20200101ALI20230907BHJP
B23Q 17/00 20060101ALI20230907BHJP
【FI】
G06T17/20 500
G06F30/10 100
B23Q17/00 A
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022031385
(22)【出願日】2022-03-02
(11)【特許番号】
(45)【特許公報発行日】2023-07-25
(71)【出願人】
【識別番号】520466308
【氏名又は名称】アルム株式会社
(74)【代理人】
【識別番号】110002848
【氏名又は名称】弁理士法人NIP&SBPJ国際特許事務所
(72)【発明者】
【氏名】平山 京幸
【テーマコード(参考)】
3C029
5B080
5B146
【Fターム(参考)】
3C029EE00
5B080AA14
5B080BA00
5B080CA00
5B080FA00
5B080GA00
5B146DE12
5B146EA01
5B146EA18
5B146EC01
(57)【要約】
【課題】メッシュデータから対象物の形状を解析する時間を短縮化できる形状解析装置等を提供する。
【解決手段】形状解析装置は、複数の三角形メッシュを用いて対象物の形状を表すメッシュデータを取得する取得部と、前記複数の三角形メッシュのうち一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内にある2つの三角形メッシュを統合する処理を行い、統合されたメッシュと一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内にある三角形メッシュを繰り返し統合する処理を行う処理部と、前記処理部の処理結果に基づき、前記対象物の形状を表す形状データを解析する解析部と、を含む。
【選択図】
図11
【特許請求の範囲】
【請求項1】
複数の三角形メッシュを用いて対象物の形状を表すメッシュデータを取得する取得部と、
前記複数の三角形メッシュのうち一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内にある2つの三角形メッシュを統合する処理を行い、統合されたメッシュと一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内にある三角形メッシュを繰り返し統合する処理を行う処理部と、
前記処理部の処理結果に基づき、前記対象物の形状を表す形状データを解析する解析部と、
を備える、形状解析装置。
【請求項2】
前記処理部は、前記複数の三角形メッシュのそれぞれの三角形メッシュの3つの頂点を結ぶ3つのベクトルの方向を反時計回りまたは時計回りに定義する、請求項1に記載の形状解析装置。
【請求項3】
前記処理部は、始点および終点が同じであり且つ向きが逆である2つのベクトルにより定義される線分を前記一辺として削除する、請求項2に記載の形状解析装置。
【請求項4】
前記解析部は、前記3つのベクトルを定義した方向と同じ方向を結合して形成される領域が前記対象物の最も外側の外形のうちの1つの面であると解析する、請求項2または3に記載の形状解析装置。
【請求項5】
前記解析部は、前記領域の内部に、前記3つのベクトルを定義した方向と逆方向の複数のベクトルを結合して形成される他の領域がある場合、当該他の領域が前記対象物の内側に設けられる穴であると解析する、請求項4に記載の形状解析装置。
【請求項6】
出力部、をさらに備え、
前記処理部は、前記メッシュデータのうち統合する対象の三角形メッシュがなくなった時点で前記繰り返し統合する処理を終了し、
前記出力部は、前記メッシュデータに対して前記繰り返し統合する処理を終了したデータが前記形状データとして出力する、請求項1乃至5のうち何れか1項に記載の形状解析装置。
【請求項7】
複数の三角形メッシュを用いて対象物の形状を表すメッシュデータを取得し、
前記複数の三角形メッシュのうち一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内にある2つの三角形メッシュを統合する処理を行い、統合されたメッシュと一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内にある三角形メッシュを繰り返し統合する処理を行いと、
前記繰り返し統合する処理の処理結果に基づき、前記対象物の形状を表す形状データを解析する、
処理をコンピュータが実行する形状解析方法。
【請求項8】
複数の三角形メッシュを用いて対象物の形状を表すメッシュデータを取得し、
前記複数の三角形メッシュのうち一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内にある2つの三角形メッシュを統合する処理を行い、統合されたメッシュと一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内にある三角形メッシュを繰り返し統合する処理を行いと、
前記繰り返し統合する処理の処理結果に基づき、前記対象物の形状を表す形状データを解析する、
処理をコンピュータに実行させる形状解析プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、形状解析装置、形状解析方法および形状解析プログラムに関する。
【背景技術】
【0002】
STL(Standard Triangulated Language)データに基づき、対象物の形状を解析する技術が特許文献1に開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
STLデータ等のメッシュデータは、複数の三角形メッシュを用いて対象物の形状を表している。対象物の形状を表す三角形メッシュの数が多くなると、対象物の形状の解析に要する時間が長くなる。
【0005】
1つの側面として、本開示は、メッシュデータから対象物の形状を解析する時間を短縮化できる形状解析装置等を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一態様における形状解析装置は、複数の三角形メッシュを用いて対象物の形状を表すメッシュデータを取得する取得部と、前記複数の三角形メッシュのうち一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内にある2つの三角形メッシュを統合する処理を行い、統合されたメッシュと一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内にある三角形メッシュを繰り返し統合する処理を行う処理部と、前記処理部の処理結果に基づき、前記対象物の形状を表す形状データを解析する解析部と、を備える。
【図面の簡単な説明】
【0007】
【
図2】形状解析装置の一例を示すブロック図である。
【
図3】処理前のメッシュデータの一例を示す図である。
【
図4A】6つの三角形メッシュの一例を示す図である。
【
図4B】
図4Aの三角形メッシュにベクトルを定義した場合の一例を示す図である。
【
図5A】
図4Bのうちの2つの三角形メッシュを統合した状態の一例を示す図である。
【
図5B】
図5Aのメッシュに対してベクトルを定義した場合の一例を示す図である。
【
図6A】
図5Bの統合済みメッシュと三角形メッシュとを統合した状態の一例を示す図である。
【
図6B】
図6Aの三角形メッシュにベクトルを定義した場合の一例を示す図である。
【
図7A】統合済みメッシュに最後の辺が残ったメッシュの一例を示す図である。
【
図7B】三角形メッシュを統合して得られる面の外形の一例を示す図である。
【
図8A】9つの三角形メッシュの一例を示す図である。
【
図8B】
図8Aのうちの2つの三角形メッシュを統合した場合の一例を示す図である。
【
図9A】
図8Bの統合済みメッシュに三角形メッシュを統合した状態の一例を示す図である。
【
図9B】統合済みメッシュに最後の辺が残ったメッシュの他の例を示す図である。
【
図10】対象物の面の領域の内側に他の領域がある場合の一例を示す図である。
【
図11】本実施形態の処理の流れの一例を示すフローチャートである。
【
図13】処理後のメッシュデータの一例を示す図である。
【発明を実施するための形態】
【0008】
以下、本実施形態について図面を参照しつつ説明する。図面については、同一または同等の要素には同一の符号を付し、重複する説明は省略する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本開示の必須構成要件であるとは限らない。
【0009】
図1は、切削制御システム100の一例を示す図である。切削制御システム100は、サーバ101、演算システム102および工作機械103を含む。演算システム102は、形状解析装置104および設定装置105を含む。サーバ101と形状解析装置104とは、インターネット等のネットワークNWを介して接続されている。
【0010】
図1では、形状解析装置104と設定装置105とを別途の装置として構成した例を示しているが、形状解析装置104と設定装置105とは一体の装置として構成されてもよい。また、形状解析装置104は、切削制御システム100以外のシステムに用いられてもよいし、単体の装置として用いられてもよい。
【0011】
サーバ101は後述するメッシュデータを記憶するサーバである。サーバ101は、例えば、切削制御システム100を提供する会社によって所定の場所に設置される。
【0012】
演算システム102は、工作機械103を制御するコンピュータである。工作機械103は、例えば、演算システム102からの制御に従って、加工対象物(以下、対象物とする)を加工するNC(Numerical Control)工作機である。
【0013】
形状解析装置104は、ネットワークNWを介して、サーバ101からメッシュデータを取得する。メッシュデータは、複数の三角形メッシュを用いて対象物の形状を表す図面データである。本実施形態では、メッシュデータはSTLデータであるものとして説明するが、メッシュデータはSTLデータ以外の任意の図面データであってもよい。メッシュデータは、対象物の立体的な形状を表すデータである。
【0014】
形状解析装置104はメッシュデータから、対象物の形状を解析する。形状解析装置104は、解析した対象物の形状を表すデータを解析データとして設定装置105に出力する。形状解析装置104の詳細は後述する。
【0015】
設定装置105は、工作機械103が対象物を加工する際の各種の設定を行う。例えば、設定装置105は、形状解析装置104が出力した解析データに基づき、加工種別や工具選定等の各種の設定を行う。
【0016】
加工種別の設定は、例えば、島状の形状を残すように加工する島残し加工、止まり穴を形成する止まり穴加工、貫通穴を形成する貫通穴加工などの加工の種別に関する設定である。工具選定の設定は、例えば、例えば、センタードリル、スクエアエンドミルなどの工具の選定に関する設定である。
【0017】
図1の例において、形状解析装置104は、ネットワークNWを介して、サーバ101からメッシュデータを取得してもよいし、可搬型メモリ等からメッシュデータを取得してもよい。例えば、形状解析装置104がネットワークNWに接続されていない単体の装置である場合、形状解析装置104は、メッシュデータが格納された可搬型メモリからメッシュデータを取得してもよい。
【0018】
図2は、形状解析装置104の一例を示すブロック図である。形状解析装置104は、制御部201、通信部202、記憶部203、操作部204および表示部205を含む。形状解析装置104は、
図2の構成に限定されず、他の要素を含んでもよいし、一部の要素が省略されてもよい。制御部201は、プロセッサおよびメモリを含む。制御部201のプロセッサとしては、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の任意のプロセッサであってもよい。
【0019】
通信部202は、ネットワークNWに接続されるネットワークインターフェースであって、制御部201からの指示に応じて、ネットワークNWを介して、情報を送受信する。本実施形態では、当該情報にメッシュデータが含まれる。
【0020】
記憶部203は、例えば、ハードディスクやROM、RAM等の情報記録媒体で構成される。記憶部203は、制御部201のプロセッサによって実行されるプログラムを保持する情報記録媒体である。
【0021】
操作部204は、例えば、キーボード、マウス、ボタン等のインターフェースで構成され、ユーザの指示操作に応じて、当該指示操作の内容を制御部201に出力する。表示部205は、例えば、液晶ディスプレイ、CRTディスプレイ、または有機ELディスプレイであって、制御部201からの指示に従い、情報を表示する。
【0022】
制御部201は、取得部211、処理部212、解析部213および出力部214を含む。各部は、上述したプロセッサが、メモリに記憶された複数の命令セットを実行することにより実現されるソフトウェア的な機能である。
【0023】
取得部211は、通信部202を介して、サーバ101からメッシュデータを取得する。処理部212は、取得したメッシュデータに対して本実施形態の各種の処理を行う。解析部213は、処理部212が処理したメッシュデータに基づき、対象物の形状解析を行う。出力部214は、対象物の形状解析を行った解析データを、例えば、設定装置105等に出力する。
【0024】
図3は、処理前のメッシュデータの一例を示す図である。メッシュデータは、処理部212により処理が施される前のメッシュデータであって、サーバ101から取得されるSTLデータである。
図3の例のメッシュデータにおいて、対象物OBは面SAおよびSBを含む直方体の形状を有している。対象物OBには、穴H1、穴H2を含む複数の穴(例えば、止まり穴や貫通穴等の穴)が形成されている。
【0025】
図3の例に示されるように、メッシュデータは多くの三角形メッシュの集合により対象部OBの形状を表している。メッシュデータは、対象物OBの外形や穴等の形状の情報以外の多くの三角形メッシュの情報を含む。従って、メッシュデータから対象物OBの形状を解析する際には、多くの処理時間を要する。そこで、本実施形態では、複数の三角形メッシュの辺を削除するとともに、メッシュ同士を統合する処理を繰り返し行い、三角形メッシュの辺の情報を削除していく。
【0026】
図4A~
図7Bは、メッシュの統合の一例を示す図である。
図4Aは、6つの三角形メッシュM1~M6の一例を示す図である。
図4Aの6つの三角形メッシュM1~M6は、取得部211がサーバ101から取得したメッシュデータのうちの一部分のデータである。
【0027】
STLデータは、各三角形メッシュの3つの頂点の座標情報および各三角形メッシュの法線ベクトルの情報を含む。処理部212は、三角形メッシュM1~M6のそれぞれの三角形メッシュの3つの頂点およびそれぞれの法線ベクトルを抽出する。各頂点は、X座標、Y座標およびZ座標の三次元を表す座標軸で表される。
【0028】
処理部212は、三角形メッシュM1~M6のそれぞれの3つの頂点を全て反時計回りに並べる。例えば、
図4Aの例において、処理部212は、三角形メッシュM1の3つの頂点をA1、C1、B1の順に並べる。他の三角形メッシュM2~M6も同様である。
【0029】
処理部212は、各三角形メッシュM1~M6のそれぞれについて、3つの頂点を反時計回りに結ぶ3つのベクトルを定義する。例えば、処理部212は、三角形メッシュM1について、頂点A1から頂点B1に向かうベクトル、頂点B1から頂点C1に向かうベクトルおよび頂点C1から頂点A1に向かうベクトルを定義する。処理部212は、他の三角形メッシュM2~Mについても、同様に、各ベクトルを定義する。
【0030】
処理部212は、各三角形メッシュのうち2つの三角形メッシュが一辺を共有し且つ両者の法線ベクトルの向きの差分が一定範囲内である場合、当該2つの三角形メッシュを、両者が共有する一辺を削除するとともに、統合する。
【0031】
図4Bは、
図4Aの三角形メッシュにベクトルを定義した場合の一例を示す図である。
図4Bは、三角形メッシュM1について頂点B1から頂点C1に向かうベクトルV1、および三角形メッシュM2について頂点C2から頂点A2に向かうベクトルV2を示している。
【0032】
頂点B1と頂点A2とは同じ座標であり、頂点C1と頂点C2とは同じ座標である。つまり、ベクトルV1の始点および終点とベクトルV2の終点および始点とは同じである。また、ベクトルV1の向きとベクトルV2の向きとは逆である。この場合、処理部212は、三角形メッシュM1と三角形メッシュM2とは、ベクトルV1およびベクトルV2が重複する辺E1を共有すると判定する。
【0033】
また、三角形メッシュM1の法線ベクトルの向きの情報と三角形メッシュM2の法線ベクトルの情報もSTLデータに基づき予め得られている。処理部212は、三角形メッシュM1の法線ベクトルの向きと三角形メッシュM2の法線ベクトルの向きとの差分が一定範囲内であるかを判定する。
【0034】
上記の一定範囲は、任意の範囲に設定可能である。例えば、上記の一定範囲は、2つの三角形メッシュが同一平面か、または同一平面であるとして許容できる程度の範囲である。例えば、僅かに湾曲した曲面を同一平面として見做せる場合、処理部212は、当該曲面を構成する2つの三角形メッシュの法線ベクトルの向きが完全に同一でなくても、両者の法線ベクトルの向きの差分が一定範囲内であると判定する。
【0035】
三角形メッシュM1の法線ベクトルの向きと三角形メッシュM2の法線ベクトルの向きとの差分が一定範囲内であるとする。この場合、三角形メッシュM1と三角形メッシュM2とは辺E1を共有し且つ法線ベクトルの向きの差分が一定範囲内であるため、処理部212は、辺E1を削除するとともに、三角形メッシュM1と三角形メッシュM2とを統合する。
【0036】
図5Aは、
図4Bの2つの三角形メッシュを統合した状態の一例を示す図である。処理部212は、上述したように、三角形メッシュM1と三角形メッシュM2とを統合する。以下、統合したメッシュを統合済みメッシュと称する。統合済みメッシュM12からは辺E1の情報が削除されている。
【0037】
上述したように、2つの三角形メッシュの法線ベクトルの向きが完全に同一でなくても、一定範囲内である場合にも、2つの三角形メッシュは統合される。この場合、処理部212は、統合済みメッシュの法線ベクトルを、統合前の2つの三角形メッシュの法線ベクトルの平均として定義する。後述する統合済みメッシュと三角形メッシュとを統合する場合も同様である。
【0038】
本実施形態では、統合済みメッシュとしては、2つの三角形メッシュを統合したメッシュ、および統合済みメッシュにさらに三角形メッシュを統合したメッシュの2種類のメッシュがある。何れの統合済みメッシュも、4辺以上の辺を有する多角形のメッシュである。
【0039】
処理部212は、統合済みメッシュと一辺を共有し且つ法線ベクトルが一定範囲内である三角形メッシュがある場合、両者が共有する一辺を削除するとともに、統合済みメッシュと三角形メッシュとを統合する。
【0040】
図5Bは、
図5Aのメッシュに対してベクトルを定義した場合の一例を示す図である。
図5Bの例に示されるように、四角形の統合済みメッシュM12の4辺のそれぞれについて、ベクトルが定義されている。例えば、頂点B2と頂点C1とを結ぶベクトルV11は、もともとは三角形メッシュM2で定義されていたベクトルである。
【0041】
三角形メッシュM3のうちベクトルV3は、頂点C3と頂点A3とを結ぶベクトルである。ベクトルV11とベクトルV3とは始点および終点が同じであり且つ向きが逆である。また、統合済みメッシュM12の法線ベクトルの向きと三角形メッシュM3の法線ベクトルの向きとの差分が一定範囲内であるとする。
【0042】
処理部212は、ベクトルV12とベクトルV3とが重複する辺E2を削除するとともに、統合済みメッシュM12と三角形メッシュM3とを統合する。これにより、統合済みメッシュM12に三角形メッシュM3が統合された統合済みメッシュが得られる。
図6Aは、
図5Bの統合済みメッシュと三角形メッシュとを統合した状態の一例を示す図である。
【0043】
図6Bの統合済みメッシュM13は、頂点A1と頂点B1とを結ぶ辺、頂点B1と頂点B2とを結ぶ辺、頂点B2と頂点B3とを結ぶ辺、頂点B3と頂点C1とを結ぶ辺および頂点C1と頂点A1とを結ぶ辺の合計5つの辺で構成される。頂点B3と頂点C1とを結ぶ辺および頂点C1と頂点A1とを結ぶ辺は直線状になっているが、処理部212は、両者の辺を異なる辺として取り扱う。
【0044】
図6Bは、
図6Aの三角形メッシュにベクトルを定義した場合の一例を示す図である。
統合済みメッシュM13のうち頂点B3と頂点C1とを結ぶベクトルV13と三角形メッシュM4のうち頂点C4と頂点A4とを結ぶベクトルV4は、始点および終点が同じであり且つ向きが逆のベクトルである。また、統合済みメッシュM13の法線ベクトルの向きと三角形メッシュM4の法線ベクトルの向きとの差分が一定範囲内であるとする。
【0045】
処理部212は、ベクトルV13とベクトルV4とが重複する辺E3を削除するとともに、統合済みメッシュM13と三角形メッシュM4とを統合する。そして、処理部212は、統合済みメッシュと三角形メッシュとを統合する処理を繰り返す。
【0046】
図7Aは、最後の辺が残ったメッシュの一例を示す図である。頂点A1と頂点B6とは同じ点である。頂点A1と頂点B1と頂点B2と頂点B3と頂点B4と頂点B5と頂点B6とを結ぶ各ベクトルは結合可能である。この場合、処理部212は、各ベクトルを結合するとともに、各ベクトルにより構成される領域の内側に最後に残った辺E6を削除する。
【0047】
図7Bは、三角形メッシュを統合して得られる面の最も外側の外形の一例を示す図である。
図7Bの統合済みメッシュM20は、上記の辺E6を削除することにより得られるメッシュである。統合済みメッシュM20の各ベクトルを結合して構成される領域は、対象物の最も外側の外形のうちの1つの面を表す。
図7Bの例では、面SAが、対象物の最も外側の外形のうち1つの面を構成する。
【0048】
統済み合メッシュM20からは、三角形メッシュM1~M6を構成していた複数の辺が削除されている。これにより、対象物の1つの面を表す三角形メッシュの情報の多くが削除されるため、対象物OBの形状を表すための情報が低減する。これにより、対象物OBの形状を解析する際の処理時間が短縮化される。
【0049】
次に、面の内部に穴がある場合のメッシュの統合および穴の解析について、
図8A~
図10Bを参照して説明する。
図8Aは、9つの三角形メッシュの一例を示す図である。
図8Aの9つの三角形メッシュM31~M39は、取得部211がサーバ101から取得したメッシュデータのうちの一部分のデータである。
図8Aの三角形メッシュM31~M39を含むメッシュデータは、
図4Aの三角形メッシュM1~M6を含むメッシュデータと同じであってもよいし、異なっていてもよい。
【0050】
処理部212は、三角形メッシュM31について、上述した例と同様、3つのベクトルV31A、V31BおよびV31Cを定義する。同様に、処理部212は、三角形メッシュM32について3つのベクトルV32A、V32BおよびV32Cを定義し、三角形メッシュM33について3つのベクトルV33A、V33BおよびV33Cを定義する。
【0051】
三角形メッシュM31のベクトルV31Cと三角形メッシュM32のベクトルV32Aとの始点および終点が同じであり且つ向きが逆である。また、三角形メッシュM31の法線ベクトルの向きと三角形メッシュM32の法線ベクトルの向きとの差分が一定範囲内であるとする。
【0052】
処理部212は、ベクトルV31CとベクトルV32Aとが重複する辺E31を削除するともに、三角形メッシュM31と三角形メッシュM32とを統合する。
図8Bは、
図8Aのうちの2つの三角形メッシュを統合した場合の一例を示す図である。三角形メッシュM31と三角形メッシュM32とが統合されることで、統合済みメッシュM42が得られる。
【0053】
処理部212は、同様に、統合済みメッシュM42のベクトルV32Cと三角形メッシュM33のベクトルV33Aとが重複する辺E32を削除するともに、統合済みメッシュM42と三角形メッシュM33とを統合する。
図9Aは、
図8Bの統合済みメッシュに三角形メッシュを統合した状態の一例を示す図である。
図9Aの例では、統合済みメッシュM42に三角形メッシュM33を統合した統合済みメッシュM43が示されている。
【0054】
処理部212は、統合済みメッシュと一辺を共有し且つ法線ベクトルの向きが一定範囲内である三角形メッシュがある場合、統合済みメッシュと三角形メッシュとを統合する処理を繰り返し行う。これにより、
図9Bの例に示されるような統合済みメッシュM49が得られる。
【0055】
図9Bは、統合済みメッシュM49に最後の辺が残ったメッシュの一例を示す図である。処理部212は、統合メッシュM49から最後の辺E39を削除する。統合済みメッシュM49の各ベクトルを結合して形成される領域は、対象物の最も外側の外形のうちの1つの面(
図10の面SB)である。
【0056】
図10は、対象物の面の領域の内側に他の領域がある場合の一例を示す図である。面SBの外形を構成する各ベクトルは、
図8Aの各三角形メッシュの何れかの三角形メッシュのベクトルにより構成される。上述したように、各三角形メッシュの3辺のベクトルは、全て反時計回りに定義される。従って、面SBの外形を構成する各ベクトルは、全て反時計回りになる。
【0057】
一方、
図10の例に示されるように、面SBの内側には他の領域が存在する。当該他の領域を構成する破線で示される各ベクトルは時計回りに定義されている。この場合、処理部212は、当該他の領域を面SBの内側に設けられる穴Hであると判定する。
【0058】
例えば、
図8AのベクトルV33Cの一部は、穴Hの一辺を構成する。穴Hを基準とした場合、
図8AのベクトルV33Cは時計回りになる。このため、穴Hを構成する各ベクトルは全て時計回りになる。つまり、面SBを構成する各ベクトルの向きと穴Hを構成する各ベクトルとは逆になる。
【0059】
処理部212は、面SBの内側に他の領域があり且つ当該他の領域を構成する各ベクトルの向きが時計回りであった場合、当該他の領域を穴であると判定する。これにより、解析部213は、対象物OBを構成する複数の外面のうちの1つの外面に穴が形成されていると解析する。
【0060】
次に、本実施形態の処理の流れについて説明する。
図11は、本実施形態の処理の流れの一例を示すフローチャートである。取得部211は、通信部202を制御して、ネットワークNWを介して、サーバ101からメッシュデータを取得する(ステップS101)。取得されたメッシュデータはSTLデータであり、複数の三角形メッシュを用いて対象物を表すデータである。
【0061】
処理部212は、メッシュデータに含まれる複数の三角形メッシュのそれぞれについて、法線ベクトルおよび3つの頂点を抽出する(ステップS102)。そして、処理部212は、各三角形メッシュの3つの頂点を反時計回りに並べて、各三角形メッシュの3つの頂点を結ぶ3つのベクトルを反時計回りに定義する(ステップS103)。
【0062】
ステップS103において、処理部212は、各三角形メッシュの全てに対して、3つの頂点を結ぶ3つのベクトルを時計回りに定義してもよい。この場合、上述した穴を判定するためのベクトルの向きは逆(反時計回り)になる。
【0063】
処理部212は、複数の三角形メッシュのうち一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内の2つの三角形メッシュを探索する(ステップS104)。このとき、処理部212は、始点および終点が同じであり且つ向きが逆方向のベクトルがある2つの三角形メッシュが存在する場合、当該2つの三角形メッシュが一辺を共有すると判定する。
【0064】
処理部212は、ステップS104の条件で探索した結果、条件を満たす2つの三角形メッシュがあるかを判定する(ステップS105)。取得したメッシュデータに含まれる複数の三角形メッシュにステップS104の探索の条件を満たす三角形メッシュが1つもない場合、処理部212はステップS105でNoと判定する。この場合、処理部212は「A」から
図12の「A」に進み、本実施形態のフローチャートを終了させる。
【0065】
取得したメッシュデータに含まれる複数の三角形メッシュにステップS104の探索の条件を満たす三角形メッシュがある場合、処理部212はステップS105でYesと判定し、処理をステップS106に進める。
【0066】
サーバ101から取得されるメッシュデータには多くの三角形メッシュが含まれる。そして、ステップS104で探索する条件(一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内である条件)を満たす三角形メッシュは多く存在するケースが想定される。この場合、処理部212は、メッシュデータに含まれる多くの三角形メッシュのうち、探索する条件を満たす2つの三角形メッシュを任意に指定してもよい。
【0067】
処理部212は、条件を満たす2つの三角形メッシュが共有する一辺を削除するとともに、当該2つの三角形メッシュを統合する(ステップS106)。これにより、2つの三角形メッシュを統合した統合済みメッシュが得られる。統合前の2つの三角形メッシュの法線ベクトルの向きに差分がある場合、処理部212は、統合前の2つの三角形メッシュの法線ベクトルの向きの平均を、統合済みメッシュの法線ベクトルとして定義する。
【0068】
処理部212は、統合済みメッシュと一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内の三角形メッシュを探索する(ステップS107)。統合済みメッシュとしては、2つの三角形メッシュを統合したメッシュ、および統合済みメッシュにさらに三角形メッシュを統合したメッシュの2種類のメッシュがある。
【0069】
処理部212は、ステップS107の条件で探索した結果、条件を満たす三角形メッシュがあるかを判定する(ステップS108)。ステップS108の探索の条件を満たす三角形メッシュがある場合、処理部212は、ステップS108でYesと判定し、処理をステップS109に進める。
【0070】
処理部212は、探索した三角形メッシュと統合済みメッシュとが共有する一辺を削除するとともに、探索した三角形メッシュを統合済みメッシュに統合する(ステップS109)。
【0071】
処理部212は、ステップS109を実行した後、処理をステップS107に戻す。これにより、処理部212は、統合済みメッシュに、ステップS107の探索の条件を満たす三角形メッシュを繰り返し統合していく。
【0072】
統合済みメッシュについて、ステップS107の探索の条件を満たす三角形メッシュがなくなった場合、処理部212は、ステップS108でNoと判定し、処理を「B」から
図11のステップS110に進める。
【0073】
図12は、
図11から続くフローチャートである。解析部213は、複数のベクトルを結合して形成される領域を対象物OBの1つの面の外形として解析する(ステップS110)。例えば、解析部213は、
図7BのメッシュM20の6つのベクトルを結合して形成される領域を対象物OBの1つの面の外形として解析する。
【0074】
解析部213は、ステップS110で解析した面の内側に時計回りのベクトルを結合した領域(他の領域)があるかを判定する(ステップS111)。上記の面の内側に時計回りのベクトルを結合した領域がある場合、解析部213は、ステップS111でYesと判定し、処理をステップS112に進める。この場合、解析部213は、上記の他の領域が上記の面の内側に形成された穴であると解析する(ステップS112)。
【0075】
上述したように、面の内側に他の領域がある場合、当該他の領域を構成する各ベクトルは時計回りになる。従って、面の内側に他の領域があり、且つ当該他の領域を構成する各ベクトルが反時計回りになっている場合(ステップS103で定義したベクトルと同じ方向になっている場合)、解析部213は何らかのエラーが生じていると判定してもよい。エラーとしては、例えば、計算エラーがある。この場合、解析部213は、例えば、エラーが発生したことを示す情報を表示部205に表示させてもよい。
【0076】
ステップS104~ステップS112が実行されることにより、1つの面についての三角形メッシュを統合する処理が終了する。対象物OBは立体的な形状を有しているため、他の面についての三角形メッシュを統合する処理が残っている場合がある。
【0077】
処理部212は、メッシュデータに含まれる全ての三角形メッシュについての処理(三角形メッシュを統合する処理)が終了したかを判定する(ステップS113)。全ての三角形メッシュについての処理が終了していない場合、処理部212は、ステップS113でNoと判定し、処理を「C」から
図11のステップS104に戻す。この場合、他の面についてのステップS104~ステップS112が繰り返される。
【0078】
ステップS104~ステップS112が繰り返し実行されることで、対象物を構成する複数の面の情報が得られる。ステップS104~ステップS112は逐次的に実行されてもよいし、並列的に実行されてもよい。
【0079】
全ての三角形メッシュについての処理が終了した場合、処理部212は、ステップS113でYesと判定し、処理をステップS114に進める。これにより、メッシュデータに含まれる全ての三角形メッシュについての処理が終了する。
【0080】
図13は、処理後のメッシュデータの一例を示す図である。
図13の例における対象物OBを表すデータは、
図3の例における対象物OBを表すデータから大幅に三角形メッシュが削減されている。
【0081】
解析部213は、処理後のメッシュデータに含まれる対象物OBの形状を解析する(ステップS114)。本実施形態の処理後のメッシュデータは、多くの三角形メッシュの情報が削除されているため、対象物OBの形状を解析する時間が短縮化される。
【0082】
例えば、
図3のメッシュデータには対象物OBの側面SAおよびSBに多くの三角形メッシュが含まれていたが、
図13のメッシュデータには側面SAおよびSBの外形を構成する辺の情報が残り、不要な三角形メッシュの情報が削除されている。これにより、メッシュデータの情報量を大幅に削減でき、対象物OBの形状を解析する時間を大幅に短縮できる。
【0083】
解析部213は、例えば、対象部OBの立体的形状を垂直方向に細かい粒度で階層化した各層を走査して形状解析を行う。例えば、形状解析の分解能が1μmであり、且つ層数が20000層程度であるとする。この場合、本実施形態の処理を行っていない場合と比較して、本実施形態の処理を行ったデータの解析に要する時間を、おおよそ10分の1に短縮できる。
【0084】
また、
図3の例のメッシュデータでは、対象物OBの外形の辺は複数の三角形メッシュにより表現されている。このため、対象物OBの外形の辺は不連続な辺が結合されている状態となる。
図3の例では、対象物OBの側面SAおよびSBは多くの三角形メッシュにより表現されており、不連続な辺を多く含む。これより、対象物OBの外形を特定することが難しくなる。
【0085】
例えば、工作機械103は、対象物OBを溶接加工やバリ取り加工等を行うことがある。このような加工を行う場合、対象物OBの外形の辺を高精度に特定する必要がある。特に、工作機械103による加工の自動化を行う際に、対象物OBの外形の辺を高精度に特定することは重要である。
【0086】
本実施形態では、
図13の例に示されるように、対象物OBから多くの三角形メッシュの情報が削除されており、対象物OBの外形の辺は1つの辺で表現される。これにより、本実施形態の処理がされた対象物OBを表すデータを用いた工作機械103による加工処理の自動化が実現され得る。さらに、
図13のメッシュデータからは多くの三角形メッシュの情報が削除されているため、穴H1、H2に横穴が存在していたとしても、当該横穴の存在を容易に解析できる。
【0087】
出力部214は、メッシュデータを解析して得られる対象物OBの形状を表す解析データを出力する(ステップS114)。例えば、出力部214は、設定装置105に解析結果を出力する。
【0088】
設定装置105は、解析結果に基づき、例えば、加工種別や工具選定等の各種の設定を行う。形状解析装置104と設定装置105とが1つの装置で実現される場合、上記の解析結果は、例えば、加工種別や工具選定等の各種の設定を行うソフトウェアモジュールに出力される。
【0089】
上述した解析データは、表示部205に出力されてもよい。表示部205は、
図13の例で示されるシンプルなメッシュデータを表示する。これにより、形状解析装置104を操作するユーザは、
図3の例で示される多くの三角形メッシュを含むメッシュデータではなく、シンプルなメッシュデータを視認できるため、対象物OBの形状を良好に認識できる。
【0090】
以上のように、本実施形態では、対象物を表すメッシュデータに含まれる複数の三角形メッシュのうち一辺を共有し且つ法線ベクトルが一定範囲内である三角形メッシュが統合されていく。これにより、メッシュデータに含まれる三角形メッシュの情報量が削減されるため、対象物の解析に要する時間を短縮化できる。
【0091】
なお、上記のように本実施形態について詳細に説明したが、本実施形態の新規事項および効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。従って、各種の変形はすべて本開示の範囲に含まれるものとする。例えば、明細書または図面において、少なくとも一度、より広義または同義な異なる用語と共に記載された用語は、明細書または図面のいかなる箇所においても、その異なる用語に置き換えることができる。また本実施形態および変形例の全ての組み合わせも、本開示の範囲に含まれる。
【符号の説明】
【0092】
100 切削制御システム、101 サーバ、102 演算システム、103 工作機械、104 形状解析装置、105 設定装置、201 制御部、202 通信部、203 記憶部、204 操作部、205 表示部、211 取得部、212 処理部、213 解析部、214 出力部
【手続補正書】
【提出日】2023-05-23
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
複数の三角形メッシュを用いて対象物の形状を表すメッシュデータを取得する取得部と、
前記複数の三角形メッシュのうち一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内にある2つの三角形メッシュを統合する処理を行い、統合されたメッシュと一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内にある三角形メッシュを繰り返し統合する処理を行う処理部と、
前記処理部の処理結果に基づき、前記対象物の形状を表す形状データを解析する解析部と、
を備える、形状解析装置。
【請求項2】
前記処理部は、前記複数の三角形メッシュのそれぞれの三角形メッシュの3つの頂点を結ぶ3つのベクトルの方向を反時計回りまたは時計回りに定義する、請求項1に記載の形状解析装置。
【請求項3】
前記処理部は、始点および終点が同じであり且つ向きが逆である2つのベクトルにより定義される線分を前記一辺として削除する、請求項2に記載の形状解析装置。
【請求項4】
前記解析部は、前記3つのベクトルを定義した方向と同じ方向を結合して形成される領域が前記対象物の最も外側の外形のうちの1つの面であると解析する、請求項2または3に記載の形状解析装置。
【請求項5】
前記解析部は、前記領域の内部に、前記3つのベクトルを定義した方向と逆方向の複数のベクトルを結合して形成される他の領域がある場合、当該他の領域が前記対象物の内側に設けられる穴であると解析する、請求項4に記載の形状解析装置。
【請求項6】
出力部、をさらに備え、
前記処理部は、前記メッシュデータのうち統合する対象の三角形メッシュがなくなった時点で前記繰り返し統合する処理を終了し、
前記出力部は、前記メッシュデータに対して前記繰り返し統合する処理を終了したデータが前記形状データとして出力する、請求項1乃至5のうち何れか1項に記載の形状解析装置。
【請求項7】
複数の三角形メッシュを用いて対象物の形状を表すメッシュデータを取得し、
前記複数の三角形メッシュのうち一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内にある2つの三角形メッシュを統合する処理を行い、統合されたメッシュと一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内にある三角形メッシュを繰り返し統合する処理を行い、
前記繰り返し統合する処理の処理結果に基づき、前記対象物の形状を表す形状データを解析する、
処理をコンピュータが実行する形状解析方法。
【請求項8】
複数の三角形メッシュを用いて対象物の形状を表すメッシュデータを取得し、
前記複数の三角形メッシュのうち一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内にある2つの三角形メッシュを統合する処理を行い、統合されたメッシュと一辺を共有し且つ法線ベクトルの向きの差分が一定範囲内にある三角形メッシュを繰り返し統合する処理を行い、
前記繰り返し統合する処理の処理結果に基づき、前記対象物の形状を表す形状データを解析する、
処理をコンピュータに実行させる形状解析プログラム。