JT Files

Overview

When JT Open Toolkit exports a model, the toolkit creates one or more DirectModel files, referred to as "JT files" due to their ".jt" file extension. JT files represent an extremely robust and flexible data format, capable of storing:

JT Open Toolkit exposes this flexibility, allowing client applications to selectively produce appropriate JT file content based on file size and/or render performance requirements. Optimality and suitability of resultant JT file contents is, therefore, completely in the hands of the client application. For this reason, several important JT file-related concepts are now outlined.

Product Structure

JT Open Toolkit's API presents a product structure (PS) abstraction to client applications. This frees such application from requiring low-level knowledge of the renderable nature of the resultant JT data.

There are three fundamental object types available from which to create product structure:

File Structure

The relationship of product structure hierarchy to exported JT file structure is arbitrary. Any node in the hierarchy may be specified as the start of a new JT file. Thus, product structure may be represented in a variety of JT file configurations.

For convenience, JT Open Toolkit defines three common product structure-to-file structure mappings. These include:

Client applications may use these mappings, or choose to define their own custom mapping. Note, EDS JT translators typically define one common custom mapping, Mimic, in which output JT file content matches input CAD content on a one-to-one, file-to-file basis.

The following example illustrates each of the three standard mappings. Given the following JT Open Toolkit product structure hierarchy, where A1, A2, and A3 are JtkAssembly nodes; P1, P2, and P3 are JtkPart nodes; and P1' is an JtkInstance of P1:

the standard mappings would result in the following JT files: Note that JtkInstance nodes (e.g., P1') do not result in separate JT files, as they are reuse referencing objects.

Compression

To help shrink the storage and transmition bandwidth requirements of 3D models, JT files may take advantage of compression. Use of compression is transparent to the user of the JT data, and a given model may be composed of JT files using different compression settings (including none).

To date, the JT file format has evolved through two forms of compression, exposed in JT Open Toolkit as standard and advanced compression. These differ in that the former employs a simple, lossless compression algorithm, while the latter employs a more sophisticated, domain-specific compression scheme supporting lossy geometry compression. Client applications are encouraged to take advantage of advanced compression over standard compression, as attainable compression ratios are much greater. Support for standard compression is maintained only in the interest of backward compatibility with legacy JT file viewing applications.

The compression form used by a JT file is related to the JT file format version in which it was written. This version is readily viewable by opening a JT file in a text editor and looking at its ASCII header information. The following table summarizes the how this version information relates to compression: