Parameterized plane route modeling method based on Dynamo

Through the parameterized planar route modeling method based on Dynamo, the problem of inefficient and insufficient accuracy when importing three-dimensional modeling of planar routes in building information modeling is solved, and an efficient, accurate and easy-to-reuse modeling process is realized.

CN119622861AActive Publication Date: 2025-03-14GEZHOUBA GROUP FOUND ENG +2
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411485408.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-23
Publication Date
2025-03-14
Estimated Expiration
2044-10-23

AI Technical Summary

Technical Problem

In the process of building information modeling, the efficiency of plane routes is inefficient when imported into three-dimensional modeling, and it is difficult to reuse, and the existing software lacks the accuracy of the gentle curves in plane routes.

Method used

The parametric plane route modeling method based on Dynamo is adopted, and the board is collected and the plane route-related parameters are established, the Excel table is established, the Dynamo node is used to read and process data, and the gentle curve, arc segment and straight line segment are drawn to form an overall plane route model.

Benefits of technology

This improves modeling efficiency, achieves good reuse of results and high-precision modeling, and even non-professional modeling personnel can complete modeling quickly, avoiding the increase in labor costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119622861A_ABST
    Figure CN119622861A_ABST
Patent Text Reader

Abstract

The invention discloses a Dynamo-based parameterized plane route modeling method, which comprises the following steps of: collecting necessary parameters according to a related design file of a plane route: establishing an Excel table for the collected parameters, and reading the table by using a node of Dynamo; the read parameters are subjected to certain processing, so that subsequent operation is facilitated; traversing each parameter matrix; drawing a first easement curve according to the parameters; drawing a drawing arc section according to the first easement curve and the parameters; drawing a second easement curve according to the first easement curve and the arc section; drawing a straight line segment; after all intersection point parameters are traversed, the starting point and the ending point of the plane route are further processed independently; and outputting the drawn plane route. The problems that in the building informatization modeling process, when a plane route is imported into three-dimensional modeling, efficiency is low, and reuse is difficult are solved, and the method has the advantages that rapid modeling can be achieved, increase of labor cost is avoided, and working efficiency is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of building information modeling, and in particular relates to a parameterized plane route modeling method based on Dynamo. Background Art

[0002] With the in-depth application of building information modeling (BIM) technology in the field of construction, parametric modeling has gradually become a new research direction. In the plane route modeling of tunnels, bridges or roads, CAD or Civil3D and other software are often used, but this requires manual drawing of all the curves of the plane route. At the same time, when the plane route is imported into a more professional 3D modeling software (such as Revit) for redrawing, there will be problems of low efficiency and difficulty in reusing the results. The use of parametric modeling can solve the above problems very well. Modelers only need to collect the relevant parameters of the plane route to generate the route model at one time. It is not only extremely efficient, but also simple to operate. Even non-professional modelers can do it easily. At the same time, this method can be used to reuse the results very well. When facing different plane routes, you only need to change its parameters to quickly model. On the other hand, most software directly uses multi-segment straight line fitting for the transition curve in the plane route, which will inevitably cause the problem of too low precision, while the use of automatic parameter calculation can greatly improve the precision. At present, Revit is the absolute mainstream software for building information modeling. Generally, Revit software will come with Dynamo's operating environment and launcher. Therefore, it is necessary to design a parametric plane route modeling method based on Dynamo to solve the above problems. Summary of the invention

[0003] The technical problem to be solved by the present invention is to provide a parametric plane route modeling method based on Dynamo, which aims to solve the problems of low efficiency and difficulty in reuse when importing plane routes into three-dimensional modeling during building information modeling. It has the characteristics of being able to realize rapid modeling, avoiding the increase of labor costs, and improving work efficiency.

[0004] In order to solve the above technical problems, the technical solution adopted by the present invention is: The parametric plane route modeling method based on Dynamo includes the following steps: S1, collect necessary parameters according to the relevant design documents of the plane route: Collect the coordinates of the straight-slow point and intersection point, arc radius, transition curve length, transition point coordinates, route starting point coordinates and route end point coordinates of each intersection. All coordinates are in a two-dimensional coordinate system. S2, create an Excel table for the collected parameters, use the nodes provided by Dynamo to read the table, and form a data matrix with a certain structure; S3, process the read parameters to facilitate subsequent operations; S4, traverse each parameter matrix; S5, drawing the first transition curve according to the parameters; S6, drawing an arc segment according to the first transition curve and the parameters; S7, drawing a second transition curve according to the first transition curve and the arc segment; S8, draw a straight line segment; S9, after traversing all the intersection parameters, further processing is performed on the start point and the end point of the plane route separately; S10, outputting the drawn plane route.

[0005] Preferably, in step S2, the data path is read using the "File Path" node provided by Dynamo, and then the path is input into the "File From Path" node to read the data to form a parameter matrix.

[0006] Preferably, in step S3, the read data is processed to remove the field names and route starting point coordinates that are not needed in the traversal operation.

[0007] Preferably, in step S4, the parameters of each intersection are traversed, and each intersection parameter includes the transition point coordinates, the intersection coordinates, the arc radius, the transition curve length and the transition point coordinates.

