Intelligent super-heavy beam identification method under multi-working-condition dynamic condition

Through the computer automatic identification method and the multi-iteration combination algorithm, the problems of insufficient accuracy and inefficiency of overweight beam recognition under dynamic conditions in multiple working conditions are solved, and efficient and accurate identification of overweight beams is achieved, ensuring construction safety and efficiency.

CN119623066APending Publication Date: 2025-03-14JIANGXI CONSTR ENG (GRP) CO LTD +1
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411711845.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-27
Publication Date
2025-03-14

AI Technical Summary

Technical Problem

The prior art is difficult to efficiently and accurately identify overweight beams under multi-work dynamic conditions, resulting in construction safety hazards, inefficiency and inaccurate calculations.

Method used

Through the computer automatic identification method, existing modeling software is used to intelligently extract and process the geometric data of components, and combined with the multi-iteration combination algorithm to screen and classify and identify the structural modeling lines of the upper wall, lower wall and side of the beam, dynamically classify and define calculation rules according to specifications and standards, and mark overweight beams.

Benefits of technology

It realizes efficient and accurate identification of overweight beams under multi-work dynamic conditions, improves the efficiency and accuracy of component identification, reduces manpower and material consumption, and ensures construction safety and efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119623066A_ABST
    Figure CN119623066A_ABST
Patent Text Reader

Abstract

The invention discloses an intelligent recognition method for a super-heavy beam under a multi-working-condition dynamic condition. The intelligent recognition method mainly comprises the following steps: defining a filter selection element; collecting and processing geometric data of the beam; detecting an intersection wall based on volume collision; through a multi-iteration combination algorithm, screening, classifying and identifying a beam upper wall, a beam lower wall and a beam side structure modeling line; further performing dynamic classification according to whether a beam side has a modeling line, whether a beam wall has a modeling line and a plate, and relative position relations thereof; defining corresponding calculation rules for different types of beams based on specifications and standards, and marking overweight beams; and automatic recognition of the overweight beam is completed. According to the method, automatic recognition work of the overweight beam under the complex actual engineering condition is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the technical field of construction engineering, and in particular to an intelligent identification method for overweight beams under multi-working dynamic conditions. Background Art

[0002] With the rapid development of the construction industry, the complexity of building structure design and construction is increasing. Accurately identifying overweight beams is crucial to ensuring the safety of building structures. Failure to set up the corresponding support system as required due to omissions will increase safety hazards at the construction site.

[0003] In actual projects, especially in high-rise buildings, due to the limitations of design information and various working conditions, such as the dynamic changes of walls, slabs, modeling methods and construction joints on beams, there is a lack of an efficient, accurate and complete method for intelligent identification of overweight beams.

[0004] At present, there are mainly the following problems in identifying overweight beams:

[0005] (1) Existing beam identification methods are mainly aimed at single components and cannot intelligently identify situations where beams are overweight due to various structural and modeling methods.

[0006] (2) The classification and calculation rules of beams under different working conditions are confusing and cannot be adjusted in an orderly manner according to actual conditions.

[0007] (3) Due to the limitations of existing identification technology and the complexity of construction conditions, plan developers often spend a lot of manpower and material resources to manually search and calculate in actual work, which is inefficient and cannot guarantee accuracy. Summary of the invention

[0008] The purpose of the present invention is to provide an intelligent identification method for overweight beams under multiple dynamic working conditions, which can be used in the field of construction. Through automatic computer identification, the problem of insufficient accuracy and low efficiency in identifying overweight beams under complex working conditions in existing actual projects, which affects construction safety, efficiency and cost, is solved, and an efficient and accurate intelligent automatic identification method is provided for such overweight components.

[0009] To achieve the above object, the present invention adopts the following technical solution:

[0010] An intelligent identification method for overweight beams under multi-working dynamic conditions comprises the following steps:

[0011] Step 1: Define the filter selection element;

[0012] Step 2: Collect and process the geometric data of the beam;

