3D modeling objects of physical prototypes of products

A computer-implemented method for designing 3D modeled objects with a wireframe based on character lines automates the generation of high-quality curves, addressing the inefficiencies of manual processes and ensuring reproducible and accurate results.

JP7716195B2Active Publication Date: 2025-07-31DASSAULT SYSTEMES SA
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2020211242
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2019-12-30
Filing Date
2020-12-21
Publication Date
2025-07-31
Estimated Expiration
2040-12-21

AI Technical Summary

Technical Problem

The manual process of generating character lines for 3D modeled objects is time-consuming, non-reproducible, and heavily dependent on user expertise, leading to variations in quality and accuracy, especially in the reconstruction of physical prototypes.

Method used

A computer-implemented method for designing a 3D modeled object with a wireframe based on character lines, involving mesh segmentation, conversion of boundary polylines to character lines, and calculation of a network of smooth curves to form a wireframe, which minimizes user interaction and ensures consistent quality.

Benefits of technology

The method automates the generation of high-quality curves, improves productivity, and ensures reproducibility, reducing the dependence on user expertise and minimizing noise phenomena, resulting in consistent and accurate 3D modeled objects.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007716195000001
    Figure 0007716195000001
  • Figure 0007716195000002
    Figure 0007716195000002
  • Figure 0007716195000003
    Figure 0007716195000003
Patent Text Reader

Abstract

To provide an improved method for designing a 3D modelled object of a physical prototype of a product.SOLUTION: A 3D modelled object of a physical prototype of a product has a wireframe based on at least one character line. A method therefor has a step of calculating segmentation of provided mesh. Thus, from the provide mesh, at least two regions and at least one boundary polyline between the two regions are obtained. Subsequently, the method has a step of converting each of the at least one boundary polyline to one character line. The method further has a step of calculating a network of the at least one character line. The network of the at least one character line forms a wireframe of the 3D modelled object.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer programs and systems, and more specifically, to a method, system, and program for designing 3D modeled objects of a physical prototype of a product, where the 3D modeled objects are composed of wireframes based on at least one character line.

Background Art

[0002] For the design, engineering, and manufacturing of objects, many systems and programs are available on the market. CAD stands for Computer Aided Design and is related to software solutions for designing objects. CAE stands for Computer Aided Engineering and is related to software solutions for simulating, for example, the physical behavior of future products. CAM stands for Computer Aided Manufacturing and is related to software solutions for defining, for example, manufacturing processes and operations. In such computer-aided design systems, the graphical user interface plays an important role with regard to the efficiency of the technology. These technologies may be incorporated into a Product Lifecycle Management (PLM) system. PLM refers to a business strategy that enables companies to share product data, apply common processes, and utilize corporate knowledge to support product development from concept to the end of the product's life, beyond the long-term corporate concept. The PLM solution provided by Dassault Systèmes (trademarks of CATIA, ENOVIA, DELMIA) has an "Engineering Hub" that organizes product engineering knowledge, a "Manufacturing Hub" that manages manufacturing engineering knowledge, and an "Enterprise Hub" that enables corporate integration and connection to both the Engineering Hub and the Manufacturing Hub. This system provides an open object model that links products, processes, and resources, enables knowledge-based dynamic product creation and decision-making support, and promotes the optimization of product definition, manufacturing preparation, production, and service.

[0003] Among them, the importance of product design is high. Product design aims to build a virtual 3D model that is as close as possible to the physical prototype regarded as the master model by the designer. Such a process is commonly used for free-form prototypes (physical mock-ups) in industries such as aerospace, automotive, marine, consumer goods, and household consumer goods. In some industries, companies focus on the quality of character lines during the reverse engineering process. These companies are seeking ways to make the product quieter and more stable.

[0004] Figures 1 and 2 show screenshots of the simulation results of a prototype representing the impact of the quality of character lines on the aerodynamic characteristics of a vehicle. Figure 1 shows the first aerodynamic simulation results of the original design. Figure 2 shows the second aerodynamic simulation results after changing the character lines of the original design. The simulation results are different.

[0005] Similarly, Figures 3 and 4 show screenshots of the simulation results on a prototype representing the impact of the quality of character lines on the noise caused by the vehicle body. The simulation results in Figure 4 are improved compared to the simulation results in Figure 3 because one or more character lines have been modified by acoustic design engineers.

[0006] Digital reconstruction of the prototype is necessary. If the results of the prototype are satisfactory, the digital reconstruction process (also called the "network approach") is generally composed of the following manual steps. · Realize a prototype by a designer respecting aerodynamics and noise criteria. · The prototype is measured using 3D scanning technology to obtain the relevant point cloud. · The variable-quality mesh obtained by digitizing the prototype is cleaned, repaired, and optimized. · The mesh is analyzed to emphasize its shape and characteristic lines. The characteristic lines are the main paths on which the boundary lines of the surface are based. The purpose of this analysis is to reproduce the surface of the product. · A set of curves is created by the user following the characteristic lines based on the previous analysis. These curves represent the wireframe of the product and calculate the future surface boundaries. · Each cell of the network is filled by a surface respecting the maximum deviation from the mesh.

[0007] In these steps, the normal process of generating the characteristic lines is realized manually by the user. This can be done based on the user's expertise and understanding of the object shape, or the result of the mesh analysis step (color map) can be used as a visual guide. The user draws the character curves by picking on the mesh to insert control points. The final curves should reproduce the shape of the mesh and respect the maximum deviation from the mesh. The curvature analysis map helps the user distinguish the shape of the mesh. The deviation analysis tool helps verify and edit the curves to best fit the mesh.

[0008] The quality of the curves directly affects the quality of the final surface. The transition from the polyline extracted from the map to a smooth curve that fits the mesh is an important step in this process. Today, determining the positions of the control points of the curves or inserting new curves while maintaining a smooth shape depends on the user's expertise. It is a non-reproducible process.

[0009] Thus, the mainstream process for curve generation is manual and time-consuming. This is clearly the most time-consuming step in the entire reconstruction workflow, accounting for approximately 70% of the total reconstruction time. By assisting in the generation here, productivity can be significantly improved. The more the user needs high-quality curves (such as the contour of a car), the more complex the editing process becomes.

