IP Library › Granted Patent US 11,455,073
Granted Patent B2
US 11,455,073 · App. 16/542,048 · Granted Sep 27, 2022

Method for generating a movement of a three-dimensional part of a three-dimensional assembly in a three-dimensional scene, comprising at least a rotation at most by a predetermined angle

Inventors: Christophe Rene Francis Delfino (La Colle sur Loup, FR); Guillaume Romain Dayde (Grasse, FR)
Assignee: Dassault Systemes
G06F3/04815G06F3/04845G06F3/04847G06T13/20G06T2200/24
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,455,073
App. No.
16/542,048
Granted
Sep 27, 2022
Kind
B2
Abstract

A computer-based system and method generate a movement of a 3D part of a 3D assembly in a 3D scene. Movement of the 3D part represents rotation by a predetermined angle. The method a) displays a 3D assembly of 3D parts in the 3D scene; b) selects a 3D part of the 3D assembly; and c) displays in the 3D scene a 3D manipulator. The 3D manipulator comprises three axes, and is anchored to the 3D part at an anchor point. The method then d) drags the 3D manipulator along one axis by a current distance from the anchor point on the axis. The predetermined angle corresponds to a maximum distance from the anchor point. The method e) while dragging the 3D manipulator, computes a ratio of the current distance to the maximum distance, and f) generates the movement of the 3D part proportionally to the ratio.

Claims (83)

1. A computer-implemented method for generating a movement of a given three-dimensional (3D) part of a 3D assembly of 3D parts in a 3D scene, the movement of the given 3D part comprising at least a rotation at most by a predetermined angle, the method comprising the steps of:

a) displaying the 3D assembly of 3D parts in the 3D scene;

b) selecting the given 3D part of the 3D assembly of 3D parts;

c) displaying in the 3D scene a 3D manipulator comprising three axes, said 3D manipulator being anchored to the given 3D part in an anchor point;

d) dragging the 3D manipulator along one axis of the three axes by a current distance from the anchor point on said one axis, the predetermined angle corresponding to a maximum distance from the anchor point; and

e) responsive to the dragging the 3D manipulator:

e1) computing a ratio of the current distance to the maximum distance, and

e2) generating the movement of the given 3D part proportionally to the ratio, such that the movement comprising at least a rotation at most by the predetermined angle stops if the 3D manipulator is dragged beyond the maximum distance;

wherein the movement further comprises a translation, without rotation, by a predetermined length along said one axis, the method further comprising:

(i) in step d), splitting the maximum distance (MD) into two partial maximum distances (MD 1 , MD 2 ), the predetermined angle corresponding to a first partial maximum distance (MD 1 ) of the two partial maximum distances (MD 1 , MD 2 ), the predetermined length corresponding to a second partial maximum distance (MD 2 ) of the two partial maximum distances (MD 1 , MD 2 );

(ii) in step e1), computing a first ratio of the current distance (CD) to the first partial maximum distance (MD 1 ), determining an intermediate point located on said one axis, away from the anchor point (ANP) by the first partial maximum distance (MD 1 ), recomputing the current distance (CD) starting from the intermediate point and computing a second ratio of the recomputed current distance (CD) to the second partial maximum distance (MD 2 ); and

(iii) in step e2), generating the rotation of the given 3D part proportionally to the first ratio and the translation of the given 3D part proportionally to the second ratio.

2. The computer-implemented method according to claim 1 , wherein the rotation is combined with the translation such that the translation occurs along said one axis and the rotation occurs around said one axis, representing a screwing or an unscrewing according to a predetermined thread pitch.

3. The computer-implemented method according to claim 1 , wherein:

selecting the given 3D part comprises identifying a bounding box enclosing the given 3D part; and

displaying in the 3D scene the 3D manipulator comprises positioning the anchor point in a center of the bounding box.

4. The computer-implemented method according to claim 3 , wherein:

selecting the given 3D part further comprises identifying three secant edges of the bounding box, and

displaying in the 3D scene the 3D manipulator further comprises aligning the axes of the 3D manipulator with the three secant edges of the bounding box.

5. The computer-implemented method according to claim 1 , further comprising a step of setting a parameter of the movement, said setting a parameter of the movement comprising:

detecting a user interaction on the 3D manipulator;

in response to the detection of the user interaction, displaying at least one value of the parameter of the movement; and

detecting an updating of the at least one value of the parameter by a user, thereby setting the parameter of the movement.

6. The computer-implemented method according to claim 1 , further comprising a step of selecting one movement among a plurality of movements, wherein selecting the one movement comprises:

detecting a first user interaction on the 3D manipulator;

in response to the detection of the first user interaction, displaying a set of icons representing respective corresponding movements of the plurality of movements; and

detecting a second user interaction on one icon among the displayed set of icons, thereby selecting the corresponding movement the one icon represents.

7. The computer-implemented method according to claim 1 , further comprising a step of creating a video animation of the movement.

8. A computer program product comprising:

a non-volatile computer-readable data-storage medium; and

computer-executable instructions carried on the data-storage medium including instructions that cause a computer system to generate a movement of a given 3D part of a 3D assembly of 3D parts in a 3D scene, the movement of the given 3D part comprising at least a rotation at most by a predetermined angle, the generating being performed by:

a) displaying the 3D assembly of 3D parts in the 3D scene;

b) selecting the given 3D part of the 3D assembly of 3D parts;

c) displaying in the 3D scene a 3D manipulator comprising three axes, said 3D manipulator being anchored to the given 3D part in an anchor point;

d) dragging the 3D manipulator along one axis of the three axes by a current distance from the anchor point on said one axis, the predetermined angle corresponding to a maximum distance from the anchor point; and

e) responsive to the dragging the 3D manipulator:

e1) computing a ratio of the current distance to the maximum distance, and

e2) generating the movement of the given 3D part proportionally to the ratio, such that the movement comprising at least a rotation at most by the predetermined angle stops if the 3D manipulator is dragged beyond the maximum distance;

wherein the movement further comprises a translation, without rotation, by a predetermined length along said one axis, the generating being further performed by:

(i) in step d), splitting the maximum distance (MD) into two partial maximum distances (MD 1 , MD 2 ), the predetermined angle corresponding to a first partial maximum distance (MD 1 ) of the two partial maximum distances (MD 1 , MD 2 ), the predetermined length corresponding to a second partial maximum distance (MD 2 ) of the two partial maximum distances (MD 1 , MD 2 );

(ii) in step e1), computing a first ratio of the current distance (CD) to the first partial maximum distance (MD 1 ), determining an intermediate point located on said one axis, away from the anchor point (ANP) by the first partial maximum distance (MD 1 ), recomputing the current distance (CD) starting from the intermediate point and computing a second ratio of the recomputed current distance (CD) to the second partial maximum distance (MD 2 ); and

(iii) in step e2), generating the rotation of the given 3D part proportionally to the first ratio and the translation of the given 3D part proportionally to the second ratio.

9. A non-volatile computer-readable data-storage medium comprising:

a memory area containing computer-executable instructions that cause a computer system to generate a movement of a given 3D part of a 3D assembly of 3D parts in a 3D scene, the movement of the given 3D part comprising at least a rotation at most by a predetermined angle, the generating being performed by:

a) displaying the 3D assembly of 3D parts in the 3D scene;

b) selecting the given 3D part of the 3D assembly of 3D parts;

c) displaying in the 3D scene a 3D manipulator comprising three axes, said 3D manipulator being anchored to the given 3D part in an anchor point;

d) dragging the 3D manipulator along one axis of the three axes by a current distance from the anchor point on said one axis, the predetermined angle corresponding to a maximum distance from the anchor point; and

e) responsive to the dragging the 3D manipulator (MAN):

e1) computing a ratio of the current distance (CD) to the maximum distance (MD), and

e2) generating the movement of the given 3D part proportionally to the ratio, such that the movement comprising at least a rotation at most by the predetermined angle stops at the predetermined angle once if the 3D manipulator has been is dragged beyond the maximum distance;

wherein the movement further comprises a translation, without rotation, by a predetermined length along said one axis, the generating being further performed by:

(i) in step d), splitting the maximum distance (MD) into two partial maximum distances (MD 1 , MD 2 ), the predetermined angle corresponding to a first partial maximum distance (MD 1 ) of the two partial maximum distances (MD 1 , MD 2 ), the predetermined length corresponding to a second partial maximum distance (MD 2 ) of the two partial maximum distances (MD 1 , MD 2 );

(ii) in step e1), computing a first ratio of the current distance (CD) to the first partial maximum distance (MD 1 ), determining an intermediate point located on said one axis, away from the anchor point (ANP) by the first partial maximum distance (MD 1 ), recomputing the current distance (CD) starting from the intermediate point and computing a second ratio of the recomputed current distance (CD) to the second partial maximum distance (MD 2 ); and

(iii) in step e2), generating the rotation of the given 3D part proportionally to the first ratio and the translation of the given 3D part proportionally to the second ratio.

10. A Computer Aided Design system comprising:

a processor coupled to a memory and a graphical user interface;

the memory storing computer-executable instructions that cause the Computer Aided Design system to generate a movement of a given 3D part of a 3D assembly of 3D parts in a 3D scene, the movement of the given 3D part comprising at least a rotation at most by a predetermined angle, the generating being performed by:

a) displaying the 3D assembly of 3D parts in the 3D scene;

b) selecting the given 3D part of the 3D assembly of 3D parts;

c) displaying in the 3D scene a 3D manipulator comprising three axes, said 3D manipulator being anchored to the given 3D part in an anchor point;

d) dragging the 3D manipulator along one axis of the three axes by a current distance from the anchor point on said one axis, the predetermined angle corresponding to a maximum distance from the anchor point; and

e) responsive to the dragging the 3D manipulator:

e1) computing a ratio of the current distance to the maximum distance, and

e2) generating the movement of the given 3D part proportionally to the ratio, such that the movement comprising at least a rotation at most by the predetermined angle stops if the 3D manipulator is dragged beyond the maximum distance;

wherein the movement further comprises a translation, without rotation, by a predetermined length along said one axis, the generating being further performed by:

(i) in step d), splitting the maximum distance (MD) into two partial maximum distances (MD 1 , MD 2 ), the predetermined angle corresponding to a first partial maximum distance (MD 1 ) of the two partial maximum distances (MD 1 , MD 2 ), the predetermined length corresponding to a second partial maximum distance (MD 2 ) of the two partial maximum distances (MD 1 , MD 2 );

(ii) in step e1), computing a first ratio of the current distance (CD) to the first partial maximum distance (MD 1 ), determining an intermediate point located on said one axis, away from the anchor point (ANP) by the first partial maximum distance (MD 1 ), recomputing the current distance (CD) starting from the intermediate point and computing a second ratio of the recomputed current distance (CD) to the second partial maximum distance (MD 2 ); and

(iii) in step e2), generating the rotation of the given 3D part proportionally to the first ratio and the translation of the given 3D part proportionally to the second ratio.

11. A three-dimensional illustration authoring system comprising:

a processor coupled to a memory and a graphical user interface;

the memory storing computer-executable instructions that cause the three-dimensional illustration authoring system to generate a movement of a given 3D part of a 3D assembly of 3D parts in a 3D scene, the movement of the given 3D part comprising at least a rotation at most by a predetermined angle, the generating being performed by:

a) displaying the 3D assembly of 3D parts in the 3D scene;

b) selecting the given 3D part of the 3D assembly of 3D parts;

c) displaying in the 3D scene a 3D manipulator comprising three axes, said 3D manipulator being anchored to the given 3D part in an anchor point;

d) dragging the 3D manipulator along one axis of the three axes by a current distance from the anchor point on said one axis, the predetermined angle corresponding to a maximum distance from the anchor point; and

e) responsive to the dragging the 3D manipulator:

e1) computing a ratio of the current distance to the maximum distance (MD), and

e2) generating the movement of the given 3D part proportionally to the ratio, such that the movement comprising at least a rotation at most by the predetermined angle stops if the 3D manipulator is dragged beyond the maximum distance;

wherein the movement further comprises a translation, without rotation, by a predetermined length along said one axis, the generating being further performed by:

(i) in step d), splitting the maximum distance (MD) into two partial maximum distances (MD 1 , MD 2 ), the predetermined angle corresponding to a first partial maximum distance (MD 1 ) of the two partial maximum distances (MD 1 , MD 2 ), the predetermined length corresponding to a second partial maximum distance (MD 2 ) of the two partial maximum distances (MD 1 , MD 2 );

(ii) in step e1), computing a first ratio of the current distance (CD) to the first partial maximum distance (MD 1 ), determining an intermediate point located on said one axis, away from the anchor point (ANP) by the first partial maximum distance (MD 1 ), recomputing the current distance (CD) starting from the intermediate point and computing a second ratio of the recomputed current distance (CD) to the second partial maximum distance (MD 2 ); and

(iii) in step e2), generating the rotation of the given 3D part proportionally to the first ratio and the translation of the given 3D part proportionally to the second ratio.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 20, 2019
From: DELFINO, CHRISTOPHE RENE FRANCIS; DAYDE, GUILLAUME ROMAIN
To: DASSAULT SYSTEMES
Reel/Frame 050447/0930 →
Priority Claims (1)
EP 18306192 · Sep 12, 2018 · regional
Continuity (1)
Related Publication 20200081604A1 · Mar 12, 2020
Cited By (1)
US 12,411,596