File size: 1,509 Bytes
b6a0fc3 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
using System.Windows;
using Microsoft.Win32;
using FastPrint.Printer;
using FastPrint.Slicing;
using FastPrint.Model;
namespace FastPrint.UI
{
public partial class MainWindow : Window
{
private MarlinConnector printer;
private SliceAccelerator slicer;
private STLModel model;
public MainWindow()
{
InitializeComponent();
slicer = new SliceAccelerator();
model = new STLModel();
}
private void OpenSTL_Click(object sender, RoutedEventArgs e)
{
var dlg = new OpenFileDialog { Filter = "STL Files (*.stl)|*.stl" };
if (dlg.ShowDialog() == true)
{
model.LoadAscii(dlg.FileName);
// Visualization logic can be added here
}
}
private void Slice_Click(object sender, RoutedEventArgs e)
{
// Flatten triangles to vertex array
var vertices = new System.Collections.Generic.List<float>();
foreach (var tri in model.Triangles)
vertices.AddRange(tri);
slicer.Slice(vertices.ToArray(), 0.2f, result => {
// Handle sliced result (e.g., display, export G-code)
});
}
private async void Connect_Click(object sender, RoutedEventArgs e)
{
printer = new MarlinConnector(PortSelector.SelectedItem?.ToString() ?? "COM3");
await printer.ConnectAsync();
}
}
} |