[0010] For products with a common shape (e.g., the body of a car), the user must prioritize the quality of the curve. The curve must be taut without wobbling. Conversely, in the case of products with a common mesh (e.g., the interior of a car), the curve must fit the mesh, and the number of control points may become more important. The best compromise between a smooth curve and a curve that fits the mesh depends on the user's expertise. That is, two users will not generate the same curve network or the same surface. Such a large variation among users is not what companies want. Manual processing is tricky, and mistakes made by many users affect the quality of the resulting surface. For example, multiple control points are often used to generate a simple curve, and mesh variations may be hidden depending on the view position. Therefore, automating this process has great advantages in terms of productivity, quality, and reproducibility.

[0011] Attempts have been made to automatically obtain the strings of scanned products. However, there are the following drawbacks. First, curve generation is based on a high-curvature map. Although this is a fast method, it is not applicable to smooth character lines or smooth surface changes. This method needs to be manually complemented with editing processes to obtain smooth edges, as it is not possible to rely solely on high curvature. Second, the generated curves are lines of high curvature in each region. Again, while this is acceptable for high-curvature regions, it cannot be said that it is preferable to obtain the boundaries of smooth regions. This aspect is even more important when the curved surface is directly generated from the curves. Third, the quality of the generated curves is poor. They cannot be used as surface boundaries and are only used to segment the shape and provide a preferable direction for the isoline. Designers expect there to be lines taught in the product. In this method, the generated lines are wavy, and each curve and surface must be manually edited to handle a tired design. Fourth, the surface generation method minimizes the deviation between the surface and the mesh but cannot give the user complete control over the surface patchwork. In fact, each network cell is divided into smaller patches, and the surface boundaries do not match the curve network. Fifth, this process is not a function of the type of accuracy required by the user.

[0012] Manually generating line curves such as character lines is an iterative and painful task. Since the user's perception is influenced by the viewing direction on the mesh obtained by digitizing the prototype, the quality of the resulting curves depends greatly on the user's expertise.

[0013] Finally, noise introduced by the device that calculates the associated point cloud from the prototype also causes discrepancies between the surface resulting from the digitization and the surface of the prototype. The mesh obtained from the point cloud will have these discrepancies relative to the prototype. Therefore, the surface obtained from the mesh must be as close as possible to the mesh so that the reconstruction of the digitization respects the tolerances relative to the prototype.

[0014] In this context, there is still a need for improved methods for designing a 3D modeled object of a physical prototype of a product, the 3D modeled object constituting a wireframe based on at least one character line. Summary of the Invention

[0015] Accordingly, there is provided a computer-implemented method for designing a 3D modeled object of a physical prototype of a product, the 3D modeled object having a wireframe based on at least one character line, the method comprising the steps of: · Providing meshes for 3D modeled objects. Obtaining at least two regions from said provided mesh and at least one boundary polyline between said at least two regions by computing a segmentation of said provided mesh. Convert each of at least one boundary polyline into at least one character line. Computing a network of said at least one character line, said network of said at least one character line forming a wireframe of a 3D modeled object.

[0016] The method may include one or more of the following: The segmentation by the calculation calculates a first segmentation, obtains at least two first regions from the provided mesh, and at least one first boundary polyline between at least two different regions, and calculates a second segmentation executed at a higher optimization level compared to the first segmentation, and obtains the following: at least two second regions from the provided mesh, where the at least two second regions belong to at least one of the at least two first regions, and at least one second boundary polyline between the at least two second regions. The computing network has a step of selecting at least one first boundary polyline, a step of connecting at least one second boundary polyline to the selected at least one first boundary polyline by performing a snap operation, and a step of favoring at least one first boundary polyline issued from the first segmentation. The step of calculating the segmentation of the provided mesh has a step of detecting at least one master boundary polyline of the provided mesh, where the master boundary polyline is a polyline having a high curvature compared to other polylines of the mesh. The detection of the at least one master boundary polyline has a step of calculating at least one master boundary polyline by applying an image filtering process to the mesh to calculate a contrast map of the mesh and connecting the segments obtained as a result of the calculation. The step of calculating the segmentation of the provided mesh further includes a step of performing a refined segmentation by calculating normal clustering of each region of the mesh. After the calculation of the segmentation of the provided mesh, there are steps of selecting one of at least two regions and dividing the selected region using the curvature map of the provided mesh, and / or selecting at least two regions and combining them into one region. The transformation has a step of calculating a smooth curve for each of the at least one boundary polyline. It has a step of arranging control points of the smooth curve, which is executed to minimize the deviation with respect to the provided mesh and / or the smooth curve, and / or the number of control points, and / or the degree of the smooth curve. It further has a step of calculating an assembly of a surface based on a wireframe and calculating continuity constraints of a 3D modeled object.

[0017] A computer program constituting instructions for executing the method is further provided.

[0018] Furthermore, a computer-readable storage medium recording the computer program is provided.

[0019] Furthermore, a system having a processor coupled to a memory and a graphical user interface is provided, and the memory records the computer program therein.

Brief Description of Drawings

[0020]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Figure 12

Figure 13

Figure 14

Figure 15

Figure 16

Figure 17

Figure 18

Figure 19

Figure 20

Figure 21

Figure 22

Figure 23

Figure 24

Figure 25

[0021] Referring to the flowchart of FIG. 5, a computer-implemented method for designing a 3D modeled object of a physical prototype of a product is proposed. The 3D modeled object is designed to have a wireframe based on at least one character line. The method includes providing a mesh of the 3D modeled object. The mesh can be obtained from a physical prototype, for example, by using 3D scanning technology to obtain an associated point cloud of the physical prototype. The method also includes calculating a segmentation of the provided mesh. The segmentation generates at least two distinct regions from the provided mesh. The segmentation of the prototype's three-dimensional mesh also includes at least one boundary polyline located between the at least two distinct regions, and at least a portion of the boundary between the at least two regions provides the at least one boundary polyline. Next, the method includes converting each of the at least one boundary polyline into at least one character line. The character line is one of the lines that characterize the physical prototype and, therefore, the 3D modeled object being designed. Next, the method includes calculating a network of at least one character line. The network of at least one character line forms the wireframe of the 3D modeled object. The wireframe thus obtained consists of the main lines (character lines) of the product being designed.

[0022] Such a method improves the design of a 3D modeled object of a physical prototype of a product, the 3D modeled object being comprised of a wireframe based on at least one character line. The method automates the generation of the curves that form the wireframe from a mesh analysis.

