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

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

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

UPD: Если не получается скопировать ведомость деталей в свой файл:
В файле Sample удалите из спецификации параметр «Арм.ВыполненаСемейством», скопируйте ведомость через «Копировать в буфер» и вставьте в свой файл, потом верните параметр и восстановите формулы для «ДлинаРасчетная» и «ДиаметрРасчетный».

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

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

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

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

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

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

Идея:

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

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

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

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

Скачать: яндекс, гугл.

Для установки:

  • закрыть Revit;
  • скачать и распаковать архив соответствующей версии;
  • зайти в свойства файла RebarSketch.dll и нажать кнопку «Разблокировать», если она доступна;
  • скопировать содержимое папки в «C:\ProgramData\Autodesk\Revit\Addins\[номер версии]»;
  • запустить Revit, выбрать «всегда загружать» в окне. Кнопка появится на вкладке Weandrevit.

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

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

Данный плагин — тестовая демо-версия, полная версия будет включена в набор плагинов «WeandrevitGates».

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

  • в комплекте поставки только 7 базовых форм;
  • нет возможности выводить «позицию переменной длины»;
  • нет визуального редактора форм (настройки задаются в текстовом файле);
  • обрабатывается вся арматура в проекте;
  • обновление ведомости только вручную по нажатию кнопки.

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

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

 

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

Ну и видео:

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