IP Library Granted Patent US 11,460,828
Granted Patent B2
US 11,460,828 · App. 17/013,290 · Granted Oct 4, 2022

Multi-user computer-numerically-controlled machine

Inventors: Daniel Shapiro (Mercer Island, WA); Mark Gosselin (Seattle, WA); Anthony Wright (Seattle, WA); Scott Haug (Seattle, WA); Linden Wright (Seattle, WA)
Assignee: Glowforge Inc.
G05B19/4068G05B19/409G05B19/4063G06F3/048G06F21/305G05B2219/36531G05B2219/36542G05B2219/45165
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 11,460,828
App. No.
17/013,290
Granted
Oct 4, 2022
Kind
B2
Abstract

A method for accessing a computer-numerically-controlled machine can include receiving a command to be executed by the computer-numerically-controlled machine. A hardware state of a component in the computer-numerically-controlled machine can be determined by receiving, from the component, data indicative of the hardware state. An origin of the command including a user identification of a user who sent the command and/or a machine identification of a device that sent the command can be determined. Whether the computer-numerically-controlled machine is allowed to execute the command can be determined by applying a set of rules and based on the hardware state and/or the origin of the command. In response to determining that the computer-numerically-controlled machine is allowed to execute the command, the command can be executed at the computer-numerically-controlled machine.

Claims (40)

1. A method carried out by a computing system, the method comprising:

modifying an instruction set for a computer-numerically-controlled (CNC) machine after receipt of a first modification to the instruction set from a first application executing on a first computing device, wherein the instruction set is executable to control one or more components of the CNC machine; and

while the instruction set is being executed:

removing, after receipt at the computing system of an abandonment signal from the first application, an ability of the first application to modify the instruction set, the abandonment signal indicating that the first application is no longer modifying the instruction set;

enabling, after receipt at the computing system of a connection signal from a second application, an ability of the second application to modify the instruction set; and

modifying the instruction set after receipt at the computing system of a second modification to the instruction set from the second application.

2. The method of claim 1 , wherein the CNC machine comprises a sensor configured to capture data from the CNC machine, and wherein the connection signal comprises a request to transmit, to the first computing device, at least a portion of the data captured by the sensor.

3. The method of claim 1 , further comprising displaying, at a display device, a graphical representation of at least one of a material in the CNC machine, a current user of the CNC machine, a status of the CNC machine, a remaining time of a job being executed by the CNC machine, a waiting user scheduled to use the CNC machine, a delay time between consecutive uses of the CNC machine, and a schedule of jobs queued to be executed by the CNC machine.

4. The method of claim 1 , wherein the first application and the second application were previously associated with a same user account at the computing system.

5. The method of claim 4 , wherein a user associated with the same user account first modifies the instruction set associated with a machining process via the first application, and later invokes the second application to resume the machining process which has been abandoned by the first application.

6. The method of claim 1 , wherein the second application executes on a second computing device.

7. The method of claim 1 , further comprising prohibiting a second user associated with a second user account logged into the second application from viewing a result of or modifying the instruction set while a first user associated with a first user account logged into the first application is connected to the CNC machine.

8. A computing system comprising:

at least one processor;

non-transitory computer-readable medium; and

program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to perform operations comprising:

modifying an instruction set for a CNC machine after receipt of a first modification to the instruction set from a first application executing on a first computing device, wherein the instruction set is executable to control one or more components of the CNC machine; and

while the instruction set is being executed:

removing, after receipt at the computing system of an abandonment signal from the first application, an ability of the first application to modify the instruction set, the abandonment signal indicating that the first application is no longer modifying the instruction set;

enabling, after receipt at the computing system of a connection signal from a second application, an ability of the second application to modify the instruction set; and

modifying the instruction set after receipt at the computing system of a second modification to the instruction set from the second application.

9. The computing system of claim 8 , wherein the first application and the second application were previously associated with a same user account at the computing system.

