четверг, 13 августа 2015 г.

[Revit] - Гидроизоляция крышей

Интересный способ нанесения гидроизоляции предложил Александр Зуев - тыц

среда, 5 августа 2015 г.

[Revit] - Пользовательская таблица в Revit

Нашёл у Matthew Nelson'a способ создания пользовательской таблицы (к сожалению ссылка на его сообщение умерла).

Вкратце:

- создаём спецификацию, добавляем какой-нибудь параметр (я выбираю текстовый)
- в фильтре задаём значение, которое ни при каких условиях не будет назначено ни одному элементу. Критерий фильтрации - "равно" и вбиваю какую-нибудь белиберду.
Цель - отобразить только название спецификации.
- на вкладке "Вид" убираем отображение заголовков
- переходим к виду со спецификацией, выбираем заголовок, нажимаем на кнопку "Очистить ячейку"

Далее можно добавлять столбцы, строки, менять их размер и границы, объединять/разделять ячейки.
Минус таблицы - нет возможности копировать столбцы/строки.

Для себя нашёл применение при создании таблицы с исходными данными для проектирования фундаментов.

UPD: также этот способ был описан в блоге Whats Revit Wants ещё в 2013-м году.

UPD: Всё-таки есть хоть какая-то возможность связи с моделью.
В ячейки заголовка таблицы можно проставить значения параметров категории "Сведения о проекте"
Выбрать ячейку, далее на вкладке "Изменить спецификацию/количества" на панели "Параметры" выбрать из выпадающего списка пункт "Сведения о проекте".


После этого в нижнем списке будут доступны для выбора параметры категория "Сведения о проекте".


вторник, 14 июля 2015 г.

[Revit] - При экспорте в DWG теряется штриховка стен

Поэкспериментировал на чистом файле - экспортирует как надо, значит дело не в настройках экспорта.
После недолгих изысканий нашёл причину - в настройках переопределения видимости/графики вида для стен была выставлена прозрачность 100%. Выставил в ноль - экспортируется как положено.

вторник, 9 июня 2015 г.

[API Revit] - Как получить BuiltInCategory элемента

Если попытаться извлечь категорию элемента через elem.Category.Name, то получаем текстовое представление категории так как видит пользователь. Например: "Электрооборудование" или "Оборудование".

Ориентироваться на такое имя нежелательно - есть риск изменения имени категории при локализации очередной версии Revit.

Просмотреть значение встроенной категории можно с помощью Lookup в строчке "Category".
Немного порывшись в исходниках нашёл метод, отвечающий за выдачу параметров категории:


((BuiltInCategory)cat.Id.IntegerValue).ToString() и есть внутреннее наименование категории элемента в текстовом виде.

пятница, 10 апреля 2015 г.

[Revit] - Приручение мышки

Сергей Волков поделился настройками дополнительных кнопок на мышке.

Поделюсь и я своими, давно уже хотел это сделать.

С мышками от A4Tech работаю уже десять лет. Сначала была X6-80D, единственное что расстраивало - невозможно перенастроить кнопку двойного клика.
Года два назад нашёл свой идеал - A4Tech XL-755BK.



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

Пример - назначили на кнопку мышки F9.
В горячих клавишах F9 - перенести, Ctrl+F9 - копировать, Ctrl+Shift+F9 - повернуть, Shift+F9 - отзеркалить.

понедельник, 16 марта 2015 г.

[Revit] - Почистить библиотеку семейств от временных файлов

При сохранении семейства создаются временные файлы с добавлением приставки - .0001.rfa, .0002.rfa и так далее.

Как быстро почистить библиотеку семейств можно посмотреть здесь

Если коротко - в проводнике windows открываем папку библиотеки, в окошке поиска файлов набираем 0001, происходит поиск файлов по маске, удаляем файлы в корзину.
И так далее - с 0002, 0003

От себя добавлю - по маске 0001 или 0002 в результаты поиска могут попадать семейства, в имени которых присутствует данная комбинация цифр.
Например: Шкаф обогрева кровли ШУ-ТС-07517-0001.rfa.

Чтобы случайно не удалить нужные семейства использую маску: .000?.rfa
Таким образом снижается вероятность удаления нужного семейства, плюс поиск выполняется только один раз.

Не следует исключать вариант такого именования - Шкаф обогрева кровли ШУ-ТС-07517.0001.rfa, поэтому удаление файлов делаю очень аккуратно.

четверг, 5 февраля 2015 г.

[API Revit] - Как назначить рабочий набор для элемента

Найти ID рабочего набора, записать его во встроенный параметр элемента - ELEM_PARTITION_PARAM.

Подробнее здесь

пятница, 12 декабря 2014 г.

[API Revit] - Перевод из футов в миллиметры

Значения геометрических параметров в API Revit выдаются в имперской системе измерений.
Для перевода единиц в метрическую систему пользуюсь методом ConvertFromInternalUnits класса UnitUtils.

Пример:

//Получение координаты Z точки вставки семейства

FamilyInstance LInstance = elem as FamilyInstance;
LocationPoint pt = LInstance.Location as LocationPoint;
string PtString =
UnitUtils.ConvertFromInternalUnits(pt.Point.Z, DisplayUnitType.DUT_MILLIMETERS).ToString();
TaskDialog.Show("Revit", PtString);


вторник, 9 декабря 2014 г.

[API Revit] - Не работает get_Parameter().Set()

Чтобы внести какое-либо изменение в модель требуется создать транзакцию. Очень доступно про транзакции описано в учебном курсе "Моя первая программа" для Autodesk Revit, урок 3.

Про регенерацию и транзакции есть выступление Бориса Шафиро на Autodesk University Russia 2014.

Наглядно результат использования транзакций можно посмотреть в видео Harry Mattison'а.