#!/usr/bin/python 3
# -*- coding: iso-8859-1 -*-

import time
time1=time.time()
import sys
sys.path.append('/home/scartek/Documents/SCARTEK/01-Outils/TUBA')
sys.path.append('/home/scartek/Documents/SCARTEK/01-Outils/TUBA/salome-tuba/Examples/Exemples/Systeme_Complexe')

import salome
import geompy
import GEOM
import math
import smesh, SALOMEDS, SMESH
import StdMeshers
gg = salome.ImportComponentGUI("GEOM")
O = geompy.MakeVertex(0,0,0)
O_id = geompy.addToStudy(O,"O")
Vx= geompy.MakeVectorDXDYDZ(1,0,0)
geompy.addToStudy(Vx,"Vx")
Vy= geompy.MakeVectorDXDYDZ(0,1,0)
geompy.addToStudy(Vy,"Vy")
Vz= geompy.MakeVectorDXDYDZ(0,0,1)
geompy.addToStudy(Vz,"Vz")
Liste=[]
L1=[]
L2=[]
List_id=[]
ERREUR=False
#Mat :ACIER
#Si=100.0,5
R=100.0
e=5.0
#P= 0,0,0 :A
#
A= geompy.MakeVertex(0.0,0.0,0.0)
geompy.addToStudy(A,"A")
Vd2x = geompy.MakeVectorDXDYDZ(1,0,0)
#PF
#V=1000.0,0.0,0.0
try:
  print("Creation de: TUY1")
  Vd2x=geompy.MakeVectorDXDYDZ(1000.0,0.0,0.0)
  Liste=[]
  Pn_1= geompy.MakeTranslationVectorDistance(A,Vd2x,1000.0)
  Liste.append([Pn_1,"Pn_1"])
  TUY1= geompy.MakeVector(A,Pn_1)
  Liste.append([TUY1,"TUY1"])
  Cext = geompy.MakeCircle(A,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(A,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY1)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY1_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY1")
  TUY1M = smesh.Mesh(TUY1)
  Decoupage = TUY1M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY1M,'TUY1')
  TUY1M.Compute()
  TUY1M.GroupOnGeom(A)
  TUY1M.GroupOnGeom(Pn_1)
  TUY1M.GroupOnGeom(TUY1)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#VPiq=66.66666666666667,5,180,0,10:A1_1
try:
  #Piquage 1D
  print "Piquage 1D"
  Liste=[]
  Rp = 66.66666666666667
  ep = 5.0
  Rc = 100.0
  ec = 5.0
  Lp0=120.0
  Px =Pn_1
  Pr = geompy.MakeVertexWithRef(Px,0.0,1.2246467991473532e-14,100.0)
  Vd3x = geompy.MakeVector(Px,Pr)
  A1_1=Pr
  Liste.append([Vd3x,"Vd3x"])
  Pp = geompy.MakeTranslationVectorDistance(Px,Vd3x,Lp0)
  Pp_2=Pp
  Liste.append([Pp,"Pp_2"])
  Vxr = geompy.MakeVector(Px,Pr)
  Vxr_2=Vxr
  Liste.append([Vxr,"Vxr_2"])
  Vrp = geompy.MakeVector(Pr,Pp)
  Vrp_2=Vrp
  Liste.append([Vrp,"Vrp_2"])
  VPiq=geompy.MakeCompound([Vxr_2,Vrp_2])
  VPiq2=VPiq
  Liste.append([VPiq,"VPiq2"])
  Cpe = geompy.MakeCircle(Px,Vd3x,Rp*0.95)
  Liste.append([Cpe,"Cpe"])
  Spe = geompy.MakeFaceWires([Cpe], 1)
  Cylpe = geompy.MakePrismVecH(Spe, Vd3x, Lp0)
  Liste.append([Cylpe,"Cylpe"])
  Cpi = geompy.MakeCircle(Px,Vd3x,Rp-ep)
  Liste.append([Cpi,"Cpi"])
  Spi = geompy.MakeFaceWires([Cpe,Cpi], 1)
  Cylpi = geompy.MakePrismVecH(Spi, Vd3x, Lp0)
  Liste.append([Cylpi,"Cylpi"])
  VPiq3D=geompy.MakeCut(Cylpe, Cylpi)
  Liste.append([VPiq3D,"VPiq3D"])
  VPiq3D.SetColor(SALOMEDS.Color(0.9,0.9,0.9))
  VPiq23D= VPiq3D
  VPiq3D_id = geompy.addToStudy(VPiq3D,"VPiq23D")
  gg.createAndDisplayGO(VPiq3D_id)
  gg.setDisplayMode(VPiq3D_id,1)
  for x in Liste:
    geompy.addToStudyInFather(VPiq3D,x[0],x[1])
except:
  print "Erreur VPiq : geometrie"
  for x in Liste:
    geompy.addToStudy(x[0],x[1])
    gg.createAndDisplayGO(O_id)
    gg.setDisplayMode(O_id,1)
VPiq2M= smesh.Mesh(Vxr_2)
Regular_TUBE = VPiq2M.Segment()
Nb_Segments = Regular_TUBE.NumberOfSegments( 1 )
Nb_Segments.SetDistrType( 0 )
VPiq2M.Compute()
smesh.SetName(VPiq2M , 'VPiq2M')
VPiq2M.GroupOnGeom(Pn_1)
VPiq2M.GroupOnGeom(A1_1)
VPiq2M.GroupOnGeom(Vxr_2)
#V=500.0,0.0,0.0
try:
  print("Creation de: TUY3")
  Vd2x=geompy.MakeVectorDXDYDZ(500.0,0.0,0.0)
  Liste=[]
  Pn_3= geompy.MakeTranslationVectorDistance(Pn_1,Vd2x,500.0)
  Liste.append([Pn_3,"Pn_3"])
  TUY3= geompy.MakeVector(Pn_1,Pn_3)
  Liste.append([TUY3,"TUY3"])
  Cext = geompy.MakeCircle(Pn_1,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn_1,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY3)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY3_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY3")
  TUY3M = smesh.Mesh(TUY3)
  Decoupage = TUY3M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY3M,'TUY3')
  TUY3M.Compute()
  TUY3M.GroupOnGeom(Pn_1)
  TUY3M.GroupOnGeom(Pn_3)
  TUY3M.GroupOnGeom(TUY3)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#GL
#V=500.0,0.0,0.0
try:
  print("Creation de: TUY4")
  Vd2x=geompy.MakeVectorDXDYDZ(500.0,0.0,0.0)
  Liste=[]
  Pn_4= geompy.MakeTranslationVectorDistance(Pn_3,Vd2x,500.0)
  Liste.append([Pn_4,"Pn_4"])
  TUY4= geompy.MakeVector(Pn_3,Pn_4)
  Liste.append([TUY4,"TUY4"])
  Cext = geompy.MakeCircle(Pn_3,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn_3,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY4)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY4_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY4")
  TUY4M = smesh.Mesh(TUY4)
  Decoupage = TUY4M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY4M,'TUY4')
  TUY4M.Compute()
  TUY4M.GroupOnGeom(Pn_3)
  TUY4M.GroupOnGeom(Pn_4)
  TUY4M.GroupOnGeom(TUY4)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#VPiq=66.66666666666667,5,0,0,10:A2_1
try:
  #Piquage 1D
  print "Piquage 1D"
  Liste=[]
  Rp = 66.66666666666667
  ep = 5.0
  Rc = 100.0
  ec = 5.0
  Lp0=120.0
  Px =Pn_4
  Pr = geompy.MakeVertexWithRef(Px,0.0,0.0,-100.0)
  Vd3x = geompy.MakeVector(Px,Pr)
  A2_1=Pr
  Liste.append([Vd3x,"Vd3x"])
  Pp = geompy.MakeTranslationVectorDistance(Px,Vd3x,Lp0)
  Pp_5=Pp
  Liste.append([Pp,"Pp_5"])
  Vxr = geompy.MakeVector(Px,Pr)
  Vxr_5=Vxr
  Liste.append([Vxr,"Vxr_5"])
  Vrp = geompy.MakeVector(Pr,Pp)
  Vrp_5=Vrp
  Liste.append([Vrp,"Vrp_5"])
  VPiq=geompy.MakeCompound([Vxr_5,Vrp_5])
  VPiq5=VPiq
  Liste.append([VPiq,"VPiq5"])
  Cpe = geompy.MakeCircle(Px,Vd3x,Rp*0.95)
  Liste.append([Cpe,"Cpe"])
  Spe = geompy.MakeFaceWires([Cpe], 1)
  Cylpe = geompy.MakePrismVecH(Spe, Vd3x, Lp0)
  Liste.append([Cylpe,"Cylpe"])
  Cpi = geompy.MakeCircle(Px,Vd3x,Rp-ep)
  Liste.append([Cpi,"Cpi"])
  Spi = geompy.MakeFaceWires([Cpe,Cpi], 1)
  Cylpi = geompy.MakePrismVecH(Spi, Vd3x, Lp0)
  Liste.append([Cylpi,"Cylpi"])
  VPiq3D=geompy.MakeCut(Cylpe, Cylpi)
  Liste.append([VPiq3D,"VPiq3D"])
  VPiq3D.SetColor(SALOMEDS.Color(0.9,0.9,0.9))
  VPiq53D= VPiq3D
  VPiq3D_id = geompy.addToStudy(VPiq3D,"VPiq53D")
  gg.createAndDisplayGO(VPiq3D_id)
  gg.setDisplayMode(VPiq3D_id,1)
  for x in Liste:
    geompy.addToStudyInFather(VPiq3D,x[0],x[1])
except:
  print "Erreur VPiq : geometrie"
  for x in Liste:
    geompy.addToStudy(x[0],x[1])
    gg.createAndDisplayGO(O_id)
    gg.setDisplayMode(O_id,1)
