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); - } - - } -}