/*************************************************************************** * Copyright (c) 2007 * * Joachim Zettler * * Jürgen Riegel #ifndef PI #define PI M_PI #endif //Basic Stuff #include #include #include #include #include #include #include #include //Part Stuff #include #include //Mesh Stuff #include #include #include #include #include #include #include #include #include #include //OCC Stuff #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include //Own Stuff #include "Approx.h" #include "ConvertDyna.h" #include "cutting_tools.h" #include "best_fit.h" #include "SpringbackCorrection.h" using namespace Part; using namespace Mesh; using namespace std; using MeshCore::MeshKernel; /* module functions */ static PyObject * open(PyObject *self, PyObject *args) { char* Name; if (!PyArg_ParseTuple(args, "et","utf-8",&Name)) return NULL; std::string EncodedName = std::string(Name); PyMem_Free(Name); PY_TRY { } PY_CATCH; Py_Return; } /* module functions */ static PyObject * insert(PyObject *self, PyObject *args) { char* Name; const char* DocName; if (!PyArg_ParseTuple(args, "ets","utf-8",&Name,&DocName)) return NULL; std::string EncodedName = std::string(Name); PyMem_Free(Name); PY_TRY { } PY_CATCH; Py_Return; } /* module functions */ static PyObject * read(PyObject *self, PyObject *args) { char* Name; if (!PyArg_ParseTuple(args, "et","utf-8",&Name)) return NULL; std::string EncodedName = std::string(Name); PyMem_Free(Name); PY_TRY { } PY_CATCH; Py_Return; } static PyObject * tesselateShape(PyObject *self, PyObject *args) { PyObject *pcObj; float aDeflection; //PyObject *pcObj2; if (!PyArg_ParseTuple(args, "O!f", &(TopoShapePy::Type), &pcObj, &aDeflection)) // convert args: Python->C return NULL; // NULL triggers exception TopoShapePy *pcShape = static_cast(pcObj); //Surface oder Step-File wird übergeben Base::Builder3D aBuild; MeshCore::MeshKernel mesh; MeshCore::MeshBuilder builder(mesh); builder.Initialize(1000); Base::Vector3f Points[3]; PY_TRY { // removes all the triangulations of the faces , //and all the polygons on the triangulations of the edges: TopoDS_Shape aShape = pcShape->getTopoShapePtr()->_Shape; BRepTools::Clean(aShape); // adds a triangulation of the shape aShape with the deflection aDeflection: //BRepMesh_IncrementalMesh Mesh(pcShape->getShape(),aDeflection); BRepMesh::Mesh(aShape,aDeflection); TopExp_Explorer aExpFace; for (aExpFace.Init(aShape,TopAbs_FACE);aExpFace.More();aExpFace.Next()) { TopoDS_Face aFace = TopoDS::Face(aExpFace.Current()); TopLoc_Location aLocation; // takes the triangulation of the face aFace: Handle_Poly_Triangulation aTr = BRep_Tool::Triangulation(aFace,aLocation); if (!aTr.IsNull()) // if this triangulation is not NULL { // takes the array of nodes for this triangulation: const TColgp_Array1OfPnt& aNodes = aTr->Nodes(); // takes the array of triangles for this triangulation: const Poly_Array1OfTriangle& triangles = aTr->Triangles(); // create array of node points in absolute coordinate system TColgp_Array1OfPnt aPoints(1, aNodes.Length()); for ( Standard_Integer i = 1; i < aNodes.Length()+1; i++) aPoints(i) = aNodes(i).Transformed(aLocation); // Takes the node points of each triangle of this triangulation. // takes a number of triangles: Standard_Integer nnn = aTr->NbTriangles(); Standard_Integer nt,n1,n2,n3; for ( nt = 1 ; nt < nnn+1 ; nt++) { // takes the node indices of each triangle in n1,n2,n3: triangles(nt).Get(n1,n2,n3); // takes the node points: gp_Pnt aPnt1 = aPoints(n1); Points[0].Set(float(aPnt1.X()),float(aPnt1.Y()),float(aPnt1.Z())); gp_Pnt aPnt2 = aPoints(n2); Points[1].Set(float(aPnt2.X()),float(aPnt2.Y()),float(aPnt2.Z())); gp_Pnt aPnt3 = aPoints(n3); Points[2].Set(float(aPnt3.X()),float(aPnt3.Y()),float(aPnt3.Z())); // give the occ faces to the internal mesh structure of freecad MeshCore::MeshGeomFacet Face(Points[0],Points[1],Points[2]); builder.AddFacet(Face); } } // if the triangulation of only one face is not possible to get else { throw Base::RuntimeError("Empty face triangulation\n"); } } // finish FreeCAD Mesh Builder and exit with new mesh builder.Finish(); /*return new MeshPy(&mesh);*/ } PY_CATCH; Py_Return; } static PyObject * best_fit_coarse(PyObject *self, PyObject *args) { PyObject *pcObj2; if (!PyArg_ParseTuple(args, "O!; Need one Mesh objects and one toposhape", &(TopoShapePy::Type), &pcObj2)) // convert args: Python->C return NULL; // NULL triggers exception PY_TRY { TopoShapePy *pcShape = static_cast(pcObj2); //Shape wird übergeben TopoDS_Shape cad = pcShape->getTopoShapePtr()->_Shape; // Input CAD //best_fit befi(cad); //best_fit::Tesselate_Shape(pcShape->getShape(),mesh,0.1); //return new MeshPy(&befi.m_CadMesh); //return new TopoShapePyOld(befi.m_Cad); /* befi.MeshFit_Coarse(); */ }PY_CATCH; Py_Return; } #include #include //static PyObject * makeToolPath(PyObject *self, PyObject *args) //{ //// Py::List AllCuts = Py::List(); //// double offset=0.0; // ofstream anoutput,anoutput2; // anoutput.open("c:/bspline_output.txt"); // anoutput2.open("c:/bspline2_output.txt"); // PyObject *pcObj; // //PyObject *pcObj2; // if (!PyArg_ParseTuple(args, "O!", &(TopoShapePyOld::Type), &pcObj)) // convert args: Python->C // return NULL; // NULL triggers exception // // TopoShapePyOld *pcShape = static_cast(pcObj); //Surface wird übergeben //// TopoShapePyOld *pcShape2 = static_cast(pcObj2); //Cut-Curve // PY_TRY // { // // cutting_tools anewCuttingEnv(pcShape->getShape(),10.0); // anewCuttingEnv.arrangecuts_ZLEVEL(); // std::vector > aTestOutput = anewCuttingEnv.getCutShape(); // BRep_Builder BB; // // TopoDS_Compound aCompound; // // BB.MakeCompound(aCompound); // for (unsigned int i=0;i topCurves; // std::vector botCurves; // std::vector::iterator an_it; // topCurves = *(anewCuttingEnv.getOutputhigh()); // botCurves = *(anewCuttingEnv.getOutputlow()); // for (unsigned int i=0;i(pcObj); //Original-Shape wird hier übergeben PY_TRY { BRepOffsetAPI_MakeOffsetShape MakeOffsetShape (pcShape->getTopoShapePtr()->_Shape, offset,0.001,BRepOffset_Skin); return new TopoShapePy(new TopoShape(MakeOffsetShape.Shape())); } PY_CATCH; } /* static PyObject * cut(PyObject *self, PyObject *args) { PyObject *pcObj; double z_pitch; //double rGap = 1000.0; //Rand um die Bounding Box für ein sauberes Ergebnis if (!PyArg_ParseTuple(args, "O!d", &(TopoShapePyOld::Type), &pcObj,&z_pitch)) // convert args: Python->C return NULL; // NULL triggers exception TopoShapePyOld *pcShape = static_cast(pcObj); //Surface to cut //TopoShapePyOld *pcShape2 = static_cast(pcObj2); //Cutting Plane ofstream outputfile; outputfile.open("c:/allpoints.out"); PY_TRY { Base::Builder3D logit; Jetzt die eigentlichen Schnitte erzeugen: 1. Wenn die oberste Ebene ein flacher Bereich ist, werden von dort die Bounding Wires genommen Ermittlung über die Bounding Box 2. Anschließend über die Differenz von zwei Flat-Bereichen die Anzahl von Schnitten ermitteln mit gegebenem Abstand 3. Die Edges bzw. Wires in B-Spline Kurven wandeln und anschließend evaluieren 4. Abfahrreihenfolge festlegen und Output für die Simulation bzw. Versuch vorbereiten //builder.Add(totalwire,mkWire.Wire()); BRep_Builder buildface; TopoDS_Face topoface; buildface.MakeFace(topoface,asecondPlane,0.001); //TopoDS_Wire wire = TopoDS::Wire(explore_cut.Current()); //Exp_Wire.Init(wire); explore_cut.ReInit(); for(; explore_cut.More(); explore_cut.Next()) { TopoDS_Edge edge = TopoDS::Edge(explore_cut.Current()); BRepAdaptor_Curve cutedge(edge); Handle(BRepAdaptor_HCurve) hadapt_cutedge = new BRepAdaptor_HCurve(cutedge); BRepAdaptor_Surface cutplane(topoface); Handle(BRepAdaptor_HSurface) hadapt_cutplane = new BRepAdaptor_HSurface(cutplane); intersect.Perform(hadapt_cutedge,hadapt_cutplane); int numberofpoints = 0; numberofpoints = intersect.NbPoints(); if (numberofpoints > 0) { IntCurveSurface_IntersectionPoint pointofintersect = intersect.Point(1); gp_Pnt actualIntersectPoint = pointofintersect.Pnt(); logit.addSinglePoint(actualIntersectPoint.X(),actualIntersectPoint.Y(),actualIntersectPoint.Z(),10); } } } } } for(int i =0;iSurface () ; BRepBuilderAPI_MakeFace Face(Final_Approx); return new TopoShapePy(new TopoShape(Face.Face())); } PY_CATCH; } /* BREP test function */ static PyObject * createTestBSPLINE(PyObject *self, PyObject *args) { //const char* Name; if (! PyArg_ParseTuple(args, "")) return NULL; PY_TRY { TColgp_Array2OfPnt Poles(1,48,1,48); 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.0091,-19.2675)); Poles.SetValue(23,31,gp_Pnt(-3.41262,26.0715,-19.318)); Poles.SetValue(23,32,gp_Pnt(-3.4138,29.6137,-19.3688)); Poles.SetValue(23,33,gp_Pnt(-3.40248,32.5858,-19.4134)); Poles.SetValue(23,34,gp_Pnt(-3.39479,34.5605,-19.4192)); Poles.SetValue(23,35,gp_Pnt(-3.38139,37.0117,-19.2935)); Poles.SetValue(23,36,gp_Pnt(-3.36593,39.6724,-18.2438)); Poles.SetValue(23,37,gp_Pnt(-3.34268,42.1365,-16.6785)); Poles.SetValue(23,38,gp_Pnt(-3.32014,44.4714,-14.7844)); Poles.SetValue(23,39,gp_Pnt(-3.30336,47.9303,-12.8108)); Poles.SetValue(23,40,gp_Pnt(-3.29238,52.3621,-10.4158)); Poles.SetValue(23,41,gp_Pnt(-3.27781,57.7309,-7.88219)); Poles.SetValue(23,42,gp_Pnt(-3.24892,63.2201,-6.4727)); Poles.SetValue(23,43,gp_Pnt(-3.20448,70.9551,-6.07441)); Poles.SetValue(23,44,gp_Pnt(-3.14808,84.7489,-4.47297)); Poles.SetValue(23,45,gp_Pnt(-3.06369,103.669,-3.15564)); Poles.SetValue(23,46,gp_Pnt(-2.97399,126.928,-1.47488)); Poles.SetValue(23,47,gp_Pnt(-2.9181,142.304,-0.533731)); Poles.SetValue(23,48,gp_Pnt(-2.8902,150.005,-0.00415237)); Poles.SetValue(24,1,gp_Pnt(-0.963346,-150.005,-0.00635749)); Poles.SetValue(24,2,gp_Pnt(-0.982765,-142.248,-0.343803)); Poles.SetValue(24,3,gp_Pnt(-1.01653,-126.833,-1.01474)); Poles.SetValue(24,4,gp_Pnt(-1.0855,-103.368,-2.17966)); Poles.SetValue(24,5,gp_Pnt(-1.14,-84.4332,-3.18535)); Poles.SetValue(24,6,gp_Pnt(-1.18193,-70.4337,-4.33879)); Poles.SetValue(24,7,gp_Pnt(-1.22089,-62.7532,-4.58618)); Poles.SetValue(24,8,gp_Pnt(-1.24557,-57.3605,-6.16284)); Poles.SetValue(24,9,gp_Pnt(-1.26254,-52.1152,-9.08105)); Poles.SetValue(24,10,gp_Pnt(-1.27132,-47.6865,-11.6584)); Poles.SetValue(24,11,gp_Pnt(-1.27992,-44.3077,-13.8385)); Poles.SetValue(24,12,gp_Pnt(-1.28505,-42.028,-15.8032)); Poles.SetValue(24,13,gp_Pnt(-1.29202,-39.5278,-17.3361)); Poles.SetValue(24,14,gp_Pnt(-1.29044,-36.8146,-18.2432)); Poles.SetValue(24,15,gp_Pnt(-1.2914,-34.2976,-18.337)); Poles.SetValue(24,16,gp_Pnt(-1.28862,-32.2873,-18.3422)); Poles.SetValue(24,17,gp_Pnt(-1.28371,-29.2589,-18.3188)); Poles.SetValue(24,18,gp_Pnt(-1.27051,-25.6583,-18.3674)); Poles.SetValue(24,19,gp_Pnt(-1.25674,-21.5399,-18.4519)); Poles.SetValue(24,20,gp_Pnt(-1.24362,-17.4031,-18.5423)); Poles.SetValue(24,21,gp_Pnt(-1.23485,-13.2508,-18.5894)); Poles.SetValue(24,22,gp_Pnt(-1.23205,-9.09139,-18.6638)); Poles.SetValue(24,23,gp_Pnt(-1.23315,-5.96846,-18.7159)); Poles.SetValue(24,24,gp_Pnt(-1.23832,-1.80206,-18.7988)); Poles.SetValue(24,25,gp_Pnt(-1.24872,2.36463,-18.9162)); Poles.SetValue(24,26,gp_Pnt(-1.26403,6.5264,-18.9901)); Poles.SetValue(24,27,gp_Pnt(-1.27763,9.64349,-19.0285)); Poles.SetValue(24,28,gp_Pnt(-1.29677,13.7898,-19.0962)); Poles.SetValue(24,29,gp_Pnt(-1.31634,17.9135,-19.1409)); Poles.SetValue(24,30,gp_Pnt(-1.33161,22.005,-19.2088)); Poles.SetValue(24,31,gp_Pnt(-1.34301,26.0674,-19.2798)); Poles.SetValue(24,32,gp_Pnt(-1.35106,29.6117,-19.2876)); Poles.SetValue(24,33,gp_Pnt(-1.34846,32.5823,-19.3398)); Poles.SetValue(24,34,gp_Pnt(-1.34527,34.5559,-19.385)); Poles.SetValue(24,35,gp_Pnt(-1.34071,37.0193,-19.2612)); Poles.SetValue(24,36,gp_Pnt(-1.34509,39.6789,-18.263)); Poles.SetValue(24,37,gp_Pnt(-1.35008,42.1558,-16.6984)); Poles.SetValue(24,38,gp_Pnt(-1.35773,44.4897,-14.8274)); Poles.SetValue(24,39,gp_Pnt(-1.36444,47.9479,-12.8384)); Poles.SetValue(24,40,gp_Pnt(-1.37307,52.376,-10.4394)); Poles.SetValue(24,41,gp_Pnt(-1.37346,57.7433,-7.89619)); Poles.SetValue(24,42,gp_Pnt(-1.35291,63.2224,-6.46618)); Poles.SetValue(24,43,gp_Pnt(-1.30269,70.9487,-6.0561)); Poles.SetValue(24,44,gp_Pnt(-1.2225,84.7507,-4.47221)); Poles.SetValue(24,45,gp_Pnt(-1.1488,103.665,-3.1278)); Poles.SetValue(24,46,gp_Pnt(-1.05086,126.933,-1.48899)); Poles.SetValue(24,47,gp_Pnt(-0.994938,142.302,-0.530106)); Poles.SetValue(24,48,gp_Pnt(-0.966871,150.006,-0.0110631)); Poles.SetValue(25,1,gp_Pnt(0.959819,-150.003,0.00568631)); Poles.SetValue(25,2,gp_Pnt(0.940055,-142.247,-0.331366)); Poles.SetValue(25,3,gp_Pnt(0.906483,-126.833,-0.995719)); Poles.SetValue(25,4,gp_Pnt(0.827614,-103.361,-2.15145)); Poles.SetValue(25,5,gp_Pnt(0.785273,-84.4342,-3.16894)); Poles.SetValue(25,6,gp_Pnt(0.714392,-70.4325,-4.31753)); Poles.SetValue(25,7,gp_Pnt(0.672237,-62.7537,-4.559)); Poles.SetValue(25,8,gp_Pnt(0.659329,-57.3653,-6.14528)); Poles.SetValue(25,9,gp_Pnt(0.661645,-52.1004,-9.03387)); Poles.SetValue(25,10,gp_Pnt(0.669516,-47.6625,-11.5964)); Poles.SetValue(25,11,gp_Pnt(0.689569,-44.3049,-13.8062)); Poles.SetValue(25,12,gp_Pnt(0.71644,-42.0351,-15.7831)); Poles.SetValue(25,13,gp_Pnt(0.738005,-39.535,-17.3193)); Poles.SetValue(25,14,gp_Pnt(0.754916,-36.82,-18.2146)); Poles.SetValue(25,15,gp_Pnt(0.759797,-34.3048,-18.3011)); Poles.SetValue(25,16,gp_Pnt(0.766913,-32.293,-18.3232)); Poles.SetValue(25,17,gp_Pnt(0.776889,-29.2662,-18.2948)); Poles.SetValue(25,18,gp_Pnt(0.794825,-25.6669,-18.3503)); Poles.SetValue(25,19,gp_Pnt(0.812837,-21.5492,-18.4233)); Poles.SetValue(25,20,gp_Pnt(0.829745,-17.4125,-18.5129)); Poles.SetValue(25,21,gp_Pnt(0.841595,-13.2595,-18.5688)); Poles.SetValue(25,22,gp_Pnt(0.847267,-9.09893,-18.6407)); Poles.SetValue(25,23,gp_Pnt(0.848219,-5.97561,-18.6984)); Poles.SetValue(25,24,gp_Pnt(0.844946,-1.80848,-18.7707)); Poles.SetValue(25,25,gp_Pnt(0.835788,2.35803,-18.8937)); Poles.SetValue(25,26,gp_Pnt(0.820538,6.52081,-18.96)); Poles.SetValue(25,27,gp_Pnt(0.806453,9.63874,-18.9827)); Poles.SetValue(25,28,gp_Pnt(0.786356,13.7858,-19.059)); Poles.SetValue(25,29,gp_Pnt(0.763708,17.9106,-19.0832)); Poles.SetValue(25,30,gp_Pnt(0.743879,22.0023,-19.1557)); Poles.SetValue(25,31,gp_Pnt(0.727329,26.0648,-19.2442)); Poles.SetValue(25,32,gp_Pnt(0.712384,29.6076,-19.2121)); Poles.SetValue(25,33,gp_Pnt(0.709962,32.5804,-19.3472)); Poles.SetValue(25,34,gp_Pnt(0.705581,34.5476,-19.3214)); Poles.SetValue(25,35,gp_Pnt(0.704066,37.0253,-19.2554)); Poles.SetValue(25,36,gp_Pnt(0.68005,39.6706,-18.2118)); Poles.SetValue(25,37,gp_Pnt(0.648205,42.1617,-16.677)); Poles.SetValue(25,38,gp_Pnt(0.61021,44.4849,-14.7789)); Poles.SetValue(25,39,gp_Pnt(0.578672,47.947,-12.7969)); Poles.SetValue(25,40,gp_Pnt(0.549361,52.3609,-10.3659)); Poles.SetValue(25,41,gp_Pnt(0.531102,57.7221,-7.80854)); Poles.SetValue(25,42,gp_Pnt(0.542483,63.2121,-6.41916)); Poles.SetValue(25,43,gp_Pnt(0.600457,70.9445,-6.01981)); Poles.SetValue(25,44,gp_Pnt(0.701564,84.7526,-4.48639)); Poles.SetValue(25,45,gp_Pnt(0.766341,103.657,-3.09192)); Poles.SetValue(25,46,gp_Pnt(0.870496,126.929,-1.44947)); Poles.SetValue(25,47,gp_Pnt(0.927725,142.298,-0.506458)); Poles.SetValue(25,48,gp_Pnt(0.955638,150.002,0.013664)); Poles.SetValue(26,1,gp_Pnt(2.88276,-150.003,0.00510712)); Poles.SetValue(26,2,gp_Pnt(2.86273,-142.249,-0.334571)); Poles.SetValue(26,3,gp_Pnt(2.82941,-126.831,-0.981236)); Poles.SetValue(26,4,gp_Pnt(2.74035,-103.363,-2.14876)); Poles.SetValue(26,5,gp_Pnt(2.71066,-84.4321,-3.14812)); Poles.SetValue(26,6,gp_Pnt(2.61085,-70.4333,-4.28563)); Poles.SetValue(26,7,gp_Pnt(2.56523,-62.7558,-4.53254)); Poles.SetValue(26,8,gp_Pnt(2.56347,-57.3598,-6.10287)); Poles.SetValue(26,9,gp_Pnt(2.58158,-52.1003,-8.99526)); Poles.SetValue(26,10,gp_Pnt(2.60803,-47.6567,-11.5441)); Poles.SetValue(26,11,gp_Pnt(2.65382,-44.2876,-13.7304)); Poles.SetValue(26,12,gp_Pnt(2.71408,-42.0076,-15.6963)); Poles.SetValue(26,13,gp_Pnt(2.7632,-39.5234,-17.2513)); Poles.SetValue(26,14,gp_Pnt(2.80034,-36.8171,-18.1742)); Poles.SetValue(26,15,gp_Pnt(2.81048,-34.3087,-18.2745)); Poles.SetValue(26,16,gp_Pnt(2.82183,-32.2984,-18.2966)); Poles.SetValue(26,17,gp_Pnt(2.83832,-29.2732,-18.2842)); Poles.SetValue(26,18,gp_Pnt(2.8597,-25.6748,-18.3055)); Poles.SetValue(26,19,gp_Pnt(2.88306,-21.5575,-18.3968)); Poles.SetValue(26,20,gp_Pnt(2.9041,-17.4213,-18.4977)); Poles.SetValue(26,21,gp_Pnt(2.91912,-13.2677,-18.5504)); Poles.SetValue(26,22,gp_Pnt(2.92733,-9.10621,-18.6181)); Poles.SetValue(26,23,gp_Pnt(2.9299,-5.98236,-18.6736)); Poles.SetValue(26,24,gp_Pnt(2.92848,-1.81523,-18.7537)); Poles.SetValue(26,25,gp_Pnt(2.92031,2.35123,-18.8647)); Poles.SetValue(26,26,gp_Pnt(2.90582,6.51345,-18.9446)); Poles.SetValue(26,27,gp_Pnt(2.89198,9.63105,-18.9812)); Poles.SetValue(26,28,gp_Pnt(2.87035,13.7782,-19.0068)); Poles.SetValue(26,29,gp_Pnt(2.84585,17.9026,-19.0689)); Poles.SetValue(26,30,gp_Pnt(2.82094,21.9938,-19.1239)); Poles.SetValue(26,31,gp_Pnt(2.79658,26.0594,-19.1547)); Poles.SetValue(26,32,gp_Pnt(2.77809,29.5996,-19.2041)); Poles.SetValue(26,33,gp_Pnt(2.76651,32.5773,-19.2914)); Poles.SetValue(26,34,gp_Pnt(2.75864,34.5628,-19.3306)); Poles.SetValue(26,35,gp_Pnt(2.74443,36.979,-19.1345)); Poles.SetValue(26,36,gp_Pnt(2.70387,39.6961,-18.1971)); Poles.SetValue(26,37,gp_Pnt(2.63982,42.114,-16.5479)); Poles.SetValue(26,38,gp_Pnt(2.5746,44.4902,-14.7277)); Poles.SetValue(26,39,gp_Pnt(2.51798,47.9308,-12.7131)); Poles.SetValue(26,40,gp_Pnt(2.46965,52.3578,-10.3138)); Poles.SetValue(26,41,gp_Pnt(2.43642,57.712,-7.75158)); Poles.SetValue(26,42,gp_Pnt(2.43995,63.2076,-6.38184)); Poles.SetValue(26,43,gp_Pnt(2.50293,70.9438,-5.9876)); Poles.SetValue(26,44,gp_Pnt(2.62733,84.7471,-4.46429)); Poles.SetValue(26,45,gp_Pnt(2.68225,103.665,-3.11603)); Poles.SetValue(26,46,gp_Pnt(2.79269,126.925,-1.43235)); Poles.SetValue(26,47,gp_Pnt(2.85123,142.301,-0.519032)); Poles.SetValue(26,48,gp_Pnt(2.87892,150.003,0.00754219)); Poles.SetValue(27,1,gp_Pnt(4.32494,-150.003,0.00465984)); Poles.SetValue(27,2,gp_Pnt(4.30474,-142.25,-0.336806)); Poles.SetValue(27,3,gp_Pnt(4.2716,-126.829,-0.969986)); Poles.SetValue(27,4,gp_Pnt(4.17478,-103.363,-2.1468)); Poles.SetValue(27,5,gp_Pnt(4.15476,-84.4306,-3.13459)); Poles.SetValue(27,6,gp_Pnt(4.0329,-70.4336,-4.25922)); Poles.SetValue(27,7,gp_Pnt(3.98517,-62.757,-4.50984)); Poles.SetValue(27,8,gp_Pnt(3.9913,-57.3574,-6.07543)); Poles.SetValue(27,9,gp_Pnt(4.02248,-52.0977,-8.96381)); Poles.SetValue(27,10,gp_Pnt(4.06134,-47.6524,-11.5091)); Poles.SetValue(27,11,gp_Pnt(4.12878,-44.273,-13.6756)); Poles.SetValue(27,12,gp_Pnt(4.21141,-41.9866,-15.6295)); Poles.SetValue(27,13,gp_Pnt(4.28353,-39.5132,-17.2059)); Poles.SetValue(27,14,gp_Pnt(4.33348,-36.8179,-18.1432)); Poles.SetValue(27,15,gp_Pnt(4.34938,-34.3123,-18.2685)); Poles.SetValue(27,16,gp_Pnt(4.36331,-32.3022,-18.2773)); Poles.SetValue(27,17,gp_Pnt(4.38418,-29.2798,-18.2738)); Poles.SetValue(27,18,gp_Pnt(4.40847,-25.6802,-18.2617)); Poles.SetValue(27,19,gp_Pnt(4.43585,-21.5644,-18.385)); Poles.SetValue(27,20,gp_Pnt(4.45998,-17.428,-18.4847)); Poles.SetValue(27,21,gp_Pnt(4.47734,-13.274,-18.5362)); Poles.SetValue(27,22,gp_Pnt(4.48745,-9.11172,-18.5999)); Poles.SetValue(27,23,gp_Pnt(4.49128,-5.98756,-18.6581)); Poles.SetValue(27,24,gp_Pnt(4.49121,-1.8203,-18.7405)); Poles.SetValue(27,25,gp_Pnt(4.48385,2.34609,-18.8459)); Poles.SetValue(27,26,gp_Pnt(4.46986,6.50806,-18.9314)); Poles.SetValue(27,27,gp_Pnt(4.45634,9.62519,-18.9867)); Poles.SetValue(27,28,gp_Pnt(4.43334,13.773,-18.962)); Poles.SetValue(27,29,gp_Pnt(4.40783,17.8965,-19.0659)); Poles.SetValue(27,30,gp_Pnt(4.37876,21.9885,-19.0986)); Poles.SetValue(27,31,gp_Pnt(4.34905,26.0539,-19.0891)); Poles.SetValue(27,32,gp_Pnt(4.32668,29.5961,-19.1878)); Poles.SetValue(27,33,gp_Pnt(4.30965,32.5756,-19.2608)); Poles.SetValue(27,34,gp_Pnt(4.29649,34.547,-19.2801)); Poles.SetValue(27,35,gp_Pnt(4.27784,36.9972,-19.1272)); Poles.SetValue(27,36,gp_Pnt(4.21947,39.6638,-18.1139)); Poles.SetValue(27,37,gp_Pnt(4.13554,42.1168,-16.5088)); Poles.SetValue(27,38,gp_Pnt(4.04783,44.4726,-14.6594)); Poles.SetValue(27,39,gp_Pnt(3.97295,47.9284,-12.6694)); Poles.SetValue(27,40,gp_Pnt(3.90975,52.3484,-10.2657)); Poles.SetValue(27,41,gp_Pnt(3.86598,57.7104,-7.72202)); Poles.SetValue(27,42,gp_Pnt(3.86291,63.2023,-6.3517)); Poles.SetValue(27,43,gp_Pnt(3.92956,70.9439,-5.96309)); Poles.SetValue(27,44,gp_Pnt(4.07168,84.743,-4.45222)); Poles.SetValue(27,45,gp_Pnt(4.11915,103.671,-3.13599)); Poles.SetValue(27,46,gp_Pnt(4.23427,126.922,-1.42098)); Poles.SetValue(27,47,gp_Pnt(4.2939,142.303,-0.528462)); Poles.SetValue(27,48,gp_Pnt(4.3214,150.003,0.00181057)); Poles.SetValue(28,1,gp_Pnt(7.20975,-150.003,0.00199379)); Poles.SetValue(28,2,gp_Pnt(7.18882,-142.253,-0.339409)); Poles.SetValue(28,3,gp_Pnt(7.15603,-126.823,-0.960991)); Poles.SetValue(28,4,gp_Pnt(7.04705,-103.378,-2.14121)); Poles.SetValue(28,5,gp_Pnt(7.04011,-84.4152,-3.0599)); Poles.SetValue(28,6,gp_Pnt(6.8827,-70.4519,-4.22491)); Poles.SetValue(28,7,gp_Pnt(6.82633,-62.7416,-4.45356)); Poles.SetValue(28,8,gp_Pnt(6.84632,-57.3274,-5.92928)); Poles.SetValue(28,9,gp_Pnt(6.90313,-52.0603,-8.76894)); Poles.SetValue(28,10,gp_Pnt(6.96541,-47.6191,-11.2651)); Poles.SetValue(28,11,gp_Pnt(7.06713,-44.2153,-13.3835)); Poles.SetValue(28,12,gp_Pnt(7.19512,-41.9163,-15.3266)); Poles.SetValue(28,13,gp_Pnt(7.31552,-39.4707,-16.9917)); Poles.SetValue(28,14,gp_Pnt(7.39349,-36.7863,-18.0229)); Poles.SetValue(28,15,gp_Pnt(7.42239,-34.3003,-18.2325)); Poles.SetValue(28,16,gp_Pnt(7.44451,-32.3001,-18.2769)); Poles.SetValue(28,17,gp_Pnt(7.47675,-29.2865,-18.2652)); Poles.SetValue(28,18,gp_Pnt(7.50629,-25.6849,-18.2576)); Poles.SetValue(28,19,gp_Pnt(7.5408,-21.5692,-18.3235)); Poles.SetValue(28,20,gp_Pnt(7.57163,-17.4339,-18.426)); Poles.SetValue(28,21,gp_Pnt(7.59489,-13.282,-18.5025)); Poles.SetValue(28,22,gp_Pnt(7.60855,-9.11981,-18.5619)); Poles.SetValue(28,23,gp_Pnt(7.61471,-5.99647,-18.6513)); Poles.SetValue(28,24,gp_Pnt(7.6166,-1.8301,-18.7256)); Poles.SetValue(28,25,gp_Pnt(7.61019,2.33523,-18.8123)); Poles.SetValue(28,26,gp_Pnt(7.59637,6.49519,-18.8964)); Poles.SetValue(28,27,gp_Pnt(7.5818,9.61113,-18.9175)); Poles.SetValue(28,28,gp_Pnt(7.55779,13.7559,-18.9587)); Poles.SetValue(28,29,gp_Pnt(7.52587,17.8776,-18.9626)); Poles.SetValue(28,30,gp_Pnt(7.4901,21.9674,-19.0247)); Poles.SetValue(28,31,gp_Pnt(7.45312,26.0294,-19.1257)); Poles.SetValue(28,32,gp_Pnt(7.42514,29.5856,-19.167)); Poles.SetValue(28,33,gp_Pnt(7.39395,32.555,-19.2183)); Poles.SetValue(28,34,gp_Pnt(7.37239,34.5295,-19.2131)); Poles.SetValue(28,35,gp_Pnt(7.33162,36.946,-18.9418)); Poles.SetValue(28,36,gp_Pnt(7.24313,39.6032,-17.8455)); Poles.SetValue(28,37,gp_Pnt(7.11296,42.0514,-16.191)); Poles.SetValue(28,38,gp_Pnt(6.98647,44.4381,-14.3835)); Poles.SetValue(28,39,gp_Pnt(6.88127,47.9054,-12.4221)); Poles.SetValue(28,40,gp_Pnt(6.79154,52.3186,-10.0449)); Poles.SetValue(28,41,gp_Pnt(6.72185,57.6668,-7.53612)); Poles.SetValue(28,42,gp_Pnt(6.71345,63.1976,-6.30207)); Poles.SetValue(28,43,gp_Pnt(6.78803,70.9427,-5.8544)); Poles.SetValue(28,44,gp_Pnt(6.9604,84.7347,-4.44573)); Poles.SetValue(28,45,gp_Pnt(6.99436,103.676,-3.08077)); Poles.SetValue(28,46,gp_Pnt(7.11838,126.92,-1.41297)); Poles.SetValue(28,47,gp_Pnt(7.17835,142.303,-0.517264)); Poles.SetValue(28,48,gp_Pnt(7.20607,150.004,0.000972213)); Poles.SetValue(29,1,gp_Pnt(11.537,-150.004,-0.0019364)); Poles.SetValue(29,2,gp_Pnt(11.5153,-142.257,-0.344646)); Poles.SetValue(29,3,gp_Pnt(11.4814,-126.814,-0.945148)); Poles.SetValue(29,4,gp_Pnt(11.3573,-103.399,-2.13514)); Poles.SetValue(29,5,gp_Pnt(11.367,-84.3943,-2.97324)); Poles.SetValue(29,6,gp_Pnt(11.1587,-70.4767,-4.1361)); Poles.SetValue(29,7,gp_Pnt(11.0926,-62.7343,-4.37369)); Poles.SetValue(29,8,gp_Pnt(11.1242,-57.2568,-5.69537)); Poles.SetValue(29,9,gp_Pnt(11.2126,-51.9572,-8.35841)); Poles.SetValue(29,10,gp_Pnt(11.3271,-47.5822,-10.8942)); Poles.SetValue(29,11,gp_Pnt(11.4644,-44.1049,-12.8681)); Poles.SetValue(29,12,gp_Pnt(11.6405,-41.7204,-14.7153)); Poles.SetValue(29,13,gp_Pnt(11.826,-39.3053,-16.4686)); Poles.SetValue(29,14,gp_Pnt(11.9708,-36.7063,-17.7552)); Poles.SetValue(29,15,gp_Pnt(12.0323,-34.2848,-18.2164)); Poles.SetValue(29,16,gp_Pnt(12.0665,-32.2944,-18.2456)); Poles.SetValue(29,17,gp_Pnt(12.1134,-29.2928,-18.2183)); Poles.SetValue(29,18,gp_Pnt(12.1502,-25.6859,-18.2702)); Poles.SetValue(29,19,gp_Pnt(12.1962,-21.5727,-18.2883)); Poles.SetValue(29,20,gp_Pnt(12.2377,-17.4404,-18.3531)); Poles.SetValue(29,21,gp_Pnt(12.2704,-13.2922,-18.4587)); Poles.SetValue(29,22,gp_Pnt(12.2909,-9.1316,-18.5394)); Poles.SetValue(29,23,gp_Pnt(12.3004,-6.00847,-18.5853)); Poles.SetValue(29,24,gp_Pnt(12.3062,-1.84393,-18.668)); Poles.SetValue(29,25,gp_Pnt(12.3017,2.31872,-18.7656)); Poles.SetValue(29,26,gp_Pnt(12.2867,6.47589,-18.8211)); Poles.SetValue(29,27,gp_Pnt(12.27,9.58913,-18.8432)); Poles.SetValue(29,28,gp_Pnt(12.242,13.7302,-18.8857)); Poles.SetValue(29,29,gp_Pnt(12.2013,17.8471,-18.8567)); Poles.SetValue(29,30,gp_Pnt(12.1551,21.9335,-18.9411)); Poles.SetValue(29,31,gp_Pnt(12.1027,25.9912,-19.0065)); Poles.SetValue(29,32,gp_Pnt(12.0689,29.5626,-19.1079)); Poles.SetValue(29,33,gp_Pnt(12.0248,32.536,-19.2146)); Poles.SetValue(29,34,gp_Pnt(11.9908,34.506,-19.2085)); Poles.SetValue(29,35,gp_Pnt(11.9133,36.8769,-18.6385)); Poles.SetValue(29,36,gp_Pnt(11.7541,39.4633,-17.3418)); Poles.SetValue(29,37,gp_Pnt(11.5496,41.8804,-15.5601)); Poles.SetValue(29,38,gp_Pnt(11.3811,44.3392,-13.8642)); Poles.SetValue(29,39,gp_Pnt(11.2454,47.87,-12.0305)); Poles.SetValue(29,40,gp_Pnt(11.1037,52.2433,-9.63697)); Poles.SetValue(29,41,gp_Pnt(11.0077,57.6157,-7.26995)); Poles.SetValue(29,42,gp_Pnt(10.9873,63.1748,-6.14324)); Poles.SetValue(29,43,gp_Pnt(11.0809,70.9505,-5.75361)); Poles.SetValue(29,44,gp_Pnt(11.2905,84.7164,-4.38829)); Poles.SetValue(29,45,gp_Pnt(11.3097,103.688,-3.03385)); Poles.SetValue(29,46,gp_Pnt(11.443,126.913,-1.36961)); Poles.SetValue(29,47,gp_Pnt(11.5055,142.304,-0.513898)); Poles.SetValue(29,48,gp_Pnt(11.5331,150.004,0.00143569)); Poles.SetValue(30,1,gp_Pnt(16.3445,-150.003,0.00578743)); Poles.SetValue(30,2,gp_Pnt(16.3249,-142.267,-0.370801)); Poles.SetValue(30,3,gp_Pnt(16.2799,-126.795,-0.898163)); Poles.SetValue(30,4,gp_Pnt(16.1574,-103.437,-2.15905)); Poles.SetValue(30,5,gp_Pnt(16.1621,-84.359,-2.81595)); Poles.SetValue(30,6,gp_Pnt(15.9355,-70.522,-4.02929)); Poles.SetValue(30,7,gp_Pnt(15.8353,-62.7113,-4.30109)); Poles.SetValue(30,8,gp_Pnt(15.8592,-57.1301,-5.29219)); Poles.SetValue(30,9,gp_Pnt(15.9885,-51.8279,-7.70639)); Poles.SetValue(30,10,gp_Pnt(16.1458,-47.454,-10.0875)); Poles.SetValue(30,11,gp_Pnt(16.3056,-43.9394,-11.9786)); Poles.SetValue(30,12,gp_Pnt(16.4697,-41.3722,-13.5536)); Poles.SetValue(30,13,gp_Pnt(16.7346,-38.9838,-15.419)); Poles.SetValue(30,14,gp_Pnt(16.9692,-36.4718,-16.9881)); Poles.SetValue(30,15,gp_Pnt(17.0978,-34.1539,-17.8546)); Poles.SetValue(30,16,gp_Pnt(17.1618,-32.2064,-18.1241)); Poles.SetValue(30,17,gp_Pnt(17.2498,-29.2572,-18.3817)); Poles.SetValue(30,18,gp_Pnt(17.2843,-25.6335,-18.1023)); Poles.SetValue(30,19,gp_Pnt(17.349,-21.5427,-18.2505)); Poles.SetValue(30,20,gp_Pnt(17.4018,-17.4207,-18.275)); Poles.SetValue(30,21,gp_Pnt(17.4446,-13.282,-18.3905)); Poles.SetValue(30,22,gp_Pnt(17.4712,-9.12898,-18.4481)); Poles.SetValue(30,23,gp_Pnt(17.484,-6.01145,-18.4793)); Poles.SetValue(30,24,gp_Pnt(17.4931,-1.85495,-18.5611)); Poles.SetValue(30,25,gp_Pnt(17.489,2.29988,-18.6221)); Poles.SetValue(30,26,gp_Pnt(17.4726,6.44817,-18.6907)); Poles.SetValue(30,27,gp_Pnt(17.4549,9.55413,-18.7566)); Poles.SetValue(30,28,gp_Pnt(17.4205,13.6861,-18.7666)); Poles.SetValue(30,29,gp_Pnt(17.3732,17.7936,-18.8446)); Poles.SetValue(30,30,gp_Pnt(17.3181,21.8766,-18.906)); Poles.SetValue(30,31,gp_Pnt(17.2501,25.9253,-18.909)); Poles.SetValue(30,32,gp_Pnt(17.2175,29.502,-19.3082)); Poles.SetValue(30,33,gp_Pnt(17.1165,32.4131,-19.0021)); Poles.SetValue(30,34,gp_Pnt(17.0447,34.3389,-18.7229)); Poles.SetValue(30,35,gp_Pnt(16.8753,36.5819,-17.6749)); Poles.SetValue(30,36,gp_Pnt(16.6444,39.1331,-16.2131)); Poles.SetValue(30,37,gp_Pnt(16.3774,41.5535,-14.3732)); Poles.SetValue(30,38,gp_Pnt(16.2266,44.1917,-12.9771)); Poles.SetValue(30,39,gp_Pnt(16.0512,47.7031,-11.1156)); Poles.SetValue(30,40,gp_Pnt(15.8965,52.1551,-9.02732)); Poles.SetValue(30,41,gp_Pnt(15.7531,57.497,-6.73597)); Poles.SetValue(30,42,gp_Pnt(15.7515,63.1508,-5.99587)); Poles.SetValue(30,43,gp_Pnt(15.8708,70.9704,-5.59492)); Poles.SetValue(30,44,gp_Pnt(16.0904,84.6832,-4.25753)); Poles.SetValue(30,45,gp_Pnt(16.1141,103.717,-3.04271)); Poles.SetValue(30,46,gp_Pnt(16.2429,126.893,-1.24525)); Poles.SetValue(30,47,gp_Pnt(16.3147,142.31,-0.535292)); Poles.SetValue(30,48,gp_Pnt(16.341,150.003,0.00253219)); Poles.SetValue(31,1,gp_Pnt(20.1907,-150.004,-0.000526058)); Poles.SetValue(31,2,gp_Pnt(20.1704,-142.268,-0.331239)); Poles.SetValue(31,3,gp_Pnt(20.122,-126.794,-0.970591)); Poles.SetValue(31,4,gp_Pnt(19.9951,-103.451,-1.9936)); Poles.SetValue(31,5,gp_Pnt(19.9957,-84.3412,-2.79149)); Poles.SetValue(31,6,gp_Pnt(19.7663,-70.5532,-3.8958)); Poles.SetValue(31,7,gp_Pnt(19.6372,-62.6961,-4.24537)); Poles.SetValue(31,8,gp_Pnt(19.6312,-57.0153,-4.8376)); Poles.SetValue(31,9,gp_Pnt(19.8029,-51.7257,-7.12882)); Poles.SetValue(31,10,gp_Pnt(19.9903,-47.3456,-9.33312)); Poles.SetValue(31,11,gp_Pnt(20.1544,-43.7936,-11.1495)); Poles.SetValue(31,12,gp_Pnt(20.3067,-41.1475,-12.5808)); Poles.SetValue(31,13,gp_Pnt(20.5363,-38.6079,-14.2468)); Poles.SetValue(31,14,gp_Pnt(20.84,-36.134,-15.9275)); Poles.SetValue(31,15,gp_Pnt(21.0623,-33.9474,-17.1599)); Poles.SetValue(31,16,gp_Pnt(21.1716,-32.0518,-17.667)); Poles.SetValue(31,17,gp_Pnt(21.3214,-29.179,-18.3673)); Poles.SetValue(31,18,gp_Pnt(21.3793,-25.5812,-18.3124)); Poles.SetValue(31,19,gp_Pnt(21.4548,-21.5049,-18.1853)); Poles.SetValue(31,20,gp_Pnt(21.5142,-17.3922,-18.2366)); Poles.SetValue(31,21,gp_Pnt(21.558,-13.2603,-18.3063)); Poles.SetValue(31,22,gp_Pnt(21.5878,-9.11659,-18.3336)); Poles.SetValue(31,23,gp_Pnt(21.6056,-6.00831,-18.4512)); Poles.SetValue(31,24,gp_Pnt(21.6167,-1.86141,-18.4833)); Poles.SetValue(31,25,gp_Pnt(21.6127,2.2836,-18.5266)); Poles.SetValue(31,26,gp_Pnt(21.5944,6.42098,-18.6074)); Poles.SetValue(31,27,gp_Pnt(21.5727,9.51941,-18.6404)); Poles.SetValue(31,28,gp_Pnt(21.5378,13.6411,-18.7487)); Poles.SetValue(31,29,gp_Pnt(21.4866,17.743,-18.7215)); Poles.SetValue(31,30,gp_Pnt(21.4258,21.8165,-18.8984)); Poles.SetValue(31,31,gp_Pnt(21.3369,25.8371,-19.0188)); Poles.SetValue(31,32,gp_Pnt(21.2862,29.4092,-19.1007)); Poles.SetValue(31,33,gp_Pnt(21.1135,32.2368,-18.3775)); Poles.SetValue(31,34,gp_Pnt(20.9861,34.1014,-17.8358)); Poles.SetValue(31,35,gp_Pnt(20.7501,36.2734,-16.587)); Poles.SetValue(31,36,gp_Pnt(20.4474,38.7816,-15.0031)); Poles.SetValue(31,37,gp_Pnt(20.2219,41.3577,-13.4124)); Poles.SetValue(31,38,gp_Pnt(20.0752,44.046,-12.1119)); Poles.SetValue(31,39,gp_Pnt(19.9,47.6135,-10.3667)); Poles.SetValue(31,40,gp_Pnt(19.7027,52.0328,-8.33553)); Poles.SetValue(31,41,gp_Pnt(19.5529,57.4314,-6.41226)); Poles.SetValue(31,42,gp_Pnt(19.5744,63.1466,-5.88305)); Poles.SetValue(31,43,gp_Pnt(19.7084,70.9809,-5.38238)); Poles.SetValue(31,44,gp_Pnt(19.9269,84.6646,-4.23097)); Poles.SetValue(31,45,gp_Pnt(19.9547,103.723,-2.89651)); Poles.SetValue(31,46,gp_Pnt(20.0869,126.892,-1.26097)); Poles.SetValue(31,47,gp_Pnt(20.16,142.308,-0.498836)); Poles.SetValue(31,48,gp_Pnt(20.1872,150.004,-0.000635283)); Poles.SetValue(32,1,gp_Pnt(23.0753,-150.004,0.00144521)); Poles.SetValue(32,2,gp_Pnt(23.0548,-142.27,-0.337801)); Poles.SetValue(32,3,gp_Pnt(23.0016,-126.788,-0.942781)); Poles.SetValue(32,4,gp_Pnt(22.8773,-103.469,-1.9433)); Poles.SetValue(32,5,gp_Pnt(22.8673,-84.3255,-2.74248)); Poles.SetValue(32,6,gp_Pnt(22.6434,-70.5754,-3.79108)); Poles.SetValue(32,7,gp_Pnt(22.4949,-62.6931,-4.17157)); Poles.SetValue(32,8,gp_Pnt(22.4768,-56.9735,-4.67076)); Poles.SetValue(32,9,gp_Pnt(22.6398,-51.6068,-6.54067)); Poles.SetValue(32,10,gp_Pnt(22.85,-47.2263,-8.64328)); Poles.SetValue(32,11,gp_Pnt(23.0318,-43.6813,-10.4638)); Poles.SetValue(32,12,gp_Pnt(23.1562,-40.9615,-11.764)); Poles.SetValue(32,13,gp_Pnt(23.368,-38.3504,-13.3038)); Poles.SetValue(32,14,gp_Pnt(23.6652,-35.817,-14.919)); Poles.SetValue(32,15,gp_Pnt(23.9354,-33.6785,-16.2623)); Poles.SetValue(32,16,gp_Pnt(24.0927,-31.8451,-17.0162)); Poles.SetValue(32,17,gp_Pnt(24.3261,-29.0715,-18.0603)); Poles.SetValue(32,18,gp_Pnt(24.4211,-25.5163,-18.3534)); Poles.SetValue(32,19,gp_Pnt(24.5253,-21.4717,-18.3276)); Poles.SetValue(32,20,gp_Pnt(24.5868,-17.3628,-18.1811)); Poles.SetValue(32,21,gp_Pnt(24.6337,-13.2388,-18.2382)); Poles.SetValue(32,22,gp_Pnt(24.6633,-9.10443,-18.3301)); Poles.SetValue(32,23,gp_Pnt(24.6763,-6.00141,-18.3329)); Poles.SetValue(32,24,gp_Pnt(24.6883,-1.86447,-18.4)); Poles.SetValue(32,25,gp_Pnt(24.685,2.27094,-18.4513)); Poles.SetValue(32,26,gp_Pnt(24.6679,6.39927,-18.5271)); Poles.SetValue(32,27,gp_Pnt(24.6503,9.49024,-18.6028)); Poles.SetValue(32,28,gp_Pnt(24.6143,13.6057,-18.6066)); Poles.SetValue(32,29,gp_Pnt(24.5631,17.7003,-18.6756)); Poles.SetValue(32,30,gp_Pnt(24.4992,21.766,-18.9712)); Poles.SetValue(32,31,gp_Pnt(24.3992,25.7809,-18.8799)); Poles.SetValue(32,32,gp_Pnt(24.3004,29.3057,-18.7554)); Poles.SetValue(32,33,gp_Pnt(24.037,32.0419,-17.6838)); Poles.SetValue(32,34,gp_Pnt(23.8657,33.8604,-16.9256)); Poles.SetValue(32,35,gp_Pnt(23.5774,35.9803,-15.5713)); Poles.SetValue(32,36,gp_Pnt(23.2968,38.5683,-14.0879)); Poles.SetValue(32,37,gp_Pnt(23.093,41.2165,-12.6479)); Poles.SetValue(32,38,gp_Pnt(22.9531,43.9435,-11.4158)); Poles.SetValue(32,39,gp_Pnt(22.7622,47.5105,-9.68785)); Poles.SetValue(32,40,gp_Pnt(22.5568,51.9527,-7.8039)); Poles.SetValue(32,41,gp_Pnt(22.4004,57.3744,-6.1033)); Poles.SetValue(32,42,gp_Pnt(22.4489,63.1511,-5.80662)); Poles.SetValue(32,43,gp_Pnt(22.5902,70.9891,-5.2305)); Poles.SetValue(32,44,gp_Pnt(22.799,84.6457,-4.15543)); Poles.SetValue(32,45,gp_Pnt(22.8398,103.734,-2.83232)); Poles.SetValue(32,46,gp_Pnt(22.9682,126.889,-1.24771)); Poles.SetValue(32,47,gp_Pnt(23.0442,142.308,-0.479822)); Poles.SetValue(32,48,gp_Pnt(23.072,150.003,-0.00023355)); Poles.SetValue(33,1,gp_Pnt(25.96,-150.004,-0.00107395)); Poles.SetValue(33,2,gp_Pnt(25.9383,-142.271,-0.323802)); Poles.SetValue(33,3,gp_Pnt(25.883,-126.787,-0.940847)); Poles.SetValue(33,4,gp_Pnt(25.7581,-103.481,-1.84472)); Poles.SetValue(33,5,gp_Pnt(25.7408,-84.3172,-2.76066)); Poles.SetValue(33,6,gp_Pnt(25.52,-70.5894,-3.62915)); Poles.SetValue(33,7,gp_Pnt(25.366,-62.7115,-4.17081)); Poles.SetValue(33,8,gp_Pnt(25.3057,-56.9037,-4.30025)); Poles.SetValue(33,9,gp_Pnt(25.4874,-51.5283,-6.03263)); Poles.SetValue(33,10,gp_Pnt(25.6972,-47.1048,-7.91375)); Poles.SetValue(33,11,gp_Pnt(25.8911,-43.5608,-9.71674)); Poles.SetValue(33,12,gp_Pnt(26.0083,-40.8113,-10.9474)); Poles.SetValue(33,13,gp_Pnt(26.1812,-38.1233,-12.3183)); Poles.SetValue(33,14,gp_Pnt(26.4261,-35.4747,-13.7471)); Poles.SetValue(33,15,gp_Pnt(26.7228,-33.3637,-15.1404)); Poles.SetValue(33,16,gp_Pnt(26.9425,-31.5869,-16.0448)); Poles.SetValue(33,17,gp_Pnt(27.2466,-28.8898,-17.3418)); Poles.SetValue(33,18,gp_Pnt(27.4392,-25.4377,-18.079)); Poles.SetValue(33,19,gp_Pnt(27.5703,-21.4197,-18.3425)); Poles.SetValue(33,20,gp_Pnt(27.6524,-17.3331,-18.2754)); Poles.SetValue(33,21,gp_Pnt(27.691,-13.2136,-18.2387)); Poles.SetValue(33,22,gp_Pnt(27.7352,-9.09145,-18.3076)); Poles.SetValue(33,23,gp_Pnt(27.7708,-5.99784,-18.3543)); Poles.SetValue(33,24,gp_Pnt(27.7901,-1.8693,-18.4133)); Poles.SetValue(33,25,gp_Pnt(27.7867,2.25931,-18.461)); Poles.SetValue(33,26,gp_Pnt(27.7597,6.37821,-18.527)); Poles.SetValue(33,27,gp_Pnt(27.7183,9.46104,-18.5728)); Poles.SetValue(33,28,gp_Pnt(27.6728,13.5629,-18.5809)); Poles.SetValue(33,29,gp_Pnt(27.6341,17.6553,-18.7896)); Poles.SetValue(33,30,gp_Pnt(27.5313,21.69,-18.856)); Poles.SetValue(33,31,gp_Pnt(27.4221,25.7022,-18.6912)); Poles.SetValue(33,32,gp_Pnt(27.1858,29.0914,-17.9663)); Poles.SetValue(33,33,gp_Pnt(26.8754,31.7892,-16.6502)); Poles.SetValue(33,34,gp_Pnt(26.6629,33.5795,-15.8008)); Poles.SetValue(33,35,gp_Pnt(26.392,35.7345,-14.5141)); Poles.SetValue(33,36,gp_Pnt(26.1302,38.3859,-13.1359)); Poles.SetValue(33,37,gp_Pnt(25.9577,41.0989,-11.8672)); Poles.SetValue(33,38,gp_Pnt(25.8174,43.84,-10.6733)); Poles.SetValue(33,39,gp_Pnt(25.6131,47.4059,-8.97942)); Poles.SetValue(33,40,gp_Pnt(25.4162,51.8971,-7.31061)); Poles.SetValue(33,41,gp_Pnt(25.2618,57.3518,-5.8554)); Poles.SetValue(33,42,gp_Pnt(25.3309,63.1621,-5.70901)); Poles.SetValue(33,43,gp_Pnt(25.4737,70.9955,-5.07709)); Poles.SetValue(33,44,gp_Pnt(25.6714,84.6291,-4.0924)); Poles.SetValue(33,45,gp_Pnt(25.7247,103.742,-2.75106)); Poles.SetValue(33,46,gp_Pnt(25.8505,126.888,-1.25015)); Poles.SetValue(33,47,gp_Pnt(25.9279,142.307,-0.4543)); Poles.SetValue(33,48,gp_Pnt(25.9567,150.003,1.78031e-006)); Poles.SetValue(34,1,gp_Pnt(28.8443,-150.003,-0.000814414)); Poles.SetValue(34,2,gp_Pnt(28.822,-142.272,-0.314965)); Poles.SetValue(34,3,gp_Pnt(28.7639,-126.784,-0.915393)); Poles.SetValue(34,4,gp_Pnt(28.6408,-103.496,-1.77607)); Poles.SetValue(34,5,gp_Pnt(28.6108,-84.3033,-2.7051)); Poles.SetValue(34,6,gp_Pnt(28.4002,-70.6057,-3.51828)); Poles.SetValue(34,7,gp_Pnt(28.2459,-62.7375,-4.07858)); Poles.SetValue(34,8,gp_Pnt(28.1744,-56.9104,-4.20906)); Poles.SetValue(34,9,gp_Pnt(28.3177,-51.4347,-5.41731)); Poles.SetValue(34,10,gp_Pnt(28.5405,-47,-7.20566)); Poles.SetValue(34,11,gp_Pnt(28.7156,-43.4043,-8.86385)); Poles.SetValue(34,12,gp_Pnt(28.8516,-40.6751,-10.1127)); Poles.SetValue(34,13,gp_Pnt(28.9811,-37.9111,-11.2996)); Poles.SetValue(34,14,gp_Pnt(29.1942,-35.2049,-12.5938)); Poles.SetValue(34,15,gp_Pnt(29.4218,-32.9982,-13.7949)); Poles.SetValue(34,16,gp_Pnt(29.6546,-31.2373,-14.7599)); Poles.SetValue(34,17,gp_Pnt(30.0209,-28.5986,-16.2161)); Poles.SetValue(34,18,gp_Pnt(30.3511,-25.2896,-17.4304)); Poles.SetValue(34,19,gp_Pnt(30.5644,-21.3363,-18.1086)); Poles.SetValue(34,20,gp_Pnt(30.6971,-17.2907,-18.3429)); Poles.SetValue(34,21,gp_Pnt(30.7624,-13.191,-18.3042)); Poles.SetValue(34,22,gp_Pnt(30.7888,-9.07614,-18.2619)); Poles.SetValue(34,23,gp_Pnt(30.7984,-5.98767,-18.2612)); Poles.SetValue(34,24,gp_Pnt(30.8028,-1.86922,-18.3218)); Poles.SetValue(34,25,gp_Pnt(30.8038,2.24578,-18.378)); Poles.SetValue(34,26,gp_Pnt(30.7952,6.35643,-18.4258)); Poles.SetValue(34,27,gp_Pnt(30.783,9.43271,-18.5099)); Poles.SetValue(34,28,gp_Pnt(30.7508,13.5293,-18.5862)); Poles.SetValue(34,29,gp_Pnt(30.6756,17.5933,-18.7948)); Poles.SetValue(34,30,gp_Pnt(30.5377,21.6111,-18.5821)); Poles.SetValue(34,31,gp_Pnt(30.3253,25.5499,-17.9497)); Poles.SetValue(34,32,gp_Pnt(29.9809,28.8453,-16.7757)); Poles.SetValue(34,33,gp_Pnt(29.6116,31.4959,-15.4039)); Poles.SetValue(34,34,gp_Pnt(29.3795,33.2673,-14.4675)); Poles.SetValue(34,35,gp_Pnt(29.1738,35.5112,-13.3894)); Poles.SetValue(34,36,gp_Pnt(28.9461,38.2178,-12.1512)); Poles.SetValue(34,37,gp_Pnt(28.8226,41.0067,-11.0898)); Poles.SetValue(34,38,gp_Pnt(28.6485,43.7085,-9.8326)); Poles.SetValue(34,39,gp_Pnt(28.4613,47.3204,-8.29397)); Poles.SetValue(34,40,gp_Pnt(28.2597,51.8236,-6.71601)); Poles.SetValue(34,41,gp_Pnt(28.1363,57.35,-5.69854)); Poles.SetValue(34,42,gp_Pnt(28.2228,63.1847,-5.58611)); Poles.SetValue(34,43,gp_Pnt(28.3583,70.9987,-4.92408)); Poles.SetValue(34,44,gp_Pnt(28.5449,84.6147,-4.02298)); Poles.SetValue(34,45,gp_Pnt(28.6102,103.75,-2.67549)); Poles.SetValue(34,46,gp_Pnt(28.733,126.887,-1.24976)); Poles.SetValue(34,47,gp_Pnt(28.8119,142.306,-0.431209)); Poles.SetValue(34,48,gp_Pnt(28.8411,150.003,0.000394087)); Poles.SetValue(35,1,gp_Pnt(31.7287,-150.003,-0.00159563)); Poles.SetValue(35,2,gp_Pnt(31.7054,-142.271,-0.292958)); Poles.SetValue(35,3,gp_Pnt(31.6455,-126.784,-0.897779)); Poles.SetValue(35,4,gp_Pnt(31.5244,-103.509,-1.70454)); Poles.SetValue(35,5,gp_Pnt(31.4818,-84.2933,-2.66393)); Poles.SetValue(35,6,gp_Pnt(31.2818,-70.6177,-3.40872)); Poles.SetValue(35,7,gp_Pnt(31.1379,-62.7777,-3.96987)); Poles.SetValue(35,8,gp_Pnt(31.0487,-56.922,-4.10969)); Poles.SetValue(35,9,gp_Pnt(31.1572,-51.3677,-4.89488)); Poles.SetValue(35,10,gp_Pnt(31.3712,-46.8953,-6.51595)); Poles.SetValue(35,11,gp_Pnt(31.5139,-43.2378,-7.96936)); Poles.SetValue(35,12,gp_Pnt(31.6758,-40.5316,-9.22108)); Poles.SetValue(35,13,gp_Pnt(31.8199,-37.7807,-10.3811)); Poles.SetValue(35,14,gp_Pnt(31.9893,-35.0147,-11.5145)); Poles.SetValue(35,15,gp_Pnt(32.1247,-32.7053,-12.464)); Poles.SetValue(35,16,gp_Pnt(32.3218,-30.8986,-13.34)); Poles.SetValue(35,17,gp_Pnt(32.6432,-28.2165,-14.6979)); Poles.SetValue(35,18,gp_Pnt(33.097,-25.0373,-16.1855)); Poles.SetValue(35,19,gp_Pnt(33.4343,-21.1834,-17.345)); Poles.SetValue(35,20,gp_Pnt(33.6567,-17.2197,-18.0405)); Poles.SetValue(35,21,gp_Pnt(33.7429,-13.1456,-18.2543)); Poles.SetValue(35,22,gp_Pnt(33.7947,-9.05496,-18.3306)); Poles.SetValue(35,23,gp_Pnt(33.814,-5.97761,-18.3713)); Poles.SetValue(35,24,gp_Pnt(33.8326,-1.87322,-18.3889)); Poles.SetValue(35,25,gp_Pnt(33.8307,2.23248,-18.5068)); Poles.SetValue(35,26,gp_Pnt(33.8103,6.3285,-18.5284)); Poles.SetValue(35,27,gp_Pnt(33.7859,9.39575,-18.5442)); Poles.SetValue(35,28,gp_Pnt(33.7311,13.4669,-18.5787)); Poles.SetValue(35,29,gp_Pnt(33.6309,17.5149,-18.4035)); Poles.SetValue(35,30,gp_Pnt(33.3631,21.4402,-17.6914)); Poles.SetValue(35,31,gp_Pnt(33.0314,25.2897,-16.6389)); Poles.SetValue(35,32,gp_Pnt(32.5814,28.4766,-15.2398)); Poles.SetValue(35,33,gp_Pnt(32.2879,31.1937,-13.9832)); Poles.SetValue(35,34,gp_Pnt(32.101,33.016,-13.1896)); Poles.SetValue(35,35,gp_Pnt(31.9711,35.3393,-12.3157)); Poles.SetValue(35,36,gp_Pnt(31.762,38.0751,-11.166)); Poles.SetValue(35,37,gp_Pnt(31.6205,40.8468,-10.1215)); Poles.SetValue(35,38,gp_Pnt(31.4569,43.5672,-8.96315)); Poles.SetValue(35,39,gp_Pnt(31.304,47.2348,-7.63002)); Poles.SetValue(35,40,gp_Pnt(31.1056,51.7662,-6.18385)); Poles.SetValue(35,41,gp_Pnt(31.032,57.3778,-5.59198)); Poles.SetValue(35,42,gp_Pnt(31.1183,63.208,-5.41945)); Poles.SetValue(35,43,gp_Pnt(31.2462,71.0036,-4.78942)); Poles.SetValue(35,44,gp_Pnt(31.4185,84.5987,-3.92699)); Poles.SetValue(35,45,gp_Pnt(31.4967,103.758,-2.61174)); Poles.SetValue(35,46,gp_Pnt(31.6157,126.886,-1.24044)); Poles.SetValue(35,47,gp_Pnt(31.6958,142.305,-0.417113)); Poles.SetValue(35,48,gp_Pnt(31.7255,150.002,0.00194988)); Poles.SetValue(36,1,gp_Pnt(34.613,-150.003,-8.84142e-006)); Poles.SetValue(36,2,gp_Pnt(34.5892,-142.271,-0.281898)); Poles.SetValue(36,3,gp_Pnt(34.5259,-126.782,-0.842126)); Poles.SetValue(36,4,gp_Pnt(34.4114,-103.526,-1.69502)); Poles.SetValue(36,5,gp_Pnt(34.3501,-84.279,-2.54815)); Poles.SetValue(36,6,gp_Pnt(34.1678,-70.6326,-3.32282)); Poles.SetValue(36,7,gp_Pnt(34.0367,-62.8161,-3.82536)); Poles.SetValue(36,8,gp_Pnt(33.9563,-56.9857,-4.13682)); Poles.SetValue(36,9,gp_Pnt(34.0087,-51.3335,-4.46806)); Poles.SetValue(36,10,gp_Pnt(34.1924,-46.7917,-5.85857)); Poles.SetValue(36,11,gp_Pnt(34.3026,-43.0822,-7.10693)); Poles.SetValue(36,12,gp_Pnt(34.4437,-40.3441,-8.2133)); Poles.SetValue(36,13,gp_Pnt(34.6249,-37.6272,-9.39894)); Poles.SetValue(36,14,gp_Pnt(34.7778,-34.844,-10.4473)); Poles.SetValue(36,15,gp_Pnt(34.8915,-32.5077,-11.3048)); Poles.SetValue(36,16,gp_Pnt(35.0303,-30.6596,-12.0421)); Poles.SetValue(36,17,gp_Pnt(35.2632,-27.9023,-13.1946)); Poles.SetValue(36,18,gp_Pnt(35.6871,-24.7181,-14.6532)); Poles.SetValue(36,19,gp_Pnt(36.0775,-20.9311,-15.9594)); Poles.SetValue(36,20,gp_Pnt(36.3883,-17.0442,-16.9645)); Poles.SetValue(36,21,gp_Pnt(36.6346,-13.0717,-17.6564)); Poles.SetValue(36,22,gp_Pnt(36.703,-9.00817,-17.8864)); Poles.SetValue(36,23,gp_Pnt(36.753,-5.9561,-18.0651)); Poles.SetValue(36,24,gp_Pnt(36.7617,-1.86876,-18.1671)); Poles.SetValue(36,25,gp_Pnt(36.7651,2.21985,-18.2173)); Poles.SetValue(36,26,gp_Pnt(36.7472,6.29944,-18.1998)); Poles.SetValue(36,27,gp_Pnt(36.7037,9.34658,-18.1186)); Poles.SetValue(36,28,gp_Pnt(36.6083,13.3906,-17.8978)); Poles.SetValue(36,29,gp_Pnt(36.3678,17.3552,-17.2999)); Poles.SetValue(36,30,gp_Pnt(36.0217,21.2169,-16.3136)); Poles.SetValue(36,31,gp_Pnt(35.6137,24.997,-15.0642)); Poles.SetValue(36,32,gp_Pnt(35.226,28.2063,-13.7406)); Poles.SetValue(36,33,gp_Pnt(34.9984,30.9793,-12.6852)); Poles.SetValue(36,34,gp_Pnt(34.8482,32.8226,-11.9616)); Poles.SetValue(36,35,gp_Pnt(34.7496,35.1802,-11.2179)); Poles.SetValue(36,36,gp_Pnt(34.5774,37.9518,-10.2031)); Poles.SetValue(36,37,gp_Pnt(34.4083,40.6991,-9.15684)); Poles.SetValue(36,38,gp_Pnt(34.2536,43.4345,-8.10986)); Poles.SetValue(36,39,gp_Pnt(34.1265,47.141,-6.95245)); Poles.SetValue(36,40,gp_Pnt(33.9694,51.7379,-5.79187)); Poles.SetValue(36,41,gp_Pnt(33.9407,57.4177,-5.51793)); Poles.SetValue(36,42,gp_Pnt(34.0186,63.2307,-5.20171)); Poles.SetValue(36,43,gp_Pnt(34.1362,71.0089,-4.67244)); Poles.SetValue(36,44,gp_Pnt(34.2957,84.5851,-3.80167)); Poles.SetValue(36,45,gp_Pnt(34.383,103.766,-2.5642)); Poles.SetValue(36,46,gp_Pnt(34.4993,126.886,-1.22044)); Poles.SetValue(36,47,gp_Pnt(34.5794,142.304,-0.409319)); Poles.SetValue(36,48,gp_Pnt(34.61,150.002,0.00244459)); Poles.SetValue(37,1,gp_Pnt(37.4972,-150.002,0.000555526)); Poles.SetValue(37,2,gp_Pnt(37.4728,-142.27,-0.265447)); Poles.SetValue(37,3,gp_Pnt(37.4079,-126.783,-0.802161)); Poles.SetValue(37,4,gp_Pnt(37.2967,-103.539,-1.66555)); Poles.SetValue(37,5,gp_Pnt(37.2229,-84.2708,-2.46547)); Poles.SetValue(37,6,gp_Pnt(37.0545,-70.6462,-3.22563)); Poles.SetValue(37,7,gp_Pnt(36.9382,-62.8514,-3.69803)); Poles.SetValue(37,8,gp_Pnt(36.8695,-57.0355,-4.05169)); Poles.SetValue(37,9,gp_Pnt(36.8664,-51.3068,-4.20071)); Poles.SetValue(37,10,gp_Pnt(36.9963,-46.6801,-5.21492)); Poles.SetValue(37,11,gp_Pnt(37.1028,-42.9622,-6.32347)); Poles.SetValue(37,12,gp_Pnt(37.2217,-40.1924,-7.25707)); Poles.SetValue(37,13,gp_Pnt(37.3806,-37.45,-8.32532)); Poles.SetValue(37,14,gp_Pnt(37.5666,-34.6987,-9.40192)); Poles.SetValue(37,15,gp_Pnt(37.6875,-32.3677,-10.2225)); Poles.SetValue(37,16,gp_Pnt(37.7796,-30.4815,-10.8337)); Poles.SetValue(37,17,gp_Pnt(37.8949,-27.6361,-11.7039)); Poles.SetValue(37,18,gp_Pnt(38.1939,-24.3881,-12.9412)); Poles.SetValue(37,19,gp_Pnt(38.5477,-20.6236,-14.2289)); Poles.SetValue(37,20,gp_Pnt(38.9367,-16.8248,-15.4489)); Poles.SetValue(37,21,gp_Pnt(39.2113,-12.9073,-16.3298)); Poles.SetValue(37,22,gp_Pnt(39.4234,-8.92763,-16.959)); Poles.SetValue(37,23,gp_Pnt(39.4867,-5.90171,-17.2202)); Poles.SetValue(37,24,gp_Pnt(39.5456,-1.85585,-17.4489)); Poles.SetValue(37,25,gp_Pnt(39.5315,2.20624,-17.47)); Poles.SetValue(37,26,gp_Pnt(39.4789,6.249,-17.3411)); Poles.SetValue(37,27,gp_Pnt(39.3801,9.26259,-17.0826)); Poles.SetValue(37,28,gp_Pnt(39.1782,13.2421,-16.5416)); Poles.SetValue(37,29,gp_Pnt(38.9025,17.148,-15.7336)); Poles.SetValue(37,30,gp_Pnt(38.4895,20.9378,-14.5637)); Poles.SetValue(37,31,gp_Pnt(38.1479,24.7114,-13.3818)); Poles.SetValue(37,32,gp_Pnt(37.8908,27.991,-12.3161)); Poles.SetValue(37,33,gp_Pnt(37.7444,30.8157,-11.4556)); Poles.SetValue(37,34,gp_Pnt(37.6502,32.7032,-10.8985)); Poles.SetValue(37,35,gp_Pnt(37.5088,35.0224,-10.1)); Poles.SetValue(37,36,gp_Pnt(37.3138,37.7726,-9.07484)); Poles.SetValue(37,37,gp_Pnt(37.1382,40.5101,-8.05559)); Poles.SetValue(37,38,gp_Pnt(37.054,43.3215,-7.31185)); Poles.SetValue(37,39,gp_Pnt(36.9421,47.0468,-6.33184)); Poles.SetValue(37,40,gp_Pnt(36.8379,51.7166,-5.49796)); Poles.SetValue(37,41,gp_Pnt(36.8607,57.4567,-5.443)); Poles.SetValue(37,42,gp_Pnt(36.9222,63.2529,-5.029)); Poles.SetValue(37,43,gp_Pnt(37.0259,71.0129,-4.53609)); Poles.SetValue(37,44,gp_Pnt(37.1745,84.5734,-3.68955)); Poles.SetValue(37,45,gp_Pnt(37.2692,103.772,-2.50735)); Poles.SetValue(37,46,gp_Pnt(37.3831,126.887,-1.20321)); Poles.SetValue(37,47,gp_Pnt(37.4633,142.303,-0.401612)); Poles.SetValue(37,48,gp_Pnt(37.4942,150.002,0.00165959)); Poles.SetValue(38,1,gp_Pnt(41.3427,-150.002,0.000910129)); Poles.SetValue(38,2,gp_Pnt(41.3172,-142.269,-0.250994)); Poles.SetValue(38,3,gp_Pnt(41.252,-126.785,-0.743205)); Poles.SetValue(38,4,gp_Pnt(41.1432,-103.556,-1.64006)); Poles.SetValue(38,5,gp_Pnt(41.0572,-84.2638,-2.33977)); Poles.SetValue(38,6,gp_Pnt(40.9025,-70.662,-3.09061)); Poles.SetValue(38,7,gp_Pnt(40.8094,-62.8944,-3.52967)); Poles.SetValue(38,8,gp_Pnt(40.7531,-57.091,-3.91119)); Poles.SetValue(38,9,gp_Pnt(40.7096,-51.3094,-4.15327)); Poles.SetValue(38,10,gp_Pnt(40.7225,-46.5336,-4.39732)); Poles.SetValue(38,11,gp_Pnt(40.8349,-42.8149,-5.35507)); Poles.SetValue(38,12,gp_Pnt(40.9198,-40.01,-6.07186)); Poles.SetValue(38,13,gp_Pnt(41.039,-37.2275,-6.89946)); Poles.SetValue(38,14,gp_Pnt(41.1807,-34.446,-7.76251)); Poles.SetValue(38,15,gp_Pnt(41.3421,-32.1529,-8.6033)); Poles.SetValue(38,16,gp_Pnt(41.4528,-30.2866,-9.22754)); Poles.SetValue(38,17,gp_Pnt(41.6048,-27.4727,-10.1338)); Poles.SetValue(38,18,gp_Pnt(41.7346,-24.1213,-11.015)); Poles.SetValue(38,19,gp_Pnt(41.93,-20.3071,-12.0361)); Poles.SetValue(38,20,gp_Pnt(42.1256,-16.4709,-12.9787)); Poles.SetValue(38,21,gp_Pnt(42.3664,-12.6243,-13.8833)); Poles.SetValue(38,22,gp_Pnt(42.5253,-8.71352,-14.5112)); Poles.SetValue(38,23,gp_Pnt(42.6203,-5.76323,-14.8691)); Poles.SetValue(38,24,gp_Pnt(42.6798,-1.79912,-15.1424)); Poles.SetValue(38,25,gp_Pnt(42.6737,2.17503,-15.1747)); Poles.SetValue(38,26,gp_Pnt(42.5953,6.13666,-14.9438)); Poles.SetValue(38,27,gp_Pnt(42.5039,9.08523,-14.6485)); Poles.SetValue(38,28,gp_Pnt(42.3376,12.9911,-14.0849)); Poles.SetValue(38,29,gp_Pnt(42.1163,16.8397,-13.292)); Poles.SetValue(38,30,gp_Pnt(41.8966,20.6667,-12.3969)); Poles.SetValue(38,31,gp_Pnt(41.7151,24.4907,-11.5063)); Poles.SetValue(38,32,gp_Pnt(41.5833,27.8377,-10.6892)); Poles.SetValue(38,33,gp_Pnt(41.412,30.6412,-9.8422)); Poles.SetValue(38,34,gp_Pnt(41.2857,32.4975,-9.24392)); Poles.SetValue(38,35,gp_Pnt(41.1281,34.7988,-8.48532)); Poles.SetValue(38,36,gp_Pnt(40.9982,37.5923,-7.7491)); Poles.SetValue(38,37,gp_Pnt(40.9022,40.4018,-7.05478)); Poles.SetValue(38,38,gp_Pnt(40.8045,43.2027,-6.38438)); Poles.SetValue(38,39,gp_Pnt(40.6947,46.9351,-5.51775)); Poles.SetValue(38,40,gp_Pnt(40.6936,51.7133,-5.40542)); Poles.SetValue(38,41,gp_Pnt(40.7465,57.4932,-5.2213)); Poles.SetValue(38,42,gp_Pnt(40.7949,63.2798,-4.80832)); Poles.SetValue(38,43,gp_Pnt(40.8787,71.0181,-4.35466)); Poles.SetValue(38,44,gp_Pnt(41.0184,84.563,-3.55086)); Poles.SetValue(38,45,gp_Pnt(41.1158,103.778,-2.42645)); Poles.SetValue(38,46,gp_Pnt(41.2295,126.889,-1.17679)); Poles.SetValue(38,47,gp_Pnt(41.308,142.302,-0.393553)); Poles.SetValue(38,48,gp_Pnt(41.3397,150.001,-0.000267641)); Poles.SetValue(39,1,gp_Pnt(46.1496,-150.001,0.00111063)); Poles.SetValue(39,2,gp_Pnt(46.1222,-142.268,-0.24987)); Poles.SetValue(39,3,gp_Pnt(46.0591,-126.79,-0.697635)); Poles.SetValue(39,4,gp_Pnt(45.9503,-103.571,-1.56599)); Poles.SetValue(39,5,gp_Pnt(45.856,-84.2638,-2.23446)); Poles.SetValue(39,6,gp_Pnt(45.7158,-70.683,-2.88403)); Poles.SetValue(39,7,gp_Pnt(45.6442,-62.9379,-3.34584)); Poles.SetValue(39,8,gp_Pnt(45.5919,-57.1341,-3.69072)); Poles.SetValue(39,9,gp_Pnt(45.5333,-51.33,-4.08565)); Poles.SetValue(39,10,gp_Pnt(45.4961,-46.5017,-4.13549)); Poles.SetValue(39,11,gp_Pnt(45.5149,-42.6839,-4.33983)); Poles.SetValue(39,12,gp_Pnt(45.5827,-39.8663,-4.80837)); Poles.SetValue(39,13,gp_Pnt(45.6781,-37.0642,-5.3692)); Poles.SetValue(39,14,gp_Pnt(45.8102,-34.2784,-6.16223)); Poles.SetValue(39,15,gp_Pnt(45.8709,-31.9134,-6.65192)); Poles.SetValue(39,16,gp_Pnt(45.9562,-30.039,-7.1593)); Poles.SetValue(39,17,gp_Pnt(46.0717,-27.2191,-7.89044)); Poles.SetValue(39,18,gp_Pnt(46.2519,-23.9199,-8.84437)); Poles.SetValue(39,19,gp_Pnt(46.4143,-20.1034,-9.76693)); Poles.SetValue(39,20,gp_Pnt(46.5429,-16.2588,-10.5643)); Poles.SetValue(39,21,gp_Pnt(46.6217,-12.3944,-11.1733)); Poles.SetValue(39,22,gp_Pnt(46.681,-8.52657,-11.622)); Poles.SetValue(39,23,gp_Pnt(46.7153,-5.61927,-11.8682)); Poles.SetValue(39,24,gp_Pnt(46.7497,-1.73975,-12.0911)); Poles.SetValue(39,25,gp_Pnt(46.7278,2.15162,-12.0955)); Poles.SetValue(39,26,gp_Pnt(46.7066,6.03283,-11.9712)); Poles.SetValue(39,27,gp_Pnt(46.6796,8.93942,-11.7865)); Poles.SetValue(39,28,gp_Pnt(46.6257,12.8059,-11.425)); Poles.SetValue(39,29,gp_Pnt(46.5243,16.6605,-10.8643)); Poles.SetValue(39,30,gp_Pnt(46.3615,20.4856,-10.0971)); Poles.SetValue(39,31,gp_Pnt(46.2089,24.304,-9.28958)); Poles.SetValue(39,32,gp_Pnt(46.0224,27.5938,-8.42989)); Poles.SetValue(39,33,gp_Pnt(45.9077,30.415,-7.785)); Poles.SetValue(39,34,gp_Pnt(45.8414,32.3032,-7.38582)); Poles.SetValue(39,35,gp_Pnt(45.7555,34.647,-6.87832)); Poles.SetValue(39,36,gp_Pnt(45.6756,37.4791,-6.33131)); Poles.SetValue(39,37,gp_Pnt(45.5588,40.2637,-5.71115)); Poles.SetValue(39,38,gp_Pnt(45.4983,43.0898,-5.31195)); Poles.SetValue(39,39,gp_Pnt(45.4876,46.9076,-5.26074)); Poles.SetValue(39,40,gp_Pnt(45.5315,51.7279,-5.25925)); Poles.SetValue(39,41,gp_Pnt(45.5802,57.5155,-4.81316)); Poles.SetValue(39,42,gp_Pnt(45.6332,63.3069,-4.55574)); Poles.SetValue(39,43,gp_Pnt(45.6962,71.0259,-4.09811)); Poles.SetValue(39,44,gp_Pnt(45.8254,84.5537,-3.37827)); Poles.SetValue(39,45,gp_Pnt(45.9243,103.783,-2.3236)); Poles.SetValue(39,46,gp_Pnt(46.0379,126.89,-1.12458)); Poles.SetValue(39,47,gp_Pnt(46.1137,142.301,-0.395727)); Poles.SetValue(39,48,gp_Pnt(46.1465,150.001,0.000996613)); Poles.SetValue(40,1,gp_Pnt(51.9175,-150,-0.000207971)); Poles.SetValue(40,2,gp_Pnt(51.8891,-142.268,-0.241315)); Poles.SetValue(40,3,gp_Pnt(51.8282,-126.796,-0.673804)); Poles.SetValue(40,4,gp_Pnt(51.7199,-103.588,-1.45857)); Poles.SetValue(40,5,gp_Pnt(51.6194,-84.2705,-2.10744)); Poles.SetValue(40,6,gp_Pnt(51.5011,-70.7153,-2.68959)); Poles.SetValue(40,7,gp_Pnt(51.438,-62.979,-3.06884)); Poles.SetValue(40,8,gp_Pnt(51.3917,-57.1815,-3.4528)); Poles.SetValue(40,9,gp_Pnt(51.333,-51.3737,-3.73088)); Poles.SetValue(40,10,gp_Pnt(51.2926,-46.5422,-4.00316)); Poles.SetValue(40,11,gp_Pnt(51.2652,-42.6804,-4.15327)); Poles.SetValue(40,12,gp_Pnt(51.2481,-39.786,-4.14827)); Poles.SetValue(40,13,gp_Pnt(51.2355,-36.9009,-4.17909)); Poles.SetValue(40,14,gp_Pnt(51.269,-34.0518,-4.48805)); Poles.SetValue(40,15,gp_Pnt(51.2999,-31.6825,-4.8317)); Poles.SetValue(40,16,gp_Pnt(51.3423,-29.7917,-5.18954)); Poles.SetValue(40,17,gp_Pnt(51.4157,-26.9599,-5.75758)); Poles.SetValue(40,18,gp_Pnt(51.4915,-23.638,-6.34409)); Poles.SetValue(40,19,gp_Pnt(51.6134,-19.8436,-7.01661)); Poles.SetValue(40,20,gp_Pnt(51.7563,-16.0473,-7.67254)); Poles.SetValue(40,21,gp_Pnt(51.9147,-12.2466,-8.28467)); Poles.SetValue(40,22,gp_Pnt(52.0172,-8.41953,-8.69997)); Poles.SetValue(40,23,gp_Pnt(52.0633,-5.54232,-8.92052)); Poles.SetValue(40,24,gp_Pnt(52.1076,-1.69853,-9.12971)); Poles.SetValue(40,25,gp_Pnt(52.1149,2.14658,-9.19114)); Poles.SetValue(40,26,gp_Pnt(52.0573,5.98803,-9.04481)); Poles.SetValue(40,27,gp_Pnt(52.0106,8.86368,-8.89058)); Poles.SetValue(40,28,gp_Pnt(51.8867,12.6814,-8.51757)); Poles.SetValue(40,29,gp_Pnt(51.7526,16.4859,-8.05187)); Poles.SetValue(40,30,gp_Pnt(51.6058,20.2741,-7.46264)); Poles.SetValue(40,31,gp_Pnt(51.4828,24.0629,-6.88014)); Poles.SetValue(40,32,gp_Pnt(51.4123,27.3832,-6.35298)); Poles.SetValue(40,33,gp_Pnt(51.3431,30.2167,-5.90237)); Poles.SetValue(40,34,gp_Pnt(51.2972,32.1041,-5.6001)); Poles.SetValue(40,35,gp_Pnt(51.2645,34.472,-5.32012)); Poles.SetValue(40,36,gp_Pnt(51.2449,37.3238,-5.1352)); Poles.SetValue(40,37,gp_Pnt(51.2601,40.2033,-5.10074)); Poles.SetValue(40,38,gp_Pnt(51.2747,43.0862,-5.12741)); Poles.SetValue(40,39,gp_Pnt(51.2989,46.9359,-5.04137)); Poles.SetValue(40,40,gp_Pnt(51.3275,51.7504,-4.70088)); Poles.SetValue(40,41,gp_Pnt(51.3841,57.5438,-4.49279)); Poles.SetValue(40,42,gp_Pnt(51.4284,63.3289,-4.20573)); Poles.SetValue(40,43,gp_Pnt(51.4853,71.0399,-3.80369)); Poles.SetValue(40,44,gp_Pnt(51.5952,84.5486,-3.19745)); Poles.SetValue(40,45,gp_Pnt(51.696,103.788,-2.1844)); Poles.SetValue(40,46,gp_Pnt(51.8075,126.892,-1.07015)); Poles.SetValue(40,47,gp_Pnt(51.8814,142.3,-0.382549)); Poles.SetValue(40,48,gp_Pnt(51.9141,150,0.00156463)); Poles.SetValue(41,1,gp_Pnt(57.6856,-150,-0.00138605)); Poles.SetValue(41,2,gp_Pnt(57.6563,-142.267,-0.207898)); Poles.SetValue(41,3,gp_Pnt(57.5975,-126.803,-0.672181)); Poles.SetValue(41,4,gp_Pnt(57.4914,-103.604,-1.36423)); Poles.SetValue(41,5,gp_Pnt(57.3865,-84.2807,-1.92972)); Poles.SetValue(41,6,gp_Pnt(57.2896,-70.7489,-2.50829)); Poles.SetValue(41,7,gp_Pnt(57.2325,-63.0194,-2.86727)); Poles.SetValue(41,8,gp_Pnt(57.1871,-57.2225,-3.14507)); Poles.SetValue(41,9,gp_Pnt(57.1423,-51.4292,-3.42927)); Poles.SetValue(41,10,gp_Pnt(57.1017,-46.5994,-3.67864)); Poles.SetValue(41,11,gp_Pnt(57.0621,-42.7292,-3.85432)); Poles.SetValue(41,12,gp_Pnt(57.03,-39.8239,-4.01388)); Poles.SetValue(41,13,gp_Pnt(56.9862,-36.9115,-4.15465)); Poles.SetValue(41,14,gp_Pnt(56.9332,-33.9994,-4.17982)); Poles.SetValue(41,15,gp_Pnt(56.8867,-31.5805,-4.17145)); Poles.SetValue(41,16,gp_Pnt(56.8715,-29.6623,-4.20861)); Poles.SetValue(41,17,gp_Pnt(56.8491,-26.7863,-4.25366)); Poles.SetValue(41,18,gp_Pnt(56.889,-23.4691,-4.52661)); Poles.SetValue(41,19,gp_Pnt(56.9549,-19.6804,-4.85027)); Poles.SetValue(41,20,gp_Pnt(57.0475,-15.8997,-5.24921)); Poles.SetValue(41,21,gp_Pnt(57.1486,-12.1132,-5.61949)); Poles.SetValue(41,22,gp_Pnt(57.2089,-8.31776,-5.89532)); Poles.SetValue(41,23,gp_Pnt(57.2368,-5.4661,-6.04286)); Poles.SetValue(41,24,gp_Pnt(57.2712,-1.66308,-6.20009)); Poles.SetValue(41,25,gp_Pnt(57.2835,2.13802,-6.25618)); Poles.SetValue(41,26,gp_Pnt(57.2397,5.93802,-6.16615)); Poles.SetValue(41,27,gp_Pnt(57.2064,8.78585,-6.08208)); Poles.SetValue(41,28,gp_Pnt(57.1543,12.5793,-5.9372)); Poles.SetValue(41,29,gp_Pnt(57.0517,16.3584,-5.62801)); Poles.SetValue(41,30,gp_Pnt(56.9666,20.1329,-5.34449)); Poles.SetValue(41,31,gp_Pnt(56.9077,23.9136,-5.10547)); Poles.SetValue(41,32,gp_Pnt(56.8624,27.2205,-4.90474)); Poles.SetValue(41,33,gp_Pnt(56.894,30.0927,-4.90413)); Poles.SetValue(41,34,gp_Pnt(56.9172,32.0097,-4.91734)); Poles.SetValue(41,35,gp_Pnt(56.9647,34.4197,-4.99635)); Poles.SetValue(41,36,gp_Pnt(57.0094,37.3184,-4.96512)); Poles.SetValue(41,37,gp_Pnt(57.0441,40.2167,-4.87499)); Poles.SetValue(41,38,gp_Pnt(57.074,43.1143,-4.7391)); Poles.SetValue(41,39,gp_Pnt(57.107,46.9716,-4.56627)); Poles.SetValue(41,40,gp_Pnt(57.1445,51.7898,-4.39661)); Poles.SetValue(41,41,gp_Pnt(57.1814,57.5667,-4.1162)); Poles.SetValue(41,42,gp_Pnt(57.2214,63.3465,-3.84863)); Poles.SetValue(41,43,gp_Pnt(57.2769,71.057,-3.56972)); Poles.SetValue(41,44,gp_Pnt(57.3669,84.5447,-2.9687)); Poles.SetValue(41,45,gp_Pnt(57.468,103.793,-2.06019)); Poles.SetValue(41,46,gp_Pnt(57.5787,126.894,-1.02905)); Poles.SetValue(41,47,gp_Pnt(57.6483,142.299,-0.34422)); Poles.SetValue(41,48,gp_Pnt(57.682,150,-0.00209716)); Poles.SetValue(42,1,gp_Pnt(63.4538,-150,0.0025406)); Poles.SetValue(42,2,gp_Pnt(63.4247,-142.269,-0.215374)); Poles.SetValue(42,3,gp_Pnt(63.3664,-126.808,-0.616228)); Poles.SetValue(42,4,gp_Pnt(63.2638,-103.618,-1.25801)); Poles.SetValue(42,5,gp_Pnt(63.16,-84.297,-1.79523)); Poles.SetValue(42,6,gp_Pnt(63.0783,-70.7815,-2.3401)); Poles.SetValue(42,7,gp_Pnt(63.027,-63.0578,-2.63615)); Poles.SetValue(42,8,gp_Pnt(62.9884,-57.2671,-2.89533)); Poles.SetValue(42,9,gp_Pnt(62.9474,-51.4766,-3.14791)); Poles.SetValue(42,10,gp_Pnt(62.9083,-46.6481,-3.34003)); Poles.SetValue(42,11,gp_Pnt(62.8727,-42.7819,-3.50126)); Poles.SetValue(42,12,gp_Pnt(62.844,-39.8816,-3.60833)); Poles.SetValue(42,13,gp_Pnt(62.8104,-36.9784,-3.72009)); Poles.SetValue(42,14,gp_Pnt(62.778,-34.08,-3.87178)); Poles.SetValue(42,15,gp_Pnt(62.7431,-31.6622,-3.99896)); Poles.SetValue(42,16,gp_Pnt(62.716,-29.7336,-4.07291)); Poles.SetValue(42,17,gp_Pnt(62.6769,-26.8425,-4.18869)); Poles.SetValue(42,18,gp_Pnt(62.6426,-23.4886,-4.19616)); Poles.SetValue(42,19,gp_Pnt(62.6334,-19.6721,-4.26579)); Poles.SetValue(42,20,gp_Pnt(62.6295,-15.8635,-4.27213)); Poles.SetValue(42,21,gp_Pnt(62.646,-12.069,-4.36676)); Poles.SetValue(42,22,gp_Pnt(62.6617,-8.28186,-4.45874)); Poles.SetValue(42,23,gp_Pnt(62.6691,-5.44261,-4.50132)); Poles.SetValue(42,24,gp_Pnt(62.6758,-1.65987,-4.58196)); Poles.SetValue(42,25,gp_Pnt(62.6653,2.12054,-4.61217)); Poles.SetValue(42,26,gp_Pnt(62.6597,5.90097,-4.63357)); Poles.SetValue(42,27,gp_Pnt(62.6549,8.73683,-4.65964)); Poles.SetValue(42,28,gp_Pnt(62.6418,12.5178,-4.65205)); Poles.SetValue(42,29,gp_Pnt(62.6327,16.3026,-4.65055)); Poles.SetValue(42,30,gp_Pnt(62.6435,20.0986,-4.70703)); Poles.SetValue(42,31,gp_Pnt(62.662,23.9034,-4.72568)); Poles.SetValue(42,32,gp_Pnt(62.7054,27.2507,-4.79821)); Poles.SetValue(42,33,gp_Pnt(62.7415,30.1344,-4.72137)); Poles.SetValue(42,34,gp_Pnt(62.7653,32.0573,-4.65936)); Poles.SetValue(42,35,gp_Pnt(62.7973,34.4696,-4.55886)); Poles.SetValue(42,36,gp_Pnt(62.8292,37.3615,-4.47524)); Poles.SetValue(42,37,gp_Pnt(62.8611,40.2567,-4.4017)); Poles.SetValue(42,38,gp_Pnt(62.885,43.1468,-4.31334)); Poles.SetValue(42,39,gp_Pnt(62.9162,47.0013,-4.18874)); Poles.SetValue(42,40,gp_Pnt(62.9483,51.8154,-4.00002)); Poles.SetValue(42,41,gp_Pnt(62.9852,57.5918,-3.80305)); Poles.SetValue(42,42,gp_Pnt(63.0192,63.3675,-3.57283)); Poles.SetValue(42,43,gp_Pnt(63.0676,71.0714,-3.31891)); Poles.SetValue(42,44,gp_Pnt(63.1421,84.547,-2.75086)); Poles.SetValue(42,45,gp_Pnt(63.2424,103.797,-1.92907)); Poles.SetValue(42,46,gp_Pnt(63.3482,126.895,-0.959019)); Poles.SetValue(42,47,gp_Pnt(63.4166,142.297,-0.27787)); Poles.SetValue(42,48,gp_Pnt(63.4498,150,0.00445876)); Poles.SetValue(43,1,gp_Pnt(71.145,-150,-0.000857612)); Poles.SetValue(43,2,gp_Pnt(71.1162,-142.27,-0.152808)); Poles.SetValue(43,3,gp_Pnt(71.0596,-126.815,-0.587576)); Poles.SetValue(43,4,gp_Pnt(70.9617,-103.636,-1.09496)); Poles.SetValue(43,5,gp_Pnt(70.8648,-84.3248,-1.63803)); Poles.SetValue(43,6,gp_Pnt(70.796,-70.8215,-2.12446)); Poles.SetValue(43,7,gp_Pnt(70.7543,-63.1072,-2.37388)); Poles.SetValue(43,8,gp_Pnt(70.7215,-57.3211,-2.55159)); Poles.SetValue(43,9,gp_Pnt(70.6876,-51.5353,-2.75534)); Poles.SetValue(43,10,gp_Pnt(70.6596,-46.716,-2.93875)); Poles.SetValue(43,11,gp_Pnt(70.638,-42.8622,-3.09314)); Poles.SetValue(43,12,gp_Pnt(70.6204,-39.9716,-3.17812)); Poles.SetValue(43,13,gp_Pnt(70.6043,-37.0819,-3.28977)); Poles.SetValue(43,14,gp_Pnt(70.5873,-34.1932,-3.36653)); Poles.SetValue(43,15,gp_Pnt(70.5748,-31.7872,-3.44513)); Poles.SetValue(43,16,gp_Pnt(70.5669,-29.8663,-3.51303)); Poles.SetValue(43,17,gp_Pnt(70.5542,-26.9849,-3.60722)); Poles.SetValue(43,18,gp_Pnt(70.5428,-23.6313,-3.75743)); Poles.SetValue(43,19,gp_Pnt(70.5216,-19.7991,-3.8651)); Poles.SetValue(43,20,gp_Pnt(70.5074,-15.9743,-4.01435)); Poles.SetValue(43,21,gp_Pnt(70.4895,-12.1568,-4.07719)); Poles.SetValue(43,22,gp_Pnt(70.4779,-8.34932,-4.14211)); Poles.SetValue(43,23,gp_Pnt(70.4743,-5.49851,-4.2144)); Poles.SetValue(43,24,gp_Pnt(70.4711,-1.70019,-4.26983)); Poles.SetValue(43,25,gp_Pnt(70.4772,2.09575,-4.33461)); Poles.SetValue(43,26,gp_Pnt(70.4818,5.8932,-4.36337)); Poles.SetValue(43,27,gp_Pnt(70.4863,8.74296,-4.35931)); Poles.SetValue(43,28,gp_Pnt(70.4965,12.5464,-4.34509)); Poles.SetValue(43,29,gp_Pnt(70.5111,16.3559,-4.34157)); Poles.SetValue(43,30,gp_Pnt(70.5238,20.1732,-4.25483)); Poles.SetValue(43,31,gp_Pnt(70.5444,23.9982,-4.20505)); Poles.SetValue(43,32,gp_Pnt(70.5565,27.3468,-4.1081)); Poles.SetValue(43,33,gp_Pnt(70.5753,30.2247,-4.08653)); Poles.SetValue(43,34,gp_Pnt(70.5877,32.1436,-4.07523)); Poles.SetValue(43,35,gp_Pnt(70.6023,34.545,-4.05073)); Poles.SetValue(43,36,gp_Pnt(70.6195,37.4276,-3.98741)); Poles.SetValue(43,37,gp_Pnt(70.6334,40.3106,-3.90872)); Poles.SetValue(43,38,gp_Pnt(70.6494,43.1951,-3.83)); Poles.SetValue(43,39,gp_Pnt(70.6689,47.0414,-3.71793)); Poles.SetValue(43,40,gp_Pnt(70.6945,51.851,-3.59864)); Poles.SetValue(43,41,gp_Pnt(70.7214,57.6214,-3.39071)); Poles.SetValue(43,42,gp_Pnt(70.7489,63.3924,-3.20505)); Poles.SetValue(43,43,gp_Pnt(70.7842,71.0857,-2.88826)); Poles.SetValue(43,44,gp_Pnt(70.8464,84.5547,-2.43588)); Poles.SetValue(43,45,gp_Pnt(70.9463,103.804,-1.8405)); Poles.SetValue(43,46,gp_Pnt(71.0396,126.896,-0.842595)); Poles.SetValue(43,47,gp_Pnt(71.1097,142.298,-0.284851)); Poles.SetValue(43,48,gp_Pnt(71.1403,150,0.000935964)); Poles.SetValue(44,1,gp_Pnt(84.6054,-150,-0.00110981)); Poles.SetValue(44,2,gp_Pnt(84.578,-142.276,-0.19879)); Poles.SetValue(44,3,gp_Pnt(84.5262,-126.827,-0.428048)); Poles.SetValue(44,4,gp_Pnt(84.4365,-103.667,-0.830318)); Poles.SetValue(44,5,gp_Pnt(84.36,-84.3785,-1.33467)); Poles.SetValue(44,6,gp_Pnt(84.3031,-70.89,-1.70138)); Poles.SetValue(44,7,gp_Pnt(84.275,-63.1861,-1.89652)); Poles.SetValue(44,8,gp_Pnt(84.2584,-57.4138,-2.07504)); Poles.SetValue(44,9,gp_Pnt(84.248,-51.6477,-2.24438)); Poles.SetValue(44,10,gp_Pnt(84.2459,-46.8473,-2.35057)); Poles.SetValue(44,11,gp_Pnt(84.2519,-43.0105,-2.40101)); Poles.SetValue(44,12,gp_Pnt(84.2621,-40.138,-2.47508)); Poles.SetValue(44,13,gp_Pnt(84.2775,-37.2661,-2.50855)); Poles.SetValue(44,14,gp_Pnt(84.2986,-34.4008,-2.62094)); Poles.SetValue(44,15,gp_Pnt(84.3172,-32.0111,-2.66065)); Poles.SetValue(44,16,gp_Pnt(84.3284,-30.0979,-2.70139)); Poles.SetValue(44,17,gp_Pnt(84.3451,-27.2279,-2.76856)); Poles.SetValue(44,18,gp_Pnt(84.3501,-23.8723,-2.78848)); Poles.SetValue(44,19,gp_Pnt(84.3568,-20.039,-2.88096)); Poles.SetValue(44,20,gp_Pnt(84.3439,-16.1977,-2.86279)); Poles.SetValue(44,21,gp_Pnt(84.3401,-12.3571,-2.99929)); Poles.SetValue(44,22,gp_Pnt(84.3364,-8.51254,-3.10404)); Poles.SetValue(44,23,gp_Pnt(84.3307,-5.62646,-3.13212)); Poles.SetValue(44,24,gp_Pnt(84.3261,-1.77822,-3.18231)); Poles.SetValue(44,25,gp_Pnt(84.3219,2.0692,-3.18879)); Poles.SetValue(44,26,gp_Pnt(84.3241,5.91518,-3.18419)); Poles.SetValue(44,27,gp_Pnt(84.3283,8.7991,-3.19732)); Poles.SetValue(44,28,gp_Pnt(84.3322,12.6435,-3.19362)); Poles.SetValue(44,29,gp_Pnt(84.3367,16.4878,-3.15729)); Poles.SetValue(44,30,gp_Pnt(84.3449,20.3298,-3.212)); Poles.SetValue(44,31,gp_Pnt(84.3382,24.1652,-3.18681)); Poles.SetValue(44,32,gp_Pnt(84.3328,27.5176,-3.24238)); Poles.SetValue(44,33,gp_Pnt(84.3137,30.3832,-3.1762)); Poles.SetValue(44,34,gp_Pnt(84.3012,32.2934,-3.13458)); Poles.SetValue(44,35,gp_Pnt(84.2835,34.6788,-3.05639)); Poles.SetValue(44,36,gp_Pnt(84.2688,37.5436,-3.03341)); Poles.SetValue(44,37,gp_Pnt(84.2567,40.4108,-2.97846)); Poles.SetValue(44,38,gp_Pnt(84.2493,43.2807,-2.94203)); Poles.SetValue(44,39,gp_Pnt(84.2426,47.1105,-2.85403)); Poles.SetValue(44,40,gp_Pnt(84.2423,51.9032,-2.73437)); Poles.SetValue(44,41,gp_Pnt(84.2552,57.6633,-2.65697)); Poles.SetValue(44,42,gp_Pnt(84.2707,63.4255,-2.51041)); Poles.SetValue(44,43,gp_Pnt(84.2947,71.1123,-2.33047)); Poles.SetValue(44,44,gp_Pnt(84.3464,84.5727,-1.97042)); Poles.SetValue(44,45,gp_Pnt(84.4215,103.814,-1.51302)); Poles.SetValue(44,46,gp_Pnt(84.5086,126.896,-0.626681)); Poles.SetValue(44,47,gp_Pnt(84.5693,142.301,-0.243958)); Poles.SetValue(44,48,gp_Pnt(84.5995,150,-0.000554027)); Poles.SetValue(45,1,gp_Pnt(103.838,-149.999,0.000693631)); Poles.SetValue(45,2,gp_Pnt(103.817,-142.283,-0.134708)); Poles.SetValue(45,3,gp_Pnt(103.771,-126.851,-0.393149)); Poles.SetValue(45,4,gp_Pnt(103.704,-103.715,-0.554331)); Poles.SetValue(45,5,gp_Pnt(103.653,-84.4538,-0.85582)); Poles.SetValue(45,6,gp_Pnt(103.619,-70.9776,-1.13828)); Poles.SetValue(45,7,gp_Pnt(103.6,-63.2834,-1.26826)); Poles.SetValue(45,8,gp_Pnt(103.585,-57.5128,-1.32722)); Poles.SetValue(45,9,gp_Pnt(103.569,-51.7417,-1.39145)); Poles.SetValue(45,10,gp_Pnt(103.554,-46.933,-1.47713)); Poles.SetValue(45,11,gp_Pnt(103.538,-43.0832,-1.56351)); Poles.SetValue(45,12,gp_Pnt(103.524,-40.1968,-1.61145)); Poles.SetValue(45,13,gp_Pnt(103.505,-37.3056,-1.67968)); Poles.SetValue(45,14,gp_Pnt(103.487,-34.4181,-1.71097)); Poles.SetValue(45,15,gp_Pnt(103.468,-32.0079,-1.76122)); Poles.SetValue(45,16,gp_Pnt(103.458,-30.085,-1.80205)); Poles.SetValue(45,17,gp_Pnt(103.443,-27.2014,-1.86016)); Poles.SetValue(45,18,gp_Pnt(103.436,-23.8458,-1.96204)); Poles.SetValue(45,19,gp_Pnt(103.426,-20.0087,-2.01108)); Poles.SetValue(45,20,gp_Pnt(103.432,-16.1784,-2.11951)); Poles.SetValue(45,21,gp_Pnt(103.429,-12.3464,-2.09847)); Poles.SetValue(45,22,gp_Pnt(103.426,-8.51499,-2.09843)); Poles.SetValue(45,23,gp_Pnt(103.427,-5.64258,-2.13298)); Poles.SetValue(45,24,gp_Pnt(103.428,-1.81239,-2.15552)); Poles.SetValue(45,25,gp_Pnt(103.429,2.01779,-2.2127)); Poles.SetValue(45,26,gp_Pnt(103.425,5.84787,-2.24947)); Poles.SetValue(45,27,gp_Pnt(103.42,8.7205,-2.23377)); Poles.SetValue(45,28,gp_Pnt(103.419,12.5505,-2.2506)); Poles.SetValue(45,29,gp_Pnt(103.418,16.3787,-2.27936)); Poles.SetValue(45,30,gp_Pnt(103.409,20.2066,-2.15004)); Poles.SetValue(45,31,gp_Pnt(103.421,24.0411,-2.1335)); Poles.SetValue(45,32,gp_Pnt(103.43,27.3967,-2.05519)); Poles.SetValue(45,33,gp_Pnt(103.449,30.2805,-2.04635)); Poles.SetValue(45,34,gp_Pnt(103.463,32.2036,-2.0388)); Poles.SetValue(45,35,gp_Pnt(103.484,34.6131,-2.03358)); Poles.SetValue(45,36,gp_Pnt(103.502,37.4987,-2.0062)); Poles.SetValue(45,37,gp_Pnt(103.523,40.3884,-1.97852)); Poles.SetValue(45,38,gp_Pnt(103.537,43.2734,-1.95553)); Poles.SetValue(45,39,gp_Pnt(103.557,47.1221,-1.93252)); Poles.SetValue(45,40,gp_Pnt(103.574,51.9281,-1.89403)); Poles.SetValue(45,41,gp_Pnt(103.584,57.6907,-1.74768)); Poles.SetValue(45,42,gp_Pnt(103.596,63.4551,-1.66735)); Poles.SetValue(45,43,gp_Pnt(103.612,71.1425,-1.54309)); Poles.SetValue(45,44,gp_Pnt(103.644,84.5989,-1.46411)); Poles.SetValue(45,45,gp_Pnt(103.687,103.818,-0.980467)); Poles.SetValue(45,46,gp_Pnt(103.757,126.905,-0.536908)); Poles.SetValue(45,47,gp_Pnt(103.805,142.3,-0.161313)); Poles.SetValue(45,48,gp_Pnt(103.83,150,-0.000163518)); Poles.SetValue(46,1,gp_Pnt(126.927,-150.004,-0.000100752)); Poles.SetValue(46,2,gp_Pnt(126.912,-142.299,-0.130631)); Poles.SetValue(46,3,gp_Pnt(126.883,-126.887,-0.24799)); Poles.SetValue(46,4,gp_Pnt(126.843,-103.777,-0.260883)); Poles.SetValue(46,5,gp_Pnt(126.816,-84.5309,-0.411687)); Poles.SetValue(46,6,gp_Pnt(126.804,-71.0707,-0.543712)); Poles.SetValue(46,7,gp_Pnt(126.796,-63.376,-0.610079)); Poles.SetValue(46,8,gp_Pnt(126.79,-57.6067,-0.646868)); Poles.SetValue(46,9,gp_Pnt(126.783,-51.839,-0.65842)); Poles.SetValue(46,10,gp_Pnt(126.779,-47.033,-0.68082)); Poles.SetValue(46,11,gp_Pnt(126.778,-43.1892,-0.711667)); Poles.SetValue(46,12,gp_Pnt(126.779,-40.3077,-0.742656)); Poles.SetValue(46,13,gp_Pnt(126.782,-37.4269,-0.771362)); Poles.SetValue(46,14,gp_Pnt(126.785,-34.5477,-0.808585)); Poles.SetValue(46,15,gp_Pnt(126.79,-32.1486,-0.836321)); Poles.SetValue(46,16,gp_Pnt(126.79,-30.2277,-0.847354)); Poles.SetValue(46,17,gp_Pnt(126.791,-27.3461,-0.865188)); Poles.SetValue(46,18,gp_Pnt(126.786,-23.9805,-0.850589)); Poles.SetValue(46,19,gp_Pnt(126.785,-20.137,-0.872177)); Poles.SetValue(46,20,gp_Pnt(126.774,-16.2901,-0.841412)); Poles.SetValue(46,21,gp_Pnt(126.771,-12.4455,-0.888617)); Poles.SetValue(46,22,gp_Pnt(126.77,-8.6011,-0.924689)); Poles.SetValue(46,23,gp_Pnt(126.769,-5.71714,-0.928362)); Poles.SetValue(46,24,gp_Pnt(126.767,-1.87221,-0.950812)); Poles.SetValue(46,25,gp_Pnt(126.766,1.97273,-0.93774)); Poles.SetValue(46,26,gp_Pnt(126.768,5.81772,-0.926189)); Poles.SetValue(46,27,gp_Pnt(126.773,8.70129,-0.947427)); Poles.SetValue(46,28,gp_Pnt(126.775,12.5459,-0.942477)); Poles.SetValue(46,29,gp_Pnt(126.78,16.3917,-0.92351)); Poles.SetValue(46,30,gp_Pnt(126.795,20.2388,-1.01431)); Poles.SetValue(46,31,gp_Pnt(126.796,24.0826,-1.01183)); Poles.SetValue(46,32,gp_Pnt(126.802,27.4469,-1.0509)); Poles.SetValue(46,33,gp_Pnt(126.799,30.3276,-1.04049)); Poles.SetValue(46,34,gp_Pnt(126.797,32.2478,-1.03441)); Poles.SetValue(46,35,gp_Pnt(126.793,34.647,-1.02114)); Poles.SetValue(46,36,gp_Pnt(126.79,37.5265,-1.01193)); Poles.SetValue(46,37,gp_Pnt(126.787,40.4072,-0.994831)); Poles.SetValue(46,38,gp_Pnt(126.786,43.2878,-0.961342)); Poles.SetValue(46,39,gp_Pnt(126.783,47.1296,-0.902547)); Poles.SetValue(46,40,gp_Pnt(126.782,51.9326,-0.817673)); Poles.SetValue(46,41,gp_Pnt(126.787,57.6992,-0.788109)); Poles.SetValue(46,42,gp_Pnt(126.789,63.4643,-0.707706)); Poles.SetValue(46,43,gp_Pnt(126.797,71.1523,-0.758598)); Poles.SetValue(46,44,gp_Pnt(126.808,84.6041,-0.552723)); Poles.SetValue(46,45,gp_Pnt(126.827,103.836,-0.468498)); Poles.SetValue(46,46,gp_Pnt(126.872,126.912,-0.205591)); Poles.SetValue(46,47,gp_Pnt(126.901,142.306,-0.0896176)); Poles.SetValue(46,48,gp_Pnt(126.919,150,-0.00186706)); Poles.SetValue(47,1,gp_Pnt(142.331,-150.022,-0.0011824)); Poles.SetValue(47,2,gp_Pnt(142.32,-142.319,-0.0845723)); Poles.SetValue(47,3,gp_Pnt(142.296,-126.912,-0.0348247)); Poles.SetValue(47,4,gp_Pnt(142.281,-103.817,-0.216625)); Poles.SetValue(47,5,gp_Pnt(142.273,-84.5809,-0.194036)); Poles.SetValue(47,6,gp_Pnt(142.264,-71.117,-0.0962207)); Poles.SetValue(47,7,gp_Pnt(142.262,-63.4269,-0.109676)); Poles.SetValue(47,8,gp_Pnt(142.261,-57.6591,-0.134362)); Poles.SetValue(47,9,gp_Pnt(142.261,-51.8912,-0.17447)); Poles.SetValue(47,10,gp_Pnt(142.261,-47.0855,-0.198201)); Poles.SetValue(47,11,gp_Pnt(142.261,-43.2412,-0.213413)); Poles.SetValue(47,12,gp_Pnt(142.261,-40.3577,-0.219481)); Poles.SetValue(47,13,gp_Pnt(142.261,-37.474,-0.231785)); Poles.SetValue(47,14,gp_Pnt(142.261,-34.5899,-0.238239)); Poles.SetValue(47,15,gp_Pnt(142.261,-32.1863,-0.245761)); Poles.SetValue(47,16,gp_Pnt(142.261,-30.264,-0.25701)); Poles.SetValue(47,17,gp_Pnt(142.262,-27.3805,-0.273362)); Poles.SetValue(47,18,gp_Pnt(142.265,-24.0175,-0.308423)); Poles.SetValue(47,19,gp_Pnt(142.266,-20.1723,-0.320574)); Poles.SetValue(47,20,gp_Pnt(142.269,-16.3277,-0.347549)); Poles.SetValue(47,21,gp_Pnt(142.268,-12.4815,-0.333554)); Poles.SetValue(47,22,gp_Pnt(142.267,-8.63539,-0.333702)); Poles.SetValue(47,23,gp_Pnt(142.267,-5.75114,-0.350197)); Poles.SetValue(47,24,gp_Pnt(142.267,-1.9053,-0.361855)); Poles.SetValue(47,25,gp_Pnt(142.269,1.94054,-0.382183)); Poles.SetValue(47,26,gp_Pnt(142.27,5.78645,-0.393577)); Poles.SetValue(47,27,gp_Pnt(142.27,8.67102,-0.385519)); Poles.SetValue(47,28,gp_Pnt(142.271,12.5173,-0.39336)); Poles.SetValue(47,29,gp_Pnt(142.272,16.3631,-0.412844)); Poles.SetValue(47,30,gp_Pnt(142.268,20.2079,-0.378051)); Poles.SetValue(47,31,gp_Pnt(142.268,24.0533,-0.383864)); Poles.SetValue(47,32,gp_Pnt(142.265,27.4171,-0.365288)); Poles.SetValue(47,33,gp_Pnt(142.265,30.301,-0.36621)); Poles.SetValue(47,34,gp_Pnt(142.265,32.2237,-0.366061)); Poles.SetValue(47,35,gp_Pnt(142.266,34.6274,-0.366875)); Poles.SetValue(47,36,gp_Pnt(142.265,37.5114,-0.360017)); Poles.SetValue(47,37,gp_Pnt(142.265,40.395,-0.352827)); Poles.SetValue(47,38,gp_Pnt(142.264,43.2786,-0.337981)); Poles.SetValue(47,39,gp_Pnt(142.264,47.1233,-0.322015)); Poles.SetValue(47,40,gp_Pnt(142.263,51.9292,-0.307379)); Poles.SetValue(47,41,gp_Pnt(142.263,57.6957,-0.274754)); Poles.SetValue(47,42,gp_Pnt(142.265,63.4634,-0.312079)); Poles.SetValue(47,43,gp_Pnt(142.267,71.1535,-0.274627)); Poles.SetValue(47,44,gp_Pnt(142.268,84.6121,-0.229297)); Poles.SetValue(47,45,gp_Pnt(142.275,103.837,-0.124819)); Poles.SetValue(47,46,gp_Pnt(142.29,126.918,-0.114093)); Poles.SetValue(47,47,gp_Pnt(142.315,142.308,0.0555229)); Poles.SetValue(47,48,gp_Pnt(142.328,150.004,0.00172523)); Poles.SetValue(48,1,gp_Pnt(150.034,-150.032,0.000374255)); Poles.SetValue(48,2,gp_Pnt(150.024,-142.329,-0.0018713)); Poles.SetValue(48,3,gp_Pnt(150.004,-126.925,0.00327151)); Poles.SetValue(48,4,gp_Pnt(149.999,-103.837,-0.00371772)); Poles.SetValue(48,5,gp_Pnt(150,-84.6045,0.00227291)); Poles.SetValue(48,6,gp_Pnt(150,-71.1444,-0.00370124)); Poles.SetValue(48,7,gp_Pnt(150,-63.4533,0.00501253)); Poles.SetValue(48,8,gp_Pnt(150,-57.6854,-0.0023337)); Poles.SetValue(48,9,gp_Pnt(150,-51.9177,-0.00081928)); Poles.SetValue(48,10,gp_Pnt(150.001,-47.1109,-0.000992593)); Poles.SetValue(48,11,gp_Pnt(150.001,-43.2652,0.000772656)); Poles.SetValue(48,12,gp_Pnt(150.001,-40.381,-3.16637e-006)); Poles.SetValue(48,13,gp_Pnt(150.001,-37.4966,0.00148961)); Poles.SetValue(48,14,gp_Pnt(150.001,-34.6123,0.00149543)); Poles.SetValue(48,15,gp_Pnt(150.001,-32.2086,-0.000131478)); Poles.SetValue(48,16,gp_Pnt(150.001,-30.2856,-0.000312929)); Poles.SetValue(48,17,gp_Pnt(150.001,-27.4012,-0.00119273)); Poles.SetValue(48,18,gp_Pnt(150.002,-24.036,0.000913256)); Poles.SetValue(48,19,gp_Pnt(150.002,-20.19,-0.000202949)); Poles.SetValue(48,20,gp_Pnt(150.003,-16.3441,0.0036406)); Poles.SetValue(48,21,gp_Pnt(150.003,-12.4982,0.0019362)); Poles.SetValue(48,22,gp_Pnt(150.004,-8.65203,0.000622563)); Poles.SetValue(48,23,gp_Pnt(150.005,-5.7673,0.00229496)); Poles.SetValue(48,24,gp_Pnt(150.005,-1.92098,-7.68902e-005)); Poles.SetValue(48,25,gp_Pnt(150.005,1.92543,0.000370792)); Poles.SetValue(48,26,gp_Pnt(150.005,5.77187,0.00239266)); Poles.SetValue(48,27,gp_Pnt(150.004,8.65667,0.000574651)); Poles.SetValue(48,28,gp_Pnt(150.004,12.503,0.00222324)); Poles.SetValue(48,29,gp_Pnt(150.003,16.3492,0.00598073)); Poles.SetValue(48,30,gp_Pnt(150.002,20.1954,0.000135085)); Poles.SetValue(48,31,gp_Pnt(150.002,24.0417,0.00238843)); Poles.SetValue(48,32,gp_Pnt(150.002,27.4072,-0.000189144)); Poles.SetValue(48,33,gp_Pnt(150.001,30.2919,0.000229755)); Poles.SetValue(48,34,gp_Pnt(150.001,32.2151,0.000156563)); Poles.SetValue(48,35,gp_Pnt(150.001,34.6191,-0.00112558)); Poles.SetValue(48,36,gp_Pnt(150.001,37.5038,-0.000249663)); Poles.SetValue(48,37,gp_Pnt(150.001,40.3885,0.000316503)); Poles.SetValue(48,38,gp_Pnt(150.001,43.273,-0.00132504)); Poles.SetValue(48,39,gp_Pnt(150.001,47.119,-0.00179323)); Poles.SetValue(48,40,gp_Pnt(150,51.9261,0.00186415)); Poles.SetValue(48,41,gp_Pnt(150,57.6944,0.000887863)); Poles.SetValue(48,42,gp_Pnt(150,63.4625,-0.00455467)); Poles.SetValue(48,43,gp_Pnt(150,71.1535,0.00329757)); Poles.SetValue(48,44,gp_Pnt(150,84.613,-0.00125356)); Poles.SetValue(48,45,gp_Pnt(150,103.842,0.000250841)); Poles.SetValue(48,46,gp_Pnt(150,126.921,-0.00110007)); Poles.SetValue(48,47,gp_Pnt(150.022,142.311,0.00127182)); Poles.SetValue(48,48,gp_Pnt(150.034,150.006,9.4637e-005)); TColStd_Array1OfReal UKnots(1,46); UKnots.SetValue(1,0); UKnots.SetValue(2,0.0769231); UKnots.SetValue(3,0.153846); UKnots.SetValue(4,0.230769); UKnots.SetValue(5,0.269231); UKnots.SetValue(6,0.288462); UKnots.SetValue(7,0.307692); UKnots.SetValue(8,0.326923); UKnots.SetValue(9,0.346154); UKnots.SetValue(10,0.365385); UKnots.SetValue(11,0.375); UKnots.SetValue(12,0.384615); UKnots.SetValue(13,0.394231); UKnots.SetValue(14,0.403846); UKnots.SetValue(15,0.413462); UKnots.SetValue(16,0.423077); UKnots.SetValue(17,0.432692); UKnots.SetValue(18,0.442308); UKnots.SetValue(19,0.461538); UKnots.SetValue(20,0.480769); UKnots.SetValue(21,0.485577); UKnots.SetValue(22,0.490385); UKnots.SetValue(23,0.495192); UKnots.SetValue(24,0.504808); UKnots.SetValue(25,0.509615); UKnots.SetValue(26,0.514423); UKnots.SetValue(27,0.519231); UKnots.SetValue(28,0.538462); UKnots.SetValue(29,0.557692); UKnots.SetValue(30,0.567308); UKnots.SetValue(31,0.576923); UKnots.SetValue(32,0.586538); UKnots.SetValue(33,0.596154); UKnots.SetValue(34,0.605769); UKnots.SetValue(35,0.615385); UKnots.SetValue(36,0.625); UKnots.SetValue(37,0.634615); UKnots.SetValue(38,0.653846); UKnots.SetValue(39,0.673077); UKnots.SetValue(40,0.692308); UKnots.SetValue(41,0.711538); UKnots.SetValue(42,0.730769); UKnots.SetValue(43,0.769231); UKnots.SetValue(44,0.846154); UKnots.SetValue(45,0.923077); UKnots.SetValue(46,1); TColStd_Array1OfReal VKnots(1,46); VKnots.SetValue(1,0); VKnots.SetValue(2,0.0769231); VKnots.SetValue(3,0.153846); VKnots.SetValue(4,0.230769); VKnots.SetValue(5,0.269231); VKnots.SetValue(6,0.288462); VKnots.SetValue(7,0.307692); VKnots.SetValue(8,0.326923); VKnots.SetValue(9,0.346154); VKnots.SetValue(10,0.355769); VKnots.SetValue(11,0.365385); VKnots.SetValue(12,0.375); VKnots.SetValue(13,0.384615); VKnots.SetValue(14,0.394231); VKnots.SetValue(15,0.399038); VKnots.SetValue(16,0.403846); VKnots.SetValue(17,0.423077); VKnots.SetValue(18,0.432692); VKnots.SetValue(19,0.442308); VKnots.SetValue(20,0.461538); VKnots.SetValue(21,0.471154); VKnots.SetValue(22,0.480769); VKnots.SetValue(23,0.490385); VKnots.SetValue(24,0.509615); VKnots.SetValue(25,0.519231); VKnots.SetValue(26,0.528846); VKnots.SetValue(27,0.538462); VKnots.SetValue(28,0.557692); VKnots.SetValue(29,0.567308); VKnots.SetValue(30,0.576923); VKnots.SetValue(31,0.596154); VKnots.SetValue(32,0.600962); VKnots.SetValue(33,0.605769); VKnots.SetValue(34,0.615385); VKnots.SetValue(35,0.625); VKnots.SetValue(36,0.634615); VKnots.SetValue(37,0.644231); VKnots.SetValue(38,0.653846); VKnots.SetValue(39,0.673077); VKnots.SetValue(40,0.692308); VKnots.SetValue(41,0.711538); VKnots.SetValue(42,0.730769); VKnots.SetValue(43,0.769231); VKnots.SetValue(44,0.846154); VKnots.SetValue(45,0.923077); VKnots.SetValue(46,1); TColStd_Array1OfInteger UMults(1,46); UMults.SetValue(1,4); UMults.SetValue(2,1); UMults.SetValue(3,1); UMults.SetValue(4,1); UMults.SetValue(5,1); UMults.SetValue(6,1); UMults.SetValue(7,1); UMults.SetValue(8,1); UMults.SetValue(9,1); UMults.SetValue(10,1); UMults.SetValue(11,1); UMults.SetValue(12,1); UMults.SetValue(13,1); UMults.SetValue(14,1); UMults.SetValue(15,1); UMults.SetValue(16,1); UMults.SetValue(17,1); UMults.SetValue(18,1); UMults.SetValue(19,1); UMults.SetValue(20,1); UMults.SetValue(21,1); UMults.SetValue(22,1); UMults.SetValue(23,1); UMults.SetValue(24,1); UMults.SetValue(25,1); UMults.SetValue(26,1); UMults.SetValue(27,1); UMults.SetValue(28,1); UMults.SetValue(29,1); UMults.SetValue(30,1); UMults.SetValue(31,1); UMults.SetValue(32,1); UMults.SetValue(33,1); UMults.SetValue(34,1); UMults.SetValue(35,1); UMults.SetValue(36,1); UMults.SetValue(37,1); UMults.SetValue(38,1); UMults.SetValue(39,1); UMults.SetValue(40,1); UMults.SetValue(41,1); UMults.SetValue(42,1); UMults.SetValue(43,1); UMults.SetValue(44,1); UMults.SetValue(45,1); UMults.SetValue(46,4); TColStd_Array1OfInteger VMults(1,46); VMults.SetValue(1,4); VMults.SetValue(2,1); VMults.SetValue(3,1); VMults.SetValue(4,1); VMults.SetValue(5,1); VMults.SetValue(6,1); VMults.SetValue(7,1); VMults.SetValue(8,1); VMults.SetValue(9,1); VMults.SetValue(10,1); VMults.SetValue(11,1); VMults.SetValue(12,1); VMults.SetValue(13,1); VMults.SetValue(14,1); VMults.SetValue(15,1); VMults.SetValue(16,1); VMults.SetValue(17,1); VMults.SetValue(18,1); VMults.SetValue(19,1); VMults.SetValue(20,1); VMults.SetValue(21,1); VMults.SetValue(22,1); VMults.SetValue(23,1); VMults.SetValue(24,1); VMults.SetValue(25,1); VMults.SetValue(26,1); VMults.SetValue(27,1); VMults.SetValue(28,1); VMults.SetValue(29,1); VMults.SetValue(30,1); VMults.SetValue(31,1); VMults.SetValue(32,1); VMults.SetValue(33,1); VMults.SetValue(34,1); VMults.SetValue(35,1); VMults.SetValue(36,1); VMults.SetValue(37,1); VMults.SetValue(38,1); VMults.SetValue(39,1); VMults.SetValue(40,1); VMults.SetValue(41,1); VMults.SetValue(42,1); VMults.SetValue(43,1); VMults.SetValue(44,1); VMults.SetValue(45,1); VMults.SetValue(46,4); // Creating the BSpline Surface Handle(Geom_BSplineSurface) Surface = new Geom_BSplineSurface( Poles, // const TColgp_Array2OfPnt & Poles, UKnots, // const TColStd_Array1OfReal & UKnots, VKnots, // const TColStd_Array1OfReal & VKnots, UMults, // const TColStd_Array1OfInteger & UMults, VMults, // const TColStd_Array1OfInteger & VMults, 3, // const Standard_Integer UDegree, 3 // const Standard_Integer VDegree, // const Standard_Boolean UPeriodic = Standard_False, // const Standard_Boolean VPeriodic = Standard_False*/ ); BRepBuilderAPI_MakeFace Face(Surface); return new TopoShapePy(new TopoShape(Face.Face())); } PY_CATCH; } static PyObject * createPlane(PyObject *self, PyObject *args) { double z_level; //const char* Name; if (! PyArg_ParseTuple(args, "d", &z_level)) return NULL; PY_TRY { 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); return new TopoShapePy(new TopoShape(Face.Face())); } PY_CATCH; } static PyObject * createBox(PyObject *self, PyObject *args) { double X, Y, Z , L, H, W ; //const char* Name; if (! PyArg_ParseTuple(args, "dddddd", &X, &Y, &Z , &L, &H, &W )) return NULL; PY_TRY { // Build a box using the dimension and position attributes BRepPrimAPI_MakeBox mkBox( gp_Pnt( X, Y, Z ), L, H, W ); TopoDS_Shape ResultShape = mkBox.Shape(); return new TopoShapePy(new TopoShape(ResultShape)); } PY_CATCH; } static PyObject * useMesh(PyObject *self, PyObject *args) { MeshPy *pcObject; PyObject *pcObj; if (!PyArg_ParseTuple(args, "O!; Need exatly one Mesh object", &(MeshPy::Type), &pcObj)) // convert args: Python->C return NULL; // NULL triggers exception pcObject = (MeshPy*)pcObj; PY_TRY { const MeshObject *aMeshObject = pcObject->getMeshObjectPtr(); const MeshKernel& m = aMeshObject->getKernel(); //MeshAlgos::boolean(&_cMesh,&m,&_cMesh,0); MeshKernel copy = m; MeshCore::MeshAlgorithm algo(copy); std::list< std::vector > BoundariesIndex; std::list< std::vector > ::iterator bin_it; std::list< std::vector > BoundariesPoints; algo.GetMeshBorders(BoundariesIndex); algo.GetMeshBorders(BoundariesPoints); Base::BoundBox3f BoundBox = copy.GetBoundBox(); // Count of edges m.CountEdges(); // Count of vertices m.CountPoints(); // Count of Triangles m.CountFacets(); // Neighbour triangles unsigned long idx1,idx2,idx3,idx=0; m.GetFacetNeighbours(idx,idx1,idx2,idx3); // points of a triangle m.GetFacetPoints(idx,idx1,idx2,idx3); MeshCore::MeshPoint p = m.GetPoint(idx1); //float x = p[0]; //float y = p[1]; //float z = p[2]; // topological stuff, works only on a non const copy.... //MeshCore::MeshTopoAlgorithm TopAlgs(m); // e.g. Iterators MeshCore::MeshFacetIterator It(m); while (It.More()) { ++It; } // most of the algoristhms are under src/Mod/Mesh/App/Core! } PY_CATCH; Py_Return; } //static PyObject * MyApprox(PyObject *self, PyObject *args) //{ // MeshPy *pcObject; // PyObject *pcObj; // double tolerance; // if (!PyArg_ParseTuple(args, "O!d; Usage:- MyApprox(meshobject, tolerance)", &(MeshPy::Type), &pcObj, &tolerance)) // convert args: Python->C // return NULL; // NULL triggers exception // // pcObject = (MeshPy*)pcObj; // // PY_TRY { // const MeshObject *o = pcObject->getMesh(); // const MeshKernel &m = o->getKernel(); // //MeshAlgos::boolean(&_cMesh,&m,&_cMesh,0); // //MeshKernel copy = m; // // std::vector Control; // std::vector KntU; // std::vector KntV; // int OrdU; // int OrdV; // try { // Approximate approx((MeshKernel &)m,Control,KntU,KntV,OrdU,OrdV,tolerance); // } // catch(const char *errstr) { std::cerr << errstr << std::endl; } // int maxCntrlU = KntU.size() - OrdU; // int maxCntrlV = KntU.size() - OrdV; // //Load Control Pnts // TColgp_Array2OfPnt Poles(1,maxCntrlU,1,maxCntrlV); // for(int u = 0; u < maxCntrlU; u++) // { // for(int v = 0; v < maxCntrlV; v++) // Poles.SetValue(u+1,v+1,gp_Pnt(Control[(u*3)+(3*maxCntrlU*v)],Control[(u*3)+(3*maxCntrlU*v)+1], // Control[(u*3)+(3*maxCntrlU*v)+2])); // } // //Load U-Knot Vector // TColStd_Array1OfReal UKnots(1,KntU.size() - 6); // TColStd_Array1OfInteger UMults(1,KntU.size() - 6); // UKnots.SetValue(1,KntU[0]); // for(unsigned int i = 1, j = 1; i < KntU.size(); i++) // { // if(KntU[i] == KntU[i-1]) // continue; // else // { // UKnots.SetValue(j+1,KntU[i]); // j++; // } // // } // UMults.SetValue(1,4); // UMults.SetValue(KntU.size() - 6,4); // for(unsigned int i = 1; i < KntU.size() - 7; i++) // UMults.SetValue(i+1,1); // //Load V-Knot Vector // TColStd_Array1OfReal VKnots(1,KntU.size() - 6); // TColStd_Array1OfInteger VMults(1,KntU.size() - 6); // VKnots.SetValue(1,KntV[0]); // for(unsigned int i = 1, j = 1; i < KntV.size(); i++) // { // if(KntV[i] == KntV[i-1]) // continue; // else // { // VKnots.SetValue(j+1,KntV[i]); // j++; // } // // } // VMults.SetValue(1,4); // VMults.SetValue(KntV.size() - 6,4); // for(unsigned int i = 1; i < KntV.size() - 7; i++) // VMults.SetValue(i+1,1); // // Handle(Geom_BSplineSurface) Surface = new Geom_BSplineSurface( // Poles, // const TColgp_Array2OfPnt & Poles, // UKnots, // const TColStd_Array1OfReal & UKnots, // VKnots, // const TColStd_Array1OfReal & VKnots, // UMults, // const TColStd_Array1OfInteger & UMults, // VMults, // const TColStd_Array1OfInteger & VMults, // 3, // const Standard_Integer UDegree, // 3 // const Standard_Integer VDegree, // // const Standard_Boolean UPeriodic = Standard_False, // // const Standard_Boolean VPeriodic = Standard_False*/ // ); // // // // // // BRepBuilderAPI_MakeFace Face(Surface); // // return new TopoShapePyOld(Face.Face()); // } PY_CATCH; // // Py_Return; //} static PyObject * openDYNA(PyObject *self, PyObject *args) { const char* filename; if (! PyArg_ParseTuple(args, "s;Usage:- openDYNA(filename)", &filename)) return NULL; PY_TRY { MeshCore::MeshKernel mesh; ReadDyna parse(mesh,filename); MeshObject aObject(mesh); return aObject.getPyObject(); } PY_CATCH; Py_Return; } static PyObject * offset_mesh(PyObject *self, PyObject *args) { double offset; MeshPy *pcObject; PyObject *pcObj; if (!PyArg_ParseTuple(args, "O!d; Need exatly one Mesh object", &(MeshPy::Type), &pcObj, &offset)) // convert args: Python->C return NULL; // NULL triggers exception pcObject = (MeshPy*)pcObj; Base::Builder3D log3d; PY_TRY { MeshObject *o = pcObject->getMeshObjectPtr(); MeshKernel &mesh = o->getKernel(); //Base::Vector3f Point[3]; Base::Vector3f current_pnt; //const MeshCore::MeshFacetArray& Facets = mesh.GetFacets(); //const MeshCore::MeshPointArray& Points = mesh.GetPoints(); MeshCore::MeshPointIterator p_it(mesh); MeshCore::MeshFacetIterator f_it(mesh); MeshCore::MeshRefPointToFacets rf2pt(mesh); MeshCore::MeshGeomFacet t_face; //int NumOfPoints = mesh.CountPoints(); Base::Vector3f normal,local_normal; //float fArea = 0.0f; for (unsigned long i=0; i& faceSet = rf2pt[i]; float fArea = 0.0; normal.Set(0.0,0.0,0.0); // Iteriere über die Dreiecke zu jedem Punkt for (std::set::const_iterator it = faceSet.begin(); it != faceSet.end(); ++it) { // Einmal derefernzieren, um an das MeshFacet zu kommen und dem Kernel uebergeben, dass er ein MeshGeomFacet liefert t_face = mesh.GetFacet(*it); // Flaecheninhalt aufsummieren float local_Area = t_face.Area(); local_normal = t_face.GetNormal(); if (local_normal.z < 0) { local_normal = local_normal * (-1); } fArea = fArea + local_Area; normal = normal + local_normal; } normal.Normalize(); log3d.addSingleArrow(mesh.GetPoint(i),mesh.GetPoint(i) + (normal*float(offset))); mesh.MovePoint(i,(normal*float(offset))); } log3d.saveToFile("c:/test.iv"); MeshObject aObject(mesh); return new MeshPy(&aObject); } PY_CATCH; Py_Return; /*for(p_it.Begin();!(p_it.EndReached()); ++p_it) { cout << "Erste Schleife" <C // return NULL; // NULL triggers exception // // // TopoShapePyOld *pcShape = static_cast(pcObj); //Surface wird übergeben // // TopExp_Explorer Ex; // Ex.Init(pcShape->getShape(),TopAbs_FACE); // initialisiere cad-geometrie (trimmed surface) // // Base::Builder3D m_log3d; // // // surface types // TopoDS_Face atopo_surface,atopo_surface2; // BRepAdaptor_Surface adaptor_surface; // GeomAdaptor_Surface geom_adapterSurface; // Handle_Geom_Surface geom_surf; // GeomAbs_SurfaceType type; // gp_Pln plane; // // TopoDS_Shape cad = pcShape->getShape(); // // // point types // std::vector point_list; // gp_Pnt tmp_pnt; // Base::Vector3f pnt; // gp_Dir pl_vec; // gp_Lin lin; // // // // bounding box // Bnd_Box BBox; // Standard_Real XMin1, YMin1, ZMin1, XMax1, YMax1, ZMax1; // // IntCurvesFace_ShapeIntersector shp_int; // BRepClass3d_SolidClassifier check; // // // double u_min,v_min,u_max,v_max; // double u_range, v_range; // double N; // int n1,n2; // bool b; // // if (!Ex.More()) return false; // // for (;Ex.More();Ex.Next()) // { // // übergebe die einzelnen patches // atopo_surface = TopoDS::Face (Ex.Current()); // adaptor_surface.Initialize(atopo_surface); // // type = adaptor_surface.GetType(); // // if(type == GeomAbs_Plane) // { // check.Load(atopo_surface); // // plane = adaptor_surface.Plane(); // pl_vec = (plane.Axis()).Direction(); // // /*geom_adapterSurface = adaptor_surface.Surface(); // geom_surf = geom_adapterSurface.Surface();*/ // // u_min = adaptor_surface.FirstUParameter(); // u_max = adaptor_surface.LastUParameter(); // // v_min = adaptor_surface.FirstVParameter(); // v_max = adaptor_surface.LastVParameter(); // // u_range = u_max - u_min; // v_range = v_max - v_min; // // BRepBndLib::Add(atopo_surface, BBox); // BBox.SetGap(0.0); // BBox.Get(XMin1, YMin1, ZMin1, XMax1, YMax1, ZMax1); // // N = (XMax1 - XMin1)*(YMax1 - YMin1)/1e+4; // n1 = sqrt(N);//(XMax1 - XMin1)*sqrt(N)/(YMax1 - YMin1); // n2 = sqrt(N);//(YMax1 - YMin1)*sqrt(N)/(XMax1 - XMin1); // // if(n1<2) // n1=2; // if(n2<2) // n2=2; // // BBox.SetVoid(); // // for(int i=0; iC // return NULL; // NULL triggers exception // // pcObject = (MeshPy*)pcObj; // pcObject2 = (MeshPy*)pcObj2; // // // PY_TRY // { // MeshCore::MeshKernel mesh = pcObject->getMesh(); // Input Mesh // MeshCore::MeshKernel mesh2 = pcObject2->getMesh(); // Mesh from CAD // // MeshCore::MeshEigensystem pca(mesh); // pca.Evaluate(); // // MeshCore::MeshEigensystem pca2(mesh2); // pca2.Evaluate(); // // // // Base::Matrix4D T1 = pca.Transform(); // Base::Matrix4D T2 = pca2.Transform(); // // T2[0][3] = 0.0; // T2[1][3] = 0.0; // T2[2][3] = 0.0; // // Base::Matrix4D C; // C.unity(); // // T2.inverse(); // mesh.Transform(T2*T1); // // /* // const MeshCore::MeshPointArray& rPoints = mesh.GetPoints(); // Base::Vector3f vec(0.0,0.0,0.0); // unsigned long c=0; // // // for(MeshCore::MeshPointArray::_TConstIterator it = rPoints.begin(); it != rPoints.end(); ++it) // { // vec = *it; // //vec = T*vec; // //T.transform(vec,T); // mesh.SetPoint(c,vec); // ++c; // } // */ // // // log3d.addSinglePoint(pnt); // log3d.saveToFile("c:/origin.iv"); // return new MeshPy(mesh); // // }PY_CATCH; // // Py_Return; //} static PyObject * best_fit_complete(PyObject *self, PyObject *args) { MeshPy *pcObject; PyObject *pcObj; PyObject *pcObj2; if (!PyArg_ParseTuple(args, "O!O!; Need one Mesh objects and one toposhape", &(MeshPy::Type), &pcObj, &(TopoShapePy::Type), &pcObj2)) // convert args: Python->C return NULL; // NULL triggers exception PY_TRY { GProp_GProps prop; GProp_PrincipalProps pprop; gp_Pnt orig; pcObject = (MeshPy*)pcObj; TopoShapePy *pcShape = static_cast(pcObj2); //Shape wird übergeben TopoDS_Shape cad = pcShape->getTopoShapePtr()->_Shape; // Input CAD MeshCore::MeshKernel mesh = pcObject->getMeshObjectPtr()->getKernel(); // Input Mesh // best_fit befi(&mesh,&cad); //befi.Perform(); //MeshObject anObject(*(befi.m_Mesh)); //return new MeshPy(&anObject); }PY_CATCH; Py_Return; } #include "WireExplorer.h" #include #include #include "BRepAdaptor_CompCurve2.h" #include "SpringbackCorrection.h" static PyObject * best_fit_test(PyObject *self, PyObject *args) { PyObject *pcObj; if (!PyArg_ParseTuple(args, "O!", &(TopoShapePy::Type), &pcObj)) // convert args: Python->C return NULL; // NULL triggers exception PY_TRY { TopoShapePy *pcShape = static_cast(pcObj); //Shape wird übergeben TopoDS_Shape aShape = pcShape->getTopoShapePtr()->_Shape; TopExp_Explorer anExplorer; TopExp_Explorer aFaceExplorer; //SpringbackCorrection aShapeTriangulator(pcShape->getShape()); //aShapeTriangulator.Init(); std::vector anEdgeList; TopoDS_Face first,second; anEdgeList.clear(); bool firstrun=true; bool finished=false; for (anExplorer.Init(aShape,TopAbs_FACE);anExplorer.More();anExplorer.Next()) { if (finished) break; for (aFaceExplorer.Init(anExplorer.Current(),TopAbs_EDGE);aFaceExplorer.More();aFaceExplorer.Next()) { if (!firstrun && finished==false) { for (unsigned int i=0;iSurface () ; //Jetzt die Wires vom ursprünglichen Face offsettieren. TopExp_Explorer asecondFaceExplorer; TopoDS_Wire aFaceWire; for (asecondFaceExplorer.Init(first,TopAbs_WIRE);asecondFaceExplorer.More();asecondFaceExplorer.Next()) { aFaceWire = TopoDS::Wire(asecondFaceExplorer.Current()); } WireExplorer awireexplorer(aFaceWire); //Punkte auf der Wire erzeugen und dann diese Punkte als Input in den Delaynay reinschieben BRepAdaptor_CompCurve2 aWireAdapter(aFaceWire); Standard_Real first_p,last_p,delta_u; last_p = aWireAdapter.LastParameter(); first_p = aWireAdapter.FirstParameter(); delta_u = fabs(last_p-first_p)/50; std::vector mesh_input; mesh_input.clear(); for (int k=0;k<=50;++k) { gp_Pnt currentPoint = aWireAdapter.Value(first_p+(k*delta_u)); Base::Vector3f aVector; aVector.x = float(currentPoint.X()); aVector.y = float(currentPoint.Y()); aVector.z = float(currentPoint.Z()); mesh_input.push_back(aVector); } MeshCore::MeshKernel ameshkernel; MeshCore::MeshBuilder aBuilder(ameshkernel); std::vector mesh_output; //MeshCore::MeshPolygonTriangulation aTriangulator; //aTriangulator.SetPolygon(mesh_input); Base::Matrix4D matrix; //Base::Vector3f cPlaneNormal = aTriangulator.TransformToFitPlane(matrix); //aTriangulator.ComputeQualityDelaunay(20,mesh_output); std::vector geomfacets;// = aTriangulator.GetTriangles(); aBuilder.Initialize(100); for ( std::vector::iterator kt = geomfacets.begin(); kt != geomfacets.end(); ++kt ) { MeshCore::MeshGeomFacet atempfacet(matrix*(kt->_aclPoints[0]),matrix*(kt->_aclPoints[1]),matrix*(kt->_aclPoints[2])); atempfacet.CalcNormal(); aBuilder.AddFacet(atempfacet); } aBuilder.Finish(); MeshObject anObject(ameshkernel); return new MeshPy(&anObject); TopoDS_Wire newWire; for (awireexplorer.Init();awireexplorer.More();awireexplorer.Next()) { TopoDS_Edge currentEdge = TopoDS::Edge(awireexplorer.Current()); Standard_Real uf,ul,schrittweite_edge; Handle_Geom2d_Curve aPCurve = BRep_Tool::CurveOnSurface(currentEdge,first,uf,ul); schrittweite_edge = fabs(uf-ul)/10; std::vector offsetPoints; offsetPoints.clear(); for (int i=0;i<=10;++i) { gp_Pnt2d a2dPoint; aPCurve->D0(uf+i*schrittweite_edge,a2dPoint); //Koordinaten von der Surface holen gp_Pnt point; gp_Vec vecu,vecv,normal; afirstFaceAdaptor.D1(a2dPoint.X(),a2dPoint.Y(),point,vecu,vecv); vecu.Cross(vecv); normal = vecu; normal.Normalize(); normal.Multiply(20.0); gp_Pnt OffsetPoint; OffsetPoint.SetXYZ(point.XYZ()+normal.XYZ()); offsetPoints.push_back(OffsetPoint); } Handle(TColgp_HArray1OfPnt) MasterOffsetPoints = new TColgp_HArray1OfPnt(1, offsetPoints.size()); for (unsigned int t=0;tSetValue(t+1,offsetPoints[t]); } GeomAPI_Interpolate aBSplineInterp(MasterOffsetPoints, Standard_False, Precision::Confusion()); aBSplineInterp.Perform(); Handle_Geom_BSplineCurve currentOffsetCurve(aBSplineInterp.Curve()); } BRepBuilderAPI_MakeFace Face(Final_Approx); //return new TopoShapePyOld(Face.Face()); }PY_CATCH; Py_Return; } static PyObject * shape2orig(PyObject *self, PyObject *args) { PyObject *pcObj; if (!PyArg_ParseTuple(args, "O!; Need one toposhape", &(TopoShapePy::Type), &pcObj)) // convert args: Python->C return NULL; // NULL triggers exception PY_TRY { GProp_GProps prop; GProp_PrincipalProps pprop; gp_Pnt orig; TopoShapePy *pcShape = static_cast(pcObj); //shape wird übergeben TopoDS_Shape cad = pcShape->getTopoShapePtr()->_Shape; // Input CAD // best_fit befi(cad); // befi.ShapeFit_Coarse(); // return new TopoShapePyOld(*(befi.m_Cad)); }PY_CATCH; Py_Return; } static PyObject * spring_back(PyObject *self, PyObject *args) { MeshPy *pcObject; PyObject *pcObj; PyObject *pcObj2; if (!PyArg_ParseTuple(args, "O!O!; Need one Mesh objects and one toposhape", &(MeshPy::Type), &pcObj, &(TopoShapePy::Type), &pcObj2)) // convert args: Python->C return NULL; // NULL triggers exception PY_TRY { GProp_GProps prop; GProp_PrincipalProps pprop; gp_Pnt orig; pcObject = (MeshPy*)pcObj; TopoShapePy *pcShape = static_cast(pcObj2); //Shape wird übergeben TopoDS_Shape cad = pcShape->getTopoShapePtr()->_Shape; // Input CAD MeshObject* anObject = pcObject->getMeshObjectPtr(); // Input Mesh MeshCore::MeshKernel mesh = anObject->getKernel(); time_t seconds1, seconds2; seconds1 = time(NULL); /*-----------------------------------------------*/ SpringbackCorrection aShapeTri(cad, mesh); aShapeTri.Perform(60,1); /*-----------------------------------------------*/ seconds2 = time(NULL); cout << "laufzeit: " << seconds2-seconds1 << " sec" << endl; //anObject->setKernel(aShapeTri.m_Mesh); return new MeshPy(anObject); }PY_CATCH; Py_Return; } static PyObject * tess_shape(PyObject *self, PyObject *args) { PyObject *pcObj; float aDeflection; //PyObject *pcObj2; if (!PyArg_ParseTuple(args, "O!f", &(TopoShapePy::Type), &pcObj, &aDeflection)) // convert args: Python->C return NULL; // NULL triggers exception PY_TRY { TopoShapePy *pcShape = static_cast(pcObj); //shape wird übergeben TopoDS_Shape cad = pcShape->getTopoShapePtr()->_Shape; // Input CAD //best_fit befi(cad); //befi.ShapeFit_Coarse(); MeshCore::MeshKernel mesh; best_fit::Tesselate_Shape(cad, mesh, float(0.1)); MeshObject* anObject = new MeshObject(mesh); return new MeshPy(anObject); }PY_CATCH; Py_Return; } //static PyObject * trafo_mesh(PyObject *self, PyObject *args) //{ // MeshPy *pcObject; // // // Base::Vector3f pnt; // // if (!PyArg_ParseTuple(args, "O!; Need one Mesh objects", &(MeshPy::Type), &pcObj)) // convert args: Python->C // return NULL; // NULL triggers exception // // pcObject = (MeshPy*)pcObj; // // PY_TRY // { // gp_Trsf trf; // trf.SetTranslation(trafo); // // BRepBuilderAPI_Transform trsf(tsf); // trsf.Perform(cad); // TopoDS_Shape ResultShape = trsf.Shape(); // // return new MeshPy(mesh); // // }PY_CATCH; // // Py_Return; //} // //static PyObject * trafo_cad(PyObject *self, PyObject *args) //{ // MeshPy *pcObject; // // Base::Vector3f pnt; // // if (!PyArg_ParseTuple(args, "O!; Need one TopoShape objects", &(MeshPy::Type), &pcObj)) // convert args: Python->C // return NULL; // NULL triggers exception // // pcObject = (MeshPy*)pcObj; // // PY_TRY // { // gp_Trsf trf; // trf.SetTranslation(trafo); // // BRepBuilderAPI_Transform trsf(tsf); // trsf.Perform(cad); // TopoDS_Shape ResultShape = trsf.Shape(); // // return new MeshPy(mesh); // // }PY_CATCH; // // Py_Return; //} static PyObject * fit_iter(PyObject *self, PyObject *args) { MeshPy *pcObject; PyObject *pcObj; PyObject *pcObj2; if (!PyArg_ParseTuple(args, "O!O!; Need exatly one Mesh object", &(MeshPy::Type), &pcObj, &(TopoShapePy::Type), &pcObj2)) // convert args: Python->C return NULL; // NULL triggers exception TopoShapePy *pcShape = static_cast(pcObj2); //Surface wird übergeben TopoDS_Shape cad = pcShape->getTopoShapePtr()->_Shape; TopExp_Explorer Ex; Ex.Init(cad,TopAbs_FACE); // initialisiere cad-geometrie (trimmed surface) pcObject = (MeshPy*)pcObj; Base::Builder3D log3d; gp_Dir pl_vec; gp_Lin lin; gp_Pnt pnt; Base::Vector3f tmp_pnt; IntCurvesFace_ShapeIntersector shp_int; std::vector< std::vector > R(3, std::vector(3,0.0)); // Rotationsmatrix double err = 1001; TopoDS_Face atopo_surface; MeshCore::MeshKernel mesh = pcObject->getMeshObjectPtr()->getKernel(); PY_TRY { //Base::Vector3f Point[3]; Base::Vector3f current_pnt; //const MeshCore::MeshFacetArray& Facets = mesh.GetFacets(); //const MeshCore::MeshPointArray& Points = mesh.GetPoints(); MeshCore::MeshPointIterator p_it(mesh); MeshCore::MeshFacetIterator f_it(mesh); MeshCore::MeshRefPointToFacets rf2pt(mesh); MeshCore::MeshGeomFacet t_face; int NumOfPoints = mesh.CountPoints(); //int NumOfPoints = mesh.CountPoints(); Base::Vector3f normal,local_normal; //float fArea = 0.0f; while (err > 1000) { err = 0.0; for (unsigned long i=0; i& faceSet = rf2pt[i]; float fArea = 0.0; normal.Set(0.0,0.0,0.0); // Iteriere über die Dreiecke zu jedem Punkt for (std::set::const_iterator it = faceSet.begin(); it != faceSet.end(); ++it) { // Einmal derefernzieren, um an das MeshFacet zu kommen und dem Kernel uebergeben, dass er ein MeshGeomFacet liefert t_face = mesh.GetFacet(*it); // Flaecheninhalt aufsummieren float local_Area = t_face.Area(); local_normal = t_face.GetNormal(); if (local_normal.z < 0) { local_normal = local_normal * (-1); } fArea = fArea + local_Area; normal = normal + local_normal; } pnt.SetX((mesh.GetPoint(i)).x); pnt.SetY((mesh.GetPoint(i)).y); pnt.SetZ((mesh.GetPoint(i)).z); lin.SetLocation(pnt); pl_vec.SetX(normal.x); pl_vec.SetY(normal.y); pl_vec.SetZ(normal.z); lin.SetDirection(pl_vec); shp_int.Load(cad, 0.1); shp_int.PerformNearest(lin,-RealLast(),+RealLast()); if (shp_int.IsDone()) { err += sqrt((pnt.X() - shp_int.Pnt(1).X())*(pnt.X() - shp_int.Pnt(1).X())* (pnt.Y() - shp_int.Pnt(1).Y())*(pnt.Y() - shp_int.Pnt(1).Y())* (pnt.Z() - shp_int.Pnt(1).Z())*(pnt.Z() - shp_int.Pnt(1).Z())); pnt = shp_int.Pnt(1); tmp_pnt.x = float(pnt.X()); tmp_pnt.y = float(pnt.Y()); tmp_pnt.z = float(pnt.Z()); //point_list.push_back(pnt); log3d.addSinglePoint(tmp_pnt,2,0,0,0); } } R[0][0] = cos(PI); R[0][1] = -sin(PI); R[1][0] = sin(PI); R[1][1] = cos(PI); R[2][2] = 1; MeshCore::MeshPoint mpnt; for (int i=0; i TOL) //{ // traf += fl*traf_step; // err = 0; // for(int i=0; i