Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

Hull and Outfitting

The CONTOUR Statement

  • Last UpdatedJan 07, 2026
  • 3 minute read

CONTOUR,<cnt_name>[,<start_pnt>]

[/ARC=<arc_name>]

[/ARCMIDPNT=(<mid_pnt>,<end_pnt>)]

[/ARCRADIUS=(<end_pnt,<rad>)]

[/ARCAMPLITUDE=(<end_pnt,<ampl>)]

[/CONTOUR=<cnt_name>]

[/LINE=<line_name>]

[/LINEEND=<end_pnt>]

[/LINEANGLE=(<len>,<ang>)]

[/LINEOFFS=<offs>]

[/SPLINE=<spl_name>];

<cnt_name> is the name of the contour and will be assigned the type CONTOUR_2D. The maximum length of <cnt_name> is 32 characters.

<start_pnt> is the starting point of the contour with type POINT_2D. If /ARC, /CONTOUR, /LINE or /SPLINE is used for the first segment of the contour, then <start_pnt> shall be omitted.

ARC=<arc_name>

<arc_name> is the name of the arc and has the type ARC_2D. If <arc_name> is not the first segment in the contour, the starting point of <arc_name> will be ignored. No check is made whether this point coincides with the ending point of the previous segment or not.

ARCMIDPNT=(<mid_pnt>,<end_pnt>)

<mid_pnt> and <end_pnt> are the mid and ending points of the arc. They have the type POINT_2D. The starting point is defined by <start_pnt> or by the ending point of the previous segment.

ARCRADIUS=(<end_pnt>,<rad>)

<end_pnt> is the ending point of the arc with the type POINT_2D. The starting point is defined by <start_pnt> or by the ending point of the previous segment.

<rad> is the arc radius when the arc is defined by giving two points + radius. It has the type DECIMAL.

ARCAMPLITUDE=(<end_pnt,<ampl>)

<end_pnt> is the ending point of the arc with the type POINT_2D. The starting point is defined by <start_pnt> or by the ending point of the previous segment.

<ampl> is the arc amplitude when the arc is defined by giving two points + amplitude. It has the type DECIMAL.

CONTOUR=<cnt_name>

<cnt_name> is the name of the contour and has the type CONTOUR_2D. If <cnt_name> is not the first segment in the contour, the starting point of <cnt_name> will be ignored. No check is made whether this point coincides with the ending point of the previous segment.

LINE=<line_name>

<line_name> is the name of the line and has the type LINE_2D. If <line_name> is not the first segment in the contour the starting point of <line_name> will be ignored. No check is made whether this point coincides with the ending point of the previous segment or not.

LINEEND=<end_pnt>

<end_pnt> is the ending point of the line with the type POINT_2D. The starting point is defined by <start_pnt> or by the ending point of the previous segment.

LINEANGLE=(<len>,<ang>)

<len> is the length of the line and <ang> is the angle of the line, both with type DECIMAL. The starting point is defined by <start_pnt> or by the ending point of the previous segment.

LINEOFFS=<offs>

<offs> is the offset from the current point. It has the type STRING with at most 72 characters. The following formats are valid:

du, dv (for example, 100,50) or

length, angle (for example, 100,45D) or

length, verbal direction (for example, 100,N).

Verbal directions can be North, South, West, East, Right, Left, Up or Down. Only the first letter is relevant. If the string ends with a 'U' or a 'V', the u axis or the v axis will be locked. Angles must be followed by D (degrees) or R (radians).

The strings must only contain digits, a '-' or a '.'. '-' is only valid in the first position. Between the strings, it is allowed to have a couple of ' ' and ',' but at least one, either a ' ' or a ','. If one of the letters mentioned above is at a valid position, the rest of the string is ignored. Spaces in the beginning or the end of the string are removed.

SPLINE=<spl_name>

<spl_name> is the name of the spline and has the type SPLINE_2D. If <spl_name> is not the first segment in the contour, the starting point of <spl_name> will be ignored. No check is made whether this point coincides with the ending point of the previous segment or not.

Structure:

NSEG

(INTEGER)

SEGPARTS(1:NSEG)

ENDPNT(1:2)

(DECIMAL)

AMPLITUDE(1:2)

(DECIMAL)

Example:

GET/STRUCTURE=(N,<cnt_name>,'NSEG')

/STRUCTURE=(X,<cnt_name>,'ENDPNT',N,1)

/STRUCTURE=(Y,<cnt_name>,'AMPLITUDE',2,'Y');

In This Topic
Related Links
TitleResults for “How to create a CRG?”Also Available in