A dynamo-based parametric longitudinal section route modeling method
By using Dynamo's parametric longitudinal profile route modeling method, the problem of low efficiency in importing longitudinal profile routes into 3D modeling is solved, enabling the reuse of fast and high-precision modeling results, which is applicable to Revit software.
Patent Information
- Application Number
- CN202411485403.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-23
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2044-10-23
AI Technical Summary
Existing technologies for building information modeling (BIM) suffer from low efficiency and difficulty in reusing longitudinal profile routes when importing them into 3D models, and the lack of accuracy is caused by fitting multiple straight lines.
A parametric longitudinal profile route modeling method based on Dynamo is adopted. By collecting relevant parameters, organizing the data in an Excel spreadsheet, using Dynamo nodes to read and process the data, drawing vertical curves and straight line segments, and combining PolyCurve and ImportInstance nodes to output the route to Revit software.
It enables rapid modeling, improves work efficiency, allows for good reuse of results and high-precision modeling, is suitable for non-professionals, and avoids increasing labor costs.
Smart Images

Figure CN119622860B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The application belongs to the technical field of building information modeling, and particularly relates to a parameterized longitudinal section route modeling method based on Dynamo. BACKGROUND
[0002] With the in-depth application of building information modeling (BIM) technology in the field of building construction, parameterized modeling has gradually become a new research direction. In the modeling of longitudinal section routes of tunnels, bridges or roads, CAD or Civil3D and other software are often used to realize it, but this needs to manually draw all curves of the longitudinal section route, and when the planar route is imported into a more professional three-dimensional modeling software (such as Revit) for redrawing, the problems of low efficiency and difficult reuse of results will occur, and the use of parameterized modeling can well solve the above problems. Modeling personnel only need to collect parameters related to the longitudinal section route to generate a route model, which is not only extremely fast, but also simple to operate, even non-professional modeling personnel can easily do it, and at the same time, the method can be well reused. When facing different longitudinal section routes, only the parameters need to be replaced to quickly model. On the other hand, most software directly uses multi-segment straight line fitting for the transition curve in the longitudinal section route, which inevitably causes the problem of too small precision, and the use of parameter automatic calculation can greatly improve the precision. At present, Revit is the absolute mainstream software of building information modeling, and the Revit software generally has the running environment and starter of Dynamo, therefore, a parameterized longitudinal section route modeling method based on Dynamo is needed to solve the above problems. SUMMARY
[0003] The technical problem to be solved by the application is to provide a parameterized longitudinal section route modeling method based on Dynamo, which aims to solve the problems of low efficiency and difficult reuse of results in the process of importing the longitudinal section route into three-dimensional modeling in the building information modeling process, has the characteristics of realizing fast modeling, avoiding the increase of labor cost and improving work efficiency.
[0004] To solve the above technical problems, the technical solution adopted by the application is:
[0005] A parameterized longitudinal section route modeling method based on Dynamo, comprising the following steps:
[0006] S1, collecting necessary parameters according to the design file related to the longitudinal section route;
[0007] S2, establishing an Excel table for the collected parameters, and reading the table using the nodes of Dynamo;
[0008] S3, traversing all parameters;
[0009] S4, draw vertical curves according to parameters and add all vertical curves to the curve list;
[0010] S5, traverse all vertical curves;
[0011] S6, draw corresponding straight line segments according to relevant vertical curves and add the straight line segments to the curve list;
[0012] S7, further process the starting point and the ending point of the longitudinal section route;
[0013] S8, output the drawn vertical curve route.
[0014] Preferably, in step S1, necessary parameters are collected according to relevant design documents of the longitudinal section route, including: slope, slope length, vertical curve radius, tangent length, slope change point elevation, starting point elevation, ending point elevation and relevant drop point markers.
[0015] Preferably, in step S2, the collected parameter information is subjected to table building operation using Excel software to form a data matrix with a certain structure.
[0016] Preferably, in step S2, the "File Path" node of Dynamo is used to read the data path, and then the path is input to the "File From Path" node to read the data to form a parameter matrix.
[0017] Preferably, in step S3, the parameter matrix is traversed, and a basic unit of traversal is vertical curve radius, tangent length, slope change point elevation, and slope and slope length before and after the vertical curve.
[0018] Preferably, in step S4, the vertical curve is drawn according to the parameters, including:
[0019] S41, the corresponding accumulated slope length of each vertical curve is calculated, and the parameter matrix is as follows:
[0020] ;
[0021] wherein , is the slope, is the slope length, , , respectively, is the vertical curve radius, the tangent length and the slope change point elevation, is the number of vertical curves, and the vertical curve corresponding accumulated slope length calculation method is expressed as:
[0022] ;
[0023] wherein represents the accumulative length of the vertical curve corresponding to the i-th vertical curve;
[0024] S42, calculating the concave-convex mark of the vertical curve, the calculation method is represented as:
[0025] ;
[0026] wherein represents the concave-convex mark of the i-th vertical curve, respectively represents six states of the mark;
[0027] S43, generating a negative sampling point set and a positive sampling point set, the calculation method is represented as:
[0028] ;
[0029] wherein represents the negative sampling point set of the i-th vertical curve, represents the positive sampling point set of the i-th vertical curve, is a sampling step distance, is a floor value;
[0030] S44, calculating the elevation of the sampling point;
[0031] S45, calculating the x coordinate of the sampling point, the calculation method can be represented as:
[0032] ;
[0033] wherein respectively represents the x coordinate of the positive sampling point and the negative sampling point, is a value corresponding to the sampling point set after inversion, is a slope;
[0034] S46, generating an entity point set according to the elevation and the x coordinate of the sampling point by using the “Point.ByCoordinates” node of Dynamo , wherein is the number of sampling points on the vertical curve;
[0035] S47, fitting all entity points to generate and draw the vertical curve by using the “NurbsCurve.ByPoints” node of Dynamo according to , adding to the curve list , after traversing all parameters, the curve list , , The number of vertical curves.
[0036] Preferably, the specific method of calculating the elevation of the sampling point comprises:
[0037] S441, calculating the outer distance of the sampling point, the calculation method is represented as:
[0038] ;
[0039] Wherein represents the outer distance of the corresponding sampling point, is the sampling point value, is the slope, is the vertical curve radius;
[0040] S442, calculating the vertical elevation distance corresponding to the outer distance, the calculation method is represented as:
[0041] ;
[0042] Wherein represents the outer distance of the corresponding sampling point, is the sampling point value, is the slope, is the tangent length of the vertical curve;
[0043] S443, calculating the elevation of the sampling point, the calculation method is represented as:
[0044] When the concave-convex mark , ;
[0045] Wherein are the elevations corresponding to the negative sampling point and the positive sampling point respectively;
[0046] When the concave-convex mark , ;
[0047] Wherein the expression is ;
[0048] When the concave-convex mark , ;
[0049] Wherein the expression is ;
[0050] When the concave-convex mark , ;
[0051] When the concave-convex mark , ;
[0052] wherein the expression is ;
[0053] When the concave-convex mark , ;
[0054] wherein the expression is .
[0055] Preferably, in step S6, the corresponding straight line segment is drawn according to the relevant vertical curve, including:
[0056] S61, the starting point of the straight line segment is obtained, where the straight line segment refers to the straight line segment between two vertical curves, and the starting point of the straight line segment is obtained by using the "Curve.PointAtParameter" node of Dynamo for the vertical curve before the straight line segment ;
[0057] S62, the end point of the straight line segment is obtained, and the end point of the straight line segment is obtained by using the "Curve.PointAtParameter" node of Dynamo for the vertical curve after the straight line segment ;
[0058] S63, the and straight line segment is drawn by using the "Line.ByStartPointEndPoint" node of Dynamo , the straight line segment is added to the curve list , after traversing all vertical curves, the curve list . .
[0059] Preferably, in step S7, the starting point and the end point of the vertical curve route are further processed, and first, the starting point is processed, and here the landing point mark is discussed:
[0060] When the landing point mark , the step includes:
[0061] The starting point is processed:
[0062] S71a, the starting point of the vertical curve is obtained , and then the elevation value and the x-coordinate of are obtained;
[0063] S71b, the x-coordinate of the starting point of the vertical section route is calculated, and the calculation method can be represented as:
[0064] ;
[0065] in The starting elevation;
[0066] S71c, according to and the starting elevation of the route Generate entity points ;
[0067] S71d, according to and Generate a straight line and will Add to curve list ;
[0068] When the landing point is marked The steps include:
[0069] Process the starting point:
[0070] S71e, Calculating the vertical curve concave-convex markings ;
[0071] S71f, Obtaining the Vertical Curve midpoint , then obtain elevation value ;
[0072] S71g, for vertical curves Sampling is performed, and the sample set is generated. ,in Midpoint ;
[0073] S71h, Calculate the retrieval set The calculation method can be expressed as:
[0074] ;
[0075] in The elevation of the starting point of the route;
[0076] S71i, to Perform the traversal, if ,use and Create entity points ;if or ,use and Create entity points ,in For the first The x and z coordinates of each point;
[0077] S71j、by drawing a perpendicular line , will be divided into two parts, and the part not connected with the set will be deleted;
[0078] After the start of the route is processed, the end of the route is processed, and the landing mark of the end is marked according to the landing mark Discussion:
[0079] When the landing mark , the steps include:
[0080] Processing the end of the route:
[0081] S72a, get the end point of the vertical curve , and get the elevation value and the x-coordinate of the vertical curve ;
[0082] S72b, calculate the x-coordinate of the vertical section route end, the calculation method can be represented as:
[0083] ;
[0084] Wherein is the elevation of the end;
[0085] S72c, generate entity points according to and the elevation of the end of the route ;
[0086] S72d, generate a straight line according to and , and add to the curve list ;
[0087] When the landing mark , the steps include:
[0088] Processing the end of the route:
[0089] S72e, calculate the concave-convex mark of the vertical curve ;
[0090] S72f, get the midpoint of the vertical curve , and get the elevation value of the vertical curve ;
[0091] S72g, process the vertical curve Sampling, sampling set Wherein That is, the midpoint ;
[0092] S72h, calculate the search set , the calculation method can be expressed as:
[0093] ;
[0094] Wherein The elevation of the end point of the route;
[0095] S72j, traverse If , create entity points And ; if Or , create entity points And , wherein The x and z coordinates of the first Point; S71j, draw a perpendicular Line
[0096] , Divide Into two parts, and delete the part not connected to the set. Preferably, in step S8, the drawn vertical curve route is output, including:
[0097] S81, use the "PolyCurve.ByJoinedCurves" node of Dynamo to connect all curves or straight lines in the curve list into one whole ;
[0098]
[0099] S82, use the "ImportInstance.ByGeometry" node of Dynamo to import Into the revit software, and finally save As a ".rvt", ".rfa" or ".fbx" format model.
[0100] The parametric longitudinal section route modeling method based on Dynamo provided by the present application has the following beneficial effects:
[0101] Compared with the prior art, the present application uses the parameterization idea to model the longitudinal section route, which greatly improves the modeling efficiency on the one hand, and realizes good reuse and high-precision modeling of the results on the other hand, that is, even if the modeling personnel are non-professionals, they only need to collect relevant parameters to realize rapid modeling, avoid the increase of labor cost, and improve the work efficiency. BRIEF DESCRIPTION OF DRAWINGS
[0102] The present application will be further described below in combination with the drawings and embodiments:
[0103] Figure 1 A flow chart of the present application is shown in the following figure:
[0104] Figure 2 A schematic diagram of two vertical curves and a straight line segment therebetween in an embodiment of the present application is shown in the following figure:
[0105] Figure 3 All Dynamo nodes used in an embodiment of the present application are shown in the following figure:
[0106] Figure 4 A t1 state schematic diagram of vertical curve concave-convex marking in the present application is shown in the following figure:
[0107] Figure 5 A t2 state schematic diagram of vertical curve concave-convex marking in the present application is shown in the following figure:
[0108] Figure 6 A t3 state schematic diagram of vertical curve concave-convex marking in the present application is shown in the following figure:
[0109] Figure 7 A a1 state schematic diagram of vertical curve concave-convex marking in the present application is shown in the following figure:
[0110] Figure 8 A a2 state schematic diagram of vertical curve concave-convex marking in the present application is shown in the following figure:
[0111] Figure 9 A a3 state schematic diagram of vertical curve concave-convex marking in the present application is shown in the following figure:
[0112] Figure 10 A schematic diagram of drawing a straight line segment in the present application is shown in the following figure:
[0113] Figure 11 A schematic diagram of starting point and ending point marking in an embodiment of the present application is shown in the following figure:
[0114] Figure 12 A schematic diagram of starting point and ending point marking in an embodiment of the present application is shown in the following figure:
[0115] Figure 13 A flow chart of starting point and ending point processing in an embodiment of the present application is shown in the following figure:
[0116] Figure 14A vertical curve segmentation schematic diagram for an embodiment of the present application. DETAILED DESCRIPTION
[0117] Embodiment one
[0118] As Figure 1 shown, a Dynamo-based parametric vertical profile route modeling method includes the following steps:
[0119] S1, collecting necessary parameters according to a vertical profile route related design document;
[0120] S2, establishing an Excel table for the collected parameters, and reading the table using a Dynamo built-in node;
[0121] S3, traversing all parameters;
[0122] S4, drawing vertical curves according to the parameters, and adding all vertical curves to a curve list;
[0123] S5, traversing all vertical curves;
[0124] S6, drawing corresponding straight line segments according to the relevant vertical curves, and adding the straight line segments to the curve list;
[0125] S7, further processing the start point and the end point of the vertical profile route;
[0126] S8, outputting the drawn vertical curve route.
[0127] Preferably, in step S1, the necessary parameters collected according to the vertical profile route related design document include: slope, slope length, each vertical curve radius, tangent length, slope change point elevation, vertical profile route start point elevation, end point elevation, and related drop point markers.
[0128] Preferably, in step S2, the collected parameter information is subjected to table establishment operation using Excel software to form a data matrix with a certain structure.
[0129] Preferably, in step S2, a Dynamo built-in “File Path” node is used to read a data path, and then the path is input to a “File From Path” node to read data and form a parameter matrix.
[0130] Preferably, in step S3, the parameter matrix is traversed, and a basic unit for traversal is a vertical curve radius, a tangent length, a slope change point elevation, and slopes before and after the vertical curve and slope lengths.
[0131] Preferably, in step S4, the vertical curves are drawn according to the parameters, including:
[0132] S41, calculating the corresponding accumulated slope length of each vertical curve, and assuming that the parameter matrix is as follows:
[0133] ;
[0134] wherein , is the slope, is the slope length, , are the vertical curve radius, tangent length and vertical curve point elevation respectively, is the number of vertical curves, and the vertical curve The corresponding cumulative slope length calculation method is represented as:
[0135] ;
[0136] wherein represents the cumulative slope length corresponding to the th vertical curve;
[0137] S42, calculate the vertical curve concave-convex mark, the calculation method is represented as:
[0138] ;
[0139] wherein represents the concave-convex mark of the th vertical curve, are six states of the mark respectively;
[0140] S43, generate a negative sampling point set and a positive sampling point set, the calculation method is represented as:
[0141] ;
[0142] wherein represents the negative sampling point set of the th vertical curve, represents the positive sampling point set of the th vertical curve, is the sampling step, is the floor of ;
[0143] S44, calculate the sampling point elevation;
[0144] S45, calculate the sampling point x coordinate, the calculation method can be represented as:
[0145] ;
[0146] wherein respectively represent the x coordinates of the positive sampling point and the negative sampling point, is the value corresponding to the sampling point set after inversion, is the slope;
[0147] S46, generate entity points set according to the elevation and x coordinate of the sampling points using the "Point.ByCoordinates" node of Dynamo wherein is the number of sampling points on the vertical curve;
[0148] S47, fit all entity points to generate and draw the vertical curve using the "NurbsCurve.ByPoints" node of Dynamo add to the curve list after traversing all parameters, the curve list , is the number of vertical curves.
[0149] Preferably, the specific method for calculating the elevation of the sampling points comprises:
[0150] S441, calculate the outward offset of the sampling points, the calculation method is represented as:
[0151] ;
[0152] wherein represents the outward offset of the corresponding sampling point, is the value of the sampling point, is the slope, is the radius of the vertical curve;
[0153] S442, calculate the vertical elevation distance corresponding to the outward offset, the calculation method is represented as:
[0154] ;
[0155] wherein represents the outward offset of the corresponding sampling point, is the value of the sampling point, is the slope, is the tangent length of the vertical curve;
[0156] S443, calculate the elevation of the sampling points, the calculation method is represented as:
[0157] when the concave-convex mark , ;
[0158] wherein are the elevations corresponding to the negative sampling points and the positive sampling points, respectively;
[0159] when the concave-convex mark , ;
[0160] wherein Expression is ;
[0161] When the concave-convex mark , ;
[0162] Wherein Expression is ;
[0163] When the concave-convex mark , ;
[0164] When the concave-convex mark , ;
[0165] Wherein Expression is ;
[0166] When the concave-convex mark , ;
[0167] Wherein Expression is .
[0168] Preferably, in step S6, the corresponding straight line segment is drawn according to the relevant vertical curve, comprising:
[0169] S61, the starting point of the straight line segment is obtained, where the straight line segment refers to the straight line segment between two vertical curves, and the starting point of the straight line segment is obtained by using the "Curve.PointAtParameter" node of Dynamo for the vertical curve before the straight line segment ;
[0170] S62, the end point of the straight line segment is obtained, and the end point of the straight line segment is also obtained by using the "Curve.PointAtParameter" node of Dynamo for the vertical curve after the straight line segment ;
[0171] S63, for and , the straight line segment is drawn by using the "Line.ByStartPointEndPoint" node of Dynamo , the straight line segment is added to the curve list , after traversing all vertical curves, the curve list . .
[0172] Preferably, in step S7, the starting point and the end point of the vertical curve route are further processed, and first, the starting point is processed, and here the falling point of the starting point is marked Let's discuss:
[0173] When the landing point is marked The steps include:
[0174] Process the starting point:
[0175] S71a, Obtaining the vertical curve The starting point , then obtain elevation value and x-coordinate ;
[0176] S71b. Calculate the x-coordinate of the starting point of the longitudinal profile route. The calculation method can be expressed as follows:
[0177] ;
[0178] in The starting elevation;
[0179] S71c, according to and the starting elevation of the route Generate entity points ;
[0180] S71d, according to and Generate a straight line and will Add to curve list ;
[0181] When the landing point is marked The steps include:
[0182] Process the starting point:
[0183] S71e, Calculating the vertical curve concave-convex markings ;
[0184] S71f, Obtaining the Vertical Curve midpoint , then obtain elevation value ;
[0185] S71g, for vertical curves Sampling is performed, and the sample set is generated. ,in Midpoint ;
[0186] S71h, Calculate the retrieval set The calculation method can be expressed as:
[0187] ;
[0188] in The elevation of the starting point of the route;
[0189] S71i, to Perform the traversal, if ,use and Create entity points ;if or ,use and Create entity points ,in For the first The x and z coordinates of each point;
[0190] S71j, via Draw a perpendicular line , Will Divide into two parts: delete the parts that are not connected to the set;
[0191] After processing the route start point, process the route end point according to the end point's landing point marker. Let's discuss:
[0192] When the landing point is marked The steps include:
[0193] Process the endpoint:
[0194] S72a, Obtaining the vertical curve The End , then obtain elevation value and x-coordinate ;
[0195] S72b. Calculate the x-coordinate of the end point of the longitudinal profile route. The calculation method can be expressed as follows:
[0196] ;
[0197] in The endpoint elevation;
[0198] S72c, according to and the elevation of the route endpoint Generate entity points ;
[0199] S72d, according to and Generate a straight line and will Add to curve list ;
[0200] When the drop point marker is drawn, the steps include:
[0201] The end point is processed:
[0202] S72e, calculate the vertical curve concave-convex marker ;
[0203] S72f, get the midpoint of the vertical curve , and get the elevation value of the vertical curve ;
[0204] S72g, sample the vertical curve , and the sampling set , where , that is, the midpoint ;
[0205] S72h, calculate the search set , and the calculation method can be represented as:
[0206] ;
[0207] , where is the elevation of the route end point;
[0208] S72j, traverse , if , create an entity point using and ; if or , create an entity point using and , where is the x-coordinate and z-coordinate of the nth point; S71j, draw a perpendicular line
[0209] , , divide into two parts, and delete the part not connected to the set. Preferably, in step S8, the drawn vertical curve route is output, including:
[0210] S81, use the “PolyCurve.ByJoinedCurves” node of Dynamo to connect all curves or straight lines in the curve list into one whole ;
[0211]
[0212] S82, using Dynamo's "ImportInstance.ByGeometry" node to import the Revit software, and finally save it as a ".rvt", ".rfa" or ".fbx" format model.
[0213] Example Two:
[0214] As shown in Figure 2 , the present application takes a certain intercity underground railway tunnel longitudinal section route as an example, Figure 2 , which is a schematic diagram of two vertical curves and a straight line segment between them. The straight line segment between the two curves is abbreviated.
[0215] In step S1, the necessary parameters of the longitudinal section route need to be collected, including: slope length, slope, vertical curve radius, tangent length, slope change point elevation, and the starting point elevation, ending point elevation and related drop point markers of the longitudinal section route. This part will be shown in steps S7 and Figure 11 and Figure 12 .
[0216] As shown in Table 1, in step S2, an Excel table needs to be constructed for the collected parameters. Table 1 contains all the parameters of this example. Taking "slope 1" as an example, "0.002" is the slope. When the slope increases, it is positive, otherwise it is negative. Taking "vertical curve 1" as an example, "8000" is the vertical curve radius, "28" is the tangent length, and "18.668" is the slope change point elevation. The last line is the starting point and ending point parameters of the vertical curve route. "0 18.324 0 51.199" respectively represent the starting drop point marker, starting elevation, ending drop point marker, and ending elevation. Taking the starting point as an example, when the starting point falls outside the vertical curve, the drop point marker is 0, and when it falls inside the vertical curve, the drop point marker is 1.
[0217]
[0218] Table 1: Construction of Excel table for collected parameters;
[0219] As shown in Figure 3 , in step S2, the "File Path" node of Dynamo is used to read the data path, and then the path is input into the "File From Path" node to read the data and form a parameter matrix, Figure 3 , which is all the Dynamo nodes used in this example.
[0220] Step S3, traversing the parameter matrix, a basic unit of the traversal is vertical curve radius, tangent length, elevation of change point, and slope and slope length before and after the vertical curve, in the embodiment, a unit of the traversal is "slope 1-vertical curve 1-slope 2", "slope 2-vertical curve 2-slope 3", and so on.
[0221] In step S4, the vertical curve is drawn according to the parameters, including:
[0222] S41, calculating the accumulated slope length corresponding to each vertical curve, assuming that the parameter matrix is as follows:
[0223] ;
[0224] wherein , is the slope, is the slope length, , are respectively the vertical curve radius, the tangent length and the elevation of the change point, is the number of vertical curves, and the vertical curve The calculation method of the accumulated slope length corresponding to each vertical curve is as follows:
[0225] ;
[0226] wherein represents the accumulated slope length corresponding to the i-th vertical curve; According to the above, the parameter matrix of the embodiment is as follows:
[0227] , , , . S42, calculating the concave-convex mark of the vertical curve, and the calculation method is as follows:
[0228]
[0229] ; wherein
[0230] represents the concave-convex mark of the i-th vertical curve, are respectively six states of the mark, as shown in the following table: Figures 4-9
[0231] Taking the "vertical curve 1" of the embodiment as an example, , then .
[0232] S43, generating the negative sampling point set and the positive sampling point set, and the calculation method is as follows:
[0233] ;
[0234] wherein represents a negative sampling point set of the th vertical curve, represents a positive sampling point set of the th vertical curve, is a sampling step, is a rounding down operation, in the embodiment, , taking the "vertical curve 1" of the embodiment as an example, , the negative sampling and the positive sampling thereof are respectively:
[0235] ;
[0236] S44, calculating the sampling point elevation, comprising:
[0237] S441, calculating the outer distance of the sampling point, the calculation method is represented as:
[0238] ;
[0239] wherein represents the outer distance of the corresponding sampling point, is the sampling point value, is the slope length, is the vertical curve radius, taking the first point of the positive sampling of the "vertical curve 1" of the embodiment as an example, , , , .
[0240] S442, calculating the vertical elevation distance corresponding to the outer distance, the calculation method is represented as:
[0241] ;
[0242] wherein represents the outer distance of the corresponding sampling point, is the sampling point value, is the slope, is the vertical curve tangent length, taking the first point of the positive sampling of the "vertical curve 1" of the embodiment as an example, , , , .
[0243] S443, calculating the sampling point elevation, the calculation method is represented as:
[0244] when the concave-convex mark , ;
[0245] wherein respectively represent the elevations of the negative sampling points and the positive sampling points;
[0246] When the concave-convex mark , ;
[0247] wherein The expression is ;
[0248] When the concave-convex mark , ; wherein The expression is ;
[0249] When the concave-convex mark , ;
[0250] When the concave-convex mark , ; wherein The expression is ;
[0251] When the concave-convex mark , ; wherein The expression is ;
[0252] Taking the first point of the "vertical curve 1" positive sampling in the embodiment as an example, , then The elevation of the first point in the set is .
[0253] S45, calculate the x coordinate of the sampling point, and the calculation method can be represented as:
[0254] ;
[0255] wherein respectively represent the x coordinates of the positive sampling points and the negative sampling points, is the value corresponding to the reversed sampling point set, is the slope, taking the first point of the "vertical curve 1" positive sampling in the embodiment as an example, the reversed sampling point set is , at this time, the value of the first point is 0, that is , , then the x coordinate of the first point of the positive sampling is .
[0256] S46, use the "Point.ByCoordinates" node of Dynamo to generate an entity point set according to the elevations and x coordinates of the sampling points ,in The number of sampling points on the vertical curve is given by the parameter of this node. ,in Let x be the x-coordinate. Elevation.
[0257] S47, according to The vertical curve is generated and plotted by fitting all solid points using Dynamo's "NurbsCurve.ByPoints" node. ,Will Add to curve list After iterating through all parameters, the curve list is generated. , This represents the number of vertical curves.
[0258] Step S5, list the curves Perform a traversal.
[0259] like Figure 10 As shown, in step S6, the corresponding straight line segment is drawn based on the relevant vertical curve, including:
[0260] S61, obtain the starting point of the line segment. Here, the line segment refers to the line segment between two vertical curves. Use the "Curve.PointAtParameter" node of Dynamo to obtain the starting point of the line segment for the vertical curve preceding the line segment. The parameters of this node are .
[0261] S62, obtain the endpoint of the line segment. Similarly, for the vertical curve following the line segment, use Dynamo's "Curve.PointAtParameter" node to obtain the endpoint of the line segment. The parameters of this node are .
[0262] S63, for and Draw a line segment using Dynamo's "Line.ByStartPointEndPoint" node. The parameters of this node are , the straight line segment Add to curve list After traversing all vertical curves, the curve list is generated. ;
[0263] like Figures 11-14 In step S7, the starting and ending points of the vertical curve route are further processed. First, the starting point is processed, based on the landing point marking of the starting point. Discussion will be held when the landing point is marked. The steps include:
[0264] S710, Process the starting point:
[0265] S71a, Obtaining the vertical curve The starting point , then obtain elevation value and x-coordinate ;
[0266] S71b. Calculate the x-coordinate of the starting point of the longitudinal profile route. The calculation method can be expressed as follows:
[0267] ;
[0268] in The starting elevation;
[0269] S71c, according to and the starting elevation of the route Generate entity points ;
[0270] S71d, according to and Generate a straight line and will Add to curve list ;
[0271] When the landing point is marked The steps include:
[0272] S710, Process the starting point:
[0273] S71a, Calculate the vertical curve concave-convex markings ;
[0274] S71b, Obtaining the Vertical Curve midpoint , then obtain elevation value ;
[0275] S71c, for vertical curves Sampling is performed, and the sample set is generated. ,in Midpoint ;
[0276] S71d, Calculate the retrieval set The calculation method can be expressed as:
[0277] ;
[0278] in The elevation of the starting point of the route;
[0279] S71e, to Perform the traversal, if ,use and Create entity points ;if or ,use and Create entity points ,in For the first x-coordinates and z-coordinates (elevation) of each point;
[0280] S71f, via Draw a perpendicular line , Will Divide into two parts: delete the parts that are not connected to the set;
[0281] In this embodiment, based on the parameter matrix, the landing point of the starting point is marked as follows: The elevation is 18.575, and the calculated concave-convex mark is... vertical curve midpoint elevation value ,right Sampling is performed with a sampling step size of 0.1, and the retrieved set can be calculated. By traversing the search set, we can see that , Create a solid point using (717,0,18.166). ,Pass Draw a perpendicular line , Will It is divided into two parts: the part that is not connected to the set is deleted, that is, the left part.
[0282] After processing the route start point, the route end point is processed, based on the endpoint's location marker. Discussion will be held when the landing point is marked. The steps include:
[0283] S720. Process the endpoint:
[0284] S72a, Obtaining the vertical curve The End , then obtain elevation value and x-coordinate ;
[0285] S72b. Calculate the x-coordinate of the end point of the longitudinal profile route. The calculation method can be expressed as follows:
[0286] ;
[0287] wherein is the end point elevation;
[0288] S72c, generating entity points according to and the route end point elevation ; ;
[0289] S72d, generating straight lines according to and ; and adding to the curve list ;
[0290] When the drop point marker , the steps include:
[0291] S720, processing the end point:
[0292] S72a, calculating the vertical curve concave-convex marker ;
[0293] S72b, obtaining the midpoint of the vertical curve , and obtaining the elevation value of ;
[0294] S72c, sampling the vertical curve , and the sampling set , wherein is the midpoint ;
[0295] S72d, calculating the search set , and the calculation method can be represented as:
[0296] ;
[0297] wherein is the route end point elevation;
[0298] S72e, traversing , if , creating an entity point using and ; if or , creating an entity point using and , wherein is the first x-coordinates and z-coordinates (elevation) of each point;
[0299] S71f, via Draw a perpendicular line , Will It is divided into two parts: deleting the parts that are not connected to the set.
[0300] In this embodiment, based on the parameter matrix, the landing point of the starting point is marked as follows: The elevation is 51.199. The End , , , but ,according to Generate entity points According to the generation And add them to the curve list. At this point, all vertical curves and straight line segments in this embodiment have been drawn, and the curve list is complete. ,in for The reserved portion on the right;
[0301] Finally, in step S8, for 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 longitudinal profile route modeling method based on Dynamo, characterized in that, Includes the following steps: S1. Collect necessary parameters based on the relevant design documents of the longitudinal profile route, including: slope, slope length, radius of each vertical curve, tangent length, elevation of slope change point, elevation of the starting point of the longitudinal profile route, elevation of the ending point, and relevant landing point markings. S2, create an Excel spreadsheet from the collected parameters, and use Dynamo's built-in nodes to read the spreadsheet, including: Use Dynamo's built-in "File Path" node to read the data path, and then input the path into the "File FromPath" node to read the data and form a parameter matrix; S3, iterate through all parameters; S4, draw vertical curves based on parameters, and add all vertical curves to the curve list, including: S41, calculate the cumulative slope length corresponding to each vertical curve, assuming the parameter matrix is as follows: ; in , For slope, For the slope length, , These are the vertical curve radius, tangent length, and elevation of the slope change point, respectively. The number of vertical curves, vertical curves The corresponding cumulative slope length calculation method is expressed as follows: ; in Representing the The cumulative slope length corresponding to each vertical curve; S42, calculate the vertical curve convex / concave markings. The calculation method is as follows: ; in Representing the The raised and recessed markings of a vertical curve, These represent the six marked states; S43 generates the negative sampling point set and the positive sampling point set, and the calculation method is expressed as follows: ; in Representing the The set of negative sampling points for each vertical curve. Representing the The set of positive sampling points for each vertical curve. The sampling step size, To Round down; S44, calculate the elevation of the sampling point; S45, calculate the x-coordinate of the sampling point, the calculation method is expressed as follows: ; in These represent the x-coordinates of the positive and negative sampling points, respectively. The value corresponding to the reversed set of sampling points. Slope; S46, Use Dynamo's "Point.ByCoordinates" node to generate a set of entity points based on the elevation and x-coordinate of the sampling points. ,in This represents the number of sampling points on the vertical curve. S47, according to The "NurbsCurve.ByPoints" node in Dynamo is used to fit all solid points to generate and draw vertical curves. ,Will Add to curve list After iterating through all parameters, the curve list is generated. , The number of vertical curves; S5. Traverse all vertical curves; S6. Draw the corresponding straight line segments based on the relevant vertical curves, and add the straight line segments to the curve list; S7. Further processing of the starting and ending points of the longitudinal profile route; S8. Output the completed vertical curve route.
2. The parametric longitudinal profile route modeling method based on Dynamo according to claim 1, characterized in that: In step S3, the parameter matrix is traversed. The basic unit of the traversal is the vertical curve radius, tangent length, elevation of the slope change point, and the slope and slope length before and after the vertical curve.
3. The parametric longitudinal profile route modeling method based on Dynamo according to claim 1, characterized in that: Specific methods for calculating the elevation of sampling points include: S441, calculate the external vector distance of the sampling point, the calculation method is expressed as follows: ; in Represents the external vector distance of the corresponding sampling point. These are the sampled point values. For slope, The radius of the vertical curve; S442, calculate the vertical elevation distance corresponding to the external distance, the calculation method is expressed as: ; in Represents the external vector distance of the corresponding sampling point. These are the sampled point values. For slope, The length of the tangent to the vertical curve; S443, calculate the elevation of the sampling points. The calculation method is as follows: When the embossed mark hour, ; in These represent the elevations corresponding to the negative and positive sampling points, respectively. When the embossed mark hour, ; in The expression is ; When the embossed mark hour, ; in The expression is ; When the embossed mark hour, ; When the embossed mark hour, ; in The expression is ; When the embossed mark hour, ; in The expression is .
4. The parametric longitudinal profile route modeling method based on Dynamo according to claim 3, characterized in that: In step S6, the corresponding straight line segments are drawn based on the relevant vertical curves, including: S61, obtain the starting point of the line segment. Here, the line segment refers to the line segment between two vertical curves. Use the "Curve.PointAtParameter" node of Dynamo to obtain the starting point of the line segment for the vertical curve preceding the line segment. ; S62, obtain the endpoint of the line segment. Similarly, for the vertical curve following the line segment, use Dynamo's "Curve.PointAtParameter" node to obtain the endpoint of the line segment. ; S63, for and Draw a line segment using Dynamo's "Line.ByStartPointEndPoint" node. , the straight line segment Add to curve list After traversing all vertical curves, the curve list is generated. .
5. The parametric longitudinal profile route modeling method based on Dynamo according to claim 4, characterized in that: In step S7, the starting and ending points of the vertical curve route are further processed. First, the starting point is processed based on the landing point marking of the starting point. Let's discuss: When the landing point is marked The steps include: Process the starting point: S71a, Obtaining the vertical curve The starting point , then obtain elevation value and x-coordinate ; S71b. Calculate the x-coordinate of the starting point of the longitudinal profile route. The calculation method is expressed as follows: ; in The starting elevation; S71c, according to and the starting elevation of the route Generate entity points ; S71d, according to and Generate a straight line and will Add to curve list ; When the landing point is marked The steps include: Process the starting point: S71e, Calculating the vertical curve concave-convex markings ; S71f, Obtaining the Vertical Curve midpoint , then obtain elevation value ; S71g, for vertical curves Sampling is performed, and the sample set is generated. ,in Midpoint ; S71h, Calculate the retrieval set The calculation method is expressed as follows: ; in The elevation of the starting point of the route; S71i, to Perform the traversal, if ,use and Create entity points ;if or ,use and Create entity points ,in For the first The x and z coordinates of each point; S71j, via Draw a perpendicular line , Will Divide into two parts: delete the parts that are not connected to the set; After processing the route start point, process the route end point according to the end point's landing point marker. Let's discuss: When the landing point is marked The steps include: Process the endpoint: S72a, Obtaining the vertical curve The End , then obtain elevation value and x-coordinate ; S72b. Calculate the x-coordinate of the end point of the longitudinal profile route. The calculation method is expressed as follows: ; in The endpoint elevation; S72c, according to and the elevation of the route endpoint Generate entity points ; S72d, according to and Generate a straight line and will Add to curve list ; When the landing point is marked The steps include: Process the endpoint: S72e, Calculate the vertical curve concave-convex mark ; S72f, Obtaining the Vertical Curve midpoint , then obtain elevation value ; S72g, for vertical curves Sampling is performed, and the sample set is generated. ,in Midpoint ; S72h, Calculate the retrieval set The calculation method is expressed as follows: ; in The elevation of the route's endpoint; S72j, to Perform the traversal, if ,use and Create entity points ;if or ,use and Create entity points ,in For the first The x and z coordinates of each point; S71j, via Draw a perpendicular line , Will It is divided into two parts: delete the parts that are not connected to the set.
6. The parametric longitudinal profile route modeling method based on Dynamo according to claim 5, characterized in that: In step S8, the completed vertical curve route is output, including: S81, use Dynamo's "PolyCurve.ByJoinedCurves" node to connect all curves or lines in the curve list into a single unit. ; S82, using Dynamo's "ImportInstance.ByGeometry" node to... Import it into Revit software, and then... Save the model as a ".rvt", ".rfa", or ".fbx" format.
Citation Information
Patent Citations
Longitudinal section line layout method and system, terminal and readable storage medium
CN113190892A
Revit-based roadbed slope lattice girder construction model building method
CN113779684A