A method, device and medium for generating a lattice structure

By constructing topological structures and screening in 3D printing technology, the problem of low lattice structure generation efficiency in the existing technology is solved, the demand for structural diversity and complexity in complex application scenarios is achieved, and design and manufacturing efficiency is improved.

CN119272359BActive Publication Date: 2025-03-21ZHEJIANG LAB
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411822088.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2025-03-21
Estimated Expiration
2044-12-11

AI Technical Summary

Technical Problem

In the existing 3D printing technology, the lattice structure generation efficiency is low, which cannot meet the needs of complex application scenarios for structural diversity and complexity.

Method used

By establishing a three-dimensional spatial coordinate system on the preset three-dimensional geometry, specifying coordinate points as basic nodes for combination and connection, building a topological structure, and filtering the topological structure, finally generating a lattice structure based on the target topological structure.

Benefits of technology

It realizes efficient generation of lattice structures, meets the needs of structural diversity and complexity in complex application scenarios, and improves the efficiency of design and manufacturing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119272359B_ABST
    Figure CN119272359B_ABST
Patent Text Reader

Abstract

The present application discloses a method, device and medium for generating a lattice structure, the method comprising: taking a specified point on a preset three-dimensional geometric body as the origin, establishing a three-dimensional space coordinate system; taking the specified coordinate point on the preset three-dimensional geometric body as the basic node, and combining and connecting the basic nodes in pairs to obtain basic line segments; constructing a topological structure through any preset number of basic line segments; after screening the topological structure, obtaining a target structure set; reading the target topological structure from the target structure set for modeling to obtain a lattice structure. Therefore, compared with a fixed topological generation method, based on the free combination between nodes and between line segments, a rich lattice structure can be generated to meet the requirements of complex application scenarios for structural diversity and complexity. In addition, a coordinate system is automatically established, and a topological structure is automatically generated based on the specified coordinate points, without the need to manually input node coordinates, thereby improving the efficiency of lattice structure generation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of 3D printing technology, and in particular to a method, device and medium for generating a lattice structure. Background Art

[0002] With the rapid development of 3D printing technology, the current 3D printing technology can not only manufacture complex external structures that are difficult to achieve with traditional methods, but also significantly reduce material usage, reduce weight, and improve mechanical properties through reasonable internal structure design. It is thus widely used in automotive parts manufacturing, aerospace parts manufacturing, biomedical implant manufacturing and many other fields.

[0003] The lattice structure is a three-dimensional structure composed of repeated units, which is lightweight and high-strength. In 3D printing technology, generating a lattice structure is one of the key technologies. At present, in a feasible implementation method for generating a lattice structure, starting from the vertices and center points of the faces of the cube, a lattice standard unit is constructed through a specific connection method, and a lattice structure is generated based on the lattice standard unit modeling. However, using this fixed geometric topology method, the generated lattice structure is relatively simple, the design space is limited, and it cannot meet the requirements of complex application scenarios for structural diversity and complexity. In addition, in the current lattice structure design tools, the generation of complex lattice structures requires manual input of coordinate points, line segments and other information, which will result in low generation efficiency when processing large-scale complex structures.

[0004] It can be seen that how to improve the efficiency of lattice structure generation and meet the needs of complex application scenarios for structural diversity and complexity is a technical problem that needs to be urgently solved by technical personnel in this field. Summary of the invention

[0005] In view of this, one aspect of the present application provides a method for generating a lattice structure, the method comprising:

[0006] Establish a three-dimensional space coordinate system with a specified point on the preset three-dimensional geometric body as the origin;

[0007] Using designated coordinate points on the preset three-dimensional geometric body as basic nodes, and combining and connecting the basic nodes in pairs to obtain basic line segments; wherein the number of the designated coordinate points is greater than 1;

[0008] Constructing a topological structure by using any preset number of basic line segments;

[0009] After screening the topological structures, a target structure set is obtained;

[0010] A target topological structure is read from the target structure set; and modeling is performed based on the target topological structure to obtain a lattice structure.

[0011] Optionally, the preset three-dimensional geometric body is a portion of the target geometric body obtained by evenly dividing the target geometric body into a preset number of parts, and the target geometric body includes a cube, a sphere and a cylinder.

[0012] Optionally, screening the topological structure includes:

[0013] Taking the basic line segment of the topological structure as the access path, traverse and access all the basic nodes in the topological structure; and eliminate the topological structures that have the basic nodes that cannot be accessed;

[0014] According to the coordinates of the basic nodes, a topological structure in which the topological structure intersects with all faces of the preset three-dimensional geometric body is extracted.

[0015] Optionally, screening the topological structure further includes:

[0016] Determine whether there are multiple basic line segments on the same straight line in the topological structure according to the coordinates of the basic node; and remove the topological structure where multiple basic line segments are on the same straight line;

[0017] Determine the number of connections between each basic node in the topological structure and the basic line segment; and eliminate the topological structures corresponding to the number of connections greater than a first threshold and / or the number of connections less than a second threshold; wherein the first threshold is greater than the second threshold.

[0018] Optionally, determining the number of connections between each of the basic nodes in the topological structure and the basic line segments includes:

[0019] Assigning a corresponding weight coefficient to each of the basic nodes in the topological structure; and counting the actual number of connections between each of the basic nodes and the basic line segments;

[0020] The number of connections is determined according to the weight coefficient and the actual number of connections.

[0021] Optionally, modeling is performed based on the target topological structure to obtain a lattice structure, including:

[0022] Obtaining design parameters and node optimization instructions of the lattice structure;

[0023] The target topological structure is mirror-flipped based on different planes of the three-dimensional space coordinate system to construct a three-dimensional skeleton consisting of a plurality of the target topological structures;

[0024] According to the node optimization instruction, the basic nodes in the three-dimensional skeleton are controlled to move to obtain a target three-dimensional skeleton;

[0025] Based on the design parameters, the target three-dimensional skeleton is modeled to obtain the lattice structure.

[0026] Optionally, controlling the basic nodes in the three-dimensional skeleton to move according to the node optimization instruction includes:

[0027] Determine a node movement mode according to the node optimization instruction; wherein the node movement mode includes at least one of a random movement mode, a fixed movement mode and a specified movement mode;

[0028] The base nodes in the three-dimensional skeleton are controlled to move based on the node movement mode.

[0029] Optionally, controlling the basic nodes in the three-dimensional skeleton to move based on the node movement mode includes:

[0030] If the node movement mode is the random movement mode, control the basic nodes located on the edge of the preset three-dimensional geometric body in the three-dimensional skeleton to move on the corresponding edge, the basic nodes located on the surface of the preset three-dimensional geometric body to move on the corresponding surface, and the basic nodes located in the body of the preset three-dimensional geometric body to move in the body;

[0031] If the node movement mode is the fixed movement mode, adjusting the position of the basic node in the three-dimensional skeleton by using a specified optimization algorithm;

[0032] If the node movement mode is the specified movement mode, the end point movement coordinates of each basic node in the three-dimensional skeleton are determined according to the node optimization instruction; and each basic node in the three-dimensional skeleton is controlled to move to the corresponding end point movement coordinates.

[0033] Optionally, before screening the topological structure, the method further includes:

[0034] Determine whether the preset number is greater than a threshold;

[0035] If it is greater than, filtering the topological structure through a target optimization algorithm;

[0036] If not, the step of screening the topological structure is entered.

[0037] Another aspect of the present application provides a device for generating a lattice structure, the device comprising:

[0038] A coordinate system establishment module is used to establish a three-dimensional space coordinate system with a specified point on a preset three-dimensional geometric body as the origin;

[0039] A node combination module, used to use the designated coordinate points on the preset three-dimensional geometric body as basic nodes, and to combine and connect the basic nodes in pairs to obtain basic line segments; wherein the number of the designated coordinate points is greater than 1;

[0040] A construction module, used for constructing a topological structure through any preset number of basic line segments;

[0041] A screening module, used for screening the topological structures to obtain a target structure set;

[0042] The lattice generation module is used to read the target topological structure from the target structure set; and perform modeling based on the target topological structure to obtain a lattice structure.

[0043] Another aspect of the present application provides a device for generating a lattice structure, including a memory and a processor, wherein the memory stores a computer program that can be executed on the processor, and when the processor executes the program, the steps of the method for generating a lattice structure are implemented.

[0044] Another aspect of the present application provides a computer-readable storage medium having a computer program stored thereon, and when the program is executed by a processor, the steps of the method for generating a lattice structure are implemented.

[0045] The present application provides a method, device and medium for generating a lattice structure, and the beneficial effects are as follows: compared with a fixed topology generation method, the present application can obtain a more diverse topology based on the free combination between nodes and segments, thereby generating a rich lattice structure to meet the requirements of complex application scenarios for structural diversity and complexity. In addition, the present application automatically establishes a coordinate system and automatically generates a topology based on the specified coordinate points, without the need to manually input the coordinates of each node, thereby improving the generation efficiency of the lattice structure. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] Figure 1 A schematic diagram of a process for generating a lattice structure provided in an embodiment of the present application;

