Industrial automation systems and integration — Parts library — Part 101: Geometrical view exchange protocol by parametric program

ISO 13584-101:2003 specifies a particular representation category, called basic_geometry. This representation category captures the generic concept of the shape of a part. It may be associated with any of the items defined in a parts library. ISO 13584-101:2003 also defines how representations that belong to this representation category may be exchanged within a library exchange context by means of FORTRAN programs compliant with ISO 13584-31:1999, or, by case of separate agreement between the sender and the receiver, by means of any other parametric formats.

Systèmes d'automatisation industrielle et intégration — Bibliothèque de composants — Partie 101: Protocole d'échange de vues géométriques par programme paramétré

General Information

Status
Published
Publication Date
19-May-2003
Current Stage
9060 - Close of review
Completion Date
04-Jun-2030
Ref Project

Overview

ISO 13584-101:2003 - "Industrial automation systems and integration - Parts library - Part 101" - defines the basic_geometry representation category and the protocol for exchanging geometrical views of parts by parametric programs. The standard specifies how shape information for parts in a parts library can be represented and exchanged using FORTRAN programs that implement the geometric programming interface defined in ISO 13584-31:1999. By agreement between sender and receiver, non‑standard parametric formats may also be used.

Key Topics

  • Representation category (basic_geometry): Captures the generic concept of a part’s shape and may be associated with any parts library item.
  • Identification and properties: Defines view logical names, view control variables (e.g., side, geometry level, detail level, variant/unregistered variant) and rules for the shapes provided in the basic_geometry view.
  • Exchange format (parametric program): Specifies exchange by FORTRAN subroutines compliant with ISO 13584-31, including required subroutine naming, language restrictions, excluded/obsolete FORTRAN features, character encoding and program status.
  • Conformance requirements: Lists required implementation resources, methods, and constraints for a library delivery file referencing the protocol, including defined conformance classes and related compliance tables and rules.
  • Supplementary material: Normative registration of information objects and an informative annexe with a physical file example.

Applications

ISO 13584-101 is practical for:

  • CAD and PLM vendors implementing parts libraries and geometric programming interfaces to enable neutral exchange of parametric shapes.
  • Manufacturers and suppliers who publish parametric part geometry in a neutral, standardized way for downstream consumers.
  • System integrators building library exchange workflows between CAD, CAM and ERP systems.
  • Software developers writing FORTRAN bindings or converters that conform to ISO 13584-31 and ISO 13584-101.

Benefits include consistent parametric shape exchange, interoperability of parts libraries, and support for automated generation of geometry from parametric programs.

Related Standards

  • ISO 13584-31:1999 - Geometric programming interface (mandatory binding for FORTRAN exchange).
  • ISO 13584-1, -24, -26, -42 - Parts library overview, logical models and description methodology referenced for library structure and metadata.
  • ISO 10303 (STEP) and ISO 10303-42 - Product data representation and geometric/topological resources referenced for definitions and resources.

Keywords: ISO 13584-101, basic_geometry, geometrical view exchange protocol, FORTRAN, ISO 13584-31, parts library, parametric program, geometric programming interface, parts library exchange, conformance.

Standard
ISO 13584-101:2003 - Industrial automation systems and integration -- Parts library
English language
40 pages
sale 15% off
Preview
sale 15% off
Preview

Standards Content (Sample)


INTERNATIONAL ISO
STANDARD 13584-101
First edition
2003-05-15
Industrial automation systems and
integration — Parts library —
Part 101:
Geometrical view exchange protocol by
parametric program
Systèmes d'automatisation industrielle et intégration — Bibliothèque de
composants —
Partie 101: Protocole d'échange de vues géométriques par programme
paramétré
Reference number
©
ISO 2003
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.

©  ISO 2003
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO 2003 — All rights reserved

