2015-11-19 4 views
1

Я пытаюсь извлечь информацию о физических свойствах (в частности, размеры и значения сопротивления) из архитектурной модели (Autodesk Revit) и организовать эту информацию для экспорта в качестве конкретных переменных.Извлечение информации о модели из программы с использованием python

Чтобы немного расширить, для самостоятельного исследования я хочу выполнять энергетические балансы на моделях Revit, начиная с простых и строящихся оттуда. Цель состоит в том, чтобы написать код, который собирает информацию из Revit Model, а затем организует его в такие переменные, как «Общая площадь стены», «Сопротивление изоляции», «Глубина гипсокартона», «Общая площадь окна» и т. Д., Которые затем могут быть отправлены к модели (или просто электронной таблице) и сохраненной как таковой.

Надеюсь, это имеет смысл.

Учитывая, что я новичок-кодер и предпочитаю писать на Python, есть ли у кого-нибудь какие-либо советы или ресурсы относительно эффективного (простого) пути для импорта и организации определенных параметров из модели Revit?

Нужно ли (или реально необходимо, учитывая скромную степень моих знаний) использовать API для этой программы (Revit) для выполнения этой задачи?

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

Краткая информация. У меня нет знаний о Revit или API в целом, базовые знания кодирования в Python и действительно хочу узнать больше!

Любая помощь, которую вы в состоянии дать, абсолютно ценится! Я также рад ответить на любые возникающие вопросы.

Благодарим вас за чтение и потрясающий день!

ответ

0

Действительно, наиболее часто используемый язык программирования для Revit является C# (.NET), если вы решите пойти с IronPython, он должен работать, но меньше материала ...

Использование C#, проверьте My First Revit Plugin обучение , Для вашего конкретного сценария, download the SDK и проверьте образец «Рейтинг огня».

+0

Я верю, что сейчас буду работать с python и посмотреть, где я получу в ближайшие недели. Спасибо за ресурсы! Они полезны независимо от языка, который я выбираю, и похоже, что C# может быть в моем будущем. Счастливое воскресенье! – Selim

1

Отличный вопрос - мой +1 определенно для Revit Python Shell (RPS).

Точно так же у меня было базовое понимание Python и ни одного из Revit API, но с RPS Ive закодированы множественные дополнения для нашего офиса (включая богатые пользовательские интерфейсы с использованием winforms) и не имели никаких ограничений до сих пор от кодирования в Python. Его правда, что в Python есть несколько примеров перевода C# API, но награда заключается в том, что несколько абзацев кода становятся несколькими строками ...

Производитель RPS (Daren) также очень полезен, поэтому никаких вопросов идти без ответа.

Отказ от ответственности - это то, что (как вы), Im начинающий программист, который просто хотел использовать API для расширения Revit. RPS для победы

+0

Это должен быть комментарий. –

+1

Спасибо! Прекрасно слышать о вашем опыте работы с RPS; Правильно ли я понимаю, что SDK не нужен для использования RPS?Я начал играть с RPS, и похоже, что он работает независимо от SDK, но я легко мог чего-то упустить. Еще раз спасибо! – Selim

+0

Revit API SDK является основной ссылкой независимо от того, какой язык вы используете - при использовании RPS вам просто нужно выяснить, как перевести C# в Python. В теории (и до сих пор на практике) все в SDK можно использовать в RPS. Как правило, хотя, если вы читаете большинство образцов кода, основная часть работы имеет мало общего с API - его более эффективное управление, фильтрация и представление данных. Python - это действительно ниндзя! – Callum