ISO 10303-21 - ISO 10303-21

ШАГ
Расширение имени файла
.step, .stp, .p21
Магическое числоISO-10303-21
РазработанISO
изначальный выпуск1994
Интернет сайтТехнические характеристики

ШАГ-файл широко используется [1] форма обмена данными ШАГ. ISO 10303 может представлять 3D-объекты в Системы автоматизированного проектирования (CAD) и сопутствующая информация. Из-за своего ASCII Структура, STEP-файл легко читается, обычно с одним экземпляром на строку. Формат файла STEP определен в ISO 10303-21. Кодирование открытого текста структуры обмена.[2]

ISO 10303-21 определяет механизм кодирования для представления данных, соответствующих определенной схеме в ЭКСПРЕСС язык моделирования данных, указанный в ISO 10303-11. ШАГ-файл также называется p21-файл и Физический файл STEP. Расширения файлов .stp и .step указывает, что файл содержит данные, соответствующие протоколам приложений STEP, а расширение .p21 следует использовать для всех других целей.[3]

История

Некоторые детали, на которые следует обратить внимание:

  • Первое издание ISO 10303-21: 1994 содержало несколько ошибок, которые были исправлены техническим исправлением. Поэтому рекомендуется вместо этого изучить второе издание (см. Ниже).
  • Второе издание, ISO 10303-21: 2002, включало исправление и расширения для нескольких разделов данных.
  • Третье издание, ISO 10303-21: 2016, добавило разделы привязки, ссылки и подписи для поддержки внешних ссылок, поддержки сжатых структур обмена в архиве на основе ZIP, цифровых подписей и кодировки символов UTF-8.[4]
  • В части 21 определены два класса соответствия. Они различаются только тем, как кодировать экземпляры сложных сущностей.
    • Всегда используется класс соответствия 1, поэтому так называемый внутреннее отображение, что более компактно.
    • Класс соответствия 2, который не используется на практике, всегда требует соблюдения внешнее отображение. Теоретически это позволит улучшить взаимодействие AP, поскольку постпроцессор может знать, как обрабатывать некоторые супертипы, но может не знать указанные подтипы.
  • Первое издание части 21 предписывает использование так называемых КОРОТКИХ ИМЕН, которые не являются обязательными во втором издании. Однако на практике КОРОТКИЕ ИМЕНА используются редко.
  • 2-е издание позволяет использовать несколько разделов данных. Однако на практике в большинстве реализаций используется только один раздел данных (кодировка 1-го издания).

ISO 10303-21 Строительные блоки

пример

Типичный пример выглядит так:

ISO-10303-21; HEADER; FILE_DESCRIPTION (/ * описание * / ('Минимальный пример AP214 с одной частью'), / * уровень реализации * / '2; 1'); FILE_NAME (/ * name * / 'demo' , / * time_stamp * / '2003-12-27T11: 57: 53', / * автор * / ('Lothar Klein'), / * организация * / ('LKSoft'), / * preprocessor_version * / '', / * originating_system * / 'IDA-STEP', / * авторизация * / ''); FILE_SCHEMA (('AUTOMOTIVE_DESIGN {1 0 10303 214 2 1 1}')); ENDSEC; DATA; # 10 = ORGANIZATION ('O0001', 'LKSoft', 'компания'); # 11 = PRODUCT_DEFINITION_CONTEXT ('определение детали', # 12, 'производство'); # 12 = APPLICATION_CONTEXT ('механический дизайн'); # 13 = APPLICATION_PROTOCOL_DEFINITION ('', 'automotive_design', 2003, # 12); # 14 = PRODUCT_DEFINITION ('0', $, # 15, # 11); # 15 = PRODUCT_DEFINITION_FORMATION ('1', $, # 16); # 16 = PRODUCT ('A0001', 'Test Часть 1 ',' ', (# 18)); # 17 = PRODUCT_RELATED_PRODUCT_CATEGORY (' part ', $, (# 16)); # 18 = PRODUCT_CONTEXT (' ', # 12,' '); # 19 = APPLIED_ORGANIZATION_ASSIGNMENT ( # 10, # 20, (# 16)); # 20 = РОЛЬ_ОРГАНИЗАЦИИ ('владелец идентификатора'); ENDSEC; END-ISO-10303-21;

Заголовок раздела

Как видно из приведенного выше примера, файл разделен на два раздела после начального ключевого слова ISO-10303-21;:

