# Synopsis

PDX_MSGT ppiw_Write(long option, int pint_model, char *file, void *func)

# Purpose

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

# Description

This module first starts the Parasolids session, then call functions to create, save and check Parasolid bodies. In the end, it stops the parasolid session. The PINT model must have been initialized by calling pint_InitModelInfo before allocating the mode.

Internally, Parasolids uses local precisions for edges and verticies. Often the data being imported via data exchange will not have the same tolerance as the Parasolid session tolerance. To import data that has larger tolerances, the local precisions must be set in parasolids. This can be done by either calculating the local precisions in the PINT model (PPIW_SET_LOCAL_PRECISION) or by mending the data when it is in Parasolids (PPIW_MENDEN_REPLACE_ALL_GEOM or PPIW_MENDEN_REPLACE_NEEDED_GEOM). Also see pgdx_GDXSolidToPINT.

Parasolids requires vertex loops. At the moment, the conversion of GDX to Parasolid does not create vertex loops. To get vertex loops in the resulting parasolids file, use either the PPIW_MENDEN_REPLACE_ALL_GEOM option or the PPIW_MENDEN_REPLACE_NEEDED_GEOM option.

# Input

## option

### PPIW_TRANSMIT_FILE

Create a transmit file to resume (snap shot)

### PPIW_BODY_CHECK_ALWAYS

Invoke Body checker always

### PPIW_BODY_CHECK_FAILURE_TO_SAVE

Invoke Body checker when failed to save

### PPIW_BODY_NO_CHECK

Don't invoke Body checker

### PPIW_SET_LOCAL_PRECISION

Sets local precision to Edges and Vertices The PGDX_CAL_LOCAL_PRECISION option must be used during conversion of GDX to PINT.

### PPIW_MENDEN_REPLACE_ALL_GEOM

Mend parasolid body by replacing all Geometry. Will set all local precisions.

### PPIW_MENDEN_REPLACE_NEEDED_GEOM

Mend parasolid body by replacing needed geometry. Will set local precisions as needed.

## pint_model

MDA PINT model

## file

Filename

## func

The function to call for each entity created in Parasolid file

# Output

## ent_list

MDA_ENTITY_LIST of top level entities created in pint_model.

# Return

          PPIW_NOERR
          .fi