[0008] Preferably, in step S5, drawing a first transition curve according to the parameters includes: S51, sampling the transition curve according to the transition curve length, and setting the sampling step according to the actual situation; S52, calculate the tangent angle of the sampling point, and the calculation process is expressed as: Calculate the The curvature of the sampling points is calculated as: ; in Representative The curvature corresponding to the sampling points is is the arc radius, To ease the curve length, For the The length of the sampling point from the starting point of the transition curve is expressed as: ; in is the sampling step, For Round down; Since the curvature is the rate of change of angle, the length The small tangent angle change on is: ; Integrate the above formula: ; The above result is in radians. Convert radians to degrees. The tangent angle corresponding to the sampling point is: ; in Representative The tangent angle corresponding to the sampling points; S53, calculating the sampling point deflection angle, the calculation method is expressed as: ; in Representative The deflection angle corresponding to each sampling point; S54, calculating the azimuth of the sampling point, including: S541, calculate the tangent quadrant. Here, the tangent quadrant means the quadrant where the intersection point is located relative to the straight-slow point after a two-dimensional coordinate system is formed with the straight-slow point as the origin, the horizontal axis as the x-axis, and the vertical axis as the y-axis. The calculation method can be expressed as: ; in represents the tangent quadrant, , are the x- and y-coordinates of the intersection point, , are the x- and y-coordinates of the vertical point, They are the first, second, third and fourth quadrants respectively; S542, calculate the transverse angle, where the transverse angle is expressed as the angle between the horizontal axis and the tangent, where the tangent is the line connecting the straight point and the intersection point; the calculation method can be expressed as: ; in represents the cross-cut angle, A vector that is offset by one unit from the vertical point to the positive or negative direction of the x-axis. is the vector from the straight line point to the intersection point, for Model; S543, calculating the deflection direction, where the deflection direction is represented by the deflection direction of the transition curve relative to the straight transition point, and the calculation method can be expressed as: ; in Indicates the deflection direction, such as , then the deflection direction is left, such as , then the deflection direction is right, is the vector from the straight line point to the intersection point, is the vector from the straight slow point to the slow circle point, for The x- and y-coordinates of the point; S544, calculate the initial azimuth corresponding to the sampling point, where the azimuth is The angle between the vector formed by the line connecting the sampling point and the straight line and the tangent line can be calculated as: ; S545, calculating the azimuth corresponding to the sampling point, where the azimuth is the corrected initial azimuth, and the calculation method can be expressed as: ; in Represents the corrected azimuth, that is, the true azimuth corresponding to the sampling point, Indicates the initial azimuth of the first and last sampling points on the transition curve; S55, calculating the x increment and y increment of the fulcrum corresponding to the sampling point, the calculation method can be expressed as: ; The Taylor expansion of the integral cosine expression can be approximately expressed as: ; Similarly, the corresponding y increment of the fulcrum can be approximately expressed as: ; S56, calculating the chord length corresponding to the sampling point, where the chord length is represented by the distance from the sampling point to the straight and slow point, and the calculation method can be expressed as: ; S57, calculating the sampling point coordinates, that is, the x-coordinate and the y-coordinate of the sampling point, the calculation method can be expressed as: ; in Respectively represent The x- and y-coordinates of the sampling points, The expressions are , Representative sampling points, are the offsets in the x and y directions respectively, and their calculation method can be expressed as: ; S58, use Dynamo's "Point.ByCoordinates" node to generate a set of entity points based on the coordinates of the sampling points on the transition curve ,in is the number of sampling points on the first transition curve; S59, according to , use Dynamo's "NurbsCurve.ByPoints" node to fit all entity points and draw the first easing curve ,Will Add to the curve list.

[0009] Preferably, in step S6, according to and parametric drawing to draw arc segments, including: S61, yes Use Dynamo's "Curve.TangentAtParameter" node to get the end point of the first easing curve, that is, the tangent vector of the easing point ; S62, yes Use Dynamo's "Curve.PointAtParameter" node to get the end point of the first easing curve, which is the entity point of the easing point. ; S63, generate entity points using Dynamo's "Point.ByCoordinates" node based on the x and y coordinates of the circular slow point , that is, a slow dot; S64, according to and , use Dynamo's "Arc.ByStartPointEndPointStartTangent" node to generate and draw arc segments ,Will Add to the curve list.

[0010] Preferably, in step S7, according to Draw the second transition curve with arc segments ,include: S71, use Dynamo's "Point.ByCoordinates" node to get the arc midpoint ; S72, use Dynamo's "Arc.CenterPoint" node to get the center of the arc ; S73, use Dynamo's "Line.ByStartPointEndPoint" node to draw symmetrical straight lines ; S74, yes Translate one unit in the z-axis direction to get another entity point ; S75, according to Generate a symmetrical plane using Dynamo's "Plane.ByLineAndPoint" node ; S76, use Dynamo's "Geometry.Mirror" node for the first easing curve according to Mirror the second spiral ,Will Add to the curve list.

[0011] Preferably, in step S8, drawing a straight line segment includes: S81, according to , use Dynamo's "Curve.PointAtParameter" node to generate entity points , that is, the slow straight point; S82: Generate entity points based on the coordinates of the next intersection point ; S83, according to , use Dynamo's "Line.ByStartPointEndPoint" node to generate and draw straight line segments ,in is the intersection number, Add to the curve list.

[0012] Preferably, in step S9, after traversing all the intersection parameters, the starting point and the end point of the plane route need to be further processed separately, including processing the starting point of the plane route, and the specific method is: S91, calculate the starting point position state, the calculation method can be expressed as: ; in Represents the starting position state, is the x coordinate of the starting point, They are the x-coordinate of the first straight slow point, the x-coordinate of the first slow circular point, and the x-coordinate of the first circular slow point respectively; S92, according to Process the starting point. When , no processing; if , use Dynamo's "Line.ByStartPointEndPoint" node to create a straight line between the starting point and the first straight end point , and Add to the curve list; when When , directly delete the first curve in the curve list, if , split the first curve with a vertical line from the starting point, and delete the parts that are not connected to other curves; when When , directly delete the first and second curves in the curve list, if , first delete the first curve, then split the second curve and delete the part that is not connected to other curves; when , split the third curve in the curve list and delete all parts that are not connected to other curves; S93, calculate the end position state, the calculation method can be expressed as: ; in Represents the starting position state, is the x coordinate of the end point, They are the x-coordinate of the last straight slow point, the x-coordinate of the last circular slow point, and the x-coordinate of the last circular slow point; S94, according to To process the endpoint, When , no processing; if , use Dynamo's "Line.ByStartPointEndPoint" node to create a straight line between the end point and the last straight point , and Add to the curve list; when When , directly delete the last curve in the curve list, if , split the penultimate curve with the end point as a vertical line, and delete the part that is not connected to other curves; when When , directly delete the last and second to last curves in the curve list, if , first delete the penultimate curve, then split the penultimate curve and delete the parts that are not connected to other curves; when , split the third-to-last curve in the curve list and delete all parts that are not connected to other curves.

[0013] Preferably, in step S10, the drawn plane route is output, including: S101, use Dynamo's "PolyCurve.ByJoinedCurves" node to connect all the curves or lines in the curve list into a whole ; S102, use Dynamo's "ImportInstance.ByGeometry" node to Import it into Revit software, and then Save as ".rvt", ".rfa" or ".fbx" format model.

[0014] The beneficial effects of the parametric plane route modeling method based on Dynamo provided by the present invention are as follows: Compared with the prior art, the present invention uses parameterization ideas to model plane routes, which greatly improves the efficiency of modeling on the one hand, and achieves good reuse of results and high-precision modeling on the other hand. Even non-professional modelers only need to collect relevant parameters to achieve rapid modeling, avoiding the increase of labor costs and improving work efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The present invention will be further described below in conjunction with the accompanying drawings and embodiments: Figure 1 A flow chart of a parametric plane route modeling method based on Dynamo of the present invention; Figure 2 A simplified diagram of the intersection of the plane routes of an embodiment of the present invention; Figure 3 All Dynamo nodes used in the embodiments of the present invention; Figure 4 It is a flow chart for solving the first transition curve of the intersection of the present invention; Figure 5 This is a flow chart for solving the intersection arc segment of the present invention; Figure 6 Solving the geometric diagram for the arc segment of the intersection of the present invention; Figure 7 The flowchart of solving the second transition curve of the intersection point of the present invention; Figure 8 Solving the geometric diagram for the second transition curve of the intersection of the present invention; Fig. 9 Solving the geometric diagram for the intersection straight line segments of the present invention; Fig.10 It is a flow chart of the present invention for processing the starting point of a plane route; Fig.11 is a schematic diagram of a segmentation curve of the present invention; Fig.12 The present invention is a flow chart of processing the end point of a plane route. DETAILED DESCRIPTION

[0016] Embodiment 1: like Figure 1As shown, the parametric plane route modeling method based on Dynamo includes the following steps: S1, collect necessary parameters according to the relevant design documents of the plane route: Collect the coordinates of the straight-slow point and intersection point, arc radius, transition curve length, transition point coordinates, route starting point coordinates and route end point coordinates of each intersection. All coordinates are in a two-dimensional coordinate system. S2, create an Excel table for the collected parameters, use the nodes provided by Dynamo to read the table, and form a data matrix with a certain structure; S3, process the read parameters to facilitate subsequent operations; S4, traverse each parameter matrix; S5, drawing the first transition curve according to the parameters; S6, drawing an arc segment according to the first transition curve and the parameters; S7, drawing a second transition curve according to the first transition curve and the arc segment; S8, draw a straight line segment; S9, after traversing all the intersection parameters, further processing is performed on the start point and the end point of the plane route separately; S10, outputting the drawn plane route.

[0017] In step S2, use Dynamo's built-in "File Path" node to read the data path, and then input the path into the "File From Path" node to read the data to form a parameter matrix. Figure 4 These are all the Dynamo nodes used in this embodiment.

[0018] Preferably, in step S3, the read data is processed to remove the field names and route starting point coordinates that are not needed in the traversal operation; that is, the first row and the last two rows and the first column in the Excel table are removed. This does not mean deleting the data, but excluding the data that does not need to be traversed in the next step.

[0019] Preferably, in step S4, the parameters of each intersection are traversed, and each intersection parameter includes the coordinates of the slow point, the coordinates of the intersection, the radius of the arc, the length of the transition curve and the coordinates of the slow point. During the traversal of the focus, the first transition curve corresponding to each intersection is solved. , arc segment , the second transition curve and straight line segments , Represents the intersection number.