[0023] It is noteworthy that no view manipulation is required during curve creation, and no user interaction is required to obtain good quality curves. The quality of the wireframe improves with increased productivity. Furthermore, the process of designing a 3D modeled object is a repeatable process. The method of the present invention creates a wireframe of an object based on character lines by creating and initializing a segmented map. A combination of image filtering and / or regular clustering and / or curvature analysis may be used.

[0024] The resulting map of the present invention corresponds to the main lines (wireframe) of the object. The user can use it to obtain the main curves and generate a surface based on this network. Furthermore, if the quality of the cloud is not too bad, the method of the present invention will generate most of the curves. The user can complete the process with just a few edits, since most of the lines have already been calculated in this way. Furthermore, the process can be specialized and function according to the need for precision. For example, the surface obtained from the wireframe can be of class A, B, or C.

[0025] Interestingly, the quality of the resulting curves does not depend on the user's view direction: the projection onto the mesh depends on the clustering normal direction, and undesired variations are limited by system rules. This reduction in the number of control points limits noise phenomena caused by complex curves and improves the quality of the resulting surfaces.

[0026] Additionally, the process is the most reproducible for users: two designers working on the same project will get similar results.

[0027] Further advantages of the present invention are discussed below.

[0028] The method of the present invention is executed by a computer. This means that the steps of the method (or substantially all steps) are executed by at least one computer, or equally by any system. Thus, the steps of the method are executed by a computer, in some cases completely automatically, or semi-automatically. In an example, the trigger for at least some of the steps of the method may be executed by a user / computer interaction. The required level of user / computer interaction depends on the expected level of automation and may be balanced with the need to implement the user's wishes. In an exemplary embodiment, this level may be user-defined and / or pre-defined.

[0029] For example, as already mentioned, the user can complete, modify, or manually create the generated curve.

[0030] A typical example of a computer-implemented method is to execute the method using a system adapted for this purpose. The system is composed of a processor coupled to a memory and a graphical user interface (GUI), and the memory stores a computer program containing instructions for executing the method. The memory may also store a database. The memory may be any hardware adapted for such storage and may in some cases be composed of several physically different parts (for example, one for the program and one for the database).

[0031] This method typically manipulates modeled objects. A modeled object is an object defined by data stored in a database or similar. By extension, the term "modeled object" refers to the data itself. Depending on the type of system, the modeled object is defined by different types of data. A system may actually be any combination of a CAD system, a CAE system, a CAM system, a PDM system, and / or a PLM system. In these different systems, the modeled object is defined by the corresponding data. Thus, one may refer to a CAD object, a PLM object, a PDM object, a CAE object, a CAM object, CAD data, PLM data, PDM data, CAM data, and CAE data. However, these systems are not exclusive, as a modeled object may be defined by data corresponding to any combination of these systems. Thus, the fact that a system is both a CAD and a PLM system is clear from the following system definition.

[0032] A CAD system additionally means a system adapted to design modeled objects based on at least a graphical representation of the modeled objects, such as CATIA. In this case, the data defining the modeled objects has data enabling the representation of the modeled objects. The CAD system may provide, for example, a representation of CAD modeled objects using, in certain cases, faces or edges or lines having faces. The lines, edges, or faces may be represented in various ways, such as non-uniform rational B-splines (NURBS). Specifically, the CAD file contains specifications from which geometry is generated, thereby generating a representation. The specifications of the modeled objects may be stored in one CAD file or in multiple CAD files. The typical size of a file representing a modeled object in a CAD system is within the range of 1 megabyte per part. And the modeled objects are typically assemblies of thousands of parts in some cases.

[0033] In the context of CAD, the modeled objects are typically 3D modeled objects, representing products such as parts, assemblies of parts, or in some cases, assemblies of products. A "3D modeled object" means any object modeled by data enabling a 3D representation. The 3D representation enables viewing the part from any angle. For example, a 3D modeled object can be manipulated or rotated about any of its axes or about any axis of the screen on which the representation is displayed when it is 3D represented. This specifically excludes 2D icons that are not 3D modeled. The display of the 3D representation facilitates the design (i.e., improves the speed at which the designer statistically achieves the task). Since the design of the product is part of the manufacturing process, this leads to a speed-up of the manufacturing process in the industry.

[0034] The 3D modeled object may represent the shape of a product that will be manufactured in the real world after virtual design is completed using, for example, a CAD software solution or a CAD system. For example, it may be a (mechanical, for example) part or an assembly of parts (or equivalently, an assembly of parts, which may be regarded as a part itself from the perspective of a method, or the method may be applied independently to each part of the assembly), or more generally, any rigid body assembly (such as a moving mechanism), etc. The CAD software solution enables the design of products in various unlimited industrial fields, including aerospace, architecture, construction, consumer goods, high-tech equipment, industrial equipment, transportation, marine, and / or the production or transportation of offshore oil / gas. The 3D modeled object designed by the method can thus be part of a land vehicle (including, for example, automobiles and light truck equipment, racing cars, motorcycles, trucks and motor equipment, trucks and buses, trains), part of an aerial vehicle (including, for example, airframe equipment, aerospace equipment, propulsion equipment, defense products, aircraft, space equipment), part of a naval vehicle (including, for example, naval equipment, commercial ships, marine equipment, yachts and workboats, marine equipment), general mechanical parts (including, for example, industrial manufacturing machinery, heavy moving machinery or equipment, installed equipment, industrial equipment products, processed metal products, tire manufacturing products), electromechanical or electronic parts (including, for example, household appliances, security and / or control and / or instrumentation products, computing and communication equipment, semiconductors, medical equipment and devices), consumer goods (including, for example, furniture, household and gardening products, leisure products, fashion products, hard goods retail store products, soft goods retail store products), packaging (including, for example, food and beverage and tobacco, beauty and personal care, household product packaging), etc., and can represent any industrial product that may be a mechanical part.

[0035] By PLM system we mean a system adapted to manage modeled objects that represent physically manufactured products (or products to be manufactured). In a PLM system, the modeled objects are thus defined by data suitable for the manufacture of the physical objects. These may typically be dimensional and / or tolerance values. For the correct manufacture of the objects, it is certainly good to have such values.

