mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-27 20:40:32 +05:00
Plugin blocFissure, bug EDF 12976, regression on some tests, a first correction
This commit is contained in:
parent
bc95c31002
commit
c178a1a491
@ -48,7 +48,7 @@ class casStandard(fissureGenerique):
|
|||||||
if self.dicoParams.has_key('reptrav'):
|
if self.dicoParams.has_key('reptrav'):
|
||||||
self.reptrav = self.dicoParams['reptrav']
|
self.reptrav = self.dicoParams['reptrav']
|
||||||
else:
|
else:
|
||||||
reptrav = '.'
|
self.reptrav = '.'
|
||||||
self.numeroCas = numeroCas
|
self.numeroCas = numeroCas
|
||||||
if self.numeroCas != 0:
|
if self.numeroCas != 0:
|
||||||
self.nomCas = self.nomProbleme +"_%d"%(self.numeroCas)
|
self.nomCas = self.nomProbleme +"_%d"%(self.numeroCas)
|
||||||
@ -62,6 +62,8 @@ class casStandard(fissureGenerique):
|
|||||||
step = self.dicoParams['step']
|
step = self.dicoParams['step']
|
||||||
else:
|
else:
|
||||||
step = -1 # exécuter toutes les étapes
|
step = -1 # exécuter toutes les étapes
|
||||||
|
if not self.dicoParams.has_key('aretesVives'):
|
||||||
|
self.dicoParams['aretesVives'] = 0
|
||||||
if self.numeroCas == 0: # valeur par défaut : exécution immédiate, sinon execution différée dans le cas d'une liste de problèmes
|
if self.numeroCas == 0: # valeur par défaut : exécution immédiate, sinon execution différée dans le cas d'une liste de problèmes
|
||||||
self.executeProbleme(step)
|
self.executeProbleme(step)
|
||||||
|
|
||||||
@ -121,7 +123,8 @@ class casStandard(fissureGenerique):
|
|||||||
nomFicFissure = self.nomCas,
|
nomFicFissure = self.nomCas,
|
||||||
nbsegRad = self.dicoParams['nbSegRad'],
|
nbsegRad = self.dicoParams['nbSegRad'],
|
||||||
nbsegCercle = self.dicoParams['nbSegCercle'],
|
nbsegCercle = self.dicoParams['nbSegCercle'],
|
||||||
areteFaceFissure = self.dicoParams['areteFaceFissure'])
|
areteFaceFissure = self.dicoParams['areteFaceFissure'],
|
||||||
|
aretesVives = self.dicoParams['aretesVives'])
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
def genereZoneDefaut(self, geometriesSaines, maillagesSains, shapesFissure, shapeFissureParams, maillageFissureParams):
|
def genereZoneDefaut(self, geometriesSaines, maillagesSains, shapesFissure, shapeFissureParams, maillageFissureParams):
|
||||||
|
@ -81,6 +81,9 @@ def construitFissureGenerale(maillagesSains,
|
|||||||
nbsegRad = maillageFissureParams['nbsegRad'] # nombre de couches selon un rayon du pipe
|
nbsegRad = maillageFissureParams['nbsegRad'] # nombre de couches selon un rayon du pipe
|
||||||
nbsegCercle = maillageFissureParams['nbsegCercle'] # nombre de secteur dans un cercle du pipe
|
nbsegCercle = maillageFissureParams['nbsegCercle'] # nombre de secteur dans un cercle du pipe
|
||||||
areteFaceFissure = maillageFissureParams['areteFaceFissure']
|
areteFaceFissure = maillageFissureParams['areteFaceFissure']
|
||||||
|
lgAretesVives = 0
|
||||||
|
if maillageFissureParams.has_key('aretesVives'):
|
||||||
|
lgAretesVives = maillageFissureParams['aretesVives']
|
||||||
|
|
||||||
pointIn_x = 0.0
|
pointIn_x = 0.0
|
||||||
pointIn_y = 0.0
|
pointIn_y = 0.0
|
||||||
@ -121,6 +124,9 @@ def construitFissureGenerale(maillagesSains,
|
|||||||
#edgeFondExt = elementsDefaut[14]
|
#edgeFondExt = elementsDefaut[14]
|
||||||
centreFondFiss = elementsDefaut[15]
|
centreFondFiss = elementsDefaut[15]
|
||||||
#tgtCentre = elementsDefaut[16]
|
#tgtCentre = elementsDefaut[16]
|
||||||
|
if lgAretesVives == 0:
|
||||||
|
lgAretesVives = dmoyen
|
||||||
|
|
||||||
|
|
||||||
O, OX, OY, OZ = triedreBase()
|
O, OX, OY, OZ = triedreBase()
|
||||||
|
|
||||||
@ -246,7 +252,7 @@ def construitFissureGenerale(maillagesSains,
|
|||||||
|
|
||||||
# --- edges de bord, faces défaut à respecter
|
# --- edges de bord, faces défaut à respecter
|
||||||
|
|
||||||
(internalBoundary, bordsLibres, grpAretesVives) = mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, dmoyen)
|
(internalBoundary, bordsLibres, grpAretesVives) = mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, lgAretesVives)
|
||||||
|
|
||||||
# --- maillage faces de fissure
|
# --- maillage faces de fissure
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ import SMESH
|
|||||||
|
|
||||||
from putName import putName
|
from putName import putName
|
||||||
|
|
||||||
def mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, dmoyen):
|
def mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, lgAretesVives):
|
||||||
"""
|
"""
|
||||||
edges de bord, faces défaut à respecter
|
edges de bord, faces défaut à respecter
|
||||||
"""
|
"""
|
||||||
@ -36,7 +36,7 @@ def mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, dmoyen):
|
|||||||
aretesVivesC = geompy.MakeCompound(aretesVivesCoupees)
|
aretesVivesC = geompy.MakeCompound(aretesVivesCoupees)
|
||||||
meshAretesVives = smesh.Mesh(aretesVivesC)
|
meshAretesVives = smesh.Mesh(aretesVivesC)
|
||||||
algo1d = meshAretesVives.Segment()
|
algo1d = meshAretesVives.Segment()
|
||||||
hypo1d = algo1d.LocalLength(dmoyen,[],1e-07)
|
hypo1d = algo1d.LocalLength(lgAretesVives,[],1e-07)
|
||||||
putName(algo1d.GetSubMesh(), "aretesVives")
|
putName(algo1d.GetSubMesh(), "aretesVives")
|
||||||
putName(algo1d, "algo1d_aretesVives")
|
putName(algo1d, "algo1d_aretesVives")
|
||||||
putName(hypo1d, "hypo1d_aretesVives")
|
putName(hypo1d, "hypo1d_aretesVives")
|
||||||
|
@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>666</width>
|
<width>663</width>
|
||||||
<height>589</height>
|
<height>624</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
@ -416,24 +416,48 @@
|
|||||||
</property>
|
</property>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_11">
|
<layout class="QHBoxLayout" name="horizontalLayout_11">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="label_9">
|
<layout class="QGridLayout" name="gridLayout_6">
|
||||||
<property name="text">
|
<item row="0" column="0">
|
||||||
<string>aretes face fissure</string>
|
<widget class="QLabel" name="label_9">
|
||||||
</property>
|
<property name="text">
|
||||||
</widget>
|
<string>triangles face fissure</string>
|
||||||
</item>
|
</property>
|
||||||
<item>
|
</widget>
|
||||||
<widget class="QDoubleSpinBox" name="dsb_areteFaceFissure">
|
</item>
|
||||||
<property name="toolTip">
|
<item row="0" column="1">
|
||||||
<string><html><head/><body><p>Faces externes de la zone à remailler.</p><p>Mailage en triangles : valeur cible des arêtes.</p></body></html></string>
|
<widget class="QDoubleSpinBox" name="dsb_areteFaceFissure">
|
||||||
</property>
|
<property name="toolTip">
|
||||||
<property name="decimals">
|
<string><html><head/><body><p>Faces externes de la zone à remailler.</p><p>Maillage en triangles : valeur cible des arêtes des triangles.</p></body></html></string>
|
||||||
<number>5</number>
|
</property>
|
||||||
</property>
|
<property name="decimals">
|
||||||
<property name="maximum">
|
<number>5</number>
|
||||||
<double>1000000.000000000000000</double>
|
</property>
|
||||||
</property>
|
<property name="maximum">
|
||||||
</widget>
|
<double>1000000.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_11">
|
||||||
|
<property name="text">
|
||||||
|
<string>aretes vives</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QDoubleSpinBox" name="dsb_aretesVives">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string><html><head/><body><p>Arêtes vives de la zone à remailler.</p><p>Longueur des segments sur ces arêtes.</p><p>Ce paramètre est <span style=" font-weight:600; font-style:italic; color:#2631c1;">optionnel</span> : laissé à 0,</p><p>il est est ajusté automatiquement.</p></body></html></string>
|
||||||
|
</property>
|
||||||
|
<property name="decimals">
|
||||||
|
<number>5</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>100000.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="horizontalSpacer_5">
|
<spacer name="horizontalSpacer_5">
|
||||||
@ -482,7 +506,7 @@
|
|||||||
<item row="1" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QLineEdit" name="le_nomres">
|
<widget class="QLineEdit" name="le_nomres">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string><html><head/><body><p>Nom des résultats.</p><p>Le fichier maillage résultat sera rangé dans le répertoire de travail, sous le nom fissure_<span style=" font-weight:600; font-style:italic; color:#0055ff;">Nom</span>.med</p><p><br/></p></body></html></string>
|
<string><html><head/><body><p>Nom des résultats.</p><p>Le fichier maillage résultat sera rangé dans le répertoire de travail, sous le nom <span style=" font-weight:600; font-style:italic; color:#0055ff;">Nom</span>.med</p><p><br/></p></body></html></string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -98,6 +98,7 @@ def fissureGeneraleDlg(context):
|
|||||||
nbSegRad = 5,
|
nbSegRad = 5,
|
||||||
nbSegCercle = 32,
|
nbSegCercle = 32,
|
||||||
areteFaceFissure = 10,
|
areteFaceFissure = 10,
|
||||||
|
areteVives = 0,
|
||||||
reptrav = '.',
|
reptrav = '.',
|
||||||
nomres = 'casStandard_fissure.med',
|
nomres = 'casStandard_fissure.med',
|
||||||
verbosite = 0)
|
verbosite = 0)
|
||||||
@ -115,6 +116,10 @@ def fissureGeneraleDlg(context):
|
|||||||
self.ui.sb_couronnes.setValue(dico['nbSegRad'])
|
self.ui.sb_couronnes.setValue(dico['nbSegRad'])
|
||||||
self.ui.sb_secteurs.setValue(dico['nbSegCercle'])
|
self.ui.sb_secteurs.setValue(dico['nbSegCercle'])
|
||||||
self.ui.dsb_areteFaceFissure.setValue(dico['areteFaceFissure'])
|
self.ui.dsb_areteFaceFissure.setValue(dico['areteFaceFissure'])
|
||||||
|
if dico.has_key('aretesVives'):
|
||||||
|
self.ui.dsb_aretesVives.setValue(dico['aretesVives'])
|
||||||
|
else:
|
||||||
|
self.ui.dsb_aretesVives.setValue(0)
|
||||||
self.ui.le_reptrav.setText(os.path.abspath(dico['reptrav']))
|
self.ui.le_reptrav.setText(os.path.abspath(dico['reptrav']))
|
||||||
self.ui.le_nomres.setText(os.path.split(dico['nomres'])[1])
|
self.ui.le_nomres.setText(os.path.split(dico['nomres'])[1])
|
||||||
self.ui.cb_log.setCurrentIndex(dico['verbosite'])
|
self.ui.cb_log.setCurrentIndex(dico['verbosite'])
|
||||||
@ -324,6 +329,7 @@ def fissureGeneraleDlg(context):
|
|||||||
nbSegRad = self.ui.sb_couronnes.value(),
|
nbSegRad = self.ui.sb_couronnes.value(),
|
||||||
nbSegCercle = self.ui.sb_secteurs.value(),
|
nbSegCercle = self.ui.sb_secteurs.value(),
|
||||||
areteFaceFissure = self.ui.dsb_areteFaceFissure.value(),
|
areteFaceFissure = self.ui.dsb_areteFaceFissure.value(),
|
||||||
|
aretesVives = self.ui.dsb_aretesVives.value(),
|
||||||
reptrav = str(self.ui.le_reptrav.text()),
|
reptrav = str(self.ui.le_reptrav.text()),
|
||||||
nomres = str(self.ui.le_nomres.text()),
|
nomres = str(self.ui.le_nomres.text()),
|
||||||
verbosite = self.ui.cb_log.currentIndex()
|
verbosite = self.ui.cb_log.currentIndex()
|
||||||
|
Loading…
Reference in New Issue
Block a user