Masonry wall material and waste calculation method and system based on Revit secondary development

Through the method based on Revit secondary development, information about masonry wall elements and secondary structural components in the Revit three-dimensional model is extracted and calculated, which solves the problem of single material calculation and large waste estimation error in the prior art, and realizes the fine calculation and management of the quantity of materials and waste generated by new buildings.

CN119760852BActive Publication Date: 2025-05-06SHENZHEN UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510263079.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-03-06
Publication Date
2025-05-06
Estimated Expiration
2045-03-06

AI Technical Summary

Technical Problem

The existing BIM model is used in construction projects with a single material calculation method, does not consider the spatial relationship between structural units, and lacks a detailed estimate of the amount of waste generated by new construction.

Method used

Through the method based on Revit secondary development, the Revit three-dimensional information model is obtained, the dimension parameters and three-dimensional coordinate information of masonry wall elements and secondary structure components are extracted, the masonry wall calculation area is divided, and the mortar consumption and waste amount are calculated based on the preset input parameters.

Benefits of technology

Automatic calculation of the quantity of materials and the amount of construction waste generated by newly built masonry walls has been realized, which improves calculation efficiency and precision, reduces resource waste, and helps in the management of construction waste.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119760852B_ABST
    Figure CN119760852B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for calculating masonry wall materials and waste based on Revit secondary development, including: obtaining a Revit three-dimensional information model and preset input parameters; obtaining masonry wall elements and secondary structural components from the Revit three-dimensional information model, wherein the secondary structural components include components intersecting with the masonry wall elements; extracting size parameters and three-dimensional coordinate information of the masonry wall elements and secondary structural components to deduct the overlapping parts and divide them into masonry wall calculation areas; calculating mortar usage and mortar waste according to the masonry wall calculation area and preset input parameters. The present invention reduces the workload of users and improves the efficiency of material quantity calculation. It also takes into account the overlap between masonry wall instances and other components in three-dimensional space, and more finely calculates the masonry wall material quantity and waste generation, thereby improving the precision of material quantity calculation and helping to reduce the waste of resources caused by material procurement errors.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of building informatization, and in particular relates to a masonry wall material and waste calculation method and system based on Revit secondary development. Background Art

[0002] Building Information Modeling (BIM) technology is a data-based tool used in the field of construction engineering. It is widely used by various engineering stakeholders in multiple stages such as engineering design, construction, use and management. The core of building information modeling is to use digital technology to build a virtual building information database, which can not only contain the three-dimensional model of the building, but also the geometric information, professional attributes and status information of the building. BIM technology can share and transmit various building information through its data-based and information-based characteristics, play a role in the entire life cycle of the project, and enable the engineering and technical personnel of each project participant to correctly understand the building information and make reasonable responses. BIM technology can effectively improve the information exchange capabilities and communication efficiency of all parties involved in the project, and play an important role in improving production efficiency, reducing material waste and shortening construction period.

[0003] However, the existing methods for using BIM models to perform refined material calculations for construction projects are relatively simple, only considering the structural unit itself, and not the spatial relationship between the structural units. The method for estimating the amount of construction waste generated at the project level is basically to estimate the amount of demolished construction waste, and lacks a detailed estimate of the amount of waste generated by new buildings. The estimation of the amount of waste generated by new buildings is only obtained by multiplying the waste generation rate by the corresponding building area, which has a large error and is of little help in the management of construction waste. There is a large amount of uncertainty about the waste generation of masonry walls of new buildings in engineering projects, and there is a lack of detailed estimates of the amount of waste generated by masonry walls. Summary of the invention

[0004] In order to solve the above problems existing in the prior art, the present invention provides a masonry wall material and waste calculation method and system based on Revit secondary development. The technical problem to be solved by the present invention is achieved through the following technical solutions:

[0005] A method for calculating masonry wall materials and waste based on secondary development of Revit, including:

[0006] Obtain Revit 3D information model and preset input parameters;

[0007] Acquire masonry wall elements and secondary structural components from the Revit three-dimensional information model, wherein the secondary structural components include components intersecting with the masonry wall elements;

[0008] Extract the size parameters and three-dimensional coordinate information of masonry wall elements and secondary structural components to deduct the overlapping parts and then divide them to obtain the masonry wall calculation area;

[0009] The mortar usage and mortar waste are calculated according to the masonry wall calculation area and preset input parameters.

[0010] In a specific embodiment, the preset input parameters include: mortar joint width and mortar waste rate.

[0011] In a specific implementation, obtaining masonry wall elements and secondary structural components from the Revit 3D information model includes:

[0012] Read the Revit 3D information model and collect masonry wall element instances of fill wall type into an element collector;

[0013] Traverse the masonry wall elements collected in the element collector to obtain the family type and family name of the masonry wall elements; when it is determined that the family name contains external wall specific characters, store the masonry wall element in the external wall storage space in the preset storage list; when it is determined that the family name contains internal wall specific characters, store the masonry wall element in the internal wall storage space in the preset storage list; when it is determined that the family name does not contain external wall specific characters and internal wall specific characters, create a virtual instance according to the collision box coordinates of the wall, and make the virtual instance intersect with the corresponding room, and store the elements of the room type in the room storage space; traverse the room storage space, and when it is determined that the intersection of the room and the wall is greater than or equal to 2, store the wall in the internal wall storage space in the preset storage list; when it is determined that the intersection of the room and the wall is less than 2, store the wall in the external wall storage space in the preset storage list;

