-# GEOM GEOM_SWIG : binding of C++ omplementaion with Python
-#
-# Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-#
-# See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
-#
-#
-#
-# File : GEOM_moteur.py
-# Author : Damien COQUERET, Open CASCADE
-# Module : GEOM
-# $Header$
-
-import salome
-import geompy
-import math
-
-geom = salome.lcc.FindOrLoadComponent("FactoryServer", "Geometry")
-myBuilder = salome.myStudy.NewBuilder()
-
-#Variables modifiables
-PosX = 0 #Position du cylindre dans l'espace
-PosY = 0 #Il est oriente suivant Z
-PosZ = 0
-NbBranches = 7 #>2
-HauteurT = 70 #Hauteur total du stator
-
-#Varaibles
-Angle1 = 2 * math.pi / NbBranches
-Angle2 = Angle1 / 2
-HauteurR = HauteurT / 3
-Ep = HauteurT / 10
-DExtExt = HauteurT * 6 / 7
-DExtInt = DExtExt - Ep
-DIntExt = DExtExt / 3
-DIntInt = DExtExt / 4
-EpRot = DIntExt * math.sin(Angle2)
-Pos1C = PosX + DIntExt * math.cos(Angle2)
-Pos1S = PosY + DIntExt * math.sin(Angle2)
-PosCour = PosZ + HauteurT * 4 / 7
-PosRot = PosZ + 0.9 * HauteurT
-
-#Points
-P0 = geom.MakePointStruct(0, 0, 1)
-P1 = geom.MakePointStruct(PosX, PosY, PosZ)
-P2 = geom.MakePointStruct(PosX, PosY, PosZ + Ep)
-P3 = geom.MakePointStruct(PosX, PosY, PosCour)
-P4 = geom.MakePointStruct(PosX, PosY, PosCour + Ep)
-P5 = geom.MakePointStruct(PosX, PosY, PosRot)
-P6 = geom.MakePointStruct(Pos1C, Pos1S, PosZ)
-P7 = geom.MakePointStruct(PosX + DExtExt, Pos1S, PosZ)
-P8 = geom.MakePointStruct(Pos1C, Pos1S, PosZ + HauteurT)
-
-#Vecteurs
-V1 = geom.MakeDirection(P0)
-V2 = geom.MakeAxisStruct(PosX, PosY, PosZ, 0, 0, 1)
-V3 = geom.MakeAxisStruct(Pos1C, Pos1S, PosZ, 0, 0, 1)
-
-#Cylindre central
-C0 = geompy.MakeCylinder(P1, V1, DIntInt, PosCour + Ep - PosZ)
-C01 = geompy.MakeCylinder(P1, V1, DIntExt, PosCour + Ep - PosZ)
-Cylindre = geompy.MakeBoolean(C01, C0, 2)
-#Id_Cyl = geompy.addToStudy(Cylindre, "Cylindre")
-
-#Camemberts de coupe
-B1 = geompy.MakeVector(P6, P7)
-B2 = geompy.MakePrism(B1, P6, P8)
-S0 = geompy.MakeRevolution(B2, V3, Angle1)
-CoupeList = []
-CoupeList.append(S0)
-Ind = 1
-while Ind < NbBranches :
- S = geompy.MakeRotation(S0, V2, Ind * Angle1)
- CoupeList.append(S)
- Ind = Ind + 1
-IorCoupeList = []
-for CoupeShape in CoupeList :
- IorCoupeList.append(CoupeShape._get_Name())
-Coupe1 = geompy.MakeCompound(IorCoupeList)
-#Id_Coupe1 = geompy.addToStudy(Coupe1, "Coupe1")
-
-#Couronne1
-C1 = geompy.MakeCylinder(P1, V1, DExtExt, HauteurT)
-C2 = geompy.MakeCylinder(P2, V1, DExtInt, HauteurT)
-C3 = geompy.MakeBoolean(C1, C2, 2)
-C31 = geompy.MakeBoolean(C3, C0, 2)
-Couronne1 = geompy.MakeBoolean(C31, Coupe1, 2)
-#Id_Couronne1 = geompy.addToStudy(Couronne1, "Couronne1")
-
-#Couronne2
-C4 = geompy.MakeCylinder(P3, V1, DExtExt, PosZ + HauteurT - PosCour)
-C5 = geompy.MakeCylinder(P4, V1, DExtInt, HauteurT)
-Coupe2 = geompy.MakeRotation(Coupe1, V2, Angle2)
-C6 = geompy.MakeBoolean(C4, C5, 2)
-C61 = geompy.MakeBoolean(C6, C0, 2)
-Couronne2 = geompy.MakeBoolean(C61, Coupe2, 2)
-#Id_Couronne2 = geompy.addToStudy(Couronne2, "Couronne2")
-
-#Rotor1
-C9 = geompy.MakeCylinder(P5, V1, DIntExt, HauteurR)
-C10 = geompy.MakeCylinder(P5, V1, DIntExt / 4, 2 * HauteurR)
-Rotor1List = []
-Rotor1List.append(C9)
-Rotor1List.append(C10)
-IorRotor1List = []
-for Rotor1Shape in Rotor1List :
- IorRotor1List.append(Rotor1Shape._get_Name())
-Rotor1 = geompy.MakeCompound(IorRotor1List)
-Id_Rotor1 = geompy.addToStudy(Rotor1, "Rotor1")
-
-#Rotor2
-D0 = geompy.MakeBox(2 * Pos1C - PosX, -Pos1S + 2 * PosY, PosRot, 2 * Pos1C + EpRot - PosX, Pos1S, PosRot + EpRot / 2)
-Rotor2List = []
-Rotor2List.append(D0)
-Ind = 1
-while Ind < NbBranches :
- R = geompy.MakeRotation(D0, V2, Ind * Angle1)
- Rotor2List.append(R)
- Ind = Ind + 1
-IorRotor2List = []
-for Rotor2Shape in Rotor2List :
- IorRotor2List.append(Rotor2Shape._get_Name())
-Rotor2 = geompy.MakeCompound(IorRotor2List)
-Id_Rotor2 = geompy.addToStudy(Rotor2, "Rotor2")
-
-#Rotor3
-Rotor3 = geompy.MakeRotation(Rotor2, V2, Angle2)
-Id_Rotor3 = geompy.addToStudy(Rotor3, "Rotor3")
-
-#Stator
-StatorList = []
-StatorList.append(Cylindre)
-StatorList.append(Couronne1)
-StatorList.append(Couronne2)
-IorStatorList = []
-for StatorShape in StatorList :
- IorStatorList.append(StatorShape._get_Name())
-Stator = geompy.MakeCompound(IorStatorList)
-Id_Stator = geompy.addToStudy(Stator, "Stator")