Размещение элемента семейства на грани

Главная Форумы Python Помогите с питон кодом Размещение элемента семейства на грани

Просмотр 12 сообщений - с 1 по 12 (из 12 всего)
  • Автор
    Сообщения
  • #4229 Score: 0
    Иван Волощенко
    Участник

    Не могу разобраться с 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

    #4236 Score: 0
    Legantmar
    Хранитель
    474 pts

    Иван все неправильно. пусть Хасан разбирается с этим КЖ, если захочет.

    но ты хотя бы написал, какой элемент на какую грань нужно разместить…

    #4239 Score: 0
    Иван Волощенко
    Участник

    Спасибо за конструктивную критику. В файле как рас есть пример армирования, то как это делаться руками

    #4240 Score: 0
    Legantmar
    Хранитель
    474 pts

    а ты хочешь чтобы была “красная кнопка” сделать также красиво для всех видов разногабаритного, панельного хозяйства ? ))) (да еще с проемами или без и чтобы арматура сама все понимала)

    у Михаила Дубко что-то было на похожую тему rebar conainer http://revitconsalting.blogspot.ru/2016/06/revit-2017-rebar-container-4.html

    #4241 Score: 0
    Khasan Mamaev
    Модератор
    186 pts

    Иван, чтобы было легче понимать о чем речь, желательно показывать скриншоты

    #4245 Score: 0
    Иван Волощенко
    Участник

    В идеале будет несколько скриптов для семейств глухих панелей и панелей с различными проемами (отверстия не интересуют, надо же и проектировщикам оставить работу) параметры будут считываться с семейства панелей. Это все не вызывает большого труда, тут все понятно. Не получается реализовать создание нового экземпляра на грани (NewFamilyIntstence) и добавить возможность поворота

    Попробовал развернуть нод FamilyInstance.ByPointInView из библиотеки Clockwork

    Думаю нужно его немного подкорректировать и все получится. Только я могу это делать неделю методом комбинаторного поиска экстремума, а знающий человек за 5 минут скажет в чем моя ошибка=)

    #4246 Score: 0
    Иван Волощенко
    Участник

    Метод Михаила Дубко немного неустраивает ввиду не желания руководства организации тратить деньги на 17 версию  ='(сидим пока на 15й)/

    #4289 Score: 0
    Иван Волощенко
    Участник

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

    #4290 Score: 0
    Khasan Mamaev
    Модератор
    186 pts

    Ругается что ожидался хост-объект, а предоставлен экземпляр семейства, то есть такой фокус не проходит

    #4291 Score: 0
    Иван Волощенко
    Участник

    Я это понимаю. Может есть тогда другой способ получить Reference (рабочую ссылку на элемент). метод FamilyInstence подходит, размещает на грань (и следует за ней), с нужным углом поворота…

    #4292 Score: 0
    Khasan Mamaev
    Модератор
    186 pts

    К сожалению не могу сказать, поскольку этим вопросом не занимался

    #4458 Score: 1
    Иван Волощенко
    Участник

    скрипт работает так как задумывалось, единственный косяк не знаю как подать панель (загружаемое семейство на основе типовой модели) на слот Referense поэтому пришлось по месту панели создать кусок стены и на ней размещать армирование. Стену потом приходится удалять. Все же хотелось бы понять что из себя вообще представляет Referense (ссылка)  и как ее получить…

     Спасибо за ответы

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