[0014] The masonry wall elements collected in the element collector are traversed to filter one or more of the columns, beams, slabs, doors and windows intersecting with the wall, wherein the columns, beams, slabs, doors and windows are respectively stored in the column storage space, beam storage space, slab storage space, and door and window slab storage space in the preset storage list.

[0015] In a specific implementation, the overlapping parts are deducted and divided to obtain the masonry wall calculation area, including:

[0016] The column storage space, beam storage space, slab storage space, door and window storage space are sequentially traversed to calculate the overlapped area between the masonry wall and the corresponding column, beam, slab, door and window;

[0017] Masonry wall elements are read from the exterior wall storage space and the interior wall storage space to obtain a masonry wall area, and the overlap area is deducted from the masonry wall area to obtain a masonry wall calculation area.

[0018] In a specific embodiment, the calculation method of the mortar dosage is:

[0019] V M =V OM ×n O +V EM ×n E ;

[0020] The amount of mortar waste is:

[0021] V MW =V M ×R M ;

[0022] Among them, V OM ={[n1×(L L +m)+m]×m+m×L H ×(n1+1)}×L W ×10 -9 ;

[0023] V EM ={[n1×(L L +m)+m]×m+m×L H ×(n1+2)}×L W ×10 -9 ;

[0024] (Lm) / (L L +m)=n1……r t ;

[0025] (Hm) / (L H +m)=n2……r l ;

[0026] L is the length of the wall in the calculation area, H is the height of the wall in the calculation area, r t is the remainder of the transverse masonry in the calculation area (in the direction of the wall length), r l V is the remainder of the longitudinal masonry in the calculation area (in the direction of wall height), OM V is the amount of mortar used for odd-numbered masonry layers. EM is the amount of mortar used for even-numbered masonry layers, V M is the amount of mortar used, V MW is the amount of mortar waste, n1 is the number of masonry required in the wall length direction, n2 is the number of masonry layers required in the wall height direction, n O is the number of odd-numbered masonry layers, n E is the number of layers of even-numbered masonry, m is the mortar joint width of the preset input parameter, L L is the length of the masonry, L H is the masonry height, L Wis the masonry width, R M is the mortar waste rate of the preset input parameters; where m, L L , L H , L W 、r t 、r l , L and H are all lengths in millimeters; V OM 、V EM 、V M and V MW All are volumes in cubic meters.

[0027] The present invention also discloses a masonry wall material and waste calculation system based on Revit secondary development, including:

[0028] Data acquisition module, used to obtain Revit 3D information model and preset input parameters;

[0029] A model extraction module, used to obtain masonry wall elements and secondary structural components from the Revit three-dimensional information model, wherein the secondary structural components include components intersecting with the masonry wall elements;

[0030] The area division module is used to extract the size parameters and three-dimensional coordinate information of masonry wall elements and secondary structural components to deduct the overlapping parts and then divide them to obtain the masonry wall calculation area;

[0031] The calculation module is used to calculate the mortar consumption and the mortar waste according to the masonry wall calculation area and preset input parameters.

[0032] In a specific embodiment, the preset input parameters include: mortar joint width and mortar waste rate.

[0033] In a specific implementation, obtaining masonry wall elements and secondary structural components from the Revit 3D information model includes:

[0034] Read the Revit 3D information model and collect masonry wall element instances of fill wall type into an element collector;

[0035] Traverse the masonry wall elements collected in the element collector to obtain the family type and family name of the masonry wall elements; when it is determined that the family name contains external wall specific characters, store the masonry wall element in the external wall storage space in the preset storage list; when it is determined that the family name contains internal wall specific characters, store the masonry wall element in the internal wall storage space in the preset storage list; when it is determined that the family name does not contain external wall specific characters and internal wall specific characters, create a virtual instance according to the collision box coordinates of the wall, and make the virtual instance intersect with the corresponding room, and store the elements of the room type in the room storage space; traverse the room storage space, and when it is determined that the intersection of the room and the wall is greater than or equal to 2, store the wall in the internal wall storage space in the preset storage list; when it is determined that the intersection of the room and the wall is less than 2, store the wall in the external wall storage space in the preset storage list;

[0036] The masonry wall elements collected in the element collector are traversed to filter one or more of the columns, beams, slabs, doors and windows intersecting with the wall, wherein the columns, beams, slabs, doors and windows are respectively stored in the column storage space, beam storage space, slab storage space, and door and window slab storage space in the preset storage list.

[0037] In a specific implementation, the overlapping parts are deducted and divided to obtain the masonry wall calculation area, including:

[0038] The column storage space, beam storage space, slab storage space, door and window storage space are sequentially traversed to calculate the overlapped area between the masonry wall and the corresponding column, beam, slab, door and window;

[0039] Masonry wall elements are read from the exterior wall storage space and the interior wall storage space to obtain a masonry wall area, and the overlap area is deducted from the masonry wall area to obtain a masonry wall calculation area.

