X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FTools%2FblocFissure%2Fihm%2FfissureCoude_plugin.py;h=a1d3f417f3fdbd31681b3440244a3f346ffd59e9;hp=9771d6c3cf634d12c4ca5fa5cadbbdd6a867985f;hb=591a1c9862203ee0d8358b33e2fa2c14459f185b;hpb=5d68554076bbca0e1e95fb0db215a6c2b84b6c54 diff --git a/src/Tools/blocFissure/ihm/fissureCoude_plugin.py b/src/Tools/blocFissure/ihm/fissureCoude_plugin.py index 9771d6c3c..a1d3f417f 100644 --- a/src/Tools/blocFissure/ihm/fissureCoude_plugin.py +++ b/src/Tools/blocFissure/ihm/fissureCoude_plugin.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (C) 2006-2014 EDF R&D +# Copyright (C) 2006-2020 EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -22,48 +22,37 @@ # if you already have plugins defined in a salome_plugins.py file, add this file at the end. # if not, copy this file as ${HOME}/Plugins/smesh_plugins.py or ${APPLI}/Plugins/smesh_plugins.py -import sys, traceback +import os import math -from blocFissure import gmu -from blocFissure.gmu import initLog -#initLog.setDebug() -initLog.setVerbose() +import sys +import traceback -from blocFissure.gmu import geomsmesh -from blocFissure.casStandard import casStandard +from blocFissure import gmu -from blocFissure.ihm.fissureCoude_ihm import fissureCoude_ihm def fissureCoudeDlg(context): - # get context study, studyId, salomeGui + # get context study, salomeGui study = context.study - studyId = context.studyId sg = context.sg - - import os + #import subprocess #import tempfile - from PyQt4 import QtCore - from PyQt4 import QtGui - from PyQt4.QtGui import QFileDialog - from PyQt4.QtGui import QMessageBox - from PyQt4.QtGui import QPalette - from PyQt4.QtGui import QColor - from fissureCoude_ui import Ui_Dialog - - class fissureCoudeDialog(QtGui.QDialog): - + from qtsalome import QFileDialog, QMessageBox, QPalette, QColor, QDialog + from blocFissure.ihm.fissureCoude_ui import Ui_Dialog + + class fissureCoudeDialog(QDialog): + def __init__(self): - QtGui.QDialog.__init__(self) + QDialog.__init__(self) # Set up the user interface from Designer. self.ui = Ui_Dialog() self.ui.setupUi(self) - + self.blackPalette = self.ui.dsb_angle.palette() self.redPalette = QPalette() self.redPalette.setColor(QPalette.Text, QColor(255,0,0)) self.NOK = False - + self.initDefaut() self.initDialog(self.defaut) self.ui.dsb_angle.setSpecialValueText("saisie_obligatoire") @@ -84,52 +73,47 @@ def fissureCoudeDlg(context): self.ui.dsb_aretesFaceFissure.setSpecialValueText("automatique") self.ui.dsb_influence.setSpecialValueText("automatique") self.ui.lb_calcul.hide() - + # Connect up the buttons. - self.connect(self.ui.pb_valPrec, QtCore.SIGNAL("clicked()"), - self.readValPrec) - self.connect(self.ui.pb_reset, QtCore.SIGNAL("clicked()"), - self.resetVal) - self.connect(self.ui.pb_recharger, QtCore.SIGNAL("clicked()"), - self.recharger) - self.connect(self.ui.pb_sauver, QtCore.SIGNAL("clicked()"), - self.sauver) - self.disconnect(self.ui.buttonBox, QtCore.SIGNAL("accepted()"), self.accept) - self.connect(self.ui.buttonBox, QtCore.SIGNAL("accepted()"), - self.execute) - + self.ui.pb_valPrec.clicked.connect(self.readValPrec) + self.ui.pb_reset.clicked.connect(self.resetVal) + self.ui.pb_recharger.clicked.connect(self.recharger) + self.ui.pb_sauver.clicked.connect(self.sauver) + self.ui.buttonBox.accepted.disconnect(self.accept) + self.ui.buttonBox.accepted.connect(self.execute) + def initDefaut(self): - self.defaut = dict( - angle = -181.0, - rCintr = 0.0, - lTubeP1 = 0.0, - lTubeP2 = 0.0, - epais = 0.0, - dext = 0.0, - profondeur = 0.0, - longueur = 0.0, - azimut = -181.0, - orientation = -1.0, - posiAngul = -181.0, - absCurv = 0.0, - nbTranches = 7, - nbCouronnes = 1, - nbSecteurs = 3, - cbOptDiscrSain = False, - cbOptDiscrFiss = False, - rbPosiAngul = True, - rbFissExt = True, - cbForceEllipse = False, - nbAxeTubeP1 = 15, - nbAxeTubeP2 = 15, - nbAxeCoude = 10, - nbCirconf = 20, - nbEpaisseur = 3, - rayonTore = 2.0, - aretesFaceFissure = 0.0, - influence = 0.0, + self.defaut = dict( \ + angle = -181.0, \ + rCintr = 0.0, \ + lTubeP1 = 0.0, \ + lTubeP2 = 0.0, \ + epais = 0.0, \ + dext = 0.0, \ + profondeur = 0.0, \ + longueur = 0.0, \ + azimut = -181.0, \ + orientation = -1.0, \ + posiAngul = -181.0, \ + absCurv = 0.0, \ + nbTranches = 7, \ + nbCouronnes = 1, \ + nbSecteurs = 3, \ + cbOptDiscrSain = False, \ + cbOptDiscrFiss = False, \ + rbPosiAngul = True, \ + rbFissExt = True, \ + cbForceEllipse = False, \ + nbAxeTubeP1 = 15, \ + nbAxeTubeP2 = 15, \ + nbAxeCoude = 10, \ + nbCirconf = 20, \ + nbEpaisseur = 3, \ + rayonTore = 2.0, \ + aretesFaceFissure = 0.0, \ + influence = 0.0, \ ) - + def initDialog(self, dico): self.ui.dsb_angle.setValue(dico['angle']) self.ui.dsb_rCintr.setValue(dico['rCintr']) @@ -174,7 +158,7 @@ def fissureCoudeDlg(context): self.ui.cb_forceEllipse.setChecked(dico['cbForceEllipse']) incomplet = self.testval(dico) pass - + def testval(self, dico): incomplet = False if dico['angle'] < -180.0: @@ -182,120 +166,119 @@ def fissureCoudeDlg(context): incomplet = True else: self.ui.dsb_angle.setPalette(self.blackPalette) - + if dico['rCintr'] == 0.0: self.ui.dsb_rCintr.setPalette(self.redPalette) incomplet = True else: self.ui.dsb_rCintr.setPalette(self.blackPalette) - - if dico['lTubeP1'] == 0.0: + + if dico['lTubeP1'] == 0.0: self.ui.dsb_lTubeP1.setPalette(self.redPalette) incomplet = True else: self.ui.dsb_lTubeP1.setPalette(self.blackPalette) - - if dico['lTubeP2'] == 0.0: + + if dico['lTubeP2'] == 0.0: self.ui.dsb_lTubeP2.setPalette(self.redPalette) incomplet = True else: self.ui.dsb_lTubeP2.setPalette(self.blackPalette) - - if dico['epais'] == 0.0: + + if dico['epais'] == 0.0: self.ui.dsb_epais.setPalette(self.redPalette) incomplet = True else: self.ui.dsb_epais.setPalette(self.blackPalette) - - if dico['dext'] == 0.0: + + if dico['dext'] == 0.0: self.ui.dsb_dext.setPalette(self.redPalette) incomplet = True else: self.ui.dsb_dext.setPalette(self.blackPalette) - - if dico['profondeur'] == 0.0: + + if dico['profondeur'] == 0.0: self.ui.dsb_profondeur.setPalette(self.redPalette) incomplet = True else: self.ui.dsb_profondeur.setPalette(self.blackPalette) - - if dico['longueur'] == 0.0: + + if dico['longueur'] == 0.0: self.ui.dsb_longueur.setPalette(self.redPalette) incomplet = True else: self.ui.dsb_longueur.setPalette(self.blackPalette) - - if dico['azimut'] < -180.0: + + if dico['azimut'] < -180.0: self.ui.dsb_azimut.setPalette(self.redPalette) incomplet = True else: self.ui.dsb_azimut.setPalette(self.blackPalette) - - if dico['orientation'] < 0.0: + + if dico['orientation'] < 0.0: self.ui.dsb_orientation.setPalette(self.redPalette) incomplet = True else: self.ui.dsb_orientation.setPalette(self.blackPalette) - - if dico['posiAngul'] < -180.0 and dico['rbPosiAngul'] == True: + + if ( ( dico['posiAngul'] < -180.0 ) and dico['rbPosiAngul'] ): self.ui.dsb_posiAngul.setPalette(self.redPalette) incomplet = True else: self.ui.dsb_posiAngul.setPalette(self.blackPalette) - - if dico['absCurv'] == 0.0 and dico['rbPosiAngul'] == False: + + if ( ( dico['absCurv'] == 0.0 ) and ( not dico['rbPosiAngul'] ) ): self.ui.dsb_absCurv.setPalette(self.redPalette) incomplet = True else: self.ui.dsb_absCurv.setPalette(self.blackPalette) - - if dico['nbTranches'] == 7: + + if dico['nbTranches'] == 7: self.ui.sb_nbTranches.setPalette(self.redPalette) incomplet = True else: self.ui.sb_nbTranches.setPalette(self.blackPalette) - - if dico['nbCouronnes'] == 1: + + if dico['nbCouronnes'] == 1: self.ui.sb_nbCouronne.setPalette(self.redPalette) incomplet = True else: self.ui.sb_nbCouronne.setPalette(self.blackPalette) - - if dico['nbSecteurs'] == 3: + + if dico['nbSecteurs'] == 3: self.ui.sb_nbSecteur.setPalette(self.redPalette) incomplet = True else: self.ui.sb_nbSecteur.setPalette(self.blackPalette) - - print "incomplet: ", incomplet + + print("incomplet: ", incomplet) return incomplet - + def fileDefault(self): - filedef = os.path.expanduser("~/.config/salome/dialogFissureCoude.dic") - print filedef + filedef = os.path.expanduser( os.path.join(os.environ["HOME"],".config", "salome", "dialogFissureCoude.dic") ) + print(filedef) return filedef - + def writeDefault(self, dico): filedef = self.fileDefault() - f = open(filedef, 'w') - f.write(str(dico)) - f.close() - + with open(filedef, 'w') as f: + f.write(str(dico)) + def readValPrec(self): filedef = self.fileDefault() if os.path.exists(filedef): - f = open(filedef, 'r') - txt = f.read() + with open(filedef, 'r') as f: + txt = f.read() dico = eval(txt) - print dico + print(dico) self.initDialog(dico) def resetVal(self): #self.initDefaut() self.initDialog(self.defaut) - + def sauver(self): - print "sauver" + print("sauver") fileDiag = QFileDialog(self) fileDiag.setFileMode(QFileDialog.AnyFile) fileDiag.setNameFilter("Parametres *.dic (*.dic)") @@ -304,12 +287,11 @@ def fissureCoudeDlg(context): fileNames = fileDiag.selectedFiles() filedef = fileNames[0] dico = self.creeDico() - f = open(filedef, 'w') - f.write(str(dico)) - f.close() - + with open(filedef, 'w') as f: + f.write(str(dico)) + def recharger(self): - print "recharger" + print("recharger") fileDiag = QFileDialog(self) fileDiag.setFileMode(QFileDialog.ExistingFile) fileDiag.setNameFilter("Parametres *.dic (*.dic)") @@ -317,77 +299,84 @@ def fissureCoudeDlg(context): if fileDiag.exec_() : fileNames = fileDiag.selectedFiles() filedef = fileNames[0] - print filedef + print(filedef) if os.path.exists(filedef): - f = open(filedef, 'r') - txt = f.read() + with open(filedef, 'r') as f: + txt = f.read() dico = eval(txt) - print dico + print(dico) self.initDialog(dico) - + def creeDico(self): - dico = dict( - angle = self.ui.dsb_angle.value(), - rCintr = self.ui.dsb_rCintr.value(), - lTubeP1 = self.ui.dsb_lTubeP1.value(), - lTubeP2 = self.ui.dsb_lTubeP2.value(), - epais = self.ui.dsb_epais.value(), - dext = self.ui.dsb_dext.value(), - profondeur = self.ui.dsb_profondeur.value(), - longueur = self.ui.dsb_longueur.value(), - azimut = self.ui.dsb_azimut.value(), - orientation = self.ui.dsb_orientation.value(), - posiAngul = self.ui.dsb_posiAngul.value(), - absCurv = self.ui.dsb_absCurv.value(), - nbTranches = self.ui.sb_nbTranches.value(), - nbCouronnes = self.ui.sb_nbCouronne.value(), - nbSecteurs = self.ui.sb_nbSecteur.value(), - cbOptDiscrSain = self.ui.cb_optDiscrSain.isChecked(), - cbOptDiscrFiss = self.ui.cb_optDiscrFiss.isChecked(), - rbPosiAngul = self.ui.rb_posiAngul.isChecked(), - rbFissExt = self.ui.rb_fissExt.isChecked(), - cbForceEllipse = self.ui.cb_forceEllipse.isChecked(), - nbAxeTubeP1 = self.ui.sb_nbAxeTubeP1.value(), - nbAxeTubeP2 = self.ui.sb_nbAxeTubeP2.value(), - nbAxeCoude = self.ui.sb_nbAxeCoude.value(), - nbCirconf = self.ui.sb_nbCirconf.value(), - nbEpaisseur = self.ui.sb_nbEpaisseur.value(), - rayonTore = self.ui.dsb_rayonTore.value(), - aretesFaceFissure = self.ui.dsb_aretesFaceFissure.value(), - influence = self.ui.dsb_influence.value(), + dico = dict( \ + angle = self.ui.dsb_angle.value(), \ + rCintr = self.ui.dsb_rCintr.value(), \ + lTubeP1 = self.ui.dsb_lTubeP1.value(), \ + lTubeP2 = self.ui.dsb_lTubeP2.value(), \ + epais = self.ui.dsb_epais.value(), \ + dext = self.ui.dsb_dext.value(), \ + profondeur = self.ui.dsb_profondeur.value(), \ + longueur = self.ui.dsb_longueur.value(), \ + azimut = self.ui.dsb_azimut.value(), \ + orientation = self.ui.dsb_orientation.value(), \ + posiAngul = self.ui.dsb_posiAngul.value(), \ + absCurv = self.ui.dsb_absCurv.value(), \ + nbTranches = self.ui.sb_nbTranches.value(), \ + nbCouronnes = self.ui.sb_nbCouronne.value(), \ + nbSecteurs = self.ui.sb_nbSecteur.value(), \ + cbOptDiscrSain = self.ui.cb_optDiscrSain.isChecked(), \ + cbOptDiscrFiss = self.ui.cb_optDiscrFiss.isChecked(), \ + rbPosiAngul = self.ui.rb_posiAngul.isChecked(), \ + rbFissExt = self.ui.rb_fissExt.isChecked(), \ + cbForceEllipse = self.ui.cb_forceEllipse.isChecked(), \ + nbAxeTubeP1 = self.ui.sb_nbAxeTubeP1.value(), \ + nbAxeTubeP2 = self.ui.sb_nbAxeTubeP2.value(), \ + nbAxeCoude = self.ui.sb_nbAxeCoude.value(), \ + nbCirconf = self.ui.sb_nbCirconf.value(), \ + nbEpaisseur = self.ui.sb_nbEpaisseur.value(), \ + rayonTore = self.ui.dsb_rayonTore.value(), \ + aretesFaceFissure = self.ui.dsb_aretesFaceFissure.value(), \ + influence = self.ui.dsb_influence.value(), \ ) - print dico + print(dico) return dico - + def checkValues(self): return self.NOK def execute(self): + from blocFissure.gmu import initLog + #initLog.setDebug() + initLog.setVerbose() # don't set the level too early, to be able to modify it + from blocFissure.gmu import geomsmesh + from blocFissure.gmu.casStandard import casStandard + from blocFissure.ihm.fissureCoude_ihm import fissureCoude_ihm + dico = self.creeDico() NOK = self.testval(dico) if not(NOK): dico['lenSegPipe'] = (dico['longueur'] + math.pi*dico['profondeur'])/dico['nbTranches'] - print 'lenSegPipe', dico['lenSegPipe'] + print('lenSegPipe', dico['lenSegPipe']) areteMinAngle = (dico['rCintr'] -dico['dext']/2.0)*(dico['angle']*math.pi/180.0)/dico['nbAxeCoude'] - print'areteMinAngle', areteMinAngle + print('areteMinAngle', areteMinAngle) areteMinCirco = dico['dext']*math.pi/(2*dico['nbCirconf']) - print'areteMinCirco', areteMinCirco + print('areteMinCirco', areteMinCirco) areteMinEpais = dico['epais']/dico['nbEpaisseur'] - print'areteMinEpais', areteMinEpais + print('areteMinEpais', areteMinEpais) if dico['influence'] == 0: dico['influence'] = max(areteMinAngle, areteMinCirco, areteMinEpais) - print 'influence', dico['influence'] + print('influence', dico['influence']) if dico['aretesFaceFissure'] == 0: dico['aretesFaceFissure'] = (areteMinAngle + areteMinCirco)/2.0 - print 'aretesFaceFissure', dico['aretesFaceFissure'] - if dico['rbPosiAngul'] == False: + print('aretesFaceFissure', dico['aretesFaceFissure']) + if not dico['rbPosiAngul']: rmoy = (dico['dext'] - dico['epais'])/2.0 eta = 1 - if dico['rbFissExt'] == False: + if not dico['rbFissExt']: eta = -1 dico['posiAngul'] = (180.0/math.pi)*dico['absCurv']/(dico['rCintr']+(rmoy+eta*dico['epais']/2.0)*math.cos(math.pi*dico['azimut']/180.)) - print 'posiAngul' , dico['posiAngul'] - + print('posiAngul' , dico['posiAngul']) + self.writeDefault(dico) self.ui.lb_calcul.show() probleme = fissureCoude_ihm(0) @@ -395,11 +384,9 @@ def fissureCoudeDlg(context): probleme.executeProbleme() self.NOK = NOK self.accept() - - pass # ---------------------------------------------------------------------------- - + window = fissureCoudeDialog() # window.ui.dsb_tolerance.setValue(0.01) retry = True @@ -409,9 +396,8 @@ def fissureCoudeDlg(context): result = window.result() if result: # dialog accepted - print "dialog accepted, check" + print("dialog accepted, check") retry = window.checkValues() else: - print "dialog rejected, exit" - pass - + print("dialog rejected, exit") +