Alexandr Popov

Ответы в темах

Просмотр 15 сообщений - с 1 по 15 (из 29 всего)
  • Автор
    Сообщения
  • #2721 Score: 7
    Alexandr Popov
    Модератор
    44 pts

    Собственно скрипт, как создавать нединамические спецификации из линий и текста

    И видео записалось без звука, позже перезапишу.

    #1984 Score: 4
    Alexandr Popov
    Модератор
    44 pts

    Итак, к чему я пришел. Все эти поверхности можно выгрузить в xml следующим образом:

    Затем я открываю этот файл и сохраняю в формате екселя (более стабильная база данных получается. Dynamo и xml прочитал, но выстроил по мне не понятной структуре (строки/столбцы)

    На 7 помещений получилось 2300 строк информации

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

    Расчет конечно надо ещё подпилить, чтобы нулевые значения не выводил, но это мелочи, действительно проблема, что он на реальной задаче не отрабатывает.

    Если кому интересно “пощупать” скинул все файлы сюда

    #3990 Score: 4
    Alexandr Popov
    Модератор
    44 pts

    Ещё нюансик если вы лишний раз сделаете UnwrapElement (или например помещение анврапните) то получите вот такую ошибку:

    IronPython.Runtime.Types.ReflectedIndexer  или #indexer

    Вобщем запомните что надо в таком случае убрать лишний анврап.

    И ещё частая ошибка

    IronPython.Runtime.Types.BuiltInFunction

    Это означает что вы в конце функции скобочки не поставили, н-р: GetTypes(), Geometry() и т.п.

     

    #2717 Score: 3
    Alexandr Popov
    Модератор
    44 pts

    Ок, сам разберусь и поделюсь.

    #3889 Score: 2
    Alexandr Popov
    Модератор
    44 pts

    Вместо:

    w=d2.Parameter[число].AsString()
    w=etagi

    Надо:

    w = d2.LookupParameter(“число”).Set(etagi)

    #1737 Score: 2
    Alexandr Popov
    Модератор
    44 pts

    Надо же а волтайпбайнейм и не заметил. Ну вот благодаря данной подсказке закончил скрипт по площадям наружных стен у помещений. Еще раз благодарю!

    #2460 Score: 1
    Alexandr Popov
    Модератор
    44 pts

    Рекомендую по имени удалить дубликаты, а потом сделать питон скрипт с циклами и счетчиками и вывести сколько на какое имя счетчиков насчитает и занести в дополнительный параметр.

    #3311 Score: 1
    Alexandr Popov
    Модератор
    44 pts

    els = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_GenericAnnotation).OfClass(FamilySymbol).ToElements()
    for i in els:
    if “Выноска” in i.Family.Name:
    el=i
    break

    Вот такой способ намутил, когда пытался без нодов в питоне вытащить тип Выноски.

    #1914 Score: 1
    Alexandr Popov
    Модератор
    44 pts

    Вот что у меня получилось, только пока что таким образом не ставит текст (в 0,0,0 текст примера вставил)

    #2516 Score: 1
    Alexandr Popov
    Модератор
    44 pts

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

    #3470 Score: 1
    Alexandr Popov
    Модератор
    44 pts

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

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

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

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

    видео

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

     

    #1928 Score: 1
    Alexandr Popov
    Модератор
    44 pts

    Круто, но у меня почему-то не расставил.

    #2531 Score: 1
    Alexandr Popov
    Модератор
    44 pts

    я бы сделал transpose и a[0], а то эти нестабильные питоны =))

    #3807 Score: 1
    Alexandr Popov
    Модератор
    44 pts

    Вот записал несколько видео о том, как размещать 2д элементы и тексты на чертежных видах и легендах. Т.е. об основах создания схем с помощью динамо. Скрипты в ссылках в описании и в Downloads.

    #1931 Score: 1
    Alexandr Popov
    Модератор
    44 pts

    Спасибо всем! И чтобы продемонстрировать, что Ваша помощь не напрасна, скидываю скрипт где мне это пригодилось. Уверен, что будет ещё масса мест, где такое решение понадобится.

Просмотр 15 сообщений - с 1 по 15 (из 29 всего)