System and method for automatically predicting machining work flow in computer aided manufacturing

By using machine learning and artificial intelligence technologies, the system automatically recommends machining workflows for CNC machine tools, solving the difficulties users face in programming guidance, improving machining efficiency and accuracy, and adapting to the skill levels of different users.

CN115443438BActive Publication Date: 2026-02-17HEXAGON TECH CENT GMBH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202180016750.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-03-03
Filing Date
2021-03-03
Publication Date
2026-02-17
Estimated Expiration
2041-03-03

AI Technical Summary

Technical Problem

Existing CNC machine tools lack intelligent and personalized programming guidance during the machining process, which requires users to have in-depth knowledge of machine part models and geometry, increasing time loss and resource waste.

Method used

By employing machine learning and artificial intelligence technologies, the system analyzes users' historical data and habits to automatically recommend the optimal processing workflow, including processing type, tool selection, and parameter settings, thereby reducing unnecessary movement and cycle time.

Benefits of technology

It improves processing efficiency and accuracy, reduces user errors and resource waste, adapts to different users' skill levels and experience, and dynamically learns and improves recommendation strategies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115443438B_ABST
    Figure CN115443438B_ABST
Patent Text Reader

Abstract

Systems, devices, and methods include selecting a sequence of one or more machining types (202) for a feature (201) of one or more features, wherein the selection of the sequence of one or more machining types is based on a database of previous selections of the feature and machining types; selecting one or more tools (204) for the selected sequence of one or more machining types, wherein the selection of the one or more tools is based on the feature, the selected sequence of one or more machining types, and a database of previous selections of one or more tools; and selecting one or more machining parameters (206) for the selected one or more tools, wherein the selected machining parameters are based on the feature, the selected sequence of one or more machining types, the selected one or more tools, and a database of previous selections of one or more machining parameters.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to and the benefit of U.S. Provisional Patent Application No. 62 / 984,755, filed March 3, 2020, the contents of which are hereby incorporated by reference herein in their entirety for all purposes. TECHNICAL FIELD

[0003] Embodiments generally relate to machining processes in manufacturing, and more specifically to automatically predicting custom programming workflows for manufacturing machines in a computer-aided manufacturing (CAM) environment based on user’s habits, environment, and skill set. BACKGROUND

[0004] Computer-aided manufacturing (CAM) software systems are used to program computer numerical control (CNC) machine tools used in manufacturing discrete parts, such as molds, dies, tools, prototypes, aerospace components, etc., in a machine shop.

[0005] CNC machine tools run machining programs that execute a series of instructions as steps for manufacturing a part. These CNC machine tools execute machining programs without understanding the context. Execution of the program is dependent on the user and can have one of several possible variations or options at various points in the process. Thus, multiple permutations and / or combinations can be formed at the teach step based on the previously selected options and features of the machine. SUMMARY

[0006] A method embodiment can include selecting a sequence of one or more machining types for a feature of one or more features, wherein the selection of the sequence of one or more machining types can be based on a database of previous selections of the feature and machining types; selecting one or more tools associated with the selected sequence of one or more machining types, wherein the selection of the one or more tools can be based on the feature, the selected sequence of one or more machining types, and a database of previous selections of one or more tools; determining one or more machining parameters for the selected one or more tools, wherein the determined machining parameters are based on the feature, the selected sequence of one or more machining types, the selected one or more tools, and a database of previous determinations of one or more machining parameters; and determining a machining workflow prediction in a computer-aided manufacturing (CAM) environment based on the selected sequence of one or more machining types, the selected one or more tools, and the determined one or more machining parameters.

[0007] In another implementation of the method, the determined one or more machining parameters include at least one of the following: speed, feed rate, and motion pattern. Another implementation may include determining a more accurate machining workflow prediction based on the execution of more models compared to a set of previous predictions. Another implementation may include assigning weights to previous predictions within the set of previous predictions.

[0008] Another method implementation may include: determining a set of user preferences; and associating the determined set of user preferences with machining tools. In another method implementation, determining machining workflow prediction may be based on identifying energy-efficient tool paths with the fewest moves, cutting operations, and cutting times, thereby reducing unnecessary moves and cycle time and shortening tool length. In another method implementation, the database includes historical data collected over a period of time.

[0009] In another implementation, selecting a sequence of one or more machining types may be further based on the user's history of machining pockets for the machine tool. In another implementation, the determined machining workflow prediction includes predicted tool parameters; wherein the predicted tool parameters include at least one of the following: tool style, tool diameter, cutting length, shank diameter, and tool radius. In another implementation, the determined machining workflow prediction may be transmitted to a user interface in computer-aided manufacturing (CAM) for programming a computer numerical control (CNC) machine for user implementation.

[0010] The system implementation may include: an operation sequence classifier component having a processor and addressable memory, wherein the operation sequence classifier component is configured to select one or more operation sequences from one or more features; and a tool parameter predictor component having a processor and addressable memory, wherein the tool parameter predictor component is configured to: receive the selected one or more operation sequences, each of the one or more features, and one or more prior tool parameters; and based on the received selected one or more operation sequences, each of the one or more features, and the one or more prior tool parameters... To select one or more tool parameters; an operation parameter predictor component having a processor and addressable memory, wherein the operation parameter predictor component can be configured to: receive one or more selected operation sequences, the one or more previous tool parameters, each of the one or more features, the one or more previous tool parameters, and the selected one or more tool parameters; and determine one or more operation parameters based on the received selected one or more operation sequences, the one or more previous tool parameters, each of the one or more features, the one or more previous tool parameters, and the selected one or more tool parameters. Attached Figure Description

[0011] The components in the accompanying drawings are not necessarily drawn to scale; rather, the emphasis is on illustrating the principles of the invention. The same reference numerals refer to corresponding parts in different figures. Embodiments are illustrated in the accompanying drawings by way of example rather than limitation, wherein:

[0012] Figure 1 A top-level functional block diagram of a computing device system in a computer-aided manufacturing (CAM) environment is depicted.

[0013] Figure 2 Describes the use of learning for in Figure 1 An example workflow for user decision-making processes for machining features in a CAM environment;

[0014] Figure 3 Depicting what is presented to the user for use with Figure 2 Examples of combinations of choices associated with user workflows;

[0015] Figure 4 A flowchart is depicted for predicting tool parameters and operational parameters based on given input geometric features;

[0016] Figure 5 A flowchart depicts the model used to predict and output tool parameters;

[0017] Figure 6 The workflow of a system for providing automatic recommendations to users in a CAM environment is described.

