Dynamo – Русский – только для чтения
Раздел для программистов и специалистов, использующих Dynamo
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Температура вещества через Dynamo

3 REPLIES 3
SOLVED
Reply
Message 1 of 4
Anonymous
585 Views, 3 Replies

Температура вещества через Dynamo

Здравствуйте бимовцы, решил сделать техмонтажую ведомость, есть такой столбец "Температура вещества", в трубопроводных системах есть точно такой же параметр, но при получении его через Dynamo получаются странные значения, кто что видит в этом?

3 REPLIES 3
Message 2 of 4
YaroslavKalyuzha
in reply to: Anonymous

Да, странные значения получаются.

Получить значения в градусах можно с помощью питон-нода:

2020-01-13_16-41-27.png

 

Yaroslav Kalyuzha / Ярослав Калюжа
BIM-manager / BIM-менеджер
Facebook | VK
Expert Elite Member
Находите сообщения полезными? Поставьте Нравится (Like) этим сообщениям!
На ваш вопрос успешно ответили? Нажмите кнопку 'Утвердить решение'

Message 3 of 4
Anonymous
in reply to: YaroslavKalyuzha

Спасибо!!!

Message 4 of 4
SergeyShvydko
in reply to: Anonymous

Здравствуйте! хотел бы добавить к ответу @YaroslavKalyuzha 

Дело в том, что внутри Revit не метрические измерения, как мы привыкли. Например, длина измеряется в футах

То что мы видим это уже результат конвертации (из тех же футов в миллиметры)

В данном случае, скорее всего та же история.

Чтобы не морочиться с единицами измерения, используйте конвертер из внутренних единиц измерений. Тут опять на помощь придет Python и класс UnitUtils c методом ConvertFromInternalUnits в RevitAPI

Вот что из этого получается:

import clr
clr.AddReference("RevitAPI")
from Autodesk.Revit.DB import FilteredElementCollector, UnitUtils
from Autodesk.Revit.DB.Plumbing import PipingSystem
clr.AddReference("RevitServices")
from RevitServices.Persistence import DocumentManager

doc = DocumentManager.Instance.CurrentDBDocument

sys = FilteredElementCollector(doc).OfClass(PipingSystem)

paramValue = []
for s in sys:
    sysType = doc.GetElement(s.GetTypeId())
    param = sysType.LookupParameter('Температура вещества')
    if param:
        value = param.AsDouble()
        paramValue.append(round(UnitUtils.ConvertFromInternalUnits(value, param.DisplayUnitType)))

OUT = paramValue

    



Sergey Shvydko
Architect, BIM-Manager
Курс по Revit Architecture
t.me/sshvydko




Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report