Page
Contents
1 Scope .1
2 Normative references.2
3 Terms, definitions, and abbreviations.3
4 Identification of the basic_geometry representation.8
4.1 Concepts .8
4.2 Standardized dictionary entries .9
4.2.1 View logical name .9
4.2.2 View control variables .10
4.3 Rules for the shapes to be provided in the basic_geometry representation category .10
4.3.1 Geometry level .10
4.3.2 Detail level.11
4.3.3 Side .11
4.3.4 Variant.12
4.3.5 Unregistered variant.12
5 Exchange format .12
5.1 FORTRAN SUBROUTINE name .13
5.2 FORTRAN restrictions .14
5.2.1 Excluded statements.14
5.2.2 Obsolete features.15
5.2.3 Exchange of a FORTRAN program unit .15
5.2.4 Character encoding.15
5.3 Status of the program.16
6 Conformance requirements.16
6.1 Implementation resources.16
6.2 Implementation methods.17
6.3 Constraints on a library delivery file for referencing this view exchange protocol.17
6.3.1 Conformance class specification table.19
6.3.2 Constraints on a library delivery file referencing basic_geometry.20
6.3.2.1 ISO13584_101_side_and_geometry_level_compatibility_rule rule .20
6.3.2.2 ISO13584_101_variant_and_unregistered_variant_compatibility_rule rule .22
6.3.3 Constraints on a library delivery file for referencing conformance class 1, 2 and 3.24
6.3.3.1 ISO13584_101_allowed_reference_to_conformance_class_1_2_and_3_rule rule.25
6.3.3.2 ISO13584_101_protocol_compliant_to_cc_1_or_2_or_3 function.27
6.3.3.3 ISO13584_101_item_names_compliant_to_cc_1_or_2_or_3 function.28
6.3.3.4 ISO13584_101_organization_compliant_to_cc_1_or_2_or_3 function.28
6.3.4 Constraints on a library delivery file for referencing conformance class 1E, 2E and 3E.29
6.3.4.1 ISO13584_101_allowed_reference_to_conformance_class_1E_2E_and_3E_rule
rule.29
6.3.4.2 ISO13584_101_protocol_compliant_to_cc_1E_or_2E_or_3E function.31
Annex A (normative) Information object registration .32
Annex B (informative) Physical file example .33
Bibliography .39
Index.40
Figures
Figure 1 — Side view control variable meaning .12
Tables
Table 1 — View logical name description.10
Table 2 — View control variables of the basic_geometry functional view class.11
Table 3 — The special characters of the FORTRAN language .16
Table 4 — ISO 13584-101 conformance class specification.19
iv © ISO 2003 — All rights reserved

Foreword
ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies
(ISO member bodies). The work of preparing International Standards is normally carried out through ISO
technical committees. Each member body interested in a subject for which a technical committee has been
established has the right to be represented on that committee. International organizations, governmental and
non-governmental, in liaison with ISO, also take part in the work. ISO collaborates closely with the
International Electrotechnical Commission (IEC) on all matters of electrotechnical standardization.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of technical committees is to prepare International Standards. Draft International Standards
adopted by the technical committees are circulated to the member bodies for voting. Publication as an
International Standard requires approval by at least 75 % of the member bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO shall not be held responsible for identifying any or all such patent rights.
ISO 13584-101 was prepared by Technical Committee ISO/TC 184, Industrial automation systems and
integration, Subcommittee SC 4, Industrial data.
ISO 13584 consists of the following parts, under the general title Industrial automation systems and
integration — Parts library:
 Part 1: Overview and fundamental principles
 Part 20: Logical resource: Logical model of expressions
 Part 24: Logical resource: Logical model of supplier library
 Part 25: Logical resource: Logical model of supplier library with aggregate values and explicit content
 Part 26: Logical resource: Information supplier identification
 Part 31: Implementation resources: Geometric programming interface
 Part 42: Description methodology: Methodology for structuring part families
 Part 101: Geometrical view exchange protocol by parametric program
 Part 102: View exchange protocol by ISO 10303 conforming specification
The structure of ISO 13584 is described in ISO 13584-1. The numbering of the parts of ISO 13584 reflects its
structure:
 Parts 10 to 19 specify the conceptual descriptions;
 Parts 20 to 29 specify the logical resources;
 Parts 30 to 39 specify the implementation resources;
 Parts 40 to 49 specify the description methodology;
 Parts 100 to 199 specify the view exchange protocols.
Should further parts of ISO 13584 be published, they will follow the same numbering pattern.
Introduction
ISO 13584 is an International Standard for the computer-interpretable representation and exchange of
parts library data. The objective is to provide a neutral mechanism capable of transferring parts library
data, independent of any application that is using a parts library data system. The nature of this
description makes it suitable not only for the exchange of files containing parts, but also as a basis for
implementing and sharing databases of parts library data.
ISO 13584 is organized as a series of parts, each published separately. The parts of ISO 13854 fall
into one of the following series: conceptual descriptions, logical resources, implementation resources,
description methodology, conformance testing, view exchange protocol, and standardized content.
The series are described in ISO 13584-1. This part of ISO 13584 is a member of the view exchange
protocol series.
A view exchange protocol specifies how a particular representation category of the items described in
a parts library may be exchanged in a library exchange context. It defines the identification of the
representation category, the means to be used to exchange representations that belong to this
representation category, the implementation resources that shall be available on any implementation
that claims conformance to this view exchange protocol, and the standard data that shall be
recognized by any implementation that claims conformance to this view exchange protocol.
This part of ISO 13584 specifies how geometric representations of the items described in a parts
library may be exchanged by means of parametric FORTRAN programs based on the application
programming interface specified in ISO 13584-31:1999, or, by case of separate agreement between
the sender and the receiver, by means of non-standardized parametric formats.
vi © ISO 2003 — All rights reserved

