[][src]Struct hulc2envolventecte::parsers::bdl::BdlBlock

pub struct BdlBlock {
    pub btype: String,
    pub name: String,
    pub parent: Option<String>,
    pub attrs: AttrMap,
}

Bloque de datos de BDL

Fields

btype: String

Tipo de bloque

name: String

Nombre del elemento o material

parent: Option<String>attrs: AttrMap

Conjunto de propiedades

Trait Implementations

impl Clone for BdlBlock[src]

impl Debug for BdlBlock[src]

impl Default for BdlBlock[src]

impl FromStr for BdlBlock[src]

type Err = Error

The associated error which can be returned from parsing.

pub fn from_str(s: &str) -> Result<Self, Self::Err>[src]

Convierte de cadena a bloque

Ejemplo:

    "P01_E01_Pol2" = POLYGON
    V1   =( 14.97, 11.39 )
    V2   =( 10.84, 11.39 )
    V3   =( 10.86, 0 )
    V4   =( 18.22, 0 )
    V5   =( 18.22, 9.04 )
    V6   =( 14.97, 9.04 )
    ..

impl TryFrom<BdlBlock> for Construction[src]

type Error = Error

The type returned in the event of a conversion error.

pub fn try_from(value: BdlBlock) -> Result<Self, Self::Error>[src]

Convierte de bloque BDL a construcción - Remite a LAYERS (¿y otras opciones?)

Ejemplo:

    "muro_opaco0.40" =  CONSTRUCTION
    TYPE   = LAYERS  
    LAYERS = "muro_opaco"
    ABSORPTANCE = 0.400000
    ..

HULC solo usa construcciones definidas por capas (LAYERS) y únicamente permite definir la absortividad (ABSORPTANCE)

impl TryFrom<BdlBlock> for Frame[src]

type Error = Error

The type returned in the event of a conversion error.

pub fn try_from(value: BdlBlock) -> Result<Self, Self::Error>[src]

Conversión de bloque BDL a marco de hueco (NAME-FRAME)

Conductividad en FRAME-CONDUCT (W/m2K) Absortividad(alpha) en FRAME-ABS (-)

Ejemplo:

     "Marco PVC_1" = NAME-FRAME
     GROUP         = "Marcos HULC2020"
     FRAME-WIDTH   =            0.1
     FRAME-CONDUCT =            1.3
     FRAME-ABS     =            0.7
     NAME_CALENER  = ""
     LIBRARY       = NO
     UTIL          =  NO
     ..

TODO: Propiedades no trasladadas: NAME-CALENER, LIBRRARY, UTIL

impl TryFrom<BdlBlock> for ThermalBridge[src]

type Error = Error

The type returned in the event of a conversion error.

pub fn try_from(value: BdlBlock) -> Result<Self, Self::Error>[src]

Conversión de bloque BDL a puente térmico (THERMAL-BRIDGE)

Se pueden de definir (DEFINICION) por defecto (1), por usuario (2) o por catálogo (3?)

Ejemplo:

     "LONGITUDES_CALCULADAS" = THERMAL-BRIDGE
           LONG-TOTAL = 0.000000
           DEFINICION = 1
         ..
     "FRENTE_FORJADO" = THERMAL-BRIDGE
           LONG-TOTAL = 171.629913
           DEFINICION = 2
           TTL    = 0.080000
           FRSI        = 0.45
           ANGLE-MIN   = 135
           ANGLE-MAX   = 225
           TYPE        = SLAB
           PARTITION   = YES
         ..
    "UNION_CUBIERTA" = THERMAL-BRIDGE
        LONG-TOTAL = 148.341034
        DEFINICION = 3
        TTL    = 0.226667
        LISTA-N   = ( "Cubiertas planas - Forjado no interrumpe el aislamiento en fachada")
        LISTA-L   = ( 100)
        LISTA-MURO   = ( 0.230000)
        LISTA-MARCO   = ( 0.200000)
        FRSI        = 0.28
        ANGLE-MIN   = 0
        ANGLE-MAX   = 135
        TYPE        = SLAB
        PARTITION   = BOTH
        ..

impl TryFrom<BdlBlock> for Wall[src]

type Error = Error

The type returned in the event of a conversion error.

pub fn try_from(value: BdlBlock) -> Result<Self, Self::Error>[src]

Conversión de bloque BDL a cerramiento (cerramiento exterior, interior, cubierta o elemento en contacto con el terreno)

