diff --git a/EgtBEAMWALL.Core/BTL Model/BTLFeatureM.vb b/EgtBEAMWALL.Core/BTLModel/BTLFeatureM.vb
similarity index 100%
rename from EgtBEAMWALL.Core/BTL Model/BTLFeatureM.vb
rename to EgtBEAMWALL.Core/BTLModel/BTLFeatureM.vb
diff --git a/EgtBEAMWALL.Core/BTL Model/BTLParamM.vb b/EgtBEAMWALL.Core/BTLModel/BTLParamM.vb
similarity index 100%
rename from EgtBEAMWALL.Core/BTL Model/BTLParamM.vb
rename to EgtBEAMWALL.Core/BTLModel/BTLParamM.vb
diff --git a/EgtBEAMWALL.Core/BTL Model/BTLPartM.vb b/EgtBEAMWALL.Core/BTLModel/BTLPartM.vb
similarity index 100%
rename from EgtBEAMWALL.Core/BTL Model/BTLPartM.vb
rename to EgtBEAMWALL.Core/BTLModel/BTLPartM.vb
diff --git a/EgtBEAMWALL.Core/BTL Model/BTLStructureM.vb b/EgtBEAMWALL.Core/BTLModel/BTLStructureM.vb
similarity index 100%
rename from EgtBEAMWALL.Core/BTL Model/BTLStructureM.vb
rename to EgtBEAMWALL.Core/BTLModel/BTLStructureM.vb
diff --git a/EgtBEAMWALL.Core/BTL ViewModel/BTLFeatureVM.vb b/EgtBEAMWALL.Core/BTLViewModel/BTLFeatureVM.vb
similarity index 99%
rename from EgtBEAMWALL.Core/BTL ViewModel/BTLFeatureVM.vb
rename to EgtBEAMWALL.Core/BTLViewModel/BTLFeatureVM.vb
index 5b521e39..95534235 100644
--- a/EgtBEAMWALL.Core/BTL ViewModel/BTLFeatureVM.vb
+++ b/EgtBEAMWALL.Core/BTLViewModel/BTLFeatureVM.vb
@@ -242,6 +242,7 @@ Public Class BTLFeatureVM
EgtDeselectAll()
SelGeomFeature(nFeatureId)
End Sub
+
Private Sub SelGeomFeature(nMyFeatureId As Integer)
EgtSelectObj(nMyFeatureId)
Dim sVal As String = ""
diff --git a/EgtBEAMWALL.Core/Integration/CalcEndEventArgs.vb b/EgtBEAMWALL.Core/CALCPanel/CalcEndEventArgs.vb
similarity index 100%
rename from EgtBEAMWALL.Core/Integration/CalcEndEventArgs.vb
rename to EgtBEAMWALL.Core/CALCPanel/CalcEndEventArgs.vb
diff --git a/EgtBEAMWALL.Core/Integration/CalcIntegration.vb b/EgtBEAMWALL.Core/CALCPanel/CalcIntegration.vb
similarity index 100%
rename from EgtBEAMWALL.Core/Integration/CalcIntegration.vb
rename to EgtBEAMWALL.Core/CALCPanel/CalcIntegration.vb
diff --git a/EgtBEAMWALL.Core/Integration/CalcProcessEndEventArgs.vb b/EgtBEAMWALL.Core/CALCPanel/CalcProcessEndEventArgs.vb
similarity index 100%
rename from EgtBEAMWALL.Core/Integration/CalcProcessEndEventArgs.vb
rename to EgtBEAMWALL.Core/CALCPanel/CalcProcessEndEventArgs.vb
diff --git a/EgtBEAMWALL.Core/Integration/CalcResultEventArgs.vb b/EgtBEAMWALL.Core/CALCPanel/CalcResultEventArgs.vb
similarity index 100%
rename from EgtBEAMWALL.Core/Integration/CalcResultEventArgs.vb
rename to EgtBEAMWALL.Core/CALCPanel/CalcResultEventArgs.vb
diff --git a/EgtBEAMWALL.Core/Constants/ConstBeam.vb b/EgtBEAMWALL.Core/Constants/ConstBeam.vb
index ff502ac2..f09ac90f 100644
--- a/EgtBEAMWALL.Core/Constants/ConstBeam.vb
+++ b/EgtBEAMWALL.Core/Constants/ConstBeam.vb
@@ -30,8 +30,9 @@
Enum CalcStates As Integer
NOTCALCULATED = -1
OK = 0
- WARNING = 1
- ERROR_ = 2
+ INFO = 1
+ WARNING = 2
+ ERROR_ = 3
End Enum
Public Enum Range As Integer
@@ -119,164 +120,169 @@
WALL = 2
End Enum
- Friend Const PROJ As String = "PROJ"
- Friend Const FILENAMESEPARATOR As Char = "^"c
- Friend Const BTLINFO As String = "BtlInfo"
+ Public Const PROJ As String = "PROJ"
+ Public Const FILENAMESEPARATOR As Char = "^"c
+ Public Const BTLINFO As String = "BtlInfo"
+
+ ' layer per assemblato
+ Public Const ASSEBASE As String = "AsseBase"
' info parametri BTL
- Friend Const BTL_PRT_PROJ As String = "PROJ"
- Friend Const BTL_PRT_PDN As String = "PDN"
- Friend Const BTL_PRT_DO As String = "DO"
- Friend Const BTL_PRT_NAM As String = "NAM"
- Friend Const BTL_PRT_L As String = "L"
- Friend Const BTL_PRT_W As String = "W"
- Friend Const BTL_PRT_H As String = "H"
- Friend Const BTL_PRT_CNT As String = "CNT"
- Friend Const BTL_PRT_ADDED As String = "ADDED"
- Friend Const BTL_PRT_DONE As String = "DONE"
- Friend Const BTL_PRT_ROTATED As String = "ROTATED"
- Friend Const BTL_PRT_INVERTED As String = "INVERTED"
- Friend Const BTL_PRT_MATERIAL As String = "MATERIAL"
+ Public Const BTL_PRT_PROJ As String = "PROJ"
+ Public Const BTL_PRT_PDN As String = "PDN"
+ Public Const BTL_PRT_DO As String = "DO"
+ Public Const BTL_PRT_NAM As String = "NAM"
+ Public Const BTL_PRT_L As String = "L"
+ Public Const BTL_PRT_W As String = "W"
+ Public Const BTL_PRT_H As String = "H"
+ Public Const BTL_PRT_CNT As String = "CNT"
+ Public Const BTL_PRT_ADDED As String = "ADDED"
+ Public Const BTL_PRT_DONE As String = "DONE"
+ Public Const BTL_PRT_ROTATED As String = "ROTATED"
+ Public Const BTL_PRT_INVERTED As String = "INVERTED"
+ Public Const BTL_PRT_MATERIAL As String = "MATERIAL"
' parametri pezzo
- Friend Const BTL_PRT_SINGLEMEMBERNUM = "SINGLEMEMBERNUMBER"
- Friend Const BTL_PRT_ASSEMBLYNUM = "ASSEMBLYNUMBER"
- Friend Const BTL_PRT_ORDERNUM = "ORDERNUMBER"
- Friend Const BTL_PRT_DESIGNATION = "DESIGNATION"
- Friend Const BTL_PRT_ANNOTATION = "ANNOTATION"
- Friend Const BTL_PRT_STOREY = "STOREY"
- Friend Const BTL_PRT_GROUP = "GROUP"
- Friend Const BTL_PRT_PACKAGE = "PACKAGE"
- Friend Const BTL_PRT_TIMBERGRADE = "TIMBERGRADE"
- Friend Const BTL_PRT_QUALITYGRADE = "QUALITYGRADE"
- Friend Const BTL_PRT_COLOUR = "COLOUR"
- Friend Const BTL_PRT_PLANINGLENGTH = "PLANINGLENGTH"
- Friend Const BTL_PRT_STARTOFFSET = "STARTOFFSET"
- Friend Const BTL_PRT_ENDOFFSET = "ENDOFFSET"
- Friend Const BTL_PRT_UID = "UID"
- Friend Const BTL_PRT_TRANSFORMATION = "TRANSFORMATION"
- Friend Const BTL_PRT_CAMBER = "CAMBER"
- Friend Const BTL_PRT_PARTOFFSET = "PARTOFFSET"
- Friend Const BTL_PRT_PROCESSINGQUALITY = "PROCESSINGQUALITY"
- Friend Const BTL_PRT_RECESS = "RECESS"
- Friend Const BTL_PRT_STOREYTYPE = "STOREYTYPE"
- Friend Const BTL_PRT_ELEMENTNUM = "ELEMENTNUMBER"
- Friend Const BTL_PRT_LAYER = "LAYER"
- Friend Const BTL_PRT_MODULENUM = "MODULENUMBER"
+ Public Const BTL_PRT_SINGLEMEMBERNUM = "SINGLEMEMBERNUMBER"
+ Public Const BTL_PRT_ASSEMBLYNUM = "ASSEMBLYNUMBER"
+ Public Const BTL_PRT_ORDERNUM = "ORDERNUMBER"
+ Public Const BTL_PRT_DESIGNATION = "DESIGNATION"
+ Public Const BTL_PRT_ANNOTATION = "ANNOTATION"
+ Public Const BTL_PRT_STOREY = "STOREY"
+ Public Const BTL_PRT_GROUP = "GROUP"
+ Public Const BTL_PRT_PACKAGE = "PACKAGE"
+ Public Const BTL_PRT_TIMBERGRADE = "TIMBERGRADE"
+ Public Const BTL_PRT_QUALITYGRADE = "QUALITYGRADE"
+ Public Const BTL_PRT_COLOUR = "COLOUR"
+ Public Const BTL_PRT_PLANINGLENGTH = "PLANINGLENGTH"
+ Public Const BTL_PRT_STARTOFFSET = "STARTOFFSET"
+ Public Const BTL_PRT_ENDOFFSET = "ENDOFFSET"
+ Public Const BTL_PRT_UID = "UID"
+ Public Const BTL_PRT_TRANSFORMATION = "TRANSFORMATION"
+ Public Const BTL_PRT_CAMBER = "CAMBER"
+ Public Const BTL_PRT_PARTOFFSET = "PARTOFFSET"
+ Public Const BTL_PRT_PROCESSINGQUALITY = "PROCESSINGQUALITY"
+ Public Const BTL_PRT_RECESS = "RECESS"
+ Public Const BTL_PRT_STOREYTYPE = "STOREYTYPE"
+ Public Const BTL_PRT_ELEMENTNUM = "ELEMENTNUMBER"
+ Public Const BTL_PRT_LAYER = "LAYER"
+ Public Const BTL_PRT_MODULENUM = "MODULENUMBER"
'Friend Const BTL_PRT_USERATTRIBUTE = "USERATTRIBUTE"
- Friend Const BTL_PRT_COMMENT = "COMMENT"
- Friend Const BTL_PRT_GRAINDIR = "GRAINDIRECTION"
- Friend Const BTL_PRT_REFSIDE = "REFERENCESIDE"
- Friend Const BTL_PRT_ALIGNMENT = "ALIGNMENT"
- Friend Const BTL_PRT_MATERIALTYPE = "MATERIALTYPE"
+ Public Const BTL_PRT_COMMENT = "COMMENT"
+ Public Const BTL_PRT_GRAINDIR = "GRAINDIRECTION"
+ Public Const BTL_PRT_REFSIDE = "REFERENCESIDE"
+ Public Const BTL_PRT_ALIGNMENT = "ALIGNMENT"
+ Public Const BTL_PRT_MATERIALTYPE = "MATERIALTYPE"
' parametri generici
- Friend Const BTL_GEN_PROJNUM = "PROJECTNUMBER"
- Friend Const BTL_GEN_PROJNAME = "PROJECTNAME"
- Friend Const BTL_GEN_PROJPART = "PROJECTPART"
- Friend Const BTL_GEN_PROJGUID = "PROJECTGUID"
- Friend Const BTL_GEN_PROJTYPE = "PROJECTTYPE"
- Friend Const BTL_GEN_LISTNAME = "LISTNAME"
- Friend Const BTL_GEN_CUSTOMER = "CUSTOMER"
- Friend Const BTL_GEN_ARCHITECT = "ARCHITECT"
- Friend Const BTL_GEN_EDITOR = "EDITOR"
- Friend Const BTL_GEN_DELIVDATE = "DELIVERYDATE"
- Friend Const BTL_GEN_EXPDATE = "EXPORTDATE"
- Friend Const BTL_GEN_EXPTIME = "EXPORTTIME"
- Friend Const BTL_GEN_EXPRELEASE = "EXPORTRELEASE"
- Friend Const BTL_GEN_LANGUAGE = "LANGUAGE"
- Friend Const BTL_GEN_RANGE = "RANGE"
- Friend Const BTL_GEN_COMPUTERNAME = "COMPUTERNAME"
- Friend Const BTL_GEN_USER = "USER"
- Friend Const BTL_GEN_SRCFILE = "SOURCEFILE"
- Friend Const BTL_GEN_EXPFILE = "EXPORTFILE"
- Friend Const BTL_GEN_USERATTRIBUTE = "USERATTRIBUTE"
+ Public Const BTL_GEN_PROJNUM = "PROJECTNUMBER"
+ Public Const BTL_GEN_PROJNAME = "PROJECTNAME"
+ Public Const BTL_GEN_PROJPART = "PROJECTPART"
+ Public Const BTL_GEN_PROJGUID = "PROJECTGUID"
+ Public Const BTL_GEN_PROJTYPE = "PROJECTTYPE"
+ Public Const BTL_GEN_LISTNAME = "LISTNAME"
+ Public Const BTL_GEN_CUSTOMER = "CUSTOMER"
+ Public Const BTL_GEN_ARCHITECT = "ARCHITECT"
+ Public Const BTL_GEN_EDITOR = "EDITOR"
+ Public Const BTL_GEN_DELIVDATE = "DELIVERYDATE"
+ Public Const BTL_GEN_EXPDATE = "EXPORTDATE"
+ Public Const BTL_GEN_EXPTIME = "EXPORTTIME"
+ Public Const BTL_GEN_EXPRELEASE = "EXPORTRELEASE"
+ Public Const BTL_GEN_LANGUAGE = "LANGUAGE"
+ Public Const BTL_GEN_RANGE = "RANGE"
+ Public Const BTL_GEN_COMPUTERNAME = "COMPUTERNAME"
+ Public Const BTL_GEN_USER = "USER"
+ Public Const BTL_GEN_SRCFILE = "SOURCEFILE"
+ Public Const BTL_GEN_EXPFILE = "EXPORTFILE"
+ Public Const BTL_GEN_USERATTRIBUTE = "USERATTRIBUTE"
- Friend Const PROCESSINGS As String = "Processings"
- Friend Const OUTLINE As String = "Outline"
- Friend Const BTL_FTR_GRP As String = "GRP"
- Friend Const BTL_FTR_PRC As String = "PRC"
- Friend Const BTL_FTR_DO As String = "DO"
- Friend Const BTL_FTR_SIDE As String = "SIDE"
- Friend Const BTL_FTR_NAME As String = "NAME"
- Friend Const BTL_FTR_DES As String = "DES"
- Friend Const BTL_FTR_PRID As String = "PRID"
- Friend Const BTL_FTR_FRAME As String = "FRAME"
- Friend Const BTL_FTR_MAINID As String = "MAINID"
- Friend Const BTL_FTR_ADJID As String = "ADJID"
- Friend Const BTL_FTR_AUXID As String = "AUXID"
+ Public Const PROCESSINGS As String = "Processings"
+ Public Const OUTLINE As String = "Outline"
+ Public Const BTL_FTR_GRP As String = "GRP"
+ Public Const BTL_FTR_PRC As String = "PRC"
+ Public Const BTL_FTR_DO As String = "DO"
+ Public Const BTL_FTR_SIDE As String = "SIDE"
+ Public Const BTL_FTR_NAME As String = "NAME"
+ Public Const BTL_FTR_DES As String = "DES"
+ Public Const BTL_FTR_PRID As String = "PRID"
+ Public Const BTL_FTR_FRAME As String = "FRAME"
+ Public Const BTL_FTR_MAINID As String = "MAINID"
+ Public Const BTL_FTR_ADJID As String = "ADJID"
+ Public Const BTL_FTR_AUXID As String = "AUXID"
' parametri machgroup grezzi
- Friend Const MGR_RPT_ID As String = "ID"
- Friend Const MGR_RPT_L As String = "L"
- Friend Const MGR_RPT_W As String = "W"
- Friend Const MGR_RPT_H As String = "H"
- Friend Const MGR_RPT_WASTE As String = "WASTE"
- Friend Const MGR_RPT_USAGE As String = "USAGE"
- Friend Const MGR_RPT_STARTCUT As String = "STARTCUT"
- Friend Const MGR_RPT_MATERIAL As String = "MATERIAL"
+ Public Const MGR_RPT_ID As String = "ID"
+ Public Const MGR_RPT_L As String = "L"
+ Public Const MGR_RPT_W As String = "W"
+ Public Const MGR_RPT_H As String = "H"
+ Public Const MGR_RPT_WASTE As String = "WASTE"
+ Public Const MGR_RPT_USAGE As String = "USAGE"
+ Public Const MGR_RPT_STARTCUT As String = "STARTCUT"
+ Public Const MGR_RPT_MATERIAL As String = "MATERIAL"
- Friend Const MGR_PRT_PDN As String = "PDN"
- Friend Const MGR_PRT_L As String = "L"
- Friend Const MGR_PRT_W As String = "W"
- Friend Const MGR_PRT_H As String = "H"
- Friend Const MGR_PRT_DES As String = "DES"
- Friend Const MGR_PRT_STARTCUT As String = "STARTCUT"
- Friend Const MGR_PRT_MATERIAL As String = "MATERIAL"
- Friend Const MGR_PRT_ROT As String = "ROT"
- Friend Const MGR_PRT_FLIP As String = "FLIP"
- Friend Const MGR_PRT_POSX As String = "POSX"
- Friend Const MGR_PRT_POSY As String = "POSY"
+ Public Const MGR_PRT_PDN As String = "PDN"
+ Public Const MGR_PRT_L As String = "L"
+ Public Const MGR_PRT_W As String = "W"
+ Public Const MGR_PRT_H As String = "H"
+ Public Const MGR_PRT_DES As String = "DES"
+ Public Const MGR_PRT_STARTCUT As String = "STARTCUT"
+ Public Const MGR_PRT_MATERIAL As String = "MATERIAL"
+ Public Const MGR_PRT_DO As String = "DO"
+ Public Const MGR_PRT_ROT As String = "ROT"
+ Public Const MGR_PRT_FLIP As String = "FLIP"
+ Public Const MGR_PRT_POSX As String = "POSX"
+ Public Const MGR_PRT_POSY As String = "POSY"
- Friend Const MGR_FTR_GRP As String = "GRP"
- Friend Const MGR_FTR_PRC As String = "PRC"
- Friend Const MGR_FTR_DO As String = "DO"
- Friend Const MGR_FTR_SIDE As String = "SIDE"
- Friend Const MGR_FTR_NAME As String = "NAME"
- Friend Const MGR_FTR_DES As String = "DES"
- Friend Const MGR_FTR_PRID As String = "PRID"
- Friend Const MGR_FTR_FRAME As String = "FRAME"
+ Public Const MGR_FTR_GRP As String = "GRP"
+ Public Const MGR_FTR_PRC As String = "PRC"
+ Public Const MGR_FTR_DO As String = "DO"
+ Public Const MGR_FTR_SIDE As String = "SIDE"
+ Public Const MGR_FTR_NAME As String = "NAME"
+ Public Const MGR_FTR_DES As String = "DES"
+ Public Const MGR_FTR_PRID As String = "PRID"
+ Public Const MGR_FTR_FRAME As String = "FRAME"
' parametri creazione barre
- Friend Const MGR_RPT_BARLEN As String = "BARLEN"
- Friend Const MGR_RPT_BARHEIGHT As String = "BARHEIGHT"
- Friend Const MGR_RPT_BARWIDTH As String = "BARWIDTH"
- Friend Const MGR_RPT_PANELLEN As String = "PANELLEN"
- Friend Const MGR_RPT_PANELWIDTH As String = "PANELWIDTH"
- Friend Const MGR_RPT_PANELHEIGHT As String = "PANELHEIGHT"
- Friend Const MGR_RPT_PART As String = "PART"
+ Public Const MGR_RPT_BARLEN As String = "BARLEN"
+ Public Const MGR_RPT_BARHEIGHT As String = "BARHEIGHT"
+ Public Const MGR_RPT_BARWIDTH As String = "BARWIDTH"
+ Public Const MGR_RPT_PANELLEN As String = "PANELLEN"
+ Public Const MGR_RPT_PANELWIDTH As String = "PANELWIDTH"
+ Public Const MGR_RPT_PANELHEIGHT As String = "PANELHEIGHT"
+ Public Const MGR_RPT_PART As String = "PART"
' parametri P per comunicazione con la macchina
Public Const MGR_RPT_PRODID As String = "PRODID"
Public Const MGR_RPT_PATTID As String = "PATTID"
' parametri errori integration
- Friend Const ITG_CUTID As String = "CUTID"
- Friend Const ITG_TASKID As String = "TASKID"
- Friend Const ITG_PROJ_ERR As String = "PROJ_ERR"
- Friend Const ITG_PROJ_MSG As String = "PROJ_MSG"
- Friend Const ITG_PROJ_ROT As String = "PROJ_ROT"
- Friend Const ITG_PROJ_FALL As String = "PROJ_FALL"
- Friend Const ITG_PROJ_TIME As String = "PROJ_TIME"
+ Public Const ITG_CUTID As String = "CUTID"
+ Public Const ITG_TASKID As String = "TASKID"
+ Public Const ITG_PROJ_ERR As String = "PROJ_ERR"
+ Public Const ITG_PROJ_MSG As String = "PROJ_MSG"
+ Public Const ITG_PROJ_ROT As String = "PROJ_ROT"
+ Public Const ITG_PROJ_FALL As String = "PROJ_FALL"
+ Public Const ITG_PROJ_TIME As String = "PROJ_TIME"
' parametri errori integration
- Friend Const ITG_PROD_ERR As String = "PROD_ERR"
- Friend Const ITG_PROD_MSG As String = "PROD_MSG"
- Friend Const ITG_PROD_ROT As String = "PROD_ROT"
- Friend Const ITG_PROD_FALL As String = "PROD_FALL"
- Friend Const ITG_PROD_TIME As String = "PROD_TIME"
+ Public Const ITG_PROD_ERR As String = "PROD_ERR"
+ Public Const ITG_PROD_MSG As String = "PROD_MSG"
+ Public Const ITG_PROD_ROT As String = "PROD_ROT"
+ Public Const ITG_PROD_FALL As String = "PROD_FALL"
+ Public Const ITG_PROD_TIME As String = "PROD_TIME"
' parametri errori integration
- Friend Const DUPLO_TODELETE As String = "DUPLO_TODELETE"
+ Public Const DUPLO_TODELETE As String = "DUPLO_TODELETE"
' parametri warehouse
- Friend Const WRH_BEAM As String = "BEAM"
- Friend Const WRH_WALL As String = "WALL"
- Friend Const WRH_CURRENT As String = "Current"
- Friend Const WRH_STARTOFFSET As String = "StartOffset"
- Friend Const WRH_OFFSET As String = "Offset"
- Friend Const WRH_L As String = "L"
- Friend Const WRH_KERF As String = "Kerf"
- Friend Const WRH_S As String = "S"
+ Public Const WRH_BEAM As String = "BEAM"
+ Public Const WRH_WALL As String = "WALL"
+ Public Const WRH_CURRENT As String = "Current"
+ Public Const WRH_STARTOFFSET As String = "StartOffset"
+ Public Const WRH_OFFSET As String = "Offset"
+ Public Const WRH_QUANTITY As String = "Quantity"
+ Public Const WRH_L As String = "L"
+ Public Const WRH_KERF As String = "Kerf"
+ Public Const WRH_S As String = "S"
' parametri import/export
Public Const EXP_PROJ As String = "EXPORTPROJ"
diff --git a/EgtBEAMWALL.Core/Constants/ConstDataGridColumnsIni.vb b/EgtBEAMWALL.Core/Constants/ConstDataGridColumnsIni.vb
index 9e92fba1..bd096fc6 100644
--- a/EgtBEAMWALL.Core/Constants/ConstDataGridColumnsIni.vb
+++ b/EgtBEAMWALL.Core/Constants/ConstDataGridColumnsIni.vb
@@ -9,8 +9,15 @@
Public Const S_RAWPARTLIST_WALL As String = "DG_RawPartList_WALL"
Public Const S_PARTINRAWPARTLIST_BEAM As String = "DG_PartInRawPartList_BEAM"
Public Const S_PARTINRAWPARTLIST_WALL As String = "DG_PartInRawPartList_WALL"
+ Public Const S_PARAMETERLIST_P As String = "DG_ParameterList_P"
+ Public Const S_PARAMETERLIST_Q As String = "DG_ParameterList_Q"
Public Const S_RAWPARTLIST_SUPERVISOR As String = "DG_RawPartList_SUPERVISOR"
Public Const S_PARTINRAWPARTLIST_SUPERVISOR As String = "DG_PartInRawPartList_SUPERVISOR"
Public Const S_FEATUREINPARTINRAWPARTLIST_SUPERVISOR As String = "DG_FeatureInPartInRawPartList_SUPERVISOR"
+ Public Const S_PARTLIST As String = "DG_PartList"
+ Public Const S_FEATUREINPARTINRAWPARTLIST As String = "DG_FeatureInPartInRawPartList"
+ Public Const S_STATISTICS As String = "DG_Statistics"
+ Public Const S_OPTIMIZERSTATISTICS As String = "DG_OptimizerStatistics"
+ Public Const S_BEAMMACHININGS As String = "DG_BeamMachinings"
End Module
diff --git a/EgtBEAMWALL.ViewerOptimizer/Constants/ConstGen.vb b/EgtBEAMWALL.Core/Constants/ConstGen.vb
similarity index 96%
rename from EgtBEAMWALL.ViewerOptimizer/Constants/ConstGen.vb
rename to EgtBEAMWALL.Core/Constants/ConstGen.vb
index c406beea..ef451149 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Constants/ConstGen.vb
+++ b/EgtBEAMWALL.Core/Constants/ConstGen.vb
@@ -11,7 +11,7 @@
'
'----------------------------------------------------------------------------
-Module ConstGen
+Public Module ConstGen
' File con direttorio radice dei dati
Public Const DAT_FILE_NAME As String = "DataRoot.Ini"
@@ -33,7 +33,7 @@ Module ConstGen
End Enum
' Abilitazioni licenza
- Friend Enum KEY_OPT As UInteger
+ Public Enum KEY_OPT As UInteger
BEAM = 1
WALL = 2
NESTING_AUTO = 4
@@ -48,7 +48,7 @@ Module ConstGen
Public Const CONF_DIR As String = "Config"
' Sottodirettorio delle risorse
Public Const RES_DIR As String = "Resources"
- ' Sottodirettorio temporaneo
+ ' Sottodirettorio temporaneo
Public Const TEMP_DIR As String = "Temp"
' Sottodirettorio per Cam automatico
Public Const PROJS_DIR As String = "Projs"
diff --git a/EgtBEAMWALL.Core/Constants/ConstIni.vb b/EgtBEAMWALL.Core/Constants/ConstIni.vb
index f62aeddd..2b3c53ab 100644
--- a/EgtBEAMWALL.Core/Constants/ConstIni.vb
+++ b/EgtBEAMWALL.Core/Constants/ConstIni.vb
@@ -11,88 +11,88 @@
'
'----------------------------------------------------------------------------
-Module ConstIni
+Public Module ConstIni
Public Const INI_FILE_NAME As String = "EgtBEAMWALL.ini"
- Public Const S_GENERAL As String = "General"
- Public Const K_DEBUG As String = "Debug"
- Public Const K_LICENCE As String = "Licence"
- Public Const K_USERLEVEL As String = "UserLevel"
- Public Const K_MAXINST As String = "MaxInstances"
+ 'Public Const S_GENERAL As String = "General"
+ 'Public Const K_DEBUG As String = "Debug"
+ 'Public Const K_LICENCE As String = "Licence"
+ 'Public Const K_USERLEVEL As String = "UserLevel"
+ 'Public Const K_MAXINST As String = "MaxInstances"
Public Const K_MAXCAMINST As String = "MaxCamInstances"
- Public Const K_INSTANCES As String = "Instances"
- Public Const K_COMMANDLOG As String = "CommandLog"
- Public Const K_MESSAGESDIR As String = "MessagesDir"
- Public Const K_MESSAGES As String = "Messages"
- Public Const K_WINPLACE As String = "WinPlace"
- Public Const K_LASTPROJ As String = "LastProj"
- Public Const K_AUTOLOADLASTPROJ As String = "AutoLoadLastProj"
+ 'Public Const K_INSTANCES As String = "Instances"
+ 'Public Const K_COMMANDLOG As String = "CommandLog"
+ 'Public Const K_MESSAGESDIR As String = "MessagesDir"
+ 'Public Const K_MESSAGES As String = "Messages"
+ 'Public Const K_WINPLACE As String = "WinPlace"
+ 'Public Const K_LASTPROJ As String = "LastProj"
+ 'Public Const K_AUTOLOADLASTPROJ As String = "AutoLoadLastProj"
Public Const K_LASTIMPDIR As String = "LastImpDir"
Public Const K_PROJSINDEX As String = "ProjsIndex"
Public Const K_PRODSINDEX As String = "ProdsIndex"
- Public Const K_SUPPORT As String = "Support"
+ 'Public Const K_SUPPORT As String = "Support"
Public Const K_WAREHOUSE As String = "Warehouse"
- Public Const S_LANGUAGES As String = "Languages"
- Public Const K_LANGUAGE As String = "Language"
+ 'Public Const S_LANGUAGES As String = "Languages"
+ 'Public Const K_LANGUAGE As String = "Language"
- Public Const S_LUA As String = "Lua"
- Public Const K_LIBSDIR As String = "LibsDir"
- Public Const K_BASELIB As String = "BaseLib"
+ 'Public Const S_LUA As String = "Lua"
+ 'Public Const K_LIBSDIR As String = "LibsDir"
+ 'Public Const K_BASELIB As String = "BaseLib"
- Public Const S_GEOMDB As String = "GeomDB"
- Public Const K_DEFAULTFONT As String = "DefaultFont"
- Public Const K_NFEFONTDIR As String = "NfeFontDir"
- Public Const K_DEFAULTCOLOR As String = "DefaultColor"
- Public Const K_SAVETYPE As String = "SaveType"
+ 'Public Const S_GEOMDB As String = "GeomDB"
+ 'Public Const K_DEFAULTFONT As String = "DefaultFont"
+ 'Public Const K_NFEFONTDIR As String = "NfeFontDir"
+ 'Public Const K_DEFAULTCOLOR As String = "DefaultColor"
+ 'Public Const K_SAVETYPE As String = "SaveType"
- Public Const S_OPENGL As String = "OpenGL"
- Public Const K_DOUBLEBUFFER As String = "DoubleBuffer"
- Public Const K_COLORBITS As String = "ColorBits"
- Public Const K_DEPTHBITS As String = "DepthBits"
- Public Const K_DRIVER As String = "Driver"
+ 'Public Const S_OPENGL As String = "OpenGL"
+ 'Public Const K_DOUBLEBUFFER As String = "DoubleBuffer"
+ 'Public Const K_COLORBITS As String = "ColorBits"
+ 'Public Const K_DEPTHBITS As String = "DepthBits"
+ 'Public Const K_DRIVER As String = "Driver"
- Public Const S_SCENE As String = "Scene"
- Public Const K_BACKTOP As String = "BackTop"
- Public Const K_BACKBOTTOM As String = "BackBottom"
- Public Const K_SHOWGFRAME As String = "ShowGFrame"
- Public Const K_MARK As String = "Mark"
- Public Const K_SELSURF As String = "SelSurf"
- Public Const K_SHOWMODE As String = "ShowMode"
+ 'Public Const S_SCENE As String = "Scene"
+ 'Public Const K_BACKTOP As String = "BackTop"
+ 'Public Const K_BACKBOTTOM As String = "BackBottom"
+ 'Public Const K_SHOWGFRAME As String = "ShowGFrame"
+ 'Public Const K_MARK As String = "Mark"
+ 'Public Const K_SELSURF As String = "SelSurf"
+ 'Public Const K_SHOWMODE As String = "ShowMode"
Public Const K_SHOWBUILDING As String = "ShowBuilding"
- Public Const K_CURVEDIR As String = "CurveDir"
- Public Const K_SHOWTRIAADV As String = "ShowTriaAdv"
- Public Const K_SHOWZMAP As String = "ShowZmap"
- Public Const K_TEXMAXLINPIX As String = "TextureMaxLinPixels"
- Public Const K_ZOOMWIN As String = "ZoomWin"
- Public Const K_DISTLINE As String = "DistLine"
- Public Const K_MMUNITS As String = "MmUnits"
+ 'Public Const K_CURVEDIR As String = "CurveDir"
+ 'Public Const K_SHOWTRIAADV As String = "ShowTriaAdv"
+ 'Public Const K_SHOWZMAP As String = "ShowZmap"
+ 'Public Const K_TEXMAXLINPIX As String = "TextureMaxLinPixels"
+ 'Public Const K_ZOOMWIN As String = "ZoomWin"
+ 'Public Const K_DISTLINE As String = "DistLine"
+ 'Public Const K_MMUNITS As String = "MmUnits"
- Public Const S_GRID As String = "Grid"
- Public Const K_SHOWGRID As String = "ShowGrid"
- Public Const K_SHOWFRAME As String = "ShowFrame"
- Public Const K_SNAPSTEP As String = "SnapStep"
- Public Const K_SNAPSTEPINCH As String = "SnapStepInch"
- Public Const K_MINLINESSTEP As String = "MinLineSStep"
- Public Const K_MAJLINESSTEP As String = "MajLineSStep"
- Public Const K_EXTSSTEP As String = "ExtSStep"
- Public Const K_MINLNCOLOR As String = "MinLnColor"
- Public Const K_MAJLNCOLOR As String = "MajLnColor"
+ 'Public Const S_GRID As String = "Grid"
+ 'Public Const K_SHOWGRID As String = "ShowGrid"
+ 'Public Const K_SHOWFRAME As String = "ShowFrame"
+ 'Public Const K_SNAPSTEP As String = "SnapStep"
+ 'Public Const K_SNAPSTEPINCH As String = "SnapStepInch"
+ 'Public Const K_MINLINESSTEP As String = "MinLineSStep"
+ 'Public Const K_MAJLINESSTEP As String = "MajLineSStep"
+ 'Public Const K_EXTSSTEP As String = "ExtSStep"
+ 'Public Const K_MINLNCOLOR As String = "MinLnColor"
+ 'Public Const K_MAJLNCOLOR As String = "MajLnColor"
Public Const S_IMPORT As String = "Import"
Public Const K_BTLFLAG As String = "BtlFlag"
Public Const K_WALLBTLFLAG As String = "WallBtlFlag"
- Public Const S_MACH As String = "Mach"
- Public Const K_MACHINESDIR As String = "MachinesDir"
- Public Const K_TOOLMAKERSDIR As String = "ToolMakersDir"
- Public Const K_CURRMACH As String = "CurrMach"
+ 'Public Const S_MACH As String = "Mach"
+ 'Public Const K_MACHINESDIR As String = "MachinesDir"
+ 'Public Const K_TOOLMAKERSDIR As String = "ToolMakersDir"
+ 'Public Const K_CURRMACH As String = "CurrMach"
Public Const K_PASSWORD As String = "Password"
- Public Const S_SIMUL As String = "Simul"
- Public Const K_SLIDERX As String = "SliderX"
- Public Const K_SLIDERVAL As String = "SliderVal"
+ 'Public Const S_SIMUL As String = "Simul"
+ 'Public Const K_SLIDERX As String = "SliderX"
+ 'Public Const K_SLIDERVAL As String = "SliderVal"
Public Const S_BEAM As String = "Beam"
Public Const K_CALCPATH As String = "CalcPath"
@@ -103,7 +103,7 @@ Module ConstIni
Public Const K_WALLBASEDIR As String = "BaseDir"
Public Const K_WALLBWEEXEC As String = "BweExec"
- Public Const S_NEST As String = "Nest"
+ 'Public Const S_NEST As String = "Nest"
Public Const K_NESTEXEC As String = "NestExec"
Public Const K_SECTIONTIME As String = "SectionTime"
Public Const K_PARTTIME As String = "PartTime"
@@ -116,4 +116,7 @@ Module ConstIni
Public Const S_MRUPROJFILES As String = "MruProjFiles"
Public Const S_MRUPRODFILES As String = "MruProdFiles"
+ Public Const S_PRINTER As String = "Printer"
+ Public Const K_LINK As String = "Link"
+
End Module
diff --git a/EgtBEAMWALL.ViewerOptimizer/Constants/ConstMachIni.vb b/EgtBEAMWALL.Core/Constants/ConstMachIni.vb
similarity index 90%
rename from EgtBEAMWALL.ViewerOptimizer/Constants/ConstMachIni.vb
rename to EgtBEAMWALL.Core/Constants/ConstMachIni.vb
index a665a10d..a2e1f2ed 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Constants/ConstMachIni.vb
+++ b/EgtBEAMWALL.Core/Constants/ConstMachIni.vb
@@ -1,4 +1,4 @@
-Module ConstMachIni
+Public Module ConstMachIni
Public Const MACH_INI_FILE_NAME As String = "MachData.ini"
diff --git a/EgtBEAMWALL.Supervisor/Constants/ConstMsg.vb b/EgtBEAMWALL.Core/Constants/ConstMsg.vb
similarity index 99%
rename from EgtBEAMWALL.Supervisor/Constants/ConstMsg.vb
rename to EgtBEAMWALL.Core/Constants/ConstMsg.vb
index 61cab73a..26be9038 100644
--- a/EgtBEAMWALL.Supervisor/Constants/ConstMsg.vb
+++ b/EgtBEAMWALL.Core/Constants/ConstMsg.vb
@@ -1,4 +1,4 @@
-Module ConstMsg
+Public Module ConstMsg
Public Const MSG_SETUPERRORS As Integer = 5000 + 1470
diff --git a/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj b/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj
index 2661675f..9f1157ed 100644
--- a/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj
+++ b/EgtBEAMWALL.Core/EgtBEAMWALL.Core.vbproj
@@ -78,42 +78,39 @@
-
-
+
+
+
+ EgtDataGrid.xaml
-
-
-
-
-
+
+
+
+
-
-
+
+
-
-
+
+
-
-
-
+
-
-
-
+ True
@@ -130,30 +127,26 @@
Settings.settingsTrue
-
+
-
-
+
+ OpenProjectFileDialogV.xaml
-
-
-
+
+
+
-
-
+
+
-
-
-
-
diff --git a/EgtBEAMWALL.Core/BeamM.vb b/EgtBEAMWALL.Core/MachGroupModel/BeamM.vb
similarity index 100%
rename from EgtBEAMWALL.Core/BeamM.vb
rename to EgtBEAMWALL.Core/MachGroupModel/BeamM.vb
diff --git a/EgtBEAMWALL.Core/MachGroup Model/BeamMachGroupM.vb b/EgtBEAMWALL.Core/MachGroupModel/BeamMachGroupM.vb
similarity index 96%
rename from EgtBEAMWALL.Core/MachGroup Model/BeamMachGroupM.vb
rename to EgtBEAMWALL.Core/MachGroupModel/BeamMachGroupM.vb
index 2b6298f8..8d99f930 100644
--- a/EgtBEAMWALL.Core/MachGroup Model/BeamMachGroupM.vb
+++ b/EgtBEAMWALL.Core/MachGroupModel/BeamMachGroupM.vb
@@ -30,7 +30,7 @@ Public Class BeamMachGroupM
NewMachGroupM.m_Id = nId
NewMachGroupM.m_Name = sName
NewMachGroupM.m_Machine = sMachine
- NewMachGroupM.SetMachineType(MachineType.BEAM)
+ ' NewMachGroupM.SetMachineType(MachineType.BEAM)
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_BARLEN, NewMachGroupM.m_dL)
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_BARHEIGHT, NewMachGroupM.m_dH)
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_BARWIDTH, NewMachGroupM.m_dW)
@@ -51,7 +51,7 @@ Public Class BeamMachGroupM
If NewMachGroupM.m_Id = GDB_ID.NULL Then Return Nothing
NewMachGroupM.m_Name = sName
NewMachGroupM.m_Machine = sMachine
- NewMachGroupM.SetMachineType(MachineType.BEAM)
+ 'NewMachGroupM.SetMachineType(MachineType.BEAM)
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_BARLEN, NewMachGroupM.m_dL)
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_BARHEIGHT, NewMachGroupM.m_dH)
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_BARWIDTH, NewMachGroupM.m_dW)
@@ -72,7 +72,7 @@ Public Class BeamMachGroupM
NewMachGroupM.m_Id = nId
NewMachGroupM.m_Name = sName
NewMachGroupM.m_Machine = sMachine
- NewMachGroupM.SetMachineType(MachineType.BEAM)
+ 'NewMachGroupM.SetMachineType(MachineType.BEAM)
'EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_BARLEN, NewMachGroupM.m_dL)
'EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_BARHEIGHT, NewMachGroupM.m_dH)
'EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_BARWIDTH, NewMachGroupM.m_dW)
diff --git a/EgtBEAMWALL.Core/MachGroup Model/MyMachGroupM.vb b/EgtBEAMWALL.Core/MachGroupModel/MyMachGroupM.vb
similarity index 51%
rename from EgtBEAMWALL.Core/MachGroup Model/MyMachGroupM.vb
rename to EgtBEAMWALL.Core/MachGroupModel/MyMachGroupM.vb
index e36aaf61..eab49bae 100644
--- a/EgtBEAMWALL.Core/MachGroup Model/MyMachGroupM.vb
+++ b/EgtBEAMWALL.Core/MachGroupModel/MyMachGroupM.vb
@@ -5,18 +5,22 @@ Imports System.Windows.Media
Imports EgtUILib
Imports EgtWPFLib5
-Public MustInherit Class MyMachGroupM
+Public Class MyMachGroupM
Inherits MachGroupM
- Protected m_nMachineType As MachineType
- Public ReadOnly Property nMachineType As MachineType
+#Region "FIELDS & PROPERTIES"
+
+#Region "General"
+
+ Public Event PartAdded As EventHandler(Of PartAddedEventArgs)
+ Public Event PartRemoved As EventHandler(Of PartAddedEventArgs)
+
+ Protected m_nType As BWType
+ Public ReadOnly Property nType As BWType
Get
- Return m_nMachineType
+ Return m_nType
End Get
End Property
- Public Sub SetMachineType(nMachineType As MachineType)
- m_nMachineType = nMachineType
- End Sub
Protected m_dL As Double
Public Property dL As Double
@@ -74,14 +78,14 @@ Public MustInherit Class MyMachGroupM
Return m_dMatForPart
End Get
End Property
-
+
Protected m_nProdIndex As Integer = 0
Public Property nProdIndex As Integer
Get
Return m_nProdIndex
End Get
Set
- m_nProdIndex = value
+ m_nProdIndex = Value
End Set
End Property
@@ -120,6 +124,35 @@ Public MustInherit Class MyMachGroupM
End Set
End Property
+#End Region ' General
+
+#Region "Beam"
+
+ Protected m_dStartCut As Double
+ Public Property dStartCut As Double
+ Get
+ Return m_dStartCut
+ End Get
+ Set(value As Double)
+ m_dStartCut = value
+ End Set
+ End Property
+
+#End Region ' Beam
+
+#Region "Wall"
+
+ Protected m_nRawPartId As Integer = GDB_ID.NULL
+ Public ReadOnly Property nRawPartId As Integer
+ Get
+ Return m_nRawPartId
+ End Get
+ End Property
+
+#End Region ' Wall
+
+#Region "Calc"
+
Private m_nCALC_ERR As Integer
Public Property nCALC_ERR As Integer
Get
@@ -200,6 +233,10 @@ Public MustInherit Class MyMachGroupM
End Set
End Property
+#End Region ' Calc
+
+#Region "Supervisor"
+
Protected m_sSupervisorId As String
Public Property sSupervisorId As String
Get
@@ -230,49 +267,87 @@ Public MustInherit Class MyMachGroupM
m_nProductionState = nState
End Sub
+#End Region ' Supervisor
+
+#End Region ' FIELDS & PROPERTIES
+
#Region "CONSTRUCTOR"
- 'Sub New(nId As Integer, sName As String, sMachine As String)
- ' MyBase.New(nId, sName, sMachine)
- ' 'aggiorno lista pezzi
- ' RefreshPartList()
- 'End Sub
+ Protected Sub New()
+ End Sub
+
+ Public Overloads Shared Function CreateNewMachGroup() As MyMachGroupM
+ Return New MyMachGroupM
+ End Function
+
+ Public Overloads Shared Function CreateMyMachGroup(Type As BWType, nId As Integer, sName As String, sMachine As String) As MachGroupM
+ Dim NewMachGroupM As New MyMachGroupM
+ NewMachGroupM.m_Id = nId
+ NewMachGroupM.m_Name = sName
+ NewMachGroupM.m_Machine = sMachine
+ NewMachGroupM.m_nType = Type
+ If NewMachGroupM.m_nType = MachineType.BEAM Then
+ EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_BARLEN, NewMachGroupM.m_dL)
+ EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_BARHEIGHT, NewMachGroupM.m_dH)
+ EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_BARWIDTH, NewMachGroupM.m_dW)
+ NewMachGroupM.m_dTotMat = NewMachGroupM.m_dL
+ NewMachGroupM.m_PartMList = LoadParts(NewMachGroupM)
+ For Each Part In NewMachGroupM.m_PartMList
+ Part.UpdateOffset()
+ NewMachGroupM.m_dMatForPart += Part.dL
+ Next
+ Else
+ NewMachGroupM.m_nRawPartId = EgtGetFirstRawPart()
+ EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELLEN, NewMachGroupM.m_dL)
+ EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELWIDTH, NewMachGroupM.m_dW)
+ EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELHEIGHT, NewMachGroupM.m_dH)
+ NewMachGroupM.m_dTotMat = NewMachGroupM.m_dL * NewMachGroupM.m_dW
+ NewMachGroupM.m_PartMList = LoadParts(NewMachGroupM)
+ For Each Part In NewMachGroupM.m_PartMList
+ NewMachGroupM.m_dMatForPart += (Part.dL * Part.dW)
+ Next
+ End If
+ ReadMachGroupData(NewMachGroupM)
+ Return NewMachGroupM
+ End Function
+
+ Public Overloads Shared Function CreateMyMachGroup(Type As BWType, sName As String, sMachine As String) As MachGroupM
+ Dim NewMachGroupM As New MyMachGroupM
+ NewMachGroupM.m_Id = EgtAddMachGroup(sName, sMachine)
+ If NewMachGroupM.m_Id = GDB_ID.NULL Then Return Nothing
+ NewMachGroupM.m_Name = sName
+ NewMachGroupM.m_Machine = sMachine
+ NewMachGroupM.m_nType = Type
+ If NewMachGroupM.m_nType = MachineType.BEAM Then
+ EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_BARLEN, NewMachGroupM.m_dL)
+ EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_BARHEIGHT, NewMachGroupM.m_dH)
+ EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_BARWIDTH, NewMachGroupM.m_dW)
+ NewMachGroupM.m_dTotMat = NewMachGroupM.m_dL
+ NewMachGroupM.m_PartMList = LoadParts(NewMachGroupM)
+ For Each Part In NewMachGroupM.m_PartMList
+ Part.UpdateOffset()
+ NewMachGroupM.m_dMatForPart += Part.dL
+ Next
+ Else
+ NewMachGroupM.m_nRawPartId = EgtGetFirstRawPart()
+ EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELLEN, NewMachGroupM.m_dL)
+ EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELWIDTH, NewMachGroupM.m_dW)
+ EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELHEIGHT, NewMachGroupM.m_dH)
+ NewMachGroupM.m_dTotMat = NewMachGroupM.m_dL * NewMachGroupM.m_dW
+ NewMachGroupM.m_PartMList = LoadParts(NewMachGroupM)
+ For Each Part In NewMachGroupM.m_PartMList
+ NewMachGroupM.m_dMatForPart += (Part.dL * Part.dW)
+ Next
+ End If
+ ReadMachGroupData(NewMachGroupM)
+ Return NewMachGroupM
+ End Function
#End Region ' CONSTRUCTOR
#Region "METHODS"
- Public Event PartAdded As EventHandler(Of PartAddedEventArgs)
- Public Event PartRemoved As EventHandler(Of PartAddedEventArgs)
-
- Public Sub AddPart(PartM As PartM)
- If IsNothing(PartM) Then Return
- If Not m_PartMList.Contains(PartM) Then
- m_PartMList.Add(PartM)
- RaiseEvent PartAdded(Me, New PartAddedEventArgs(PartM))
- End If
- End Sub
-
- Public Sub RemovePart(PartM As PartM)
- If IsNothing(PartM) Then Return
- If m_PartMList.Contains(PartM) AndAlso m_PartMList.Remove(PartM) Then
- RaiseEvent PartRemoved(Me, New PartAddedEventArgs(PartM))
- End If
- End Sub
-
- Public Sub RemoveAllParts()
- If IsNothing(m_PartMList) Then Return
- For PartIndex = m_PartMList.Count - 1 To 0 Step -1
- Dim PartM As PartM = m_PartMList(PartIndex)
- If m_PartMList.Remove(PartM) Then
- RaiseEvent PartRemoved(Me, New PartAddedEventArgs(PartM))
- End If
- Next
- End Sub
-
- Public Function GetParts() As List(Of PartM)
- Return New List(Of PartM)(m_PartMList)
- End Function
+#Region "Machgroup"
Public Shared Sub ReadMachGroupData(NewMachgroup As MyMachGroupM)
' leggo materiale
@@ -306,14 +381,64 @@ Public MustInherit Class MyMachGroupM
End If
End If
EgtGetInfo(NewMachgroup.Id, ITG_PROD_TIME, NewMachgroup.m_nCALC_TIME)
-
End Sub
-#End Region ' METHODS
+ Public Overridable Sub RefreshPartList()
+ If m_nType = MachineType.BEAM Then
+ ' leggo StartCut da posizione primo pezzo
+ Dim sInfo As String = ""
+ Dim sSplitInfo() As String
+ Dim bFound As Boolean = False
+ EgtGetInfo(Id, MGR_RPT_PART & 1, sInfo)
+ If Not String.IsNullOrWhiteSpace(sInfo) Then
+ sSplitInfo = sInfo.Split(","c)
+ StringToDouble(sSplitInfo(1), m_dStartCut)
+ Else
+ m_dStartCut = 0
+ End If
+ ' aggiorno lista pezzi
+ RemoveAllParts()
+ Dim nRawPartId As Integer = EgtGetFirstRawPart()
+ While nRawPartId <> GDB_ID.NULL
+ Dim nPartId As Integer = EgtGetFirstPartInRawPart(nRawPartId)
+ If nPartId <> GDB_ID.NULL Then
+ Dim NewBeam As PartM = PartM.CreatePart(BWType.BEAM, Me, nPartId, nRawPartId)
+ AddPart(NewBeam)
+ NewBeam.UpdateOffset()
+ End If
+ nRawPartId = EgtGetNextRawPart(nRawPartId)
+ End While
+ Else
+ ' aggiorno lista pezzi
+ RemoveAllParts()
+ Dim nRawPartId As Integer = EgtGetFirstRawPart()
+ If nRawPartId <> GDB_ID.NULL Then
+ Me.m_nRawPartId = nRawPartId
+ End If
+ Dim nWallId As Integer = EgtGetFirstPartInRawPart(m_nRawPartId)
+ While nWallId <> GDB_ID.NULL
+ If nWallId <> GDB_ID.NULL Then
+ Dim NewWall As PartM = PartM.CreatePart(BWType.WALL, Me, nWallId, m_nRawPartId)
+ AddPart(NewWall)
+ End If
+ nWallId = EgtGetNextPartInRawPart(nWallId)
+ End While
+ End If
+ End Sub
- Public MustOverride Sub RefreshPartList()
-
- Public MustOverride Sub RefreshGroupData()
+ Public Overridable Sub RefreshGroupData()
+ If m_nType = MachineType.BEAM Then
+ EgtGetInfo(Id, MGR_RPT_BARLEN, dL)
+ EgtGetInfo(Id, MGR_RPT_BARHEIGHT, dH)
+ EgtGetInfo(Id, MGR_RPT_BARWIDTH, dW)
+ EgtGetInfo(Id, MGR_RPT_MATERIAL, sMATERIAL)
+ Else
+ EgtGetInfo(Id, MGR_RPT_PANELLEN, dL)
+ EgtGetInfo(Id, MGR_RPT_PANELWIDTH, dW)
+ EgtGetInfo(Id, MGR_RPT_PANELHEIGHT, dH)
+ EgtGetInfo(Id, MGR_RPT_MATERIAL, sMATERIAL)
+ End If
+ End Sub
Public Overridable Sub DeleteMachGroup()
' elimino tutte le copie
@@ -329,4 +454,66 @@ Public MustInherit Class MyMachGroupM
EgtRemoveMachGroup(Me.Id)
End Sub
+#End Region ' Machgroup
+
+#Region "Parts"
+
+ Private Shared Function LoadParts(NewMachGroupM As MyMachGroupM) As List(Of PartM)
+ Dim TempList As New List(Of PartM)
+ If NewMachGroupM.m_nType = MachineType.BEAM Then
+ Dim nRawPartId As Integer = EgtGetFirstRawPart()
+ While nRawPartId <> GDB_ID.NULL
+ Dim nPartId As Integer = EgtGetFirstPartInRawPart(nRawPartId)
+ If nPartId <> GDB_ID.NULL Then
+ Dim NewBeam As PartM = PartM.CreatePart(BWType.BEAM, NewMachGroupM, nPartId, nRawPartId)
+ TempList.Add(NewBeam)
+ End If
+ nRawPartId = EgtGetNextRawPart(nRawPartId)
+ End While
+ Else
+ Dim nWallId As Integer = EgtGetFirstPartInRawPart(NewMachGroupM.m_nRawPartId)
+ While nWallId <> GDB_ID.NULL
+ If nWallId <> GDB_ID.NULL Then
+ Dim NewWall As PartM = PartM.CreatePart(BWType.WALL, NewMachGroupM, nWallId, NewMachGroupM.m_nRawPartId)
+ TempList.Add(NewWall)
+ End If
+ nWallId = EgtGetNextPartInRawPart(nWallId)
+ End While
+ End If
+ Return TempList
+ End Function
+
+ Public Sub AddPart(PartM As PartM)
+ If IsNothing(PartM) Then Return
+ If Not m_PartMList.Contains(PartM) Then
+ m_PartMList.Add(PartM)
+ RaiseEvent PartAdded(Me, New PartAddedEventArgs(PartM))
+ End If
+ End Sub
+
+ Public Sub RemovePart(PartM As PartM)
+ If IsNothing(PartM) Then Return
+ If m_PartMList.Contains(PartM) AndAlso m_PartMList.Remove(PartM) Then
+ RaiseEvent PartRemoved(Me, New PartAddedEventArgs(PartM))
+ End If
+ End Sub
+
+ Public Sub RemoveAllParts()
+ If IsNothing(m_PartMList) Then Return
+ For PartIndex = m_PartMList.Count - 1 To 0 Step -1
+ Dim PartM As PartM = m_PartMList(PartIndex)
+ If m_PartMList.Remove(PartM) Then
+ RaiseEvent PartRemoved(Me, New PartAddedEventArgs(PartM))
+ End If
+ Next
+ End Sub
+
+ Public Function GetParts() As List(Of PartM)
+ Return New List(Of PartM)(m_PartMList)
+ End Function
+
+#End Region ' Parts
+
+#End Region ' METHODS
+
End Class
diff --git a/EgtBEAMWALL.Core/MachGroup Model/MyMachGroupPanelM.vb b/EgtBEAMWALL.Core/MachGroupModel/MyMachGroupPanelM.vb
similarity index 88%
rename from EgtBEAMWALL.Core/MachGroup Model/MyMachGroupPanelM.vb
rename to EgtBEAMWALL.Core/MachGroupModel/MyMachGroupPanelM.vb
index a99add57..a75c82bb 100644
--- a/EgtBEAMWALL.Core/MachGroup Model/MyMachGroupPanelM.vb
+++ b/EgtBEAMWALL.Core/MachGroupModel/MyMachGroupPanelM.vb
@@ -47,18 +47,12 @@ Public Class MyMachGroupPanelM
Dim bOk As Boolean = Machine.SearchMachine(sMachine, MachineList, UsedMachine)
If Not bOk OrElse UsedMachine.nType = MachineType.NULL Then
EgtOutLog("Machine incompatible with beam & wall machining!!")
- ElseIf UsedMachine.nType = MachineType.BEAM Then
- TempList.Add(BeamMachGroupM.CreateBeamMachGroup(nId, sName, sMachine))
- ElseIf UsedMachine.nType = MachineType.WALL Then
- TempList.Add(WallMachGroupM.CreateWallMachGroup(nId, sName, sMachine))
- ElseIf UsedMachine.nType = MachineType.BOTH Then
+ Else
Dim nBTLInfoLayerId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO)
Dim nPROJTYPE As Integer = BWType.NULL
EgtGetInfo(nBTLInfoLayerId, BTL_GEN_PROJTYPE, nPROJTYPE)
- If nPROJTYPE = BWType.BEAM Then
- TempList.Add(BeamMachGroupM.CreateBeamMachGroup(nId, sName, sMachine))
- ElseIf nPROJTYPE = BWType.WALL Then
- TempList.Add(WallMachGroupM.CreateWallMachGroup(nId, sName, sMachine))
+ If nPROJTYPE = BWType.BEAM Or nPROJTYPE = BWType.WALL Then
+ TempList.Add(MyMachGroupM.CreateMyMachGroup(nPROJTYPE, nId, sName, sMachine))
Else
EgtOutLog("Machine of beam & wall type, but project type not found!!")
End If
@@ -87,10 +81,15 @@ Public Class MyMachGroupPanelM
Dim bOk As Boolean = Machine.SearchMachine(sMachine, MachineList, UsedMachine)
If Not bOk OrElse UsedMachine.nType = MachineType.NULL Then
EgtOutLog("Machine incompatible with beam & wall machining!!")
- ElseIf UsedMachine.nType = MachineType.BEAM Then
- TempList.Add(BeamMachGroupM.CreateBeamMachGroup(nId, sName, sMachine))
- ElseIf UsedMachine.nType = MachineType.WALL Then
- TempList.Add(WallMachGroupM.CreateWallMachGroup(nId, sName, sMachine))
+ Else
+ Dim nBTLInfoLayerId As Integer = EgtGetFirstNameInGroup(GDB_ID.ROOT, BTLINFO)
+ Dim nPROJTYPE As Integer = BWType.NULL
+ EgtGetInfo(nBTLInfoLayerId, BTL_GEN_PROJTYPE, nPROJTYPE)
+ If nPROJTYPE = BWType.BEAM Or nPROJTYPE = BWType.WALL Then
+ TempList.Add(MyMachGroupM.CreateMyMachGroup(nPROJTYPE, nId, sName, sMachine))
+ Else
+ EgtOutLog("Machine of beam & wall type, but project type not found!!")
+ End If
End If
' rimuovo info
EgtRemoveInfo(nId, "UPDATEUI")
@@ -111,10 +110,8 @@ Public Class MyMachGroupPanelM
If nMachineType = MachineType.NULL Then
EgtOutLog("Machine incompatible with beam & wall machining!!")
Return Nothing
- ElseIf nMachineType = MachineType.BEAM Then
- MachGroupM = BeamMachGroupM.CreateBeamMachGroup(NewMachGroupID(), sMachName)
- ElseIf nMachineType = MachineType.WALL Then
- MachGroupM = WallMachGroupM.CreateWallMachGroup(NewMachGroupID(), sMachName)
+ Else
+ MachGroupM = MyMachGroupM.CreateMyMachGroup(nMachineType, NewMachGroupID(), sMachName)
End If
If IsNothing(MachGroupM) Then Return Nothing
AddMachGroup(MachGroupM)
diff --git a/EgtBEAMWALL.Core/PartM.vb b/EgtBEAMWALL.Core/MachGroupModel/PartM.vb
similarity index 54%
rename from EgtBEAMWALL.Core/PartM.vb
rename to EgtBEAMWALL.Core/MachGroupModel/PartM.vb
index d1179357..eac1e894 100644
--- a/EgtBEAMWALL.Core/PartM.vb
+++ b/EgtBEAMWALL.Core/MachGroupModel/PartM.vb
@@ -5,11 +5,22 @@ Imports System.Windows.Media
Imports EgtUILib
Imports EgtWPFLib5
-Public MustInherit Class PartM
+Public Class PartM
Inherits VMBase
#Region "FIELDS & PROPERTIES"
+#Region "General"
+
+ Public Event BTLFeatureAdded As EventHandler(Of BTLFeatureAddedEventArgs)
+
+ Protected m_nType As BWType
+ Public ReadOnly Property nType As BWType
+ Get
+ Return m_nType
+ End Get
+ End Property
+
Protected m_ParentMachGroup As MyMachGroupM
Public ReadOnly Property ParentMachGroup As MyMachGroupM
Get
@@ -63,10 +74,10 @@ Public MustInherit Class PartM
Public Property dL As Double
Get
Dim frBeam As New Frame3d
- EgtGetGroupGlobFrame( nPartId, frBeam)
- If IsX( frBeam.VersX(), EPS_SMALL) Then
+ EgtGetGroupGlobFrame(nPartId, frBeam)
+ If IsX(frBeam.VersX(), EPS_SMALL) Then
Return m_dBtlL
- ElseIf IsX( frBeam.VersY(), EPS_SMALL) Then
+ ElseIf IsX(frBeam.VersY(), EPS_SMALL) Then
Return m_dBtlH
Else
Return m_dBtlW
@@ -86,10 +97,10 @@ Public MustInherit Class PartM
Public Property dW As Double
Get
Dim frBeam As New Frame3d
- EgtGetGroupGlobFrame( nPartId, frBeam)
- If IsY( frBeam.VersX()) Then
+ EgtGetGroupGlobFrame(nPartId, frBeam)
+ If IsY(frBeam.VersX()) Then
Return m_dBtlL
- ElseIf IsY( frBeam.VersY()) Then
+ ElseIf IsY(frBeam.VersY()) Then
Return m_dBtlH
Else
Return m_dBtlW
@@ -109,10 +120,10 @@ Public MustInherit Class PartM
Public Property dH As Double
Get
Dim frBeam As New Frame3d
- EgtGetGroupGlobFrame( nPartId, frBeam)
- If IsZ( frBeam.VersX()) Then
+ EgtGetGroupGlobFrame(nPartId, frBeam)
+ If IsZ(frBeam.VersX()) Then
Return m_dBtlL
- ElseIf IsZ( frBeam.VersY()) Then
+ ElseIf IsZ(frBeam.VersY()) Then
Return m_dBtlH
Else
Return m_dBtlW
@@ -184,7 +195,85 @@ Public MustInherit Class PartM
End Set
End Property
- Protected m_nCALC_GlobalState As CalcStates = -1
+ Protected m_nBTLPartId As Integer
+ Public ReadOnly Property nBTLPartId As Integer
+ Get
+ Return m_nBTLPartId
+ End Get
+ End Property
+
+ ' lista delle feature del pezzo
+ Protected m_FeatureMList As List(Of BTLFeatureM)
+ Public Property FeatureMList As List(Of BTLFeatureM)
+ Get
+ Return m_FeatureMList
+ End Get
+ Set(value As List(Of BTLFeatureM))
+ m_FeatureMList = value
+ End Set
+ End Property
+
+#End Region ' General
+
+#Region "Beam"
+
+ ' Id del grezzo
+ Protected m_nRawPartId As Integer = GDB_ID.NULL
+ Public ReadOnly Property nRawPartId As Integer
+ Get
+ Return m_nRawPartId
+ End Get
+ End Property
+
+ Protected m_dOffset As Double
+ Public Property dOffset As Double
+ Get
+ Return m_dOffset
+ End Get
+ Set(value As Double)
+ m_dOffset = value
+ End Set
+ End Property
+
+#End Region ' Beam
+
+#Region "Wall"
+
+ Protected m_dPOSY As Double
+ Public Property dPOSY As Double
+ Get
+ Return m_dPOSY
+ End Get
+ Set(value As Double)
+ m_dPOSY = value
+ End Set
+ End Property
+
+ Protected m_dROT As Double
+ Public Property dROT As Double
+ Get
+ Return m_dROT
+ End Get
+ Set(value As Double)
+ m_dROT = value
+ End Set
+ End Property
+
+ Protected m_bFLIP As Boolean
+ Public Property bFLIP As Boolean
+ Get
+ Return m_bFLIP
+ End Get
+ Set(value As Boolean)
+ m_bFLIP = value
+ End Set
+ End Property
+
+#End Region ' Wall
+
+#Region "Calc"
+
+ Protected m_nCALC_GlobalState As CalcStates = CalcStates.NOTCALCULATED
Public Property nCALC_GlobalState As CalcStates
Get
Return m_nCALC_GlobalState
@@ -204,7 +293,7 @@ Public MustInherit Class PartM
End Set
End Property
- Protected m_nCALC_State As CalcStates = -1
+ Protected m_nCALC_State As CalcStates = CalcStates.NOTCALCULATED
Public Property nCALC_State As CalcStates
Get
Return m_nCALC_State
@@ -264,16 +353,19 @@ Public MustInherit Class PartM
End Set
End Property
- ' lista delle feature del pezzo
- Protected m_FeatureMList As List(Of BTLFeatureM)
- Public Property FeatureMList As List(Of BTLFeatureM)
+#End Region ' Calc
+
+#Region "Supervisor"
+
+ Protected m_nProductionState As Integer = 0
+ Public ReadOnly Property nProductionState As Integer
Get
- Return m_FeatureMList
+ Return m_nProductionState
End Get
- Set(value As List(Of BTLFeatureM))
- m_FeatureMList = value
- End Set
End Property
+ Public Sub SetProductionState(nState As CalcStates)
+ m_nProductionState = nState
+ End Sub
Protected m_dtStartTime As DateTime
Public Property dtStartTime As DateTime
@@ -295,22 +387,7 @@ Public MustInherit Class PartM
End Set
End Property
- Protected m_nProductionState As Integer = 0
- Public ReadOnly Property nProductionState As Integer
- Get
- Return m_nProductionState
- End Get
- End Property
- Public Sub SetProductionState(nState As CalcStates)
- m_nProductionState = nState
- End Sub
-
- Protected m_nBTLPartId As Integer
- Public ReadOnly Property nBTLPartId As Integer
- Get
- Return m_nBTLPartId
- End Get
- End Property
+#End Region ' Supervisor
#End Region ' FIELDS & PROPERTIES
@@ -326,11 +403,148 @@ Public MustInherit Class PartM
EgtSetCurrMachGroup(c)
End Sub
+ Public Shared Function CreatePart(Type As BWType, nParentMachGroup As MyMachGroupM, nPartId As Integer, nRawPartId As Integer) As PartM
+ Dim NewPartM As New PartM(nParentMachGroup, nPartId)
+ NewPartM.m_nType = Type
+ NewPartM.m_nRawPartId = nRawPartId
+ ' leggo info pezzo
+ EgtGetInfo(nPartId, BTL_PRT_PROJ, NewPartM.m_nProjId)
+ EgtGetInfo(nPartId, BTL_PRT_PDN, NewPartM.m_nPDN)
+ EgtGetInfo(nPartId, BTL_PRT_NAM, NewPartM.m_sNAM)
+ EgtGetInfo(nPartId, BTL_PRT_L, NewPartM.m_dBtlL)
+ EgtGetInfo(nPartId, BTL_PRT_W, NewPartM.m_dBtlW)
+ EgtGetInfo(nPartId, BTL_PRT_H, NewPartM.m_dBtlH)
+ EgtGetInfo(nPartId, BTL_PRT_CNT, NewPartM.m_nCNT)
+ EgtGetInfo(nPartId, BTL_PRT_GROUP, NewPartM.m_sGROUP)
+ EgtGetInfo(nPartId, BTL_PRT_MATERIAL, NewPartM.m_sMATERIAL)
+ Dim nTemp As Integer = 0
+ If Not EgtGetInfo(nPartId, BTL_PRT_ROTATED, nTemp) Then
+ nTemp = 0
+ End If
+ NewPartM.SetRotated(nTemp)
+ If Not EgtGetInfo(nPartId, BTL_PRT_INVERTED, nTemp) Then
+ nTemp = 0
+ End If
+ NewPartM.SetInverted(nTemp)
+ If NewPartM.m_nType = BWType.BEAM Then
+ ' leggo PosX
+ Dim sInfo As String = ""
+ Dim Index = 1
+ Dim sSplitInfo() As String = Nothing
+ Dim bFound As Boolean = False
+ While EgtGetInfo(NewPartM.m_ParentMachGroup.Id, MGR_RPT_PART & Index, sInfo)
+ If Not String.IsNullOrWhiteSpace(sInfo) Then
+ sSplitInfo = sInfo.Split(","c)
+ If sSplitInfo(0) = nPartId Then
+ bFound = True
+ Exit While
+ End If
+ End If
+ Index += 1
+ End While
+ If bFound Then
+ StringToDouble(sSplitInfo(1), NewPartM.m_dPOSX)
+ End If
+ Else
+ ' leggo PosX, PosY, Rot e Flip
+ EgtGetInfo(nPartId, MGR_PRT_POSX, NewPartM.m_dPOSX)
+ EgtGetInfo(nPartId, MGR_PRT_POSY, NewPartM.m_dPOSY)
+ EgtGetInfo(nPartId, MGR_PRT_ROT, NewPartM.m_dROT)
+ EgtGetInfo(nPartId, MGR_PRT_FLIP, NewPartM.m_bFLIP)
+ End If
+ ' leggo feature
+ NewPartM.m_FeatureMList = LoadBTLFeatures(nPartId)
+ ReadMachGroupData(NewPartM)
+ Return NewPartM
+ End Function
+
#End Region ' CONSTRUCTOR
#Region "METHODS"
- Public Event BTLFeatureAdded As EventHandler(Of BTLFeatureAddedEventArgs)
+#Region "Part"
+
+ Public Shared Sub ReadMachGroupData(NewPartM As PartM)
+ ' leggo calc error
+ Dim nErr As Integer = 0
+ Dim nRot As Integer = 0
+ Dim nFall As Integer = 0
+ Dim sMsg As String = ""
+ Dim bCalc As Boolean = False
+ bCalc = EgtGetInfo(NewPartM.nPartId, ITG_PROD_ERR, nErr)
+ EgtGetInfo(NewPartM.nPartId, ITG_PROD_ROT, nRot)
+ EgtGetInfo(NewPartM.nPartId, ITG_PROD_FALL, nFall)
+ EgtGetInfo(NewPartM.nPartId, ITG_PROD_MSG, sMsg)
+ If Not bCalc Then
+ NewPartM.m_nCALC_State = CalcStates.NOTCALCULATED
+ NewPartM.m_nCALC_ERR = -1
+ NewPartM.m_nCALC_ROT = 0
+ NewPartM.m_nCALC_FALL = 0
+ NewPartM.m_sCALC_MSG = ""
+ Else
+ NewPartM.m_nCALC_ERR = nErr
+ NewPartM.m_nCALC_ROT = nRot
+ NewPartM.m_nCALC_FALL = nFall
+ NewPartM.m_sCALC_MSG = sMsg
+ If nErr = 0 Then
+ NewPartM.nCALC_State = CalcStates.OK
+ ElseIf nErr = 17 Then
+ NewPartM.nCALC_State = CalcStates.WARNING
+ ElseIf nErr > 0 Then
+ NewPartM.nCALC_State = CalcStates.ERROR_
+ ElseIf nErr < 0 Then
+ NewPartM.nCALC_State = CalcStates.INFO
+ End If
+ End If
+ EgtGetInfo(NewPartM.nPartId, ITG_PROD_TIME, NewPartM.m_nCALC_TIME)
+ End Sub
+
+#End Region ' Part
+
+#Region "Beam"
+
+ Public Sub UpdateOffset()
+ ' calcolo offset
+ Dim nBeamIndex As Integer = ParentMachGroup.PartMList.IndexOf(Me)
+ If nBeamIndex > 0 Then
+ m_dOffset = dPOSX - (ParentMachGroup.PartMList(nBeamIndex - 1).dPOSX + ParentMachGroup.PartMList(nBeamIndex - 1).dL)
+ Else
+ m_dOffset = dPOSX
+ End If
+ End Sub
+
+#End Region ' Beam
+
+#Region "Features"
+
+ Private Shared Function LoadBTLFeatures(nPartId As Integer) As List(Of BTLFeatureM)
+ Dim TempList As New List(Of BTLFeatureM)
+ ' Aggiungo outline
+ Dim nOutLayerId As Integer = EgtGetFirstNameInGroup(nPartId, OUTLINE)
+ Dim nOutlineId As Integer = EgtGetFirstInGroup(nOutLayerId)
+ While nOutlineId <> GDB_ID.NULL
+ ' verifico che sia una feature
+ Dim nGRP As Integer
+ If EgtGetInfo(nOutlineId, BTL_FTR_GRP, nGRP) AndAlso Not EgtExistsInfo(nOutlineId, BTL_FTR_MAINID) Then
+ ' creo la feature
+ TempList.Add(BTLFeatureM.CreateBTLFeature(Nothing, nOutlineId))
+ End If
+ nOutlineId = EgtGetNext(nOutlineId)
+ End While
+ ' Aggiungo feature
+ Dim nProcessingId As Integer = EgtGetFirstNameInGroup(nPartId, PROCESSINGS)
+ Dim nFeatureId As Integer = EgtGetFirstInGroup(nProcessingId)
+ While nFeatureId <> GDB_ID.NULL
+ ' verifico che sia una feature
+ Dim nGRP As Integer
+ If EgtGetInfo(nFeatureId, BTL_FTR_GRP, nGRP) AndAlso Not EgtExistsInfo(nFeatureId, BTL_FTR_MAINID) Then
+ ' creo la feature
+ TempList.Add(BTLFeatureM.CreateBTLFeature(Nothing, nFeatureId))
+ End If
+ nFeatureId = EgtGetNext(nFeatureId)
+ End While
+ Return TempList
+ End Function
Public Sub AddBTLFeature(BTLFeatureM As BTLFeatureM)
If IsNothing(BTLFeatureM) Then Return
@@ -344,37 +558,7 @@ Public MustInherit Class PartM
Return New List(Of BTLFeatureM)(m_FeatureMList)
End Function
- Public Shared Sub ReadMachGroupData(NewPart As PartM)
- ' leggo calc error
- Dim nErr As Integer = 0
- Dim nRot As Integer = 0
- Dim nFall As Integer = 0
- Dim sMsg As String = ""
- Dim bCalc As Boolean = False
- bCalc = EgtGetInfo(NewPart.nPartId, ITG_PROD_ERR, nErr)
- EgtGetInfo(NewPart.nPartId, ITG_PROD_ROT, nRot)
- EgtGetInfo(NewPart.nPartId, ITG_PROD_MSG, sMsg)
- If Not bCalc Then
- NewPart.m_nCALC_State = CalcStates.NOTCALCULATED
- NewPart.m_nCALC_ERR = 0
- NewPart.m_nCALC_ROT = 0
- NewPart.m_sCALC_MSG = ""
- Else
- NewPart.m_nCALC_ERR = nErr
- NewPart.m_nCALC_ROT = nRot
- NewPart.m_sCALC_MSG = sMsg
- If nErr = 0 Then
- NewPart.nCALC_State = CalcStates.OK
- ElseIf nErr = 17 Then
- NewPart.nCALC_State = CalcStates.WARNING
- ElseIf nErr > 0 Then
- NewPart.nCALC_State = CalcStates.ERROR_
- ElseIf nErr < 0 Then
- NewPart.nCALC_State = CalcStates.INFO
- End If
- End If
- EgtGetInfo(NewPart.nPartId, ITG_PROD_TIME, NewPart.m_nCALC_TIME)
- End Sub
+#End Region ' Features
#End Region ' METHODS
diff --git a/EgtBEAMWALL.Core/WallM.vb b/EgtBEAMWALL.Core/MachGroupModel/WallM.vb
similarity index 100%
rename from EgtBEAMWALL.Core/WallM.vb
rename to EgtBEAMWALL.Core/MachGroupModel/WallM.vb
diff --git a/EgtBEAMWALL.Core/WallMachGroupM.vb b/EgtBEAMWALL.Core/MachGroupModel/WallMachGroupM.vb
similarity index 97%
rename from EgtBEAMWALL.Core/WallMachGroupM.vb
rename to EgtBEAMWALL.Core/MachGroupModel/WallMachGroupM.vb
index a05f3512..f6d97df2 100644
--- a/EgtBEAMWALL.Core/WallMachGroupM.vb
+++ b/EgtBEAMWALL.Core/MachGroupModel/WallMachGroupM.vb
@@ -27,7 +27,7 @@ Public Class WallMachGroupM
NewMachGroupM.m_Id = nId
NewMachGroupM.m_Name = sName
NewMachGroupM.m_Machine = sMachine
- NewMachGroupM.SetMachineType(MachineType.WALL)
+ NewMachGroupM.m_nType = MachineType.WALL
NewMachGroupM.m_nRawPartId = EgtGetFirstRawPart()
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELLEN, NewMachGroupM.m_dL)
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELWIDTH, NewMachGroupM.m_dW)
@@ -48,7 +48,7 @@ Public Class WallMachGroupM
If NewMachGroupM.m_Id = GDB_ID.NULL Then Return Nothing
NewMachGroupM.m_Name = sName
NewMachGroupM.m_Machine = sMachine
- NewMachGroupM.SetMachineType(MachineType.WALL)
+ NewMachGroupM.m_nType = MachineType.WALL
NewMachGroupM.m_nRawPartId = EgtGetFirstRawPart()
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELLEN, NewMachGroupM.m_dL)
EgtGetInfo(NewMachGroupM.m_Id, MGR_RPT_PANELWIDTH, NewMachGroupM.m_dW)
diff --git a/EgtBEAMWALL.Core/MachGroupPanel/MyMachGroupVM.vb b/EgtBEAMWALL.Core/MachGroupPanel/MyMachGroupVM.vb
index c52a471b..e8ecdc69 100644
--- a/EgtBEAMWALL.Core/MachGroupPanel/MyMachGroupVM.vb
+++ b/EgtBEAMWALL.Core/MachGroupPanel/MyMachGroupVM.vb
@@ -1,4 +1,6 @@
Imports System.Collections.ObjectModel
+Imports System.Collections.Specialized
+Imports System.ComponentModel
Imports System.IO
Imports System.Windows
Imports System.Windows.Input
@@ -10,15 +12,19 @@ Imports EgtWPFLib5
Public MustInherit Class MyMachGroupVM
Inherits MachGroupVM
+#Region "FIELDS & PROPERTIES"
+
+#Region "General"
+
Public ReadOnly Property MyMachGroupM As MyMachGroupM
Get
Return m_MachGroupM
End Get
End Property
- Public ReadOnly Property nMachineType As MachineType
+ Public ReadOnly Property nType As BWType
Get
- Return MyMachGroupM.nMachineType
+ Return MyMachGroupM.nType
End Get
End Property
@@ -109,6 +115,24 @@ Public MustInherit Class MyMachGroupVM
End Set
End Property
+ Public ReadOnly Property sUnitTime As String
+ Get
+ Return TimeSpan.FromSeconds(nCALC_TIME).ToString()
+ End Get
+ End Property
+
+ Public ReadOnly Property dUnitVolume As Double
+ Get
+ Return dL * dW * dH
+ End Get
+ End Property
+
+ Public ReadOnly Property Section As SectionXMaterial
+ Get
+ Return New SectionXMaterial(dW, dH, dL, MyMachGroupM.sMATERIAL)
+ End Get
+ End Property
+
' lista dei pezzi che sono nel grezzo
Protected m_PartVMList As New ObservableCollection(Of PartVM)
Public Property PartVMList As ObservableCollection(Of PartVM)
@@ -135,6 +159,36 @@ Public MustInherit Class MyMachGroupVM
End Set
End Property
+#End Region ' General
+
+#Region "Beam"
+
+ Public Overridable Property sStartCut As String
+ Get
+ Return LenToString(MyMachGroupM.dStartCut, 3)
+ End Get
+ Set(value As String)
+ StringToLen(value, MyMachGroupM.dStartCut)
+ End Set
+ End Property
+ Public Property dStartCut As Double
+ Get
+ Return MyMachGroupM.dStartCut
+ End Get
+ Set(value As Double)
+ MyMachGroupM.dStartCut = value
+ NotifyPropertyChanged(NameOf(sStartCut))
+ End Set
+ End Property
+
+#End Region ' Beam
+
+#Region "Wall"
+
+#End Region ' Wall
+
+#Region "Calc"
+
Public ReadOnly Property nCALC_ERR As Integer
Get
Return MyMachGroupM.nCALC_ERR
@@ -251,47 +305,7 @@ Public MustInherit Class MyMachGroupVM
End Get
End Property
- Public ReadOnly Property sUnitTime As String
- Get
- Return TimeSpan.FromSeconds(nCALC_TIME).ToString()
- End Get
- End Property
-
- Public ReadOnly Property dUnitVolume As Double
- Get
- Return dL * dW * dH
- End Get
- End Property
-
- Public ReadOnly Property Section As SectionXMaterial
- Get
- Return New SectionXMaterial(dW, dH, dL, MyMachGroupM.sMATERIAL)
- End Get
- End Property
-
- Private m_SupervisorId As String = ""
- Public ReadOnly Property SupervisorId As String
- Get
- Return m_SupervisorId
- End Get
- End Property
- Public Sub SetSupervisorId(SupervisorId As String)
- m_SupervisorId = SupervisorId
- End Sub
- Public Sub ResetSupervisorId()
- nProduction_State = ItemState.ND
- m_SupervisorId = ""
- NotifyPropertyChanged(NameOf(IsReadOnly))
- NotifyPropertyChanged(NameOf(Background))
- End Sub
-
- Private m_cc As StateChangeEventArgs
-
- Public ReadOnly Property IsReadOnly As Boolean
- Get
- Return String.IsNullOrEmpty(m_SupervisorId)
- End Get
- End Property
+#End Region ' Calc
#Region "Supervisor"
@@ -390,43 +404,71 @@ Public MustInherit Class MyMachGroupVM
End Get
End Property
+ Private m_SupervisorId As String = ""
+ Public ReadOnly Property SupervisorId As String
+ Get
+ Return m_SupervisorId
+ End Get
+ End Property
+ Public Sub SetSupervisorId(SupervisorId As String)
+ m_SupervisorId = SupervisorId
+ End Sub
+ Public Sub ResetSupervisorId()
+ nProduction_State = ItemState.ND
+ m_SupervisorId = ""
+ NotifyPropertyChanged(NameOf(IsReadOnly))
+ NotifyPropertyChanged(NameOf(Background))
+ End Sub
+
+ Private m_cc As StateChangeEventArgs
+
+ Public ReadOnly Property IsReadOnly As Boolean
+ Get
+ Return String.IsNullOrEmpty(m_SupervisorId)
+ End Get
+ End Property
+
#End Region ' Supervisor
' definizione comandi
Private m_cmdDeleteMachGroup As ICommand
Private m_cmdProduceMachGroup As ICommand
+#End Region ' FIELDS & PROPERTIES
+
#Region "CONSTRUCTORS"
Sub New(MyMachGroupM As MyMachGroupM)
MyBase.New(MyMachGroupM)
'aggiorno lista pezzi
RefreshPartList()
+ AddHandler MyMachGroupM.PartAdded, AddressOf OnPartAdded
+ AddHandler MyMachGroupM.PartRemoved, AddressOf OnPartRemoved
+ CreatePartVMList()
+ ' Aggiorno stato da stati feature
+ CalcGlobalUpdate()
+ NotifyPropertyChanged(NameOf(CALC_FALL_Visibility))
End Sub
#End Region ' CONSTRUCTORS
#Region "METHODS"
+#Region "Machgroup"
+
+ Public MustOverride Sub RefreshGroupData()
+
Public Overridable Function Copy() As MyMachGroupVM
Return Nothing
End Function
- Public Sub ResetProduce()
- m_bCNReCalculated = False
- m_bToBeProduced = False
- m_bSentToMachine = False
- NotifyPropertyChanged(NameOf(Calc_Background))
- End Sub
+ Public Overridable Function CnFilePath() As String
+ Return Nothing
+ End Function
- Public Overridable Sub CALCEnd()
- End Sub
+#End Region ' Machgroup
-#End Region ' METHODS
-
- Public MustOverride Sub RefreshPartList()
-
- Public MustOverride Sub RefreshGroupData()
+#Region "Calc"
' funzione che aggiorna lo stato e gli errori dopo calcolo
Public Sub CalcMachGroupUpdate(ERR As Integer, ROT As Integer, MSG As String)
@@ -510,14 +552,36 @@ Public MustInherit Class MyMachGroupVM
NotifyPropertyChanged(NameOf(sUnitTime))
End Sub
+ Public Overridable Sub CALCEnd()
+ End Sub
+
+#End Region ' Calc
+
+#Region "Supervisor"
+
Public Sub SentToSupervisor()
MyMachGroupM.SetProductionState(ItemState.Assigned)
NotifyPropertyChanged(NameOf(Background))
End Sub
- Public Overridable Function CnFilePath() As String
- Return Nothing
- End Function
+ Public Sub ResetProduce()
+ m_bCNReCalculated = False
+ m_bToBeProduced = False
+ m_bSentToMachine = False
+ NotifyPropertyChanged(NameOf(Calc_Background))
+ End Sub
+
+#End Region ' Supervisor
+
+#Region "Parts"
+
+ Protected MustOverride Sub CreatePartVMList()
+
+ Public MustOverride Sub RefreshPartList()
+
+#End Region ' Parts
+
+#End Region ' METHODS
#Region "COMMANDS"
@@ -569,4 +633,43 @@ Public MustInherit Class MyMachGroupVM
#End Region ' COMMANDS
+#Region "EVENTS"
+
+ Protected MustOverride Sub OnPartAdded(sender As Object, e As PartAddedEventArgs)
+
+ Private Sub OnPartRemoved(sender As Object, e As PartAddedEventArgs)
+ Dim PartVM As PartVM = PartVMList.FirstOrDefault(Function(x) x.PartM Is e.m_NewPart)
+ If Not IsNothing(PartVM) Then PartVMList.Remove(PartVM)
+ End Sub
+
+ Protected Sub OnPartVMListChanged(sender As Object, e As NotifyCollectionChangedEventArgs)
+ If e.Action = NotifyCollectionChangedAction.Add Then
+ If Not IsNothing(e.NewItems) AndAlso e.NewItems.Count > 0 Then
+ For Each PartVM As PartVM In e.NewItems
+ AddHandler PartVM.PropertyChanged, AddressOf OnPartVMPropertyChanged
+ Next
+ End If
+ End If
+ If e.Action = NotifyCollectionChangedAction.Remove Then
+ If Not IsNothing(e.OldItems) AndAlso e.OldItems.Count > 0 Then
+ For Each PartVM As PartVM In e.OldItems
+ RemoveHandler PartVM.PropertyChanged, AddressOf OnPartVMPropertyChanged
+ Next
+ End If
+ End If
+ If e.Action = NotifyCollectionChangedAction.Move Then
+ Dim ItemVM As PartVM = e.OldItems(0)
+ MyMachGroupM.PartMList.RemoveAt(e.OldStartingIndex)
+ MyMachGroupM.PartMList.Insert(e.NewStartingIndex, ItemVM.PartM)
+ End If
+ End Sub
+
+ Protected Overridable Sub OnPartVMPropertyChanged(sender As Object, e As PropertyChangedEventArgs)
+ 'Select Case e.PropertyName
+ ' Case NameOf(sender.nSelGRP), NameOf(sender.nSelSIDE)
+ 'End Select
+ End Sub
+
+#End Region ' EVENTS
+
End Class
diff --git a/EgtBEAMWALL.Core/MachGroupPanel/PartVM.vb b/EgtBEAMWALL.Core/MachGroupPanel/PartVM.vb
index 26bfa292..eff88ffa 100644
--- a/EgtBEAMWALL.Core/MachGroupPanel/PartVM.vb
+++ b/EgtBEAMWALL.Core/MachGroupPanel/PartVM.vb
@@ -14,6 +14,8 @@ Public MustInherit Class PartVM
#Region "FIELDS & PROPERTIES"
+#Region "General"
+
Protected m_PartM As PartM
Public ReadOnly Property PartM As PartM
Get
@@ -160,6 +162,99 @@ Public MustInherit Class PartVM
End Set
End Property
+ ' lista delle feature del pezzo
+ Protected m_FeatureVMList As ObservableCollection(Of BTLFeatureVM)
+ Public Property FeatureVMList As ObservableCollection(Of BTLFeatureVM)
+ Get
+ Return m_FeatureVMList
+ End Get
+ Set(value As ObservableCollection(Of BTLFeatureVM))
+ m_FeatureVMList = value
+ End Set
+ End Property
+
+ Protected m_SelFeatureVM As BTLFeatureVM
+ Public Property SelFeatureVM As BTLFeatureVM
+ Get
+ Return m_SelFeatureVM
+ End Get
+ Set(value As BTLFeatureVM)
+ m_SelFeatureVM = value
+ If Not IsNothing(m_SelFeatureVM) Then
+ DirectCast(m_SelFeatureVM, BTLFeatureVM).SelGeomFeature()
+ Else
+ EgtDeselectAll()
+ End If
+ EgtDraw()
+ NotifyPropertyChanged(NameOf(SelFeatureVM))
+ End Set
+ End Property
+
+#End Region ' General
+
+#Region "Beam"
+
+ Public Overridable Property sOffset As String
+ Get
+ Return LenToString(m_PartM.dOffset, 3)
+ End Get
+ Set(value As String)
+ StringToLen(value, m_PartM.dOffset)
+ End Set
+ End Property
+ Public ReadOnly Property dOffset As Double
+ Get
+ Return m_PartM.dOffset
+ End Get
+ End Property
+
+#End Region ' Beam
+
+#Region "Wall"
+
+ Public Overridable Property sPOSY As String
+ Get
+ Return LenToString(m_PartM.dPOSY, 3)
+ End Get
+ Set(value As String)
+ StringToLen(value, m_PartM.dPOSY)
+ End Set
+ End Property
+
+ Public ReadOnly Property dPOSY As Double
+ Get
+ Return m_PartM.dPOSY
+ End Get
+ End Property
+
+ Public Property sROT As String
+ Get
+ Return LenToString(m_PartM.dROT, 3) & "°"
+ End Get
+ Set(value As String)
+ StringToLen(value, m_PartM.dROT)
+ End Set
+ End Property
+
+ Public ReadOnly Property dROT As Double
+ Get
+ Return m_PartM.dROT
+ End Get
+ End Property
+
+ Public Overridable Property bFLIP As Boolean
+ Get
+ Return m_PartM.bFLIP
+ End Get
+ Set(value As Boolean)
+ m_PartM.bFLIP = value
+ End Set
+ End Property
+
+#End Region ' Wall
+
+#Region "Calc"
+
Public ReadOnly Property nGlobalState As CalcStates
Get
Return m_PartM.nCALC_GlobalState
@@ -202,29 +297,6 @@ Public MustInherit Class PartVM
End Get
End Property
- Public Property nProduction_State As ItemState
- Get
- Return m_PartM.nProductionState
- End Get
- Set(value As ItemState)
- m_PartM.SetProductionState(value)
- End Set
- End Property
-
- Public ReadOnly Property Production_Background As SolidColorBrush
- Get
- If dtEndTime <> DateTime.MinValue Then ' barra finita
- Return Brushes.LightGray
- ElseIf dtStartTime <> DateTime.MinValue Then ' barra iniziata
- Return Brushes.Green
- ElseIf nProduction_State = ItemState.Scrapped Then
- Return Brushes.Red
- Else ' barra in coda
- Return Brushes.White
- End If
- End Get
- End Property
-
Public ReadOnly Property CALC_ROT_Visibility As Visibility
Get
Return If(m_PartM.nCALC_ROT <> 0, Visibility.Visible, Visibility.Collapsed)
@@ -308,32 +380,31 @@ Public MustInherit Class PartVM
End Set
End Property
- ' lista delle feature del pezzo
- Protected m_FeatureVMList As ObservableCollection(Of BTLFeatureVM)
- Public Property FeatureVMList As ObservableCollection(Of BTLFeatureVM)
+#End Region ' Calc
+
+#Region "Supervisor"
+
+ Public Property nProduction_State As ItemState
Get
- Return m_FeatureVMList
+ Return m_PartM.nProductionState
End Get
- Set(value As ObservableCollection(Of BTLFeatureVM))
- m_FeatureVMList = value
+ Set(value As ItemState)
+ m_PartM.SetProductionState(value)
End Set
End Property
- Protected m_SelFeatureVM As BTLFeatureVM
- Public Property SelFeatureVM As BTLFeatureVM
+ Public ReadOnly Property Production_Background As SolidColorBrush
Get
- Return m_SelFeatureVM
- End Get
- Set(value As BTLFeatureVM)
- m_SelFeatureVM = value
- If Not IsNothing(m_SelFeatureVM) Then
- DirectCast(m_SelFeatureVM, BTLFeatureVM).SelGeomFeature()
- Else
- EgtDeselectAll()
+ If dtEndTime <> DateTime.MinValue Then ' barra finita
+ Return Brushes.LightGray
+ ElseIf dtStartTime <> DateTime.MinValue Then ' barra iniziata
+ Return Brushes.Green
+ ElseIf nProduction_State = ItemState.Scrapped Then
+ Return Brushes.Red
+ Else ' barra in coda
+ Return Brushes.White
End If
- EgtDraw()
- NotifyPropertyChanged(NameOf(SelFeatureVM))
- End Set
+ End Get
End Property
Public Property dtStartTime As DateTime
@@ -370,6 +441,8 @@ Public MustInherit Class PartVM
End Set
End Property
+#End Region ' Supervisor
+
' definizione comandi
Private m_cmdDeletePart As ICommand
@@ -395,8 +468,16 @@ Public MustInherit Class PartVM
#End Region ' CONSTRUCTOR
+#Region "METHODS"
+
+#Region "Feature"
+
Protected MustOverride Sub CreateBTLFeatureVMList()
+#End Region ' Feature
+
+#Region "Calc"
+
' funzione che aggiorna lo stato e gli errori dopo calcolo
Public Sub CalcPartUpdate(ERR As Integer, ROT As Integer, MSG As String)
EgtSetInfo(nPartId, ITG_PROD_ERR, ERR, True)
@@ -472,6 +553,10 @@ Public MustInherit Class PartVM
NotifyPropertyChanged(NameOf(CALC_ERR_Foreground))
End Sub
+#End Region ' Calc
+
+#End Region ' METHODS
+
#Region "COMMANDS"
#Region "DeletePart"
diff --git a/EgtBEAMWALL.Core/OpenProjectFileDialog/OpenProjectFileDialogVM.vb b/EgtBEAMWALL.Core/OpenProjectFileDialog/OpenProjectFileDialogVM.vb
index c5e56670..7f5338d1 100644
--- a/EgtBEAMWALL.Core/OpenProjectFileDialog/OpenProjectFileDialogVM.vb
+++ b/EgtBEAMWALL.Core/OpenProjectFileDialog/OpenProjectFileDialogVM.vb
@@ -12,6 +12,8 @@ Imports EgtWPFLib5
Public MustInherit Class OpenProjectFileDialogVM
Inherits VMBase
+#Region "FIELDS & PROPERTIES"
+
Friend Event m_CloseWindow(bDialogResult As Boolean)
Protected m_ProjectColumns As New ObservableCollection(Of EgtDataGridColumn)
@@ -59,10 +61,6 @@ Public MustInherit Class OpenProjectFileDialogVM
Get
Return m_ProjectList
End Get
- 'Set(value As List(Of ProjFile))
- ' m_ProjList = value
- ' NotifyPropertyChanged("ProjList")
- 'End Set
End Property
Protected m_SelProject As ProjectFileVM
@@ -238,6 +236,10 @@ Public MustInherit Class OpenProjectFileDialogVM
Private m_cmdProjectDoubleClick As ICommand
Private m_cmdDelete As ICommand
+#End Region ' FIELDS & PROPERTIES
+
+#Region "METHODS"
+
Public MustOverride Function Init(ProjectType As ProjectType, Optional CurrProjectList As List(Of ProjectFileVM) = Nothing) As Boolean?
Protected Sub LoadColumns(ProjectType As ProjectType)
@@ -301,6 +303,8 @@ Public MustInherit Class OpenProjectFileDialogVM
Return bProjectOk
End Function
+#End Region ' METHODS
+
#Region "COMMANDS"
#Region "ProjectDoubleClick"
diff --git a/EgtBEAMWALL.Core/ProdFileM.vb b/EgtBEAMWALL.Core/ProjectFileVM/ProdFileM.vb
similarity index 100%
rename from EgtBEAMWALL.Core/ProdFileM.vb
rename to EgtBEAMWALL.Core/ProjectFileVM/ProdFileM.vb
diff --git a/EgtBEAMWALL.Core/ProjFileM.vb b/EgtBEAMWALL.Core/ProjectFileVM/ProjFileM.vb
similarity index 100%
rename from EgtBEAMWALL.Core/ProjFileM.vb
rename to EgtBEAMWALL.Core/ProjectFileVM/ProjFileM.vb
diff --git a/EgtBEAMWALL.Core/ProjectFileM.vb b/EgtBEAMWALL.Core/ProjectFileVM/ProjectFileM.vb
similarity index 100%
rename from EgtBEAMWALL.Core/ProjectFileM.vb
rename to EgtBEAMWALL.Core/ProjectFileVM/ProjectFileM.vb
diff --git a/EgtBEAMWALL.Core/ProjectManager/ProjectFileVM.vb b/EgtBEAMWALL.Core/ProjectManager/ProjectFileVM.vb
index a60826e8..00ef2931 100644
--- a/EgtBEAMWALL.Core/ProjectManager/ProjectFileVM.vb
+++ b/EgtBEAMWALL.Core/ProjectManager/ProjectFileVM.vb
@@ -1,6 +1,7 @@
Imports System.IO
Imports EgtBEAMWALL.Core
Imports EgtUILib
+Imports EgtWPFLib5
Public Class ProjectFileVM
Inherits VMBase
diff --git a/EgtBEAMWALL.Core/Utility/Command.vb b/EgtBEAMWALL.Core/Utility/Command.vb
deleted file mode 100644
index f64d83b6..00000000
--- a/EgtBEAMWALL.Core/Utility/Command.vb
+++ /dev/null
@@ -1,70 +0,0 @@
-Imports System.Windows.Input
-
-'''
-''' A command whose sole purpose is to
-''' relay its functionality to other
-''' objects by invoking delegates. The
-''' default return value for the CanExecute
-''' method is 'true'.
-'''
-Public Class Command
- Implements ICommand
-
-#Region "Fields"
-
- Private ReadOnly _execute As Action(Of Object)
- Private ReadOnly _canExecute As Predicate(Of Object)
-
-#End Region ' Fields
-
-#Region "Constructors"
-
- '''
- ''' Creates a new command that can always execute.
- '''
- ''' The execution logic.
- Public Sub New(ByVal execute As Action(Of Object))
- Me.New(execute, Nothing)
- End Sub
-
- '''
- ''' Creates a new command.
- '''
- ''' The execution logic.
- ''' The execution status logic.
- Public Sub New(ByVal execute As Action(Of Object), ByVal canExecute As Predicate(Of Object))
- If execute Is Nothing Then
- Throw New ArgumentNullException("execute")
- End If
-
- _execute = execute
- _canExecute = canExecute
- End Sub
-
-#End Region ' Constructors
-
-#Region "ICommand Members"
-
- _
- Public Function CanExecute(ByVal parameter As Object) As Boolean Implements ICommand.CanExecute
- Return If(_canExecute Is Nothing, True, _canExecute(parameter))
- End Function
-
- Public Custom Event CanExecuteChanged As EventHandler Implements ICommand.CanExecuteChanged
- AddHandler(ByVal value As EventHandler)
- AddHandler CommandManager.RequerySuggested, value
- End AddHandler
- RemoveHandler(ByVal value As EventHandler)
- RemoveHandler CommandManager.RequerySuggested, value
- End RemoveHandler
- RaiseEvent(ByVal sender As System.Object, ByVal e As System.EventArgs)
- End RaiseEvent
- End Event
-
- Public Sub Execute(ByVal parameter As Object) Implements ICommand.Execute
- _execute(parameter)
- End Sub
-
-#End Region ' ICommand Members
-
-End Class
\ No newline at end of file
diff --git a/EgtBEAMWALL.Core/Enum.vb b/EgtBEAMWALL.Core/Utility/Enum.vb
similarity index 100%
rename from EgtBEAMWALL.Core/Enum.vb
rename to EgtBEAMWALL.Core/Utility/Enum.vb
diff --git a/EgtBEAMWALL.Core/MachLog.vb b/EgtBEAMWALL.Core/Utility/MachLog.vb
similarity index 100%
rename from EgtBEAMWALL.Core/MachLog.vb
rename to EgtBEAMWALL.Core/Utility/MachLog.vb
diff --git a/EgtBEAMWALL.Core/MyMachine.vb b/EgtBEAMWALL.Core/Utility/MyMachine.vb
similarity index 100%
rename from EgtBEAMWALL.Core/MyMachine.vb
rename to EgtBEAMWALL.Core/Utility/MyMachine.vb
diff --git a/EgtBEAMWALL.Core/SectionXMaterial.vb b/EgtBEAMWALL.Core/Utility/SectionXMaterial.vb
similarity index 100%
rename from EgtBEAMWALL.Core/SectionXMaterial.vb
rename to EgtBEAMWALL.Core/Utility/SectionXMaterial.vb
diff --git a/EgtBEAMWALL.Core/Utility/VMBase.vb b/EgtBEAMWALL.Core/Utility/VMBase.vb
deleted file mode 100644
index b2d5ce6c..00000000
--- a/EgtBEAMWALL.Core/Utility/VMBase.vb
+++ /dev/null
@@ -1,12 +0,0 @@
-Imports System.ComponentModel
-
-Public Class VMBase
- Implements INotifyPropertyChanged
-
- Public Event PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Implements INotifyPropertyChanged.PropertyChanged
-
- Public Sub NotifyPropertyChanged(propName As String)
- RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
- End Sub
-
-End Class
diff --git a/EgtBEAMWALL.Supervisor/AboutBoxWindow/AboutBoxV.xaml.vb b/EgtBEAMWALL.Supervisor/AboutBoxWindow/AboutBoxV.xaml.vb
index 7ee72bac..65e8d234 100644
--- a/EgtBEAMWALL.Supervisor/AboutBoxWindow/AboutBoxV.xaml.vb
+++ b/EgtBEAMWALL.Supervisor/AboutBoxWindow/AboutBoxV.xaml.vb
@@ -1,4 +1,5 @@
Imports EgtUILib
+Imports EgtBEAMWALL.Core
Public Class AboutBoxV
@@ -31,7 +32,7 @@ Public Class AboutBoxV
EgtGetSceneInfo(sScene)
sInfo &= sScene
InfoLbl.Text = sInfo
- ExitBtn.Content = EgtMsg(MSG_MISSINGKEYWD + 4) 'Ok
+ ExitBtn.Content = EgtMsg(constmsg.MSG_MISSINGKEYWD + 4) 'Ok
End Sub
End Class
diff --git a/EgtBEAMWALL.Supervisor/BTLParam/BTLFeatureVM.vb b/EgtBEAMWALL.Supervisor/BTLViewModel/BTLFeatureVM.vb
similarity index 85%
rename from EgtBEAMWALL.Supervisor/BTLParam/BTLFeatureVM.vb
rename to EgtBEAMWALL.Supervisor/BTLViewModel/BTLFeatureVM.vb
index ce4807d1..9bac36f9 100644
--- a/EgtBEAMWALL.Supervisor/BTLParam/BTLFeatureVM.vb
+++ b/EgtBEAMWALL.Supervisor/BTLViewModel/BTLFeatureVM.vb
@@ -35,21 +35,13 @@ Public Class BTLFeatureVM
Sub New(BTLFeatureM As BTLFeatureM, BTLPartM As BTLPartM)
m_BTLFeatureM = BTLFeatureM
- 'AddHandler m_BTLFeatureM.PBTLParamAdded, AddressOf OnPBTLParamAdded
- 'AddHandler m_BTLFeatureM.QBTLParamAdded, AddressOf OnQBTLParamAdded
m_BTLPartM = BTLPartM
- 'CreatePBTLParamVMList()
- 'CreateQBTLParamVMList()
NotifyPropertyChanged(NameOf(Calc_Background))
End Sub
Sub New(BTLFeatureM As BTLFeatureM)
m_BTLFeatureM = BTLFeatureM
- 'AddHandler m_BTLFeatureM.PBTLParamAdded, AddressOf OnPBTLParamAdded
- 'AddHandler m_BTLFeatureM.QBTLParamAdded, AddressOf OnQBTLParamAdded
m_BTLPartM = Nothing
- 'CreatePBTLParamVMList()
- 'CreateQBTLParamVMList()
NotifyPropertyChanged(NameOf(Calc_Background))
End Sub
diff --git a/EgtBEAMWALL.Supervisor/Constants/ConstBeam.vb b/EgtBEAMWALL.Supervisor/Constants/ConstBeam.vb
deleted file mode 100644
index 140b0a07..00000000
--- a/EgtBEAMWALL.Supervisor/Constants/ConstBeam.vb
+++ /dev/null
@@ -1,253 +0,0 @@
-Public Module ConstBeam
-
- Public Enum BTLParamType As Integer
- DOUBLE_ = 1
- STRING_ = 2
- COMBO = 3
- LENGTH = 4
- CHECKBOX = 5
- End Enum
-
- Public Enum BTLPartParam As Integer
- NULL = 0
- PDN = 1
- NAM = 2
- GRP = 3
- End Enum
-
- Public Enum GRPType As Integer
- L = 0
- T = 1
- End Enum
-
- Enum MachineType As Integer
- NULL = 0
- BEAM = 1
- WALL = 2
- End Enum
-
- Enum CalcStates As Integer
- NOTCALCULATED = -1
- OK = 0
- WARNING = 1
- ERROR_ = 2
- End Enum
-
- Public Enum Range As Integer
- STANDARD = 1
- EXTENDED = 2
- End Enum
-
- Public Enum PartOffset_RefSideFixClamp As Integer
- INACTIVE = 0
- REFSIDE1 = 1
- REFSIDE2 = 2
- REFSIDE3 = 3
- REFSIDE4 = 4
- End Enum
-
- Public Enum ProcessingQuality As Integer
- AUTOMATIC = 1
- VISIBLE = 2
- FAST = 3
- End Enum
-
- Public Enum Recess As Integer
- AUTOMATIC = 1
- MANUAL = 2
- End Enum
-
- Public Enum StoreyType As Integer
- CEILING = 1
- ROOF = 2
- WALL = 3
- End Enum
-
- Public Enum AlignmentLocation As Integer
- INACTIV = 0
- BR = 1
- TR = 2
- BA = 3
- TA = 4
- HC = 5
- VC = 6
- AC = 7
- End Enum
-
- Public Enum AlignmentEndtype As Integer
- R = 1
- A = 2
- D = 3
- End Enum
-
- Public Enum MaterialType As Integer
- INACTIV = 0
- BA = 1
- CL = 2
- MT = 3
- ME_ = 4
- GB = 5
- GF = 6
- IN_ = 7
- SH = 8
- FB = 9
- PB = 10
- PL = 11
- End Enum
-
- Public Enum MoveDirections As Integer
- UP = -1
- DOWN = 1
- End Enum
-
- Public Const BTLFEATURES_FILE_NAME As String = "BTLFeatures.ini"
-
- 'Public Const S_GENERAL As String = "General"
- 'Public Const K_DEBUG As String = "Debug"
-
- Friend Const PROJ As String = "PROJ"
- Friend Const FILENAMESEPARATOR As Char = "^"c
- Friend Const BTLINFO As String = "BtlInfo"
-
- ' info parametri BTL
- Friend Const BTL_PRT_PROJ As String = "PROJ"
- Friend Const BTL_PRT_PDN As String = "PDN"
- Friend Const BTL_PRT_DO As String = "DO"
- Friend Const BTL_PRT_NAM As String = "NAM"
- Friend Const BTL_PRT_L As String = "L"
- Friend Const BTL_PRT_W As String = "W"
- Friend Const BTL_PRT_H As String = "H"
- Friend Const BTL_PRT_CNT As String = "CNT"
- Friend Const BTL_PRT_ROTATED As String = "ROTATED"
- Friend Const BTL_PRT_INVERTED As String = "INVERTED"
- Friend Const BTL_PRT_MATERIAL As String = "MATERIAL"
- ' parametri pezzo
- Friend Const BTL_PRT_SINGLEMEMBERNUM = "SINGLEMEMBERNUMBER"
- Friend Const BTL_PRT_ASSEMBLYNUM = "ASSEMBLYNUMBER"
- Friend Const BTL_PRT_ORDERNUM = "ORDERNUMBER"
- Friend Const BTL_PRT_DESIGNATION = "DESIGNATION"
- Friend Const BTL_PRT_ANNOTATION = "ANNOTATION"
- Friend Const BTL_PRT_STOREY = "STOREY"
- Friend Const BTL_PRT_GROUP = "GROUP"
- Friend Const BTL_PRT_PACKAGE = "PACKAGE"
- Friend Const BTL_PRT_TIMBERGRADE = "TIMBERGRADE"
- Friend Const BTL_PRT_QUALITYGRADE = "QUALITYGRADE"
- Friend Const BTL_PRT_COLOUR = "COLOUR"
- Friend Const BTL_PRT_PLANINGLENGTH = "PLANINGLENGTH"
- Friend Const BTL_PRT_STARTOFFSET = "STARTOFFSET"
- Friend Const BTL_PRT_ENDOFFSET = "ENDOFFSET"
- Friend Const BTL_PRT_UID = "UID"
- Friend Const BTL_PRT_TRANSFORMATION = "TRANSFORMATION"
- Friend Const BTL_PRT_CAMBER = "CAMBER"
- Friend Const BTL_PRT_PARTOFFSET = "PARTOFFSET"
- Friend Const BTL_PRT_PROCESSINGQUALITY = "PROCESSINGQUALITY"
- Friend Const BTL_PRT_RECESS = "RECESS"
- Friend Const BTL_PRT_STOREYTYPE = "STOREYTYPE"
- Friend Const BTL_PRT_ELEMENTNUM = "ELEMENTNUMBER"
- Friend Const BTL_PRT_LAYER = "LAYER"
- Friend Const BTL_PRT_MODULENUM = "MODULENUMBER"
- 'Friend Const BTL_PRT_USERATTRIBUTE = "USERATTRIBUTE"
- Friend Const BTL_PRT_COMMENT = "COMMENT"
- Friend Const BTL_PRT_GRAINDIR = "GRAINDIRECTION"
- Friend Const BTL_PRT_REFSIDE = "REFERENCESIDE"
- Friend Const BTL_PRT_ALIGNMENT = "ALIGNMENT"
- Friend Const BTL_PRT_MATERIALTYPE = "MATERIALTYPE"
-
- ' parametri generici
- Friend Const BTL_GEN_PROJNUM = "PROJECTNUMBER"
- Friend Const BTL_GEN_PROJNAME = "PROJECTNAME"
- Friend Const BTL_GEN_PROJPART = "PROJECTPART"
- Friend Const BTL_GEN_PROJGUID = "PROJECTGUID"
- Friend Const BTL_GEN_LISTNAME = "LISTNAME"
- Friend Const BTL_GEN_CUSTOMER = "CUSTOMER"
- Friend Const BTL_GEN_ARCHITECT = "ARCHITECT"
- Friend Const BTL_GEN_EDITOR = "EDITOR"
- Friend Const BTL_GEN_DELIVDATE = "DELIVERYDATE"
- Friend Const BTL_GEN_EXPDATE = "EXPORTDATE"
- Friend Const BTL_GEN_EXPTIME = "EXPORTTIME"
- Friend Const BTL_GEN_EXPRELEASE = "EXPORTRELEASE"
- Friend Const BTL_GEN_LANGUAGE = "LANGUAGE"
- Friend Const BTL_GEN_RANGE = "RANGE"
- Friend Const BTL_GEN_COMPUTERNAME = "COMPUTERNAME"
- Friend Const BTL_GEN_USER = "USER"
- Friend Const BTL_GEN_SRCFILE = "SOURCEFILE"
- Friend Const BTL_GEN_EXPFILE = "EXPORTFILE"
- Friend Const BTL_GEN_USERATTRIBUTE = "USERATTRIBUTE"
-
- Friend Const PROCESSINGS As String = "Processings"
- Friend Const OUTLINE As String = "Outline"
- Friend Const BTL_FTR_GRP As String = "GRP"
- Friend Const BTL_FTR_PRC As String = "PRC"
- Friend Const BTL_FTR_DO As String = "DO"
- Friend Const BTL_FTR_SIDE As String = "SIDE"
- Friend Const BTL_FTR_NAME As String = "NAME"
- Friend Const BTL_FTR_DES As String = "DES"
- Friend Const BTL_FTR_PRID As String = "PRID"
- Friend Const BTL_FTR_FRAME As String = "FRAME"
-
- ' parametri machgroup grezzi
- Friend Const MGR_RPT_ID As String = "ID"
- Friend Const MGR_RPT_L As String = "L"
- Friend Const MGR_RPT_W As String = "W"
- Friend Const MGR_RPT_H As String = "H"
- Friend Const MGR_RPT_WASTE As String = "WASTE"
- Friend Const MGR_RPT_USAGE As String = "USAGE"
- Friend Const MGR_RPT_STARTCUT As String = "STARTCUT"
- Friend Const MGR_RPT_MATERIAL As String = "MATERIAL"
-
- Friend Const MGR_PRT_PDN As String = "PDN"
- Friend Const MGR_PRT_L As String = "L"
- Friend Const MGR_PRT_W As String = "W"
- Friend Const MGR_PRT_H As String = "H"
- Friend Const MGR_PRT_DES As String = "DES"
- Friend Const MGR_PRT_STARTCUT As String = "STARTCUT"
- Friend Const MGR_PRT_MATERIAL As String = "MATERIAL"
- Friend Const MGR_PRT_DO As String = "DO"
-
- Friend Const MGR_FTR_GRP As String = "GRP"
- Friend Const MGR_FTR_PRC As String = "PRC"
- Friend Const MGR_FTR_DO As String = "DO"
- Friend Const MGR_FTR_SIDE As String = "SIDE"
- Friend Const MGR_FTR_NAME As String = "NAME"
- Friend Const MGR_FTR_DES As String = "DES"
- Friend Const MGR_FTR_PRID As String = "PRID"
- Friend Const MGR_FTR_FRAME As String = "FRAME"
-
- ' parametri creazione barre
- Friend Const MGR_RPT_BARLEN As String = "BARLEN"
- Friend Const MGR_RPT_BARHEIGHT As String = "BARHEIGHT"
- Friend Const MGR_RPT_BARWIDTH As String = "BARWIDTH"
- Friend Const MGR_RPT_PANELLEN As String = "PANELLEN"
- Friend Const MGR_RPT_PANELWIDTH As String = "PANELWIDTH"
- Friend Const MGR_RPT_PANELHEIGHT As String = "PANELHEIGHT"
- Friend Const MGR_RPT_PART As String = "PART"
-
- ' parametri errori integration
- Friend Const ITG_CUTID As String = "CUTID"
- Friend Const ITG_TASKID As String = "TASKID"
- Friend Const ITG_PROJ_ERR As String = "PROJ_ERR"
- Friend Const ITG_PROJ_MSG As String = "PROJ_MSG"
- Friend Const ITG_PROJ_ROT As String = "PROJ_ROT"
- Friend Const ITG_PROJ_FALL As String = "PROJ_FALL"
- Friend Const ITG_PROJ_TIME As String = "PROJ_TIME"
-
- ' parametri errori integration
- Friend Const ITG_PROD_ERR As String = "PROD_ERR"
- Friend Const ITG_PROD_MSG As String = "PROD_MSG"
- Friend Const ITG_PROD_ROT As String = "PROD_ROT"
- Friend Const ITG_PROD_TIME As String = "PROD_TIME"
-
- ' parametri errori integration
- Friend Const DUPLO_TODELETE As String = "DUPLO_TODELETE"
-
- ' parametri warehouse
- Friend Const WRH_BEAM As String = "BEAM"
- Friend Const WRH_WALL As String = "WALL"
- Friend Const WRH_CURRENT As String = "Current"
- Friend Const WRH_STARTOFFSET As String = "StartOffset"
- Friend Const WRH_OFFSET As String = "Offset"
- Friend Const WRH_L As String = "L"
- Friend Const WRH_KERF As String = "Kerf"
- Friend Const WRH_S As String = "S"
-
-End Module
diff --git a/EgtBEAMWALL.Supervisor/Constants/ConstGen.vb b/EgtBEAMWALL.Supervisor/Constants/ConstGen.vb
deleted file mode 100644
index c406beea..00000000
--- a/EgtBEAMWALL.Supervisor/Constants/ConstGen.vb
+++ /dev/null
@@ -1,74 +0,0 @@
-'----------------------------------------------------------------------------
-' EgalTech 2015-2017
-'----------------------------------------------------------------------------
-' File : ConstGen.vb Data : 10.04.17 Versione : 1.8d1
-' Contenuto : Modulo costanti generali.
-'
-'
-'
-' Modifiche : 10.04.17 DS Creazione modulo.
-'
-'
-'----------------------------------------------------------------------------
-
-Module ConstGen
-
- ' File con direttorio radice dei dati
- Public Const DAT_FILE_NAME As String = "DataRoot.Ini"
- Public Const S_DATA As String = "Data"
- Public Const K_DATAROOT As String = "DataRoot"
-
- ' File con dati di licenza
- Public Const LIC_FILE_NAME As String = "EgtBEAMWALL.lic"
- Public Const S_LICENCE As String = "Licence"
- Public Const K_KEY As String = "Key"
- Public Const K_NESTKEY As String = "NestKey"
-
- ' Pagine del programma
- Public Enum Pages As Integer
- VIEW = 0
- MACHINING = 1
- SUPERVISOR = 2
- CONFIG = 3
- End Enum
-
- ' Abilitazioni licenza
- Friend Enum KEY_OPT As UInteger
- BEAM = 1
- WALL = 2
- NESTING_AUTO = 4
- SUPERVISOR = 8
- NETWORK = 16
- End Enum
-
- ' File di log generale
- Public Const GENLOG_FILE_NAME As String = "EgtBEAMWALLLog#.txt"
-
- ' Sottodirettorio di configurazione
- Public Const CONF_DIR As String = "Config"
- ' Sottodirettorio delle risorse
- Public Const RES_DIR As String = "Resources"
- ' Sottodirettorio temporaneo
- Public Const TEMP_DIR As String = "Temp"
- ' Sottodirettorio per Cam automatico
- Public Const PROJS_DIR As String = "Projs"
- ' Sottodirettorio per Csv automatico
- Public Const PRODS_DIR As String = "Prods"
- ' Sottodirettorio per Macro
- Public Const MACRO_DIR As String = "Macro"
- ' Sottodirettorio per Magazzino
- Public Const WAREHOUSE_DIR As String = "Warehouse"
- ' Sottodirettorio per lavorazioni travi
- Public Const BEAM_DIR As String = "Beam"
- ' Sottodirettorio per lavorazioni pareti
- Public Const WALL_DIR As String = "Wall"
- ' Sottodirettorio di default per il salvataggio con nome
- Public Const SAVE_DFL_NAMEDIR As String = "MyProjects"
- ' Sottodirettorio di default per le macchine
- Public Const MACHINES_DFL_DIR As String = "Machines"
- ' Sottodirettorio di default per toolmakers
- Public Const TOOLMAKERS_DFL_DIR As String = "ToolMakers"
- ' Nome file Lua con le funzioni di attrezzaggio
- Public Const SETUP_LUA As String = "SetUp.lua"
-
-End Module
diff --git a/EgtBEAMWALL.Supervisor/Constants/ConstIni.vb b/EgtBEAMWALL.Supervisor/Constants/ConstIni.vb
deleted file mode 100644
index 66aece0c..00000000
--- a/EgtBEAMWALL.Supervisor/Constants/ConstIni.vb
+++ /dev/null
@@ -1,116 +0,0 @@
-'----------------------------------------------------------------------------
-' EgalTech 2015-2015
-'----------------------------------------------------------------------------
-' File : ConstIni.vb Data : 12.02.15 Versione : 1.6b3
-' Contenuto : Modulo costanti sezione e chiavi per file Ini.
-'
-'
-'
-' Modifiche : 12.02.15 DS Creazione modulo.
-'
-'
-'----------------------------------------------------------------------------
-
-Module ConstIni
-
- Public Const INI_FILE_NAME As String = "EgtBEAMWALL.ini"
-
- Public Const S_GENERAL As String = "General"
- Public Const K_DEBUG As String = "Debug"
- Public Const K_LICENCE As String = "Licence"
- Public Const K_USERLEVEL As String = "UserLevel"
- Public Const K_MAXINST As String = "MaxInstances"
- Public Const K_INSTANCES As String = "Instances"
- Public Const K_COMMANDLOG As String = "CommandLog"
- Public Const K_MESSAGESDIR As String = "MessagesDir"
- Public Const K_MESSAGES As String = "Messages"
- Public Const K_WINPLACE As String = "WinPlace"
- Public Const K_LASTPROJ As String = "LastProj"
- Public Const K_AUTOLOADLASTPROJ As String = "AutoLoadLastProj"
- Public Const K_LASTIMPDIR As String = "LastImpDir"
- Public Const K_PROJSINDEX As String = "ProjsIndex"
- Public Const K_PRODSINDEX As String = "ProdsIndex"
- Public Const K_SUPPORT As String = "Support"
- Public Const K_WAREHOUSE As String = "Warehouse"
-
- Public Const S_LANGUAGES As String = "Languages"
- Public Const K_LANGUAGE As String = "Language"
-
- Public Const S_LUA As String = "Lua"
- Public Const K_LIBSDIR As String = "LibsDir"
- Public Const K_BASELIB As String = "BaseLib"
-
- Public Const S_GEOMDB As String = "GeomDB"
- Public Const K_DEFAULTFONT As String = "DefaultFont"
- Public Const K_NFEFONTDIR As String = "NfeFontDir"
- Public Const K_DEFAULTCOLOR As String = "DefaultColor"
- Public Const K_SAVETYPE As String = "SaveType"
-
- Public Const S_OPENGL As String = "OpenGL"
- Public Const K_DOUBLEBUFFER As String = "DoubleBuffer"
- Public Const K_COLORBITS As String = "ColorBits"
- Public Const K_DEPTHBITS As String = "DepthBits"
- Public Const K_DRIVER As String = "Driver"
-
- Public Const S_SCENE As String = "Scene"
- Public Const K_BACKTOP As String = "BackTop"
- Public Const K_BACKBOTTOM As String = "BackBottom"
- Public Const K_SHOWGFRAME As String = "ShowGFrame"
- Public Const K_MARK As String = "Mark"
- Public Const K_SELSURF As String = "SelSurf"
- Public Const K_SHOWMODE As String = "ShowMode"
- Public Const K_CURVEDIR As String = "CurveDir"
- Public Const K_SHOWTRIAADV As String = "ShowTriaAdv"
- Public Const K_SHOWZMAP As String = "ShowZmap"
- Public Const K_TEXMAXLINPIX As String = "TextureMaxLinPixels"
- Public Const K_ZOOMWIN As String = "ZoomWin"
- Public Const K_DISTLINE As String = "DistLine"
- Public Const K_MMUNITS As String = "MmUnits"
-
- Public Const S_GRID As String = "Grid"
- Public Const K_SHOWGRID As String = "ShowGrid"
- Public Const K_SHOWFRAME As String = "ShowFrame"
- Public Const K_SNAPSTEP As String = "SnapStep"
- Public Const K_SNAPSTEPINCH As String = "SnapStepInch"
- Public Const K_MINLINESSTEP As String = "MinLineSStep"
- Public Const K_MAJLINESSTEP As String = "MajLineSStep"
- Public Const K_EXTSSTEP As String = "ExtSStep"
- Public Const K_MINLNCOLOR As String = "MinLnColor"
- Public Const K_MAJLNCOLOR As String = "MajLnColor"
-
- Public Const S_IMPORT As String = "Import"
- Public Const K_BTLFLAG As String = "BtlFlag"
-
- Public Const S_MACH As String = "Mach"
- Public Const K_MACHINESDIR As String = "MachinesDir"
- Public Const K_TOOLMAKERSDIR As String = "ToolMakersDir"
- Public Const K_CURRMACH As String = "CurrMach"
- Public Const K_PASSWORD As String = "Password"
-
- Public Const S_SIMUL As String = "Simul"
- Public Const K_SLIDERX As String = "SliderX"
- Public Const K_SLIDERVAL As String = "SliderVal"
-
- Public Const S_BEAM As String = "Beam"
- Public Const K_CALCPATH As String = "CalcPath"
- Public Const K_BEAMBASEDIR As String = "BaseDir"
- Public Const K_BEAMBWEEXEC As String = "BweExec"
-
- Public Const S_WALL As String = "Wall"
- Public Const K_WALLBASEDIR As String = "BaseDir"
- Public Const K_WALLBWEEXEC As String = "BweExec"
-
- Public Const S_NEST As String = "Nest"
- Public Const K_NESTEXEC As String = "NestExec"
- Public Const K_SECTIONTIME As String = "SectionTime"
- Public Const K_PARTTIME As String = "PartTime"
-
- Public Const S_BEAMWALL As String = "BeamWall"
- Public Const K_BEAMWALLENABLE As String = "BtlEnable"
- Public Const K_BEAMWALLBASEDIR As String = "BaseDir"
- Public Const K_BEAMWALLBUTTON As String = "Button"
-
- Public Const S_PRINTER As String = "Printer"
- Public Const K_LINK As String = "Link"
-
-End Module
diff --git a/EgtBEAMWALL.Supervisor/Constants/ConstMachIni.vb b/EgtBEAMWALL.Supervisor/Constants/ConstMachIni.vb
deleted file mode 100644
index dbd4d542..00000000
--- a/EgtBEAMWALL.Supervisor/Constants/ConstMachIni.vb
+++ /dev/null
@@ -1,8 +0,0 @@
-Module ConstMachIni
-
- Public Const MACH_INI_FILE_NAME As String = "MachData.ini"
-
- Public Const K_BEAM As String = "Beam"
- Public Const K_NAME As String = "Name"
-
-End Module
diff --git a/EgtBEAMWALL.Supervisor/Constants/ConstWarehouseIni.vb b/EgtBEAMWALL.Supervisor/Constants/ConstWarehouseIni.vb
deleted file mode 100644
index d48e42de..00000000
--- a/EgtBEAMWALL.Supervisor/Constants/ConstWarehouseIni.vb
+++ /dev/null
@@ -1,16 +0,0 @@
-Module ConstWarehouseIni
-
- Public Const WH_BASIC_INI_FILE_NAME As String = "Basic.ini"
- Public Const WH_MEDIUM_INI_FILE_NAME As String = "Medium.ini"
-
- 'Public Const S_BEAM As String = "Beam"
- 'Public Const S_WALL As String = "Wall"
- Public Const K_CURRENTL As String = "CurrentL"
- Public Const K_CURRENTS As String = "CurrentS"
- Public Const K_STARTOFFSET As String = "StartOffset"
- Public Const K_KERF As String = "Kerf"
- Public Const K_OFFSET As String = "Offset"
- Public Const K_L As String = "L"
- Public Const K_S As String = "S"
-
-End Module
diff --git a/EgtBEAMWALL.Supervisor/EgtBEAMWALL.Supervisor.vbproj b/EgtBEAMWALL.Supervisor/EgtBEAMWALL.Supervisor.vbproj
index c1e25ea1..5323cbd8 100644
--- a/EgtBEAMWALL.Supervisor/EgtBEAMWALL.Supervisor.vbproj
+++ b/EgtBEAMWALL.Supervisor/EgtBEAMWALL.Supervisor.vbproj
@@ -216,7 +216,7 @@
AboutBoxV.xaml
-
+ CalcPanelV.xaml
@@ -229,35 +229,29 @@
DGColumnsListV.xaml
-
-
-
-
-
-
-
+ FeatureInPartInRawPartListV.xaml
-
+ LeftPanelV.xaml
-
+ PartInRawPartListV.xaml
-
-
+
+ RawPartListV.xaml
-
+ MachCommandMessagePanelV.xaml
-
-
+
+
@@ -274,7 +268,7 @@
-
+ ProjectV.xaml
@@ -294,7 +288,6 @@
SupervisorManagerV.xaml
-
@@ -302,7 +295,6 @@
-
@@ -329,7 +321,7 @@
MSBuild:CompileDesigner
-
+ MSBuild:CompileDesigner
@@ -337,11 +329,11 @@
MSBuild:CompileDesigner
-
+ MSBuild:CompileDesigner
-
+ MSBuild:CompileDesigner
diff --git a/EgtBEAMWALL.Supervisor/LeftPanel/FeatureInPartInRawPartListV.xaml b/EgtBEAMWALL.Supervisor/ItemParamList/FeatureInPartInRawPartListV.xaml
similarity index 100%
rename from EgtBEAMWALL.Supervisor/LeftPanel/FeatureInPartInRawPartListV.xaml
rename to EgtBEAMWALL.Supervisor/ItemParamList/FeatureInPartInRawPartListV.xaml
diff --git a/EgtBEAMWALL.Supervisor/LeftPanel/FeatureInPartInRawPartListV.xaml.vb b/EgtBEAMWALL.Supervisor/ItemParamList/FeatureInPartInRawPartListV.xaml.vb
similarity index 100%
rename from EgtBEAMWALL.Supervisor/LeftPanel/FeatureInPartInRawPartListV.xaml.vb
rename to EgtBEAMWALL.Supervisor/ItemParamList/FeatureInPartInRawPartListV.xaml.vb
diff --git a/EgtBEAMWALL.Supervisor/LeftPanel/FeatureInPartInRawPartListVM.vb b/EgtBEAMWALL.Supervisor/ItemParamList/FeatureInPartInRawPartListVM.vb
similarity index 99%
rename from EgtBEAMWALL.Supervisor/LeftPanel/FeatureInPartInRawPartListVM.vb
rename to EgtBEAMWALL.Supervisor/ItemParamList/FeatureInPartInRawPartListVM.vb
index 2f8129ea..d8ac59db 100644
--- a/EgtBEAMWALL.Supervisor/LeftPanel/FeatureInPartInRawPartListVM.vb
+++ b/EgtBEAMWALL.Supervisor/ItemParamList/FeatureInPartInRawPartListVM.vb
@@ -1,6 +1,7 @@
Imports System.Collections.ObjectModel
Imports EgtBEAMWALL.Core
Imports EgtUILib
+Imports EgtWPFLib5
Public Class FeatureInPartInRawPartListVM
Inherits VMBase
diff --git a/EgtBEAMWALL.Supervisor/LeftPanel/PartInRawPartListV.xaml b/EgtBEAMWALL.Supervisor/ItemParamList/PartInRawPartListV.xaml
similarity index 100%
rename from EgtBEAMWALL.Supervisor/LeftPanel/PartInRawPartListV.xaml
rename to EgtBEAMWALL.Supervisor/ItemParamList/PartInRawPartListV.xaml
diff --git a/EgtBEAMWALL.Supervisor/LeftPanel/PartInRawPartListV.xaml.vb b/EgtBEAMWALL.Supervisor/ItemParamList/PartInRawPartListV.xaml.vb
similarity index 100%
rename from EgtBEAMWALL.Supervisor/LeftPanel/PartInRawPartListV.xaml.vb
rename to EgtBEAMWALL.Supervisor/ItemParamList/PartInRawPartListV.xaml.vb
diff --git a/EgtBEAMWALL.Supervisor/LeftPanel/PartInRawPartListVM.vb b/EgtBEAMWALL.Supervisor/ItemParamList/PartInRawPartListVM.vb
similarity index 100%
rename from EgtBEAMWALL.Supervisor/LeftPanel/PartInRawPartListVM.vb
rename to EgtBEAMWALL.Supervisor/ItemParamList/PartInRawPartListVM.vb
diff --git a/EgtBEAMWALL.Supervisor/LeftPanel/RawPartListV.xaml b/EgtBEAMWALL.Supervisor/ItemParamList/RawPartListV.xaml
similarity index 100%
rename from EgtBEAMWALL.Supervisor/LeftPanel/RawPartListV.xaml
rename to EgtBEAMWALL.Supervisor/ItemParamList/RawPartListV.xaml
diff --git a/EgtBEAMWALL.Supervisor/LeftPanel/RawPartListV.xaml.vb b/EgtBEAMWALL.Supervisor/ItemParamList/RawPartListV.xaml.vb
similarity index 100%
rename from EgtBEAMWALL.Supervisor/LeftPanel/RawPartListV.xaml.vb
rename to EgtBEAMWALL.Supervisor/ItemParamList/RawPartListV.xaml.vb
diff --git a/EgtBEAMWALL.Supervisor/LeftPanel/RawPartListVM.vb b/EgtBEAMWALL.Supervisor/ItemParamList/RawPartListVM.vb
similarity index 100%
rename from EgtBEAMWALL.Supervisor/LeftPanel/RawPartListVM.vb
rename to EgtBEAMWALL.Supervisor/ItemParamList/RawPartListVM.vb
diff --git a/EgtBEAMWALL.Supervisor/MachGroupPanel/BeamMachGroupVM.vb b/EgtBEAMWALL.Supervisor/MachGroupPanel/BeamMachGroupVM.vb
index 21918cdb..4e235cdf 100644
--- a/EgtBEAMWALL.Supervisor/MachGroupPanel/BeamMachGroupVM.vb
+++ b/EgtBEAMWALL.Supervisor/MachGroupPanel/BeamMachGroupVM.vb
@@ -44,7 +44,7 @@ Public Class BeamMachGroupVM
AddHandler BeamVM.PropertyChanged, AddressOf OnBeamVMPropertyChanged
Next
- m_PartVMList = New ObservableCollection(Of PartVM)(all)
+ m_PartVMList = New ObservableCollection(Of Core.PartVM)(all)
AddHandler m_PartVMList.CollectionChanged, AddressOf OnBeamVMListChanged
End Sub
diff --git a/EgtBEAMWALL.Supervisor/MachGroupPanel/MyMachGroupPanelVM.vb b/EgtBEAMWALL.Supervisor/MachGroupPanel/MyMachGroupPanelVM.vb
index c0b93fe0..0fbadd82 100644
--- a/EgtBEAMWALL.Supervisor/MachGroupPanel/MyMachGroupPanelVM.vb
+++ b/EgtBEAMWALL.Supervisor/MachGroupPanel/MyMachGroupPanelVM.vb
@@ -28,8 +28,8 @@ Public Class MyMachGroupPanelVM
Protected Overrides Sub CreateMachGroupVMList()
Dim all As New List(Of MachGroupVM)
For Each MachGroupM In m_MachGroupPanelM.GetMachGroups()
- If DirectCast(MachGroupM, MyMachGroupM).nMachineType = MachineType.BEAM Then
- all.Add(New BeamMachGroupVM(MachGroupM))
+ If DirectCast(MachGroupM, MyMachGroupM).nType = MachineType.BEAM Then
+ all.Add(New MyMachGroupVM(MachGroupM))
'Else
'all.Add(New WallMachGroupVM(MachGroupM))
End If
@@ -45,9 +45,9 @@ Public Class MyMachGroupPanelVM
Protected Overrides Sub OnMachGroupAdded(sender As Object, e As MachGroupAddedEventArgs)
Dim MachGroupVM As MachGroupVM = Nothing
- Select Case DirectCast(e.NewMachGroupM, MyMachGroupM).nMachineType
+ Select Case DirectCast(e.NewMachGroupM, MyMachGroupM).nType
Case Core.ConstBeam.MachineType.BEAM
- MachGroupVM = New BeamMachGroupVM(e.NewMachGroupM)
+ MachGroupVM = New MyMachGroupVM(e.NewMachGroupM)
'Case Core.ConstBeam.MachineType.WALL
'MachGroupVM = New WallMachGroupVM(e.NewMachGroupM)
Case Core.ConstBeam.MachineType.NULL
diff --git a/EgtBEAMWALL.Supervisor/MachGroupPanel/MyMachGroupVM.qq.vb b/EgtBEAMWALL.Supervisor/MachGroupPanel/MyMachGroupVM.qq.vb
new file mode 100644
index 00000000..ba5efbd0
--- /dev/null
+++ b/EgtBEAMWALL.Supervisor/MachGroupPanel/MyMachGroupVM.qq.vb
@@ -0,0 +1,136 @@
+Imports System.Collections.ObjectModel
+Imports System.IO
+Imports System.Windows.Input
+Imports System.Windows.Media
+Imports EgtBEAMWALL.Core
+Imports EgtUILib
+Imports EgtWPFLib5
+
+Public MustInherit Class MyMachGroupVM
+ Inherits Core.MyMachGroupVM
+
+ Public Overrides ReadOnly Property Production_Background As SolidColorBrush
+ Get
+ If dtEndTime <> DateTime.MinValue Then ' barra finita
+ Return Brushes.LightGray
+ ElseIf dtStartTime <> DateTime.MinValue Then ' barra iniziata
+ Return Brushes.Green
+ ElseIf m_bToBeProduced Then ' barra in attesa
+ Return Brushes.Yellow
+ Else ' barra in coda
+ Return Brushes.White
+ End If
+ End Get
+ End Property
+
+ ' indica se il pezzo deve essere tagliato
+ Private m_bToBeProduced As Boolean = False
+ Public ReadOnly Property bToBeProduced As Boolean
+ Get
+ Return m_bToBeProduced
+ End Get
+ End Property
+
+ ' indica se il pezzo e' gia' stato ricalcolato e quindi pronto a partire
+ Private m_bCNReCalculated As Boolean = False
+ Public ReadOnly Property bReadyForMachining As Boolean
+ Get
+ Return m_bToBeProduced AndAlso m_bCNReCalculated
+ End Get
+ End Property
+
+ ' indica se il pezzo e' stato mandato alla macchina
+ Private m_bSentToMachine As Boolean = False
+ Public ReadOnly Property bSentToMachine As Boolean
+ Get
+ Return m_bSentToMachine
+ End Get
+ End Property
+ Friend Sub SetSentToMachine(value As Boolean)
+ m_bSentToMachine = value
+ End Sub
+
+ ' indica se la macchin e' stata interrotta durante la lavorazione
+ Private m_bResetWhileCutting As Boolean = False
+ Public ReadOnly Property bResetWhileCutting As Boolean
+ Get
+ Return m_bResetWhileCutting
+ End Get
+ End Property
+ Friend Sub SetResetWhileCutting(value As Boolean)
+ m_bResetWhileCutting = value
+ End Sub
+
+ ' definizione comandi
+ Private m_cmdProduceMachGroup As ICommand
+
+#Region "CONSTRUCTORS"
+
+ Sub New(MyMachGroupM As MyMachGroupM)
+ MyBase.New(MyMachGroupM)
+ End Sub
+
+#End Region ' CONSTRUCTORS
+
+#Region "METHODS"
+
+ Friend Sub ResetProduce()
+ m_bCNReCalculated = False
+ m_bToBeProduced = False
+ m_bSentToMachine = False
+ NotifyPropertyChanged(NameOf(Calc_Background))
+ End Sub
+
+#End Region ' METHODS
+
+ Public Function CnFilePath() As String
+ Return Map.refSupervisorManagerVM.CurrProd.sProdDirPath & "\" & Name & ".cnc"
+ End Function
+
+#Region "COMMANDS"
+
+#Region "ProduceMachGroup"
+
+ ' Returns a command that manage the MainWindow_Unloaded command
+ Public ReadOnly Property ProduceMachGroup_Command As ICommand
+ Get
+ If m_cmdProduceMachGroup Is Nothing Then
+ m_cmdProduceMachGroup = New Command(AddressOf ProduceMachGroup)
+ End If
+ Return m_cmdProduceMachGroup
+ End Get
+ End Property
+
+ ' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
+ Public Sub ProduceMachGroup()
+ '' se lavorazione interrotta da reset
+ 'If bResetWhileCutting Then
+ ' ' chiedo se riprendere o rimandare i pezzi non fatti all'ottimizzatore
+ ' If MessageBox.Show("Riprendere lavorazione barra corrente?", "", MessageBoxButton.YesNo, MessageBoxImage.Information) = MessageBoxResult.Yes Then
+ ' ' se ripresa, lancio finestra per definire da dove
+
+
+ ' End If
+ 'End If
+ ' cerco primo indice di pezzo non in produzione
+ Dim NewIndex As Integer = Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList.IndexOf(Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList.FirstOrDefault(Function(x) DirectCast(x, MyMachGroupVM).dtStartTime = DateTime.MinValue AndAlso DirectCast(x, MyMachGroupVM).bToBeProduced = False))
+ ' segno pezzo da produrre
+ m_bToBeProduced = True
+ ' ricalcolo il CN
+ m_bCNReCalculated = True
+
+
+ ' sposto MachGroup in lista come ultimo dei pronti da produrre
+ Dim OldIndex As Integer = Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList.IndexOf(Me)
+ DbControllers.m_MachGroupController.UpdateOrder(Map.refSupervisorManagerVM.CurrProd.nProdId, Id, NewIndex)
+ Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList.Move(OldIndex, NewIndex)
+
+ NotifyPropertyChanged(NameOf(nCALC_State))
+ NotifyPropertyChanged(NameOf(Calc_Background))
+ End Sub
+
+#End Region ' ProduceMachGroup
+
+#End Region ' COMMANDS
+
+End Class
diff --git a/EgtBEAMWALL.Supervisor/MachGroupPanel/MyMachGroupVM.vb b/EgtBEAMWALL.Supervisor/MachGroupPanel/MyMachGroupVM.vb
index ba5efbd0..3de3dd5d 100644
--- a/EgtBEAMWALL.Supervisor/MachGroupPanel/MyMachGroupVM.vb
+++ b/EgtBEAMWALL.Supervisor/MachGroupPanel/MyMachGroupVM.vb
@@ -1,68 +1,39 @@
Imports System.Collections.ObjectModel
+Imports System.Collections.Specialized
+Imports System.ComponentModel
Imports System.IO
-Imports System.Windows.Input
-Imports System.Windows.Media
Imports EgtBEAMWALL.Core
Imports EgtUILib
Imports EgtWPFLib5
-Public MustInherit Class MyMachGroupVM
+Public Class MyMachGroupVM
Inherits Core.MyMachGroupVM
- Public Overrides ReadOnly Property Production_Background As SolidColorBrush
+#Region "FIELDS & PROPERTIES"
+
+#Region "Supervisor"
+
+ Public Overrides ReadOnly Property Produce_IsEnabled As Boolean
Get
- If dtEndTime <> DateTime.MinValue Then ' barra finita
- Return Brushes.LightGray
- ElseIf dtStartTime <> DateTime.MinValue Then ' barra iniziata
- Return Brushes.Green
- ElseIf m_bToBeProduced Then ' barra in attesa
- Return Brushes.Yellow
- Else ' barra in coda
- Return Brushes.White
- End If
+ Select Case nProduction_State
+ Case ItemState.Assigned, ItemState.Confirmed
+ Return Not m_bToBeProduced
+ Case ItemState.WIP
+ If Map.refMachCommandMessagePanelVM.OPState = 0 OrElse
+ Map.refMachCommandMessagePanelVM.OPState = MachCommandMessagePanelVM.MachineOperatingState.End OrElse
+ Map.refMachCommandMessagePanelVM.OPState = MachCommandMessagePanelVM.MachineOperatingState.Stop OrElse
+ Map.refMachCommandMessagePanelVM.OPState = MachCommandMessagePanelVM.MachineOperatingState.Unspecified Then
+ Return True
+ End If
+ Case Else
+ Return False
+ End Select
End Get
End Property
- ' indica se il pezzo deve essere tagliato
- Private m_bToBeProduced As Boolean = False
- Public ReadOnly Property bToBeProduced As Boolean
- Get
- Return m_bToBeProduced
- End Get
- End Property
+#End Region ' Supervisor
- ' indica se il pezzo e' gia' stato ricalcolato e quindi pronto a partire
- Private m_bCNReCalculated As Boolean = False
- Public ReadOnly Property bReadyForMachining As Boolean
- Get
- Return m_bToBeProduced AndAlso m_bCNReCalculated
- End Get
- End Property
-
- ' indica se il pezzo e' stato mandato alla macchina
- Private m_bSentToMachine As Boolean = False
- Public ReadOnly Property bSentToMachine As Boolean
- Get
- Return m_bSentToMachine
- End Get
- End Property
- Friend Sub SetSentToMachine(value As Boolean)
- m_bSentToMachine = value
- End Sub
-
- ' indica se la macchin e' stata interrotta durante la lavorazione
- Private m_bResetWhileCutting As Boolean = False
- Public ReadOnly Property bResetWhileCutting As Boolean
- Get
- Return m_bResetWhileCutting
- End Get
- End Property
- Friend Sub SetResetWhileCutting(value As Boolean)
- m_bResetWhileCutting = value
- End Sub
-
- ' definizione comandi
- Private m_cmdProduceMachGroup As ICommand
+#End Region ' FIELDS & PROPERTIES
#Region "CONSTRUCTORS"
@@ -74,63 +45,262 @@ Public MustInherit Class MyMachGroupVM
#Region "METHODS"
- Friend Sub ResetProduce()
- m_bCNReCalculated = False
- m_bToBeProduced = False
- m_bSentToMachine = False
- NotifyPropertyChanged(NameOf(Calc_Background))
+#Region "Machgroup"
+
+ Public Overrides Sub RefreshGroupData()
+
End Sub
-#End Region ' METHODS
-
- Public Function CnFilePath() As String
+ Overrides Function CnFilePath() As String
Return Map.refSupervisorManagerVM.CurrProd.sProdDirPath & "\" & Name & ".cnc"
End Function
+#End Region ' Machgroup
+
+#Region "Parts"
+
+ Protected Overrides Sub CreatePartVMList()
+ Dim all As List(Of PartVM) = (From PartM In MyMachGroupM.GetParts()
+ Select New PartVM(PartM, Me)).ToList()
+
+ For Each PartVM As PartVM In all
+ AddHandler PartVM.PropertyChanged, AddressOf OnPartVMPropertyChanged
+ Next
+
+ m_PartVMList = New ObservableCollection(Of Core.PartVM)(all)
+ AddHandler m_PartVMList.CollectionChanged, AddressOf OnPartVMListChanged
+ End Sub
+
+ Public Overrides Sub RefreshPartList()
+
+ End Sub
+
+#End Region ' Parts
+
+#Region "Calc"
+
+ Public Overrides Sub CALCEnd()
+ ' aggiorno stato per lancio in macchina
+ If MyMachGroupM.m_nCALC_GlobalState = Core.CalcStates.OK OrElse MyMachGroupM.m_nCALC_GlobalState = Core.CalcStates.INFO Then
+ m_bCNReCalculated = True
+ NotifyPropertyChanged(NameOf(Production_Background))
+ End If
+ End Sub
+
+#End Region ' Calc
+
+#End Region ' METHODS
+
#Region "COMMANDS"
#Region "ProduceMachGroup"
- ' Returns a command that manage the MainWindow_Unloaded command
- Public ReadOnly Property ProduceMachGroup_Command As ICommand
- Get
- If m_cmdProduceMachGroup Is Nothing Then
- m_cmdProduceMachGroup = New Command(AddressOf ProduceMachGroup)
- End If
- Return m_cmdProduceMachGroup
- End Get
- End Property
-
' Manage the MainWindow_Unloaded event. This method is invoked by the cmdMainWindow_Unloaded.
- Public Sub ProduceMachGroup()
- '' se lavorazione interrotta da reset
- 'If bResetWhileCutting Then
- ' ' chiedo se riprendere o rimandare i pezzi non fatti all'ottimizzatore
- ' If MessageBox.Show("Riprendere lavorazione barra corrente?", "", MessageBoxButton.YesNo, MessageBoxImage.Information) = MessageBoxResult.Yes Then
- ' ' se ripresa, lancio finestra per definire da dove
-
-
- ' End If
- 'End If
+ Public Overrides Sub ProduceMachGroup()
+ ' se gia' in produzione, non devo fare nulla
+ If m_bToBeProduced Then Return
+ SetResetWhileCutting(True)
+ If Map.refLeftPanelVM.bRestart Then
+ ' mando notifica ad eventuale ottimizzatore di salvare
+ DbControllers.m_StatusMapController.UpdateAction("", Map.refSupervisorManagerVM.CurrProd.nProdId, Map.refSupervisorManagerVM.CurrProd.nProdId, StatusMapItemType.Comm, StatusMapOpType.SupervisorStopRequest, "")
+ ' aspetto risposta
+ Dim WaitingWnd As New WaitingWndV(Application.Current.MainWindow, New WaitingWndVM)
+ Dim WaitingResult As Boolean = WaitingWnd.ShowDialog()
+ If Not WaitingResult Then
+ Return
+ End If
+ ' ricarico progetto corrente
+ EgtOpenFile(Map.refSupervisorManagerVM.CurrProd.sProdPath)
+ ' creo nuova barra
+ Dim RedoMachGroupVM As MyMachGroupVM = RedoRawPart()
+ ' salvo progetto con nuova barra
+ Map.refSceneHostVM.SaveProject()
+ Dim MyMachGroupList As New List(Of MyMachGroupM)
+ If Not IsNothing(Map.refProjectVM.ProdMachGroupPanelVM) Then
+ For Each MachGroup In Map.refProjectVM.ProdMachGroupPanelVM.m_MyMachGroupPanelM.MachGroupMList
+ MyMachGroupList.Add(MachGroup)
+ Next
+ End If
+ ' aggiorno pezzi su Db
+ DbControllers.m_ProdController.UpdateMachGroup(Map.refSupervisorManagerVM.CurrProd.nProdId, MyMachGroupList)
+ ' mando notifica di barra creata (sblocco ottimizzatore)
+ DbControllers.m_StatusMapController.UpdateAction("", Map.refSupervisorManagerVM.CurrProd.nProdId, Map.refSupervisorManagerVM.CurrProd.nProdId, StatusMapItemType.Comm, StatusMapOpType.SupervisorReleaseStop, "")
+ ' resetto eventuali stati di ripartenza
+ If bResetWhileCutting Then
+ SetResetWhileCutting(False)
+ If Map.refLeftPanelVM.bRestart Then
+ Map.refLeftPanelVM.bRestart = False
+ End If
+ End If
+ '' lancio produzione del nuovo
+ 'RedoMachGroupVM.ProduceMachGroup()
+ Return
+ End If
+ ' se lavorazione interrotta da reset
+ If bResetWhileCutting And Not Map.refLeftPanelVM.bRestart Then
+ ' chiedo se riprendere o rimandare i pezzi non fatti all'ottimizzatore
+ If MessageBox.Show("Riprendere lavorazione barra corrente?", "", MessageBoxButton.YesNo, MessageBoxImage.Information) = MessageBoxResult.Yes Then
+ ' se ripresa, mostro lista feature e colonne Redo
+ Map.refLeftPanelVM.bRestart = True
+ Return
+ End If
+ End If
' cerco primo indice di pezzo non in produzione
Dim NewIndex As Integer = Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList.IndexOf(Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList.FirstOrDefault(Function(x) DirectCast(x, MyMachGroupVM).dtStartTime = DateTime.MinValue AndAlso DirectCast(x, MyMachGroupVM).bToBeProduced = False))
' segno pezzo da produrre
m_bToBeProduced = True
- ' ricalcolo il CN
- m_bCNReCalculated = True
-
+ NotifyPropertyChanged(NameOf(Production_Background))
+ ' lancio ricalcolo del CN
+ Map.refCALCPanelVM.VerifyMachGroup(Me)
' sposto MachGroup in lista come ultimo dei pronti da produrre
Dim OldIndex As Integer = Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList.IndexOf(Me)
- DbControllers.m_MachGroupController.UpdateOrder(Map.refSupervisorManagerVM.CurrProd.nProdId, Id, NewIndex)
+ DbControllers.m_MachGroupController.UpdateOrder(Map.refSupervisorManagerVM.CurrProd.nProdId, Id, NewIndex + 1)
Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList.Move(OldIndex, NewIndex)
-
- NotifyPropertyChanged(NameOf(nCALC_State))
- NotifyPropertyChanged(NameOf(Calc_Background))
+ NotifyPropertyChanged(NameOf(Produce_IsEnabled))
End Sub
+ Public Function RedoRawPart() As MyMachGroupVM
+ If IsNothing(Map.refSupervisorManagerVM.CurrProd) Then Return Nothing
+ ' creo nuovo gruppo di lavorazione
+ Map.refProjectVM.ProdMachGroupPanelVM.AddMachGroup()
+ Dim nCurrMachGroup As Integer = EgtGetCurrMachGroup()
+ Dim sCurrMachGroupName As String = ""
+ Dim MachGroup As MyMachGroupVM
+ EgtGetMachGroupName(nCurrMachGroup, sCurrMachGroupName)
+ Dim sLogPath As String = Map.refMainWindowVM.MainWindowM.sTempDir & "\RawPartLog.txt"
+ ' scrivo dati per variabili P di comunicazione con la macchina in gruppo di lavorazione
+ EgtSetInfo(nCurrMachGroup, MGR_RPT_PRODID, Map.refSupervisorManagerVM.CurrProd.nProdId)
+ EgtSetInfo(nCurrMachGroup, MGR_RPT_PATTID, nCurrMachGroup)
+ EgtSetInfo(nCurrMachGroup, MGR_RPT_MATERIAL, sMATERIAL)
+ If Map.refSupervisorManagerVM.CurrProd.nType = BWType.BEAM Then
+ ' recupero lista dei pezzi BTL originali
+ Dim PartList As New List(Of Integer)
+ For Each Part In m_PartVMList
+ PartList.Add(EgtDuploGetOriginal(Part.nPartId))
+ Next
+ ' analizzo barra di origine
+ Dim dInitialCutOut As Double = 0
+ ' scrivo dati costruzione grezzo in gruppo di lavorazione
+ Dim nDone As Integer = 0
+ For Index = 0 To m_PartVMList.Count - 1
+ Dim CurrPart As PartVM = m_PartVMList(Index)
+ If CurrPart.bDO Then
+ nDone += 1
+ ' creo copia del pezzo
+ Dim nPartDuploId As Integer = EgtDuploNew(PartList(Index))
+ ' elimino valori calcolo dell'originale
+ MyMachGroupPanelVM.DuploRemoveProjCalc(nPartDuploId)
+ ' lo rendo std
+ EgtSetMode(nPartDuploId, GDB_MD.STD)
+ ' scrivo dati costruzione grezzo in gruppo di lavorazione
+ EgtSetInfo(nCurrMachGroup, MGR_RPT_PART & nDone, nPartDuploId & "," & CurrPart.sPOSX - dInitialCutOut)
+ Else
+ dInitialCutOut += CurrPart.dOffset + CurrPart.dL
+ End If
+ Next
+ EgtSetInfo(nCurrMachGroup, MGR_RPT_BARLEN, dL - dInitialCutOut)
+ Dim BeamMachGroup As MyMachGroupVM = Map.refProjectVM.ProdMachGroupPanelVM.GetLastMachGroup()
+ ' eseguo script creazione grezzo
+ If Not ExecBeam(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdType.RAWPART, False) Then
+ BeamMachGroup.DeleteMachGroup()
+ If File.Exists(sLogPath) Then
+ Dim LogFile As String() = File.ReadAllLines(sLogPath)
+ If LogFile.Count >= 2 AndAlso Not IsNothing(LogFile(1)) Then
+ MessageBox.Show(LogFile(1), EgtMsg(30007), MessageBoxButton.OK, MessageBoxImage.Error)
+ End If
+ End If
+ Return Nothing
+ End If
+ 'aggiorno lista pezzi
+ BeamMachGroup.MyMachGroupM.RefreshPartList()
+ BeamMachGroup.MyMachGroupM.RefreshGroupData()
+ ''' aggiorno dati utilizzo barra
+ ''BeamMachGroup.UpdateUsage()
+ EgtSetView(VT.ISO_SW, False)
+ ' segno pezzi non completati come scrap
+ For Index = 0 To m_PartVMList.Count - 1
+ Dim CurrPart As PartVM = m_PartVMList(Index)
+ If CurrPart.bDO Then
+ Dim Part As PartVM = m_PartVMList(Index)
+ Dim nP_Prod As Integer = Map.refSupervisorManagerVM.CurrProd.nProdId
+ Dim nP_Machgroup As Integer = Id
+ Dim nP_Part As Integer = m_PartVMList(Index).nPartId
+ DbControllers.m_PartController.UpdateEnd(nP_Prod, nP_Machgroup, nP_Part, DateTime.MinValue)
+ DbControllers.m_PartController.UpdateStatus(nP_Prod, nP_Machgroup, nP_Part, ItemState.Scrapped)
+ ' scrivo stato end
+ Part.nProduction_State = 2
+ Part.dtEndTime = DateTime.MinValue
+ Part.NotifyPropertyChanged(NameOf(Part.nProduction_State))
+ ' resetto stato redo
+ Part.bRedo = False
+ ' scrivo data end su Db barra
+ DbControllers.m_MachGroupController.UpdateEnd(nP_Prod, nP_Machgroup, DateTime.MinValue)
+ DbControllers.m_MachGroupController.UpdateStatus(nP_Prod, nP_Machgroup, ItemState.Produced)
+ ' scrivo stato end
+ MyMachGroupM.SetProductionState(2)
+ dtEndTime = DateTime.MinValue
+ NotifyPropertyChanged(NameOf(nProduction_State))
+ End If
+ Next
+ MachGroup = BeamMachGroup
+ ElseIf Map.refSupervisorManagerVM.CurrProd.nType = BWType.WALL Then
+ '' scrivo dati in gruppo di lavorazione
+ 'Dim dPosX As Double = dKerf
+ 'Dim dPosY As Double = dKerf
+ 'EgtSetInfo(nCurrMachGroup, MGR_RPT_PANELLEN, dL)
+ 'EgtSetInfo(nCurrMachGroup, MGR_RPT_PANELWIDTH, dW)
+ 'EgtSetInfo(nCurrMachGroup, MGR_RPT_PART & 1, nPartDuploId & "," & dPosX & "," & dPosY & "," & 0 & "," & 0)
+ 'Dim WallMachGroup As WallMachGroupVM = DirectCast(Map.refMachGroupPanelVM.MachGroupVMList(Map.refMachGroupPanelVM.MachGroupVMList.Count - 1), WallMachGroupVM)
+ '' eseguo script creazione grezzo
+ 'If Not ExecWall(sLogPath, Map.refMachinePanelVM.SelectedMachine.Name, CalcIntegration.CmdType.RAWPART, False) Then
+ ' WallMachGroup.DeleteMachGroup()
+ ' If File.Exists(sLogPath) Then
+ ' Dim LogFile As String() = File.ReadAllLines(sLogPath)
+ ' If LogFile.Count >= 2 AndAlso Not IsNothing(LogFile(1)) Then
+ ' MessageBox.Show(LogFile(1), EgtMsg(30007), MessageBoxButton.OK, MessageBoxImage.Error)
+ ' End If
+ ' Else
+ ' MessageBox.Show("Impossible creating rawpart", EgtMsg(30007), MessageBoxButton.OK, MessageBoxImage.Error)
+ ' End If
+ ' Return
+ 'End If
+ '' scrivo dati pezzo
+ 'EgtSetInfo(nPartDuploId, MGR_PRT_POSX, dPosX)
+ 'EgtSetInfo(nPartDuploId, MGR_PRT_POSY, dPosY)
+ 'EgtSetInfo(nPartDuploId, MGR_PRT_ROT, 0)
+ 'EgtSetInfo(nPartDuploId, MGR_PRT_FLIP, False)
+ '' aggiorno contatore pezzi usati in Prod
+ 'SelPart.RefreshPartInProd()
+ '' aggiorno lista pezzi
+ 'WallMachGroup.m_WallMachGroupM.RefreshPartList()
+ 'WallMachGroup.m_WallMachGroupM.RefreshGroupData()
+ '' aggiorno dati ultilizzo barra
+ 'WallMachGroup.UpdateUsage()
+ 'EgtSetView(VT.TOP, False)
+ End If
+ 'passo machgroup a supervisor su Db
+ DbControllers.m_MachGroupController.UpdateSupervisor(Map.refSupervisorManagerVM.CurrProd.nProdId, MachGroup.Id, DbControllers.m_SupervisorId)
+ DbControllers.m_MachGroupController.UpdateOrder(Map.refSupervisorManagerVM.CurrProd.nProdId, MachGroup.Id, 10000)
+ ' aggiungo Machgroup a lista supervisor
+ If Not IsNothing(MachGroup) Then Map.refProjectVM.SupervisorMachGroupPanelVM.AddMachGroupToSupervisor(MachGroup)
+ ' lo posiziono subito dopo il gruppo di ripartenza (devo cambiare indice anche su DB??)
+ Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList.Move(Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList.Count - 1, Map.refProjectVM.SupervisorMachGroupPanelVM.MachGroupVMList.IndexOf(Me) + 1)
+ EgtZoom(ZM.ALL)
+ Return MachGroup
+ End Function
+
#End Region ' ProduceMachGroup
#End Region ' COMMANDS
+#Region "EVENTS"
+
+ Protected Overrides Sub OnPartAdded(sender As Object, e As PartAddedEventArgs)
+ Dim PartVM As PartVM = New PartVM(e.NewPart, Me)
+ PartVMList.Add(PartVM)
+ End Sub
+
+#End Region ' EVENTS
+
End Class
diff --git a/EgtBEAMWALL.Supervisor/MachGroupPanel/NewMachGroupPanelVM.vb b/EgtBEAMWALL.Supervisor/MachGroupPanel/NewMachGroupPanelVM.qq.vb
similarity index 100%
rename from EgtBEAMWALL.Supervisor/MachGroupPanel/NewMachGroupPanelVM.vb
rename to EgtBEAMWALL.Supervisor/MachGroupPanel/NewMachGroupPanelVM.qq.vb
diff --git a/EgtBEAMWALL.Supervisor/MachGroupPanel/PartVM.qq.vb b/EgtBEAMWALL.Supervisor/MachGroupPanel/PartVM.qq.vb
new file mode 100644
index 00000000..898a5cd2
--- /dev/null
+++ b/EgtBEAMWALL.Supervisor/MachGroupPanel/PartVM.qq.vb
@@ -0,0 +1,31 @@
+Imports System.Collections.ObjectModel
+Imports System.Collections.Specialized
+Imports System.ComponentModel
+Imports System.IO
+Imports System.Windows.Input
+Imports System.Windows.Media
+Imports EgtBEAMWALL.Core
+Imports EgtUILib
+Imports EgtWPFLib5
+
+Public MustInherit Class PartVM
+ Inherits Core.PartVM
+
+#Region "FIELDS & PROPERTIES"
+
+#End Region ' FIELDS & PROPERTIES
+
+#Region "CONSTRUCTOR"
+
+ Sub New(PartM As PartM)
+ MyBase.New(PartM)
+ End Sub
+
+#End Region ' CONSTRUCTOR
+
+
+#Region "COMMANDS"
+
+#End Region ' COMMANDS
+
+End Class
diff --git a/EgtBEAMWALL.Supervisor/MachGroupPanel/PartVM.vb b/EgtBEAMWALL.Supervisor/MachGroupPanel/PartVM.vb
index 898a5cd2..d46aa31a 100644
--- a/EgtBEAMWALL.Supervisor/MachGroupPanel/PartVM.vb
+++ b/EgtBEAMWALL.Supervisor/MachGroupPanel/PartVM.vb
@@ -1,31 +1,59 @@
Imports System.Collections.ObjectModel
-Imports System.Collections.Specialized
-Imports System.ComponentModel
Imports System.IO
-Imports System.Windows.Input
-Imports System.Windows.Media
Imports EgtBEAMWALL.Core
Imports EgtUILib
Imports EgtWPFLib5
-Public MustInherit Class PartVM
+Public Class PartVM
Inherits Core.PartVM
#Region "FIELDS & PROPERTIES"
+#Region "Supervisor"
+
+ Private m_bDo As Boolean
+ Public Property bDO As Boolean
+ Get
+ Return m_bDo
+ End Get
+ Set(value As Boolean)
+ m_bDo = value
+ EgtSetInfo(m_PartM.nPartId, MGR_PRT_DO, If(value, 1, 0))
+ End Set
+ End Property
+
+#End Region ' Supervisor
+
#End Region ' FIELDS & PROPERTIES
#Region "CONSTRUCTOR"
- Sub New(PartM As PartM)
- MyBase.New(PartM)
+ Sub New(PartM As PartM, ParentMachGroupVM As MyMachGroupVM)
+ MyBase.New(PartM, ParentMachGroupVM)
End Sub
#End Region ' CONSTRUCTOR
+#Region "METHODS"
-#Region "COMMANDS"
+#Region "Feature"
+
+ Protected Overrides Sub CreateBTLFeatureVMList()
+ Dim all As List(Of BTLFeatureVM) = (From BTLFeatureM In m_PartM.GetBTLFeatures()
+ Select New BTLFeatureVM(BTLFeatureM)).ToList()
+
+ For Each BTLFeatureVM As BTLFeatureVM In all
+ AddHandler BTLFeatureVM.PropertyChanged, AddressOf OnBTLFeatureVMPropertyChanged
+ Next
+
+ m_FeatureVMList = New ObservableCollection(Of Core.BTLFeatureVM)(all)
+ AddHandler m_FeatureVMList.CollectionChanged, AddressOf OnBTLFeatureVMListChanged
+
+ End Sub
+
+#End Region ' Feature
+
+#End Region ' METHODS
-#End Region ' COMMANDS
End Class
diff --git a/EgtBEAMWALL.Supervisor/MachGroupPanel/SupervisorMachGroupPanelVM.vb b/EgtBEAMWALL.Supervisor/MachGroupPanel/SupervisorMachGroupPanelVM.vb
index 0b17a9e8..344fac8d 100644
--- a/EgtBEAMWALL.Supervisor/MachGroupPanel/SupervisorMachGroupPanelVM.vb
+++ b/EgtBEAMWALL.Supervisor/MachGroupPanel/SupervisorMachGroupPanelVM.vb
@@ -92,10 +92,8 @@ Public Class SupervisorMachGroupPanelVM
Dim bOk As Boolean = Machine.SearchMachine(sMachine, MachineList, UsedMachine)
If Not bOk OrElse UsedMachine.nType = MachineType.NULL Then
EgtOutLog("Machine incompatible with beam & wall machining!!")
- ElseIf UsedMachine.nType = MachineType.BEAM Then
- Map.refProjectVM.ProdMachGroupPanelVM.m_MyMachGroupPanelM.AddMachGroup(BeamMachGroupM.CreateBeamMachGroup(nId, sName, sMachine))
- ElseIf UsedMachine.nType = MachineType.WALL Then
- Map.refProjectVM.ProdMachGroupPanelVM.m_MyMachGroupPanelM.AddMachGroup(WallMachGroupM.CreateWallMachGroup(nId, sName, sMachine))
+ Else
+ Map.refProjectVM.ProdMachGroupPanelVM.m_MyMachGroupPanelM.AddMachGroup(MyMachGroupM.CreateMyMachGroup(UsedMachine.nType, nId, sName, sMachine))
End If
nId = EgtGetNextMachGroup(nId)
End While
diff --git a/EgtBEAMWALL.Supervisor/MachGroupPanel/WallMachGroupVM.vb b/EgtBEAMWALL.Supervisor/MachGroupPanel/WallMachGroupVM.qq.vb
similarity index 100%
rename from EgtBEAMWALL.Supervisor/MachGroupPanel/WallMachGroupVM.vb
rename to EgtBEAMWALL.Supervisor/MachGroupPanel/WallMachGroupVM.qq.vb
diff --git a/EgtBEAMWALL.Supervisor/MachGroupPanel/WallVM.vb b/EgtBEAMWALL.Supervisor/MachGroupPanel/WallVM.qq.vb
similarity index 100%
rename from EgtBEAMWALL.Supervisor/MachGroupPanel/WallVM.vb
rename to EgtBEAMWALL.Supervisor/MachGroupPanel/WallVM.qq.vb
diff --git a/EgtBEAMWALL.Supervisor/MainMenu/MainMenuVM.vb b/EgtBEAMWALL.Supervisor/MainMenu/MainMenuVM.vb
index 3e173ab4..67f6c373 100644
--- a/EgtBEAMWALL.Supervisor/MainMenu/MainMenuVM.vb
+++ b/EgtBEAMWALL.Supervisor/MainMenu/MainMenuVM.vb
@@ -104,7 +104,6 @@ Public Class MainMenuVM
Sub New()
' Creo riferimento a questa classe in EgtCAM5Map
Map.SetRefMainMenuVM(Me)
-
End Sub
#End Region ' CONSTRUCTOR
diff --git a/EgtBEAMWALL.Supervisor/MainWindow/MainWindowM.vb b/EgtBEAMWALL.Supervisor/MainWindow/MainWindowM.vb
index 355c92f4..ba7e6f37 100644
--- a/EgtBEAMWALL.Supervisor/MainWindow/MainWindowM.vb
+++ b/EgtBEAMWALL.Supervisor/MainWindow/MainWindowM.vb
@@ -165,7 +165,7 @@ Public Class MainWindowM
' Impostazione direttorio per file temporanei
m_sTempDir = m_sDataRoot & "\" & TEMP_DIR
' Impostazione path Ini file
- IniFile.m_sIniFile = m_sConfigDir & "\" & INI_FILE_NAME
+ IniFile.m_sIniFile = m_sConfigDir & "\" & Core.ConstIni.INI_FILE_NAME
' Impostazione path BTL Ini File
BTLIniFile.m_sBTLIniFile = m_sConfigDir & "\" & BTLFEATURES_FILE_NAME
' Impostazione path resources dir
diff --git a/EgtBEAMWALL.Supervisor/MainWindow/MainWindowVM.vb b/EgtBEAMWALL.Supervisor/MainWindow/MainWindowVM.vb
index 6910ce77..053b81be 100644
--- a/EgtBEAMWALL.Supervisor/MainWindow/MainWindowVM.vb
+++ b/EgtBEAMWALL.Supervisor/MainWindow/MainWindowVM.vb
@@ -1,5 +1,6 @@
Imports System.Threading
Imports EgtBEAMWALL.Core
+Imports EgtWPFLib5
Public Class MainWindowVM
Inherits VMBase
diff --git a/EgtBEAMWALL.Supervisor/OpenProjectFileDialog/OpenProjectFileDialogV.xaml b/EgtBEAMWALL.Supervisor/OpenProjectFileDialog/OpenProjectFileDialogV.xaml
deleted file mode 100644
index 5cf0e0a6..00000000
--- a/EgtBEAMWALL.Supervisor/OpenProjectFileDialog/OpenProjectFileDialogV.xaml
+++ /dev/null
@@ -1,60 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/EgtBEAMWALL.Supervisor/OpenProjectFileDialog/OpenProjectFileDialogV.xaml.vb b/EgtBEAMWALL.Supervisor/OpenProjectFileDialog/OpenProjectFileDialogV.xaml.vb
deleted file mode 100644
index 2a195e01..00000000
--- a/EgtBEAMWALL.Supervisor/OpenProjectFileDialog/OpenProjectFileDialogV.xaml.vb
+++ /dev/null
@@ -1,72 +0,0 @@
-Imports System.ComponentModel
-Imports System.IO
-Imports EgtBEAMWALL.Core.ConstBeam
-Imports EgtUILib
-
-Public Class OpenProjectFileDialogV
-
- Private WithEvents m_OpenProjFileDialogVM As OpenProjectFileDialogVM
-
-#Region "CONSTRUCTOR"
-
- Sub New(Owner As Window, OpenProjFileDialogVM As OpenProjectFileDialogVM)
- ' Funzione che interpreta l'xaml
- InitializeComponent()
- Me.Owner = Owner
- Me.DataContext = OpenProjFileDialogVM
- ' Assegno al riferimento locale al VM il VM preso dal DataContext
- m_OpenProjFileDialogVM = OpenProjFileDialogVM
- End Sub
-
-#End Region ' CONSTRUCTOR
-
-#Region "METHODS"
-
- Public Function EgtShowDialog(ProjectType As ProjectType) As Boolean?
- m_OpenProjFileDialogVM.Init(ProjectType)
- ' mostro la finestra di dialogo
- Return Me.ShowDialog()
- End Function
- Public Function EgtShowDialog(ProjectType As ProjectType, ProjectList As List(Of ProjectFileVM)) As Boolean?
- m_OpenProjFileDialogVM.Init(ProjectType, ProjectList)
- ' mostro la finestra di dialogo
- Return Me.ShowDialog()
- End Function
-
-#End Region ' METHODS
-
-#Region "EVENTS"
-
-
- 'Private Sub MainWindowV_ContentRendered(sender As Object, e As EventArgs) Handles Me.ContentRendered
- ' m_MainWindowVM.ContentRendered()
- 'End Sub
-
-#End Region ' EVENTS
-
-
- 'Private Sub m_FileNameTxBl_MouseDown(sender As Object, e As Windows.Input.MouseButtonEventArgs) Handles FileNameList.MouseDoubleClick
- ' Dim src As DependencyObject = VisualTreeHelper.GetParent(DirectCast(e.OriginalSource, DependencyObject))
- ' ' verifico che venga clickato un item, non lo spazio vuoto o la scrollbar
- ' If Not TypeOf src Is ListBoxItem Then
- ' src = Utility.FindAncestor(Of ListBoxItem)(src)
- ' End If
- ' If IsNothing(src) OrElse src.[GetType]() <> GetType(ListBoxItem) Then
- ' e.Handled = True
- ' Else
- ' If Not IsNothing(m_SelectedFile) Then
- ' m_FileName = SelectedFile
- ' DialogResult = True
- ' End If
- ' End If
- 'End Sub
-
- Private Sub OpenBtn_Click(sender As Object, e As RoutedEventArgs) Handles OpenBtn.Click
- DialogResult = m_OpenProjFileDialogVM.VerifySelected()
- End Sub
-
- Private Sub CloseWindow(bDialogResult As Boolean) Handles m_OpenProjFileDialogVM.m_CloseWindow
- Me.DialogResult = bDialogResult
- End Sub
-
-End Class
\ No newline at end of file
diff --git a/EgtBEAMWALL.Supervisor/OpenProjectFileDialog/OpenProjectFileDialogVM.vb b/EgtBEAMWALL.Supervisor/OpenProjectFileDialog/OpenProjectFileDialogVM.vb
index 1045e21f..13c00c3c 100644
--- a/EgtBEAMWALL.Supervisor/OpenProjectFileDialog/OpenProjectFileDialogVM.vb
+++ b/EgtBEAMWALL.Supervisor/OpenProjectFileDialog/OpenProjectFileDialogVM.vb
@@ -7,6 +7,8 @@ Imports EgtUILib
Public Class OpenProjectFileDialogVM
Inherits Core.OpenProjectFileDialogVM
+#Region "METHODS"
+
Public Overrides Function Init(ProjectType As ProjectType, Optional CurrProjectList As List(Of ProjectFileVM) = Nothing) As Boolean?
m_ProjectType = ProjectType
' carico colonne
@@ -31,4 +33,6 @@ Public Class OpenProjectFileDialogVM
m_ProjectList_View.Filter = AddressOf ProjectFilter
End Function
+#End Region ' METHODS
+
End Class
diff --git a/EgtBEAMWALL.Supervisor/Project/ProjectVM.vb b/EgtBEAMWALL.Supervisor/Project/ProjectVM.vb
index 56db4d61..87d04a6e 100644
--- a/EgtBEAMWALL.Supervisor/Project/ProjectVM.vb
+++ b/EgtBEAMWALL.Supervisor/Project/ProjectVM.vb
@@ -1,4 +1,5 @@
Imports System.Threading
+Imports EgtWPFLib5
Public Class ProjectVM
Inherits VMBase
diff --git a/EgtBEAMWALL.Supervisor/ProjectManager/ProdFileVM.vb b/EgtBEAMWALL.Supervisor/ProjectFileVM/ProdFileVM.vb
similarity index 100%
rename from EgtBEAMWALL.Supervisor/ProjectManager/ProdFileVM.vb
rename to EgtBEAMWALL.Supervisor/ProjectFileVM/ProdFileVM.vb
diff --git a/EgtBEAMWALL.Supervisor/ProjectManager/ProjectFileVM.vb b/EgtBEAMWALL.Supervisor/ProjectFileVM/ProjectFileVM.vb
similarity index 100%
rename from EgtBEAMWALL.Supervisor/ProjectManager/ProjectFileVM.vb
rename to EgtBEAMWALL.Supervisor/ProjectFileVM/ProjectFileVM.vb
diff --git a/EgtBEAMWALL.Supervisor/SceneHost/MySceneHostVM.vb b/EgtBEAMWALL.Supervisor/SceneHost/MySceneHostVM.vb
index 5eb32d52..bc9dac3c 100644
--- a/EgtBEAMWALL.Supervisor/SceneHost/MySceneHostVM.vb
+++ b/EgtBEAMWALL.Supervisor/SceneHost/MySceneHostVM.vb
@@ -274,7 +274,7 @@ Public Class MySceneHostVM
Private Sub OnMouseDownScene(sender As Object, e As Forms.MouseEventArgs)
If Not IsNothing(Map.refMachGroupPanelVM) AndAlso Not IsNothing(Map.refMachGroupPanelVM.SelectedMachGroup) Then
Dim SelectedMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
- If SelectedMachGroup.nMachineType = MachineType.WALL Then
+ If SelectedMachGroup.nType = MachineType.WALL Then
Wall_OnMouseDownScene(sender, e)
End If
End If
@@ -283,7 +283,7 @@ Public Class MySceneHostVM
Private Sub OnMouseMoveScene(sender As Object, e As Forms.MouseEventArgs)
If Not IsNothing(Map.refMachGroupPanelVM) AndAlso Not IsNothing(Map.refMachGroupPanelVM.SelectedMachGroup) Then
Dim SelectedMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
- If SelectedMachGroup.nMachineType = MachineType.WALL Then
+ If SelectedMachGroup.nType = MachineType.WALL Then
Wall_OnMouseMoveScene(sender, e)
End If
End If
@@ -292,7 +292,7 @@ Public Class MySceneHostVM
Private Sub OnMouseUpScene(sender As Object, e As Forms.MouseEventArgs)
If Not IsNothing(Map.refMachGroupPanelVM) AndAlso Not IsNothing(Map.refMachGroupPanelVM.SelectedMachGroup) Then
Dim SelectedMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
- If SelectedMachGroup.nMachineType = MachineType.WALL Then
+ If SelectedMachGroup.nType = MachineType.WALL Then
Wall_OnMouseUpScene(sender, e)
End If
End If
diff --git a/EgtBEAMWALL.Supervisor/Utility/Command.vb b/EgtBEAMWALL.Supervisor/Utility/Command.vb
deleted file mode 100644
index 476e71f6..00000000
--- a/EgtBEAMWALL.Supervisor/Utility/Command.vb
+++ /dev/null
@@ -1,68 +0,0 @@
-
-'''
-''' A command whose sole purpose is to
-''' relay its functionality to other
-''' objects by invoking delegates. The
-''' default return value for the CanExecute
-''' method is 'true'.
-'''
-Public Class Command
- Implements ICommand
-
-#Region "Fields"
-
- Private ReadOnly _execute As Action(Of Object)
- Private ReadOnly _canExecute As Predicate(Of Object)
-
-#End Region ' Fields
-
-#Region "Constructors"
-
- '''
- ''' Creates a new command that can always execute.
- '''
- ''' The execution logic.
- Public Sub New(ByVal execute As Action(Of Object))
- Me.New(execute, Nothing)
- End Sub
-
- '''
- ''' Creates a new command.
- '''
- ''' The execution logic.
- ''' The execution status logic.
- Public Sub New(ByVal execute As Action(Of Object), ByVal canExecute As Predicate(Of Object))
- If execute Is Nothing Then
- Throw New ArgumentNullException("execute")
- End If
-
- _execute = execute
- _canExecute = canExecute
- End Sub
-
-#End Region ' Constructors
-
-#Region "ICommand Members"
-
- _
- Public Function CanExecute(ByVal parameter As Object) As Boolean Implements ICommand.CanExecute
- Return If(_canExecute Is Nothing, True, _canExecute(parameter))
- End Function
-
- Public Custom Event CanExecuteChanged As EventHandler Implements ICommand.CanExecuteChanged
- AddHandler(ByVal value As EventHandler)
- AddHandler CommandManager.RequerySuggested, value
- End AddHandler
- RemoveHandler(ByVal value As EventHandler)
- RemoveHandler CommandManager.RequerySuggested, value
- End RemoveHandler
- RaiseEvent(ByVal sender As System.Object, ByVal e As System.EventArgs)
- End RaiseEvent
- End Event
-
- Public Sub Execute(ByVal parameter As Object) Implements ICommand.Execute
- _execute(parameter)
- End Sub
-
-#End Region ' ICommand Members
-End Class
\ No newline at end of file
diff --git a/EgtBEAMWALL.Supervisor/Utility/CurrentMachine.vb b/EgtBEAMWALL.Supervisor/Utility/CurrentMachine.vb
index ead1965c..ac3eadf0 100644
--- a/EgtBEAMWALL.Supervisor/Utility/CurrentMachine.vb
+++ b/EgtBEAMWALL.Supervisor/Utility/CurrentMachine.vb
@@ -1,5 +1,6 @@
Imports System.Collections.ObjectModel
Imports EgtUILib
+Imports EgtBEAMWALL.Core
Public Module CurrentMachine
diff --git a/EgtBEAMWALL.Supervisor/Utility/Map.vb b/EgtBEAMWALL.Supervisor/Utility/Map.vb
index 86da64fa..89e9092e 100644
--- a/EgtBEAMWALL.Supervisor/Utility/Map.vb
+++ b/EgtBEAMWALL.Supervisor/Utility/Map.vb
@@ -28,7 +28,6 @@ Module Map
Private m_refSupervisorMachGroupPanelVM As SupervisorMachGroupPanelVM
Private m_refPartInRawPartListVM As PartInRawPartListVM
Private m_refFeatureInPartInRawPartListVM As FeatureInPartInRawPartListVM
- Private m_refPartInRawPartListVM As PartInRawPartListVM
#Region "Get"
@@ -187,12 +186,6 @@ Module Map
' End Get
'End Property
- Public ReadOnly Property refPartInRawPartListVM As PartInRawPartListVM
- Get
- Return m_refPartInRawPartListVM
- End Get
- End Property
-
Public ReadOnly Property refFeatureInPartInRawPartListVM As FeatureInPartInRawPartListVM
Get
Return m_refFeatureInPartInRawPartListVM
@@ -345,11 +338,6 @@ Module Map
Return Not IsNothing(m_refMachManaging)
End Function
- Friend Function SetRefPartInRawPartListVM(PartInRawPartListVM As PartInRawPartListVM) As Boolean
- m_refPartInRawPartListVM = PartInRawPartListVM
- Return Not IsNothing(m_refPartInRawPartListVM)
- End Function
-
Friend Function SetRefFeatureInPartInRawPartListVM(FeatureInPartInRawPartListVM As FeatureInPartInRawPartListVM) As Boolean
m_refFeatureInPartInRawPartListVM = FeatureInPartInRawPartListVM
Return Not IsNothing(m_refFeatureInPartInRawPartListVM)
diff --git a/EgtBEAMWALL.Supervisor/Utility/VMBase.vb b/EgtBEAMWALL.Supervisor/Utility/VMBase.vb
deleted file mode 100644
index b2d5ce6c..00000000
--- a/EgtBEAMWALL.Supervisor/Utility/VMBase.vb
+++ /dev/null
@@ -1,12 +0,0 @@
-Imports System.ComponentModel
-
-Public Class VMBase
- Implements INotifyPropertyChanged
-
- Public Event PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Implements INotifyPropertyChanged.PropertyChanged
-
- Public Sub NotifyPropertyChanged(propName As String)
- RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
- End Sub
-
-End Class
diff --git a/EgtBEAMWALL.Supervisor/WaitingWnd/WaitingWndVM.vb b/EgtBEAMWALL.Supervisor/WaitingWnd/WaitingWndVM.vb
index e6071662..cbb305ea 100644
--- a/EgtBEAMWALL.Supervisor/WaitingWnd/WaitingWndVM.vb
+++ b/EgtBEAMWALL.Supervisor/WaitingWnd/WaitingWndVM.vb
@@ -1,4 +1,5 @@
Imports System.Windows.Threading
+Imports EgtWPFLib5
Public Class WaitingWndVM
Inherits VMBase
diff --git a/EgtBEAMWALL.ViewerOptimizer/AddRawPartWnd/AddRawPartWndVM.vb b/EgtBEAMWALL.ViewerOptimizer/AddRawPartWnd/AddRawPartWndVM.vb
index 88f9c165..77958187 100644
--- a/EgtBEAMWALL.ViewerOptimizer/AddRawPartWnd/AddRawPartWndVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/AddRawPartWnd/AddRawPartWndVM.vb
@@ -1,6 +1,7 @@
Imports System.Collections.ObjectModel
Imports EgtWPFLib5
Imports EgtUILib
+Imports EgtBEAMWALL.Core
Public Class AddRawPartWndVM
Inherits VMBase
@@ -10,7 +11,7 @@ Public Class AddRawPartWndVM
Friend Event m_CloseWindow(bDialogResult As Boolean)
' flag che indica se trave o parete
- Private m_nMachineType As MachineType = 1
+ Private m_nMachineType As ConstBeam.MachineType = 1
' lista delle varibili da mostrare
Private m_VariableList As ObservableCollection(Of Variable)
diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLParam/PartInRawPartListV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/BTLParam/PartInRawPartListV.xaml.vb
deleted file mode 100644
index a021dcbc..00000000
--- a/EgtBEAMWALL.ViewerOptimizer/BTLParam/PartInRawPartListV.xaml.vb
+++ /dev/null
@@ -1,23 +0,0 @@
-Imports EgtUILib
-Imports EgtBEAMWALL.Core
-
-Public Class PartInRawPartListV
-
- Private Sub PartInRawPartList_PreviewMouseDown(sender As Object, e As MouseButtonEventArgs)
- If TypeOf sender Is DataGridRow Then
- Dim Row As DataGridRow = DirectCast(sender, DataGridRow)
- If Not IsNothing(Row) Then
- If Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.BEAM Then
- Dim BeamMachGroup As Core.BeamMachGroupVM = Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup
- If EgtGetCurrMachGroup() = GDB_ID.NULL Then Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup = BeamMachGroup
- BeamMachGroup.SelPart = BeamMachGroup.SelPart
- ElseIf Map.refProjectVM.BTLStructureVM.nPROJTYPE = BWType.WALL Then
- Dim WallMachGroup As WallMachGroupVM = Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup
- If EgtGetCurrMachGroup() = GDB_ID.NULL Then Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup = WallMachGroup
- WallMachGroup.SelPart = WallMachGroup.SelPart
- End If
- End If
- End If
- End Sub
-
-End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLParam/BTLFeatureVM.vb b/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLFeatureVM.vb
similarity index 100%
rename from EgtBEAMWALL.ViewerOptimizer/BTLParam/BTLFeatureVM.vb
rename to EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLFeatureVM.vb
diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLParam/BTLParamVM.vb b/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLParamVM.vb
similarity index 100%
rename from EgtBEAMWALL.ViewerOptimizer/BTLParam/BTLParamVM.vb
rename to EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLParamVM.vb
diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLParam/BTLPartVM.vb b/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLPartVM.vb
similarity index 100%
rename from EgtBEAMWALL.ViewerOptimizer/BTLParam/BTLPartVM.vb
rename to EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLPartVM.vb
diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLParam/BTLRawPartVM.vb b/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLRawPartVM.vb
similarity index 100%
rename from EgtBEAMWALL.ViewerOptimizer/BTLParam/BTLRawPartVM.vb
rename to EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLRawPartVM.vb
diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLParam/BTLStructureVM.vb b/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLStructureVM.vb
similarity index 99%
rename from EgtBEAMWALL.ViewerOptimizer/BTLParam/BTLStructureVM.vb
rename to EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLStructureVM.vb
index a1e4b66e..f70fa251 100644
--- a/EgtBEAMWALL.ViewerOptimizer/BTLParam/BTLStructureVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/BTLViewModel/BTLStructureVM.vb
@@ -87,6 +87,11 @@ Public Class BTLStructureVM
NotifyPropertyChanged(NameOf(SelBTLPart))
End Set
End Property
+ ' funzione che imposta pezzo BTL selezionato senza aggiornare nulla
+ Friend Sub SetSelBTLPart(BTLPart As BTLPartVM)
+ m_SelBTLPart = BTLPart
+ NotifyPropertyChanged(NameOf(SelBTLPart))
+ End Sub
' lista parametri per ricerca testuale
Private m_SearchParamList As New ObservableCollection(Of IdNameStruct)({New IdNameStruct(BTLPartParam.NULL, ""),
diff --git a/EgtBEAMWALL.ViewerOptimizer/BlockedWnd/BlockedWndVM.vb b/EgtBEAMWALL.ViewerOptimizer/BlockedWnd/BlockedWndVM.vb
index 57beed04..d3019bfa 100644
--- a/EgtBEAMWALL.ViewerOptimizer/BlockedWnd/BlockedWndVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/BlockedWnd/BlockedWndVM.vb
@@ -1,6 +1,7 @@
Imports System.Windows.Threading
Imports EgtBEAMWALL.Core
Imports EgtUILib
+Imports EgtWPFLib5
Public Class BlockedWndVM
Inherits VMBase
diff --git a/EgtBEAMWALL.ViewerOptimizer/BottomPanel/BottomPanelVM.vb b/EgtBEAMWALL.ViewerOptimizer/BottomPanel/BottomPanelVM.vb
index 5283f184..2b0c43f8 100644
--- a/EgtBEAMWALL.ViewerOptimizer/BottomPanel/BottomPanelVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/BottomPanel/BottomPanelVM.vb
@@ -1,4 +1,6 @@
-Public Class BottomPanelVM
+Imports EgtWPFLib5
+
+Public Class BottomPanelVM
Inherits VMBase
Friend Enum PartFeatureTab As Integer
diff --git a/EgtBEAMWALL.ViewerOptimizer/Constants/ConstBeam.vb b/EgtBEAMWALL.ViewerOptimizer/Constants/ConstBeam.vb
deleted file mode 100644
index 66cbced0..00000000
--- a/EgtBEAMWALL.ViewerOptimizer/Constants/ConstBeam.vb
+++ /dev/null
@@ -1,273 +0,0 @@
-Public Module ConstBeam
-
- Public Enum BTLParamType As Integer
- DOUBLE_ = 1
- STRING_ = 2
- COMBO = 3
- LENGTH = 4
- CHECKBOX = 5
- End Enum
-
- Public Enum BTLPartParam As Integer
- NULL = 0
- PDN = 1
- NAM = 2
- GRP = 3
- End Enum
-
- Public Enum GRPType As Integer
- L = 0
- T = 1
- End Enum
-
- Enum MachineType As Integer
- NULL = 0
- BEAM = 1
- WALL = 2
- End Enum
-
- Enum CalcStates As Integer
- NOTCALCULATED = -1
- OK = 0
- INFO = 1
- WARNING = 2
- ERROR_ = 3
- End Enum
-
- Public Enum Range As Integer
- STANDARD = 1
- EXTENDED = 2
- End Enum
-
- Public Enum PartOffset_RefSideFixClamp As Integer
- INACTIVE = 0
- REFSIDE1 = 1
- REFSIDE2 = 2
- REFSIDE3 = 3
- REFSIDE4 = 4
- End Enum
-
- Public Enum ProcessingQuality As Integer
- AUTOMATIC = 1
- VISIBLE = 2
- FAST = 3
- End Enum
-
- Public Enum Recess As Integer
- AUTOMATIC = 1
- MANUAL = 2
- End Enum
-
- Public Enum StoreyType As Integer
- CEILING = 1
- ROOF = 2
- WALL = 3
- End Enum
-
- Public Enum AlignmentLocation As Integer
- INACTIV = 0
- BR = 1
- TR = 2
- BA = 3
- TA = 4
- HC = 5
- VC = 6
- AC = 7
- End Enum
-
- Public Enum AlignmentEndtype As Integer
- R = 1
- A = 2
- D = 3
- End Enum
-
- Public Enum MaterialType As Integer
- INACTIV = 0
- BA = 1
- CL = 2
- MT = 3
- ME_ = 4
- GB = 5
- GF = 6
- IN_ = 7
- SH = 8
- FB = 9
- PB = 10
- PL = 11
- End Enum
-
- Public Enum MoveDirections As Integer
- UP = -1
- DOWN = 1
- End Enum
-
- Public Const BTLFEATURES_FILE_NAME As String = "BTLFeatures.ini"
-
- 'Public Const S_GENERAL As String = "General"
- 'Public Const K_DEBUG As String = "Debug"
-
- Friend Const PROJ As String = "PROJ"
- Friend Const FILENAMESEPARATOR As Char = "^"c
- Friend Const BTLINFO As String = "BtlInfo"
-
- ' layer per assemblato
- Friend Const ASSEBASE As String = "AsseBase"
-
- ' info parametri BTL
- Friend Const BTL_PRT_PROJ As String = "PROJ"
- Friend Const BTL_PRT_PDN As String = "PDN"
- Friend Const BTL_PRT_DO As String = "DO"
- Friend Const BTL_PRT_NAM As String = "NAM"
- Friend Const BTL_PRT_L As String = "L"
- Friend Const BTL_PRT_W As String = "W"
- Friend Const BTL_PRT_H As String = "H"
- Friend Const BTL_PRT_CNT As String = "CNT"
- Friend Const BTL_PRT_ADDED As String = "ADDED"
- Friend Const BTL_PRT_DONE As String = "DONE"
-
- Friend Const BTL_PRT_ROTATED As String = "ROTATED"
- Friend Const BTL_PRT_INVERTED As String = "INVERTED"
- Friend Const BTL_PRT_MATERIAL As String = "MATERIAL"
- ' parametri pezzo
- Friend Const BTL_PRT_SINGLEMEMBERNUM = "SINGLEMEMBERNUMBER"
- Friend Const BTL_PRT_ASSEMBLYNUM = "ASSEMBLYNUMBER"
- Friend Const BTL_PRT_ORDERNUM = "ORDERNUMBER"
- Friend Const BTL_PRT_DESIGNATION = "DESIGNATION"
- Friend Const BTL_PRT_ANNOTATION = "ANNOTATION"
- Friend Const BTL_PRT_STOREY = "STOREY"
- Friend Const BTL_PRT_GROUP = "GROUP"
- Friend Const BTL_PRT_PACKAGE = "PACKAGE"
- Friend Const BTL_PRT_TIMBERGRADE = "TIMBERGRADE"
- Friend Const BTL_PRT_QUALITYGRADE = "QUALITYGRADE"
- Friend Const BTL_PRT_COLOUR = "COLOUR"
- Friend Const BTL_PRT_PLANINGLENGTH = "PLANINGLENGTH"
- Friend Const BTL_PRT_STARTOFFSET = "STARTOFFSET"
- Friend Const BTL_PRT_ENDOFFSET = "ENDOFFSET"
- Friend Const BTL_PRT_UID = "UID"
- Friend Const BTL_PRT_TRANSFORMATION = "TRANSFORMATION"
- Friend Const BTL_PRT_CAMBER = "CAMBER"
- Friend Const BTL_PRT_PARTOFFSET = "PARTOFFSET"
- Friend Const BTL_PRT_PROCESSINGQUALITY = "PROCESSINGQUALITY"
- Friend Const BTL_PRT_RECESS = "RECESS"
- Friend Const BTL_PRT_STOREYTYPE = "STOREYTYPE"
- Friend Const BTL_PRT_ELEMENTNUM = "ELEMENTNUMBER"
- Friend Const BTL_PRT_LAYER = "LAYER"
- Friend Const BTL_PRT_MODULENUM = "MODULENUMBER"
- 'Friend Const BTL_PRT_USERATTRIBUTE = "USERATTRIBUTE"
- Friend Const BTL_PRT_COMMENT = "COMMENT"
- Friend Const BTL_PRT_GRAINDIR = "GRAINDIRECTION"
- Friend Const BTL_PRT_REFSIDE = "REFERENCESIDE"
- Friend Const BTL_PRT_ALIGNMENT = "ALIGNMENT"
- Friend Const BTL_PRT_MATERIALTYPE = "MATERIALTYPE"
-
- ' parametri generici
- Friend Const BTL_GEN_PROJNUM = "PROJECTNUMBER"
- Friend Const BTL_GEN_PROJNAME = "PROJECTNAME"
- Friend Const BTL_GEN_PROJPART = "PROJECTPART"
- Friend Const BTL_GEN_PROJGUID = "PROJECTGUID"
- Friend Const BTL_GEN_PROJTYPE = "PROJECTTYPE"
- Friend Const BTL_GEN_LISTNAME = "LISTNAME"
- Friend Const BTL_GEN_CUSTOMER = "CUSTOMER"
- Friend Const BTL_GEN_ARCHITECT = "ARCHITECT"
- Friend Const BTL_GEN_EDITOR = "EDITOR"
- Friend Const BTL_GEN_DELIVDATE = "DELIVERYDATE"
- Friend Const BTL_GEN_EXPDATE = "EXPORTDATE"
- Friend Const BTL_GEN_EXPTIME = "EXPORTTIME"
- Friend Const BTL_GEN_EXPRELEASE = "EXPORTRELEASE"
- Friend Const BTL_GEN_LANGUAGE = "LANGUAGE"
- Friend Const BTL_GEN_RANGE = "RANGE"
- Friend Const BTL_GEN_COMPUTERNAME = "COMPUTERNAME"
- Friend Const BTL_GEN_USER = "USER"
- Friend Const BTL_GEN_SRCFILE = "SOURCEFILE"
- Friend Const BTL_GEN_EXPFILE = "EXPORTFILE"
- Friend Const BTL_GEN_USERATTRIBUTE = "USERATTRIBUTE"
-
- Friend Const PROCESSINGS As String = "Processings"
- Friend Const OUTLINE As String = "Outline"
- Friend Const BTL_FTR_GRP As String = "GRP"
- Friend Const BTL_FTR_PRC As String = "PRC"
- Friend Const BTL_FTR_DO As String = "DO"
- Friend Const BTL_FTR_SIDE As String = "SIDE"
- Friend Const BTL_FTR_NAME As String = "NAME"
- Friend Const BTL_FTR_DES As String = "DES"
- Friend Const BTL_FTR_PRID As String = "PRID"
- Friend Const BTL_FTR_FRAME As String = "FRAME"
- Friend Const BTL_FTR_MAINID As String = "MAINID"
- Friend Const BTL_FTR_ADJID As String = "ADJID"
- Friend Const BTL_FTR_AUXID As String = "AUXID"
-
- ' parametri machgroup grezzi
- Friend Const MGR_RPT_ID As String = "ID"
- Friend Const MGR_RPT_L As String = "L"
- Friend Const MGR_RPT_W As String = "W"
- Friend Const MGR_RPT_H As String = "H"
- Friend Const MGR_RPT_WASTE As String = "WASTE"
- Friend Const MGR_RPT_USAGE As String = "USAGE"
- Friend Const MGR_RPT_STARTCUT As String = "STARTCUT"
- Friend Const MGR_RPT_MATERIAL As String = "MATERIAL"
-
- Friend Const MGR_PRT_PDN As String = "PDN"
- Friend Const MGR_PRT_L As String = "L"
- Friend Const MGR_PRT_W As String = "W"
- Friend Const MGR_PRT_H As String = "H"
- Friend Const MGR_PRT_DES As String = "DES"
- Friend Const MGR_PRT_STARTCUT As String = "STARTCUT"
- Friend Const MGR_PRT_MATERIAL As String = "MATERIAL"
- Friend Const MGR_PRT_ROT As String = "ROT"
- Friend Const MGR_PRT_FLIP As String = "FLIP"
- Friend Const MGR_PRT_POSX As String = "POSX"
- Friend Const MGR_PRT_POSY As String = "POSY"
-
- Friend Const MGR_FTR_GRP As String = "GRP"
- Friend Const MGR_FTR_PRC As String = "PRC"
- Friend Const MGR_FTR_DO As String = "DO"
- Friend Const MGR_FTR_SIDE As String = "SIDE"
- Friend Const MGR_FTR_NAME As String = "NAME"
- Friend Const MGR_FTR_DES As String = "DES"
- Friend Const MGR_FTR_PRID As String = "PRID"
- Friend Const MGR_FTR_FRAME As String = "FRAME"
-
- ' parametri creazione barre
- Friend Const MGR_RPT_BARLEN As String = "BARLEN"
- Friend Const MGR_RPT_BARHEIGHT As String = "BARHEIGHT"
- Friend Const MGR_RPT_BARWIDTH As String = "BARWIDTH"
- Friend Const MGR_RPT_PANELLEN As String = "PANELLEN"
- Friend Const MGR_RPT_PANELWIDTH As String = "PANELWIDTH"
- Friend Const MGR_RPT_PANELHEIGHT As String = "PANELHEIGHT"
- Friend Const MGR_RPT_PART As String = "PART"
-
- ' parametri P per comunicazione con la macchina
- Friend Const MGR_RPT_PRODID As String = "PRODID"
- Friend Const MGR_RPT_PATTID As String = "PATTID"
-
- ' parametri errori integration
- Friend Const ITG_CUTID As String = "CUTID"
- Friend Const ITG_TASKID As String = "TASKID"
- Friend Const ITG_PROJ_ERR As String = "PROJ_ERR"
- Friend Const ITG_PROJ_MSG As String = "PROJ_MSG"
- Friend Const ITG_PROJ_ROT As String = "PROJ_ROT"
- Friend Const ITG_PROJ_FALL As String = "PROJ_FALL"
- Friend Const ITG_PROJ_TIME As String = "PROJ_TIME"
-
- ' parametri errori integration
- Friend Const ITG_PROD_ERR As String = "PROD_ERR"
- Friend Const ITG_PROD_MSG As String = "PROD_MSG"
- Friend Const ITG_PROD_ROT As String = "PROD_ROT"
- Friend Const ITG_PROD_FALL As String = "PROD_FALL"
- Friend Const ITG_PROD_TIME As String = "PROD_TIME"
-
- ' parametri errori integration
- Friend Const DUPLO_TODELETE As String = "DUPLO_TODELETE"
-
- ' parametri warehouse
- Friend Const WRH_BEAM As String = "BEAM"
- Friend Const WRH_WALL As String = "WALL"
- Friend Const WRH_CURRENT As String = "Current"
- Friend Const WRH_STARTOFFSET As String = "StartOffset"
- Friend Const WRH_OFFSET As String = "Offset"
- Friend Const WRH_QUANTITY As String = "Quantity"
- Friend Const WRH_L As String = "L"
- Friend Const WRH_KERF As String = "Kerf"
- Friend Const WRH_S As String = "S"
-
-End Module
diff --git a/EgtBEAMWALL.ViewerOptimizer/Constants/ConstDataGridColumnsIni.vb b/EgtBEAMWALL.ViewerOptimizer/Constants/ConstDataGridColumnsIni.vb
deleted file mode 100644
index b52fdc5a..00000000
--- a/EgtBEAMWALL.ViewerOptimizer/Constants/ConstDataGridColumnsIni.vb
+++ /dev/null
@@ -1,22 +0,0 @@
-Module ConstDataGridColumnsIni
-
- Public Const DATAGRIDCOLUMNS_FILE_NAME As String = "DataGridColumns.ini"
-
- Public Const S_FEATURELIST As String = "DG_FeatureList"
- Public Const S_OPENPROJFILEDLG_PROJ As String = "DG_OpenProjectFileDialog_PROJ"
- Public Const S_OPENPROJFILEDLG_PROD As String = "DG_OpenProjectFileDialog_PROD"
- Public Const S_RAWPARTLIST_BEAM As String = "DG_RawPartList_BEAM"
- Public Const S_RAWPARTLIST_WALL As String = "DG_RawPartList_WALL"
- Public Const S_PARTINRAWPARTLIST_BEAM As String = "DG_PartInRawPartList_BEAM"
- Public Const S_PARTINRAWPARTLIST_WALL As String = "DG_PartInRawPartList_WALL"
- Public Const S_PARAMETERLIST_P As String = "DG_ParameterList_P"
- Public Const S_PARAMETERLIST_Q As String = "DG_ParameterList_Q"
-
- Public Const S_PARTLIST As String = "DG_PartList"
- Public Const S_FEATUREINPARTINRAWPARTLIST As String = "DG_FeatureInPartInRawPartList"
- Public Const S_STATISTICS As String = "DG_Statistics"
- Public Const S_OPTIMIZERSTATISTICS As String = "DG_OptimizerStatistics"
- Public Const S_BEAMMACHININGS As String = "DG_BeamMachinings"
-
-
-End Module
diff --git a/EgtBEAMWALL.ViewerOptimizer/Constants/ConstIni.vb b/EgtBEAMWALL.ViewerOptimizer/Constants/ConstIni.vb
deleted file mode 100644
index f62aeddd..00000000
--- a/EgtBEAMWALL.ViewerOptimizer/Constants/ConstIni.vb
+++ /dev/null
@@ -1,119 +0,0 @@
-'----------------------------------------------------------------------------
-' EgalTech 2015-2015
-'----------------------------------------------------------------------------
-' File : ConstIni.vb Data : 12.02.15 Versione : 1.6b3
-' Contenuto : Modulo costanti sezione e chiavi per file Ini.
-'
-'
-'
-' Modifiche : 12.02.15 DS Creazione modulo.
-'
-'
-'----------------------------------------------------------------------------
-
-Module ConstIni
-
- Public Const INI_FILE_NAME As String = "EgtBEAMWALL.ini"
-
- Public Const S_GENERAL As String = "General"
- Public Const K_DEBUG As String = "Debug"
- Public Const K_LICENCE As String = "Licence"
- Public Const K_USERLEVEL As String = "UserLevel"
- Public Const K_MAXINST As String = "MaxInstances"
- Public Const K_MAXCAMINST As String = "MaxCamInstances"
- Public Const K_INSTANCES As String = "Instances"
- Public Const K_COMMANDLOG As String = "CommandLog"
- Public Const K_MESSAGESDIR As String = "MessagesDir"
- Public Const K_MESSAGES As String = "Messages"
- Public Const K_WINPLACE As String = "WinPlace"
- Public Const K_LASTPROJ As String = "LastProj"
- Public Const K_AUTOLOADLASTPROJ As String = "AutoLoadLastProj"
- Public Const K_LASTIMPDIR As String = "LastImpDir"
- Public Const K_PROJSINDEX As String = "ProjsIndex"
- Public Const K_PRODSINDEX As String = "ProdsIndex"
- Public Const K_SUPPORT As String = "Support"
- Public Const K_WAREHOUSE As String = "Warehouse"
-
- Public Const S_LANGUAGES As String = "Languages"
- Public Const K_LANGUAGE As String = "Language"
-
- Public Const S_LUA As String = "Lua"
- Public Const K_LIBSDIR As String = "LibsDir"
- Public Const K_BASELIB As String = "BaseLib"
-
- Public Const S_GEOMDB As String = "GeomDB"
- Public Const K_DEFAULTFONT As String = "DefaultFont"
- Public Const K_NFEFONTDIR As String = "NfeFontDir"
- Public Const K_DEFAULTCOLOR As String = "DefaultColor"
- Public Const K_SAVETYPE As String = "SaveType"
-
- Public Const S_OPENGL As String = "OpenGL"
- Public Const K_DOUBLEBUFFER As String = "DoubleBuffer"
- Public Const K_COLORBITS As String = "ColorBits"
- Public Const K_DEPTHBITS As String = "DepthBits"
- Public Const K_DRIVER As String = "Driver"
-
- Public Const S_SCENE As String = "Scene"
- Public Const K_BACKTOP As String = "BackTop"
- Public Const K_BACKBOTTOM As String = "BackBottom"
- Public Const K_SHOWGFRAME As String = "ShowGFrame"
- Public Const K_MARK As String = "Mark"
- Public Const K_SELSURF As String = "SelSurf"
- Public Const K_SHOWMODE As String = "ShowMode"
- Public Const K_SHOWBUILDING As String = "ShowBuilding"
- Public Const K_CURVEDIR As String = "CurveDir"
- Public Const K_SHOWTRIAADV As String = "ShowTriaAdv"
- Public Const K_SHOWZMAP As String = "ShowZmap"
- Public Const K_TEXMAXLINPIX As String = "TextureMaxLinPixels"
- Public Const K_ZOOMWIN As String = "ZoomWin"
- Public Const K_DISTLINE As String = "DistLine"
- Public Const K_MMUNITS As String = "MmUnits"
-
- Public Const S_GRID As String = "Grid"
- Public Const K_SHOWGRID As String = "ShowGrid"
- Public Const K_SHOWFRAME As String = "ShowFrame"
- Public Const K_SNAPSTEP As String = "SnapStep"
- Public Const K_SNAPSTEPINCH As String = "SnapStepInch"
- Public Const K_MINLINESSTEP As String = "MinLineSStep"
- Public Const K_MAJLINESSTEP As String = "MajLineSStep"
- Public Const K_EXTSSTEP As String = "ExtSStep"
- Public Const K_MINLNCOLOR As String = "MinLnColor"
- Public Const K_MAJLNCOLOR As String = "MajLnColor"
-
- Public Const S_IMPORT As String = "Import"
- Public Const K_BTLFLAG As String = "BtlFlag"
- Public Const K_WALLBTLFLAG As String = "WallBtlFlag"
-
- Public Const S_MACH As String = "Mach"
- Public Const K_MACHINESDIR As String = "MachinesDir"
- Public Const K_TOOLMAKERSDIR As String = "ToolMakersDir"
- Public Const K_CURRMACH As String = "CurrMach"
- Public Const K_PASSWORD As String = "Password"
-
- Public Const S_SIMUL As String = "Simul"
- Public Const K_SLIDERX As String = "SliderX"
- Public Const K_SLIDERVAL As String = "SliderVal"
-
- Public Const S_BEAM As String = "Beam"
- Public Const K_CALCPATH As String = "CalcPath"
- Public Const K_BEAMBASEDIR As String = "BaseDir"
- Public Const K_BEAMBWEEXEC As String = "BweExec"
-
- Public Const S_WALL As String = "Wall"
- Public Const K_WALLBASEDIR As String = "BaseDir"
- Public Const K_WALLBWEEXEC As String = "BweExec"
-
- Public Const S_NEST As String = "Nest"
- Public Const K_NESTEXEC As String = "NestExec"
- Public Const K_SECTIONTIME As String = "SectionTime"
- Public Const K_PARTTIME As String = "PartTime"
-
- Public Const S_BEAMWALL As String = "BeamWall"
- Public Const K_BEAMWALLENABLE As String = "BtlEnable"
- Public Const K_BEAMWALLBASEDIR As String = "BaseDir"
- Public Const K_BEAMWALLBUTTON As String = "Button"
-
- Public Const S_MRUPROJFILES As String = "MruProjFiles"
- Public Const S_MRUPRODFILES As String = "MruProdFiles"
-
-End Module
diff --git a/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj b/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj
index 9968c07d..d241be41 100644
--- a/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj
+++ b/EgtBEAMWALL.ViewerOptimizer/EgtBEAMWALL.ViewerOptimizer.vbproj
@@ -163,26 +163,26 @@
BlockedWndV.xaml
-
+ BTLDataV.xaml
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+ QParameterListV.xaml
-
+ QParamListV.xaml
-
-
+
+ CalcPanelV.xaml
@@ -190,7 +190,6 @@
DGColumnsListV.xaml
- FreeContourManagerV.xaml
@@ -200,16 +199,14 @@
FreeContourInputV.xaml
-
-
-
-
+
+ ProjectTypeWndV.xaml
-
+ SetUpV.xaml
@@ -227,7 +224,6 @@
-
@@ -237,7 +233,7 @@
WarehouseWndV.xaml
-
+ MacroFeatureWndV.xaml
@@ -258,10 +254,10 @@
BTLDataWndV.xaml
-
+ PartParametersV.xaml
-
+ ChangeParameterWndV.xaml
@@ -274,9 +270,6 @@
MachinePanelV.xaml
-
- OpenProjectFileDialogV.xaml
- OptimizePanelV.xaml
@@ -290,7 +283,7 @@
ProdManagerV.xaml
-
+ ProjectV.xaml
@@ -316,7 +309,6 @@
TopPanelV.xaml
- Dictionary.xaml
@@ -324,7 +316,6 @@
- ViewPanelV.xaml
@@ -360,15 +351,15 @@
MSBuild:CompileDesigner
-
+ DesignerMSBuild:Compile
-
+ DesignerMSBuild:Compile
-
+ MSBuild:CompileDesigner
@@ -412,31 +403,31 @@
MSBuild:CompileDesigner
-
+ MSBuild:CompileDesigner
-
+ MSBuild:CompileDesigner
-
+ MSBuild:CompileDesigner
-
+ MSBuild:CompileDesigner
-
+ MSBuild:CompileDesigner
-
+ DesignerMSBuild:Compile
-
+ MSBuild:CompileDesigner
@@ -480,27 +471,23 @@
BottomPanelV.xaml
-
-
-
+
+
+ FeatureListV.xaml
-
+ PParameterListV.xaml
-
+ PartInRawPartListV.xaml
-
- PartListV.xaml
+
+ BTLPartListV.xaml
-
+ RawPartListV.xaml
-
-
-
- FeatureManagerV.xaml
@@ -522,10 +509,6 @@
MSBuild:CompileDesigner
-
- MSBuild:Compile
- Designer
- MSBuild:CompileDesigner
diff --git a/EgtBEAMWALL.ViewerOptimizer/FreeContourInput/FreeContourInputVM.vb b/EgtBEAMWALL.ViewerOptimizer/FreeContourInput/FreeContourInputVM.vb
index 9e4ebbe3..09783f41 100644
--- a/EgtBEAMWALL.ViewerOptimizer/FreeContourInput/FreeContourInputVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/FreeContourInput/FreeContourInputVM.vb
@@ -1,5 +1,6 @@
Imports System.Collections.ObjectModel
Imports EgtUILib
+Imports EgtWPFLib5
Public Class FreeContourInputVM
Inherits VMBase
diff --git a/EgtBEAMWALL.ViewerOptimizer/FreeContourManager/FreeContourManagerVM.vb b/EgtBEAMWALL.ViewerOptimizer/FreeContourManager/FreeContourManagerVM.vb
index cbb71925..a7527585 100644
--- a/EgtBEAMWALL.ViewerOptimizer/FreeContourManager/FreeContourManagerVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/FreeContourManager/FreeContourManagerVM.vb
@@ -1,5 +1,6 @@
Imports EgtUILib
Imports EgtWPFLib5
+Imports EgtBEAMWALL.Core
Public Class FreeContourManagerVM
Inherits VMBase
diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLParam/BTLDataV.xaml b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/BTLDataV.xaml
similarity index 100%
rename from EgtBEAMWALL.ViewerOptimizer/BTLParam/BTLDataV.xaml
rename to EgtBEAMWALL.ViewerOptimizer/ItemParamList/BTLDataV.xaml
diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLParam/BTLDataV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/BTLDataV.xaml.vb
similarity index 100%
rename from EgtBEAMWALL.ViewerOptimizer/BTLParam/BTLDataV.xaml.vb
rename to EgtBEAMWALL.ViewerOptimizer/ItemParamList/BTLDataV.xaml.vb
diff --git a/EgtBEAMWALL.ViewerOptimizer/BTLParam/PartListV.xaml b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/BTLPartListV.xaml
similarity index 95%
rename from EgtBEAMWALL.ViewerOptimizer/BTLParam/PartListV.xaml
rename to EgtBEAMWALL.ViewerOptimizer/ItemParamList/BTLPartListV.xaml
index aae9f98e..60de26ef 100644
--- a/EgtBEAMWALL.ViewerOptimizer/BTLParam/PartListV.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/ItemParamList/BTLPartListV.xaml
@@ -1,12 +1,12 @@
-
+ RelativeSource={RelativeSource AncestorType={x:Type EgtBEAMWALL:BTLPartListV}}}" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogV.xaml.vb b/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogV.xaml.vb
deleted file mode 100644
index b4a3068e..00000000
--- a/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogV.xaml.vb
+++ /dev/null
@@ -1,61 +0,0 @@
-Imports System.ComponentModel
-Imports System.IO
-Imports EgtBEAMWALL.Core
-Imports EgtBEAMWALL.Core.ConstBeam
-Imports EgtUILib
-
-Public Class OpenProjectFileDialogV
-
- Private WithEvents m_OpenProjFileDialogVM As OpenProjectFileDialogVM
-
-#Region "CONSTRUCTOR"
-
- Sub New(Owner As Window, OpenProjFileDialogVM As OpenProjectFileDialogVM)
- ' Funzione che interpreta l'xaml
- InitializeComponent()
- Me.Owner = Owner
- Me.DataContext = OpenProjFileDialogVM
- ' Assegno al riferimento locale al VM il VM preso dal DataContext
- m_OpenProjFileDialogVM = OpenProjFileDialogVM
- End Sub
-
-#End Region ' CONSTRUCTOR
-
-#Region "METHODS"
-
- Public Function EgtShowDialog(ProjectType As ProjectType) As Boolean?
- m_OpenProjFileDialogVM.Init(ProjectType)
- ' mostro la finestra di dialogo
- Return Me.ShowDialog()
- End Function
- Public Function EgtShowDialog(ProjectType As ProjectType, ProjectList As List(Of ProjectFileVM)) As Boolean?
- m_OpenProjFileDialogVM.Init(ProjectType, ProjectList)
- ' mostro la finestra di dialogo
- Return Me.ShowDialog()
- End Function
-
-#End Region ' METHODS
-
-#Region "EVENTS"
-
- Private Sub ProjectList_MouseDoubleClick(sender As Object, e As MouseButtonEventArgs)
- m_OpenProjFileDialogVM.ProjDoubleClick()
- End Sub
-
-#End Region ' EVENTS
-
- Private Sub OpenBtn_Click(sender As Object, e As RoutedEventArgs) Handles OpenBtn.Click
- DialogResult = m_OpenProjFileDialogVM.VerifySelected()
- End Sub
-
- Private Sub CloseWindow(bDialogResult As Boolean) Handles m_OpenProjFileDialogVM.m_CloseWindow
- Me.DialogResult = bDialogResult
- End Sub
-
- Private Sub Calendar_SelectedDatesChanged(sender As Object, e As SelectionChangedEventArgs)
- Dim cal As System.Windows.Controls.Calendar = sender
- m_OpenProjFileDialogVM.m_SearchDate = cal.SelectedDates
- m_OpenProjFileDialogVM.m_ProjectList_View.Refresh()
- End Sub
-
-End Class
\ No newline at end of file
diff --git a/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogVM.vb b/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogVM.vb
index a3d0d6e3..dbaa73b2 100644
--- a/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/OpenProjectFileDialog/OpenProjectFileDialogVM.vb
@@ -6,235 +6,11 @@ Imports EgtUILib
Imports EgtWPFLib5
Public Class OpenProjectFileDialogVM
- Inherits VMBase
+ Inherits Core.OpenProjectFileDialogVM
- Friend Event m_CloseWindow(bDialogResult As Boolean)
+#Region "METHODS"
- Private m_ProjectColumns As New ObservableCollection(Of EgtDataGridColumn)
- Public Property ProjectColumns As ObservableCollection(Of EgtDataGridColumn)
- Get
- Return m_ProjectColumns
- End Get
- Set(value As ObservableCollection(Of EgtDataGridColumn))
- m_ProjectColumns = value
- End Set
- End Property
-
- Private m_ProjectType As ProjectType
-
- Private m_sFilter As String
- Public Property Filter As String
- Get
- Return m_sFilter
- End Get
- Set(value As String)
- m_sFilter = value
- End Set
- End Property
-
- Private m_sFileNameFilter As Predicate(Of String)
- Public Property FileNameFilter As Predicate(Of String)
- Get
- Return m_sFileNameFilter
- End Get
- Set(value As Predicate(Of String))
- m_sFileNameFilter = value
- End Set
- End Property
-
- Private m_sExtensions As New List(Of String)
- Public ReadOnly Property Extensions As List(Of String)
- Get
- Return m_sExtensions
- End Get
- End Property
-
- Friend m_ProjectList_View As CollectionView = Nothing
- Private m_ProjectList As New ObservableCollection(Of ProjectFileVM)
- Public ReadOnly Property ProjectList As ObservableCollection(Of ProjectFileVM)
- Get
- Return m_ProjectList
- End Get
- 'Set(value As List(Of ProjFile))
- ' m_ProjList = value
- ' NotifyPropertyChanged("ProjList")
- 'End Set
- End Property
-
- Private m_SelProject As ProjectFileVM
- Public Property SelProject As ProjectFileVM
- Get
- Return m_SelProject
- End Get
- Set(value As ProjectFileVM)
- m_SelProject = value
- End Set
- End Property
-
- Private m_FileName As String
- Public Property FileName As String
- Get
- Return m_FileName
- End Get
- Set(value As String)
- m_FileName = value
- End Set
- End Property
-
- ' lista campi per ricerca testuale e con datepicker
- Private m_SearchColumnList As New ObservableCollection(Of IdNameStruct)
- Public ReadOnly Property SearchColumnList As ObservableCollection(Of IdNameStruct)
- Get
- Return m_SearchColumnList
- End Get
- End Property
-
- Private m_SelSearchColumn As IdNameStruct = Nothing
- Public Property SelSearchColumn As IdNameStruct
- Get
- Return m_SelSearchColumn
- End Get
- Set(value As IdNameStruct)
- ' resetto il contenuto della barra di ricerca testuale
- m_SearchText = ""
- NotifyPropertyChanged(NameOf(SearchText))
- ' resetto le selezioni sul calendario
- If Not IsNothing(SearchDate) Then SearchDate.Clear()
- ' setto il Tipo Filtro a NULL e refresho la lista dei progetti (in modo da averli visibili tutti)
- m_SelSearchColumn = m_SearchColumnList(0)
- m_ProjectList_View.Refresh()
- ' ora setto il valore scelto come Tipo Filtro
- m_SelSearchColumn = value
- Select Case m_SelSearchColumn.Id
- Case OpenProjFileColumn.ID, OpenProjFileColumn.BTLFILENAME, OpenProjFileColumn.LISTNAME
- SearchText_Visibility = Visibility.Visible
- SearchDate_Visibility = Visibility.Collapsed
- Case OpenProjFileColumn.EXPORTDATE, OpenProjFileColumn.CREATEDATE
- SearchText_Visibility = Visibility.Collapsed
- SearchDate_Visibility = Visibility.Visible
- Case Else
- SearchText_Visibility = Visibility.Collapsed
- SearchDate_Visibility = Visibility.Collapsed
- End Select
- End Set
- End Property
-
- Private m_SearchText As String = ""
- Public Property SearchText As String
- Get
- Return m_SearchText
- End Get
- Set(value As String)
- m_SearchText = value
- m_ProjectList_View.Refresh()
- End Set
- End Property
-
- Friend m_SearchDate As SelectedDatesCollection = Nothing
- Public ReadOnly Property SearchDate As SelectedDatesCollection
- Get
- Return m_SearchDate
- End Get
- End Property
-
- Private m_SearchText_Visibility As Visibility = Visibility.Collapsed
- Public Property SearchText_Visibility As Visibility
- Get
- Return m_SearchText_Visibility
- End Get
- Set(value As Visibility)
- m_SearchText_Visibility = value
- NotifyPropertyChanged(NameOf(SearchText_Visibility))
- End Set
- End Property
-
- Private m_SearchDate_Visibility As Visibility = Visibility.Collapsed
- Public Property SearchDate_Visibility As Visibility
- Get
- Return m_SearchDate_Visibility
- End Get
- Set(value As Visibility)
- m_SearchDate_Visibility = value
- NotifyPropertyChanged(NameOf(SearchDate_Visibility))
- End Set
- End Property
-
- Public Enum OpenProjFileColumn As Integer
- NULL = 0
- ID = 1
- BTLFILENAME = 2
- LISTNAME = 3
- EXPORTDATE = 4
- CREATEDATE = 5
- End Enum
-
-#Region "Messages"
-
- Public ReadOnly Property FilterType_Msg As String
- Get
- Return EgtMsg(61836)
- End Get
- End Property
- Public ReadOnly Property Search_Msg As String
- Get
- Return EgtMsg(61837)
- End Get
- End Property
-
- Public ReadOnly Property Id_Msg As String
- Get
- Return EgtMsg(61815)
- End Get
- End Property
- Public ReadOnly Property BTLFileName_Msg As String
- Get
- Return EgtMsg(61819)
- End Get
- End Property
- Public ReadOnly Property ListName_Msg As String
- Get
- Return EgtMsg(61820)
- End Get
- End Property
- Public ReadOnly Property ExportDate_Msg As String
- Get
- Return EgtMsg(61821)
- End Get
- End Property
- Public ReadOnly Property CreateDate_Msg As String
- Get
- Return EgtMsg(61822)
- End Get
- End Property
- Public ReadOnly Property Name_Msg As String
- Get
- Return EgtMsg(61808)
- End Get
- End Property
-
- Public ReadOnly Property Open_Msg As String
- Get
- Return EgtMsg(MSG_EGTSAVEFILEDIALOG + 6)
- End Get
- End Property
- Public ReadOnly Property Delete_Msg As String
- Get
- Return EgtMsg(61823)
- End Get
- End Property
- Public ReadOnly Property Cancel_Msg As String
- Get
- Return EgtMsg(MSG_EGTSAVEFILEDIALOG + 2)
- End Get
- End Property
-
-#End Region
-
- ' Definizione comandi
- Private m_cmdProjectDoubleClick As ICommand
- Private m_cmdDelete As ICommand
-
- Public Function Init(ProjectType As ProjectType, Optional CurrProjectList As List(Of ProjectFileVM) = Nothing) As Boolean?
+ Public Overrides Function Init(ProjectType As ProjectType, Optional CurrProjectList As List(Of ProjectFileVM) = Nothing) As Boolean?
m_ProjectType = ProjectType
' carico colonne
LoadColumns(ProjectType)
@@ -264,134 +40,6 @@ Public Class OpenProjectFileDialogVM
m_ProjectList_View.Filter = AddressOf ProjectFilter
End Function
- Private Sub LoadColumns(ProjectType As ProjectType)
- If ProjectType = ProjectType.PROJ Then
- ' carico le colonne della datagrid
- GetPrivateProfileColumns(S_OPENPROJFILEDLG_PROJ, ProjectColumns)
- ' carico campi su cui eseguire il filtro di ricerca
- m_SearchColumnList = New ObservableCollection(Of IdNameStruct)({New IdNameStruct(OpenProjFileColumn.NULL, ""),
- New IdNameStruct(OpenProjFileColumn.ID, Id_Msg),
- New IdNameStruct(OpenProjFileColumn.BTLFILENAME, BTLFileName_Msg),
- New IdNameStruct(OpenProjFileColumn.LISTNAME, ListName_Msg),
- New IdNameStruct(OpenProjFileColumn.EXPORTDATE, ExportDate_Msg),
- New IdNameStruct(OpenProjFileColumn.CREATEDATE, CreateDate_Msg)})
- ElseIf ProjectType = ProjectType.PROD Then
- ' carico le colonne della datagrid
- GetPrivateProfileColumns(S_OPENPROJFILEDLG_PROD, ProjectColumns)
- ' carico campi su cui eseguire il filtro di ricerca
- m_SearchColumnList = New ObservableCollection(Of IdNameStruct)({New IdNameStruct(OpenProjFileColumn.NULL, ""),
- New IdNameStruct(OpenProjFileColumn.ID, Id_Msg),
- New IdNameStruct(OpenProjFileColumn.BTLFILENAME, BTLFileName_Msg),
- New IdNameStruct(OpenProjFileColumn.CREATEDATE, CreateDate_Msg)})
- End If
- End Sub
-
- Friend Function VerifySelected() As Boolean
- If IsNothing(SelProject) Then Return False
- Dim AllFilesInDir As IEnumerable(Of String)
- If m_ProjectType = Core.ConstBeam.ProjectType.PROJ Then
- ' verifico se esiste ProdId
- AllFilesInDir = IO.Directory.EnumerateFiles(SelProject.sProjDirPath)
- ElseIf m_ProjectType = Core.ConstBeam.ProjectType.PROD Then
- AllFilesInDir = IO.Directory.EnumerateFiles(SelProject.sProdDirPath)
- End If
- For Each File In AllFilesInDir
- If Path.GetExtension(File).ToLower() = ".nge" Then
- Return True
- End If
- Next
- Return False
- End Function
-
- 'Private Sub m_FileNameTxBl_MouseDown(sender As Object, e As Windows.Input.MouseButtonEventArgs) Handles FileNameList.MouseDoubleClick
- ' Dim src As DependencyObject = VisualTreeHelper.GetParent(DirectCast(e.OriginalSource, DependencyObject))
- ' ' verifico che venga clickato un item, non lo spazio vuoto o la scrollbar
- ' If Not TypeOf src Is ListBoxItem Then
- ' src = Utility.FindAncestor(Of ListBoxItem)(src)
- ' End If
- ' If IsNothing(src) OrElse src.[GetType]() <> GetType(ListBoxItem) Then
- ' e.Handled = True
- ' Else
- ' If Not IsNothing(m_SelectedFile) Then
- ' m_FileName = SelectedFile
- ' DialogResult = True
- ' End If
- ' End If
- 'End Sub
-
- 'Private Sub OpenBtn_Click(sender As Object, e As RoutedEventArgs) Handles OpenBtn.Click
- ' If Not IsNothing(m_SelectedFile) Then
- ' m_FileName = SelectedFile
- ' DialogResult = True
- ' End If
- 'End Sub
-
- Private Function ProjectFilter(Proj As Object) As Boolean
- Dim bProjectOk As Boolean = True
- If m_ProjectType = ProjectType.PROJ Then
- Dim CurrProj As ProjFileVM = DirectCast(Proj, ProjFileVM)
- If m_SelSearchColumn.Id <> OpenProjFileColumn.NULL AndAlso (
- (m_SelSearchColumn.Id = OpenProjFileColumn.EXPORTDATE AndAlso Not SearchDate.Contains(CurrProj.dtExportDate.Date)) OrElse
- (m_SelSearchColumn.Id = OpenProjFileColumn.CREATEDATE AndAlso Not SearchDate.Contains(CurrProj.dtCreateDate.Date))) Then bProjectOk = False
- If m_SelSearchColumn.Id <> OpenProjFileColumn.NULL AndAlso m_SearchText <> String.Empty AndAlso (
- (m_SelSearchColumn.Id = OpenProjFileColumn.ID AndAlso CurrProj.sProjId.ToString.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0) OrElse
- (m_SelSearchColumn.Id = OpenProjFileColumn.BTLFILENAME AndAlso CurrProj.sBTLFileName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0) OrElse
- (m_SelSearchColumn.Id = OpenProjFileColumn.LISTNAME AndAlso CurrProj.sListName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) Then bProjectOk = False
- ElseIf m_ProjectType = ProjectType.PROD Then
- Dim CurrProj As ProdFileVM = DirectCast(Proj, ProdFileVM)
- If m_SelSearchColumn.Id <> OpenProjFileColumn.NULL AndAlso (
- (m_SelSearchColumn.Id = OpenProjFileColumn.CREATEDATE AndAlso Not SearchDate.Contains(CurrProj.dtCreateDate.Date))) Then bProjectOk = False
- If m_SelSearchColumn.Id <> OpenProjFileColumn.NULL AndAlso m_SearchText <> String.Empty AndAlso (
- (m_SelSearchColumn.Id = OpenProjFileColumn.ID AndAlso CurrProj.sProdId.ToString.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0) OrElse
- (m_SelSearchColumn.Id = OpenProjFileColumn.BTLFILENAME AndAlso CurrProj.sBTLFileName.IndexOf(SearchText, StringComparison.InvariantCultureIgnoreCase) < 0)) Then bProjectOk = False
- End If
- Return bProjectOk
- End Function
-
-#Region "COMMANDS"
-
-#Region "ProjectDoubleClick"
-
- '''
- ''' Returns a command that do New.
- '''
- Public ReadOnly Property ProjectDoubleClick_Command As ICommand
- Get
- If m_cmdProjectDoubleClick Is Nothing Then
- m_cmdProjectDoubleClick = New Command(AddressOf ProjDoubleClick)
- End If
- Return m_cmdProjectDoubleClick
- End Get
- End Property
-
- '''
- ''' Execute the New. This method is invoked by the NewCommand.
- '''
- Friend Sub ProjDoubleClick()
- If VerifySelected() Then
- RaiseEvent m_CloseWindow(True)
- End If
- End Sub
-
-#End Region ' ProjectDoubleClick
-
-#Region "Delete"
-
- '''
- ''' Returns a command that do New.
- '''
- Public ReadOnly Property Delete_Command As ICommand
- Get
- If m_cmdDelete Is Nothing Then
- m_cmdDelete = New Command(AddressOf Delete)
- End If
- Return m_cmdDelete
- End Get
- End Property
-
- '''
- ''' Execute the New. This method is invoked by the NewCommand.
- '''
Friend Sub Delete()
If IsNothing(SelProject) Then Return
' recupero indice per riselezionare
@@ -501,8 +149,6 @@ Public Class OpenProjectFileDialogVM
DbControllers.m_ProdController.ResetController()
End Sub
-#End Region ' Delete
-
-#End Region ' Commands
+#End Region ' METHODS
End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/PartManager/PartManagerVM.vb b/EgtBEAMWALL.ViewerOptimizer/PartManager/PartManagerVM.vb
index 60f778a2..7233b33c 100644
--- a/EgtBEAMWALL.ViewerOptimizer/PartManager/PartManagerVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/PartManager/PartManagerVM.vb
@@ -1,4 +1,6 @@
-Public Class PartManagerVM
+Imports EgtWPFLib5
+
+Public Class PartManagerVM
Inherits VMBase
Private m_PartManager_IsEnabled As Boolean = True
diff --git a/EgtBEAMWALL.ViewerOptimizer/Project/ProjectVM.vb b/EgtBEAMWALL.ViewerOptimizer/Project/ProjectVM.vb
index 497b51ab..bf844c7b 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Project/ProjectVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/Project/ProjectVM.vb
@@ -1,4 +1,6 @@
-Public Class ProjectVM
+Imports EgtWPFLib5
+
+Public Class ProjectVM
Inherits VMBase
#Region "FIELDS & PROPERTIES"
diff --git a/EgtBEAMWALL.ViewerOptimizer/ProjectManager/ProdFile.vb b/EgtBEAMWALL.ViewerOptimizer/ProjectFileVM/ProdFile.vb
similarity index 100%
rename from EgtBEAMWALL.ViewerOptimizer/ProjectManager/ProdFile.vb
rename to EgtBEAMWALL.ViewerOptimizer/ProjectFileVM/ProdFile.vb
diff --git a/EgtBEAMWALL.ViewerOptimizer/ProjectManager/ProdFileVM.vb b/EgtBEAMWALL.ViewerOptimizer/ProjectFileVM/ProdFileVM.vb
similarity index 100%
rename from EgtBEAMWALL.ViewerOptimizer/ProjectManager/ProdFileVM.vb
rename to EgtBEAMWALL.ViewerOptimizer/ProjectFileVM/ProdFileVM.vb
diff --git a/EgtBEAMWALL.ViewerOptimizer/ProjectManager/ProjFileVM.vb b/EgtBEAMWALL.ViewerOptimizer/ProjectFileVM/ProjFileVM.vb
similarity index 100%
rename from EgtBEAMWALL.ViewerOptimizer/ProjectManager/ProjFileVM.vb
rename to EgtBEAMWALL.ViewerOptimizer/ProjectFileVM/ProjFileVM.vb
diff --git a/EgtBEAMWALL.ViewerOptimizer/ProjectManager/ProjectFileVM.vb b/EgtBEAMWALL.ViewerOptimizer/ProjectFileVM/ProjectFileVM.vb
similarity index 100%
rename from EgtBEAMWALL.ViewerOptimizer/ProjectManager/ProjectFileVM.vb
rename to EgtBEAMWALL.ViewerOptimizer/ProjectFileVM/ProjectFileVM.vb
diff --git a/EgtBEAMWALL.ViewerOptimizer/SceneHost/MySceneHostVM.vb b/EgtBEAMWALL.ViewerOptimizer/SceneHost/MySceneHostVM.vb
index fba0c694..eea4d538 100644
--- a/EgtBEAMWALL.ViewerOptimizer/SceneHost/MySceneHostVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/SceneHost/MySceneHostVM.vb
@@ -285,12 +285,19 @@ Public Class MySceneHostVM
Case Pages.VIEW
If Not IsNothing(Map.refProjectVM.BTLStructureVM) Then
If Map.refFreeContourManagerVM.bIsActive Then Return
- View_OnMouseDownScene(sender, e)
+ If Map.refShowBeamPanelVM.bShowAll Then
+ View_Part_OnMouseDownScene(sender, e)
+ Else
+ View_Feature_OnMouseDownScene(sender, e)
+ End If
End If
Case Pages.MACHINING
If Not IsNothing(Map.refMachGroupPanelVM) AndAlso Not IsNothing(Map.refMachGroupPanelVM.SelectedMachGroup) Then
Dim SelectedMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
- If SelectedMachGroup.nMachineType = MachineType.WALL Then
+ If EgtGetCurrMachGroup() = GDB_ID.NULL Then Return
+ If SelectedMachGroup.nType = BWType.BEAM Then
+ Beam_OnMouseDownScene(sender, e)
+ ElseIf SelectedMachGroup.nType = BWType.WALL Then
Wall_OnMouseDownScene(sender, e)
End If
End If
@@ -304,12 +311,19 @@ Public Class MySceneHostVM
Case Pages.VIEW
If Not IsNothing(Map.refProjectVM.BTLStructureVM) Then
If Map.refFreeContourManagerVM.bIsActive Then Return
- View_OnMouseMoveScene(sender, e)
+ If Map.refShowBeamPanelVM.bShowAll Then
+ View_Part_OnMouseMoveScene(sender, e)
+ Else
+ View_Feature_OnMouseMoveScene(sender, e)
+ End If
End If
Case Pages.MACHINING
If Not IsNothing(Map.refMachGroupPanelVM) AndAlso Not IsNothing(Map.refMachGroupPanelVM.SelectedMachGroup) Then
Dim SelectedMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
- If SelectedMachGroup.nMachineType = MachineType.WALL Then
+ If EgtGetCurrMachGroup() = GDB_ID.NULL Then Return
+ If SelectedMachGroup.nType = BWType.BEAM Then
+ Beam_OnMouseMoveScene(sender, e)
+ ElseIf SelectedMachGroup.nType = BWType.WALL Then
Wall_OnMouseMoveScene(sender, e)
End If
End If
@@ -323,17 +337,23 @@ Public Class MySceneHostVM
Case Pages.VIEW
If Not IsNothing(Map.refProjectVM.BTLStructureVM) Then
If Map.refFreeContourManagerVM.bIsActive Then Return
- View_OnMouseUpScene(sender, e)
+ If Map.refShowBeamPanelVM.bShowAll Then
+ View_Part_OnMouseUpScene(sender, e)
+ Else
+ View_Feature_OnMouseUpScene(sender, e)
+ End If
End If
Case Pages.MACHINING
If Not IsNothing(Map.refMachGroupPanelVM) AndAlso Not IsNothing(Map.refMachGroupPanelVM.SelectedMachGroup) Then
Dim SelectedMachGroup As MyMachGroupVM = Map.refMachGroupPanelVM.SelectedMachGroup
- If SelectedMachGroup.nMachineType = MachineType.WALL Then
+ If EgtGetCurrMachGroup() = GDB_ID.NULL Then Return
+ If SelectedMachGroup.nType = BWType.BEAM Then
+ Beam_OnMouseUpScene(sender, e)
+ ElseIf SelectedMachGroup.nType = BWType.WALL Then
Wall_OnMouseUpScene(sender, e)
End If
End If
End Select
-
End Sub
Private Sub OnMouseSelectedObj(ByVal sender As Object, ByVal nId As Integer, ByVal bLast As Boolean)
@@ -505,8 +525,8 @@ Public Class MySceneHostVM
Map.refProdManagerVM.CurrProd.SetModificationIndex(CommIndex)
End If
Else
- ' mostro tutti i pezzi
- Map.refShowBeamPanelVM.ShowAll()
+ ' mostro tutti i pezzi
+ Map.refShowBeamPanelVM.ShowAll()
End If
WriteMainPrivateProfileString(S_GENERAL, K_LASTPROJ, sFile)
' in base al tipo progetto aggiungo il file in apertura alla lista degli MRU
@@ -654,6 +674,85 @@ Public Class MySceneHostVM
#Region "WALL EVENTS"
+#Region "Beam"
+
+ Friend Sub Beam_OnMouseDownScene(sender As Object, e As Forms.MouseEventArgs)
+ ' Verifico se selezionato indicativo di pezzo
+ EgtSetObjFilterForSelWin(True, True, True, True, True)
+ Dim nSel As Integer
+ EgtSelect(e.Location, Scene.DIM_SEL, Scene.DIM_SEL, nSel)
+ Dim nId As Integer = EgtGetFirstObjInSelWin()
+ While nId <> GDB_ID.NULL
+ ' Recupero l'identificativo del pezzo cui appartiene
+ Dim nPartId As Integer = EgtGetParent(EgtGetParent(nId))
+ Dim MyMachGroup As MyMachGroupVM = DirectCast(Map.refMachGroupPanelVM.SelectedMachGroup, MyMachGroupVM)
+ Dim bPartInTable As Boolean = MyMachGroup.PartVMList.Any(Function(x) x.PartM.nRawPartId = EgtGetParent(nPartId))
+ Dim bFound As Boolean = False
+ If EgtIsPart(nPartId) OrElse EgtIsDuplo(nPartId) OrElse bPartInTable Then bFound = True
+ If Not bFound Then
+ nId = EgtGetNextObjInSelWin()
+ Continue While
+ End If
+ Dim nStat As Integer = GDB_ST.ON_
+ EgtGetStatus(nPartId, nStat)
+ ' Se già selezionato
+ If nStat = GDB_ST.SEL Then
+ ' Memorizzo Id da deselezionare
+ m_nIdToDesel = nPartId
+ Else
+ ' Memorizzo Id da selezionare
+ m_nIdToSel = nPartId
+ End If
+ Exit While
+ nId = EgtGetNextObjInSelWin()
+ End While
+ ' Dati per drag
+ m_bDragToStart = True
+ End Sub
+
+ Friend Sub Beam_OnMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
+ ' Se drag non abilitato o già in esecuzione, esco
+ If Not m_bDragToStart Then Return
+ ' Se primo movimento di drag, verifico di aver superato la soglia di movimento in pixel
+ If m_bDragToStart Then
+ If Math.Abs(e.Location.X - m_locPrev.X) < m_nRestRadius And
+ Math.Abs(e.Location.Y - m_locPrev.Y) < m_nRestRadius Then
+ Return
+ End If
+ m_bDragToStart = False
+ End If
+ End Sub
+
+ Friend Sub Beam_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
+ ' Se eseguito drag
+ If Not m_bDragToStart Then
+ ' Se selezione da eseguire
+ ElseIf m_nIdToSel <> GDB_ID.NULL Then
+ ' Se pezzo da selezionare non è già selezionato
+ Dim SelMachgroup As MyMachGroupVM = Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup
+ If Not IsNothing(SelMachgroup) AndAlso
+ (IsNothing(SelMachgroup.SelPart) OrElse SelMachgroup.SelPart.nPartId <> m_nIdToSel) Then
+ ' Eseguo la selezione nel machgroup corrente
+ SelMachgroup.SelPart = SelMachgroup.PartVMList.FirstOrDefault(Function(x) x.nPartId = m_nIdToSel)
+ ' eseguo la selezione nella lista pezzi
+ Dim nBTLPartId As Integer = GDB_ID.NULL
+ EgtGetInfo(m_nIdToSel, "!DSOU", nBTLPartId)
+ If Not IsNothing(nBTLPartId) Then
+ Map.refProjectVM.BTLStructureVM.SetSelBTLPart(Map.refProjectVM.BTLStructureVM.BTLPartVMList.FirstOrDefault(Function(x) x.nPartId = nBTLPartId))
+ End If
+ End If
+ End If
+ ' Reset
+ m_bDrag = False
+ m_nIdToSel = GDB_ID.NULL
+ m_nIdToDesel = GDB_ID.NULL
+ EgtDraw()
+ End Sub
+
+#End Region ' Beam
+
+#Region "Wall"
+
Friend Sub Wall_OnMouseDownScene(sender As Object, e As Forms.MouseEventArgs)
' Per default no drag
m_bDrag = False
@@ -665,23 +764,23 @@ Public Class MySceneHostVM
While nId <> GDB_ID.NULL
' Recupero l'identificativo del pezzo cui appartiene
Dim nPartId As Integer = EgtGetParent(EgtGetParent(nId))
- 'Dim WallMachGroup As WallMachGroup = DirectCast(Map.refMachGroupPanelVM.SelectedMachGroup, WallMachGroup)
- 'Dim bPartInTable As Boolean = (EgtGetParent(nPartId) = WallMachGroup.nRawPartId)
- 'If EgtIsPart(nPartId) OrElse EgtIsDuplo(nPartId) OrElse bPartInTable Then
- ' Dim nStat As Integer = GDB_ST.ON_
- ' EgtGetStatus(nPartId, nStat)
- ' ' Se già selezionato
- ' If nStat = GDB_ST.SEL Then
- ' ' Memorizzo Id da deselezionare
- ' m_nIdToDesel = nPartId
- ' Else
- ' ' Memorizzo Id da selezionare
- ' m_nIdToSel = nPartId
- ' End If
- ' ' Drag possibile
- ' m_bDrag = True
- ' Exit While
- 'End If
+ Dim MyMachGroup As MyMachGroupVM = DirectCast(Map.refMachGroupPanelVM.SelectedMachGroup, MyMachGroupVM)
+ Dim bPartInTable As Boolean = (EgtGetParent(nPartId) = MyMachGroup.MyMachGroupM.nRawPartId)
+ If EgtIsPart(nPartId) OrElse EgtIsDuplo(nPartId) OrElse bPartInTable Then
+ Dim nStat As Integer = GDB_ST.ON_
+ EgtGetStatus(nPartId, nStat)
+ ' Se già selezionato
+ If nStat = GDB_ST.SEL Then
+ ' Memorizzo Id da deselezionare
+ m_nIdToDesel = nPartId
+ Else
+ ' Memorizzo Id da selezionare
+ m_nIdToSel = nPartId
+ End If
+ ' Drag possibile
+ m_bDrag = True
+ Exit While
+ End If
nId = EgtGetNextObjInSelWin()
End While
' Dati per drag
@@ -714,38 +813,16 @@ Public Class MySceneHostVM
Dim vtMove As Vector3d = ptCurr - m_ptPrev
' Muovo i pezzi selezionati di quanto possibile
If vtMove.SqLen() > EPS_SMALL * EPS_SMALL Then
- ' Se movimento con sola verifica finale
- If m_bVerify Then
- Dim x = EgtMove(nMoveId, vtMove)
- m_vtTotMove += vtMove
- ' altrimenti caso con verifica durante il movimento
+ ' verifico se il pezzo da muovere e' selezionato
+ If nMoveId = GDB_ID.SEL Then
+ ' muovo tutti i pezzi selezionati
+ Dim nPartId As Integer = EgtGetFirstSelectedObj()
+ While nPartId <> GDB_ID.NULL
+ Move(nPartId, vtMove, ptCurr)
+ nPartId = EgtGetNextSelectedObj()
+ End While
Else
- '' Aggiorno regioni per nesting
- 'UpdateNestRegions() !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 'EnableReferenceRegion(False)
- ' muovo il pezzo
- Dim x = EgtMovePartInRawPart(nMoveId, vtMove) 'EgtMovePart(nMoveId, bReducedCut, vtMove)
- EgtSaveCollInfo()
- ' se movimento risultante nullo, provo con movimento tangente
- Dim bTgMoved As Boolean = False
- If vtMove.IsSmall() Then
- ' riprovo con movimento tangente
- Dim vtTgMove As Vector3d = ptCurr - m_ptPrev
- EgtTgMovePartOnCollision(nMoveId, bReducedCut, vtTgMove)
- bTgMoved = (Not vtTgMove.IsSmall())
- End If
- ' se abilitato magnetico (allineamento + snap), lo provo
- Dim bAlignMoved As Boolean = False
- Dim bSnapMoved As Boolean = False
- If m_bMagnetic Then
- 'If Not GetLockOnRotation(nMoveId) Then
- EgtAlignPartOnCollision(nMoveId, bReducedCut, bAlignMoved)
- 'End If
- If m_dSnapDist > EPS_SMALL Then
- EgtRestoreCollInfo()
- EgtMovePartToSnapPointOnCollision(nMoveId, bReducedCut, m_dSnapDist, bSnapMoved)
- End If
- End If
+ Move(nMoveId, vtMove, ptCurr)
End If
EgtDraw()
End If
@@ -755,6 +832,41 @@ Public Class MySceneHostVM
m_bDragging = False
End Sub
+ Private Sub Move(nMoveId As Integer, vtMove As Vector3d, ptCurr As Point3d)
+ ' Se movimento con sola verifica finale
+ If m_bVerify Then
+ Dim x = EgtMove(nMoveId, vtMove)
+ m_vtTotMove += vtMove
+ ' altrimenti caso con verifica durante il movimento
+ Else
+ '' Aggiorno regioni per nesting
+ 'UpdateNestRegions() !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ 'EnableReferenceRegion(False)
+ ' muovo il pezzo
+ Dim x = EgtMovePartInRawPart(nMoveId, vtMove) 'EgtMovePart(nMoveId, bReducedCut, vtMove)
+ EgtSaveCollInfo()
+ ' se movimento risultante nullo, provo con movimento tangente
+ Dim bTgMoved As Boolean = False
+ If vtMove.IsSmall() Then
+ ' riprovo con movimento tangente
+ Dim vtTgMove As Vector3d = ptCurr - m_ptPrev
+ EgtTgMovePartOnCollision(nMoveId, bReducedCut, vtTgMove)
+ bTgMoved = (Not vtTgMove.IsSmall())
+ End If
+ ' se abilitato magnetico (allineamento + snap), lo provo
+ Dim bAlignMoved As Boolean = False
+ Dim bSnapMoved As Boolean = False
+ If m_bMagnetic Then
+ 'If Not GetLockOnRotation(nMoveId) Then
+ EgtAlignPartOnCollision(nMoveId, bReducedCut, bAlignMoved)
+ 'End If
+ If m_dSnapDist > EPS_SMALL Then
+ EgtRestoreCollInfo()
+ EgtMovePartToSnapPointOnCollision(nMoveId, bReducedCut, m_dSnapDist, bSnapMoved)
+ End If
+ End If
+ End If
+ End Sub
Friend Sub Wall_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
' Se eseguito drag
If Not m_bDragToStart Then
@@ -780,6 +892,19 @@ Public Class MySceneHostVM
ElseIf m_nIdToSel <> GDB_ID.NULL Then
' Eseguo la selezione
EgtSelectObj(m_nIdToSel)
+ ' Se pezzo da selezionare non è già selezionato
+ Dim SelMachgroup As MyMachGroupVM = Map.refProjectVM.MachGroupPanelVM.SelectedMachGroup
+ If Not IsNothing(SelMachgroup) AndAlso
+ (IsNothing(SelMachgroup.SelPart) OrElse SelMachgroup.SelPart.nPartId <> m_nIdToSel) Then
+ ' Eseguo la selezione nel machgroup corrente
+ SelMachgroup.SetSelPart(SelMachgroup.PartVMList.FirstOrDefault(Function(x) x.nPartId = m_nIdToSel))
+ ' eseguo la selezione nella lista pezzi
+ Dim nBTLPartId As Integer = GDB_ID.NULL
+ EgtGetInfo(m_nIdToSel, "!DSOU", nBTLPartId)
+ If Not IsNothing(nBTLPartId) Then
+ Map.refProjectVM.BTLStructureVM.SetSelBTLPart(Map.refProjectVM.BTLStructureVM.BTLPartVMList.FirstOrDefault(Function(x) x.nPartId = nBTLPartId))
+ End If
+ End If
' Se deselezione da eseguire
ElseIf m_nIdToDesel <> GDB_ID.NULL Then
EgtDeselectObj(m_nIdToDesel)
@@ -795,11 +920,15 @@ Public Class MySceneHostVM
EgtDraw()
End Sub
+#End Region ' Wall
+
#End Region ' WALL EVENTS
#Region "VIEW EVENTS"
- Friend Sub View_OnMouseDownScene(sender As Object, e As Forms.MouseEventArgs)
+#Region "Part"
+
+ Friend Sub View_Part_OnMouseDownScene(sender As Object, e As Forms.MouseEventArgs)
' Verifico se selezionato indicativo di pezzo
EgtSetObjFilterForSelWin(True, True, True, True, True)
Dim nSel As Integer
@@ -842,7 +971,7 @@ Public Class MySceneHostVM
m_bDragToStart = True
End Sub
- Friend Sub View_OnMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
+ Friend Sub View_Part_OnMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
' Se drag non abilitato o già in esecuzione, esco
If Not m_bDragToStart Then Return
' Se primo movimento di drag, verifico di aver superato la soglia di movimento in pixel
@@ -855,7 +984,7 @@ Public Class MySceneHostVM
End If
End Sub
- Friend Sub View_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
+ Friend Sub View_Part_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
' Se eseguito drag
If Not m_bDragToStart Then
' Se selezione da eseguire
@@ -873,6 +1002,76 @@ Public Class MySceneHostVM
EgtDraw()
End Sub
+#End Region ' Part
+
+#Region "Feature"
+
+ Friend Sub View_Feature_OnMouseDownScene(sender As Object, e As Forms.MouseEventArgs)
+ ' Verifico se selezionato indicativo di pezzo
+ EgtSetObjFilterForSelWin(True, True, True, True, True)
+ Dim nSel As Integer
+ EgtSelect(e.Location, Scene.DIM_SEL, Scene.DIM_SEL, nSel)
+ Dim nId As Integer = EgtGetFirstObjInSelWin()
+ While nId <> GDB_ID.NULL
+ ' Verifico se e' una feature
+ Dim nFeatureLayer As Integer = EgtGetParent(nId)
+ Dim sFeatureLayerName As String = ""
+ EgtGetName(nFeatureLayer, sFeatureLayerName)
+ If Not sFeatureLayerName = PROCESSINGS OrElse Not EgtGetType(nId) = GDB_TY.SRF_MESH Then
+ nId = EgtGetNextObjInSelWin()
+ Continue While
+ End If
+ Dim nStat As Integer = GDB_ST.ON_
+ EgtGetStatus(nId, nStat)
+ ' Se già selezionato
+ If nStat = GDB_ST.SEL Then
+ ' Memorizzo Id da deselezionare
+ m_nIdToDesel = nId
+ Else
+ ' Memorizzo Id da selezionare
+ m_nIdToSel = nId
+ End If
+ Exit While
+ nId = EgtGetNextObjInSelWin()
+ End While
+ ' Dati per drag
+ m_bDragToStart = True
+ End Sub
+
+ Friend Sub View_Feature_OnMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
+ ' Se drag non abilitato o già in esecuzione, esco
+ If Not m_bDragToStart Then Return
+ ' Se primo movimento di drag, verifico di aver superato la soglia di movimento in pixel
+ If m_bDragToStart Then
+ If Math.Abs(e.Location.X - m_locPrev.X) < m_nRestRadius And
+ Math.Abs(e.Location.Y - m_locPrev.Y) < m_nRestRadius Then
+ Return
+ End If
+ m_bDragToStart = False
+ End If
+ End Sub
+
+ Friend Sub View_Feature_OnMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
+ ' Se eseguito drag
+ If Not m_bDragToStart Then
+ ' Se selezione da eseguire
+ ElseIf m_nIdToSel <> GDB_ID.NULL Then
+ ' Se feature da selezionare non è già selezionata
+ If Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) AndAlso
+ (IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM) OrElse Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM.nFeatureId <> m_nIdToSel) Then
+ ' Eseguo la selezione
+ Map.refProjectVM.BTLStructureVM.SelBTLPart.SelBTLFeatureVM = Map.refProjectVM.BTLStructureVM.SelBTLPart.BTLFeatureVMList.FirstOrDefault(Function(x) x.nFeatureId = m_nIdToSel)
+ End If
+ End If
+ ' Reset
+ m_bDrag = False
+ m_nIdToSel = GDB_ID.NULL
+ m_nIdToDesel = GDB_ID.NULL
+ EgtDraw()
+ End Sub
+
+#End Region ' Feature
+
#End Region ' VIEW EVENTS
End Class
diff --git a/EgtBEAMWALL.ViewerOptimizer/ShowBeamPanel/ShowBeamPanelVM.vb b/EgtBEAMWALL.ViewerOptimizer/ShowBeamPanel/ShowBeamPanelVM.vb
index 23e4bbc9..6fcaf573 100644
--- a/EgtBEAMWALL.ViewerOptimizer/ShowBeamPanel/ShowBeamPanelVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/ShowBeamPanel/ShowBeamPanelVM.vb
@@ -1,4 +1,6 @@
Imports EgtUILib
+Imports EgtWPFLib5
+Imports EgtBEAMWALL.Core
Public Class ShowBeamPanelVM
Inherits VMBase
@@ -124,7 +126,7 @@ Public Class ShowBeamPanelVM
End Get
End Property
- Public Sub ShowAll( Optional bDraw As Boolean = True)
+ Public Sub ShowAll(Optional bDraw As Boolean = True)
If IsNothing(Map.refProjectVM.BTLStructureVM) Then Return
' se necessario tolgo solido dal precedentemente selezionato
If Not IsNothing(Map.refProjectVM.BTLStructureVM.SelBTLPart) AndAlso m_bShowSolid Then
diff --git a/EgtBEAMWALL.ViewerOptimizer/Statistics/StatisticsVM.vb b/EgtBEAMWALL.ViewerOptimizer/Statistics/StatisticsVM.vb
index 17489088..80d2adbd 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Statistics/StatisticsVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/Statistics/StatisticsVM.vb
@@ -1,6 +1,7 @@
Imports System.Collections.ObjectModel
Imports EgtBEAMWALL.Core
Imports EgtUILib
+Imports EgtWPFLib5
Public Class StatisticsVM
Inherits VMBase
diff --git a/EgtBEAMWALL.ViewerOptimizer/ToolsDbWindow/MyToolDbWindowVM.vb b/EgtBEAMWALL.ViewerOptimizer/ToolsDbWindow/MyToolDbWindowVM.vb
index f3ec66b0..01237d87 100644
--- a/EgtBEAMWALL.ViewerOptimizer/ToolsDbWindow/MyToolDbWindowVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/ToolsDbWindow/MyToolDbWindowVM.vb
@@ -4,6 +4,7 @@ Imports System.Reflection
Imports System.IO
Imports EgtUILib
Imports EgtWPFLib5
+Imports EgtBEAMWALL.Core.ConstGen
Public Class MyToolDbWindowVM
Inherits ToolDbWindowVM
diff --git a/EgtBEAMWALL.ViewerOptimizer/TopPanel/TopPanelVM.vb b/EgtBEAMWALL.ViewerOptimizer/TopPanel/TopPanelVM.vb
index f452c952..44969861 100644
--- a/EgtBEAMWALL.ViewerOptimizer/TopPanel/TopPanelVM.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/TopPanel/TopPanelVM.vb
@@ -1,5 +1,6 @@
Imports EgtBEAMWALL.Core
Imports EgtUILib
+Imports EgtWPFLib5
Public Class TopPanelVM
Inherits VMBase
@@ -346,9 +347,8 @@ Public Class TopPanelVM
If SelMachGroup.nProduction_State >= ItemState.Assigned Then Return
Dim SelPart As PartVM = SelMachGroup.SelPart
If IsNothing(SelPart) Then Return
- If SelMachGroup.nMachineType = MachineType.BEAM Then
- Dim BeamMachGroup As BeamMachGroupVM = DirectCast(SelMachGroup, BeamMachGroupVM)
- BeamMachGroup.MoveBeam(SelPart, MoveDirections.UP)
+ If SelMachGroup.nType = MachineType.BEAM Then
+ SelMachGroup.MoveBeam(SelPart, MoveDirections.UP)
EgtDraw()
' riseleziono trave
SelMachGroup.SelPart = SelPart
@@ -383,9 +383,8 @@ Public Class TopPanelVM
If SelMachGroup.nProduction_State >= ItemState.Assigned Then Return
Dim SelPart As PartVM = SelMachGroup.SelPart
If IsNothing(SelPart) Then Return
- If SelMachGroup.nMachineType = MachineType.BEAM Then
- Dim BeamMachGroup As BeamMachGroupVM = DirectCast(SelMachGroup, BeamMachGroupVM)
- BeamMachGroup.MoveBeam(SelPart, MoveDirections.DOWN)
+ If SelMachGroup.nType = MachineType.BEAM Then
+ SelMachGroup.MoveBeam(SelPart, MoveDirections.DOWN)
EgtDraw()
' riseleziono trave
SelMachGroup.SelPart = SelPart
@@ -420,9 +419,8 @@ Public Class TopPanelVM
If SelMachGroup.nProduction_State >= ItemState.Assigned Then Return
Dim SelPart As PartVM = SelMachGroup.SelPart
If IsNothing(SelPart) Then Return
- If SelMachGroup.nMachineType = MachineType.BEAM Then
- Dim BeamMachGroup As BeamMachGroupVM = DirectCast(SelMachGroup, BeamMachGroupVM)
- BeamMachGroup.ReorderBeam()
+ If SelMachGroup.nType = MachineType.BEAM Then
+ SelMachGroup.ReorderBeam()
' riseleziono trave
If Not IsNothing(SelPart) AndAlso (IsNothing(SelMachGroup.SelPart) OrElse SelPart.nPartId <> SelMachGroup.SelPart.nPartId) Then
SelMachGroup.SelPart = SelPart
diff --git a/EgtBEAMWALL.ViewerOptimizer/Utility/Command.vb b/EgtBEAMWALL.ViewerOptimizer/Utility/Command.vb
deleted file mode 100644
index 476e71f6..00000000
--- a/EgtBEAMWALL.ViewerOptimizer/Utility/Command.vb
+++ /dev/null
@@ -1,68 +0,0 @@
-
-'''
-''' A command whose sole purpose is to
-''' relay its functionality to other
-''' objects by invoking delegates. The
-''' default return value for the CanExecute
-''' method is 'true'.
-'''
-Public Class Command
- Implements ICommand
-
-#Region "Fields"
-
- Private ReadOnly _execute As Action(Of Object)
- Private ReadOnly _canExecute As Predicate(Of Object)
-
-#End Region ' Fields
-
-#Region "Constructors"
-
- '''
- ''' Creates a new command that can always execute.
- '''
- ''' The execution logic.
- Public Sub New(ByVal execute As Action(Of Object))
- Me.New(execute, Nothing)
- End Sub
-
- '''
- ''' Creates a new command.
- '''
- ''' The execution logic.
- ''' The execution status logic.
- Public Sub New(ByVal execute As Action(Of Object), ByVal canExecute As Predicate(Of Object))
- If execute Is Nothing Then
- Throw New ArgumentNullException("execute")
- End If
-
- _execute = execute
- _canExecute = canExecute
- End Sub
-
-#End Region ' Constructors
-
-#Region "ICommand Members"
-
- _
- Public Function CanExecute(ByVal parameter As Object) As Boolean Implements ICommand.CanExecute
- Return If(_canExecute Is Nothing, True, _canExecute(parameter))
- End Function
-
- Public Custom Event CanExecuteChanged As EventHandler Implements ICommand.CanExecuteChanged
- AddHandler(ByVal value As EventHandler)
- AddHandler CommandManager.RequerySuggested, value
- End AddHandler
- RemoveHandler(ByVal value As EventHandler)
- RemoveHandler CommandManager.RequerySuggested, value
- End RemoveHandler
- RaiseEvent(ByVal sender As System.Object, ByVal e As System.EventArgs)
- End RaiseEvent
- End Event
-
- Public Sub Execute(ByVal parameter As Object) Implements ICommand.Execute
- _execute(parameter)
- End Sub
-
-#End Region ' ICommand Members
-End Class
\ No newline at end of file
diff --git a/EgtBEAMWALL.ViewerOptimizer/Utility/CurrentMachine.vb b/EgtBEAMWALL.ViewerOptimizer/Utility/CurrentMachine.vb
index 220b6940..ed5edb5d 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Utility/CurrentMachine.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/Utility/CurrentMachine.vb
@@ -1,4 +1,5 @@
Imports System.Collections.ObjectModel
+Imports EgtBEAMWALL.Core
Imports EgtUILib
Public Module CurrentMachine
diff --git a/EgtBEAMWALL.ViewerOptimizer/Utility/Dictionary.xaml b/EgtBEAMWALL.ViewerOptimizer/Utility/Dictionary.xaml
index 7b7056fd..5e17c00d 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Utility/Dictionary.xaml
+++ b/EgtBEAMWALL.ViewerOptimizer/Utility/Dictionary.xaml
@@ -28,7 +28,7 @@
-
+
diff --git a/EgtBEAMWALL.ViewerOptimizer/Utility/Map.vb b/EgtBEAMWALL.ViewerOptimizer/Utility/Map.vb
index fa7ad906..bbd41a06 100644
--- a/EgtBEAMWALL.ViewerOptimizer/Utility/Map.vb
+++ b/EgtBEAMWALL.ViewerOptimizer/Utility/Map.vb
@@ -26,7 +26,7 @@ Module Map
Private m_refTopPanelVM As TopPanelVM
Private m_refOptimizePanelVM As OptimizePanelVM
Private m_refCALCPanelVM As CALCPanelVM
- Private m_refPartListVM As PartListVM
+ Private m_refPartListVM As BTLPartListVM
Private m_refFeatureInPartInRawPartListVM As FeatureInPartInRawPartListVM
Private m_refStatisticsVM As StatisticsVM
Private m_refPParameterListVM As PParameterListVM
@@ -190,7 +190,7 @@ Module Map
End Get
End Property
- Public ReadOnly Property refPartListVM As PartListVM
+ Public ReadOnly Property refPartListVM As BTLPartListVM
Get
Return m_refPartListVM
End Get
@@ -392,7 +392,7 @@ Module Map
Return Not IsNothing(m_refCALCPanelVM)
End Function
- Friend Function SetRefPartListVM(PartListVM As PartListVM) As Boolean
+ Friend Function SetRefPartListVM(PartListVM As BTLPartListVM) As Boolean
m_refPartListVM = PartListVM
Return Not IsNothing(m_refPartListVM)
End Function
diff --git a/EgtBEAMWALL.ViewerOptimizer/Utility/VMBase.vb b/EgtBEAMWALL.ViewerOptimizer/Utility/VMBase.vb
deleted file mode 100644
index b2d5ce6c..00000000
--- a/EgtBEAMWALL.ViewerOptimizer/Utility/VMBase.vb
+++ /dev/null
@@ -1,12 +0,0 @@
-Imports System.ComponentModel
-
-Public Class VMBase
- Implements INotifyPropertyChanged
-
- Public Event PropertyChanged(sender As Object, e As PropertyChangedEventArgs) Implements INotifyPropertyChanged.PropertyChanged
-
- Public Sub NotifyPropertyChanged(propName As String)
- RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs(propName))
- End Sub
-
-End Class