# Synopsis

PDX_MSGT ppir_Read(long option, int pint_model, char *file, MDA_ENTITY_LIST *pint_ent_list, void *func)

# Purpose

Read a Parasolid File into a MDA PINT model.

# Description

This module reads a Parasolid File into a MDA PINT model.

This module first starts the Parasolid session. Then process independent parasolid bodies and assemblies and create PINT entities. Program stores independent PINT entities in a MDA ENTITY LIST. At the end of the program, it stops the parasolids session.

There are 3 options available for converting procedural curves and surfaces to NURBS. The default option is to try and use the Parasolid API and if it fails use GDX functionality, the other 2 options are explained below.

# Input

## option

### PPIR_APPROX_USING_API

Approximate procedural curves and surfaces as NURBS using the Parsolid API.

### PPIR_APPROX_USING_GDX

Approximate procedurla curves and surfaces as NURBS using GDX functionality.

### PPIR_SAVE_ATTRIBUTES

Process attributes and save them for later access

### PPIR_LOAD_ASSEMBLY_TREE

Read the assembly strucutre only

### PPIR_USE_MONIKER

Use moniker for label

## pint_model

MDA PINT model

## file

Filename

## func

The function to call for each entity created in Parasolid file

## pint_ent_list

MDA_ENTITY_LIST of top level entities created in pint_model.

# Output

## pint_ent_list

MDA_ENTITY_LIST of top level entities created in pint_model.

# Return

          PPIR_NOERR
          .fi