ГОСТ Р ИСО 13584-31—2010
Значение указанного абстрактного типа данных либо равно 0, либо неизвестно. Если функция интер
фейса не срабатывает и не позволяет создать некоторую сущность, то возвращаемое значение рав но
0. Если сущность отправляется в CAD и доступ к сущности уже невозможен, то ее имя становится не
известным. Неизвестное значение, как правило, возвращается функциями интерфейса, если сущность
создана непосредственно в базе данных CAD. Если для функции интерфейса в качестве значений
аргументов выбирается 0 или «неизвестное значение», то возвращаемое значение равно 0.
Все значения, не являющиеся нулевыми или неизвестными значениями имени сущности и воз
вращенные функцией интерфейса в одном сеансе, то есть с момента запуска LMS прикладной про
граммой и до момента возвращения значения данной программой, должны быть уникальными. Имя
сущности не может быть использовано повторно, даже если она направлена в САО.
П р и м е ч а н и е — На языке FORTRAN тип имени сущности ent/ly_name_type представляется целым чис
лом INTEGER. Нулевое значение отображается на 0. Неизвестное значение отображается на отрицательное це
лое. Таким образом, доступное имя сущности может отображаться только на положительное целое.
5.6 Координатная система и ее преобразование
Интерфейс имеет функции, которые могут изменять ссылочную координатную систему простран
ства с заданной OVC. Прикладные программы могут использовать такие четыре функции: Ref_Sys_3_
Pnt, Ref_Sys_2_Dir, Ref_Sys_Position_Relative и Rof_Sys_A2p. После изменения координатной системы
(либо в TDB. либо в базе данных CAD) все сущности определяются в новой ссылочной координатной
системе.
Для сохранения предшествующей ссылочной координатной системы функция Ref_Sys_A2p соз
дает локальную координатную систему (сущность oxis2_placement) из текущей ссылочной координат
ной системы вида объекта (OVC). Указанная замена ссылочной координатной системы на данную LCS
производится так, что позволяет вернуться к исходной OVC.
5.7 Состояние ошибки интерфейса
Глобальная переменная ошибки error_variable задается, если идентифицируется состояние ошиб
ки в процессе выполнения функции интерфейса. Эта переменная принимает целочисленное значение
из таблицы статуса интерфейса. Оно совпадает с номером ошибки, определяемым функцией спец
ификации. При этом в таблицу статуса интерфейса вносится запись «error_origin» с указанием имени
функции, где произошла ошибка. Запись «error_text» содержит сообщение, ассоциированное с номе
ром ошибки. Именем функции должно быть синтаксическое имя на текущем используемом языке про
граммирования (например, на языке FORTRAN). Сообщение должно быть переводом описания ошибки
(см. подраздел 5.8.1). Указанные переменные ошибки могут запрашиваться и задаваться повторно с
помощью прикладных программ.
Если переменная ошибки error_variable определена, значит, интерфейс находится в состоянии
ошибки (error_state = true). В указанном состоянии ошибки могут работать только нижеследующие
функции интерфейса, установленные в приложении А настоящего стандарта.
1) функции запроса:
2) функции перезагрузки из состояния ошибки Reset_Error_State.
Все прочие функции интерфейса являются допустимыми, но изменить что-либо они не могут. Они
возвращаются к вызывающей прикладной программе. Если прикладная программа возвращается, ког да
интерфейс находится в состоянии ошибки, то LMS должна:
1) закрыть все открытые множества;
2) закрыть открытый вид со значением error_state = true;
3) сделать записи в файле ошибок: error_variablo. orror_origin. errorjext.
4) закрыть интерфейс.
5.8 Исправление ошибок
5.8.1 Методология исправления ошибок
Для каждой функции интерфейса имеется описание конечного количества состояний ошибки,
при котором переменным ошибки присваиваются некоторые значения. Каждая реализация интерфей
са должна поддерживать режим проверки ошибки. Переменные ошибки обеспечивают связь между
прикладной программой и стандартным интерфейсом. Прикладная программа запрашивает значение
ошибки, интерпретирует информацию об ошибке и заново устанавливает значение переменной ошибки
12