среда, 26 декабря 2012 г.

Адаптация Autocad P&ID: идентификаторы (тэги) и аннотация

Итак, настала необходимость настройки системы для её работы в промышленном проектировании. Уже создан шаблонный проект, в котором производятся базовые правки и на основе которого будет создан новый проект.
Приступим.
  Определимся с терминологией
 Чем Тэг, он же Идентификатор, отличается от Аннотации?
 Идентификатор - это элемент данных, тогда как аннотация - не более чем текстовое или графическое отображение каких либо данных.
 Аннотация может содержать в себе идентификатор или любое другое свойство, или даже строку из нескольких свойств. Аннотация является графическим примитивом и используется на чертежах.
 Идентификатор может формироваться из одного или нескольких свойств проекта и должен быть уникальным для проекта. Аннотаций может быть на чертеже неограниченное количество.
 Пробуем создать свой формат идентификатора
 В нашей организации принят обозначать трубопроводные линии на чертеже довольно непростым шифром, который влючает в себя следующие свойства линии:
  1. Условный диаметр, мм
  2. Рабочая среда, обозначеная одним или двумя латинскими символами
  3. Рабочее давление, МПа
  4. Группа материалов, один латинский символ
  5. Допуск на коррозию, мм
  6. Технологический блок, двухзначное число
  7. Номер листа, двухзначное число
  8. Номер линии, двухзначное число
  9. Код изоляции, латинский символ
  10. Тип теплоспутника, латинский символ
  11. Толщина изоляции, мм
Итак, если на основе всех этих свойств создать идентификатор, то он будет уникальным для каждой линии. Только вот незадача - так не получится....
Оказывается, строка формирования идентификатора в этом случае содержит больше 255 символов, что программа не может обработать.
  Оказывается этот вопрос уже задавался на форумах Autodesk. Ответом было обещание перенаправить его разработчикам.
  Ищем выход
 Что делать? Вот тут то на помощь приходят аннотации.
 Для начала, посмотрим, где этот огромный шифр используется.
  1. На чертежах
  2. В диспетчере данных
  3. В отчетах
 Выходит, что нам хватит идентификатора, который будет состоять только из номера линий. Или из номера линий и диаметра. Ведь на чертежах мы можем вставлять аннотации, а в диспетчере данных и отчетах сформировать вычисляемые поля.

Формирование идентификатора
Идентификатор должен быть уникальным для каждого участка трубопровода. В одной линии может быть несколько участков, например, разного диаметра. На каждом из участков может быть различный идентификатор.
 
 Рисунок 1. Вид окна настройки формата идентификатора

На рисунке 1 представлена стандартная форма идентификатора сегмента трубопровода. С помощью этой формы можно указать из каких свойств проекта будет собираться идентификатор. Следует отметить, что про ограничение в 255 символов для строки идентификатора и здесь не указано ни слова. Но если количество свойств больше 8, Вы почти наверняка получите ошибку при нажатии на кнопку OK.
Приводим формат идентификатора к требуемому виду:

Рисунок 2. Требуемая форма формата идентификатора
 
Рисунок 3. Аннотации на чертеже
 Шаблонный проект создается с четырьмя видами аннотаций для сегментов трубопроводов:
    • Метка изоляции
    • Идентификатор в овале
    • Идентификатор трубопровода
    • Идентификатор
Мне требуется создать еще один идентификатор:
    • Идентификатор в овале полный
Название не очень удачное, так как это не идентификатор в овале а строка из свойств, но это мы исправим позже. А сейчас сформируем новый идентификатор.

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

Создадим новую аннотацию для сегментов трубопровода. Для этого следует открыть настройки проекта, кликнуть по узлу Настройки DWG P&ID -> Структура объектов P&ID -> Инженерные элементы -> Линии -> Сегменты трубопровода.
 
Рисунок 4. Настройка проекта
 В области Параметры класса. Сегменты трубопровода нажать кнопку Добавить аннотацию...
 
 В окне Параметры обозначение в группе Свойства обозначения указать имя новой аннотации и блок. Блок можно выбрать из файла обозначений проекта projSymbolStyle.dwg или из поставляемых в комплекте с Autocad P&ID файлов dwg, содержащих в названии AnnotationTemplates. После нажатия на ОК имя блока будет автоматически изменено на [Имя обозначения]_block, а блок будет сохранен в файл обозначений проекта projSymbolStyle.dwg. Чтобы изменить блок, следует в области Параметры класса. Сегменты трубопровода нажать кнопку Изменить блок. Он откроется в редакторе блоков Autocad.
 

Редактировать отображаемый текст в блоке можно двумя способами:
    1. С помощью кнопки #(.) в плавающей панели. Но в этом случае не удастся создать аннотацию, описание которой содержит более 255 символов, потому как редактирование атрибута происходит через то же окно, которое используется при редактировании идентификатора. 
    2. Вручную отредактировав свойство Тэг определения атрибута. Названия свойств можно получать с помощью кнопки #(.), и далее их компоновать как строку для получения требуемого результата. Не стоит забывать, что если используется дополнительная графика (например, растягивающийся овал), потребуется внести изменения в свойство Имя расстояния объекта Линейный параметр так, чтобы оно совпадало со свойством Тэг объекта Определение атрибута.
Выводы
Несмотря на некоторую сложность настройки, Autocad P&ID представляет довольно мощный инструментарий для адаптации.