mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-02-27 06:45:36 +05:00
47 lines
1.6 KiB
Python
47 lines
1.6 KiB
Python
![]() |
# -*- coding: utf-8 -*-
|
||
|
|
||
|
import logging
|
||
|
from geomsmesh import smesh
|
||
|
import SMESH
|
||
|
|
||
|
# -----------------------------------------------------------------------------
|
||
|
# --- peau interne du defaut dans le maillage sain
|
||
|
|
||
|
def peauInterne(fichierMaillage, nomZones):
|
||
|
"""
|
||
|
Retrouve les groupes de défaut dans le maillage sain modifié par CreateHoleSkin (CreeZoneDefautMaillage)
|
||
|
On récupère le volume et la peau de la zone de défaut, les éventuelles faces et arêtes internes de cette zone.
|
||
|
"""
|
||
|
logging.info("start")
|
||
|
([maillageSain], status) = smesh.CreateMeshesFromMED(fichierMaillage)
|
||
|
|
||
|
groups = maillageSain.GetGroups()
|
||
|
zoneDefaut = None
|
||
|
for grp in groups:
|
||
|
#print " ",grp.GetName()
|
||
|
if grp.GetName() == nomZones + "_vol":
|
||
|
zoneDefaut = grp
|
||
|
break
|
||
|
zoneDefaut_skin = None
|
||
|
for grp in groups:
|
||
|
if grp.GetName() == nomZones + "_skin":
|
||
|
zoneDefaut_skin = grp
|
||
|
break
|
||
|
zoneDefaut_internalFaces = None
|
||
|
for grp in groups:
|
||
|
if grp.GetName() == nomZones + "_internalFaces":
|
||
|
zoneDefaut_internalFaces = grp
|
||
|
break
|
||
|
zoneDefaut_internalEdges = None
|
||
|
for grp in groups:
|
||
|
if grp.GetName() == nomZones + "_internalEdges":
|
||
|
zoneDefaut_internalEdges = grp
|
||
|
break
|
||
|
|
||
|
nbAdded, maillageSain, DefautBoundary = maillageSain.MakeBoundaryElements( SMESH.BND_2DFROM3D, 'DefBound', '', 0, [ zoneDefaut ])
|
||
|
internal = maillageSain.GetMesh().CutListOfGroups( [ DefautBoundary ], [ zoneDefaut_skin ], 'internal' )
|
||
|
internalBoundary = smesh.CopyMesh( internal, 'internalBoundary', 0, 0)
|
||
|
|
||
|
return maillageSain, internalBoundary, zoneDefaut, zoneDefaut_skin, zoneDefaut_internalFaces, zoneDefaut_internalEdges
|
||
|
|