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