Parametric planar route modeling method based on dynamo

By using Dynamo's parametric modeling method, the problem of low efficiency in importing plan routes into Revit is solved, achieving efficient and accurate plan route modeling, which is suitable for the rapid reuse of building information modeling (BIM) models.

CN119622861BActive Publication Date: 2025-11-21GEZHOUBA GROUP FOUND ENG +2
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In existing technologies for building information modeling, importing planar routes from CAD or Civil 3D into Revit is inefficient, difficult to reuse, and results in insufficient accuracy due to the fitting of multiple straight lines.

Method used

A parametric planar route modeling method based on Dynamo is adopted. By collecting relevant parameters of the planar route, a data matrix is ​​formed using Dynamo's built-in nodes. The parameter matrix is ​​traversed to draw transition curves, circular arcs, and straight line segments, and a high-precision planar route model is output.

Benefits of technology

It improves modeling efficiency and accuracy, enables rapid model reuse, reduces labor costs, and is suitable for operation by non-professionals.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119622861B_ABST
    Figure CN119622861B_ABST
Patent Text Reader

Abstract

The application discloses a parameterized plane route modeling method based on Dynamo, which comprises the following steps: collecting necessary parameters according to a plane route related design document; establishing an Excel table for the collected parameters and reading the table by using a node of Dynamo; processing the read parameters to facilitate subsequent operation; traversing each parameter matrix; drawing a first easement curve according to the parameters; drawing an arc segment according to the first easement curve and the parameters; drawing a second easement curve according to the first easement curve and the arc segment; drawing a straight line segment; after traversing all intersection parameters, separately further processing a starting point and an ending point of the plane route; and outputting the drawn plane route. The application solves the problems of low efficiency and difficult reuse when importing a plane route into three-dimensional modeling in the process of building information modeling, has the characteristics of realizing fast modeling, avoiding the increase of manual cost and improving work efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of building information modeling technology, specifically involving a parametric planar route modeling method based on Dynamo. Background Technology

[0002] With the deepening application of Building Information Modeling (BIM) technology in the field of building construction, parametric modeling has gradually become a new research direction. In the modeling of planar routes for tunnels, bridges, or roads, software such as CAD or Civil 3D is often used. However, this requires manually drawing all the curves of the planar route. Furthermore, when importing the planar route into more professional 3D modeling software (such as Revit) for redrawing, inefficiency and difficulty in reusing the results occur. Parametric modeling can effectively solve these problems. Modelers only need to collect relevant parameters of the planar route to generate the route model in one step. This is not only extremely efficient but also simple to operate, even for non-professional modelers. This method also allows for excellent reuse of results; when faced with different planar routes, simply changing the parameters allows for rapid modeling. On the other hand, most software directly uses multi-segment straight-line fitting for transition curves in planar routes, which inevitably leads to low accuracy. Using automatic parameter calculation can greatly improve accuracy. Currently, Revit is the dominant software for building information modeling (BIM). Revit software generally comes with a Dynamo runtime environment and launcher. Therefore, it is necessary to design a parametric planar route modeling method based on Dynamo to solve the above problems. Summary of the Invention

[0003] The technical problem to be solved by this invention is to provide a parametric planar route modeling method based on Dynamo. This method aims to solve the problems of low efficiency and difficulty in reusing planar routes when importing them into 3D modeling during the building information modeling process. It features rapid modeling, avoids increased labor costs, and improves work efficiency.

[0004] To solve the above-mentioned technical problems, the technical solution adopted by the present invention is as follows:

[0005] The Dynamo-based parametric planar route modeling method includes the following steps:

[0006] S1. Collect necessary parameters based on the relevant design documents for the plan route:

[0007] Collect the coordinates of the straight and transition points, the coordinates of the intersection points, the radius of the arc, the length of the transition curve, the coordinates of the transition point, the coordinates of the starting point and the ending point of the route. All coordinates are in a two-dimensional coordinate system.

[0008] S2: Create an Excel spreadsheet of the collected parameters, and use the nodes provided by Dynamo to read the spreadsheet and form a data matrix with a certain structure.

[0009] S3 performs certain processing on the read parameters to facilitate subsequent operations;

[0010] S4, iterate through each parameter matrix;

[0011] S5, Plot the first transition curve based on the parameters;

[0012] S6, Draw the arc segment based on the first transition curve and parameters;

[0013] S7, Draw the second transition curve based on the first transition curve and the arc segment;

[0014] S8, draw a line segment;

[0015] S9, after traversing all intersection parameters, further process the start and end points of the planar route separately;

[0016] S10 outputs the completed planar route.

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

[0018] Preferably, in step S3, the read data is processed to remove unnecessary field names and route start point coordinates from the traversal operation.

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

[0020] Preferably, in step S5, drawing the first transition curve based on the parameters includes:

[0021] S51, sample the transition curve according to the length of the transition curve, and set the sampling step size according to the actual situation;

[0022] S52, calculate the tangent angle at the sampling point. The calculation process is as follows:

[0023] Calculate the first The curvature of each sampling point is calculated as follows:

[0024] ;

[0025] in Representing the The curvature corresponding to each sampling point The radius of the arc. To mitigate the curve length, For the first The length of each sampling point from the starting point of the transition curve is expressed as:

[0026] ;

[0027] in The sampling step size, To Round down;

