ISO 10303-21:2016(E)
An example EXPRESS schema definitions, a table of short names and an exchange structure are presented below. This EXPRESS schema does not reflect the contents of any part of ISO 10303.
The EXPRESS schema definitions used for the exchange structure example.
SCHEMA example_geometry; TYPE length_measure = NUMBER; END_TYPE; ENTITY geometry SUPERTYPE OF (ONEOF(point)); END_ENTITY; ENTITY point SUPERTYPE OF (ONEOF(cartesian_point)) SUBTYPE OF (geometry); END_ENTITY; ENTITY cartesian_point SUBTYPE OF (point); x_coordinate : length_measure; y_coordinate : length_measure; z_coordinate : OPTIONAL length_measure; END_ENTITY; TYPE edge_or_logical = SELECT (edge, edge_logical_structure); END_TYPE; ENTITY topology SUPERTYPE OF (ONEOF(vertex, edge, loop)); END_ENTITY; ENTITY vertex SUBTYPE OF (topology); vertex_point : OPTIONAL point; END_ENTITY; ENTITY edge SUBTYPE OF (topology); edge_start : vertex; edge_end : vertex; END_ENTITY; ENTITY edge_logical_structure; edge_element : edge; flag : BOOLEAN; END_ENTITY; ENTITY loop SUPERTYPE OF (ONEOF(edge_loop)) SUBTYPE OF (topology); END_ENTITY; ENTITY edge_loop SUBTYPE OF (loop); loop_edges : LIST [1:?] OF edge_or_logical; END_ENTITY; END_SCHEMA;
The following gives the short names for the schema above.
Entity name | Short name |
---|---|
cartesian_point | cpt |
vertex | vx |
edge | ed |
edge_logical_structure | ed_strc |
edge_loop | ed_loop |
The following is an example of a complete exchange structure.
NOTE 1 The schema is only an example, so there is no schema registration id present in the schema_name attribute of the file_schema entity instance in the header section.
ISO-10303-21; HEADER; FILE_DESCRIPTION(('THIS FILE CONTAINS A SMALL SAMPLE STEP MODEL'),'3;1'); FILE_NAME('EXAMPLE STEP FILE #1', '2013-02-11T15:30:00', ('JOHN DOE', 'ACME INC.', 'METROPOLIS USA'), ('ACME INC. A SUBSIDIARY OF GIANT INDUSTRIES','METROPOLIS USA'), 'CIM/STEP VERSION2', 'SUPER CIM SYSTEM RELEASE 4.0', 'APPROVED BY JOE BLOGGS'); FILE_SCHEMA(('EXAMPLE_GEOMETRY')); ENDSEC; DATA; /* THE FOLLOWING 13 ENTITIES REPRESENT A TRIANGULAR EDGE LOOP */ #1=CPT(0.0,0.0,0.0); /* THIS IS A CARTESIAN POINT ENTITY */ #2=CPT(0.0,1.0,0.0); #3=CPT(1.0,0.0,0.0); #11=VX(#1); /* THIS IS A VERTEX ENTITY */ #12=VX(#2); #13=VX(#3); #16=ED(#11,#12); /* THIS IS AN EDGE ENTITY */ #17=ED(#11,#13); #18=ED(#13,#12); #21=ED_STRC(#17,.F.); /* THIS IS AN EDGE LOGICAL STRUCTURE ENTITY */ #22=ED_STRC(#18,.F.); #23=ED_STRC(#16,.T.); #24=ED_LOOP((#21,#22,#23)); /* THIS IS AN EDGE LOOP ENTITY */ /* OTHER SYNTACTICAL REPRESENTATIONS WERE POSSIBLE. THE PREVIOUS EXAMPLE IS REPRESENTATIVE OF ONE POSSIBLE APPROACH. */ ENDSEC; END-ISO-10303-21;
NOTE 2 This example exchange structure has been edited to aid readability. Unnecessary spaces have been added to aid readability.
© ISO 2016 — All rights reserved