IP Library Granted Patent US 7,369,917
Granted Patent B2
US 7,369,917 · App. 11/334,782 · Granted May 6, 2008

System and method for automatic sorting of elements in drawing specifications for efficient tracing using motion control

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 7,369,917
App. No.
11/334,782
Granted
May 6, 2008
Kind
B2
Abstract

System and method for utilizing a drawing specification for motion control. A plurality of elements in a drawing specification may be automatically identified. The elements may include one or more lines, polygons, arcs, splines, alphanumeric characters, and/or ellipses. Additionally, the drawing specification may be a drawing or digital drafting file, e.g., an AutoCAD file, among others. An order of the plurality of elements may be automatically determined according to a sorting algorithm. The sorting algorithm may include a geometric and/or radial sorting algorithm. The radial sorting algorithm may specify the order of the elements according to nesting, e.g., nesting order and depth, and/or distance from the center of the drawing specification. Code may be automatically generated for implementing motion control based on the identified elements and the determined order. The generated code may include inserted operations such as raise, lower, and move operations, among others.

Claims (135)

1. A method for utilizing drawing specifications for use in motion control, comprising:

automatically identifying a plurality of elements in a drawing specification;

automatically determining an order of the plurality of elements according to a sorting algorithm, wherein the sorting algorithm comprises a radial sorting algorithm; and

automatically generating code for implementing motion control based on said identifying the plurality of elements and said determining the order.

2. The method of claim 1 ,

wherein the drawing specification comprises one or more drawing specifications.

3. The method of claim 1 ,

wherein the drawing specification comprises one or more digital files.

4. The method of claim 1 ,

wherein the drawing specification comprises one or more AutoCAD digital drafting files.

5. The method of claim 1 ,

wherein the drawing specification comprises one or more drawings.

6. The method of claim 1 ,

wherein the sorting algorithm comprises a geometric sorting algorithm.

7. The method of claim 1 ,

wherein the radial sorting algorithm specifies the order of elements of the plurality of elements based on respective distances from a geometric center of the drawing specification for the plurality of elements.

8. The method of claim 1 ,

wherein at least one subset of the plurality of elements comprises at least one nested subset, wherein the radial sorting algorithm specifies the order of elements of the plurality of elements based on one or more of:

nesting order of the at least one nested subset, beginning with an innermost element of the at least one nested subset; or

nesting depth of the at least one nested subset.

9. The method of claim 1 ,

wherein said automatically generating code comprises:

automatically inserting operations into the generated code.

10. The method of claim 9 ,

wherein the inserted operations comprise one or more:

raise operations;

move operations; or

lower operations.

11. The method of claim 1 ,

wherein the generated code comprises instructions executable by a motion control device, wherein the motion control device is operable to perform one or more of:

drawing on one or more materials;

tracing one or more materials;

etching one or more materials; or

cutting one or more materials.

12. The method of claim 11 ,

wherein the one or more materials comprise one or more of:

metal;

wood;

paper;

polymer;

silicon;

one or more chemical compounds; or

one or more chemical elements.

13. The method of claim 1 ,

wherein the plurality of elements comprise a plurality of:

one or more lines;

one or more polygons;

one or more arcs;

one or more splines;

one or more alphanumeric characters in one or more associated fonts;

one or more ellipses; or

one or more clouds.

14. The method of claim 1 ,

wherein the plurality of elements compose one or more shapes, wherein each shape of the one or more shapes comprises a subset of the plurality of elements.

15. The method of claim 1 ,

wherein the plurality of elements compose one or more complex elements, wherein each complex element of the one or more complex elements comprises a subset of the plurality of elements.

16. The method of claim 1 ,

wherein the generated code comprises one or more of:

executable code;

interpretable code; or

scripting code.

17. The method of claim 1 , wherein the generated code comprises one or more of:

one or more graphical programs, wherein each of the one or more graphical programs comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program; or

one or more text-based programs.

18. The method of claim 1 ,

wherein said automatically identifying the plurality of elements, said automatically determining the order, and said automatically generating code is performed by one or more of:

one or more graphical programs, wherein each of the one or more graphical programs comprises a plurality of interconnected nodes that visually indicate functionality of the graphical program; or

one or more text-based programs.

19. The method of claim 1 , the method further comprising:

displaying a visual representation of the generated code in a graphical user interface (GUI) displayed on a display device of a computer system.

20. The method of claim 1 , the method further comprising:

receiving user input to a GUI invoking one or more of said automatically identifying the plurality of elements, said automatically determining the order, and said automatically generating code.

21. The method of claim 1 , the method further comprising:

receiving user input to a GUI specifying a modification to the order; and

automatically modifying the generated code in accordance with the modified order.

22. The method of claim 1 , the method further comprising:

receiving user input to a GUI specifying one or more constraints on the order of the plurality of elements;

wherein said automatically determining the order comprises automatically determining the order based on the one or more constraints.

23. The method of claim 1 , the method further comprising:

receiving user input to a GUI specifying modification of the generated code; and

automatically modifying the generated code based on the user input.

24. The method of claim 1 , the method further comprising:

automatically inserting operations into the generated code; and