[0013] Step 2.1: Create a static method named GetSolids, which receives the selected element object, i.e. the selected beam, as input and returns a list containing all valid beam entities. The static method GetSolids uses the get_Geometry method body and the Options class instance to obtain the geometric structure of the element. The obtained GeometryElement is traversed through the foreach statement to filter out the Solid object, while ensuring that the entity has a non-zero volume and number of faces. For the geometric object containing the reference instance, a recursive strategy is used to deeply extract the entity geometry information.

[0014] Step 2.2: Use the ComputeCentroid method to calculate the center of mass of targetBeamSolid and obtain the Z coordinate value of the center of mass of the beam;

[0015] Step 2.3: Define a static method named GetDirectionOriginCurveLoop, which receives a Solid type parameter, i.e., the beam entity targetBeamSolid, and a parameter XYZ direction representing the spatial direction, and returns the top face PlanarFace of the beam; the static method GetDirectionOriginCurveLoop uses the foreach statement to traverse all faces of the entity, uses the IsParallel method to identify the plane PlanarFace parallel to the given direction based on the parallelism between the face normal and the specified direction, and calculates the dot product DotProduct between the origin of the face and the specified direction by calling the OrderBy and FirstOrDefault extension methods, determines the innermost face, i.e., the face closest to the inside of the entity in the specified direction, and quantifies the relative position of the face, i.e., obtains the top face of the beam;

[0016] Step 2.4: Use the GetEdgesAsCurveLoops method to obtain the edge curve loop CurveLoop of targetFace, that is, to obtain the closed curve of the top surface of the beam;

[0017] Step 2.5: Use the foreach statement to traverse each edge curve ring of the element, and then use the if statement to approximate the arc by equally dividing points on the arc and creating line segments for the circular arc in each curve ring; for the straight line curve, directly create line segments and return a list faceLineList containing all the line segments, thus optimizing the arc beam into a polyline.

[0018] Step 3: Detect intersecting walls based on volume collision;

[0019] Step 4: Screen and classify the beam upper wall, beam lower wall and beam side structural modeling lines through multiple iterative combination algorithms;

[0020] Step 4.1: The logic of the multiple iterative combination algorithm is to screen the upper and lower walls by comparing whether the center of mass of the wall is within the projection area of ​​the top surface of the beam. The upper wall and the lower wall of the beam are classified by comparing the center of mass of the wall and the center of mass of the beam. The existence of the structural modeling line and the shear wall on the side of the beam are divided by the name.

[0021] Step 4.2: Initialize the list, use targetWallsList, WallsList1 and WallsList2 to store the target object list of shear walls around the beam, the shear walls below the beam and above the beam respectively, and use wallNamesList to store the names of the walls intersecting the beam;

[0022] Step 4.3: Use the foreach loop to traverse all the intersecting wall elements obtained in step 3, and use the static method GetSolids and ComputeCentroid method bodies in step 2 to obtain the Z coordinate value of the wall centroid;

[0023] Step 4.4: Get the curve from the position attribute of the wall, use the Evaluate method to input the parameter 0.5 to calculate the midpoint of the curve, and get the geometric center point of the wall;

[0024] Step 4.5: Create a new point newCenterPoint, adjust the Z coordinate of the geometric center point of the wall to be consistent with the top surface of the beam, and obtain the projection of the wall on the top surface of the beam;

[0025] Step 4.6: Call the IsInsideOrOutline method, passing in newCenterPoint and the line segment list faceLineList of the top surface of the beam in step 2, to determine whether the center point of the wall is within the projection of the top surface of the beam;

[0026] Step 4.7: Use the if conditional statement. If the center point of the wall is within the projection of the top surface of the beam, then based on the comparison of the Z coordinate value of the center of mass of the wall with the Z coordinate value of the center of mass of the beam obtained in step 2, classify the wall as being below or above the beam and add the wall object and its name to the corresponding list;

[0027] Step 4.8: Use int type to define variables n and m, which are used to count the number of structural lines and shear walls respectively; use the foreach loop to iterate over the name of each wall in the wallNamesList list, and use the if statement inside the loop to check the wall name. If the wall name is a structural line, increase the count of n; if the wall name contains a shear wall, increase the count of m.