VPiq5M= smesh.Mesh(Vxr_5)
Regular_TUBE = VPiq5M.Segment()
Nb_Segments = Regular_TUBE.NumberOfSegments( 1 )
Nb_Segments.SetDistrType( 0 )
VPiq5M.Compute()
smesh.SetName(VPiq5M , 'VPiq5M')
VPiq5M.GroupOnGeom(Pn_4)
VPiq5M.GroupOnGeom(A2_1)
VPiq5M.GroupOnGeom(Vxr_5)
#V=500.0,0.0,0.0
try:
  print("Creation de: TUY6")
  Vd2x=geompy.MakeVectorDXDYDZ(500.0,0.0,0.0)
  Liste=[]
  Pn_6= geompy.MakeTranslationVectorDistance(Pn_4,Vd2x,500.0)
  Liste.append([Pn_6,"Pn_6"])
  TUY6= geompy.MakeVector(Pn_4,Pn_6)
  Liste.append([TUY6,"TUY6"])
  Cext = geompy.MakeCircle(Pn_4,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn_4,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY6)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY6_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY6")
  TUY6M = smesh.Mesh(TUY6)
  Decoupage = TUY6M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY6M,'TUY6')
  TUY6M.Compute()
  TUY6M.GroupOnGeom(Pn_4)
  TUY6M.GroupOnGeom(Pn_6)
  TUY6M.GroupOnGeom(TUY6)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#Bride=125.0,1
try:
  print "Ajout de la Bride : Bride7"
  Rb =150.0
  eb =55.0
  Lb = 125.0
  Liste=[]
  Pm7= geompy.MakeTranslationVectorDistance(Pn_6,Vd2x,62.5)
  Liste.append([Pm7,"Pm7"])
  Pn7_B= geompy.MakeTranslationVectorDistance(Pm7,Vd2x,62.5)
  Liste.append([Pn7_B,"Pn7_B"])
  Va7= geompy.MakeVector(Pn_6,Pm7)
  Liste.append([Va7,"Va7"])
  Vb7 = geompy.MakeVector(Pm7,Pn7_B)
  Liste.append([Vb7,"Vb7"])
  Vt = geompy.MakeVector(Pn_6,Pn7_B)
  Bride7= geompy.MakeCompound([Va7,Vb7])
  Liste.append([Bride7,"Bride7"])
  Cext = geompy.MakeCircle(Pn_6,Vd2x,Rb)
  Liste.append([Cext ,"Cext"])
  Cint = geompy.MakeCircle(Pn_6,Vd2x,Rb-eb)
  Liste.append([Cint ,"Cint"])
  S = geompy.MakeFaceWires([Cext, Cint], 1)
  Liste.append([S ,"S"])
  Bride3D = geompy.MakePipe( S ,Vt)
  Bride3D.SetColor(SALOMEDS.Color(1,0.6,0))
  Bride3D_id=geompy.addToStudy(Bride3D,"Bride7")
  gg.createAndDisplayGO(Bride3D_id)
  gg.setDisplayMode(Bride3D_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Bride3D,x[0],x[1])
  print ("     Maillage")
  Bride7M = smesh.Mesh(Bride7)
  Decoupage = Bride7M.Segment()
  Decoupage.NumberOfSegments(2)
  smesh.SetName(Bride7M,'Bride7')
  Bride7M.Compute()
  Bride7M.GroupOnGeom(Pn_6)
  Bride7M.GroupOnGeom(Pn7_B)
  Bride7M.GroupOnGeom(Pm7)
  Bride7M.GroupOnGeom(Va7)
  Bride7M.GroupOnGeom(Vb7)
except:
  print("Erreur Bride")
  for x in Liste:
    geompy.addToStudy(x[0],x[1])
  gg.createAndDisplayGO(O_id)
  gg.setDisplayMode(O_id,1)
#Bride=125.0,1
try:
  print "Ajout de la Bride : Bride8"
  Rb =150.0
  eb =55.0
  Lb = 125.0
  Liste=[]
  Pm8= geompy.MakeTranslationVectorDistance(Pn7_B,Vd2x,62.5)
  Liste.append([Pm8,"Pm8"])
  Pn8_B= geompy.MakeTranslationVectorDistance(Pm8,Vd2x,62.5)
  Liste.append([Pn8_B,"Pn8_B"])
  Va8= geompy.MakeVector(Pn7_B,Pm8)
  Liste.append([Va8,"Va8"])
  Vb8 = geompy.MakeVector(Pm8,Pn8_B)
  Liste.append([Vb8,"Vb8"])
  Vt = geompy.MakeVector(Pn7_B,Pn8_B)
  Bride8= geompy.MakeCompound([Va8,Vb8])
  Liste.append([Bride8,"Bride8"])
  Cext = geompy.MakeCircle(Pn7_B,Vd2x,Rb)
  Liste.append([Cext ,"Cext"])
  Cint = geompy.MakeCircle(Pn7_B,Vd2x,Rb-eb)
  Liste.append([Cint ,"Cint"])
  S = geompy.MakeFaceWires([Cext, Cint], 1)
  Liste.append([S ,"S"])
  Bride3D = geompy.MakePipe( S ,Vt)
  Bride3D.SetColor(SALOMEDS.Color(1,0.6,0))
  Bride3D_id=geompy.addToStudy(Bride3D,"Bride8")
  gg.createAndDisplayGO(Bride3D_id)
  gg.setDisplayMode(Bride3D_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Bride3D,x[0],x[1])
  print ("     Maillage")
  Bride8M = smesh.Mesh(Bride8)
  Decoupage = Bride8M.Segment()
  Decoupage.NumberOfSegments(2)
  smesh.SetName(Bride8M,'Bride8')
  Bride8M.Compute()
  Bride8M.GroupOnGeom(Pn7_B)
  Bride8M.GroupOnGeom(Pn8_B)
  Bride8M.GroupOnGeom(Pm8)
  Bride8M.GroupOnGeom(Va8)
  Bride8M.GroupOnGeom(Vb8)
except:
  print("Erreur Bride")
  for x in Liste:
    geompy.addToStudy(x[0],x[1])
  gg.createAndDisplayGO(O_id)
  gg.setDisplayMode(O_id,1)
#Vanne=500.0,1,250.0,-90
  #
