Creating a Framing Model

It’s been a while since I updated this blog but since I only work on this as I have spare time things just take a little longer. The last blog was all about turning 3D scan data into a surface model of the hull and deck of the vessel which then were used to create 2D hull line drawings and a 2D rigging plan. This blog will outline how I created the basic framing of the vessel using the hull surfaces as a starting point. The actual section frames are not visible except a very short piece above the deck underneath the cap rail. And that piece is only half of the actual section frame width as you will see later in the images.

A few month ago I found a new piece of software called which is a fully cloud based CAD system build from scratch over the last 2 years by a bunch of long time CAD experts who used to work on SolidWorks. What is absolutely amazing is that it runs in your browser and you don’t need any beefy hardware since all the processing is done in the cloud. Because of that they also have an iPhone and iPad app with full design capabilities enabling me to crawl around the boat to capture and design details right on site. And it gets even better since the software is free to use for anybody as long as you don’t exceed certain limitations such as storage used and number of CAD models active.  I can now share the model with other volunteers to review the model or even enable them to collaboratively edit the model. So I could be working on the rudder steering mechanism when at the same time someone else would further detail the deck structures. And we both can see each others changes immediately. Think of Google docs for CAD.

Update: Onshape recently published a blog post about this project which you can find here.

I’m now looking for some engineering students and other volunteers who want to learn and improve their CAD skills and help us further detail the 3D model of the vessel. Because of this new software we can now crawl around the vessel take measurements and detail the 3D model on site. So if you want to help let me know by posting a comment.

To start this next phase of the project I imported the hull surfaces into

Schooner Zodiac Hull Surfaces

Schooner Zodiac Hull Surfaces is primarily a Solid Modeler which means parts are represented as solid objects instead of an object shaped by its exterior surfaces (Surface Modeler). The first step was to take the exterior starboard hull surface and thicken it by 3 inches towards the inside since the hull planks are 3 inches thick. At this point I made the decision to create a symmetric hull model based on the starboard hull. If you read the previous post you’ll know that the scanned hull is not symmetrical. The port hull is actually indented by up to 3 inches towards the center plane because of its use as a pilot vessel for 40 years. I simply tried to make modeling a lot simpler by not having to deal with different port and starboard hulls. Once I created the starboard hull as a solid I simply mirrored it on the center plane.

Symmetrical Starboard and Port Hull Solids

Symmetrical Starboard and Port Hull Solids

The next step was to model the transom for which I simply couldn’t use the “thicken the imported surface” approach because the transom also wasn’t symmetrical. So I recreated the transom surface  by sweeping it along curves created by slicing the transom in sections. I extended the transom a little more which will later be cut off once the deck and cap rails are in place.

Now it was time to model the keel based on the outline of the imported keel surfaces. I choose to create the initial keel body by extruding a sketch that roughly mapped to the keel outline. I would trim the keel body later once I start fixing all the transitions between the hull surfaces.

Rough Hull Surfaces with Transom and rough Keel

Rough Hull Surfaces with Transom and rough Keel

Up to this point things went pretty quickly since I just recreated objects based on the imported surface data. But as you can see there are quite a few imperfections in the hull surfaces/solids which I had to fix in the next step. At the bow for example the hull surfaces didn’t touch and there was a gap that needed to be closed. The following three pictures show how that was done.

Screenshot 2015-06-16 14.13.09 Screenshot 2015-06-16 14.14.10 Screenshot 2015-06-16 14.15.30

I also had to trim the keel since it is not of equal width between the stern and the bow.  And I filled a couple of the larger gaps in the stern and punched out the hole for the propeller in the keel. This work was a little bit more tricky since doesn’t have a lot of functionality yet to fill gaps between surface solids. This is usually a domain for Surface Modelers but I’m sure will add these capabilities overtime which will be time savers. The fact that I could create a fairly smooth and almost “watertight” hull model speaks for the capabilities of which was in beta when I used it.  The last item I added in this step was the rudder and rudder steering axle.

Watertight Hull with Rudder

Watertight Hull with Rudder

Up to this point I just recreated and fixed a hull model using imported data as a starting point. It was now time to start creating section frames which are the skeleton of any wooden hull vessel. I know the frames are 12 inches wide and 6 inches deep and are spaced 24 inches on center.  The section frames are actually build out of 6″*6″ pieces of wood that are sawn to the curved shape to follow the hull and are doubled up. A shipwright would refer to this as 6″*6″ double sawn futtocks on 24″ center framing. I choose to model the section frames as single pieces since I was planing to 3D print the model on my little 3D printer and having multiple pieces for each section frame would just cause a lot of problems with print resolution.

The Zodiac is about 127 feet on deck which should result in roughly 60-62 section frames. To create these frames I needed to slice the hull model using 62 planes. This was a bit painful since doesn’t have the create multiple planes feature yet. So I had to create each plane with a 24 inch offset manually. The next feature I needed was to use the the 62 planes and intersect them with the hull and keel to create section curves.  This again is a feature that isn’t essential to create a model but helps speed up the time it takes to create one. The support team was super helpful to take my feature requests and I’m looking forward to see it implemented in the future. In the meantime I had to slice the hull into sections one at a time which now created lots of parts (hull fragments) which did have the section curves I needed to create the frames.

Sliced Hull

One of the interesting thing about any old wooden vessels is that there are no straight lines or flat surfaces. Everything is curved and that makes it beautiful to look at but quite difficult to model. No section frame is the same and I had to create 60 sketches based on the section curves created by the slicing of the hull. Each sketch had to be a closed profile that can later be extruded 12″ to form the frames. I also had to extend the sketches on the top by 24 inches since the hull surfaces ended at were the deck would be. The extension was used to later attached the deck walls and the cap rail. It is also interesting to note that section frames are parallel to each other and towards the bow and stern actually punch though the hull surface. During construction over 90 years ago that was fixed with a lot of elbow grease by trimming of the edges of the frame to make it follow the lines of the hull surface.  That is where a good eye came into play as well to make sure all the frames are shaped properly.

Sketches for all Section Frames

The top extension of the section frames is actually only half the width of the frame since it only needs to support the deck walls and cap rail. There is no structural load above the deck on the frames. And the forward frames keep the aft part of the frame and vice versa for the aft frames.  The following picture shows all the frames extruded and trimmed on the top. You’ll notice as further forward or back you go as more of the frames punch through the actual hull surface. In a last step I will trim all the frames but we are not ready yet.

All trimmed Section Frames

Next I added the deck walls by lofting a surface along the edges of the frame extensions. Since I created the hull symmetrically I simply mirrored the deck wall from starboard to port.

Screenshot 2015-06-16 15.39.06

In an earlier step we split the hull into sections so we can create the section curves. At this point we no longer need the hull sections so I merged them back together into a port and starboard hull. That is when you can see some rendering approximation errors. Some of the frames were not visible with the hull sections used to create the frames. But after the hull sections where merged again more frames punched through. The underlying model is still accurate but the rendering and shading approximation could use a little more detail to avoid such “visual flaws”. But again this is really a very advanced scenario and might be not at all that common.

Screenshot 2015-06-16 15.48.57

After that I added the cap rails which cap off the deck walls and section frames.

Screenshot 2015-06-16 15.54.13

At this point we have done most of the hull framing except the transom to which we get later. I created the lower deck surface and moved on to recreate the deck surface. Unfortunately doesn’t allow inserting parts into a part studio yet so I had to recreated the deck surface inside the part studio. The deck has a slight arch toward the center plane to ensure water runs off the deck quickly.  The deck itself is 3 inches thick so I created a few sketches to loft it. I made sure the sketches extended beyond the hull solids so I can trim off the excess with a Boolean subtract feature to keep all the surface solids connected water tight.

Screenshot 2015-06-16 15.58.29


Now it is time to trim all the frames against the hull and keel and delete any of the trimmed off parts. The final result shows a couple of frames that didn’t trim properly which turned out to be a bug which is in the process of fixing.  But the 3D model I was able to create simply based on imported hull surfaces is pretty amazing.

Screenshot 2015-06-16 16.21.20


You might ask why I went through the effort to create such a complex model. There are various reasons why this was a great exercise. The primary reason is to be able to create 3D printed models for educational purposes. Once the model was created I could print 60 frames and 5 keel sections on my little UP mini 3D printer and assemble a scale model by simply sticking the frames into the keel. Other reasons are to create a virtual walk through for marketing and education purposes. Or to create models and blueprints for Coast Guard inspections and maybe update our stability analysis so we can fly top sails with passengers on board. And maybe someone wants to create a model kit or ultimately create a replica of the vessel. In the end it is a lot of fun to learn new software on a real and complex project.

2015-04-06 15.20.48

2015-04-06 15.20.18


What’s next? Further detailing the framing model by adding deck frames. After that I’ll start detailing the interior by adding state rooms, the galley and various systems such as fuel tanks, fresh and waste water tanks, bilge pump locations, prop shaft, masts and deck structures. But what I really hope to do is inspire some student or high schoolers or other volunteers to come out and pick a section of the vessel and help further detail the model. In the end all products we use today started in some 3D CAD model and as more young people get excited about CAD as better and more innovative products will be designed in the future.


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.

3D Scan of a 127 foot Tall Ship

2013-03-04 16.30.11

The Schooner Zodiac docked in South Lake Union

On March 2nd 2013 the Zodiac arrived in South Lake Union and tied up next to the Center for Wooden Boats  to wait for the dry dock to be ready. Our friend Ross from Toronto arrived the day before and brought with him a very expensive piece of equipment, a Faro Focus 3D Sanner which will set you back by ~$40,000. This scanner has a range up to 393 feet (120m) and an accuracy down to 1/16 of an inch (1-2mm) which means we will be able to now get very precise measurements of the Zodiac. The funny thing is that this level of accuracy on a wooden boat doesn’t make a lot of sense since measurements actually change constantly. Wood is a very flexible organic material that twists and bends based on temperature and forces applied. So for example the measurement of the boats length in dry dock is very likely different than when it floats in water. The trick question is how much of a difference can we register. We’ll get back to that later.

2013-03-05 09.57.25

Ross watching the Zodiac navigating into the dry dock

On Sunday I met Ross on the Zodiac and we got busy right away scanning the boat. Ross took two scans from the dock which gave us some initial point cloud data to play and experiment with. We then moved on to scan the entire inside of the boat from the chain locker in the bow to the lazarette in the stern. We even placed the scanner into the engine room, the bilge with the propeller shaft below the main lounge and even the very tight forward bilge.  In total  we created 18 scans of the inside of the Zodiac that resulted in about 600-800 million scan points or roughly 40 giga bytes of uncompressed files on the hard drive.  Or in other words for each square inch of surface we have about 2,500 points each with X, Y and Z coordinates and an RGB color value. Now that is a lot of data that needs to be processed and I quickly learned that my desktop computer with a fast quad-core 64bit processor and 12gb RAM will be pushed to its limits. I ended up buying 16gb more RAM memory and learned that this high data density isn’t really necessary to what we are trying to do.

On Tuesday we finally got into dry dock and you can see the entire process on a time laps video I created with my GoPro camera. The video is posted to YouTube and compresses the 2 hours process  into 44 seconds.  Once the Zodiac was dry we got immediately to work to setup the scanning process. The picture below is a complete point cloud of the entire boat inside the dry dock. This point cloud was assembled from 29 individual scans along the bottom of the hull and from the top of the dry dock walls and even the Zodiacs deck itself. The scanner always does a 360 degree scan so it picks up everything around it including the dry dock, the crane and buildings on shore and even other boats around us. The mystical colors come from the fact that Ross started scanning at 5pm and worked way into the night with only the top mast light illuminating the scenery.

Zodiac in dry dock

Zodiac scan in dry dock

Once all the scanning was completed we had almost 2 billion scan points which used uncompressed  about 80gb of space on the hard drive. Ross and myself got busy processing the data because we wanted to show some preliminary results to Tim before Ross flew back to Toronto. We wanted to provide a number by which the port and starboard side of the hull is different. During Restoration they found quite a bit of damage on the port side of the hull due to the 40 year use as a pilot boat.

