ri = 27.5;
re = 32.5;
p  = 40.0;
rt =  5.0;
a  = Pi/6.0;
h  = 8.0;
h2 = 4.0;
h3 = 4.0;

Point(1)  = {-ri*Sin(a), ri*Cos(a),-p/2.0, h };
Point(2)  = { ri*Sin(a), ri*Cos(a),-p/2.0, h };
Point(3)  = { re*Sin(a), re*Cos(a),-p/2.0, h };
Point(4)  = {-re*Sin(a), re*Cos(a),-p/2.0, h };
Point(5)  = {-ri*Sin(a), ri*Cos(a), p/2.0, h };
Point(6)  = { ri*Sin(a), ri*Cos(a), p/2.0, h };
Point(7)  = { re*Sin(a), re*Cos(a), p/2.0, h };
Point(8)  = {-re*Sin(a), re*Cos(a), p/2.0, h };

Point(11) = { 0.0, 0.0,-p/2.0, h };
Point(12) = { 0.0, 0.0, p/2.0, h };

Point(21) = { 0.0, ri , 0.0, h };
Point(22) = { 0.0, re , 0.0, h };
Point(23) = { rt , Sqrt(ri*ri-rt*rt) , 0.0, h2 };
Point(24) = { 0.0, ri , rt , h2 };
Point(25) = {-rt , Sqrt(ri*ri-rt*rt) , 0.0, h2 };
Point(26) = { 0.0, ri ,-rt , h2 };
Point(27) = { rt , Sqrt(re*re-rt*rt) , 0.0, h3 };
Point(28) = { 0.0, re , rt , h3 };
Point(29) = {-rt , Sqrt(re*re-rt*rt) , 0.0, h3 };
Point(30) = { 0.0, re ,-rt , h3 };

Circle(101) = { 1, 11, 2 };
Line  (102) = { 2, 3 };
Circle(103) = { 3, 11, 4 };
Line  (104) = { 4, 1 };
Circle(105) = { 5, 12, 6 };
Line  (106) = { 6, 7 };
Circle(107) = { 7, 12, 8 };
Line  (108) = { 8, 5 };
Line  (109) = { 1, 5 };
Line  (110) = { 2, 6 };
Line  (111) = { 3, 7 };
Line  (112) = { 4, 8 };

Circle(113) = { 23, 21, 24 };
Circle(114) = { 24, 21, 25 };
Circle(115) = { 25, 21, 26 };
Circle(116) = { 26, 21, 23 }; 
Circle(117) = { 27, 22, 28 };
Circle(118) = { 28, 22, 29 };
Circle(119) = { 29, 22, 30 };
Circle(120) = { 30, 22, 27 };
Line  (121) = { 23, 27 };
Line  (122) = { 24, 28 };
Line  (123) = { 25, 29 };
Line  (124) = { 26, 30 };

Line Loop(201) = {-104,-103,-102,-101 };
Line Loop(202) = { 105, 106, 107, 108 };
Line Loop(203) = { 102, 111,-106,-110 };
Line Loop(204) = { 109,-108,-112, 104 };
Line Loop(205) = { 101, 110,-105,-109 };
Line Loop(206) = { 103, 112,-107,-111 };

Line Loop(207) = { 113, 114, 115, 116 };
Line Loop(208) = { 117, 118, 119, 120 };
Line Loop(209) = { 121, 117,-122,-113 };
Line Loop(210) = { 122, 118,-123,-114 };
Line Loop(211) = { 123, 119,-124,-115 };
Line Loop(212) = { 124, 120,-121,-116 };

Ruled Surface(301) = {201};
Ruled Surface(302) = {202};
Ruled Surface(303) = {203};
Ruled Surface(304) = {204};
Ruled Surface(305) = {205, 207};
Ruled Surface(306) = {206, 208};
Ruled Surface(309) = {209};
Ruled Surface(310) = {210};
Ruled Surface(311) = {211};
Ruled Surface(312) = {212};
Surface Loop(401) = {302,-305,-304,-301,303,306,312,311,310,309};
Volume(501) = {401};

Hide { Point { 11, 12, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 }; }
Hide { Line  { 121, 122, 123, 124 }; }

Physical Point   (1001) = {   1 };
Physical Point   (1002) = {   2 };
Physical Point   (1005) = {   5 };
Physical Point   (1006) = {   6 };
Physical Point   (1023) = {  23 };
Physical Point   (1024) = {  24 };
Physical Point   (1025) = {  25 };
Physical Point   (1026) = {  26 };
Physical Point   (1027) = {  27 };
Physical Point   (1028) = {  28 };
Physical Point   (1029) = {  29 };
Physical Point   (1030) = {  30 };
Physical Surface (1301) = { 301 };
Physical Surface (1302) = { 302 };
Physical Surface (1303) = { 303 };
Physical Surface (1304) = { 304 };
Physical Surface (1305) = { 305 };
Physical Surface (1309) = { 309, 310, 311, 312 };
Physical Volume  (1501) = { 501 };

