Mesh generation system, computer implementation method, and computer program

By using the first generation model based on machine learning, a grid generation program that adapts to complex shapes is generated, which solves the problem that grid generation in the prior art does not adapt to object shapes, and achieves high-precision and high-efficiency grid generation.

JP2025073470APending Publication Date: 2025-05-13THE RITSUMEIKAN TRUST +1

Patent Information

Application Number
JP2023184287
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-10-26
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

In the prior art, when generating a grid, it is difficult to adapt to the complex shape of the object, resulting in the generated grid being unsuitable.

Method used

Using the first generation model based on machine learning, a grid generation program is generated by inputting the shape data of the object, and the program is executed to generate the grid. This model has been trained to automatically generate highly adaptable mesh generation programs based on the input shape data.

Benefits of technology

It realizes automatic generation of highly adaptable meshes based on the object shape, improving the accuracy and efficiency of mesh generation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025073470000001_ABST
    Figure 2025073470000001_ABST
Patent Text Reader

Abstract

To enable mesh generation according to the shape or the like of an object.SOLUTION: The disclosed system is a mesh generation system for an object having a shape, which includes one or more processors that execute processing for generating a program for generating a mesh of the object using a first generation model based on input data including shape data of the object. The first generation model is a trained model that has been machine-learned to generate and output the program when the input data is input. The processor generates a mesh of the object by executing the program output from the first generation model.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to a mesh generation system, a computer-implemented method, and a computer program product. [Background technology]

[0002] Patent Document 1 discloses a method for analyzing various objects by applying the finite element method. It discloses automatic domain division (mesh generation) of the shape of an object. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 7-254004 Summary of the Invention

[0004] Even if a mesh is generated by applying a predetermined algorithm for automatic mesh generation, an appropriate mesh may not be generated depending on the shape of the object for which mesh generation is to be performed.

[0005] It is preferable to use an algorithm for generating a mesh according to the shape of an object, rather than using a predetermined algorithm. Therefore, a mesh generation system capable of generating a mesh according to the shape of an object is desired.

[0006] One aspect of the present disclosure is a system. The disclosed system is a mesh generation system for an object having a shape, and includes one or more processors that execute a process of generating a program for generating a mesh of the object using a first generation model based on input data including shape data of the object, the first generation model being a trained model that has been machine-learned to generate and output the program when the input data is input, and the processor generates a mesh of the object by executing the program output from the first generation model.

[0007] Another aspect of the present disclosure is a method. The disclosed method is a computer-implemented method executed by a computer for generating a mesh of an object having a shape, comprising: executing a process of generating a program for generating a mesh of the object using a first generative model based on input data including shape data of the object, and generating the mesh of the object by executing the program output from the first generative model, the first generative model being a trained model that has been machine-learned to generate and output the program when the input data is input.

[0008] Another aspect of the present disclosure is a computer program, which causes a computer to execute a process of generating a program for generating a mesh of an object having a shape using a first generation model based on input data including shape data of the object, and a process of generating a mesh of the object by executing the program output from the first generation model, and the first generation model is a trained model that has been machine-learned to generate and output the program when the input data is input.

[0009] Further details will be described in the following embodiments. [Brief description of the drawings]

[0010] [Figure 1] FIG. 1 is a hardware configuration diagram of a mesh generation system. [Diagram 2] FIG. 2 is a diagram showing the processing contents of the mesh generation system. [Diagram 3] FIG. 3 is a diagram showing method group data. [Figure 4] FIG. 4 is a diagram illustrating an example of a basic configuration of a mesh generation script. [Diagram 5] FIG. 5 is a diagram illustrating an example of a basic configuration of a mesh evaluation program. [Figure 6] FIG. 6 is a diagram showing an example of data of the mesh evaluation reference value. [Figure 7] FIG. 7 is a diagram showing a first example of a mesh generation system configured using a large-scale language model. [Figure 8] FIG. 8 is a diagram showing the first generative model and the second generative model. [Figure 9] FIG. 9 is a diagram showing a second example of a mesh generation system configured using a large-scale language model. [Figure 10] FIG. 10 is a diagram showing a third example of a mesh generation system configured using a large-scale language model. [Figure 11] FIG. 11 is a diagram showing an example of mesh generation. [Figure 12] FIG. 12 is a diagram illustrating an example of mesh generation. [Figure 13] FIG. 13 is a diagram illustrating an example of mesh generation. [Figure 14] FIG. 14 is a diagram showing an example of the generated mesh generation script. [Figure 15] FIG. 15 is a diagram showing a C-shaped electromagnet core as the target object. [Figure 16] FIG. 16 is a diagram illustrating an example of mesh generation. [Figure 17] FIG. 17 is a diagram showing a motor as an object. [Figure 18] FIG. 18 is a diagram illustrating an example of mesh generation. [Figure 19] FIG. 19 is a diagram illustrating an example of mesh generation. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] <1. Overview of Mesh Generation System, Computer Implementation Method, and Computer Program>

[0012] (1) The system according to the embodiment may be a mesh generation system for an object having a shape. The mesh generation system may include one or more processors that execute a process of generating a program for generating a mesh of the object using a first generation model based on input data including shape data of the object. The first generation model may be a trained model that has been machine-learned to generate and output the program when the input data is input. The processor may generate a mesh of the object by executing the program output from the first generation model. In this case, a program according to the shape of the object can be generated using the trained model. Then, mesh generation can be performed by executing the generated program.

[0013] (2) The one or more processors may perform shape recognition of the object based on the shape data. The input data input to the first generative model may include shape information obtained by executing the shape recognition. The first generative model is preferably machine-learned to generate and output the program when the input data including the shape information is input. In this case, the program can also be generated using the shape information obtained by shape recognition.

[0014] (3) The system may further include a storage device having generation method group data including a plurality of generation methods. Each of the plurality of generation methods may be a program module used to generate a mesh of the object. It is preferable that the first generative model is machine-learned to generate and output the program configured to have one or more program modules included in the generation method group data when the input data is input. In this case, the program can be generated using the generation method group data.

[0015] (4) The generation method group data may include a first group data including a plurality of first program modules for preprocessing the shape data, and a second group data including a plurality of second program modules for executing a mesh generation algorithm. In this case, a program for executing the preprocessing and the mesh generation algorithm can be easily generated.

[0016] It is preferable that the first generative model is machine-learned to generate and output the program including one or more program modules included in the first group of data and one or more program modules included in the second group of data when the input data is input. In this case, the first generative model can easily generate a program that executes preprocessing and a mesh generation algorithm.

[0017] (5) The generation method group data may include a two-dimensional data group having a plurality of two-dimensional program modules that execute a mesh generation algorithm for two-dimensional shape data, and a three-dimensional data group having a plurality of three-dimensional program modules that execute a mesh generation algorithm for three-dimensional shape data. In this case, programs corresponding to the two-dimensional shape data and the three-dimensional shape data can be easily generated.

[0018] For example, when the input data in which the shape data is the two-dimensional shape data is input, the first generative model may generate and output the program configured with one or more program modules included in the two-dimensional data group, or when the input data in which the shape data is the three-dimensional shape data is input, the first generative model may generate and output the program configured with one or more program modules included in the three-dimensional data group.

[0019] (6) It is preferable that the input data further includes at least one of data related to the object other than the shape data and instruction data related to the mesh generation. In this case, a more appropriate program can be generated. The data related to the object other than the shape data may include a sentence describing the object in a natural language.

[0020] (7) It is preferable that the processor executes a process of evaluating the generated mesh according to an evaluation criterion, and executes re-learning of the first generative model using the program used to generate the evaluated mesh and the input data used to generate the program based on the result of the evaluation of the mesh. In this case, re-learning of the first generative model is possible based on the result of the evaluation.

[0021] (8) The processor may execute a process of generating an evaluation criterion for the generated mesh by a second generative model. The second generative model is preferably machine-learned to generate and output the evaluation criterion when the input data or mesh data representing the generated mesh is input.

[0022] (9) The system may further include a storage device having evaluation method group data including a plurality of evaluation methods. It is preferable that the second generative model is machine-learned to generate and output the evaluation criterion including one or more evaluation methods included in the evaluation method group data when the input data or mesh data indicating the generated mesh is input.

[0023] (10) A method according to an embodiment may be a computer-implemented method executed by a computer for generating a mesh of an object having a shape. The computer-implemented method may include: executing a process of generating a program for generating a mesh of the object using a first generative model based on input data including shape data of the object, and generating the mesh of the object by executing the program output from the first generative model. The first generative model may be a trained model that has been machine-learned to generate and output the program when the input data is input.

