CN-113947667-B - Method for designing a three-dimensional grid in a three-dimensional scene
Abstract
The present invention relates notably to a computer-implemented method for designing a three-dimensional (3D) grid in a 3D scene. The method includes displaying a 3D mesh in a 3D scene. The method includes providing a global orientation. The method includes selecting one or more vertices of the 3D mesh with a pointing device, thereby forming a set of one or more vertices. The method includes computing at least one selected region around each vertex of the set. The method includes providing a first manipulator for controlling displacement of each vertex of the set along one or more NUV directions. The method includes determining whether the pointing device is maintained within the selected area. If not, the method includes providing a second manipulator for controlling displacement of the one or more vertices of the set along one or more directions defined by the global orientation. The method improves user interaction for switching back and forth the first manipulator and the second manipulator.
Inventors
- Y. Sadudi
- F. Lezelter
- C. Defoe
Assignees
- 达索系统公司
- 达索系统公司
Dates
- Publication Date
- 20260421
- Application Date
- 20210715
- Priority Date
- 20200715
Claims (14)
- 1. A computer-implemented method for designing a three-dimensional (3D) grid in a 3D scene, the method comprising: displaying a 3D mesh in a 3D scene and providing a global orientation, wherein the global orientation is an axis system that orients the 3D mesh; Selecting one or more vertices of the 3D mesh with a pointing device, thereby forming a set of one or more vertices; computing at least one selected region around each vertex of the set; Providing a first manipulator for controlling a displacement of each vertex of the set along one or more NUV directions, wherein the NUV directions comprise a UV direction defined by an incident edge of a vertex and a normal N direction from a surface of the object at the vertex; Determining whether the pointing device is maintained within the at least one selected area, and If not, providing a second manipulator for controlling the displacement of the one or more vertices of the set along one or more directions defined by the global orientation, Wherein the at least one selected region is repeatedly calculated while shifting one or more vertices of the set.
- 2. The computer-implemented method of claim 1, further comprising, after providing the second manipulator: Determining that the pointing device is again located within the at least one selected area, and The first manipulator is provided.
- 3. The computer-implemented method of claim 2, wherein providing the first manipulator further comprises: The second manipulator is withdrawn.
- 4. The computer-implemented method of any of claims 1 to 3, wherein providing the second manipulator further comprises: The first manipulator is withdrawn.
- 5. The computer-implemented method of any of claims 1 to 3, wherein providing the first manipulator further comprises: Determining the vertex closest to the set of pointing devices, and Providing the first manipulator to the determined vertex.
- 6. A computer-implemented method as any one of claims 1-3 recites, wherein selecting one or more vertices of the 3D mesh with a pointing device is performed by: User interaction with the pointing device at least one vertex of the mesh to select the at least one vertex of the mesh, and/or User interaction with the pointing device on at least one edge of the grid, thereby selecting two vertices of the at least one edge, and/or User interaction with the pointing device is performed on at least one face of the mesh, thereby selecting vertices belonging to the at least one face.
- 7. The computer-implemented method of any of claims 1 to 3, wherein the first manipulator includes at least one graphical element representing one of the NUV directions, the at least one graphical element controlling a displacement of at least one vertex of the set along the NUV direction represented by the at least one graphical element, and After providing the first manipulator: user interaction with the at least one graphical element of the first manipulator; Shifting the at least one vertex of the set along the NUV direction in response to movement of the pointing device, the calculated at least one selected region being deactivated during the movement, and For each vertex in the set that does not have the same NUV direction as the NUV direction represented by the at least one graphical element, shifting the vertex along one of its NUV directions, one of the NUV directions being closest to the NUV direction represented by the at least one graphical element.
- 8. The computer-implemented method of claim 7, further comprising: The position of the first manipulator is updated based on a new position of the at least one vertex of the set along a NUV direction that is shifted in response to movement of the pointing device.
- 9. The computer-implemented method of claim 7, further comprising, for each vertex in the set that does not have a NUV direction that is the same as the NUV direction represented by the at least one graphical element: A graphical element representing the NUV direction of the vertex that is closest to the NUV direction represented by the at least one graphical element of the first manipulator is displayed.
- 10. A computer-implemented method according to any of claims 1 to 3, wherein the second manipulator is a manipulator represented by the global orientation.
- 11. A computer-implemented method according to any of claims 1 to 3, wherein calculating the at least one pick region comprises calculating one pick region for each vertex of the set, and/or wherein at least one pick region calculated is a bounding surface when the pointing device is a two-dimensional (2D) pointing device, or a volume when the pointing device is a 3D pointing device.
- 12. A computer program product comprising instructions for performing the computer-implemented method of any of claims 1 to 11.
- 13. A computer readable storage medium having instructions which, when executed by a processor, cause the processor to perform the method of any of claims 1 to 11.
- 14. A system comprising a processor, a display and a pointing device coupled to a memory, the memory having instructions recorded thereon for performing the computer-implemented method of any of claims 1 to 11.
Description
Method for designing a three-dimensional grid in a three-dimensional scene Technical Field The present invention relates to the field of computer programs and systems, and more particularly to a method, system and program for designing a three-dimensional (3D) grid in a 3D scene. Background There are a number of systems and programs offered on the market for the design, engineering and manufacture of objects. CAD is an abbreviation for computer aided design, for example, it relates to a software solution for designing objects. CAE is an abbreviation for computer aided engineering, e.g. it relates to software solutions for simulating the physical behaviour of future products. CAM is an abbreviation for computer aided manufacturing, for example, it relates to software solutions for defining manufacturing processes and operations. In such computer aided design systems, the graphical user interface plays an important role with respect to the efficiency of the technology. These techniques may be embedded within a Product Lifecycle Management (PLM) system. PLM refers to a business strategy that helps companies share product data, apply common processes, and utilize collaborative knowledge to develop product development from the concept of a product to the end of life throughout the concept of an extended enterprise. PLM solutions provided by dawsonite systems (registered trademarks CATIA, ENOVIA, and DELMIA) provide engineering centers that organize product engineering knowledge, manufacturing centers that manage manufacturing engineering knowledge, and enterprise centers that enable integration and connection of enterprises to both engineering centers and manufacturing centers. Simultaneously, the system delivers linked products, processes, resources to enable dynamic knowledge-based product creation and decision support that drive optimal product definition, manufacturing preparation, production, and services. The present invention relates to CAD software. More particularly, it relates to any CAD software that allows a user to manipulate 3D objects represented by a set of geometric elements such as vertices, edges, and faces in a 3D scene. The set of geometric elements forms a 3D mesh of the 3D object. The user may modify the shape of the 3D object by manipulating a 3D mesh representing the 3D object. An example of a 3D mesh of a 3D object is illustrated in fig. 4. In this example, the 3D object is a sphere 310, and the 3D mesh 314 representing the sphere object is a cube 314. Fig. 7 illustrates another example of a 3D mesh, where the 3D mesh includes vertices 402 connected with edges 404 forming the shape of a 3D object 400. By modifying the positions of the vertices of the 3D mesh, the user is able to modify the shape of the object represented by the 3D mesh. Tools are provided to the user for manipulating vertices, edges, faces of the 3D mesh representing the 3D object. One of the most commonly used tools allows for manipulation of a 3D object or part thereof along a specific axis using a manipulator commonly referred to as a "robot". Examples of "robotic" manipulators are illustrated in fig. 3-6. This "robotic" manipulator 300 is a manipulator representing an axis system 302 having 3 axes (X, Y, Z) and the user can use any of its 3 axes to manipulate an object along the direction defined by the axis system. The axis system of the robot typically uses by default the global axis system 312 of the 3D scene, e.g. the global axis system of the 3D object or the modified product comprising the 3D object. The "robotic" manipulator may be remotely manipulated for manipulating the object 310, as illustrated in fig. 4. Alternatively, a "robotic" manipulator may be provided to the selected vertex, as illustrated in fig. 5. By selecting vertices 322 of grid 314, a user can interact with one of the three axes of "robot" 320 to shift vertices 322 along the direction of the selected axis, thereby modifying the shape of 3D object 310. In the example of fig. 5, a "robotic" manipulator 320 is provided to the vertices 322, and a user interacts with the Z-axis 330 of the robot for displacing selected vertices 322 along the direction of the Z-axis 330, as illustrated in fig. 6 after displacement. Vertices may also be displaced along the direction of their incident gridlines (referred to as the "UV" direction) using a manipulator commonly referred to as a "UV" manipulator. An example of a UV manipulator is illustrated in FIG. 8, wherein a user is able to move a selected vertex 410 along its incident grid line 412. The incident grid lines are the incident edges of a given selected vertex. The direction defined by the incident edge is called the UV direction of the vertex. The user is able to interact with one of the UV directions of the vertices for displacing the selected vertex along the UV direction. The manipulator 414 is thus embodied by the direction of each incident edge of the vertex (i.e., each UV direction). Another exam