Esempio n. 1
0
def test_rename():
    """py.test for rename"""
    idftxt = """Material,
      G01a 19mm gypsum board,  !- Name
      MediumSmooth,            !- Roughness
      0.019,                   !- Thickness {m}
      0.16,                    !- Conductivity {W/m-K}
      800,                     !- Density {kg/m3}
      1090;                    !- Specific Heat {J/kg-K}

      Construction,
        Interior Wall,           !- Name
        G01a 19mm gypsum board,  !- Outside Layer
        F04 Wall air space resistance,  !- Layer 2
        G01a 19mm gypsum board;  !- Layer 3

      Construction,
        Other Wall,           !- Name
        G01a 19mm gypsum board,  !- Outside Layer
        G01a 19mm gypsum board,  !- Layer 2
        G01a 19mm gypsum board;  !- Layer 3

    """
    ridftxt = """Material,
      peanut butter,  !- Name
      MediumSmooth,            !- Roughness
      0.019,                   !- Thickness {m}
      0.16,                    !- Conductivity {W/m-K}
      800,                     !- Density {kg/m3}
      1090;                    !- Specific Heat {J/kg-K}

      Construction,
        Interior Wall,           !- Name
        peanut butter,  !- Outside Layer
        F04 Wall air space resistance,  !- Layer 2
        peanut butter;  !- Layer 3

      Construction,
        Other Wall,           !- Name
        peanut butter,  !- Outside Layer
        peanut butter,  !- Layer 2
        peanut butter;  !- Layer 3

    """
    fhandle = StringIO(idftxt)
    idf = IDF(fhandle)
    result = modeleditor.rename(
        idf,
        'Material'.upper(),
        'G01a 19mm gypsum board', 'peanut butter')
    assert result.Name == 'peanut butter'
    assert idf.idfobjects['CONSTRUCTION'][0].Outside_Layer == 'peanut butter'
    assert idf.idfobjects['CONSTRUCTION'][0].Layer_3 == 'peanut butter'
Esempio n. 2
0
def test_rename():
    """py.test for rename"""
    idftxt = """Material,
      G01a 19mm gypsum board,  !- Name
      MediumSmooth,            !- Roughness
      0.019,                   !- Thickness {m}
      0.16,                    !- Conductivity {W/m-K}
      800,                     !- Density {kg/m3}
      1090;                    !- Specific Heat {J/kg-K}

      Construction,
        Interior Wall,           !- Name
        G01a 19mm gypsum board,  !- Outside Layer
        F04 Wall air space resistance,  !- Layer 2
        G01a 19mm gypsum board;  !- Layer 3

      Construction,
        Other Wall,           !- Name
        G01a 19mm gypsum board,  !- Outside Layer
        G01a 19mm gypsum board,  !- Layer 2
        G01a 19mm gypsum board;  !- Layer 3

    """
    ridftxt = """Material,
      peanut butter,  !- Name
      MediumSmooth,            !- Roughness
      0.019,                   !- Thickness {m}
      0.16,                    !- Conductivity {W/m-K}
      800,                     !- Density {kg/m3}
      1090;                    !- Specific Heat {J/kg-K}

      Construction,
        Interior Wall,           !- Name
        peanut butter,  !- Outside Layer
        F04 Wall air space resistance,  !- Layer 2
        peanut butter;  !- Layer 3

      Construction,
        Other Wall,           !- Name
        peanut butter,  !- Outside Layer
        peanut butter,  !- Layer 2
        peanut butter;  !- Layer 3

    """
    fhandle = StringIO(idftxt)
    idf = IDF(fhandle)
    result = modeleditor.rename(
        idf, "Material".upper(), "G01a 19mm gypsum board", "peanut butter"
    )
    assert result.Name == "peanut butter"
    assert idf.idfobjects["CONSTRUCTION"][0].Outside_Layer == "peanut butter"
    assert idf.idfobjects["CONSTRUCTION"][0].Layer_3 == "peanut butter"
Esempio n. 3
0
# In[6]:

# rename object name with a colon and any field that refers to that name
from eppy.bunch_subclass import BadEPFieldError

renamednames = []
for key in keys:
    for idfobject in idf1.idfobjects[key]:
        try:
            name = idfobject.Name
            if name.find(":") != -1:
                renamednames.append(name)
                newname = name.replace(":", "__")
                # print "%s, %s, %s" %  (key, name, newname)
                modeleditor.rename(idf1, key, name, newname)
        except BadEPFieldError as e:
            pass

# In[7]:

idf1.saveas("bl_renamed_names.idf")

# rename any fields that have a colon
for key in keys:
    for idfobject in idf1.idfobjects[key]:
        objectfields = idfobject["obj"]
        # idfobject['obj'] is unocumented functionality
        # to get fields of an object as a list
        for i, field in enumerate(objectfields[1:]):
            try:
Esempio n. 4
0
# <codecell>

interiorwall = idf.newidfobject("CONSTRUCTION", Name="Interior Wall",
                 Outside_Layer="G01a 19mm gypsum board",
                 Layer_2="Shiny new material object",
                 Layer_3="G01a 19mm gypsum board")
print(interiorwall)

# <markdowncell>

# to rename gypboard and have that name change in all the places we call modeleditor.rename(idf, key, oldname, newname)

# <codecell>

modeleditor.rename(idf, "MATERIAL", "G01a 19mm gypsum board", "peanut butter")

# <codecell>

print(interiorwall)

# <markdowncell>

# Now we have "peanut butter" everywhere. At least where we need it. Let us look at the entir idf file, just to be sure

# <codecell>

idf.printidf()

# <headingcell level=2>
Esempio n. 5
0
interiorwall = idf.newidfobject(
    "CONSTRUCTION",
    Name="Interior Wall",
    Outside_Layer="G01a 19mm gypsum board",
    Layer_2="Shiny new material object",
    Layer_3="G01a 19mm gypsum board",
)
print(interiorwall)

# <markdowncell>

# to rename gypboard and have that name change in all the places we call modeleditor.rename(idf, key, oldname, newname)

# <codecell>

modeleditor.rename(idf, "MATERIAL", "G01a 19mm gypsum board", "peanut butter")

# <codecell>

print(interiorwall)

# <markdowncell>

# Now we have "peanut butter" everywhere. At least where we need it. Let us look at the entir idf file, just to be sure

# <codecell>

idf.printidf()

# <headingcell level=2>
Esempio n. 6
0

# In[6]:

# rename object name with a colon and any field that refers to that name
from eppy.bunch_subclass import BadEPFieldError
renamednames = []
for key in keys:
    for idfobject in idf1.idfobjects[key]:
        try:
            name = idfobject.Name
            if name.find(":") != -1:
                renamednames.append(name)
                newname = name.replace(':', '__') 
                # print "%s, %s, %s" %  (key, name, newname)
                modeleditor.rename(idf1, key, name, newname)
        except BadEPFieldError as e:
            pass
        


# In[7]:

idf1.saveas("bl_renamed_names.idf")

# rename any fields that have a colon 
for key in keys:
    for idfobject in idf1.idfobjects[key]:
        objectfields = idfobject['obj']
        # idfobject['obj'] is unocumented functionality 
        # to get fields of an object as a list