6/24/2014

Подсчет длин линий и создание ведомости в СПДС GraphiCS

В данной статье я расскажу подробно на примере, как сделать автоматический подсчет длин линий в СПДС GraphiCS и создать их ведомость в табличной форме.
Конечный результат будет иметь следующий вид:

таблица СПДС

В качестве примера возьмем чертеж с линиями, которые для наглядности образмерим.

подсчет длин в AutoCAD
Как видим, на чертеже:
  • 5 линий длиной 5000мм;
  • 3 линии длиной 2500мм;
  • 1 линия длиной 2100мм;
  • 2 линии длиной 3000мм.
Понятно, что если на чертеже линий небольшое количество, то подсчитать их количество можно и вручную, но когда на чертеже их очень много и к тому же разных размеров - вручную это сделать будет очень непросто и очень долго. Подсчитать их количество можно с помощью функции Извлечение данных... (об этом я упоминал в статье: Подсчет длин линий в AutoCAD или новые возможности СПДС GraphiCS 9), но данный урок касается СПДС GraphiCS.

Подсчет длин линий и создание ведомости в СПДС GraphiCS

  1. Переходим на вкладку Форматы, таблицы и выбираем инструмент Таблицы (можно также воспользоваться: панелью СПДС - Таблицы, строка меню СПДС - Форматы, таблицы - Таблицы, ввести команду sptable). 
    таблицы СПДС
  2.  Создаем таблицу, заполняем наименование, указываем размеры и количество строк и колонок. 
    Таблицы СПДС
  3. Жмем кнопку ОК и вставляем таблицу на чертеж. 
    таблицы СПДС
  4. Переходим в редактор таблиц (два раза кликнуть левой кнопкой мыши по таблице).
    редактор таблиц СПДС
  5. В окне Редактирование таблицы в группе Данные заполняем наши ячейки (например: № п./п.; Наименование; длина, мм; кол-во, шт.). 
    таблицы СПДС
  6. Переходим на вкладку Разделы и выбираем пункт Вставить раздел отчета.
    раздел отчета СПДС
  7. Появится Шаблон отчета в котором кликаем на иконку Выбрать исходные объекты
    выбрать исходные объекты в СПДС
  8. В появлявшемся окне Быстрый выбор выбираем возле Объект выбираем требуемый объект, в нашем примере это - отрезок. 
    быстрый выбор СПДС
  9. Там где Условие, напротив пункта Слой выбираем условие Содержит, а где Значение - слой, на котором наши отрезки. Это делается для того чтобы ведомость не считала все остальные отрезки, которые есть на чертеже! 
    таблицы отчета СПДС
  10. Жмем кнопку ОК и попадаем снова в диалоговое окно Редактирование таблицы. Как видим, у нас появился раздел Отчет
    таблица с отчетом СПДС
  11. Теперь основное - заполняем шаблон отчета. Для этого кликаем правой кнопкой мышки по ячейке и выбираем нужный нам параметр. Для столбика № п./п. выбираем параметр Row. Это номер строки, но так как у нас первая строка это Данные, то значение параметра Row необходимо отредактировать вручную, написав формулу: =Row-1 
    таблицы СПДС
  12. В столбике Наименование в шаблоне отчета можно написать свое значение, которое будет отображаться во всех строчках ведомости, например Линии для примера. Это можно сделать следующими способами: два раза кликнуть по ячейке; написать требуемое значение в строке формул; правой кнопкой мышки по ячейке и выбрать пункт Выражение (или сочетание клавиш Shift+F2). Значение пишем обязательно в кавычках!: ="Линии для примера"
    редактирование таблиц СПДС 
    редактирование таблиц СПДС
  13. В столбике Длина в Шаблоне отчета выбираем параметр Object.Length. 
    параметры в таблице СПДС
  14. В столбике, где у нас будет количество, кликаем  правой кнопкой мышки по ячейке и выбираем пункт Выражение (или сочетание клавиш Shift+F2), выбираем параметр count() или вписываем значение в ячейку, или в строку формул.
    количество в таблице СПДС
  15. Теперь нам надо настроить группировку/объединение строк с одинаковыми значениями. Для этого кликаем в Шаблоне отчета по иконке Группировать и объединять
    таблицы с отчетами СПДС
  16. В окне Группировка и объединение кликаем на пункт Добавить правило и выбираем необходимо нам правило (будем группировать строки). 
    группировать ячейки в СПДС
  17. В окне  Группировка и объединение  справа есть номера столбцов нашей таблицы, по которым можно группировать значения. Мы будем группировать по длинам, поэтому выбираем номер столбца С. Для этого необходимо зажать мышкой номер столбца и перетянуть его в группу, где идет выбор правил. 
    таблицы СПДС группировка значений
  18. Можно сразу настроить и сортировку. Кликаем мышкой и выбираем тип сортировки. Будем сортировать по убыванию. 
    сортировка значений в таблице СПДС
  19. Жмем кнопку ОК и видим, что длины наших отрезков в таблице отсортированы о объедены. 
  20. Закрываем редактор таблиц. Таблица имеет следующий вид. 
    таблица СПДС
  21. Как видите, длины отрезков и их количество в таблице указаны и посчитаны правильно. 
    подсчет отрезков в СПДС
Хочу отметить следующие полезные возможности и функции:
  • возможность выбора объектов для отчета: Во всем документе; В текущем Листе; В прямоугольнике

    выбор объектов в отчете СПДС
  • существует возможность выбора в одном отчете нескольких объектов по разным типам и свойствам; 
    таблицы СПДС
  • возможность создавать в одной таблице несколько отчетов.
    таблицы СПДС

