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