public static Mesh ToCore(this RG.Mesh mesh) { var vertices = new List <Point3d>(); var faceVertexIndexes = new List <List <int> >(); foreach (Rhino.Geometry.Point3d vertex in mesh.Vertices) { vertices.Add(new Point3d(vertex.X, vertex.Y, vertex.Z)); } foreach (var face in mesh.GetNgonAndFacesEnumerable()) { var list = new List <int>(); foreach (int i in face.BoundaryVertexIndexList()) { list.Add(i); } faceVertexIndexes.Add(list); } return(new Mesh(vertices, faceVertexIndexes)); }