# Synopsis

PDX_MSGT igeo_Approx128As114(long option, MDA_PTR db_ptr_128, EAM_STACK *stack, int model, double tolerance, int max_iters, MDA_PTR *db_ptr)

# Purpose

Approximate an IGES NURBS surface (128) to an IGES Spline surface (114)

# Description

if the IGES NURBS surface is rational and/or degree in U or V greater than 3 the IGES NURBS surface is converted to an approximation of the IGES NURBS surface as non-rational and U and V order less than 3. The non-rational U and V degree 3 or less NURBS surface is then converted to the IGES 114 surface. By default, the IGES NURBS surface matrix is concatenated with any matrix on the attribute stack and applied to the data. All the original IGES NURBS surface non-pointer DE attributes are applied to the IGES parametric spline surface. If a conversion error occurs any data created during the conversion is deleted and no IGES spline surface is created. The IGES NURBS surface entity must be a valid IGES NURBS surface definition. The conversion is exact to the precision of the input data and to machine precision for a non-rational degree less than 4 IGES NURBS surface, otherwise the conversion is an approximation to tolerance.

# Input

## option

### IGES_NOMATRIX

Do not apply entity matrix to data

## db_ptr_128

The valid IGES NURBS surface entity database pointer

## stack

The entity attribute stack

## model

The model to create the IGES surface in

## tolerance

The conversion approximation tolerance Note: The MODEL_SPACE_PNT_TOL should be at least two orders of magnitude less than this tolerance for correct results.

## max_iters

The maximium iterations to allow for convergence to tolerance

# Output

## db_ptr

The IGES 114 surface entity database pointer

# Tolerances

          MODEL_SPACE_PNT_TOL
          ANGLE_TOL
          PNT_PROJ_TOL
          ZERO_TOL
          .fi

# Return

          IGEO_NOERR
          IGEO_SURFACENOTNURBS
          IGEO_NOMEMORY
          Low level error return
          .fi