One of the first steps was to align each scan for which we used 12 special 6″ spheres with magnets that we placed along side the walls of the dry dock. Each individual scan needs to pickup at least 3 of the spheres which the scan alignment software Faro Scene auto-detects and highlights.  So all 29 exterior scans included at least 3 of the spheres for which the software calculated precise 3D coordinates.  These know reference coordinates are now used to align each scan down to 1/16 of an inch accuracy as long as the sun is not shining. Well what does the sun has to do with this you might ask. The dry dock is made out of steel and is about 49 feet wide from wall to wall. If the sun hits the walls they heat up and expand which now might change the width to 49 feet and one inch. It might also change the length by an inch after which the reference spheres are no longer at the precise positions for each scan which would result in the scan alignment being off by a couple if inches. However, we got lucky and had an overcast day with fairly constant temperature and very little wind which can have a similar effect as the the sun.

360 degree scan picture showing reference spheres

360 degree scan picture showing reference spheres

After we aligned all 29 exterior scans we started to clean up the scans and delete all scan points that are not part of the boat. We removed all the dry dock walls, buildings and the crane, dry dock floor and the supports that keep the Zodiac in position. Then we removed all the lines and the ladder we use to get on the boat in dry dock and reviewed all hull surfaces for other scan data that is not part of the hull. We also removed all deck structures and the rigging since for this initial analysis we only need the hull surfaces for each side. This process took quite a few hours and you can think of it like “Photoshop”ing a picture. The only difference is that we do it in 3 dimensions. Below you see the result of that effort.

Cleaned up exterior scan of the Zodiac

Cleaned up exterior scan of the Zodiac

Once we had fairly cleaned up hull surfaces we actually split the point cloud in half right through the center plane of the boat. We used for this some free open source point cloud management software called “CloudCompare” which is actually pretty amazing. It allows you to work with very large point clouds as long as your computer has enough RAM memory. You can reduce the data density by re-sampling the point cloud to have 10% of the original size. So our 2,500 points per square inch were reduced to 250 points. Then we mirrored the starboard hull point cloud right on top of the port side one.

The software now processed the spacial difference between each hull surface and calculated for each point pair precisely how far are they apart. The result can now be visualized by a color scale that shows how fare certain areas of the hull are apart. As you adjust the color scale (the scale in the pictures is in meters. So 0.3m equals roughly 12 inches)  you can start to see the actual difference between each surface and the expected port side indentation of the hull becomes very visible and quantifiable. We can see a maximum difference between the hull surfaces of up to 3 inches which is significant but not a surprise nor an issue regarding the hulls structural integrity. It just shows how flexible the wood hull of a large vessel such as the Zodiac actually is.

Hull surface delta analysis

Hull surface delta analysis, 0.3, 0.1, 0.05 , 0.025 meters

Next up is further data clean up and interior alignment which is much more difficult because we don’t have reference spheres and I need to rely on surfaces that overlap with each scan. After that I will start to actually reconstruct the hull surface by turning the point cloud into a mesh and then ultimately into a CAD model.

3D printing of the Zodiac’s hull model

In my last post you learned how I created the basic shape of the hull. Today I will further detail the 3D model and show you the results of my 3D prints. Once you have the basic hull shape it is now very easy with modern CAD systems to project the lines each section produces. Think about how they have done it 100 years ago. They created a scale model out of a solid piece of wood and then cut it into sections with a band saw. The CAD system can create 126 sections spaced by one foot in a couple of minutes.  In the picture below I spaced the sections 9 feet.

creating the hull - step 7 - creating sections

You can now use the section curves to create ribs in the CAD model. This process again is fairly quick. In the following picture I created 4″ * 4″ ribs spaced by 1 foot which are the dimensions I took out of a picture showing a small hull section with ribs I already shared in the previous post. The result is the frame of the Zodiac what is must looked like when it was build 90 years ago. Today most of the ribs have been doubled up to add additional strength.

creating the hull - step 8 - creating ribs

At this point I have enough model data to actually start printing the hull on my 3D printer. Most 3D printers need an STL file to be able to print your CAD model. This is a pure surface description based on triangles connected to each other. You just have tens of thousands if not millions of these small triangles to represent the surface you want to print. Below you see how the CAD software created the mesh. I did increased the number of polygons to get a better and smoother surface in the printer later.

