# Synopsis

PDX_MSGT gdx_SolidNurbsToNurbs(long option, int curve_deg, int surf_deg, double tolerance, int maxits, MDA_PTR gdx_solid_ptr)

# Purpose

Convert a NURBS in GDX solid to specific characteristic NURBS.

# Description

Cycle through the faces and convert all NURBS data to NURBS data. If a parm change occurs during the surface conversion, then the parm curves will be deleted.

If the nurb curves/surface meets the criteria of options, it will not be modified. If an entity passed in is not a nurb, it will not be modified.

The surf_deg, tolerance and maxits are used during the approximation.

# Input

## option

### GDX_NURBS_CLAMP

Non clampped nurb curves/surface will be clamped. This option can not be used with GDX_NURBS_MAKE_UNIFORM

### GDX_NURBS_REPARAM

Nurb curves/surface will be reparametized between 0.0 and 1.0. This option can not be used with GDX_NURBS_MAKE_UNIFORM

### GDX_NURBS_MAKE_UNIFORM

Nurb curves/surface will be approximated to uniform knots nurb curves/surface. This option can not be used with GDX_NURBS_CLAMP, GDX_NURBS_REPARAM or GDX_NURBS_MAKE_BEZIER.

### GDX_NURBS_NONRATIONAL

Rational nurb curves/surface will be approximated to non-rational nurb surface. This option can not be used with GDX_KEEPRRAT

### GDX_NURBS_MAKE_BEZIER

Non-bezier nurb curves/surface will be approximated to bezier nurb. This option overides GDX_NURBS_CLAMP and GDX_NURBS_NONRATIONAL options.

### GDX_NURBS_FORCE_DEGREE

Nurb curves/surface will be converted/approximated to the specified degree. This option can not be used with GDX_NURBS_REDUCE_DEGREE or GDX_NURBS_ELEVATE_DEGREE.

### GDX_NURBS_REDUCE_DEGREE

Nurb curves/surface exceed the specified degree will be approximated to the degree specified. This option can not be used with GDX_NURBS_FORCE_DEGREE or GDX_NURBS_ELEVATE_DEGREE.

### GDX_NURBS_ELEVATE_DEGREE

Nurb curves/surface degree less than the specified degree will be converted to the degree specified. This option can not be used with GDX_NURBS_FORCE_DEGREE or GDX_NURBS_REDUCE_DEGREE.

### GDX_KEEP_DEGREE_1

When conversion take place, degree 1 will be kept.

### GDX_KEEPRAT

Keep rational when elevating the degree This option can not be used with GDX_NURBS_NONRATIONAL

## curve_deg

The degree to approximate the GDX NURB curves when GDX NURB are converted with any DEGREE option specified.

## surf_deg

The degree to approximate the GDX NURB surface when GDX NURB are converted with any DEGREE option specified.

## tolerance

Tolerance used to approximate nurbs

## maxits

Maximum number of iterations during approximation

## gdx_solid_ptr

The database pointer for the GDX solid entity

# Output

## gdx_solid_ptr

The database pointer for the GDX solid entity

# Tolerances

          MODEL_SPACE_PNT_TOL
          PARM_SPACE_PNT_TOL
          .fi

# Return

          GDX_NOERR
          GDX_INVALIDMODEL
          GDX_INVALIDENTITYTYPE
          Low level error return
          .fi