Чистая площадь стен в ведомость отделки помещений

Главная Форумы Dynamo Ноды Чистая площадь стен в ведомость отделки помещений

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

    Здравствуйте! Потребовалось решить задачу для подсчета чистой площади стен (за вычитом проемов) для корректной ведомости отделки стен, для чего я выполнил ряд действий, которые опишу ниже. Если у кого будут мысли оптимизации моих решений, жду с нетерпением, т.к. пока решил данную задачу в лоб и кривовато из-за незнания более правильных путей и функций. Или может эта задача уже давно кем-то решена?

    Для начала добавил новый Параметр проекта “ID” для всех элементов, через Dynamo транслировал Id элементов(помещений, стен, окон, дверей в параметр ID.

    Затем выгрузил спецификации Двери, Окна, Помещения в txt формат (это я делаю потому, что не нашел как через динамо отследить какие помещения связывает дверь или окно, что можно вывести в спецификации).

    Затем я добавил Параметр проекта “Чистая площадь стен”, вытащил параметры ID из тхт файлов, произвел ряд манипуляций, и чистые площади стен транслировал в соответствующий параметр.

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

    #1742 Score: 0
    kulkul
    Участник
    47 pts

    Hi Alexandr,

    Thanks for sharing. Your below image is not clear. Can you re-post or send the link.

    #1743 Score: 1
    Legantmar
    Хранитель
    473 pts

    Есть замечательный нод Tools GetSurroundingElements из пакета SteamNodes
    Пример

    а далее выделяешь то, что тебе нужно и вычитаешь из площадей стен, площади окон и дверей

    #1752 Score: 0
    Alexandr Popov
    Модератор
    44 pts
    #1754 Score: 1
    Vladimir
    Участник
    13 pts

    просто ради интереса: а автодесковское приложение для расчета отделки не рассматривали? оно очень корректно рассчитывает.

    #1756 Score: 0
    Alexandr Popov
    Модератор
    44 pts

    Roombook который? или о котором идет речь?

    #1764 Score: 0
    Vladimir
    Участник
    13 pts

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

    #1776 Score: 0
    Alexandr Popov
    Модератор
    44 pts

    У меня возникали с ним проблемы, чтобы отделку вытащить из параметров помещений или подключить какой либо классификатор отделки из excel. Чтобы каждый раз заново не задавать отделку для всех типов помещений. Может имеются какие-то стандартные типы отделки уже русифицированные в Roombooke и я об этом не знаю?

    #1816 Score: 0
    Alexandr Popov
    Модератор
    44 pts

    Возникла проблемка с нодами Tools GetSurroundingElements из пакета SteamNodes. На небольшом объекте сработали исправно. На крупном выдали пустые списки. В чем может быть проблема? (в объекте все наружные стены – витражи, внутренние – обычные, окон как объектов нет, но есть в витражах в виде панелей.

    UPDATE: Выложил скрипт сюда

    #1820 Score: 0
    kulkul
    Участник
    47 pts

    remove walls and add windows category.

     

    #1821 Score: 0
    Alexandr Popov
    Модератор
    44 pts

    Hi, kulkul, it works in small model, but nodes “Tools GetSurroundingElements” give me Empty List in big one.

    And I have second problem:

    which is difficult formes of rooms don’t create solids

     

    import clr
    clr.AddReference('ProtoGeometry')
    from Autodesk.DesignScript.Geometry import *
    room = IN[0]
    wall = IN[1]
    wind = IN[2]
    door = IN[3]
    maxdist = IN[4]
    countroom = room.Count
    countwall = wall.Count
    countwind = wind.Count
    countdoor = door.Count
    i1=0
    list1=[]
    while i1<countroom:
    i2=0
    roomsol = room[i1].Solids
    while i2<countwall:
    wallsol = wall[i2].Solids
    dist=roomsol[0].DistanceTo(wallsol[0])
    if dist<maxdist:
    list1.append([room[i1],wall[i2]])
    i2=i2+1
    i1=i1+1
    OUT = list1

     

    Could it be other issue?

     

    #1822 Score: 0
    kulkul
    Участник
    47 pts

    which node is this package?

     

    #1823 Score: 0
    Alexandr Popov
    Модератор
    44 pts

    Sorry :) they are my nodes. Download here.

     

    #1824 Score: 0
    Alexandr Popov
    Модератор
    44 pts

    Высота помещения = Height room

    import clr
    clr.AddReference('ProtoGeometry')
    from Autodesk.DesignScript.Geometry import *
    #Введенные в этом узле данные сохраняется в виде списка в переменных IN.
    curveroom = IN[0]
    roomel = IN[1]
    centerwall = IN[2]

    outlist = []
    high = IN[3]
    countroom=roomel.Count
    i=0
    while i<countroom:
    j=0
    dist=[]
    count = curveroom[i][0][0].Count
    while j0:
    if dist[j]<min:
    min=dist[j]
    j=j+1
    k=0
    while k<count:
    if dist[k]==min:
    Swall=(curveroom[i][0][0][k].Length*high[i])/1000000
    outlist.append([roomel[i],Swall])
    k=k+1
    i=i+1
    #Назначьте вывод переменной OUT.
    OUT = outlist

     

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