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