def startModules(self): #print "Ensight2CoviseGui.startModules" self.aErrorLogAction = ErrorLogAction() CoviseMsgLoop().register(self.aErrorLogAction) global theNet theNet = net() self.scalarVariables3DGetterAction = ChoiceGetterAction() self.vectorVariables3DGetterAction = ChoiceGetterAction() self.scalarVariables2DGetterAction = ChoiceGetterAction() self.vectorVariables2DGetterAction = ChoiceGetterAction() # MODULE: ReadEnsight self.ReadEnsight_1 = ReadEnsight() theNet.add( self.ReadEnsight_1 ) self.aPartsCollectorAction = PartsCollectorAction() CoviseMsgLoop().register(self.aPartsCollectorAction) # hang in variable-getters self.ReadEnsight_1.addNotifier('data_for_sdata1_3D', self.scalarVariables3DGetterAction) self.ReadEnsight_1.addNotifier('data_for_vdata1_3D', self.vectorVariables3DGetterAction) self.ReadEnsight_1.addNotifier('data_for_sdata1_2D', self.scalarVariables2DGetterAction) self.ReadEnsight_1.addNotifier('data_for_vdata1_2D', self.vectorVariables2DGetterAction) # set parameter values if self.isByteSwapped == True: self.ReadEnsight_1.set_data_byte_swap( "TRUE" ) else: self.ReadEnsight_1.set_data_byte_swap( "FALSE" ) self.ReadEnsight_1.set_case_file( self.fullEnsightCaseName ) self.ReadEnsight_1.set_include_polyhedra( "TRUE") self.ReadEnsight_1.set_enable_autocoloring( "FALSE" ) # wait for choices to be updated self.scalarVariables3DGetterAction.waitForChoices() self.vectorVariables3DGetterAction.waitForChoices() self.scalarVariables2DGetterAction.waitForChoices() self.vectorVariables2DGetterAction.waitForChoices() # wait for the part info message self.aPartsCollectorAction.waitForPartsinfoFinished() # get variables self.scalarVariables3D=self.scalarVariables3DGetterAction.getChoices() self.vectorVariables3D=self.vectorVariables3DGetterAction.getChoices() self.scalarVariables2D=self.scalarVariables2DGetterAction.getChoices() self.vectorVariables2D=self.vectorVariables2DGetterAction.getChoices() text = "Ensight Case File: %s"%(self.fullEnsightCaseName) self.statusText.append(text) self.statusText.append("\n3D parts:") for partid in self.aPartsCollectorAction.getRefNameDict3dParts().keys(): partname = self.aPartsCollectorAction.getRefNameDict3dParts()[partid] text = "\tPart %d = %s"%(partid, partname) self.statusText.append(text) self.statusText.append("3D Part Variables:") for svar in self.scalarVariables3D: text= "\t%s(scalar)"%(svar) self.statusText.append(text) for vvar in self.vectorVariables3D: text= "\t%s(vector)"%(vvar) self.statusText.append(text) self.statusText.append("\n2D parts:") for partid in self.aPartsCollectorAction.getRefNameDict2dParts().keys(): partname = self.aPartsCollectorAction.getRefNameDict2dParts()[partid] text = "\tPart %d = %s"%(partid, partname) self.statusText.append(text) self.statusText.append("2D Part Variables:") for svar in self.scalarVariables2D: text= "\t%s(scalar)"%(svar) self.statusText.append(text) for vvar in self.vectorVariables2D: text= "\t%s(vector)"%(vvar) self.statusText.append(text) QtWidgets.QApplication.processEvents() # MODULE: RWCovise self.RWCovise_1 = RWCovise() theNet.add( self.RWCovise_1 ) self.RWCovise_1.set_stepNo( 0 ) self.RWCovise_1.set_rotate_output( "FALSE" ) self.RWCovise_1.set_rotation_axis( 3 ) self.RWCovise_1.set_rot_speed( 2.000000 ) self.cocase = CoviseCaseFile() cn = os.path.basename(str(self.fullEnsightCaseName)) self.cocasename = cn[0: cn.rfind('.')]
def startModules(self): #print "Ensight2CoviseGui.startModules" self.aErrorLogAction = ErrorLogAction() CoviseMsgLoop().register(self.aErrorLogAction) global theNet theNet = net() self.scalarVariables3DGetterAction = ChoiceGetterAction() self.vectorVariables3DGetterAction = ChoiceGetterAction() self.scalarVariables2DGetterAction = ChoiceGetterAction() self.vectorVariables2DGetterAction = ChoiceGetterAction() # MODULE: ReadEnsight self.ReadEnsight_1 = ReadEnsight() theNet.add(self.ReadEnsight_1) self.aPartsCollectorAction = PartsCollectorAction() CoviseMsgLoop().register(self.aPartsCollectorAction) # hang in variable-getters self.ReadEnsight_1.addNotifier('data_for_sdata1_3D', self.scalarVariables3DGetterAction) self.ReadEnsight_1.addNotifier('data_for_vdata1_3D', self.vectorVariables3DGetterAction) self.ReadEnsight_1.addNotifier('data_for_sdata1_2D', self.scalarVariables2DGetterAction) self.ReadEnsight_1.addNotifier('data_for_vdata1_2D', self.vectorVariables2DGetterAction) # set parameter values if self.isByteSwapped == True: self.ReadEnsight_1.set_data_byte_swap("TRUE") else: self.ReadEnsight_1.set_data_byte_swap("FALSE") self.ReadEnsight_1.set_case_file(self.fullEnsightCaseName) self.ReadEnsight_1.set_include_polyhedra("TRUE") self.ReadEnsight_1.set_enable_autocoloring("FALSE") # wait for choices to be updated self.scalarVariables3DGetterAction.waitForChoices() self.vectorVariables3DGetterAction.waitForChoices() self.scalarVariables2DGetterAction.waitForChoices() self.vectorVariables2DGetterAction.waitForChoices() # wait for the part info message self.aPartsCollectorAction.waitForPartsinfoFinished() # get variables self.scalarVariables3D = self.scalarVariables3DGetterAction.getChoices( ) self.vectorVariables3D = self.vectorVariables3DGetterAction.getChoices( ) self.scalarVariables2D = self.scalarVariables2DGetterAction.getChoices( ) self.vectorVariables2D = self.vectorVariables2DGetterAction.getChoices( ) text = "Ensight Case File: %s" % (self.fullEnsightCaseName) self.statusText.append(text) self.statusText.append("\n3D parts:") for partid in self.aPartsCollectorAction.getRefNameDict3dParts().keys( ): partname = self.aPartsCollectorAction.getRefNameDict3dParts( )[partid] text = "\tPart %d = %s" % (partid, partname) self.statusText.append(text) self.statusText.append("3D Part Variables:") for svar in self.scalarVariables3D: text = "\t%s(scalar)" % (svar) self.statusText.append(text) for vvar in self.vectorVariables3D: text = "\t%s(vector)" % (vvar) self.statusText.append(text) self.statusText.append("\n2D parts:") for partid in self.aPartsCollectorAction.getRefNameDict2dParts().keys( ): partname = self.aPartsCollectorAction.getRefNameDict2dParts( )[partid] text = "\tPart %d = %s" % (partid, partname) self.statusText.append(text) self.statusText.append("2D Part Variables:") for svar in self.scalarVariables2D: text = "\t%s(scalar)" % (svar) self.statusText.append(text) for vvar in self.vectorVariables2D: text = "\t%s(vector)" % (vvar) self.statusText.append(text) QtWidgets.QApplication.processEvents() # MODULE: RWCovise self.RWCovise_1 = RWCovise() theNet.add(self.RWCovise_1) self.RWCovise_1.set_stepNo(0) self.RWCovise_1.set_rotate_output("FALSE") self.RWCovise_1.set_rotation_axis(3) self.RWCovise_1.set_rot_speed(2.000000) self.cocase = CoviseCaseFile() cn = os.path.basename(str(self.fullEnsightCaseName)) self.cocasename = cn[0:cn.rfind('.')]
class Ensight2CoviseGui(Ensight2CoviseGuiBase): def __init__(self): #print "Ensight2CoviseGui.__init__" # init base class Ensight2CoviseGuiBase.__init__(self, None) # connect buttons self.outputDirLineEdit.returnPressed.connect(self.setOutputDir) self.byteswapped.stateChanged.connect(self.setByteswap) self.startConversionPushButton.clicked.connect(self.startConversion) # initialize output directory InitialDatasetSearchPath = covise.getCoConfigEntry("vr-prepare.InitialDatasetSearchPath") if not InitialDatasetSearchPath: InitialDatasetSearchPath = os.getcwd() self.currentFilePath = InitialDatasetSearchPath self.scale = 1.0 # disable all buttons at beginning self.settingsFrame.setEnabled(False) self.startConversionFrame.setEnabled(False) self.outputDirFrame.setEnabled(False) self.isByteSwapped = True def closeEvent(self, event): covise.clean() covise.quit() def fileOpen(self): #print "Ensight2CoviseGui.fileOpen" fd = QtWidgets.QFileDialog(self) fd.setMinimumWidth(1050) fd.setMinimumHeight(700) fd.setNameFilter('Ensight case File (*.case *.encas *.CASE *.ENCAS)') fd.setWindowTitle('Open Ensight Case File') fd.setDirectory(self.currentFilePath) acceptedOrRejected = fd.exec_() if acceptedOrRejected != QtWidgets.QDialog.Accepted : return filenamesQt = fd.selectedFiles() if filenamesQt.isEmpty(): return self.currentFilePath = os.path.dirname(str(filenamesQt[0])) self.fullEnsightCaseName = str(filenamesQt[0]) # try to open file if not os.access(self.fullEnsightCaseName, os.R_OK): self.statusText.append("ERROR: Could not open file "+self.fullEnsightCaseName+ " - not readable") else: # start modules self.startModules() # disable file open self.fileOpenAction.setEnabled(False) # set output File path self.outputFilePath = self.currentFilePath + "/CoviseDaten/" if os.path.isdir(self.outputFilePath): pass else: try: os.mkdir(self.outputFilePath) except(OSError): self.statusText.append("ERROR: Could not create directory "+str(self.outputFilePath)+" check permissions and enter again or select another directory") self.outputFilePath = None if (self.outputFilePath): self.outputDirLineEdit.setText(self.outputFilePath) # enable all buttons self.outputDirFrame.setEnabled(True) self.startConversionFrame.setEnabled(True) self.settingsFrame.setEnabled(True) def fileExit(self): #print "Ensight2CoviseGui.fileExit" self.close() sys.exit() def setByteswap(self, i): self.isByteSwapped = self.byteswapped.isChecked() def setOutputDir(self): #print "Ensight2CoviseGui.setOutputDir" self.outputFilePath=str(self.outputDirLineEdit.text()) if not os.path.isdir(self.outputFilePath): try: os.mkdir(self.outputFilePath) self.statusText.append("\nINFO: created directory "+self.outputFilePath) except(OSError): self.statusText.append("\nERROR: Could not create directory "+self.outputFilePath+" check permissions and enter again or select another directory") self.outputFilePath = None else: self.statusText.append("\nINFO: directory "+self.outputFilePath+" exists already") def customEvent(self,e): pass def startModules(self): #print "Ensight2CoviseGui.startModules" self.aErrorLogAction = ErrorLogAction() CoviseMsgLoop().register(self.aErrorLogAction) global theNet theNet = net() self.scalarVariables3DGetterAction = ChoiceGetterAction() self.vectorVariables3DGetterAction = ChoiceGetterAction() self.scalarVariables2DGetterAction = ChoiceGetterAction() self.vectorVariables2DGetterAction = ChoiceGetterAction() # MODULE: ReadEnsight self.ReadEnsight_1 = ReadEnsight() theNet.add( self.ReadEnsight_1 ) self.aPartsCollectorAction = PartsCollectorAction() CoviseMsgLoop().register(self.aPartsCollectorAction) # hang in variable-getters self.ReadEnsight_1.addNotifier('data_for_sdata1_3D', self.scalarVariables3DGetterAction) self.ReadEnsight_1.addNotifier('data_for_vdata1_3D', self.vectorVariables3DGetterAction) self.ReadEnsight_1.addNotifier('data_for_sdata1_2D', self.scalarVariables2DGetterAction) self.ReadEnsight_1.addNotifier('data_for_vdata1_2D', self.vectorVariables2DGetterAction) # set parameter values if self.isByteSwapped == True: self.ReadEnsight_1.set_data_byte_swap( "TRUE" ) else: self.ReadEnsight_1.set_data_byte_swap( "FALSE" ) self.ReadEnsight_1.set_case_file( self.fullEnsightCaseName ) self.ReadEnsight_1.set_include_polyhedra( "TRUE") self.ReadEnsight_1.set_enable_autocoloring( "FALSE" ) # wait for choices to be updated self.scalarVariables3DGetterAction.waitForChoices() self.vectorVariables3DGetterAction.waitForChoices() self.scalarVariables2DGetterAction.waitForChoices() self.vectorVariables2DGetterAction.waitForChoices() # wait for the part info message self.aPartsCollectorAction.waitForPartsinfoFinished() # get variables self.scalarVariables3D=self.scalarVariables3DGetterAction.getChoices() self.vectorVariables3D=self.vectorVariables3DGetterAction.getChoices() self.scalarVariables2D=self.scalarVariables2DGetterAction.getChoices() self.vectorVariables2D=self.vectorVariables2DGetterAction.getChoices() text = "Ensight Case File: %s"%(self.fullEnsightCaseName) self.statusText.append(text) self.statusText.append("\n3D parts:") for partid in self.aPartsCollectorAction.getRefNameDict3dParts().keys(): partname = self.aPartsCollectorAction.getRefNameDict3dParts()[partid] text = "\tPart %d = %s"%(partid, partname) self.statusText.append(text) self.statusText.append("3D Part Variables:") for svar in self.scalarVariables3D: text= "\t%s(scalar)"%(svar) self.statusText.append(text) for vvar in self.vectorVariables3D: text= "\t%s(vector)"%(vvar) self.statusText.append(text) self.statusText.append("\n2D parts:") for partid in self.aPartsCollectorAction.getRefNameDict2dParts().keys(): partname = self.aPartsCollectorAction.getRefNameDict2dParts()[partid] text = "\tPart %d = %s"%(partid, partname) self.statusText.append(text) self.statusText.append("2D Part Variables:") for svar in self.scalarVariables2D: text= "\t%s(scalar)"%(svar) self.statusText.append(text) for vvar in self.vectorVariables2D: text= "\t%s(vector)"%(vvar) self.statusText.append(text) QtWidgets.QApplication.processEvents() # MODULE: RWCovise self.RWCovise_1 = RWCovise() theNet.add( self.RWCovise_1 ) self.RWCovise_1.set_stepNo( 0 ) self.RWCovise_1.set_rotate_output( "FALSE" ) self.RWCovise_1.set_rotation_axis( 3 ) self.RWCovise_1.set_rot_speed( 2.000000 ) self.cocase = CoviseCaseFile() cn = os.path.basename(str(self.fullEnsightCaseName)) self.cocasename = cn[0: cn.rfind('.')] def startConversion(self): #print "Ensight2CoviseGui.startConversion" # Module Transform self.scale = float(str(self.leScale.text())) if self.scale != 1: if not hasattr(self, "Transform_1"): self.Transform_1 = Transform() theNet.add( self.Transform_1 ) self.Transform_1.set_Transform( 5 ) self.Transform_1.set_createSet( "FALSE" ) self.Transform_1.set_scaling_factor( self.scale ) self.outputDirFrame.setEnabled(False) self.startConversionFrame.setEnabled(False) self.settingsFrame.setEnabled(False) #self.statusText.clear() text="\nStarting Conversion in %s..."%(self.outputFilePath) self.statusText.append(text) QtWidgets.QApplication.processEvents() self.startConversionOf3DParts() self.startConversionOf2DParts() QtWidgets.QApplication.processEvents() CoviseMsgLoop().unregister(self.aPartsCollectorAction) CoviseMsgLoop().unregister(self.aErrorLogAction) theNet.remove( self.ReadEnsight_1 ) text="\nWriting cocase to file..." self.statusText.append(text) pickleFile = self.outputFilePath + self.cocasename + '.cocase' counter=0 while os.path.isfile(pickleFile): text= "! A file named %s is already available ... trying a new name"%(pickleFile) self.statusText.append(text) QtWidgets.QApplication.processEvents() counter=counter+1 pickleFile = self.outputFilePath + self.cocasename + "_"+str(counter) output = open(pickleFile, 'wb') pickle.dump(self.cocase,output) output.close() text="cocasefile written to %s\n"%(pickleFile,) self.statusText.append(text) QtWidgets.QApplication.processEvents() text="\nConversion finished!" self.statusText.append(text) def startConversionOf3DParts(self): for partid in self.aPartsCollectorAction.getRefNameDict3dParts().keys(): #if int(partid) >= int(self.comboStartId.getCurrentIndex()): # get partname partname = self.aPartsCollectorAction.getRefNameDict3dParts()[partid] text = "\nConverting grid of part %s please be patient..."%(partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() # connect modules if self.scale != 1: theNet.connect( self.ReadEnsight_1, "geoOut_3D", self.Transform_1, "geo_in" ) theNet.connect( self.Transform_1, "geo_out", self.RWCovise_1, "mesh_in" ) else: theNet.connect( self.ReadEnsight_1, "geoOut_3D", self.RWCovise_1, "mesh_in" ) # select part self.ReadEnsight_1.set_choose_parts( str(partid) ) # clean partname if "/" in partname: text="! Removing the / in partname = %s\n"%(partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() partname=partname.replace("/","") # create RW Covise name covisename = self.outputFilePath +partname + "-3D.covise" # check if file is already available #print "rwcovisename=", covisename counter=0 while os.path.isfile(covisename): text= "! A file named %s is already available ... trying a new name"%(covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() counter=counter+1 covisename = self.outputFilePath + partname + str(counter) + "-3D.covise" QtWidgets.QApplication.processEvents() self.RWCovise_1.set_grid_path( covisename ) QtWidgets.QApplication.processEvents() # execute self.ReadEnsight_1.execute() theNet.finishedBarrier() #theNet.save( "grid.net" ) # write logfile text="Converted grid of part %s to covise file %s"%(partname, covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() # create cocase item item3D = CoviseCaseFileItem(partname, GEOMETRY_3D, os.path.basename(covisename)) # disconnect modules if self.scale !=1: theNet.disconnect( self.ReadEnsight_1, "geoOut_3D", self.Transform_1, "geo_in" ) theNet.disconnect( self.Transform_1, "geo_out", self.RWCovise_1, "mesh_in" ) else: theNet.disconnect(self. ReadEnsight_1, "geoOut_3D", self.RWCovise_1, "mesh_in" ) QtWidgets.QApplication.processEvents() # scalar variables # connect modules if self.scale!=1: theNet.connect( self.ReadEnsight_1, "geoOut_3D", self.Transform_1, "geo_in" ) theNet.connect( self.ReadEnsight_1, "sdata1_3D", self.Transform_1, "data_in0" ) theNet.connect( self.Transform_1, "data_out0", self.RWCovise_1, "mesh_in" ) else: theNet.connect( self.ReadEnsight_1, "sdata1_3D", self.RWCovise_1, "mesh_in" ) # loop over scalar variables choice=1 for svar in self.scalarVariables3D: text= "\nConverting scalar variable %s of part %s, please be patient..."%(svar, partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() # select variable choice+=1 self.ReadEnsight_1.set_data_for_sdata1_3D( choice ) # clean variablename if "/" in svar: text="! Removing the / in svar = %s\n"%(svar,) statusText.append(text) QtWidgets.QApplication.processEvents() svar=svar.replace("/","") # create RWCovise name covisename = self.outputFilePath + partname + "-" + svar + "-3D.covise" # check if file is already available counter=0 while os.path.isfile(covisename): text="! A file named %s is already available ... trying a new name"%(covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() counter=counter+1 covisename = self.outputFilePath + partname + str(counter) + "-" + svar + "-3D.covise" self.RWCovise_1.set_grid_path( covisename ) QtWidgets.QApplication.processEvents() # execute self.ReadEnsight_1.execute() theNet.finishedBarrier() # write logfile text="Converted scalar variable %s of part %s to file %s"%(svar, partname, covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() # add variable to cacase item item3D.addVariableAndFilename(svar, covisename, SCALARVARIABLE) #theNet.save( "scalar.net" ) # disconnect modules if self.scale!=1: theNet.disconnect( self.ReadEnsight_1, "geoOut_3D", self.Transform_1, "geo_in" ) theNet.disconnect( self.ReadEnsight_1, "sdata1_3D", self.Transform_1, "data_in0" ) theNet.disconnect( self.Transform_1, "data_out0", self.RWCovise_1, "mesh_in" ) else: theNet.disconnect( self.ReadEnsight_1, "sdata1_3D", self.RWCovise_1, "mesh_in" ) QtWidgets.QApplication.processEvents() # vector variables # connect modules if self.scale!=1: theNet.connect( self.ReadEnsight_1, "geoOut_3D", self.Transform_1, "geo_in" ) theNet.connect( self.ReadEnsight_1, "vdata1_3D", self.Transform_1, "data_in0" ) theNet.connect( self.Transform_1, "data_out0", self.RWCovise_1, "mesh_in" ) else: theNet.connect( self.ReadEnsight_1, "vdata1_3D", self.RWCovise_1, "mesh_in" ) # loop over variables choice=1 for vvar in self.vectorVariables3D: text= "\nConverting vector variable %s of part %s, please be patient..."%(vvar, partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() # select variable choice+=1 self.ReadEnsight_1.set_data_for_vdata1_3D( choice ) # clean variablename if "/" in vvar: text="! Removing the / in vvar = %s\n"%(vvar,) self.statusText.append(text) QtWidgets.QApplication.processEvents() partname=partname.replace("/","") # create covisename covisename = self.outputFilePath + partname + "-" + vvar + "-3D.covise" # check if file is already available counter=0 while os.path.isfile(covisename): text="! A file named %s is already available trying a new name"%(covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() counter=counter+1 covisename = self.outputFilePath + partname + str(counter) + "-" + vvar + "-3D.covise" self.RWCovise_1.set_grid_path( covisename ) # execute self.ReadEnsight_1.execute() theNet.finishedBarrier() # write logfile text="Converted vector variable%s of part %s to file %s"%(vvar,partname, covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() # add variable to cocase item item3D.addVariableAndFilename(vvar, covisename, VECTOR3DVARIABLE) # disconnect modules if self.scale!=1: theNet.disconnect( self.ReadEnsight_1, "geoOut_3D", self.Transform_1, "geo_in" ) theNet.disconnect( self.ReadEnsight_1, "vdata1_3D", self.Transform_1, "data_in0" ) theNet.disconnect( self.Transform_1, "data_out0", self.RWCovise_1, "mesh_in" ) else: theNet.disconnect( self.ReadEnsight_1, "vdata1_3D",self. RWCovise_1, "mesh_in" ) # add the cocase item to the case file self.cocase.add(item3D) QtWidgets.QApplication.processEvents() def startConversionOf2DParts(self): #print "__________START 2D---------" for partid in self.aPartsCollectorAction.getRefNameDict2dParts().keys(): partname = self.aPartsCollectorAction.getRefNameDict2dParts()[partid] # write logfile text="\nConverting surface of part %s, please be patient..."%(partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() # connect modules if self.scale!=1: theNet.connect( self.ReadEnsight_1, "geoOut_2D", self.Transform_1, "geo_in" ) theNet.connect( self.Transform_1, "geo_out", self.RWCovise_1, "mesh_in" ) else: theNet.connect( self.ReadEnsight_1, "geoOut_2D", self.RWCovise_1, "mesh_in" ) # select part self.ReadEnsight_1.set_choose_parts( str(partid) ) # clean partname if "/" in partname: text="! Removing the / in partname = %s\n"%(partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() partname=partname.replace("/","") # create RWCovise name covisename = self.outputFilePath + partname + "-2D.covise" counter=0 while os.path.isfile(covisename): text="! A file named %s is already available trying a new name"%(covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() counter=counter+1 covisename = self.outputFilePath + partname + str(counter) + "-2D.covise" self.RWCovise_1.set_grid_path( covisename ) # execute self.ReadEnsight_1.execute() theNet.finishedBarrier() # write logfile text="Converted surface of part %s to file %s"%(partname, covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() # create cocase item item2D = CoviseCaseFileItem(partname, GEOMETRY_2D, os.path.basename(covisename)) # disconnect the modules if self.scale !=1: theNet.disconnect( self.ReadEnsight_1, "geoOut_2D", self.Transform_1, "geo_in" ) theNet.disconnect( self.Transform_1, "geo_out", self.RWCovise_1, "mesh_in" ) else: theNet.disconnect( self.ReadEnsight_1, "geoOut_2D", self.RWCovise_1, "mesh_in" ) # # scalar variables # # connect modules if self.scale!=1: theNet.connect( self.ReadEnsight_1, "geoOut_2D", self.Transform_1, "geo_in" ) theNet.connect( self.ReadEnsight_1, "sdata1_2D", self.Transform_1, "data_in0" ) theNet.connect( self.Transform_1, "data_out0", self.RWCovise_1, "mesh_in" ) else: theNet.connect( self.ReadEnsight_1, "sdata1_2D", self.RWCovise_1, "mesh_in" ) choice=1 for svar in self.scalarVariables2D: # select variable choice+=1 text="\nConverting scalar variable %s of part %s, please be patient..."%(svar, partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() self.ReadEnsight_1.set_data_for_sdata1_2D( choice ) # clean variablename if "/" in partname: text="! Removing the / in partname = %s\n"%(partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() partname=partname.replace("/","") # create RWCovise name covisename = self.outputFilePath + partname + "-" + svar + "-2D.covise" counter=0 while os.path.isfile(covisename): text="! A file named %s is already available ... trying a new name"%(covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() counter=counter+1 covisename = self.outputFilePath + partname + str(counter) + "-" + svar + "-2D.covise" self.RWCovise_1.set_grid_path( covisename ) # execute self.ReadEnsight_1.execute() theNet.finishedBarrier() # write logfile text="Converted scalar variable %s of part %s to file %s"%(svar, partname, covisename,) self.statusText.append(text) QtWidgets.QApplication.processEvents() # add variable to cicase item item2D.addVariableAndFilename(svar, covisename, SCALARVARIABLE) # print memory usage of module #os.system('ps aux | grep ReadEnsight_1') # disconnect modules if self.scale!=1: theNet.disconnect( self.ReadEnsight_1, "geoOut_2D", self.Transform_1, "geo_in" ) theNet.disconnect( self.ReadEnsight_1, "sdata1_2D", self.Transform_1, "data_in0" ) theNet.disconnect( self.Transform_1, "data_out0", self.RWCovise_1, "mesh_in" ) else: theNet.disconnect( self.ReadEnsight_1, "sdata1_2D", self.RWCovise_1, "mesh_in" ) # vector variables # connect modules if self.scale!=1: theNet.connect( self.ReadEnsight_1, "geoOut_2D", self.Transform_1, "geo_in" ) theNet.connect( self.ReadEnsight_1, "vdata1_2D", self.Transform_1, "data_in0" ) theNet.connect( self.Transform_1, "data_out0", self.RWCovise_1, "mesh_in" ) else: theNet.connect( self.ReadEnsight_1, "vdata1_2D", self.RWCovise_1, "mesh_in" ) choice=1 for vvar in self.vectorVariables2D: # select variable choice+=1 text="\nConverting vector variable %s of part %s, please be patient..."%(vvar, partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() self.ReadEnsight_1.set_data_for_vdata1_2D( choice ) # clean partname if "/" in partname: text="! Removing the / in partname = %s\n"%(partname,) self.statusText.append(text) QtWidgets.QApplication.processEvents() partname=partname.replace("/","") # create RWCovise name covisename = self.outputFilePath + partname + "-" + vvar + "-2D.covise" counter=0 while os.path.isfile(covisename): text="! A file named %s is already available ... trying a new name"%(covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() counter=counter+1 covisename = self.outputFilePath + partname + str(counter) + "-" + vvar + "-2D.covise" self.RWCovise_1.set_grid_path( covisename ) # execute self.ReadEnsight_1.execute() theNet.finishedBarrier() # write logfile text="Converted vector variable%s of part %s to file %s"%(vvar, partname, covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() # add varibale to coscase item item2D.addVariableAndFilename(vvar, covisename, VECTOR3DVARIABLE) # disconnect modules if self.scale!=1: theNet.disconnect( self.ReadEnsight_1, "geoOut_2D", self.Transform_1, "geo_in" ) theNet.disconnect( self.ReadEnsight_1, "vdata1_2D", self.Transform_1, "data_in0" ) theNet.disconnect( self.Transform_1, "data_out0", self.RWCovise_1, "mesh_in" ) else: theNet.disconnect( self.ReadEnsight_1, "vdata1_2D", self.RWCovise_1, "mesh_in" ) # add the cocase item to the case file self.cocase.add(item2D)
class Ensight2CoviseGui(Ensight2CoviseGuiBase): def __init__(self): #print "Ensight2CoviseGui.__init__" # init base class Ensight2CoviseGuiBase.__init__(self, None) # connect buttons self.outputDirLineEdit.returnPressed.connect(self.setOutputDir) self.byteswapped.stateChanged.connect(self.setByteswap) self.startConversionPushButton.clicked.connect(self.startConversion) # initialize output directory InitialDatasetSearchPath = covise.getCoConfigEntry( "vr-prepare.InitialDatasetSearchPath") if not InitialDatasetSearchPath: InitialDatasetSearchPath = os.getcwd() self.currentFilePath = InitialDatasetSearchPath self.scale = 1.0 # disable all buttons at beginning self.settingsFrame.setEnabled(False) self.startConversionFrame.setEnabled(False) self.outputDirFrame.setEnabled(False) self.isByteSwapped = True def closeEvent(self, event): covise.clean() covise.quit() def fileOpen(self): #print "Ensight2CoviseGui.fileOpen" fd = QtWidgets.QFileDialog(self) fd.setMinimumWidth(1050) fd.setMinimumHeight(700) fd.setNameFilter('Ensight case File (*.case *.encas *.CASE *.ENCAS)') fd.setWindowTitle('Open Ensight Case File') fd.setDirectory(self.currentFilePath) acceptedOrRejected = fd.exec_() if acceptedOrRejected != QtWidgets.QDialog.Accepted: return filenamesQt = fd.selectedFiles() if filenamesQt.isEmpty(): return self.currentFilePath = os.path.dirname(str(filenamesQt[0])) self.fullEnsightCaseName = str(filenamesQt[0]) # try to open file if not os.access(self.fullEnsightCaseName, os.R_OK): self.statusText.append("ERROR: Could not open file " + self.fullEnsightCaseName + " - not readable") else: # start modules self.startModules() # disable file open self.fileOpenAction.setEnabled(False) # set output File path self.outputFilePath = self.currentFilePath + "/CoviseDaten/" if os.path.isdir(self.outputFilePath): pass else: try: os.mkdir(self.outputFilePath) except (OSError): self.statusText.append( "ERROR: Could not create directory " + str(self.outputFilePath) + " check permissions and enter again or select another directory" ) self.outputFilePath = None if (self.outputFilePath): self.outputDirLineEdit.setText(self.outputFilePath) # enable all buttons self.outputDirFrame.setEnabled(True) self.startConversionFrame.setEnabled(True) self.settingsFrame.setEnabled(True) def fileExit(self): #print "Ensight2CoviseGui.fileExit" self.close() sys.exit() def setByteswap(self, i): self.isByteSwapped = self.byteswapped.isChecked() def setOutputDir(self): #print "Ensight2CoviseGui.setOutputDir" self.outputFilePath = str(self.outputDirLineEdit.text()) if not os.path.isdir(self.outputFilePath): try: os.mkdir(self.outputFilePath) self.statusText.append("\nINFO: created directory " + self.outputFilePath) except (OSError): self.statusText.append( "\nERROR: Could not create directory " + self.outputFilePath + " check permissions and enter again or select another directory" ) self.outputFilePath = None else: self.statusText.append("\nINFO: directory " + self.outputFilePath + " exists already") def customEvent(self, e): pass def startModules(self): #print "Ensight2CoviseGui.startModules" self.aErrorLogAction = ErrorLogAction() CoviseMsgLoop().register(self.aErrorLogAction) global theNet theNet = net() self.scalarVariables3DGetterAction = ChoiceGetterAction() self.vectorVariables3DGetterAction = ChoiceGetterAction() self.scalarVariables2DGetterAction = ChoiceGetterAction() self.vectorVariables2DGetterAction = ChoiceGetterAction() # MODULE: ReadEnsight self.ReadEnsight_1 = ReadEnsight() theNet.add(self.ReadEnsight_1) self.aPartsCollectorAction = PartsCollectorAction() CoviseMsgLoop().register(self.aPartsCollectorAction) # hang in variable-getters self.ReadEnsight_1.addNotifier('data_for_sdata1_3D', self.scalarVariables3DGetterAction) self.ReadEnsight_1.addNotifier('data_for_vdata1_3D', self.vectorVariables3DGetterAction) self.ReadEnsight_1.addNotifier('data_for_sdata1_2D', self.scalarVariables2DGetterAction) self.ReadEnsight_1.addNotifier('data_for_vdata1_2D', self.vectorVariables2DGetterAction) # set parameter values if self.isByteSwapped == True: self.ReadEnsight_1.set_data_byte_swap("TRUE") else: self.ReadEnsight_1.set_data_byte_swap("FALSE") self.ReadEnsight_1.set_case_file(self.fullEnsightCaseName) self.ReadEnsight_1.set_include_polyhedra("TRUE") self.ReadEnsight_1.set_enable_autocoloring("FALSE") # wait for choices to be updated self.scalarVariables3DGetterAction.waitForChoices() self.vectorVariables3DGetterAction.waitForChoices() self.scalarVariables2DGetterAction.waitForChoices() self.vectorVariables2DGetterAction.waitForChoices() # wait for the part info message self.aPartsCollectorAction.waitForPartsinfoFinished() # get variables self.scalarVariables3D = self.scalarVariables3DGetterAction.getChoices( ) self.vectorVariables3D = self.vectorVariables3DGetterAction.getChoices( ) self.scalarVariables2D = self.scalarVariables2DGetterAction.getChoices( ) self.vectorVariables2D = self.vectorVariables2DGetterAction.getChoices( ) text = "Ensight Case File: %s" % (self.fullEnsightCaseName) self.statusText.append(text) self.statusText.append("\n3D parts:") for partid in self.aPartsCollectorAction.getRefNameDict3dParts().keys( ): partname = self.aPartsCollectorAction.getRefNameDict3dParts( )[partid] text = "\tPart %d = %s" % (partid, partname) self.statusText.append(text) self.statusText.append("3D Part Variables:") for svar in self.scalarVariables3D: text = "\t%s(scalar)" % (svar) self.statusText.append(text) for vvar in self.vectorVariables3D: text = "\t%s(vector)" % (vvar) self.statusText.append(text) self.statusText.append("\n2D parts:") for partid in self.aPartsCollectorAction.getRefNameDict2dParts().keys( ): partname = self.aPartsCollectorAction.getRefNameDict2dParts( )[partid] text = "\tPart %d = %s" % (partid, partname) self.statusText.append(text) self.statusText.append("2D Part Variables:") for svar in self.scalarVariables2D: text = "\t%s(scalar)" % (svar) self.statusText.append(text) for vvar in self.vectorVariables2D: text = "\t%s(vector)" % (vvar) self.statusText.append(text) QtWidgets.QApplication.processEvents() # MODULE: RWCovise self.RWCovise_1 = RWCovise() theNet.add(self.RWCovise_1) self.RWCovise_1.set_stepNo(0) self.RWCovise_1.set_rotate_output("FALSE") self.RWCovise_1.set_rotation_axis(3) self.RWCovise_1.set_rot_speed(2.000000) self.cocase = CoviseCaseFile() cn = os.path.basename(str(self.fullEnsightCaseName)) self.cocasename = cn[0:cn.rfind('.')] def startConversion(self): #print "Ensight2CoviseGui.startConversion" # Module Transform self.scale = float(str(self.leScale.text())) if self.scale != 1: if not hasattr(self, "Transform_1"): self.Transform_1 = Transform() theNet.add(self.Transform_1) self.Transform_1.set_Transform(5) self.Transform_1.set_createSet("FALSE") self.Transform_1.set_scaling_factor(self.scale) self.outputDirFrame.setEnabled(False) self.startConversionFrame.setEnabled(False) self.settingsFrame.setEnabled(False) #self.statusText.clear() text = "\nStarting Conversion in %s..." % (self.outputFilePath) self.statusText.append(text) QtWidgets.QApplication.processEvents() self.startConversionOf3DParts() self.startConversionOf2DParts() QtWidgets.QApplication.processEvents() CoviseMsgLoop().unregister(self.aPartsCollectorAction) CoviseMsgLoop().unregister(self.aErrorLogAction) theNet.remove(self.ReadEnsight_1) text = "\nWriting cocase to file..." self.statusText.append(text) pickleFile = self.outputFilePath + self.cocasename + '.cocase' counter = 0 while os.path.isfile(pickleFile): text = "! A file named %s is already available ... trying a new name" % ( pickleFile) self.statusText.append(text) QtWidgets.QApplication.processEvents() counter = counter + 1 pickleFile = self.outputFilePath + self.cocasename + "_" + str( counter) output = open(pickleFile, 'wb') pickle.dump(self.cocase, output) output.close() text = "cocasefile written to %s\n" % (pickleFile, ) self.statusText.append(text) QtWidgets.QApplication.processEvents() text = "\nConversion finished!" self.statusText.append(text) def startConversionOf3DParts(self): for partid in self.aPartsCollectorAction.getRefNameDict3dParts().keys( ): #if int(partid) >= int(self.comboStartId.getCurrentIndex()): # get partname partname = self.aPartsCollectorAction.getRefNameDict3dParts( )[partid] text = "\nConverting grid of part %s please be patient..." % ( partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() # connect modules if self.scale != 1: theNet.connect(self.ReadEnsight_1, "geoOut_3D", self.Transform_1, "geo_in") theNet.connect(self.Transform_1, "geo_out", self.RWCovise_1, "mesh_in") else: theNet.connect(self.ReadEnsight_1, "geoOut_3D", self.RWCovise_1, "mesh_in") # select part self.ReadEnsight_1.set_choose_parts(str(partid)) # clean partname if "/" in partname: text = "! Removing the / in partname = %s\n" % (partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() partname = partname.replace("/", "") # create RW Covise name covisename = self.outputFilePath + partname + "-3D.covise" # check if file is already available #print "rwcovisename=", covisename counter = 0 while os.path.isfile(covisename): text = "! A file named %s is already available ... trying a new name" % ( covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() counter = counter + 1 covisename = self.outputFilePath + partname + str( counter) + "-3D.covise" QtWidgets.QApplication.processEvents() self.RWCovise_1.set_grid_path(covisename) QtWidgets.QApplication.processEvents() # execute self.ReadEnsight_1.execute() theNet.finishedBarrier() #theNet.save( "grid.net" ) # write logfile text = "Converted grid of part %s to covise file %s" % (partname, covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() # create cocase item item3D = CoviseCaseFileItem(partname, GEOMETRY_3D, os.path.basename(covisename)) # disconnect modules if self.scale != 1: theNet.disconnect(self.ReadEnsight_1, "geoOut_3D", self.Transform_1, "geo_in") theNet.disconnect(self.Transform_1, "geo_out", self.RWCovise_1, "mesh_in") else: theNet.disconnect(self.ReadEnsight_1, "geoOut_3D", self.RWCovise_1, "mesh_in") QtWidgets.QApplication.processEvents() # scalar variables # connect modules if self.scale != 1: theNet.connect(self.ReadEnsight_1, "geoOut_3D", self.Transform_1, "geo_in") theNet.connect(self.ReadEnsight_1, "sdata1_3D", self.Transform_1, "data_in0") theNet.connect(self.Transform_1, "data_out0", self.RWCovise_1, "mesh_in") else: theNet.connect(self.ReadEnsight_1, "sdata1_3D", self.RWCovise_1, "mesh_in") # loop over scalar variables choice = 1 for svar in self.scalarVariables3D: text = "\nConverting scalar variable %s of part %s, please be patient..." % ( svar, partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() # select variable choice += 1 self.ReadEnsight_1.set_data_for_sdata1_3D(choice) # clean variablename if "/" in svar: text = "! Removing the / in svar = %s\n" % (svar, ) statusText.append(text) QtWidgets.QApplication.processEvents() svar = svar.replace("/", "") # create RWCovise name covisename = self.outputFilePath + partname + "-" + svar + "-3D.covise" # check if file is already available counter = 0 while os.path.isfile(covisename): text = "! A file named %s is already available ... trying a new name" % ( covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() counter = counter + 1 covisename = self.outputFilePath + partname + str( counter) + "-" + svar + "-3D.covise" self.RWCovise_1.set_grid_path(covisename) QtWidgets.QApplication.processEvents() # execute self.ReadEnsight_1.execute() theNet.finishedBarrier() # write logfile text = "Converted scalar variable %s of part %s to file %s" % ( svar, partname, covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() # add variable to cacase item item3D.addVariableAndFilename(svar, covisename, SCALARVARIABLE) #theNet.save( "scalar.net" ) # disconnect modules if self.scale != 1: theNet.disconnect(self.ReadEnsight_1, "geoOut_3D", self.Transform_1, "geo_in") theNet.disconnect(self.ReadEnsight_1, "sdata1_3D", self.Transform_1, "data_in0") theNet.disconnect(self.Transform_1, "data_out0", self.RWCovise_1, "mesh_in") else: theNet.disconnect(self.ReadEnsight_1, "sdata1_3D", self.RWCovise_1, "mesh_in") QtWidgets.QApplication.processEvents() # vector variables # connect modules if self.scale != 1: theNet.connect(self.ReadEnsight_1, "geoOut_3D", self.Transform_1, "geo_in") theNet.connect(self.ReadEnsight_1, "vdata1_3D", self.Transform_1, "data_in0") theNet.connect(self.Transform_1, "data_out0", self.RWCovise_1, "mesh_in") else: theNet.connect(self.ReadEnsight_1, "vdata1_3D", self.RWCovise_1, "mesh_in") # loop over variables choice = 1 for vvar in self.vectorVariables3D: text = "\nConverting vector variable %s of part %s, please be patient..." % ( vvar, partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() # select variable choice += 1 self.ReadEnsight_1.set_data_for_vdata1_3D(choice) # clean variablename if "/" in vvar: text = "! Removing the / in vvar = %s\n" % (vvar, ) self.statusText.append(text) QtWidgets.QApplication.processEvents() partname = partname.replace("/", "") # create covisename covisename = self.outputFilePath + partname + "-" + vvar + "-3D.covise" # check if file is already available counter = 0 while os.path.isfile(covisename): text = "! A file named %s is already available trying a new name" % ( covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() counter = counter + 1 covisename = self.outputFilePath + partname + str( counter) + "-" + vvar + "-3D.covise" self.RWCovise_1.set_grid_path(covisename) # execute self.ReadEnsight_1.execute() theNet.finishedBarrier() # write logfile text = "Converted vector variable%s of part %s to file %s" % ( vvar, partname, covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() # add variable to cocase item item3D.addVariableAndFilename(vvar, covisename, VECTOR3DVARIABLE) # disconnect modules if self.scale != 1: theNet.disconnect(self.ReadEnsight_1, "geoOut_3D", self.Transform_1, "geo_in") theNet.disconnect(self.ReadEnsight_1, "vdata1_3D", self.Transform_1, "data_in0") theNet.disconnect(self.Transform_1, "data_out0", self.RWCovise_1, "mesh_in") else: theNet.disconnect(self.ReadEnsight_1, "vdata1_3D", self.RWCovise_1, "mesh_in") # add the cocase item to the case file self.cocase.add(item3D) QtWidgets.QApplication.processEvents() def startConversionOf2DParts(self): #print "__________START 2D---------" for partid in self.aPartsCollectorAction.getRefNameDict2dParts().keys( ): partname = self.aPartsCollectorAction.getRefNameDict2dParts( )[partid] # write logfile text = "\nConverting surface of part %s, please be patient..." % ( partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() # connect modules if self.scale != 1: theNet.connect(self.ReadEnsight_1, "geoOut_2D", self.Transform_1, "geo_in") theNet.connect(self.Transform_1, "geo_out", self.RWCovise_1, "mesh_in") else: theNet.connect(self.ReadEnsight_1, "geoOut_2D", self.RWCovise_1, "mesh_in") # select part self.ReadEnsight_1.set_choose_parts(str(partid)) # clean partname if "/" in partname: text = "! Removing the / in partname = %s\n" % (partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() partname = partname.replace("/", "") # create RWCovise name covisename = self.outputFilePath + partname + "-2D.covise" counter = 0 while os.path.isfile(covisename): text = "! A file named %s is already available trying a new name" % ( covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() counter = counter + 1 covisename = self.outputFilePath + partname + str( counter) + "-2D.covise" self.RWCovise_1.set_grid_path(covisename) # execute self.ReadEnsight_1.execute() theNet.finishedBarrier() # write logfile text = "Converted surface of part %s to file %s" % (partname, covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() # create cocase item item2D = CoviseCaseFileItem(partname, GEOMETRY_2D, os.path.basename(covisename)) # disconnect the modules if self.scale != 1: theNet.disconnect(self.ReadEnsight_1, "geoOut_2D", self.Transform_1, "geo_in") theNet.disconnect(self.Transform_1, "geo_out", self.RWCovise_1, "mesh_in") else: theNet.disconnect(self.ReadEnsight_1, "geoOut_2D", self.RWCovise_1, "mesh_in") # # scalar variables # # connect modules if self.scale != 1: theNet.connect(self.ReadEnsight_1, "geoOut_2D", self.Transform_1, "geo_in") theNet.connect(self.ReadEnsight_1, "sdata1_2D", self.Transform_1, "data_in0") theNet.connect(self.Transform_1, "data_out0", self.RWCovise_1, "mesh_in") else: theNet.connect(self.ReadEnsight_1, "sdata1_2D", self.RWCovise_1, "mesh_in") choice = 1 for svar in self.scalarVariables2D: # select variable choice += 1 text = "\nConverting scalar variable %s of part %s, please be patient..." % ( svar, partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() self.ReadEnsight_1.set_data_for_sdata1_2D(choice) # clean variablename if "/" in partname: text = "! Removing the / in partname = %s\n" % (partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() partname = partname.replace("/", "") # create RWCovise name covisename = self.outputFilePath + partname + "-" + svar + "-2D.covise" counter = 0 while os.path.isfile(covisename): text = "! A file named %s is already available ... trying a new name" % ( covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() counter = counter + 1 covisename = self.outputFilePath + partname + str( counter) + "-" + svar + "-2D.covise" self.RWCovise_1.set_grid_path(covisename) # execute self.ReadEnsight_1.execute() theNet.finishedBarrier() # write logfile text = "Converted scalar variable %s of part %s to file %s" % ( svar, partname, covisename, ) self.statusText.append(text) QtWidgets.QApplication.processEvents() # add variable to cicase item item2D.addVariableAndFilename(svar, covisename, SCALARVARIABLE) # print memory usage of module #os.system('ps aux | grep ReadEnsight_1') # disconnect modules if self.scale != 1: theNet.disconnect(self.ReadEnsight_1, "geoOut_2D", self.Transform_1, "geo_in") theNet.disconnect(self.ReadEnsight_1, "sdata1_2D", self.Transform_1, "data_in0") theNet.disconnect(self.Transform_1, "data_out0", self.RWCovise_1, "mesh_in") else: theNet.disconnect(self.ReadEnsight_1, "sdata1_2D", self.RWCovise_1, "mesh_in") # vector variables # connect modules if self.scale != 1: theNet.connect(self.ReadEnsight_1, "geoOut_2D", self.Transform_1, "geo_in") theNet.connect(self.ReadEnsight_1, "vdata1_2D", self.Transform_1, "data_in0") theNet.connect(self.Transform_1, "data_out0", self.RWCovise_1, "mesh_in") else: theNet.connect(self.ReadEnsight_1, "vdata1_2D", self.RWCovise_1, "mesh_in") choice = 1 for vvar in self.vectorVariables2D: # select variable choice += 1 text = "\nConverting vector variable %s of part %s, please be patient..." % ( vvar, partname) self.statusText.append(text) QtWidgets.QApplication.processEvents() self.ReadEnsight_1.set_data_for_vdata1_2D(choice) # clean partname if "/" in partname: text = "! Removing the / in partname = %s\n" % (partname, ) self.statusText.append(text) QtWidgets.QApplication.processEvents() partname = partname.replace("/", "") # create RWCovise name covisename = self.outputFilePath + partname + "-" + vvar + "-2D.covise" counter = 0 while os.path.isfile(covisename): text = "! A file named %s is already available ... trying a new name" % ( covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() counter = counter + 1 covisename = self.outputFilePath + partname + str( counter) + "-" + vvar + "-2D.covise" self.RWCovise_1.set_grid_path(covisename) # execute self.ReadEnsight_1.execute() theNet.finishedBarrier() # write logfile text = "Converted vector variable%s of part %s to file %s" % ( vvar, partname, covisename) self.statusText.append(text) QtWidgets.QApplication.processEvents() # add varibale to coscase item item2D.addVariableAndFilename(vvar, covisename, VECTOR3DVARIABLE) # disconnect modules if self.scale != 1: theNet.disconnect(self.ReadEnsight_1, "geoOut_2D", self.Transform_1, "geo_in") theNet.disconnect(self.ReadEnsight_1, "vdata1_2D", self.Transform_1, "data_in0") theNet.disconnect(self.Transform_1, "data_out0", self.RWCovise_1, "mesh_in") else: theNet.disconnect(self.ReadEnsight_1, "vdata1_2D", self.RWCovise_1, "mesh_in") # add the cocase item to the case file self.cocase.add(item2D)