IP Library Granted Patent US 11,249,456
Granted Patent B2
US 11,249,456 · App. 15/823,502 · Granted Feb 15, 2022

Fabrication with image tracing

Inventors: Daniel Shapiro (Mercer Island, WA); Mark Gosselin (Seattle, WA); Anthony Wright (Seattle, WA); Jonathan Park (Seattle, WA); Kevin McVey (Seattle, WA); Scott Haug (Seattle, WA); Rachael Ludwick (Seattle, WA); Daniel Martinec (Seattle, WA)
Assignee: Glowforge Inc.
G05B19/4097G05B19/4093G06K9/46G06T7/40G05B2219/35134G05B2219/36175G05B2219/45165G05B2219/45212G06K2009/485Y02P90/02
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,249,456
App. No.
15/823,502
Granted
Feb 15, 2022
Kind
B2
Abstract

A method may include generating, by a camera having a view of an interior portion of a computer-numerically-controlled machine, an image comprising a pattern. The image can be transformed into a set of machine instructions for controlling the computer-numerically-controlled machine to effect a change in a material. The change can correspond to at least a portion of the pattern. At least one machine instruction from the set of machine instructions can be executed to control the computer-numerically-controlled machine to effect at least a portion of the change. The execution can include operating, in accordance with the at least one machine instruction, a tool coupled with the computer-numerically-controlled machine. The tool can configured to effect the change on the material. Related systems and articles of manufacture, including computer program products, are also provided.

Claims (75)

1. A computer-implemented method, comprising:

generating, by a camera having a view of an interior portion of a computer-numerically-controlled machine, an image comprising a pattern corresponding to an intended final appearance of a material, the pattern being disposed at a first location;

generating, based on at least a portion of the image, at least a portion of a set of machine instructions for controlling the computer-numerically-controlled machine to effect, at a second location on the material that is different than the first location, a change corresponding to at least a portion of the pattern, the set of machine instructions being generated without replacing any portion of the pattern with a design that is associated with one or more pre-existing machine instructions, the set of machine instructions being generated based on characteristics of the image comprising at least one of line color, line thickness, or line type; and

executing at least one machine instruction from the set of machine instructions to control the computer-numerically-controlled machine to effect at least a portion of the change, the execution comprising operating, in accordance with the at least one machine instruction, a tool coupled with the computer-numerically-controlled machine, the tool being configured to effect the change on the material at the second location.

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

analyzing the image to identify one or more features of the material;

analyzing the image to identify the pattern independently from the one or more features of the material; and

generating, based at least on the pattern, the set of machine instructions to cause the computer-numerically-controlled machine to effect the change on the material.

3. The computer-implemented method of claim 1 , wherein the first location and the second location are on the material, and wherein the tool traces the pattern on the material based at least on the image comprising the pattern.

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

correcting the image by at least performing one or more of a de-distortion, a de-warping, a correction for lighting effects, an adjustment of lighting within a housing of the computer-numerically-controlled machine, or a thresholding.

5. The computer-implemented method of claim 1 , wherein the camera is positioned to capture all of a material bed of the computer-numerically-controlled machine, and wherein the material is at least partially disposed on the material bed.

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

generating, based at least on an analysis of the image, one or more additional images, the analysis including determining that the image fails to capture one or more features of the material.

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

determining, based at least on a user input, a user intention, the portion of the set of machine instructions being generated further based at least on the user intention.

8. The computer-implemented method of claim 7 , wherein the user intention is applied globally to specify one or more properties of the change.

9. A computer-implemented method, comprising:

generating, by a camera having a view of an interior portion of a computer-numerically-controlled machine, an image comprising a pattern corresponding to an intended final appearance of a material, the pattern being disposed at a first location;

generating, based on at least a portion of the image, at least a portion of a first set of machine instructions for controlling the computer-numerically-controlled machine to effect, at a second location on the material that is different than the first location, a first change corresponding to at least a portion of the pattern, the first set of machine instructions being generated without replacing any portion of the pattern with a design that is associated with one or more pre-existing machine instructions, the first set of machine instructions being generated based on characteristics of the image comprising at least one of line color, line thickness, or line type;

combining the first set of machine instructions with a second set of machine instructions to generate a third set of machine instructions, the second set of machine instructions for controlling the computer-numerically-controlled machine to effect a second change in the material; and

