Turn Tall Ship 3D Scan Data into a CAD Model

As described in the previous post a long range 3D scan produces a lot of data in form of X-Y-Z coordinates which are called Point Clouds. You can use such coordinates to measure distances between various points of the vessel but that isn’t really all that useful. What you need to do is turn the Point Cloud into a Polygon Mesh which in essence connects the points with straight lines resulting in a set of triangles or polygons. In a sense you now have a surface constructed out of lots of triangles. In the next step the software can now create 2D B-Splines which are special curves on a flat surface (called a plane) that slices through the mesh. The software analyzes where precisely the plane cuts through the mesh and generates a B-Spline along the cut line. In the last step you take multiple such B-Splines and loft them into a NURBS Surface. Obviously there is a lot of math behind all of this but you really don’t have to worry about that since the software knows all that math and calculates it for you very rapidly. The picture below is a very simplified summary of the entire process.

points to polygon mesh to b-splines to NURBS surfaces

Points to Polygon Mesh to B-Splines to NURBS Surface

In our case we started with about 2 billion points as a result of the 3D scans. After we cleaned up the data we still had about 1.5 billion points for all visible surfaces of the exterior and interior at a density of 2,500 points per square inch. The exterior resulted in about 700 million points which I ran through a cleaning process that removed points that looked like they are noise. This process also removed lots of points on fairly flat surfaces since the point density isn’t needed their. However on more rounded surfaces the point density was kept higher to more precisely map the surface. And in a last step I further reduces the size of the point cloud by a process called re-sampling. The final point cloud for the hull and exterior of the Zodiac still contained some 26 million points for which I have 3 numbers for the X, Y and Z coordinates and 3 more numbers for the RGB color value that enables the software to render the cloud in a more photo realistic way. The interesting thing is that you now have a 3D picture which you can rotate in the software.

Let me now talk a little about the software which can do all of this. I tried various pieces of software but as you can imagine these aren’t really mass market products. How many people do you know who need to turn a massive point cloud describing some very complex surfaces into a CAD model. Usually you do this the other way around by designing the object or in this case the hull of a vessel in a 3D CAD system. In fact you most likely will only design one half of the hull and then mirror it because a vessels hull should be symmetrical.  However in our case we need to reverse engineer the CAD model from 3D scan data using the process described above. And the hull of a historic tall ship such as the Schooner Zodiac which does have 90 years of wear and tear and numerous refits and rebuilds is no longer symmetrical which makes the whole process even more challenging.

Ultimately I did find some software which actually supports the entire process outlined above. Our friends at 3D Systems have a software called Geomagic Design X (also formerly known as Rapidform) which can handle such a complex project. Learning and using the software is fairly intuitive and it has an amazing set of functionality and capabilities. And best of all its very stable and hardly ever crashes compared to some of the other software I tried. Nothing is more frustrating when you work on the model for 30 minutes and it crashes because you used a function that is buggy.

Update:  3D Systems published a case study and webinar about this project.

Rendered Point Cloud

Rendered Point Cloud inside Geomagic Design X

Once I imported the point cloud I used the build in features to remove noisy points and to re-sample and reduce the data set. The next step is for the software to generate a polygon mesh which approximates the surfaces by millions of triangles. When you zoom into the model you can actually see the individual triangles. And there will be lots of flaws and errors in the generated mesh for which the software now provides auto-fix features. Think about your photo editing software that lets you remove dust and other photo imperfections and auto-adjusts color balance, contrast and exposure.  Fixing the mesh is similar but quite a bit more complex and because of the large amount of data also more time consuming. Some of these auto-procedures took hours and I let the machine run overnight to get it done.  Until this point the software did most of the work and all I did was start the procedures.

After generating the mesh the software generates mesh regions which colors surfaces (triangles) of similar curvature. So a flat surface would appear in one color where the rounded edge would have a different color.  This surface coloring process makes it a lot easier to identify individual or similar surfaces. It also helps with the mesh cleanup process because it makes it easier to identify objects.

Colored Mesh Regions

Colored Mesh Regions

The next step was to do mesh cleanup for areas the software just can’t figure out what to do with. I started out investigating the hull surfaces and found various holes in the mesh caused by the supports in the dry dock which covered that section of the hull. The scan picked up the supports because they were visible but not the hull surface they covered. After I removed the support because they are not part of the hull I ended up with holes in the mesh. Geomagic Design X provides various features to fix such problems. Most of these are based on complex algorithm that analyze the area around the whole and now close the hole with triangles that are following the curvature of the surroundings. It does the same thing for any dings or dimples so in some sense its like accident repair work on a car in a body shop to prep it for paint.

