A method for constructing a biomimetic lattice model based on Grasshopper
By using the Grasshopper plugin to generate regular dot lattices, random functions, and Voronoi polygons, the problem of constructing irregular biomimetic lattice models was solved, enabling efficient and controllable construction of biomimetic lattice models that can adapt to the diverse needs of human skeletal structures.
Patent Information
- Application Number
- CN202211012818.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-23
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2042-08-23
AI Technical Summary
Existing technologies struggle to efficiently construct irregular biomimetic lattice models and design customized biomimetic lattices according to user needs.
The Grasshopper plugin is used to generate regular point lattices through the Series operator, and irregular point lattices are generated through a random function. A three-dimensional Voronoi porous structure is generated using Voronoi polygons and the Brep Wireframe operator. Jitter and Dendro plugins are used for jittering and smoothing. Finally, the solid model is output through the bake function.
It has achieved efficient construction of biomimetic lattice models, which can effectively simulate the actual situation of human skeleton, improve the controllability and adaptability of model parameters, and meet the construction of biomimetic lattices for different needs.
Smart Images

Figure CN115358126B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to parametric modeling technology, specifically to a method for constructing a biomimetic lattice model based on Grasshopper. Background Technology
[0002] Trabeculae are extensions of the cortex within cancellous bone, connecting to the cortex and supporting hematopoietic tissue. The trabecular structure itself is an irregular three-dimensional network containing numerous micropores. The flow of nutrients and metabolic waste within these trabeculae directly affects the bone scaffold's repair performance. Excellent biopermeability promotes the flow and diffusion of nutrients and metabolic waste within the scaffold, facilitating cell attachment and bone tissue regeneration.
[0003] Grasshopper is a unique modeling plugin for the Rhino platform. Its modeling method differs significantly from traditional modeling software. Its main feature is that Grasshopper can build a complete model generation logic through a series of modular processors, and generate the final model by executing these processors through computer calculations.
[0004] The emergence of additive manufacturing technology has enabled the production of extremely complex three-dimensional structures such as curved surfaces and lattices. Additive manufacturing employs a completely different approach from traditional processing methods, allowing biomimetic lattice models to also be manufactured using selective laser melting (SLM) technology within additive manufacturing. However, the current methods for constructing irregular biomimetic lattice models are generally quite challenging, and it is difficult to design a customized biomimetic lattice based on user requirements. Summary of the Invention
[0005] Purpose of the invention: The purpose of this invention is to provide a method for constructing Grasshopper-based biomimetic lattice models applicable to irregular biomimetic lattices.
[0006] Technical solution: The method for constructing a Grasshopper-based biomimetic lattice model according to the present invention includes the following steps:
[0007] (1) Use Grasshopper’s Series operator to create a regular dot matrix in space in the form of an arithmetic sequence;
[0008] (2) Generate cubes of the same size with the points of the regular dot matrix in step (1) as the center;
[0009] (3) Based on the points in step (2), an irregular random point matrix is generated in the cube using a random function;
[0010] (4) The irregular random dot matrix is jittered to varying degrees by the Jitter function in Grasshopper to obtain the final random dot matrix.
[0011] (5) A three-dimensional Voronoi polygon is generated by the irregular random dot matrix generated in step (4), and a biomimetic lattice model with a three-dimensional Voronoi irregular porous structure is generated by the three-dimensional Voronoi polygon.
[0012] (6) Subdivide the biomimetic lattice model to obtain a smoothed biomimetic lattice model;
[0013] (7) Use the brush function in Grasshopper to output the smoothed biomimetic lattice model from step (6) as a model for solid editing.
[0014] In step (1), parameters are set for the regular dot matrix, including the number of points in the regular dot matrix in the x, y, and z directions, and the distances between the points in the regular dot matrix in the x, y, and z directions.
[0015] In step (3), the random function is:
[0016] x'=x+r*rand*sin(π*rand)*cos(2*π*rand)
[0017] y'=y+r*rand*sin(π*rand)*cos(2*π*rand)
[0018] z'=z+r*rand*sin(π*rand)*cos(2*π*rand)
[0019] Where x, y, z are the coordinates of the regular point matrix in step (1), x′, y′, z′ are the coordinates of the random point generated by the random function, and rand is the random function that follows a uniform distribution and aims to generate a random value in the interval [0,1].
[0020] In step (4), the irregular random dot matrix is jittered to different degrees in an irregular manner. Specifically, based on the points in step (3), different degrees and distances of offset are set to obtain the irregular dot matrix.
[0021] In step (5), the irregular random dot matrix generated in step (4) is used to generate a three-dimensional Voronoi polygon, and the three-dimensional Voronoi polygon is used to generate a biomimetic lattice model with a three-dimensional Voronoi irregular porous structure. Specifically, this includes the following steps:
[0022] (5.1) Using the points of the irregular random point matrix generated in step (3) as the center, the three-dimensional Voronoi polyhedron is generated by the Voronoi 3D calculator in Grasshopper.
[0023] (5.2) Using the Brep Wireframe operator in Grasshopper, the edges of the obtained three-dimensional Voronoi polyhedron are extracted, and the original polyhedron is deleted to obtain the three-dimensional Voronoi polygon wireframe, thus obtaining the basic structure of the biomimetic lattice model.
[0024] (5.3) Use the End Point operator to extract the vertices of each edge of the wireframe, and subdivide each edge of the three-dimensional Voronoi polygon wireframe into corresponding points, and set the number of points;
[0025] (5.4) Using the Point To Volume operator in the Dendro plugin of Grasshopper, generate spheres with the same number of points and the same radius as the points, with each point on the edge as the center of a different sphere.
[0026] In step (5.4), the smoothness of the generated sphere is set. The smaller the value, the smoother the model.
[0027] Beneficial effects: Compared with the prior art, the technical solution of the present invention has the following beneficial effects: the biomimetic lattice model can more effectively simulate the actual situation of human skeleton; it can efficiently construct biomimetic lattice models with different needs according to the state of human skeleton; and the controllability of various parameters of such lattice models has been improved. Attached Figure Description
[0028] Figure 1 This is a schematic diagram of the process of the present invention;
[0029] Figure 2 A schematic diagram of the regular dot matrix established for this invention;
[0030] Figure 3 A schematic diagram of an irregular dot matrix established for this invention;
[0031] Figure 4 A schematic diagram of a three-dimensional Voronoi polygon wireframe established for this invention;
[0032] Figure 5 A schematic diagram illustrating the generation of points based on a wireframe, as established in this invention;
[0033] Figure 6 The biomimetic lattice model after smoothing was established for this invention. Detailed Implementation
[0034] The technical solution of the present invention will now be described in detail with reference to specific embodiments and accompanying drawings.
[0035] like Figure 1 As shown, the method for constructing a Grasshopper-based biomimetic lattice model according to the present invention includes the following steps:
[0036] (1) Establish a regular dot matrix in space using an arithmetic sequence;
[0037] like Figure 2 As shown, regular point matrices with a certain step size and a different number of points are generated in the x, y, and z directions in space. The parameters are set on the Series processor, with the step size set to 1.0, the number of points in the x and y directions set to 7, and the number of points in the z direction set to 5, thus generating a regular point matrices with 7*7*5=245 points.
[0038] (2) Generate cubes of the same size with the points of the regular dot matrix in step (1) as the center;
[0039] In this embodiment, a cube with a side length of 4.400mm is generated based on the regular dot matrix in step (1), and the irregular dot matrix points obtained subsequently will not exceed the range of this cube.
[0040] (3) Based on the points in step (2), an irregular random point matrix is generated in the cube using a random function;
[0041] The random function is:
[0042] x'=x+r*rand*sin(π*rand)*cos(2*π*rand)
[0043] y'=y+r*rand*sin(π*rand)*cos(2*π*rand)
[0044] z'=z+r*rand*sin(π*rand)*cos(2*π*rand)
[0045] The random points obtained in step (2) can be imported into the Expression calculator that has been input with the above random function to obtain an irregular random point matrix;
[0046] (4) The irregular random dot matrix is jittered to varying degrees by the Jitter function in Grasshopper to obtain the final random dot matrix.
[0047] like Figure 3As shown, based on the regular point matrix in step (3), the randomness of the random points generated in the x, y, and z directions is set to 3, 6, and 5 respectively. To enhance the irregularity of the random points, the jitter in the x direction is set to 0.546, and the jitter in the y and z directions is set to 0.787. Thus, the irregular random point matrix required to generate the three-dimensional Voronoi polygon can be obtained.
[0048] (5) A three-dimensional Voronoi polygon is generated from the irregular random dot matrix generated in step (4). The three-dimensional Voronoi polygon is then used to generate a biomimetic lattice model with a three-dimensional Voronoi irregular porous structure. The specific steps include:
[0049] (5.1) Using the points of the irregular random point matrix generated in step (3) as the center, use the Voronoi 3D calculator in Grasshopper to generate a three-dimensional Voronoi polyhedron; and check whether each polyhedron is closed, and delete any open or closed faces.
[0050] (5.2) Using the Brep Wireframe operator in Grasshopper, the edges of the obtained 3D Voronoi polyhedron are extracted, and the original polyhedron is deleted to obtain the 3D Voronoi polygon wireframe, thus obtaining the basic framework of the biomimetic lattice model; in this scheme, a total of 7530 good curves were obtained by viewing through the Panel operator, such as... Figure 4 As shown;
[0051] (5.3) The End Point operator is used to extract the vertices of each edge on the wireframe, and the DivideCurve operator is used to subdivide the corresponding points on each edge of the 3D Voronoi polygon. The Multiplication operator is used to set the number of points, specifically the number obtained by multiplying the length of each line by 50. Using the Panel, a total of 184,531 points are obtained. Figure 5 As shown;
[0052] (5.4) Using the Point To Volume operator in the Dendro plugin of Grasshopper, generate spheres with the same number of points and the same radius, with each point on the edge as the center of a different sphere. In this solution, the radius is set to 0.173. Use the Create Settings plugin in the Dendro plugin to set the smoothness of the generated spheres. The smaller the value, the smoother the model; if the value is too large, the model will be too rough. This value should not exceed 2 / 3 of the sphere's radius. Here, the smoothness is set to 0.03.
[0053] (6) Use the Weaverbird plugin in Grasshopper to smooth the biomimetic lattice model again, setting the smoothing level to 3, to obtain the smoothed biomimetic lattice model, as shown below. Figure 6 As shown;
[0054] (7) Use the brush function in Grasshopper to output the smoothed biomimetic lattice model from step (6) as a model for solid editing.
[0055] Models built using Grasshopper can only be viewed and displayed in Rhino. Finally, the model is baked into Rhino to obtain an editable solid model. The model is constructed by connecting and building together the processors in Grasshopper. Therefore, this invention allows for easy solid modeling of various biomimetic lattice models with different requirements by adjusting the parameters set on the processors. These biomimetic lattice models can more effectively simulate the actual human skeleton; they can efficiently construct biomimetic lattice models with different needs based on the state of the human skeleton; and the controllability of various parameters of these lattice models is improved.
Claims
1. A method for constructing a Grasshopper-based biomimetic lattice model, characterized in that, Includes the following steps: (1) Use Grasshopper’s Series operator to create a regular dot matrix in space in the form of an arithmetic sequence; (2) Generate cubes of the same size with the points of the regular dot matrix in step (1) as the center; (3) Based on the points in step (2), an irregular random point matrix is generated in the cube using a random function; (4) The irregular random dot matrix is jittered to varying degrees by the Jitter function in Grasshopper to obtain the final random dot matrix. (5) A three-dimensional Voronoi polygon is generated by the irregular random dot matrix generated in step (4), and a biomimetic lattice model with a three-dimensional Voronoi irregular porous structure is generated by the three-dimensional Voronoi polygon. (6) Subdivide the biomimetic lattice model to obtain a smoothed biomimetic lattice model; (7) Use the bake function in Grasshopper to output the smoothed biomimetic lattice model from step (6) as a model for solid editing. In step (5), the irregular random dot matrix generated in step (4) is used to generate a three-dimensional Voronoi polygon, and the three-dimensional Voronoi polygon is used to generate a biomimetic lattice model with a three-dimensional Voronoi irregular porous structure. Specifically, this includes the following steps: (5.1) Using the points of the irregular random point matrix generated in step (3) as the center, the three-dimensional Voronoi polyhedron is generated by the Voronoi 3D calculator in Grasshopper. (5.2) Using the Brep Wireframe operator in Grasshopper, the edges of the obtained three-dimensional Voronoi polyhedron are extracted, and the original polyhedron is deleted to obtain the three-dimensional Voronoi polygon wireframe, thus obtaining the basic structure of the biomimetic lattice model. (5.3) Use the End Point operator to extract the vertices of each edge on the wireframe, and use the Divide Curve operator to subdivide the corresponding points on each edge of the three-dimensional Voronoi polygon wireframe. Use the Multiplication operator to set the number of points. (5.4) Using the Point To Volume operator in the Dendro plugin of Grasshopper, generate spheres with the same number of points and the same radius as the points, with each point on the edge as the center of a different sphere.
2. The method for constructing a Grasshopper-based biomimetic lattice model according to claim 1, characterized in that: In step (1), parameters are set for the regular dot matrix, including the number of points in the regular dot matrix in the x, y, and z directions, and the distances between the points in the regular dot matrix in the x, y, and z directions.
3. The method for constructing a Grasshopper-based biomimetic lattice model according to claim 1, characterized in that, In step (3), the random function is: x'=x+r*rand*sin(π*rand)*cos(2*π*rand) y'=y+r*rand*sin(π*rand)*cos(2*π*rand) z'=z+r*rand*sin(π*rand)*cos(2*π*rand) In the formula, x, y, z are the coordinates of the regular point matrix in step (1), x', y', z' are the coordinates of the random point generated by the random function, and rand is the random function that follows a uniform distribution and aims to generate a random value in the interval [0,1].
4. The method for constructing a Grasshopper-based biomimetic lattice model according to claim 1, characterized in that: In step (4), the irregular random dot matrix is jittered to different degrees in an irregular manner. Specifically, based on the points in step (3), different degrees and distances of offset are set to obtain the irregular dot matrix.
5. The method for constructing a Grasshopper-based biomimetic lattice model according to claim 1, characterized in that: In step (5.4), the smoothness of the generated sphere is set. The smaller the value, the smoother the model.
Citation Information
Patent Citations
Design and manufacturing method of porous structure material based on medical implant
CN112632816A
Bone-like scaffold structure based on Voronoi diagram and design and preparation methods thereof
CN113297688A