[0047] FIG2 (a) is a schematic diagram of a three-dimensional space coordinate system provided in an embodiment of the present application;

[0048] FIG2( b ) is a schematic diagram of another three-dimensional space coordinate system provided in an embodiment of the present application;

[0049] FIG3 (a) is a schematic diagram of a topological structure provided in an embodiment of the present application;

[0050] FIG3 (b) is a schematic diagram of another topological structure provided in an embodiment of the present application;

[0051] Figure 4 A schematic flow chart of a method for generating a lattice structure provided in another embodiment of the present application;

[0052] FIG5 (a) is a schematic diagram of the structure of a three-dimensional skeleton provided in an embodiment of the present application;

[0053] FIG5( b ) is a schematic diagram of the structure of another three-dimensional skeleton provided in an embodiment of the present application;

[0054] FIG6 (a) is a schematic diagram of a lattice structure provided in an embodiment of the present application;

[0055] FIG6 (b) is a schematic diagram of another lattice structure provided in an embodiment of the present application;

[0056] Figure 7 A schematic diagram of the structure of a three-dimensional skeleton provided in another embodiment of the present application;

[0057] Figure 8 A schematic diagram of the structure of a lattice structure generation device provided in an embodiment of the present application;

[0058] Fig. 9 A schematic structural diagram of a lattice structure generating device provided in another embodiment of the present application.

[0059] The reference numerals are as follows: 130 is a database, 90 is a memory, 91 is a processor, 92 is a display screen, 93 is an input / output interface, 94 is a communication interface, 95 is a power supply, 96 is a communication bus, 901 is a computer program, 902 is an operating system, and 903 is data. DETAILED DESCRIPTION

[0060] The terms used in this application are for the purpose of describing specific embodiments only and are not intended to limit this application. The singular forms of "a", "said" and "the" used in this application and the appended claims are also intended to include plural forms unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used herein refers to and includes any or all possible combinations of one or more associated listed items.

[0061] It should be understood that although the terms first, second, third, etc. may be used in the present application to describe various information, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".

[0062] Figure 1 A schematic diagram of a process for generating a lattice structure provided in an embodiment of the present application is shown in FIG. Figure 1 As shown, the method includes:

[0063] S10: Establishing a three-dimensional space coordinate system with a designated point on the preset three-dimensional geometric body as the origin;

[0064] In a specific embodiment, a three-dimensional space coordinate system is established through step S10, and the coordinate system is established with a specified point on a preset three-dimensional geometric body as the origin, wherein the preset three-dimensional geometric body is a part of the target geometric body after being evenly divided into a preset number of parts, and the target geometric body includes a cube, a sphere and a cylinder.

[0065] It is worth noting that the method for generating the lattice structure provided in the present application establishes a three-dimensional space coordinate system based on a preset three-dimensional geometric body. The purpose is to construct a topological structure based on the coordinates of specified points (i.e., basic nodes) on the preset three-dimensional geometric body, and then flip and restore the target geometric body according to the topological structure, and a three-dimensional and complete three-dimensional skeleton can be obtained inside the target geometric body.

[0066] For example, if the target geometry is a cube and the preset number of parts is 8, then a smaller cube is obtained by evenly dividing the target geometry. The three-dimensional space coordinate system is established with the small cube as the preset three-dimensional geometry, and after constructing the topological structure, if the preset three-dimensional geometry is mirrored and flipped to restore the target geometry, a complete three-dimensional skeleton can be obtained. See the following description for details.

[0067] It should be noted that the present application does not limit the target geometric body, the preset three-dimensional geometric body, and the preset number of parts. In an optional embodiment, the target geometric body may include but is not limited to a cube, a sphere, and a cylinder. A cube may be cut into 8 parts to obtain a one-eighth cube as the preset three-dimensional geometric body, or it may be cut into 48 parts to obtain a one-forty-eighth cube as the preset three-dimensional geometric body. Similarly, a sphere and a cylinder may be evenly cut and one of them may be used as the preset three-dimensional geometric body.

[0068] It is understandable that a cube has better symmetry, and a lattice structure constructed based on a cube has better rigidity, stability and mechanical properties. Therefore, in a preferred embodiment, a three-dimensional space coordinate system is established with a specified point on a cube as the origin. For ease of understanding, the following description is made by taking a cube as an example of the target geometric body.

[0069] FIG2 (a) is a schematic diagram of a three-dimensional space coordinate system provided in an embodiment of the present application, and FIG2 (b) is a schematic diagram of another three-dimensional space coordinate system provided in an embodiment of the present application. In an optional embodiment, the target geometric body is evenly divided into 8 parts, and one of the parts, that is, one eighth of the cube shown in FIG2 (a), is used as a preset three-dimensional geometric body for establishing a three-dimensional coordinate system. In FIG2 (a), a three-dimensional space coordinate system is established with one vertex of the cube as the origin O of the coordinate system, that is, the Cartesian coordinate system shown in FIG2 (a) is obtained.

[0070] It should be noted that the origin of the three-dimensional space coordinate system can be any point on the preset three-dimensional geometric body, and this application does not limit this. However, in an optional embodiment, in order to reduce the amount of calculation, it is preferred to establish a coordinate system with the vertex of the cube as the origin, and the resulting coordinate system can be called a cube coordinate system, or a Cartesian coordinate system, or a three-dimensional space coordinate system.

[0071] In another optional embodiment, the target geometric body is evenly divided into 48 parts, and one of the parts, i.e., a tetrahedron of 1 / 48 as shown in FIG2 (b), is used as a preset three-dimensional geometric body for establishing a three-dimensional coordinate system. In FIG2 (b), similarly, a vertex of the tetrahedron is used as the origin O of the coordinate system to establish a three-dimensional space coordinate system.

[0072] S11: taking designated coordinate points on the preset three-dimensional geometric body as basic nodes, and connecting the basic nodes in pairs to obtain basic line segments; wherein the number of designated coordinate points is greater than 1;

[0073] Further, the designated coordinate points on the preset three-dimensional geometric body are used as basic nodes, and the basic nodes are connected in pairs to obtain basic line segments. It should be noted that the present application does not limit the number of designated coordinate points. However, in order to ensure that two basic nodes can be connected to obtain basic line segments, the number of designated coordinate points is greater than 1, and no matter how many basic nodes are set, all basic nodes are on the three-dimensional geometric body.

[0074] In an optional embodiment, as shown in Figure 2 (a), 27 specified coordinate points are used as basic nodes, and the 27 basic nodes are numbered from basic node 0 to basic node 26. The distribution of the 27 basic nodes is 8 cube vertex coordinates, 12 midpoint coordinates on the edges of the cube, 6 coordinates of the center points of the cube faces, and the coordinates of the center point inside the cube.

[0075] In another optional embodiment, as shown in Figure 2 (b), 15 designated coordinate points are used as basic nodes, and the 15 basic nodes are numbered from basic node 0 to basic node 14. The distribution of the 15 basic nodes is 4 tetrahedron vertex coordinates, 6 tetrahedron edge midpoint coordinates, 4 tetrahedron center point coordinates, and the coordinates of the tetrahedron interior center point.

[0076] It should be noted that when selecting basic nodes, multiple points can be selected on the edge of the cube, and the distances between the basic nodes on the edge are the same, that is, multiple specified coordinate points on the cube are uniformly selected as basic nodes. In addition, multiple points can also be selected for the face of the cube and the interior of the cube, and the selected basic nodes are also uniformly distributed on the face of the cube and the interior of the cube.

[0077] The selected basic nodes are evenly distributed in a three-dimensional grid, so as to provide a basic geometric framework for the subsequent generation of line segment combinations. Specifically, the basic nodes are connected in pairs, that is, any two basic nodes are connected to obtain rich basic line segments. For ease of understanding, the following will take the 27 basic nodes shown in Figure 2 (a) as an example for explanation.

[0078] After connecting the 27 basic nodes shown in Figure 2 (a) in pairs, 351 possible basic line segments can be obtained. The specific calculation formula is:

[0079]

[0080] Wherein, n is the number of basic nodes, k is the number of combined connections of basic nodes, that is, k is the number of basic nodes on each basic line segment. When k is 2, it represents that a topological structure is constructed by every arbitrary 2 basic nodes. It indicates the number of possible combinations that can be obtained by combining k nodes from n basic nodes.

[0081] S12: constructing a topological structure by using any preset number of basic line segments;

[0082] After all the basic nodes are connected in pairs, a rich set of basic line segments can be obtained for subsequent use in building a crystal structure. Specifically, any preset number of basic line segments are combined, and a rich topological structure is built based on the basic line segments in each group.

