# Synopsis

PDX_MSGT gdx_NurbSurfToCurveBasedSurf(long option, int model, MDA_PTR gdx_ns_ptr, double revolve_tol, MDA_PTR *gdx_surf_ptr)

# Purpose

Determine type and defining data of curve-based NURB Surface

# Description

This routine determines if a GDX Nurbs surface is one of the GDX curve-based types: EXT_SURF, RULED_SURF or REV_SURF, in that order of preference. If it is, then a surface of that type is created.

# Input

## option

Not used.

## model

The GDX model for entity creation.

## gdx_ns_ptr

Database pointer of the Nurbs surface.

## revolve_tol

A model space tolerance used to determine if a surface is a revolved surface. A candidate axis of revolution is computed, and this tolerance is used to check if a number of candidate centers all lie on this common axis. MODEL_SPACE_PNT_TOL (or smaller) should be used for zero tolerance.

# Output

## gdx_surf_ptr

Database pointer of the created curve-based surface if the surface is one of those types, otherwise, MDA_NULL_PTR.

# Tolerances

          MODEL_SPACE_PNT_TOL
          ANGLE_TOL
          PARALLEL_LINES_TOL
          .fi

# Return

          GDX_NOERR
          GDX_BADDATA
          Low level error return
          .fi