[0018] Figure 7 The workflow of a system for providing automatic recommendations to users based on given features in a CAM environment is described;

[0019] Figure 8 The results depict the accuracy of the system for different users;

[0020] Figure 9 A high-level block diagram and process of a computing system for implementing the system and process are shown;

[0021] Figure 10 Block diagrams and processes of exemplary systems in which implementation methods can be carried out are shown; and

[0022] Figure 11 A cloud computing environment is described for implementing the systems and processes disclosed herein. Detailed Implementation

[0023] The described technology relates to one or more methods, systems, apparatuses, and media that store processor-executable process steps for automatically recommending efficient machining programming workflows for users of manufacturing machinery in a computer-aided manufacturing (CAM) environment. CAM software systems can be used to program computer numerical control (CNC) machine tools. CNC machine tools can be used in machine shops for producing discrete parts such as molds, dies, tools, prototypes, aerospace components, etc. The techniques described below can be implemented by programmable circuits programmed / configured via software and / or firmware, or entirely by dedicated circuits, or a combination of these forms. Such dedicated circuits (if any) can take the form of, for example, one or more application-specific integrated circuits (ASICs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), etc.

[0024] Figures 1 to 11The following discussion provides a brief general description of a suitable computing environment in which aspects of the described technology can be implemented. While not strictly necessary, this document describes aspects of the technology within the general context of computer-executable instructions, such as routines executed by general-purpose or special-purpose data processing devices (e.g., server or client computers). Aspects of the technology described herein can be stored or distributed on tangible computer-readable media, including magnetically or optically readable computer disks, hardwired or pre-programmed chips (e.g., EEPROM semiconductor chips), nanotechnology memories, biological memories, or other data storage media. Alternatively, computer-implemented instructions, data structures, screen displays, and other data related to the technology can be distributed over time via the Internet or other networks (including wireless networks) on signals propagating on a medium (e.g., electromagnetic waves, sound waves, etc.). In some implementations, data can be provided on any analog or digital network (e.g., packet switching, circuit switching, or other schemes).

[0025] The described technology can also be practiced in distributed computing environments, where tasks or modules are executed by remote processing devices linked via communication networks such as local area networks (“LANs”), wide area networks (“WANs”), or the Internet. In a distributed computing environment, program modules or subroutines can reside in both local and remote storage devices. Those skilled in the art will recognize that portions of the described technology can reside on a server computer, while corresponding portions can reside on client computers (e.g., PCs, mobile computers, tablets, or smartphones). Data structures and data transfers specific to aspects of this technology are also included within the scope of the described technology.

[0026] about Figure 1Example of a top-level functional block diagram of a computing device system 100 is shown. System 100 is shown as computing device 120, which includes a processor 124 (such as a central processing unit (CPU)), addressable memory 127, external device interfaces 126 (e.g., optional universal serial bus ports and associated processing, and / or Ethernet ports and associated processing), and optional user interfaces 129 (e.g., an array of status lights and one or more toggle switches, and / or a display, and / or a keyboard and / or pointer-mouse system and / or a touchscreen). Optionally, addressable memory may include any type of computer-readable medium that can store data accessible by computing device 120, such as magnetic hard disk drives and floppy disk drives, optical disk drives, magnetic tape cassettes, magnetic tape drives, flash memory cards, digital video discs (DVDs), Bernoulli boxes, RAM, ROM, smart cards, etc. In practice, any medium for storing or transmitting computer-readable instructions and data can be used, including connection ports to a network (such as a LAN, WAN, or the Internet) or nodes on that network. These components can communicate with each other via data bus 128.

[0027] In some implementations, the processor 124 can be configured, via an operating system 125 (such as an operating system supporting a web browser 123 and application 122), to execute steps of a process for automatically recommending the most efficient machining programming workflow for users of manufacturing machinery in a CAM environment. That is, efficient programming of machine operation and production of discrete parts require cost-effectiveness, time efficiency, and / or energy efficiency to increase output while maintaining consistent quality. This can be achieved, for example, by determining energy-efficient toolpaths with minimal moves, cutting operations, and cutting times, while reducing unnecessary moves and cycle times and shortening tool length. Another example of efficient programming of machine operation could be running operations continuously at maximum feed rates and high speeds. Other examples include utilizing high speeds that reduce task cycle times, such as moving the spindle to its home position to change tools and then precisely positioning the cutting tool in the desired location before cutting. In yet another example, cutting feed and efficiency may depend on several factors, such as the material of the part being cut, the tool, the path, and the depth, which are determined from previous operations using the same machine and refined, polished, or enhanced to become more efficient over time, and such operations are run based on the user's level of experience.

[0028] System 100 provides intelligent automation for machine operation and the production of discrete parts such as molds, dies, tools, prototypes, aerospace components, etc. More specifically, System 100 can incorporate machine learning, where artificial intelligence (AI) allows System 100 to automatically learn and improve from experience without explicit programming. In implementations of machine learning, the system can access data that may have been collected over a period of time, such as historical data, and use said collected data to learn without further input from the user. Thus, System 100 can continuously learn and improve based on ongoing data collection. In one implementation, System 100 can 'learn' how a user uses the product, such as how a user determines the geometric features for manufacturing machine parts. System 100 can learn how to automatically suggest the same choices a user would make for specific geometric features based on a particular user workflow, skill set, and experience set. In computer-aided design (CAD), a feature can refer to a region of a part that has certain important geometric or topological characteristics and is sometimes referred to as a form feature. Form features can include shape information and parametric information of the region of interest. System 100 can be based on machine learning algorithms, including artificial neural networks (ANN), X-GBoost, decision trees, genetic algorithms, etc., to learn how to automatically recommend the most efficient processing programming workflow for users.

[0029] about Figure 2This illustrates a workflow 200 for learning a user decision-making process for machining parts in a CAM environment. In the initial step (step 201), a target part 203 may be provided to the user, which may have a recess 205 with a specified geometry. In step 202, given the recess 205 (also referred to as a feature), the user can manually select a sequence of machining types. More specifically, the user may decide to first select a recess machining type, then a contour machining type, and finally another contour machining type, and so on. Other machining types and different sequences of the same machining type are possible and can be considered. For example, in addition to the above, another machining type may include a hole machining type. In one embodiment, the machining type and sequence depend on the user's skill set and experience. The user can then select a tool for cutting the recess 205. The user can then select a tool for each machining type (selected in step 202) in a subsequent step (step 204). The tool may have multiple parameters manually selected by the user, such as tool style, tool diameter, and tool cutting length. For example, a user can first select an end mill tool, then select the end mill's diameter and cutting length. In one example, a user might initially decide to use a large tool (e.g., a large end mill diameter), then fine-tune the feature with a smaller tool compared to the previously used tool (e.g., a smaller end mill). In another example, a user might prefer to start with a smaller tool (e.g., a smaller end mill). The selected tool parameter 204 can vary based on the choice of a large or small initial tool. In another example, to machine a recessed feature (e.g., recess 205), a user can first select a recess cycle with a "chamfer" tool. The user can then select the diameter of the chamfer tool, as well as the chamfer tool's cutting length, style, and shank parameters. In one implementation, the system can determine a set of user preferences and correlate these preferences with the machining tools and / or the user's perceived comfort.