[0083] It should be noted that this application does not limit the number of preset lines. In a specific embodiment, the user can set the number of basic line segments in the topology structure according to actual business needs. However, it should be noted that the minimum value of the preset number is 1, and the maximum value is the number of all basic line segments in the basic line segment set, that is, , where M is the preset number of items.

[0084] For example, among the 27 basic nodes shown in Figure 2 (a), the number of basic line segments generated is 351, so the maximum value of M is 351, that is, 1≤M≤351. Alternatively, among the 15 basic nodes shown in Figure 2 (b), the number of basic line segments generated is 105, so the maximum value of M is 105, that is, 1≤M≤105.

[0085] By combining M basic line segments, various complex geometric shapes can be constructed, that is, a rich topological structure can be obtained. In a specific embodiment, any preset number of basic line segments construct a topological structure, which can be understood as dividing all basic line segments into multiple line segment combinations with each group of preset number of line segments, and different line segment combinations of basic line segments can construct a rich topological structure.

[0086] It is understandable that the number of line segment combinations is related to the value of the preset number of line segments. Similarly, for ease of understanding, the following will be described by taking the 27 basic nodes shown in FIG. 2 (a) as an example.

[0087] As shown in Figure 2 (a), if M = 1, each basic line segment is regarded as a line segment combination, and the number of line segment combinations obtained is C (351, 1) = 351. If M = 2, every arbitrary 2 basic line segments are divided into a line segment combination, and the number of line segment combinations obtained is C (351, 2) = 61425. If M = 3, every arbitrary 3 basic line segments are divided into a line segment combination, and the number of line segment combinations obtained is C (351, 3) = 7145775.

[0088] It should be noted that when constructing a topological structure, in each combination of any preset number of basic line segments, the basic line segments may be connected to each other, or partially connected, and there may also be isolated basic line segments, that is, some basic line segments may not have any connection relationship with other basic line segments. This application does not specifically limit the combination relationship between basic line segments. Thus, each group of basic line segments can construct a rich topological structure.

[0089] Figure 3 (a) is a schematic diagram of a topological structure provided in an embodiment of the present application, and Figure 3 (b) is a schematic diagram of another topological structure provided in an embodiment of the present application. For ease of understanding, Figures 3 (a) and 3 (b) will be further described below. When M=3, a topological structure is constructed with any 3 basic line segments. Figure 3 (a) is a method for constructing a topological structure in the three-dimensional coordinate system shown in Figure 2 (a). It can be seen from Figure 3 (a) that in this topological structure, the basic line segments include line segments formed by basic nodes 0 and basic nodes 26, line segments formed by basic nodes 19 and basic nodes 26, line segments formed by basic nodes 14 and basic nodes 26, and line segments formed by basic nodes 15 and basic nodes 26. Based on the three-dimensional coordinate system shown in Figure 2 (b), a topological structure as shown in Figure 3 (b) can be constructed.

[0090] S13: After screening the topological structure, a target structure set is obtained;

[0091] After generating a large number of topological structures, the method for generating a lattice structure provided in the present application uses a screening mechanism to screen out structures of poor quality, thereby ensuring that the generated lattice structure has reasonable physical properties, applicability, and manufacturability while meeting the design diversity.

[0092] Specifically, in an optional embodiment, screening the topological structure may include detecting the connectivity of the topological structure so as to remove the structure with isolated basic line segments in the topological structure. It may also include detecting the intersection of the topological structure with all faces of the preset three-dimensional geometric body so as to extract the structure with the topological structure and all faces of the preset three-dimensional geometric body.

[0093] In addition, it can also include a check on the collinearity of the topological structure in order to eliminate structures with collinearity, a detection of basic nodes in order to eliminate structures with poor basic node stability, and a check on the symmetry between basic nodes in order to eliminate structures whose basic node symmetry does not meet expectations.

[0094] In summary, the present application includes but is not limited to the screening of connectivity, intersection of all faces of preset three-dimensional geometric bodies, collinearity, basic node stability and basic node symmetry. It is worth noting that in the specific embodiment, the present application does not limit the screening method of the topological structure.

[0095] After screening the topological structures, we can obtain a target structure set that meets the requirements in terms of stability, physical properties, manufacturability, etc. Figure 1As shown, the generated target structure set is stored in database 130. The use of database 130 not only facilitates the subsequent management and calling of the topological structure, but also provides persistent data support for generating the lattice structure, thereby improving the efficiency of lattice structure design.

[0096] In an optional embodiment, when storing the target structure set, the basic line segment combinations and geometric characteristics corresponding to the screened topological structures are converted into a structured data format and stored in the database 130. The database 130 includes information such as the basic node coordinates, connection relationships, and screening parameters of the basic line segments in each topological structure.

[0097] The target structure set is stored in the database 130, which can be provided to users for query, adjustment and reuse at any time, greatly reducing the time required for designing and generating new structures. In addition, the database 130 also supports statistics and analysis of historical topological structure data, which can help users optimize the topological structure and obtain the optimal topological structure.

[0098] It should be noted that the storage form of the database 130 may include a relational database or a document-oriented database to meet the needs of different design systems, which is not limited in this application. In addition, it should be noted that the database 130 used may be, but is not limited to, a cloud database, a distributed database system, and a local database. In an optional embodiment, a graph database 130 may be used to represent the relationship between basic nodes and basic line segments, thereby improving the efficiency of query and screening. This application does not limit the storage form of the structured data.

[0099] S14: Reading a target topological structure from a target structure set; and performing modeling based on the target topological structure to obtain a lattice structure.

[0100] Furthermore, when a lattice structure needs to be generated, a target topological structure is read from the database 130 storing the target data set, and modeling is performed based on the target topological structure to obtain a lattice structure.

[0101] Therefore, compared with the fixed topology generation method, the method for generating the lattice structure provided in the embodiment of the present application can obtain a more diverse topology structure based on the free combination between nodes and between line segments, thereby generating a rich lattice structure to meet the needs of complex application scenarios for structural diversity and complexity. In addition, the present application automatically establishes a coordinate system and automatically generates a topology structure based on the specified coordinate points, without the need to manually input the coordinates of each node, thereby improving the generation efficiency of the lattice structure.

[0102] In an optional embodiment, screening the topological structure includes:

[0103] Using the basic line segments of the topological structure as the access path, traverse and access all basic nodes in the topological structure; and remove the topological structures with inaccessible basic nodes;

[0104] According to the coordinates of the basic nodes, a topological structure is extracted in which the topological structure intersects with all faces of the preset three-dimensional geometric body.

[0105] The connectivity of the topological structure is crucial to the rigidity and mechanical properties of the lattice structure. Therefore, in an optional embodiment, it is necessary to screen the connectivity of the topological structure to determine that there is a connection relationship between the basic nodes in each topological structure, that is, there are no isolated basic nodes and basic line segments. This improves the strength of the lattice structure to withstand external forces and ensures good physical properties in practical applications.

[0106] Specifically, the basic line segments in the topological structure are used as access paths to traverse and access all basic nodes in the topological structure to determine whether all basic nodes are accessible. If any basic node is inaccessible, it indicates that the topological structure has isolated basic nodes or basic line segments, that is, the topological structure is not a complete connected structure. At this time, the topological structure with inaccessible basic nodes is eliminated.

[0107] In an optional embodiment, when the connectivity of the topological structure is screened, the connectivity analysis method in graph theory can be used to verify the connectivity of each topological structure. Specifically, the connected components are found in the graph, and the basic nodes are traversed by depth-first search (DFS) or breadth-first search (BFS) to determine whether all basic nodes are in the same connected subgraph. If so, the topological structure is determined to be a connected structure.

[0108] It is worth noting that the method of determining the connectivity of the topological structure may also include but is not limited to a Disjoint Set Found (DSU) algorithm, a Kruskal algorithm, and a Prim algorithm, which is not limited in this application.

[0109] In another optional embodiment, ensuring that the topological structure intersects with all faces of the preset three-dimensional geometric body can ensure that the basic nodes and basic line segments are evenly distributed in the lattice structure, thereby ensuring that the basic line segments in different directions are effectively connected, so that the lattice structure has support at different locations, thereby improving the stability of the lattice structure.

[0110] Therefore, in addition to screening the connectivity of the topological structure, it is also necessary to screen the intersection of the topological structure and all the faces of the preset three-dimensional geometric body. In an optional embodiment, the relationship between the topological structure and all the faces of the preset three-dimensional geometric body is determined by geometric projection and intersection detection. Specifically, the coordinates of the basic nodes can be used to determine whether the basic nodes or basic line segments have intersections with all the faces of the preset three-dimensional geometric body.

