Salome HOME
0021803: EDF 2351 : Available versions of MED in TUI function ExportMED aren't consis...
[modules/smesh.git] / src / Tools / blocFissure / materielCasTests / cubeFin.py
1 # -*- coding: utf-8 -*-
2
3 import sys
4 import salome
5
6 salome.salome_init()
7
8 import salome_notebook
9
10 import os
11 from blocFissure import gmu
12
13 ###
14 ### GEOM component
15 ###
16
17 import GEOM
18 from salome.geom import geomBuilder
19 import math
20 import SALOMEDS
21
22
23 geompy = geomBuilder.New()
24
25 O = geompy.MakeVertex(0, 0, 0)
26 OX = geompy.MakeVectorDXDYDZ(1, 0, 0)
27 OY = geompy.MakeVectorDXDYDZ(0, 1, 0)
28 OZ = geompy.MakeVectorDXDYDZ(0, 0, 1)
29 cubeFin = geompy.MakeBoxDXDYDZ(200, 200, 200)
30 [DEPL,ENCASTR] = geompy.SubShapes(cubeFin, [27, 23])
31 origCoin = geompy.MakeVertex(0, 160, 200)
32 Disk_1 = geompy.MakeDiskPntVecR(origCoin, OY, 50)
33 Translation_1 = geompy.MakeTranslation(origCoin, 0, 10, 0)
34 Vector_1 = geompy.MakeVector(origCoin, Translation_1)
35 Rotation_1 = geompy.MakeRotation(Disk_1, Vector_1, 90*math.pi/180.0)
36 origMilieu = geompy.MakeVertex(0, 160, 100)
37 Translation_2 = geompy.MakeTranslationTwoPoints(Rotation_1, origCoin, origMilieu)
38 Scale_1 = geompy.MakeScaleAlongAxes(Translation_2, origMilieu, 0.984, 1, 1.2)
39 Vertex_1 = geompy.MakeVertex(-10, 160, 210)
40 Vertex_2 = geompy.MakeVertex(50, 160, 210)
41 Vertex_3 = geompy.MakeVertex(50, 160, -10)
42 Vertex_4 = geompy.MakeVertex(-10, 160, -10)
43 Line_1 = geompy.MakeLineTwoPnt(Vertex_1, Vertex_2)
44 Line_2 = geompy.MakeLineTwoPnt(Vertex_2, Vertex_3)
45 Line_3 = geompy.MakeLineTwoPnt(Vertex_3, Vertex_4)
46 Line_4 = geompy.MakeLineTwoPnt(Vertex_4, Vertex_1)
47 cubeFin_Transverse = geompy.MakeFaceWires([Line_1, Line_2, Line_3, Line_4], 1)
48 Vertex_5 = geompy.MakeVertex(55, 160, 100)
49 Line_1_vertex_3 = geompy.GetSubShape(Line_1, [3])
50 Line_3_vertex_2 = geompy.GetSubShape(Line_3, [2])
51 Arc_1 = geompy.MakeArc(Line_1_vertex_3, Vertex_5, Line_3_vertex_2)
52 Face_1 = geompy.MakeFaceWires([Line_1, Line_3, Line_4, Arc_1], 1)
53 cubeFin_Coin = geompy.MakeCommonList([Rotation_1, Face_1], True)
54 cubeFin_Milieu = geompy.MakeCommonList([Scale_1, cubeFin_Transverse], True)
55 O_1 = geompy.MakeVertex(0, 0, 0)
56 OX_1 = geompy.MakeVectorDXDYDZ(1, 0, 0)
57 OY_1 = geompy.MakeVectorDXDYDZ(0, 1, 0)
58 OZ_1 = geompy.MakeVectorDXDYDZ(0, 0, 1)
59 geompy.addToStudy( O, 'O' )
60 geompy.addToStudy( OX, 'OX' )
61 geompy.addToStudy( OY, 'OY' )
62 geompy.addToStudy( OZ, 'OZ' )
63 geompy.addToStudy( cubeFin, 'cubeFin' )
64 geompy.addToStudyInFather( cubeFin, DEPL, 'DEPL' )
65 geompy.addToStudyInFather( cubeFin, ENCASTR, 'ENCASTR' )
66 geompy.addToStudy( origCoin, 'origCoin' )
67 geompy.addToStudy( Disk_1, 'Disk_1' )
68 geompy.addToStudy( Translation_1, 'Translation_1' )
69 geompy.addToStudy( Vector_1, 'Vector_1' )
70 geompy.addToStudy( Rotation_1, 'Rotation_1' )
71 geompy.addToStudy( origMilieu, 'origMilieu' )
72 geompy.addToStudy( Translation_2, 'Translation_2' )
73 geompy.addToStudy( Scale_1, 'Scale_1' )
74 geompy.addToStudy( Vertex_1, 'Vertex_1' )
75 geompy.addToStudy( Vertex_2, 'Vertex_2' )
76 geompy.addToStudy( Vertex_3, 'Vertex_3' )
77 geompy.addToStudy( Vertex_4, 'Vertex_4' )
78 geompy.addToStudy( Line_1, 'Line_1' )
79 geompy.addToStudy( Line_2, 'Line_2' )
80 geompy.addToStudy( Line_3, 'Line_3' )
81 geompy.addToStudy( Line_4, 'Line_4' )
82 geompy.addToStudy( cubeFin_Transverse, 'cubeFin_Transverse' )
83 geompy.addToStudyInFather( Line_1, Line_1_vertex_3, 'Line_1:vertex_3' )
84 geompy.addToStudy( Vertex_5, 'Vertex_5' )
85 geompy.addToStudyInFather( Line_3, Line_3_vertex_2, 'Line_3:vertex_2' )
86 geompy.addToStudy( Arc_1, 'Arc_1' )
87 geompy.addToStudy( Face_1, 'Face_1' )
88 geompy.addToStudy( cubeFin_Coin, 'cubeFin_Coin' )
89 geompy.addToStudy( cubeFin_Milieu, 'cubeFin_Milieu' )
90 geompy.addToStudy( O_1, 'O' )
91 geompy.addToStudy( OX_1, 'OX' )
92 geompy.addToStudy( OY_1, 'OY' )
93 geompy.addToStudy( OZ_1, 'OZ' )
94 geompy.ExportBREP(cubeFin_Transverse, os.path.join(gmu.pathBloc, "materielCasTests/cubeFin_Transverse.brep"))
95 geompy.ExportBREP(cubeFin_Coin, os.path.join(gmu.pathBloc, "materielCasTests/cubeFin_Coin.brep"))
96 geompy.ExportBREP(cubeFin_Milieu, os.path.join(gmu.pathBloc, "materielCasTests/cubeFin_Milieu.brep"))
97
98 ###
99 ### SMESH component
100 ###
101
102 import  SMESH, SALOMEDS
103 from salome.smesh import smeshBuilder
104
105 smesh = smeshBuilder.New()
106 cubeFin_1 = smesh.Mesh(cubeFin)
107 Regular_1D = cubeFin_1.Segment()
108 Nb_Segments_1 = Regular_1D.NumberOfSegments(20)
109 Nb_Segments_1.SetDistrType( 0 )
110 Quadrangle_2D = cubeFin_1.Quadrangle(algo=smeshBuilder.QUADRANGLE)
111 Hexa_3D = cubeFin_1.Hexahedron(algo=smeshBuilder.Hexa)
112 isDone = cubeFin_1.Compute()
113 DEPL_1 = cubeFin_1.GroupOnGeom(DEPL,'DEPL',SMESH.FACE)
114 ENCASTR_1 = cubeFin_1.GroupOnGeom(ENCASTR,'ENCASTR',SMESH.FACE)
115
116 ## Set names of Mesh objects
117 smesh.SetName(Regular_1D.GetAlgorithm(), 'Regular_1D')
118 smesh.SetName(Quadrangle_2D.GetAlgorithm(), 'Quadrangle_2D')
119 smesh.SetName(Hexa_3D.GetAlgorithm(), 'Hexa_3D')
120 smesh.SetName(DEPL_1, 'DEPL')
121 smesh.SetName(ENCASTR_1, 'ENCASTR')
122 smesh.SetName(cubeFin_1.GetMesh(), 'cubeFin')
123 smesh.SetName(Nb_Segments_1, 'Nb. Segments_1')
124
125 cubeFin_1.ExportMED(os.path.join(gmu.pathBloc, "materielCasTests/cubeFin.med"))
126
127 if salome.sg.hasDesktop():
128   salome.sg.updateObjBrowser()