WO2022003828A1 - 加工プログラム検索装置および加工プログラム検索方法 - Google Patents

加工プログラム検索装置および加工プログラム検索方法 Download PDF

Info

Publication number
WO2022003828A1
WO2022003828A1 PCT/JP2020/025675 JP2020025675W WO2022003828A1 WO 2022003828 A1 WO2022003828 A1 WO 2022003828A1 JP 2020025675 W JP2020025675 W JP 2020025675W WO 2022003828 A1 WO2022003828 A1 WO 2022003828A1
Authority
WO
WIPO (PCT)
Prior art keywords
model
dimensional model
dimensional
machining
unit
Prior art date
Application number
PCT/JP2020/025675
Other languages
English (en)
French (fr)
Inventor
晋 松原
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to DE112020007144.8T priority Critical patent/DE112020007144T5/de
Priority to PCT/JP2020/025675 priority patent/WO2022003828A1/ja
Priority to JP2020564969A priority patent/JP6833150B1/ja
Priority to CN202080101828.XA priority patent/CN115702400B/zh
Publication of WO2022003828A1 publication Critical patent/WO2022003828A1/ja

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

Definitions

  • 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.
  • NC Numerical Control
  • the control device In order to perform machining with a machine tool, the control device needs to control the machine tool according to the machining program.
  • the creation support function for supporting the creation of the machining program is being enhanced.
  • the machining program creation support function is a function to create a machining program by setting the dimensions of the machining target on the NC screen while the user is looking at the drawing, and computer-aided design (CAD) data is directly input.
  • CAD computer-aided design
  • creation support functions are based on the premise that a machining program is created from scratch, and even when machining a machined finished shape that has a similar shape to the machined finished 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.
  • the creation efficiency can be improved by diverting the machining program corresponding to the above-mentioned machining 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 the shape is similar to the finished machined shape for which a machining program has been created in the past.
  • 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 preprocessing, extracts a partial shape by multi-view rendering, and performs posture normalization of the partial shape as feature quantity extraction from a multi-viewpoint.
  • the first feature vector is obtained using the normal histogram of.
  • the search system converts a three-dimensional object into a point cloud, extracts a partial shape by multi-view rendering, and performs posture normalization of the partial shape as feature quantity extraction, from a multi-viewpoint.
  • the second feature vector is obtained using the normal histogram of.
  • the search system obtains the degree of difference between the first feature vector and the second feature vector, and uses the value of the degree of difference to obtain a three-dimensional shape similar to the shape of the part in the search question. Select from a dimensional database.
  • 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 is to search a database for a machining program that processes a shape similar to the finished shape of machining in a machine tool.
  • the machining program search device 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 showing 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.
  • each of the plurality of divided spaces in the 3D space is either inside, outside, or at the boundary of the 1st 3D model.
  • each of the plurality of divided spaces is either inside, outside, or the boundary portion of the second 3D model.
  • 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 judgment unit, the machining program for machining the second 3D model having a relatively high degree of similarity in shape among the plurality of 2nd 3D models is searched from the database. It is equipped with a registration program acquisition unit to be acquired.
  • the machining program search device has the effect that a machining program for machining a shape similar to the finished shape of machining in a machine tool can be automatically and easily searched from a database.
  • the figure which shows an example which the 3D model shown by the 3D model data acquired by the grid data generation part of the model transformation part which concerns on Embodiment 1 was arranged and drawn on the grid space.
  • 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.
  • FIG. 1 A flowchart showing a procedure of processing of the similarity determination unit according to the first embodiment.
  • FIG. 2nd cluster 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. 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. 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. The figure which shows the structure of the machine learning part which concerns on 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.
  • 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 machined shape data showing a three-dimensional finished machined shape which is a shape of the work to be machined after being machined. That is, the three-dimensional model can be rephrased as a machined finished shape to be machined.
  • 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.
  • the three-dimensional model may be simply referred to as a model.
  • the machining 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.
  • the CAD system 110 uses three-dimensional (3D) CAD to create machined shape data indicating the three-dimensional finished shape of the work to be machined.
  • the input unit 11 receives the three-dimensional model data consisting of the CAD data created by the CAD system 110 from the CAD system 110, which is an external device outside 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 in which processing shape data is input.
  • the 3D 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.
  • the processor 14 is a CPU (Central Processing Unit), a processing device, an arithmetic unit, a microprocessor, a microcomputer, or a DSP (Digital Signal Processor).
  • the memory 15 is 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.
  • the memory 15 stores a database 60, a processing program (not shown) of the machining program search device 100, and the like.
  • Database 60 stores 3D model data.
  • the database 60 stores the model data DN (N is a natural number) from the model data D1
  • Each of the model data D1 to the model data DN includes a three-dimensional model data and a machining program for machining the finished shape indicated by the three-dimensional model data.
  • the processing program for the 3D model data is a program used when processing the processed finished shape corresponding to the 3D 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.
  • model data Dx 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 machining program corresponding to the 3D model data of the xth.
  • the third-dimensional model data of the xth and the machining program of the xth 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.
  • 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.
  • 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.
  • the registered model acquisition unit 30 acquires 3D model data from the model data Dx registered in the database 60.
  • the registered model acquisition unit 30 sends the acquired 3D model data to the model transformation 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 3D model data while leaving the 3D model data in the database 60.
  • the model conversion unit 20 performs data conversion of the 3D model represented by the 3D 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 registration model acquisition unit 30 into grid data. do.
  • the model transformation unit 20 transmits the data-converted grid data to the similarity determination unit 40.
  • 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 shown in the data may be called a registered 3D model.
  • the grid data corresponding to the new 3D model may be referred to as new grid data
  • the grid data corresponding to the registered 3D model may be referred to as registered grid data.
  • the new 3D model is the first 3D model
  • the registered 3D model can be said to be the second 3D model.
  • 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.
  • the grid data generation unit 21 generates grid data based on the 3D model shown by the 3D 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 3D model and converts the new 3D 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 grid 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. Further, the registered grid data indicates whether each of the plurality of divided spaces in the virtual three-dimensional space is located inside, outside, or at the boundary portion of the second three-dimensional model. It can be said to be the second position information.
  • the data compression unit 22 selects the grid data of a plurality of predetermined selection number of 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.
  • the similarity determination unit 40 determines the degree of similarity in shape between the three-dimensional model represented by the three-dimensional model data acquired from the input unit 11 and the three-dimensional model represented by the three-dimensional model data acquired from the database 60. ..
  • the similarity determination unit 40 determines the degree of similarity in shape between the new 3D model and the registered grid data by determining the degree of similarity between the grid data of the new 3D model and the grid data of the registered grid data.
  • 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.
  • 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.
  • the hash values are data that are slightly different. From a plurality of data, completely different hash values can be obtained.
  • 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.
  • 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.
  • 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 calculation unit 42.
  • 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 similarity in shape 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 and acquired from the database 60.
  • 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 machining program associated with the registered three-dimensional model.
  • FIG. 4 is a flowchart showing a processing procedure of the machining program search device 100 according to the first embodiment.
  • step S1 the model transformation unit 20 acquires 3D model data from the CAD system 110 via the input unit 11.
  • step S2 the model transformation unit 20 acquires all the three-dimensional model data registered in the database 60.
  • the registered model acquisition unit 30 acquires all the three-dimensional model data from the database 60 and transmits it to the model transformation unit 20.
  • 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 as grid data. Convert.
  • FIG. 5 is a flowchart showing a procedure of processing 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.
  • the database 60 stores the three-dimensional model data in association with the machining program for machining the finished shape indicated by the three-dimensional model data.
  • the registration model acquisition unit 30 connects to the database 60 and acquires all the three-dimensional model data registered from the database 60.
  • 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.
  • the grid 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.
  • the lattice 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 grid data generation unit 21 arranges the three-dimensional model on the coordinate system of the grid space in which the three axes have predetermined lengths and a plurality of grids are arranged.
  • 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 transformation unit 20 according to the first embodiment is drawn.
  • FIG. 7 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 arranged and drawn on the grid space.
  • a 1 mm square cube is regarded as one grid block, and 200 grid blocks are arranged in each of the X-axis direction, the Y-axis direction, and the Z-axis direction on the three-dimensional coordinates.
  • 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 grid data generation unit 21 has the three-dimensional coordinate values of the respective vertices of all the grid blocks in the grid space inside the three-dimensional model, outside the three-dimensional model, or three-dimensional. Determine if it is at the boundary of the model. It is possible to determine where the three-dimensional coordinate values of the vertices of the lattice block are inside, outside, or the boundary of the three-dimensional model by performing an inside / outside determination process of the shape of a known solid model.
  • the grid data generation unit 21 assigns a value of 1 to the vertices of the grid block for which the three-dimensional coordinate values of the vertices of the grid block are determined to be inside the three-dimensional model.
  • the grid data generation unit 21 assigns a value: 0 to the vertices of the grid block determined that the three-dimensional coordinate values of the vertices of the grid block are outside the three-dimensional model.
  • the grid data generation unit 21 assigns a value of 0.5 to the vertices of the grid block for which the three-dimensional coordinate values of the vertices of the grid block are determined to be at the boundary of the three-dimensional model.
  • 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.
  • 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.
  • new grid 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.
  • the grid data generation unit 21 performs the above processing for each of the registered 3D models for all the registered 3D models acquired from the registered model acquisition unit 30 to generate grid data, and the registered 3D model is generated. Convert the model to registered grid data. Thereby, 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.
  • the grid data generation unit 21 transmits the new 3D model and the new grid data corresponding to the new 3D model to the data compression unit 22 in association with each other. Further, the grid data generation unit 21 associates the registered three-dimensional model with the registered grid data corresponding to the registered three-dimensional model and transmits the registered grid data to the data compression unit 22.
  • 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.
  • step S110 the data compression unit 22 selects 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 for compressing 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 plurality of selected grid blocks.
  • 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 compressed grid block composed of the grid blocks of the selections. Allocate data.
  • the compressed grid data is grid data obtained by compressing the grid data of the selected grid blocks 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 selection number of grid data into one compressed grid data.
  • 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.
  • the grid data of 7 grid blocks out of the 8 selected grid blocks is 1, and the grid data of 1 grid block
  • the grid data is 0.75
  • the data compression unit 22 compresses the grid data of the 3D model by performing the above processing on all the grid data of the 3D 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 environment in which the computer is used, and the calculation cost of the computer.
  • 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.
  • the data compression unit 22 transmits the new 3D model and the compressed new grid data corresponding to the new 3D model to the similarity determination unit 40 in association with each other.
  • the compressed new grid data is the compressed new grid data.
  • the data compression unit 22 transmits the registered 3D model and the compressed registration grid data corresponding to the registered 3D model to the similarity determination unit 40 in association with each other.
  • the compressed registration grid data is the compressed registration grid data.
  • the similarity determination unit 40 determines the degree of similarity in shape between the new 3D model and the registered 3D model. Specifically, the similarity determination unit 40 determines the similarity between the grid data of the new 3D model and the grid data of the registered grid data, and determines the similarity of the shapes of the new 3D model and the registered grid data. judge. That is, in the first embodiment, the similarity determination unit 40 compares the compressed new grid data corresponding to the new 3D model with the compressed registered grid data corresponding to the registered 3D model, and obtains the compressed new grid data. Determine the degree of similarity with the compressed registration grid data.
  • FIG. 9 is a flowchart showing a procedure of processing of the similarity determination unit 40 according to the first embodiment.
  • 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. If 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.
  • step S220 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 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.
  • the Hamming distance sorting unit 43 sorts the Hamming distance calculated by the Hamming distance calculation 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 one with the smallest numerical value to the one with the largest numerical value.
  • 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 on the ascending order of the Hamming distances of the registered 3D models arranged in ascending order is the similarity order information which is the information on the order of the degree of similarity of the shapes between the new 3D model and the registered 3D model.
  • 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. do.
  • 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 is, the higher the similarity is. 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 of different values.
  • 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 may be used.
  • step S5 the registration program acquisition unit 50 registers 3 in the order of the registered 3D models with high similarity shown in the similarity order information acquired from the Hamming distance sorting unit 43 of the similarity determination unit 40.
  • 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.
  • 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. do.
  • the machining program search device 100 can search the machining program of the registered 3D model similar to the new 3D model from the database 60 and present it to the user.
  • FIG. 10 is a diagram showing an example of a new three-dimensional model in the first embodiment.
  • FIG. 11 is a diagram showing an example of the registered three-dimensional model in 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.
  • the registration 3 similar to the new 3D model shown in FIG. 10 As a dimensional model, the registered three-dimensional model shown in FIG. 12 is searched from the database 60.
  • the machining program search device 100 As a result, in the machining program search device 100, as a machining program corresponding to the registered 3D model similar to the new 3D model shown in FIG. 10, the machining program corresponding to the registered 3D model shown in FIG. 12 is searched from the database 60. Will be done.
  • the shape-encapsulating portion of the three-dimensional object and the three are not displayed in the image. 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.
  • the amount of data to be processed can be reduced by calculating the similarity from the compressed grid 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.
  • 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.
  • the teacher data generation unit 71 performs clustering by inputting grid data of a plurality of three-dimensional models acquired from the model transformation unit 20, and generates teacher data using the clustered result as a label.
  • 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.
  • the inference unit 73 uses the trained model learned by the machine learning unit 72, and is represented by the grid data of the registered 3D model shown by 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.
  • the similarity calculation unit 74 uses the output data of 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 amount vector of the registered 3D model, and the distance between the multidimensional feature amount vector of the new 3D model and the multidimensional feature amount 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.
  • the similarity sorting unit 75 arranges the similarity of all the registered 3D 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 1 is divided by the numerical value of similarity and the divided numerical values are arranged in descending order from the largest numerical value to the smallest numerical value. good.
  • FIG. 14 is a flowchart showing a procedure of processing of the similarity determination unit 40a according to the first embodiment.
  • step S310 the teacher data generation unit 71 acquires grid data of a plurality of three-dimensional models from the model transformation unit 20.
  • 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.
  • 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 k-means method is used for clustering will be described.
  • the k-means method is a method of classifying input data into clusters with the closest Euclidean distance of features. Specifically, first, the input data is randomly classified into k predetermined clusters. 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 a classification result of the three-dimensional model. If the label of the clustering result is biased, a method may be performed in which the data obtained by projecting the grid data onto the XY plane, the YZ plane, and the ZX plane is used as the input data.
  • 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.
  • the user may manually set each three-dimensional model.
  • 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 the 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 an 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 an example in which 20 three-dimensional models are clustered into four clusters by the k-means method in the first embodiment.
  • 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 the label which is the classification result of the three-dimensional model as a plurality of teacher data. And based on the grid data of the 3D model corresponding to the teacher data, supervised machine learning is performed and a trained model is generated.
  • the trained model is a trained model for inferring an index using the classification result which is the result of clustering the 3D model from the grid data of the 3D 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.
  • the machine learning unit 72 clusters the grid data acquired from the plurality of 3D models to acquire the teacher data, and combines the grid data and the teacher data acquired from the plurality of 3D models into a data set. Generate a trained model based on the set.
  • FIG. 19 is a diagram showing the configuration of the 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.
  • 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 as the classification result is output.
  • the grid data of the corresponding 3D 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.
  • a three-dimensional model showing the finished shape of the machined object 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.
  • the data set is the position information indicating which part of the boundary portion is located, and the teacher data obtained by classifying the plurality of three-dimensional models into a plurality of classifications.
  • the data acquisition unit 721 acquires a data set.
  • the learning unit 722 has a plurality of prepared teacher data in which the grid data of the 3D model is input and the label which is the classification result is output, and the 3D model data corresponding to the teacher data is shown in 3D. Based on the data set created based on the combination with the grid data of the model, the classification conditions of the 3D model shown 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 trained model for the inference unit 73 to infer an index using the classification result of the three-dimensional model based on the data set.
  • the machine learning unit 72 learns, for example, a classification condition for classifying grid data into labels that are classification results, that is, a classification condition of a three-dimensional model, by so-called supervised learning according to a 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 letting 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.
  • 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, the features in those data sets are learned, and the result is estimated from the input. ..
  • a neural network is composed of an input layer consisting of a plurality of neurons, an intermediate layer (hidden layer) consisting of a plurality of neurons, and an output layer consisting of a plurality of neurons.
  • the intermediate layer may be one layer or two or more layers.
  • another method for example, a support vector machine or the like may be used for machine learning.
  • 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.
  • step S340 the inference 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 grid data of the new 3D model indicated by the data and 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 shown by all the 3D model data registered in the database 60 and the new 3D model data input to the input unit 11. The output data is acquired for the grid data of the 3D model.
  • the reasoning unit 73 applies a certain input data to a trained model generated by machine learning, and outputs the 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.
  • 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 that it becomes a label that is the classification result at the time of supervised learning. Is output.
  • the inference unit 73 may be configured to output a multidimensional feature amount 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.
  • 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 quantity vector of the new three-dimensional model with the multidimensional feature quantity 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 quantity vector of the above and the multidimensional feature quantity vector of the registered 3D model is calculated as the degree of similarity. The degree of similarity is the degree of 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 sort unit 75.
  • the similarity can be calculated by comparing the multidimensional feature vector of the new 3D model with the multidimensional feature vector of the registered 3D model to obtain the distance scale, and using an algorithm such as approximate nearest neighbor search. You may.
  • 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 one with the smallest numerical value to the one with the largest numerical value. Here, the similarity sorting unit 75 arranges the similarity in ascending order from the one with the smallest numerical value, but the similarity sorting unit 75 only needs to be able to arrange the similarity in the order of the highest similarity, and the numerical value of the similarity is high. You may divide by 1 and arrange the divided values in descending order from the one with the largest number to the one with the smallest number.
  • the similarity determination unit 40a determines the similarity for all registered three-dimensional models in the same manner as the similarity determination unit 40.
  • machine learning of the classification conditions of the three-dimensional model is performed in the similarity determination unit 40a, and the new 3 is based on the learned classification conditions of the three-dimensional model.
  • FIG. 21 is a diagram showing a registered 3D model sorted in descending order of similarity to the new 3D model shown in FIG.
  • the registered 3D model shown on the left side has a higher degree of similarity to the new 3D model shown in FIG. 10
  • 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.
  • 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. 1.
  • 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.
  • Shape transformation means at least one of rotational movement of a shape, enlargement of a shape, and reduction of a shape.
  • FIG. 23 is a flowchart showing the data expansion process executed by the model transformation unit 20a according to the first embodiment.
  • the grid data generation unit 21 carries out step S10 described above.
  • step S410 the model shape conversion unit 23 converts the shape of the new three-dimensional model arranged on the lattice space.
  • steps S20, S30, step S110 and step S120 are performed on the new 3D model on which the shape conversion is performed, and the grid data is performed on the new 3D model on which the shape conversion is performed.
  • the grid data is compressed from the generation of.
  • the new three-dimensional model arranged on the lattice space is shaped into various directions or 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. This makes it possible to accurately recognize the shape features of the three-dimensional model and calculate the degree of similarity. 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.
  • the machining program search device 100 uses the model conversion unit 20a and the similarity determination unit 40a to machine-learn a 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.
  • the machining program search device 100 when the 3D model shown in the 3D model data is displayed as an image, the shape inclusion portion of the 3D object and the shape inclusion portion of the 3D 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 a 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 a model.
  • the amount of data to be processed can be reduced by calculating the similarity from the compressed grid 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.
  • machine learning of the classification conditions of the three-dimensional model is performed in the similarity determination unit 40a, and the new three-dimensional model and the registered grid data are obtained based on the learned classification conditions of the three-dimensional model.
  • Calculate the similarity of the shapes of This makes it possible to efficiently recognize the shape features of the 3D model and calculate the degree of similarity between the shape of the new 3D model and the registered grid data, and to process a new new 3D model. It is possible to easily search the database 60 for a machining program to be diverted when creating a machining program.
  • the machining program search device 100 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. ..
  • FIG. 24 is a diagram showing the configuration of the machining program search device 101 according to the second embodiment.
  • the components that achieve the same functions as the machining program search device 100 of the first embodiment shown in FIG. 1 are designated by the same reference numerals, and duplicate description will be omitted.
  • the machining program search device 101 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 makes a 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.
  • 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 an input unit 11, a registration model acquisition unit 30, a registration program acquisition unit 50, and an output unit 13.
  • the difference recognition unit 80 recognizes the difference between the shape of the 3D model in which the machining program is newly created and the shape of the 3D model in which the machining program was 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.
  • 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.
  • 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 3D model and the shape of the registered 3D model.
  • 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 acquired from the model difference acquisition unit 81 and the shape of the registered 3D model. 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.
  • FIG. 26 is a flowchart showing a procedure of processing of the difference recognition unit 80 according to the second embodiment.
  • 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 registration model acquisition unit 30. , Acquires the difference in shape 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.
  • 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 with respect to the machining program of the registered 3D model.
  • the second difference shape exists, in the difference part machining program corresponding to the difference part of the second difference shape, the machining part of the machining program of the registered 3D model and the shape of the difference part are on the three-dimensional coordinates.
  • 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.
  • 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 unit to the output unit 13.
  • 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 machining 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.
  • 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.
  • the information of the difference portion between the shape of the new 3D model and the shape of the registered 3D 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 embodiments is 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 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 sort unit, 80 difference recognition unit, 81 model difference acquisition unit, 82 machining program difference acquisition unit, 100, 101 machining program search device, 110 CAD system, 721 data acquisition unit, 722 learning unit, C1 1st Cluster, C2 2nd cluster, C3 3rd cluster, C4 4th cluster, D1, DN model data.

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)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Multimedia (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Library & Information Science (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)と、を備える。

Description

加工プログラム検索装置および加工プログラム検索方法
 本開示は、加工対象形状に類似した形状の加工プログラムを検索する加工プログラム検索装置および加工プログラム検索方法に関する。
 数値制御(Numerical Control:NC)装置などの制御装置によって制御される工作機械は、加工対象を種々の加工仕上がり形状に機械加工する。工作機械により機械加工を実行するためには、制御装置が、加工プログラムに従って工作機械を制御する必要がある。しかしながら、制御装置が用いる工作機械を制御するための加工プログラムの作成は、多くの時間および経験が必要となるため、加工プログラムの作成を支援する作成支援機能の充実化が進められている。例えば、加工プログラムの作成支援機能としては、ユーザが図面を見ながら加工対象の寸法をNC画面に設定することで加工プログラムを作成する機能、コンピュータ支援設計(Computer-Aided Design:CAD)データを直接読み込んでNCプログラムといった加工プログラムを作成する機能などがある。これらの作成支援機能は、一から加工プログラムを作成することを前提としており、過去に加工プログラムを作成したことのある加工仕上がり形状と類似形状の加工仕上がり形状を加工する場合でも一から加工プログラムを作成するため、加工プログラムの作成効率が悪かった。
 ユーザが、加工プログラムを作成する際に、上述の類似形状の加工仕上がり形状に対応する加工プログラムを流用することで作成効率は上がるが、加工プログラムを流用するためには、新たに加工する加工仕上がり形状が、過去に加工プログラムを作成したことのある加工仕上がり形状と類似しているか否かを判別する必要がある。
 特許文献1に記載の検索システムは、3次元形状データベースに対し、3次元形状モデルの一部または全体を検索質問とし、検索質問における部分の形状に類似する3次元形状を3次元データベースから選び出す3次元形状検索に関する技術が開示されている。具体的には、検索システムは、前処理として3次元物体を点群に変換し、多視点レンダリングにより部分形状を抽出し、特徴量抽出として該部分形状の姿勢正規化を行って、多視点からの法線ヒストグラムを用いて第一の特徴ベクトルを求めている。そして、検索システムは、検索質問に対して、3次元物体を点群に変換し、多視点レンダリングにより部分形状を抽出し、特徴量抽出として該部分形状の姿勢正規化を行って、多視点からの法線ヒストグラムを用いて第二の特徴ベクトルを求めている。検索システムは、3次元形状の検索時には、第一の特徴ベクトル及び第二の特徴ベクトル間の相違度を求めて、該相違度の値により検索質問における部分の形状に類似する3次元形状を3次元データベースから選び出す。
特開2018-136642号公報
 しかしながら、上記特許文献1の技術では、3次元の物体を表す3次元形状モデルを点群に変換し、多視点レンダリングにより画像に変換したのち、法線ヒストグラムを用いて特徴量抽出している。このため、特許文献1の技術では、多視点レンダリングで変換された画像に表れない、3次元の物体の形状内包部および3次元の物体に形成されている穴等による空間を含めた3次元形状を検出できないという問題があった。
 本開示は、上記に鑑みてなされたものであって、工作機械における機械加工の加工仕上がり形状に類似した形状を加工する加工プログラムをデータベースから自動で容易に検索する加工プログラム検索装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本開示にかかる加工プログラム検索装置は、工作機械において加工対象を機械加工するための異なる複数の加工プログラムが登録されたデータベースを検索対象とする。加工プログラム検索装置は、新たに加工プログラムが作成される加工対象の加工仕上がり形状を示す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次元モデルを機械加工するための加工プログラムをデータベースから検索して取得する登録プログラム取得部と、を備える。
 本開示にかかる加工プログラム検索装置は、工作機械における機械加工の加工仕上がり形状に類似した形状を加工する加工プログラムをデータベースから自動で容易に検索することができる、という効果を奏する。
実施の形態1にかかる加工プログラム検索装置の構成を示す図 実施の形態1にかかる加工プログラム検索装置が備えるモデル変換部の構成を示す図 実施の形態1にかかる加工プログラム検索装置が備える類似度判定部の構成を示す図 実施の形態1にかかる加工プログラム検索装置の処理の手順を示すフローチャート 実施の形態1にかかるモデル変換部の格子データ生成部の処理の手順を示すフローチャート 実施の形態1にかかるモデル変換部の格子データ生成部が取得した3次元モデルデータで示される3次元モデルを描画した一例を示す図 実施の形態1にかかるモデル変換部の格子データ生成部が取得した3次元モデルデータで示される3次元モデルを格子空間上に配置して描画した一例を示す図 実施の形態1にかかるモデル変換部のデータ圧縮部の処理の手順を示すフローチャート 実施の形態1にかかる類似度判定部の処理の手順を示すフローチャート 実施の形態1における新規3次元モデルの例を示す図 実施の形態1における登録3次元モデルの例を示す図 図11に示す20個の登録3次元モデルから、図10に示す新規3次元モデルに類似する登録3次元モデルとして検索された登録3次元モデルを示す図 実施の形態1における機械学習を用いた類似度判定部の構成を示す図 実施の形態1にかかる類似度判定部の処理の手順を示すフローチャート 実施の形態1においてk-means法で20個の3次元モデルを4つのクラスタにクラスタリングした例における第1クラスタに分類された3次元モデルを示す図 実施の形態1においてk-means法で20個の3次元モデルを4つのクラスタにクラスタリングした例における第2クラスタに分類された3次元モデルを示す図 実施の形態1においてk-means法で20個の3次元モデルを4つのクラスタにクラスタリングした例における第3クラスタに分類された3次元モデルを示す図 実施の形態1においてk-means法で20個の3次元モデルを4つのクラスタにクラスタリングした例における第4クラスタに分類された3次元モデルを示す図 実施の形態1にかかる機械学習部の構成を示す図 実施の形態1にかかる機械学習装置が用いるニューラルネットワークの構成を示す図 図10に示した新規3次元モデルに対する類似度が高い順にソートされた登録3次元モデルを示す図 図1に示す加工プログラム検索装置においてデータ拡張を実行するモデル変換部の構成を示す図 実施の形態1にかかるモデル変換部で実行されるデータ拡張処理を示すフローチャート 実施の形態2にかかる加工プログラム検索装置の構成を示す図 実施の形態2にかかる加工プログラム検索装置が備える差異認識部の構成を示す図 実施の形態2にかかる差異認識部の処理の手順を示すフローチャート
 以下に、実施の形態にかかる加工プログラム検索装置および加工プログラム検索方法を図面に基づいて詳細に説明する。なお、この実施の形態により本開示が限定されるものではない。
実施の形態1.
 図1は、実施の形態1にかかる加工プログラム検索装置100の構成を示す図である。加工プログラム検索装置100は、加工対象となるワークの加工後の形状が類似した加工プログラムを検索するコンピュータである。
 加工プログラム検索装置100は、CADシステム110に接続されており、CADシステム110から3次元モデルデータを取得する。3次元モデルデータは、加工対象となるワークの加工後の形状である3次元の加工仕上がり形状を示す、加工形状データである。すなわち、3次元モデルは、加工対象の加工仕上がり形状と換言できる。3次元モデルデータには、ワークの加工仕上がり形状の情報およびワークの加工仕上がり形状の幾何情報が含まれる。幾何情報は、座標系における3次元形状の情報である。加工プログラム検索装置100は、取得した3次元モデルデータに基づいて、3次元モデルデータで示される形状に類似する形状の3次元モデルを検索し、検索した3次元モデルと、この3次元モデルに対応する加工プログラムを出力する。以下、3次元モデルを単にモデルと呼ぶ場合がある。
 加工プログラム検索装置100は、情報が入力される入力部11と、情報を表示する表示部12と、情報を出力する出力部13と、各種処理を実行するプロセッサ14と、情報を記憶するメモリ15と、を有する。
 CADシステム110は、3次元(three-dimensional:3D)CADによって、加工対象となるワークの3次元の加工仕上がり形状を示す加工形状データを作成する。
 入力部11は、加工プログラム検索装置100の外部の外部装置であるCADシステム110から、CADシステム110で作成されたCADデータからなる3次元モデルデータを受け付けて、後述するモデル変換部20に送信する。すなわち、入力部11は、加工形状データが入力される加工形状データ入力部として機能する。
 ただし、3次元モデルデータはCADデータに限定されない。3次元モデルデータは、加工プログラム検索装置100において解釈可能なデータであればよい。表示部12は、画面にて情報を表示してユーザに提示する。出力部13は、加工プログラム検索装置100の外部に情報を出力してユーザに提示する。
 プロセッサ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に格納されているプログラムを実行する。
 メモリ15は、データベース60と、加工プログラム検索装置100の不図示の処理プログラム等を記憶する。
 データベース60は、3次元モデルデータを格納する。本実施の形態1では、データベース60が、モデルデータD1からモデルデータDN(Nは自然数)を記憶している場合について説明する。モデルデータD1からモデルデータDNのそれぞれは、3次元モデルデータと、この3次元モデルデータで示される加工仕上がり形状を加工する加工プログラムとを含んでいる。このように、データベース60は、3次元モデルデータと加工プログラムとの組み合わせを複数組記憶している。3次元モデルデータの加工プログラムは、3次元モデルデータに対応する加工仕上がり形状を加工する際に用いられるプログラムである。モデルデータD1からモデルデータDNのそれぞれは、入力部11から入力されてデータベース60に記憶される。
 なお、以下の説明では、モデルデータD1からモデルデータDNを識別する必要が無い場合には、モデルデータD1からモデルデータDNの何れかを、モデルデータDxという場合がある。第x(xは1からNの何れかの自然数)のモデルデータDxは、第xの3次元モデルデータと、第xの3次元モデルデータに対応する加工プログラムと、を含んでいる。このように、モデルデータDxでは、第xの3次元モデルデータと第xの加工プログラムとが対応付けされている。すなわち、データベース60には、3次元モデルと、この3次元モデルに対応するワークを加工する際に用いられる加工プログラムと、が紐付けられて記憶されている。
 なお、データベース60は、加工プログラム検索装置100の外部に配置されていてもよい。すなわち、データベース60は、加工プログラム検索装置100の外部装置であってもよい。
 図1には、プロセッサ14を使用することによって実現される加工プログラム検索装置100の機能構成を示している。加工プログラム検索装置100は、モデル変換部20と、登録モデル取得部30と、類似度判定部40と、登録プログラム取得部50と、を備える。
 登録モデル取得部30は、データベース60に登録されているモデルデータDxから、3次元モデルデータを取得する。登録モデル取得部30は、取得した3次元モデルデータを、モデル変換部20に送る。登録モデル取得部30は、データベース60の3次元モデルデータをコピーして取得する。すなわち、登録モデル取得部30は、データベース60に3次元モデルデータを残したまま3次元モデルデータを取得する。
 モデル変換部20は、3次元モデルデータで示される3次元モデルのデータ変換を行う。モデル変換部20は、入力部11から取得した3次元モデルデータで示される3次元モデルと、登録モデル取得部30から取得した3次元モデルデータで示される3次元モデルとを、格子データにデータ変換する。モデル変換部20は、データ変換した格子データを類似度判定部40に送信する。
 以下の説明では、モデル変換部20が入力部11から取得した3次元モデルデータで示される3次元モデルを新規3次元モデルと呼び、モデル変換部20が登録モデル取得部30から取得した3次元モデルデータで示される3次元モデルを登録3次元モデルと呼ぶ場合がある。また、新規3次元モデルに対応する格子データを新規格子データと呼び、登録3次元モデルに対応する格子データを登録格子データと呼ぶ場合がある。また、新規3次元モデルを第1の3次元モデルとすると、登録3次元モデルは第2の3次元モデルといえる。
 図2は、実施の形態1にかかる加工プログラム検索装置100が備えるモデル変換部20の構成を示す図である。モデル変換部20は、格子データ生成部21と、データ圧縮部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の位置情報といえる。
 データ圧縮部22は、格子データ生成部21において生成された登録格子データおよび新規格子データから、予め決められた複数の選択数の格子ブロックの格子データを選択し、複数の選択数の格子データを1つの圧縮格子データに圧縮する。
 類似度判定部40は、入力部11から取得した3次元モデルデータで示される3次元モデルと、データベース60から取得した3次元モデルデータで示される3次元モデルと、の形状の類似度を判定する。類似度判定部40は、新規3次元モデルの格子データと登録格子データとの格子データとの類似度を判定することにより、新規3次元モデルと登録格子データとの形状の類似度を判定する。
 図3は、実施の形態1にかかる加工プログラム検索装置100が備える類似度判定部40の構成を示す図である。類似度判定部40は、ハッシュ値算出部41と、ハミング距離算出部42と、ハミング距離ソート部43と、を備える。
 ハッシュ値算出部41は、モデル変換部20において3次元モデルが変換された格子データから、ハッシュ値を算出する。ハッシュ値算出部41は、算出したハッシュ値をハミング距離算出部42に送信する。
 ハッシュ値とは、元になるデータから予め決められた計算手順により求められた、規則性のない固定長の値である。ハッシュ値を求めるための計算手順は、ハッシュ関数、要約関数、メッセージダイジェスト関数などと呼ばれる。ハッシュ値は、元のデータの長さに依らず予め決められた長さとなっており、同じデータからは必ず同じハッシュ値が得られる。一方、ハッシュ値は、少しでも異なるデータ複数のデータからは、全く異なるハッシュ値が得られる。ハッシュ値は、不可逆で情報量の欠損を含む計算過程を経て算出される。このため、ハッシュ値から元のデータを復元することはできない。
 ハミング距離算出部42は、新規3次元モデルのハッシュ値と、1つの登録3次元モデルのハッシュ値とからハミング距離を算出する。ハミング距離とは、桁数が同じ2つの値を比べたとき、2つの値において対応する位置にある異なった値の桁の個数のことである。桁数が同じ2つの値を比べたとき、ハミング距離が小さい方が、類似度が高いと判定される。ハミング距離算出部42は、算出したハミング距離をハミング距離ソート部43に送信する。
 ハミング距離ソート部43は、ハミング距離算出部42において算出された全ての登録3次元モデルのハミング距離に基づいて、新規3次元モデルに対する全ての登録3次元モデルの類似度を判定する。
 登録プログラム取得部50は、類似度判定部40において判定された類似度に基づいて、新規3次元モデルで示される形状と類似度が高い登録3次元モデルの加工プログラムをデータベース60から取得する。つまり、登録プログラム取得部50は、類似度判定部40における判定結果に基づいて、複数の第2の3次元モデルのうち形状の類似度が相対的に高い第2の3次元モデルを機械加工するための加工プログラムをデータベース60から検索して取得すると言える。登録プログラム取得部50は、類似度が高い登録3次元モデルと、この登録3次元モデルに対応付けされた加工プログラムと、を対応付けして出力部13に出力する。
 つぎに、加工プログラム検索装置100が実行する検索処理の全体の処理手順について説明する。図4は、実施の形態1にかかる加工プログラム検索装置100の処理の手順を示すフローチャートである。
 ステップS1において、モデル変換部20が、入力部11を介してCADシステム110から3次元モデルデータを取得する。
 ステップS2において、モデル変換部20が、データベース60に登録されている全ての3次元モデルデータを取得する。具体的に、登録モデル取得部30が、データベース60から全ての3次元モデルデータを取得し、モデル変換部20に送信する。
 ステップS3において、モデル変換部20が、3次元モデルデータに示される3次元モデルを格子データにデータ変換する。すなわち、モデル変換部20が、CADシステム110から取得した3次元モデルデータに示される新規3次元モデルと、データベース60から取得した3次元モデルデータに示される登録3次元モデルと、を格子データにデータ変換する。
 モデル変換部20で実行される処理について説明する。まず、格子データ生成部21で実行される処理について説明する。図5は、実施の形態1にかかるモデル変換部20の格子データ生成部21の処理の手順を示すフローチャートである。モデル変換部20は、入力部11から取得した新規3次元モデルと、登録モデル取得部30がデータベース60から取得した全ての登録3次元モデルとを格子データに変換する。
 上述したようにデータベース60には、3次元モデルデータと、この3次元モデルデータで示される加工仕上がり形状を加工する加工プログラムとが対応付けられて記憶されている。登録モデル取得部30はデータベース60に接続し、データベース60から登録されている全ての3次元モデルデータを取得する。
 ステップS10において、格子データ生成部21は、3次元モデルデータで示される3次元モデルを予め決められた仮想の3次元空間である格子空間上に配置する。具体的に、格子データ生成部21は、入力部11から取得した3次元モデルデータで示される3次元モデルの形状を生成して、X軸、Y軸、Z軸の3軸が予め決められた長さからなる格子空間上に配置する。格子空間は、仮想の3次元空間であり、予め決められた長さからなる複数の分割空間である格子が3軸のそれぞれに沿って3次元に配列された空間である。すなわち、格子データ生成部21は、3次元モデルを3軸が予め決められた長さからなり、複数の格子が配列された格子空間の座標系上に配置する。
 図6は、実施の形態1にかかるモデル変換部20の格子データ生成部21が取得した3次元モデルデータで示される3次元モデルを描画した一例を示す図である。図7は、実施の形態1にかかるモデル変換部20の格子データ生成部21が取得した3次元モデルデータで示される3次元モデルを格子空間上に配置して描画した一例を示す図である。
 格子空間は、格子として例えば1mm四方の立方体を1つの格子ブロックとして、3次元座標上にX軸方向、Y軸方向およびZ軸方向のそれぞれの方向に200個ずつ格子ブロックが配置された、200×200×200=8000000個の格子ブロックから構成される仮想3次元空間が例示される。格子ブロックの大きさおよび個数は、扱う3次元モデルにより、適宜変更されればよい。
 ステップS20において、格子データ生成部21は、格子ブロックの頂点で3次元モデルの形状の内外判定を行う。具体的には、格子データ生成部21は、格子空間の全格子ブロックのそれぞれの頂点の3次元座標値について、3次元モデルの内部にあるのか、3次元モデルの外部にあるのか、または3次元モデルの境界にあるのかを判定する。格子ブロックの頂点の3次元座標値が3次元モデルの内部、外部、または境界のうちのどこにあるのかの判定は、公知のソリッドモデルの形状の内外判定処理を行うことによって行うことができる。
 格子データ生成部21は、格子ブロックの頂点の3次元座標値が、3次元モデルの内部にあると判定された格子ブロックの頂点に、値:1を割り当てる。格子データ生成部21は、格子ブロックの頂点の3次元座標値が、3次元モデルの外部にあると判定された格子ブロックの頂点に、値:0を割り当てる。格子データ生成部21は、格子ブロックの頂点の3次元座標値が、3次元モデルの境界にあると判定された格子ブロックの頂点に、値:0.5を割り当てる。
 ステップS30において、格子データ生成部21は、1つの格子ブロックの全頂点に割り当てられた値の総和を頂点数で割り、算出した値を格子ブロックに割り当てる。以下、格子ブロックに割り当てられた値を、格子データと呼ぶ。格子データ生成部21は、以上の処理を全ての格子ブロックに対して実施することにより、入力部11から取得した新規3次元モデルの新規格子データを生成し、新規3次元モデルを新規格子データに変換する。これにより、第1の3次元モデルにおいて、3次元空間における分割空間のそれぞれが3次元モデルの内部、外部または境界部のいずれの部分に位置するかを示す第1の位置情報として新規格子データを取得することができる。
 ステップ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が割り当てられる。
 そして、格子データ生成部21は、登録モデル取得部30から取得したすべての登録3次元モデルについても、登録3次元モデルのそれぞれに対し、上記の処理を行って格子データを生成し、登録3次元モデルを登録格子データに変換する。これにより、第2の3次元モデルのそれぞれにおいて、3次元空間における分割空間のそれぞれが3次元モデルの内部、外部または境界部のいずれの部分に位置するかを示す複数の第2の位置情報として、複数の登録格子データを取得することができる。格子データ生成部21は、生成した新規格子データと登録格子データとをデータ圧縮部22に送信する。
 格子データ生成部21は、新規3次元モデルと、新規3次元モデルに対応する新規格子データと、を対応付けてデータ圧縮部22に送信する。また、格子データ生成部21は、登録3次元モデルと、登録3次元モデルに対応する登録格子データと、を関連付けてデータ圧縮部22に送信する。
 次に、データ圧縮部22で実行される処理について説明する。図8は、実施の形態1にかかるモデル変換部20のデータ圧縮部22の処理の手順を示すフローチャートである。
 ステップS110において、データ圧縮部22は、格子データ生成部21において生成された新規格子データから、予め決められた複数の選択数の格子ブロックの格子データを選択する。選択数は、データ圧縮部22が格子データを圧縮するために選択する複数の格子ブロックの数であり、圧縮する格子データの数に対応する。そして、データ圧縮部22は、選択した複数の格子ブロックに割り当てられた格子データの総和を算出する。
 ステップS120において、データ圧縮部22は、求めた格子データの総和を選択数で割り、算出した値を、選択数の格子ブロックからなる1つの圧縮化格子ブロックの格子データである、圧縮格子データとしてデータを割り当てる。圧縮格子データは、選択数の格子ブロックからなる1つの圧縮化格子ブロックに割り当てられる、選択数の格子ブロックの格子データが圧縮された格子データである。これにより、データ圧縮部22は、予め決められた複数の選択数の格子データを1つの圧縮格子データに圧縮することができる。
 格子データを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となる。
 データ圧縮部22は、上記の処理を3次元モデルの全格子データに対して実施することにより、3次元モデルの格子データの圧縮を行う。なお、格子データを必ず圧縮する必要はなく、計算機の能力、計算機の使用環境、計算機の計算コスト等の諸条件により、圧縮率を決めればよい。
 データ圧縮部22は、上記の処理を、格子データ生成部21から取得した新規格子データと登録格子データとの全てに対して行う。データ圧縮部22は、新規格子データと登録格子データとについての、圧縮された格子データである圧縮格子データを、類似度判定部40に送信する。
 データ圧縮部22は、新規3次元モデルと、新規3次元モデルに対応する圧縮新規格子データと、を対応付けて類似度判定部40に送信する。圧縮新規格子データは、圧縮された新規格子データである。また、データ圧縮部22は、登録3次元モデルと、登録3次元モデルに対応する圧縮登録格子データと、を対応付けて類似度判定部40に送信する。圧縮登録格子データは、圧縮された登録格子データである。
 図4に戻り、ステップS4において、類似度判定部40が、新規3次元モデルと登録3次元モデルとの形状の類似度を判定する。具体的に、類似度判定部40は、新規3次元モデルの格子データと登録格子データとの格子データとの類似度を判定して、新規3次元モデルと登録格子データとの形状の類似度を判定する。すなわち、本実施の形態1では、類似度判定部40は、新規3次元モデルに対応する圧縮新規格子データと登録3次元モデルに対応する圧縮登録格子データとを比較して、圧縮新規格子データと圧縮登録格子データとの類似度を判定する。
 類似度判定部40で実行される処理について説明する。図9は、実施の形態1にかかる類似度判定部40の処理の手順を示すフローチャートである。
 ステップS210において、ハッシュ値算出部41は、モデル変換部20において3次元モデルが変換された格子データから、ハッシュ値を算出する。ハッシュ値算出部41は、新規3次元モデルに対応する圧縮新規格子データから、新規3次元モデルのハッシュ値を算出する。ハッシュ値算出部41は、登録3次元モデルに対応する圧縮登録格子データから登録3次元モデルのハッシュ値を算出する。なお、新規格子データおよび登録格子データを圧縮していない場合には、新規格子データおよび登録格子データからハッシュ値を算出することとしてもよい。
 ステップS220において、ハミング距離算出部42は、新規3次元モデルのハッシュ値と、1つの登録3次元モデルのハッシュ値とからハミング距離を算出する。ハミング距離算出部42は、全ての登録3次元モデルのハッシュ値について、ハミング距離を算出する。ハミング距離算出部42は、算出したハミング距離をハミング距離ソート部43に送信する。
 ステップS230において、ハミング距離ソート部43は、ハミング距離算出部42において算出されたハミング距離をソートする。具体的に、ハミング距離ソート部43は、ハミング距離算出部42において算出された全ての登録3次元モデルのハミング距離を、数値の小さいものから大きいものへ昇順に並べる。
 そして、ハミング距離ソート部43は、並べた登録3次元モデルのハミング距離の昇順を、新規3次元モデルと登録3次元モデルとの形状の類似度の順番と判定する。すなわち、ハミング距離ソート部43は、ハミング距離算出部42が算出した複数のハミング値を比べたとき、ハミング距離の値が小さい登録3次元モデルほど、新規3次元モデルとの形状の類似度が高いと判定する。昇順に並べられた登録3次元モデルのハミング距離の昇順の情報は、新規3次元モデルと登録3次元モデルとの形状の類似度の順番の情報である、類似度順番情報である。
 そして、ハミング距離ソート部43は、登録3次元モデルと、登録3次元モデルに対応するハミング距離と、登録3次元モデルに対応する類似度順番情報と、を対応付けて登録プログラム取得部50に送信する。
 なお、類似度の判定は、ハッシュ値を用いた方法ではなく、新規3次元モデルと登録3次元モデルとを同一の座標系上に配置した場合における、同じ位置の新規3次元モデルの格子データと登録3次元モデルの格子データとを比較して、異なった値の桁の個数を算出する方法を用いることもできる。この場合、異なった値の桁の個数が小さい方が、類似度が高いと判定される。なお、この場合、新規3次元モデルの圧縮格子データと登録3次元モデルの圧縮格子データとを比較して、異なった値の桁の個数を算出してもよい。
 また、類似度の判定は、格子データの特徴量の抽出、近似最近傍探索、格子データをベクトル化して差分を求める方法などを使用してもよい。
 図4に戻り、ステップS5において、登録プログラム取得部50は、類似度判定部40のハミング距離ソート部43から取得した類似度順番情報に示される類似度の高い登録3次元モデルの順に、登録3次元モデルに対応する加工プログラムをデータベース60から取得する。登録プログラム取得部50は、類似度判定部40およびデータベース60から取得した、登録3次元モデルと、加工プログラムと、類似度順番情報と、類似度情報と、を対応付けて出力部13に送信する。類似度情報は、類似度順番情報における登録3次元モデルの類似度の順位の情報である。
 ステップS6において、出力部13は、登録プログラム取得部50から取得した、加工プログラムと、登録3次元モデルと、類似度順番情報と、類似度情報と、を表示装置などに出力し、ユーザに提示する。これにより、加工プログラム検索装置100は、新規3次元モデルに類似する登録3次元モデルの加工プログラムをデータベース60から検索して、ユーザに提示することができる。
 図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から検索される。
 以上のような本実施の形態1にかかる加工プログラム検索装置100では、3次元モデルデータに示される3次元モデルを画像表示した場合に、画像に表示されない、3次元の物体の形状内包部および3次元の物体に形成されている穴形状を含めた形状の細部を含めて、類似する3次元モデルの検索が自動で高精度に行える。これにより、新規の新規3次元モデルを加工するための新規の加工プログラムを作成する際に流用する加工プログラムを容易にデータベース60から探索することが可能となり、新規3次元モデルを加工するための新規の加工プログラムの作成におけるユーザの手間を省くことができる。
 また、本実施の形態1にかかる加工プログラム検索装置100では、圧縮した格子データから類似度を算出することにより、処理するデータ量を低減することができ、高速で精度良く新規3次元モデルと登録3次元モデルとの形状の類似度を算出することができる。
 次に、加工プログラム検索装置100の類似度判定部40において機械学習を用いた形態について説明する。図13は、実施の形態1における機械学習を用いた類似度判定部40aの構成を示す図である。類似度判定部40aは、教師データ生成部71と、機械学習部72と、推論部73と、類似度算出部74と、類似度ソート部75と、を備える。
 教師データ生成部71は、モデル変換部20から取得する複数の3次元モデルの格子データを入力として、クラスタリングを行い、クラスタリングした結果をラベルとして、教師データを生成する。
 機械学習部72は、予め用意された複数の教師データおよび教師データに対応する3次元モデルの格子データを基に、教師有り機械学習を行ない、学習済モデルを生成する。ここでの教師データは、教師データ生成部71で生成された、3次元モデルの格子データが入力とされ、分類結果であるラベルが出力とされた教師データである。
 推論部73は、機械学習部72で学習された学習済モデルを用いて、3次元モデルデータで示される登録3次元モデルの格子データおよび入力部11に入力された3次元モデルデータで示される新規3次元モデルの格子データを入力として推論を行い、出力データを取得する。
 類似度算出部74は、推論部73から出力された新規3次元モデルについての出力データを新規3次元モデルの多次元特徴量ベクトルとし、またデータベース60に登録されている登録3次元モデルについて推論部73から出力された出力データを登録3次元モデルの多次元特徴量ベクトルとし、新規3次元モデルの多次元特徴量ベクトルと、登録3次元モデルの多次元特徴量ベクトルと、の距離を類似度として算出する。すなわち、類似度算出部74は、第1の3次元モデルの特徴量と第2の3次元モデルの特徴量を取得する特徴量取得部と換言できる。
 類似度ソート部75は、類似度算出部74において算出された全ての登録3次元モデルについての類似度を、数値の小さいものから大きいものへ昇順に並べる。なお、類似度ソート部75は、類似度が高い順にソートすることができればよく、類似度の数値で1を除算し、除算した数値を数値の大きいものから小さいものへ降順に並べてソートしてもよい。
 次に、類似度判定部40aで実行される処理について説明する。図14は、実施の形態1にかかる類似度判定部40aの処理の手順を示すフローチャートである。
 ステップS310において、教師データ生成部71は、モデル変換部20から、複数の3次元モデルの格子データを取得する。
 ステップS320において、教師データ生成部71は、複数の3次元モデルの格子データを入力データとして、複数の3次元モデルの格子データのクラスタリングを行い、クラスタリングした結果を3次元モデルの分類結果であるラベルとして、教師データを生成する。すなわち、教師データ生成部71は、3次元モデルの格子データを入力とし、3次元モデルの分類結果であるラベルを出力とした教師データを生成する。以下では、クラスタリングにk-means法を用いた場合について説明する。
 k-means法とは、特徴量のユークリッド距離が最も近いクラスタに入力データを分類する手法である。具体的には、先ずあらかじめ決められたk個のクラスタに入力データがランダムに分類される。そして、k個の各クラスタ内の入力データの特徴量の平均値が求められ、特徴量の平均値を可視化した画像データがクラスタごとに作成される。次に、各画像データについて、入力データの特徴量からユークリッド距離が最も近い特徴量の平均値を持つクラスタに対して入力データが再分類される。この再分類がなされなくなったときに、クラスタリング処理が完了する。クラスタリング処理が完了したときのクラスタリング結果が、3次元モデルの分類結果であるラベルとして決定される。クラスタリング結果のラベルに偏りがある場合には、格子データをXY平面、YZ平面、ZX平面に投影したデータを入力データとする方法が行われてもよい。
 教師データの生成は、与えられた入力データを外的基準なしに自動的に分類するクラスタリングを行えばよく、ウォード法、群平均法、最短距離法、最長距離法といったアルゴリズムを用いてもよい。また、ユーザが3次元モデルごとに手動で設定してもよい。
 図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次元モデルを示す図である。
 ステップS330において、機械学習部72は、教師データ生成部71で生成された、3次元モデルの格子データが入力とされ、3次元モデルの分類結果であるラベルが出力とされた、複数の教師データと教師データに対応する3次元モデルの格子データとを基に、教師有り機械学習を行ない、学習済モデルを生成する。学習済モデルは、3次元モデルの格子データから、3次元モデルをクラスタリングした結果である分類結果を用いた指標を類推するための学習済モデルである。機械学習は、所望の収束結果が得られるまで繰り返されてもよい。機械学習部72は、生成した学習済モデルである3次元モデルの分類条件をメモリ15に記憶させる。したがって、機械学習部72は、複数の3次元モデルから取得した格子データをクラスタリングして教師データを取得し、複数の3次元モデルから取得した格子データと教師データとを併せてデータセットとし、データセットに基づいて学習済モデルを生成する。
 図19は、実施の形態1にかかる機械学習部の構成を示す図である。図20は、実施の形態1にかかる機械学習装置が用いるニューラルネットワークの構成を示す図である。
 機械学習部72は、データ取得部721と、学習部722とを有している分類条件学習部である。データ取得部721は、教師データ生成部71から出力される、3次元モデルの格子データが入力とされ、分類結果であるラベルが出力とされた、予め用意された複数の教師データと教師データに対応する3次元モデルの格子データとを取得して、データセットとして学習部722に送る。なお、教師データに対応する3次元モデルの格子データとは、教師データを作成する際に入力された格子データである。すなわち、機械学習部72では、加工対象の加工仕上がり形状を示す3次元モデルを3次元空間に配置し、3次元モデルにおいて、3次元空間における複数の分割空間のそれぞれが3次元モデルの内部、外部または境界部のうちのいずれの部分に位置するかを示す位置情報と、複数の3次元モデルを複数の分類に分類した教師データとがデータセットとされる。データ取得部721は、データセットを取得する。
 学習部722は、3次元モデルの格子データが入力とされ分類結果であるラベルが出力とされた、予め用意された複数の教師データと、教師データに対応する3次元モデルデータで示される3次元モデルの格子データとの組み合わせに基づいて作成されるデータセットに基づいて、3次元モデルデータで示される3次元モデルの分類条件を学習する。学習部722は、学習した3次元モデルの分類条件をメモリ15に記憶させる。すなわち、学習部722は、データセットに基づいて、推論部73が3次元モデルの分類結果を用いた指標を推論するための学習済モデルを生成する。
 機械学習部72は、例えば、ニューラルネットワークモデルに従って、いわゆる教師有り学習により、格子データを分類結果であるラベルに分類するための分類条件、すなわち3次元モデルの分類条件を学習する。そして、機械学習部72は、3次元モデルの分類条件を学習することで、3次元モデルの分類結果を用いた指標を推論するための学習済モデルを生成する。格子データがどのようなラベルに分類されるかを機械学習部72に学習させておくことで、新しく入力された格子データがどのラベルに近いかを推論部73が判定できるようになる。ここで、教師有り学習とは、ある入力と結果(ラベル)のデータの組を大量に学習装置に与えることで、それらのデータセットにある特徴を学習し、入力から結果を推定するモデルをいう。
 ニューラルネットワークは、複数のニューロンからなる入力層、複数のニューロンからなる中間層(隠れ層)、および複数のニューロンからなる出力層で構成される。中間層は、1層でもよいし2層以上でもよい。また、機械学習に他の方法、例えば、サポートベクターマシン等が用いられてもよい。
 例えば、図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の値に従って変化する。
 続いて、ステップS340において、推論部73は、機械学習部72で生成された学習済みの学習済モデルを用いて、データベース60に登録されている3次元モデルデータで示される登録3次元モデルの格子データおよび入力部11に入力された3次元モデルデータで示される新規3次元モデルの格子データを入力として推論を行い、出力データを取得する。つまり、推論による出力データの取得は、データベース60に登録されている全ての3次元モデルデータで示される登録3次元モデルの格子データと、入力部11に入力された3次元モデルデータで示される新規3次元モデルの格子データに対して、出力データを取得する。
 推論部73は、ある入力のデータを機械学習で生成した学習済モデルにあてはめて、教師有り学習時の分類結果であるラベルになる確率を出力する。推論部73は、教師有り学習時の分類結果である全てのラベルについて、ラベルになる確率を出力する。したがって、推論部73からは、出力データとして、ラベルの個数分の数値が出力される。ここでは、推論部73は、データベース60に登録されている3次元モデルデータで示される新規3次元モデルの格子データを学習済モデルにあてはめて、教師有り学習時の分類結果であるラベルになる確率を出力する。なお、推論部73は、後述する多次元特徴量ベクトルを出力するように構成されていてもよい。つまり、推論部73は、学習済モデルを用いて3次元モデルの分類結果を用いた指標を推論する。
 続いて、ステップS350において、類似度算出部74は、入力部11から入力された新規3次元モデルについての推論部73から出力された出力データを新規3次元モデルの多次元特徴量ベクトルとし、またデータベース60に登録されている登録3次元モデルについての推論部73から出力された出力データを登録3次元モデルの多次元特徴量ベクトルとする。そして、類似度算出部74は、新規3次元モデルの多次元特徴量ベクトルと、全ての登録3次元モデルの多次元特徴量ベクトルと、を比較して、最近傍探索を行い、新規3次元モデルの多次元特徴量ベクトルと、登録3次元モデルの多次元特徴量ベクトルと、の距離を類似度として算出する。類似度は、新規3次元モデルの形状と、登録3次元モデルの形状との間の類似度である。類似度算出部74は、算出した類似度を類似度ソート部75に送信する。
 なお、類似度の算出は、新規3次元モデルの多次元特徴量ベクトルと、登録3次元モデルの多次元特徴量ベクトルとを比較して距離尺度を求めればよく、近似最近傍探索といったアルゴリズムを用いてもよい。
 続いて、ステップS360において、類似度ソート部75は、類似度算出部74において算出された類似度をソートする。具体的に、類似度ソート部75は、類似度算出部74において算出された全ての登録3次元モデルについての類似度を、数値の小さいものから大きいものへ昇順に並べる。ここでは、類似度ソート部75は、類似度を、数値の小さいものから大きいものへ昇順に並べているが、類似度ソート部75は、類似度が高い順に並べることができればよく、類似度の数値で1を除算し、除算した数値を数値の大きいものから小さいものへ降順に並べてもよい。
 上記の処理が行われることにより、類似度判定部40aにおいても類似度判定部40と同様に、全ての登録3次元モデルについての類似度を判定することが可能である。
 以上のような本実施形態にかかる加工プログラム検索装置100では、類似度判定部40aにおいて3次元モデルの分類条件の機械学習が行われ、学習された3次元モデルの分類条件に基づいて、新規3次元モデルと登録格子データとの形状の類似度を算出する。これにより、3次元モデルの形状特徴を効率良く認識して、新規3次元モデルと登録格子データとの形状の類似度を算出することができ、新規の新規3次元モデルを加工するための新規の加工プログラムを作成する際に流用する加工プログラムを容易にデータベース60から探索することが可能となる。
 図21は、図10に示した新規3次元モデルに対する類似度が高い順にソートされた登録3次元モデルを示す図である。図21においては、左側に示されている登録3次元モデルほど、図10に示した新規3次元モデルに対する類似度が高く、右側に示されている登録3次元モデルほど、図10に示した新規3次元モデルに対する類似度が低い。
 次に、モデル変換部20の他の形態について説明する。まず、モデル変換部20で実行されるデータ拡張について説明する。図22は、図1に示す加工プログラム検索装置100においてデータ拡張を実行するモデル変換部20aの構成を示す図である。モデル変換部20aは、モデル形状変換部23と、前述の格子データ生成部21と、前述のデータ圧縮部22と、を備える。モデル形状変換部23は、入力部11から入力されて格子空間上に配置された新規3次元モデルの形状を形状変換する。形状変換とは、形状の回転移動、形状の拡大および形状の縮小のうち、少なくとも1つを意味する。
 次に、モデル変換部20aで実行される処理について説明する。図23は、実施の形態1にかかるモデル変換部20aで実行されるデータ拡張処理を示すフローチャートである。
 まず、格子データ生成部21が、上述したステップS10を実施する。
 次に、ステップS410において、モデル形状変換部23は、格子空間上に配置された新規3次元モデルの形状を形状変換する。
 その後、形状変換が実施された新規3次元モデルに対して、上述したステップS20、ステップS30、ステップS110およびステップS120が実施されて、形状変換が実施された新規3次元モデルに対して、格子データの生成から格子データの圧縮が実施される。
 以上のような本実施の形態にかかる加工プログラム検索装置100では、格子空間上に配置された新規3次元モデルを様々な方向、または様々な大きさに形状変換したうえで、3次元モデルの格子データを生成できる。また、新規3次元モデルと登録3次元モデルとのうち一方が、格子空間上における方向および大きさが等しくなるように形状変換されればよい。これにより、3次元モデルの形状特徴を精度よく認識して、類似度を算出することができる。また、あらかじめ新規3次元モデルと登録3次元モデルとの向きを3次元モデルデータにおいて揃えなくてはならないといった制約が不要となる。
 さらに、加工プログラム検索装置100がモデル変換部20aと類似度判定部40aとを用いることにより、3次元モデルを様々な方向、または様々な大きさでデータ数を拡張して機械学習して、類似度を算出できるため、3次元モデルの形状特徴を精度良く認識して、類似度を算出することができる。
 上述したように、本実施の形態1にかかる加工プログラム検索装置100では、3次元モデルデータに示される3次元モデルを画像表示した場合に、画像に表示されない、3次元の物体の形状内包部および3次元の物体に形成されている穴形状を含めた形状の細部を含めて、類似する3次元モデルの検索が自動で高精度に行える。これにより、加工プログラム検索装置100では、新規の新規3次元モデルを加工するための新規の加工プログラムを作成する際に流用する加工プログラムを容易にデータベース60から探索することが可能となり、新規3次元モデルを加工するための新規の加工プログラムの作成におけるユーザの負荷を低減することが可能である。
 また、本実施の形態1にかかる加工プログラム検索装置100では、圧縮した格子データから類似度を算出することにより、処理するデータ量を低減することができ、高速で精度良く新規3次元モデルと登録3次元モデルとの形状の類似度を算出することができる。
 また、加工プログラム検索装置100では、類似度判定部40aにおいて3次元モデルの分類条件の機械学習が行われ、学習された3次元モデルの分類条件に基づいて、新規3次元モデルと登録格子データとの形状の類似度を算出する。これにより、3次元モデルの形状特徴を効率良く認識して、新規3次元モデルと登録格子データとの形状の類似度を算出することができ、新規の新規3次元モデルを加工するための新規の加工プログラムを作成する際に流用する加工プログラムを容易にデータベース60から探索することが可能となる。
 したがって、本実施の形態1にかかる加工プログラム検索装置100は、ワークの加工後の加工仕上がり形状に類似した形状を加工する加工プログラムをデータベースから自動で容易に検索することができる、という効果を奏する。
実施の形態2.
 図24は、実施の形態2にかかる加工プログラム検索装置101の構成を示す図である。図24の各構成要素のうち図1に示す実施の形態1の加工プログラム検索装置100と同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
 実施の形態2にかかる加工プログラム検索装置101では、新たに加工プログラムが作成される3次元モデルの形状と、過去に加工プログラムが作成された3次元モデルの形状との差異部を認識し、差異部にかかる加工プログラムを出力する。すなわち、加工プログラム検索装置101では、新規3次元モデルの形状と、登録3次元モデルの形状と、の差異部を認識し、差異部にかかる加工プログラムを出力する。
 加工プログラム検索装置101は、加工プログラム検索装置100が備える構成要素に加えて、差異認識部80を備えている。差異認識部80は、入力部11と、登録モデル取得部30と、登録プログラム取得部50と、出力部13と、に接続されている。
 差異認識部80は、新たに加工プログラムが作成される3次元モデルの形状と、過去に加工プログラムが作成された3次元モデルの形状との差異部を認識する。すなわち、加工プログラム検索装置101では、新規3次元モデルの形状と、登録3次元モデルの形状と、の差異部を認識する。
 図25は、実施の形態2にかかる加工プログラム検索装置101が備える差異認識部80の構成を示す図である。差異認識部80は、モデル差異取得部81と、加工プログラム差異取得部82と、を備える。
 モデル差異取得部81は、入力部11から入力された3次元モデルデータで示される新規3次元モデルと、登録モデル取得部30が取得した3次元モデルデータで示される登録3次元モデルとを取得する。そして、モデル差異取得部81は、新規3次元モデルの形状と登録3次元モデルの形状との形状の差異部の情報を取得する。
 加工プログラム差異取得部82は、モデル差異取得部81から取得した新規3次元モデルの形状と登録3次元モデルの形状との形状の差異部の情報に基づいて、差異部にかかる加工プログラム部位を取得する。すなわち、加工プログラム差異取得部82は、新規3次元モデルの加工仕上がり形状を加工するプログラムと、登録3次元モデルの加工仕上がり形状を加工するプログラムとの差異を取得する。
 次に、差異認識部80で実行される処理について説明する。図26は、実施の形態2にかかる差異認識部80の処理の手順を示すフローチャートである。
 ステップS510において、モデル差異取得部81は、入力部11から入力された新規3次元モデルの3次元モデルデータを取得し、また登録モデル取得部30から登録3次元モデルの3次元モデルデータを取得し、新規3次元モデルと登録3次元モデルとの3次元モデル間の形状の差異を取得する。具体的に、モデル差異取得部81は、新規3次元モデルの形状から登録3次元モデルの形状を差し引いた形状である第1差異形状を算出する。また、モデル差異取得部81は、登録3次元モデルの形状から新規3次元モデルの形状を差し引いた形状である第2差異形状を算出する。形状の差し引きは、ソリッドモデルの集合演算を用いればよい。モデル差異取得部81は、算出した第1差異形状の情報と第2差異形状の情報とを加工プログラム差異取得部82に送信する。
 次に、ステップS520において、加工プログラム差異取得部82は、モデル差異取得部81から取得した第1差異形状の情報と第2差異形状の情報とに基づき、第1差異形状と第2差異形状とに対応する加工プログラム部位を取得する。第1差異形状に対応する加工プログラムは、登録3次元モデルの加工プログラムに対して編集もしくは追加加工が必要となる。第2差異形状に対応する加工プログラムは、登録3次元モデルの加工プログラムに対して編集もしくは加工を減らすことが必要となる。第2差異形状が存在する場合には、第2差異形状の差異部に対応する差異部加工プログラムは、登録3次元モデルの加工プログラムの加工部位と、差異部の形状とが、3次元座標上で干渉すれば、緩衝した部分の加工プログラム部分が差異部に対応する差異部加工プログラムとなる。加工プログラム差異取得部82は、登録3次元モデルの加工プログラムから差異部に対応する差異部加工プログラムを抽出する。
 加工プログラム差異取得部82は、新規3次元モデルの形状と登録3次元モデルの形状との差異部の情報、すなわち、第1差異形状の情報と第2差異形状とのうち少なくとも一方を出力部13に送信する。また、加工プログラム差異取得部82は、差異部にかかる加工プログラム部分の情報を出力部13に送信する。
 出力部13は、登録プログラム取得部50から取得した加工プログラム等とともに、新規3次元モデルの形状と登録3次元モデルの形状との差異部の情報と、差異部加工プログラムとを表示装置などに出力し、ユーザに提示する。これにより、加工プログラム検索装置101は、新規3次元モデルに類似する登録3次元モデルと新規3次元モデルとの形状との差異部および差異部に対応する加工プログラム部分を容易にユーザに提示することができる。
 上述したように、本実施の形態1にかかる加工プログラム検索装置101では、新規3次元モデルの形状と登録3次元モデルの形状との差異部の情報と、差異部にかかる加工プログラム部分の情報とをユーザに提示する。これにより、ユーザの加工プログラム編集作業の効率が向上する。
 以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 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 モデルデータ。

Claims (8)

  1.  工作機械において加工対象を機械加工するための異なる複数の加工プログラムが登録されたデータベースを検索対象とし、
     新たに加工プログラムが作成される加工対象の加工仕上がり形状を示す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次元モデルを機械加工するための前記加工プログラムを前記データベースから検索して取得する登録プログラム取得部と、
     を備えることを特徴とする加工プログラム検索装置。
  2.  前記登録プログラム取得部が取得した前記加工プログラムを出力する出力部を備えること、
     を特徴とする請求項1に記載の加工プログラム検索装置。
  3.  前記モデル変換部は、前記3次元空間に配置した前記第1の3次元モデルと前記第2の3次元モデルとのうち少なくとも一方に対して、形状の回転移動、形状の拡大および形状の縮小のうち少なくとも1つの処理を行って、前記第1の位置情報と複数の前記第2の位置情報とを取得すること、
     を特徴とする請求項1または2に記載の加工プログラム検索装置。
  4.  前記類似度判定部は、前記分割空間の同一位置における前記第1の位置情報と複数の前記第2の位置情報とを比較すること、
     を特徴とする請求項1から3のいずれか1つに記載の加工プログラム検索装置。
  5.  前記第1の3次元モデルと複数の前記第2の3次元モデルとの形状の差異部の情報を取得するモデル差異取得部を備えること、
     を特徴とする請求項2から4のいずれか1つに記載の加工プログラム検索装置。
  6.  前記形状の差異部に対応する前記第2の3次元モデルを機械加工するための加工プログラムである差異部加工プログラムを前記第2の3次元モデルを機械加工するための加工プログラムから取得すること、
     を特徴とする請求項5に記載の加工プログラム検索装置。
  7.  工作機械において加工対象を機械加工するための異なる複数の加工プログラムが登録されたデータベースを検索対象とし、
     新たに加工プログラムが作成される加工対象の加工仕上がり形状を示す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次元モデルを機械加工するための前記加工プログラムを前記データベースから検索して取得する登録プログラム取得部と、
     を備えることを特徴とする加工プログラム検索装置。
  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次元モデルを機械加工するための前記加工プログラムを前記データベースから検索して取得するステップと、
     を含むことを特徴とする加工プログラム検索方法。
PCT/JP2020/025675 2020-06-30 2020-06-30 加工プログラム検索装置および加工プログラム検索方法 WO2022003828A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
DE112020007144.8T DE112020007144T5 (de) 2020-06-30 2020-06-30 Maschinenbearbeitungsprogramm-Suchgerät und Maschinenbearbeitungsprogramm-Suchverfahren
PCT/JP2020/025675 WO2022003828A1 (ja) 2020-06-30 2020-06-30 加工プログラム検索装置および加工プログラム検索方法
JP2020564969A JP6833150B1 (ja) 2020-06-30 2020-06-30 加工プログラム検索装置および加工プログラム検索方法
CN202080101828.XA CN115702400B (zh) 2020-06-30 2020-06-30 加工程序检索装置及加工程序检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/025675 WO2022003828A1 (ja) 2020-06-30 2020-06-30 加工プログラム検索装置および加工プログラム検索方法

Publications (1)

Publication Number Publication Date
WO2022003828A1 true WO2022003828A1 (ja) 2022-01-06

Family

ID=74661637

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/025675 WO2022003828A1 (ja) 2020-06-30 2020-06-30 加工プログラム検索装置および加工プログラム検索方法

Country Status (4)

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

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7325775B2 (ja) * 2021-07-20 2023-08-15 シリコンスタジオ株式会社 画像処理システム、方法、及びプログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004284002A (ja) * 2003-01-31 2004-10-14 Fujitsu Ltd 加工制御装置
JP2006520948A (ja) * 2003-01-25 2006-09-14 パーデュー リサーチ ファンデーション 3次元オブジェクトについて検索を行なうための方法、システムおよびデータ構造
WO2014091543A1 (ja) * 2012-12-10 2014-06-19 三菱電機株式会社 Ncプログラム検索方法、ncプログラム検索装置、ncプログラム作成方法およびncプログラム作成装置
JP2015191617A (ja) * 2014-03-28 2015-11-02 富士通株式会社 算出プログラム、算出装置および算出方法
WO2017122462A1 (ja) * 2016-01-14 2017-07-20 株式会社リコー 造形処理装置、造形処理システムおよびプログラム
JP2018136642A (ja) * 2017-02-20 2018-08-30 国立大学法人豊橋技術科学大学 三次元形状検索方法及び三次元形状検索システム
JP2019179544A (ja) * 2018-02-09 2019-10-17 ダッソー システムズDassault Systemes フライス作業によって製造可能な部品の設計
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 (ja) * 2002-04-02 2006-04-19 株式会社ヤッパ 3次元モデルの開発支援システム
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 (ja) * 2003-01-25 2006-09-14 パーデュー リサーチ ファンデーション 3次元オブジェクトについて検索を行なうための方法、システムおよびデータ構造
JP2004284002A (ja) * 2003-01-31 2004-10-14 Fujitsu Ltd 加工制御装置
WO2014091543A1 (ja) * 2012-12-10 2014-06-19 三菱電機株式会社 Ncプログラム検索方法、ncプログラム検索装置、ncプログラム作成方法およびncプログラム作成装置
JP2015191617A (ja) * 2014-03-28 2015-11-02 富士通株式会社 算出プログラム、算出装置および算出方法
US10466681B1 (en) * 2014-09-02 2019-11-05 Machine Research Corporation Systems and methods for machining knowledge reuse
WO2017122462A1 (ja) * 2016-01-14 2017-07-20 株式会社リコー 造形処理装置、造形処理システムおよびプログラム
JP2018136642A (ja) * 2017-02-20 2018-08-30 国立大学法人豊橋技術科学大学 三次元形状検索方法及び三次元形状検索システム
JP2019179544A (ja) * 2018-02-09 2019-10-17 ダッソー システムズDassault Systemes フライス作業によって製造可能な部品の設計

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ISHIBASHI, KENJI: "Technology of Shape Retrieval-classification and a New Shape Search Engine ''Engineering Search"", YUNISHISU GIHO = UNISYS TECHNOLOGY REVIEW, vol. 32, no. 4, 28 February 2013 (2013-02-28), JP , pages 51 (369) - 61 (379), XP009534183, ISSN: 0914-9996 *
NAGASAKA, YOSHIYUKI: "Geometric Evaluation System by Extracting Geometric Features From Three- dimensional CAD Data", JOURNAL OF JAPAN INDUSTRIAL MANAGEMENT ASSOCIATION, vol. 55, no. 4, 15 October 2004 (2004-10-15), JP , pages 206 - 214, XP009534182, ISSN: 1342-2618, DOI: 10.11221/jima.55.206 *

Also Published As

Publication number Publication date
JP6833150B1 (ja) 2021-02-24
JPWO2022003828A1 (ja) 2022-01-06
DE112020007144T5 (de) 2023-02-16
CN115702400A (zh) 2023-02-14
CN115702400B (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
CN107038751B (zh) 从2d图像进行3d建模对象的识别的方法、介质与系统
US11367222B2 (en) Three-dimensional shape classification and retrieval using convolutional neural networks and majority vote
CN105741355B (zh) 一种三角网格模型的块分割方法
CN110674829A (zh) 一种基于图卷积注意网络的三维目标检测方法
KR102333682B1 (ko) 3차원 공간의 의미적 분할 시스템 및 이를 이용한 3차원 공간의 의미적 분할 방법
JP2013217893A5 (ja) 位置姿勢推定装置、情報処理装置、情報処理方法
JP7129529B2 (ja) 人工知能の使用による3dオブジェクトへのuvマッピング
CN115661374B (zh) 一种基于空间划分和模型体素化的快速检索方法
CN112785611B (zh) 一种3d点云弱监督语义分割方法及系统
Guizilini et al. Large-scale 3d scene reconstruction with hilbert maps
Yan et al. An end-to-end deep learning network for 3D object detection from RGB-D data based on Hough voting
Geng et al. Embedding visual cognition in 3D reconstruction from multi-view engineering drawings
WO2022003828A1 (ja) 加工プログラム検索装置および加工プログラム検索方法
CN110826122B (zh) 一种核电三维布置设计模型体素化方法及系统
JP4973447B2 (ja) 差異強調プログラム、差異強調処理方法及び差異強調処理装置
JP2017168081A (ja) 記述子を用いた3dオブジェクトの位置特定
JP2017162447A (ja) 量子化を用いた3dオブジェクトの位置特定
KR102173204B1 (ko) 빅데이터 시각화 기반의 특허 분석 시스템 및 그 방법
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
Chang et al. Using ART1 neural networks with destructive solid geometry for design retrieving systems
JP2701003B2 (ja) ソリッドモデル合成装置及びソリッドモデル合成方法
CN117314928B (zh) 基于图像分割和虚拟现实的自然景观模拟系统
Wang et al. Object-aware hybrid map for indoor robot visual semantic navigation
Worner et al. Feature recognition for graph-based assembly product representation using machine learning

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2020564969

Country of ref document: JP

Kind code of ref document: A

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20942916

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 20942916

Country of ref document: EP

Kind code of ref document: A1