IP Library Granted Patent US 11,835,936
Granted Patent B2
US 11,835,936 · App. 17/959,024 · Granted Dec 5, 2023

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,835,936
App. No.
17/959,024
Granted
Dec 5, 2023
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 (49)

1. A computer-numerically-controlled (CNC) machine 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 CNC machine is configured to:

determine that a first user device has permission to receive image data acquired via at least one sensor of the CNC machine;

determine that a second user device has permission to receive image data acquired via the at least one sensor of the CNC machine;

at a first time, based on determining that the first user device has permission, transmit first image data to the first user device, the first image data depicting a material positioned within an interior space defined by a housing of the CNC machine;

at a second time that is after the first time but before a third time, based on determining that the second user device has permission, transmit second image data to the second user device, the second image data depicting the material positioned within the interior space;

at the third time, receive, from the first user device, a command for the CNC machine to execute a first set of instructions to deliver electromagnetic energy to the material and thereby effect one or more changes in the material;

begin executing the first set of instructions to deliver electromagnetic energy to the material and thereby effect the one or more changes in the material; and

while executing the first set of instructions, transmit an indication to the second user device that the CNC machine is unavailable to execute a second set of instructions from the second user device.

2. The CNC machine of claim 1 , further comprising program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the CNC machine is configured to:

while executing the first set of instructions, acquire, via the at least one sensor of the CNC machine, third image data depicting the material positioned within the interior space; and

transmit the third image data to the second user device.

3. The CNC machine of claim 1 , wherein the program instructions that are executable by the at least one processor such that the CNC machine is configured to determine that the first user device has permission to receive image data acquired via the at least one sensor of the CNC machine comprise program instructions that are executable by the at least one processor such that the CNC machine is configured to determine that the first user device is associated with a first user account that has permission to receive image data acquired via the at least one sensor of the CNC machine.

4. The CNC machine of claim 1 , wherein the first image data is the same as the second image data.

5. The CNC machine of claim 1 , wherein the program instructions that are executable by the at least one processor such that the CNC machine is configured to transmit the first image data to the first user device comprise program instructions that are executable by the at least one processor such that the CNC machine is configured to transmit the first image data to the first user device based on a request from the first user device for image data acquired via the at least one sensor of the CNC machine.

6. The CNC machine of claim 1 , wherein the program instructions that are executable by the at least one processor such that the CNC machine is configured to transmit the first image data to the first user device comprise program instructions that are executable by the at least one processor such that the CNC machine is configured to transmit the first image data to the first user device based on data received via the at least one sensor of the CNC machine.

7. The CNC machine of claim 6 , wherein the data received via the at least one sensor of the CNC machine comprises data indicating that a lid of the CNC machine is closed.

8. The CNC machine of claim 1 , wherein the program instructions that are executable by the at least one processor such that the CNC machine is configured to determine that the first user device has permission to receive image data acquired via the at least one sensor of the CNC machine comprise program instructions that are executable by the at least one processor such that the CNC machine is configured to determine that the first user device has permission to receive image data acquired via the at least one sensor of the CNC machine based on determining that the first user device and the CNC machine are both connected to a same local area network (LAN).

9. The CNC machine of claim 1 , wherein the program instructions that are executable by the at least one processor such that the CNC machine is configured to determine that the second user device has permission to receive image data acquired via the at least one sensor of the CNC machine comprise program instructions that are executable by the at least one processor such that the CNC machine is configured to determine that the second user device has permission to receive image data acquired via the at least one sensor of the CNC machine based on determining that the second user device and the CNC machine are both connected to a same local area network (LAN).

10. The CNC machine of claim 1 , wherein the command is a first command, further comprising program instructions stored on the non-transitory computer-readable medium that are executable by the at least one processor such that the CNC machine is configured to:

while executing the first set of instructions, receive, from the second user device, a second command for the CNC machine to execute the second set of instructions to deliver electromagnetic energy to the material and thereby effect one or more additional changes in the material after executing the first set of instructions, wherein the second set of instructions is generated by the second user device while the CNC machine is executing the first set of instructions.

11. The CNC machine of claim 10 , wherein the program instructions that are executable by the at least one processor such that the CNC machine is configured to, while executing the first set of instructions, transmit the indication to the second user device that the CNC machine is unavailable to execute the second set of instructions from the second device comprise program instructions that are executable by the at least one processor such that the CNC machine is configured to transmit the indication to the second user device based on receiving, from the second user device, the second command for the CNC machine to execute the second set of instructions.

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 computer-numerically-controlled (CNC) machine to:

determine that a first user device has permission to receive image data acquired via at least one sensor of the CNC machine;

determine that a second user device has permission to receive image data acquired via the at least one sensor of the CNC machine;

at a first time, based on determining that the first user device has permission, transmit first image data to the first user device, the first image data depicting a material positioned within an interior space defined by a housing of the CNC machine;

at a second time that is after the first time but before a third time, based on determining that the second user device has permission, transmit second image data to the second user device, the second image data depicting the material positioned within the interior space;

