old_cad.jpg

Уважаемые читатели, эту статью я начинал и переписывал несколько раз, в результате их будет несколько. Тема будоражит меня с детства но к сожалению нехватка времени да и лень размазало мои исследования по годам. Возможно занимаясь этим в университете плоды были плодотворней, ну и по правде говоря здесь не включены ошибочные ответвления, хотя на сайте они присутствуют в виде статей по openPLM)

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

Ещё в детстве мне попалась детская книга по САПР и я понял что придя в университет не буду сидеть за кульманом…. ладно отвлекся

ironmaninterface1.jpg

Figure 2: На случай если вы не вдохновились первой картинкой

Зачем это нужно

Итак проектируя что то мы накапливаем массу информации, возможные варианты, требования, расчеты, наконец геометрические модели превращающиеся в чертежи, возможно кто-то идет дальше и также разрабатываем процесс производства изделия .ну или хотя бы генерирует нужные для производства файлы вроде G-code или Gerber.

И вот вы радостно изготовили свою первую плату, поставили на полку напечатанное устройство. Проходит время и вы возвращаетесь к проектированию и нам нужно возобновить наши наработки, открываем заботливо сохраненный архив, а там ставшие уже непонятными куски записок, какие-то файлы в неподдерживаемых форматах, не говоря уже о том что те запчасти что использовались в конечном изделии уже не производятся и хорошо если datasheet от них был удачно сохранен.

Проблемы дома ещё можно решить, но что если вы будете работать в команде при разработке как вы будете обмениваться данными, где это все хранить и в каком виде. И как они экспортируются спустя 5 лет?

<sarcasm>С одной стороны все просто давайте все себе поставят MS Office, Solidworks, Maya, AutoCAD и.т.д. и проблем в мире не будет. Но в силу природы людей, а также монополизма и тендеров мы пока не переходим.</sarcasm>

step-neitral.png

Figure 3: Наличие нейтрального хорошо описанного стандарта упрощает жизнь многих участников. Т.к. количество конвертеров сокращается в разы.

 

STEP — (англ. STandard for Exchange of Product model data — стандарт обмена данными модели изделия) — совокупность стандартов ISO 10303 используемая в для передачи данных об изделиях между различными приложениями не только САПР.

Вдвойне важно это для мира open source вы помните что позволили сделать хорошо описанные стандарты в области Интернет, а также работы Unix систем. А если возвращаться к примерам из настоящего то это стандартизация open document format , которая вынудила Microsoft вводить свой хоть и кривой но уже открытый формат Office Open XML

Как человека интересующегося opensource САПР меня волнуют библиотеки и примеры, а также то чтобы проект был сохранен, это ужасно видеть как данные криво или не полностью переносятся между приложениями, возникают массовые ворчания когда разработчики меняют формат хранения данных или оформления библиотек.

Имея крупную обновляемую разными пользователями базу готовых моделей, возможно это подвигнет разработчиков к появлению новых САПР, на новых языках программирования или графических фреймворках(это ни хорошо, ни плохо).

Отмечу что соблюдение стандартов важно для самого предприятия, если ввод стандарта помогает. Понятно что никто не требует Вас передавать данные внутри предприятия в STEP формате(STEP частичное переведен на русский).

Также отмечу КРУПНЫМИ буквами что в создание стандарта участвуют представители отрасли, а не непонятные чиновники из министерства… которые как обычно ничего не знают ни в чем не разбираются и лепят очередной закон. Так составляются стандарты там и там им стараются следовать, а не насаждают с упорством сверху.

История

После зажигательных рассказов на ЛОР-е.

Вкратце вы можете прочесть историю появления и развития CALS технологий здесь 1, и даже если Вам кажется что вроде не за тем вы сюда заходили, заходили про STEP послушать, то step это реализация идеи о едином информационном пространстве предприятия.