Hull with STL mesh Hull with STL mesh higher resolution

After I exported the hull I then loaded it into the 3D printer software that scales the model to fit it within the 12*12*12 cm box which represents the maximum part size the printer can produce. Now I’m ready to print.

Hull in UP! mini software

After about 2 hours my first small hull emerged from the printer. The result was actually pretty amazing and I now had a model I could touch and feel. I also noticed right away that the back of the hull wasn’t quite right. I also lost the rudder which wasn’t printed properly.

2013-02-20 18.20.55

But over the next few days I further improved the CAD model and even sliced it into three section so I could print a larger hull. After each section was printed I just super glued them together. The following sequence of pictures show you various results. Up next is scanning the hull of the 127 foot schooner Zodiac. So stay tuned.

2013-02-20 18.21.15

2013-02-20 18.23.55

2013-02-20 18.24.02

2013-02-20 18.21.44

2013-02-20 18.26.46

Creating a 3D Hull Model

In my first post I talked about the lack of any available blue prints for the Zodiac. Our ultimate goal is to reproduce them by creating a 3D CAD model of the entire boat. The most complex part from a CAD modeling perspective is the boats hull. It is mathematically a very complex surface but optically has very smooth lines and a nice flow to it. And most of the hull you can’t see because it is under water and that is a good thing because that is what keeps the boat afloat.

zodiac full side profilezodiac interiorlayout

To get an accurate model of the hull we will do a 3D hull laser scan when the Zodiac is in dry dock in March 2013. But I wanted to get a head start and create an approximated 3D hull CAD model which I can then use to 3D print little hull models. So I started to look for pictures of the Zodiac from which I can trace some rough lines of the hull above water and approximate lines under water based on pictures from the hull in dry dock. I found a nice side shot from the zodiac and a rough interior layout plan from the website which I loaded into the CAD system and placed them in the proper planes. In the CAD system I created some very basic dimensions of the boat which is 127′ long and 26′ wide and draws about 16′ below the waterline.  Then I scaled the pictures inside the CAD system until the hull measured from bow to stern 127′ which is the known LOA today. The picture below shows the initial setup in MOI3d.

creating the hull - step 1

I could now trace the visible hull lines along the picture and approximate the lines under water based on a few dry dock pictures. After that I have 2 three dimensional curves (B-splines) inside the CAD model which now allows me to loft the hull. The following 2 pictures show that result.

creating the hull - step 2

creating the hull - step 3 - Basic Hull Lofted

As you can see the result isn’t all that useful yet because the lofting function just didn’t have enough data based on the 2 curves to create a hull. At this point I remembered that I saw some hull lines of the Zodiac which were created a few years back. I took some pictures of these hull lines and used the same technique as above arranging each view and scaling the pictures to match the dimensions. Then I started tracing the hull lines and arranged them in the proper 3D position.

This process was actually quite time consuming  since it required a high decree of accuracy and I tried various methods for creating the B-splines. I remembered that using fewer control points on the B-splines will make the lofting easier and the resulting surface smoother. So for each hull curve I tried to use no more than 5 control points and dragged the control points until the curve matched the line in the picture. The tricky part here is do the lines in the correct sequence or you will get lost with all these lines.

creating the hull - step 3 - Detailed Hull Lines

This step is the most important one in this process because the CAD software will use these lines to loft the hull. Now with today’s tools such as CAD software you can create and design such a complex surface in a couple of days. Now imagine the type of effort that was necessary to create a complex hull such as the Zodiac’s 100 years ago when the schooner was actually build. They didn’t have computers or even calculators so creating actual drawings must have taken weeks if not month. Naval architects used scaled wood models which they shaped with a lot of elbow crease, chisels and sandpaper, until they had the shape they wanted. Then they cut the solid models into sections at set intervals which produced the actual hull lines they now could trace onto paper. After that they used mechanical tracing tools to scale the lines.

