我们如何确保热传输考虑到分配给 material 的热资产的属性?
How can we ensure that the thermal transmittance takes into account the properties of the thermal asset assigned to the material?
重现问题的步骤
(使用 Revit 2021.1.3)
- 通过 Revit API 创建 materials 并为其分配热资产:
- 将material分配给墙层
- 看到导热系数已经填满了,但是电阻还是0:
探索解决方案
手动解决方法
- 手动修改任何参数如评论
- 看到这次阻力现在不为 0,这意味着现在考虑了热资产
不起作用的东西
- 在单独的事务中通过 Revit API 修改注释
当前进行中的源代码
可以找到当前正在进行的工作源代码in pyRevitMEP repo
我在 Revit API documentation. Apparently setting thermal property set through ThermalAssetId
property is not the way to go. We need to use SetMaterialAspectByPropertySet
method 中找到了一个示例。
revit_material = doc.GetElement(Material.Create(doc, layer_name))
thermal_asset = ThermalAsset(layer_name, ThermalMaterialType.Solid)
thermal_asset.ThermalConductivity = UnitUtils.ConvertToInternalUnits(
thermal_conductivity,
DisplayUnitType.DUT_WATTS_PER_METER_KELVIN,
)
thermal_property_set = PropertySetElement.Create(doc, thermal_asset)
material.SetMaterialAspectByPropertySet(MaterialAspect.Thermal, thermal_property_set.Id)
重现问题的步骤
(使用 Revit 2021.1.3)
- 通过 Revit API 创建 materials 并为其分配热资产:
- 将material分配给墙层
- 看到导热系数已经填满了,但是电阻还是0:
探索解决方案
手动解决方法
- 手动修改任何参数如评论
- 看到这次阻力现在不为 0,这意味着现在考虑了热资产
不起作用的东西
- 在单独的事务中通过 Revit API 修改注释
当前进行中的源代码
可以找到当前正在进行的工作源代码in pyRevitMEP repo
我在 Revit API documentation. Apparently setting thermal property set through ThermalAssetId
property is not the way to go. We need to use SetMaterialAspectByPropertySet
method 中找到了一个示例。
revit_material = doc.GetElement(Material.Create(doc, layer_name))
thermal_asset = ThermalAsset(layer_name, ThermalMaterialType.Solid)
thermal_asset.ThermalConductivity = UnitUtils.ConvertToInternalUnits(
thermal_conductivity,
DisplayUnitType.DUT_WATTS_PER_METER_KELVIN,
)
thermal_property_set = PropertySetElement.Create(doc, thermal_asset)
material.SetMaterialAspectByPropertySet(MaterialAspect.Thermal, thermal_property_set.Id)