Если собираетесь лезть в дебри 2 вот целый сайт Бауманского РК6,а там множество книг Норенкова. Забавно в студенческие годы я ещё на первом курсе купил все его книги по САПР, и не мог в них продвинуться, там вместо картинок и экшена про буквенные стандарты и настройку сети на предприятии говорилось. Ну вот спустя годы в быстром темпе перечитывал, так что перечитывайте непонятные моменты.

Итак история:

Кратко — военные захотели обмениваться данными с производителями, в нейтральном стандарте, разработана методика функционального проектирования IDEF0 3, как я понял это методология которая позволяет изучить происходящие на предприятие(или) вообще процесс и описать их используя заданный язык. Опыт оказался удачным.

Затем международной группой экспертов был разработан язык описания информационных моделей EXPRESS (ISO 10303-11) , т.е. это язык на котором описываются данные. Задача не простая так как необходимо описать всевозможные данные, поэтому приходится искать абстракции об этом далее.

Сами способы хранения файлов будь то текстовый файл — STEP ISO 10303-21, база данных или XML описаны в стандартах реализации

Прикладные протоколы AP- Специфические для отдельной предметной области модели данных, т.е. там на языке Express описаны модели данных в области например автомобильной промышленности AP214 или электронной AP210.

Есть ещё общие ресурсы, но о них позже.

Развитие линии стандартов STEP находит выражение в разработке новых стандартов Parts Library (ISO 13584), Parametrics (ISO 14959), Mandate (ISO 15531).

Разница подходов CALS и PLM

Изучение шло тяжело пока я на форуме электронных САПР не нашел замечательную монографию Шильникова П.С. 4 . Можете сразу её и начинать читать.

Прояснилась и разница в англоязычном PLM и CALS.

Цитаты:

К интеграции данных существуют два подхода – CALS и PLM. Данные понятия часто путают, некоторые авторы даже наивно полагают, что это – одно и то же. В действительности же, несмотря на некоторое сходство,CALS и PLM – это два противоположных подхода к достижению одной цели.

Цель эта состоит в полном объединении всех задач, решаемых с помощью компьютера, на всех этапах Жизненного Цикла Изделия: маркетинг, подготовка производства (проектирование, конструкторская и технологическая подготовка производства), материально-техническое снабжение, производство, контроль, упаковка и хранение, распределение, эксплуатация и утилизация (см. стандарты серии ISO 9000).

Подход PLM, суть которого ясна из приведенного рисунка, состоит в том, чтобы обеспечить решение всех задач с помощью набора взаимоувязанных программных продуктов одного крупного разработчика программного обеспечения… И из этого же видна и основная возникающая при этом проблема. Проблема заключается в том, что пользователь привязывается к программным продуктам одного разработчика. Подход CALS, наоборот, состоит в том, чтобы освободить пользователя от зависимости от одного разработчика. Основа подхода – это SDE, или Единое Информационное Пространство, построенное на применении Международных стандартов представления данных. Основной стандарт – это ISO 10303 STEP (STandard for Exchange of Product model data – Стандарт обмена данными модели изделия). Статус Международного стандарта обеспечивает два очень важных свойства STEP – стабильность примерно в пять лет, и новые версии не изменяют и не отменяют, а дополняют старые) и общедоступность (необходимые для практической работы материалы по стандарту или находятся в свободном доступе в Интернете или могут быть куплены за несколько сотен долларов в официальных органах стандартизации, например, ВНИИКИ).

Денотант, треугольник Фреге и ограничения текстового STEP файла

Итак вот тут и лежит пропасть которая отделяет подход openPLM от того что уже было придумано. Нам необходимо описать наш объект.

Снова надергаем цитат из 4.

Моделируемый объект – это то, что моделируется или описывается т.е. денотат (D).

Знак (S) — это конкретная модель отображающая объект. Свойств у моделируемого объекта может быть бесконечное множество. Денотат может содержать множество объектов одного типа, каждый из которых обладает некоторым набором свойств. Значения части свойств могут совпадать, а другой части свойств может различаться. Должно существовать определение или идея объектов одного типа. А.Шопенгауэр в работе «Мир как воля и представление» писал: «Львы рождаются и умирают, а львиность, т.е. форма льва и идея льва существует вечно». Т.е. существует одна идея или концепция (C) объектов некоторого типа и существует некоторое количество самих объектов, соответствующих этой идее

