Reverse Engineering: How to Use Cloud of Points Effectively
Updated: Jan 21, 2021
By Hicham Farid, PhD, CAE/FEA Engineer at Aventec
and Steve Hotchkiss, Senior Design Engineer at Aventec
In the context of mechanical engineering, Reverse Engineering is the process of deconstructing an existing part or assembly to extract knowledge from it. The purpose could be copying, duplicating, or rebuilding with improvements.
As the first step in the reverse engineering process, extracting the exact geometry is the most challenging one. This step is usually performed using 3D Scanners, more sophisticated technologies such as Computed Tomography could also be used.
During the scanning process of an object, data is gathered as a cloud of points without any topological information. The general case is a random distribution of unconnected points that represent the outer surface of the part. These data cannot be used directly in a CAD or FEA platform as raw models. Hence the need for processing, cleaning, and repairing the obtained scanned data.
Most scanner generate cloud of points in the form of an .stl file, the mesh associated with scanned model is not usable, although it may appear as a zero thickness mesh model with shell elements (also known as an orphan mesh). The need for a manual process is rather crucial to extract the 3D body associated with the scanned part or assembly, especially in cases where 3D solid models are needed.
In this paper, we will go over the steps on how to import a scanned model as an .stl file within Abaqus/CAE, how to edit the geometry of the cloud of points within CATIA V5, and how to use the generated 3D CAD solid model back into Abaqus/CAE.
Cloud of Points
Stereolithography format or .stl is widely used to extract 3D scanned data. The obtained .stl models are simply a scattered cloud of points in space without any topological link, shape, or form, hence the nomenclature “cloud of points”. Even when using very accurate scanners, the acquired data are generally prone to error and need significant manual processing before they can be used in any capacity.
Figure 1. From left to right, an stl file opened in Abaqus/CAE and CATIA V5
Figure 1 shows a simple cubed model that was imported as .stl file into Abaqus/CAE and CATIA V5. The difference is obvious on how the two software’s deal with this type of model.
Abaqus/CAE stitches the points together into small triangular facets to form a triangular orphan mesh model. The mesh reproduces only the outer surface of the model. While CATIA V5 imports the .stl file as exactly a cloud of point in space.
Objective and principles
The main objective of this paper is to establish a methodology on how to generate a surface or solid part from a scanned cloud of points. Changing a scanned set of points into a mesh that can be used to generate a surface or solid geometry. Although this might sound straight forward for a simpler geometry such as a cube or cylinder, it is rather complicated to perform when facing complex geometries.
In this paper, we will be working on a dummy model of a landing gear fitting (Figure 2). We assume that the .stl landing gear model was obtained from a 3D scan of real scale physical model. The task was to perform a simple FEA analysis on the scanned model. The .stl file was imported into Abaqus/CAE through the STL Import plugin. However, the model was quite complex, and it showed only the outer surface as an orphan mesh.
Figure 2. Landing Gear main fitting .stl file opened in Abaqus/CAE
The general procedure of obtaining a solid model from an orphan mesh will be done in two steps. First we usually proceed by converting the surface mesh into a CAD surface using the Geometry Edit tool, then by using “Shape, Create Solid: from Shell” tool we convert the obtained shell model into a 3D solid model.
Knowing that Abaqus/CAE is not a dedicated CAD tool, the amount of CAD manipulation operations stays limited. Figure 3 shows the usual steps followed to convert an orphan mesh model into solid. Trying to replicate the steps on the landing gear model was impossible as the geometry is complex. Therefore, the need for a more dedicated tool to extract the 3D CAD model into a different format for a subsequent FEA analysis.
Figure 3. Steps to convert orphan mesh to solid part within Abaqus/CAE
Methodology: CATIA V5
In order to convert an .stl file to a useable design CAD format, either as surfaces or solid, the starting point is a cloud of points. That is usually generated from a 3D scanner as mentioned above. The amount of points and the disbursement of those point is one contributing factor to be considered during the surface creation, along with the units.
Figure 4 shows the imported .stl file into CATIA V5. The scanned model is shown as a simple cloud of points without any interpolation or mesh creation.
Figure 4. Landing Gear fitting .stl file opened in CATIA V5
By switching to the Digitized Shape Editor workbench we can access powerful tools used to read, import and process parts digitized to clouds of points. These clouds of points can then be used in Quick Surface Reconstruction, DMU (Digital Mock-Up) or Surface Machining, or exported to various other formats to be used for other applications.
Quick Surface Reconstruction easily and quickly recovers surfaces from digitized data that has been cleaned up and tessellated using the Digitized Shape Editor workbench. It offers several approaches to recover surfaces depending of the type of shape. Using tools that analyze curvature or iso-slope properties, users can easily create mesh segmentations in pertinent surfaces area. As it does also include its own quality selecting tools.
When importing the landing gear fitting .stl file and generating a mesh, the neighbourhood of points used, as well as the accuracy can be set during the import.
Figure 5. CATIA V5 .stl file import wizard
In the Quick Surface Reconstruction workbench, we can automatically generate surfaces from the mesh. We can set the number of surface detail (how?) along with the allowable deviation. Both will influence the time to generate the surfaces. It is highly recommended to start with a low number for surface detail to get a faster turnaround.
Figure 6. CATIA V5 automatic surface generation window
In this example, we started out with 6000 surfaces. The generated surfaces were a very high-level approximation from the mesh. We then increased the surface detail by 10000 at a time. This improved the surface covering over the mesh. At some stage of the refinement, we will reach a point where fewer changes to the final shape are observed.
By the time we reach 60000 surfaces, the changes were barely noticeable. We also found that if we started out with 60000 surface detail at the first step, the system had will fail to reconstruct the geometry. The maximum number of surface detail will be dependent on the number of cloud points.
Figure 7. Local surface refinement and feature reproduction
By viewing both the .stl file and the surface file, it became clear which local areas require more mesh or surface detail refinement. In this example, the surfaces needing refinement were observed around several locations. This was achieved by locally generating a mesh around those features and generating surfaces with a greater number of surface deviation, then locally joining both groups of surfaces. This achieved a good surface covering over the original .stl model.
Figure 8. Different configuration of the landing gear fitting model, from left to right: .stl model, meshed model, and solid model
Overlaying and visualising both the .stl file and the surface data yields a good idea on which areas need refinement. The surface being generated is a skin (zero thickness), which may have some gaps, therefore the need to close any open areas with extra surfaces before it can be changed to a solid. Plenty of tools in the CATIA GSD (generative Shape Design) workbench are available to achieve this.
Figure 9. Overlayed landing gear fitting model plots
Figure 10. Solid landing gear fitting model as opened in Abaqus/CAE
After all the manual set of manipulation, the solid model is important to Abaqus/CAE as a CATIA V5 part model. Notice the different small surfaces shown per default once the model is imported. These random surfaces need to be cleaned before proceeding with any type of analysis. Tools such as Virtual Topology and Combine Faces can be used to smooth these surfaces to generate high quality mesh.
In this paper, we established a methodology on how to reverse engineer scanned models using CATIA V5. The use of the Digitized Shape Editor workbench in conjunction with the Quick Surface Reconstruction workbench is illustrated. The obtained model approximates the scanned model with a high degree of fidelity.
A set of data points in space. The points represent a 3D shape or object. Each point has its set of X, Y and Z coordinates. Point clouds are generally produced by 3D scanner software, which measure many points on the external surfaces of objects around them.
A triangle mesh is a type of polygon mesh used in computer graphics. It’s a set of triangles (typically in three dimensions) that are connected by their common edges and vertices.
The topology of grouping together vertices of a mesh to give mathematical definition to the space between the vertices. This will produce a polynomial solid (solid without thickness or shell model).
A method to add thickness to a set of surfaces, giving it mass.