executing at least one machine instruction from the third set of machine instructions to control the computer-numerically-controlled machine to effect the first change and the second change, the execution comprising operating, in accordance with the at least one machine instruction, a tool coupled with the computer-numerically-controlled machine, and the tool being configured to effect the first change and the second change directly onto the material.

10. A computer-implemented method, comprising:

generating, by a camera having a view of an interior portion of a computer-numerically-controlled machine, a first image of a material disposed inside the computer-numerically-controlled machine;

generating, based on at least a portion of a second image comprising a pattern disposed at a first location, at least a portion of a set of machine instructions for controlling the computer-numerically-controlled machine to effect a change in the material, the change corresponding to at least a portion of the pattern, the set of machine instructions being generated without replacing any portion of the pattern with a design that is associated with one or more pre-existing machine instructions, the set of machine instructions being generated based on characteristics of the second image comprising at least one of line color, line thickness, or line type, the change being effected at a second location on the material that is different than the first location, and the second location being determined based at least on the first image; and

executing at least one machine instruction from the set of machine instructions to control the computer-numerically-controlled machine to effect the change, the execution comprising operating, in accordance with the at least one machine instruction, a tool coupled with the computer-numerically-controlled machine, and the tool being configured to effect the change directly onto the material at the second location.

11. The computer-implemented method of claim 10 , further comprising:

generating, at a display, a virtual overlay of the change on the material, the change corresponding to at least the portion of the pattern included in the second image; and

modifying, in response to a user-generated input, the virtual overlay, the modifying including adjusting a size, a position, or an orientation of at least the portion of the pattern.

12. 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 a camera having a view of an interior portion of a computer-numerically-controlled machine, an image comprising a pattern corresponding to an intended final appearance of a material, the pattern being disposed at a first location;

generating, based on at least a portion of the image, at least a portion of a set of machine instructions for controlling the computer-numerically-controlled machine to effect, at a second location on the material that is different than the first location, a change corresponding to at least a portion of the pattern, the set of machine instructions being generated without replacing any portion of the pattern with a design that is associated with one or more pre-existing machine instructions, the set of machine instructions being generated based on characteristics of the image comprising at least one of line color, line thickness, or line type; and

executing at least one machine instruction from the set of machine instructions to control the computer-numerically-controlled machine to effect at least a portion of the change, the execution comprising operating, in accordance with the at least one machine instruction, a tool coupled with the computer-numerically-controlled machine, the tool being configured to effect the change on the material.

13. The system of claim 12 , further comprising:

analyzing the image to identify one or more features of the material;

analyzing the image to identify the pattern independently from the one or more features of the material; and

generating, based at least on the pattern, the set of machine instructions to cause the computer-numerically-controlled machine to effect the change on the material.

14. The system of claim 12 , wherein the first location and the second location are on the material and wherein the tool traces the pattern on the material based at least on the image comprising the pattern.

15. The system of claim 12 , further comprising:

correcting the image by at least performing one or more of a de-distortion, a de-warping, a correction for lighting effects, an adjustment of lighting within a housing of the computer-numerically-controlled machine, or a thresholding.

16. The system of claim 12 , wherein the camera is positioned to capture all of a material bed of the computer-numerically-controlled machine, and wherein the material is at least partially disposed on the material bed.

17. The system of claim 12 , further comprising:

generating, based at least on an analysis of the image, one or more additional images, the analysis including determining that the image fails to capture one or more features of the material.

18. The system of claim 12 , further comprising:

determining, based at least on a user input, a user intention, the portion of the set of machine instructions being generated further based at least on the user intention.

19. The system of claim 18 , wherein the user intention is applied globally to specify one or more properties of the change.

20. 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 a camera having a view of an interior portion of a computer-numerically-controlled machine, an image comprising a pattern corresponding to an intended final appearance of a material, the pattern being disposed at a first location;

generating, based on at least a portion of the image, at least a portion of a first set of machine instructions for controlling the computer-numerically-controlled machine to effect, at a second location on the material that is different than the first location, a first change corresponding to at least a portion of the pattern, the first set of machine instructions being generated without replacing any portion of the pattern with a design that is associated with one or more pre-existing machine instructions, the first set of machine instructions being generated based on characteristics of the image comprising at least one of line color, line thickness, or line type;

