Ship design has been taking place in the digital space for a long time. And in any design company, regardless of its size, in the design process, a wide range of different application programs are used to simulate and perform certain shipbuilding calculations. All of these programs are usually developed by different companies. Often the results obtained in one program are used as input data for another. Data exchange is not a big problem if it is a set of numeric data. Even if the output format of one program does not match the input data of another, it is possible to correct the data manually, in a text editor or reformat it by Excel.

Usually, there are no problems with the transfer of text and numerical data, but most calculations also use geometric data, such as the geometry of the surface of the ship's hull. Problems often arise when exchanging of geometric information.

To begin with, the geometry of the surface of the ship's hull can be represented as a set of cross-sections and as a set of sections of NURBS surfaces. The representation of a surface as a set of cross-sections is now less and less used, so it is not of interest in this article. It is much more important to understand the possible options for transferring NURBS surfaces.

Consider the advantages of NURBS representation for data exchange:

- compactness of the geometric representation of the surface. NURBS does not contain points of a surface, but the coefficients of its mathematical representation. Using these coefficients, you can easily get any point on the surface and all the geometric characteristics of the surface at this point.

- well-known methods for calculating the coordinates of surface points and their geometric characteristics.

- support for NURBS surfaces by most well-known programs.

However, NURBS surfaces have specific features.

The features of NURBS surfaces include:

- the use of tetrahedral areas of surfaces with representation in UV space.

- possible occurrence of singularity of some points of the surface, at which it is impossible to unambiguously determine the geometric characteristics of the surface. For example, the degeneration of one of the boundaries into a point when constructing a triangular section of the surface. More information about NURBS surfaces __here__.

## Surface singularity processing.

Differences in the implementation of algorithms for calculating the geometric characteristics of the surface are precisely based on specific methods of processing the emerging surface singularities. This must be taken into account when modeling a surface for further use in one or another program, for example, CADMATIC easily imports a surface with singular points, and FORAN gives an error message.

## Precision of floating point numbers in transport text files.

The IGES file format is often used to transfer data from surface models. The IGES project was started in 1979. a group of CAD users and software vendors supported by NIST and the US Department of Defense. IGES file consists of 80-character ASCII lines and can contain almost all geometric data used in modeling and manufacturing from lines, surfaces and solids to additional semantic and technological information. A detailed description of the file format is available on the Internet. In essence, this format differs from other geometric data exchange files, such as STEP, only in its internal representation.

Let's just note that most of these files, for ease of use on various types of computers, are text files. This imposes certain restrictions on the transfer of floating point digital data, such as importing a surface into AVEVA - it requires minimal gaps between surface areas. In this case, it is useless to increase the precision of surface representation in your program if the number of significant digits when transferring data to AVEVA is insufficient to meet the required precision.

## Reshaping surface patches.

When using various surface modeling programs, it is possible to change the shape of the surface when transferring from one program to another. Several times I saw the following description of the import function in the manuals of some programs: "An insufficiently smooth surface will be automatically improved upon import." What does not smooth enough mean? How will the surface be improved? This should be alarming. This can lead to an uncontrolled reshaping of the surface.

**Different treatment of trimming surfaces**.

Due to the limitations on the number of boundary lines of NURBS surfaces (usually three or four boundaries are used), trimming of surface patches is widely used in modeling. On a surface area, a contour is defined, outside of which the surface is not displayed, only those points of the surface that lie inside the contour are visualized and calculated. If there is a need for a cut inside a surface, an inner contour is defined. The combination of external and internal contours forms a cut surface area.

For many data transfer formats, the correct definition of the contours of trimming surfaces is a certain problem. Each contour can be composed of curves and / or polylines, represented as 3D lines or 2D lines in the UV space of the surface area. All these options for defining contours are allowed in most data transfer formats, but they are not always clearly understood when importing geometry into a particular program.

**Contour specified as a set of 3D curves or polylines**.

When importing such surfaces, you need to understand that ultimately the contour must be represented by a set of two-dimensional lines in the UV space of the surface area. In this case, the importing program must calculate the position of the contour points in UV space as a projection of the 3D contour onto the surface area. In some cases, if the contour lines are distant from the surface, an error in defining the UV contour is possible. That is, with such a construction, a loss of accuracy occurs, leading to possible gaps between surface areas in the model. Sometimes it is impossible to construct a trimming contour along a 3D contour correctly for triangular surface areas in which one of the boundaries is degenerate. Several times there was a situation when the programs modified the shape of the surface when importing, since the contour curves of the cutoff were located at a considerable distance from the surface.

**Contour specified as a set of 2D curves or polylines.**

As a rule, such contours are imported correctly. Just note that it is preferable to use curves rather than polylines. The use of polylines reduces the accuracy of representing the contour boundaries and at the same time increases the number of contour points. In fact, this is an approximation of a curve by a set of straight lines and the accuracy of the contour representation will depend on the number of points in the polyline. In any case, using curves as contour boundaries increases the accuracy of the representation and is much more compact.

In my practice, quite often a surface made in one program is completed in another. For example, an anchor pocket is built by another program on the main surface of the hull, with rounded edges. After that, the final surface is transferred to the production of working documentation for the ships hull, while on all trimmed surfaces, the curves are automatically replaced with polylines. Be aware that some surface modeling programs can distort imported surfaces in a way that is not always immediately noticeable. Problems arise during the release of working documentation or directly in production. Therefore, despite the fact that most programs use the same mathematical apparatus, there are important nuances that can affect the shape of the transferred surfaces.

## Comments