A parametric modeling implementation method for various grid structures based on Grasshopper

By creating polygons and generating equal segmentation points in Grasshopper, combining functional batteries such as stream filter and number slider, the rapid establishment and parameterization of various grid structures is achieved, solving the problem of time-consuming and labor-intensive modeling and difficulty in regulating details in the existing technology, and improving design speed and modeling efficiency.

CN115357983BActive Publication Date: 2025-06-06ZHENGZHOU UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210991444.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-18
Publication Date
2025-06-06
Estimated Expiration
2042-08-18

AI Technical Summary

Technical Problem

It is difficult to efficiently establish multiple grid structure models in the existing technology, and the modeling process is time-consuming and labor-intensive, difficult to control details, and inconvenient selection.

Method used

The parameterized modeling implementation method of multiple grid structures based on Grasshopper is adopted. By creating polygons, generating equalization points, determining nodes and connecting rods in Grasshopper, combining functional batteries such as stream filter and number slider, the rapid establishment and parameterization of different grid structures are achieved.

Benefits of technology

It realizes the rapid establishment and parameterization of various grid structures, improves the design speed and modeling efficiency, simplifies the modeling process, and enhances the analysis effect of the model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115357983B_ABST
    Figure CN115357983B_ABST
Patent Text Reader

Abstract

The present invention discloses a parametric modeling implementation method of various grid structure forms based on Grasshopper, comprising the following steps: 1) creating a polygon corresponding to the grid structure form; 2) equally dividing and taking points on each side of the polygon; 3) generating upper-layer rods; 4) generating lower-layer rods; 5) generating webs in batches; 6) using a selection battery to represent different grid structure forms with different numbers; 7) inputting the obtained upper-layer rods, webs, lower-layer rods, and nodes into the selection positions corresponding to the grid structure forms in the selection battery respectively. The present invention can establish various grid structure forms, shorten the modeling time for some repeated processes in the process of establishing different grids, improve the efficiency, combine the advantages of parametric modeling, use the change of a few parameters to change the established model, and only need to input the corresponding parameters and select the model to output the model when using it, thereby improving the modeling efficiency and the speed of architectural design.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the technical field of auxiliary building design, and in particular to a Grasshopper-based parametric modeling implementation method for various grid structure forms. Background Art

[0002] The grid structure is a spatial structure composed of multiple rods connected by nodes in a certain grid form. In architectural practice, it has the advantages of light weight, high stiffness, small spatial force, good seismic performance and beautiful appearance. The grid structure has a wide range of applications. With the development of computers, it is common to conduct 3D modeling and analysis before construction. Grasshopper 3D modeling software based on the Rhino platform is widely used for its powerful functions that are not limited to model building. Due to the variety of grid structures, there are few existing methods for building grid structure models. Moreover, when modeling, several models need to be built for several schemes, which is time-consuming and labor-intensive, and it is difficult to adjust the details, and the selection is inconvenient. Therefore, in order to improve the modeling efficiency and the analysis effect after modeling, a parametric modeling implementation method of various grid structure forms based on Grasshopper is proposed. Summary of the invention

[0003] The purpose of the present invention is to overcome the deficiencies in the prior art and provide a parametric modeling implementation method for various grid structure forms of Grasshopper, which can establish various grid structures and improve the design speed and modeling efficiency at the same time.

[0004] To achieve the above object, the present invention adopts the following technical solution: a parametric modeling implementation method of various grid structure forms based on Grasshopper, comprising the following steps:

[0005] 1) In Grasshopper, call out the cell that creates the polygon corresponding to the grid structure in the architectural design, and get the corresponding polygon; the grid structure includes the upright tetrahedral grid, the two-way orthogonal grid, and the two-way oblique grid; after creating the polygon, the method of taking points on each side of the polygon is as follows: input the sequence of the series cell into the index of the listitem cell, and you can start from each group of points in the dot matrix input by the list item cell, starting from the point represented by the serial number start, and take points at intervals. The interval is represented by step, and the number of points taken is represented by count; the taken points are directly output or the points taken from the list item cell are input into the reverse list cell and then output in reverse order;

[0006] 2) generating points that equally divide each edge of the polygon obtained in step 1);

[0007] 3) Use the points on the polygon to determine the nodes required for the upper-layer rods, and connect the nodes to obtain the upper-layer rods;

[0008] 4) Determine the nodes required for the lower layer rods at the upper layer, move the nodes required for the lower layer rods downward along the z-axis to obtain the lower layer nodes, and connect the lower layer nodes to obtain the lower layer rods;

[0009] 5) Connecting the required upper nodes and lower nodes in batches to obtain webs;

[0010] 6) Call up the stream filter battery and use different numbers to represent different grid structures;

[0011] 7) Input the obtained member nodes, upper member, lower member and web member into the selected positions of the corresponding grid structure in the stream filter battery respectively;

[0012] In step 8), a number slider is used to set the grid structure to have a value of "0" and a grid structure to have a value of "1" and a grid structure to have a value of "2".

[0013] When the grid structure form in step 1) is determined to be an upright tetrahedral grid, a rectangle is created in step 1) by using the rectangle battery, the length of the four sides of the rectangle in the x-axis direction = the number of grids in the x-axis direction × the grid width in the x-axis direction, the length of the four sides of the rectangle in the y-axis direction = the number of grids in the y-axis direction × the grid width in the y-axis direction, and the number of grids and the grid width are both grid data determined by the architectural design; the operation of obtaining the points on the polygon that divide each side equally in step 2) is: using the list item battery to obtain the four sides of the rectangle respectively, and then numbering the four sides of the rectangle 0, 1, 2, and 3 in sequence, the two sides in the x-direction are numbered 0 and 2 respectively, and the divide curve battery is used to divide the two sides equally into twice the number of grids in the x-direction; the two sides in the y-direction are numbered 1 and 3 respectively, and then the divide curve battery is used to divide the two sides equally into twice the number of grids in the y-direction; the operation of obtaining the upper rod in step 3) is: using the divide The surface battery obtains all the upper nodes D, and then uses the polyline battery to connect all the upper nodes D to form a polyline, and obtains the upper rods parallel to the y-axis. The flipmatrix battery is used to transpose D and then connected again with the polyline battery to form a polyline, and the upper rods parallel to the x-axis are obtained, that is, all the upper rods are obtained.

[0014] Furthermore, the operation of obtaining the lower layer rod in step 4) is as follows: define all the rod nodes of the lower layer rod as N, where N=N 1 +N 2, using the above method of taking points on each edge of the polygon, take out the odd-numbered points on edge 0 from the list item battery, the number of which is the number of grids on the x-axis, use the reverselist battery to get the reverse order of the odd-numbered points on edge 2, the number of which is the number of grids on the x-axis, use the line battery to connect the two groups of points into line segments, and divide the obtained line segments into twice the number of grids on the y-axis through the divide curve battery, then use the list item battery to take out the odd-numbered points corresponding to the above line segments from the dot matrix, the number of which is the number of grids on the y-axis, use the move battery to move these points along the negative z-axis by the height of the grid, and get the lower-level nodes, defined as N 1 , use polyline battery to connect the lower node N 1 Directly connected to form a polyline, the lower layer of rods parallel to the y-axis is obtained, N 1 That is, the rod node corresponding to the lower layer rod parallel to the y-axis. Use flip matrix to flip the lower node N 1 The serial matrix is ​​transposed and connected again using polyline cells to form a polyline. This set of points is the lower node corresponding to the lower rod parallel to the x-axis, defined as N 2 , get the lower layer rods parallel to the x-axis, that is, get all the lower layer rods;