[0040] In a specific embodiment, the calculation method of the mortar dosage is:

[0041] V M =V OM ×n O +V EM ×n E ;

[0042] The amount of mortar waste is:

[0043] V MW =V M ×R M ;

[0044] Among them, V OM ={[n1×(L L +m)+m]×m+m×L H ×(n1+1)}×LW ×10 -9 ;

[0045] V EM ={[n1×(L L +m)+m]×m+m×L H ×(n1+2)}×L W ×10 -9 ;

[0046] (Lm) / (L L +m)=n1……r t ;

[0047] (Hm) / (L H +m)=n2……r l ;

[0048] L is the length of the wall in the calculation area, H is the height of the wall in the calculation area, r t is the remainder of the transverse masonry in the calculation area (in the direction of the wall length), r l V is the remainder of the longitudinal masonry in the calculation area (in the direction of wall height), OM is the amount of mortar used for odd-numbered masonry layers, V EM is the amount of mortar used for even-numbered masonry layers, V M is the amount of mortar used, V MW is the amount of mortar waste, n1 is the number of masonry required in the wall length direction, n2 is the number of masonry layers required in the wall height direction, n O is the number of odd-numbered masonry layers, n E is the number of layers of even-numbered masonry, m is the mortar joint width of the preset input parameter, L L is the length of the masonry, L H is the masonry height, L W is the masonry width, R M is the mortar waste rate of the preset input parameters; where m, L L , L H , L W 、r t 、r l , L and H are all lengths in millimeters; V OM 、V EM 、V M and V MW All are volumes in cubic meters.

[0049] Beneficial effects of the present invention:

[0050] The masonry wall material and waste calculation method based on Revit secondary development of the present invention can automatically calculate the material quantity and construction waste generation of a new masonry wall, reducing the workload of users and improving the efficiency of material quantity calculation. The present invention also takes into account the overlap between masonry wall instances and other components in three-dimensional space, and more finely calculates the material quantity and waste generation of masonry walls, thereby improving the precision of material quantity calculation and helping to reduce the waste of resources caused by material procurement errors. At the same time, the refined calculation function of masonry waste fills the gap in the refined calculation of construction waste to a certain extent, and helps the management of construction waste.

[0051] The present invention will be further described in detail below with reference to the accompanying drawings and embodiments. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] Figure 1 It is a flow chart of a method for calculating masonry wall materials and waste based on secondary development of Revit provided by an embodiment of the present invention;

[0053] Figure 2 It is a schematic diagram of the calculation area division of a masonry wall with a window provided by an embodiment of the present invention;

[0054] Figure 3 The present invention provides a block diagram of a masonry wall material and waste calculation system module based on Revit secondary development. DETAILED DESCRIPTION

[0055] The present invention is further described in detail below with reference to specific embodiments, but the embodiments of the present invention are not limited thereto.

[0056] Embodiment 1

[0057] See also Figure 1 , Figure 1 The present invention provides a flow chart of a method for calculating masonry wall materials and waste based on secondary development of Revit, including:

[0058] S1. Obtain the Revit three-dimensional information model and preset input parameters; for example, through the Revit external command interface and the written code, read the currently opened Revit model file to obtain the current model information.

[0059] S2. Acquire masonry wall elements and secondary structural components from the Revit three-dimensional information model, wherein the secondary structural components include components intersecting with the masonry wall elements;

[0060] Specifically include:

[0061] S21, reading the Revit 3D information model and collecting masonry wall element instances of the fill wall type to an element collector;

[0062] S22, traversing the masonry wall elements collected in the element collector to obtain the family type and family name of the masonry wall elements, and when it is determined that the family name contains external wall specific characters, storing the masonry wall element in the external wall storage space in the preset storage list; when it is determined that the family name contains internal wall specific characters, storing the masonry wall element in the internal wall storage space in the preset storage list; when it is determined that the family name does not contain external wall specific characters and internal wall specific characters, creating a virtual instance according to the collision box coordinates of the wall, and making the virtual instance intersect with the corresponding room, and storing the elements of the room type in the room storage space; traversing the room storage space, and when it is determined that the intersection of the room and the wall is greater than or equal to 2, storing the wall in the internal wall storage space in the preset storage list; when it is determined that the intersection of the room and the wall is less than 2, storing the wall in the external wall storage space in the preset storage list;

[0063] S23. Traverse the masonry wall elements collected in the element collector to filter one or more of the columns, beams, slabs, doors and windows intersecting the wall, wherein the columns, beams, slabs, doors and windows are respectively stored in the column storage space, beam storage space, slab storage space, and door and window slab storage space in the preset storage list.

[0064] In a specific implementation, for example, step S2 may be implemented in the following specific manner.

[0065] Step 1: Collect masonry wall element instances. Use FilteredElementCollector to collect element instances of type Wall, that is, filler walls, including interior and exterior walls.

