X-Topology Lofting


This may seem like an unusual diversion for a website about a software application dedicated to designing surfaces but it’s going to concentrate on generating “surfaces” with curves alone. The development came about because of continuing experience with the AVEVA Marine (Tribon) Lines software, particularly having to train new users and talking to developers of other software applications. Lofting the surface, particularly hull forms, is a very traditional technique from the pre-computer age and my interest came about by what would happen if it was approach from the perspective of a modern software design tool.

The only time I have ever experienced the traditional drawing board lofting was at university during a design exercise undertaken over six weeks. The objective was to loft up the bow of a ship using battens and weights, ships curves and rudimentary curve generation algorithms that could be calculated by hand. My impression of the process was that it was a power design experience to be able to physically interact with the battens to generate curves and feel the shape. However, the iterative process of matching waterlines, buttocks and section curves what quite labourious and frustrating. As the process of synchronising the shape of the surface in all three views took up the greatest amount of effort, I don’t believe I have thought much about it until this development. However, it’s become clear that now hull forms are almost exclusively design using surface techniques that some useful design tools have been lost. Lofting on the drawing board is now rarely taught in ship design course with Universities, perhaps just as rare as availability of sets of battens, weights and ships curves.

AVEVA Marine (or Tribon) Lines stands out among all other hull form design applications for ships in that curve provide the primary means of generating shape. The user may interact with the surface but this process should be reserved for the final details of production fairing. Lines has long heritage. It began with the BSRA (British Ship Research Association) development of BLines. BSRA spun their marine software development arm into a company call BMT Icons (British Maritime Technology). BMT Icons was later bought by KCS (Kockums Computer Systems) which later became Tribon, developing the successful Tribon M series. In 2005, Tribon was bought by AVEVA and integrated into their successful plant design tool PDMS, becoming AVEVA Marine.

Figure 1, AVEVA Marine Lines in the PACE Application (Patch and Curve Editor)

Working with Lines and understanding its heritage, it’s clear that the early developers were pioneering in an age where lofting the hull surface on the drawing board was the accepted method and prior to the publication of algorithms for generating and fitting curves. Basically, they had to solve all the maths problems and provide a solution that designers of the time would understand. Since those days, Lines has developed into a modern Windows application but still retains of the early curve generation and fitting processes algorithms. This often makes it difficult for the new, younger generation of users to understand and exploit. However, despite being decades old, in the right hands Lines is capable of developing the best quality surfaces of any other hull design tool I’ve seen. So faced with the task of using Lines and having to train new users how to use it and appreciate its capabilities, I needed to take a voyage of discovery using my own developments as a basis.

Generating the Hull Form with Curves

The earliest mathematical representation of hull forms and the associated properties, section area curves for example, have been curves. In general, the mathematical curves used in ship design have never become more complicated that they could not be manipulated and calculated by hand. Surfaces are a different matter and need the power of computer to allow them to be exploited economically. Many early mathematically hull generation technique relied on curves with the approaches falling into two groups. Those using polynomial curves to improve the generation of the hull shape and those using conformal mapping technique which allowed the hydrodynamic properties of the hull surface to be understood. At a certain point the approaches combined, but before any significant techniques appeared the introduction of computers and the use of surfaces to the representation of the hull surface and the associated design approaches in the direction we see today.

Figure 2, A page from the Excel Spreadsheet design by Jorde [2] for
parametrically generating a curved based hullform

Representing a hull surface using curves can be easy. Taylor’s [1] technique for generating waterlines uses simple polynomial equations. The waterlines, taken as a group form a surface. If we want to generate section from the waterline, we can intersect the curves at a specific longitudinal location and obtain a set of offsets. A curve can be generated by using a fitting technique to the generated offsets. We may start with a set of waterlines that appear fair. We create an alternative view by fitting section curves to those waterlines to further understand the shape and fairness. A further view may be created by intersecting both the waterlines and sections to generate buttock curves using the same fitting technique as the sections. If all three curve views are fair the surface will generally be good. This approach is no different to that used on the drawing board. Of course, we could have started with the sections first, then fitted waterlines and buttocks or started with buttocks. To change the order in which curves could be fitted would take many days to achieve manually on a drawing board. Using a spreadsheet, we could set this example up as a particular generation and intersection sequence within a few hours [2], but it would take time to change the intersection sequence around and we would not be able to manipulate the hull form interactively using the mouse. Using a dedicated software application there is no reason why the different sequence could not be provided automatically and changed at the click of a button. This in particular is where Lines struggles. It provides the capability to interactively generate and change curves, fit groups of hull contours to other groups of curves in any sequence the user desires but it must be achieved manually using the user interface. It is possible to capture the sequence in a macro by recording the sequence in which the user fits the curve. But it is not possible for a user to manipulate a curve control point and see how the other curves behave in respect to this change. This is something that users of surface design tools would expect to see, being familiar with watching hull contours curves change as points are manipulated using the mouse.

