WO2015177283A1 - Procédé de personnalisation d'un objet personnalisable pour un système client/serveur; support d'enregistrement d'informations et système client/serveur associés - Google Patents

Procédé de personnalisation d'un objet personnalisable pour un système client/serveur; support d'enregistrement d'informations et système client/serveur associés Download PDF

Info

Publication number
WO2015177283A1
WO2015177283A1 PCT/EP2015/061264 EP2015061264W WO2015177283A1 WO 2015177283 A1 WO2015177283 A1 WO 2015177283A1 EP 2015061264 W EP2015061264 W EP 2015061264W WO 2015177283 A1 WO2015177283 A1 WO 2015177283A1
Authority
WO
WIPO (PCT)
Prior art keywords
sub
mesh
resolution
server
client terminal
Prior art date
Application number
PCT/EP2015/061264
Other languages
English (en)
Inventor
Jean-Christophe CITERIN
Original Assignee
Citerin Jean-Christophe
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Citerin Jean-Christophe filed Critical Citerin Jean-Christophe
Priority to EP15736406.8A priority Critical patent/EP3146510A1/fr
Publication of WO2015177283A1 publication Critical patent/WO2015177283A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/08Bandwidth reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Definitions

  • a method of customizing a customizable object for a client / server system relates to the methods of customizing a graphic object for a client / server computer architecture.
  • the virtual design phase of a 3D object to be manufactured by a suitable digital machine requires the use of professional software, both expensive and complex to implement.
  • the present invention aims to overcome the aforementioned problem.
  • the object of the invention is a method of customizing a customizable object for manufacturing purposes, for a client / server system comprising a client terminal and a server terminal, the method comprising the steps consisting successively of:
  • the invention enables a user, having a client terminal, for example of the personal computer type, to design an object to be manufactured starting from a virtual model of this customizable object, developed by a professional software.
  • This model is subdivided into sub-objects.
  • Each sub-object is associated with both a high resolution mesh and a low resolution mesh.
  • the low resolution meshes of the sub-objects are sufficient for a 3D graphics environment running on the client terminal to provide a satisfactory 3D rendering of the object.
  • the user can select for modification only one sub-object at a time.
  • the 3D graphic environment downloads from a server terminal the high-resolution sub-mesh of this sub-object.
  • the client makes the modifications on this high resolution sub-mesh.
  • the modified high resolution sub-mesh is transmitted to the server terminal, where it is automatically processed to generate a low resolution sub-mesh. modified, able to be transmitted back to the client terminal to display the modified sub-object in the 3D graphics environment.
  • the server terminal synthesizes the modified and unmodified high-resolution sub-meshes so as to generate a file adapted to the machine used to produce the personalized final object.
  • the resources necessary for the display are reduced since it is a question of displaying most of the object in low resolution, and the resources necessary for the processing of the data are also reduced since a modification the object only affects a fraction of it, which has a high resolution only when that fraction is selected for modification.
  • the data flows between the server terminal and the client terminal are limited to files of reduced size, or at least adapted to use only one fraction of the bandwidth of the communication link between the server terminal and the client terminal.
  • the method comprises one or more of the following characteristics, taken in isolation or in any technically possible combination:
  • the step of providing a low resolution representation of an object comprises the steps of:
  • the method comprises, following the step consisting in automatically reducing a resolution of each high resolution sub-mesh, so as to obtain a corresponding low-resolution sub-mesh, a step of calculating a map of normals for each sub-mesh; object from the high resolution sub-mesh and the corresponding low resolution sub-mesh of said sub-object, the map of the normals of a sub-object being transferred to the client terminal for the display of the customizable object in the sub-object 3D graphical environment of the client terminal display interface.
  • the method comprises, after having subdivided into a plurality of complementary high resolution sub-meshes the high resolution mesh of the customizable object, each high resolution sub-mesh being associated with a sub-object of the object, a step of assigning Each sub-object has an "editable” or “non-modifiable” attribute, the "non-modifiable" sub-objects can not be modified in the 3D graphic environment of the display interface of the client terminal.
  • the step of subdividing into a plurality of complementary high resolution sub-meshes the high resolution mesh of the customizable object comprises a step of automatic delimitation of outlines in the high mesh. resolution of the customizable object, each contour delimiting a zone (Zi) of the high resolution mesh corresponding to a sub-object.
  • each step of reducing the resolution of a high resolution sub-mesh implements an algorithm for incremental decimation by contraction of edges with constraints on the high resolution sub-mesh applied to it as input.
  • the or each step of reducing the resolution of a high resolution sub-mesh makes it possible to generate a low-resolution sub-mesh having n times fewer facets and / or edges and / or vertices, n being greater than 3, preferably 5, more preferably 10.
  • the server terminal in which, during a final validation of the modifications made to the object displayed in the 3D graphic environment of the display interface of the client terminal, the server terminal generates a final file corresponding to the merge of the high sub-meshes current resolution constituting the high-resolution instance of the object on the server terminal, the final file for controlling a manufacturing tool of the custom object.
  • the method comprises a step of providing a client terminal with a 3D graphical environment capable of being displayed in a display interface of the client terminal.
  • the invention also relates to an information recording medium, characterized in that it comprises instructions for executing the steps performed by a client terminal of a method according to the preceding method when the instructions are executed by an electronic calculator.
  • the invention also relates to a client / server system characterized in that the system comprises at least one client terminal and a server terminal programmed to execute together a method according to the preceding method.
  • FIG. 1 is a schematic representation of the client / server system for implementing the method according to the invention
  • FIG. 2 is a block diagram of the method according to the invention.
  • FIG. 3 is a representation of an object displayed on the screen of a client terminal of the system of FIG. 1 during the execution of the method of FIG. 2.
  • the client / server system for implementing the method according to the invention shown schematically in FIG. 1, enables a client, through a display interface such as a screen, to customize a customizable object, for its manufacture.
  • the client / server system 10 leads to the generation of at least one final file
  • FF comprising the data describing the personalized final object and making it possible to manufacture it using a predetermined production tool among all types of production tools, in particular tools implementing an additive manufacturing process (such as a 3D printer) or implementing a conventional manufacturing process (such as a digital milling machine).
  • a predetermined production tool among all types of production tools, in particular tools implementing an additive manufacturing process (such as a 3D printer) or implementing a conventional manufacturing process (such as a digital milling machine).
  • the system 10 has a distributed computing architecture.
  • the hardware layer of the system includes a first terminal, a server terminal and a second terminal.
  • the first terminal is a computer that allows a first user, or operator, to perform "back office" tasks for preparing the data files.
  • the server terminal, or server 14 makes it possible to put the prepared data files on the operator terminal 12 at the disposal of a second user, or client, using the second terminal, or client terminal 16.
  • the client terminal 16 is a computer used by the client. This is for example a personal computer, a touch screen tablet, a "smartphone" or the equivalent.
  • the server 14 is connected to the operator terminal by a local area network 13.
  • the client terminal 16 is connected to the server 14 via a network 17, preferably the Internet network.
  • the server 14 is directly connected to a 3D printer 18 that it controls.
  • the server 14 generates, from the final file FF, a file for manufacturing the personalized object, which is transmitted, in one way or another, to a production computer controlling the production tool. chosen to make the custom object.
  • the server 14 is associated with a database 15.
  • the software layer of the system 10 comprises a first application 22, implemented by the operator terminal 12, a server application 24, implemented by the server 14, and a second application 26, implemented by the client terminal 16.
  • an import module of the first application 22 is executed to import an initial file FI on the operator terminal 12.
  • This initial file FI corresponds to a virtual three-dimensional template ("template" in English). 3D) of a customizable object, that is to say that can be personalized.
  • the customizable object is generally indicated by reference Obj in FIG.
  • the initial file FI is in ".stl" format.
  • the geometry of an object is described by a high resolution mesh, referred to as the HR mesh in the following.
  • a mesh comprises a plurality of polygonal facets.
  • these facets take the form of triangles or squares.
  • Each facet has vertices and edges. Vertices and edges can be shared between several neighboring facets.
  • the initial file FI is in ".obj" format.
  • this format the geometry of an object is described both by a mesh HR and by a texture adapted to be applied on the surface defined by the mesh HR to obtain, in a 3D viewing environment adapted, a realistic graphical representation of the object.
  • the initial file FI is for example obtained at the output of a professional CAD software. Those skilled in the art know many software of this type for generating a file with an HR mesh.
  • a high revolution mesh is a mesh comprising more than 20 000 facets, preferably more than 30 000 facets, for example 50 000 facets.
  • the concept of high resolution is related to the concept of low resolution, which will be introduced below in detail. It also relates to the characteristic accuracy of the production tool chosen to produce the personalized final object. It is necessary that the mesh has a sufficiently high resolution to achieve the characteristic accuracy of the tool used. The resolution of the high resolution mesh does not have to go beyond the characteristic accuracy of the tool used.
  • the mesh of the or each initial file FI imported in step 1 10 is a mesh considered to have a high resolution, that is to say is a mesh HR.
  • a verification module of the first application 22 is executed to check the quality and homogeneity of the HR mesh defined by the initial file FI.
  • the verification module is capable of automatically repairing certain minor defects of the HR mesh, such as, for example, modifying the orientation of the normals of the facets in such a way as to unambiguously define the interior and exterior of the object, to eliminate the intersections between facets, etc.
  • a validated HR mesh is generated at the output of the verification module.
  • a control report is then displayed on a screen of the operator terminal 12.
  • Such a major defect is for example a hole in the mesh HR defining the external surface of the object and which would be too important to be uniquely interpolated from facets forming the perimeter of the hole.
  • a tiling module of the first application is executed, to automatically define zones Z-i in the validated HR mesh.
  • the pavement module segments the area defined by the validated HR mesh, in elementary surfaces or zones Z-i.
  • the paving module implements an algorithm based on the variation of curvature.
  • the sharp edges and sharp vertices of the object are detected in the validated HR mesh.
  • the principal curvature of a validated area of the HR mesh surface, located near each sharp vertex or sharp edge is determined.
  • the regions are ranked according to the value of the principal curvature thus estimated.
  • regions having substantially the same value of the main curvature and having adjacent facets are associated to form a zone.
  • the zones are eventually merged with each other to limit the total number of areas on the surface of the object.
  • a final step of rectification of the contours C-i of the zones Z-i makes it possible to check and correct the possible discontinuities of the contour of each zone.
  • the raw contours CB-i of the zones Z-i defined automatically, follow edges and pass through vertices of the validated HR mesh.
  • These raw contours CB-i are defined by an editable curve.
  • an outline editing module of the first application 22 is executed to generate smooth contours, CL-1, as shown in FIG.
  • an algorithm is used, such as a shortest path determination algorithm, performing a projection of a raw contour CB-i on the surface of the mesh HR so as to to obtain a smoothed contour CL-i which is no longer constrained to follow the edges and to pass through the vertices of the mesh HR, but can cross the surface of a facet.
  • the smoothed contour CL-i of a zone Zi remains however constrained on the surface of the mesh HR.
  • the operator edits, modifies and validates the raw contours CB-i or smoothed CL-i of the zones Zi determined automatically in step 130 or in step 140. More precisely, the operator selects one or more point (s) of the contour and applies a transformation to them to delete a contour, to add a contour or to move a contour, for example so that it no longer follows the edges and vertices of the validated HR mesh.
  • step 140 the whole validated HR mesh is subdivided into zones
  • Step 150 corresponds to the execution of a zone validation and labeling module Z-i, of the first application.
  • the validation operation of a zone first allows, when the smoothed contour CL-i of the zone Zi deviates from the existing edges of the validated mesh HR, to create new vertices along the smoothed contour Li and of add facets to the validated HR mesh, which correspond to these new vertices.
  • the smoothed contour CL-i substantially passes through edges and vertices of an increased HR mesh.
  • This operation is an adaptive remeshing located in the vicinity of the smoothed contour CL-i delimiting the zone Z-i.
  • the validation operation of a zone Z-i then makes it possible to cut the augmented HR mesh so as to generate, for each validated zone, a sub-mesh HR, HR-i.
  • An HR-i sub-mesh HR makes it possible to define a sub-object SSObj_i in the customizable object Obj defined by the initial file FI.
  • step 150 the object is subdivided entirely into sub-objects, that is to say that the union of the N sub-meshes HR HR-i is equal to the increased HR mesh.
  • the module allows the operator to assign a personalization attribute of the sub-object SSObj_i corresponding.
  • the operator indicates whether this sub-object is modifiable or non-modifiable.
  • a constraint volume definition module is executed to associate with each sub-mesh HR HR-i one or more envelope volume (s).
  • a first constraint volume defines a volume around the sub-mesh HR of an modifiable sub-object, corresponding to the personalization limits by deformation or modification of the corresponding sub-mesh HR.
  • Such volume V1 -3 is shown schematically in Figure 3 for the sub-object "handle", Z-3, of the object "cup”.
  • a second constraint volume is automatically generated for each sub-mesh HR, whether the corresponding sub-object is modifiable or non-modifiable, indicating a list of vertices of the sub-mesh HR that can not be modified during the generation operation.
  • a low resolution mesh as will be described below in detail.
  • Each constraint volume is defined by a mesh in a file in ".stl " format.
  • step 170 the execution of an import module of the first application 22 makes it possible to import on the server 14 the different data files corresponding to the augmented HR mesh, the HR sub-meshes and the payload volumes. constraints.
  • the data files of the object and subobjects are in ".obj" format. If the initial FI file has a texture, this information is included in each file imported, especially in association with HR sub-meshes. On the other hand, if the initial file F1 does not have a texture, a default texture is defined, which may possibly be modified by the operator during step 150 of validation / labeling of a zone.
  • the data files of the constraint volumes are in ".stl" format.
  • an XML module of the first application 22 is executed to generate an XML description file.
  • the generated XML file depends on the Obj custom object. It associates the augmented HR mesh of the object; the set of SSObjj sub-objects defined in the object; and for each of these sub-objects, the corresponding HR-i augmented HR sub-mesh, the constraint volumes and the associated personalization attributes.
  • the XML file actually contains links to the ".obj" or ".stl” files deposited on the server 14 in step 170.
  • step 190 the generated XML file is deposited on the server 14 using the import module.
  • a graphic environment configuration module belonging to the operator application 22, is executed in such a way as to allow the operator to configure a 3D graphic environment that will be displayed on an interface of the client terminal. in order to allow the manipulation of objects by the customer.
  • Step 200 allows the operator to customize the 3D graphical environment.
  • an EPS file for defining the 3D graphics environment is stored in the database of the server 14.
  • the server application 24 is executed to carry out the following steps of the method.
  • an analysis module of the server application 24 is executed to analyze (parser) the XML file and create corresponding entities in the database 15.
  • the analysis module creates an entity corresponding to a sub-object SSObjj, it places the augmented HR sub-mesh, HR 1, corresponding in the database 15 and then calls a resolution reduction module.
  • step 220 the resolution reduction module of the application 24 is executed to generate a low-resolution sub-mesh, BR mesh in the following, for each sub-mesh HR, whether modifiable or non-modifiable, indicated in the XML file.
  • the corresponding sub-mesh BR, BR i is stored in the database 15.
  • low resolution is meant a mesh which has a number of polygonal facets of less than 20,000, preferably 15,000, for example 10,000.
  • the notion of low resolution is actually relative to the notion of high resolution.
  • the resolution of a BR mesh obtained from a mesh HR depends on the resolution of this mesh HR.
  • the ratio of the number of facets of the mesh HR on the number of facets of the corresponding mesh BR is greater than a number n, which is at least 3, preferably at least 5, preferably 10.
  • This number n advantageously constitutes a Server Application Resolution Reduction Module Configuration Parameter 24.
  • the resolution reduction module can therefore reduce the number of vertices of a high resolution mesh (or, what is equivalent, edges or facets thereof) beyond, for example, a maximum error allowed. .
  • error is meant the difference between the surface of a facet of the BR mesh resulting from the fusion of a set of facets of the mesh HR with respect to the cumulative surface of the facets of this set of facets. This maximum error allowed is advantageously a configuration parameter of the resolution reduction module.
  • the resolution reduction module first merges the set of sub-meshes HR HR i non-modifiable sub-objects SSObj_i, to obtain a single sub-mesh HR non-modifiable sub-objects.
  • the resolution reduction module applies an algorithm of incremental decimation by contraction of edges with constraints on the sub-mesh HR HR i applied to it as input.
  • the resolution reduction module calculates an error resulting from the contraction of each pair of neighboring vertices, vertices that do not belong to the second constraint volume, which identifies the fixed vertices of the sub-mesh HR HR i during this reduction step. resolution. Then, the module classifies the pairs of vertices according to the value of the calculated error, retaining only the pairs for which this error is lower than the maximum permissible error. The module then merges each vertex with the neighboring vertex, which, among the neighboring vertices, forms with the vertex considered the pair of vertices presenting the value of the weakest error, when such a pair exists.
  • the resolution reduction module repeats the previous merge operations on the first low-resolution sub-mesh.
  • the module reduces the resolution of the sub-mesh until a criterion of reduction of the predefined resolution is satisfied.
  • This criterion can be, for example, a number of iterations of the merging operations, or when there are no longer any pairs of vertices whose error is less than the maximum error allowed, or if the sub-mesh has a number vertices less than a threshold number or less than the number of vertices of the initial HR sub-mesh divided by the integer n defined above, or other equivalent criteria.
  • a sub-mesh BR BR i is obtained at the output of the resolution reduction module.
  • the sub-mesh BR BR i output is associated with the sub-mesh HR HR i.
  • the analysis module calls a normal map module of the server application 24.
  • the execution of the normal map module makes it possible to generate a map of normals Map_i ("normal mapping" in English) for each pair sub-mesh HR HR i / sub-mesh BR BR i.
  • Such a map is known to those skilled in the art. It is used here as a means of simulating the relief of the sub-mesh HR HR i, while maintaining the viewing angle and illumination information, when displaying the corresponding BR BR i mesh on the client terminal 16 .
  • the execution of the normal map module on a sub-mesh HR and the corresponding sub-mesh BR leads to a two-dimensional unfolding of the sub-mesh BR; projecting all the vertices of the sub-mesh HR onto the unfolded sub-mesh BR; for each facet of the sub-mesh HR, to calculate a gray level information from the normal to the facet considered on the sub-mesh HR, the direction of a lighting of the sub-mesh HR and a texture of the sub-mesh HR; and to associate this gray level information with the portion of a facet of the sub-mesh BR delimited by the projected vertices of the facet of the sub-mesh HR considered.
  • the database 15 comprises for each modifiable sub-object SSObj_i and for the sub-object corresponding to the meeting non-modifiable sub-objects: A sub-mesh HR, HR i;
  • a 3D visualization model including a sub-mesh BR, BR i, and a map of normals, Map_i.
  • the method 100 continues on the client side, on the client terminal 16. While the preceding steps correspond to a configuration phase, the following steps correspond to a phase of use of the personalization method 100.
  • a customer wishing to customize a customizable object for manufacturing launches the client application 26 on the client terminal 16.
  • the second application is constituted by a web browser adapted to connect to a website, hosted on the server 14.
  • this site provided to the client application 26, in a suitable language, for example HTML5 and Javascript, instructions relating to the display of the 3D graphical environment for manipulating the objects on the display interface of the client terminal (screen), and the display of the sub-objects of the object to be customized in this 3D graphic environment.
  • a suitable language for example HTML5 and Javascript
  • the instructions are developed from the data files present in the database 15.
  • the internet browser executes a visualization module of the WebGL type capable of interpreting the display instructions.
  • a "plug-in" is previously downloaded by the client terminal 16 to allow the browser to display the 3D graphical environment and sub-objects.
  • the client terminal being of the digital tablet or "smartphone" type
  • the client application consists of a downloadable application, comprising both the 3D graphic environment and a catalog of customizable object models gathering the set of customizable objects defined in the database 15.
  • a step 310 the execution of the second application 26 leads to the loading and displaying on the interface of the second terminal 16 of the 3D graphical environment for manipulation of objects corresponding to the ENV file deposited in the database. 15.
  • the second application 26 provides the server 14 with a user profile (including, for example, login / password data) enabling the server 14 to recognize the client, and to extract from the database 15 an ENV environment configuration file specific to the client.
  • a step 320 the execution of the second application 26 leads to the loading and display in the 3D graphics environment of a catalog of customizable objects gathering all the customizable objects defined in the database. 15.
  • this catalog may be specific to an identified customer.
  • step 330 the client selects a customizable object model from the catalog.
  • This selection has the effect of generating a request to the server 14, the request comprising an identifier of the selected customizable object Obj.
  • the server 14 transmits to the client terminal 16, the different 3D visualization files, BR i and Map_i, SSObjj sub-objects defining the selected object model, that is to say the N-1 files of 3D visualization of the modifiable SSObjj sub-objects and the 3D visualization file of the non-modifiable SSObjj sub-objects.
  • the client application 16 displays the BR BR sub-meshes of the sub-objects in the 3D graphic environment by applying on the surface of each of these sub-meshes BR the textures and maps of normal Map_i associated, so as to obtain a Realistic rendering of the customizable object to customize in the 3D graphical environment. It should be noted that the different sub-objects are displayed relative to each other to reconstitute the object to be personalized.
  • the reception of a request to select a customizable object leads to the creation of an instance of this object 10bj in the memory of the server 14.
  • This instance uses the sub-meshes HR HR i sub-objects SSObjj of the customizable object Obj.
  • step 340 the client selects a sub-object of the object displayed in the 3D graphical environment for the purpose of modifying it. For example the sub-object SSObj_1. This action generates the sending of a request to the server 14 comprising the identifier of the selected sub-object.
  • the server 14 transmits to the client terminal 16 the sub-mesh file HR, HR 1, the sub-object SSObj_1 selected, and the associated texture. Being only a fraction of the HR mesh of the object, this file has a reasonable size and is transmitted quickly to the client application.
  • the representation of the object on the client terminal 16 is updated by replacing the sub-mesh BR BR 1 of the sub-object SSObj_1 selected, the sub-mesh HR HR 1 corresponding to be received, and applying the texture just received on this sub-mesh HR HR 1.
  • step 350 the client uses various functional tools, made available to him in the 3D graphical environment, to modify geometrically the sub-mesh HR HR 1 of the sub-object SSObj_1 selected.
  • the tools that can be used by the client depend on the personalization attributes associated with the selected sub-object SSObj_1.
  • the client uses the tool chosen to modify, on the client terminal 16, the sub-mesh HR HR 1 as he wishes.
  • the customer decides, for example, to make the face of the "cup" object corresponding to the zone Z-1 more flat in FIG. 3.
  • the vertices of the sub-mesh HR HR 1 are removed, other vertices are added so as to build the desired surface.
  • step 360 the client validates the modifications that he has made on the subobject SSObj_1 selected.
  • the validation of the modifications of a sub-mesh HR leads the client application 26 to transmit to the server 14 the modified sub-mesh HR of the selected sub-object.
  • an HR modified sub-mesh HR_1 * is transmitted to the server 14.
  • the server 14 When receiving a modified HR sub-mesh HR_1 * , the server 14 substitutes this modified HR sub-mesh HR_1 * to the corresponding HR HR sub-mesh 1 present in the instance 10bj.
  • the server 14 executes the reduction module of the resolution on the modified sub-mesh HR, HR_1 * , so as to update a 3D visualization model of the sub-object SSObj_1 selected, this 3D visualization model comprising in particular a sub-object modified BR mesh BR_1 * and a map of normal modified Map_1 * for this sub-object.
  • this step the same resolution reduction module of the server application 24 is executed as that used in the configuration phase.
  • the server 14 then sends the client application 26 an update of the display of the object comprising the modified 3D visualization model of the selected sub-object.
  • a modified sub-mesh BR HR_1 * is transmitted to the client terminal 16.
  • the steps 340 for selecting an modifiable sub-object, 350 for modifying the sub-mesh HR of the selected sub-object and 360 for validating the modifications made are iterated by the client to obtain the personalized object that he wishes to manufacture.
  • the 3D sub-mesh of a sub-object is transmitted periodically to the server to update the corresponding instance, without waiting for the final validation of the modifications made to the selected sub-object. Only the generation of the 3D visualization model of the selected sub-object is carried out following validation by the client.
  • step 370 after modifying the customizable object so as to customize it, the customer accepts the custom object obtained and starts manufacturing.
  • the client By clicking on a dedicated icon in the 3D graphical environment, the client launches a final validation and custom object fabrication instruction.
  • This final file FF is prepared from the merger of all the current HR sub-meshes HR i * of the instance of the object 10bj in the memory of the server 14, which merge leads to a mesh HR of the custom object from which the final FF file is made.
  • the final file FF is saved in the database 15 as a custom object to be manufactured.
  • step 380 the server 14 executes a clean manufacturing module, from the final file FF, to generate instructions for controlling the 3D printer 18 used to manufacture the custom object.
  • the personalized object is realized.
  • the server in step 380, the server generates, from the final file FF, a manufacturing file, comprising the instructions adapted to be executed by a control computer of the tool chosen to produce the personalized object.
  • This manufacturing file is transmitted directly to the control computer, if it is connected via a network, such as the Internet, to the server 14, or indirectly, if the control computer is not connected.
  • the manufacturing file can be given to the customer on a suitable data carrier.
  • the computer system just described allows users of the general public, not necessarily having specific knowledge of mechanics and / or CAD, to produce customized functional parts using a computer with limited resources.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Ce procédé comporte les étapes consistant à : fournir à un client (16) une représentation basse résolution (BR_j; Map_j) d'un objet (Obj); sélectionner une partie de l'objet en tant que sous-objet (SSObj_i) sélectionné; fournir, par le serveur (14) au client, une représentation haute résolution (HR_i) du sous-objet sélectionné; modifier par le client un sous-maillage haute résolution associé à la représentation haute résolution du sous-objet sélectionné; transmettre au serveur le sous-maillage haute résolution modifié; mettre à jour, sur le serveur, une instance haute résolution (lObj) de l'objet en utilisant le sous- maillage haute résolution modifié; réduire automatiquement, par le serveur, une résolution du sous-maillage haute résolution modifié pour obtenir un sous-maillage basse résolution modifié du sous-objet sélectionné et le transmettre au client.