[0036] CAM solutions refer to solutions, hardware and software, for managing a product's manufacturing data. Manufacturing data typically includes data about the product to be manufactured, the manufacturing process, and the resources required. CAM solutions are used to plan and optimize the entire manufacturing process of a product. For example, they can provide CAM users with information about the feasibility, duration of the manufacturing process, or the number of resources, such as robots that may be used in a particular step of the manufacturing process, thereby enabling management or necessary investment decisions. CAM is a follow-on process to CAD and potentially CAE processes. Such CAM solutions are offered by Dassault Systèmes under the DELMIA® trademark.

[0037] A CAE solution refers to hardware and software suitable for analyzing the physical behavior of a modeled object. A well-known and widely used CAE technique is the finite element method (FEM), which typically divides a modeled object into elements and uses equations to calculate and simulate its physical behavior. Such CAE solutions are offered by Dassault Systèmes under the SIMULIA® trademark. Another growing CAE technique is modeling and analyzing complex systems consisting of multiple components from different disciplines of physics, even without CAD geometry. CAE solutions enable simulation, optimization, refinement, validation, and manufacturing of products. Such CAE solutions are offered by Dassault Systèmes under the DYMOLA® trademark.

[0038] PDM stands for Product Data Management. A PDM solution refers to the hardware and software adapted to manage all types of data related to a specific product. A PDM solution can be used by all stakeholders involved in the product life cycle. It mainly includes not only engineers, but also project managers, finance staff, sales staff, buyers, etc. A PDM solution is generally based on a product-oriented database. This enables each stakeholder to share consistent data about the product, thus preventing them from using divergent data. Such a PDM solution is provided by Dassault Systèmes under the trademark ENOVIA (registered trademark).

[0039] Figure 24 is a diagram showing an example of the GUI of the system when the system is a CAD system.

[0040] The GUI 2100 may be a typical CAD-like interface having standard menu bars 2110, 2120, and bottom and side toolbars 2140, 2150. Such menu bars and toolbars include a series of selectable icons for the user, and each icon is associated with one or more operations or functions as known in the art. Some of these icons are associated with software tools adapted for editing and / or working on the 3D modeled object 2000 displayed on the GUI 2100. The software tools may be grouped into workbenches. Each workbench constitutes a subset of software tools. In particular, one of the workbenches is an editing workbench suitable for editing the geometric features of the modeled product 2000. In operation, the designer can, for example, pre-select a part of the object 2000 to start an operation (e.g., change dimensions, color, etc.) or edit geometric constraints by selecting an appropriate icon. For example, typical CAD operations are punching or folding modeling of 3D modeled objects displayed on the screen. The GUI may display, for example, data 2500 related to the displayed product 2000. In the illustrated example, the data 2500 displayed as a "feature tree" and their 3D representations 2000 are related to a brake assembly including a brake caliper and a disk. The GUI may further display various types of graphic tools 2130, 2070, 2080, for example, to facilitate the 3D orientation of the object, to trigger a simulation of the operation of the edited product, or to render various attributes of the displayed product 2000. The cursor 2060 may be controlled by a haptic device to enable the user to interact with the graphic tools.

[0041] FIG. 25 shows an example of a system, where the system is a client computer system, for example, the user's workstation.

[0042] The client computer of this example comprises a central processing unit (CPU) 1010 connected to an internal communication BUS 1000 and a random access memory (RAM) 1070 also connected to the BUS. The client computer further comprises a graphical processing unit (GPU) 1110 associated with a video random access memory 1100 connected to the BUS. The video RAM 11000 is also known in the art as a frame buffer. A mass storage controller 1020 manages access to mass memory devices such as a hard drive 1030. Mass memory devices suitable for contiguously embodying computer program instructions and data include all forms of non-volatile memory, including, by way of example, semiconductor memory devices such as EPROMs, EEPROMs, and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks 1040. Any of the foregoing may be supplemented by or incorporated into specially designed ASICs (application-specific integrated circuits). A network adapter 1050 manages access to a network 1060. The client computer may also include a cursor control device, a keyboard, or other haptic device 1090. A cursor control device is used in the client computer to allow a user to selectively position a cursor at any desired location on the display 1080. Furthermore, the cursor control device allows a user to select various commands and input control signals. The cursor control device includes a number of signal generating devices for inputting control signals to the system. Typically, the cursor control device may be a mouse, and the buttons on the mouse are used to generate the signals. Alternatively or additionally, the client computer system may comprise a sensitive pad and / or a sensitive screen.

[0043] A computer program may include instructions executable by a computer, and the instructions include means for causing the system to execute a method. The program may be recordable on any data storage medium including the system's memory. The program may be implemented, for example, in digital electronic circuitry, or in computer hardware, firmware, software, or combinations thereof. The program may be implemented as a tangible product embodied in a machine-readable storage device for execution by an apparatus, such as a programmable processor. Method steps may be executed by a processor capable of executing a program of instructions for performing the functions of the method by operating on input data and generating an output. Accordingly, the processor may be programmable to receive data and instructions from a data storage system, at least one input device, and at least one output device, and may be coupled. An application program may be implemented in a high-level procedural programming language or an object-oriented programming language, or optionally in assembly language or machine language. In any case, the language may be a compiled language or an interpreted language. The program may be a full installation program or an update program. Applying the program on the system results in obtaining instructions for executing the method in any case.

[0044] "Designing a 3D modeled object" means any operation or series of operations that is at least part of the process of refining a 3D modeled object. Thus, the method may include creating a mesh of the 3D modeled object, and for example, the mesh may be obtained by using 3D scanning technology to obtain a relevant point cloud of a physical prototype.

[0045] The method may be included in a manufacturing process, which may include, after performing the method, manufacturing a physical product corresponding to the modeled object. In either case, the modeled object designed by the method may represent a manufactured object. The manufactured object may be a product, such as a part, or a collection of parts. Because the method improves the design of the modeled object, the method also improves the manufacturing of the product, thus increasing the productivity of the manufacturing process.

[0046] Referring to the flowchart of FIG. 5, in step S10, a mesh of a 3D modeled object is provided. The mesh has elements having vertices, edges connecting the vertices, and faces formed from at least three vertices. The faces are polygons, e.g., triangles. The mesh represents the shape of a prototype. The prototype is typically a mockup of a product to be manufactured. This product may belong to a variety of unlimited industrial fields. Examples of industrial fields are presented herein. In the following discussion, the manufactured product is an automobile body, with the understanding that the present invention is applicable to other industrial fields.

