A method for manufacturing articles by machining

The method improves CNC machining reliability by using a feature classifier and knowledge database to accurately derive machining instructions from geometry files, addressing inefficiencies in existing CNC instruction generation methods.

WO2026145872A1PCT designated stage Publication Date: 2026-07-09

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Filing Date
2025-01-06
Publication Date
2026-07-09

AI Technical Summary

Technical Problem

Existing methods for generating CNC machining instructions lack reliability and efficiency in processing geometry files to derive accurate tool paths for manufacturing articles.

Method used

A method utilizing a feature classifier that extracts machining features from geometry files, combined with a knowledge database and a neural network, to identify and classify features, and generate machining instructions based on a best match in the database.

Benefits of technology

Enhances the reliability and accuracy of CNC machining by leveraging a neural network for feature classification and a knowledge database to provide precise machining strategies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025050151_09072026_PF_FP_ABST
    Figure EP2025050151_09072026_PF_FP_ABST
Patent Text Reader

Abstract

A method for manufacturing a desired article by machining is described. It uses a feature classifier (8) adapted to process a geometry file (3) and to extract a list of machining features. Further, a knowledge database (18) holds records of features and metadata of the features as well as references to the strategies for machining them. For the features of the article to be machined, a controller (16) retrieves suitable machining strategies from the knowledge database (18). A machine program (26) is generated therefrom and used for machining the article in a CNC machining device (2). The feature classifier (8) comprises a neural network (12) that determines the feature categories of the features in the article geometry file (3). Hence, the method combines the use of a database and of a neural network, combining the two technologies to use their strengths and to avoid their shortcomings.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] P194213PC002025-01-06.DOCX

[0002] 1

[0003] A method for manufacturing articles by machining

[0004] Technical Field

[0005] The invention relates to a method for manufacturing a desired article by machining. It also relates to a data processing system comprising means for carrying out the method as well as to a computer program product.

[0006] Background Art

[0007] When manufacturing articles by machining, the geometry of the article is described in a geometry file, such as a STEP file. From this file, a machine program has to be derived, which includes machine strategies defining the tool paths for controlling a CNC machining device. Typically, the program is generated either manually or by algorithmically processing the geometry file.

[0008] EP3929678A1 and W02020204915A1 describe systems attempting to generate the tool paths by feeding the features of the article to a neural network, which then generates toe machining strategy.

[0009] Some Aspects

[0010] The problem to be solved is to provide a method of this type with good reliability.

[0011] In some aspects, this problem is solved by a method for manufacturing a desired article by machining, wherein article is described in an article geometry file descriptive of the geometry of the desired article, and the machining takes place by means of a CNC machining device. The method comprises at least the following:

[0012] a) Providing a feature classifier adapted to process geometry files in order to extract, from a given geometry file, at list of machining features of an article described by the geometry file. Each feature comprises at least the following information, i.e., the feature classifier provides, for each feature, at least the following information:

[0013] - A feature category the feature belongs to. The feature category is identified by the feature classifier.

[0014] - Metadata describing a parameter of the feature. This metadata may, e.g., include the surface area of the feature, the circumflex of the feature, and / or the number of neighboring features.P194213PC002025-01-06.DOCX

[0015] 2

[0016] b) Generating a knowledge database. Generating this knowledge database comprises at least the following:

[0017] bl) Providing a plurality of reference geometry files and reference machine program files for a plurality of reference articles. The geometry of each reference article is described in at least one of the reference geometry files, and machining instructions for manufacturing the reference article in the CNC machining device are stored in at least one of the reference machine program files. The reference articles may, e.g., be articles for which a given manufacturer generated the machining instructions using other methods, such as based on a conventional, manual selection of machine program steps.

[0018] b2) Processing the reference geometry file of each reference article with the feature classifier mentioned above and generating, for at least one feature in a set of features of at least some the reference articles, a record in the knowledge database. This record comprises at least the following entries:

[0019] - The feature category of the at least one feature as determined by the feature classifier.

[0020] - The metadata of the at least one feature as determined by the feature classifier.

[0021] - Machining parameters from the machining instructions for manufacturing the at least one feature.

[0022] c) Controlling the CNC machining device to manufacture the desired article by at least the following:

[0023] cl) Processing the article geometry file of the desired article with the feature classifier. Thereby, at least one feature of the desired article is identified and its category and metadata are obtained.

[0024] c2) Searching the knowledge database for retrieving records of features having the same feature category.

