Tunnel segment arrangement method based on Revit and Dynamo
By adopting the automated pipe sheet layout method based on Revit and Dynamo in tunnel engineering, the problems of low positioning accuracy and low working efficiency in the existing technology are solved, and the pipe sheet layout with high precision and high efficiency is achieved, and the construction process is optimized. Teamwork.
Patent Information
- Application Number
- CN202411370139.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2044-09-29
AI Technical Summary
The prior art has problems such as low positioning accuracy, low working efficiency, and complex correction during the tunnel pipe layout process, which has affected the construction quality and progress.
The automatic arrangement method of tunnel pipe sheets based on Revit and Dynamo is adopted to ensure the exact matching of the pipe sheets with the design path by automatically calculating and adjusting the position, spacing and angle of the pipe sheets. The method includes creating a pipe segment family in Revit, importing a three-dimensional design route, automatically layout using Dynamo scripts, and optimizing the layout scheme through cloud collaboration and machine learning algorithms.
It improves the accuracy and construction efficiency of tunnel pipe sheet layout, reduces construction errors, simplifies construction preparation, optimizes design and construction processes, and improves team collaboration efficiency.
Smart Images

Figure CN119475487A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of building information modeling, and in particular to a tunnel segment arrangement method based on Revit and Dynamo. Background Art
[0002] The widespread adoption of Building Information Modeling (BIM) technology has profoundly transformed the construction industry, particularly in the construction of subway stations and sections. The introduction of BIM has significantly improved efficiency and reduced costs. By constructing three-dimensional digital models, BIM effectively integrates and manages information about subway stations and sections across all stages of design, construction, and operation. This integrated management approach not only improves project efficiency but also optimizes resource allocation, reduces construction costs, and lays a solid foundation for the sustainable development of subway stations and sections.
[0003] In tunnel engineering, the layout of tunnel segments is a key step. However, existing technologies face many challenges in the tunnel segment layout process. Traditional tunnel segment layout methods often rely on manual operations, requiring designers to manually position each segment in a three-dimensional model. This method suffers from low positioning accuracy, low work efficiency, and complex correction. During manual operation, since tunnel design routes often include complex curvature changes, it is difficult to achieve high precision, which can easily lead to positioning errors. In addition, the number of tunnel segments is large, and the layout process is cumbersome and time-consuming. Manual layout is particularly difficult when faced with complex tunnel designs (such as bifurcations and curved sections), increasing the workload of designers. At the same time, any minor positioning errors during manual layout can accumulate into large overall deviations, resulting in problems such as poor splicing or excessive gaps. The correction process is complex, time-consuming, and labor-intensive.
[0004] These issues directly impact the overall construction quality and progress of tunnel projects. For example, inaccurately positioned segments can lead to structural instability issues during construction, increasing safety risks. Furthermore, the inefficiency of manual placement can delay project progress and increase construction costs. Summary of the Invention
[0005] To overcome the shortcomings of existing technologies, this paper proposes a tunnel segment layout method based on Revit and Dynamo. This method automates the segment layout process, improving layout accuracy and construction efficiency. Automatic calculation and adjustment of segment position, spacing, and angles ensures precise alignment with the designed path, reducing construction errors. Automatically generated processing data and construction guidance documents simplify construction preparation, while cloud-based collaboration and machine learning algorithms enhance design intelligence and team collaboration efficiency, thereby optimizing the overall design and construction process.
[0006] To achieve the above object, the present invention provides a method for automatic layout of tunnel segments based on Revit and Dynamo, comprising the following steps: Step 1: Create a tunnel segment family in Revit based on the dimensional data from the tunnel design drawings. Select the adaptive family template and create multiple adaptive points in a counterclockwise direction within the segment model to determine the positioning plane. Then, through operations such as stretching and shearing, create an annular segment that conforms to the tunnel cross-section.
[0007] Step 2: Import the 3D tunnel design route in CAD format into the Revit project file as a reference path for segment layout.
[0008] Step 3: Open Dynamo in Revit and create a new script file. Use the "Select ModelElement" node to import the 3D design route from Step 2 into Dynamo, and use the "Element.Geometry" node to extract the geometry information of the route to obtain the specific location and direction data of the tunnel path.
[0009] Step 4: Read the length of the designed route through the "Curve.Length" node. Use the code node and the corresponding mathematical function to calculate the total number of tunnel segments and the interval points of each ring to ensure that the position and direction of each segment are consistent with the designed route.
[0010] Step 5: Based on the calculated interval points and number of segments, use the "Curve.PointAtSegmentLength" node to determine the center of each segment. Using the "Python Script" node, loop through the calculations to determine the positioning plane and rotation angle for each segment, ensuring the segments fit together tightly and seamlessly.
[0011] Step 6: Use the "AdaptiveComponent.ByPoints" node in conjunction with Dynamo scripts to automatically generate and arrange tunnel segments, matching each adaptive point with the calculated positioning plane and rotation angle to achieve accurate 3D modeling.
[0012] Step 7: Click the Run button of the Dynamo script to automatically complete the segment layout. Check whether the final layout meets the design requirements. If there are any deviations, you can optimize it by adjusting the Dynamo script parameters.
[0013] Furthermore, when creating a tunnel segment family in step 1, the segment family includes not only standard blocks but also capping blocks and adjacent blocks. Each segment block is precisely modeled according to actual project requirements. The specific steps are as follows: The capping blocks are designed to adapt to the curvature of the tunnel top and are usually designed in an asymmetrical shape to accommodate different assembly angles.
[0014] The adjacent blocks are designed to connect with the standard blocks, and different geometric parameters are defined to ensure seamless connection between the adjacent blocks and the standard blocks.
[0015] The geometric parameters of each segment, such as wedge shape, radius, height, etc., should be precisely set according to the actual tunnel section dimensions and design requirements, and controlled parametrically in Dynamo for subsequent automatic adjustment and optimization.
[0016] Furthermore, in step 4, the calculation of the segment positioning center is dynamically adjusted based on the curvature of the tunnel curve and the extension direction of the tunnel axis. Specifically: By reading the curvature changes of the designed route and setting conditional judgment logic in Dynamo, when the curvature reaches a certain predetermined value, the layout spacing and angles between the segments are automatically adjusted to ensure that the segments can fit the curve tightly.
[0017] For different curvature radii, the arrangement density of the segments is dynamically adjusted to reduce the assembly error between segments, and the rotation angle and interval of the segments are automatically adjusted through Dynamo scripts to ensure the continuity and accuracy of assembly.
[0018] Furthermore, the Python script in step 5 can realize the modeling of complex tunnel structures, such as handling complex situations such as tunnel bifurcations, variable cross-sections, and curves. The specific implementation is as follows: For bifurcated tunnels, by identifying bifurcated points in the tunnel route, the Python script automatically generates segment layout plans for different paths and realizes seamless splicing of multiple paths.
[0019] In areas where the tunnel cross-section changes, the script will automatically adjust the shape and size of the segments according to preset geometric parameters to adapt to the changing tunnel cross-section, ensuring that the segments in the cross-section change area can still maintain continuity.
[0020] For complex curves, the script will automatically optimize the arrangement direction and angle of the segments based on the curvature and spiral characteristics of the path to minimize assembly errors during construction.
[0021] Furthermore, the "AdaptiveComponent.ByPoints" node in step 6 can be used in conjunction with multiple functional modules of Revit to further optimize the layout of tunnel segments. The specific implementation is: Combined with Revit's "View Filter" function, the arranged segments can be automatically checked and marked, highlighting possible assembly error areas or layout anomalies for further manual verification and correction.
[0022] Using Revit's "Construction Simulation" module, the arranged segment model can be combined with the construction schedule to generate a construction simulation animation, identify potential construction problems in advance, and optimize the construction plan.
[0023] By linking Dynamo scripts with Revit's "Material Assignment" function, you can automatically assign corresponding materials to different types of pipe segments, so that during the rendering and visualization process, you can clearly distinguish between pipe segment types and material properties, thereby improving the accuracy of design display and communication efficiency.
[0024] Furthermore, in step 6, the Dynamo script can be combined with the "collision detection" function of Autodesk Revit to perform automated collision detection analysis after the segment layout is completed. The specific implementation is as follows: Through Dynamo scripts, collision detection is performed between the arranged segments and other structures inside the tunnel (such as cables, pipes, etc.) to identify potential conflict points.
[0025] The results of the collision detection are fed back to the Dynamo script in the form of data, which automatically triggers the adjustment algorithm to optimize the position and angle of the pipe segments to avoid collision problems during actual construction.
[0026] If a serious collision problem is detected, the system will generate an alarm and output a detailed detection report for designers to refer to and correct.
[0027] Furthermore, in steps 5 and 6, the Dynamo script can automatically generate segment processing data and construction guidance documents. The specific implementation is as follows: Based on the segment layout model generated by the Dynamo script, standard processing data files (such as CNC processing code) are automatically exported and directly used in the production process.
[0028] Combined with the construction schedule, a phased construction guidance document is generated, detailing the number, type, installation position and angle of the segments required for each construction step.
[0029] The generated construction guidance documents can be exported into multiple formats, such as PDF, DWG, Excel, etc., for easy use and reference by the on-site construction team.
[0030] Furthermore, the calculation process in step 4 takes into account the impact of temperature and humidity changes in the tunnel on the segment material. The specific implementation is as follows: By introducing a parametric model of temperature and humidity into the Dynamo script, the size and installation gap of the pipe segments are automatically adjusted according to the environmental data measured on site to accommodate material changes caused by thermal expansion and contraction.
[0031] Through parametric calculation of material models, the deformation trend of the segments under different temperature and humidity conditions can be predicted, and the design can be optimized in advance to ensure the long-term stability of the tunnel structure.
[0032] The generated segment models and layout plans include material durability analysis reports to assist in design decisions and material selection.
[0033] Furthermore, the Dynamo script in step 3 can be shared with multiple design teams through cloud collaboration, and supports real-time modification and synchronous updates. The specific implementation is as follows: Using Dynamo's cloud collaboration module, design teams can access and edit the same Dynamo script at the same time, and all changes are synchronized to all participants in real time.
[0034] Through the version control function, historical versions of the script are automatically saved, and designers can roll back to the previous version at any time to ensure the traceability of the design process.
[0035] The cloud collaboration function supports multi-regional design teams, automatically optimizing data synchronization speed and bandwidth allocation based on the time zone and network conditions of the team's location, thereby improving collaborative design efficiency.
[0036] Furthermore, the Dynamo script can be combined with machine learning algorithms to continuously optimize the tunnel segment layout plan. The specific implementation is as follows: The successful experiences and failure case data of segment layout in historical projects are input into the machine learning model to train an algorithm model that can predict the optimal layout plan.
[0037] During the layout process of a new project, the Dynamo script automatically calls the trained model to predict and generate an optimized segment layout plan based on the tunnel's design parameters, environmental conditions and other data.
[0038] Through the model's self-learning capabilities, new project data can be continuously accumulated, the accuracy of the algorithm can be optimized, and the level of intelligence in segment layout in future projects can be enhanced.
[0039] Compared with the prior art, the present invention has the following beneficial effects: 1. The present invention provides a tunnel segment layout method based on Revit and Dynamo. By automatically calculating and optimizing the position, spacing, and rotation angle of the segments, the method ensures that the segments precisely match the designed path, thereby improving the layout accuracy of the tunnel segments.
[0040] 2. The present invention provides a tunnel segment layout method based on Revit and Dynamo, which dynamically adjusts the layout interval and angle of the segments, adapts to curvature changes, reduces segment splicing errors, and ensures close fit of the segments during construction.
[0041] 3. This invention provides a tunnel segment layout method based on Revit and Dynamo, which automatically generates processing data and construction guidance documents, clarifies the number, type, and location of segments in each construction step, simplifies construction preparation and execution, and improves construction efficiency.
[0042] 4. This invention provides a tunnel segment layout method based on Revit and Dynamo. The cloud-based collaborative function enables real-time sharing and updating, supports multi-team synchronous editing and version control, improves the collaborative efficiency of the design team and the level of project management. It combines temperature and humidity changes with machine learning algorithms to automatically optimize the segment layout plan, enhance design adaptability, and improve the intelligence level and long-term stability of future projects. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the following is a brief introduction to the drawings required for use in the specific embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0044] Figure 1 It is a schematic flow chart of the steps of the present invention; Figure 2 Schematic diagram of the segment family of the present invention; Figure 3 This is a schematic diagram of the three-dimensional design route of the interval of the present invention; Figure 4 Read the design route schematic for the present invention; Figure 5 Schematic diagram of the total number of segments of the present invention; Figure 6 Schematic diagram of the theoretical position of the center of the segment of the present invention; Figure 7 This is a schematic diagram of the center plane of the first ring of the present invention; Figure 8 This is a schematic diagram of the Python Script code of the present invention; Figure 9 Schematic diagram of the segment parameters of the present invention; Figure 10 Schematic diagram of segment parameter integration and calculation according to the present invention; Figure 11 This is a schematic diagram of the segment positioning point calculation of the present invention; Figure 12 This is a schematic diagram of the Python Script code 1 of the present invention; Figure 13 This is a schematic diagram of the Python Script code 2 of the present invention; Figure 14 This is a schematic diagram of the Python Script code 3 of the present invention; Figure 15 This is a schematic diagram of the Python Script code 4 of the present invention; Figure 16 This is a schematic diagram of the Python Script code 5 of the present invention; Figure 17 This is a schematic diagram of the Python Script code 6 of the present invention; Figure 18 Generate a segment schematic diagram for the present invention; Figure 19 This is a schematic diagram of the segment assembly effect of the present invention. DETAILED DESCRIPTION
[0045] The technical solutions of the present invention will be more clearly and completely explained below through description of preferred embodiments of the present invention in conjunction with the accompanying drawings.
[0046] like Figure 1 As shown, the present invention is specifically: Step 1: Create a tunnel segment family in Revit based on the dimensional data in the tunnel design drawings. Select the adaptive family template and create adaptive points in the segment model in a counterclockwise direction to determine the positioning plane. Then, use stretching and shearing operations to create the annular segment of the tunnel section. Step 2: Import the 3D tunnel design route in CAD format into the Revit project file as a reference path for segment layout; Step 3: Open Dynamo in Revit and create a new script file. Use the "Select ModelElement" node to import the 3D design route in Step 2 into Dynamo, and use the "Element.Geometry" node to extract the geometric information of the route to obtain the specific location and direction data of the tunnel path. Step 4: Read the length of the designed route through the "Curve.Length" node. Use the code node and the corresponding mathematical function to calculate the total number of tunnel segments and the interval points of each segment to ensure that the position and direction of the segments are consistent with the designed route. Step 5: Based on the calculated interval points and number of segments, use the "Curve.PointAtSegmentLength" node to determine the segment's positioning center. Use the "Python Script" node to cyclically calculate the segment's positioning plane and rotation angle to ensure the segments are spliced together. Step 6: Use the "AdaptiveComponent.ByPoints" node in conjunction with Dynamo scripts to automatically generate and arrange tunnel segments, matching the adaptive points with the calculated positioning planes and rotation angles to achieve 3D modeling. Step 7: Click the Run button of the Dynamo script to automatically complete the segment layout. Check whether the final layout meets the design requirements. If there are any deviations, you can optimize it by adjusting the Dynamo script parameters.
[0047] As a specific implementation, implementation 1: Used in the design and construction phases of tunnel projects, this method uses automated scripts to achieve precise placement and installation optimization of tunnel segments. Specifically, it includes the following steps: Create a tunnel segment family: In Autodesk Revit, create a tunnel segment family based on the tunnel cross-section dimension data provided in the design drawings. The specific steps are as follows: Select the adaptive family template and create a segment model in Revit. Create three adaptive points in a counterclockwise direction. These points will be used to determine the positioning plane later.
[0048] Use the Extrude tool to create the basic shape of the segment, setting the outer radius to 1300mm, the inner radius to 1100mm, and the height to 800mm. Then, use the Cut tool to cut the sides to form a wedge with widths of 785mm and 815mm respectively.
[0049] The entire annular segment is divided into six blocks: one capping block, two adjacent blocks, and three standard blocks, and each block is named accordingly. Finally, these segment families are saved and imported into the Revit project file.
[0050] Import tunnel design route: In Revit, import the 3D design route file of the tunnel (usually in CAD format) and use it as a reference path for the layout of the tunnel segments.
[0051] The designed route represents the actual path of the tunnel and includes the three-dimensional curve information of the tunnel axis.
[0052] Create a Dynamo script: In Revit, in the Manage tab, launch Dynamo and create a new script file.
[0053] Use the "Select Model Element" node to select the imported tunnel design alignment and import its geometry information into the Dynamo environment.
[0054] The "Element.Geometry" node is used to extract the geometry of the designed route, and the "Curve.Length" node is then used to calculate the total length of the designed route. To adapt to the curvature of the tunnel, the Dynamo script dynamically adjusts the density of the segments based on the curvature of the path, and uses code blocks to calculate the total number of segments and the spacing between each segment.
[0055] Positioning and arrangement of segments: In Dynamo, a Python Script node is used to perform complex calculations. The script iteratively calculates the positioning center and plane angle of each segment to ensure that the segments can be accurately arranged along the tunnel according to the designed route.
[0056] For each segment, the segment family is matched with the positioning points calculated by Dynamo through the "AdaptiveComponent.ByPoints" node, and the segments are automatically arranged on the tunnel path.
[0057] The Python script also checks the joints and rotation angles between each segment to ensure that the entire tunnel segment can be spliced together tightly and seamlessly.
[0058] Collision detection and optimization: After the segments are arranged, the “collision detection” function of Revit is used to automatically detect collisions between the arranged segments and other structures inside the tunnel (such as cables and pipes).
[0059] Based on the detection results, the Dynamo script will automatically trigger the adjustment algorithm to optimize the position and angle of the pipe segments to avoid conflicts that may occur during actual construction.
[0060] If a serious collision problem is found, the system will generate an alarm and output a detailed inspection report for the design team to review and correct.
[0061] Export construction data and optimize adjustments: The Dynamo script adjusts the size and installation gap of the segments according to the temperature and humidity conditions of the tunnel to adapt to the thermal expansion and contraction of the material and ensure the long-term stability of the tunnel.
[0062] Finally, standard processing data files (such as CNC codes) are exported and construction guidance files are generated, including detailed information such as installation location, quantity, type, and angle. These data can be directly used in production and on-site construction.
[0063] If necessary, the design team can also use Dynamo scripts to generate construction simulation animations and output optimization reports to further enhance the controllability and planning of construction.
[0064] Implementation Method 2
[0065] Based on the above implementation method 1, this implementation method further introduces how to use cloud collaboration functions and machine learning algorithms to enhance design collaboration and optimize intelligence. The specific steps include: Cloud-based collaborative design: With Dynamo's cloud collaboration module, design teams in multiple regions can access and edit the same Dynamo script simultaneously. All design changes are synchronized in real time, and the script's historical version is automatically saved through the version control function.
[0066] This feature makes cross-regional and multi-team collaborative design efficient and controllable, ensuring that each design team can obtain the latest design updates and can roll back to earlier versions at any time for modifications and adjustments.
[0067] Machine Learning Algorithm Optimization: At the early stages of design, data from historical tunnel engineering projects, including successful segment placement schemes and failure cases, are collected and input.
[0068] These data are trained through a machine learning model to generate an algorithm model that predicts the optimal segment layout plan.
[0069] In the current project, a Dynamo script invokes this machine learning model to automatically generate an optimized tunnel segment layout based on design parameters, environmental conditions, construction progress, and more. As more project data accumulates, the machine learning model will continuously optimize itself, improving the accuracy and practicality of its predictions.
[0070] The implementation demonstrated how to combine Revit and Dynamo to automatically arrange tunnel segments, ensuring design accuracy and constructibility, from segment family creation to final construction guidance. The application of cloud collaboration and machine learning algorithms further enhanced the project's intelligence and team collaboration efficiency.
[0071] As a specific embodiment, a method for automatically arranging tunnel segments based on Revit and Dynamo includes the following production process: Step 1: Create a tunnel segment family in Revit based on the dimension data of the tunnel segment design drawing, such as Figure 2As shown, select the adaptive family template and create three adaptive points in a counterclockwise direction. These points will be used in the subsequent code to determine the positioning plane. Create a cylindrical ring segment by stretching, with an outer radius of 1300mm, an inner radius of 1100mm, and a height of 800mm. Then, cut from the side so that the widths on both sides are 785mm and 815mm, respectively, with a difference of 30mm, which is the wedge amount. Finally, split it into six blocks, consisting of a capping block, two adjacent blocks, and three standard blocks. Name it "Adaptive Segment Family - Simplified Version" and import it into the Revit project file. Step 2: Import the 3D design route of the interval in CAD format into the Revit project file, such as Figure 3 As shown; Step 3: Open Dynamo from the Manage tab and create a new script file. Step 4: Link the 3D design route in step 2 through the "Select Model Element" node, read it into Dynamo, obtain the geometric route of the 3D design route through the "Element.Geometry" node, and obtain the reverse route of the geometric route through the "Curve.Reverse" node, such as Figure 4 As shown, by creating an "If" node, connecting the "Element.Geometry" node to the "true" interface, connecting the "Curve.Reverse" node to the "false" interface, and creating a "Boolean" node and connecting it to the "test" interface, the CAD 3D design curve can be read through this step, and the direction of the route can be switched through the "Boolean" node. True means that the route is not reversed, and false means that the route is reversed. Step 5: Create a "Curve.Length" node and connect the "Element.Geometry" node in step 4 to the "curve" interface to read the length of the 3D route. Create a "Code Block" node and enter the segment width "d=800". Create a "Code Block" node and enter the formula "Math.Floor(len / d);" to connect the "Curve.Length" node to the "len" interface and the "segment width" to the "d" interface to calculate the total number of segments, as shown in the following example: Figure 5 As shown; Step 6: Create a "Code Block" node, enter the code "d / 2..length..d;", connect the "Curve.Length" node in step 5 to the "length" interface, connect the "segment width" in step 5 to the "d" interface, and accordingly select points at fixed intervals on the route. Create a "List.Flatten" node, convert the list into a one-dimensional list, connect the "Code Block" node in this step to its "list" interface, and finally create a "Curve.PointAtSegmentLength" node, connect the "If" node in step 4 to the "curve" interface of the "Curve.PointAtSegmentLength" node, and connect the "List.Flatten" node to the "segmentLength" interface of the "Curve.PointAtSegmentLength" node. Through this step, the theoretical positions of all segment positioning centers are calculated at fixed intervals, such as Figure 6 As shown; Step 7: Create a new "Curve.ParameterAtPoint" node, connect the "curve" interface to the "If" node in step 4, and connect the "point" interface to the "Curve.PointAtSegmentLength" node in step 6. Create a new "List.FirstItem" node and connect it to the "Curve.ParameterAtPoint" node. Create a new "Curve.TangentAtParameter" node, connect the "curve" interface to the "If" node in step 4, and connect the "param" interface to the "List.FirstItem" node. Create another new "List.FirstItem" node and connect it to the "Curve.PointAtSegmentLength" node in step 6. Create a new "Python Script" node, connect the "IN[0]" interface to the second "List.FirstItem" node, and connect the "IN[1]" interface to the "Curve.TangentAtParameter" node. Enter the code as follows Figure 8 , calculate the center plane of the first ring, such as Figure 7 As shown; Step 8: Create a new "Family Types" node, click the drop-down menu and select "Adaptive Family - Simplified Edition", create an "Integer Slider" node and set "Min=1", "Max=12", and "Step=1". Enter a number to adjust between 1 and 12. Create a new "Code Block" node and enter "n=12" to indicate the number of bolt holes. Create a new "Code Block" node and enter "S=30" to indicate the wedge amount. Create a new "Code Block" node and enter "R=1300" to indicate the outer radius. Create a new "CodeBlock" node and enter "num=1400" to indicate the number of rings generated. Create a new "Code Block" node and enter "θ=Math.Atan(S / 4 / R);", where θ is the cone angle. Create a new "Code Block" node and enter "r=d / 2*Math.Sin(θ);", where r is the cone base radius. Create a new "Code Block" node and enter "h=d / 2*Math.Cos(θ);", where h is the cone height. Figure 9 As shown; Step 9: Create a new "Code Block" node to collect and organize the above key parameters to prevent confusion in the connection, and enter the code as follows Figure 10 , connect the "locNum" interface to the "Integer Slider" node in step 8, connect the "num" interface to the "Number of Longitudinal Handholes" in step 8, connect the "theoryPts" interface to the "Curve.PointAtSegmentLength" node in step 6, connect the "coneAngle" interface to the "Cone Angle" in step 8, connect the "d" interface to the segment width in step 5, connect the "coneHeight" interface to the "Cone Height" in step 8, connect the "coneRadius" interface to the "Cone Bottom Radius" in step 8, and connect the "createNum" interface to "num=1400" in step 8; Step 10: Create a new "Python Script" node, connect the "IN[0]" interface to the "PythonScript" node in step 7, connect the "IN[1]" interface to the "locNum" interface of the "Code Block" node in step 9, connect the "IN[2]" interface to the "360 / num" interface of the "Code Block" node in step 9, connect the "IN[3]" interface to the "(0..2) / 3" interface of the "Code Block" node in step 9, connect the "IN[4]" interface to the "theoryPts" interface of the "CodeBlock" node in step 9, connect the "IN[5]" interface to the "coneAngle" interface of the "Code Block" node in step 9, connect the "IN[6]" interface to the "d" interface of the "Code Block" node in step 9, connect the "IN[7]" interface to the "coneHeight" interface of the "Code Block" node in step 9, and connect the "IN[8]" interface to the "Code Block" node in step 9. Connect the "(0..15) / num" interface of the "Code Block" node in step 9 to the "(0..15) / num) interface, connect the "IN[9]" interface to the "coneRadius" interface of the "Code Block" node in step 9, and connect the "IN
[10] " interface to the "createNum" interface of the "Code Block" node in step 9, as shown in the following example: Figure 11 As shown; Step 11: Edit the "Python Script" node in step 10 and enter the code as follows: Figure 12-17 ; Step 12: Create a new "Code Block" node and enter "a[0]", create a new "AdaptiveComponent.ByPoints" node (this node can place the family in space according to the points in the adaptive family. Here it is the "Adaptive Segment Family - Simplified Version", which contains three points for generating the positioning plane), and connect its "points" interface to the "a[0]" interface, and connect the "familyType" interface to the "Adaptive Segment Family" in step 8, as shown below. Figure 18 As shown; Step 13: Click the "Run" button to automatically arrange the segments. Since the line is too long, only the starting section is intercepted. The effect is as follows: Figure 19 .
[0072] The above-described specific embodiments merely describe preferred embodiments of the present invention and do not limit the scope of protection of the present invention. Any modifications, substitutions, and improvements made to the technical solution of the present invention by a person skilled in the art based on the textual description and drawings provided herein, without departing from the design concept and spirit of the present invention, shall fall within the scope of protection of the present invention. The scope of protection of the present invention is determined by the claims.
Claims
1. A tunnel segment layout method based on Revit and Dynamo, characterized in that: The following steps are involved: Step 1: Based on the dimension data of the tunnel design drawing, create a tunnel segment family in Revit, select the adaptive family template, create adaptive points in the segment model in a counterclockwise direction to determine the positioning plane, and create the annular segment of the tunnel section through stretching and shearing operations; Step 2: Import the 3D tunnel design route in CAD format into the Revit project file as a reference path for segment layout; Step 3: Open Dynamo in Revit and create a new script file. Use the "Select Model Element" node to import the 3D design route in step 2 into Dynamo, and extract the geometric information of the route through the "Element.Geometry" node to obtain the specific location and direction data of the tunnel path. Step 4: Read the length of the designed route through the "Curve.Length" node, and use the code node and the corresponding mathematical function to calculate the total number of tunnel segments and the interval points of each segment to ensure that the position and direction of the segment are consistent with the designed route; Step 5: Based on the calculated interval points and the number of segments, use the "Curve.PointAtSegmentLength" node to determine the segment's positioning center. Use the "Python Script" node to cyclically calculate the segment's positioning plane and rotation angle to ensure that the segments are spliced together. Step 6: Use the "AdaptiveComponent.ByPoints" node and Dynamo script to automatically generate and arrange tunnel segments, matching the adaptive points with the calculated positioning planes and rotation angles to achieve 3D modeling. Step 7: Click the Run button of the Dynamo script to automatically complete the segment layout and check whether the final layout effect meets the design requirements. If there is any deviation, it can be optimized by adjusting the Dynamo script parameters.
2. The tunnel segment layout method based on Revit and Dynamo according to claim 1, characterized in that: When creating a tunnel segment family in step 1, the segment family includes not only standard blocks, but also capping blocks and adjacent blocks. Each segment block is modeled according to actual engineering requirements. The specific steps are as follows: The capping block is designed to adapt to the curvature change of the top of the tunnel and is designed to be asymmetrical to accommodate different assembly angles; The adjacent blocks are designed to connect with the standard blocks, and different geometric parameters are defined to ensure seamless connection between the adjacent blocks and the standard blocks; The geometric parameters of the segment blocks are set according to the actual tunnel section dimensions and design requirements, and are parametrically controlled in Dynamo for subsequent automatic adjustment and optimization.
3. The tunnel segment layout method based on Revit and Dynamo according to claim 2, characterized in that: In step 4, the segment positioning center is calculated and adjusted dynamically based on the curvature of the tunnel curve and the extension direction of the tunnel axis. Specifically: By reading the curvature change of the designed route, conditional judgment logic is set in Dynamo. When the curvature reaches a certain predetermined value, the layout interval and angle between the segments are automatically adjusted to ensure that the segments can fit the curve closely. For different curvature radii, the arrangement density of the segments is dynamically adjusted to reduce the assembly error between the segments, and the rotation angle and interval of the segments are automatically adjusted through the Dynamo script.
4. The tunnel segment layout method based on Revit and Dynamo according to claim 3, characterized in that: The Python script in step 5 implements the modeling of complex tunnel structures. The specific implementation is as follows: For bifurcated tunnels, by identifying bifurcations in the tunnel route, the Python script automatically generates segment layouts for different paths and achieves seamless splicing of multiple paths; In areas where the tunnel cross-section changes, the script automatically adjusts the shape and size of the segments according to preset geometric parameters to adapt to the changed tunnel cross-section; For complex curves, the script will automatically optimize the arrangement direction and angle of the segments based on the curvature and spiral characteristics of the path to minimize assembly errors during construction.
5. The tunnel segment layout method based on Revit and Dynamo according to claim 4, characterized in that: The "AdaptiveComponent.ByPoints" node in step 6 can be used in conjunction with multiple functional modules of Revit to further optimize the layout of the tunnel segments. The specific implementation is as follows: Combined with Revit's "View Filter" function, the arranged segments are automatically checked and marked, and the existing assembly error areas or layout anomalies are highlighted for further manual verification and correction; Using the "Construction Simulation" module of Revit, the arranged segment model is combined with the construction schedule to generate a construction simulation animation, identify potential construction problems in advance, and optimize the construction plan; By linking Dynamo scripts with Revit's "Material Assignment" function, corresponding materials are automatically assigned to different types of segments, so that segment types and material properties can be clearly distinguished during rendering and visualization, thereby improving the accuracy of design presentation and communication efficiency.
6. The tunnel segment layout method based on Revit and Dynamo according to claim 5, characterized in that: In step 6, the Dynamo script can be combined with the "collision detection" function of Autodesk Revit to perform automated collision detection analysis after the segment layout is completed. The specific implementation is as follows: Through Dynamo scripts, collision detection is performed between the arranged segments and other structures inside the tunnel to identify potential conflict points; The results of the collision detection are fed back to the Dynamo script in the form of data, which automatically triggers the adjustment algorithm to optimize the position and angle of the pipe segments to avoid collision problems in actual construction; If a serious collision problem is detected, the system will generate an alarm and output a detailed detection report for designers to refer to and correct.
7. The tunnel segment layout method based on Revit and Dynamo according to claim 6, characterized in that: In step 5 and step 6, the Dynamo script can automatically generate the processing data and construction guidance files of the pipe segments, which are specifically implemented as follows: Based on the segment layout model generated by Dynamo script, the processing data files that meet the standards are automatically exported and directly used in the production process; Combined with the construction schedule, generate phased construction guidance documents, listing the number, type, installation position and angle information of the segments required in each construction step; The generated construction guidance documents can be exported into multiple formats for easy use and reference by the on-site construction team.
8. The tunnel segment layout method based on Revit and Dynamo according to claim 7, characterized in that: In the calculation process of step 4, the influence of temperature and humidity changes in the tunnel on the segment material is taken into account, which is specifically implemented as follows: Introducing temperature and humidity parameter models into the Dynamo script, the size and installation gap of the pipe segments are automatically adjusted according to the environmental data measured on site to adapt to material changes caused by thermal expansion and contraction; Through parametric calculation of material models, the deformation trend of the segments under different temperature and humidity conditions is predicted, and the design is optimized in advance to ensure the long-term stability of the tunnel structure; The generated segment models and layouts include material durability analysis reports to assist in design decisions and material selection.
9. The tunnel segment layout method based on Revit and Dynamo according to claim 8, characterized in that: The Dynamo script in step 3 can be shared with multiple design teams through cloud collaboration, and supports real-time modification and synchronous update. The specific implementation is as follows: Using Dynamo's cloud collaboration module, the design team can access and edit the same Dynamo script at the same time, and all changes will be synchronized to all participants in real time; The version control function automatically saves historical versions of the script, allowing designers to roll back to previous versions at any time to ensure the traceability of the design process; The cloud collaboration function supports multi-regional design teams, automatically optimizing data synchronization speed and bandwidth allocation based on the time zone and network conditions of the team's location, thereby improving collaborative design efficiency.
10. The tunnel segment layout method based on Revit and Dynamo according to claim 9, characterized in that: The Dynamo script can be combined with machine learning algorithms to continuously optimize the tunnel segment layout plan, which is specifically implemented as follows: The successful experience and failure case data of segment layout in historical projects are input into the machine learning model to train an algorithm model that can predict the best layout plan; During the layout of a new project, the Dynamo script automatically calls the trained model to predict and generate an optimized segment layout plan based on the tunnel design data; Through the self-learning ability of the model, new project data can be continuously accumulated, the accuracy of the algorithm can be optimized, and the level of intelligence of segment layout in future projects can be improved.
Citation Information
Patent Citations
Parameterized TBM shield tunnel model establishing method
CN112906106A
BIM-based shield segment parameterized drawing generation method and system
CN113408042A
Shield universal segment solid modeling method based on Revit secondary development
CN113987627A
Modeling, typesetting and segment type selection method for tunnel shield pipe ring lining structure
CN114386143A
Method for quickly establishing shield interval segment model
CN114943106A