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

Создание сборок через Dynamo (Tool.CreateAssembly)

1 ОТВЕТ 1
РЕШЕНО
Ответить
Сообщение 1 из 2
Anonymous
696 просмотров, 1 ответ

Создание сборок через Dynamo (Tool.CreateAssembly)

Коллеги, всем добрый вечер!

Подскажите, пожалуйста, в чем принципиальная разница между этими программами и почему такая система не работает?

В первом случае создаю сборки на основе выбранных объектов с помощью Tool.CreateAssembly. Сборки создаются.
Во втором случае - копировала код из узла этого инструмента в сам скрипт. Сборки не создаются, возникает ошибка...

Код в обоих случаях одинаковый.

#python nodes in dynamo 1.0
#proposed by Julien Benoit @jbenoit44 
#http://aecuandme.wordpress.com/
import clr
clr.AddReference('ProtoGeometry')
from Autodesk.DesignScript.Geometry import *
# Import ToDSType(bool) extension method
clr.AddReference("RevitNodes")
import Revit
clr.ImportExtensions(Revit.Elements)
# Import geometry conversion extension methods
clr.ImportExtensions(Revit.GeometryConversion)
# Import DocumentManager and TransactionManager
clr.AddReference("RevitServices")
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
from System.Collections.Generic import *
# Import RevitAPI
clr.AddReference("RevitAPI")
import Autodesk
from Autodesk.Revit.DB import *

doc = DocumentManager.Instance.CurrentDBDocument
uiapp = DocumentManager.Instance.CurrentUIApplication
app = uiapp.Application
uidoc=DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument

elt = []
for i in IN[0]:
	elt.append(UnwrapElement(i).Id)
	
catid=doc.GetElement(elt[0]).Category.Id
	
collection=List[ElementId](elt)


# Start Transaction
TransactionManager.Instance.EnsureInTransaction(doc)

a=AssemblyInstance.Create(doc,collection,catid)

# End Transaction
TransactionManager.Instance.TransactionTaskDone()

OUT=a

*Мне нужно сделать так, чтобы, человеку, который в дальнейшем будет использовать скрипт, не нужно было устанавливать дополнительных инструментов, отсюда возник данный вопрос.

Версия Ревит 2021, Dynamo 2.5

Снимок.PNGimage.png

Метки (4)
1 ОТВЕТ 1
Сообщение 2 из 2
Anonymous
в ответ: Anonymous

ох, ладно не дождалась помощи и решила сама, отредактировав сам скрипт. Теперь из множества объектов создается множество сборок
Снимо124к.PNG

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

Новая тема  

Autodesk Design & Make Report