[0024] (11) A computer program according to an embodiment may cause a computer to execute a process for generating a mesh of an object having a shape by using a first generative model, based on input data including shape data of the object, to generate a program for generating a mesh of the object, and a process for generating the mesh of the object by executing the program output from the first generative model. The first generative model may be a trained model that has been machine-learned to generate and output the program when the input data is input.

[0025] 2. Examples of mesh generation system, computer implementation method, and computer program

[0026] Hereinafter, the embodiments of the present invention will be described in more detail with reference to the drawings.

[0027] Fig. 1 shows a mesh generation system 10 (hereinafter, sometimes referred to as "system 10") according to an embodiment. The system 10 generates a program for generating a mesh of an object, and generates a mesh of the object by executing the generated program. Note that mesh generation is also called mesh division.

[0028] As shown in FIG. 1, system 10 accepts input data 50 including shape data of an object, and outputs mesh data 60 indicating a generated mesh. System 10 automatically generates a mesh generation program based on input data 50. A mesh generation program that corresponds to the shape, etc. of the object is automatically generated by system 10. System 10 generates a mesh of the object by executing the generated program. Therefore, by using system 10, it is possible to generate a mesh by a program that corresponds to the shape of the object.

[0029] In the system 10, the mesh generation program may be generated by a language model. The language model may be, for example, a neural network. The language model may be, for example, a large-scale language model (LLM). In addition to generating natural languages, the LLM may also perform tasks of generating artificial languages ​​such as computer programs. The system 10 generates the mesh generation program by, for example, an LLM that has been machine-learned to generate mesh generation programs.

[0030] The system 10 may be configured with one or more computers. Although Fig. 1 shows an example in which the system 10 is configured with one computer, in many cases, the system 10 is configured with multiple computers. The multiple computers are, for example, server computers.

[0031] The computer constituting the system 10 includes a processor 20 and a storage device 30. The processor 20 may be a CPU and / or a GPU. The storage device 30 is connected to the processor 20. The storage device 30 includes, for example, a primary storage device and a secondary storage device. The primary storage device is, for example, a RAM. The secondary storage device is, for example, a hard disk drive (HDD) or a solid state drive (SSD). The storage device 30 includes a computer program 31 executed by the processor 20. The processor 20 reads and executes the computer program 31 stored in the storage device 30. The computer program 31 has program code indicating instructions for operating a computer as the mesh generation system 10.

[0032] The storage device 30 may include method group data 32. The method group data 32 is a collection of data indicating a plurality of methods related to mesh generation. When the system 10 is configured with an LLM, the method group data 32 is incorporated into the LLM. For example, the method group data is held in the LLM by vector embedding. In this case, the LLM can generate a mesh generation program using the method group data 32. The method is, for example, a function or procedure in a programming language. The function or procedure is configured to have a program code corresponding to a predetermined processing content. The function or procedure and the function are set with names according to the processing content of the function or procedure so that the LLM (system 10) can easily grasp the meaning of the function or procedure and use it. Similarly, names according to the processing content are set for variables included in the function or procedure.

[0033] The method group data 32 may include generation method group data 32A. The generation method group data 32A is a collection of a plurality of methods that may constitute a mesh generation computer program. Here, the mesh generation computer program is also called a "script." The methods that may constitute a script are, for example, functions or procedures that constitute a part of the script.

[0034] The system 10 generates a script for mesh generation using one or more methods (e.g., functions or procedures) included in the generation method group data 32A. Therefore, at least a part of the generated script includes one or more methods included in the generation method group data 32A. By being provided with the generation method group data 32A, the system 10 can efficiently generate a script for mesh generation. The script is generated, for example, by an LLM in which the method group data 32 is incorporated.

[0035] The method group data 32 may include evaluation method group data 32B. The evaluation method group data 32B is a set of multiple evaluation methods related to methods and / or criteria for evaluating the generated mesh. The evaluation method is data indicating a function or procedure constituting a part of a computer program for evaluation and / or an evaluation criterion (such as a threshold value).

[0036] The system 10 automatically generates evaluation criteria for the generated mesh or a program that executes evaluation according to the evaluation criteria (evaluation program) using one or more methods included in the evaluation method group data 32B. The system 10, being provided with the evaluation method group data 32B, can efficiently generate evaluation criteria (hereinafter, "evaluation criteria" includes evaluation programs according to the evaluation criteria).

[0037] The system 10 uses the generated evaluation criteria to execute a preset evaluation program that has been set in advance. Alternatively, the system 10 executes the generated evaluation program, thereby evaluating the generated mesh. Depending on the evaluation result, the system 10 can generate a script again, if necessary, and perform mesh generation and evaluation again.

[0038] The system 10 generates an evaluation criterion based on the input data 50 and / or mesh data 60 indicating the generated mesh. Therefore, an evaluation criterion according to the shape of the object or the state of the mesh is generated. Note that, as the evaluation criterion, a preset criterion may be used regardless of the shape of the object or the state of the mesh, but using an evaluation criterion according to the shape of the object or the state of the mesh enables a more appropriate evaluation.

[0039] The storage device 30 includes training data 33. The training data 33 is data for machine learning of a machine learning model (e.g., a generative AI such as a language model) included in the system 10. The training data 33 includes pre-training data prepared in advance by the creator of the system 10, and may also include additional training data such as a script, evaluation criteria, mesh data 60, input data 50, and evaluation results generated by the system 10. The machine learning model included in the system 10 is machine-trained using the training data 33. The system 10 may perform re-learning using the additional training data.

[0040] The system 10 may have a system for creating shape data of an object, such as a CAD system that creates CAD data as shape data. In this case, the system 10 can create shape data (e.g., CAD data) of the object and generate a mesh of the created shape data.

[0041] The system 10 may also include a system for performing finite element analysis of the object for which a mesh has been generated. In this case, the system 10 can divide the object into meshes and perform finite element analysis of the mesh-divided object. The additional learning data described above may include the analysis results obtained by the finite element analysis.

[0042] Fig. 2 shows data input to system 10 and processes executed in system 10. In Fig. 2, input data 50 input to system 10 includes shape data 51 and additional input data 52. The shape data 51 is, for example, CAD data of an object. The additional input data 52 is data related to the object other than the shape data 51. By inputting the additional input data 52, system 10 can obtain information other than the shape of the object, and can generate an appropriate script or an appropriate evaluation criterion.

[0043] The additional input data 52 may include, for example, the function of the object and / or the function, structure, material, use, characteristics, name, etc. of each part constituting the object (hereinafter, these are collectively referred to as "function, etc."). By inputting the function, etc. to the system 10, the system 10 can grasp not only the shape of the object but also the function, etc. of the object, and generate a script that can execute mesh generation according to the function, etc. or generate evaluation criteria according to the function, etc.

[0044] For example, if the target object is a motor having two parts, A and B, data indicating the positions and ranges of A and B on the target object is added to the shape data 51. The additional input data 52 can be data indicating the functions of A and B, such as "A is a permanent magnet" and "B is a yoke." The additional input data 52 may be written in a natural language or in a predetermined format (for example, a table format indicating the correspondence between parts and functions, etc.).

[0045] It is not necessary for the shape data 51 to have data indicating the positions and ranges of parts A and B, and the additional input data 52 may be a sentence (text data) in a natural language indicating the function, characteristics or name of the entire object, such as, for example, "The object is a C-shaped magnet."

[0046] If the additional input data 52 is written in a natural language, the system 10 can grasp the functions of A and B by natural language analysis of the additional input data 52. For example, if the system 10 is built on the basis of an LLM, the additional input data 52 (text data) in natural language can be treated as, for example, a prompt to be input to the LLM. The prompt is input text data to the LLM, and constitutes instructions, conditions, etc. for the LLM to generate predetermined output data.

[0047] The additional input data 52 may include instructions, guidelines, wishes, etc. (hereinafter, collectively referred to as "instructions, etc.") for mesh generation desired by the user. By inputting the instructions, etc. to the system 10, the system 10 can grasp the user's instructions, etc., and generate a script according to the instructions, etc., or generate evaluation criteria according to the instructions, etc.

[0048] For example, if the target object is a C-shaped magnet, the additional input data 52 such as instructions can be natural language text data (prompt) indicating the method and policy for generating the mesh, such as "Please generate a mesh that follows the magnetic flux of the magnet."

