Salome HOME
- Modifing Geometry and Mesh Python scripts from SALOME 6 and before
[modules/smesh.git] / src / Tools / Verima / Scripts / excavation_6.6.py
index 583b1a2108a444b7aea4063f4823f446e5cc02a2..85fa6aa227c74d8f1547581a7b2fe2c114909fee 100644 (file)
@@ -36,9 +36,6 @@ l_cas = [ "tout", "syme" ]
 import GEOM
 import math
 import SALOMEDS
-#
-#import geompy
-#geompy.init_geom(theStudy)
 from salome.geom import geomBuilder
 geompy = geomBuilder.New(theStudy) 
 #
@@ -201,7 +198,7 @@ TRX = 0.0
 TRY = -2.0*LG_ARETE_BLOC + DELTA
 TRZ = - 2.0*DELTA
 geompy.TranslateDXDYDZ(boite_aux_G, TRX, TRY, TRZ)
-l_aux = geompy.GetShapesOnBox (boite_aux_G, B_G1, geompy.ShapeType["SOLID"], geompy.GEOM.ST_IN )
+l_aux = geompy.GetShapesOnBox (boite_aux_G, B_G1, geompy.ShapeType["SOLID"], GEOM.ST_IN )
 #print "l_aux =", l_aux
 B_G2 = geompy.MakeCut(l_aux[0], OUTIL_G_1)
 # . Repérage du volume interne inférieur
@@ -209,7 +206,7 @@ TRX = 0.0
 TRY = -RAYON_H - DELTA
 TRZ = 0.0
 geompy.TranslateDXDYDZ(boite_aux_G, TRX, TRY, TRZ)
-l_aux = geompy.GetShapesOnBox (boite_aux_G, B_G1, geompy.ShapeType["SOLID"], geompy.GEOM.ST_IN )
+l_aux = geompy.GetShapesOnBox (boite_aux_G, B_G1, geompy.ShapeType["SOLID"], GEOM.ST_IN )
 B_G3 = geompy.MakeCut(l_aux[0], OUTIL_G_2)
 #
 # 3.3.3. Partie droite
@@ -226,7 +223,7 @@ TRX = -DX
 TRY = -2.0*LG_ARETE_BLOC + DELTA
 TRZ = - 2.0*DELTA
 geompy.TranslateDXDYDZ(boite_aux_D, TRX, TRY, TRZ)
-l_aux = geompy.GetShapesOnBox (boite_aux_D, B_D1, geompy.ShapeType["SOLID"], geompy.GEOM.ST_IN )
+l_aux = geompy.GetShapesOnBox (boite_aux_D, B_D1, geompy.ShapeType["SOLID"], GEOM.ST_IN )
 if ( verbose_max ) :
   print "3.3.3. supérieur l_aux =", l_aux
 B_D2 = geompy.MakeCut(l_aux[0], OUTIL_D_1)
@@ -235,7 +232,7 @@ TRX = 0.0
 TRY = -RAYON_H - DELTA
 TRZ = 0.0
 geompy.TranslateDXDYDZ(boite_aux_D, TRX, TRY, TRZ)
-l_aux = geompy.GetShapesOnBox (boite_aux_D, B_D1, geompy.ShapeType["SOLID"], geompy.GEOM.ST_IN )
+l_aux = geompy.GetShapesOnBox (boite_aux_D, B_D1, geompy.ShapeType["SOLID"], GEOM.ST_IN )
 if ( verbose_max ) :
   print "3.3.3. inférieur l_aux =", l_aux
 B_D3 = geompy.MakeCut(l_aux[0], OUTIL_D_2)
@@ -395,7 +392,7 @@ for cas in l_cas :
   TRY = -0.5*LG_ARETE_MASSIF - DELTA
   TRZ = - DELTA
   geompy.TranslateDXDYDZ(boite_aux, TRX, TRY, TRZ)
-  l_solid_id = geompy.GetShapesOnBoxIDs (boite_aux, MASSIF_G, geompy.ShapeType["SOLID"], geompy.GEOM.ST_IN )
+  l_solid_id = geompy.GetShapesOnBoxIDs (boite_aux, MASSIF_G, geompy.ShapeType["SOLID"], GEOM.ST_IN )
   if ( verbose_max ) :
     print "6.1. l_solid_id =", l_solid_id
   ROCHE_G = geompy.CreateGroup(MASSIF_G, geompy.ShapeType["SOLID"])
