FastPrint / UI /MainWindow.cs
Mentors4EDU's picture
Upload 6 files
b6a0fc3 verified
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();
}
}
}