1. Introduction
The process of transforming the Point Cloud (PC), obtained for example by photogrammetric or laser scanning techniques, into parametric objects, i.e., objects with certain geometric, physical, chemical or qualitative characteristics is known as “scan-to-BIM” [
1,
2]. The term “scan” refers to the process of acquiring spatial data, which since the earliest acquisitions in the AEC/FM (Architecture, Engineering, Construction, and Facilities Management) sector involved the use of laser scanning such as Terrestrial Laser Scanners (TLS). Nowadays, there are multiple acquisition techniques to generate the point cloud, using both photogrammetric and laser scanning techniques [
3,
4]. Consequently, the term “scan” nowadays refers to all techniques and methods capable of generating point clouds. Once the point cloud is obtained, in many AEC processes it becomes necessary to construct parametric objects to which specific characteristics (material, type, etc.) can be assigned. This process can be developed by the use of Building Information Modeling(BIM) [
5], which has no single definition [
6], but the most widespread is the one proposed by National BIM Standard Project Committee in the USA: “Building Information Modeling (BIM) is a digital representation of physical and functional characteristics of a facility. A BIM is a shared knowledge resource for information about a facility forming a reliable basis for decisions during its life-cycle; defined as existing from earliest conception to demolition”. In the case where the building concerns a historical or heritage building, the transformation process from point clouds to parametric objects is called “HBIM” where the letter “H” means Historical or Heritage [
7]. The parameterisation of objects forming part of a structure is an increasingly common practice in the digitalisation of buildings or structures. Nowadays, the field of research in BIM modelling has become of paramount importance and offers much potential in the different phases of design, management and maintenance of structures. In particular, in the field of Cultural Heritage (CH), where structure objects are characterised by complex architectures or geometries, the identification of parametric modelling methods has become important and topical in order to make the scan-to-BIM process as efficient as possible. For these reasons, in recent years several approaches have been implemented to transform the point clouds in parametric objects.
Chen et al. 2018 [
8] propose a voxel grid search method to automatically generate region proposals for objects of interest from a laser-scanned point cloud with the advantage that no prior segmentation of objects is required and that it is agnostic with respect to the shape of objects that can be surveyed.
Pepe et al. 2019 [
9] discussed the transformation of the point cloud generated point-cloud models of a stone bridges by a photogrammetry technique and building a 3D model by Non-Uniform Rational B-Spline (NURBS) surface within Rhinoceros software (version 6, manufacturer: Robert McNeel & Assoc, Seattle, Washington, DC, USA) and special tools available in this software.
Wang et al. 2019 [
10] suggested three main future research directions within the scan-to-BIM framework: (i) the information requirements for different BIM applications should be identified, and the quantitative relationships between the modelling accuracy or point cloud quality and the reliability of as-is BIM for its intended use should be investigated; (ii) scan planning techniques should be further studied for cases in which an as-designed BIM does not exist and for Unmanned Aerial Vehicle (UAV)-mounted laser scanning; (iii) as-is BIM reconstruction techniques should be improved with regard to accuracy, applicability, and level of automation.
Costa-Jover et al. 2019 [
11] propose a simple and non-invasive methodology for evaluating masonry vaults from point clouds (generated by TLS), allowing relevant data on formal anomalies to be obtained. The methodology has been tested on the vaults of the Gothic Cathedral of Tortosa; in this case, two-dimensional evaluation was performed by plotting the values reflected in the height histograms of each vault and by drawing the horizontal and vertical profile lines for comparison. The procedure developed by these authors can be applied easily to other vaulted constructions of any kind but is especially useful in dealing with the complex geometry of Gothic masonry vaults.
Qiu et al. 2022 [
12] proposed a method that can be summarized in two steps, first conducts a geometry-based segmentation to identify edge points and non-planar points, which contain critical geometric information and subsequently, a semantic-based segmentation is performed to identify points with critical semantic information.
The geometry-based segmentation to obtain the BIM model is an interesting trend of research, as shown in recent papers [
13,
14]. Therefore, according to this last line of research, the aim of the paper is to realise a method that, starting from an efficient simplification of the point cloud, automates the process of parameterisation of objects.
2. Method
The innovative proposed “Scan-to-BIM” process can be summarised into 4 main steps: (i) 3D survey of the structure under investigation; (ii) extraction of essential point cloud; (iii) geometry reconstruction; and (iv) BIM implementation.
The first step concerns the building of the point cloud using one or more surveying techniques. Subsequently, by using rather automatic steps, it is possible to extrapolate only those points that describe the geometry of the structure. From these points, it is possible to reconstruct the geometry and the objects that to describe the composition of the structure in Rhinoceros-Grasshopper. In the final step, it is possible to make the implementation of a building o structure in suitable software BIM.
The pipeline of the method developed in each part to obtain the BIM of a structure, is shown below (
Figure 1).
2.1. Building 3D Point Cloud
The first step, called “building 3D point cloud”, concerns the survey and generation of a 3D dense point cloud of the structure under investigation. However, several techniques and methods are used to produce a 3D point cloud useful to realise a BIM model. Indeed, the point cloud can be obtained using a TLS [
15], terrestrial photogrammetry [
16], UAV photogrammetry [
17,
18], spherical photogrammetry [
19] or Simultaneous Localization and Mapping-SLAM [
20]. In addition, more techniques can be integrated by exploiting the advantages of one over the other, as already shown in several researches [
21,
22].
The choice of a survey technique depends on the design characteristics and, in a general way, depends on the following factors:
Accuracy of the survey;
Ability to reconstruct complex surfaces;
Lighting and environmental conditions;
Size and characteristics of the site or structure.
Therefore, once the criteria just mentioned have been examined, it is possible to survey the site of interest and thus obtain a point cloud.
The acquired point cloud may also contain elements outside the scene, such as vegetation, pipes, etc.; therefore, the point cloud may be clean in order to obtain the 3D representation of the elements of the structure that it is necessary transform in parametric objects. This task can be carried out either through automatic or manual operations. In the former case, one criterion may be colour or distance of points from the dense point cloud. In the second case, the points that do not influence the structure that is to be modelled are processed manually. Once performed this latter task, it is possible to obtain a point cloud contains only the elements useful to reconstruct the geometry of the structure.
2.2. Essential Point Cloud: Feature Extract and Identification of Threshold Values
The proposed method aims to extract essential information without first converting it into parametric element; this latter task is, still today, a considerable and challenging problem [
23]. Chica et al. 2008 [
24] proposed to extract features from point clouds by first transforming the point cloud into a discrete volume representation from which a visibility map is computed; surface components such as vertices, edges and faces are detected based on the visibility information. Daniel et al. [
25] exploited the concept of Robust Moving Least Squares (RMLS) and proposed a multi-stage refinement.
Gautam et al. 2021 [
26] studied the extraction of characteristic curves from data points lying on the surface of an object or model; this reconstruction of characteristic curves is proposed by intersecting pairs of planes. However, semi-automatic processes refer to single objects and are characterised by simple geometries. In the field of cultural heritage, the objects are characterised by irregular, complex surfaces (a single object belongs to several planes) that overlap each other. Therefore, it is necessary to develop a methodology that allows for a significant reduction of the starting point cloud and, at the same time, contains the essential elements.
To achieve this aim, an original method based on the extraction of geometric features is used. Geometric features are calculated by the eigenvalues (
) of the eigenvectors (
) derived from the covariance matrix of any point
of the point cloud [
27]:
where
is the centroid of the support
. Many values are calculated using eigenvalues: the sum of eigenvalues, omnivariance, eigenentropy, anisotropy, planarity, linearity, surface variation, sphericity and verticality.
In order to extract significant and useful points for the geometric reconstruction of the structure objects, two parameters are taken into consideration, verticality and surface variation. The first is used to distinguish between façade and horizontal planes [
28] while the second is suitable for detecting surface changes. The verticality feature is based on the following parameters [
29]:
In this way, it is possible to obtain a classified point cloud in values from 0 to 0.32. As regards, the surface variation, it is possible to write the equation:
On the point cloud from the 3D survey, two point clouds are generated, one applying the verticality and then the surface variation. For each of the point clouds, a suitable threshold value is identified. In the case of verticality, it is possible to choose values that eliminate completely horizontal and vertical planes; as a result, a new point cloud can be extrapolated within a range of 0.25 to 0.75. In the case of surface variation, it is possible to eliminate the points that do not show any variation and consequently use values greater than 0.1. Both ranges were obtained on the basis of the preliminary analysis of different datasets. However, it is easy to control the analysis of the classification results, which may vary slightly depending on the case study.
Subsequently, the two point clouds can be merged; to avoid an overlapping of points, duplicate points or points that are less than 1 mm close to each other must be eliminated. In this way, it is possible to obtain a lighter point cloud and, consequently, to work more flexibly and easily. These latter tasks can be realized in Cloud Compare software v. 2.12.4 thanks to the presence of dedicated tools that are easy to use and enable accurate and rapid processing [
30]. In particular, the process to be carried out in Cloud Compare can be summarised as follows:
2.3. Definition of Contours and Surfaces
On the basis of the points identified in the previous step, it is necessary to reconstruct the geometries of the objects; this task can be performed by manual or semi-automatic approach. In the first case, through the use of 3D polyline or standard geometries that fit the point cloud, it is possible to reconstruct the geometry of the object. For example, in Cloud Compare software, it is possible to draw a 3D polyline directly on point cloud; this latter software has the advantage of quickly constructing geometries in 3D but has no editing tools for modelling. In the second case, several algorithms have been developed in order to extract feature curve from point clouds and actually, on the market are present several software or tools to solve this issue. For example, VR mesh software [
31], Leica CloudWorx plug-in for Autodesk AutoCAD [
32] or Undet plug-in [
33] for Autodesk Revit software allow one to detect lines or fit the point cloud point clouds in a simple and easy way. Semi-automatic processes also allow the definition of complex geometries, but very often require interaction with the operator to establish the exact topological and semantic connections of the elements. In this software, it is possible to perform a fitting (2D) on the point cloud once that is fixed the plane of work in elevation. In addition, software packages and tools created in CAD environments allow geometries to be constructed in simple ways and topological connections to be verified using snap tools, with which particular points of already drawn graphic entities can be snapped. However, the limitation of this approach is that the construction of geometries takes place on a plane; in the construction of complex geometries, this condition is not always verified.
To overcome this limitation, using a function capable of wrapping the point cloud, objects can be created automatically. Indeed, the shrink-wrapping algorithm is a useful tool for reshuffling surfaces from point clouds or 3D meshes; most algorithms take a volumetric approach to solve the problem by projecting a voxelized approximation of the input surface onto itself [
34]. In Rhinoceros v.8 software, this algorithm is called “ShrinkWrap” which creates a mesh wrapping around the selected geometry including NURBS surfaces, SubDs (Subdivision Surface Modelling), meshes, point clouds, and point objects. This latter tool can easily handle complex operations, such as inflating point clouds, removing self-intersections, converting scan data to clean Quad-Mesh, and generating internal shells. In fact, if there are areas characterised by a data gap, in order to reconstruct the object correctly, it is necessary to correct the data gap by constructing new points on the basis of known geometries; subsequently, it is possible to try again with the command “ShrinkWrap” until a satisfactory result is achieved. In this way, it is possible to obtain geometries of any shape and even non-coplanar.
Therefore, once the mesh of the object to be investigated has been obtained, in order to make the surface easier, the triangular mesh is transformed into a quad mesh [
35]; a quad mesh is semi-regular if it is obtained by gluing, in a conforming way, several regular 2D arrays of quads side to side [
36]. Subsequently, it is necessary to perform a transformation from quad-mesh into polysurface NURBS in order to improve the handling of the large number of meshes. The geometries made can be managed in Grasshopper, which is a visual programming language and environment that runs within the Rhinoceros. More recent developments in some tools implemented in Grasshopper have made it possible to transform objects modelled in Rhinoceros into Autodesk Revit software.
Once built the surfaces of the objects, it is necessary to validate the model from the geometric point of view; this task can be obtained performing a comparison of the raw point cloud and mesh obtained in the reconstruction geometry process. A cloud-to-mesh (C2M) comparison can be performed in Cloud Compare software; with this algorithm it is possible to calculate the distance between the point cloud and the vertices of the meshes that make up the mesh.
2.4. BIM Implementation
In this step, it is possible to assign to each object a specific semantic attribute. Indeed, depending on the characteristics of the structure under investigation, the phase of geometric reconstruction of objects and their assignment to a specific family may coincide. Currently, there are several BIM software packages that can handle families also characterized by objects with complex geometry. As a result, it is possible to easily manage the geometric and semantic aspects of each modelled component thanks to the development of special tool that makes the process intuitive, simple, and quick.
3. Case study of Beach Patrol Headquarters
The dataset used for the experimentation concerns the 3D point cloud of the Beach Patrol Headquarters located in Miami Beach, FL (USA), taken by C2A Studio.
The dataset taken into consideration to validate the proposed method was obtained using a BLK360, which is a miniaturised 3D laser scanner developed by Leica Geosystems (Heerbrugg, Switzerland) that also acquires panoramic colour images and is characterised by its light weight and versatility. BLK360 is T.O.F. LiDAR, which is characterized by a scanner range varying from 0.6 m to 60 m with an accuracy of 4 mm at 10 m. In addition, the scanner is equipped with a 15-megapixel camera and offers the ability to create a coloured point cloud and a 360-degree panoramic image [
37].
The 3D survey of the structure was performed by 23 scans and contains 55,564,439 of points. This point cloud was subsequently cleaned to remove points outside the area of interest; almost 2 million points were eliminated with this task.
This latter point cloud was imported in Cloud Compare software in order to classify according to verticality and surface variation features. An important parameter to take into account when classifying the point cloud is the local neighbourhood, which is defined as a spherical shape where local points are within a fixed radius [
38] and determines the local dimensional characteristics of neighbouring points.
Figure 2 shows the results of the classification as the radius varies; in particular, the column on the left shows the results for verticality while the column on the right shows the results for surface variation. Four values were taken into consideration: a default value that the software considers two times, three times and four times this minimum value. As it is easy to see from
Figure 2a,b, both geometric features have unclassified values while as the radius increases all the points are classified. Furthermore, from a visual analysis of
Figure 2g,h, the point cloud is less noisy. However, as the radius increases, a certain smoothing effect is noted, i.e., a homogenization of the characteristic points and as the radius increases, some characteristic points of the structure are not classified. Therefore, an optimal value is obtained by considering a radius value equal to 3 times the minimum one. In this way, it is possible to generate two point clouds, one relating to a feature (verticality), and another (surface variation) relating to the other feature taken into consideration. Subsequently, starting from the point cloud obtained with the verticality feature, the values contained in the range 0.25 and 0.75 were extracted; in the same way, the points classified with the surface variation greater than 0.1 are extracted. The point clouds extracted from the 2 features and included in the indicated range were merged and, to further reduce the point cloud, the points that were double or very close to each other (less than 1mm) were eliminated using a special tool present in Cloud Compare software. In this way, it was possible to reduce the point cloud (
Figure 3a) from about 47 million of points in about 5 million (
Figure 3b); in addition, in this latter point cloud are shown only the key elements of the structure. Once the simplified point cloud was obtained, the methodology developed for building the BIM was imported and processed within Rhinoceros v. 8VIP/Grasshopper software. Specifically, the first step was to construct a mesh wrapping groups of points. To achieve this aim, a tool called “ShrinkWrap” was used; this involves setting certain parameters, as follows:
Target edge length (this option affects the density of the resulting mesh);
Offset (the command returns the results of inflated points to the original shape);
Smoothing interaction (larger values make the bumps and grooves uniform);
Percent polygon optimizations (optimizes the shape of the triangles composing the mesh);
Inflate vertices and points (samples each vertex as a point cloud to build a new mesh).
The balance of parameters involved in creating the shrink wrap is critical. Increasing the detail of the shrink wrap for example can result in a loss of the uniqueness of the object. Indeed, such an object is broken into several parts due to a thinning of the points or a decrease in their density in some areas. Conversely, decreasing the detail may result in the loss of the uniqueness of the object; indeed, this this object can be merged with a neighbouring one due to point enlargement or-and to an excessive increase in point density.
The ShrinkWrap setting also needs to take into account “empty” zones. Near such zones, parameter setting is critical to have the parts near the “empty” zones reconstructed in as much detail as possible. Such zones must be reconstructed with an adequate number of points and following the geometry of the missing part of the object as closely as possible. It is not enough to reconstruct points in space, but curves and supporting NURBS surfaces must be used. Once the reconstruction of the object is complete, it was possible to wrap the mesh. Subsequently, the triangular mesh was transformed into quad-mesh and, in turn, into polysurface NURBS.
Applying this approach to an element rather to model, such as the porthole, it is possible to analyse in
Figure 4, the different steps that have enabled its 3D modelling.
The reconstructed curves can represent, in the specific case of the porthole, two circumferences of different diameters and guide curves for extrusion. In the Grasshopper programming environment, on the other hand, the appropriate parameterizations are generated, and the surfaces or solids made. The surface and/or solid object is then associated with a family. Materials and physical-mechanical-thermal characteristics are associated with that family. In the case considered, namely portholes, the parameterized materials are aluminium and glass.
The described procedure has a twofold objective, the generation of parametric surfaces and solids and at the same time is realizing families. Moreover, the parameterized object is simultaneously realized in Rhinoceros and in Revit.
Subsequently, a metric comparison between the point cloud and realized mesh was performed in Cloud Compare software; using the tool “Cloud to mesh distance” the comparison was analysed both a single object, such as the porthole and on the entire walls containing the portholes. The distance between the two geometric entities was on the order of a few millimetres. Therefore, once the geometric quality of the elements constituting the structure was verified, parameterized curves could be generated in the Rhinoceros-Grasshopper environment.
To build the vertical walls, it was not necessary to use the mesh wrap command. To use that command, we would have had to make guidelines, that is, vertical paths connecting the upper and lower points that belong to the wall. Instead, using the basic simplified cloud, the only parts present in the walls are the points belonging to the upper and lower perimeter (edge) of the walls. The realization of the wall is done through an initial interpolation of the perimeter points using a spline curve. In the Grasshopper environment, through suitable modelling commands, the wall was cracked; in particular, the wall was made through a parametric spline extrusion. For porthole insertion, the wall was drilled using Boolean subtraction functions. The wall thus created is in effect a family that can be exported to Autodesk Revit through the “Rhino.Inside.Revit” plugin (
Figure 5).
Using the procedure just described for portholes, other elements belonging to the structure, such as fixtures, doors, etc. can be parametrized. This mean that this process must be applied on the different objects to be parameterized.
However, in order not to alter the process of constructing parameterizable objects within families and to wish for the reduction of new non-standard objects, the implementation of simple objects was carried out in a BIM software such as Autodesk Revit. In fact, using the latter software, it was possible to parameterise objects of specific families and to refine certain geometries of the structure, as shown in
Figure 6. In addition, in Autodesk Revit software it is possible to export the IFC (Industry Foun-dation Classes) format, which is a key task in openBIM projects. This particular data format is intended to allow interchange of an information model without loss or distortion of data or information; this means higher quality, reduced errors, lower costs and time savings, with consistent data and information at the different stages of design, implementation and maintenance.
Therefore, the structure considered and modelled according to the method just described, was exported to IFC format.
4. Discussion
The developed method not only allowed the identification of the key elements of the structure by means of a point cloud, but also allowed a considerable reduction in the number of points. This point cloud was used in order to build mesh and then BIM objects. To verify the quality the great simplification of the point cloud based on the use of geometric features analysis, additional datasets were considered. In this way, it is possible to analyse the impact on point clouds of the proposed method using other surveying technologies (TLS, SLAM, etc.) or structure types. In particular, other 3 datasets were taking into consideration: (i) point cloud of the Baroque staircase of the church of San Domenico in Taranto (Italy), which is built in the centre of the façade in the late 18th century; (ii) part of a structure belong the “Buziaș Colonnade”, an heritage site located in the town of Buziaș (Romania) and (iii) the point cloud of the cathedral of the Roman Catholic Diocese of Gurk-Klagenfurt and also the main parish church of Klagenfurt (Austria) obtained from GeoSlam website. In the case study of the staircase of the church of San Domenico in Taranto the proposed method made it possible to reduce the number of points from a point cloud of 3,554,669 to one of 261,242, i.e., a reduction of about 13 times with respect to the original point cloud; this latter dataset, was generated by photogrammetric method. In addition, for each dataset, the features relating to the acquisition technique, the point cloud and the point cloud reduced by applying the proposed method are specified, as shown in
Table 1.
Figure 7 shows the quality of the point cloud reduced by the proposed method regardless of the technique used to obtain the point cloud.
Starting from the point cloud of part of a structure belong the “Buziaș Colonnade” (
Figure 7a) generated by spherical photogrammetry in SfM-MVS software, it is possible to extract the key elements (
Figure 7b).
Figure 7c concerns point cloud of the Baroque staircase of the church of San Domenico in Taranto (Italy) which was obtained from a photogrammetric survey carried out using a Canon dSLR540 camera with 18 mm fixed focal length lens and processing the images in Agisoft Metashape v. 1.5.1. software;
Figure 7d shows the point cloud generated using the approach described in the paper where it is possible to note easily as the contours of the steps and key elements are clearly distinguishable. Another case study concerns the point cloud of the cathedral of the Roman Catholic Diocese of Gurk-Klagenfurt (
Figure 7e) where it is possible to note the strong reduction of the point cloud (
Figure 7f); indeed, the method developed allowed to reduce the original point cloud of about 20 times. The proposed method is easy to use and enables efficient point cloud simplification; this approach is in the line of research of point cloud simplification methods, such as the one proposed by Wu et al. 2021 [
38] based on decomposed graph filtering. Regarding point cloud simplification, the proposed method has the advantage of using simple tools implemented in Opens Source software. In addition, the implementation in BIM software with a reduced point cloud simplifies both uploading of the point cloud by having the characteristic parts of the structure highlighted immediately; in contrast, feature extraction from a dense point cloud is only possible through the creation of numerous profiles. The point cloud managed in the Rhinoceros environment was shown to be efficient due to the use of numerous strategies for 3D modelling and, in particular, ShrinkWrap tool and the presence of a widely implemented environment such as Grasshopper. Regarding the use of ShrinkWrap tool, it was shown to be very effective for creating a solid mesh from 3D data fragments, without internal self-intersections and in the case of valid closed meshes from damaged or difficult to repair geometry. In this way, it was possible to generate a mesh without internal self-intersections, which makes it possible to skip all the semiautomatic or manual mesh repair procedures that involve a large investment of time and a complex intervention to both locate and correct intersections. This approach is very efficient in building meshes from point clouds in reverse engineering operations, as showed in the case study since it is much more efficient than methods that involve building the mesh from the point cloud or reconstructing surfaces by creating profiles on the point cloud because it is faster and allows handling even point clouds that are very complex both in geometry and in the size of the structure being investigated. In addition, the algorithm implemented in Rhinoceros requires large memory capacity to generate the meshes; the proposed method has the advantage of working on pieces of point clouds and, as a result, allows efficient use of the tool.
In order to analyse the results obtainable with ShrinkWrap as the relevant parameters changed (target edge length, Offset e Polygon optimization), this algorithm was tested on three datasets with different shapes and sizes: a point cloud of a vase with irregular geometry, one of a statue and one of a church (available on the website of the Geometric Computing Laboratory, École Polytechnique Fédérale de Lausanne—
https://lgg.epfl.ch/, accessed on 30 December 2023) and a façade of “Union Station” dataset available on SketchUp website and acquired by Trimble Inc.—
https://help.sketchup.com/en/scan-essentials-sketchup/sample-point-cloud-data (accessed on 30 December 2023) were used. The meshes obtained, with the relative number of faces of which they are composed, were reported into following
Figure 8,
Figure 9 and
Figure 10. By comparing the meshes obtained from all datasets, we can see that the parameter that most affects the result is “Target edge length” which determines the width of the mesh edges and consequently the number of polygons that will be created around the original model. A small value determines a larger number of polygons, while with a large value we would have a limited number of meshes. From the experiments obtained on this parameter, it was possible to verify that although a small value ensures a greater adherence to the original model, in some cases the mesh obtained had a discontinuous geometry, that is, with the presence of holes.
Comparing the three datasets, on the other hand, it became clear that in order to obtain an optimal result, it is necessary to calibrate the parameters of the algorithm according to the size of the object and the quality of the original point cloud.
The ShrinkWrap algorithm, despite the difficulty of application with point clouds of objects or buildings of considerable size, allows, once the optimal parameters are identified, to obtain a closed and controllable mesh adherent to the original cloud, therefore the method implemented and described in the previous paragraphs, allows the software to work nimbly and consequently obtain accurate parametric models.
Regarding the creation and management of parametric objects, the use of suitable algorithms developed in Grasshopper allowed the interoperability with Autodesk Revit. In this latter environment, in fact, it is possible to easily manage parametric objects, in part coming from Rhinoceros and parts obtained directly in Autodesk Revit software which has considerable tools and libraries of families that allow optimal management of building objects. The transfer of data between Rhinoceros and Autodesk Revit is not simply an import or export. When designing in Rhino and using Grasshopper in conjunction with “Rhino.Inside.Revit”, in real time the object created in Rhino is displayed in Revit and whatever changes are made in Rhinoceros are simultaneously made in Revit. The same process just described also takes place if the design is first carried out in Revit. The two programmes work bi-univocally. Although mesh modelling is not performed exclusively within a Revit environment, “Rhino.Inside.Revit” is nevertheless an add-on for Autodesk Revit, which loads Rhino and its respective plug-ins, such as Grasshopper, into the Autodesk Revit memory as if it were any other add-on. Therefore, this application allows us to extend the functionality of Autodesk Revit, providing a set of tools to bridge the gap between Rhino’s free-form modelling and the BIM world, opening up Grasshopper’s functionality to the Autodesk Revit environment; in fact, while working within Grasshopper, objects are simultaneously modelled within Revit, as if you were creating a family of objects within Revit itself, thus always obtaining a parametric object. Lastly, the export in IFC file allows the easy sharing of the BIM model.
In comparison to traditional modelling methods where the point cloud is used as a useful support for the spatial positioning and verification of objects that are modelled separately, the methodological approach described in the manuscript makes active use of the point cloud; in other words, by exploiting the geometric and topological characteristics of the point cloud, it is possible not only to model objects directly by exploiting existing points, but also to fill gaps resulting from a lack of data, by manually inserting new points where the point cloud is lacking (data not acquired during the survey phase). After this step, using the ShrinkWrap tool, the proposed method is able to create a mesh between the existing point cloud and the modelled objects. Through this step, a closed, solid mesh without internal self-intersections is thus obtained, which is also capable of reconstructing damaged or difficult-to-repair geometries.
In order to improve the geometric and topological aspects of the reconstructed objects, the realised model is transformed into a quad-mesh model; this operation is necessary to create a more structured and controllable mesh. For example, by using this procedure in the case of the reconstruction of the porthole, thanks to the curves created in the parts where there was an absence of data and thanks to the creation of new curves, it was possible to elaborate a model using Grasshopper in addition, in order to parameterise the opening and to be able to manage it in the host, i.e., in the wall in which the porthole is located.
This procedure, described so far, is not possible with traditional 3D modelling software such as Revit; in fact, Revit does not actively use the point cloud as one cannot interact directly with it and only serves to verify the spatial positioning of objects which are modelled separately anyway. In this environment, it is necessary to use the Family Editor for modelling, which allows objects to be modelled by directly modifying existing elements or creating new ones to meet specific modelling requirements. The point cloud cannot be used in this context, as families in Revit are created with pre-established schemes and are used to create parametric objects.
In this context, the difference between the two modelling methodologies concerns precisely the use of the point cloud as an active and necessary part of the modelling process; with the proposed approach, the point cloud becomes an essential basic element that plays an active role in the modelling of objects, exploiting its volumetric and geometric characteristics.
Another traditional modelling method consists of identifying a congruous number of section planes; starting from the definition of section planes that cut the selected objects, a series of curves or splines are extracted, which, through two-dimensional modelling, are transformed into 2D entities, i.e., into NURBS surfaces and 3D solid models.
This process could be very time-consuming as well as inefficient in the case of data-less conditions.
A quantitative comparison between the proposed methodology and traditional 3D modelling methods was performed by verifying the difference in computational times. In fact, for porthole modelling, using a traditional approach tripled the time compared to the model obtained through the proposed approach. In addition, where there is a lack of metric information on the geometry of objects, the proposed approach allowed for a simulated reconstruction that was faithful to the model; in modelling using traditional approaches, the lack of data did not allow for an accurate reconstruction of the missing elements.
Furthermore, compared to the proposed methodology, the reconstruction of the mesh through this approach would be less accurate, would require the use of additional external plug-ins and Boolean operations for the extrusion of solids, and would affect the accuracy and quality of the final model.
A further approach to simplify the point cloud, in order to facilitate 3D modelling processes, can be connect to the automatic classification; indeed, through an appropriate classification of the point cloud it is possible to obtain a segmentation of the objects present in the acquired 3D scene. In this way it is possible to classify the point cloud in advance and distinguish the different classes between buildings, roads, vegetation, as well as remove unwanted portions of the PC and eliminate noise, improving the final quality of the point cloud. PC classification by means of Deep Learning (DL) and Machine Learning (ML) algorithms can also be used to identify points belonging to specific surfaces, such as walls, floors, or roofs, facilitating the accurate reconstruction of such surfaces and the creation of more detailed 3D models, reducing the need for manual corrections and improving the adaptability of the models to the specific purposes of the application.
The ability to perform a prior segmentation of the point cloud can certainly improve subsequent 3D modelling processes and also facilitate the use of the ShrinkWrap tool by identifying and classifying objects to be modelled in advance.
Therefore, the proposed method based on the simplification of the point cloud and the use of the ShrinkWrap tool, operating directly on the point cloud, already elaborates an initial reconstruction of the mesh of the analysed object which is subsequently improved and converted into a quad-mesh model.
5. Conclusions
The paper showed an original methodology able to build information models from the point cloud in simple and efficient way, especially in complex surfaces. In particular, the extraction of key points in the Open Source environment based on specific criteria and identification of appropriate thresholds made it possible to identify the significant elements of the structure. In addition, the proposed method made it possible to considerably reduce the point cloud; in fact, very often project point clouds consist of hundreds of millions of points that, while allowing a realistic view of reality on the one hand, are difficult to manage within ordinary PCs on the other. Typically, the best features (verticality and surface variation) are achieved when the radius value equals three times the minimum value. However, as highlighted in
Figure 7f, the noisiness of the point cloud had an impact on the classification process. This means, the choice of a surveying technique capable of generating dense and low-noise point clouds assumes allows for better classification.
Once the reduced point cloud was obtained, an efficient methodology based on the automatic construction of objects from surfaces (even non-coplanar ones) was developed. This latter task was obtained thanks to use of ShrinkWrap tool implemented in Rhinoceros v.8 software allows creating a mesh around the point cloud efficiently in terms of both accuracy and speed. In addition, it is possible to build parametric objects in the Rhinoceros-Grasshopper environment; indeed, as shown in the case study of the Beach Patrol Headquarters, thanks to the presence of advanced 3D modelling tools (quad-mesh, loft, etc.) and the development of algorithms implemented in Grasshopper, it was possible to build parametric objects and, of consequence, manageable in BIM software, such as Autodesk Revit.
The developed method is particularly useful in buildings with complex geometries and non-coplanar surfaces (arches, vaults, etc.) where it is not necessary to identify virtual vertical and horizontal planes to create profiles on the point cloud.
Indeed, in the different datasets analysed, it was possible to efficiently recognise the features essential for the geometric reconstruction of objects.
Future prospects for the proposed approach will see the transformation of point clouds into BIM models within Rhinoceros/Grasshopper software. These will revolutionise the way architects, engineers and construction professionals exploit point cloud data for modelling and design of buildings, particularly complex surfaces. Indeed, through the use of suitable tools capable of advanced processing, Machine Learning, parametric modelling, real-time collaboration and interoperability features, Rhino can become a powerful platform for scan-to-BIM, or better still PC-to-BIM, workflows. In this way, more efficient, accurate and collaborative modelling processes for structure design activities can be implemented and improved. The proposed method, while providing a semi-automatic process for modelling complex geometries from point clouds, has the limitation of subjective interpretation and classification of objects. This can lead to variations in the quality and consistency of the generated BIM models. Therefore, future challenges will concern a process capable of reconstructing object geometries and, at the same time, classifying an object automatically, experimenting with the use of new algorithms based on artificial intelligence.