[0047] The mesh may be obtained from a laser scan of the prototype. A point cloud is thus obtained, which is then meshed. Any technique that allows a physical object to be represented in a point cloud may be used. Similarly, any technique that allows a point cloud to be meshed may be used. The mesh provided represents the shape of the product to be designed.

[0048] The designed 3D modeled object is composed of a wireframe (or wire - frame) based on at least one character line. This means that the physical prototype from which the provided mesh is obtained is also composed of these character lines. The wireframe constitutes the most important lines on which the product surface is based. A wireframe is a representation of a three - dimensional (3D) physical object used in 3D computer graphics. The representation can be a visual one. A wireframe is composed of the edges of a physical object where two surfaces meet. A wireframe is typically a 3D wireframe computer model, i.e., a 3D modeled object. A wireframe may be used for the construction and manipulation of solids and solid surfaces.

[0049] The wireframe is based on at least one character line. A character line is a line that characterizes a product. The product is a physical or multi - physics system, that is, the product has behavior with / within its environment, and the character line contributes to the behavior of the product in the real world. The behavior of the product can be modeled via at least one (i.e., one or more) physical models from at least one physical domain (e.g., one of the examples of the physical domains above). This means that the character line affects the physical model and the results of the physical model depend (partially or fully) on one or more character lines of the product. The real - world system or physical entity may be an electronic product, an electrical product, a mechanical product, an electromechanical product, a system of particles or an electromagnetic product. The physical model may be an electronic model, an electrical model, a mechanical model, a statistical model, a particle model, a hydrological model, a quantum model, a geological model, an astronomical model, a chemical model, an electromagnetic model, or a fluid model. The physical model may be a multi - physics model, all of which represent any physical entity having subsystems related together by physical or logical relationships in the real world, for example, mechanical relationships (e.g., corresponding to connections for transmitting force or movement), electrical relationships (e.g., corresponding to electrical connections in a circuit), hydrological relationships (e.g., corresponding to the behavior of transmitting fluids), logical relationships (e.g., corresponding to the flow of information), fluid relationships (e.g., corresponding to the flow of fluids), chemical relationships and / or electromagnetic relationships, etc. "Multi - physics" means that the physical or logical relationships of the multi - physics system may belong to multiple physical domains (although this is not essential). The physics or multi - physics system may correspond to an (industrial) product manufactured in the real world after the completion of the virtual design according to the present invention.

[0050] Thus, one or more strings of the wireframe can contribute to one or more fields of physics such as electronics, electricity, mechanics, electrodynamics, fluid dynamics, gravitational mechanics, statistical mechanics, wave physics, statistical physics, elementary particle systems, hydraulic systems, quantum physics, geophysics, astrophysics, chemistry, aerospace, geomagnetism, electromagnetism, plasma physics, etc.

[0051] As described above, the designed 3D modeled object has a wireframe based on at least one string. Thus, the wireframe may be used in the simulation process of the product. FIGS. 1-4 are examples of simulations of the physical behavior of an automobile body, where the wireframe of the automobile body constitutes the character lines that affect the simulated physical system or multiphysics system (i.e., the automobile body).

[0052] Thus, the provided mesh constitutes information regarding the wireframe and one or more character lines, but this information must be extracted from the mesh.

[0053] The provided mesh may be a clean mesh. A clean mesh provides a closed envelope (e.g., no holes in the mesh) and / or a non-overlapping, non-overlapping manifold envelope with no overlapping vertices. If the mesh is not clean, the mesh may be repaired automatically by the user's operation or using known methods for repairing the mesh.

[0054] FIG. 7 is an explanatory diagram of a clean mesh. In this example, the faces of the mesh are rendered with shading applied only for illustration purposes. Since there are no holes in the surface of the mesh, the mesh is clean.

[0055] Figure 8 is a representation of the mesh from Figure 7 using image filtering techniques that are useful for assessing mesh quality. A noisy mesh (with less precision regarding the location of each vertex) or a coarse mesh (with larger triangles) will exhibit a mixed gray image instead of a pure black and white image. For example, region 80, represented as gray, exhibits noise compared to other regions of the mesh.

[0056] Next, in S20, a segmentation of the provided mesh is calculated. Thus, a segmented mesh is obtained. Mesh segmentation is the process of decomposing a mesh into smaller, more meaningful sub-meshes. The sub-meshes are called regions, and the regions become part of the provided mesh. As a result of the segmentation, at least two regions are obtained. The regions are distinct regions, meaning that no face of the mesh belongs to two different regions. It should be understood that two regions may have common vertices and common edges, i.e., common edges connecting the common vertices. The common edges between the two regions form a boundary polyline. Thus, as a result of the segmentation, at least one boundary polyline is obtained.

[0057] Different segmentation techniques may be applied. The goal of segmentation is to find the character lines of a given mesh, and the selected segmentation technique preferably makes it possible to extract from the lines of the mesh the lines that belong to the outer boundary of the mesh and / or the longest and most straitened lines. The longest and most straitened lines may form the streamlines of the mesh.

[0058] In the embodiment, the calculation of the segmentation of the provided mesh has the detection of the isocurves of the provided mesh and the evolution of the curvature. The isocurves are isolines that can well understand the curvature of the mesh. The isoline is a line where the characteristic value of the surface of the mesh is constant. Since the isocurve is a line where the curvature value of the surface of the mesh is constant, the isocurve can effectively show and visualize the change of the curvature. When the curvature value is high, the isocurve is the most tense line in the mesh and represents the character line.

[0059] In an exemplary embodiment, one of the techniques for segmenting a mesh is performed by calculating the normal clustering of the provided mesh. FIG. 9 is an explanatory diagram of the normal clustering process. Each face of the mesh is associated with a normal. This can be performed as known in the art. The point cloud is associated with a voxel grid structure. The voxel grid structure divides the region into several regions that follow the same normal direction. The vertices of the faces whose normal directions are close to the normal direction of the voxel are associated with the voxel. The number of generated regions depends on the level of clustering. The higher the number of voxels in the grid, the higher the level of clustering.

[0060] FIGS. 10 to 12 show examples of segmentation calculated by calculating normal clustering for the clean mesh of FIG. 7. In FIG. 10, since the level of clustering is low, the number of obtained zones is also low. In FIG. 11, the level of clustering is high and more regions are identified. FIG. 12 shows the clustering with the maximum value of the regions identified on the provided mesh. The regions obtained in FIG. 10 are subdivided into one or more sub-regions in FIG. 11 and are similarly subdivided between FIGS. 11 and 12. The more the mesh is subdivided, the more the number of boundary polylines between the regions becomes.