В Заголовок раздела имеет фиксированную структуру, состоящую из 3-6 групп в указанном порядке. За исключением полей данных time_stamp и FILE_SCHEMA все поля могут содержать пустые строки.

  • ОПИСАНИЕ ФАЙЛА
    • описание
    • реализация_уровень. Версия и вариант соответствия этого файла. Возможные версии: «1» для исходного стандарта 1994 г., «2» для технического исправления 1995 г. и «3» для второго издания. Вариант соответствия - «1» для внутреннего и «2» для внешнего сопоставления экземпляров сложных объектов. Часто здесь встречается значение __ '2; 1' __. Значение «2; 2», обеспечивающее внешнее сопоставление, также возможно, но используется очень редко. Значения «3; 1» и «3; 2» обозначают расширенные STEP-файлы, как определено в стандарте 2001 года, с несколькими разделами DATA, несколькими схемами и поддержкой FILE_POPULATION.
  • ИМЯ ФАЙЛА
    • имя этой структуры обмена. Он может соответствовать имени файла в файловой системе или отражать данные в этом файле. Строгих правил использования этого поля нет.
    • time_stamp указывает время, когда этот файл был создан. Время указывается в международном формате времени данных. ISO 8601, например 2003-12-27T11: 57: 53 для 27 декабря 2003 г. 2 минуты до полудня.
    • автор имя и почтовый адрес лица, создавшего эту структуру обмена
    • организация организация, к которой принадлежит человек
    • preprocessor_version название системы и ее версия, которая создает этот STEP-файл
    • originating_system название системы и ее версия, в которой изначально была создана информация, содержащаяся в этом STEP-файле.
    • разрешение имя и почтовый адрес лица, авторизовавшего этот файл.
  • FILE_SCHEMA. Задает один или несколько Экспресс схема, управляющая информацией в разделе (ах) данных. Для файлов первого издания здесь может быть указана только одна схема EXPRESS вместе с необязательным идентификатором объекта ASN.1 версии схемы. Файлы второго издания могут указывать несколько схем EXPRESS.

Последние три группы заголовков действительны только для файлов второй редакции.

  • FILE_POPULATION, указывающий на допустимую совокупность (набор экземпляров сущностей), которая соответствует схемам EXPRESS. Это делается путем сбора данных из нескольких data_sections и ссылочных экземпляров из других разделов данных.
    • управляющая_схема, схема EXPRESS, к которой принадлежит указанная популяция и с помощью которой она может быть проверена.
    • определение_метод чтобы выяснить, какие экземпляры относятся к популяции. Предопределены три метода: SECTION_BOUNDARY, INCLUDE_ALL_COMPATIBLE и INCLUDE_REFERENCED.
    • Rued_sections, разделы данных, экземпляры сущностей которых полностью принадлежат совокупности.
    • Концепция FILE_POPULATION очень близка к schema_instance SDAI. К сожалению, в процессе стандартизации не удалось прийти к соглашению об объединении этих концепций. Поэтому JSDAI добавляет дополнительные атрибуты к FILE_POPULATION в виде интеллектуальных комментариев, чтобы покрыть всю недостающую информацию из schema_instance. Это поддерживается как для импорта, так и для экспорта.
  • SECTION_LANGUAGE позволяет назначить язык по умолчанию для всего или определенного раздела данных. Это необходимо для тех экспресс-схем, которые не предоставляют возможности указать, на каком языке даны строковые атрибуты сущностей, такие как имя и описание.
  • SECTION_CONTEXT предоставляет возможность указывать дополнительную контекстную информацию для всех или отдельных разделов данных. Это можно использовать, например, для STEP-AP, чтобы указать, какой класс соответствия покрывается определенным разделом данных.

Раздел DATA