at the third time, receive, from the first user device, a command for the CNC machine to execute a first set of instructions to deliver electromagnetic energy to the material and thereby effect one or more changes in the material;

begin executing the first set of instructions to deliver electromagnetic energy to the material and thereby effect the one or more changes in the material; and

while executing the first set of instructions, transmit an indication to the second user device that the CNC machine is unavailable to execute a second set of instructions from the second user device.

13. The non-transitory computer-readable medium of claim 12 , wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the CNC machine to:

while executing the first set of instructions, acquire, via the at least one sensor of the CNC machine, third image data depicting the material positioned within the interior space; and

transmit the third image data to the second user device.

14. The non-transitory computer-readable medium of claim 12 , wherein the program instructions that, when executed by at least one processor, cause the CNC machine to determine that the first user device has permission to receive image data acquired via the at least one sensor of the CNC machine comprise program instructions that, when executed by at least one processor, cause the CNC machine to determine that the first user device is associated with a first user account that has permission to receive image data acquired via the at least one sensor of the CNC machine.

15. The non-transitory computer-readable medium of claim 12 , wherein the first image data is the same as the second image data.

16. The non-transitory computer-readable medium of claim 12 , wherein the program instructions that, when executed by at least one processor, cause the CNC machine to transmit the first image data to the first user device comprise program instructions that, when executed by at least one processor, cause the CNC machine to transmit the first image data to the first user device based on a request from the first user device for image data acquired via the at least one sensor of the CNC machine.

17. The non-transitory computer-readable medium of claim 12 , wherein the program instructions that, when executed by at least one processor, cause the CNC machine to transmit the first image data to the first user device comprise program instructions that, when executed by at least one processor, cause the CNC machine to transmit the first image data to the first user device based on data received via the at least one sensor of the CNC machine.

18. The non-transitory computer-readable medium of claim 17 , wherein the data received via the at least one sensor of the CNC machine comprises data indicating that a lid of the CNC machine is closed.

19. The non-transitory computer-readable medium of claim 12 , wherein the program instructions that, when executed by at least one processor, cause the CNC machine to determine that the first user device has permission to receive image data acquired via the at least one sensor of the CNC machine comprise program instructions that, when executed by at least one processor, cause the CNC machine to determine that the first user device has permission to receive image data acquired via the at least one sensor of the CNC machine based on determining that the first user device and the CNC machine are both connected to a same local area network (LAN).

20. A method carried out by a computer-numerically-controlled (CNC) machine, the method comprising:

determining that a first user device has permission to receive image data acquired via at least one sensor of the CNC machine;

determining that a second user device has permission to receive image data acquired via the at least one sensor of the CNC machine;

at a first time, based on determining that the first user device has permission, transmitting first image data to the first user device, the first image data depicting a material positioned within an interior space defined by a housing of the CNC machine;

at a second time that is after the first time but before a third time, based on determining that the second user device has permission, transmitting second image data to the second user device, the second image data depicting the material positioned within the interior space;

at the third time, receiving, from the first user device, a command for the CNC machine to execute a first set of instructions to deliver electromagnetic energy to the material and thereby effect one or more changes in the material;

beginning to execute the first set of instructions to deliver electromagnetic energy to the material and thereby effect the one or more changes in the material; and

while executing the first set of instructions, transmitting an indication to the second user device that the CNC machine is unavailable to execute a second set of instructions from the second user device.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2026
From: PURPLEVINE IP SINGAPORE PTE. LTD.
To: MAKEBLOCK HONGKONG HOLDING LIMITED
Reel/Frame 073443/0846 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2026
From: LASER EQUIPMENT COMPANY (ABC), LLC
To: PURPLEVINE IP SINGAPORE PTE. LTD.
Reel/Frame 073443/0355 →
RELEASE OF SECURITY INTEREST Recorded Jan 7, 2026
From: JPMORGAN CHASE BANK, N.A.
To: LASER EQUIPMENT COMPANY (ABC), LLC
Reel/Frame 073398/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2026
From: GLOWFORGE INC.
To: LASER EQUIPMENT COMPANY (ABC), LLC
Reel/Frame 073369/0542 →
SUPPLEMENT NO. 1 TO INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded May 13, 2024
From: GLOWFORGE INC.; GLOWFORGE INTERNATIONAL INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067385/0141 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2022
From: GOSSELIN, MARK; WRIGHT, ANTHONY; HAUG, SCOTT; WRIGHT, LINDEN
To: GLOWFORGE INC.
Reel/Frame 061989/0877 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2022
From: SHAPIRO, DANIEL
To: GLOWFORGE INC.
Reel/Frame 061989/0685 →
Continuity (4)
Continuation 17013290 · Sep 4, 2020
Continuation 15823509 · Nov 27, 2017
Provisional Application 62426432 · Nov 25, 2016
Related Publication 20230168658A1 · Jun 1, 2023