A Modern Interpretation of Hull Form Lofting

Modern hull forms have changed since Taylor’s time to the extent that it would be challenging to create a flexible modern design tool based on directly formulated polynomials. Taking the different styles of bulbous bows as a particular example, we need a much more interactive ways of generating different curve shapes to cope with the range of possibility that could be encountered or explored. Here we may use techniques such as B-Spline curves to generate our shapes and, in the technique being developed here, using PolyCAD’s X-Topology curves, which are based on B-Splines but also because they have addition attributes which can be used to create specific shapes in the curves and can be assigned attributes which will create specific shapes in any intersecting curve. In fact, it is possible to set up the whole fit sequence using X-Topology curves without any additional development. However, with each curve performing the fit and generation activity separately the performance is slow and sub-optimal. We also have the same problem as the spreadsheet approach in that if we want to change the fit sequence, we have to manually reorganise all of the connecting relationships.

Figure 3, Lofting constructed using X-Topology Curves. But when manipulated (right) there is a need to sort the order of the control points, in this case to prevent a loop, and it would take some time to generate the references (connections) correctly.

The ideal solution here is to create a Lofting tool which can use a selected set of X-Topology curves to fit and generate groups of section, waterline and buttock curves in a sequence governed by the user. The user may control the number and locations of the curves in each group, control to which curve the group is fitted to, choose not to create certain groups and review curvature. In many ways, the new X-Topology Lofting entity in PolyCAD can use exactly the same inputs as an X-Topology Surface and show the results side by side. This last activity has been the single most significant development which has enhanced the quality of X-Topology Surfaces. Furthermore, the speed of in which the Lofting sequence updates is significantly faster than X-Topology Surfaces primarily down to the time in which it takes to generate the surface contours. Ideally, for interactive design when the mouse is being used to manipulate curve control points updates should take place in orders of around 100 milliseconds (msec). At around 250 msec the update of the curves becomes noticeable and beyond 500 msec the delay enough for the designer to lose the mental image of the original shape prior to the movement of the control point.

Lofting Hull Forms with Curve Intersection/Fitting

Surface patches generated from the cross sectional design curve network are blended between the segments of each curve which bounds each face. The process is intensely algorithmic but ultimately it tries to estimate the shape of the surface between the boundary curves based on the position of these curves and tangent information distributed along the edge. Mathematical limitations exist because the tangent information must be interpolated along curves and must be compatible between intersecting curves, i.e. twist compatibility. If the tangent distribution is not to the designer’s liking it may be changed by adding further curves. If the twist compatibility is not good the tangent of the surface along the edge will differ to the tangent information interpolated along the edge. As stated, the blending process can only be seen as an estimate of the shape, an average of the information associated with each patch edge and if the blending algorithm cannot match the information it will makes its best guess. Unfortunately NURBS are not particularly tolerant of poor twist compatibility. Better surface blending techniques exist but NURBS have proved so popular that they will remain the primary means of representing surfaces. For the designer, the task of identifying areas of the surface where patches are performing poorly is difficult as the effect can be subtle and it pretty much requires the assembly of patches to be checked edge but edge. Moreover, once poor areas of the surface have been identified, it may not be obvious how to improve the quality.

Curve lofting offers an alternative method for evaluating the shape of cross sectional design curve network. Unlike the blended patches which try to incorporate information from the surrounding area to generate the shape, curves only use the information available at their definition points. This means that in a sequence of curve, neighbours can significantly differ in shape. While, initially, this may not be appropriate for representing the shape of a hull surface, it is immediately clear where there are problems because the acuity of the human eye is efficient at picking up discontinuities in visual patterns. Consequently, the use of fitting sequences of curves by interpolating through intersections with other curves may offer an approach where discontinuities in the shape of the cross sectional design curve network may be identified.