INTERNATIONAL STANDARD ISO 13584-101:2003(E)

Industrial automation systems and integration – Parts
library – Part 101: Geometrical view exchange protocol by
parametric program
1 Scope
This part of ISO 13584 specifies a representation category called basic_geometry. This representation
category captures the generic concepts of the shape of a part. This representation category may be
associated with any of the items defined in a parts library. This part of ISO 13584 also defines how
representations that belong to this representation category may be exchanged within a library
exchange context by means of FORTRAN programs compliant with ISO 13584-31:1999.
The following are within the scope of this part ISO 13584:
— the definition of the basic_geometry representation category and the mechanisms to be used to
reference it;
— the properties to be used to characterize a particular representation within the basic_geometry
representation category;
— the exchange format to be used for the library external files that describe the basic_geometry
representations of classes of items described in a parts library by means of FORTRAN
programs based on the application programming interface specified in ISO 13584-31:1999;
— the mechanism to be used, by case of separate agreement between the sender and the
receiver, to reference external files that describe the basic_geometry representations of classes
of items described in a parts library by means of formats not specified in ISO 13584;
— the implementation resources to be supported on any implementation that claims conformance
to this part of ISO 13584;
— the dictionary entries to be supported by any implementation that claims conformance to this
part of ISO 13584;
— the standard data to be recognized by any implementation that claims conformance to this part
of ISO 13584.
The following is outside the scope of this part of ISO 13584:
— the structure and exchange format of a library delivery file that includes references to the
representation category defined in this part of ISO 13584, and/or to the library external files
whose exchange format is specified.
NOTE 1 The structure of a library delivery file is defined by a library integrated information model
specified in one of the logical resource series parts of ISO 13584.
NOTE 2 The ISO13584_f_m_iim_schema, documented in ISO 13584-24, is a library integrated
information model that defines the structure of a library delivery file. Such a library delivery file may contain
instance values that reference the representation category and/or the library external files defined in this part
of ISO 13584.
2 Normative references
The following referenced documents are indispensable for the application of this document.
For dated references, only the edition cited applies. For undated references, the latest edition
of the referenced document (including any amendments) applies.
ISO/IEC 8824-1: 1998, Information technology — Abstract Syntax Notation One (ASN.1): Specification
of basic notation
ISO/IEC 8859-1:1998, Information technology — 8-bit single-byte coded graphic character sets —
Part 1: Latin alphabet No. 1
ISO 10303-1:1994, Industrial automation systems and integration — Product data representation and
exchange — Part 1: Overview and fundamental principles
ISO 10303-11:1994, Industrial automation systems and integration — Product data representation and
exchange — Part 11: Description methods: The EXPRESS language reference manual
ISO 10303-31:1994, Industrial automation systems and integration — Product data representation and
exchange — Part 31: Conformance testing methodology and framework: General concepts
ISO 10303-42:2000, Industrial automation systems and integration — Product data representation and
exchange — Part 42: Integrated generic resources: Geometric and topological representation
ISO/IEC 10646-1:2000, Information technology — Universal Multiple-Octet Coded Character Set
(UCS) — Part 1: Architecture and Basic Multilingual Plane
ISO 13584-1:2001, Industrial automation systems and integration — Parts library — Part 1: Overview
and fundamental principles
1)
ISO 13584-24: — , Industrial automation systems and integration — Parts library — Part 24: Logical
resource: Logical model of supplier library
ISO 13584-26:2000, Industrial automation systems and integration — Parts library — Part 26: Logical
resource: Information supplier identification
ISO 13584-31:1999, Industrial automation systems and integration — Parts library — Part 31:
Implementation resources: Geometric programming interface
ISO 13584-42:1998, Industrial automation systems and integration — Parts library — Part 42:
Description methodology: Methodology for structuring parts families

1) To be published.
2 © ISO 2003 – All rights reserved