[0028] Step 5: Further dynamic classification based on whether there are molding lines on the beam side, whether there are molding lines and plates on the wall above the beam, and their relative position relationship;

[0029] Step 5.1: Based on whether there are molding lines on the beam side in step 4, use the if conditional statement to divide them into the following four categories: there are both structural molding lines and shear walls around the beam; there are only structural molding lines around the beam; there are only shear walls around the beam; there are neither structural molding lines nor shear walls around the beam;

[0030] Step 5.2: For the case where there are only shear walls around the beam, further divide it into the case where there are walls above the beam and the case where there are walls below the beam according to the lists WallsList1 and WallsList2 obtained in step 4;

[0031] Step 5.3: For the case where there is only an upper shear wall around the beam, it is subdivided into the following four categories according to whether there is a molding line and an intersecting plate on the top of the shear wall: the wall on the beam has no molding line and no intersecting plate; the wall on the beam has no molding line and has an intersecting plate; the wall on the beam has a molding line and no intersecting plate; the wall on the beam has a molding line and has an intersecting plate;

[0032] Step 5.4: Define a variable parameter t as a preset threshold, and the setting of parameter t is dynamically adjusted based on the actual engineering situation;

[0033] Step 5.5: For the cases where the beam wall has no molding line and has a plate intersecting with it, or the beam wall has molding line and has a plate intersecting with it, subdivide it according to the height difference between the top elevation of the beam wall and the top plate elevation and the size relationship of parameter t;

[0034] Step 5.6: For the cases where the beam wall has no molding line and no intersecting plate, or the beam wall has molding line and no intersecting plate, subdivide according to the height difference between the top elevation of the beam wall and the top elevation of the beam and the size relationship of parameter t;

[0035] Step 5.7: Complete further classification of beams.

[0036] Step 6: Define corresponding calculation rules for different types of beams based on specifications and standards, and mark overweight beams;

[0037] Step 6.1: Based on the classification results in step 5, define specific calculation rules for each type of beam based on specifications and standards; the calculation rules will comprehensively consider the cross-sectional area and shear length of the beam, the shear wall and structural shape line intersecting with the beam, and the volume and position relationship of the slab and structural shape line intersecting with the wall on the beam;

[0038] Step 6.2: When only a single beam is considered, only the cross-sectional area of ​​the beam is considered; when multiple components are involved, the combined cross-sectional area is converted by dividing the volume by the shear length;

[0039] Step 6.3: When the beam intersects with the shear wall and the shape line at the same time, set a prompt to break the beam into sections;

[0040] Step 6.4: Set the "Is it overweight" parameter in the global parameters of the beam, compare the equivalent area of ​​the beam with the preset overweight threshold, and mark it as "yes" or "no" or "self-judgment" according to the calculation results.

[0041] Step 7: Complete automatic identification of overweight beams.

[0042] Compared with the prior art, the present invention has the following characteristics and beneficial effects:

[0043] 1. The present invention utilizes the existing mainstream modeling software to intelligently extract and process the geometric data of components through computer programming, and to perform intelligent classification. It provides an intelligent classification and identification method for overweight beams under multi-working dynamic conditions by calculating and analyzing and returning the results, which significantly improves the efficiency and accuracy of component identification.

[0044] 2. The present invention designs a combined algorithm for classifying upper and lower walls of beams, which improves the processing efficiency and accuracy of building information models. The algorithm first preliminarily screens out intersecting walls through volume collision, then screens upper and lower walls by comparing whether the centroid of the wall is in the projection area of ​​the top surface of the beam, and finally classifies the upper wall and the lower wall of the beam by comparing the position of the centroid of the wall and the centroid of the beam.

[0045] 3. The present invention not only takes into account the overweight situation of a single component, but also can comprehensively analyze various construction methods and the interaction between components, and provides a method for full-process intelligent processing from user selection of elements to automatic classification and comprehensive identification of overweight beams. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] Figure 1 It is the overall flow chart of the present invention;

[0047] Figure 2 To classify and identify the flow chart of upper and lower walls based on the multiple iterative combination algorithm;

[0048] Figure 3 Calculation flow chart for different categories of beams. DETAILED DESCRIPTION

