-#
- from salome.geom import geomBuilder
- geompy = geomBuilder.New()
-#
-# 1. Les sommets et la première ligne
-#
- vertex_1 = geompy.MakeVertex( 0.*taille, 0.*taille, 0.*taille, theName = "V1")
- vertex_2 = geompy.MakeVertex( 5.*taille, 2.*taille, 0.*taille, theName = "V2")
- vertex_3 = geompy.MakeVertex(10.*taille, 1.*taille, 0.*taille, theName = "V3")
- vertex_4 = geompy.MakeVertex(16.*taille, 4.*taille, 0.*taille, theName = "V4")
- vertex_5 = geompy.MakeVertex(16.*taille, 10.*taille, 0.*taille, theName = "V5")
-#
- courbe_0 = geompy.MakeInterpol([vertex_1, vertex_2, vertex_3, vertex_4, vertex_5], False, False, theName="courbe_0")
-#
-# 2. Les sommets et la seconde ligne
-#
- sommet_1 = geompy.MakeVertex( 0.*taille, 0.*taille, 20.*taille, theName = "S1")
- sommet_2 = geompy.MakeVertex( 6.*taille, -5.*taille, 20.*taille, theName = "S2")
- sommet_3 = geompy.MakeVertex(11.*taille, -2.*taille, 20.*taille, theName = "S3")
- sommet_4 = geompy.MakeVertex(12.*taille, 3.*taille, 20.*taille, theName = "S4")
- sommet_5 = geompy.MakeVertex(16.*taille, 10.*taille, 20.*taille, theName = "S5")
-#
- courbe_1 = geompy.MakeInterpol([sommet_1, sommet_2, sommet_3, sommet_4, sommet_5], False, False, theName="courbe_1")
-#
-# 3. La face de base
-#
- structure_g = geompy.MakeFilling([courbe_0, courbe_1], theName=nom_obj)
-#
-# 4. Groupes : on cherche les entites par des proximités avec des shapes bien choisies
-#
- l_groupes_g = list()
-#
- shape = geompy.GetFaceNearPoint (structure_g, vertex_2)
- nom = "Voile"
- groupe_g = geompy.CreateGroup(structure_g, geompy.ShapeType["FACE"], nom)
- geompy.UnionList ( groupe_g, [shape] )
- l_groupes_g.append( (nom, groupe_g, 2) )
-#
- shape = geompy.GetEdgeNearPoint (structure_g, vertex_2)
- nom = "C_0"
- groupe_g = geompy.CreateGroup(structure_g, geompy.ShapeType["EDGE"], nom)
- geompy.UnionList ( groupe_g, [shape] )
- l_groupes_g.append( (nom, groupe_g, 1) )
-#
- shape = geompy.GetEdgeNearPoint (structure_g, sommet_2)
- nom = "C_1"
- groupe_g = geompy.CreateGroup(structure_g, geompy.ShapeType["EDGE"], nom)
- geompy.UnionList ( groupe_g, [shape] )
- l_groupes_g.append( (nom, groupe_g, 1) )
-#
- shape = geompy.GetEdge (structure_g, vertex_1, sommet_1)
- nom = "D_0"
- groupe_g = geompy.CreateGroup(structure_g, geompy.ShapeType["EDGE"], nom)
- geompy.UnionList ( groupe_g, [shape] )
- l_groupes_g.append( (nom, groupe_g, 1) )
-#
- shape = geompy.GetEdge (structure_g, vertex_5, sommet_5)
- nom = "D_1"
- groupe_g = geompy.CreateGroup(structure_g, geompy.ShapeType["EDGE"], nom)
- geompy.UnionList ( groupe_g, [shape] )
- l_groupes_g.append( (nom, groupe_g, 1) )
-#
- return erreur, structure_g, l_groupes_g
-#
-#========================== Fin de la fonction ==================================
-#
-#========================= Debut de la fonction ==================================
-#
-def create_mail(lg_arete, structure_g, l_groupes_g, rep_mail, verbose=False) :
- """
-Création du maillage
- """
-#
- erreur = 0
- message = ""
- ficmed = ""
-#
- while not erreur :
-#
- nom = structure_g.GetName()
- if verbose :
- texte = "Maillage de '%s'\n" % nom
- texte += "lg_arete = %f\n" % lg_arete
- texte += "rep_mail = '%s'" % rep_mail
- print (texte)
-#
- from salome.smesh import smeshBuilder
+
+ model.begin()
+ partset = model.moduleDocument()
+
+ part_1 = model.addPart(partset)
+ part_1_doc = part_1.document()
+
+ ### Create Point
+ _ = model.addPoint(part_1_doc, 0.*TAILLE, 0.*TAILLE, 0.*TAILLE)
+
+ ### Create Point
+ _ = model.addPoint(part_1_doc, 5.*TAILLE, 2.*TAILLE, 0.*TAILLE)
+
+ ### Create Point
+ _ = model.addPoint(part_1_doc, 10.*TAILLE, 1.*TAILLE, 0.*TAILLE)
+
+ ### Create Point
+ _ = model.addPoint(part_1_doc, 16.*TAILLE, 4.*TAILLE, 0.*TAILLE)
+
+ ### Create Point
+ _ = model.addPoint(part_1_doc, 16.*TAILLE, 10.*TAILLE, 0.*TAILLE)
+
+ ### Create interpolation
+ interpolation_1_objects = [model.selection("VERTEX", "all-in-Point_1"), \
+ model.selection("VERTEX", "all-in-Point_2"), \
+ model.selection("VERTEX", "all-in-Point_3"), \
+ model.selection("VERTEX", "all-in-Point_4"), \
+ model.selection("VERTEX", "all-in-Point_5")]
+ _ = model.addInterpolation(part_1_doc, interpolation_1_objects, False, False)
+
+
+ ### Create Point
+ _ = model.addPoint(part_1_doc, 0.*TAILLE, 0.*TAILLE, 20.*TAILLE)
+
+ ### Create Point
+ _ = model.addPoint(part_1_doc, 6.*TAILLE, -5.*TAILLE, 20.*TAILLE)
+
+ ### Create Point
+ _ = model.addPoint(part_1_doc, 11.*TAILLE, -2.*TAILLE, 20.*TAILLE)
+
+ ### Create Point
+ _ = model.addPoint(part_1_doc, 12.*TAILLE, 3.*TAILLE, 20.*TAILLE)
+
+ ### Create Point
+ _ = model.addPoint(part_1_doc, 16.*TAILLE, 10.*TAILLE, 20.*TAILLE)
+
+ ### Create interpolation
+ interpolation_2_objects = [model.selection("VERTEX", "all-in-Point_6"), \
+ model.selection("VERTEX", "all-in-Point_7"), \
+ model.selection("VERTEX", "all-in-Point_8"), \
+ model.selection("VERTEX", "all-in-Point_9"), \
+ model.selection("VERTEX", "all-in-Point_10")]
+ _ = model.addInterpolation(part_1_doc, interpolation_2_objects, False, False)
+
+ ### Create Filling
+ structure_sh = model.addFilling(part_1_doc, [model.selection("EDGE", "Interpolation_1_1"), model.selection("EDGE", "Interpolation_2_1")])
+ structure_sh.setName(TEST_NAME)
+ structure_sh.result().setName(TEST_NAME)
+
+ ### Create Group
+ group_1 = model.addGroup(part_1_doc, "Faces", [model.selection("FACE", TEST_NAME)])
+ group_1.setName("Voile")
+ group_1.result().setName("Voile")
+
+ ### Create Group
+ group_2 = model.addGroup(part_1_doc, "Edges", [model.selection("EDGE", "Interpolation_1_1")])
+ group_2.setName("C_0")
+ group_2.result().setName("C_0")
+
+ ### Create Group
+ group_3 = model.addGroup(part_1_doc, "Edges", [model.selection("EDGE", "Interpolation_2_1")])
+ group_3.setName("C_1")
+ group_3.result().setName("C_1")
+
+ ### Create Group
+ group_4 = model.addGroup(part_1_doc, "Edges", [model.selection("EDGE", TEST_NAME+"/Edge_0_1")])
+ group_4.setName("D_0")
+ group_4.result().setName("D_0")
+
+ ### Create Group
+ group_5 = model.addGroup(part_1_doc, "Edges", [model.selection("EDGE", TEST_NAME+"/Edge_0_3")])
+ group_5.setName("D_1")
+ group_5.result().setName("D_1")
+
+ xao_file = os.path.join(DIRCASE, TEST_NAME+".xao")
+ model.exportToXAO(part_1_doc, xao_file, model.selection("FACE", TEST_NAME), "GN", TEST_NAME)
+
+ model.end()
+
+ return structure_sh, xao_file
+#========================================================================
+
+#========================================================================
+def create_mesh (structure_sh):
+ """Mesh"""
+ error = 0
+ mesh_file = os.path.join(DIRCASE, 'maill.00.med')
+
+ if VERBOSE :
+ texte = "Maillage de '{}'\n".format(TEST_NAME)
+ texte += "lg_arete = {}\n".format(LG_ARETE)
+ print (texte)
+
+ while not error :
+
+# 1. Importation to the study
+# ===========================
+ model.publishToShaperStudy()
+ l_aux = SHAPERSTUDY.shape(model.featureStringId(structure_sh))
+
+# 2. Creation of the mesh
+# =======================