[0028] Since curvature is the rate of change of angle, then the length... The minute tangent angle change on is:

[0029] ;

[0030] Integrating the above equation:

[0031] ;

[0032] The above results are in radians. Converting radians to degrees, then the first... The tangent angle corresponding to each sampling point is:

[0033] ;

[0034] in Representing the Tangent angles corresponding to each sampling point;

[0035] S53, calculate the sampling point deflection angle, the calculation method is expressed as follows:

[0036] ;

[0037] in Representing the The deflection angle corresponding to each sampling point;

[0038] S54, calculate the azimuth angle of the sampling point, including:

[0039] S541, Calculate the tangent quadrant. Here, the tangent quadrant represents the quadrant in which the intersection point of a two-dimensional coordinate system formed with the point of transition from the straight line to the gentle curve as the origin, the horizontal axis as the x-axis, and the vertical axis as the y-axis is located relative to the point of transition. The calculation method can be expressed as:

[0040] ;

[0041] in Represents the tangent quadrant. , Let x and y coordinates be the intersection points. , Let x and y coordinates be the points of curvature and slope. These are the first, second, third, and fourth quadrants, respectively.

[0042] S542, calculate the transverse angle, where the transverse angle is represented by the angle between the horizontal axis and the tangent, and the tangent is the line connecting the straight line and the intersection point; the calculation method can be expressed as:

[0043] ;

[0044] in Represents the cross angle. It is a vector that shifts one unit off the x-axis in either the positive or negative direction from the point of convergence. The vector from the straight point to the intersection point. for The model;

[0045] S543, Calculate the deflection direction. Here, the deflection direction is represented by the deflection direction of the transition curve relative to the point of transition from straight to tapering. The calculation method can be expressed as:

[0046] ;

[0047] in Indicates the direction of deflection, such as If so, the deflection direction is to the left, such as The direction of deflection is to the right. The vector from the straight point to the intersection point. The vector from the point of the straight transition to the point of the transition circle. for x-coordinate and y-coordinate of a point;

[0048] S544, calculate the initial azimuth angle corresponding to the sampling point, where the azimuth angle is the first... The angle between the vector formed by the line connecting each sampling point to the straight and gentle points and the tangent line can be expressed as follows:

[0049] ;

[0050] S545, calculate the azimuth angle corresponding to the sampling point. Here, the azimuth angle is the corrected initial azimuth angle, and the calculation method can be expressed as follows:

[0051] ;

[0052] in This represents the corrected azimuth angle, that is, the true azimuth angle corresponding to the sampling point. This represents the initial azimuth angles of the first and last sampling points on the transition curve;

[0053] S55, calculate the x-increment and y-increment of the corresponding support point of the sampling point. The calculation method can be expressed as follows:

[0054] ;

[0055] Taking a Taylor expansion of the cosine expression of the integral, the increment of the corresponding pivot x can be approximated as:

[0056] ;

[0057] Similarly, the increment of y at the corresponding pivot point can be approximated as:

[0058] ;

[0059] S56, calculate the chord length corresponding to the sampling point. Here, the chord length represents the distance from the sampling point to the straight-to-curved point. The calculation method can be expressed as:

[0060] ;

[0061] S57, Calculate the coordinates of the sampling point, i.e., the x and y coordinates of the sampling point. The calculation method can be expressed as:

[0062] ;

[0063] in Representing the first The x and y coordinates of the sampling points The expressions are respectively , Representing the One sampling point, The offsets in the x and y directions are respectively, and their calculation method can be expressed as:

[0064] ;

[0065] S58 uses 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 This represents the number of sampling points on the first transition curve.

[0066] S59, according to The first transition curve is generated and plotted by fitting all solid points using Dynamo's "NurbsCurve.ByPoints" node. ,Will Add to the curve list.

[0067] Preferably, in step S6, according to Drawing arc segments using parameters includes:

[0068] S61, for Use Dynamo's "Curve.TangentAtParameter" node to obtain the tangent vector at the endpoint of the first transition curve, i.e., the transition circle point. ;

[0069] S62, for Use Dynamo's "Curve.PointAtParameter" node to obtain the solid point of the endpoint of the first transition curve, i.e., the transition circle point. ;

[0070] S63, generate solid points using Dynamo's "Point.ByCoordinates" node based on the x and y coordinates of the rounded point. That is, the gentle rounded point;

[0071] S64, according to and Use Dynamo's "Arc.ByStartPointEndPointStartTangent" node to generate and draw arc segments. ,Will Add to the curve list.

[0072] Preferably, in step S7, according to Draw the second transition curve with the arc segment. ,include:

[0073] S71, Use Dynamo's "Point.ByCoordinates" node to obtain the midpoint of the arc. ;

[0074] S72, use Dynamo's "Arc.CenterPoint" node to obtain the center of the arc. ;

[0075] S73, draw a symmetrical line using Dynamo's "Line.ByStartPointEndPoint" node. ;

[0076] S74, to Translate one unit along the z-axis to obtain another solid point. ;

[0077] S75, according to Generate a symmetric plane using Dynamo's "Plane.ByLineAndPoint" node. ;

[0078] S76, using Dynamo's "Geometry.Mirror" node for the first transition curve. according to Mirroring generates a second easing curve ,Will Add to the curve list.

[0079] Preferably, in step S8, drawing the straight line segment includes:

[0080] S81, according to Use Dynamo's "Curve.PointAtParameter" node to generate solid points. That is, the point where the curve gradually straightens;

[0081] S82, Generate solid points based on the coordinates of the straight and gentle points of the next intersection point. ;

[0082] S83, according to Use Dynamo's "Line.ByStartPointEndPoint" node to generate and draw line segments. ,in Let the intersection number be... Add to the curve list.

[0083] Preferably, in step S9, after traversing all intersection parameters, the start and end points of the planar route need to be further processed separately, including processing the start point of the planar route. The specific method is as follows:

[0084] S91, calculate the starting position state, the calculation method can be expressed as:

[0085] ;

[0086] in Represents the starting position status. Let x be the starting point. These are the x-coordinates of the first straight-to-rough point, the first rough-circle point, and the first round-to-rough point, respectively.

[0087] S92, according to Process the starting point, when At that time, if No action will be taken; if Use Dynamo's "Line.ByStartPointEndPoint" node to create a straight line with a starting point and the first straight / gradual point. and will Add to the curve list; when At that time, if Delete the first curve in the curve list directly. Divide the first curve by drawing a perpendicular line from its starting point, and delete the parts that are not connected to other curves; when At that time, if Delete the first and second curves in the curve list directly. First, delete the first curve, then segment the second curve and delete the parts that are not connected to other curves; when When the third curve in the curve list is split, all parts that are not connected to other curves are deleted.

[0088] S93, calculate the endpoint position status, the calculation method can be expressed as:

[0089] ;

[0090] in Represents the starting position status. The x-coordinate of the endpoint These are the x-coordinates of the last straight-rendered point, the last rounded-rendered point, and the last rounded-rendered point, respectively.

[0091] S94, according to Process the endpoint when At that time, if No action will be taken; if Use Dynamo's "Line.ByStartPointEndPoint" node to create a straight line with an endpoint and the first to last gentle curve. and will Add to the curve list; when At that time, if Delete the last curve in the curve list directly. Divide the last curve by drawing a perpendicular line from its endpoint, and delete the parts that are not connected to other curves; when At that time, if Delete the last two curves in the curve list directly. First, delete the last curve. Then, segment the second-to-last curve and delete the parts that are not connected to other curves. When the third-to-last curve in the curve list is segmented, all parts that are not connected to other curves are deleted.

[0092] Preferably, in step S10, the completed planar route is output, including:

[0093] S101, use Dynamo's "PolyCurve.ByJoinedCurves" node to connect all curves or lines in the curve list into a single unit. ;

[0094] S102, using Dynamo's "ImportInstance.ByGeometry" node to... Import it into Revit software, and then... Save the model as a ".rvt", ".rfa", or ".fbx" format.

[0095] The beneficial effects of the Dynamo-based parametric planar route modeling method provided by this invention are as follows:

[0096] Compared with existing technologies, this invention uses parametric concepts to model planar routes, which greatly improves modeling efficiency and enables good reuse of results and high-precision modeling. Even non-professional modelers can quickly model by simply collecting relevant parameters, avoiding increased labor costs and improving work efficiency. Attached Figure Description

[0097] The present invention will be further described below with reference to the accompanying drawings and embodiments:

[0098] Figure 1 This is a flowchart of a parametric planar route modeling method based on Dynamo according to the present invention;

[0099] Figure 2 This is a simplified diagram of the intersection points of the planar routes in an embodiment of the present invention;

[0100] Figure 3 All Dynamo nodes used in the embodiments of this invention;

[0101] Figure 4 This is a flowchart illustrating the process of finding the first transition curve at the intersection point in this invention.

[0102] Figure 5 This is a flowchart illustrating the solution process for the intersection arc segment in this invention.

[0103] Figure 6 This is the geometric diagram for solving the intersection arc segment of the present invention;

[0104] Figure 7 This is a flowchart illustrating the solution process for the second transition curve at the intersection point in this invention.

[0105] Figure 8 The geometric diagram for solving the second transition curve at the intersection point of this invention;

[0106] Figure 9 The geometric diagram for solving the intersection point line segment of this invention;

[0107] Figure 10 This is a flowchart of the process for processing the starting point of a planar route according to the present invention;

[0108] Figure 11 This is a schematic diagram of the segmentation curve of the present invention;

[0109] Figure 12 This is a flowchart of the process for handling the endpoint of a planar route according to the present invention. Detailed Implementation

[0110] Example 1:

[0111] like Figure 1 As shown, the parametric planar route modeling method based on Dynamo includes the following steps:

[0112] S1. Collect necessary parameters based on the relevant design documents for the plan route:

[0113] Collect the coordinates of the straight and transition points, the coordinates of the intersection points, the radius of the arc, the length of the transition curve, the coordinates of the transition point, the coordinates of the starting point and the ending point of the route. All coordinates are in a two-dimensional coordinate system.

[0114] S2: Create an Excel spreadsheet of the collected parameters, and use the nodes provided by Dynamo to read the spreadsheet and form a data matrix with a certain structure.

[0115] S3 performs certain processing on the read parameters to facilitate subsequent operations;

[0116] S4, iterate through each parameter matrix;

[0117] S5, Plot the first transition curve based on the parameters;

[0118] S6, Draw the arc segment based on the first transition curve and parameters;

[0119] S7, Draw the second transition curve based on the first transition curve and the arc segment;

[0120] S8, draw a line segment;

