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.settings True - + - - + + 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:Compile Designer - + MSBuild:Compile Designer @@ -337,11 +329,11 @@ MSBuild:Compile Designer - + MSBuild:Compile Designer - + MSBuild:Compile Designer 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -