It is provided a computer-implemented method for simulating the machining of a workpiece with a cutting tool having a cutting part and a non-cutting part. The method comprises providing a modeled volume representing the workpiece and a trajectory of the cutting tool; determining a colliding sweep of the cutting tool, wherein the colliding sweep represents the volume swept by the non-cutting front of the cutting tool when the cutting tool follows the trajectory; testing a collision with the workpiece according to the determining step. Such a method improves the simulation of the machining of a workpiece with a cutting tool.

Patent
   RE48940
Priority
Nov 03 2011
Filed
Nov 08 2018
Issued
Feb 22 2022
Expiry
Nov 01 2032
Assg.orig
Entity
Large
0
35
currently ok
8. A computer-implemented method for simulating the machining of a workpiece on a cam system, wherein the method comprises:
by a processor and associated memory:
providing in the cam system (i) a modeled volume representing a subject workpiece, (ii) a cutting tool having a cutting part, a non-cutting part, and a protective front, and (iii) a trajectory of the cutting tool;
determining a colliding sweep of the cutting tool, wherein determining the colliding sweep comprises dissociating motion of the cutting part and motion of the non-cutting part, and the dissociating motion includes determining volume swept by the protective front when the cutting tool is moving to follow the trajectory, wherein the protective front comprises a set of points of the moving cutting tool that prevents other points of the moving cutting tool from colliding with a solid at a position on the trajectory, wherein at a given time t, the protective front protectFront(t) is a subset of Sprotect defined by: protectFront(t)={xϵSprotect;<Rot(t)n(x),∂/∂tTraj(t)x>≥0},
protect front ( t ) = { x S protect ; Rot ( t ) n ( x ) , t Traj ( t ) x 0 } ,
 wherein Sprotect is a boundary of the protective front non-cutting part which is not in a boundary of the cutting part tool, <u,v> denotes a scalar product between vectors u and v, Traj(t) denotes a trajectory of the cutting tool at the given time t, and Rot(t) denotes a rotation component of the trajectory at the given time t; and
testing a collision with the subject workpiece resulting from the determined colliding sweep, the testing comprising: determining whether the colliding sweep intersects the workpiece, and if the colliding sweep is determined as intersecting the workpiece, detecting a collision.
17. A computer program product, comprising:
a non-transitory computer readable storage medium, the computer readable storage medium having instructions configured for simulating the machining of a subject workpiece with a cutting tool having a cutting part and a non-cutting part by:
providing a modeled volume representing (i) the subject workpiece and (ii) a trajectory of the cutting tool, the cutting tool having a protective front;
determining a colliding sweep of the cutting tool, wherein determining the colliding sweep comprises dissociating motion of the cutting part and motion of the non-cutting part, and the dissociating motion includes determining volume swept by the protective front when the cutting tool is moving to follow the trajectory, wherein the protective front comprises a set of points of the moving cutting tool that prevents other points of the moving cutting tool from colliding with a solid at a position on the trajectory, wherein at a given time t, the protective front protectFront(t) is a subset of Sprotect defined by: protectFront(t)={xϵSprotect;<Rot(t)n(x),∂/∂tTraj(t)x>≥0},
protect front ( t ) = { x S protect ; Rot ( t ) n ( x ) , t Traj ( t ) x 0 } ,
 wherein Sprotect is a boundary of the protective front non-cutting part which is not in a boundary of the cutting part tool, <u,v> denotes a scalar product between vectors u and v, Traj(t) denotes a trajectory of the cutting tool at the given time t, and Rot(t) denotes a rotation component of the trajectory at the given time t; and
testing a collision with the subject workpiece resulting from the determined colliding sweep, the testing comprising: determining whether the colliding sweep intersects the workpiece, and if the colliding sweep is determined as intersecting the workpiece, detecting a collision.
1. A computer-implemented method for simulating the machining of a workpiece on a cam system, wherein the method comprises:
by a processor and associated memory:
providing in the cam system (i) a modeled volume representing a subject workpiece, (ii) a cutting tool having a cutting part and a non-cutting part, the non-cutting part having a non-cutting front, and (iii) a trajectory of the cutting tool;
determining a colliding sweep of the cutting tool, wherein the colliding sweep represents volume swept by the non-cutting front of the cutting tool when the cutting tool follows the trajectory, and wherein determining the colliding sweep comprises dissociating motion of the cutting part and motion of the non-cutting part, and the dissociating motion includes determining volume swept by the non-cutting front when the cutting tool is moving to follow the trajectory at a given time t, wherein the non-cutting front comprises a set of points with instantaneous speed vectors at the given time t that are oriented towards an exterior of the moving cutting tool, wherein at the given time t, the non-cutting front Front(t) is a subset of Souter defined by:
front(t)={xϵSouter;<Rot(t)n(x),∂/∂tTraj(t)x>≥0},
front ( t ) = { x S outer ; Rot ( t ) n ( x ) , t Traj ( t ) x 0 } ,
 wherein Souter is a boundary of the cutting non-cutting part, <u,v> denotes a scalar product between vectors u and v, Traj(t) denotes a trajectory of the cutting tool at the given time t, and Rot(t) denotes a rotation component of the trajectory at the given time t; and
testing a collision with the subject workpiece resulting from the determined colliding sweep, the testing comprising: determining whether the colliding sweep intersects the workpiece, and if the colliding sweep is determined as intersecting the workpiece, detecting a collision.
12. A cam system for simulating machining of a workpiece comprising:
a processor coupled with memory to simulate machining of a subject workpiece with a cutting tool having a cutting part, a non-cutting part, and a protective front, the processor configured to:
provide a modeled volume representing (i) the subject workpiece and (ii) a trajectory of the cutting tool;
determine a colliding sweep of the cutting tool, wherein determining the colliding sweep comprises dissociating motion of the cutting part and motion of the non-cutting part, and the dissociating motion includes determining volume swept by the protective front when the cutting tool is moving to follow the trajectory, wherein the protective front comprises a set of points of the moving cutting tool that prevents other points of the moving cutting tool from colliding with a solid at a position on the trajectory, wherein at a given time t, the protective front protectFront(t) is a subset of Sprotect defined by:
protectFront(t)={xϵSprotect;<Rot(t)n(x),∂/∂tTraj(t)x>≥0},
protect front ( t ) = { x S protect ; Rot ( t ) n ( x ) , t Traj ( t ) x 0 } ,
 wherein Sprotect is a boundary of the protective front non-cutting part which is not in a boundary of the cutting part tool, <u,v> denotes a scalar product between vectors u and v, Traj(t) denotes a trajectory of the cutting tool at the given time t, and Rot(t) denotes a rotation component of the trajectory at the given time t; and
test a collision with the workpiece resulting from the determined colliding sweep, the testing comprising: determining whether the colliding sweep intersects the workpiece, and if the colliding sweep is determined as intersecting the workpiece, detecting a collision; and
a graphical user interface coupled with the processor, the graphical user interface configured to request the processor to simulate machining of the subject workpiece.
7. A computer program product, comprising:
a non-transitory computer readable storage medium, the computer readable storage medium having instructions configured for simulating the machining of a subject workpiece with a cutting tool having a cutting part and a non-cutting part by:
providing a modeled volume representing (i) the subject workpiece and (ii) a trajectory of the cutting tool, the non-cutting part of the cutting tool having a non-cutting front;
determining a colliding sweep of the cutting tool, wherein the colliding sweep represents volume swept by the non-cutting front of the cutting tool when the cutting tool follows the trajectory, and wherein determining the colliding sweep comprises dissociating motion of the cutting part and motion of the non-cutting part, the dissociating motion includes determining volume swept by the non-cutting front when the cutting tool is moving to follow the trajectory at a given time t, wherein the non-cutting front comprises a set of points with instantaneous speed vectors at the given time t that are oriented towards an exterior of the moving cutting tool, wherein at the given time t, the non-cutting front Front(t) is a subset of Souter defined by:
front(t)={xϵSouter;<Rot(t)n(x),∂/∂tTraj(t)x>≥0},
front ( t ) = { x S outer ; Rot ( t ) n ( x ) , t Traj ( t ) x 0 } ,
 wherein Souter is a boundary of the cutting non-cutting part, <u,v> denotes a scalar product between vectors u and v, Traj(t) denotes a trajectory of the cutting tool at the given time t, and Rot(t) denotes a rotation component of the trajectory at the given time t; and
