Salome HOME
415046d066e9f413462de706a4d45d013d184f7f
[modules/smesh.git] / src / SMESH_SWIG / hole1partition.py
1 # CEA/LGLS 2004, Francis KLOSS (OCC)
2 # ==================================
3
4 # Import
5 # ------
6
7 from geompy import *
8 from meshpy import *
9
10 import math
11
12 # Piece
13 # -----
14
15 # A holed cube at center for partitioning
16
17 # Geometry
18 # --------
19
20 g_x = 0
21 g_y = 0
22 g_z = 0
23
24 g_longueur = 50.0
25 g_largeur  = 40.0
26 g_hauteur  = 25.0
27
28 g_rayon = 10
29
30 g_trim = 1000
31
32 # Box
33 # ---
34
35 b_boite = MakeBox(g_x-g_longueur, g_y-g_hauteur, g_z-g_largeur,
36                   g_x+g_longueur, g_y+g_hauteur, g_z+g_largeur)
37
38 # Cylinder
39 # --------
40
41 c_axe = MakeVectorDXDYDZ(0, 1, 0)
42
43 c_cyl0 = MakeCylinder(MakeVertex(g_x, g_y-g_hauteur, g_z), c_axe, g_rayon, g_hauteur*2)
44 c_cyl  = MakeRotation(c_cyl0, c_axe, math.atan(g_longueur/g_largeur))
45
46 c_piece = MakeCut(b_boite, c_cyl)
47
48 # Partition
49 # ---------
50
51 p_centre = MakeVertex(g_x, g_y, g_z)
52
53 p_tools = []
54 p_tools.append(MakePlane(p_centre, MakeVectorDXDYDZ( g_largeur, 0, g_longueur), g_trim))
55 p_tools.append(MakePlane(p_centre, MakeVectorDXDYDZ(-g_largeur, 0, g_longueur), g_trim))
56
57 piece = MakePartition([c_piece], p_tools, [], [], ShapeType["SOLID"])
58
59 # Add in study
60 # ------------
61
62 piece_id = addToStudy(piece, "Hole1partition")
63
64 # Meshing
65 # =======
66
67 # Create hexahedrical mesh on piece
68 # ---------------------------------
69
70 m_hexa=MeshHexa(piece, 4, "Hole1partitionHexa")
71
72 # Compute
73 # -------
74
75 m_hexa.Compute()