[0121] S9, after traversing all intersection parameters, further process the start and end points of the planar route separately;

[0122] S10 outputs the completed planar route.

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

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

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

[0126] In step S5, the first transition curve is drawn based on the parameters, including:

[0127] S51, the transition curve is sampled according to its length, and the sampling step size is set according to the actual situation; in this embodiment, the sampling distance is 0.1. Taking the 19th intersection point (JD19) as an example, the length of the transition curve is 100, then the distance from the sampling point to the straight-to-gradient point is... ;

[0128] S52, calculate the tangent angle at the sampling point. The calculation process is as follows:

[0129] Calculate the first The curvature of each sampling point is calculated as follows:

[0130] ;

[0131] in Representing the The curvature corresponding to each sampling point The radius of the arc. To mitigate the curve length, For the first The length of each sampling point from the starting point of the transition curve is expressed as:

[0132] ;

[0133] in The sampling step size, To Round down;

[0134] Since curvature is the rate of change of angle, then the length... The minute tangent angle change on is:

[0135] ;

[0136] Integrating the above equation:

[0137] ;

[0138] The above results are in radians. Converting radians to degrees, then the first... The tangent angle corresponding to each sampling point is:

[0139] ;

[0140] in Representing the Tangent angles corresponding to each sampling point;

[0141] S53, calculate the sampling point deflection angle, the calculation method is expressed as follows:

[0142] ;

[0143] in Representing the The deflection angle corresponding to each sampling point;

[0144] S54, calculate the azimuth angle of the sampling point, including:

[0145] S541, Calculate the tangent quadrant. Here, the tangent quadrant represents the quadrant in which the intersection point of a two-dimensional coordinate system formed with the point of transition from the straight line to the gentle curve as the origin, the horizontal axis as the x-axis, and the vertical axis as the y-axis is located relative to the point of transition. The calculation method can be expressed as:

[0146] ;

[0147] in Represents the tangent quadrant. , Let x and y coordinates be the intersection points. , Let x and y coordinates be the points of curvature and slope. These are the first, second, third, and fourth quadrants, respectively.

[0148] S542, calculate the transverse angle, where the transverse angle is represented by the angle between the horizontal axis and the tangent, and the tangent is the line connecting the straight line and the intersection point; the calculation method can be expressed as:

[0149] ;

[0150] in Represents the cross angle. It is a vector that shifts one unit off the x-axis in either the positive or negative direction from the point of convergence. The vector from the straight point to the intersection point. for The model;

[0151] S543, Calculate the deflection direction. Here, the deflection direction is represented by the deflection direction of the transition curve relative to the point of transition from straight to tapering. The calculation method can be expressed as:

[0152] ;

[0153] in Indicates the direction of deflection, such as If so, the deflection direction is to the left, such as The direction of deflection is to the right. The vector from the straight point to the intersection point. The vector from the point of the straight transition to the point of the transition circle. for x-coordinate and y-coordinate of a point;

[0154] S544, calculate the initial azimuth angle corresponding to the sampling point, where the azimuth angle is the first... The angle between the vector formed by the line connecting each sampling point to the straight and gentle points and the tangent line can be expressed as follows:

[0155] ;

[0156] S545, calculate the azimuth angle corresponding to the sampling point. Here, the azimuth angle is the corrected initial azimuth angle, and the calculation method can be expressed as follows:

[0157] ;

[0158] in This represents the corrected azimuth angle, that is, the true azimuth angle corresponding to the sampling point. This represents the initial azimuth angles of the first and last sampling points on the transition curve;

[0159] S55, calculate the x-increment and y-increment of the corresponding support point of the sampling point. The calculation method can be expressed as follows:

[0160] ;

[0161] Taking a Taylor expansion of the cosine expression of the integral, the increment of the corresponding pivot x can be approximated as:

[0162] ;

[0163] Similarly, the increment of y at the corresponding pivot point can be approximated as:

[0164] ;

[0165] S56, calculate the chord length corresponding to the sampling point. Here, the chord length represents the distance from the sampling point to the straight-to-curved point. The calculation method can be expressed as:

[0166] ;

[0167] S57, Calculate the coordinates of the sampling point, i.e., the x and y coordinates of the sampling point. The calculation method can be expressed as:

[0168] ;

[0169] in Representing the first The x and y coordinates of the sampling points The expressions are respectively , Representing the One sampling point, The offsets in the x and y directions are respectively, and their calculation method can be expressed as:

[0170] ;

[0171] S58 uses 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 This represents the number of sampling points on the first transition curve.

[0172] S59, according to The first transition curve is generated and plotted by fitting all solid points using Dynamo's "NurbsCurve.ByPoints" node. ,Will Add to the curve list.

[0173] Preferably, in step S6, according to Drawing arc segments using parameters includes:

[0174] S61, for Use Dynamo's "Curve.TangentAtParameter" node to obtain the tangent vector at the endpoint of the first transition curve, i.e., the transition circle point. ;

[0175] S62, for Use Dynamo's "Curve.PointAtParameter" node to obtain the solid point of the endpoint of the first transition curve, i.e., the transition circle point. ;

[0176] S63, generate solid points using Dynamo's "Point.ByCoordinates" node based on the x and y coordinates of the rounded point. That is, the gentle rounded point;

[0177] S64, according to and Use Dynamo's "Arc.ByStartPointEndPointStartTangent" node to generate and draw arc segments. ,Will Add to the curve list.

[0178] Preferably, in step S7, according to Draw the second transition curve with the arc segment. ,include:

[0179] S71, Use Dynamo's "Point.ByCoordinates" node to obtain the midpoint of the arc. ;

[0180] S72, use Dynamo's "Arc.CenterPoint" node to obtain the center of the arc. ;

[0181] S73, draw a symmetrical line using Dynamo's "Line.ByStartPointEndPoint" node. ;

[0182] S74, to Translate one unit along the z-axis to obtain another solid point. ;

[0183] S75, according to Generate a symmetric plane using Dynamo's "Plane.ByLineAndPoint" node. ;

[0184] S76, using Dynamo's "Geometry.Mirror" node for the first transition curve. according to Mirroring generates a second easing curve ,Will Add to the curve list.

[0185] Preferably, in step S8, drawing the straight line segment includes:

[0186] S81, according to Use Dynamo's "Curve.PointAtParameter" node to generate solid points. That is, the point where the curve gradually straightens;

[0187] S82, Generate solid points based on the coordinates of the straight and gentle points of the next intersection point. ;

[0188] S83, according to Use Dynamo's "Line.ByStartPointEndPoint" node to generate and draw line segments. ,in Let the intersection number be... Add to the curve list.

[0189] Preferably, in step S9, after traversing all intersection parameters, the start and end points of the planar route need to be further processed separately, including processing the start point of the planar route. The specific method is as follows:

[0190] S91, calculate the starting position state, the calculation method can be expressed as:

[0191] ;

[0192] in Represents the starting position status. Let x be the starting point. These are the x-coordinates of the first straight-to-rough point, the first rough-circle point, and the first round-to-rough point, respectively.

[0193] S92, according to Process the starting point, when At that time, if No action will be taken; if Use Dynamo's "Line.ByStartPointEndPoint" node to create a straight line with a starting point and the first straight / gradual point. and will Add to the curve list; when At that time, if Delete the first curve in the curve list directly. Divide the first curve by drawing a perpendicular line from its starting point, and delete the parts that are not connected to other curves; when At that time, if Delete the first and second curves in the curve list directly. First, delete the first curve, then segment the second curve and delete the parts that are not connected to other curves; when When the third curve in the curve list is split, all parts that are not connected to other curves are deleted.

[0194] S93, calculate the endpoint position status, the calculation method can be expressed as:

[0195] ;

[0196] in Represents the starting position status. The x-coordinate of the endpoint These are the x-coordinates of the last straight-rendered point, the last rounded-rendered point, and the last rounded-rendered point, respectively.

[0197] S94, according to Process the endpoint when At that time, if No action will be taken; if Use Dynamo's "Line.ByStartPointEndPoint" node to create a straight line with an endpoint and the first to last gentle curve. and will Add to the curve list; when At that time, if Delete the last curve in the curve list directly. Divide the last curve by drawing a perpendicular line from its endpoint, and delete the parts that are not connected to other curves; when At that time, if Delete the last two curves in the curve list directly. First, delete the last curve. Then, segment the second-to-last curve and delete the parts that are not connected to other curves. When the third-to-last curve in the curve list is segmented, all parts that are not connected to other curves are deleted.

[0198] Preferably, in step S10, the completed planar route is output, including:

[0199] S101, use Dynamo's "PolyCurve.ByJoinedCurves" node to connect all curves or lines in the curve list into a single unit. ;

[0200] S102, using Dynamo's "ImportInstance.ByGeometry" node to... Import it into Revit software, and then... Save the model as a ".rvt", ".rfa", or ".fbx" format.

[0201] Example 2:

[0202] This invention takes the horizontal route of an intercity underground railway tunnel as an example. Figure 2 A simplified diagram of an intersection point of a horizontal route.

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

[0204] As shown in Table 1, in step S2, an Excel spreadsheet needs to be created from the collected parameters. In Table 1, zh_x and zh_y represent the x and y coordinates of the straight-to-gradient point; jd_x and jd_y represent the x and y coordinates of the intersection point; R and ls represent the radius of the arc and the length of the transition curve; yh_x and yh_y represent the x and y coordinates of the round-to-gradient point; start_point and end_point represent the starting and ending points of the route, followed by their x and y coordinates. Except for the starting and ending points, each row in the table represents the relevant parameters corresponding to an intersection point.

[0205]

[0206] Table 1: An Excel spreadsheet containing the collected parameters;

[0207] like Figure 3 As shown, in step S2, the data path is read using Dynamo's built-in "File Path" node, and then the path is input into the "File From Path" node to read data and form a parameter matrix. Figure 3 This refers to all Dynamo nodes used in this embodiment.

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

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

[0210] like Figure 4 As shown, in step S5, the first transition curve is drawn based on the parameters. First, the transition curve needs to be sampled. In this embodiment, the sampling distance is 0.1. Taking the 19th intersection point (JD19) as an example, the length of the transition curve... If the value is 100, then the distance from the sampling point to the straight-rough point is... ;

[0211] Step S52: Calculate the tangent angle at the sampling point. Taking the 21st intersection point on the transition curve at the 19th intersection point as an example... Then the tangent angle for:

[0212] ;

[0213] Step S53, calculate the deflection angle:

[0214] ;

[0215] Step S54, calculate the azimuth angle, including:

[0216] Step S541: Calculate the tangent quadrant. The tangent quadrant represents the quadrant in which the intersection point of a two-dimensional coordinate system formed with the point of transition as the origin, the horizontal axis as the x-axis, and the vertical axis as the y-axis is located relative to the point of transition. The calculation method can be expressed as follows:

[0217] ;

[0218] The tangent quadrant of the 19th intersection point for Note that in this embodiment, the parameters are collected from the CAD drawing. Since the x and y axes in the CAD are opposite to the conventional coordinate axes (i.e., the x axis in the CAD represents the y axis in the conventional coordinate system), the coordinate axes of each point in Table 1 need to be swapped when viewing the data, but the conventional coordinate system is still used for calculation.

[0219] Step S542, calculate the cross angle The calculation method is expressed as follows:

[0220] ;

[0221] in, , ;

[0222] Step S543, calculate the deflection direction, expressed as:

[0223] ;

[0224] Taking the 19th intersection point as an example, Greater than, meaning the deflection direction is to the left;

[0225] Step S544: Calculate the initial azimuth angle corresponding to the sampling point. The calculation expression is:

[0226] ;

[0227] The initial azimuth angle of the 21st sampling point of the transition curve at the 19th intersection point. ;

[0228] Step S545, calculate the corrected azimuth angle α, the calculation expression is:

[0229] ;

[0230] After calculation, the first sampling point is less than 0, and the last sampling point is greater than 0, so the corrected azimuth angle is... ;

[0231] Step S55: Calculate the sampling point pivot increment. :

[0232] ;

[0233] Step S56: Calculate the chord length corresponding to the sampling point:

[0234] ;

[0235] Step 57, calculate the offsets in the x and y directions, as follows:

[0236] ;

[0237] Here we use The second sampling point is incompatible because the step size of the first sampling point is 0, resulting in a result of 0. Calculations show that the x and y biases of the 21st sampling point are... ;

[0238] The coordinates of the final sampling point are:

[0239] ;

[0240] Step 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 This represents the number of sampling points on the first transition curve.

[0241] Step S59, according to The first transition curve is generated and plotted by fitting all solid points using Dynamo's "NurbsCurve.ByPoints" node. ,Will Added to the curve list, at which point the curve list is now... , The first transition curve represents the 19th intersection point.

[0242] like Figure 5 and Figure 6 As shown, in step S6, according to Drawing arc segments using parameters includes:

[0243] Step S61: Use the "Curve.TangentAtParameter" node of Dynamo to obtain the tangent vector of the endpoint (i.e., the transition point) of the first transition curve. The parameters of this node are ;

[0244] Step S62, for Use Dynamo's "Curve.PointAtParameter" node to obtain the solid point of the endpoint (i.e., the transition point) of the first transition curve. The parameters of this node are ;

[0245] Step S63: Generate solid points using Dynamo's "Point.ByCoordinates" node based on the x and y coordinates of the circular transition point. The parameters of this node are ;

[0246] Step S64, according to and Generate and draw arc segments using Dynamo's "Arc.ByStartPointEndPointStartTangent" node. The parameters of this node are ,Will Added to the curve list, at which point the curve list is now... , The arc segment representing the 19th intersection point.

[0247] like Figure 7 and Figure 8 As shown, in step S7, according to Draw the second transition curve with the arc segment. ,include:

[0248] Step S71: Use Dynamo's "Curve.PointAtParameter" node to obtain the midpoint of the arc. The node parameter is ;

[0249] Step S72: Use Dynamo's "Arc.CenterPoint" node to obtain the center of the arc. The node parameter is ;

[0250] Step S73: Draw a symmetrical line using Dynamo's "Line.ByStartPointEndPoint" node. The node parameter is ;

[0251] Step S74, for Translate one unit along the z-axis to obtain another solid point. ;

[0252] Step S75, according to Generate a symmetric plane using Dynamo's "Plane.ByLineAndPoint" node. The node parameter is ;

[0253] Step S76, use Dynamo's "Geometry.Mirror" node to apply the first transition curve. according to Mirroring generates a second easing curve At this point, the curve list is , The second transition curve represents the 19th intersection point.

[0254] like Figure 9 As shown, in step S8, drawing the line segment includes:

[0255] Step S81, according to Use Dynamo's "Curve.PointAtParameter" node to generate solid points. The parameters of this node are ;

[0256] Step S82: Generate solid points based on the coordinates of the straight and gentle points of the next intersection. The node parameter is ;

[0257] Step S83, according to Use Dynamo's "Line.ByStartPointEndPoint" node to generate and draw line segments. ,in Let the intersection number be... Added to the curve list, at which point the curve list is now... , The line segment representing the 20th intersection point;

[0258] After iterating through all intersection point parameters, the curve list is as follows: , where n is the intersection number.

[0259] like Figures 10-12 As shown, in step S9, after traversing all intersection parameters, the start and end points of the planar route need to be further processed separately, including processing the start point of the planar route, specifically:

[0260] S91, calculate the starting position state, the calculation method can be expressed as:

[0261] ;

