IP Library Granted Patent US 12,287,617
Granted Patent B2
US 12,287,617 · App. 18/527,838 · Granted Apr 29, 2025

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/4063G05B19/409G06F3/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 12,287,617
App. No.
18/527,838
Granted
Apr 29, 2025
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 (53)

1. A first client device comprising:

at least one processor;

at least one non-transitory computer-readable medium; and

program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the first client device is configured to:

receive image data captured by a computer-numerically-controlled (CNC) machine, the image data depicting a first material positioned within an interior space defined by a housing of the CNC machine;

receive user input indicating a design to be fabricated on the first material;

transmit a command for the CNC machine to execute a first set of instructions to deliver electromagnetic energy to the first material and thereby fabricate the design on the first material;

after transmitting the command, receive an indication that the CNC machine is unavailable to execute the first set of instructions because the CNC machine is currently executing a second set of instructions received from a second client device;

receive updated image data captured by the CNC machine depicting the first material after the CNC machine has completed executing the second set of instructions; and

after receiving the updated image data, cause the CNC machine to, when available, execute a third set of instructions and thereby fabricate the design on the first material or a second material.

2. The first client device of claim 1 , wherein:

the user input comprises first user input;

the first client device further comprises program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the first client device is configured to:

cause the updated image data to be displayed; and

receive second user input indicating an updated design; and

the program instructions that are executable by the at least one processor such that the first client device is configured to cause the CNC machine to, when available, execute the third set of instructions and thereby fabricate the design on the first material or the second material comprise program instructions that are executable by the at least one processor such that the first client device is configured to cause the CNC machine to, when available, execute the third set of instructions and thereby fabricate the updated design on the first material or the second material.

3. The first client device of claim 1 , wherein the first set of instructions and the third set of instructions comprise a same set of instructions.

4. The first client device of claim 3 , further comprising program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the first client device is configured to:

cause the first set of instructions to be stored in memory accessible to the CNC machine.

5. The first client device of claim 4 , wherein the program instructions that are executable by the at least one processor such that the first client device is configured to cause the CNC machine to, when available, execute the third set of instructions and thereby fabricate the design on the first material or the second material comprise program instructions that are executable by the at least one processor such that the first client device is configured to cause the CNC machine to obtain the stored first set of instructions from the memory accessible to the CNC machine for execution.

6. The first client device of claim 1 , wherein the program instructions that are executable by the at least one processor such that the first client device is configured to receive the image data comprise program instructions that are executable by the at least one processor such that the first client device is configured to receive the image data from the CNC machine.

7. The first client device of claim 1 , wherein the image data is based on data captured by at least one sensor of the CNC machine.

8. The first client device of claim 7 , wherein the data captured by the at least one sensor of the CNC machine indicates that a lid of the CNC machine is closed.

9. The first client device of claim 1 , wherein:

the first client device further comprises program instructions stored on the at least one non-transitory computer-readable medium that are executable by the at least one processor such that the first client device is configured to transmit a request for the image data; and

the program instructions that are executable by the at least one processor such that the first client device is configured to receive the image data comprise program instructions that are executable by the at least one processor such that the first client device is configured to receive the image data based on requesting the image data.

10. The first client device of claim 1 , wherein the program instructions that are executable by the at least one processor such that the first client device is configured to cause the CNC machine to, when available, execute the third set of instructions and thereby fabricate the design on the first material or the second material comprise program instructions that are executable by the at least one processor such that the first client device is configured to cause the CNC machine to, when available, execute the third set of instructions and thereby fabricate the design on the first material.

11. The first client device of claim 10 , wherein the design is a first partial design, the second set of instructions received from the second client device is a second partial design, and the first partial design and the second partial design together comprise a merged design; and

wherein the program instructions that are executable by the at least one processor such that the first client device is configured to cause the CNC machine to, when available, execute the third set of instructions and thereby fabricate the first partial design on the first material comprise program instructions that are executable by the at least one processor such that the first client device is configured to cause the CNC machine to, when available, execute the third set of instructions and thereby fabricate the merged design on the first material.

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 first client device to:

receive image data captured by a computer-numerically-controlled (CNC) machine, the image data depicting a first material positioned within an interior space defined by a housing of the CNC machine;