[0030] Continuing at step 206, the user can select machining parameters for machining the feature (e.g., recess 205) using the machining tool selected in step 204. Machining parameters may include speed, feed rate, movement pattern, etc. The machining parameters presented for user selection relate to the choices made by the user in steps 202 and 204. For example, for the same recess 205 having the same precise geometry, there may be a different set of associated machining parameters, where the presented machining parameters are based on decisions made by the user during previous steps (such as steps 202 and 204).

[0031] In another implementation, processing parameters can be updated dynamically, and the output to the user can change based on data history. For example, in one implementation, the system can learn based on the user's initial dataset (e.g., the user's training set); however, to continue learning, the system may need new data, such as new processing test files. Alternatively, the system can continue learning until the user prompts the system to use new data. In another implementation, the system can automatically incorporate new data from the user and continue learning based on the newly added data. In one example, if the accuracy calculated by the system does not match the user's expectations, the user can add new data, and thereafter, the system can retrain itself. This makes the system more "continuous" when dynamically retraining itself, and does not require the user to prompt the system to start retraining. Therefore, if the training set changes, the system can automatically incorporate that change and retrain the system based on the user's data history and new changes to the dataset.

[0032] In another embodiment, the feature may be a hole rather than a recess. As mentioned above, machining parameters may include speed, feed rate, movement pattern, etc. Similarly, the machining parameters presented for user selection are related to the choices made by the user in steps 202 and 204. For example, for the same hole with the same precise geometry, there may be a different set of associated machining parameters, and the presented machining parameters are based on the decisions made by the user in previous steps (e.g., steps 202 and 204).

[0033] for Figure 3 , Figure 2An example of workflow 250 may include numerous operations with a variety of selected tools and parameters, illustrating different combinations and possible arrangements. Starting from the same step and given a single feature (step 201), a sequence of processing types may be possible (step 202), where the user can select multiple processing types, for example, in this example of the user's preferred sequence, the user can select up to four (4) processing types. In another implementation, the user can select any number of processing types based on a given feature, as well as the user's data file and prior training. These processing types can be used to process and manufacture a given feature, such as recess 205 or a hole. Additionally, at step 204, a variety of tools can be selected to produce recess 205, such as an average of twelve (12) tools for a single specific target to produce recess 205. In step 206, at least sixteen (16) parameters can be selected for each selected tool. In one implementation, the user can decide to adjust the presented processing parameters. In another implementation, the user can decide to keep the processing parameter values ​​as they are (e.g., keep them at default values). In this case, the user can select four (4) processing types with an average of twelve (12) tools and sixteen (16) total parameters. In this example, the user must select a value from 768 possible configurations to machine only one specific recess feature 205. Therefore, more than 768 (768) combinations are possible. In addition, the target part may have more than one feature, and therefore there are even more possible combinations for machining features.

[0034] As illustrated, these possible options present users with a cumbersome array of choices for producing discrete parts such as molds, dies, tools, prototypes, aerospace components, etc., which can lead to time losses, increased user errors, and resource waste. Furthermore, it requires users to have a very deep level of knowledge about machining machine part models and / or geometries, whereas in reality, users may have extensive machining experience and capabilities.

[0035] for Figure 4 A flowchart 300 is illustrated for classifying operation sequences, prediction tool parameters, and prediction operation parameters within system 100. As depicted, different components may each include a processor and addressable memory for executing instructions as separate components, or they may run on the same computing device having one or more sets of processors and addressable memory. Geometric features 301, such as concave features 205 (see [link to diagram]), may be received at the operation sequence classifier component 302. Figure 2In one implementation, the operation sequence classifier component 302 can determine the sequence of operations for features based on the user's habits, environment, and skill set. For example, the operation sequence classifier component 302 can predict for the user a sequence of machining types, such as a machining sequence of recess machining, followed by another recess machining (possibly performed with different tools and machine parameters), and the final machining profile. Other sequences are possible and can be considered.

[0036] In one implementation, the operational sequence classifier component 302 may consist of one or more technologies 314 (e.g., “TechType”), which are specified for application to, for example, recesses 205 (see...). Figure 2 The type of operation on the features of the pore feature. In one implementation, the operation sequence classifier component 302 can repeat the same technique multiple times, and the order in which such operations are applied to the features is crucial. System 100 can receive attributes of all features as input and output a predicted operation sequence. In one implementation, a sequence of instructions such as “DecisionTreeClassifier” can be initiated by the operation sequence classifier component 302 at this step; thus, the problem is shaped into a classification problem. The individual unique operation sequences found in the user's previous examples (which may consist of operations applied to a given feature) can be considered as one of the possible categories to be assigned to the new input feature. The operation sequence 304 can then be output to the user for implementation.

[0037] The tool parameter predictor component 306 can receive an operation sequence 304, a given feature 301, and a previously selected tool parameter 308 from a previous iteration. For each entry in the predicted operation sequence 304, TechType 314 and the order (an ascending number from the beginning) are presented as input to the tool parameter predictor component 306. Given the list of entries in the operation sequence 304 and the order in which these entries are applied to features such as recess 205 or a hole, the tool must be linked to such operations. With the given feature 301, the selected operation 304, and the previously selected tool parameter 308 provided as input, the tool parameter predictor component 306 of the system 100 intelligently predicts tool parameters 310 and presents them to the user for selection. In one embodiment, the tool parameter predictor component 306 can be used to predict the most representative tool parameters 310. In another embodiment, the tool parameter predictor component 306 can be used to predict a specified number, such as five, most representative tool parameters 310. Five most representative tool parameters 310 can be used to reduce complexity and focus on the geometric pattern. In another implementation, the tool parameter predictor component 306 can be used to predict more than five of the most representative tool parameters 310. Given these tool parameters 310, a search can be performed on a preloaded pool of tools to select the tool most suitable for the operation in terms of efficiency and accuracy. In one implementation, if suggested tools that the user does not have are presented to the user, the user can manually select which tool to use. For example, system 100 can suggest a tool to cut a 13-inch diameter. The user may only have tools for cutting 12-inch or 14-inch diameters; therefore, the user can manually select a tool to cut a 12-inch or 14-inch diameter, whichever the user deems appropriate. In one implementation, the tool parameter predictor component 306 receives a selected operation 304 and previous tool parameters 308 as input and runs one of multiple models (e.g., m models) to predict and output the tool parameters 310 for each model m. In another implementation, the tool parameter predictor component 306 may receive an operation sequence 304 and previous tool parameters 308, as well as all operation sequences and previous tool parameter inputs from all previous models, to predict and output one of the tool parameters (see [link to implementation details]). Figure 5 (To learn more details).

