Method for creating bridge component based on Revit and Dynamo

By combining Revit and Dynamo, Dynamo uses Dynamo to read Excel table data to automatically modify the Revit bridge model parameters, the problem of cumbersome parameter modification and inaccurate model positioning in bridge component modeling is solved, and the modeling efficiency and accuracy are improved.

CN119598579APending Publication Date: 2025-03-11CHINA SHANXI SIJIAN GRP
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202411672986.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-21
Publication Date
2025-03-11

AI Technical Summary

Technical Problem

The existing Revit software has problems such as a wide variety of components, complicated parameter modification and difficult model positioning in bridge component modeling, resulting in insufficiency of modeling.

Method used

Using the method based on Revit and Dynamo, bridge components are divided into "point-based model" and "line-based model". The parameter data in the Excel table is read through Dynamo, and the model instance parameters are automatically assigned to automatically generate the model.

Benefits of technology

It significantly improves the accuracy and construction efficiency of the bridge model, reduces the cumbersome operation of manually modifying parameters, and ensures the precise positioning of the model.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119598579A_ABST
    Figure CN119598579A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of bridge construction, in particular to a method for creating a bridge component based on Revit and Dynamo. The method comprises the following steps: S1, dividing bridge components into a point-based model and a line-based model, and respectively setting two automatic modeling programs; s2, establishing a parameterized family based on a point model, and loading the parameterized family into Revit; s3, reading the parameter data in the excel table; s4, using data to complete model size modification and automatic accurate positioning; s5, establishing a parameterized family based on a line model, and loading the parameterized family into Revit; s6, determining starting and ending point positions of the linear component; s7, determining a vertical offset distance; and S8, generating a model instance, and automatically modifying instance size parameters in batches. An excel table is read through Dynamo, parameters are automatically given to instance parameters in the model, data are used for driving parameterized model families, the model is automatically generated, and the model precision and the construction efficiency are remarkably improved. The method is mainly applied to the aspect of automatically creating the fabricated bridge member.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of bridge construction, and more specifically, to a method for creating bridge components based on Revit and Dynamo. Background Art

[0002] Revit is a series of software developed by Autodesk specifically for BIM. However, the software basically does not have system families and corresponding template files for bridge components. It is difficult to quickly build a high-precision bridge model through manual modeling. The main reasons are:

[0003] (1) There are many types of bridge components, and parameter modification is extremely cumbersome. If only basic family templates such as metric conventional models and metric profiles are used for manual drawing, modeling is extremely difficult. For the "line-based model", taking the prefabricated T-beam as an example, it can be divided into nine types according to its location, as shown in Table 1.

[0004] Table 1 Schematic diagram of T beam position

[0005] Left span left beam Left beam of mid span Right span left beam Left mid-span beam Middle span beam Right mid-span beam Left span right beam Middle span right beam Right span right beam

[0006] Due to the different positions of T beams, the cross-sections and sizes are also different. There are two main differences between the side beam and the middle beam, one is the diaphragm, and the other is the cantilever. The middle beam has left and right diaphragms, while the left beam has no left diaphragm and the right beam has no right diaphragm. The cantilever value of the side beam should also be adjusted according to the parameters set in the drawing.

[0007] Each T-beam family is composed of the following parameters: T-beam height, box beam bottom width, wing plate thickness, front and rear expansion joints, front and rear angles, diaphragm width, diaphragm height, cross slope, cantilever, etc. The essence of rapid modeling is to use the program to achieve the purpose of batch modification of family parameters. If the parameters are modified manually, although the shape of the component can be changed, each T-beam family is composed of more than 20 parameters. Taking a 10-span conventional bridge project as an example, there are hundreds of T-beams. For the T-beam component alone, the size modification operation will reach more than 2,000 times. The parameters cannot be modified automatically, and the parameter family cannot play its due value. It is difficult to complete the full component modeling of the bridge project by manual operation.

[0008] (2) The model is difficult to accurately locate

[0009] Since the bridge is designed according to the terrain, and has transverse and longitudinal slopes, and the pile foundation also has height differences, conventional CAD drawings can only show the position of the pile in the plane, and the height difference cannot be directly reflected. For the "point-based model", taking the pile foundation as an example, although the pile foundation elevation can be modified by manual arrangement in Revit, the process is very cumbersome. The pile number consists of 11 digits. If a manual method is used, a large number of coordinate calculations will be performed to obtain the relative position of the pile foundation based on the pile number. After obtaining the relative position, it is necessary to establish a reference plane in the plan and elevation views to assist in positioning. In addition, the positioning of components such as the "line-based model" such as the cap beam, T-beam, wet joint, and diaphragm is also based on the pile foundation pile number. The line-based model can only be placed one by one in combination with the bottom elevation and pile length information. Therefore, manual modeling is adopted, and the accuracy of the model is difficult to guarantee. Summary of the invention

[0010] In order to overcome the deficiencies in the above-mentioned prior art, the present invention provides a method for creating bridge components based on Revit and Dynamo. This method can establish a parametric BIM family of T-beams to solve the problem of many types of T-beam components and cumbersome parameter modification, read the Excel table through Dynamo, automatically assign the parameters to the instance parameters in the model, drive the data to parametric model family, and automatically generate the model, which significantly improves the model accuracy and construction efficiency.

[0011] In order to solve the above technical problems, the technical solution adopted by the present invention is:

[0012] A method for creating a bridge component based on Revit and Dynamo, comprising the following steps:

[0013] S1. The bridge components are divided into two categories: "point-based model" and "line-based model", and two automatic modeling programs are set up respectively.

[0014] The “point-based model” includes pile foundations, piers, abutments, caps, tie beams, blocks, pads, and bearings;

[0015] The “Line-based model” includes T-beams, box beams, cap beams, wet joints, diaphragms, and crash barriers;

[0016] S2. Create a "point model-based" parametric family and load it into Revit;

[0017] S3, read the parameter data in the Excel table;

[0018] S4. Use data to modify model dimensions and automatically and accurately position the model;

[0019] S5. Create a "line model-based" parametric family and load it into Revit;

[0020] S6, determine the starting and ending positions of the linear component;

[0021] S7, determining the vertical offset distance;

[0022] S8. Generate model instances and automatically modify instance size parameters in batches.

[0023] In step S2, when the pile foundation model is automatically established, the parametric pile foundation family is first loaded into the project file, and the Dynamo program interface is entered. The Family Types drop-down menu is clicked to select Pile Foundation: Pile Foundation, and the family file entry is completed.

[0024] In step S3, click the browse button of the File Path node to link the bridge excel file address. An excel table contains multiple Sheet worksheets, which are used to distinguish the information of different bridge components, including abutments, tie beams, diaphragms, and wet joints. The Sheet worksheet is named after the component name and imported through the String string node.

[0025] After the data entry is completed, call the Data.ImportExcel node in Dynamo to read the pile foundation related data from the Excel spreadsheet. This node realizes reading data row by row and returning it to the list row by row; after reading the table, combine the List.GetItemAtlndex node to extract the data of a specific row, including reading the name of the parameter. This node can return the item of a given list at the specified index. It has two input terminals. The list list input terminal can access the data of the Data.ImportExcel node, and the index index input terminal can select which row of data to read. According to the location of the parameter name data in the Excel table, enter a specific number in the index to complete the extraction of the specific row of data; finally, through the List.DropItems node, delete the unnecessary items from the beginning of the list, and only read the specific data of the coordinate value, elevation value, pile foundation diameter value, and pile foundation length value. This node has two input terminals. The list input terminal is the same as the List.GetItemAtlndex node, and the amount input terminal indicates the number of items to be deleted, thereby reading the retained data.

[0026] Read the revit model through the Family Types node; get the parameter name through the List.GetItemAtlndex node; get the parameter value through the List.DropItems node; the combination of these three nodes can automatically complete the extraction of information.