[0066] Step 2: Use foreach to traverse the filled wall elements collected by the element collector in S1; use WallType to obtain the family type of the currently traversed wall element, use the Name method to obtain the name of the family type, the name type is a String string, and then use the Contains method as the condition for if() judgment. If the name contains an exterior wall, the subsequent calculation results will be counted as exterior walls; if the name contains an interior wall, the subsequent calculation results will be counted as interior walls. If the name contains neither interior walls nor exterior walls, jump to step 2.1, otherwise jump to step 3.

[0067] Step 2.1, method 2 distinguishes inner and outer walls. First, create a virtual instance Solid according to the BoundingBox collision box coordinate parameters of the wall. This instance is slightly larger than the original wall on the same floor to ensure that it intersects with the room. Then use ElementIntersectsSolidFilter to collect elements of type room, collect them in List<> and count them. Finally, determine the inner and outer walls according to the number of intersections between the wall and the room. If the number is greater than or equal to 2, it is an inner wall, otherwise it is an outer wall.

[0068] Step 3: Collect intersecting component element instances. For components such as columns, beams, and plates, use the ElementIntersectsElementFilter element intersection filter to filter component element instances that intersect with the currently traversed wall. At the same time, use the element type to determine the type of elements that can be collected, and store them in List<> according to the element type classification. For components such as doors and windows, use the Host method to obtain the wall to which the door and window are attached, so as to determine whether the currently traversed wall is the wall to which the door and window components are attached, and finally store them in List<> as well.

[0069] S3, extracting the size parameters and three-dimensional coordinate information of masonry wall elements and secondary structural components to deduct the overlapping parts and then divide them to obtain the masonry wall calculation area;

[0070] Furthermore, the overlapping parts are deducted and divided to obtain the masonry wall calculation area, including:

[0071] The column storage space, beam storage space, slab storage space, door and window storage space are sequentially traversed to calculate the overlapped area between the masonry wall and the corresponding column, beam, slab, door and window;

[0072] Masonry wall elements are read from the exterior wall storage space and the interior wall storage space to obtain a masonry wall area, and the overlap area is deducted from the masonry wall area to obtain a masonry wall calculation area.

[0073] In a specific implementation, for example, step S3 may be implemented in the following specific manner.

[0074] Step 4: Extract the size parameters and three-dimensional coordinate information of the masonry wall element. Use the Width property in WallType to obtain the thickness of the wall, and use the GetElement(BuiltInParameter.WALL_USER_HEIGHT_PARAM) method in Element to obtain the unconnected height of the wall, that is, the height of the wall without deduction. Use LocationCurve to obtain the location information of the wall, and then use Curve to convert it into a curve. Use GetEndPoint() to obtain the starting point and end point of the center line of the wall, and store it as a two-dimensional coordinate variable UV. The unconnected length of the wall, that is, the length of the wall without deduction, is calculated by the two-dimensional coordinates of the starting point and the end point; then use Line to convert the curve into a line, and then use the Direction property of Line to obtain the wall construction direction, and store it as a two-dimensional vector as UV.

[0075] Step 5: Extract the size parameters and 3D coordinate information of the secondary structural components. Use foreach to traverse all intersecting floors, and then use the get_Parameter(BuiltInParameter) method to obtain the thickness of the floor. If the number of beams collected in step 3 is 0, the height of the wall calculation area needs to be subtracted from the thickness of the floor. The size parameters and 3D coordinate information of other components are obtained in the corresponding deduction calculation link.

[0076] Step 6, process the three-dimensional coordinate data. Create a floating-point array to record the distance from the center point of each column to the starting point of the wall in the current traversal. The distance is calculated by the two-dimensional coordinates of the element. Then use the bubble sort algorithm to reorder the columns in List<> from the smallest to the largest distance from the column to the starting point of the wall. If the number of columns collected in step 3 is 0, directly use the wall length and the unconnected height of the wall minus the floor thickness as the calculation area.

[0077] Step 7: Deduct the overlapped area between the column and the wall. Traverse the wall between every two columns, obtain the family type of the two column elements, and store them as FamilySymbol type. Initialize the length of the column to be deducted to the cross-sectional height in the column family type, that is, "h". If the acquisition fails, it is initialized to other cross-sectional side length names such as "depth". Initialize the rotation angle of the wall to -0.5π, that is, the construction direction of the wall is longitudinal; the rotation angle of the column is 0, that is, no rotation operation is performed. If the X-direction component of the two-dimensional vector of the wall construction direction obtained in step 4 is not 0, the wall construction direction is not parallel to the Y axis in the model, then the Y component of the wall construction direction is divided by the difference of the X component, and the arc sine operation is performed to obtain the calculated rotation angle of the wall. If the difference between the column rotation angle and the calculated rotation angle of the wall is an integer multiple of π, the length of the column to be deducted is assigned to the cross-sectional width in the family type, that is, "b". If the acquisition fails, it is assigned to other cross-sectional side length names such as "width".