[0049] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. The specific embodiments described here are only used to explain the technical solution of the present invention and are not limited to the present invention.

[0050] An intelligent identification method for overweight beams under multi-operating dynamic conditions, such as Figure 1 As shown, the following steps are included:

[0051] Step 1: Define the filter selection element;

[0052] 1. Get the UIDocument instance in the current project environment and the Document object embedded in it through the commandData object.

[0053] 2. Define the BeamsSelectionFilter class, implement the IExternalCommand interface, and filter elements belonging to the "Structural Frame" category through the AllowElement method.

[0054] 3. Call the UIDoc.Selection.PickObjects method, combined with the custom BeamsSelectionFilter instance, to start the user selection process and return a list of selected elements.

[0055] Step 2: Collect and process the geometric data of the beam;

[0056] 1. Call the LookupParameter method body to retrieve the Z-axis offset value, width b, height h, and shear length beamlength parameters in beamInstance respectively, and convert them to double-precision floating-point numbers.

[0057] 2. Calculate the cross-sectional area of ​​the beam beamCrossArea through b*h.

[0058] 3. Create a static method named GetSolids, which receives the selected element object, i.e. the selected beam, as input, and finally returns a list of all valid beam entities. The static method GetSolids first uses the get_Geometry method body and the Options class instance to obtain the detailed geometric structure of the element, and then uses the foreach statement to traverse the obtained GeometryElement to filter out the Solid objects, while ensuring that these entities have non-zero volumes and faces, thereby excluding invalid or empty geometries. For geometric objects that contain reference instances, a recursive strategy is used to deeply extract their solid geometry information.

[0059] 4. Use the ComputeCentroid method body to calculate the center of mass of targetBeamSolid and obtain the Z coordinate value of the center of mass of the beam.

[0060] 5. Define a static method named GetDirectionOriginCurveLoop, which receives the Solid type parameter, i.e., the beam entity targetBeamSolid, and the parameter XYZ direction representing the spatial direction, and finally returns the top face PlanarFace of the beam. The static method GetDirectionOriginCurveLoop first uses the foreach statement to traverse all faces of the entity, and then uses the IsParallel method to identify the plane PlanarFace parallel to the given direction based on the parallelism of the face normal and the specified direction. Finally, by calling the OrderBy and FirstOrDefault extension methods, the dot product DotProduct of the face origin and the specified direction is calculated to determine the innermost face, i.e., the face closest to the inside of the entity in the specified direction, so as to quantify the relative position of the face, i.e., obtain the top face of the beam.

[0061] 6. Read the Z coordinate value of the top surface to obtain the beam top elevation zb.

[0062] 7. Convert the PlanarFace type topFace to the Face type targetFace, and use the GetEdgesAsCurveLoops method body to obtain the edge curve loop CurveLoop of targetFace, that is, to obtain the closed curve of the top surface of the beam.

[0063] 8. First, use the foreach statement to traverse each edge curve ring of the element, and then use the if conditional statement to approximate the arc curve in each curve ring by equally dividing points on the arc and creating line segments; for straight line curves, directly create line segments, and finally return a list faceLineList containing all line segments to optimize the arc beam into polylines.

[0064] Step 3: Detect intersecting walls based on volume collision;

[0065] 1. Create a FilteredElementCollector object to collect all elements of type Wall in the project.

[0066] 2. Use the GetBoundingBox method body to get the bounding box of the target entity and extract the transformation matrix, minimum point, and maximum point of the bounding box.

[0067] 3. Expand the Z-direction range of the bounding box to ensure that the search area covers the target entity.

[0068] 4. Create an Outline object to represent the enlarged bounding box, and use this outline to create a BoundingBoxIntersectsFilter object boxFilter, which is used to filter elements that intersect with the outline.

[0069] 5. Use the WherePasses method and the created filter to filter the intersecting wall elements and return the result as a list.

[0070] Step 4: Screen and classify the beam upper wall, beam lower wall and beam side structural modeling lines through multiple iterative combination algorithms;