receive user input indicating a design to be fabricated on the first material;

transmit a command for the CNC machine to execute a first set of instructions to deliver electromagnetic energy to the first material and thereby fabricate the design on the first material;

after transmitting the command, receive an indication that the CNC machine is unavailable to execute the first set of instructions because the CNC machine is currently executing a second set of instructions received from a second client device;

receive updated image data captured by the CNC machine depicting the first material after the CNC machine has completed executing the second set of instructions; and

after receiving the updated image data, cause the CNC machine to, when available, execute a third set of instructions and thereby fabricate the design on the first material or a second material.

13. The non-transitory computer-readable medium of claim 12 , wherein:

the user input comprises first user input;

the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the first client device to:

cause the updated image data to be displayed; and

receive second user input indicating an updated design; and

the program instructions that, when executed by at least one processor, cause the first client device to cause the CNC machine to, when available, execute the third set of instructions and thereby fabricate the design on the first material or the second material comprise program instructions that, when executed by at least one processor, cause the first client device to cause the CNC machine to, when available, execute the third set of instructions and thereby fabricate the updated design on the first material or the second material.

14. The non-transitory computer-readable medium of claim 12 , wherein the first set of instructions and the third set of instructions comprise a same set of instructions.

15. The non-transitory computer-readable medium of claim 14 , wherein the non-transitory computer-readable medium is also provisioned with program instructions that, when executed by at least one processor, cause the first client device to:

cause the first set of instructions to be stored in memory accessible to the CNC machine.

16. The non-transitory computer-readable medium of claim 15 , wherein the program instructions that, when executed by at least one processor, cause the first client device to cause the CNC machine to, when available, execute the third set of instructions and thereby fabricate the design on the first material or the second material comprise program instructions that, when executed by at least one processor, cause the first client device to cause the CNC machine to obtain the stored first set of instructions from the memory accessible to the CNC machine for execution.

17. A method implemented by a first client device, the method comprising:

receiving image data captured by a computer-numerically-controlled (CNC) machine, the image data depicting a first material positioned within an interior space defined by a housing of the CNC machine;

receiving user input indicating a design to be fabricated on the first material;

transmitting a command for the CNC machine to execute a first set of instructions to deliver electromagnetic energy to the first material and thereby fabricate the design on the first material;

after transmitting the command, receiving an indication that the CNC machine is unavailable to execute the first set of instructions because the CNC machine is currently executing a second set of instructions received from a second client device;

receiving updated image data captured by the CNC machine depicting the first material after the CNC machine has completed executing the second set of instructions; and