I was able to re-create the hull in the CAD system in a few days but that includes a lot of learning time and trying different methods. Now all of this you only have to do for one side of the hull because you can later mirror the one side to create a full hull. The next pictures show the selected (yellow) hull lines and the lofted hull as a result. The software provides a few options to play with to improve the result by basically reducing the constraints for the surface. It basically makes a loose fit which makes a smoother surface. It is like the computers version of elbow crease for all you non engineers.

creating the hull - step 5 - Lines Lofted

At this point we have a pretty good approximation of the hull but we  have a lot more details to take care of. We need to close up the stern and then thicken the actual hull surface because the wooden planks of the hull  are probably about 3″ thick. Then we mirror the hull to get a complete hull model. Next is to add the keel beam and rudder. Here is the result after all of that design work.

creating the hull - step 6 - Thickened Hull with Rudder


Once you have the hull model you can now start building the actual skeleton of the ship which is what traditional boat builders started with. In modern CAD systems is now fairly simple to create the curved ribs because you have an exact hull you now can slice in sections and project the precise curves needed for the ribs. The following picture which shows a small section of the ribs I took from the Zodiacs website. I used that photo to get some basic dimensions for the width and thickness of each rib and the spacing between them. In this picture I believe we see a port side section that has been replaced as built by 6”x6”double sawn futtocks on 24” centers.

In the next post I’ll continue with building out the skeleton of the ship and show you the results of my 3D prints. So stay tuned.

3D Printer Arrived

3D Printing Setup

A few weeks ago my new 3D printer arrived and after unpacking, initial setup and table calibration I was printing my first part, a ball bearing. It took me just 30 minutes to start printing. I was fascinated and glued to the printer watching how the plastic got extruded out of the nozzle and the bead was laid down by the  extrusion heads motion. It was just like when I was in college 25 years ago and I watched a fully automated CNC machine mill a part out of a solid piece of metal. Just this time it was the opposite. The material wasn’t removed but added layer by layer. And the machine doing it costs less than $1,000 compared to the $500,000 prize tag for a basic CNC mill. Now the computer technology at its core is pretty much the same. You have a 3D CAD model that gets converted into machine instructions to move from A to B to C in rapid succession which in turn get converted by the software into stepper motor signals which move the table and extrusion head very quickly but highly accurately (less the 0.2 millimeters).

Now the amazing part about 3D printing is that you can print mechanically functioning parts in one path. A great example is a ball bearing which takes shape below.

3D printing about half way done almost there you can see the balls half way printed

After printing is completed you just remove the base which contains the printed part. The plastic material, in this case ABS, is added layer by layer so the process is actually very slow. Printing the bearing took a couple of hours to complete. Once done all you have to do is remove the part from the base and remove any excess plastic or support structure that was added automatically by the printing software. I explain that a bit more in a later post.

the bearing on the printing base the bearing removed from the base

The only thing left to do is loosening the balls inside the bearing and you have a mechanically fully functional part. So now I was hooked and was looking for what to print next. On the web I found various sites were people share CAD models and I started to hunt for the obvious…a case for my iPhone 5…which there are quite a few. So I downloaded some case models and started to print only to learn that most of these were  not optimized for a extrusion based printer or were printed on some high end machine. The results were disappointing. It was pretty clear that the problem are the CAD models that needed to be modified and fine tuned. I spend a lot of time with CAD systems such as CATIA in college and more recently played around with modern versions such as Alibre and MOI3D. I especially like MOI3d for its excellent UI and easy to use capabilities to generate complex NURBS based surface models. But easy to use for CAD software means advanced Photoshop skills times ten.

Try to play with Sketchup from Google which is supposed to be the most easiest to use CAD software and you will understand what I mean. CAD 3D modelling software does require you to put in some time (more than 10-20 hours) to learn how to use it and to actually create something a bit more complex than a cube, cylinder or torus.

But back to my iPhone case project which was next. I realized that I actually don’t need a case because I already had a good one made out of some flexible material. That material is the next problem with cheap 3D printers which just lets you print with ABS and PLA plastic which both is not flexible at all. So I decided I will not design a case but design a replacement cradle for my phone in the car. The one I had just didn’t work well but I wanted to reuse the actual suction based windshield mount that allowed the cradle to be rotated and removed.