[0071] 1. The logic of this combined algorithm is to first compare whether the center of mass of the wall is within the projection area of ​​the top surface of the beam to select the upper and lower walls, then classify the walls above the beam and the walls below the beam by comparing the positions of the center of mass of the wall and the center of mass of the beam, and finally classify the existence of the beam side structural modeling line and the shear wall based on the name.

[0072] Based on the multiple iterative combination algorithm, the process of identifying the upper and lower walls is classified as follows Figure 2 As shown, the following steps are included:

[0073] 2. Initialize the list, use targetWallsList, WallsList1 and WallsList2 to store the target object list of shear walls around the beam, the shear walls below and above the beam respectively, and use wallNamesList to store the names of the walls intersecting the beam.

[0074] 3. Use the foreach loop to traverse all the intersecting wall elements obtained in step 3, and then use the static method GetSolids and ComputeCentroid method bodies in step 2 to obtain the Z coordinate value of the wall centroid.

[0075] 4. Get the curve from the position attribute of the wall, use the Evaluate method to input the parameter 0.5 to calculate the midpoint of the curve, and get the geometric center point of the wall.

[0076] 5. Create a new point newCenterPoint, adjust the Z coordinate of the geometric center point of the wall to be consistent with the top surface of the beam, and obtain the projection of the wall on the top surface of the beam.

[0077] 6. Call the IsInsideOrOutline method, pass in newCenterPoint and the line segment list faceLineList of the top surface of the beam in step 2, and determine whether the center point of the wall is within the projection of the top surface of the beam.

[0078] 7. Using the if conditional statement, if the center point of the wall is within the projection of the top surface of the beam, then based on the comparison of the Z coordinate value of the center of mass of the wall with the Z coordinate value of the center of mass of the beam obtained in step 2, classify the wall as being below or above the beam and add the wall object and its name to the corresponding list.

[0079] 8. Define variables n and m of type int to count the number of structural lines and shear walls, respectively. Use a foreach loop to iterate over each wall name in the wallNamesList list, and use an if statement inside the loop to check the wall name. If the wall name is a structural line, increase the count of n; if the wall name contains a shear wall, increase the count of m.

[0080] Step 5: Further dynamic classification based on whether there are molding lines on the beam side, whether there are molding lines and plates on the wall above the beam, and their relative position relationship;

[0081] 1. According to whether there is a molding line on the beam side in step 4, use the if conditional statement to divide it into the following four categories: there are both structural molding lines and shear walls around the beam (n>0&&m>0); there are only structural molding lines around the beam (n>0&&m==0); there are only shear walls around the beam (n==0&&m>0); there are neither structural molding lines nor shear walls around the beam (n==0&&m==0).

[0082] 2. For the case where there are only shear walls around the beam, divide it into walls above the beam and walls below the beam according to the lists WallsList1 and WallsList2 obtained in step 4.

[0083] 3. For the case where there is only an upper shear wall around the beam, first obtain the corresponding parameters of the shear wall on the beam, namely the length, volume and unconnected height, and then find the plate and modeling method that intersects with the shear wall according to the method in step three, and then obtain the highest elevation zfMax of the plate that intersects with the wall on the beam and the top elevation zw of the wall on the beam.

[0084] 4. According to whether there are molding lines and intersecting plates on the wall above the beam, it can be subdivided into the following four categories: there are no molding lines on the wall above the beam and no intersecting plates; there are no molding lines on the wall above the beam and there are intersecting plates; there are molding lines on the wall above the beam and there are no intersecting plates; there are molding lines on the wall above the beam and there are intersecting plates.

[0085] 5. Define a variable parameter t as a preset threshold value, which can be dynamically adjusted based on actual engineering conditions such as the setting of construction joints, construction sequence and other factors, and is generally between 20cm and 40cm. In this specific embodiment, the parameter t is set to 20cm.

[0086] 6. For the cases where there is no molding line on the wall on the beam and there is an intersecting plate, or there is a molding line on the wall on the beam and there is an intersecting plate, they are classified according to the height difference between the top elevation of the wall on the beam and the elevation of the top plate, i.e. zw-zfMax, and are subdivided into two categories: those with a height difference greater than 20cm and those with a height difference less than 20cm.