3 Terms, definitions and abbreviated terms
For the purpose of this document, the following terms, definitions and abbreviated terms apply. Some
of these terms and definitions are repeated for convenience from:
— ISO 10303-1:1994;
— ISO 10303-11:1994;
— ISO 10303-31:1994;
— ISO 10303-42:2000;
— ISO 13584-1:2001;
1)
— ISO 13584-24:— ;
— ISO 13584-31:1999;
— ISO 13584-42:1998.
3.1
application programming interface
API
set of functions that may be triggered by a program
1)
[ISO 13584-24: — ]
3.2
basic semantic unit
entity that provides an absolute and universally unique identification of certain objects of the
application domain
[ISO 13584-42:1998, definition 3.4.1]
3.3
binding
description of the concrete syntax that shall be used in a particular programming language to trigger
the different functions that constitute an application programming interface
[ISO 13584-31:1999, definition 3.2.3]
3.4
computer aided design system
CAD system
kind of computer modelling system that generates and manages product data
3.5
conformance class
subset of a standard for which conformance may be claimed
1)
[ISO 13584-24: — ]
1) To be published.
3.6
conformance requirement
precise, text definition of a characteristic required to be present in a conforming implementation
[ISO 10303-1:1994, definition 2.1.14]
3.7
conforming implementation
implementation which satisfies the conformance requirements defined by one or several
conformance classes of a standard
1)
[ISO 13584-24: — ]
3.8
conformity; conformance
fulfilment by an implementation of all requirements specified
[ISO 10303-31:1994, definition 3.2.25]
3.9
constructive solid geometry
CSG
type of geometric modelling in which a solid is defined as the result of a sequence of regularized
Boolean operations operating on solid models
[ISO 10303-42:2000, definition 3.1.11]
3.10
entity data type instance
named unit of data which represents a unit of information within the class defined by an entity. It is a
member of the domain established by an entity data type
[ISO 10303-11:1994, definition 3.2.7]
3.11
entity
class of information defined by common properties
[ISO 10303-11:1994, definition 3.2.5]
3.12
entity data type
representation of an entity. An entity data type establishes a domain of values defined by common
attributes and constraints
[ISO 10303-11:1994, definition 3.2.6]
3.13
functional model of a part
library data that represent one representation category of a part in an integrated library.
[ISO 13584-1:2001]
1) To be published.
4 © ISO 2003 – All rights reserved

EXAMPLE A functional model of a precisely defined screw may consist of parametric programs which may
be used to generate different geometric functional views of the screw in a CAD system database.
3.14
functional view of a part
data that represent one representation category of a part in product data
[ISO 13584-1:2001]
EXAMPLE The structure of a functional view corresponding to geometry is not dependent on the part to be
represented. This structure is specified as a functional view class.
3.15
implementation
software development in a given programming environment
3.16
implementation method
technique used by computer systems to exchange data that is described using the EXPRESS data
specification language
1)
[ISO 13584-24:— ]
3.17
implementation resources
capabilities of a software system that shall be available to claim conformance to a particular
conformance class of a view exchange protocol or both view exchange protocol and library integrated
information model
1)
[ISO 13584-24: — ]
3.18
information model
formal model of a bounded set of facts, concepts or instructions to meet a specified requirement
[ISO 10303-1:1994]
3.19
integrated library
operational system consisting of a Library Management System and a user library
[ISO 13584-1:2001]
3.20
library data supplier
organization that delivers a library in the standard format defined in ISO 13584 and is responsible
for its content
[ISO 13584-1:2001]
1) To be published.
3.21
library delivery file
population of EXPRESS entity instances conforming to a library integrated information model and
represented according to one of the implementation methods specified in ISO 10303
1)
[ISO 13584-24:— ]
NOTE A library delivery file specifies the structure and the content of a supplier library. It may reference
library external files.
3.22
library end user
user of an integrated library who:
— consults the data contained in the library;
— selects a given part;
— requests the transmission of a selected view of this part from the library system
[ISO 13584-1:2001]
3.23
library exchange context
set of one library delivery file and zero, one or several library external files that represent together
a supplier library
1)
[ISO 13584-24:— ]
3.24
library external file
file, referenced from a library delivery file, that contributes to the definition of a supplier library
1)
[ISO 13584-24:— ]
NOTE The structure and the format of a library external file is specified in the library delivery file that
references it.
3.25
library integrated information model
EXPRESS schema that integrates resource constructs from different EXPRESS schemas for
representing supplier libraries for the purpose of exchange and that is associated with conformance
requirements
1)
[ISO 13584-24:— ]
NOTE Three library integrated information models are defined in ISO 13584-24 for representing
different kinds of supplier libraries.

1) To be published.
6 © ISO 2003 – All rights reserved

