# US RE50,173 E1 · Method and system for dynamically manipulating an assembly of objects in a three-dimensional scene of a system of computer-aided design

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

- Number: US RE50,173 E1
- Document ID: USRE50173E1
- Status: Granted
- Kind: E1
- Application number: 16/826,878
- Filed: 2020-03-23
- Granted: 2024-10-15
- Earliest claimed: 2012-06-07
- Assignees: Dassault Systemes
- Applicants: Dassault Systemes
- Inventors: Laurent Santiquet; Bertrand Faure
- Web page: https://patentgrep.com/patent/USRE50173E1

## CPC

- G06F 30/12: characterised by design entry means specially adapted for CAD, e.g. graphical user interfaces [GUI] specially adapted for CAD
- G06F 3/04847: Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
- G06F 30/00: Computer-aided design [CAD]
- G06F 30/20: Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30)
- G06T 19/00: Manipulating three-dimensional [3D] models or images for computer graphics
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

A computer-implemented method and system of computer-aided design products for dynamically manipulating an assembly of objects in a three-dimensional scene. The system and method provide the assembly of objects with information relative to kinematic joints linking objects of the assembly. The system and method provide a dynamic manipulating tool (DM) embedded in the scene. The DM tool includes a reference with three-axes allowing for each axis a degree of freedom in translation and a degree of freedom in rotation. Next the system and method attach said dynamic manipulating tool (DM) to one object of the assembly, and select a degree of freedom of the dynamic manipulating tool (DM) attached to the object of the assembly. The system/method apply a load according to said selected degree of freedom and calculates and displays in real-time the result of a dynamic simulation of said load applying.

## Claims

### Claim 1

A computer-implemented method for dynamically manipulating an assembly of objects forming a product in a three-dimensional scene of a system of computer-aided design enabling design of the product, the method comprising:
providing the assembly of objects with information relative to kinematic joints linking objects of the assembly;
providing a dynamic manipulating tool embedded in the scene, comprising a referential with three axes allowing for each axis a degree of freedom in translation and a degree of freedom in rotation;
attaching said dynamic manipulating tool to one object of the assembly;
selecting a degree of freedom of the dynamic manipulating tool attached to the one object of the assembly;
applying a load according to said selected degree of freedom based on a performed movement of associated with the dynamic manipulating tool, the performed movement of associated with the dynamic manipulating tool being converted into a load value, wherein said conversion takes into account a speed for a movement of translation according to an axis or an acceleration for a movement of rotation according to an axis or a combination of acceleration and speed to drive both rotation and translation; and
calculating and displaying in real-time physical effects of a dynamic simulation of said load applying to the assembly of objects, in furtherance of designing the product;
wherein said applying the load is performed during the dynamic simulation based on real-time user interactions with the dynamic manipulating tool.

### Claim 2 (depends on 1)

The method according to claim 1, wherein said applying a load according to said selected degree of freedom comprises:
selecting a range of load values, the range of load values being an ordered set of load values with a minimum and a maximum load value; and
determining a load value among said range of load values.

### Claim 3 (depends on 2)

The method according to claim 2, wherein said applying a load according to said selected degree of freedom further comprises determining a referential in which the load is applied.

### Claim 4 (depends on 3)

The method according to claim 3, wherein said applying a load according to said selected degree of freedom further comprises determining if the three axes of the dynamic manipulating tool rotates or not with the one object on which the dynamic manipulating tool is attached.

### Claim 5 (depends on 1)

The method according to claim 1, wherein the movement of the dynamic manipulating tool is performed with a mouse with a pressed button or with a contact of a finger on a screen of displaying.

### Claim 6 (depends on 5)

The method according to claim 5 1, wherein said the performed movement is with a mouse or a finger is applied at a distance from the dynamic manipulating tool.

### Claim 7 (depends on 1)

The method according to claim 1, wherein said load is a force or a torque.

### Claim 8