[0061] The user may define the optimization level of clustering, depending on whether the map is highly or vaguely segmented. In this step of the method, it is advantageous to not set the clustering level too high, as it reduces the impact on mesh quality. If the mesh is noisy, segmentation may be kept low so that mesh defects do not trigger the detection and generation of areas that do not contain the target information, thereby disrupting the identification of boundary polylines that may represent future character lines. Regular changes in normal direction affect segmentation. For example, a smooth sphere will be segmented with the normal vector because it covers the entire space. As a result, sharp and smooth edges will not be reproduced with low-level clustering. A good level of clustering is one at which character lines are reproduced. The user can edit the clustering level to tailor the results to their purpose. In fact, several levels of clustering are possible depending on the purpose of 3D modeling. Sharp modeling, where the model is rebuilt as sharp without fillets, allows fillets to be added later. Smooth modeling where fillet areas are included in the segmentation and fillets are reconstructed. Class A oriented segmentation where not only fillet regions but also curvature acceleration regions are separated and included in the segmentation.

[0062] Therefore, users want to control and validate the level of clustering and fine-tune the segmentation results according to their expectations.

[0063] In an exemplary embodiment, segmenting the provided mesh may include detecting at least one master boundary polyline. A master boundary polyline is a boundary polyline that has a high curvature compared to other polylines of the provided mesh. A mesh may be composed of one or more master boundary polylines. A boundary polyline may be obtained for each region of the provided mesh with a high or highest curvature value (e.g., curvature extrema).

[0064] Next, an example of segmenting a provided mesh (step S20) will be discussed with reference to FIG. 6. In this example, segmentation is performed by first calculating a contrast image of the provided mesh (S210). This contrast image is also called a contrast map. The purpose of the contrast image is to identify extrema in the curvature evolution of the provided mesh. Other techniques aimed at identifying extrema in the curvature evolution may also be used. Exemplarily, the image filtering process may use a contrast enhancement process on the image of the mesh. The intensity value of a pixel may be compared with the average intensity value of its neighbors. The difference values may be plotted on a grayscale ranging from white (0) to black (highest difference). Here, the normal of a triangle is compared with the normal of its average polygon neighbor, which is a polygon that shares at least one vertex with the polygon in question. The difference values may be plotted on a logarithmic grayscale ranging from white (identity normal = plane) to black (highest curvature).

[0065] In an example, the contrast image may be an adaptive map for analyzing the quality of the mesh. Areas of low quality may be extracted and isolated in this context for processing separately from the automated process. In this way, the identification of boundary polylines of areas of low quality in the mesh is improved.

[0066] Next, in S220, local segments are extracted from the calculated contrast-enhanced image. A local segment is a common edge between a black triangle and a gray triangle, or a common edge where the curvature derivative is maximized. The extracted local segments are connected to the longest possible polylines. These polylines may be augmented with new polylines to define adjacent lines. The new polylines that can define adjacent lines are selected so that the curvature derivative is maximized. All the obtained polylines form a polyline network. In an embodiment, the new polylines may be calculated as follows: once a polyline is obtained, it is propagated to another polyline or boundary in the direction normal to the curvature to assemble them. In this way, a closed region (or closed line) is obtained.

[0067] The provided mesh is then segmented by a polyline network (S230). Each closed wire encloses a set of triangles that define a sub-mesh. A triangle can belong to a single sub-mesh. The union of all sub-meshes corresponds to the initially provided mesh.

[0068] Next, in S240, the mesh segmentation is refined by applying regular clustering to each sub-mesh resulting from S230. With reference to Figures 10 to 12, each representation forms a map of the computed segmentation. With reference to Figures 10 to 12, each representation forms a map of the computed segmentation. Each region is rendered in a different color. It should be understood that the colors are for illustration only and the markings may not be visible to the user.

[0069] Returning to S250 of Figure 6, a map of the segmented mesh is calculated, or if not, a map of the mesh provided from the refined segmentation. The map therefore consists of at least two distinct regions and at least one boundary polyline between the at least two distinct regions. The term map refers to a data scheme, where: · Triangles belonging to the area are marked as belonging to the area. · Similarly, sides belonging to any boundary polyline are marked as belonging to this boundary polyline and refer to adjacent areas. · Vertices belonging to multiple boundary polylines are marked as belonging to this boundary polyline and refer to the combined polyline.

[0070] In this map, there are no duplicates, and the sides (respectively vertices) are common and shared between adjacent areas (respectively polylines).

[0071] Still, referring to the segmentation step S20, as already discussed, segmentation may reveal too many areas (depending on the level of clustering). This may reduce the identification efficiency of character lines as the number of boundary polylines increases. In an embodiment, two phases in the segmentation may be distinguished. The first aspect consists of calculating a first segmentation, and thus at least two first areas can be obtained from the provided mesh and at least one first boundary polyline between at least two different areas. At least one first boundary polyline may be called the master boundary polyline of the mesh. The second aspect may include calculating a second segmentation that is performed at a higher optimization level compared to the first segmentation. As a result of the second segmentation, at least two second areas are obtained from the provided mesh, and these at least two second areas belong to at least one of the at least two first areas, and at least one second boundary polyline between the at least two second areas is obtained. At least one second boundary polyline may be called the slave boundary polyline of the mesh.

[0072] An example of two phases in segmentation will now be discussed with reference to FIG. 6. As a result of this first phase (S230), at least two first regions and at least one first boundary polyline between the at least two first regions are obtained from the provided mesh. This first segmentation may be performed as described above. The one or more first boundary polylines are referred to as master boundary polylines of the mesh. The master boundary polyline is considered to be most representative of the character lines of the product.

[0073] After the first phase, a second segmentation is performed (S240). The second segmentation is performed at a higher optimization level compared to the first segmentation. As a result of the second segmentation, at least two second regions are obtained from the provided mesh. These at least two second regions belong to at least one of the at least two first regions. Nevertheless, at least one second boundary polyline between the at least two second regions is obtained. One or more further boundary polylines are found. These further boundary polylines are called slave boundary polylines of the mesh.

