Python и универсальная среда разработки приложений (.NET, COM, API) с чистого ли
Главная › Форумы › Python › Синтаксис и родные библиотеки Python › Python и универсальная среда разработки приложений (.NET, COM, API) с чистого ли
- В этой теме 25 ответов, 4 участника, последнее обновление 9 лет, 3 месяца назад сделано Khasan Mamaev.
-
АвторСообщения
-
Приветствую всех на форуме! =))
Сегодня захотел порыть в начинке custom node, чтобы понять их работу и самому писать ноды под свои цели и задачи. Для примера открыл взял нод Get Worksets (from Grimshow package)
В коде Phython Script видим вот что…
Помогите разобраться построчно, что откуда взялось? И какая логика при написании кода.
Почему подключенные именно эти библиотеки. И как мы можем найти классы и методы в справочнике по API под нашу задачу.
Я хочу написать custom node создающий рабочие наборы с заданными именами. Алгоритм моих действий?
Иерархия классов в RevitAPI пока какая-то запутанная вещь. Хочу распутать…Евгений прочти пояснения над каждым фрагментом и скажи спасибо Конраду Собону, который дал тебе подсказки:)
Хасан, эти комментарии читал. Как работает скрипт тоже понятно. Но они не дают понимания откуда взяты библиотеки и методы =( Наверно глупый вопрос получился, но мне важно понять детали, а из этих комментариев я понял только принцип работы уже готового кода. Но не то как его делали?
Попробую конкретизирвоать вопросы…
Зачем в этом скрипте подгружены именно эти библиотеки? к примеру ‘Protogeometry’ здесь используется разве?Вопросы правильные, но довольно обширные, вечером попробую ответить
Вот потому что обширные наверно и сформулировать сложно. Но скажем для обучения программирвоанию Python & RevitAPI надо как-то эти вопросы обозначить. Чтобы формировать понимание, а не копипастить чужие коды =( Благодарю, Хасан=)
Жень, посмотри мое видео.
Ты прав, у Конрода есть лишние библиотеки. Я предполагаю, что это связано с унификацией, чтобы в дальнейшим использовать этот блок в других скриптах не задумываясь о необходимых библиотеках.
Главная команда всего скрипта в 30 строчке, как она работает не знаю, но на выходе получается имя и ID workset’ов.
Что такое workset? рабочий набор? (это листы?)p.s. далее ты можешь их только отфильтровать по заданным именам (по аналогии с getParameterValueByName)
Евгений может мы переименуем название темы? Вопросы, которых мы будем касаться по пути к пониманию данного конкретного кода выходят за пределы Python и RevitAPI. Предлагаю назвать типа “Python и универсальная среда разработки приложений (.NET, COM, API) с чистого листа”
Да это рабочие наборы. Нод возвращает объекты всех рабочих наборов в файле, список их имен и ID.
Я хочу сейчас сделать скрипы для автоматического создания рабочих наборов с наименованиями заданными. И скрипт который раскидывает элементы в файлах по рабочим наборам.Отличное видео, как раз то что я хотел для себя понять, благодарю=) сейчас изучу подробнее)
Хасан, переименовал!)
http://dynamobim.ru/forums/topic/подключение-библиотеки-protogeometry/
это базовые принципы, но не все так просто.Как вы знаете, в Dynamo есть возможность программирования на языке Python, для этого существует специальный нод, вызываемый следующим образом из библиотеки нодов:
Двойной щелчок ЛКМ открывает нод и появляется возможность редактирования, по умолчанию в скрипте содержится некоторая информация:
В дальнейшем мы разберем эту первоначальную информацию, а сейчас выделим все и удалим, чтобы начать с “чистого листа”:
Теперь попробуем понять, что можно делать на этом чистом листе, для этого, в первую очередь, выясним какой версии Python у нас установлен и воспользуемся небольшим кодом, который мы еще как бы и не знаем
на выходе получаем следующую информацию
2.7.5 (IronPython 2.7.5 (2.7.5.0) on .NET 4.0.30319.0 (64-bit))
это версия Python и версия платформыПишем в инет-поисковике следующую фразу “Built-in Functions IronPython 2.7.5”, то есть ищем встроенные функции этой версии Python. Выходит множество ссылок, выбираем например вот эту http://ironpython-test.readthedocs.org/en/latest/library/functions.html
Находим на сайте необходимую информацию по встроенным функциям
Ниже на сайте дана расшифровка по каждой функции, читаем…
Это собственно функции, которые можно использовать на нашем “чистом листе”, плюс математические, логические, условные и операторы циклов, список которых мы дадим ниже.А еще лучше найти файл справки, который находится тут:
или скачать по ссылке https://yadi.sk/d/1X7X5pMhinUF4
С помощью еще одного нехитрого кода, мы извлечем список зарезервированных слов:
вот полный список:
{and,as,assert,break,class,continue,def,del,elif,else,except,exec,finally,for,from,global,if,import,in,is,lambda,not,or,pass,print,raise,return,try,while,with,yield}Хасан, что значит “зарезервированные слова”?
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.