Пример #1
0
        internal STLModel3D AsSTLModel3D(System.Drawing.Color modelColor)
        {
            var triangle  = new Triangle();
            var triangles = new TriangleInfoList();

            for (var vertexIndex = 0; vertexIndex < this.VertexArray.Length; vertexIndex += 3)
            {
                var currentVertexIndex = vertexIndex % 3;
                triangle = new Triangle();
                triangle.Vectors[currentVertexIndex].Position     = new Vector3Class(this.VertexArray[vertexIndex].Position) + new Vector3Class(0, 0, 1);
                triangle.Vectors[currentVertexIndex + 1].Position = new Vector3Class(this.VertexArray[vertexIndex + 1].Position) + new Vector3Class(0, 0, 1);
                triangle.Vectors[currentVertexIndex + 2].Position = new Vector3Class(this.VertexArray[vertexIndex + 2].Position) + new Vector3Class(0, 0, 1);
                triangle.CalcMinMaxZ();

                triangles[0].Add(triangle);
            }

            var stlModel = new STLModel3D(STLModel3D.TypeObject.Model, ObjectView.BindingSupported);

            stlModel.Open(null, false, modelColor, ObjectView.NextObjectIndex, triangles, false, false);
            return(stlModel);
        }