IP Library Granted Patent US 8,660,683
Granted Patent B2
US 8,660,683 · App. 13/346,338 · Granted Feb 25, 2014

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,660,683
App. No.
13/346,338
Granted
Feb 25, 2014
Kind
B2
Abstract

Printer driver systems and methods for automatic generation of embroidery designs are disclosed. An example method includes identifying intersections of line segments from different ones of first polygonal objects, determining relationships between the line segments based on the intersections, removing a redundancy between at least two of the line segments, generating, using a computer, second polygonal objects based on the intersections and the line segments, and outputting, from the computer, embroidery data representative of the second polygonal objects.

Claims (60)

1. A method, comprising:

sweeping a scan line over line segments from different ones of first polygonal objects;

identifying an event point via the scan line;

evaluating the line segments in response to identifying the event point to identify an intersection of at least two of the line segments from different ones of the first polygonal objects;

determining relationships between the line segments based on the intersection, wherein determining the relationships between the line segments comprises determining segment pairs of the line segments, and wherein each segment pair comprises two segments located on different edges of a region and which intersect the scan line;

removing a redundancy between the at least two of the line segments;

generating, using a computer, second polygonal objects based on the intersection and the at least two line segments; and

outputting, from the computer, embroidery data representative of the second polygonal objects.

2. A method as defined in claim 1 , wherein evaluating the line segments comprises determining whether a first one of the line segments associated with the event point is to be moved into a first segment pool sharing at least one attribute with the first one of the line segments, copied into a second segment pool having no shared attributes with the first one of the line segments, or not placed into any segment pool.

3. A method as defined in claim 1 , further comprising removing at least one of a first point on a first one of the line segments when the first point is coincident with a second point on a second one of the line segments.

4. A method as defined in claim 1 , wherein determining the relationships between the line segments comprises organizing the line segments into segment pools, the segment pools comprising line segments having at least one shared attribute per segment pool.

5. A method as defined in claim 4 , wherein generating the second polygonal objects comprises generating one of the second polygonal objects using the line segments in a corresponding one of the segment pools.

6. A method as defined in claim 1 , wherein sweeping the scan line comprises sweeping the scan line from a first end of an area including the first polygonal objects in a direction toward a second end of the area opposite the first end.

7. A method as defined in claim 1 , wherein the evaluating occurs each time the scan line intersects an event point.

8. A method, comprising:

receiving line segments as vector data from a printer subsystem of a computer;

identifying intersections of the line segments from different ones of first polygonal objects;

determining relationships between the line segments based on the intersections;

removing a redundancy between at least two of the line segments;

generating, using a computer, second polygonal objects based on the intersections and line segments; and

outputting, from the computer, embroidery data representative of the second polygonal objects.

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 at least:

sweep a scan line over line segments from different ones of first polygonal objects;

identify an event point via the scan line;

evaluate the line segments in response to identifying the event point to identify an intersection of at least two of the line segments from different ones of the first polygonal objects;

determine relationships between the line segments based on the intersection, wherein determining the relationships between the line segments comprises determining segment pairs of the line segments, and wherein each segment pair comprises two segments located on different edges of a region and which intersect the scan line;

remove a redundancy between the at least two of the line segments;

generate second polygonal objects based on the intersection and the at least two the line segments; and

output embroidery data representative of the second polygonal objects.

10. An apparatus as defined in claim 9 , wherein evaluating the line segments comprises determining whether a first one of the line segments associated with the event point is to be moved into a first segment pool sharing at least one attribute with the first one of the line segments, copied into a second segment pool having no shared attributes with the first one of the line segments, or not placed into any segment pool.

11. An apparatus as defined in claim 9 , wherein the instructions further cause the processor to remove at least one of a first point on a first one of the line segments when the first point is coincident with a second point on a second one of the line segments.

12. An apparatus as defined in claim 9 , wherein determining the relationships between the line segments comprises organizing the line segments into segment pools, the segment pools comprising line segments having at least one shared attribute per segment pool.

13. An apparatus as defined in claim 12 , wherein generating the second polygonal objects comprises generating one of the second polygonal objects using the line segments in a corresponding one of the segment pools.

14. 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:

access line segments as vector data from a printer subsystem of a computer;

identify intersections of line segments from different ones of first polygonal objects;

determine relationships between the line segments based on the intersections;

remove a redundancy between at least two of the line segments;

generate second polygonal objects based on the intersections and the line segments; and

output embroidery data representative of the second polygonal objects.

15. A non-transitory article of manufacture comprising machine readable instructions stored on a computer readable medium which, when executed, cause a computer to at least:

sweep a scan line over line segments from different ones of first polygonal objects;

identify an event point via the scan line;

evaluate the line segments in response to identifying the event point to identify an intersection of at least two of the line segments from different ones of the first polygonal objects;

determine relationships between the line segments based on the intersection, wherein determining the relationships between the line segments comprises determining segment pairs of the line segments, and wherein each segment pair comprises two segments located on different edges of a region and which intersect the scan line;

remove a redundancy between the at least two of the line segments;

generate second polygonal objects based on the intersections intersection and the at least two the line segments; and

output embroidery data representative of the second polygonal objects.

16. A method, comprising:

sweeping a scan line over line segments from different ones of first polygonal objects;

identifying an event point via the scan line, wherein sweeping the scan line comprises evaluating a plurality of event points in order according to a first coordinate value and then a second coordinate value;

evaluating the line segments in response to identifying the event point to identify an intersection of at least two of the line segments from different ones of the first polygonal objects;

determining relationships between the line segments based on the intersection;

removing a redundancy between the at least two of the line segments;

generating, using a computer, second polygonal objects based on the intersection and the at least two line segments; and

outputting, from the computer, embroidery data representative of the second polygonal objects.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE ADD THE THIRD OMITTED ASSSIGNOR PREVIOUSLY RECORDED AT REEL: 028224 FRAME: 0964. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Feb 11, 2016
From: GOLDMAN, DAVID A.; PATEL, NIRAV; SONG, MINGKUI
To: SOFT SIGHT, INC., A NEW YORK CORPORATION
Reel/Frame 037764/0736 →
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 May 23, 2012
From: SOFT SIGHT, INC. A DELAWARE CORPORATION
To: VISTAPRINT TECHNOLOGIES LIMITED
Reel/Frame 028258/0227 →
MERGER Recorded May 22, 2012
From: SOFT SIGHT, INC., A NEW YORK CORPORATION
To: SOFT SIGHT, INC. A DELAWARE CORPORATION
Reel/Frame 028248/0022 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 17, 2012
From: GOLDMAN, DAVID A.; PATEL, NIRAV
To: SOFT SIGHT, INC., A NEW YORK CORPORATION
Reel/Frame 028224/0964 →