Not all geometric elements can be assembled in place. Sometimes there is a significant constructive process to modelling where elements have to brought together to achieve the desired result. Transformation is also an important hull design tool allowing a previous hull form with good performance characteristics to be adjusted to fit alternative requirements while retaining its original qualities. 

Coordinate Transformation Operations

Basic transformations such as translation, rotation, mirror (reflection) and scaling can be achieved mathematically with matrix transformations controlled by a few parameters. However, these act about the world origin unless a combination of translations are included to enable transformation about a local origin. To achieve this, the local origin must be specified but from a user interface perspective this can reduce the clarity of the process. Originally, PolyCAD provided these transformations as simple parametric operations and required the user manually introduce the translation to and from the origin. For complex operations this was a tedious activity. The transformations could have been extended by including the local origin coordinates in the parameters but this really wouldn't have enhanced the user experience. Exposure to AVEVA's PDMS/Marine application highlighted an alternative approach, the Model Editor which combines translation and rotation operations in an integrative graphical "device" that solves a number of transformation and user experience issues, such as the order of rotation angles, without the user really being aware of the challenges begin addressed. While this solution is appropriate for placing and positioning items, for geometric design, scale and mirroring operations are also required and a single transformation handle supporting all operations would not be as easy to use. Furthermore, a higher degree of precision is required with access to the transformation parameters in combination with the transformation handle.

Model Editor in PDMS provides an intuitive approach for object translation and rotation

PolyCAD Coordinate Transformation

To accommodate the depth of capabilities required in the redesigned transformations the operations were retained as separate tools, each with their own graphical handle. As much as possible, the original presentation of the core parameters was retained except where the User interface layout may have caused confusion. Certainly in the case of the rotations there was no indication of the order in which rotations were applied. The new design allows the user to control this. All the operations allow the transformation to be applied to a copy of the original element or to element itself. Furthermore, the translate and rotate operations allow arrays of transformed elements to be generated.

It should be noted that since X-Topology Curves rely heavily on topology and references to other curves that unless elements without any references or all curves are transformed there is a significant chance of mistakes appearing during the transformation. The software does not prevent the user from transforming X-Topology since it can often be a desired exercise but at the same time partial transformations of the model are likely to result in scenarios that cannot be resolved into a correct model with valid references. Use at your own risk!


The Move Transformation allows elements to be translated in space. Translations can be applied independently in all three coordinate directions. Interactively, the first move of the graphical handle with the mouse determines the destination origin. Subsequently, the source origin will be revealed allowing this position to be set elsewhere. Snapping is supported as well as the Enhanced 3D Editing constraints. Parametrically, the translation, destination and source origins can be specified. Additional buttons allow individual values to be zeroed and short cut buttons allow the origins to be set to the world or element centre.

When translating an object the source, destination and offset
distances are displayed. These points can be positioned with the mouse.

Translations can be arrayed to create further copies with the accumulated translation applied.

Translation can be extended into array of the
object to generate multiple versions.


Rotations are a more challenging operation since the order in which rotation are applied is important and treatment of the world origin is also necessary. In PolyCAD, the essence of the AVEVA Model Editor is replicated allowing interactive rotations to be made using the mouse but the implementation extents the capability much further once the rotations are looked at parametrically. Selecting each arc of the graphical handle rotates the object about the opposite axis of the handle. Pressing Ctrl restricts movements to 5 degree steps. The handle can be repositioned by moving the origin of the handle. Snapping is supported allowing the handle to position precisely on an element's features. If the handle's Rotation Arcs are selected near an axis, snapping is enabled and the element can be precisely orientated in respect of other geometry. This can be done in more than one direction to align the object in a plane. This approach is fundamental to calibrating Point Cloud Datasets to the correct ship position and orientation.

Rotation handle allows precise position of the centre of rotation and rotation axes.