[0049] The instructions may also include instructions to regenerate a mesh (regenerate the script and re-execute the script) along with a text to correct the mesh that has already been generated or a text to point out problems. In this case, the system 10 can regenerate the script and re-execute the script in response to the instructions.

[0050] Information on the function of the object, etc. may be included in the shape data 51.

[0051] The system 10 executes a process of shape recognition 110 of the object based on the input shape data 51. The shape recognition 110 is a process of identifying the shape of the object and outputting shape information indicating the identified shape. In the shape recognition 110, for example, the overall shape of the object and the shape of each element constituting the object are identified. For example, the shape recognition 110 can identify what type of object the object is. Furthermore, the shape recognition can identify the shape of each element constituting the object.

[0052] A known method for identifying shapes based on shape data may be used for the shape recognition 110. For example, a machine-learned model that has been machine-learned to output shape information when shape data such as CAD data is input may be used for the shape recognition 110. The machine-learned model is, for example, a convolutional neural network. The system 10 equipped with a machine-learned model for the shape recognition 110 can provide the input shape data to the machine-learned model and obtain the shape information output from the machine-learned model. The type of shape information output from the machine-learned model is appropriately set to that required in the program generation 115 described later.

[0053] The system 10 is capable of performing shape recognition 110, so that shape-specific script generation or shape-specific evaluation criterion generation can be performed even in the absence or absence of additional input data 52. Note that if sufficient shape information is obtained from the additional input data 52, shape recognition 110 may be omitted.

[0054] The system 10 executes a program (script) generation 115 process for generating a mesh based on the input data 50 and, if necessary, shape information obtained by shape recognition 110. The system 10 generates the script 55 using the method group data 32. The program generation 115 generates the script 55 according to the shape of the target object, etc.

[0055] Which individual methods included in the method group data 32 should be used, in what order, and to which elements (areas, lines, nodes, etc.) of the object (model) indicated by the shape data may differ depending on the shape of the object. Therefore, the system 10 according to the embodiment determines which individual methods should be used, in what order, and to which elements they should be applied, according to the shape identified by the shape recognition 110, etc., using a machine-learned model (e.g., LLM), and automatically generates the script 55.

[0056] The system 10 executes a program execution 120 process that executes the generated script 55. In the program execution 120, the system 10 implements the generated script 55 within the system 10 to make it executable, and generates a mesh of the target object by executing the implemented script 55. The generated mesh is output as mesh data 60.

[0057] The system 10 executes evaluation 130 of the mesh data. Through evaluation 130 of the mesh data, the generated script is also evaluated. In evaluation 130, the system 10 evaluates the mesh indicated by the mesh data 60 according to the evaluation criteria. The system 10 outputs the result of evaluation 130 together with the mesh data 60 (step S131).

[0058] In evaluation 130, system 10 may execute a process of generating evaluation criteria (which may be an evaluation program) based on input data 50 and / or mesh data 60. System 10 may generate the evaluation criteria using evaluation method group data 32B.

[0059] The system 10 can generate evaluation criteria according to the shape and the like of the object based on the input data 50 and / or the mesh data 60, and further, if necessary, shape information obtained by the shape recognition 110. Which of the individual methods included in the evaluation method group data 32B is used and what reference value is used for evaluation may differ depending on the shape, properties, and the like of the object. Therefore, the system 10 according to the embodiment determines which of the individual methods is to be used and what reference value is to be used by a machine learning model (e.g., LLM), automatically generates evaluation criteria, and evaluates the mesh using the generated evaluation criteria.

[0060] If the evaluation result is not good (if the evaluation criteria are not satisfied), the system 10 may execute the program generation 115 again (step S132). The system 10 may use data indicating the evaluation result to re-execute the process of the program execution 120, and re-generate the script 55, re-generate the mesh, and re-evaluate the mesh. The re-generation, re-generation, and re-evaluation of the script 55 may be executed multiple times as necessary. The system 10 (LLM) may generate a specific correction policy for the script 55 from the evaluation result, and execute the re-generation of the script 55 in accordance with the correction policy.

[0061] Furthermore, the system 10 may store the evaluation results as learning data 33 (additional learning data) in the storage device 30 (step S133). The evaluation results may be stored as new learning data 33 (additional learning data) together with at least one of the generated script, the generated evaluation criteria, the generated mesh data 60, and the input data 50. Here, the stored evaluation results may include both good evaluation results and bad evaluation results. The system 10 (LLM) can improve the accuracy of generating the script 55 and / or generating the evaluation criteria by re-learning using the additional learning data including the evaluation results.

[0062] Furthermore, the system 10 can add the generated script 55 or a combination of methods included in the generated script 55 as a new generation method to the generation method group data 32A. The new method to be added is preferably one included in the script 55 that generates a mesh that is evaluated as satisfying the evaluation criteria in the evaluation 30. Furthermore, the system 10 can add the generated evaluation criteria (including the evaluation program) as a new evaluation method to the evaluation method group data 32B.

[0063] The system 10 (LLM) generates a program to be generated or evaluated by combining a plurality of methods included in the method group data 32. If the program generated by the system 10 is excellent, the program or a part of it can be newly added to the method group data 32, thereby improving the accuracy of generating the script 55 and / or generating the evaluation criteria.

[0064] FIG. 3 shows an example of the generated method group data 32A and the evaluated method group data 32B included in the method group data 32. As shown in FIG.

[0065] Fig. 4 shows an example of a basic structure of a script 55 generated using the generation method group data 32A shown in Fig. 3. The basic structure of the script 55 shown in Fig. 4 includes pre-processing (step S41), mesh generation by a mesh scheme (step S42), and post-processing (step S43). The pre-processing in step S41 is executed on the shape data 51. The mesh generation in step S42 generates a mesh of the shape data 51. The post-processing in step S43 is post-processing on the generated mesh. The system 10 generates the script 55 according to this basic structure, for example, by using the generation method group data 32A.

[0066] The generation method group data 32A shown in Fig. 3 includes preprocessing group data 321 (first group data 321). The preprocessing group data 321 includes a plurality of types of methods for preprocessing of mesh generation. The preprocessing group data 321 shown in Fig. 3 includes a plurality of procedures for preprocessing, as an example. Note that the following preprocessing is commonly used for both 3D shape data and 2D data.

[0067] The procedures included in the preprocessing group data 321 shown in FIG. 3 will be described below.

[0068] "import(filename)" executes a process to read a shape data (CAD data) file. "filename" is a variable that indicates the file name of the shape data to be read. When generating a script, the system 10 assigns the file name of the input shape data to the variable "filename."

[0069] "remove (x)" executes a process of removing elements in the shape data to simplify the shape. The simplification of the shape is, for example, the removal of unnecessary fine structures and elements. The removal of unnecessary fine structures and elements is, for example, the removal of screw holes included in the shape data. When the CAD data, which is the shape data, is configured with a plurality of layers, the removal is, for example, the removal of layer x that includes the element (for example, screw hole) to be removed from among the plurality of layers. In addition, to remove the screw hole, shape recognition based on the shape data (which may be the same process as the shape recognition 110 in FIG. 2) may be executed to identify the screw hole and erase the line x identified as the screw hole. When generating the script, the system 10 substitutes data that identifies the element to be removed into the variable "x". Note that multiple "remove (x)" may be prepared according to the type of element to be removed.

[0070] "Polyline edge" executes the process of converting the outermost line of an object (model) represented by shape data into a polyline. Polyline conversion is a process that converts multiple lines such as straight lines and curves that make up the outermost line into a single object called a polyline. Polyline conversion can move the start and end points of a line segment slightly, and can also connect the start and end points of adjacent line segments.

[0071] "extension line(x1, x2)" is one of the processes for adding an extension line to shape data, and executes a process for adding an extension line that extends an existing line x1 included in the shape data to a node x2. When generating a script, the system 10 substitutes data indicating the node to which the extension line is to be added into the variables "x1" and "x2".

[0072] "Extension line(x)" is one of the processes for adding an extension line to shape data, and the location where the extension line is to be drawn in the shape data is specified by an arbitrary surface x or line x in the coordinate system of the shape data, and the process for adding the extension line to the specified location is executed. When generating a script, the system 10 substitutes data indicating a surface or line in the coordinate system of the shape data for the variable "x".

[0073] "draw support line(x1, x2)" is one of the processes for adding a support line to shape data, and executes a process for adding a support line connecting points x1 and x2 on two existing lines included in the shape data. Here, the points are, for example, nodes on the lines. The nodes are the connection points or bend points of the lines. When generating a script, the system 10 assigns data indicating the points to which the support line will be added to the variables "x1" and "x2".

