Утилита petroen_xdata
Введение
Утилита предназначена для записи, поиска и удаления расширенных данных в примитивах dwg-файла. Она представлена в формате LSP (AutoLISP) и может запускаться в Nanocad и Autocad. Утилита предоставляется бесплатно по принципу «как есть» (AS-IS) и выполнена в версии «минимальный жизнеспособный продукт» (MVP). Программа разработана под конкретную задачу проектирования (хранение данных по проектируемым трубопроводам: размеры труб и деталей, длина и количество) и хорошо зарекомендовала себя в ней. При этом она может быть использована для решения и других схожих задач (хранение данных по кабельной продукции, формирование кабельного журнала и др.). Утилита использует для хранения данных только свое собственное приложение с одноименным именем «petroen_xdata» и не обращается (запись, чтение, удаление) к иным возможным приложениям расширенных данных.
Специалисты ООО «Петроинжиниринг» имеют компетенцию и опыт по разработке программ в AutoLISP, C# и других языках программирования, и при необходимости могут перенести хранение данных в специальные словари dwg-файла или во внешнюю базу данных на сервере.
Описание программы
При запуске утилиты по команде «petroen_xdata» в командной строке и области динамического ввода возникает меню выбора операции.
Выбрав пункт «Записать», необходимо выбрать один или несколько объектов (примитивов) для записи в них текста с информацией. Текст не должен содержать пробелы. Также по возможности (хотя это допустимо) следует избегать использования знаков препинания и специальных символов. Для разделения информации рекомендуется использовать символ нижнего подчеркивания «_», главное для всех объектов использовать одну и ту же схему ввода данных (не путать последовательность параметров, одинаково использовать верхний и нижний регистр).
Если в объекте уже присутствуют данные, то при записи происходит замена старого значения на новое.
Повторно запустив команду «petroen_xdata» (например, из контекстного меню по нажатию правой кнопки мыши), можно выбрать пункт «Прочитать». В этом случае следует выбрать один объект, после чего появится сообщение с текстом записанной информации либо уведомлением об отсутствии данных.
Для планов или схем трубопроводов, например, в полилинии может быть записана информация о диаметре трубопровода, о способе прокладки и типе изоляции.
План может быть выполнен и трёхмерным с моделированием всех необходимых элементов в непечатном слое с помощью 3d-полилиний, блоков, точек и т.д.
Программа может быть также использована для хранения информации по кабелям: начало и конец трассы, марка кабеля.
К примеру, на плане земельных участков можно внести информацию в замкнутые полилинии о землепользователях, кадастровые номера и т.д.
Если придерживаться определенных правил внесения информации, то ее поиск не составит большого труда. Для этого необходимо запустить утилиту и выбрать пункт «найтиТекст». После этого требуется выбрать объекты, в которых будет выполняться поиск.
Затем следует ввести текст для поиска. Можно использовать маску с помощью символа «*», который заменяет любую последовательность символов.
Примеры поиска:
- «*159*ППУ*» (все трубы диаметром 159 мм в ППУ-изоляции);
- «*кабель*» (все кабели);
- «*:*» (области с кадастровыми номерами).
В результате поиска будут выделены найденные объекты, о чем может свидетельствовать информация в панели свойств. Кроме того, в командную строку для каждого найденного объекта будет выведена информация: тип CAD-объекта, записанный текст, длина (для отрезков, и всех видов полилиний), площадь (для 2d-полилиний).
Если запустить утилиту и выбрать пункт «найтиВсе», то в выбранной группе объектов, но теперь уже без ввода текста для поиска, аналогичным образом, будут выделены все примитивы, в которых имеются любые записанные данные.
Пункт «Удалить» в меню утилиты выполняет полное удаление введенных расширенных данных в выделенных объектах.
Дальнейшее использование выведенных в командную строку данных возможно по следующему сценарию.
Выделенный в командной строке текст результата выполнения пунктов утилиты «найтиТекст» или «найтиВсе» можно скопировать в буфер обмена (Ctrl+C).
Затем следует вставить его в документ MS Excel через мастер импорта текста.
В мастере на шаге 2 необходимо настроить используемые разделители: знак табуляции и при необходимости другой, например, нижнее подчеркивание «_».
Будет получен следующий результат.
Далее можно удалить неиспользуемые столбцы, например, «A» с типом объекта dwg и «F» с площадью полилиний. Потом выделить заполненный диапазон и выполнить команду «Таблица» на вкладке «Вставка».
Затем можно переименовать заголовки.
В случае необходимости подсчета суммы длин или площадей следует применить инструмент «Сводная таблица».
Для сводной таблицы следует выполнить настройку группирования и суммирования данных.
Здесь показан один из наиболее простых способов работы с данными. Сценарии использования могут быть и другие, а сама утилита также может быть переработана под другие задачи.