Salome HOME
0020695: EDF 1076 GEOM: Add a new shape in GEOM: T-shape
[modules/geom.git] / src / GEOM_SWIG / PAL_MESH_035_geometry.py
1 #  -*- coding: iso-8859-1 -*-
2 #  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
3 #
4 #  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
5 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
6 #
7 #  This library is free software; you can redistribute it and/or
8 #  modify it under the terms of the GNU Lesser General Public
9 #  License as published by the Free Software Foundation; either
10 #  version 2.1 of the License.
11 #
12 #  This library is distributed in the hope that it will be useful,
13 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
14 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15 #  Lesser General Public License for more details.
16 #
17 #  You should have received a copy of the GNU Lesser General Public
18 #  License along with this library; if not, write to the Free Software
19 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
20 #
21 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
22 #
23 #####################################################################
24 #Created                :15/02/2005
25 #Auhtor                 :KOVALTCHUK Alexey 
26 #GUI test scenario      :PAL-MESH-035 (geometry part)
27 #####################################################################
28 #
29 import geompy
30 import salome
31
32 #Box creation (2.2)
33 Box_1 = geompy.MakeBoxDXDYDZ(200, 400, 300)
34 geompy.addToStudy(Box_1, "Box_1")
35
36 #Cylinder creation (2.8)
37 Cylinder_1 = geompy.MakeCylinderRH(100, 300)
38 geompy.addToStudy(Cylinder_1, "Cylinder_1")
39
40 #Cone creation (2.13)
41 Cone_1 = geompy.MakeConeR1R2H(100, 50, 200)
42 geompy.addToStudy(Cone_1, "Cone_1")
43
44 #Explode box, cone and cylinder on faces and vertices(2.18)
45 ListOfFaces_Box_1 = geompy.SubShapeAll(Box_1, geompy.ShapeType["FACE"])
46 NbExplodedFaces_Box_1 = len(ListOfFaces_Box_1)
47 for i in range (0, NbExplodedFaces_Box_1):
48    name = "Face_" + str(i+1)
49    geompy.addToStudyInFather(Box_1, ListOfFaces_Box_1[i], name)
50
51 ListOfVertices_Box_1 = geompy.SubShapeAll(Box_1, geompy.ShapeType["VERTEX"])
52 NbExplodedVertices_Box_1 = len(ListOfVertices_Box_1)
53 for i in range (0, NbExplodedVertices_Box_1):
54    name = "Vertex_" + str(i+1)
55    geompy.addToStudyInFather(Box_1, ListOfVertices_Box_1[i], name)
56    
57 ListOfFaces_Cylinder_1 = geompy.SubShapeAll(Cylinder_1, geompy.ShapeType["FACE"])
58 NbExplodedFaces_Cylinder_1 = len(ListOfFaces_Cylinder_1)
59 for i in range (0, NbExplodedFaces_Cylinder_1):
60    name = "Face_" + str(NbExplodedFaces_Box_1+i+1)
61    geompy.addToStudyInFather(Cylinder_1, ListOfFaces_Cylinder_1[i], name)
62    
63 ListOfFaces_Cone_1 = geompy.SubShapeAll(Cone_1, geompy.ShapeType["FACE"])
64 NbExplodedFaces_Cone_1 = len(ListOfFaces_Cone_1)
65 for i in range (0, NbExplodedFaces_Cone_1):
66    name = "Face_" + str(NbExplodedFaces_Box_1+NbExplodedFaces_Cylinder_1+i+1)
67    geompy.addToStudyInFather(Cone_1, ListOfFaces_Cone_1[i], name)
68    
69 #Plane creation (2.32)
70 Plane_1 = geompy.MakePlaneThreePnt(ListOfVertices_Box_1[0], ListOfVertices_Box_1[1], ListOfVertices_Box_1[3], 600)
71 geompy.addToStudy(Plane_1, "Plane_1")
72
73 #Partition (2.32)
74 compound = geompy.MakeCompound([ListOfFaces_Cylinder_1[0], ListOfFaces_Cone_1[0]])
75 Partition_1 = geompy.MakeHalfPartition(compound, Plane_1)
76 geompy.addToStudy(Partition_1, "Partition_1")
77
78 #Explode partition on faces and vertices(2.38)
79 ListOfFaces_Partition_1 = geompy.SubShapeAll(Partition_1, geompy.ShapeType["FACE"])
80 NbExplodedFaces_Partition_1 = len(ListOfFaces_Partition_1)
81 for i in range (0, NbExplodedFaces_Partition_1):
82    name = "Face_" + str(NbExplodedFaces_Box_1+NbExplodedFaces_Cylinder_1+NbExplodedFaces_Cone_1+i+1)
83    geompy.addToStudyInFather(Partition_1, ListOfFaces_Partition_1[i], name)
84
85 #Explode faces on vertices(2.43)
86 ListOfVertices_Face_7 = geompy.SubShapeAll(ListOfFaces_Cylinder_1[0], geompy.ShapeType["VERTEX"])
87 NbExplodedVertices_Face_7 = len(ListOfVertices_Face_7)
88 for i in range (0, NbExplodedVertices_Face_7):
89    name = "Vertex_" + str(NbExplodedVertices_Box_1+i+1)
90    geompy.addToStudyInFather(ListOfFaces_Cylinder_1[0], ListOfVertices_Face_7[i], name)
91
92 ListOfVertices_Face_10 = geompy.SubShapeAll(ListOfFaces_Cone_1[0], geompy.ShapeType["VERTEX"])
93 NbExplodedVertices_Face_10 = len(ListOfVertices_Face_10)
94 for i in range (0, NbExplodedVertices_Face_10):
95    name = "Vertex_" + str(NbExplodedVertices_Box_1+NbExplodedVertices_Face_7+i+1)
96    geompy.addToStudyInFather(ListOfFaces_Cone_1[0], ListOfVertices_Face_10[i], name)
97
98 ListOfVertices_Face_15 = geompy.SubShapeAll(ListOfFaces_Partition_1[2], geompy.ShapeType["VERTEX"])
99 NbExplodedVertices_Face_15 = len(ListOfVertices_Face_15)
100 for i in range (0, NbExplodedVertices_Face_15):
101    name = "Vertex_" + str(NbExplodedVertices_Box_1+NbExplodedVertices_Face_7+NbExplodedVertices_Face_10+i+1)
102    geompy.addToStudyInFather(ListOfFaces_Partition_1[2], ListOfVertices_Face_15[i], name)
103
104 ListOfVertices_Face_18 = geompy.SubShapeAll(ListOfFaces_Partition_1[NbExplodedFaces_Partition_1-1], geompy.ShapeType["VERTEX"])
105 NbExplodedVertices_Face_18 = len(ListOfVertices_Face_18)
106 for i in range (0, NbExplodedVertices_Face_18):
107    name = "Vertex_" + str(NbExplodedVertices_Box_1+NbExplodedVertices_Face_7+NbExplodedVertices_Face_10+NbExplodedVertices_Face_15+i+1)
108    geompy.addToStudyInFather(ListOfFaces_Partition_1[NbExplodedFaces_Partition_1-1], ListOfVertices_Face_18[i], name)
109
110 salome.sg.updateObjBrowser(1)