[0074] "Survey all lines" executes a process of surveying all the lines included in the shape data. The survey of lines includes, for example, a survey of the lengths of the lines and a survey of the connections of the lines.

[0075] "divide line (x) dlx = y" executes a process to divide a line segment. The line segment x is divided by a value y given as the division number dlx. When generating a script, the system 10 assigns data indicating the line segment to be divided to the variable "x" and assigns an appropriately determined division number to the variable "y."

[0076] In addition to the above, the preprocessing group data 321 may include a method for dividing an area (surface or solid), a method for specifying lines and surfaces, a method for specifying the order in which areas are to be divided into meshes, a method for specifying areas having symmetry, and a method for specifying areas having the same structure.

[0077] Since the required preprocessing methods and the order of their application vary depending on the shape indicated by the shape data, the system 10 automatically generates a preprocessing script according to the shape data using a machine-learned model.

[0078] The generation method group data 32A shown in Fig. 3 includes mesh scheme group data 322 (second group data 322). A mesh scheme is a mesh generation algorithm applied to shape data. The mesh scheme is executed, for example, after preprocessing. The mesh scheme group data 322 includes a plurality of types of mesh schemes. The mesh scheme group data 322 shown in Fig. 3 includes, as an example, a plurality of types of procedures (program modules) according to algorithms for mesh generation.

[0079] The mesh scheme group data 322 includes a two-dimensional data group 322A and a three-dimensional data group 322B. The two-dimensional data group 322A and the three-dimensional data group 322B are stored in the storage device 30 so that the system 10 can distinguish between the two data groups 322A and 322B.

[0080] The two-dimensional data group 322A includes a two-dimensional mesh scheme (a two-dimensional program module) that is used for program generation when the shape data 51 is two-dimensional shape data and executes a mesh generation algorithm for the two-dimensional shape data. The two-dimensional data group 322A includes a plurality of types of two-dimensional mesh schemes.

[0081] The three-dimensional data group 322B includes a three-dimensional mesh scheme (a three-dimensional program module) that is used for program generation when the shape data 51 is three-dimensional data and executes a mesh generation algorithm for the three-dimensional shape data. The three-dimensional data group 322B includes a plurality of types of three-dimensional mesh schemes.

[0082] In the mesh scheme group data 322, a two-dimensional data group 322A and a three-dimensional data group 322B are distinguished, so that the system 10 can select the corresponding data group 322A, 322B depending on whether the shape data 51 is two-dimensional or three-dimensional. Then, the system 10 can generate a script from the selected data group 322A, 322B.

[0083] The procedures (mesh schemes) included in the mesh scheme group data 322 shown in FIG. 3 will be described below.

[0084] "Circle mesh (x)" is one of the two-dimensional mesh schemes, and executes a process of dividing the area inside the circle x into meshes. "Circle mesh (x)" generates a mesh according to a mesh generation algorithm specialized for generating meshes of circles. When generating a script, the system 10 assigns data indicating the circle to be meshed to the variable "x."

[0085] "Mapped mesh 2D (x)" is one of the two-dimensional mesh schemes, and executes a process of generating a structured grid mesh within a two-dimensional domain x. When generating a script, the system 10 assigns data indicating the domain for which the mesh is to be generated to the variable "x."

[0086] "pave mesh 2D (x)" is one of the 2D mesh schemes, which executes the process of generating a mesh of an unstructured grid (a shape like a sidewalk paved with cobblestones) within the 2D domain x. When generating the script, assign data indicating the domain for which the mesh will be generated to the variable "x".

[0087] "mirror copy mesh surface (s1, s2, x)" is one of the two-dimensional mesh schemes, and executes a process of copying the mesh of a two-dimensional area s1 to a two-dimensional area s2 so that it is symmetrical with respect to a line x. When generating a script, the system 10 assigns data indicating areas to variables "s1" and "S2" and assigns data indicating a line to variable "x."

[0088] In addition to those mentioned above, the two-dimensional data group 322A may include other mesh schemes such as a mesh generation algorithm specialized for structures with holes, a mesh generation algorithm dedicated to polygons, a triangular mesh generation algorithm using the Delaunay method, a hybrid triangular / quadrilateral mesh generation algorithm, inverted copy, rotated copy, etc.

[0089] "sphere mesh (x)" is one of the three-dimensional mesh schemes, and executes a process of dividing the area inside a sphere x into meshes. "sphere mesh (x)" performs mesh generation according to a mesh generation algorithm specialized for generating meshes of spheres. When generating a script, the system 10 assigns data indicating the sphere to be meshed to the variable "x."

[0090] "Mapped mesh 3D (x)" is one of the three-dimensional mesh schemes, and executes a process of generating a structured grid mesh within a three-dimensional domain x. When generating a script, the system 10 assigns data indicating the domain for which the mesh is to be generated to the variable "x."

[0091] "pave mesh 3D (x)" is one of the 3D mesh schemes, and executes the process of generating an unstructured mesh within a 3D domain x. When generating the script, assign data indicating the domain for which the mesh is to be generated to the variable "x".

[0092] In addition to those mentioned above, the three-dimensional data group 322B may include other mesh schemes such as an algorithm for sweeping (expanding) a surface mesh along a line, a mesh generation algorithm dedicated to polyhedrons, a quadrilateral mesh generation algorithm using the Delaunay method, and a mesh generation algorithm that combines two or more elements of a tetrahedron, a hexahedron, a prism, or a triangular prism.

[0093] Since the required mesh scheme and the order of application thereof differ depending on the shape indicated by the shape data, the system 10 automatically generates a script for the mesh scheme according to the shape data using a machine learning model.

[0094] The generation method group data 32A shown in Fig. 3 includes post-processing group data 323 (third group data 323). The post-processing group data 323 includes a plurality of types of methods for post-processing after execution of a mesh scheme. The post-processing is performed on shape data (mesh data) for which a mesh has been generated. The post-processing group data 323 shown in Fig. 3 includes a plurality of procedures for post-processing, as an example. Note that the following post-processing is commonly used for both three-dimensional shape data and two-dimensional shape data.

[0095] The procedures included in the post-processing group data 323 shown in FIG. 3 will be described below.

[0096] "Smoothing" is a process that performs partial mesh smoothing.

[0097] "Combine" is a process that performs remeshing to combine smaller meshes.

[0098] "move vertex" is a process that executes the movement of a node.

[0099] "Post-processing group data 323 may include methods other than those described above.

[0100] Since the required post-processing methods and the order of their application vary depending on the shape indicated by the shape data, the system 10 automatically generates a post-processing script according to the shape data using a machine-learned model.

[0101] The evaluation method group data 32B shown in Fig. 3 has a plurality of types of methods for evaluating the generated mesh. As an example, the evaluation method group data 32B shown in Fig. 3 has a plurality of procedures and functions for evaluation. Note that the following evaluation methods are commonly used for 3D shape data and 2D shape data.

[0102] Fig. 5 shows an example of the basic structure of a mesh evaluation program or a preset evaluation program generated using the evaluation method group data 32B shown in Fig. 3. The program shown in Fig. 5 includes a step of calculating a mesh quality evaluation value using an evaluation method (step S51), and a step of comparing the calculated evaluation value with an evaluation reference value for mesh evaluation (step S52). The system 10 uses the evaluation method group data 32B to generate a mesh evaluation program that conforms to this basic structure.

[0103] The procedures or functions included in the evaluation method group data 32B shown in FIG. 3 will be described below.

[0104] "detect identical vertex" runs a process to detect identical nodes in mesh data.

[0105] "detect overlapping meshes" executes a process to detect overlapping meshes in mesh data.

[0106] "aspect ratio" is one of the methods used to calculate the mesh quality evaluation value, and executes a process to calculate the aspect ratio of the mesh.

[0107] "Skew" is one of the methods used to calculate the mesh quality evaluation value, and executes a process to calculate the skew (distortion) of the mesh.

[0108] "Volume ratio" is one of the methods used to calculate the mesh quality evaluation value, and executes a process to calculate the volume ratio of the mesh.

[0109] "orthogonality" is one of the methods used to calculate a mesh quality evaluation value, and executes a process of calculating the orthogonality of a mesh.

[0110] "Smoothness" is one of the methods used to calculate the mesh quality evaluation value, and executes a process of calculating the smoothness of a mesh.

[0111] The "reference value" is data indicating an evaluation reference value in comparison with the mesh quality evaluation value. FIG. 6 shows an example of data indicating the evaluation reference value. In FIG. 6, evaluation reference values ​​of aspect ratio, skewness, orthogonality, and smoothness are defined. In FIG. 6, a "good quality range" and a "poor quality range" are shown in the range of values ​​that each evaluation reference value can take.

