IP Library Granted Patent US 8,095,232
Granted Patent B2
US 8,095,232 · App. 11/556,008 · Granted Jan 10, 2012

Printer driver systems and methods for automatic generation of embroidery designs

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 8,095,232
App. No.
11/556,008
Granted
Jan 10, 2012
Kind
B2
Abstract

An example printer driver system and method disclosed herein includes determining a set of line segments corresponding to received image information, determining a first polygon from a first subset of the set of line segments, determining a second polygon from a second subset of the set of line segments, determining that a first line segment in the first subset and a second line segment in the second subset are collinear, removing the first line segment from the set of line segments, subtracting the first line segment from the second line segment to form a third line segment, replacing the second line segment in the set of line segments with the third line segment, determining a path corresponding to the set of line segments, determining a set of coordinates corresponding to the path, and instructing an embroidery machine to stitch the path in a substrate using the set of coordinates.

Claims (50)

1. A method to instruct an embroidery machine, the method comprising:

receiving image information;

determining a set of line segments corresponding to the image information;

determining a first polygon from a first subset of the set of line segments;

determining a second polygon from a second subset of the set of line segments;

determining that a first line segment in the first subset and a second line segment in the second subset are collinear;

removing the first line segment from the set of line segments;

subtracting the first line segment from the second line segment to form a third line segment;

replacing the second line segment in the set of line segments with the third line segment;

determining a path corresponding to the set of line segments;

determining a set of coordinates corresponding to the path; and

instructing an embroidery machine to stitch the path in a substrate using the set of coordinates.

2. A method to instruct an embroidery machine, the method comprising:

receiving vector data generated by a printer subsystem;

determining a set of line segments based on the vector data;

determining a stroke path corresponding to the set of line segments, wherein the stroke path is based on an attribute specified by the printer subsystem;

determining a set of coordinates corresponding to the stroke path; and

instructing an embroidery machine to stitch the stroke path in a substrate based on the set of coordinates.

3. A method as defined in claim 2 , wherein the stroke path comprises at least one of a round end cap, a square end cap, a round joint, a miter joint, or a bevel joint.

4. A method as defined in claim 3 wherein, when the stroke path includes a round end cap, determining the stroke path comprises determining a middle point of an arc and adding a plurality of points around the arc to obtain a predetermined smoothness, and wherein the set of coordinates comprises coordinates for the plurality of points and the middle point.

5. A method as defined in claim 3 wherein, when the stroke path includes a square end cap, determining the stroke path comprises determining corner points, and wherein the set of coordinates comprises coordinates for the corner points.

6. A method as defined in claim 3 wherein, when the stroke path includes a round joint, determining the stroke path comprises, determining a bisector vector of the stroke path, calculating a plurality of points around an arc based on the width of the stroke path and the bisector vector, and wherein the set of coordinates comprises coordinates for the plurality of points.

7. A method as defined in claim 3 wherein, when the stroke path includes a miter joint, determining the stroke path comprises determining a width of the stroke path, determining a bisector vector of the stroke path, and determining a miter length, and wherein the set of coordinates is based on the bisector vector, the width of the stroke path and the miter length.

8. A method as defined in claim 3 wherein, when the stroke path includes a bevel joint, determining the stroke path comprises determining a width of the stroke path, and determining a bisector vector of the stroke path, and wherein the set of coordinates is based on the bisector vector, the width of the stroke path and the miter length.

9. An apparatus comprising:

a processor; and

a memory coupled to the processor, the memory comprising instructions which, when executed by the processor, cause the processor to:

receive vector data generated by a printer subsystem;

determine a set of line segments based on the vector data;

determine a stroke path corresponding to the set of line segments, wherein the stroke path is based on an attribute specified by the printer subsystem;

determine a set of coordinates corresponding to the stroke path; and

instruct an embroidery machine to stitch the stroke path in a substrate using the set of coordinates.

10. An apparatus as defined in claim 9 , wherein the stroke path comprises at least one of a round end cap, a square end cap, a round joint, a miter joint, or a bevel joint.

11. An apparatus as defined in claim 10 wherein, when the stroke path includes a round end cap, the processor determines the stroke path by determining a middle point of an arc and adding a plurality of points around the arc to obtain a predetermined smoothness, and wherein the set of coordinates comprises coordinates for the plurality of points and the middle point.

