Curves and Surfaces


You’ll find a range of different basic geometry representations in PolyCAD. While there are some native curve and surface design tools every designer will have need to bring in geometry from other sources to reference, convert or remaster. A consistent design environment allows authoring and conversion between entities supports modelling scenarios where other software tools have restrictions. Read on to understand how it all fits together.

The PolyCAD Geometry Concept

While PolyCAD supports a number of geometry methods unique to the software, these tools rely on much simpler core geometry elements that are common and consistent across the marine computer aided design and analysis world. PolyCAD aims to make the creation, modification, import/export and conversion between these elements routine.

Type Basic Linear Element Smoothed Element Grouping Element
Polygons n/a n/a

The Polyline Element represents the basic “curve” element and is a prototype for all general curve elements such as the B-Spline, Cubic Spline and others. Specialist curves like the IntelliCurve and X-Topology curve are either based directly or generate B-Spline Curve Elements. Curves can be created directly from the Polyline points definition or generated analytically by processing the Polyline points as a cubic spline or least squares fit. Surfaces can be generated from Polylines and other curves using constructive surface generation such as extrusions, revolutions, lofting and Coons Patch style blending. Curve representations can also be converted back to Polylines. Since Polyline data is popular method of representing hull sections, they can be grouped together, manipulated and processed for hydrostatics.

The Mesh element is represents the basic “surface” element but compared with the Polyline it isn’t used as much for representing hull surfaces. That role is taken by the B-Spline surface which can be generated interactively by manipulating control points, using constructive generation methods from curves such as extrusions and lofting, using parametric hull generation and X-Topology, PolyCAD’s native surface modelling tools. For complex hull forms, a number of B-Spline Surfaces can be assembled into a B-Spline Surface Group allowing processes such as hydrostatic calculations to treat all surface patches as a single element. Surfaces can be converted back to curves by extracting the iso-parameter lines, contour intersections (sections, waterline and buttocks) or calculation sections, a group of polylines specially formatted for hydrostatic analysis. Surfaces can also be converted to Polygon Lists (faceted meshes).

PolyCAD does not support Solid Modelling for the express purposes of keeping the software simple and allowing the basic CAD elements to express their precision without involving numerical analysis and the inevitable tolerances that are required. If surface data is imported from file formats that support solid modelling, the solid information will ignored but the underlying surface and curve information should be loaded in. This is extremely useful if a solid model has accuracy/tolerance problems and performs poorly in a solid modelling tool. This data can be loaded into PolyCAD and the surface data refreshed using direct manipulation or fitting a new surface definition. PolyCAD does export to a number of file formats that support solid modelling. If the format is used expressly for Solid Modelling a B-Rep will be generated so that a surface definition can be translated to other systems that support this format.

A final class of elements is the Polygon List, an object which represent faceted surfaces. These types of surfaces are often used in analysis software and can be generated in PolyCAD. Furthermore, a number of graphics file formats can only represent surfaces using facets and PolyCAD may be used to create a faceted representation from a surface or fit a surface to one which has been loaded in from these File formats. All mathematical surfaces can be converted to a faceted representation.

Hydrostatic Calculations

With a focus on Hull Design, all surface or volume elements can produce hydrostatic and stability information. However, there is a need to check that the intended geometry for analysis represents a sensible volume. The software aims to make the process of producing hydrostatic information as simple as possible but highly recommends the user checks the geometry before committing to the analysis. Volumetric calculations are based on sections because this avoids the need to make sure the geometry is properly closed and has no gaps. The software will analyse the geometry and generate a set of sections that have been checked for accuracy accounting for the numerical methods used in the analysis.

The system assumes that if the port or starboard side geometry is within 0.05 design units of the centre plane then the geometry definition is symmetrical. It will be reflected across and closed at the deck and keel. Otherwise, no reflection takes place and the ends of sections are simply closed. Surfaces and Volumes which support hydrostatics have a visualisation option to display the Calculation Section geometry for checking. This can be found on the Right-Click menu. Calculation Sections can also be extracted as a Polyline List to allow manual rectification if the software has interpreted the geometry incorrectly.

Reviewing of Calculation Sections is recommended before performing any Hydrostatic Analysis


The Polyline and B-Spline are the primary basic curve elements within PolyCAD. All other curves can be represented using these elements, including the special design curves like the X-Topology Curve, allowing any curve to be used as source geometry for constructive surface operations like lofting and revolutions.

B-Spline Operations

Most CAD systems obscure the presence of B-Spline operations either not providing these to the user or providing tools which allow changes to be made but without any insight into the physical changes as they are applied. PolyCAD provides a range of operations to review and manipulate the definition associated with the B-Spline Knot as a subset of the standard editing options to allow advanced users to review the definition, insert knots, globally subdivide, reparameterise the curve and Degree Raise without changing the shape of the curve. The curve can also be converted back into an Open Knot vector simplifying the definition, accepting that the geometry will change to some extent.

Knot Editor displaying the underlying mathematical structure of the curve.

The Curve Experience

