Результаты поиска для 'family type'

Главная Форумы Поиск Результаты поиска для 'family type'

Просмотр 15 результатов — с 46 по 60 (из 60)
  • Автор
    Результаты поиска
  • Legantmar
    Хранитель
    475 pts

    аналогично колоннам, только нод заменить на StructuralFraming.BeamByCurve

    и beam type искать в ноде family types

    ну и есесно кривые для балок..

    #5634

    В ответ на: SetParameterByName

    txt
    Модератор
    86 pts

    что неверно делаю (выбрал одну дверь пытаюсь записать параметр):

    выдает ошибку: …TypeError: iteration over non-sequence of type FamilyInstance

    ИваСерж
    Хранитель
    134 pts

    Тамика читал?

    http://thebuildingcoder.typepad.com/blog/2015/04/whats-new-in-the-revit-2016-api.html#4.01

    • All NewFamilyInstance() overloads on Autodesk.Revit.Creation.Document and Autodesk.Revit.Creation.ItemFactoryBase now check to ensure that the input FamilySymbol is active (FamilySymbol.IsActive). Symbols that are not used in the document may be deactivated to conserve memory and regeneration time. When the symbol is inactive, its geometry is empty and cannot be accessed. In order to access the geometry of a symbol that is not active in the document, the symbol should first be activated by calling FamilySymbol.Activate().
    • If the symbol is not active the method will now throw. This prevents the situation where the new FamilyInstance created will not generate proper geometry or intersections with related elements.
    #4843
    ИваСерж
    Хранитель
    134 pts

    Вот прямо сегодня столкнулся с такой проблемой. Подробней рассказал Лобанов в своих уроках

    https://youtu.be/XIGpuP23k9k?list=PLVCDzVIlOckHsZcqkq3DmzdGcq2503l1G&t=1175

    Решение: создавать элементы не средствами Динамо, с через питон.
    Я использовал команду doc.Create.NewFamilyinstance. Тогда семейства создаются без привязки к Динамо. Если нужно, могу подсказать как работать с NewFamilyinstance.

    p.s.

    import Revit
    clr.ImportExtensions(Revit.Elements)

    Element.ToDSType(False) – если мы создали элемент в Dynamo (и его не было в Revit) – Dynamo будет отслеживать. Т.е. при очередном запуске старый элемент будет удаляться и создаваться новый!

    Element.ToDSType(True) – Dynamo не будет отслеживать и при каждом запуске будут создаваться новые элементы, старые удаляться не будут.

     

    #4567
    ИваСерж
    Хранитель
    134 pts

    Идея не опробована предлагаю как вариант.
    Вступление.
    Штампы по сути это FamilyInstance.
    Они находятся в системной категории OST_TitleBlocks

    Реализация:
    1. Выбрать все Штампы в проекте. У штампов есть параметр SHEET_NAME.
    Фильтрануть Штампы SHEET_NAME.
    2. Параллельно выбрать те же Штампы, но уже выбрать необходимый FamilyType штампа.
    3. Нодом из пакета Clockwork FamilyInstance.SetType поменять отфильтрованным штампам нужный тип, выбранный в п.2

    #4369

    В ответ на: Помогите новичку!

    ИваСерж
    Хранитель
    134 pts

    У меня есть глубокие сомнения, что назначение каких либо параметров изоляции необходимо. Что дальше будете с этим параметром делать? У вас получится считать его для спецификации? Вы попробовали реализовать ваши задачи вручную?
    Теперь по скрипту:
    1. Изоляция не экземпляр семейства. Очевидно, FamilyInstance.Type выдает ошибку.
    Этим нодом по экземпляру семейства определяют к какому типоразмеру он относится. Для изоляции этот метод не применим.
    2. Спасибо за скрин параметров изоляции. Очевидно, в именах параметров изоляции трубы нет параметра с названием “Рулон1” . Скорее всего, вам нужен параметр “Толщина изоляции”.

    П.С. Можно экспортировать весь скрипт нажав Файл-Экспорт рабочего пространства как изображение. Или можно просто на фотик кликнуть под крестиком закрытия Динамо. Пожалуйста, экспортируйте скрипт полностью, так его проще анализировать.

    #4310
    Legantmar
    Хранитель
    475 pts

    Молодец!
    Если работаешь с балочной системой, то видимо нужно ставить нод FamilyInstanse.Type, чтобы добраться до каждого элемента.
    Ты же так и делал, получая параметры “b” и “h”.
    Если ты задачу выполнил, то при чем тут я и тем более наброска на питоне )))

    Иван Волощенко
    Участник

    Код на питоне подкорректировал. при выборе стены все работает. При выборе семейства панели (категория Каркас несущий, семейство создано на основе типовой модели) ругается TypeError: expected HostObject, got FamilyInstance. Подскажите чего не хватает

    Иван Волощенко
    Участник

    Не могу разобраться с Create.FamilyInstance
    Подскажите что делаю не так
    Revit 15 UR9
    Dynamo 0.9.1

    import clr
    clr.AddReference(‘ProtoGeometry’)
    from Autodesk.DesignScript.Geometry import *
    clr.AddReference(“RevitNodes”)
    import Revit
    clr.ImportExtensions(Revit.GeometryConversion)
    # Import DocumentManager and TransactionManager
    clr.AddReference(“RevitServices”)
    import RevitServices
    from RevitServices.Persistence import DocumentManager
    from RevitServices.Transactions import TransactionManager
    # Import ToDSType(bool) extension method
    clr.AddReference(“RevitNodes”)
    import Revit
    clr.ImportExtensions(Revit.Elements)
    clr.AddReference(‘RevitAPI’)
    from Autodesk.Revit.DB import *

    doc = DocumentManager.Instance.CurrentDBDocument

    symbol = UnwrapElement(IN[0])
    host = UnwrapElement(IN[1])
    location =UnwrapElement(IN[2])
    referenceDirection = UnwrapElement(IN[3])

    TransactionManager.Instance.EnsureInTransaction(doc)
    d1=doc.Create.NewFamilyInstance(location,symbol,referenceDirection,host)#,StructuralType.NoneStructural)-StructuralType не определен
    TransactionManager.Instance.TransactionTaskDone()
    OUT= d1

    https://yadi.sk/d/NPDj3wfJuFBSt
    https://yadi.sk/d/IxYtc4v_uFBfM

    #3674

    В ответ на: 2D схемы на листе.

    Alexandr Popov
    Модератор
    44 pts

    И семейства 2д типовой аннотации вставляю и параметры в них заполняю.

    import clr
    clr.AddReference(‘ProtoGeometry’)
    from Autodesk.DesignScript.Geometry import *
    clr.AddReference(‘RevitAPI’)
    from Autodesk.Revit.DB import *
    clr.AddReference(“RevitNodes”)
    import Revit
    clr.ImportExtensions(Revit.GeometryConversion)

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

    # Import ToDSType(bool) extension method
    clr.AddReference(“RevitNodes”)
    import Revit
    clr.ImportExtensions(Revit.Elements)

    doc = DocumentManager.Instance.CurrentDBDocument

    #The inputs to this node will be stored as a list in the IN variable.
    dataEnteringNode = IN
    point = IN[0]
    view = UnwrapElement(IN[1])
    fam = UnwrapElement(IN[2])
    name = IN[3]
    num = IN[4]
    TransactionManager.Instance.EnsureInTransaction(doc)
    a = FilteredElementCollector(doc,UnwrapElement(view).Id).OfCategory(BuiltInCategory.OST_GenericAnnotation)
    for k in a:
    b=UnwrapElement(k).Id
    doc.Delete(b)
    i=0
    while i<point.Count:
    dl = doc.Create.NewFamilyInstance(point[i],fam,view)
    n = dl.LookupParameter(“Имя”).Set(name[i])
    n1 = dl.LookupParameter(“Номер”).Set(num[i])
    i=i+1
    TransactionManager.Instance.TransactionTaskDone()
    OUT = dl

    #3668

    В ответ на: 2D схемы на листе.

    ИваСерж
    Хранитель
    134 pts

    Alexandr Popov, буду искать в этом направлении.
    Насколько я понимаю, посредсвом “чистого” Динамо вставить что-либо в легенду не получиться.
    На международном форуме у человека не получилось, а ответ он так и не получил… -detail-conponent-types-in-a-legend
    Сейчас попробую разобраться в ноде FamilyInstanseByView. У меня есть подозрение, что для вставки семейства в легенду нужно использовать
    другой метод, чем для вставки семейства в 3Д пространство.
    Может, у кого-то уже есть решение какой коммандой вставлять?

    Dmitry Shelyago
    Участник

    Добрый день!

    Воспользовался нодом из пакета ClockWork FamilyType.СompoundStructureLayers(немного доработанный-добавлена Density) но вот что заметил, в стене 9 слоёв( 2 из которых граница сердцевины) и того получаем 7 с материалами, но почему-то он вытаскивает только 3 слоя и параметры для них. Получается в строчка ” Count<num” где count-счётчик, а num кол-во слоёв, не работает что ли? в чём подвох? он останавливается на слое “сердцевина”?

    #2133
    Legantmar
    Хранитель
    475 pts

    продолжаю копать в этом направлении

    пока нашел две статьи Jeremy Tammik:

    Dimension Walls by Iterating Faces 2011 года (некоторые команды устарели, как раз которые мне нужны)

    Picking Pairs and Dimensioning Family Instance Origin 2014 года

    скачал The Building Coder samples release 2015.0.116.0. с кучей полезных кодов

    среди которых нашелся и адаптированный к Revit 2015 CmdDimensionWallsFindRefs.cs – create dimensioning elements between opposing walls using FindReferencesByDirection

    все это на C# и встречаются новые для меня команды. в общем пока пытаюсь разобраться во всем этом хаусе Джереми ))

    p.s. никогда бы не подумал, что поставить размер между внешними гранями стен так сложно…

    PashaStr (Pavel Karpovich)
    Участник
    7 pts

    Нашёл то что искал, нод от clockwork – FamilyInstance.SubComponents. Вот заглядывает только в первый уровень вложенности. Может есть мысли как цикл переделать, чтобы развёртывал каждое семейство, что он нашёл? Ссылка на проект и скрипт – https://drive.google.com/folderview?id=0BwmNjVD4W1-BX25YRUk5SXBla28&usp=sharing (RVT2016) Работает на вот таком пайтон коде:

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

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

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

    doc = DocumentManager.Instance.CurrentDBDocument
    items = UnwrapElement(IN[0])
    elementlist = list()

    for item in items:
    itemlist = list()
    try:
    for subcomp in item.GetSubComponentIds():
    itemlist.append(doc.GetElement(subcomp).ToDSType(True))
    except:
    donothing = 1
    elementlist.append(itemlist)
    OUT = elementlist

    #1728
    Legantmar
    Хранитель

    Для Александра Попова и тех, кто интересовался
    Помимо нода Parameters, который показывает все параметры, и нода getParameterValueByName, который вызывает нужный параметр по его имени,
    есть еще нод из пакета Clockwork с именем FamilyType.CompoundStructureLayers, который показывает структуру стены (стен), например, материалы слоев и их толщину.

    если нужен питон код, то достаточно заглянуть в этот custom нод

Просмотр 15 результатов — с 46 по 60 (из 60)