[0112] It may not be appropriate to apply uniform evaluation criteria to mesh evaluation. Also, it may be difficult to satisfy the evaluation criteria for all evaluation items, so it may be better to differentiate which evaluation items are important and which are not, depending on the object. Also, it may be better to differentiate the values ​​of "good quality range" and "poor quality range" depending on the object.

[0113] Therefore, the system 10 according to the embodiment determines which evaluation item (method) to use and / or which evaluation item to emphasize among the evaluation items (methods) included in the evaluation method group data 32B, depending on the shape, properties, etc. of the object. Also, the system 10 determines whether to use the evaluation reference value included in the evaluation method group data 32B as is or to change the value before use, depending on the shape, properties, etc. of the object. Also, the system 10 determines what value to use if the value is to be changed.

[0114] 7 shows a first example of the system 10. In the first example, the system 10 is configured as an LLM system.

[0115] When the system 10 receives input data 50 including shape data 51, it executes a process of simplification 105 of the shape data 51. The simplification is, for example, removal of screw holes. The simplification here may be the same as the simplification by the method "remove (x)" used for generating a script.

[0116] Next, the system 10 performs the aforementioned shape recognition 110. Shape recognition 110 provides shape information of the object.

[0117] Next, the system 10 executes the above-mentioned program generation (script generation) 115. For the program generation, a first generation model 210 shown in FIG. 8(A) is used. Here, the first generation model 210 is, as an example, an LLM included in the system 10. The first generation model 210 is a trained model that has been machine-learned to generate and output a mesh generation program (script) when input data 50 is input. The above-mentioned shape information may be input to the first generation model 210. In the machine learning, a set of the input data 50 including the shape data 51 (and the shape information if necessary) and the mesh generation program corresponding to the shape data 51 is used as the learning data (training data) 33A.

[0118] Moreover, the first generation model 210 is configured to be re-trained, and when the training data 33A is added or updated, the first generation model 210 is re-trained using the added or updated training data.

[0119] The mesh generation program included in the learning data 33A includes one or more methods included in the generation method group data 32A. The mesh generation program included in the learning data 33A may also include instructions and the like other than the methods included in the generation method group data 32A. The instructions and the like other than the methods included in the generation method group data 32A are general instructions and the like in a programming language, and include, for example, conditional branch instructions, repeat instructions, arithmetic operations, logical operations, variable definitions, value assignments, built-in function / procedure calls in a programming language, and the like.

[0120] The first generative model 210 is preferably a language model having one or more learning capabilities of few-shot learning, one-shot learning, and zero-shot learning. Incidentally, the LLM generally has the capabilities of few-shot learning, one-shot learning, and zero-shot learning. Few-shot learning is the ability to learn with a small amount of training data without updating the parameters of the language model, as in fine tuning. One-shot learning is the ability to learn with one training data without updating the parameters of the language model. Zero-shot learning is the ability to perform highly accurate inference without training data. Incidentally, the first generative model 210 may be trained by fine tuning.

[0121] When input data 50 including shape data 51 is input to the first generation model 210, the first generation model 210 outputs a mesh generation program 55 that appropriately combines one or more methods included in the generation method group data 32A and general commands in a programming language.

[0122] Next, the system 10 executes the above-mentioned program execution 120 process to generate the mesh data 60.

[0123] The system 10 then performs a first evaluation 131 and then a second evaluation 132 of the mesh data 60 .

[0124] The first evaluation 131 is a process for detecting meshes that are obviously poor in quality. In the system 10, the first evaluation 131 is executed by a predetermined preset evaluation program in which evaluation criteria for the first evaluation 131 are set (the evaluation program is not generated here). The first evaluation 131 may include, for example, a determination as to whether or not a mesh whose area or volume is close to zero exists in the mesh data 60. Even if a mesh can be generated topologically, it is inappropriate if a mesh whose area or volume is close to zero exists.

[0125] In the first evaluation 131, if such an obviously inappropriate mesh is generated, it is detected. As a result, the program generation 115 and the program execution 120 are executed again. When the program generation 115 is executed again, the evaluation result of the first evaluation 131 (e.g., there is a mesh whose area or volume is close to zero) is input to the first generative model 210 as additional input data (prompt). In this case, the first generative model 210 may generate a new program 55 so as to improve the poor first evaluation 131. Note that the system 10 may re-train the first generative model 210 based on the evaluation result of the first evaluation 131.

[0126] If the result of the first evaluation 131 is good, the system 10 executes the second evaluation 132. The second evaluation 132 is a process for further evaluating the mesh quality from another perspective for the meshes for which the result of the first evaluation 131 was good.

[0127] For the second evaluation 132, the system 10 executes generation of an evaluation criterion (evaluation criterion value or evaluation program). A second generation model 220 shown in FIG. 8(B) is used to generate the evaluation criterion. Here, the second generation model 220 is, as an example, an LLM included in the system 10. The second generation model 220 is a trained model that has been machine-learned to generate and output an evaluation criterion when input data 50 and / or mesh data 60 are input. The above-mentioned shape information may be input to the second generation model 220. In machine learning, a set of the input data 50 and / or mesh data (and shape information if necessary) including the shape data 51 and the corresponding evaluation criterion is used as learning data (training data) 33B.

[0128] In addition, the second generation model 220 is configured to be re-trained, and when the training data 33B is added or updated, the second generation model 220 is re-trained using the added or updated training data.

[0129] The evaluation reference values ​​included in the learning data 33B may include evaluation reference values ​​corresponding to various objects and shapes. Furthermore, the evaluation program included in the learning data 33B includes one or more evaluation methods included in the evaluation method group data 32B. Furthermore, the evaluation program included in the learning data 33B may include commands and the like other than the methods included in the evaluation method group data 32B. The commands and the like other than the methods included in the evaluation method group data 32B are general commands and the like in a programming language.

[0130] The second generative model 220 is preferably a language model having one or more learning capabilities of few-shot learning, one-shot learning, and zero-shot learning. The second generative model 220 may be trained by fine tuning.

[0131] The second generative model 220 may be constructed on the LLM that constitutes the first generative model 210. In other words, the first generative model 210 and the second generative model 220 may be constructed on a common language model.

[0132] When the input data 50 and the like are input, the second generation model 220 generates and outputs an evaluation criterion that appropriately combines methods included in the evaluation method group data 32B. The system 10 executes the second evaluation 132 using the generated evaluation criterion. The evaluation criterion of the second evaluation 132 may have evaluation items such as aspect ratio, skew, distortion, and size of a single mesh, and may include a determination of whether the evaluation values ​​of these evaluation items satisfy the evaluation criterion values. Note that the second evaluation 132 may be executed using a preset evaluation criterion (e.g., a preset evaluation program) instead of using the generated evaluation criterion.

[0133] In the second evaluation 132, if the generated mesh does not satisfy the evaluation criterion, this is detected. As a result, the program generation 115, the program execution 120, and the first evaluation 131 are executed again. When the program generation 115 is executed again, the evaluation result of the second evaluation 132 (for example, the aspect ratio does not satisfy the evaluation criterion value) is input to the first generative model 210 as additional input data (prompt). In this case, the first generative model 210 may generate a new program 55 so as to improve the second evaluation 132 that is not good. Note that the system 10 can retrain the first generative model 210 based on the evaluation result of the second evaluation 132. Also, the system 10 can retrain the second generative model 220 based on the evaluation result of the second evaluation 132.

[0134] Furthermore, if the result of the second evaluation 132 is favorable, a part or all of the generated program 55 is added as a new generation method to the generation method group data 32A. The new generation method is, for example, a new combination of a plurality of existing generation methods.

[0135] If the result of the second evaluation 132 is good, the generated evaluation reference value or part or all of the evaluation program is added as a new evaluation method to the evaluation method group data 32B. The new generation method is, for example, a new combination of multiple existing generation methods.

[0136] If the result of the second evaluation 132 is favorable, the system 10 executes output of the mesh data 60. The output of the mesh data 60 may, for example, be to display the mesh on a display so that a user can view the generated mesh.

[0137] The system 10 then accepts (135) the result of the user evaluation 136 of the mesh. The result of the user evaluation 136 includes not only the quality of the mesh, but also a natural language sentence (text data) in which the user evaluates the mesh. The user evaluation is, for example, a mesh evaluation based on the experience of the user who is a technician, or a mesh evaluation that takes into account the function and properties of the target object. The sentence in which the mesh is evaluated may include a sentence pointing out shortcomings of the mesh and / or instructions for improving the mesh.

