A parametric spatial steel grid structure modeling method based on BIM
By extracting and processing construction drawing data in Revit and using the Dynamo program to automatically generate rod and bolt ball nodes, the problem of low efficiency in Revit modeling of spatial steel grids was solved, and an efficient and accurate modeling process was achieved.
Patent Information
- Application Number
- CN202411507898.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-28
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2044-10-28
AI Technical Summary
Revit is inefficient in modeling spatial steel grid structures, and traditional methods cannot ensure the integrity and accuracy of the model. In particular, the placement of bolt ball nodes is time-consuming and labor-intensive, and it is impossible to efficiently generate spatial steel grid models in Revit.
By extracting data from electronic construction drawings, processing node and rod information using Excel format, creating Revit template files, and writing Dynamo programs to automatically generate rods and bolt ball nodes, parametric modeling is achieved.
It improves the efficiency of spatial steel grid modeling, saves at least 90% of modeling time, ensures the accuracy and completeness of the model, and reduces human errors.
Smart Images

Figure CN119416494B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of steel structure modeling, and relates to a BIM-based parameterized spatial steel grid structure modeling method. Background Art
[0002] In recent years, with the rapid development of BIM (Building Information Modeling) technology, this technology has received widespread attention from all project participants. More and more large-scale venue projects have begun to adopt BIM technology to implement building life cycle management. Revit, as the industry's mainstream BIM modeling software platform, has been widely used in creating building information models. Creating a model is the primary task of implementing BIM technology. The integrity, compliance, and spatial topology of the model play a vital role in serving the application of BIM technology in various life cycles.
[0003] However, Revit's efficiency in modeling spatial steel grid structures is low, and many spatial grid nodes cannot be expressed. Traditional spatial steel grid structure modeling is performed using other software such as YJK, PKPM, TEKLA, and other professional structural modeling software. The model is then converted into a new format and imported into Revit to generate a spatial steel grid structure model. Although these professional structural modeling software are highly professional, they have a low penetration rate and a high learning cost. In addition, models imported into Revit can also suffer from problems such as missing rods and missing bolt ball nodes. These problems have always plagued modelers. Especially when placing bolt ball nodes, the traditional method is for modelers to pick up grid nodes one by one and manually place bolt ball nodes in the three-dimensional spatial view of the Revit modeling software. Placing thousands of bolt balls one by one is time-consuming and labor-intensive, and the spatial position accuracy cannot be guaranteed. It is also impossible to truly ensure the integrity of the model, and the modeling efficiency is very low. Summary of the Invention
[0004] The purpose of the present invention is to provide a BIM-based parametric spatial steel grid structure modeling method to address the problems of complex operation and low efficiency of existing modeling methods in the background technology.
[0005] To this end, the present invention adopts the following technical solutions:
[0006] A BIM-based parametric spatial steel grid structure modeling method includes the following steps:
[0007] 1) Extract spatial steel grid data: extract the data from the node coordinate table and member element table of the spatial grid in the electronic version of the construction drawing design, and the extracted data is in Excel format;
[0008] 2) Spatial steel grid data processing: retain the node number and X, Y, and Z coordinates of the nodes in the extracted data, delete other useless information, retain the member number, 1-end node number, 2-end node number, and geometric dimensions of the members in the extracted data, and delete other useless information;
[0009] 3) Create a Revit template file. Create a structural template file in Revit, create a new conceptual mass member adaptive family and a bolt ball node parametric family, and load them into the Revit template file for use;
[0010] 4) Writing Dynamo programs: Write the automatic generation programs for rods and bolt-ball joints in Dynamo. Specifically:
[0011] The automatic member generation program edits the File path node in Dynamo. Next, edit the String node and create a worksheet with the string specifying the Excel table. Next, edit the Data.importExcel node and read the loaded node coordinate data and member unit data. Next, edit the List.Transpose node and swap the row and column data to adapt. Next, edit the List.Clean node and clear the null values to sort the data. Next, edit the Code Block node. Next, edit the List.GetltemAtIndex node and give the list item. Next, edit the LIst. Deconstruct node and generate a new list item. Next, edit the String from Obeject node and convert the string. Next, edit the String.Remove node and delete the error string. Next, edit the Python Script node and run the embedded IronPython script. Next, edit the String node and create the member name string. Next, edit the Family Type.ByName node and extract the member with the same name from the template file. Next, edit the AdaptiveComponent.ByPoints node and create an adaptive component using a two-dimensional array of points.
[0012] The bolt ball node automatic generation program uses the File path node in Dynamo. Next, edit the File FromPath node to create a file object from the path, the String node and create a string to specify the Excel table. Next, edit the Data.importExcel node and read the loaded node coordinate data. Next, edit the List.Transpose node and swap the row and column data. Next, edit the Code Block node. Next, edit the List.GetltemAtIndex node to return the item in the given list at the specified index. Next, edit the List.Restofltems node and delete the first item in the given list. Next, edit the Point.Bycoordinates node and form a point through the given 3 Cartesian coordinates. Next, edit the String node and create a bolt ball node name string. Next, edit the FamilyType.ByName node and extract the bolt ball node with the same name from the template file. Next, edit the Family Instance.Bypoint node and place the bolt ball node according to the bolt ball node family and coordinates.
[0013] 5) Run the Dynamo program to automatically generate rods and bolt-ball joints. Specifically:
[0014] To automatically generate members, use the File path node to load the Excel table data of node coordinates and member units, then modify the member name string of the String node. The string name should be consistent with the member name in the template file, and finally generate the spatial steel structure grid BIM model.
[0015] The bolt ball node is automatically generated at runtime. The Excel table data of the node coordinates is loaded using the File path node. The bolt ball node name string is then modified in the String node. The string name should be consistent with the bolt ball name in the template file. Finally, the bolt ball is automatically placed in the BIM model at the member node.
[0016] Furthermore, in step 2), the coordinate units of the node coordinates X, Y, and Z are converted into meters, and the geometric length units of the rods are converted into meters.
[0017] Furthermore, in the step 2), select the Management tab and set the project unit length to m.
[0018] Furthermore, when writing the rod automatic generation program in step 4), the Designscript code can be directly written in the Code Block node.
[0019] Furthermore, when writing the automatic generation program of the bolt ball node in step 4), the Designscript code can be directly written in the Code Block node.
[0020] Furthermore, in step 4), when using the File path node, a file on the operating system is allowed to be selected to obtain its file name.
[0021] The beneficial effects of the present invention are:
[0022] (1) Through simple operations, the spatial steel grid data of the electronic drawing is extracted, processed and generated into Excel tables, and the three-dimensional coordinate data of the spatial steel grid nodes is accurately extracted, eliminating the accuracy errors caused by human factors. At the same time, a Revit template file is created, and a parametric family of adaptive rods and bolt ball nodes is established, which effectively improves the modeling efficiency of the spatial steel grid in Revit and saves at least 90% of the modeling time;
[0023] (2) Using the running program written in Dynamo, the table data and parametric family data are automatically called to automatically generate accurate spatial steel grids and bolt ball nodes, greatly improving the modeling efficiency and model quality. BRIEF DESCRIPTION OF THE DRAWINGS
[0024] Figure 1 This is a modeling flow chart for automatically generating a spatial steel grid structure according to the present invention;
[0025] Figure 2 It is a rod element table diagram extracted from a CAD electronic version drawing in an embodiment of the present invention;
[0026] Figure 3 This is a diagram of a node coordinate table extracted from a CAD electronic version drawing in an embodiment of the present invention;
[0027] Figure 4 This is an EXCEL table after node coordinate data processing in an embodiment of the present invention;
[0028] Figure 5 This is an EXCEL table after the bar element data is processed in an embodiment of the present invention;
[0029] Figure 6 This is a creation diagram of a Revit template file in an embodiment of the present invention;
[0030] Figure 7 This is a BIM model diagram of a spatial steel grid structure that is automatically generated in an embodiment of the present invention.
[0031] Figure 8 It is a partial enlarged view of the BIM model of the bolt ball node of the spatial steel grid structure automatically generated in an embodiment of the present invention. DETAILED DESCRIPTION
[0032] The present invention is described in detail below in conjunction with embodiments:
[0033] like Figure 1 As shown, a BIM-based parametric spatial steel grid structure modeling method includes the following steps:
[0034] 1) Extract the spatial steel grid data, extract the data of the node coordinate table and the bar element table of the spatial grid in the electronic version of the construction drawing (such as Figure 2 and 3 The extracted data is in Excel format. Specifically, you can use CAD output or CAD quick view to extract the table in Excel format. Excel table can facilitate the editing, importing and management of data, thereby improving work efficiency and reducing human errors.
[0035] 2) Spatial steel grid data processing: import the node coordinates and member unit Excel format data of the extracted spatial grid into WPS for data processing, retain the node number and the X, Y, and Z coordinates of the nodes in the extracted data, and convert the X, Y, and Z coordinate units of the node coordinates from mm to m to keep them consistent with the Revit template file units, avoiding the problem of incorrect component position generation due to different units, and deleting other useless information (such as Figure 4 As shown in the figure), retain the member number, end node number 1, end node number 2, and geometric dimensions of the member in the extracted data, where the geometric dimensions include the diameter and wall thickness of the member, convert the geometric length unit of the member from mm to m, and then keep it consistent with the Revit template file unit to avoid the problem of incorrect component position generation due to different units, and delete other useless information (such as Figure 5 As shown in the figure), the cross-sectional dimension information processing format is as follows: Φ159*8.0→p159×8.0. After the information processing is completed, all blank rows after the end of the table must be deleted and left blank without any placeholders. Otherwise, an error message will appear when running the Dynamo program later.
[0036] 3) Revit template file creation, create a structural template file in Revit (such as Figure 6 As shown in the figure), create a new conceptual mass member adaptive family and a bolt ball node parametric family, and load them into the Revit template file for use.
[0037] 4) Writing Dynamo programs: Write the automatic generation programs for rods and bolt-ball joints in Dynamo. Specifically:
[0038] The rod automatic generation program in Dynamo first edits the File path node. When editing the File path node, you can select a file on the operating system (Windows operating system in this embodiment) to obtain its file name, and then you can select the EXCEL file of the processed file node coordinates and rod unit on the operating system. Next, edit the String node and create a worksheet of the Excel table specified by the string. Specifically, the Excel table specified by the string is to extract the sheet1 worksheet in the EXCEL table in the coordinate file. Next, edit the Data.importExcel node and read the loaded and processed rod data. Next, edit the List.Transpose node and swap the row and column data for adaptation. Next, edit the List.Clean node and clear the null values to organize the data. In order to prevent the existence of null values and blank rows in the imported data, which will affect the output conditions of the data, data cleaning is performed to avoid affecting the output of the data. Next, edit the Code Block node. When writing the Code Block node, you can directly write Designscript code to improve efficiency. Next, edit the List.GetltemAtIndex node and give a list item. Next, edit the LIst. Deconstruct node and generate a new list item. Next, edit the String from Next, edit the Object node and convert the string. Next, edit the String.Remove node and delete the incorrect string. Next, edit the Python Script node and run the embedded IronPython script. Next, edit the String node and create the member name string. Next, edit the Family Type.ByName node and extract the member with the same name from the template file. Next, edit the AdaptiveComponent.ByPoints node and create an adaptive component using a two-dimensional array of points to complete the program.
[0039] The automatic generation program of the bolt ball node uses the File path node in Dynamo. When using the File path node, you can select a file on the system to obtain its file name → File From Path node, create a file object from the path, String node and create a string to specify the Excel table. Next, edit the Data.importExcel node and read the loaded node coordinate data. Next, edit the List.Transpose node and swap the row and column data. Next, edit the Code Block node. When writing the Code Block node, you can directly write Designscript code. Next, edit the List.GetltemAtIndex node and give a list item. Specifically, the list item is to return the item in the given list at the specified index. Next, edit the List.Restofltems node and delete the first item in the given list. Next, edit the Point.Bycoordinates node and form a point through the given 3 Cartesian coordinates. Next, edit the String node and create a bolt ball node name string. Next, edit the Family Type.ByName node and extract the bolt ball node with the same name from the template file. Next, edit the Family Instance. Bypoint node and place the bolt ball node according to the bolt ball node family and coordinates to complete the program writing.
[0040] 5) Run the Dynamo program to automatically generate rods and bolt-ball joints. Specifically:
[0041] To automatically generate members, use the File path node to load the Excel table data of node coordinates and member units respectively, then modify the member name string of the String node. The string name should be consistent with the member name in the template file, and finally generate the spatial steel structure grid BIM model.
[0042] The bolt ball node is automatically generated at runtime. The node coordinates are loaded into the Excel table using the File path node. Then the bolt ball node name string is modified in the String node. The string name should be consistent with the bolt ball name in the template file. Finally, the bolt ball is automatically placed in the BIM model at the member node (such as Figure 7 and 8 shown).
[0043] After the operation is completed, the spatial steel grid BIM model can be checked. After the automatic construction of the spatial steel grid structure BIM model is completed, it will be comprehensively checked and verified to ensure the accuracy, completeness and coordination of the model.
Claims
1. A BIM-based parametric spatial steel grid structure modeling method, characterized in that: The following steps are involved: 1) Extract spatial steel grid data: extract the data from the node coordinate table and member element table of the spatial grid in the electronic version of the construction drawing design, and the extracted data is in Excel format; 2) Spatial steel grid data processing: retain the node number and X, Y, and Z coordinates of the nodes in the extracted data, delete other useless information, retain the member number, 1-end node number, 2-end node number, and geometric dimensions of the members in the extracted data, and delete other useless information; 3) Create a Revit template file. Create a structural template file in Revit, create a new conceptual mass member adaptive family and a bolt ball node parametric family, and load them into the Revit template file for use; 4) Writing Dynamo programs: Write the automatic generation programs for rods and bolt-ball joints in Dynamo. Specifically: The automatic member generation program edits the File path node in Dynamo. Next, edit the String node and create a worksheet with the string specifying the Excel table. Next, edit the Data.importExcel node and read the loaded node coordinate data and member unit data. Next, edit the List.Transpose node and swap the row and column data to adapt. Next, edit the List.Clean node and clear the null values to sort the data. Next, edit the Code Block node. Next, edit the List.GetltemAtIndex node and give the list item. Next, edit the LIst. Deconstruct node and generate a new list item. Next, edit the String from Obeject node and convert the string. Next, edit the String.Remove node and delete the error string. Next, edit the Python Script node and run the embedded IronPython script. Next, edit the String node and create the member name string. Next, edit the Family Type.ByName node and extract the member with the same name from the template file. Next, edit the AdaptiveComponent.ByPoints node and create an adaptive component using a two-dimensional array of points. The bolt ball node automatic generation program uses the File path node in Dynamo. Next, edit the File FromPath node to create a file object from the path, the String node and create a string to specify the Excel table. Next, edit the Data.importExcel node and read the loaded node coordinate data. Next, edit the List.Transpose node and swap the row and column data. Next, edit the Code Block node. Next, edit the List.GetltemAtIndex node to return the item in the given list at the specified index. Next, edit the List.Restofltems node and delete the first item in the given list. Next, edit the Point.Bycoordinates node and form a point through the given 3 Cartesian coordinates. Next, edit the String node and create a bolt ball node name string. Next, edit the FamilyType.ByName node and extract the bolt ball node with the same name from the template file. Next, edit the Family Instance.Bypoint node and place the bolt ball node according to the bolt ball node family and coordinates. 5) Run the Dynamo program to automatically generate rods and bolt-ball joints. Specifically: To automatically generate members, use the File path node to load the Excel table data of node coordinates and member units, then modify the member name string of the String node. The string name should be consistent with the member name in the template file, and finally generate the spatial steel structure grid BIM model. The bolt ball node is automatically generated at runtime. The Excel table data of the node coordinates is loaded using the File path node. The bolt ball node name string is then modified in the String node. The string name should be consistent with the bolt ball name in the template file. Finally, the bolt ball is automatically placed in the BIM model at the member node.
2. The BIM-based parameterized spatial steel grid structure modeling method according to claim 1, characterized in that: In step 2), the coordinate units of the node coordinates X, Y, and Z are converted to meters, and the geometric length units of the rods are converted to meters.
3. The BIM-based parameterized spatial steel grid structure modeling method according to claim 1, characterized in that: In step 2), select the Management tab and set the project unit length to m.
4. The BIM-based parameterized spatial steel grid structure modeling method according to claim 1, characterized in that: When writing the rod automatic generation program in step 4), the Designscript code can be directly written in the Code Block node.
5. The BIM-based parameterized spatial steel grid structure modeling method according to claim 1, characterized in that: When writing the automatic generation program of the bolt ball node in step 4), the Designscript code can be directly written in the Code Block node.
6. The BIM-based parameterized spatial steel grid structure modeling method according to claim 1, characterized in that: In step 4), using the File path node allows you to select a file on the operating system to obtain its file name.
Citation Information
Patent Citations
A method for automatically generating net rack BIM model
CN108959726A
BIM (Building Information Modeling) method for realizing automatic matching of steel support by adopting Dynamo
CN111767632A