Dynamo – Русский – только для чтения
Раздел для программистов и специалистов, использующих Dynamo
отмена
Отображаются результаты для 
Показать  только  | Вместо этого искать 
Вы имели в виду: 

Dynamo: Групповая замена штампов.

9 ОТВЕТ 9
РЕШЕНО
Ответить
Сообщение 1 из 10
Dronov.Dmitry
1027 просмотров, 9 ответов

Dynamo: Групповая замена штампов.

Как можно выполнить групповую замену штампов? 

 

b52da5a77a.png

 

И где можно выучить питон?

Теги (1)
9 ОТВЕТ 9
Сообщение 2 из 10
alexey.lobanov
в ответ: Dronov.Dmitry

уроков по питону завались в интернете, но это восновном касается синтаксиса.

вторая часть магии - это справка по Revit API

 

 

берем все форматки в листах в проекте, берем список листов, которые хотим поменять, берем имя новой форматки и все это пихаем в скрипт

 

 

http://pastebin.com/FWyatxpX


Alexey Lobanov / Алексей Лобанов
Revit Architecture Certified Professional | Autodesk Certified Instructor | Autodesk Expert Elite
PRORUBIM | YouTube channel | LinkedIn profile

Сообщение 3 из 10
Dronov.Dmitry
в ответ: alexey.lobanov

А где можно почитать про синтаксис Rvt.API ?
Спасибо за скрипт.
Сообщение 4 из 10
Dronov.Dmitry
в ответ: alexey.lobanov

Кстати а для чего нужна пара нодов Трансакшн.Старт+Трансакшн.Энд?

Что они делают? 

Сообщение 5 из 10
Dronov.Dmitry
в ответ: alexey.lobanov

да отлично все работает. 🙂
только каждый новый раз почему то нужно закрывать и открывать код... если просто менять имя штампа А2А на А3А не перезагружая код - то выдает такую ошибку:

Dynamo.png.png

Сообщение 6 из 10
alexey.lobanov
в ответ: Dronov.Dmitry

Любые изменения с объктами в ревите должны быть внутри транзакций, чтобы никто другой в это-же время не смог делать изменения.

 

для этого и нужны ноды старта и окончания транзакции. Их можно прописать и в питоне, но так проще.

 

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

Можно транзакции прописать в скрипте...тогда точно будет нормально работать


Alexey Lobanov / Алексей Лобанов
Revit Architecture Certified Professional | Autodesk Certified Instructor | Autodesk Expert Elite
PRORUBIM | YouTube channel | LinkedIn profile

Сообщение 7 из 10
Dronov.Dmitry
в ответ: alexey.lobanov

Это описание сюда подходит? : Транзакция вики

 

B питон код нужно заключить в логическую пару t.start() и t.End() ? так? ссылка

 

Весь API синтаксис тут? ссылка

Сообщение 8 из 10
alexey.lobanov
в ответ: Dronov.Dmitry


Dronov.Dmitry написано:

Это описание сюда подходит? : Транзакция вики

 

B питон код нужно заключить в логическую пару t.start() и t.End() ? так? ссылка

 

Весь API синтаксис тут? ссылка


Да

Нет, в динамо свой менеджер транзакций:

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

doc = DocumentManager.Instance.CurrentDBDocument

TransactionManager.Instance.EnsureInTransaction(doc)

......Что-то создается........
TransactionManager.Instance.TransactionTaskDone()

 

Апи - да, там


Alexey Lobanov / Алексей Лобанов
Revit Architecture Certified Professional | Autodesk Certified Instructor | Autodesk Expert Elite
PRORUBIM | YouTube channel | LinkedIn profile

Сообщение 9 из 10
Dronov.Dmitry
в ответ: alexey.lobanov

Кстати.
В версии 0.7.4 этот глюк пропал 🙂 теперь не нужно колдовать 🙂 все работает при многократном повторении кода 🙂
Сообщение 10 из 10
alexey.lobanov
в ответ: Dronov.Dmitry

Круть!


Alexey Lobanov / Алексей Лобанов
Revit Architecture Certified Professional | Autodesk Certified Instructor | Autodesk Expert Elite
PRORUBIM | YouTube channel | LinkedIn profile

Не нашли то, что искали? Задайте вопросы в сообществе или поделитесь своими знаниями.

Новая тема  

Autodesk Design & Make Report