[0020] In step S5, drawing a first transition curve according to the parameters includes: S51, sampling the transition curve according to the transition curve length, and the sampling step is set according to the actual situation; in this embodiment, the sampling distance is 0.1, taking the 19th intersection (JD19) as an example, the transition curve length is 100, then the distance between the sampling point and the straight transition point is ; S52, calculate the tangent angle of the sampling point, and the calculation process is expressed as: Calculate the The curvature of the sampling points is calculated as: ; in Representative The curvature corresponding to the sampling points is is the arc radius, To ease the curve length, For the The length of the sampling point from the starting point of the transition curve is expressed as: ; in is the sampling step, For Round down; Since the curvature is the rate of change of angle, the length The small tangent angle change on is: ; Integrate the above formula: ; The above result is in radians. Convert radians to degrees. The tangent angle corresponding to the sampling point is: ; in Representative The tangent angle corresponding to the sampling points; S53, calculating the sampling point deflection angle, the calculation method is expressed as: ; in Representative The deflection angle corresponding to each sampling point; S54, calculating the azimuth of the sampling point, including: S541, calculate the tangent quadrant. Here, the tangent quadrant means the quadrant where the intersection point is located relative to the straight-slow point after a two-dimensional coordinate system is formed with the straight-slow point as the origin, the horizontal axis as the x-axis, and the vertical axis as the y-axis. The calculation method can be expressed as: ; in represents the tangent quadrant, , are the x- and y-coordinates of the intersection point, , are the x- and y-coordinates of the vertical point, They are the first, second, third and fourth quadrants respectively; S542, calculate the transverse angle, where the transverse angle is expressed as the angle between the horizontal axis and the tangent, where the tangent is the line connecting the straight point and the intersection point; the calculation method can be expressed as: ; in represents the cross-cut angle, A vector that is offset by one unit in the positive or negative direction of the x-axis. is the vector from the straight line point to the intersection point, for Model; S543, calculating the deflection direction, where the deflection direction is represented by the deflection direction of the transition curve relative to the straight transition point, and the calculation method can be expressed as: ; in Indicates the deflection direction, such as , then the deflection direction is left, such as , then the deflection direction is right, is the vector from the straight line point to the intersection point, is the vector from the straight slow point to the slow circle point, for The x- and y-coordinates of the point; S544, calculate the initial azimuth corresponding to the sampling point, where the azimuth is The angle between the vector formed by the line connecting the sampling point and the straight line and the tangent line can be calculated as: ; S545, calculating the azimuth corresponding to the sampling point, where the azimuth is the corrected initial azimuth, and the calculation method can be expressed as: ; in Represents the corrected azimuth, that is, the true azimuth corresponding to the sampling point, Indicates the initial azimuth of the first and last sampling points on the transition curve; S55, calculating the x increment and y increment of the fulcrum corresponding to the sampling point, the calculation method can be expressed as: ; The Taylor expansion of the integral cosine expression can be approximately expressed as: ; Similarly, the corresponding y increment of the fulcrum can be approximately expressed as: ; S56, calculating the chord length corresponding to the sampling point, where the chord length is represented by the distance from the sampling point to the straight and slow point, and the calculation method can be expressed as: ; S57, calculating the sampling point coordinates, that is, the x-coordinate and the y-coordinate of the sampling point, the calculation method can be expressed as: ; in Respectively represent The x- and y-coordinates of the sampling points, The expressions are , Representative sampling points, are the offsets in the x and y directions respectively, and their calculation method can be expressed as: ; S58, use Dynamo's "Point.ByCoordinates" node to generate a set of entity points based on the coordinates of the sampling points on the transition curve ,in is the number of sampling points on the first transition curve; S59, according to , use Dynamo's "NurbsCurve.ByPoints" node to fit all entity points and draw the first easing curve ,Will Add to the curve list.

[0021] Preferably, in step S6, according to and parametric drawing to draw arc segments, including: S61, yes Use Dynamo's "Curve.TangentAtParameter" node to get the end point of the first easing curve, that is, the tangent vector of the easing point ; S62, yes Use Dynamo's "Curve.PointAtParameter" node to get the end point of the first easing curve, which is the entity point of the easing point. ; S63, generate entity points using Dynamo's "Point.ByCoordinates" node based on the x and y coordinates of the circular slow point , that is, a slow dot; S64, according to and , use Dynamo's "Arc.ByStartPointEndPointStartTangent" node to generate and draw arc segments ,Will Add to the curve list.

[0022] Preferably, in step S7, according to Draw the second transition curve with arc segments ,include: S71, use Dynamo's "Point.ByCoordinates" node to get the arc midpoint ; S72, use Dynamo's "Arc.CenterPoint" node to get the center of the arc ; S73, use Dynamo's "Line.ByStartPointEndPoint" node to draw symmetrical straight lines ; S74, yes Translate one unit in the z-axis direction to get another entity point ; S75, according to Generate a symmetrical plane using Dynamo's "Plane.ByLineAndPoint" node ; S76, use Dynamo's "Geometry.Mirror" node for the first easing curve according to Mirror the second spiral ,Will Add to the curve list.

[0023] Preferably, in step S8, drawing a straight line segment includes: S81, according to , use Dynamo's "Curve.PointAtParameter" node to generate entity points , that is, the slow straight point; S82: Generate entity points based on the coordinates of the next intersection point ; S83, according to , use Dynamo's "Line.ByStartPointEndPoint" node to generate and draw straight line segments ,in is the intersection number, Add to the curve list.

[0024] Preferably, in step S9, after traversing all the intersection parameters, the starting point and the end point of the plane route need to be further processed separately, including processing the starting point of the plane route, and the specific method is: S91, calculate the starting point position state, the calculation method can be expressed as: ; in Represents the starting position state, is the x coordinate of the starting point, They are the x-coordinate of the first straight slow point, the x-coordinate of the first slow circular point, and the x-coordinate of the first circular slow point respectively; S92, according to Process the starting point. When , no processing; if , use Dynamo's "Line.ByStartPointEndPoint" node to create a straight line between the starting point and the first straight end point , and Add to the curve list; when When , directly delete the first curve in the curve list, if , split the first curve with a vertical line from the starting point, and delete the parts that are not connected to other curves; when When , directly delete the first and second curves in the curve list, if , first delete the first curve, then split the second curve and delete the part that is not connected to other curves; when , split the third curve in the curve list and delete all parts that are not connected to other curves; S93, calculate the end position state, the calculation method can be expressed as: ; in Represents the starting position state, is the x coordinate of the end point, They are the x-coordinate of the last straight slow point, the x-coordinate of the last circular slow point, and the x-coordinate of the last circular slow point; S94, according to To process the endpoint, When , no processing; if , use Dynamo's "Line.ByStartPointEndPoint" node to create a straight line between the end point and the last straight point , and Add to the curve list; when When , directly delete the last curve in the curve list, if , split the penultimate curve with the end point as a vertical line, and delete the part that is not connected to other curves; when When , directly delete the last and second to last curves in the curve list, if , first delete the penultimate curve, then split the penultimate curve and delete the parts that are not connected to other curves; when , split the third-to-last curve in the curve list and delete all parts that are not connected to other curves.

[0025] Preferably, in step S10, the drawn plane route is output, including: S101, use Dynamo's "PolyCurve.ByJoinedCurves" node to connect all the curves or lines in the curve list into a whole ; S102, use Dynamo's "ImportInstance.ByGeometry" node to Import it into Revit software, and then Save as ".rvt", ".rfa" or ".fbx" format model.

[0026] Embodiment 2: The present invention takes a certain intercity underground railway tunnel plane route as an example. Figure 2 A simplified diagram of an intersection of a horizontal route.

[0027] In step S1, it is necessary to collect necessary parameters of the plane route, including: collecting the straight-slip point coordinates of each intersection, intersection coordinates, arc radius, transition curve length, transition point coordinates, route starting point coordinates and route end point coordinates. All the above coordinates are coordinates in a two-dimensional coordinate system.

[0028] As shown in Table 1, in step S2, an Excel table needs to be constructed for the collected parameters. In Table 1, zh_x and zh_y represent the x and y coordinates of the straight-slow point; jd_x and jd_y represent the x and y coordinates of the intersection point; R and ls represent the arc radius and the length of the transition curve; yh_x and yh_y represent the x and y coordinates of the transition point; start_point and end_point represent the starting point and end point of the route, and the latter represents their x and y coordinates. In addition to the starting point and the end point, each row in the table represents the relevant parameters corresponding to an intersection point.

[0029]

[0030] Table 1: Constructing an Excel table for the collected parameters; like Figure 3 As shown, in step S2, use Dynamo's built-in "File Path" node to read the data path, and then input the path into the "File From Path" node to read the data to form a parameter matrix. Figure 3 These are all the Dynamo nodes used in this embodiment.

[0031] In step S3, the read data is processed to remove the field names and route starting point coordinates that are not needed in the traversal operation, that is, the first row and the last two rows and the first column in the Excel table are removed. This does not mean deleting the data, but excluding the data that does not need to be traversed in the next step.

[0032] In step S4, the parameters of each intersection are traversed. Each intersection parameter should include the coordinates of the transition point, the intersection coordinates, the arc radius, the transition curve length, and the coordinates of the transition point. During the traversal of the focus point, the first transition curve corresponding to each intersection will be solved. , arc segment , the second transition curve and straight line segments , Represents the intersection number.

