Python и универсальная среда разработки приложений (.NET, COM, API) с чистого ли

Главная Форумы Python Синтаксис и родные библиотеки Python Python и универсальная среда разработки приложений (.NET, COM, API) с чистого ли

Просмотр 15 сообщений - с 1 по 15 (из 26 всего)
  • Автор
    Сообщения
  • #1409 Score: 0
    Евгений Колчин
    Участник
    11 pts

    Приветствую всех на форуме! =))
    Сегодня захотел порыть в начинке custom node, чтобы понять их работу и самому писать ноды под свои цели и задачи. Для примера открыл взял нод Get Worksets (from Grimshow package)

    В коде Phython Script видим вот что…

    Помогите разобраться построчно, что откуда взялось? И какая логика при написании кода.
    Почему подключенные именно эти библиотеки. И как мы можем найти классы и методы в справочнике по API под нашу задачу.
    Я хочу написать custom node создающий рабочие наборы с заданными именами. Алгоритм моих действий?
    Иерархия классов в RevitAPI пока какая-то запутанная вещь. Хочу распутать…

    #1410 Score: 0
    Khasan Mamaev
    Модератор
    187 pts

    Евгений прочти пояснения над каждым фрагментом и скажи спасибо Конраду Собону, который дал тебе подсказки:)

    #1411 Score: 0
    Евгений Колчин
    Участник
    11 pts

    Хасан, эти комментарии читал. Как работает скрипт тоже понятно. Но они не дают понимания откуда взяты библиотеки и методы =( Наверно глупый вопрос получился, но мне важно понять детали, а из этих комментариев я понял только принцип работы уже готового кода. Но не то как его делали?
    Попробую конкретизирвоать вопросы…
    Зачем в этом скрипте подгружены именно эти библиотеки? к примеру ‘Protogeometry’ здесь используется разве?

    #1412 Score: 0
    Khasan Mamaev
    Модератор
    187 pts

    Вопросы правильные, но довольно обширные, вечером попробую ответить

    #1413 Score: 0
    Евгений Колчин
    Участник
    11 pts

    Вот потому что обширные наверно и сформулировать сложно. Но скажем для обучения программирвоанию Python & RevitAPI надо как-то эти вопросы обозначить. Чтобы формировать понимание, а не копипастить чужие коды =( Благодарю, Хасан=)

    #1415 Score: 0
    Legantmar
    Хранитель
    475 pts

    Жень, посмотри мое видео.
    Ты прав, у Конрода есть лишние библиотеки. Я предполагаю, что это связано с унификацией, чтобы в дальнейшим использовать этот блок в других скриптах не задумываясь о необходимых библиотеках.
    Главная команда всего скрипта в 30 строчке, как она работает не знаю, но на выходе получается имя и ID workset’ов.
    Что такое workset? рабочий набор? (это листы?)

    p.s. далее ты можешь их только отфильтровать по заданным именам (по аналогии с getParameterValueByName)

    #1416 Score: 0
    Khasan Mamaev
    Модератор
    187 pts

    Евгений может мы переименуем название темы? Вопросы, которых мы будем касаться по пути к пониманию данного конкретного кода выходят за пределы Python и RevitAPI. Предлагаю назвать типа “Python и универсальная среда разработки приложений (.NET, COM, API) с чистого листа”

    #1417 Score: 0
    Евгений Колчин
    Участник
    11 pts

    Да это рабочие наборы. Нод возвращает объекты всех рабочих наборов в файле, список их имен и ID.
    Я хочу сейчас сделать скрипы для автоматического создания рабочих наборов с наименованиями заданными. И скрипт который раскидывает элементы в файлах по рабочим наборам.

    Отличное видео, как раз то что я хотел для себя понять, благодарю=) сейчас изучу подробнее)

    #1418 Score: 0
    Евгений Колчин
    Участник
    11 pts

    Хасан, переименовал!)

    #1421 Score: 0
    Legantmar
    Хранитель
    475 pts

    http://dynamobim.ru/forums/topic/подключение-библиотеки-protogeometry/
    это базовые принципы, но не все так просто.

    #1422 Score: 0
    Khasan Mamaev
    Модератор
    187 pts

    Как вы знаете, в Dynamo есть возможность программирования на языке Python, для этого существует специальный нод, вызываемый следующим образом из библиотеки нодов:

    Двойной щелчок ЛКМ открывает нод и появляется возможность редактирования, по умолчанию в скрипте содержится некоторая информация:

    В дальнейшем мы разберем эту первоначальную информацию, а сейчас выделим все и удалим, чтобы начать с “чистого листа”:

    Теперь попробуем понять, что можно делать на этом чистом листе, для этого, в первую очередь, выясним какой версии Python у нас установлен и воспользуемся небольшим кодом, который мы еще как бы и не знаем

    на выходе получаем следующую информацию
    2.7.5 (IronPython 2.7.5 (2.7.5.0) on .NET 4.0.30319.0 (64-bit))
    это версия Python и версия платформы

    #1438 Score: 0
    Khasan Mamaev
    Модератор
    187 pts

    Пишем в инет-поисковике следующую фразу “Built-in Functions IronPython 2.7.5”, то есть ищем встроенные функции этой версии Python. Выходит множество ссылок, выбираем например вот эту http://ironpython-test.readthedocs.org/en/latest/library/functions.html

    Находим на сайте необходимую информацию по встроенным функциям

    Ниже на сайте дана расшифровка по каждой функции, читаем…
    Это собственно функции, которые можно использовать на нашем “чистом листе”, плюс математические, логические, условные и операторы циклов, список которых мы дадим ниже.

    #1440 Score: 0
    Khasan Mamaev
    Модератор
    187 pts

    А еще лучше найти файл справки, который находится тут:

    http://i.imgur.com/dF2iO4G.png

    или скачать по ссылке https://yadi.sk/d/1X7X5pMhinUF4

    #1441 Score: 0
    Khasan Mamaev
    Модератор
    187 pts

    С помощью еще одного нехитрого кода, мы извлечем список зарезервированных слов:

    вот полный список:
    {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}

    #1442 Score: 0
    Евгений Колчин
    Участник
    11 pts

    Хасан, что значит “зарезервированные слова”?

Просмотр 15 сообщений - с 1 по 15 (из 26 всего)
  • Для ответа в этой теме необходимо авторизоваться.