VARKON Version 1.18 2006-11-10


cur_comparr - Geometric procedure

Creates a composite curve


Description
Creates a curve by copying one or many lines, arcs or curves into a new “composite” curve. Cur_comparr requires that the entities used to create the new curve are connected in the order they are specified. The first entity must be connected in either end to an end the second entity and the other end of the second entity must be connected to either end of the third entity and so on. Entities may be connected start-to-end or end-to-end or end-to-start or start-to-start (any of the 4 possible ways). Varkon automatically reverses all entities with the wrong sense of direction so that the parametrisation of the resulting new curve becomes continuous. Continuity in slope (tangent direction) is not required. Input entities are given in an array.
Cur_comparr can optionally be used to define uv curves (curves on surface) by giving a reference to a surface (optional parameter). The input entities shall in this case exist in the basic xy-plane within x/y coordinates corresponding to the uv-space of the surface. This use of the function is not suitable for interactive use

Syntax

cur_comparr(id, nref, ref(),surid:attributes);

REF

id;

INT

nref;

REF

ref();

INT

surid;


Principal parameters

id

- Local identity

nref

- Number of included entities to build the composite curve

ref()

- Ordered array of included entities, line arcs or curves


Optional parameters

surid

- Identity of surface for UV-curve


Attributes

PEN

- Pen or colour number

LEVEL

- Level number

BLANK

- Visible(0) or invisible(1)

CFONT

- Solid(0), dashed(1) or centerline(2)

CDASHL

- Dashlength

WIDTH

- Linewidth



Comments
If lines or arcs are used in a cur_comp they will be converted to curve segments. One segment for a line and maximum four segments for an arc.


Notes about NURBS curves
If one or more of the input entities are NURBS curves, the resulting composite curve will be a NURBS curve, otherwise it will be a curve represented by cubic segments.
If a NURBS curve is to be created, lines, arcs and cubic segments are first converted to 3rd degree NURBS segments without approximation. The degree of the composite curve will then use the highest degree found in the input entities. Degree elevation (not implemented yet) is done without approximation.
For a NURBS composite curve it is not allowed to mix UV and non UV segments. All UV segments must belong to the same surface. This is due to the fact that the resulting NURBS curve will have one set of control points and weights and theese must “live” in the same space i.e. R3-space or the UV-space of one surface. If any of the input curves is an offset curve, all other input entities must also be offset curves with the same offset value.


Notes about uv-curves
If cur_comparr is used to define uv-curves, the input entities may not be offset curves. If some of the input entities already are a uv-curve, it must be a uv-curve referring to the same surface as the one given as surid. They must also in this case be connected after the mapping to uv-space.
Varkon's internal parameterization of surfaces differ from the 'mbs'-parameterization. Cur_comparr do this mapping for all surfaces except NURBS. I.e. for a NURBS surface the varkon internal uv-space, defined by the knot vecktors, shall be considered.

VARKON Homepage

Index