# US 10,311,166 B2 · System and method for solving and enforcing associative constraints

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

- Number: US 10,311,166 B2
- Document ID: US10311166B2
- Status: Granted
- Kind: B2
- Application number: 15/251,434
- Filed: 2016-08-30
- Published: 2017-09-07
- Granted: 2019-06-04
- Earliest claimed: 2016-03-03
- Assignees: Siemens Product Lifecycle Management Software Inc.
- Applicants: Siemens Product Lifecycle Management Software Inc.
- Inventors: Zhi Zhang; Arquimedes Martinez Canedo
- Web page: https://patentgrep.com/patent/US10311166B2

## CPC

- G06F 30/10: Geometric CAD
- G06F 30/00: Computer-aided design [CAD]
- 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: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A system and method is provided that facilitates solving and enforcing associative constraints across heterogeneous models of the same system. The system may include a processor configured to: access an expression that specifies a relationship between at least one first constraint variable and at least one second constraint variable; access a first constraint map that maps at least one first model property of a first model to the at least one first constraint variable; and access a second constraint map that maps at least one second model property of a second model to the at least one second constraint variable. The processor may also be configured to: retrieve based on the first constraint map, at least one first model value of the at least one first model property from the first model by accessing a first modeling software component that is configured to access and manipulate the first model; and determine at least one second model value for the at least one second model property of the second model, based on the at least one first model value, the expression, the first constraint map, and the second constraint map.

## Claims

### Claim 1

A system for solving and enforcing associative constraints comprising:
at least one processor configured to:
access an expression that specifies a relationship between at least one first constraint variable and at least one second constraint variable;
access a first constraint map that maps at least one first model property of a first model to the at least one first constraint variable;
access a second constraint map that maps at least one second model property of a second model to the at least one second constraint variable;
retrieve based on the first constraint map, at least one first model value of the at least one first model property from the first model by accessing a first modeling software component that is configured to access and manipulate the first model;
determine at least one second model value for the at least one second model property of the second model, based on the at least one first model value, the expression, the first constraint map, and the second constraint map;
retrieve based on the second constraint map, at least one second model value of the at least one second model property from the second model by accessing a second modeling software component that is configured to access and manipulate the second model;
determine whether there is consistency between the determined at least one second model value and the retrieved at least one second model value;
cause at least one display device to output indicia indicative of the determination with respect to consistency between the determined at least one second model value and the retrieved at least one second model value; and
cause the second modeling software component that is configured to access and manipulate the second model, to update the at least one second model property in the second model to have the determined at least one second model value.

### Claim 2 (depends on 1)

The system according to claim 1, wherein the expression corresponds to a first expression, wherein the at least one processor is configured to:
determine that the second constraint map specifies a plurality of second model properties of the second model that are more properties than the at least one first model property of the first model specified by the first constraint map, and based thereon:
determine an external value for at least one of the second model properties based at least in part on further data that is not provided in the first constraint map, the second constraint map, the expression, and the first model;
determine a second expression;
determine at least one second model value for at least one of the second model properties of the second model, based on the at least one first model value, the transformed expression, and the external value; and
cause the second modeling software component to update the at least one second model property in the second model to have the determined at least one second model value based on the at least one first model value, the transformed expression, and the external value.

### Claim 3 (depends on 2)

The system according to claim 2, wherein the at least one processor is configured to transform the first expression into the second expression.

### Claim 4 (depends on 1)

The system according to claim 1, wherein the at least one processor is configured to:
provide an output through a display device that prompts a user to provide an input through at least one input device that is usable for the at least one processor to determine at least one of the second properties that the user has selected to remain unchanged; and
retrieve the external value for of the at least one of the second properties that the user has selected to remain unchanged from the second model by accessing the second modeling software component.

### Claim 5 (depends on 1)

The system according to claim 1, wherein the first model is a one dimensional (1D) simulation of a component, wherein the second model is a three dimensional (3D) computer-aided-design (CAD) model.

### Claim 6

A method for solving and enforcing associative constraints comprising:
through operation of at least one processor:
accessing an expression that specifies a relationship between at least one first constraint variable and at least one second constraint variable;
accessing a first constraint map that maps at least one first model property of a first model to the at least one first constraint variable;
accessing a second constraint map that maps at least one second model property of a second model to the at least one second constraint variable;
retrieving based on the first constraint map, at least one first model value of the at least one first model property from the first model by accessing a first modeling software component that is configured to access and manipulate the first model;
determining at least one second model value for the at least one second model property of the second model, based on the at least one first model value, the expression, the first constraint map, and the second constraint map;
retrieving based on the second constraint map, at least one second model value of the at least one second model property from the second model by accessing a second modeling software component that is configured to access and manipulate the second model;
determining whether there is consistency between the determined at least one second model value and the retrieved at least one second model value;
causing at least one display device to output indicia indicative of the determination with respect to consistency between the determined at least one second model value and the retrieved at least one second model value; and
causing the second modeling software component that is configured to access and manipulate the second model, to update the at least one second model property in the second model to have the determined at least one second model value.

### Claim 7 (depends on 6)

The method according to claim 6, wherein the expression corresponds to a first expression, further comprising through operation of the at least one processor:
determining that the second constraint map specifies a plurality of second model properties of the second model that are more properties than the at least one first model property of the first model specified by the first constraint map, and based thereon:
determining an external value for at least one of the second model properties based at least in part on further data that is not provided in the first constraint map, the second constraint map, the expression, and the first model;
determining a second expression;
determining at least one second model value for at least one of the second model properties of the second model, based on the at least one first model value, the transformed expression, and the external value; and
causing the second modeling software component to update the at least one second model property in the second model to have the determined at least one second model value based on the at least one first model value, the transformed expression, and the external value.

### Claim 8 (depends on 7)

The method according to claim 7, further comprising through operation of the at least one processor, transforming the first expression into the second expression.

### Claim 9 (depends on 6)

The method according to claim 6, further comprising through operation of the at least one processor:
providing an output through a display device that prompts a user to provide an input through at least one input device that is usable for the at least one processor to determine at least one of the second properties that the user has selected to remain unchanged; and
retrieving the external value for of the at least one of the second properties that the user has selected to remain unchanged from the second model by accessing the second modeling software component.

### Claim 10 (depends on 6)

The method according to claim 6, wherein the first model is a one dimensional (1D) simulation of a component, wherein the second model is a three dimensional (3D) computer-aided-design (CAD) model.

### Claim 11

A non-transitory computer readable medium encoded with executable instructions that when executed, cause at least one processor to carry out a method comprising:
accessing an expression that specifies a relationship between at least one first constraint variable and at least one second constraint variable;
accessing a first constraint map that maps at least one first model property of a first model to the at least one first constraint variable;
accessing a second constraint map that maps at least one second model property of a second model to the at least one second constraint variable;
retrieving based on the first constraint map, at least one first model value of the at least one first model property from the first model by accessing a first modeling software component that is configured to access and manipulate the first model;
determining at least one second model value for the at least one second model property of the second model, based on the at least one first model value, the expression, the first constraint map, and the second constraint map;
retrieving based on the second constraint map, at least one second model value of the at least one second model property from the second model by accessing a second modeling software component that is configured to access and manipulate the second model;
determining whether there is consistency between the determined at least one second model value and the retrieved at least one second model value;
causing at least one display device to output indicia indicative of the determination with respect to consistency between the determined at least one second model value and the retrieved at least one second model value; and
causing the second modeling software component that is configured to access and manipulate the second model, to update the at least one second model property in the second model to have the determined at least one second model value.

### Claim 12 (depends on 11)

The computer readable medium according to claim 11, wherein the expression corresponds to a first expression, wherein the method further comprises:
determining that the second constraint map specifies a plurality of second model properties of the second model that are more properties than the at least one first model property of the first model specified by the first constraint map, and based thereon:
determining an external value for at least one of the second model properties based at least in part on further data that is not provided in the first constraint map, the second constraint map, the expression, and the first model;
determining a second expression;
determining at least one second model value for at least one of the second model properties of the second model, based on the at least one first model value, the transformed expression, and the external value; and
causing the second modeling software component to update the at least one second model property in the second model to have the determined at least one second model value based on the at least one first model value, the transformed expression, and the external value.

### Claim 13 (depends on 12)

The computer readable medium according to claim 12, wherein the method further comprises transforming the first expression into the second expression.

### Claim 14 (depends on 11)

The computer readable medium according to claim 11, wherein the method further comprises:
providing an output through a display device that prompts a user to provide an input through at least one input device that is usable for the at least one processor to determine at least one of the second properties that the user has selected to remain unchanged; and
retrieving the external value for of the at least one of the second properties that the user has selected to remain unchanged from the second model by accessing the second modeling software component.

### Claim 15 (depends on 11)

The computer readable medium according to claim 11, wherein the first model is a one dimensional (1D) simulation of a component, wherein the second model is a three dimensional (3D) computer-aided-design (CAD) model.