3.26
library management system
LMS
software system enabling the library end-user to use the content of an integrated library
[ISO 13584-1:2001 ]
NOTE This software system is not standardized.
3.27
parts library
identified set of data and possibly programs which may generate information about a set of parts
[ISO 13584-1:2001]
3.28
reference coordinate system
underlying global rectangular Cartesian coordinate system to which all geometry refers
3.29
representation category
abstraction used to distinguish between various possible user requirements regarding a part
representation
[ISO 13584-1:2001]
NOTE In the model defined in this International Standard, this distinction is formally expressed in terms
of a view logical name and in terms of the view control variables.
3.30
standard data
requirement on a software system defined by means of EXPRESS entity data type instances that are
supposed to be recognized by this software system
1)
[ISO 13584-24:— ]
3.31
supplier library
set of data, and possibly of programs, for which the supplier is identified and that describes in the
standard format defined in ISO 13584 a set of parts and/or a set of representations of parts
[ISO 13584-1:2001
3.32
user library
information that results from the integration of one or more supplier libraries by the library
management system and possibly from a later adaptation performed by the user
[ISO 13584-1:2001]
1) To be published.
3.33
view control variable
variable of enumerated type that may be associated with a view logical name and intended to further
specify the perspective adopted by the user regarding a part
[ISO 13584-1:2001]
EXAMPLE For the geometry perspective of a part, such view control variables values could be 2D, wire
frame or solid.
3.34
view exchange protocol
part of ISO 13584 that describes the use of resource constructs and of representation transmission
interfaces that satisfy the information requirement for the exchange of one representation category of
parts
1)
[ISO 13584-24:— ]
3.35
view logical name
identifier of an abstract representation category corresponding to a perspective that can be
adopted by a user regarding a part
[ISO 13584-1:2001]
EXAMPLE Such identifiers could be geometry, inertia, kinematics, etc.
3.36 Abbreviated terms
For the purposes of this part of ISO 13584, the following abbreviated terms apply:
— 2D:Two Dimensional;
— 3D:Three Dimensional;
— API: Application Programming Interface;
— CAD: Computer Aided Design;
— CSG: Constructive Solid Geometry.
4 Identification of the basic_geometry representation
4.1 Concepts
When a library item is selected, it is often useful to access the shape of this item. Such a shape is a
generic concept that may be captured at various levels of completeness and detail. These levels may
be defined independently of the library items by the requirements that are intended to be met by each
level.
To address this requirement, this part of ISO 13584 defines:
— a particular representation category, called basic_geometry, that provides for the generic
concept of the shape of a library item;

1) To be published.
8 © ISO 2003 – All rights reserved

— five view control variables that are used to characterize the conceptual requirements that are
intended to be met by each shape associated with the same library item;
— an exchange format of the basic_geometry representation category intended to be referenced
from its library description and that consists of FORTRAN programs based on the
ISO 13584-31:1999 standard API;
— a generic exchange mechanism that may be used by case of separate agreement between the
sender and the receiver, and that provides the library description of this representation category
by means of non-standardized parametric formats.
4.2 Standardized dictionary entries
The information model of the basic_geometry representation category shall be defined by standard
data that consist of a functional view class entity data type instance. Such a functional view class is
captured by an instance of the functional_view_class entity data type.
NOTE 1 Functional view of a part is defined in ISO 13584-1. The functional_view_class EXPRESS
entity data type is defined in ISO 13584-24.
EXAMPLE The information model of the basic_geometry representation category might be defined in
EXPRESS through attributes like the geometry level, and a content that is an ISO 10303-43 representation.
Such a description might be as follows:
ENTITY basic_geometry;
level: geometry_level_type;
...
content: representation;
END_ENTITY;
Using the EXPRESS resource constructs defined in ISO 13584-24, the same information model may also be
defined and exchanged as an instance of a functional_view_class entity data type, as follows:
#1 = FUNCTIONAL_VIEW_CLASS(., 'basic_geometry', (#10, .), (#11));
#10 = PROPERTY_BSU('level',.);/* a view control variable */
#11 = PROPERTY_BSU('content',.); /* a view property */
The latter description is the one used by this part of ISO 13584, and the corresponding instances will be
found in the dictionary of a conforming implementation.
The universal identification of basic_geometry functional view class by means of a basic semantic unit
is defined in 4.2.1. The universal identification of the view control variables defined for this functional
view class, together with their domains of values are defined in 4.2.2. The functional_view_class
instance shall not contain any view_properties. The attribute its_superclass of this instance does
not exist, i.e., the corresponding functional view class has no superclass.
NOTE 2 view_properties is an attribute of functional_view_class defined in ISO 13584-24.
its_superclass is an attribute of class defined in ISO 13584-42.
4.2.1 View logical name
The basic semantic unit that identifies the functional view class that captures the representation
category defined in this part of ISO 13584 contains the attributes shown in Table 1.
Table 1 — View logical name description
Class_code Class_version Supplier_code
‘basic_geometry’ ‘001’ ‘0112/1///13584_101_1’
This set of information provides an universal identification of the basic_geometry representation
category. It constitutes its view logical name.
NOTE Subclauses D.3.3.4 and D.3.4.1 of ISO 13584-42:1998 require that the supplier code specified
in ISO 13584-26 be used for any ISO 13584 data exchange.
4.2.2 View control variables
The functional view class is characterized using the view control variables whose universal
identification and respective datatypes are described in Table 2 and illustrated in Figure 1.
4.3 Rules for the shapes to be provided in the basic_geometry representation
category
This subclause defines the conceptual requirements that are intended to be met by each particular
shape associated with a library item.
4.3.1 Geometry level
Geometry level 1: corresponds to a two-dimensional geometric representation that may be defined
using the ISO 13584-31:1999 API. This geometry level defines a 2D representation shape that
consists of points, lines and curves and contours, that may be opaque.
Geometry level 2: corresponds to a three-dimensional wireframe representation that may be defined
using the ISO 13584-31:1999 API. This geometry level defines a 3D representation shape that
consists of points, lines, and curves whose edges represent a shape.
Geometry level 3: corresponds to a three-dimensional solid representation that may be defined using
the ISO 13584-31:1999 API. This geometry level defines a shape representation that consists of
points, lines, curves and solids.
10 © ISO 2003 – All rights reserved