[0015] Step 5) The operation of obtaining the web is as follows: using the above method of taking points on each side of the polygon, use the list item battery to take out all points except the top row in the upper node D, transpose the taken point matrix, and then take out all points except the rightmost point in the transposed point matrix, transpose the point matrix composed of these points and add them to N 1 Use the line battery to connect to get the first part of the belly rod; take out all the points except the top row in the dot matrix formed by D, use the flip matrix battery to transpose the dot matrix formed by the taken out points, then take out all the points except the leftmost point in the transposed dot matrix, transpose the dot matrix formed by these points with the flip matrix battery and then connect them to N 1 Use line batteries to connect to get the second part of the belly rod; take out all the points except the bottom row in the dot matrix formed by D, use flip matrix batteries to transpose the new dot matrix formed by the taken out points, then take out all the points except the leftmost point in the transposed dot matrix, and then transpose the dot matrix composed of these points and use line batteries and N 1 The third part of the web is obtained by connecting them together; take out all the points except the bottom row in the dot matrix formed by D, transpose the new dot matrix formed by the taken points, and then take out all the points except the rightmost point in the transposed dot matrix, and use the flip matrix battery to transpose the dot matrix formed by these points and combine them with N 1 Connect them to get the fourth part of the belly bar.

[0016] Furthermore, the obtained member nodes, upper member, lower member and web members are respectively input into the positions corresponding to the selection number "0" in the selection battery, and the upright tetrahedral grid is output.

[0017] Further, in step 1), the grid structure is determined to be a two-way orthogonal grid; in step 1), a rectangle is created by a rectangle battery, the length of the four sides of the rectangle in the x-axis direction = the number of grids in the x-axis direction × the grid width in the x-axis direction, the length of the four sides of the rectangle in the y-axis direction = the number of grids in the y-axis direction × the grid width in the y-axis direction, and the number of grids and the grid width are the grid data determined by the architectural design; in step 2), the operation of obtaining the points on the polygon that divide each side equally is: using the list item battery to obtain the four sides of the rectangle respectively, and then numbering the four sides of the rectangle 0, 1, 2, and 3 in sequence, the two sides in the x-direction are numbered 0 and 2 respectively, and the divide curve battery is used to divide the two sides equally into twice the number of grids in the x-direction; the two sides in the y-direction are numbered 1 and 3 respectively, and then the divide curve battery is used to divide the two sides equally into twice the number of grids in the y-direction; the operation of obtaining the upper rod in step 3) is: using the divide The surface battery obtains all the upper nodes D, and then uses the polyline battery to connect all the upper nodes D to form a polyline, and obtains the upper rods parallel to the y-axis. The flip matrix battery is used to transpose D and then connected again with the polyline battery to form a polyline, and the upper rods parallel to the x-axis are obtained, that is, all the upper rods are obtained;

[0018] Step 4) The operation of obtaining the lower layer rod is as follows: define all the rod nodes of the lower layer rod as N, N = N 1 +N 2 , use the divide surface battery to get all the upper nodes D, use the move battery to move the upper node D along the negative z-axis by the height of the grid, and get the lower node, which is defined as N 1 , use polyline battery to connect the lower node N 1 Directly connected to form a polyline, the lower layer of rods parallel to the y-axis is obtained, N 1 That is, the rod node corresponding to the lower layer rod parallel to the y-axis; use the flip matrix to flip the lower node N 1 The serial matrix is ​​transposed and connected again using polyline cells to form a polyline. This set of points is the lower node corresponding to the lower rod parallel to the x-axis, defined as N 2 , get the lower layer rods parallel to the x-axis, that is, get all the lower layer rods;

[0019] Step 5) The operation of obtaining the web is: connect all the upper nodes D and the lower nodes N 1 Use the line cell to connect to get the first part of the web; use the division cell to divide the input number x by 2 and input it into the round cell to form a combination. When the input number of the combination is an odd number, it will output (x+1) / 2, and when the input number is an even number, it will output x / 2; in the grid structure form of the building design, the number of grids in the x-axis direction is output as [x] after passing through the combination, and the number of grids in the y-axis direction is output as [y] after passing through the combination; use the list item cell to take out all the points in the left [x] column of the upper node D, and take out the lower node N 1 The points of the left [x] column starting from the second column on the left are connected to obtain the second part of the web; use the listitem battery to take out the points of the right [x] column of all the upper nodes D, and take out the lower node N 1 The points in the right [x] column starting from the second column on the right are connected to obtain the third part of the web; use the list item battery to take out the points in the top row of all the upper nodes D, which are [y] rows down, and take out the lower node N 1 Count down from the second row at the top, and count down to [y] rows of points. Connect these two rows of nodes to get the fourth part of the web. Use the list item battery to take out the points in the bottom row of all the upper nodes D, and count up to [y] rows of points. Take out the lower node N 1 Count upwards from the second to last row of points for a total of [y] rows, and use line batteries to connect these two rows of nodes to obtain the fifth part of the web.

[0020] Furthermore, the obtained member nodes, upper members, lower members and web members are respectively input into the positions corresponding to the selection number "1" in the selection battery, and a two-way orthogonal grid is output.

[0021] Furthermore, in step 1), the grid structure is determined to be a two-way oblique grid; in step 1), a rectangle is created by using the rectangle battery, the length of the four sides of the rectangle in the x-axis direction = the number of grids in the x-axis direction × the grid width in the x-axis direction, the length of the four sides of the rectangle in the y-axis direction = the number of grids in the y-axis direction × the grid width in the y-axis direction, and the number of grids and the grid width are both grid data determined by the architectural design; in step 2), the operation of obtaining the points on the polygon that divide each side equally is as follows: using the list item battery to obtain the four sides of the rectangle respectively, and then numbering the four sides of the rectangle in sequence 0, 1, 2, and 3, the two sides in the x-direction are numbered 0 and 2 respectively, and the divide curve battery is used to divide the two sides equally into twice the number of grids in the x-direction; the two sides in the y-direction are numbered 1 and 3 respectively, and then the divide curve battery is used to divide the two sides. The curve battery divides the two edges equally into twice the number of grids in the y-axis direction; the operation of obtaining the upper rod in step 3) is as follows: using the above-mentioned method of taking points on each edge of the polygon, use the listitem battery to take out the points with odd numbers on edge 0, the number of which is the number of grids in the x-axis direction, use the reverselist battery to take out the reverse order of the points with odd numbers on edge 2, the number of which is the number of grids in the x-axis direction, use the line battery to connect the two groups of points to obtain a line segment, and then use the divide curve battery to divide the line segment equally into twice the number of grids in the y-axis direction, and then use the list item battery to take out the points with odd numbers from the divided line segment numbers, the number of which is the number of grids in the y-axis direction, to obtain the upper node 1, move the upper node 1 in the negative direction of the z-axis by the distance of the grid height, and obtain the lower node 1; use the divide surface battery to obtain the upper node 2, translate the upper node 2 in the negative direction of the z-axis by the distance of the grid height, and obtain the lower node 2; use the list The item battery takes out the even-numbered points on the 0th side, the number of which is the number of x grids + 1, then uses the reverselist battery to take out the reverse order of the even-numbered points on the 1st side, the number of which is the number of y grids + 1, uses the shortestlist battery and the line battery to connect the two groups of points in the shortest numbered way, then uses the cull index battery to delete the invalid line with the number 0, and obtains the first part of the upper rod; uses the list item battery to take out the even-numbered points on the 1st side, the number of which is the number of y grids + 1, takes out the reverse order of the even-numbered points on the 2nd side, the number of which is the number of x grids + 1, uses the shortest list battery and the line battery to connect the two groups of points in the shortest numbered way, then uses the cull index battery to delete the invalid line with the number 0, and obtains the second part of the upper rod;Use the list item battery to take out the even-numbered points on the 2nd side, the number of which is the number of x grids + 1, then take out the reverse order of the even-numbered points on the 3rd side, the number of which is the number of y grids + 1, use the shortest list battery and the line battery to connect the two groups of points in the shortest number, then use the cull index battery to delete the invalid line with the number 0, and get the third part of the upper rod; use the listitem battery to take out the even-numbered points on the 3rd side, the number of which is the number of y grids + 1, then take out the reverse order of the even-numbered points on the 4th side, the number of which is the number of x grids + 1, use the shortest list battery and the line battery to connect the two groups of points in the shortest number, then use the cull index battery to delete the invalid line with the number 0, and get the fourth part of the upper rod, and use the four sides of the rectangle as part of the upper rod;