[0078] Step 8, deduct the overlapped area between the beam and the wall. This step is still in the wall traversal of step 7. Convert the beam element instance stored in List<> from Element type to FamilyInstance type. Traverse the structural beams collected in step 3 that intersect with the current wall, use Location to store the beam location information as LocationCurve type, store the attribute Curve as a curve, and then use the GetEndPoint() method to obtain the three-dimensional coordinates of the starting point and the end point of the beam model, and store them as XYZ type data. Assign the first two components of the three-dimensional coordinates of the starting point and the end point of the beam model, that is, the X component and the Y component, and store them as two-dimensional coordinates. Through two-dimensional coordinate calculation, calculate the horizontal distance from the starting point of the wall to the starting point of the beam and the horizontal distance from the starting point of the wall to the end point of the beam. If the beam overlaps with the current traversed wall calculation area, perform the next calculation and immediately exit the beam traversal. Use the get_Parameter() method to obtain the top elevation and bottom elevation of the structural beam, and subtract them to get the height of the beam. The height of the calculation area is assigned the value of the difference between the wall height minus the wall top elevation minus the beam bottom elevation and the minimum beam height.

[0079] Step 9, deduct the overlapped area between the door and window openings and the wall. This step is still in the wall traversal of step 7. Merge the door and window element lists into a new list, which contains the door and window element instances that intersect with the current wall. Traverse the door and window component elements in the list, store the element's Location attribute as LocationPoint, and then use the Point attribute of LocationPoint to store it as a three-dimensional coordinate. The data type is XYZ, which means the center point of the door and window opening. Assign the first two components of the three-dimensional coordinates of the center point of the door and window opening, namely the X component and the Y component, and store them as two-dimensional coordinates. Calculate the horizontal distance from the starting point of the wall to the center point of the door and window opening through two-dimensional coordinate calculation. Determine the position of the center point. If the point position is within the currently traversed wall calculation area, store the component element in a new list List<>. After the traversal of the door and window component elements is completed, store the horizontal distance from the center point position of the door and window component elements in the new list to the starting point of the wall in a floating-point array. Use the bubble sort algorithm to sort the door and window component elements in the list, sort them in the order of the wall construction direction, and sort them from small to large according to the horizontal distance from the center point of the door and window to the starting point of the wall calculation area. According to the number of door and window openings n in the list, the wall calculation area is divided into 3n+1 calculation areas.

[0080] Step 10: Divide the calculation area. For the sake of demonstration, a wall with only one window is used as an example. Figure 2 As shown in the figure, the calculation area of ​​the masonry wall with only one window is divided into four calculation areas, namely A, B, C and D.

[0081] The width of the door and window opening is obtained by the get_Parameter() method of the door and window element family type FamilySymbol, and the top height and bottom height of the opening are obtained by the get_Parameter() method of the door and window element FamilyInstance. The width of area A is the difference between the horizontal distance from the starting point of the wall calculation area to the center point of the opening minus half of the opening width; the width of area B is the difference between the center point of the opening and the end point of the wall calculation area minus half of the opening width; the width of area C and area D is equal to the length of the wall calculation area before division. The height of area C is the distance from the bottom height of the opening to the bottom of the wall, rounded up to an integer multiple of the sum of the masonry height and the mortar joint width, and the height of the bottom brickwork needs to be subtracted if necessary; the height of area A and area B is the difference between the top height of the opening minus the height of area C, rounded down to an integer multiple of the sum of the masonry height and the mortar joint width; the height of area D is the height of the wall calculation area minus the height of area A or B and the height of area C, and the height of the top oblique masonry area needs to be subtracted if necessary. At the same time, because area D is the upper part of the opening, if there is a lintel, the corresponding lintel intersection area needs to be subtracted; area C is the lower part of the opening, if there is a window sill, the intersection area of ​​the window sill needs to be subtracted.

[0082] S4. Calculate the mortar usage and mortar waste amount according to the masonry wall calculation area and preset input parameters. The preset input parameters include: mortar joint width and mortar waste rate. The mortar joint width and mortar waste rate can be determined according to the construction process of the specific project and the relevant specifications of the project location.

[0083] The calculation method for mortar dosage is:

[0084] V M =V OM ×n O +V EM ×n E ;

[0085] The amount of mortar waste is:

[0086] V MW =V M ×R M ;

[0087] Among them, V OM ={[n1×(L L +m)+m]×m+m×L H ×(n1+1)}×L W ×10 -9 ;

[0088] V EM ={[n1×(L L +m)+m]×m+m×L H ×(n1+2)}×L W ×10 -9 ;

[0089] (Lm) / (L L +m)=n1……r t ;

[0090] (Hm) / (L H +m)=n2……r l ;

[0091] L is the length of the wall in the calculation area, H is the height of the wall in the calculation area, r t is the remainder of the transverse masonry in the calculation area (in the direction of the wall length), r l V is the remainder of the longitudinal masonry in the calculation area (in the direction of wall height), OM is the amount of mortar used for odd-numbered masonry layers, V EM is the amount of mortar used for even-numbered masonry layers, V M is the amount of mortar used, V MW is the amount of mortar waste, n1 is the number of masonry required in the wall length direction, n2 is the number of masonry layers required in the wall height direction, n Ois the number of odd-numbered masonry layers, n E is the number of layers of even-numbered masonry, m is the mortar joint width of the preset input parameter, L L is the length of the masonry, L H is the masonry height, L W is the masonry width, R M is the mortar waste rate of the preset input parameters; where m, L L , L H , L W 、r t 、r l , L and H are all lengths in millimeters; V OM 、V EM 、V M and V MW All are volumes in cubic meters.