[0087] 7. For the cases where there is no molding line on the wall above the beam and no intersecting plate, or there is a molding line on the wall above the beam and no intersecting plate, they are classified according to the height difference between the wall top elevation and the beam top elevation, i.e. zw-zb, and subdivided into two categories: those with a height difference greater than 20cm and those with a height difference less than 20cm.

[0088] 8. Complete further classification of beams.

[0089] Step 6: Define corresponding calculation rules for different types of beams based on specifications and standards, and mark overweight beams;

[0090] 1. Based on the classification results in step 5, define specific calculation rules for each type of beam based on specifications and standards. These rules will comprehensively consider the cross-sectional area and shear length of the beam, the shear wall and structural shape line intersecting with the beam, and the volume and position relationship of the plate and structural shape line intersecting with the wall on the beam.

[0091] 2. When only a single beam is considered, only the cross-sectional area of ​​the beam is considered; when multiple components are involved, the combined cross-sectional area is converted by dividing the volume by the shear length. Figure 3 The specific calculation rules are as follows:

[0092] (1) For beams without structural lines and shear walls around them, the cross-sectional area of ​​the beam is directly calculated, that is, S = b*h;

[0093] (2) For beams with only structural lines around them, first calculate the volume contribution of the structural lines and divide it by the shear length of the beam to obtain S 造型 That is S 造型 =V 造型 / L 剪切 , and then divide the volume of the beam by the shear length of the beam to get S 梁 That is S 梁 =V 梁 / L 剪切 Finally, the two are added together to get the equivalent area, that is, S = S 造型 +S 梁 ;

[0094] (3) For the category where there is a wall on the beam and the wall on the beam has no molding line and no intersecting plate, first calculate the volume contribution of the wall and divide it by the wall height and the beam shear length to get W 墙 That is W 墙 =V 墙 / H 墙 / L剪切 , and then classify and calculate according to the elevation difference between the top of the wall and the top of the beam: the equivalent area of ​​the elevation difference within the range of t is S = S 梁 +W 墙 *H 墙 ; The equivalent area of ​​the elevation difference outside the range of t is S = S 梁 +W 墙 *t;

[0095] (4) For the category where there is a wall on the beam and the wall on the beam has a molding line and no intersecting plate, calculate W 墙 , S 造型 and S 梁 , and then classify and calculate according to the elevation difference between the top of the wall and the top of the beam: the equivalent area of ​​the elevation difference within the range of t is S = S 梁 +W 墙 *H 墙 +S 造型 ; The equivalent area of ​​the elevation difference outside the range of t is S = S 梁 +W 墙 *t+S 造型 ;

[0096] (5) For the types where there is a wall on the beam and the wall on the beam has a molding line and a plate intersecting with it, calculate W separately. 墙 , S 造型 and S 梁 , and then classify and calculate according to the elevation difference between the wall top and the slab top: the equivalent area of ​​the elevation difference within the range of t is S = S 梁 +W 墙 *H 墙 +S 造型 ; The equivalent area of ​​the elevation difference outside the range of t is S = S 梁 +W 墙 *t+S 造型 .

[0097] (6) For the types where there is a wall on the beam and the wall on the beam has no molding line and there is a plate intersecting with it, calculate W separately. 墙 , S 梁 , and then according to the elevation difference between the top of the wall and the top of the slab, that is, L 板max -L 梁 Classification calculation: The equivalent area of ​​the elevation difference within the range of t is S = S 梁 +W 墙 *H 墙 ; The equivalent area of ​​the elevation difference outside the range of t is S = S 梁 +W 墙 *(L 板max -L 梁 +t).

[0098] 3. When the beam intersects with the shear wall and the shape line at the same time, a prompt is set to break the beam into sections.

[0099] 4. Set the "Is it overweight" parameter in the global parameters of the beam, compare the equivalent area of ​​the beam with the preset overweight threshold, and mark it as "yes" or "no" or "self-judgment" according to the calculation results. Step 7: Complete the automatic identification of overweight beams;

[0100] 1. Integrate the calculation results obtained in step 6 to form a final judgment on whether each beam is overweight.

