SetFactory("OpenCASCADE");
 
lref = 1.0;
np=newp;
line=newl;
 
Point(np+ 1)={    0.0000,    0.0000,   -1.0000,lref};
Point(np+ 2)={    0.0000,    0.1736,   -0.9848,lref};
Point(np+ 3)={    0.0000,    0.3420,   -0.9397,lref};
Point(np+ 4)={    0.0000,    0.5000,   -0.8660,lref};
Point(np+ 5)={    0.0000,    0.6428,   -0.7660,lref};
Point(np+ 6)={    0.0000,    0.7660,   -0.6428,lref};
Point(np+ 7)={    0.0000,    0.8888,   -0.4892,lref};
Point(np+ 8)={    0.0000,    0.9994,   -0.3357,lref};
Point(np+ 9)={    0.0000,    1.0982,   -0.1821,lref};
Point(np+10)={    0.0000,    1.1854,   -0.0285,lref};
Point(np+11)={    0.0000,    1.2614,    0.1250,lref};
Point(np+12)={    0.0000,    1.3263,    0.2786,lref};
Point(np+13)={    0.0000,    1.3805,    0.4322,lref};
Point(np+14)={    0.0000,    1.4243,    0.5857,lref};
Point(np+15)={    0.0000,    1.4578,    0.7393,lref};
Point(np+16)={    0.0000,    1.4814,    0.8929,lref};
Point(np+17)={    0.0000,    1.4954,    1.0464,lref};
Point(np+18)={    0.0000,    1.5000,    1.2000,lref};
Point(np+19)={    0.0000,    1.4712,    1.3561,lref};
Point(np+20)={    0.0000,    1.3858,    1.5061,lref};
Point(np+21)={    0.0000,    1.2472,    1.6445,lref};
Point(np+22)={    0.0000,    1.0607,    1.7657,lref};
Point(np+23)={    0.0000,    0.8334,    1.8652,lref};
Point(np+24)={    0.0000,    0.5740,    1.9391,lref};
Point(np+25)={    0.0000,    0.2926,    1.9846,lref};
Point(np+26)={    0.0000,    0.0000,    2.0000,lref};
Point(np+27)={    0.0000,    0.0000,   -0.1821,lref};
 
BSpline(line+1) = {
                   np+  1,
                   np+  2,
                   np+  3,
                   np+  4,
                   np+  5,
                   np+  6,
                   np+  7,
                   np+  8,
                   np+  9};
 
BSpline(line+2) = {
                   np+  9,
                   np+ 10,
                   np+ 11,
                   np+ 12,
                   np+ 13,
                   np+ 14,
                   np+ 15,
                   np+ 16,
                   np+ 17,
                   np+ 18,
                   np+ 19,
                   np+ 20,
                   np+ 21,
                   np+ 22,
                   np+ 23,
                   np+ 24,
                   np+ 25,
                   np+ 26};
 
Rotate {{   0.0000,   0.0000,   1.0000},
         {   0.0000,   0.0000,  -0.1821}, Pi/2.0}
         {Duplicata {Curve{line+1};}}
 
Rotate {{   0.0000,   0.0000,   1.0000},
         {   0.0000,   0.0000,  -0.1821}, Pi/2.0}
         {Duplicata {Curve{line+3};}}
 
Rotate {{   0.0000,   0.0000,   1.0000},
         {   0.0000,   0.0000,  -0.1821}, Pi/2.0}
         {Duplicata {Curve{line+4};}}
 
Rotate {{   0.0000,   0.0000,   1.0000},
         {   0.0000,   0.0000,  -0.1821}, Pi/2.0}
         {Duplicata {Curve{line+2};}}
 
Rotate {{   0.0000,   0.0000,   1.0000},
         {   0.0000,   0.0000,  -0.1821}, Pi/2.0}
         {Duplicata {Curve{line+6};}}
 
Rotate {{   0.0000,   0.0000,   1.0000},
         {   0.0000,   0.0000,  -0.1821}, Pi/2.0}
         {Duplicata {Curve{line+7};}}
 
Circle(line+10) = {np+  9,np+ 27,np+ 29};
Circle(line+11) = {np+ 29,np+ 27,np+ 31};
Circle(line+12) = {np+ 31,np+ 27,np+ 33};
Circle(line+13) = {np+ 33,np+ 27,np+  9};