[0025] c3) Identifying, among the retrieved records of step c2, at least one "best match record" using a similarity criterion. The similarity criterion is based on (i.e., is a function of) the metadata of the at least one feature of the desired article and of the metadata of the retrieved records. In other words, among the records of features having the same criterion, the best match record is selected as the record that has the most similar metadata.

[0026] c4) Generating machining instructions for the desired article by using the machining parameters of the best match record. In other words, machining instructions to be sent to the CNC machining device are generated by using the machining parameters of the "best match record" mentioned above.P194213PC002025-01-06.DOCX

[0027] 3

[0028] This scheme is based on various insights, which include:

[0029] - Good machining instructions for a step file should account for different categories of features of an article. For example, different machining strategies should be used for through-holes, blind holes, flat surfaces, and pockets. Using a feature classifier helps taking this into account.

[0030] - Typically, for a given type of CNC machining device and manufacturer, there is a vast repository of information on how to machine various categories of features for the type of articles the manufacturer produces. This knowledge can be exploited by the combination of the feature classifier and the knowledge database.

[0031] - When manufacturing a desired article, its features can then be classified using the same classifier, thereby providing a means of querying the database that is consistent with how the database was generated. However, typically, there are several candidates of features of the same category in the knowledge database, for which reason the metadata is provided for selecting a best match.

[0032] The desired article may then be machined in the CNC machining device, with the CNC machining device being controlled by the machining instructions.

[0033] The feature classifier comprises a neural network, and the method comprises the step of determining, by means of the neural network, the feature category of the features.

[0034] Hence, the method combines the use of a database and of a neural network. It is based on the understanding that neural networks are particularly well suited for classification purposes. However, in contrast to conventional ML approaches, it is not attempted to directly generate the machining instructions using the neural network. Rather, in order to generate reliable machining instructions, the output of the neural network are the classified features, and this output is used to query the knowledge database, from which the machining instructions are generated.

[0035] The feature classifier may further comprise a surface identifier. In this case, the method may comprise:

[0036] - Identifying, by means of the surface identifier, surface elements in the geometry files: This identification may include determining file parts (e.g., lines of text), within the geometry file, that, together, define a surface element. These surface elements are, in this step, merely identified but not yet necessarily attributed to features nor fully classified. For example, the surface identifier may identify a number of surface elements in the geometry file as well as the geometry file parts that describe them.

[0037] - Feeding the surface elements as inputs to the neural network.P194213PC002025-01-06.DOCX

[0038] 4

[0039] The surface identifier may be a parser by means of which the geometry files are parsed. This is based on the understanding that geometry files are well-suited for parsing and, therefore, this part of the task is with good reliability implemented using algorithmic processing instead of neural networks.

[0040] The neural network may be a graph neural network. In that case, the method may comprise at least:

[0041] - Generating, by means of the surface identifier, a graph of the surface elements in the geometry files: The vertices of the graph correspond to the surface elements, and edges of the graph describe an adjacent-neighbor relationship between the surface elements. In other words, each identified surface element of the geometry file becomes one vertex of the graph. Further, for each identified surface element of the article in the geometry file, it is determined, from the geometry file, which other surface elements are adjacent to the identified surface element in order to determine the graph edges that lead away from the graph vertex of the identified surface element.

[0042] - Attributing, e.g., by means of the surface identifier, at least one surface attribute to each surface element. The surface attribute may, e.g., be the area of the surface, the circumflex of the surface, and / or the number of adjacent surfaces.

[0043] - Generating, for each surface element, a vector of dimension M: M is at least 1 (i.e., the vector may be one-dimensional, i.e., a scalar), but M may also be larger than 1, thereby providing richer information about the surface elements. The vector includes the one or more surface attributes.

[0044] - Configuring the neural network to the graph and feeding the vectors to the neural network: "configuring the neural network to the graph" includes enabling inter-layer connections of at least some adjacent layers Li and Li+i of the network to connect only neurons attributed to features that are adjacent, i.e., to connect only vertices connected by edges. The vectors are then fed to the first layer of the network.

[0045] Using a graph neural network allows to naturally map the structure of features identified in the geometry file into the network.

[0046] The neural network of the feature classifier may be trained using conventional training methods. In some embodiments, it may be trained or at least fine-tuned on at least some of the reference geometry files mentioned above, after the features therein may, e.g., have been classified manually.

[0047] At least some, in particular all, of the features are surface sections of the article, such as facets, pocket surfaces, projection surfaces, or hole surfaces.P194213PC002025-01-06.DOCX

[0048] 5