testing a collision with the subject workpiece resulting from the determined colliding sweep, the testing comprising: determining whether the colliding sweep intersects the workpiece, and if the colliding sweep is determined as intersecting the workpiece, detecting a collision.
5. A cam system for simulating machining of a workpiece comprising:
a processor coupled with memory to simulate machining of a subject workpiece with a cutting tool having a cutting part and a non-cutting part, the non-cutting part having a non-cutting front, the processor configured to:
provide a modeled volume representing (i) the subject workpiece and (ii) a trajectory of the cutting tool;
determine a colliding sweep of the cutting tool, wherein the colliding sweep represents volume swept by the non-cutting front of the cutting tool when the cutting tool follows the trajectory, and wherein determining the colliding sweep comprises dissociating motion of the cutting part and motion of the non-cutting part, the dissociating motion includes determining volume swept by the non-cutting front when the cutting tool is moving to follow the trajectory at a given time t, wherein the non-cutting front comprises a set of points with instantaneous speed vectors at the given time t that are oriented towards an exterior of the moving cutting tool, wherein at the given time t, the non-cutting front Front(t) is a subset of Souter defined by:
front(t)={xϵSouter;<Rot(t)n(x),∂/∂tTraj(t)x>≥0},
front ( t ) = { x S outer ; Rot ( t ) n ( x ) , t Traj ( t ) x 0 } ,
 wherein Souter is a boundary of the cutting non-cutting part, <u,v> denotes a scalar product between vectors u and v, Traj(t) denotes a trajectory of the cutting tool at the given time t, and Rot(t) denotes a rotation component of the trajectory at the given time t;
test a collision with the workpiece resulting from the determined colliding sweep, the testing comprising: determining whether the colliding sweep intersects the workpiece, and if the colliding sweep is determined as intersecting the workpiece, detecting a collision; and
a graphical user interface coupled with the processor, the graphical user interface configured to request the processor to simulate machining of the subject workpiece.
2. The method of claim 1 wherein the method further comprises determining a protective front of the cutting tool; and
wherein determining the colliding sweep comprises determining both volume swept by the non-cutting part and volume swept by the determined protective front.
3. The method of claim 2, wherein the subject workpiece is represented by a set of dexels, each dexel comprising a set of segments representing the intersection between a line and the subject workpiece, and wherein testing the collision comprises, for a respective dexel:
determining segments of the set of segments of the respective dexel that intersect the volume swept by the determined protective front,
updating the respective dexel based on the determined segments, and
evaluating if the determined segments as updated intersect the volume swept by the non-cutting part.
4. The method of claim 3, wherein the cutting part is convex, the determined segments are ordered, and updating the respective dexel comprises:
shortening a segment of minimal order that intersects the volume swept by the determined protective front,
shortening a segment of maximal order that intersects the volume swept by the determined protective front, and
removing all segments between the segment of minimal order and the segment of maximal order.
6. The system of claim 5, wherein the processor is a GPU (graphical Processing Unit).
9. The method of claim 8, wherein determining the colliding sweep further comprises determining volume swept by the non-cutting part.
10. The method of claim 9, wherein the subject workpiece is represented by a set of dexels, each dexel comprising a set of segments representing the intersection between a line and the subject workpiece, and wherein testing the collision comprises, for a respective dexel:
determining segments of the set of segments of the respective dexel that intersect the volume swept by the protective front,
updating the respective dexel based on the determined segments, and
evaluating if the determined segments as updated intersect the volume swept by the non-cutting part.
11. The method of claim 10, wherein the cutting part is convex, the determined segments are ordered, and updating the respective dexel comprises:
shortening a segment of minimal order that intersects the volume swept by the protective front,
shortening a segment of maximal order that intersects the volume swept by the protective front, and
removing all segments between the segment of minimal order and the segment of maximal order.
13. The system of claim 12, wherein the processor is a GPU (graphical Processing Unit).
14. The system of claim 12, wherein the processor is further configured to determine the colliding sweep including determining volume swept by the non-cutting part.
15. The system of claim 14, wherein the subject workpiece is represented by a set of dexels, each dexel comprising a set of segments representing the intersection between a line and the subject workpiece, and the processor is further configured to test the collision for a respective dexel, by:
determining segments of the set of segments of the respective dexel that intersect the volume swept by the protective front,
updating the respective dexel based on the determined segments, and
evaluating if the determined segments as updated intersect the volume swept by the non-cutting part.
16. The system of claim 15, wherein the cutting part is convex, the determined segments are ordered, and updating the respective dexel comprises:
shortening a segment of minimal order that intersects the volume swept by the protective front,
shortening a segment of maximal order that intersects the volume swept by the protective front, and removing all segments between the segment of minimal order and the segment of maximal order.

This cutting non-cutting volume 42 44 which is also the outer boundary of the tool 40, defined in the tool referential. For example on FIG. 7, the tool is decomposed into the cutting volume 42 and the non-cutting volume 44. FIG. 8 illustrates the corresponding Souter boundary as the solid line (the non dotted line). At any point x ϵ Souter, the outer normal vector is noted n(x), as illustrated on FIG. 9.

For a given t ϵ [0,1], let the non-cutting front of tool 40, denoted by Front(t), be the subset of Souter defined by:

Front ( t ) = { x S outer ; Rot ( t ) n ( x ) , t Traj ( t ) x 0 }

Where <u, v> denotes the scalar product between vectors u and v, and Rot(t) is the rotation component of the trajectory Traj(t). In other words, Front(t) is the set of points of Souter whose instantaneous speed vector at time t is oriented toward the exterior of moving tool 40.

For example, as illustrated on FIG. 10, tool 40 may move along the line segment 100 from point P1 to point P2. Consequently, Traj(t)x=x+t(P2−P1) because Rot(t)=Id for all t. Then

t ( Traj ( t ) x ) = P 2 - P 1
for all t. So, at t=0, Front(t) is the vertical segment 102 illustrated on FIG. 10 by the thick line.

The reverse trajectory 110 from P2 to P1 induces a different Front(t=0), as illustrated on FIG. 11 by the reverse L-shape thick lines 112.

The method may determine (S20) the “colliding sweep” as the volume swept by Front(t):

CollidingSweep = t [ 0 , 1 ] Traj ( t ) ( Front ( t ) )

The method checks the colliding sweep against the current workpiece, as opposed to checking the non-cutting volume sweep against the current workpiece.

FIG. 12 illustrates the colliding sweep 120 computed according to the descending trajectory. Clearly, the colliding sweep 120 and the modeled volume 46 are separated, meaning that the non-cutting volume of the tool 40 does not clash the modeled volume 46 during this portion of trajectory.

Now, FIG. 13 illustrates the colliding sweep 120 according to the ascending trajectory. Due to the shape of Front (t=0), the colliding sweep 120 is different and overlaps the workpiece 46. This means that the non-cutting volume 44 of the tool 40 actually clashes the modeled volume 46 during this portion of trajectory.

In a second example, the method comprises determining a protective front of the cutting tool. The protective front of the cutting tool is, when the cutting tool follows the trajectory, at a given position of the cutting tool on the trajectory, a subset of points of the cutting tool that prevent other points of the cutting tool from colliding with a solid at such position when the cutting tool follows the trajectory (should the solid have been placed at such position before the cutting tool starts to follow the trajectory). Formal formulations of the protective front will be provided later.

