Prosecution Insights
Last updated: July 17, 2026
Application No. 18/363,647

METHODS FOR GENERATING AN INTEGRATED LIST OF EXECUTABLE INSTRUCTIONS USING DISPARATE SOFTWARE PACKAGES AND RELATED SYSTEMS

Final Rejection §102
Filed
Aug 01, 2023
Examiner
FOLLANSBEE, YVONNE TRANG
Art Unit
2117
Tech Center
2100 — Computer Architecture & Software
Assignee
Northrop Grumman Systems Corporation
OA Round
2 (Final)
55%
Grant Probability
Moderate
3-4
OA Rounds
1m
Est. Remaining
81%
With Interview

Examiner Intelligence

Grants 55% of resolved cases
55%
Career Allowance Rate
62 granted / 112 resolved
At TC average
Strong +26% interview lift
Without
With
+25.9%
Interview Lift
resolved cases with interview
Typical timeline
3y 1m
Avg Prosecution
23 currently pending
Career history
141
Total Applications
across all art units

Statute-Specific Performance

§101
2.7%
-37.3% vs TC avg
§103
85.4%
+45.4% vs TC avg
§102
10.0%
-30.0% vs TC avg
§112
1.6%
-38.4% vs TC avg
Black line = Tech Center average estimate • Based on career data from 112 resolved cases

Office Action

