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

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

Просмотр 15 результатов — с 271 по 285 (из 325)
  • Автор
    Результаты поиска
  • #3671

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

    Khasan Mamaev
    Модератор
    187 pts

    в коде бардак, elementListSection к чему сделан пустым списком изначально, если он является просто промежуточной переменной в цикле? лишняя скобка в последней строке цикла. Метод для получения параметра записан неверно. Unwrap для провода зачем нужен? Если нетрудно, поделись файлом для примера, а то у меня ничего электрического нет. Опытным путем мной было установлено, что получать параметры методом библиотеки RevitNods можно вот так

    лучше конечно освоить метод получения параметров стандартными средствами Ревит АПИ, на форуме об этом достаточно информации

    #3663

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

    Vladimir
    Участник
    13 pts

    Проектный портал, например, реализовал это как-то так. Без апи не обошлось.

     

    #3645
    Khasan Mamaev
    Модератор
    187 pts

    В Динамо в таких случаях помогает нод List.Map

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

    Аналог String.Concat на python через “”.join(list)

    Пригодится для объединения букв в слова

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

    Ок, можно обсудить. Я предполагаю, что в ближайшее время Алексей Лобанов поделится своими наработками, он дальше моего ушел, демонстрировал на вебинаре по динамо. Но можно конечно и мой скрипт развивать.

    1. Я в настоящий момент создаю потолки перекрытиями автоматически по параметру в помещениях “Высота потолка”. К данному параметру соответственно и привязываю расчет площади стен. Можно и предложенным вариантом сделать (предлагаете добавить в скрипт?)
    2. думаю в пределах погрешности норм
    3. У окон по-моему точка вставки на уровне пола, не могу представить как она в перекрытии может оказаться. Но то, что окно к нижнему помещению отнесется это да. Было дело долго на эту тему думал, методику расчета придумывал, потом плюнул на 1% помещений проекта решил доп параметром учесть, вручную внести где добавить а где вычесть.
    4. Проблему не вычитания витражей из стен решил довольно просто, создал прозрачные панели в категории Окна (а не в Панели витража, как по умолчанию). Промежуточные панели решил вручную учитывать пока. Но методика частично уже была разработана. Столкнулся с такой проблемой, что чем сложнее вычисления, тем они нестабильнее работают и на одной срабатывают, а на другой косячат. Пока оставил это, предполагая, что на торцах стен и перекрытий должны быть импосты и панели на несколько помещений – это ошибка.
    5. Довольно просто подправить скрипт, чтобы не учитывал, всё руки не доходят. Когда срочно кому-то надо было учесть такой случай, предложил им добавить параметры “Вычесть площадь стены” и “Прибавить площадь стены”. Понимаю, что ручная работа, но всё же не больше 5% помещений с такой ручной настройкой. В одном объекте например у нас границу помещения рисовали перед витражной системой наружной стены, т.е. в этом случае мы в минус по всему бы объекту ушли по отделке. А так в запас пока идет)) Но конечно надо исправить и подчеркну, что возможность искусственной корректировки должна быть и всё в любом случае надо просматривать.

    По поводу идей как можно с геометриями играться и пересечениями, я скрипт давненько выкладывал Теплотехнический расчет, там вот я пытался через Geometry много чего насчитать.

    Ну и раз оживили тему, то вот свеженький пример дальнейшей автоматизации 

    видео

    И тестовый вариант доработки, для помещений с точками в номере (например 3.1.2) (пока не обкатал, не уверен в стабильности)

     

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

    Со всеми аргументами метода вроде разобрался, вот что делать кривыми (curve)? Ревит требует list curve. Как можно получить этот list curve, если есть polycurve для этой арматуры со всеми вершинами и сегментами?

    #3396
    tuuletin
    Участник
    3 pts

    Legantmar, ну как, нет идей у тебя, почему изоляция не работает в только что созданном виде? Кстати, такая же хрень не только в dynamo, но и в revit python shell — если создать вид и что-то пытаться в нём заизолировать (предположу, что это случится и на других платформах). Другие свойства вида меняются, а изоляция — нет. Сам режим изоляции на виде включается (голубая рамочка), а вот элементы он не схватывает из System.Collections.Generic.List.
    Но обратный инструмент HideElements работает! Можно конечно скрыть то, что не нужно, но если модель объёмная, мне кажется, не очень хорошо будет собирать коллектором все остальные элементы из модели (которые нужно скрыть на виде).

    sec_view = ViewSection.CreateSection(doc, ElementId(49554), bb)
    sec_view.IsolateElementsTemporary(elements_to_isolate)
    #3365

    В ответ на: Sort string Alphabetical order

    Khasan Mamaev
    Модератор
    187 pts

    этот код работает как с отдельными словами, так и со списками слов (This code works with both individual words and word lists with)

    tuuletin
    Участник

    Привет, собственно, проблема такая, как быть?
    Есть elements_to_isolate, который является System.Collections.Generic.List'1[Autodesk.Revit.DB.ElementId].
    Сам объект содержит следующие ElementId:

    Открываю транзакцию, меняю разные свойства вида sec_view, что мне нужно. Самым последним шагом, хочу изолировать все объекты по elements_to_isolate.
    sec_view.IsolateElementsTemporary(elements_to_isolate)

    Выполняю код, на виде включается режим “Временная изоляция”, но при этом элементы не из elements_to_isolate не скрыты! Как с этим бороться?

    Dmitry_dronov
    Модератор

    Попробую тут накопить определенное количество пожеланий перед тем как отправить на офф. сайт…

    В ветку, которую успешно создал Антон http://dynamobim.org/forums/topic/wishlist/

     

    1. Добавить нод “Offcet inside Surface” который будет делать офсет внутрь поверхности
    2. Прямой экспорт геометрии любой сложности в DWG, OBJ, 3DS форматы
    3. Возможность подгружать автоматически из интернета пекеджные ноды которые есть в скрипте но нет в библиотеке
    4. Возможность отображать имя нода если оно переносится с помощью Shift+Enter
    Khasan Mamaev
    Модератор
    187 pts

    а это код, который получает сами элементы, выделенные в Ревит, как одиночные, так и кучкой

    import clr
    clr.AddReference(“RevitServices”)
    clr.AddReference(“RevitAPI”)
    from Autodesk.Revit.DB import *
    import RevitServices
    from RevitServices.Persistence import DocumentManager
    from Autodesk.Revit.ApplicationServices import Application

    reset = IN[0]

    doc = DocumentManager.Instance.CurrentDBDocument
    uidoc = DocumentManager.Instance.CurrentUIApplication.ActiveUIDocument
    ids = uidoc.Selection.GetElementIds()

    idd = [str(i) for i in ids]

    if isinstance(idd, list) == True:
    elems = [doc.GetElement(ElementId(int(i))) for i in idd]
    else:
    elems = doc.GetElement(ElementId(int(idd)))

    OUT = elems

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

    ent1g, посмотрел скрипт. мне понравился.
    единственное – неудобно выбирать помещения.
    я его немного доработал – добавил нод питон скрипта со строчкой list(set(IN[0]) & set(IN[1])), стало удобнее.
    https://yadi.sk/d/deFeTQOtnk4MT
    в архиве скрипт и видео.

    Khasan Mamaev
    Модератор

    Хочу поделиться очень полезным блоком Питон: является ли элемент списком. Такая проверка очень важна для скрипта Питона, поскольку Питон не обрабатывает как Динамо массивы автоматом, для обработки массива необходимо писать цикл. Часто бывает что приходится в скрипте Питона обрабатывать как одиночные элементы, так и массивы. Предложенный блок сам определяет является ли входная информация массивом или одиночным элементом и исходя из этого обрабатывает информацию. Блок довольно прост.

    if isinstance(IN[0], list) == True:
    elem = [UnwrapElement(i) for i in IN[0]]
    else:
    elem = UnwrapElement(IN[0])

    #2879
    Ihar
    Участник
    5 pts

    В ошибке пишет “Предупреждение:IronPythonEvaluator.EvaluateIronPythonScript операция не выполнена.
    Traceback (most recent call last):
    File “<string>”, line 23, in <module>
    TypeError: expected float, got list”

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

    #2654

    В ответ на: Category of element

    Nikolai
    Участник

    import clr
    clr.AddReference(‘RevitAPI’)
    from Autodesk.Revit.DB import *
    from System.Collections.Generic import *
    import clr
    clr.AddReference(‘ProtoGeometry’)
    from Autodesk.DesignScript.Geometry import *
    r=UnwrapElement(IN[0])
    list=[]
    for i in r:
    f=i.GetParameters(“Длина”)
    list.append(f.AsDouble())
    OUT = list

    не желает распознавать AsDouble(), вроде все импортировал, но

    Предупреждение:IronPythonEvaluator.EvaluateIronPythonScript операция не выполнена.
    Traceback (most recent call last):
    File “<string>”, line 12, in <module>
    AttributeError: ‘List[Parameter]’ object has no attribute ‘AsDouble’

Просмотр 15 результатов — с 271 по 285 (из 325)