Table 2 — View control variables of the basic_geometry functional view class
Code Version Values Corresponding labels (in English)
1 '2D'
'geometry_level' '001'
2 'wireframe'
3 'solid'
1 'simplified'
'detail_level' '001'
2 'standard'
3 'extended'
0 'null'
1 'front'
2 'rear'
3 'right'
'side' '001'
4 'left'
5 'top'
6 'bottom'
0 'null'
'variant' '001'
1 'external_shape'
2 'section'
3 . n reserved for future registration
0 'null'
'unreg_variant' '001'
1 . n library data supplier dependent
4.3.2 Detail level
Detail level 1: the representation shall include, as a minimum, an indication of the reference coordinate
system of the library item.
Detail level 2: the representation shall include, as a minimum, all the geometric representation items
that are needed to establish a spatial relationship between the library item and the environment in
which the item is intended for insertion.
Detail level 3: the representation shall include, as a minimum, all the geometric representation items
that provide for overlapping (in 2D) or collision detection (in 3D) and it shall provide a
representation that may be used in a detail design of the corresponding item.
4.3.3 Side
The meaning of the side view control variable and its relationship with the
geometric_representation_context of the library item are illustrated in Figure 1.
This figure shows how the side is defined according to the definition of the reference coordinate
system of the library item.
bottom
y
right left
side front sside back
X
top
Z
Figure 1 — Side view control variable meaning
NOTE The side view control variable shall have a value equal to 0 when the geometry level view control
variable defines a three-dimensional representation. This constraint on the corresponding view control
variables view_control_variable_ranges is formally expressed in the
ISO13584_101_side_and_geometry_level_compatibility_rule included in the EXPRESS schema defined
in Clause 6.3.2.1.
4.3.4 Variant
Variant 0: this variant level specifies that an unregistered variant is defined.
NOTE Unregistered variant is defined in Clause 4.3.5.
Variant 1: this variant level specifies that the represented shape is the external shape of the library
item.
Variant 2: this variant level specifies that the shape represented includes at least one cross-section.
Variant 3.n: these variant levels are reserved for future use by this part of ISO 13584.
NOTE In the various conformance classes defined in this part, when defining a standardized geometric
representation variant view_control_variable_range, variant 1 is mandatory. This constraint is formally
expressed in the ISO13584_101_variant_and_unregistered_variant_compatibility_rule included in the
EXPRESS schema defined in Clause 6.3.2.2.
4.3.5 Unregistered variant
Unregistered variant 0: this unregistered variant level specifies that a standardized variant is defined.
Unregistered variant 1.n: these unregistered variant levels specify library data supplier dependent
variant levels.
NOTE In the various conformance classes defined in this part, variant 0 is mutually exclusive with
unregistered variant 0. This constraint is formally expressed at the level of the corresponding
view_control_variable_ranges in the
ISO13584_101_variant_and_unregistered_variant_compatibility_rule included in the EXPRESS schema
defined in Clause 6.3.2.2.
5 Exchange format
This clause defines the requirements for the library external files compliant with conformance classes
1, 2 and 3 of this part of ISO 13584. The structure and the format of the library external files compliant
12 © ISO 2003 – All rights reserved

