diff --git a/CamAuto.vb b/CamAuto.vb index 9b89712..a859b66 100644 --- a/CamAuto.vb +++ b/CamAuto.vb @@ -239,6 +239,7 @@ Friend Module CamAuto End If ElseIf nType = MCH_OY.DRILLING Then If String.Compare(sTool, m_MainWindow.m_CurrentMachine.sCurrDrill) <> 0 And + String.Compare(sTool, m_MainWindow.m_CurrentMachine.sCurrDripDrill) <> 0 And Not FindToolOnChanger(sTool) Then bOk = False If sMissingTools.IndexOf(sTool) = -1 Then @@ -544,6 +545,7 @@ Friend Module CamAuto Dim sMillMch As String = m_MainWindow.m_CurrentMachine.sCurrMilling Dim sDrillMch As String = m_MainWindow.m_CurrentMachine.sCurrDrilling Dim sDripSawMch As String = m_MainWindow.m_CurrentMachine.sCurrDripSawing + Dim sDripDrillMch As String = m_MainWindow.m_CurrentMachine.sCurrDripDrilling Dim dReducedDepth As Double = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_REDUCEDDEPTH, 1, m_MainWindow.GetMachIniFile()) Dim dHolesOffset As Double = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_HOLES_OFFSET, 0, m_MainWindow.GetMachIniFile()) Dim dHolesOverlap As Double = GetPrivateProfileDouble(S_MACH_NEST, K_MACH_HOLES_OVERLAP, 0, m_MainWindow.GetMachIniFile()) @@ -555,6 +557,7 @@ Friend Module CamAuto EgtLuaSetGlobStringVar("CAM.MILLMCH", sMillMch) EgtLuaSetGlobStringVar("CAM.DRILLMCH", sDrillMch) EgtLuaSetGlobStringVar("CAM.DRIPSAWMCH", sDripSawMch) + EgtLuaSetGlobStringVar("CAM.DRIPDRILLMCH", sDripDrillMch) EgtLuaSetGlobNumVar("CAM.REDUCEDDEPTH", dReducedDepth) EgtLuaSetGlobNumVar("CAM.HOLESOFFSET", dHolesOffset) EgtLuaSetGlobNumVar("CAM.HOLESOVERLAP", dHolesOverlap) diff --git a/ConstMachIni.vb b/ConstMachIni.vb index fb7f38e..8ede44c 100644 --- a/ConstMachIni.vb +++ b/ConstMachIni.vb @@ -156,6 +156,7 @@ Public Const K_CURRDRILL As String = "CurrDrill" Public Const K_CURRMILL As String = "CurrMill" Public Const K_CURRDRIPSAW As String = "CurrDripSaw" + Public Const K_CURRDRIPDRILL As String = "CurrDripDrill" Public Const K_CURRSAWING As String = "CurrSawing" Public Const K_CURRDRILLING As String = "CurrDrilling" Public Const K_CURRMILLING As String = "CurrMilling" @@ -164,6 +165,7 @@ Public Const K_CURRSAWSIDEFINISHING As String = "CurrSawSideFinishing" Public Const K_CURRSAWSINGLE As String = "CurrSawSingle" Public Const K_CURRDRIPSAWING As String = "CurrDripSawing" + Public Const K_CURRDRIPDRILLING As String = "CurrDripDrilling" Public Const S_MATERIALS As String = "Materials" Public Const K_CURRMATERIAL As String = "CurrMaterial" diff --git a/CurrentMachine.vb b/CurrentMachine.vb index 023fc00..d50d9b0 100644 --- a/CurrentMachine.vb +++ b/CurrentMachine.vb @@ -73,6 +73,7 @@ Public Class CurrentMachine Private m_sCurrDrill As String = String.Empty Private m_sCurrMill As String = String.Empty Private m_sCurrDripSaw As String = String.Empty + Private m_sCurrDripDrill As String = String.Empty ' Variabili che contengono le lavorazioni correntemente attive (utilizzate per definire lavorazioni nel programma) Private m_sCurrSawing As String = String.Empty @@ -83,6 +84,7 @@ Public Class CurrentMachine Private m_sCurrSawSideFinishing As String = String.Empty Private m_sCurrSawSingle As String = String.Empty Private m_sCurrDripSawing As String = String.Empty + Private m_sCurrDripDrilling As String = String.Empty ' Spessore sottopezzo Private m_dAdditionalTable As Double = 0 @@ -394,6 +396,17 @@ Public Class CurrentMachine End Set End Property + Friend Property sCurrDripDrill As String + Get + Return m_sCurrDripDrill + End Get + Set(value As String) + If WritePrivateProfileString(S_MACH_MACH, K_CURRDRIPDRILL, value, sMachIniFile) Then + m_sCurrDripDrill = value + End If + End Set + End Property + Friend Property sCurrSawing As String Get Return m_sCurrSawing @@ -482,6 +495,17 @@ Public Class CurrentMachine End Set End Property + Friend Property sCurrDripDrilling As String + Get + Return m_sCurrDripDrilling + End Get + Set(value As String) + If WritePrivateProfileString(S_MACH_MACH, K_CURRDRIPDRILLING, value, sMachIniFile) Then + m_sCurrDripDrilling = value + End If + End Set + End Property + Friend Property dAdditionalTable As Double Get Select Case GetCurrentTable() @@ -807,6 +831,8 @@ Public Class CurrentMachine GetPrivateProfileString(S_MACH_MACH, K_CURRMILL, Nothing, m_sCurrMill, sMachIniFile) ' lama da sotto GetPrivateProfileString(S_MACH_MACH, K_CURRDRIPSAW, Nothing, m_sCurrDripSaw, sMachIniFile) + ' foretto da sotto + GetPrivateProfileString(S_MACH_MACH, K_CURRDRIPDRILL, Nothing, m_sCurrDripDrill, sMachIniFile) ' Leggo lavorazioni correnti ' lama @@ -825,6 +851,8 @@ Public Class CurrentMachine GetPrivateProfileString(S_MACH_MACH, K_CURRSAWSINGLE, Nothing, m_sCurrSawSingle, sMachIniFile) ' lama da sotto GetPrivateProfileString(S_MACH_MACH, K_CURRDRIPSAWING, Nothing, m_sCurrDripSawing, sMachIniFile) + ' foretto da sotto + GetPrivateProfileString(S_MACH_MACH, K_CURRDRIPDRILLING, Nothing, m_sCurrDripDrilling, sMachIniFile) ' Leggo numero di portautensili m_ToolChangerNbr = GetPrivateProfileInt(S_TOOLCHANGER, K_NUMBER, 0, sMachIniFile) diff --git a/RawPartPageUC.xaml.vb b/RawPartPageUC.xaml.vb index 0b89f12..5489338 100644 --- a/RawPartPageUC.xaml.vb +++ b/RawPartPageUC.xaml.vb @@ -603,6 +603,12 @@ Public Class RawPartPageUC End While ' Nascondo i pezzi parcheggiati HideParkedParts() + ' Aggiusto eventuali solidi per lavorazioni da sotto + nPartId = EgtGetFirstPartInRawPart(m_CurrProjPage.m_nRawId) + While nPartId <> GDB_ID.NULL + UpdateSolidForDrip(nPartId) + nPartId = EgtGetNextPartInRawPart(nPartId) + End While ' Se altrimenti progetto con cornici ElseIf nPrjType = CurrentProjectPageUC.PRJ_TYPE.FRAMES Then ' Reinserisco tutte le lavorazioni delle cornici diff --git a/VacuumCups.vb b/VacuumCups.vb index 3b476bf..5474c5d 100644 --- a/VacuumCups.vb +++ b/VacuumCups.vb @@ -328,7 +328,7 @@ Module VacuumCups Dim dLen, dAngVertDeg, dAngOrizzDeg As Double frMinRect.VersX().ToSpherical(dLen, dAngVertDeg, dAngOrizzDeg) dRotAngDeg = dAngOrizzDeg - If b3Vac.DimY() > b3Vac.DimX() Then dRotAngDeg -= 90 + If b3Vac.DimY() > b3Vac.DimX() + EPS_SMALL Then dRotAngDeg -= 90 While dRotAngDeg >= 90 dRotAngDeg -= 180 End While