try:
  print("Ajout de la Vanne : Vanne9")
  R =100.0
  Lv = 500.0
  Px = Pn8_B
  Liste=[]
  Pm = geompy.MakeVertexWithRef(Px,250.0,0.0,0.0)
  Pm9 = Pm
  Liste.append([Pm,"Pm9"])
  Pn = geompy.MakeVertexWithRef(Pm,250.0,0.0,0.0)
  Pn9=Pn
  Liste.append([Pn,"Pn9"])
  Va= geompy.MakeVector(Px,Pm)
  Va9=Va
  Liste.append([Va,"Va9"])
  Vb = geompy.MakeVector(Pm,Pn)
  Vb9=Vb
  Liste.append([Vb,"Vb9"])
  Pg= geompy.MakeVertexWithRef(Pm,0.0,-250.0,-1.5308084989341916e-14)
  Pg9= Pg
  Liste.append([Pg,"Pg9"])
  Vmg = geompy.MakeVector(Pm,Pg)
  Vmg9 = Vmg
  Liste.append([Vmg,"Vmg9"])
  Vanne= geompy.MakeCompound([Va9,Vb9,Vmg9])
  Vanne9= Vanne
  Liste.append([Vanne,"Vanne9"])
  # 
  VanneA = geompy.MakeCone(Px,Va,R,R*0.1,250.0)
  Liste.append([VanneA,"VanneA"])
  VanneB = geompy.MakeCone(Pm,Vb,R*0.1,R,250.0)
  Liste.append([VanneB,"VanneB"])
  Vanne3D = geompy.MakeCompound([VanneA, VanneB])
  Vanne3D.SetColor(SALOMEDS.Color(1,0,0))
  Vanne3D_id = geompy.addToStudy(Vanne3D,"Vanne93D")
  gg.createAndDisplayGO(Vanne3D_id)
  gg.setDisplayMode(Vanne3D_id,1)
  Cext = geompy.MakeCircle(Pm9,Vmg,R/4)
  Liste.append([Cext ,"Cext"])
  S = geompy.MakeFaceWires([Cext], 1)
  Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,Vmg9)
  Pipe.SetColor(SALOMEDS.Color(0,0,1))
  Pipe_id = geompy.addToStudyInFather(Vanne3D,Pipe,"Vanne93D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste:
       geompy.addToStudyInFather(Vanne3D,x[0],x[1])
  #
  # Création du maillage
  VanneM = smesh.Mesh(Vanne)
  Regular_TUBE = VanneM.Segment()
  Nb_Segments = Regular_TUBE.NumberOfSegments(1)
  Nb_Segments.SetDistrType( 0 )
  Quadratic_Mesh = Regular_TUBE.QuadraticMesh()
  smesh.SetName(VanneM , 'Vanne9')
  L1=[Pm,Pn,Va,Vb,Vmg,Vanne]
  for x in L1:
    VanneM.Group(x)
  VanneM.Group(Pg)
  VanneM.Compute()
  conodes = VanneM.FindCoincidentNodes( 1e-05 )
  VanneM.MergeNodes(conodes)
  Vanne9M=VanneM
except:
  print("Erreur Vanne")
  for x in Liste:
    geompy.addToStudy(x[0],x[1])
  gg.createAndDisplayGO(O_id)
  gg.setDisplayMode(O_id,1)
#Bride=125.0,1
try:
  print "Ajout de la Bride : Bride10"
  Rb =150.0
  eb =55.0
  Lb = 125.0
  Liste=[]
  Pm10= geompy.MakeTranslationVectorDistance(Pn9,Vd2x,62.5)
  Liste.append([Pm10,"Pm10"])
  Pn10_B= geompy.MakeTranslationVectorDistance(Pm10,Vd2x,62.5)
  Liste.append([Pn10_B,"Pn10_B"])
  Va10= geompy.MakeVector(Pn9,Pm10)
  Liste.append([Va10,"Va10"])
  Vb10 = geompy.MakeVector(Pm10,Pn10_B)
  Liste.append([Vb10,"Vb10"])
  Vt = geompy.MakeVector(Pn9,Pn10_B)
  Bride10= geompy.MakeCompound([Va10,Vb10])
  Liste.append([Bride10,"Bride10"])
  Cext = geompy.MakeCircle(Pn9,Vd2x,Rb)
  Liste.append([Cext ,"Cext"])
  Cint = geompy.MakeCircle(Pn9,Vd2x,Rb-eb)
  Liste.append([Cint ,"Cint"])
  S = geompy.MakeFaceWires([Cext, Cint], 1)
  Liste.append([S ,"S"])
  Bride3D = geompy.MakePipe( S ,Vt)
  Bride3D.SetColor(SALOMEDS.Color(1,0.6,0))
  Bride3D_id=geompy.addToStudy(Bride3D,"Bride10")
  gg.createAndDisplayGO(Bride3D_id)
  gg.setDisplayMode(Bride3D_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Bride3D,x[0],x[1])
  print ("     Maillage")
  Bride10M = smesh.Mesh(Bride10)
  Decoupage = Bride10M.Segment()
  Decoupage.NumberOfSegments(2)
  smesh.SetName(Bride10M,'Bride10')
  Bride10M.Compute()
  Bride10M.GroupOnGeom(Pn9)
  Bride10M.GroupOnGeom(Pn10_B)
  Bride10M.GroupOnGeom(Pm10)
  Bride10M.GroupOnGeom(Va10)
  Bride10M.GroupOnGeom(Vb10)
except:
  print("Erreur Bride")
  for x in Liste:
    geompy.addToStudy(x[0],x[1])
  gg.createAndDisplayGO(O_id)
  gg.setDisplayMode(O_id,1)
#Bride=125.0,1
try:
  print "Ajout de la Bride : Bride11"
  Rb =150.0
  eb =55.0
  Lb = 125.0
  Liste=[]
  Pm11= geompy.MakeTranslationVectorDistance(Pn10_B,Vd2x,62.5)
  Liste.append([Pm11,"Pm11"])
  Pn11_B= geompy.MakeTranslationVectorDistance(Pm11,Vd2x,62.5)
  Liste.append([Pn11_B,"Pn11_B"])
  Va11= geompy.MakeVector(Pn10_B,Pm11)
  Liste.append([Va11,"Va11"])
  Vb11 = geompy.MakeVector(Pm11,Pn11_B)
  Liste.append([Vb11,"Vb11"])
  Vt = geompy.MakeVector(Pn10_B,Pn11_B)
  Bride11= geompy.MakeCompound([Va11,Vb11])
  Liste.append([Bride11,"Bride11"])
  Cext = geompy.MakeCircle(Pn10_B,Vd2x,Rb)
  Liste.append([Cext ,"Cext"])
  Cint = geompy.MakeCircle(Pn10_B,Vd2x,Rb-eb)
  Liste.append([Cint ,"Cint"])
  S = geompy.MakeFaceWires([Cext, Cint], 1)
  Liste.append([S ,"S"])
  Bride3D = geompy.MakePipe( S ,Vt)
  Bride3D.SetColor(SALOMEDS.Color(1,0.6,0))
  Bride3D_id=geompy.addToStudy(Bride3D,"Bride11")
  gg.createAndDisplayGO(Bride3D_id)
  gg.setDisplayMode(Bride3D_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Bride3D,x[0],x[1])
  print ("     Maillage")
  Bride11M = smesh.Mesh(Bride11)
  Decoupage = Bride11M.Segment()
  Decoupage.NumberOfSegments(2)
  smesh.SetName(Bride11M,'Bride11')
  Bride11M.Compute()
  Bride11M.GroupOnGeom(Pn10_B)
  Bride11M.GroupOnGeom(Pn11_B)
  Bride11M.GroupOnGeom(Pm11)
  Bride11M.GroupOnGeom(Va11)
  Bride11M.GroupOnGeom(Vb11)
except:
  print("Erreur Bride")
  for x in Liste:
    geompy.addToStudy(x[0],x[1])
  gg.createAndDisplayGO(O_id)
  gg.setDisplayMode(O_id,1)
#V=500.0,0.0,0.0
try:
  print("Creation de: TUY12")
  Vd2x=geompy.MakeVectorDXDYDZ(500.0,0.0,0.0)
  Liste=[]
  Pn_12= geompy.MakeTranslationVectorDistance(Pn11_B,Vd2x,500.0)
  Liste.append([Pn_12,"Pn_12"])
  TUY12= geompy.MakeVector(Pn11_B,Pn_12)
  Liste.append([TUY12,"TUY12"])
  Cext = geompy.MakeCircle(Pn11_B,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn11_B,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY12)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY12_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY12")
  TUY12M = smesh.Mesh(TUY12)
  Decoupage = TUY12M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY12M,'TUY12')
  TUY12M.Compute()
  TUY12M.GroupOnGeom(Pn11_B)
  TUY12M.GroupOnGeom(Pn_12)
  TUY12M.GroupOnGeom(TUY12)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#VPiq=66.66666666666667,5,180,0,10:A3_1
try:
  #Piquage 1D
  print "Piquage 1D"
  Liste=[]
  Rp = 66.66666666666667
  ep = 5.0
  Rc = 100.0
  ec = 5.0
  Lp0=120.0
  Px =Pn_12
  Pr = geompy.MakeVertexWithRef(Px,0.0,1.2246467991473532e-14,100.0)
  Vd3x = geompy.MakeVector(Px,Pr)
  A3_1=Pr
  Liste.append([Vd3x,"Vd3x"])
  Pp = geompy.MakeTranslationVectorDistance(Px,Vd3x,Lp0)
  Pp_13=Pp
  Liste.append([Pp,"Pp_13"])
  Vxr = geompy.MakeVector(Px,Pr)
  Vxr_13=Vxr
  Liste.append([Vxr,"Vxr_13"])
  Vrp = geompy.MakeVector(Pr,Pp)
  Vrp_13=Vrp
  Liste.append([Vrp,"Vrp_13"])
  VPiq=geompy.MakeCompound([Vxr_13,Vrp_13])
  VPiq13=VPiq
  Liste.append([VPiq,"VPiq13"])
  Cpe = geompy.MakeCircle(Px,Vd3x,Rp*0.95)
  Liste.append([Cpe,"Cpe"])
  Spe = geompy.MakeFaceWires([Cpe], 1)
  Cylpe = geompy.MakePrismVecH(Spe, Vd3x, Lp0)
  Liste.append([Cylpe,"Cylpe"])
  Cpi = geompy.MakeCircle(Px,Vd3x,Rp-ep)
  Liste.append([Cpi,"Cpi"])
  Spi = geompy.MakeFaceWires([Cpe,Cpi], 1)
  Cylpi = geompy.MakePrismVecH(Spi, Vd3x, Lp0)
  Liste.append([Cylpi,"Cylpi"])
  VPiq3D=geompy.MakeCut(Cylpe, Cylpi)
  Liste.append([VPiq3D,"VPiq3D"])
  VPiq3D.SetColor(SALOMEDS.Color(0.9,0.9,0.9))
  VPiq133D= VPiq3D
  VPiq3D_id = geompy.addToStudy(VPiq3D,"VPiq133D")
  gg.createAndDisplayGO(VPiq3D_id)
  gg.setDisplayMode(VPiq3D_id,1)
  for x in Liste:
    geompy.addToStudyInFather(VPiq3D,x[0],x[1])
except:
  print "Erreur VPiq : geometrie"
  for x in Liste:
    geompy.addToStudy(x[0],x[1])
    gg.createAndDisplayGO(O_id)
    gg.setDisplayMode(O_id,1)
VPiq13M= smesh.Mesh(Vxr_13)
Regular_TUBE = VPiq13M.Segment()
Nb_Segments = Regular_TUBE.NumberOfSegments( 1 )
Nb_Segments.SetDistrType( 0 )
VPiq13M.Compute()
smesh.SetName(VPiq13M , 'VPiq13M')
VPiq13M.GroupOnGeom(Pn_12)
VPiq13M.GroupOnGeom(A3_1)
VPiq13M.GroupOnGeom(Vxr_13)
#V=1000.0,0.0,0.0
try:
  print("Creation de: TUY14")
  Vd2x=geompy.MakeVectorDXDYDZ(1000.0,0.0,0.0)
  Liste=[]
  Pn_14= geompy.MakeTranslationVectorDistance(Pn_12,Vd2x,1000.0)
  Liste.append([Pn_14,"Pn_14"])
  TUY14= geompy.MakeVector(Pn_12,Pn_14)
  Liste.append([TUY14,"TUY14"])
  Cext = geompy.MakeCircle(Pn_12,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn_12,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY14)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY14_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY14")
  TUY14M = smesh.Mesh(TUY14)
  Decoupage = TUY14M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY14M,'TUY14')
  TUY14M.Compute()
  TUY14M.GroupOnGeom(Pn_12)
  TUY14M.GroupOnGeom(Pn_14)
  TUY14M.GroupOnGeom(TUY14)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#Ca=250.0,90,90
try:
  print("Ajouter_Ca_TUBE: COU15")
  Liste=[]
  rc = 250.0
  acr = 1.5707963267948966
  adr = 1.5707963267948966
  Pcg = geompy.MakeVertex(5000.0,250.0,-1.5308084989341916e-14)
  Liste.append([Pcg,"Pcg"])
  Pc = geompy.MakeVertexWithRef(Pn_14,0.0,250.0,-1.5308084989341916e-14)
  Liste.append([Pc,"Pc"])
  Pa = geompy.MakeVertexWithRef(Pc,-0.0,1.530808498934192e-14,250.0)
  Liste.append([Pa,"Pa"])
  Vaxe = geompy.MakeVector(Pc,Pa)
  Liste.append([Vaxe,"Vaxe"])
  Pn_15 = geompy.MakeRotation(Pn_14,Vaxe,acr)
  COU15 = geompy.MakeArcCenter(Pc,Pn_14,Pn_15)
  Liste.append([COU15,"COU15"])
  Pn_15 = geompy.GetSame(COU15,Pn_15)
  Liste.append([Pn_15,"Pn_15"])
  Pn_14 = geompy.GetSame(COU15,Pn_14)
  Liste.append([Pn_14,"Pn_14"])
  Cext = geompy.MakeCircle(Pn_14,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn_14,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,COU15)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"COU15_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  Px=Pn_15
  Vd2x = geompy.MakeVectorDXDYDZ(0.0,1.0,-6.123233995736766e-17)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: COU15")
  COU15M = smesh.Mesh(COU15)
  Decoupage = COU15M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(COU15M,'COU15')
  COU15M.Compute()
  COU15M.GroupOnGeom(Pn_14)
  COU15M.GroupOnGeom(Pn_15)
  COU15M.GroupOnGeom(COU15)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#Sc=200.0,5,500.0
  #
