From 4692bd0308c5edc1f09089bfc335ae3dbfe424a4 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Sun, 2 Mar 2025 19:48:58 +0100 Subject: [PATCH] EgtCAM5 2.7b3 : - modifiche varie per gestione import/insert del formato PLY. --- Constants/ConstIni.vb | 1 + My Project/AssemblyInfo.vb | 4 +- OptionsWindow/OptionModule.vb | 2 + OptionsWindow/OptionWindowV.xaml | 16 +++++++- OptionsWindow/OptionWindowVM.vb | 63 ++++++++++++++++++++++++++++++++ Project/ProjectVM.vb | 4 +- 6 files changed, 85 insertions(+), 5 deletions(-) diff --git a/Constants/ConstIni.vb b/Constants/ConstIni.vb index 678674c..0ca0448 100644 --- a/Constants/ConstIni.vb +++ b/Constants/ConstIni.vb @@ -106,6 +106,7 @@ Module ConstIni Public Const K_DXFSCALE As String = "DxfScale" Public Const K_STLSCALE As String = "StlScale" Public Const K_OFFSCALE As String = "OffScale" + Public Const K_PLYSCALE As String = "PlyScale" Public Const K_IMGSCALE As String = "ImgScale" Public Const K_CNCFLAG As String = "CncFlag" Public Const K_BTLFLAG As String = "BtlFlag" diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb index e7f3634..2dd1daf 100644 --- a/My Project/AssemblyInfo.vb +++ b/My Project/AssemblyInfo.vb @@ -70,6 +70,6 @@ Imports System.Windows ' by using the '*' as shown below: ' - - + + diff --git a/OptionsWindow/OptionModule.vb b/OptionsWindow/OptionModule.vb index a270b20..2c6b128 100644 --- a/OptionsWindow/OptionModule.vb +++ b/OptionsWindow/OptionModule.vb @@ -24,6 +24,7 @@ Friend Module OptionModule Friend m_dDxfScaleFactor As Double Friend m_dStlScaleFactor As Double Friend m_dOffScaleFactor As Double + Friend m_dPlyScaleFactor As Double Friend m_dImgScaleFactor As Double Friend m_dAdvImpTolerance As Double @@ -120,6 +121,7 @@ Friend Module OptionModule m_dDxfScaleFactor = GetPrivateProfileDouble(S_IMPORT, K_DXFSCALE, 1) m_dStlScaleFactor = GetPrivateProfileDouble(S_IMPORT, K_STLSCALE, 1) m_dOffScaleFactor = GetPrivateProfileDouble(S_IMPORT, K_OFFSCALE, 1) + m_dPlyScaleFactor = GetPrivateProfileDouble(S_IMPORT, K_PLYSCALE, 1) m_dImgScaleFactor = GetPrivateProfileDouble(S_IMPORT, K_IMGSCALE, 1) m_dAdvImpTolerance = GetPrivateProfileDouble(S_IMPORT, K_ADVTOLER, 0.05) ' Inizializzo variabili per export diff --git a/OptionsWindow/OptionWindowV.xaml b/OptionsWindow/OptionWindowV.xaml index 988005b..58d41c0 100644 --- a/OptionsWindow/OptionWindowV.xaml +++ b/OptionsWindow/OptionWindowV.xaml @@ -151,6 +151,7 @@ + + + + - - 0 Then + OptionModule.m_dPlyScaleFactor = dVal + WritePrivateProfileString(S_IMPORT, K_PLYSCALE, DoubleToString(OptionModule.m_dPlyScaleFactor, 5)) + Map.refProjectVM.GetController().SetScaleForPLyImport(OptionModule.m_dPlyScaleFactor) + NotifyPropertyChanged("PlyScaleFactor") + End If + End Set + End Property + Public Property ImageScaleFactor As String Get Return LenToString(OptionModule.m_dImgScaleFactor, 5) @@ -562,6 +584,17 @@ Public Class OptionWindowVM End Set End Property + Private m_PlyScaleEnable As Boolean = False + Public Property PlyScaleEnable As Boolean + Get + Return m_PlyScaleEnable + End Get + Set(value As Boolean) + m_PlyScaleEnable = value + NotifyPropertyChanged("PlyScaleEnable") + End Set + End Property + Private m_ImageScaleEnable As Boolean = False Public Property ImageScaleEnable As Boolean Get @@ -648,6 +681,31 @@ Public Class OptionWindowVM End Set End Property + Public Property SelectedPlyScale As String + Get + If Math.Abs(OptionModule.m_dPlyScaleFactor - ONEMM) < EPS_SMALL * 10 Then + Return ScalePlyList(ScalePlyList.IndexOf("mm")) + ElseIf Math.Abs(OptionModule.m_dPlyScaleFactor - ONEINCH) < EPS_SMALL * 10 Then + Return ScalePlyList(ScalePlyList.IndexOf("inch")) + Else + PlyScaleEnable = True + Return ScalePlyList(ScalePlyList.IndexOf(EgtMsg(MSG_OPTIONPAGE + 46))) + End If + End Get + Set(value As String) + If value = "mm" Then + PlyScaleFactor = LenToString(ONEMM, 3) + PlyScaleEnable = False + ElseIf value = "inch" Then + PlyScaleFactor = LenToString(ONEINCH, 4) + PLyScaleEnable = False + Else + PLyScaleFactor = LenToString(OptionModule.m_dPlyScaleFactor, 4) + PLyScaleEnable = True + End If + End Set + End Property + Public Property SelectedImageScale As String Get If Math.Abs(OptionModule.m_dImgScaleFactor - ONEMM) < EPS_SMALL * 10 Then @@ -898,6 +956,11 @@ Public Class OptionWindowVM Return EgtMsg(6561) ' OFF End Get End Property + Public ReadOnly Property PlyScaleFactorMsg As String + Get + Return EgtMsg(6563) ' PLY + End Get + End Property Public ReadOnly Property ImageScaleFactorMsg As String Get Return EgtMsg(6522) ' Immagini diff --git a/Project/ProjectVM.vb b/Project/ProjectVM.vb index d9964c3..f1f7f33 100644 --- a/Project/ProjectVM.vb +++ b/Project/ProjectVM.vb @@ -406,6 +406,8 @@ Public Class ProjectVM ' Imposto default per import m_Controller.SetScaleForDxfImport(OptionModule.m_dDxfScaleFactor) m_Controller.SetScaleForStlImport(OptionModule.m_dStlScaleFactor) + m_Controller.SetScaleForOffImport(OptionModule.m_dOffScaleFactor) + m_Controller.SetScaleForPlyImport(OptionModule.m_dPlyScaleFactor) m_Controller.SetScaleForImageImport(OptionModule.m_dImgScaleFactor) ' Imposto default per export m_Controller.SetDefaultForDxfExport(OptionModule.m_nExportDxfFlag) @@ -608,7 +610,7 @@ Public Class ProjectVM Select Case nFileType Case FT.NGE, FT.NFE Return m_Controller.OpenProject(sFile, False) - Case FT.DXF, FT.STL, FT._3MF, FT._3DM, FT.OFF, FT.OBJ, FT.CNC, FT.CSF, FT.BTL, FT.BTLX, FT.IMG, FT.PNT, FT.IGES, FT.STEP_, FT.ACIS, FT.PARASOLID, FT.JT, FT.VRML, FT.C3D + Case FT.DXF, FT.STL, FT._3MF, FT._3DM, FT.OFF, FT.PLY, FT.OBJ, FT.CNC, FT.CSF, FT.BTL, FT.BTLX, FT.IMG, FT.PNT, FT.IGES, FT.STEP_, FT.ACIS, FT.PARASOLID, FT.JT, FT.VRML, FT.C3D Return m_Controller.ImportProject(sFile, False) Case FT.TSC, FT.LUA Return m_Controller.Exec(sFile, False)