#debug "\nCreation du Bilboquet .......\n"
#declare Z_Position = Z_Piece / 1.75;
#declare X_Position = 0;

#declare Bil_Corps =
union{
   difference{
      cylinder{<0,0,0>,<0,4,0>,Dia_Socle}
      cylinder{<0,2,Dia_Socle / 2>,<Dia_Socle,2,Dia_Socle / 2>,Dia_Ficelle}
             }
   sor{18 <5,4>,<5,4>,<3.5,5>,<5,15>,<4,17>,<3.5,17.5>,<4,18>,<5,20>,<3.5,30>,<5,32>,<5,32.5>,<10,34>,<10,37>,<3,38>,<3,38.1>,<2.5,48>,<0,48.1>,<0,48.1> sturm}

   texture{Tex_Bilboquet}
     }

#declare Bil_Boule =
difference{
   sphere{<0,34 + Dia_Boule,0>,Dia_Boule}
   union{
      object{Bil_Corps translate<0,-2,0>}
      cylinder{<0,34 + Dia_Boule * 0.8,0>,<0,34 + Dia_Boule * 2,0>,Dia_Ficelle *1.1 texture{Tex_Bilboquet}}
      sphere{<0,34 + Dia_Boule * 2 + Dia_Ficelle * 0.75>,Dia_Ficelle * 2 texture{Tex_Bilboquet}}
        }
rotate 135 * z rotate 20 * y
translate <0,34 + Dia_Boule *1.0435,0>
texture{Tex_Bilboquet}
          }

#declare Ficelle =
 union{
    cylinder{<0,2,0>,<18,2,0>,Dia_Ficelle}
    sphere{<18,2,0>,Dia_Ficelle}
    cylinder{<18,2,0>,<21,1,0>,Dia_Ficelle}
    sphere{<21,1,0>,Dia_Ficelle}
    cylinder{<21,1,0>,<22,0,0>,Dia_Ficelle}
    sphere{<22,0,0>,Dia_Ficelle}
    cylinder{<22,0,0>,<20.9,-19.1,-2.53>,Dia_Ficelle}
    sphere{<20.9,-19.1,-2.53>,Dia_Ficelle}
    difference{
       torus{6, Dia_Ficelle}
       union{
          box{<0,10,-10>,<10,-10,0>}
          box{<0,10,10>,<10,-10,0> rotate 35 * y}
            }
       rotate<25,-10,90> translate <23.4,-20,2.82>
              }
    sphere{<25.51,-17.5,7.85>,Dia_Ficelle}
    cylinder{<25.51,-17.5,7.85>,<23,0,2.5>,Dia_Ficelle}
    sphere{<23,0,2.5>,Dia_Ficelle}
    difference{
       torus{4.5, Dia_Ficelle}
       union{
          box{<0,-10,-10>,<-10,10,10>}
          box{<0,-10,-10>,<10,10,0> rotate 35 * y}
            }
       rotate<45,10,90> translate <19.8,-0.5,-0.65>
              }
    sphere{<18,2.92,-3>,Dia_Ficelle}
    cylinder{<18,2.92,-3>,<16.5,1.5,-5>,Dia_Ficelle}
    sphere{<16.5,1.5,-5>,Dia_Ficelle}
    cylinder{<16.5,1.5,-5>,<13,1,-8.5>,Dia_Ficelle}
    sphere{<13,1,-8.5>,Dia_Ficelle}
    cylinder{<13,1,-8.5>,<5,1,-15>,Dia_Ficelle}
    sphere{<5,1,-15>,Dia_Ficelle}
    difference{
       torus{8, Dia_Ficelle translate<0,1,-8.75> }
       box{<-10,-2,0>,<10,2,10> rotate 45 * y translate <0,1,-9>}
       box{<-15,-2,-1>,<15,2,10> rotate -45 * y translate <1,1,-8.75>}
              }
    difference{
       torus{8, Dia_Ficelle translate<-10.2,1,-20.4> }
       box{<-15,-2,-1>,<15,2,10> rotate -45 * y translate <-2,1,-28>}
       box{<-18,-2,-1>,<15,2,10> rotate -5 * y translate <-2,1,-28>}
       rotate 2 * y
              }
    sphere{<-18.8,1,-18.6>,Dia_Ficelle}
    cylinder{<-18.8,1,-18.6>,<-18.5,1,-19.5>,Dia_Ficelle}
    sphere{<-18.5,1,-19.5>,Dia_Ficelle}
    cylinder{<-18.5,1,-19.5>,<-17.8,1,-20.5>,Dia_Ficelle}
    sphere{<-17.8,1,-20.5>,Dia_Ficelle}
    cylinder{<-17.8,1,-20.5><-14.2,1,-23>,Dia_Ficelle}
    sphere{<-14.2,1,-23>,Dia_Ficelle}
    cylinder{<-14.2,1,-23>,<-5,11,-26.5>,Dia_Ficelle}
texture{Tex_Ficelle}
      }

#declare Bilboquet =
union{
   object{Bil_Corps scale <1.25,1.25,1.25> translate<X_Position + V_Lar_Etagere * 1.25,Haut_Etagere + Bord_Etagere + E_Etagere,Z_Position + H_Lon_Etagere - Bord_Etagere * 2>}
   object{Ficelle scale <1.25,1.25,1.25> translate<X_Position + V_Lar_Etagere * 1.25,Haut_Etagere + Bord_Etagere + E_Etagere,Z_Position + H_Lon_Etagere - Bord_Etagere * 2>}
   object{Bil_Boule  scale <1.25,1.25,1.25> translate<X_Position + V_Lar_Etagere * 2.5,Haut_Etagere + Bord_Etagere + E_Etagere,Z_Position + H_Lon_Etagere - Bord_Etagere * 4.5>}
     }