@@ -413,7 +410,7 @@ for cas in l_cas :
   TRY = -0.5*LG_ARETE_MASSIF - DELTA
   TRZ = - DELTA
   geompy.TranslateDXDYDZ(boite_aux, TRX, TRY, TRZ)
-  l_aux  = geompy.GetShapesOnBoxIDs (boite_aux, MASSIF_G, geompy.ShapeType["FACE"], geompy.GEOM.ST_IN )
+  l_aux  = geompy.GetShapesOnBoxIDs (boite_aux, MASSIF_G, geompy.ShapeType["FACE"], GEOM.ST_IN )
   if ( verbose_max ) :
     print "6.2.1.1. Gauche l_aux =", l_aux
   GAUCHE_G = geompy.CreateGroup ( MASSIF_G, geompy.ShapeType["FACE"] )
@@ -428,7 +425,7 @@ for cas in l_cas :
     TRY = 0.0
     TRZ = 0.0
     geompy.TranslateDXDYDZ(boite_aux, TRX, TRY, TRZ)
-    l_aux  = geompy.GetShapesOnBoxIDs (boite_aux, MASSIF_G, geompy.ShapeType["FACE"], geompy.GEOM.ST_IN )
+    l_aux  = geompy.GetShapesOnBoxIDs (boite_aux, MASSIF_G, geompy.ShapeType["FACE"], GEOM.ST_IN )
     if ( verbose_max ) :
       print "6.2.1.2. Droite l_aux =", l_aux
     DROITE_G = geompy.CreateGroup ( MASSIF_G, geompy.ShapeType["FACE"] )
@@ -440,7 +437,7 @@ for cas in l_cas :
     TRY = 0.0
     TRZ = 0.0
     geompy.TranslateDXDYDZ(boite_aux, TRX, TRY, TRZ)
-    l_face_id_syme  = geompy.GetShapesOnBoxIDs (boite_aux, MASSIF_G, geompy.ShapeType["FACE"], geompy.GEOM.ST_IN )
+    l_face_id_syme  = geompy.GetShapesOnBoxIDs (boite_aux, MASSIF_G, geompy.ShapeType["FACE"], GEOM.ST_IN )
     if ( verbose_max ) :
       print "6.2.1.2. Symetrie - tout l_face_id_syme =", l_face_id_syme
     l_aux = []
@@ -465,7 +462,7 @@ for cas in l_cas :
       if ( verbose_max ) :
         print "6.2.1.2. Cavite %02d" % (iaux+1)
       # Les id des faces bordant la cavite courante
-      l_aux_2 = geompy.GetShapesOnBoxIDs (boite_2, MASSIF_G, geompy.ShapeType["FACE"], geompy.GEOM.ST_IN )
+      l_aux_2 = geompy.GetShapesOnBoxIDs (boite_2, MASSIF_G, geompy.ShapeType["FACE"], GEOM.ST_IN )
       if ( verbose_max ) :
         print ".. l_aux_2 =", l_aux_2
       for face_id in l_aux_2 :
@@ -487,7 +484,7 @@ for cas in l_cas :
   TRY =  0.5*LG_ARETE_MASSIF - DELTA
   TRZ = - DELTA
   geompy.TranslateDXDYDZ(boite_aux, TRX, TRY, TRZ)
-  l_aux  = geompy.GetShapesOnBoxIDs (boite_aux, MASSIF_G, geompy.ShapeType["FACE"], geompy.GEOM.ST_IN )
+  l_aux  = geompy.GetShapesOnBoxIDs (boite_aux, MASSIF_G, geompy.ShapeType["FACE"], GEOM.ST_IN )
   if ( verbose_max ) :
     print "6.2.2. Haut l_aux =", l_aux
   HAUT_G = geompy.CreateGroup ( MASSIF_G, geompy.ShapeType["FACE"] )
@@ -497,7 +494,7 @@ for cas in l_cas :
   TRY = -LG_ARETE_MASSIF
   TRZ = 0.0
   geompy.TranslateDXDYDZ(boite_aux, TRX, TRY, TRZ)
-  l_aux  = geompy.GetShapesOnBoxIDs (boite_aux, MASSIF_G, geompy.ShapeType["FACE"], geompy.GEOM.ST_IN )
+  l_aux  = geompy.GetShapesOnBoxIDs (boite_aux, MASSIF_G, geompy.ShapeType["FACE"], GEOM.ST_IN )
   if ( verbose_max ) :
     print "6.2.2. Bas l_aux =", l_aux
   BAS_G = geompy.CreateGroup ( MASSIF_G, geompy.ShapeType["FACE"] )