receiving user input to a GUI displayed on a display device of a computer system, wherein the GUI indicates the inserted operations, and wherein the user input specifies enabling or disabling display of the inserted operations.

25. A system for utilizing drawing specifications for use in motion control, comprising:

a processor; and

a memory coupled to the processor, comprising instructions executable by the processor to implement:

automatically identifying a plurality of elements in a drawing specification;

automatically determining an order of the plurality of elements according to a sorting algorithm, wherein the sorting algorithm comprises a radial sorting algorithm; and

automatically generating code for implementing motion control based on said identifying the plurality of elements and said determining the order.

26. The system of claim 25 , wherein the radial sorting algorithm specifies the order of elements of the plurality of elements based on respective distances from a geometric center of the drawing specification for the plurality of elements.

27. The system of claim 25 , wherein at least one subset of the plurality of elements comprises at least one nested subset, wherein the radial sorting algorithm specifies the order of elements of the plurality of elements based on one or more of:

nesting order of the at least one nested subset, beginning with an innermost element of the at least one nested subset; or

nesting depth of the at least one nested subset.

28. The system of claim 25 , wherein said automatically generating code comprises:

automatically inserting operations into the generated code.

29. The system of claim 25 , wherein the instructions are farther executable to implement:

automatically inserting operations into the generated code; and

receiving user input to a GUI displayed on a display device of a computer system, wherein the GUI indicates the inserted operations, and wherein the user input specifies enabling or disabling display of the inserted operations.

30. The system of claim 25 , wherein the instructions are farther executable to implement:

receiving user input to a GUI specifying a modification to the order; and

automatically modifying the generated code in accordance with the modified order.

31. The system of claim 25 , wherein the instructions are farther executable to implement:

receiving user input to a GUI specifying one or more constraints on the order of the plurality of elements;

wherein said automatically determining the order comprises automatically determining the order based on the one or more constraints.

32. A computer-accessible memory medium for utilizing drawing specifications for use in motion control, comprising instructions executable by a processor to implement:

automatically identifying a plurality of elements in a drawing specification;

automatically determining an order of the plurality of elements according to a sorting algorithm, wherein the sorting algorithm comprises a radial sorting algorithm; and

automatically generating code for implementing motion control based on said identifying the plurality of elements and said determining the order.

33. The memory medium of claim 32 ,

wherein the radial sorting algorithm specifies the order of elements of the plurality of elements based on respective distances from a geometric center of the drawing specification for the plurality of elements.

34. The memory medium of claim 32 ,

wherein at least one subset of the plurality of elements comprises at least one nested subset, wherein the radial sorting algorithm specifies the order of elements of the plurality of elements based on one or more of:

nesting order of the at least one nested subset, beginning with an innermost element of the at least one nested subset; or

nesting depth of the at least one nested subset.

35. The memory medium of claim 32 , wherein said automatically generating code comprises:

automatically inserting operations into the generated code.

36. The memory medium of claim 32 , wherein the instructions are further executable to implement:

receiving user input to a GUI specifying a modification to the order; and automatically modifying the generated code in accordance with the modified order.

37. The memory medium of claim 32 , wherein the instructions are further executable to implement:

receiving user input to a GUI specifying one or more constraints on the order of the plurality of elements;

wherein said automatically determining the order comprises automatically determining the order based on the one or more constraints.

38. The memory medium of claim 32 , wherein the instructions are further executable to implement:

automatically inserting operations into the generated code; and

receiving user input to a GUI displayed on a display device of a computer system, wherein the GUI indicates the inserted operations, and wherein the user input specifies enabling or disabling display of the inserted operations.

39. A system for utilizing drawing specifications for use in motion control, comprising:

means for automatically identifying a plurality of elements in a drawing specification;

means for automatically determining an order of the plurality of elements according to a sorting algorithm, wherein the sorting algorithm comprises a radial sorting algorithm; and

means for automatically generating code for implementing motion control based on said identifying the plurality of elements and said determining the order.

40. The method of claim 28 ,

wherein the radial sorting algorithm specifies the order of elements of the plurality of elements based on respective distances from a geometric center of the drawing specification for the plurality of elements.

41. The memory medium of claim 39 ,

wherein at least one subset of the plurality of elements comprises at least one nested subset, wherein the radial sorting algorithm specifies the order of elements of the plurality of elements based on one or more of:

nesting order of the at least one nested subset, beginning with an innermost element of the at least one nested subset; or

nesting depth of the at least one nested subset.

Assignments (5)
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 057280/0028) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 065231/0466 →
RELEASE OF SECURITY INTEREST IN PATENTS (REEL/FRAME 052935/0001) Recorded Oct 13, 2023
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT
To: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
Reel/Frame 065653/0463 →
SECURITY INTEREST Recorded Jun 18, 2021
From: NATIONAL INSTRUMENTS CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 057280/0028 →
SECURITY INTEREST Recorded Jun 14, 2020
From: NATIONAL INSTRUMENTS CORPORATION; PHASE MATRIX, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 052935/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2006
From: RAVISH, SUSHRUTHA; SHIVANANDA, PRAVEEN; CHANDHOKE, SUNDEEP; RAMCHANDANI, MAHESH
To: NATIONAL INSTRUMENTS CORPORATION
Reel/Frame 017488/0372 →