# US 12,008,293 B2 · Techniques for automatically generating designs having characteristic topologies for urban design projects

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

- Number: US 12,008,293 B2
- Document ID: US12008293B2
- Status: Granted
- Kind: B2
- Application number: 17/531,622
- Filed: 2021-11-19
- Published: 2022-03-17
- Granted: 2024-06-11
- Earliest claimed: 2017-11-10
- Assignees: Autodesk, Inc.
- Applicants: Autodesk, Inc.
- Inventors: David Benjamin; James Stoddart; Lorenzo Villaggi; Danil Nagy
- Web page: https://patentgrep.com/patent/US12008293B2

## CPC

- G06F 30/13: Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
- G06N 3/126: Evolutionary algorithms, e.g. genetic algorithms or genetic programming
- G06Q 10/06313: {Resource planning in a project environment}
- G06Q 40/12: Accounting
- G06Q 50/165: {Land development}
- G06F 3/04815: Interaction with a metaphor-based environment or interaction object displayed as three-dimensional [3D], e.g. changing the user viewpoint with respect to the environment or object
- G06F 3/04847: Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
- G06F 2111/02: CAD in a network environment, e.g. collaborative CAD or distributed simulation
- G06F 2111/04: Constraint-based CAD
- G06F 2111/06: Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
- G06F 2111/20: Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
- G06T 15/005: {General purpose rendering architectures}
- G06T 17/05: Geographic models
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

An urban design pipeline automatically generates design options for an urban design project. The urban design pipeline includes a geometry engine and an evaluation engine. The geometry engine analyzes design criteria, design objectives, and design heuristics associated with the urban design project and then generates numerous candidate designs. The design criteria specify a property boundary associated with a region of land to be developed. The design objectives indicate a specific type of topology that is derived from an existing urban layout. The design heuristics include different sets of construction rules for generating designs with specific types of topologies. The geometry engine generates candidate designs that conform to the property boundary and have topological characteristics in common with the existing urban layout.

## Claims

### Claim 1

A computer-implemented method implemented by a computer-aided design (CAD) application, the method comprising:
generating, via a geometry engine included in the CAD application, a closed contour that surrounds a design area;
determining, via the geometry engine, a first segment of the closed contour and a second segment of the closed contour, wherein the first segment and the second segment reside on opposite sides of the design area;
generating, via the geometry engine, a first set of mesh lines that span the design area and couple the first segment to the second segment;
generating, via the geometry engine, a second set of mesh lines that forms a design mesh in conjunction with the first set of mesh lines; and
populating, via the geometry engine, the design mesh with a first set of structures to generate a first candidate design.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the first set of structures resides within the closed contour.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the first set of structures is aligned to at least a first portion of the closed contour.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the closed contour is generated based on a plurality of property boundaries.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the first segment of the closed contour and the second segment of the closed contour are both at least partially aligned in a first direction.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein determining the first segment of the closed contour comprises eliminating any segments of the closed contour having an orientation that is more aligned with a second direction than with a first direction.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein generating the first set of mesh lines comprises:
generating a first set of vertices based on the first segment of the closed contour;
generating a second set of vertices based on the second segment of the closed contour; and
connecting each vertex included in the first set of vertices to a corresponding vertex included in the second set of vertices.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein generating the second set of mesh lines comprises:
for each mesh line included in the first set of mesh lines, generating a different set of vertices that spans the design area;
for at least one different set of vertices, connecting each vertex included in the at least one different set of vertices to a corresponding vertex included in another different set of vertices to generate a mesh line included in the second set of mesh lines.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, wherein populating the design mesh with the first set of structures comprises:
designating a first line segment included in the design mesh as a first road, wherein the first line segment traverses at least a portion of the design area and is aligned with one or more portions of the closed contour; and
assigning a road type to the first road.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein populating the design mesh with the first set of structures comprises:
determining a first subset of the design mesh that divides the design area into a first region and a second region; and
generating a first neighborhood subdivision based on at least one of the first region or the second region, wherein at least one boundary of the neighborhood subdivision is aligned with one or more portions of the closed contour.

### Claim 11 (depends on 1)

The computer-implemented method of claim 1, wherein populating the design mesh with the first set of structures comprises:
projecting a search grid across a first neighborhood subdivision included in the design mesh; and
placing different groups of dwelling units at different positions within the first neighborhood subdivision such that a first group of dwelling units that includes more dwelling units than any other group of dwelling units included in the different groups of dwelling units is identified.

### Claim 12 (depends on 1)

The computer-implemented method of claim 1, further comprising:
generating, via an evaluation engine, a first design metric value for the first candidate design based on a first objective function;
determining, via the evaluation engine, that the first design metric value is less than a threshold value;
in response, populating, via the geometry engine, the design mesh with a second set of structures to generate a second candidate design, wherein the second set of structures is aligned with another portion of the closed contour;
generating, via the evaluation engine, a second design metric value for the second candidate design based on the first objective function; and
determining, via the evaluation engine, that the second design metric value is greater than the first design metric value, indicating that the second candidate design is a higher ranked design than the first candidate design.