[0038] In one implementation, the predicted parameters for the tool are tool style, tool diameter, cut length, shank diameter, and / or tool radius. In one implementation, the tool parameter predictor component 306 may employ, for example, a DecisionTreeRegressor and a KNearest-Neighbour model. In another implementation, five (5) or more of the listed predicted parameter settings may be used for analysis. In yet another implementation, some (or all) of the listed five (5) parameters may be different parameters based on the user's dataset.

[0039] Finally, the operation parameter predictor component 312 can receive the operation 304 along with the given feature 301 and the tool parameters 310 already predicted by the tool parameter predictor component 306. Using the given feature 301, the operation sequence 304, and the previous tool parameters 308 as input, the operation parameter predictor component 312 of the system 100 intelligently predicts the operation parameters 316 and presents them to the user for selection, such as the speed, feed rate, and movement mode of one or more tools. In one embodiment, the operation parameter predictor component 312 can execute and run multiple models, such as n models, to predict the operation parameters 316. In one embodiment, the operation parameter predictor component 312 receives the given feature 301, the operation sequence 304, and the previous tool parameters 308 as input and runs one of multiple models (e.g., n models) to predict and output the operation parameters 316 for each model n. In another embodiment, the operation parameter predictor component 312 can receive the given feature, the operation sequence, and the previous tool parameters as input, as well as the given feature, the operation sequence, and the previous tool parameters from all previous models that have been run to predict and output one of the operation parameters.

[0040] Each technique or TechType 314 has its own set of parameters that can be predicted by the operation parameter predictor component 312. For example, TechType 314 may include operations such as chamfering, contouring, and recessing cycles. In one embodiment, TechType may be a numerical code that identifies the type of operation, such as chamfering, contouring, and recessing cycles. For each TechType 314, there are operation parameters predicted by the operation parameter predictor component 312, such as tool speed, feed rate, and movement pattern. This prediction made by the operation parameter predictor component 312 may depend on the user's habits of selecting and setting values ​​for certain parameters relative to all available parameters. To take into account the specific habits of individual users, a set of operating parameters is selected for each possible TechType 314 during the preprocessing phase, and this set can be used to determine which parameter (or parameters) the operation parameter predictor component 312 must predict.

[0041] In one implementation, the set of operational parameters 316 can be selected based on the calculated "entropy" values ​​of the various operational parameters found in the user's examples. More specifically, a registry containing a census of all operational parameters 316 can be provided to the operational parameter predictor component 312. For each parameter, the registry is used to identify the type of the parameter (e.g., if it is a string, boolean, integer, double, or enum), the desired prediction output (categorical or free), and the precision to which the prediction can be rounded. In one implementation, in order to select the most suitable / appropriate set of parameters to predict for each TechType 314, all operational parameters (along with their setting values) found in all past examples are considered if the following conditions are met: (1) the parameter has been included in the registry, (2) the parameter has been set by the user and it is not a system default or pre-calculated parameter, and (3) the parameter has not been explicitly excluded from the registry. In another implementation, one or more of the above conditions need to be met in order to consider operational parameters found in previous examples. By focusing only on those parameters changed by the user, the resulting subset aligns with the user's habits over time. From such a subset, entropy can be calculated for each parameter based on the value distribution of each parameter, resulting in a number between 0 and 1. Entropy close to 1 indicates that a parameter is assumed to have two or more values ​​with similar probabilities. That is, if a parameter is assumed to have only a single value in all examples, the entropy is 0. If there is a value in the distribution that presents a higher probability relative to other values, the entropy becomes 0. The entropy is then used to estimate the importance of including the parameter in the list of parameters predicted by the operational parameter predictor component 312. A high entropy for a parameter means that the parameter has been set to different values ​​multiple times, and that the assumed values ​​of the parameter are uniformly distributed. Setting a threshold for entropy allows selection of parameters that the user is most likely to change frequently and that require recommendations. In one implementation, the default threshold for entropy is set to 0.2.

[0042] about Figure 5 A flowchart 350 is shown for the model used to predict and output tool parameters. In one implementation, m models (m = 1, 2, 3, ..., m = m) can be executed, for example, as shown above regarding... Figure 4The description describes m models for predicting and outputting tool parameters for each running model m. More specifically, for a first model 320a (e.g., m = 1), a first tool parameter predictor component 306a receives a first operation sequence 304a and a first prior tool parameter 308a as input. The first model 320a can predict and output a first tool parameter 310a. For a second model 320b (e.g., m = 2), a second tool parameter predictor component 306b can receive a second operation sequence 304b and a second prior tool parameter 308b as input. In one embodiment, the tool parameter predictor component 306b can also receive the first operation sequence 304a and the first prior tool parameter 308a as additional input from model 320a. The second model 320b (e.g., m = 2) can then predict and output a second tool parameter 310b based on the first operation sequence 304a and the first prior tool parameter 308a, and the second operation sequence 304b and the second prior tool parameter 308b from model 320a. For the third model 320c (e.g., m=3), the third tool parameter predictor component 306c may receive a third operation sequence 304c and a third previous tool parameter 308c as input. In one embodiment, the tool parameter predictor 306c may also receive a first operation sequence 304a and a first previous tool parameter 308a from model 320a as input. In another embodiment, the tool parameter predictor component 306c may also receive a second operation sequence 304b and a second previous tool parameter 308b from model 320b as input. The third model 320c may then predict and output a third tool parameter 310c based on the first operation sequence 304a and the first previous tool parameter 308a from model 320a, the second operation sequence 304b and the second previous tool parameter 308b from model 320b, and the third operation sequence 304c and the third previous tool parameter 308c. Therefore, each new model iteration can include input from previous models; thus, tool parameter predictions can become increasingly accurate compared to performing previous predictions on more models.

