Masonry filler wall arrangement method and system based on Dynamo coupling simulated annealing algorithm
By applying a simulated annealing algorithm based on Dynamo in masonry construction and combining BIM technology to dynamically adjust the masonry layout, the problem of inactivity of dynamic adjustment of masonry layout and insufficient utilization of incomplete bricks in the existing technology is solved, and high-quality masonry construction and resource conservation are achieved.
Patent Information
- Application Number
- CN202510212177.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-25
- Publication Date
- 2025-06-13
AI Technical Summary
In the construction of masonry secondary structures, the prior art cannot dynamically adjust the masonry layout according to the size of the wall or brick blocks, resulting in the inefficient fit between the brick blocks and the door and window openings, and the secondary utilization of residual incomplete brick blocks after construction is lacking.
The masonry filling wall arrangement method based on Dynamo coupled simulation annealing algorithm is adopted. The masonry layout is dynamically adjusted through BIM technology and intelligent optimization algorithm to ensure that the brick blocks match the wall size and realize the secondary utilization of incomplete bricks.
It improves the accuracy of masonry layout, enables the secondary utilization of incomplete blocks, reduces the waste of block resources, and improves the quality of masonry construction.
Smart Images

Figure BDA0005286290350000091 
Figure BDA0005286290350000101 
Figure BDA0005286290350000111
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of masonry engineering construction. Specifically, it relates to a masonry infill wall layout method and system based on Dynamo coupled with simulated annealing algorithm. Background Art
[0002] In the construction of the secondary structure of masonry, due to the lack of an intuitive masonry layout plan that reflects the actual requirements of the masonry site by the operators, the phenomena of randomly cutting and lapping blocks frequently occur at the site. Although there are some three-dimensional design software and plugins for masonry structures on the market, they cannot achieve dynamic adjustment of the masonry layout according to the wall or brick block size, the brick blocks cannot fit efficiently with the door and window openings, and at the same time, there is a lack of secondary utilization of the remaining non-integral brick blocks after construction. Summary of the Invention
[0003] In view of this, the present invention proposes a masonry infill wall layout method and system based on Dynamo coupled with simulated annealing algorithm, which uses BIM technology and simulated annealing algorithm in intelligent optimization algorithm to solve the problems that the current masonry layout cannot be dynamically adjusted according to the wall or brick block size, the brick blocks do not fit efficiently with the door and window openings, and there is a lack of secondary utilization of the remaining brick blocks after construction, so as to ensure that the construction of the masonry infill wall meets the high-quality masonry requirements.
[0004] On the one hand, the present invention proposes a masonry infill wall layout method based on Dynamo coupled with simulated annealing algorithm, and the method includes the following steps: S1: Create a parametric family of brick blocks; S2: Obtain the size elements of the infill wall; S3: Combine the preset specification requirements of masonry to obtain the range of variable intervals; S4: Set the initial temperature, cooling coefficient, termination temperature and number of iterations; S5: Randomly generate the current optimal solution of the masonry layout according to the current temperature; S6: Perturb the current optimal solution to obtain a new solution; S7: Calculate the fitness values of the current optimal solution and the new solution; S8: Use the Metropolis criterion to compare the fitness values of the current optimal solution and the new solution to obtain a new optimal solution, and judge whether the inner and outer loops reach the termination conditions; S9: Obtain the best plan for the masonry layout; S10: Place and parametrically adjust the brick block family according to the best plan.
[0005] Further, in the above-mentioned masonry infill wall layout method based on Dynamo coupled with simulated annealing algorithm, in the S1, parametric modeling is carried out in Revit according to the brick and block families to be used, the associated parameters of the length, width and height of the blocks and cushion bricks are set, and the associated parameter of the rotation angle is set for the inclined bricks used at the top.
[0006] Furthermore, in the above-mentioned masonry infill wall arrangement method based on the Dynamo coupled simulated annealing algorithm, in S5 and S6, the random selection function in the Python programming language is used to generate an initial solution within the respective variable intervals of the longitudinal and transverse arrangements, and the initial solution is regarded as the first current optimal solution. The current optimal solutions of the longitudinal and transverse arrangements are then disturbed left and right within their variable intervals to ensure that the variables of the new solution are within the corresponding intervals after the disturbance changes.
[0007] Furthermore, in the above-mentioned masonry infill wall arrangement method based on the Dynamo coupled simulated annealing algorithm, in the S7, the fitness value of the longitudinal arrangement is calculated based on whether the height of the longitudinal arrangement combination meets the constraints of the wall height or the secondary structure; and the fitness value of the transverse arrangement is calculated for the purpose of saving resources based on whether the size of the brick blocks meets the transverse size constraints of the wall, the overlap requirements of the brick blocks in the preset specifications, and whether the non-whole brick blocks can be reused.
[0008] Furthermore, in the above-mentioned masonry infill wall arrangement method based on Dynamo coupled simulated annealing algorithm, in said S8, at the beginning of simulated annealing, an initial temperature T is set. 0 Each external cycle reduces the temperature by a fixed cooling coefficient A. At each temperature T i The inner loop searches for a new solution near the current optimal solution by perturbation at the same temperature. The Metropolis criterion is used to compare the fitness values of the current optimal solution and the new solution to determine whether the new solution is the new optimal solution, so as to obtain the best solution for wall arrangement.
[0009] The masonry filling wall arrangement method based on Dynamo coupled simulated annealing algorithm provided by the present invention obtains the size information of the wall model through the Dynamo visual programming plug-in provided by Revit software, and uses the "Python Script" script combined with the simulated annealing algorithm to obtain the best solution for filling wall arrangement under the constraint of the secondary structure. This solution can improve the accuracy of masonry arrangement, so that incomplete blocks can be reused, reduce the waste of block resources, and improve the quality of masonry construction; and through Dynamo visual programming, the "FamilyInstance.ByPoint" node function is used to position and place the brick block family in Revit, and the "Element.SetParameterByName" node function is used to parameterize the size of the brick block family. The three-dimensional arrangement of masonry using BIM technology can intuitively display the arrangement results of masonry, which is helpful for on-site guidance personnel to conduct efficient explanations, thereby avoiding the occurrence of arbitrary construction and rework.
[0010] On the other hand, the present invention proposes a masonry infill wall layout system based on the Dynamo-coupled simulated annealing algorithm. The system includes: a brick block creation module for creating a parametric family of brick blocks; a infill wall size acquisition module for acquiring infill wall size elements; a variable determination module for obtaining the range of variables in combination with the preset specifications of masonry; a temperature setting module for setting the initial temperature, cooling coefficient, termination temperature, and number of iterations; a masonry layout generation module for randomly generating the current optimal solution of the masonry layout according to the current temperature; a new solution determination module for perturbing the current optimal solution to obtain a new solution; a fitness value calculation module for calculating the fitness values of the current optimal solution and the new solution;
[0011] an optimal solution determination module for comparing the fitness values of the current optimal solution and the new solution using the Metropolis criterion to obtain a new optimal solution and determining whether the inner and outer loops reach the termination conditions; a solution determination module for obtaining the best solution of the masonry layout; a parameter setting module for placing and parametrically adjusting the brick block family according to the best solution.
[0012] Further, in the above-mentioned masonry infill wall layout system based on the Dynamo-coupled simulated annealing algorithm, the brick block creation module is further configured to perform parametric modeling in Revit according to the brick and block families to be used, set associated parameters for the length, width, and height of the blocks and cushion bricks, and set an associated parameter for the rotation angle of the inclined bricks used at the top.
[0013] Further, in the above-mentioned masonry infill wall layout system based on the Dynamo-coupled simulated annealing algorithm, the masonry layout generation module and the new solution determination module are further configured to use the random selection function in the Python programming language to generate an initial solution within the respective variable ranges of the longitudinal and transverse layouts, regard the initial solution as the first current optimal solution, and then perturb the current optimal solutions of the longitudinal and transverse layouts within their variable ranges to ensure that the variables of the new solution are within the corresponding ranges after the perturbation.
[0014] Further, in the above-mentioned masonry infill wall layout system based on the Dynamo-coupled simulated annealing algorithm, the fitness value calculation module is further configured to calculate the fitness value of the longitudinal layout based on whether the height of the longitudinal layout combination meets the constraints of the wall height or the secondary structure; and calculate the fitness value of the transverse layout for the purpose of saving resources based on whether the brick block size meets the constraints of the wall transverse size, the lap requirements of the brick blocks in the preset specifications, and whether the non-standard brick blocks can be reused.
[0015] Further, in the above-mentioned masonry infill wall layout system based on the Dynamo-coupled simulated annealing algorithm, the optimal solution determination module is further configured to set the initial temperature T at the beginning of the simulated annealing 0, each outer loop decreases the temperature by a fixed temperature reduction coefficient A, and at each temperature T i , the inner loop searches for a new solution near the current optimal solution by perturbation at the same temperature, and uses the Metropolis criterion to compare the fitness values of the current optimal solution and the new solution to determine whether the new solution is the new optimal solution, so as to obtain the best solution for the layout of the wall body.
[0016] Since the above method embodiments have the above effects, the system embodiments also have corresponding technical effects. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] By reading the following detailed description of the preferred embodiments, various other advantages and benefits will become clear to those of ordinary skill in the art. The drawings are only for the purpose of showing the preferred embodiments and are not considered to be a limitation of the present invention. Moreover, throughout the drawings, the same reference numerals are used to represent the same components. In the drawings:
[0018] Figure 1 is a flowchart of the method for arranging masonry infill walls based on the Dynamo-coupled simulated annealing algorithm provided by the embodiment of the present invention;
[0019] Figure 2 is a flowchart of the principle of the simulated annealing algorithm provided by the embodiment of the present invention;
[0020] Figure 3 is a schematic diagram of the masonry infill wall layout model provided by the embodiment of the present invention;
[0021] Figure 4 is a flowchart of S1 provided by the embodiment of the present invention;
[0022] Figure 5 is a flowchart of S2 provided by the embodiment of the present invention;
[0023] Figure 6 is a flowchart of S3 provided by the embodiment of the present invention;
[0024] Figure 7 is a flowchart of S4 provided by the embodiment of the present invention;
[0025] Figure 8 is a flowchart of S5 provided by the embodiment of the present invention;
[0026] Figure 9 is a flowchart of S6 provided by the embodiment of the present invention;
[0027] Figure 10 is a flowchart of S7 provided by the embodiment of the present invention;
[0028] Figure 11 is a flowchart of S8 provided by the embodiment of the present invention;
[0029] Figure 12 This is the flowchart of S9 provided by the embodiment of the present invention;
[0030] Figure 13 This is the flowchart of S10 provided by the embodiment of the present invention;
[0031] Figure 14 This is the structural block diagram of the masonry infilled wall layout system based on the Dynamo coupled simulated annealing algorithm provided by the embodiment of the present invention. Detailed implementation manners
[0032] Hereinafter, the exemplary embodiments of the present disclosure will be described in more detail with reference to the accompanying drawings. Although the exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided so that the present disclosure can be more thoroughly understood and the scope of the present disclosure can be completely conveyed to those skilled in the art. It should be noted that, without conflict, the embodiments in the present invention and the features in the embodiments can be combined with each other. Hereinafter, the present invention will be described in detail with reference to the drawings and in conjunction with the embodiments.
[0033] See Figure 1 , which is the flowchart of the masonry infilled wall layout method based on the Dynamo coupled simulated annealing algorithm provided by the embodiment of the present invention. As shown in the figure, the method includes the following steps:
[0034] S1: Create a parametric family of bricks and blocks.
[0035] Specifically, in Revit, parametric modeling is performed according to the bricks and block families to be used, and associated parameters need to be set for their length, width, and height. In particular, for the inclined bricks at the top, an associated parameter for the rotation angle needs to be set.
[0036] S2: Obtain the size elements of the infilled wall.
[0037] S3: Combine the preset specifications of the masonry to obtain the range of the variables.
[0038] S4: Set the initial temperature, cooling coefficient, termination temperature, and number of iterations.
[0039] Specifically, based on Figure 2 the flowchart of the principle of the simulated annealing algorithm shown, since the number and types of control variables for longitudinal and transverse layouts are different, different initial temperatures T 0 , cooling coefficient A, termination temperature T e and number of iterations N need to be set according to the size and range of the variable interval.
[0040] S5: Randomly generate the current optimal solution for the masonry layout according to the current temperature.
[0041] Specifically, use the random selection function in the Python programming language to generate an initial solution within the respective variable ranges of the vertical and horizontal layouts. Take the initial solution as the first current optimal solution, and then perturb the current optimal solutions of the vertical and horizontal layouts within their variable ranges to ensure that the variables of the new solution are within the corresponding ranges after the perturbation.
[0042] S6: Perturb the current optimal solution to obtain a new solution.
[0043] Specifically, use the random selection function in the Python programming language to generate an initial solution within the respective variable ranges of the vertical and horizontal layouts. Take the initial solution as the first current optimal solution, and then perturb the current optimal solutions of the vertical and horizontal layouts within their variable ranges to ensure that the variables of the new solution are within the corresponding ranges after the perturbation.
[0044] S7: Calculate the fitness values of the current optimal solution and the new solution.
[0045] Specifically, consider whether the height of the vertical layout combination meets the wall height or the constraints of the secondary structure to calculate the fitness value of the vertical layout; consider whether the brick block size meets the wall horizontal dimension constraints, the lap requirements of the brick blocks in the specification, and whether the non - whole brick blocks can be reused, and calculate the fitness value of the horizontal layout for the purpose of saving resources.
[0046] S8: Use the Metropolis criterion to compare the fitness values of the current optimal solution and the new solution to obtain a new optimal solution, and judge whether the inner and outer loops reach the termination conditions.
[0047] Specifically, at the beginning of the simulated annealing, give a very high initial temperature T 0 , each outer loop reduces the temperature by a fixed cooling coefficient A, but at each temperature T i , the inner loop searches for a new solution near the current optimal solution through perturbation at the same temperature. Use the Metropolis criterion to decide whether to accept the new solution as the new optimal solution based on the comparison of the fitness values of the current optimal solution and the new solution, and also decide whether to accept a worse new solution, and finally obtain the best solution for the wall layout.
[0048] S9: Obtain the best solution for the masonry layout.
[0049] S10: Place and parametrically adjust the brick block family according to the best solution.
[0050] Specifically, Dynamo has the "FamilyInstance.ByPoint" and "Element.SetParameterByName" nodes. The former has the function of placing a brick block family, and the latter has the function of parameterizing the brick block family. Therefore, the control point position and brick block size of the optimal arrangement of brick blocks can be obtained according to the simulated annealing algorithm to automatically create the final wall model, such as Figure 3 shown.
[0051] See also Figure 4 , which is a flow chart of S1 provided in an embodiment of the present invention. As shown in the figure, S1 specifically includes the following sub-steps:
[0052] Sub-step S11, prepare initial size data of guide bricks, building blocks, pad bricks, and inclined bricks.
[0053] Sub-step S12, creating models of guide wall bricks, blocks, and pad bricks with the reference center as the center point in the Revit metric conventional model, and setting the size of each brick block as an instance parameter.
[0054] Sub-step S13, creating a model of inclined brickwork with the reference center as the center point in the Revit metric conventional model, setting the size of the inclined brickwork as an instance parameter, and at the same time setting the angle between the central axis of the inclined brickwork and the horizontal reference line with the reference center point as the center of the circle as the instance parameter.
[0055] See also Figure 5 , which is a flow chart of S2 provided in an embodiment of the present invention. As shown in the figure, S2 specifically includes the following sub-steps:
[0056] Sub-step S21, use the "Element.GetParameterValueByName" node in the Dynamo plug-in that comes with Revit to obtain the length WL, height WH and thickness WW of the wall model.
[0057] Sub-step S22, obtain the area of each surface of the wall model through the "Surface.Area" node in Dynamo, use the maximum area as the screening condition, and use the "List.FilterByBoolMask" node to filter out the reference surfaces for masonry arrangement from the surfaces of the wall model.
[0058] See also Figure 6 , which is a flow chart of S3 provided in an embodiment of the present invention. As shown in the figure, S3 specifically includes the following sub-steps:
[0059] Sub-step S31: Refer to the relevant masonry specifications to obtain the thickness intervals of the mortar joints between guide bricks, between blocks, between padding bricks, and between inclined bricks, as well as the layer number intervals of padding bricks and the angle intervals of inclined bricks.
[0060] Sub-step S32: Initially calculate the interval range of the number of blocks based on the wall height WH.
[0061] Sub-step S33: Since the relevant masonry specifications require that the lap length between brick blocks is not less than one-third of the length of the brick block, a combination scheme is set with a horizontal layout combination of an odd row plus an even row.
[0062] See Figure 7 , which is the flowchart of S4 provided by the embodiment of the present invention. As shown in the figure, this S4 specifically includes the following sub-steps:
[0063] Sub-step S41: Set the initial temperature T 0 , cooling coefficient A, and termination temperature T e , and the number of iterations N.
[0064] Sub-step S42: Set the initial temperature t 0 , cooling coefficient a, and termination temperature t e , and the number of iterations n.
[0065] See Figure 8 , which is the flowchart of S5 provided by the embodiment of the present invention. As shown in the figure, this S5 specifically includes the following sub-steps:
[0066] Sub-step S51: Use the "random.choice" function in the Python programming language to randomly select values in the vertical layout variable interval of the wall, and combine the vertical mortar joint thickness H 1 of the guide brick, the vertical mortar joint thickness H 2 of the block, the number of block layers H 3 , the vertical mortar joint thickness H 4 of the padding brick, the number of padding brick layers H 5 , and the inclined brick angle H 6 to form an initial solution, and regard the initial solution as the first optimal solution H.
[0067] Sub-step S52: Use the "random.choice" function in the Python programming language to randomly select a scheme and values in the horizontal layout variable interval of the wall, and combine the horizontal layout scheme L 1 of the odd-even combination, and the horizontal mortar joint thickness L 2 of the brick block to form an initial solution, and regard the initial solution as the first optimal solution L.
[0068] See Figure 9, which is the flowchart of S6 provided by the embodiment of the present invention. As shown in the figure, S6 specifically includes the following sub-steps:
[0069] Sub-step S61, perturb the current optimal solution H i (i = 1, 2, 3, 4, 5, 6) to obtain H i -1, H i , H i +1, three perturbation numbers. When (H i -1) is less than the minimum value of the interval of each variable, the perturbation number is H i , H i +1; when (H i +1) is greater than the maximum value of the interval of each variable, the perturbation number is H i -1, H i . Use the "random.choice" function in the Python programming language to randomly select the perturbation number of each variable to replace the original value, and form a new solution NH of the longitudinal arrangement of the wall with the new variable values NH i (i = 1, 2, 3, 4, 5, 6).
[0070] Sub-step S62, perturb the current optimal solution L i (i = 1, 2) in L 2 to obtain L 2 -1, L 2 , L 2 +1, three perturbation numbers. When (L 2 -1) is less than the minimum value of the interval of each variable, the perturbation number is L 2 , L 2 +1; when (L 2 +1) is greater than the maximum value of the interval of each variable, the perturbation number is L 2 -1, L 2 . Use the "random.choice" function in the Python programming language to randomly select the perturbation number of the variable of the horizontal mortar joint thickness of the brick block to replace the original value. Since L 1 is an odd-even combination scheme and has no actual variable interval, the "random.choice" is used to select a new scheme from the scheme set. The new variable values NL i (i = 1, 2) form a new solution NL of the longitudinal arrangement of the wall.
[0071] See Figure 10 , which is the flowchart of S7 provided by the embodiment of the present invention. As shown in the figure, S7 specifically includes the following sub-steps:
[0072] Sub-step S71: Let the height of the guide wall brick be dqh, the height of the building block be qh, the height of the cushion brick be dzh, the length of the inclined masonry brick be xl, the height of the inclined masonry brick be xh, the height of the middle ring beam be qlh, and the wall height be WH. When the wall height is greater than 4m, a middle ring beam needs to be arranged for the wall. Therefore, the initial fitness values Fd and NFd of the current optimal solution and the new solution arranged longitudinally are calculated according to the following formulas:
[0073] Fa = (H1 + dqh) * 3 + (H2 + qh) * H3 + (H4 + dzh) * H5 + sin(H6) * xl + cos(H6) * xh Formula (1)
[0074] Fb = (H1 + dqh) * 3 + (H2 + qh) * H3 + (H4 + dzh)H5 + sin(H6) * xl + cos(H6) * xh + qlh + H2 Formula (2)
[0075] NFa = (NH1 + dqh) * 3 + (NH2 + qh) * NH3 + (H4 + dzh) * NH5 + sin(NH6) * xl + cos(NH6) * xh Formula (3)
[0076] NFb(NH1 + dqh) * 3 + (NH2 + qh) * NH3 + (NH4 + dzh) * NH5 + sin(NH6) * xl + cos(NH6) * xh + qlh + NH2 Formula (4)
[0077]
[0078] Fd = WH - Fc Formula (7)
[0079] NFd = WH - NFc Formula (8)
[0080] Among them, Fa is the height of the masonry (excluding the middle ring beam) built by the current optimal solution, Fb is the height of the masonry (in the case of including the middle ring beam) built by the current optimal solution, NFa is the height of the masonry (excluding the middle ring beam) built by the new solution, NFb is the height of the masonry (in the case of including the middle ring beam) built by the new solution, Fc is the building height of the current optimal solution, NFc is the building height of the new solution, Fd is the initial fitness value of the current optimal solution, and NFd is the initial fitness value of the new solution.
[0081] Sub-step S72: When Fd < 0 or NFd < 0, a parameter α is given so that the wall height constraint is not satisfied, and the fitness value with a smaller absolute value of Fd or NFd can have the opportunity to be perturbed. Therefore, the adjusted fitness values F and NF of the current optimal solution and the new solution arranged longitudinally are calculated according to the following formulas:
[0082]
[0083] Where F is the fitness value of the current optimal solution arranged vertically after adjustment, and NF is the fitness value of the new solution arranged vertically after adjustment;
[0084] Sub-step S73, L 1 is the combination plan for horizontal odd and even row arrangements. Therefore, let L 11 be the horizontal arrangement plan for odd rows, and its value is the length ratio of the first brick in odd rows. Let L 12 be the horizontal arrangement plan for even rows, and its value is the length ratio of the first brick in even rows. L 2 is the thickness of the horizontal mortar joint of the brick block. Taking the block area as an example, let the block length be ql, the length of the first brick in odd rows be sjc, the length of the last brick in odd rows be wjc, the remaining length after cutting the first brick in odd rows be qsjc, the remaining length after cutting the last brick in odd rows be qwjc, the length of the first brick in even rows be soc, the length of the last brick in even rows be woc, the remaining length after cutting the first brick in even rows be qsoc, and the remaining length after cutting the last brick in even rows be qwoc. Let the length of the horizontal control line in odd rows be JL, and the length of the horizontal control line in even rows be OL. The sum of the lengths of the first and last bricks and the remaining lengths after cutting in the horizontal arrangement of odd and even rows of the wall are calculated according to the following formula (note: is the floor function symbol):
[0085] sjc = L 11 *ql Formula (11)
[0086]
[0087] qsjc = ql - sjc Formula (13)
[0088] qwjc = ql - wjc Formula (14)
[0089] soc = L 12 *ql Formula (15)
[0090]
[0091] qsoc = ql - soc Formula (17)
[0092] qwoc = ql - woc Formula (18)
[0093] Among them, the length of the first brick in odd rows is sjc, the length of the last brick in odd rows is wjc, the remaining length after cutting the first brick in odd rows is qsjc, the remaining length after cutting the last brick in odd rows is qwjc, the length of the first brick in even rows is soc, the length of the last brick in even rows is woc, the remaining length after cutting the first brick in even rows is qsoc, and the remaining length after cutting the last brick in even rows is qwoc.
[0094] Sub-step S74: Calculate the head and tail brick lengths and the remaining cutting lengths of each odd-row horizontal control line and each even-row horizontal control line. Combine all sjc, wjc, soc, and woc into a set X, and combine all qsjc, qwjc, qsoc, and qwoc into a set Y. Randomly arrange the set X from largest to smallest using the Python programming language. Select the values in the set X in sequence, match the smallest target value in the set Y that is greater than the selected value, calculate the difference between the target value and the selected value. If there is no target value greater than the selected value, use the brick length ql to replace the target value for the difference calculation. Remove the values that have participated in the matching from the sets X and Y, and repeat the operation until all the values in the set X are removed. Assume that the number of data in the initial X set of the current optimal solution is u1, the number of data in the initial X set of the new solution is u2, the difference between the target value and the selected value of the current optimal solution is fi (i = 1, 2, 3... u1), and the difference between the target value and the selected value of the new solution is nfi (i = 1, 2, 3... u2). The fitness values of the current optimal solution and the new solution of this horizontal layout scheme are f and nf respectively, and the calculation formulas are as follows:
[0095]
[0096] Among them, f and nf are the fitness values of the current optimal solution and the new solution of the horizontal layout scheme respectively.
[0097] See Figure 11 , which is the flowchart of S8 provided by the embodiment of the present invention. As shown in the figure, this S8 specifically includes the following sub-steps:
[0098] Sub-step S81: According to the initial temperature T 0 , the cooling coefficient A, the termination temperature T e , the initial temperature t of the horizontal layout 0 , the cooling coefficient a, and the termination temperature t e , calculate the annealing (cooling) times of the wall layout as the number of outer loop times respectively. The calculation formulas for the annealing times M of the vertical layout and the annealing times m of the horizontal layout are as follows:
[0099] T 0 *A M ≤T e Formula (21)
[0100] t 0 *a m ≤t e Formula (22)
[0101] Among them, M and m are the annealing times of the vertical layout and the annealing times of the horizontal layout respectively;
[0102] Sub-step S82: Taking the number of annealing times as the outer loop and the number of iteration times as the inner loop, using the Metropolis criterion according to the current longitudinal temperature T i (i = 0, 1, 2…M) and the current transverse temperature t i (i = 0, 1, 2…m), comparing the current optimal solution with the new solution, and judging whether to accept the new solution as the new optimal solution. The acceptance probabilities ρ 1 of the Metropolis criterion for longitudinal arrangement and the acceptance probability ρ 2 of the Metropolis criterion for transverse arrangement are calculated as follows:
[0103]
[0104] where ρ 1 and ρ 2 are the acceptance probabilities of the Metropolis criterion for longitudinal arrangement and the acceptance probability of the Metropolis criterion for transverse arrangement respectively.
[0105] Sub-step S83: Prioritize obtaining the optimal solution for longitudinal masonry arrangement. Under the current temperature T i , sequentially perform the inner loop of simulated annealing through steps 6.1, 7.1, 7.2, 8.1, and 8.2 to obtain the optimal solution for longitudinal arrangement at the current temperature. Then, through the outer loop of annealing (cooling), repeat the inner loop at the current temperature to obtain the optimal solutions for longitudinal arrangement at different temperatures. When the temperature T i has not reached Te during the annealing (cooling) process, continue the loop. When the temperature T i reaches T e during the annealing (cooling) process, the loop terminates. Compare the optimal solutions for longitudinal arrangement at different temperatures to obtain the optimal solution for longitudinal arrangement in the entire inner and outer loops.
[0106] Sub-step S84: According to whether the height WH of the wall is greater than 4m and whether the length WL of the wall is greater than 5m, judge whether ring beams and construction columns need to be set for masonry arrangement. If necessary, use Dynamo to obtain the cut wall entity by the "Solid.DifferenceAll" node for the wall model and the ring beam and construction column entities, and obtain the arrangement reference plane of the cut wall. Find a longitudinal control line on the wall arrangement reference plane, determine the transverse control points on the longitudinal control line according to the optimal solution for longitudinal wall arrangement in the entire inner and outer loops, use Dynamo to generate a straight line along the wall length direction for the transverse control points, and intersect the straight line with the arrangement reference plane of the cut wall through the "Geometry.Intersect" node. These intersecting line segments are the transverse control lines for wall arrangement.
[0107] Sub-step S85, according to the horizontal control lines arranged for the wall, at the current temperature t i case, sequentially perform the inner loop of simulated annealing through sub-step S62, sub-step S73, sub-step S74, sub-step S81, and sub-step S82 to obtain the optimal horizontal arrangement solution at the current temperature. Then, through the outer loop of annealing (temperature reduction), repeat the inner loop at the current temperature to obtain the optimal horizontal arrangement solutions at different temperatures. When the temperature t i the annealing (temperature reduction) process does not reach t e continue the loop. When the temperature t i the annealing (temperature reduction) process reaches te, terminate the loop, compare the optimal horizontal arrangement solutions at different temperatures, and obtain the optimal solution for the horizontal arrangement in the entire inner and outer loops.
[0108] See Figure 12 , which is the flowchart of S9 provided by the embodiment of the present invention. As shown in the figure, this S9 specifically includes the following sub-steps:
[0109] Sub-step S91, use the optimal solution of the longitudinal arrangement optimized by the simulated annealing algorithm as the best solution for the longitudinal arrangement of the wall, and use the optimal solution of the horizontal arrangement optimized by the simulated annealing algorithm as the best solution for the horizontal arrangement of the wall.
[0110] Sub-step S92, according to the best solutions for the longitudinal and horizontal arrangements of the wall and the size information of the brick blocks, calculate the positions of the control points of the brick blocks on the control lines.
[0111] See Figure 13 , which is the flowchart of S10 provided by the embodiment of the present invention. As shown in the figure, this S10 specifically includes the following sub-steps:
[0112] Sub-step S101, use the "Curve.PointAtSegmentLength" node in Dynamo to obtain the positioning control points of each brick block on the longitudinal and horizontal control lines.
[0113] Sub-step S102, use the "FamilyInstance.ByPoint" node in Dynamo to place the brick block family at the positioning control points to generate a preliminary wall arrangement model.
[0114] Sub-step S103, use the "Element.SetParameterByName" node in Dynamo to perform parametric adjustment on the brick block family to generate the final arrangement model of the masonry infilled wall.
[0115] The above content is a specific implementation example of using the Dynamo visual programming plug-in that comes with Revit software to obtain wall information, combining the simulated annealing algorithm to continuously optimize the masonry layout plan, and finally using the interactivity of the two to achieve the placement and parameter adjustment of brick block families.
[0116] In summary, the masonry infill wall arrangement method based on Dynamo coupled simulated annealing algorithm provided in this embodiment obtains the size information of the wall model through the Dynamo visual programming plug-in provided by the Revit software, and uses the "Python Script" script combined with the simulated annealing algorithm to obtain the best solution for the arrangement of the infill wall under the constraint of the secondary structure. This solution can improve the accuracy of the masonry arrangement, so that incomplete blocks can be reused, reduce the waste of block resources, and improve the quality of masonry construction; and through Dynamo visual programming, the "FamilyInstance.ByPoint" node function is used to position and place the brick block family in Revit, and the "Element.SetParameterByName" node function is used to parameterize the size of the brick block family. The three-dimensional arrangement of masonry using BIM technology can intuitively display the arrangement results of masonry, which is helpful for on-site guidance personnel to conduct efficient briefing, thereby avoiding the occurrence of arbitrary construction and rework.
[0117] System Example:
[0118] See also Figure 14 , which is a structural block diagram of a masonry infill wall arrangement system based on Dynamo coupled simulated annealing algorithm provided by an embodiment of the present invention. As shown in the figure, the system includes: a brick block creation module 100, a infill wall size acquisition module 200, a variable determination module 300, a temperature setting module 400, a masonry arrangement generation module 500, a new solution determination module 600, a fitness value calculation module 700, an optimal solution determination module 800, a scheme determination module 900, and a parameter setting module 1000.
[0119] A brick block creation module 100 for creating a parametric family of brick blocks;
[0120] The infill wall size acquisition module 200 is used to acquire the infill wall size element;
[0121] The variable determination module 300 is used to obtain the interval range of the variable in combination with the preset masonry specification requirements;
[0122] The temperature setting module 400 is used to set the initial temperature, the temperature reduction coefficient, the end temperature and the number of iterations;
[0123] The masonry arrangement generation module 500 is used to randomly generate the current optimal solution of the masonry arrangement according to the current temperature;
[0124] A new solution determination module 600, configured to obtain a new solution by perturbing the current optimal solution;
[0125] A fitness value calculation module 700, configured to calculate the fitness values of the current optimal solution and the new solution;
[0126] An optimal solution determination module 800, configured to compare the fitness values of the current optimal solution and the new solution using the Metropolis criterion to obtain a new optimal solution, and determine whether the inner and outer loops reach the termination conditions;
[0127] A solution determination module 900, configured to obtain the best solution for the masonry layout;
[0128] A parameter setting module 1000, configured to place and parametrically adjust the brick and block families according to the best solution.
[0129] Preferably, the brick and block creation module 100 is further configured to perform parametric modeling in Revit according to the bricks and block families to be used, set associated parameters for the lengths, widths, and heights of the blocks and cushion bricks, and set an associated parameter for the rotation angle of the inclined bricks used at the top.
[0130] Preferably, the masonry layout generation module 500 and the new solution determination module 600 are further configured to use the random selection function in the Python programming language to generate an initial solution within the respective variable ranges of the longitudinal and transverse layouts, regard the initial solution as the first current optimal solution, and then perturb the current optimal solutions of the longitudinal and transverse layouts within their variable ranges to ensure that the variables of the new solution are within the corresponding ranges after the perturbation.
[0131] Preferably, the fitness value calculation module 700 is further configured to calculate the fitness value of the longitudinal layout based on whether the height of the longitudinal layout combination meets the constraints of the wall height or the secondary structure; and calculate the fitness value of the transverse layout based on whether the brick and block dimensions meet the constraints of the wall transverse dimensions, the lap requirements of the brick and block in the preset specification, and whether the non - whole - brick blocks can be reused to save resources.
[0132] Preferably, the optimal solution determination module 800 is further configured to set an initial temperature T at the beginning of the simulated annealing 0 , and each time the outer loop reduces the temperature by a fixed temperature reduction coefficient A, at each temperature T i , the inner loop searches for a new solution near the current optimal solution by perturbation at the same temperature, and uses the Metropolis criterion to compare the fitness values of the current optimal solution and the new solution to determine whether the new solution is the new optimal solution, so as to obtain the best solution for the wall layout.
[0133] Among them, for the specific implementation processes of the brick block creation module 100, the infilled wall size acquisition module 200, the variable determination module 300, the temperature setting module 400, the masonry layout generation module 500, the new solution determination module 600, the fitness value calculation module 700, the optimal solution determination module 800, the solution determination module 900, and the parameter setting module 1000, reference can be made to the above method embodiments, and they will not be elaborated herein.
[0134] Since the above method embodiments have the above effects, this system embodiment also has corresponding technical effects.
[0135] It should be noted that in the description of the present invention, the terms indicating directions or positional relationships such as "upper", "lower", "left", "right", "inner", "outer", etc. are based on the directions or positional relationships shown in the drawings. This is only for convenience of description and does not indicate or imply that the device or element must have a specific orientation, be constructed and operated in a specific orientation. Therefore, it should not be construed as a limitation to the present invention.
[0136] In addition, it should also be noted that in the description of the present invention, unless otherwise clearly specified and limited, the terms "installation", "connection", and "coupling" should be understood in a broad sense. For example, it can be a fixed connection, a detachable connection, or an integral connection; it can be a direct connection, or an indirect connection through an intermediate medium, and it can be the communication inside two elements. For those skilled in the art, the specific meanings of the above terms in the present invention can be understood according to specific circumstances.
[0137] Obviously, those skilled in the art can make various changes and modifications to the present invention without departing from the spirit and scope of the present invention. Thus, if these modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalent technologies, the present invention is also intended to include these changes and modifications.
Claims
1. A masonry infill wall arrangement method based on Dynamo coupled simulated annealing algorithm, characterized in that: The steps include: S1: Create a parametric family of brick blocks; S2: Get the infill wall size element; S3: Combined with the requirements of the masonry preset specifications, the interval range of the variable is obtained; S4: Set the initial temperature, cooling coefficient, termination temperature and number of iterations; S5: randomly generate the current optimal solution of masonry arrangement according to the current temperature; S6: Perturb the current optimal solution to obtain a new solution; S7: Calculate the fitness value of the current optimal solution and the new solution; S8: Use the Metropolis criterion to compare the fitness values of the current optimal solution and the new solution, obtain a new optimal solution, and determine whether the internal and external loops meet the termination conditions; S9: Obtain the best solution for masonry arrangement; S10: Placement and parametric adjustment of brick block families according to the best solution.
2. The masonry infill wall arrangement method based on Dynamo coupled simulated annealing algorithm according to claim 1 is characterized in that: In said S1, parametric modeling is performed in Revit according to the bricks and block families to be used, and associated parameters are set for the length, width and height of the blocks and pad bricks, and associated parameters for the rotation angle are set for the inclined bricks used for the top.
3. The masonry infill wall arrangement method based on Dynamo coupled simulated annealing algorithm according to claim 1 is characterized in that: In S5 and S6, the random selection function in the Python programming language is used to generate an initial solution within the respective variable intervals arranged vertically and horizontally, and the initial solution is taken as the first current optimal solution. The current optimal solution arranged vertically and horizontally is then disturbed left and right within its variable interval to ensure that the variables of the new solution are within the corresponding interval after the disturbance change.
4. The masonry infill wall arrangement method based on Dynamo coupled simulated annealing algorithm according to claim 1 is characterized in that: In S7, the fitness value of the longitudinal arrangement is calculated based on whether the height of the longitudinal arrangement combination meets the constraints of the wall height or the secondary structure; and the fitness value of the transverse arrangement is calculated for the purpose of saving resources based on whether the size of the brick blocks meets the transverse size constraints of the wall, the overlap requirements of the brick blocks in the preset specifications, and whether the non-whole brick blocks can be reused.
5. The masonry infill wall arrangement method based on Dynamo coupled simulated annealing algorithm according to any one of claims 1 to 4, characterized in that: In S8, at the start of simulated annealing, the initial temperature is set Each external cycle makes the temperature drop at a fixed temperature coefficient Reduced at each temperature The inner loop searches for a new solution near the current optimal solution by perturbation at the same temperature. The Metropolis criterion is used to compare the fitness values of the current optimal solution and the new solution to determine whether the new solution is the new optimal solution, so as to obtain the best solution for wall arrangement.
6. A masonry infill wall arrangement system based on Dynamo coupled simulated annealing algorithm, characterized in that: include: Brick block creation module for creating parametric families of brick blocks; The infill wall size acquisition module is used to obtain the infill wall size elements; The variable determination module is used to obtain the interval range of the variable in combination with the requirements of the preset masonry specifications; Temperature setting module, used to set initial temperature, cooling coefficient, end temperature and number of iterations; The masonry arrangement generation module is used to randomly generate the current optimal solution of the masonry arrangement according to the current temperature; A new solution determination module is used to perturb the current optimal solution to obtain a new solution; A fitness value calculation module is used to calculate the fitness values of the current optimal solution and the new solution; The optimal solution determination module is used to compare the fitness values of the current optimal solution and the new solution using the Metropolis criterion, obtain a new optimal solution, and determine whether the internal and external loops have reached the termination condition; The scheme determination module is used to obtain the best scheme for masonry arrangement; Parametric module for optimal placement and parametric adjustment of brick block families.
7. The masonry infill wall arrangement system based on Dynamo coupled simulated annealing algorithm according to claim 6, characterized in that: The brick block creation module is also used to perform parametric modeling in Revit based on the bricks and block families to be used, set associated parameters for the length, width, and height of the blocks and pad bricks, and set associated parameters for the rotation angle of the inclined bricks used for the top.
8. The masonry infill wall arrangement system based on Dynamo coupled simulated annealing algorithm according to claim 6, characterized in that: The masonry arrangement generation module and the new solution determination module are also used to use the random selection function in the Python programming language to generate an initial solution within the respective variable intervals of the longitudinal and transverse arrangements, and use the initial solution as the first current optimal solution. The current optimal solution of the longitudinal and transverse arrangements is then disturbed left and right within the variable interval to ensure that the variables of the new solution are within the corresponding interval after the disturbance change.
9. The masonry infill wall arrangement system based on Dynamo coupled simulated annealing algorithm according to claim 6, characterized in that: The fitness value calculation module is also used to calculate the fitness value of the longitudinal arrangement based on whether the height of the longitudinal arrangement combination meets the constraints of the wall height or the secondary structure; and to calculate the fitness value of the transverse arrangement for the purpose of saving resources based on whether the size of the brick blocks meets the transverse size constraints of the wall, the overlap requirements of the brick blocks in the preset specifications, and whether the non-whole brick blocks can be reused.
10. The masonry infill wall arrangement system based on Dynamo coupled simulated annealing algorithm according to any one of claims 6 to 9, characterized in that: The optimal solution determination module is also used to set the initial temperature at the beginning of simulated annealing. Each external cycle makes the temperature drop at a fixed temperature coefficient Reduced at each temperature The inner loop searches for a new solution near the current optimal solution by perturbation at the same temperature. The Metropolis criterion is used to compare the fitness values of the current optimal solution and the new solution to determine whether the new solution is the new optimal solution, so as to obtain the best solution for wall arrangement.