after receiving the updated image data, causing the CNC machine to, when available, execute a third set of instructions and thereby fabricate the design on the first material or a second material.

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/0437 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2026
From: PURPLEVINE IP SINGAPORE PTE. LTD.
To: MAKEBLOCK HONGKONG HOLDING LIMITED
Reel/Frame 073443/0896 →
RELEASE OF SECURITY INTEREST Recorded Jan 7, 2026
From: JPMORGAN CHASE BANK, N.A.
To: LASER EQUIPMENT COMPANY (ABC), LLC
Reel/Frame 073398/0789 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2026
From: GLOWFORGE INC.
To: LASER EQUIPMENT COMPANY (ABC), LLC
Reel/Frame 073369/0811 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 21, 2024
From: GOSSELIN, MARK; WRIGHT, ANTHONY; HAUG, SCOTT; WRIGHT, LINDEN; SHAPIRO, DANIEL
To: GLOWFORGE INC.
Reel/Frame 068359/0364 →
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 →
Continuity (5)
Continuation 17959024 · Oct 3, 2022
Continuation 17013290 · Sep 4, 2020
Continuation 15823509 · Nov 27, 2017
Provisional Application 62426432 · Nov 25, 2016
Related Publication 20240295866A1 · Sep 5, 2024
References Cited (172)
US 3721811A · Taylor et al. · 1973 [cited by applicant]
US 3967176A · Wagener et al. · 1976 [cited by applicant]
US 4055787A · Beadle et al. · 1977 [cited by applicant]
US 4138718A · Toke et al. · 1979 [cited by applicant]
US 4383762A · Burkert · 1983 [cited by applicant]
US 4650287A · Kudo et al. · 1987 [cited by applicant]
US 4723219A · Beyer et al. · 1988 [cited by applicant]
US 4863538A · Deckard · 1989 [cited by applicant]
US 4894831A · Alfrey · 1990 [cited by applicant]
US 4901359A · Bruder · 1990 [cited by applicant]
US 4918611A · Shyu et al. · 1990 [cited by applicant]
US 5298843A · Miyajima et al. · 1994 [cited by applicant]
US 5355250A · Grasso et al. · 1994 [cited by applicant]
US 5396279A · Vossen · 1995 [cited by applicant]
US 5475521A · Heidemann · 1995 [cited by applicant]
US 5756961A · Sato et al. · 1998 [cited by applicant]
US 6031200A · Whitehouse · 2000 [cited by applicant]
US 6085122A · Manning · 2000 [cited by applicant]
US 6087625A · Iso · 2000 [cited by applicant]
US 6284999B1 · Virtanen et al. · 2001 [cited by applicant]
US 6420675B1 · Lizotte et al. · 2002 [cited by applicant]
US 6498653B1 · Wang · 2002 [cited by applicant]
US 6528758B2 · Shaffer · 2003 [cited by applicant]
US 6609044B1 · Basista et al. · 2003 [cited by applicant]
US 6628322B1 · Cerruti · 2003 [cited by applicant]
US 6696667B1 · Flanagan · 2004 [cited by applicant]
US 7005606B2 · Legge et al. · 2006 [cited by applicant]
US 7302483B1 · Carbone et al. · 2007 [cited by applicant]
US 7456372B2 · Hiramatsu · 2008 [cited by applicant]
US 8111904B2 · Wallack et al. · 2012 [cited by applicant]
US 8136432B2 · Travez et al. · 2012 [cited by applicant]
US 8786928B2 · Dolleris et al. · 2014 [cited by applicant]
US 8809780B2 · Wollenhaupt et al. · 2014 [cited by applicant]
US 8921734B2 · Yerazunis et al. · 2014 [cited by applicant]
US 9020628B2 · Fagan · 2015 [cited by applicant]
US 9235205B2 · Prestidge et al. · 2016 [cited by applicant]
US 9469338B2 · Norberg Ohlsson · 2016 [cited by applicant]
US 9618926B1 · Louette et al. · 2017 [cited by applicant]
US 9734419B1 · Ye et al. · 2017 [cited by applicant]
US 9782906B1 · Aminpour et al. · 2017 [cited by applicant]
US 9912915B2 · Sinclair · 2018 [cited by applicant]
US 9987798B2 · Tyler · 2018 [cited by applicant]
US 10052822B1 · Sait · 2018 [cited by applicant]
US 10234260B2 · Siercks et al. · 2019 [cited by applicant]
US 20010012973A1 · Wehrli et al. · 2001 [cited by applicant]
US 20020129485A1 · Mok et al. · 2002 [cited by applicant]
US 20020144987A1 · Tomlinson et al. · 2002 [cited by applicant]
US 20030049373A1 · Van De Rijdt et al. · 2003 [cited by applicant]
US 20040207831A1 · Aoyama · 2004 [cited by applicant]
US 20040223165A1 · Kurokawa et al. · 2004 [cited by applicant]
US 20040245227A1 · Grafton-Reed et al. · 2004 [cited by applicant]
US 20050051523A1 · Legge et al. · 2005 [cited by applicant]
US 20050069682A1 · Tseng · 2005 [cited by applicant]
US 20050071020A1 · Yamazaki et al. · 2005 [cited by applicant]
US 20050115941A1 · Sukhman et al. · 2005 [cited by applicant]
US 20050142701A1 · Yamaguchi et al. · 2005 [cited by applicant]
US 20050187651A1 · Kimura et al. · 2005 [cited by applicant]
US 20060043615A1 · Zheng et al. · 2006 [cited by applicant]
US 20070000889A1 · Yamazaki et al. · 2007 [cited by applicant]
US 20070032733A1 · Burton · 2007 [cited by applicant]
US 20070034615A1 · Kleine · 2007 [cited by applicant]
US 20070181544A1 · Sukhman et al. · 2007 [cited by applicant]
US 20080058734A1 · Hanft et al. · 2008 [cited by applicant]
US 20080149604A1 · Varriano-Marston et al. · 2008 [cited by applicant]
US 20080160254A1 · Arnold · 2008 [cited by applicant]
US 20080243299A1 · Johnson et al. · 2008 [cited by applicant]
US 20080249653A1 · Ichikawa · 2008 [cited by applicant]
US 20090120914A1 · Lawrence · 2009 [cited by applicant]
US 20090250445A1 · Yamaguchi et al. · 2009 [cited by applicant]
US 20090308851A1 · Harnisch et al. · 2009 [cited by applicant]
US 20100063603A1 · Chandhoke · 2010 [cited by applicant]
US 20100081971A1 · Allison · 2010 [cited by applicant]
US 20100149337A1 · Porcino · 2010 [cited by applicant]
US 20100193482A1 · Ow et al. · 2010 [cited by applicant]
US 20100193483A1 · Chen et al. · 2010 [cited by applicant]
US 20100262590A1 · Holt · 2010 [cited by applicant]
US 20100274379A1 · Hehl · 2010 [cited by applicant]
US 20100301023A1 · Unrath et al. · 2010 [cited by applicant]
US 20110127333A1 · Veksland et al. · 2011 [cited by applicant]
US 20110193943A1 · Campbell · 2011 [cited by applicant]
US 20110316977A1 · Pienaar · 2011 [cited by applicant]
US 20120035745A1 · Mori et al. · 2012 [cited by applicant]
US 20120109590A1 · Trainer et al. · 2012 [cited by applicant]
US 20120117787A1 · Sun et al. · 2012 [cited by applicant]
US 20120197427A1 · Gallucci · 2012 [cited by applicant]
US 20120293821A1 · Chiba · 2012 [cited by applicant]
US 20130158957A1 · Lee et al. · 2013 [cited by applicant]
US 20130178972A1 · Goldsmith et al. · 2013 [cited by applicant]
US 20130190898A1 · Shilpiekandula et al. · 2013 [cited by applicant]
US 20130200053A1 · Bordatchev · 2013 [cited by applicant]
US 20130211391A1 · Benyakar et al. · 2013 [cited by applicant]
US 20130304248A1 · Lange et al. · 2013 [cited by applicant]
US 20140005804A1 · Brand · 2014 [cited by applicant]
US 20140018779A1 · Worrell et al. · 2014 [cited by applicant]
US 20140032706A1 · Kuscher et al. · 2014 [cited by applicant]
US 20140039707A1 · Curtis et al. · 2014 [cited by applicant]
US 20140071330A1 · Zhang et al. · 2014 [cited by applicant]
US 20140071502A1 · Liu · 2014 [cited by applicant]
US 20140160273A1 · Jedynak et al. · 2014 [cited by applicant]
US 20140268607A1 · Wicker et al. · 2014 [cited by applicant]
US 20140310122A1 · Danielson et al. · 2014 [cited by applicant]
US 20140371895A1 · Sadusk et al. · 2014 [cited by applicant]
US 20150030821A1 · Costin, Sr. et al. · 2015 [cited by applicant]
US 20150107033A1 · Chang et al. · 2015 [cited by applicant]
US 20150108095A1 · Kruer et al. · 2015 [cited by applicant]
US 20150112470A1 · Chang et al. · 2015 [cited by applicant]
US 20150154453A1 · Wilf · 2015 [cited by applicant]
US 20150158311A1 · Ogasawara et al. · 2015 [cited by applicant]
US 20150197064A1 · Walker et al. · 2015 [cited by applicant]
US 20150212421A1 · Devilliers et al. · 2015 [cited by applicant]
US 20150245549A1 · Kurita et al. · 2015 [cited by applicant]
US 20150355621A1 · Ikeda et al. · 2015 [cited by applicant]
US 20150378348A1 · Gupta et al. · 2015 [cited by applicant]
US 20160059371A1 · Chang et al. · 2016 [cited by applicant]
US 20160084649A1 · Yamazaki et al. · 2016 [cited by applicant]
US 20160147213A1 · Murakami · 2016 [cited by applicant]
US 20160156771A1 · Lee · 2016 [cited by applicant]
US 20160199945A1 · Mcdowell et al. · 2016 [cited by applicant]
US 20160210737A1 · Straub et al. · 2016 [cited by applicant]
US 20160271718A1 · Fagan · 2016 [cited by applicant]
US 20160303845A1 · Arce · 2016 [cited by applicant]
US 20160325541A1 · Lavrentyev et al. · 2016 [cited by applicant]
US 20160360409A1 · Singh · 2016 [cited by applicant]
US 20160370165A1 · Kelley et al. · 2016 [cited by applicant]
US 20170045877A1 · Shapiro et al. · 2017 [cited by applicant]
US 20170045879A1 · Yang et al. · 2017 [cited by applicant]
US 20170057008A1 · Liu et al. · 2017 [cited by applicant]
US 20170123362A1 · Masui et al. · 2017 [cited by applicant]
US 20170173888A1 · Thomas-lepore et al. · 2017 [cited by applicant]
US 20170235293A1 · Shapiro et al. · 2017 [cited by applicant]
US 20170235294A1 · Shapiro et al. · 2017 [cited by applicant]
US 20170243374A1 · Matsuzawa · 2017 [cited by applicant]
US 20170341183A1 · Buller et al. · 2017 [cited by applicant]
US 20180001565A1 · Hocker · 2018 [cited by applicant]
US 20180113434A1 · Shapiro et al. · 2018 [cited by applicant]
US 20180147657A1 · Shapiro · 2018 [cited by applicant]
US 20180147658A1 · Shapiro · 2018 [cited by applicant]
US 20180147659A1 · Shapiro · 2018 [cited by applicant]
US 20180150047A1 · Shapiro · 2018 [cited by applicant]
US 20180150055A1 · Shapiro · 2018 [cited by applicant]
US 20180150058A1 · Shapiro · 2018 [cited by applicant]
US 20180150062A1 · Shapiro · 2018 [cited by applicant]
US 20180246502A1 · Meier et al. · 2018 [cited by applicant]
US 20190058870A1 · Rowell et al. · 2019 [cited by applicant]
US 20190278250A1 · Clement et al. · 2019 [cited by applicant]
US 20190310604A1 · Shapiro et al. · 2019 [cited by applicant]
US 20200064806A1 · Shapiro et al. · 2020 [cited by applicant]
US 20200073362A1 · Shapiro et al. · 2020 [cited by applicant]
US 20200089184A1 · Shapiro et al. · 2020 [cited by applicant]
US 20200089185A1 · Shapiro et al. · 2020 [cited by applicant]
US 20200125071A1 · Shapiro et al. · 2020 [cited by applicant]
US 20200142382A1 · Hiranuma · 2020 [cited by applicant]
CN 101095033A · 2007 [cited by applicant]
CN 101733558A · 2010 [cited by applicant]
CN 101837517A · 2010 [cited by applicant]
CN 205958834U · 2017 [cited by applicant]
CN 106670656A · 2017 [cited by applicant]
DE 102014214058A1 · 2016 [cited by applicant]
EP 0954125A2 · 1999 [cited by applicant]
EP 1309108A1 · 2003 [cited by applicant]
EP 2471625A2 · 2012 [cited by applicant]
EP 2808123A1 · 2014 [cited by applicant]
JP H03254380A · 1991 [cited by applicant]
JP H04244347A · 1992 [cited by applicant]
JP 2002123306A · 2002 [cited by applicant]
WO 199403302A1 · 1994 [cited by applicant]
WO 2001076250A1 · 2001 [cited by applicant]
WO 2016131019A1 · 2016 [cited by applicant]
WO 2016131022A1 · 2016 [cited by applicant]
Dazhong Wu et al., “Cloud Manufacturing: Drivers, Current Status, and Future Trends.” vol. 2. Systems; Micro And Nano Technologies Sustainable Manufacturing, Jun. 10, 2013, Retrieved on May 10, 2016, pp. 1-10. [cited by applicant]
Gao, Rong et al., “Human-Machine Collaborative Workshop Digital Manufacturing.” ICICTA, 2010 IEEE. May 11, 2010, pp. 445-448. [cited by applicant]
International Search Report and Written Opinion issued in International Application No. PCT/US2017/063190, mailed May 3, 2018 (Mar. 5, 2018), 18 pages. [cited by applicant]