Curves are drawn interactively from any of the menu tools. Using the left mouse button, successively click the cursor where you want to position points and use the right mouse button to complete entry. By default, Enhanced 3D Editing is turned on meaning that the curve is drawn in a working principle plane defined through the first point in the sequence. Alternatively, if Enhanced 3D Editing is off the curve is drawn in the same plane as the screen view. If snapping is active, the point will co-locate to neighbouring geometry if the mouse cursor is within a certain distance of available snap points. If the Ctrl Key is pressed during creation, new points are constrained in the principle axis directions (X, Y or Z).

Curves are edited by accessing Edit mode using either the option on the Right-Click Menu or pressing the F2 Key short cut. Definition points can now be dragged with the mouse again with all the Enhanced 3D Editing and Snapping features. Additional constraints may be available, via the Ctrl key, allowing points to be editing along the line defined adjacent Control Polygon Points.

Interactively inserting a Point into a B-Spline Curve

Curve control points can be deleted by selecting and pressing the Delete key or Delete button on the toolbar. Points can be inserted into a Curve by holding down the ‘A’ button and reviewing the new position within the Control Polygon sequence previewed on the screen. Polylines can be split into two (Break) at Control Points, B-Splines can be split at control points which will change the geometry, or at precise knot or interactive position which will retain the geometry but the resulting curves may contain non-uniform knot vectors.

Curve control points can be edited numerically at any time using the table in the Entity Properties Docker. Points can also be inserted and deleted here. The table supports copy and paste allowing coordinates to be copied to or from other applications such as a spreadsheet. Various geometry elements can also be “Pasted” into the model directly if properly formatted coordinate data is available in the Windows Clipboard.

The curvature of all curves can be displayed by enabling the Show Curvature option available on all curves. All curves feature the ability to create straightened control points, and in the case of B-Spline Curves, knuckles can be defined and there is an option for locally fairing selected control points.

Curvature displayed on a B-Spline curve while Editing.


The B-Spline Surface is the primary surface representation in PolyCAD. A rectangular Mesh with the same editing capabilities as the surface is available but it doesn’t find as much usage compare to the Polyline, the curve equivalent. Today, the B-Spline Surface is often the first hull design approach that designers learn because it’s very easy to understand and use. However, hull surfaces with a complex or an irregular structure or regions of different curvatures are often hard to form in a single surface. These hull design situations are better supported by multi-patch surfaces using techniques like X-Topology to manage shape, structure and adjacent patch continuity. That said, there will be many design cases where a single surface will do and it’s not always about hull form design.

B-Spline Surfaces displaying contours while being edited.

As B-Spline Surfaces are relied upon so heavily in hull design PolyCAD aims to expose as many possibilities as available within the capability of these surfaces without turning to more complex techniques such as trimming and solid modelling. The designer can therefore focus on using the power of the surface mathematics to achieve the design aim. Furthermore, as complex techniques such as trimming and solid modelling are being increasingly used in design cases where these tools fail due to poor tolerances and accuracy are becoming more frequent. Here PolyCAD can help by providing the capability to load in the raw mathematical surfaces and allow the geometry to be rebuilt. In this scenario, a failed complex hull form defined by B-Spline Surfaces can be loaded in and rebuilt using the fitting and intersection tools of X-Topology, but the ability to load in the raw geometry is a key requirement in this process.

B-Spline surfaces can be converted to curves, Polygon Facet surfaces and meshes. Calculation Sections for hydrostatics and shape contours (sections, waterlines and buttocks) can also be generated. Basic Surface-Surface Intersection tools are also available which are again helpful when modelling complex surfaces. A wide range of different file formats supporting B-Spline Surfaces are available.

PolyCAD also includes the Gregory Surface which is based on a Cubic Bezier surface which overcomes the B-Spline Surface’s twist compatibility limitation found in the corners due to the rectangular control point definition structure. This surface is an optional representation in an X-Topology Surface and can be precisely converted into a B-Spline Surface (7th Order, Uniform, with specific Rational Weights). It should be noted that in order to overcome the twist compatibly the corners of the resulting B-Spline Surface have, by definition, degenerate control points.

NURBS and B-Spline Surfaces

The advanced B-Spline Operation tools available to curves are also available on the surface except that in some cases operations may be applied to either the U or V Knot vector. As with the curves, Knot insertion, Global Subdivision, Degree Raising and Reparameterisation are available. The tools also allow the surface to be split while maintaining the geometry shape. In most cases PolyCAD does not expose the full NURBS capability of the surface because this increases the complexity of many of the algorithms, reducing performance. Considering that there are only a small number of cases where rational weights are used (accurate representation of primitives such as circles, arcs and other conic sections) there isn’t a high requirement for this capability in hull surface design. Unlike the X, Y, Z coordinates of the control polygon, rational weights have a global influence on the surface and modification by the user would be done without a real understanding of their effect on the surface overall.

Exposure of the knot vector provides an opportunity to review the surface definitions created by other CAD systems and the user is invited to investigate this hidden data, particularly for surfaces generated in Rhino.

Knot Editor displaying the underlying mathematical structure of the B-Spline Surface.

The Surface Experience