Figure 4, The different curve families can be clear seen when simple sections are used to intersect the basic form topology of a bow. The objective here is to minimise the number of curve families and reduce the difference in transitions as much as possible by careful placement of the X-Topology design curves (not yet added).

For neighbouring curves to generate a similar pattern their definition must be based on the same if not similar sequence of information. This means that they should have the same number of control points and that any tangent information should appear in the definition sequence in the same place. Curves that are similar may be deemed to be a family of curves. As the cross sectional design curve network can become very irregular it is easy for different families of curves to appear. The challenge for the designer is to minimise the number of families and generate information which will minimise breaks of shape between family and transition shape across local features. This task is made much easier when lofting curves for several reasons. The designer does not have to manage the surface topology. This allows the curves to be positioned anywhere without terminal effect on the outcome. The curves can go outside of the hull form or snake along the curve topology. Poor curve arrangements will only affect curves which intersect locally in that region and the break in the family of curves will be visually apparent to the user. Consequently, this approach allows for a completely unstructured definition which allows the designers to completely concentrate on creating shape without having to ensure valid surface topology.

Figure 5, Taking the Form Topology and Waterline Curves from Figure 3, with the addition of a curve in from the stem a lofted hull form can be quickly produced. Note, Buttocks are poor in the upper strem region and oscillations are starting to form indicating the definition needs reviewing.

Potentially, the unstructured nature of the definition could make the approach challenging but by the nature of having to develop families of curves it makes the design procedure very structured. In fact, in most cases the procedure should be set up to generate a surface with high single curvature qualities because it is easiest to set up the for a curve direction which has the least amount of curvature (dominant loft direction). This is idea for vessels that will be constructed from sheet materials.

The X-Topology lofting object takes care of automating the procedure for fitting curves. Just like an X-Topology Surface, the entity is based on a selection of X-Topology curves. From here, the fit order can be selected in terms of sections, waterline or buttocks and the position of intersections is also specified. From here the software does the rest choosing each group of curves in turn, identifying the planar intersections, fitting the curves and then proceeding with the next curve set. Not all vessels have the same dominant loft direction in the bow and stern portions of the hull form. To counter this, an X-Topology curve representing a midship section, i.e. it has ‘x’ surface tangent direction, may be chosen to split the order of the fit process in the bow and the stern. Finally, as the X-Topology Lofting entity only automates the process of fitting section, waterline and buttock curves, the designer should feel free to use X-Topology curves to represent diagonals as each curve has an independent definition there is no advantage in automatic the process of fitting these curves.

Using X-Topology Lofting as a Surface Design Exploration tool

X-Topology Lofting is an ideal tool to explore the design of a surface shape prior to building up the formal curve network. X-Topology is forgiving in that if the curves have a poor arrangement the loft curves will, at worst, create loops and strange geometry but geometry will always be produced. Once a set of curves have been set up, having selected the right sequence to loft the curves, it’s a case of adjusting the X-Topology design curves until the curves smooth out. Often in ship forms, where there are features which introduce different curve families, as can be seen in figure 6, left. Initially, this may look as though this is a problem to generate a good surface but in reality the curves are highlighting that this area does not have the right definition and needs to be explored further. If the same definition curves were used to generate an X-Topology Surface this area of the surface would still be poor but it would be much more difficult to visually identify the area due to the blending effects of the algorithms used to generate the surface.

Figure 6, looking for curve problems. On the left, the transition between curve families as the bulb appears in the sections causes alternate angle as the curves intersect the design curves. Here an alternative arrangement of curves needs to be investigated. On the right, looking along the curves can highlight bumps in curves, in the case turing the screen to look down a buttock.

Once the surface appears smooth, the curvature tufts can be turned on to highlight variations in curvature which cannot be seen as easily looking at the curves along, Figure 7. Furthermore, it often helps to rotate the view while looking along particular curves which can highlight any flat spots or bumps, Figure 6, right.

Figure 7, once the curves are looking good, curvature tufts can be turn on to enhance any unfairness. The length of the tufts can be controlled from PolyCAD Options.

The lofting approach allows the development of hull shapes using arrangements of curves that would be completely unsuitable for use with surfaces without a much more formal network of curves. Figure 8 for example shows a bow of a ship developed with parallel middle body, flat of side and flat of bottom. A knuckle curve is used in the bow to create a half siding. Only two additional curves are used to control the rest of the shape. One along the flat of side to control the rate at which waterline loft curves leave this area and one in the central region to contro shape.

