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

ISO 14306:2017 defines the syntax and semantics of a file format for the 3D visualization and interrogation of lightweight geometry and product manufacturing information derived from CAD systems, using visualization software tools that do not need the full capability of a CAD system. ISO 14306:2017 has been adopted as a 3D visualization capability in addition to the ISO 10303 series. The file format supports the following information: · facet information (triangles), stored with geometry compression techniques · visual attributes such as lights, textures and materials · product manufacturing information, such as dimensions, tolerances and other attributes · boundary representation (b-rep) solid model shape representations. Several alternatives are available, including a representation based on the geometry standard defined in ISO 10303 · configuration representations · delivery methods such as asynchronous streaming of content ISO 14306:2017 does not specify the implementation of, or definition of a run-time architecture for viewing or processing of the file format.

Systèmes d'automatisation industrielle et intégration — Spécification de format de fichier JT pour visualisation 3D

General Information

Status
Published
Publication Date
07-Dec-2017
Current Stage
9092 - International Standard to be revised
Start Date
07-Nov-2024
Completion Date
13-Dec-2025
Ref Project

Relations

Standard
ISO 14306:2017 - Industrial automation systems and integration -- JT file format specification for 3D visualization
English language
649 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


INTERNATIONAL ISO
STANDARD 14306
Second edition
2017-11
Industrial automation systems
and integration — JT file format
specification for 3D visualization
Systèmes d'automatisation industrielle et intégration — Spécification
de format de fichier JT pour visualisation 3D
Reference number
©
ISO 2017
© ISO 2017, Published in Switzerland
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form
or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior
written permission. Permission can be requested from either ISO at the address below or ISO’s member body in the country of
the requester.
ISO copyright office
Ch. de Blandonnet 8 • CP 401
CH-1214 Vernier, Geneva, Switzerland
Tel. +41 22 749 01 11
Fax +41 22 749 09 47
copyright@iso.org
www.iso.org
ii © ISO 2017 – All rights reserved

Content
Content . iii
Foreword . xvi
Introduction . xvii
1 Scope . 1
2 Normative references . 1
3 Terms, definitions and abbreviated terms . 1
3.1 Terms and definitions . 1
3.2 Abbreviated terms . 5
4 Notational conventions . 6
5 File Format . 14
5.1 File Structure . 14
5.1.1 File Header . 14
5.1.2 TOC Segment . 16
5.1.3 Data Segment . 17
5.2 Data Segments . 22
6 LSG Segment . 24
6.1 Graph Elements . 24
6.1.1 Node Elements . 25
6.1.2 Attribute Elements . 48
6.2 Property Atom Elements. 92
6.2.1 Base Property Atom Element . 92
6.2.2 String Property Atom Element . 93
6.2.3 Integer Property Atom Element . 94
6.2.4 Floating Point Property Atom Element . 94
6.2.5 JT Object Reference Property Atom Element. 95
6.2.6 Date Property Atom Element . 96
6.2.7 Late Loaded Property Atom Element . 97
6.2.8 Vector4f Property Atom Element . 99
6.3 Property Table . 99
6.3.1 Element Property Table . 100
7 Shape LOD Segment . 102
7.1 Shape LOD Element . 102
7.1.1 Base Shape LOD Element. 102
7.1.2 Vertex Shape LOD Element . 103
7.1.3 Tri-Strip Set Shape LOD Element . 118
7.1.4 Polyline Set Shape LOD Element . 118
7.1.5 Point Set Shape LOD Element . 119
7.1.6 Null Shape LOD Element . 120
7.2 Primitive Set Shape Element . 120
7.2.1 Lossless Compressed Primitive Set Data . 122
7.2.2 Lossy Quantized Primitive Set Data . 124
8 Geometry Segments . 129
8.1 STEP B-Rep Segment . 129
8.2 XT B-Rep Segment . 129
8.3 JT ULP Segment . 129
8.4 JT LWPA Segment . 129
8.5 Wireframe Segment . 129
8.6 JT B-Rep Element (deprecated) . 129
9 Meta Data Segment . 131
9.1 Property Proxy Meta Data Element . 131
9.1.1 Date Property Value . 133
9.2 PMI Manager Meta Data Element . 134
9.2.1 PMI Entities . 137
9.2.2 PMI Associations . 158
9.2.3 PMI User Attributes . 160
9.2.4 PMI String Table . 161
9.2.5 PMI Model Views . 161
9.2.6 Generic PMI Entities . 163
9.2.7 PMI CAD Tag Data . 169
9.2.8 PMI Polygon Data . 170
10 Data Compression and Encoding . 174
10.1 Common Compression Data Collection Formats . 174
10.1.1 Int32 Compressed Data Packet . 174
10.1.2 Int32 Compressed Data Packet Mk. 2 . 179
10.1.3 Float64 Compressed Data Packet . 185
10.1.4 Compressed Vertex Coordinate Array . 189
10.1.5 Compressed Vertex Normal Array . 190
10.1.6 Compressed Vertex Texture Coordinate Array . 192
10.1.7 Compressed Vertex Colour Array . 194
10.1.8 Compressed Vertex Flag Array . 196
10.1.9 Point Quantizer Data . 197
10.1.10 Texture Quantizer Data . 197
10.1.11 Colour Quantizer Data . 198
10.1.12 Uniform Quantizer Data . 200
10.1.13 Compressed Entity List for Non-Trivial Knot Vector . 200
10.1.14 Compressed Control Point Weights Data . 204
10.1.15 Compressed Curve Data . 205
10.1.16 Compressed CAD Tag Data . 208
10.2 Encoding Algorithms . 211
10.2.1 Uniform Data Quantization . 211
10.2.2 Bitlength CODEC . 211
10.2.3 Arithmetic CODEC . 212
10.2.4 Deering Normal CODEC . 217
10.3 zlib compression . 219
11 Common Data Conventions and Constructs . 220
11.1 Late-Loading Data . 220
11.2 TOC Segment Location . 220
11.3 Bit Fields. 220
11.4 Empty Field . 220
11.5 Local version numbers . 220
11.5.1 Version numbers . 221
11.6 Hash Value . 223
11.7 Scene graph construction . 223
11.8 Metadata Conventions . 224
11.8.1 CAD Properties . 224
11.8.2 PMI Properties . 228
11.8.3 Tessellation Properties . 324
11.8.4 Miscellaneous Properties . 325
11.9 LSG Attribute Accumulation Semantics . 326
11.10 LSG Part Structure . 327
11.11 Range LOD Node Alternative Rep Selection . 327
11.12 Brep Face Group Associations . 327
11.13 Handling of different states / variants in a JT file . 328
11.13.1 Reference Sets . 329
11.14 Watermarks . 329
11.14.1 Background . 329
11.14.2 Issue – Missing specification in the ISO . 330
iv © ISO 2017– All rights reserved