[0111] It can be understood that the basic node is a specified coordinate point on the preset three-dimensional geometric body, so the coordinates of the basic node can be directly compared to determine whether the basic node has an intersection with all the faces of the preset three-dimensional geometric body. Further, if the topological structure does not have any intersection with any of the faces of the preset three-dimensional geometric body, the topological structure is eliminated.

[0112] Therefore, screening all faces of the intersection preset three-dimensional geometric body of the topological structure can not only improve the stability of the lattice structure in all directions, but also enable each part of the lattice structure to effectively share pressure and transfer load when subjected to force, thereby showing better balance and anti-deformation ability under multi-directional force environment.

[0113] It should be noted that the present application does not limit the connectivity of the topological structure and the order of screening all faces of the intersection preset three-dimensional geometric body. In order to improve the screening efficiency, different topological structures can be directly and simultaneously screened until all topological structures are screened.

[0114] Therefore, the lattice structure generation method provided in the embodiment of the present application introduces an automatic screening mechanism for topological structures, which can screen the generated basic line segment combinations to ensure that the topological structure meets specific geometric requirements. The automatic generation and screening of large quantities of topological structures greatly improves the generation efficiency while ensuring the quality of the generated lattice structure.

[0115] On the basis of the above embodiment, in order to further improve the quality of the generated lattice structure, as an optional embodiment, the topological structure is screened, further comprising:

[0116] According to the coordinates of the basic nodes, determine whether there are multiple basic line segments on the same straight line in the topological structure; and remove the topological structure where multiple basic line segments are on the same straight line;

[0117] Determine the number of connections between basic nodes and basic line segments in the topological structure; and eliminate topological structures corresponding to the number of connections greater than a first threshold and / or the number of connections less than a second threshold; wherein the first threshold is greater than the second threshold.

[0118] When combining and connecting basic line segments, there may be a situation where multiple basic line segments are collinear, resulting in redundant connections, affecting the overall performance of the lattice structure. Therefore, in a specific embodiment, the collinearity of the topological structure can be screened according to the coordinates of the basic nodes.

[0119] In an optional embodiment, the spatial relationship between the basic line segments can be determined by cross product calculation in vector operation. Specifically, the vectors of the basic line segments are determined according to the coordinates of the basic nodes, and the cross product between the basic line segment vectors is calculated. If the calculation result is zero, it indicates that the two basic line segments are collinear, and the topological structure with collinearity is eliminated, thereby avoiding redundant connections without effective rigidity contribution in the lattice structure.

[0120] It is worth noting that in addition to the method of calculating the vector cross product, it is also possible to use methods such as slope comparison or finding the rank of the vector matrix to determine whether there are collinear basic line segments in the topological structure. This application does not limit the collinearity screening method.

[0121] It is understandable that in a topological structure, the number of basic line segments connected to each basic node is different, and the stress conditions are different. In order to improve the stress strength of the lattice structure, it is necessary to ensure that the number of basic line segments connected to each basic node meets certain requirements, thereby improving the stability of the basic node in the structure. In particular, edge nodes and internal nodes require sufficient connections to disperse the stress and avoid node failure due to insufficient stress. Therefore, it is necessary to screen the stability of the basic nodes in the topological structure.

[0122] In an optional embodiment, the degree of a node can be analyzed for the connection of each basic node, similar to the calculation of the degree of a basic node in graph theory, to achieve the screening of the stability of the basic node. Specifically, according to the position of the basic node in the preset three-dimensional geometric body (for example, vertex, edge and face, etc.), the number of connections between each basic node and the basic line segment in the topological structure is determined, and the topological structure corresponding to the number of connections greater than the first threshold and / or the number of connections less than the second threshold is eliminated. Among them, the first threshold is greater than the second threshold.

[0123] In another optional embodiment, the stress condition of each node can be analyzed based on a mechanical simulation method, so as to adjust the number of connections of the basic nodes and ensure the stability of the structure.

[0124] Therefore, based on the analysis of the stability of the foundation nodes in the topological structure, it is possible to ensure that each foundation node has sufficient connections in the structure to enhance the rigidity and strength of the overall structure. In particular, for foundation nodes in high stress areas, multi-point connection design can effectively disperse stress and improve the safety and service life of the structure.

[0125] Furthermore, in order to further improve the feasibility and stability of the lattice structure, the symmetry of the basic nodes is screened. Specifically, in an optional embodiment, the geometric relationship between the basic nodes can be determined by geometric similarity detection and symmetry, that is, whether the basic nodes are in the same plane or on the same straight line. For example, the coplanarity or coaxiality of multiple basic nodes is determined by geometric calculation to ensure that the geometric characteristics in the structure meet expectations, thereby reducing stress concentration and improving the feasibility and stability of the lattice structure during the manufacturing process.

[0126] It should be noted that this application does not limit the execution order between the screening of topological structures provided in the embodiment of the present application and the above-mentioned embodiments.

[0127] Therefore, the method for generating a lattice structure provided in the embodiment of the present application, on the basis of ensuring that the lattice structure can be generated by screening all faces of the preset three-dimensional geometric body through the connectivity of the topological structure and the intersection, further screens the topological structure for collinearity, basic node stability and basic node symmetry, thereby further improving the stability and resistance to deformation of the lattice structure.

[0128] Based on the above embodiment, as an optional embodiment, determining the number of connections between basic line segments of each basic node in the topological structure includes:

[0129] Assign corresponding weight coefficients to each basic node in the topological structure; and count the actual number of connections between each basic node and the basic line segment;

[0130] Determine the number of connections based on the weight coefficient and the actual number of connections.

[0131] In order to ensure the accuracy of basic node screening and further improve the quality of the lattice structure, in an optional embodiment, a corresponding weight coefficient is assigned to each basic node in the topological structure, wherein the sum of the weight coefficients corresponding to each basic node in each topological structure is equal to 1. When assigning weight coefficients, it can be assigned according to the stress conditions, importance, etc. of different basic nodes, which is not limited in this application.

[0132] After assigning weights, the actual number of connections between each basic node and the basic line segment is counted, and the number of connections is determined based on the weight coefficient and the actual number of connections. Specifically, the product of the weight basis and the actual number of connections can be used as the number of connections. It is understandable that the calculated number of connections may not be an integer. For ease of understanding, an example will be given below.

[0133] For example, the basic nodes include basic node A, basic node B, and basic node C, and the weight coefficients assigned to each basic node are 0.2, 0.3, and 0.5, respectively, and the actual number of connections is 8, 6, and 3, respectively. Then the number of connections of basic node A is 0.2*8=1.6, the number of connections of basic node B is 0.3*6=1.8, and the number of connections of basic node C is 0.5*3=1.5.

[0134] Figure 4 A schematic flow chart of a method for generating a lattice structure provided in another embodiment of the present application, as an optional embodiment, such as Figure 4 As shown, modeling is performed based on the target topological structure to obtain a lattice structure, including:

[0135] S40: Obtain design parameters and node optimization instructions of the lattice structure;

[0136] In a specific embodiment, when a lattice structure needs to be generated, the design parameters and node optimization instructions of the lattice structure to be generated are first obtained. The design parameters include the basic structure type of the lattice structure and the basic parameters corresponding to the basic structure. The basic structure type includes but is not limited to a truss structure, a tubular structure and a shell structure. The basic parameters corresponding to the truss structure include but are not limited to the radius. The basic parameters corresponding to the tubular structure include but are not limited to the radius and thickness. The basic parameters corresponding to the shell structure include but are not limited to the radius, thickness and smoothing parameters.

[0137] It is understandable that in the process of modeling the lattice structure according to the target topology structure, the basic nodes of the target topology structure have not been moved. In order to adjust and optimize the lattice structure, the basic nodes can be moved. Therefore, the node optimization instruction refers to an instruction for controlling the movement of the basic nodes.

[0138] S41: mirror-flipping the target topological structure based on different planes of the three-dimensional space coordinate system to construct a three-dimensional skeleton consisting of multiple target topological structures;

[0139] In a specific embodiment of generating a lattice structure, the target topological structure is mirrored based on different planes in a three-dimensional space coordinate system through step S41, thereby constructing a three-dimensional skeleton composed of multiple target topological structures. Specifically, a basic three-dimensional skeleton is constructed based on the coordinates of the basic nodes in the target topological structure and the connection relationship between the basic nodes. The generation of the three-dimensional skeleton is the core of the lattice structure, and the accuracy of this stage directly affects the overall rigidity and printing feasibility of the lattice structure.

[0140] In an optional embodiment, when constructing a three-dimensional skeleton, the basic nodes and basic line segments can be mirrored and flipped in sequence. Specifically, the basic nodes in the target topological structure are first mirrored and flipped based on the X-plane of the three-dimensional space coordinate system to generate the node coordinates of the X-axis mirror. Furthermore, the basic nodes of the target topological structure and the node coordinates of the X-axis mirror are mirrored and flipped together based on the Y plane, thereby expanding to the symmetrical structure of the XY plane. Finally, all the currently obtained node coordinates are mirrored and flipped based on the Z plane to form a three-dimensional skeleton based on the target topological structure.

[0141] It can be understood that the three-dimensional skeleton obtained by mirror flipping can not only retain the geometric characteristics and connection relationships of the target topological structure, but also ensure the uniform distribution of the overall structure in different directions and good support performance, providing a more solid and consistent foundation for subsequent modeling and manufacturing. Figure 5 (a) is a structural schematic diagram of a three-dimensional skeleton provided in an embodiment of the present application, and Figure 5 (b) is a structural schematic diagram of another three-dimensional skeleton provided in an embodiment of the present application. For ease of understanding, Figures 5 (a) and 5 (b) will be combined for example.

[0142] For example, in an optional embodiment, if the target topological structure is the structure shown in FIG3 (a), after the target topological structure is mirrored and flipped, a three-dimensional skeleton as shown in FIG5 (a) can be obtained. Specifically, the target topological structure is mirrored and flipped based on the X, Y, and Z planes of the three-dimensional space coordinate system, and an eighth of a small cube (preset three-dimensional geometric body) shown in FIG3 (a) can be expanded and restored to a large cube (target geometric body), that is, eight small cubes shown in FIG3 (a) constitute a large cube as shown in FIG5 (a), thereby restoring a complete three-dimensional skeleton architecture for subsequent modeling and generation of a lattice structure.

[0143] In another optional embodiment, if the target topological structure is the structure shown in FIG3 (b), after the target topological structure is mirror-flipped, a three-dimensional skeleton as shown in the right figure of FIG5 (b) can be obtained. Specifically, the target topological structure is first mirror-flipped based on the X=Y plane and the X=Z plane of the three-dimensional space coordinate system, and then the whole is mirror-flipped based on the Y=Z plane to obtain the structure shown in the left figure of FIG5 (b). Further, the structure shown in the left figure of FIG5 (b) is mirror-flipped based on the X, Y, and Z planes of the three-dimensional space coordinate system to obtain the three-dimensional skeleton structure described in the right figure of FIG5 (b). In other words, the tetrahedron of the preset three-dimensional combination body in FIG3 (b) is flipped to obtain the cube shown in the right figure of FIG5 (b). Thus, the topological structure in FIG3 (b) can be flipped to obtain the three-dimensional skeleton of the right figure of FIG5 (b). The left figure of FIG5 (b) is a schematic diagram of a structure obtained by flipping in the middle.

[0144] S42: According to the node optimization instruction, the basic nodes in the three-dimensional skeleton are controlled to move to obtain a target three-dimensional skeleton;

[0145] Furthermore, in order to adapt to complex external geometric shapes or to meet specific mechanical requirements, after the three-dimensional skeleton is generated, the basic nodes in the three-dimensional skeleton can be controlled to move according to the node optimization instructions and adjusted to a more solid target three-dimensional skeleton, thereby maximizing the design flexibility and optimizing the performance of the structure.

[0146] It should be noted that in an optional embodiment, the basic nodes of the target topological structure may be moved first, and then the three-dimensional skeleton may be generated. Alternatively, the three-dimensional skeleton may be generated first, and then the basic nodes in the three-dimensional skeleton may be moved, which is not limited in this application.

[0147] S43: Based on the design parameters, a target three-dimensional skeleton is modeled to obtain a lattice structure.

[0148] After step S40 to step S42, the target three-dimensional skeleton is modeled based on the design parameters to obtain a lattice structure. In a specific embodiment, different basic structure types correspond to different basic parameters. For example, the basic parameter corresponding to the truss structure is the radius. The radius of the truss structure determines the thickness of the rods constituting the truss. The main characteristics of the truss structure are light weight and ability to withstand large tensile and compressive forces. The size of the radius has an important influence on the strength of the rods and the bearing capacity of the overall structure.

[0149] For tubular structures, the radius and thickness determine the thickness and wall thickness of the rods that make up the tubular structure, respectively. The radius determines the overall size of the tubular structure, while the wall thickness affects the stiffness and bending strength of the tube. In tubular structures, a reasonable combination of radius and thickness can effectively reduce weight while ensuring strength, and is an important parameter for lightweight design.

[0150] For shell structures, the radius, thickness, and smoothing parameters determine the thickness, wall thickness, and surface smoothness of the rods that make up the shell structure, respectively. Shell structures are often used in applications that cover or enclose spaces. The thickness affects the stiffness and stability of the shell, while the smoothing parameters are used to control the continuity and smoothness of the surface, thereby reducing surface defects in 3D printing and improving the appearance and mechanical properties of the finished product.

[0151] It should be noted that the radius of the truss structure, the radius and thickness of the tubular structure, and the radius, thickness and smoothing parameters of the shell structure can be generated randomly or according to specific optimization goals. Of course, they can also be specific values ​​given by the user, which is not limited in this application.

[0152] After the design parameters are determined, in a specific embodiment of lattice structure generation, in order to ensure that the lattice structure meets the design requirements, the validity of the lattice structure must also be ensured, that is, the printing quality of the lattice structure must be ensured.

[0153] In an optional embodiment, for judging the structural validity of the truss structure, specifically, the radius of the truss structure determines the thickness of the rods constituting the truss, which is directly related to the strength of the structure and the printing quality. Therefore, in a specific embodiment, it is necessary to evaluate whether the radius of the truss structure is within the printing capacity of the printer. If the rod is too thin, it may be necessary to increase the radius or adjust the printing resolution to ensure that the printed rod has sufficient strength and will not break.

[0154] For the effectiveness judgment of the tubular structure and the shell structure, specifically, the radius, thickness and smoothing parameters determine the strength and printing quality of the two structures. In a specific embodiment, it is determined whether the thickness of the tube wall is uniform and whether there is a too thin part. If the thickness of the tube wall is uneven or there is a too thin part, it may be difficult to form or easy to collapse during the printing process. Therefore, it is necessary to adjust the basic parameters of the tubular structure and the shell structure.

[0155] It is worth noting that the basic parameters need to match the selected printing process and material properties. For example, for Fused Filament Fabrication (FFF) or Fused Deposition Modeling (FDM) technology, basic parameters (such as layer thickness, filling density, and support structure) need to be optimized according to the printing material (such as Polylactic acid (PLA) and Acrylonitrile Butadiene Styrene (ABS)).

[0156] In an optional embodiment, if it is determined based on the validity structure that the basic parameters of the basic structure type do not meet the printing requirements, a basic parameter adjustment suggestion can be directly given, for example, changing the radius of the rod, wall thickness and other parameters. An optional real-time method for basic parameter optimization is that the user optimizes the basic parameters based on the feedback of the structure validity, so as to achieve the best printing effect and structural performance.

[0157] Therefore, under the joint effect of design parameters and structural validity judgment, the generated lattice structure not only meets the design requirements, but also can achieve efficient and accurate molding in the 3D printing process, thereby improving the quality and performance of the finished product.

[0158] In an optional lattice structure generation embodiment, after the structure validity is judged, the target three-dimensional skeleton that meets the requirements will be used to generate the final lattice structure. It can be understood that step S43 is to convert the abstract three-dimensional skeleton into a solid model for actual printing and manufacturing. Figure 6 (a) is a structural schematic diagram of a lattice structure provided in an embodiment of the present application, and Figure 6 (b) is a structural schematic diagram of another lattice structure provided in an embodiment of the present application. For ease of understanding, Figures 6 (a) and 6 (b) will be used as examples below.

[0159] For example, in an optional embodiment, the three-dimensional skeleton shown in FIG5 (a) generates a lattice structure as shown in FIG6 (a) after 3D printing. In FIG6 (a), the left figure shows a lattice structure 1 whose basic structure type is a truss structure, the middle figure shows a lattice structure 2 whose basic structure type is a tubular structure, and the right figure shows a lattice structure 3 whose basic structure type is a shell structure.

[0160] In another optional embodiment, the three-dimensional skeleton shown in the right figure of Figure 5 (b) generates a lattice structure as shown in Figure 6 (b) after 3D printing. In Figure 6 (b), the left figure shows a lattice structure 4 whose basic structure type is a truss structure, the middle figure shows a lattice structure 5 whose basic structure type is a tubular structure, and the right figure shows a lattice structure 6 whose basic structure type is a shell structure.

[0161] In an optional embodiment of generating a lattice structure, the modeling process can be implemented using the PythonOCC library or the LibIGL library. In fact, the present application does not limit the specific tools for generating the lattice structure. The PythonOCC library and the LibIGL library can provide rich geometry processing functions, so that basic nodes and basic line segments can be expanded into rods with volume, thereby generating a spatial structure that can be actually printed.