[0049] In some embodiments, the method may comprise storing at least one feature category in at least some of the geometry files. The feature category is stored together with the classified feature, i.e., the geometry file defines the feature and associates it with its category. This, e.g., makes it easier to manually annotated the features using software that can display and edit geometry files, and / or it allows to use the geometry file for training purposes.

[0050] The geometry files may be STEP files. This structured data format is well-suited for defining three-dimensional objects and processing them for surface elements.

[0051] The invention also relates to a data processing system comprising means for carrying out the method as well as to a computer program product comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method.

[0052] Brief Description of the Drawings

[0053] The technology will be better understood and objects other than those set forth above will become apparent when consideration is given to the following detailed description thereof. Such description makes reference to the annexed drawings, wherein:

[0054] Fig. 1 is an overview of some elements used when machining articles,

[0055] Fig. 2 illustrates some steps for manufacturing an article,

[0056] Fig. 3 shows an example of an article to be manufactured, Fig. 4 shows an excerpt of an example of a STEP file for an article, Fig. 5 shows part of a graph representing surface elements of the article of Fig. 3,

[0057] Fig. 6 shows an excerpt of an annotated version of the example of Fig. 4,

[0058] Fig. 7 illustrates the generation of the records of the knowledge da-tabase.

[0059] EmbodimentsP194213PC002025-01-06.DOCX

[0060] 6

[0061] Definitions

[0062] A "CNC machining device" is a computer-controlled device for machining articles by means of tools operating on the article, such as drills, mills tools, lathes, cutters, grinders, electric-discharge-machining tools, lasers etc.

[0063] A "file" as used herein is a collection of data that is addressable as an entity. In the most common embodiments, a file may be a classical file stored in a file system and addressable, e.g., by means of a file path or a URL. In other embodiments, a file may be a structured or unstructured record in a database, in a storage array, or in another container where it is addressable, e.g., by unique ID, index, or other means.

[0064] An "article" is a piece of a machinable solid, such as metal, with a defined geometry that can be manufactured by machining a block of material.

[0065] A "technical drawing" is a two-dimensional drawing including dimension data and geometry data of the article to be manufactured. It is typically a PDF document. The requirements, symbols, and conventions are, e.g., defined in the ISO 128 standard.

[0066] A "geometry file" is a file describing the geometry of a three-dimensional article.

[0067] A "STEP file" ("Standard for the Exchange of Product") is a geometry file as defined in the ISO 10303-21 standard. It can be used in the data exchange between Computer-Aided Design (CAD) and Computer-Aided Manufacturing (CAM) systems. Further addition of information is defined in the Application Protocols (AP).

[0068] The motion of the tool in a Computer Numerical Control (CNC) machine is defined in a "Machine program". The most widely used programming language for such programs is so called G-code, defined under RS-274 and ISO-6983 standards. The STEP AP 238 describes an extension to G-Code (STEP-NC), adding geometric dimension and tolerance data to G-Code.

[0069] "Machining Strategy": The Machine program can be divided into subprograms, i.e., "machining strategies", which can be associated with the creation of certain surfaces from the raw block of material. A subprogram can, for example, be defined in the CAM software via the choice of tools, operation type (e.g., finishing, drilling, reaming, etc.), and dynamical setting (e.g. feeds, spindle speed, use of coolant, etc.). For a machine program created without CAM, it will be the associated snipped in the G-code. It is, in the machine program, the counterpart of the machining feature.P194213PC002025-01-06.DOCX

[0070] 7

[0071] "Computer-Aided Manufacturing (CAM) software" is a class of software that facilitates the creation of machine programs via a high-level interface.

[0072] A "surface element" is a section of surface of the article to be manufactured.

[0073] A "surface attribute" is an attribute of a surface element, i.e., a parameter describing a property of a surface element. Surface attributes may, e.g., comprise one or more of the following:

[0074] - The surface area of the surface element;

[0075] - The circumflex of the surface element;

[0076] - The number of adjacent surfaces.

[0077] A "machining feature" (also simply called "feature" herein) is a set of surface elements that can be produced by applying a machining strategy. It is, in the geometry file, the counterpart of the machining strategy.

[0078] "Metadata" further describes a feature, in addition to its category. Metadata may, e.g., include one or more of the following items:

[0079] - The surface area of the feature;

[0080] - The volume if the feature has a volume;

[0081] - Machining tolerance information;

[0082] - The latent representation as computed in an autoencoder;

