Ejemplo n.º 1
0
        public static global::OpenStudio.Material ToOSM(this BHM.Material material, global::OpenStudio.Model modelReference, double thickness = 0.0, bool isGlazed = false)
        {
            List <BHM.IMaterialProperties> environmentMaterialProperties = material.Properties.Where(x => x is BHEM.IEnvironmentMaterial).ToList();

            if (environmentMaterialProperties.Count > 0)
            {
                if (environmentMaterialProperties[0].GetType() == typeof(BHEM.SolidMaterial))
                {
                    if (material.IsTransparent())
                    {
                        return(material.ToOSMGlazing(thickness, modelReference));
                    }
                    else
                    {
                        return(material.ToOSMOpaqueMaterial((environmentMaterialProperties[0] as BHEM.IEnvironmentMaterial).Roughness, thickness, modelReference));
                    }
                }
                else if (environmentMaterialProperties[0].GetType() == typeof(BHEM.GasMaterial))
                {
                    if (isGlazed)
                    {
                        return(material.ToOSMGas(thickness, modelReference));
                    }
                    else
                    {
                        return(material.ToOSMAirGap(modelReference));
                    }
                }
            }

            return(null);
        }
Ejemplo n.º 2
0
        public static TBD.MaterialTypes ToTASType(this BHPM.Material material)
        {
            BHM.IEnvironmentMaterial envMaterial = material.Properties.Where(x => x.GetType() == typeof(BHM.IEnvironmentMaterial)).FirstOrDefault() as BHM.IEnvironmentMaterial;

            if (envMaterial == null)
            {
                return(TBD.MaterialTypes.tcdOpaqueLayer);
            }

            if (envMaterial.GetType() == typeof(BHM.GasMaterial))
            {
                return(TBD.MaterialTypes.tcdGasLayer);
            }
            else if (material.IsTransparent())
            {
                return(TBD.MaterialTypes.tcdTransparentLayer);
            }
            else
            {
                return(TBD.MaterialTypes.tcdOpaqueLayer);
            }
        }