11.14.3 Recommended Solution . 330
11.14.4 Issue – Protection of data . 332
12 Conformance requirements. 333
Annex A (informative) Object Type Identifiers . 334
Annex B (normative) STEP B-Rep . 338
B.1 STEP B-Rep Element . 338
B.1.1 STEP B-Rep Data . 338
B.1.2 STEP schema . 339
B.1.3 STEP format . 339
B.1.4 STEP external element reference in ISO 10303-21 . 339
Annex C (normative) STEP schema . 341
Annex D (informative) Coding Algorithms – An Implementation . 414
D.1 Common classes . 414
D.1.1 CntxEntry class . 414
D.1.2 CntxEntryBase2 class . 414
D.1.3 ProbabilityContext class. 415
D.1.4 ProbContex2 class . 416
D.1.5 CodecDriver class . 419
D.1.6 CodecDriver2 class . 422
D.2 Bitlength decoding classes . 426
D.2.1 BitLengthCodec class . 426
D.2.2 BitLengthCodec2 class . 430
D.3 Arithmetic decoding classes . 438
D.3.1 ArithmeticProbabilityRange class . 438
D.3.2 ArithmeticCodec class . 438
D.3.3 ArithmeticCodec2 class . 442
D.4 Deering Normal decoding classes . 446
D.4.1 DeeringNormalLookupTable class . 446
D.4.2 DeeringNormalCodec class . 448
Annex E (informative) Hashing – An Implementation . 451
Annex F (informative) Polygon Mesh Topology Coder . 454
F.1 DualVFMesh . 455
F.2 Topology Decoder . 461
F.2.1 MeshCoderDriver class . 461
F.2.2 MeshCodec class . 464
F.2.3 MeshDecoder class . 470
Annex G (informative)  XT B- Rep segment . 473
G.1 XT B-Rep Element . 473
G.1.1 XT B-Rep Data . 474
G.2 Procedural Geometry . 474
G.2.1 Background . 474
G.2.2 Issue . 474
G.2.3 Recommended Solution . 476
G.3 Non-Manifold Bodies . 476
G.3.1 Background . 476
G.3.2 Issue . 477
G.3.3 Recommended Solution . 477
Annex H (informative)  XT B- Rep data segment. 478
H.1 Introduction to the XT B- Rep data segment . 478
H.2 Logical Layout . 478
H.2.1 Schema . 479
H.2.2 Embedded schemas . 479
H.2.3 Field types . 480
H.2.4 Variable-length nodes . 481
H.2.5 Unresolved indices . 481
H.3 Physical Layout . 481
H.3.1 Binary . 481
H.4 Model Structure . 482
H.4.1 Topology. 482
H.4.2 General points . 483
H.4.3 Entity definitions . 483
H.4.4 Entity matrix . 487
H.4.5 Representation of manifold bodies . 487
H.5 Schema Definition . 489
H.5.1 Underlying types . 489
H.5.2 Geometry . 489
H.5.3 Topology. 521
H.5.4 Associated Data . 534
H.6 Node Types . 545
H.7 Node Classes . 547
H.8 System Attribute Definitions . 547
H.8.1 Hatching Attributes . 547
H.8.2 Density Attributes . 549
H.8.3 Region . 551
H.8.4 Colour . 551
H.8.5 Reflectivity . 551
H.8.6 Translucency . 552
H.8.7 Name . 552
H.8.8 Incremental faceting . 552
H.8.9 Transparency . 552
H.8.10 Non-mergeable edges . 553
H.8.11 Group merge behaviour . 553
H.8.12 Unicode name . 553
H.8.13 Monikers . 553
Annex I (informative) PMI Data Segment . 559
Annex J (informative) Mapping table from ISO 10303-42 to XT B-Rep . 560
J.1 Wireframe Geometry . 560
J.2 Surfaces without topology . 560
J.3 Shapes represented by wireframe models with topology . 561
J.4 Manifold Surfaces with Topology . 561
J.5 Advanced boundary representation solids . 563
J.5.1 Color . 564
J.5.2 Name . 565
J.5.3 Wireframe style . 565
J.5.4 Visibility . 566
Annex K (informative) JT B-rep Segment . 567
K.1 JT B-Rep Element . 567
K.1.1 Topological Entity Counts . 569
K.1.2 Geometric Entity Counts . 570
K.1.3 Topology Data . 571
K.1.4 Geometric Data . 580
K.1.5 Topological Entity Tag Counters . 589
K.1.6 B-Rep CAD Tag Data . 591
Annex L (informative) Wireframe Segment . 592
L.1 Wireframe Rep Element . 592
L.1.1 Wireframe MCS Curves Geometric Data . 594
L.1.2 Wireframe Rep CAD Tag Data . 594
Annex M (informative) JT ULP Segment . 596
M.1 JT ULP Element . 596
M.1.1 Topology Data . 598
M.1.2 Geometric Data . 615
M.1.3 Material Attribute Element Properties . 637
vi © ISO 2017– All rights reserved

