DETAILED ACTION
Claims 1-32 are pending.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Objections
The claims are objected to because of the following informalities:
The abbreviations CNC, CAD, CAM and 3D are not defined before being used.
Appropriate correction is required.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claim(s) 1-32 are rejected under 35 U.S.C. 101 because the claimed invention is directed to a non-statutory subject matter. The claims do not fall within at least one of the four categories of patent eligible subject matter because the claimed invention is directed to the abstract idea (mental process) of generating metadata and defining manufacturing process parameters and tool path parameters for forming a part.
Claim 1 recites a method for automating CNC manufacturing, i.e. a process, which is a statutory category of invention. The claim recites:
the metadata from each CNC machine being automatically generated… and using the CAM software to define manufacturing process parameters and tool path parameters for forming the first part that may be performed in the human mind, or by a human using a pen and paper. Thus the claim recites an abstract idea (mental processes), see MPEP 2106.04(a).
This judicial exception is not integrated into a practical application because the additional elements, i.e. automating CNC manufacturing, a CNC control of the CNC machine as a result of an operator loading a CAD file of a first part to be formed by the CNC machine into CAM software of the CNC control (generally linking the use of the judicial exception to a particular technological environment or field of use, see MPEP 2106.05(h)), receiving, at one or more servers over a network, metadata from a plurality of CNC machines (insignificant extra-solution elements – mere data gathering, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d)), training, by the one or more servers, a supervised machine learning model using the metadata as labeled training data to produce a trained model (applying the exception with generic computer technology using broadly recited known algorithm, see MPEP 2106.04(a)(2) III C) and transmitting, by the one or more servers to at least one CNC machine of the plurality of CNC machines, model generated manufacturing process parameters and tool path parameters generated by the trained model (insignificant extra-solution elements – merely using generic computer technology, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d) e.g. receiving or transmitting data over a network) for forming a second part (intended use) do not impose any meaningful limits on practicing the abstract idea. The claim is therefore directed to an abstract idea.
Note that CNC machines, CAD, and CAM are well-understood, routine and conventional, see for example Wallen et al. U.S. Patent Publication No. 20020188622 [0028] or Balzic et al. U.S. Patent Publication No. 20030187624 [0023, 0035], Das et al. U.S. Patent Publication No. 20140163717 [0007-0010] or Liu U.S. Patent Publication No. 20230315045 [0003-0004] or the references cited below in the current rejection under 35 U.S.C. § 103. Also, supervised machine learning is well-understood, routine and conventional, see for example Oota U.S. Patent Publication No. 20190258223 [0018-0020, 0064] and Abzug et al. U.S. Patent Publication No. 20220070212 [0033].
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, automating CNC manufacturing, a CNC control of the CNC machine as a result of an operator loading a CAD file of a first part to be formed by the CNC machine into CAM software of the CNC control (generally linking the use of the judicial exception to a particular technological environment or field of use, see MPEP 2106.05(h)), receiving, at one or more servers over a network, metadata from a plurality of CNC machines (insignificant extra-solution elements – mere data gathering, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d)), training, by the one or more servers, a supervised machine learning model using the metadata as labeled training data to produce a trained model (applying the exception with generic computer technology using broadly recited known algorithm, see MPEP 2106.04(a)(2) III C) and transmitting, by the one or more servers to at least one CNC machine of the plurality of CNC machines, model generated manufacturing process parameters and tool path parameters generated by the trained model (insignificant extra-solution elements – merely using generic computer technology, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d) e.g. receiving or transmitting data over a network) for forming a second part (intended use) are not considered significantly more. Considering the additionally elements individually and in combination and the claim as a whole, the additional elements do not provide significantly more than the abstract idea. Thus the claim is not patent eligible.
Claim 2 recites transmitting is in response to an operator loading a CAD file of the second part (insignificant extra-solution elements – merely using generic computer technology, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d) e.g. receiving or transmitting data over a network) into CAM software of a CNC control of the at least one CNC machine (generally linking the use of the judicial exception to a particular technological environment or field of use, see MPEP 2106.05(h)). Thus this claim recites an abstract idea.
Claim 3 merely recites a list of model generated abstract parameters. Thus this claim recites an abstract idea.
Claim 4 recites merely recites a list of model generated abstract parameters. Thus this claim recites an abstract idea.
Claim 5 recites merely recites a list of model generated abstract parameters. Thus this claim recites an abstract idea.
Claim 6 recites metadata includes receiving part manufacturing programs containing the metadata (insignificant extra-solution elements – mere data gathering, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d)). Thus this claim recites an abstract idea.
Claim 7 recites each of the part manufacturing programs is generated (mental process) by a packaging module (applying the exception with generic computer technology using broadly recited known algorithm, see MPEP 2106.04(a)(2) III C) of a CNC control of one of CNC machines of the plurality of CNC machines (generally linking the use of the judicial exception to a particular technological environment or field of use, see MPEP 2106.05(h)). Thus this claim recites an abstract idea.
Claim 8 recites transmitting, by the one or more servers to the at least one CNC machine of the plurality of CNC machines, a model generated cost estimate of forming the second part (insignificant extra-solution elements – merely using generic computer technology, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d) e.g. receiving or transmitting data over a network). Thus this claim recites an abstract idea.
Claim 9 merely recite a type of CAD file. Thus this claim recites an abstract idea.
Claim 10 recites the model generated manufacturing process parameters and tool path parameters are configured to permit an operator to accept, reject or modify one or more of the parameters (i.e. the abstract parameters have the capability of being changed by an operator — mental process). Thus this claim recites an abstract idea.
Claim 11 recites receiving, at the one or more servers over the network, updated metadata representing at least one of an operator rejection or modification to the one or more parameters (insignificant extra-solution elements – mere data gathering, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d)), and training further comprises training the supervised machine learning model using the updated metadata as labeled training data (applying the exception with generic computer technology using broadly recited known algorithm, see MPEP 2106.04(a)(2) III C). Thus this claim recites an abstract idea.
Claim 12 recites metadata includes receiving at least one of a classification of the second part or an identification of an end user of the at least one of the plurality of CNC machines (insignificant extra-solution elements – mere data gathering, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d)). Thus this claim recites an abstract idea.
Claim 13 recites generating a simulated part, by the one or more servers, using the model generated manufacturing process parameters and tool path parameters; comparing, by the one or more servers, at least one feature of the simulated part to a corresponding feature in a CAD file of a part corresponding to the simulated part; computing, by the one or more servers, a difference between the at least one feature and the corresponding feature (mental process executed using generic computer technology, see MPEP 2106.04(a)(2) III C); using, by the one or more servers, the difference to generate new training data; and training, by the one or more servers, the supervised machine learning model using the new training data (applying the exception with generic computer technology using broadly recited known algorithm, see MPEP 2106.04(a)(2) III C). Thus this claim recites an abstract idea.
Claim 14 recites validating, by the one or more servers, at least one parameter of the model generated manufacturing process parameters and tool path parameters by simulating cutting mechanics and/or vibrations associated with the at least one parameter (mental process executed using generic computer technology, see MPEP 2106.04(a)(2) III C). Thus this claim recites an abstract idea.
Claim 15 recites identifying, by the one or more servers, at least one error associated with the at least one parameter based upon at least one of allowable forces, tool deflection, surface roughness and vibrations (mental process executed using generic computer technology, see MPEP 2106.04(a)(2) III C); and training, by the one or more servers, the supervised machine learning model using the at least one error as labeled training data (applying the exception with generic computer technology using broadly recited known algorithm, see MPEP 2106.04(a)(2) III C). Thus this claim recites an abstract idea.
Claim 16 recites the metadata includes randomized modifications of geometric and topological data of the first part (describes abstract data) to prevent reverse-engineering of the first part (intended use). Thus this claim recites an abstract idea.
Claim 17 recites a method for automating CNC manufacturing, i.e. a process, which is a statutory category of invention. The claim recites:
using the CAM software to define manufacturing process parameters and tool path parameters for forming the first part… sing the CAM software to define manufacturing process parameters and tool path parameters for forming the first part using the CNC machine;
packaging, by a packaging module of the CNC control, the metadata into a part manufacturing program that may be performed in the human mind, or by a human using a pen and paper. Thus the claim recites an abstract idea (mental processes), see MPEP 2106.04(a).
This judicial exception is not integrated into a practical application because the additional elements, i.e. automating CNC manufacturing, the CNC control and using the CAM software to define manufacturing process parameters and tool path parameters for forming the first part using the CNC machine (generally linking the use of the judicial exception to a particular technological environment or field of use, see MPEP 2106.05(h)), capturing, by a CNC control of a CNC machine, metadata generated by loading a first CAD file of a first part into CAM software of the CNC control (insignificant extra-solution elements – mere data gathering, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d)), transmitting, by the CNC control, the part manufacturing program over a network to one or more servers which use the metadata in the part manufacturing program as labeled training data (applying the exception with generic computer technology using broadly recited known algorithm, see MPEP 2106.04(a)(2) III C) to train a supervised machine learning model to produce a trained model (intended use and insignificant extra-solution elements – merely using generic computer technology, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d) e.g. receiving or transmitting data over a network); receiving, by the CAM software of the CNC control, a second CAD file of a second part ((insignificant extra-solution elements – mere data gathering, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d)); and in response to receiving the second CAD file, receiving, at the CNC control, model generated manufacturing process parameters and tool path parameters generated by the trained model for forming the second part (insignificant extra-solution elements – mere data gathering, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d)) do not impose any meaningful limits on practicing the abstract idea. The claim is therefore directed to an abstract idea.
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application, automating CNC manufacturing, the CNC control and using the CAM software to define manufacturing process parameters and tool path parameters for forming the first part using the CNC machine (generally linking the use of the judicial exception to a particular technological environment or field of use, see MPEP 2106.05(h)), capturing, by a CNC control of a CNC machine, metadata generated by loading a first CAD file of a first part into CAM software of the CNC control (insignificant extra-solution elements – mere data gathering, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d)), transmitting, by the CNC control, the part manufacturing program over a network to one or more servers which use the metadata in the part manufacturing program as labeled training data (applying the exception with generic computer technology using broadly recited known algorithm, see MPEP 2106.04(a)(2) III C) to train a supervised machine learning model to produce a trained model (intended use and insignificant extra-solution elements – merely using generic computer technology, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d) e.g. receiving or transmitting data over a network); receiving, by the CAM software of the CNC control, a second CAD file of a second part (insignificant extra-solution elements – mere data gathering, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d)); and in response to receiving the second CAD file, receiving, at the CNC control, model generated manufacturing process parameters and tool path parameters generated by the trained model for forming the second part (insignificant extra-solution elements – mere data gathering, see MPEP 2106.05 I A, MPEP 2106.05(g) MPEP 2106.05(d)) are not considered significantly more. Considering the additionally elements individually and in combination and the claim as a whole, the additional elements do not provide significantly more than the abstract idea. Thus the claim is not patent eligible.
Claims 18-23 recite similar limitations to claims 3-4, 10-11, 13 and 16 and are rejected under the same respective rationales.
Claim 24 recites a system for automating CNC manufacturing, i.e. a machine, which is a statutory category of invention. However, process performed by the system is similar to that in claim 1 and is rejected under the same rationale. Note that a plurality of CNC machines, each including a CNC control (generally linking the use of the judicial exception to a particular technological environment or field of use, see MPEP 2106.05(h)) and servers (applying the exception with generic computer technology, see MPEP 2106.04(a)(2) III C) are not considered significantly more. The claim is therefore directed to an abstract idea.
Claims 25-31 recite similar limitations to claims 3-4, 10-11, and 13-15 and are rejected under the same respective rationales.
Claim 32 recites a system for automating CNC manufacturing, i.e. a machine, which is a statutory category of invention. However, process performed by the system is similar to that in claim 17 and is rejected under the same rationale. Note that a CNC machine including a CNC control (generally linking the use of the judicial exception to a particular technological environment or field of use, see MPEP 2106.05(h)) and remote computing devices (applying the exception with generic computer technology, see MPEP 2106.04(a)(2) III C) are not considered significantly more. The claim is therefore directed to an abstract idea.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102 of this title, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
The factual inquiries set forth in Graham v. John Deere Co., 383 U.S. 1, 148 USPQ 459 (1966), that are applied for establishing a background for determining obviousness under 35 U.S.C. 103 are summarized as follows:
1. Determining the scope and contents of the prior art.
2. Ascertaining the differences between the prior art and the claims at issue.
3. Resolving the level of ordinary skill in the pertinent art.
4. Considering objective evidence present in the application indicating obviousness or nonobviousness.
Claim(s) 1-3, 6-7, 9-11, 24-25, and 27-28 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rogers et al. U.S. Patent Publication No. 20190018391 (hereinafter Rogers) in view of Shibasaki U.S. Patent Publication No. 20230305520 (hereinafter Shibasaki).
Regarding claim 1, Rogers teaches a method for automating CNC manufacturing [0005 — a method including receiving, at a computer program, output data from a Computer Numerical Control (CNC) machine that receives instructions of a Numerical Control (NC) program at a computer of the CNC machine, the instructions causing the CNC machine to i) manufacture a part], comprising:
receiving, at one or more servers over a network [0041, 0080 — software utility 124 can provide the formatted data to a remote system, such as a computer or a server for analysis; 0103 — remote analysis server 150 can include all functionalities described below with respect to the CAM program 112; 0127 — remote analysis server 150 can generate control information and provide the control information to the CAM program 112, causing the CAM program 112 to make adjustments to the NC program], metadata from a CNC machine, the metadata from each CNC machine being automatically generated by a CNC control of the CNC machine as a result of an operator loading a CAD file of a first part to be formed by the CNC machine into CAM software of the CNC control and using the CAM software to define manufacturing process parameters and tool path parameters for forming the first part [0035-0037 — CAM program 112 allows a user 130 to interact with a model of a particular part to be manufactured by the CNC machine 120 and readily generate an NC program that is written to a tape file provided to the controller 122. The CAM program 112 can receive a 3D model with the 3D geometry of a work piece. Using the geometry, the CAM program 112 generates an NC program by assigning spindle speed and/or feed rate parameters at each point from hundreds of points that make up a tool path… program 115 receives the data defining NC programs from the CAM program 112 and translates data defining the NC programs into machine language recognized by the CNC machine 120, or post-processes, the NC programs (e.g., a tape file). The computer 110 can provide the NC program tape file 113 to the CNC machine 120 through the network 140. In order to interface with multiple types of CNCs, the CAM program 112 and the post processing program 115 can determine the file format used by the CNC machine. The tape file 113 is generated based on the detected file format used by the CNC machine 120 and is executed by the controller 122 to control the machine tools of the CNC machine 120; 0077 — The operator then provides the CAD geometry and 3D printing paths to the post-processor to generate tape files. The operator runs the 3D printing paths and any tool paths generated by the CAM program 112 on the CNC machine 120.];
training, by the one or more servers, a supervised machine learning model using the metadata as labeled training data to produce a trained model [0107 — machine learning models can be any of a variety of models… can be trained using various approaches, such as deep learning, perceptrons, association rules, inductive logic, clustering, maximum entropy classification, learning classification (labelled data), etc.… CAM program 112 can use unsupervised or supervised learning]; and
transmitting, by the one or more servers to at least one CNC machine of the CNC machine, model generated manufacturing process parameters and tool path parameters generated by the trained model for forming a second part [0120-0121 — Once trained, the CAM program 112 can monitor new jobs… when the operator generates the NC program for a new job, the CAM program 112 can check for previous jobs which have been run using the same or a similar set up with the same cutting tool, the same stock material, etc. (second/new part)].
But Rogers fails to clearly specify a plurality of CNC machines.
However, Shibasaki teaches receiving data from a plurality of CNC machines [0190 — data acquisition unit 22 may acquire time-series data related to the deterioration state of the drilling tool from a plurality of machine tools 1 connected via a network (not illustrated). In this case, a large amount of teacher data may be accumulated in the feature storage unit 33 in a short time].
Rogers and Shibasaki are analogous art. They relate to CNC machine tool systems, particularly involving machine learning.
Therefore at the time the invention was made, it would have been obvious to a person of ordinary skill in the art to modify the above method for automating CNC manufacturing, as taught by Rogers, by incorporating the above limitations, as taught by Shibasaki.
One of ordinary skill in the art would have been motivated to do this modification to accumulate learning/teaching data more quickly, as taught by Shibasaki [0190]. In addition, it would be obvious to one having ordinary skill in the art to simply substitute the known plurality of CNC machines of Shibasaki for the known CNC machine of Rogers for the predictable result of a method for automating CNC manufacturing of a plurality of CNC machines.
Regarding claim 2, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches transmitting is in response to an operator loading a CAD file of the second part into CAM software of a CNC control of the at least one CNC machine [0041, 0080 — software utility 124 can provide the formatted data to a remote system, such as a computer or a server for analysis; 0127 — remote analysis server 150 can generate control information and provide the control information to the CAM program 112, causing the CAM program 112 to make adjustments to the NC program; 0035-0037 — CAM program 112 allows a user 130 to interact with a model of a particular part to be manufactured by the CNC machine 120 and readily generate an NC program that is written to a tape file provided to the controller 122. The CAM program 112 can receive a 3D model with the 3D geometry of a work piece. Using the geometry, the CAM program 112 generates an NC program by assigning spindle speed and/or feed rate parameters at each point from hundreds of points that make up a tool path… program 115 receives the data defining NC programs from the CAM program 112 and translates data defining the NC programs into machine language recognized by the CNC machine 120, or post-processes, the NC programs (e.g., a tape file). The computer 110 can provide the NC program tape file 113 to the CNC machine 120 through the network 140. In order to interface with multiple types of CNCs, the CAM program 112 and the post processing program 115 can determine the file format used by the CNC machine. The tape file 113 is generated based on the detected file format used by the CNC machine 120 and is executed by the controller 122 to control the machine tools of the CNC machine 120; 0077 — The operator then provides the CAD geometry and 3D printing paths to the post-processor to generate tape files. The operator runs the 3D printing paths and any tool paths generated by the CAM program 112 on the CNC machine 120.; 0120-0121 — Once trained, the CAM program 112 can monitor new jobs… when the operator generates the NC program for a new job, the CAM program 112 can check for previous jobs which have been run using the same or a similar set up with the same cutting tool, the same stock material, etc. (second/new part) — It would, at least, have been obvious to a person of ordinary skill in the art to in order to automatically activate the transmission of the data when they are needed to manufacture the second part.].
Regarding claim 3, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches the model generated manufacturing process parameters include an identification of a CNC machine, a definition of stock material to form the second part, a setup of the CNC machine, and an identification of at least one feature of the second part [0119 — Such features include, for example, the stock material, the type of machine tool being used and characteristics of the machine tool including the make and model number, the cutting tool being used and characteristics of the cutting tool such as the geometry of the cutting tool, the material of the cutting tool, the coating used on the cutting tool, the coolant being used and characteristics of the coolant, such as the thermal conductivity, viscosity, and flow rate, the toolpath geometry and characteristics of the toolpath, such as the curvature of the toolpath, and volume of material removed at every point in the toolpath].
Regarding claim 6, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches receiving part manufacturing programs containing the metadata from the CNC machine [0035-0037 — CAM program 112 allows a user 130 to interact with a model of a particular part to be manufactured by the CNC machine 120 and readily generate an NC program that is written to a tape file provided to the controller 122. The CAM program 112 can receive a 3D model with the 3D geometry of a work piece. Using the geometry, the CAM program 112 generates an NC program by assigning spindle speed and/or feed rate parameters at each point from hundreds of points that make up a tool path… program 115 receives the data defining NC programs from the CAM program 112 and translates data defining the NC programs into machine language recognized by the CNC machine 120, or post-processes, the NC programs (e.g., a tape file). The computer 110 can provide the NC program tape file 113 to the CNC machine 120 through the network 140. In order to interface with multiple types of CNCs, the CAM program 112 and the post processing program 115 can determine the file format used by the CNC machine. The tape file 113 is generated based on the detected file format used by the CNC machine 120 and is executed by the controller 122 to control the machine tools of the CNC machine 120].
Further, Shibasaki teaches receiving data from a plurality of CNC machines [0190 — data acquisition unit 22 may acquire time-series data related to the deterioration state of the drilling tool from a plurality of machine tools 1 connected via a network (not illustrated). In this case, a large amount of teacher data may be accumulated in the feature storage unit 33 in a short time].
Regarding claim 7, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches each of the part manufacturing programs is generated by a packaging module of a CNC control of one of a CNC machine [0032, Figs. 1-3 — CNC machine 120 includes a controller 122 and an output 126; 0035-0037 — CAM program 112 allows a user 130 to interact with a model of a particular part to be manufactured by the CNC machine 120 and readily generate an NC program that is written to a tape file provided to the controller 122. The CAM program 112 can receive a 3D model with the 3D geometry of a work piece. Using the geometry, the CAM program 112 generates an NC program by assigning spindle speed and/or feed rate parameters at each point from hundreds of points that make up a tool path… program 115 receives the data defining NC programs from the CAM program 112 and translates data defining the NC programs into machine language recognized by the CNC machine 120, or post-processes, the NC programs (e.g., a tape file). The computer 110 can provide the NC program tape file 113 to the CNC machine 120 through the network 140. In order to interface with multiple types of CNCs, the CAM program 112 and the post processing program 115 can determine the file format used by the CNC machine. The tape file 113 is generated based on the detected file format used by the CNC machine 120 and is executed by the controller 122 to control the machine tools of the CNC machine 120].
Further, Shibasaki teaches a plurality of CNC machines [0190 — data acquisition unit 22 may acquire time-series data related to the deterioration state of the drilling tool from a plurality of machine tools 1 connected via a network (not illustrated). In this case, a large amount of teacher data may be accumulated in the feature storage unit 33 in a short time].
Regarding claim 9, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches the first CAD file is a 3D solid model CAD file [0035-0036 — computer program 112 can be a Computer Aided Manufacture (CAM) program which receives, as input, a model generated by a CAD program and/or a CAE program on a separate computer… CAM program 112 can receive a 3D model with the 3D geometry of a work piece].
Regarding claim 10, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches the model generated manufacturing process parameters and tool path parameters are configured to permit an operator to accept, reject or modify one or more of the parameters [0074 — The operator imports the CAD geometry and manually selects the types of strategies and parameters that should be used to machine that part; 0129 - the remote system can alert the CAM operator so that the operator is warned, and a remedy may be suggested. The CAM operator can make the final decision on any changes to the tape file.; 0119-0121 — Once trained, the CAM program 112 can monitor new jobs… when the operator generates the NC program for a new job, the CAM program 112 can check for previous jobs which have been run using the same or a similar set up with the same cutting tool, the same stock material, etc. (second/new part); 0077 — The operator then provides the CAD geometry and 3D printing paths to the post-processor to generate tape files. The operator runs the 3D printing paths and any tool paths generated by the CAM program 112 on the CNC machine 120].
Regarding claim 11, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches receiving, at the one or more servers over the network, updated metadata representing at least one of an operator rejection or modification to the one or more parameters, and training further comprises training the supervised machine learning model using the updated metadata as labeled training data [0069 — CAM program 112 is able to adjust a tool path defined in an NC program at creation or during runtime to compensate for the operating conditions unique to the particular CNC machine or job being executed. Because the cutting profile is continually updated through data gathered by the software utility 124 and provided to the CAM program 112; 0106-0107 — the CAM program 112 can compare the received data with the historical output data using one or more machine learning models… machine learning models can be any of a variety of models… can be trained using various approaches, such as deep learning, perceptrons, association rules, inductive logic, clustering, maximum entropy classification, learning classification (labelled data), etc.… CAM program 112 can use unsupervised or supervised learning].
Regarding claim 24, Rogers teaches a system for automating CNC manufacturing [0014, Figs. 1-3 — system that includes one or more computers programmed to generate a Numerical Control (NC) program to manufacture a part using a Computer Numerical Control (CNC) machine], comprising:
a CNC machine, each including a CNC control [0032, Figs. 1-3 — CNC machine 120 includes a controller 122 and an output 126]; and
one or more servers communicatively coupled to the plurality of CNC machines over a network, the one or more servers including a plurality of supervised machine learning models [0041, 0080 — software utility 124 can provide the formatted data to a remote system, such as a computer or a server for analysis; 0103 — remote analysis server 150 can include all functionalities described below with respect to the CAM program 112; 0127 — remote analysis server 150 can generate control information and provide the control information to the CAM program 112, causing the CAM program 112 to make adjustments to the NC program; 0106-0107 — the CAM program 112 can compare the received data with the historical output data using one or more machine learning models… machine learning models can be any of a variety of models… can be trained using various approaches, such as deep learning, perceptrons, association rules, inductive logic, clustering, maximum entropy classification, learning classification (labelled data), etc.… CAM program 112 can use unsupervised or supervised learning];
wherein each CNC control includes a packaging module configured to package metadata into a part manufacturing program generated by loading a first CAD file of a first part into CAM software of the CNC control and using the CAM software to define manufacturing process parameters and tool path parameters for forming the first part using the corresponding CNC machine; wherein each CNC control is configured to transmit the part manufacturing program over the network to the one or more servers [0032, Figs. 1-3 — CNC machine 120 includes a controller 122 and an output 126; 0035-0037 — CAM program 112 allows a user 130 to interact with a model of a particular part to be manufactured by the CNC machine 120 and readily generate an NC program that is written to a tape file provided to the controller 122. The CAM program 112 can receive a 3D model with the 3D geometry of a work piece. Using the geometry, the CAM program 112 generates an NC program by assigning spindle speed and/or feed rate parameters at each point from hundreds of points that make up a tool path… program 115 receives the data defining NC programs from the CAM program 112 and translates data defining the NC programs into machine language recognized by the CNC machine 120, or post-processes, the NC programs (e.g., a tape file). The computer 110 can provide the NC program tape file 113 to the CNC machine 120 through the network 140. In order to interface with multiple types of CNCs, the CAM program 112 and the post processing program 115 can determine the file format used by the CNC machine. The tape file 113 is generated based on the detected file format used by the CNC machine 120 and is executed by the controller 122 to control the machine tools of the CNC machine 120; 0077 — The operator then provides the CAD geometry and 3D printing paths to the post-processor to generate tape files. The operator runs the 3D printing paths and any tool paths generated by the CAM program 112 on the CNC machine 120.];
wherein the one or more servers is configured to use the metadata in the part manufacturing program as labeled training data to train at least one of the plurality of supervised machine learning models to produce a trained model [0106-0107 — machine learning models can be any of a variety of models… can be trained using various approaches, such as deep learning, perceptrons, association rules, inductive logic, clustering, maximum entropy classification, learning classification (labelled data), etc.… CAM program 112 can use unsupervised or supervised learning]; and
wherein the one or more servers is configured to transmit to the one CNC control model generated manufacturing process parameters and tool path parameters generated by the trained model for forming the second part [0120-0121 — Once trained, the CAM program 112 can monitor new jobs… when the operator generates the NC program for a new job, the CAM program 112 can check for previous jobs which have been run using the same or a similar set up with the same cutting tool, the same stock material, etc. (second/new part)].
Rogers fails to clearly specify responding to a second CAD file of a second part being loaded into the CAM software of one of the CNC controls by transmitting to the one CNC control model generated manufacturing process parameters. However, Rogers teaches transmitting is in response to an operator loading a CAD file of the second part into CAM software of a CNC control of the at least one CNC machine [0041, 0080 — software utility 124 can provide the formatted data to a remote system, such as a computer or a server for analysis; 0127 — remote analysis server 150 can generate control information and provide the control information to the CAM program 112, causing the CAM program 112 to make adjustments to the NC program; 0035-0037 — CAM program 112 allows a user 130 to interact with a model of a particular part to be manufactured by the CNC machine 120 and readily generate an NC program that is written to a tape file provided to the controller 122. The CAM program 112 can receive a 3D model with the 3D geometry of a work piece. Using the geometry, the CAM program 112 generates an NC program by assigning spindle speed and/or feed rate parameters at each point from hundreds of points that make up a tool path… program 115 receives the data defining NC programs from the CAM program 112 and translates data defining the NC programs into machine language recognized by the CNC machine 120, or post-processes, the NC programs (e.g., a tape file). The computer 110 can provide the NC program tape file 113 to the CNC machine 120 through the network 140. In order to interface with multiple types of CNCs, the CAM program 112 and the post processing program 115 can determine the file format used by the CNC machine. The tape file 113 is generated based on the detected file format used by the CNC machine 120 and is executed by the controller 122 to control the machine tools of the CNC machine 120; 0077 — The operator then provides the CAD geometry and 3D printing paths to the post-processor to generate tape files. The operator runs the 3D printing paths and any tool paths generated by the CAM program 112 on the CNC machine 120.; 0120-0121 — Once trained, the CAM program 112 can monitor new jobs… when the operator generates the NC program for a new job, the CAM program 112 can check for previous jobs which have been run using the same or a similar set up with the same cutting tool, the same stock material, etc. (second/new part)]. Therefore at the time the invention was made, it would have been obvious to a person of ordinary skill in the art to modify the above system for automating CNC manufacturing, as taught by Rogers, by responding to a second CAD file of a second part being loaded into the CAM software of one of the CNC controls by transmitting to the one CNC control model generated manufacturing process parameters in order to automatically activate the transmission of the data when they are needed to manufacture the second part.
Further, Rogers fails to clearly specify a plurality of CNC machines.
However, Shibasaki teaches receiving data from a plurality of CNC machines [0190 — data acquisition unit 22 may acquire time-series data related to the deterioration state of the drilling tool from a plurality of machine tools 1 connected via a network (not illustrated). In this case, a large amount of teacher data may be accumulated in the feature storage unit 33 in a short time].
Rogers and Shibasaki are analogous art. They relate to CNC machine tool systems, particularly involving machine learning.
Therefore at the time the invention was made, it would have been obvious to a person of ordinary skill in the art to modify the above system for automating CNC manufacturing, as taught by Rogers, by incorporating the above limitations, as taught by Shibasaki.
One of ordinary skill in the art would have been motivated to do this modification to accumulate learning/teaching data more quickly, as taught by Shibasaki [0190]. In addition, it would be obvious to one having ordinary skill in the art to simply substitute the known plurality of CNC machines of Shibasaki for the known CNC machine of Rogers for the predictable result of a system for automating CNC manufacturing of a plurality of CNC machines.
Regarding claim 25, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above and this claim is otherwise rejected under the same rationale as claim 3.
Regarding claim 27, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above and this claim is otherwise rejected under the same rationale as claim 10.
Regarding claim 28, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above and this claim is otherwise rejected under the same rationale as claim 11.
Claim(s) 4-5 and 26 is/are rejected under 35 U.S.C. 103 as being unpatentable over the combination of Rogers and Shibasaki in view of Stone et al. U.S. Patent No. 6274839 (hereinafter Stone).
Regarding claim 4, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches the model generated tool path parameters include a definition of at least one tool path to form the at least one feature… a specification of a type and size of the cutting tool, and a specification of cutting tool parameters [0119 — Such features include, for example… the cutting tool being used and characteristics of the cutting tool such as the geometry of the cutting tool, the material of the cutting tool, the coating used on the cutting tool, the coolant being used and characteristics of the coolant, such as the thermal conductivity, viscosity, and flow rate, the toolpath geometry and characteristics of the toolpath, such as the curvature of the toolpath, and volume of material removed at every point in the toolpath].
But the combination of Rogers and Shibasaki fails to clearly specify a definition of linking moves for a cutting tool.
However, Stone teaches a definition of linking moves for a cutting tool of the CNC machine [col. 5 line 5 - col. 6 line 28, Fig. 7 — CAM system 42 used in this method is a conventional computer aided CNC (computer numerically controlled) off-line part programming package for milling or machining applications… For complex CAD models 60 the notional cutter is driven around separate sections of the model 60 in stages. This is in a similar way to how the CAM system 42 would be used to produce a conventional machining tool path for a complex component, with the machine tool (cutter) directed to carry out rough machining first and then subsequently machining the required detail … The result of this is a number of machine tool paths 90,91 for each section 104,106 with a linking movement path 105 (linking move) between them, as shown in FIG. 7. The complete tool paths 90,91 produced in this way for complex CAD models 60 are generally simpler, and easier to produce, than producing a single path 90 for the whole complex CAD model].
Rogers, Shibasaki and Stone are analogous art. They relate to CNC machine tool systems, particularly involving CAD.
Therefore at the time the invention was made, it would have been obvious to a person of ordinary skill in the art to modify the above method for automating CNC manufacturing, as taught by the combination of Rogers and Shibasaki, by incorporating the above limitations, as taught by Stone.
One of ordinary skill in the art would have been motivated to do this modification to facilitate simpler and more easily produced tool paths, as taught by Stone [col. 6 lines 1-28].
Regarding claim 5, the combination of Rogers, Shibasaki and Stone teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches the cutting tool parameters include parameters defining at least one of step-over, peck depth, plunge type, feed rate or cutting speed of the cutting tool [0036 — CAM program 112 generates an NC program by assigning spindle speed and/or feed rate parameters at each point from hundreds of points that make up a tool path, or the path that the tip of a cutting tool follows to remove material from stock material to machine a work piece].
Regarding claim 26, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above and this claim is otherwise rejected under the same rationale as claim 4.
Claim(s) 8 is/are rejected under 35 U.S.C. 103 as being unpatentable over the combination of Rogers and Shibasaki in view of Herrman et al. U.S. Patent Publication No. 20150127480 (hereinafter Herrman).
Regarding claim 8, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches transmitting, by the one or more servers to the at least one CNC machine of the plurality of CNC machines, information for forming the second part [0120-0121 — Once trained, the CAM program 112 can monitor new jobs… when the operator generates the NC program for a new job, the CAM program 112 can check for previous jobs which have been run using the same or a similar set up with the same cutting tool, the same stock material, etc. (second/new part)].
But the combination of Rogers and Shibasaki fails to clearly specify a model generated cost estimate of forming the part.
However, Herrman teaches a model generated cost estimate of forming the part [0031-0034, Figs. 1-2 — Block S130, S140, etc. can thus analyze the virtual model at various stages throughout the virtual build to estimate a cost to manufacture one or more units of the real part, such as based on a material selection, a delivery schedule, and tolerances entered by the user into the part file or into the quoting plug-in].
Rogers, Shibasaki and Herrman are analogous art. They relate to CNC machine tool systems, particularly involving machine learning.
Therefore at the time the invention was made, it would have been obvious to a person of ordinary skill in the art to modify the above method for automating CNC manufacturing, as taught by the combination of Rogers and Shibasaki, by transmitting a model generated cost estimate of forming the part, as suggested by Herrman.
One of ordinary skill in the art would have been motivated to do this modification so that the operator is aware of the cost of the part based on the model thus enabling the operator to adjust the manufacturing process, if necessary, based on the cost estimate, e.g. to avoid manufacturing overly costly parts.
Claim(s) 12 is/are rejected under 35 U.S.C. 103 as being unpatentable over the combination of Rogers and Shibasaki in view of Sakurai et al. U.S. Patent Publication No. 20030229599 (hereinafter Sakurai).
Regarding claim 12, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches receiving information of the second part [0120-0121 — Once trained, the CAM program 112 can monitor new jobs… when the operator generates the NC program for a new job, the CAM program 112 can check for previous jobs which have been run using the same or a similar set up with the same cutting tool, the same stock material, etc. (second/new part); 0035-0037 — CAM program 112 allows a user 130 to interact with a model of a particular part to be manufactured by the CNC machine 120 and readily generate an NC program that is written to a tape file provided to the controller 122. The CAM program 112 can receive a 3D model with the 3D geometry of a work piece. Using the geometry, the CAM program 112 generates an NC program by assigning spindle speed and/or feed rate parameters at each point from hundreds of points that make up a tool path… program 115 receives the data defining NC programs from the CAM program 112 and translates data defining the NC programs into machine language recognized by the CNC machine 120, or post-processes, the NC programs (e.g., a tape file). The computer 110 can provide the NC program tape file 113 to the CNC machine 120 through the network 140. In order to interface with multiple types of CNCs, the CAM program 112 and the post processing program 115 can determine the file format used by the CNC machine. The tape file 113 is generated based on the detected file format used by the CNC machine 120 and is executed by the controller 122 to control the machine tools of the CNC machine 120].
But the combination of Rogers and Shibasaki fails to clearly specify receiving at least one of a classification of the part or an identification of an end user of the at least one of the plurality of CNC machines.
However, Sakurai teaches receiving at least one of a classification of the part or an identification of an end user of the at least one of the plurality of CNC machines [0019 — The mold estimation reference value includes a molded product coefficient defining the type of the molded product to be produced, a geometric tolerance coefficient defining the range of a geometric tolerance, a size grade coefficient defining classification of the size of the molded product, and a hardening coefficient defining whether a hardening process is required; 0138 — The NC miller has small and medium capacities, the milling machine has small and large capacities, and the plane grinder has small and large capacities… The size of the equipment used to process the mold is determined from the molded product size, the relation of which is defined in the equipment capacity selection table].
Rogers, Shibasaki and Sakurai are analogous art. They relate to CNC machine tool systems.
Therefore at the time the invention was made, it would have been obvious to a person of ordinary skill in the art to modify the above method for automating CNC manufacturing, as taught by the combination of Rogers and Shibasaki, by incorporating the above limitations, as taught by Sakurai.
One of ordinary skill in the art would have been motivated to do this modification in order to ensure that the correct size machining tool is selected, as suggested by Sakurai [0138].
Claim(s) 13-15 and 29-31 is/are rejected under 35 U.S.C. 103 as being unpatentable over the combination of Rogers and Shibasaki in view of Brown et al. U.S. Patent Publication No. 20180107186 (hereinafter Brown).
Regarding claim 13, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches generating a simulated part, by the one or more servers, using the model generated manufacturing process parameters and tool path parameters [0068-0069 —Creating specific cutting profiles tailored to each machine or job allows the CAM program 112 to accurately simulate the machining process… the cutting profile is continually updated through data gathered by the software utility 124 and provided to the CAM program 112, the cutting profile iteratively improves the accuracy of future machine simulations and NC programs];
comparing, by the one or more servers, at least one feature of the part to a corresponding feature in a CAD file of a part corresponding to the part; computing, by the one or more servers, a difference between the at least one feature and the corresponding feature; using, by the one or more servers, the difference to generate new training data [0071 — CAM program 112 is also able to determine status updates and generate and update projected finish times for a job based on the improved simulation of the machining process. In some implementations, the CNC machine 120 includes coordinate measuring machine (CMM) functionality, and can check the progress and accuracy of an NC program by measuring the dimensions of a work piece and comparing the measured dimensions to a simulated model work piece]; and
training, by the one or more servers, the supervised machine learning model using the new training data [0020 — Known data associated with a CNC machine can continually be updated using data gathered through the proposed method, and the updated data can be used to build a profile specific to the machine, improving the accuracy of future machine simulations and NC programs. Additionally, improved machining simulations facilitate more accurate projected finish times for a job].
But the combination of Rogers and Shibasaki fails to clearly specify comparing at least one feature of the simulated part to a corresponding feature in a CAD file of a part corresponding to the simulated part.
However, Brown teaches comparing at least one feature of the simulated part to a corresponding feature in a CAD file of a part corresponding to the simulated part and computing a difference between the at least one feature and the corresponding feature [0022 — All or part of method can be automatically performed by a processing system, wherein the processing system can be a manufacturing machine, a computing system local to the manufacturing facility, a computing system remote from the computing facility (e.g., a server system); 0104 — The method can optionally include validating the master toolpath based on the virtual model, which functions to verify that the master toolpath will manufacture the desired part. The validation can be performed using the master toolpath, the machine code generated based on the master toolpath, or be validated using any other suitable set of machining instructions. Validating the master toolpath preferably includes virtually simulating the effects of performing the master toolpath on a virtual billet (part stock), and comparing the virtually manufactured part with the virtual model of the desired part. The master toolpath can be validated when the dimensions of the virtually manufactured part are within a threshold tolerance of the virtual model dimensions, wherein the threshold tolerance can be specified by the user, be default tolerance levels, or be otherwise specified; 0085 — calculating the toolpath primitive for the tactic, determining the toolpath primitive using a toolpath primitive algorithm (e.g., trained neural network or other algorithm)].
Rogers, Shibasaki and Brown are analogous art. They relate to CNC machine tool systems, particularly involving machine learning.
Therefore at the time the invention was made, it would have been obvious to a person of ordinary skill in the art to modify the above method for automating CNC manufacturing, as taught by the combination of Rogers and Shibasaki, by incorporating the above limitations, as taught by Brown.
One of ordinary skill in the art would have been motivated to do this modification in order to test the proposed tool path to ensure it would result in a validly dimensioned part, as suggested by Brown [0104].
Regarding claim 14, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above.
But the combination of Rogers and Shibasaki fails to clearly specify validating, by the one or more servers, at least one parameter of the model generated manufacturing process parameters and tool path parameters by simulating cutting mechanics and/or vibrations associated with the at least one parameter.
However, Brown teaches validating, by the one or more servers, at least one parameter of the model generated manufacturing process parameters and tool path parameters by simulating cutting mechanics and/or vibrations associated with the at least one parameter [0022 — All or part of method can be automatically performed by a processing system, wherein the processing system can be a manufacturing machine, a computing system local to the manufacturing facility, a computing system remote from the computing facility (e.g., a server system); 0104 — The method can optionally include validating the master toolpath based on the virtual model, which functions to verify that the master toolpath will manufacture the desired part. The validation can be performed using the master toolpath, the machine code generated based on the master toolpath, or be validated using any other suitable set of machining instructions. Validating the master toolpath preferably includes virtually simulating the effects of performing the master toolpath on a virtual billet (part stock), and comparing the virtually manufactured part with the virtual model of the desired part. The master toolpath can be validated when the dimensions of the virtually manufactured part are within a threshold tolerance of the virtual model dimensions, wherein the threshold tolerance can be specified by the user, be default tolerance levels, or be otherwise specified; 0085 — calculating the toolpath primitive for the tactic, determining the toolpath primitive using a toolpath primitive algorithm (e.g., trained neural network or other algorithm)].
Rogers, Shibasaki and Brown are analogous art. They relate to CNC machine tool systems, particularly involving machine learning.
Therefore at the time the invention was made, it would have been obvious to a person of ordinary skill in the art to modify the above method for automating CNC manufacturing, as taught by the combination of Rogers and Shibasaki, by incorporating the above limitations, as taught by Brown.
One of ordinary skill in the art would have been motivated to do this modification in order to test the proposed tool path to ensure it would result in a validly dimensioned part, as suggested by Brown [0104].
Regarding claim 15, the combination of Rogers, Shibasaki and Brown teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches allowable forces [0080, 0091 — If the initial engagement between the cutting tool and the stock is too fast, the forces on the machine tool will be very high and there can be excessive wear on the cutting tool. The cut can however continue without causing catastrophic damage, and it is possible for the machine tool operator may ignore the transient problem. Using the data collected and a machine learning algorithm, the remote analysis server 150 can predict such problem areas of the toolpath and suggest more gradual ramps into the stock which will be less damaging] and training, by the one or more servers, the supervised machine learning model using the at least one error as labeled training data [0069 — CAM program 112 is able to adjust a tool path defined in an NC program at creation or during runtime to compensate for the operating conditions unique to the particular CNC machine or job being executed. Because the cutting profile is continually updated through data gathered by the software utility 124 and provided to the CAM program 112; 0106-0107 — machine learning models can be any of a variety of models… can be trained using various approaches, such as deep learning, perceptrons, association rules, inductive logic, clustering, maximum entropy classification, learning classification (labelled data), etc.… CAM program 112 can use unsupervised or supervised learning].
Further, Brown teaches identifying, by the one or more servers, at least one error associated with the at least one parameter [0022 — All or part of method can be automatically performed by a processing system, wherein the processing system can be a manufacturing machine, a computing system local to the manufacturing facility, a computing system remote from the computing facility (e.g., a server system); 0104 — The method can optionally include validating the master toolpath based on the virtual model, which functions to verify that the master toolpath will manufacture the desired part. The validation can be performed using the master toolpath, the machine code generated based on the master toolpath, or be validated using any other suitable set of machining instructions. Validating the master toolpath preferably includes virtually simulating the effects of performing the master toolpath on a virtual billet (part stock), and comparing the virtually manufactured part with the virtual model of the desired part. The master toolpath can be validated when the dimensions of the virtually manufactured part are within a threshold tolerance of the virtual model dimensions, wherein the threshold tolerance can be specified by the user, be default tolerance levels, or be otherwise specified; 0085 — calculating the toolpath primitive for the tactic, determining the toolpath primitive using a toolpath primitive algorithm (e.g., trained neural network or other algorithm)].
Therefore at the time the invention was made, it would have been obvious to a person of ordinary skill in the art to modify the above method for automating CNC manufacturing, as taught by the combination of Rogers and Shibasaki, by incorporating the above limitations, as taught by Brown.
One of ordinary skill in the art would have been motivated to do this modification in order to test the proposed tool path to ensure it would result in a validly dimensioned part, as suggested by Brown [0104].
Regarding claim 29, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above and this claim is otherwise rejected under the same rationale as claim 13.
Regarding claim 30, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above and this claim is otherwise rejected under the same rationale as claim 14.
Regarding claim 31, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above and this claim is otherwise rejected under the same rationale as claim 15.
Claim(s) 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over the combination of Rogers and Shibasaki in view of Haushalter U.S. Patent Publication No. 20100046825 (hereinafter Haushalter).
Regarding claim 16, the combination of Rogers and Shibasaki teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches the metadata includes modifications of geometric and topological data of the first part [0035-0037 — CAM program 112 allows a user 130 to interact with a model of a particular part to be manufactured by the CNC machine 120 and readily generate an NC program that is written to a tape file provided to the controller 122. The CAM program 112 can receive a 3D model with the 3D geometry of a work piece. Using the geometry, the CAM program 112 generates an NC program by assigning spindle speed and/or feed rate parameters at each point from hundreds of points that make up a tool path… program 115 receives the data defining NC programs from the CAM program 112 and translates data defining the NC programs into machine language recognized by the CNC machine 120, or post-processes, the NC programs (e.g., a tape file). The computer 110 can provide the NC program tape file 113 to the CNC machine 120 through the network 140. In order to interface with multiple types of CNCs, the CAM program 112 and the post processing program 115 can determine the file format used by the CNC machine. The tape file 113 is generated based on the detected file format used by the CNC machine 120 and is executed by the controller 122 to control the machine tools of the CNC machine 120].
But the combination of Rogers and Shibasaki fails to clearly specify the metadata includes randomized modifications of geometric and topological data of the first part to prevent reverse-engineering of the first part.
However, Haushalter teaches randomized modifications of geometric and topological data of the first part to prevent reverse-engineering of the first part [0023-0026 — Because each randomly and naturally occurring defect has it own identifying size, shape location within the feature, and proximity to other defects, the probability that another stamp will have a defect with the exact same size, shape, location, and proximity to other defects is virtually impossible. Accordingly, each stamp is virtually impossible to exactly replicate or reverse engineer. When a stamp is used to mark the object, its identifying traits or defects will also emboss the surface of the object and may be read or otherwise used to identify, authenticate, and/or ascribe something to the object].
Rogers, Shibasaki and Haushalter are analogous art. They relate to manufacturing systems, particularly involving CAD, and Haushalter is particularly pertinent to the reverse-engineering problem being solved.
Therefore at the time the invention was made, it would have been obvious to a person of ordinary skill in the art to modify the above method for automating CNC manufacturing, as taught by the combination of Rogers and Shibasaki, by including randomized modifications of geometric and topological data of the first part, as taught by Haushalter, in the metadata of the part.
One of ordinary skill in the art would have been motivated to do this modification to prevent reverse-engineering of the first part, as suggested by Haushalter [0026].
Claim(s) 17-18, 20-21 and 32 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rogers.
Regarding claim 17, Rogers teaches a method for automating CNC manufacturing [0005 — a method including receiving, at a computer program, output data from a Computer Numerical Control (CNC) machine that receives instructions of a Numerical Control (NC) program at a computer of the CNC machine, the instructions causing the CNC machine to i) manufacture a part], comprising:
capturing, by a CNC control of a CNC machine, metadata generated by loading a first CAD file of a first part into CAM software of the CNC control and using the CAM software to define manufacturing process parameters and tool path parameters for forming the first part using the CNC machine [0035-0037 — CAM program 112 allows a user 130 to interact with a model of a particular part to be manufactured by the CNC machine 120 and readily generate an NC program that is written to a tape file provided to the controller 122. The CAM program 112 can receive a 3D model with the 3D geometry of a work piece. Using the geometry, the CAM program 112 generates an NC program by assigning spindle speed and/or feed rate parameters at each point from hundreds of points that make up a tool path… program 115 receives the data defining NC programs from the CAM program 112 and translates data defining the NC programs into machine language recognized by the CNC machine 120, or post-processes, the NC programs (e.g., a tape file). The computer 110 can provide the NC program tape file 113 to the CNC machine 120 through the network 140. In order to interface with multiple types of CNCs, the CAM program 112 and the post processing program 115 can determine the file format used by the CNC machine. The tape file 113 is generated based on the detected file format used by the CNC machine 120 and is executed by the controller 122 to control the machine tools of the CNC machine 120; 0077 — The operator then provides the CAD geometry and 3D printing paths to the post-processor to generate tape files. The operator runs the 3D printing paths and any tool paths generated by the CAM program 112 on the CNC machine 120.];
packaging, by a packaging module of the CNC control, the metadata into a part manufacturing program [0032, Figs. 1-3 — CNC machine 120 includes a controller 122 and an output 126; 0035-0037 — CAM program 112 allows a user 130 to interact with a model of a particular part to be manufactured by the CNC machine 120 and readily generate an NC program that is written to a tape file provided to the controller 122. The CAM program 112 can receive a 3D model with the 3D geometry of a work piece. Using the geometry, the CAM program 112 generates an NC program by assigning spindle speed and/or feed rate parameters at each point from hundreds of points that make up a tool path… program 115 receives the data defining NC programs from the CAM program 112 and translates data defining the NC programs into machine language recognized by the CNC machine 120, or post-processes, the NC programs (e.g., a tape file). The computer 110 can provide the NC program tape file 113 to the CNC machine 120 through the network 140. In order to interface with multiple types of CNCs, the CAM program 112 and the post processing program 115 can determine the file format used by the CNC machine. The tape file 113 is generated based on the detected file format used by the CNC machine 120 and is executed by the controller 122 to control the machine tools of the CNC machine 120];
transmitting, by the CNC control, the part manufacturing program over a network to one or more servers which use the metadata in the part manufacturing program as labeled training data to train a supervised machine learning model to produce a trained model [0106-0107 — machine learning models can be any of a variety of models… can be trained using various approaches, such as deep learning, perceptrons, association rules, inductive logic, clustering, maximum entropy classification, learning classification (labelled data), etc.… CAM program 112 can use unsupervised or supervised learning; 0041, 0080 — software utility 124 can provide the formatted data to a remote system, such as a computer or a server for analysis; 0103 — remote analysis server 150 can include all functionalities described below with respect to the CAM program 112; 0127 — remote analysis server 150 can generate control information and provide the control information to the CAM program 112, causing the CAM program 112 to make adjustments to the NC program; 0103 — remote analysis server 150 can include all functionalities described below with respect to the CAM program 112];
receiving, by the CAM software of the CNC control, a second CAD file of a second part [0035-0037 — CAM program 112 allows a user 130 to interact with a model of a particular part to be manufactured by the CNC machine 120 and readily generate an NC program that is written to a tape file provided to the controller 122. The CAM program 112 can receive a 3D model with the 3D geometry of a work piece. Using the geometry, the CAM program 112 generates an NC program by assigning spindle speed and/or feed rate parameters at each point from hundreds of points that make up a tool path… program 115 receives the data defining NC programs from the CAM program 112 and translates data defining the NC programs into machine language recognized by the CNC machine 120, or post-processes, the NC programs (e.g., a tape file). The computer 110 can provide the NC program tape file 113 to the CNC machine 120 through the network 140. In order to interface with multiple types of CNCs, the CAM program 112 and the post processing program 115 can determine the file format used by the CNC machine. The tape file 113 is generated based on the detected file format used by the CNC machine 120 and is executed by the controller 122 to control the machine tools of the CNC machine 120; 0077 — The operator then provides the CAD geometry and 3D printing paths to the post-processor to generate tape files. The operator runs the 3D printing paths and any tool paths generated by the CAM program 112 on the CNC machine 120; 0120-0121 — Once trained, the CAM program 112 can monitor new jobs… when the operator generates the NC program for a new job, the CAM program 112 can check for previous jobs which have been run using the same or a similar set up with the same cutting tool, the same stock material, etc. (second/new part)]; and
in response to receiving the second CAD file, receiving, at the CNC control, model generated manufacturing process parameters and tool path parameters generated by the trained model for forming the second part [0120-0121 — Once trained, the CAM program 112 can monitor new jobs… when the operator generates the NC program for a new job, the CAM program 112 can check for previous jobs which have been run using the same or a similar set up with the same cutting tool, the same stock material, etc. (second/new part)].
Rogers fails to clearly specify in response to receiving the second CAD file, receiving, at the CNC control, model generated manufacturing process parameters and tool path parameters. However, Rogers teaches transmitting/receiving is in response to an operator loading a CAD file of the second part into CAM software of a CNC control of the at least one CNC machine [0041, 0080 — software utility 124 can provide the formatted data to a remote system, such as a computer or a server for analysis; 0127 — remote analysis server 150 can generate control information and provide the control information to the CAM program 112, causing the CAM program 112 to make adjustments to the NC program; 0035-0037 — CAM program 112 allows a user 130 to interact with a model of a particular part to be manufactured by the CNC machine 120 and readily generate an NC program that is written to a tape file provided to the controller 122. The CAM program 112 can receive a 3D model with the 3D geometry of a work piece. Using the geometry, the CAM program 112 generates an NC program by assigning spindle speed and/or feed rate parameters at each point from hundreds of points that make up a tool path… program 115 receives the data defining NC programs from the CAM program 112 and translates data defining the NC programs into machine language recognized by the CNC machine 120, or post-processes, the NC programs (e.g., a tape file). The computer 110 can provide the NC program tape file 113 to the CNC machine 120 through the network 140. In order to interface with multiple types of CNCs, the CAM program 112 and the post processing program 115 can determine the file format used by the CNC machine. The tape file 113 is generated based on the detected file format used by the CNC machine 120 and is executed by the controller 122 to control the machine tools of the CNC machine 120; 0077 — The operator then provides the CAD geometry and 3D printing paths to the post-processor to generate tape files. The operator runs the 3D printing paths and any tool paths generated by the CAM program 112 on the CNC machine 120.; 0120-0121 — Once trained, the CAM program 112 can monitor new jobs… when the operator generates the NC program for a new job, the CAM program 112 can check for previous jobs which have been run using the same or a similar set up with the same cutting tool, the same stock material, etc. (second/new part)]. Therefore at the time the invention was made, it would have been obvious to a person of ordinary skill in the art to modify the above system for automating CNC manufacturing, as taught by Rogers, by in response to receiving the second CAD file, receiving, at the CNC control, model generated manufacturing process parameters and tool path parameters in order to automatically activate the transmission of the data when they are needed to manufacture the second part.
Regarding claim 18, Rogers teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches the model generated manufacturing process parameters include an identification of a CNC machine, a definition of stock material to form the second part, a setup of the CNC machine, and an identification of at least one feature of the second part [0119 — Such features include, for example, the stock material, the type of machine tool being used and characteristics of the machine tool including the make and model number, the cutting tool being used and characteristics of the cutting tool such as the geometry of the cutting tool, the material of the cutting tool, the coating used on the cutting tool, the coolant being used and characteristics of the coolant, such as the thermal conductivity, viscosity, and flow rate, the toolpath geometry and characteristics of the toolpath, such as the curvature of the toolpath, and volume of material removed at every point in the toolpath].
Regarding claim 20, Rogers teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches the model generated manufacturing process parameters and tool path parameters are configured to permit an operator to accept, reject or modify one or more of the parameters [0074 — The operator imports the CAD geometry and manually selects the types of strategies and parameters that should be used to machine that part; 0129 - the remote system can alert the CAM operator so that the operator is warned, and a remedy may be suggested. The CAM operator can make the final decision on any changes to the tape file.; 0119-0121 — Once trained, the CAM program 112 can monitor new jobs… when the operator generates the NC program for a new job, the CAM program 112 can check for previous jobs which have been run using the same or a similar set up with the same cutting tool, the same stock material, etc. (second/new part); 0077 — The operator then provides the CAD geometry and 3D printing paths to the post-processor to generate tape files. The operator runs the 3D printing paths and any tool paths generated by the CAM program 112 on the CNC machine 120].
Regarding claim 21, Rogers teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches transmitting, by the CNC control over the network, updated metadata representing at least one of an operator rejection or modification to the one or more parameters for use by the one or more servers to further train the supervised machine learning model [0069 — CAM program 112 is able to adjust a tool path defined in an NC program at creation or during runtime to compensate for the operating conditions unique to the particular CNC machine or job being executed. Because the cutting profile is continually updated through data gathered by the software utility 124 and provided to the CAM program 112; 0106-0107 — the CAM program 112 can compare the received data with the historical output data using one or more machine learning models… machine learning models can be any of a variety of models… can be trained using various approaches, such as deep learning, perceptrons, association rules, inductive logic, clustering, maximum entropy classification, learning classification (labelled data), etc.… CAM program 112 can use unsupervised or supervised learning; 0103 — remote analysis server 150 can include all functionalities described below with respect to the CAM program 112].
Regarding claim 32, Rogers teaches a system for automating CNC manufacturing [0014, Figs. 1-3 — system that includes one or more computers programmed to generate a Numerical Control (NC) program to manufacture a part using a Computer Numerical Control (CNC) machine], comprising:
a CNC machine including a CNC control [0032, Figs. 1-3 — CNC machine 120 includes a controller 122 and an output 126]; and
one or more remote computing devices communicatively coupled to the CNC control over a network, the CNC control and/or the one or more remote computing devices including a plurality of supervised machine learning models [0041, 0080 — software utility 124 can provide the formatted data to a remote system, such as a computer or a server for analysis; 0103 — remote analysis server 150 can include all functionalities described below with respect to the CAM program 112; 0127 — remote analysis server 150 can generate control information and provide the control information to the CAM program 112, causing the CAM program 112 to make adjustments to the NC program; 0106-0107 — the CAM program 112 can compare the received data with the historical output data using one or more machine learning models… machine learning models can be any of a variety of models… can be trained using various approaches, such as deep learning, perceptrons, association rules, inductive logic, clustering, maximum entropy classification, learning classification (labelled data), etc.… CAM program 112 can use unsupervised or supervised learning];
wherein the CNC control is configured to extract metadata generated by loading a first CAD file of a first part into CAM software of the CNC control and using the CAM software to define manufacturing process parameters and tool path parameters for forming the first part using the CNC machine, the metadata being packaged as a part manufacturing program; wherein the CNC control is configured to transmit the part manufacturing program over the network to the one or more remote computing devices [0032, Figs. 1-3 — CNC machine 120 includes a controller 122 and an output 126; 0035-0037 — CAM program 112 allows a user 130 to interact with a model of a particular part to be manufactured by the CNC machine 120 and readily generate an NC program that is written to a tape file provided to the controller 122. The CAM program 112 can receive a 3D model with the 3D geometry of a work piece. Using the geometry, the CAM program 112 generates an NC program by assigning spindle speed and/or feed rate parameters at each point from hundreds of points that make up a tool path… program 115 receives the data defining NC programs from the CAM program 112 and translates data defining the NC programs into machine language recognized by the CNC machine 120, or post-processes, the NC programs (e.g., a tape file). The computer 110 can provide the NC program tape file 113 to the CNC machine 120 through the network 140. In order to interface with multiple types of CNCs, the CAM program 112 and the post processing program 115 can determine the file format used by the CNC machine. The tape file 113 is generated based on the detected file format used by the CNC machine 120 and is executed by the controller 122 to control the machine tools of the CNC machine 120; 0077 — The operator then provides the CAD geometry and 3D printing paths to the post-processor to generate tape files. The operator runs the 3D printing paths and any tool paths generated by the CAM program 112 on the CNC machine 120.];
wherein the CNC control and/or the one or more remote computing devices is configured to use the metadata in the part manufacturing program as labeled training data to train at least one of the plurality of supervised machine learning models to produce a trained model [0106-0107 — machine learning models can be any of a variety of models… can be trained using various approaches, such as deep learning, perceptrons, association rules, inductive logic, clustering, maximum entropy classification, learning classification (labelled data), etc.… CAM program 112 can use unsupervised or supervised learning]; and
wherein the CNC control and/or the one or more remote computing devices is configured to load a second CAD file of a second part into the CAM software of the CNC control to access model generated manufacturing process parameters and tool path parameters generated by the trained model for forming the second part [0120-0121 — Once trained, the CAM program 112 can monitor new jobs… when the operator generates the NC program for a new job, the CAM program 112 can check for previous jobs which have been run using the same or a similar set up with the same cutting tool, the same stock material, etc. (second/new part)].
Rogers fails to clearly specify respond to a second CAD file of a second part being loaded into the CAM software of the CNC control by accessing model generated manufacturing process parameters and tool path parameters generated by the trained model for forming the second part. However, Rogers teaches responding to an operator loading a CAD file of the second part into CAM software of a CNC control of the at least one CNC machine [0041, 0080 — software utility 124 can provide the formatted data to a remote system, such as a computer or a server for analysis; 0127 — remote analysis server 150 can generate control information and provide the control information to the CAM program 112, causing the CAM program 112 to make adjustments to the NC program; 0035-0037 — CAM program 112 allows a user 130 to interact with a model of a particular part to be manufactured by the CNC machine 120 and readily generate an NC program that is written to a tape file provided to the controller 122. The CAM program 112 can receive a 3D model with the 3D geometry of a work piece. Using the geometry, the CAM program 112 generates an NC program by assigning spindle speed and/or feed rate parameters at each point from hundreds of points that make up a tool path… program 115 receives the data defining NC programs from the CAM program 112 and translates data defining the NC programs into machine language recognized by the CNC machine 120, or post-processes, the NC programs (e.g., a tape file). The computer 110 can provide the NC program tape file 113 to the CNC machine 120 through the network 140. In order to interface with multiple types of CNCs, the CAM program 112 and the post processing program 115 can determine the file format used by the CNC machine. The tape file 113 is generated based on the detected file format used by the CNC machine 120 and is executed by the controller 122 to control the machine tools of the CNC machine 120; 0077 — The operator then provides the CAD geometry and 3D printing paths to the post-processor to generate tape files. The operator runs the 3D printing paths and any tool paths generated by the CAM program 112 on the CNC machine 120.; 0120-0121 — Once trained, the CAM program 112 can monitor new jobs… when the operator generates the NC program for a new job, the CAM program 112 can check for previous jobs which have been run using the same or a similar set up with the same cutting tool, the same stock material, etc. (second/new part)]. Therefore at the time the invention was made, it would have been obvious to a person of ordinary skill in the art to modify the above system for automating CNC manufacturing, as taught by Rogers, by responding to a second CAD file of a second part being loaded into the CAM software of the CNC control by accessing model generated manufacturing process parameters and tool path parameters generated by the trained model for forming the second part in order to automatically generate the data when they are needed to manufacture the second part.
Claim(s) 19 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rogers in view of Stone.
Regarding claim 19, Rogers teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches the model generated tool path parameters include a definition of at least one tool path to form the at least one feature… a specification of a type and size of the cutting tool, and a specification of cutting tool parameters [0119 — Such features include, for example… the cutting tool being used and characteristics of the cutting tool such as the geometry of the cutting tool, the material of the cutting tool, the coating used on the cutting tool, the coolant being used and characteristics of the coolant, such as the thermal conductivity, viscosity, and flow rate, the toolpath geometry and characteristics of the toolpath, such as the curvature of the toolpath, and volume of material removed at every point in the toolpath].
But Rogers fails to clearly specify a definition of linking moves for a cutting tool.
However, Stone teaches a definition of linking moves for a cutting tool of the CNC machine [col. 5 line 5 - col. 6 line 28, Fig. 7 — CAM system 42 used in this method is a conventional computer aided CNC (computer numerically controlled) off-line part programming package for milling or machining applications… For complex CAD models 60 the notional cutter is driven around separate sections of the model 60 in stages. This is in a similar way to how the CAM system 42 would be used to produce a conventional machining tool path for a complex component, with the machine tool (cutter) directed to carry out rough machining first and then subsequently machining the required detail … The result of this is a number of machine tool paths 90,91 for each section 104,106 with a linking movement path 105 (linking move) between them, as shown in FIG. 7. The complete tool paths 90,91 produced in this way for complex CAD models 60 are generally simpler, and easier to produce, than producing a single path 90 for the whole complex CAD model].
Rogers and Stone are analogous art. They relate to CNC machine tool systems, particularly involving CAD.
Therefore at the time the invention was made, it would have been obvious to a person of ordinary skill in the art to modify the above method for automating CNC manufacturing, as taught by Rogers, by incorporating the above limitations, as taught by Stone.
One of ordinary skill in the art would have been motivated to do this modification to facilitate simpler and more easily produced tool paths, as taught by Stone [col. 6 lines 1-28].
Claim(s) 22 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rogers in view of Brown.
Regarding claim 22, Rogers teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches generating a simulated part, by the CNC control, using the model generated manufacturing process parameters and tool path parameters [0068-0069 —Creating specific cutting profiles tailored to each machine or job allows the CAM program 112 to accurately simulate the machining process… the cutting profile is continually updated through data gathered by the software utility 124 and provided to the CAM program 112, the cutting profile iteratively improves the accuracy of future machine simulations and NC programs];
comparing, by CNC control, at least one feature of the part to a corresponding feature in a CAD file of a part corresponding to the part; computing, by CNC control, a difference between the at least one feature and the corresponding feature; using, by the CNC control, the different to generate new training data [0071 — CAM program 112 is also able to determine status updates and generate and update projected finish times for a job based on the improved simulation of the machining process. In some implementations, the CNC machine 120 includes coordinate measuring machine (CMM) functionality, and can check the progress and accuracy of an NC program by measuring the dimensions of a work piece and comparing the measured dimensions to a simulated model work piece]; and
using, by the CNC control, the different to generate new training data; and transmitting, by the CNC control to the one or more servers over the network, the new training data to train the supervised machine learning model [0020 — Known data associated with a CNC machine can continually be updated using data gathered through the proposed method, and the updated data can be used to build a profile specific to the machine, improving the accuracy of future machine simulations and NC programs. Additionally, improved machining simulations facilitate more accurate projected finish times for a job; 0106-0107 — machine learning models can be any of a variety of models… can be trained using various approaches, such as deep learning, perceptrons, association rules, inductive logic, clustering, maximum entropy classification, learning classification (labelled data), etc.… CAM program 112 can use unsupervised or supervised learning; 0041, 0080 — software utility 124 can provide the formatted data to a remote system, such as a computer or a server for analysis; 0103 — remote analysis server 150 can include all functionalities described below with respect to the CAM program 112; 0127 — remote analysis server 150 can generate control information and provide the control information to the CAM program 112, causing the CAM program 112 to make adjustments to the NC program; 0103 — remote analysis server 150 can include all functionalities described below with respect to the CAM program 112].
But Rogers fails to clearly specify comparing at least one feature of the simulated part to a corresponding feature in a CAD file of a part corresponding to the simulated part.
However, Brown teaches comparing at least one feature of the simulated part to a corresponding feature in a CAD file of a part corresponding to the simulated part and computing a difference between the at least one feature and the corresponding feature [0022 — All or part of method can be automatically performed by a processing system, wherein the processing system can be a manufacturing machine, a computing system local to the manufacturing facility, a computing system remote from the computing facility (e.g., a server system); 0104 — The method can optionally include validating the master toolpath based on the virtual model, which functions to verify that the master toolpath will manufacture the desired part. The validation can be performed using the master toolpath, the machine code generated based on the master toolpath, or be validated using any other suitable set of machining instructions. Validating the master toolpath preferably includes virtually simulating the effects of performing the master toolpath on a virtual billet (part stock), and comparing the virtually manufactured part with the virtual model of the desired part. The master toolpath can be validated when the dimensions of the virtually manufactured part are within a threshold tolerance of the virtual model dimensions, wherein the threshold tolerance can be specified by the user, be default tolerance levels, or be otherwise specified; 0085 — calculating the toolpath primitive for the tactic, determining the toolpath primitive using a toolpath primitive algorithm (e.g., trained neural network or other algorithm)].
Rogers and Brown are analogous art. They relate to CNC machine tool systems, particularly involving machine learning.
Therefore at the time the invention was made, it would have been obvious to a person of ordinary skill in the art to modify the above method for automating CNC manufacturing, as taught by Rogers, by incorporating the above limitations, as taught by Brown.
One of ordinary skill in the art would have been motivated to do this modification in order to test the proposed tool path to ensure it would result in a validly dimensioned part, as suggested by Brown [0104].
Claim(s) 23 is/are rejected under 35 U.S.C. 103 as being unpatentable over Rogers in view of Haushalter.
Regarding claim 23, Rogers teaches all the limitations of the base claims as outlined above.
Further, Rogers teaches the metadata includes modifications of geometric and topological data of the first part [0035-0037 — CAM program 112 allows a user 130 to interact with a model of a particular part to be manufactured by the CNC machine 120 and readily generate an NC program that is written to a tape file provided to the controller 122. The CAM program 112 can receive a 3D model with the 3D geometry of a work piece. Using the geometry, the CAM program 112 generates an NC program by assigning spindle speed and/or feed rate parameters at each point from hundreds of points that make up a tool path… program 115 receives the data defining NC programs from the CAM program 112 and translates data defining the NC programs into machine language recognized by the CNC machine 120, or post-processes, the NC programs (e.g., a tape file). The computer 110 can provide the NC program tape file 113 to the CNC machine 120 through the network 140. In order to interface with multiple types of CNCs, the CAM program 112 and the post processing program 115 can determine the file format used by the CNC machine. The tape file 113 is generated based on the detected file format used by the CNC machine 120 and is executed by the controller 122 to control the machine tools of the CNC machine 120].
But Rogers fails to clearly specify the metadata includes randomized modifications of geometric and topological data of the first part to prevent reverse-engineering of the first part.
However, Haushalter teaches randomized modifications of geometric and topological data of the first part to prevent reverse-engineering of the first part [0023-0026 — Because each randomly and naturally occurring defect has it own identifying size, shape location within the feature, and proximity to other defects, the probability that another stamp will have a defect with the exact same size, shape, location, and proximity to other defects is virtually impossible. Accordingly, each stamp is virtually impossible to exactly replicate or reverse engineer. When a stamp is used to mark the object, its identifying traits or defects will also emboss the surface of the object and may be read or otherwise used to identify, authenticate, and/or ascribe something to the object].
Rogers and Haushalter are analogous art. They relate to manufacturing systems, particularly involving CAD, and Haushalter is particularly pertinent to the reverse-engineering problem being solved.
Therefore at the time the invention was made, it would have been obvious to a person of ordinary skill in the art to modify the above method for automating CNC manufacturing, as taught by Rogers, by including randomized modifications of geometric and topological data of the first part, as taught by Haushalter, in the metadata of the part.
One of ordinary skill in the art would have been motivated to do this modification to prevent reverse-engineering of the first part, as suggested by Haushalter [0026].
Citation of Pertinent Prior Art
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Anand et al. U.S. Patent Publication No. 20170372480 discloses systems, methods, and media for pre-processing and post-processing in additive manufacturing involving topological optimization.
Note that any citations to specific, pages, columns, lines, or figures in the prior art references and any interpretation of the reference should not be considered to be limiting in any way. A reference is relevant for all it contains and may be relied upon for all that it would have reasonably suggested to one having ordinary skill in the art. See MPEP 2123.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BERNARD G. LINDSAY whose telephone number is (571)270-0665. The examiner can normally be reached Monday through Friday from 8:30 AM to 5:30 PM EST.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Mohammad Ali can be reached on (571)272-4105. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of an application may be obtained from Patent Center. Status information for published applications may be obtained from Patent Center. Status information for unpublished applications is available through Patent Center for authorized users only. Should you have questions about access to Patent Center, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free).
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant may call the examiner or use the USPTO Automated Interview Request (AIR) Form at https://www.uspto.gov/patents/uspto-automated- interview-request-air-form.
/BERNARD G LINDSAY/
Primary Examiner, Art Unit 2119