X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FTools%2FblocFissure%2Fgmu%2FcasStandard.py;h=52cd10547128ea7937779d44b8872d93dcf81c6f;hp=45c8a30bf46755fac1f85d021aa05e6ed1f4094e;hb=591a1c9862203ee0d8358b33e2fa2c14459f185b;hpb=dc3c466f6bc0c6c867eb7dee7e60de3fd7d3dbd8 diff --git a/src/Tools/blocFissure/gmu/casStandard.py b/src/Tools/blocFissure/gmu/casStandard.py index 45c8a30bf..52cd10547 100644 --- a/src/Tools/blocFissure/gmu/casStandard.py +++ b/src/Tools/blocFissure/gmu/casStandard.py @@ -17,6 +17,7 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # +"""Cas standard""" import os from .geomsmesh import geompy, smesh @@ -28,9 +29,6 @@ import math import GEOM import SALOMEDS import SMESH -#import StdMeshers -#import GHS3DPlugin -#import NETGENPlugin import logging from .fissureGenerique import fissureGenerique @@ -44,13 +42,14 @@ from .construitFissureGenerale import construitFissureGenerale O, OX, OY, OZ = triedreBase() class casStandard(fissureGenerique): - """ - problème de fissure standard, défini par : + """problème de fissure standard, défini par : + - un maillage sain (hexaèdres), - une face géométrique de fissure, qui doit légèrement dépasser hors du volume maillé - les numéros d'arêtes (edges géométriques) correspondant au fond de fissure - les paramètres de maillage de la fissure """ + referencesMaillageFissure = None # --------------------------------------------------------------------------- def __init__ (self, dicoParams, references = None, numeroCas = 0): @@ -66,7 +65,7 @@ class casStandard(fissureGenerique): if 'reptrav' in self.dicoParams: self.reptrav = self.dicoParams['reptrav'] else: - self.reptrav = '.' + self.reptrav = os.curdir self.numeroCas = numeroCas if self.numeroCas != 0: self.nomCas = self.nomProbleme +"_%d"%(self.numeroCas) @@ -122,20 +121,26 @@ class casStandard(fissureGenerique): lgInfluence = shapeFissureParams['lgInfluence'] - cao_file = self.dicoParams['brepFaceFissure'] +# Contrôle de 'brepFaceFissure' pour les anciennes versions + if ( 'brepFaceFissure' in self.dicoParams ): + self.dicoParams['CAOFaceFissure'] = self.dicoParams['brepFaceFissure'] + cao_file = self.dicoParams['CAOFaceFissure'] suffix = os.path.basename(cao_file).split(".")[-1] if ( suffix.upper() == "BREP" ): shellFiss = geompy.ImportBREP(cao_file) elif ( suffix.upper() == "XAO" ): (_, shellFiss, _, l_groups, _) = geompy.ImportXAO(cao_file) fondFiss = geompy.CreateGroup(shellFiss, geompy.ShapeType["EDGE"]) - if isinstance(self.dicoParams['edgeFissIds'][0],int): - geompy.UnionIDs(fondFiss, self.dicoParams['edgeFissIds'] ) +# Contrôle de 'edgeFissIds' pour les anciennes versions + if ( 'edgeFissIds' in self.dicoParams ): + self.dicoParams['edgeFiss'] = self.dicoParams['edgeFissIds'] + if isinstance(self.dicoParams['edgeFiss'][0],int): + geompy.UnionIDs(fondFiss, self.dicoParams['edgeFiss'] ) else: l_groups = geompy.GetGroups(shellFiss) l_aux = list() for group in l_groups: - if ( group.GetName() in self.dicoParams['edgeFissIds'] ): + if ( group.GetName() in self.dicoParams['edgeFiss'] ): l_aux.append(group) geompy.UnionList(fondFiss, l_aux ) geomPublish(initLog.debug, shellFiss, 'shellFiss' ) @@ -176,11 +181,13 @@ class casStandard(fissureGenerique): if self.references is not None: self.referencesMaillageFissure = self.references else: - self.referencesMaillageFissure = dict(Entity_Quad_Pyramid = 0, - Entity_Quad_Triangle = 0, - Entity_Quad_Edge = 0, - Entity_Quad_Penta = 0, - Entity_Quad_Hexa = 0, - Entity_Node = 0, - Entity_Quad_Tetra = 0, - Entity_Quad_Quadrangle = 0) + self.referencesMaillageFissure = dict( \ + Entity_Quad_Quadrangle = 0, \ + Entity_Quad_Hexa = 0, \ + Entity_Node = 0, \ + Entity_Quad_Edge = 0, \ + Entity_Quad_Triangle = 0, \ + Entity_Quad_Tetra = 0, \ + Entity_Quad_Pyramid = 0, \ + Entity_Quad_Penta = 0 \ + )