frege.png

Figure 4: Треугольник Фреге

Объединив три рассмотренных элемента (концепт, знак и денотат), получаем «Концепцию смысла» Готлоба Фреге.

И тут следует сделать замечание что STEP фай это знак, модели используемые в нем и описанные в прикладном стандарте на языке EXPRESS это концепт.

К сожалению передача в текстовых файлах накладывает ограничения(ограниченное количество наименований объектов и имен свойств) поэтому в одном файле STEP можно передать только один тип прикладной схемы. Конкретная прикладная схема указана в шапке файла как параметр FILE_SCHEMA

Прикладные протоколы

Некоторые из них:

В настоящее время наиболее широко используемыми Прикладными протоколами являются AP203 (Конструкция с управляемой конфигурацией) и AP214 (Ядро данных для автомобильной промышленности).

Протокол AP214 предоставляет достаточно широкие возможности по передаче рабочего проекта изделия, однако в CAD-системах коммерчески доступные препроцессоры и постпроцессоры STEP поддерживают только то подмножество AP214, которое совпадает с AP203.

Протокол AP214 ориентирован на использование в автомобильной промышленности. Также возможно его использование в промышленности, производящей наземные транспортные средства (Поезда, трактора, строительные машины).

Эти протоколы вы в основном и встречаете в сети когда конвертируете в вашем САПР. Как минимум в 203 описана передача твердых тел.

Протокол для систем CAE (АСНИ) «Анализ и конструкция композитных и металлических конструкций» АР209. Прочностные расчеты по МКЭ и композитные материалы – это предметная область, охватываемая Протоколом AP209.

Прикладной Протокол AP210 был определен как стандартизированный, поддающийся компьютерному описанию метод для представления проектов и связи между ними:

  • Разводка платы и конструкторское оформление,
  • Модули,
  • Блоки печатного монтажа (PWAs),
  • Платы печатного монтажа (PWBs).

Вообще это главное из-за чего и начались исследования. Описание захватывающие можно описывать как системы на чипе так и устройства состоящие из нескольких плат — так системный блок. Также подключать внешние источники, описывать функциональные модели. И это меня подкупило, практических примеров в сети мало.

Пройдите сначала по ссылке http://www.wikistep.org/index.php/AP210ed2_concept_of_operations А потом посмотрите сколько примеров в свободном плаванье http://www.wikistep.org/index.php/AP210_Examples

Фирмой STEP Tools, Inc. (США) ведутся работы по разработке протокола STEP NC (AP238), позволяющего представлять данные для оборудования с ЧПУ, в первую очередь – для обработки резанием, но в перспективе планируется расширение этих подходов и на другие виды технологических процессов. Цель внедрения AP238 – добиться независимости от постпроцессоров ЧПУ, обеспечить долгосрочное хранение данных для оборудования с ЧПУ и повысить надежность и гибкость данных

А как же полная модель объекта?

А как же передача полной информации об объекте? Снова приведем цитаты.

Наименование EXPRESS-схемы, которой соответствуют записи, содержащиеся в обменном файле. Хотя данное поле и допускает наличие нескольких наименований схем, согласно стандарту, в поле должно содержаться наименование одной схемы. Возможные отступления от данного правила.

Планируется принятие новой версии стандарта ISO 10303-21, в которой в одном обменном файле будет содержаться несколько секций данных. В заголовочной секции таких обменных файлов содержится список всех схем, используемых в файле. Хотя новая версия стандарта еще не принята, уже существуют программные продукты, работающие с обменными файлами

И вот мы видим стандарт текстового обменного файла, недавно обновился, думаю там это есть, правда цена кусается почитать http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=63141

Такая же ситуация с программным хранением данных описанных EXPRESS