[0043] about Figure 6System 100 can execute workflow 400 to automatically recommend customized programmed workflows for users to manufacture machinery in a CAM environment, such as CNC toolpath creation, or for producing discrete parts, such as molds, dies, tools, prototypes, aerospace components, etc. In one embodiment, workflow 400 can be a series of instructions from system 100, which are steps for providing automatic recommendations. More specifically, at step 402, system 100 can utilize user history (e.g., historical data of user choices) to make informed recommendations via the disclosed systems and methods applying AI to automatically guide the user through the optimal choice. In one embodiment, user history includes all data associated with the user's manual decision-making steps required for machining the geometry of machine parts (such as the aforementioned recess 205, holes, or other features). Figure 3For example, system 100 can analyze the choices made by the user at steps 202, 204, and 206 to process the recess 205. More specifically, system 100 can analyze the selected processing type, which tools are used, and the parameter values ​​selected for each application. That is, tools have parameters describing the shape and cutting capabilities of the tool. Once a tool is selected, processing parameters can be set. In one example, the diameter of the tool can affect the distance between two passes; therefore, to avoid leaving excess material between passes, each pass should be approximately one-quarter (1 / 4) of the tool radius. However, as can be inferred, if the user's dataset includes data that is not the optimal way to perform the processing, the system's predictions can reflect such inefficient or incorrect parameters and learn from them. For example, if the user consistently selects one-eighth (1 / 8) of the tool radius for each pass, the system can learn to use that value. This could happen, for example, if the user is inexperienced and consistently enters incorrect values. The system accepts this value because it is learning from the user and the value may be within a threshold acceptable to the machine. In one implementation, the system can determine that a user is using inefficient or incorrect parameters by comparing the user's dataset with another dataset, which could be from another user, historical data of the same user, or default parameters recommended by the manufacturer of the processing tool. According to this implementation, the system can then label the user's dataset based on a threshold in a way that gives it less weight to parameters not used in the machine learning process or for the purpose of determining predictions. That is, the system can be configured to detect or determine parameters used, for example, by inexperienced users, that are outside the range or variance (a statistical measure of the amount of variation of a given parameter or variable), thereby preventing the system from including such datasets as part of the learning process, such as as input. Additionally, in some implementations, the system can also be configured to determine a variance threshold where the feature / parameter does not vary much within itself, and label such parameters as such datasets that typically have very little predictive power, thereby including or excluding such data.

[0044] In another implementation, users can cross-share knowledge with other users by accessing, for example, other databases storing such datasets, so the system can learn based on data from multiple users. In one implementation, if one or more users accumulate examples that lead to higher accuracy, the system can learn from the examples and provide associated parameter values ​​to one or more users. In yet another implementation, users can update their datasets with new tools that become available, for example, if the tool did not exist when the user created their first training set. The system can then retrain itself based on adding this new tool to the training set.

[0045] In one implementation, the data associated with the user's manual decision-making steps (e.g., the type of machining selected, which tools to use, and parameter values ​​selected for each application) may be in the form of text files, such as Extensible Markup Language (XML) files, Rich Text Format (.rtf) files, plain text data (.dat), etc. The processor 124 of system 100 may execute steps to apply machine learning algorithms (e.g., artificial intelligence (AI)) to the user data. Thus, the AI ​​algorithm can continuously learn from specific sets of files from individual users. Individual users may process the same geometry (e.g., the geometry of recess 205) in different ways; therefore, system 100 can leverage the history of individual users to effectively predict how a particular user prefers to machine parts. Furthermore, system 100 is configured to analyze changes in user decisions over time. For example, system 100 may analyze how users can improve their machining of a given feature (such as recess 205) or another given feature (such as a hole over time due to many potential factors, such as an improved skill set over time). In one example, a user who has been machining machine tools in a CAM environment for 20 years may be more skilled than a user who has been performing the same machining for 2 years. Therefore, the implementation of system 100 can provide different suggestions to individual users based on their skill sets. Furthermore, technology changes over time, and system 100 can learn how users adapt to newly introduced technologies and provide recommendations accordingly.

[0046] At step 404, system 100 automatically guides the user to make the optimal choice for machining the geometry of the machine part based on the user's past machining experience. Therefore, each user automatically receives specific recommendations based on their history and skill set. Furthermore, system 100 can continue to learn, understand, and improve prediction accuracy by performing data analysis, which automates the construction of analytical models, where the system learns from data, identifies patterns, makes predictions based on experience, and automatically improves part machining for greater accuracy and efficiency. In one embodiment, each time a user programs a new part, system 100 can store or 'add' that data to system 100 and continuously become smarter by using that data through the construction of a historical database inherently based on user data based on their tools and skills. In one embodiment, system 100 can leverage historical data from other users using similar machines or machining similar features (e.g., recesses or holes) or both to aggregate historical data across different platforms of cutting tools and cutting machines to improve the accuracy of system predictions.

[0047] about Figure 7The diagram details the workflow 500 of system 100. At step 501, the system is given a feature to be manufactured, such as a recess. The recess can be described by a planar profile, composition, or arcs and segments, and a set of attributes (e.g., area and depth). Other attributes may be included or used instead of existing attributes, for example, data collected and stored in a local or remote database. At step 502, system 100 predicts a sequence of machining types based on the user's history of machining recesses on a machine tool. For example, system 100 predicts that to manufacture the recess, the user will select the following machining sequence: recess machining, then further recess machining (possibly performed with different tools and machine parameters), and finally contour machining on the machine tool. At step 504, system 100 uses the prediction from step 502 to machine the recess geometry from step 501 as input to an algorithm to predict the tool parameters to be selected, such as style, diameter, and cutting length. At step 506, the system receives the recess features from step 501, the predicted sequence of machining types from step 502, and the predicted tool from step 504 as input. Based on these inputs, the algorithm can predict the machining parameters of the operation, such as speed, feed rate, and movement pattern. With each iteration and as the dataset grows larger, System 100 becomes more accurate and / or efficient over time. Therefore, through each automatic recommendation from System 100, based on the user's history and ultimately modified by the user to better machine the geometry, System 100 learns how the user decides to machine the part. Because of the user's history and behavioral patterns, System 100 is able to predict more definitively than by directly inputting logic into System 100.

[0048] about Figure 8 The results 600 show the accuracy of system 100 for different users. Dataset 602 includes a first instance 603 and a second instance 605. Regarding the first instance 604, the user processed 86 features (e.g., 86 different concave sections) using 163 processing sequences and 217 tools. The user provides this data to system 100 as a dataset to train the algorithm. For the prediction of user sequences of processing type 604, the algorithm predicts and outputs the same sequence selected by the user approximately 82% of the time. For the prediction of user-selected tools 606, the algorithm predicts and outputs the same tool selected by the user approximately 72% of the time. To predict the processing parameters 608 selected by the user, in this example, the algorithm predicts and outputs the total depth of the processing tool 77% of the time, the speed of the processing tool 85% of the time, the feed rate of the processing tool in the XY plane 75% of the time, and the feed rate of the processing tool in the Z plane 75% of the time.