[0083] - Surface histograms for computation of the D2 distance (see R. Osada, et al, "Matching 3D models with shape distributions,", doi:

[0084] 10.1109 / SMA.2001.923386).

[0085] "Article data" describes the data stored in order to produce an article. Often, this may include the technical drawing, the STEP File, and the machine program.

[0086] A "graph" is understood in the sense of discrete mathematics as a structure consisting of a set of objects, called "vertices", where some pairs of the objects are related, with each related pair of objects forming an "edge".

[0087] Overview

[0088] Figs. 1 and 2 illustrate some embodiments of a method for manufacturing a desired article by controlling a CNC machining device 2.

[0089] The method starts from a STEP file 3, or another type of a geometry file, which describes the three-dimensional geometry of the article 1 to be manufactured. STEP file 3 is processed by a feature identifier 8 (step SI of Fig. 2), which generates a categorized list of features that it finds in STEP file 3. Metadata is attributedP194213PC002025-01-06.DOCX

[0090] 8

[0091] to each feature. The metadata may be obtained from STEP file 3 and / or from one or more technical drawings 14 of the article.

[0092] The output of feature identifier 8 is fed to a controller 16, which searches a knowledge database 18 for retrieving suitable machining strategies (step S2). A user interface 20 may be provided to verify or to select best options.

[0093] Finally, controller 16 generates machining instructions (step S3), such as a machine program 26, and feeds them to CNC machining device 2, where the article is manufactured by machining a block of material (step S4).

[0094] Feature Analysis

[0095] An example of an article 1 is shown in Fig. 3. The shown example is a cube having six outer surfaces 4a - 4f with a pocket 6 formed in outer surface 4f. Pocket 6 comprises a cylindric section 6a and a cuboid section 6b, with these two sections intersecting.

[0096] Fig. 4 shows an excerpt of a STEP file describing such an article, namely part of the lines defining pocket 6. In this example, instance #316 describes the cylindric section 6a and instances #569, #618, #667, #716, and #744 describe the side and bottom faces 7a - 7e of the cuboid section 6b.

[0097] STEP file 3 is processed by a feature classifier 8, whose purpose is to identify and categorize features of the article.

[0098] In the present example, each of the surfaces 4a - 4f forms one such feature (if the surfaces 4a - 4f are to be machined, i.e., if they are not part of the stock material), and all of them have the same feature category, e.g., "simple surface".

[0099] Further, pocket 6 forms a further feature, which has a different feature category. The category may, e.g., be a "pocket".

[0100] The possible feature categories may, e.g., be selected in view of the machining strategies. Features of the same category should share similar machining strategies while features requiring different machining strategies should be in different feature categories. Examples of feature categories may, e.g., comprise "through holes" (round), "blind holes" (round), "passages" (slot), "open pocket", "pocket", "simple surface", "free surface" (non-flat, non-primitive surface), "chamfer", "fillet".

[0101] Feature classifier 8 not only identifies and classifies the features, but it also generates the metadata for each feature. Examples of metadata are provided above.

[0102] Feature classifier 8 may comprise a surface identifier 10, a neural network 12, and a feature identifier 13.P194213PC002025-01-06.DOCX

[0103] 9

[0104] Surface identifier 10 is a piece of software identifying surface elements within the geometry file, i.e., within STEP file 3. It may, e.g., be a simple parser going through the geometry file if the geometry file is syntax-based, such as a STEP file. In a simple example, it may be based on grep-based search patterns. In more complex embodiments, it may be context-aware and, e.g., be based on a syntax tree.

[0105] Surface identifier 10 generates a list of N > 1 surface elements in the geometry file.

[0106] Parsers, or more general, algorithmic surface identifiers, have the advantage of a high reliability in recognizing the surface elements in the geometry file, as compared to non-algorithmic surface identifiers, such as surface identifiers based on neural networks.

[0107] In the example of Fig. 3, surface identifier 10 will, e.g., recognize the surfaces 4a - 4f and 7a - 7e as surface elements, as well as cylinder 6a. In the example of Fig. 4, these will be the instances #316, #569, #618, #667, #716, and #744 (the instances of the surfaces 7a - 7e are not shown in the excerpt of Fig. 4).

[0108] Surface identifier 10 not only identifies the surface elements, but it also may also identify a graph of the surface elements in the geometry file. The vertices of the graph correspond to the surface elements, and edges of the graph describe the adjacent-neighbor relationship between the surface elements.

