Копировании элементов армирования

Главная Форумы Задать вопрос Копировании элементов армирования

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Автор
    Сообщения
  • #10823 Score: 0
    ZHUN
    Участник

    Добрый день, столкнулся с такой проблемой , при копировании армирования колонн, Основа остается та колонна, с которой копировала. Решил добавить функцию принадлежности элемента, к которому копируется, но походу пошло что-то не так. Он присваивает элементы по разному к колоннам

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

    import clr
    from System.Collections.Generic import *
    clr.AddReference(‘RevitAPI’)
    from Autodesk.Revit.DB import *
    import Autodesk

    clr.AddReference(“RevitNodes”)
    import Revit
    clr.ImportExtensions(Revit.Elements)
    clr.ImportExtensions(Revit.GeometryConversion)

    clr.AddReference(‘System’)
    from System.Collections.Generic import List

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

    doc = DocumentManager.Instance.CurrentDBDocument

    items = UnwrapElement(IN[0])

    xyz = UnwrapElement(IN[1])
    newHost = UnwrapElement(IN[2])

    #hostId = UnwrapElement(IN[2]).Id
    axis = UnwrapElement(IN[4])
    angle = IN[3]

    idx = []
    for item in newHost:
    idx.append(item.Id)
    itexlist = List[ElementId](idx)

    ids = list()
    for item in items:
    ids.append(item.Id)
    itemlist = List[ElementId](ids)

    TransactionManager.Instance.EnsureInTransaction(doc)
    for x,y,z in zip(xyz,angle,itexlist):
    newitems = ElementTransformUtils.CopyElements(doc,itemlist,x.ToXyz())
    for rebarElement in z:
    rebarElement.SetHostId(doc,z.Id)

    elementlist = list()
    for item in newitems:
    elementlist.append(doc.GetElement(item).ToDSType(False))

    OUT = itexlist

Просмотр 1 сообщения - с 1 по 1 (всего 1)
  • Для ответа в этой теме необходимо авторизоваться.