[0027] In the step S4, the read data is used to generate a point through the Point.ByCoordinates node, which has three input terminals, XYZ, and can form a point through three given Cartesian coordinates. X and Y are connected to the X coordinate and Y coordinate values, and Z is connected to the bottom elevation value to complete the pile foundation positioning operation; then through the FamilyInstance.ByPoint node, a model instance is generated at the specified position, and finally the size of the pile foundation model instance is batch changed through the Element.SetParameterByName node. The node has three input terminals, the element terminal is connected to the revit model element, the parameterName terminal is connected to the parameter name, and the value terminal is connected to the parameter value. The Element terminal outputs the modified model, and then it is used as a connection to the next Element.SetParameterByName node to modify the second parameter until all parameters are modified.

[0028] In step S5, a T-beam model is automatically established, the table reading is the same as the point-based program, the parameter information is entered into an Excel table, and the parametric T-beam family is loaded into the Revit project.

[0029] In step S6, the starting and ending positions of the beam component are determined. The position of the point can be obtained by translating the point on the center line of the route horizontally to the beam. The translation distance can be obtained by entering the design drawing into Excel. The direction of the translation is determined by the vector. The point of the pile position coordinate is first generated, and then the point is connected to generate a vector;

[0030] Get the vector by reading the XY values ​​of each span coordinate, use the Vector.ByTwoPoints node to specify the moving direction, get the normalized version of the vector by connecting the Vector.Normalized node, and convert the vector's Length value to 1 to get the unit vector. Use the Vector.Scale node to scale the vector proportionally around the origin, adjust the direction of the vector, and complete the setting of the vector direction.

[0031] In step S7, the route point and the vector are connected to the Geometry.Translate node, and the List.DropItems node is used to delete the last route point to obtain the design elevation point of each span beam; the "distance from the starting point of the T beam to the design elevation" in the Excel table is read, and since the bridge has a transverse slope, the horizontal distance is multiplied by the transverse slope to obtain the vertical offset distance, and finally the elevation information Z is assigned to the point to obtain the design elevation point of each span beam, and the Line.ByStartPointEndPoint node is used to connect the design elevation points to generate a line.

[0032] In step S8, the data is connected to the StructuralFraming.BeamByCurve node to generate an instance, the parameter information is read, the primitive is connected to the element input terminal of the Element.SetParameterByName node, the parameter name is connected to the parameterName input terminal, the parameter value is connected to the value input terminal, the instance size parameters are automatically modified in batches, and the modeling is completed.

[0033] Compared with the prior art, the present invention has the following beneficial effects:

[0034] Manual modeling methods cannot automatically read coordinate points, and the model is difficult to accurately locate. Dynamo can automatically read coordinate point information in batches. The correct position of the model can be determined; manually modifying the parameters of the Revit family file is too cumbersome and inefficient. Dynamo is used to call the parameter information in the Excel table to automatically modify the model parameters; construction text information can also be automatically imported in batches by the Dynamo program, which greatly simplifies the data exchange process; the Dynamo program can be repeatedly modified during the construction process, and has good reusability and compatibility. When building different bridge models, you only need to import the corresponding family files and Excel tables. Running the corresponding Dynamo program file can generate a new model, thereby improving simulation efficiency. You can create multiple programs for repeated use in different projects, leaving manual work to the program to achieve intelligent modeling. Dynamo can create custom nodes by itself, and can also upload custom nodes to the cloud for developers to learn and use. Custom nodes can be downloaded during the development process, which is similar to calling a class library, greatly improving modeling efficiency. Dynamo can work together on multiple platforms to complete data interaction, such as Microsoft Office processing data, Autodesk Revit API calling family files, and Autodesk Civil3D identifying routes, greatly improving model accuracy. Dynamo has been built-in and installed in Revit, free to use and no additional downloads are required. Dynamo is easy to operate, and the programming interface is presented in the form of nodes. There is no need to write code, master the C# language, and avoid tedious steps such as downloading compilers and environment configuration, which is conducive to engineers without programming foundation to get started. After the Dynamo program is run, the results can be displayed in real time, without switching to Revit to run dynamic link files for external commands, which is convenient for operators to debug the program. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] Figure 1 It is a schematic diagram of the operation flow of the present invention;