[0049] Regarding the second instance 605, the user processed 3,746 features (e.g., 3,746 different recesses), using 5,593 processing sequences and 652 tools. The user provided this data to system 100 as a dataset to train the algorithm. For the prediction of the user's sequence for processing type 604, the algorithm predicted and output the same sequence as the user's selection approximately 97% of the time. For the prediction of the tool selected by the user 606, the algorithm predicted and output the same tool as the user's selection approximately 98% of the time. To predict the processing parameters selected by the user 608, the algorithm predicted and output the total depth of the processing tool 91% of the time, the speed of the processing tool 95% of the time, the feed rate of the processing tool in the XY plane 94% of the time, and the feed rate of the processing tool in the Z plane 95% of the time. These results clearly demonstrate that the algorithm becomes more intelligent (e.g., performance improves) as the sample size increases. If the user's history is large enough, such as up to 3,500 features, the algorithm suggests 95 correct choices out of 100 to the user at each step of the workflow. However, if users use the same technology every time, the results may be biased; therefore, it is not only expected that each user will have more data, but also that there will be more users.

[0050] In some implementations, system 100 can be trained individually for each user's situation. Furthermore, users do not need to share actual files or any other sensitive or proprietary data with system 100. In one implementation, all user data can be contained on the user's own machine, and the user can run system 100 on their own files / documents. In one implementation, individual user information can be added to provide more personalized recommendations that each user can implement. In yet another implementation, user data can be sourced from an external data server and includes not only user data (saved from the local machine to the external data server) but also, optionally, data from a group of other users. Such data can be selected based on a number of criteria, such as whether the other users in the group are using similar attributes, such as cutting tools, workpieces, etc.

[0051] Figure 9A high-level block diagram 900 of a computing system is shown, comprising a computer system for implementing embodiments of the systems and processes disclosed herein. Implementations of the system can be carried out in various computing environments. The computer system includes one or more processors 902 and may further include an electronic display device 904 (e.g., for displaying graphics, text, and other data), main memory 906 (e.g., random access memory (RAM)), storage device 908, removable storage device 910 (e.g., removable storage drive, removable memory module, magnetic tape drive, optical disc drive, computer-readable medium storing computer software and / or data), user interface device 911 (e.g., keyboard, touchscreen, keypad, pointing device), and communication interface 912 (e.g., modem, network interface (e.g., Ethernet card), communication port, or PCMCIA slot and card). The communication interface 912 allows the transfer of software and data between the computer system and external devices. The system also includes a communication infrastructure 914 (e.g., communication bus, crossbar, or network) to which the aforementioned devices / modules are connected as shown.

[0052] Information transmitted via communication interface 914 may be in the form of signals, such as electrical signals, electromagnetic signals, optical signals, or other signals that can be received by communication interface 914 via communication link 916 carrying signals and implemented using wires or cables, optical fibers, telephone lines, cellular / mobile phone links, radio frequency (RF) links, and / or other communication channels. The computer program instructions representing the block diagram and / or flowchart herein may be loaded onto a computer, programmable data processing apparatus, or processing device to cause a series of operations performed thereon to produce a computer-implemented process.

[0053] Embodiments have been described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to the embodiments. The individual blocks or combinations thereof in such illustrations / diagrams can be implemented by computer program instructions. When the computer program instructions are provided to a processor, the computer program instructions generate machinery such that the instructions, executed via the processor, create means for implementing the functions / operations specified in the flowcharts and / or block diagrams. The individual blocks in the flowcharts / block diagrams may represent hardware and / or software modules or logic implementing the embodiments. In alternative embodiments, the functions marked in the blocks may occur in a different order than indicated in the drawings, or may occur simultaneously, etc.

[0054] The computer program (i.e., computer control logic) is stored in main memory and / or secondary memory. The computer program can also be received via communication interface 912. When executed, such a computer program enables the computer system to perform features of the implementations discussed herein. Specifically, when executed, the computer program enables the processor and / or multi-core processor to perform features of the computer system. Such a computer program represents the controller of the computer system.

[0055] Figure 10 A block diagram of an example system 1000 in which implementation methods may be carried out is shown. System 1000 includes one or more client devices 1001, such as consumer electronic devices, connected to one or more server computing systems 1030. Server 1030 includes a bus 1002 or other communication mechanism for transmitting information, and a processor (CPU) 1004 coupled to the bus 1002 for processing information. Server 1030 also includes a main memory 1006, such as random access memory (RAM) or other dynamic storage device, coupled to the bus 1002, for storing information and instructions to be executed by processor 1004. Main memory 1006 may also be used to store temporary variables or other intermediate information during execution or instructions to be executed by processor 1004. Server computer system 1030 also includes a read-only memory (ROM) 1008 or other static storage device coupled to the bus 1002 for storing static information and instructions for processor 1004. Storage device 1010, such as a disk or optical disk, is provided and connected to bus 1002 for storing information and instructions. Bus 1002 may include, for example, 32 address lines for addressing video memory or main memory 1006. Bus 1002 may also include, for example, a 32-bit data bus for transferring data between components such as CPU 1004, main memory 1006, video memory, and memory 1010. Alternatively, multiplexed data / address lines may be used instead of separate data and address lines.

[0056] Server 1030 can be connected to monitor 1012 via bus 1002 for displaying information to a computer user. Input device 1014, including alphanumeric keys and other keys, is connected to bus 1002 for transmitting information and command selections to processor 1004. Another type of user input device includes cursor control 1016, such as a mouse, trackball, or arrow keys, for transmitting directional information and command selections to processor 1004 and for controlling cursor movement on monitor 1012.

[0057] According to one embodiment, these functions are performed by processor 1004 executing one or more sequences of one or more instructions contained in main memory 1006. Such instructions may be read into main memory 1006 from another computer-readable medium, such as storage device 1010. Execution of the instruction sequences contained in main memory 1006 causes processor 1004 to perform the processing steps described herein. One or more processors in a multiprocessor arrangement may also be used to execute the instruction sequences contained in main memory 1006. In another embodiment, hardwired circuitry may be used instead of or in combination with software instructions to implement the implementation. Therefore, the implementation is not limited to any particular combination of hardware circuitry and software.

