Parasolid XT Format

From GICL Wiki
Revision as of 19:47, 7 February 2010 by Tdn32 (Talk | contribs)

Jump to: navigation, search

Title(s): Parasolid XT

Creator(s): UGS Corp.

Contributor(s): Siemens PLM Software

Relationships: The basic format used to write data in following files are identical; they are identified by small number of node types unique to each file types. These files different interface routines in Parasolid for writing transmit files. Each routine represent a slightly different combinations of Parasolid data

  • SAVMOD: Individual components/assemblies
  • PK_PART_transmit: Individual components
  • PK_PART_transmit: Lists of components
  • PK_PARTITION_transmit: Partitions
  • Syntax Format(s): Parasolid can encode the data it writes out in three different formats:
    • Text (usually ASCII)
    • Neutral binary
    • Bare binary (this is not recommended)

Description: Parasolid XT Format is the Transmit File Format, which describes who the formats represents model information in external files.

Parasolid is a geometric modeling kernel that can represent wireframe, surface, solid, cellular and general non-manifold models. Parasolid stores topological and geometric information defining the shape of models in transmit files. These files have a published format so that applications can have access to Parasolid models without necessarily using the Parasolid kernel. The main audience for this manual is people who intend to write translators from or to the Parasolid transmit format.

Example(s): Example Template - Information and example models of the engineering format.

  • Header:
**ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz***********
*
**PARASOLID !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~0123456789************
**PART1;MC=osf65;MC_MODEL=alpha;MC_ID=sdlosf6;OS=OSF1;OS_RELEASE=
V4.0;FRU=sdl_parasolid_test_osf64;APPL=unknown;SITE=sdl-cambridgeu.
k.;USER=davidj;FORMAT=text;GUISE=transmit;DATE=29-mar-2000;
**PART2;SCH=SCH_1200000_12006;USFLD_SIZE=0;
**PART3;
**END_OF_HEADER***************************************************
  • Point to schema:
    • Formal Discription
struct POINT_s // Point
{
int node_id; // $d
union ATTRIB_GROUP_u attributes_groups; // $p
union POINT_OWNER_u owner; // $p
struct POINT_s *next; // $p
struct POINT_s *previous; // $p
vector pvec; // $v
};
typedef struct POINT_s *POINT;
  • Schema file entry:
29 POINT; Point; 1 6 0
node_id; d; 1 0 0
attributes_groups; p; 1 1019 0
owner; p; 1 1011 0
next; p; 1 29 0
previous; p; 1 29 0
pvec; v; 1 0 0

Identifier: Parasolid [1]

Documentation:

  • Logical Layout
    • Human readable text header
    • File format description
      • modeller version: text string
      • schema version: text string
      • objects (‘nodes’): an unordered sequence, followed by a terminator
  • Schema : For each node type, the schema file has a node specifier of the form
<nodetype> <nodename>; <description>; <transmit 1/0> <no. of fields> <variable 1/0>
e.g.
29 POINT; Point; 1 6 0
  • Field specifiers: describe the fields, and in what order, they occur in the transmit file
<fieldname>; <type>; <transmit 1/0> <node class> <n_elements>
e.g.
owner; p; 1 1011 1
  • Simple Example : a sheet circle with a color attribute on its single edge
**ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz***********
*
**PARASOLID !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~0123456789************
**PART1;MC=osf65;MC_MODEL=alpha;MC_ID=sdlosf6;OS=OSF1;OS_RELEASE=
V4.0;FRU=sdl_parasolid_test_osf64;APPL=unknown;SITE=sdl-cambridgeu.
k.;USER=davidj;FORMAT=text;GUISE=transmit;DATE=29-mar-2000;
**PART2;SCH=SCH_1200000_12006;USFLD_SIZE=0;
**PART3;
**END_OF_HEADER***************************************************
T51 : TRANSMIT FILE created by modeller version 120000017 SCH_1200000_120060
12 1 12 0 2 0 0 0 0 1e3 1e-8 0 0 0 1 0 3 1 3 4 5 0 6 7 0 body
70 2 0 1 0 0 4 1 20 8 8 8 1 T list
13 3 3 0 1 0 9 0 0 6 9 shell
50 4 11 0 9 0 0 0 +0 0 0 0 0 1 1 0 0 plane
31 5 10 0 7 0 0 0 +0 0 0 0 0 1 1 0 0 1 circle
19 6 5 0 1 0 0 3 V region
16 7 6 0 ?10 0 0 5 0 0 1 edge
17 10 0 11 10 10 0 12 7 0 0 + fin
15 11 7 0 10 9 0 loop
17 12 0 0 0 0 0 10 7 0 0 - fin (dummy)
14 9 2 13 ?0 0 11 3 4 +0 0 0 0 3 face
81 1 13 12 14 9 0 0 0 0 15 attribute (variable 1)
80 1 14 0 16 8001 0 0 0 0 3 5 0 0 FFFFTFTFFFFFF2 attrib_def (variable 1)
83 3 15 1 2 3 real_values (variable 3)
79 15 16 SDL/TYSA_COLOUR att_def_id (variable 15)
74 20 8 1 0 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 pointer_lis_block
1 0 terminator