[0036] Figure 2 A schematic diagram of the process of establishing a "point model-based" parametric family in the present invention;

[0037] Figure 3 It is a schematic diagram for determining the vertical offset distance in the present invention;

[0038] Figure 4 This is a schematic diagram of the operation of using vectors to determine the starting and ending positions of a linear component in the present invention;

[0039] Figure 5 It is a schematic diagram of a parameterized T-beam component in the present invention;

[0040] Figure 6 A schematic diagram of modifying instance parameter nodes in the present invention;

[0041] Figure 7 This is a schematic diagram of entering pile foundation information into the Excel table in the present invention. DETAILED DESCRIPTION

[0042] In order to more clearly understand the above-mentioned purpose, features and advantages of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be noted that the embodiments of the present application and the features in the embodiments can be combined with each other without conflict.

[0043] In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention may also be implemented in other ways different from the description. Therefore, the protection scope of the present invention is not limited to the specific embodiments disclosed below.

[0044] like Figures 1 to 7 As shown, a method for creating bridge components based on Revit and Dynamo includes the following steps:

[0045] S1. The bridge components are divided into two categories: "point-based model" and "line-based model", and two automatic modeling programs are set up respectively.

[0046] The “point-based model” includes pile foundations, piers, abutments, caps, tie beams, blocks, pads, and bearings;

[0047] The “Line-based model” includes T-beams, box beams, cap beams, wet joints, diaphragms, and crash barriers;

[0048] S2. Create a "point model-based" parametric family and load it into Revit;

[0049] S3, read the parameter data in the Excel table;

[0050] S4. Use data to modify model dimensions and automatically and accurately position the model;

[0051] S5. Create a "line model-based" parametric family and load it into Revit;

[0052] S6, determine the starting and ending positions of the linear component;

[0053] S7, determining the vertical offset distance;

[0054] S8. Generate model instances and automatically modify instance size parameters in batches.

[0055] Preferably, in step S2, when automatically establishing the pile foundation model, first load the parameterized pile foundation family into the project file, enter the Dynamo program interface, click the Family Types drop-down menu to select pile foundation: pile foundation, and complete the entry of the family file.

[0056] Preferably, in step S3, after the model is imported, the parameter information of the model is first entered into an Excel table, such as parameter name, size information, etc. Click the browse button of the File Path node to link the bridge Excel file address. An Excel table contains multiple Sheet worksheets, which are used to distinguish the information of different bridge components, including caps, tie beams, diaphragms, and wet joints. The Sheet worksheet is named after the component name, and the import is completed through the String string node.

[0057] After the data entry is completed, call the Data.ImportExcel node in Dynamo to read the pile foundation related data from the Excel spreadsheet. This node realizes reading data row by row and returning it to the list row by row; after reading the table, combine the List.GetItemAtlndex node to extract the data of a specific row, such as reading the name of the parameter. This node can return the item of a given list at the specified index. It has two input terminals. The list list input terminal can access the data of the Data.ImportExcel node, and the index index input terminal can select which row of data to read. According to the location of the parameter name data in the Excel table, enter a specific number in the index to complete the extraction of the specific row of data; finally, through the List.DropItems node, delete the unnecessary items from the beginning of the list, such as deleting the parameter name to only read the specific data of the coordinate value, elevation value, pile foundation diameter value, and pile foundation length value. This node has two input terminals. The list input terminal is the same as the List.GetItemAtlndex node, and the amount input terminal indicates the number of items to be deleted, thereby reading the retained data.

[0058] Read the revit model through the Family Types node; get the parameter name through the List.GetItemAtlndex node; get the parameter value through the List.DropItems node; the combination of these three nodes can automatically complete the extraction of information.

[0059] Preferably, in step S4, the read data is used to generate a point position through the Point.ByCoordinates node, which has three input terminals, XYZ, and can form a point through three given Cartesian coordinates. X and Y are connected to the X coordinate and Y coordinate values, and Z is connected to the bottom elevation value to complete the pile foundation positioning operation; then through the FamilyInstance.ByPoint node, a model instance is generated at a specified position, and finally the size of the pile foundation model instance is batch changed through the Element.SetParameterByName node. The node has three input terminals, the element terminal is connected to the revit model element, the parameterName terminal is connected to the parameter name, and the value terminal is connected to the parameter value. The Element terminal outputs the modified model, and then it is used as a connection to the next Element.SetParameterByName node to modify the second parameter until all parameters are modified.

[0060] Preferably, in step S5, a T-beam model is automatically established, the table is read in the same way as the point-based program, the parameter information is entered into an Excel table, and the parametric T-beam family is loaded into the Revit project.

[0061] Preferably, in step S6, the line is generated by points, so the starting and ending positions of the linear component need to be determined. Taking the beam as an example, the position of the point can be obtained by translating the point on the center line of the route to the beam horizontally. The translation distance can be obtained by entering the design drawing into Excel. The translation direction is determined by the vector. First, the point of the pile position coordinate is generated, and then the point is connected to generate a vector;

[0062] Get the vector by reading the XY values ​​of each span coordinate, use the Vector.ByTwoPoints node to specify the moving direction, get the normalized version of the vector by connecting the Vector.Normalized node, and convert the vector's Length value to 1 to get the unit vector. Use the Vector.Scale node to scale the vector proportionally around the origin, adjust the direction of the vector, and complete the setting of the vector direction.

[0063] Preferably, in step S7, the route point and the vector are connected to the Geometry.Translate node, and the List.DropItems node is used to delete the last route point to obtain the design elevation point of each span beam; the "distance from the starting point of the T beam to the design elevation" in the Excel table is read, and since the bridge has a transverse slope, the horizontal distance is multiplied by the transverse slope to obtain the vertical offset distance, and finally the elevation information Z is assigned to the point to obtain the design elevation point of each span beam, and the Line.ByStartPointEndPoint node is used to connect the design elevation points to generate a line.

[0064] Preferably, in step S8, the data is connected to the StructuralFraming.BeamByCurve node to generate an instance, the parameter information is read, the element is connected to the element input of the Element.SetParameterByName node, the parameter name is connected to the parameterName input, the parameter value is connected to the value input, the instance size parameters are automatically modified in batches, and the modeling is completed.

[0065] Only the preferred embodiments of the present invention are described in detail above, but the present invention is not limited to the above embodiments. Various changes can be made within the knowledge scope of ordinary technicians in this field without departing from the purpose of the present invention, and various changes should be included in the protection scope of the present invention.

Claims

1. A method for creating bridge components based on Revit and Dynamo, characterized in that: The following steps are involved: S1. The bridge components are divided into two categories: "point-based model" and "line-based model", and two automatic modeling programs are set up respectively. The "point-based model" includes pile foundations, piers, abutments, caps, tie beams, blocks, pads, and bearings; "Line-based model" includes T-beams, box beams, cap beams, wet joints, diaphragms, and crash barriers; S2. Create a "point model-based" parametric family and load it into Revit; S3, read the parameter data in the Excel table; S4. Use data to modify model dimensions and automatically and accurately position the model; S5. Create a "line model-based" parametric family and load it into Revit; S6, determine the starting and ending positions of the linear component; S7, determining the vertical offset distance; S8. Generate model instances and automatically modify instance size parameters in batches.

2. The method for creating bridge components based on Revit and Dynamo according to claim 1, characterized in that: In step S2, when the pile foundation model is automatically established, the parametric pile foundation family is first loaded into the project file, and the Dynamo program interface is entered. The Family Types drop-down menu is clicked to select Pile Foundation: Pile Foundation, and the family file entry is completed.

3. The method for creating bridge components based on Revit and Dynamo according to claim 1, characterized in that: In step S3, click the browse button of the File Path node to link the bridge excel file address. An excel table contains multiple Sheet worksheets, which are used to distinguish the information of different bridge components, including abutments, tie beams, diaphragms, and wet joints. The Sheet worksheet is named after the component name and imported through the String string node.

