Compare commits
31 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dca88a1aae | |||
| c433e5b5bd | |||
| 07da0b55d4 | |||
| 5c1df0c8d2 | |||
| 7e323827de | |||
| ee57c64e91 | |||
| 391fa8dbb5 | |||
| 0bcd67a402 | |||
| 1ca8c76bbf | |||
| f752dc46c3 | |||
| ee69bda3a5 | |||
| dd939a7fb6 | |||
| e01ee20b48 | |||
| aeeaf624ee | |||
| d01225cd6e | |||
| 5792664da8 | |||
| caff5e5507 | |||
| 6224b1e40b | |||
| aca43262cf | |||
| 6f526dca45 | |||
| b3a359e257 | |||
| dc787f2596 | |||
| d0cb48b31d | |||
| c9b4d679bd | |||
| e726416853 | |||
| 9be2a9d1c3 | |||
| aed8483ede | |||
| 349a1429c1 | |||
| 29c528fa0e | |||
| 86e6a21d63 | |||
| 7a26984f95 |
@@ -21,6 +21,7 @@ Module ConstGen
|
||||
' File con dati di licenza
|
||||
Public Const LIC_FILE_NAME As String = "OmagOFFICE.lic"
|
||||
Public Const S_LICENCE As String = "Licence"
|
||||
Public Const K_LOCKID As String = "LockId"
|
||||
Public Const K_KEY As String = "Key"
|
||||
Public Const K_NESTKEY As String = "NestKey"
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ Module ConstIni
|
||||
Public Const K_CONTOURFROMCAMERA As String = "ContourFromCamera"
|
||||
Public Const K_SUPPORT As String = "Support"
|
||||
Public Const K_PHOTODIR As String = "PhotoDir"
|
||||
Public Const K_SHOWNBARROW As String = "ShowNbArrow"
|
||||
|
||||
Public Const S_LANGUAGES As String = "Languages"
|
||||
Public Const K_LANGUAGE As String = "Language"
|
||||
@@ -96,6 +97,7 @@ Module ConstIni
|
||||
|
||||
Public Const S_SIDES As String = "Sides"
|
||||
Public Const K_MAXSIDEANGLE As String = "MaxSideAngle"
|
||||
Public Const K_SIZEALWAYSONTOP As String = "SizeAlwaysOnTop"
|
||||
Public Const K_PARSIDE_AS_TRF As String = "ParSideAsTrf"
|
||||
Public Const K_SIDEANGLE As String = "SideAngle"
|
||||
Public Const K_DELTA_ANG_TG As String = "DeltaAngTg"
|
||||
@@ -114,6 +116,7 @@ Module ConstIni
|
||||
Public Const K_FILOTOPOFFSET As String = "FiloTopOffset"
|
||||
Public Const K_FILOTOPDEPTH As String = "FiloTopDepth"
|
||||
Public Const K_FILOTOPROUNDOFF As String = "FiloTopRoundOff"
|
||||
Public Const K_TEXTCOLORENT As String = "TextColorEnt"
|
||||
|
||||
Public Const S_NEST As String = "Nest"
|
||||
Public Const K_DIRECT As String = "Direct"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
Imports System.Security.Cryptography
|
||||
Imports EgtUILib
|
||||
Imports EgtWPFLib5
|
||||
|
||||
Friend Module CamAuto
|
||||
|
||||
@@ -25,9 +26,12 @@ Friend Module CamAuto
|
||||
bOk = bOk AndAlso EgtLuaCallFunction("CAM.Add")
|
||||
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
|
||||
EgtLuaResetGlobVar("CAM")
|
||||
If nErr <> 0 Then
|
||||
If nErr > 0 Then
|
||||
bOk = False
|
||||
EgtOutLog("Error in CamAuto : " & nErr.ToString())
|
||||
ElseIf nErr < 0 Then
|
||||
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
|
||||
OmagOFFICEMap.refStatusBarVM.SetOutputMessage(EgtMsg(91017), MSG_TYPE.WARNING)
|
||||
End If
|
||||
ResetOrderMachiningFlag()
|
||||
Return bOk
|
||||
@@ -43,9 +47,34 @@ Friend Module CamAuto
|
||||
bOk = bOk AndAlso EgtLuaCallFunction("CAM.AddWaterJet")
|
||||
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
|
||||
EgtLuaResetGlobVar("CAM")
|
||||
If nErr <> 0 Then
|
||||
If nErr > 0 Then
|
||||
bOk = False
|
||||
EgtOutLog("Error in CamAuto : " & nErr.ToString())
|
||||
' m_MainWindow.m_CurrentProjectPageUC.ClearMessage()
|
||||
ElseIf nErr < 0 Then
|
||||
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
|
||||
End If
|
||||
Return bOk
|
||||
End Function
|
||||
|
||||
' versione CamAuto 2.6l1: gestione tagli con ridotto affondamento
|
||||
Friend Function AddWaterJetMachining(LocaList As List(Of Integer), ByRef nWarn As Integer) As Boolean
|
||||
EgtLuaCreateGlobTable("CAM")
|
||||
SetLuaStandardCamParams()
|
||||
For i As Integer = 0 To LocaList.Count - 1
|
||||
EgtLuaSetGlobIntVar("CAM.TAB_OPERID." & (i + 1).ToString, LocaList(i))
|
||||
Next
|
||||
Dim nErr As Integer = 999
|
||||
Dim bOk As Boolean = EgtLuaExecFile(m_sCamAutoDir & "\CamAuto.lua")
|
||||
bOk = bOk AndAlso EgtLuaGetGlobIntVar("CAM.ERR", nErr) AndAlso nErr = 0
|
||||
bOk = bOk AndAlso EgtLuaCallFunction("CAM.AddWaterJets")
|
||||
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
|
||||
EgtLuaResetGlobVar("CAM")
|
||||
If nErr > 0 Then
|
||||
bOk = False
|
||||
EgtOutLog("Error in CamAuto : " & nErr.ToString())
|
||||
ElseIf nErr < 0 Then
|
||||
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
|
||||
End If
|
||||
Return bOk
|
||||
End Function
|
||||
@@ -59,9 +88,11 @@ Friend Module CamAuto
|
||||
bOk = bOk AndAlso EgtLuaCallFunction("CAM.Erase")
|
||||
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
|
||||
EgtLuaResetGlobVar("CAM")
|
||||
If nErr <> 0 Then
|
||||
If nErr > 0 Then
|
||||
bOk = False
|
||||
EgtOutLog("Error in CamAuto : " & nErr.ToString())
|
||||
ElseIf nErr < 0 Then
|
||||
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
|
||||
End If
|
||||
ResetOrderMachiningFlag()
|
||||
Return bOk
|
||||
@@ -76,9 +107,11 @@ Friend Module CamAuto
|
||||
bOk = bOk AndAlso EgtLuaCallFunction("CAM.InvertVerticalCut")
|
||||
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
|
||||
EgtLuaResetGlobVar("CAM")
|
||||
If nErr <> 0 Then
|
||||
If nErr > 0 Then
|
||||
bOk = False
|
||||
EgtOutLog("Error in CamAuto : " & nErr.ToString())
|
||||
ElseIf nErr < 0 Then
|
||||
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
|
||||
End If
|
||||
Return bOk
|
||||
End Function
|
||||
@@ -89,6 +122,7 @@ Friend Module CamAuto
|
||||
End Function
|
||||
|
||||
Friend Function ResetAllMachinings(ByRef nWarn As Integer) As Boolean
|
||||
EgtOutLog(" ++ ReserAllMachining ++ ")
|
||||
' Cancello tutte le lavorazioni
|
||||
EraseMachinings(GDB_ID.NULL)
|
||||
' Reinserisco tutte le lavorazioni piane (non sono previste le lavorazioni delle cornici)
|
||||
@@ -273,9 +307,11 @@ Friend Module CamAuto
|
||||
bOk = bOk AndAlso EgtLuaCallFunction("CAM.UpdateAllTp")
|
||||
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
|
||||
EgtLuaResetGlobVar("CAM")
|
||||
If nErr <> 0 Then
|
||||
If nErr > 0 Then
|
||||
bOk = False
|
||||
EgtOutLog("Error in CamAuto : " & nErr.ToString())
|
||||
ElseIf nErr < 0 Then
|
||||
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
|
||||
End If
|
||||
Return bOk
|
||||
End Function
|
||||
@@ -289,9 +325,11 @@ Friend Module CamAuto
|
||||
bOk = bOk AndAlso EgtLuaCallFunction("CAM.Sort")
|
||||
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
|
||||
EgtLuaResetGlobVar("CAM")
|
||||
If nErr <> 0 Then
|
||||
If nErr > 0 Then
|
||||
bOk = False
|
||||
EgtOutLog("Error in CamAuto : " & nErr.ToString())
|
||||
ElseIf nErr < 0 Then
|
||||
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
|
||||
End If
|
||||
Return bOk
|
||||
End Function
|
||||
@@ -306,9 +344,11 @@ Friend Module CamAuto
|
||||
bOk = bOk AndAlso EgtLuaCallFunction("CAM.SpecApplyDisp")
|
||||
EgtLuaGetGlobIntVar("CAM.ERR", nErr)
|
||||
EgtLuaResetGlobVar("CAM")
|
||||
If nErr <> 0 Then
|
||||
If nErr > 0 Then
|
||||
bOk = False
|
||||
EgtOutLog("Error in CamAuto : " & nErr.ToString())
|
||||
ElseIf nErr < 0 Then
|
||||
EgtOutLog("Warning in CamAuto : " & nErr.ToString())
|
||||
End If
|
||||
If ResetOrderMachiningFlag() Then
|
||||
ResetOrderMachiningFlag()
|
||||
@@ -451,6 +491,7 @@ Friend Module CamAuto
|
||||
Return EgtRemoveOperationHome(nId)
|
||||
End Function
|
||||
|
||||
' DA AGGIORNARE PER CAMBIO UTENSILE LAMA
|
||||
Friend Function VerifySetup(ByRef sMissingTools As String) As Boolean
|
||||
Dim bOk As Boolean = True
|
||||
Dim bIsMultiCut = (EgtGetHeadId("H101") <> GDB_ID.NULL)
|
||||
@@ -545,6 +586,7 @@ Friend Module CamAuto
|
||||
Dim dReducedDepth As Double = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_REDUCEDDEPTH, 1, CurrentMachine.sMachIniFile)
|
||||
' Ciclo sulle lavorazioni
|
||||
Dim nOperId As Integer = EgtGetFirstOperation()
|
||||
Dim LocalListOperId As New List(Of Integer)
|
||||
While nOperId <> GDB_ID.NULL
|
||||
' verifico sia una lavorazione valida di taglio con lama
|
||||
If IsValidMachining(nOperId) And EgtGetOperationType(nOperId) = MCH_OY.SAWING Then
|
||||
@@ -559,12 +601,14 @@ Friend Module CamAuto
|
||||
' se abilitato e attivo waterjet, lo aggiungo per completare il taglio
|
||||
If CurrentMachine.WaterJettingActive Then
|
||||
Dim nWarn As Integer = 0
|
||||
AddWaterJetMachining(nOperId, nWarn)
|
||||
LocalListOperId.Add(nOperId)
|
||||
'AddWaterJetMachining(nOperId, nWarn)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
nOperId = EgtGetNextOperation(nOperId)
|
||||
End While
|
||||
If LocalListOperId.Count > 0 Then AddWaterJetMachining(LocalListOperId, 0)
|
||||
Return bModified
|
||||
End Function
|
||||
|
||||
@@ -859,6 +903,7 @@ Friend Module CamAuto
|
||||
Private Function SetLuaStandardCamParams(Optional bDripOk As Boolean = True) As Boolean
|
||||
Dim sMaterial As String = CurrentMachine.CurrMat.sName
|
||||
Dim sSawMch As String = CurrentMachine.sCurrSawing
|
||||
Dim sSawTiltedMch As String = CurrentMachine.sCurrSawingTilted
|
||||
Dim sMillMch As String = CurrentMachine.sCurrMilling
|
||||
Dim sDrillMch As String = CurrentMachine.sCurrDrilling
|
||||
Dim sWaterJetMch As String = CurrentMachine.sCurrWaterJetting
|
||||
@@ -876,6 +921,7 @@ Friend Module CamAuto
|
||||
Dim dMillingShort As Double = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_MILLING_SHORTENING, 0, CurrentMachine.sMachIniFile)
|
||||
EgtLuaSetGlobStringVar("CAM.MATERIAL", sMaterial)
|
||||
EgtLuaSetGlobStringVar("CAM.SAWMCH", sSawMch)
|
||||
EgtLuaSetGlobStringVar("CAM.SAWTILTEDMCH", sSawTiltedMch)
|
||||
EgtLuaSetGlobStringVar("CAM.MILLMCH", sMillMch)
|
||||
EgtLuaSetGlobStringVar("CAM.DRILLMCH", sDrillMch)
|
||||
EgtLuaSetGlobStringVar("CAM.WATERJETMCH", sWaterJetMch)
|
||||
@@ -896,24 +942,29 @@ Friend Module CamAuto
|
||||
Return True
|
||||
End Function
|
||||
|
||||
' ver. 2.7f1
|
||||
Friend Function GetTableCount() As Integer
|
||||
If EgtGetTableId(MAIN_TAB) = GDB_ID.NULL Then Return 0
|
||||
If EgtGetTableId(SECOND_TAB) = GDB_ID.NULL Then Return 1
|
||||
If EgtGetTableId(THIRD_TAB) = GDB_ID.NULL Then Return 2
|
||||
Return 3
|
||||
If EgtGetTableId(FORTH_TAB) = GDB_ID.NULL Then Return 3
|
||||
Return 4
|
||||
End Function
|
||||
|
||||
Friend Function GetTableName(nInd As Integer) As String
|
||||
If nInd = 1 Then Return MAIN_TAB
|
||||
If nInd = 2 Then Return SECOND_TAB
|
||||
If nInd = 3 Then Return THIRD_TAB
|
||||
If nInd = 4 Then Return FORTH_TAB
|
||||
Return ""
|
||||
End Function
|
||||
|
||||
Friend Function GetCurrentTable() As Integer
|
||||
Dim sTabName As String = MAIN_TAB
|
||||
EgtGetTableName(sTabName)
|
||||
If sTabName = THIRD_TAB Then
|
||||
If sTabName = FORTH_TAB Then
|
||||
Return 4
|
||||
ElseIf sTabName = THIRD_TAB Then
|
||||
Return 3
|
||||
ElseIf sTabName = SECOND_TAB Then
|
||||
Return 2
|
||||
|
||||
@@ -48,6 +48,7 @@ Module ConstMach
|
||||
Public Const MAIN_TAB As String = "MainTab"
|
||||
Public Const SECOND_TAB As String = "2ndTab"
|
||||
Public Const THIRD_TAB As String = "3rdTab"
|
||||
Public Const FORTH_TAB As String = "4thTab"
|
||||
' Nome tavola ausiliaria per spostamento finale pezzi
|
||||
Public Const AUX_TAB As String = "AuxTab"
|
||||
|
||||
@@ -166,6 +167,7 @@ Module ConstMach
|
||||
' Info in entità da tagliare per affondamento
|
||||
Public Const INFO_DEPTH As String = "Depth"
|
||||
Public Const INFO_DEPTH2 As String = "Depth2"
|
||||
Public Const INFO_AGG2 As String = "Agg2"
|
||||
Public Const INFO_WIDTH As String = "Width"
|
||||
' Info in entità da tagliare per taglio ristretto
|
||||
Public Const INFO_STRICT As String = "Strict"
|
||||
|
||||
@@ -240,6 +240,7 @@
|
||||
|
||||
Public Const S_MACH_MACH As String = "Mach"
|
||||
Public Const K_CURRSAW As String = "CurrSaw"
|
||||
Public Const K_CURRSAWTILTED As String = "CurrSawTilted"
|
||||
Public Const K_CURRDRILL As String = "CurrDrill"
|
||||
Public Const K_CURRMILL As String = "CurrMill"
|
||||
Public Const K_CURRMILLNOTIP As String = "CurrMillNoTip"
|
||||
@@ -247,6 +248,7 @@
|
||||
Public Const K_CURRDRIPDRILL As String = "CurrDripDrill"
|
||||
Public Const K_CURRWATERJET As String = "CurrWaterJet"
|
||||
Public Const K_CURRSAWING As String = "CurrSawing"
|
||||
Public Const K_CURRSAWINGTILTED As String = "CurrSawingTilted"
|
||||
Public Const K_CURRSAWING_OFFICE As String = "CurrOfficeSawing"
|
||||
Public Const K_CURRDRILLING As String = "CurrDrilling"
|
||||
Public Const K_CURRDRILLING_OFFICE As String = "CurrOfficeDrilling"
|
||||
|
||||
@@ -107,6 +107,7 @@ Public Module CurrentMachine
|
||||
|
||||
' Variabili che contengono il nome degli utensili disponibili per tipo
|
||||
Private m_sCurrSaw As String = String.Empty
|
||||
Private m_sCurrSawTilted As String = String.Empty
|
||||
Private m_sCurrDrill As String = String.Empty
|
||||
Private m_sCurrMill As String = String.Empty
|
||||
Private m_sCurrMillNoTip As String = String.Empty
|
||||
@@ -116,6 +117,7 @@ Public Module CurrentMachine
|
||||
|
||||
' Variabili che contengono le lavorazioni correntemente attive (utilizzate per definire lavorazioni nel programma)
|
||||
Private m_sCurrSawing As String = String.Empty
|
||||
Private m_sCurrSawingTilted As String = String.Empty
|
||||
Private m_sCurrDrilling As String = String.Empty
|
||||
Private m_sCurrMilling As String = String.Empty
|
||||
Private m_sCurrPocketing As String = String.Empty
|
||||
@@ -731,6 +733,18 @@ Friend Property sCurrMillNoTip As String
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Friend Property sCurrSawingTilted As String
|
||||
Get
|
||||
Return m_sCurrSawingTilted
|
||||
End Get
|
||||
Set(value As String)
|
||||
If WritePrivateProfileString(S_MACH_MACH, K_CURRSAWINGTILTED, value, sMachIniFile) Then
|
||||
m_sCurrSawingTilted = value
|
||||
'm_MainWindow.m_CurrentProjectPageUC.MachiningTxBx.Text = value
|
||||
End If
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Friend Property sCurrDrilling As String
|
||||
Get
|
||||
Return m_sCurrDrilling
|
||||
@@ -1270,6 +1284,13 @@ Friend Property sCurrMillNoTip As String
|
||||
' Leggo utensili correnti
|
||||
' lama
|
||||
GetPrivateProfileString(S_MACH_MACH, K_CURRSAW, Nothing, m_sCurrSaw, sMachIniFile)
|
||||
' lama inclinata
|
||||
If m_nShowToolChanger = 4 Then
|
||||
GetPrivateProfileString(S_MACH_MACH, K_CURRSAWTILTED, Nothing, m_sCurrSawTilted, sMachIniFile)
|
||||
Else
|
||||
' se non è configurato il cambio utensile e allora imposto l'unica lama disponibile per i tagli inclinati
|
||||
m_sCurrSawTilted = m_sCurrSaw
|
||||
End If
|
||||
' foretto
|
||||
GetPrivateProfileString(S_MACH_MACH, K_CURRDRILL, Nothing, m_sCurrDrill, sMachIniFile)
|
||||
' fresa
|
||||
@@ -1286,6 +1307,8 @@ Friend Property sCurrMillNoTip As String
|
||||
' Leggo lavorazioni correnti
|
||||
' lama
|
||||
m_sCurrSawing = EstCalc.GetCurrSawing()
|
||||
' lama inlicnata
|
||||
m_sCurrSawingTilted = EstCalc.GetCurrSawingTilted()
|
||||
' foretto
|
||||
m_sCurrDrilling = EstCalc.GetCurrDrilling()
|
||||
' fresa
|
||||
|
||||
@@ -258,6 +258,14 @@ Module EstCalc
|
||||
Return sCurrSawing
|
||||
End Function
|
||||
|
||||
Friend Function GetCurrSawingTilted() As String
|
||||
Dim nOperId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), "Opers")
|
||||
If nOperId = GDB_ID.NULL Then Return ""
|
||||
Dim sCurrSawing As String = String.Empty
|
||||
EgtGetInfo(nOperId, INFO_CURRSAWING, sCurrSawing)
|
||||
Return sCurrSawing
|
||||
End Function
|
||||
|
||||
Friend Function SetCurrMilling(sCurrMilling As String) As Boolean
|
||||
Dim nOperId As Integer = EgtGetFirstNameInGroup(EgtGetCurrMachGroup(), "Opers")
|
||||
If nOperId = GDB_ID.NULL Then Return False
|
||||
@@ -726,49 +734,65 @@ Module EstCalc
|
||||
nLayId = EgtGetNextName(nLayId, NAME_INLOOP)
|
||||
End While
|
||||
' Aggiorno le entità con tallone e quelle con angolo esterno
|
||||
Const AGG_DEPTH As Double = 2.0
|
||||
Const AGG_DEPTH As Double = 0.75
|
||||
Dim bSizeOnTop As Boolean = (GetMainPrivateProfileInt(S_SIDES, K_SIZEALWAYSONTOP, 0) <> 0)
|
||||
For Each nEnt As Integer In vEnt
|
||||
' Se aggiornamento vietato, vado oltre
|
||||
If EgtExistsInfo( nEnt, INFO_SIDE_FIXED) Then continue for
|
||||
If EgtExistsInfo(nEnt, INFO_SIDE_FIXED) Then Continue For
|
||||
' Recupero eventuali tallone ed angolo originale
|
||||
Dim dHeel As Double = 0
|
||||
Dim dSideAng As Double = 0
|
||||
EgtGetInfo(nEnt, INFO_HEEL, dHeel)
|
||||
EgtGetInfo(nEnt, INFO_ORIG_SIDE_ANGLE, dSideAng)
|
||||
' Se inclinazione con tallone
|
||||
If Math.Abs(dSideAng) > EPS_ANG_SMALL And dHeel > 10 * EPS_SMALL Then
|
||||
' Angolo esterno
|
||||
' Inclinazione esterna
|
||||
If dSideAng > 0 Then
|
||||
' Se tallone inferiore a spessore
|
||||
If dHeel < dTh - 10 * EPS_SMALL Then
|
||||
EgtSetInfo(nEnt, INFO_SIDE_ANGLE, 0.0)
|
||||
EgtSetInfo(nEnt, INFO_SIDE_ANGLE2, dSideAng)
|
||||
EgtSetInfo(nEnt, INFO_OFFSET2, -(dTh - dHeel) * Math.Tan(dSideAng * Math.PI / 180))
|
||||
If Not bSizeOnTop Then
|
||||
EgtSetInfo(nEnt, INFO_OFFSET, 0)
|
||||
EgtSetInfo(nEnt, INFO_OFFSET2, -(dTh - dHeel) * Math.Tan(dSideAng * Math.PI / 180))
|
||||
Else
|
||||
EgtSetInfo(nEnt, INFO_OFFSET, (dTh - dHeel) * Math.Tan(dSideAng * Math.PI / 180))
|
||||
EgtSetInfo(nEnt, INFO_OFFSET2, 0)
|
||||
End If
|
||||
EgtSetInfo(nEnt, INFO_DEPTH2, (dTh - dHeel) + AGG_DEPTH)
|
||||
' altrimenti, tallone superiore a spessore -> non c'è taglio inclinato
|
||||
EgtSetInfo(nEnt, INFO_AGG2, AGG_DEPTH)
|
||||
' altrimenti, tallone superiore a spessore -> non c'è taglio inclinato
|
||||
Else
|
||||
EgtSetInfo(nEnt, INFO_SIDE_ANGLE, 0.0)
|
||||
EgtSetInfo(nEnt, INFO_SIDE_ANGLE2, 0.0)
|
||||
EgtRemoveInfo(nEnt, INFO_OFFSET2)
|
||||
EgtRemoveInfo(nEnt, INFO_DEPTH2)
|
||||
EgtRemoveInfo(nEnt, INFO_AGG2)
|
||||
End If
|
||||
' Angolo interno
|
||||
' Inclinazione interna
|
||||
Else
|
||||
' Se tallone inferiore a spessore
|
||||
If dHeel < dTh - 10 * EPS_SMALL Then
|
||||
EgtSetInfo(nEnt, INFO_OFFSET, dHeel * Math.Tan(-dSideAng * Math.PI / 180))
|
||||
EgtSetInfo(nEnt, INFO_SIDE_ANGLE2, 0.0)
|
||||
EgtSetInfo(nEnt, INFO_DEPTH2, dHeel + AGG_DEPTH)
|
||||
' altrimenti, tallone superiore a spessore -> non c'è taglio inclinato
|
||||
EgtSetInfo(nEnt, INFO_AGG2, AGG_DEPTH)
|
||||
' altrimenti, tallone superiore a spessore -> non c'è taglio inclinato
|
||||
Else
|
||||
EgtSetInfo(nEnt, INFO_SIDE_ANGLE, 0.0)
|
||||
EgtRemoveInfo(nEnt, INFO_OFFSET)
|
||||
EgtRemoveInfo(nEnt, INFO_SIDE_ANGLE2)
|
||||
EgtRemoveInfo(nEnt, INFO_DEPTH2)
|
||||
EgtRemoveInfo(nEnt, INFO_AGG2)
|
||||
End If
|
||||
End If
|
||||
' Se altrimenti inclinazione esterna
|
||||
' Se altrimenti inclinazione esterna
|
||||
ElseIf dSideAng > EPS_ANG_SMALL Then
|
||||
EgtSetInfo(nEnt, INFO_OFFSET, -dTh * Math.Tan(dSideAng * Math.PI / 180))
|
||||
If Not bSizeOnTop Then
|
||||
EgtSetInfo(nEnt, INFO_OFFSET, -dTh * Math.Tan(dSideAng * Math.PI / 180))
|
||||
Else
|
||||
EgtSetInfo(nEnt, INFO_OFFSET, 0)
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
Return True
|
||||
@@ -990,8 +1014,22 @@ Module EstCalc
|
||||
Const STORE_DIST As Double = 200
|
||||
' 40 il Font usato per indicare il numero di pezzi in parcheggio "# N"
|
||||
Const STORE_OFFS As Double = 20 + 40 + 20
|
||||
Dim dStXmin As Double = b3Tab.Min().x - 0.5 * (STORE_LARGH - b3Tab.DimX())
|
||||
Return EgtPackBox(nId, dStXmin, -INFINITO, dStXmin + STORE_LARGH, b3Tab.Min().y - STORE_DIST, STORE_OFFS, False)
|
||||
Dim dStoreLarg As Double = GetPrivateProfileDouble("Store", "StoreLargh", STORE_LARGH, CurrentMachine.sMachIniFile)
|
||||
Dim dStoreDist As Double = GetPrivateProfileDouble("Store", "StoreDist", STORE_DIST, CurrentMachine.sMachIniFile)
|
||||
Dim dStoreOffs As Double = GetPrivateProfileDouble("Store", "StoreOffs", STORE_OFFS, CurrentMachine.sMachIniFile)
|
||||
Dim dStXmin As Double = b3Tab.Min().x - 0.5 * (dStoreLarg - b3Tab.DimX())
|
||||
|
||||
' Verifico che il pezzo ha una posizione salvata
|
||||
Dim ptCenter As Point3d
|
||||
If EgtGetInfo(nId, "PosInPark", ptCenter) Then
|
||||
Dim ptCurrPos As Point3d
|
||||
EgtCenterPoint(nId, GDB_ID.ROOT, ptCurrPos)
|
||||
Dim vt As New Vector3d(ptCenter - ptCurrPos)
|
||||
EgtMove(nId, vt, GDB_RT.GLOB)
|
||||
Return True
|
||||
End If
|
||||
|
||||
Return EgtPackBox(nId, dStXmin, -INFINITO, dStXmin + dStoreLarg, b3Tab.Min().y - dStoreDist, dStoreOffs, False)
|
||||
End Function
|
||||
|
||||
Friend Function VerifyPartsNesting(bReducedCut As Boolean) As Boolean
|
||||
|
||||
@@ -105,7 +105,7 @@ Public Class MyMachinePanelVM
|
||||
' procedo ad inizializzare la classe → carico la lista "MachineList" che visualizzo per l'inserimento di nuovi MachGroup
|
||||
Machine.MachineListInit(sMchRoots, MachineList)
|
||||
' Inizializzo valori visibilità parametri Db utensili e lavorazioni
|
||||
OmagOFFICETMDbParamVisibility.Init()
|
||||
' OmagOFFICETMDbParamVisibility.Init()
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
|
||||
@@ -219,12 +219,17 @@ Public Class MainWindowM
|
||||
EgtUILib.GetPrivateProfileString( S_LICENCE, K_NESTKEY, "", sNestKey, sLicFile)
|
||||
EgtSetNestKey( sNestKey)
|
||||
Dim bNetHwKey As Boolean = ( GetMainPrivateProfileInt(S_GENERAL, K_NETKEY, 0) = 1)
|
||||
EgtSetNetHwKey( bNetHwKey)
|
||||
EgtSetNetHwKey(bNetHwKey)
|
||||
Dim sLockId As String = ""
|
||||
EgtUILib.GetPrivateProfileString(S_LICENCE, K_LOCKID, "", sLockId, sLicFile)
|
||||
If Not String.IsNullOrEmpty(sLockId) Then
|
||||
EgtSetLockId(sLockId)
|
||||
End If
|
||||
' Verifico abilitazione nesting automatico
|
||||
m_bAutoNestOption = Not String.IsNullOrWhiteSpace( sNestKey)
|
||||
' Recupero livello e opzioni della chiave
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2602, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(9423, 2602, 1, m_nKeyOptions)
|
||||
Dim bKey As Boolean = EgtGetKeyLevel(9423, 2706, 1, m_nKeyLevel) And
|
||||
EgtGetKeyOptions(9423, 2706, 1, m_nKeyOptions)
|
||||
' Verifico abilitazione prodotto
|
||||
Dim bProd As Boolean = GetKeyOption(KEY_OPT.OFFICE_BASE)
|
||||
' Inizializzazione generale di EgtInterface
|
||||
@@ -294,6 +299,7 @@ Public Class MainWindowM
|
||||
' Info su opzioni chiave
|
||||
EgtOutLog("KeyOptions : " & bKey.ToString() & " " & m_nKeyOptions.ToString() & " " & bProd.ToString())
|
||||
EgtPHOTOLib.MainData.SetConfigDir(m_sConfigDir)
|
||||
EgtPHOTOLib.MainData.SetDebugLevel(m_nDebug)
|
||||
EgtPHOTOLib.MainData.SetKeyLevel(m_nKeyLevel)
|
||||
EgtPHOTOLib.MainData.SetKeyOptions(CInt(m_nKeyOptions))
|
||||
EgtPHOTOLib.MainData.SetPhotoDir(m_sPhotoDir)
|
||||
|
||||
@@ -30,7 +30,7 @@ Imports System.Windows
|
||||
#End If
|
||||
<Assembly: AssemblyCompany("Egalware s.r.l.")>
|
||||
<Assembly: AssemblyProduct("OmagOFFICE")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2017-2023 by Egalware s.r.l.")>
|
||||
<Assembly: AssemblyCopyright("Copyright © 2017-2025 by Egalware s.r.l.")>
|
||||
<Assembly: AssemblyTrademark("")>
|
||||
<Assembly: ComVisible(false)>
|
||||
'In order to begin building localizable applications, set
|
||||
@@ -69,6 +69,6 @@ Imports System.Windows
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("2.6.2.2")>
|
||||
<Assembly: AssemblyFileVersion("2.6.2.2")>
|
||||
<Assembly: AssemblyVersion("2.7.6.1")>
|
||||
<Assembly: AssemblyFileVersion("2.7.6.1")>
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
</EgtWPFLib5:EgtCustomWindow.InputBindings>
|
||||
|
||||
<EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
<EgtWPFLib5:MachiningParamVisibilityConverter x:Key="MachiningParamVisibilityConverter"/>
|
||||
<!--<EgtWPFLib5:MachiningParamVisibilityConverter x:Key="MachiningParamVisibilityConverter"/>-->
|
||||
<EgtWPFLib5:DepthUnitConverter x:Key="DepthUnitConverter"/>
|
||||
<EgtWPFLib5:ErrorVisibilityConverter x:Key="ErrorVisibilityConverter"/>
|
||||
<sys:Int32 x:Key="Invert">0</sys:Int32>
|
||||
|
||||
@@ -47,12 +47,27 @@ Public Class MySceneHostVM
|
||||
' Problemi
|
||||
' Se manca la chiave
|
||||
If OmagOFFICEMap.refMainWindowVM.MainWindowM.nKeyLevel = -1 Or OmagOFFICEMap.refMainWindowVM.MainWindowM.nKeyLevel = -2 Then
|
||||
EgtOutLog("Missing Dongle")
|
||||
' Box di avviso chiave mancante : "Chiave non presente. \n Inserirla e riavviare il programma." "Errore"
|
||||
Dim sText As String = EgtMsg(MSG_MISSINGKEYWD + 2) & vbCrLf & EgtMsg(MSG_MISSINGKEYWD + 3)
|
||||
Dim sTitle As String = EgtMsg(MSG_MISSINGKEYWD + 1)
|
||||
If Not EgtGetNetHwKey() Then
|
||||
EgtOutLog("Missing Dongle")
|
||||
' Box di avviso chiave mancante : "Chiave non presente. \nInserirla e riavviare il programma." "Errore"
|
||||
Dim sText As String = EgtMsg(10102) & vbCrLf & EgtMsg(10103)
|
||||
Dim sTitle As String = EgtMsg(10101)
|
||||
MessageBox.Show(sText, sTitle, MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
Else
|
||||
EgtOutLog("NetDongle is full")
|
||||
' Box di avviso slot chiave di rete occupato : "Chiave di Rete completamente occupata. \n Uscire dal programma su un altro PC." "Errore"
|
||||
Dim sText As String = EgtMsg(10110) & vbCrLf & EgtMsg(10111)
|
||||
Dim sTitle As String = EgtMsg(10101)
|
||||
MessageBox.Show(sText, sTitle, MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
End If
|
||||
' Se altrimenti manca il collegamento con la chiave di rete
|
||||
ElseIf OmagOFFICEMap.refMainWindowVM.MainWindowM.nKeyLevel = -9 Then
|
||||
EgtOutLog("Missing Link with Net Dongle")
|
||||
' Box di avviso chiave mancante : "Collegamento con la Chiave di rete non riuscito. \n Verificare la connessione." "Errore"
|
||||
Dim sText As String = EgtMsg(10108) & vbCrLf & EgtMsg(10109)
|
||||
Dim sTitle As String = EgtMsg(10101)
|
||||
MessageBox.Show(sText, sTitle, MessageBoxButton.OK, MessageBoxImage.Error)
|
||||
' Altrimenti manca la licenza
|
||||
' Altrimenti manca la licenza
|
||||
Else
|
||||
EgtOutLog("Problems with Licence")
|
||||
' Box di avviso licenza con problemi : "Programma senza licenza. \n Caricala e riavvia il programma." "Errore"
|
||||
@@ -87,12 +102,14 @@ Public Class MySceneHostVM
|
||||
|
||||
Public Overrides Sub InitSceneEvents()
|
||||
AddHandler MainScene.OnMouseDownScene, AddressOf OnMouseDownScene
|
||||
'AddHandler OnMouseDownScene_DoubleClick_1, AddressOf OnMouseDownScene_DoubleClick
|
||||
AddHandler MainScene.OnMouseMoveScene, AddressOf OnMouseMoveScene
|
||||
AddHandler MainScene.OnMouseUpScene, AddressOf OnMouseUpScene
|
||||
AddHandler MainScene.KeyDown, AddressOf OnKeyDownScene
|
||||
AddHandler MainScene.OnCursorPos, AddressOf OnCursorPos
|
||||
AddHandler MainScene.OnShowDistance, AddressOf OnShowDistance
|
||||
AddHandler MainScene.OnChangedSnapPointType, AddressOf OnChangedSnapPointType
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub PreInitializeScene()
|
||||
@@ -719,6 +736,8 @@ Public Class MySceneHostVM
|
||||
End Sub
|
||||
|
||||
Private Sub OnSavingProject(ByVal sender As Object, sFile As String)
|
||||
' Salvo le info del progetto
|
||||
TopCommandBarVM.SetInfoProj(sFile)
|
||||
' Recupero tutti i file di texture associabili ai gruppi di lavoro del progetto
|
||||
Dim sDirToSearch As String = Path.GetDirectoryName(sFile)
|
||||
Dim sFileToSearch As String = Path.GetFileNameWithoutExtension(sFile) & "." & PHOTO_NAME & "*"
|
||||
@@ -792,6 +811,13 @@ Public Class MySceneHostVM
|
||||
Private Sub OnMouseDownScene(sender As Object, e As Windows.Forms.MouseEventArgs)
|
||||
' Si può selezionare solo con il tasto sinistro e se stato NULL
|
||||
If e.Button <> Windows.Forms.MouseButtons.Left Or Not MainScene.IsStatusNull() Then Return
|
||||
If e.Clicks > 1 Then
|
||||
Select Case OmagOFFICEMap.refOptionPanelVM.SelItem
|
||||
Case OptionPanelVM.Tabs.MACHINING
|
||||
OmagOFFICEMap.refMachiningTabVM.OnMouseDownScene_DoubleClick(sender, e)
|
||||
Case OptionPanelVM.Tabs.SIMUL
|
||||
End Select
|
||||
End If
|
||||
' Chiamo l'opportuno gestore
|
||||
Select Case OmagOFFICEMap.refOptionPanelVM.SelItem
|
||||
Case OptionPanelVM.Tabs.RAWPART
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
</EgtWPFLib5:EgtCustomWindow.InputBindings>
|
||||
|
||||
<EgtWPFLib5:EgtCustomWindow.Resources>
|
||||
<EgtWPFLib5:ToolParamVisibilityConverter x:Key="ToolParamVisibilityConverter"/>
|
||||
<!--<EgtWPFLib5:ToolParamVisibilityConverter x:Key="ToolParamVisibilityConverter"/>-->
|
||||
<EgtWPFLib5:ToolDrawUUIDConverter x:Key="ToolDrawUUIDConverter"/>
|
||||
<EgtWPFLib5:ErrorVisibilityConverter x:Key="ErrorVisibilityConverter"/>
|
||||
<sys:Int32 x:Key="Corr">0</sys:Int32>
|
||||
|
||||
@@ -116,6 +116,15 @@
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
</DataGridTextColumn>
|
||||
<!--Flux-->
|
||||
<DataGridTextColumn Binding="{Binding Flux}"
|
||||
Width="*">
|
||||
<DataGridTextColumn.HeaderTemplate>
|
||||
<DataTemplate>
|
||||
<TextBlock Text="{Binding DataContext.Flux_Msg,RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>
|
||||
</DataTemplate>
|
||||
</DataGridTextColumn.HeaderTemplate>
|
||||
</DataGridTextColumn>
|
||||
<!--Q1-->
|
||||
<DataGridTextColumn Binding="{Binding Q1}"
|
||||
Width="*">
|
||||
|
||||
@@ -135,11 +135,13 @@
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\EgtProg\Dll32\EgtPHOTOLib.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EgtUILib">
|
||||
<HintPath>..\..\EgtProg\DllD32\EgtUILib.dll</HintPath>
|
||||
<Reference Include="EgtUILib, Version=2.7.5.2, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\EgtProg\OmagOFFICE\EgtUILib.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="EgtWPFLib5">
|
||||
<HintPath>..\..\EgtProg\DllD32\EgtWPFLib5.dll</HintPath>
|
||||
<Reference Include="EgtWPFLib5, Version=2.7.4.1, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\..\EgtProg\OmagOFFICE\EgtWPFLib5.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="PresentationFramework.Aero" />
|
||||
<Reference Include="System.Core" />
|
||||
@@ -963,6 +965,23 @@
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\NewIcons\DB-WJ.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\DetailPage\Cancel.png" />
|
||||
<Resource Include="Resources\DetailPage\Confirm.png" />
|
||||
<Resource Include="Resources\DetailPage\Elimina.png" />
|
||||
<Resource Include="Resources\DetailPage\Pencil.png" />
|
||||
<Resource Include="Resources\DetailPage\Photo.png" />
|
||||
<Resource Include="Resources\DetailPage\Polygon.png" />
|
||||
<Resource Include="Resources\DetailPage\Print.png" />
|
||||
<Resource Include="Resources\DetailPage\Reset.png" />
|
||||
<Resource Include="Resources\DetailPage\Rubber.png" />
|
||||
<Resource Include="Resources\DetailPage\Save.png" />
|
||||
<Resource Include="Resources\DetailPage\ZoomAll.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Resource Include="Resources\NewIcons\LightArrowOff.png" />
|
||||
<Resource Include="Resources\NewIcons\LightArrowOn.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent>IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\OmagOFFICE\OmagOFFICER32.exe
|
||||
|
||||
@@ -334,6 +334,12 @@ Public Class MachiningTabVM
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Friend Sub OnMouseDownScene_DoubleClick(sender As Object, e As Windows.Forms.MouseEventArgs)
|
||||
If m_MachiningMode = MachiningModeOpt.SPLIT Then
|
||||
OmagOFFICEMap.refSplitModeVM.OnMouseDownScene_DoubleClick(sender, e)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#End Region ' EVENTS
|
||||
|
||||
End Class
|
||||
|
||||
@@ -21,8 +21,12 @@
|
||||
<Image Margin="1" Height="20" Width="20"
|
||||
Source="{Binding SourceImg}">
|
||||
</Image>
|
||||
<TextBlock Margin="1" Text="{Binding Name}">
|
||||
</TextBlock>
|
||||
<TextBlock Margin="1" Text="{Binding Name}"/>
|
||||
<StackPanel.InputBindings>
|
||||
<MouseBinding MouseAction="LeftDoubleClick"
|
||||
Command="{Binding Path=DataContext.OnOffCommand,
|
||||
RelativeSource={RelativeSource AncestorType=UserControl, Mode=FindAncestor }}"/>
|
||||
</StackPanel.InputBindings>
|
||||
</StackPanel>
|
||||
</DataTemplate>
|
||||
</ListBox.ItemTemplate>
|
||||
@@ -40,6 +44,7 @@
|
||||
</DataTrigger>
|
||||
</Style.Triggers>
|
||||
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
|
||||
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
|
||||
</Style>
|
||||
</ListBox.ItemContainerStyle>
|
||||
</ListBox>
|
||||
@@ -47,21 +52,27 @@
|
||||
|
||||
<StackPanel HorizontalAlignment="Center" Orientation="Horizontal" Margin="0,0,0,2.5">
|
||||
|
||||
<Button Grid.Column="1"
|
||||
<Button
|
||||
IsEnabled="{Binding bEnabledCommandMove}"
|
||||
Style="{StaticResource OptionPanel_Button}"
|
||||
Command="{Binding MoveUpCommand}"
|
||||
Margin="0,0,0.5,0">
|
||||
<Image Source="/Resources/NestingTab/UpArrow.png"/>
|
||||
</Button>
|
||||
<Button Grid.Column="2"
|
||||
<Button
|
||||
IsEnabled="{Binding bEnabledCommandMove}"
|
||||
Style="{StaticResource OptionPanel_Button}"
|
||||
Command="{Binding MoveDownCommand}"
|
||||
Margin="0.5,0,0,0">
|
||||
<Image Source="/Resources/NestingTab/DownArrow.png"/>
|
||||
</Button>
|
||||
|
||||
<ToggleButton ToolTip="{Binding LayNbArrTgBtnMsg}"
|
||||
Style="{StaticResource Split_ToggleButton_Img}"
|
||||
IsChecked="{Binding LayNbArrTgBtn_IsChecked}"
|
||||
Height="20" Width="20"
|
||||
Margin="10,0,1,0">
|
||||
<Image Source="{Binding LayNbArrTgBtnImg}"/>
|
||||
</ToggleButton>
|
||||
</StackPanel>
|
||||
|
||||
<Border Style="{StaticResource Border}" Margin="0,1,0,5">
|
||||
@@ -504,7 +515,7 @@
|
||||
Style="{StaticResource ImgButton}"/>
|
||||
</StackPanel>
|
||||
</Button>
|
||||
|
||||
|
||||
</StackPanel>
|
||||
|
||||
</UniformGrid>
|
||||
@@ -552,7 +563,7 @@
|
||||
</Button>
|
||||
</StackPanel>
|
||||
|
||||
|
||||
|
||||
<StackPanel Margin="1,0,0,0">
|
||||
<Button ToolTip="{Binding ModifEndMsg}"
|
||||
Style="{StaticResource Split_Button_Img}"
|
||||
|
||||
@@ -355,6 +355,33 @@ Public Class SplitModeVM
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private m_LayNbArrTgBtn_IsChecked As Boolean = False
|
||||
Public Property LayNbArrTgBtn_IsChecked As Boolean
|
||||
Get
|
||||
Return m_LayNbArrTgBtn_IsChecked
|
||||
End Get
|
||||
Set(value As Boolean)
|
||||
' imposto il valore della bottone, dell'icona e del messaggio
|
||||
SetLayNbArrTgBtn_IsChecked(value)
|
||||
WriteMainPrivateProfileString(S_GENERAL, K_SHOWNBARROW, If(m_LayNbArrTgBtn_IsChecked, "1", "0"))
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Sub SetLayNbArrTgBtn_IsChecked(value As Boolean)
|
||||
m_LayNbArrTgBtn_IsChecked = value
|
||||
If value Then
|
||||
StatusOffNumbArrow(GDB_ST.ON_)
|
||||
m_LayNbArrTgBtnMsg = "Hide"
|
||||
m_LayNbArrTgBtnImg = "/Resources/NewIcons/LightArrowOn.png"
|
||||
Else
|
||||
StatusOffNumbArrow(GDB_ST.OFF)
|
||||
m_LayNbArrTgBtnMsg = "Show"
|
||||
m_LayNbArrTgBtnImg = "/Resources/NewIcons/LightArrowOff.png"
|
||||
End If
|
||||
NotifyPropertyChanged(NameOf(LayNbArrTgBtnMsg))
|
||||
NotifyPropertyChanged(NameOf(LayNbArrTgBtnImg))
|
||||
End Sub
|
||||
|
||||
#Region "SPLIT CUT"
|
||||
|
||||
Private m_CreateCut_IsChecked As Boolean
|
||||
@@ -583,6 +610,20 @@ Public Class SplitModeVM
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private Property m_LayNbArrTgBtnMsg As String = "Show"
|
||||
Public ReadOnly Property LayNbArrTgBtnMsg As String
|
||||
Get
|
||||
Return m_LayNbArrTgBtnMsg
|
||||
End Get
|
||||
End Property
|
||||
|
||||
Private Property m_LayNbArrTgBtnImg As String = "/Resources/NewIcons/LightArrowOn.png"
|
||||
Public ReadOnly Property LayNbArrTgBtnImg As String
|
||||
Get
|
||||
Return m_LayNbArrTgBtnImg
|
||||
End Get
|
||||
End Property
|
||||
|
||||
#End Region ' Messages
|
||||
|
||||
' Definizione comandi
|
||||
@@ -615,6 +656,8 @@ Public Class SplitModeVM
|
||||
Sub New()
|
||||
' Creo riferimento a questa classe in OmagOFFICEMap
|
||||
OmagOFFICEMap.SetRefSplitModeVM(Me)
|
||||
' leggo la configurazione
|
||||
SetLayNbArrTgBtn_IsChecked((GetMainPrivateProfileInt(S_GENERAL, K_SHOWNBARROW, 1) <> 0))
|
||||
End Sub
|
||||
|
||||
#End Region ' CONSTRUCTOR
|
||||
@@ -1163,6 +1206,11 @@ Public Class SplitModeVM
|
||||
' Aggiungo a numero info con identificativo della lavorazione e viceversa
|
||||
EgtSetInfo(nNbrId, "MId", m_MachiningList(nI).m_nId)
|
||||
EgtSetInfo(m_MachiningList(nI).m_nId, "NbrId", nNbrId)
|
||||
If Not m_LayNbArrTgBtn_IsChecked Then
|
||||
EgtSetStatus(nNbrId, GDB_ST.OFF)
|
||||
Else
|
||||
EgtSetStatus(nNbrId, GDB_ST.ON_)
|
||||
End If
|
||||
End If
|
||||
' Se taglio con lama, metto la direzione accanto al numero
|
||||
If m_MachiningList(nI).m_nType = MCH_OY.SAWING Then
|
||||
@@ -1174,6 +1222,11 @@ Public Class SplitModeVM
|
||||
' Aggiungo a freccia info con identificativo della lavorazione e viceversa
|
||||
EgtSetInfo(nArrId, "MId", m_MachiningList(nI).m_nId)
|
||||
EgtSetInfo(m_MachiningList(nI).m_nId, "ArrId", nArrId)
|
||||
If Not m_LayNbArrTgBtn_IsChecked Then
|
||||
EgtSetStatus(nArrId, GDB_ST.OFF)
|
||||
Else
|
||||
EgtSetStatus(nArrId, GDB_ST.ON_)
|
||||
End If
|
||||
Else
|
||||
m_MachiningList(nI).m_nArrId = GDB_ID.NULL
|
||||
End If
|
||||
@@ -1290,6 +1343,13 @@ Public Class SplitModeVM
|
||||
EgtResetMark(nNbrId)
|
||||
EgtResetMark(nArrId)
|
||||
End If
|
||||
If Not m_LayNbArrTgBtn_IsChecked And Not bMark Then
|
||||
EgtSetStatus(nNbrId, GDB_ST.OFF)
|
||||
EgtSetStatus(nArrId, GDB_ST.OFF)
|
||||
Else
|
||||
EgtSetStatus(nNbrId, GDB_ST.ON_)
|
||||
EgtSetStatus(nArrId, GDB_ST.ON_)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub ColorNumberArrow(nI As Integer)
|
||||
@@ -3040,6 +3100,12 @@ Public Class SplitModeVM
|
||||
Return bOk
|
||||
End Function
|
||||
|
||||
Friend Sub OnMouseDownScene_DoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
||||
OnMouseDownScene(sender, e)
|
||||
If m_nSelected = GDB_ID.NULL Then Return
|
||||
OnOff(Nothing)
|
||||
End Sub
|
||||
|
||||
Friend Sub OnMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs)
|
||||
' Se tasto premuoto allora attivo la selezione multipla da Scena
|
||||
Dim bKeyCtrlPressed = (Keyboard.Modifiers And ModifierKeys.Control) > 0
|
||||
@@ -3539,6 +3605,20 @@ Public Class SplitModeVM
|
||||
DeselectWJBridgesPart()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Friend Sub StatusOffNumbArrow(Status As GDB_ST)
|
||||
For Each Item In m_MachiningList
|
||||
Dim nOperId As Integer = Item.m_nId
|
||||
Dim nNbrId As Integer = Item.m_nNbrId
|
||||
Dim nArrId As Integer = Item.m_nArrId
|
||||
Dim nInd As Integer = m_MachiningList.IndexOf(Item)
|
||||
If nInd >= 0 AndAlso nInd < m_ItemList.Count AndAlso Not m_ItemList(nInd).IsSelected Then
|
||||
EgtSetStatus(nNbrId, Status)
|
||||
EgtSetStatus(nArrId, Status)
|
||||
End If
|
||||
Next
|
||||
EgtDraw()
|
||||
End Sub
|
||||
#End Region ' EVENTS
|
||||
|
||||
'-----------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -407,6 +407,8 @@ Public Class NestingTabVM
|
||||
m_CsvImportWindow = New CsvWindowV(Application.Current.MainWindow, New CsvWindowVM)
|
||||
m_CsvImportWindow.Show()
|
||||
End If
|
||||
' Per sicurezza spengo la visualizzazione di tutti i percorsi di lavorazione
|
||||
HideAllMachinings()
|
||||
EgtZoom(ZM.ALL)
|
||||
Return True
|
||||
End Function
|
||||
|
||||
@@ -10,12 +10,10 @@
|
||||
d:DesignHeight="300" d:DesignWidth="300"
|
||||
Title="OmagPHOTO"
|
||||
ResizeMode="NoResize" ShowInTaskbar="False">
|
||||
<EgtPHOTOLib:ProjectSlabV DataContext="{StaticResource ProjectSlabVM}"/>
|
||||
<!--<DockPanel>
|
||||
<Grid>
|
||||
<ContentControl Content="{Binding OmagPhotoContent}"/>
|
||||
|
||||
</Grid>
|
||||
</DockPanel>-->
|
||||
<DockPanel>
|
||||
|
||||
<!--Progetto corrente-->
|
||||
<EgtPHOTOLib:ProjectSlabV DataContext="{StaticResource ProjectSlabVM}"/>
|
||||
|
||||
</DockPanel>
|
||||
</EgtWPFLib5:EgtCustomWindow>
|
||||
|
||||
@@ -2,13 +2,11 @@
|
||||
|
||||
'Private m_OmagPhotoVM As OmagPhotoVM
|
||||
|
||||
'Sub New(Owner As Window, OmagPhotoVM As OmagPhotoVM)
|
||||
'Public Sub New(Owner As Window)
|
||||
' MyBase.New(Owner)
|
||||
' ' This call is required by the designer.
|
||||
' 'This call Is required by the designer.
|
||||
' InitializeComponent()
|
||||
' Me.DataContext = OmagPhotoVM
|
||||
' ' Assegno al riferimento locale al VM il VM preso dal DataContext
|
||||
' m_OmagPhotoVM = OmagPhotoVM
|
||||
|
||||
'End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -1091,9 +1091,12 @@ Public Class RawPartTabVM
|
||||
' Creo riferimento a questa classe in OmagOFFICEMap
|
||||
OmagOFFICEMap.SetRefRawPartTabVM(Me)
|
||||
If OmagOFFICEMap.refMainWindowVM.MainWindowM.m_SlabDB Then
|
||||
'Me.OmagPhoto = New OmagPhotoV(Application.Current.MainWindow(), New OmagPhotoVM)
|
||||
' Me.OmagPhoto = New OmagPhotoV(Application.Current.MainWindow())
|
||||
Me.OmagPhoto = New OmagPhotoV
|
||||
If Not PhotoMap.ContinueApplication Then End
|
||||
If Not PhotoMap.ContinueApplication Then
|
||||
EgtOutLog("Key protection denied to acces to DB photo, set configuration to image directory")
|
||||
End
|
||||
End If
|
||||
End If
|
||||
' Aggiungo voci alla lista di tipi di definizione grezzo
|
||||
m_TypeList.Add(EgtMsg(MSG_RAWPARTPAGEUC + 1))
|
||||
@@ -2255,6 +2258,13 @@ Public Class RawPartTabVM
|
||||
PhotoMap.refSearchPanelVM.InitSearchPanel()
|
||||
' inizializzo la ricerca a tutti le lastre di tipo "AVAILABLE" (=1)
|
||||
PhotoMap.refSearchPanelVM.State = 1
|
||||
|
||||
' Resetto la data corrente per la prima ricerca
|
||||
PhotoMap.refSearchPanelVM.StartAddedDate = Nothing
|
||||
PhotoMap.refSearchPanelVM.NotifyPropertyChanged("StartAddedDate")
|
||||
PhotoMap.refSearchPanelVM.EndAddedDate = Nothing
|
||||
PhotoMap.refSearchPanelVM.NotifyPropertyChanged("EndAddedDate")
|
||||
|
||||
PhotoMap.refSearchPanelVM.Search()
|
||||
' inserisco in elenco solo i materiali della macchina corrente
|
||||
AddHandler PhotoMap.refOptionPanelVM.SlabIsSelectedOFFICE, AddressOf OmagOFFICEMap.refRawPartTabVM.ClosePhotoWnd
|
||||
@@ -2264,10 +2274,9 @@ Public Class RawPartTabVM
|
||||
m_RefreshTimer.Interval = TimeSpan.FromMilliseconds(2000)
|
||||
m_RefreshTimer.Start()
|
||||
|
||||
' apro la finestra per accedere al DB delle lastre
|
||||
' apro la finestra per accedere al DB delle lastre (Devo crea una nuova istanza perchè la chiusura elimina la stessa)
|
||||
Me.OmagPhoto = New OmagPhotoV
|
||||
OmagPhoto.ShowDialog()
|
||||
|
||||
Me.OmagPhoto.ShowDialog()
|
||||
m_RefreshTimer.Stop()
|
||||
|
||||
EgtSetCurrentContext(EgtPHOTOLib.MainData.PreviousContext)
|
||||
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 703 B |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 637 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 610 B |
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
@@ -7,6 +7,8 @@ Public Class SideEntityControlVM
|
||||
|
||||
Private Const INFO_ALZFRONT As String = "AF"
|
||||
|
||||
Private ColorText As New Color3d(0, 0, 0)
|
||||
|
||||
Public Enum ModeOpt As Integer
|
||||
SIDEANGLE = 0 ' inclina lato
|
||||
DRIP = 1 ' incidi da sotto
|
||||
@@ -543,7 +545,7 @@ Public Class SideEntityControlVM
|
||||
NotifyPropertyChanged("SideEntityList")
|
||||
m_SideAngleCheck = If(GetMainPrivateProfileInt(S_COMPO, K_SIDEMODE, 0) = 0, True, False)
|
||||
SideAngleEntity.dMaxSideAng = GetMainPrivateProfileDouble(S_SIDES, K_MAXSIDEANGLE, SideAngleEntity.STD_MAXSIDEANG)
|
||||
|
||||
GetMainPrivateProfileColor(S_SIDES, K_TEXTCOLORENT, ColorText)
|
||||
'------------------ DEFINIZIONE LISTA LATI
|
||||
' creo la lista dei parametri
|
||||
If CallingWindow = CallingWindowOpt.COMPO Then
|
||||
@@ -704,7 +706,7 @@ Public Class SideEntityControlVM
|
||||
Else
|
||||
TextLayer = EgtCreateGroup(PartId)
|
||||
EgtSetName(TextLayer, SIDE_ANGLE_LAYER)
|
||||
EgtSetColor(TextLayer, New Color3d(0, 0, 0))
|
||||
EgtSetColor(TextLayer, ColorText)
|
||||
End If
|
||||
|
||||
' Se modalità angoli di inclinazione...
|
||||
@@ -773,7 +775,7 @@ Public Class SideEntityControlVM
|
||||
If TextLayer = GDB_ID.NULL Then
|
||||
TextLayer = EgtCreateGroup(PartId)
|
||||
EgtSetName(TextLayer, SIDE_ANGLE_LAYER)
|
||||
EgtSetColor(TextLayer, New Color3d(0, 0, 0))
|
||||
EgtSetColor(TextLayer, ColorText)
|
||||
End If
|
||||
|
||||
Dim PrevLine As Integer = EgtGetLastInGroup(LoopId)
|
||||
@@ -1515,20 +1517,22 @@ Public Class SideEntityControlVM
|
||||
End Sub
|
||||
|
||||
Shared Sub WriteSideAngleForNest(nCtx As Integer)
|
||||
Dim LocalColor As New Color3d(0, 0, 0)
|
||||
GetMainPrivateProfileColor(S_SIDES, K_TEXTCOLORENT, LocalColor)
|
||||
' Imposto contesto corrente
|
||||
EgtSetCurrentContext(nCtx)
|
||||
Dim PartId As Integer = EgtGetFirstPart()
|
||||
While PartId <> GDB_ID.NULL
|
||||
' Se richiesti lati paralleli con misura sul top come in TRF, verifico e aggiusto
|
||||
If GetMainPrivateProfileInt( S_SIDES, K_PARSIDE_AS_TRF, 0) <> 0 Then
|
||||
AdjustAsTrfParSides( PartId)
|
||||
End If
|
||||
If GetMainPrivateProfileInt(S_SIDES, K_PARSIDE_AS_TRF, 0) <> 0 Then
|
||||
AdjustAsTrfParSides(PartId)
|
||||
End If
|
||||
' Elimino eventuale precedente layer per testi
|
||||
EgtErase(EgtGetFirstNameInGroup(PartId, SIDE_ANGLE_LAYER))
|
||||
' Creo layer per testi nesting
|
||||
Dim TextLayId As Integer = EgtCreateGroup(PartId)
|
||||
EgtSetName(TextLayId, SIDE_ANGLE_LAYER)
|
||||
EgtSetColor(TextLayId, New Color3d(0, 0, 128))
|
||||
EgtSetColor(TextLayId, LocalColor)
|
||||
' Opero su geometria esterna pezzo
|
||||
WriteSideAngleOnLoop(EgtGetFirstNameInGroup(PartId, NAME_OUTLOOP), TextLayId)
|
||||
' Ciclo su geometria interna pezzo
|
||||
|
||||
@@ -74,12 +74,12 @@ Public Class TopCommandBarVM
|
||||
End Property
|
||||
Public ReadOnly Property ExportToolTip As String
|
||||
Get
|
||||
Return EgtMsg( 91505) 'Esporta in macchina
|
||||
Return EgtMsg(91505) 'Esporta in macchina
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property DxfOutToolTip As String
|
||||
Get
|
||||
Return EgtMsg( 91506) 'Esporta DXF
|
||||
Return EgtMsg(91506) 'Esporta DXF
|
||||
End Get
|
||||
End Property
|
||||
Public ReadOnly Property OptionsToolTip As String
|
||||
@@ -226,6 +226,18 @@ Public Class TopCommandBarVM
|
||||
''' Execute the SaveAs. This method is invoked by the SaveAsCommand.
|
||||
''' </summary>
|
||||
Public Sub SaveAs(ByVal param As Object)
|
||||
'Dim SaveFileDialog As New System.Windows.Forms.SaveFileDialog()
|
||||
'SaveFileDialog.Filter = "(*.nge) |*.nge"
|
||||
'SaveFileDialog.FilterIndex = 2
|
||||
'' avvio la ricerca nell'ultimo direttorio aperto
|
||||
'Dim sFilePath As String = String.Empty
|
||||
'EgtGetCurrFilePath(sFilePath)
|
||||
'SaveFileDialog.InitialDirectory = Path.GetExtension(sFilePath)
|
||||
'SaveFileDialog.FileName = Path.GetFileName(sFilePath)
|
||||
'' apro la finestra di dialogo
|
||||
'Dim bChangeProject As Boolean = True
|
||||
'If SaveFileDialog.ShowDialog() <> System.Windows.Forms.DialogResult.OK Then Return
|
||||
'Dim sNewFilePath As String = SaveFileDialog.FileName
|
||||
' non posso avere la stessa lastra in due progetti -> gestita da DataBase
|
||||
OmagOFFICEMap.refSceneHostVM.SaveAsProject()
|
||||
End Sub
|
||||
@@ -238,12 +250,12 @@ Public Class TopCommandBarVM
|
||||
''' Returns a command that do Export.
|
||||
''' </summary>
|
||||
Public ReadOnly Property ExportCommand As ICommand
|
||||
Get
|
||||
If m_cmdExport Is Nothing Then
|
||||
m_cmdExport = New Command(AddressOf Export)
|
||||
End If
|
||||
Return m_cmdExport
|
||||
End Get
|
||||
Get
|
||||
If m_cmdExport Is Nothing Then
|
||||
m_cmdExport = New Command(AddressOf Export)
|
||||
End If
|
||||
Return m_cmdExport
|
||||
End Get
|
||||
End Property
|
||||
|
||||
''' <summary>
|
||||
@@ -436,4 +448,42 @@ Public Class TopCommandBarVM
|
||||
|
||||
#End Region ' Commands
|
||||
|
||||
Public Shared Sub SetInfoProj(Optional sFilePath As String = "")
|
||||
EgtOutLog(" *** SAVE PROJECT ***")
|
||||
' Recupero l'ID della macchinata corrente
|
||||
Dim CurrGrpId As Integer = EgtGetCurrMachGroup()
|
||||
' Path completa del progetto corrente
|
||||
If String.IsNullOrEmpty(sFilePath) Then EgtGetCurrFilePath(sFilePath)
|
||||
Dim nPartInRawsProj As Integer = 0
|
||||
Dim nGrpId = EgtGetFirstMachGroup()
|
||||
While nGrpId <> GDB_ID.NULL
|
||||
' Imposto la macchinata corrente
|
||||
EgtSetCurrMachGroup(nGrpId)
|
||||
' recupero il primo grezzo della macchinata corrente
|
||||
Dim nRawId As Integer = EgtGetFirstRawPart()
|
||||
While nRawId <> GDB_ID.NULL
|
||||
nPartInRawsProj += EgtGetPartInRawPartCount(nRawId)
|
||||
nRawId = EgtGetNextRawPart(nRawId)
|
||||
End While
|
||||
nGrpId = EgtGetNextMachGroup(nGrpId)
|
||||
End While
|
||||
nGrpId = EgtGetFirstMachGroup()
|
||||
While nGrpId <> GDB_ID.NULL
|
||||
' percorso progetto
|
||||
EgtSetInfo(nGrpId, "ProjPath", sFilePath)
|
||||
' Anno/Mese/Giorno/Ora/min di salvataggio
|
||||
EgtSetInfo(nGrpId, "Released", DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"))
|
||||
' numero di pezzi presenti nel progetto
|
||||
EgtSetInfo(nGrpId, "NbrProjParts", nPartInRawsProj.ToString)
|
||||
nGrpId = EgtGetNextMachGroup(nGrpId)
|
||||
End While
|
||||
EgtOutLog(" ProjPath:" & sFilePath)
|
||||
EgtOutLog(" Released:" & DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss"))
|
||||
EgtOutLog(" NbrProjParts:" & nPartInRawsProj.ToString)
|
||||
' Reimposto la macchina corrente
|
||||
EgtSetCurrMachGroup(CurrGrpId)
|
||||
' Nascondo tutte le lavorazioni
|
||||
CamAuto.HideAllMachinings()
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||