[0109] Fig. 5 shows part of the graph of the article of Fig. 3, namely the part of the graph formed by the surface elements of pocket 6. (Fig. 5 does not show the "loops" in the graph, i.e., the edges connecting each vertex with itself. For the purposes described below, an efficient graph network design may contain a loop for each node.

[0110] Surface identifier 10 further attribute at least one surface attribute to each surface element. As mentioned above, such surface attributes may, e.g., include the area, circumflex, and / or number of adjacent surfaces. There are M such surface attributes for each surface element. M is at least one, but, for a more reliable processing in the steps below, it may be larger than 1.

[0111] The attributes of each surface element form a vector of dimension M.

[0112] The outputs (i.e., the graph as well as the vector for each surface element) are then fed to neural network 12.

[0113] Neural network 12 is designed as a graph neural network and it is configured to the graph identified by surface identifier 10. In this context, "configured to the graph" means that, at least for one or more input layers of the network, eachP194213PC002025-01-06.DOCX

[0114] io

[0115] node of the network corresponds to a vertex of the graph, and messages are only passed between nodes (vertices) connected by the edges of the graph.

[0116] For processing in a first layer of neutral network 12, the N vectors are now stacked into a M matrix V, and matrix V is multiplied by a trainable weight matrix W of dimension N*N. Weight matrix W is masked by the graph filter matrix F of the surfaces (e.g., by the symmetric adjacency matrix, where the entry in row i and column j is only non-zero if the corresponding faces i and j have a shared edge, and, optionally, if i = j (loops)). In other words, if Vo is the matrix of vectors at the input of the first layer of neural network 12, the output Vi of the first layer is then given by

[0117] Vi = (Wo O F) ■ Vo, (1)

[0118] with the operator O between Wo and F denoting the Hadamard product, i.e., the element-wise product, and Wo being the (trained) weight matrix of the first layer. After the multiplication of Eq. (1), a bias and non-linear activation function is applied component-wise, and the result is fed to the next layer of the network. These operations are repeated for K networks. A good range for K is between 4 to 12, such as 8.

[0119] The output for this procedure is a N*M matrix VK, where the original information for the surfaces is propagated and mixed according to the adjacency structure.

[0120] The same procedure can also be followed for other representations of the surface, such as the facets of a discretization of the surface. In this case the number of surfaces N will become N’. To combine the results of the latent representation of both procedures (i.e., of the one having N nodes and the one having N' nodes in latent space), we may, e.g., use another trainable N*N’ transfer matrix to combine the results.

[0121] In at least one subsequent layer, we may map the matrix VK using a trainable M*P output matrix O, with P being the number of possible different feature categories.

[0122] Then, a softmax function or another non-linear function may be applied, and argmax may be used to determine the machining feature category of each surface element.

[0123] In a next step, surface elements are grouped into the features by means of feature identifier 13. To do so, in a simple approach, for at least some of the categories (such as the category "pocket" or "blind hole"), adjacent surface elements (such as the surface elements 6a, 7a - 7e) of the same category may be grouped into aP194213PC002025-01-06.DOCX

[0124] 11

[0125] single feature. For other categories (such as of the category "surface", e.g., the surface elements 4a - 4f), each surface element becomes an individual feature.

[0126] Hence, in more general terms, the feature classifier 8 may comprise a feature identifier 13 that receives the surface elements and their feature categories as determined by neural network 12. In that case, the method may comprise:

[0127] - classifying, by means of the neural network 12, the feature category for each surface element and

[0128] - determining, by means of the feature identifier 13, the features by grouping at least some neighboring surface elements of the same feature category into the same feature.

[0129] Hence, the neural network 12 categorizes the surface elements (e.g., 4a - 4f, 5a, 7a - 7e), but it does not need to implement the grouping of the surface elements into features. Rather, the grouping of surface elements into features can be implemented by the dedicated feature identifier.

[0130] This allows to, e.g., map the result of the graph neural network (which operates on the basis of the surface elements) into feature space.

[0131] The feature identifier 13 may, e.g., use the feature category of each surface element as well as an adjacent-neighbor relationship between the surface elements for identifying the features as described above. Other information that may optionally also be used for grouping surface elements into features include, e.g., the length of shared edges between neighboring surface elements, or the angle between neighboring surface elements.

[0132] Feature identifier 13 may be algorithmic, i.e., it may use predefined rules that group the surface elements into features.

[0133] As a result, the feature classifier 8 generates a list of features and their categories.

[0134] For each feature, it can calculate the metadata as mentioned above. To do so, it may identify the surface elements belonging to each feature and look up their geometry data in STEP file 3.

[0135] Metadata may also be retrieved from technical drawings 14 of the article to be manufactured. Often, geometry files, such as STEP files, do not contain the complete manufacturing information, such as manufacturing tolerances. Rather, further information is provided in technical drawings of the articles, which may, e.g., be provided as PDF files. Techniques for extracting such information are, e.g., described in US 11574084B 1 , US2023288908 Al , and US 11687687B 1.

[0136] Hence, a drawing interpreter 17 may be provided, which generates metadata to be attributed to the features from the technical drawings 14.P194213PC002025-01-06.DOCX

[0137] 12

[0138] The output of feature identifier 8, which includes a list of features of the article to be manufactured, their categories, as well as their metadata, is fed to controller 16, which uses the categories and metadata for querying knowledge database 18.

[0139] Knowledge Database

[0140] Knowledge database 18 has been set up by analyzing a number of reference articles, which are articles for which the machining strategies have been determined in the past. It stores a plurality of records, with each record describing a feature of one of the reference articles. Each record stores, directly or by reference to data stored outside database 18, at least the following entries:

[0141] - The feature category of the feature.

[0142] - The metadata of the feature.

[0143] - Machining parameters for manufacturing the feature, i.e., machining parameters defining at least part of a machining strategy.

[0144] Knowledge database 18 may, e.g., be an HDF5 file, a common file format maintained by the HDF Group, or it may be any suitable structured storage container, such as a relational database, a structure of files, or combinations of such containers.

[0145] In some embodiments, the record may, as mentioned, contain a reference to data stored outside database 18, which may, e.g., include a file path identifying a reference geometry file in a file store as well as a location within said reference geometry file, which reference geometry file contains further information about the feature. For example, the reference geometry file may be a a STEP file, namely a member of a set of reference geometry files 22. In this case, the identifier may further comprise an index or a list of indices identifying the surface elements within the reference geometry file that belong to the given feature.

[0146] The machining parameters may, e.g., specify a machining strategy (or parameters of a machining strategy) for machining the feature. For this purpose, the record may, e.g., again include a file path identifying a reference machine program among a set of reference machine programs 24, which may, again, be files in a file store. In this case, the machining parameters may also specify the part of the reference machine program that is pertinent for manufacturing the feature.

[0147] If the records in the database refer to files in a file structure as in the above examples, they may also contain hash values of the files in order to track if the files have changed, in which case the respective records of the database may have to be updated as described below.P194213PC002025-01-06.DOCX

[0148] 13

[0149] In more general terms, at least some of the records in the knowledge database 18 may comprise references to files containing geometry information and / or machining information for the respective feature described by the records as well as hash values of the files they refer to.

[0150] For more information on the knowledge database, see below, section "Setting Up the Database".

[0151] The records in knowledge database 18 may be organized in a hierarchical manner, by articles. For example, knowledge database 18 may comprise, at a root level, a list of the reference articles that were used for assembling the knowledge database 18. For each reference article, the following information is stored:

[0152] 1. References to the files in file sets 22 (geometry files) and 24 (machine programs) for the reference article.

[0153] 2. Other information about the article.

[0154] 3. A list of the features of the article, and, for each feature in the list:

[0155] 3.1. The category of the feature.

[0156] 3.2. Metadata of the feature.

[0157] 3.3. Information indicative of the sections of the files (as specified in 1 above) that are pertinent to the feature.

[0158] Hence, in other words, the feature records may refer to information that is stored, e.g., in a parent record, such as the article record.

[0159] Further, therefore, the method may comprise scanning the knowledge database for references to files where the hash value has changed and updating the records that contain references to files where the hash value has changed.

[0160] Controller 16 queries knowledge database 18 for generating the machining instructions as described in the next section.

[0161] Generating the Machining Instructions

[0162] As described above, controller 16 receives a list of features of the article to be manufactured as well as their metadata. It may then process each feature in the list. For each feature, it may execute a similarity search in knowledge database 18.

[0163] To do so, if knowledge database 18 has a hierarchical structure of reference articles and their features as described in the previous section, controller 16 may process each reference article in knowledge database 18 and check if the reference article in the database contains a feature belonging to the same category as the feature it is currently processing.P194213PC002025-01-06.DOCX

[0164] 14

[0165] If yes, based on the metadata, controller 16 applies a similarity criterion, e.g., by computing the distance (e.g., the difference between the surface area of the feature stored in knowledge database and the surface area of the feature it is presently processing), collect all distances computed in this manner in a vector, and sort the vector by distance. Therefrom, a list of best match records may be determined.

[0166] Controller 16 may then display the list of the best matches on user interface 20. The user may then select the best matching feature from reference database.

[0167] In this case, therefore, the method may comprise - displaying a list of best matches corresponding to the best match records to a user, and

[0168] - receiving a user-selection for a match to be used.

[0169] Controller 16 may then determine the machining strategy of the selected best match record, and this strategy can be added to the machine program 26 for manufacturing the article.

[0170] Instead of letting a user choose the best match, controller 16 may also automatically select the best one of the matching records, for at least some of the features of the article to be manufactured.

[0171] After processing all features in the list of features of the article to be manufactured, machine program 26 may be fed to CNC machining device 2, where the article is manufactured.

[0172] Setting Up the Database

[0173] Knowledge database 18 may be set up, as illustrated in Fig. 7, from a plurality of reference geometry files and reference machining files for a plurality of reference articles 30a, 30b, 30c... These may be articles, or include articles, that a given user, such as a given company or group of companies, has manufactured in the past. For each reference article, there is a geometry file describing it as well as a machining file that contains the machine program for manufacturing it. In addition, there may be one or more technical drawings for the reference article.

[0174] The geometry file, machining file, and (if available) technical drawings of a given reference article are fed to feature classifier 8 in order to generate a list of features as well as their categories and metadata. This information is then stored in knowledge database 18. Further, the reference geometry files and the reference machine programs may be stored in the file sets 22 and 24, respectively.

[0175] This process is repeated for all reference articles 30a, 30b, 30c...P194213PC002025-01-06.DOCX

[0176] 15

[0177] Knowledge database 18 may associate each of the detected features with additional information, such as material and tolerance information from the technical drawings. This association may for example be as defined in the STEP AP 242 standard or similar. Furthermore, knowledge database 18 may also store further metainformation of the articles and / or their features.

[0178] Training the Neural Network of the Feature Classifier

[0179] The trainable weights of neural network 12 may be trained using a classification loss and minibatch stochastic gradient descent. These trainable weights may include the elements of the weight matrices Wk and of the output matrix O.

[0180] To do so, a set of geometry files, such as a set of STEP files, is provided, where every surface element is labeled with the correct feature and feature category it belongs to. This labeling may, for example, be achieved using a graphical user interface where the article defined by a STEP file is shown and the user can select sets of surfaces and select the corresponding category. The software, such as a CAD Engine (e.g., the open-source development platform by Open Cascade Technology) may be used to annotate the STEP File as shown in Fig. 6.

[0181] Here, for example, the entries ADVANCED FACE specify the feature category, the edges, and the surface of a surface element.

[0182] The annotation of Fig. 6 may be readily read to compute the loss for the training of the neural network.

[0183] Examples and more details of machine learning models for recognizing features are, e.g., described in Colligan, A. R., et. al., “Hierarchical CADNet: Learning from B-Reps for Machining Feature Recognition”.

[0184] For any hyperparameters not further described here, we refer to Colligan, A. R., et. al for details.

[0185] The training dataset may, e.g., comprise training geometry files including several examples of every feature category.

[0186] To adapt neural network 12 to the work practice of a given user, such as a given company or group of companies, it may be fine-tuned on at least some of the reference geometry files of the reference articles 30a, 30b, 30c... used for building knowledge database 18.

[0187] Notes

[0188] The present method may be implemented on a data processing system comprising means for carrying out the method. Such means may, e.g., include aP194213PC002025-01-06.DOCX

[0189] 16

[0190] computer and suitable programming for implementing feature classifier 8, controller 16, drawing interpreter 17, and user interface 20, and with a storage system and communication channels for handling the various files and for storing knowledge database 18.

[0191] In summary, at least some embodiments of a method for manufacturing a desired article by machining are described. The method uses a feature classifier 8 adapted to process a geometry file 3 and to extract a list of machining features. Further, a knowledge database 18 holds records of features and metadata of the features as well as references to the strategies for machining them. For the features of the article to be machined, a controller 16 retrieves suitable machining strategies from the knowledge database 18. A machine program 26 is generated therefrom and used for machining the article in a CNC machining device 2. The feature classifier 8 comprises a neural network 12 that determines the feature categories of the features in the article geometry file 3. Hence, the method combines the use of a database and of a neural network, combining the two technologies to use their strengths and to avoid their shortcomings.

[0192] While there are shown and described presently preferred embodiments, it is to be distinctly understood that the invention is not limited thereto but may be otherwise variously embodied and practiced within the scope of the following claims.

Claims

P194213PC002025-01-06.DOCX17Claims1. A method for manufacturing a desired article by machining, wherein the article is described in an article geometry file (3) and wherein machining takes place by means of a CNC machining device (2), the method comprisinga) providing a feature classifier (8) adapted to process geometry files in order to extract, from a given geometry file, at list of machining features of an article described by the geometry file, with each feature comprising at least the following information:- a feature category the feature belongs to and- metadata describing a parameter of the feature,b) generating a knowledge database (18), wherein generating the knowledge database (18) comprisesbl) providing a plurality of reference geometry files and reference machine program files for a plurality of reference articles (30a, 30b, 30c), wherein- a geometry of each reference article (30a, 30b, 30c) is described in at least one of the reference geometry files, and- machining instructions for manufacturing the reference article (30a, 30b, 30c) in the CNC machining device (2) are stored in at least one of the reference machine program files,b2) processing the reference geometry file of each reference article (30a, 30b, 30c) with the feature classifier (8) and generating, for at least one feature in a set of features of at least some of the reference articles (30a, 30b, 30c), a record in the knowledge database (18), which record comprises at least the following entries:- the feature category of the at least one feature as determined by the feature classifier (8),- the metadata of the at least one feature as determined by the feature classifier (8),- machining parameters from the machining instructions for manufacturing the at least one feature,c) controlling the CNC machining device (2) to manufacture the de-sired article byP194213PC002025-01-06.DOCX18cl) processing the article geometry file (3) of the desired article with the feature classifier (8) to identify at least one feature of the desired article and to obtain its feature category and metadata,c2) searching the knowledge database (18) for retrieving records of features having the same feature category,c3) identifying, among the retrieved records, at least one best match record using a similarity criterion based on the metadata of the at least one feature of the desired article and of the retrieved records,c4) generating machining instructions for the desired article by using the machining parameters of the best match record,wherein the feature classifier (8) comprises a neural network (12) and wherein the method comprisesdetermining, by means of the neural network (12), the feature category of the features.

2. The method of claim 1 further comprising machining the desired article in the CNC machining device (2) controlled by the machining instructions.

3. The method of any of the preceding claims wherein the feature classifier (8) comprises a surface identifier (10), and wherein the method comprises identifying, by means of the surface identifier (10), surface elements in the geometry files, andfeeding the surface elements to the neural network (12).

4. The method of claim 3 wherein the surface identifier (10) comprises a parser parsing the geometry files.

5. The method of any of the claims 3 or 4, wherein the neural network (12) is a graph neural network and wherein the method comprises generating, by means of the surface identifier (10), a graph of the surface elements in the geometry file, wherein vertices of the graph correspond to the surface elements, and edges of the graph describe an adjacent-neighbor relationship between the surface elements,attributing at least one surface attribute to each surface element, generating, for each surface element, a vector of dimension M, wherein the vector includes the at least one surface attribute,P194213PC002025-01-06.DOCX19configuring the neural network (12) to the graph and feeding the vectors to the neural network (12).

6. The method of any of the claims 3 to 5 wherein providing the feature classifier (8) comprises training or fine-tuning the neural network (12) on at least some of the reference geometry files.

7. The method of any of the preceding claims wherein the feature classifier (8) comprises a feature identifier (13) and the method comprises classifying, by means of the neural network (12), the feature category for each surface element anddetermining, by means of the feature identifier (13), the features by grouping at least some neighboring surface elements of the same feature category into the same feature.

8. The method of any of the preceding claims comprising storing, in at least some of the geometry files, at least one feature category determined by the feature classifier (8).

9. The method of any of the preceding claims wherein the article geometry file and reference geometry files are STEP files.

10. The method of any of the preceding claims wherein at least some of the records in the knowledge database (18) comprise references to files (22, 24) containing geometry information and / or machining information as well as hash values of the files they refer to.

11. The method of claim 10 comprisingscanning the knowledge database (18) for references to files (22, 24) where the hash value has changed andupdating the records that contain references to files (22, 24) where the hash value has changed.

12. The method of any of the preceding claims comprising displaying a list of best matches corresponding to the best match records to a user, andreceiving a user-selection for a match to be used.P194213PC002025-01-06.DOCX2013. A data processing system comprising means for carrying out the method of any of the preceding claims.

14. A computer program product comprising instructions which, when the program is executed by a computer, cause the computer to carry out the method of any of the claims 1 to 12.