File Extensions: Due to changing operation system restrictions on file names over the years Parasolid has used several different file extensions to denote file contents. The recommended set of file extensions is:

  • .X_T and .X_B: part files
  • .P_T and .P_B: partition files
  • Past Extension:
    • .xmt_txt and .xmp_txt: text format files on VMS or Unix platforms
    • .xmt_bin, and .xmp_bin: binary format files on VMS or Unix platforms

Applications: - Applications that the engineering format uses.

  • Native application(s): Parasolid Software

Magic numbers: - Unique identifying characters at the beginning of files for this engineering format.

Format(s): - The MIME file types.

Rights: - The name or type of the license for the engineering format. Examples: BSD-style license, Apache License, Proprietary license

Sustainability Factors: - Facts about the sustainability of this particular engineering format.

  • Standardization: - Information regarding standardization attempts with this format.
  • Adoption: - Information about how this format has been adopted by other organizations.
    • Licensing and patent claims: - Any licenses or patent claims that the engineering format makes.
  • Self-documentation: - Any self-documentation capabilities of the format.
  • External dependencies: - Anything that the format depends on outside of its control to function.
  • Technical protection considerations: - Any considerations that are necessary when it comes to technical protection.

Typical use: - Keywords that describe the format's typical use. Examples: CAD and CAM

File classification:

  • Type {Binary, Text}: Both
  • Raster data:
    • Raster data 2D:
      • Is Supported: False
      • Description:
    • Raster data 3D:
      • Is Supported: False
      • Description:
  • Geometric representation:
    • Implicit representation:
      • Implicit surfaces:
        • Is Supported: True
        • Description: BLEND_BOUND (Blend boundary surface) - It is an implicit surface defined internally so that it intersects one of the supporting surfaces along the boundary curve. The data stored in an XT file for a blend_bound is only that necessary to identify the relevant blend and supporting surface.
        • Is Supported: - Is the feature supported in the engineering format?
        • Description: - This field is used to describe the support or lack of support of the feature.
      • Point set: - Can the format support point sets? Example: A format that supports surfaces and lines that are generated by points that form triangles supports point sets.
        • Is Supported: - Is the feature supported in the engineering format?
        • Description: - This field is used to describe the support or lack of support of the feature.
    • Mesh: - Section describes whether or not the engineering format supports mesh.
      • Manifold surface meshes: - Can the format support manifold surface meshes? Example: A format that supports surfaces that are mathematical spaces in which every point has a neighborhood which resembles Euclidean space
        • Is Supported: - Is the feature supported in the engineering format?
        • Description: - This field is used to describe the support or lack of support of the feature.
      • Manifold volume meshes: - Can the format support manifold volume meshes? Example: A format that supports volumes that are mathematical spaces in which every point has a neighborhood which resembles Euclidean space
        • Is Supported: - Is the feature supported in the engineering format?
        • Description: - This field is used to describe the support or lack of support of the feature.
      • Non-manifold meshes: - Can the format support non-manifold meshes? Example: A format that supports meshes that are not manifolds
        • Is Supported: - Is the feature supported in the engineering format?
        • Description: - This field is used to describe the support or lack of support of the feature.
    • Parametric representation: - Section describes whether or not the engineering format supports parametric representations.
      • Parametric surfaces: - Can the format support parametric surfaces? Example: A format that can contain surfaces that are generated with parametric equations supports parametric surfaces.
        • Is Supported: - Is the feature supported in the engineering format?
        • Description: - This field is used to describe the support or lack of support of the feature.
      • Parametric curves: - Can the format support parametric curves? Example: A format that can contain curves that are generated with parametric equations supports parametric curves.
        • Is Supported: - Is the feature supported in the engineering format?
        • Description: - This field is used to describe the support or lack of support of the feature.
    • Contour sets: - Can the format support contour sets?
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
    • NURBS: - Can the format support Non Uniform Rational Basis Splines? Examples: The engineering formats IGES, STEP, ACIS, and PHIGS
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
  • Multi-resolution models: - Can the format support models with multiple resolutions? Examples: A format that supports a highly detailed and lowly detailed model simultaneously supports multi-resolution models.
    • Is Supported: - Is the feature supported in the engineering format?
    • Description: - This field is used to describe the support or lack of support of the feature.
  • Dynamics: - Section describes whether or not the engineering format supports dynamics.
    • Kinematics: - Can the format support kinematics? Example: Does the format allow model parts to rotate?
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
    • Assembly: - Can the format support assembly? Example: Does the format allow the assembly instructions to be explicitly specified with a model?
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
    • Force(s): - Can the format support forces? Example: Does the format support acceleration forces?
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
  • Boundary representation - Can the format support models with boundary representations?
    • Manifold surface boundary representations: - Can the format support manifold surface boundary representations? Example: The engineering format STEP
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
    • Manifold volume boundary representations: - Can the format support manifold volume boundary representations? Example: The engineering format STEP
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
    • Non-manifold boundary representations: - Can the format support non-manifold boundary representations? Example: The engineering format STEP
      • Is Supported: - Is the feature supported in the engineering format?
      • Description: - This field is used to describe the support or lack of support of the feature.
  • Material transparency: - Can the format support transparency? Example: Does the format allow models to have a clear window in a car?
    • Is Supported: - Is the feature supported in the engineering format?
    • Description: - This field is used to describe the support or lack of support of the feature.

References: UGS Corp., "UGS Corp.", October 2006, ["http://www.13thmonkey.org/documentation/CAD/Parasolid-XT-format-reference.pdf", December 2010]