В ДАННЫЕ Раздел содержит данные приложения согласно одной конкретной экспресс-схеме. Кодирование этих данных следует некоторым простым принципам.

  • Имя экземпляра: каждому экземпляру сущности в структуре обмена дается уникальное имя в форме «# 1234». Имя экземпляра должно состоять из положительного числа (> 0) и обычно меньше 263. Имя экземпляра действительно только локально в STEP-файле. Если тот же контент снова экспортируется из системы, имена экземпляров могут отличаться для тех же экземпляров. Имя экземпляра также используется для ссылки на другие экземпляры сущности через значения атрибутов или агрегированные элементы. Указанный экземпляр может быть определен до или после текущего экземпляра.
  • Экземпляры типов данных единой сущности представлены путем написания имени сущности заглавными буквами, а затем значений атрибутов в определенном порядке в круглых скобках. См. Например «# 16 = ПРОДУКТ (...)» выше.
  • Экземпляры сложных типов данных объекта представлены в файле STEP с помощью внутреннего или внешнего отображения.
    • Всегда следует использовать внешнее сопоставление, если экземпляр сложной сущности состоит из более чем одной конечной сущности. В этом случае все значения экземпляров отдельных сущностей даются независимо друг от друга в алфавитном порядке, как определено выше, со всеми значениями сущностей, сгруппированными вместе в круглых скобках.
    • Внутреннее сопоставление используется по умолчанию для варианта соответствия 1, когда экземпляр сложного объекта состоит только из одного конечного объекта. Кодировка аналогична кодировке одного экземпляра объекта с дополнительным порядком, заданным определением подтипа.
  • Отображение значений атрибутов:
    • Отображаются только явные атрибуты. Обратные, производные и повторно объявленные атрибуты не указаны, поскольку их значения могут быть выведены из других.
    • Неустановленные значения атрибутов представлены как "$".
    • Явные атрибуты, которые были повторно объявлены как производные от подтипа, кодируются как "*"в позиции атрибута супертипа.
  • Отображение других типов данных:
    • Перечислимые, логические и логические значения указываются заглавными буквами с начальной и конечной точкой, например ".ПРАВДА.".
    • Строковые значения приведены в "". Для символов с кодом больше 126 используется специальная кодировка. Поддерживаются наборы символов, определенные в ISO 8859 и 10646. Обратите внимание, что типичные 8-битные (например, западноевропейские) или 16-битные (Unicode) наборы символов не могут использоваться напрямую для строк в STEP-файлах, которые должны декодироваться особым образом.
    • Целые числа и действительные значения используются идентично типичным языкам программирования.
    • Двоичные значения (битовые последовательности) кодируются как шестнадцатеричный и заключен в двойные кавычки, с ведущим символом, указывающим количество неиспользуемых битов (0, 1, 2 или 3), за которым следует шестнадцатеричное кодирование данных в верхнем регистре. Важно отметить, что все двоичное значение кодируется как одно шестнадцатеричное число с битами самого высокого порядка в первом шестнадцатеричном символе и битами самого низкого порядка в последнем.
    • Элементы агрегатов (SET, BAG, LIST, ARRAY) указаны в скобках и разделены знаком ",".
    • Следует проявлять осторожность при выборе типов данных на основе определенных типов данных. Здесь также отображается имя определенного типа данных.
  • См. Также «Сопоставление Express с Java» для более подробной информации.[требуется разъяснение ]

Критика

Возможно, единственным преимуществом файлов STEP является то, что они широко используются во многих программах САПР. С другой стороны, его формат, и в особенности EXPRESS, имеют несколько недостатков:

  • формат является проприетарным, и спецификация недоступна в свободном доступе (за это нужно платить)
  • невозможно последовательно прочитать файл STEP. Сущности могут располагаться в любом порядке и могут ссылаться на другие объекты в прямом и обратном направлении в файле (см. Объект № 14 в примере выше). Поэтому перед синтаксическим анализом весь файл должен быть считан в память и размечен.
  • формат неэффективен для хранения. Например, для присвоения цветового кода RGB краю требуется как минимум 6 других объектов, а для указания преобразования требуется как минимум 5 дополнительных объектов (PLANE, AXIS2_PLACEMENT_3D, CARTESIAN_POINT и 2 DIRECTION)
  • формат четко не определен. Например, один и тот же треугольник можно закодировать в файле STEP множеством разных способов (с помощью FACET_BREP, ADVANCED_FACE, POLY_LOOP, EDGE_LOOP, как MANIFOLD_SOLID_REPRESENTATION или как SHELL_BASED_REPRESENTATION и т. Д.). Импортеру необходимо распознавать все варианты, чтобы последовательно читать файл STEP. Большинство программного обеспечения САПР не поддерживает полный набор записей STEP и, как таковые, ограничены определенным подмножеством объектов STEP. Например База знаний Autodesk, список поддерживаемых объектов STEP.
  • В результате в большинстве программ САПР есть функция «Восстановить данные геометрии после импорта», которая может работать, а может и не работать.

Смотрите также

внешние ссылки

использованная литература

  1. ^ https://www.loc.gov/preservation/digital/formats/fdd/fdd000448.shtml
  2. ^ ISO 10303-21: 2002 Системы промышленной автоматизации и интеграция. Представление данных о продукте и обмен ими. Часть 21: Методы реализации: Кодирование структуры обмена открытым текстом.
  3. ^ Секретарь ISO TC184 / SC4 «Сводный список резолюций» Резолюция 583 (Штутгарт, Германия, - июнь 2003 г.) «Регистрация MIME-типов SC4», [1]
  4. ^ ISO 10303-21: 2016. Системы промышленной автоматизации и интеграция - Представление данных о продукте и обмен ими - Часть 21: Методы реализации: Кодирование открытым текстом структуры обмена [2]