try:
  print("Creation de reducteur")
  Liste=[]
  Px=Pn_15
  Pn = geompy.MakeVertexWithRef(Px,0.0,500.0,-3.061616997868383e-14)
  Pn16=Pn
  Liste.append([Pn,"Pn16"])
  Red = geompy.MakeVector(Px,Pn)
  Red16=Red
  Liste.append([Red,"Red16"])
  Red3De = geompy.MakeCone(Px,Red,100.0,200.0,500.0)
  Red3Di = geompy.MakeCone(Px,Red,95.0,195.0,500.0)
  Red3D = geompy.MakeCut(Red3De,Red3Di)
  Red3D.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Red3D_id = geompy.addToStudy(Red3D,"Red163D")
  gg.createAndDisplayGO(Red3D_id)
  gg.setDisplayMode(Red3D_id,1)
  #
  for x in Liste :
     geompy.addToStudyInFather(Red3D,x[0],x[1])
  #
  RedM = smesh.Mesh(Red)
  Regular_TUBE = RedM.Segment()
  Nb_Segments = Regular_TUBE.NumberOfSegments(1)
  Nb_Segments.SetDistrType( 0 )
  smesh.SetName(RedM , 'Red16')
  RedM.Compute()
  Red16M =RedM
  RedM.Group(Red16)
  RedM.Group(Pn_15)
  RedM.Group(Pn16)
  #
  Px = Pn
  R = 200.0
  e = 5.0
except:
  print "Erreur Changement de section"
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
  gg.createAndDisplayGO(O_id)
  gg.setDisplayMode(O_id,0)
#V=0.0,500.0,-3.061616997868383e-14
try:
  print("Creation de: TUY17")
  Vd2x=geompy.MakeVectorDXDYDZ(0.0,500.0,-3.061616997868383e-14)
  Liste=[]
  Pn_17= geompy.MakeTranslationVectorDistance(Pn16,Vd2x,500.0)
  Liste.append([Pn_17,"Pn_17"])
  TUY17= geompy.MakeVector(Pn16,Pn_17)
  Liste.append([TUY17,"TUY17"])
  Cext = geompy.MakeCircle(Pn16,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn16,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY17)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY17_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY17")
  TUY17M = smesh.Mesh(TUY17)
  Decoupage = TUY17M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY17M,'TUY17')
  TUY17M.Compute()
  TUY17M.GroupOnGeom(Pn16)
  TUY17M.GroupOnGeom(Pn_17)
  TUY17M.GroupOnGeom(TUY17)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#Masse=1
print("Ajout d'une masse")
C = geompy.MakeCircle(Pn_17,Vd2x,R+e)
S = geompy.MakeFaceWires([C], 1)
Masse17 = geompy.MakePrismVecH2Ways(S, Vd2x,R/2)
Masse17.SetColor(SALOMEDS.Color(0,0,1))
P_id = geompy.addToStudy(Masse17,"Masse17")
gg.createAndDisplayGO(P_id)
gg.setDisplayMode(P_id,1)
#V=0.0,500.0,-3.061616997868383e-14
try:
  print("Creation de: TUY18")
  Vd2x=geompy.MakeVectorDXDYDZ(0.0,500.0,-3.061616997868383e-14)
  Liste=[]
  Pn_18= geompy.MakeTranslationVectorDistance(Pn_17,Vd2x,500.0)
  Liste.append([Pn_18,"Pn_18"])
  TUY18= geompy.MakeVector(Pn_17,Pn_18)
  Liste.append([TUY18,"TUY18"])
  Cext = geompy.MakeCircle(Pn_17,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn_17,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY18)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY18_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY18")
  TUY18M = smesh.Mesh(TUY18)
  Decoupage = TUY18M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY18M,'TUY18')
  TUY18M.Compute()
  TUY18M.GroupOnGeom(Pn_17)
  TUY18M.GroupOnGeom(Pn_18)
  TUY18M.GroupOnGeom(TUY18)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#CB
#Pxr:A1_1
R=66.66666666666667
e=5.0
Vd2x = geompy.MakeVectorDXDYDZ(0.0,1.2246467991473532e-16,1.0)
#V=0.0,6.123233995736766e-14,500.0
try:
  print("Creation de: TUY19")
  Vd2x=geompy.MakeVectorDXDYDZ(0.0,6.123233995736766e-14,500.0)
  Liste=[]
  Pn_19= geompy.MakeTranslationVectorDistance(A1_1,Vd2x,500.0)
  Liste.append([Pn_19,"Pn_19"])
  TUY19= geompy.MakeVector(A1_1,Pn_19)
  Liste.append([TUY19,"TUY19"])
  Cext = geompy.MakeCircle(A1_1,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(A1_1,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY19)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY19_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY19")
  TUY19M = smesh.Mesh(TUY19)
  Decoupage = TUY19M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY19M,'TUY19')
  TUY19M.Compute()
  TUY19M.GroupOnGeom(A1_1)
  TUY19M.GroupOnGeom(Pn_19)
  TUY19M.GroupOnGeom(TUY19)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#VPiq=50.0,2,0,0,10:B1_1
try:
  #Piquage 1D
  print "Piquage 1D"
  Liste=[]
  Rp = 50.0
  ep = 2.0
  Rc = 66.66666666666667
  ec = 5.0
  Lp0=80.0
  Px =Pn_19
  Pr = geompy.MakeVertexWithRef(Px,-66.66666666666667,0.0,0.0)
  Vd3x = geompy.MakeVector(Px,Pr)
  B1_1=Pr
  Liste.append([Vd3x,"Vd3x"])
  Pp = geompy.MakeTranslationVectorDistance(Px,Vd3x,Lp0)
  Pp_20=Pp
  Liste.append([Pp,"Pp_20"])
  Vxr = geompy.MakeVector(Px,Pr)
  Vxr_20=Vxr
  Liste.append([Vxr,"Vxr_20"])
  Vrp = geompy.MakeVector(Pr,Pp)
  Vrp_20=Vrp
  Liste.append([Vrp,"Vrp_20"])
  VPiq=geompy.MakeCompound([Vxr_20,Vrp_20])
  VPiq20=VPiq
  Liste.append([VPiq,"VPiq20"])
  Cpe = geompy.MakeCircle(Px,Vd3x,Rp*0.95)
  Liste.append([Cpe,"Cpe"])
  Spe = geompy.MakeFaceWires([Cpe], 1)
  Cylpe = geompy.MakePrismVecH(Spe, Vd3x, Lp0)
  Liste.append([Cylpe,"Cylpe"])
  Cpi = geompy.MakeCircle(Px,Vd3x,Rp-ep)
  Liste.append([Cpi,"Cpi"])
  Spi = geompy.MakeFaceWires([Cpe,Cpi], 1)
  Cylpi = geompy.MakePrismVecH(Spi, Vd3x, Lp0)
  Liste.append([Cylpi,"Cylpi"])
  VPiq3D=geompy.MakeCut(Cylpe, Cylpi)
  Liste.append([VPiq3D,"VPiq3D"])
  VPiq3D.SetColor(SALOMEDS.Color(0.9,0.9,0.9))
  VPiq203D= VPiq3D
  VPiq3D_id = geompy.addToStudy(VPiq3D,"VPiq203D")
  gg.createAndDisplayGO(VPiq3D_id)
  gg.setDisplayMode(VPiq3D_id,1)
  for x in Liste:
    geompy.addToStudyInFather(VPiq3D,x[0],x[1])
except:
  print "Erreur VPiq : geometrie"
  for x in Liste:
    geompy.addToStudy(x[0],x[1])
    gg.createAndDisplayGO(O_id)
    gg.setDisplayMode(O_id,1)
VPiq20M= smesh.Mesh(Vxr_20)
Regular_TUBE = VPiq20M.Segment()
Nb_Segments = Regular_TUBE.NumberOfSegments( 1 )
Nb_Segments.SetDistrType( 0 )
VPiq20M.Compute()
smesh.SetName(VPiq20M , 'VPiq20M')
VPiq20M.GroupOnGeom(Pn_19)
VPiq20M.GroupOnGeom(B1_1)
VPiq20M.GroupOnGeom(Vxr_20)
#V=0.0,1.2246467991473532e-13,1000.0
try:
  print("Creation de: TUY21")
  Vd2x=geompy.MakeVectorDXDYDZ(0.0,1.2246467991473532e-13,1000.0)
  Liste=[]
  Pn_21= geompy.MakeTranslationVectorDistance(Pn_19,Vd2x,1000.0)
  Liste.append([Pn_21,"Pn_21"])
  TUY21= geompy.MakeVector(Pn_19,Pn_21)
  Liste.append([TUY21,"TUY21"])
  Cext = geompy.MakeCircle(Pn_19,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn_19,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY21)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY21_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY21")
  TUY21M = smesh.Mesh(TUY21)
  Decoupage = TUY21M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY21M,'TUY21')
  TUY21M.Compute()
  TUY21M.GroupOnGeom(Pn_19)
  TUY21M.GroupOnGeom(Pn_21)
  TUY21M.GroupOnGeom(TUY21)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#Ca=333.3333333333333,90,90
try:
  print("Ajouter_Ca_TUBE: COU22")
  Liste=[]
  rc = 333.3333333333333
  acr = 1.5707963267948966
  adr = 1.5707963267948966
  Pcg = geompy.MakeVertex(1000.0,-333.33333333333314,1600.0)
  Liste.append([Pcg,"Pcg"])
  Pc = geompy.MakeVertexWithRef(Pn_21,-2.041077998578922e-14,-333.3333333333333,4.082155997157844e-14)
  Liste.append([Pc,"Pc"])
  Pa = geompy.MakeVertexWithRef(Pc,333.3333333333333,-2.041077998578922e-14,2.4995996377697628e-30)
  Liste.append([Pa,"Pa"])
  Vaxe = geompy.MakeVector(Pc,Pa)
  Liste.append([Vaxe,"Vaxe"])
  Pn_22 = geompy.MakeRotation(Pn_21,Vaxe,acr)
  COU22 = geompy.MakeArcCenter(Pc,Pn_21,Pn_22)
  Liste.append([COU22,"COU22"])
  Pn_22 = geompy.GetSame(COU22,Pn_22)
  Liste.append([Pn_22,"Pn_22"])
  Pn_21 = geompy.GetSame(COU22,Pn_21)
  Liste.append([Pn_21,"Pn_21"])
  Cext = geompy.MakeCircle(Pn_21,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn_21,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,COU22)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"COU22_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  Px=Pn_22
  Vd2x = geompy.MakeVectorDXDYDZ(-6.123233995736766e-17,-1.0,1.2246467991473532e-16)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: COU22")
  COU22M = smesh.Mesh(COU22)
  Decoupage = COU22M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(COU22M,'COU22')
  COU22M.Compute()
  COU22M.GroupOnGeom(Pn_21)
  COU22M.GroupOnGeom(Pn_22)
  COU22M.GroupOnGeom(COU22)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#Sc=125.0,5,500.0
  #
