Difference between revisions of "Parasolid XT Format"

From GICL Wiki
Jump to: navigation, search
 
Line 180: Line 180:
 
**** '''Is Supported:''' True
 
**** '''Is Supported:''' True
 
**** '''Description:''' Parasolid provides support for plane, cylinder, cone, sphere, torus, blended_edge, swept_surf, and spun_surf
 
**** '''Description:''' Parasolid provides support for plane, cylinder, cone, sphere, torus, blended_edge, swept_surf, and spun_surf
*** '''Parametric curves:''' - Can the format support parametric curves? Example: A format that can contain curves that are generated with parametric equations supports parametric curves.
+
*** '''Parametric curves:'''  
 
**** '''Is Supported:''' True
 
**** '''Is Supported:''' True
 
**** '''Description:''' Parasolid provides support for line, circle, and ellipse
 
**** '''Description:''' Parasolid provides support for line, circle, and ellipse

Latest revision as of 17:15, 9 February 2010

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):

  • 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: Refer to Reference

Format(s): NA

Rights: Proprietary license

Sustainability Factors: NA

  • Standardization: NA
  • Adoption: NA
    • Licensing and patent claims: Siemens PLM Software
  • Self-documentation: NA
  • External dependencies: Writing is a significantly harder process; as well as getting the data format of the transmit file correct applications must also ensure that the many complex and subtle interrelationships between the geometric nodes in the file are satisfied.
  • Technical protection considerations: NA

Typical use: geometric modeling kernel

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.
      • Implicit curves:
        • Is Supported: False
        • Description: NA
      • Point set:
        • Is Supported: True
        • Description: 1) The point-set represented by the body is the disjoint union of the point-sets represented by its solid regions, faces, edges, and vertices. This point-set need not be connected, but it must be finite. 2)Regions are either solid or void, and they may be non-manifold. A solid region contributes to the point-set of its owning body; a void region does not (although its boundary will).
    • Mesh:
      • Manifold surface meshes:
        • Is Supported: False
        • Description: Parasolid bodies have a field body_type which takes values from an enumeration indicating whether the body is: solid, sheet, wire, and general
      • Manifold volume meshes:
        • Is Supported: False
        • Description: Parasolid bodies have a field body_type which takes values from an enumeration indicating whether the body is: solid, sheet, wire, and general
      • Non-manifold meshes:
        • Is Supported: True
        • Description: Only general non-manifold models
    • Parametric representation:
      • Parametric surfaces:
        • Is Supported: True
        • Description: Parasolid provides support for plane, cylinder, cone, sphere, torus, blended_edge, swept_surf, and spun_surf
      • Parametric curves:
        • Is Supported: True
        • Description: Parasolid provides support for line, circle, and ellipse
    • Contour sets:
      • Is Supported: False
      • Description: NA
    • NURBS:
      • 'Is Supported: True
      • Description: Parasolid supports B spline curves in full NURBS format.
  • Multi-resolution models:
    • Is Supported: False
    • Description: NA
  • Dynamics:
    • Kinematics:
      • Is Supported: False
      • Description: NA
    • Assembly:
      • Is Supported: False
      • Description: NA
    • Force(s):
      • Is Supported: False
      • Description: NA
  • Boundary representation
    • Manifold surface boundary representations:
      • Is Supported: True
      • Description: 1) sheet, representing a 2-dimensional subset of 3-space which is either manifold or manifold with boundary (certain cases are not strictly manifold – see below for details). It need not be connected. 2)wire, representing a 1-dimensional subset of 3-space which is either manifold or manifold with boundary, and which need not be connected. An acorn body, which represents a single 0-dimensional point in space, also has body-type wire.
    • Manifold volume boundary representations: - Can the format support manifold volume boundary representations? Example: The engineering format STEP
      • Is Supported: False
      • Description: NA
    • Non-manifold boundary representations:
      • Is Supported: False
      • Description: NA
  • Material transparency:
    • Is Supported: True
    • Description: A face can have transparency, it is represented as real value, with the range 0.0 to 1.0, where 0 is opaque and 1 is transparent

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