刘锦天 5 miesięcy temu
rodzic
commit
6e21e9dd37

+ 47 - 20
TeamAAS-VM/Services/RemoteCommandService.cs

@@ -1851,27 +1851,54 @@ namespace TeamAAS_VP.Services
                     }
                     if(is3dmodel==true)
                     {
-                        _eventAggregator.GetEvent<RenderUpdateNotification>().Publish(new ShowRender()
+                        if(_configService.GetSystemConfiguration().PickPointNum == 0)
                         {
-                            Id = procedure.DisplayId,
-                            DisplayName = procedure.DisplayName,
-                            //Image = (ICogImage)procedure.ToolBlock.Outputs["OriImage"].Value,
-                            Image = (ICogImage)procedure.ToolBlock.Inputs["InputImage"].Value,
-                            Graphic = outputCollection["Graphic"].Value as CogGraphicCollection,
-                            Record = record,
-                            Result = Found,
-                            IsShow = true,
-                            IsSaveImage = procedure.IsSaveImage,
-                            SaveImageModel = procedure.SaveImageModel,
-                            SaveImagePathModel = procedure.SaveImagePathModel,
-                            SavePath = procedure.SavePath,
-                            IsCompress = procedure.IsCompress,
-                            ProceductName = procedure.Name,
-                            ImageFileName = imgName,
-                            Is3DModel = is3dmodel,
-                            RangeImage = (CogImage16Range)procedure.ToolBlock.Outputs["RangeImage"].Value,
-                            GreyImage = (CogImage16Grey)procedure.ToolBlock.Outputs["GreyImage"].Value
-                        });
+                            _eventAggregator.GetEvent<RenderUpdateNotification>().Publish(new ShowRender()
+                            {
+                                Id = procedure.DisplayId,
+                                DisplayName = procedure.DisplayName,
+                                //Image = (ICogImage)procedure.ToolBlock.Outputs["OriImage"].Value,
+                                Image = (ICogImage)procedure.ToolBlock.Inputs["InputImage"].Value,
+                                Graphic = outputCollection["Graphic"].Value as CogGraphicCollection,
+                                Record = record,
+                                Result = Found,
+                                IsShow = true,
+                                IsSaveImage = procedure.IsSaveImage,
+                                SaveImageModel = procedure.SaveImageModel,
+                                SaveImagePathModel = procedure.SaveImagePathModel,
+                                SavePath = procedure.SavePath,
+                                IsCompress = procedure.IsCompress,
+                                ProceductName = procedure.Name,
+                                ImageFileName = imgName,
+                                Is3DModel = is3dmodel,
+                                //RangeImage = (CogImage16Range)procedure.ToolBlock.Outputs["RangeImage"].Value,
+                                //GreyImage = (CogImage16Grey)procedure.ToolBlock.Outputs["GreyImage"].Value
+                            });
+                        }
+                        else
+                        {
+                            _eventAggregator.GetEvent<RenderUpdateNotification>().Publish(new ShowRender()
+                            {
+                                Id = procedure.DisplayId,
+                                DisplayName = procedure.DisplayName,
+                                //Image = (ICogImage)procedure.ToolBlock.Outputs["OriImage"].Value,
+                                Image = (ICogImage)procedure.ToolBlock.Inputs["InputImage"].Value,
+                                Graphic = outputCollection["Graphic"].Value as CogGraphicCollection,
+                                Record = record,
+                                Result = Found,
+                                IsShow = true,
+                                IsSaveImage = procedure.IsSaveImage,
+                                SaveImageModel = procedure.SaveImageModel,
+                                SaveImagePathModel = procedure.SaveImagePathModel,
+                                SavePath = procedure.SavePath,
+                                IsCompress = procedure.IsCompress,
+                                ProceductName = procedure.Name,
+                                ImageFileName = imgName,
+                                Is3DModel = is3dmodel,
+                                RangeImage = (CogImage16Range)procedure.ToolBlock.Outputs["RangeImage"].Value,
+                                GreyImage = (CogImage16Grey)procedure.ToolBlock.Outputs["GreyImage"].Value
+                            });
+                        }
                     }
                     else
                     {

+ 28 - 0
TeamAAS-VM/Views/Home/ShowVisionRender.xaml.cs

@@ -125,6 +125,7 @@ namespace TeamAAS_VP.Views.Home
                     //return;
                 }
 
+                
                 if (!vmRenders.TryGetValue(Get2DKey(render.Id), out var host2D))
                     return;
 
@@ -143,6 +144,33 @@ namespace TeamAAS_VP.Views.Home
 
                     if (render.Record != null)
                         recordDisplay.Record = render.Record;
+                    if (render.IsSaveImage)
+                    {
+                        Bitmap bitmap = null;
+
+                        try
+                        {
+                            bitmap = (Bitmap)recordDisplay.CreateContentBitmap(Cognex.VisionPro.Display.CogDisplayContentBitmapConstants.Custom);
+
+                            SaveImage(
+                                render.SaveImageModel,
+                                render.SaveImagePathModel,
+                                render.SavePath,
+                                render.Image,
+                                bitmap,
+                                render.Result,
+                                render.IsCompress,
+                                render.ImageFileName,
+                                render.Is3DModel
+                            );
+                        }
+                        catch
+                        {
+                            try { bitmap?.Dispose(); } catch { }
+                            throw;
+                        }
+                    }
+
                 }
                 catch (System.Windows.Forms.AxHost.InvalidActiveXStateException)
                 {