Porous structure design method and device based on implicit expression
Through the porous structure design method based on implicit expression, schema information in JSON format is generated and implicitly calculated, which solves the problems of inefficient and difficult control of porous structure design in the prior art, and realizes the efficient, flexible and precise design of porous structure materials.
Patent Information
- Application Number
- CN202510095193.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-21
- Publication Date
- 2025-03-04
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Existing methods for designing porous structure materials rely on experience and trial and error, lack efficient parameterized and customized design tools, making it difficult to deal with complex geometric structures and precisely control pore characteristics.
The porous structure design method based on implicit expression is adopted. By obtaining parameter definitions, schema information in JSON format is generated, and implicitly calculated and converted into model information in STL format is implemented to achieve fine and continuous design of porous structures.
It provides a user-friendly parametric design interface, combined with advanced data processing and conversion technology, meets the needs of modern porous structural material design, and improves design flexibility and customizability.
Smart Images

Figure CN119560079A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of porous materials, and in particular to a method and device for designing a porous structure based on implicit expression. Background Art
[0002] Porous structural materials have attracted much attention due to their unique physical and chemical properties. In the field of porous structural material design, traditional design methods often rely on experience and trial and error, and lack efficient parameterized and customized design tools. These methods are incapable of dealing with complex geometric structures and precisely controlling pore properties. With the development of materials science and additive manufacturing technology, the demand for porous structural materials is growing, especially in the fields of aerospace, biomedicine, filtration and lightweight structures.
[0003] Implicit expression is an important technology in 3D modeling and computer graphics. The development of implicit expression technology is to address the shortcomings of explicit expression in dealing with complex geometry and continuity. Traditional explicit expression methods, such as mesh, point cloud, voxel and volume, although intuitive, have limitations in dealing with complex geometry and continuity. Implicit expression defines the relationship between points and geometric shapes in space through mathematical functions, allowing for more refined and continuous geometric representation, especially for complex and high-resolution scenes. In addition, implicit expression can better handle the transformation and combination of shapes, providing a new perspective for 3D modeling.
[0004] The design technology of porous structural materials has undergone a transformation from manual drawing to computer-aided design (CAD). With the improvement of computing power and the development of algorithms, the design method has gradually developed in the direction of parameterization and automation. In recent years, the advancement of additive manufacturing technology has provided new possibilities for the manufacture of porous structures, making it easier to realize complex designs. Summary of the invention
[0005] On this basis, the present application provides a porous structure design method and device based on implicit expression to partially solve the above-mentioned problems existing in the prior art.
[0006] One aspect of the present application provides a porous structure design method based on implicit expression, comprising: Get parameter definition; Generate schema information in JSON format based on the parameter definition; Based on the schema information in the JSON format, a porous structure model is generated.
[0007] In one embodiment, the parameter definition includes point coordinate information of the first primitive cell, smoothing parameters of the first primitive cell, the radius of the sphere at the intersection of the rod structure of the first primitive cell, the inner and outer diameters of the hollow structure generated by shelling the first primitive cell, point coordinate information of the second primitive cell, smoothing parameters of the second primitive cell, the radius of the sphere at the intersection of the rod structure of the second primitive cell, the inner and outer diameters of the hollow structure generated by shelling the second primitive cell, and / or CSG (Constructive Solid Geometry).
[0008] In one embodiment, the step of generating schema information in JSON format based on the parameter definition includes: Obtaining first primitive cell information according to the parameter definition; Convert the original point coordinate information of the first original cell information into schema information in JSON (JavaScript Object Notation) format; Determine whether the parameter definition includes smoothing processing parameters of the first primitive cell; if yes, add the smoothing processing parameter information of the first primitive cell to the schema information; Determine whether the parameter definition includes the radius of the sphere at the intersection of the rod structure of the first primitive cell; if so, find the intersection points of all line segments, and add the generated sphere parameter information to the schema information; Determine whether the parameter definition includes the inner and outer diameters of the hollow structure generated by shelling the first primitive cell; if so, add the inner and outer diameter information to the schema message.
[0009] In yet another embodiment, the step of generating schema information in JSON format based on the parameter definition includes: Obtaining first primitive cell information according to the parameter definition; Convert the original point coordinate information of the first original cell information into schema information in JSON (JavaScript Object Notation) format; Determine whether the parameter definition includes smoothing processing parameters of the first primitive cell; if yes, add the smoothing processing parameter information of the first primitive cell to the schema information; Determine whether the parameter definition includes the radius of the sphere at the intersection of the rod structure of the first primitive cell; if so, find the intersection points of all line segments, and add the generated sphere parameter information to the schema information; Determine whether the parameter definition includes the inner and outer diameters of the hollow structure generated by shelling the first primitive cell; if so, add the inner and outer diameter information to the schema message; Obtaining second primitive cell information according to the parameter definition; Convert the original point coordinate information of the second original cell information into schema information in JSON (JavaScript Object Notation) format; Determine whether the parameter definition includes smoothing processing parameters of the second primitive cell; if yes, add the smoothing processing parameter information of the second primitive cell to the schema information; Determine whether the parameter definition includes the radius of the sphere at the intersection of the rod structure of the second primitive cell; if so, find the intersection points of all line segments, and add the generated sphere parameter information to the schema information; Determine whether the parameter definition includes the inner and outer diameters of the hollow structure generated by shelling the second primitive cell; if so, add the inner and outer diameter information to the schema message; Determine whether the CSG is to seek a union, an intersection, or a difference, and add information on the corresponding union, intersection, or difference of the two cells to the schema message.
[0010] In one embodiment, the step of producing a porous structure model based on the schema information in the JSON format includes: performing implicit calculation on the schema information and converting it into model information in the STL format to complete the cell design.
[0011] In one embodiment, a smoothing algorithm blend_expt function is used for smoothing, and the mathematical expression of the blend_expt function is: ; Where a and b are the signed distance fields of shapes a and b, and m is the coefficient.
[0012] In one embodiment, the step of finding the intersection points of all line segments includes: Initialize the line segment list and intersection point list; Traverse all line segment pairs; Construct a list of line segments; For each pair of line segments, calculate the square of the shortest distance between the line segment pairs; Calculate the actual distance between the line segment pairs. If the actual distance is greater than the given threshold d, continue with the next line segment pair until all line segment pairs are processed and return the intersection point list. If the actual distance is less than or equal to the given threshold d, perform the following steps: Calculate the closest point of two line segments; Calculate the intersection point of two line segments; storing the intersection point; Returns a list of intersection points.
[0013] In one embodiment, the actual distance between the pair of line segments is the square root of the square of the shortest distance between the pair of line segments.
[0014] In one embodiment, the step of implicitly calculating and converting the schema information into model information in STL format includes generating a JSON file corresponding to the schema information; loading the JSON file to generate octree structure data; generating triangular patch data based on the octree data; and writing the triangular patch data into an STL format file.
[0015] Another aspect of the present application provides a porous structure design device based on implicit expression, comprising: Material database, responsible for providing raw cell metadata; The business processing module is responsible for processing the original cell information obtained from the material database and combining the new cell schema information with the user input parameters; The calculation module is responsible for implicitly calculating the schema information and converting it into model information in STL format.
[0016] At least one of the above technical solutions adopted in this specification can achieve the following beneficial effects: By providing a user-friendly parametric design interface combined with advanced data processing and conversion techniques, it meets the needs of modern porous structure material design. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings: Figure 1 A flowchart of a porous structure design method based on implicit expression provided in an embodiment of the present application is shown; Figure 2 A flowchart showing the steps of generating schema information in JSON format based on parameter definition when using a kind of original cell information; Figure 3 A flowchart showing the steps of generating schema information in JSON format based on parameter definition when two kinds of primitive cell information are used; Figure 4 A flow chart for finding the intersection points of all line segments is shown; Figure 5 The design interface of the porous structure design device based on implicit expression provided in an embodiment of the present application is shown. DETAILED DESCRIPTION
[0018] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without creative work are within the scope of protection of the present application.
[0019] The following is a detailed description of the technical solutions provided by each embodiment in conjunction with the accompanying drawings. When the following description refers to the accompanying drawings, unless otherwise indicated, the same numbers in different drawings represent the same or similar elements. The terms "first" and "second" in the embodiments of the present application are only used for the purpose of convenience of description and cannot be understood as indicating or implying relative importance.
[0020] Porous structural materials refer to materials with a large number of pore structures, which can be micropores (less than 2nm), mesopores (2-50nm) or macropores (greater than 50nm). Porous materials have a wide range of applications in catalysis, separation, energy storage and biomedicine due to their high specific surface area, pore volume and specific pore size distribution. Lightweight and high-strength porous structures are used in structural components of aircraft and spacecraft. Porous structures can be used in orthopedic implants and tissue engineering scaffolds to promote cell growth and material integration. Porous structures can also be used in high-efficiency filters to separate particles of different particle sizes. Porous structures can also be used in sound insulation and thermal insulation materials to improve building energy efficiency.
[0021] See also Figure 1 The porous structure design method based on implicit expression provided in the embodiment of the present application includes the following steps: S101: Obtain parameter definition; S102: Generate schema information in JSON format based on parameter definition; S103: Generate a porous structure model based on the schema information in JSON format.
[0022] Since the prior art often relies on experience and trial and error methods when defining porous structure design parameters, this leads to inefficient design processes and difficulty in achieving precise control. In addition, the prior art often requires manual operation when converting point coordinate information into design data, which is not only time-consuming but also prone to errors. The porous structure design method based on implicit expression in this application solves the problem of parametric expression of porous structure cells.
[0023] The parameter definitions mentioned in S101 include: point coordinate information of the first primitive cell, smoothing parameters of the first primitive cell, the radius of the sphere at the intersection of the rod structure of the first primitive cell, the inner and outer diameters of the hollow structure generated by shelling the first primitive cell, point coordinate information of the second primitive cell, smoothing parameters of the second primitive cell, the radius of the sphere at the intersection of the rod structure of the second primitive cell, the inner and outer diameters of the hollow structure generated by shelling the second primitive cell, and / or CSG (Constructive Solid Geometry).
[0024] Since this application allows users to customize parameters according to different design requirements, including smoothing parameters, sphere radius, inner and outer diameters, etc., it achieves the effect of enhancing the flexibility and customizability of the design. This flexibility enables designers to quickly respond to different design requirements and realize personalized porous structure design.
[0025] See also Figure 2 In a specific implementation, when a kind of original cell information is used to design a porous structure, S102: generating schema information in JSON format based on parameter definition, including the following steps S201-S205.
[0026] S201: Obtain first original cell information according to the parameter definition.
[0027] A cell is the smallest repeating structural unit in a crystal. By repeating this unit, the entire crystal structure can be generated. In crystallography, a cell is the basic unit for describing a crystal structure, which contains all the symmetry information of the crystal. The concept of a cell helps to simplify the description and analysis of a crystal structure.
[0028] The primitive cell information is in the form of the three-dimensional coordinates of a point in space, with two points connected by a line. An example of primitive cell information is as follows: 5.000000000000000 0.000000000000000 0.000000000000000 1.766600000000000 0.000000000000000 0.000000000000000 1.766600000000000 0.000000000000000 0.000000000000000 1.146000000000000 0.000000000000000 1.146000000000000 0.000000000000000 0.000000000000000 5.000000000000000 0.000000000000000 0.00000000000000 1.766600000000000 0.000000000000000 0.00000000000000 1.766600000000000 1.146000000000000 0.000000000000000 1.146000000000000 Each row represents a coordinate point, and two adjacent rows form a line segment.
[0029] S202: Convert the original point coordinate information of the first original cell information into schema information in JSON format.
[0030] The schema information in JSON format mentioned above refers to the file of cell structure.
[0031] The following is an example of schema information in JSON format: Single cylinder: { "description": "The following JSON schema represents a basic CSGmodel named 'cylinder'. The 'radius' parameter represents the radius size of the cylinder. The 'points' parameter contains the starting 3D coordinates of the cylinder. The 'thickness' parameter represents the thickness of the cylinder.", "cylinder": { "points": [[1, 1, 1], [2, 2, 2]], "radius": 2.5 } } Single ball node: { "description": "The following JSON schema represents a basic CSGmodel named sphere. The 'radius' parameter represents the radius size of thesphere. The 'point' parameter contains the starting 3D coordinates of thesphere.", "sphere": { "point": [1, 1, 1], "radius": 2.5 } } S203: Determine whether the parameter definition includes smoothing processing parameters of the first primitive cell; if yes, add the smoothing processing parameter information of the first primitive cell to the schema information.
[0032] Example of schema information for smooth operation: { "description": "The following JSON schema represents a multi-ary CSGoperator named 'op_smooth_union'. The 'models' parameter contains a list ofCSG models or CSG operators that need to be merged into one with a smoothtransition at their intersections. The 'smooth' parameter controls the degree of smoothness in the resulting shape.", "op_smooth_union": { "smooth": 0.3, "models": [ { "cylinder": { "points": [[1, 1, 1], [2, 2, 2]], "radius": 2.5 } },{ "cylinder": { "points": [[2, 2, 2], [0, 0, 0]], "radius": 1.5 } },{ "cylinder": { "points": [[0, 1, 0], [2, 0, 2]], "radius": 2.0 } } ] } } The smoothing processing parameter information includes three parameters, shapes a and b, and coefficient m. These three parameters determine the degree of smoothing.
[0033] The smoothing process uses the smoothing algorithm blend_expt function, which is used to calculate the exponential blending of two shapes. Its mathematical expression is:
[0034] The logic of this function is: First, for each shape a and b, calculate -m * a and -m * b respectively. Since a and b are signed distance fields (SDF), this operation actually scales the SDF value of each shape by -m and negates the result; then, calculate the exponents of the two scaled values exp(-m * a) and exp(-m * b); add the two exponential values; take the logarithm of the sum; finally, negate the logarithm result and divide it by m to get the final smooth blending result.
[0035] SDF refers to a method commonly used in 3D graphics and computational geometry to represent geometric shapes. It describes the shortest distance from each point in space to the nearest geometric surface, and this distance may be positive, negative, or zero depending on the position of the point relative to the surface. If the point is outside the shape, the distance is positive; if the point is inside the shape, the distance is negative; if the point is exactly on the surface of the shape, the distance is zero.
[0036] S204: Determine whether the parameter definition includes the radius of the sphere at the intersection of the rod structure of the first primitive cell; if so, find the intersection points of all line segments, and add the generated sphere parameter information to the schema information.
[0037] S205: Determine whether the parameter definition includes the inner and outer diameters of the hollow structure generated by shelling the first primitive cell; if so, add the inner and outer diameter information to the schema message.
[0038] Example of requesting schema information from the shell: { "description": "The following JSON schema represents a unary CSGoperator named 'op_out_shell'. The 'model' parameter contains a single CSGmodel or CSG operator that need to create a shell outside. The 'thickness' parameter controls the thickness of the shell.", "op_out_shell": { "thickness": 1, "model": { "cylinder": { "points": [[1, 1, 1], [2, 2, 2]], "radius": 2.5 } } } } See also Figure 4 In a specific implementation, the above-mentioned method of finding the intersection points of all line segments includes the following steps S401-S409.
[0039] S401: Initialize the line segment list and the intersection point list.
[0040] Specifically, create an empty list segments to store all line segments, and create an empty list intersections to store all calculated intersection points.
[0041] S402: Construct a line segment list.
[0042] Specifically, traverse the input point list points, every two points form a line segment, and add the line segment to the segments list. Here, it is assumed that the points in the points list appear in pairs, that is, points[0] and points[1] form the first line segment, points[2] and points[3] form the second line segment, and so on.
[0043] S403: Traverse all line segment pairs.
[0044] Specifically, a two-layer loop is used to traverse all the line segment pairs in the segments list. The outer loop variable x represents the first line segment, and the inner loop variable y represents the second line segment, ensuring that the index of y is always greater than x to avoid repeated comparisons.
[0045] S404: For each pair of line segments, calculate the square of the shortest distance between the pair of line segments.
[0046] Specifically, for the current pair of line segments, the segment_distance_squared function is called to calculate the square of the shortest distance between them. In the segment_distance_squared function, the line segment endpoints are first converted to NumPy arrays. If the endpoints of two line segments coincide, the square of the distance between the two line segment endpoints is calculated directly. If the two endpoints of a line segment coincide, the square of the distance from the line segment endpoint to the nearest point of the other line segment is calculated. If the two line segments do not coincide, the nearest point on each line segment is calculated separately, and the square of the distance between the two points is calculated.
[0047] S405: Calculate the actual distance between the line segment pairs (the square root of the square of the shortest distance). If the actual distance is less than or equal to the given threshold d, proceed to S406; if the actual distance is greater than the given threshold d, continue to the next line segment pair until all line segment pairs are processed and return to the intersection point list.
[0048] S406: Calculate the closest point between two line segments.
[0049] Specifically, when calculating the closest point, the closest_point_on_segment function is called. This function calculates the closest point from point p to line segment ab. First, the vector ap (from a to p) and the vector ab (from a to b) are calculated. Then the length of ab is calculated, and if the length is 0 (that is, a and b coincide), a is returned. Otherwise, the unit vector ab_unit is calculated, the length of the projection of ap on ab_unit is calculated, and np.clip is used to ensure that the projection length is between 0 and the length of ab. Finally, the closest point closest is calculated and returned.
[0050] S407: Calculate the intersection point of two line segments.
[0051] Specifically, if two line segments intersect, use the closest_point_on_segment function to calculate the closest point on each line segment. The midpoint of these two closest points is calculated as the intersection point of the two line segments.
[0052] S408: Store the intersection point.
[0053] Specifically, the calculated intersection points are added to the intersections list.
[0054] S409: Return the intersection point list.
[0055] Specifically, after the function is executed, an intersections list containing all intersection points is returned.
[0056] This application uses the new JSON format to express the point-rod structure, so it achieves a more flexible effect on the adjustment of the original cell data. The flexibility and easy readability of the JSON format allow designers to quickly modify and adjust the cell data without rewriting the entire design, thereby improving the iteration speed and adaptability of the design.
[0057] See also Figure 3 In a specific implementation, when two kinds of original cell information are used to design a porous structure, S102: generating schema information in JSON format based on parameter definition, includes the following steps S211-S221.
[0058] S211: Obtain first original cell information according to the parameter definition.
[0059] S212: Convert the original point coordinate information of the first original cell information into schema information in JSON (JavaScript Object Notation) format.
[0060] S213: Determine whether the parameter definition includes the smoothing processing parameters of the first primitive cell; if yes, add the smoothing processing parameter information of the first primitive cell to the schema information.
[0061] S214: Determine whether the parameter definition includes the radius of the sphere at the intersection of the rod structure of the first primitive cell; if so, find the intersection points of all line segments and add the generated sphere parameter information to the schema information.
[0062] S215: Determine whether the parameter definition includes the inner and outer diameters of the hollow structure generated by shelling the first primitive cell; if so, add the inner and outer diameter information to the schema message.
[0063] S216: Obtain second original cell information according to the parameter definition.
[0064] S217: Convert the original point coordinate information of the second original cell information into schema information in JSON (JavaScript Object Notation) format.
[0065] S218: Determine whether the parameter definition includes the smoothing processing parameters of the second primitive cell; if yes, add the smoothing processing parameter information of the second primitive cell to the schema information.
[0066] S219: Determine whether the parameter definition includes the radius of the sphere at the intersection of the rod structure of the second primitive cell; if so, find the intersection points of all line segments and add the generated sphere parameter information to the schema information.
[0067] S220: Determine whether the parameter definition includes the inner and outer diameters of the hollow structure generated by shelling the second primitive cell; if so, add the inner and outer diameter information to the schema message.
[0068] S221: Determine whether the CSG is to seek a union, an intersection, or a difference, and add corresponding information on seeking a union, an intersection, or a difference between two cells in the schema message.
[0069] Example of seeking the schema information of a union: { "description": "The following JSON schema represents a multi-ary CSGoperator named 'op_union'. The 'models' parameter contains a list of CSGmodels or CSG operators that need to be merged into one.", "op_union": { "models": [ { "cylinder": { "points": [[1, 1, 1], [2, 2, 2]], "radius": 2.5 } },{ "cylinder": { "points": [[1, 1, -1], [-2, -2, 2]], "radius": 2.5 } } } } Example of schema information for intersection: { "description": "The following JSON schema represents a multi-ary CSG operator named 'op_union'. The'models' parameter contains a list of CSG models or CSG operators that need to be merged into one.", "op_intersection": { "models": { "cylinder": { "points": [[1, 1, 1], [2, 2, 2]], "radius": 2.5 } ,{ "cylinder": { "points": [[1, 1, -1], [-2, -2, 2]], "radius": 2.5 } } } } Example of schema information for difference: { "description": "The following JSON schema represents a multi-ary CSG operator named 'op_union'. The'models' parameter contains a list of CSG models or CSG operators that need to be merged into one.", "op_difference": { "models": [ { "cylinder": { "points": [[1, 1, 1], [2, 2, 2]], "radius": 2.5 } },{ "cylinder": { "points": [[1, 1, -1], [-2, -2, 2]], "radius": 2.5 } } ] } } When combining two cells, the existing technology may have difficulty in efficiently performing operations such as smoothing, generating ball nodes, finding shells, and CSG operations such as intersection, union, and difference, which limits the complexity and diversity of the design. The present application is based on a combination design of two original cells, which can create more complex and more diverse cells. This combination design method is conducive to designing a porous structure that meets practical needs, because it allows complex geometric shapes to be constructed by combining different basic units to meet the specific requirements of specific application scenarios.
[0070] In a specific implementation, S103: based on the schema information in JSON format, the step of producing a porous structure model includes implicitly calculating and converting the schema information into model information in STL format.
[0071] Implicit expression refers to a way of representing three-dimensional space, which defines the relationship between a point in space and a certain geometric shape through a mathematical function. For example, the signed distance function (SDF) is an implicit expression, which assigns a value to each point in space, indicating the distance from the point to the nearest surface, and the positive and negative signs indicate the internal or external position of the point relative to the surface. Implicit expression allows complex geometric shapes to be represented in a more concise way, and facilitates geometric transformation and analysis. STL refers to a widely used three-dimensional model file format, which is mainly used to store surface geometry information of three-dimensional objects. STL files approximate the surface of an object by describing a series of small triangular patches, each of which is defined by its vertex and normal vector. STL files can be used in fields such as three-dimensional printing, computer-aided design and manufacturing. STL files have two formats: ASCII text format and binary format, of which the binary format is more compact and has higher storage efficiency.
[0072] Specifically, the step of implicitly calculating and converting the schema information into the model information in STL format includes generating a JSON file corresponding to the schema information; loading the JSON file to generate octree structure data; generating triangular patch data according to the octree data; and writing the triangular patch data into the STL format file.
[0073] This application combines custom parametric expression with triangular face generation, so that the designed structure can be presented through 3D printing technology. This combination ensures that the designed geometric structure can be directly converted into the data format required for 3D printing, reducing the conversion steps from design to manufacturing and improving the efficiency and accuracy of the manufacturing process.
[0074] An embodiment of the present application provides a porous structure design device based on implicit expression, including a material database, which is responsible for providing original cell data; a business processing module, which is responsible for processing the original cell information obtained from the material database and combining new cell schema information with user input parameters; and a calculation module, which is responsible for implicitly calculating the schema information and converting it into model information in STL format.
[0075] This application provides a user-friendly parameterized design interface (such as Figure 5 As shown in Figure 2), combined with advanced data processing and conversion techniques, it meets the needs of modern porous structure material design.
[0076] It should be noted that the technical solutions or technical features described in the above embodiments can be combined or supplemented with each other without causing conflicts. The scope of protection of this application is not limited to the above embodiments and the drawings; any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of this application shall be included in the scope of protection of this application.
Claims
1. A porous structure design method based on implicit expression, comprising: Get parameter definition; Generate schema information in JSON format based on the parameter definition; Based on the schema information in the JSON format, a porous structure model is generated.
2. The method according to claim 1, characterized in that The parameter definition includes the point coordinate information of the first primitive cell, the smoothing parameters of the first primitive cell, the radius of the sphere at the intersection of the rod structure of the first primitive cell, the inner and outer diameters of the hollow structure generated by shelling the first primitive cell, the point coordinate information of the second primitive cell, the smoothing parameters of the second primitive cell, the radius of the sphere at the intersection of the rod structure of the second primitive cell, the inner and outer diameters of the hollow structure generated by shelling the second primitive cell, and / or CSG.
3. The method according to claim 2, characterized in that The steps of generating schema information in JSON format based on the parameter definition include: Obtaining first primitive cell information according to the parameter definition; Convert the original point coordinate information of the first original cell information into schema information in JSON format; Determine whether the parameter definition includes smoothing processing parameters of the first primitive cell; if yes, add the smoothing processing parameter information of the first primitive cell to the schema information; Determine whether the parameter definition includes the radius of the sphere at the intersection of the rod structure of the first primitive cell; if so, find the intersection points of all line segments, and add the generated sphere parameter information to the schema information; Determine whether the parameter definition includes the inner and outer diameters of the hollow structure generated by shelling the first primitive cell; if so, add the inner and outer diameter information to the schema message.
4. The method according to claim 2, characterized in that: The steps of generating schema information in JSON format based on the parameter definition include: Obtaining first primitive cell information according to the parameter definition; Convert the original point coordinate information of the first original cell information into schema information in JSON format; Determine whether the parameter definition includes smoothing processing parameters of the first primitive cell; if yes, add the smoothing processing parameter information of the first primitive cell to the schema information; Determine whether the parameter definition includes the radius of the sphere at the intersection of the rod structure of the first primitive cell; if so, find the intersection points of all line segments, and add the generated sphere parameter information to the schema information; Determine whether the parameter definition includes the inner and outer diameters of the hollow structure generated by shelling the first primitive cell; if so, add the inner and outer diameter information to the schema message; Obtaining second primitive cell information according to the parameter definition; Convert the original point coordinate information of the second original cell information into schema information in JSON format; Determine whether the parameter definition includes smoothing processing parameters of the second primitive cell; if yes, add the smoothing processing parameter information of the second primitive cell to the schema information; Determine whether the parameter definition includes the radius of the sphere at the intersection of the rod structure of the second primitive cell; if so, find the intersection points of all line segments, and add the generated sphere parameter information to the schema information; Determine whether the parameter definition includes the inner and outer diameters of the hollow structure generated by shelling the second primitive cell; if so, add the inner and outer diameter information to the schema message; It is determined that the CSG is to be a union, intersection or difference, and information on the corresponding union, intersection or difference of two cells is added to the schema message.
5. The method according to claim 2, characterized in that: Based on the schema information in the JSON format, the step of producing a porous structure model includes: performing implicit calculation on the schema information to convert it into model information in the STL format.
6. The method according to claim 3 or 4, characterized in that: The smoothing algorithm blend_expt function is used for smoothing, and the mathematical expression of the blend_expt function is: ; Where a and b are the signed distance fields of shapes a and b, and m is the coefficient.
7. The method according to claim 3 or 4, characterized in that: The step of finding the intersection points of all line segments comprises: Initialize the line segment list and intersection point list; Traverse all line segment pairs; Construct a list of line segments; For each pair of line segments, calculate the square of the shortest distance between the line segment pairs; Calculate the actual distance between the line segment pairs. If the actual distance is greater than the given threshold d, continue with the next line segment pair until all line segment pairs are processed and return the intersection point list. If the actual distance is less than or equal to the given threshold d, perform the following steps: Calculate the closest point of two line segments; Calculate the intersection point of two line segments; storing the intersection point; Returns a list of intersection points.
8. The method according to claim 7, characterized in that The actual distance between the pair of line segments is the square root of the square of the shortest distance between the pair of line segments.
9. The method according to claim 5, characterized in that The step of implicitly calculating and converting the schema information into model information in STL format includes: Generate a JSON file corresponding to the schema information; Load the JSON file and generate octree structure data; Generate triangle patch data according to the octree data; The triangular patch data is written into an STL format file.
10. A porous structure design device based on implicit expression, comprising: Material database, responsible for providing raw cell metadata; The business processing module is responsible for processing the original cell information obtained from the material database and combining the schema information of the new cell with the user input parameters; The calculation module is responsible for implicitly calculating and converting the schema information into model information in STL format.
Citation Information
Patent Citations
JSON character string processing method and device, equipment and storage medium
CN112416356A
Multi-scale optimization design method for gradient random dot matrix / porous structure
CN114357546A
Semantic understanding-based crystal material structure generation method, computer readable storage medium and computer program product
CN118820284A
Method for generating high-quality iso-surface network in real time
WO2022041169A1