Determining (S20) the colliding sweep may comprise in such a case determining the volume swept by the non-cutting part and the volume swept by the protective front. Then, the method may determine a difference between said two volumes. The testing (S30) may comprise evaluating if said volume difference intersects the modeled volume, and yield a positive result if so, or a negative result otherwise. This allows a fast and robust determining (S20).

The examples are illustrated in 2D for convenience. The real is however 3-dimensional, as discussed earlier. FIGS. 14-15 provide a 3D illustration of the examples. FIG. 14 shows the non-cutting volume 42 as a circular cylinder (rather than a rectangle). FIG. 15 shows that the colliding sweep 120, being the volume swept by the half cylinder flank along a sloped trajectory, is not convex.

An implementation of the method, in this second example as well as in the first example, may be the multi-dexel model. In other words, the workpiece may be represented by a set of dexels (thereby representing a modeled volume). In other words, the modeled volume is provided as a set of dexels in this example. Each dexel (of the set of dexels) comprises a set of at least one segment. Such segments represent the intersection between a line and the workpiece.

The use of sets of dexels to represent the workpiece allows a light representation (using little memory space). This also allows a representation of the workpiece which may be easily handled. Notably, the cutting may be performed particularly efficiently when the workpiece is represented by a set of dexels, due to the data structure of a set of dexels. Indeed, design operations may be performed with high responsiveness and high robustness. Notably, operations on a set of dexels may be performed through parallel processing, on a line-by-line basis, so as to gain in efficiency. Therefore, the processor of the system may efficiently be the GPU.

The term “dexel” is known to be a shortcut for “depth element” (just as the term “pixel” is a shortcut for “picture element”). The notion of dexel has been mentioned in a large number of research papers. In the context of the method, a dexel comprises a set of at least one segment, i.e. a pair of 3D points. In an example, the modeled volume comprises at least one dexel which comprises a set of at least two segments (e.g. the initial set of dexels and/or the new set of dexels comprise(s) at least two segments). The segments of a dexel, if several, may be ordered (in such a case the dexel is a list), or unordered. The segments of a dexel represent the intersection between a line and the workpiece. In other words, considering virtual lines intersecting with the workpiece, a dexel is the set of the segments originating from a given line and that results from the computation of the intersection.

It is important to note that the sets of dexels are provided as computer-implemented data. Thus, the definitions provided above and below regarding any representation of the modeled volume have implications from a data structure point of view. For example, a segment may be provided as a pair of 3D positions (e.g. two 3D positions linked to each other). A 3D position may itself be provided as a list of three coordinates (e.g. floating points), associated to a referential 3D frame. A dexel is a set of segments, which implies that segments are linked together in a set structure. The dexels of a set of dexels may as well be linked together. Representing the modeled volume by a set of dexels, which themselves comprise a set of at least one segment, allows a fast testing (S30), as well as fast ulterior updating of the modeled volume.

Testing (S30) the collision may comprise, for a respective dexel, determining the segments of the respective dexel that intersect the volume swept by the protective front, updating the respective dexel accordingly (i.e. in function of the determined segments, i.e. by shortening and/or discarding determined dexels), and evaluating if the segments of the respective dexel as updated intersect the volume swept by the non-cutting part. Then, the method may yield a positive result of the testing if the evaluation is positive, or a negative result if the evaluation is negative.

The method may comprise defining a protective front and a non-cutting part (e.g., as explained earlier, the protective front may be defined arbitrarily, and may divide the cutting tool into the cutting part and the non-cutting part) so that the volume swept by the protective front and the volume swept by the non cutting part are convex. The one skilled in the art will understand how to make such division, so as to obtain convex parts. In such a case, determining the segments of the respective dexel that intersect the volume swept by the protective front and evaluating if the segments of the respective dexel as updated intersect the volume swept by the non-cutting part are performed particularly fast.

