На самоликвидации решил снова попытаться освоить тему Revit и Dynamo. Я электрик. Очень удивлен что такая тема осталась без ответа. Нашел на просторах тему : https://adn-cis.org/forum/index.php?topic=9577.0 Ну и набросал тут. На скорую руку. Как работает не знаю. Но работает. Случай если один коннектор электрический.
import clr
import math
clr.AddReference(“RevitServices”)
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
clr.AddReference(“RevitAPI”)
import Autodesk
from Autodesk.Revit.DB import *
clr.AddReference(“RevitNodes”)
import Revit
clr.ImportExtensions(Revit.Elements)
clr.ImportExtensions(Revit.GeometryConversion)
fitting=UnwrapElement(IN[0])
connectors=[]
try:
connectors = fitting.MEPModel.ConnectorManager.Connectors
except:
connectors = fitting.ConnectorManager.Connectors
onnector=UnwrapElement(IN[0])
SP1=[]
aaa=””
for i in connectors :
SP2=[]
try:
connector=UnwrapElement(i)
mepConnectorInfo = UnwrapElement (connector.GetMEPConnectorInfo())
parameterValue = UnwrapElement (mepConnectorInfo.GetConnectorParameterValue(ElementId(BuiltInParameter.RBS_ELEC_APPARENT_LOAD))) # Полная мощность
PM = UnitUtils.ConvertFromInternalUnits(parameterValue.Value, DisplayUnitType.DUT_WATTS) # Полная мощность
parameterValue = UnwrapElement (mepConnectorInfo.GetConnectorParameterValue(ElementId(BuiltInParameter.RBS_ELEC_TRUE_LOAD))) # Активная мощность
PA = UnitUtils.ConvertFromInternalUnits(parameterValue.Value, DisplayUnitType.DUT_WATTS) # Активная мощность
parameterValue = UnwrapElement (mepConnectorInfo.GetConnectorParameterValue(ElementId(BuiltInParameter.RBS_ELEC_VOLTAGE))) # Напряжение
VOL = UnitUtils.ConvertFromInternalUnits(parameterValue.Value, DisplayUnitType.DUT_WATTS) # Напряжение
KOS=PA/PM # косинус
SP2=[PM, KOS, PA, VOL ]
SP1.append(SP2)
except:
aaa=”НЕ ТОТ”
# Назначьте вывод переменной OUT.
OUT = SP1[0]