12. An apparatus as defined in claim 10 wherein, when the stroke path includes a square end cap, the processor determines the stroke path by determining corner points, wherein the set of coordinates comprises coordinates for the corner points.

13. An apparatus as defined in claim 10 wherein, when the stroke path includes a round joint, the processor determines the stroke path by calculating a plurality of points around an arc based on the width of the stroke path and the bisector vector, and wherein the set of coordinates comprises coordinates for the plurality of points.

14. An apparatus as defined in claim 10 wherein, when the stroke path includes a miter joint, the processor determines the stroke path by determining a width of the stroke path, determining a bisector vector of the stroke path, and determining a miter length, and wherein the set of coordinates is based on the bisector vector, the width of the stroke path and the miter length.

15. An apparatus as defined in claim 10 wherein, when the stroke path includes a bevel joint, the processor determines the stroke path by determining a width of the stroke path, and determining a bisector vector of the stroke path, and wherein the set of coordinates is based on the bisector vector, the width of the stroke path and the miter length.

16. An article of manufacture comprising machine readable instructions stored on a computer-readable medium which, when executed, cause a machine at least to:

receive vector data generated by a printer subsystem;

determine a set of line segments based on the vector data;

determine a stroke path corresponding to the set of line segments, wherein the stroke path is based on an attribute specified by the printer subsystem;

determine a set of coordinates corresponding to the stroke path; and

instruct an embroidery machine to stitch the stroke path in a substrate using the set of coordinates.

17. An article of manufacture as defined in claim 16 , wherein the stroke path comprises at least one of a round end cap, a square end cap, a round joint, a miter joint, or a bevel joint.

18. An article of manufacture as defined in claim 17 wherein, when the stroke path includes a round end cap, the instructions cause the machine at least to determine the stroke path by determining a middle point of an arc and adding a plurality of points around the arc to obtain a predetermined smoothness, and wherein the set of coordinates comprises coordinates for the plurality of points and the middle point.

19. An article of manufacture as defined in claim 17 wherein, when the stroke path includes a square end cap, the instructions cause the machine at least to determine the stroke path by determining corner points, and wherein the set of coordinates comprises coordinates for the corner points.

20. An article of manufacture as defined in claim 17 wherein, when the stroke path includes a round joint, the instructions cause the machine at least to determine the stroke path by calculating a plurality of points around an arc based on the width of the stroke path and the bisector vector, and wherein the set of coordinates comprises coordinates for the plurality of points.

21. An article of manufacture as defined in claim 17 wherein, when the stroke path includes a miter joint, the instructions cause the machine at least to determine the stroke path by determining a width of the stroke path, determining a bisector vector of the stroke path, and determining a miter length, and wherein the set of coordinates is based on the bisector vector, the width of the stroke path and the miter length.

22. An article of manufacture as defined in claim 17 wherein, when the stroke path includes a bevel joint, the instructions cause the machine at least to determine the stroke path by determining a width of the stroke path, and determining a bisector vector of the stroke path, and wherein the set of coordinates is based on the bisector vector, the width of the stroke path and the miter length.

Assignments (8)
CHANGE OF NAME Recorded Aug 5, 2015
From: VISTAPRINT SCHWEIZ GMBH
To: CIMPRESS SCHWEIZ GMBH
Reel/Frame 036277/0592 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2013
From: VISTAPRINT LIMITED
To: VISTAPRINT SCHWEIZ GMBH
Reel/Frame 031394/0742 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2013
From: VISTAPRINT TECHNOLOGIES LIMITED
To: VISTAPRINT LIMITED
Reel/Frame 031394/0311 →
SECURITY AGREEMENT Recorded Oct 7, 2013
From: VISTAPRINT SCHWEIZ GMBH
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031371/0384 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 15, 2010
From: SOFT SIGHT, INC.
To: VISTAPRINT TECHNOLOGIES LIMITED
Reel/Frame 024776/0229 →
MERGER Recorded Jul 12, 2010
From: SOFT SIGHT, INC.
To: SOFT SIGHT, INC.
Reel/Frame 024662/0809 →
MERGER Recorded Jul 12, 2010
From: SOFT SIGHT, INC.
To: SOFT SIGHT, INC.
Reel/Frame 024662/0817 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 20, 2006
From: GOLDMAN, DAVID A.; PATEL, NIRAV; SONG, MINGKUI
To: SOFT SIGHT, INC.
Reel/Frame 018613/0702 →