ISO 13584-31:1999
(Main)Industrial automation systems and integration - Parts library - Part 31: Implementation resources: Geometric programming interface
Industrial automation systems and integration - Parts library - Part 31: Implementation resources: Geometric programming interface
This part of ISO 13584 specifies an application programming interface that enables an application program to generate geometric models that are independent of the target user system. The interface allows portability of programs that describe parametric shape representations of parts families held in an ISO 13584 parts library. The following are within the scope of this International Standard: - programs to generate geometric representations within a modelling system that are independent of the target system, - programs that specify geometric representations that are created through constraint-based geometric definitions, - programs that structure geometric representations created independently of the target system, - programs that specify presentation style attributes for symbolic visualisation of representations created, - programs that support technical drawing standard conventions for shape representation, including a 2D hidden line mechanism. The following are outside the scope of this International Standard: - The precise control of the image to be displayed on the receiving system devices, - The precise definition of the data that shall be created on the receiving system, - The storage of a parametric model on the receiving system.
Systèmes d'automatisation industrielle et intégration — Bibliothèque de composants — Partie 31: Ressources de mise en application: Interface de programmation géométrique
General Information
- Status
- Published
- Publication Date
- 15-Dec-1999
- Technical Committee
- ISO/TC 184/SC 4 - Industrial data
- Current Stage
- 9020 - International Standard under periodical review
- Start Date
- 15-Oct-2025
- Completion Date
- 15-Oct-2025
Relations
- Consolidated By
ISO 9241-154:2013 - Ergonomics of human-system interaction - Part 154: Interactive voice response (IVR) applications - Effective Date
- 06-Jun-2022
Overview - ISO 13584-31:1999 (Geometric programming interface)
ISO 13584-31:1999 is part of the ISO 13584 series for parts libraries and specifies an application programming interface (API) for generating geometric models that are independent of the target user system. The standard enables portability of programs that describe parametric shape representations of part families stored in an ISO 13584 parts library. It defines logical and implementation resources so CAD/modelling systems can receive, interpret and render parametric geometry consistently across platforms.
Key topics and technical requirements
- Portable geometric API: Defines an interface to create geometric models independent of a specific CAD system, supporting reuse of programmatic shape descriptions.
- Parametric and constraint-based definitions: Supports generation of models created via parameters and constraint-based geometric definitions.
- Representation structure: Rules for structuring geometric representations created externally (groups, entities, temporary databases).
- Presentation attributes: Mechanisms for specifying presentation style for symbolic visualization (line styles, fill areas, annotation).
- Technical drawing conventions: Support for technical drawing behaviors including a 2D hidden-line removal mechanism.
- Logical model and entity types: Includes an abstract schema (api_abstract_schema) covering geometric primitives and higher-level items (points, curves, surfaces, representation_context, geometric_representation_item).
- Conformance and error handling: Defines allowed implementation levels, simulation strategies for missing entities, and interface error states.
- Out of scope: Precise control of device display, exact data layout on the receiving system, and storage of the parametric model on the receiver.
Applications and practical value
- Ensures interoperability between parts libraries and diverse CAD/CAM/CAE systems by enabling exchange of parametric shape programs.
- Enables software vendors and integrators to deliver portable part-family generators that work across modelling systems.
- Useful in product lifecycle management (PLM), digital catalog distribution, automated part configuration, and manufacturing preparation workflows.
- Reduces duplication of modelling effort, speeds up library deployment, and supports consistent visual and 2D drawing outputs across platforms.
Who should use this standard
- CAD/CAM/CAE developers implementing import/export or plugin interfaces.
- Library suppliers creating parametric part families for broad distribution.
- System integrators and LMS (library management system) implementers working to standardize part geometry exchange.
- PLM and manufacturing engineers focused on automated configuration and consistent technical drawings.
Related standards
- ISO 13584 family (parts library standards) - see ISO 13584-10 and other parts for complementary definitions, data models and part-property specifications.
Frequently Asked Questions
ISO 13584-31:1999 is a standard published by the International Organization for Standardization (ISO). Its full title is "Industrial automation systems and integration - Parts library - Part 31: Implementation resources: Geometric programming interface". This standard covers: This part of ISO 13584 specifies an application programming interface that enables an application program to generate geometric models that are independent of the target user system. The interface allows portability of programs that describe parametric shape representations of parts families held in an ISO 13584 parts library. The following are within the scope of this International Standard: - programs to generate geometric representations within a modelling system that are independent of the target system, - programs that specify geometric representations that are created through constraint-based geometric definitions, - programs that structure geometric representations created independently of the target system, - programs that specify presentation style attributes for symbolic visualisation of representations created, - programs that support technical drawing standard conventions for shape representation, including a 2D hidden line mechanism. The following are outside the scope of this International Standard: - The precise control of the image to be displayed on the receiving system devices, - The precise definition of the data that shall be created on the receiving system, - The storage of a parametric model on the receiving system.
This part of ISO 13584 specifies an application programming interface that enables an application program to generate geometric models that are independent of the target user system. The interface allows portability of programs that describe parametric shape representations of parts families held in an ISO 13584 parts library. The following are within the scope of this International Standard: - programs to generate geometric representations within a modelling system that are independent of the target system, - programs that specify geometric representations that are created through constraint-based geometric definitions, - programs that structure geometric representations created independently of the target system, - programs that specify presentation style attributes for symbolic visualisation of representations created, - programs that support technical drawing standard conventions for shape representation, including a 2D hidden line mechanism. The following are outside the scope of this International Standard: - The precise control of the image to be displayed on the receiving system devices, - The precise definition of the data that shall be created on the receiving system, - The storage of a parametric model on the receiving system.
ISO 13584-31:1999 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.
ISO 13584-31:1999 has the following relationships with other standards: It is inter standard links to ISO 9241-154:2013. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
You can purchase ISO 13584-31:1999 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.
Standards Content (Sample)
INTERNATIONAL ISO
STANDARD 13584-31
First edition
1999-12-15
Industrial automation systems and
integration — Parts library —
Part 31:
Implementation resources: Geometric
programming interface
Systèmes d'automatisation industrielle et intégration — Bibliothèque
de composants —
Partie 31: Ressources de mise en application: Interface de programmation
géométrique
Reference number
©
ISO 1999
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 1999
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 734 10 79
E-mail copyright@iso.ch
Web www.iso.ch
Printed in Switzerland
ii © ISO 1999 – All rights reserved
ISO/FDIS 13584-31:1999(E)
© ISO 1999 – All rights reserved ii-1
ISO 13584-31: 1999(E) ã ISO
Contents Page
1 SCOPE AND FIELD OF APPLICATION . 1
2 NORMATIVE REFERENCES. 1
3 TERMS, DEFINITIONS AND ABBREVIATIONS. 2
3.1 Terms defined in ISO 13584-10. 2
3.2 Other terms and definitions. 3
3.3 Abbreviations . 3
4 FUNDAMENTAL CONCEPTS. 4
4.1 Requirement for parametrics capabilities. 4
4.2 Exchange format for parametric shape description . 4
4.3 Internal representation of the data created in the receiving CAD system. 4
4.4 Library supplier and LMS user responsibility. . 5
4.5 Compatibility . 5
4.6 Geometry representation accuracy . 5
5 INTERFACE PRESENTATION . 7
5.1 Specification and conformance. 7
5.1.1 Allowed levels of implementation . 7
5.1.2 Simulation of missing entities . 7
5.2 Interface tables. 7
5.3 Creation of product model data. 8
5.3.1 Reference coordinate system of a view (OVC) . 8
5.3.2 Geometrical units in the OVC . 9
5.3.3 Content of a view . 9
5.3.4 Temporary database. 9
5.3.5 Hidden line removal process .10
5.3.6 The representation process .11
5.4 Entities structure.12
5.4.1 Group structure in the TDB.12
5.4.2 Structure of the entities sent to the CAD system.13
5.5 Geometrical or structured entity name .13
5.6 Coordinate system and transformation.13
5.7 Interface error state .14
5.8 Error handling.14
5.8.1 Error handling methodology.14
5.8.2 Error messages .15
6 LOGICAL MODEL OF THE TARGET MODELLING SYSTEM .18
6.1 Geometric representation item.18
6.1.1 api_abstract_schema.20
ii-2
ã ISO ISO 13584-31: 1999(E)
6.1.1.1 API_ABSTRACT_SCHEMA constant definition: Geometry representation accuracy.20
6.1.2 API_ABSTRACT_SCHEMA type definition : Fundamentals of product description and support .21
6.1.2.1 Identifier.21
6.1.2.2 Label .21
6.1.2.3 Text.21
6.1.2.4 Length_measure.22
6.1.2.5 Plane_angle_measure.22
6.1.2.6 Positive_length_measure .22
6.1.2.7 Positive_plane_angle_measure.22
6.1.2.8 Parameter_value.23
6.1.2.9 Message.23
6.1.2.10 Reference.23
6.1.3 API_ABSTRACT_SCHEMA type definition : Geometric and topological representations .23
6.1.3.1 Dimension_count.23
6.1.3.2 Transition_code.24
6.1.3.3 Preferred_surface_curve_representation.24
6.1.3.4 Trimming_preference .25
6.1.3.5 Axis2_placement.25
6.1.3.6 Curve_on_surface .25
6.1.3.7 Pcurve_or_surface .26
6.1.3.8 Trimming_select.26
6.1.3.9 Vector_or_direction .26
6.1.4 API_ABSTRACT_SCHEMA type definition: Geometry models .26
6.1.4.1 Boolean_operand .26
6.1.4.2 Boolean_operator.27
6.1.4.3 Csg_primitive .27
6.1.4.4 Csg_select .27
6.1.4.5 Geometric_set_select.28
6.1.5 API_ABSTRACT_SCHEMA type definition: api specific types for structuring.28
6.1.5.1 Api_grouped_item .28
6.1.5.2 Api_set_item .28
6.1.6 API_ABSTRACT_SCHEMA entities definition : Fundamentals of product description
and support .29
6.1.6.1 Shape_representation .29
6.1.6.2 Group.29
6.1.6.3 Group_assignment .30
6.1.6.4 External_source .30
6.1.6.5 Pre_defined_item .30
6.1.6.6 Externally_defined_item.31
6.1.7 API_ABSTRACT_SCHEMA entity definition: Representation structures .31
6.1.7.1 Representation_context.31
6.1.7.2 Representation_item .32
6.1.7.3 Representation .32
6.1.7.4 Representation_map .34
6.1.7.5 Mapped_item .34
6.1.8 API_ABSTRACT_SCHEMA entity definition: Geometric representation structures .35
6.1.8.1 Geometric_representation_context.35
6.1.8.2 Geometric_representation_item.35
6.1.9 API_ABSTRACT_SCHEMA entity definition: Geometric mathematical entities.37
6.1.9.1 Point.37
6.1.9.2 Cartesian_point .37
6.1.9.3 Direction.38
6.1.9.4 Vector .38
6.1.9.5 Placement.39
6.1.9.6 Axis1_placement.40
6.1.9.7 Axis2_placement_2d .40
6.1.9.8 Axis2_placement_3d .41
6.1.10 API_ABSTRACT_SCHEMA entity definition: Geometric curves entities.43
6.1.10.1 Curve .43
6.1.10.2 Line .43
6.1.10.3 Bounded_curve .44
6.1.10.4 Trimmed_curve .45
iii
ISO 13584-31: 1999(E) ã ISO
6.1.10.5 Composite_curve.47
6.1.10.6 Composite_curve_segment .48
6.1.10.7 Surface_curve .49
6.1.10.8 Composite_curve_on_surface .51
6.1.10.9 Bounded_surface_curve .52
6.1.11 API_ABSTRACT_SCHEMA entity definition: Geometric conic entities.52
6.1.11.1 Conic.52
6.1.11.2 Circle.53
6.1.11.3 Ellipse .54
6.1.11.4 Hyperbola.56
6.1.11.5 Parabola.57
6.1.12 API_ABSTRACT_SCHEMA entity definition: api specific basic curves .59
6.1.12.1 Api_line .59
6.1.12.2 Api_circular_arc.60
6.1.13 API_ABSTRACT_SCHEMA entity definition: api specific conic arcs .60
6.1.13.1 Api_elliptical_arc .61
6.1.13.2 Api_hyperbolic_arc .62
6.1.13.3 Api_parabolic_arc.62
6.1.14 API_ABSTRACT_SCHEMA entity definition: curve entities .63
6.1.14.1 Polyline .63
6.1.14.2 Api_contour .64
6.1.15 API_ABSTRACT_SCHEMA entity definition: fill area.66
6.1.15.1 Annotation_fill_area.67
6.1.16 API_ABSTRACT_SCHEMA entity definition : Geometric surface entities .69
6.1.16.1 Surface.69
6.1.16.2 Elementary surface.69
6.1.16.3 Plane.70
6.1.16.4 Bounded_surface.70
6.1.16.5 Curve_bounded_surface.71
6.1.16.6 Boundary_curve .72
6.1.16.7 Outer_boundary_curve .73
6.1.17 API_ABSTRACT_SCHEMA entity definition : api specific surface entities .73
6.1.17.1 Api_planar_surface.73
6.1.18 API_ABSTRACT_SCHEMA entity definition : Geometric solid entities.75
6.1.18.1 Solid_model .75
6.1.18.2 Csg_solid.75
6.1.18.3 Boolean_result.76
6.1.18.4 Csg_primitive .76
6.1.18.4.1 Sphere.77
6.1.18.4.2 Right_circular_cone.77
6.1.18.4.3 Right_circular_cylinder .78
6.1.18.4.4 Torus.78
6.1.18.4.5 Block .79
6.1.18.4.6 Right_angular_wedge .79
6.1.18.5 Swept_area_solid .80
6.1.18.6 Extruded_area_solid.81
6.1.18.7 Revolved_area_solid .81
6.1.18.8 Half_space_solid .83
6.1.19 API_ABSTRACT_SCHEMA entity definition : api specific entities for structuring .83
6.1.19.1 Api_group.83
6.1.19.2 Api_group_assignment .84
6.1.19.3 Api_set .84
6.1.19.4 Api_set_assignment.85
6.2 Visual appearance of geometric representation items.85
6.2.1 API_ABSTRACT_SCHEMA type definition : Visual presentation .86
6.2.1.1 Presentation_style_select.86
6.2.1.2 Null_style .86
6.2.1.3 Size_select.87
6.2.1.4 Curve_font_or_scaled_curve_font_select.87
6.2.1.5 Curve_style_font_select .87
6.2.1.6 Fill_style_select.88
6.2.2 API_ABSTRACT_SCHEMA type definition : api specific types for visual presentation.88
iv
ã ISO ISO 13584-31: 1999(E)
6.2.2.1 Virtual_height_ratio .88
6.2.3 API_ABSTRACT_SCHEMA entities definition : Visual presentation.88
6.2.3.1 Styled_item .88
6.2.3.2 Presentation_style_assignment .89
6.2.3.3 Externally_defined_style.90
6.2.3.4 Curve_style .90
6.2.3.5 Fill_area_style.91
6.2.3.6 Fill_area_style_hatching.92
6.2.3.7 One_direction_repeat_factor .93
6.2.3.8 Colour .94
6.2.3.9 Pre_defined_size.94
6.2.3.10 Pre_defined_curve_font.94
6.2.3.11 Pre_defined_colour.95
6.2.3.12 Annotation_occurrence .95
6.2.3.13 Annotation_fill_area_occurrence.96
6.2.4 API_ABSTRACT_SCHEMA entities definition : externally-defined styles for visual
presentation.96
6.2.4.1 Api_externally_defined_point_style .97
6.2.4.2 Api_externally_defined_curve_style .98
6.2.4.3 Api_externally_defined_fill_area_style.99
6.2.4.4 Api_externally_defined_surface_style.99
6.2.5 API_ABSTRACT_SCHEMA entities definition : pre-defined styles for visual presentation .100
6.2.5.1 Api_pre_defined_hatch_width.100
6.2.5.2 Api_pre_defined_hatch_curve_font .101
6.2.5.3 Api_pre_defined_hatch_colour .101
6.2.5.4 Api_pre_defined_occlusion_style.102
6.2.5.5 Api_pre_defined_virtually_sent_style.103
6.3 API_ABSTRACT_SCHEMA function definition .103
6.3.1 API_ABSTRACT_SCHEMA function definition : Geometric and topological representations .103
6.3.1.1 Dimension_of .103
6.3.1.2 Associated_surface .104
6.3.1.3 Base_axis.104
6.3.1.4 Build_2axes.105
6.3.1.5 Build_axes .106
6.3.1.6 Orthogonal_complement .106
6.3.1.7 First_proj_axis.107
6.3.1.8 Second_proj_axis.108
6.3.1.9 Cross_product .108
6.3.1.10 Dot_product.109
6.3.1.11 Normalise .110
6.3.1.12 Scalar_times_vector.111
6.3.1.13 Vector_sum .112
6.3.1.14 Vector_difference .113
6.3.1.15 Constraints_composite_curve_on_surface.114
6.3.1.16 Get_basis_surface.115
6.3.1.17 List_to_array.116
6.3.1.18 Make_array_of_array.116
6.3.2 API_ABSTRACT_SCHEMA function definition: Support resources.117
6.3.2.1 Bag_to_set .117
6.3.3 API_ABSTRACT_SCHEMA function definition: Representation structures .118
6.3.3.1 Acyclic_mapped_representation.118
6.3.3.2 Item_in_context.119
6.3.3.3 Using_representations.120
6.3.4 API_ABSTRACT_SCHEMA function definition: api specific functions.121
6.3.4.1 Tree_api_group_structure.121
6.3.4.1.1 Assigned_api_group.123
6.3.4.2 Tree_api_set_structure.123
6.3.4.2.1 Assigned_api_set .124
6.3.4.3 Api_legal_style_number .125
6.4 API_ABSTRACT_SCHEMA global rules.127
6.4.1 Unique_shape_representation .127
v
ISO 13584-31: 1999(E) ã ISO
7 INTERFACE FUNCTIONAL SPECIFICATION.127
7.1 Notational conventions .127
7.1.1 Function representation .127
7.1.2 Data type representation.129
7.1.3 Entity names and abbreviations.129
7.1.4 Function names.130
7.2 Logical description of the interface functions and FORTRAN binding.131
8 INTERFACE TABLES.131
8.1 Interface description table.131
8.2 Interface status table .131
9 DIMENSIONS OF INTERFACE IMPLEMENTATION .132
9.1 Minimal dimensions of the different interface buffers and structured data types.132
ANNEX A (NORMATIVE) LOGICAL DESCRIPTION OF THE INTERFACE FUNCTIONS AND FORTRAN
BINDINGS.133
ANNEX B (NORMATIVE) INFORMATION OBJECT REGISTRATION.325
Bibliography.326
Index.327
Figures
Figure 1 — Absolute coordinate system of a part (parts supplier defined) . 9
Figure 2 — Geometric representation items defined in the interface .18
Figure 3 — Axis2 placement 3D.43
Figure 4 — Composite curve .48
Figure 5 — Circle.54
Figure 6 — Ellipse .55
Figure 7 — Hyperbola.57
Figure 8 — Parabola.58
Figure 9 — Filling of annotation fill areas.68
Figure 10 — Curve bounded surface.72
Figure 11 — Right_angular_wedge and its attributes.80
Figure 12 — Revolved area solid.82
Figure 13 — Fill area style hatching.92
Figure 14 — One direction repeat factor .94
Figure A. 1 — Function: Dir_2_Pnt .152
Figure A. 2 — Function: Dir_2_Dir_Angle .154
Figure A. 3 — Function: A1p_Gen .157
Figure A. 4 — Function: A1p_Pnt.159
vi
ã ISO ISO 13584-31: 1999(E)
Figure A. 5 — Function: A2p_3_Pnt.161
Figure A. 6 — Function: A2p_2_Dir (in a 3D view) .163
Figure A. 7 — Function: A2p_2_Dir (in a 2D view) .164
Figure A. 8 — Function: A2p_2_Dir_Xy.165
Figure A. 9 — Function: Pnt_Cartesian_Relative .170
Figure A. 10 — Function: Pnt_Polar_Relative.173
Figure A. 11 — Function: Pnt_Cylinder_Relative .175
Figure A. 12 — Function: Pnt_Intersection_2_Ent (in a 3D-view) .179
Figure A. 13 — Function: Pnt_Tangential_Arc .181
Figure A. 14 — Function: Pnt_Projection_Ent .184
Figure A. 15 — Function: Pnt_Projection_A2p .186
Figure A. 16 — Function: Lin_2_Pnt .188
Figure A. 17 — Function: Lin_Pnt_Length_Dir .189
Figure A. 18 — Function: Lin_Tangential_Arc.191
Figure A. 19 — Function: Lin_Tangential_2_Arc .193
Figure A. 20 — Function: Lin_Chamfer_2_Lin.195
Figure A. 21 — Function: Circle_Rad_A2p.197
Figure A. 22 — Function: Arc_3_Pnt (in a 3D view) .199
Figure A. 23 — Function: Arc_3_Pnt (in a 2D view) .199
Figure A. 24 — Function: Arc_Rad_2_Angle_A2p.201
Figure A. 25 — Function: Arc_Rad_3_Pnt.204
Figure A. 26 — Function: Arc_Rad_2_Pnt_A2p .206
Figure A. 27 — Function: Arc_Fillet_2_Ent (lin/lin).209
Figure A. 28 — Function: Arc_Fillet_2_Ent (arc/arc) .210
Figure A. 29 — Function: Arc_Tangential_2_Ent.213
Figure A. 30 — Function: Arc_Rad_2_Ent.217
Figure A. 31 — Function: Arc_3_Ent.221
Figure A. 32 — Function: Ellipse_2_Diameter_A2p.223
Figure A. 33 — Function: Elc_Gen.225
Figure A. 34 — Function: Hyp_Gen .227
Figure A. 35 — Function: Par_Gen .229
vii
ISO 13584-31: 1999(E) ã ISO
Figure A. 36 — Function: Fsh_Gen.236
Figure A. 37 — Function: Hatch_Afa.237
Figure A. 38 — Function: Sph_Gen .240
Figure A. 39 — Function: Con_Gen .242
Figure A. 40 — Function: Cyl_Gen .243
Figure A. 41 — Function: Tor_Gen .245
Figure A. 42 — Function: Blk_Gen.246
Figure A. 43 — Function: Wdg_Gen .248
Figure A. 44 — Function: Union_Sld.249
Figure A. 45 — Function: Intersection_Sld .251
Figure A. 46 — Function: Difference_Sld.252
Figure A. 47 — Function: Sld_Extrusion .254
Figure A. 48 — Function: Sld_Revolution .255
Figure A. 49 — Function: Sld_Pipe .258
Figure A. 50 — Function: Mirror_Ent (3D view).267
Figure A. 51 — Function: Mirror_Ent (2D view).267
Figure A. 52 — Function: Dup_Mirror_Ent .269
Figure A. 53 — Function: Chg_Orientation_Ent .276
Figure A. 54 — Function: Chg_Sense_Ent.277
Figure A. 55 — Function: Homotetia_Ent.278
Figure A. 56 — Function: Start_Angle_Arc.289
Figure A. 57 — Function: End_Angle_Arc.290
Figure A. 58 — Function: Ref_Sys_3_Pnt (3D view) .292
Figure A. 59 — Function: Ref_Sys_
...










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