diff --git a/Hi.Sample.Wpf.csproj b/Hi.Sample.Wpf.csproj
index 2a64936..cbec29f 100644
--- a/Hi.Sample.Wpf.csproj
+++ b/Hi.Sample.Wpf.csproj
@@ -4,7 +4,6 @@
Exe
net9.0-windows
x64
- enable
true
Demo;Maintenance
@@ -21,8 +20,5 @@
-
-
-
diff --git a/Machining/DemoRenderingMachiningProcessAndStripPosSelection.cs b/Machining/DemoRenderingMachiningProcessAndStripPosSelection.cs
new file mode 100644
index 0000000..051df6e
--- /dev/null
+++ b/Machining/DemoRenderingMachiningProcessAndStripPosSelection.cs
@@ -0,0 +1,70 @@
+using Hi.Wpf.Disp;
+using System;
+using Hi.MongoUtils;
+using Hi.Licenses;
+using Hi.MachiningProcs;
+using Hi.Common.FileLines;
+using Hi.MillingSteps;
+using System.Windows;
+using Hi.Disp;
+
+namespace Hi.Sample.Wpf.Machining
+{
+ class DemoRenderingMachiningProcessAndStripPosSelection
+ {
+ [STAThread]
+ public static void Main(string[] args)
+ {
+ #region Initialize Environment
+ License.LogInAll();
+ DispEngine.Init();
+ MongoServer.Default = MongoServer.Run(new MongoRunnerOptions()
+ {
+ MongoPort = 28100
+ });
+ #endregion
+
+ #region Load Machining Project
+ var projectPath = "C:/HiNC-Projects/DemoStandardPath/Main.hincproj";
+ Console.WriteLine($"Load Project: {projectPath}");
+ MachiningProject machiningProject = MachiningProject.LoadFile(projectPath);
+
+ machiningProject.ShellApi.MillingStepSelected += (MillingStep step) =>
+ {
+ var sourceCommand = step.SourceCommand;
+ Console.WriteLine($"Step Selected: MRR = {step.Mrr_mm3ds} At \"{sourceCommand?.FilePath}\" (Line {sourceCommand?.GetLineNo()}) \"{sourceCommand?.Line}\"");
+ };
+ machiningProject.PacePlayer.Start();
+ #endregion
+
+ #region Configure Rendering Options
+ var projectDisplayee = new MachiningProjectDisplayee(machiningProject);
+ projectDisplayee.RenderingFlagBitArray[(int)RenderingFlag.Mech] = true;
+ projectDisplayee.RenderingFlagBitArray[(int)RenderingFlag.Fixture] = true;
+ projectDisplayee.RenderingFlagBitArray[(int)RenderingFlag.WorkpieceGeom] = true;
+ projectDisplayee.RenderingFlagBitArray[(int)RenderingFlag.ClStrip] = true;
+ projectDisplayee.RenderingFlagBitArray[(int)RenderingFlag.DimensionBar] = true;
+ #endregion
+
+ #region Create and Run WPF Application
+ Application app = new Application
+ {
+ ShutdownMode = ShutdownMode.OnMainWindowClose
+ };
+ app.Exit += (o, e) =>
+ {
+ machiningProject.Dispose();
+ MongoServer.Default.Dispose();
+ DispEngine.FinishDisp();
+ License.LogOutAll();
+ Console.WriteLine($"App exit.");
+ };
+ app.Run(new RenderingWindow()
+ {
+ Title = "Demo",
+ Displayee = projectDisplayee
+ });
+ #endregion
+ }
+ }
+}
diff --git a/Program.cs b/Program.cs
deleted file mode 100644
index 4d15b77..0000000
--- a/Program.cs
+++ /dev/null
@@ -1,50 +0,0 @@
-using Hi.Disp.Flag;
-using Hi.Disp;
-using Hi.Geom;
-using Hi.Wpf.Disp;
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using Hi.MongoUtils;
-using Hi.Licenses;
-using Hi.MachiningProcs;
-using System.Windows.Forms;
-
-namespace Hi.Sample.Wpf
-{
- class Program
- {
- [STAThread]
- public static void Main(string[] args)
- {
- License.LogInAll();
- MongoServer.Default = MongoServer.Run(new MongoRunnerOptions()
- {
- MongoPort = 28100
- });
-
- var projectPath = "C:/HiNC-Projects/DemoStandardPath/Main.hincproj";
- Console.WriteLine($"Load Project: {projectPath}");
- MachiningCourse course = MachiningCourse.LoadFile(projectPath);
- course.PacePlayer.Start();
-
- Application.ApplicationExit += (object? sender, EventArgs e)=> {
- course.Dispose();
- MongoServer.Default.Dispose();
- License.LogOutAll();
- };
-
- var courseDisplayee = new MachiningCourseDisplayee(() => course);
- //courseDisplayee.RenderingFlagBitArray[(int)RenderingFlag.Mech] = true;
- courseDisplayee.RenderingFlagBitArray[(int)RenderingFlag.Fixture] = true;
- courseDisplayee.RenderingFlagBitArray[(int)RenderingFlag.WorkpieceGeom] = true;
- courseDisplayee.RenderingFlagBitArray[(int)RenderingFlag.ClStrip] = true;
- courseDisplayee.RenderingFlagBitArray[(int)RenderingFlag.DimensionBar] = true;
-
- RenderingWindow.RunApplication("Demo ", courseDisplayee);
- }
-
- }
-}