A computer-aided design system comprising;:
a computer system; and
a non-transitory computer-readable medium having computer-executable instructions that cause the computer system to dynamically manipulate an assembly of objects forming a product in a three-dimensional scene of a computer-aided design enabling design of the product, said instructions including causing the computer system to:
provide the assembly of objects with information relative to kinematic joints linking objects of the assembly;
provide a dynamic manipulating tool embedded in the scene, comprising a referential with three axes allowing for each axis a degree of freedom in translation and a degree of freedom in rotation;
attach said dynamic manipulating tool to one object of the assembly;
select a degree of freedom of the dynamic manipulating tool attached to the one object of the assembly;
apply a load according to said selected degree of freedom based on a performed movement of associated with the dynamic manipulating tool, the performed movement of associated with the tool being converted into a load value, wherein said conversion takes into account a speed for a movement of translation according to an axis or an acceleration for a movement of rotation according to an axis or a combination of acceleration and speed to drive both rotation and translation; and
calculate and display in real-time physical effects of a dynamic simulation of said load applying to the assembly of objects, in furtherance of designing the product;
wherein said instructions cause the computer system to apply the load during the dynamic simulation based on real-time user interactions with the dynamic manipulating tool.

### Claim 9 (depends on 8)

The computer-aided design system as claimed in claim 8, wherein the instructions cause the computer system to apply the load according to the selected degree of freedom by:
selecting a range of load values, the range of load values being an ordered set of load values with a minimum and a maximum load value, and
determining a load value among said range of load values.

### Claim 10 (depends on 9)

The computer-aided design system as claimed in claim 9, wherein the instructions cause the computer system to apply the load further by:
determining a reference in which the load is applied; and
determining if the three axes of the dynamic manipulating tool rotates or not with the one object on which the dynamic manipulating tool is attached.

### Claim 11 (depends on 8)

The computer-aided design system as claimed in claim 8 wherein the movement of the dynamic manipulating tool is performed with a mouse with a pressed button or with a contact of a finger on a screen of displaying; and
wherein said movement with a mouse or a finger is applied at a distance of the dynamic manipulating tool.

### Claim 12 (depends on 8)

The computer-aided design system as claimed in claim 8 wherein said load is a force or a torque.

### Claim 13

A computer program product comprising:
a non-transitory computer readable medium, for dynamically manipulating an assembly of objects forming a product in a three-dimensional scene of a system of computer-aided design enabling design of the product; and
code means computer-executable instructions stored on the computer readable medium and causing the system to take the steps of:
providing the assembly of objects with information relative to kinematic joints linking objects of the assembly;
providing a dynamic manipulating tool embedded in the scene, comprising a referential with three axes allowing for each axis a degree of freedom in translation and a degree of freedom in rotation;
attaching said dynamic manipulating tool to one object of the assembly;
selecting a degree of freedom of the dynamic manipulating tool attached to the one object of the assembly;
applying a load according to said selected degree of freedom based on a performed movement of associated with the dynamic manipulating tool, the performed movement of associated with the tool being converted into a load value, wherein said conversion takes into account a speed for a movement of translation according to an axis or an acceleration for a movement of rotation according to an axis or a combination of acceleration and speed to drive both rotation and translation; and
calculating and displaying in real-time physical effects of a dynamic simulation of said load applying to the assembly of objects, in furtherance of designing the product;
wherein said applying the load is performed during the dynamic simulation based on real-time user interactions with the dynamic manipulating tool.

### Claim 14

A computer apparatus comprising:
means for dynamically manipulating an assembly of objects forming a product in a three-dimensional scene of a system of computer-aided design enabling further development and design of the product;
said means including computer means for implementing the steps of:
providing the assembly of objects with information relative to kinematic joints linking objects of the assembly;
providing a dynamic manipulating tool embedded in the scene, comprising a referential with three axes allowing for each axis a degree of freedom in translation and a degree of freedom in rotation;
attaching said dynamic manipulating tool to one object of the assembly;
selecting a degree of freedom of the dynamic manipulating tool attached to the one object of the assembly;
applying a load according to said selected degree of freedom based on a performed movement of the dynamic manipulating tool, the performed movement of the tool being converted into a load value, wherein said conversion takes into account a speed for a movement of translation according to an axis or an acceleration for a movement of rotation according to an axis or a combination of acceleration and speed to drive both rotation and translation; and
calculating and displaying in real-time physical effects of a dynamic simulation of said load applying to the assembly of objects, in furtherance of designing the product;
wherein said applying the load is performed during the dynamic simulation based on real-time user interactions with the dynamic manipulating tool.

### Claim 15 (depends on 14)

A computer apparatus as claimed in claim 14 wherein said load is a force or a torque.