combining the first set of machine instructions with a second set of machine instructions to generate a third set of machine instructions, the second set of machine instructions for controlling the computer-numerically-controlled machine to effect a second change in the material; and

executing at least one machine instruction from the third set of machine instructions to control the computer-numerically-controlled machine to effect the first change and the second change, the execution comprising operating, in accordance with the at least one machine instruction, a tool coupled with the computer-numerically-controlled machine, and the tool being configured to effect the first change and the second change directly onto the material.

21. The computer-implemented method of claim 7 , wherein the user input specifies an operation for the pattern, and wherein at least the portion of the set of machine instructions is generated, based at least on the user input, to control the computer-numerically-controlled machine to perform the specified operation to effect, in the material, the change corresponding to at least the portion of the pattern.

22. The computer-implemented method of claim 1 , wherein the second location is determined based on a user input or a layout algorithm.

23. A computer-implemented method, comprising:

generating, by a camera having a view of an interior portion of a computer-numerically-controlled machine, an image comprising a pattern corresponding to an intended final appearance of a material, the pattern being disposed at a first location;

receiving, via a user interface, one or more user inputs specifying one or more transformations of the pattern;

generating, based on at least a portion of the image and the one or more user inputs, at least a portion of a set of machine instructions for controlling the computer-numerically-controlled machine to effect, at a second location on the material that is different than the first location, a change corresponding to the pattern having the one or more transformations, the set of machine instructions being generated without replacing any portion of the pattern with a design that is associated with one or more pre-existing machine instructions, the set of machine instructions being generated based on characteristics of the image comprising at least one of line color, line thickness or line type; and

executing at least one machine instruction from the set of machine instructions to control the computer-numerically-controlled machine to effect at least a portion of the change, the execution comprising operating, in accordance with the at least one machine instruction, a tool coupled with the computer-numerically-controlled machine, the tool being configured to effect the change on the material at the second location.

24. The computer-implemented method of claim 23 , wherein the one or more transformations include specifying a location of the pattern, a translation of the pattern, or a rotation of the pattern.

25. A computer-implemented method, comprising:

capturing, with a camera having a view of an interior portion of a computer-numerically-controlled machine, an image comprising details of a pattern that has been drawn directly onto a material, the pattern being disposed at a first location and corresponding to an intended final appearance of the material;

converting distorted image data of the image to corrected image data, the converting comprising executing an image correction program;

transforming the corrected image data into a set of machine instructions necessary to effect a change to the material to reproduce the details of the pattern at a second location on the material that is different than the first location, the set of machine instructions being generated without replacing any portion of the pattern with a design that is associated with one or more pre-existing machine instructions, the set of machine instructions being generated based on characteristics of the corrected image data comprising at least one of line color, line thickness or line type; and

executing the set of machine instructions to cause a tool of the computer-numerically-controlled machine to effect the change to the material at the second location.

26. The computer-implemented method of claim 25 , wherein the transforming comprises analyzing the image to find distinct edges of pixels of one color relative to pixels of another color in the pattern and generating a vector cut path at an intersection of the distinct edges.

27. The computer-implemented method of claim 25 , wherein the executing of the set of instructions further comprises tracing the pattern in place on the material.

28. The computer-implemented method of claim 25 , further comprising:

displaying the corrected image data with a software tool;

receiving, via the software tool, a user input to manipulate or edit the image; and

incorporating the user input when transforming the corrected image data into the set of machine instructions.

29. The computer-implemented method of claim 28 , further comprising overlaying the corrected image data onto an image of the material to provide a preview of the change to be effected by the computer-numerically-controlled machine when executing the set of machine instructions.

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/0367 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2026
From: GLOWFORGE INC.
To: LASER EQUIPMENT COMPANY (ABC), LLC
Reel/Frame 073369/0113 →
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 3, 2019
From: GOSSELIN, MARK; WRIGHT, ANTHONY; PARK, JONATHAN; MCVEY, KEVIN; HAUG, SCOTT; LUDWICK, RACHAEL; MARTINEC, DANIEL
To: GLOWFORGE, INC.
Reel/Frame 049071/0587 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 10, 2018
From: SHAPIRO, DANIEL
To: GLOWFORGE, INC.
Reel/Frame 044590/0026 →
Continuity (2)
Provisional Application 62426425 · Nov 25, 2016
Related Publication 20180150058A1 · May 31, 2018
Cited By (2)
US 12,330,231 US 12,346,104