Salome HOME
022491: EDF 2249 SMESH: Integration of a small python library for quadrangle meshing
[modules/smesh.git] / src / Tools / blocFissure / exemple2.py
1 # -*- coding: iso-8859-1 -*-
2
3 import sys
4 import salome
5
6 salome.salome_init()
7 theStudy = salome.myStudy
8
9 import salome_notebook
10 notebook = salome_notebook.NoteBook(theStudy)
11
12 ###
13 ### GEOM component
14 ###
15
16 import GEOM
17 from salome.geom import geomBuilder
18 import math
19 import SALOMEDS
20
21
22 geompy = geomBuilder.New(theStudy)
23
24 O = geompy.MakeVertex(0, 0, 0)
25 OX = geompy.MakeVectorDXDYDZ(1, 0, 0)
26 OY = geompy.MakeVectorDXDYDZ(0, 1, 0)
27 OZ = geompy.MakeVectorDXDYDZ(0, 0, 1)
28 Box_1 = geompy.MakeBoxDXDYDZ(200, 200, 200)
29 Vertex_1 = geompy.MakeVertex(0, 0, 100)
30 Disk_1 = geompy.MakeDiskPntVecR(Vertex_1, OZ, 50)
31 Rotation_1 = geompy.MakeRotation(Box_1, OZ, 45*math.pi/180.0)
32 geompy.TranslateDXDYDZ(Rotation_1, -50, -250, 0)
33 Cut_1 = geompy.MakeCut(Disk_1, Rotation_1)
34 geompy.Export(Cut_1, "disk.brep", "BREP")
35 geompy.addToStudy( O, 'O' )
36 geompy.addToStudy( OX, 'OX' )
37 geompy.addToStudy( OY, 'OY' )
38 geompy.addToStudy( OZ, 'OZ' )
39 geompy.addToStudy( Box_1, 'Box_1' )
40 geompy.addToStudy( Vertex_1, 'Vertex_1' )
41 geompy.addToStudy( Disk_1, 'Disk_1' )
42 geompy.addToStudy( Rotation_1, 'Rotation_1' )
43 geompy.addToStudy( Cut_1, 'Cut_1' )
44
45 ###
46 ### SMESH component
47 ###
48
49 import  SMESH, SALOMEDS
50 from salome.smesh import smeshBuilder
51
52 smesh = smeshBuilder.New(theStudy)
53 from salome.StdMeshers import StdMeshersBuilder
54 boite = smesh.Mesh(Box_1)
55 Regular_1D = boite.Segment()
56 Nb_Segments_1 = Regular_1D.NumberOfSegments(15)
57 Nb_Segments_1.SetDistrType( 0 )
58 Quadrangle_2D = boite.Quadrangle(algo=smeshBuilder.QUADRANGLE)
59 Hexa_3D = boite.Hexahedron(algo=smeshBuilder.Hexa)
60 isDone = boite.Compute()
61 smesh.SetName(boite, 'boite')
62 boite.ExportMED( r'boite.med', 0, SMESH.MED_V2_2, 1 )
63
64 ## set object names
65 smesh.SetName(boite.GetMesh(), 'boite')
66 smesh.SetName(Regular_1D.GetAlgorithm(), 'Regular_1D')
67 smesh.SetName(Nb_Segments_1, 'Nb. Segments_1')
68 smesh.SetName(Quadrangle_2D.GetAlgorithm(), 'Quadrangle_2D')
69 smesh.SetName(Hexa_3D.GetAlgorithm(), 'Hexa_3D')
70
71 import os
72 from blocFissure import gmu
73 from blocFissure.gmu import initLog
74 #initLog.setDebug()
75 initLog.setVerbose()
76
77 from blocFissure.casStandard import casStandard
78
79 dicoParams = dict(nomCas            = 'angleCube2',
80                   maillageSain      = 'boite.med',
81                   brepFaceFissure   = "disk.brep",
82                   edgeFissIds       = [4],
83                   lgInfluence       = 20,
84                   meshBrep          = (5,10),
85                   rayonPipe         = 10,
86                   nbSegRad          = 5,
87                   nbSegCercle       = 8,
88                   areteFaceFissure  = 10)
89
90 execInstance = casStandard(dicoParams)
91
92 if salome.sg.hasDesktop():
93   salome.sg.updateObjBrowser(1)