Ejemplos en BDL de EXTERIOR-WALL y ROOF:

   "P01_E02_PE006" = EXTERIOR-WALL
        ABSORPTANCE   =            0.6
        COMPROBAR-REQUISITOS-MINIMOS = YES
        TYPE_ABSORPTANCE    = 1
        COLOR_ABSORPTANCE   = 0
        DEGREE_ABSORPTANCE   = 2
        CONSTRUCCION_MURO  = "muro_opaco"
        CONSTRUCTION  = "muro_opaco0.60"
        LOCATION      = SPACE-V11
        ..
    "P02_E01_FE001" = EXTERIOR-WALL
        ABSORPTANCE   =           0.95
        COMPROBAR-REQUISITOS-MINIMOS = YES
        TYPE_ABSORPTANCE    = 0
        COLOR_ABSORPTANCE   = 7
        DEGREE_ABSORPTANCE   = 2
        CONSTRUCCION_MURO  = "muro_opaco"  
        CONSTRUCTION  = "muro_opaco0.95"  
        X             =       -49.0098
        Y             =              0
        Z             =              0
        AZIMUTH       =             90
        TILT          =            180
        POLYGON       = "P02_E01_FE001_Poligono3"
        ..
    "P03_E01_CUB001" = ROOF
        ABSORPTANCE   =            0.6
        COMPROBAR-REQUISITOS-MINIMOS = YES
        TYPE_ABSORPTANCE    = 0
        COLOR_ABSORPTANCE   = 0
        DEGREE_ABSORPTANCE   = 2
        CONSTRUCTION  = "SATE"  
        X             =          2.496
        Y             =         -4.888
        Z             =              3
        AZIMUTH       =            180
        LOCATION      = TOP  
        POLYGON       = "P03_E01_FE004_Poligono3"
        ..    
    "P03_E01_CUB001" = ROOF
        ABSORPTANCE   =            0.6
        COMPROBAR-REQUISITOS-MINIMOS = YES
        TYPE_ABSORPTANCE    = 0
        COLOR_ABSORPTANCE   = 0
        DEGREE_ABSORPTANCE   = 2
        CONSTRUCTION  = "cubierta"
        LOCATION      = TOP
        ..

XXX: atributos no trasladados: XXX: propiedades para definir el estado de la interfaz para la selección de la absortividad: XXX: TYPE_ABSORPTANCE, COLOR_ABSORPTANCE, DEGREE_ABSORPTANCE XXX: Atributos no trasladados: COMPROBAR-REQUISITOS-MINIMOS, CONSTRUCCION_MURO

Ejemplos en BDL de INTERIOR-WALL:

   "P01_E02_Med001" = INTERIOR-WALL
        INT-WALL-TYPE = STANDARD
        NEXT-TO       = "P01_E07"
        COMPROBAR-REQUISITOS-MINIMOS = NO
        CONSTRUCTION  = "tabique"
        LOCATION      = SPACE-V1
        ..
    "P02_E01_FI002" = INTERIOR-WALL
        INT-WALL-TYPE = STANDARD  
        NEXT-TO       = "P01_E04"  
        COMPROBAR-REQUISITOS-MINIMOS = NO
        CONSTRUCTION  = "forjado_interior"                 
        X             =         -38.33
        Y             =           3.63
        Z             =              0
        AZIMUTH       =             90
        TILT          =            180
        POLYGON       = "P02_E01_FI002_Poligono2"
        ..

XXX: atributos no trasladados: Ninguno

Ejemplos en BDL de UNDERGROUND-WALL:

   "P01_E01_FTER001" = UNDERGROUND-WALL
    Z-GROUND      =              0
    COMPROBAR-REQUISITOS-MINIMOS = YES
                   CONSTRUCTION  = "solera tipo"
                   LOCATION      = BOTTOM
                   AREA          =        418.4805
                   PERIMETRO     =        65.25978
                         ..
                   "solera tipo" =  CONSTRUCTION
                         TYPE   = LAYERS
                         LAYERS = "solera tipo"
                         ..

XXX: No se han trasladado las variables de AREA y PERIMETRO porque se pueden calcular y los valores comprobados en algunos archivos no son correctos XXX: Ignoramos "Z-GROUND", la profundidad del elemento en el terreno, ya que no es del BDL y es menos fiable que min(space.z, 0.0)

impl TryFrom<BdlBlock> for Window[src]

type Error = Error

The type returned in the event of a conversion error.

pub fn try_from(value: BdlBlock) -> Result<Self, Self::Error>[src]

Conversión de bloque BDL a hueco o lucernario (WINDOW)