[0033] like Figure 4 As shown, in step S5, the first transition curve is drawn according to the parameters. First, the transition curve needs to be sampled. In this embodiment, the sampling distance is 0.1. Taking the 19th intersection as an example (JD19), the length of the transition curve is is 100, then the distance between the sampling point and the straight and slow point is ; Step S52, calculating the tangent angle of the sampling point, taking the 21st intersection on the 19th intersection transition curve as an example, , then the tangent angle for: ; Step S53, calculating the deflection angle: ; Step S54, calculating the azimuth, including: Step S541, calculate the tangent quadrant. The tangent quadrant represents the quadrant where the intersection point is located relative to the straight-slow point after a two-dimensional coordinate system is formed with the straight-slow point as the origin, the horizontal axis as the x-axis and the vertical axis as the y-axis. The calculation method can be expressed as: ; Then the tangent quadrant of the 19th intersection is for Note that in this embodiment, the parameters are collected from the CAD drawing. Since the x and y axes in CAD are opposite to the conventional coordinate axes (i.e., the x axis of CAD represents the y axis of the conventional coordinate system), the coordinate axes of each point in Table 1 need to be exchanged when viewing, but the conventional coordinate system is still used for calculation; Step S542, calculating the cross-cutting angle , the calculation method is expressed as: ; in, , ; Step S543, calculating the deflection direction, the calculation is expressed as: ; Taking the 19th intersection as an example, Greater than, that is, the deflection direction is left; Step S544, calculate the initial azimuth corresponding to the sampling point, the calculation expression is: ; Then the initial azimuth of the 21st sampling point of the 19th intersection transition curve is ; Step S545, calculate the corrected azimuth angle a, the calculation expression is: ; After calculation, the first sampling point is less than 0 and the last sampling point is greater than 0, so the corrected azimuth ; Step S55: Calculate the sampling point fulcrum increment : ; Step S56, calculate the chord length corresponding to the sampling point: ; Step 57, calculate the x and y direction offsets, the calculation method is: ; Here we use , that is, the second sampling point is because the step length of the first sampling point is 0, resulting in a result of 0, which cannot be compared; after calculation, it can be known that the x and y offsets of the 21st sampling point are ; The coordinates of the final sampling point are: ; Step S58, using Dynamo's "Point.ByCoordinates" node to generate a set of entity points based on the coordinates of the sampling points on the transition curve ,in is the number of sampling points on the first transition curve.

[0034] Step S59, according to , use Dynamo's "NurbsCurve.ByPoints" node to fit all entity points and draw the first easing curve ,Will Add to the curve list, the curve list is now , The first transition curve represents the 19th intersection.

[0035] like Figure 5 and Figure 6 As shown, step S6, according to and parametric drawing to draw arc segments, including: Step S61, use Dynamo's "Curve.TangentAtParameter" node to obtain the tangent vector of the end point (i.e., the transition point) of the first transition curve. , the parameters of this node are ; Step S62: Use Dynamo's "Curve.PointAtParameter" node to get the entity point of the end point (ie, the easing point) of the first easing curve , the parameters of this node are ; Step S63, generate a physical point using Dynamo's "Point.ByCoordinates" node based on the x and y coordinates of the circular point , the parameters of this node are ; Step S64, according to and Generate and draw arc segments using Dynamo's "Arc.ByStartPointEndPointStartTangent" node , the parameters of this node are ,Will Add to the curve list, the curve list is now , The arc segment representing the 19th intersection.

[0036] like Figure 7 and Figure 8 As shown, in step S7, according to Draw the second transition curve with arc segments ,include: Step S71, use Dynamo's "Curve.PointAtParameter" node to get the arc midpoint , the node parameters are ; Step S72, use Dynamo's "Arc.CenterPoint" node to get the center of the arc , the node parameters are ; Step S73, use Dynamo's "Line.ByStartPointEndPoint" node to draw a symmetrical straight line , the node parameters are ; Step S74, Translate one unit in the z-axis direction to get another entity point ; Step S75, according to Generate a symmetrical plane using Dynamo's "Plane.ByLineAndPoint" node , the node parameters are ; Step S76, use Dynamo's "Geometry.Mirror" node to mirror the first easing curve. according to Mirror the second spiral , then the curve list is , The second transition curve represents the 19th intersection.

[0037] like Fig. 9 As shown, in step S8, drawing a straight line segment includes: Step S81, according to , use Dynamo's "Curve.PointAtParameter" node to generate entity points , the parameters of this node are ; Step S82: Generate entity points based on the coordinates of the next intersection point , the node parameters are ; Step S83, according to , use Dynamo's "Line.ByStartPointEndPoint" node to generate and draw straight line segments ,in is the intersection number, Add to the curve list, the curve list is now , The straight line segment representing the 20th intersection; After traversing all the intersection parameters, the curve list is , where n is the intersection number.

[0038] like Figure 10~Figure 12 As shown, in step S9, after traversing all the intersection parameters, the starting point and the end point of the plane route need to be further processed separately, including processing the starting point of the plane route, specifically: S91, calculate the starting point position state, the calculation method can be expressed as: ; when When , no processing; if , use Dynamo's "Line.ByStartPointEndPoint" node to create a straight line between the starting point and the first straight end point , and Add to the curve list; when When , directly delete the first curve in the curve list, if , split the first curve with a vertical line from the starting point, and delete the parts that are not connected to other curves; when When , directly delete the first and second curves in the curve list, if , first delete the first curve, then split the second curve and delete the part that is not connected to other curves; when , split the third curve in the curve list and delete all parts that are not connected to other curves.

[0039] According to the above formula, the embodiment can be calculated , that is, directly create a straight line between the starting point and the first straight slow point , you need to add at the front of the curve list .

[0040] Step S9, calculate the end position state, the calculation method can be expressed as: ; when When , no processing; if , use Dynamo's "Line.ByStartPointEndPoint" node to create a straight line between the end point and the last straight point , and Add to the curve list; when When , directly delete the last curve in the curve list, if , split the penultimate curve with the end point as a vertical line, and delete the part that is not connected to other curves; when When , directly delete the last and second to last curves in the curve list, if , first delete the penultimate curve, then split the penultimate curve and delete the parts that are not connected to other curves; when , split the third-to-last curve in the curve list and delete all parts that are not connected to other curves.