[0101] 2. Commit the transaction to save all changes to the project document and complete the automatic identification of overweight beams.

[0102] The calculations and determinations in all the above steps are realized by using C# language and calling the relevant functions in the application programming interface of the BIM modeling platform Revit software released by Autodesk.

[0103] The above only expresses the best implementation mode of the present invention, and its description is relatively specific and detailed, but it cannot be understood as limiting the scope of the patent of the present invention. It should be pointed out that for ordinary technicians in this field, several modifications, improvements and substitutions can be made without departing from the concept of the present invention, which all belong to the protection scope of the present invention. Therefore, the protection scope of the patent of the present invention shall be based on the attached claims.

Claims

1. An intelligent identification method for overweight beams under multi-working dynamic conditions, characterized in that: The following steps are involved: Step 1: Define the filter selection element; Step 2: Collect and process the geometric data of the beam; Step 3: Detect intersecting walls based on volume collision; Step 4: Screen and classify the beam upper wall, beam lower wall and beam side structural modeling lines through multiple iterative combination algorithms; Step 5: Further dynamic classification based on whether there are molding lines on the beam side, whether there are molding lines and plates on the wall above the beam, and their relative position relationship; Step 6: Define corresponding calculation rules for different types of beams based on specifications and standards, and mark overweight beams; Step 7: Complete automatic identification of overweight beams.

2. The intelligent identification method of overweight beams under multi-operating dynamic conditions according to claim 1 is characterized in that: The geometric data of the beam processed in step 2 includes: Step 2.1: Create a static method named GetSolids, which receives the selected element object, i.e. the selected beam, as input and returns a list containing all valid beam entities. The static method GetSolids uses the get_Geometry method body and the Options class instance to obtain the geometric structure of the element. The obtained GeometryElement is traversed through the foreach statement to filter out the Solid object, while ensuring that the entity has a non-zero volume and number of faces. For the geometric object containing the reference instance, a recursive strategy is used to deeply extract the entity geometry information. Step 2.2: Use the ComputeCentroid method to calculate the center of mass of targetBeamSolid and obtain the Z coordinate value of the center of mass of the beam; Step 2.3: Define a static method named GetDirectionOriginCurveLoop, which receives a Solid type parameter, i.e., the beam entity targetBeamSolid, and a parameter XYZ direction representing the spatial direction, and returns the top face PlanarFace of the beam; the static method GetDirectionOriginCurveLoop uses the foreach statement to traverse all faces of the entity, uses the IsParallel method to identify the plane PlanarFace parallel to the given direction based on the parallelism between the face normal and the specified direction, and calculates the dot product DotProduct between the origin of the face and the specified direction by calling the OrderBy and FirstOrDefault extension methods, determines the innermost face, i.e., the face closest to the inside of the entity in the specified direction, and quantifies the relative position of the face, i.e., obtains the top face of the beam; Step 2.4: Use the GetEdgesAsCurveLoops method to obtain the edge curve loop CurveLoop of targetFace, that is, to obtain the closed curve of the top surface of the beam; Step 2.5: Use the foreach statement to traverse each edge curve ring of the element, and then use the if statement to approximate the arc by equally dividing points on the arc and creating line segments for the circular arc in each curve ring; for the straight line curve, directly create line segments and return a list faceLineList containing all the line segments, thus optimizing the arc beam into a polyline.

