Fillet Curve
- Last UpdatedDec 08, 2025
- 6 minute read
This type of statement is used when a curve shall be formed by connecting curve parts to each other via fillet radii. The curve parts can be lines, existing curves, limits of the current panel and boundary curves from intersected panels and profiles. All curves can be displaced parallel to themselves.
Syntax
|
CURVE, <name> [,CLO[SED] [,R= <radius>]],<curve_part> (/[,R= <radius>], <curve_part>) (0 ... 9); |
Description
|
CLOSED |
indicates that the curve shall be closed. This means that the last curve part will be intersected with the first one. |
|
|
R |
is the radius of the fillet arc, connecting the current curve part to the previous one. It should be given without sign. If left out, a knuckle will normally be introduced in the intersection point between the involved curve parts. A single topological point can also define the radius. The radius is then created in such a way that the arc goes through the point. The point must lie in the sector where the arc would have been created when given with a number. However, the point can lie exactly on one of the curve parts and would in that case coincide with the tangent point of the radius. If the curve is not closed, the radius of the first curve part is irrelevant. The radius is always supposed to be given in the plane of the resulting curve. |
|
|
<radius>::=<number> |
||
|
<curve_part>::= |
||
|
|
||
|
<curve>::= <panel>::= <name> |
||
|
<surface>::= SURF = (<surf_no> | <surf_name>) [<limits>] |
||
|
<limits>::= [XMIN = <coord>] [,XMAX = <coord>] [,YMIN = <coord>] [,YMAX = <coord>] [,ZMIN = <coord>] [,ZMAX = <coord>] |
||
|
<surf_no>::= <integer> |
||
|
<surf_name>::= <name> |
||
|
The surface may either be selected via its number or via its name. The number is 1 for the main hull and -1 for the default deck surface if any. For additional surfaces the numbers are the ones used when defining supplementary surfaces during initiation of CGDB. The names are the surface object names like "SURF='AAHULL' ". Limits can be given along the principal axes to trim the curve resulting from the surface reference. This is necessary for example, when the curve consists of multiple contours as a curve part curve should have only one contour. If none of the limit keywords above are given "YMIN=0" is assumed. When referring the reflected surface the keywords above should be given relative to the original position. |
||
|
<prof_ref> |
see General Layout of a Statement. However shell profiles are not handled. Also no repetition can be used here. |
|
|
<side> |
is used to indicate the direction of the parallel displacement. In the case with a curve part, resulting from an intersected panel, it also selects the side of the panel that shall be used. |
|
|
<side> ::= SID= AFT|FOR|PS|SB|TOP|BOT |
||
|
<direction> |
is used to indicate the positive circulation direction of the curve part. |
|
|
<direction>::= DIR= AFT|FOR|PS|SB|TOP|BOT |
||
|
M1 is the displacement of the curve. If <side> is not given, M1 > 0 means displacement to the right, < 0 to the left. However, if the curve part is derived from a limit, the displacement is always to the left, that means, towards the interior of the panel. |
||
|
<dist>::= <number> |
||
|
<limit>::= LIM= <limit_no> |
||
|
<limit_no>::= <integer> |
||
|
REFL means that the curve, panel, shall be reflected in the CL-plane before the curve part is calculated. |
||
|
This also means that SID and DIR, if given, will be applied after the curve has been reflected. |
||
As described in the syntax, each curve part can be described independently of the others in one of the following ways:
-
As a line, restricted or unrestricted. The line may be displaced.
-
As a limit of the current panel. If combined with a line, the limit is replaced by its tangent in the intersection points with the line. The limit can be displaced. A positive limit number means that the curve part retains the direction of the limit, a negative that it is reversed.
-
As an arbitrary curve, read from the data bank or established in another CURVE statement in the same scheme. The curve itself can be replaced by its tangent in the intersection points with a given line. If the curve is reflected and displaced, SID and DIR should always be given to make certain that the curve part is correctly located and oriented. By default, contour zero will be used for the curve part. Other contours can be selected via CNO=<no>.
<no>::= <integer>
-
As a curve, resulting from the intersection between the plane of the current panel and a given surface. This curve may be restricted by a box, otherwise it is handled as an existing curve.
-
As an intersection curve with a given panel that can be reflected in the CL-plane.
Differences in the plate thicknesses are not taken into consideration.
-
As a stiffener trace line. The non-mold side can be chosen by defining a proper value for side (SIDE=...). If the stiffener is given by tag, an additional line can be defined to select a single instance. If no line is given the first stiffener with the given tag is chosen.
-
As a flange line. For welded flanges the side welded to the outer contour is used unless the other side is chosen. The resulting curve part is the intersection between the flange and the panel plane.
-
As a pillar description line. This is the default. As for stiffeners the side keyword is used to select either one of the web sides or the flange side(s) depending on the orientation of the pillar relative to the curve plane. The pillar web is supposed to be either perpendicular to, or lie in the curve plane.
-
As an elliptical pillar cross section. A special case is when a pillar made from a tube or a round bar is intersecting the curve plane. Then the cross section curve of the pillar is used. This will be the case if the angle between the curve plane and the pillar description line is more than 30 degrees. The resulting elliptical curve will have a deviation less than 0.5 mm also for inclined intersections. If the side keyword is given for the cross section this means that the curve part will have a gap on the opposite side.
Remarks:
-
In the following cases, the position of the panel in space must already have been defined before executing the CURVE statement:
-
when xis-coordinates are used.
-
when SID or DIR are used.
-
when a curve part is derived by intersecting a panel or a surface.
-
-
Likewise, of course the boundary of the current panel must exist if a limit is referred to.
-
The curve parts must be given the same direction as the final curve.
-
The fillets may interfere, but the result will then normally be that a knuckle is introduced in the breakpoint between the involved fillets.
One of them will have a radius that differ somewhat from the given value.
-
Note the possibility to generate one curve, consisting of several others that are connected.
-
Also a curve that has been established in a curve statement can be reflected in the CL-plane.
|
Example: 1 |
|---|
|
This statement generates a simple rectangular hole with different radii at all corners. CURVE, 'HOLE', CLO, V=1000, R50 /U=2000, R=75 /V=2000, REV, R=100 /U=500, REV, R=125;
|
|
Example: 2 |
|
This statement generates a curve parallel to the limits of the current panel, The curve can be used for example, As a hole. CURVE, 'HOLE2', CLO, LIM=1, M1=600, R=500 /LIM=2, M1=500, R=500 /LIM=3, M1=400, R=400 /LIM=4, M1=700, R=700;
|
|
Example: 3 |
|
This statement generates a curve that is supposed to be used as a free boundary of a side web. (PITFALL and DECK are panel names). CURVE, 'LIMIT', 'PLATF', SID=TOP, DIR=PS, M1=500 /'SBX106', M1=-800, R=700 /'DECK', SID=BOT, DIR=SB, M1=400, R=400;
|
|
Example: 4 |
|
This statement generates a fillet curve where the radius of the fillet arc is calculated from the condition that it should pass through a given topology point. CUR, ‘NAME’, Y=P1 / U= P1, V=P1, T=15 / R=P1, ’ESX45’, M1=700, SID=SB / ---
|