[0022] Use the equality battery to determine whether the number of x grids is equal to the number of y grids, and input the two output parameters equality and inequality into a cull pattern battery respectively. Then use the merge battery to merge the first part of the rods and the third part of the rods into a list, and directly input it into the cull pattern battery connected to inequality. Use the cull index battery to delete the rod with the sequence number of x grids -1 and then input it into the cullpattern battery connected to equality. In this way, the lines that appear twice can be deleted when the number of x grids is equal to the number of y grids. Then use the equality battery again to determine whether the number of x grids is equal to the number of y grids, and input the two output parameters equality and inequality into a cullpattern battery respectively. Then merge the second part of the rods and the fourth part of the rods into a list, and directly input it into the cull pattern battery connected to inequality. Use the cull index battery to delete the rod with the sequence number of x grids -1 and then input it into the cullpattern battery connected to equality. pattern battery; the fifth part of the rod has two forms. The first one is that when the number of x grids is xy larger than the number of y grids, starting from the point with sequence number 1 on the 0th edge, |xy|-1 points are taken as the first group of points, and starting from the point with sequence number 1 on the 2nd edge, |xy|-1 points are taken as the second group of points. The first group of points and the second group of points are connected in reverse order by using the line battery to obtain the fifth part of the upper layer rod, and the obtained rod is input into the cull pattern battery connected to equality; the second one is that when the number of y grids is yx larger than the number of x grids, starting from the point with sequence number 1 on the 1st edge, |xy|-1 points are taken as the first group of points, and starting from the point with sequence number 1 on the 3rd edge, |xy|-1 points are taken as the second group of points. The first group of points and the second group of points are connected in reverse order by using the line battery to obtain the fifth part of the upper layer rod; the obtained rod is input into the cullpattern battery connected to inequality; due to larger than and smaller than only one of the two batteries will output the result true at the same time, at this time, only the required battery of the two cull pattern batteries will output the rod, and the two cull pattern batteries can be output as the generated rods at the same time; step 4) The operation of obtaining all the lower-layer rods is: move the above-mentioned first to fifth upper-layer rods and the four sides of the rectangle, a total of six parts of rods, along the negative direction of the z-axis by the height of the grid, and obtain all the lower-layer rods;

[0023] Step 5) The operation of obtaining all the webs is as follows: connect the upper node 1 with the lower node 1 to obtain the first part of the webs; use the above-mentioned method of taking points on each side of the polygon to first generate a sequence, then use the list item battery to take out all the points except the top row in the dot matrix composed of the upper node 2, transpose the dot matrix formed by the taken points, and then take out all the points except the rightmost column in the dot matrix, transpose the dot matrix composed of these points and connect them with the lower node 1 to obtain the second part of the webs; take out all the points except the top row in the dot matrix composed of the upper node 2, and use flip to form the dot matrix formed by the taken points. The matrix battery is transposed, and then all points except the leftmost point in the transposed lattice are taken out, and the lattice composed of these points is transposed and connected with the lower node 1 to obtain the third part of the web; all points except the bottom row in the lattice composed of the upper node 2 are taken out, and the new lattice formed by the taken out points is transposed, and then all points except the leftmost point in the transposed lattice are taken out, and the lattice composed of these points is transposed and connected with the lower node 1 to obtain the fourth part of the web; all points except the bottom row in the lattice composed of the upper node 2 are taken out, and the new lattice formed by the taken out points is transposed, and then all points except the rightmost point in the transposed lattice are taken out, and the lattice composed of these points is transposed and connected with the lower node 1 to obtain the fifth part of the web. The five parts of the web are all the webs.

[0024] Furthermore, the obtained member nodes, upper members, lower members and web members are respectively input into the positions corresponding to the selection number "2" in the selection battery, and a two-way oblique grid is output.

[0025] The beneficial effects of the present invention are as follows: the present invention can establish a variety of grid structure forms. In the process of establishing different grids, various functional batteries in Grasshopper can be connected and packaged, which shortens the modeling time and improves the efficiency for some repetitive processes. Combining the advantages of parametric modeling, the established model can be changed by changing a few parameters. After the design of various functional batteries is completed, they can be packaged into an overall modeling program. When in use, only the corresponding parameters and selections need to be input to output the model, which improves the modeling efficiency and the speed of architectural design. BRIEF DESCRIPTION OF THE DRAWINGS

[0026] Figure 1 a and Figure 1 b is a schematic diagram of battery connection for taking out points with odd or even numbers according to the present invention;

[0027] Figure 2 The schematic diagram of battery connection of all rod nodes is obtained by dividing each side of the rectangle according to the present invention;

[0028] Figure 3 a is a schematic diagram of battery connection corresponding to the lower layer node obtained by placing the quadrangular pyramid grid on the polygon. Figure 3 b is a schematic diagram of the lower nodes of the upright tetrahedral grid;

[0029] Figure 4 It is a schematic diagram of all lower-layer rods in the upright tetrahedral grid;

[0030] Figure 5 a is a schematic diagram of all upper nodes obtained by placing the tetrahedral pyramid grid upright. Figure 5 b is the schematic diagram of the first part of the web member of the upright tetrahedral truss. Figure 5 c is a schematic diagram of the web members of the second part of the upright tetrahedral truss;

[0031] Figure 6 It is a battery connection diagram of a two-way oblique grid represented by the selection number "2";

[0032] Figure 7 A schematic diagram of battery connection for calculating the number of points for a two-way orthogonal grid;

[0033] Figure 8 It is a schematic diagram of the web member of the second part of the two-way orthogonal grid;

[0034] Fig. 9 a is a schematic diagram of battery connection for establishing some upper rods of the two-way oblique grid; Fig. 9 b is a schematic diagram of the upper rods of the first part of the two-way oblique grid;

[0035] Fig.10 A schematic diagram of battery connection in which duplicate line segments are deleted when the number of x grids is equal to the number of y grids in a two-way oblique grid;

[0036] Fig.11 A schematic diagram of the battery connection of the fifth web member required for the output of the two-way oblique grid;

[0037] Fig.12 An overview of the program for generating two-way oblique grid structures. DETAILED DESCRIPTION

[0038] The present invention is further explained below in conjunction with the accompanying drawings and specific embodiments.

[0039] Example:

[0040] like Figure 1-12 As shown, a parametric modeling implementation method of various grid structure forms based on Grasshopper includes the following steps:

[0041] 1) In Grasshopper, call up the battery that creates the polygon corresponding to the grid structure in the architectural design and obtain the corresponding polygon;

[0042] 2) generating points that equally divide each edge of the polygon obtained in step 1);

[0043] 3) Use the points on the polygon to determine the nodes required for the upper-layer rods, and connect the nodes to obtain the upper-layer rods;

[0044] 4) Determine the nodes required for the lower layer rods at the upper layer, move the nodes required for the lower layer rods downward along the z-axis to obtain the lower layer nodes, and connect the lower layer nodes to obtain the lower layer rods;

[0045] 5) Connecting the required upper nodes and lower nodes in batches to obtain webs;

[0046] 6) Call up the stream filter battery and use different numbers to represent different grid structures;

[0047] 7) Input the obtained member nodes, upper member, lower member and web members into the selected positions of the corresponding grid structure in the stream filter battery.

[0048] In step 1), the grid structure forms include a square pyramid grid, a two-way orthogonal grid and a two-way oblique grid; in step 8), a number slider battery is used to represent the square pyramid grid with "0", the two-way orthogonal grid with "1", and the two-way oblique grid with "2".