3. The intelligent identification method of overweight beams under multi-operating dynamic conditions according to claim 2 is characterized in that: Step 4 includes: Step 4.1: The logic of the multiple iterative combination algorithm is to screen the upper and lower walls by comparing whether the center of mass of the wall is within the projection area of ​​the top surface of the beam. The upper wall and the lower wall of the beam are classified by comparing the center of mass of the wall and the center of mass of the beam. The existence of the structural modeling line and the shear wall on the side of the beam are divided by the name. Step 4.2: Initialize the list, use targetWallsList, WallsList1 and WallsList2 to store the target object list of shear walls around the beam, the shear walls below the beam and above the beam respectively, and use wallNamesList to store the names of the walls intersecting the beam; Step 4.3: Use the foreach loop to traverse all the intersecting wall elements obtained in step 3, and use the static method GetSolids and ComputeCentroid method bodies in step 2 to obtain the Z coordinate value of the wall centroid; Step 4.4: Get the curve from the position attribute of the wall, use the Evaluate method to input the parameter 0.5 to calculate the midpoint of the curve, and get the geometric center point of the wall; Step 4.5: Create a new point newCenterPoint, adjust the Z coordinate of the geometric center point of the wall to be consistent with the top surface of the beam, and obtain the projection of the wall on the top surface of the beam; Step 4.6: Call the IsInsideOrOutline method, passing in newCenterPoint and the line segment list faceLineList of the top surface of the beam in step 2, to determine whether the center point of the wall is within the projection of the top surface of the beam; Step 4.7: Use the if conditional statement. If the center point of the wall is within the projection of the top surface of the beam, then based on the comparison of the Z coordinate value of the center of mass of the wall with the Z coordinate value of the center of mass of the beam obtained in step 2, classify the wall as being below or above the beam and add the wall object and its name to the corresponding list; Step 4.8: Use int type to define variables n and m, which are used to count the number of structural lines and shear walls respectively; use the foreach loop to iterate over the name of each wall in the wallNamesList list, and use the if statement inside the loop to check the wall name. If the wall name is a structural line, increase the count of n; if the wall name contains a shear wall, increase the count of m.

4. The intelligent identification method of overweight beams under multi-operating dynamic conditions according to claim 3 is characterized in that: Step five includes: Step 5.1: Based on whether there are molding lines on the beam side in step 4, use the if conditional statement to divide them into the following four categories: there are both structural molding lines and shear walls around the beam; there are only structural molding lines around the beam; there are only shear walls around the beam; there are neither structural molding lines nor shear walls around the beam; Step 5.2: For the case where there are only shear walls around the beam, further divide it into the case where there are walls above the beam and the case where there are walls below the beam according to the lists WallsList1 and WallsList2 obtained in step 4; Step 5.3: For the case where there is only an upper shear wall around the beam, it is subdivided into the following four categories according to whether there is a molding line and an intersecting plate on the top of the shear wall: the wall on the beam has no molding line and no intersecting plate; the wall on the beam has no molding line and has an intersecting plate; the wall on the beam has a molding line and no intersecting plate; the wall on the beam has a molding line and has an intersecting plate; Step 5.4: Define a variable parameter t as a preset threshold, and the setting of parameter t is dynamically adjusted based on the actual engineering situation; Step 5.5: For the cases where the beam wall has no molding line and has a plate intersecting with it, or the beam wall has molding line and has a plate intersecting with it, subdivide it according to the height difference between the top elevation of the beam wall and the top plate elevation and the size relationship of parameter t; Step 5.6: For the cases where the beam wall has no molding line and no intersecting plate, or the beam wall has molding line and no intersecting plate, subdivide according to the height difference between the top elevation of the beam wall and the top elevation of the beam and the size relationship of parameter t; Step 5.7: Complete further classification of beams.

5. The intelligent identification method of overweight beams under multi-operating dynamic conditions according to claim 4 is characterized in that: Step six includes: Step 6.1: Based on the classification results in step 5, define specific calculation rules for each type of beam based on specifications and standards; the calculation rules will comprehensively consider the cross-sectional area and shear length of the beam, the shear wall and structural shape line intersecting with the beam, and the volume and position relationship of the slab and structural shape line intersecting with the wall on the beam; Step 6.2: When only a single beam is considered, only the cross-sectional area of ​​the beam is considered; when multiple components are involved, the combined cross-sectional area is converted by dividing the volume by the shear length; Step 6.3: When the beam intersects with the shear wall and the shape line at the same time, set a prompt to break the beam into sections; Step 6.4: Set the "Is it overweight" parameter in the global parameters of the beam, compare the equivalent area of ​​the beam with the preset overweight threshold, and mark it as "yes" or "no" or "self-judgment" according to the calculation results.

Citation Information

Cited By

  • Multi-working-condition beam control parameter intelligent screening method for support system design

    CN119885408A