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); }
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); }
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(); }
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); }