A single B-Spline Surface can be generated by interactively drawing a planar rectangle or generated interactively as a 2D Plane, Plane in 3D, a circular channel or an indicative ‘yacht’ hull surface. In each option, the opportunity to choose the number of control polygon rows and columns as well as the order is provided.

As the B-Spline Surface is defined by a rectangular mesh it cannot be edited as freely as a curve. Operations which insert and delete points are provided in a structured way to ensure the design deletes the information they expected. To control the editing process, the control polygon of the surface can be manipulated in three modes which reducing the amount of information on screen reducing mistakes. In UV Edit mode, the complete control polygon is visualised and any control point can be manipulated. In U and V Edit modes, the corresponding surface parameter is visualised and only one row or column of control points can be edited. Using the control on the Entity Properties Docker the currently edited row or column can be selected. This approach allows the visualisation to be set as if the transverse and longitudinal shape is being edited, separately. It reduces the chance of selecting an incorrect control point, particularly when the surface is visualised in a 2D projection and makes fairing a lot easier as its possible to understand shape in the selected direction. The Enhanced 3D Editing features and snapping are available to all control points on a surface or mesh definition.

3D Visualisation Editor Presentation

Surface Contours

The primary means of shape feedback is the use of surface contours (sections, waterlines and buttocks). The definition Contours is a global setting but is available on the visualisation section of the Entity Properties Docker of all surfaces. When designing the objective is to have contours displayed and updating as control points are manipulated. Detailed settings of what and how Surface Contours are displayed can be found in the main PolyCAD Options.

B-Spline Surface with hull contours

Curvature and Isophotes

Curvature is another key property of surfaces but needs to be used carefully. PolyCAD can present the Gaussian, Mean and Principle curvatures. This displays the relative magnitudes of the smoothness properties in the 2nd derivatives. The objective is for this property to be smooth since this is a good indication of undisturbed fluid flow from a hull resistance perspective and minimal energy from a material forming perspective assuming it was constructed from plate or sheet. It is also good indicator of the aesthetic properties of the hull surface considering a polished finish. In reference to manufacturability, Gaussian curvature is also a good indicator of whether the surface can be formed from sheet materials without too much distortion. However, it is challenging to design a good surface using curvature alone as the global shape of a surface controlled primarily through curvature properties is surprisingly unsatisfactory.

B-Spline Surface with Gaussian Curvature

Isophotes contours often provide much better feedback of surface quality than curvature as they can give an impression of continuity in shape up to the 2nd derivative. If you see a break or gap in a contour you have a knuckle. A corner in a contour is a discontinuity in curvature but not tangential continuity. Smooth contours indicate continuity up to 2nd order. Isophotes are particularly useful in indicating continuity in multi-patch surfaces across the edges of neighbouring patches. The designer should aim for 2nd Order continuity but needs to be aware that in some cases it is unachievable particularly in when representing the surface with NURBS due to limitations in the mathematics, such as twist compatibility scenario mentioned earlier. With experience, a designer can avoid these cases by selecting the right number of patches the surface needs to avoid these problems.

B-Spline Surface with Isophotes displayed

The display of Curvature and Isophotes is controlled by parameters in the main PolyCAD Options. In addition, the parameters controlling the display of Isophotes can be manipulated in its own docker allowing, in particular, the light direction to be changed interactively to highlight areas of discontinuity.

Constructive Surfaces

In addition to interactive B-Spline Surface design there are a number of tools for constructing surfaces from curves:

Ruled Surface: This produces a surface lofted between two curves.

Extruded Surface: This creates a surface by extruding the section shape of a curve, along a line or along the path of another curve. Additional options control whether the section shape is rotated, translated and scaled as it’s transformed along the path.

Blended Surface: This generates a bi-linear or bi-cubic blended Coon Patch surface between 2-4 curves. The ends of the curves must meet to form a closed loop.

Revolved Surface: This rotates a curve about a principle axis or line defined by the end points of the curve to form a lathed surface. The angle of rotation can be specified to generate an open surface if desired.

Lofted Surface: This generates a surface through a number of section curves. Sometimes this option is considered to be a quick way of creating a hull surface from sections but consideration needs to be given to the number of control points on each section curve because if it differs considerably on each the number of control points on the surface will be large to achieve compatibility. This may be undesirable if manual changes to the control points are intended. This method also provides no means of controlling surface tangency along each curve. The best method of controlling tangency is with the addition of longitudinal curves, which in effect is what X-Topology achieves.

Each tool can generate a dynamic surface which is linked to the original definition curve, updating the surface if the curve is modified, or produce a static B-Spline surface. Dynamic surfaces can be converted to static surfaces later if desired.

A revolved surface defined by a B-Spline Curve

Parametric Hull Generation

A final method of Surface creation is the Parametric Hull Generation Parametric Hull Generation Tools. These typically generate hull surfaces from a selection of numerical parameters. YachtLINES and ShipLINES are methods that quickly generate yacht and ship forms respectively. Further developments of this approach, such as IntelliHULL, allow the user to control style aspects of the hull form by providing definition curves. Surfaces generated by these tools can be extracted and refined manually.

A ShipLINES surface and associated parameters.