Figure 8, bow portion of a ship using an unorthodox arrangement of curves compared with the network of curves that would normally be used to generate an X-Topology surface.

Using the X-Topology Lofting in PolyCAD

Using the X-Topology Lofting entity is fairly straight forward. Shape is driven by the use of X-Topology Curves which are to be covered elsewhere. Once you have some X-Topology curves, select them and right-click to generate a X-Topology Lofting entity. The entity allows the order in which the curves are lofted to be defined and specification of the intersection planes.

This video has been recorded in 720 HD and is best viewed in full screen

Using X-Topology Lofting with X-Topology Surfaces

Having highlighted this benefits of the curve lofting process is would seem that we are advocating putting surfaces aside. However, this is far from the truth. Surfaces, particularly NURBS, are a fundamental part of CAD and shipbuilding that they will continue to be of great importance. With the introduction of the X-Topology Lofting entity alongside the X-Topology Surface entity we have a way of comparing the contours generated by both techniques.

Figure 9, Images of bow and stern with X-Topology Surface and X-Topology Lofting waterline contours overlaid.
The surface waterlines (blue) diverge from the loft waterlines (white) highlighting areas that need to be reviewed.

The most surprising things that was found is that by using the curve lofting technique it is possible to improve the result of blended patches produced by the X-Topology surface. Initially, to identify where there are transitions between the different curve families and then comparing the two contours together, perhaps with loft curves in specific position such as just off the flat of side plane, improving the areas where the two surfaces differ. More often than not, use of the X-Topology Lofting entity can highlight area of the X-Topology Surface that need further work.

Combining X-Topology Surface and Lofting to create smoother surfaces

The Blending algorithms used to generate the surface patches have the limitation that they are entirely dependent on information about the shape of the surface located at the edges. This means that the shape of the centre region of all patches is an estimate based on information obtained from the bounding edges. Furthermore, the edges contain information on the position and tangency but not curvature and this information is used as a constraint.

AVEVA Marine Lines uses an alternative approach to generate surface patches using the curves both as boundaries of the patches and to control of patches using a least squares fit. In X-Topology, a similar approach has been investigated which combines an X-Topology Surface and X-Topology Lofting entities together. Despite no constraints being applied to the edges, the surfaces have been found to be surprisingly continuous and high quality. Again, this combination has been found useful for highlighting problems in the X-Topology Surface curve network, such as areas which should be continuous, but actually end up being a knuckle.

The X-Topology Surface/Loft is also capable of generating a surface with fewer patches than the X-Topology Surface as the central regions of patches are controlled by the curves in the X-Topology Lofting entity. However, this is not always the case. Sometimes this process will highlight that more patches are required in certain areas when the contours of the surface start to diverge from the shape of the curves in the X-Topology Lofting entity.

Figure 10, The guassian curvature of the X-Topolology Surface (left) is improved by combining the surfaces with the X-Topology Lofting using a Least Squares fit. This least squares fit process is still under development and more research is needed to understand the origin of some of the undulations in some of the patchs and to find ways of keeping the original patches if there is not enough data to fit a new patch.

While the X-Topology Surface Loft is good for generating smooth surfaces, often performance will degrade in areas where there are very small patches. This can often happen in regions of high curvature, such as the stem bar, where the number of curves crossing the patch is not enough to generate a least squares patch. In some cases, additional smoothing can be used to rescue the patches but as smoothing is applied as global parameter this has a negative effects on the curvature continuity between of all patches. Another approach is to boost the number of lofting curves. This is not always idea as a large number of curves can make it difficult to see the shape of the surface. Of course there is no reason why more than one X-Topology Lofting entity can be used on the same curves. AVEVA Marine Lines allows control parameters on individual patches. In the case of X-Topology Surface, patch specific parameters have been investigated but were found to be taking the process into an area where only experts would understand but because the X-Topology Surface/Loft entity is already an expert surface and is not something a user would use to fair the surface directly it may benefit from patch level parameters.


  1. D. W. Taylor, Calculations of Ships’ Forms and Light Thrown by Model Experiments upon Resistance, Propulsion and Rolling of Ships, Intl Congress of Engineering, San Francisco, 1915.
  2. J-H. Jorde, Mathematics of a Body Plan, The Naval Architect, January 1997