@@ -514,7 +511,7 @@ for cas in l_cas :
   TRY = -0.5*LG_ARETE_BLOC - DELTA
   TRZ = - DELTA
   geompy.TranslateDXDYDZ(boite_aux_1, TRX, TRY, TRZ)
-  l_face_avant_tunnel  = geompy.GetShapesOnBoxIDs (boite_aux_1, MASSIF_G, geompy.ShapeType["FACE"], geompy.GEOM.ST_IN )
+  l_face_avant_tunnel  = geompy.GetShapesOnBoxIDs (boite_aux_1, MASSIF_G, geompy.ShapeType["FACE"], GEOM.ST_IN )
   if ( verbose_max ) :
     print "6.2.3.1. Devant l_face_avant_tunnel =", l_face_avant_tunnel
   # Création du groupe de la face avant
@@ -532,7 +529,7 @@ for cas in l_cas :
   TRY = -0.5*LG_ARETE_MASSIF - DELTA
   TRZ = - DELTA
   geompy.TranslateDXDYDZ(boite_aux, TRX, TRY, TRZ)
-  l_aux_2  = geompy.GetShapesOnBoxIDs (boite_aux, MASSIF_G, geompy.ShapeType["FACE"], geompy.GEOM.ST_IN )
+  l_aux_2  = geompy.GetShapesOnBoxIDs (boite_aux, MASSIF_G, geompy.ShapeType["FACE"], GEOM.ST_IN )
   if ( verbose_max ) :
     print "6.2.3.2. Devant l_aux_2  =", l_aux_2
 # Pour le groupe, on retire les faces correspondant a l'empreinte du tunnel
@@ -551,7 +548,7 @@ for cas in l_cas :
   TRY = 0.0
   TRZ = LG_ARETE_MASSIF
   geompy.TranslateDXDYDZ(boite_aux, TRX, TRY, TRZ)
-  l_aux  = geompy.GetShapesOnBoxIDs (boite_aux, MASSIF_G, geompy.ShapeType["FACE"], geompy.GEOM.ST_IN )
+  l_aux  = geompy.GetShapesOnBoxIDs (boite_aux, MASSIF_G, geompy.ShapeType["FACE"], GEOM.ST_IN )
   if ( verbose_max ) :
     print "6.2.3.3. Derriere l_aux =", l_aux
   DERRIERE_G = geompy.CreateGroup ( MASSIF_G, geompy.ShapeType["FACE"] )
@@ -569,7 +566,7 @@ for cas in l_cas :
   DY = -0.5*LG_ARETE_BLOC
   point = geompy.MakeVertex(DX, DY, DZ)
   #        Les faces posees sur ce plan
-  liste_face_tunnel_base = geompy.GetShapesOnPlaneWithLocationIDs (MASSIF_G, geompy.ShapeType["FACE"], normale, point, geompy.GEOM.ST_ON )
+  liste_face_tunnel_base = geompy.GetShapesOnPlaneWithLocationIDs (MASSIF_G, geompy.ShapeType["FACE"], normale, point, GEOM.ST_ON )
   if ( verbose_max ) :
     print "6.3.1. liste_face_tunnel_base =", liste_face_tunnel_base
 #        Création du groupe associe
@@ -597,7 +594,7 @@ for cas in l_cas :
     geompy.TranslateDXDYDZ(boite, TRX, TRY, TRZ)
     l_cyl_supp.append((boite, cle))
   # Reperage des faces
-    l_aux_1 = geompy.GetShapesOnShapeIDs (boite, MASSIF_G, geompy.ShapeType["FACE"], geompy.GEOM.ST_IN )
+    l_aux_1 = geompy.GetShapesOnShapeIDs (boite, MASSIF_G, geompy.ShapeType["FACE"], GEOM.ST_IN )
     if ( verbose_max ) :
       print ".. l_aux_1 =", l_aux_1
     l_aux = []
@@ -650,7 +647,7 @@ for cas in l_cas :
       geompy.UnionIDs ( GR_CAV_G, l_cav_toutes_p_id )
       l_groupe_cav_e_g.append((GR_CAV_G, "PAROI_%02d" % (iaux+1)))
     # Les id des solides dans la cavite courante
