Среди программных систем, поддерживающих STEP-технологию, наиболее известны продукты компаний STEP Tools и EPM Technology. Ниже изложены некоторые приемы работы с программами комплекса EDM (Express Data Manager) компании EPM Technology. Эти приемы нужно освоить для выполнения лабораторной работы, посвященной освоению STEP -технологии и языка Express.
В процессе выполнения лабораторной работы рекомендуется изучить и освоить:
В первой части работы следует ознакомиться с приводимым далее кратким руководством по использованию программного комплекса EDM, выполнив операции моделирования для рассмотренных в руководстве примеров. Во второй части нужно создать Express-схему и обменный файл для задачи, предложенной преподавателем.
Создание схемы с помощью EDMvisualExpress.
Лабораторную работу следует начать с создания базы данных или открытия уже существующей БД.
После открытия БД нужно задать новую диаграмму с помощью выбора иконки New diagram (рис. 1), присвоив диаграмме имя, например, diag. Далее рассматривается простой пример создания схемы и обменного файла для модели, описывающей отрезок прямой линии.
Сначала используя иконки Create Entity и Text Edit, следует создать два изображения сущностей line и point, затем с помощью Create Real — изображение простого типа Real. Изображения атрибутов создаются с помощью иконки Create Attribute — нужно выбрать родительскую сущность, затем кнопку Create Attribute, затем дочернюю сущность. Появляются линии атрибутов с надписями вида "Attribute_1". Двойной клик на этой надписи приводит к появлению окна, в котором можно задать имя атрибута и в случае агрегативного типа — его размерность. Модель с выбранными именами сущностей и атрибутов принимает вид рис. 2.
Рис. 1.  
Одновременно с появлением изображений в окне вывода в левой части окна можно увидеть иерархию создаваемых сущностей и атрибутов. Выбор иконки Validate позволяет увидеть схему на языке Express (рис. 3), соответствующую модели рис. 2.
Рис. 2.  
Рис. 3.  
Сохранить созданную схему можно, выбрав иконку Write EXPRESS source (см. рис. 1). Для получения HTML-файла нужно перейти из EDMvisualExpress в EDMSupervisor и в режиме Schemata > Make HTML format указать выбранное имя HTML-файла.
Использование внешней схемы
В комплексе EDM можно работать как со схемами, созданными в EDMvisualExpress, так и импортируемыми извне. Текстовый файл внешней схемы должен иметь расширение exp.
Работа с файлом происходит после его определения в среде программы EDMSupervisor в режиме Schemata > Define Schema. При этом в указанном пользователем диагностическом файле появляются диагностические сообщения.
Создание экземпляров сущностей и обменного файла с помощью EDMSupervisor
После входа в EDMSupervisor и открытия БД требуется создать репозиторий и модель в режиме Data > Create>Repository и Data > Create>Model.
Экземпляры модели создаются в режиме Data >Create > Instance. В случае схемы diag можно начать с создания экземпляра сущности line. В появляющемся окне рис. 4 нужно выбрать позицию >, и в следующем окне атрибут P0 сущности line связывается с сущностью point с помощью выбора иконки Connect и затем иконки Next. Появляется окно рис. 5, в котором снова нужно указать >, что вызывает окно рис. 6. В этом окне в строке Value последовательно указываются значения трех координат точки P0 (после записи очередного значения нужно нажать кнопку Update). Затем с помощью Prev дважды осуществляем возврат в предыдущие окна, чтобы повторить такие же операции для точки P1. После этого можно выходить из режима создания модели.
Рис. 4.  
Рис. 5.  
Рис. 6.  
Обменный файл (иначе, STEP файл) служит для экспорта созданной модели. Для создания обменного файла (в соответствии с ISO 10303-21) нужно войти в режим Data > Export Model и в появившемся окне рис. 7 указать выбранный адрес обменного файла (с расширением stp), например, как показано на рис. 7. Увидеть содержимое созданного файла можно в режиме Data > Show>STEP file. Для схемы diag обменный файл может иметь следующий вид (в примере P0=(2, 34, 5), P1=(0, 0, 10)):
ISO-10303-21;
HEADER;
FILE_DESCRIPTION((),'2;1');
FILE_NAME('mod3','2006-02-19T08:04:50',('ANONYMOUS USER'),('ANONYMOUS ORGANISATION'),
   'EXPRESS Data Manager version 20050406',$,$);