[0262] when At that time, if No action will be taken; if Use Dynamo's "Line.ByStartPointEndPoint" node to create a straight line with a starting point and the first straight / gradual point. and will Add to the curve list; when At that time, if Delete the first curve in the curve list directly. Divide the first curve by drawing a perpendicular line from its starting point, and delete the parts that are not connected to other curves; when At that time, if Delete the first and second curves in the curve list directly. First, delete the first curve, then segment the second curve and delete the parts that are not connected to other curves; when At that time, the third curve in the curve list is split, and all parts that are not connected to other curves are deleted.

[0263] Based on the above formula, the following can be calculated for this embodiment. That is, directly create a straight line between the starting point and the first straight / gradual point. At this point, you need to add the following to the beginning of the curve list: .

[0264] Step S9, calculate the endpoint position state, which can be expressed as follows:

[0265] ;

[0266] when At that time, if No action will be taken; if Use Dynamo's "Line.ByStartPointEndPoint" node to create a straight line with an endpoint and the first to last gentle curve. and will Add to the curve list; when At that time, if Delete the last curve in the curve list directly. Divide the last curve by drawing a perpendicular line from its endpoint, and delete the parts that are not connected to other curves; when At that time, if Delete the last two curves in the curve list directly. First, delete the last curve. Then, segment the second-to-last curve and delete the parts that are not connected to other curves. When the third-to-last curve in the curve list is segmented, all parts that are not connected to other curves are deleted.

[0267] Based on the above formula, the following can be calculated for this embodiment. That is, directly create a straight line between the endpoint and the last gentle straightening point. At this point, you need to add the following to the end of the curve list: .

[0268] After traversing all parameters and processing the start and end points, the curve list of this embodiment is obtained. ,right Use Dynamo's "PolyCurve.ByJoinedCurves" node to connect all curves (straight lines) in the curve list into a single unit. Then use Dynamo's "ImportInstance.ByGeometry" node to... Import it into Revit software, and finally you can adjust it according to your actual needs. Save the model as a ".rvt", ".rfa", or ".fbx" format.

Claims

1. A parametric planar route modeling method based on Dynamo, characterized in that, Includes the following steps: S1. Collect necessary parameters based on the relevant design documents for the plan route: Collect the coordinates of the straight and transition points, the coordinates of the intersection points, the radius of the arc, the length of the transition curve, the coordinates of the transition point, the coordinates of the starting point and the ending point of the route. All coordinates are in a two-dimensional coordinate system. S2, create an Excel spreadsheet for the collected parameters, 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 and form a parameter matrix; S3 processes the read data, removing unnecessary field names and route start point coordinates from the traversal operation; S4, iterate through each parameter matrix; S5, Plot the first transition curve based on the parameters, including: S51, sample the transition curve according to the length of the transition curve, and set the sampling step size according to the actual situation; S52, calculate the tangent angle at the sampling point. The calculation process is as follows: Calculate the first The curvature of each sampling point is calculated as follows: ; in Representing the The curvature corresponding to each sampling point The radius of the arc. To mitigate the curve length, For the first The length of each sampling point from the starting point of the transition curve is expressed as: ; in The sampling step size, To Round down; Since curvature is the rate of change of angle, then the length... The small change in the angle of the tangent on the surface is as follows: ; Integrating the above equation: ; The above results are in radians. Converting radians to degrees, then the first... The tangent angle corresponding to each sampling point is: ; in Representing the Tangent angles corresponding to each sampling point; S53, calculate the sampling point deflection angle, the calculation method is expressed as follows: ; in Representing the The deflection angle corresponding to each sampling point; S54, calculate the azimuth angle of the sampling point, including: S541, Calculate the tangent quadrant. Here, the tangent quadrant represents the quadrant in which the intersection point of a two-dimensional coordinate system formed with the point of transition from the straight line to the gentle curve as the origin, the horizontal axis as the x-axis, and the vertical axis as the y-axis, is located relative to the point of transition. The calculation method is expressed as follows: ; in Represents the tangent quadrant. , Let x and y coordinates be the intersection points. , Let x and y coordinates be the points of curvature and slope. These are the first, second, third, and fourth quadrants, respectively. S542, calculate the transverse angle, where the transverse angle is represented by the angle between the horizontal axis and the tangent, which is the line connecting the straight line and the intersection point; the calculation method is expressed as: ; in Represents the cross angle. It is a vector that shifts one unit off the x-axis in either the positive or negative direction from the point of convergence. The vector from the straight point to the intersection point. for The model; S543, Calculate the deflection direction. Here, the deflection direction is represented by the deflection direction of the transition curve relative to the point of transition from straight to tapering. The calculation method is as follows: ; in Indicates the direction of deflection, such as If so, the deflection direction is to the left, such as Then the deflection direction is to the right. The vector from the straight point to the intersection point. The vector from the point of the straight transition to the point of the transition circle. for x-coordinate and y-coordinate of a point; S544, calculate the initial azimuth angle corresponding to the sampling point, where the azimuth angle is the first... The angle between the vector formed by the line connecting each sampling point to the straight and gentle points and the tangent line is calculated as follows: ; S545, calculate the azimuth angle corresponding to the sampling point. Here, the azimuth angle is the corrected initial azimuth angle, and the calculation method is expressed as follows: ; in This represents the corrected azimuth angle, that is, the true azimuth angle corresponding to the sampling point. This represents the initial azimuth angles of the first and last sampling points on the transition curve; S55, calculate the x-increment and y-increment of the corresponding support point of the sampling point. The calculation method is expressed as follows: ; Taking the cosine expression of the integral as a Taylor expansion, the increment of the corresponding pivot x is approximately expressed as: ; Similarly, the increment of the corresponding pivot point y can be approximated as: ; S56, calculate the chord length corresponding to the sampling point. Here, the chord length represents the distance from the sampling point to the straight-to-curved point, and the calculation method is expressed as follows: ; S57, calculate the coordinates of the sampling point, i.e., the x and y coordinates of the sampling point. The calculation method is expressed as follows: ; in Representing the first The x and y coordinates of the sampling points The expressions are respectively , Representing the One sampling point, The offsets in the x and y directions are respectively, and their calculation method is expressed as follows: ; 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 This represents the number of sampling points on the first transition curve. S59, according to The first transition curve is generated and plotted by fitting all solid points using Dynamo's "NurbsCurve.ByPoints" node. ,Will Add to the curve list; S6, Draw the arc segment based on the first transition curve and parameters; S7, Draw the second transition curve based on the first transition curve and the arc segment; S8, draw a line segment; S9, after traversing all intersection parameters, further process the start and end points of the planar route separately; S10 outputs the completed planar route.

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