4. The method for creating bridge components based on Revit and Dynamo according to claim 3, characterized in that: After the data entry is completed, call the Data.ImportExcel node in Dynamo to read the pile foundation related data from the Excel spreadsheet. This node realizes reading data row by row and returning it to the list row by row; after reading the table, combine the List.GetItemAtlndex node to extract the data of a specific row, including reading the name of the parameter. This node can return the item of a given list at the specified index. It has two input terminals. The list list input terminal can access the data of the Data.ImportExcel node, and the index index input terminal can select which row of data to read. According to the location of the parameter name data in the Excel table, enter a specific number in the index to complete the extraction of the specific row of data; finally, through the List.DropItems node, delete the unnecessary items from the beginning of the list, and only read the specific data of the coordinate value, elevation value, pile foundation diameter value, and pile foundation length value. This node has two input terminals. The list input terminal is the same as the List.GetItemAtlndex node, and the amount input terminal indicates the number of items to be deleted, thereby reading the retained data.

5. The method for creating bridge components based on Revit and Dynamo according to claim 4, characterized in that: Read the revit model through the Family Types node; get the parameter name through the List.GetItemAtlndex node; get the parameter value through the List.DropItems node; the combination of these three nodes can automatically complete the extraction of information.

6. The method for creating bridge components based on Revit and Dynamo according to claim 1, characterized in that: In the step S4, the read data is used to generate a point through the Point.ByCoordinates node, which has three input terminals, XYZ, and can form a point through three given Cartesian coordinates. X and Y are connected to the X coordinate and Y coordinate values, and Z is connected to the bottom elevation value to complete the pile foundation positioning operation; then through the FamilyInstance.ByPoint node, a model instance is generated at the specified position, and finally the size of the pile foundation model instance is batch changed through the Element.SetParameterByName node. The node has three input terminals, the element terminal is connected to the revit model element, the parameterName terminal is connected to the parameter name, and the value terminal is connected to the parameter value. The Element terminal outputs the modified model, and then it is used as a connection to the next Element.SetParameterByName node to modify the second parameter until all parameters are modified.

7. The method for creating bridge components based on Revit and Dynamo according to claim 1, characterized in that: In step S5, a T-beam model is automatically established, the table reading is the same as the point-based program, the parameter information is entered into an Excel table, and the parametric T-beam family is loaded into the Revit project.

8. The method for creating bridge components based on Revit and Dynamo according to claim 1, characterized in that: In step S6, the starting and ending positions of the beam component are determined. The position of the point can be obtained by translating the point on the center line of the route horizontally to the beam. The translation distance can be obtained by entering the design drawing into Excel. The direction of the translation is determined by the vector. The point of the pile position coordinate is first generated, and then the point is connected to generate a vector; Get the vector by reading the XY values ​​of each span coordinate, use the Vector.ByTwoPoints node to specify the moving direction, get the normalized version of the vector by connecting the Vector.Normalized node, and convert the vector's Length value to 1 to get the unit vector. Use the Vector.Scale node to scale the vector proportionally around the origin, adjust the direction of the vector, and complete the setting of the vector direction.

9. The method for creating bridge components based on Revit and Dynamo according to claim 1, characterized in that: In step S7, the route point and the vector are connected to the Geometry.Translate node, and the List.DropItems node is used to delete the last route point to obtain the design elevation point of each span beam; the "distance from the starting point of the T beam to the design elevation" in the Excel table is read, and since the bridge has a transverse slope, the horizontal distance is multiplied by the transverse slope to obtain the vertical offset distance, and finally the elevation information Z is assigned to the point to obtain the design elevation point of each span beam, and the Line.ByStartPointEndPoint node is used to connect the design elevation points to generate a line.

10. The method for creating bridge components based on Revit and Dynamo according to claim 1, characterized in that: In step S8, the data is connected to the StructuralFraming.BeamByCurve node to generate an instance, the parameter information is read, the primitive is connected to the element input terminal of the Element.SetParameterByName node, the parameter name is connected to the parameterName input terminal, the parameter value is connected to the value input terminal, the instance size parameters are automatically modified in batches, and the modeling is completed.

Citation Information

Cited By

  • Bridge and tunnel engineering three-dimensional model automatic modeling method and system

    CN121962477A