¿Puede definirse con GLASS-TYPE, WINDOW-LAYER o GAP? y puede pertenecer a un INTERIOR-WALL o EXTERIOR-WALL (trasnmisividadJulio) XXX: COEFF son los factores (f1, f2, f3, f4), donde f1 y f2 son los correctores del factor solar (fuera de la temporada de activación de las sombras estacionales y dentro de esa temporada) y f3 y f4 los correctores de la transmitancia térmica del hueco en las mismas temporadas (desactivado y con la sombra estacional activada) XXX: las propiedades del marco y vidrio se consultan a través del GAP

Ejemplo en BDL:

    "P01_E02_PE005_V" = WINDOW
    X              =            0.2
    Y              =            0.1
    SETBACK        =              0
    HEIGHT         =            2.6
    WIDTH          =              5
    GAP            = "muro_cortina_controlsolar"
    COEFF = ( 1.000000, 1.000000, 1.000000, 1.000000)
    transmisividadJulio        = 0.220000
    GLASS-TYPE     = "Doble baja emisividad argon"
    FRAME-WIDTH   =      0.1329403
    FRAME-CONDUCT =       5.299999
    FRAME-ABS     =            0.7
    INF-COEF       =              9
    OVERHANG-A     =              0
    OVERHANG-B     =              0
    OVERHANG-W     =              0
    OVERHANG-D     =              0
    OVERHANG-ANGLE =              0
    LEFT-FIN-A     =              0
    LEFT-FIN-B     =              0
    LEFT-FIN-H     =              0
    LEFT-FIN-D     =              0
    RIGHT-FIN-A    =              0
    RIGHT-FIN-B    =              0
    RIGHT-FIN-H    =              0
    RIGHT-FIN-D    =              0
    ..

TODO: atributos no trasladados: TODO: GLASS-TYPE, FRAME-WIDTH, FRAME-CONDUCT, FRAME-ABS, INF-COEF, TODO: propiedades para definir salientes y voladizos o para lamas: TODO: OVERHANG-A, OVERHANG-B, OVERHANG-W, OVERHANG-D, OVERHANG-ANGLE, TODO: LEFT-FIN-A, LEFT-FIN-B, LEFT-FIN-H, LEFT-FIN-D, RIGHT-FIN-A, RIGHT-FIN-B, RIGHT-FIN-H, RIGHT-FIN-D TODO: propiedades para definición de lamas

impl TryFrom<BdlBlock> for Glass[src]

type Error = Error

The type returned in the event of a conversion error.

pub fn try_from(value: BdlBlock) -> Result<Self, Self::Error>[src]

Conversión de bloque BDL a vidrio (GLASS-TYPE)

Conductividad en GLASS-CONDUCTANCE (W/m2K) Factor solar (g) en SHADING-COEF * 0.85 (-)

Ejemplo:

     "Vidrio Triple Bajo Emisivo" = GLASS-TYPE
          GROUP             = "Vidrios HULC2020"
          TYPE              = SHADING-COEF
          SHADING-COEF      =      0.5882353
          GLASS-CONDUCTANCE =           1.25
          NAME_CALENER      = ""
          LIBRARY       =  NO
          UTIL          =  NO
          ..
     $ LIDER antiguo
     "GT_referencia-3" = GLASS-TYPE
          TYPE = SHADING-COEF
          SHADING-COEF = 0
          SHADING-COEF-SUMMER = 0
          GLASS-CONDUCTANCE = 3.5
         ..        

impl TryFrom<BdlBlock> for Material[src]

type Error = Error

The type returned in the event of a conversion error.

pub fn try_from(value: BdlBlock) -> Result<Self, Self::Error>[src]

Conversión de bloque BDL a material NOTE: La base de datos tiene algunos nombres con dobles espacios, que se convierten a espacios simples

Ejemplo en BDL:

    "FR Entrevigado de EPS moldeado descolgado -Canto 450 mm" = MATERIAL
    TYPE              = PROPERTIES
    THICKNESS         =           0.45
    THICKNESS_CHANGE         = YES
    THICKNESS_MAX         =              2
    THICKNESS_MIN         =          0.001
    CONDUCTIVITY      =      0.4787234
    DENSITY           =           1280
    SPECIFIC-HEAT     =           1000
    VAPOUR-DIFFUSIVITY-FACTOR =             60
    NAME          = "FR Entrevigado de EPS moldeado descolgado -Canto 450 mm"
    GROUP         = "Forjados reticulares"
    IMAGE          = "ladrillo.bmp"
    NAME_CALENER   = "oldeado descolgado -Canto 450 "
    LIBRARY       = NO
    UTIL          =  NO
    OBSOLETE      = NO
    ..
     
    $ LIDER antiguo
    "AislanteREF" = MATERIAL
        TYPE = PROPERTIES
        CONDUCTIVITY = 0.036
        DENSITY = 30
        SPECIFIC-HEAT = 1800
        ..

