2017-10-19

Спецификации в Архикад - 2. Ведомость отделки

    При создании проектной документации в архикаде рано или поздно натыкаешься на существенные недостатки архикада, которые кочуют из версии в версию.
    Так, при попытке получить площадь поверхностей стен в зоне с разделением по покрытием обнаруживаешь, что такой функции нет. Разработчики добавили отдельную категорию в каталоги, назвали её Покрытия, добавили возможность выбирать в критериях Зону - и этим ограничились. Получить площадь покрытий поверхности Зоны - нельзя.

    Далее - проблема с площадью поверхностей колонн в зоне. У зоны есть параметры ROOM_WALLS_PRM, ROOM_WALLS_SURF - но нет никакого параметра, позволяющего получить периметр или площадь колонн. Стандартное решение вопроса - махинации с периметров (Периметр_Зоны - Периметр_Стен = Периметр_Колонн). Такое решение не подходит, если зонами выделены участки внутри помещений.


    Правда, лазейку в виде Ведомостей (бывшие Сметы) - они оставили. С их помощью можно получить площадь и периметр стен, примыкающих к зонам. Но!

1. Необходимо использовать не Номер Зоны, а её ID. И не только из-за проблем с сортировкой. Временами Номера Зон в Ведомостях просто оказываются пусты! Также некорректно иногда работает команда REQUEST "Zone_relations" при попытке вывести номер зоны, в котором расположен объект в ведомости. Это потребуется нам в дальнейшем при выводе экспликации полов.

2.Странная методика расчёта площади стен при включении замыкания у проёмов. К счастью - всё в запас.
3. Площадей поверхности колонн по прежнему нет, выдумываем алгоритм за разработчиков. Вводим доп. параметр, куда руками (BIM-руками) вводим длину участков зоны, не примыкающую к стенам. Тогда эти участки не будут восприняты как колонна.
4. У зоны нет никаких параметров, позволяющих получить координаты проёмов. Площадь панелей мы можем только вычислить по хитрым формулам. Т.е. отловить проёмы, уменьшающие площадь панелей - просто так нельзя. Только аксессуарами интерьера стен, кои кошмарно лагают и утяжеляют модель.

В итоге получаем следующую схему - через Ведомости выводим набор данных (геометрию и финишное покрытие зоны, состав, площадь, и периметр примыкающих стен и т.д.) и обрабатываем эти данные в сторонней программе. Удобнее было бы, конечно, использовать Python, но в силу исторически сложившихся обстоятельств был использован Excel+VBA. Проще подправить, проще обучить, нет паники от непонятных инноваций.

Результат - на видео ниже




Ссылки на библиотеки
Спецификация - https://yadi.sk/d/JkLdDVcP3NmBt9
archbib20.lcf - https://yadi.sk/d/dN9IRMGO3SB2KY