[0162] In addition to PythonOCC library and LibIGL library can realize the modeling of lattice structure, in an optional embodiment, OpenCASCADE library can also be used. Specifically, PythonOCC is the Python interface of OpenCASCADE, and the C++ version of OpenCASCADE library can be directly used to implement the same functions, especially the geometry generation and modeling part. Using OpenCASCADE library for development can provide higher computing efficiency and greater flexibility in performance optimization.

[0163] In another optional embodiment, the CGAL (Computational Geometry Algorithms Library) library can be used to implement the modeling of the lattice structure. The CGAL library is a powerful geometric calculation library that can be used to generate and process complex three-dimensional geometric shapes. It can provide a wealth of geometric algorithms that can be used for basic line segment generation, screening and modeling processes, especially in improving geometric accuracy and processing complex topological structures.

[0164] In another optional embodiment, the PyVista library can be used to implement the modeling of lattice structures. The PyVista library is a Python interface based on the Visualization Toolkit (VTK) that provides comprehensive interactive visualization and analysis capabilities for 3D data. The library allows users to voxelize 3D data sets, generate voxel grids, and perform operations such as slicing and volume rendering on these grids. In addition, the interactive visualization capabilities of the PyVista library are particularly suitable for exploring and displaying complex 3D data sets, including but not limited to the modeling and analysis of lattice structures.

[0165] In another optional embodiment, the Trimesh library can be used to implement the modeling of lattice structures. Trimesh is a Python library designed specifically for processing and analyzing 3D meshes. It supports the import and export of multiple file formats, including but not limited to STL format, OBJ format and PLY format. The library provides a series of geometric processing functions, so that basic nodes and basic line segments can be expanded into rods with volume, thereby generating a spatial structure that can be actually printed. In addition, the Trimesh library also provides analysis tools such as calculating volume, surface area and center of mass, which are of great value for performance evaluation and design optimization of lattice structures.

[0166] In an optional embodiment, Blender and its Python API can also be used to implement modeling of lattice structures. Blender is an open source 3D modeling tool. In combination with its Python API, lattice structure generation and optimization can be achieved. Blender's Python interface provides a wealth of geometry processing functions, which can be used to generate basic nodes and basic line segments, and to achieve movement, screening and optimization through scripts.

[0167] In another optional embodiment, the FEniCS library can be used to assist and optimize the modeling of the lattice structure. The FEniCS library is an open source library for solving partial differential equations. Although it is mainly used for finite element analysis, it can be used to simulate and optimize the mechanical properties of the generated lattice structure. Combined with other geometry processing libraries, a comprehensive evaluation and optimization of the structure can be achieved.

[0168] In an optional embodiment, the TetGen library can be used to assist and optimize the modeling of lattice structures. The TetGen library is a tool for generating tetrahedral meshes, which is suitable for dividing complex geometric structures into finite element meshes to facilitate subsequent mechanical analysis and optimization. This tool can be used in combination with other geometry processing libraries to achieve the generation and analysis of lattice structures.

[0169] In another optional embodiment, MATLAB and its geometric modeling toolbox can be used to implement lattice structure modeling. Using the geometric modeling toolbox in MATLAB, basic node generation, basic line segment combination and modeling of lattice structure can be realized. The powerful numerical computing ability of MATLAB can also be used to optimize the strategy of basic node movement and non-movement to ensure the mechanical properties of the structure.

[0170] In addition, in another optional embodiment, the lattice structure modeling can be implemented by a three-dimensional CAD modeling tool. Specifically, for example, software such as SolidWorks, Autodesk Inventor, Creo, etc. can be used to generate basic node and basic line segment combinations and lattice structure modeling through the software's API interface, and use its built-in optimization and simulation tools to perform structural analysis.

[0171] Specific modeling also includes further refinement of geometric information, generation of patches, and model optimization. Specifically, if an explicit modeling method is used (for example, PythonOCC library, Blender and its Python API), a geometric shape is generated according to the target three-dimensional skeleton to form a three-dimensional model with entity attributes, and finally exported as one of the STP files, STL files, and OBJ files. If an implicit modeling method is used (for example, LibIGL library and PyVista library), a voxel structure is first established, and then an algorithm (for example, Marching Cubes algorithm, Dual Contouring algorithm, etc.) is used to convert the voxels into a three-dimensional geometric model and generate an STL or OBJ file.

[0172] Furthermore, the generated lattice structure is optimized, including the simplification and refinement of the facets. For 3D printing, the number of polygonal facets in the lattice structure will affect the printing time and the operating efficiency of the printer. Under the premise of ensuring the integrity of the structure, unnecessary facets are simplified to reduce the amount of data and optimize the printing time. In addition, the basic nodes and basic line segments connected to the external surface are refined to improve the overall strength and aesthetics of the model.

[0173] Finally, the modeled 3D data will be exported to a standard file format suitable for 3D printing. The file contains the geometric information of the lattice structure and can be directly input into the 3D printer for manufacturing. The generated file will also be further sliced ​​by the 3D printer's slicing software to determine the printing strategy and material usage of each layer, thereby achieving efficient printing and material utilization.

[0174] Therefore, the method for generating a lattice structure provided in the embodiment of the present application ensures that the generated lattice structure not only meets the diversity and optimization requirements in the design stage, but can also be printed efficiently and reliably in the manufacturing stage, ultimately meeting the mechanical properties and geometric requirements in practical applications.

[0175] In an optional embodiment, controlling the movement of the basic nodes in the three-dimensional skeleton according to the node optimization instruction includes:

[0176] Determine a node movement mode according to the node optimization instruction; wherein the node movement mode includes at least one of a random movement mode, a fixed movement mode and a specified movement mode;

[0177] Controls the movement of base nodes in the 3D skeleton based on the node movement mode.

[0178] In a specific embodiment, the flexibility of the movement of the basic nodes enables a more adaptable structure to be generated in different application scenarios, thereby improving the versatility and flexibility of the design. The generated skeleton structure not only meets the specific mechanical performance requirements, but also has a high success rate and finished product quality in the 3D printing process, and is suitable for various engineering applications, especially those scenarios with high requirements for structural lightweight and strength.

[0179] In an optional embodiment, when controlling the movement of the basic nodes in the three-dimensional skeleton according to the node optimization instruction, the node movement mode is first determined according to the node optimization instruction. Specifically, the node movement mode includes at least one of a random movement mode, a fixed movement mode, and a specified movement mode.

[0180] In an optional embodiment, when the node movement mode is a random movement mode, the base nodes located on the edge of a preset three-dimensional geometric body in the three-dimensional skeleton are controlled to move on the corresponding edge, the base nodes located on the surface of the preset three-dimensional geometric body are controlled to move on the corresponding surface, and the base nodes located inside the body of the preset three-dimensional geometric body are controlled to move inside the body.

[0181] Specifically, the basic nodes located on the edge of the preset three-dimensional geometric body play a role in maintaining the boundary shape in the lattice structure. The movement of the basic nodes located on the edge of the preset three-dimensional geometric body can be used to adjust the rigidity of the boundary of the lattice structure, so that the structure can better resist external force impact. When moving the basic nodes located on the edge of the preset three-dimensional geometric body, it can be moved along the edge of the preset three-dimensional geometric body and controlled to move within the movement range, that is, optimized at a local position. Of course, it can also be adjusted according to specific design requirements.

[0182] For the basic nodes located on the surface of the preset three-dimensional geometric body, they are mainly used to maintain the integrity of the surface structure and adjust local details to enhance the rigid structure within the surface. For example, moving the basic nodes to the center of the preset three-dimensional geometric body surface, or close to the edge of the surface, can change the overall force direction of the lattice structure, thereby helping to improve the compression performance of the lattice structure. When moving the basic nodes located on the surface of the preset three-dimensional geometric body, control these nodes to move within the specified range within the surface to avoid abrupt displacement in the direction perpendicular to the surface, thereby maintaining the flatness and consistency of the overall surface, thereby maintaining coordination with other nodes on the surface.

[0183] The basic nodes located in the preset three-dimensional geometric body are mainly used to improve the internal rigidity and stress conditions of the lattice structure. Optimize stress distribution and reduce stress concentration. Specifically, the local concentrated stress can be effectively dispersed to other surrounding basic nodes through the movement of these basic nodes. Thereby increasing the flexibility and diversity of the lattice structure, and improving the bearing capacity and overall rigidity of the lattice structure. The movement of the basic nodes located in the preset three-dimensional geometric body has a large degree of freedom, and can usually move in any direction or within a specified range, which is not limited in this application.

[0184] In another optional embodiment, when the node movement mode is a fixed movement mode, the position of the base node in the three-dimensional skeleton is adjusted by specifying an optimization algorithm. Specifically, a topology optimization algorithm can be used to automatically adjust the base node position to maximize the structural stiffness or minimize the material usage. The base node position can also be automatically adjusted according to the input design parameters by training a neural network model to achieve the optimal lattice structure design. This application does not specifically limit the specified optimization algorithm.

[0185] In another optional embodiment, when the node movement mode is the specified movement mode, the terminal movement coordinates of each basic node in the three-dimensional skeleton are determined according to the node optimization instruction; and each basic node in the three-dimensional skeleton is controlled to move to the corresponding terminal movement coordinates. Specifically, the user can adjust the position of the basic node independently according to the modeling experience, obtain the terminal coordinates to which the basic node to be adjusted sent by the user is finally moved, that is, the terminal movement coordinates, and then control the basic node to move accordingly.

[0186] It is understandable that in the specified movement mode, a specific movement direction and distance are set according to the design requirements and mechanical goals. This can optimize the stress concentration problem, ensure that the lattice structure can better disperse the force after the basic node moves, and better adapt to complex design requirements and diverse engineering application scenarios. Figure 7 This is a schematic diagram of the structure of a three-dimensional skeleton provided in another embodiment of the present application. For ease of understanding, the following will be combined with Figure 7 Give an example.

[0187] In an optional embodiment, the basic nodes in the topological structure shown in FIG. 3 (a) may be moved to obtain Figure 7 The topology shown in the middle left figure is further improved by Figure 7 The topological structure shown in the middle left figure is mirrored and flipped to obtain Figure 7 Of course, in another optional embodiment, the three-dimensional skeleton of 2 (c) can also be obtained by moving the basic nodes. Figure 7 The 3D skeleton shown in the middle right image.

[0188] In fact, in order to obtain a lattice result with higher symmetry and stronger stability, in a preferred embodiment, it is preferred to move the basic nodes of the topological structure, and then obtain a three-dimensional skeleton based on the mirror flipping of the moved topological structure, and further generate a lattice structure based on the obtained three-dimensional skeleton.

[0189] In fact, in an optional embodiment, the base nodes may not be moved. Not moving the nodes can keep the structure symmetrical and uniform. Especially in applications requiring structural load-bearing symmetry, not moving the nodes can significantly improve the overall stability.

[0190] It is understandable that in the design of lattice structures, some application scenarios require the structure to have high symmetry and uniformity. Keeping the base node position fixed can make the lattice structure have good symmetry, thereby ensuring that the overall structure has consistent physical properties in all directions, especially stiffness and fatigue resistance.

[0191] In addition, not moving nodes can also reduce the complexity of the design, especially when a large number of similar structures need to be generated. Not moving nodes keeps the design relatively simple, while also reducing the number of design parameters, which helps to improve the efficiency of lattice structure generation. In other words, during the 3D printing process, keeping the nodes stationary means that the generated structure has a simpler geometry, thereby reducing the complexity of printing path planning. This not only increases the printing speed, but also reduces possible errors during the printing process and improves the quality of the finished product.

[0192] Therefore, the method for generating a lattice structure provided in the embodiment of the present application generates a more adaptable lattice structure in different application scenarios through the flexible control of the movement of the basic nodes, thereby improving the versatility and flexibility of the lattice structure design. It is ensured that the generated lattice structure not only meets the specific mechanical performance requirements, but also ensures the success rate of the 3D printing process and the quality of the finished product, and is suitable for various scenarios with high requirements for lightweight and strength of the structure.

[0193] In an optional embodiment, before screening the topological structure, the method further includes:

[0194] Determine whether the preset number of entries is greater than a threshold;

[0195] If it is greater, the topology structure is filtered through the target optimization algorithm;

[0196] If not, proceed to the step of screening the topological structure.

[0197] It can be understood that as the value of M continues to increase, more line segment combinations are formed, that is, more line segment combinations are connected by each M basic line segment combination, until M=L / 2, when the number of line segment combinations reaches the maximum value, where L is the number of basic line segments.

[0198] The more combinations of line segments there are, the more topological structures are obtained after the basic line segments are combined and connected. Furthermore, under a large number of topological structures, the screening of connectivity, intersection of all faces of preset three-dimensional geometric bodies, collinearity, basic node stability and basic node symmetry of all topological structures will reduce the generation efficiency of the lattice structure.

[0199] Therefore, in order to solve the above technical problems, in an optional embodiment, before screening the topological structure, it is first determined whether the number of line segment combinations currently generated is too large. Specifically, when it is determined that the preset number is greater than the threshold, it is determined that the current number of line segment combinations is too large. To ensure the efficiency of lattice structure generation, the topological structure is first filtered through the target optimization algorithm to eliminate topological structures with poor quality.

[0200] In an optional embodiment, when filtering the topological structure, a genetic algorithm may be used to select and adjust the line segment combination, thereby improving the performance of the generated structure. The present application does not specifically limit the target optimization algorithm.

[0201] Of course, if the preset number of entries is not greater than the threshold, in order to ensure the quality of the generated lattice structure, the topological structure is directly screened to obtain a high-quality target structure set.

[0202] It is worth noting that when L is an even number, M=L / 2 corresponds to the largest number of line segment combinations. When M is a cardinality, the value of M=L / 2 is rounded up or down, and the corresponding number of line segment combinations is the largest. Therefore, in order to ensure that the number of line segment combinations corresponding to the threshold does not exceed the maximum value, the threshold is less than L / 2.

[0203] Therefore, the method for generating a lattice structure provided in the embodiment of the present application performs a topological structure filtering before screening the topological structure, thereby improving the generation efficiency of the lattice structure.

[0204] In the above embodiments, the method for generating a lattice structure is described in detail. The present application also provides an embodiment corresponding to a device for generating a lattice structure.

[0205] Figure 8 A schematic diagram of a lattice structure generating device provided in an embodiment of the present application is shown in FIG. Figure 8 As shown, the device comprises:

[0206] A coordinate system establishment module 80 is used to establish a three-dimensional space coordinate system with a specified point on a preset three-dimensional geometric body as an origin;

[0207] The node combination module 81 is used to use the designated coordinate points on the preset three-dimensional geometric body as basic nodes, and to combine and connect the basic nodes in pairs to obtain basic line segments; wherein the number of the designated coordinate points is greater than 1;

[0208] A construction module 82, configured to construct a topological structure by combining any preset number of basic line segments;

[0209] A screening module 83 is used to screen the topological structures to obtain a target structure set;

[0210] The lattice generation module 84 is used to read the target topological structure from the target structure set and perform modeling based on the target topological structure to obtain a lattice structure.

[0211] In addition, the lattice structure generation device provided in the embodiment of the present application further includes:

[0212] The first screening submodule is used to traverse and access all basic nodes in the topological structure using the basic line segments of the topological structure as the access path; and to eliminate the topological structures with inaccessible basic nodes;

[0213] The second screening submodule is used to extract a topological structure in which the topological structure intersects with all faces of a preset three-dimensional geometric body according to the coordinates of the basic nodes.

[0214] The third screening submodule is used to determine whether there are multiple basic line segments on the same straight line in the topological structure according to the coordinates of the basic nodes; and to eliminate the topological structure where multiple basic line segments are on the same straight line;

[0215] The fourth screening submodule is used to determine the number of connections between basic nodes and basic line segments in the topological structure; and eliminate the topological structures corresponding to the number of connections greater than a first threshold and / or the number of connections less than a second threshold; wherein the first threshold is greater than the second threshold.

[0216] The connection quantity determination module is used to assign corresponding weight coefficients to each basic node in the topological structure; and count the actual number of connections between each basic node and the basic line segment; and determine the number of connections based on the weight coefficients and the actual number of connections.

[0217] An acquisition module, used to acquire design parameters and node optimization instructions of the lattice structure;

[0218] A mirror flipping module is used to mirror flip the target topological structure based on different planes of the three-dimensional space coordinate system to construct a three-dimensional skeleton composed of multiple target topological structures;

[0219] A control module, used for controlling the movement of basic nodes in the three-dimensional skeleton according to the node optimization instruction to obtain a target three-dimensional skeleton;

[0220] The modeling module is used to model the target three-dimensional skeleton based on the design parameters to obtain the lattice structure.

[0221] A node movement mode determination module, used to determine a node movement mode according to a node optimization instruction; wherein the node movement mode includes at least one of a random movement mode, a fixed movement mode and a specified movement mode;

[0222] The control module is also used to control the movement of the basic nodes in the three-dimensional skeleton based on the node movement mode.

[0223] The first control submodule is used to control the basic nodes located on the edge of the preset three-dimensional geometric body in the three-dimensional skeleton to move on the corresponding edge, the basic nodes located on the surface of the preset three-dimensional geometric body to move on the corresponding surface, and the basic nodes located in the body of the preset three-dimensional geometric body to move in the body when the node movement mode is the random movement mode;

[0224] The second control submodule is used to adjust the position of the basic node in the three-dimensional skeleton by specifying an optimization algorithm when the node movement mode is a fixed movement mode;

[0225] The third control submodule is used to determine the terminal movement coordinates of each basic node in the three-dimensional skeleton according to the node optimization instruction when the node movement mode is the specified movement mode; and control each basic node in the three-dimensional skeleton to move to the corresponding terminal movement coordinates.

[0226] The processing module is used to determine whether the preset number of entries is greater than a threshold; if so, the topological structure is filtered through a target optimization algorithm; if not, the step of screening the topological structure is entered.

[0227] Fig. 9 A schematic diagram of a lattice structure generating device provided in another embodiment of the present application is shown in FIG. Fig. 9 As shown, the lattice structure generating device includes: a memory 90 for storing a computer program;

[0228] The processor 91 is used to implement the steps of the method for generating a lattice structure as mentioned in the above embodiment when executing a computer program.

[0229] The device for generating the lattice structure provided in this embodiment may include, but is not limited to, a smart phone, a tablet computer, a laptop computer, or a desktop computer.

[0230] Among them, the processor 91 may include one or more processing cores, such as a 4-core processor, a 9-core processor, etc. The processor 91 can be implemented in at least one hardware form of a digital signal processor (Digital Signal Processor, referred to as DSP), a field programmable gate array (Field-Programmable Gate Array, referred to as FPGA), and a programmable logic array (Programmable Logic Array, referred to as PLA). The processor 91 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a central processing unit (Central Processing Unit, referred to as CPU); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 91 may be integrated with a graphics processing unit (Graphics Processing Unit, referred to as GPU), and the GPU is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 91 may also include an artificial intelligence (Artificial Intelligence, referred to as AI) processor, which is used to process computing operations related to machine learning.

[0231] The memory 90 may include one or more computer-readable storage media, which may be non-transitory. The memory 90 may also include a high-speed random access memory, and a non-volatile memory, such as one or more disk storage devices, flash memory storage devices. In this embodiment, the memory 90 is at least used to store the following computer program 901, wherein, after the computer program is loaded and executed by the processor 91, the relevant steps of the method for generating a lattice structure disclosed in any of the aforementioned embodiments can be implemented. In addition, the resources stored in the memory 90 may also include an operating system 902 and data 903, etc., and the storage method may be temporary storage or permanent storage. Among them, the operating system 902 may include Windows, Unix, Linux, etc. Data 903 may include, but is not limited to, relevant data involved in the method for generating a lattice structure, etc.

[0232] In some embodiments, the lattice structure generating device may further include a display screen 92 , an input / output interface 93 , a communication interface 94 , a power supply 95 , and a communication bus 96 .

[0233] Those skilled in the art will understand that Fig. 9 The structure shown in the figure does not constitute a limitation on the device for generating the lattice structure, and may include more or fewer components than those shown in the figure.

[0234] The lattice structure generation device provided in the embodiment of the present application includes a memory and a processor. When the processor executes the program stored in the memory, it can implement the lattice structure generation method in the above embodiment.

[0235] It should be noted that, although the operations are depicted in a specific order in the accompanying drawings, this should not be understood as requiring these operations to be performed in the specific order shown or to be performed sequentially, or requiring all illustrated operations to be performed to achieve the desired results. In some cases, multitasking and parallel processing may be advantageous. In addition, the separation of various system modules and components in the above-described embodiments should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product, or packaged into multiple software products.

Claims

1. A method for generating a lattice structure, characterized in that: The method comprises: Establish a three-dimensional space coordinate system with a specified point on the preset three-dimensional geometric body as the origin; Using designated coordinate points on the preset three-dimensional geometric body as basic nodes, and combining and connecting the basic nodes in pairs to obtain basic line segments; wherein the number of the designated coordinate points is greater than 1; Constructing a topological structure by using any preset number of basic line segments; After screening the topological structures, a target structure set is obtained; Reading a target topological structure from the target structure set; and performing modeling based on the target topological structure to obtain a lattice structure; The step of screening the topological structure includes: Determine the number of connections between each of the basic nodes in the topological structure and the basic line segments; and eliminate the topological structures corresponding to the number of connections being greater than a first threshold and / or the number of connections being less than a second threshold; wherein the first threshold is greater than the second threshold; Determining the number of connections between each of the basic nodes in the topological structure and the basic line segments includes: Assigning a corresponding weight coefficient to each of the basic nodes in the topological structure; and counting the actual number of connections between each of the basic nodes and the basic line segments; The number of connections is determined according to the weight coefficient and the actual number of connections.

2. The method for generating a lattice structure according to claim 1, characterized in that: The preset three-dimensional geometric body is a part of the target geometric body after being evenly cut into a preset number of parts, and the target geometric body includes a cube, a sphere and a cylinder.

3. The method for generating a lattice structure according to claim 1, characterized in that: Screening the topology includes: Taking the basic line segment of the topological structure as the access path, traverse and access all the basic nodes in the topological structure; and eliminate the topological structures that have the basic nodes that cannot be accessed; According to the coordinates of the basic nodes, a topological structure in which the topological structure intersects with all faces of the preset three-dimensional geometric body is extracted.

4. The method for generating a lattice structure according to claim 3, characterized in that: Screening the topological structure further includes: According to the coordinates of the basic nodes, it is determined whether a plurality of basic line segments in the topological structure are on the same straight line; and the topological structure in which a plurality of basic line segments are on the same straight line is eliminated.

5. The method for generating a lattice structure according to claim 1, characterized in that: Modeling is performed based on the target topological structure to obtain a lattice structure, including: Obtaining design parameters and node optimization instructions of the lattice structure; The target topological structure is mirror-flipped based on different planes of the three-dimensional space coordinate system to construct a three-dimensional skeleton consisting of a plurality of the target topological structures; According to the node optimization instruction, the basic nodes in the three-dimensional skeleton are controlled to move to obtain a target three-dimensional skeleton; Based on the design parameters, the target three-dimensional skeleton is modeled to obtain the lattice structure.

6. The method for generating a lattice structure according to claim 5, characterized in that: According to the node optimization instruction, controlling the basic nodes in the three-dimensional skeleton to move includes: Determine a node movement mode according to the node optimization instruction; wherein the node movement mode includes at least one of a random movement mode, a fixed movement mode and a specified movement mode; The base nodes in the three-dimensional skeleton are controlled to move based on the node movement mode.

7. The method for generating a lattice structure according to claim 6, characterized in that: Controlling the basic nodes in the three-dimensional skeleton to move based on the node movement mode includes: If the node movement mode is the random movement mode, control the basic nodes located on the edge of the preset three-dimensional geometric body in the three-dimensional skeleton to move on the corresponding edge, the basic nodes located on the surface of the preset three-dimensional geometric body to move on the corresponding surface, and the basic nodes located in the body of the preset three-dimensional geometric body to move in the body; If the node movement mode is the fixed movement mode, adjusting the position of the basic node in the three-dimensional skeleton by using a specified optimization algorithm; If the node movement mode is the specified movement mode, the end point movement coordinates of each basic node in the three-dimensional skeleton are determined according to the node optimization instruction; and each basic node in the three-dimensional skeleton is controlled to move to the corresponding end point movement coordinates.

8. The method for generating a lattice structure according to claim 1, characterized in that: Before screening the topology structure, the method further includes: Determine whether the preset number is greater than a threshold; If it is greater than, filtering the topological structure through a target optimization algorithm; If not, the step of screening the topological structure is entered.

9. A device for generating a lattice structure, characterized in that: The device comprises: A coordinate system establishment module is used to establish a three-dimensional space coordinate system with a specified point on a preset three-dimensional geometric body as the origin; A node combination module, used to use the designated coordinate points on the preset three-dimensional geometric body as basic nodes, and to combine and connect the basic nodes in pairs to obtain basic line segments; wherein the number of the designated coordinate points is greater than 1; A construction module, used for constructing a topological structure through any preset number of basic line segments; A screening module, used for screening the topological structures to obtain a target structure set; A lattice generation module is used to read a target topological structure from the target structure set; and to perform modeling based on the target topological structure to obtain a lattice structure; The fourth screening submodule is used to determine the number of connections between each basic node and the basic line segment in the topological structure; and to eliminate the topological structures corresponding to the number of connections greater than a first threshold and / or the number of connections less than a second threshold; wherein the first threshold is greater than the second threshold; The connection quantity determination module is used to assign corresponding weight coefficients to each basic node in the topological structure; and count the actual number of connections between each basic node and the basic line segment; and determine the number of connections based on the weight coefficients and the actual number of connections.

10. A device for generating a lattice structure, comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, characterized in that: When the processor executes the program, the steps of the method for generating a lattice structure according to any one of claims 1 to 8 are implemented.

11. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the steps of the method for generating a lattice structure according to any one of claims 1 to 8 are implemented.

Citation Information

Patent Citations

  • Field-guided lattice structure automatic design method

    CN117010241A