10. The computing system of claim 8 , further comprising:

the CNC machine.

11. The computing system of claim 8 , further comprising program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the computing system is configured to perform operations comprising:

transmitting the instruction set to the CNC machine.

12. A non-transitory computer-readable medium, wherein the non-transitory computer-readable medium is provisioned with program instructions that, when executed by at least one processor, cause a computing system to perform operations comprising:

modifying an instruction set for a CNC machine after receipt of a first modification to the instruction set from a first application executing on a first computing device, wherein the instruction set is executable to control one or more components of the CNC machine; and

while the instruction set is being executed:

removing, after receipt at the computing system of an abandonment signal from the first application, an ability of the first application to modify the instruction set, the abandonment signal indicating that the first application is no longer modifying the instruction set;

enabling, after receipt at the computing system of a connection signal from a second application, an ability of the second application to modify the instruction set; and

modifying the instruction set after receipt at the computing system of a second modification to the instruction set from the second application.

13. The non-transitory computer-readable medium of claim 12 , wherein the CNC machine comprises a sensor configured to capture data from the CNC machine, and wherein the connection signal comprises a request to transmit, to the first computing device, at least a portion of the data captured by the sensor.

14. The non-transitory computer-readable medium of claim 12 , further comprising displaying, at a display device, a graphical representation of at least one of a material in the CNC machine, a current user of the CNC machine, a status of the CNC machine, a remaining time of a job being executed by the CNC machine, a waiting user scheduled to use the CNC machine, a delay time between consecutive uses of the CNC machine, and a schedule of jobs queued to be executed by the CNC machine.

15. The non-transitory computer-readable medium of claim 12 , wherein the first application and the second application were previously associated with a same user account at the computing system.

16. The non-transitory computer-readable medium of claim 15 , wherein a user associated with the same user account first modifies the instruction set associated with a machining process via the first application, and later invokes the second application to resume the machining process which has been abandoned by the first application.

17. The non-transitory computer-readable medium of claim 12 , wherein the second application executes on a second computing device.

18. The non-transitory computer-readable medium of claim 12 , wherein the first application and the second application provide different functionality.

19. The non-transitory computer-readable medium of claim 18 , wherein the first application provides first functionality comprising an ability to modify a design, and the second application provides second functionality comprising previewing, halting or commencing machine operations.

20. The non-transitory computer-readable medium of claim 12 , wherein the operations further comprise prohibiting a second user associated with a second user account logged into the second application from viewing a result of or modifying the instruction set while a first user associated with a first user account logged into the first application is connected to the CNC machine.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2026
From: LASER EQUIPMENT COMPANY (ABC), LLC
To: PURPLEVINE IP SINGAPORE PTE. LTD.
Reel/Frame 073443/0273 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2026
From: PURPLEVINE IP SINGAPORE PTE. LTD.
To: MAKEBLOCK HONGKONG HOLDING LIMITED
Reel/Frame 073443/0786 →
RELEASE OF SECURITY INTEREST Recorded Jan 7, 2026
From: JPMORGAN CHASE BANK, N.A.
To: LASER EQUIPMENT COMPANY (ABC), LLC
Reel/Frame 073398/0574 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2026
From: GLOWFORGE INC.
To: LASER EQUIPMENT COMPANY (ABC), LLC
Reel/Frame 073369/0357 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jun 30, 2022
From: GLOWFORGE INC.; GLOWFORGE INTERNATIONAL INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 060556/0845 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 4, 2020
From: SHAPIRO, DANIEL; GOSSELIN, MARK; WRIGHT, ANTHONY; HAUG, SCOTT; WRIGHT, LINDEN
To: GLOWFORGE, INC.
Reel/Frame 053700/0042 →
Continuity (3)
Continuation 15823509 · Nov 27, 2017
Provisional Application 62426432 · Nov 25, 2016
Related Publication 20200409335A1 · Dec 31, 2020