try:
  print("Creation de reducteur")
  Liste=[]
  Px=Pn_22
  Pn = geompy.MakeVertexWithRef(Px,-3.061616997868383e-14,-500.0,6.123233995736766e-14)
  Pn23=Pn
  Liste.append([Pn,"Pn23"])
  Red = geompy.MakeVector(Px,Pn)
  Red23=Red
  Liste.append([Red,"Red23"])
  Red3De = geompy.MakeCone(Px,Red,66.66666666666667,125.0,500.0)
  Red3Di = geompy.MakeCone(Px,Red,61.66666666666667,120.0,500.0)
  Red3D = geompy.MakeCut(Red3De,Red3Di)
  Red3D.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Red3D_id = geompy.addToStudy(Red3D,"Red233D")
  gg.createAndDisplayGO(Red3D_id)
  gg.setDisplayMode(Red3D_id,1)
  #
  for x in Liste :
     geompy.addToStudyInFather(Red3D,x[0],x[1])
  #
  RedM = smesh.Mesh(Red)
  Regular_TUBE = RedM.Segment()
  Nb_Segments = Regular_TUBE.NumberOfSegments(1)
  Nb_Segments.SetDistrType( 0 )
  smesh.SetName(RedM , 'Red23')
  RedM.Compute()
  Red23M =RedM
  RedM.Group(Red23)
  RedM.Group(Pn_22)
  RedM.Group(Pn23)
  #
  Px = Pn
  R = 125.0
  e = 5.0
except:
  print "Erreur Changement de section"
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
  gg.createAndDisplayGO(O_id)
  gg.setDisplayMode(O_id,0)
#V=-3.061616997868383e-14,-500.0,6.123233995736768e-14
try:
  print("Creation de: TUY24")
  Vd2x=geompy.MakeVectorDXDYDZ(-3.061616997868383e-14,-500.0,6.123233995736768e-14)
  Liste=[]
  Pn_24= geompy.MakeTranslationVectorDistance(Pn23,Vd2x,500.0)
  Liste.append([Pn_24,"Pn_24"])
  TUY24= geompy.MakeVector(Pn23,Pn_24)
  Liste.append([TUY24,"TUY24"])
  Cext = geompy.MakeCircle(Pn23,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn23,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY24)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY24_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY24")
  TUY24M = smesh.Mesh(TUY24)
  Decoupage = TUY24M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY24M,'TUY24')
  TUY24M.Compute()
  TUY24M.GroupOnGeom(Pn23)
  TUY24M.GroupOnGeom(Pn_24)
  TUY24M.GroupOnGeom(TUY24)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#GL
#Pxr:A2_1
R=66.66666666666667
e=5.0
Vd2x = geompy.MakeVectorDXDYDZ(0.0,0.0,-1.0)
#V=0.0,0.0,-500.0
try:
  print("Creation de: TUY25")
  Vd2x=geompy.MakeVectorDXDYDZ(0.0,0.0,-500.0)
  Liste=[]
  Pn_25= geompy.MakeTranslationVectorDistance(A2_1,Vd2x,500.0)
  Liste.append([Pn_25,"Pn_25"])
  TUY25= geompy.MakeVector(A2_1,Pn_25)
  Liste.append([TUY25,"TUY25"])
  Cext = geompy.MakeCircle(A2_1,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(A2_1,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY25)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY25_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY25")
  TUY25M = smesh.Mesh(TUY25)
  Decoupage = TUY25M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY25M,'TUY25')
  TUY25M.Compute()
  TUY25M.GroupOnGeom(A2_1)
  TUY25M.GroupOnGeom(Pn_25)
  TUY25M.GroupOnGeom(TUY25)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#VPiq=50.0,2,90,0,10:B2_1
try:
  #Piquage 1D
  print "Piquage 1D"
  Liste=[]
  Rp = 50.0
  ep = 2.0
  Rc = 66.66666666666667
  ec = 5.0
  Lp0=80.0
  Px =Pn_25
  Pr = geompy.MakeVertexWithRef(Px,-4.0821559971578446e-15,66.66666666666667,0.0)
  Vd3x = geompy.MakeVector(Px,Pr)
  B2_1=Pr
  Liste.append([Vd3x,"Vd3x"])
  Pp = geompy.MakeTranslationVectorDistance(Px,Vd3x,Lp0)
  Pp_26=Pp
  Liste.append([Pp,"Pp_26"])
  Vxr = geompy.MakeVector(Px,Pr)
  Vxr_26=Vxr
  Liste.append([Vxr,"Vxr_26"])
  Vrp = geompy.MakeVector(Pr,Pp)
  Vrp_26=Vrp
  Liste.append([Vrp,"Vrp_26"])
  VPiq=geompy.MakeCompound([Vxr_26,Vrp_26])
  VPiq26=VPiq
  Liste.append([VPiq,"VPiq26"])
  Cpe = geompy.MakeCircle(Px,Vd3x,Rp*0.95)
  Liste.append([Cpe,"Cpe"])
  Spe = geompy.MakeFaceWires([Cpe], 1)
  Cylpe = geompy.MakePrismVecH(Spe, Vd3x, Lp0)
  Liste.append([Cylpe,"Cylpe"])
  Cpi = geompy.MakeCircle(Px,Vd3x,Rp-ep)
  Liste.append([Cpi,"Cpi"])
  Spi = geompy.MakeFaceWires([Cpe,Cpi], 1)
  Cylpi = geompy.MakePrismVecH(Spi, Vd3x, Lp0)
  Liste.append([Cylpi,"Cylpi"])
  VPiq3D=geompy.MakeCut(Cylpe, Cylpi)
  Liste.append([VPiq3D,"VPiq3D"])
  VPiq3D.SetColor(SALOMEDS.Color(0.9,0.9,0.9))
  VPiq263D= VPiq3D
  VPiq3D_id = geompy.addToStudy(VPiq3D,"VPiq263D")
  gg.createAndDisplayGO(VPiq3D_id)
  gg.setDisplayMode(VPiq3D_id,1)
  for x in Liste:
    geompy.addToStudyInFather(VPiq3D,x[0],x[1])
except:
  print "Erreur VPiq : geometrie"
  for x in Liste:
    geompy.addToStudy(x[0],x[1])
    gg.createAndDisplayGO(O_id)
    gg.setDisplayMode(O_id,1)
VPiq26M= smesh.Mesh(Vxr_26)
Regular_TUBE = VPiq26M.Segment()
Nb_Segments = Regular_TUBE.NumberOfSegments( 1 )
Nb_Segments.SetDistrType( 0 )
VPiq26M.Compute()
smesh.SetName(VPiq26M , 'VPiq26M')
VPiq26M.GroupOnGeom(Pn_25)
VPiq26M.GroupOnGeom(B2_1)
VPiq26M.GroupOnGeom(Vxr_26)
#V=0.0,0.0,-500.0
try:
  print("Creation de: TUY27")
  Vd2x=geompy.MakeVectorDXDYDZ(0.0,0.0,-500.0)
  Liste=[]
  Pn_27= geompy.MakeTranslationVectorDistance(Pn_25,Vd2x,500.0)
  Liste.append([Pn_27,"Pn_27"])
  TUY27= geompy.MakeVector(Pn_25,Pn_27)
  Liste.append([TUY27,"TUY27"])
  Cext = geompy.MakeCircle(Pn_25,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn_25,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY27)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY27_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY27")
  TUY27M = smesh.Mesh(TUY27)
  Decoupage = TUY27M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY27M,'TUY27')
  TUY27M.Compute()
  TUY27M.GroupOnGeom(Pn_25)
  TUY27M.GroupOnGeom(Pn_27)
  TUY27M.GroupOnGeom(TUY27)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#V=0.0,0.0,-1000.0
try:
  print("Creation de: TUY28")
  Vd2x=geompy.MakeVectorDXDYDZ(0.0,0.0,-1000.0)
  Liste=[]
  Pn_28= geompy.MakeTranslationVectorDistance(Pn_27,Vd2x,1000.0)
  Liste.append([Pn_28,"Pn_28"])
  TUY28= geompy.MakeVector(Pn_27,Pn_28)
  Liste.append([TUY28,"TUY28"])
  Cext = geompy.MakeCircle(Pn_27,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn_27,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY28)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY28_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY28")
  TUY28M = smesh.Mesh(TUY28)
  Decoupage = TUY28M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY28M,'TUY28')
  TUY28M.Compute()
  TUY28M.GroupOnGeom(Pn_27)
  TUY28M.GroupOnGeom(Pn_28)
  TUY28M.GroupOnGeom(TUY28)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#Ca=333.3333333333333,90,0