Прочитав данную статью, Вы не только узнали, как с помощью СПДС GraphiCS можно подсчитать длины линий и создать ведомость, но и вообще научиться создавать таблицы с отчетами.

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

  1. Установил пробник СПДС9.
    При рисовании новой линии, копировании - в таблице не изменяется значение суммы.
    Без функции группировки не добавляется новая строка (под новую линию).
    При изменении длины линии (нарисованой до создания таблицы) значение суммы часто не изменяется.
    Что можно предпринять ?

    ОтветитьУдалить
    Ответы
    1. Выбор элементов "Во всем документе" или "В прямоугольнике"?
      Таблицу обновляли (кнопка "Обновить отчет")?

      Удалить
  2. Выбор "в текущем листе".
    Кнопка, которая в редакторе? Нажимал. Когда клинит обновление (на изменение длины и добавление линий) от нее толку нет.
    Но у меня ведь нажата соседняя - автом.обновление.

    ОтветитьУдалить
    Ответы
    1. Пришлите файл на почту, так будет проще понять что не так и внести корректировки: pm.martynyuk@gmail.com

      Удалить
  3. Виноват, не ту кнопку нажимал :( (нажимал пересчет).
    Почему нет возможности включить автом.обновление ?

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

      Удалить
  4. В меню Правка Автоотчет галочка стоит, возможности вкл/выкл нет - бледная, серенькая подпись и значок тоже. Пиктограммка автом.обновление отчета не нажимается. Файл - из 6 линий и таблички.

    ОтветитьУдалить
    Ответы
    1. Теперь понятно в чем проблема - таблица без отчета. Необходимо добавить в таблицу - см. пункт 6 урока.

      Удалить
    2. Раздел Отчет есть. Файл выслал.

      Удалить
    3. Действительно, кнопка становится не активной. Получается, что это баг.
      Написал в поддержку СПДС - как будет ответ, дам знать.
      Придется обновлять отчеты в ручную.

      Удалить
    4. "Становится.." А у Вас (в своих файлах) кнопка активна ?
      Как быстро отвечает поддержка? Пробник на 15 дней.

      Удалить
    5. Возможность брать отчеты из примитивов (линий, полилиний,..) появилась только в 9-й версии. С блоками и деталями всегда работала таблица без сбоев.
      Будем надеяться, что в новой сборке этот баг устранят.
      Пользуйтесь пока ручным обновлением.

      Удалить
    6. "С блоками и деталями всегда работала таблица без сбоев"
      Сбои появлялись на блоках с параметром "видимость".

      Удалить
    7. Будем ждать пока исправят, в новых сборках надеюсь будет все хорошо.

      Удалить
    8. "Будем надеяться, что в новой сборке этот баг устранят.
      Пользуйтесь пока ручным обновлением."
      За 30т.р. продукт и искать бубен ?
      Лучше уж старыми проверенными лиспами.
      Спасибо за ответы.

      Удалить
    9. Обращайтесь, если что.

      Удалить
  5. Здравствуйте Павел. В СПДС 8,0 в меню "Быстрая селекция" во вкладке "Тип объекта" не высвечиваются примитивы, т.е. отрезки. Это добавилось в СПДС 9?

    ОтветитьУдалить
    Ответы
    1. Здравствуйте, Сергей!
      Все верно, возможность работы (выбор) с примитивами AutoCAD появилась только в СПДС 9.

      Удалить
  6. Добрый день. такая вот задача, на уме крутится, а решить не могу. Нужна сводная спецификация окон. т.е. сколько каких типов окон на каждом этаже. Таблицу создал благодаря вашему уроку. Как вычленить данные по каждому этажу и разбить по типу окон. Все поэтажныепланы в одном файле.

    ОтветитьУдалить
  7. Добрый день!
    В диалоговом окне Быстрый выбор указываем нужные параметры (не содержит, равно,...) слой, атрибут блока,... по которым будет происходить выбор блоков.
    По каждому этажу сделать с помощью Выбор объектов в прямоугольнике (не Во всем документе и не В текущем листе).
    Будут вопросы - пишите.

    ОтветитьУдалить
  8. Этот комментарий был удален администратором блога.

    ОтветитьУдалить
  9. спасибо, очень хороший урок!

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

      Удалить
  10. не получается сделать сумму длин всех линий в одну строку(длина кабеля) можно ли так сделать без дополнительных таблиц? Например сразу в спецификацию?

    ОтветитьУдалить
    Ответы
    1. Включаем группировку и пишем формулу =Sum(Object.Length)
      Или что имеется ввиду под "без дополнительных таблиц"?

      Удалить
    2. Да, так и делал. Только выдает:
      Синтаксическая ошибка в выражении "S<"

      Удалить
    3. Напишите сюда полностью формулу.
      Посмотрю где ошибка.

      Удалить
  11. Создал новую таблицу, сделал все заново - получилось. Большое спасибо за помощь!

    ОтветитьУдалить
  12. Павел,здравствуйте!
    Интересует подсчет мультилиний с группировкой по длине/количеству.
    Стандартные методы автокад и СПДС не позволяют этого сделать.

    ОтветитьУдалить
    Ответы
    1. Добрый день!
      Штатными методами получить ведомость не получится, только программирование (нужен lisp).

      Удалить