IOWriteResult Write_STL(string sFilename, List <WriteMesh> vMeshes, WriteOptions options)
        {
            Stream stream = OpenStreamF(sFilename);

            if (stream == null)
            {
                return(new IOWriteResult(IOCode.FileAccessError, "Could not open file " + sFilename + " for writing"));
            }

            try {
                if (options.bWriteBinary)
                {
                    BinaryWriter w      = new BinaryWriter(stream);
                    STLWriter    writer = new STLWriter();
                    var          result = writer.Write(w, vMeshes, options);
                    w.Flush();
                    return(result);
                }
                else
                {
                    StreamWriter w      = new StreamWriter(stream);
                    STLWriter    writer = new STLWriter();
                    var          result = writer.Write(w, vMeshes, options);
                    w.Flush();
                    return(result);
                }
            } finally {
                CloseStreamF(stream);
            }
        }
Example #2
0
 IOWriteResult Write_STL(string sFilename, List <WriteMesh> vMeshes, WriteOptions options)
 {
     if (options.bWriteBinary)
     {
         FileStream   file_stream = File.Open(sFilename, FileMode.Create);
         BinaryWriter w           = new BinaryWriter(file_stream);
         if (w.BaseStream == null)
         {
             return(new IOWriteResult(IOCode.FileAccessError, "Could not open file " + sFilename + " for writing"));
         }
         STLWriter writer = new STLWriter();
         var       result = writer.Write(w, vMeshes, options);
         w.Close();
         return(result);
     }
     else
     {
         StreamWriter w = new StreamWriter(sFilename);
         if (w.BaseStream == null)
         {
             return(new IOWriteResult(IOCode.FileAccessError, "Could not open file " + sFilename + " for writing"));
         }
         STLWriter writer = new STLWriter();
         var       result = writer.Write(w, vMeshes, options);
         w.Close();
         return(result);
     }
 }