[0092] Furthermore, the number of masonry cut, the volume of masonry discarded and the number of masonry used are calculated as follows:

[0093] If r t and r l If it is 0, no cutting is required and no wasted masonry volume is generated, that is,

[0094] n c =0;

[0095] If r t and r l If not 0,

[0096] n c =n1+n2+1,

[0097] And the amount of mortar used also needs to be increased accordingly;

[0098] V BW =V FW ×n2+V TW ;

[0099] n SUM =n c +n1×(n O +n E );

[0100] Among them, n c is the number of masonry blocks to be cut, V BW is the volume of abandoned masonry, V FW is the volume of abandoned masonry in each masonry layer, V TW is the volume of abandoned masonry for the top floor, n SUM is the number of masonry units used; where V BW and V FWis the volume in cubic meters.

[0101] The total amount of mortar used and the total amount of mortar discarded are obtained by adding up the mortar used and mortar discarded in each calculation area respectively; the total number of cut masonry, the total volume of discarded masonry and the total number of used masonry are obtained by adding up the number of cut masonry, the volume of discarded masonry and the number of used masonry respectively.

[0102] The masonry loss rate is obtained by dividing the total volume of discarded masonry by the product of the total number of masonry used and the volume of a single masonry, that is,

[0103] R BW =ΣV BW / (Σn SUM ×L L ×L H ×L W );

[0104] Among them, R BW is the masonry loss rate; ΣV BW is the total volume of abandoned masonry, in cubic meters; Σn SUM is the total amount of masonry used.

[0105] The masonry wall material and waste calculation method based on Revit secondary development in this embodiment can automatically calculate the material quantity and construction waste generation of the newly built masonry wall, reducing the workload of users and improving the efficiency of material quantity calculation. Furthermore, the overlap between the masonry wall instance and other components in the three-dimensional space is also considered, and the masonry wall material quantity calculation and waste generation calculation are performed more finely, which improves the precision of material quantity calculation and helps to reduce the waste of resources caused by material procurement errors. At the same time, the refined calculation function of masonry waste has made up for the gap in the refined calculation of construction waste to a certain extent, and is helpful for the management of construction waste.

[0106] See also Figure 3 , Figure 3 This is a block diagram of a masonry wall material and waste calculation system module based on Revit secondary development provided by an embodiment of the present invention, including:

[0107] Data acquisition module, used to obtain Revit 3D information model and preset input parameters;

[0108] A model extraction module, used to obtain masonry wall elements and secondary structural components from the Revit three-dimensional information model, wherein the secondary structural components include components intersecting with the masonry wall elements;

[0109] The area division module is used to extract the size parameters and three-dimensional coordinate information of masonry wall elements and secondary structural components to deduct the overlapping parts and then divide them to obtain the masonry wall calculation area;

[0110] The calculation module is used to calculate the mortar consumption and the mortar waste according to the masonry wall calculation area and preset input parameters.

[0111] In a specific implementation, obtaining masonry wall elements and secondary structural components from the Revit 3D information model includes:

[0112] Read the Revit 3D information model and collect masonry wall element instances of the fill wall type into an element collector;

[0113] Traverse the masonry wall elements collected in the element collector to obtain the family type and family name of the masonry wall elements; when it is determined that the family name contains external wall specific characters, store the masonry wall element in the external wall storage space in the preset storage list; when it is determined that the family name contains internal wall specific characters, store the masonry wall element in the internal wall storage space in the preset storage list; when it is determined that the family name does not contain external wall specific characters and internal wall specific characters, create a virtual instance according to the collision box coordinates of the wall, and make the virtual instance intersect with the corresponding room, and store the elements of the room type in the room storage space; traverse the room storage space, and when it is determined that the intersection of the room and the wall is greater than or equal to 2, store the wall in the internal wall storage space in the preset storage list; when it is determined that the intersection of the room and the wall is less than 2, store the wall in the external wall storage space in the preset storage list;

[0114] The masonry wall elements collected in the element collector are traversed to filter one or more of the columns, beams, slabs, doors and windows intersecting with the wall, wherein the columns, beams, slabs, doors and windows are respectively stored in the column storage space, beam storage space, slab storage space, and door and window slab storage space in the preset storage list.

[0115] In a specific implementation, the overlapping parts are deducted and divided to obtain the masonry wall calculation area, including:

[0116] The column storage space, beam storage space, slab storage space, door and window storage space are sequentially traversed to calculate the overlapped area between the masonry wall and the corresponding column, beam, slab, door and window;

[0117] Masonry wall elements are read from the exterior wall storage space and the interior wall storage space to obtain a masonry wall area, and the overlap area is deducted from the masonry wall area to obtain a masonry wall calculation area.

[0118] In a specific embodiment, the calculation method of the mortar dosage is:

[0119] V M =V OM ×n O +V EM ×n E ;

[0120] The amount of mortar waste is:

[0121] V MW =V M ×R M ;

[0122] Among them, V OM ={[n1×(L L +m)+m]×m+m×L H ×(n1+1)}×L W ×10 -9 ;

