Hide menu
Parasolid Converter


Para_Reader can read files compliant with the Parasolid file format (schema) from v0.15 and above (the latest tested version is Parasolid v32.1). Para_Writer can write files compliant with the Parasolid file format from v12 to v32.1.

Both text and binary files are supported.


  • B-Rep representations
  • colors
  • layers
  • meta-data (names, properties)
  • assembly structure


Import Mapping

Below tables shows how Parasolid entities are mapped into CAD Exchanger entities after import.

Product Structure

Parasolid Entity CAD Exchanger Entity
ASSEMBLY ModelData_Assembly
INSTANCE ModelData_Instance
BODY ModelData_Part
TRANSFORM ModelData_Transformation


Parasolid Entity CAD Exchanger Entity
BODY One of:
SHELL ModelData_Shell
FACE ModelData_Face
LOOP ModelData_Wire
HALFEDGE ModelData_Edge
VERTEX ModelData_Vertex


Parasolid Entity CAD Exchanger Entity
B_SURFACE ModelData_BSplineSurface
CONE ModelData_ConicalSurface
CYLINDER ModelData_CylindricalSurface
OFFSET_SURF ModelData_OffsetSurface
PLANE ModelData_Plane
SPHERE ModelData_SphericalSurface
SPUN_SURF ModelData_SurfaceOfRevolution
SWEPT_SURF ModelData_SurfaceOfLinearExtrusion
TORUS One of:
B_CURVE ModelData_BSplineCurve
BLENDED_EDGE ModelData_BSplineCurve
CIRCLE ModelData_Circle
ELLIPSE ModelData_Ellipse
LINE ModelData_Line
TRIMMED_CURVE ModelData_TrimmedCurve


Exporter Parameters

The Parasolid export parameters are controlled by Para_WriterParameters. The following table contains a list of parameters for Parasolid export:

Parameter Default value Description
TargetParasolidVersion() 12

Specifies a target Parasolid kernel version version.

Must be in the range [12, 32.1]. The parameter defines the actual schema to be used when writing a file.

Note that several target versions can result in selecting the same schema, e.g. if TargetParasolidVersion() is 20 to 24 then the schema 20000 will be chosen.

By default writes a file using the schema with id 12103. This schema inherits version 12006, which is recommended by the Parasolid-XT format specification and extends it with the UNICODE_VALUES attribute. This ensures reading by most applications and allows to save Unicode strings.

OriginatingSystem() "unknown" See Base_WriterParameters::OriginatingSystem().

Processing Unicode Strings

Although the Parasolid spec is not explicit about how Unicode strings should be written (in particular, if a Parasolid file can contain UTF-8 strings), analysis has been conducted on how Parasolid-based CAD systems handle such strings. As of version 3.9.1 CAD Exchanger significantly changed its behavior with respect to handling Unicode strings.

When importing files containing name attributes written both in Unicode and Ascii versions (using UNICODE_VALUES and CHAR_VALUES respectively), the importer favors the former one.

When exporting a name string only containing characters inside the [0x00, 0x7F] range (i.e. which correspond to both Ascii table and single byte in UTF-8 encoding) such a string will be saved in the CHAR_VALUES entity. Otherwise, the UNICODE_VALUES entity will be created to hold an original string. Characters outside the above range will be replaced with the question mark (?) in the CHAR_VALUES entity.

Known Limitations

  • Extremely rare geometric types (parabola, hyperbola, paracurve, cpc, patch_bound, silhouette, offset_curve, pe_curve, blended_vertex, parasurf, pipe, parasurf, etc) are not supported by importer and will be ignored if met. Currently no examples of such types have been encountered so far;
  • Offset surfaces on G1-continuous B-Splines may sometimes fail when underlying surface cannot be corrected to C1.
  • Non-manifold topology (e.g. when an edge is shared by 3 or more wires or faces) cannot be exported. The exporter may drop some or all faces referring to such shared edges.