Пример полной структуры обмена

Печатное представление структур обмена.

SCHEMA, CONSTANT, RULE и коментариев.

Отображение элемента EXPRESS для

Кодирование имен типов объектов.

Отображение инверсных (INVERSE) атрибутов.

Локальные правила объекта.

Локальные правила объекта являются правила WRITE и правила UNIQUE, которые не должны отображаться в структуру обмена.

Пример.

ENTITY widget;

a:REAL;

b:REAL;

c:REAL;

WRITE

a**2+b**2+c**2=3.0;

END_ENTITY;

В секции данных.

#2 = WIDGET(1.0,1.0,2.0);

Атрибуты, описанные в разделе INVERSE, не должны отображаться в структуру обмена.

Если документ, определяющий схему, экземпляры которой являются предметом секции данных, определяет также и набор сокращенных имен для каждого типа данных объекта в схеме, то эти сокращенные имена должны быть использованы при кодировании имен типов данных объекта. В другом случае имена типов данных объекта при кодировании будут сами имена типов данных объекта. В обоих случаях все строчные буквы должны быть преобразованы в прописные буквы, т.е. код не должен содержать никаких строчных букв.

 

Все эти объекты не должны отображаться в структуру обмена. Имя SCHEMA должно отображать в заголовочной секции, как определено в 3.2.3 в виде file_schema.

Для управления печатью структуры обмена используются комбинации графических символов

\N\ - новая строка

\F\ - перевод страницы.

Ниже представлена EXPRESS схема таблица сокращений имен и структура обмена.

Пример схемы

 

SCHEMA example_geometry;

TYPE length_measure=NUMBER;

End_TYPE;

ENTITY gejmetry;

SUPERTYPE OF (ONEOF(point));

END_ENTITY;

ENTITY point;

SUPERTYPE OF (ONEOF(cartesian_point));

SUBTYPEOF(geometry);

END_ENTITY;

ENTITY cartesian_point;

SUBTYPE OF(point);

x_coordinate:length_measure;

y_coordinate:length_measure;

z_coordinate:length_measure;

END_ENTITY;

TYPE edge_of_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:OPTINAL 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;

 

Пример сокращенных имен вышеприведенной схемы:

Cartesian_point – crt, vertex – vx, edge – ed, edge_logical_structure – ed_strc, edge_loop – ed_loop.

 

Пример структуры обмена.

Ниже приведен пример полной структуры обмена.

 

ISO-10303-21;

HEADER;

FILE_DESCRIPTION((‘THIS FILE CONTAINTS A SMALL SAMPLE STEP MODEL’),’2;1);

FILE_NAME(‘EXAMPLE STEP FILE #1);

‘1992-02-11T15:30-00’;

(‘JOHN DOF

‘ASME INC’,

‘METROPOLIS USA’)

(‘ASME 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;

/*

СЛЕДУЮЩИЕ 13 ОБЪЕКТОВ ПРЕДСТАВЛЯЮТ КОНТУР СТОРОН ТРЕУГОЛЬНИКА

*/

#1=CPT(0.0,0.0,0.0); /*ЭТОТ ОБЪЕКТ “ДЕКАРТОВА ТОЧКА”*/

#2=CPT(0.0,1.0,0.0);

#3=CPT(1.0,0.0,0.0);

#11=VX(#1); /*ЭТОТ ОБЪЕКТ ТИПА “ВЕРШИНА”*/

#12=VX(#2);

#13=VX(#3);

#16=ED(#11,#12); /*ЭТОТ ОБЪЕКТ ТИПА “СТОРОНА”*/

#17=ED(#11,#13);

#18=ED(#13,#12);

#21=ED_STRC(#17,.F.); /*ЭТОТ ОБЪЕКТ ТИПА “ЛОГИЧЕСКАЯ СТРУКТУРА СТОРОНЫ”/*

#22=ED_STRC(#18,.F.);

#23=ED_STRC(#19,.F.);

#24=ED_LOOP((#21,#22,#23)); /*ЭТОТ ОБЪЕКТ ТИПА КОНТУР СТОРОН”*/

/*ДАЛЕЕ СЛЕДУЕТ ДРУГОЙ СПОСОБ ПРЕДСТАВЛЕНИЯ ТОРОН ТРЕУГОЛЬНИКА*/

#100=CPT(0.0,0.0,0.0); /*ЭТОТ ОБЪЕКТ “ДЕКАРТОВА ТОЧКА”*/

#200=CPT(0.0,1.0,0.0);

#300=CPT(1.0,0.0,0.0);

#1100=VX(#100); /*ЭТОТ ОБЪЕКТ ТИПА “ВЕРШИНА”*/

#1200=VX(#200);

#1300=VX(#300);

#1600=ED(#1100,#1200); /*ЭТОТ ОБЪЕКТ ТИПА “СТОРОНА”*/

#1700=ED(#1100,#1300);

#1800=ED(#1300,#1200);

#400=&SCOPE

#2000=ED_STRC(#1700,.F.); /*ЭТОТ ОБЪЕКТ ТИПА

“ЛОГИЧЕСКАЯ СТРУКТУРА СТОРОНЫ”/*

#2100=ED_STRC(#1800,.F.);

#2200=ED_STRC(#1900,.F.);

END_SCOPE;

ED_LOOP((#2000,#2100,#2200));

/*ВОЗМОЖНЫ И ДРУГИЕ ФОРМЫ ПРЕДСТАВЛЕНИЯ ДАННЫХ*/

ENDSEC

END-ISO10303-21;