[0049] like Figure 1 a. Figure 1 As shown in step b, after the polygon is created in step 1), the method of taking points on each side of the polygon is as follows: the series of the series battery is input into the index of the list item battery, and points can be taken from each group of points in the dot matrix input by the list item battery starting from the point with the serial number represented by start, and the interval is represented by step, and the number of times the points are taken is represented by count; the taken points are directly output or the points taken from the listitem battery are input into the reverselist battery and then output in reverse order; for example, when the combination start is 0, step is 2, and count is 5, an even number column of 0, 2, 4, 6, and 8 is generated. At this time, points with even serial numbers 0, 2, 4, 6, and 8 can be taken from each group of points in the dot matrix input by the list item battery.

[0050] When the grid structure in step 1) is determined to be an upright tetrahedral grid, Figure 2As shown, in step 1), a rectangle is created by using the rectangle battery, the length of the four sides of the rectangle in the x-axis direction = the number of grids in the x-axis direction × the grid width in the x-axis direction, the length of the four sides of the rectangle in the y-axis direction = the number of grids in the y-axis direction × the grid width in the y-axis direction, and the number of grids and the grid width are the grid data determined by the architectural design; in step 2), the operation of obtaining the points on the polygon that divide each side equally is: using the list item battery to obtain the four sides of the rectangle respectively, and then numbering the four sides of the rectangle 0, 1, 2, and 3 in sequence, the two sides in the x-direction are numbered 0 and 2 respectively, and the divide curve battery is used to divide the two sides equally into twice the number of grids in the x-direction; the two sides in the y-direction are numbered 1 and 3 respectively, and then the divide curve battery is used to divide the two sides equally into twice the number of grids in the y-direction; in step 3), the operation of obtaining the upper rod is: using the divide surface battery to obtain all the upper nodes D, and then using the polyline battery to connect all the upper nodes D to form a polyline, to obtain the upper rod parallel to the y-axis, and using flip The matrix cell transposes D and then uses the polyline cell to connect it again to form a multi-segment line, and obtains the upper layer rods parallel to the x-axis, that is, all the upper layer rods;

[0051] like Figure 3 As shown in a and 3b, the operation of obtaining the lower layer rod in step 4) is as follows: define all the rod nodes of the lower layer rod as N, N=N 1 +N 2 , using the above method of taking points on each edge of the polygon, take out the odd-numbered points on edge 0 from the listitem battery, the number of which is the number of grids on the x-axis, use the reverselist battery to get the reverse order of the odd-numbered points on edge 2, the number of which is the number of grids on the x-axis, use the line battery to connect the two groups of points into line segments, and divide the obtained line segments into twice the number of grids on the y-axis through the divide curve battery, then use the list item battery to take out the odd-numbered points corresponding to the above line segments from the dot matrix, the number of which is the number of grids on the y-axis, use the move battery to move these points along the negative z-axis by the height of the grid, and get the lower-level nodes, defined as N 1 ;

[0052] like Figure 4 As shown, the lower node N is connected by using polyline battery 1 Directly connected to form a polyline, the lower layer of rods parallel to the y-axis is obtained, N 1 That is, the rod node corresponding to the lower layer rod parallel to the y-axis. Use flip matrix to flip the lower node N 1The serial matrix is ​​transposed and connected again using polyline cells to form a polyline. This set of points is the lower node corresponding to the lower rod parallel to the x-axis, defined as N 2 , get the lower layer rods parallel to the x-axis, that is, get all the lower layer rods;

[0053] like Figure 5 a. Figure 5 b. Figure 5 c, the operation of obtaining the web in step 5) is as follows: the rectangle is the rectangle obtained in step 2, UCount inputs the number of x grids, V Count inputs the number of y grids, and the list item battery is used to extract all points except the top row in the upper node D, transpose the extracted dot matrix, and then extract all points except the rightmost point in the transposed dot matrix, transpose the dot matrix composed of these points and add them to N 1 Use the line battery to connect to get the first part of the belly rod; take out all the points except the top row in the dot matrix formed by D, use the flip matrix battery to transpose the dot matrix formed by the taken out points, then take out all the points except the leftmost point in the transposed dot matrix, transpose the dot matrix formed by these points with the flip matrix battery and then connect them to N 1 Use line batteries to connect to get the second part of the belly rod; take out all the points except the bottom row in the dot matrix formed by D, use flip matrix batteries to transpose the new dot matrix formed by the taken out points, then take out all the points except the leftmost point in the transposed dot matrix, and then transpose the dot matrix composed of these points and use line batteries and N 1 The third part of the web is obtained by connecting them together; take out all the points except the bottom row in the dot matrix formed by D, transpose the new dot matrix formed by the taken points, and then take out all the points except the rightmost point in the transposed dot matrix, and use the flip matrix battery to transpose the dot matrix formed by these points and combine them with N 1 Connect them to get the fourth part of the belly bar.

[0054] The original parameters of the number of x-axis grids, the x-axis grid width, the y-axis grid number, the y-axis grid width and the grid height are input into each battery to obtain the rod nodes, upper rods, lower rods and webs. The obtained rod nodes, upper rods, lower rods and webs are respectively input into the positions corresponding to the "0" selection in the selection battery to output the upright tetrahedral grid.

[0055] When the grid structure form in step 1) is determined to be a two-way orthogonal grid; in step 1), a rectangle is created by using the rectangle battery, the length of the four sides of the rectangle in the x-axis direction = the number of grids in the x-axis direction × the grid width in the x-axis direction, the length of the four sides of the rectangle in the y-axis direction = the number of grids in the y-axis direction × the grid width in the y-axis direction, and the number of grids and the grid width are the grid data determined by the architectural design; in step 2), the operation of obtaining the points on the polygon that divide each side equally is: using the list item battery to obtain the four sides of the rectangle respectively, and then the four sides of the rectangle are numbered 0, 1, 2, and 3 in sequence, the two sides in the x-direction are numbered 0 and 2 respectively, and the divide curve battery is used to divide the two sides into twice the number of grids in the x-direction; the two sides in the y-direction are numbered 1 and 3 respectively, and then the divide curve battery is used to divide the two sides into twice the number of grids in the y-direction; the operation of obtaining the upper rod in step 3) is: using the divide The surface battery obtains all the upper nodes D, and then uses the polyline battery to connect all the upper nodes D to form a polyline, and obtains the upper rods parallel to the y-axis. The flipmatrix battery is used to transpose D and then the polyline battery is used to connect them again to form a polyline, and the upper rods parallel to the x-axis are obtained, that is, all the upper rods are obtained;

[0056] like Figure 5 As shown in a, the operation of step 4) to obtain the lower layer rod is: define all the rod nodes of the lower layer rod as N, N = N 1 +N 2 , use the divide surface battery to get all the upper nodes D, use the move battery to move the upper node D along the negative z-axis by the height of the grid, and get the lower node, which is defined as N 1 , use polyline battery to connect the lower node N 1 Directly connected to form a polyline, the lower layer of rods parallel to the y-axis is obtained, N 1 That is, the rod node corresponding to the lower layer rod parallel to the y-axis; use the flip matrix to flip the lower node N 1 The serial matrix is ​​transposed and connected again using polyline cells to form a polyline. This set of points is the lower node corresponding to the lower rod parallel to the x-axis, defined as N 2 , get the lower layer rods parallel to the x-axis, that is, get all the lower layer rods;

