IP Library Granted Patent US 10,802,465
Granted Patent B2
US 10,802,465 · App. 15/823,509 · Granted Oct 13, 2020

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 10,802,465
App. No.
15/823,509
Granted
Oct 13, 2020
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 (60)

1. A computer-implemented method comprising:

generating, by at least one sensor operatively coupled to a computer-numerically-controlled machine, an image of a material within an interior space of the computer-numerically-controlled machine, the computer-numerically-controlled machine comprising a head configured to deliver an electromagnetic energy to effect a change in the material within the interior space of the computer-numerically-controlled machine, the image depicting a shape of at least a portion of the material;

in response to determining that a user and/or a device associated with the user have a permission to receive the image, sending, to the device associated with the user, at least a portion of the image;

receiving, at the computer-numerically-controlled machine, a command to be executed by the computer-numerically-controlled machine, the command being generated at the device associated with the user based at least in part on the image depicting the shape of at least a portion of the material;

determining a hardware state of a component in the computer-numerically-controlled machine by at least receiving, from the component, data indicative of the hardware state;

identifying an origin of the command, the origin of the command comprising a user identification of the user who sent the command and/or a machine identification of the device;

determining, based at least on the hardware state of the component and/or the origin of the command, that the command is allowed to be executed by the computer-numerically-controlled machine, the determining includes applying a set of rules defining when the computer-numerically controlled machine is allowed to execute the command; and

in response to determining that the computer-numerically-controlled machine is allowed to execute the command, executing the command at the computer-numerically-controlled machine.

2. The computer-implemented method of claim 1 , further comprising

defining, at a device configured to communicate with the computer-numerically-controlled machine, permissions comprising an administrator-level permission and/or a lower-level permission, the administrator-level permission including an ability to modify the command based at least on the origin of the command being associated with the lower-level permission.

3. The computer-implemented method of claim 2 , further comprising

defining, at a device configured to communicate with the computer-numerically-controlled machine, an owner of a job, the job comprising instructions for at least partially executing a motion plan at the computer-numerically-controlled machine.

4. The computer-implemented method of claim 1 , wherein the component in the computer-numerically-controlled machine comprises a sensor configured to capture data from the computer-numerically-controlled machine, and wherein the command comprises a request to transmit, to the device, at least a portion of the data captured by the sensor.

5. The computer-implemented method of claim 1 , wherein the computer-numerically-controlled machine is configured to execute a job comprising executing at least a portion of a motion plan, wherein the job is associated with a completion state defined by at least the completion of the motion plan, and wherein the command is not allowed to be executed by the computer-numerically-controlled machine when the origin of the command is associated with a lower-level permission unless the origin of the command is an owner of the job and the job is completed according to the completion state.

6. The computer-implemented method of claim 1 , wherein the command is not allowed to be executed unless the material within the interior space of the computer-numerically-controlled machine is removed from the computer-numerically-controlled machine.

7. The computer-implemented method of claim 1 , further comprising:

displaying, at the device, a graphical representation of at least one of the material within the interior space of the computer-numerically-controlled machine, a current user of the computer-numerically-controlled machine, a status of the computer-numerically-controlled machine, a remaining time of a job being executed by the computer-numerically-controlled machine, a waiting user scheduled to use the computer-numerically-controlled machine, a delay time between consecutive uses of the computer-numerically-controlled machine, and a schedule of jobs queued to be executed by the computer-numerically-controlled machine.

8. The computer-implemented method of claim 1 , wherein the command is not allowed to be executed by the computer-numerically controlled machine based at least on the command being associated with a motion plan requiring a different type of material than the material within the interior space of the computer-numerically-controlled machine.

9. The computer-implemented method of claim 8 , further comprising:

verifying the type of the material at least by analyzing the image of the material and comparing the image to a library of known material types.

10. The computer-implemented method of claim 1 , wherein the set of rules includes one or more operation limits of the computer-numerically-controlled machine, and wherein the command is not allowed to be executed by the computer-numerically-controlled machine based at least on the command being associated with a motion plan that conflicts with the set of rules.

