FastPrint/ │ ├── Geometry/ │ └── BsplineMitchellNetravali.cs │ ├── Slicing/ │ └── SliceAccelerator.cs │ ├── Printer/ │ └── MarlinConnector.cs │ ├── Model/ │ └── STLModel.cs │ ├── UI/ │ ├── MainWindow.xaml │ └── MainWindow.xaml.cs │ └── README.md using System.Collections.Generic; using System.IO; using System.Globalization; namespace FastPrint.Model { public class STLModel { public List Triangles { get; } = new List(); public void LoadAscii(string path) { using var reader = new StreamReader(path); string line; var currentTriangle = new List(); while ((line = reader.ReadLine()) != null) { if (line.Trim().StartsWith("vertex")) { var parts = line.Trim().Split(' '); for (int i = 1; i < 4; i++) currentTriangle.Add(float.Parse(parts[i], CultureInfo.InvariantCulture)); } if (currentTriangle.Count == 9) { Triangles.Add(currentTriangle.ToArray()); currentTriangle.Clear(); } } } } }