Compare commits

..

2 Commits

Author SHA1 Message Date
58f3a19232 refactor(Sample.Wpf): use WorkpieceService and CatchExceptions in DemoMillingByCutterLocation
Made-with: Cursor
2026-04-11 11:19:38 +08:00
b21da87ded chore(demos): update WPF demo machining and disp util
Made-with: Cursor
2026-04-08 16:33:18 +08:00
3 changed files with 11 additions and 8 deletions

View File

@ -26,7 +26,8 @@ public static class DemoUtil
/// <param name="displayee">The object that implements IDisplayee to be rendered</param> /// <param name="displayee">The object that implements IDisplayee to be rendered</param>
public static void RunApplication(string title, IDisplayee displayee) public static void RunApplication(string title, IDisplayee displayee)
{ {
LocalApp.AppBegin(); using var loggerFactory = Microsoft.Extensions.Logging.LoggerFactory.Create(b => b.AddConsole());
LocalApp.AppBegin(loggerFactory.CreateLogger("Hi.Sample.Wpf"));
Application app = new Application(); Application app = new Application();
app.Exit += (o, e) => app.Exit += (o, e) =>
{ {

View File

@ -1,4 +1,4 @@
using Hi.Common; using Hi.Common.Messages;
using Hi.Disp; using Hi.Disp;
using Hi.Geom; using Hi.Geom;
using Hi.Geom.Resolution; using Hi.Geom.Resolution;
@ -34,7 +34,8 @@ namespace Sample.Machining
new Cylindroid(new PairZr(-h, 18), new PairZr(0, 18)) new Cylindroid(new PairZr(-h, 18), new PairZr(0, 18))
.GenStl(new PolarResolution2d(1, MathUtil.ToRad(15))).WriteBin(stlFile_CylinderR18); .GenStl(new PolarResolution2d(1, MathUtil.ToRad(15))).WriteBin(stlFile_CylinderR18);
LocalApp.AppBegin(); using var loggerFactory = Microsoft.Extensions.Logging.LoggerFactory.Create(b => b.AddConsole());
LocalApp.AppBegin(loggerFactory.CreateLogger("Hi.Sample.Wpf"));
LocalProjectService localProjectService = new LocalProjectService(); LocalProjectService localProjectService = new LocalProjectService();
@ -52,8 +53,8 @@ namespace Sample.Machining
localProjectService.ClStrip.IsShowDot = true; localProjectService.ClStrip.IsShowDot = true;
double resolution_mm = 0.5; double resolution_mm = 0.5;
var projectDir = Path.GetDirectoryName(projectPath); var projectDir = Path.GetDirectoryName(projectPath);
localProjectService.Workpiece.InitGeom = new StlFile(stlFile_CylinderR20, projectDir); localProjectService.WorkpieceService.InitGeom = new StlFile(stlFile_CylinderR20, projectDir);
localProjectService.Workpiece.IdealGeom = new StlFile(stlFile_CylinderR19, projectDir); localProjectService.WorkpieceService.IdealGeom = new StlFile(stlFile_CylinderR19, projectDir);
localProjectService.Workpiece.InitResolution = resolution_mm; localProjectService.Workpiece.InitResolution = resolution_mm;
RuntimeApi runtimeApi = localProjectService.RuntimeApi; RuntimeApi runtimeApi = localProjectService.RuntimeApi;
@ -86,7 +87,7 @@ namespace Sample.Machining
{ {
RunSession(projectService, resolution_mm); RunSession(projectService, resolution_mm);
Console.WriteLine($"task done."); Console.WriteLine($"task done.");
}).ShowIfCatched(null); }).CatchExceptions(ex => Console.WriteLine(ex));
#region Create and Run WPF Application #region Create and Run WPF Application
Application app = new Application Application app = new Application
@ -134,7 +135,7 @@ namespace Sample.Machining
} }
static bool IsDifferenceAceptable(LocalProjectService localProjectService, double diffLimit) static bool IsDifferenceAceptable(LocalProjectService localProjectService, double diffLimit)
{ {
foreach (var attachment in localProjectService.Workpiece.DiffAttachmentBag) foreach (var attachment in localProjectService.WorkpieceService.DiffAttachmentBag)
{ {
if (double.IsNaN(attachment.Diff) || Math.Abs(attachment.Diff) > diffLimit) if (double.IsNaN(attachment.Diff) || Math.Abs(attachment.Diff) > diffLimit)
{ {

View File

@ -22,7 +22,8 @@ namespace Sample.Machining
[STAThread] [STAThread]
static void Main(string[] args) static void Main(string[] args)
{ {
LocalApp.AppBegin(); using var loggerFactory = Microsoft.Extensions.Logging.LoggerFactory.Create(b => b.AddConsole());
LocalApp.AppBegin(loggerFactory.CreateLogger("Hi.Sample.Wpf"));
LocalProjectService localProjectService = new LocalProjectService(); LocalProjectService localProjectService = new LocalProjectService();
#region Load Machining Project #region Load Machining Project