Сообщество программистов Autodesk в СНГ

ADN Club => Revit API => Тема начата: goblya от 12-02-2015, 12:57:23

Название: Можно ли редактировать системные семейства с помощью REVIT API?
Отправлено: goblya от 12-02-2015, 12:57:23
Добрый день. возник вопрос можно ли редактировать системные семейства с помощью REVIT API( в частности хотя бы добавить в параметры формулы для вычисления)? В revit не получается редактировать семейства воздуховодов ,труб и пр.Можно в эти семейства добавить параметры, но в них можно вбить только текст, если попробовать забить элементарную формулу типа "=5+6" то revit выдаст ошибку. Чтобы пояснить зачем это нужно, в вентиляции толщина воздуховода зависит от размера наибольшей стороны воздуховода.Мне бы хотелось добавить 2 параметра в которые вбить формулы: 1 параметр "размер наибольшей стороны" который по формуле через if then else будет вычислять наибольшую сторону воздуховода, и второй параметр "толщина воздуховода" который опять через множественное if then else будет вычислять толщину воздуховода.
Название: Re: Можно ли редактировать системные семейства с помощью REVIT API?
Отправлено: Виктор Чекалин от 12-02-2015, 13:39:40
goblya, скажем так, если это можно сделать через пользовательский интерфейс, то можно и с помощью Revit API.
Редактировать системные семейства нельзя. В Общий Параметр простую формулу написать можно, если у параметра стоит соответствующий тип данных. А вот при попытке использовать значение параметра получим ошибку.
Название: Re: Можно ли редактировать системные семейства с помощью REVIT API?
Отправлено: goblya от 12-02-2015, 13:58:53
goblya, скажем так, если это можно сделать через пользовательский интерфейс, то можно и с помощью Revit API.
это и ежу понятно, просто некоторые вещи можно с помощью программирования ,которые с помощью пользовательского интерфейса нельзя. вот яркий пример тому (правда это касается lisp и autocad) http://forum.dwg.ru/showthread.php?t=24597 (http://forum.dwg.ru/showthread.php?t=24597).
Название: Re: Можно ли редактировать системные семейства с помощью REVIT API?
Отправлено: Александр Ривилис от 12-02-2015, 14:14:01
правда это касается lisp и autocad
В этом грандиозная разница между Revit и AutoCAD.
Название: Re: Можно ли редактировать системные семейства с помощью REVIT API?
Отправлено: Виктор Чекалин от 12-02-2015, 14:21:39
Revit в этом плане отличается. До не давнего времени в Revit API действительно нельзя было сделать больше, чем через пользовательский интерфейс. Сейчас появились вещи типа ExtensibleStorage, DataStorage, DirectShape, которые нельзя создать в интерфейсе, но можно с помощью API.

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

Единственная возможность задать вычисляемый параметр для встроенных семейств - использовать его в калькуляции.
Хотя нет. Не единственный.

Можно создать общий параметр, недоступный для редактирования. С помощью Dynamic Model Updater вычислять его значение.