§102
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 . Response to Arguments Applicant's arguments filed 3/30/26 have been fully considered but they are not persuasive. Regarding the 101 rejection Applicant argues “Jones, however, does not teach any first and second software package that generate instructions to respectively control first and second manufacturing tools. Jones teaches forming machining that performs part fabrication 60. Jones, however, does not teach any separate machine tools of the forming machine which are controlled separately by software packages… Moreover, Jones teaches to retrieve first and second code features. The feature codes, however are not related to operations of separate tools of the forming machine.” Examiner disagrees and notes that the programming agent 46 is interpreted as the integration software package, and the first software package is interpreted as the first machining code block (software instruction packages), and the second software package is interpreted as the second machining code block. The programming agent merges the machining code block into a unified code block which is interpreted as integrating. Additionally, Jones explicitly says blocks of machining code are directed to different forming machines giving an example of one being a NC machine, and another being handling robot. Support is in Jones [0067] retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part, deriving 18 may include assembling a unified machining code block from the first machining code block and the second machining code block, [0027] Machining code generally includes instructions that describe the configuration, operation, and/or processing of the forming machine, what tools to use, the tool setup, and the trajectories of the tools (toolpaths). Machining code may include all or a portion of the instructions to make a part. For example, different blocks of machining code may direct the fabrication of different features of a part. Machining code may be directed to a forming machine generally, may be directed to components of a forming machine, and/or may be directed to different forming machines. For example, one type of machining code may control an NC machine while another type of machining code may control a materials-handling robot, [0028] The machining strategy includes a sequence of one or more machining operations that, when performed in order, on the targeted forming machine, with the specified tools, raw materials, workpiece, and/or fixtures, create the formed part. Machining code that expresses, describes, and/or instructs a machining strategy is referred to as machining strategy code. Examiner suggest further clarifying claim language to differentiate applicants integration software package from Jones’s programming agent and machining code blocks. Claim Rejections - 35 USC § 102 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 (i.e., changing from AIA to pre-AIA ) 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 the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action: A person shall be entitled to a patent unless – (a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention. Claim(s) 1-20 are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Jones et al. (US10466681, note a copy from Espacenet was used that provided paragraph numbers). Regarding claim 1, Jones teaches A method comprising: receiving design inputs, via an integration software package, for a pre-determined machine-driven process for manufacturing an article by using a plurality of manufacturing tools ([0008] receiving an input representation (such as a 3D model) of the designated part, [0088] Programming system 40 includes a group of system modules that may interact with the user to perform the task of fabricating a part. System modules also may be referred to as agents, programs, processes, procedures, functions, and/or routines. System modules include a programming agent 46 , a search agent 48 , and a machining knowledge database 50 , and typically include an archive 52 and a controller 54 . Generally, the system modules are control logic and/or data stored in the programming system 40, [0023] Forming machines are configured to operate one or more tools to form the part. Additionally, forming machines may include one or more other, typically automated, components such as chucks, spindles, stages, indexers, trunnions, carousels, robotic arms, cooling systems, venting systems, and/or waste collection systems. Forming machines may be, and/or may include, assembled machines, such as NC machines and/or 3D printers, and may be an assemblage of one or more such machines and interconnecting components (e.g., materials handling components); providing the design inputs, by the integration software package, to a first software package and a second software package ([0047] As shown in FIG. 1, methods 10 include receiving 12 the input representation of the designated part. Receiving 12 may include receiving the input representation directly or indirectly from the user. Receiving 12 may include accessing, identifying, and/or creating the input representation. For example, the user may select an input representation from a range of choices, and a computerized system (e.g., programming system 40 as shown in FIG. 3 and described further herein) may receive the result of the selection. As another example, the computerized system may monitor user actions and/or a file system that receives input representations of parts to be fabricated. When the computerized system determines the user has created and/or stored a sufficient input representation, the computerized system may receive the input representation (e.g., by accessing and/or identifying, [0088] Programming system 40 includes a group of system modules that may interact with the user to perform the task of fabricating a part. System modules also may be referred to as agents, programs, processes, procedures, functions, and/or routines. System modules include a programming agent 46 , a search agent 48 , and a machining knowledge database 50 , and typically include an archive 52 and a controller 54 . Generally, the system modules are control logic and/or data stored in the programming system 40)), wherein the first software package is configured to generate a first list of executable instructions to control operations of a first manufacturing tool of the plurality of manufacturing tools and the second software package is configured to generate a second list of executable instructions to control operations of a second manufacturing tool of the plurality of manufacturing tools ([0027] Machining code generally includes instructions that describe the configuration, operation, and/or processing of the forming machine, what tools to use, the tool setup, and the trajectories of the tools (toolpaths). Machining code may include all or a portion of the instructions to make a part. For example, different blocks of machining code may direct the fabrication of different features of a part. Machining code may be directed to a forming machine generally, may be directed to components of a forming machine, and/or may be directed to different forming machines. For example, one type of machining code may control an NC machine while another type of machining code may control a materials-handling robot, [0028] The machining strategy includes a sequence of one or more machining operations that, when performed in order, on the targeted forming machine, with the specified tools, raw materials, workpiece, and/or fixtures, create the formed part. Machining code that expresses, describes, and/or instructs a machining strategy is referred to as machining strategy code, [0067] retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part, deriving 18 may include assembling a unified machining code block from the first machining code block and the second machining code block); generating, via the first software package, one or more first instructions based on the design inputs for controlling the operations of the first manufacturing tool; generating, via the second software package, one or more second instructions based on the design inputs for controlling the operations of the second manufacturing tool ([0076] retrieving 28 a first feature code block and retrieving 28 a second feature code block corresponding respectively to a first machining feature indicated by a first user selection 84 and a second machining feature indicated by a second user selection 84, [0027] different blocks of machining code may direct the fabrication of different features of a part. Machining code may be directed to a forming machine generally, may be directed to components of a forming machine, and/or may be directed to different forming machines. For example, one type of machining code may control an NC machine while another type of machining code may control a materials-handling robot) ; receiving, via the integration software package, the one or more first instructions from the first software package and the one or more second instructions from the second software package; ([0100] For example, the programming agent 46 may provide and/or suggest to the user a list of machining strategies and/or machining operations that relate to similar parts and, hence, that may be useful to guide the development of a machining strategy and/or a machining operation for the designated part. As another example, the programming agent may classify and/or group the designated part with similar parts, features, and/or characteristics, optionally associating the designated part with the similar parts, features, and/or characteristics within the machining knowledge database 50 . Classification and/or grouping may be used to inform and/or to assist the user during fabrication programming 44 and/or may be used to program and/or to fabricate a new part similar to the designated part and/or a machining feature similar to a machining feature of the designated part. For example, the programming agent may suggest, based upon the classification and/or grouping, similar parts and/or machining features to the user to review before and/or during the fabrication programming 44 . As another example, the classified and/or grouped machining information may inform and/or assist a future user of the programming system 40 during a future fabrication programming task 44); generating, via the integration software package, one or more third instructions based, at least in part, on the one or more first instructions or the one or more second instructions; providing, by the integration software package, at least one of the one or more first instructions, the one or more second instructions, and the one or more third instructions to the first software package and/or the second software package; receiving, via the integration software package, a first list of executable instructions generated by the first software package and a second list of executable instructions generated by the second software; and merging, via the integration software package, the first list of executable instructions and the second list of executable instructions to generate an integrated list of executable instructions to operate the plurality of manufacturing tools ([0164] wherein the machining strategy information includes stored machining code utilized to form a portion of one similar part, and wherein the deriving includes merging the stored machining code with machining code configured to form at least a portion of the designated part, [0067] where retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part, deriving 18 may include assembling a unified machining code block from the first machining code block and the second machining code block, as described further herein with respect to the example of FIG. 2, [0023] Forming machines are configured to operate one or more tools to form the part. Additionally, forming machines may include one or more other, typically automated, components such as chucks, spindles, stages, indexers, trunnions, carousels, robotic arms, cooling systems, venting systems, and/or waste collection systems. Forming machines may be, and/or may include, assembled machines, such as NC machines and/or 3D printers, and may be an assemblage of one or more such machines and interconnecting components (e.g., materials handling components), [0096] Moreover, the programming agent 46 may be configured to unify (e.g., harmonize, bundle, and/or package) the read, parsed, and/or identified data into the unified data set (also called the unified machining information). Thusly, assembling and/or fusing the data may include extracting, collecting, aggregating, mapping, converting, transferring, copying, replicating, reformatting, integrating, curating, scraping, and/or coalescing the data and/or the machining information. The unified machining information created by the programming agent 46 may be a broader, more robust, description of the part fabrication process than the individual components of the machining information generated by the user). Regarding claim 2, Jones teaches The method of claim 1, further comprising: modifying the design inputs for use by the first software package and/or the second software package ([0067] Deriving 18 may include adjusting, merging, and/or replacing at least a portion of the machining strategy information from each of the information sources (e.g., similar parts and/or existing strategy). For example, where retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part); creating or modifying three-dimensional regions of a three-dimensional representation of an article of manufacture included in the design inputs ([0030] execution of a toolpath results in modification of the workpiece (i.e., each toolpath generally includes an active portion). Toolpaths may correspond to one or more machining features as described further herein. Machining code that expresses, describes, and/or instructs a toolpath may be referred to as toolpath code); and inserting process indicators based on the pre-determined machine-driven process into the design inputs ([0085] assembling 32 includes adding the retrieved (and optionally modified) machining feature code 92 into the unified machining code 96 , generally in the form of a machining operation code block. Machining feature code 92 may be configured to execute in a predefined order within the unified machining code 96, [0105] FIGS. 5A, 5B, and 5C represent three steps, stages, and/or operations of a part fabrication process. FIG. 5A illustrates a stock piece 110 to be formed into the designated part 70 . Machining features 74 of the designated part 70 are indicated in dotted line to illustrate how and/or where the stock piece 110 is to be modified, [0054] Receiving 12 may include receiving information about the designated part in addition to the input representation. For example, receiving 12 may include receiving an indication of one or more machining features of the designated part, physical properties of the designated part, and/or a targeted forming machine type. Additionally or alternatively, the input representation may include an indication of one or more machining features of the designated part, physical properties of the designated part, and/or a targeted forming machine type. The indication of, e.g., the machining features, the physical properties, and/or the forming machine type, may be a selection from a range of options and/or may be a textual description. In particular, an indication of a machining feature may include a 3D model of the machining feature, a negative geometry model of the machining feature, a surface of the machining feature (a surface of the designated part), a region including at least a portion of the machining feature, a volume including at least a portion of the machining feature, a textual description of the machining feature, a keyword description of the machining feature, a 2D image of the machining feature, a 2D sketch of the machining feature, and/or a 3D sketch of the machining feature). Regarding claim 3, Jones teaches The method of claim 1, further comprising: generating one or more additional instructions responsive to the integrated list of executable instructions; and inserting the one or more additional instructions into the integrated list of executable instructions ([0067] Deriving 18 may include adjusting, merging, and/or replacing at least a portion of the machining strategy information from each of the information sources (e.g., similar parts and/or existing strategy). For example, where retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part, deriving 18 may include assembling a unified machining code block from the first machining code block and the second machining code block, as described further herein with respect to the example of FIG. 2. As another example, where the machining strategy information includes machining code utilized to form at least a portion of one of the similar parts, deriving 18 may include merging the machining code of the machining strategy information with machining code configured to form at least a portion of the designated part). Regarding claim 4, Jones teaches The method of claim 1, further comprising: generating one or more data packages including the integrated list of executable instructions; receiving, at a manufacturing tool, the one or more data packages; and forming an article via the manufacturing tool based, at least in part, on the integrated list of executable instructions responsive to receiving the one or more data packages (Fig. 3, [0067] Deriving 18 may include adjusting, merging, and/or replacing at least a portion of the machining strategy information from each of the information sources (e.g., similar parts and/or existing strategy). For example, where retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part, deriving 18 may include assembling a unified machining code block from the first machining code block and the second machining code block, as described further herein with respect to the example of FIG. 2. As another example, where the machining strategy information includes machining code utilized to form at least a portion of one of the similar parts, deriving 18 may include merging the machining code of the machining strategy information with machining code configured to form at least a portion of the designated part, [0090] The programming agent 46 may be configured to perform one or more steps of receiving 12 the input representation of the designated part, searching 14 the machining knowledge database, receiving 20 the user selection of search results, retrieving 16 machining strategy information, deriving 18 the machining strategy for the designated part, and guiding 24 the user to form at least a partial machining strategy for the designated part, as described with respect to FIGS. 1-2.). Regarding claim 5, Jones teaches The method of claim 4, wherein the manufacturing tool comprises a robotic arm configured to perform one or more of additive manufacturing, automated fiber placement, or subtractive manufacturing ([0023] Additionally, forming machines may include one or more other, typically automated, components such as chucks, spindles, stages, indexers, trunnions, carousels, robotic arms, cooling systems, venting systems, and/or waste collection systems. Forming machines may be, and/or may include, assembled machines, such as NC machines and/or 3D printers, and may be an assemblage of one or more such machines and interconnecting components (e.g., materials handling components, [0023] A forming machine may transform the raw material by subtractive manufacturing techniques (e.g., machining), additive manufacturing techniques (e.g., 3D printing), molding, casting, folding, stamping, coating, etc. For some techniques, such as molding, casting, stamping, etc., a forming machine also may be employed to form a component (e.g., a mold, a cast, a stamp, a die, etc.) that subsequently is utilized to form other parts). Regarding claim 6, Jones teaches The method of claim 1, wherein generating the one or more third instructions includes modifying the one or more first instructions and/or the one or more second instructions ([0067] Deriving 18 may include adjusting, merging, and/or replacing at least a portion of the machining strategy information from each of the information sources (e.g., similar parts and/or existing strategy). For example, where retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part, deriving 18 may include assembling a unified machining code block from the first machining code block and the second machining code block, as described further herein with respect to the example of FIG. 2. As another example, where the machining strategy information includes machining code utilized to form at least a portion of one of the similar parts, deriving 18 may include merging the machining code of the machining strategy information with machining code configured to form at least a portion of the designated part). Regarding claim 7, Jones teaches The method of claim 1, wherein the design inputs include a three-dimensional representation of an article ([0019] The machining knowledge database includes data objects (e.g., the stored 3D models) and associations (relationships) between those objects, [0008] receiving an input representation (such as a 3D model) of the designated part) . Regarding claim 8, Jones teaches The method of claim 1, wherein the one or more third instructions include one or more placeholder instructions or one or more process indicators ([0085] assembling 32 includes adding the retrieved (and optionally modified) machining feature code 92 into the unified machining code 96 , generally in the form of a machining operation code block. Machining feature code 92 may be configured to execute in a predefined order within the unified machining code 96, [0105] FIGS. 5A, 5B, and 5C represent three steps, stages, and/or operations of a part fabrication process. FIG. 5A illustrates a stock piece 110 to be formed into the designated part 70 . Machining features 74 of the designated part 70 are indicated in dotted line to illustrate how and/or where the stock piece 110 is to be modified, [0054] Receiving 12 may include receiving information about the designated part in addition to the input representation. For example, receiving 12 may include receiving an indication of one or more machining features of the designated part, physical properties of the designated part, and/or a targeted forming machine type. Additionally or alternatively, the input representation may include an indication of one or more machining features of the designated part, physical properties of the designated part, and/or a targeted forming machine type. The indication of, e.g., the machining features, the physical properties, and/or the forming machine type, may be a selection from a range of options and/or may be a textual description. In particular, an indication of a machining feature may include a 3D model of the machining feature, a negative geometry model of the machining feature, a surface of the machining feature (a surface of the designated part), a region including at least a portion of the machining feature, a volume including at least a portion of the machining feature, a textual description of the machining feature, a keyword description of the machining feature, a 2D image of the machining feature, a 2D sketch of the machining feature, and/or a 3D sketch of the machining feature.). . Regarding claim 9, Jones teaches The method of claim 8, wherein merging the first list of executable instructions and the second list of executable instructions comprises replacing placeholder instructions included in the first list of executable instructions with one or more instructions of the second list of executable instructions ([0067] Deriving 18 may include adjusting, merging, and/or replacing at least a portion of the machining strategy information from each of the information sources (e.g., similar parts and/or existing strategy). For example, where retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part, deriving 18 may include assembling a unified machining code block from the first machining code block and the second machining code block, as described further herein with respect to the example of FIG. 2. As another example, where the machining strategy information includes machining code utilized to form at least a portion of one of the similar parts, deriving 18 may include merging the machining code of the machining strategy information with machining code configured to form at least a portion of the designated part). Regarding claim 10, Jones teaches The method of claim 8, wherein merging the first list of executable instructions and the second list of executable instructions comprises replacing the one or more placeholder instructions included in the first list of executable instructions or the second list of executable instructions with one or more instructions from the other of the first list of executable instructions or the second list of executable instructions or one or more additional instruction ([0067] Deriving 18 may include adjusting, merging, and/or replacing at least a portion of the machining strategy information from each of the information sources (e.g., similar parts and/or existing strategy). For example, where retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part, deriving 18 may include assembling a unified machining code block from the first machining code block and the second machining code block, as described further herein with respect to the example of FIG. 2. As another example, where the machining strategy information includes machining code utilized to form at least a portion of one of the similar parts, deriving 18 may include merging the machining code of the machining strategy information with machining code configured to form at least a portion of the designated part). Regarding claim 11, Jones teaches The method of claim 1, further comprising simulating the integrated list of executable instructions ([0069] Methods 10 may include forming 22 the designated part based at least in part on the derived machining strategy. Thus, methods 10 may include methods of forming a designated part. Where the derived machining strategy includes machining code, methods 10 may include forming 22 the designated part based at least in part on the machining code, simulating the machining code, reviewing the machining code, and/or editing the machining code). Regarding claim 12, Jones teaches The method of claim 1, further comprising presenting for display on a client device, the integrated list of executable instructions ([0114] The computerized system 200 may include one or more input-output devices 216 operatively coupled to the processing unit 202 , the computer-readable memory 206 , and/or the computer-readable storage media assemblage 212 , e.g. by communications infrastructure 210 . Examples of input-output devices 216 include monitors, keyboards, pointing devices (e.g., mice), touch screens, etc). Regarding claim 13, Jones teaches The method of claim 1, further comprising generating one or more recommended changes to the integrated list of executable instructions based, at least in part, on the pre-determined machine-driven process ([0067] Deriving 18 may include adjusting, merging, and/or replacing at least a portion of the machining strategy information from each of the information sources (e.g., similar parts and/or existing strategy). For example, where retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part, deriving 18 may include assembling a unified machining code block from the first machining code block and the second machining code block, as described further herein with respect to the example of FIG. 2. As another example, where the machining strategy information includes machining code utilized to form at least a portion of one of the similar parts, deriving 18 may include merging the machining code of the machining strategy information with machining code configured to form at least a portion of the designated part, [0066] Existing strategy may be tentative, suggested, and/or partial machining strategy for the designated part, and may be created, for example, by the methods 10 previously performed, traditional CAM programming, and/or other methods of producing machining strategy for a part to be fabricated. Deriving 18 may include deriving a complete machining strategy (e.g., when followed, results in the designated part) and/or a tentative, suggested, and/or partial machining strategy for the designated part (e.g., requires further information and/or processing to produce the designated part)). Regarding claim 14, Jones teaches A system comprising: a numerically controlled device comprising a plurality of manufacturing tools configured to manufacture an article, wherein the manufacturing tools comprise a first manufacturing tool and a second manufacturing tool; and a client device coupled to the numerically controlled device, comprising; at least one processor; and at least one non-transitory computer-readable storage medium storing instructions including a first software package, a second software package, and an integration software package, which (Fig. 4, [0112] The computerized system 200 includes a processing unit 202 operatively coupled to a computer-readable memory 206 by a communications infrastructure 210 . The processing unit 202 may include one or more computer processors 204 and may include a distributed group of computer processors 204 . The computerized system 200 also may include a computer-readable storage media assemblage 212 that is operatively coupled to the processing unit 202 and/or the computer-readable memory 206 , e.g., by communications infrastructure 210 . The computer-readable storage media assemblage 212 may include one or more non-transitory computer-readable storage media 214 and may include a distributed group of non-transitory computer-readable storage media 214, [0088] Programming system 40 includes a group of system modules that may interact with the user to perform the task of fabricating a part. System modules also may be referred to as agents, programs, processes, procedures, functions, and/or routines. System modules include a programming agent 46 , a search agent 48 , and a machining knowledge database 50 , and typically include an archive 52 and a controller 54 . Generally, the system modules are control logic and/or data stored in the programming system 40, [0027] Machining code generally includes instructions that describe the configuration, operation, and/or processing of the forming machine, what tools to use, the tool setup, and the trajectories of the tools (toolpaths). Machining code may include all or a portion of the instructions to make a part. For example, different blocks of machining code may direct the fabrication of different features of a part. Machining code may be directed to a forming machine generally, may be directed to components of a forming machine, and/or may be directed to different forming machines. For example, one type of machining code may control an NC machine while another type of machining code may control a materials-handling robot) : receive design inputs, via the integration software package, for manufacturing the article by using the manufacturing tools ([0008] receiving an input representation (such as a 3D model) of the designated part, [0088] Programming system 40 includes a group of system modules that may interact with the user to perform the task of fabricating a part. System modules also may be referred to as agents, programs, processes, procedures, functions, and/or routines. System modules include a programming agent 46 , a search agent 48 , and a machining knowledge database 50 , and typically include an archive 52 and a controller 54 . Generally, the system modules are control logic and/or data stored in the programming system 40); provide the design inputs, by the integration software package, to the first software package and the second software package([0047] As shown in FIG. 1, methods 10 include receiving 12 the input representation of the designated part. Receiving 12 may include receiving the input representation directly or indirectly from the user. Receiving 12 may include accessing, identifying, and/or creating the input representation. For example, the user may select an input representation from a range of choices, and a computerized system (e.g., programming system 40 as shown in FIG. 3 and described further herein) may receive the result of the selection. As another example, the computerized system may monitor user actions and/or a file system that receives input representations of parts to be fabricated. When the computerized system determines the user has created and/or stored a sufficient input representation, the computerized system may receive the input representation (e.g., by accessing and/or identifying)), wherein the first software package is configured to generate a first list of executable instructions to control operations of a first manufacturing tool of the plurality of manufacturing tools and the second software package is configured to generate a second list of executable instructions to control operations of a second manufacturing tool of the plurality of manufacturing tools ([0027] Machining code generally includes instructions that describe the configuration, operation, and/or processing of the forming machine, what tools to use, the tool setup, and the trajectories of the tools (toolpaths). Machining code may include all or a portion of the instructions to make a part. For example, different blocks of machining code may direct the fabrication of different features of a part. Machining code may be directed to a forming machine generally, may be directed to components of a forming machine, and/or may be directed to different forming machines. For example, one type of machining code may control an NC machine while another type of machining code may control a materials-handling robot, [0028] The machining strategy includes a sequence of one or more machining operations that, when performed in order, on the targeted forming machine, with the specified tools, raw materials, workpiece, and/or fixtures, create the formed part. Machining code that expresses, describes, and/or instructs a machining strategy is referred to as machining strategy code, [0067] retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part, deriving 18 may include assembling a unified machining code block from the first machining code block and the second machining code block); generate, via the first software package, one or more first instructions based on the design inputs for controlling the operations of the first manufacturing tool; generate, via the second software package, one or more second instructions based on the design inputs for controlling the operations of the second manufacturing tool ([0076] retrieving 28 a first feature code block and retrieving 28 a second feature code block corresponding respectively to a first machining feature indicated by a first user selection 84 and a second machining feature indicated by a second user selection 84, [0027] different blocks of machining code may direct the fabrication of different features of a part. Machining code may be directed to a forming machine generally, may be directed to components of a forming machine, and/or may be directed to different forming machines. For example, one type of machining code may control an NC machine while another type of machining code may control a materials-handling robot); receive, via the integration software package, one or more first instructions from the first software package and one or more second instructions from the second software package ([0100] For example, the programming agent 46 may provide and/or suggest to the user a list of machining strategies and/or machining operations that relate to similar parts and, hence, that may be useful to guide the development of a machining strategy and/or a machining operation for the designated part. As another example, the programming agent may classify and/or group the designated part with similar parts, features, and/or characteristics, optionally associating the designated part with the similar parts, features, and/or characteristics within the machining knowledge database 50 . Classification and/or grouping may be used to inform and/or to assist the user during fabrication programming 44 and/or may be used to program and/or to fabricate a new part similar to the designated part and/or a machining feature similar to a machining feature of the designated part. For example, the programming agent may suggest, based upon the classification and/or grouping, similar parts and/or machining features to the user to review before and/or during the fabrication programming 44 . As another example, the classified and/or grouped machining information may inform and/or assist a future user of the programming system 40 during a future fabrication programming task 44); generate, via the integration software package, one or more third instructions based, at least in part, on the one or more first instructions or the one or more second instructions; provide, by the integration software package, the one or more first instructions, the one or more second instructions, and/or the one or more third instructions to the first software package and/or the second software package; receive, via the integration software package, a first list of executable instructions generated by the first software package, and a second list of executable instructions generated by the first software package; and merge, via the integration software package ([0088] Programming system 40 includes a group of system modules that may interact with the user to perform the task of fabricating a part. System modules also may be referred to as agents, programs, processes, procedures, functions, and/or routines. System modules include a programming agent 46 , a search agent 48 , and a machining knowledge database 50 , and typically include an archive 52 and a controller 54 . Generally, the system modules are control logic and/or data stored in the programming system 40), the first list of executable instructions and the second list of executable instructions to generate an integrated list of executable instructions to operate the plurality of manufacturing tools ([0164] wherein the machining strategy information includes stored machining code utilized to form a portion of one similar part, and wherein the deriving includes merging the stored machining code with machining code configured to form at least a portion of the designated part, [0067] where retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part, deriving 18 may include assembling a unified machining code block from the first machining code block and the second machining code block, as described further herein with respect to the example of FIG. 2, [0023] Forming machines are configured to operate one or more tools to form the part. Additionally, forming machines may include one or more other, typically automated, components such as chucks, spindles, stages, indexers, trunnions, carousels, robotic arms, cooling systems, venting systems, and/or waste collection systems. Forming machines may be, and/or may include, assembled machines, such as NC machines and/or 3D printers, and may be an assemblage of one or more such machines and interconnecting components (e.g., materials handling components), [0096] Moreover, the programming agent 46 may be configured to unify (e.g., harmonize, bundle, and/or package) the read, parsed, and/or identified data into the unified data set (also called the unified machining information). Thusly, assembling and/or fusing the data may include extracting, collecting, aggregating, mapping, converting, transferring, copying, replicating, reformatting, integrating, curating, scraping, and/or coalescing the data and/or the machining information. The unified machining information created by the programming agent 46 may be a broader, more robust, description of the part fabrication process than the individual components of the machining information generated by the user). Regarding claim 15, Jones teaches The system of claim 14, wherein the plurality of manufacturing tools comprise an additive manufacturing tool, an automated fiber placement tool, and a subtractive manufacturing tool ([0023] Additionally, forming machines may include one or more other, typically automated, components such as chucks, spindles, stages, indexers, trunnions, carousels, robotic arms, cooling systems, venting systems, and/or waste collection systems. Forming machines may be, and/or may include, assembled machines, such as NC machines and/or 3D printers, and may be an assemblage of one or more such machines and interconnecting components (e.g., materials handling components, [0023] A forming machine may transform the raw material by subtractive manufacturing techniques (e.g., machining), additive manufacturing techniques (e.g., 3D printing), molding, casting, folding, stamping, coating, etc. For some techniques, such as molding, casting, stamping, etc., a forming machine also may be employed to form a component (e.g., a mold, a cast, a stamp, a die, etc.) that subsequently is utilized to form other parts). Regarding claim 16, Jones teaches The system of claim 14, wherein generating one or more third instructions includes modifying one or more tool paths generated at the first software package or the second software package ([0067] Deriving 18 may include adjusting, merging, and/or replacing at least a portion of the machining strategy information from each of the information sources (e.g., similar parts and/or existing strategy). For example, where retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part, [0030] execution of a toolpath results in modification of the workpiece (i.e., each toolpath generally includes an active portion). Toolpaths may correspond to one or more machining features as described further herein. Machining code that expresses, describes, and/or instructs a toolpath may be referred to as toolpath code). Regarding claim 17, Jones teaches The system of claim 14, wherein the one or more third instructions include one or more placeholder instructions ([0067] Deriving 18 may include adjusting, merging, and/or replacing at least a portion of the machining strategy information from each of the information sources (e.g., similar parts and/or existing strategy). For example, where retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part, deriving 18 may include assembling a unified machining code block from the first machining code block and the second machining code block, as described further herein with respect to the example of FIG. 2. As another example, where the machining strategy information includes machining code utilized to form at least a portion of one of the similar parts, deriving 18 may include merging the machining code of the machining strategy information with machining code configured to form at least a portion of the designated part). Regarding claim 18, Jones teaches The system of claim 14, wherein the instructions stored on the at least one non-transitory computer-readable storage medium, when executed by the at least one processor, cause the system to: automatically generate one or more transition instructions responsive to the integrated list of executable instructions; and insert the one or more transition instructions into the integrated list of executable instructions ([0067] Deriving 18 may include adjusting, merging, and/or replacing at least a portion of the machining strategy information from each of the information sources (e.g., similar parts and/or existing strategy). For example, where retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part, deriving 18 may include assembling a unified machining code block from the first machining code block and the second machining code block, as described further herein with respect to the example of FIG. 2. As another example, where the machining strategy information includes machining code utilized to form at least a portion of one of the similar parts, deriving 18 may include merging the machining code of the machining strategy information with machining code configured to form at least a portion of the designated part). Regarding claim 19, Jones teaches The system of claim 18, wherein the instructions stored on the at least one non-transitory computer-readable storage medium, when executed by the at least one processor, cause the system to: reorder the integrated list of executable instructions responsive to a user editing one or more instructions of the integrated list of executable instructions ([0028] The machining strategy includes a sequence of one or more machining operations that, when performed in order, on the targeted forming machine, with the specified tools, raw materials, workpiece, and/or fixtures, create the formed part. Machining code that expresses, describes, and/or instructs a machining strategy is referred to as machining strategy code, [0069] the derived machining strategy includes machining code, methods 10 may include forming 22 the designated part based at least in part on the machining code, simulating the machining code, reviewing the machining code, and/or editing the machining code, [0095] The user of the programming system 40 may utilize the programming system to create the machining strategy and/or the machining code for the designated part and/or may utilize another system to create the machining strategy and/or the machining code (e.g., a CAM system, a NC programming system, and/or a G-code editor). That is, the user may be guided by the programming system 40 and may rely on another system to implement and/or produce the resulting machining strategy and/or machining code.). Regarding claim 20, Jones teaches A non-transitory computer-readable storage medium storing instructions including a first software package, a second software package, and an integration software package, which cause at least one processor to perform acts comprising (Fig. 4, [0112] The computerized system 200 includes a processing unit 202 operatively coupled to a computer-readable memory 206 by a communications infrastructure 210 . The processing unit 202 may include one or more computer processors 204 and may include a distributed group of computer processors 204 . The computerized system 200 also may include a computer-readable storage media assemblage 212 that is operatively coupled to the processing unit 202 and/or the computer-readable memory 206 , e.g., by communications infrastructure 210 . The computer-readable storage media assemblage 212 may include one or more non-transitory computer-readable storage media 214 and may include a distributed group of non-transitory computer-readable storage media 214, [0088] Programming system 40 includes a group of system modules that may interact with the user to perform the task of fabricating a part. System modules also may be referred to as agents, programs, processes, procedures, functions, and/or routines. System modules include a programming agent 46 , a search agent 48 , and a machining knowledge database 50 , and typically include an archive 52 and a controller 54 . Generally, the system modules are control logic and/or data stored in the programming system 40, [0096] Moreover, the programming agent 46 may be configured to unify (e.g., harmonize, bundle, and/or package) the read, parsed, and/or identified data into the unified data set (also called the unified machining information). Thusly, assembling and/or fusing the data may include extracting, collecting, aggregating, mapping, converting, transferring, copying, replicating, reformatting, integrating, curating, scraping, and/or coalescing the data and/or the machining information. The unified machining information created by the programming agent 46 may be a broader, more robust, description of the part fabrication process than the individual components of the machining information generated by the user): receiving design inputs, via an integration software package for a pre-determined machine-driven process for manufacturing an article by using a plurality of manufacturing tools ([0008] receiving an input representation (such as a 3D model) of the designated part, [0100] For example, the programming agent 46 may provide and/or suggest to the user a list of machining strategies and/or machining operations that relate to similar parts and, hence, that may be useful to guide the development of a machining strategy and/or a machining operation for the designated part. As another example, the programming agent may classify and/or group the designated part with similar parts, features, and/or characteristics, optionally associating the designated part with the similar parts, features, and/or characteristics within the machining knowledge database 50 . Classification and/or grouping may be used to inform and/or to assist the user during fabrication programming 44 and/or may be used to program and/or to fabricate a new part similar to the designated part and/or a machining feature similar to a machining feature of the designated part. For example, the programming agent may suggest, based upon the classification and/or grouping, similar parts and/or machining features to the user to review before and/or during the fabrication programming 44 . As another example, the classified and/or grouped machining information may inform and/or assist a future user of the programming system 40 during a future fabrication programming task 44)); providing the design inputs, by the integration software package to the first software package and the second software package ([0047] As shown in FIG. 1, methods 10 include receiving 12 the input representation of the designated part. Receiving 12 may include receiving the input representation directly or indirectly from the user. Receiving 12 may include accessing, identifying, and/or creating the input representation. For example, the user may select an input representation from a range of choices, and a computerized system (e.g., programming system 40 as shown in FIG. 3 and described further herein) may receive the result of the selection. As another example, the computerized system may monitor user actions and/or a file system that receives input representations of parts to be fabricated. When the computerized system determines the user has created and/or stored a sufficient input representation, the computerized system may receive the input representation (e.g., by accessing and/or identifying), [0100] For example, the programming agent 46 may provide and/or suggest to the user a list of machining strategies and/or machining operations that relate to similar parts and, hence, that may be useful to guide the development of a machining strategy and/or a machining operation for the designated part. As another example, the programming agent may classify and/or group the designated part with similar parts, features, and/or characteristics, optionally associating the designated part with the similar parts, features, and/or characteristics within the machining knowledge database 50 . Classification and/or grouping may be used to inform and/or to assist the user during fabrication programming 44 and/or may be used to program and/or to fabricate a new part similar to the designated part and/or a machining feature similar to a machining feature of the designated part. For example, the programming agent may suggest, based upon the classification and/or grouping, similar parts and/or machining features to the user to review before and/or during the fabrication programming 44 . As another example, the classified and/or grouped machining information may inform and/or assist a future user of the programming system 40 during a future fabrication programming task 44)), wherein the first software package is configured to generate a first list of executable instructions to control operations of a first manufacturing tool of the plurality of manufacturing tools and the second software package is configured to generate a second list of executable instructions to control operations of a second manufacturing tool of the plurality of manufacturing tools ([0027] Machining code generally includes instructions that describe the configuration, operation, and/or processing of the forming machine, what tools to use, the tool setup, and the trajectories of the tools (toolpaths). Machining code may include all or a portion of the instructions to make a part. For example, different blocks of machining code may direct the fabrication of different features of a part. Machining code may be directed to a forming machine generally, may be directed to components of a forming machine, and/or may be directed to different forming machines. For example, one type of machining code may control an NC machine while another type of machining code may control a materials-handling robot, [0028] The machining strategy includes a sequence of one or more machining operations that, when performed in order, on the targeted forming machine, with the specified tools, raw materials, workpiece, and/or fixtures, create the formed part. Machining code that expresses, describes, and/or instructs a machining strategy is referred to as machining strategy code, [0067] retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part, deriving 18 may include assembling a unified machining code block from the first machining code block and the second machining code block); generating, via the first software package, one or more first instructions based on the design inputs for controlling the operations of the first manufacturing tools; generating, via the second software package, one or more second instructions based on the design inputs for controlling the operations of the second manufacturing tool ([0076] retrieving 28 a first feature code block and retrieving 28 a second feature code block corresponding respectively to a first machining feature indicated by a first user selection 84 and a second machining feature indicated by a second user selection 84, [0027] different blocks of machining code may direct the fabrication of different features of a part. Machining code may be directed to a forming machine generally, may be directed to components of a forming machine, and/or may be directed to different forming machines. For example, one type of machining code may control an NC machine while another type of machining code may control a materials-handling robot); receiving, via the integration software package, the one or more first instructions from the first software package and one or more second instructions from the second software package ([0100] For example, the programming agent 46 may provide and/or suggest to the user a list of machining strategies and/or machining operations that relate to similar parts and, hence, that may be useful to guide the development of a machining strategy and/or a machining operation for the designated part. As another example, the programming agent may classify and/or group the designated part with similar parts, features, and/or characteristics, optionally associating the designated part with the similar parts, features, and/or characteristics within the machining knowledge database 50 . Classification and/or grouping may be used to inform and/or to assist the user during fabrication programming 44 and/or may be used to program and/or to fabricate a new part similar to the designated part and/or a machining feature similar to a machining feature of the designated part. For example, the programming agent may suggest, based upon the classification and/or grouping, similar parts and/or machining features to the user to review before and/or during the fabrication programming 44 . As another example, the classified and/or grouped machining information may inform and/or assist a future user of the programming system 40 during a future fabrication programming task 44); generating, via the integration software package, one or more third instructions based, at least in part, on the one or more first instructions or the one or more second instructions; providing, by the integration software package, the one or more first instructions, the one or more second instructions, and/or the one or more third instructions to the first software package and/or the second software package; receiving, via the integration software package, a first list of executable instructions generated by the first software package and a second list of executable instructions generated by the second software package; and merging, via the integration software package the first list of executable instructions and the second list of executable instructions to generate an integrated list of executable instructions to operate the plurality of manufacturing tools ([0164] wherein the machining strategy information includes stored machining code utilized to form a portion of one similar part, and wherein the deriving includes merging the stored machining code with machining code configured to form at least a portion of the designated part, [0067] where retrieving 16 includes retrieving a first machining code block utilized to form at least a portion of a first similar part and a second machining code block utilized to form at least a portion of a second similar part, deriving 18 may include assembling a unified machining code block from the first machining code block and the second machining code block, as described further herein with respect to the example of FIG. 2, [0023] Forming machines are configured to operate one or more tools to form the part. Additionally, forming machines may include one or more other, typically automated, components such as chucks, spindles, stages, indexers, trunnions, carousels, robotic arms, cooling systems, venting systems, and/or waste collection systems. Forming machines may be, and/or may include, assembled machines, such as NC machines and/or 3D printers, and may be an assemblage of one or more such machines and interconnecting components (e.g., materials handling components), [0096] Moreover, the programming agent 46 may be configured to unify (e.g., harmonize, bundle, and/or package) the read, parsed, and/or identified data into the unified data set (also called the unified machining information). Thusly, assembling and/or fusing the data may include extracting, collecting, aggregating, mapping, converting, transferring, copying, replicating, reformatting, integrating, curating, scraping, and/or coalescing the data and/or the machining information. The unified machining information created by the programming agent 46 may be a broader, more robust, description of the part fabrication process than the individual components of the machining information generated by the user). Conclusion The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure. Zhang (US20060167868) discloses packaging process for computer system software integration. Holmes (US6226784B1) discloses an integrated package to facilitate the establishment of a particular install tool. THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to YVONNE T FOLLANSBEE whose telephone number is (571)272-0634. The examiner can normally be reached Monday - Friday 1pm - 9pm. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Robert Fennema can be reached at (571) 272-2748. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /YVONNE TRANG FOLLANSBEE/Examiner, Art Unit 2117 /ROBERT E FENNEMA/Supervisory Patent Examiner, Art Unit 2117
Read full office action

Prosecution Timeline

Aug 01, 2023
Application Filed
Jan 09, 2026
Non-Final Rejection mailed — §102
Mar 16, 2026
Interview Requested
Mar 25, 2026
Examiner Interview Summary
Mar 25, 2026
Applicant Interview (Telephonic)
Mar 30, 2026
Response Filed
Jun 16, 2026
Final Rejection mailed — §102 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12674387
USER INTERFACE FOR PROVIDING GUIDANCE ON DRILLING OPERATIONS AND DYNAMIC REPORTING OF RELEVANT DATA
3y 8m to grant Granted Jul 07, 2026
Patent 12651666
SYSTEM AND METHOD FOR REMOTE OPTIMIZATION OF MEDICAL PROCEDURE
4y 5m to grant Granted Jun 09, 2026
Patent 12645197
DYNAMIC COMPUTER-BASED MANAGEMENT OF ADDITIVE MANUFACTURING
3y 6m to grant Granted Jun 02, 2026
Patent 12629892
SYSTEMS, DEVICES, AND METHODS FOR GENERATING A LATTICE SUPPORT STRUCTURE OUTSIDE OF AN EXCLUSION AREA
5y 1m to grant Granted May 19, 2026
Patent 12628308
ELECTRONIC DEVICE AND METHOD FOR CONTROLLING TEMPERATURE THEREOF
3y 6m to grant Granted May 12, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

3-4
Expected OA Rounds
55%
Grant Probability
81%
With Interview (+25.9%)
3y 1m (~1m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 112 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month