コード例 #1
0
ファイル: STLExtractor.cs プロジェクト: Baldstrom/Rocket
            public STLFile(FileStream fileStream, STLInfo.STLUnits units, bool InhibitFullAnalysis = false)
            {
                // Set vars
                Surfaces = new List <Surface>();
                Units    = units;
                this.InhibitFullAnalysis = InhibitFullAnalysis;
                this.fileStream          = fileStream;
                reader = new StreamReader(fileStream);

                // Determine type and name of STL
                GetTypeAndName();
                // Correct reader now at end of header element

                // Get vertices, surface normal vectors, triangles
                // I.E. Get Surfaces
                GetSurfaces();
            }
コード例 #2
0
ファイル: STLExtractor.cs プロジェクト: Baldstrom/Rocket
 public STLExtractor(string stlFileLocation, STLInfo.STLUnits units = STLInfo.STLUnits.Centimeters, bool InhibitFullAnalysis = false)
 {
     if (File.Exists(stlFileLocation))
     {
         ValidState = FileValidity.Valid;
         IsValid    = true;
         try { STL = new STLFile(File.Open(stlFileLocation, FileMode.Open), units, InhibitFullAnalysis); }
         catch (ArgumentNullException) { IsValid = false; ValidState = FileValidity.FileNameNull; }
         catch (UnauthorizedAccessException) { IsValid = false; ValidState = FileValidity.UnauthorizedAccess; }
         catch (ArgumentException) { IsValid = false; ValidState = FileValidity.InvalidFile; }
         catch (PathTooLongException) { IsValid = false; ValidState = FileValidity.PathTooLong; }
         catch (NotSupportedException) { IsValid = false; ValidState = FileValidity.UnsupportedFileOperation; }
     }
     else
     {
         ValidState = FileValidity.WrongPath;
         IsValid    = false;
     }
 }