[0041] According to the above formula, the embodiment can be calculated , that is, directly create a straight line between the end point and the last straight point , then you need to add at the end of the curve list .

[0042] After traversing all parameters and processing the start and end points, the curve list of this embodiment is ,right Use Dynamo's "PolyCurve.ByJoinedCurves" node to connect all the curves (straight lines) in the curve list into a whole , and then use Dynamo's "ImportInstance.ByGeometry" node to Import it into Revit software, and then convert it according to actual needs Save the model in ".rvt", ".rfa" or ".fbx" format.

Claims

1. A parametric plane route modeling method based on Dynamo, characterized in that: The following steps are involved: S1, collect necessary parameters according to the relevant design documents of the plane route: Collect the coordinates of the straight-slow point and intersection point, arc radius, transition curve length, transition point coordinates, route starting point coordinates and route end point coordinates of each intersection. All coordinates are in a two-dimensional coordinate system. S2, create an Excel table for the collected parameters, use the nodes provided by Dynamo to read the table, and form a data matrix with a certain structure; S3, process the read parameters to facilitate subsequent operations; S4, traverse each parameter matrix; S5, drawing the first transition curve according to the parameters; S6, drawing an arc segment according to the first transition curve and the parameters; S7, drawing a second transition curve according to the first transition curve and the arc segment; S8, draw a straight line segment; S9, after traversing all the intersection parameters, further processing is performed on the start point and the end point of the plane route separately; S10, outputting the drawn plane route.

2. The parametric plane route modeling method based on Dynamo according to claim 1, characterized in that: In step S2, use Dynamo's built-in "File Path" node to read the data path, and then input the path into the "File From Path" node to read the data to form a parameter matrix.

3. The parametric plane route modeling method based on Dynamo according to claim 2, characterized in that: In step S3, the read data is processed to remove the field names and route starting point coordinates that are not needed in the traversal operation.

4. The parametric plane route modeling method based on Dynamo according to claim 3, characterized in that: In step S4, the parameters of each intersection are traversed, and each intersection parameter includes the transition point coordinates, the intersection point coordinates, the arc radius, the transition curve length and the transition point coordinates.

5. The parametric plane route modeling method based on Dynamo according to claim 4, characterized in that: In step S5, drawing a first transition curve according to the parameters includes: S51, sampling the transition curve according to the transition curve length, and setting the sampling step according to the actual situation; S52, calculate the tangent angle of the sampling point, and the calculation process is expressed as: Calculate the The curvature of the sampling points is calculated as: ; in Representative The curvature corresponding to the sampling points is is the arc radius, To ease the curve length, For the The length of the sampling point from the starting point of the transition curve is expressed as: ; in is the sampling step, For Round down; Since the curvature is the rate of change of angle, the length The small tangent angle change on is: ; Integrate the above formula: ; The above result is in radians. Convert radians to degrees. The tangent angle corresponding to the sampling point is: ; in Representative The tangent angle corresponding to the sampling points; S53, calculating the sampling point deflection angle, the calculation method is expressed as: ; in Representative The deflection angle corresponding to each sampling point; S54, calculating the azimuth of the sampling point, including: S541, calculate the tangent quadrant. Here, the tangent quadrant means the quadrant where the intersection point is located relative to the straight-slow point after a two-dimensional coordinate system is formed with the straight-slow point as the origin, the horizontal axis as the x-axis, and the vertical axis as the y-axis. The calculation method can be expressed as: ; in represents the tangent quadrant, , are the x- and y-coordinates of the intersection point, , are the x- and y-coordinates of the vertical point, They are the first, second, third and fourth quadrants respectively; S542, calculate the transverse angle, where the transverse angle is expressed as the angle between the horizontal axis and the tangent, where the tangent is the line connecting the straight point and the intersection point; the calculation method can be expressed as: ; in represents the cross-cut angle, A vector that is offset by one unit in the positive or negative direction of the x-axis. is the vector from the straight line point to the intersection point, for Model; S543, calculating the deflection direction, where the deflection direction is represented by the deflection direction of the transition curve relative to the straight transition point, and the calculation method can be expressed as: ; in Indicates the deflection direction, such as , then the deflection direction is left, such as , then the deflection direction is right, is the vector from the straight line point to the intersection point, is the vector from the straight slow point to the slow circle point, for The x- and y-coordinates of the point; S544, calculate the initial azimuth corresponding to the sampling point, where the azimuth is The angle between the vector formed by the line connecting the sampling point and the straight line and the tangent line can be calculated as: ; S545, calculating the azimuth corresponding to the sampling point, where the azimuth is the corrected initial azimuth, and the calculation method can be expressed as: ; in Represents the corrected azimuth, that is, the true azimuth corresponding to the sampling point, Indicates the initial azimuth of the first and last sampling points on the transition curve; S55, calculating the x increment and y increment of the fulcrum corresponding to the sampling point, the calculation method can be expressed as: ; The Taylor expansion of the integral cosine expression can be approximately expressed as: ; Similarly, the corresponding y increment of the fulcrum can be approximately expressed as: ; S56, calculating the chord length corresponding to the sampling point, where the chord length is represented by the distance from the sampling point to the straight and slow point, and the calculation method can be expressed as: ; S57, calculating the sampling point coordinates, that is, the x-coordinate and the y-coordinate of the sampling point, the calculation method can be expressed as: ; in Respectively represent The x- and y-coordinates of the sampling points, The expressions are , Representative sampling points, are the offsets in the x and y directions respectively, and their calculation method can be expressed as: ; S58, use Dynamo's "Point.ByCoordinates" node to generate a set of entity points based on the coordinates of the sampling points on the transition curve ,in is the number of sampling points on the first transition curve; S59, according to , use Dynamo's "NurbsCurve.ByPoints" node to fit all entity points and draw the first easing curve ,Will Add to the curve list.

