CN117708956B - RevitAPI-based parametric modeling method for shield tunnel and duct piece - Google Patents

RevitAPI-based parametric modeling method for shield tunnel and duct piece Download PDF

Info

Publication number
CN117708956B
CN117708956B CN202410116205.XA CN202410116205A CN117708956B CN 117708956 B CN117708956 B CN 117708956B CN 202410116205 A CN202410116205 A CN 202410116205A CN 117708956 B CN117708956 B CN 117708956B
Authority
CN
China
Prior art keywords
model
segment
parameters
normal vector
math
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410116205.XA
Other languages
Chinese (zh)
Other versions
CN117708956A (en
Inventor
王赶
孟裕翔
房倩
李启明
王军
张素华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jiaotong University
Original Assignee
Beijing Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jiaotong University filed Critical Beijing Jiaotong University
Priority to CN202410116205.XA priority Critical patent/CN117708956B/en
Publication of CN117708956A publication Critical patent/CN117708956A/en
Application granted granted Critical
Publication of CN117708956B publication Critical patent/CN117708956B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/14Force analysis or force optimisation, e.g. static or dynamic forces

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Architecture (AREA)
  • Mathematical Analysis (AREA)
  • Structural Engineering (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Civil Engineering (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Lining And Supports For Tunnels (AREA)

Abstract

The invention relates to a RevitAPI-based shield tunnel and segment parameterized modeling method, which comprises the following steps: obtaining geometrical parameters and mechanical parameters of a shield segment, and constructing a segment main body model, a hole site model, a concave-convex tenon model, a joint and a waterproof rubber model through RevitAPI according to the geometrical parameters and the mechanical parameters; fusing the segment main body model, the hole site model, the concave-convex tenon model and the joint and waterproof rubber model to obtain a refined shield segment model; and determining the position of the refined shield segment model, and assembling the refined shield segment model according to the position to obtain a shield tunnel model. According to the invention, through carrying out a series of moving and rotating operations by RevitAPI, accurate assembly and seamless assembly between segment rings with wedge-shaped quantity can be realized, no mold penetration occurs, and a tunnel model which is practically consistent with engineering is constructed.

Description

RevitAPI-based parametric modeling method for shield tunnel and duct piece
Technical Field
The invention relates to the technical field of parameterized modeling, in particular to a RevitAPI-based parameterized modeling method for shield tunnels and duct pieces.
Background
The current digital twinning technology is evolving at a high rate, which requires the skilled person to model a sufficiently fine structural model. For a shield tunnel, a typical multi-body splicing structure relates to how to seamlessly splice a plurality of components, so that the same effect as that of a structure in reality is achieved.
At present, the state greatly develops a digital basic construction plan, and a refined structural model is required to be established. For the shield tunnel, the existing method utilizes software to build a model of a ring segment, and then a CAD graph is secondarily obtained. In practice, in order to realize the turning of the shield tunnel, no matter what tunnel is involved, the segments with wedge-shaped quantity are very easy to mutually assemble without wedge-shaped quantity. However, for the concrete calculation method of constructing a complete shield tunnel by mutually assembling and spatially positioning segments with wedge-shaped quantities between the segments and bolts, few researches exist. The existing method also provides modeling of individual duct pieces or simple duct piece assembly without wedge-shaped quantity, and no method is provided for realizing seamless assembly of duct pieces related to a wedge-shaped quantity tunnel, and bolts are installed in a seamless mode. The forced assembly of segments with wedge-shaped amounts by these techniques results in mold penetration. If the model is checked through collision, only the through mold point can be found, the calculation cost is high, the modification cannot be carried out, and a calculation method for accurate assembly is still needed.
Disclosure of Invention
The invention aims to provide a RevitAPI-based shield tunnel and duct piece parameterized modeling method, and provides an accurate assembling method of bolts and duct pieces and accurate assembling between duct pieces with wedge-shaped quantity based on the established duct pieces, so that the established shield tunnel model is ensured not to be penetrated.
In order to achieve the above object, the present invention provides the following solutions:
the RevitAPI-based parameterized modeling method for the shield tunnel and the duct piece comprises the following steps:
Obtaining geometrical parameters and mechanical parameters of a shield segment, and constructing a segment main body model, a hole site model, a concave-convex tenon model, a joint and a waterproof rubber model through RevitAPI according to the geometrical parameters and the mechanical parameters;
Fusing the segment main body model, the hole site model, the concave-convex tenon model and the joint and waterproof rubber model to obtain a refined shield segment model;
and determining the position of the refined shield segment model, and assembling the refined shield segment model according to the position to obtain a shield tunnel model.
Optionally, constructing the segment body model includes:
inputting segment body parameters, receiving the input parameters based on Textbox text boxes, and storing the segment body parameters by instantiation SEGMENTPARA;
Storing the received input parameters into a state.csv file under a Revit family template folder path, updating the input parameters into an S class by using a UpdataTrue () method in a window class, calling FLST-CSegment classes, reading the latest updated parameters in the S class, and constructing the segment body model;
Wherein, the FLST-CSegment class comprises a module, a wedge amount and a creation model of a mechanical parameter label; the module comprises: the sealing block, the left adjacent block, the right adjacent block and the standard block.
Optionally, constructing the tongue-and-groove model includes:
And determining the central position of the rebate model according to the offset from the axis of the duct piece, the offset from the longitudinal bolts and the distance, respectively generating a top surface contour and a ground contour based on Arc and Line basic classes in RevitAPI according to the rebate length, the top surface radius and the bottom surface radius in the geometric parameters, and lofting between the top surface contour and the ground contour through a lofting fusion function in RevitAPI to construct the rebate model.
Optionally, fusing based on the segment body model and the hole site model includes:
Inputting parameters of a circumferential bolt hole, a longitudinal bolt hole, a grouting hole and a positioning hole respectively, receiving the input parameters based on Textbox text boxes, updating variables in Zjkpara types, re-instantiating SEGMENTPARA types, reading the latest updated parameters in state.csv files, and acquiring hole position by combining the updated variables in Zjkpara types;
And taking the updated variables in Zjkpara types as input, combining with a creation model of the module, obtaining a hole site model, and shearing based on the hole site model, the hole site position and the pipe segment main body model to obtain the pipe segment main body model with the bolt holes, the grouting holes and the positioning holes.
Optionally, fusing the segment body mold and the joint, waterproof rubber mold comprises:
Reading a drawing file, storing a drawing path to a path variable, searching a family template file in a Revit profile family file, newly building a family file, importing a CAD drawing in the path variable into the newly built family file, and storing a joint file as a ring/longitudinal joint;
Filtering out all ImportInstance type elements based on ELEMENTCLASSFILTER element filters in RevitAPI, forcibly converting the filtered elements into ImportInstance type elements, obtaining geometric elements, converting the geometric elements into geometric examples, converting the geometric examples into geometric objects, further converting into Polyline forms, obtaining endpoint coordinates of each line by using a getCorrdinates method, presetting a connection sequence, connecting all endpoints based on a line. CreateBound method, finally converting the connected endpoints into a visible form by using the NewDetailCurve method, restoring an original contour, setting out a joint and waterproof rubber model of the original contour along a preset path, and cutting with the segment body model to obtain a segment body model with joints.
Optionally, the position of the refined shield segment model includes: the center point coordinates of the starting surface, the normal vector of the starting surface and the assembly point positions.
Optionally, obtaining the initial surface normal vector includes:
Judging whether the Z coordinate of the normal vector of the initial surface is larger than a target value, if so, calculating the angle y of the normal vector of the initial surface based on a first calculation model; if the angle y is smaller than the target value, calculating the angle y of the normal vector of the initial surface based on a second calculation model.
Optionally, the method for calculating the angle y of the normal vector of the initial surface by using the first calculation model is as follows:
y=-Math.Acos((Nv.X*Nv.X+Nv.Y*NvY)/((norm(Nv))*norm(new XYZ(Nv.X,Nv.Y,0))))*180/Math.PI
calculating the angle y of the normal vector of the initial surface based on a second calculation model as follows:
y=Moth.Acos((Nv.X*Nv.X+Nv.Y*Nv.Y)/((norm(Nv))*norm(new XYZ(Nv.X,Nv.Y,0))))*180/Math.PI
Wherein, math.Acos is an inverse cosine trigonometric function, nv.X is an X-direction component of the normal vector of the initial plane, nv.Y is a Y-direction component of the normal vector of the initial plane, norm (Nv) is a unit vector which changes the length of the normal vector into a unit vector, math.PI is 180 degrees, and new XYZ is a newly built point.
Optionally, obtaining the initial surface normal vector includes:
judging whether the Y coordinate of the normal vector of the initial surface is larger than a target value, if so, calculating the angle Z of the normal vector of the initial surface based on a third calculation model; if the angle Z is smaller than the target value, calculating the angle Z of the normal vector of the initial surface based on a fourth calculation model.
Optionally, the method for calculating the angle Z of the normal vector of the start surface based on the third calculation model is as follows:
z=Math.Acos(Nv.X/Math.Sqrt((Nv,X*N.X)+(Nv.Y*Nv.Y))))*180/Moth.PI
the method for calculating the angle Z of the normal vector of the initial surface based on the fourth calculation model comprises the following steps:
z=-Moth.Acos(Nv.X/Math.Sqrt((Nv.X*Nv.X)+(Nv.Y*Nv.Y)))*180/Math.PI
wherein Math.Sqrt is the root number.
The beneficial effects of the invention are as follows:
The invention solves the problem of accurate spatial positioning of a plurality of components of the shield tunnel, realizes seamless assembly, and avoids mold penetration, and comprises a pipe piece and a bolt.
According to the invention, through carrying out a series of moving and rotating operations by RevitAPI, accurate assembly and seamless assembly between segment rings with wedge-shaped quantity can be realized, no mold penetration occurs, and a tunnel model which is practically consistent with engineering is constructed.
The invention can simultaneously create three segment models in different forms, including a standard ring, a single-side wedge ring and a universal wedge ring, so as to meet different engineering requirements.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions of the prior art, the drawings that are needed in the embodiments will be briefly described below, it being obvious that the drawings in the following description are only some embodiments of the present invention, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of a RevitAPI-based parameterized modeling method for shield tunnels and segments in an embodiment of the invention;
FIG. 2 is a schematic diagram of a parametric modeling method for shield tunnels and segments based on RevitAPI according to an embodiment of the present invention;
FIG. 3 is a schematic view of constructing a segment body model according to an embodiment of the present invention;
FIG. 4 is a schematic diagram of calculation of coordinates of a grouting hole according to an embodiment of the present invention;
FIG. 5 is a schematic diagram of a method for calculating coordinates of a grouting hole according to an embodiment of the present invention;
FIG. 6 is a detailed flow chart of modeling a grouting hole according to an embodiment of the invention;
FIG. 7 is a schematic diagram of calculation of coordinates of a longitudinal bolt hole according to an embodiment of the present invention;
FIG. 8 is a schematic diagram of calculation of coordinates of circumferential bolt holes according to an embodiment of the present invention;
FIG. 9 is a schematic diagram of calculating the coordinates of the rebate according to an embodiment of the present invention;
FIG. 10 is a detailed flow chart of seam modeling in accordance with an embodiment of the present invention;
fig. 11 is a flow chart of segment assembly according to an embodiment of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
In order that the above-recited objects, features and advantages of the present invention will become more readily apparent, a more particular description of the invention will be rendered by reference to the appended drawings and appended detailed description.
The invention divides parameterized modeling data into two major categories, namely geometric parameters and mechanical parameters, wherein the geometric parameters comprise parameters of a duct piece main body, parameters of annular/longitudinal bolt holes, parameters of grouting holes and positioning holes, parameters of concave-convex tenons, parameters of annular/longitudinal joints and parameters of waterproof rubber pads; the duct piece main body parameters comprise duct piece inner diameter, outer diameter, width, wedge amount and angles of the seal block/adjacent block/standard block, the annular/longitudinal bolt hole parameters comprise bolt hole diameter, bolt hole depth, hand hole width, hand hole angle, hand hole diameter and spacing, the annular/longitudinal bolt parameters comprise bolt diameter and bolt length, the grouting hole and positioning hole parameters comprise grouting hole radius/depth, positioning hole radius/depth and positioning hole spacing, the tenon and tenon parameters comprise tenon and tenon length, depth, spacing, top surface radius, bottom surface radius, offset from the axis of the duct piece and offset from the longitudinal bolt, and the annular/longitudinal seam and the profile parameters of the waterproof rubber pad are directly obtained by importing CAD drawing; the mechanical parameters mainly comprise axial force, shearing force, bending moment and the like of the segment.
1-2, The invention discloses a RevitAPI-based parameterized modeling method for shield tunnels and duct pieces, which comprises the following steps: firstly, segment body creation is carried out, a segment body button of an insert is clicked, an input window is generated, segment types (standard rings, single-side wedges or universal wedges) are selected, segment body parameters are input, a segment body model is generated, and segment body parameters are stored as basic parameters for later use; and then the bolt holes, the bolts, the grouting holes, the positioning holes, the joints, the tenons and the waterproof rubber pads are created, which is approximately the same as the segment main body modeling method, but the placement positions of the segment main body modeling method are determined by means of basic data, and CAD files of the contours of the joints and the waterproof rubber pads are read from a computer to be modeled.
Modeling principle: each component of the segment (including the segment body) has a corresponding parameter Class and modeling Class (Class in the c# program), for example, the parameter Class and modeling Class of the segment body are FLST _ SEGMENTPARA and FLST _ CSegment, respectively, the parameter Class and modeling Class of the grouting hole are FLST _ zjkPara and FLST _ Czjk, respectively, and the naming manners of the parameter classes and modeling classes of other components are the same as those of the two components, and are not repeated herein. The parameter class is used to store relevant data and the modeling class is used to perform modeling operations. As shown in fig. 2, after clicking the corresponding button of the plug-in unit, a window for inputting parameters is generated, wherein parameters of the segment body, the bolt hole, the bolt, the grouting hole, the positioning hole and the rebate need to input corresponding values according to a schematic diagram in the window, after inputting, the plug-in unit stores the input parameters into parameter classes of corresponding components through an API, reads the corresponding parameters through modeling classes and builds a model, and a great number of boolean operations are mainly involved. Wherein, other components except the segment body need to be used as basic data to determine the placement position by the segment body parameters. For modeling of joints and waterproof rubber pads, an input window is a CAD file for reading joint contours and waterproof rubber pad contours from a computer, converting the CAD file into contour family files in Revit and loading the contour family files into a modeling file, reading contour family files with specified names through modeling classes, performing hollow lofting fusion on the contours to build a model, and determining the placement positions of the contours by means of segment basic data so as to place the contours on the specified positions.
The working principle of modeling of each part is respectively described as follows:
(1) Modeling a duct piece main body: as shown in fig. 3, after clicking the segment body modeling button, an input window appears in which ComboBox (drop down button) is used to select the segment type, textbox (text input box) is used to receive the entered parameters; instantiating SEGMENTPARA classes (hereinafter referred to as S classes) for storing related parameters of the segment body while generating the window; after inputting all parameters, clicking a 'generating' button, storing the input parameters (duct piece main parameters) into a state.csv file under a Revit group template folder path, updating the input parameters into an S class by a UpdataTrue () method in a window class, calling FLST-CSegment class (called CS class hereinafter) by taking the updated S class as input, and reading the latest parameters in the S class during initialization of the CS class; methods F (), L1 (), L2 (), and B (), which are used for respectively creating the top sealing block, the left adjacent block, the right adjacent block and the standard block, and methods wedgevolume (), CREATEINSTANCEPARAMETER (), which are used for creating wedge quantity and mechanical parameter labels, are included in the CS class;
Taking the creation F () of the capping block as an example, the modeling flow is: ① Creating a Transaction as a necessary condition for creating or modifying a model in a Revit; ② Creating a sketch plane sketchplane which coincides with the Y-Z plane as a stretching reference plane, and respectively creating two sections of circular arcs by using Arc types in RevitAPI with the origin of coordinates as the circle center and the inner diameter and the outer diameter as the radius, wherein the angles of the circular arcs correspond to the angles of the top sealing blocks; ③ Connecting the arc end points at the two ends by using the creation straight line in RevitAPI, and forming a complete segment profile; the profile was boolean stretched using NewBlend method, the stretched length being the segment width (note that the length dimension was divided by 304.8 when input to RevitAPI, and the angle was converted to radians). The creation process of other blocks is the same, for the number of standard blocks is more, the number of standard blocks needs to be calculated by using Math.round () function, then the standard blocks are created at the same position by using for circulation and rotated to the designated position, and when all the blocks are created, a complete standard ring pipe slice model can be formed.
For the wedgevolume () method, this is performed only if the selected segment type is not a standard loop, and if it is a standard loop, this step is skipped automatically. The method utilizes the fact that the wedge-shaped quantity of the pipe piece is a right triangle on a plan view, a hollow stretching model is established by utilizing the principle, the outline of the stretching triangle is the diameter length of the pipe piece, and the hollow model and a standard annular pipe piece main body are sheared, so that modeling of the wedge-shaped quantity can be achieved; for CREATEINSTANCEPARAMETER () method, the group manager FAMILYMANAGER using RevitAPI adds parameters to the group file, and the name of the parameters is defined by the user.
(2) Modeling a grouting hole and a positioning hole: the general flow is the same as the segment body modeling, and also the Zjkpara class (hereinafter referred to as "Z class") and the FLST-CZjk class (hereinafter referred to as "CZ class") are different in that:
When the CZ class is initialized, an S class is re-instantiated, data in a state.csv file is read to update segment main parameters when the S class is initialized, distribution of grouting holes and positioning holes has a certain rule, the grouting holes are in the center positions of blocks, angles corresponding to the grouting holes in the blocks are Angle in FIG. 5, i represents an ith standard block, the positioning holes are distributed on two sides of the grouting holes in the circumferential direction at a certain offset Angle P, specific coordinate positions of the grouting holes on each block can be calculated by combining the Z class and the S class data, a coordinate position calculating method is shown in FIGS. 4 and 5, wherein Nj represents segment inner radius, gphd represents segment thickness, beta represents wedge Angle, wedge1 represents actual wedge amount of the positions of the grouting holes, wedge2 represents total offset amount of the grouting holes from the maximum wedge amount to the minimum wedge amount, and dwedge represents unit distribution amount of wedge2 along an offset path.
The deflection of the component along with the wedge-shaped quantity occurs in the width direction of the duct piece, the X coordinate of the final position consists of the initial X coordinate and the deflection, and the larger the distance from the capping block is, the larger the deflection is, so that the actual distribution rule is met. For the single-sided wedge, the initial X coordinate is (kd-wedge 1)/2, and for the standard ring and the universal wedge, the grouting holes are always in the center position and are not offset, and the X coordinate is always kd/2.
The specific Boolean operation related to modeling is different, but the basic classes such as Arc and Line in RevitAPI are also utilized to generate a profile, and then the profile is drawn through lofting to generate a blend model, and the flow is shown in figure 6.
(3) Bolt and bolt hole modeling, wherein the modeling flow is basically the same as the grouting hole modeling flow, the corresponding classes of bolt hole modeling are holeHpara/FLST _ CholeH (data class and modeling class of circumferential bolts) and holeVpara/FLST _ CholeV (data class and modeling class of longitudinal bolts), the corresponding classes of bolt modeling are boltHpara/FLST _ CboltH (data class and modeling class of circumferential bolts) and boltVpara/FLST _ CboltV (data class and modeling class of longitudinal bolts), and the difference is that the coordinate calculation method is that the bolt and bolt hole coordinates are the same, and only the calculation method of the bolt hole coordinates is described below. For the longitudinal bolts, the longitudinal bolts are uniformly distributed on the ring surface of the duct piece, and the longitudinal bolts are different from a grouting hole model in that: (1) the sizes of the ridge 1, ridge 2 and dwedge are different, see FIG. 7. (2) Angle= dangle ×i, where dagnle represents the pitch (°) of the longitudinal bolts, i represents the order of the longitudinal bolts in the clockwise direction of the annulus, and i starts from 0. For the circumferential bolts, they differ from the grouting hole model in that: (1) the sizes of the ridge 1, ridge 2 and dwedge are different, see FIG. 8. (2) Angle used in calculating the coordinates is different, and since the circumferential bolts are positioned at joints of the blocks, angle=the Angle corresponding to the joint.
The ring/longitudinal bolt offset is the same, the calculation formula is as follows, wherein gpzj refers to the segment shaft radius:
wedge1=wedge-gphd/2*Moth.Tan(beta);
wedge2=wedge-gphd*Math.Tan(beta)
gpzj=(nj+wj)/2;
dwedge=wedge2/(2*gp2j);
coordinate calculation method
(4) Modeling of concave-convex tenons: the parameters and modeling are Autopara and FLST _ CAuto respectively, the tenons are uniformly distributed on the ring surface, the central position of the tenons is determined by using the offset from the axis of the pipe piece, the offset from the longitudinal bolts and the distance, then the top surface contour topprofile and the ground contour bottomprofile are respectively generated by using the Arc, line and other basic classes in RevitAPI according to the length of the tenons, the radius of the top surface and the radius of the bottom surface, finally the lofting is carried out between the two contours by the lofting fusion function in RevitAPI, the lofting length is the depth of the tenons, the top surface of the jack facing is a hollow model, and the top surface of the jack facing is a solid model. Since the center of the tongue-and-groove model is often offset from the center of the segment by a certain distance p, see fig. 9, the influence of the offset p is considered during calculation, and the calculation formula is as follows:
wedge1=wedge-ggphd/2*Math.Tan(beta)-p*Moth.Sin(beta);
wedge2=wedge-gphd*Math.Tan(beta)-2*p*Math.Sin(beto);
dwedge=wedge2/(2*gpzj-2*p*Math.Cos(beta));
(5) Modeling a joint and a waterproof rubber pad: seam modeling also needs to be performed by means of segment body data in class S, but since seam modeling is to directly read seam drawings from a computer, the modeling principle is greatly different from the first two, and the main workflow of the program is shown in FIG. 10 and explained as follows:
Reading a drawing file from a computer, storing a drawing path into a path variable, searching a 'metric profile' family template file in a Revit profile family file and establishing a new family file, importing a CAD drawing in the path variable into the family file, and storing a joint file as a ring/longitudinal joint rfa;
CAD drawing decomposition is the most critical step. After the CAD drawing is imported into the family file, the CAD drawing exists in the form of a primitive file, and needs to be decomposed into a line form: firstly, filtering out all ImportInstance type elements by using a ELEMENTCLASSFILTER element filter in RevitAPI, forcibly converting the elements into ImportInstance, acquiring geometric elements and converting the geometric elements into geometric examples, converting the geometric examples into geometric objects, then converting the geometric examples into Polyline form and obtaining the endpoint coordinates of each Line by using a getCorrdinates method, connecting all endpoints by using a Line. Createbound method according to a certain sequence, and finally converting invisible lines into a 'model Line' form visible in a view by using a NewDetailCurve method, and restoring the original contour. Finally, the outline is selected, a hollow model is lofted along a specified path, and the outline and the segment entity are sheared, so that a joint can be formed.
The modeling mode of the waterproof rubber pad is the same as the seam modeling mode, and only the seam in the flow chart is replaced by the waterproof rubber pad.
The working principle of segment assembly is described as follows:
The position information of the duct piece comprises a starting surface center point coordinate, a starting surface normal vector and an assembly point position, the duct piece is accurately placed on the position by utilizing the moving and rotating operation of Revit, the main flow is shown in fig. 11, the model is modified into a pipeline accessory to ensure that the model can rotate in any direction, the starting surface center point is adjusted to the origin of coordinates to ensure that the model is placed at a specified coordinate point, and the capping piece is adjusted to the uppermost position because the duct piece rotates by taking the position right above as 0 degrees in practical engineering. The angle and the new coordinate axis are calculated as follows, nv represents the normal vector of the initial plane:
If the Z coordinate of the start plane normal vector is greater than 0:
=-Math.Acos((Nv.X*Nv.X+Nv.Y*Nv.Y)/((norm(Nv))*norm(new XYZ(Nv.X,Nv.Y,0))))*180/Math.PI
If the Z coordinate of the normal vector of the start surface is less than 0
y=Math.Acos((Nv.X*Nv.X+Nv.Y*Nv.Y)/((norm(Nv))*norm(new XYZ(Nv.X,Nv.Y,0))))*180/Math.PI;
Wherein, math.Acos is an inverse cosine trigonometric function, nv.X is an X-direction component of the normal vector of the initial plane, nv.Y is a Y-direction component of the normal vector of the initial plane, norm (Nv) is a unit vector which changes the length of the normal vector into a unit vector, math.PI is 180 degrees, and new XYZ is a newly built point.
If the Y-coordinate of the normal vector of the start surface is greater than 0
z=Math.Acos(Nv.X/Math.Sqrt((Nv.X*Nv.X)+((Nv.Y*Nv.Y)))*180/Math.PI;
If the Y-coordinate of the normal vector of the start surface is less than 0
z=-Math.Acos(Nv.X/Math.Sqrt((Nv.X*Nv.X)+(Nv.Y*Nv.Y)))*180/Moth.PI;
Wherein Math.Sqrt is the root number.
New Y':
Math.Cos(z/180*Math.PI);
where z is the angle the initial face normal vector needs to be rotated about the initial Y-axis.
New X':
Nv.X;
wherein nv.x is the X-direction component of the normal vector of the start plane.
The above embodiments are merely illustrative of the preferred embodiments of the present invention, and the scope of the present invention is not limited thereto, but various modifications and improvements made by those skilled in the art to which the present invention pertains are made without departing from the spirit of the present invention, and all modifications and improvements fall within the scope of the present invention as defined in the appended claims.

Claims (6)

1. The RevitAPI-based parameterized modeling method for the shield tunnel and the duct piece is characterized by comprising the following steps of:
Obtaining geometrical parameters and mechanical parameters of a shield segment, and constructing a segment main body model, a hole site model, a concave-convex tenon model, a joint and a waterproof rubber model through RevitAPI according to the geometrical parameters and the mechanical parameters;
Fusing the segment main body model, the hole site model, the concave-convex tenon model and the joint and waterproof rubber model to obtain a refined shield segment model;
Determining the position of the refined shield segment model, and splicing the refined shield segment model according to the position to obtain a shield tunnel model;
the constructing of the segment body model includes:
inputting segment body parameters, receiving the input parameters based on Textbox text boxes, and storing the segment body parameters by instantiation SEGMENTPARA;
storing the stored input parameters into a state.csv file under a Revit family template folder path, updating the input parameters into an S class by using a UpdataTrue () method in a window class, calling FLST-CSegment classes, reading the latest updated parameters in the S class, and constructing the segment body model;
Wherein, the FLST-CSegment class comprises a module, a wedge amount and a creation model of a mechanical parameter label; the module comprises: the sealing block, the left adjacent block, the right adjacent block and the standard block;
The constructing of the concave-convex tenon model comprises the following steps:
Determining the central position of the rebate model according to the offset from the axis of the duct piece, the offset from the longitudinal bolts and the distance, respectively generating a top surface contour and a ground contour based on Arc and Line basic classes in RevitAPI according to the rebate length, the top surface radius and the bottom surface radius in the geometric parameters, and setting out a sample between the top surface contour and the ground contour through a setting out fusion function in RevitAPI to construct the rebate model;
based on the segment body model and the hole site model fusion comprises:
Inputting parameters of a circumferential bolt hole, a longitudinal bolt hole, a grouting hole and a positioning hole respectively, receiving the input parameters based on Textbox text boxes, updating variables in Zjkpara types, re-instantiating SEGMENTPARA types, reading the latest updated parameters in state.csv files, and acquiring hole position by combining the updated variables in Zjkpara types;
Taking the updated variables in Zjkpara types as input, combining with a creation model of a module, obtaining a hole site model, and shearing based on the hole site model, the hole site position and the pipe sheet main body model to obtain a pipe sheet main body model with bolt holes, grouting holes and positioning holes;
Fusing the segment body model and the seam, waterproof rubber model includes:
Reading a drawing file, storing a drawing path to a path variable, searching a family template file in a Revit profile family file, newly building a family file, importing a CAD drawing in the path variable into the newly built family file, and storing a joint file as a ring/longitudinal joint;
Filtering out all ImportInstance type elements based on ELEMENTCLASSFILTER element filters in RevitAPI, forcibly converting the filtered elements into ImportInstance type elements, obtaining geometric elements, converting the geometric elements into geometric examples, converting the geometric examples into geometric objects, further converting into Polyline forms, obtaining endpoint coordinates of each line by using a getCorrdinates method, presetting a connection sequence, connecting all endpoints based on a line. CreateBound method, finally converting the connected endpoints into a visible form by using the NewDetailCurve method, restoring an original contour, setting out a joint and waterproof rubber model of the original contour along a preset path, and cutting with the segment body model to obtain a segment body model with joints.
2. The RevitAPI-based shield tunnel and segment parametric modeling method according to claim 1, wherein the refining the position of the shield segment model includes: the center point coordinates of the starting surface, the normal vector of the starting surface and the assembly point positions.
3. The RevitAPI-based parametric modeling method for shield tunnels and segments as defined in claim 2, wherein obtaining the initial surface normal vector comprises:
Judging whether the Z coordinate of the normal vector of the initial surface is larger than a target value, if so, calculating the angle y of the normal vector of the initial surface based on a first calculation model; if the angle y is smaller than the target value, calculating the angle y of the normal vector of the initial surface based on a second calculation model.
4. The method for parameterized modeling of shield tunnel and segment based on RevitAPI as defined in claim 3, wherein the method for calculating the angle y of the normal vector of the start surface by using the first calculation model is as follows:
y=-Math.Acos((Nv.X*Nv.X+Nv.Y*Nv.Y)/((norm(Nv))*norm(new XYZ(Nv.X,Nv.Y,0))))*180/Math.PI
calculating the angle y of the normal vector of the initial surface based on a second calculation model as follows:
y=Math.Acos((Nv.X*Nv.X+Nv.Y*Nv.Y)/((norm(Nv))*norm(new XYZ(Nv.X,Nv.Y,0))))*180/Math.PI
Wherein Math.Acos is an inverse cosine trigonometric function, mv.X is an X-direction component of the normal vector of the initial plane, nv.Y is a Y-direction component of the normal vector of the initial plane, norm (Nv) is a unit vector which changes the length of the normal vector into a unit vector, math.PI is 180 degrees, and new XYZ is a newly created point.
5. The RevitAPI-based parametric modeling method for shield tunnels and segments as defined in claim 4, wherein obtaining the initial surface normal vector comprises:
judging whether the Y coordinate of the normal vector of the initial surface is larger than a target value, if so, calculating the angle Z of the normal vector of the initial surface based on a third calculation model; if the angle Z is smaller than the target value, calculating the angle Z of the normal vector of the initial surface based on a fourth calculation model.
6. The RevitAPI-based parametric modeling method for shield tunnels and segments as defined in claim 5, wherein the method for calculating the angle Z of the normal vector of the start surface based on a third calculation model is as follows:
z=Math.Acos(Nv.X/Math.Sqrt((Nu.X*Nv.X)+(Nv.Y*Nv.Y)))*180/Math.PI
the method for calculating the angle Z of the normal vector of the initial surface based on the fourth calculation model comprises the following steps:
z=-Math.Acos(Nv.X/Math.Sqrt((Nv.X*Nv.X)+(Nv.Y*Nv.Y)))*180/Math.PI
wherein Math.Sqrt is the root number.
CN202410116205.XA 2024-01-26 2024-01-26 RevitAPI-based parametric modeling method for shield tunnel and duct piece Active CN117708956B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410116205.XA CN117708956B (en) 2024-01-26 2024-01-26 RevitAPI-based parametric modeling method for shield tunnel and duct piece

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410116205.XA CN117708956B (en) 2024-01-26 2024-01-26 RevitAPI-based parametric modeling method for shield tunnel and duct piece

Publications (2)

Publication Number Publication Date
CN117708956A CN117708956A (en) 2024-03-15
CN117708956B true CN117708956B (en) 2024-06-21

Family

ID=90155592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410116205.XA Active CN117708956B (en) 2024-01-26 2024-01-26 RevitAPI-based parametric modeling method for shield tunnel and duct piece

Country Status (1)

Country Link
CN (1) CN117708956B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815561A (en) * 2019-01-07 2019-05-28 河南工业大学 The universal segment model parameterization fissure of displacement based on Revit splices modeling method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113468630B (en) * 2021-05-13 2023-08-25 海南大学 Optimization method for shield tunnel originating end reinforcing scheme
CN113987627A (en) * 2021-09-30 2022-01-28 安徽工程大学 Shield general segment solid modeling method based on Revit secondary development

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109815561A (en) * 2019-01-07 2019-05-28 河南工业大学 The universal segment model parameterization fissure of displacement based on Revit splices modeling method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Revit的盾构管片参数化建模应用;王晓东;喻钢;吴惠明;;隧道建设(中英文);20180319(02);全文 *

Also Published As

Publication number Publication date
CN117708956A (en) 2024-03-15

Similar Documents

Publication Publication Date Title
US7492364B2 (en) System and method for creating and updating a three-dimensional model and creating a related neutral file format
US7613539B2 (en) System and method for mesh and body hybrid modeling using 3D scan data
Ji et al. Exchange of parametric bridge models using a neutral data format
US8253726B1 (en) Systems and methods for modifying three dimensional geometry using an arbitrary cross-section plane
CN107844677B (en) Method for editing and updating three-dimensional steel bar
Hegemann et al. As-built documentation of segmental lining rings in the BIM representation of tunnels
CN112163256A (en) Method for establishing and analyzing template support model based on finite element analysis and BIM
EP0837430B1 (en) Enhanced solid model generation
CN111027120A (en) Three-dimensional reinforcement method and device for special-shaped body, electronic equipment and storage medium
CN106683191B (en) Spacing bar arrangement method suitable for complex curved surface and simple curved surface
CN114818061A (en) Prefabricated part BIM model point cloud generation method based on Revit API and Dynamo
Zhu et al. Utilizing building information modeling and visual programming for segment design and composition
CN113408042B (en) BIM-based shield segment parameterization drawing generation method and system
CN117708956B (en) RevitAPI-based parametric modeling method for shield tunnel and duct piece
Khoshamadi et al. Parametric and generative mechanisms for infrastructure projects
Raza et al. Flexible earthwork BIM module framework for road project
Shoaib Khan et al. Methodology for voxel-based earthwork modeling
Stroud Modelling with degenerate objects
Angjeliu et al. Challenges in modelling complex geometry in historical buildings for numerical simulations
Zheng et al. Topology abstraction of surface models for three-dimensional grid generation
Ramos Jubierre Consistency preservation methods for multi-scale design of subway infrastructure facilities
JP2005115526A (en) Stress analysis system for buried pipe and input/output device
Maamoun Investigation and characterization of building information modeling data
CN112184893B (en) Line-surface body integrated drawing method, device, equipment and storage medium
SHI et al. 3D Rapid Modeling and Key Technology Analysis of Mountain Tunnel

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant