Shopping Cart

No products in the cart.

BS ISO 14306:2017:2022 Edition

$215.11

Industrial automation systems and integration. JT file format specification for 3D visualization

Published By Publication Date Number of Pages
BSI 2022 670
Guaranteed Safe Checkout
Categories: ,

If you have any questions, feel free to reach out to our online customer service team by clicking on the bottom right corner. We’re here to assist you 24/7.
Email:[email protected]

PDF Catalog

PDF Pages PDF Title
2 undefined
5 Content
9 Figures
13 Tables
18 Foreword
19 Introduction
21 1 Scope
2 Normative references
3 Terms, definitions and abbreviated terms
3.1 Terms and definitions
25 3.2 Abbreviated terms
26 4 Notational conventions
Diagrams and field descriptions
Table 1 — Symbols
28 Table 2 — Predictor Type
30 Data Types
Table 3 — Basic Data Types
31 Table 4 — Composite Data Types
34 5 File Format
5.1 File Structure
Figure 10 — JT File Structure
5.1.1 File Header
35 Figure 11 — File Header data collection
UChar : Version
36 UChar : Byte Order
I32 : Empty Field
I32 : TOC Offset
GUID : LSG Segment ID
GUID: Empty Field
Refer to best practice 11.4 Empty Field.
5.1.2 TOC Segment
Figure 12 — TOC Segment data collection
I32 : Entry Count
37 TOC Entry
Figure 13 — TOC Entry data collection
GUID : Segment ID
I32 : Segment Offset
I32 : Segment Length
U32 : Segment Attributes
Table 5 — Segment attributes
5.1.3 Data Segment
38 Figure 14 — Data Segment data collection
5.1.3.1 Segment Header
Figure 15 — Segment Header data collection
GUID : Segment ID
I32 : Segment Type
Table 6 — Segment Types
39 I32 : Segment Length
5.1.3.2 Data
40 Figure 16 — Data collection
Logical Element Header
Figure 17 — Logical Element Header data collection
I32 : Element Length
Element Header
Figure 18 — Element Header data collection
GUID : Object Type ID
41 UChar : Object Base Type
Table 7 — Object Base Types
Logical Element Header ZLIB
42 Figure 19 — Logical Element Header ZLIB data collection
I32 : Compression Flag
Table 8 — Compression flag values
U8 : Compression Algorithm
Table 9 — Compression algorithm values
Object Data
5.2 Data Segments
44 6 LSG Segment
6.1 Graph Elements
Texture Coordinate Generator Attribute Element
45 6.1.1 Node Elements
6.1.1.1 Base Node Element
Figure 21 — Base Node Element data collection
6.1.1.1.1 Base Node Data
Figure 22 — Base Node Data collection
I16 : Version Number
46 U32 : Node FlagsPMI
Table 10 — Node Flag values
I32 : Attribute Object ID
6.1.1.2 Partition Node Element
47 Figure 23 — Partition Node Element data collection
Complete description for Group Node Data can be found in 6.1.1.3.1 Group Node Data.
I32 : Partition Flags
Table 11 — Partition flag bits
48 BBoxF32 : Empty Field
Refer to best practice 11.4 Empty Field.
BBoxF32 : Transformed BBox
F32 : Area
BBoxF32 : Untransformed BBox
6.1.1.2.1 Vertex Count Range
Figure 24 — Vertex Count Range data collection
I32 : Min Count
I32 : Max Count
6.1.1.2.2 Node Count Range
49 6.1.1.2.3 Polygon Count Range
6.1.1.3 Group Node Element
Figure 25 — Group Node Element data collection
50 6.1.1.3.1 Group Node Data
Figure 26 — Group Node Data collection
Complete description for Base Node Data can be found in 6.1.1.1.1 Base Node Data.
I16 : Version Number
I32 : Child Count
I32 : Child Node Object ID
6.1.1.4 Instance Node Element
51 Figure 27 — Instance Node Element data collection
Complete description for Base Node Data can be found in 6.1.1.1.1 Base Node Data.
I16: Version Number
I32 : Child Node Object ID
6.1.1.5 Part Node Element
52 Figure 28 — Part Node Element data collection
Complete description for Meta Data Node Data can be found in 6.1.1.6.1 Meta Data Node Data.
I16 : Version Number
I32: Empty Field
Refer to best practice 11.4 Empty Field.
Figure 29 — Assembly node with SUBNODE
53 Figure 30 — Assembly node without SUBNODE
Figure 31 — Displaying Nodes that have SUBNODE properties
6.1.1.6 Meta Data Node Element
54 Figure 32 — Meta Data Node Element data collection
6.1.1.6.1 Meta Data Node Data
Figure 33 — Meta Data Node Data collection
Complete description for Group Node Data can be found in 6.1.1.3.1 Group Node Data.
I16 : Version Number
6.1.1.7 LOD Node Element
Figure 34 — LOD Node Element data collection
55 6.1.1.7.1 LOD Node Data
Figure 35 — LOD Node Data collection
Complete description for Group Node Data can be found in 6.1.1.3.1 Group Node Data.
I16: Version Number
VecF32 : Empty Field
I32 : Empty Field
6.1.1.8 Range LOD Node Element
56 Figure 36 — Range LOD Node Element data collection
Complete description for LOD Node Data can be found in 6.1.1.7.1 LOD Node Data.
I16: Version Number
VecF32 : Range Limits
CoordF32 : Centre
6.1.1.9 Switch Node Element
57 Figure 37 — Switch Node Element data collection
Complete description for Group Node Data can be found in 6.1.1.3.1 Group Node Data.
I16 : Version Number
I32 : Selected Child
6.1.1.10 Shape Node Elements
6.1.1.10.1 Base Shape Node Element
58 Figure 38 — Base Shape Node Element data collection
Base Shape Data
Figure 39 — Base Shape Data collection
Complete description for Base Node Data can be found in 6.1.1.1.1 Base Node Data.
59 I16: Version Number
BBoxF32 : Empty Field
BBoxF32 : Untransformed BBox
F32 : Area
I32 : Size
F32 : Compression Level
Table 13 — Compression level values
60 Vertex Count Range
Figure 40 —Vertex Count Range data collection
I32 : Min Count
I32 : Max Count
Node Count Range
Polygon Count Range
6.1.1.10.2 Vertex Shape Node Element
61 Figure 41 — Vertex Shape Node Element data collection
Vertex Shape Data
Figure 42 — Vertex Shape Data collection
Complete description for Base Shape Data can be found in Base Shape Data.
I16: Version Number
U64 : Vertex Binding
Quantization Parameters
62 Figure 43 — Quantization Parameters data collection
U8 : Bits Per Vertex
U8 : Normal Bits Factor
U8 : Bits Per Texture Coord
U8 : Bits Per Colour
6.1.1.10.3 Tri-Strip Set Shape Node Element
Figure 44 — Tri-Strip Set Shape Node Element data collection
63 Complete description for Vertex Shape Data can be found in Vertex Shape Data.
6.1.1.10.4 Polyline Set Shape Node Element
Figure 45 — Polyline Set Shape Node Element data collection
Complete description for Vertex Shape Data can be found in Vertex Shape Data.
I16: Version Number
F32 : Area Factor
U64: Vertex Bindings
6.1.1.10.5 Point Set Shape Node Element
64 Figure 46 — Point Set Shape Node Element data collection
Complete description for Vertex Shape Data can be found in Vertex Shape Data.
I16: Version Number
F32 : Area Factor
U64: Vertex Bindings
6.1.1.10.6 Polygon Set Shape Node Element
65 Figure 47 — Polygon Set Shape Node Element data collection
Complete description for Vertex Shape Data can be found in Vertex Shape Data.
6.1.1.10.7 NULL Shape Node Element
Figure 48 — NULL Shape Node Element data collection
Complete description for Base Shape Data can be found in Base Shape Data.
I16 : Version Number
6.1.1.10.8 Primitive Set Shape Node Element
66 Figure 49 — Primitive Set Shape Node Element data collection
Complete description for Base Shape Data can be found in Base Shape Data.
I16 : Version Number
Primitive Set Quantization Parameters
67 I32 : Texture Coord Binding
Table 14 — Texture Coord Binding values
I16 : Version Number
Table 15 — Version Number values
Table 16 — Texture Coord Gen Type values
Primitive Set Quantization Parameters
68 Figure 50 — Primitive Set Quantization Parameters data collection
U8 : Bits Per Vertex
U8 : Bits Per Colour
6.1.2 Attribute Elements
69 6.1.2.1 Common Attribute Data Containers
6.1.2.1.1 Base Attribute Data
Figure 51 — Base Attribute Data collection
I16: Version Number
U8 : State Flags
Table 17 — State Flag values
70 6.1.2.2 Material Attribute Element
Table 18 — Material Attribute data field inhibit values
71 Figure 52 — Material Attribute Element data collection
Complete description for Base Attribute Data can be found in 6.1.2.1.1 Base Attribute Data.
I16 : Version Number
72 Table 19 — Material Attribute Version number value
Table 20 — Material Attribute Data Flag values
73 RGBA : Diffuse Colour and Alpha
RGBA : Specular Colour
RGBA : Emission Colour
F32 : Shininess
F32 : Reflectivity
6.1.2.3 Texture Image Attribute Element
Table 21 — Texture Image Attribute data field inhibit values
74 Figure 53 — Texture Image Attribute Element data collection
Complete description for Base Attribute Data can be found in 6.1.2.1.1 Base Attribute Data.
Complete description for Texture Vers-1 Data can be found in 6.1.2.3.1 Texture Vers-1 Data.
Complete description for Texture Vers-2 Data can be found in 6.1.2.3.2 Texture Vers-2 Data.
Complete description for Texture Vers-3 Data can be found in 6.1.2.3.3 Texture Vers-3 Data.
I16 : Version Number
Table 22 — Texture Image Version Number values
75 6.1.2.3.1 Texture Vers-1 Data
76 Figure 54 — Texture Vers-1 Data collection
Complete details for Texture Environment can be found in Texture Environment.
Complete details for Inline Texture Image Data can be found in Inline Texture Image Data.
I32 : Texture Type
Table 23 — Texture Vers-1 type values
77 I32 : Texture Channel
U32 : Empty Field
U8 : Inline Image Storage Flag
Table 24 — Texture Vers-1 Inline Image Storage Flag values
I32 : Image Count
MbString : External Storage Name
Texture Environment
78 Figure 55 — Texture Environment data collection
I32 : Border Mode
Table 25 — Texture Vers-1 Texture Environment Border Mode values
I32 : Mipmap Magnification Filter
79 Table 26 — Texture Vers-1 Texture Environment Mipmap Magnification Filter values
I32 : Mipmap Minification Filter
Table 27 — Texture Vers-1 Texture Environment Mipmap Minification Filter values
I32 : S-Dimen Wrap Mode
80 Table 28 — Texture Vers-1 Texture Environment S-Dimen Wrap Mode values
I32 : T-Dimen Wrap Mode
I32 : R-Dimen Wrap Mode
I32 : Blend Type
Table 29 — Texture Vers-1 Texture Environment Blend Type values
I32 : Internal Compression Level
Table 30 — Texture Vers-1 Texture Environment Internal Compression Level values
RGBA : Blend Colour
81 RGBA : Border Colour
Mx4F32 : Texture Transform
Texture Coord Generation Parameters
Figure 56 — Texture Coord Generation Parameters data collection
I32 : Tex Coord Gen Mode
Table 31 — Texture Vers-1 Texture Coord Generation Gen Mode values
PlaneF32 : Tex Coord Reference Plane
Inline Texture Image Data
82 Complete description for Image Format Description can be found in Image Format Description.
I32 : Total Image Data Size
I32 : Mipmap Image Byte Count
UChar : Mipmap Image Texel Data
Image Format Description
83 Figure 58 — Image Format Description data collection
U32 : Pixel Format
Table 32 — Texture Vers-1 Image Format Description Pixel Format values
84 U32 : Pixel Data Type
Table 33 — Texture Vers-1 Image Format Description Pixel Data values
I16 : Dimensionality
Table 34 — Texture Vers-1 Image Format Description Dimensionality values
I16 : Row Alignment
I16 : Width
I16 : Height
I16 : Depth
85 I16 : Number Border Texels
U8 : Shared Image Flag
Table 35 — Texture Vers-1 Image Format Description Shared Image Flag values
I16 : Mipmaps Count
6.1.2.3.2 Texture Vers-2 Data
86 Figure 59 — Texture Vers-2 Data collection
Complete details for Texture Environment can be found in Texture Environment.
Complete details for Inline Texture Image Data can be found in Inline Texture Image Data.
Texture Vers-1 Data : Stub
87 I32 : Texture Type
Table 36 — Texture Vers-2 Texture Type values
I32 : Texture Channel
88 U32 : Empty Field
U8 : Inline Image Storage Flag
Table 37 — Texture Vers-2 Inline Image Storage Flag values
I32 : Image Count
MbString : External Storage Name
6.1.2.3.3 Texture Vers-3 Data
89 Figure 60 — Texture Vers-3 Data collection
Complete details for Texture Environment can be found in Texture Environment.
Complete details for Inline Texture Image Data can be found in Inline Texture Image Data.
90 Texture Vers-2 Data : Stub
I32 : Texture Type
Table 38 — Texture Vers-3 Texture Type values
I32 : Texture Channel
91 U32 : Empty Field
U8 : Inline Image Storage Flag
Table 39 — Texture Vers-3 Inline Image Storage Flag values
I32 : Image Count
MbString : External Storage Name
I32 : Tex Coord Channel
6.1.2.4 Draw Style Attribute Element
Table 40 — Draw Style Attribute Field Inhibit flag values
92 Figure 61 — Draw Style Attribute Element data collection
Complete description for Base Attribute Data can be found in 6.1.2.1.1 Base Attribute Data.
I16 : Version Number
U8 : Data Flags
Table 41 — Draw Style Attribute Data Flag values
93 6.1.2.5 Light Set Attribute Element
Figure 62 — Light Set Attribute Element data collection
Complete description for Base Attribute Data can be found in 6.1.2.1.1 Base Attribute Data.
I16 : Version Number
I32 : Light Count
94 I32 : Light Object ID
6.1.2.6 Infinite Light Attribute Element
Figure 63 — Infinite Light Attribute Element data collection
Complete description for Base Light Data can be found in 6.1.2.6.1 Base Light Data.
Complete description for Shadow Parameters can be found in 6.1.2.6.2 Shadow Parameters.
95 Table 42 — Light Set Attribute Version Number values
6.1.2.6.1 Base Light Data
Figure 64 — Base Light Data collection
I16 : Version Number
RGBA : Ambient Colour
RGBA : Diffuse Colour
RGBA : Specular Colour
96 F32 : Brightness
I32 : Coord System
Table 43 — Base Light Data Cood System values
U8 : Shadow Caster Flag
Table 44 — Base Light Data Shadow Caster Flag values
F32 : Shadow Opacity
6.1.2.6.2 Shadow Parameters
Figure 65 — Shadow Parameters data collection
F32 : Non-shadow Alpha Factor
F32 : Shadow Alpha Factor
97 6.1.2.7 Point Light Attribute Element
98 Figure 66 — Point Light Attribute ElementPoint Light Attribute Element data collection
Complete description for Base Light Data can be found in 6.1.2.6.1 Base Light Data.
Complete description for Attenuation Coefficients can be found in 6.1.2.7.1 Attenuation Coefficients.
Complete description for Shadow Parameters can be found in 6.1.2.6.2 Shadow Parameters.
I16 : Version Number
99 Table 45 — Point Light Attribute Version Number values
F32 : Spread Angle
Table 46 — Point Light Attribute Spread Angle values
DirF32 : Spot Direction
I32 : Spot Intensity
6.1.2.7.1 Attenuation Coefficients
100 Figure 68 — Attenuation Coefficients data collection
F32 : Constant Attenuation
F32 : Linear Attenuation
F32 : Quadratic Attenuation
6.1.2.8 Linestyle Attribute Element
101 Figure 69 — Linestyle Attribute Element data collection
Complete description for Base Attribute Data can be found in 6.1.2.1.1 Base Attribute Data.
I16: Version Number
U8 : Data Flags
Table 47 — Linestyle Attribute Data Flag values
102 6.1.2.9 Pointstyle Attribute Element
Figure 70 — Pointstyle Attribute Element data collection
Complete description for Base Attribute Data can be found in 6.1.2.1.1 Base Attribute Data.
I16 : Version Number
U8 : Data Flags
Table 48 — Pointstyle Attribute Data Flag values
103 6.1.2.10 Geometric Transform Attribute Element
Figure 71 — Geometric Transform Attribute Element data collection
104 Complete description for Base Attribute Data can be found in 6.1.2.1.1 Base Attribute Data.
I16: Version Number
U16 : Stored Values Mask
Table 49 — Geometric Transform Attribute Stored Value Mask individual bit-flag values
6.1.2.11 Shader Effects Attribute Element
105 Figure 72 — Shader Effects Attribute Element data collection
Complete description for Base Attribute Data can be found in 6.1.2.1.1 Base Attribute Data.
I16 : Version Number
U32 : Enable Flag
Table 50 — Shader Effects Attribute Enable Flag values
106 I32 : Empty Field 1
F32 : Env Map Reflectivity
I32 : Empty Field 2
Refer to best practice 11.4 Empty Field.
F32 : Bumpiness Factor
U32 : Empty Field 3
Refer to best practice 11.4 Empty Field.
U32 : Phong Shading Flag
Table 51 — Shader Effects Attribute Phong Shading Flag values
6.1.2.12 Texture Coordinate Generator Attribute Element
107 Figure 73 — Texture Coordinate Generator Attribute Element data collection
Complete description for Base Attribute Data can be found in 6.1.2.1.1Base Attribute Data.
Complete description for Mapping Surface can be found in 6.1.2.12.1Mapping Surface.
I16 : Version Number
I32 : Texture Coord Channel
6.1.2.12.1 Mapping Surface
Mapping Plane Element
108 Figure 74 — Mapping Plane Element data collection
I16 : Version Number
Mx4F64 : Mapping Plane Matrix
I32 : Coordinate System
Table 52 — Mapping Plane Matrix Coordinate System values
Mapping Cylinder Element
109 Figure 75 — Mapping Cylinder Element data collection
I16 : Version Number
Mx4F64 : Mapping Cylinder Matrix
I32 : Coordinate System
Table 53 — Mapping Cylinder Matrix Coordinate System values
110 Mapping Sphere Element
Figure 76 — Mapping Sphere Element data collection
I16 : Version Number
Mx4F64 : Mapping Sphere Matrix
I32 : Coordinate System
111 Table 54 — Mapping Sphere Matrix Coordinate System values
Mapping TriPlanar Element
Figure 77 — Mapping TriPlanar Element data collection
I16 : Version Number
Mx4F64 : Mapping TriPlanar Matrix
I32 : Coordinate System
112 Table 55 — Mapping TriPlanar Matrix Coordinate System values
6.2 Property Atom Elements
6.2.1 Base Property Atom Element
Figure 78 — Base Property Atom Element data collection
113 Base Property Atom Data
Figure 79 — Base Property Atom Data collection
I16: Version Number
U32 : State Flags
6.2.2 String Property Atom Element
Figure 80 — String Property Atom Element data collection
Complete description for Base Property Atom Data can be found in Base Property Atom Data.
I16: Version Number
114 MbString : Value
6.2.3 Integer Property Atom Element
Figure 81 — Integer Property Atom Element data collection
Complete description for Base Property Atom Data can be found in Base Property Atom Data.
I16: Version Number
I32 : Value
6.2.4 Floating Point Property Atom Element
115 Figure 82 — Floating Point Property Atom Element data collection
Complete description for Base Property Atom Data can be found in Base Property Atom Data.
I16: Version Number
F32 : Value
6.2.5 JT Object Reference Property Atom Element
Figure 83 — JT Object Reference Property Atom Element data collection
116 Complete description for Base Property Atom Data can be found in Base Property Atom Data.
I16: Version Number
I32 : Object ID
6.2.6 Date Property Atom Element
Figure 84 — Date Property Atom Element data collection
Complete description for Base Property Atom Data can be found in Base Property Atom Data.
117 I16 : Version Number
I16 : Year
I16 : Month
I16 : Day
I16 : Hour
I16 : Minute
I16 : Second
6.2.7 Late Loaded Property Atom Element
118 Figure 85 — Late Loaded Property Atom Element data collection
Complete description for Base Property Atom Data can be found in Base Property Atom Data.
I16 : Version Number
GUID : Segment ID
I32 : Segment Type
I32 : Payload Object ID
I32 : Reserved
Reserved data field that is guaranteed to always be greater than or equal to 1.
119 6.2.8 Vector4f Property Atom Element
Figure 86 — Vector4f Property Atom Element data collection
Complete description for Base Property Atom Data can be found in Base Property Atom Data.
I16 : Version Number
F32 : Value
Value contains the floating point value for this property atom.
6.3 Property Table
120 Figure 87 — Property Table data collection
I16 : Version Number
I32 : Element Property Table Count
I32 : Element Object ID
6.3.1 Element Property Table
121 Figure 88 — Element Property Table data collection
I32 : Key Property Atom Object ID
I32 : Value Property Atom Object ID
122 7 Shape LOD Segment
7.1 Shape LOD Element
7.1.1 Base Shape LOD Element
Figure 90 — Base Shape LOD Element data collection
7.1.1.1 Base Shape LOD Data
123 Figure 91 — Base Shape LOD Data collection
I16 : Version Number
7.1.2 Vertex Shape LOD Element
Figure 92 — Vertex Shape LOD Element data collection
7.1.2.1 Vertex Shape LOD Data
124 Figure 93 — Vertex Shape LOD Data collection
I16 : Version Number
U64 : Vertex Bindings
Table 56 — Vertex Shape LOD Bindings values
126 7.1.2.2 TopoMesh LOD Data
Figure 94 — TopoMesh LOD Data collection
I16 : Version Number
I32: Vertex Records Object ID
7.1.2.2.1 TopoMesh Compressed LOD Data
Figure 95 — TopoMesh LOD Data collection
I16 : Version Number
7.1.2.2.2 TopoMesh Topologically Compressed LOD Data
127 Figure 96 — TopoMesh Topologically Compressed LOD Data collection
I16 : Version Number
7.1.2.2.3 Topologically Compressed Rep Data
128 Figure 97 — Topologically Compressed Rep Data Collection
VecI32{Int32CDP2} : Face Degrees
129 VecI32{Int32CDP2} : Vertex Valences
VecI32{Int32CDP2} : Vertex Groups
VecI32{Int32CDP2, Lag1} : Vertex Flags
VecI32{Int32CDP2} : Face Attribute Masks (30 LSBs)
VecI32{Int32CDP2} : Face Attribute Mask 8 (30 next MSBs)
VecI32{Int32CDP2} : Face Attribute Mask 8 (4 MSBs)
VecU32 : High-Degree Face Attribute Masks
VecI32{Int32CDP2, Lag1} : Split Face Syms
VecI32{Int32CDP2} : Split Face Positions
U32 : Composite Hash
130 7.1.2.3 Topologically Compressed Vertex Records
131 Figure 98 — Topologically Compressed Vertex Records data collection
U64: Vertex Bindings
I32 : Number of Topological Vertices
I32 : Number of Vertex Attributes
132 7.1.2.4 TopoMesh Compressed Rep Data V1
Figure 99 — TopoMesh Compressed Rep Data V1 data collection
Complete description for Quantization Parameters can be found in Quantization Parameters.
133 I32: Number of Face Group List Indices
I32: Number of Primitive List Indices
I32: Number of Vertex List Indices
VecI32{Int32CDP2} : Face Group List Indices
VecI32{Int32CDP2} : Primitive List Indices
VecI32{Int32CDP2} : Vertex List Indices
I32: FGPV List Indices Hash
U64: Vertex Bindings
I32: Number of Vertex Records
I32: Number of Unique Vertex Coordinates
VecI32{Int32CDP2} : Unique Vertex Coordinate Length List
134 I32: Unique Vertex List Map Hash
7.1.2.5 TopoMesh Compressed Rep Data V2
135 Figure 100 — TopoMesh Compressed Rep Data V2 data collection
I16 : Version Number
136 U64 : Vertex Bindings
U32 : Number of Auxiliary Fields
GUID : Unique Field Identifier
U8 : Field Type
Table 57 — TopoMesh Compressed Rep Data V2 Field Type values
VecU32{Int32CDP2} : Data U32_0
137 VecU32{Int32CDP2} : Data U32_1
VecU32{Int32CDP2} : Data U32_2
VecU32{Int32CDP2} : Data Lower Mantissae
VecU32{Int32CDP2} : Data Upper Mantissae
VecU32{Int32CDP2} : Data Exponents
I32 : Auxiliary Data Hash
138 7.1.3 Tri-Strip Set Shape LOD Element
Figure 101 — Tri-Strip Set Shape LOD Element data collection
I16 : Version Number
7.1.4 Polyline Set Shape LOD Element
139 Figure 102 — Polyline Set Shape LOD Element data collection
I16 : Version Number
7.1.5 Point Set Shape LOD Element
Figure 103 — Point Set Shape LOD Element data collection
I16 : Version Number
140 7.1.6 Null Shape LOD Element
Figure 104 — Null Shape LOD Element data collection
I16 : Version Number
BBoxF32 : Untransformed BBox
7.2 Primitive Set Shape Element
141 Figure 105 — Primitive Set Shape Element data collection
I16 : Version Number
Version Number is the version identifier for this element. For information on local version numbers see best practice 11.5 Local version numbers.
I32 : Texture Coord Binding
Table 58 — Primitive Set Shape Texture Coord Binding values
142 I16 : Version Number
Table 59 — Primitive Set Shape Version Number values
I32 : Texture Coord Gen Type
Table 60 — Primitive Set Shape Texture Coord Gen Type values
7.2.1 Lossless Compressed Primitive Set Data
143 Figure 106 — Lossless Compressed Primitive Set Data collection
I32 : Uncompressed Data Size
I32 : Compressed Data Size
U8 : Primitive Data
Table 61 — Lossless Compressed Primitive Set Data Field values
144 Table 62 — Primitive Set “params#” Data Fields Interpretation
U8 : Compressed Primitive Data
7.2.2 Lossy Quantized Primitive Set Data
145 Figure 107 — Lossy Quantized Primitive Set Data collection
I32 : Primitive Count
Quaternion : params3
CoordF32 : params1
DirF32 : params2
146 RGB : Colour
I32 : Type
U8 : Bits Per Colour
VecI32{Int32CDP, Lag1} : Compressed Types
7.2.2.1 Compressed params1
147 Figure 108 — Compressed params1 data collection
VecF32 : Quantization Range Min/Max Pairs
VecI32{Int32CDP, Lag1} : params1 Codes
7.2.2.2 Compressed params3
7.2.2.3 Compressed params2
148 7.2.2.4 Compressed Colours
149 8 Geometry Segments
8.1 STEP B-Rep Segment
8.2 XT B-Rep Segment
8.3 JT ULP Segment
8.4 JT LWPA Segment
8.5 Wireframe Segment
8.6 JT B-Rep Element (deprecated)
151 9 Meta Data Segment
Figure 109 — Meta Data Segment data collection
9.1 Property Proxy Meta Data Element
152 Figure 110 — Meta Data Segment data collection
I16: Version Number
153 MbString : Property Key
U8 : Property Value Type
Table 63 — Property Proxy Meta Data Property Value Type values
I32 : Integer Property Value
F32 : Float Property Value
9.1.1 Date Property Value
154 Figure 111 — Date Property Value data collection
I16 : Year
I16 : Month
I16 : Day
I16 : Hour
I16 : Minute
I16 : Second
9.2 PMI Manager Meta Data Element
155 Figure 112 — PMI Manager Meta Data Element data collection
I16: Version Number
156 I16 : PMI Version Number
Table 64 — PMI Manager Meta Data Version Number values
U32 : CAD Tags Flag
I32: Font Count
String: Font Name
VecI32: Character Set
157 9.2.1 PMI Entities
Figure 113 — PMI Entities data collection
9.2.1.1 PMI Dimension Entities
Figure 114 — PMI Dimension Entities data collection
I32 : Dimension Count
158 9.2.1.1.1 PMI 2D Data
Figure 115 — PMI 2D Data collection
I32 : Text Entity Count
PMI Base Data
159 Figure 116 — PMI Base Data collection
I32 : User Label
U8 : 2D-Frame Flag
F32 : Text Height
U8 : Symbol Valid Flag
2D-Reference Frame
160 Figure 117 — 2D-Reference Frame data collection
CoordF32 : Origin
Origin defines the origin (min-corner) of the 2D coordinate system
CoordF32 : X-Axis Point
CoordF32 : Y-Axis Point
2D Text Data
Figure 118 — 2D Text Data collection
I32 : String ID
161 I32 : Font
Table 65 — PMI 2D Base Data Font values
F32 : Empty Field
Text Box
162 Figure 119 — Text Box data collection
F32 : Origin X-Coord
F32 : Origin Y Coord
F32 : Lower Right Corner X-Coord
F32 : Lower Right Corner Y-Coord
F32 : Upper Left Corner X-Coord
F32 : Upper Left Corner Y Coord
Text Polyline Data
163 Figure 120 — Constructing Text Polylines from data arrays
164 Figure 121 — Text Polyline Data collection
I32 : Polyline Segment Index Count
I16 : Polyline Segment Index
VecF32 : Polyline Vertex Coords
Non-Text Polyline Data
165 Figure 122 — Constructing Non-Text Polylines from packed 2D data arrays
166 Figure 123 — Non-Text Polyline Data collection
I32 : Polyline Segment Index Count
I16 : Polyline Segment Index
I32 : Polyline Type Count
I16 : Polyline Type
Table 66 — PMI 2D Non-Text Polyline Type values
167 VecF32 : Polyline Vertex Coords
9.2.1.2 PMI Note Entities
Figure 124 — PMI Note Entities data collection
Complete description for PMI 2D Data can be found in 9.2.1.1.1 PMI 2D Data.
I32 : Note Count
U32 : URL Flag
9.2.1.3 PMI Datum Feature Symbol Entities
168 Figure 125 — PMI Datum Feature Symbol Entities data collection
Complete description for PMI 2D Data can be found in 9.2.1.1.1 PMI 2D Data.
I32 : DFS Count
9.2.1.4 PMI Datum Target Entities
Figure 126 — PMI Datum Target Entities data collection
Complete description for PMI 2D Data can be found in 9.2.1.1.1 PMI 2D Data.
I32 : Datum Target Count
9.2.1.5 PMI Feature Control Frame Entities
169 Figure 127 — PMI Feature Control Frame Entities data collection
Complete description for PMI 2D Data can be found in 9.2.1.1.1 PMI 2D Data.
I32 : FCF Count
9.2.1.6 PMI Line Weld Entities
Figure 128 — PMI Line Weld Entities data collection
Complete description for PMI 2D Data can be found in 9.2.1.1.1 PMI 2D Data.
I32 : Line Weld Count
9.2.1.7 PMI Spot Weld Entities
170 Figure 129 — PMI Spot Weld Entities data collection
I32 : Spot Weld Count
CoordF32 : Weld Point
DirF32 : Approach Direction
DirF32 : Clamping Direction
DirF32 : Normal Direction
9.2.1.7.1 PMI 3D Data
171 Figure 130 — PMI 3D Data collection
Complete description for PMI Base Data can be found in PMI Base Data.
I32 : String ID
I16 : Polyline Dimensionality
Table 67 — PMI 3D Data Polyline Dimensionality values
I16 : Polyline Segment Index
VecF32 : Polyline Vertex Coords
172 9.2.1.8 PMI Surface Finish Entities
Figure 131 — PMI Surface Finish Entities data collection
Complete description for PMI 2D Data can be found in 9.2.1.1.1 PMI 2D Data.
I32 : SF Count
9.2.1.9 PMI Measurement Point Entities
173 Figure 132 — PMI Measurement Point Entities data collection
Complete description for PMI 3D Data can be found in 9.2.1.7.1 PMI 3D Data.
I32 : MP Count
CoordF32 : Location
DirF32 : Measurement Direction
DirF32 : Coordinate Direction
DirF32 : Normal Direction
174 9.2.1.10 PMI Locator Entities
Figure 133 — PMI Locator Entities data collection
Complete description for PMI 2D Data can be found in 9.2.1.1.1 PMI 2D Data.
I32 : Locator Count
9.2.1.11 PMI Reference Geometry Entities
Table 68 — PMI Reference Geometry Entity values
Figure 134 — PMI Reference Geometry Entities data collection
Complete description for PMI 3D Data can be found in 9.2.1.7.1 PMI 3D Data.
I32 : Reference Geometry Count
175 9.2.1.12 PMI Design Group Entities
Figure 135 — PMI Design Group Entities data collection
I32 : Design Group Count
I32 : Group Name String ID
I32 : Attribute Count
Attribute Count specifies the number of Design Group Attribute data collections
9.2.1.12.1 Design Group Attribute
176 Figure 136 — Design Group Attribute data collection
I32 : Attribute Type
Table 69 — PMI Design Group Attribute Type values
F64 : Double Value
I32 : String Value String ID
177 I32 : Label String ID
I32 : Description String ID
9.2.1.13 PMI Coordinate System Entities
Figure 137 — PMI Coordinate System Entities data collection
I32 : Coord Sys Count
I32 : Name String ID
CoordF32 : Origin
CoordF32 : X-Axis Point
178 CoordF32 : Y-Axis Point
9.2.2 PMI Associations
Figure 138 — PMI Associations data collection
I32 : Association Count
I32 : Source Data
Table 70 — PMI Associations Source Data values
179 I32 : Reason Code
Table 71 — PMI Associations Reason Code values
180 I32 : Destination Owning Entity String ID
9.2.3 PMI User Attributes
Figure 139 — PMI User Attributes data collection
I32 : User Attribute Count
181 I32 : Key String ID
I32 : Value String ID
9.2.4 PMI String Table
Figure 140 — PMI String Table data collection
I32 : String Count
String : PMI String
9.2.5 PMI Model Views
182 Figure 141 — PMI Model Views data collection
I32 : Model View Count
DirF32 : Eye Direction
F32 : Angle
183 CoordF32 : Eye Position
CoordF32 : Target Point
CoordF32 : View Angle
F32 : Viewport Diameter
F32 : Empty Field
I32 : Empty Field
Refer to best practice 11.4 Empty Field
I32 : Active Flag
Table 72 — PMI Model Views Active Flag values
I32 : View Name String ID
9.2.6 Generic PMI Entities
184 Figure 142 — Generic PMI Entities data collection
Complete description for PMI 2D Data can be found in 9.2.1.1.1 PMI 2D Data.
I32 : Generic Entity Count
I32 : Property Count
I32 : Entity Type Name String ID
185 I32 : Parent Type Name String ID
U16 : Entity Type
Table 73 — Generic PMI Entity Type values
186 U16 : User Flags
Table 74 — Generic PMI User Flag values
PMI Property
Figure 143 — PMI Property data collection
187 Table 75 — Common Property Keys and Their Value Encoding formats
188 9.2.6.1.1 PMI Property Atom
Figure 144 — PMI Property Atom data collection
MbString : Value
U32 : Hidden Flag
Table 76 — PMI Property Atom Hidden Flag values
189 9.2.7 PMI CAD Tag Data
Figure 145 — PMI CAD Tag Data collection
I32 : CAD Tag Index Count
 Line Weld Count ;
 Spot Weld Count ;
190 I32 : CAD Tag Index
9.2.8 PMI Polygon Data
191 Figure 146 — PMI Polygon Data
I16: Version Number
192 I32: Empty Field
Refer to best practice 11.4 Empty Field.
VecI32: vNumVerts
I32: NormalBinding
I32: ColourBinding
I32: TextureBinding
I32: PolygonDimension
VecI32: PrimTypes
VecI32: PrimIndices
VecI32: VertIndices
193 VecF32: Vertices
VecF32: Normals
VecF32: Colours
VecF32: Texture Coords
194 10 Data Compression and Encoding
10.1 Common Compression Data Collection Formats
10.1.1 Int32 Compressed Data Packet
195 Figure 147 — Int32 Compressed Data Packet data collection
U8 : CODEC Type
196 Table 77 — Common Compression CODEC Type values
I32 : Out-Of-Band Value Count
I32 : CodeText Length
I32 : Value Element Count
I32 : Symbol Count
VecU32 : CodeText
Int32 Probability Contexts
197 Figure 148 — Int32 Probability Contexts data collection
U8 : Probability Context Table Count
U32{32} : Probability Context Table Entry Count
U32{6} : Number Symbol Bits
198 U32{6} : Number Occurrence Count Bits
U32{6} : Number Value Bits
U32{6} : Number Next Context Bits
U32{32} : Min Value
U32{variable}: Alignment Bits
Int32 Probability Context Table Entry
Figure 149 — Int32 Probability Context Table Entry data collection
U32{Number Symbol Bits} : Symbol
199 U32{Number Occurrence Count Bits} : Occurrence Count
U32{Number Value Bits} : Associated Value
U32{Number Next Context Bits} : Next Context
10.1.2 Int32 Compressed Data Packet Mk. 2
201 Figure 150 — Int32 Compressed Data Packet Mk. 2 data collection
I32 : Value Count
U8 : CODEC Type
202 Table 78 — Int32 Probability Contexts CODEC Type values
I32 : CodeText Length
VecU32 : CodeText
U8 : Chop Bits
I32 : Value Bias
U8 : Value Span Bits
Int32 Compressed Data Packet Mk. 2 : Chopped MSB Data
Int32 Compressed Data Packet Mk. 2 : Chopped LSB Data
OrigValue[i] = (LSBValue[i] | (MSBValue[i] << (ValSpanBits – ChopBits))) + ValueBias;
Int32 Compressed Data Packet Mk. 2 : OOB Data Values
Int32 Probability Contexts Mk. 2
203 Figure 151 — Int32 Probability Contexts Mk. 2 data collection
U32{16} : Probability Context Table Entry Count
U32{6} : Number Symbol Bits
U32{6} : Number Occurrence Count Bits
U32{6} : Number Value Bits
204 U32{32} : Min Value
U32{variable}: Alignment Bits
Int32 Probability Context Table Entry Mk. 2
Figure 152 — Int32 Probability Context Table Entry Mk. 2 data collection
U32{Number Symbol Bits} : Symbol
U32{Number Occurrence Count Bits} : Occurrence Count
205 U32{Number Value Bits} : Associated Value
10.1.3 Float64 Compressed Data Packet
206 Figure 153 — Float64 Compressed Data Packet data collection
U8 : CODEC Type
Table 79 — Float64 Compressed Data Packet CODEC Type values
207 F64 : Value Range Min
F64 : Value Range Max
I32 : Out-Of-Band Value Count
VecF64 : Out-Of-Band Values
I32 : CodeText Length
I32 : Value Element Count
I32 : Symbol Count
VecU32 : CodeText
Float64 Probability Contexts
208 Figure 154 — Float64 Probability Contexts data collection
I32 : Probability Context Table Count
I32 : Probability Context Table Entry Count
Float64 Probability Context Table Entry
Figure 155 — Float64 Probability Context Table Entry data collection
I32 : Symbol
I32 : Occurrence Count
209 F64 : Associated Value
I32 : Empty Field
10.1.4 Compressed Vertex Coordinate Array
Figure 156 — Compressed Vertex Coordinate Array data collection
I32 : Unique Vertex Count
210 U8 : Number Components
VecU32{Int32CDP2, Lag1} : Vertex Coord Exponents
VecU32{Int32CDP2, Lag1} : Vertex Coord Mantissae
VecU32{Int32CDP2, Lag1} : Vertex Coord Codes
I32 : Vertex Coordinate Hash
10.1.5 Compressed Vertex Normal Array
211 Figure 157 — Compressed Vertex Normal Array data collection
I32 : Normal Count
U8 : Number Components
U8 : Quantization Bits
VecU32{Int32CDP2} : Vertex Normal Exponents
212 VecU32{Int32CDP2} : Vertex Normal Mantissae
VecU32{Int32CDP2} : Sextant Codes
VecU32{Int32CDP2} : Octant Codes
VecU32{Int32CDP2} : Theta Codes
VecU32{Int32CDP2} : Psi Codes
U32 : Vertex Normal Hash
10.1.6 Compressed Vertex Texture Coordinate Array
213 Figure 158 — Compressed Vertex Texture Coordinate Array data collection
I32 : Texture Coord Count
U8 : Number Components
U8 : Quantization Bits
214 VecU32{Int32CDP2} : Vertex Texture Coord Exponents
VecU32{Int32CDP2} : Vertex Texture Coord Mantissae
VecU32{Int32CDP2, Lag1} : Texture Coord Codes
U32 : Vertex Texture Coord Hash
10.1.7 Compressed Vertex Colour Array
215 Figure 159 — Compressed Vertex Colour Array data collection
I32 : Colour Count
U8 : Number Components
U8 : Quantization Bits
216 VecU32{Int32CDP2} : Vertex Colour Exponents
VecU32{Int32CDP2} : Vertex Colour Mantissae
VecU32{Int32CDP2, Lag1} : Hue/Red Codes
VecU32{Int32CDP2, Lag1} : Sat/Green Codes
VecU32{Int32CDP2, Lag1} : Value/Blue Codes
VecU32{Int32CDP2, Lag1} : Alpha Codes
U32 : Vertex Colour Hash
10.1.8 Compressed Vertex Flag Array
217 Figure 160 — Compressed Vertex Flag Array data collection
I32 : Vertex Flag Count
VecU32{Int32CDP2} : Vertex Flags
10.1.9 Point Quantizer Data
Figure 161 — Point Quantizer Data collection
10.1.10 Texture Quantizer Data
218 Figure 162 — Texture Quantizer Data collection
10.1.11 Colour Quantizer Data
Table 80 — Colour Quantizer values
219 Figure 163 — Colour Quantizer Data collection
U8 : HSV Flag
HSV Flag is a flag indicating whether colour component data is stored in HSV colour model form.
Table 81 — Colour Quantizer HSV Flag values
U8 : Number of Hue Bits
U8 : Number of Saturation Bits
U8 : Number of Value Bits
220 U8 : Number of Alpha Bits
10.1.12 Uniform Quantizer Data
Figure 164 — Uniform Quantizer Data collection
F32 : Min
F32 : Max
U8 : Number Of Bits
10.1.13 Compressed Entity List for Non-Trivial Knot Vector
JT B-Rep NURBS Surfaces;
JT B-Rep PCS NURBS Curves;
JT B-Rep MCS NURBS Curves;
Wireframe MCS NURBS Curves.
221  number of knots is an even number;
 number of knots is an even number;
 Knot vector has a [0:1] knot range;
 NurbsEntityDegree < 3;
 difference between successive non-repeating knots (i.e. KnotDelta) is:
 KnotDelta = 2.0 / (NumberKnots – (2.0 * NurbsEntityDegree)).