[0057] like Figure 7 , Figure 8 As shown in step 5), the operation of obtaining the web is: connect all the upper nodes D and the lower nodes N 1Use the line cell to connect to get the first part of the web; use the division cell to divide the input number x by 2 and input it into the round cell to form a combination. When the input number of the combination is an odd number, it will output (x+1) / 2, and when the input number is an even number, it will output x / 2; in the grid structure form of the building design, the number of grids in the x-axis direction is output as [x] after passing through the combination, and the number of grids in the y-axis direction is output as [y] after passing through the combination; use the list item cell to take out all the points in the left [x] column of the upper node D, and take out the lower node N 1 The points of the left [x] column starting from the second column on the left are connected to obtain the second part of the web; use the listitem battery to take out the points of the right [x] column of all the upper nodes D, and take out the lower node N 1 The points in the right [x] column starting from the second column on the right, connect the two columns of nodes to get the third part of the web; use the listitem battery to take out the points in the top row of all the upper nodes D, which are [y] rows down, and take out the lower node N 1 Count down from the second row at the top, and count down to [y] rows of points. Connect these two rows of nodes to get the fourth part of the web. Use the list item battery to take out the points in the bottom row of all the upper nodes D, and count up to [y] rows of points. Take out the lower node N 1 Count upwards from the second to last row of points for a total of [y] rows, and use line batteries to connect these two rows of nodes to obtain the fifth part of the web.

[0058] The obtained member nodes, upper members, lower members and web members are respectively input into the positions corresponding to the selection number "1" in the selection battery, and a two-way orthogonal grid is output.

[0059] When the grid structure form in step 1) is determined to be a two-way oblique grid, a rectangle is created in step 1) by using the rectangle battery, the length of the four sides of the rectangle in the x-axis direction = the number of grids in the x-axis direction × the grid width in the x-axis direction, the length of the four sides of the rectangle in the y-axis direction = the number of grids in the y-axis direction × the grid width in the y-axis direction, and the number of grids and the grid width are both grid data determined by the architectural design; the operation of obtaining the points on the polygon that divide each side equally in step 2) is: using the list item battery to obtain the four sides of the rectangle respectively, and then numbering the four sides of the rectangle 0, 1, 2, and 3 in sequence, the two sides in the x-direction are numbered 0 and 2 respectively, and the two sides are divided equally into twice the number of grids in the x-direction by using the divide curve battery; the two sides in the y-direction are numbered 1 and 3 respectively, and the two sides are divided equally into twice the number of grids in the y-direction by using the divide curve battery;

[0060] like Fig. 9 a. Fig. 9As shown in b, the operation of obtaining the upper rod in step 3) is: using the above-mentioned method of taking points on each side of the polygon, use the listitem battery to take out the points with odd numbers on the 0th side, the number of which is the number of grids in the x-axis direction, use the reverse list battery to take out the points with odd numbers on the 2nd side, the number of which is the number of grids in the x-axis direction, use the line battery to connect the two groups of points to obtain a line segment, and then use the divide curve battery to divide the line segment into twice the number of grids in the y-axis direction, and then use the above-mentioned method of taking points on each side of the polygon from the evenly divided line segment numbers to take out the points with odd numbers, the number of which is the number of grids in the y-axis direction, to obtain the upper node 1, move the upper node 1 in the negative direction of the z-axis by the distance of the grid height, and obtain the lower node 1; use the divide surface battery to obtain the upper node 2, translate the upper node 2 in the negative direction of the z-axis by the distance of the grid height, and obtain the lower node 2; using the above-mentioned method of taking points on each side of the polygon, use the list The item battery takes out the points with even numbers on the edge 0, the number of which is the number of x grids + 1. Then, the reverse list battery is used to take out the reverse order of the even numbers on the edge 1, the number of which is the number of y grids + 1. The shortest list battery and the line battery are used to connect the two groups of points in the shortest order. Then, the cull index battery is used to delete the invalid line with number 0 to obtain the first part of the upper rod. Using the above method of taking points on each edge of the polygon, the even numbers on the edge 1 are taken out, the number of which is the number of y grids + 1. The reverse order of the even numbers on the edge 2 is taken out, the number of which is the number of x grids + 1. The shortest list battery and the line battery are used to connect the two groups of points in the shortest order. Then, the cull index battery is used to delete the invalid line with number 0 to obtain the first part of the upper rod. The index battery deletes the invalid line with the serial number 0 to obtain the second part of the upper rod; using the above method of taking points on each side of the polygon, take out the points with the even serial number on the 2nd side, the number of which is the number of x grids + 1, then take out the reverse order of the even serial number points on the 3rd side, the number of which is the number of y grids + 1, use the shortest list battery and the line battery to connect the two groups of points in the shortest serial number, and then use the cull index battery to delete the invalid line with the serial number 0 to obtain the third part of the upper rod; using the above method of taking points on each side of the polygon, take out the points with the even serial number on the 3rd side, the number of which is the number of y grids + 1, then take out the reverse order of the even serial number points on the 4th side, the number of which is the number of x grids + 1, use the shortest list battery and the line battery to connect the two groups of points in the shortest serial number, and then use the cullindex battery to delete the invalid line with the serial number 0 to obtain the fourth part of the upper rod, and use the four sides of the rectangle as part of the upper rod;

[0061] like Fig.10 , Fig.11As shown, the equality battery is used to determine whether the number of x grids is equal to the number of y grids, and the two output parameters equality and inequality are respectively input into a cullpattern battery. Then, the first part of the rods and the third part of the rods are merged into a list using the merge battery, which is directly input into the cull pattern battery connected to inequality. The rods with the sequence number of x grids - 1 are deleted using the cull index battery and then input into the cull pattern battery connected to equality. In this way, the lines that appear twice can be deleted when the number of x grids is equal to the number of y grids. Then, the equality battery is used again to determine whether the number of x grids is equal to the number of y grids, and the two output parameters equality and inequality are respectively input into a cull pattern battery. Then, the second part of the rods and the fourth part of the rods are merged into a list, which is directly input into the cull pattern battery connected to inequality. The cull index battery is used to delete the rods with the sequence number of x grids - 1 and then input into the cull pattern battery connected to equality. In this way, the lines that appear twice can be deleted when the number of x grids is equal to the number of y grids. The index cell deletes the rod with the number of x grids - 1 and inputs it into the cullpattern cell connected to equality; the fifth part of the rod has two forms. The first one is that when the number of x grids is xy larger than the number of y grids, |xy|-1 points are taken from the point with the number 1 on the 0th edge as the first group of points, and |xy|-1 points are taken from the point with the number 1 on the 2nd edge as the second group of points. The first group of points is connected with the second group of points in reverse order using the line cell to obtain the fifth part of the upper layer rod, and the obtained rod is input into the cull pattern cell connected to equality; the second one is that when the number of y grids is yx larger than the number of x grids, |xy|-1 points are taken from the point with the number 1 on the 1st edge as the first group of points, and |xy|-1 points are taken from the point with the number 1 on the 3rd edge as the second group of points. The first group of points is connected with the second group of points in reverse order using the line cell to obtain the fifth part of the upper layer rod, and the obtained rod is input into the cull pattern cell connected to inequality. pattern battery; since only one of the two batteries, larger than and smaller than, will output the result true at the same time, at this time, only the required battery of the two cullpattern batteries will output the rod. When the number of x grids = the number of y grids, neither battery will output the rod. The two cull pattern batteries can be output as generated rods at the same time;

[0062] Step 4) The operation of obtaining all lower-layer rods is as follows: the first to fifth upper-layer rods and the four sides of the rectangle, a total of six rods, are moved in the negative direction of the z-axis by the height of the grid to obtain all lower-layer rods;

[0063] Step 5) The operation of obtaining all the webs is as follows: connect the upper node 1 with the lower node 1 to obtain the first part of the webs; use the above-mentioned method of taking points on each side of the polygon to input the series battery into the index of the listitem battery, take out all points except the top row in the dot matrix formed by the upper node 2, transpose the dot matrix formed by the taken points, and then take out all points except the rightmost column in the dot matrix, transpose the dot matrix formed by these points and connect them with the lower node 1 to obtain the second part of the webs; take out all points except the top row in the dot matrix formed by the upper node 2, and use flip to form the dot matrix formed by the taken points. The matrix battery is transposed, and then all points except the leftmost point in the transposed lattice are taken out, and the lattice composed of these points is transposed and connected with the lower node 1 to obtain the third part of the web; all points except the bottom row in the lattice composed of the upper node 2 are taken out, and the new lattice formed by the taken out points is transposed, and then all points except the leftmost point in the transposed lattice are taken out, and the lattice composed of these points is transposed and connected with the lower node 1 to obtain the fourth part of the web; all points except the bottom row in the lattice composed of the upper node 2 are taken out, and the new lattice formed by the taken out points is transposed, and then all points except the rightmost point in the transposed lattice are taken out, and the lattice composed of these points is transposed and connected with the lower node 1 to obtain the fifth part of the web, and the five parts of the web are all the webs.

[0064] like Figure 6 As shown in the figure, the obtained member nodes, upper members, lower members and web members are input into the positions corresponding to the selection number "2" in the selection battery, and the two-way oblique grid is output.

[0065] like Fig.12 As shown, a grid to be modeled first determines that a two-way oblique grid needs to be established. The grid parameters are: x grid width is 2.557, y grid width is 2.963, x grid number is 6, y grid number is 4, grid height is 2.884, and the numerical units involved in this embodiment are all: meter (m), and the selected model is "2".

[0066] 1) Use the rectangle battery to create a rectangle with an x-axis length of 15.342 and a y-axis length of 11.852;

[0067] 2) Divide the two sides of the rectangle numbered 0 and 2 in the x direction into 12 parts each, and divide the two sides numbered 1 and 3 in the y direction into 8 parts each. The points of division are all possible rod nodes;

[0068] 3) Using the above method of taking points on each side of the polygon, take out the odd-numbered points on side 0, which is 6 in number. Use the reverse list battery to take out the reverse order of the odd-numbered points on side 2, which is 6 in number. Use the line battery to connect the two groups of points to get a line segment. Then use the divide curve battery to divide the line segment into 8. Then use the listitem battery to take out the odd-numbered points from the evenly divided line segment numbers, which is 4 in number, to get the upper node 1. Move the upper node 1 in the negative direction of the z-axis by the height of the grid to get the lower node 1. Use the divide surface battery to get the upper node 2. Translate the upper node 2 in the negative direction of the z-axis by 2.884 to get the lower node 2. Using the above method of taking points on each side of the polygon, use the listitem battery to take out the even-numbered points on side 0, which is 7 in number. Then use the reverse list battery to take out the reverse order of the even-numbered points on side 1, which is 5 in number. Use shortest The list battery and the line battery connect the two groups of points in the shortest sequence number, and then use the cull index battery to delete the invalid line with sequence number 0 to obtain the first part of the upper rod; use the above method of taking points on each side of the polygon to take out the even-numbered points on side 1, which is 5 in number, and take out the reverse order of the even-numbered points on side 2, which is 7 in number, and use the shortest list battery and the line battery to connect the two groups of points in the shortest sequence number, and then use the cull index battery to delete the invalid line with sequence number 0 to obtain the second part of the upper rod; use the above method of taking points on each side of the polygon to take out the even-numbered points on side 2, which is 7 in number, and then take out the reverse order of the even-numbered points on side 3, which is 5 in number, and use the shortest list battery and the line battery to connect the two groups of points in the shortest sequence number, and then use the cull index battery to delete the invalid line with sequence number 0 to obtain the second part of the upper rod. The index battery deletes the invalid line with the serial number 0 to obtain the third part of the upper rod; using the above method of taking points on each side of the polygon, take out the even-numbered points on the 3rd side, which is 5 in number, and then take out the reverse order of the even-numbered points on the 4th side, which is 7 in number, and use the shortestlist battery and the line battery to connect the two groups of points in the shortest serial number, and then use the cull index battery to delete the invalid line with the serial number 0 to obtain the fourth part of the upper rod, and use the four sides of the rectangle as part of the upper rod;

[0069] Determine the numerical values ​​of the number of grids in the x-axis direction and the number of grids in the y-axis direction, and find that the number of grids in the x-axis direction is 2 greater than the number of grids in the y-axis direction. Take a point from the point with the sequence number 1 on the edge No. 0 as the first group of points, and take a point from the point with the sequence number 1 on the edge No. 2 as the second group of points. Use the line battery to connect the first group of points with the second group of points in reverse order to obtain the fifth part of the upper layer rods, and input the obtained rods into the cull pattern battery connected to equality;

[0070] Step 4) The operation of obtaining all lower-layer rods is as follows: the first to fifth upper-layer rods and the four sides of the rectangle, a total of six rods, are moved in the negative direction of the z-axis by the height of the grid to obtain all lower-layer rods;

[0071] Step 5) The operation of obtaining all the webs is as follows: connect the upper node 1 with the lower node 1 to obtain the first part of the webs; use the above-mentioned method of taking points on each side of the polygon to take out all the points except the top row in the dot matrix formed by the upper node 2, transpose the dot matrix formed by the taken points, and then take out all the points except the rightmost column in the dot matrix, transpose the dot matrix formed by these points and connect them with the lower node 1 to obtain the second part of the webs; take out all the points except the top row in the dot matrix formed by the upper node 2, and use flip to form the dot matrix formed by the taken points. The matrix battery is transposed, and then all points except the leftmost point in the transposed lattice are taken out, and the lattice composed of these points is transposed and connected with the lower node 1 to obtain the third part of the web; all points except the bottom row in the lattice composed of the upper node 2 are taken out, and the new lattice formed by the taken out points is transposed, and then all points except the leftmost point in the transposed lattice are taken out, and the lattice composed of these points is transposed and connected with the lower node 1 to obtain the fourth part of the web; all points except the bottom row in the lattice composed of the upper node 2 are taken out, and the new lattice formed by the taken out points is transposed, and then all points except the rightmost point in the transposed lattice are taken out, and the lattice composed of these points is transposed and connected with the lower node 1 to obtain the fifth part of the web, and the five parts of the web are all the webs;

[0072] The obtained member nodes, upper members, lower members and web members are respectively input into the positions corresponding to the selection number "2" in the selection battery, and a two-way oblique grid is output.

[0073] The above operations of obtaining all upper-layer rods, all lower-layer rods, all rod nodes and all webs can be packaged into a functional battery pack.

[0074] The present invention can establish a variety of grid structure forms. In the process of establishing different grids, various functional batteries in Grasshopper can be connected and packaged, which shortens the modeling time and improves the efficiency for some repetitive processes. Combining the advantages of parametric modeling, the established model can be changed by changing a few parameters. After the design of various functional batteries is completed, they can be packaged into an overall modeling program. When using, only the corresponding parameters and selections need to be input to output the model, which improves the modeling efficiency and the speed of architectural design.

[0075] The above is only used to illustrate the technical solution of the present invention rather than to limit it. Other modifications or equivalent substitutions made to the technical solution of the present invention by ordinary technicians in this field should be included in the scope of the claims of the present invention as long as they do not depart from the spirit and scope of the technical solution of the present invention.

Claims

1. A parametric modeling implementation method for various grid structures based on Grasshopper. It is characterized in that The following steps are involved: 1) In Grasshopper, call up the cell that creates the polygon corresponding to the grid structure in the architectural design and obtain the corresponding polygon; the grid structure includes the upright tetrahedral grid, the two-way orthogonal grid and the two-way oblique grid; after creating the polygon, the points on each side of the polygon are taken in the following way: input the sequence of the series cell into the index of the listitem cell, and you can start from each group of points in the dot matrix input by the listitem cell, starting from the point represented by the serial number start, and take points at intervals. The interval is represented by step, and the number of points taken is represented by count; the taken points are directly output or the points taken from the list item cell are input into the reverse list cell and then output in reverse order; 2) generating points that equally divide each edge of the polygon obtained in step 1); 3) Use the points on the polygon to determine the nodes required for the upper-layer rods, and connect the nodes to obtain the upper-layer rods; 4) Determine the nodes required for the lower layer rods at the upper layer, move the nodes required for the lower layer rods downward along the z-axis to obtain the lower layer nodes, and connect the lower layer nodes to obtain the lower layer rods; 5) Connecting the required upper nodes and lower nodes in batches to obtain webs; 6) Call up the stream filter battery and use different numbers to represent different grid structures; 7) Input the obtained member nodes, upper member, lower member and web member into the selected positions of the corresponding grid structure in the stream filter battery respectively; In step 8), the number slider battery is used to indicate a square pyramid grid with "0", a two-way orthogonal grid with "1", and a two-way oblique grid with "2". When the grid structure form in step 1) is determined to be an upright tetrahedral grid, a rectangle is created in step 1) by using the rectangle battery, the length of the four sides of the rectangle in the x-axis direction = the number of grids in the x-axis direction × the grid width in the x-axis direction, the length of the four sides of the rectangle in the y-axis direction = the number of grids in the y-axis direction × the grid width in the y-axis direction, and the number of grids and the grid width are both grid data determined by the architectural design; the operation of obtaining the points on the polygon that divide each side equally in step 2) is: using the list item battery to obtain the four sides of the rectangle respectively, and then numbering the four sides of the rectangle 0, 1, 2, and 3 in sequence, the two sides in the x-direction are numbered 0 and 2 respectively, and the divide curve battery is used to divide the two sides equally into twice the number of grids in the x-direction; the two sides in the y-direction are numbered 1 and 3 respectively, and then the divide curve battery is used to divide the two sides equally into twice the number of grids in the y-direction; the operation of obtaining the upper rod in step 3) is: using the divide The surface battery obtains all the upper nodes D, and then the polyline battery is used to connect all the upper nodes D to form a polyline, so as to obtain the upper rods parallel to the y-axis. The flip matrix battery is used to transpose D and then the polyline battery is used to connect them again to form a polyline, so as to obtain the upper rods parallel to the x-axis, thus obtaining all the upper rods.

2. According to claim 1, a method for implementing parametric modeling of various grid structures based on Grasshopper, Features: Step 4) The operation to obtain the lower layer of rods is as follows: define all the rod nodes of the lower layer of rods as N, N=N1+N2, use the above-mentioned method of taking points on each edge of the polygon, take out the points with odd numbers on the 0th edge from the listitem battery, the number of which is the number of grids on the x-axis, use the reverselist battery to get the reverse order of the points with odd numbers on the 2nd edge, the number of which is the number of grids on the x-axis, use the line battery to connect the two groups of points into line segments, and divide the obtained line segments into twice the number of grids on the y-axis through the divide curve battery, then use the list item battery to take out the points with odd numbers corresponding to the above line segments from the dot matrix, the number of which is the number of grids on the y-axis, use the move battery to move these points along the negative z-axis by the height of the grid, and obtain the lower layer node, defined as N1, use the polyline battery to directly connect the lower layer node N1 to form a polyline, and obtain the lower layer rod parallel to the y-axis, N1 is the rod node corresponding to the lower layer rod parallel to the y-axis, use flip After the matrix is ​​transposed, the serial number matrix of the lower node N1 is connected again using the polyline battery to form a polyline. This group of points is the lower node corresponding to the lower rod parallel to the x-axis, which is defined as N2. The lower rod parallel to the x-axis is obtained, that is, all the lower rods are obtained; Step 5) The operation of obtaining the web is as follows: using the above-mentioned method of taking points on each side of the polygon, take out all points except the top row in the upper node D, transpose the taken out dot matrix, and then take out all points except the rightmost point in the transposed dot matrix, transpose the dot matrix composed of these points and connect it with N1 using line batteries to obtain the first part of the web; take out all points except the top row in the dot matrix composed of D, transpose the dot matrix formed by the taken out points using flip matrix batteries, and then take out all points except the leftmost point in the transposed dot matrix, transpose the dot matrix composed of these points and connect it with N1 using line batteries to obtain the second part of the web; take out all points except the bottom row in the dot matrix composed of D, and use flip matrix batteries to transpose the dot matrix formed by the taken out points, and then take out all points except the leftmost point in the transposed dot matrix, transpose the dot matrix composed of these points and connect it with N1 using line batteries to obtain the second part of the web; The matrix battery transposes the new dot matrix formed by the taken out points, then takes out all the points except the leftmost point in the transposed dot matrix, and then transposes the dot matrix composed of these points and connects them to N1 using the line battery to obtain the third part of the belly rod; take out all the points except the bottom row in the dot matrix composed of D, transpose the new dot matrix formed by the taken out points, and then take out all the points except the rightmost point in the transposed dot matrix, and then transpose the dot matrix composed of these points and connect them to N1 using the flip matrix battery to obtain the fourth part of the belly rod.

3. According to claim 2, a method for implementing parametric modeling of various grid structures based on Grasshopper, Features: The obtained member nodes, upper members, lower members and web members are respectively input into the positions corresponding to the "0" selection in the selection battery, and the upright tetrahedral grid is output.

4. According to claim 1, a method for implementing parametric modeling of various grid structures based on Grasshopper, Features: In the step 1), the grid structure is determined to be a two-way orthogonal grid; in the step 1), a rectangle is created by a rectangle battery, the length of the four sides of the rectangle in the x-axis direction = the number of grids in the x-axis direction × the grid width in the x-axis direction, the length of the four sides of the rectangle in the y-axis direction = the number of grids in the y-axis direction × the grid width in the y-axis direction, and the number of grids and the grid width are the grid data determined by the architectural design; in the step 2), the operation of obtaining the points on the polygon for equally dividing each side is as follows: using the list item battery to obtain the four sides of the rectangle respectively, and then sequentially numbering the four sides of the rectangle 0, 1, 2, and 3, the two sides in the x-direction are numbered 0 and 2 respectively, and the two sides are each equally divided into twice the number of grids in the x-direction using the divide curve battery; the two sides in the y-direction are numbered 1 and 3 respectively, and then the two sides are each equally divided into twice the number of grids in the y-direction using the divide curve battery; in the step 3), the operation of obtaining the upper rod is as follows: using the divide The surface battery obtains all the upper nodes D, and then uses the polyline battery to connect all the upper nodes D to form a polyline, and obtains the upper rods parallel to the y-axis. The flip matrix battery is used to transpose D and then connected again with the polyline battery to form a polyline, and the upper rods parallel to the x-axis are obtained, that is, all the upper rods are obtained; Step 4) The operation of obtaining the lower layer rods is as follows: define all the rod nodes of the lower layer rods as N, N=N1+N2, use the move battery to move the upper layer node D along the negative direction of the z axis by the height of the grid to obtain the lower layer node, which is defined as N1, use the polyline battery to directly connect the lower layer node N1 to form a polyline, and obtain the lower layer rod parallel to the y axis. N1 is the rod node corresponding to the lower layer rod parallel to the y axis; use the flip matrix to transpose the sequence matrix of the lower layer node N1 and then use the polyline battery to connect it again to form a polyline. This group of points is the lower layer node corresponding to the lower layer rod parallel to the x axis, which is defined as N2, and the lower layer rod parallel to the x axis is obtained, that is, all the lower layer rods are obtained; Step 5) The operation of obtaining the web member is as follows: connect all upper nodes D and lower nodes N1 with line cells to obtain the first part of the web member; use the division cell to divide the input number x by 2 and input it into the round cell to form a combination. When the number input into the combination is an odd number, (x+1) / 2 will be output, and when the number input into the combination is an even number, x / 2 will be output; record the number of grids in the x-axis direction in the grid structure form of the building design as [x] after the combination, and the number of grids in the y-axis direction as [y] after the combination; use the above-mentioned method of taking points on each side of the polygon to take out the points in the left [x] column of all upper nodes D, and take out the points in the left [x] column starting from the second column from the left in the lower node N1. , connect these two columns of nodes to obtain the second part of the web; take out the points in the right [x] column of all the upper nodes D, take out the points in the right [x] column starting from the second column on the right of the lower node N1, and connect these two columns of nodes to obtain the third part of the web; take out the points in the top first row of all the upper nodes D and count down to [y] rows, take out the points in the bottom second row of the lower node N1 and count down to [y] rows, and connect these two rows of nodes to obtain the fourth part of the web; take out the points in the bottom row of all the upper nodes D and count up to [y] rows, take out the points in the bottom second row of the lower node N1 and count up to [y] rows, use line batteries to connect these two rows of nodes to obtain the fifth part of the web.