Another area that needed more extensive cleanup was the deck of the Zodiac. Since we were in dry dock we had a lot of gear such as lines, garbage cans, tools, fenders and other equipment that covered the actual deck surface and which were all picked up by the 3D scan. The following pictures show the deck before and after mesh clean up.

Mesh of the Deck before Clean Up

Mesh of the Deck before Clean Up

Deck with colored surface regions

Deck with colored surface regions

Deck only after removing all "trash" and closure of remaining holes

Deck only after removing all “trash” and closure of remaining holes

At this point we are ready to generate actual surfaces. Geomagic Design X does not need to generate section curves which are then lofted but is able to fit a surface to a mesh region. You can think about taking some plastic wrap which you then stretch over the mesh. The following pictures shows such a stretched” surface which extends beyond the the actual mesh.

Port Hull Surface fit to Mesh

Port Hull Surface fit to Mesh

If you now create both port and starboard hull surfaces and the deck and transom surface you have 4 surfaces that intersect along the keel and deck lines. With the surface intersect feature you can now trim all the overlapping surfaces which ultimately result in a full surface model of the vessel.

Final Hull, Deck and Transom Surfaces

Final Hull, Deck and Transom Surfaces

Now this sounds to easy and in reality the process is quite a bit more complex because the hull surfaces do not intersect smoothly with the keel. Therefore I had to create separate surfaces for the curved part of the hull and the more straight and plane keel surfaces.  I realized that after I used another amazing feature of the software called the Accuracy-Analyzer(TM). This feature calculates the spatial distance between the mesh and the generated surface and then assigns a color to the distance. It shows you how accurate your model is compared to the mesh that is based on the actual scan data. Red highlights areas were the distance between surface and mesh is more than 3cm or roughly 1in. Dark blue identifies the same distance in the opposite direction and green shows the surface matches precisely the mesh.

Accuracy-Analyzer(TM) view showing the spatial distance bewteen the mesh and generated surface

Accuracy-Analyzer(TM) view showing the spatial distance bewteen the mesh and generated surface

Below are a few more pictures that show both mesh and surfaces.

Screenshot 2013-11-05 22.31.10Screenshot 2013-11-05 22.31.23

Screenshot 2013-11-05 22.31.32Screenshot 2013-11-05 22.31.45

I initially started this project because we were hoping to create a set of blue prints and hull lines printed in 2D. But before you can create these you have to create a clean mesh and a surface model. Geomagic Design X does allow to generate section curves based on a mesh only and the next step was to create sections, waterlines and butt lines by slicing the hull into planes spaced by 3 feet. In the old days when ship builders and naval architects were trying to generate these lines they simply sawed the scale wood models they created by hand with chissles, sand paper and lots of elbow grease into sections. Today, 3D software does exactly the same by slicing the mesh or surface model along parallel planes.

Screenshot 2013-11-20 09.27.56

The next picture just shows the hull curves.

Screenshot 2013-11-26 08.04.45

These curves are now exported to another 3D Systems software called Geomagic Design formerly known as Alibre to generate 2D hull lines. Since 3D Systems just recently acquired Rapidform (Design X) and Alibre (Design) the export and import wasn’t as simple but I was told they are working on this already. In any case I found a work around to get 3D curves from Design X (Rapidform) into Design (Alibre) so I can create actual 2D drawings. The next picture shows the hull curves in Geomagic Design (Alibre).

Screenshot 2013-11-26 08.07.07

And ultimately I was able to generate the hull lines what was our initial goal. The butt lines show the deformation of the port hull since they don’t overlap 100% as it would be the case for a fully symmetrical hull. This hull line drawing is also different since it show lines for both port and starboard hull. Traditional lines drawings are based on a fully symmetrical hull might look slightly different.

Hull Lines

Besides the hull lines there are many more reason why I spend quite a bit of time on this CAD model. A full 3D model can be used for:

  • updating the stability certification,
    because we can now accurately determine the precise displacement of the hull based on various load situations.
    Modern stability analysis software requires a 3D hull model to generate GZ-curves and other stability metrics.
  • 3D multi-media walk through’s to be used on websites or for educational purposes.
  • model building and 3D printing of the hull.
  • generating sail plans and identifying distances in the rigging.
  • remodeling and repair projects of the interior or exterior.

And yes we now can drive any numerically controlled machine such as a 3D printer or multi-axis CNC mill because we do have the 3D CAD model of the vessel.

But for know I just have a hull and deck surface model. The next step is to further detail that model and add rigging and deck structures. In some of the pictures you already saw masts and booms. I do have a full interior scan, mesh and section curves that need to be cleaned up and integrated into the existing model. So stay tuned and please send feedback and comments.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s