222 Figure 165 — Compressed Entity List for Non-Trivial Knot Vector data collection
VecI32 : Entities of Knot Type Exist Flags
Table 82 — Knot Type Exist Flag values
223 X X Y Y
X X Y Y Z Z
X X Y Z Z
X X Y Z W W
224 VecI32{Int32CDP, Stride1} : Entity Index Codes
10.1.14 Compressed Control Point Weights Data
Figure 166 — Compressed Control Point Weights Data collection
I32 : Weights Count
VecI32{Int32CDP, Stride1} : Weight Indices
VecF64{Float64CDP, NULL} : Weight Values
225 10.1.15 Compressed Curve Data
Figure 167 — Compressed Curve Data collection
VecI32{Int32CDP, Lag1} : Curve Base Types
226 Table 83 — Compressed Curve Base Type values
VecI32{Int32CDP, Lag1} : NURBS Curve Degrees
VecI32{Int32CDP, Lag1} : NURBS Curve Control Point Counts
VecI32{Int32CDP, Lag1} : NURBS Curve Control Point Dimensionality
Table 84 — NURB UV Curve entity dimensionality values
Table 85 — NURB XYZ Curve entity dimensionality values
VecI32{Int32CDP, Lag1} : NURBS Curve Empty Fields
VecF64{Float64CDP, NULL} : NURBS Curve Knot Vectors
227 Non-Trivial Knot Vector NURBS Curve Indices
Figure 168 — Non-Trivial Knot Vector NURBS Curve Indices data collection
NURBS Curve Control Point Weights
Figure 169 — NURBS Curve Control Point Weights data collection
NURBS Curve Control Points
Figure 170 — NURBS Curve Control Points data collection
VecF64{Float64CDP, NULL} : Control Points
228 10.1.16 Compressed CAD Tag Data
229 Figure 171 — Compressed CAD Tag Data collection
I16:Version Number
I32 : Data Length
I32 : Version Number
230 I32 : CAD Tag Count
CAD Tag Count specifies the number of CAD Tags.
VecI32{Int32CDP2, Lag1} : CAD Tag Types
Table 86 — Compressed CAD Tag Type values
VecI32{Int32CDP2, Lag1} : CAD Tags Type-1
Compressed CAD Tag Type-2 Data
Figure 172 — Compressed CAD Tag Type-2 Data collection
VecI32{Int32CDP2, Lag1} : First I32 of Type-2 CAD Tags
VecI32{Int32CDP2, Lag1} : Second I32 of Type-2 CAD Tags
231 10.2 Encoding Algorithms
10.2.1 Uniform Data Quantization
10.2.2 Bitlength CODEC
232 Example 1: Prefix code to maintain same (current) field width.
Example 2: Prefix code to increment field width four times (8 bits).
Example 3: Prefix code to decrement field width two times.
10.2.3 Arithmetic CODEC
233 Example
234 Table 87 — Example assigned probability values
Table 88 — Example “probability line” values
Table 89 — Example input integer sequence values
235 Table 90 — Example integer number sequence values
237 10.2.4 Deering Normal CODEC
238 Figure 173 — Sextant Coding on the Sphere
239 10.3 zlib compression
240 11 Common Data Conventions and Constructs
11.1 Late-Loading Data
11.2 TOC Segment Location
11.3 Bit Fields
11.4 Empty Field
11.5 Local version numbers
241 11.5.1 Version numbers
242 10.1.16 Compressed CAD Tag Data – I16:Version Number;
243 11.6 Hash Value
11.7 Scene graph construction
244 11.8 Metadata Conventions
11.8.1 CAD Properties
Table 91 — CAD Property Conventions
247 11.8.1.1 Required Properties
11.8.1.2 Optional Properties
248 Table 92 — CAD Optional Property Units
11.8.1.3 Hidden Properties
11.8.2 PMI Properties
249 Table 93 — PMI Properties
344 11.8.3 Tessellation Properties
Table 94 —Tessellation Property values
345 11.8.4 Miscellaneous Properties
Table 95 — Miscellaneous Property values
346 11.9 LSG Attribute Accumulation Semantics
347 11.10 LSG Part Structure
Figure 174 — ISO 14306 format Convention for Modelling each Part in LSG
11.11 Range LOD Node Alternative Rep Selection
11.12 Brep Face Group Associations
348 FG0 ( R0 S0 F0
FG1 ( R0 S0 F1
FG0 ( B0 F0
FG1 ( B0 F1
11.13 Handling of different states / variants in a JT file
349 11.13.1 Reference Sets
11.14 Watermarks
11.14.1 Background
350 11.14.2 Issue – Missing specification in the ISO
11.14.3 Recommended Solution
352 11.14.4 Issue – Protection of data
353 12 Conformance requirements
354 Annex A (informative) Object Type Identifiers
Table 97 — Object Type Identifiers
358 Annex B (normative) STEP B-Rep
B.1 STEP B-Rep Element
B.1.1 STEP B-Rep Data
359 B.1.2 STEP schema
B.1.3 STEP format
B.1.4 STEP external element reference in ISO 10303-21
Anchor section structure
360 Reference section structure
361 Annex C (normative) STEP schema
434 Annex D (informative) Coding Algorithms – An Implementation
D.1 Common classes
D.1.1 CntxEntry class
D.1.2 CntxEntryBase2 class
435 D.1.3 ProbabilityContext class
436 D.1.4 ProbContex2 class
439 D.1.5 CodecDriver class
440 Int32 iPredicted;
442 D.1.6 CodecDriver2 class
446 D.2 Bitlength decoding classes
D.2.1 BitLengthCodec class
450 D.2.2 BitLengthCodec2 class
458 D.3 Arithmetic decoding classes
D.3.1 ArithmeticProbabilityRange class
D.3.2 ArithmeticCodec class
462 D.3.3 ArithmeticCodec2 class
466 D.4 Deering Normal decoding classes
D.4.1 DeeringNormalLookupTable class
467 UInt32 numBitsPerAngle() {return nBits;}
Int32 tableSize = (1 << nBits);
Float32 fTheta =
Int32 offset = nBits – numberBits;
468 D.4.2 DeeringNormalCodec class
469 Float32 fCosTheta, fSinTheta, fCosPsi, fSinPsi;
DeeringNormalLookupTable LookupTable;
Float32 fTheta = asin(tan(fPsiMax * Float32(iBitRange – iTheta) /
470 UInt32 mask = (1<<numBits)-1;
471 Annex E (informative) Hashing – An Implementation
474 Annex F (informative) Polygon Mesh Topology Coder
475 F.1 DualVFMesh
478 Int32
UInt16
479 UInt16
Int32
481 F.2 Topology Decoder
F.2.1 MeshCoderDriver class
482 Int32
484 F.2.2 MeshCodec class
490 F.2.3 MeshDecoder class
493 Annex G (informative) XT B- Rep segment
G.1 XT B-Rep Element
Figure 180 — XT B-Rep Element data collection
I32 : XT Major Version Number
494 I32 : Version Number
I32 : XT Major Version Number
I32 : XT Minor Version Number
I32 : XT Build Number
I32 : XT B-Rep Data Length
G.1.1 XT B-Rep Data
G.2 Procedural Geometry
G.2.1 Background
G.2.2 Issue
496 G.2.3 Recommended Solution
G.3 Non-Manifold Bodies
G.3.1 Background
497 G.3.2 Issue
G.3.3 Recommended Solution
498 Annex H (informative) XT B- Rep data segment
H.1 Introduction to the XT B- Rep data segment
H.2 Logical Layout
SCH_1200123_12006
This example above denotes XT data written by the Parasolid Kernel V12.0.123 using schema number 12006.
SCH_1200000_12
499 Table 98 — Object Nodes
H.2.1 Schema
H.2.2 Embedded schemas
H.2.2.1 Physical layout
H.2.2.2 XT format
500 Table 99 — Field types in order one by one
H.2.3 Field types
501 H.2.4 Variable-length nodes
H.2.5 Unresolved indices
H.3 Physical Layout
H.3.1 Binary
502 H.3.1.1 Neutral Binary
H.4 Model Structure
H.4.1 Topology
503 H.4.2 General points
H.4.3 Entity definitions
H.4.3.1 Assembly
H.4.3.2 Instance
H.4.3.3 Body
504 H.4.3.4 Region
H.4.3.5 Shell
H.4.3.6 Face
505 H.4.3.7 Loop
H.4.3.8 Fin
506 H.4.3.9 Edge
H.4.3.10 Vertex
H.4.3.11 Attributes
507 H.4.3.12 Groups
H.4.3.13 Node-ids
H.4.4 Entity matrix
Table 100 — Entity Matrix relations
H.4.5 Representation of manifold bodies
H.4.5.1 Body types
508 Restrictions on entity relationships for manifold body types
509 H.5 Schema Definition
H.5.1 Underlying types
H.5.2 Geometry
510 H.5.2.1 Curves
Table 101 — Curve node common fields
511 H.5.2.1.1 Line
Table 102 — Line Fields
H.5.2.1.2 CIRCLE
512 Table 103 — Circle fields
H.5.2.1.3 ELLIPSE
513 Table 104 — Ellipse fields
H.5.2.1.4 B_CURVE (B-spline curve)
514 Knot Vectors
The Number of Knots and Vertices
The Valid Range of the B-curve
515 Periodic B-curves
Closed B-curves
Rational B-curve
516 Table 105 — NURB curve fields
518 H.5.2.1.5 INTERSECTION
519 Table 106 — Curve intersection fields
522 H.5.2.1.6 TRIMMED_CURVE
Table 107 — Trimmed curve fields
523 H.5.2.1.7 SP_CURVE
Table 108 — SP curve fields
524 H.5.2.2 Surfaces
Table 109 — Surface node fields
H.5.2.2.1 PLANE
Table 110 — Plane fields
525 H.5.2.2.2 CYLINDER
Table 111 — Cylinder fields
526 H.5.2.2.3 CONE
Table 112 — Cone fields
527 H.5.2.2.4 SPHERE
Table 113 — Sphere fields
528 H.5.2.2.5 TORUS
Table 114 — Torus fields
529 H.5.2.2.6 BLENDED_EDGE (Rolling Ball Blend)
Table 115 — Blended edge fields
530 H.5.2.2.7 BLEND_BOUND (Blend boundary surface)
531 Table 116 — Blend boundary surface fields
H.5.2.2.8 OFFSET_SURF
Table 117 — Offset surface fields
532 H.5.2.2.9 B_SURFACE
B-surface definition
Table 118 — B-Surface fields
533 Table 119 — NURB Surface fields
536 H.5.2.2.10 SWEPT_SURF
537 Table 120 — Swept surface fields
H.5.2.2.11 SPUN_SURF
538 Table 121 — Spun surface fields
539 H.5.2.3 Point
Table 122 — Point fields
H.5.2.4 Transform
Table 123 — Transform fields
The transform acts as
540 Table 124 — Transform action fields
H.5.2.5 Curve and Surface Senses
541 H.5.2.6 Geometric_owner
Table 125 — Geometry owner fields
H.5.3 Topology
H.5.3.1 WORLD
Table 126 — World topology fields
542 H.5.3.2 ASSEMBLY
Table 127 — Assembly fields
544 H.5.3.3 INSTANCE
Table 128 — Instance fields
545 H.5.3.4 BODY
Table 129 — Body fields
548 Table 130 — Geometry to Topology attachment
H.5.3.5 REGION
Table 131 — Region fields
549 SHELL
Table 132 — Shell fields
H.5.3.6 FACE
Table 133 — Face fields
550 H.5.3.7 LOOP
Table 134 — Loop fields
551 H.5.3.8 FIN
Table 135 — Fin fields
Dummy fins
552 H.5.3.9 VERTEX
Table 136 — Vertex fields
H.5.3.10 EDGE
Table 137 — Edge fields
554 H.5.4 Associated Data
H.5.4.1 LIST
Table 138 — Associated List
555 H.5.4.2 POINTER_LIS_BLOCK:
Table 139 — Pointer List Block
H.5.4.3 ATT_DEF_ID
Table 140 — Attribute Definition ID
556 H.5.4.4 FIELD_NAMES
Table 141 — Field Names
H.5.4.5 ATTRIB_DEF
Table 142 — Attribute definition
557 Table 143 — Attribute definition action fields
Table 144 — Corresponding attribute classes
559 H.5.4.6 ATTRIBUTE
Table 145 — Attribute fields
561 H.5.4.7 INT_VALUES
Table 146 — Integer values
H.5.4.8 REAL_VALUES
Table 147 — Real values
H.5.4.9 CHAR_VALUES
Table 148 — Character values
H.5.4.10 UNICODE_VALUES
Table 149 — Unicode values
562 H.5.4.11 POINT_VALUES
Table 150 — Point values
H.5.4.12 VECTOR_VALUES
Table 151 — Vector values
H.5.4.13 DIRECTION_VALUES
Table 152 — Direction values
H.5.4.14 AXIS_VALUES
Table 153 — Axis values
563 H.5.4.15 TAG_VALUES
Table 154 — Tag values
H.5.4.16 GROUP
Table 155 — Group fields
564 H.5.4.17 MEMBER_OF_GROUP
Table 156 — Group member fields
565 H.6 Node Types
Table 157 — Node types
567 H.7 Node Classes
Table 158 — Node classes
H.8 System Attribute Definitions
H.8.1 Hatching Attributes
H.8.1.1 Hatching
Table 159 — Hatching
568 H.8.1.2 Planar Hatch
Table 160 — Planar Hatch
H.8.1.3 Radial Hatch
Table 161 — Radial Hatch
H.8.1.4 Parametric Hatch
Table 162 — Parametric Hatch
569 H.8.2 Density Attributes
H.8.2.1 Density (of a body)
Table 163 — Body Density
H.8.2.2 Region Density
Table 164 — Region Density
570 H.8.2.3 Face Density
Table 165 — Face Density
H.8.2.4 Edge Density
Table 166 — Edge Density
H.8.2.5 Vertex Density
Table 167 — Vertex Density
571 H.8.3 Region
Table 168 — Region
H.8.4 Colour
Table 169 — Colour
H.8.5 Reflectivity
Table 170 — Reflectivity
572 H.8.6 Translucency
Table 171 — Translucency
H.8.7 Name
Table 172 — Name
H.8.8 Incremental faceting
Table 173 — Incremental faceting
H.8.9 Transparency
Table 174 — Transparency
573 H.8.10 Non-mergeable edges
Table 175 — Non-mergable edges
H.8.11 Group merge behaviour
Table 176 — Group merge behaviour
H.8.12 Unicode name
H.8.13 Monikers
H.8.13.1 Moniker ID
H.8.13.1.1 Background
574 H.8.13.1.2 Issue
578 H.8.13.1.3 Recommended Solution
579 Annex I (informative) PMI Data Segment
580 Annex J (informative) Mapping table from ISO 10303-42 to XT B-Rep
J.1 Wireframe Geometry
J.2 Surfaces without topology
581 J.3 Shapes represented by wireframe models with topology
J.4 Manifold Surfaces with Topology
583 J.5 Advanced boundary representation solids
584 J.5.1 Color
585 J.5.2 Name
J.5.3 Wireframe style
586 J.5.4 Visibility
587 Annex K (informative) JT B-rep Segment
Figure 184 —JT B-Rep Segment data collection
K.1 JT B-Rep Element
588 Figure 185 — JT B-Rep Segment data collection
589 I16 : Version Number
U32 : Empty Field
CoordF64 : Empty Field
F64 : Empty Field
U32 : CAD Tags Flag
K.1.1 Topological Entity Counts
Figure 186 — Topological Entity Counts data collection
I32 : Region Count
590 I32 : Shell Count
Shell Count indicates the number of topological shell entities in the B-Rep.
I32 : Face Count
Face Count indicates the number of topological face entities in the B-Rep.
I32 : Loop Count
Loop Count indicates the number of topological loop entities in the B-Rep.
I32 : CoEdge Count
CoEdge Count indicates the number of topological coedge entities in the B-Rep.
I32 : Edge Count
Edge Count indicates the number of topological edge entities in the B-Rep.
I32 : Vertex Count
Vertex Count indicates the number of topological vertex entities in the B-Rep.
K.1.2 Geometric Entity Counts
Figure 187 — Geometric Entity Counts data collection
I32 : Surface Count
Surface Count indicates the number of distinct geometric surface entities in the B-Rep.
I32 : PCS Curve Count
I32 : MCS Curve Count
591 I32 : Point Count
K.1.3 Topology Data
Figure 188 — Topology Data collection
592 K.1.3.1 Regions Topology Data
Figure 189 — Regions Topology Data collection
VecI32{Int32CDP, Lag1} : First Shell Indices
VecI32{Int32CDP, Lag1} : Last Shell Indices
VecI32{Int32CDP, Lag1} : Region Tags
K.1.3.2 Shells Topology Data
593 Figure 190 — Shells Topology Data collection
VecI32{Int32CDP, Lag1} : First Face Indices
VecI32{Int32CDP, Lag1} : Last Face Indices
VecI32{Int32CDP, Lag1} : Shell Tags
VecI32{Int32CDP, Xor1} : Shell Anti-Hole Flags
Table 181 — JT B-Rep Shell Topology Anti-Hole Flag values
K.1.3.3 Faces Topology Data
594 Figure 191 — Trim Loop example in parameter Space – One Face with 2 Holes
595 Figure 192 — Faces Topology Data collection
VecI32{Int32CDP, Lag1} : First Trim Loop Indices
VecI32{Int32CDP, Lag1} : Last Trim Loop Indices
VecI32{Int32CDP, Lag1} : Surface Indices
VecI32{Int32CDP, Lag1} : Face Tags
VecI32{Int32CDP, Xor1} : Face Reverse Normal Flags
596 K.1.3.4 Loops Topology Data
Figure 193 — Loops Topology Data collection
VecI32{Int32CDP, Lag1} : First CoEdge Indices
VecI32{Int32CDP, Lag1} : Last CoEdge Indices
VecI32{I32CDP, Lag1} : Loop Tags
597 VecI32{I32CDP, Xor1} : Anti-Hole Flags
Table 183 — JT B-Rep Loops Topology Data Anti-Hole Flag values
K.1.3.5 CoEdges Topology Data
Figure 194 — CoEdges Topology Data collection
VecI32{Int32CDP, Lag1} : Edge Indices
VecI32{Int32CDP, Lag1} : PCS Curve Indices
598 VecI32{Int32CDP, Lag1} : CoEdge Tags
VecI32{Int32CDP, Xor1} : MCS Curve Reversed Flags
Table 184 — JT B-Rep MCS Curve Reversed Flag values
K.1.3.6 Edges Topology Data
Figure 195 — Edges Topology Data collection
VecI32{Int32CDP, Lag1} : Start Vertex Indices
VecI32{Int32CDP, Lag1} : End Vertex Indices
599 VecI32{Int32CDP, Lag1} : MCS Curve Indices
VecI32{Int32CDP, Lag1} : Edge Tags
K.1.3.7 Vertices Topology Data
Figure 196 — Vertices Topology Data collection
VecI32{Int32CDP, Lag1} : Point Indices
VecI32{Int32CDP, Lag1} : Vertex Tags
600 K.1.4 Geometric Data
Figure 197 — Geometric Data collection
K.1.4.1 Surfaces Geometric Data
601 Figure 198 — Surfaces Geometric Data collection
VecI32{Int32CDP, Lag1} : Surface Base Types
602 Table 185 — JT B-Rep Surface Base Type value
VecI32{Int32CDP, Lag1} : NURBS Surface Control Point Dimensionality
Table 186 — JT B-Rep NURBS Surface Control Point Dimensionality values
VecI32{Int32CDP, Lag1} : NURBS Surface Empty Fields
K.1.4.1.1 Non-Trivial Knot Vector NURBS Surface Indices
Figure 199 — Non-Trivial Knot Vector NURBS Surface Indices data collection
603 K.1.4.1.2 NURBS Surface Degree
Figure 200 — NURBS Surface Degree data collection
VecI32{Int32CDP, Lag1} : U-Degrees
VecI32{Int32CDP, Lag1} : V-Degrees
K.1.4.1.3 NURBS Surface Control Point Counts
VecI32{Int32CDP, Lag1} : U-Control Point Counts
VecI32{Int32CDP, Lag1} : V-Control Point Counts
604 K.1.4.1.4 NURBS Surface Control Point Weights
Figure 202 — NURBS Surface Control Point Weights data collection
K.1.4.1.5 NURBS Surface Control Points
Figure 203 — NURBS Surface Control Points data collection
VecF64{Float64CDP, NULL} : Control Points
K.1.4.1.6 NURBS Surface Knot Vectors
605 Figure 204 — NURBS Surface Knot Vectors data collection
VecF64{Float64CDP, NULL} : U Knot Vectors
VecF64{Float64CDP, NULL} : V Knot Vectors
K.1.4.2 PCS Curves Geometric Data
Figure 205 — NURBS Surface Knot Vectors collection
K.1.4.2.1 Trivial PCS Curves
606 Figure 206 — Trivial PCS Curves data collection
I32 : Trivial Domain Loops Exist Flag
607 Table 188 — Trivial Box Loops Exist Flag values
Figure 207 — Equality of corresponding curve end coordinates of opposite sides of the box
I32 : Trivial Domain UV Curves Exist Flag
608 Table 189 — Trivial Domain UV Curves Exist Flag values
VecI32{Int32CDP, Lag1} : Trivial Box Loop UV Curve Indices
VecF64{Float64CDP, NULL} : Trivial Box Loop Corner Coords
VecI32{Int32CDP, Lag1} : Trivial UV Curve Indices
VecI32{Int32CDP, Lag1} : Trivial UV Curve Para Domain Side Codes
Table 190 — Trivial UV Curve Para Domain Side Codes values
609 K.1.4.2.2 MCS Curves Geometric Data
Figure 208 — MCS Curves Geometric Data collection
K.1.4.2.3 Point Geometric Data
Figure 209 — Point Geometric Data collection
CoordF32 : Point Coordinates
K.1.5 Topological Entity Tag Counters
610 Figure 210 — Topological Entity Tag Counters data collection
I32 : Region Tag Counter
I32 : Shell Tag Counter
I32 : Face Tag Counter
I32 : Loop Tag Counter
I32 : CoEdge Tag Counter
I32 : Edge Tag Counter
I32 : Vertex Tag Counter
611 K.1.6 B-Rep CAD Tag Data
Figure 211 — B-Rep CAD Tag Data collection
612 Annex L (informative) Wireframe Segment
Figure 212 — wireframe segment data collection
L.1 Wireframe Rep Element
613 Figure 213 — Wireframe Rep Element data collection
I16 : Version Number
I32 : Edge Count
Edge Count indicates the number of topological Edge entities in the Wireframe Rep.
614 I32 : MCS Curve Count
VecI32{Int32CDP2, Lag1} : MCS Curve Indices
VecI32{Int32CDP2, Lag1} : Edge Tags
I32 : Edge Tag Counter
U32: CAD Tags Flag
L.1.1 Wireframe MCS Curves Geometric Data
Figure 214 — Wireframe MCS Curves Geometric Data collection
L.1.2 Wireframe Rep CAD Tag Data
615 Figure 215 — Wireframe Rep CAD Tag Data collection
616 Annex M (informative) JT ULP Segment
M.1 JT ULP Element
617 Figure 217 — JT ULP Element data collection
I16:Version Number
I32:Material Attribute Element Count
Complete description for Material Attribute Element can be found in 6.1.2.2 Material Attribute Element.
618 M.1.1 Topology Data
Figure 218 — Topology Data collection
Topological Entity Counts
619 Figure 219 — Topological Entity Counts data collection
I32 : Region Count
I32 : Shell Count
I32 : Face Count
I32 : Loop Count
I32 : CoEdge Count
I32 : Edge Count
I32 : Vertex Count
Combined Predictor Type
620 Figure 220 — Combined Predictor Type data collection
VecI32{Int32CDP2, ePredictorType}: BasicArray
U8: ProcessingType
VecI32{Int32CDP2, ePredictorType}: MapArray
Element Mapping
VecI32{Int32CDP2, ePredictorType}: MultiplicityArray
621 Multiplicity Expansion
Regions Topology Data
Figure 221 — Regions Topology Data collection
VecI32{Int32CDP2, Combined:NULL}: Shell Index Difference
Recover First and Last Shell Indices
Shells Topology Data
622 Figure 222 — Shells Topology Data collection
VecI32{Int32CDP2, Combined:NULL}: Face Index Difference
Recover First and Last Face Indices
VecI32{Int32CDP2, NULL}: Shell Anti-Hole Flags
Table 191 — JT ULP Shell Anti-Hole Flag values
Faces Topology Data
623 Figure 223 —Faces Topology Data collection
U8: Face Array Flag
VecI32{Int32CDP2, Combined:NULL}: Index Difference Array
624 Recover First and Last Loop Indices
Recover Surface Indices
Recover Material Indices
VecI32{Int32CDP2, Combined:NULL}: Flag Bit Array
Table 192 — JT ULP Flag Bit Array Look Index values
Supported Surface Type
625 Table 193 — JT ULP Supported Surface Type values
Supported Knot Type
Table 194 — JT ULP Supported Knot Type Values
Table 195 — JT ULP Face Reverse Normal Flag values
Loops Topology Data
626 Figure 224 —Loops Topology Data collection
U8: Loop Array Flag
VecI32{Int32CDP2, Combined:NULL}: CoEdge Index Difference
Recover First and Last CoEdge Indices
VecI32{Int32CDP2, Combined:NULL}: Flag Bit Array
Table 196 — JT ULP Loops Topology Flag Bit Array values
627 Table 197 — JT ULP Loops Topology Reverse Normal Flag values
CoEdges Topology Data
628 Figure 225 — CoEdges Topology Data collection
U8: CoEdge Array Flag
VecI32{Int32CDP2, Combined:NULL}: Edge Index Difference
Recover Edge Indices
629 VecI32{Int32CDP2, Combined:NULL}: PCS Curve Index Difference
Recover PCS Curve Indices
VecI32{Int32CDP2, Combined:NULL}: Flag Bit Array
Table 198 — JT ULP Recover Edge Indices Flag Bit Array values
630 Domain Type
Figure 226 — Surface Domain Classification
Table 199 — JT ULP Recover Edge Indices PCS curve type values
Table 200 — JT ULP PCS Curve Type values
631 Table 201 — JT ULP PCS Curve Type XYZ Reversed Flag values
Table 202 — JT ULP PCS Curve Type isUVInc Flag values
Recover Flag Bits
Edges Topology Data
632 Figure 227 — Edges Topology Data collection
U8: Edge Array Flag
VecI32{Int32CDP2, Combined:NULL}: Vertex Index Array
633 Recover Vertex Indices
VecI32{Int32CDP2, Combined:NULL}: MCS Curve Index Difference
Recover MCS Curve Indices
VecI32{Int32CDP2, Combined:NULL}: Flag Bit Array
Table 203 — JT ULP Edges Topology Recover MCS Curve Indices Flag Bit Array values
MCS Curve Type
Table 204 — JT ULP Edges Topology Recover MCS Curve Type values
Vertices Topology Data
634 Figure 228 — Vertices Topology Data collection
U8: Vertex Array Flag
VecI32{Int32CDP2, Combined:NULL}: Point Index Difference
Recover Point Indices
635 M.1.2 Geometric Data
Figure 229 — Geometric Data collection
CoordF64 : Translation Vector
636 U32: Geometric Tabe Flag
Geometric Entity Counts
I32 : Surface Count
Surface Count indicates the number of distinct geometric surface entities in the ULP.
I32 : MCS Curve Count
I32 : PCS Curve Count
I32 : Point Count
Degree Table
637 Figure 231 — Degree Table data collection
VecI32{Int32CDP2, Combined:NULL}: Degree Array
Recover Nurbs Degree
638 Figure 232 — Recover Nurbs Degree
Number of Control Points Table
639 Figure 233 — Number of Control Points Table data collection
VecI32{Int32CDP2, Combined:NULL}: Number of Control Points Array
Recover Number of Control Points
640 Figure 234 — Recover Number of Control Points
Dimension Table
641 Figure 235 — Dimension Table data collection
VecI32{Int32CDP2, Combined:NULL}: Dimension Array
Recover Dimension
643 Figure 237 —3D Unit Vector Table data collection
645 Figure 239 —2D Unit Vector Table data collection
Figure 240 —Recover 2D Unit Vector
3D MCS Point Table
646 Figure 241 — 3D MCS Point Table data collection
VecI32{Int32CDP2, Combined: Lag1}: X-Point Coord Codes
VecI32{Int32CDP2, Combined: Lag1}: Y-Point Coord Codes
VecI32{Int32CDP2, Combined: Lag1}: Z-Point Coord Codes
Recover 3D MCS Points
647 Figure 242 — Recover 3D MCS Points
Knot Vector Table
648 Figure 243 — Knot Vector Table data collection
VecI32{Int32CDP2, Combined:NULL}: Knot Vector Codes
Recover Knot Vectors
650 1D MCS Table
651 Figure 245 — 1D MCS Table data collection
VecI32{Int32CDP2, Combined:Lag1}: 1D MCS Codes
Recover 1D MCS Table
Table 205 — Parameter Domain
652 Figure 246 — Recover 1D MCS Table
PCS Value Table
653 Figure 247 — PCS Value Table data collection
VecI32{Int32CDP2, Combined:NULL}: PCS Value Codes
Recover PCS Value Table
654 Figure 248 — Recover PCS Value Table
Figure 249 — Radian Table data collection
Radian Table
655 VecI32{Int32CDP2, Combined:NULL}: Radian Codes
Recover Radian Table
Figure 250 — Recover Radian Table
656 Figure 251 — Weight Table data collection
Weight Table
VecI32{Int32CDP2, Combined:NULL}:Weight Codes
Recover Weight Table
657 Figure 252 — Recover Weight Table
M.1.3 Material Attribute Element Properties
658 Figure 253 — Material Attribute Element Properties
I32 : Property Count
Property Entry
M.1.4 Information Recovery
659 Figure 254 — Material Attribute Element Properties
PCS Curve Recovery from Surface Domain
660 Figure 255 — PCS Curve Recovery from Surface Domain
MCS Curve Recovery
661 Figure 256 — MCS Curve Recovery
662 Figure 257 — MCS Curve Recovery from Surface Geometry
PCS Curve Recovery from MCS Curve and Surface Geometry
663 Figure 258 — PCS Curve Recovery from MCS Curve and Surface Geometry
M.1.5 Non-Manifold Bodies
M.2 JT LWPA Segment
Figure 259 — JT LWPA Segment data collection
664 M.2.1 JT LWPA Element
Figure 260 — JT LWPA Element data collection
I16:Version Number
I32 : Surface Count
I32 : Analytic Surface Count
M.2.2 Analytic Surface Geometry
665 Figure 261 — Analytic Surface Geometry data collection
VecI32{Int32CDP2, Lag1}: Analytic Surface Indices
VecI32{Int32CDP2, NULL}: Analytic Surface Type
VecF64: Coordinate Array
VecF64: Axis Array
VecF64: Radius Array
666 VecF64: Radian Array
Analytic Surface Creation
Figure 262 — Analytic Surface Creation
667 Annex N (informative) Change History
N.1 General
N.2 Changes made in edition 2
N.2.1 Summary of the changes
N.2.2 Additions made to the document
N.2.3 Addition of a new STEP B-rep segment definition
668 N.2.4 Updates of the documentation from the Prostep industrialization quidelines
N.2.5 Addition of a conformance clause.
N.2.6 Addition of a mapping table JT ISO to STEP.
N.2.7 Content modified from edition 1
N.2.8 Elements deprecated from edition 1
669 Bibliography
BS ISO 14306:2017
$215.11