[0138] If the user's evaluation 135 of the mesh is poor, the system 10 re-executes the program generation 115, the program execution 120, the first evaluation 131, and the second evaluation 132. When the program generation 115 is re-executed, the result of the user's evaluation 135 is input to the first generative model 210 as additional input data (prompt). In this case, the first generative model 210 may generate a new program 55 to improve the poor user evaluation 136. Note that the system 10 may re-train the first generative model 210 and / or the second generative model 220 based on the user evaluation 136.

[0139] If the user rating 136 is good, the system 10 finalizes the generated mesh data 60 as the final mesh data 60 and stores it in a storage device. The system 10 outputs the generated mesh data 60 as necessary.

[0140] 9 shows a second example of the system 10. In the second example, the system 10 is configured to include a first large-scale language model 10A (first LLM 10A) and a second large-scale language model 10B (second LLM 10B). Note that the first LLM 10A may be referred to as the first LLM system 10A, and the second LLM 10B may be referred to as the second LLM system 10B.

[0141] The first LLM system 10A has a configuration similar to that of the LLM system 10 shown in Fig. 7. The second LLM system 10B mechanically performs an evaluation corresponding to the user evaluation 136 in Fig. 7. The second LLM 10B acquires the mesh data 60A output from the first LLM 10A, performs a third evaluation 133, and then performs a fourth evaluation 134.

[0142] The third evaluation 133 is a process for mechanically performing an evaluation equivalent to a mesh evaluation based on the experience of a skilled user.

[0143] For the third evaluation 133, the system 10 executes generation of an evaluation criterion (evaluation criterion value or evaluation program). To generate the evaluation criterion, a model similar to the second generation model 220 shown in FIG. 8(B) may be used. The second generation model 220 here is a trained model that has been machine-learned to generate and output an evaluation criterion for the third evaluation 133 when the input data 50 and / or mesh data 60 are input. The above-mentioned shape information may be input to the second generation model 220. In the machine learning, a set of the input data 50 and / or mesh data (and shape information if necessary) including the shape data 51 and the evaluation criterion corresponding thereto is used as learning data (training data) 33B.

[0144] The second generative model 220 for the third evaluation 133 is configured to be retrained 150B, and when training data 33B is added or updated, the second generative model 220 is retrained 150B using the added or updated training data. Also, based on the results of the third evaluation 133, the models 210, 220 in the first LLM system 10A are retrained 150A.

[0145] In the third evaluation 133, if the generated mesh does not satisfy the evaluation criteria, this is detected. This allows program generation 115, program execution 120, and first evaluation 131, second evaluation 132, and third evaluation 133 to be executed again. When program generation 115 is executed again, the evaluation result of the third evaluation 133 is input to the first generative model 210 as additional input data (prompt). In this case, the first generative model 210 may generate a new program 55 to improve the poor third evaluation 133.

[0146] If the result of the third evaluation 133 is good, the system 10 executes a fourth evaluation 134. The fourth evaluation 134 is a process for further performing mesh evaluation that takes into account the function and properties of the object for the object for which the result of the third evaluation 133 is good.

[0147] For the fourth evaluation 134, the system 10 executes generation of an evaluation criterion (evaluation criterion value or evaluation program). A model equivalent to the second generation model 220 shown in FIG. 8(B) may be used to generate the evaluation criterion. Here, the second generation model 220 is, as an example, an LLM included in the system 10. The second generation model 220 is a trained model that has been machine-learned to generate and output an evaluation criterion for the fourth evaluation when the input data 50 and / or mesh data 60 are input. The above-mentioned shape information may be input to the second generation model 220. In the machine learning, a set of the input data 50 and / or mesh data (including the shape information if necessary) including the shape data 51 and the evaluation criterion corresponding thereto is used as the learning data (training data) 33B.

[0148] In addition, the second generative model 220 is configured to be retrained, and when training data 33B is added or updated, the second generative model 220 is retrained 150B using the added or updated training data. Based on the results of the fourth evaluation 134, the models 210, 220 in the first LLM system 10A are also retrained 150A.

[0149] In the fourth evaluation 134, if the generated mesh does not satisfy the evaluation criteria, this is detected. This allows the program generation 115, the program execution 120, and the first evaluation 131, the second evaluation 132, the third evaluation 133, and the fourth evaluation 134 to be executed again. When the program generation 115 is executed again, the evaluation result of the fourth evaluation 134 is input to the first generative model 210 as additional input data (prompt). In this case, the first generative model 210 may generate a new program 55 to improve the poor fourth evaluation 134.

[0150] If the result of the fourth evaluation 134 is satisfactory, the system 10 finalizes the generated mesh data 60 as the final mesh data 60 and stores it in a storage device. The system 10 outputs the generated mesh data 60 as necessary.

[0151] 10 shows a third example of the system 10. In the third example, the systems 10A and 10B in the second example are configured as a single LLM system, and the processing content thereof is common to the second example.

[0152] 11 to 13 show various examples of mesh generation for objects having the same shape. These examples show that different meshes are generated depending on the mesh generation method. In the examples shown in Fig. 11 to 13, the shape of the object has a circle at the top and a rectangle at the bottom.

[0153] The first example shown in FIG. 11(A) is an example in which a mesh is generated by applying an algorithm for generating a pave mesh over the entire shape data (CAD data) of an object that has been read.

[0154] The second example shown in FIG. 11(B) is an example in which a mesh is generated by applying an algorithm (circle mesh) specialized for generating meshes within a circle to the entire CAD data.

[0155] The third example shown in Figure 11(C) is an example of mesh generation in which an auxiliary line is added to the CAD data to separate the upper circle and the lower rectangle, and an algorithm is applied to generate a pave mesh on the upper circle and an algorithm is applied to generate a mapped mesh on the lower part.

[0156] The fourth example shown in Figure 12(A) is an example in which a mesh is generated by adding an auxiliary line separating the upper circle and the lower rectangle, applying an algorithm specialized for generating meshes within a circle (circle mesh) to the upper circle, and applying an algorithm for generating a mapped mesh to the lower part.

[0157] The fifth example shown in Figure 12(B) is an example in which vertical auxiliary lines are added to the center of the left and right sides of the object, and a pave mesh generation algorithm is applied to each of the left and right regions of the object to generate a mesh.

[0158] The sixth example shown in Figure 13(A) is an example of mesh generation in which a first vertical auxiliary line is added to the center of the left and right sides of the object, and a second auxiliary line is added connecting the nodes on the boundary between the upper circle and the lower rectangle, and an algorithm is applied to generate a mapped mesh over the entire object.

[0159] The seventh example shown in FIG. 13(B) is an example in which a first auxiliary line and a second auxiliary line similar to those in the sixth example are added, and an algorithm for generating a mapped mesh is applied to the upper and lower parts to the left of the first auxiliary line to generate a mesh.

[0160] As in the examples shown in Figs. 11 to 13, even for objects of the same shape, the generated meshes differ depending on whether or not auxiliary lines are added, what kind of auxiliary lines are added, the generation method applied, and so on.

[0161] The shape data in the examples shown in Figures 11 to 13 and a mesh generation program corresponding to the procedure therefor may be used as learning data 33A for machine learning of the first generation model 210. In this case, when the shape data of the object shown in Figures 11 to 13 is input to the first generation model 210, the first generation model 210 outputs a mesh generation program corresponding to any of the examples shown in Figures 11 to 13. The examples shown in Figures 11 to 13 may also be procedures in a mesh generation program that is output when the shape data is input to the trained first generation model 210.

[0162] For example, assume that a mesh generation program corresponding to the fourth example shown in Fig. 12(A) is generated from a first generation model 210 to which shape data of an object shown in Fig. 11 to Fig. 13 is input, and a mesh is generated by the mesh generation program. If the user is not satisfied with the generated mesh, the user can input a prompt to the system 10 to instruct the system 10 to use the first auxiliary line and the second auxiliary line as shown in Fig. 13(A) as the auxiliary lines.

[0163] Then, in response to the input prompt, the system 10 can output, from the first generation model 210, a mesh generation program corresponding to the sixth example shown in FIG. 13(A).

[0164] It should be noted that the examples shown in FIGS. 11 to 13 may also be procedures in a mesh generation program that is output when the shape data is input to the trained first generation model 210.

[0165] Fig. 14 shows an example of a mesh generation program (script) generated by the first generation model 210. In the example shown in Fig. 14, the script is configured as a combination of multiple methods included in the generation method group data 32A shown in Fig. 3. Note that in Fig. 14, the text enclosed with # is an explanatory text of the script, and does not need to be included in the script generated by the first generation model 210.

[0166] In the script shown in FIG. 14, as preprocessing, first, a file of shape data of the object (model) is loaded. Shape recognition is automatically performed on the loaded shape. Through shape recognition, as shown in the lower left of FIG. 14, it is identified that the object has a circular surface (1) area and an underlying surface (2) area. It is also identified that the upper circular area has a circular line (1), and the lower area has three straight lines, line (2), line (3), and line (4). It is also identified that vertex 1 exists as a node between line (1) and line (4), and vertex 2 exists as a node between line (1) and line (2).

[0167] As pre-processing, the shape is simplified to remove the screw holes, and the outermost line is converted to a polyline. As a further pre-processing, an arc-like extension passing through nodes vertex1 and vertex2 is inserted as an auxiliary line to separate the upper circle and the lower rectangle. As a further pre-processing, line(1), line(2), line(3), line(4), and line(5) are divided into 38, 9, 8, 9, and 8, respectively. Meshes of sizes according to these divisions are generated.

[0168] In the script shown in Fig. 14, as a mesh scheme, the circle mesh algorithm is applied to the upper circular area surface (1), and the mapped mesh algorithm is applied to the lower rectangular area surface (2). By applying the script shown in Fig. 14 to the target object, a mesh like that shown in the lower right of Fig. 14 is generated. Note that post-processing is omitted in the script in Fig. 14.

[0169] Fig. 15 shows a C-type electromagnet core as an example of the target object, and Fig. 16 shows an example of mesh generation for a C-type electromagnet core. The examples of Fig. 16(A) to (C) are examples in which a mesh is generated parallel to the coordinate axes in the coordinate system in which the target object exists, and each has a different mesh size (number of divisions). Fig. 16(D) to (F) are examples in which a mesh is generated along the magnetic flux passing through the core, taking into account the nature and function of the target object being a C-type electromagnet core, and each has a different mesh size. In the case of a C-type electromagnet, the mesh along the magnetic flux has better mesh quality.

[0170] Fig. 17 shows a model consisting of a rotor and stator of a motor as an example of an object, and Fig. 18 and Fig. 19 show examples of mesh generation for the model. In Fig. 18 and Fig. 19, a mesh is generated for half (1 / 8) of the model, which is 1 / 4 in the direction of rotation, and the entire model is meshed by copying the generated mesh.

[0171] In the example shown in Fig. 18, mesh generation is performed from a portion occupying a small range. Therefore, first, a line mesh is generated at equal intervals for the lines forming the arc (step S181). Then, for the circle, a mesh is generated using a mesh generation algorithm specialized for circles (step S182). Also, for the semicircle, a mesh is generated using a pave mesh generation algorithm (step S183).

[0172] Furthermore, a mesh is generated by applying the pave mesh generation algorithm to the dark gray region (step S184), and finally, a mesh is generated by applying the pave mesh generation algorithm to the remaining region (step S185).

[0173] In the examples shown in FIGS. 19(A), (B), and (C), mesh generation is performed starting from the portion occupying the largest area.

[0174] In the example shown in Fig. 19(A), first, a mesh is generated with a rectangle for the area other than the circle, semicircle, and dark gray area (step S151). After that, mesh is generated in the dark gray area (step S152), and then the circle and semicircle (step S153). The mesh generation algorithm is all pave mesh.

[0175] In the example shown in Fig. 19(B), the order of the meshes is the same as that shown in Fig. 19(A), but the mesh size is specified so that the meshes are smaller than those in the example shown in Fig. 19(A), and the meshes are generated (steps S154, S155, S156). All mesh generation algorithms are pave meshes.

[0176] In the example shown in FIG. 19(C), meshes are generated similarly to the example shown in FIG. 19(B) (steps S157, S158, S159), except that meshes are generated only for the circular portion (step S159A) using a mesh generation algorithm specialized for circles.

[0177] As shown in the examples in Figs. 18 and 19, even for objects of the same shape, the generated meshes differ depending on the order in which the generation methods are applied and the specified mesh size.

[0178] Therefore, as shown in the examples in Figs. 11 to 13 and Figs. 16 to 19, the mesh generation program (mesh generation procedure) has a correlation with the shape of the object, and the system 10 can generate a mesh generation program according to the shape when information on the shape of the object is given by learning using learning data having the correlation. However, even when an object of the same shape is input to the first generation model 210, the mesh generation program output from the first generation model 210 may have various variations, as shown in the examples in Figs. 11 to 13 and Figs. 16 to 19. Which mesh generation program is appropriate among the various possible variations of the mesh generation program can be determined by evaluating the mesh to be generated. For example, a suitable program may be determined by repeatedly performing program generation and mesh evaluation, or a plurality of program generation may be performed, and then the mesh generated by each program may be evaluated to select an appropriate program from the plurality of programs.

[0179] However, since the evaluation criteria for determining what kind of mesh is best may differ depending on the shape, function, etc. of the object, it becomes possible to perform evaluation according to the object and select an appropriate program by generating the evaluation criteria using the second generation model 220. Since the mesh evaluation criteria have a correlation with the shape and mesh of the object, the system 10 can learn using learning data having that correlation, and if information on the shape, mesh, etc. of the object is given, it can generate an evaluation criterion corresponding to that.

[0180] In the case of an object having a shape shown in FIGS. 11 to 13, an evaluation criterion suitable for that shape may be, for example, that all of the following (1) to (3) are satisfied. (1) More than 80% of the meshes have a skewness of 0.4 or higher. (2) The mesh has bilateral symmetry. (3) The ratio of the minimum to maximum mesh area is 1.2 or less.

[0181] When this evaluation criterion is applied, the first to sixth examples shown in Figs. 11, 12, and 13(A) do not satisfy the evaluation criterion, and only the seventh example shown in Fig. 13(B) satisfies the evaluation criterion.

[0182] That is, in the first example shown in Fig. 11(A), the mesh is composed of squares all over, and although they are of equal size, they are not symmetrical. In the second example shown in Fig. 11(B), the mesh is composed of squares all over, but only the upper central part is close to a square, and the other 90% of the surrounding mesh has a skewness of 0.4 or less. In the third example shown in Fig. 11(C), the mesh is composed of squares all over, and although they are of equal size, the mesh in the upper circular part is not arranged at a constant angle to the coordinate axes.

[0183] In the fourth example shown in Fig. 12(A), the mesh is composed of squares overall, but the mesh generation algorithm specialized for circles is not well adapted, and the ratio of the minimum and maximum mesh areas is large at 3.0. In the fifth example shown in Fig. 12(B), compared to the third example in Fig. 11(C), the meandering has been eliminated by drawing an auxiliary line at the center, but there is no left-right symmetry and the degree of uniformity is low.

[0184] In the sixth example shown in Figure 13(A), the mesh is composed of squares overall, and by drawing the second auxiliary line as a straight line, the upper circular area also has a high proportion of shapes with low distortion, and the shape is drawn as if it is perpendicular from the bottom, but there is no left-right symmetry.

[0185] Therefore, none of the first to sixth examples shown in FIG. 11, FIG. 12, and FIG. 13(A) meets the above-mentioned evaluation criteria.

[0186] In contrast, in the seventh example shown in Fig. 13(B), 80% or more have a skewness of 0.4 or more, the mesh has bilateral symmetry, and the ratio of the minimum to maximum mesh area is 1.2 or less, satisfying the above-mentioned evaluation criteria. Therefore, when the shape, etc. of an object is given, the system 10 can generate an evaluation criterion according to the shape, etc. by performing machine learning using learning data including many combinations of shapes and evaluation criteria, such as the shapes shown in Figs. 11 to 13 and the above-mentioned evaluation criteria (1) to (3).

[0187] Then, when system 10 generates a plurality of programs corresponding to each of the examples shown in Figures 11 to 13 for an object having the shape shown in Figures 11 to 13, if system 10 adopts the above-mentioned evaluation criteria (1) to (3) as the evaluation criteria to be applied, system 10 can select the program and its mesh corresponding to the seventh example shown in Figure 13(B) as an appropriate one.