Each time a separate transformation is applied a new entry is added to the transformation "stack" is added. This allows rotations to be accumulated together in the right order, but also it allows for the transformation handle to be realigned during the transformation process so that subsequent transformations can be applied about the object or world orientation. This is controlled using the button options in the tool box. The last transformation can be removed allowing the sequence of operation to be tested and previewed before committing. The Align Handle option allows the graphical handle to be rotated and orientated without affecting the object allowing Alignment into a particular orientation. This is very useful if an object should be brought into alignment with the World Coordinate system

The parametric user interface allows compound rotations to be constructed
about the world and local axes, about aligned axes and review before the result is accepted.

Finally, the origin of the rotation can be specified numerically and Rotational Arrays are also supported.


The mirror operation provides the capability to reflect the geometry in a plane, changing the original element or a producing a copy. Typically, this is used in hull design for reflecting across the centre plane, which is the default configuration when the operation is initiated. Parametrically, planes in the principle direction can be specified or a named plane element can be referenced. On screen, a graphical handle representing the mirror plane can be interactively positioned and rotated. Graphical snapping is supported allowing the plane to be precisely positioned and orientated with respect to other geometry in the model. The origin of the reflection plane can be specified parametrically.

Mirroring of an element using the interactive screen handle


The scale transformation functions slightly different to the others in that the main screen handle operates independently of the parametric definition. The parametric definition allows scale factors to be applied about an origin, which is displayed as an additional control on screen. The main screen handle is a transformation box allowing interactive scaling. Scaling by manipulating the corner of the box temporarily treats the opposite corner as an origin. If any of the parametric scale factors are changed after interactively manipulating the scaling box, the transformation is reset to the parametric definition. Manipulating the origin also resets the transformation parameters. This prevents the distortion from accumulating too many numerical errors.

The interactive transformation volume used to scale geometry.

In addition to transformation by scale factors, the scale tool also has short cuts to transform the geometry between standard units of measurement.

Short cuts implementing unit changes are also available.

Hull Form Transformations

Transformations used to change a hull form are quite specialist and take into account of shape of the surface. Designing a new hull form without reference to a previous design is a risker approach since the performance characteristics will be unknown with a doubt that will last until the full size ship is tested. Deriving a new form from an existing design will mean that the performance characteristics should be roughly similar to the original design and there should not be any surprises.

Despite being a critical design activity most Hull Surface design tools treat the transformation process rather poorly. The transformation capability is available but the configuration process is often rather complex and there is rarely any opportunity to review the results before committing to the change.

Interactively setting the hull reference points required for transformation

In PolyCAD, the opportunity was take to really develop the capability of the hull transformation tools to see what could be achieved. This includes graphical configuration and a transformation stack similar to those available in the Rotation tool. This allows the sequence of derived designs to be compared with the original.

Reviewing the hull transformation history.

If an undesirable transformation results it is possible to go back to an earlier version and begin again with different changes. As well as simple geometric scaling, the transformation supports extension of the parallel middle body and the Lackenby, 1-Cp and McNaull methods. When the transformation is in operation both the Design Hydrostatics and Section Area Curve display comparisons between the original and currently selected derivative design. More detailed discussion of the Hull Design Transformation tools can be found here.

Reviewing a transformed hull graphically and hydrostatically with respect to the original shape.

X-Topology Hull Transformation

An extended version of the Hull Transformation Tools has been created for X-Topology. This exploits the topology of the definition and the Form Topology of the Hull itself. In addition to parametric changes is possible to interactively manipulate the Form Topology to deform the hull form. This approach itself may be seen as the application of the ideas expressed with IntelliHULL onto X-Topology, i.e. the ability to parametrically transform a hull surface completely defined as a geometry assembly. It is accepted that this approach is quite ambitions and few users may have attempted to use this capability. The background of process is documented in this paper [1].

X-Topology extends standard hull form transformations by allowing node points to be interactively transformed using the mouse.


  1. Interactive Hull Form Transformations using Curve Network Deformation, M. Bole, COMPIT 2010, Gubbio, Italy, 12-14 April 2010.