# Research on the Intelligent Construction of the Rebar Project Based on BIM
## 2 Methods  
Revit software can be combined with other software to design, record, coordinate, and manage projects, and then perform necessary force analysis on reinforced concrete structural engineering or steel structures; based on the pipeline model drawn in Revit, other software can be used for collision checking. The work can be visualized to ensure the rationality of the construction process. It can be observed in the Table 1 below that each link is carried out around Revit software, so this paper selected the Revit software as the development object to study the intelligent construction process of rebar engineering. Revit secondary development technology was used to obtain the automatic generation of the rebar model, the automatic generation of the rebar annotation, and the automatic export of the rebar data and drawings. The development tools for Revit secondary development are: Visual Studio, Revit SDK, Revit, Revit Look up, and AddinManager. Revit SDK is the official software development kit for Revit, containing help documentation for the Revit API and examples with source code. RevitLookup is an official plug-in developed by Autodesk. In Revit, a component \begin{table}
\begin{tabular}{c c c} \hline \hline Architecture & Revit & Design and document buildings \\ \cline{2-3} (Concept Design) & FormIt & Sketch early-stage design concepts \\ \cline{2-3}  & Insight & Building performance analysis \\ \hline \hline \multirow{6}{*}{Structural engineering (Force analysis)} & Revit & Design, coordinate, and document structures across disciplines \\ \cline{2-3}  & \multirow{2}{*}{Robot Structural Analysis Professional} & Conduct structural analysis and code \\ \cline{2-3}  & & checking; integrates with Revit \\ \cline{2-3}  & \multirow{2}{*}{Advance Steel} & Detail steel structures for fabrication and \\  & & bring data into Revit \\ \hline \hline MEP engineering (Visualization) & Revit & Design and draw Mechanical \\ \cline{2-3}  & & Electrical Plumbing \\ \cline{2-3}  & \multicolumn{2}{c}{Navisworks} & Prevent clashes with 3D model review \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Software property sheet. can be selected and RevitLookup can be used to intuitively see the information of the component and the available APIs for the component. AddinManager is also an official plug-in of Autodesk, which is used to load external programs to operate Revit. It is possible to modify the plug-in code and load and run again in Revit without restarting the Revit software, and it is included in the Revit SDK folder. The basic process of Revit secondary development is shown in Figure 1.  
Developers can use the external command interface IExternalCommand to add their own applications, which has only one abstract execution function, Execute. The secondary function is called the primary function of the external command. When using Revit secondary development to modify the model of the document, the transaction needs to be named. Any operation that modifies a document needs to be included in an open transaction belonging to the document; otherwise, an exception will be executed. A document can have only one open transaction, but a transaction can have multiple operations that modify the document. Using the function generated by the rebar in the Revit API, there are five methods for creating a rebar, and the parameters in the methods are slightly different, which are:  
1. Rebar.CreateFreeForm Method(): to create a constrained free-form rebar. 2. Rebar.CreateFreeForm Method(): to create an unconstrained free-form rebar. 3. Rebar.CreateFromCurves Method(): to create a steel bar according to the shape of the curve. 4. Rebar.CreateFromCurvesAndShape Method(): to create steel bars according to curves and shapes. 5. Rebar.CreateFromRebarShape Method(): to create a steel bar through the shape of the steel bar. When creating a rebar using a parametric method that includes the rebar shape, the size of the rebar is difficult to control, and the rebar may be created outside the host or in the wrong location.