So I first started with the actual connector of the cradle to the suction cup mount. The small green part I designed and after two iterations fit perfectly. The reason for just the connector was just printing time. This small part printed in 15 minutes.

2013-02-13 21.21.52

Next up was creating a cradle based on a iPhone 5 model I downloaded from the web. As you can see in the picture below it was a disaster. The wall thickness was just to thin and the sidewalls just broke off when I removed it from the base.

2013-02-13 21.22.22 2013-02-13 21.22.14

So I modified the CAD model and added thicker walls but also removed some more material since I didn’t need a solid base and printing time is an issue.

2013-02-13 21.22.31 2013-02-13 21.22.52

The result was pretty clunky and the iPhone fit but not with its case. So I had to adjust the geometry to add more distance between the sidewalls. And I figured I can remove some more material because I don’t need the iPhone to be fully encased to have it sit on the cradle. I also didn’t like the color so I switched to black.

2013-02-13 21.23.01

Now the next version looked a lot better but still had some structural issues on the corners. The sidewall became loose after I inserted the phone a few time because of the pressure the phone put on the walls. So I had to further adjust the geometry to add some pitch to the walls and I thickened the corners of the wall.

2013-02-13 21.23.37 2013-02-13 21.23.50

Now this version fit the iPhone perfectly but it still took almost 3 hours to print. And I still didn’t like the design to much. It used to much material and felt clunky. So now I looked at the part and examined from all angles to see how the phone was actually supported. I realized I only need contact points at 4 corners so I changed the design again but kept the basic geometry for the contact surfaces of the phone.  If I have some more time I might re-evaluate the 4 point contact decision because you can also do it with a 3 point design I believe. But in any case that is now much better look and it prints in 90 minutes.

2013-02-13 21.24.08 2013-02-13 21.24.48

The small part above is a retainer arm which attaches to the cradle and can be swung over to make sure the phone doesn’t slide out when moved horizontally.  But after putting the phone in the cradle the friction between the iPhone case and the cradle was enough to keep it inside so I didn’t continue with the arresting arm.

Here is the final result which I now use in my car everyday and it works like a charm.

2013-02-13 21.28.37 2013-02-13 21.28.27

So total printing time for all the different versions was about 15-18 hours mostly done after I went to bed in the evening. And I worked on the CAD model another 3-6 hours total still learning more design tricks.  Within 4 evenings I had a fully functional cradle which I now shared on one of the CAD model sharing sites.

So go ahead and download the model and modify it or just print it.

Now most of you Zodiac fans wonder why I’m talking about all of this. Well there is a learning curve involved before you can design a complex boat hull. But my next post will address exactly that and you’ll see how I created a CAD model of the Zodiac’s hull based on pictures in the early versions and later based on pictures from hull lines I found on the boat. And how I then printed various version of the hull on the 3D printer. So stay tuned.

How did all of this get started?

It all started with my first trip on the Schooner Zodiac as a passenger for the Fathers day cruise in 2012. I simply fell in love with this almost 90 year old tall ship which is 167 feet long and beautifully restored and maintained. My two daughters, Katarina and Hanna, fell in love with the Zodiac as well and we simply had a blast helping to sail this big all wood boat. And yes it takes about 20 people just to raise the 2 ton main sail. The boom alone weighs about one ton and there are no electric winches or other convenience features or machines. Its all muscle power amplified by massive blocks and tackle. I was so excited on the first day to raise the main sail that I volunteered to set the pace on the main halyard. Boy, I wasn’t prepared for the instant full body work out and after about 3-4 minutes had to ask for relieve so I could lay down and catch my breath. Nobody told me that sailing a tall ship is hard physical work.

We spend 4 days cruising around the San Juan Islands and had a few times some pretty good wind. Now I sailed quite a bit on modern yachts from 40-52 feet but the size of the sails on the schooner and its size (~200 tons) feels very different. Everything happens a lot slower but when it happens you can almost feel the massive power and force the sails generate. You can hear the boat squeak and crack, see the tension when the ropes stretch and feel the boat slowly picking up speed purely powered by the wind. Its just an awesome display on how to convert the winds energy to propel a very large ship through the water.

