# US 2018/0321822 A1 · Systems and methods for selection and operation on multiple groups of layout objects via a graphic-based layout editor

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0321822 A1
- Document ID: US20180321822A1
- Status: Published application
- Kind: A1
- Application number: 15/589,952
- Filed: 2017-05-08
- Published: 2018-11-08
- Earliest claimed: 2017-05-08
- Assignees: Skillcad, Inc.
- Applicants: Skillcad, Inc.
- Inventors: Pengwei QIAN
- Web page: https://patentgrep.com/patent/US20180321822A1

## CPC

- G06T 11/60: Creating or editing images; Combining images with text
- G06F 30/31: Design entry, e.g. editors specifically adapted for circuit design
- G06F 30/39: Circuit design at the physical level (physical level design for reconfigurable circuits G06F30/347)
- G06F 30/392: Floor-planning or layout, e.g. partitioning or placement
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A new approach is proposed to support selection and operation on multiple groups of layout objects via a graphic-based layout editing tool. The layout editing tool presents groups of layout objects in a layout on a display of the host, wherein each group comprises one or more layout objects sharing the same or similar topology in the layout. The layout editing tool enables a user to select at least two groups of layout objects by directionally and continuously moving a cursor across each group of layout objects along a respective directed single line, wherein each directed single line intersects with and selects one section of a group of layout objects. The layout editing tool then performs a layout operation on the sections of the one or more groups of layout objects all at once based on metadata and/or one or more design rules associated with the groups of layout objects.

## Claims

### Claim 1

A system to support selection and operation on multiple groups of layout objects, comprising:
a graphic-based layout editing tool running on a host, which in operation, is configured to
present a plurality of groups of layout objects in a layout on a display of the host to a user, wherein each group comprises one or more layout objects sharing the same or similar topology in the layout;
identify a first section of a first group of one or more layout objects in the layout by recognizing a first single line of directional and continuous cursor movement by the user across the layout, wherein the first single line of cursor movement intersects with the first section of the first group of layout objects;
identify a second section of a second group of one or more layout objects in the layout by recognizing a second single line of directional and continuous cursor movement by the user across the layout, wherein the second single line of cursor movement intersects with the second section of the second group of layout objects;
perform a layout operation on the first section of the first group of layout objects and/or the second section of the second group of layout objects all at once based on retrieved metadata and/or one or more design rules associated with the first and/or second group of layout objects from a layout database;
present the groups of layout objects affected by the layout operation on the display to the user following the layout operation.

### Claim 2 (depends on 1)

The system of claim 1, further comprising:
said layout database configured to maintain metadata and/or design rules associated with each of the layout objects in the layout, wherein the metadata of each layout object includes one or more of name, identifier, and geometric properties of the layout object as well as its connections to other layout objects, wherein the geometric properties include width, size, and topology of the layout object, and the design rules include one or more of minimum and/or maximum width and/or length of the layout object, minimum and/or maximum spacing between the layout object and its adjacent layout objects, and a specific layer the layout object needs to be placed.

### Claim 3 (depends on 1)

The system of claim 1, wherein:
each of the first and the second single lines of cursor movement is one of a directed straight line, a directed curved line, or a directed line following a path of cursor movement across the layout.

### Claim 4 (depends on 1)

The system of claim 1, wherein:
the graphic-based layout editing tool is configured to perform the layout operation on the layout objects within each group in the order the layout objects are selected in each group.

### Claim 5 (depends on 1)

The system of claim 1, wherein:
the graphic-based layout editing tool is configured to perform the layout operation on the layout objects within each group in the reverse order the layout objects are selected in each group.

### Claim 6 (depends on 1)

The system of claim 1, wherein:
the graphic-based layout editing tool is configured to perform the layout operation on the layout objects within each group based on identifications or names of the layout objects in each group.

### Claim 7 (depends on 1)

The system of claim 1, wherein:
the graphic-based layout editing tool is configured to recognize a directional and continuous cursor movement by the user along a single line in a direction unparalleled to horizontal or vertical direction.

### Claim 8 (depends on 1)

The system of claim 1, wherein:
the graphic-based layout editing tool is configured to perform the layout operation on the layout objects within the selected first group using the selected second group of one or more layout objects as a reference point.

### Claim 9 (depends on 8)

The system of claim 8, wherein:
the second group comprising an open area in the layout as the reference point.

### Claim 10 (depends on 8)