[0074] As an example, the designer can trigger the division or combination of regions. The user intervenes only when the automatic segmentation process fails to discover some character lines. This occurs when the mesh is noisy. The user can select the region to be divided. The curvature map is used to automatically divide the regions following the curvature map. The user can select at least two regions to be combined or extended, and the selected regions are combined. Notably, the user is assisted by the system during the process of dividing the regions. The curvature map may be a second-order curvature map and can identify the portions of the mesh with significant curvature. The curvature map is a curvature texture from a high-poly mesh that yields accurate results. The calculation of the map is performed as known in the art. Thus, the user can use the curvature map of the provided mesh to select one of the regions and divide the selected region, and / or the user can select at least two regions and combine them into one region.

[0075] Figures 18 and 19 illustrate the division and combination of regions. Regions 1800 and 1802 in Figure 18 are combined to form the new region 1900 in Figure 19. Regions 1810 and 1830 are divided using the curvature map, and the newly discovered regions are merged with regions 1810 and 1820 to form the new regions 1910 and 1920. A part of the divided region 1830 is combined with regions 1810 and 1820.

[0076] Refer to S30 in FIG. 5. In this step of the method, the wireframe of the provided mesh object is well reproduced. The character lines of the provided mesh are poly-lines that follow sharp and smooth edges. However, this poly-line cannot be directly utilized by product designers or CAD systems that execute this method. Therefore, the boundary poly-line is converted into a smooth curve. The conversion involves placing control points on the wireframe to control the deviation with respect to the curve and the skeleton. Points can be added until the curve is positioned within the acceptable range from the mesh. The curve may be created with as few points as possible in order to obtain good-quality porcupines along each curve. It is possible that the mathematical descriptions of the created curves may differ. If the quality of the smooth curve is dominant, the number of segments and / or the number of control points and / or the degree of the smooth curve may be minimized. As a result, the surfaces based on these curves will be tighter. This improves the design and the character lines of the object for reproducing the surface of the prototype. The local variation of the curve is minimized and the viewing direction does not affect the result. Only the quality of the segmented map can affect the resulting curve.

[0077] Therefore, the conversion (S30) involves the calculation of smooth curves for each boundary line calculated previously (S20). The smooth curves represent the character lines of the digitized prototype. The conversion of the set of points into smooth curves is performed as known in the art. The placement of points on the calculated smooth curve may be carried out to minimize the deviation with respect to the smooth curve and the provided mesh. This improves the respect for the acceptable range of the wireframe with respect to the shape of the prototype. Additionally, or alternatively, the number of control points is minimized. This improves the quality of the porcupine along each smooth curve. Additionally or alternatively, the degree of the smooth curve is minimized. This contributes to the improvement of the quality of the smooth curve.

[0078] The characteristics of the smooth curve can be selected by the user or by default. Different classes of surfaces can be selected to be laid on the computed smooth curve. Class A surfaces can be supported by character lines and mathematically defined as surfaces with G2 or G3 curvature continuity. Curvature continuity means continuity between surfaces that share the same boundary. Curvature continuity means that every point on each surface along a common boundary has the same radius of curvature, and therefore there are no physical or visible joints as the boundaries are blended. Class A surfaces have a continuous curvature without unwanted undulations.

[0079] Class A surfaces are primarily used in the automotive industry for all visible exterior surfaces (e.g., body panels, bumpers, grilles, lights, etc.) and all visible surfaces of all touch-and-feel parts in the interior (e.g., dashboards, seats, door pads, etc.). This also includes engine bay covers, mud flaps, trunk panels, and carpets. Class A surfaces are also used in the high-tech industry and consumer goods. In product design, Class A surfaces can be applied to injection-molded industrial appliances, home appliances, plastic packaging defined by highly organic surfaces, and housings for toys and furniture. In the aerospace industry, Class A surfaces are also used in interior design for vents and light bezels, interior storage racks in roofs, and seating and cockpit areas.

[0080] Class B and C surfaces can also be used. These surfaces have lower quality and a lower level of continuity between adjacent surfaces. Any surface supported by a character line mathematically has G0 or G1 curvature continuity.

[0081] For G0 continuity, the distance between each point on the edge of two adjacent patches must obey the following limits: Class A: 0.01 mm or less. Class B: 0.02 mm or less. · For Class C: 0.05 mm or less.

[0082] In G1 continuity (also called tangential continuity), the angle between the tangents to the surfaces of the edges of two adjacent patches must follow the following limits. · For Class A: within 6 minutes (0.1°). · For Class B: within 12 minutes (0.2°). · For Class C: within 30 minutes (0.5°). In G2 continuity (also called curvature continuity), the control parameter is the curvature of the patch along its contour. The curvature must follow the following limit values. · The surfaces of Class A must have a curvature such that the contours of two adjacent patches match at least every 100 mm.

[0083] There are no rules applicable to Classes B and C. Maximum curvature or inflection points are only permitted along the patch contours of Class A surfaces.

[0084] Figure 20 is a representation in which the boundary polylines of the mesh in Figure 19 are converted into smooth curves. The automatically generated smooth curves are taut without wobbling so as to be a good representation of the character lines of the provided mesh. Figure 21 is a porcupine representation of the character lines from the automatic generation. The set of smooth curves forms the wireframe of the 3D modeling objects that make up the character lines.

[0085] Next, in S40, a network of at least one character line is calculated. The term network means that the character lines forming the wireframe are interconnected such that each end point of the smooth curve is connected to at least one other smooth curve. The network of connected smooth curves (i.e., the network of character lines) forms the wireframe of the 3D modeling object. The operation of connecting the end points of the smooth curves is called snapping.

[0086] In an exemplary embodiment, the construction (computing) of the network may depend on the definition of the master curve and the slave curve. Depending on the definition of the master curve and the slave curve may be performed as discussed with reference to two stages in the segmentation process. The slave curve is obtained by calculating a smooth curve of the slave boundary polyline. The master curve is obtained by calculating a smooth curve of the master boundary polyline. The ends of the slave curve are finely adjusted to be located on the master curve and are connected to the master curve. For example, when the master curve is deformed, the ends of the slave curve follow. Thus, at least one first boundary polyline issued from the first segmentation is preferred. This improves the preservability of the character lines forming the wireframe of the provided three-dimensional mesh.

[0087] In an example, a set of master smooth curves that are the longest smooth curves is created. The smooth curves of the master set are smooth curves to which other smooth curves are connected when at least one end point of the smooth curve is not connected to other smooth curves. When smooth curves must be connected, the closest smooth curve among the smooth curves of the master set may be selected. A distance, such as the Euclidean distance or the geodesic distance, may be used to select the closest smooth curve.