with conformance classes 1E, 2E and 3E shall be defined by separate agreement between the sender
and the receiver. The agreement shall specify the values of the attributes of the program_protocol
entity instance that shall be used to characterize this structure and format.
5.1 FORTRAN SUBROUTINE name
The FORTRAN program unit shall be a SUBROUTINE.
NOTE The FORTRAN program unit may not be a PROGRAM or a FUNCTION.
The name of the FORTRAN program unit shall be built according to the following structure:
'F' + encoded_supplier_code + '_' +
The encoded_supplier_code shall be the supplier code of the library data supplier, as defined by
ISO 13584-26 on which an encoding function is applied. This encoding function, encode, is intended
to replace each character that is not allowed in FORTRAN names by its corresponding encoded
character that corresponds to the sequence "_" followed by the character's code (on exactly two
characters) as defined in the ISO/IEC 10646-1 character set. Moreover, if the character to be encoded
is "_", then the encoding result is "__".
The encoded_supplier_code is encoded using the following encode function:
*)
FUNCTION encode(s: STRING): STRING;
LOCAL
strtmp: STRING;
lower_cases: LIST OF STRING :=
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j' ,'k', 'l', 'm',
'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'];
upper_cases: LIST OF STRING :=
['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J' ,'K', 'L', 'M',
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
numerals: LIST OF STRING :=
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
underscore: STRING := '_';
allowed_characters: LIST OF STRING :=
lower_cases + upper_cases + numerals + underscore;
result: STRING := '';
END_LOCAL;
REPEAT i := 1 TO LENGTH(s);
IF NOT(s[i] IN allowed_characters)
THEN
strtmp := FORMAT(icode(s[i]), '02I');
result := result + '_' + strtmp;
ELSE
IF (s[i] = '_')
THEN
result := result + '_' + s[i];
ELSE
result := result + s[i];
END_IF;
END_IF;
END_REPEAT;
RETURN (result);
END_FUNCTION;
(*
NOTE 1 Function icode returns the character code of a character in the ISO/IEC 10646-1:1993
character set, interpreted as an integer value.
NOTE 2 Function icode is not specified in EXPRESS because the limitations of the EXPRESS language
would make such a function extremely long.
EXAMPLE The 0112/1///13584_101_1 supplier code is encoded by 0112_2F1_2F_2F_2F13584__101__1.
‘2F’ corresponds to the code of the ‘/’ character in the ISO/IEC 10646-1:1993 character set.
The library data supplier shall use a supplier code that maps to a string of length equal to 31
characters or less.
NOTE 3 The string size resulting of the encoding process may exceed the allowed length for defining the
FORTRAN SUBROUTINE name (limited to 31 characters). It is therefore the responsibility of the library data
supplier to register a new supplier code in order to be able to build the FORTRAN SUBROUTINE name.
5.2 FORTRAN restrictions
5.2.1 Excluded statements
The following FORTRAN statements shall not be used:
— BACKSPACE,
— BLOCK DATA,
— CLOSE,
— COMMON,
— DATA,
— ENDFILE,
— ENTRY,
— EQUIVALENCE,
— FORMAT,
— INQUIRE,
— OPEN,
— PROGRAM,
— READ,
— REWIND,
— SAVE,
— STOP,
— WRITE.
NOTE The FORTRAN program units within a parts library are intended to be run in various
environments, on different CAD systems and following various operating techniques. In order to ensure
maximal portability of these programs, the statements listed above are forbidden.
EXAMPLE Compiling, linking, interpretation and translation are operating techniques.
14 © ISO 2003 – All rights reserved

5.2.2 Obsolete features
The following features have been declared obsolescent in FORTRAN. Therefore, the use of these
features shall be avoided in new programs:
— Arithmetic-IF,
— Alternate return from subroutine,
— ASSIGN,
— Assigned FORMAT specifier,
— Assigned GOTO,
— DO loop control variables that are not integers,
— DO loop not ending on CONTINUE,
— Branch to END IF from outside IF block,
— H edit descriptor,
— PAUSE.
NOTE These features are still present, but will not appear in the next revision of ISO 1539:1991.
5.2.3 Exchange of a FORTRAN program unit
There shall be one and only one FORTRAN SUBROUTINE in one library external file that may be
referenced to create a library item representation. Additional subroutines that are called from this
SUBROUTINE may be present in the same library external file.
5.2.4 Character encoding
This library external file shall use only the 26 upper- and lower-case letters of the English alphabet, the
10 Arabic numerals, 0 to 9, the underscore, '_', and the special characters listed in Table 3 encoded
according to ISO 8859-1.
Table 3 — The special characters of the FORTRAN language
Character Name Character Name
= :
Equals sign Colon
+
Plus sign Space
- !
Hyphen-minus sign Exclamation mark
* "
Asterisk Quotation mark
/ %
Solidus Percent sign
( &
Left parenthesis Ampersand
) ;
Right parenthesis Semicolon
, <
Comma Less-than sign
. >
Full stop Greater-than sign
$ ?
Dollar sign Question mark
'
Apostrophe
5.3 Status of the program
The FORTRAN subroutine shall be in source code if the corresponding instance of the library entity
data type is of type library_in_standard_format. It may be in source or object code otherwise.
NOTE library and library_in_standard_format are defined in ISO 13584-24.
6 Conformance requirements
This part of ISO 13584 defines six conformance classes.
For conformance classes 1 to 3, the format of the external file is defined in Clause 5. For conformance
classes 1E to 3E, the format of the external file shall be defined in a separate agreement between the
sender and the receiver.
An implementation claiming conformance to conformance class of this part of ISO 13584 must support
the dictionary entries defined in Clause 4, and must recognize any data that obey the constraints
defined in Clause 6.3.
An implementation claiming conformance to conformance class 1, 2 or 3 must also include the
implementation resources specified in Clause 6.1, and must have the capability to process external
files compliant with Clause 5.
An implementation claiming conformance to conformance class 1E, 2E or 3E must also include the
implementation resources specified in Clause 6.1, and must have the capability to process external
files associated with the program_protocol that the implementation claims to support.
NOTE The program_protocol is defined in ISO 13584-24.
6.1 Implementation resources
This clause gives requirements for a receiving system.
NOTE 1 For conformance classes 1, 2 and 3, the file format is the FORTRAN binding of ISO 13584-31:1999.
For conformance classes 1E, 2E and 3E, the file format is to be defined by separate agreement between the
sender and the receiver.
16 © ISO 2003 – All rights reserved

NOTE 2 The particular interface intended to be used to process a library external file is specified, within
the library delivery file that references them, by means of an external_file_protocol entity.
The implementation resource requirements are the following:
— Implementations claiming conformance to conformance class 1 shall support level 1 of the
geometric programming interface API, as defined in Clause 6.1.1 of ISO 13584-31:1999. It
corresponds to the creation of a basic_geometry representation for a geometry_level equal to 1.
— Implementations claiming conformance to conformance class 2 shall support level 2 of the
geometric programming interface API, as defined in Clause 6.1.1 of ISO 13584-31:1999. It
corresponds to the creation of a basic_geometry representation for geometry_levels equal to 1
and 2.
— Implementations claiming conformance to conformance class 3 shall support level 3 of the
geometric programming interface API, as defined in Clause 6.1.1 of ISO 13584-31:1999. It
corresponds to the creation of a basic_geometry representation for geometry_levels equal to 1,
2 and 3.
— Conformance class 1E requires the support of a geometric interface able to create a
basic_geometry representation for a geometry_level equal to 1.
— Conformance class 2E requires the support of a geometric interface able to create a
basic_geometry representation for geometry_levels equal to 1 and 2.
— Conformance class 3E requires the support of a geometric interface able to create a
basic_geometry representation for geometry_levels equal to 1, 2 and 3.
NOTE 3 New conformance classes are intended to be defined by amendment of this part of ISO 13584 if
new APIs or new language bindings to the API in I
...

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

Frequently Asked Questions

ISO 13584-101:2003 is a standard published by the International Organization for Standardization (ISO). Its full title is "Industrial automation systems and integration — Parts library — Part 101: Geometrical view exchange protocol by parametric program". This standard covers: ISO 13584-101:2003 specifies a particular representation category, called basic_geometry. This representation category captures the generic concept of the shape of a part. It may be associated with any of the items defined in a parts library. ISO 13584-101:2003 also defines how representations that belong to this representation category may be exchanged within a library exchange context by means of FORTRAN programs compliant with ISO 13584-31:1999, or, by case of separate agreement between the sender and the receiver, by means of any other parametric formats.

ISO 13584-101:2003 specifies a particular representation category, called basic_geometry. This representation category captures the generic concept of the shape of a part. It may be associated with any of the items defined in a parts library. ISO 13584-101:2003 also defines how representations that belong to this representation category may be exchanged within a library exchange context by means of FORTRAN programs compliant with ISO 13584-31:1999, or, by case of separate agreement between the sender and the receiver, by means of any other parametric formats.

ISO 13584-101:2003 is classified under the following ICS (International Classification for Standards) categories: 25.040.40 - Industrial process measurement and control. The ICS classification helps identify the subject area and facilitates finding related standards.

You can purchase ISO 13584-101:2003 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.