BRepAlgoAPI_Section not working correctly with BRepOffsetAPI_MakeOffsetShape

Dear all,

once again I have some problems with cutting a shape by a plane.

I have a Bspline Surface which I generate with Geom_BSplineSurface. The Pole Array is an 48x48 so its not the smallest surface

Now I convert this Bspline Surface into a TopoShape just for convenience and to make shure that all the following steps will also work with a different TopoShape that may consist of more surfaces.

Now I offset this single surface with BRepOffsetAPI_MakeOffsetShape and set a tolerance of 0.0001. The offset distance is 8mm.

Now I would like to make a cut every 0.5mm parallel to the XY-Plane. This works just fine up to certain areas where no cut is produced. I already tried to set nearly everything that is possible but the section cut is not working everywhere :(

But the most strange thing is, that the cut is working perfect on every Z-Level if I cut the original surface and not the offset one.

Can someone out there please provide me with some help how I can finally make shure that the cut is working in any case?

Here is all the code you might need to reproduce the problem:

First, the BSpline Surface:

TColgp_Array2OfPnt Poles(1,48,1,48);
// [0,0,0, 1,0,0, 2,0,0, 3,0,0,
// 0,1,0, 1,1,2, 2,1,2, 3,1,0,
// 0,2,0, 1,2,2, 2,2,2, 3,2,0,
// 0,3,0, 1,3,0, 2,3,0, 3,3,0],
/*

Poles.SetValue(1,1,gp_Pnt(0,0,0));
Poles.SetValue(1,2,gp_Pnt(1,0,0));
Poles.SetValue(1,3,gp_Pnt(2,0,0));
Poles.SetValue(1,4,gp_Pnt(3,0,0));

Poles.SetValue(2,1,gp_Pnt(0,1,0));
Poles.SetValue(2,2,gp_Pnt(1,1,0));
Poles.SetValue(2,3,gp_Pnt(2,1,0));
Poles.SetValue(2,4,gp_Pnt(3,1,0));

Poles.SetValue(3,1,gp_Pnt(0,2,0));
Poles.SetValue(3,2,gp_Pnt(1,2,0));
Poles.SetValue(3,3,gp_Pnt(2,2,0));
Poles.SetValue(3,4,gp_Pnt(3,2,0));

Poles.SetValue(4,1,gp_Pnt(0,3,0));
Poles.SetValue(4,2,gp_Pnt(1,3,0));
Poles.SetValue(4,3,gp_Pnt(2,3,0));
Poles.SetValue(4,4,gp_Pnt(3,3,0));

TColStd_Array1OfReal UKnots(1,2);
UKnots.SetValue(1,0);
UKnots.SetValue(2,1);

TColStd_Array1OfReal VKnots(1,2);
VKnots.SetValue(1,0);
VKnots.SetValue(2,1);

TColStd_Array1OfInteger UMults(1,2);
UMults.SetValue(1,4);
UMults.SetValue(2,4);

TColStd_Array1OfInteger VMults(1,2);
VMults.SetValue(1,4);
VMults.SetValue(2,4);

TColStd_Array1OfReal UKnots(1,2);
UKnots.SetValue(1,0);
UKnots.SetValue(2,1);

TColStd_Array1OfReal VKnots(1,2);
VKnots.SetValue(1,0);
VKnots.SetValue(2,1);

TColStd_Array1OfInteger UMults(1,2);
UMults.SetValue(1,4);
UMults.SetValue(2,4);

TColStd_Array1OfInteger VMults(1,2);
VMults.SetValue(1,4);
VMults.SetValue(2,4);

*/

Poles.SetValue(1,1,gp_Pnt(-150.004,-150.032,0.000561847));
Poles.SetValue(1,2,gp_Pnt(-150.002,-142.327,-0.00168953));
Poles.SetValue(1,3,gp_Pnt(-150,-126.92,-0.00028435));
Poles.SetValue(1,4,gp_Pnt(-150,-103.831,-0.000519289));
Poles.SetValue(1,5,gp_Pnt(-150,-84.6001,-0.000265669));
Poles.SetValue(1,6,gp_Pnt(-150,-71.1405,-0.00162853));
Poles.SetValue(1,7,gp_Pnt(-150,-63.4497,0.00623225));
Poles.SetValue(1,8,gp_Pnt(-150,-57.6819,-0.00552693));
Poles.SetValue(1,9,gp_Pnt(-150,-51.9139,-0.000608209));
Poles.SetValue(1,10,gp_Pnt(-150.001,-47.107,-0.000761491));
Poles.SetValue(1,11,gp_Pnt(-150.001,-43.2611,-0.000606976));
Poles.SetValue(1,12,gp_Pnt(-150.001,-40.3767,0.000301703));
Poles.SetValue(1,13,gp_Pnt(-150.001,-37.492,0.00136356));
Poles.SetValue(1,14,gp_Pnt(-150.001,-34.6077,-0.000772864));
Poles.SetValue(1,15,gp_Pnt(-150.001,-32.2036,-0.00110298));
Poles.SetValue(1,16,gp_Pnt(-150.001,-30.2806,-0.000821554));
Poles.SetValue(1,17,gp_Pnt(-150.001,-27.3959,-0.000341639));
Poles.SetValue(1,18,gp_Pnt(-150.002,-24.0305,0.00107516));
Poles.SetValue(1,19,gp_Pnt(-150.002,-20.1843,0.000545201));
Poles.SetValue(1,20,gp_Pnt(-150.003,-16.3382,-0.0036344));
Poles.SetValue(1,21,gp_Pnt(-150.003,-12.4921,-0.00133336));
Poles.SetValue(1,22,gp_Pnt(-150.003,-8.64594,0.000602981));
Poles.SetValue(1,23,gp_Pnt(-150.004,-5.76127,0.000740304));
Poles.SetValue(1,24,gp_Pnt(-150.004,-1.91501,-0.000669011));
Poles.SetValue(1,25,gp_Pnt(-150.004,1.93125,0.00331739));
Poles.SetValue(1,26,gp_Pnt(-150.003,5.77745,0.00628266));
Poles.SetValue(1,27,gp_Pnt(-150.003,8.6621,0.00185797));
Poles.SetValue(1,28,gp_Pnt(-150.002,12.5083,0.00117201));
Poles.SetValue(1,29,gp_Pnt(-150.002,16.3543,0.00359695));
Poles.SetValue(1,30,gp_Pnt(-150.001,20.2004,-0.000866218));
Poles.SetValue(1,31,gp_Pnt(-150.001,24.0465,0.0024382));
Poles.SetValue(1,32,gp_Pnt(-150.001,27.4119,0.000782921));
Poles.SetValue(1,33,gp_Pnt(-150.001,30.2965,0.00019153));
Poles.SetValue(1,34,gp_Pnt(-150.001,32.2196,0.000181438));
Poles.SetValue(1,35,gp_Pnt(-150.001,34.6234,-0.00175203));
Poles.SetValue(1,36,gp_Pnt(-150,37.5078,0.00248825));
Poles.SetValue(1,37,gp_Pnt(-150.001,40.3923,0.000162624));
Poles.SetValue(1,38,gp_Pnt(-150.001,43.2767,-0.00043742));
Poles.SetValue(1,39,gp_Pnt(-150.001,47.1224,-0.00243046));
Poles.SetValue(1,40,gp_Pnt(-150,51.9291,0.00271265));
Poles.SetValue(1,41,gp_Pnt(-150,57.6971,-0.00206532));
Poles.SetValue(1,42,gp_Pnt(-150,63.4651,-0.000689487));
Poles.SetValue(1,43,gp_Pnt(-150,71.1557,0.000696594));
Poles.SetValue(1,44,gp_Pnt(-150,84.6148,-0.00159957));
Poles.SetValue(1,45,gp_Pnt(-150,103.843,0.00079398));
Poles.SetValue(1,46,gp_Pnt(-150,126.921,0.00325858));
Poles.SetValue(1,47,gp_Pnt(-150,142.308,-0.00205645));
Poles.SetValue(1,48,gp_Pnt(-150.001,150.002,0.000266785));
Poles.SetValue(2,1,gp_Pnt(-142.31,-150.021,-0.00181926));
Poles.SetValue(2,2,gp_Pnt(-142.309,-142.316,-0.126204));
Poles.SetValue(2,3,gp_Pnt(-142.305,-126.903,-0.0907513));
Poles.SetValue(2,4,gp_Pnt(-142.304,-103.808,-0.172784));
Poles.SetValue(2,5,gp_Pnt(-142.302,-84.571,-0.256387));
Poles.SetValue(2,6,gp_Pnt(-142.298,-71.1085,-0.215109));
Poles.SetValue(2,7,gp_Pnt(-142.301,-63.4178,-0.321454));
Poles.SetValue(2,8,gp_Pnt(-142.302,-57.6491,-0.362883));
Poles.SetValue(2,9,gp_Pnt(-142.304,-51.8812,-0.411528));
Poles.SetValue(2,10,gp_Pnt(-142.305,-47.0752,-0.435599));
Poles.SetValue(2,11,gp_Pnt(-142.305,-43.2302,-0.438131));
Poles.SetValue(2,12,gp_Pnt(-142.305,-40.3466,-0.445607));
Poles.SetValue(2,13,gp_Pnt(-142.305,-37.4617,-0.436859));
Poles.SetValue(2,14,gp_Pnt(-142.305,-34.5771,-0.442155));
Poles.SetValue(2,15,gp_Pnt(-142.304,-32.1727,-0.43872));
Poles.SetValue(2,16,gp_Pnt(-142.305,-30.2502,-0.452521));
Poles.SetValue(2,17,gp_Pnt(-142.307,-27.3666,-0.474689));
Poles.SetValue(2,18,gp_Pnt(-142.311,-24.0038,-0.521193));
Poles.SetValue(2,19,gp_Pnt(-142.314,-20.1589,-0.56475));
Poles.SetValue(2,20,gp_Pnt(-142.319,-16.3146,-0.619306));
Poles.SetValue(2,21,gp_Pnt(-142.321,-12.4685,-0.646119));
Poles.SetValue(2,22,gp_Pnt(-142.321,-8.62227,-0.646118));
Poles.SetValue(2,23,gp_Pnt(-142.321,-5.73782,-0.634708));
Poles.SetValue(2,24,gp_Pnt(-142.317,-1.89155,-0.588682));
Poles.SetValue(2,25,gp_Pnt(-142.316,1.95492,-0.560158));
Poles.SetValue(2,26,gp_Pnt(-142.316,5.80123,-0.547648));
Poles.SetValue(2,27,gp_Pnt(-142.313,8.68585,-0.518341));
Poles.SetValue(2,28,gp_Pnt(-142.312,12.532,-0.500341));
Poles.SetValue(2,29,gp_Pnt(-142.311,16.3777,-0.499537));
Poles.SetValue(2,30,gp_Pnt(-142.307,20.2226,-0.465716));
Poles.SetValue(2,31,gp_Pnt(-142.307,24.0679,-0.460146));
Poles.SetValue(2,32,gp_Pnt(-142.304,27.4314,-0.438242));
Poles.SetValue(2,33,gp_Pnt(-142.304,30.315,-0.433771));
Poles.SetValue(2,34,gp_Pnt(-142.304,32.2374,-0.432231));
Poles.SetValue(2,35,gp_Pnt(-142.306,34.6411,-0.446475));
Poles.SetValue(2,36,gp_Pnt(-142.306,37.525,-0.445412));
Poles.SetValue(2,37,gp_Pnt(-142.307,40.4085,-0.44998));
Poles.SetValue(2,38,gp_Pnt(-142.306,43.2916,-0.431981));
Poles.SetValue(2,39,gp_Pnt(-142.305,47.1355,-0.408878));
Poles.SetValue(2,40,gp_Pnt(-142.303,51.94,-0.366882));
Poles.SetValue(2,41,gp_Pnt(-142.301,57.7052,-0.307906));
Poles.SetValue(2,42,gp_Pnt(-142.301,63.4721,-0.30131));
Poles.SetValue(2,43,gp_Pnt(-142.302,71.1622,-0.256453));
Poles.SetValue(2,44,gp_Pnt(-142.302,84.6149,-0.220375));
Poles.SetValue(2,45,gp_Pnt(-142.31,103.846,-0.23077));
Poles.SetValue(2,46,gp_Pnt(-142.304,126.92,0.0181769));
Poles.SetValue(2,47,gp_Pnt(-142.309,142.309,-0.0738464));
Poles.SetValue(2,48,gp_Pnt(-142.307,150.001,0.000863329));
Poles.SetValue(3,1,gp_Pnt(-126.921,-150,0.00165292));
Poles.SetValue(3,2,gp_Pnt(-126.921,-142.291,-0.108971));
Poles.SetValue(3,3,gp_Pnt(-126.916,-126.875,-0.280815));
Poles.SetValue(3,4,gp_Pnt(-126.912,-103.76,-0.548913));
Poles.SetValue(3,5,gp_Pnt(-126.904,-84.5133,-0.647195));
Poles.SetValue(3,6,gp_Pnt(-126.909,-71.0494,-0.979561));
Poles.SetValue(3,7,gp_Pnt(-126.905,-63.3539,-0.997419));
Poles.SetValue(3,8,gp_Pnt(-126.904,-57.5844,-1.07424));
Poles.SetValue(3,9,gp_Pnt(-126.902,-51.8141,-1.11764));
Poles.SetValue(3,10,gp_Pnt(-126.901,-47.0063,-1.16545));
Poles.SetValue(3,11,gp_Pnt(-126.904,-43.162,-1.23177));
Poles.SetValue(3,12,gp_Pnt(-126.906,-40.2796,-1.27218));
Poles.SetValue(3,13,gp_Pnt(-126.91,-37.3996,-1.3403));
Poles.SetValue(3,14,gp_Pnt(-126.913,-34.5199,-1.37958));
Poles.SetValue(3,15,gp_Pnt(-126.918,-32.1209,-1.42493));
Poles.SetValue(3,16,gp_Pnt(-126.919,-30.1996,-1.43471));
Poles.SetValue(3,17,gp_Pnt(-126.92,-27.3171,-1.44871));
Poles.SetValue(3,18,gp_Pnt(-126.916,-23.9503,-1.43521));
Poles.SetValue(3,19,gp_Pnt(-126.915,-20.1051,-1.43151));
Poles.SetValue(3,20,gp_Pnt(-126.906,-16.2565,-1.38855));
Poles.SetValue(3,21,gp_Pnt(-126.903,-12.4114,-1.40876));
Poles.SetValue(3,22,gp_Pnt(-126.9,-8.56614,-1.41947));
Poles.SetValue(3,23,gp_Pnt(-126.897,-5.68165,-1.41744));
Poles.SetValue(3,24,gp_Pnt(-126.899,-1.83662,-1.46074));
Poles.SetValue(3,25,gp_Pnt(-126.896,2.00777,-1.45305));
Poles.SetValue(3,26,gp_Pnt(-126.895,5.85236,-1.4119));
Poles.SetValue(3,27,gp_Pnt(-126.9,8.73579,-1.42133));
Poles.SetValue(3,28,gp_Pnt(-126.903,12.58,-1.39958));
Poles.SetValue(3,29,gp_Pnt(-126.905,16.4245,-1.35132));
Poles.SetValue(3,30,gp_Pnt(-126.914,20.2695,-1.36455));
Poles.SetValue(3,31,gp_Pnt(-126.911,24.1114,-1.3157));
Poles.SetValue(3,32,gp_Pnt(-126.913,27.4746,-1.29886));
Poles.SetValue(3,33,gp_Pnt(-126.911,30.3549,-1.2689));
Poles.SetValue(3,34,gp_Pnt(-126.909,32.275,-1.24747));
Poles.SetValue(3,35,gp_Pnt(-126.904,34.6731,-1.20445));
Poles.SetValue(3,36,gp_Pnt(-126.901,37.5522,-1.17054));
Poles.SetValue(3,37,gp_Pnt(-126.898,40.4322,-1.14411));
Poles.SetValue(3,38,gp_Pnt(-126.898,43.3131,-1.12165));
Poles.SetValue(3,39,gp_Pnt(-126.899,47.1552,-1.1049));
Poles.SetValue(3,40,gp_Pnt(-126.903,51.9593,-1.08453));
Poles.SetValue(3,41,gp_Pnt(-126.906,57.7251,-1.02902));
Poles.SetValue(3,42,gp_Pnt(-126.909,63.4889,-0.984029));
Poles.SetValue(3,43,gp_Pnt(-126.912,71.1726,-0.939984));
Poles.SetValue(3,44,gp_Pnt(-126.916,84.6287,-0.75009));
Poles.SetValue(3,45,gp_Pnt(-126.914,103.84,-0.446948));
Poles.SetValue(3,46,gp_Pnt(-126.922,126.917,-0.208932));
Poles.SetValue(3,47,gp_Pnt(-126.919,142.304,-0.0369009));
Poles.SetValue(3,48,gp_Pnt(-126.921,150,-0.00113251));
Poles.SetValue(4,1,gp_Pnt(-103.843,-150,-0.0010153));
Poles.SetValue(4,2,gp_Pnt(-103.841,-142.278,-0.149614));
Poles.SetValue(4,3,gp_Pnt(-103.841,-126.835,-0.557018));
Poles.SetValue(4,4,gp_Pnt(-103.832,-103.697,-1.04331));
Poles.SetValue(4,5,gp_Pnt(-103.825,-84.4296,-1.51248));
Poles.SetValue(4,6,gp_Pnt(-103.814,-70.9483,-1.71721));
Poles.SetValue(4,7,gp_Pnt(-103.81,-63.2492,-1.91447));
Poles.SetValue(4,8,gp_Pnt(-103.805,-57.475,-2.0133));
Poles.SetValue(4,9,gp_Pnt(-103.802,-51.7032,-2.17279));
Poles.SetValue(4,10,gp_Pnt(-103.796,-46.8927,-2.30177));
Poles.SetValue(4,11,gp_Pnt(-103.786,-43.0402,-2.38814));
Poles.SetValue(4,12,gp_Pnt(-103.778,-40.152,-2.44243));
Poles.SetValue(4,13,gp_Pnt(-103.765,-37.2574,-2.50059));
Poles.SetValue(4,14,gp_Pnt(-103.753,-34.3676,-2.54694));
Poles.SetValue(4,15,gp_Pnt(-103.741,-31.9551,-2.60633));
Poles.SetValue(4,16,gp_Pnt(-103.734,-30.0306,-2.65752));
Poles.SetValue(4,17,gp_Pnt(-103.725,-27.1449,-2.73151));
Poles.SetValue(4,18,gp_Pnt(-103.722,-23.7866,-2.82704));
Poles.SetValue(4,19,gp_Pnt(-103.716,-19.9474,-2.91344));
Poles.SetValue(4,20,gp_Pnt(-103.726,-16.1157,-3.04938));
Poles.SetValue(4,21,gp_Pnt(-103.727,-12.2811,-3.06216));
Poles.SetValue(4,22,gp_Pnt(-103.73,-8.44811,-3.0722));
Poles.SetValue(4,23,gp_Pnt(-103.734,-5.57452,-3.08626));
Poles.SetValue(4,24,gp_Pnt(-103.733,-1.74218,-3.02862));
Poles.SetValue(4,25,gp_Pnt(-103.739,2.09027,-3.04208));
Poles.SetValue(4,26,gp_Pnt(-103.743,5.92168,-3.09969));
Poles.SetValue(4,27,gp_Pnt(-103.739,8.795,-3.08108));
Poles.SetValue(4,28,gp_Pnt(-103.737,12.6264,-3.09153));
Poles.SetValue(4,29,gp_Pnt(-103.739,16.4571,-3.11293));
Poles.SetValue(4,30,gp_Pnt(-103.733,20.2881,-3.01659));
Poles.SetValue(4,31,gp_Pnt(-103.744,24.1243,-2.98515));
Poles.SetValue(4,32,gp_Pnt(-103.749,27.4798,-2.90047));
Poles.SetValue(4,33,gp_Pnt(-103.759,30.3609,-2.8434));
Poles.SetValue(4,34,gp_Pnt(-103.766,32.282,-2.80723));
Poles.SetValue(4,35,gp_Pnt(-103.781,34.6883,-2.77627));
Poles.SetValue(4,36,gp_Pnt(-103.792,37.5714,-2.73126));
Poles.SetValue(4,37,gp_Pnt(-103.803,40.4561,-2.66247));
Poles.SetValue(4,38,gp_Pnt(-103.811,43.3376,-2.62498));
Poles.SetValue(4,39,gp_Pnt(-103.819,47.1799,-2.53849));
Poles.SetValue(4,40,gp_Pnt(-103.824,51.9789,-2.42499));
Poles.SetValue(4,41,gp_Pnt(-103.828,57.7369,-2.30022));
Poles.SetValue(4,42,gp_Pnt(-103.83,63.4966,-2.12922));
Poles.SetValue(4,43,gp_Pnt(-103.832,71.1786,-1.8623));
Poles.SetValue(4,44,gp_Pnt(-103.837,84.6178,-1.53092));
Poles.SetValue(4,45,gp_Pnt(-103.85,103.844,-1.13325));
Poles.SetValue(4,46,gp_Pnt(-103.848,126.916,-0.481826));
Poles.SetValue(4,47,gp_Pnt(-103.846,142.306,-0.137169));
Poles.SetValue(4,48,gp_Pnt(-103.844,150,0.000586788));
Poles.SetValue(5,1,gp_Pnt(-84.614,-150,0.000270488));
Poles.SetValue(5,2,gp_Pnt(-84.6141,-142.269,-0.159149));
Poles.SetValue(5,3,gp_Pnt(-84.6159,-126.815,-0.660259));
Poles.SetValue(5,4,gp_Pnt(-84.6086,-103.651,-1.4185));
Poles.SetValue(5,5,gp_Pnt(-84.5935,-84.3582,-2.06391));
Poles.SetValue(5,6,gp_Pnt(-84.5714,-70.8586,-2.4464));
Poles.SetValue(5,7,gp_Pnt(-84.5628,-63.1503,-2.67335));
Poles.SetValue(5,8,gp_Pnt(-84.5613,-57.3748,-2.91676));
Poles.SetValue(5,9,gp_Pnt(-84.5613,-51.6011,-3.07405));
Poles.SetValue(5,10,gp_Pnt(-84.5691,-46.7952,-3.20612));
Poles.SetValue(5,11,gp_Pnt(-84.5837,-42.9554,-3.33601));
Poles.SetValue(5,12,gp_Pnt(-84.5994,-40.0793,-3.44324));
Poles.SetValue(5,13,gp_Pnt(-84.6194,-37.2057,-3.54474));
Poles.SetValue(5,14,gp_Pnt(-84.6441,-34.3358,-3.66032));
Poles.SetValue(5,15,gp_Pnt(-84.6655,-31.9433,-3.73538));
Poles.SetValue(5,16,gp_Pnt(-84.6811,-30.0273,-3.78877));
Poles.SetValue(5,17,gp_Pnt(-84.704,-27.1526,-3.87363));
Poles.SetValue(5,18,gp_Pnt(-84.7235,-23.7921,-3.94992));
Poles.SetValue(5,19,gp_Pnt(-84.7453,-19.953,-4.04994));
Poles.SetValue(5,20,gp_Pnt(-84.7487,-16.1062,-4.06117));
Poles.SetValue(5,21,gp_Pnt(-84.761,-12.2635,-4.21439));
Poles.SetValue(5,22,gp_Pnt(-84.7646,-8.4186,-4.30051));
Poles.SetValue(5,23,gp_Pnt(-84.7638,-5.53345,-4.32728));
Poles.SetValue(5,24,gp_Pnt(-84.7694,-1.6881,-4.45068));
Poles.SetValue(5,25,gp_Pnt(-84.762,2.15614,-4.45867));
Poles.SetValue(5,26,gp_Pnt(-84.7563,6.00003,-4.40673));
Poles.SetValue(5,27,gp_Pnt(-84.7609,8.88229,-4.44703));
Poles.SetValue(5,28,gp_Pnt(-84.7604,12.7235,-4.42816));
Poles.SetValue(5,29,gp_Pnt(-84.7534,16.563,-4.35447));
Poles.SetValue(5,30,gp_Pnt(-84.754,20.3999,-4.39459));
Poles.SetValue(5,31,gp_Pnt(-84.7327,24.2293,-4.30122));
Poles.SetValue(5,32,gp_Pnt(-84.7173,27.5803,-4.27802));
Poles.SetValue(5,33,gp_Pnt(-84.6977,30.4479,-4.21241));
Poles.SetValue(5,34,gp_Pnt(-84.6843,32.3595,-4.16497));
Poles.SetValue(5,35,gp_Pnt(-84.6617,34.7453,-4.05325));
Poles.SetValue(5,36,gp_Pnt(-84.642,37.6106,-3.97243));
Poles.SetValue(5,37,gp_Pnt(-84.626,40.4793,-3.88558));
Poles.SetValue(5,38,gp_Pnt(-84.613,43.3488,-3.76512));
Poles.SetValue(5,39,gp_Pnt(-84.602,47.1786,-3.6382));
Poles.SetValue(5,40,gp_Pnt(-84.5979,51.9706,-3.48883));
Poles.SetValue(5,41,gp_Pnt(-84.5955,57.7241,-3.24621));
Poles.SetValue(5,42,gp_Pnt(-84.5981,63.4805,-3.0356));
Poles.SetValue(5,43,gp_Pnt(-84.6055,71.1595,-2.79784));
Poles.SetValue(5,44,gp_Pnt(-84.622,84.6125,-2.27334));
Poles.SetValue(5,45,gp_Pnt(-84.632,103.829,-1.5763));
Poles.SetValue(5,46,gp_Pnt(-84.6319,126.911,-0.827433));
Poles.SetValue(5,47,gp_Pnt(-84.6202,142.302,-0.277168));
Poles.SetValue(5,48,gp_Pnt(-84.616,150,-0.00084759));
Poles.SetValue(6,1,gp_Pnt(-71.1545,-150,0.000818217));
Poles.SetValue(6,2,gp_Pnt(-71.1559,-142.265,-0.171988));
Poles.SetValue(6,3,gp_Pnt(-71.1636,-126.808,-0.877511));
Poles.SetValue(6,4,gp_Pnt(-71.156,-103.621,-1.6021));
Poles.SetValue(6,5,gp_Pnt(-71.1356,-84.3088,-2.3871));
Poles.SetValue(6,6,gp_Pnt(-71.1082,-70.796,-2.8955));
Poles.SetValue(6,7,gp_Pnt(-71.0937,-63.0781,-3.24057));
Poles.SetValue(6,8,gp_Pnt(-71.0799,-57.2886,-3.46587));
Poles.SetValue(6,9,gp_Pnt(-71.0655,-51.499,-3.70299));
Poles.SetValue(6,10,gp_Pnt(-71.0546,-46.6771,-3.94985));
Poles.SetValue(6,11,gp_Pnt(-71.0462,-42.8205,-4.15299));
Poles.SetValue(6,12,gp_Pnt(-71.0381,-39.9275,-4.28235));
Poles.SetValue(6,13,gp_Pnt(-71.0329,-37.0353,-4.43768));
Poles.SetValue(6,14,gp_Pnt(-71.026,-34.1434,-4.56256));
Poles.SetValue(6,15,gp_Pnt(-71.0223,-31.7352,-4.68719));
Poles.SetValue(6,16,gp_Pnt(-71.0206,-29.8116,-4.79297));
Poles.SetValue(6,17,gp_Pnt(-71.0187,-26.9274,-4.95523));
Poles.SetValue(6,18,gp_Pnt(-71.0182,-23.5685,-5.15222));
Poles.SetValue(6,19,gp_Pnt(-71.0127,-19.7304,-5.35227));
Poles.SetValue(6,20,gp_Pnt(-71.0136,-15.8989,-5.56506));
Poles.SetValue(6,21,gp_Pnt(-71.0096,-12.0712,-5.68795));
Poles.SetValue(6,22,gp_Pnt(-71.0107,-8.25242,-5.79463));
Poles.SetValue(6,23,gp_Pnt(-71.0139,-5.39299,-5.88817));
Poles.SetValue(6,24,gp_Pnt(-71.0145,-1.5833,-5.93167));
Poles.SetValue(6,25,gp_Pnt(-71.0292,2.22315,-5.99844));
Poles.SetValue(6,26,gp_Pnt(-71.0411,6.02965,-6.03414));
Poles.SetValue(6,27,gp_Pnt(-71.0445,8.88553,-5.98762));
Poles.SetValue(6,28,gp_Pnt(-71.0538,12.6963,-5.9483));
Poles.SetValue(6,29,gp_Pnt(-71.0673,16.5105,-5.90522));
Poles.SetValue(6,30,gp_Pnt(-71.0725,20.328,-5.76435));
Poles.SetValue(6,31,gp_Pnt(-71.0851,24.1504,-5.66147));
Poles.SetValue(6,32,gp_Pnt(-71.0875,27.4934,-5.51298));
Poles.SetValue(6,33,gp_Pnt(-71.0908,30.364,-5.39372));
Poles.SetValue(6,34,gp_Pnt(-71.0932,32.2778,-5.31749));
Poles.SetValue(6,35,gp_Pnt(-71.0997,34.6747,-5.24058));
Poles.SetValue(6,36,gp_Pnt(-71.1085,37.552,-5.1317));
Poles.SetValue(6,37,gp_Pnt(-71.1096,40.4266,-4.95936));
Poles.SetValue(6,38,gp_Pnt(-71.1188,43.3052,-4.8684));
Poles.SetValue(6,39,gp_Pnt(-71.1247,47.1418,-4.66742));
Poles.SetValue(6,40,gp_Pnt(-71.1323,51.9393,-4.41857));
Poles.SetValue(6,41,gp_Pnt(-71.1417,57.6996,-4.12519));
Poles.SetValue(6,42,gp_Pnt(-71.1508,63.4613,-3.8404));
Poles.SetValue(6,43,gp_Pnt(-71.162,71.1459,-3.46491));
Poles.SetValue(6,44,gp_Pnt(-71.1789,84.5949,-2.84945));
Poles.SetValue(6,45,gp_Pnt(-71.191,103.827,-1.9693));
Poles.SetValue(6,46,gp_Pnt(-71.1797,126.907,-0.936212));
Poles.SetValue(6,47,gp_Pnt(-71.1648,142.304,-0.336438));
Poles.SetValue(6,48,gp_Pnt(-71.1568,150,-0.000475897));
Poles.SetValue(7,1,gp_Pnt(-63.4635,-150,0.000362352));
Poles.SetValue(7,2,gp_Pnt(-63.4667,-142.266,-0.270865));
Poles.SetValue(7,3,gp_Pnt(-63.4754,-126.801,-0.886325));
Poles.SetValue(7,4,gp_Pnt(-63.4707,-103.604,-1.70578));
Poles.SetValue(7,5,gp_Pnt(-63.4505,-84.2857,-2.5768));
Poles.SetValue(7,6,gp_Pnt(-63.4181,-70.7632,-3.20272));
Poles.SetValue(7,7,gp_Pnt(-63.3948,-63.0341,-3.53045));
Poles.SetValue(7,8,gp_Pnt(-63.3767,-57.2389,-3.80851));
Poles.SetValue(7,9,gp_Pnt(-63.3583,-51.4454,-4.13513));
Poles.SetValue(7,10,gp_Pnt(-63.338,-46.6134,-4.37957));
Poles.SetValue(7,11,gp_Pnt(-63.319,-42.7455,-4.60555));
Poles.SetValue(7,12,gp_Pnt(-63.3044,-39.8447,-4.78324));
Poles.SetValue(7,13,gp_Pnt(-63.2827,-36.9396,-4.96843));
Poles.SetValue(7,14,gp_Pnt(-63.2624,-34.0396,-5.18158));
Poles.SetValue(7,15,gp_Pnt(-63.2386,-31.6189,-5.33987));
Poles.SetValue(7,16,gp_Pnt(-63.221,-29.6882,-5.45269));
Poles.SetValue(7,17,gp_Pnt(-63.1927,-26.7909,-5.60579));
Poles.SetValue(7,18,gp_Pnt(-63.1645,-23.4252,-5.7359));
Poles.SetValue(7,19,gp_Pnt(-63.1509,-19.5935,-5.838));
Poles.SetValue(7,20,gp_Pnt(-63.1439,-15.77,-5.92716));
Poles.SetValue(7,21,gp_Pnt(-63.1534,-11.9628,-6.05663));
Poles.SetValue(7,22,gp_Pnt(-63.1624,-8.16097,-6.16538));
Poles.SetValue(7,23,gp_Pnt(-63.1713,-5.31206,-6.20947));
Poles.SetValue(7,24,gp_Pnt(-63.193,-1.51882,-6.33325));
Poles.SetValue(7,25,gp_Pnt(-63.1982,2.26931,-6.42672));
Poles.SetValue(7,26,gp_Pnt(-63.2064,6.05752,-6.45684));
Poles.SetValue(7,27,gp_Pnt(-63.2158,8.89967,-6.49216));
Poles.SetValue(7,28,gp_Pnt(-63.2266,12.6896,-6.5197));
Poles.SetValue(7,29,gp_Pnt(-63.2272,16.4827,-6.46308));
Poles.SetValue(7,30,gp_Pnt(-63.2514,20.2851,-6.51582));
Poles.SetValue(7,31,gp_Pnt(-63.2665,24.0915,-6.41687));
Poles.SetValue(7,32,gp_Pnt(-63.3025,27.4349,-6.36479));
Poles.SetValue(7,33,gp_Pnt(-63.3303,30.3117,-6.22694));
Poles.SetValue(7,34,gp_Pnt(-63.3488,32.2305,-6.13272));
Poles.SetValue(7,35,gp_Pnt(-63.366,34.6316,-5.97585));
Poles.SetValue(7,36,gp_Pnt(-63.3837,37.5115,-5.82491));
Poles.SetValue(7,37,gp_Pnt(-63.4034,40.3963,-5.69285));
Poles.SetValue(7,38,gp_Pnt(-63.4132,43.2758,-5.49842));
Poles.SetValue(7,39,gp_Pnt(-63.4263,47.1169,-5.25128));
Poles.SetValue(7,40,gp_Pnt(-63.4394,51.9183,-4.95511));
Poles.SetValue(7,41,gp_Pnt(-63.4539,57.6817,-4.64148));
Poles.SetValue(7,42,gp_Pnt(-63.4684,63.4475,-4.3285));
Poles.SetValue(7,43,gp_Pnt(-63.4802,71.1311,-3.82751));
Poles.SetValue(7,44,gp_Pnt(-63.499,84.589,-3.10785));
Poles.SetValue(7,45,gp_Pnt(-63.5115,103.821,-2.17125));
Poles.SetValue(7,46,gp_Pnt(-63.4944,126.908,-1.06963));
Poles.SetValue(7,47,gp_Pnt(-63.4761,142.304,-0.392153));
Poles.SetValue(7,48,gp_Pnt(-63.4659,150,0.000947448));
Poles.SetValue(8,1,gp_Pnt(-57.6952,-150,-0.00314282));
Poles.SetValue(8,2,gp_Pnt(-57.6995,-142.266,-0.311295));
Poles.SetValue(8,3,gp_Pnt(-57.7097,-126.797,-0.921112));
Poles.SetValue(8,4,gp_Pnt(-57.7066,-103.591,-1.73366));
Poles.SetValue(8,5,gp_Pnt(-57.6899,-84.2722,-2.7131));
Poles.SetValue(8,6,gp_Pnt(-57.6482,-70.7348,-3.36076));
Poles.SetValue(8,7,gp_Pnt(-57.6215,-63.0007,-3.76313));
Poles.SetValue(8,8,gp_Pnt(-57.5991,-57.2001,-4.08499));
Poles.SetValue(8,9,gp_Pnt(-57.5756,-51.4007,-4.39273));
Poles.SetValue(8,10,gp_Pnt(-57.554,-46.5664,-4.69516));
Poles.SetValue(8,11,gp_Pnt(-57.5322,-42.6946,-4.96155));
Poles.SetValue(8,12,gp_Pnt(-57.5132,-39.7891,-5.21994));
Poles.SetValue(8,13,gp_Pnt(-57.4836,-36.8743,-5.38283));
Poles.SetValue(8,14,gp_Pnt(-57.4423,-33.9556,-5.4932));
Poles.SetValue(8,15,gp_Pnt(-57.402,-31.5272,-5.53467));
Poles.SetValue(8,16,gp_Pnt(-57.3861,-29.5989,-5.60063));
Poles.SetValue(8,17,gp_Pnt(-57.3688,-26.7132,-5.72085));
Poles.SetValue(8,18,gp_Pnt(-57.398,-23.3843,-5.9876));
Poles.SetValue(8,19,gp_Pnt(-57.4294,-19.5722,-6.26213));
Poles.SetValue(8,20,gp_Pnt(-57.5035,-15.7794,-6.68012));
Poles.SetValue(8,21,gp_Pnt(-57.5719,-11.9809,-7.06297));
Poles.SetValue(8,22,gp_Pnt(-57.6221,-8.1767,-7.32819));
Poles.SetValue(8,23,gp_Pnt(-57.6505,-5.32072,-7.50978));
Poles.SetValue(8,24,gp_Pnt(-57.6777,-1.51151,-7.67969));
Poles.SetValue(8,25,gp_Pnt(-57.7106,2.29043,-7.79385));
Poles.SetValue(8,26,gp_Pnt(-57.6789,6.09212,-7.72725));
Poles.SetValue(8,27,gp_Pnt(-57.6575,8.94134,-7.67509));
Poles.SetValue(8,28,gp_Pnt(-57.6107,12.7342,-7.50788));
Poles.SetValue(8,29,gp_Pnt(-57.5593,16.5215,-7.2957));
Poles.SetValue(8,30,gp_Pnt(-57.5083,20.3002,-7.009));
Poles.SetValue(8,31,gp_Pnt(-57.4814,24.0877,-6.79325));
Poles.SetValue(8,32,gp_Pnt(-57.4846,27.4081,-6.67069));
Poles.SetValue(8,33,gp_Pnt(-57.5135,30.2753,-6.61361));
Poles.SetValue(8,34,gp_Pnt(-57.5328,32.1869,-6.57093));
Poles.SetValue(8,35,gp_Pnt(-57.5743,34.5945,-6.55824));
Poles.SetValue(8,36,gp_Pnt(-57.6121,37.4882,-6.44634));
Poles.SetValue(8,37,gp_Pnt(-57.628,40.3737,-6.21298));
Poles.SetValue(8,38,gp_Pnt(-57.6442,43.2575,-6.00935));
Poles.SetValue(8,39,gp_Pnt(-57.6633,47.1029,-5.76432));
Poles.SetValue(8,40,gp_Pnt(-57.6718,51.9,-5.37064));
Poles.SetValue(8,41,gp_Pnt(-57.6883,57.6662,-5.02319));
Poles.SetValue(8,42,gp_Pnt(-57.7048,63.4336,-4.65762));
Poles.SetValue(8,43,gp_Pnt(-57.7185,71.1203,-4.08762));
Poles.SetValue(8,44,gp_Pnt(-57.7448,84.5871,-3.3533));
Poles.SetValue(8,45,gp_Pnt(-57.7511,103.816,-2.29786));
Poles.SetValue(8,46,gp_Pnt(-57.7309,126.907,-1.1419));
Poles.SetValue(8,47,gp_Pnt(-57.7091,142.303,-0.384611));
Poles.SetValue(8,48,gp_Pnt(-57.6978,150,-0.00163315));
Poles.SetValue(9,1,gp_Pnt(-51.9266,-150,-0.000170689));
Poles.SetValue(9,2,gp_Pnt(-51.9325,-142.265,-0.308476));
Poles.SetValue(9,3,gp_Pnt(-51.9437,-126.792,-0.954312));
Poles.SetValue(9,4,gp_Pnt(-51.9434,-103.579,-1.79846));
Poles.SetValue(9,5,gp_Pnt(-51.9339,-84.2654,-2.84979));
Poles.SetValue(9,6,gp_Pnt(-51.8762,-70.7033,-3.47842));
Poles.SetValue(9,7,gp_Pnt(-51.8492,-62.9676,-3.99915));
Poles.SetValue(9,8,gp_Pnt(-51.8239,-57.1623,-4.34605));
Poles.SetValue(9,9,gp_Pnt(-51.7903,-51.3504,-4.69053));
Poles.SetValue(9,10,gp_Pnt(-51.7729,-46.5189,-5.09883));
Poles.SetValue(9,11,gp_Pnt(-51.757,-42.6481,-5.27347));
Poles.SetValue(9,12,gp_Pnt(-51.7513,-39.7469,-5.30536));
Poles.SetValue(9,13,gp_Pnt(-51.7401,-36.8465,-5.38604));
Poles.SetValue(9,14,gp_Pnt(-51.7694,-33.9846,-5.66624));
Poles.SetValue(9,15,gp_Pnt(-51.7798,-31.5914,-5.96847));
Poles.SetValue(9,16,gp_Pnt(-51.8152,-29.6949,-6.3184));
Poles.SetValue(9,17,gp_Pnt(-51.8773,-26.8541,-6.90413));
Poles.SetValue(9,18,gp_Pnt(-51.9335,-23.5242,-7.53269));
Poles.SetValue(9,19,gp_Pnt(-52.0359,-19.7223,-8.2157));
Poles.SetValue(9,20,gp_Pnt(-52.1308,-15.9092,-8.84603));
Poles.SetValue(9,21,gp_Pnt(-52.2346,-12.094,-9.39748));
Poles.SetValue(9,22,gp_Pnt(-52.3068,-8.26388,-9.81203));
Poles.SetValue(9,23,gp_Pnt(-52.3488,-5.38726,-10.0427));
Poles.SetValue(9,24,gp_Pnt(-52.391,-1.54826,-10.2726));
Poles.SetValue(9,25,gp_Pnt(-52.4088,2.29184,-10.382));
Poles.SetValue(9,26,gp_Pnt(-52.3622,6.12771,-10.2589));
Poles.SetValue(9,27,gp_Pnt(-52.3201,8.99991,-10.0938));
Poles.SetValue(9,28,gp_Pnt(-52.2783,12.8262,-9.86285));
Poles.SetValue(9,29,gp_Pnt(-52.1925,16.6338,-9.442));
Poles.SetValue(9,30,gp_Pnt(-52.1187,20.4371,-8.97308));
Poles.SetValue(9,31,gp_Pnt(-52.0376,24.2289,-8.44813));
Poles.SetValue(9,32,gp_Pnt(-51.9688,27.5366,-7.90192));
Poles.SetValue(9,33,gp_Pnt(-51.9242,30.3704,-7.47434));
Poles.SetValue(9,34,gp_Pnt(-51.9019,32.2644,-7.22041));
Poles.SetValue(9,35,gp_Pnt(-51.8684,34.6208,-6.88143));
Poles.SetValue(9,36,gp_Pnt(-51.8535,37.4738,-6.68843));
Poles.SetValue(9,37,gp_Pnt(-51.8792,40.3596,-6.69292));
Poles.SetValue(9,38,gp_Pnt(-51.8924,43.2452,-6.61057));
Poles.SetValue(9,39,gp_Pnt(-51.8939,47.0764,-6.26774));
Poles.SetValue(9,40,gp_Pnt(-51.9082,51.8812,-5.88782));
Poles.SetValue(9,41,gp_Pnt(-51.9297,57.653,-5.46697));
Poles.SetValue(9,42,gp_Pnt(-51.9428,63.4193,-5.00425));
Poles.SetValue(9,43,gp_Pnt(-51.9613,71.113,-4.45556));
Poles.SetValue(9,44,gp_Pnt(-51.9912,84.5843,-3.48722));
Poles.SetValue(9,45,gp_Pnt(-51.9934,103.813,-2.50034));
Poles.SetValue(9,46,gp_Pnt(-51.9654,126.903,-1.154));
Poles.SetValue(9,47,gp_Pnt(-51.9437,142.306,-0.456106));
Poles.SetValue(9,48,gp_Pnt(-51.9293,150,0.00113058));
Poles.SetValue(10,1,gp_Pnt(-46.1581,-150.001,-0.000638257));
Poles.SetValue(10,2,gp_Pnt(-46.1658,-142.266,-0.338908));
Poles.SetValue(10,3,gp_Pnt(-46.1771,-126.787,-0.982666));
Poles.SetValue(10,4,gp_Pnt(-46.1819,-103.569,-1.90958));
Poles.SetValue(10,5,gp_Pnt(-46.1784,-84.261,-2.93134));
Poles.SetValue(10,6,gp_Pnt(-46.1093,-70.6785,-3.69831));
Poles.SetValue(10,7,gp_Pnt(-46.0739,-62.928,-4.17581));
Poles.SetValue(10,8,gp_Pnt(-46.047,-57.1203,-4.57934));
Poles.SetValue(10,9,gp_Pnt(-46.0154,-51.3116,-5.03379));
Poles.SetValue(10,10,gp_Pnt(-45.9925,-46.4699,-5.18556));
Poles.SetValue(10,11,gp_Pnt(-46.012,-42.6314,-5.32418));
Poles.SetValue(10,12,gp_Pnt(-46.0662,-39.7925,-5.76494));
Poles.SetValue(10,13,gp_Pnt(-46.1808,-37.0074,-6.4582));
Poles.SetValue(10,14,gp_Pnt(-46.2627,-34.1775,-7.11737));
Poles.SetValue(10,15,gp_Pnt(-46.3521,-31.8361,-7.6892));
Poles.SetValue(10,16,gp_Pnt(-46.4119,-29.9436,-8.15917));
Poles.SetValue(10,17,gp_Pnt(-46.4974,-27.1051,-8.83871));
Poles.SetValue(10,18,gp_Pnt(-46.6385,-23.7928,-9.76221));
Poles.SetValue(10,19,gp_Pnt(-46.7404,-19.9549,-10.6246));
Poles.SetValue(10,20,gp_Pnt(-46.8688,-16.1204,-11.4653));
Poles.SetValue(10,21,gp_Pnt(-46.9478,-12.2561,-12.113));
Poles.SetValue(10,22,gp_Pnt(-47.0023,-8.38515,-12.5828));
Poles.SetValue(10,23,gp_Pnt(-47.0269,-5.4785,-12.8456));
Poles.SetValue(10,24,gp_Pnt(-47.0386,-1.60018,-13.0705));
Poles.SetValue(10,25,gp_Pnt(-47.0287,2.2868,-13.1044));
Poles.SetValue(10,26,gp_Pnt(-47.034,6.16793,-13.0276));
Poles.SetValue(10,27,gp_Pnt(-47.0114,9.0735,-12.8621));
Poles.SetValue(10,28,gp_Pnt(-46.9836,12.9397,-12.5471));
Poles.SetValue(10,29,gp_Pnt(-46.9389,16.7984,-12.1024));
Poles.SetValue(10,30,gp_Pnt(-46.8056,20.6199,-11.386));
Poles.SetValue(10,31,gp_Pnt(-46.729,24.4527,-10.7291));
Poles.SetValue(10,32,gp_Pnt(-46.5805,27.7429,-9.92361));
Poles.SetValue(10,33,gp_Pnt(-46.5017,30.5752,-9.34857));
Poles.SetValue(10,34,gp_Pnt(-46.4461,32.4597,-8.95609));
Poles.SetValue(10,35,gp_Pnt(-46.3462,34.7849,-8.34287));
Poles.SetValue(10,36,gp_Pnt(-46.2837,37.6128,-7.82045));
Poles.SetValue(10,37,gp_Pnt(-46.162,40.3806,-7.10571));
Poles.SetValue(10,38,gp_Pnt(-46.1171,43.2098,-6.73439));
Poles.SetValue(10,39,gp_Pnt(-46.1366,47.0603,-6.75792));
Poles.SetValue(10,40,gp_Pnt(-46.1512,51.8648,-6.41774));
Poles.SetValue(10,41,gp_Pnt(-46.1664,57.632,-5.86914));
Poles.SetValue(10,42,gp_Pnt(-46.1871,63.4077,-5.41307));
Poles.SetValue(10,43,gp_Pnt(-46.2021,71.1,-4.72497));
Poles.SetValue(10,44,gp_Pnt(-46.2443,84.5899,-3.70014));
Poles.SetValue(10,45,gp_Pnt(-46.2336,103.804,-2.61154));
Poles.SetValue(10,46,gp_Pnt(-46.2013,126.902,-1.24637));
Poles.SetValue(10,47,gp_Pnt(-46.1774,142.306,-0.449946));
Poles.SetValue(10,48,gp_Pnt(-46.1611,150.001,-0.00144769));
Poles.SetValue(11,1,gp_Pnt(-41.3506,-150.001,0.000129401));
Poles.SetValue(11,2,gp_Pnt(-41.3604,-142.268,-0.369782));
Poles.SetValue(11,3,gp_Pnt(-41.3715,-126.784,-1.01965));
Poles.SetValue(11,4,gp_Pnt(-41.381,-103.559,-1.98585));
Poles.SetValue(11,5,gp_Pnt(-41.3846,-84.2649,-3.02478));
Poles.SetValue(11,6,gp_Pnt(-41.3076,-70.6584,-3.82604));
Poles.SetValue(11,7,gp_Pnt(-41.2583,-62.8898,-4.34596));
Poles.SetValue(11,8,gp_Pnt(-41.2301,-57.0807,-4.77554));
Poles.SetValue(11,9,gp_Pnt(-41.208,-51.2838,-5.08544));
Poles.SetValue(11,10,gp_Pnt(-41.2328,-46.4935,-5.34778));
Poles.SetValue(11,11,gp_Pnt(-41.3268,-42.7488,-6.24075));
Poles.SetValue(11,12,gp_Pnt(-41.4109,-39.9421,-6.96341));
Poles.SetValue(11,13,gp_Pnt(-41.4934,-37.1246,-7.70505));
Poles.SetValue(11,14,gp_Pnt(-41.6366,-34.3514,-8.60427));
Poles.SetValue(11,15,gp_Pnt(-41.7592,-32.0314,-9.39254));
Poles.SetValue(11,16,gp_Pnt(-41.866,-30.171,-10.027));
Poles.SetValue(11,17,gp_Pnt(-42.007,-27.3579,-10.9448));
Poles.SetValue(11,18,gp_Pnt(-42.1295,-24.0111,-11.8554));
Poles.SetValue(11,19,gp_Pnt(-42.2841,-20.1843,-12.84));
Poles.SetValue(11,20,gp_Pnt(-42.4397,-16.3348,-13.7597));
Poles.SetValue(11,21,gp_Pnt(-42.6184,-12.4706,-14.5978));
Poles.SetValue(11,22,gp_Pnt(-42.7575,-8.5647,-15.2417));
Poles.SetValue(11,23,gp_Pnt(-42.8491,-5.62091,-15.6293));
Poles.SetValue(11,24,gp_Pnt(-42.8914,-1.67076,-15.914));
Poles.SetValue(11,25,gp_Pnt(-42.8577,2.29453,-15.9201));
Poles.SetValue(11,26,gp_Pnt(-42.8099,6.24375,-15.7308));
Poles.SetValue(11,27,gp_Pnt(-42.7438,9.19033,-15.4664));
Poles.SetValue(11,28,gp_Pnt(-42.6546,13.1006,-15.0329));
Poles.SetValue(11,29,gp_Pnt(-42.4397,16.9381,-14.2592));
Poles.SetValue(11,30,gp_Pnt(-42.3321,20.793,-13.586));
Poles.SetValue(11,31,gp_Pnt(-42.202,24.6193,-12.7928));
Poles.SetValue(11,32,gp_Pnt(-42.0702,27.9455,-11.976));
Poles.SetValue(11,33,gp_Pnt(-41.926,30.743,-11.1473));
Poles.SetValue(11,34,gp_Pnt(-41.8424,32.617,-10.6229));
Poles.SetValue(11,35,gp_Pnt(-41.7499,34.9475,-9.97304));
Poles.SetValue(11,36,gp_Pnt(-41.6445,37.7479,-9.23094));
Poles.SetValue(11,37,gp_Pnt(-41.557,40.5517,-8.47969));
Poles.SetValue(11,38,gp_Pnt(-41.4664,43.3478,-7.79497));
Poles.SetValue(11,39,gp_Pnt(-41.3421,47.0459,-6.80636));
Poles.SetValue(11,40,gp_Pnt(-41.3394,51.8371,-6.68123));
Poles.SetValue(11,41,gp_Pnt(-41.3706,57.6167,-6.22193));
Poles.SetValue(11,42,gp_Pnt(-41.3831,63.3849,-5.68374));
Poles.SetValue(11,43,gp_Pnt(-41.4131,71.0964,-4.98988));
Poles.SetValue(11,44,gp_Pnt(-41.4553,84.5966,-3.8597));
Poles.SetValue(11,45,gp_Pnt(-41.4358,103.797,-2.69226));
Poles.SetValue(11,46,gp_Pnt(-41.396,126.901,-1.33321));
Poles.SetValue(11,47,gp_Pnt(-41.3733,142.306,-0.423026));
Poles.SetValue(11,48,gp_Pnt(-41.3535,150.001,0.000856916));
Poles.SetValue(12,1,gp_Pnt(-37.5046,-150.002,-0.000990159));
Poles.SetValue(12,2,gp_Pnt(-37.5158,-142.268,-0.362104));
Poles.SetValue(12,3,gp_Pnt(-37.5275,-126.781,-1.04216));
Poles.SetValue(12,4,gp_Pnt(-37.54,-103.548,-2.02727));
Poles.SetValue(12,5,gp_Pnt(-37.5516,-84.2718,-3.08919));
Poles.SetValue(12,6,gp_Pnt(-37.4692,-70.645,-3.92736));
Poles.SetValue(12,7,gp_Pnt(-37.4034,-62.8516,-4.46926));
Poles.SetValue(12,8,gp_Pnt(-37.3656,-57.0305,-4.90814));
Poles.SetValue(12,9,gp_Pnt(-37.38,-51.2739,-5.03776));
Poles.SetValue(12,10,gp_Pnt(-37.4847,-46.6009,-5.98182));
Poles.SetValue(12,11,gp_Pnt(-37.5865,-42.8757,-7.03982));
Poles.SetValue(12,12,gp_Pnt(-37.6857,-40.0925,-7.9519));
Poles.SetValue(12,13,gp_Pnt(-37.8317,-37.3448,-9.00586));
Poles.SetValue(12,14,gp_Pnt(-38.0147,-34.6055,-10.1344));
Poles.SetValue(12,15,gp_Pnt(-38.1289,-32.2759,-10.9655));
Poles.SetValue(12,16,gp_Pnt(-38.2014,-30.3789,-11.5644));
Poles.SetValue(12,17,gp_Pnt(-38.3098,-27.5372,-12.4577));
Poles.SetValue(12,18,gp_Pnt(-38.5591,-24.2661,-13.6428));
Poles.SetValue(12,19,gp_Pnt(-38.8481,-20.4819,-14.8886));
Poles.SetValue(12,20,gp_Pnt(-39.176,-16.67,-16.0722));
Poles.SetValue(12,21,gp_Pnt(-39.431,-12.7582,-16.9903));
Poles.SetValue(12,22,gp_Pnt(-39.6338,-8.78775,-17.6581));
Poles.SetValue(12,23,gp_Pnt(-39.7083,-5.77365,-17.9709));
Poles.SetValue(12,24,gp_Pnt(-39.7945,-1.73776,-18.2789));
Poles.SetValue(12,25,gp_Pnt(-39.7792,2.31582,-18.3108));
Poles.SetValue(12,26,gp_Pnt(-39.7111,6.3468,-18.1589));
Poles.SetValue(12,27,gp_Pnt(-39.6071,9.34647,-17.8966));
Poles.SetValue(12,28,gp_Pnt(-39.4225,13.3136,-17.3697));
Poles.SetValue(12,29,gp_Pnt(-39.1565,17.2006,-16.5688));
Poles.SetValue(12,30,gp_Pnt(-38.8412,21.0139,-15.5401));
Poles.SetValue(12,31,gp_Pnt(-38.5614,24.7878,-14.4514));
Poles.SetValue(12,32,gp_Pnt(-38.3865,28.1004,-13.5309));
Poles.SetValue(12,33,gp_Pnt(-38.2837,30.935,-12.7238));
Poles.SetValue(12,34,gp_Pnt(-38.1998,32.81,-12.1537));
Poles.SetValue(12,35,gp_Pnt(-38.0919,35.1348,-11.3864));
Poles.SetValue(12,36,gp_Pnt(-37.9482,37.9015,-10.4242));
Poles.SetValue(12,37,gp_Pnt(-37.8069,40.6462,-9.43281));
Poles.SetValue(12,38,gp_Pnt(-37.7142,43.4352,-8.61957));
Poles.SetValue(12,39,gp_Pnt(-37.5907,47.134,-7.52689));
Poles.SetValue(12,40,gp_Pnt(-37.5157,51.8377,-6.80127));
Poles.SetValue(12,41,gp_Pnt(-37.5183,57.5848,-6.49516));
Poles.SetValue(12,42,gp_Pnt(-37.5412,63.3635,-5.90827));
Poles.SetValue(12,43,gp_Pnt(-37.5834,71.0941,-5.20371));
Poles.SetValue(12,44,gp_Pnt(-37.6269,84.6055,-3.9813));
Poles.SetValue(12,45,gp_Pnt(-37.5971,103.791,-2.77693));
Poles.SetValue(12,46,gp_Pnt(-37.5523,126.898,-1.36182));
Poles.SetValue(12,47,gp_Pnt(-37.5291,142.307,-0.42845));
Poles.SetValue(12,48,gp_Pnt(-37.5076,150.002,0.00471985));
Poles.SetValue(13,1,gp_Pnt(-34.62,-150.003,-0.0023316));
Poles.SetValue(13,2,gp_Pnt(-34.632,-142.268,-0.349958));
Poles.SetValue(13,3,gp_Pnt(-34.645,-126.78,-1.05185));
Poles.SetValue(13,4,gp_Pnt(-34.6586,-103.539,-2.05983));
Poles.SetValue(13,5,gp_Pnt(-34.6791,-84.2792,-3.11805));
Poles.SetValue(13,6,gp_Pnt(-34.591,-70.6351,-4.00171));
Poles.SetValue(13,7,gp_Pnt(-34.5131,-62.8198,-4.56575));
Poles.SetValue(13,8,gp_Pnt(-34.4669,-56.9824,-4.92811));
Poles.SetValue(13,9,gp_Pnt(-34.5266,-51.29,-5.24163));
Poles.SetValue(13,10,gp_Pnt(-34.6876,-46.7104,-6.52793));
Poles.SetValue(13,11,gp_Pnt(-34.8026,-43.0114,-7.78986));
Poles.SetValue(13,12,gp_Pnt(-34.9344,-40.2726,-8.89694));
Poles.SetValue(13,13,gp_Pnt(-35.0891,-37.5373,-10.0435));
Poles.SetValue(13,14,gp_Pnt(-35.2348,-34.7597,-11.1199));
Poles.SetValue(13,15,gp_Pnt(-35.3211,-32.4067,-11.9429));
Poles.SetValue(13,16,gp_Pnt(-35.4497,-30.5606,-12.6961));
Poles.SetValue(13,17,gp_Pnt(-35.614,-27.7584,-13.7623));
Poles.SetValue(13,18,gp_Pnt(-35.9962,-24.5678,-15.2273));
Poles.SetValue(13,19,gp_Pnt(-36.363,-20.7882,-16.5677));
Poles.SetValue(13,20,gp_Pnt(-36.6904,-16.9282,-17.7055));
Poles.SetValue(13,21,gp_Pnt(-36.8578,-12.9306,-18.3233));
Poles.SetValue(13,22,gp_Pnt(-36.9527,-8.88561,-18.7197));
Poles.SetValue(13,23,gp_Pnt(-36.9967,-5.83477,-18.8948));
Poles.SetValue(13,24,gp_Pnt(-37.0318,-1.75551,-19.0735));
Poles.SetValue(13,25,gp_Pnt(-37.0313,2.32873,-19.1232));
Poles.SetValue(13,26,gp_Pnt(-37.0175,6.39695,-19.1615));
Poles.SetValue(13,27,gp_Pnt(-36.9594,9.43212,-19.0345));
Poles.SetValue(13,28,gp_Pnt(-36.8675,13.4561,-18.7867));
Poles.SetValue(13,29,gp_Pnt(-36.6616,17.4137,-18.1833));
Poles.SetValue(13,30,gp_Pnt(-36.3331,21.2595,-17.2008));
Poles.SetValue(13,31,gp_Pnt(-35.995,25.041,-16.0204));
Poles.SetValue(13,32,gp_Pnt(-35.6555,28.2725,-14.7687));
Poles.SetValue(13,33,gp_Pnt(-35.5108,31.0696,-13.8117));
Poles.SetValue(13,34,gp_Pnt(-35.4456,32.9642,-13.2402));
Poles.SetValue(13,35,gp_Pnt(-35.3492,35.2949,-12.4616));
Poles.SetValue(13,36,gp_Pnt(-35.189,38.0465,-11.4098));
Poles.SetValue(13,37,gp_Pnt(-35.0275,40.7699,-10.3096));
Poles.SetValue(13,38,gp_Pnt(-34.9073,43.5243,-9.30737));
Poles.SetValue(13,39,gp_Pnt(-34.7987,47.2339,-8.14392));
Poles.SetValue(13,40,gp_Pnt(-34.651,51.8373,-6.91992));
Poles.SetValue(13,41,gp_Pnt(-34.6284,57.5527,-6.63443));
Poles.SetValue(13,42,gp_Pnt(-34.659,63.3436,-6.09258));
Poles.SetValue(13,43,gp_Pnt(-34.7102,71.0895,-5.31871));
Poles.SetValue(13,44,gp_Pnt(-34.7584,84.6162,-4.09984));
Poles.SetValue(13,45,gp_Pnt(-34.7172,103.784,-2.82096));
Poles.SetValue(13,46,gp_Pnt(-34.6703,126.897,-1.3891));
Poles.SetValue(13,47,gp_Pnt(-34.6455,142.308,-0.431219));
Poles.SetValue(13,48,gp_Pnt(-34.6232,150.002,0.00496173));
Poles.SetValue(14,1,gp_Pnt(-31.7352,-150.003,-0.00154848));
Poles.SetValue(14,2,gp_Pnt(-31.7482,-142.267,-0.331617));
Poles.SetValue(14,3,gp_Pnt(-31.763,-126.779,-1.063));
Poles.SetValue(14,4,gp_Pnt(-31.7766,-103.527,-2.07596));
Poles.SetValue(14,5,gp_Pnt(-31.8089,-84.2907,-3.17444));
Poles.SetValue(14,6,gp_Pnt(-31.7122,-70.6219,-4.03525));
Poles.SetValue(14,7,gp_Pnt(-31.6249,-62.7848,-4.66387));
Poles.SetValue(14,8,gp_Pnt(-31.5769,-56.9282,-4.89998));
Poles.SetValue(14,9,gp_Pnt(-31.6802,-51.3146,-5.53692));
Poles.SetValue(14,10,gp_Pnt(-31.8745,-46.8081,-7.10223));
Poles.SetValue(14,11,gp_Pnt(-32.018,-43.1597,-8.56607));
Poles.SetValue(14,12,gp_Pnt(-32.1638,-40.4524,-9.81769));
Poles.SetValue(14,13,gp_Pnt(-32.3073,-37.7124,-11.0081));
Poles.SetValue(14,14,gp_Pnt(-32.4358,-34.9155,-12.0817));
Poles.SetValue(14,15,gp_Pnt(-32.5926,-32.6407,-13.1205));
Poles.SetValue(14,16,gp_Pnt(-32.7344,-30.7964,-13.9191));
Poles.SetValue(14,17,gp_Pnt(-33.0143,-28.0979,-15.252));
Poles.SetValue(14,18,gp_Pnt(-33.4113,-24.8923,-16.747));
Poles.SetValue(14,19,gp_Pnt(-33.7395,-21.0593,-17.9381));
Poles.SetValue(14,20,gp_Pnt(-33.9529,-17.0987,-18.7264));
Poles.SetValue(14,21,gp_Pnt(-34.0517,-13.0389,-19.0923));
Poles.SetValue(14,22,gp_Pnt(-34.0927,-8.94344,-19.1565));
Poles.SetValue(14,23,gp_Pnt(-34.1148,-5.86615,-19.2346));
Poles.SetValue(14,24,gp_Pnt(-34.1342,-1.75859,-19.3087));
Poles.SetValue(14,25,gp_Pnt(-34.1496,2.34806,-19.3815));
Poles.SetValue(14,26,gp_Pnt(-34.1479,6.43942,-19.5269));
Poles.SetValue(14,27,gp_Pnt(-34.1348,9.49773,-19.5973));
Poles.SetValue(14,28,gp_Pnt(-34.086,13.5579,-19.6271));
Poles.SetValue(14,29,gp_Pnt(-33.9618,17.5747,-19.3248));
Poles.SetValue(14,30,gp_Pnt(-33.7384,21.5045,-18.634));
Poles.SetValue(14,31,gp_Pnt(-33.4066,25.3178,-17.5646));
Poles.SetValue(14,32,gp_Pnt(-33.0544,28.5653,-16.2703));
Poles.SetValue(14,33,gp_Pnt(-32.8588,31.3256,-15.1565));
Poles.SetValue(14,34,gp_Pnt(-32.6532,33.099,-14.2631));
Poles.SetValue(14,35,gp_Pnt(-32.5381,35.4039,-13.3772));
Poles.SetValue(14,36,gp_Pnt(-32.393,38.1751,-12.3245));
Poles.SetValue(14,37,gp_Pnt(-32.231,40.8861,-11.1505));
Poles.SetValue(14,38,gp_Pnt(-32.1223,43.6538,-10.1046));
Poles.SetValue(14,39,gp_Pnt(-31.9975,47.3317,-8.76792));
Poles.SetValue(14,40,gp_Pnt(-31.8214,51.8667,-7.32186));
Poles.SetValue(14,41,gp_Pnt(-31.7377,57.5022,-6.67478));
Poles.SetValue(14,42,gp_Pnt(-31.7779,63.3209,-6.2713));
Poles.SetValue(14,43,gp_Pnt(-31.838,71.0853,-5.43635));
Poles.SetValue(14,44,gp_Pnt(-31.8903,84.6268,-4.19797));
Poles.SetValue(14,45,gp_Pnt(-31.8372,103.777,-2.86658));
Poles.SetValue(14,46,gp_Pnt(-31.7884,126.895,-1.40853));
Poles.SetValue(14,47,gp_Pnt(-31.7622,142.309,-0.438532));
Poles.SetValue(14,48,gp_Pnt(-31.7384,150.003,0.00199423));
Poles.SetValue(15,1,gp_Pnt(-28.8504,-150.003,-0.000296043));
Poles.SetValue(15,2,gp_Pnt(-28.8644,-142.267,-0.326339));
Poles.SetValue(15,3,gp_Pnt(-28.8809,-126.778,-1.04463));
Poles.SetValue(15,4,gp_Pnt(-28.8954,-103.518,-2.13061));
Poles.SetValue(15,5,gp_Pnt(-28.9393,-84.3,-3.15907));
Poles.SetValue(15,6,gp_Pnt(-28.837,-70.6117,-4.10819));
Poles.SetValue(15,7,gp_Pnt(-28.7434,-62.7489,-4.72495));
Poles.SetValue(15,8,gp_Pnt(-28.708,-56.8994,-4.89063));
Poles.SetValue(15,9,gp_Pnt(-28.8485,-51.3762,-6.00024));
Poles.SetValue(15,10,gp_Pnt(-29.054,-46.9121,-7.70424));
Poles.SetValue(15,11,gp_Pnt(-29.2298,-43.3343,-9.40211));
Poles.SetValue(15,12,gp_Pnt(-29.3671,-40.6219,-10.6912));
Poles.SetValue(15,13,gp_Pnt(-29.4868,-37.8621,-11.8917));
Poles.SetValue(15,14,gp_Pnt(-29.653,-35.1193,-13.1207));
Poles.SetValue(15,15,gp_Pnt(-29.8374,-32.8838,-14.2764));
Poles.SetValue(15,16,gp_Pnt(-30.0554,-31.1218,-15.2551));
Poles.SetValue(15,17,gp_Pnt(-30.3616,-28.4511,-16.6604));
Poles.SetValue(15,18,gp_Pnt(-30.7128,-25.1891,-18.0319));
Poles.SetValue(15,19,gp_Pnt(-30.8848,-21.2184,-18.7039));
Poles.SetValue(15,20,gp_Pnt(-31.0171,-17.1843,-19.1198));
Poles.SetValue(15,21,gp_Pnt(-31.0697,-13.0808,-19.0549));
Poles.SetValue(15,22,gp_Pnt(-31.0917,-8.96259,-19.0617));
Poles.SetValue(15,23,gp_Pnt(-31.1082,-5.8717,-19.0769));
Poles.SetValue(15,24,gp_Pnt(-31.1282,-1.74971,-19.1218));
Poles.SetValue(15,25,gp_Pnt(-31.1451,2.36805,-19.2344));
Poles.SetValue(15,26,gp_Pnt(-31.1463,6.47208,-19.4017));
Poles.SetValue(15,27,gp_Pnt(-31.1369,9.5398,-19.563));
Poles.SetValue(15,28,gp_Pnt(-31.125,13.624,-19.676));
Poles.SetValue(15,29,gp_Pnt(-31.0629,17.6731,-19.8221));
Poles.SetValue(15,30,gp_Pnt(-30.9394,21.6753,-19.5784));
Poles.SetValue(15,31,gp_Pnt(-30.7208,25.5796,-18.8941));
Poles.SetValue(15,32,gp_Pnt(-30.429,28.8939,-17.7437));
Poles.SetValue(15,33,gp_Pnt(-30.1355,31.5716,-16.4029));
Poles.SetValue(15,34,gp_Pnt(-30.004,33.4123,-15.6337));
Poles.SetValue(15,35,gp_Pnt(-29.7454,35.5561,-14.3595));
Poles.SetValue(15,36,gp_Pnt(-29.5827,38.3004,-13.2055));
Poles.SetValue(15,37,gp_Pnt(-29.4071,40.9896,-11.9148));
Poles.SetValue(15,38,gp_Pnt(-29.3087,43.7647,-10.8315));
Poles.SetValue(15,39,gp_Pnt(-29.1671,47.4036,-9.29662));
Poles.SetValue(15,40,gp_Pnt(-28.9805,51.9045,-7.68659));
Poles.SetValue(15,41,gp_Pnt(-28.8656,57.4635,-6.70615));
Poles.SetValue(15,42,gp_Pnt(-28.899,63.2886,-6.3862));
Poles.SetValue(15,43,gp_Pnt(-28.9679,71.0817,-5.5474));
Poles.SetValue(15,44,gp_Pnt(-29.0236,84.6395,-4.29974));
Poles.SetValue(15,45,gp_Pnt(-28.9571,103.767,-2.89536));
Poles.SetValue(15,46,gp_Pnt(-28.9071,126.895,-1.43175));
Poles.SetValue(15,47,gp_Pnt(-28.8786,142.31,-0.451004));
Poles.SetValue(15,48,gp_Pnt(-28.8536,150.003,-0.000328798));
Poles.SetValue(16,1,gp_Pnt(-25.9656,-150.004,0.00137713));
Poles.SetValue(16,2,gp_Pnt(-25.9803,-142.267,-0.325925));
Poles.SetValue(16,3,gp_Pnt(-25.9991,-126.777,-1.02412));
Poles.SetValue(16,4,gp_Pnt(-26.0145,-103.507,-2.17811));
Poles.SetValue(16,5,gp_Pnt(-26.071,-84.312,-3.15724));
Poles.SetValue(16,6,gp_Pnt(-25.9635,-70.5999,-4.17961));
Poles.SetValue(16,7,gp_Pnt(-25.8703,-62.7171,-4.72997));
Poles.SetValue(16,8,gp_Pnt(-25.8574,-56.9015,-4.98549));
Poles.SetValue(16,9,gp_Pnt(-26.0153,-51.4433,-6.4689));
Poles.SetValue(16,10,gp_Pnt(-26.2167,-47.0041,-8.31462));
Poles.SetValue(16,11,gp_Pnt(-26.414,-43.4866,-10.1773));
Poles.SetValue(16,12,gp_Pnt(-26.5319,-40.7572,-11.4557));
Poles.SetValue(16,13,gp_Pnt(-26.6786,-38.0475,-12.8017));
Poles.SetValue(16,14,gp_Pnt(-26.9109,-35.41,-14.2563));
Poles.SetValue(16,15,gp_Pnt(-27.1481,-33.2466,-15.577));
Poles.SetValue(16,16,gp_Pnt(-27.3362,-31.4586,-16.4821));
Poles.SetValue(16,17,gp_Pnt(-27.6323,-28.7816,-17.8543));
Poles.SetValue(16,18,gp_Pnt(-27.8191,-25.3474,-18.6862));
Poles.SetValue(16,19,gp_Pnt(-27.9266,-21.3202,-19.0118));
Poles.SetValue(16,20,gp_Pnt(-27.9944,-17.2306,-19.0069));
Poles.SetValue(16,21,gp_Pnt(-28.0229,-13.1072,-18.9149));
Poles.SetValue(16,22,gp_Pnt(-28.0429,-8.9775,-18.9805));
Poles.SetValue(16,23,gp_Pnt(-28.0561,-5.87853,-19.0437));
Poles.SetValue(16,24,gp_Pnt(-28.0792,-1.74655,-19.1248));
Poles.SetValue(16,25,gp_Pnt(-28.0969,2.38173,-19.2133));
Poles.SetValue(16,26,gp_Pnt(-28.121,6.50036,-19.3792));
Poles.SetValue(16,27,gp_Pnt(-28.1339,9.58285,-19.5254));
Poles.SetValue(16,28,gp_Pnt(-28.1071,13.6792,-19.5675));
Poles.SetValue(16,29,gp_Pnt(-28.0705,17.7504,-19.8531));
Poles.SetValue(16,30,gp_Pnt(-28.0003,21.791,-19.912));
Poles.SetValue(16,31,gp_Pnt(-27.911,25.7842,-19.8198));
Poles.SetValue(16,32,gp_Pnt(-27.6949,29.1933,-18.9987));
Poles.SetValue(16,33,gp_Pnt(-27.4332,31.8849,-17.6989));
Poles.SetValue(16,34,gp_Pnt(-27.2196,33.6394,-16.7355));
Poles.SetValue(16,35,gp_Pnt(-26.9796,35.7881,-15.4254));
Poles.SetValue(16,36,gp_Pnt(-26.7348,38.4053,-13.9907));
Poles.SetValue(16,37,gp_Pnt(-26.6103,41.1531,-12.7843));
Poles.SetValue(16,38,gp_Pnt(-26.4815,43.872,-11.5302));
Poles.SetValue(16,39,gp_Pnt(-26.3471,47.5059,-9.95418));
Poles.SetValue(16,40,gp_Pnt(-26.1542,51.9566,-8.16439));
Poles.SetValue(16,41,gp_Pnt(-26.0013,57.4301,-6.7748));
Poles.SetValue(16,42,gp_Pnt(-26.0309,63.2656,-6.51026));
Poles.SetValue(16,43,gp_Pnt(-26.0987,71.0753,-5.64577));
Poles.SetValue(16,44,gp_Pnt(-26.1566,84.652,-4.37635));
Poles.SetValue(16,45,gp_Pnt(-26.0777,103.757,-2.92071));
Poles.SetValue(16,46,gp_Pnt(-26.0262,126.895,-1.44846));
Poles.SetValue(16,47,gp_Pnt(-25.9946,142.312,-0.475798));
Poles.SetValue(16,48,gp_Pnt(-25.9691,150.004,0.000603631));
Poles.SetValue(17,1,gp_Pnt(-23.0806,-150.004,0.0019641));
Poles.SetValue(17,2,gp_Pnt(-23.0964,-142.267,-0.330405));
Poles.SetValue(17,3,gp_Pnt(-23.1173,-126.777,-0.994297));
Poles.SetValue(17,4,gp_Pnt(-23.1339,-103.497,-2.23784));
Poles.SetValue(17,5,gp_Pnt(-23.203,-84.3232,-3.12651));
Poles.SetValue(17,6,gp_Pnt(-23.0914,-70.5857,-4.25051));
Poles.SetValue(17,7,gp_Pnt(-23.0079,-62.6967,-4.71921));
Poles.SetValue(17,8,gp_Pnt(-23.0207,-56.9337,-5.11304));
Poles.SetValue(17,9,gp_Pnt(-23.1812,-51.5274,-6.94389));
Poles.SetValue(17,10,gp_Pnt(-23.3792,-47.1212,-8.95957));
Poles.SetValue(17,11,gp_Pnt(-23.5592,-43.5991,-10.8437));
Poles.SetValue(17,12,gp_Pnt(-23.6823,-40.8919,-12.1796));
Poles.SetValue(17,13,gp_Pnt(-23.8673,-38.2715,-13.717));
Poles.SetValue(17,14,gp_Pnt(-24.1096,-35.6834,-15.2627));
Poles.SetValue(17,15,gp_Pnt(-24.3579,-33.557,-16.646));
Poles.SetValue(17,16,gp_Pnt(-24.5176,-31.7432,-17.4483));
Poles.SetValue(17,17,gp_Pnt(-24.7308,-28.9759,-18.5377));
Poles.SetValue(17,18,gp_Pnt(-24.8179,-25.4266,-18.8272));
Poles.SetValue(17,19,gp_Pnt(-24.8974,-21.3738,-18.951));
Poles.SetValue(17,20,gp_Pnt(-24.9391,-17.2569,-18.7823));
Poles.SetValue(17,21,gp_Pnt(-24.9579,-13.1274,-18.8788));
Poles.SetValue(17,22,gp_Pnt(-24.9753,-8.98927,-18.9409));
Poles.SetValue(17,23,gp_Pnt(-24.9913,-5.88506,-19.0143));
Poles.SetValue(17,24,gp_Pnt(-25.0155,-1.74473,-19.0767));
Poles.SetValue(17,25,gp_Pnt(-25.0387,2.39217,-19.1733));
Poles.SetValue(17,26,gp_Pnt(-25.0554,6.52043,-19.304));
Poles.SetValue(17,27,gp_Pnt(-25.062,9.61116,-19.3704));
Poles.SetValue(17,28,gp_Pnt(-25.0579,13.7179,-19.5885));
Poles.SetValue(17,29,gp_Pnt(-25.0328,17.8051,-19.6948));
Poles.SetValue(17,30,gp_Pnt(-24.9947,21.8711,-19.9465));
Poles.SetValue(17,31,gp_Pnt(-24.9153,25.8755,-20.1336));
Poles.SetValue(17,32,gp_Pnt(-24.8254,29.3978,-19.7884));
Poles.SetValue(17,33,gp_Pnt(-24.5662,32.0898,-18.5604));
Poles.SetValue(17,34,gp_Pnt(-24.4055,33.8853,-17.7436));
Poles.SetValue(17,35,gp_Pnt(-24.178,36.0383,-16.4151));
Poles.SetValue(17,36,gp_Pnt(-23.9261,38.6092,-14.8899));
Poles.SetValue(17,37,gp_Pnt(-23.7426,41.2345,-13.4103));
Poles.SetValue(17,38,gp_Pnt(-23.6547,44.0121,-12.2559));
Poles.SetValue(17,39,gp_Pnt(-23.4902,47.5631,-10.4569));
Poles.SetValue(17,40,gp_Pnt(-23.3099,52.0088,-8.56085));
Poles.SetValue(17,41,gp_Pnt(-23.1561,57.4374,-6.92122));
Poles.SetValue(17,42,gp_Pnt(-23.1683,63.2457,-6.58119));
Poles.SetValue(17,43,gp_Pnt(-23.2319,71.0684,-5.75082));
Poles.SetValue(17,44,gp_Pnt(-23.2881,84.6629,-4.4223));
Poles.SetValue(17,45,gp_Pnt(-23.199,103.747,-2.94621));
Poles.SetValue(17,46,gp_Pnt(-23.1451,126.896,-1.46385));
Poles.SetValue(17,47,gp_Pnt(-23.1109,142.313,-0.498328));
Poles.SetValue(17,48,gp_Pnt(-23.0842,150.004,0.000641323));
Poles.SetValue(18,1,gp_Pnt(-20.1956,-150.004,-0.000939892));
Poles.SetValue(18,2,gp_Pnt(-20.2119,-142.265,-0.324814));
Poles.SetValue(18,3,gp_Pnt(-20.2367,-126.781,-0.99002));
Poles.SetValue(18,4,gp_Pnt(-20.2522,-103.48,-2.25874));
Poles.SetValue(18,5,gp_Pnt(-20.3366,-84.3417,-3.14413));
Poles.SetValue(18,6,gp_Pnt(-20.2198,-70.5658,-4.30028));
Poles.SetValue(18,7,gp_Pnt(-20.1558,-62.6899,-4.68856));
Poles.SetValue(18,8,gp_Pnt(-20.1905,-56.9911,-5.31764));
Poles.SetValue(18,9,gp_Pnt(-20.3412,-51.6127,-7.37483));
Poles.SetValue(18,10,gp_Pnt(-20.5364,-47.2541,-9.61034));
Poles.SetValue(18,11,gp_Pnt(-20.6972,-43.7208,-11.486));
Poles.SetValue(18,12,gp_Pnt(-20.8365,-41.0734,-12.9256));
Poles.SetValue(18,13,gp_Pnt(-21.037,-38.5159,-14.5838));
Poles.SetValue(18,14,gp_Pnt(-21.299,-36.0127,-16.2371));
Poles.SetValue(18,15,gp_Pnt(-21.5046,-33.834,-17.4931));
Poles.SetValue(18,16,gp_Pnt(-21.6031,-31.945,-18.0503));
Poles.SetValue(18,17,gp_Pnt(-21.7517,-29.0964,-18.8401));
Poles.SetValue(18,18,gp_Pnt(-21.7895,-25.4868,-18.7856));
Poles.SetValue(18,19,gp_Pnt(-21.8447,-21.407,-18.7832));
Poles.SetValue(18,20,gp_Pnt(-21.8724,-17.2831,-18.7158));
Poles.SetValue(18,21,gp_Pnt(-21.8885,-13.1476,-18.8247));
Poles.SetValue(18,22,gp_Pnt(-21.9053,-9.00401,-18.9335));
Poles.SetValue(18,23,gp_Pnt(-21.9203,-5.89434,-19.0031));
Poles.SetValue(18,24,gp_Pnt(-21.9444,-1.74696,-19.0678));
Poles.SetValue(18,25,gp_Pnt(-21.9704,2.39832,-19.1774));
Poles.SetValue(18,26,gp_Pnt(-21.9895,6.53686,-19.2539));
Poles.SetValue(18,27,gp_Pnt(-21.9976,9.63356,-19.3732));
Poles.SetValue(18,28,gp_Pnt(-21.9987,13.7521,-19.5004));
Poles.SetValue(18,29,gp_Pnt(-21.9832,17.8493,-19.6642));
Poles.SetValue(18,30,gp_Pnt(-21.9481,21.9195,-19.8425));
Poles.SetValue(18,31,gp_Pnt(-21.8998,25.958,-20.0751));
Poles.SetValue(18,32,gp_Pnt(-21.8165,29.4779,-20.0877));
Poles.SetValue(18,33,gp_Pnt(-21.6537,32.2814,-19.218));
Poles.SetValue(18,34,gp_Pnt(-21.5332,34.1277,-18.592));
Poles.SetValue(18,35,gp_Pnt(-21.3059,36.244,-17.2119));
Poles.SetValue(18,36,gp_Pnt(-21.0772,38.8004,-15.6898));
Poles.SetValue(18,37,gp_Pnt(-20.8763,41.346,-14.041));
Poles.SetValue(18,38,gp_Pnt(-20.7928,44.1142,-12.8629));
Poles.SetValue(18,39,gp_Pnt(-20.6422,47.6606,-11.0393));
Poles.SetValue(18,40,gp_Pnt(-20.4703,52.0726,-9.0358));
Poles.SetValue(18,41,gp_Pnt(-20.3288,57.4895,-7.14688));
Poles.SetValue(18,42,gp_Pnt(-20.3107,63.2274,-6.59652));
Poles.SetValue(18,43,gp_Pnt(-20.366,71.0607,-5.86066));
Poles.SetValue(18,44,gp_Pnt(-20.4189,84.6755,-4.47339));
Poles.SetValue(18,45,gp_Pnt(-20.32,103.734,-2.95074));
Poles.SetValue(18,46,gp_Pnt(-20.2644,126.899,-1.49374));
Poles.SetValue(18,47,gp_Pnt(-20.227,142.314,-0.508887));
Poles.SetValue(18,48,gp_Pnt(-20.1991,150.004,-0.00112432));
Poles.SetValue(19,1,gp_Pnt(-16.3491,-150.003,0.00439318));
Poles.SetValue(19,2,gp_Pnt(-16.3656,-142.264,-0.34061));
Poles.SetValue(19,3,gp_Pnt(-16.3951,-126.785,-0.955435));
Poles.SetValue(19,4,gp_Pnt(-16.4123,-103.462,-2.32584));
Poles.SetValue(19,5,gp_Pnt(-16.5104,-84.3597,-3.09639));
Poles.SetValue(19,6,gp_Pnt(-16.3944,-70.5334,-4.33957));
Poles.SetValue(19,7,gp_Pnt(-16.3623,-62.6963,-4.6472));
Poles.SetValue(19,8,gp_Pnt(-16.4203,-57.084,-5.58419));
Poles.SetValue(19,9,gp_Pnt(-16.5511,-51.7391,-7.92073));
Poles.SetValue(19,10,gp_Pnt(-16.7137,-47.3952,-10.3398));
Poles.SetValue(19,11,gp_Pnt(-16.8584,-43.8683,-12.2379));
Poles.SetValue(19,12,gp_Pnt(-17.0069,-41.2968,-13.8148));
Poles.SetValue(19,13,gp_Pnt(-17.234,-38.8784,-15.6644));
Poles.SetValue(19,14,gp_Pnt(-17.4559,-36.3846,-17.2802));
Poles.SetValue(19,15,gp_Pnt(-17.5711,-34.0769,-18.2311));
Poles.SetValue(19,16,gp_Pnt(-17.6306,-32.1332,-18.5268));
Poles.SetValue(19,17,gp_Pnt(-17.7058,-29.1815,-18.8298));
Poles.SetValue(19,18,gp_Pnt(-17.7222,-25.5444,-18.565));
Poles.SetValue(19,19,gp_Pnt(-17.755,-21.4437,-18.6143));
Poles.SetValue(19,20,gp_Pnt(-17.7721,-17.3146,-18.6936));
Poles.SetValue(19,21,gp_Pnt(-17.7833,-13.1725,-18.7973));
Poles.SetValue(19,22,gp_Pnt(-17.7956,-9.02146,-18.8982));
Poles.SetValue(19,23,gp_Pnt(-17.8084,-5.90664,-18.9585));
Poles.SetValue(19,24,gp_Pnt(-17.8297,-1.75266,-19.0369));
Poles.SetValue(19,25,gp_Pnt(-17.8562,2.40144,-19.105));
Poles.SetValue(19,26,gp_Pnt(-17.8776,6.54951,-19.2157));
Poles.SetValue(19,27,gp_Pnt(-17.8892,9.65525,-19.2919));
Poles.SetValue(19,28,gp_Pnt(-17.8977,13.7848,-19.4492));
Poles.SetValue(19,29,gp_Pnt(-17.8891,17.8872,-19.6002));
Poles.SetValue(19,30,gp_Pnt(-17.8651,21.9666,-19.7805));
Poles.SetValue(19,31,gp_Pnt(-17.8168,26.0004,-19.778));
Poles.SetValue(19,32,gp_Pnt(-17.7893,29.5844,-20.0714));
Poles.SetValue(19,33,gp_Pnt(-17.6844,32.4681,-19.7048));
Poles.SetValue(19,34,gp_Pnt(-17.6156,34.381,-19.3921));
Poles.SetValue(19,35,gp_Pnt(-17.468,36.5995,-18.2429));
Poles.SetValue(19,36,gp_Pnt(-17.273,39.1443,-16.764));
Poles.SetValue(19,37,gp_Pnt(-17.0603,41.5783,-14.9142));
Poles.SetValue(19,38,gp_Pnt(-16.942,44.2046,-13.5092));
Poles.SetValue(19,39,gp_Pnt(-16.8113,47.7336,-11.6467));
Poles.SetValue(19,40,gp_Pnt(-16.6707,52.1542,-9.5335));
Poles.SetValue(19,41,gp_Pnt(-16.5537,57.549,-7.39217));
Poles.SetValue(19,42,gp_Pnt(-16.5136,63.2221,-6.59968));
Poles.SetValue(19,43,gp_Pnt(-16.5433,71.0421,-5.99115));
Poles.SetValue(19,44,gp_Pnt(-16.5912,84.6886,-4.45254));
Poles.SetValue(19,45,gp_Pnt(-16.4831,103.728,-3.08142));
Poles.SetValue(19,46,gp_Pnt(-16.423,126.896,-1.4405));
Poles.SetValue(19,47,gp_Pnt(-16.3811,142.316,-0.552973));
Poles.SetValue(19,48,gp_Pnt(-16.3527,150.004,0.00512247));
Poles.SetValue(20,1,gp_Pnt(-11.5409,-150.004,0.00117643));
Poles.SetValue(20,2,gp_Pnt(-11.5567,-142.255,-0.323629));
Poles.SetValue(20,3,gp_Pnt(-11.5945,-126.808,-1.00415));
Poles.SetValue(20,4,gp_Pnt(-11.6123,-103.418,-2.2741));
Poles.SetValue(20,5,gp_Pnt(-11.7238,-84.4038,-3.17774));
Poles.SetValue(20,6,gp_Pnt(-11.6216,-70.4805,-4.34939));
Poles.SetValue(20,7,gp_Pnt(-11.6306,-62.7158,-4.61848));
Poles.SetValue(20,8,gp_Pnt(-11.6985,-57.2166,-5.86008));
Poles.SetValue(20,9,gp_Pnt(-11.804,-51.9451,-8.59692));
Poles.SetValue(20,10,gp_Pnt(-11.9017,-47.511,-11.0341));
Poles.SetValue(20,11,gp_Pnt(-12.0348,-44.054,-13.0527));
Poles.SetValue(20,12,gp_Pnt(-12.1892,-41.6494,-14.8698));
Poles.SetValue(20,13,gp_Pnt(-12.3712,-39.2779,-16.7157));
Poles.SetValue(20,14,gp_Pnt(-12.4805,-36.6354,-17.9375));
Poles.SetValue(20,15,gp_Pnt(-12.5363,-34.226,-18.5069));
Poles.SetValue(20,16,gp_Pnt(-12.561,-32.2298,-18.5446));
Poles.SetValue(20,17,gp_Pnt(-12.6007,-29.2245,-18.4861));
Poles.SetValue(20,18,gp_Pnt(-12.6061,-25.5943,-18.4035));
Poles.SetValue(20,19,gp_Pnt(-12.6185,-21.4799,-18.541));
Poles.SetValue(20,20,gp_Pnt(-12.6259,-17.3464,-18.6219));
Poles.SetValue(20,21,gp_Pnt(-12.6294,-13.198,-18.7456));
Poles.SetValue(20,22,gp_Pnt(-12.6383,-9.04337,-18.8541));
Poles.SetValue(20,23,gp_Pnt(-12.6485,-5.92505,-18.9104));
Poles.SetValue(20,24,gp_Pnt(-12.6659,-1.76525,-18.964));
Poles.SetValue(20,25,gp_Pnt(-12.6869,2.39485,-19.067));
Poles.SetValue(20,26,gp_Pnt(-12.7086,6.55182,-19.1737));
Poles.SetValue(20,27,gp_Pnt(-12.7237,9.66537,-19.2438));
Poles.SetValue(20,28,gp_Pnt(-12.7365,13.803,-19.406));
Poles.SetValue(20,29,gp_Pnt(-12.7387,17.9165,-19.5004));
Poles.SetValue(20,30,gp_Pnt(-12.725,21.9984,-19.5481));
Poles.SetValue(20,31,gp_Pnt(-12.7006,26.0496,-19.5971));
Poles.SetValue(20,32,gp_Pnt(-12.6724,29.61,-19.7481));
Poles.SetValue(20,33,gp_Pnt(-12.6172,32.5589,-19.7855));
Poles.SetValue(20,34,gp_Pnt(-12.577,34.5045,-19.6765));
Poles.SetValue(20,35,gp_Pnt(-12.5091,36.8627,-18.9431));
Poles.SetValue(20,36,gp_Pnt(-12.3992,39.4504,-17.717));
Poles.SetValue(20,37,gp_Pnt(-12.2417,41.8732,-15.8993));
Poles.SetValue(20,38,gp_Pnt(-12.1136,44.3374,-14.2229));
Poles.SetValue(20,39,gp_Pnt(-12.0124,47.8838,-12.4053));
Poles.SetValue(20,40,gp_Pnt(-11.9096,52.2497,-10.0193));
Poles.SetValue(20,41,gp_Pnt(-11.8312,57.645,-7.74397));
Poles.SetValue(20,42,gp_Pnt(-11.7795,63.2306,-6.59009));
Poles.SetValue(20,43,gp_Pnt(-11.7676,71.0031,-6.05246));
Poles.SetValue(20,44,gp_Pnt(-11.803,84.7251,-4.53343));
Poles.SetValue(20,45,gp_Pnt(-11.6834,103.69,-3.04429));
Poles.SetValue(20,46,gp_Pnt(-11.6246,126.918,-1.52563));
Poles.SetValue(20,47,gp_Pnt(-11.5716,142.307,-0.515972));
Poles.SetValue(20,48,gp_Pnt(-11.5446,150.004,0.000245205));
Poles.SetValue(21,1,gp_Pnt(-7.21355,-150.004,-0.0025218));
Poles.SetValue(21,2,gp_Pnt(-7.23063,-142.252,-0.331648));
Poles.SetValue(21,3,gp_Pnt(-7.2677,-126.82,-1.02226));
Poles.SetValue(21,4,gp_Pnt(-7.30323,-103.391,-2.23259));
Poles.SetValue(21,5,gp_Pnt(-7.39757,-84.4224,-3.1889));
Poles.SetValue(21,6,gp_Pnt(-7.34772,-70.4538,-4.37072));
Poles.SetValue(21,7,gp_Pnt(-7.3712,-62.7345,-4.5951));
Poles.SetValue(21,8,gp_Pnt(-7.42816,-57.2934,-6.04634));
Poles.SetValue(21,9,gp_Pnt(-7.49535,-52.026,-8.86275));
Poles.SetValue(21,10,gp_Pnt(-7.55838,-47.6033,-11.3943));
Poles.SetValue(21,11,gp_Pnt(-7.65,-44.2056,-13.5286));
Poles.SetValue(21,12,gp_Pnt(-7.75695,-41.8805,-15.4454));
Poles.SetValue(21,13,gp_Pnt(-7.85282,-39.4135,-17.0864));
Poles.SetValue(21,14,gp_Pnt(-7.91823,-36.7399,-18.1659));
Poles.SetValue(21,15,gp_Pnt(-7.94146,-34.2627,-18.4245));
Poles.SetValue(21,16,gp_Pnt(-7.95506,-32.2581,-18.4508));
Poles.SetValue(21,17,gp_Pnt(-7.97185,-29.2355,-18.438));
Poles.SetValue(21,18,gp_Pnt(-7.9724,-25.6227,-18.4383));
Poles.SetValue(21,19,gp_Pnt(-7.97498,-21.5055,-18.5136));
Poles.SetValue(21,20,gp_Pnt(-7.97332,-17.3696,-18.5895));
Poles.SetValue(21,21,gp_Pnt(-7.9724,-13.2197,-18.6677));
Poles.SetValue(21,22,gp_Pnt(-7.97728,-9.06333,-18.7605));
Poles.SetValue(21,23,gp_Pnt(-7.98383,-5.94346,-18.8376));
Poles.SetValue(21,24,gp_Pnt(-7.99613,-1.78048,-18.9102));
Poles.SetValue(21,25,gp_Pnt(-8.0124,2.38413,-18.9749));
Poles.SetValue(21,26,gp_Pnt(-8.03056,6.5435,-19.1002));
Poles.SetValue(21,27,gp_Pnt(-8.04412,9.658,-19.2087));
Poles.SetValue(21,28,gp_Pnt(-8.06164,13.8027,-19.2687));
Poles.SetValue(21,29,gp_Pnt(-8.0717,17.9217,-19.335));
Poles.SetValue(21,30,gp_Pnt(-8.07055,22.0086,-19.4167));
Poles.SetValue(21,31,gp_Pnt(-8.05978,26.0647,-19.4458));
Poles.SetValue(21,32,gp_Pnt(-8.05131,29.6191,-19.5118));
Poles.SetValue(21,33,gp_Pnt(-8.01648,32.5759,-19.5302));
Poles.SetValue(21,34,gp_Pnt(-7.99358,34.5369,-19.5134));
Poles.SetValue(21,35,gp_Pnt(-7.96305,36.995,-19.2659));
Poles.SetValue(21,36,gp_Pnt(-7.89264,39.5831,-18.0731));
Poles.SetValue(21,37,gp_Pnt(-7.80775,42.0631,-16.4261));
Poles.SetValue(21,38,gp_Pnt(-7.72798,44.4322,-14.6014));
Poles.SetValue(21,39,gp_Pnt(-7.66064,47.9074,-12.6609));
Poles.SetValue(21,40,gp_Pnt(-7.60827,52.3383,-10.3218));
Poles.SetValue(21,41,gp_Pnt(-7.5563,57.6762,-7.76823));
Poles.SetValue(21,42,gp_Pnt(-7.51475,63.2251,-6.53953));
Poles.SetValue(21,43,gp_Pnt(-7.4842,70.9764,-6.08044));
Poles.SetValue(21,44,gp_Pnt(-7.47797,84.7397,-4.49862));
Poles.SetValue(21,45,gp_Pnt(-7.3721,103.678,-3.1159));
Poles.SetValue(21,46,gp_Pnt(-7.30045,126.923,-1.49726));
Poles.SetValue(21,47,gp_Pnt(-7.24466,142.305,-0.525039));
Poles.SetValue(21,48,gp_Pnt(-7.21746,150.004,0.00128023));
Poles.SetValue(22,1,gp_Pnt(-4.32857,-150.003,-0.00540373));
Poles.SetValue(22,2,gp_Pnt(-4.34699,-142.25,-0.340193));
Poles.SetValue(22,3,gp_Pnt(-4.38209,-126.827,-1.02934));
Poles.SetValue(22,4,gp_Pnt(-4.43222,-103.375,-2.20818));
Poles.SetValue(22,5,gp_Pnt(-4.51083,-84.4311,-3.19069));
Poles.SetValue(22,6,gp_Pnt(-4.50022,-70.4378,-4.36422));
Poles.SetValue(22,7,gp_Pnt(-4.53329,-62.7487,-4.58414));
Poles.SetValue(22,8,gp_Pnt(-4.57686,-57.3432,-6.16997));
Poles.SetValue(22,9,gp_Pnt(-4.61953,-52.0531,-8.97091));
Poles.SetValue(22,10,gp_Pnt(-4.66076,-47.6551,-11.5891));
Poles.SetValue(22,11,gp_Pnt(-4.71605,-44.2575,-13.7456));
Poles.SetValue(22,12,gp_Pnt(-4.77767,-41.9525,-15.6786));
Poles.SetValue(22,13,gp_Pnt(-4.83539,-39.4972,-17.3021));
Poles.SetValue(22,14,gp_Pnt(-4.8662,-36.7917,-18.2384));
Poles.SetValue(22,15,gp_Pnt(-4.87772,-34.2883,-18.3918));
Poles.SetValue(22,16,gp_Pnt(-4.88127,-32.275,-18.4126));
Poles.SetValue(22,17,gp_Pnt(-4.88815,-29.2471,-18.3654));
Poles.SetValue(22,18,gp_Pnt(-4.88172,-25.6402,-18.4073));
Poles.SetValue(22,19,gp_Pnt(-4.87676,-21.522,-18.4843));
Poles.SetValue(22,20,gp_Pnt(-4.86998,-17.3855,-18.5721));
Poles.SetValue(22,21,gp_Pnt(-4.86604,-13.2345,-18.6261));
Poles.SetValue(22,22,gp_Pnt(-4.868,-9.07675,-18.7038));
Poles.SetValue(22,23,gp_Pnt(-4.87197,-5.95561,-18.7836));
Poles.SetValue(22,24,gp_Pnt(-4.88122,-1.79016,-18.8508));
Poles.SetValue(22,25,gp_Pnt(-4.89416,2.37596,-18.9454));
Poles.SetValue(22,26,gp_Pnt(-4.91129,6.53746,-19.0539));
Poles.SetValue(22,27,gp_Pnt(-4.92518,9.65454,-19.1026));
Poles.SetValue(22,28,gp_Pnt(-4.944,13.8012,-19.1613));
Poles.SetValue(22,29,gp_Pnt(-4.95795,17.9235,-19.2456));
Poles.SetValue(22,30,gp_Pnt(-4.96475,22.0131,-19.3102));
Poles.SetValue(22,31,gp_Pnt(-4.96533,26.0736,-19.3498));
Poles.SetValue(22,32,gp_Pnt(-4.96079,29.6176,-19.4284));
Poles.SetValue(22,33,gp_Pnt(-4.94348,32.5873,-19.466));
Poles.SetValue(22,34,gp_Pnt(-4.93172,34.561,-19.4669));
Poles.SetValue(22,35,gp_Pnt(-4.91254,37.0161,-19.3038));
Poles.SetValue(22,36,gp_Pnt(-4.88212,39.6621,-18.2512));
Poles.SetValue(22,37,gp_Pnt(-4.83796,42.1306,-16.6572));
Poles.SetValue(22,38,gp_Pnt(-4.79279,44.4479,-14.7487));
Poles.SetValue(22,39,gp_Pnt(-4.75792,47.9195,-12.7903));
Poles.SetValue(22,40,gp_Pnt(-4.73201,52.3475,-10.3957));
Poles.SetValue(22,41,gp_Pnt(-4.70638,57.7231,-7.87102));
Poles.SetValue(22,42,gp_Pnt(-4.67107,63.2171,-6.47477));
Poles.SetValue(22,43,gp_Pnt(-4.63073,70.9601,-6.08756));
Poles.SetValue(22,44,gp_Pnt(-4.59233,84.7477,-4.47556));
Poles.SetValue(22,45,gp_Pnt(-4.49985,103.673,-3.18097));
Poles.SetValue(22,46,gp_Pnt(-4.41639,126.923,-1.46262));
Poles.SetValue(22,47,gp_Pnt(-4.36049,142.305,-0.536542));
Poles.SetValue(22,48,gp_Pnt(-4.3327,150.004,0.000952771));
Poles.SetValue(23,1,gp_Pnt(-2.88635,-150.004,-0.00575623));
Poles.SetValue(23,2,gp_Pnt(-2.90517,-142.249,-0.341549));
Poles.SetValue(23,3,gp_Pnt(-2.93974,-126.829,-1.02278));
Poles.SetValue(23,4,gp_Pnt(-2.99795,-103.372,-2.19554));
Poles.SetValue(23,5,gp_Pnt(-3.06615,-84.432,-3.18891));
Poles.SetValue(23,6,gp_Pnt(-3.07817,-70.436,-4.35294));
Poles.SetValue(23,7,gp_Pnt(-3.11358,-62.751,-4.58803));
Poles.SetValue(23,8,gp_Pnt(-3.149,-57.3489,-6.16224));
Poles.SetValue(23,9,gp_Pnt(-3.18087,-52.0832,-9.02443));
Poles.SetValue(23,10,gp_Pnt(-3.20794,-47.6671,-11.6136));
Poles.SetValue(23,11,gp_Pnt(-3.24262,-44.2844,-13.7946));
Poles.SetValue(23,12,gp_Pnt(-3.28123,-41.9804,-15.721));
Poles.SetValue(23,13,gp_Pnt(-3.31573,-39.5144,-17.3255));
Poles.SetValue(23,14,gp_Pnt(-3.33437,-36.7949,-18.2234));
Poles.SetValue(23,15,gp_Pnt(-3.34011,-34.2951,-18.3746));
Poles.SetValue(23,16,gp_Pnt(-3.34154,-32.2808,-18.382));
Poles.SetValue(23,17,gp_Pnt(-3.34327,-29.2512,-18.3471));
Poles.SetValue(23,18,gp_Pnt(-3.33398,-25.6485,-18.3903));
Poles.SetValue(23,19,gp_Pnt(-3.32526,-21.5295,-18.4702));
Poles.SetValue(23,20,gp_Pnt(-3.31575,-17.3931,-18.5594));
Poles.SetValue(23,21,gp_Pnt(-3.30973,-13.2415,-18.6106));
Poles.SetValue(23,22,gp_Pnt(-3.3096,-9.08307,-18.6879));
Poles.SetValue(23,23,gp_Pnt(-3.31238,-5.96107,-18.7525));
Poles.SetValue(23,24,gp_Pnt(-3.31981,-1.7953,-18.8291));
Poles.SetValue(23,25,gp_Pnt(-3.33173,2.3711,-18.9327));
Poles.SetValue(23,26,gp_Pnt(-3.34803,6.53266,-19.0255));
Poles.SetValue(23,27,gp_Pnt(-3.36177,9.6497,-19.0722));
Poles.SetValue(23,28,gp_Pnt(-3.38073,13.796,-19.1329));
Poles.SetValue(23,29,gp_Pnt(-3.39705,17.9191,-19.2008));
Poles.SetValue(23,30,gp_Pnt(-3.40752,22.

dvdjimmy's picture

Ah...nearly everything is missing :(
I think the size is too big for the posting. If anybody is interested in the data for the original B-Spline Surface, just contact me and I will send you the data.

Here is the rest of the posting :)

// Creating the BSpline Surface
Handle(Geom_BSplineSurface) Surface = new Geom_BSplineSurface(
Poles,
UKnots,
VKnots,
UMults,
VMults,
3,
3);
BRepBuilderAPI_MakeFace Face(Surface);

Now the Code to generate the cutting plane:

gp_Pnt aPlanePnt(0,0,z_level);
gp_Dir aPlaneDir(0,0,1);
Handle_Geom_Plane aPlane = new Geom_Plane(aPlanePnt, aPlaneDir);
BRepBuilderAPI_MakeFace Face(aPlane);

Now the Code for the Offset of the TopoStruct

BRepOffsetAPI_MakeOffsetShape MakeOffsetShape (_cTopoShape,offset,0.0001,BRepOffset_Skin,Standard_True, Standard_False, GeomAbs_Intersection );

Now the cut Code:

BRepAlgoAPI_Section mkCut(_cTopoShape, cutting_plane,Standard_False);
mkCut.ComputePCurveOn1(Standard_True);
mkCut.Approximation (Standard_True);
mkCut.Build();

Thank you in advance.
Joachim

dvdjimmy's picture

Hello again,

I am still looking for a solution! I think it might be the generation of the offset surface as all the cuts perform just perfect with the original geometry :(

Can someone give me information how the offset is exactly done and if a C2 surface is still a C2 or maybe a C1 surface after the offset.

Thank you in advance,
Joachim

Stephane Routelous's picture

did you try with BRepAlgo_Section instead of BRepAlgoAPI_Section ?
I had some problems with BRepAlgoAPI_Section, and replacing with BRepAlgo produce better results (at least in my cases).

HTH,

Stephane

dvdjimmy's picture

Hi Stephane,
thank you for your answer.
I just had a quick look at the BRepAlgo_Section and until now its really working :)

Thank you very much for this hint :)