TODO: Propiedades no convertidas: TODO: THICKNESS_CHANGE, THICKNESS_MAX, THICKNESS_MIN, IMAGE, NAME_CALENER, LIBRARY, UTIL, OBSOLETE

impl TryFrom<BdlBlock> for WallCons[src]

type Error = Error

The type returned in the event of a conversion error.

pub fn try_from(value: BdlBlock) -> Result<Self, Self::Error>[src]

Conversión de bloque BDL a definición de capas

Ejemplo:

    "muro_opaco" = LAYERS
        GROUP        = "envolvente"
        NAME_CALENER = ""
        NAME         = "muro_opaco"
        TYPE-DEFINITION = 1
        MATERIAL     = ("Mortero de cemento o cal para albañilería y para revoco/enlucido 1000 < d < 1250","EPS Poliestireno Expandido [ 0.029 W/[mK]]","1/2 pie LP métrico o catalán 80 mm< G < 100 mm","MW Lana mineral [0.031 W/[mK]]","Placa de yeso laminado [PYL] 750 < d < 900")
        THICKNESS = (          0.015,           0.06,          0.115,           0.04,           0.02)
        LIBRARY       =  NO
        UTIL          =  YES
        IMAGE = ""
        DEFAULT = NO
        ..

    $ LIDER antiguo
    "CONST_referencia-5" = LAYERS
        MATERIAL = ( "PlaquetaREF","MorteroREF","ForjadoREF" )
        THICKNESS = ( 0.015, 0.020, 0.250 )
        ..

XXX: Propiedades de Layers no convertidas: XXX: IMAGE, NAME_CALENER, LIBRARY, UTIL, TYPE-DEFINITION, DEFAULT

impl TryFrom<BdlBlock> for WindowCons[src]

type Error = Error

The type returned in the event of a conversion error.

pub fn try_from(value: BdlBlock) -> Result<Self, Self::Error>[src]

Conversión de bloque BDL a definición de hueco o lucernario (GAP)

Ejemplo:

     "ventana estandar" = GAP
          NAME           = "ventana estandar"
          TYPE           = 1
          GROUP          = "muro_cortina"
          GROUP-GLASS         = "Vidrios"
          GLASS-TYPE          = "Doble baja emisividad argon"
          GROUP-FRAME       = "Metálicos en posición vertical"
          NAME-FRAME        = "VER_Con rotura de puente térmico mayor de 12 mm"
          PORCENTAGE        = 20.000000
          INF-COEF          = 9.000000
          porcentajeIncrementoU = 10.000000
          NAME_CALENER      = ""
          TransmisividadJulio = 1.000000
          VIGENCIA = ( "A", "B", "C", "D", "E", "F")
          IMAGE = ""
          TRANSMITANCIA       =            5.7
          SHADING-COEF        =           0.86
          SHADE-COEF-SUMMER   =              1
          SHADE-COEF-WINTER   =              1
          MARKER-SUMMER       =              1
          MARKER-WINTER       =              1
          LIBRARY           =  NO
          UTIL              =  YES
          ISDOOR            = NO
          DEFAULT           = NO
         ..

TODO: atributos no trasladados: ISDOOR, TRANSMITANCIA, SHADING-COEF TODO: SHADE-COEF-SUMMER, SHADE-COEF-WINTER, MARKER-SUMMER, MARKER-WINTER, TODO: LIBRARY (proviene de la biblioteca?), UTIL (se utiliza?), DEFAULT

impl TryFrom<BdlBlock> for Floor[src]

type Error = Error

The type returned in the event of a conversion error.

pub fn try_from(value: BdlBlock) -> Result<Self, Self::Error>[src]

Convierte bloque BDL a planta (agrupación de espacios)

Ejemplo:

    "P01" = FLOOR
        POLYGON       =  "P01_Poligono1"
        FLOOR-HEIGHT  =            3.5
        SPACE-HEIGHT  =            3.5
        SHAPE         =  POLYGON
        PREVIOUS      =  ""
        ..
    "P02" = FLOOR
        Z             =               3
        POLYGON       =  "P02_Poligono1"
        FLOOR-HEIGHT  =              3
        SPACE-HEIGHT  =              3
        MULTIPLIER    = 12
        SHAPE         =  POLYGON
        PREVIOUS      =  "P01"
        ..

XXX: Atributos no trasladados: FLOOR-HEIGHT, POLYGON, SHAPE LIDER no usa bien la propiedad SPACE-HEIGHT, que permitiría definir plenum (o reducir la altura de forjados) sino que la usa como si fuese FLOOR-HEIGHT. HULC pone igual FLOOR-HEIGHT y SPACE-HEIGHT (la altura de los espacios de tipo PLENUM es floorheight - spaceheight) XXX: SHAPE y POLYGON no tienen información relevante, solo vale para exportar a BDL XXX: HULC solo maneja plantas con SHAPE = POLYGON

impl TryFrom<BdlBlock> for Polygon[src]

type Error = Error

The type returned in the event of a conversion error.

pub fn try_from(value: BdlBlock) -> Result<Self, Self::Error>[src]

Convierte de bloque BDL a polígono

Define la geometría, mediante el atributo POLYGON de:

  • EXTERIOR-WALL, INTERIOR-WALL, UNDERGROUND-WALL, FLOOR y SPACE

Ejemplo:

    "P01_E01_Pol2" = POLYGON
    V1   =( 14.97, 11.39 )
    V2   =( 10.84, 11.39 )
    V3   =( 10.86, 0 )
    V4   =( 18.22, 0 )
    V5   =( 18.22, 9.04 )
    V6   =( 14.97, 9.04 )
    ..

impl TryFrom<BdlBlock> for Shade[src]

type Error = Error

The type returned in the event of a conversion error.

pub fn try_from(value: BdlBlock) -> Result<Self, Self::Error>[src]

Conversión de bloque BDL a sombra

Ejemplo en BDL:

    "patio1_lateral2" = BUILDING-SHADE
        BULB-TRA = "Default.bulb"
        BULB-REF = "Default.bulb"
        TRAN     =              0
        REFL     =            0.7
        X        = 18.200001
        Y        = 9.030000
        Z        = 0.000000
        HEIGHT   = 12.500000
        WIDTH    = 3.500000
        TILT     = 90.000000
        AZIMUTH  = 180.000000
        ..
    "Sombra016" = BUILDING-SHADE
        BULB-TRA = "Default.bulb"
        BULB-REF = "Default.bulb"
        TRAN     =              0
        REFL     =            0.7
        V1       =( 9.11, 25.7901, 12.5 )
        V2       =( 9.11, 27.04, 12.5 )
        V3       =( 6, 27.04, 12.5 )
        V4       =( 6, 25.7901, 12.5 )
        ..

TODO: atributos no trasladados: TODO: BULB-TRA, BULB-REF

impl TryFrom<BdlBlock> for Space[src]

type Error = Error

The type returned in the event of a conversion error.

pub fn try_from(value: BdlBlock) -> Result<Self, Self::Error>[src]

Convierte de Bloque BDL a espacio

Ejemplo:

    "P01_E01" = SPACE
        nCompleto = "P01_E01"
        HEIGHT        =            3.5
        SHAPE             = POLYGON
        POLYGON           = "P01_E01_Pol2"
        TYPE              = CONDITIONED
        SPACE-TYPE        = "Residencial"
        SYSTEM-CONDITIONS = "Residencial"
        SPACE-CONDITIONS  = "Residencial"
        FLOOR-WEIGHT      =              0
        MULTIPLIER        = 1
        MULTIPLIED        = 0
        PILLARS-NUMBERS   = 0
        FactorSuperficieUtil   = 1.0
        perteneceALaEnvolventeTermica   = SI
        INTERIOR-RADIATION  = FIXED
        POWER     = 4.4
        VEEI-OBJ  = 7.000000
        VEEI-REF  = 10.000000
        ..

    $ LIDER antiguo
    "P01_E01" = SPACE
        HEIGHT        =              3
        SHAPE             = POLYGON
        POLYGON           = "P01_E01_Poligono002"
        TYPE              = CONDITIONED
        SPACE-TYPE        = "Residencial"
        FLOOR-WEIGHT      =              0
        MULTIPLIER        = 1            
        MULTIPLIED        = 0
        PILLARS-NUMBERS   = 0
        INTERIOR-RADIATION  = FIXED
        POWER     = 4.4
        VEEI-OBJ  = 7.000000
        VEEI-REF  = 10.000000
        AIR-CHANGES/HR        = 1.000000
        ..

NOTE: La propiedad POLYGON se trata en el postproceso y en la conversión incial se usa un valor por defecto. XXX: propiedades no convertidas: XXX: PILLARS-NUMBERS (número de pilares en el espacio, como PTs), XXX: FactorSuperficieUtil, INTERIOR-RADIATION, nCompleto, FLOOR-WEIGHT

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.