Salome HOME
Merge changes from 'master' branch.
[modules/smesh.git] / src / Tools / ZCracksPlug / sphere.py
1 # -*- coding: utf-8 -*-
2
3 ###
4 ### This file is generated automatically by SALOME v7.7.1 with dump python functionality
5 ###
6
7 import sys, numpy
8 import salome
9
10 salome.salome_init()
11
12 import salome_notebook
13 notebook = salome_notebook.NoteBook()
14
15 ###
16 ### GEOM component
17 ###
18
19 import GEOM
20 from salome.geom import geomBuilder
21 import math
22 import SALOMEDS
23 from . import utilityFunctions as uF
24 from .output import message
25
26 #import GEOM_Gen.ild
27
28 def generate(data_rayon,data_centre,outFile):
29   #data_rayon = 0.1
30   #data_centre = [1., 1., 01.]
31
32   geompy = geomBuilder.New()
33
34   O = geompy.MakeVertex(0, 0, 0)
35   OX = geompy.MakeVectorDXDYDZ(1, 0, 0)
36   OY = geompy.MakeVectorDXDYDZ(0, 1, 0)
37   OZ = geompy.MakeVectorDXDYDZ(0, 0, 1)
38
39   SPHERE = geompy.MakeSphereR(data_rayon)
40   geompy.TranslateDXDYDZ(SPHERE, data_centre[0], data_centre[1], data_centre[2])
41   [FACE_FISSURE] = geompy.ExtractShapes(SPHERE, geompy.ShapeType["FACE"], True)
42
43   #
44   # SMESH component
45   #
46
47   import  SMESH, SALOMEDS
48   from salome.smesh import smeshBuilder
49
50   smesh = smeshBuilder.New()
51
52   A=numpy.pi/(20.)
53   chordal, minSize = uF.calcElemSize(A, data_rayon)
54   maxSize=data_rayon/3.
55
56   Maillage=uF.meshCrack(FACE_FISSURE, minSize, maxSize, chordal, dim=3)
57
58   try:
59     Maillage.ExportMED(outFile)
60     smesh.SetName(Maillage.GetMesh(), 'MAILLAGE_FISSURE')
61   except:
62     print('ExportMED() failed. Invalid file name?')
63
64
65   ## Set names of Mesh objects
66
67
68   if salome.sg.hasDesktop():
69     salome.sg.updateObjBrowser()