Curve, as the compulsory keyword, is followed by its identification number. If the curve order is not provided and the curve is not fixed to any entity the default value is used as the order and no consequent polygon records are expected. When the curve is fixed to an entity, the curve order may but needs not be specified. In the former case, curve order must be greater or equal to the order of the appropriate parent entity or set to zero (the order of the parent entity is used in that case). Identification numbers of the starting and ending vertices are specified after keyword vertex and determine the curve orientation. When the curve is fixed to a surface its end vertices must lie on the same parametric curve of the surface (the user supplied epsilon is used as a tolerance) and must be fixed to surface itself or to a curve top parent of which is fixed to the surface. A physical curve fixed to a physical solid surface is not allowed to be intersected by another physical curve fixed to the same surface. The orientation of the fixed curve is independent of the orientation of the parent model entity. The meaning of keywords property and virtual is the same as explained in Section Input Record of a Vertex. The size specification preceded by keyword size is also similar to the one in Section Input Record of a Vertex but two differences should be mentioned. Firstly, no default value is used when the size specification is missing and secondly the size specification (if provided) is treated as an upper bound of the required size extracted from the mesh size specification of curve control points. For all model entities the (nonzero) size is recursively propagated to boundary entities of the next lower dimension untill a smaller (nonzero) size is encountered. Keyword density determines the upper bound of the mesh size as the ratio between the length of the curve and the density which is specified as a concrete number or as default value (controlled by the command line option) using a special keyword def, optionally followed by a multiplication factor preceded by an asterisk. The value of the density has no upper bound limit and must not be negative. If the mesh size is specified in multiple ways, the smaller nonzero value is considered. Keyword factor specifies the curve mesh size multiplication factor which is applied to both curve mesh size specification and mesh size extracted from curve control points as well. Keyword hidden marks curve as a hidden one which allows the repositioning of mesh elements and nodes of this curve during the smoothing process without respecting geometrical restriction of their fixation to this curve. Keyword rate is used to define the accuracy of the geometrical representation of the curve by its discretization in terms of a ratio between the appropriate mesh size and radius of curvature at any location on the curve. The rate is specified as a concrete number or as default value (controlled by the command line option) using a special keyword def, optionally followed by a multiplication factor preceded by an asterisk. The value of the rate has no upper bound limit and must not be negative. The polysize keyword is used for fixed curves only if the inheritance of mesh size specification from the parent model entity is not desirable. In that case, the size specification must be provided for each internal control point in subsequent order. The repetition number preceded by an asterisk may be used if the specification is the same for several subsequent control points. The meaning of keywords def and uni is the same as described in Section Input Record of a Vertex. Keyword count can be used to enforce a regular division of the curve to a specified number of segments. Setting this number to zero disables regular division. The number of segments may be also controlled by size specification (acting as an upper bound limit on segment size). In this case, count or size specification that yields a larger number of segments is used. Note that on curves of order larger than 2 the regularity of the division can be disrupted due to the eventual curvature-enforced refinement possibly also leading to larger number of segments. The count specification is reflected only by physical curves not bounding any physical solid surface, patch, or shell. The output of segments on the curve may be enforced or suppressed by setting yes or no after output keyword. By default, curves bounding a physical solid surface, patch, or shell are not designated for output. A curve may be degenerated into a single point (collapsed curve) if it is bounded by a single vertex and all its control points are merged at this vertex. Collapsed curve is not allowed to be fixed to a curve or surface. Similarly as in Section Input Record of a Vertex, if generation of elements on a model entity between the curve just being defined and other close curves (already defined) bounding that entity is to be prevented, the other curves should be specified after keywords coincide curve. Neither from the coinciding curves is allowed to be fixed to physical curve or curve with physical ancestor. Keyword bassoc followed by specification yes or no controls separate output of triangles (ids) classified on surfaces, patches, and shells bounded by the curve. Note that a specific command line option controls whether all or none of the physical curves will be by default designated for output of associated triangles.
A set of internal control points must be provided for each non-fixed curve of degree . It means that input record of such a curve must be followed by records for each internal control point of the curve. The number of the control point in the range from to specified after keyword Polygon is used as the control point sequence number with respect to the curve orientation and can be referenced only in the context of the current curve. The control point may be specified by three coordinates preceded by keyword xyz or may be associated with any already specified polygon control point using keyword poly followed by the sequence number of that control point. Keywords size and weight have a similar meaning to the one explained in Section Input Record of a Vertex but even negative values of size and weight specification can be used. Note however that the denominator in Eqs (1), (2), (5), and (6) must not be negative or zero.
In the current implementation, keyword hidden is ignored, unless only two planar model entities (physical, solid, non-hidden surface, patches, and shells) with the same property and with collinear normals of the same orientation are sharing the given curve with no physical parent or child. Note that using hidden curves has an impact on the performance because the surfaces, patches, and shells sharing those curves are subjected to an additional smoothing.