Description

Procédé de personnalisation d'un objet personnalisable pour un système client / serveur ; support d'enregistrement d'informations et système client / serveur associés La présente invention concerne les procédés de de personnalisation d'un objet graphique pour une architecture informatique client / serveur.
La phase de conception virtuelle d'un objet 3D devant être fabriqué par une machine numérique adaptée, nécessite l'utilisation de logiciels professionnels, à la fois coûteux et complexes à mettre en œuvre.
L'exécution d'un tel logiciel nécessite des ressources informatiques importantes en termes de capacité de calcul et d'affichage.
Mais surtout, un tel logiciel professionnel de CAO (« conception assistée par ordinateur») est complexe et nécessite souvent que l'utilisateur ait des connaissances solides en mécanique par exemple. L'utilisation d'un tel logiciel requiert donc un long apprentissage. De ce fait, l'utilisation d'un tel logiciel de CAO est réservée à des opérateurs professionnels.
En conséquence, la conception virtuelle d'un objet 3D n'est pas accessible au grand public.
La présente invention a pour but de pallier le problème précité.
À cet effet, l'invention a pour objet un procédé de personnalisation d'un objet personnalisable en vue de sa fabrication, pour un système client / serveur comportant un terminal client et un terminal serveur, le procédé comportant les étapes consistant successivement à :
- fournir au terminal client une représentation basse résolution d'un objet, propre à être affichée dans un environnement graphique 3D d'une interface d'affichage du terminal client ;
- sélectionner une partie de l'objet affiché dans environnement graphique 3D, en tant que sous-objet sélectionné ;
- fournir, par le terminal serveur, une représentation haute résolution dudit sous-objet sélectionné, propre à être affichée dans l'environnement graphique 3D de l'interface d'affichage du terminal client, à la place de la représentation basse résolution du sous- objet sélectionné ;
- modifier, dans l'environnement graphique 3D, un sous-maillage haute résolution associé à la représentation haute résolution du sous-objet sélectionné ;
- transmettre au serveur le sous-maillage haute résolution modifié du sous-objet sélectionné ; - mettre à jour, sur le serveur, une instance haute résolution de l'objet en utilisant le sous- maillage haute résolution modifié ;
- réduire automatiquement, par le serveur, une résolution du sous-maillage haute résolution modifié pour obtenir un sous-maillage basse résolution modifié du sous-objet sélectionné ;
- générer, par le serveur, une représentation basse résolution modifiée du sous-objet sélectionné à partir du sous-maillage haute résolution modifié et du sous-maillage basse résolution modifié du sous-objet sélectionné ; et,
- transmettre, au terminal client, la représentation basse résolution modifiée du sous-objet sélectionné, pour mettre à jour la représentation basse résolution de l'objet affiché dans l'environnement graphique 3D de l'interface d'affichage.
L'invention permet à un utilisateur, disposant d'un terminal client, par exemple du type ordinateur personnel, de concevoir un objet à fabriquer en partant d'un modèle virtuel de cet objet personnalisable, élaboré par un logiciel professionnel. Ce modèle est préalablement subdivisé en sous-objets. Chaque sous-objet est associé à la fois à un maillage haute résolution et à un maillage basse résolution. Les maillages basse résolutions des sous-objets sont suffisants pour qu'un environnement graphique 3D exécuté sur le terminal client offre un rendu 3D satisfaisant de l'objet. Dans l'environnement graphique, l'utilisateur ne peut sélectionner pour modification qu'un sous- objet à la fois. Lors de la sélection d'un sous-objet, l'environnement graphique 3D télécharge auprès d'un terminal serveur le sous-maillage haute résolution de ce sous- objet. Le client apporte les modifications sur ce sous-maillage haute résolution. Une fois que l'utilisateur a validé les modifications sur le sous-maillage haute résolution, le sous- maillage haute résolution modifié est transmis au terminal serveur, où il fait l'objet d'un traitement automatique pour générer un sous-maillage basse résolution modifié, propre à être transmis en retour au terminal client pour afficher le sous-objet modifié dans l'environnement graphique 3D. Le terminal serveur effectue une synthèse des sous- maillages haute-résolution modifiés et non modifiés, de manière à générer un fichier adapté à la machine utilisée pour fabriquer l'objet final personnalisé.
Ainsi, côté terminal client, les ressources nécessaires à l'affichage sont réduites puisqu'il s'agit d'afficher l'essentiel de l'objet en basse résolution, et les ressources nécessaires au traitement des données sont également réduites puisqu'une modification de l'objet ne porte que sur une fraction de celui-ci, qui présente une résolution élevée uniquement au moment où cette fraction est sélectionnée pour modification.
A chaque instant, les flux de données entre le terminal serveur et le terminal client se limitent à des fichiers de taille réduite, ou tout au moins adaptée pour n'utiliser qu'une fraction de la bande passante de la liaison de communication entre le terminal serveur et le terminal client.
Suivant d'autres aspects avantageux de l'invention, le procédé comprend une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles :
l'étape consistant à fournir une représentation basse résolution d'un objet, comporte les étapes consistant à :
- fournir un maillage haute résolution d'un objet personnalisable ;
- subdiviser en une pluralité de sous-maillages haute résolution complémentaires le maillage haute résolution de l'objet personnalisable, chaque sous-maillage haute résolution étant associé à un sous-objet de l'objet personnalisable ;
- réduire automatiquement une résolution de chaque sous-maillage haute résolution, de manière à obtenir un sous-maillage basse résolution correspondant ;
- stocker, sur le serveur (14), pour chaque sous-objet, le sous-maillage haute résolution et le sous-maillage basse résolution correspondant ;
- transférer vers le terminal client (16) les sous-maillages basse résolution des différents sous-objets constituant l'objet personnalisable, pour l'affichage de l'objet personnalisable dans l'environnement graphique 3D de l'interface d'affichage du terminal client (16).
- le procédé comporte, suite à l'étape consistant à réduire automatiquement une résolution de chaque sous-maillage haute résolution, de manière à obtenir un sous- maillage basse résolution correspondant, une étape de calcul d'une carte de normales pour chaque sous-objet à partir du sous-maillage haute résolution et du sous-maillage basse résolution correspondant dudit sous-objet, la carte des normales d'un sous-objet étant transférée vers le terminal client pour l'affichage de l'objet personnalisable dans l'environnement graphique 3D de l'interface d'affichage du terminal client.
le procédé comporte, après avoir subdivisé en une pluralité de sous- maillages haute résolution complémentaires le maillage haute résolution de l'objet personnalisable, chaque sous-maillage haute résolution étant associé à un sous-objet de l'objet, une étape consistant à assigner à chaque sous-objet un attribut « modifiable » ou « non modifiable », les sous-objets « non modifiables » ne pouvant être modifié dans l'environnement graphique 3D de l'interface d'affichage du terminal client.
l'étape consistant à subdiviser en une pluralité de sous-maillages haute résolution complémentaires le maillage haute résolution de l'objet personnalisable comporte une étape de délimitation automatique de contours dans le maillage haute résolution de l'objet personnalisable, chaque contour délimitant une zone (Z-i) du maillage haute résolution correspondant à un sous-objet.
dans lequel le ou chaque étape de réduction de la résolution d'un sous- maillage haute résolution met en œuvre un algorithme de décimation incrémentale par contraction d'arêtes avec contraintes sur le sous-maillage haute résolution qui lui est appliqué en entrée.
dans lequel le ou chaque étape de réduction de la résolution d'un sous- maillage haute résolution permet de générer un sous-maillage basse résolution présentant n fois moins de facettes et/ou d'arête et/ou de sommets, n étant supérieur à 3, de préférence à 5, de préférence encore à 10.
dans lequel, lors d'une validation finale des modifications apportées à l'objet affiché dans l'environnement graphique 3D de l'interface d'affichage du terminal client, le terminal serveur génère un fichier final correspondant à la fusion des sous- maillages haute résolution courants constituant l'instance haute résolution de l'objet sur le terminal serveur, le fichier final permettant de piloter un outil de fabrication de l'objet personnalisé.
le procédé comporte une étape consistant à fournir à un terminal client un environnement graphique 3D propre à être affiché dans une interface d'affichage du terminal client.
L'invention a également pour objet un support d'enregistrement d'informations, caractérisé en ce qu'il comporte des instructions pour l'exécution des étapes réalisées par un terminal client d'un procédé conforme au procédé précédent lorsque les instructions sont exécutées par un calculateur électronique.
L'invention a également pour objet un système client / serveur caractérisé en ce que le système comporte au moins un terminal client et un terminal serveur programmés pour exécuter ensemble un procédé conforme au procédé précédent.
L'invention sera mieux comprise à l'aide de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif et faite en se référant aux dessins annexés sur lesquels :
- la figure 1 est une représentation schématique du système client / serveur de mise en œuvre du procédé selon l'invention ;
- la figure 2 est une représentation schématique sous forme de blocs du procédé selon l'invention ; et,
- la figure 3 est une représentation d'un objet affiché sur l'écran d'un terminal client du système de la figure 1 lors de l'exécution du procédé de la figure 2. Le système client /serveur pour la mise en œuvre du procédé selon l'invention, représenté schématiquement à la figure 1 , permet à un client, au travers d'une interface d'affichage tel qu'un écran, de personnaliser un objet personnalisable, en vue de sa fabrication.
Le système client / serveur 10 conduit à la génération d'au moins un fichiers final
FF comportant les données décrivant l'objet final personnalisé et permettant la fabrication de ce dernier au moyen d'un outil de production prédéterminé parmi tout type d'outils de production, en particulier les outils mettant en œuvre un procédé de fabrication additive (tels qu'une imprimante 3D) ou mettant en œuvre un procédé de fabrication classique (tels qu'une fraiseuse numérique).
Le système 10 présente une architecture informatique répartie.
La couche matérielle du système comporte un premier terminal, un terminal serveur et un second terminal.
Le premier terminal, ou terminal opérateur 12, est un ordinateur permettant à un premier utilisateur, ou opérateur, d'effectuer des tâches de « back office » de préparation des fichiers de données.
Le terminal serveur, ou serveur 14, permet de mettre les fichiers de données préparés sur le terminal opérateur 12 à la disposition d'un second utilisateur, ou client, utilisant le second terminal, ou terminal client 16.
Le terminal client 16 est un ordinateur utilisé par le client. Il s'agit par exemple d'un ordinateur personnel, d'une tablette à écran tactile, d'un « smartphone » ou l'équivalent.
Le serveur 14 est relié au terminal opérateur par un réseau local 13.
Le terminal client 16 est connecté au serveur 14 via un réseau 17, de préférence le réseau Internet.
Dans le mode de réalisation représenté sur la figure 1 , le serveur 14 est relié directement à une imprimante 3D 18 qu'il commande. En variante, le serveur 14 génère, à partir du fichier final FF, un fichier de fabrication de l'objet personnalisé, qui est transmis, d'une manière ou d'une autre, à un calculateur de fabrication pilotant l'outil de production choisi pour réaliser l'objet personnalisé.
Le serveur 14 est associé à une base de données 15.
La couche logicielle du système 10 comporte une première application 22, mise en œuvre par le terminal opérateur 12, une application serveur 24, mises en œuvre par le serveur 14, et une seconde application 26, mise en œuvre par le terminal client 16.
Lors de l'exécution des différentes composantes de la couche logicielle du système 10 par les ordinateurs du système 10, les étapes suivantes du procédé de personnalisation 100 selon l'invention sont réalisées. Dans une première série d'étapes, réalisées sur le terminal opérateur 12, différents fichiers de données sont préparés.
Dans une étape 1 10, un module d'importation de la première application 22 est exécuté pour importer un fichier initial FI sur le terminal opérateur 12. Ce fichier initial FI correspond à un modèle (« template » en anglais) virtuel en trois dimensions (3D) d'un objet personnalisable, c'est-à-dire pouvant être personnalisé. L'objet personnalisable est indiqué de manière générale par référence Obj sur la figure 1 .
En variante, plusieurs fichiers initiaux sont importés, qui ensemble permettent de décrire un modèle virtuel 3D d'une scène, une scène étant composée d'une pluralité d'objets placés dans un paysage.
De préférence, le fichier initial FI est au format «.stl ». Selon ce format, la géométrie d'un objet est décrite par un maillage haute résolution, dénommé maillage HR dans ce qui suit.
Comme illustré sur la figure 3, un maillage comporte une pluralité de facettes polygonales. Par exemple, ces facettes prennent la forme de triangles ou de carrés. Chaque facette comporte des sommets et des arêtes. Les sommets et les arêtes peuvent être partagés entre plusieurs facettes voisines.
En variante, le fichier initial FI est au format «.obj ». Dans ce format, la géométrie d'un objet est décrite à la fois par un maillage HR et par une texture propre à être appliquée sur la surface définie par le maillage HR pour obtenir, dans un environnement de visualisation 3D adapté, une représentation graphique réaliste de l'objet.
Le fichier initial FI est par exemple obtenu en sortie d'un logiciel de CAO professionnel. L'homme du métier connaît de nombreux logiciels de ce type permettant de générer un fichier comportant un maillage HR.
Un maillage haute révolution est un maillage comportant plus de 20 000 facettes, de préférence plus de 30 000 facettes, par exemple 50 000 facettes.
La notion de haute résolution est relative à la notion de basse résolution, qui sera introduite ci-dessous en détail. Elle est également relative à la précision caractéristique de l'outil de production choisi pour réaliser l'objet final personnalisé. Il faut en effet que le maillage possède une résolution suffisamment élevée pour permettre d'atteindre la précision caractéristique de l'outil employé. Il n'est pas nécessaire que la résolution du maillage haute résolution aille au-delà de la précision caractéristique de l'outil employé.
Le maillage du ou de chaque fichier initial FI importé à l'étape 1 10 est un maillage considéré comme ayant une résolution élevée, c'est-à-dire est un maillage HR. Dans une seconde étape 120, un module de vérification de la première application 22 est exécuté pour vérifier la qualité et l'homogénéité du maillage HR défini par le fichier initial FI.
Le module de vérification est propre à réparer automatiquement certains défauts mineurs du maillage HR, tels que par exemple modifier l'orientation des normales des facettes de manière à définir sans ambiguïté l'intérieur et l'extérieur de l'objet, supprimer les intersections entre facettes, etc.
Un maillage HR validé est généré en sortie du module de vérification.
Un maillage HR comportant des défauts majeurs, qui ne peuvent être réparés par le module de vérification, est rejeté. Un rapport de contrôle est alors affiché sur un écran du terminal opérateur 12. Un tel défaut majeur est par exemple un trou dans le maillage HR définissant la surface externe de l'objet et qui serait trop important pour pouvoir être interpolé de manière univoque à partir des facettes formant le pourtour du trou. Puis, à l'étape 130, un module de pavage de la première application est exécuté, pour définir automatiquement des zones Z-i dans le maillage HR validé.
Le module de pavage segmente la surface définie par le maillage HR validé, en surfaces élémentaires ou zones Z-i.
Le module de pavage met en œuvre un algorithme fondé sur la variation de courbure. Les arêtes vives et les sommets vifs de l'objet sont détectés dans le maillage HR validé. Ensuite, la courbure principale d'une région de la surface du maillage HR validé, située au voisinage de chaque sommet vif ou arête vive, est déterminée. Puis, les régions sont classées en fonction de la valeur de la courbure principale ainsi estimée. Dans une étape dite de croissance, les régions ayant sensiblement la même valeur de la courbure principale et qui possèdent des facettes adjacentes sont associées de manière à former une zone. Les zones sont éventuellement fusionnée les unes avec les autres afin de limiter le nombre total de zones à la surface de l'objet. Enfin, une étape finale de rectification des contours C-i des zones Z-i permet de vérifier et de corriger les éventuelles discontinuités du contour de chaque zone.
A l'issue de cette étape, les contours bruts CB-i des zones Z-i, définies automatiquement, suivent des arêtes et passent par des sommets du maillage HR validé. Ces contours bruts CB-i sont définis par une courbe éditable.
Puis, à l'étape 140, un module d'édition de contour de la première application 22 est exécuté pour générer des contours lissés, CL-i, comme cela est illustré sur la figure 3. Dans un mode de mise en œuvre automatique de cette étape, un algorithme est utilisé, tels qu'un algorithme de détermination du chemin le plus court, effectuant une projection d'un contour brut CB-i sur la surface du maillage HR de manière à obtenir un contour lissé CL-i qui n'est plus contraint de suivre les arêtes et de passer par les sommets du maillage HR, mais peut traverser la surface d'une facette. Le contour lissé CL-i d'une zone Z-i reste cependant contraint sur la surface du maillage HR.
Dans un mode de mise en œuvre manuel de cette étape ou en complément d'une mise en œuvre automatique, au moyen d'un environnement graphique de la première application 22, propre à être affiché sur un écran du terminal opérateur 12, l'opérateur édite, modifie et valide les contours bruts CB-i ou lissé CL-i des zones Z-i déterminées automatiquement à l'étape 130 ou à l'étape 140. Plus précisément, l'opérateur sélectionne un ou plusieurs point(s) du contour et leur applique une transformation afin de supprimer un contour, d'ajouter un contour ou encore de déplacer un contour, par exemple pour qu'il ne suive plus les arêtes et les sommets du maillage HR validé.
A l'issue de l'étape 140, l'ensemble du maillage HR validé est subdivisé en zones
Z-i délimitées par des contours lissés CL-i.
L'étape 150 correspond à l'exécution d'un module de validation et d'étiquetage de zone Z-i, de la première application.
L'opération de validation d'une zone permet d'abord, lorsque le contour lissé CL-i de la zone Z-i s'écarte des arêtes existantes du maillage HR validé, de créer de nouveaux sommets le long du contour lissé L-i et d'ajouter des facettes au maillage HR validé, qui correspondent à ces nouveaux sommets. A l'issue de cette étape, le contour lissé CL-i passe sensiblement par des arêtes et des sommets d'un maillage HR augmenté. Cette opération est un remaillage adaptatif localisé au voisinage du contour lissé CL-i délimitant la zone Z-i.
L'opération de validation d'une zone Z-i permet ensuite de découper le maillage HR augmenté de manière à générer, pour chaque zone validée, un sous-maillage HR, HR-i.
Un sous-maillage HR HR-i permet de définir un sous-objet SSObj_i dans l'objet personnalisable Obj défini par le fichier initial FI.
A l'issue de l'étape 150, l'objet est entièrement subdivisé en sous-objets, c'est-à- dire que la réunion des N sous-maillages HR HR-i est égale au maillage HR augmenté.
Un fois une zone Z-i validée, elle est étiquetée. Pour cela, le module permet à l'opérateur d'affecter un attribut de personnalisation du sous-objet SSObj_i correspondant. Ainsi, pour chaque sous-objet SSObj_i de l'objet personnalisable Obj, l'opérateur indique si ce sous-objet est modifiable ou non modifiable.
De nombreuses variantes de réalisation sont envisageables dans lesquelles des attributs de personnalisation plus fins sont définis pour chaque sous-objet, ces attributs permettant de contraindre les modifications possibles d'un sous-maillage HR d'un sous- objet modifiable.
Il peut par exemple s'agir d'une contraindre sur les fonctions de modifications pouvant être appliquées sur le sous-maillage HR, telles que : l'ajout ou la suppression de sommets, d'arêtes ou de facettes, ou encore le déplacement de sommets ; l'utilisation des outils de l'environnement graphique 3D permettant au client de mettre en œuvre ces fonctions, telles que des outils de dessin ou de sculpture permettant d'appliquer une transformation d'échelle locale au sous-maillage HR (transformation d'échelle dont le centre correspond au centre de l'outil et dont la portée correspond à la finesse de l'outil), etc.
A l'étape suivante, 160, un module de définition de volumes de contrainte est exécuté pour associer à chaque sous-maillage HR HR-i un ou plusieurs volume(s) enveloppe.
Deux types de volumes de contrainte sont avantageusement définis. Un premier volume de contrainte définit un volume autour du sous-maillage HR d'un sous-objet modifiable, correspondant aux limites de personnalisation par déformation ou modification du sous-maillage HR correspondant. Un tel volume V1 -3 est représenté schématiquement sur la figure 3 pour le sous-objet « anse », Z-3, de l'objet « tasse ».
Un deuxième volume de contrainte est généré automatiquement pour chaque sous-maillage HR, que le sous-objet correspondant soit modifiable ou non-modifiable, indiquant une liste de sommets du sous-maillage HR ne pouvant pas être modifiés lors de l'opération de génération d'un maillage basse résolution, comme cela sera décrit ci- dessous en détail.
Chaque volume de contrainte est défini par un maillage dans un fichier au format «.stl ».
Puis à l'étape 170, l'exécution d'un module d'importation de la première application 22 permet d'importer sur le serveur 14 les différents fichiers de données correspondant au maillage HR augmenté, aux sous-maillages HR et aux volumes de contraintes.
Les fichiers de données de l'objet et des sous-objets sont au format « .obj ». Si le fichier initial FI comporte une texture, cette information est reprise dans chaque fichier importé, notamment en association avec les sous-maillages HR. En revanche, si le fichier initial FI ne comporte pas de texture, une texture par défaut est définie, celle-ci pouvant éventuellement être modifiée par l'opérateur lors de l'étape 150 de validation / étiquetage d'une zone.
Les fichiers de données des volumes de contrainte sont au format «.stl ».
A l'étape 180, un module XML de la première application 22 est exécuté pour générer un fichier XML de description. Le fichier XML généré dépend de l'objet personnalisé Obj. Il associe le maillage HR augmenté de l'objet ; l'ensemble des sous- objets SSObjj définis dans l'objet ; et pour chacun de ces sous-objets, le sous-maillage HR augmenté HR-i correspondant, les volumes de contrainte et les attributs de personnalisation associés.
Le fichier XML contient en fait des liens vers les fichiers « .obj » ou « .stl » déposés sur le serveur 14 à l'étape 170.
A l'étape 190, le fichier XML généré est déposé sur le serveur 14 en utilisant le module d'importation.
A l'étape 200, un module de configuration de l'environnement graphique, appartenant à l'application opérateur 22, est exécuté de manière à permettre à l'opérateur de configurer un environnement graphique 3D qui sera affiché sur une interface du terminal client 16 de manière à permettre la manipulation d'objets par le client. L'étape 200 permet à l'opérateur de personnaliser l'environnement graphique 3D. Une fois cette étape réalisée, un fichier ENV de définition de l'environnement graphique 3D est stocké dans la base de données 15 du serveur 14.
Lorsqu'un nouveau fichier XML est déposé sur le serveur 14, l'application serveur 24 est exécutée pour réaliser les étapes suivantes du procédé.
Dans une étape 210, un module d'analyse de l'application serveur 24 est exécuté pour analyser (parser) le fichier XML et créer des entités correspondantes dans la base de données 15.
A chaque fois que le module d'analyse crée une entité correspondant à un sous- objet SSObjj, il place le sous-maillage HR augmenté, HR 1 , correspondant dans la base de données 15 et appelle ensuite un module de réduction de résolution.
Ainsi, à l'étape 220, le module de réduction de résolution de l'application 24 est exécuté pour générer un sous-maillage basse résolution, maillage BR dans ce qui suit, pour chaque sous-maillage HR, qu'il soit modifiable ou non modifiable, indiqué dans le fichier XML. Le sous-maillage BR correspondant, BR i est stocké dans la base de données 15.
Par basse résolution, on entend un maillage qui comporte un nombre de facettes polygonales inférieur à 20 000, de préférence 15 000 par exemple 10 000.
Plus précisément, la notion de basse résolution est en fait relative à la notion de haute résolution. Ainsi, la résolution d'un maillage BR obtenu à partir d'un maillage HR dépend de la résolution de ce maillage HR. De préférence, le rapport du nombre de facettes du maillage HR sur le nombre de facettes du maillage BR correspondant est supérieur à un nombre n, qui vaut au moins 3, de préférence au moins 5, de préférence 10. Ce nombre n constitue avantageusement un paramètre de configuration du module de réduction de résolution de l'application serveur 24.
Il est à noter que la basse résolution doit permettre l'affichage de l'objet ou d'un sous-objet dans l'environnement graphique 3D affiché sur l'interface du terminal client 16, de manière graphiquement satisfaisante. Le module de réduction de résolution ne peut donc réduire le nombre de sommets d'un maillage haute résolution (ou, ce qui est équivalent, d'arêtes ou de facette de celui-ci) au-delà par exemple d'une erreur maximale autorisée.
Par « erreur », on entend l'écart entre la surface d'une facette du maillage BR résultant de la fusion d'un ensemble de facettes du maillage HR par rapport à la surface cumulée des facettes de cet ensemble de facettes. Cette erreur maximale autorisée est avantageusement un paramètre de configuration du module de réduction de la résolution.
Le module de réduction de résolution fusionne d'abord l'ensemble des sous- maillages HR HR i des sous-objets SSObj_i non-modifiables, pour obtenir un unique sous-maillage HR des sous-objets non-modifiables.
Puis, pour générer automatiquement un sous-maillage BR BR i à partir d'un sous- maillage HR HR i, le module de réduction de résolution applique un algorithme de décimation incrémentale par contraction d'arêtes avec contraintes sur le sous-maillage HR HR i qui lui est appliqué en entrée.
Le module de réduction de résolution calcule une erreur résultant de la contraction de chaque paire de sommets voisins, sommets qui n'appartiennent pas au second volume de contrainte, qui identifie les sommets fixes du sous-maillage HR HR i lors de cette étape de réduction de résolution. Puis, le module classe les paires de sommets en fonction de la valeur de l'erreur calculée, en ne retenant que les paires pour lesquelles cette erreur est inférieure à l'erreur maximale autorisée. Le module fusionne ensuite chaque sommet avec le sommet voisin, qui, parmi les sommets voisins, forme avec le sommet considéré la paire de sommets présentant la valeur de l'erreur la plus faible, lorsqu'une telle paire existe.
Après avoir passé en revue tous les sommets du sous-maillage HR pour obtenir un premier sous-maillage basse résolution, le module de réduction de résolution réitère les opérations de fusion précédentes sur le premier sous-maillage basse résolution.
Par itérations successives, le module réduit la résolution du sous-maillage jusqu'à ce qu'un critère de réduction de la résolution prédéfini soit satisfait. Ce critère peut être par exemple un nombre d'itérations des opérations de fusion, ou lorsqu'il n'existe plus de paires de sommets dont l'erreur est inférieure à l'erreur maximale autorisée, ou que le sous-maillage présente un nombre de sommets inférieur à un nombre seuil ou inférieur au nombre de sommets du sous-maillage HR initial divisé par l'entier n défini ci-dessus, ou d'autres critères équivalents.
A l'issue des opérations de fusion, un sous-maillage BR BR i est obtenu en sortie du module de réduction de la résolution. Dans la base de données 15, le sous-maillage BR BR i de sortie est associé au sous-maillage HR HR i.
Dans une étape 230, le module d'analyse appelle un module de carte de normales de l'application serveur 24. L'exécution du module de carte de normales permet de générer une carte de normales Map_i (« normal mapping » en anglais) pour chaque paire sous-maillage HR HR i / sous-maillage BR BR i.
Une telle carte est connue de l'homme du métier. Elle est ici utilisée comme un moyen de simuler le relief du sous-maillage HR HR i, en conservant l'information d'angle de vue et d'éclairage, lors de l'affichage du maillage BR BR i correspondant sur le terminal client 16.
L'exécution du module de carte normale sur un sous-maillage HR et le sous- maillage BR correspondant conduit à réaliser un dépliage en deux dimension du sous- maillage BR ; à projeter tous les sommets du sous-maillage HR sur le sous-maillage BR déplié ; pour chaque facette du sous-maillage HR, à calculer une information de niveau de gris à partir de la normale à la facette considérée sur le sous-maillage HR, la direction d'un éclairage du sous-maillage HR et d'une texture du sous-maillage HR ; et à associer cette information de niveau de gris à la portion d'une facette du sous-maillage BR délimitée par les sommets projetés de la facette du sous-maillage HR considérée.
Une fois que l'ensemble du fichier XML a été analysé, la base de données 15 comporte pour chaque sous-objet modifiable SSObj_i et pour le sous-objet correspondant à la réunion des sous-objets non-modifiables : - Un sous-maillage HR, HR i ;
- Un modèle de visualisation 3D, comportant un sous-maillage BR, BR i, et une carte des normales, Map_i. Le procédé 100 se poursuit du côté client, sur le terminal client 16. Alors que les étapes précédentes correspondent à une phase de configuration, les étapes suivantes correspondent à une phase d"utilisation du procédé de personnalisation 100.
Un client souhaitant personnaliser un objet personnalisable en vue de sa fabrication lance l'application client 26 sur le terminal client 16.
De préférence, la seconde application est constituée par un navigateur internet propre à se connecter à un site Internet, hébergé sur le serveur 14.
De manière générale, ce site fourni à l'application client 26, dans un langage adapté, par exemple HTML5 et Javascript, des instructions relatives à l'affichage de l'environnement graphique 3D de manipulation des objets sur l'interface d'affichage du terminal client (écran), et à l'affichage des sous-objets de l'objet à personnaliser dans cet environnement graphique 3D.
Les instructions sont élaborées à partir des fichiers de données présents dans la base de données 15.
Avantageusement, le navigateur internet exécute un module de visualisation du type WebGL propre à interpréter les instructions d'affichage.
A défaut, un « plug-in » est préalablement téléchargé par le terminal client 16 pour permettre au navigateur internet d'afficher l'environnement graphique 3D et les sous- objets.
Dans une variante de réalisation, le terminal client étant du type tablette numérique ou « smartphone », l'application client est constituée par une application téléchargeable, comportant à la fois l'environnement graphique 3D et un catalogue de modèles d'objet personnalisables rassemblant l'ensemble des objets personnalisables définis dans la base de données 15.
Dans une étape 310, l'exécution de la seconde application 26 conduit au chargement et à l'affichage sur l'interface du second terminal 16 de l'environnement graphique 3D de manipulation d'objets correspondant au fichier ENV déposé dans la base de données 15.
Eventuellement, en se connectant, la seconde application 26 fournit au serveur 14 un profil de l'utilisateur (comportant par exemple des données de login / password) permettant au serveur 14 de reconnaître le client, et d'extraire de la base de données 15 un fichier de configuration d'environnement ENV spécifique au client. Ce fichier de configuration, transmis au terminal client 16, comporte des données de personnalisation d'un environnement graphique 3D générique.
Puis, dans une étape 320, l'exécution de la seconde application 26 conduit au chargement et à l'affichage dans l'environnement graphique 3D d'un catalogue d'objets personnalisables rassemblant l'ensemble des objets personnalisables définis dans la base de données 15.
Là encore, ce catalogue peut être spécifique à un client identifié.
A l'étape 330, le client sélectionne, dans le catalogue, un modèle d'objet personnalisable.
Cette sélection a pour effet de générer une requête à destination du serveur 14, la requête comportant un identifiant de l'objet personnalisable sélectionné Obj.
En réponse, le serveur 14 transmet vers le terminal client 16, les différents fichiers de visualisation 3D, BR i et Map_i, des sous-objets SSObjj définissant le modèle d'objet sélectionné, c'est-à-dire les N-1 fichiers de visualisation 3D des sous-objets SSObjj modifiables et le fichier de visualisation 3D des sous-objets SSObjj non-modifiables.
L'application client 16 affiche les sous-maillages BR BR i des sous-objets dans l'environnement graphique 3D en appliquant sur la surface de chacun de ces sous- maillages BR les textures et cartes de normales Map_i associées, de manière à obtenir un rendu réaliste de l'objet personnalisable à personnaliser dans l'environnement graphique 3D. Il est à noter que les différents sous-objets sont affichés les uns par rapport aux autres pour reconstituer l'objet à personnaliser.
Simultanément, côté serveur 14, la réception d'une requête de sélection d'un objet personnalisable conduit à la création d'une instance de cet d'objet lObj dans la mémoire du serveur 14. Cette instance utilise les sous-maillages HR HR i des sous-objets SSObjj de l'objet personnalisable Obj.
A l'étape 340, le client sélectionne un sous-objet de l'objet affiché dans l'environnement graphique 3D dans le but de le modifier. Par exemple le sous-objet SSObj_1 . Cette action engendre l'émission d'une requête vers le serveur 14 comportant l'identifiant du sous-objet sélectionné.
En réponse, le serveur 14 transmet au terminal client 16 le fichier du sous-maillage HR, HR 1 , du sous-objet SSObj_1 sélectionné, ainsi que la texture associée. Ne constituant qu'une fraction du maillage HR de l'objet, ce fichier possède une taille raisonnable et est transmis rapidement vers l'application client.
La représentation de l'objet sur le terminal client 16 est mise à jour en substituant au sous-maillage BR BR 1 du sous-objet SSObj_1 sélectionné, le sous-maillage HR HR 1 correspondant venant d'être reçu, et en appliquant la texture venant d'être reçue sur ce sous-maillage HR HR 1 .
Puis, à l'étape 350, le client utilise différents outils fonctionnels, mis à sa disposition dans l'environnement graphique 3D, pour modifier géométriquement le sous- maillage HR HR 1 du sous-objet SSObj_1 sélectionné.
Eventuellement, les outils utilisables par le client dépendent des attributs de personnalisation associés au sous-objet SSObj_1 sélectionné.
Le client utilise l'outil choisi pour modifier, sur le terminal client 16, le sous-maillage HR HR 1 comme il le souhaite. Le client décide par exemple de rendre plus plate la face de l'objet « tasse » correspondant à la zone Z-1 sur la figure 3. Des sommets du sous maillage HR HR 1 sont supprimés, d'autres sommets sont ajoutés de manière à construire la surface souhaitée.
A l'étape 360, le client valide les modifications qu'il vient de réaliser sur le sous- objet SSObj_1 sélectionné. La validation des modifications d'un sous-maillage HR conduit l'application client 26 à transmettre vers le serveur 14 le sous-maillage HR modifié du sous-objet sélectionné. Ainsi, un sous-maillage HR modifié HR_1 * est transmis au serveur 14.
Lors de la réception d'un sous-maillage HR modifié, HR_1 * , le serveur 14 substitue ce sous-maillage HR modifié HR_1 * au sous-maillage HR HR 1 correspondant présent dans l'instance lObj.
Le serveur 14 exécute le module de réduction de la résolution sur le sous-maillage HR modifié, HR_1 *, de manière à mettre à jour un modèle de visualisation 3D du sous- objet SSObj_1 sélectionné, ce modèle de visualisation 3D comportant notamment un sous-maillage BR modifié BR_1 * et une carte des normales modifiée Map_1 * pour ce sous-objet. Au cours de cette étape le même module de réduction de résolution de l'application serveur 24 est exécuté que celui utilisé dans la phase de configuration.
Le serveur 14 envoie ensuite vers l'application client 26 une mise à jour de l'affichage de l'objet comportant le modèle de visualisation 3D modifié du sous-objet sélectionné. Ainsi, un sous-maillage BR modifié HR_1 * est transmis au terminal client 16.
Les étapes 340 de sélection d'un sous-objet modifiable, 350 de modification du sous-maillage HR du sous-objet sélectionné et 360 de validation des modifications apportées sont itérées par le client pour obtenir l'objet personnalisé qu'il souhaite fabriqué.
Un unique sous-maillage HR étant éditable à chaque instant dans l'environnement graphique 3D, l'édition en vue de la personnalisation d'un nouveau sous-objet n'est possible qu'après le rafraîchissement de l'affichage de l'objet suite à la validation des modifications apportée au sous-objet précédent.
En variante, le sous-maillage 3D d'un sous-objet est transmis périodiquement au serveur pour mettre à jour l'instance correspondante, sans attendre la validation finale des modifications apportées au sous-objet sélectionné. Seule la génération du modèle de visualisation 3D du sous-objet sélectionné est réalisée suite d'une validation par le client.
A l'étape 370, après avoir modifié l'objet personnalisable de manière à le personnaliser, le client accepte l'objet personnalisé obtenu et lance sa fabrication.
En cliquant sur une icône dédiée de l'environnement graphique 3D, le client lance une instruction de validation finale et de fabrication de l'objet personnalisé.
Ceci a pour effet de générer une requête adaptée vers le serveur 14, qui, lorsqu'il la reçoit, génère un fichier de données. Ce fichier final FF est élaboré à partir de la fusion de l'ensemble des sous-maillages HR courants HR i* de l'instance de l'objet lObj dans la mémoire du serveur 14, fusion qui conduit à un maillage HR de l'objet personnalisé à partir duquel est fabriqué le fichier final FF. Le fichier final FF est sauvegardé dans la base de données 15 en tant qu'objet personnalisé à fabriquer.
Puis à l'étape 380, le serveur 14 exécute un module de fabrication propre, à partir du fichier final FF, à générer des instructions pour piloter l'imprimante 3D 18 utilisée pour fabriquer l'objet personnalisé.
A l'issue de l'étape 380 d'impression, l'objet personnalisé est réalisé.
En variante, dans l'étape 380, le serveur génère, à partir du fichier final FF, un fichier de fabrication, comportant les instructions adaptées pour être exécutées par un calculateur de pilotage de l'outil choisi pour réaliser l'objet personnalisé. Ce fichier de fabrication est transmis directement au calculateur de pilotage, si celui-ci est connecté via un réseau, tel que l'internet, au serveur 14, ou indirectement, si le calculateur de pilotage n'est pas connecté. Le fichier de fabrication peut-être donné au client sur un support de données adapté.
Ainsi, le système informatique venant d'être décrit permet à des utilisateurs du grand-public, ne possédant pas forcément de connaissances spécifiques en mécanique et/ou en CAO, de réaliser des pièces fonctionnelles personnalisées en utilisant un ordinateur possédant des ressources limitées.

Claims

REVENDICATIONS
1 . - Procédé de personnalisation d'un objet personnalisable (Obj) en vue de sa fabrication, pour un système client / serveur (10) comportant un terminal client (16) et un terminal serveur (14), le procédé comportant les étapes consistant successivement à :
- fournir au terminal client une représentation basse résolution d'un objet, propre à être affichée dans un environnement graphique 3D d'une interface d'affichage du terminal client ;
- sélectionner une partie de l'objet affiché dans environnement graphique 3D, en tant que sous-objet sélectionné ;
- fournir, par le terminal serveur, une représentation haute résolution dudit sous-objet sélectionné, propre à être affichée dans l'environnement graphique 3D de l'interface d'affichage du terminal client, à la place de la représentation basse résolution du sous- objet sélectionné ;
- modifier, dans l'environnement graphique 3D, un sous-maillage haute résolution associé à la représentation haute résolution du sous-objet sélectionné ;
- transmettre au serveur le sous-maillage haute résolution modifié du sous-objet sélectionné ;
- mettre à jour, sur le serveur, une instance haute résolution (lObj) de l'objet en utilisant le sous-maillage haute résolution modifié ;
- réduire automatiquement, par le serveur, une résolution du sous-maillage haute résolution modifié pour obtenir un sous-maillage basse résolution modifié du sous-objet sélectionné ;
- générer, par le serveur, une représentation basse résolution modifiée du sous-objet sélectionné à partir du sous-maillage haute résolution modifié et du sous-maillage basse résolution modifié du sous-objet sélectionné ; et,
- transmettre, au terminal client, la représentation basse résolution modifiée du sous-objet sélectionné, pour mettre à jour la représentation basse résolution de l'objet affiché dans l'environnement graphique 3D de l'interface d'affichage.
2. - Procédé selon la revendication 1 , dans lequel l'étape consistant à fournir une représentation basse résolution d'un objet, comporte les étapes consistant à :
- fournir un maillage haute résolution d'un objet personnalisable (Obj) ; - subdiviser en une pluralité de sous-maillages haute résolution (HR i) complémentaires le maillage haute résolution de l'objet personnalisable, chaque sous-maillage haute résolution étant associé à un sous-objet (SSObj_i) de l'objet personnalisable ;
- réduire automatiquement une résolution de chaque sous-maillage haute résolution, de manière à obtenir un sous-maillage basse résolution (BR i) correspondant ;
- stocker, sur le serveur (14), pour chaque sous-objet, le sous-maillage haute résolution et le sous-maillage basse résolution correspondant ;
- transférer vers le terminal client (16) les sous-maillages basse résolution des différents sous-objets constituant l'objet personnalisable, pour l'affichage de l'objet personnalisable dans l'environnement graphique 3D de l'interface d'affichage du terminal client (16).
3. - Procédé selon la revendication 2, comportant, suite à l'étape consistant à réduire automatiquement une résolution de chaque sous-maillage haute résolution (HR i), de manière à obtenir un sous-maillage basse résolution (BR i) correspondant, une étape de calcul d'une carte de normales (Map_i) pour chaque sous-objet (SSObj_i) à partir du sous-maillage haute résolution et du sous-maillage basse résolution correspondant dudit sous-objet, la carte des normales d'un sous-objet étant transférée vers le terminal client pour l'affichage de l'objet personnalisable dans l'environnement graphique 3D de l'interface d'affichage du terminal client (16).
4. - Procédé selon la revendication 2 ou la revendication 3, comportant, après avoir subdivisé en une pluralité de sous-maillages haute résolution complémentaires le maillage haute résolution de l'objet personnalisable (Obj), chaque sous-maillage haute résolution (HR i) étant associé à un sous-objet de l'objet (SSObj_i), une étape consistant à assigner à chaque sous-objet un attribut « modifiable » ou « non modifiable », les sous- objets « non modifiables » ne pouvant être modifié dans l'environnement graphique 3D de l'interface d'affichage du terminal client (16).
5.- Procédé selon l'une quelconque des revendications 2 à 4, dans lequel l'étape consistant à subdiviser en une pluralité de sous-maillages haute résolution complémentaires le maillage haute résolution de l'objet personnalisable (Obj) comporte une étape de délimitation automatique de contours (CL-j) dans le maillage haute résolution de l'objet personnalisable, chaque contour délimitant une zone (Z-i) du maillage haute résolution correspondant à un sous-objet.
6. - Procédé selon l'une quelconque des revendications précédentes, dans lequel le ou chaque étape de réduction de la résolution d'un sous-maillage haute résolution met en œuvre un algorithme de décimation incrémentale par contraction d'arêtes avec contraintes sur le sous-maillage haute résolution qui lui est appliqué en entrée.
7. - Procédé selon l'une quelconque des revendications précédentes, dans lequel le ou chaque étape de réduction de la résolution d'un sous-maillage haute résolution permet de générer un sous-maillage basse résolution présentant n fois moins de facettes et/ou d'arête et/ou de sommets, n étant supérieur à 3, de préférence à 5, de préférence encore à 10.
8. - Procédé selon l'une quelconque des revendications précédentes, dans lequel, lors d'une validation finale des modifications apportées à l'objet affiché dans l'environnement graphique 3D de l'interface d'affichage du terminal client (16), le terminal serveur (14) génère un fichier final (FF) correspondant à la fusion des sous-maillages haute résolution courants constituant l'instance haute résolution (lObj) de l'objet sur le terminal serveur, le fichier final permettant de piloter un outil de fabrication (18) de l'objet personnalisé.
9. - Procédé selon l'une quelconque des revendications précédentes, comportant une étape consistant à fournir à un terminal client (16) un environnement graphique 3D (ENV) propre à être affiché dans une interface d'affichage du terminal client.
10. - Support d'enregistrement d'informations, caractérisé en ce qu'il comporte des instructions pour l'exécution des étapes réalisées par un terminal client (16) d'un procédé conforme à l'une quelconque des revendications 1 à 9, lorsque les instructions sont exécutées par un calculateur électronique.
1 1 . - Système client / serveur (10), caractérisé en ce que le système comporte au moins un terminal client (16) et un terminal serveur (14) programmés pour exécuter ensemble un procédé conforme à l'une quelconque des revendications 1 à 9.
PCT/EP2015/061264 2014-05-22 2015-05-21 Procédé de personnalisation d'un objet personnalisable pour un système client/serveur; support d'enregistrement d'informations et système client/serveur associés WO2015177283A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP15736406.8A EP3146510A1 (fr) 2014-05-22 2015-05-21 Procédé de personnalisation d'un objet personnalisable pour un système client/serveur; support d'enregistrement d'informations et système client/serveur associés

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1454622A FR3021444B1 (fr) 2014-05-22 2014-05-22 Procede de personnalisation d'un objet personnalisable pour un systeme client / serveur ; support d'enregistrement d'informations et systeme client / serveur associes
FR1454622 2014-05-22

Publications (1)

Publication Number Publication Date
WO2015177283A1 true WO2015177283A1 (fr) 2015-11-26

Family

ID=52003886

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2015/061264 WO2015177283A1 (fr) 2014-05-22 2015-05-21 Procédé de personnalisation d'un objet personnalisable pour un système client/serveur; support d'enregistrement d'informations et système client/serveur associés

Country Status (3)

Country Link
EP (1) EP3146510A1 (fr)
FR (1) FR3021444B1 (fr)
WO (1) WO2015177283A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6271861B1 (en) * 1998-04-07 2001-08-07 Adobe Systems Incorporated Smooth shading of an object
US20050248563A1 (en) * 2004-05-10 2005-11-10 Pixar Techniques for rendering complex scenes
WO2010068210A1 (fr) * 2008-12-11 2010-06-17 Pixar Manipulation d'objets non chargés

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6271861B1 (en) * 1998-04-07 2001-08-07 Adobe Systems Incorporated Smooth shading of an object
US20050248563A1 (en) * 2004-05-10 2005-11-10 Pixar Techniques for rendering complex scenes
WO2010068210A1 (fr) * 2008-12-11 2010-06-17 Pixar Manipulation d'objets non chargés

Also Published As

Publication number Publication date
FR3021444B1 (fr) 2016-07-01
EP3146510A1 (fr) 2017-03-29
FR3021444A1 (fr) 2015-11-27

Similar Documents

Publication Publication Date Title
US20210110601A1 (en) Collaborative 3d modeling system
EP2082374B1 (fr) Procede et dispositifs d'aide a la modelisation d'objets 3d
US20070265727A1 (en) System and method for mesh and body hybrid modeling using 3d scan data
US11423617B2 (en) Subdividing a three-dimensional mesh utilizing a neural network
FR2907936A1 (fr) Procede et dispositifs d'aide au positionnement relatif d'objets durant une phase de conception.
FR2907246A1 (fr) Procede et dispositifs de projection de motifs bidimensionels sur des surfaces complexes d'objets tridimensionnels
WO2010029268A1 (fr) Procede et dispositif de realisation d'un modele par elements finis
WO2023015174A1 (fr) Systèmes et procédés de modélisation d'image tridimensionnelle (3d) pour générer automatiquement des modèles 3d de produit et d'emballage virtuels photoréalistes à partir d'actifs d'imagerie 2d et de données dimensionnelles
US9639924B2 (en) Adding objects to digital photographs
US20230377218A1 (en) Node lighting
US20230306162A1 (en) Sketch-processing
WO2015177283A1 (fr) Procédé de personnalisation d'un objet personnalisable pour un système client/serveur; support d'enregistrement d'informations et système client/serveur associés
US20190163685A1 (en) Object generation
FR3043806A1 (fr) Procede de visualisation d'un plan par des dispositifs informatiques
FR3023634A1 (fr) Systeme informatise de conception du routage tridimensionnel de cables electrique dans un systeme electrique, et procede de conception correspondant
KR20190074562A (ko) Vr기술 기반의 3d모델링 저작도구를 이용한 3d프린팅 시스템
EP3545438A1 (fr) Procédé et système de modélisation variationnelle pour l'édition d'objets géométriques
EP2317478A1 (fr) Procédé et système de visualisation d'un revêtement d'une surface
EP1864260B1 (fr) Procede de reconstruction d'image dans un graphique vectoriel
McKevitt et al. So, You Want to 3D Print a Landscape? An Outline of Some Methods
KR20190011107A (ko) 포장 패키지 제작 어플리케이션 및 그 방법
FR3020891A1 (fr) Procede de simulation d'un montage et/ou d'une utilisation d'un ensemble fonctionnel de plate-forme, et systeme associe
Kumar et al. Design Visualization
WO2023234986A1 (fr) Système et procédé pour créer des rendus de haute qualité et générer une sortie de fabrication de produits personnalisés
WO2023234989A1 (fr) Système et procédé pour créer des rendus de haute qualité et générer une sortie de fabrication de produits personnalisés

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15736406

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

REEP Request for entry into the european phase

Ref document number: 2015736406

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015736406

Country of ref document: EP