11. The computer-implemented method of claim 1 , wherein the command is not allowed to be executed by the computer-numerically-controlled machine based at least on the user who sent the command being locked out of the computer-numerically-controlled machine.

12. The computer-implemented method of claim 1 , further comprising disabling the computer-numerically-controlled machine in response to the command being a disable command and a determination that the computer-numerically-controlled machine is allowed to execute the disable command.

13. The computer-implemented method of claim 12 , wherein the disabling comprises at least one of shutting down the head delivering the electromagnetic energy and shutting down the computer-numerically-controlled machine according to a pre-programmed sequence, and wherein the pre-programmed sequence is configured to minimize a difference in an appearance of a finished work-product relative to an appearance of the finished work-product machined without a shutdown.

14. The computer-implemented method of claim 1 , wherein the hardware state of the component includes a speed of the head, a position of the head, and/or a power of the electromagnetic energy delivered by the head.

15. The computer-implemented method of claim 1 , further comprising:

identifying, from a plurality of users at one or more devices communicatively coupled with the computer-numerically-controlled machine, the user as being associated with the image.

16. A system comprising:

at least one data processor; and

at least one memory including instructions, which when executed by the at least one data processor, cause operations comprising:

generating, by at least one sensor operatively coupled to a computer-numerically-controlled machine, an image of a material within an interior space of the computer-numerically-controlled machine, the computer-numerically-controlled machine comprising a head configured to deliver an electromagnetic energy to effect a change in the material within the interior space of the computer-numerically-controlled machine, the image depicting a shape of at least a portion of the material;

in response to determining that a user and/or a device associated with the user have a permission to receive the image, sending, to the device associated with the user, at least a portion of the image;

receiving, at the computer-numerically-controlled machine, a command to be executed by the computer-numerically-controlled machine, the command being generated at the device associated with the user based at least in part on the image depicting the shape of at least a portion of the material;

determining a hardware state of a component in the computer-numerically-controlled machine by at least receiving, from the component, data indicative of the hardware state;

identifying an origin of the command, the origin of the command comprising a user identification of the user who sent the command and/or a machine identification of the device;

determining, based at least on the hardware state of the component and/or the origin of the command, that the command is allowed to be executed by the computer-numerically-controlled machine, the determining includes applying a set of rules defining when the computer-numerically controlled machine is allowed to execute the command; and

in response to determining that the computer-numerically-controlled machine is allowed to execute the command, executing the command at the computer-numerically-controlled machine.

17. The system of claim 16 , further comprising

defining, at a device configured to communicate with the computer-numerically-controlled machine, permissions comprising an administrator-level permission and/or a lower-level permission, the administrator-level permission including an ability to modify the command based at least on the origin of the command being associated with the lower-level permission.

18. The system of claim 17 , further comprising:

defining, at the device, an owner of a job comprising instructions for at least partially executing a motion plan at the computer-numerically-controlled machine.

19. The system of claim 16 , wherein the computer-numerically-controlled machine is configured to execute a job comprising executing at least a portion of a motion plan, wherein the job is associated with a completion state defined by at least the completion of the motion plan, and wherein the command is not allowed to be executed by the computer-numerically-controlled machine when the origin of the command is associated with a lower-level permission unless the origin of the command is an owner of the job and the job is completed according to the completion state.

20. The system of claim 16 , wherein the command is not allowed to be executed unless the material within the interior space of the computer-numerically-controlled machine is removed from the computer-numerically-controlled machine.

21. The system of claim 16 , further comprising:

displaying, at the device, a graphical representation of at least one of the material within the interior space of the computer-numerically-controlled machine, a current user of the computer-numerically-controlled machine, a status of the computer-numerically-controlled machine, a remaining time of a job being executed by the computer-numerically-controlled machine, a waiting user scheduled to use the computer-numerically-controlled machine, a delay time between consecutive uses of the computer-numerically-controlled machine, and a schedule of jobs queued to be executed by the computer-numerically-controlled machine.