Несколько SDAI-моделей, относящихся к одной схеме и к интероперабельным с ней схемам, могут быть объединены в экземпляр схемы — SCHEMA INSTANCE. Одна SDAI-модель может одновременно входить в несколько экземпляров схем. Экземпляр схемы является полем идентификации (информационной базой). Ссылки из экземпляров сущностей, входящих в экземпляр схемы на экземпляры сущностей, не входящие в экземпляр схемы, не допускаются. Возможность вхождения SDAI-модели одновременно в несколько экземпляров схем позволяет использовать общие информационные ресурсы в разделенном режиме. Экземпляр схемы (SCHEMA INSTANCE) может включать SDAI-модели, существующие в нескольких репозиториях.

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

Протоколы, реализующие общие требования к информации, должны использовать одни и те же базовые конструкции STEP для выполнения этих требований.

По степени обобщенности информационные ресурсы STEP делятся на несколько групп – интегрированные информационные ресурсы (самые обобщенные и встречающиеся практически во всех предметных областях – тома 40й серии), информационные ресурсы предметной области (тома 100й серии), прикладные интерпретированные конструкции, ориентированные на решение отдельных задач (тома 500 й серии) и прикладные модули (тома 1000 й серии). Рассмотрим некоторые из томов ISO 10303 STEP,содержащих интегрированные информационные ресурсы

Итого: Стандарты прикладных протоколов разрабатываются так чтобы пересекающиеся с другими областями элементы множества, были реализованы одинаково. Также создано описание неких общих базовых понятий, вроде ISO 10303-41 где содержатся сущности, необходимые для задания общего определения изделия.

Не все Прикладные протоколы были изначально модульными, но они к этому идут о чем можно узнать в этой презентации PDES.inc 5

SDAI

Модели данных описаны на языке EXPRESS , а если описать сам язык EXPRESS представляя его конструкции на другом языке.

Т.е. у нас есть яблоко-васи.stp это всего лишь частный экземпляр информационной модели Яблоко, которая описана на языке EXPRESS. Если мы напишем что то что будет понимать EXPRESS и хранить экземпляры данных в памяти компьютера то мы получим SDAI

10303-22-sdai.png

Figure 5: Место SDAI — Стандартный интерфейс доступа к данным.

jSDAI — это то что из писанных моделей на языке EXPRESS способно создать объекты реализованные на java а также считывать их , записывать, как то изменять. AGPLv3 но о софте не в этой части.

Думаю что интерфейсу на питоне надо будет придумать другое название нежели PySDAI(stepcode есть наметки реализации)

MIM

MIM появился позже аж в 10303-1001 6 это набор сущностей который позволяет подцепится к объекту объектам и показать их представление. Т.е. у нас есть AP210 сточки зрения стандарта электронная схема это набор нод, с именами, которые соединены между собой. И формат не предусматривает привычный человеку чертеж схемотехники, да не один.

Благодаря MIM мы можем подвязать объектам их графическое представление и даже сгруппировать. Т.е. практически передать в step файле чертеж 7, который там не нужен. Напомню что чертеж нужен человеку чтобы понять как устроен объект, машине он не нужен.

Осталось понять чем и как переносятся функциональные-spice модели, но это уже описано здесь 8

Parts Library (P-LIB)

P-Lib (как я сейчас понимаю) это возможность описывать неполные модели объектов и связывать их с моделями техники. Ну т.е. для того чтобы использовать усилитель, нам нужно знать как выглядит его корпус, примерную мат. модель поведения и всё, нам не нужен подробный чертеж внутреннего устройства, и прочие технологические параметры. Тоже с условно графическими изображениями компонентов, свойствами материалов.

Отдельно добавлю цитату отсюда 9

Parts Library (P-LIB) содержат обзор и основные принципы представления данных о стандартных компонентах промышленных изделий. В этих стандартах представлены в виде библиотек данные о семействах таких типовых широко используемых компонентов изделий, как болты, подшипники, электронные компоненты и т.п., с целью использования этих данных в системах автоматизированного проектирования. В P-LIB содержатся также правила использования, интерфейса и модификации библиотечных описаний. Цель стандарта — обеспечить инвариантный для приложений механизм оперирования частями библиотеки. Благодаря ISO 13584 различные прикладные САПР могут разделять данные из обобщенных баз, беспрепятственно обмениваться данными о типовых компонентах.