M.1.4 Information Recovery . 638
M.1.5 Non-Manifold Bodies . 643
M.2 JT LWPA Segment . 643
M.2.1 JT LWPA Element . 644
M.2.2 Analytic Surface Geometry. 644
Annex N (informative) Change History . 647
N.1 General . 647
N.2 Changes made in edition 2 . 647
N.2.1 Summary of the changes . 647
N.2.2 Additions made to the document . 647
N.2.3 Addition of a new STEP B-rep segment definition . 647
N.2.4 Updates of the documentation from the Prostep industrialization quidelines . 648
N.2.5 Addition of a conformance clause. . 648
N.2.6 Addition of a mapping table JT ISO to STEP. . 648
N.2.7 Content modified from edition 1 . 648
N.2.8 Elements deprecated from edition 1 . 648
Bibliography . 649

Figures
Figure 1 — rectangle box diagram .6
Figure 2 — folder diagram .6
Figure 3 — rectangle box with lines at left and right sides diagram .7
Figure 4 — rectangle box with clipped right side corners .7
Figure 5 — compressed data packet diagram .7
Figure 6 — data type : field name diagram .8
Figure 7 — data filed dependency example .9
Figure 8 — loop construct example . 10
Figure 9 — loop construct with iterations example . 10
Figure 10 — JT File Structure . 14
Figure 11 — File Header data collection . 15
Figure 12 — TOC Segment data collection . 16
Figure 13 — TOC Entry data collection . 17
Figure 14 — Data Segment data collection . 18
Figure 15 — Segment Header data collection . 18
Figure 16 — Data collection . 20
Figure 17 — Logical Element Header data collection . 20
Figure 18 — Element Header data collection . 20
Figure 19 — Logical Element Header ZLIB data collection . 22
Figure 20 — LSG Segment data collection . 24
Figure 21 — Base Node Element data collection . 25
Figure 22 — Base Node Data collection . 25
Figure 23 — Partition Node Element data collection . 27
Figure 24 — Vertex Count Range data collection . 28
Figure 25 — Group Node Element data collection . 29
Figure 26 — Group Node Data collection . 30
Figure 27 — Instance Node Element data collection . 31
Figure 28 — Part Node Element data collection. 32
Figure 29 — Assembly node with SUBNODE . 32
Figure 30 — Assembly node without SUBNODE . 33
Figure 31 — Displaying Nodes that have SUBNODE properties . 33
Figure 32 — Meta Data Node Element data collection . 34
Figure 33 — Meta Data Node Data collection . 34
Figure 34 — LOD Node Element data collection . 34
Figure 35 — LOD Node Data collection . 35
Figure 36 — Range LOD Node Element data collection . 36
Figure 37 — Switch Node Element data collection . 37
Figure 38 — Base Shape Node Element data collection . 38
Figure 39 — Base Shape Data collection . 38
Figure 40 —Vertex Count Range data collection . 40
Figure 41 — Vertex Shape Node Element data collection . 41
Figure 42 — Vertex Shape Data collection . 41
Figure 43 — Quantization Parameters data collection . 42
Figure 44 — Tri-Strip Set Shape Node Element data collection . 42
Figure 45 — Polyline Set Shape Node Element data collection . 43
Figure 46 — Point Set Shape Node Element data collection . 44
Figure 47 — Polygon Set Shape Node Element data collection . 45
Figure 48 — NULL Shape Node Element data collection . 45
Figure 49 — Primitive Set Shape Node Element data collection . 46
Figure 50 — Primitive Set Quantization Parameters data collection . 48
Figure 51 — Base Attribute Data collection . 49
Figure 52 — Material Attribute Element data collection . 51
Figure 53 — Texture Image Attribute Element data collection . 54
Figure 54 — Texture Vers-1 Data collection . 56
Figure 55 — Texture Environment data collection. 58
Figure 56 — Texture Coord Generation Parameters data collection . 61
Figure 57 — Inline Texture Image Data collection . 62
Figure 58 — Image Format Description data collection . 63
Figure 59 — Texture Vers-2 Data collection . 66
Figure 60 — Texture Vers-3 Data collection . 69
Figure 61 — Draw Style Attribute Element data collection . 72
Figure 62 — Light Set Attribute Element data collection . 73
Figure 63 — Infinite Light Attribute Element data collection . 74
Figure 64 — Base Light Data collection . 75
Figure 65 — Shadow Parameters data collection . 76
Figure 66 — Point Light Attribute ElementPoint Light Attribute Element data collection . 78
Figure 67 — Spread Angle value with respect to the light cone . 79
Figure 68 — Attenuation Coefficients data collection . 80
Figure 69 — Linestyle Attribute Element data collection . 81
Figure 70 — Pointstyle Attribute Element data collection . 82
Figure 71 — Geometric Transform Attribute Element data collection . 83
Figure 72 — Shader Effects Attribute Element data collection . 85
Figure 73 — Texture Coordinate Generator Attribute Element data collection . 87
Figure 74 — Mapping Plane Element data collection . 88
Figure 75 — Mapping Cylinder Element data collection . 89
Figure 76 — Mapping Sphere Element data collection . 90
Figure 77 — Mapping TriPlanar Element data collection . 91
Figure 78 — Base Property Atom Element data collection . 92
Figure 79 — Base Property Atom Data collection. 93
Figure 80 — String Property Atom Element data collection . 93
Figure 81 — Integer Property Atom Element data collection . 94
Figure 82 — Floating Point Property Atom Element data collection . 95
Figure 83 — JT Object Reference Property Atom Element data collection . 95
Figure 84 — Date Property Atom Element data collection . 96
Figure 85 — Late Loaded Property Atom Element data collection . 98
Figure 86 — Vector4f Property Atom Element data collection . 99
Figure 87 — Property Table data collection . 100
Figure 88 — Element Property Table data collection . 101
Figure 89 — Shape LOD Segment data collection . 102
Figure 90 — Base Shape LOD Element data collection . 102
Figure 91 — Base Shape LOD Data collection . 103
Figure 92 — Vertex Shape LOD Element data collection . 103
Figure 93 — Vertex Shape LOD Data collection . 104
Figure 94 — TopoMesh LOD Data collection . 106
Figure 95 — TopoMesh LOD Data collection . 106
Figure 96 — TopoMesh Topologically Compressed LOD Data collection . 107
viii © ISO 2017– All rights reserved

Figure 97 — Topologically Compressed Rep Data Collection . 108
Figure 98 — Topologically Compressed Vertex Records data collection . 111
Figure 99 — TopoMesh Compressed Rep Data V1 data collection. 112
Figure 100 — TopoMesh Compressed Rep Data V2 data collection. 115
Figure 101 — Tri-Strip Set Shape LOD Element data collection . 118
Figure 102 — Polyline Set Shape LOD Element data collection . 119
Figure 103 — Point Set Shape LOD Element data collection
...

Questions, Comments and Discussion

Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.

Loading comments...