[0123] V EM ={[n1×(L L +m)+m]×m+m×L H ×(n1+2)}×L W ×10 -9 ;

[0124] (Lm) / (L L +m)=n1……r t ;

[0125] (Hm) / (L H +m)=n2……r l ;

[0126] L is the length of the wall in the calculation area, H is the height of the wall in the calculation area, r t is the remainder of the transverse masonry in the calculation area (in the direction of the wall length), r l V is the remainder of the longitudinal masonry in the calculation area (in the direction of wall height), OM is the amount of mortar used for odd-numbered masonry layers, V EM is the amount of mortar used for even-numbered masonry layers, V M is the amount of mortar used, V MW is the amount of mortar waste, n1 is the number of masonry required in the wall length direction, n2 is the number of masonry layers required in the wall height direction, n O is the number of odd-numbered masonry layers, n E is the number of layers of even-numbered masonry, m is the mortar joint width of the preset input parameter, L L is the length of the masonry, L H is the masonry height, L W is the masonry width, R M is the mortar waste rate of the preset input parameters; where m, L L , LH , L W 、r t 、r l , L and H are all lengths in millimeters; V OM 、V EM 、V M and V MW All are volumes in cubic meters.

[0127] In the description of this specification, the description with reference to the terms "one embodiment", "some embodiments", "example", "specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in conjunction with the embodiment or example are included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the above terms do not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described may be combined in any one or more embodiments or examples in a suitable manner. In addition, those skilled in the art may combine and combine different embodiments or examples described in this specification.

[0128] Although the present application is described herein in conjunction with various embodiments, in the process of implementing the claimed application, those skilled in the art may understand and implement other variations of the disclosed embodiments by viewing the drawings, the disclosure, and the appended claims. In the claims, the word "comprising" does not exclude other components or steps, and "one" or "an" does not exclude multiple situations. A single processor or other unit may implement several functions listed in a claim. Certain measures are recorded in different dependent claims, but this does not mean that these measures cannot be combined to produce good results.

[0129] The above contents are further detailed descriptions of the present invention in combination with specific preferred embodiments, and it cannot be determined that the specific implementation of the present invention is limited to these descriptions. For ordinary technicians in the technical field to which the present invention belongs, several simple deductions or substitutions can be made without departing from the concept of the present invention, which should be regarded as falling within the protection scope of the present invention.

Claims

1. A method for calculating masonry wall materials and waste based on secondary development of Revit, characterized in that: include: Obtain Revit 3D information model and preset input parameters; Acquire masonry wall elements and secondary structural components from the Revit three-dimensional information model, wherein the secondary structural components include components intersecting with the masonry wall elements; Extract the size parameters and three-dimensional coordinate information of masonry wall elements and secondary structural components to deduct the overlapping parts and then divide them to obtain the masonry wall calculation area; Calculate the amount of mortar used and the amount of mortar wasted according to the masonry wall calculation area and preset input parameters; Obtain masonry wall elements and secondary structural components from the Revit 3D information model, including: Read the Revit 3D information model and collect masonry wall element instances of the fill wall type into an element collector; Traverse the masonry wall elements collected in the element collector to obtain the family type and family name of the masonry wall elements; when it is determined that the family name contains external wall specific characters, store the masonry wall element in the external wall storage space in the preset storage list; when it is determined that the family name contains internal wall specific characters, store the masonry wall element in the internal wall storage space in the preset storage list; when it is determined that the family name does not contain external wall specific characters and internal wall specific characters, create a virtual instance according to the collision box coordinates of the wall, and make the virtual instance intersect with the corresponding room, and store the elements of the room type in the room storage space; traverse the room storage space, and when it is determined that the intersection of the room and the wall is greater than or equal to 2, store the wall in the internal wall storage space in the preset storage list; when it is determined that the intersection of the room and the wall is less than 2, store the wall in the external wall storage space in the preset storage list; Traversing the masonry wall elements collected in the element collector to filter one or more of columns, beams, plates, doors and windows intersecting with the wall, wherein the columns, beams, plates, doors and windows are respectively stored in the column storage space, beam storage space, plate storage space, and door and window plate storage space in the preset storage list; The column storage space, beam storage space, slab storage space, door and window storage space are sequentially traversed to calculate the overlapped area between the masonry wall and the corresponding column, beam, slab, door and window; Masonry wall elements are read from the exterior wall storage space and the interior wall storage space to obtain a masonry wall area, and the overlap area is deducted from the masonry wall area to obtain a masonry wall calculation area.

2. The method for calculating masonry wall materials and waste based on secondary development of Revit according to claim 1 is characterized in that: The preset input parameters include: mortar joint width and mortar waste rate.

