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