# Synopsis

PDX_MSGT gdx_ConvertRuledSurfToNurbSurf(long option, MDA_PTR db_ptr, int model, double tolerance, int max_iters, void *gdx_nurb_surf)

# Purpose

Convert a GDX ruled surface to a GDX NURB Surface

# Description

Converts a GDX ruled surface entity to a GDX NURB Surface entity.

The base GDX curve definitions for each of the rail curves referenced by the ruled surface are converted to the cooresponding NURBS definition. The NURBS curves are then used to generate the new NURBS surface.

The tolerance and max_iters values apply to the subordinate rail curves that are converted to NURBS curves. In addition this tolerance applies for closure test.

If a conversion error occurs any data created during the conversion is deleted and no GDX NURB Surface is created. The NURBS curve entities used to create the NURBS surface are deleted.

The GDX ruled surface entity and the subordinate rail curve entities must be valid GDX definitions.

The conversion of GDX ruled surface is based on the parametrization of the base rail curves. The conversion is exact if the conversion of both rail curves is an exact conversion to the precision of the input data and to machine precision. If either of the rail curves is an approximate conversion the conversion of the ruled surface is approximate.

# Input

## option

### GDX_COMMIT

Commit the GDX NURB Surface to the database

## db_ptr

The valid GDX ruled surface entity database pointer

## model

The model to create the GDX NURB Surface in

## tolerance

The tolerance for the rail curves to NURBS conversion and closure test

## max_iters

The maximium iterations for convergence test for rail curves to NURBS conversion

# Output

## gdx_nurb_surf

The GDX NURB Surface entity database pointer or the entity structure pointer

# Tolerances

          PNT_PROJ_TOL
          ANGLE_TOL
          ZERO_TOL
          .fi

# Return

          GDX_NOERR
          GDX_INVALIDMODEL
          GDX_INVALIDENTITYTYPE
          Low level error return
          .fi