Beispiel #1
0
        void DoVerifyWriteBinary(string expected_path, GameObject go)
        {
            string temp_model_path = string.Format("{0}/binary_file.stl", TEMP_FILE_DIR);

            Assert.IsTrue(STLWriter.WriteFile(temp_model_path, go.GetComponent <MeshFilter>().sharedMesh, FileType.Binary));
            Assert.IsTrue(CompareFiles(temp_model_path, expected_path));

            GameObject.DestroyImmediate(go);
        }
Beispiel #2
0
        void DoVerifyWriteString(string path, GameObject go)
        {
            string ascii = STLWriter.WriteString(go.GetComponent <MeshFilter>().sharedMesh, true);

            ascii = ascii.Replace("\r\n", "\n");
            Assert.AreNotEqual(ascii, null);
            Assert.AreNotEqual(ascii, "");
            string expected = File.ReadAllText(path);

            Assert.AreNotEqual(expected, null);
            Assert.AreNotEqual(expected, "");
            Assert.AreEqual(ascii, expected);
            GameObject.DestroyImmediate(go);
        }
Beispiel #3
0
        public void SaveMeshes(List <Mesh> meshes)
        {
            if (File.Exists(_filePath))
            {
                File.Delete(_filePath);
            }

            using var stream = File.OpenWrite(_filePath);
            var binaryWriter = new BinaryWriter(stream);

            var writeMeshes = meshes.Select(m => new WriteMesh(m))
                              .ToList();

            var writer = new STLWriter();

            writer.Write(binaryWriter, writeMeshes, WriteOptions.Defaults);

            binaryWriter.Close();
            stream.Close();
        }
Beispiel #4
0
        private void ExportMesh(ToolpathPreviewMesh mesh, string filePath)
        {
            var dmesh3 = new DMesh3();

            foreach (var vertex in mesh.Vertices)
            {
                dmesh3.AppendVertex(vertex.Point);
            }

            for (int i = 0; i < mesh.Triangles.Count; i += 3)
            {
                dmesh3.AppendTriangle(mesh.Triangles[i], mesh.Triangles[i + 1], mesh.Triangles[i + 2]);
            }

            var writeMesh = new WriteMesh(dmesh3, "Name");
            var stlWriter = new STLWriter();

            using var writer = File.CreateText(filePath);
            stlWriter.Write(writer, new List <WriteMesh>()
            {
                writeMesh
            }, WriteOptions.Defaults);
        }