22. The system of claim 16 , wherein the command is not allowed to be executed by the computer-numerically controlled machine based at least on the command being associated with a motion plan requiring a different type of material than the material within the interior space of the computer-numerically-controlled machine.

23. The system of claim 22 , further comprising:

verifying the type of material at least by analyzing the image and comparing the image to a library of known material types.

24. The system of claim 16 , wherein the set of rules includes one or more operation limits of the computer-numerically-controlled machine, and wherein the command is not allowed to be executed by the computer-numerically-controlled machine based at least on the command being associated with a motion plan that conflicts with the set of rules.

25. The system of claim 16 , wherein the command is not allowed to be executed by the computer-numerically-controlled machine based at least on the user who sent the command being locked out of the computer-numerically-controlled machine.

26. The system of claim 16 , further comprising disabling the computer-numerically-controlled machine in response to the command being a disable command and a determination that the computer-numerically-controlled machine is allowed to execute the disable command.

27. The system of claim 26 , wherein the disabling comprises at least one of shutting down the head delivering the electromagnetic energy and shutting down the computer-numerically-controlled machine according to a pre-programmed sequence, and wherein the pre-programmed sequence is configured to minimize a difference in an appearance of a finished work-product relative to an appearance of the finished work-product machined without a shutdown.

28. A non-transitory computer medium including program code, which when executed by at least one data processor, cause the operations comprising:

generating, by at least one sensor operatively coupled to a computer-numerically-controlled machine, an image of a material within an interior space of the computer-numerically-controlled machine, the computer-numerically-controlled machine comprising a head configured to deliver an electromagnetic energy to effect a change in the material within the interior space of the computer-numerically-controlled machine, the image depicting a shape of at least a portion of the material;

in response to determining that a user and/or a device associated with the user have a permission to receive the image, sending, to the device associated with the user, at least a portion of the image;

receiving, at the computer-numerically-controlled machine, a command to be executed by the computer-numerically-controlled machine, the command being generated at the device associated with the user based at least in part on the image depicting the shape of at least a portion of the material;

determining a hardware state of a component in the computer-numerically-controlled machine by at least receiving, from the component, data indicative of the hardware state;

identifying an origin of the command, the origin of the command comprising a user identification of the user who sent the command and/or a machine identification of the device;

determining, based at least on the hardware state of the component and/or the origin of the command, that the command is allowed to be executed by the computer-numerically-controlled machine, the determining includes applying a set of rules defining when the computer-numerically controlled machine is allowed to execute the command; and

in response to determining that the computer-numerically-controlled machine is allowed to execute the command, executing the command at the computer-numerically-controlled machine.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2026
From: LASER EQUIPMENT COMPANY (ABC), LLC
To: PURPLEVINE IP SINGAPORE PTE. LTD.
Reel/Frame 073443/0113 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2026
From: PURPLEVINE IP SINGAPORE PTE. LTD.
To: MAKEBLOCK HONGKONG HOLDING LIMITED
Reel/Frame 073443/0728 →
RELEASE OF SECURITY INTEREST Recorded Jan 7, 2026
From: JPMORGAN CHASE BANK, N.A.
To: LASER EQUIPMENT COMPANY (ABC), LLC
Reel/Frame 073398/0273 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2026
From: GLOWFORGE INC.
To: LASER EQUIPMENT COMPANY (ABC), LLC
Reel/Frame 073368/0985 →
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 May 4, 2019
From: GOSSELIN, MARK; WRIGHT, ANTHONY; HAUG, SCOTT; WRIGHT, LINDEN
To: GLOWFORGE, INC.
Reel/Frame 049085/0693 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2018
From: SHAPIRO, DANIEL
To: GLOWFORGE, INC.
Reel/Frame 044590/0026 →
Continuity (2)
Provisional Application 62426432 · Nov 25, 2016
Related Publication 20180150055A1 · May 31, 2018
Cited By (1)
US 12,330,231