try:
  print("Ajouter_Ca_TUBE: COU29")
  Liste=[]
  rc = 333.3333333333333
  acr = 1.5707963267948966
  adr = 0.0
  Pcg = geompy.MakeVertex(1666.6666666666667,0.0,-2100.0)
  Liste.append([Pcg,"Pcg"])
  Pc = geompy.MakeVertexWithRef(Pn_28,-333.3333333333333,0.0,0.0)
  Liste.append([Pc,"Pc"])
  Pa = geompy.MakeVertexWithRef(Pc,0.0,333.3333333333333,0.0)
  Liste.append([Pa,"Pa"])
  Vaxe = geompy.MakeVector(Pc,Pa)
  Liste.append([Vaxe,"Vaxe"])
  Pn_29 = geompy.MakeRotation(Pn_28,Vaxe,acr)
  COU29 = geompy.MakeArcCenter(Pc,Pn_28,Pn_29)
  Liste.append([COU29,"COU29"])
  Pn_29 = geompy.GetSame(COU29,Pn_29)
  Liste.append([Pn_29,"Pn_29"])
  Pn_28 = geompy.GetSame(COU29,Pn_28)
  Liste.append([Pn_28,"Pn_28"])
  Cext = geompy.MakeCircle(Pn_28,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn_28,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,COU29)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"COU29_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  Px=Pn_29
  Vd2x = geompy.MakeVectorDXDYDZ(-1.0,0.0,0.0)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: COU29")
  COU29M = smesh.Mesh(COU29)
  Decoupage = COU29M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(COU29M,'COU29')
  COU29M.Compute()
  COU29M.GroupOnGeom(Pn_28)
  COU29M.GroupOnGeom(Pn_29)
  COU29M.GroupOnGeom(COU29)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#Sc=125.0,5,500.0
  #
try:
  print("Creation de reducteur")
  Liste=[]
  Px=Pn_29
  Pn = geompy.MakeVertexWithRef(Px,-500.0,0.0,0.0)
  Pn30=Pn
  Liste.append([Pn,"Pn30"])
  Red = geompy.MakeVector(Px,Pn)
  Red30=Red
  Liste.append([Red,"Red30"])
  Red3De = geompy.MakeCone(Px,Red,66.66666666666667,125.0,500.0)
  Red3Di = geompy.MakeCone(Px,Red,61.66666666666667,120.0,500.0)
  Red3D = geompy.MakeCut(Red3De,Red3Di)
  Red3D.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Red3D_id = geompy.addToStudy(Red3D,"Red303D")
  gg.createAndDisplayGO(Red3D_id)
  gg.setDisplayMode(Red3D_id,1)
  #
  for x in Liste :
     geompy.addToStudyInFather(Red3D,x[0],x[1])
  #
  RedM = smesh.Mesh(Red)
  Regular_TUBE = RedM.Segment()
  Nb_Segments = Regular_TUBE.NumberOfSegments(1)
  Nb_Segments.SetDistrType( 0 )
  smesh.SetName(RedM , 'Red30')
  RedM.Compute()
  Red30M =RedM
  RedM.Group(Red30)
  RedM.Group(Pn_29)
  RedM.Group(Pn30)
  #
  Px = Pn
  R = 125.0
  e = 5.0
except:
  print "Erreur Changement de section"
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
  gg.createAndDisplayGO(O_id)
  gg.setDisplayMode(O_id,0)
#V=-500.0,0.0,0.0
try:
  print("Creation de: TUY31")
  Vd2x=geompy.MakeVectorDXDYDZ(-500.0,0.0,0.0)
  Liste=[]
  Pn_31= geompy.MakeTranslationVectorDistance(Pn30,Vd2x,500.0)
  Liste.append([Pn_31,"Pn_31"])
  TUY31= geompy.MakeVector(Pn30,Pn_31)
  Liste.append([TUY31,"TUY31"])
  Cext = geompy.MakeCircle(Pn30,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn30,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY31)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY31_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY31")
  TUY31M = smesh.Mesh(TUY31)
  Decoupage = TUY31M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY31M,'TUY31')
  TUY31M.Compute()
  TUY31M.GroupOnGeom(Pn30)
  TUY31M.GroupOnGeom(Pn_31)
  TUY31M.GroupOnGeom(TUY31)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#GL
#V=-500.0,0.0,0.0
try:
  print("Creation de: TUY32")
  Vd2x=geompy.MakeVectorDXDYDZ(-500.0,0.0,0.0)
  Liste=[]
  Pn_32= geompy.MakeTranslationVectorDistance(Pn_31,Vd2x,500.0)
  Liste.append([Pn_32,"Pn_32"])
  TUY32= geompy.MakeVector(Pn_31,Pn_32)
  Liste.append([TUY32,"TUY32"])
  Cext = geompy.MakeCircle(Pn_31,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn_31,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY32)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY32_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY32")
  TUY32M = smesh.Mesh(TUY32)
  Decoupage = TUY32M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY32M,'TUY32')
  TUY32M.Compute()
  TUY32M.GroupOnGeom(Pn_31)
  TUY32M.GroupOnGeom(Pn_32)
  TUY32M.GroupOnGeom(TUY32)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#Masse=1
print("Ajout d'une masse")
C = geompy.MakeCircle(Pn_32,Vd2x,R+e)
S = geompy.MakeFaceWires([C], 1)
Masse32 = geompy.MakePrismVecH2Ways(S, Vd2x,R/2)
Masse32.SetColor(SALOMEDS.Color(0,0,1))
P_id = geompy.addToStudy(Masse32,"Masse32")
gg.createAndDisplayGO(P_id)
gg.setDisplayMode(P_id,1)
#Pxr:A3_1
R=66.66666666666667
e=5.0
Vd2x = geompy.MakeVectorDXDYDZ(0.0,1.2246467991473532e-16,1.0)
#V=0.0,6.123233995736766e-14,500.0
try:
  print("Creation de: TUY33")
  Vd2x=geompy.MakeVectorDXDYDZ(0.0,6.123233995736766e-14,500.0)
  Liste=[]
  Pn_33= geompy.MakeTranslationVectorDistance(A3_1,Vd2x,500.0)
  Liste.append([Pn_33,"Pn_33"])
  TUY33= geompy.MakeVector(A3_1,Pn_33)
  Liste.append([TUY33,"TUY33"])
  Cext = geompy.MakeCircle(A3_1,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(A3_1,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY33)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY33_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY33")
  TUY33M = smesh.Mesh(TUY33)
  Decoupage = TUY33M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY33M,'TUY33')
  TUY33M.Compute()
  TUY33M.GroupOnGeom(A3_1)
  TUY33M.GroupOnGeom(Pn_33)
  TUY33M.GroupOnGeom(TUY33)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#VPiq=50.0,2,180,0,10:B3_1
try:
  #Piquage 1D
  print "Piquage 1D"
  Liste=[]
  Rp = 50.0
  ep = 2.0
  Rc = 66.66666666666667
  ec = 5.0
  Lp0=80.0
  Px =Pn_33
  Pr = geompy.MakeVertexWithRef(Px,66.66666666666667,-8.164311994315689e-15,9.99839855107905e-31)
  Vd3x = geompy.MakeVector(Px,Pr)
  B3_1=Pr
  Liste.append([Vd3x,"Vd3x"])
  Pp = geompy.MakeTranslationVectorDistance(Px,Vd3x,Lp0)
  Pp_34=Pp
  Liste.append([Pp,"Pp_34"])
  Vxr = geompy.MakeVector(Px,Pr)
  Vxr_34=Vxr
  Liste.append([Vxr,"Vxr_34"])
  Vrp = geompy.MakeVector(Pr,Pp)
  Vrp_34=Vrp
  Liste.append([Vrp,"Vrp_34"])
  VPiq=geompy.MakeCompound([Vxr_34,Vrp_34])
  VPiq34=VPiq
  Liste.append([VPiq,"VPiq34"])
  Cpe = geompy.MakeCircle(Px,Vd3x,Rp*0.95)
  Liste.append([Cpe,"Cpe"])
  Spe = geompy.MakeFaceWires([Cpe], 1)
  Cylpe = geompy.MakePrismVecH(Spe, Vd3x, Lp0)
  Liste.append([Cylpe,"Cylpe"])
  Cpi = geompy.MakeCircle(Px,Vd3x,Rp-ep)
  Liste.append([Cpi,"Cpi"])
  Spi = geompy.MakeFaceWires([Cpe,Cpi], 1)
  Cylpi = geompy.MakePrismVecH(Spi, Vd3x, Lp0)
  Liste.append([Cylpi,"Cylpi"])
  VPiq3D=geompy.MakeCut(Cylpe, Cylpi)
  Liste.append([VPiq3D,"VPiq3D"])
  VPiq3D.SetColor(SALOMEDS.Color(0.9,0.9,0.9))
  VPiq343D= VPiq3D
  VPiq3D_id = geompy.addToStudy(VPiq3D,"VPiq343D")
  gg.createAndDisplayGO(VPiq3D_id)
  gg.setDisplayMode(VPiq3D_id,1)
  for x in Liste:
    geompy.addToStudyInFather(VPiq3D,x[0],x[1])
except:
  print "Erreur VPiq : geometrie"
  for x in Liste:
    geompy.addToStudy(x[0],x[1])
    gg.createAndDisplayGO(O_id)
    gg.setDisplayMode(O_id,1)
VPiq34M= smesh.Mesh(Vxr_34)
Regular_TUBE = VPiq34M.Segment()
Nb_Segments = Regular_TUBE.NumberOfSegments( 1 )
Nb_Segments.SetDistrType( 0 )
VPiq34M.Compute()
smesh.SetName(VPiq34M , 'VPiq34M')
VPiq34M.GroupOnGeom(Pn_33)
VPiq34M.GroupOnGeom(B3_1)
VPiq34M.GroupOnGeom(Vxr_34)
#V=0.0,6.123233995736766e-14,500.0
try:
  print("Creation de: TUY35")
  Vd2x=geompy.MakeVectorDXDYDZ(0.0,6.123233995736766e-14,500.0)
  Liste=[]
  Pn_35= geompy.MakeTranslationVectorDistance(Pn_33,Vd2x,500.0)
  Liste.append([Pn_35,"Pn_35"])
  TUY35= geompy.MakeVector(Pn_33,Pn_35)
  Liste.append([TUY35,"TUY35"])
  Cext = geompy.MakeCircle(Pn_33,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn_33,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY35)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY35_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY35")
  TUY35M = smesh.Mesh(TUY35)
  Decoupage = TUY35M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY35M,'TUY35')
  TUY35M.Compute()
  TUY35M.GroupOnGeom(Pn_33)
  TUY35M.GroupOnGeom(Pn_35)
  TUY35M.GroupOnGeom(TUY35)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#V=0.0,1.2246467991473532e-13,1000.0
