Конфігурації Python редактора

У відеоуроках для написання коду я використовую редактор Atom. Завантажити його можна на офіційному веб-сайті за посиланням .

Перейдіть у меню File -> Settings -> Packages. Тут ми можемо встановити будь-який необхідний нам пакет. У рядок пошуку введіть наступні назви:

1. Script - це базовий пакет, який дозволяє працювати з кодом.

2. autocomplete-python - автозаповнює код, який ви вводите, цим ви можете пришвидшит… read more

Як Використовувати Revit IUpdater

Інтерфейс з назвою IUpdater - це ще один метод DMU (Dynamic Model Update). Він є гнучкішим за Event Hadler, тому що у нас є більше варіантів у визначенні тригеру події. Хороша річ у тому, що ми можемо запустити IUpdater, коли зробимо будь-яку модифікацію елемента, або створивши новий елемент, або змінивши існуючу геометрію. Завантажте зразок коду з моєї сторінки GitHub сторінки.

Прочитайте попередню статтю про Event Hadler, де я пояснив, як працюють функції __selfinit__ та togglestate. План полягає в тому, щоб створити екземпляр класу IUpdater, зареєструвати та задати його тригер.

Спочатку нам потрібен весь необхідний імпорт.:

# -*- coding: UTF-8 -*-
import os
from pyrevit import framework
from pyrevit import script
from pyrevit.framework import AppDomain
import Autodesk
from Autodesk.Revit.UI import *
from Autodesk.Revit.DB import *
import System
from System import Guid

Це стандартне тіло класу  IUpdater: read more

Revit Event Handler

Час для продвинутих речей. Ревіт має багато  "подій" які ми можемо відстежити, такі як  закриття / відкриття документу, активація виду тощо. Усі можливі "події" можна знайти на revitapidocks:

UIApplication: посилання
ControlledApplication: посилання

Отже ми можемо сказати Ревіту зробити щось, кол… read more

Dynamo Python у PyRevit

Як  я казав раніше, першим що зробив це перевів Dynamo скрипти у pyrevit. Отже ось основні відмінності:

Це стандартна шапка DYNAMO python

# -*- coding: UTF-8 -*-
import clr     
clr.AddReference('RevitAPI')     
from Autodesk.Revit.DB import *
clr.AddReference('RevitAPIUI')
from Autodesk.Revit.UI import *
clr.AddReference('RevitServices')

from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
uidoc = DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument

#open a transaction
TransactionManager.Instance.EnsureInTransaction(doc)
#Do stuff
TransactionManager.Instance.TransactionTaskDone()

Спершу необхідно імпортувати базу даних, шоб використовув… read more

PyRevit + Dynamo Скрипти

Коли я встановив pyrevit, першим, що я зробив, це переклав всі сценарії Динамо на PyRevit Python. Але якщо у вас немає часу або просто не хочеться цього робити, pyrevit дає можливість запускати динамо-скрипти. Наприклад, я візьму тестовий скрипт від pyrevitDevTools. Ось що ми маємо:

 

bundle.yaml в нашому випадку не потрібен. Щоб запустити динамо-скрипт за д… read more

1 2 > >>