Tunnel three-dimensional model generation method, generation system and storage medium
By analyzing tunnel construction drawings and surrounding rock grade mapping tables, a 3D point cloud model of the tunnel is generated, which solves the problem of poor applicability of existing 3D tunnel modeling technology and realizes efficient 3D tunnel modeling and construction guidance.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA STATE RAILWAY GRP CO LTD
- Filing Date
- 2023-09-01
- Publication Date
- 2026-07-21
AI Technical Summary
Existing methods for generating 3D tunnel models cannot effectively model the actual conditions of different tunnel construction sections, resulting in poor applicability and a large number of parameter requirements.
By acquiring tunnel construction drawings, analyzing tunnel route curve data and cross-section design data, and combining them with the surrounding rock grade mapping table, a three-dimensional point cloud model of the tunnel under the actual mileage is generated. The route curve element points and cross-section parameters are automatically identified and fused to generate a full-link three-dimensional model.
It achieves strong applicability to different tunnel construction sections, requires few parameters, and can efficiently generate 3D tunnel models based on actual conditions to guide tunnel construction.
Smart Images

Figure CN117272454B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of model building, specifically involving a method, system and storage medium for generating a 3D model of a tunnel. Background Technology
[0002] With the rapid development of the railway industry, higher demands have been placed on the design, review, construction, and maintenance of railway tunnels. Traditional two-dimensional design drawings are no longer sufficient to accurately and efficiently guide engineering construction. The widespread application of computer technology, visualization, and virtual reality technologies allows people to experience the actual conditions of railway tunnels in a more intuitive way, thus providing decision-makers with more direct decision-making support. Therefore, 3D modeling technology for railway tunnels is receiving increasing attention. However, existing methods for generating 3D tunnel models require a large number of tunnel design parameters and cannot be tailored to the specific conditions of different tunnel construction sections, resulting in poor applicability. Summary of the Invention
[0003] To at least partially overcome the problems existing in related technologies, this application provides a method, system and storage medium for generating a three-dimensional tunnel model.
[0004] According to a first aspect of the embodiments of this application, this application provides a method for generating a three-dimensional model of a tunnel, which includes the following steps:
[0005] Obtain tunnel construction drawings, which include tunnel alignment curve data and tunnel cross-section design data;
[0006] Based on the tunnel line curve data, the horizontal curves, vertical curves, and broken link list data of the line under the complete link are analyzed and fused to generate the actual line curve point cloud of the whole mileage including the broken link situation.
[0007] Based on the tunnel cross-section design data, the cross-section outline data and the surrounding rock grade mapping table are analyzed, and the tunnel excavation, primary support, and secondary lining cross-section outline point clouds under different surrounding rock grade markings are generated.
[0008] Based on the tunnel route mileage and coordinate information, and combined with the surrounding rock grade mapping table, the tunnel cross-section contour point cloud and the actual route curve point cloud of the entire mileage are fused to generate a three-dimensional point cloud model of the tunnel route under the actual mileage.
[0009] In the above-mentioned method for generating a 3D tunnel model, the tunnel alignment curve data includes horizontal curves, vertical curves, and broken chain list data; the tunnel cross-section design drawing data includes DXF drawings of tunnel excavation, initial support, and secondary lining design sections, as well as a surrounding rock grade mapping table.
[0010] Furthermore, the data for the horizontal curve includes data from the intersection of the starting point, intersection point, and ending point on the straight line segment, or data from the line element method for transition points between straight lines and transition curves, transition curves and circular curves, circular curves and transition curves, and transition curves and straight lines.
[0011] Furthermore, the process of calculating the coordinates of the horizontal curve of the data line using the intersection method is as follows:
[0012] Import intersection data (xls and txt files) and identify the starting point mileage L. q The starting point coordinates are QD, and the curve radius R of the curve containing the starting point is R. q The length S of the first transition curve of the curve where the starting point is located q1 The length S of the second transition curve where the starting point is located q2 The coordinates of the first intersection point are JD1, the radius of curve 1 is R1, and the length of the first transition curve of curve 1 is S. 11 The second transition curve of curve one is S long 12 The coordinates of the second intersection point are JD2, the radius of curve two is R2, and the length of the first transition curve of curve two is S. 21 The second easing curve of curve two is S long. 22 ;……; Coordinates of the kth intersection point JD k The radius R of curve k k The length S of the first transition curve of curve k k1 The length of the second transition curve S of curve k k2 ...; Destination mileage L z The endpoint coordinates are ZD, and the curve radius R of the curve containing the endpoint is R. z The length S of the first transition curve of the curve where the endpoint is located z1 The length S of the second transition curve where the endpoint is located z2 ;
[0013] Based on the starting point coordinates QD and the kth intersection point coordinates JD k The coordinates of the (k+1)th intersection point JD (k+1) Calculate the k-th turning angle A k And according to the k-th turning angle A k The radius R of curve k k Calculate the length T of the k-th tangent. k ;
[0014] Turning angle A at the kth angle k for:
[0015]
[0016] In the formula, A q Indicates the starting azimuth angle:
[0017]
[0018] In the formula, and Let x and y represent the x and y coordinates of the first intersection point JD1, respectively. QD and y QD These represent the x-coordinate and y-coordinate of the starting point QD, respectively;
[0019] In the formula, Indicates the k-th termination azimuth angle:
[0020]
[0021] In the formula, and JD represents the coordinates of the (k+1)th intersection point. (k+1) The x and y coordinates;
[0022] The length of the k-th tangent is T k for:
[0023]
[0024] Based on the starting mileage L q The coordinates of the starting point are QD, the coordinates of the first intersection point are JD1, and the length of the k-th tangent is T. k The length S of the first transition curve of curve k k1 And the length S of the second transition curve of curve k k2 Calculate the intersection mileage L respectively. jdk Straight and slow point mileage L zhk , slow round point mileage L hyk Circular gradient mileage L yhk mileage L at the straight point hzk ;
[0025] Intersection mileage L jdk for:
[0026] L jdk =L q +d(QD,JD k );
[0027] In the formula, d(QD,JD) k () represents the coordinates of the starting point QD and the k-th intersection point JD. k The distance between them;
[0028] Straight-to-rough point mileage L zhk for:
[0029] L zhk =L jdk -T k ;
[0030] mileage L at the gentle circle hyk for:
[0031] L hyk =L zhk +S k1 ;
[0032] Rounding point mileage L yhk for:
[0033] L yhk =L hyk +R k ·(|A k |-S k1 / 2 / R k );
[0034] mileage L at the transition point hzk for:
[0035] L hzk =L yhk +S k2 ;
[0036] Combining point coordinates, tangent lengths, curve turning angles, and mileage divisions for each curve segment, the coordinates of any point on the line curve are calculated according to the corresponding equations: If the mileage of the point to be determined is less than the mileage of the straight-to-curve point, the point on the curve is calculated using the straight line equation; if the mileage of the point to be determined is greater than the mileage of the straight-to-curve point but less than the mileage of the curve-to-round point, the transition curve is fitted using multiple curve equations to calculate the point on the curve; if the mileage of the point to be determined is greater than the mileage of the curve-to-round point but less than the mileage of the round-to-curve point, the point on the curve is calculated using the circular curve equation; if the mileage of the point to be determined is greater than the mileage of the round-to-curve point but less than the mileage of the curve-to-straight point, the transition curve is fitted using multiple curve equations to calculate the point on the curve; if the mileage of the point to be determined is greater than the mileage of the curve-to-straight point, the point on the curve is calculated using the straight line equation; if a chain break exists at a point, the mileage after the chain break point is used to replace the mileage before the chain break point for coordinate point output; this step is repeated until all transition-round-transition curves are calculated, and the curve mileage and coordinate data are output.
[0037] Furthermore, the process of calculating the coordinates of the horizontal curve of the data line using the line element method is as follows:
[0038] Import intersection data (xls and txt files) and identify the starting point mileage L. q Starting point coordinates QD, starting point azimuth A q The radius R of the curve where the starting point is located q The length S of the curve where the starting point is located q ; First straight point mileage L zh1 The coordinates of the first straight point are ZH1, and the azimuth of the first straight point is A. zh1 The radius R of the curve where the first straight point is locatedzh1 The length S of the curve where the first straight point is located zh1 ; First soft spot mileage L hy1 The coordinates of the first transition point are HY1, and the azimuth angle of the first transition point is A. hy1 The radius R of the curve containing the first transition point hy1 The curve length S of the curve containing the first transition point hy1 ; First circular transition point mileage L yh1 The coordinates of the first circular transition point are YH1, and the azimuth angle of the first circular transition point is A. yh1 The radius R of the curve where the first roundabout point is located yh1 The curve length S of the curve containing the first roundabout point yh1 ; First straight section mileage L hz1 The coordinates of the first transition point are HZ1, and the azimuth of the first transition point is A. hz1 The radius R of the curve where the first transition point is located hz1 The length S of the curve where the first transition point is located hz1 ;……;The kth gradual straightening point mileage L hzk The coordinates of the first gradual straightening point are HZ k The first gentle straight point azimuth angle A hzk The radius R of the curve where the first transition point is located hzk The length S of the curve where the first transition point is located hzk ...; End point distance Lz, end point coordinates ZD, end point azimuth A z The radius R of the curve where the endpoint is located z The length S of the curve where the endpoint is located z ;
[0039] Based on the azimuth angle A of the first straightening point hz1 and the starting point azimuth A q Calculate the rotation angle A1;
[0040] A1=A hz1 -A q ;
[0041] Based on the azimuth angle A of the kth gradual straightening point hzk and the starting point azimuth A k Calculate the rotation angle A hzk-1 ;
[0042] A k =A hzk -A hzk-1 ;
[0043] Combining point coordinates, tangent lengths, curve turning angles, and mileage divisions for each curve segment, the coordinates of any point on the line curve are calculated according to the corresponding equations: If the mileage of the point to be determined is less than the mileage of the straight-to-curve point, the point on the curve is calculated using the straight line equation; if the mileage of the point to be determined is greater than the mileage of the straight-to-curve point but less than the mileage of the curve-to-round point, the transition curve is fitted using multiple curve equations to calculate the point on the curve; if the mileage of the point to be determined is greater than the mileage of the curve-to-round point but less than the mileage of the round-to-curve point, the point on the curve is calculated using the circular curve equation; if the mileage of the point to be determined is greater than the mileage of the round-to-curve point but less than the mileage of the curve-to-straight point, the transition curve is fitted using multiple curve equations to calculate the point on the curve; if the mileage of the point to be determined is greater than the mileage of the curve-to-straight point, the point on the curve is calculated using the straight line equation; if a chain break exists at a point, the mileage after the chain break point is used to replace the mileage before the chain break point for coordinate point output; this step is repeated until all transition-round-transition curves are calculated, and the curve mileage and coordinate data are output.
[0044] Furthermore, the vertical curve data includes the intersection point data of the starting point, intersection point, and ending point on the straight line segment. The coordinate calculation process of the vertical curve is as follows:
[0045] Import vertical curve data (xls and txt files) and identify the starting point mileage L. q Starting elevation H q The radius R of the curve where the starting point is located q ; First intersection point mileage L1, first intersection point elevation H1, curve radius R1 of the curve containing the first intersection point; ...; kth intersection point mileage L k The elevation of the kth intersection point H k The radius R of the curve where the kth intersection point is located k ...; Destination mileage L z End point elevation H z The radius R of the curve where the endpoint is located z ;
[0046] Based on the starting mileage L q Starting point elevation H q Calculate the turning angle dA using the first intersection point mileage L1, the first intersection point elevation H1, the second intersection point mileage L2, and the second intersection point elevation H2. Also, calculate the straight-circle point mileage L based on the curve radius R1 of the curve containing the first intersection point. zy Mileage in the song L qz And the mileage of the circle and the straight point L yz ;
[0047] The angle dA is:
[0048] dA=i q -i1;
[0049] In the formula, i q Indicates the slope at the front of the slope:
[0050]
[0051] In the formula, Δx′ q =L1-L q ,Δy′ q =H1-H q ;
[0052] In the formula, i1 represents the slope after the slope:
[0053]
[0054] In the formula, Δx1=L2-L1, Δy1=H2-H1;
[0055] Straight circle mileage L zy for:
[0056] L zy =L1-R1*(|dA|) / 2;
[0057] Mileage in the song L qz for:
[0058] L qz =L zy +R1*(|dA|) / 2;
[0059] Circular point mileage L yz for:
[0060] L yz =L zy +R1*(|dA|);
[0061] Combining point coordinates, tangent lengths, curve turning angles, and mileage divisions for each curve segment, the coordinates of any point on the route curve are calculated according to the corresponding equations: If the mileage of the point to be determined is less than the mileage of the straight-circle point, the coordinates of the point on the curve are calculated using the straight line equation; if the mileage of the point to be determined is greater than the mileage of the straight-circle point and less than the mileage of the midpoint of the curve, the elevation of the point on the curve is calculated using the circular curve equation before the slope; if the mileage of the point to be determined is greater than the mileage of the midpoint of the curve and less than the mileage of the straight-circle point, the elevation of the point on the curve is calculated using the circular curve equation after the slope; if the mileage of the point to be determined is greater than the mileage of the straight-circle point, the coordinates of the point on the curve are calculated using the straight line equation; if a chain break exists at a certain point, the mileage after the chain break point is used to replace the mileage before the chain break point, and the coordinates are output; this step is repeated until all straight-circle-straight curves are calculated, and the curve mileage and elevation data are output.
[0062] Furthermore, the broken link list data includes coordinates before and after the link break, and the calculation process for the coordinates before and after the link break is as follows:
[0063] A chain break at a certain mileage is defined as: LDl = LDr, where LDl is the mileage to the left of the chain break, LDr is the mileage to the right of the chain break, LDl is less than LDr for a long chain, and LDl is greater than LDr for a short chain; the length of the chain break is LDl - LDr.
[0064] Let L be the original arbitrary position mileage calculated from the start point to the end point without considering chain breaks, and L' be the original arbitrary position mileage calculated from the start point to the end point considering chain breaks:
[0065] 1) When LDl is less than LDr, there is a discontinuity between LDl and LDr along the direction of increasing mileage in L'. The relationship between the mileage at L' and the mileage at L is as follows:
[0066] When L≤LDl, L'=L;
[0067] When L≥LDl, L'=L+(LDl-LDr);
[0068] 2) When LDL is greater than LDR, there is overlap between the mileage from LDR to LDL and the mileage before LDL; L' is along the direction of increasing mileage. The first mileage between LDR and LDL is the original curve mileage data, without any chain break; the second mileage between LDR and LDL is the curve mileage data after considering chain breakage; the relationship between the mileage at L' and the mileage at L is as follows:
[0069] When L' ≤ LDl along the direction of increasing mileage, L' = L;
[0070] When L' ≥ LDl along the direction of increasing mileage, L' = L + (LDl - LDr).
[0071] In the above-mentioned method for generating a 3D tunnel model, the process of generating point clouds of tunnel cross-sectional contours for excavation, initial support, and secondary lining under different surrounding rock grade markings is as follows:
[0072] The tunnel design cross-section data is parsed using DXF format;
[0073] Based on the analyzed cross-sectional element points, lines, circles, arcs, and polylines, spline interpolation is performed on the tunnel design cross-sectional data to output the coordinates of the tunnel outline points.
[0074] Based on the surrounding rock grade mapping table, the cross-sectional design drawings of all tunnels on the line to be modeled are analyzed and output according to the excavation, initial support, and secondary lining contour design data, and the point cloud model of all tunnel cross sections is output.
[0075] In the above method for generating a 3D tunnel model, the process of generating a 3D point cloud model of the tunnel line at the actual mileage is as follows:
[0076] Based on the line mileage matching, the tunnel cross-section point cloud model is unified with the left line of the line by the coordinates of the rail vertex, so that the cross-section point cloud plane is plumb to the tunnel line. The actual full-size 3D point cloud model of the tunnel is generated at uniform intervals, while realistically restoring the design cross-section of tunnels of different surrounding rock grades and the influence of line chain breakage factors.
[0077] According to a second aspect of the embodiments of this application, this application also provides a tunnel three-dimensional model generation system, which includes a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor implements the tunnel three-dimensional model generation method described above when processing the computer program.
[0078] According to a third aspect of the embodiments of this application, this application also provides a storage medium having an executable program stored thereon, which, when invoked, performs the steps in the tunnel three-dimensional model generation method described in any of the above claims.
[0079] As can be seen from the above specific embodiments of this application, it has at least the following beneficial effects: The tunnel three-dimensional model generation method provided by this application is based on the tunnel design parameter construction drawing, automatically identifies the tunnel line curve element points and tunnel cross-section parameters, matches the tunnel line broken chain table and the surrounding rock grade mapping table, and directly generates the actual design line full-link tunnel three-dimensional model; This application has good applicability, requires a small amount of tunnel design parameters, and can perform three-dimensional modeling for the actual situation of different tunnel construction sections, which has good application value for guiding tunnel construction.
[0080] It should be understood that the above general description and the following specific embodiments are merely exemplary and illustrative, and do not limit the scope of the claims made in this application. Attached Figure Description
[0081] The accompanying drawings, which are part of the specification of this application, illustrate embodiments of the present application and are used together with the description of the specification to illustrate the principles of the present application.
[0082] Figure 1 A flowchart illustrating a method for generating a three-dimensional tunnel model, as provided in an embodiment of this application.
[0083] Figure 2 This application provides a tunnel cross-section design drawing in a method for generating a three-dimensional tunnel model.
[0084] Figure 3 This is a schematic diagram of the analytical results of the horizontal curve of the tunnel using the intersection method in a tunnel three-dimensional model generation method provided in this application embodiment.
[0085] Figure 4This is a schematic diagram of the intersection points and line element points on the horizontal curve of the tunnel using the intersection method in an embodiment of this application for generating a three-dimensional tunnel model.
[0086] Figure 5 This is a schematic diagram of the analytical results of the vertical curve of the line under the complete link in a tunnel three-dimensional model generation method provided in an embodiment of this application.
[0087] Figure 6 This is a schematic diagram of the tunnel cross-section analysis results in a tunnel three-dimensional model generation method provided in an embodiment of this application.
[0088] Figure 7 One of the schematic diagrams of the actual full-line tunnel three-dimensional model in the tunnel three-dimensional model generation method provided in this application embodiment.
[0089] Figure 8 This application provides a method for generating a three-dimensional tunnel model, which is shown in the second schematic diagram of the actual three-dimensional model of the entire tunnel. Detailed Implementation
[0090] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the spirit of the content disclosed in this application will be clearly explained below with reference to the accompanying drawings and detailed description. After understanding the embodiments of this application, any person skilled in the art can make changes and modifications based on the technology taught in this application without departing from the spirit and scope of this application.
[0091] The illustrative embodiments and descriptions provided in this application are for explaining the application, but are not intended to limit the application. Furthermore, elements / components using the same or similar reference numerals in the drawings and embodiments are used to represent the same or similar parts.
[0092] The terms “first,” “second,” etc., used in this document are not intended to specifically refer to order or sequence, nor are they used to limit this application; they are merely used to distinguish elements or operations described using the same technical terms.
[0093] The terms “include,” “including,” “have,” “contain,” etc., used in this article are all open-ended terms, meaning that they include but are not limited to.
[0094] The term "and / or" as used herein includes any or all of the things mentioned.
[0095] The term "multiple" in this article includes "two" and "more than two"; the term "multiple groups" in this article includes "two groups" and "more than two groups".
[0096] Certain terms used to describe this application will be discussed below or elsewhere in this specification to provide additional guidance to those skilled in the art in describing the application.
[0097] like Figure 1 As shown, the method for generating a 3D tunnel model provided in this application includes the following steps:
[0098] S1. Obtain tunnel construction drawings, including, for example Figure 2 As shown, the tunnel construction drawings include tunnel alignment curve data and tunnel cross-section design data.
[0099] Specifically, the tunnel alignment curve data includes horizontal curves, vertical curves, and broken link table data. The tunnel cross-section design data includes DXF drawings of the tunnel excavation, initial support, and secondary lining design cross-sections, as well as a surrounding rock grade mapping table, to select the appropriate tunnel design cross-section based on the surrounding rock grade.
[0100] S2. Based on the tunnel route curve data, analyze the horizontal curves, vertical curves, and broken link list data of the complete link, and fuse them to generate a full-mileage actual route curve point cloud including broken link conditions, which includes:
[0101] 1) Analyze the horizontal curve of the complete link:
[0102] Among them, the starting and ending points of a complete horizontal curve section are straight lines, transition curves, circular curves, transition curves, and straight lines, such as... Figure 3 and Figure 4 As shown, the horizontal curve data includes intersection point data such as the starting point coordinates QD, intersection point coordinates JD1, and ending point coordinates ZD on the straight line segment, or line element data such as the transition point coordinates ZH (straight line to transition curve), HY (transition curve to circular curve), YH (circular curve to transition curve), and HZ (transition curve to straight line).
[0103] The process of calculating the coordinates of the horizontal curve of the data line using the intersection method is as follows:
[0104] S211. Import intersection point data (xls and txt files) and identify the starting point mileage L. q The starting point coordinates are QD, and the curve radius R of the curve containing the starting point is R. q The length S of the first transition curve of the curve where the starting point is located q1 The length S of the second transition curve where the starting point is located q2 The coordinates of the first intersection point are JD1, the radius of curve 1 is R1, and the length of the first transition curve of curve 1 is S. 11 The second transition curve of curve one is S long 12 The coordinates of the second intersection point are JD2, the radius of curve two is R2, and the length of the first transition curve of curve two is S. 21 The second easing curve of curve two is S long.22 ;……; Coordinates of the kth intersection point JD k The radius R of curve k k The length S of the first transition curve of curve k k1 The length of the second transition curve S of curve k k2 ...; Destination mileage L z The endpoint coordinates are ZD, and the curve radius R of the curve containing the endpoint is R. z The length S of the first transition curve of the curve where the endpoint is located z1 The length S of the second transition curve where the endpoint is located z2 .
[0105] S212, Based on the starting point coordinates QD and the kth intersection point coordinates JD k The coordinates of the (k+1)th intersection point JD (k+1) Calculate the k-th turning angle A k And according to the k-th turning angle A k The radius R of curve k k Calculate the length T of the k-th tangent. k ;
[0106] Turning angle A at the kth angle k for:
[0107]
[0108] In equation (1), A q Indicates the starting azimuth angle:
[0109]
[0110] In equation (2), and Let x and y represent the x and y coordinates of the first intersection point JD1, respectively. QD and y QD These represent the x-coordinate and y-coordinate of the starting point QD, respectively.
[0111] In equation (1), Indicates the k-th termination azimuth angle:
[0112]
[0113] In equation (3), and JD represents the coordinates of the (k+1)th intersection point. (k+1) The x and y coordinates.
[0114] The length of the k-th tangent is T k for:
[0115]
[0116] S213, Based on the starting mileage L q The coordinates of the starting point are QD, the coordinates of the first intersection point are JD1, and the length of the k-th tangent is T. k The length S of the first transition curve of curve k k1 And the length S of the second transition curve of curve k k2 Calculate the intersection mileage L respectively. jdk Straight and slow point mileage L zhk , slow round point mileage L hyk Circular gradient mileage L yhk mileage L at the straight point hzk ;
[0117] Intersection mileage L jdk for:
[0118] L jdk =L q +d(QD,JD k (5)
[0119] In equation (5), d(QD,JD) k () represents the coordinates of the starting point QD and the k-th intersection point JD. k The distance between them.
[0120] Straight-to-rough point mileage L zhk for:
[0121] L zhk =L jdk -T k (6)
[0122] mileage L at the gentle circle hyk for:
[0123] L hyk =L zhk +S k1 (7)
[0124] Rounding point mileage L yhk for:
[0125] L yhk =L hyk +R k ·(|A k |-S k1 / 2 / R k (8)
[0126] mileage L at the transition point hzk for:
[0127] L hzk =L yhk +S k2(9)
[0128] The broken link list data includes coordinates before and after the link break. The calculation process for these coordinates is as follows:
[0129] The chain breaks at a certain mileage point: L Dl =L Dr L Dl L represents the mileage to the left of the broken chain. Dr L represents the mileage on the right side of the broken chain. Dl Less than L Dr For long chains, L Dl Greater than L Dr It is a short chain; the length of the broken chain is L. Dl -L Dr Let L be the original arbitrary mileage calculated from the start point to the end point without considering chain breaks, and L' be the original arbitrary mileage calculated from the start point to the end point considering chain breaks:
[0130] 1) When L Dl Less than L Dr At that time, L' moves along the direction of increasing mileage. Dl To L Dr There are discontinuities between mileages. The relationship between the mileage at L' and the mileage at L is as follows:
[0131] When L≤L Dl L' = L;
[0132] When L≥L Dl L' = L + (L Dl -L Dr );
[0133] 2) When L Dl Greater than L Dr At that time, L Dr To L Dl Mileage and L Dl There were duplicate mileage entries previously. L' follows the mileage progression from smallest to largest, the first L... Dr To L Dl The mileage intervals are based on the original curve mileage data, and there are no broken links; the second L... Dr To L Dl The mileage data between mileage points is considered after a chain break, as the curve is used for mileage intervals. The relationship between the mileage at L' and the mileage at L is as follows:
[0134] When L is along the direction of increasing mileage, L'≤L Dl L' = L;
[0135] When L is along the direction of increasing mileage, L'≥L Dl L' = L + (L Dl -L Dr ).
[0136] S214. Combining point coordinates, tangent lengths, curve turning angles, and mileage divisions for each curve segment, calculate the coordinates of any point on the line curve according to the corresponding equations:
[0137] If the mileage of the point to be determined is less than the mileage of the straight-to-curve point, then the point to be determined on the curve is calculated using the equation of the straight line;
[0138] If the mileage of the point to be determined is greater than the mileage of the straight-to-turn point but less than the mileage of the turn-around point, then the transition curve is fitted by multiple curve equations, and the point to be determined on the curve is calculated.
[0139] If the mileage of the point to be determined is greater than the mileage of the transition point but less than the mileage of the transition point, then the point to be determined on the curve is calculated using the equation of the circular curve.
[0140] If the mileage of the point to be determined is greater than the mileage of the transition point but less than the mileage of the transition point, then the transition curve is fitted by multiple curve equations, and the point to be determined on the curve is calculated.
[0141] If the mileage of the point to be determined is greater than the mileage of the transition point, then the point to be determined on the curve is calculated using the equation of the straight line.
[0142] If a link break occurs at a certain point, the mileage after the link break point is used to replace the mileage before the link break point when outputting the coordinate point.
[0143] S215. Repeat step S214 until all transition-circle-transition curves are calculated, and output the curve mileage and coordinate data.
[0144] There are many algorithms for formulating equations for straight lines, polynomial curves, and circular curves, which will not be described here.
[0145] The process of calculating the coordinates of horizontal curves in line element method data is as follows:
[0146] S221: Import intersection data (xls and txt files) and identify the starting point mileage L. q Starting point coordinates QD, starting point azimuth A q The radius R of the curve where the starting point is located q The length S of the curve where the starting point is located q ; First straight point mileage L zh1 The coordinates of the first straight point are ZH1, and the azimuth of the first straight point is A. zh1 The radius R of the curve where the first straight point is located zh1 The length S of the curve where the first straight point is located zh1 ; First soft spot mileage L hy1 The coordinates of the first transition point are HY1, and the azimuth angle of the first transition point is A. hy1 The radius R of the curve containing the first transition point hy1 The curve length S of the curve containing the first transition point hy1; First circular transition point mileage L yh1 The coordinates of the first circular transition point are YH1, and the azimuth angle of the first circular transition point is A. yh1 The radius R of the curve where the first roundabout point is located yh1 The curve length S of the curve containing the first roundabout point yh1 ; First straight section mileage L hz1 The coordinates of the first transition point are HZ1, and the azimuth of the first transition point is A. hz1 The radius R of the curve where the first transition point is located hz1 The length S of the curve where the first transition point is located hz1 ;……;The kth gradual straightening point mileage L hzk The coordinates of the first gradual straightening point are HZ k The first gentle straight point azimuth angle A hzk The radius R of the curve where the first transition point is located hzk The length S of the curve where the first transition point is located hzk ...; End point distance Lz, end point coordinates ZD, end point azimuth A z The radius R of the curve where the endpoint is located z The length S of the curve where the endpoint is located z .
[0147] S222, Based on the azimuth angle A of the first transition point hz1 and the starting point azimuth A q Calculate the rotation angle A1;
[0148] A1=A hz1 -A q (10)
[0149] Based on the azimuth angle A of the kth gradual straightening point hzk and the starting point azimuth A k Calculate the rotation angle A hzk-1 ;
[0150] A k =A hzk -A hzk-1 (11)
[0151] S223. Combining point coordinates, tangent lengths, curve turning angles, and mileage divisions for each curve segment, calculate the coordinates of any point on the line curve according to the corresponding equations:
[0152] If the mileage of the point to be determined is less than the mileage of the straight-to-curve point, then the point to be determined on the curve is calculated using the equation of the straight line;
[0153] If the mileage of the point to be determined is greater than the mileage of the straight-to-turn point but less than the mileage of the turn-around point, then the transition curve is fitted by multiple curve equations, and the point to be determined on the curve is calculated.
[0154] If the mileage of the point to be determined is greater than the mileage of the transition point but less than the mileage of the transition point, then the point to be determined on the curve is calculated using the equation of the circular curve.
[0155] If the mileage of the point to be determined is greater than the mileage of the transition point but less than the mileage of the transition point, then the transition curve is fitted by multiple curve equations, and the point to be determined on the curve is calculated.
[0156] If the mileage of the point to be determined is greater than the mileage of the transition point, then the point to be determined on the curve is calculated using the equation of the straight line.
[0157] If a link break occurs at a certain point, the mileage after the link break point is used to replace the mileage before the link break point when outputting the coordinate point.
[0158] S224. Repeat step S223 until all transition-circle-transition curves are calculated, and output the curve mileage and coordinate data.
[0159] There are many algorithms for formulating equations for straight lines, polynomial curves, and circular curves, which will not be described here.
[0160] 2) Analyze the vertical curves of the complete link.
[0161] like Figure 5 As shown, a complete vertical curve segment consists of straight lines, circular curves, and straight lines. The vertical curve data includes the intersection point data of the starting point coordinates QD, the intersection point coordinates JD, and the ending point coordinates ZD on the straight line segment.
[0162] Vertical curve coordinate calculation:
[0163] S231. Import vertical curve data (xls and txt files) and identify the starting point mileage L. q Starting elevation H q The radius R of the curve where the starting point is located q ; First intersection point mileage L1, first intersection point elevation H1, curve radius R1 of the curve containing the first intersection point; ...; kth intersection point mileage L k The elevation of the kth intersection point H k The radius R of the curve where the kth intersection point is located k ...; Destination mileage L z End point elevation H z The radius R of the curve where the endpoint is located z .
[0164] S232, Based on the starting mileage L q Starting point elevation H q Calculate the turning angle dA using the first intersection point mileage L1, the first intersection point elevation H1, the second intersection point mileage L2, and the second intersection point elevation H2. Also, calculate the straight-circle point mileage L based on the curve radius R1 of the curve containing the first intersection point. zy Mileage in the song L qzAnd the mileage of the circle and the straight point L yz ;
[0165] The angle dA is:
[0166] dA=i q -i1 (12)
[0167] In equation (12), i q Indicates the slope at the front of the slope:
[0168]
[0169] In equation (13), Δx′ q =L1-L q ,Δy′ q =H1-H q .
[0170] In equation (12), i1 represents the slope behind the slope:
[0171]
[0172] In equation (14), Δx1 = L2 - L1, Δy1 = H2 - H1.
[0173] Straight circle mileage L zy for:
[0174] L zy =L1-R1*(|dA|) / 2 (15)
[0175] Mileage in the song L qz for:
[0176] L qz =L zy +R1*(|dA|) / 2 (16)
[0177] The mileage of the circular straight point Lyz is:
[0178] L yz =L zy +R1*(|dA|) (17)
[0179] S233. Combining point coordinates, tangent curve turning angles, and mileage divisions for each curve segment, calculate the coordinates of any point on the line curve according to the corresponding equations:
[0180] If the mileage of the point to be determined is less than the mileage of the straight circle point, then the coordinates of the point to be determined on the curve are calculated using the equation of the straight line.
[0181] If the mileage of the point to be determined is greater than the mileage of the straight circle point and less than the mileage of the midpoint of the curve, then the elevation of the point to be determined on the curve is calculated using the equation of the circular curve before the slope.
[0182] If the mileage of the point to be determined is greater than the mileage of the midpoint of the curve but less than the mileage of the straight point of the circle, then the elevation of the point to be determined on the curve is calculated by using the equation of the circular curve after the slope.
[0183] If the mileage of the point to be determined is greater than the mileage of the point on the curve, then the coordinates of the point to be determined on the curve are calculated using the equation of the straight line.
[0184] If a link break occurs at a certain point, the mileage after the link break point is used to replace the mileage before the link break point when outputting the coordinate point.
[0185] S234. Repeat step S233 until all straight-circle-straight curves are calculated, and output the curve mileage and elevation data.
[0186] There are many algorithms for formulating equations for straight lines, polynomial curves, and circular curves, which will not be described here.
[0187] 3) Generate complete line curves
[0188] By unifying and integrating horizontal curve mileage and coordinate data with vertical curve mileage and elevation data, and using mileage as the keyword, complete actual route mileage, coordinate, and elevation data are output for further processing.
[0189] S3. Based on the tunnel cross-section design data, analyze the cross-section outline data and the surrounding rock grade mapping table, and generate tunnel cross-section outline point clouds under different surrounding rock grade markings for tunnel excavation, primary support, and secondary lining.
[0190] S31. Analyze the tunnel design cross-section data;
[0191] The tunnel design cross-section data is parsed using DXF format. The tunnel cross-section elements include:
[0192] Point, pointData.x and pointData.y;
[0193] The line has the following coordinate data: lineData.x1 and lineData.y1, and the end coordinate data: lineData.x2 and lineData.y2.
[0194] A circle, with center data circleData.cx and circleData.cy, and radius data circleData.radius;
[0195] Arc, the required center data arcData.cx and arcData.cy, radius data arcData.radius, starting angle data arcData.angle1, ending angle data arcData.angle2;
[0196] polyline coordinate data;
[0197] Vertex data, vertex coordinate data vertexData.x and vertexData.y, convexity data vertexData.bulge.
[0198] like Figure 6 As shown, a schematic diagram of the tunnel cross-section analysis results is obtained.
[0199] S32. Based on the analytical cross-sectional element points, lines, circles, arcs, and polylines, perform spline interpolation on the tunnel design cross-sectional data and output the coordinates of the tunnel outline points.
[0200] There are many spline interpolation algorithms, which will not be described here.
[0201] S33, Output tunnel cross-section model;
[0202] Based on the surrounding rock grade mapping table, the cross-sectional design drawings of all tunnels on the line to be modeled are analyzed and output in steps S31 and S32 respectively according to the excavation, initial support and secondary lining contour design data, to complete the point cloud model output of all tunnel cross-sections.
[0203] S4. Based on the tunnel mileage and coordinate information, and combined with the surrounding rock grade mapping table, the tunnel cross-section contour point cloud and the actual mileage curve point cloud are fused to generate a three-dimensional point cloud model of the tunnel line under the actual mileage.
[0204] Based on the line mileage matching, the tunnel cross-section point cloud model is unified with the left line of the line by the coordinates of the rail vertex, so that the cross-section point cloud plane is plumb to the tunnel line. The actual full-size tunnel three-dimensional point cloud model is generated at uniform intervals, while realistically restoring the influence of factors such as the design cross-section of tunnels of different surrounding rock grades and the line chain break.
[0205] Based on the full-size 3D point cloud model of the actual tunnel automatically generated from the tunnel construction drawings, a 3D tunnel model can be further generated through model reconstruction and material and color rendering.
[0206] like Figure 7 and Figure 8 As shown, the actual three-dimensional model of the entire tunnel is obtained.
[0207] The tunnel 3D model generation method provided in this application is based on the tunnel design parameter construction drawings. It automatically identifies the tunnel line curve element points and tunnel cross-section parameters, matches the tunnel line break list and surrounding rock grade mapping table, and directly generates a full-link tunnel 3D model of the actual design line. This application has good applicability, requires a small amount of tunnel design parameters, and can perform 3D modeling for the actual conditions of different tunnel construction sections, which has good application value for guiding tunnel construction.
[0208] In an exemplary embodiment, based on the tunnel three-dimensional model generation method provided in the embodiments of this application, the embodiments of this application also provide a tunnel three-dimensional model generation system, which includes a memory and a processor coupled to the memory. The processor is configured to execute the tunnel three-dimensional model generation method in any embodiment of this application based on instructions stored in the memory.
[0209] The memory can be system memory or fixed non-volatile storage media, etc. The system memory can store operating system, application programs, bootloader, database and other programs.
[0210] It should be noted that the tunnel 3D model generation system and the tunnel 3D model generation method provided in the above embodiments belong to the same concept. For details of their specific implementation process, please refer to the method embodiments, which will not be repeated here.
[0211] In an exemplary embodiment, this application also provides a computer storage medium, which is a computer-readable storage medium, such as a memory including a computer program, which can be executed by a processor to complete the tunnel three-dimensional model generation method in any embodiment of this application.
[0212] The embodiments of this application described above can be implemented in various hardware, software codes, or combinations thereof. For example, embodiments of this application may also represent program code executing the above methods in a data signal processor. This application may also relate to various functions performed by a computer processor, digital signal processor, microprocessor, or field-programmable gate array. The processor described above can be configured to perform specific tasks according to this application, which are accomplished by executing machine-readable software code or firmware code defining the specific methods disclosed in this application. The software code or firmware code can be developed to represent different programming languages and different formats or forms. It can also represent software code compiled for different target platforms. However, the different code styles, types, and languages of the software code performing tasks according to this application and other types of configuration code do not depart from the spirit and scope of this application.
[0213] The above description is merely an illustrative embodiment of this application. Any equivalent changes and modifications made by those skilled in the art without departing from the concept and principles of this application shall fall within the scope of protection of this application.
Claims
1. A method for generating a three-dimensional model of a tunnel, characterized in that, Includes the following steps: Obtain tunnel construction drawings, which include tunnel alignment curve data and tunnel cross-section design data; Based on the tunnel line curve data, the horizontal curves, vertical curves, and broken link list data of the line under the complete link are analyzed and fused to generate the actual line curve point cloud of the whole mileage including the broken link situation. Based on the tunnel cross-section design data, the cross-section outline data and the surrounding rock grade mapping table are analyzed, and the tunnel excavation, primary support, and secondary lining cross-section outline point clouds under different surrounding rock grade markings are generated. Based on the tunnel route mileage and coordinate information, and combined with the surrounding rock grade mapping table, the tunnel cross-section contour point cloud and the actual route curve point cloud of the entire mileage are fused to generate a three-dimensional point cloud model of the tunnel route under the actual mileage.
2. The method for generating a three-dimensional tunnel model according to claim 1, characterized in that, The tunnel alignment curve data includes horizontal curves, vertical curves, and broken chain list data; the tunnel cross-section design drawing data includes DXF drawings of tunnel excavation, initial support, and secondary lining design cross-sections, as well as a surrounding rock grade mapping table.
3. The method for generating a three-dimensional tunnel model according to claim 2, characterized in that, The data for the horizontal curve includes data from the intersection of the starting point, intersection point, and ending point on the straight line segment, or data from the line element method for transition points between straight lines and transition curves, transition curves and circular curves, circular curves and transition curves, and transition curves and straight lines.
4. The method for generating a three-dimensional tunnel model according to claim 3, characterized in that, The process for calculating the coordinates of the horizontal curve of the data line using the intersection method is as follows: Import intersection data (xls and txt files) and identify the starting point mileage L. q The starting point coordinates are QD, and the curve radius R of the curve containing the starting point is R. q The length S of the first transition curve of the curve where the starting point is located q1 The length S of the second transition curve where the starting point is located q2 The coordinates of the first intersection point are JD1, the radius of curve 1 is R1, and the length of the first transition curve of curve 1 is S. 11 The second transition curve of curve one is S long 12 The coordinates of the second intersection point are JD2, the radius of curve two is R2, and the length of the first transition curve of curve two is S. 21 The second easing curve of curve two is S long. 22 ;……; Coordinates of the kth intersection point JD k The radius R of curve k k The length S of the first transition curve of curve k k1 The length of the second transition curve S of curve k k2 ...; Destination mileage L z The endpoint coordinates are ZD, and the curve radius R of the curve containing the endpoint is R. z The length S of the first transition curve of the curve where the endpoint is located z1 The length S of the second transition curve where the endpoint is located z2 ; Based on the starting point coordinates QD and the kth intersection point coordinates JD k The coordinates of the (k+1)th intersection point JD (k+1) Calculate the k-th turning angle A k And according to the k-th turning angle A k The radius R of curve k k Calculate the length T of the k-th tangent. k ; Turning angle A at the kth angle k for: In the formula, A q Indicates the starting azimuth angle: In the formula, and Let x and y represent the x and y coordinates of the first intersection point JD1, respectively. QD and y QD These represent the x-coordinate and y-coordinate of the starting point QD, respectively; In the formula, Indicates the k-th termination azimuth angle: In the formula, and JD represents the coordinates of the (k+1)th intersection point. (k+1) The x and y coordinates; The length of the k-th tangent is T k for: Based on the starting mileage L q The coordinates of the starting point are QD, the coordinates of the first intersection point are JD1, and the length of the k-th tangent is T. k The length S of the first transition curve of curve k k1 And the length S of the second transition curve of curve k k2 Calculate the intersection mileage L respectively. jdk Straight and slow point mileage L zhk , slow round point mileage L hyk Circular gradient mileage L yhk mileage L at the straight point hzk ; Intersection mileage L jdk for: L jdk =L q +d(QD,JD k ); In the formula, d(QD,JD) k () represents the coordinates of the starting point QD and the k-th intersection point JD. k The distance between them; Straight-to-rough point mileage L zhk for: L zhk =L jdk -T k ; mileage L at the gentle circle hyk for: L hyk =L zhk +S k1 ; Rounding point mileage L yhk for: L yhk =L hyk +R k ·(|A k |-S k1 / 2 / R k ); mileage L at the transition point hzk for: L hzk =L yhk +S k2 ; Combining point coordinates, tangent length, curve turning angle, and mileage division of each curve segment, the coordinates of any point on the line curve are calculated according to the corresponding equations: if the mileage of the point to be determined is less than the mileage of the straight-turn point, then the point to be determined on the curve is calculated using the straight-line equation. If the mileage of the point to be determined is greater than the mileage of the straight-to-turn point but less than the mileage of the turn-to-round point, then the transition curve is fitted using multiple curve equations to calculate the point on the curve; if the mileage of the point to be determined is greater than the mileage of the turn-to-round point but less than the mileage of the round-to-turn point, then the point on the curve is calculated using the circular curve equation; if the mileage of the point to be determined is greater than the mileage of the round-to-turn point but less than the mileage of the turn-to-straight point, then the transition curve is fitted using multiple curve equations to calculate the point on the curve; if the mileage of the point to be determined is greater than the mileage of the turn-to-straight point, then the point on the curve is calculated using the straight line equation; if a chain break exists at a point, then the mileage after the chain break point is used to replace the mileage before the chain break point, and the coordinate point is output; repeat this step until all transition-round-transition curves are calculated, and output the curve mileage and coordinate data.
5. The method for generating a three-dimensional tunnel model according to claim 3, characterized in that, The process of calculating the coordinates of the horizontal curve of the data line using the line element method is as follows: Import intersection data (xls and txt files) and identify the starting point mileage L. q Starting point coordinates QD, starting point azimuth A q The radius R of the curve where the starting point is located q The length S of the curve where the starting point is located q ; First straight point mileage L zh1 The coordinates of the first straight point are ZH1, and the azimuth of the first straight point is A. zh1 The radius R of the curve where the first straight point is located zh1 The length S of the curve where the first straight point is located zh1 ; First soft spot mileage L hy1 The coordinates of the first transition point are HY1, and the azimuth angle of the first transition point is A. hy1 The radius R of the curve containing the first transition point hy1 The curve length S of the curve containing the first transition point hy1 ; First circular transition point mileage L yh1 The coordinates of the first circular transition point are YH1, and the azimuth angle of the first circular transition point is A. yh1 The radius R of the curve where the first roundabout point is located yh1 The curve length S of the curve containing the first roundabout point yh1 ; First straight section mileage L hz1 The coordinates of the first transition point are HZ1, and the azimuth of the first transition point is A. hz1 The radius R of the curve where the first transition point is located hz1 The length S of the curve where the first transition point is located hz1 ;……;The kth gradual straightening point mileage L hzk The coordinates of the first gradual straightening point are HZ k The first gentle straight point azimuth angle A hzk The radius R of the curve where the first transition point is located hzk The length S of the curve where the first transition point is located hzk ...; End point distance Lz, end point coordinates ZD, end point azimuth A z The radius R of the curve where the endpoint is located z The length S of the curve where the endpoint is located z ; Based on the azimuth angle A of the first straightening point hz1 and the starting point azimuth A q Calculate the rotation angle A1; A1=A hz1 -A q ; Based on the azimuth angle A of the kth gradual straightening point hzk and the starting point azimuth A k Calculate the rotation angle A hzk-1 ; A k =A hzk -A hzk-1 ; Combining point coordinates, tangent length, curve turning angle, and mileage division of each curve segment, the coordinates of any point on the line curve are calculated according to the corresponding equations: if the mileage of the point to be determined is less than the mileage of the straight-turn point, then the point to be determined on the curve is calculated using the straight-line equation. If the mileage of the point to be determined is greater than the mileage of the straight-to-turn point but less than the mileage of the turn-to-round point, then the transition curve is fitted using multiple curve equations to calculate the point on the curve; if the mileage of the point to be determined is greater than the mileage of the turn-to-round point but less than the mileage of the round-to-turn point, then the point on the curve is calculated using the circular curve equation; if the mileage of the point to be determined is greater than the mileage of the round-to-turn point but less than the mileage of the turn-to-straight point, then the transition curve is fitted using multiple curve equations to calculate the point on the curve; if the mileage of the point to be determined is greater than the mileage of the turn-to-straight point, then the point on the curve is calculated using the straight line equation; if a chain break exists at a point, then the mileage after the chain break point is used to replace the mileage before the chain break point, and the coordinate point is output; repeat this step until all transition-round-transition curves are calculated, and output the curve mileage and coordinate data.
6. The method for generating a three-dimensional tunnel model according to claim 2, characterized in that, The vertical curve data includes the intersection point data of the starting point, intersection point, and ending point on the straight line segment. The coordinate calculation process of the vertical curve is as follows: Import vertical curve data (xls and txt files) and identify the starting point mileage L. q Starting elevation H q The radius R of the curve where the starting point is located q ; First intersection point mileage L1, first intersection point elevation H1, curve radius R1 of the curve containing the first intersection point; ...; kth intersection point mileage L k The elevation of the kth intersection point H k The radius R of the curve where the kth intersection point is located k ...; Destination mileage L z End point elevation H z The radius R of the curve where the endpoint is located z ; Based on the starting mileage L q Starting point elevation H q Calculate the turning angle dA using the first intersection point mileage L1, the first intersection point elevation H1, the second intersection point mileage L2, and the second intersection point elevation H2. Also, calculate the straight-circle point mileage L based on the curve radius R1 of the curve containing the first intersection point. zy Mileage in the song L qz And the mileage of the circle and the straight point L yz ; The angle dA is: dA=i q -i1; In the formula, i q Indicates the slope at the front of the slope: In the formula, Δx′ q =L1-L q ,Δy′ q =H1-H q ; In the formula, i1 represents the slope after the slope: In the formula, Δx1=L2-L1, Δy1=H2-H1; Straight circle mileage L zy for: THE zy =L1-R1*(|dA|) / 2; Mileage in the song L qz for: THE qz =L zy +R1*(|dA|) / 2; Circular point mileage L yz for: THE yz =L zy +R1*(|dA|); Combining point coordinates, tangent curve turning angles, and mileage divisions for each curve segment, the coordinates of any point on the route curve are calculated according to the corresponding equations: If the mileage of the point to be determined is less than the mileage of the straight-circle point, the coordinates of the point on the curve are calculated using the straight line equation; if the mileage of the point to be determined is greater than the mileage of the straight-circle point and less than the mileage of the midpoint of the curve, the elevation of the point on the curve is calculated using the circular curve equation before the slope; if the mileage of the point to be determined is greater than the mileage of the midpoint of the curve and less than the mileage of the straight-circle point, the elevation of the point on the curve is calculated using the circular curve equation after the slope; if the mileage of the point to be determined is greater than the mileage of the straight-circle point, the coordinates of the point on the curve are calculated using the straight line equation; if a chain break exists at a certain point, the mileage after the chain break point is used to replace the mileage before the chain break point, and the coordinates are output; this step is repeated until all straight-circle-straight curves are calculated, and the curve mileage and elevation data are output.
7. The method for generating a three-dimensional tunnel model according to claim 4, characterized in that, The broken link list data includes coordinates before and after the link break. The calculation process for the coordinates before and after the link break is as follows: The chain breaks at a certain mileage point: L Dl =L Dr L Dl L represents the mileage to the left of the broken chain. Dr L represents the mileage on the right side of the broken chain. Dl Less than L Dr For long chains, L Dl Greater than L Dr It is a short chain; the length of the broken chain is L. Dl -L Dr ; Let L be the original arbitrary mileage calculated from the start point to the end point without considering chain breaks, and L' be the original arbitrary mileage calculated from the start point to the end point considering chain breaks: 1) When L Dl Less than L Dr At that time, L' moves along the direction of increasing mileage. Dl To L Dr There are discontinuities between mileages. The relationship between the mileage at L' and the mileage at L is as follows: When L≤L Dl L' = L; When L≥L Dl L' = L + (L Dl -L Dr ); 2) When L Dl Greater than L Dr At that time, L Dr To L Dl Mileage and L Dl There were duplicate mileage entries previously; L' follows the mileage progression from smallest to largest, the first L Dr To L Dl The mileage intervals are based on the original curve mileage data, and there are no broken links; the second L... Dr To L Dl The mileage data between mileage points is considered after a chain break, as the curve is used for mileage intervals; the relationship between the mileage at L' and the mileage at L is as follows: When L is along the direction of increasing mileage, L'≤L Dl L' = L; When L is along the direction of increasing mileage, L'≥L Dl L' = L + (L Dl -L Dr ).
8. The method for generating a three-dimensional tunnel model according to claim 1, characterized in that, The process of generating point clouds of tunnel cross-sectional contours for excavation, initial support, and secondary lining under different surrounding rock grade markers is as follows: The tunnel design cross-section data is parsed using DXF format; Based on the analyzed cross-sectional element points, lines, circles, arcs, and polylines, spline interpolation is performed on the tunnel design cross-sectional data to output the coordinates of the tunnel outline points. Based on the surrounding rock grade mapping table, the cross-sectional design drawings of all tunnels on the line to be modeled are analyzed and output according to the excavation, initial support, and secondary lining contour design data, and the point cloud model of all tunnel cross sections is output.
9. The method for generating a three-dimensional tunnel model according to claim 1, characterized in that, The process of generating a three-dimensional point cloud model of the tunnel route based on the actual mileage is as follows: Based on the line mileage matching, the tunnel cross-section point cloud model is unified with the left line of the line by the coordinates of the rail vertex, so that the cross-section point cloud plane is plumb to the tunnel line. The actual full-size 3D point cloud model of the tunnel is generated at uniform intervals, while realistically restoring the design cross-section of tunnels of different surrounding rock grades and the influence of line chain breakage factors.
10. A tunnel 3D model generation system, characterized in that, The method includes a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor processes the computer program to implement the tunnel three-dimensional model generation method as described in any one of claims 1 to 9.