3. The parametric planar route modeling method based on Dynamo according to claim 1, characterized in that, In step S6, according to And parameters for drawing arc segments, including: S61, for Use the "Curve.TangentAtParameter" node in Dynamo to obtain the tangent vector at the endpoint of the first transition curve, i.e., the transition circle point. ; S62, for Use Dynamo's "Curve.PointAtParameter" node to obtain the solid point of the endpoint of the first transition curve, i.e., the transition circle. ; S63, generate solid points using Dynamo's "Point.ByCoordinates" node based on the x and y coordinates of the circular transition point. That is, the gentle rounded point; S64, according to and Use Dynamo's "Arc.ByStartPointEndPointStartTangent" node to generate and draw arc segments. ,Will Add to the curve list.

4. The parametric planar route modeling method based on Dynamo according to claim 3, characterized in that, In step S7, according to Draw the second transition curve with the arc segment. ,include: S71, Use Dynamo's "Point.ByCoordinates" node to obtain the midpoint of the arc. ; S72, use Dynamo's "Arc.CenterPoint" node to obtain the center of the arc. ; S73, use Dynamo's "Line.ByStartPointEndPoint" node to draw a symmetrical line. ; S74, to Translate one unit along the z-axis to obtain another solid point. ; S75, according to Generate a symmetric plane using Dynamo's "Plane.ByLineAndPoint" node. ; S76, using Dynamo's "Geometry.Mirror" node for the first transition curve. according to Mirroring generates a second easing curve ,Will Add to the curve list.

5. The parametric planar route modeling method based on Dynamo according to claim 4, characterized in that, In step S8, the line segment is drawn, including: S81, according to Use Dynamo's "Curve.PointAtParameter" node to generate solid points. That is, the point where the curve gradually straightens; S82, Generate solid points based on the coordinates of the straight and gentle points of the next intersection point. ; S83, according to Use Dynamo's "Line.ByStartPointEndPoint" node to generate and draw line segments. ,in Let the intersection number be... Add to the curve list.

6. The parametric planar route modeling method based on Dynamo according to claim 5, characterized in that, In step S9, after traversing all intersection parameters, the start and end points of the planar route need to be further processed separately, including processing the start point of the planar route. The specific method is as follows: S91, calculate the starting position state, the calculation method is expressed as follows: ; in Represents the starting position status. Let x be the starting point. These are the x-coordinates of the first straight-to-rough point, the first rough-circle point, and the first round-to-rough point, respectively. S92, according to Process the starting point, when At that time, if No action will be taken; if Use Dynamo's "Line.ByStartPointEndPoint" node to create a straight line with a starting point and the first straight / gradual point. and will Add to the curve list; when At that time, if Delete the first curve in the curve list directly. Divide the first curve by drawing a perpendicular line from its starting point, and delete the parts that are not connected to other curves; when At that time, if Delete the first and second curves in the curve list directly. First, delete the first curve, then segment the second curve and delete the parts that are not connected to other curves; when When the third curve in the curve list is split, all parts that are not connected to other curves are deleted. S93, calculate the endpoint position status, the calculation method is expressed as follows: ; in Represents the starting position status. The x-coordinate of the endpoint These are the x-coordinates of the last straight-rendered point, the last rounded-rendered point, and the last rounded-rendered point, respectively. S94, according to Process the endpoint when At that time, if No action will be taken; if Use Dynamo's "Line.ByStartPointEndPoint" node to create a straight line with an endpoint and the first to last gentle curve. and will Add to the curve list; when At that time, if Delete the last curve in the curve list directly. Divide the last curve by drawing a perpendicular line from its endpoint, and delete the parts that are not connected to other curves; when At that time, if Delete the last two curves in the curve list directly. First, delete the last curve. Then, segment the second-to-last curve and delete the parts that are not connected to other curves. When the third-to-last curve in the curve list is segmented, all parts that are not connected to other curves are deleted.

7. The parametric planar route modeling method based on Dynamo according to claim 6, characterized in that, In step S10, the completed planar route is output, including: S101, use Dynamo's "PolyCurve.ByJoinedCurves" node to connect all curves or lines in the curve list into a single unit. ; S102, using Dynamo's "ImportInstance.ByGeometry" node to... Import it into Revit software, and finally... Save the model as a ".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