Плагин — ведомость деталей по ГОСТ

И снова она, многострадальная ведомость деталей для гнутой арматуры.

Подробности под катом.

На практике и ведомость деталей «Столбцами«, и с «Объединенным параметром» оказалась неудобна:

  • картинка, хранящаяся в семействе, может «слетать». Для её восстановления нужно загрузить семейство формы с «Заменой значений параметров», но при этом, если в проекте есть арматура в «группах» — Ревит может потребовать их разгруппировать;
  • для стандартной и IFC-арматуры нужно накладывать две таблицы одну на другую, а если окажется, что одной позицией есть системная и IFC-арматура — картинка вообще станет пустой;
  • плохая читаемость ведомость в случае сложной формы арматуры;
  • «Объединенный параметр» работает нестабильно и часто ломается, например, при копировании из файла в файл.

Автоматизировать «рисование картинки» через API пытались уже давно, например, вот известный плагин от Arcadia.

Его создатели замахнулись на полностью автоматическую ведомость для любой арматуры, даже созданной через «Редактирование эскиза». Но мало того, что анализ геометрии и получение картинки — сложная задача, так еще размер картинки должен быть «немасштабный», и в ведомости деталей часто показывают вспомогательные элементы, например, конец хомута «до загиба» и его длину:

Очевидно, что программно такую картинку не нарисовать, надо их создавать заранее. Кроме того, автоматически создаваемые после «Редактирования эскиза» формы очень бестолковые и неудобные; всё равно лучше настраивать формы заранее. Имхо, по этой причине плагин Аркадии всё еще работает нестабильно и не получил распространения.

А уж учитывая то, что в программировании я недалеко продвинулся от хеллоуворлда, нужно какое-то более другое решение, простое, но надежное, как кувалда.

Идея:

  • вручную создаем список используемых семейств арматуры;
  • для каждого семейства заранее рисуем картинку-эскиз;
  • для каждой картинки прописываем, в какую точку выводить число-размер участка..

При запуске плагина:

  • берем арматуру в проекте;
  • в базе находим, какая картинка соответствует этому семейству;
  • из арматуры берем значения размеров и подписываем на картинке через System.Drawing.Graphics;
  • устанавливаем картинку в параметр экземпляра «Изображение» для данной арматурины;
  • если есть другая арматура с такими же размерами — не генерируем картинку, а берем эту же (в этом случае картинка не исчезнет, даже если в одну строку придет системная и IFC-арматура).

Да, потребуется предварительная настройка семейств и библиотеки, но это достаточно сделать только один раз.

Скачать: яндекс, гугл теперь все плагины поставляются в составе панели Bim-Starter с авто-установкой и обновлением.

Возможности плагина:

  • обработка как системной, так и IFC-арматуры в одной ведомости деталей;
  • простой и прозрачный механизм работы, возможность добавления своих форм и корректировки существующих;
  • возможность поворачивать текст для подписывания размеров, например, V-образных форм;
  • возможность вывода длины и угла загиба;
  • «сжатие» текста в случае, если длина текста слишком большая;
  • для замены картинки не надо перезагружать семейства, достаточно поменять картинку в библиотеке;
  • возможность вывода «переменной» длины;
  • сборки под Revit 2017-2022.

 

Ограничения текущей версии:

  • в комплекте поставки только 7 базовых форм в составе Bim-Starter уже настроены все семейства из шаблона Weandrevit;
  • нет возможности выводить «позицию переменной длины» можно использовать тип арматуры «Переменной длины», в эскизе будет указываться минимальная-максимальная длина и шаг для каждого участка;
  • нет визуального редактора форм есть визуальный конструктор эскизов;
  • обрабатывается вся арматура в проекте обрабатывается арматура из текущей ведомости деталей;
  • обновление ведомости только вручную по нажатию кнопки.

Библиотека состоит из подпапок в папке library. В каждой папке лежат три файла:

  • sketch.png — заготовка эскиза формы в формате png;
  • families.txt — список семейств, для которых будет применена форма;
  • parameters.txt — список параметров с указанием имени параметра, координат и угла поворота.

 

Также в архиве лежит файл Sample.rvt, в него загружены семейства форм арматуры и ведомость деталей.

Ну и видео:

Всем успехов!