diff --git a/src/Tools/blocFissure/gmu/casStandard.py b/src/Tools/blocFissure/gmu/casStandard.py
index cffd6aac8..e52b70013 100644
--- a/src/Tools/blocFissure/gmu/casStandard.py
+++ b/src/Tools/blocFissure/gmu/casStandard.py
@@ -48,7 +48,7 @@ class casStandard(fissureGenerique):
if self.dicoParams.has_key('reptrav'):
self.reptrav = self.dicoParams['reptrav']
else:
- reptrav = '.'
+ self.reptrav = '.'
self.numeroCas = numeroCas
if self.numeroCas != 0:
self.nomCas = self.nomProbleme +"_%d"%(self.numeroCas)
@@ -62,6 +62,8 @@ class casStandard(fissureGenerique):
step = self.dicoParams['step']
else:
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
self.executeProbleme(step)
@@ -121,7 +123,8 @@ class casStandard(fissureGenerique):
nomFicFissure = self.nomCas,
nbsegRad = self.dicoParams['nbSegRad'],
nbsegCercle = self.dicoParams['nbSegCercle'],
- areteFaceFissure = self.dicoParams['areteFaceFissure'])
+ areteFaceFissure = self.dicoParams['areteFaceFissure'],
+ aretesVives = self.dicoParams['aretesVives'])
# ---------------------------------------------------------------------------
def genereZoneDefaut(self, geometriesSaines, maillagesSains, shapesFissure, shapeFissureParams, maillageFissureParams):
diff --git a/src/Tools/blocFissure/gmu/construitFissureGenerale.py b/src/Tools/blocFissure/gmu/construitFissureGenerale.py
index f75c2742b..c02c09803 100644
--- a/src/Tools/blocFissure/gmu/construitFissureGenerale.py
+++ b/src/Tools/blocFissure/gmu/construitFissureGenerale.py
@@ -81,6 +81,9 @@ def construitFissureGenerale(maillagesSains,
nbsegRad = maillageFissureParams['nbsegRad'] # nombre de couches selon un rayon du pipe
nbsegCercle = maillageFissureParams['nbsegCercle'] # nombre de secteur dans un cercle du pipe
areteFaceFissure = maillageFissureParams['areteFaceFissure']
+ lgAretesVives = 0
+ if maillageFissureParams.has_key('aretesVives'):
+ lgAretesVives = maillageFissureParams['aretesVives']
pointIn_x = 0.0
pointIn_y = 0.0
@@ -121,6 +124,9 @@ def construitFissureGenerale(maillagesSains,
#edgeFondExt = elementsDefaut[14]
centreFondFiss = elementsDefaut[15]
#tgtCentre = elementsDefaut[16]
+ if lgAretesVives == 0:
+ lgAretesVives = dmoyen
+
O, OX, OY, OZ = triedreBase()
@@ -246,7 +252,7 @@ def construitFissureGenerale(maillagesSains,
# --- 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
diff --git a/src/Tools/blocFissure/gmu/mailleAretesEtJonction.py b/src/Tools/blocFissure/gmu/mailleAretesEtJonction.py
index 179124308..e8f9d8197 100644
--- a/src/Tools/blocFissure/gmu/mailleAretesEtJonction.py
+++ b/src/Tools/blocFissure/gmu/mailleAretesEtJonction.py
@@ -8,7 +8,7 @@ import SMESH
from putName import putName
-def mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, dmoyen):
+def mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, lgAretesVives):
"""
edges de bord, faces défaut à respecter
"""
@@ -36,7 +36,7 @@ def mailleAretesEtJonction(internalBoundary, aretesVivesCoupees, dmoyen):
aretesVivesC = geompy.MakeCompound(aretesVivesCoupees)
meshAretesVives = smesh.Mesh(aretesVivesC)
algo1d = meshAretesVives.Segment()
- hypo1d = algo1d.LocalLength(dmoyen,[],1e-07)
+ hypo1d = algo1d.LocalLength(lgAretesVives,[],1e-07)
putName(algo1d.GetSubMesh(), "aretesVives")
putName(algo1d, "algo1d_aretesVives")
putName(hypo1d, "hypo1d_aretesVives")
diff --git a/src/Tools/blocFissure/ihm/fissureGenerale.ui b/src/Tools/blocFissure/ihm/fissureGenerale.ui
index 5a6d1f027..bdf1e36c1 100644
--- a/src/Tools/blocFissure/ihm/fissureGenerale.ui
+++ b/src/Tools/blocFissure/ihm/fissureGenerale.ui
@@ -6,8 +6,8 @@
0
0
- 666
- 589
+ 663
+ 624
@@ -416,24 +416,48 @@
-
-
-
- aretes face fissure
-
-
-
- -
-
-
- <html><head/><body><p>Faces externes de la zone à remailler.</p><p>Mailage en triangles : valeur cible des arêtes.</p></body></html>
-
-
- 5
-
-
- 1000000.000000000000000
-
-
+
+
-
+
+
+ triangles face fissure
+
+
+
+ -
+
+
+ <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>
+
+
+ 5
+
+
+ 1000000.000000000000000
+
+
+
+ -
+
+
+ aretes vives
+
+
+
+ -
+
+
+ <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>
+
+
+ 5
+
+
+ 100000.000000000000000
+
+
+
+
-
@@ -482,7 +506,7 @@
-
- <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>
+ <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>
diff --git a/src/Tools/blocFissure/ihm/fissureGenerale_plugin.py b/src/Tools/blocFissure/ihm/fissureGenerale_plugin.py
index e9645a8fe..89ac32c6e 100644
--- a/src/Tools/blocFissure/ihm/fissureGenerale_plugin.py
+++ b/src/Tools/blocFissure/ihm/fissureGenerale_plugin.py
@@ -98,6 +98,7 @@ def fissureGeneraleDlg(context):
nbSegRad = 5,
nbSegCercle = 32,
areteFaceFissure = 10,
+ areteVives = 0,
reptrav = '.',
nomres = 'casStandard_fissure.med',
verbosite = 0)
@@ -115,6 +116,10 @@ def fissureGeneraleDlg(context):
self.ui.sb_couronnes.setValue(dico['nbSegRad'])
self.ui.sb_secteurs.setValue(dico['nbSegCercle'])
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_nomres.setText(os.path.split(dico['nomres'])[1])
self.ui.cb_log.setCurrentIndex(dico['verbosite'])
@@ -324,6 +329,7 @@ def fissureGeneraleDlg(context):
nbSegRad = self.ui.sb_couronnes.value(),
nbSegCercle = self.ui.sb_secteurs.value(),
areteFaceFissure = self.ui.dsb_areteFaceFissure.value(),
+ aretesVives = self.ui.dsb_aretesVives.value(),
reptrav = str(self.ui.le_reptrav.text()),
nomres = str(self.ui.le_nomres.text()),
verbosite = self.ui.cb_log.currentIndex()