Indeed, the segments of the respective dexel may typically be ordered (an actual order may exist in the data defining the dexel, or such order be retrieved as it exists naturally). The non-cutting part may sweep a convex volume, for example if the non-cutting part is convex and the elementary step is a straight translation. Additionally, the protective front may sweep a convex volume as well. For example, the cutting part may be convex as well. The trajectory may be divided into elementary steps consisting of straight translations. Updating the respective dexel may comprise shortening the segment of minimal order that intersects the volume swept by the protective front (e.g. the first segment that intersects the volume swept by the protective front when the order of the segments of the respective dexel is gone through), shortening the segment of maximal order that intersects the volume swept by the protective front (e.g. the last segment that intersects the volume swept by the protective front when the order of the segments of the respective dexel is gone through), and removing all segments between the segment of minimal order and the segment of maximal order.

This second example of the method is now discussed with reference to FIGS. 16-21.

In the context of using dexels, it may be more efficient, from a processing point of view, to manage a convex colliding sweep or, if not possible, a solid defined by the subtraction of two convex sets. Indeed, the intersection of a segment with a set S difference of two convex sets, S=C1−C2 can be carried on as follows.

The method may first intersect the line L supporting the segment with C1 and C2, which gives two possibly empty segments I1=L∩C1 and I2=L∩C2. It may be observed that L∩S=L∩(C1−C2)=(L∩C1)−(L∩C2)=I1−I2. Of course segments supported by the line L can be expressed as interval in the parametric expression of L. The intersection of a segment supported by L with S then boils down into the intersection of an interval with the difference of two intervals, the later being, in the worst case, the union of two intervals.

For this reason, the first example previously presented may be reformulated in order to make the method more practical, in particular in the context of a dexel model. Consider a convex non-cutting volume V. We call Sprotect, the boundary of V which is not in Souter. In other words, Sprotect includes the faces of V which are in contact with other cutting or non-cutting volumes of the tool.

In practical situations such as NC machining simulation, the shape of most common tools allows Sprotect to include one or two planar faces. However, it is noted that the internal separation between the cutting and non-cutting volumes has no physical significance and can therefore often be chosen as planar without any impact on the resulting behavior.

In the case of the example of FIGS. 4-15, Sprotect may be a disk. As illustrated on FIGS. 16-18, Sprotect is the solid line separating the cutting volume and the non-cutting volume.

The method may define the colliding sweep as the set theoretic difference between the sweep of the whole convex non-cutting volume and the sweep of a subset of Sprotect. This subset includes all points of Sprotect where the outer normal points in the sweep direction. In case of a general, non translational trajectory, some part of Sprotect may have an outer normal pointing toward the instantaneous sweep speed and some not. In this case only a subset of Sprotect may be swept. In case of translational sweeps, this is the subtraction of two convex sets and can be easily managed in a multi-dexel model.

Formally, the method may define:

protect Front ( t ) = { x S protect ; Rot ( t ) n ( x ) , t Traj ( t ) x 0 }

So that, according to the previous definition of colliding sweep, we have:

CollidingSweep = ( t [ 0 , 1 ] Traj ( t ) ( V ) ) - ( t [ 0 , 1 ] Traj ( t ) protect ( Front ( t ) ) )

In the context of machining simulation using a multi-dexel grid representation, the method can therefore easily check collision during an elementary trajectory by the following operations.

For each dexel, the method may compute the intervals A, (i.e. the segments of the dexel, which are stored as intervals on the support line of the dexel in this example) given by the intersection with the sweep of the non-cutting volume 190, as illustrated on FIG. 19. If all these intervals Ai have an empty intersection with the current workpiece, then one can be sure that no collision occurs, i.e. the testing (S30) may yield a negative result.

