print('Python ' + sys.version) import logging logging.basicConfig(format='%(funcName)-20s %(levelno)-3s: %(message)s', level=logging.DEBUG, datefmt='%I:%M:%S') logging.debug('Test logging') sys.path.append(r'C:\EclipseWorkspace\EnergyParser') import idf.idf_parser as idf #idf.IDF? path_test_idf = r"C:\EclipseWorkspace\EnergyParser\SampleIDFs\5ZoneElectricBaseboard.idf" new_idf = idf.IDF.from_IDF_file(path_test_idf) print(new_idf) for line in new_idf.IDF_string.split('\n')[987:1010]: print(line) for cnt,line in enumerate(new_idf.XML): print(line) if cnt > 8: break import idf.utilities_xml as util_xml util_xml.get_zone_name_list(new_idf) table = util_xml.get_table_all_names(new_idf) util_xml.print_table(table,5) table = util_xml.get_table_object_count(new_idf) util_xml.print_table(table, 10) util_xml.tree_get_class(new_idf, 'AirTerminal:SingleDuct:VAV:Reheat') selection = util_xml.tree_get_class(new_idf, 'AirTerminal', flgExact = False) print(selection) util_xml.printXML(selection[0]) print(new_idf) util_xml.delete_classes(new_idf, ['AirTerminal:SingleDuct:VAV:NoReheat']) print(new_idf) new_idf.convert_XML_to_IDF() print(new_idf) new_idf.write_IDF('d:\\testing EnergyParser.idf') new_idf.write_XML('d:\\testing EnergyParser.xml') path_idd = r"D:\Apps\EnergyPlusV8-1-0\Energy+.idd" idd_definition = idf.IDF.from_IDD_file(path_idd) target_class = util_xml.tree_get_class(idd_definition, 'Site:WeatherStation')[0] util_xml.printXML(target_class) selection = util_xml.tree_get_class(new_idf, 'Zone') util_xml.printXML(selection[3]) target_class = util_xml.tree_get_class(idd_definition, 'Zone')[0] print(target_class) #util_xml.printXML(target_class) util_xml.get_IDD_matched_position(target_class,'field','Ceiling Height') this_change = {'class' :'^Zone$', 'objName' :'^SPACE', 'attr' :'Ceiling Height', 'newVal' :'3.0', } util_xml.apply_change(new_idf, idd_definition, this_change) selection = util_xml.tree_get_class(new_idf, 'Zone') for obj in selection: break util_xml.printXML(obj) this_change = {'class' :'^Zone$', 'objName' :'^SPACE4-1$', 'attr' :'Ceiling Height', 'newVal' :'3.5', } util_xml.apply_change(new_idf, idd_definition, this_change) this_change = {'class' :'^Zone$', 'objName' :'.', 'attr' :'Ceiling Height', 'newVal' :'2.8', } util_xml.apply_change(new_idf, idd_definition, this_change)