3. The method for calculating masonry wall materials and waste based on Revit secondary development according to claim 1 is characterized in that: The calculation method of the mortar dosage is: V M =V OM ×n O +V EM ×n E ; The amount of mortar waste is: V MW =V M ×R M ; Among them, V OM ={[n1×(L L +m)+m]×m+m×L H ×(n1+1)}×L W ×10 -9 ; V EM ={[n1×(L L +m)+m]×m+m×L H ×(n1+2)}×L W ×10 -9 ; (L-m) / (L L +m)=n1……r t ; (Hm) / (L H +m)=n2……r l ; L is the length of the wall in the calculation area, H is the height of the wall in the calculation area, r t is the remainder of the horizontal masonry in the calculation area, r l To calculate the remainder of the longitudinal masonry in the area, V OM V is the amount of mortar used for odd-numbered masonry layers. EM is the amount of mortar used for even-numbered masonry layers, V M is the amount of mortar used, V MW is the amount of mortar waste, n1 is the number of masonry required in the wall length direction, n2 is the number of masonry layers required in the wall height direction, n O is the number of odd-numbered masonry layers, n E is the number of layers of even-numbered masonry, m is the mortar joint width of the preset input parameter, L L is the length of the masonry, L H is the masonry height, L W is the masonry width, R M is the mortar waste rate of the preset input parameters; where m, L L , L H , L W 、r t 、r l , L and H are all lengths in millimeters; V OM 、V EM 、V M and V MW All are volumes in cubic meters.

4. A masonry wall material and waste calculation system based on Revit secondary development, characterized in that: include: Data acquisition module, used to obtain Revit 3D information model and preset input parameters; A model extraction module, used to obtain masonry wall elements and secondary structural components from the Revit three-dimensional information model, wherein the secondary structural components include components intersecting with the masonry wall elements; The area division module is used to extract the size parameters and three-dimensional coordinate information of masonry wall elements and secondary structural components to deduct the overlapping parts and then divide them to obtain the masonry wall calculation area; A calculation module, used for calculating the amount of mortar used and the amount of mortar waste according to the masonry wall calculation area and preset input parameters; Obtain masonry wall elements and secondary structural components from the Revit 3D information model, including: Read the Revit 3D information model and collect masonry wall element instances of the fill wall type into an element collector; Traverse the masonry wall elements collected in the element collector to obtain the family type and family name of the masonry wall elements; when it is determined that the family name contains external wall specific characters, store the masonry wall element in the external wall storage space in the preset storage list; when it is determined that the family name contains internal wall specific characters, store the masonry wall element in the internal wall storage space in the preset storage list; when it is determined that the family name does not contain external wall specific characters and internal wall specific characters, create a virtual instance according to the collision box coordinates of the wall, and make the virtual instance intersect with the corresponding room, and store the elements of the room type in the room storage space; traverse the room storage space, and when it is determined that the intersection of the room and the wall is greater than or equal to 2, store the wall in the internal wall storage space in the preset storage list; when it is determined that the intersection of the room and the wall is less than 2, store the wall in the external wall storage space in the preset storage list; Traversing the masonry wall elements collected in the element collector to filter one or more of columns, beams, plates, doors and windows intersecting with the wall, wherein the columns, beams, plates, doors and windows are respectively stored in the column storage space, beam storage space, plate storage space, and door and window plate storage space in the preset storage list; The calculation area of ​​the masonry wall is obtained by deducting the overlapping parts, including: The column storage space, beam storage space, slab storage space, door and window storage space are sequentially traversed to calculate the overlapped area between the masonry wall and the corresponding column, beam, slab, door and window; Masonry wall elements are read from the exterior wall storage space and the interior wall storage space to obtain a masonry wall area, and the overlap area is deducted from the masonry wall area to obtain a masonry wall calculation area.

5. The masonry wall material and waste calculation system based on Revit secondary development according to claim 4 is characterized in that: The preset input parameters include: mortar joint width and mortar waste rate.

6. The masonry wall material and waste calculation system based on Revit secondary development according to claim 4 is characterized in that: The calculation method of the mortar dosage is: V M =V OM ×n O +V EM ×n E ; The amount of mortar waste is: V MW =V M ×R M ; Among them, V OM ={[n1×(L L +m)+m]×m+m×L H ×(n1+1)}×L W ×10 -9 ; V EM ={[n1×(L L +m)+m]×m+m×L H ×(n1+2)}×L W ×10 -9 ; (L-m) / (L L +m)=n1……r t ; (Hm) / (L H +m)=n2……r l ; L is the length of the wall in the calculation area, H is the height of the wall in the calculation area, r t is the remainder of the horizontal masonry in the calculation area, r l To calculate the remainder of the longitudinal masonry in the area, V OM V is the amount of mortar used for odd-numbered masonry layers. EM is the amount of mortar used for even-numbered masonry layers, V M is the amount of mortar used, V MW is the amount of mortar waste, n1 is the number of masonry required in the wall length direction, n2 is the number of masonry layers required in the wall height direction, n O is the number of odd-numbered masonry layers, n E is the number of layers of even-numbered masonry, m is the mortar joint width of the preset input parameter, L L is the length of the masonry, L H is the masonry height, L W is the masonry width, R M is the mortar waste rate of the preset input parameters; where m, L L , L H , L W 、r t 、r l , L and H are all lengths in millimeters; V OM 、V EM 、V M and V MW All are volumes in cubic meters.

Citation Information

Patent Citations

  • BIM-based secondary structure wall arrangement method and system

    CN108108539A

  • Secondary component calculation method and device, computer equipment and readable storage medium

    CN112861240A