### Claim 13

One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to perform the steps of:
generating, via a geometry engine included in a computer-aided design (CAD) application, a closed contour that surrounds a design area;
generating, via the geometry engine, a first set of mesh lines that span the design area and couple a first segment to a second segment of the closed contour;
generating, via the geometry engine, a second set of mesh lines that forms a design mesh in conjunction with the first set of mesh lines; and
populating, via the geometry engine, the design mesh with one or more fixtures to generate a first candidate design, wherein the one or more fixtures includes at least one of a structure, a road, a parking lot, a parkland, a vegetation area, or a landscaping area.

### Claim 14 (depends on 13)

The one or more non-transitory computer-readable media of claim 13, wherein the design mesh is populated with the one or more fixtures comprising a first set of structures that resides within the closed contour.

### Claim 15 (depends on 13)

The one or more non-transitory computer-readable media of claim 13, wherein the design mesh is populated with the one or more fixtures comprising a first set of structures that is aligned to at least a first portion of the closed contour.

### Claim 16 (depends on 13)

The one or more non-transitory computer-readable media of claim 13, wherein the closed contour is generated based on a plurality of property boundaries.

### Claim 17 (depends on 13)

The one or more non-transitory computer-readable media of claim 13, wherein the first segment of the closed contour and the second segment of the closed contour are both at least partially aligned in a first direction.

### Claim 18 (depends on 13)

The one or more non-transitory computer-readable media of claim 13, further comprising determining the first segment of the closed contour by eliminating any segments of the closed contour having an orientation that is more aligned with a second direction than with a first direction.

### Claim 19 (depends on 13)

The one or more non-transitory computer-readable media of claim 13, wherein generating the first set of mesh lines comprises:
generating a first set of vertices based on the first segment of the closed contour;
generating a second set of vertices based on the second segment of the closed contour; and
connecting each vertex included in the first set of vertices to a corresponding vertex included in the second set of vertices.

### Claim 20 (depends on 13)

The one or more non-transitory computer-readable media of claim 13, wherein generating the second set of mesh lines comprises:
for each mesh line included in the first set of mesh lines, generating a different set of vertices that spans the design area;
for at least one different set of vertices, connecting each vertex included in the at least one different set of vertices to a corresponding vertex included in another different set of vertices to generate a mesh line included in the second set of mesh lines.

### Claim 21 (depends on 13)

The one or more non-transitory computer-readable media of claim 13, wherein the design mesh is populated with the one or more fixtures comprising a first set of structures by:
designating a first line segment included in the design mesh as a first road, wherein the first line segment traverses at least a portion of the design area and is aligned with one or more portions of the closed contour; and
assigning a road type to the first road.

### Claim 22 (depends on 13)

The one or more non-transitory computer-readable media of claim 13, wherein the design mesh is populated with the one or more fixtures comprising a first set of structures by:
determining a first subset of the design mesh that divides the design area into a first region and a second region; and
generating a first neighborhood subdivision based on at least one of the first region or the second region, wherein at least one boundary of the neighborhood subdivision is aligned with one or more portions of the closed contour.

### Claim 23 (depends on 13)

The one or more non-transitory computer-readable media of claim 13, wherein the design mesh is populated with the one or more fixtures comprising a first set of structures by:
projecting a search grid across a first neighborhood subdivision included in the design mesh; and
placing different groups of dwelling units at different positions within the first neighborhood subdivision such that a first group of dwelling units that includes more dwelling units than any other group of dwelling units included in the different groups of dwelling units is identified.

### Claim 24 (depends on 13)

The one or more non-transitory computer-readable media of claim 13, wherein the design mesh is populated with the one or more fixtures comprising a first set of structures to generate the first candidate design, further comprising:
generating, via an evaluation engine, a first design metric value for the first candidate design based on a first objective function;
determining, via the evaluation engine, that the first design metric value is less than a threshold value;
in response, populating, via the geometry engine, the design mesh with a second set of structures to generate a second candidate design, wherein the second set of structures is aligned with another portion of the closed contour;
generating, via the evaluation engine, a second design metric value for the second candidate design based on the first objective function; and
determining, via the evaluation engine, that the second design metric value is greater than the first design metric value, indicating that the second candidate design is a higher ranked design than the first candidate design.

### Claim 25

A system, comprising:
one or more memories storing instructions associated with a computer-aided design (CAD) application; and
one or more processors that, when executing the instructions, are configured to perform the steps of:
generating, via a geometry engine included in the CAD application, a first set of mesh lines that span a design area;
generating, via the geometry engine, a second set of mesh lines that forms a design mesh in conjunction with the first set of mesh lines; and
populating, via the geometry engine, the design mesh with one or more fixtures to generate a first candidate design, wherein the one or more fixtures includes at least one of a structure, a road, a parking lot, a parkland, a vegetation area, or a landscaping area.