[0058] The terms "computer program medium," "computer-usable medium," "computer-readable medium," and "computer program product" are generally used to refer to media such as main memory, secondary storage, removable storage drives, hard disks mounted in hard disk drives, and signals. These computer program products are means for providing software to a computer system. Computer-readable media allow a computer system to read data, instructions, messages or message packets, and other computer-readable information from the computer-readable medium. For example, computer-readable media may include non-volatile memory such as floppy disks, ROM, flash memory, disk drive memory, CD-ROM, and other permanent storage devices. For example, it is useful for transmitting information such as data and computer instructions between computer systems. Furthermore, computer-readable media may include computer-readable information in transient media such as network links and / or network interfaces, including wired or wireless networks that allow computers to read such computer-readable information. Computer programs (also referred to as computer control logic) are stored in main memory and / or secondary storage. Computer programs may also be received via communication interfaces. When such computer programs are executed, they enable a computer system to perform features of the implementations discussed herein. Specifically, when executed, the computer program causes the processor (multi-core processor) to perform features of the computer system. Accordingly, such a computer program represents the controller of the computer system.

[0059] Generally, as used herein, the term "computer-readable medium" refers to any medium that participates in providing instructions to processor 504 for its execution. Such media can take many forms, including but not limited to: non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as storage device 1010. Volatile media include dynamic memory, such as main memory 1006. Transmission media include coaxial cables, copper wires, and optical fibers, including wires that include bus 1002. Transmission media can also take the form of sound waves or light waves, such as those generated during radio and infrared data communications.

[0060] Common forms of computer-readable media include, for example, floppy disks, hard disks, magnetic tapes or any other magnetic media, CD-ROMs, any other optical media, punched cards, paper tapes, any other physical media with a perforated pattern, RAM, PROM, EPROM, FLASH-EPROM, any other memory chips or memory cells, carrier waves as described below, or any other media from which a computer can read.

[0061] When transmitting one or more sequences of instructions to processor 1004 for execution, various forms of computer-readable media may be involved. For example, these instructions may initially be carried on the disk of a remote computer. The remote computer may load the instructions into its dynamic memory and transmit the instructions via a modem over a telephone line. A modem local to server 1030 may receive data over a telephone line and convert the data into an infrared signal using an infrared transmitter. An infrared detector coupled to bus 1002 may receive the data carried in the infrared signal and place the data on bus 1002. Bus 1002 transmits the data to main memory 1006, from which processor 1004 retrieves and executes the instructions. Instructions received from main memory 1006 may optionally be stored on storage device 1010 before or after execution by processor 1004.

[0062] Server 1030 also includes a communication interface 1018 coupled to bus 1002. Communication interface 1018 provides bidirectional data communication coupling to network link 1020, which is connected to a global packet data communication network commonly referred to as the Internet 1028. The Internet 1028 uses electrical, electromagnetic, or optical signals carrying digital data streams. Signals through various networks, as well as signals on network link 1020 and through communication interface 1018 (carrying digital data to and from server 1030), are exemplary forms or carriers for transmitting information.

[0063] In another embodiment of server 1030, interface 1018 is connected to network 1022 via communication link 1020. For example, communication interface 1018 may be an Integrated Services Digital Network (ISDN) card or modem to provide data communication connectivity to a corresponding type of telephone line, which may include part of network link 1020. As another example, communication interface 1018 may be a Local Area Network (LAN) card to provide data communication connectivity to a compatible LAN. A wireless link may also be implemented. In any such implementation, communication interface 1018 transmits and receives electrical, electromagnetic, or optical signals carrying digital data streams representing various types of information.

[0064] Network link 1020 typically provides data communication to other data devices via one or more networks. For example, network link 1020 may provide a connection to host 1024 or to a data device operated by an Internet Service Provider (ISP) 1026 via local network 1022. The ISP, in turn, provides data communication services via the Internet 1028. Both local network 1022 and the Internet 1028 use electrical, electromagnetic, or optical signals carrying digital data streams. Signals through various networks, as well as signals on network link 1020 and through communication interface 1018 (which carry digital data to and from server 1030), are exemplary forms or carriers for transmitting information.

[0065] Server 1030 can send / receive messages and data, including emails and program code, via a network, network link 1020, and communication interface 1018. Furthermore, communication interface 1018 may include a USB / tuner, and network link 1020 may be an antenna or cable for connecting server 1030 to a cable provider, satellite provider, or other terrestrial transmission system to receive messages, data, and program code from another source.

[0066] Example versions of the embodiments described herein can be implemented as logical operations in a distributed processing system, such as system 1000 including server 1030. The logical operations of the embodiments can be implemented as a sequence of steps executed in server 1030 and as interconnected machine modules within system 1000. The implementation method is a matter of choice and can depend on the performance of system 1000 implementing the embodiments. Therefore, the logical operations constituting the example versions of the embodiments are referred to, for example, as operations, steps, or modules.

[0067] Similar to server 1030 as described above, client device 1001 may include a processor, memory, storage device, display, input device, and a communication interface (e.g., email interface) for connecting the client device to the Internet 1028, ISP, or LAN 1022 to communicate with server 1030.

[0068] System 1000 may further include a computer (e.g., a personal computer, a computing node) 1005 that operates in the same manner as client device 1001, wherein a user may use one or more computers 1005 to manage data in server 1030.

[0069] Now for reference Figure 11The illustration depicts an exemplary cloud computing environment 50. As shown, the cloud computing environment 50 includes one or more cloud computing nodes 10, with which cloud consumers can communicate using local computing devices (e.g., personal digital assistants (PDAs), smartphones, smartwatches, set-top boxes, video game systems, tablets, mobile computing devices, or cellular phones 54A, desktop computers 54B, laptop computers 54C, and / or automotive computer systems 54N). The nodes 10 can communicate with each other. They can be physically or virtually grouped in one or more networks (e.g., private, community, public, or hybrid clouds, or combinations thereof, as described above) (not shown). This allows the cloud computing environment 50 to provide infrastructure, platforms, and / or software as services that cloud consumers do not need to maintain resources on their local computing devices. It is understood that... Figure 11 The types of computing devices 54A-N shown are intended to be illustrative only, and computing node 10 and cloud computing environment 50 can communicate with any type of computerized device via any type of network and / or network-addressable connection (e.g., using a web browser).

[0070] It is conceivable that various combinations and / or sub-combinations of the specific features and aspects of the above-described embodiments can be implemented and still fall within the scope of the present invention. Therefore, it should be understood that various features and aspects of the disclosed embodiments can be combined or substituted for each other to form different modes of the disclosed invention. Furthermore, the scope of the invention is intended to be disclosed herein by way of example and should not be limited to the specific embodiments disclosed above.