-    l_aux_1 = geompy.GetShapesOnBoxIDs (boite_cav_v, MASSIF_G, geompy.ShapeType["SOLID"], geompy.GEOM.ST_IN )
+    l_aux_1 = geompy.GetShapesOnBoxIDs (boite_cav_v, MASSIF_G, geompy.ShapeType["SOLID"], GEOM.ST_IN )
     if ( verbose_max ) :
       print ".. l_aux_1 =", l_aux_1
     # Création du groupe solide de la cavite courante
@@ -674,7 +671,7 @@ for cas in l_cas :
     geompy.UnionIDs ( GR_CAV_G, l_solid_id_1 )
     l_groupe_roche_g.append((GR_CAV_G, "ROCHE_%02d" % (iaux+1)))
     # Les id des faces du fond de la cavite courante
-    l_aux_1 = geompy.GetShapesOnBoxIDs (boite_cav_f, MASSIF_G, geompy.ShapeType["FACE"], geompy.GEOM.ST_IN )
+    l_aux_1 = geompy.GetShapesOnBoxIDs (boite_cav_f, MASSIF_G, geompy.ShapeType["FACE"], GEOM.ST_IN )
     if ( verbose_max ) :
       print ".. l_aux_1 =", l_aux_1
     # Création du groupe du fond de la cavite
@@ -682,7 +679,7 @@ for cas in l_cas :
     geompy.UnionIDs ( GR_CAV_G, l_aux_1 )
     l_groupe_cav_f_g.append((GR_CAV_G, "FOND_%02d" % (iaux+1)))
     # Les id des faces dans la cavite courante
-    l_aux_2 = geompy.GetShapesOnBoxIDs (boite_cav_v, MASSIF_G, geompy.ShapeType["FACE"], geompy.GEOM.ST_IN )
+    l_aux_2 = geompy.GetShapesOnBoxIDs (boite_cav_v, MASSIF_G, geompy.ShapeType["FACE"], GEOM.ST_IN )
     if ( verbose_max ) :
       print ".. l_aux_2 =", l_aux_2
     # Création du groupe du pourtour de la cavite : penser a retirer les fonds et l'eventuel plan de symetrie !
@@ -805,11 +802,12 @@ for cas in l_cas :
 ### SMESH component
 ###=======================================================================
 
-import smesh, SMESH, SALOMEDS
+import SMESH, SALOMEDS
+from salome.smesh import smeshBuilder
+smesh = smeshBuilder.New(theStudy)
 
-smesh.SetCurrentStudy(theStudy)
-import BLSURFPlugin
-import GHS3DPlugin
+from salome.BLSURFPlugin import BLSURFPluginBuilder
+from salome.GHS3DPlugin import GHS3DPluginBuilder
 #
 for cas in l_cas :
 #
@@ -825,19 +823,19 @@ for cas in l_cas :
 # 2. Parametres du maillage volumique
 #
   if cas == "tout" :
-    GHS3D_3D = MASSIF_M.Tetrahedron(algo=smesh.GHS3D)
+    GHS3D_3D = MASSIF_M.Tetrahedron(algo=smeshBuilder.GHS3D)
     GHS3D_Parameters = smesh.CreateHypothesis('GHS3D_Parameters', 'GHS3DEngine')
     # Niveau d'optimisation : 3 ==> standard +
     GHS3D_Parameters.SetOptimizationLevel( 3 )
   else :
     isdone = MASSIF_M.AddHypothesis(GHS3D_Parameters)
-    GHS3D_3D_1 = MASSIF_M.Tetrahedron(algo=smesh.GHS3D)
+    GHS3D_3D_1 = MASSIF_M.Tetrahedron(algo=smeshBuilder.GHS3D)
 #
 # 3. Parametres du maillage surfacique
 #
   if cas == "tout" :
     #
-    BLSURF = MASSIF_M.Triangle(algo=smesh.BLSURF)
+    BLSURF = MASSIF_M.Triangle(algo=smeshBuilder.BLSURF)
     BLSURF_Parameters = BLSURF.Parameters()
     # Geometrical mesh - if set to "Custom", allows user input in Angle Mesh S, Angle Mesh C and Gradation fields.
     # These fields control computation of the element size, so called geometrical size, conform to the
@@ -854,7 +852,7 @@ for cas in l_cas :
     BLSURF_Parameters.SetPhySize( 25. )
   else :
     isdone = MASSIF_M.AddHypothesis(BLSURF_Parameters)
-    BLSURF_1 = MASSIF_M.Triangle(algo=smesh.BLSURF)
+    BLSURF_1 = MASSIF_M.Triangle(algo=smeshBuilder.BLSURF)
 #
 # 4. Calcul
 #