Стандарты P-LIB состоят из нескольких частей.

  • 1 обзор и основные положения серии стандартов.
  • 10-19 отведены для частей, содержащих концептуальные положения.
  • 20-29 выделены для описания логических ресурсов. Здесь разработаны части: 20 — общие ресурсы; 24 — логическая модель поставляемой библиотеки (Logical model of supplier library); 26 — определение поставщиков (Supplier Identification).
  • 30-39 используются для описания ресурсов внедрения. Здесь разработана часть 31 — интерфейс геометрического программирования (Geometric Programming Interface).

Видимо часть из этих стандартов применяется где-то у нас так как есть перевод ISO 13584-35:2010 10

Мы нашли панацею?

ISO10303 формат который разработан на возможность хранения любых технических данных до 25 лет — это существенно. Хотя допущу что наличие кучи томов и недавно вышедших стандартов вносит изрядную путаницу. Судя по презентации у компаний серьезные планы 5 на увеличение модульности стандарта.

Так на всякий случай, блуждание по сети в поисках ответов навело на этот блог: http://dot15926.livejournal.com/50696.html

Из этого обсуждения мы узнаем о стандарте 15926 который вроде как совершенный и универсальный, но пока не обладает трансляторами геометрии поэтому увы и ах.

С другой стороны это может быть, частное мнение и стандарт пригодный для нефтегазовой промышленности а на все остальное ему чихать.

Выводы, наши цели и планы.

  • Существует стандарт нейтральной передачи инженерных данных
  • Он сложный предъявляет множество требований, но в нем уже специалистами описаны все необходимые модели, велосипед придумывать не надо.
  • По мимо файлов передачи описано API и принципы хранения моделей данных на компьютере. — SDAI
  • Существует стандарт для хранения библиотек ресурсов P-Lib

Из этого следует, что подход openPLM был плох тем что он от частных примеров шел к общим схемам которые уже существуют, и настоящие opensource PLM будет работать с EXPRESS моделями используя SDAI, а уж на чем будет реализован графический или веб-интерфейс, дело 10-е.

К сожалению в этой части я не описал свободный и полусвободный софт использующий ISO 10303. Об этом выйдет вторая часть в течении месяца, часть скриншотов с программами вы можете увидеть в моем твитере.

Стандарт передачи механики худо бедно поддерживается поэтому возьмемся за применение AP210 — т.е. передачи данных электроники а также его взаимосвязь с P-LIB, благо поле в лице gEDA,KiCAD,ngSPICE, QUCS, Electric — большое и непаханое.

Footnotes:

1

http://poznayka.org/s16553t1.html история развития CALS

2

Норенков И.П.Автоматизированное проектирование Москва 2000 или http://bigor.bmstu.ru/?cnt/?doc=Default/110_CALS.cou

4

http://www.plm-consulting.ru/pdf/cip_data_2009-11-01.pdf Представление данных КИП Шильников П.С

5

Презентация PDES о развитии модльности в ISO 10303 и сопутствующих стандартах http://slideplayer.com/slide/10512515/

6

Переведенный стандарт описсывающий MIM http://docs.cntd.ru/document/gost-r-iso-ts-10303-1001-2010

7

https://www.nist.gov/node/558606?pub_id=918401 Proposed recommended practice for the representation of schematic symbols in STEP AP 210 (ISO 10303-210)

8

https://www.nist.gov/node/595081?pub_id=910094 Representation of functional networks in STEP AP210 with application to SPICE circuit simulation

9

http://www.sapr.ru/article.aspx?id=7879&iid=319 краткая статья о P-Lib

10

http://docs.cntd.ru/document/1200103590 ГОСТ Р 55343-2012 ISO/TS 13584-35:2010 Системы промышленной автоматизации и интеграция. Библиотека деталей. Часть 35. Ресурсы практической реализации. Интерфейс электронных таблиц библиотеки деталей