Claims

1. A method for automatically recommending customized programming workflows for users of manufacturing machinery in a computer-aided manufacturing (CAM) environment, the method comprising the following steps: Select a sequence of one or more processing types for one or more features, wherein the selection of the sequence of one or more processing types is based on the features and a database of the user's previous selections of processing types, wherein the database of the user's previous selections of processing types is constructed based on the user's skill set and experience habits; Select one or more tools associated with a sequence of one or more selected processing types, wherein the selection of the one or more tools is based on the feature, the sequence of one or more selected processing types, and a database of the user's previous selections of one or more tools; One or more processing parameters are determined for one or more selected tools, wherein the determined processing parameters are based on the features, a sequence of one or more selected processing types, one or more selected tools, and a database of previously determined processing parameters by the user; and Based on a sequence of one or more selected processing types, one or more selected tools, and one or more determined processing parameters, a processing workflow prediction is determined in a computer-aided manufacturing (CAM) environment, thereby utilizing historical data of the user's previous choices of the determined processing workflow prediction to make informed recommendations to the user.

2. The method according to claim 1, wherein, The determined machining parameters include at least one of the following: speed, feed rate, and movement pattern.

3. The method according to claim 1, wherein, Compared to a set of previous predictions, more accurate processing workflow predictions are determined based on the execution of more models.

4. The method according to claim 3, wherein the method further comprises: The weights are assigned to the previous predictions in the set of previous predictions.

5. The method according to claim 1, wherein the method further comprises: Identify a set of user preferences; as well as Associate the identified set of user preferences with processing tools.

6. The method according to claim 5, wherein the method further comprises: The identified set of user preferences is correlated with the processing tools and the comfort levels exhibited by the users.

7. The method according to claim 1, wherein, Determining the machining workflow prediction is based on identifying energy-efficient tool paths with the fewest moves, cutting operations, and cutting times, thereby reducing unnecessary moves and cycle time and shortening tool length.

8. The method according to claim 1, wherein, The database includes historical data on user selections and determinations collected over a period of time.

9. The method according to claim 1, wherein, Selecting a sequence of one or more machining types is further based on the user's history of machining recesses on the machine tool.

10. The method according to claim 1, wherein, The determined machining workflow prediction includes tool prediction parameters; wherein the tool prediction parameters include at least one of the following: tool style, tool diameter, cutting length, shank diameter, and tool radius.

11. The method according to claim 1, wherein, The determined machining workflow prediction is transmitted to the user interface of the computer-aided manufacturing CAM, which is used to program the computer numerical control (CNC) machine for the user to implement.

12. The method according to claim 1, wherein, The step of determining the machining workflow prediction in a computer-aided manufacturing (CAM) environment is further based on the user's initial dataset and new data, wherein the new data is a new machining test file.

13. The method according to claim 12, wherein, If the accuracy of the calculation does not match the user's expectations, then the new data is used.

14. A system for automatically recommending customized programming workflows for users of manufacturing machinery in a computer-aided manufacturing (CAM) environment, the system comprising: An operational sequence classifier component, the operational sequence classifier component having a processor and addressable memory, wherein the operational sequence classifier component is configured to: Based on the received geometric features, select one or more operation sequences for each of the one or more features. Among them, one or more operation sequences are selected based on the user's habits, environment, and skill set; A tool parameter predictor component, the tool parameter predictor component having a processor and addressable memory, wherein the tool parameter predictor component is configured to: Receive one or more selected operation sequences, each of the one or more features, and one or more previously selected tool parameters by the user; and One or more tool parameters are selected based on the received sequence of one or more operations, each of the one or more features, and the one or more previously selected tool parameters by the user; and An operation parameter predictor component, the operation parameter predictor component having a processor and addressable memory, wherein the operation parameter predictor component is configured to: Receive one or more selected operation sequences and one or more selected tool parameters; and One or more operation parameters are determined based on the received sequence of one or more selected operations and the selected one or more tool parameters, wherein the one or more operation parameters are based on the user's habit of selecting and setting certain parameter values ​​relative to all available parameters, and Obtained from a database that includes a census of all operational parameters.

15. A method for automatically recommending customized programming workflows for users of manufacturing machinery in a computer-aided manufacturing (CAM) environment, the method comprising the following steps: Select a sequence of one or more processing types for one or more features, wherein the selection of the sequence of one or more processing types is based on the features and a database of the user's previous selections of processing types; Select one or more tools associated with a sequence of one or more selected processing types, wherein the selection of the one or more tools is based on the feature, the sequence of one or more selected processing types, and a database of the user's previous selections of one or more tools; One or more processing parameters are determined for one or more selected tools, wherein the determined processing parameters are based on the features, a sequence of one or more selected processing types, one or more selected tools, and a database of previously determined processing parameters by the user; and A machining workflow prediction is determined in a computer-aided manufacturing (CAM) environment based on a sequence of one or more selected machining types, one or more selected tools, one or more determined machining parameters, and the user's initial dataset and new data, wherein the new data is a new machining test file, thereby utilizing historical data of the user's previous selections of the determined machining workflow prediction to make informed recommendations to the user.

16. The method according to claim 15, wherein, If the accuracy of the calculation does not match the user's expectations, then the new data is used.

17. A method for automatically recommending customized programming workflows for users of manufacturing machinery in a computer-aided manufacturing (CAM) environment, the method comprising the following steps: Select a sequence of one or more processing types for one or more features, wherein the selection of the sequence of one or more processing types is based on the features and a database of the user's previous selections of processing types; Select one or more tools associated with a sequence of one or more selected processing types, wherein the selection of the one or more tools is based on the feature, the sequence of one or more selected processing types, and a database of the user's previous selections of one or more tools; Identify a set of user preferences and correlate the identified set of user preferences with the processing tools and the comfort exhibited by the users; One or more processing parameters are determined for one or more selected tools, wherein the determined processing parameters are based on the features, a sequence of one or more selected processing types, one or more selected tools, and a database of previously determined processing parameters by the user; and A machining workflow prediction is determined in a computer-aided manufacturing (CAM) environment based on a sequence of one or more selected machining types, one or more selected tools, and one or more determined machining parameters, thereby utilizing historical data of the user's previous selections of the determined machining workflow prediction to make informed recommendations to the user.

Citation Information

Patent Citations

  • Method and assistance system for supporting work planning for a production process

    US6671568B2

  • Automatic positioning movement calculator

    US9869990B1