So after 4 days on the boat my girls started asking when are we coming back. Well, a few month later in August the Zodiac’s first mate Chris called me one day asking if I want to go to Desolation Sound with them. I was confused and asked “are you looking for more passengers?”. To my surprise the response was “No, No, No we want you to come as part of our volunteer crew”. But the catch was I had to leave on the 12 day trip in less than 3 days. So I got busy quickly and told my boss I have to take an immediate unplanned break from work which he wasn’t happy about but ultimately agreed to.

Three days later I reported for duty on the Schooner Zodiac, met the crew and got busy getting the boat ready for passengers. Now I had to remember everything I learned on the first trip and figure out how to teach passengers not to get their fingers drawn into the pin when working the ropes. It did help that I do have a fair amount of sailing experience skippering bare boat charters but sailing a tall ship is just different. But after a few days and a few minor mistakes I got the hang of it and just enjoyed this experience.

Being a technology geek of course I couldn’t go without a couple of gadgets. My iPhone was loaded prior to the trip with a marine navigation app with updated charts, a tides and current app, and my favorite an app called Ship Finder which lets you point the iPhone towards any commercial vessel. The app then tells you the name, size, destination, current curse and speed over ground, where it is registered and what it transports. Oh yes, and how far away it is from you. The crazy thing is you don’t even have to actually see the vessel. It will plot it on a chart in reference to your own current position. So over the next few days people keep asking me questions about where we are, how fast are we going, what is the tide situation, and yes what’s the name of this large container ship out there. And my response always was “well, there is an app for that”. Even the captain started to notice jokingly that I seemed to have an app for everything. Well, a few hours later we crossed commercial traffic lanes  and two large vessels came towards us. I could see the captain and first mate getting busy trying to figure out if we will be getting to close soon. So I just casually mentioned the name, course speed and distance for each vessel after a brief look at my app. But I also added that this data might be 10-20 minutes old and should not be used for navigational purposes. We are a passenger vessel after all and the rules are pretty strict. Captain Tim’s look was disbelief because usually he is always 20-30 minutes ahead of everybody else on the boat.  In any case to make a long story short “there is an app for that” became a standing phrase on the Zodiac.

During this trip I learned from the crew that there are no blueprints or plans for the Zodiac. The initial set burned in a fire in the boat yard that build the schooner. A few years later the remaining set of plans got lost when the marine architects offices burned to the ground. The only plans that exist are a set of hull lines which were created many years ago using manual templates when the schooner was in dry dock. These plans were needed to pass the basic Coast Guard stability certification which is necessary to transport passengers. These plans also assume a symmetrical hull which is most likely not the case as Captain Tim explained. The Zodiac was used for 40 years in San Francisco bay as a pilot boat bringing pilots to large vessels way outside the Golden Gate bridge. To transfer the pilot the Zodiac had to come alongside the vessel under any weather and wave conditions and that often caused the Schooners port side to slam into the much larger cargo ships. During restoration of the Zodiac the crew discovered that the port side hull structure had far more signs of wear and tear and even additional bracing that was not present on the starboard side. Captain Tim also noticed slightly different sailing performance and behavior on a port or starboard tack which could be explained by a non symmetrical hull. But nobody really knows which is what intrigued me. I asked Tim if he considered a hull scan when the Zodiac is in dry dock and he said yes but he simply can’t afford it.

This is were coincidence and proper alignment of the stars come into play. It turns out one of our passengers on the Desolation Sound cruise, Ross from Toronto Canada, is a 3D scanning engineer who usually scans parts for quality control purposes. So we started talking about how we can make this happen. What equipment do we need, how can we conduct the scan within the tight quarters of a dry dock, and how do we process the massive amount of data generated by such a hull scan. And most important, how can we do this on a minimum budget. So by the end of the cruise Ross and I had a plan to do a hull scan when the Zodiac is in dry dock in March 2013. Ross will handle all the scanning and data acquisition and I would finally put my German engineering degree to work to figure out how to process and align the point cloud data and how to turn that into a hull surface model that we can then analyze and use for a full CAD model of the Zodiac.

Up next, I got my hands on a 3D printer and a bunch of CAD and point cloud management software.