OmagCUT 1.6o1 :
- completamento gestione tagli inclinati.
This commit is contained in:
@@ -395,6 +395,7 @@ Public Module CamAuto
|
||||
EgtLuaSetGlobNumVar("CAM.HOLESOFFSET", dHolesOffset)
|
||||
EgtLuaSetGlobNumVar("CAM.HOLESOVERLAP", dHolesOverlap)
|
||||
EgtLuaSetGlobNumVar("CAM.CORNERSAFETY", dCornerSafety)
|
||||
EgtLuaSetGlobNumVar("CAM.RAWHEIGHT", GetRawHeight())
|
||||
Return True
|
||||
End Function
|
||||
|
||||
|
||||
@@ -105,6 +105,12 @@ Module ConstGen
|
||||
Public Const NAME_PV_PRECUT As String = "PRC"
|
||||
' Nome contorno post-taglio
|
||||
Public Const NAME_PV_POSTCUT As String = "POC"
|
||||
' Nome contorno in basso taglio
|
||||
Public Const NAME_PV_DOWN_CUT As String = "DCUT"
|
||||
' Nome contorno in basso pre-taglio
|
||||
Public Const NAME_PV_DOWN_PRECUT As String = "DPRC"
|
||||
' Nome contorno in basso post-taglio
|
||||
Public Const NAME_PV_DOWN_POSTCUT As String = "DPOC"
|
||||
' Info in lavorazione taglio per attacco originale
|
||||
Public Const INFO_MCH_ORILEADIN As String = "OriLI"
|
||||
' Info in lavorazione taglio per uscita originale
|
||||
|
||||
@@ -153,7 +153,7 @@ Public Class MoveRawPartPage
|
||||
Else
|
||||
m_bPerp = False
|
||||
End If
|
||||
' Aggirono interfaccia per taglio perpendicolare
|
||||
' Aggiorno interfaccia per taglio perpendicolare
|
||||
If m_bPerp Then
|
||||
LeftBtn.Visibility = Windows.Visibility.Hidden
|
||||
RightBtn.Visibility = Windows.Visibility.Hidden
|
||||
|
||||
@@ -60,5 +60,5 @@ Imports System.Windows
|
||||
' by using the '*' as shown below:
|
||||
' <Assembly: AssemblyVersion("1.0.*")>
|
||||
|
||||
<Assembly: AssemblyVersion("1.6.14.13")>
|
||||
<Assembly: AssemblyFileVersion("1.6.14.13")>
|
||||
<Assembly: AssemblyVersion("1.6.15.1")>
|
||||
<Assembly: AssemblyFileVersion("1.6.15.1")>
|
||||
|
||||
@@ -375,6 +375,8 @@ Public Class NestPageUC
|
||||
Public Function InsertOnePart(ByVal nId As Integer) As Boolean
|
||||
' Se esiste grezzo e pezzo in parcheggio, lo metto nella tavola
|
||||
If m_nRawId <> GDB_ID.NULL AndAlso EgtIsPart(nId) Then
|
||||
' Sistemazioni per eventuali lati esterni inclinati
|
||||
EgtCalcFlatPartDownRegion(nId, m_ptRawMax.z - m_ptRawMin.z)
|
||||
' Dimensioni del pezzo
|
||||
Dim ptPartMin, ptPartMax As Point3d
|
||||
If Not EgtGetBBox(nId, GDB_BB.IGNORE_DIM + GDB_BB.IGNORE_TEXT, ptPartMin, ptPartMax) Then Return False
|
||||
@@ -448,6 +450,8 @@ Public Class NestPageUC
|
||||
(m_nRawId <> GDB_ID.NULL AndAlso EgtGetParent(nId) = m_nRawId) Then
|
||||
' Rimuovo le lavorazioni
|
||||
EraseMachinings(nId)
|
||||
' Elimino eventuali modifiche per lati esterni inclinati
|
||||
EgtCalcFlatPartDownRegion(nId, 0)
|
||||
' Parcheggio
|
||||
EgtRemovePartFromRawPart(nId)
|
||||
EgtSetStatus(nId, GDB_ST.ON_)
|
||||
|
||||
@@ -220,6 +220,8 @@ Public Class OpenPageUC
|
||||
Dim nMachGrpId As Integer = EgtGetFirstMachGroup()
|
||||
EgtSetCurrMachGroup(nMachGrpId)
|
||||
EgtShowOnlyTable(True)
|
||||
' visualizzo anche eventuali pezzi parcheggiati
|
||||
ShowParkedParts()
|
||||
Else
|
||||
' Formato sconosciuto
|
||||
bOk = False
|
||||
|
||||
+23
-24
@@ -84,8 +84,12 @@ Public Class SplitPageUC
|
||||
Else
|
||||
Mach.m_nInterf = FMI_TYPE.NONE
|
||||
End If
|
||||
' se taglio con lama, recupero l'angolo di fianco
|
||||
EgtSetCurrMachining(nOperId)
|
||||
Dim dSideAng As Double = 90
|
||||
EgtGetMachiningParam(MCH_MP.SIDEANGLE, dSideAng)
|
||||
' verifica se trasformabile in un taglio di separazione
|
||||
If Mach.m_sLay = NAME_OUTLOOP And Mach.m_nInterf = FMI_TYPE.NONE Then
|
||||
If Math.Abs(dSideAng) < EPS_ANG_SMALL And Mach.m_sLay = NAME_OUTLOOP And Mach.m_nInterf = FMI_TYPE.NONE Then
|
||||
Dim nRes As Integer = EgtVerifyCutAsSplitting(nOperId)
|
||||
Mach.m_bCanAllStart = (nRes And CAR_RES.LI_OK) <> 0
|
||||
Mach.m_bCanAllEnd = (nRes And CAR_RES.LO_OK) <> 0
|
||||
@@ -159,27 +163,6 @@ Public Class SplitPageUC
|
||||
m_CurrInd = nInd
|
||||
EgtDraw()
|
||||
End If
|
||||
' Se tipo movimento perpendicolare
|
||||
If m_bPerp Then
|
||||
' Verifico se c'è già un taglio di separazione e non è il selezionato
|
||||
Dim bOtherSplit As Boolean = False
|
||||
For nI As Integer = 0 To m_MachiningList.Count() - 1
|
||||
If nI <> nInd And (m_MachiningList(nI).m_bAllStart Or m_MachiningList(nI).m_bAllEnd) Then
|
||||
bOtherSplit = True
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
' Non permetto due tagli di separazione
|
||||
If bOtherSplit Then
|
||||
CutBtn.IsEnabled = False
|
||||
CutStartBtn.IsEnabled = False
|
||||
CutEndBtn.IsEnabled = False
|
||||
Else
|
||||
CutBtn.IsEnabled = True
|
||||
CutStartBtn.IsEnabled = True
|
||||
CutEndBtn.IsEnabled = True
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub MoveUpBtn_Click(sender As Object, e As RoutedEventArgs) Handles MoveUpBtn.Click
|
||||
@@ -581,8 +564,15 @@ Public Class SplitPageUC
|
||||
Private Sub EnableNextButton()
|
||||
' Se abilitato manipolatore
|
||||
If m_MainWindow.GetKeyOption(MainWindow.KEY_OPT.MAN_MANIP) Then
|
||||
' Ci deve essere almeno 1 taglio disabilitato e almeno 1 passante
|
||||
NextBtn.IsEnabled = (GetDisabledCutsCount() > 0 And GetSplitCutsCount() > 0)
|
||||
' Se allontanamento perpendicolare
|
||||
If m_bPerp Then
|
||||
' Ci deve essere almeno 1 taglio disabilitato e 1 e 1 solo passante
|
||||
NextBtn.IsEnabled = (GetDisabledCutsCount() > 0 And GetSplitCutsCount() = 1)
|
||||
' Altrimenti
|
||||
Else
|
||||
' Ci deve essere almeno 1 taglio disabilitato e almeno 1 passante
|
||||
NextBtn.IsEnabled = (GetDisabledCutsCount() > 0 And GetSplitCutsCount() > 0)
|
||||
End If
|
||||
Else
|
||||
NextBtn.IsEnabled = False
|
||||
End If
|
||||
@@ -709,18 +699,27 @@ Public Class SplitPageUC
|
||||
Dim nCutId As Integer = EgtGetFirstNameInGroup(nGrpId, NAME_PV_CUT)
|
||||
Dim nPrcId As Integer = EgtGetFirstNameInGroup(nGrpId, NAME_PV_PRECUT)
|
||||
Dim nPocId As Integer = EgtGetFirstNameInGroup(nGrpId, NAME_PV_POSTCUT)
|
||||
Dim nDwnCutId As Integer = EgtGetFirstNameInGroup(nGrpId, NAME_PV_DOWN_CUT)
|
||||
Dim nDwnPrcId As Integer = EgtGetFirstNameInGroup(nGrpId, NAME_PV_DOWN_PRECUT)
|
||||
Dim nDwnPocId As Integer = EgtGetFirstNameInGroup(nGrpId, NAME_PV_DOWN_POSTCUT)
|
||||
If Not bEnabled Then
|
||||
EgtSetColor(nCutId, COL_MCH_DISABLED)
|
||||
EgtSetColor(nDwnCutId, COL_MCH_DISABLED)
|
||||
Dim bFreeStart As Boolean = (nInterf And FMI_TYPE.LI) <> FMI_TYPE.LI
|
||||
EgtSetColor(nPrcId, If(bFreeStart, COL_MCH_DISABLED, COL_MCH_DIS_INTERF))
|
||||
EgtSetColor(nDwnPrcId, If(bFreeStart, COL_MCH_DISABLED, COL_MCH_DIS_INTERF))
|
||||
Dim bFreeEnd As Boolean = (nInterf And FMI_TYPE.LO) <> FMI_TYPE.LO
|
||||
EgtSetColor(nPocId, If(bFreeEnd, COL_MCH_DISABLED, COL_MCH_DIS_INTERF))
|
||||
EgtSetColor(nDwnPocId, If(bFreeEnd, COL_MCH_DISABLED, COL_MCH_DIS_INTERF))
|
||||
Else
|
||||
EgtSetColor(nCutId, COL_MCH_CUT)
|
||||
EgtSetColor(nDwnCutId, COL_MCH_CUT)
|
||||
Dim bFreeStart As Boolean = (nInterf And FMI_TYPE.LI) <> FMI_TYPE.LI
|
||||
EgtSetColor(nPrcId, If(bFreeStart, COL_MCH_FREE, COL_MCH_INTERF))
|
||||
EgtSetColor(nDwnPrcId, If(bFreeStart, COL_MCH_FREE, COL_MCH_INTERF))
|
||||
Dim bFreeEnd As Boolean = (nInterf And FMI_TYPE.LO) <> FMI_TYPE.LO
|
||||
EgtSetColor(nPocId, If(bFreeEnd, COL_MCH_FREE, COL_MCH_INTERF))
|
||||
EgtSetColor(nDwnPocId, If(bFreeEnd, COL_MCH_FREE, COL_MCH_INTERF))
|
||||
End If
|
||||
nGrpId = EgtGetNextGroup(nGrpId)
|
||||
End While
|
||||
|
||||
Reference in New Issue
Block a user