Else, the method may compute the volume swept by protectFront from t=0 to t=1 (if the trajectory, or the elementary step, is defined with a parameterization t going from 0 to 1). For this, the method may collect the faces 200 of Sprotect the outer normal of which has a positive dot product with the displacement vector. The method may then compute the volume that is swept by these faces 200, as illustrated on FIG. 20. The method may finally compute the intervals Bi equal to the intersection between the dexel and this swept volume 202, as illustrated on FIG. 20. The method may compute the Boolean one-dimensional subtraction Ci=Ai−Bi: these resulting intervals represent the intersection between the dexel and the colliding sweep volume 190, as illustrated on FIG. 21. If these Ci intervals have a non empty intersection with the dexel intervals storing the workpiece layer, one can conclude that a collision will occur on that dexel. One can also deduce the collision depth. Else, no collision occurs on that dexel, as illustrated on FIG. 21.

Montana, Nicolas, Monteil, Marc, Nosenzo, Romain, Lieutier, Andre

Patent Priority Assignee Title
Patent Priority Assignee Title
10140395, Dec 31 2014 Dassault Systemes Detecting collisions in a simulated machining of a workpiece represented by dexels
10217291, Nov 03 2011 Dassault Systemes Designing a modeled volume represented by dexels
4833617, Aug 14 1987 General Electric Company Solid modeling based adaptive feedrate control for NC machining
5710709, Aug 19 1993 Iowa State University Research Foundation NC milling simulation and dimensional verification via dexel representation
6311100, Sep 14 1998 Massachusetts Institute of Technology Tool path generator for computer aided manufacturing
7747418, Dec 09 2005 CURATORS OF THE UNIVERSITY OF MISSOURI, THE Computer aided dental bar design
7832968, Jul 08 2003 MTU Aero Engines GmbH Milling method for the production of components
8538574, Apr 02 2009 DMG Electronics GMBH Method and apparatus for generating control data for controlling a tool on a machine tool
9117300, Nov 03 2011 Dassault Systemes Designing a modeled volume represented by dexels
9524583, Nov 03 2011 Dassault Systemes Simulation of the machining of a workpiece
9530246, Jan 15 2009 Mitsubishi Electric Corporation Collision determination device and collision determination program
20010048857,
20020133264,
20030083773,
20050113963,
20060094951,
20090148251,
20100298967,
20110295576,
20120089247,
20120221300,
20120330620,
20130030781,
20130116983,
20130116984,
20130116990,
20160188770,
CN102282561,
CN102490081,
EP2590143,
JP2000235407,
JP2013097813,
JP9150347,
WO2010082378,
WO2011042764,
/////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Dec 05 2012LIEUTIER, ANDREDASSAULT SYSTÈMESASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0483220640 pdf
Dec 06 2012MONTANA, NICOLASDASSAULT SYSTÈMESASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0483220640 pdf
Dec 06 2012NOSENZO, ROMAINDASSAULT SYSTÈMESASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0483220640 pdf
Dec 10 2012MONTEIL, MARCDASSAULT SYSTÈMESASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0483220640 pdf
Nov 08 2018DASSAULT SYSTÈMES(assignment on the face of the patent)
Date Maintenance Fee Events
Nov 08 2018BIG: Entity status set to Undiscounted (note the period is included in the code).
Jun 13 2024M1552: Payment of Maintenance Fee, 8th Year, Large Entity.


Date Maintenance Schedule
Feb 22 20254 years fee payment window open
Aug 22 20256 months grace period start (w surcharge)
Feb 22 2026patent expiry (for year 4)
Feb 22 20282 years to revive unintentionally abandoned end. (for year 4)
Feb 22 20298 years fee payment window open
Aug 22 20296 months grace period start (w surcharge)
Feb 22 2030patent expiry (for year 8)
Feb 22 20322 years to revive unintentionally abandoned end. (for year 8)
Feb 22 203312 years fee payment window open
Aug 22 20336 months grace period start (w surcharge)
Feb 22 2034patent expiry (for year 12)
Feb 22 20362 years to revive unintentionally abandoned end. (for year 12)