| | 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); |
| | |
| | } |
| | } |
| |
|
| | private void Slice_Click(object sender, RoutedEventArgs e) |
| | { |
| | |
| | var vertices = new System.Collections.Generic.List<float>(); |
| | foreach (var tri in model.Triangles) |
| | vertices.AddRange(tri); |
| |
|
| | slicer.Slice(vertices.ToArray(), 0.2f, result => { |
| | |
| | }); |
| | } |
| |
|
| | private async void Connect_Click(object sender, RoutedEventArgs e) |
| | { |
| | printer = new MarlinConnector(PortSelector.SelectedItem?.ToString() ?? "COM3"); |
| | await printer.ConnectAsync(); |
| | } |
| | } |
| | } |