28 января, 2014

Извлечение данных из файлов чертежей, средствами СПДС GraphiCS

Ни для кого не секрет, что конструкторы, в проектных организациях оформляют чертежи по-разному. Некоторые чертят раздел проекта в  одном файле чертежа, порой, особенно большие работы разбиваются на несколько файлов, по листам, либо другим признакам.
В случае, когда файл чертежа, содержит весь проект целиком, то проблем с автоматическим сбором данных: заполнением спецификаций, ведомостей чертежей и других автоматических отчетов нет. Табличные отчеты СПДС GraphiCS справляются с этой задачей легко.
Проблемы, возникают, если необходимо собрать данные с разных чертежей в одну таблицу отчет.
Таблицы AutoCAD с этой задачей справиться не могут в принципе, т.к. AutoCAD напрямую не имеет доступ к свойствам объектов СПДС GraphiCS.
Однако, не все так плохо.
В СПДС GraphiCS есть утилита, «Извлечение данных». В справке об этом нет ни слова, в меню и панелях СПДС GraphiCS то же нет ничего подобного, тем не менее эту утилиту можно вызвать из командной строки командой spDataExtraction. При желании, можно добавить кнопку и панель меню с этой командой самостоятельно.

Утилитой извлечения данных можно извлекать данные из любых объектов СПДС GraphiCS и блоков AutoCAD, затем сформировать необходимые табличные отчеты.
В этой статье, я покажу методику извлечения данных из файлов чертежей, на примере  автоматического заполнения «Ведомости рабочих чертежей основного комплекта».
Итак, утилита запущена, теперь она предлагает нам добавить файл или папку. Сразу оговорюсь, что принципиальной разницы нет, что добавлять, файлы по одному или папку. Все зависит от конкретной ситуации, лишь отмечу, что если добавить в выбор папку и отметить галочками «Автоматически отслеживать изменения файлов в папке» и «Использовать маску», в этом случае, при добавлении файлов в папку они будут автоматически включаться в отчет.
В случае необходимости можно раскрыть список и снять галочки с файлов, данные с которых не должны попасть в отчет:
При необходимости добавляем еще папки или файлы:
Не стоит сильно злоупотреблять добавлением большого количества файлов в выборку, при превышении некоего критического числа файлов, утилита может подвесить AutoCAD намертво (сохраняйте чаще чертеж).
Итак, файлы добавлены, нажимаем на кнопку «Далее» и попадаем в следующее окно:
Тут все просто выбираем необходимый объект, или несколько. В нашем случае это «Формат»:
При необходимости задаем условия выбора объектов, в этом примере условие одно, поле «обозначение» не содержит точку, также снимаем галочки с полей, которые не собираемся включать в отчет (ни к чему грузить лишними данными, при необходимости всегда можно добавить необходимые поля ):
В следующем диалоговом окне, настоятельно рекомендую выбрать «сохранить настройки в файл» в противном случае при обновлении таблицы, выборку файлов, с которых формируется отчет, придется формировать заново.
Выбираем необходимые для отчета поля (их потом всегда можно изменить, убрать или добавить)
Попадаем в стандартный интерфейс таблицы
Обновляем таблицу и получаем заготовку отчета:
Полученную таблицу  приводим к виду согласно ГОСТ Р 21.1101-2013 «Ведомость рабочих чертежей основного комплекта». Сохраняем при необходимости в базу, на этом собственно и все.
Отчет, который извлекает форматы с файлов чертежей готов.

В заключение хочу привести несколько полезных советов:
  • таблица отчета не обновляется автоматически из чертежей, (с одной стороны это ее недостаток, приходится обновлять вручную, с другой достоинство: не загружает систему при добавлении новых объектов);
  • для обновления данных необходимо открыть редактор таблиц и запустить фильтр объектов, после чего таблицу можно обновить;
  • очевидно, но все же не лишним будет заметить, что объекты собираются со всех файлов чертежей, которые добавлены в отчет, в том числе и с чертежа на котором расположена таблица отчета,  при условии включения этого чертежа в выборку файлов;
  • данные извлекаются со всех объектов находящихся в документах файлов чертежей (с модели, листов);
  • обновление данные из файлов чертежей происходит, даже если некоторые чертежи выборки открыты, и изменения в них не сохранены;
  • при обновлении данных в отчете, отмечайте пункт «сохранять настройки в файл» это поможет вам избежать проблем в дальнейшем, если сохранять в объект чертежа (таблицу), то при следующем открытии этого файла настройки коллекций файлов не сохранятся;
  • для разных таблиц отчетов, присваивайте разные имена файлов настроек, дело в том, что там хранятся не только настройки, но и данные результатов выборки;
  • при вставке таблицы из базы необходимо создать новую выборку файлов.
Вот собственно и все о чем я хотел написать, возможно, что то осталось за рамками статьи.
Если появились вопросы, или хотите, что-то обсудить, пишите в комментарии.
Ссылка для скачивания:
Таблица автоотчет «Ведомость рабочих чертежей основного комплекта».

6 комментариев :

  1. Добрый день.
    Тестировали эту таблицу в СПДС 2021? У меня почему-то извлечение данных видит только один файл двг в папке. Пробовал удалить таблицу и создать заново - не помогло.

    ОтветитьУдалить
    Ответы
    1. Сейчас проверил, при добавлении папки видит все файлы чертежей, которые в ней находятся.

      Удалить
    2. Когда создаю новую таблицу, всё работает нормально. Таблицы, созданные ранее в СПДС 8.1, работать отказываются. То же происходит при копировании уже настроенной таблицы в другой файл или при создании нового файла на основе шаблона, содержащего таблицу. Я могу Вам прислать файлы для проверки?

      Удалить
    3. Кажется, нашёл закономерность. Если создать заново таблицу, всё настроить, сохранить файлы *.xml и *.de и не удалять их, то всё работает. Даже при копировании и создании файлов на основе шаблона. Если переименовать или удалить эти файлы или папку, их содержащую, всё ломается. В версии 8.1 всё работало.

      Удалить
    4. Прислать шаблоны можете, но вряд ли это поможет.
      Таблицы старых и новых версий между собой несовместимы.
      Обращаю Ваше внимание, что spDataExtraction это "фича", а не стандартная функция, она была сделана давно другими людьми, для людей.
      Сейчас spDataExtraction не развивается и не техподдержкой поддерживается. Существует в первозданном диком виде (но пользваться можно вполне)
      Возможно в следующих версиях СПДС или нанокад о spDataExtraction вспомнят и выкатят как прорыв в таблицестроении и суперновую фичу.

      Удалить