Help with lofting complex curves within ships hull form

I’m a student studying naval architecture and marine engineering and I was wondering if anyone could help me out with a problem I’m having when trying to loft a hull form. Basically, I’m trying to loft the curves shown in the pictures below in order to generate a surface of accurate curvature to that of the basis curve. My problem is achieving this level of accuracy with such complex curves without having to split the curves in to various segments. In order for the model to be suitable for the analysis software I am using it really needs to consist of as few surfaces as possible and there can be no gaps between surfaces. I would really appreciate any tips or techniques anyone has on how to generate surfaces from these kind of curves. I’ve also included pictures of my “failed” attempt that involved dividing the curves into too many sections while maintaining the same number of control points within each surface.



Hi Donnie- what is it that failed in your results?


Hi Pascal,

Thank you for your reply. The problem lies in the fact that I had to divide the curves in to several sections in order to accurately form the surfaces. By doing so small gaps appeared between the surface edges which causes problems in the analysis software I’m using with regards to the hydrostatic values of the model hull form. I was really wondering if there was a simpler way to form surfaces between these curves where the direction of the curvature alternates sharply?

Hi Donnie,

One approach would be to treat the skeg as a separate entity. So you have one surface from bow to transom but ignore and one for the skeg. And to some degree you can ignore the knuckles and chines and make them more rounded. The propellor shafts should be treated as appendages.

Can your analysis software handle trimmed surfaces? What is it that you are doing cfd, stability?

Also remember this is analysis/simulation not fabrication. The accurcy of the model does not have to be in the realms of the ridiculous. As all the methods you are applying are approximations in the first place. Your answer is going to be in the order of something that has been validated against a broad set of trials data and therefore got a degree of inaccuracy to start off with.

Hi Donnie,
Try contacting @Gerard Petersen from He is THE specialist for this type of hull lofting AFAIK.

gr, Tobias

Hi Donald,

Could it be you do not Join the surfaces before analysis?
If you build separate surfaces and do not Join them to form a single polysurface; each will get their separate mesh that most likely will not have closed seams with the adjacent meshes.

If you Join the separate surfaces, do the seams show up as “Naked” with the command _ShowEdges?

If not, please post the file here for people to look at, as the pictures alone are not enough to pinpoint problems on the geometry level.



Rather than lofting, you could maybe try the NetworkSrf command. This allows you to create patches that share the same edge curves, giving you guaranteed patch-to-patch closed edges.

It is basically similar to lofting, except you specify the edge curves on all four sides of the surface (the vertical lines represent the curves you already loft; the top and bottom curves are the shared edges between patches

================================================== (top edge curve)
|      |      |      |      |      |      |      |
|      |      |      |      |      |      |      |
|      |      |      |      |      |      |      |
|      |      |      |      |      |      |      |
|      |      |      |      |      |      |      |
|      |      |      |      |      |      |      |
================================================== (bottom edge curve)

I agree with Menno’s suggestion. Create curves along the brakes in the curves. Use InterpCrv between the ends of the curve segments.

Hi Donnie,

When it comes to modeling these type of ship hulls, there are several considerations.
Hard chines or soft chines?
Include the skeg or not?

As Danny already mentions, the skeg should not be incorporated as it is discontinuous to the ship hull and can easily be added later to a lofted hull surface.
Modeling hard chines results in polysurfaces. This is not wrong, but less easy to edit and make them disappear in the fore ship.
Please find attached a solution that incorporates your propeller tunnel in a single surface that is easy editable due to the RecordHistory of the loft curves.

RhinoCentreHullExample.3dm (485.6 KB)

Hi Donny. I’ve modeled dozens of hulls this complex or more so. My approach is always to analyze the hull and determine how to model it with the fewest surfaces, while maintaining the original design.

In your case, I’d model the bottom as one surface from stem to stern with approximately 8 station curves. Each curve would be built of degree five and six points. These stations would extend from centerline to chine, even forward of where the chine is a knuckle. This surface would be modeled by lofting, which process creates a smooth and easily editable surface.

Next, I would draw the curves that represent the edges of the tunnel and centerline deadflat in 3-d and project them all three to the base plane. The 3-d curves will serve as “templates” in fairing the hull.

With these three curves in place, tweak control points on the hull until a projection of each of the three 2-d curves (the ones on the baseplane) to the hull is within tolerance of the original 3-d curves.

If you envision the original 3-d curves as being “locked”, you can see that iteratively projecting the 2-d curves from the base plane to the hull in the top viewport will eventually produce 3-d curves that match the original curves within tolerance.

To check how close you are, use the “crvDeviation” command. This will tell you where the trouble spot lies, indicating where you need futher tweaking of the hull surface.

Once you have a match for each of the three curves, trim the hull from centerline out to the deadflat and between the two edges of the tunnels. Fair the tunnels as separate surfaces and project the curve at the outboard edge of the deadflat in the front viewport to the center plane to form a hull at centerline curve. The deadflat is then formed with an edgeSrf, selecting the outboard edge of the deadflat and the centerline curve just created. The skeg would also be modeled separately.

Once the skeg and other appendages have been modeled, it is quite likely you will need to join all the surfaces into a closed polysurface, since a great many analysis packages depend on solids.

This process of closing the surfaces can easily be the most frustrating part, but it can’t be overlooked or shortcut, if the analysis software demands it. The only advice I can offer on this is to grit your teeth, have plenty of coffee on hand and keep at it till there are no naked edges.

One of the most satisfying experiences in creating a model such as this is when you are joining the surfaces together and, picking the last one, the model magically redraws, telling you that your model is now a closed polysurface.

These and many other techniques are available in my tutorial series, available at

If this all sounds too involved, rest assured, the bottom can be modeled in less than half a day.


Cliff W Estes
BaseLine Technology
Rhino training and reseller
Independent software developer