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.

Patent
   RE50173
Priority
Jun 07 2012
Filed
Mar 23 2020
Issued
Oct 15 2024
Expiry
May 30 2033
Assg.orig
Entity
Large
0
19
currently ok
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.
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.
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.
0. 2. 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.
0. 3. 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.
0. 4. 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.
0. 5. 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.
6. 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.
0. 7. The method according to claim 1, wherein said load is a force or a torque.
0. 9. 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.
0. 10. 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.
0. 11. 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.
0. 12. The computer-aided design system as claimed in claim 8 wherein said load is a force or a torque.
0. 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.
0. 15. A computer apparatus as claimed in claim 14 wherein said load is a force or a torque.

This axisaxes 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 object of the assembly;
  • selecting if the axes of the dynamic manipulating tool rotate with the one object of the assembly to which the dynamic manipulating tool is attached;
  • performing a movement using a mouse with a pressed button or with a contact of a finger on a screen display;
  • converting the performed movement into a load value indicative of a load, the load being a force or a torque, said conversion taking 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;
  • applying a the load according to said selected degree of freedom to the one object, the load having said load value and the direction of the axis of the selected degree of freedom, said direction keeping either a fixed orientation in a world reference frame or rotating with the one object according to said selecting if the axes of the dynamic tool rotate with the one object of the assembly to which the dynamic manipulating tool is attached;
  • calculating in real-time and displaying on the screen display in real-time the result 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 and wherein during said calculating and displaying in real-time the physical effects of a dynamic simulation, the dynamic manipulating tool follows the part of said one object of the assembly to which it is attached.
  • Such a dynamic manipulating tool is described in the document U.S. Pat. No. 7,823,085 B2.

    Such a method allows to take into account dynamically, or, in other words in real-time the physical laws of dynamic forces, like gravity and load (force, torque).

    Thus the method increases the realism of simulation and observe natural effects, avoiding impossible configuration: kinematic can find positions of an assembly that are mathematically possible but not physically reachable.

    According to an embodiment, the step of applying a load according to said selected degree of freedom comprises:

    Thus it is easy for the user to dynamically determine the load to apply to the assembly of objects.

    According to an embodiment, the step of applying a load according to said selected degree of freedom comprises a third sub-step of determining a referential in which the load is applied.

    Determining a referential from which the load is applied allows to define relatively to which part the load is applied. If the part is not specified, then a referential called “world” is set.

    According to an embodiment, the step of applying a load according to said selected degree of freedom comprises a fourth sub-step of determining if the three-axis of the dynamic manipulating tool rotates or not with the object on which the dynamic manipulating tool is attached.

    Determining if the three-axis of the dynamic manipulating tool rotates or not with the object on which the dynamic manipulating tool is attached is used only when the referential of the load is the world referential. If the user wants to apply a load in a constant direction (like a far away attraction), the manipulator should not rotate with the object. If the load should be applied in a local axis (to spin a motor axel for example), the user sets the manipulator to turn with the object.

    If the referential of the load is not the world referential, but another part of the assembly, then, for simplicity reason, the manipulator should always turn with the part.

    These two choices (referential and rotation of manipulator) are necessary to cover the scientific description of a load applied to a solid. The load must be described in a referential (theorem of action/reaction) and with the axis system to express it. The axis system is the manipulator.

    According to an embodiment, the step of applying a load is executed by performing a movement of the dynamic manipulating tool, the movement of the tool being converted into a load value.

    Thus, the user can manipulate the selected part with a mouse like he would do with a joystick in a video game for example.

    According to an embodiment, 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.

    Such a conversion allows a dynamic manipulation of objects as close as possible to real life feelings:

    According to an embodiment, 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.

    Thus it is very easy for the user to apply a load.

    For example, said movement with a mouse or a finger is applied at a distance of the dynamic manipulating tool.

    Thus it is possible to apply the load at the right place with keeping a good visibility on the screen because manipulation occurs on interactors but not directly on the manipulator as explained further in this document.

    Alternatively, the step of applying a load is executed by directly supplying a value of the load.

    According to the case, it can be an easiest way to apply a load for the user.

    The load can be a force or a torque.

    It is proposed, according to another aspect of the invention, a computer-readable medium having computer-executable instructions to cause the computer system to perform the method for dynamically manipulating an assembly of objects in a three-dimensional scene of a system of computer-aided design as described above.

    It is proposed, according to another aspect of the invention, a computer program product, stored on a computer readable medium, for dynamically manipulating an assembly of objects in a three-dimensional scene of a system of computer-aided design, comprising code means for causing the system to take the steps as described above.

    It is proposed, according to another aspect of the invention, an apparatus for dynamically manipulating an assembly of objects in a three-dimensional scene of a system of computer-aided design comprising means for implementing the steps of the method as described above.

    The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention.

    The invention will be better understood with the study of some embodiments described by way of non-limiting examples and illustrated by the accompanying drawings wherein:

    FIGS. 1 to 7 illustrate an example of dynamically manipulating an assembly of objects in a three-dimensional scene of a system of computer-aided design, in a basic use case, according to an aspect of the invention;

    FIGS. 8 to 10 illustrate an example of dynamically manipulating an assembly of objects in a three-dimensional scene of a system of computer-aided design, in a case wherein a load is applied in a constant direction, according to an aspect of the invention;

    FIGS. 11 to 14 illustrate an example of dynamically manipulating an assembly of objects in a three-dimensional scene of a system of computer-aided design, in a case wherein a load is applied in a direction parallel to a part of the assembly, according to an aspect of the invention;

    FIGS. 15 to 20 illustrate an example of dynamically manipulating an assembly of objects in a three-dimensional scene of a system of computer-aided design, in a case wherein a load is applied by numerical input to a part of the assembly, according to an aspect of the invention;

    FIGS. 21 to 23 illustrate an example of dynamically manipulating an assembly of objects in a three-dimensional scene of a system of computer-aided design, in a case wherein a load is applied relatively to another part, according to an aspect of the invention; and

    FIGS. 24 and 25 illustrate a method according to an aspect of the invention.

    A description of example embodiments of the invention follows.

    The teachings of all patents, published applications and references cited herein are incorporated by reference in their entirety.

    The steps of the present method can be performed by one or more programmable processors executing a computer program to perform functions of the invention by operating on input data and generating output.

    A computer program can be written in any form of programming language, including compiled or interpreted languages, and the computer program can be deployed in any form, including as a stand-alone program or as a subroutine, element or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.

    Following figures explain more in details the functioning of the present invention.

    On FIGS. 1 to 7 is illustrated a basic use case of the present invention.

    On FIG. 1, the method starts with a 3D model or assembly of objects stopped or immobile. On this example the assembly of objects or 3D model is a centrifugal “fly ball” governor CG whose rotation of the mast would spread apart the two spheres of the assembly until the maximum distance between them is reached.

    In a step 1, a dynamic simulation is started by pressing on a displayed button BSTART as illustrated on FIG. 1.

    The displayed result is represented on FIG. 2, wherein the arms of the assembly fall down because of the effect of gravity. A dynamic manipulator DM, and a pause button BPAUSE, a stop button BSTOP, and a rewind button BREW appear. The pause button BPAUSE, the stop button BSTOP, and the rewind button are respectively adapted to suspend, stop, and rewind the dynamic simulation.

    Like in known systems only taking into account kinematic links, the usual way of interaction is a 3D manipulator, and in the present invention a dynamic 3D manipulator DM.

    A manipulator is a graphical artifact controllable by a mouse (cf U.S. Pat. No. 7,823,085) or with a finger on a touch screen. It's positioned on a part and suggests different ways of manipulation. The dynamic manipulator DM is composed of an axis system with three orthogonal axes and three arcs of circle offering different directions of manipulation: three translations along each of the three axis directions, and three rotations along the three arcs or, in other words, around the three axis. In brief, the dynamic manipulator DM comprises and offers six degrees of freedom.

    An interaction on an axis would translate the part on which the manipulator is placed, and an interaction on an arc would turn the part on which the manipulator is placed. As dynamic manipulation is running, this manipulation can turn and translate the part of the assembly on which it is placed taking into account physical laws of motion: it's a dynamic manipulator. The character dynamic of the manipulator is illustrated by double arcs of circle.

    Thus in a step 2, the user can make a drag and drop of the dynamic manipulator DM on the part of the assembly where the user wants to apply the load.

    The displayed result is represented on FIG. 3, wherein the user can select one of the six possible manipulation along one of the six degrees of freedom (the three translations and the three rotations). Thus a manipulator panel MP is displayed. The manipulator panel MP comprises a gauge GAU to monitor the load applied, and a selector SEL of level of strength, for example with three icons, each representative of a range of strength. In the present example, three icons are represented, a first icon with a hand, representative of 0.1 to 1 N.m for a torque, and 0.1 to 1 N for a force, a second icon with a horse, representative of 1 to 103 N.m for a torque and 1 to 103 N for a force, and a third icon with a bulldozer, representative of 1 to 106 N.m for a torque and 1 to 106 N for a force.

    Furthermore, the manipulator panel MP comprises a field REL to explain relatively to what or to which reference frame or referential the load is applied (world or part of the assembly), and an option OPT to rotate or not the dynamic manipulator DM, or, in other word, to rotate the three axis with the part of the assembly or to keep constant their orientation in space.

    Thus in a step 3, the user selects one of the six possible manipulation along one of the six degrees of freedom. In the present example user selects rotation along Z axis.

    The displayed result is represented on FIG. 4, wherein rotation interactors INT appears, for example represented with two curved arrows, and, in the gauge GAU the minimum and maximum values are set according to the “strength” selector SEL indication, in this case the minimum and maximum values are 0.1 and 1 N.m of torque.

    Thus, in a step 4, the user apply, in the present case, a torque with a mouse or a finger in case of touch screen.

    In case of a translation, the speed drives the force, and in case of rotation, the acceleration drives the torque. A combination of acceleration and speed can also be used to drive translation and rotation.

    The displayed result is represented on FIG. 5, wherein the gauge GAU indicates the numerical value of said torque around a selected axis in N.m applied to the part of the assembly. The assembly moves accordingly.

    Thus, in a step 5, the user can stop applying the torque by releasing a mouse button or finger from a touch screen.

    The displayed result is represented on FIG. 6, wherein the assembly rotation continues.

    Thus, in a step 6, the user takes the dynamic manipulator DM away from the part of the assembly whose it was attached to.

    The displayed result is represented on FIG. 7, wherein the assembly rotation continues until the user decides to pause or stop the dynamic simulation. The manipulator panel MP is closed and the dynamic manipulator DM reappears ready for another manipulation until simulation is stopped.

    On FIGS. 8 to 10 is illustrated an example of dynamically manipulating an assembly of objects in a three-dimensional scene of a system of computer-aided design, in a case wherein a load is applied in a constant direction.

    The method starts, like illustrated on FIG. 8, with a 3D model or assembly of objects stopped or immobile. On this example the assembly of objects or 3D model is an assembly comprising a balancing part or lever.

    The dynamic simulation is already started and the dynamic manipulator DM is fixed on or attached to the lever. In a step 1, the user make sure that the option OPT of rotate with part of the manipulator panel MP is set to NO. Furthermore the selector SEL selects the hand icon, representative of a load comprised between 0.1 and 1 N.m.

    Thus, the assembly is still balancing, and in a step 2, the user selects an axis of the dynamic manipulator DM.

    On FIG. 9, translation interactors INT appear, for example represented with two straight arrows, and the user applies a force with a mouse or a finger in case of touch screen. The translation interactors INT don't move, otherwise the user would need to “run after the part” to apply a force. The dynamic manipulator DM follows the part at which it is linked and axis keep their orientation in the world reference frame, in other words axis don't rotate with said part. The balancing motion is going on.

    Thus, like illustrated on FIG. 10, the dynamic manipulator DM follows the part to which it is linked and axis keep a constant orientation in the world reference frame, it doesn't rotate with the part, while the balancing motion is going on.

    The user can apply a force in a given constant direction relatively to the world reference frame as if he pulls with an infinite rope.

    On FIGS. 11 to 14 is illustrated an example of dynamically manipulating an assembly of objects in a three-dimensional scene of a system of computer-aided design, in a case wherein a load is applied in a direction parallel to a part of the assembly, according to an aspect of the invention.

    The method starts, like illustrated on FIG. 11, with a 3D model or assembly of objects stopped or immobile. On this example the assembly of objects or 3D model is a connecting rod-piston.

    The dynamic simulation is started and the dynamic manipulator DM is attached to a part of the assembly. In a step 1, the user set the option OPT “rotate with part” to YES, like illustrated on FIG. 12, for the axis rotate with the part to which they are attached.

    In a step 2, the user selects an axis for manipulation, and in a step 3, like represented on FIG. 13, the user can apply a force with a mouse or a finger in case of touch screen. Furthermore, the translation interactors INT appear.

    Then, the dynamic manipulator DM follows the part of the assembly to which it is linked, like illustrated on FIG. 14, with the axis keeping parallel to the part to which they linked, in other words the rod.

    Thus, the user can apply a force on a part of the assembly following the part in the motion, like if he would use his hand to apply motion in real life.

    On FIGS. 15 to 20 is illustrated an example of dynamically manipulating an assembly of objects, a centrifugal “fly ball” governor, in a three-dimensional scene of a system of computer-aided design, in a case wherein a load is applied in by numerical input to a part of the assembly.

    On FIG. 15, the method starts with a 3D model or assembly which is a centrifugal “fly ball” governor. The dynamic Manipulator DM is attached the mast base. The user selects one of the six possible manipulation among the three translations and the three rotations along the three axis.

    Thus rotation interactors INT appear, like illustrated on FIG. 16, and, in a step 2, the user enters a numerical value or turn the gauge GAU spindle with the mouse or a finger in case of touch screen.

    A message “set value” appears to indicate to the user that the load is driven by this value, like represented on FIG. 17, and the user can click on the rotation interactors INT (arrow) to apply the indicated load.

    During motion, the spindle of the gauge GAU moves on the set value to indicate that this value is applied, like illustrated on FIG. 18. The assembly starts to rotate as the torque is applied. The rotation accelerates until the load is not applied anymore. Thus, in a step 4, the user can release the load by releasing mouse button or finger from the screen.

    Thus like represented on FIG. 19, the gauge spindle indicates “0” as no more load is applied, and the message “set value” is still displayed.

    In a step 5, the user can remove the set value by drag and drop of the mark of the gauge. The rotation continues like on FIG. 20. The following is like for basic cases.

    On FIGS. 21 to 22 is illustrated an example of dynamically manipulating an assembly of objects in a three-dimensional scene of a system of computer-aided design, in a case wherein a load is applied relatively to another part.

    On FIG. 21 a dynamic simulation on a steering wheel SW of a car on which the dynamic manipulator DM is attached. In a step 1, the user clicks in the field REL “relatively to” and in a step 2, like illustrated on FIG. 22, selects a part or element of the assembly, in this case the dashboard DB.

    Thus, like illustrated on FIG. 23, the user can apply a load as if he sits in the car, relatively to the dashboard DB.

    To summarize the above, the method according to an aspect of the invention comprises the step illustrated on FIG. 24.

    In a first step S1, the method provides the assembly of objects with information relative to kinematic joints linking objects of the assembly.

    Then, in a second step S2, the method provides a dynamic manipulating tool DM embedded in the scene, comprising a referential with three-axis allowing for each axis a degree of freedom in translation and a degree of freedom in rotation, and in a third step S3 the method attaches said dynamic manipulating tool DM to an object of the assembly.

    Thus, in a fourth step S4, the method selects a degree of freedom of the dynamic manipulating tool DM attached to the object of the assembly, in a fifth step S5, the method applies a load according to said selected degree of freedom, and in a sixth step S6 calculates in real-time and displays in real-time the result of a dynamic simulation of said load applying.

    For example, like illustrated on FIG. 25, the fifth step S5 can comprise a first sub-step S5a of selecting a range of load values, and a second sub-step S5b of determining a load value among said range.

    Furthermore, the fifth step S5 can comprise an optional third sub-step S5c of determining a referential from which the load is applied, and an optional fourth sub-step S5d of determining if the three-axis of the dynamic manipulating tool rotate or not with the object on which the dynamic manipulating tool is attached.

    Thus the present invention provides a computer-implemented method and a system for dynamically manipulating an assembly of objects in a three-dimensional scene of a system of computer-aided design, taking into account dynamically, or, in other words in real-time the physical laws of dynamic forces, like gravity and load (force, torque).

    While this invention has been particularly shown and described with references to example embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims.

    Santiquet, Laurent, Faure, Bertrand

    Patent Priority Assignee Title
    Patent Priority Assignee Title
    6061062, Dec 20 1991 Apple Inc Zooming controller
    6556783, Jan 16 1997 Method and apparatus for three dimensional modeling of an object
    6597382, Jun 10 1999 Dassault Systemes Knowledge-based polymorph undockable toolbar
    6963824, Feb 19 1999 ARIZONA BOARD OF REGENTS, THE Method and apparatus for geometric variations to integrate parametric computer aided design with tolerance analyses and optimization
    7823085, Jun 10 1999 Dassault Systemes Knowledge-based polymorph undockable toolbar
    7934169, Jan 25 2006 III HOLDINGS 3, LLC Graphical user interface, electronic device, method and computer program that uses sliders for user input
    8554521, Nov 06 2009 Dassault Systemes Designing an assembly of objects in a computer-aided design system
    9953108, Jun 07 2012 Dassault Systemes Method and system for dynamically manipulating an assembly of objects in a three-dimensional scene of a system of computer-aided design
    20020123812,
    20030187532,
    20050204312,
    20080243456,
    20090248369,
    20130332119,
    CN101375239,
    EP2672456,
    JP2001056872,
    JP2006019914,
    JP2009116581,
    ///
    Executed onAssignorAssigneeConveyanceFrameReelDoc
    Jul 02 2013SANTIQUET, LAURENTDassault SystemesASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0529870704 pdf
    Jul 02 2013FAURE, BERTRANDDassault SystemesASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0529870704 pdf
    Mar 23 2020Dassault Systemes(assignment on the face of the patent)
    Date Maintenance Fee Events
    Mar 23 2020BIG: Entity status set to Undiscounted (note the period is included in the code).


    Date Maintenance Schedule
    Oct 15 20274 years fee payment window open
    Apr 15 20286 months grace period start (w surcharge)
    Oct 15 2028patent expiry (for year 4)
    Oct 15 20302 years to revive unintentionally abandoned end. (for year 4)
    Oct 15 20318 years fee payment window open
    Apr 15 20326 months grace period start (w surcharge)
    Oct 15 2032patent expiry (for year 8)
    Oct 15 20342 years to revive unintentionally abandoned end. (for year 8)
    Oct 15 203512 years fee payment window open
    Apr 15 20366 months grace period start (w surcharge)
    Oct 15 2036patent expiry (for year 12)
    Oct 15 20382 years to revive unintentionally abandoned end. (for year 12)