5. According to claim 4, a method for implementing parametric modeling of various grid structures based on Grasshopper, Features: The obtained member nodes, upper members, lower members and web members are respectively input into the positions corresponding to the selection number "1" in the selection battery, and a two-way orthogonal grid is output.

6. According to claim 1, a method for implementing parametric modeling of various grid structures based on Grasshopper, Features: In the step 1), the grid structure is determined to be a two-way oblique grid; in the step 1), a rectangle is created by a rectangle battery, the length of the four sides of the rectangle in the x-axis direction = the number of grids in the x-axis direction × the grid width in the x-axis direction, the length of the four sides of the rectangle in the y-axis direction = the number of grids in the y-axis direction × the grid width in the y-axis direction, and the number of grids and the grid width are both grid data determined by the architectural design; in the step 2), the operation of obtaining the points on the polygon for equally dividing each side is as follows: using the list item battery to obtain the four sides of the rectangle respectively, and then numbering the four sides of the rectangle 0, 1, 2, and 3 in sequence, the two sides in the x-direction are numbered 0 and 2 respectively, and the two sides are equally divided into twice the number of grids in the x-direction by using the divide curve battery; the two sides in the y-direction are numbered 1 and 3 respectively, and then using the divide curve battery The curve battery divides the two sides equally into twice the number of grids in the y-axis direction; the operation of obtaining the upper rod in step 3) is as follows: using the above-mentioned method of taking points on each side of the polygon, take out the points with odd numbers on the 0th side, the number of which is the number of grids in the x-axis direction, use the reverselist battery to take out the reverse order of the points with odd numbers on the 2nd side, the number of which is the number of grids in the x-axis direction, use the line battery to connect the two groups of points to obtain a line segment, and then use the divide curve battery to divide the line segment equally into twice the number of grids in the y-axis direction, and then take out the points with odd numbers from the divided line segment numbers, the number of which is the number of grids in the y-axis direction, to obtain the upper node 1, move the upper node 1 in the negative direction of the z-axis by the height of the grid, and obtain the lower node 1; use the divide The surface battery obtains the upper node 2, and translates the upper node 2 in the negative direction of the z-axis by the distance of the grid height to obtain the lower node 2; take out the even-numbered points on the edge 0, the number of which is the number of x grids + 1, and then use the reverselist battery to take out the reverse order of the even-numbered points on the edge 1, the number of which is the number of y grids + 1, use the shortestlist battery and the line battery to connect the two groups of points in the shortest numbered manner, and then use the cullindex battery to delete the invalid line with the number 0 to obtain the first part of the upper member; take out the even-numbered points on the edge 1, the number of which is the number of y grids + 1, take out the reverse order of the even-numbered points on the edge 2, the number of which is the number of x grids + 1, use the shortestlist battery and the line battery to connect the two groups of points in the shortest numbered manner, and then use the cull The index battery deletes the invalid line with the serial number 0 to obtain the second part of the upper rods; take out the points with the even serial number on the side 2, the number of which is the number of x grids + 1, then take out the reverse order of the points with the even serial number on the side 3, the number of which is the number of y grids + 1, use the shortest list battery and the line battery to connect the two groups of points in the shortest serial number, and then use the cull index battery to delete the invalid line with the serial number 0 to obtain the third part of the upper rods;Take out the even-numbered points on the 3rd side, the number of which is the number of y grids + 1, then take out the reverse order of the even-numbered points on the 4th side, the number of which is the number of x grids + 1, use the shortestlist battery and the line battery to connect the two groups of points in the shortest number, then use the cull index battery to delete the invalid line with the number 0, and get the fourth part of the upper rod, and use the four sides of the rectangle as part of the upper rod; Use the equality battery to determine whether the number of x grids is equal to the number of y grids, and input the two output parameters equality and inequality into a cull pattern battery respectively. Then use the merge battery to merge the first part of the rods and the third part of the rods into a list, and directly input it into the cull pattern battery connected to inequality. Use the cull index battery to delete the rod with the sequence number of x grids -1 and then input it into the cullpattern battery connected to equality. In this way, the lines that appear twice can be deleted when the number of x grids is equal to the number of y grids. Then use the equality battery again to determine whether the number of x grids is equal to the number of y grids, and input the two output parameters equality and inequality into a cullpattern battery respectively. Then merge the second part of the rods and the fourth part of the rods into a list, and directly input it into the cull pattern battery connected to inequality. Use the cull index battery to delete the rod with the sequence number of x grids -1 and then input it into the cullpattern battery connected to equality. pattern battery; the fifth part of the rod has two forms. The first one is that when the number of x grids is xy larger than the number of y grids, starting from the point with sequence number 1 on the 0th edge, |xy|-1 points are taken as the first group of points, and starting from the point with sequence number 1 on the 2nd edge, |xy|-1 points are taken as the second group of points. The first group of points and the second group of points are connected in reverse order by using the line battery to obtain the fifth part of the upper layer rod, and the obtained rod is input into the cull pattern battery connected to equality; the second one is that when the number of y grids is yx larger than the number of x grids, starting from the point with sequence number 1 on the 1st edge, |xy|-1 points are taken as the first group of points, and starting from the point with sequence number 1 on the 3rd edge, |xy|-1 points are taken as the second group of points. The first group of points and the second group of points are connected in reverse order by using the line battery to obtain the fifth part of the upper layer rod; the obtained rod is input into the cullpattern battery connected to inequality; due to larger than and smaller than only one of the two batteries will output the result true at the same time, at this time, only the required battery of the two cull pattern batteries will output the rod, and the two cull pattern batteries can be output as the generated rods at the same time; step 4) The operation of obtaining all the lower-layer rods is: move the above-mentioned first to fifth upper-layer rods and the four sides of the rectangle, a total of six parts of rods, along the negative direction of the z-axis by the height of the grid, and obtain all the lower-layer rods; Step 5) The operation of obtaining all the webs is as follows: connect the upper node 1 with the lower node 1 to obtain the first part of the web; use the above-mentioned method of taking points on each side of the polygon to take out all points except the top row in the dot matrix formed by the upper node 2, transpose the dot matrix formed by the taken points, and then take out all points except the rightmost column in the dot matrix, transpose the dot matrix formed by these points and connect them with the lower node 1 to obtain the second part of the web; take out all points except the top row in the dot matrix formed by the upper node 2, and use flip to form the dot matrix formed by the taken points. The matrix battery is transposed, and then all points except the leftmost point in the transposed lattice are taken out, and the lattice composed of these points is transposed and connected with the lower node 1 to obtain the third part of the web; all points except the bottom row in the lattice composed of the upper node 2 are taken out, and the new lattice formed by the taken out points is transposed, and then all points except the leftmost point in the transposed lattice are taken out, and the lattice composed of these points is transposed and connected with the lower node 1 to obtain the fourth part of the web; all points except the bottom row in the lattice composed of the upper node 2 are taken out, and the new lattice formed by the taken out points is transposed, and then all points except the rightmost point in the transposed lattice are taken out, and the lattice composed of these points is transposed and connected with the lower node 1 to obtain the fifth part of the web, and the five parts of the web are all the webs.

7. According to claim 6, a method for implementing parametric modeling of various grid structures based on Grasshopper, Features: The obtained member nodes, upper members, lower members and web members are respectively input into the positions corresponding to the selection number "2" in the selection battery, and a two-way oblique grid is output.

Citation Information

Patent Citations

  • Rapid modeling method for parameterized grid structure model based on Revit and Dynamo

    CN111611675A

  • Grasshopper-based universal parametric modeling implementation method for multiple truss forms

    CN114254424A