3D modeling of structural and mechanical components from point clouds is a time-consuming and error prone task. It usually involves experts to analyze a captured point cloud, segment and label it into meaningful components (e.g., pipe, ceiling, beam, column, floor, wall), and then fit solid geometry to these components. Despite a large body of research on Scan2BIM over the past few years, there is still a gap in knowledge on how automatically segmented point clouds can be labeled and merged into 3D surface representations. To address this gap, this paper presents a method that takes in a segmented and semantically labeled point cloud, with mechanical components, at a desired level of abstraction and fits in solid geometrical elements. The input model was automatically labeled using a recent method of jointly labeling point clouds based on their underlying semantic and geometrical representations. To fit solid geometric components, the method uses a multi-scale features extraction method to identify the segment cross-sections and centerlines. The centerlines are used to infer the connection types (e.g., elbow, coupling, union, or diverter tee) among all segments. The method then uses the center lines and the cross-section radius to fit non-uniform rational basis splines (NURBS) over the point cloud segments and then fits in cylindrical elements into the produced NURBS surfaces. The method is validated using six real-world point clouds and the experimental results are discussed in detail.