try:
  print("Creation de: TUY36")
  Vd2x=geompy.MakeVectorDXDYDZ(0.0,1.2246467991473532e-13,1000.0)
  Liste=[]
  Pn_36= geompy.MakeTranslationVectorDistance(Pn_35,Vd2x,1000.0)
  Liste.append([Pn_36,"Pn_36"])
  TUY36= geompy.MakeVector(Pn_35,Pn_36)
  Liste.append([TUY36,"TUY36"])
  Cext = geompy.MakeCircle(Pn_35,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn_35,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY36)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY36_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY36")
  TUY36M = smesh.Mesh(TUY36)
  Decoupage = TUY36M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY36M,'TUY36')
  TUY36M.Compute()
  TUY36M.GroupOnGeom(Pn_35)
  TUY36M.GroupOnGeom(Pn_36)
  TUY36M.GroupOnGeom(TUY36)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#Ca=333.3333333333333,90,-90
try:
  print("Ajouter_Ca_TUBE: COU37")
  Liste=[]
  rc = 333.3333333333333
  acr = 1.5707963267948966
  adr = -1.5707963267948966
  Pcg = geompy.MakeVertex(4000.0,333.3333333333336,2100.0)
  Liste.append([Pcg,"Pcg"])
  Pc = geompy.MakeVertexWithRef(Pn_36,-2.041077998578922e-14,333.3333333333333,-4.082155997157844e-14)
  Liste.append([Pc,"Pc"])
  Pa = geompy.MakeVertexWithRef(Pc,-333.3333333333333,-2.041077998578922e-14,2.4995996377697628e-30)
  Liste.append([Pa,"Pa"])
  Vaxe = geompy.MakeVector(Pc,Pa)
  Liste.append([Vaxe,"Vaxe"])
  Pn_37 = geompy.MakeRotation(Pn_36,Vaxe,acr)
  COU37 = geompy.MakeArcCenter(Pc,Pn_36,Pn_37)
  Liste.append([COU37,"COU37"])
  Pn_37 = geompy.GetSame(COU37,Pn_37)
  Liste.append([Pn_37,"Pn_37"])
  Pn_36 = geompy.GetSame(COU37,Pn_36)
  Liste.append([Pn_36,"Pn_36"])
  Cext = geompy.MakeCircle(Pn_36,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn_36,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,COU37)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"COU37_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  Px=Pn_37
  Vd2x = geompy.MakeVectorDXDYDZ(-6.123233995736766e-17,1.0,-1.2246467991473532e-16)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: COU37")
  COU37M = smesh.Mesh(COU37)
  Decoupage = COU37M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(COU37M,'COU37')
  COU37M.Compute()
  COU37M.GroupOnGeom(Pn_36)
  COU37M.GroupOnGeom(Pn_37)
  COU37M.GroupOnGeom(COU37)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#Sc=125.0,5,500.0
  #
try:
  print("Creation de reducteur")
  Liste=[]
  Px=Pn_37
  Pn = geompy.MakeVertexWithRef(Px,-3.061616997868383e-14,500.0,-6.123233995736766e-14)
  Pn38=Pn
  Liste.append([Pn,"Pn38"])
  Red = geompy.MakeVector(Px,Pn)
  Red38=Red
  Liste.append([Red,"Red38"])
  Red3De = geompy.MakeCone(Px,Red,66.66666666666667,125.0,500.0)
  Red3Di = geompy.MakeCone(Px,Red,61.66666666666667,120.0,500.0)
  Red3D = geompy.MakeCut(Red3De,Red3Di)
  Red3D.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Red3D_id = geompy.addToStudy(Red3D,"Red383D")
  gg.createAndDisplayGO(Red3D_id)
  gg.setDisplayMode(Red3D_id,1)
  #
  for x in Liste :
     geompy.addToStudyInFather(Red3D,x[0],x[1])
  #
  RedM = smesh.Mesh(Red)
  Regular_TUBE = RedM.Segment()
  Nb_Segments = Regular_TUBE.NumberOfSegments(1)
  Nb_Segments.SetDistrType( 0 )
  smesh.SetName(RedM , 'Red38')
  RedM.Compute()
  Red38M =RedM
  RedM.Group(Red38)
  RedM.Group(Pn_37)
  RedM.Group(Pn38)
  #
  Px = Pn
  R = 125.0
  e = 5.0
except:
  print "Erreur Changement de section"
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
  gg.createAndDisplayGO(O_id)
  gg.setDisplayMode(O_id,0)
#V=-3.061616997868383e-14,500.0,-6.123233995736768e-14
try:
  print("Creation de: TUY39")
  Vd2x=geompy.MakeVectorDXDYDZ(-3.061616997868383e-14,500.0,-6.123233995736768e-14)
  Liste=[]
  Pn_39= geompy.MakeTranslationVectorDistance(Pn38,Vd2x,500.0)
  Liste.append([Pn_39,"Pn_39"])
  TUY39= geompy.MakeVector(Pn38,Pn_39)
  Liste.append([TUY39,"TUY39"])
  Cext = geompy.MakeCircle(Pn38,Vd2x,R)
  Liste.append([Cext ,"Cext"])
  if R>e:
      Cint = geompy.MakeCircle(Pn38,Vd2x,R-e)
      Liste.append([Cint ,"Cint"])
      S = geompy.MakeFaceWires([Cext, Cint], 1)
      Liste.append([S ,"S"])
  else:
      S = geompy.MakeFaceWires([Cext], 1)
      Liste.append([S ,"S"])
  Pipe = geompy.MakePipe( S ,TUY39)
  Pipe.SetColor(SALOMEDS.Color(0.8,0.8,0.8))
  Pipe_id=geompy.addToStudy(Pipe,"TUY39_3D")
  gg.createAndDisplayGO(Pipe_id)
  gg.setDisplayMode(Pipe_id,1)
  for x in Liste :
     geompy.addToStudyInFather(Pipe,x[0],x[1])
except:
  ERREUR=True
  print ("   =>ERREUR!")
  for x in Liste :
     geompy.addToStudy(x[0],x[1])
try:
  print("Maillage de: TUY39")
  TUY39M = smesh.Mesh(TUY39)
  Decoupage = TUY39M.Segment()
  Decoupage.NumberOfSegments(8)
  Quadratic_Mesh = Decoupage.QuadraticMesh()
  smesh.SetName(TUY39M,'TUY39')
  TUY39M.Compute()
  TUY39M.GroupOnGeom(Pn38)
  TUY39M.GroupOnGeom(Pn_39)
  TUY39M.GroupOnGeom(TUY39)
except:
  ERREUR=True
  print ("   =>ERREUR!")
#GL
#
# Création du maillage total
if not(ERREUR):
    Maillage = smesh.Concatenate([TUY1M.GetMesh() , VPiq2M.GetMesh() , TUY3M.GetMesh() , TUY4M.GetMesh() , VPiq5M.GetMesh() , TUY6M.GetMesh() , Bride7M.GetMesh() , Bride8M.GetMesh() , Vanne9M.GetMesh() , Bride10M.GetMesh() , Bride11M.GetMesh() , TUY12M.GetMesh() , VPiq13M.GetMesh() , TUY14M.GetMesh() , COU15M.GetMesh() , Red16M.GetMesh() , TUY17M.GetMesh() , TUY18M.GetMesh() , TUY19M.GetMesh() , VPiq20M.GetMesh() , TUY21M.GetMesh() , COU22M.GetMesh() , Red23M.GetMesh() , TUY24M.GetMesh() , TUY25M.GetMesh() , VPiq26M.GetMesh() , TUY27M.GetMesh() , TUY28M.GetMesh() , COU29M.GetMesh() , Red30M.GetMesh() , TUY31M.GetMesh() , TUY32M.GetMesh() , TUY33M.GetMesh() , VPiq34M.GetMesh() , TUY35M.GetMesh() , TUY36M.GetMesh() , COU37M.GetMesh() , Red38M.GetMesh() , TUY39M.GetMesh() ,], 1, 0, 1e-05)
    coincident_nodes = Maillage.FindCoincidentNodes( 1e-05 )
    Maillage.MergeNodes(coincident_nodes)
    equal_elements = Maillage.FindEqualElements(Maillage)
    Maillage.MergeElements(equal_elements)
    smesh.SetName(Maillage.GetMesh(), 'Maillage')
#AJOUT DES FLECHES FORCES
#AJOUT DES SUPPORTS
#AJOUT DES BUTEES SYMETRIQUES
#AJOUT DES SUPPORTS
try:
  Liste=[]
  Lc = 100.0
  Px = A
  Re=125.0
  R=100.0
  Vd2x = geompy.MakeVectorDXDYDZ(1000.0,0.0,0.0)
  Liste.append([Vd2x,"Vd2x"])
  Cext=geompy.MakeCircle( Px,Vd2x,R*1.2)
  Liste.append([Cext,"Cext"])
  Cint=geompy.MakeCircle( Px,Vd2x,R)
  Liste.append([Cint,"Cint"])
  S = geompy.MakeFaceWires([Cext, Cint], 1)
  Liste.append([S,"S"])
  Sup=geompy.MakePrismVecH2Ways(S, Vd2x,Lc)
  Sup_id=geompy.addToStudy(Sup,"PF_1a")
  Sup.SetColor(SALOMEDS.Color(0.666,0,0))
  gg.createAndDisplayGO(Sup_id)
  gg.setDisplayMode(Sup_id,1)
  Cext=geompy.MakeCircle( Px,Vd2x,R*1.3)
  Liste.append([Cext,"Cext"])
  Cint=geompy.MakeCircle( Px,Vd2x,R*1.1)
  Liste.append([Cint,"Cint"])
  S = geompy.MakeFaceWires([Cext, Cint], 1)
  Liste.append([S,"S"])
  Sup2 = geompy.MakePrismVecH2Ways(S, Vd2x,Lc/3)
  Sup2_id=geompy.addToStudyInFather(Sup,Sup2,"PF_1b")
  Sup2.SetColor(SALOMEDS.Color(0.666,0,0))
  gg.createAndDisplayGO(Sup2_id)
  gg.setDisplayMode(Sup2_id,1)
  for x in Liste :
    geompy.addToStudyInFather(Sup,x[0],x[1])
except:
  print 
  print "PF_1:Erreur"
  for x in Liste :
    geompy.addToStudy(x[0],x[1])
  gg.createAndDisplayGO(O_id)
  gg.setDisplayMode(O_id,1)
try:
  Liste=[]
  Lc = 100.0
  Px = Pn_3
  Re=125.0
  R=100.0
  Vd2x = geompy.MakeVectorDXDYDZ(1000.0,0.0,0.0)
  Liste.append([Vd2x,"Vd2x"])
  Cext=geompy.MakeCircle( Px,Vd2x,R*1.2)
  Liste.append([Cext,"Cext"])
  Cint=geompy.MakeCircle( Px,Vd2x,R)
  Liste.append([Cint,"Cint"])
  S = geompy.MakeFaceWires([Cext, Cint], 1)
  Liste.append([S,"S"])
  Sup=geompy.MakePrismVecH2Ways(S, Vd2x,Lc)
  Sup_id=geompy.addToStudy(Sup,"GL_2a")
  Sup.SetColor(SALOMEDS.Color(1,1,0))
  gg.createAndDisplayGO(Sup_id)
  gg.setDisplayMode(Sup_id,1)
  Cext=geompy.MakeCircle( Px,Vd2x,R*1.3)
  Liste.append([Cext,"Cext"])
  Cint=geompy.MakeCircle( Px,Vd2x,R*1.1)
  Liste.append([Cint,"Cint"])
  S = geompy.MakeFaceWires([Cext, Cint], 1)
  Liste.append([S,"S"])
  Sup2 = geompy.MakePrismVecH2Ways(S, Vd2x,Lc/3)
  Sup2_id=geompy.addToStudyInFather(Sup,Sup2,"GL_2b")
  Sup2.SetColor(SALOMEDS.Color(1,1,0))
  gg.createAndDisplayGO(Sup2_id)
  gg.setDisplayMode(Sup2_id,1)
  for x in Liste :
    geompy.addToStudyInFather(Sup,x[0],x[1])
except:
  print 
  print "GL_2:Erreur"
  for x in Liste :
    geompy.addToStudy(x[0],x[1])
  gg.createAndDisplayGO(O_id)
  gg.setDisplayMode(O_id,1)
try:
  Liste=[]
  Lc = 200.0
  Px = Pn_18
  Re=250.0
  R=200.0
  Vd2x = geompy.MakeVectorDXDYDZ(0.0,1.0,-6.123233995736766e-17)
  Liste.append([Vd2x,"Vd2x"])
  Cext=geompy.MakeCircle( Px,Vd2x,R*1.2)
  Liste.append([Cext,"Cext"])
  Cint=geompy.MakeCircle( Px,Vd2x,R)
  Liste.append([Cint,"Cint"])
  S = geompy.MakeFaceWires([Cext, Cint], 1)
  Liste.append([S,"S"])
  Sup=geompy.MakePrismVecH2Ways(S, Vd2x,Lc)
  Sup_id=geompy.addToStudy(Sup,"CB_3a")
  Sup.SetColor(SALOMEDS.Color(1,1,0))
  gg.createAndDisplayGO(Sup_id)
  gg.setDisplayMode(Sup_id,1)
  Cext=geompy.MakeCircle( Px,Vd2x,R*1.3)
  Liste.append([Cext,"Cext"])
  Cint=geompy.MakeCircle( Px,Vd2x,R*1.1)
  Liste.append([Cint,"Cint"])
  S = geompy.MakeFaceWires([Cext, Cint], 1)
  Liste.append([S,"S"])
  Sup2 = geompy.MakePrismVecH2Ways(S, Vd2x,Lc/3)
  Sup2_id=geompy.addToStudyInFather(Sup,Sup2,"CB_3b")
  Sup2.SetColor(SALOMEDS.Color(0.666,0,0))
  gg.createAndDisplayGO(Sup2_id)
  gg.setDisplayMode(Sup2_id,1)
  for x in Liste :
    geompy.addToStudyInFather(Sup,x[0],x[1])
except:
  print 
  print "CB_3:Erreur"
  for x in Liste :
    geompy.addToStudy(x[0],x[1])
  gg.createAndDisplayGO(O_id)
  gg.setDisplayMode(O_id,1)
try:
  Liste=[]
  Lc = 125.0
  Px = Pn_24
  Re=156.25
  R=125.0
  Vd2x = geompy.MakeVectorDXDYDZ(-6.123233995736766e-17,-1.0,1.2246467991473532e-16)
  Liste.append([Vd2x,"Vd2x"])
  Cext=geompy.MakeCircle( Px,Vd2x,R*1.2)
  Liste.append([Cext,"Cext"])
  Cint=geompy.MakeCircle( Px,Vd2x,R)
  Liste.append([Cint,"Cint"])
  S = geompy.MakeFaceWires([Cext, Cint], 1)
  Liste.append([S,"S"])
  Sup=geompy.MakePrismVecH2Ways(S, Vd2x,Lc)
  Sup_id=geompy.addToStudy(Sup,"GL_4a")
  Sup.SetColor(SALOMEDS.Color(1,1,0))
  gg.createAndDisplayGO(Sup_id)
  gg.setDisplayMode(Sup_id,1)
  Cext=geompy.MakeCircle( Px,Vd2x,R*1.3)
  Liste.append([Cext,"Cext"])
  Cint=geompy.MakeCircle( Px,Vd2x,R*1.1)
  Liste.append([Cint,"Cint"])
  S = geompy.MakeFaceWires([Cext, Cint], 1)
  Liste.append([S,"S"])
  Sup2 = geompy.MakePrismVecH2Ways(S, Vd2x,Lc/3)
  Sup2_id=geompy.addToStudyInFather(Sup,Sup2,"GL_4b")
  Sup2.SetColor(SALOMEDS.Color(1,1,0))
  gg.createAndDisplayGO(Sup2_id)
  gg.setDisplayMode(Sup2_id,1)
  for x in Liste :
    geompy.addToStudyInFather(Sup,x[0],x[1])
except:
  print 
  print "GL_4:Erreur"
  for x in Liste :
    geompy.addToStudy(x[0],x[1])
  gg.createAndDisplayGO(O_id)
  gg.setDisplayMode(O_id,1)
try:
  Liste=[]
  Lc = 125.0
  Px = Pn_31
  Re=156.25
  R=125.0
  Vd2x = geompy.MakeVectorDXDYDZ(-1.0,0.0,0.0)
  Liste.append([Vd2x,"Vd2x"])
  Cext=geompy.MakeCircle( Px,Vd2x,R*1.2)
  Liste.append([Cext,"Cext"])
  Cint=geompy.MakeCircle( Px,Vd2x,R)
  Liste.append([Cint,"Cint"])
  S = geompy.MakeFaceWires([Cext, Cint], 1)
  Liste.append([S,"S"])
  Sup=geompy.MakePrismVecH2Ways(S, Vd2x,Lc)
  Sup_id=geompy.addToStudy(Sup,"GL_5a")
  Sup.SetColor(SALOMEDS.Color(1,1,0))
  gg.createAndDisplayGO(Sup_id)
  gg.setDisplayMode(Sup_id,1)
  Cext=geompy.MakeCircle( Px,Vd2x,R*1.3)
  Liste.append([Cext,"Cext"])
  Cint=geompy.MakeCircle( Px,Vd2x,R*1.1)
  Liste.append([Cint,"Cint"])
  S = geompy.MakeFaceWires([Cext, Cint], 1)
  Liste.append([S,"S"])
  Sup2 = geompy.MakePrismVecH2Ways(S, Vd2x,Lc/3)
  Sup2_id=geompy.addToStudyInFather(Sup,Sup2,"GL_5b")
  Sup2.SetColor(SALOMEDS.Color(1,1,0))
  gg.createAndDisplayGO(Sup2_id)
  gg.setDisplayMode(Sup2_id,1)
  for x in Liste :
    geompy.addToStudyInFather(Sup,x[0],x[1])
except:
  print 
  print "GL_5:Erreur"
  for x in Liste :
    geompy.addToStudy(x[0],x[1])
  gg.createAndDisplayGO(O_id)
  gg.setDisplayMode(O_id,1)
try:
  Liste=[]
  Lc = 125.0
  Px = Pn_39
  Re=156.25
  R=125.0
  Vd2x = geompy.MakeVectorDXDYDZ(-6.123233995736766e-17,1.0,-1.2246467991473532e-16)
  Liste.append([Vd2x,"Vd2x"])
  Cext=geompy.MakeCircle( Px,Vd2x,R*1.2)
  Liste.append([Cext,"Cext"])
  Cint=geompy.MakeCircle( Px,Vd2x,R)
  Liste.append([Cint,"Cint"])
  S = geompy.MakeFaceWires([Cext, Cint], 1)
  Liste.append([S,"S"])
  Sup=geompy.MakePrismVecH2Ways(S, Vd2x,Lc)
  Sup_id=geompy.addToStudy(Sup,"GL_6a")
  Sup.SetColor(SALOMEDS.Color(1,1,0))
  gg.createAndDisplayGO(Sup_id)
  gg.setDisplayMode(Sup_id,1)
  Cext=geompy.MakeCircle( Px,Vd2x,R*1.3)
  Liste.append([Cext,"Cext"])
  Cint=geompy.MakeCircle( Px,Vd2x,R*1.1)
  Liste.append([Cint,"Cint"])
  S = geompy.MakeFaceWires([Cext, Cint], 1)
  Liste.append([S,"S"])
  Sup2 = geompy.MakePrismVecH2Ways(S, Vd2x,Lc/3)
  Sup2_id=geompy.addToStudyInFather(Sup,Sup2,"GL_6b")
  Sup2.SetColor(SALOMEDS.Color(1,1,0))
  gg.createAndDisplayGO(Sup2_id)
  gg.setDisplayMode(Sup2_id,1)
  for x in Liste :
    geompy.addToStudyInFather(Sup,x[0],x[1])
except:
  print 
  print "GL_6:Erreur"
  for x in Liste :
    geompy.addToStudy(x[0],x[1])
  gg.createAndDisplayGO(O_id)
  gg.setDisplayMode(O_id,1)
if salome.sg.hasDesktop():
    salome.sg.updateObjBrowser(0)
time2=time.time()
dtime = time2 - time1
print("------------------------")
print("Duree de la construction:"+str(round(dtime,2))+"s")
