ИСО 10303-21

Из Википедии, бесплатной энциклопедии
ШАГ
Расширение имени файла
.stp, .step, .stpnc, .p21, .210
Тип интернет-СМИ
модель/шаг, модель/шаг+xml, модель/шаг+zip, модель/шаг-xml+zip
Магическое число ИСО-10303-21
Разработан ИСО
Начальная версия 1994
Веб-сайт Спецификация

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

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

Использование ISO 10303-21 не ограничивается STEP. и Классы Industry Foundation более ранний стандарт интеграции CIMSteel (CIS/2) определяют схему EXPRESS для построения данных информационного моделирования и определяют ISO 10303-21 в качестве кодировки обмена .

История [ править ]

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

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

Строительные блоки ISO 10303-21 [ править ]

Пример [ править ]

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

ИСО-10303-21; 
  ЗАГОЛОВОК; 
  ОПИСАНИЕ ФАЙЛА( 
  /* описание */ («Минимальный пример AP214 с одной частью»), 
  /* уровень реализации */ '2;1'); 
  ИМЯ ФАЙЛА( 
  /* имя */ 'демо', 
  /* временная_метка */ '2003-12-27T11:57:53', 
  /* автор */ («Лотар Кляйн»), 
  /* организация */ ('LKSoft'), 
  /* версия_препроцессора */ ' ', 
  /* исходная_система */ 'IDA-STEP', 
  /* авторизация */ ' '); 
  FILE_SCHEMA (('AUTOMOTIVE_DESIGN { 1 0 10303 214 2 1 1}')); 
  ЭНДСЕК; 
  ДАННЫЕ; 
  #10=ОРГАНИЗАЦИЯ('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','Тест, часть 1','',(#18)); 
  #17=PRODUCT_RELATED_PRODUCT_CATEGORY('часть',$,(#16)); 
  #18=PRODUCT_CONTEXT('',#12,''); 
  #19=APPLIED_ORGANIZATION_ASSIGNMENT(#10,#20,(#16)); 
  #20=ORGANIZATION_ROLE('идентификатор владельца'); 
  ЭНДСЕК; 
  КОНЕЦ-ISO-10303-21; 
 

Раздел ЗАГОЛОВОК [ править ]

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

Раздел HEADER имеет фиксированную структуру, состоящую из 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-файле.
    • авторизация имя и почтовый адрес лица, авторизовавшего этот файл.
  • ФАЙЛ_СХЕМА. Указывает одну или несколько экспресс- схем, управляющих информацией в разделах данных. Для файлов первого издания здесь может быть указана только одна схема EXPRESS вместе с необязательным идентификатором объекта ASN.1 версии схемы. Файлы второго издания могут указывать несколько схем EXPRESS.

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

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

Раздел ДАННЫЕ [ править ]

Раздел DATA содержит данные приложения в соответствии с одной конкретной экспресс-схемой. Кодирование этих данных следует некоторым простым принципам.

  • Имя экземпляра: каждому экземпляру объекта в структуре обмена присваивается уникальное имя в формате «#1234». Имя экземпляра должно состоять из положительного числа (>0) и обычно меньше 2. 63 . Имя экземпляра действительно только локально в файле STEP. Если тот же контент снова экспортируется из системы, имена экземпляров могут быть разными для одних и тех же экземпляров. Имя экземпляра также используется для ссылки на другие экземпляры сущности через значения атрибутов или агрегатные элементы. Экземпляр, на который ссылаются, может быть определен до или после текущего экземпляра.
  • Экземпляры типов данных одной сущности представляются путем написания имени сущности заглавными буквами, за которым следуют значения атрибутов в определенном порядке в круглых скобках. См., например, «#16=PRODUCT(...)» выше.
  • Экземпляры типов данных сложных объектов представлены в файле STEP с использованием внутреннего или внешнего сопоставления.
    • Внешнее сопоставление всегда следует использовать, если экземпляр сложного объекта состоит из более чем одного листового объекта. В этом случае все значения экземпляра одного объекта задаются независимо друг от друга в алфавитном порядке, как определено выше, при этом все значения объекта сгруппированы в круглых скобках.
    • Внутреннее сопоставление используется по умолчанию для варианта соответствия 1, когда экземпляр сложного объекта состоит только из одного конечного объекта. Кодировка аналогична кодировке одного экземпляра сущности с дополнительным порядком, заданным определением подтипа.
  • Сопоставление значений атрибутов:
    • Сопоставляются только явные атрибуты. Обратные, производные и переобъявленные атрибуты не указаны, поскольку их значения можно вывести из других.
    • Значения неустановленных атрибутов обозначаются как " $ ".
    • Явные атрибуты, которые были повторно объявлены как производные в подтипе, кодируются как « * » в позиции атрибута супертипа.
  • Сопоставление других типов данных:
    • Перечисления, логические значения и логические значения задаются заглавными буквами с начальной и конечной точкой, например « .TRUE. ».
    • Строковые значения приведены в [ нужны разъяснения ] . Для символов с кодом больше 126 используется специальная кодировка. Поддерживаются наборы символов, определенные в ISO 8859 и 10646. Обратите внимание, что типичные 8-битные (например, западноевропейские) или 16-битные (Юникод) наборы символов нельзя напрямую использовать для строк 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. ^ «STEP-файл, ISO 10303-21» . Библиотека Конгресса . 3 января 2017 г.
  2. ^ ISO 10303-21:2002 Системы промышленной автоматизации и интеграция. Представление данных о продукции и обмен ими. Часть 21. Методы реализации. Открытое текстовое кодирование структуры обмена.
  3. ^ Секретарь ISO TC184/SC4 «Совокупный список резолюций» Резолюция 583 (Штутгарт, Германия, – июнь 2003 г.) «Регистрация MIME-типов SC4», [1]
  4. ^ ИСО 10303-21:2016. Системы промышленной автоматизации и интеграция. Представление данных о продукции и обмен ими. Часть 21. Методы реализации. Открытое текстовое кодирование структуры обмена [2]