[0088] Move the end points of the connected smooth curves to the minimum distance points on the master curve.

[0089] In one embodiment, the master set of smooth curves includes a wireframe master smooth curve. The master smooth curve is obtained after converting the mesh master boundary polyline. The master smooth curve is considered to be the most representative of the product's character lines. A first iteration is performed aimed at connecting the curves of this master set. Within this set, the master of the two curves for each connection is the longest curve. A second iteration is then performed using the slave smooth curves (obtained after converting the slave boundary polyline to a smooth curve). Slave curves with at least one endpoint not connected to a slave smooth curve are preferably snapped to one of the master smooth curves. The closest master smooth curve may be selected among the master smooth curves. Distance, e.g., Euclidean distance or geodesic distance, may be used to select the closest smooth curve. If any slave smooth curves remain unconnected after this second iteration, a process similar to that described above within the slave smooth curve set may be applied.

[0090] Therefore, the system automatically calculates a master curve onto which other curves may rest. The aim is to favour long taut curves. In this context, the creation of a long master curve may be preceded by the creation of non-master curves snapped to the master curve. Again, the first boundary polyline issued from the first segmentation (now converted to a master curve) is preferred.

[0091] In the example, the slave curve's snap points can be moved along the master smooth curve with a simple edit. It should be noted that designers may want to have a manual version of the network to control, adjust, and fine-tune the network.

[0092] Figure 22 shows an example where none of the three curves (Curve 1, Curve 2, Curve 3) is the master curve. The three curves are interconnected at their respective end points 2200 with minimal continuity (G0) at this point.

[0093] FIG. 23 shows an example where curve 2 is the master. The end point of the slave curve 1 is snapped to the master curve 2. Maintain the perfect continuity between the two parts of curve 2.

[0094] The wireframe of the 3D modeled object becomes available for further design operations. In an exemplary embodiment, a collection of surfaces is calculated based on the wireframe of the 3D modeled object. Further, the system may calculate continuity constraints for the 3D modeled object. To generate a surface from the wireframe, continuity (e.g., G0: simple continuity, or G1: tangent continuity) may be associated with each common boundary curve between two adjacent zones respected by the generated surface. Continuity is provided to the user after a geometric analysis of the simultaneous curves within the nodes of the network. The user may be provided with the possibility to degrade the provided continuity, for example, from G1 to G0.

[0095] An example of calculating a segmentation map obtained from segmentation (S20) will be described with reference to FIGS. 13 to 17. FIG. 13 represents the character lines of a digitized prototype (mock-up). FIG. 14 shows the master curves on the detected prototype. The first segmentation (S230) is performed to obtain external and internal boundary polylines and other major character lines. These lines are actually the longest and most stretched lines. FIG. 15 is a diagram showing the boundary polylines extracted from the mesh. FIG. 16 shows the remaining character lines 1600, 1610, 1620, 1630, 1640 of the extracted mesh. These remaining character lines are slave boundary polylines. These slave polylines represent important details of the mesh, are local polylines, and are actually connected to the master polylines. The second segmentation is performed at a higher level of clustering, leading to a refinement of the region detection as a result of the first segmentation.

Claims

1. A computer-implemented method for designing a 3D modeling object of a physical prototype of a product, wherein the 3D modeling object is composed of a wireframe based on at least one character line, and the method includes the following steps executed by at least one computer providing a mesh of the 3D modeling object (step S10); calculating a segmentation of the provided mesh (step S20), the step of obtaining at least two regions from the provided mesh and at least one boundary polyline between the at least two regions; converting each of at least one boundary polyline in at least one character line (step S30); calculating a network of at least one character line (step S40), the network of at least one character line forming a wireframe of the 3D modeling object and having, wherein the segmentation by the calculation is calculating a first segmentation and obtaining at least two first regions from the provided mesh and at least one master boundary polyline between the at least two different regions; calculating a second segmentation executed at a higher optimization level compared to the first segmentation and obtaining the following; at least two second regions from the provided mesh, wherein the at least two second regions belong to at least one of the at least two first regions, at least two second regions, and at least one slave boundary polyline between the at least two second regions A method having.

2. In the computer-implemented method, the step of calculating the network includes selecting at least one master boundary polyline; connecting at least one slave boundary polyline to the selected at least one master boundary polyline by performing a snap operation; and favoring at least one master boundary polyline issued from the first segmentation The method according to claim 1, comprising.

3. The step of calculating the segmentation of the provided mesh is Detecting at least one master boundary polyline of the provided mesh, wherein the master boundary polyline is a polyline having a high curvature compared to other polylines of the mesh The method according to any one of claims 1 or 2, having the above.

4. The detection of the at least one master boundary polyline is Calculating a contrast map of the mesh by applying an image filtering process to the mesh, and Calculating at least one master boundary polyline by concatenating the segments obtained as a result of the calculation The method according to claim 3, having the above.

5. The step of calculating the segmentation of the provided mesh further includes the step of performing refined segmentation by calculating the normal clustering of each region of the mesh The method according to any one of claims 1 to 4.

6. After calculating the segmentation of the provided mesh, Selecting one of at least two regions and dividing the selected region using the curvature map of the provided mesh, and / or Selecting at least two regions and combining them into one region The method according to any one of claims 1 to 5, having the above.

7. The transformation has the step of calculating a smooth curve for each of the at least one boundary polyline The method according to claim 6.

8. Placing control points of the smooth curve to minimize the following The deviation with respect to the smooth curve and the provided mesh, and / or The number of control points, and / or The degree of the smooth curve The method according to claim 7, having the above.

9. Further having the step of calculating the assembly of the surface based on the wireframe and calculating the continuity constraint of the 3D modeling object The method according to any one of claims 1 to 8.

10. A computer program having instructions for executing the method according to any one of claims 1 to 9.

11. A computer-readable storage medium recording the computer program according to claim 10.

12. A system having a processor coupled to a memory and a graphical user interface, wherein the computer program of claim 10 is recorded in the memory.

Citation Information

Patent Citations

  • Apparatus, method and program for segmentation of analytic curved surface and recording medium

    JP2007241996A

  • System, method and program for recognizing euclid symmetry

    JP2010014541A

  • Creating surface from plural 3D curves

    JP2013114694A

  • Designing 3D modeled object

    JP2013235583A