The system of claim 8, wherein:
the graphic-based layout editing tool is configured to trim extra portions of the layout objects in the first group using the layout objects in the second group as the reference point.

### Claim 11 (depends on 1)

The system of claim 1, wherein:
the graphic-based layout editing tool is configured to
identify a plurality of sections of one group of layout objects instead of multiple groups of layout objects by recognizing a plurality of single lines of directional and continuous cursor movements across the layout, wherein the single lines intersect with the group of layout objects at the plurality of sections, respectively;
perform the layout operation between the identified sections of the same group of layout objects.

### Claim 12 (depends on 1)

The system of claim 1, wherein:
the graphic-based layout editing tool is configured to perform the layout operation on a subset, but not all, of the layout objects within each group of the layout objects.

### Claim 13

A computer-implemented method to support layout objects selection and replication, comprising:
presenting a plurality of groups of layout objects in a layout on a display of the host to a user, wherein each group comprises one or more layout objects sharing the same or similar topology in the layout;
identifying a first section of a first group of one or more layout objects in the layout by recognizing a first single line of directional and continuous cursor movement by the user across the layout, wherein the first single line of cursor movement intersects with the first section of the first group of layout objects;
identifying a second section of a second group of one or more layout objects in the layout by recognizing a second single line of directional and continuous cursor movement by the user across the layout, wherein the second single line of cursor movement intersects with the second section of the second group of layout objects;
performing a layout operation on the first section of the first group of layout objects and/or the second section of the second group of layout objects all at once based on retrieved metadata and/or one or more design rules associated with the first and/or second group of layout objects from a layout database;
presenting the groups of layout objects affected by the layout operation on the display to the user following the layout operation.

### Claim 14 (depends on 13)

The computer-implemented method of claim 13, further comprising:
performing the layout operation on the layout objects within each group in the order the layout objects are selected in each group.

### Claim 15 (depends on 13)

The computer-implemented method of claim 13, further comprising:
performing the layout operation on the layout objects within each group in the reverse order the layout objects are selected in each group.

### Claim 16 (depends on 13)

The computer-implemented method of claim 13, further comprising:
performing the layout operation on the layout objects within each group based on identifications or names of the layout objects in each group.

### Claim 17 (depends on 13)

The computer-implemented method of claim 13, further comprising:
recognizing a directional and continuous cursor movement by the user along a single line in a direction unparalleled to horizontal or vertical direction.

### Claim 18 (depends on 13)

The computer-implemented method of claim 13, further comprising:
performing the layout operation on the layout objects within the selected first group using the selected second group of one or more layout objects as a reference point.

### Claim 19 (depends on 18)

The system of claim 18, wherein:
the second group comprising an open area in the layout as the reference point.

### Claim 20 (depends on 18)

The computer-implemented method of claim 18, further comprising:
trimming extra portions of the layout objects in the first group using the layout objects in the second group as the reference point.

### Claim 21 (depends on 13)

The computer-implemented method of claim 13, further comprising:
identifying a plurality of sections of one group of layout objects instead of multiple groups of layout objects by recognizing a plurality of single lines of directional and continuous cursor movements across the layout, wherein the single lines intersect with the group of layout objects at the plurality of sections, respectively;
performing the layout operation between the identified sections of the same group of layout objects.

### Claim 22 (depends on 13)

The computer-implemented method of claim 13, further comprising:
performing the layout operation on a subset, but not all, of the layout objects within each group of the layout objects.

### Claim 23

A non-transitory computer readable storage medium having software instructions stored thereon that when executed cause a system to:
present a plurality of groups of layout objects in a layout on a display of the host to a user, wherein each group comprises one or more layout objects sharing the same or similar topology in the layout;
identify a first section of a first group of one or more layout objects in the layout by recognizing a first single line of directional and continuous cursor movement by the user across the layout, wherein the first single line of cursor movement intersects with the first section of the first group of layout objects;
identify a second section of a second group of one or more layout objects in the layout by recognizing a second single line of directional and continuous cursor movement by the user across the layout, wherein the second single line of cursor movement intersects with the second section of the second group of layout objects;
perform a layout operation on the first section of the first group of layout objects and/or the second section of the second group of layout objects all at once based on retrieved metadata and/or one or more design rules associated with the first and/or second group of layout objects from a layout database;
present the groups of layout objects affected by the layout operation on the display to the user following the layout operation.