FILE_SCHEMA(('DIAG'));
ENDSEC;

DATA;
#1= LINE(#2,#4);
#2= POINT((2.,34.,5.));
#4= POINT((0.,0.,10.));
ENDSEC;

END-ISO-10303-21;
Рис. 7.  
Обменный файл в виде XML-документа в соответствии с протоколом ISO 10303-28 можно получить в режиме Data > XML >Write XML document, задав определенное имя XML-файла. В нашем примере файл имеет вид:
<?xml version="1.0" encoding="UTF-8"?>
<ex:iso_10303_28 xmlns:
xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:ex="urn:iso10303-28:ex"
xsi:schemaLocation="urn:iso10303-28:ex./ex.xsd" version="2.0">
<ex:uos id="uos_1" description="" configuration="default" edo="">

<line id="i160">
<p0>
<point xsi:nil="true" ref="i161"/>
</p0>
<p1>
<point xsi:nil="true" ref="i163"/>
</p1>
</line>
<point id="i161">
<X ex:cType="array" ex:arraySize="3">
<ex:double-wrapper>2.</ex:double-wrapper>
<ex:double-wrapper>34.</ex:double-wrapper>
<ex:double-wrapper>5.</ex:double-wrapper>
</X>
</point>
<point id="i163">
<X ex:cType="array" ex:arraySize="3">
<ex:double-wrapper>0.</ex:double-wrapper>
<ex:double-wrapper>0.</ex:double-wrapper>
<ex:double-wrapper>10.</ex:double-wrapper>
</X>
</point>
</ex:uos>
</ex:iso_10303_28>
Еще один пример
Рассмотрим получение STEP файла в системе EDM для следующей Express-схемы:
SCHEMA DIAG1;
  ENTITY docum;
      image : picture;
  END_ENTITY;
  ENTITY picture SUPERTYPE OF (ONEOF(circle ANDOR line));
      annot : STRING;
  END_ENTITY;
  ENTITY circle
    SUBTYPE OF(picture);
      radius : REAL;
      center : point;
  END_ENTITY;
  ENTITY line
    SUBTYPE OF(picture);
      p0 : point;
      p1 : point;
  END_ENTITY;
  ENTITY point;
      x : ARRAY [1:2] OF REAL;
  END_ENTITY;
END_SCHEMA;
После создания репозитория и модели вводятся экземпляры сущностей. В нашем примере сначала описываются три экземпляра сущности point (выбраны координаты точек (0;0), (1;1) и (12;4,5). Далее создается экземпляр сущности circle в режиме Create > Instance. Появляются окна Create Instance и далее Instance и Select (рис. 8). В окне Instance набираются значения Line и 7.5 (после каждого набора нажимается кнопка Update), затем выбирается кнопка > и в окне Select выбирается ConnectExistingInstance, так как экземпляры точек уже введены (иначе нужно было бы выбрать ConnectNewInstance). В окне рис. 9 выбирается сущность point и в строке First instance index to check указывается нужный номер экземпляра point (в нашем случае это 0). В появляюшемся окне нужно нажать кнопку Connect.
Рис. 8.  
Рис. 9.  
Аналогичным образом создаются экземпляры сущностей line и docum. Полученный STEP файл имеет вид:
ISO-10303-21;
HEADER;
  FILE_DESCRIPTION((),'2;1');
  FILE_NAME('mod','2006-02-24T16:04:35',('ANONYMOUS USER'),('ANONYMOUS ORGANISATION'),
     'EXPRESS Data Manager version 20050406',$,$);
  FILE_SCHEMA(('DIAG1'));
ENDSEC;
 DATA;
   #1= POINT((0.,0.));
   #3= POINT((1.,1.));
   #5= POINT((12.,4.5));
   #7= LINE('Line',#3,#5);
   #8= CIRCLE('Circle',7.5,#1);
   #9= DOCUM(#8);
   #10= DOCUM(#7);
 ENDSEC;
END-ISO-10303-21;