Salome HOME
ca6d5de815d2977389f74aa050096385283de03f
[modules/geom.git] / src / GEOM_SWIG / GEOM_Partition5.py
1 #  GEOM GEOM_SWIG : binding of C++ omplementaion with Python
2 #
3 #  Copyright (C) 2003  CEA/DEN, EDF R&D
4 #
5 #
6 #
7 #  File   : GEOM_Partition5.py
8 #  Module : GEOM
9
10 #%Make geometry (like CEA script (A4)) using Partition algorithm%
11 # import gallery_01_GEOM
12 # reload(gallery_01_GEOM)
13
14 # -- Import geompy pour piloter GEOM par script
15
16 import geompy
17 geom = geompy.geom
18
19 # -- Dimensions de la boite enti\88re
20
21 LX, LY, LZ = 300.0, 150.0, 150.0
22 p0 = geompy.MakeVertex(0.,0.,0.)
23 vy = geompy.MakeVectorDXDYDZ(0.,1.,0.)
24
25 # -- D\89finition du plan de sym\89trie (O,Ox,Oz)
26
27 symPlane = geompy.MakePlane(p0, vy, 10.0)
28
29 # -- bo
30
31 bo = geompy.MakeBoxDXDYDZ(LX, LY, LZ)
32 bo = geompy.MakeTranslation(bo, 0.0, -LY/2, -LZ/2)
33
34 # -- Galerie principale
35
36 gal_diam = 80.0
37 gal_lony = LY
38 gal_x = LX-20.0-gal_diam/2
39
40 gal = geompy.MakeCylinder(p0, vy, gal_diam/2, gal_lony)
41 gal = geompy.MakeTranslation(gal, gal_x, -gal_lony/2, 0.0)
42
43 # -- Galerie perpendiculaire
44 # -- Dimensions de la galerie perpendiculaire
45 # -- La longueur est compt\89\80 partir du centre
46 # -- de la galerie principale
47
48 gpe_long, gpe_diam = 200.0, 60.0 
49 gpe_x = gal_x
50 gpe = geompy.MakeCylinder(
51     p0,
52     geompy.MakeVectorDXDYDZ(-1.,0.,0.),
53     gpe_diam/2,gpe_long)
54 gpe = geompy.MakeTranslation(gpe, gpe_x, 0, 0)
55
56 # -- Dimensions d'une alveole
57 # -- Construction d'une alv\89ole
58
59 alv_long, alv_diam = 60.0, 18.0
60 alv01 = geompy.MakeCylinder(p0, vy, alv_diam/2, alv_long)
61 alv02 = geompy.MakeMirrorByPlane(alv01, symPlane)
62 alv0 = geompy.MakeCompound([alv01, alv02])
63
64 # -- Construction des alv\89oles
65
66 alv_del, alv_sep = 40.0, 35.0
67 alv1 = geompy.MakeTranslation(alv0, gal_x-gal_diam/2-alv_sep, 0.0, 0.0)
68 alv2 = geompy.MakeTranslation(alv1, -alv_del, 0.0, 0.0 )
69 alv3 = geompy.MakeTranslation(alv2, -alv_del, 0.0, 0.0 )
70 alv = geompy.MakeCompound([alv1, alv2, alv3])
71
72 # -- Remplissage de la BO
73
74 gallery = geompy.MakePartition([alv, bo], [], [], [gal, gpe])
75
76 subshapes = geompy.SubShapeAll(gallery, geompy.ShapeType["SHAPE"])
77
78 alvGOs = []
79 alvGOs.append(subshapes[0])
80 alvGOs.append(subshapes[1])
81 alvGOs.append(subshapes[2])
82 alvGOs.append(subshapes[3])
83 alvGOs.append(subshapes[4])
84 alvGOs.append(subshapes[5])
85 alvcomp = geompy.MakeCompound(alvGOs)
86
87 boGO  = subshapes[6]
88 galGO = subshapes[7]
89 gpeGO = subshapes[8]
90
91 gallery = geompy.MakeCompound([boGO, alvcomp, gpeGO, galGO])
92
93 geompy.addToStudy(gallery,"Gallery 2")