6. The parametric plane route modeling method based on Dynamo according to claim 5, characterized in that: In step S6, according to and parametric drawing to draw arc segments, including: S61, yes Use Dynamo's "Curve.TangentAtParameter" node to get the end point of the first easing curve, that is, the tangent vector of the easing point ; S62, yes Use Dynamo's "Curve.PointAtParameter" node to get the end point of the first easing curve, which is the entity point of the easing point. ; S63, generate entity points using Dynamo's "Point.ByCoordinates" node based on the x and y coordinates of the circular point , that is, a slow dot; S64, according to and , use Dynamo's "Arc.ByStartPointEndPointStartTangent" node to generate and draw arc segments ,Will Add to the curve list.

7. The parametric plane route modeling method based on Dynamo according to claim 6, characterized in that: In step S7, according to Draw the second transition curve with arc segments ,include: S71, use Dynamo's "Point.ByCoordinates" node to get the arc midpoint ; S72, use Dynamo's "Arc.CenterPoint" node to get the center of the arc ; S73, use Dynamo's "Line.ByStartPointEndPoint" node to draw symmetrical lines ; S74, yes Translate one unit in the z-axis direction to get another entity point ; S75, according to Generate a symmetric plane using Dynamo's "Plane.ByLineAndPoint" node ; S76, use Dynamo's "Geometry.Mirror" node for the first easing curve according to Mirror the second spiral ,Will Add to the curve list.

8. The parametric plane route modeling method based on Dynamo according to claim 7, characterized in that: In step S8, drawing a straight line segment includes: S81, according to , use Dynamo's "Curve.PointAtParameter" node to generate entity points , that is, the slow straight point; S82: Generate entity points based on the coordinates of the next intersection point ; S83, according to , use Dynamo's "Line.ByStartPointEndPoint" node to generate and draw straight line segments ,in is the intersection number, Add to the curve list.

9. The parametric plane route modeling method based on Dynamo according to claim 8, characterized in that: In step S9, after traversing all the intersection parameters, the starting point and the end point of the plane route need to be further processed separately, including processing the starting point of the plane route. The specific method is: S91, calculate the starting point position state, the calculation method can be expressed as: ; in Represents the starting position state, is the x coordinate of the starting point, They are the x-coordinate of the first straight slow point, the x-coordinate of the first slow round point, and the x-coordinate of the first round slow point respectively; S92, according to Process the starting point. When , no processing; if , use Dynamo's "Line.ByStartPointEndPoint" node to create a straight line between the starting point and the first straight end point , and Add to the curve list; when When , directly delete the first curve in the curve list, if , split the first curve with a vertical line from the starting point, and delete the parts that are not connected to other curves; when When , directly delete the first and second curves in the curve list, if , first delete the first curve, then split the second curve and delete the part that is not connected to other curves; when , split the third curve in the curve list and delete all parts that are not connected to other curves; S93, calculate the end position state, the calculation method can be expressed as: ; in Represents the starting position state, is the x coordinate of the end point, They are the x-coordinate of the last straight slow point, the x-coordinate of the last circular slow point, and the x-coordinate of the last circular slow point respectively; S94, according to To process the endpoint, When , no processing; if , use Dynamo's "Line.ByStartPointEndPoint" node to create a straight line between the end point and the last straightening point , and Add to the curve list; when When , directly delete the last curve in the curve list, if , split the penultimate curve with the end point as a vertical line, and delete the part that is not connected to other curves; when When , directly delete the last and second to last curves in the curve list, if , first delete the penultimate curve, then split the penultimate curve and delete the parts that are not connected to other curves; when , split the third-to-last curve in the curve list and delete all parts that are not connected to other curves.

10. The parametric plane route modeling method based on Dynamo according to claim 9, characterized in that: In step S10, the drawn plane route is output, including: S101, use Dynamo's "PolyCurve.ByJoinedCurves" node to connect all the curves or lines in the curve list into a whole ; S102, use Dynamo's "ImportInstance.ByGeometry" node to Import it into Revit software, and then Save the model in ".rvt", ".rfa" or ".fbx" format.

Citation Information

Patent Citations

  • BIM-based road alignment design scheme comprehensive evaluation and optimization method

    CN116186858A

  • Geometric line shape parameterized road modeling method based on point cloud data

    CN116933357A

  • Revit-based bridge substructure modeling method and system, and apparatus

    WO2024000762A1