JP6833150B1 - Machining program search device and machining program search method - Google Patents

Machining program search device and machining program search method Download PDF

Info

Publication number
JP6833150B1
JP6833150B1 JP2020564969A JP2020564969A JP6833150B1 JP 6833150 B1 JP6833150 B1 JP 6833150B1 JP 2020564969 A JP2020564969 A JP 2020564969A JP 2020564969 A JP2020564969 A JP 2020564969A JP 6833150 B1 JP6833150 B1 JP 6833150B1
Authority
JP
Japan
Prior art keywords
model
dimensional model
dimensional
machining
machining program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020564969A
Other languages
Japanese (ja)
Other versions
JPWO2022003828A1 (en
Inventor
晋 松原
晋 松原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6833150B1 publication Critical patent/JP6833150B1/en
Publication of JPWO2022003828A1 publication Critical patent/JPWO2022003828A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/907Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/909Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36225Select and insert program from library, select case, variant
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36337Select similar shape and derive motion defining sentences from original shape
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/16Customisation or personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/06Recognition of objects for industrial automation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Medical Informatics (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Library & Information Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Computational Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Automation & Control Theory (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Numerical Control (AREA)

Abstract

加工プログラム検索装置(100)は、3次元空間における複数の分割空間のそれぞれが第1の3次元モデルの内部、外部または境界部のうちのいずれの部分に位置するかを示す第1の位置情報と、第2の3次元モデルのそれぞれにおいて、複数の分割空間のそれぞれが第2の3次元モデルの内部、外部または境界部のうちのいずれの部分に位置するかを示す複数の第2の位置情報とを取得するモデル変換部(20)と、を備える。加工プログラム検索装置は、第1の位置情報と第2の位置情報とを比較することにより、第1の3次元モデルと第2の3次元モデルとの形状の類似度を判定する類似度判定部(40)と、類似度判定部における判定結果に基づいて、複数の第2の3次元モデルのうち形状の類似度が相対的に高い第2の3次元モデルを機械加工するための加工プログラムをデータベースから検索して取得する登録プログラム取得部(50)と、を備える。The machining program search device (100) has a first position information indicating whether each of the plurality of divided spaces in the three-dimensional space is located inside, outside, or at the boundary portion of the first three-dimensional model. And, in each of the second 3D models, a plurality of second positions indicating whether each of the plurality of divided spaces is located inside, outside, or at the boundary of the second 3D model. A model conversion unit (20) for acquiring information is provided. The machining program search device is a similarity determination unit that determines the degree of similarity in shape between the first three-dimensional model and the second three-dimensional model by comparing the first position information and the second position information. Based on (40) and the determination result in the similarity determination unit, a machining program for machining the second three-dimensional model having a relatively high degree of shape similarity among the plurality of second three-dimensional models is provided. It includes a registration program acquisition unit (50) that searches and acquires from a database.

Description

本開示は、加工対象形状に類似した形状の加工プログラムを検索する加工プログラム検索装置および加工プログラム検索方法に関する。 The present disclosure relates to a machining program search device and a machining program search method for searching a machining program having a shape similar to the shape to be machined.

数値制御(Numerical Control:NC)装置などの制御装置によって制御される工作機械は、加工対象を種々の加工仕上がり形状に機械加工する。工作機械により機械加工を実行するためには、制御装置が、加工プログラムに従って工作機械を制御する必要がある。しかしながら、制御装置が用いる工作機械を制御するための加工プログラムの作成は、多くの時間および経験が必要となるため、加工プログラムの作成を支援する作成支援機能の充実化が進められている。例えば、加工プログラムの作成支援機能としては、ユーザが図面を見ながら加工対象の寸法をNC画面に設定することで加工プログラムを作成する機能、コンピュータ支援設計(Computer-Aided Design:CAD)データを直接読み込んでNCプログラムといった加工プログラムを作成する機能などがある。これらの作成支援機能は、一から加工プログラムを作成することを前提としており、過去に加工プログラムを作成したことのある加工仕上がり形状と類似形状の加工仕上がり形状を加工する場合でも一から加工プログラムを作成するため、加工プログラムの作成効率が悪かった。 A machine tool controlled by a control device such as a Numerical Control (NC) device machines a machining object into various finished shapes. In order to perform machining by a machine tool, the control device needs to control the machine tool according to a machining program. However, since it takes a lot of time and experience to create a machining program for controlling a machine tool used by a control device, the creation support function for supporting the creation of the machining program is being enhanced. For example, as a machining program creation support function, a function for creating a machining program by allowing the user to set the dimensions of the machining target on the NC screen while looking at the drawing, and a computer-aided design (CAD) data directly There is a function to read and create a machining program such as an NC program. These creation support functions are based on the premise that a machining program is created from scratch, and even when machining a machining finish shape that is similar to the machining finish shape for which a machining program has been created in the past, the machining program can be created from scratch. Since it was created, the efficiency of creating the machining program was poor.

ユーザが、加工プログラムを作成する際に、上述の類似形状の加工仕上がり形状に対応する加工プログラムを流用することで作成効率は上がるが、加工プログラムを流用するためには、新たに加工する加工仕上がり形状が、過去に加工プログラムを作成したことのある加工仕上がり形状と類似しているか否かを判別する必要がある。 When the user creates a machining program, the creation efficiency is improved by diverting the machining program corresponding to the above-mentioned machined finish shape of the similar shape, but in order to divert the machining program, the machining finish to be newly machined It is necessary to determine whether or not the shape is similar to the finished machined shape for which a machining program has been created in the past.

特許文献1に記載の検索システムは、3次元形状データベースに対し、3次元形状モデルの一部または全体を検索質問とし、検索質問における部分の形状に類似する3次元形状を3次元データベースから選び出す3次元形状検索に関する技術が開示されている。具体的には、検索システムは、前処理として3次元物体を点群に変換し、多視点レンダリングにより部分形状を抽出し、特徴量抽出として該部分形状の姿勢正規化を行って、多視点からの法線ヒストグラムを用いて第一の特徴ベクトルを求めている。そして、検索システムは、検索質問に対して、3次元物体を点群に変換し、多視点レンダリングにより部分形状を抽出し、特徴量抽出として該部分形状の姿勢正規化を行って、多視点からの法線ヒストグラムを用いて第二の特徴ベクトルを求めている。検索システムは、3次元形状の検索時には、第一の特徴ベクトル及び第二の特徴ベクトル間の相違度を求めて、該相違度の値により検索質問における部分の形状に類似する3次元形状を3次元データベースから選び出す。 The search system described in Patent Document 1 uses a part or the whole of the 3D shape model as a search question for the 3D shape database, and selects a 3D shape similar to the shape of the part in the search question from the 3D database. Techniques related to 3D shape search are disclosed. Specifically, the search system converts a three-dimensional object into a point cloud as a preprocessing, extracts a partial shape by multi-view rendering, and performs posture normalization of the partial shape as a feature extraction, from a multi-viewpoint. The first feature vector is obtained using the normal histogram of. Then, the search system converts the three-dimensional object into a point cloud for the search question, extracts the partial shape by multi-view rendering, performs the posture normalization of the partial shape as the feature amount extraction, and performs the posture normalization of the partial shape from the multi-viewpoint. The second feature vector is obtained using the normal histogram of. When searching for a three-dimensional shape, the search system obtains the degree of difference between the first feature vector and the second feature vector, and uses the value of the difference to obtain a three-dimensional shape similar to the shape of the part in the search question. Select from a dimensional database.

特開2018−136642号公報JP-A-2018-136642

しかしながら、上記特許文献1の技術では、3次元の物体を表す3次元形状モデルを点群に変換し、多視点レンダリングにより画像に変換したのち、法線ヒストグラムを用いて特徴量抽出している。このため、特許文献1の技術では、多視点レンダリングで変換された画像に表れない、3次元の物体の形状内包部および3次元の物体に形成されている穴等による空間を含めた3次元形状を検出できないという問題があった。 However, in the technique of Patent Document 1, a three-dimensional shape model representing a three-dimensional object is converted into a point cloud, converted into an image by multi-view rendering, and then feature quantities are extracted using a normal histogram. Therefore, in the technique of Patent Document 1, a three-dimensional shape including a space formed by a three-dimensional object shape inclusion portion and a hole formed in the three-dimensional object, which does not appear in the image converted by multi-view rendering. There was a problem that it could not be detected.

本開示は、上記に鑑みてなされたものであって、工作機械における機械加工の加工仕上がり形状に類似した形状を加工する加工プログラムをデータベースから自動で容易に検索する加工プログラム検索装置を得ることを目的とする。 The present disclosure has been made in view of the above, and obtains a machining program search device that automatically and easily searches a database for a machining program that processes a shape similar to the finished shape of machining in a machine tool. The purpose.

上述した課題を解決し、目的を達成するために、本開示にかかる加工プログラム検索装置は、工作機械において加工対象を機械加工するための異なる複数の加工プログラムが登録されたデータベースを検索対象とする。加工プログラム検索装置は、新たに加工プログラムが作成される加工対象の加工仕上がり形状を示す3次元モデルである第1の3次元モデルと、データベースに登録された複数の加工プログラムで機械加工された複数の加工対象の加工仕上がり形状を示す3次元モデルである複数の第2の3次元モデルとをX軸、Y軸、Z軸の3軸で構成され、3軸のそれぞれに沿った複数の分割空間で形成された仮想の3次元空間に配置し、第1の3次元モデルにおいて、3次元空間における複数の分割空間のそれぞれが第1の3次元モデルの内部、外部または境界部のうちのいずれの部分に位置するかを示す第1の位置情報と、複数の第2の3次元モデルのそれぞれにおいて、複数の分割空間のそれぞれが第2の3次元モデルの内部、外部または境界部のうちのいずれの部分に位置するかを示す複数の第2の位置情報とを取得するモデル変換部と、を備える。加工プログラム検索装置は、第1の位置情報と第2の位置情報とを比較することにより、第1の3次元モデルと第2の3次元モデルとの形状の類似度を判定する類似度判定部と、類似度判定部における判定結果に基づいて、複数の第2の3次元モデルのうち形状の類似度が相対的に高い第2の3次元モデルを機械加工するための加工プログラムをデータベースから検索して取得する登録プログラム取得部と、を備える。 In order to solve the above-mentioned problems and achieve the object, the machining program search device according to the present disclosure searches a database in which a plurality of different machining programs for machining a machining target in a machine tool are registered. .. The machining program search device includes a first three-dimensional model, which is a three-dimensional model indicating the finished shape of the machining target for which a new machining program is created, and a plurality of machining programs machined by a plurality of machining programs registered in the database. A plurality of second three-dimensional models, which are three-dimensional models indicating the processed finished shape of the processing target, are composed of three axes of X-axis, Y-axis, and Z-axis, and a plurality of divided spaces along each of the three axes. Arranged in the virtual three-dimensional space formed by, in the first three-dimensional model, each of the plurality of divided spaces in the three-dimensional space is either inside, outside, or at the boundary of the first three-dimensional model. In the first position information indicating whether or not the portion is located, and in each of the plurality of second 3D models, each of the plurality of divided spaces is either inside, outside, or the boundary portion of the second 3D model. It is provided with a model conversion unit that acquires a plurality of second position information indicating whether or not it is located in the portion of. The machining program search device is a similarity determination unit that determines the degree of similarity in shape between the first three-dimensional model and the second three-dimensional model by comparing the first position information and the second position information. And, based on the judgment result in the similarity determination unit, a machining program for machining the second 3D model having a relatively high shape similarity among the plurality of 2nd 3D models is searched from the database. It is provided with a registration program acquisition unit to be acquired.

本開示にかかる加工プログラム検索装置は、工作機械における機械加工の加工仕上がり形状に類似した形状を加工する加工プログラムをデータベースから自動で容易に検索することができる、という効果を奏する。 The machining program search device according to the present disclosure has an effect that a machining program for machining a shape similar to the machined finished shape of machining in a machine tool can be automatically and easily searched from a database.

実施の形態1にかかる加工プログラム検索装置の構成を示す図The figure which shows the structure of the machining program search apparatus which concerns on Embodiment 1. 実施の形態1にかかる加工プログラム検索装置が備えるモデル変換部の構成を示す図The figure which shows the structure of the model transformation part which includes the machining program search apparatus which concerns on Embodiment 1. 実施の形態1にかかる加工プログラム検索装置が備える類似度判定部の構成を示す図The figure which shows the structure of the similarity determination part provided in the processing program search apparatus which concerns on Embodiment 1. 実施の形態1にかかる加工プログラム検索装置の処理の手順を示すフローチャートA flowchart showing a processing procedure of the machining program search apparatus according to the first embodiment. 実施の形態1にかかるモデル変換部の格子データ生成部の処理の手順を示すフローチャートA flowchart showing a procedure of processing of the grid data generation unit of the model transformation unit according to the first embodiment. 実施の形態1にかかるモデル変換部の格子データ生成部が取得した3次元モデルデータで示される3次元モデルを描画した一例を示す図The figure which shows an example in which the 3D model shown by the 3D model data acquired by the grid data generation part of the model conversion part which concerns on Embodiment 1 was drawn. 実施の形態1にかかるモデル変換部の格子データ生成部が取得した3次元モデルデータで示される3次元モデルを格子空間上に配置して描画した一例を示す図The figure which shows an example which the 3D model shown by the 3D model data acquired by the lattice data generation part of the model conversion part which concerns on Embodiment 1 was arranged and drawn on the lattice space. 実施の形態1にかかるモデル変換部のデータ圧縮部の処理の手順を示すフローチャートA flowchart showing a procedure of processing of the data compression unit of the model transformation unit according to the first embodiment. 実施の形態1にかかる類似度判定部の処理の手順を示すフローチャートA flowchart showing a procedure of processing of the similarity determination unit according to the first embodiment. 実施の形態1における新規3次元モデルの例を示す図The figure which shows the example of the novel 3D model in Embodiment 1. 実施の形態1における登録3次元モデルの例を示す図The figure which shows the example of the registration 3D model in Embodiment 1. 図11に示す20個の登録3次元モデルから、図10に示す新規3次元モデルに類似する登録3次元モデルとして検索された登録3次元モデルを示す図The figure which shows the registered 3D model searched as the registered 3D model similar to the new 3D model shown in FIG. 10 from the 20 registered 3D models shown in FIG. 実施の形態1における機械学習を用いた類似度判定部の構成を示す図The figure which shows the structure of the similarity determination part using machine learning in Embodiment 1. 実施の形態1にかかる類似度判定部の処理の手順を示すフローチャートA flowchart showing a procedure of processing of the similarity determination unit according to the first embodiment. 実施の形態1においてk−means法で20個の3次元モデルを4つのクラスタにクラスタリングした例における第1クラスタに分類された3次元モデルを示す図The figure which shows the 3D model classified into the 1st cluster in the example of clustering 20 3D models into 4 clusters by the k-means method in Embodiment 1. FIG. 実施の形態1においてk−means法で20個の3次元モデルを4つのクラスタにクラスタリングした例における第2クラスタに分類された3次元モデルを示す図The figure which shows the 3D model classified into the 2nd cluster in the example of clustering 20 3D models into 4 clusters by the k-means method in Embodiment 1. FIG. 実施の形態1においてk−means法で20個の3次元モデルを4つのクラスタにクラスタリングした例における第3クラスタに分類された3次元モデルを示す図The figure which shows the 3D model classified into the 3rd cluster in the example of clustering 20 3D models into 4 clusters by the k-means method in Embodiment 1. FIG. 実施の形態1においてk−means法で20個の3次元モデルを4つのクラスタにクラスタリングした例における第4クラスタに分類された3次元モデルを示す図The figure which shows the 3D model classified into the 4th cluster in the example of clustering 20 3D models into 4 clusters by the k-means method in Embodiment 1. FIG. 実施の形態1にかかる機械学習部の構成を示す図The figure which shows the structure of the machine learning part which concerns on Embodiment 1. 実施の形態1にかかる機械学習装置が用いるニューラルネットワークの構成を示す図The figure which shows the structure of the neural network used by the machine learning apparatus which concerns on Embodiment 1. 図10に示した新規3次元モデルに対する類似度が高い順にソートされた登録3次元モデルを示す図The figure which shows the registered 3D model sorted in descending order of similarity with the new 3D model shown in FIG. 図1に示す加工プログラム検索装置においてデータ拡張を実行するモデル変換部の構成を示す図The figure which shows the structure of the model transformation part which executes the data expansion in the machining program search apparatus shown in FIG. 実施の形態1にかかるモデル変換部で実行されるデータ拡張処理を示すフローチャートA flowchart showing data expansion processing executed by the model transformation unit according to the first embodiment. 実施の形態2にかかる加工プログラム検索装置の構成を示す図The figure which shows the structure of the machining program search apparatus which concerns on Embodiment 2. 実施の形態2にかかる加工プログラム検索装置が備える差異認識部の構成を示す図The figure which shows the structure of the difference recognition part provided in the processing program search apparatus which concerns on Embodiment 2. 実施の形態2にかかる差異認識部の処理の手順を示すフローチャートA flowchart showing a procedure of processing of the difference recognition unit according to the second embodiment.

以下に、実施の形態にかかる加工プログラム検索装置および加工プログラム検索方法を図面に基づいて詳細に説明する。なお、この実施の形態により本開示が限定されるものではない。 The machining program search apparatus and the machining program search method according to the embodiment will be described in detail below with reference to the drawings. The present disclosure is not limited to this embodiment.

実施の形態1.
図1は、実施の形態1にかかる加工プログラム検索装置100の構成を示す図である。加工プログラム検索装置100は、加工対象となるワークの加工後の形状が類似した加工プログラムを検索するコンピュータである。
Embodiment 1.
FIG. 1 is a diagram showing a configuration of a machining program search device 100 according to the first embodiment. The machining program search device 100 is a computer that searches for machining programs having a similar shape after machining of the workpiece to be machined.

加工プログラム検索装置100は、CADシステム110に接続されており、CADシステム110から3次元モデルデータを取得する。3次元モデルデータは、加工対象となるワークの加工後の形状である3次元の加工仕上がり形状を示す、加工形状データである。すなわち、3次元モデルは、加工対象の加工仕上がり形状と換言できる。3次元モデルデータには、ワークの加工仕上がり形状の情報およびワークの加工仕上がり形状の幾何情報が含まれる。幾何情報は、座標系における3次元形状の情報である。加工プログラム検索装置100は、取得した3次元モデルデータに基づいて、3次元モデルデータで示される形状に類似する形状の3次元モデルを検索し、検索した3次元モデルと、この3次元モデルに対応する加工プログラムを出力する。以下、3次元モデルを単にモデルと呼ぶ場合がある。 The machining program search device 100 is connected to the CAD system 110 and acquires three-dimensional model data from the CAD system 110. The three-dimensional model data is processed shape data showing a three-dimensional processed finished shape which is a shape of the work to be processed after processing. That is, the three-dimensional model can be rephrased as the processed finished shape to be processed. The three-dimensional model data includes information on the machined finished shape of the work and geometric information on the machined finished shape of the work. Geometric information is information on a three-dimensional shape in a coordinate system. The machining program search device 100 searches for a 3D model having a shape similar to the shape shown in the 3D model data based on the acquired 3D model data, and corresponds to the searched 3D model and this 3D model. Output the machining program to be performed. Hereinafter, the three-dimensional model may be simply referred to as a model.

加工プログラム検索装置100は、情報が入力される入力部11と、情報を表示する表示部12と、情報を出力する出力部13と、各種処理を実行するプロセッサ14と、情報を記憶するメモリ15と、を有する。 The processing program search device 100 includes an input unit 11 for inputting information, a display unit 12 for displaying information, an output unit 13 for outputting information, a processor 14 for executing various processes, and a memory 15 for storing information. And have.

CADシステム110は、3次元(three-dimensional:3D)CADによって、加工対象となるワークの3次元の加工仕上がり形状を示す加工形状データを作成する。 The CAD system 110 creates machined shape data indicating a three-dimensional machined finished shape of the work to be machined by three-dimensional (3D) CAD.

入力部11は、加工プログラム検索装置100の外部の外部装置であるCADシステム110から、CADシステム110で作成されたCADデータからなる3次元モデルデータを受け付けて、後述するモデル変換部20に送信する。すなわち、入力部11は、加工形状データが入力される加工形状データ入力部として機能する。 The input unit 11 receives the three-dimensional model data composed of the CAD data created by the CAD system 110 from the CAD system 110, which is an external device external to the machining program search device 100, and transmits the three-dimensional model data to the model conversion unit 20 described later. .. That is, the input unit 11 functions as a processing shape data input unit into which processing shape data is input.

ただし、3次元モデルデータはCADデータに限定されない。3次元モデルデータは、加工プログラム検索装置100において解釈可能なデータであればよい。表示部12は、画面にて情報を表示してユーザに提示する。出力部13は、加工プログラム検索装置100の外部に情報を出力してユーザに提示する。 However, the three-dimensional model data is not limited to CAD data. The three-dimensional model data may be any data that can be interpreted by the machining program search device 100. The display unit 12 displays information on the screen and presents it to the user. The output unit 13 outputs information to the outside of the machining program search device 100 and presents it to the user.

プロセッサ14は、CPU(Central Processing Unit)、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、又はDSP(Digital Signal Processor)である。メモリ15は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)またはEEPROM(登録商標)(Electrically Erasable Programmable Read Only Memory)、HDD(Hard Disk Drive)またはSSD(Solid State Drive)を含む。加工プログラム検索装置100の処理プログラムは、メモリ15に格納される。プロセッサ14は、メモリ15に格納されているプログラムを実行する。 The processor 14 is a CPU (Central Processing Unit), a processing unit, an arithmetic unit, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor). The memory 15 includes RAM (Random Access Memory), ROM (Read Only Memory), flash memory, EPROM (Erasable Programmable Read Only Memory) or EEPROM (registered trademark) (Electrically Erasable Programmable Read Only Memory), HDD (Hard Disk Drive). Or SSD (Solid State Drive) is included. The processing program of the processing program search device 100 is stored in the memory 15. The processor 14 executes a program stored in the memory 15.

メモリ15は、データベース60と、加工プログラム検索装置100の不図示の処理プログラム等を記憶する。 The memory 15 stores a database 60, a processing program (not shown) of the processing program search device 100, and the like.

データベース60は、3次元モデルデータを格納する。本実施の形態1では、データベース60が、モデルデータD1からモデルデータDN(Nは自然数)を記憶している場合について説明する。モデルデータD1からモデルデータDNのそれぞれは、3次元モデルデータと、この3次元モデルデータで示される加工仕上がり形状を加工する加工プログラムとを含んでいる。このように、データベース60は、3次元モデルデータと加工プログラムとの組み合わせを複数組記憶している。3次元モデルデータの加工プログラムは、3次元モデルデータに対応する加工仕上がり形状を加工する際に用いられるプログラムである。モデルデータD1からモデルデータDNのそれぞれは、入力部11から入力されてデータベース60に記憶される。 The database 60 stores three-dimensional model data. In the first embodiment, the case where the database 60 stores the model data DN (N is a natural number) from the model data D1 will be described. Each of the model data D1 to the model data DN includes a three-dimensional model data and a processing program for processing the processed finished shape indicated by the three-dimensional model data. In this way, the database 60 stores a plurality of sets of combinations of the three-dimensional model data and the processing program. The processing program for the three-dimensional model data is a program used when processing the processed finished shape corresponding to the three-dimensional model data. Each of the model data D1 to the model data DN is input from the input unit 11 and stored in the database 60.

なお、以下の説明では、モデルデータD1からモデルデータDNを識別する必要が無い場合には、モデルデータD1からモデルデータDNの何れかを、モデルデータDxという場合がある。第x(xは1からNの何れかの自然数)のモデルデータDxは、第xの3次元モデルデータと、第xの3次元モデルデータに対応する加工プログラムと、を含んでいる。このように、モデルデータDxでは、第xの3次元モデルデータと第xの加工プログラムとが対応付けされている。すなわち、データベース60には、3次元モデルと、この3次元モデルに対応するワークを加工する際に用いられる加工プログラムと、が紐付けられて記憶されている。 In the following description, when it is not necessary to identify the model data DN from the model data D1, any one of the model data D1 to the model data DN may be referred to as model data Dx. The model data Dx of the xth (x is a natural number of any one of 1 to N) includes the 3D model data of the x and the processing program corresponding to the 3D model data of the xth. In this way, in the model data Dx, the xth three-dimensional model data and the xth machining program are associated with each other. That is, the database 60 stores the three-dimensional model and the machining program used when machining the work corresponding to the three-dimensional model in association with each other.

なお、データベース60は、加工プログラム検索装置100の外部に配置されていてもよい。すなわち、データベース60は、加工プログラム検索装置100の外部装置であってもよい。 The database 60 may be arranged outside the machining program search device 100. That is, the database 60 may be an external device of the machining program search device 100.

図1には、プロセッサ14を使用することによって実現される加工プログラム検索装置100の機能構成を示している。加工プログラム検索装置100は、モデル変換部20と、登録モデル取得部30と、類似度判定部40と、登録プログラム取得部50と、を備える。 FIG. 1 shows the functional configuration of the machining program search device 100 realized by using the processor 14. The machining program search device 100 includes a model transformation unit 20, a registration model acquisition unit 30, a similarity determination unit 40, and a registration program acquisition unit 50.

登録モデル取得部30は、データベース60に登録されているモデルデータDxから、3次元モデルデータを取得する。登録モデル取得部30は、取得した3次元モデルデータを、モデル変換部20に送る。登録モデル取得部30は、データベース60の3次元モデルデータをコピーして取得する。すなわち、登録モデル取得部30は、データベース60に3次元モデルデータを残したまま3次元モデルデータを取得する。 The registration model acquisition unit 30 acquires three-dimensional model data from the model data Dx registered in the database 60. The registered model acquisition unit 30 sends the acquired three-dimensional model data to the model conversion unit 20. The registration model acquisition unit 30 copies and acquires the three-dimensional model data of the database 60. That is, the registration model acquisition unit 30 acquires the three-dimensional model data while leaving the three-dimensional model data in the database 60.

モデル変換部20は、3次元モデルデータで示される3次元モデルのデータ変換を行う。モデル変換部20は、入力部11から取得した3次元モデルデータで示される3次元モデルと、登録モデル取得部30から取得した3次元モデルデータで示される3次元モデルとを、格子データにデータ変換する。モデル変換部20は、データ変換した格子データを類似度判定部40に送信する。 The model conversion unit 20 performs data conversion of the three-dimensional model represented by the three-dimensional model data. The model conversion unit 20 converts the 3D model represented by the 3D model data acquired from the input unit 11 and the 3D model represented by the 3D model data acquired from the registered model acquisition unit 30 into grid data. To do. The model transformation unit 20 transmits the data-converted grid data to the similarity determination unit 40.

以下の説明では、モデル変換部20が入力部11から取得した3次元モデルデータで示される3次元モデルを新規3次元モデルと呼び、モデル変換部20が登録モデル取得部30から取得した3次元モデルデータで示される3次元モデルを登録3次元モデルと呼ぶ場合がある。また、新規3次元モデルに対応する格子データを新規格子データと呼び、登録3次元モデルに対応する格子データを登録格子データと呼ぶ場合がある。また、新規3次元モデルを第1の3次元モデルとすると、登録3次元モデルは第2の3次元モデルといえる。 In the following description, the 3D model represented by the 3D model data acquired from the input unit 11 by the model conversion unit 20 is called a new 3D model, and the 3D model acquired by the model conversion unit 20 from the registered model acquisition unit 30. The 3D model indicated by the data may be called a registered 3D model. Further, the grid data corresponding to the new 3D model may be referred to as new grid data, and the grid data corresponding to the registered 3D model may be referred to as registered grid data. Further, if the new 3D model is the first 3D model, the registered 3D model can be said to be the second 3D model.

図2は、実施の形態1にかかる加工プログラム検索装置100が備えるモデル変換部20の構成を示す図である。モデル変換部20は、格子データ生成部21と、データ圧縮部22とを備える。 FIG. 2 is a diagram showing a configuration of a model transformation unit 20 included in the machining program search device 100 according to the first embodiment. The model transformation unit 20 includes a grid data generation unit 21 and a data compression unit 22.

格子データ生成部21は、3次元モデルデータで示される3次元モデルに基づいて格子データを生成する。格子データは、3次元モデルの形状を3次元座標における仮想の3次元空間である格子ごとに分割してデータ化したものである。格子データ生成部21は、新規3次元モデルの新規格子データを生成し、新規3次元モデルを新規格子データに変換する。また、格子データ生成部21は、登録3次元モデルの登録格子データを生成し、登録3次元モデルを登録格子データに変換する。格子データを作成する際に用いる仮想の3次元空間は、X軸、Y軸、Z軸の3軸で構成されている。そして、仮想の3次元空間は、これら3軸のそれぞれに沿って仮想の3次元空間を分割する複数の分割空間で形成されている。格子データは、この仮想の3次元空間に3次元モデルを配置して作成される。つまり、新規格子データは、仮想の3次元空間における複数に分割された複数の分割空間のそれぞれが第1の3次元モデルの内部、外部または境界部のうちのいずれの部分に位置するかを示す第1の位置情報といえる。また、登録格子データは、仮想の3次元空間における複数に分割された複数の分割空間のそれぞれが第2の3次元モデルの内部、外部または境界部のうちのいずれの部分に位置するかを示す第2の位置情報といえる。 The grid data generation unit 21 generates grid data based on the three-dimensional model represented by the three-dimensional model data. The grid data is obtained by dividing the shape of the three-dimensional model into data for each grid, which is a virtual three-dimensional space in three-dimensional coordinates. The grid data generation unit 21 generates new grid data of the new three-dimensional model and converts the new three-dimensional model into new grid data. Further, the grid data generation unit 21 generates the registered grid data of the registered 3D model and converts the registered 3D model into the registered grid data. The virtual three-dimensional space used when creating the grid data is composed of three axes of X-axis, Y-axis, and Z-axis. The virtual three-dimensional space is formed by a plurality of divided spaces that divide the virtual three-dimensional space along each of these three axes. The grid data is created by arranging a 3D model in this virtual 3D space. That is, the new lattice data indicates whether each of the plurality of divided spaces in the virtual three-dimensional space is located inside, outside, or at the boundary of the first three-dimensional model. It can be said to be the first position information. In addition, the registered lattice data indicates whether each of the plurality of divided spaces in the virtual three-dimensional space is located inside, outside, or at the boundary of the second three-dimensional model. It can be said to be the second position information.

データ圧縮部22は、格子データ生成部21において生成された登録格子データおよび新規格子データから、予め決められた複数の選択数の格子ブロックの格子データを選択し、複数の選択数の格子データを1つの圧縮格子データに圧縮する。 The data compression unit 22 selects the grid data of a plurality of predetermined grid blocks from the registered grid data and the new grid data generated by the grid data generation unit 21, and selects the grid data of a plurality of selections. Compress into one compression grid data.

類似度判定部40は、入力部11から取得した3次元モデルデータで示される3次元モデルと、データベース60から取得した3次元モデルデータで示される3次元モデルと、の形状の類似度を判定する。類似度判定部40は、新規3次元モデルの格子データと登録3次元モデルの格子データとの類似度を判定することにより、新規3次元モデルと登録3次元モデルとの形状の類似度を判定する。 The similarity determination unit 40 determines the degree of similarity in shape between the three-dimensional model indicated by the three-dimensional model data acquired from the input unit 11 and the three-dimensional model indicated by the three-dimensional model data acquired from the database 60. .. Similarity determination unit 40, by determining the similarity between the grid data of grid data and the registered three-dimensional model of the new three-dimensional model, determining the similarity of the shape of the new three-dimensional model with the registered three-dimensional model ..

図3は、実施の形態1にかかる加工プログラム検索装置100が備える類似度判定部40の構成を示す図である。類似度判定部40は、ハッシュ値算出部41と、ハミング距離算出部42と、ハミング距離ソート部43と、を備える。 FIG. 3 is a diagram showing a configuration of a similarity determination unit 40 included in the machining program search device 100 according to the first embodiment. The similarity determination unit 40 includes a hash value calculation unit 41, a Hamming distance calculation unit 42, and a Hamming distance sorting unit 43.

ハッシュ値算出部41は、モデル変換部20において3次元モデルが変換された格子データから、ハッシュ値を算出する。ハッシュ値算出部41は、算出したハッシュ値をハミング距離算出部42に送信する。 The hash value calculation unit 41 calculates the hash value from the grid data obtained by converting the three-dimensional model in the model conversion unit 20. The hash value calculation unit 41 transmits the calculated hash value to the Hamming distance calculation unit 42.

ハッシュ値とは、元になるデータから予め決められた計算手順により求められた、規則性のない固定長の値である。ハッシュ値を求めるための計算手順は、ハッシュ関数、要約関数、メッセージダイジェスト関数などと呼ばれる。ハッシュ値は、元のデータの長さに依らず予め決められた長さとなっており、同じデータからは必ず同じハッシュ値が得られる。一方、ハッシュ値は、少しでも異なるデータ複数のデータからは、全く異なるハッシュ値が得られる。ハッシュ値は、不可逆で情報量の欠損を含む計算過程を経て算出される。このため、ハッシュ値から元のデータを復元することはできない。 The hash value is a non-regular fixed-length value obtained from the original data by a predetermined calculation procedure. The calculation procedure for obtaining the hash value is called a hash function, a summary function, a message digest function, or the like. The hash value has a predetermined length regardless of the length of the original data, and the same hash value can always be obtained from the same data. On the other hand, the hash values are slightly different data. A completely different hash value can be obtained from a plurality of data. The hash value is calculated through a calculation process that is irreversible and includes a loss of information. Therefore, the original data cannot be restored from the hash value.

ハミング距離算出部42は、新規3次元モデルのハッシュ値と、1つの登録3次元モデルのハッシュ値とからハミング距離を算出する。ハミング距離とは、桁数が同じ2つの値を比べたとき、2つの値において対応する位置にある異なった値の桁の個数のことである。桁数が同じ2つの値を比べたとき、ハミング距離が小さい方が、類似度が高いと判定される。ハミング距離算出部42は、算出したハミング距離をハミング距離ソート部43に送信する。 The Hamming distance calculation unit 42 calculates the Hamming distance from the hash value of the new 3D model and the hash value of one registered 3D model. The Hamming distance is the number of digits of different values at the corresponding positions in the two values when comparing two values having the same number of digits. When two values with the same number of digits are compared, it is determined that the smaller the Hamming distance, the higher the similarity. The Hamming distance calculation unit 42 transmits the calculated Hamming distance to the Hamming distance sorting unit 43.

ハミング距離ソート部43は、ハミング距離算出部42において算出された全ての登録3次元モデルのハミング距離に基づいて、新規3次元モデルに対する全ての登録3次元モデルの類似度を判定する。 The Hamming distance sorting unit 43 determines the similarity of all registered 3D models to the new 3D model based on the Hamming distances of all registered 3D models calculated by the Hamming distance calculating unit 42.

登録プログラム取得部50は、類似度判定部40において判定された類似度に基づいて、新規3次元モデルで示される形状と類似度が高い登録3次元モデルの加工プログラムをデータベース60から取得する。つまり、登録プログラム取得部50は、類似度判定部40における判定結果に基づいて、複数の第2の3次元モデルのうち形状の類似度が相対的に高い第2の3次元モデルを機械加工するための加工プログラムをデータベース60から検索して取得すると言える。登録プログラム取得部50は、類似度が高い登録3次元モデルと、この登録3次元モデルに対応付けされた加工プログラムと、を対応付けして出力部13に出力する。 The registration program acquisition unit 50 acquires a processing program of the registered 3D model having a high degree of similarity to the shape shown by the new 3D model from the database 60 based on the similarity determined by the similarity determination unit 40. That is, the registration program acquisition unit 50 machines the second three-dimensional model having a relatively high degree of shape similarity among the plurality of second three-dimensional models based on the determination result in the similarity determination unit 40. It can be said that the machining program for this purpose is searched from the database 60 and obtained. The registration program acquisition unit 50 outputs the registered three-dimensional model having a high degree of similarity to the output unit 13 in association with the processing program associated with the registered three-dimensional model.

つぎに、加工プログラム検索装置100が実行する検索処理の全体の処理手順について説明する。図4は、実施の形態1にかかる加工プログラム検索装置100の処理の手順を示すフローチャートである。 Next, the entire processing procedure of the search process executed by the machining program search device 100 will be described. FIG. 4 is a flowchart showing a processing procedure of the machining program search apparatus 100 according to the first embodiment.

ステップS1において、モデル変換部20が、入力部11を介してCADシステム110から3次元モデルデータを取得する。 In step S1, the model transformation unit 20 acquires the three-dimensional model data from the CAD system 110 via the input unit 11.

ステップS2において、モデル変換部20が、データベース60に登録されている全ての3次元モデルデータを取得する。具体的に、登録モデル取得部30が、データベース60から全ての3次元モデルデータを取得し、モデル変換部20に送信する。 In step S2, the model transformation unit 20 acquires all the three-dimensional model data registered in the database 60. Specifically, the registered model acquisition unit 30 acquires all the three-dimensional model data from the database 60 and transmits it to the model conversion unit 20.

ステップS3において、モデル変換部20が、3次元モデルデータに示される3次元モデルを格子データにデータ変換する。すなわち、モデル変換部20が、CADシステム110から取得した3次元モデルデータに示される新規3次元モデルと、データベース60から取得した3次元モデルデータに示される登録3次元モデルと、を格子データにデータ変換する。 In step S3, the model conversion unit 20 converts the 3D model shown in the 3D model data into grid data. That is, the model conversion unit 20 data the new 3D model shown in the 3D model data acquired from the CAD system 110 and the registered 3D model shown in the 3D model data acquired from the database 60 into grid data. Convert.

モデル変換部20で実行される処理について説明する。まず、格子データ生成部21で実行される処理について説明する。図5は、実施の形態1にかかるモデル変換部20の格子データ生成部21の処理の手順を示すフローチャートである。モデル変換部20は、入力部11から取得した新規3次元モデルと、登録モデル取得部30がデータベース60から取得した全ての登録3次元モデルとを格子データに変換する。 The process executed by the model transformation unit 20 will be described. First, the process executed by the grid data generation unit 21 will be described. FIG. 5 is a flowchart showing a processing procedure of the grid data generation unit 21 of the model transformation unit 20 according to the first embodiment. The model conversion unit 20 converts the new 3D model acquired from the input unit 11 and all the registered 3D models acquired from the database 60 by the registration model acquisition unit 30 into grid data.

上述したようにデータベース60には、3次元モデルデータと、この3次元モデルデータで示される加工仕上がり形状を加工する加工プログラムとが対応付けられて記憶されている。登録モデル取得部30はデータベース60に接続し、データベース60から登録されている全ての3次元モデルデータを取得する。 As described above, the database 60 stores the three-dimensional model data and the machining program for machining the machined finished shape indicated by the three-dimensional model data in association with each other. The registration model acquisition unit 30 connects to the database 60 and acquires all the three-dimensional model data registered from the database 60.

ステップS10において、格子データ生成部21は、3次元モデルデータで示される3次元モデルを予め決められた仮想の3次元空間である格子空間上に配置する。具体的に、格子データ生成部21は、入力部11から取得した3次元モデルデータで示される3次元モデルの形状を生成して、X軸、Y軸、Z軸の3軸が予め決められた長さからなる格子空間上に配置する。格子空間は、仮想の3次元空間であり、予め決められた長さからなる複数の分割空間である格子が3軸のそれぞれに沿って3次元に配列された空間である。すなわち、格子データ生成部21は、3次元モデルを3軸が予め決められた長さからなり、複数の格子が配列された格子空間の座標系上に配置する。 In step S10, the lattice data generation unit 21 arranges the three-dimensional model represented by the three-dimensional model data on the lattice space which is a predetermined virtual three-dimensional space. Specifically, the lattice data generation unit 21 generates the shape of the three-dimensional model shown by the three-dimensional model data acquired from the input unit 11, and the three axes of the X-axis, the Y-axis, and the Z-axis are predetermined. Arrange in a lattice space consisting of lengths. The reciprocal space is a virtual three-dimensional space, and is a space in which lattices, which are a plurality of divided spaces having predetermined lengths, are arranged three-dimensionally along each of the three axes. That is, the lattice data generation unit 21 arranges the three-dimensional model on the coordinate system of the lattice space in which the three axes have predetermined lengths and a plurality of lattices are arranged.

図6は、実施の形態1にかかるモデル変換部20の格子データ生成部21が取得した3次元モデルデータで示される3次元モデルを描画した一例を示す図である。図7は、実施の形態1にかかるモデル変換部20の格子データ生成部21が取得した3次元モデルデータで示される3次元モデルを格子空間上に配置して描画した一例を示す図である。 FIG. 6 is a diagram showing an example in which a three-dimensional model shown by the three-dimensional model data acquired by the grid data generation unit 21 of the model conversion unit 20 according to the first embodiment is drawn. FIG. 7 is a diagram showing an example in which a three-dimensional model represented by the three-dimensional model data acquired by the lattice data generation unit 21 of the model conversion unit 20 according to the first embodiment is arranged and drawn on the lattice space.

格子空間は、格子として例えば1mm四方の立方体を1つの格子ブロックとして、3次元座標上にX軸方向、Y軸方向およびZ軸方向のそれぞれの方向に200個ずつ格子ブロックが配置された、200×200×200=8000000個の格子ブロックから構成される仮想3次元空間が例示される。格子ブロックの大きさおよび個数は、扱う3次元モデルにより、適宜変更されればよい。 In the lattice space, for example, a 1 mm square cube is regarded as one lattice block, and 200 lattice blocks are arranged in each of the X-axis direction, the Y-axis direction, and the Z-axis direction on three-dimensional coordinates. An example is a virtual three-dimensional space composed of × 200 × 200 = 8000000 lattice blocks. The size and number of grid blocks may be appropriately changed depending on the three-dimensional model to be handled.

ステップS20において、格子データ生成部21は、格子ブロックの頂点で3次元モデルの形状の内外判定を行う。具体的には、格子データ生成部21は、格子空間の全格子ブロックのそれぞれの頂点の3次元座標値について、3次元モデルの内部にあるのか、3次元モデルの外部にあるのか、または3次元モデルの境界にあるのかを判定する。格子ブロックの頂点の3次元座標値が3次元モデルの内部、外部、または境界のうちのどこにあるのかの判定は、公知のソリッドモデルの形状の内外判定処理を行うことによって行うことができる。 In step S20, the grid data generation unit 21 determines the inside and outside of the shape of the three-dimensional model at the vertices of the grid block. Specifically, the lattice data generation unit 21 has the three-dimensional coordinate values of the respective vertices of all the lattice blocks in the lattice space inside the three-dimensional model, outside the three-dimensional model, or three-dimensional. Determine if it is at the boundary of the model. The determination of where the three-dimensional coordinate values of the vertices of the lattice block are inside, outside, or the boundary portion of the three-dimensional model can be performed by performing an inside / outside determination process of the shape of a known solid model.

格子データ生成部21は、格子ブロックの頂点の3次元座標値が、3次元モデルの内部にあると判定された格子ブロックの頂点に、値:1を割り当てる。格子データ生成部21は、格子ブロックの頂点の3次元座標値が、3次元モデルの外部にあると判定された格子ブロックの頂点に、値:0を割り当てる。格子データ生成部21は、格子ブロックの頂点の3次元座標値が、3次元モデルの境界にあると判定された格子ブロックの頂点に、値:0.5を割り当てる。 The lattice data generation unit 21 assigns a value of 1 to the vertices of the lattice block determined that the three-dimensional coordinate values of the vertices of the lattice block are inside the three-dimensional model. The lattice data generation unit 21 assigns a value: 0 to the vertices of the lattice block determined that the three-dimensional coordinate values of the vertices of the lattice block are outside the three-dimensional model. Grid data generation unit 21, the three-dimensional coordinate values of the vertices of the lattice block, the apex of the determined lattice block and the boundary portion of the three-dimensional model, a value: Assign 0.5.

ステップS30において、格子データ生成部21は、1つの格子ブロックの全頂点に割り当てられた値の総和を頂点数で割り、算出した値を格子ブロックに割り当てる。以下、格子ブロックに割り当てられた値を、格子データと呼ぶ。格子データ生成部21は、以上の処理を全ての格子ブロックに対して実施することにより、入力部11から取得した新規3次元モデルの新規格子データを生成し、新規3次元モデルを新規格子データに変換する。これにより、第1の3次元モデルにおいて、3次元空間における分割空間のそれぞれが3次元モデルの内部、外部または境界部のいずれの部分に位置するかを示す第1の位置情報として新規格子データを取得することができる。 In step S30, the grid data generation unit 21 divides the sum of the values assigned to all the vertices of one grid block by the number of vertices, and assigns the calculated value to the grid block. Hereinafter, the value assigned to the grid block is referred to as grid data. The grid data generation unit 21 generates new grid data of the new 3D model acquired from the input unit 11 by performing the above processing on all the grid blocks, and converts the new 3D model into new grid data. Convert. As a result, in the first 3D model, new lattice data is used as the first position information indicating whether each of the divided spaces in the 3D space is located inside, outside, or the boundary portion of the 3D model. Can be obtained.

ステップS30で行われる格子データの格子ブロックへの割り当ては、例えば、1つの格子ブロックの全8頂点が3次元モデルの内部にある場合には、格子ブロックには値:1=8/8が割り当てられる。1つの格子ブロックの全8頂点が3次元モデルの外部にある場合には、格子ブロックには値:0=0/8が割り当てられる。1つの格子データにおける7頂点が3次元モデルの内部にあり、1頂点が3次元モデルの外部にある場合には、格子ブロックには0.875=7/8が割り当てられる。1つの格子ブロックの5頂点が3次元モデルの内部にあり、2頂点が3次元モデルの外部にあり、1頂点が3次元モデルの境界にある場合には、格子ブロックに0.6875=5.5/8が割り当てられる。 In the allocation of the grid data to the grid blocks performed in step S30, for example, when all eight vertices of one grid block are inside the three-dimensional model, the value: 1 = 8/8 is assigned to the grid blocks. Be done. When all eight vertices of one grid block are outside the three-dimensional model, the grid block is assigned a value: 0 = 0/8. If seven vertices in one grid data are inside the 3D model and one vertex is outside the 3D model, the grid block is assigned 0.875 = 7/8. If the 5 vertices of one grid block are inside the 3D model, the 2 vertices are outside the 3D model, and the 1 vertex is at the boundary of the 3D model, then 0.6875 = 5 in the grid block. .5 / 8 is assigned.

そして、格子データ生成部21は、登録モデル取得部30から取得したすべての登録3次元モデルについても、登録3次元モデルのそれぞれに対し、上記の処理を行って格子データを生成し、登録3次元モデルを登録格子データに変換する。これにより、第2の3次元モデルのそれぞれにおいて、3次元空間における分割空間のそれぞれが3次元モデルの内部、外部または境界部のいずれの部分に位置するかを示す複数の第2の位置情報として、複数の登録格子データを取得することができる。格子データ生成部21は、生成した新規格子データと登録格子データとをデータ圧縮部22に送信する。 Then, the lattice data generation unit 21 performs the above processing on each of the registered 3D models for all the registered 3D models acquired from the registered model acquisition unit 30 to generate lattice data, and the registered 3D model is generated. Convert the model to registered grid data. As a result, in each of the second three-dimensional models, as a plurality of second position information indicating whether each of the divided spaces in the three-dimensional space is located inside, outside, or the boundary portion of the three-dimensional model. , Multiple registered grid data can be acquired. The grid data generation unit 21 transmits the generated new grid data and the registered grid data to the data compression unit 22.

格子データ生成部21は、新規3次元モデルと、新規3次元モデルに対応する新規格子データと、を対応付けてデータ圧縮部22に送信する。また、格子データ生成部21は、登録3次元モデルと、登録3次元モデルに対応する登録格子データと、を関連付けてデータ圧縮部22に送信する。 The grid data generation unit 21 transmits the new three-dimensional model and the new grid data corresponding to the new three-dimensional model to the data compression unit 22 in association with each other. Further, the grid data generation unit 21 transmits the registered three-dimensional model and the registered grid data corresponding to the registered three-dimensional model to the data compression unit 22 in association with each other.

次に、データ圧縮部22で実行される処理について説明する。図8は、実施の形態1にかかるモデル変換部20のデータ圧縮部22の処理の手順を示すフローチャートである。 Next, the process executed by the data compression unit 22 will be described. FIG. 8 is a flowchart showing a procedure of processing of the data compression unit 22 of the model transformation unit 20 according to the first embodiment.

ステップS110において、データ圧縮部22は、格子データ生成部21において生成された新規格子データから、予め決められた複数の選択数の格子ブロックの格子データを選択する。選択数は、データ圧縮部22が格子データを圧縮するために選択する複数の格子ブロックの数であり、圧縮する格子データの数に対応する。そして、データ圧縮部22は、選択した複数の格子ブロックに割り当てられた格子データの総和を算出する。 In step S110, the data compression unit 22 selects the grid data of a plurality of predetermined grid blocks from the new grid data generated by the grid data generation unit 21. The number of selections is the number of a plurality of grid blocks selected by the data compression unit 22 to compress the grid data, and corresponds to the number of grid data to be compressed. Then, the data compression unit 22 calculates the total sum of the grid data assigned to the selected plurality of grid blocks.

ステップS120において、データ圧縮部22は、求めた格子データの総和を選択数で割り、算出した値を、選択数の格子ブロックからなる1つの圧縮化格子ブロックの格子データである、圧縮格子データとしてデータを割り当てる。圧縮格子データは、選択数の格子ブロックからなる1つの圧縮化格子ブロックに割り当てられる、選択数の格子ブロックの格子データが圧縮された格子データである。これにより、データ圧縮部22は、予め決められた複数の選択数の格子データを1つの圧縮格子データに圧縮することができる。 In step S120, the data compression unit 22 divides the sum of the obtained grid data by the number of selections, and divides the calculated value as the compression grid data which is the grid data of one compression grid block composed of the selections of grid blocks. Allocate data. The compressed grid data is grid data in which the grid data of the selected grid blocks is compressed, which is assigned to one compressed grid block composed of the selected grid blocks. As a result, the data compression unit 22 can compress a plurality of predetermined number of selected grid data into one compressed grid data.

格子データを1/2に圧縮する場合は、選択数は、2の3乗=8とされればよい。格子データを1/4に圧縮する場合は、選択数は、4の3乗=64とされればよい。たとえば8個の格子ブロックを選択して格子データを1/2に圧縮する場合、選択した8個の格子ブロックの格子データがすべて1である場合は、圧縮化格子ブロックの圧縮格子データの値は1となる。8個の格子ブロックを選択して格子データを1/2に圧縮する場合、選択した8個の格子ブロックのうち、7個の格子ブロックの格子データが1であり、且つ1個の格子ブロックの格子データが0.75である場合は、圧縮化格子ブロックの圧縮格子データの値は0.96875=7.75/8となる。 When compressing the grid data in half, the number of selections may be 2 to the 3rd power = 8. When compressing the grid data to 1/4, the number of selections may be 4 to the 3rd power = 64. For example, when 8 grid blocks are selected and the grid data is compressed in half, if the grid data of the selected 8 grid blocks is all 1, the value of the compressed grid data of the compressed grid block is It becomes 1. When 8 grid blocks are selected and the grid data is compressed in half, the grid data of 7 grid blocks out of the 8 selected grid blocks is 1, and the grid data of 1 grid block When the grid data is 0.75, the value of the compressed grid data of the compressed grid block is 0.96875 = 7.75 / 8.

データ圧縮部22は、上記の処理を3次元モデルの全格子データに対して実施することにより、3次元モデルの格子データの圧縮を行う。なお、格子データを必ず圧縮する必要はなく、計算機の能力、計算機の使用環境、計算機の計算コスト等の諸条件により、圧縮率を決めればよい。 The data compression unit 22 compresses the grid data of the three-dimensional model by performing the above processing on all the grid data of the three-dimensional model. It is not always necessary to compress the grid data, and the compression rate may be determined according to various conditions such as the capacity of the computer, the usage environment of the computer, and the calculation cost of the computer.

データ圧縮部22は、上記の処理を、格子データ生成部21から取得した新規格子データと登録格子データとの全てに対して行う。データ圧縮部22は、新規格子データと登録格子データとについての、圧縮された格子データである圧縮格子データを、類似度判定部40に送信する。 The data compression unit 22 performs the above processing on all of the new grid data and the registered grid data acquired from the grid data generation unit 21. The data compression unit 22 transmits the compressed grid data, which is the compressed grid data of the new grid data and the registered grid data, to the similarity determination unit 40.

データ圧縮部22は、新規3次元モデルと、新規3次元モデルに対応する圧縮新規格子データと、を対応付けて類似度判定部40に送信する。圧縮新規格子データは、圧縮された新規格子データである。また、データ圧縮部22は、登録3次元モデルと、登録3次元モデルに対応する圧縮登録格子データと、を対応付けて類似度判定部40に送信する。圧縮登録格子データは、圧縮された登録格子データである。 The data compression unit 22 transmits the new three-dimensional model and the compressed new grid data corresponding to the new three-dimensional model to the similarity determination unit 40 in association with each other. The compressed new grid data is the compressed new grid data. Further, the data compression unit 22 transmits the registered three-dimensional model and the compressed registration grid data corresponding to the registered three-dimensional model to the similarity determination unit 40 in association with each other. The compressed registration grid data is compressed registration grid data.

図4に戻り、ステップS4において、類似度判定部40が、新規3次元モデルと登録3次元モデルとの形状の類似度を判定する。具体的に、類似度判定部40は、新規3次元モデルの格子データと登録3次元モデルの格子データとの類似度を判定して、新規3次元モデルと登録3次元モデルとの形状の類似度を判定する。すなわち、本実施の形態1では、類似度判定部40は、新規3次元モデルに対応する圧縮新規格子データと登録3次元モデルに対応する圧縮登録格子データとを比較して、圧縮新規格子データと圧縮登録格子データとの類似度を判定する。 Returning to FIG. 4, in step S4, the similarity determination unit 40 determines the degree of similarity in shape between the new three-dimensional model and the registered three-dimensional model. Specifically, the similarity determination unit 40 determines the similarity between the lattice data of the new 3D model and the lattice data of the registered 3D model , and determines the degree of similarity in shape between the new 3D model and the registered 3D model. To judge. That is, in the first embodiment, the similarity determination unit 40 compares the compressed new grid data corresponding to the new three-dimensional model with the compressed registered grid data corresponding to the registered three-dimensional model, and compares the compressed new grid data with the compressed new grid data. Determine the degree of similarity with the compressed registration grid data.

類似度判定部40で実行される処理について説明する。図9は、実施の形態1にかかる類似度判定部40の処理の手順を示すフローチャートである。 The process executed by the similarity determination unit 40 will be described. FIG. 9 is a flowchart showing a procedure of processing of the similarity determination unit 40 according to the first embodiment.

ステップS210において、ハッシュ値算出部41は、モデル変換部20において3次元モデルが変換された格子データから、ハッシュ値を算出する。ハッシュ値算出部41は、新規3次元モデルに対応する圧縮新規格子データから、新規3次元モデルのハッシュ値を算出する。ハッシュ値算出部41は、登録3次元モデルに対応する圧縮登録格子データから登録3次元モデルのハッシュ値を算出する。なお、新規格子データおよび登録格子データを圧縮していない場合には、新規格子データおよび登録格子データからハッシュ値を算出することとしてもよい。 In step S210, the hash value calculation unit 41 calculates the hash value from the grid data obtained by converting the three-dimensional model in the model conversion unit 20. The hash value calculation unit 41 calculates the hash value of the new 3D model from the compressed new grid data corresponding to the new 3D model. The hash value calculation unit 41 calculates the hash value of the registered 3D model from the compressed registration grid data corresponding to the registered 3D model. When the new grid data and the registered grid data are not compressed, the hash value may be calculated from the new grid data and the registered grid data.

ステップS220において、ハミング距離算出部42は、新規3次元モデルのハッシュ値と、1つの登録3次元モデルのハッシュ値とからハミング距離を算出する。ハミング距離算出部42は、全ての登録3次元モデルのハッシュ値について、ハミング距離を算出する。ハミング距離算出部42は、算出したハミング距離をハミング距離ソート部43に送信する。 In step S220, the Hamming distance calculation unit 42 calculates the Hamming distance from the hash value of the new three-dimensional model and the hash value of one registered three-dimensional model. The Hamming distance calculation unit 42 calculates the Hamming distance for the hash values of all the registered three-dimensional models. The Hamming distance calculation unit 42 transmits the calculated Hamming distance to the Hamming distance sorting unit 43.

ステップS230において、ハミング距離ソート部43は、ハミング距離算出部42において算出されたハミング距離をソートする。具体的に、ハミング距離ソート部43は、ハミング距離算出部42において算出された全ての登録3次元モデルのハミング距離を、数値の小さいものから大きいものへ昇順に並べる。 In step S230, the Hamming distance sorting unit 43 sorts the Hamming distance calculated by the Hamming distance calculating unit 42. Specifically, the Hamming distance sorting unit 43 arranges the Hamming distances of all the registered three-dimensional models calculated by the Hamming distance calculation unit 42 in ascending order from the smallest numerical value to the largest numerical value.

そして、ハミング距離ソート部43は、並べた登録3次元モデルのハミング距離の昇順を、新規3次元モデルと登録3次元モデルとの形状の類似度の順番と判定する。すなわち、ハミング距離ソート部43は、ハミング距離算出部42が算出した複数のハミング値を比べたとき、ハミング距離の値が小さい登録3次元モデルほど、新規3次元モデルとの形状の類似度が高いと判定する。昇順に並べられた登録3次元モデルのハミング距離の昇順の情報は、新規3次元モデルと登録3次元モデルとの形状の類似度の順番の情報である、類似度順番情報である。 Then, the Hamming distance sorting unit 43 determines the ascending order of the Hamming distances of the arranged registered 3D models as the order of the degree of similarity in shape between the new 3D model and the registered 3D model. That is, when the Hamming distance sorting unit 43 compares a plurality of Hamming values calculated by the Hamming distance calculation unit 42, the smaller the Hamming distance value, the higher the degree of similarity in shape with the new 3D model. Is determined. The information in ascending order of the Hamming distances of the registered 3D models arranged in ascending order is the similarity order information which is the information in the order of the degree of similarity of the shapes between the new 3D model and the registered 3D model.

そして、ハミング距離ソート部43は、登録3次元モデルと、登録3次元モデルに対応するハミング距離と、登録3次元モデルに対応する類似度順番情報と、を対応付けて登録プログラム取得部50に送信する。 Then, the Hamming distance sorting unit 43 transmits the registered 3D model, the Hamming distance corresponding to the registered 3D model, and the similarity order information corresponding to the registered 3D model in association with each other to the registration program acquisition unit 50. To do.

なお、類似度の判定は、ハッシュ値を用いた方法ではなく、新規3次元モデルと登録3次元モデルとを同一の座標系上に配置した場合における、同じ位置の新規3次元モデルの格子データと登録3次元モデルの格子データとを比較して、異なった値の桁の個数を算出する方法を用いることもできる。この場合、異なった値の桁の個数が小さい方が、類似度が高いと判定される。なお、この場合、新規3次元モデルの圧縮格子データと登録3次元モデルの圧縮格子データとを比較して、異なった値の桁の個数を算出してもよい。 The degree of similarity is determined not by the method using the hash value, but by the grid data of the new 3D model at the same position when the new 3D model and the registered 3D model are arranged on the same coordinate system. It is also possible to use a method of calculating the number of digits of different values by comparing with the grid data of the registered 3D model. In this case, it is determined that the smaller the number of digits of different values, the higher the similarity. In this case, the compression grid data of the new 3D model and the compression grid data of the registered 3D model may be compared to calculate the number of digits having different values.

また、類似度の判定は、格子データの特徴量の抽出、近似最近傍探索、格子データをベクトル化して差分を求める方法などを使用してもよい。 Further, the similarity may be determined by using a method of extracting the feature amount of the grid data, searching for the approximate nearest neighbor, vectorizing the grid data to obtain the difference, or the like.

図4に戻り、ステップS5において、登録プログラム取得部50は、類似度判定部40のハミング距離ソート部43から取得した類似度順番情報に示される類似度の高い登録3次元モデルの順に、登録3次元モデルに対応する加工プログラムをデータベース60から取得する。登録プログラム取得部50は、類似度判定部40およびデータベース60から取得した、登録3次元モデルと、加工プログラムと、類似度順番情報と、類似度情報と、を対応付けて出力部13に送信する。類似度情報は、類似度順番情報における登録3次元モデルの類似度の順位の情報である。 Returning to FIG. 4, in step S5, the registration program acquisition unit 50 registers the registered three-dimensional models having the highest degree of similarity shown in the similarity order information acquired from the Hamming distance sorting unit 43 of the similarity determination unit 40 in this order. The machining program corresponding to the dimensional model is acquired from the database 60. The registration program acquisition unit 50 transmits the registered three-dimensional model, the machining program, the similarity order information, and the similarity information acquired from the similarity determination unit 40 and the database 60 to the output unit 13 in association with each other. .. The similarity information is information on the order of similarity of the registered three-dimensional model in the similarity order information.

ステップS6において、出力部13は、登録プログラム取得部50から取得した、加工プログラムと、登録3次元モデルと、類似度順番情報と、類似度情報と、を表示装置などに出力し、ユーザに提示する。これにより、加工プログラム検索装置100は、新規3次元モデルに類似する登録3次元モデルの加工プログラムをデータベース60から検索して、ユーザに提示することができる。 In step S6, the output unit 13 outputs the machining program, the registered three-dimensional model, the similarity order information, and the similarity information acquired from the registration program acquisition unit 50 to a display device or the like and presents them to the user. To do. As a result, the machining program search device 100 can search the machining program of the registered three-dimensional model similar to the new three-dimensional model from the database 60 and present it to the user.

図10は、実施の形態1における新規3次元モデルの例を示す図である。図11は、実施の形態1における登録3次元モデルの例を示す図である。図12は、図11に示す20個の登録3次元モデルから、図10に示す新規3次元モデルに類似する登録3次元モデルとして検索された登録3次元モデルを示す図である。加工プログラム検索装置100において上述したステップS1からステップS6の処理が実施されることにより、たとえば、図11に示す20個の登録3次元モデルから、図10に示す新規3次元モデルに類似する登録3次元モデルとして、図12に示す登録3次元モデルがデータベース60から検索される。これにより、加工プログラム検索装置100では、図10に示す新規3次元モデルに類似する登録3次元モデルに対応する加工プログラムとして、図12に示す登録3次元モデルに対応する加工プログラムがデータベース60から検索される。 FIG. 10 is a diagram showing an example of a new three-dimensional model according to the first embodiment. FIG. 11 is a diagram showing an example of a registered three-dimensional model according to the first embodiment. FIG. 12 is a diagram showing a registered 3D model searched as a registered 3D model similar to the new 3D model shown in FIG. 10 from the 20 registered 3D models shown in FIG. By performing the processes of steps S1 to S6 described above in the machining program search device 100, for example, from the 20 registered 3D models shown in FIG. 11, the registration 3 similar to the new 3D model shown in FIG. 10 As the dimensional model, the registered three-dimensional model shown in FIG. 12 is searched from the database 60. As a result, the machining program search device 100 searches the database 60 for the machining program corresponding to the registered 3D model shown in FIG. 12 as a machining program corresponding to the registered 3D model similar to the new 3D model shown in FIG. Will be done.

以上のような本実施の形態1にかかる加工プログラム検索装置100では、3次元モデルデータに示される3次元モデルを画像表示した場合に、画像に表示されない、3次元の物体の形状内包部および3次元の物体に形成されている穴形状を含めた形状の細部を含めて、類似する3次元モデルの検索が自動で高精度に行える。これにより、新規の新規3次元モデルを加工するための新規の加工プログラムを作成する際に流用する加工プログラムを容易にデータベース60から探索することが可能となり、新規3次元モデルを加工するための新規の加工プログラムの作成におけるユーザの手間を省くことができる。 In the processing program search device 100 according to the first embodiment as described above, when the three-dimensional model shown in the three-dimensional model data is displayed as an image, the shape-encapsulating portion of the three-dimensional object and 3 which are not displayed in the image are displayed. Similar 3D models can be searched automatically and with high accuracy, including the details of the shape including the hole shape formed in the dimensional object. This makes it possible to easily search the database 60 for a machining program to be diverted when creating a new machining program for machining a new new 3D model, and a new machining program for machining a new 3D model. It is possible to save the user's trouble in creating the machining program of.

また、本実施の形態1にかかる加工プログラム検索装置100では、圧縮した格子データから類似度を算出することにより、処理するデータ量を低減することができ、高速で精度良く新規3次元モデルと登録3次元モデルとの形状の類似度を算出することができる。 Further, in the machining program search device 100 according to the first embodiment, the amount of data to be processed can be reduced by calculating the similarity from the compressed lattice data, and the new three-dimensional model can be registered at high speed and with high accuracy. The degree of similarity of the shape with the three-dimensional model can be calculated.

次に、加工プログラム検索装置100の類似度判定部40において機械学習を用いた形態について説明する。図13は、実施の形態1における機械学習を用いた類似度判定部40aの構成を示す図である。類似度判定部40aは、教師データ生成部71と、機械学習部72と、推論部73と、類似度算出部74と、類似度ソート部75と、を備える。 Next, a mode using machine learning in the similarity determination unit 40 of the machining program search device 100 will be described. FIG. 13 is a diagram showing the configuration of the similarity determination unit 40a using machine learning in the first embodiment. The similarity determination unit 40a includes a teacher data generation unit 71, a machine learning unit 72, an inference unit 73, a similarity calculation unit 74, and a similarity sorting unit 75.

教師データ生成部71は、モデル変換部20から取得する複数の3次元モデルの格子データを入力として、クラスタリングを行い、クラスタリングした結果をラベルとして、教師データを生成する。 The teacher data generation unit 71 performs clustering by inputting grid data of a plurality of three-dimensional models acquired from the model conversion unit 20, and generates teacher data using the clustered result as a label.

機械学習部72は、予め用意された複数の教師データおよび教師データに対応する3次元モデルの格子データを基に、教師有り機械学習を行ない、学習済モデルを生成する。ここでの教師データは、教師データ生成部71で生成された、3次元モデルの格子データが入力とされ、分類結果であるラベルが出力とされた教師データである。 The machine learning unit 72 performs supervised machine learning based on a plurality of teacher data prepared in advance and grid data of a three-dimensional model corresponding to the teacher data, and generates a trained model. The teacher data here is teacher data in which the grid data of the three-dimensional model generated by the teacher data generation unit 71 is input and the label which is the classification result is output.

推論部73は、機械学習部72で学習された学習済モデルを用いて、3次元モデルデータで示される登録3次元モデルの格子データおよび入力部11に入力された3次元モデルデータで示される新規3次元モデルの格子データを入力として推論を行い、出力データを取得する。 The inference unit 73 uses the trained model learned by the machine learning unit 72, and uses the lattice data of the registered 3D model shown in the 3D model data and the new 3D model data input to the input unit 11. Inference is performed using the grid data of the 3D model as input, and output data is acquired.

類似度算出部74は、推論部73から出力された新規3次元モデルについての出力データを新規3次元モデルの多次元特徴量ベクトルとし、またデータベース60に登録されている登録3次元モデルについて推論部73から出力された出力データを登録3次元モデルの多次元特徴量ベクトルとし、新規3次元モデルの多次元特徴量ベクトルと、登録3次元モデルの多次元特徴量ベクトルと、の距離を類似度として算出する。すなわち、類似度算出部74は、第1の3次元モデルの特徴量と第2の3次元モデルの特徴量を取得する特徴量取得部と換言できる。 The similarity calculation unit 74 uses the output data for the new 3D model output from the inference unit 73 as the multidimensional feature quantity vector of the new 3D model, and the inference unit for the registered 3D model registered in the database 60. The output data output from 73 is used as the multidimensional feature vector of the registered 3D model, and the distance between the multidimensional feature vector of the new 3D model and the multidimensional feature vector of the registered 3D model is used as the degree of similarity. calculate. That is, the similarity calculation unit 74 can be rephrased as a feature amount acquisition unit that acquires the feature amount of the first three-dimensional model and the feature amount of the second three-dimensional model.

類似度ソート部75は、類似度算出部74において算出された全ての登録3次元モデルについての類似度を、数値の小さいものから大きいものへ昇順に並べる。なお、類似度ソート部75は、類似度が高い順にソートすることができればよく、類似度の数値で1を除算し、除算した数値を数値の大きいものから小さいものへ降順に並べてソートしてもよい。 The similarity sorting unit 75 arranges the similarity of all the registered three-dimensional models calculated by the similarity calculation unit 74 in ascending order from the smallest numerical value to the largest numerical value. It is sufficient that the similarity sorting unit 75 can sort in descending order of similarity, and even if the similarity value is divided by 1 and the divided values are arranged in descending order from the largest value to the smallest value. Good.

次に、類似度判定部40aで実行される処理について説明する。図14は、実施の形態1にかかる類似度判定部40aの処理の手順を示すフローチャートである。 Next, the process executed by the similarity determination unit 40a will be described. FIG. 14 is a flowchart showing a procedure of processing of the similarity determination unit 40a according to the first embodiment.

ステップS310において、教師データ生成部71は、モデル変換部20から、複数の3次元モデルの格子データを取得する。 In step S310, the teacher data generation unit 71 acquires grid data of a plurality of three-dimensional models from the model transformation unit 20.

ステップS320において、教師データ生成部71は、複数の3次元モデルの格子データを入力データとして、複数の3次元モデルの格子データのクラスタリングを行い、クラスタリングした結果を3次元モデルの分類結果であるラベルとして、教師データを生成する。すなわち、教師データ生成部71は、3次元モデルの格子データを入力とし、3次元モデルの分類結果であるラベルを出力とした教師データを生成する。以下では、クラスタリングにk−means法を用いた場合について説明する。 In step S320, the teacher data generation unit 71 clusters the grid data of the plurality of 3D models with the grid data of the plurality of 3D models as input data, and the clustered result is the label which is the classification result of the 3D model. To generate teacher data. That is, the teacher data generation unit 71 generates teacher data by inputting the grid data of the three-dimensional model and outputting the label which is the classification result of the three-dimensional model. The case where the k-means method is used for clustering will be described below.

k−means法とは、特徴量のユークリッド距離が最も近いクラスタに入力データを分類する手法である。具体的には、先ずあらかじめ決められたk個のクラスタに入力データがランダムに分類される。そして、k個の各クラスタ内の入力データの特徴量の平均値が求められ、特徴量の平均値を可視化した画像データがクラスタごとに作成される。次に、各画像データについて、入力データの特徴量からユークリッド距離が最も近い特徴量の平均値を持つクラスタに対して入力データが再分類される。この再分類がなされなくなったときに、クラスタリング処理が完了する。クラスタリング処理が完了したときのクラスタリング結果が、3次元モデルの分類結果であるラベルとして決定される。クラスタリング結果のラベルに偏りがある場合には、格子データをXY平面、YZ平面、ZX平面に投影したデータを入力データとする方法が行われてもよい。 The k-means method is a method of classifying input data into clusters having the closest Euclidean distance of features. Specifically, first, the input data is randomly classified into k clusters determined in advance. Then, the average value of the feature amount of the input data in each of the k clusters is obtained, and the image data that visualizes the average value of the feature amount is created for each cluster. Next, for each image data, the input data is reclassified for the cluster having the average value of the features having the closest Euclidean distance from the features of the input data. The clustering process is completed when this reclassification is no longer performed. The clustering result when the clustering process is completed is determined as a label which is the classification result of the three-dimensional model. When the label of the clustering result is biased, a method may be performed in which the data obtained by projecting the grid data on the XY plane, the YZ plane, and the ZX plane is used as the input data.

教師データの生成は、与えられた入力データを外的基準なしに自動的に分類するクラスタリングを行えばよく、ウォード法、群平均法、最短距離法、最長距離法といったアルゴリズムを用いてもよい。また、ユーザが3次元モデルごとに手動で設定してもよい。 The teacher data may be generated by clustering that automatically classifies the given input data without an external standard, and algorithms such as Ward's method, group average method, shortest distance method, and longest distance method may be used. In addition, the user may manually set each three-dimensional model.

図15は、実施の形態1においてk−means法で20個の3次元モデルを4つのクラスタにクラスタリングした例における第1クラスタC1に分類された3次元モデルを示す図である。図16は、実施の形態1においてk−means法で20個の3次元モデルを4つのクラスタにクラスタリングした例における第2クラスタC2に分類された3次元モデルを示す図である。図17は、実施の形態1においてk−means法で20個の3次元モデルを4つのクラスタにクラスタリングした例における第3クラスタC3に分類された3次元モデルを示す図である。図18は、実施の形態1においてk−means法で20個の3次元モデルを4つのクラスタにクラスタリングした例における第4クラスタC4に分類された3次元モデルを示す図である。 FIG. 15 is a diagram showing a three-dimensional model classified into the first cluster C1 in an example in which 20 three-dimensional models are clustered into four clusters by the k-means method in the first embodiment. FIG. 16 is a diagram showing a three-dimensional model classified into a second cluster C2 in an example in which 20 three-dimensional models are clustered into four clusters by the k-means method in the first embodiment. FIG. 17 is a diagram showing a three-dimensional model classified into the third cluster C3 in the example in which 20 three-dimensional models are clustered into four clusters by the k-means method in the first embodiment. FIG. 18 is a diagram showing a three-dimensional model classified into the fourth cluster C4 in the example in which 20 three-dimensional models are clustered into four clusters by the k-means method in the first embodiment.

ステップS330において、機械学習部72は、教師データ生成部71で生成された、3次元モデルの格子データが入力とされ、3次元モデルの分類結果であるラベルが出力とされた、複数の教師データと教師データに対応する3次元モデルの格子データとを基に、教師有り機械学習を行ない、学習済モデルを生成する。学習済モデルは、3次元モデルの格子データから、3次元モデルをクラスタリングした結果である分類結果を用いた指標を類推するための学習済モデルである。機械学習は、所望の収束結果が得られるまで繰り返されてもよい。機械学習部72は、生成した学習済モデルである3次元モデルの分類条件をメモリ15に記憶させる。したがって、機械学習部72は、複数の3次元モデルから取得した格子データをクラスタリングして教師データを取得し、複数の3次元モデルから取得した格子データと教師データとを併せてデータセットとし、データセットに基づいて学習済モデルを生成する。 In step S330, the machine learning unit 72 receives the grid data of the three-dimensional model generated by the teacher data generation unit 71 as input, and outputs a label which is the classification result of the three-dimensional model. Based on the above and the grid data of the 3D model corresponding to the teacher data, supervised machine learning is performed to generate a trained model. The trained model is a trained model for inferring an index using the classification result which is the result of clustering the three-dimensional model from the grid data of the three-dimensional model. Machine learning may be repeated until the desired convergence result is obtained. The machine learning unit 72 stores the classification conditions of the generated three-dimensional model, which is the learned model, in the memory 15. Therefore, the machine learning unit 72 clusters the grid data acquired from the plurality of three-dimensional models to acquire the teacher data, and combines the grid data and the teacher data acquired from the plurality of three-dimensional models into a data set. Generate a trained model based on the set.

図19は、実施の形態1にかかる機械学習部の構成を示す図である。図20は、実施の形態1にかかる機械学習装置が用いるニューラルネットワークの構成を示す図である。 FIG. 19 is a diagram showing a configuration of a machine learning unit according to the first embodiment. FIG. 20 is a diagram showing a configuration of a neural network used by the machine learning device according to the first embodiment.

機械学習部72は、データ取得部721と、学習部722とを有している分類条件学習部である。データ取得部721は、教師データ生成部71から出力される、3次元モデルの格子データが入力とされ、分類結果であるラベルが出力とされた、予め用意された複数の教師データと教師データに対応する3次元モデルの格子データとを取得して、データセットとして学習部722に送る。なお、教師データに対応する3次元モデルの格子データとは、教師データを作成する際に入力された格子データである。すなわち、機械学習部72では、加工対象の加工仕上がり形状を示す3次元モデルを3次元空間に配置し、3次元モデルにおいて、3次元空間における複数の分割空間のそれぞれが3次元モデルの内部、外部または境界部のうちのいずれの部分に位置するかを示す位置情報と、複数の3次元モデルを複数の分類に分類した教師データとがデータセットとされる。データ取得部721は、データセットを取得する。 The machine learning unit 72 is a classification condition learning unit having a data acquisition unit 721 and a learning unit 722. The data acquisition unit 721 is used for a plurality of prepared teacher data and teacher data in which the grid data of the three-dimensional model output from the teacher data generation unit 71 is input and the label which is the classification result is output. The grid data of the corresponding three-dimensional model is acquired and sent to the learning unit 722 as a data set. The grid data of the three-dimensional model corresponding to the teacher data is the grid data input when the teacher data is created. That is, in the machine learning unit 72, a three-dimensional model showing the processed finished shape of the processing target is arranged in the three-dimensional space, and in the three-dimensional model, each of the plurality of divided spaces in the three-dimensional space is inside and outside the three-dimensional model. Alternatively, the data set includes position information indicating which part of the boundary portion is located, and teacher data in which a plurality of three-dimensional models are classified into a plurality of classifications. The data acquisition unit 721 acquires a data set.

学習部722は、3次元モデルの格子データが入力とされ分類結果であるラベルが出力とされた、予め用意された複数の教師データと、教師データに対応する3次元モデルデータで示される3次元モデルの格子データとの組み合わせに基づいて作成されるデータセットに基づいて、3次元モデルデータで示される3次元モデルの分類条件を学習する。学習部722は、学習した3次元モデルの分類条件をメモリ15に記憶させる。すなわち、学習部722は、データセットに基づいて、推論部73が3次元モデルの分類結果を用いた指標を推論するための学習済モデルを生成する。 The learning unit 722 has a plurality of prepared teacher data in which the grid data of the three-dimensional model is input and the label which is the classification result is output, and the three-dimensional model data corresponding to the teacher data. Based on the data set created based on the combination with the grid data of the model, the classification conditions of the 3D model represented by the 3D model data are learned. The learning unit 722 stores the classification conditions of the learned three-dimensional model in the memory 15. That is, the learning unit 722 generates a learned model for the inference unit 73 to infer an index using the classification result of the three-dimensional model based on the data set.

機械学習部72は、例えば、ニューラルネットワークモデルに従って、いわゆる教師有り学習により、格子データを分類結果であるラベルに分類するための分類条件、すなわち3次元モデルの分類条件を学習する。そして、機械学習部72は、3次元モデルの分類条件を学習することで、3次元モデルの分類結果を用いた指標を推論するための学習済モデルを生成する。格子データがどのようなラベルに分類されるかを機械学習部72に学習させておくことで、新しく入力された格子データがどのラベルに近いかを推論部73が判定できるようになる。ここで、教師有り学習とは、ある入力と結果(ラベル)のデータの組を大量に学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデルをいう。 The machine learning unit 72 learns the classification conditions for classifying the lattice data into labels, which are the classification results, that is, the classification conditions of the three-dimensional model, for example, by so-called supervised learning according to the neural network model. Then, the machine learning unit 72 learns the classification conditions of the three-dimensional model to generate a trained model for inferring an index using the classification result of the three-dimensional model. By having the machine learning unit 72 learn what kind of label the grid data is classified into, the inference unit 73 can determine which label the newly input grid data is close to. Here, supervised learning refers to a model in which a large number of sets of data of a certain input and a result (label) are given to a learning device to learn the features in those data sets and estimate the result from the input. ..

ニューラルネットワークは、複数のニューロンからなる入力層、複数のニューロンからなる中間層(隠れ層)、および複数のニューロンからなる出力層で構成される。中間層は、1層でもよいし2層以上でもよい。また、機械学習に他の方法、例えば、サポートベクターマシン等が用いられてもよい。 A neural network is composed of an input layer composed of a plurality of neurons, an intermediate layer (hidden layer) composed of a plurality of neurons, and an output layer composed of a plurality of neurons. The intermediate layer may be one layer or two or more layers. Further, other methods such as a support vector machine may be used for machine learning.

例えば、図20に示すニューラルネットワークは、3層のニューラルネットワークである。入力層は、ニューロンX1,X2,X3を含む。中間層は、ニューロンY1,Y2を含む。出力層は、ニューロンZ1,Z2,Z3を含む。なお、各層のニューロンの数は任意とする。入力層へ入力された複数の値は、重みW1であるw11,w12,w13,w14,w15,w16が乗算されて、中間層へ入力される。中間層へ入力された複数の値は、重みW2であるw21,w22,w23,w24,w25,w26が乗算されて、出力層から出力される。出力層から出力される出力結果は、重みW1,W2の値に従って変化する。 For example, the neural network shown in FIG. 20 is a three-layer neural network. The input layer contains neurons X1, X2, X3. The middle layer contains neurons Y1 and Y2. The output layer contains neurons Z1, Z2, Z3. The number of neurons in each layer is arbitrary. The plurality of values input to the input layer are multiplied by the weights W1, w11, w12, w13, w14, w15, and w16, and input to the intermediate layer. The plurality of values input to the intermediate layer are multiplied by the weights W2, w21, w22, w23, w24, w25, and w26, and output from the output layer. The output result output from the output layer changes according to the values of the weights W1 and W2.

続いて、ステップS340において、推論部73は、機械学習部72で生成された学習済みの学習済モデルを用いて、データベース60に登録されている3次元モデルデータで示される登録3次元モデルの格子データおよび入力部11に入力された3次元モデルデータで示される新規3次元モデルの格子データを入力として推論を行い、出力データを取得する。つまり、推論による出力データの取得は、データベース60に登録されている全ての3次元モデルデータで示される登録3次元モデルの格子データと、入力部11に入力された3次元モデルデータで示される新規3次元モデルの格子データに対して、出力データを取得する。 Subsequently, in step S340, the reasoning unit 73 uses the trained trained model generated by the machine learning unit 72 to grid the registered 3D model represented by the 3D model data registered in the database 60. Inference is performed using the data and the grid data of the new 3D model indicated by the 3D model data input to the input unit 11 as input, and the output data is acquired. That is, the acquisition of the output data by inference is performed by the grid data of the registered 3D model represented by all the 3D model data registered in the database 60 and the new 3D model data input to the input unit 11. Output data is acquired for the grid data of the 3D model.

推論部73は、ある入力のデータを機械学習で生成した学習済モデルにあてはめて、教師有り学習時の分類結果であるラベルになる確率を出力する。推論部73は、教師有り学習時の分類結果である全てのラベルについて、ラベルになる確率を出力する。したがって、推論部73からは、出力データとして、ラベルの個数分の数値が出力される。ここでは、推論部73は、データベース60に登録されている3次元モデルデータで示される新規3次元モデルの格子データを学習済モデルにあてはめて、教師有り学習時の分類結果であるラベルになる確率を出力する。なお、推論部73は、後述する多次元特徴量ベクトルを出力するように構成されていてもよい。つまり、推論部73は、学習済モデルを用いて3次元モデルの分類結果を用いた指標を推論する。 The inference unit 73 applies a certain input data to a trained model generated by machine learning, and outputs a probability of becoming a label which is a classification result at the time of supervised learning. The inference unit 73 outputs the probability of becoming a label for all the labels that are the classification results at the time of supervised learning. Therefore, the inference unit 73 outputs numerical values for the number of labels as output data. Here, the inference unit 73 applies the grid data of the new 3D model represented by the 3D model data registered in the database 60 to the trained model, and the probability of becoming a label which is the classification result at the time of supervised learning. Is output. The inference unit 73 may be configured to output a multidimensional feature vector described later. That is, the inference unit 73 infers an index using the classification result of the three-dimensional model using the trained model.

続いて、ステップS350において、類似度算出部74は、入力部11から入力された新規3次元モデルについての推論部73から出力された出力データを新規3次元モデルの多次元特徴量ベクトルとし、またデータベース60に登録されている登録3次元モデルについての推論部73から出力された出力データを登録3次元モデルの多次元特徴量ベクトルとする。そして、類似度算出部74は、新規3次元モデルの多次元特徴量ベクトルと、全ての登録3次元モデルの多次元特徴量ベクトルと、を比較して、最近傍探索を行い、新規3次元モデルの多次元特徴量ベクトルと、登録3次元モデルの多次元特徴量ベクトルと、の距離を類似度として算出する。類似度は、新規3次元モデルの形状と、登録3次元モデルの形状との間の類似度である。類似度算出部74は、算出した類似度を類似度ソート部75に送信する。 Subsequently, in step S350, the similarity calculation unit 74 uses the output data output from the inference unit 73 for the new 3D model input from the input unit 11 as the multidimensional feature quantity vector of the new 3D model, and also The output data output from the inference unit 73 for the registered 3D model registered in the database 60 is used as the multidimensional feature quantity vector of the registered 3D model. Then, the similarity calculation unit 74 compares the multidimensional feature amount vector of the new three-dimensional model with the multidimensional feature amount vector of all the registered three-dimensional models, performs the nearest neighbor search, and performs a new three-dimensional model. The distance between the multidimensional feature amount vector of and the multidimensional feature amount vector of the registered 3D model is calculated as the degree of similarity. The similarity is the similarity between the shape of the new 3D model and the shape of the registered 3D model. The similarity calculation unit 74 transmits the calculated similarity to the similarity sorting unit 75.

なお、類似度の算出は、新規3次元モデルの多次元特徴量ベクトルと、登録3次元モデルの多次元特徴量ベクトルとを比較して距離尺度を求めればよく、近似最近傍探索といったアルゴリズムを用いてもよい。 To calculate the similarity, the distance scale may be obtained by comparing the multidimensional feature vector of the new 3D model with the multidimensional feature vector of the registered 3D model, and an algorithm such as approximate nearest neighbor search is used. You may.

続いて、ステップS360において、類似度ソート部75は、類似度算出部74において算出された類似度をソートする。具体的に、類似度ソート部75は、類似度算出部74において算出された全ての登録3次元モデルについての類似度を、数値の小さいものから大きいものへ昇順に並べる。ここでは、類似度ソート部75は、類似度を、数値の小さいものから大きいものへ昇順に並べているが、類似度ソート部75は、類似度が高い順に並べることができればよく、類似度の数値で1を除算し、除算した数値を数値の大きいものから小さいものへ降順に並べてもよい。 Subsequently, in step S360, the similarity sorting unit 75 sorts the similarity calculated by the similarity calculation unit 74. Specifically, the similarity sorting unit 75 arranges the similarity of all the registered three-dimensional models calculated by the similarity calculation unit 74 in ascending order from the smallest numerical value to the largest numerical value. Here, the similarity sorting unit 75 arranges the similarity in ascending order from the smallest numerical value to the largest numerical value, but the similarity sorting unit 75 only needs to be able to arrange the similarity in descending order of the similarity numerical value. 1 may be divided by, and the divided numerical values may be arranged in descending order from the largest numerical value to the smallest numerical value.

上記の処理が行われることにより、類似度判定部40aにおいても類似度判定部40と同様に、全ての登録3次元モデルについての類似度を判定することが可能である。 By performing the above processing, the similarity determination unit 40a can determine the similarity of all the registered three-dimensional models in the same manner as the similarity determination unit 40.

以上のような本実施形態にかかる加工プログラム検索装置100では、類似度判定部40aにおいて3次元モデルの分類条件の機械学習が行われ、学習された3次元モデルの分類条件に基づいて、新規3次元モデルと登録3次元モデルとの形状の類似度を算出する。これにより、3次元モデルの形状特徴を効率良く認識して、新規3次元モデルと登録3次元モデルとの形状の類似度を算出することができ、新規の新規3次元モデルを加工するための新規の加工プログラムを作成する際に流用する加工プログラムを容易にデータベース60から探索することが可能となる。 In the machining program search device 100 according to the present embodiment as described above, machine learning of the classification conditions of the three-dimensional model is performed by the similarity determination unit 40a, and the new 3 is based on the learned classification conditions of the three-dimensional model. The degree of similarity between the shapes of the dimensional model and the registered 3D model is calculated. As a result, the shape features of the 3D model can be efficiently recognized, the degree of shape similarity between the new 3D model and the registered 3D model can be calculated, and a new 3D model for processing a new new 3D model can be processed. It is possible to easily search the database 60 for the machining program to be diverted when creating the machining program of.

図21は、図10に示した新規3次元モデルに対する類似度が高い順にソートされた登録3次元モデルを示す図である。図21においては、左側に示されている登録3次元モデルほど、図10に示した新規3次元モデルに対する類似度が高く、右側に示されている登録3次元モデルほど、図10に示した新規3次元モデルに対する類似度が低い。 FIG. 21 is a diagram showing registered 3D models sorted in descending order of similarity to the new 3D model shown in FIG. In FIG. 21, the registered 3D model shown on the left side has a higher degree of similarity to the new 3D model shown in FIG. 10, and the registered 3D model shown on the right side has a higher degree of similarity to the new 3D model shown in FIG. The similarity to the 3D model is low.

次に、モデル変換部20の他の形態について説明する。まず、モデル変換部20で実行されるデータ拡張について説明する。図22は、図1に示す加工プログラム検索装置100においてデータ拡張を実行するモデル変換部20aの構成を示す図である。モデル変換部20aは、モデル形状変換部23と、前述の格子データ生成部21と、前述のデータ圧縮部22と、を備える。モデル形状変換部23は、入力部11から入力されて格子空間上に配置された新規3次元モデルの形状を形状変換する。形状変換とは、形状の回転移動、形状の拡大および形状の縮小のうち、少なくとも1つを意味する。 Next, another form of the model conversion unit 20 will be described. First, the data expansion executed by the model transformation unit 20 will be described. FIG. 22 is a diagram showing a configuration of a model transformation unit 20a that executes data expansion in the machining program search device 100 shown in FIG. The model transformation unit 20a includes a model shape transformation unit 23, the above-mentioned grid data generation unit 21, and the above-mentioned data compression unit 22. The model shape conversion unit 23 converts the shape of the new three-dimensional model input from the input unit 11 and arranged on the lattice space. The shape transformation means at least one of rotational movement of the shape, enlargement of the shape, and reduction of the shape.

次に、モデル変換部20aで実行される処理について説明する。図23は、実施の形態1にかかるモデル変換部20aで実行されるデータ拡張処理を示すフローチャートである。 Next, the processing executed by the model transformation unit 20a will be described. FIG. 23 is a flowchart showing the data expansion process executed by the model transformation unit 20a according to the first embodiment.

まず、格子データ生成部21が、上述したステップS10を実施する。 First, the grid data generation unit 21 carries out the above-mentioned step S10.

次に、ステップS410において、モデル形状変換部23は、格子空間上に配置された新規3次元モデルの形状を形状変換する。 Next, in step S410, the model shape conversion unit 23 transforms the shape of the new three-dimensional model arranged on the lattice space.

その後、形状変換が実施された新規3次元モデルに対して、上述したステップS20、ステップS30、ステップS110およびステップS120が実施されて、形状変換が実施された新規3次元モデルに対して、格子データの生成から格子データの圧縮が実施される。 After that, the above-mentioned steps S20, S30, step S110 and step S120 are carried out on the new three-dimensional model on which the shape conversion is carried out, and the grid data is carried on on the new three-dimensional model on which the shape conversion is carried out. The grid data is compressed from the generation of.

以上のような本実施の形態にかかる加工プログラム検索装置100では、格子空間上に配置された新規3次元モデルを様々な方向、または様々な大きさに形状変換したうえで、3次元モデルの格子データを生成できる。また、新規3次元モデルと登録3次元モデルとのうち一方が、格子空間上における方向および大きさが等しくなるように形状変換されればよい。これにより、3次元モデルの形状特徴を精度よく認識して、類似度を算出することができる。また、あらかじめ新規3次元モデルと登録3次元モデルとの向きを3次元モデルデータにおいて揃えなくてはならないといった制約が不要となる。 In the machining program search device 100 according to the present embodiment as described above, the new three-dimensional model arranged on the lattice space is shape-converted into various directions or various sizes, and then the lattice of the three-dimensional model is converted. Can generate data. Further, one of the new three-dimensional model and the registered three-dimensional model may be shape-transformed so that the directions and sizes on the lattice space are the same. As a result, the shape features of the three-dimensional model can be accurately recognized and the degree of similarity can be calculated. In addition, there is no need to restrict the orientation of the new 3D model and the registered 3D model in the 3D model data in advance.

さらに、加工プログラム検索装置100がモデル変換部20aと類似度判定部40aとを用いることにより、3次元モデルを様々な方向、または様々な大きさでデータ数を拡張して機械学習して、類似度を算出できるため、3次元モデルの形状特徴を精度良く認識して、類似度を算出することができる。 Further, the machining program search device 100 uses the model conversion unit 20a and the similarity determination unit 40a to machine-learn the three-dimensional model by expanding the number of data in various directions or in various sizes to make it similar. Since the degree can be calculated, the shape feature of the three-dimensional model can be accurately recognized and the degree of similarity can be calculated.

上述したように、本実施の形態1にかかる加工プログラム検索装置100では、3次元モデルデータに示される3次元モデルを画像表示した場合に、画像に表示されない、3次元の物体の形状内包部および3次元の物体に形成されている穴形状を含めた形状の細部を含めて、類似する3次元モデルの検索が自動で高精度に行える。これにより、加工プログラム検索装置100では、新規の新規3次元モデルを加工するための新規の加工プログラムを作成する際に流用する加工プログラムを容易にデータベース60から探索することが可能となり、新規3次元モデルを加工するための新規の加工プログラムの作成におけるユーザの負荷を低減することが可能である。 As described above, in the machining program search device 100 according to the first embodiment, when the three-dimensional model shown in the three-dimensional model data is displayed as an image, the shape inclusion portion of the three-dimensional object and the shape inclusion portion of the three-dimensional object that are not displayed in the image are displayed. Similar 3D models can be searched automatically and with high accuracy, including the details of the shape including the hole shape formed in the 3D object. As a result, the machining program search device 100 can easily search the database 60 for the machining program to be diverted when creating a new machining program for machining a new new 3D model, and the new 3D model can be searched. It is possible to reduce the load on the user in creating a new machining program for machining the model.

また、本実施の形態1にかかる加工プログラム検索装置100では、圧縮した格子データから類似度を算出することにより、処理するデータ量を低減することができ、高速で精度良く新規3次元モデルと登録3次元モデルとの形状の類似度を算出することができる。 Further, in the machining program search device 100 according to the first embodiment, the amount of data to be processed can be reduced by calculating the similarity from the compressed lattice data, and the new three-dimensional model can be registered at high speed and with high accuracy. The degree of similarity of the shape with the three-dimensional model can be calculated.

また、加工プログラム検索装置100では、類似度判定部40aにおいて3次元モデルの分類条件の機械学習が行われ、学習された3次元モデルの分類条件に基づいて、新規3次元モデルと登録3次元モデルとの形状の類似度を算出する。これにより、3次元モデルの形状特徴を効率良く認識して、新規3次元モデルと登録3次元モデルとの形状の類似度を算出することができ、新規の新規3次元モデルを加工するための新規の加工プログラムを作成する際に流用する加工プログラムを容易にデータベース60から探索することが可能となる。 Further, in the machining program search device 100, machine learning of the classification conditions of the three-dimensional model is performed in the similarity determination unit 40a, and a new three-dimensional model and a registered three-dimensional model are performed based on the learned classification conditions of the three-dimensional model. Calculate the similarity of the shape with. As a result, the shape features of the 3D model can be efficiently recognized, the degree of shape similarity between the new 3D model and the registered 3D model can be calculated, and a new 3D model for processing a new new 3D model can be processed. It is possible to easily search the database 60 for the machining program to be diverted when creating the machining program of.

したがって、本実施の形態1にかかる加工プログラム検索装置100は、ワークの加工後の加工仕上がり形状に類似した形状を加工する加工プログラムをデータベースから自動で容易に検索することができる、という効果を奏する。 Therefore, the machining program search device 100 according to the first embodiment has an effect that a machining program for machining a shape similar to the machined finished shape after machining of the work can be automatically and easily searched from the database. ..

実施の形態2.
図24は、実施の形態2にかかる加工プログラム検索装置101の構成を示す図である。図24の各構成要素のうち図1に示す実施の形態1の加工プログラム検索装置100と同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
Embodiment 2.
FIG. 24 is a diagram showing the configuration of the machining program search device 101 according to the second embodiment. Of the components of FIG. 24, the components that achieve the same function as the machining program search device 100 of the first embodiment shown in FIG. 1 are designated by the same reference numerals, and redundant description will be omitted.

実施の形態2にかかる加工プログラム検索装置101では、新たに加工プログラムが作成される3次元モデルの形状と、過去に加工プログラムが作成された3次元モデルの形状との差異部を認識し、差異部にかかる加工プログラムを出力する。すなわち、加工プログラム検索装置101では、新規3次元モデルの形状と、登録3次元モデルの形状と、の差異部を認識し、差異部にかかる加工プログラムを出力する。 The machining program search device 101 according to the second embodiment recognizes a difference between the shape of the three-dimensional model in which the machining program is newly created and the shape of the three-dimensional model in which the machining program is created in the past, and recognizes the difference. Output the machining program for the part. That is, the machining program search device 101 recognizes the difference portion between the shape of the new three-dimensional model and the shape of the registered three-dimensional model, and outputs the machining program related to the difference portion.

加工プログラム検索装置101は、加工プログラム検索装置100が備える構成要素に加えて、差異認識部80を備えている。差異認識部80は、入力部11と、登録モデル取得部30と、登録プログラム取得部50と、出力部13と、に接続されている。 The machining program search device 101 includes a difference recognition unit 80 in addition to the components included in the machining program search device 100. The difference recognition unit 80 is connected to the input unit 11, the registration model acquisition unit 30, the registration program acquisition unit 50, and the output unit 13.

差異認識部80は、新たに加工プログラムが作成される3次元モデルの形状と、過去に加工プログラムが作成された3次元モデルの形状との差異部を認識する。すなわち、加工プログラム検索装置101では、新規3次元モデルの形状と、登録3次元モデルの形状と、の差異部を認識する。 The difference recognition unit 80 recognizes the difference between the shape of the three-dimensional model in which the machining program is newly created and the shape of the three-dimensional model in which the machining program is created in the past. That is, the machining program search device 101 recognizes the difference between the shape of the new three-dimensional model and the shape of the registered three-dimensional model.

図25は、実施の形態2にかかる加工プログラム検索装置101が備える差異認識部80の構成を示す図である。差異認識部80は、モデル差異取得部81と、加工プログラム差異取得部82と、を備える。 FIG. 25 is a diagram showing a configuration of a difference recognition unit 80 included in the machining program search device 101 according to the second embodiment. The difference recognition unit 80 includes a model difference acquisition unit 81 and a machining program difference acquisition unit 82.

モデル差異取得部81は、入力部11から入力された3次元モデルデータで示される新規3次元モデルと、登録モデル取得部30が取得した3次元モデルデータで示される登録3次元モデルとを取得する。そして、モデル差異取得部81は、新規3次元モデルの形状と登録3次元モデルの形状との形状の差異部の情報を取得する。 The model difference acquisition unit 81 acquires a new 3D model represented by the 3D model data input from the input unit 11 and a registered 3D model represented by the 3D model data acquired by the registration model acquisition unit 30. .. Then, the model difference acquisition unit 81 acquires information on the shape difference between the shape of the new three-dimensional model and the shape of the registered three-dimensional model.

加工プログラム差異取得部82は、モデル差異取得部81から取得した新規3次元モデルの形状と登録3次元モデルの形状との形状の差異部の情報に基づいて、差異部にかかる加工プログラム部位を取得する。すなわち、加工プログラム差異取得部82は、新規3次元モデルの加工仕上がり形状を加工するプログラムと、登録3次元モデルの加工仕上がり形状を加工するプログラムとの差異を取得する。 The machining program difference acquisition unit 82 acquires the machining program portion related to the difference portion based on the information of the shape difference portion between the shape of the new 3D model and the shape of the registered 3D model acquired from the model difference acquisition unit 81. To do. That is, the machining program difference acquisition unit 82 acquires the difference between the program for machining the machined finished shape of the new 3D model and the program for machining the machined finished shape of the registered 3D model.

次に、差異認識部80で実行される処理について説明する。図26は、実施の形態2にかかる差異認識部80の処理の手順を示すフローチャートである。 Next, the process executed by the difference recognition unit 80 will be described. FIG. 26 is a flowchart showing a processing procedure of the difference recognition unit 80 according to the second embodiment.

ステップS510において、モデル差異取得部81は、入力部11から入力された新規3次元モデルの3次元モデルデータを取得し、また登録モデル取得部30から登録3次元モデルの3次元モデルデータを取得し、新規3次元モデルと登録3次元モデルとの3次元モデル間の形状の差異を取得する。具体的に、モデル差異取得部81は、新規3次元モデルの形状から登録3次元モデルの形状を差し引いた形状である第1差異形状を算出する。また、モデル差異取得部81は、登録3次元モデルの形状から新規3次元モデルの形状を差し引いた形状である第2差異形状を算出する。形状の差し引きは、ソリッドモデルの集合演算を用いればよい。モデル差異取得部81は、算出した第1差異形状の情報と第2差異形状の情報とを加工プログラム差異取得部82に送信する。 In step S510, the model difference acquisition unit 81 acquires the 3D model data of the new 3D model input from the input unit 11, and also acquires the 3D model data of the registered 3D model from the registered model acquisition unit 30. , Acquires the shape difference between the new 3D model and the registered 3D model. Specifically, the model difference acquisition unit 81 calculates the first difference shape, which is the shape obtained by subtracting the shape of the registered three-dimensional model from the shape of the new three-dimensional model. Further, the model difference acquisition unit 81 calculates the second difference shape, which is the shape obtained by subtracting the shape of the new three-dimensional model from the shape of the registered three-dimensional model. The shape can be subtracted by using the set operation of the solid model. The model difference acquisition unit 81 transmits the calculated information on the first difference shape and the information on the second difference shape to the machining program difference acquisition unit 82.

次に、ステップS520において、加工プログラム差異取得部82は、モデル差異取得部81から取得した第1差異形状の情報と第2差異形状の情報とに基づき、第1差異形状と第2差異形状とに対応する加工プログラム部位を取得する。第1差異形状に対応する加工プログラムは、登録3次元モデルの加工プログラムに対して編集もしくは追加加工が必要となる。第2差異形状に対応する加工プログラムは、登録3次元モデルの加工プログラムに対して編集もしくは加工を減らすことが必要となる。第2差異形状が存在する場合には、第2差異形状の差異部に対応する差異部加工プログラムは、登録3次元モデルの加工プログラムの加工部位と、差異部の形状とが、3次元座標上で干渉すれば、干渉した部分の加工プログラム部分が差異部に対応する差異部加工プログラムとなる。加工プログラム差異取得部82は、登録3次元モデルの加工プログラムから差異部に対応する差異部加工プログラムを抽出する。 Next, in step S520, the machining program difference acquisition unit 82 sets the first difference shape and the second difference shape based on the information of the first difference shape and the information of the second difference shape acquired from the model difference acquisition unit 81. Acquire the machining program part corresponding to. The machining program corresponding to the first difference shape needs to be edited or additionally machined with respect to the machining program of the registered 3D model. The machining program corresponding to the second difference shape needs to be edited or reduced compared to the machining program of the registered 3D model. When the second difference shape exists, the difference part machining program corresponding to the difference part of the second difference shape has the processing part of the processing program of the registered three-dimensional model and the shape of the difference part on the three-dimensional coordinates. If they interfere with each other, the machining program portion of the interfering portion becomes the difference portion machining program corresponding to the difference portion. The machining program difference acquisition unit 82 extracts the difference section machining program corresponding to the difference section from the machining program of the registered three-dimensional model.

加工プログラム差異取得部82は、新規3次元モデルの形状と登録3次元モデルの形状との差異部の情報、すなわち、第1差異形状の情報と第2差異形状とのうち少なくとも一方を出力部13に送信する。また、加工プログラム差異取得部82は、差異部にかかる加工プログラム部分の情報を出力部13に送信する。 The machining program difference acquisition unit 82 outputs information on the difference between the shape of the new 3D model and the shape of the registered 3D model, that is, at least one of the information on the first difference shape and the second difference shape. Send to. Further, the machining program difference acquisition unit 82 transmits the information of the machining program portion related to the difference section to the output unit 13.

出力部13は、登録プログラム取得部50から取得した加工プログラム等とともに、新規3次元モデルの形状と登録3次元モデルの形状との差異部の情報と、差異部加工プログラムとを表示装置などに出力し、ユーザに提示する。これにより、加工プログラム検索装置101は、新規3次元モデルに類似する登録3次元モデルと新規3次元モデルとの形状との差異部および差異部に対応する加工プログラム部分を容易にユーザに提示することができる。 The output unit 13 outputs the information of the difference portion between the shape of the new 3D model and the shape of the registered 3D model and the difference portion processing program to the display device or the like together with the machining program acquired from the registration program acquisition unit 50. And present it to the user. As a result, the machining program search device 101 can easily present to the user a machining program portion corresponding to the difference portion and the difference portion between the shapes of the registered 3D model similar to the new 3D model and the new 3D model. Can be done.

上述したように、本実施の形態1にかかる加工プログラム検索装置101では、新規3次元モデルの形状と登録3次元モデルの形状との差異部の情報と、差異部にかかる加工プログラム部分の情報とをユーザに提示する。これにより、ユーザの加工プログラム編集作業の効率が向上する。 As described above, in the machining program search device 101 according to the first embodiment, the information of the difference portion between the shape of the new three-dimensional model and the shape of the registered three-dimensional model and the information of the machining program portion related to the difference portion are obtained. To the user. This improves the efficiency of the user's machining program editing work.

以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。 The configuration shown in the above-described embodiment shows an example, and can be combined with another known technique, can be combined with each other, and does not deviate from the gist. It is also possible to omit or change a part of the configuration.

11 入力部、12 表示部、13 出力部、14 プロセッサ、15 メモリ、20 モデル変換部、21 格子データ生成部、22 データ圧縮部、23 モデル形状変換部、30 登録モデル取得部、40,40a 類似度判定部、41 ハッシュ値算出部、42 ハミング距離算出部、43 ハミング距離ソート部、50 登録プログラム取得部、60 データベース、71 教師データ生成部、72 機械学習部、73 推論部、74 類似度算出部、75 類似度ソート部、80 差異認識部、81 モデル差異取得部、82 加工プログラム差異取得部、100,101 加工プログラム検索装置、110 CADシステム、721 データ取得部、722 学習部、C1 第1クラスタ、C2 第2クラスタ、C3 第3クラスタ、C4 第4クラスタ、D1,DN モデルデータ。 11 Input unit, 12 Display unit, 13 Output unit, 14 Processor, 15 Memory, 20 Model conversion unit, 21 Grid data generation unit, 22 Data compression unit, 23 Model shape conversion unit, 30 Registered model acquisition unit, 40, 40a similar Degree judgment unit, 41 hash value calculation unit, 42 humming distance calculation unit, 43 humming distance sorting unit, 50 registration program acquisition unit, 60 database, 71 teacher data generation unit, 72 machine learning unit, 73 inference unit, 74 similarity calculation Unit, 75 similarity sorting unit, 80 difference recognition unit, 81 model difference acquisition unit, 82 machining program difference acquisition section, 100, 101 machining program search device, 110 CAD system, 721 data acquisition section, 722 learning section, C1 1st Cluster, C2 2nd cluster, C3 3rd cluster, C4 4th cluster, D1, DN model data.

Claims (8)

工作機械において加工対象を機械加工するための異なる複数の加工プログラムが登録されたデータベースを検索対象とし、
新たに加工プログラムが作成される加工対象の加工仕上がり形状を示す3次元モデルである第1の3次元モデルと、前記データベースに登録された前記複数の加工プログラムで機械加工された複数の加工対象の加工仕上がり形状を示す3次元モデルである複数の第2の3次元モデルとをX軸、Y軸、Z軸の3軸で構成され、前記3軸のそれぞれに沿った複数の分割空間で形成された仮想の3次元空間に配置し、前記第1の3次元モデルにおいて、前記3次元空間における前記複数の分割空間のそれぞれが前記第1の3次元モデルの内部、外部または境界部のうちのいずれの部分に位置するかを示す第1の位置情報と、複数の前記第2の3次元モデルのそれぞれにおいて、前記複数の分割空間のそれぞれが前記第2の3次元モデルの内部、外部または境界部のうちのいずれの部分に位置するかを示す複数の第2の位置情報とを取得するモデル変換部と、
前記第1の位置情報と前記第2の位置情報とを比較することにより、前記第1の3次元モデルと前記第2の3次元モデルとの形状の類似度を判定する類似度判定部と、
前記類似度判定部における判定結果に基づいて、複数の前記第2の3次元モデルのうち前記形状の類似度が相対的に高い前記第2の3次元モデルを機械加工するための前記加工プログラムを前記データベースから検索して取得する登録プログラム取得部と、
を備えることを特徴とする加工プログラム検索装置。
The search target is a database in which multiple different machining programs for machining the machining target in a machine tool are registered.
A first three-dimensional model, which is a three-dimensional model showing the finished shape of the machining target for which a new machining program is created, and a plurality of machining targets machined by the plurality of machining programs registered in the database. A plurality of second three-dimensional models, which are three-dimensional models showing a processed finished shape, are composed of three axes of X-axis, Y-axis, and Z-axis, and are formed by a plurality of divided spaces along each of the three axes. In the first three-dimensional model, each of the plurality of divided spaces in the three-dimensional space is either inside, outside, or at the boundary of the first three-dimensional model. In the first position information indicating whether or not it is located in the portion of, and in each of the plurality of the second three-dimensional models, each of the plurality of divided spaces is inside, outside, or a boundary portion of the second three-dimensional model. A model conversion unit that acquires a plurality of second position information indicating which part of the two is located, and
A similarity determination unit that determines the degree of similarity in shape between the first three-dimensional model and the second three-dimensional model by comparing the first position information with the second position information.
Based on the determination result in the similarity determination unit, the machining program for machining the second three-dimensional model having a relatively high similarity in shape among the plurality of second three-dimensional models is provided. The registration program acquisition unit that searches and acquires from the database,
A machining program search device characterized by being equipped with.
前記登録プログラム取得部が取得した前記加工プログラムを出力する出力部を備えること、
を特徴とする請求項1に記載の加工プログラム検索装置。
Provided with an output unit that outputs the machining program acquired by the registration program acquisition unit.
The machining program search apparatus according to claim 1.
前記モデル変換部は、前記3次元空間に配置した前記第1の3次元モデルと前記第2の3次元モデルとのうち少なくとも一方に対して、形状の回転移動、形状の拡大および形状の縮小のうち少なくとも1つの処理を行って、前記第1の位置情報と複数の前記第2の位置情報とを取得すること、
を特徴とする請求項1または2に記載の加工プログラム検索装置。
The model conversion unit rotates and moves the shape, enlarges the shape, and reduces the shape with respect to at least one of the first three-dimensional model and the second three-dimensional model arranged in the three-dimensional space. Performing at least one of these processes to acquire the first position information and the plurality of the second position information.
The machining program search apparatus according to claim 1 or 2.
前記類似度判定部は、前記分割空間の同一位置における前記第1の位置情報と複数の前記第2の位置情報とを比較すること、
を特徴とする請求項1から3のいずれか1つに記載の加工プログラム検索装置。
The similarity determination unit compares the first position information and the plurality of the second position information at the same position in the divided space.
The machining program search device according to any one of claims 1 to 3, wherein the machining program search device is characterized.
前記第1の3次元モデルと複数の前記第2の3次元モデルとの形状の差異部の情報を取得するモデル差異取得部を備えること、
を特徴とする請求項2から4のいずれか1つに記載の加工プログラム検索装置。
Provided with a model difference acquisition unit for acquiring information on the shape difference portion between the first three-dimensional model and the plurality of second three-dimensional models.
The machining program search apparatus according to any one of claims 2 to 4, wherein the machining program search device is characterized.
前記形状の差異部に対応する前記第2の3次元モデルを機械加工するための加工プログラムである差異部加工プログラムを前記第2の3次元モデルを機械加工するための加工プログラムから取得すること、
を特徴とする請求項5に記載の加工プログラム検索装置。
Obtaining the difference portion machining program, which is a machining program for machining the second three-dimensional model corresponding to the difference portion of the shape, from the machining program for machining the second three-dimensional model.
The machining program search apparatus according to claim 5.
工作機械において加工対象を機械加工するための異なる複数の加工プログラムが登録されたデータベースを検索対象とし、
新たに加工プログラムが作成される加工対象の加工仕上がり形状を示す3次元モデルである第1の3次元モデルと、前記データベースに登録された前記複数の加工プログラムで機械加工された複数の加工対象の加工仕上がり形状を示す3次元モデルである複数の第2の3次元モデルとをX軸、Y軸、Z軸の3軸で構成され、前記3軸のそれぞれに沿った複数の分割空間で形成された仮想の3次元空間に配置し、前記第1の3次元モデルにおいて、前記3次元空間における前記複数の分割空間のそれぞれが前記第1の3次元モデルの内部、外部または境界部のうちのいずれの部分に位置するかを示す第1の位置情報と、複数の前記第2の3次元モデルのそれぞれにおいて、前記複数の分割空間のそれぞれが前記第2の3次元モデルの内部、外部または境界部のうちのいずれの部分に位置するかを示す複数の第2の位置情報とを取得するモデル変換部と、
加工対象の加工仕上がり形状を示す3次元モデルを前記3次元空間に配置し、前記3次元モデルにおいて、前記3次元空間における前記複数の分割空間のそれぞれが前記3次元モデルの内部、外部または境界部のうちのいずれの部分に位置するかを示す位置情報と、複数の前記3次元モデルを複数の分類に分類した分類結果である教師データとをデータセットとして取得するデータ取得部と、前記データセットに基づいて、前記3次元モデルの前記分類結果を用いた指標を推論するための学習済モデルを生成する学習部と、を備える機械学習部と、
前記第1の位置情報と前記第2の位置情報とから前記学習済モデルを用いて出力された、前記第1の位置情報における前記3次元モデルの前記分類結果を用いた指標と前記第2の位置情報における前記3次元モデルの前記分類結果を用いた指標とに基づいて、前記第1の3次元モデルの特徴量と前記第2の3次元モデルの特徴量を取得する特徴量取得部と、
前記第1の3次元モデルの特徴量と前記第2の3次元モデルの特徴量とを比較することにより、前記第1の3次元モデルと前記第2の3次元モデルとの形状の類似度を判定する類似度判定部と、
前記類似度判定部における判定結果に基づいて、複数の前記第2の3次元モデルのうち前記形状の類似度が相対的に高い前記第2の3次元モデルを機械加工するための前記加工プログラムを前記データベースから検索して取得する登録プログラム取得部と、
を備えることを特徴とする加工プログラム検索装置。
The search target is a database in which multiple different machining programs for machining the machining target in a machine tool are registered.
A first three-dimensional model, which is a three-dimensional model showing the finished shape of the machining target for which a new machining program is created, and a plurality of machining targets machined by the plurality of machining programs registered in the database. A plurality of second three-dimensional models, which are three-dimensional models showing a processed finished shape, are composed of three axes of X-axis, Y-axis, and Z-axis, and are formed by a plurality of divided spaces along each of the three axes. In the first three-dimensional model, each of the plurality of divided spaces in the three-dimensional space is either inside, outside, or at the boundary of the first three-dimensional model. In the first position information indicating whether or not it is located in the portion of, and in each of the plurality of the second three-dimensional models, each of the plurality of divided spaces is inside, outside, or a boundary portion of the second three-dimensional model. A model conversion unit that acquires a plurality of second position information indicating which part of the two is located, and
A three-dimensional model showing the processed finished shape to be processed is arranged in the three-dimensional space, and in the three-dimensional model, each of the plurality of divided spaces in the three-dimensional space is inside, outside, or a boundary portion of the three-dimensional model. A data acquisition unit that acquires position information indicating which part of the three-dimensional model is located, and teacher data that is a classification result obtained by classifying the plurality of three-dimensional models into a plurality of classifications, and the data set. A machine learning unit including a learning unit that generates a trained model for inferring an index using the classification result of the three-dimensional model based on the above.
An index using the classification result of the three-dimensional model in the first position information and the second position output from the first position information and the second position information using the trained model. Based on the index using the classification result of the three-dimensional model in the position information, the feature amount acquisition unit for acquiring the feature amount of the first three-dimensional model and the feature amount of the second three-dimensional model, and the feature amount acquisition unit.
By comparing the feature amount of the first three-dimensional model with the feature amount of the second three-dimensional model, the degree of similarity in shape between the first three-dimensional model and the second three-dimensional model can be determined. Similarity judgment unit to judge and
Based on the determination result in the similarity determination unit, the machining program for machining the second three-dimensional model having a relatively high degree of similarity in shape among the plurality of second three-dimensional models is provided. The registration program acquisition unit that searches and acquires from the database,
A machining program search device characterized by being equipped with.
工作機械において加工対象を機械加工するための異なる複数の加工プログラムが登録されたデータベースを検索対象とする加工プログラム検索装置における加工プログラム検索方法であって、
新たに加工プログラムが作成される加工対象の加工仕上がり形状を示す3次元モデルである第1の3次元モデルと、前記データベースに登録された前記複数の加工プログラムで機械加工された複数の加工対象の加工仕上がり形状を示す3次元モデルである複数の第2の3次元モデルとをX軸、Y軸、Z軸の3軸で構成され、前記3軸のそれぞれに沿った複数の分割空間で形成された仮想の3次元空間に配置し、前記第1の3次元モデルにおいて、前記3次元空間における前記複数の分割空間のそれぞれが前記第1の3次元モデルの内部、外部または境界部のうちのいずれの部分に位置するかを示す第1の位置情報と、複数の前記第2の3次元モデルのそれぞれにおいて、前記複数の分割空間のそれぞれが前記第2の3次元モデルの内部、外部または境界部のうちのいずれの部分に位置するかを示す複数の第2の位置情報とを取得するステップと、
前記第1の位置情報と前記第2の位置情報とを比較することにより、前記第1の3次元モデルと前記第2の3次元モデルとの形状の類似度を判定するステップと、
前記形状の類似度を判定するステップにおける判定結果に基づいて、複数の前記第2の3次元モデルのうち前記形状の類似度が相対的に高い前記第2の3次元モデルを機械加工するための前記加工プログラムを前記データベースから検索して取得するステップと、
を含むことを特徴とする加工プログラム検索方法。
It is a machining program search method in a machining program search device that searches a database in which a plurality of different machining programs for machining a machining target in a machine tool are registered.
A first three-dimensional model, which is a three-dimensional model showing the finished shape of the machining target for which a new machining program is created, and a plurality of machining targets machined by the plurality of machining programs registered in the database. A plurality of second three-dimensional models, which are three-dimensional models showing a processed finished shape, are composed of three axes of X-axis, Y-axis, and Z-axis, and are formed by a plurality of divided spaces along each of the three axes. In the first three-dimensional model, each of the plurality of divided spaces in the three-dimensional space is either inside, outside, or at the boundary of the first three-dimensional model. In the first position information indicating whether or not it is located in the portion of, and in each of the plurality of the second three-dimensional models, each of the plurality of divided spaces is inside, outside, or a boundary portion of the second three-dimensional model. A step of acquiring a plurality of second position information indicating which part of the two is located, and
A step of determining the degree of similarity in shape between the first three-dimensional model and the second three-dimensional model by comparing the first position information with the second position information.
For machining the second three-dimensional model having a relatively high degree of similarity of the shapes among the plurality of the second three-dimensional models based on the determination result in the step of determining the similarity of the shapes. Steps to search and acquire the machining program from the database, and
A machining program search method characterized by including.
JP2020564969A 2020-06-30 2020-06-30 Machining program search device and machining program search method Active JP6833150B1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/025675 WO2022003828A1 (en) 2020-06-30 2020-06-30 Processing program retrieval device and processing program retrieval method

Publications (2)

Publication Number Publication Date
JP6833150B1 true JP6833150B1 (en) 2021-02-24
JPWO2022003828A1 JPWO2022003828A1 (en) 2022-01-06

Family

ID=74661637

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020564969A Active JP6833150B1 (en) 2020-06-30 2020-06-30 Machining program search device and machining program search method

Country Status (4)

Country Link
JP (1) JP6833150B1 (en)
CN (1) CN115702400B (en)
DE (1) DE112020007144T5 (en)
WO (1) WO2022003828A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023015654A (en) * 2021-07-20 2023-02-01 シリコンスタジオ株式会社 Image processing system, method, and program

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004284002A (en) * 2003-01-31 2004-10-14 Fujitsu Ltd Working control device
JP2006520948A (en) * 2003-01-25 2006-09-14 パーデュー リサーチ ファンデーション Method, system and data structure for searching for 3D objects
WO2014091543A1 (en) * 2012-12-10 2014-06-19 三菱電機株式会社 Nc program search method, nc program search device, nc program creation method, and nc program creation device
JP2015191617A (en) * 2014-03-28 2015-11-02 富士通株式会社 Calculation program, calculation device and calculation method
WO2017122462A1 (en) * 2016-01-14 2017-07-20 株式会社リコー Shaping processing apparatus, shaping processing system, and program
JP2018136642A (en) * 2017-02-20 2018-08-30 国立大学法人豊橋技術科学大学 Three-dimensional shape search method and three-dimensional shape search system
JP2019179544A (en) * 2018-02-09 2019-10-17 ダッソー システムズDassault Systemes Designing a part manufacturable by milling operations
US10466681B1 (en) * 2014-09-02 2019-11-05 Machine Research Corporation Systems and methods for machining knowledge reuse

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3766857B2 (en) * 2002-04-02 2006-04-19 株式会社ヤッパ 3D model development support system
US10817526B2 (en) * 2014-07-16 2020-10-27 Machine Research Corporation Systems and methods for searching a machining knowledge database

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006520948A (en) * 2003-01-25 2006-09-14 パーデュー リサーチ ファンデーション Method, system and data structure for searching for 3D objects
JP2004284002A (en) * 2003-01-31 2004-10-14 Fujitsu Ltd Working control device
WO2014091543A1 (en) * 2012-12-10 2014-06-19 三菱電機株式会社 Nc program search method, nc program search device, nc program creation method, and nc program creation device
JP2015191617A (en) * 2014-03-28 2015-11-02 富士通株式会社 Calculation program, calculation device and calculation method
US10466681B1 (en) * 2014-09-02 2019-11-05 Machine Research Corporation Systems and methods for machining knowledge reuse
WO2017122462A1 (en) * 2016-01-14 2017-07-20 株式会社リコー Shaping processing apparatus, shaping processing system, and program
JP2018136642A (en) * 2017-02-20 2018-08-30 国立大学法人豊橋技術科学大学 Three-dimensional shape search method and three-dimensional shape search system
JP2019179544A (en) * 2018-02-09 2019-10-17 ダッソー システムズDassault Systemes Designing a part manufacturable by milling operations

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
石橋 研二: "形状の検索・分類の技術と類似形状検索エンジン "エンジニアリングサーチ" Technology of Shape Retrieva", 技報 UNISYS TECHNOLOGY REVIEW VOL.32 NO.4, vol. 32, no. 4, JPN6020035536, 28 February 2013 (2013-02-28), JP, pages 51 - 61, ISSN: 0004417162 *
長坂 悦敬: "3次元CAD図形からの特徴量抽出による形状評価システム Geometric Evaluation System by Extracting Geo", 日本経営工学会論文誌 VOL.55 NO.4 JOURNAL OF JAPAN INDUSTRIAL MANAGEMENT ASSOCIATION, vol. 55, no. 4, JPN6020035535, 15 October 2004 (2004-10-15), JP, pages 207 - 214, ISSN: 0004417161 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023015654A (en) * 2021-07-20 2023-02-01 シリコンスタジオ株式会社 Image processing system, method, and program
JP7325775B2 (en) 2021-07-20 2023-08-15 シリコンスタジオ株式会社 Image processing system, method, and program

Also Published As

Publication number Publication date
DE112020007144T5 (en) 2023-02-16
CN115702400A (en) 2023-02-14
WO2022003828A1 (en) 2022-01-06
JPWO2022003828A1 (en) 2022-01-06
CN115702400B (en) 2023-11-24

Similar Documents

Publication Publication Date Title
CN107038751B (en) Method, medium, and system for recognizing 3D modeling object from 2D image
US11367222B2 (en) Three-dimensional shape classification and retrieval using convolutional neural networks and majority vote
Rameshbabu et al. Hybrid feature recognition method for setup planning from STEP AP-203
JP7129529B2 (en) UV mapping to 3D objects using artificial intelligence
CN115661374B (en) Rapid retrieval method based on space division and model voxelization
Geng et al. Embedding visual cognition in 3D reconstruction from multi-view engineering drawings
JP6833150B1 (en) Machining program search device and machining program search method
CN110826122B (en) Voxel method and system for nuclear power three-dimensional layout design model
JP2017168081A (en) 3d object localization with descriptor
CN111597367B (en) Three-dimensional model retrieval method based on view and hash algorithm
CN112734934A (en) STL model 3D printing slicing method based on intersecting edge mapping
JP7177020B2 (en) Image processing device, method and program
CN112462689A (en) Method for generating handicraft digital model random carving four-axis three-linkage cutter path
JP2017162447A (en) Localization of 3d object with quantization
Tang et al. Adjacency-based culling for continuous collision detection
Zulkifli et al. Decomposition of interacting features using a Kohonen self-organizing feature map neural network
JP2701003B2 (en) Solid model synthesizing apparatus and solid model synthesizing method
Rios et al. Back to meshes: Optimal simulation-ready mesh prototypes for autoencoder-based 3D car point clouds
Wang et al. Object-aware hybrid map for indoor robot visual semantic navigation
CN117314928B (en) Natural landscape simulation system based on image segmentation and virtual reality
Akgul et al. An automated system for electrical power symbol placement in electrical plan drawing
CN113554012B (en) Primitive model classification method, system, equipment and storage medium in three-dimensional engineering
Yu et al. Producing Physical Copies of the Digital Models via Generating 2D Patterns for “Origami 3D Printer” system
WO2021106154A1 (en) Workpiece image searching device, workpiece image searching method, and machine learning device
Garcia et al. Efficient generation of discontinuity-preserving adaptive triangulations from range images

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201119

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201119

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20201119

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20201221

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210202

R150 Certificate of patent or registration of utility model

Ref document number: 6833150

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250