[0188] Furthermore, in the case of an object having a shape as shown in FIG. 16, the evaluation criterion according to the function may be an evaluation criterion based on the results of an analysis of the object divided into meshes. In the case where the object is a C-type electromagnet as shown in FIG. 16, the analysis of the object is, for example, a magnetic field analysis by the magnetic moment method. Therefore, an evaluation criterion suitable for an object that is an electromagnet may be, for example, that "the error in the analysis results of the magnetic field analysis by the magnetic moment method is less than 1%." When this evaluation criterion is applied, the examples of FIGS. 16(A) to (C) and (E) do not satisfy the evaluation criterion, and the examples of FIGS. 16(D) and (F) satisfy the evaluation criterion.

[0189] Moreover, an evaluation criterion according to the function of the object may be that "a mesh is generated along the magnetic flux." When this evaluation criterion is applied, the examples in Fig. 16(A) to (C) do not satisfy the evaluation criterion, and the examples in Fig. 16(D) to (F) satisfy the evaluation criterion.

[0190] In magnetic field analysis using the magnetic moment method, the accuracy of analysis is generally improved by generating a mesh along the magnetic flux. Figs. 16(A) to (C) are constructed with a rectangular parallelepiped mesh, which is generally considered to be good, but when the magnetic moment method is used, the error becomes large. In the example of Fig. 16(A), the number of elements (number of mesh divisions) is 52, and the analysis value of the magnetic flux density at the gap center at 1000AT is 0.026361 [T], with an error of -78.99%. In the example of Fig. 16(B), the number of elements is 4800, and the analysis value of the magnetic flux density is 0.101869 [T], with an error of -18.3%. In the example of Fig. 16(C), the number of elements is 12600, and the analysis value of the magnetic flux density is 0.114232 [T], with an error of -8.4%.

[0191] In the example of FIG. 16(D), the number of elements (mesh division number) is 304, and the analysis value of the magnetic flux density is 0.124476 [T], with an error of -0.2%. In the example of FIG. 16(E), the number of elements is 4864, and the analysis value of the magnetic flux density is 0.126083 [T], with an error of 1.1%. In the example of FIG. 16(F), the number of elements is 16032, and the analysis value of the magnetic flux density is 0.125445 [T], with an error of 0.6%. The error is the difference between the analysis value and the reference value. For example, the reference value can be an analysis result calculated by performing very fine mesh division, ignoring the calculation time.

[0192] In the case of a rectangular parallelepiped mesh, as mentioned above, even in the case of Fig. 16(C) where the mesh is divided into 12,600 elements, there is an error of 8.4%. However, when the mesh is divided along the magnetic flux, the error is already below 1% in the case of Fig. 16(D) where the mesh is divided into 304 elements. Note that because this model includes nonlinearity, the convergence with respect to the mesh division is not simple, and the example of Fig. 16(F) which has a large number of meshes does not necessarily produce good results. Fig. 16 shows that it is possible to perform calculations overwhelmingly efficiently by dividing the mesh in accordance with the physics of the target object.

[0193] System 10 performs machine learning using training data that includes many combinations of functions and evaluation criteria, such as a combination of the function of an object (the object being an electromagnet) and its evaluation criterion, and is thereby able to generate evaluation criteria that correspond to the function, etc. of an object when the function, etc. of the object is given.

[0194] Furthermore, when the system 10 generates multiple programs corresponding to each of the examples shown in Figures 16(A) to (F) for the object shown in Figure 16, if the system 10 adopts the above-mentioned evaluation criteria as the evaluation criteria to be applied, the system 10 can select a program and its mesh corresponding to any of the examples shown in Figures 16(D) to (F) as an appropriate one.

[0195] It should be noted that the generation of mesh evaluation criteria can be performed independently of the generation of a mesh generation program, i.e., the generation of mesh evaluation criteria may be performed when evaluating a mesh generated manually or by an existing mesh generation program.

[0196] Accordingly, the present disclosure includes the following aspects.

[0197] (1) A system for evaluating a mesh of an object, comprising: generating an evaluation metric for said mesh; evaluating the mesh according to the evaluation criteria. Mesh rating system.

[0198] (2) The process of generating an evaluation criterion for the mesh includes generating the evaluation criterion by a generative model.

[0199] (3) The generative model is preferably trained by machine learning to generate and output the evaluation criterion when input data including shape data of the object or mesh data representing the mesh is input. The generative model is preferably trained by machine learning to generate and output the evaluation criterion when a function or the like of the object is input.

[0200] (4) The evaluation system further comprises a storage device having evaluation method group data including a plurality of evaluation methods, the plurality of evaluation methods including a program module for calculating an evaluation value of the mesh and / or an evaluation reference value to be compared with the evaluation value of the mesh.

[0201] The present invention is not limited to the above-described embodiment, and various modifications are possible. [Explanation of symbols]

[0202] 10: Mesh generation system 10A: First large-scale language model system 10B: Second large-scale language model system 20: Processor 30: Storage device 31: Computer Programs 32: Method group data 32A: Generation method group data 32B: Evaluation method group data 33: Training data 33A: Training data 33B: Training data 50: Input data 51: Shape data 52: Additional input data 55: Mesh generation program 60: Mesh data 60A:Mesh data 105 :Simplification 110: Shape recognition 115: Program Generation 120: Program execution 130: Mesh evaluation 131: First evaluation 132: Second evaluation 133: Third evaluation 134: 4th evaluation 136: User Rating 150A: Relearn 150B: Relearn 210: First generation model 220: Second generation model 321: Pre-processing group data 321: First group data 322: Mesh scheme group data 322: Second group data 322A: 2D data set 322B: 3D data set 323: Third group data 323: Post-processing group data

Claims

1. 1. A system for generating a mesh of an object having a shape, comprising: one or more processors that execute a process of generating a program for generating a mesh of the object based on input data including shape data of the object using a first generation model; The first generative model is a trained model that has been machine-learned to generate and output the program when the input data is input, The processor executes the program output from the first generative model to generate a mesh of the object. Mesh generation system.

2. the one or more processors perform shape recognition of the object based on the shape data; the input data input to the first generative model includes shape information obtained by executing the shape recognition, The first generative model is machine-learned to generate and output the program when the input data including the shape information is input. The mesh generation system of claim 1 .

3. A storage device storing a generating method group data including a plurality of generating methods, each of the plurality of generation methods is a program module used to generate a mesh of the object; The first generation model is machine-learned to generate and output the program having one or more program modules included in the generation method group data when the input data is input. The mesh generation system according to claim 1 or 2.

4. The generation method group data includes a first group data including a plurality of first program modules for preprocessing the shape data, and a second group data including a plurality of second program modules for executing a mesh generation algorithm. The mesh generation system according to claim 3.

5. The generation method group data includes a two-dimensional data group including a plurality of two-dimensional program modules that execute a mesh generation algorithm for two-dimensional shape data, and a three-dimensional data group including a plurality of three-dimensional program modules that execute a mesh generation algorithm for three-dimensional shape data. The mesh generation system according to claim 3.

6. The input data further includes at least one of data related to the object other than the shape data and instruction data related to mesh generation. The mesh generation system of claim 1 .

7. The processor, performing a process of evaluating the generated mesh according to an evaluation criterion; Based on a result of the evaluation of the mesh, re-learning the first generative model using the program used to generate the evaluated mesh and the input data used to generate the program. The mesh generation system of claim 1 .

8. The processor executes a process of generating an evaluation criterion for the generated mesh using a second generation model; The second generative model is machine-trained to generate and output the evaluation criterion when the input data or mesh data indicating the generated mesh is input. The mesh generation system of claim 1 .

9. A storage device storing evaluation method group data including a plurality of evaluation methods, The second generative model is machine-learned to generate and output the evaluation criterion including one or more evaluation methods included in the evaluation method group data when the input data or mesh data indicating the generated mesh is input. The mesh generation system according to claim 8.

10. 1. A computer-implemented method performed by a computer for mesh generation of an object having a shape, comprising: Executing a process of generating a program for generating a mesh of the object using a first generation model based on input data including shape data of the object; generating a mesh of the object by executing the program output from the first generative model; Prepare for this. The first generative model is a trained model that has been machine-learned to generate and output the program when the input data is input. Computer-implemented method.

11. A computer program comprising: a computer for generating a mesh of an object having a shape; A process of generating a program for generating a mesh of the object based on input data including shape data of the object using a first generation model; A process of generating a mesh of the object by executing the program output from the first generative model; Run the command, The first generative model is a trained model that has been machine-learned to generate and output the program when the input data is input. Computer program.

Citation Information

Patent Citations

  • Subject shape dividing method / System

    JP1995254004A

Cited By

  • A mesh data processing support system using natural language input

    JP7790791B1