Чистая площадь стен в ведомость отделки помещений
- В этой теме 31 ответ, 9 участников, последнее обновление 8 лет, 1 месяц назад сделано Анатолий.
-
АвторСообщения
-
Здравствуйте! Потребовалось решить задачу для подсчета чистой площади стен (за вычитом проемов) для корректной ведомости отделки стен, для чего я выполнил ряд действий, которые опишу ниже. Если у кого будут мысли оптимизации моих решений, жду с нетерпением, т.к. пока решил данную задачу в лоб и кривовато из-за незнания более правильных путей и функций. Или может эта задача уже давно кем-то решена?
Для начала добавил новый Параметр проекта “ID” для всех элементов, через Dynamo транслировал Id элементов(помещений, стен, окон, дверей в параметр ID.
Затем выгрузил спецификации Двери, Окна, Помещения в txt формат (это я делаю потому, что не нашел как через динамо отследить какие помещения связывает дверь или окно, что можно вывести в спецификации).
Затем я добавил Параметр проекта “Чистая площадь стен”, вытащил параметры ID из тхт файлов, произвел ряд манипуляций, и чистые площади стен транслировал в соответствующий параметр.
Есть замечательный нод Tools GetSurroundingElements из пакета SteamNodes
Пример
а далее выделяешь то, что тебе нужно и вычитаешь из площадей стен, площади окон и дверейRoombook который? или о котором идет речь?
да, речь о нем. у нас к нему была только одна претензия – одно здание он мог рассчитывать несколько часов.
У меня возникали с ним проблемы, чтобы отделку вытащить из параметров помещений или подключить какой либо классификатор отделки из excel. Чтобы каждый раз заново не задавать отделку для всех типов помещений. Может имеются какие-то стандартные типы отделки уже русифицированные в Roombooke и я об этом не знаю?
Возникла проблемка с нодами Tools GetSurroundingElements из пакета SteamNodes. На небольшом объекте сработали исправно. На крупном выдали пустые списки. В чем может быть проблема? (в объекте все наружные стены – витражи, внутренние – обычные, окон как объектов нет, но есть в витражах в виде панелей.
UPDATE: Выложил скрипт сюда
remove walls and add windows category.
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 = list1Could it be other issue?
which node is this package?
Sorry :) they are my nodes. Download here.
Высота помещения = 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 -
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.