Подключение библиотек Dynamo

Главная Форумы Python Dynamo Libraries Подключение библиотек Dynamo

В этой теме 13 ответов, 4 участника, последнее обновление  Khasan Mamaev 1 год, 11 мес. назад.

Просмотр 14 сообщений - с 1 по 14 (из 14 всего)
  • Автор
    Сообщения
  • #720 Score: 0

    Dmitry_dronov
    Модератор
    49 pts

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

    Еще одной важной библиотекой является Revit Elements.

    Еще одной не менее важной является библиотека Core

    Код, подгружающий библиотеку ProtoGeometry:

    Код, подгружающий Revit Elements:

    Как подгружать библиотеку Core:

    #743 Score: 0

    Khasan Mamaev
    Хранитель
    176 pts

    Добавлю что эта библиотека находится по следуюшему адресу “c:\Program Files\Dynamo 0.83\ProtoGeometry.dll” Вот ее частичное содержание

    #837 Score: 1

    Legantmar
    Хранитель
    422 pts

    1. Создание стены штатными нодами
    2. Расположение библиотек Dynamo
    3. dot.Peek
    4. Состав библиотеки ProtoGeometry
    5. Состав библиотеки RevitElements
    6. Пример создания стены с помощью PyS – с использованием библиотек Dynamo
    7. Пример создания оси с помощью PyS – с использованием библиотек Dynamo

    #931 Score: 0

    Legantmar
    Хранитель
    422 pts

    1) Если вы подключаете RevitAPI, то она должна быть указаны в списке выше ProtoGeometry и RevitNodes
    т.е. вот так:

    clr.AddReference(“RevitAPI”)

    clr.AddReference(“RevitNodes”)

    clr.AddReference(‘ProtoGeometry’)

    если RevitAPI будет указана в списке ниже RevitNodes или ProtoGeometry, то последние работать не будут.

    не играет никакой роли, где находятся и в каком порядке идут библиотеки RevitServices, ProtoGeometry и RevitNodes

    2) RevitAPI.dll находится по адресу: C:\Program Files\Autodesk\Revit 2015 и весит ~ 40 Мб
    поэтому крайне рекомендуется загружать из нее только то, что необходимо в данном скрипте, например вот так:
    clr.AddReference(“RevitAPI”)
    import Autodesk
    from Autodesk.Revit.DB import *

    или даже более конкретно:
    clr.AddReference(“RevitAPI”)
    import Autodesk
    from Autodesk.Revit.DB import ElementTransformUtils, ElementId

    откуда позже вызывается лишь одна команда MoveElements
    ElementTransformUtils.MoveElements(doc,ids,vector) #естественно в транзакции

    Удачи.

    #1064 Score: 1

    Legantmar
    Хранитель
    422 pts

    в продолжении темы “Вывод типа данных”
    появилось два вопроса
    import clr
    OUT=IN[0].GetType().Name

    1) что означает clr ? (библиотека или что?) где лежит, как открыть?
    накопал что-то вроде clr.dll в папке C:\Windows\Microsoft.NET\Framework\v4.0.30319, но “не открывается” с помощью dot Peek
    и есть вот такое определение (не уверен, что по теме) CLR — это sort of virtual machine
    2) если есть команда GetType(), как посмотреть все остальные возможные в этом системном clr?
    для библиотек типа RevitNode это можно сделать если открыть ее с помощью dot Peek и поковыряться в “дереве проводника” (я рассказывал на видео выше)

    #1065 Score: 0

    Khasan Mamaev
    Хранитель
    176 pts

    Что же такое CLR?

    CLR расшифровывается как “Common Language Runtime” (межъязыковый рантайм). Чтобы понять, зачем он нужен, необходимо предварительно проанализировать текущее состояние дел в COM и Java- технологиях.

    Для начала приведем определение из материала «Microsoft .Net Common Language Runtime Architecture”, базовой спецификации, поставляемой Microsoft.

    «…Common Language Runtime управляет исполнением исходного кода после его компиляции в Microsoft Intermediate Language(MSIL), OptIL или машинные коды. Весь код на MSIL или OptIL исполняется как управляемый код (managed code); этот код исполняется в сотрудничестве с .Net Framework. .Net Framework обеспечивает управление памятью, кросс- языковую интеграцию, обработку исключений, защиту кода и автоматическое управление сроком жизни объектов. В свою очередь, управляемый код должен предоставить в метаданных информацию, достаточную, чтобы позволить .Net Framework управлять исполнением кода.

    Ключевым свойством CLR является возможность обеспечения программной изоляции приложений, исполняемых в общем адресном пространстве. Это осуществляется с помощью типо-безопасного доступа ко всем областям памяти при исполнении типо-безопасного управляемого кода. Некоторые компиляторы могут создавать MSIL-код, который не только типо-безопасен, но и поддается простой проверке на безопасность исполнения. Этот процесс называется верификацией и позволяет серверам просто проверять написанные на MSIL пользовательские программы, и запускать только те, которые не будут производить небезопасных обращений к памяти. Такая независимая верификация важна для действительно масштабируемых серверов, исполняющих пользовательские программы и скрипты.»

    http://rsdn.ru/article/dotnet/clr.xml

    #3869 Score: 0

    anderson
    Участник

    Доброго времени суток! А не подскажите методы подключения сторонних библиотек? Например чтобы подключится к Autocad API.

    #3870 Score: 1

    Khasan Mamaev
    Хранитель
    176 pts

    Можно посмотреть мой ролик https://youtube.com/watch?v=oiz76GTN-8Y

    #3871 Score: 0

    anderson
    Участник

    Увидел на форуме ветку с обсуждением этого вопроса. Спасибо!

    #3876 Score: 0

    Khasan Mamaev
    Хранитель
    176 pts

    Андрей, если не коммерческая тайна, то может расскажешь какие задачи пытаешься решить в Автокаде с помощью Динамо?

    #3880 Score: 0

    anderson
    Участник

    Тут пока не задачи, тут идеи. Хотелось бы попробывать выудить информацию из файлов в AutoCAD и передать её в Revit. К реализации задумок пока не преступал, времени особо нет, но хочется попробывать.

    #3881 Score: 1

    Khasan Mamaev
    Хранитель
    176 pts

    Можно воспользоваться форматом dxf https://m.youtube.com/watch?v=VQUVx1xTb6g

    #3882 Score: 0

    anderson
    Участник

    Благодарю за ссылку!

    #3883 Score: 0

    Khasan Mamaev
    Хранитель
    176 pts

    Если с информацией из Автокад не планируются манипуляции в Динамо, то файлы Автокад можно сразу импортировать средствами Ревит.

Просмотр 14 сообщений - с 1 по 14 (из 14 всего)

Для ответа в этой теме необходимо авторизоваться.