# US 12,112,102 B2 · Techniques for applying generative design to the configuration of mechanical assemblies

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

- Number: US 12,112,102 B2
- Document ID: US12112102B2
- Status: Granted
- Kind: B2
- Application number: 17/164,319
- Filed: 2021-02-01
- Published: 2021-05-27
- Granted: 2024-10-08
- Earliest claimed: 2017-12-26
- Assignees: Autodesk, Inc.
- Applicants: Autodesk, Inc.
- Inventors: Hyunmin Cheong; Mehran Ebrahimi; Francesco Iorio; Adrian Butscher
- Web page: https://patentgrep.com/patent/US12112102B2

## CPC

- G06F 30/15: Vehicle, aircraft or watercraft design
- G06F 30/17: Mechanical parametric or variational design
- G06F 30/3323: using formal methods, e.g. equivalence checking or property checking
- G06F 2111/02: CAD in a network environment, e.g. collaborative CAD or distributed simulation
- G06F 2111/04: Constraint-based CAD
- G06F 2111/20: Configuration CAD, e.g. designing by assembling or positioning modules selected from libraries of predesigned modules
- G06F 2119/18: Manufacturability analysis or optimisation for manufacturability
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A design engine automates portions of a mechanical assembly design process. The design engine generates a user interface that exposes tools for capturing input data related to the design problem. Based on the input data, the design engine performs various operations to generate a formalized problem definition that can be processed by a goal-driven optimization algorithm. The goal-driven optimization algorithm generates a spectrum of potential design options. Each design option describes a mechanical assembly representing a potential solution to the design problem.

## Claims

### Claim 1

A computer-implemented method for generating design options for mechanical assemblies, the method comprising:
receiving, via a graphical user interface, one or more optimization parameters associated with an optimization algorithm;
generating, via one more processors included in a computing system, a problem definition based on a partial design for at least a portion of a mechanical assembly and a set of design criteria;
executing the optimization algorithm, via the one or more processors, to generate a first set of design options based on the problem definition and the one or more optimization parameters, wherein each design option included in the first set of design options includes a different mechanical assembly that is derived from the partial design and satisfies the set of design criteria;
as part of a first design iteration, analyzing a level of adherence to the set of design criteria when the one or more design options are subjected to interactive user input in order to identify one or more successful design options included in the one or more design options; and
as part of a second design iteration, generating a second set of design options based on the one or more successful design options identified as part of the first design iteration.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the set of design criteria indicates a first objective function that should be met by a first element included in the partial design.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the set of design criteria indicates a first objective function that should be met by each design option included in the first set of design options.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein the set of design criteria indicates a first constraint expression that should not be violated by a first element included in the partial design.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the set of design criteria indicates a first constraint expression that should not be violated by any design option included in the first set of design options.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the partial design includes at least one of a solid body, a spring, a damper, or a beam.

### Claim 7 (depends on 6)

The computer-implemented method of claim 6, wherein the partial design further includes at least one part that transmits force to a first element included in the partial design.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the partial design includes at least one of a fixed joint, a ball joint, or a pin joint.

### Claim 9 (depends on 1)

The computer-implemented method of claim 1, further comprising receiving, via a user interface, a selection of one or more element types from a library of available element types, wherein each design option included in the first set of design options includes only the one or more element types.

### Claim 10 (depends on 1)

The computer-implemented method of claim 1, wherein the optimization algorithm comprises a multi-objective solver or a generative design algorithm.

### Claim 11

One or more non-transitory computer-readable media storing program instructions that, when executed by one or more processors, cause the one or more processors to generate design options for mechanical assemblies by performing the steps of:
receiving, via a graphical user interface, one or more optimization parameters associated with an optimization algorithm;
generating, via one more processors included in a computing system, a problem definition based on a partial design associated with at least a portion of a mechanical assembly and a set of design criteria;
executing the optimization algorithm, via the one or more processors, to generate a first set of design options based on the problem definition and the one or more optimization parameters, wherein each design option included in the first set of design options includes a different mechanical assembly that is associated with the set of design criteria;
as part of a first design iteration, analyzing a level of adherence to the set of design criteria when the first set of design options are subjected to interactive user input in order to identify one or more successful design options included in the first set of design options; and
as part of a second design iteration, generating a second set of design options based on the one or more successful design options.

### Claim 12 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, wherein the set of design criteria indicates a first objective function that should be met by a first element included in the partial design.

### Claim 13 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, wherein the set of design criteria indicates a first objective function that should be met by each design option included in the first set of design options.

### Claim 14 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, wherein the set of design criteria indicates a first constraint expression that should not be violated by a first element included in the partial design.

### Claim 15 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, wherein the set of design criteria indicates a first constraint expression that should not be violated by any design option included in the first set of design options.

### Claim 16 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, wherein the partial design includes at least one of a solid body, a spring, a damper, or a beam.

### Claim 17 (depends on 16)

The one or more non-transitory computer-readable media of claim 16, wherein the partial design further includes at least one part that transmits force to a first element included in the partial design.

### Claim 18 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, wherein the partial design includes at least one of a fixed joint, a ball joint, or a pin joint.

### Claim 19 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, further comprising receiving, via a user interface, a selection of one or more element types from a library of available element types, wherein each design option included in the first set of design options includes only the one or more element types.

### Claim 20 (depends on 11)

The one or more non-transitory computer-readable media of claim 11, wherein the optimization algorithm comprises a multi-objective solver or a generative design algorithm.

### Claim 21

A system, comprising:
one or more memories that include instructions; and
one or more processors that are coupled to the one or more memories and, when executing the instructions, are configured to perform the steps of:
receiving, via a graphical user interface, one or more optimization parameters associated with an optimization algorithm;
generating, via one more processors included in a computing system, a problem definition based on a partial design associated with at least a portion of a mechanical assembly and a set of design criteria;
executing the optimization algorithm, via the one or more processors, to generate a first set of design options based on the problem definition and the one or more optimization parameters, wherein each design option included in the first set of design options includes a different mechanical assembly;
as part of a first design iteration, analyzing a level of adherence to the set of design criteria when the first set of design options are subjected to interactive user input in order to identify one or more successful design options included in the first set of design options; and
as part of a second design iteration, generating a second set of design options based on the one or more successful design options.
