IP Library Granted Patent US 12663778
Granted Patent B1
US 12663778 · App. 19/251,917 · Granted Jun 23, 2026

Systems and methods for generating a tool path using computer aided manufacturing for machining

Inventors: Seth Jackson (Tolland, CT); Dylan Gondyke (Tolland, CT); Mike Johnson (Tolland, CT); Dave Conigliaro (Tolland, CT); Carlos Carbonera (Tolland, CT); Dustin Peirolo (Tolland, CT)
Assignee: CNC Software, LLC
G05B19/402G05B19/182G05B19/4069
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12663778
App. No.
19/251,917
Granted
Jun 23, 2026
Kind
B1
Abstract

A system of nodes generates machine instructions representing a tool path for a tool to manufacture an object from a workpiece material. The system includes a generator node, adapted to generate and transmit a raw pass packet. The raw pass packet includes a plurality of passes, each pass having a plurality of points, and each point detailing a location in space to be traversed by the tool to manufacture an object from the material. The system includes a filter node, that receives, modifies and transmits the raw pass packet. A processing node is adapted to receive the raw pass packet and convert it to another format. The nodes are arranged as a directed acyclic graph, each node being associated with an ordering number and each node only transmitting data to a node with a higher ordering number and only receiving data from a node with a lower ordering number.

Claims (29)

1 . A system of nodes for generating machine executable instructions representing a tool path to be used by a tool of a machine in order to manufacture an object from a workpiece material, the system comprising:

a generator node, adapted to generate and transmit a raw pass packet, the raw pass packet comprising a plurality of passes, each pass comprising a plurality of points, each point detailing a location in space to be traversed by a tool in order to manufacture an object from a workpiece material;

a filter node, adapted to receive, modify and transmit the raw pass packet, wherein the system includes two different types of filter nodes:

a de-gouging node, which is a type of filter node adapted to perform a de-gouging operation on the raw pass packet, wherein the de-gouging operation ensures that there are no collisions of the tool with anything other than the workpiece material from which the object is cut, and that there is no position in which the tool goes beyond a surface boundary of the object, for each point in the raw pass packet; and

a linking node, which is a type of filter node adapted to add linking information to the raw pass packet, the linking information describing how to transition between an end point of one pass and the starting point of the next pass, for all passes in the raw pass packet except for the last pass; and

a processing node, adapted to receive the raw pass packet and convert it to machine executable instructions for controlling the tool, wherein the nodes are arranged as a directed acyclic graph, such that each node is associated with an ordering number and wherein each node can only transmit data to a node with a higher ordering number and only receive data from a node with a lower ordering number.

2 . The system according to claim 1 , wherein each node further comprises configuration data detailing the function of the corresponding node, and wherein each node is configured to receive configuration data from another node in the system with a lower ordering number.

3 . The system according to claim 1 , wherein the system only comprises generator nodes, filter nodes, and processing nodes.

4 . The system according to claim 1 , comprising a third type of filter node called a tool axis control node, which is a type of filter node adapted to add tool axis control information to the raw pass packet, wherein the tool axis control information comprises a location and orientation of a tool that is to be used when manufacturing the object, a tip position of the tool in each point of each pass, and a surface normal for each point of each pass.

5 . The system according to claim 4 , wherein each node is adapted to only perform its specified function and no other operations.

6 . The system of nodes according to claim 4 , wherein each type of node except for the de-gouging node is adapted to use an altered version of the geometry of the object as input.

7 . The system according to claim 1 , wherein at least one of the nodes is a super node comprising multiple nodes.

8 . The system according to claim 1 , wherein each node is adapted to only begin its operation after all directly preceding nodes have finished their operation.

9 . The system according to claim 8 , further comprising a logic node, wherein the logic node is a filter node but which is exempt from the requirement to wait for all nodes with a lower ordering number to finish their operation before it starts its operation.

10 . A method for generating machine instructions representing a tool path to be used by a tool of a machine in order to manufacture an object from a workpiece material, comprising the steps of:

obtaining a model of the object to be manufactured;

generating a raw tool path comprising a raw pass packet, the raw pass packet comprising a plurality of passes, each pass comprising a plurality of points, each point detailing a location in space to be traversed by a tool in order to manufacture an object from a workpiece material;

adding tool axis control information to the raw pass packet, the tool axis control information comprising, for each point in the raw tool path, a surface normal, a tip position of the tool and an orientation of the tool, thus obtaining Offset Cutter Location Data;

performing a de-gouging operation on the Offset Cutter Location Data in order to ensure that there are no collisions of the tool with anything other than the workpiece material from which the object is cut, and that there is no position in which the tool goes beyond a surface boundary of the object, for each point in the raw pass packet, thus obtaining a Safe Offset Cutter Location Data; and

providing linking information about how to transition between start points and end points of each pass except for the last pass of the Safe Offset Cutter Location Data, thus obtaining a tool path.

11 . The method according to claim 10 , further comprising machining the object based on the tool path.

12 . The method according to claim 10 , wherein the steps of the method are performed in order and without overlap.

13 . A computer program comprising computer readable code means to be run in a device comprising processing circuitry and a memory, which computer readable code means when run in the device causes the device to perform the following steps:

obtaining a model of the object to be manufactured;

generating a raw pass packet comprising a plurality of passes, each pass comprising a plurality of points, each point detailing a location in space to be traversed by a tool in order to manufacture an object from a workpiece material;

adding tool axis control information to the raw pass packet, the tool axis control information comprising, for each point in the raw tool path, a surface normal, a tip position of the tool and an orientation of the tool, thus obtaining Offset Cutter Location Data;

performing a de-gouging operation on the Offset Cutter Location Data in order to ensure that there are no collisions of the tool with anything other than the workpiece material from which the object is cut, and that there is no position in which the tool goes beyond a surface boundary of the object, for each point in the raw pass packet, thus obtaining a Safe Offset Cutter Location Data; and

providing linking information about how to transition between start points and end points of each pass except for the last pass of the Safe Offset Cutter Location Data, thus obtaining a tool path.

14 . A carrier containing the computer program according to claim 13 , wherein the carrier is one of an electronic signal, optical signal, radio signal or computer readable storage medium.