# Synopsis

PDX_MSGT igeo_ApproxCurveAs106(long option, MDA_PTR db_ptr, EAM_STACK *stack, MDA_PTR *db_ptr_106, int model, double tolerance)

# Purpose

Approximate an IGES curve as an IGES Copious Data Multiline Entity(106:11-12)

# Description

Approximates an IGES curve as an IGES Copious Data multiline within the IGES Geometry subsystem. Conversion is as specified:

.TS center box tab (/); c c . Incoming Curve Entity /Outgoing Multiline Representation

_ 100 /106:11 102 /106:12 104 /106:11 110 /106:12 112 /106:12 126 /106:12 130 /106:12 141 /106:12 142 /106:12 .TE

Linear approximation by implementation of the IGEO_Approx routines will be the source of the new point data for the multiline. The new multiline will be created in the model specified. The database address will be output.

.IP NOTE: 20 In the case where this routine is invoked with the instance of an IGES 102, 130, 141, or 142 entity having subordinate curve entities with varying attributes, the conversion will be to a multiline having attributes as contained in the first subordinate. .LP

By default, this function will check the environment for a current approximation workspace. If a workspace is found, it will be reset and used for the approximation unless the @d IGES_NEWAPPROX option is specified which will force the creation of a new workspace instead. If no current workspace is found when this function is called, a new one will automatically be created and freed at termination.

# Input

## option

### IGEO_NEWAPPROX

Force a new workspace for the approximation. This new workspace will be freed upon completion and will not interfere with any workspace which was current upon this function's initiation.

### IGES_NOMATRIX

Do not apply entity matrix to data

## db_ptr

The valid IGES curve entity database pointer

## stack

The entity attribute stack

## model

The model to create the IGES Copious Data multiline in

## tolerance

Conversion tolerance for 112 and 130 entities

# Output

## db_ptr_106

The IGES Copious Data multiline entity database pointer

# Return

          IGEO_NOERR
          IGEO_ENTITYNOTCURVE
          IGEO_ENTITYNOTSUPPORTED
          Low level error return
          .fi