Блог Муратова про Revit MEP
7.58K subscribers
1.61K photos
96 videos
17 files
1.72K links
Вадим @Vadim_Rafi — раньше ОВэшник, теперь BIM-менеджер и препод. Блог про Ревит — muratovbim.pro

Чат для вопросов: @revitask

— Создаю семейства для Ревита.
— Обучаю моделировать разделы ОВ, ВК, ТМ.

Не размещаю рекламу.
加入频道
Forwarded from Просто о BIM
#Практика #Dynamo #Python Продолжу учить тех кто наставил столько лайков данной рубрике. И пройдусь по коду сверху вниз, объясняя что откуда и зачем.

В подключении библиотек можно даже не разбираться - просто копируйте как шапку и все. Но чтобы вы не думали, что вдруг чтото не работает из-за шапки и вдруг что-то еще надо добавить туда, я в кратце расскажу что там что.

Библиотеки - это файлы с расширением dll или py в которых сожержатся функции для управления какимито данными и сервисами. Есть папки дефолтные в которых эти библиотеки ищутся динамой, и если там гдето находятся по имени, то подгружаются. Но если файл библиотеки лежит не в дефолтной папке, то потребуется указать clr’у где еще поискать (потом какнибудь покажу пример).

import clr

clr - я называю это компилятором, библиотека которая именно тут нужна в динамовском ноде питон, чтобы все остальное работало. Такая местная специфика. Эта библиотека позволяет читать остальные библиотеки.

clr.AddReference('ProtoGeometry')

ProtoGeometry - стандартная библиотека динамо, для работы с геометрией динамо.

from Autodesk.DesignScript.Geometry import *

Из библиотеки ProtoGeometry заходим в группу классов (Пространство имен называется - Namespaces) Autodesk - DesignScript - Geometry и добавляем оттуда все классы, чтобы можно было ими ниже по коду пользоваться. звездочка - * - означает всё.

clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *

Далее аналогично подгружаем библиотеку RevitAPI - это главная библиотека где все основные методы для работы с элементами в ревите. Если не все то большинство методов с revitapidocs.com находятся в этой библиотеке. Тут взятие свойств, создание элементов, копирования и перемещения и прочее.

clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager

и завершаем сегодняшний обзор RevitServices и сервисами которые мы оттуда подгружаем - это сервис транзакций и документ менеджера для получения объекта открытого документа.

Про транзакции отдельно напишу.
9👍5🔥3