diff --git a/CAM/CamAuto.vb b/CAM/CamAuto.vb
index 8674f31..595b8e6 100644
--- a/CAM/CamAuto.vb
+++ b/CAM/CamAuto.vb
@@ -93,7 +93,7 @@ Friend Module CamAuto
If nPrjType = CurrentProjectPageUC.PRJ_TYPE.FLATS Then
' Reinserisco tutte le lavorazioni piane
AddMachinings(GDB_ID.NULL, nWarn)
- ' Se altrimenti progetto con cornici
+ ' Se altrimenti progetto con cornici
ElseIf nPrjType = CurrentProjectPageUC.PRJ_TYPE.FRAMES Then
' Reinserisco tutte le lavorazioni delle cornici
AddFrameMachinings(m_MainWindow.m_FrameCutPageUC.m_FrameMachiningUC.m_dStartTrim, m_MainWindow.m_FrameCutPageUC.m_FrameMachiningUC.m_dEndTrim)
@@ -155,6 +155,14 @@ Friend Module CamAuto
Return bOk
End Function
+ Friend Function ResetAllBRidges() As Boolean
+ Dim bOk As Boolean = True
+ Dim nMachGroup As Integer = EgtGetCurrMachGroup()
+ Dim nBridgesGroup As Integer = EgtGetFirstNameInGroup(nMachGroup, "Bridges")
+ bOk = EgtErase(nBridgesGroup)
+ Return bOk
+ End Function
+
' verifico che il contorno passato non sia stato separato
Friend Function VerifyOutLoopIsClosed(nIdLayerOutLoop As Integer)
Dim nIdMy As Integer = EgtGetFirstInGroup(nIdLayerOutLoop)
diff --git a/CadCuts/NestPageUC.xaml.vb b/CadCuts/NestPageUC.xaml.vb
index 6c14e25..66ad554 100644
--- a/CadCuts/NestPageUC.xaml.vb
+++ b/CadCuts/NestPageUC.xaml.vb
@@ -1175,6 +1175,8 @@ Public Class NestPageUC
m_ptPrev = ptCurr
' Terminata esecuzione di drag
m_bDragging = False
+ ' se è stato eseguito il Drag allora cancello tutti i ponticelli
+ ResetAllBRidges()
End Sub
Private Sub OnMyMouseUpScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseUpScene
diff --git a/CadCuts/SplitPageUC.xaml b/CadCuts/SplitPageUC.xaml
index dacf0fd..c7c41ff 100644
--- a/CadCuts/SplitPageUC.xaml
+++ b/CadCuts/SplitPageUC.xaml
@@ -48,8 +48,8 @@
-
-
+
+
@@ -125,6 +125,17 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CadCuts/SplitPageUC.xaml.vb b/CadCuts/SplitPageUC.xaml.vb
index 15553a8..d196fa8 100644
--- a/CadCuts/SplitPageUC.xaml.vb
+++ b/CadCuts/SplitPageUC.xaml.vb
@@ -26,6 +26,22 @@ Public Class SplitPageUC
' verifico che le lavorazioni selezionate siano omogenee (con lo stesso utensile)
Private m_bAreHomogeneous As Boolean = False
+ ' Id tagli WJ per generazione ponticelli tra due percorsi
+ Private m_nIdSelectedPartWJ_Srt As Integer = GDB_ID.NULL
+ Private m_nIdSelectedSideWJ_Srt As Integer = GDB_ID.NULL
+ Private m_nIdSelectedWaterJet_Srt As Integer = GDB_ID.NULL
+ Private m_nIdSelectedPartWJ_End As Integer = GDB_ID.NULL
+ Private m_nIdSelectedSideWJ_End As Integer = GDB_ID.NULL
+ Private m_nIdSelectedWaterJet_End As Integer = GDB_ID.NULL
+ ' Id gruppo Bridges (Nuovo da versione 30/08/2022)
+ Private m_nIdBridgesGroup As Integer = GDB_ID.NULL
+ Private m_nIdBridgeLineGroup As Integer = GDB_ID.NULL
+ Private m_nIdBridge As Integer = GDB_ID.NULL
+ Private m_ptSrtBridge As New Point3d
+ Private m_ptEndBridge As New Point3d
+ Public Const BRIDGES As String = "Bridges"
+ Public Const BRIDGELINE As String = "BridgeLine"
+
Private m_ItemList As New ObservableCollection(Of NameIdLsBxItem)
'Private m_CurrInd As Integer = -1
'Private m_CurrItems As New List(Of NameIdLsBxItem)
@@ -70,6 +86,7 @@ Public Class SplitPageUC
ModifyBtn.Content = EgtMsg(MSG_SPLITPAGEUC + 17) ' Modifica
AutoBtn.Content = EgtMsg(MSG_SPLITPAGEUC + 18) ' Auto
RestartBtn.Content = EgtMsg(MSG_SPLITPAGEUC + 19) ' Restart
+ BridgesWJBtn.ToolTip = "Bridges"
End Sub
Private Sub SplitPageUC_Loaded(sender As Object, e As EventArgs) Handles Me.Loaded
@@ -195,6 +212,176 @@ Public Class SplitPageUC
Next
End Sub
+#Region "BRIDGE"
+
+ Private Sub OnMyMouseDownSceneBridges(sender As Object, e As System.Windows.Forms.MouseEventArgs,
+ ByVal IsFirst As Boolean,
+ ByRef m_nIdSelectedSideWJ As Integer,
+ ByRef m_nIdSelectedWaterJet As Integer,
+ ByRef nIdParentPart As Integer)
+
+ ' Acquisisco punto da disegno
+ Dim CurrPoint As New Point3d
+ EgtUnProjectPoint(e.Location, CurrPoint)
+
+ ' Verifico se selezionato indicativo di pezzo
+ EgtSetObjFilterForSelWin(False, True, False, False, False)
+ Dim nSelMy As Integer
+ EgtSelect(e.Location, Scene.DIM_SEL, Scene.DIM_SEL, nSelMy)
+ Dim nIdMy As Integer = EgtGetFirstObjInSelWin()
+ While nIdMy <> GDB_ID.NULL
+ Dim sLayer As String = String.Empty
+ ' layer di origine
+ Dim nIdParent As Integer = EgtGetParent(nIdMy)
+ ' recupero il nome del Layer
+ EgtGetName(nIdParent, sLayer)
+ ' solo se il nome del layer è quello associato ad un lato esterno allora procedo con l'evidenziazione
+ If sLayer = NAME_OUTLOOP Then
+ If EgtGetType(nIdMy) = GDB_TY.CRV_ARC OrElse EgtGetType(nIdMy) = GDB_TY.CRV_COMPO OrElse EgtGetType(nIdMy) = GDB_TY.CRV_LINE Then
+ If m_nIdSelectedSideWJ <> GDB_ID.NULL Or m_nIdSelectedSideWJ = nIdMy Then
+ EgtDeselectObj(m_nIdSelectedSideWJ)
+ End If
+ ' recupero il gruppo della lavorazione associata
+ nIdParentPart = EgtGetParent(nIdParent)
+ Dim nIdPV As Integer = EgtGetFirstNameInGroup(nIdParentPart, NAME_PREVIEW)
+ ' VERIFICA: recupero l'elenco delle Preview di Tipo WaterJet associate a questo Part
+ Dim ListGroup As List(Of Integer) = m_MainWindow.m_CadCutPageUC.m_NestPage.ResearchGropuWJ(nIdParent, nIdPV)
+ ' VERIFICA: se esistono delle lavorazioni associate al percorso OutLoop di tipo Saw allora non procedo
+ Dim ListGroupSaw As List(Of Integer) = m_MainWindow.m_CadCutPageUC.m_NestPage.ResearchGropuSaw(nIdParent, nIdPV)
+ ' se non esiste almeno 1 Preview di tipo WaterJet
+ If ListGroup.Count > 0 Then
+ m_nIdSelectedSideWJ = nIdMy
+ ' Ricalcolo tutte le lavorazioni
+ Dim nWarn As Integer = 0
+ ResetAllMachinings(nWarn)
+ ' recupero l'indice del PreView che deve essere acceso per indicare la selezione
+ ListGroup = m_MainWindow.m_CadCutPageUC.m_NestPage.ResearchGropuWJ(nIdParent, nIdPV)
+ Dim nIdWJ As Integer = m_MainWindow.m_CadCutPageUC.m_NestPage.GetPVIdFromIdSide(ListGroup, nIdMy)
+ m_MainWindow.m_CadCutPageUC.m_NestPage.GetCurrentPVFromIdSide(ListGroup, nIdMy, nIdWJ, nIdParent)
+ ' recupero il punto più vicino alla curva passata
+ If IsFirst Then
+ EgtNearPoint(nIdMy, CurrPoint, GDB_RT.GLOB, m_ptSrtBridge)
+ Else
+ ' prima di confermare verifico che non ci siano interferenze
+ EgtNearPoint(nIdMy, CurrPoint, GDB_RT.GLOB, m_ptEndBridge)
+ EgtModifyCurveEndPoint(m_nIdBridge, m_ptEndBridge, GDB_RT.GLOB)
+ If VerifyInterference(m_nIdBridge) Then
+ m_CurrProjPage.ClearMessage()
+ ' salvo nel Gruppo "BridgeLine" gli dei pezzi che sono collegati
+ EgtSetInfo(EgtGetParent(m_nIdBridge), "PartStart", m_nIdSelectedPartWJ_Srt)
+ EgtSetInfo(EgtGetParent(m_nIdBridge), "PartEnd", m_nIdSelectedPartWJ_End)
+ Else
+ ' attendo la selezione di un punto valido
+ m_nIdSelectedSideWJ = GDB_ID.NULL
+ m_nIdSelectedWaterJet = GDB_ID.NULL
+ nIdParentPart = GDB_ID.NULL
+ m_CurrProjPage.ClearMessage()
+ m_CurrProjPage.SetWarningMessage("Bridge intersects part")
+ Return
+ End If
+ End If
+ m_nIdSelectedWaterJet = nIdWJ
+ ' salvo il valore del PreView evidenziato
+ EgtSetMark(nIdParentPart)
+ ' EgtSetMark(nIdWJ)
+ EgtSelectObj(nIdMy)
+ EgtDraw()
+ Exit While
+ End If
+ End If
+ End If
+ nIdMy = EgtGetNextObjInSelWin()
+ End While
+ End Sub
+
+ Private Sub OnMyMouseDownSceneBridgesDelete(sender As Object, e As System.Windows.Forms.MouseEventArgs)
+ ' Acquisisco punto da disegno
+ Dim CurrPoint As New Point3d
+ EgtUnProjectPoint(e.Location, CurrPoint)
+
+ ' Verifico se selezionato indicativo di pezzo
+ EgtSetObjFilterForSelWin(False, True, False, False, False)
+ Dim nSelMy As Integer
+ EgtSelect(e.Location, Scene.DIM_SEL, Scene.DIM_SEL, nSelMy)
+ Dim nIdMy As Integer = EgtGetFirstObjInSelWin()
+ While nIdMy <> GDB_ID.NULL
+ Dim sGroupName As String = String.Empty
+ ' gruppo di appartenenza
+ Dim nIdParent As Integer = EgtGetParent(nIdMy)
+ ' recupero il nome del Layer
+ EgtGetName(nIdParent, sGroupName)
+ If sGroupName.Contains(BRIDGELINE) Then
+ EgtErase(nIdParent)
+ EgtDraw()
+ Return
+ End If
+ nIdMy = EgtGetNextObjInSelWin()
+ End While
+ End Sub
+
+ Private Sub OnMyMouseMoveSceneBridges(ptCurr As Point3d)
+ ptCurr.z = m_ptSrtBridge.z
+ ' rappresento il egmento
+ If m_nIdBridge = GDB_ID.NULL Then
+ m_nIdBridgeLineGroup = EgtCreateGroup(m_nIdBridgesGroup)
+ EgtSetName(m_nIdBridgeLineGroup, BRIDGELINE)
+ m_nIdBridge = EgtCreateLine(m_nIdBridgeLineGroup, m_ptSrtBridge, ptCurr, GDB_RT.GLOB)
+ End If
+ EgtModifyCurveEndPoint(m_nIdBridge, ptCurr, GDB_RT.GLOB)
+ EgtDraw()
+ End Sub
+
+ Private Function VerifyInterference(nIdBridge As Integer) As Boolean
+ ' prima di procedere alla verifica accorco il segmento (solo per sicurezza) 10 * EPS_SMALL
+ Dim dLen As Double
+ EgtCurveLength(nIdBridge, dLen)
+ If dLen > 21 AndAlso Not EgtCurveIsClosed(nIdBridge) Then
+ EgtTrimCurveEndAtLen(nIdBridge, dLen - 10 * EPS_SMALL)
+ EgtTrimCurveStartAtLen(nIdBridge, 10 * EPS_SMALL)
+ End If
+ ' EgtSaveFile("c:\EgtData\OmagCUT\Temp\Bridge.nge", NGE.BIN)
+ Dim nIdPart As Integer = GDB_ID.NULL
+ nIdPart = EgtGetFirstPartInRawPart(m_CurrProjPage.m_nRawId)
+ While nIdPart <> GDB_ID.NULL
+ Dim nIdRegion As Integer = EgtGetFirstNameInGroup(nIdPart, "Region")
+ Dim nIdSurf As Integer = EgtGetFirstInGroup(nIdRegion)
+ While nIdSurf <> GDB_ID.NULL
+ If EgtGetType(nIdSurf) = GDB_TY.SRF_FRGN Then
+ ' EgtSaveFile("c:\EgtData\OmagCUT\Temp\Bridge.nge", NGE.BIN)
+ ' se la linea bridge interseca la superficie allora restitusco false
+ If EgtCurveWithRegionClassify(nIdBridge, nIdSurf) <> CREGC.OUT Then
+ EgtExtendCurveStartByLen(nIdBridge, 10 * EPS_SMALL)
+ Return False
+ End If
+ Exit While
+ End If
+ End While
+ nIdPart = EgtGetNextPartInRawPart(nIdPart)
+ End While
+ Return True
+ End Function
+
+ Private Sub DeselectWJBridgesPart()
+ ' se in fase di definzione di un ponticello lo elimino
+ If m_nIdSelectedSideWJ_Srt <> GDB_ID.NULL And m_nIdSelectedSideWJ_End = GDB_ID.NULL And m_nIdBridge <> GDB_ID.NULL Then
+ EgtErase(EgtGetParent(m_nIdBridge))
+ End If
+ m_nIdBridge = GDB_ID.NULL
+ EgtResetMark(m_nIdSelectedPartWJ_Srt)
+ m_nIdSelectedPartWJ_Srt = GDB_ID.NULL
+ EgtDeselectObj(m_nIdSelectedSideWJ_Srt)
+ m_nIdSelectedSideWJ_Srt = GDB_ID.NULL
+ m_nIdSelectedWaterJet_Srt = GDB_ID.NULL
+ EgtResetMark(m_nIdSelectedPartWJ_End)
+ m_nIdSelectedPartWJ_End = GDB_ID.NULL
+ EgtDeselectObj(m_nIdSelectedSideWJ_End)
+ m_nIdSelectedSideWJ_End = GDB_ID.NULL
+ m_nIdSelectedWaterJet_End = GDB_ID.NULL
+ EgtDraw()
+ End Sub
+
+#End Region ' Bridge
+
Private Sub OnMyMouseDownScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseDownScene
' Verifico di essere il gestore attivo e non in modalità sola visualizzazione
If Not m_bActive OrElse m_bShow Then Return
@@ -203,6 +390,27 @@ Public Class SplitPageUC
Not m_CurrProjPage.CurrentProjectScene.IsStatusNull() Then
Return
End If
+
+ ' definizione dei ponticelli
+ If BridgesWJBtn.IsChecked Then
+ If m_nIdSelectedPartWJ_Srt = GDB_ID.NULL Then
+ OnMyMouseDownSceneBridges(sender, e, True, m_nIdSelectedSideWJ_Srt, m_nIdSelectedWaterJet_Srt, m_nIdSelectedPartWJ_Srt)
+ Else
+ OnMyMouseDownSceneBridges(sender, e, False, m_nIdSelectedSideWJ_End, m_nIdSelectedWaterJet_End, m_nIdSelectedPartWJ_End)
+ End If
+ ' se entrambi i pezzi sono stati definiti allora procedo alla deselezione
+ If m_nIdSelectedPartWJ_Srt <> GDB_ID.NULL And m_nIdSelectedPartWJ_End <> GDB_ID.NULL Then
+ DeselectWJBridgesPart()
+ End If
+ Return
+ End If
+
+ ' eliminazione dei ponticelli
+ If BridgesDeleteWJBtn.IsChecked Then
+ OnMyMouseDownSceneBridgesDelete(sender, e)
+ Return
+ End If
+
' Reset drag
m_nDragInd = -1
m_nDragType = 0
@@ -287,13 +495,23 @@ Public Class SplitPageUC
Private Sub OnMyMouseMoveScene(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles m_CurrProjPage.OnMouseMoveScene
' Verifico di essere il gestore attivo e non in modalità sola visualizzazione
If Not m_bActive OrElse m_bShow Then Return
+ ' Ricavo il punto corrente in coordinate mondo
+ Dim ptCurr As Point3d
+ EgtUnProjectPoint(e.Location, ptCurr)
+
+ ' definizione dei ponticelli
+ If BridgesWJBtn.IsChecked Then
+ If m_nIdSelectedPartWJ_Srt <> GDB_ID.NULL Then
+ OnMyMouseMoveSceneBridges(ptCurr)
+ End If
+ Return
+ End If
+
' Se drag non abilitato o in corso
If m_nDragInd = -1L Or m_bDragging Then Return
m_bDragging = True
Dim nOperId As Integer = m_MachiningList(m_nDragInd).m_nId
- ' Ricavo il punto corrente in coordinate mondo
- Dim ptCurr As Point3d
- EgtUnProjectPoint(e.Location, ptCurr)
+
' Ricavo il vettore di movimento e la variazione di lunghezza
Dim vtMove As Vector3d = ptCurr - m_ptDragPrev
Dim dDelta = vtMove * m_MachiningList(m_nDragInd).m_vtDir
@@ -641,6 +859,50 @@ Public Class SplitPageUC
EnableButtons()
End Sub
+ Private Sub OnKeyDownScene(sender As Object, e As KeyEventArgs)
+ If e.Key = Key.Escape Then
+ ' se sono in fase di creazione di un ponticello interrompo
+ DeselectWJBridgesPart()
+ End If
+ End Sub
+
+ Private Sub BridgeBtn_Click(sender As Object, e As RoutedEventArgs) Handles BridgesWJBtn.Click
+ ' eventualmente spengo il comando per eliminare i ponticelli
+ If BridgesDeleteWJBtn.IsChecked Then
+ BridgesDeleteWJBtn.IsChecked = False
+ End If
+ ' se deseleziono resetto tutte le variabili
+ If Not BridgesWJBtn.IsChecked Then
+ ' se sono in fase di creazione di un ponticello interrompo
+ DeselectWJBridgesPart()
+ Return
+ End If
+ ' recuoero il gruppo di lavorazione corrente
+ Dim nIdCurrMachGroup As Integer = EgtGetCurrMachGroup()
+ ' creo il gruppo per i ponticelli
+ Dim sNameGroup As String = BRIDGES
+ Dim nId As Integer = EgtGetFirstNameInGroup(nIdCurrMachGroup, sNameGroup)
+ If nId <> GDB_ID.NULL Then
+ m_nIdBridgesGroup = nId
+ End If
+ ' se non lo trovo allora lo creo
+ If nId = GDB_ID.NULL Then
+ m_nIdBridgesGroup = EgtCreateGroup(nIdCurrMachGroup)
+ EgtSetName(m_nIdBridgesGroup, BRIDGES)
+ End If
+ End Sub
+
+ Private Sub BridgeDeleteBtn_Click(Sender As Object, e As RoutedEventArgs) Handles BridgesDeleteWJBtn.Click
+ ' eventualmente spengo il comando per inserire i ponticelli
+ If BridgesWJBtn.IsChecked Then
+ BridgesWJBtn.IsChecked = False
+ End If
+
+ If Not BridgesDeleteWJBtn.IsChecked Then
+ DeselectWJBridgesPart()
+ End If
+ End Sub
+
Private Function AdjustBothCuts(nI As Integer,
Optional bAllForced As Boolean = False,
Optional bAccForced As Boolean = False) As Boolean
@@ -1512,6 +1774,10 @@ Public Class SplitPageUC
End Sub
Friend Sub ExitSplit(Optional bTrueExit As Boolean = True)
+ DeselectWJBridgesPart()
+ BridgesWJBtn.IsChecked = False
+ BridgesDeleteWJBtn.IsChecked = False
+
' Rimuovo evidenziazione e numeri
RemoveMarkAndNumbers()
' Ripristino colori lavorazioni
@@ -1754,6 +2020,7 @@ Public Class SplitPageUC
Private Sub VisibilityButtonFromMachinig(ByVal Type As Integer)
If Type <> MCH_OY.SAWING Then
+
CutBtn.Visibility = Visibility.Hidden
CutStartBtn.Visibility = Visibility.Hidden
CutEndBtn.Visibility = Visibility.Hidden
@@ -1784,6 +2051,21 @@ Public Class SplitPageUC
AllExtendBtn.Visibility = Visibility.Visible
AllReduceBtn.Visibility = Visibility.Visible
End If
+
+ ' gestione bottone per generazione ponticelli
+ If Type = MCH_OY.WATERJETTING Then
+ ' siccome la stessa posizione è occupata da due comandi sovrapposti
+ If CutStartBtn.Visibility = Visibility.Hidden Then
+ BridgesWJBtn.Visibility = Visibility.Visible
+ BridgesDeleteWJBtn.Visibility = Visibility.Visible
+ Else
+ BridgesWJBtn.Visibility = Visibility.Hidden
+ BridgesDeleteWJBtn.Visibility = Visibility.Hidden
+ End If
+ Else
+ BridgesWJBtn.Visibility = Visibility.Hidden
+ BridgesDeleteWJBtn.Visibility = Visibility.Hidden
+ End If
End Sub
Private Function ModifyOtherLeadIn(nI As Integer, nLiOthType As Integer) As Boolean
diff --git a/Constants/ConstIni.vb b/Constants/ConstIni.vb
index ae935ea..b7f5285 100644
--- a/Constants/ConstIni.vb
+++ b/Constants/ConstIni.vb
@@ -170,6 +170,14 @@ Module ConstIni
Public Const K_CSVCURRDIR As String = "CurrDir"
Public Const K_CSVLASTFILE As String = "LastFile"
+ Public Const S_TRF As String = "TRF"
+ Public Const K_ORDCODE As String = "OrdCode"
+ Public Const K_ORDDESC As String = "OrdDesc"
+ Public Const K_PARTCODE As String = "PartCode"
+ Public Const K_MATCODE As String = "MatCode"
+ Public Const K_SURFCODE As String = "SurfCode"
+ Public Const K_TRFTHICKNESS As String = "TrfThickness"
+
Public Const S_SLABDXF As String = "SlabDxf"
Public Const K_IMPORTSLABDXF As String = "ImportSlabDxf"
Public Const K_SLABLAYER As String = "SlabLayer"
diff --git a/DrawImport/CompoTrfData.xaml.vb b/DrawImport/CompoTrfData.xaml.vb
index 113158b..a85da58 100644
--- a/DrawImport/CompoTrfData.xaml.vb
+++ b/DrawImport/CompoTrfData.xaml.vb
@@ -24,6 +24,7 @@ Public Class CompoTrfData
Private Sub OkBtn_Click(sender As Object, e As RoutedEventArgs) Handles OkBtn.Click
DialogResult = True
+ SaveData()
Close()
End Sub
@@ -32,7 +33,30 @@ Public Class CompoTrfData
Close()
End Sub
+ Private Sub SaveData()
+ WritePrivateProfileString(S_TRF, K_ORDCODE, OrdCodeTxBx.Text, m_MainWindow.GetIniFile())
+ WritePrivateProfileString(S_TRF, K_ORDDESC, OrdDescTxBx.Text, m_MainWindow.GetIniFile())
+ WritePrivateProfileString(S_TRF, K_PARTCODE, PartCodeTxBx.Text, m_MainWindow.GetIniFile())
+ WritePrivateProfileString(S_TRF, K_MATCODE, MatCodeTxBx.Text, m_MainWindow.GetIniFile())
+ WritePrivateProfileString(S_TRF, K_SURFCODE, SurfCodeTxBx.Text, m_MainWindow.GetIniFile())
+ ' prima di salvare lo spessore converto in mm e poi di nuovo in stringa
+ Dim dVal As Double = 0
+ StringToLen(ThicknessTxBx.Text, dVal)
+ WritePrivateProfileString(S_TRF, K_TRFTHICKNESS, DoubleToString(dVal, 4), m_MainWindow.GetIniFile())
+ End Sub
+
Friend Sub SetData(sOrdCode As String, sOrdDesc As String, sPartCode As String, sMatCode As String, sSurfCode As String, dTh As Double)
+ ' se verifico che non sono stati iniziliazzti i campi allora provvedo a leggere il file ini del programma
+ If sOrdCode = "" And sOrdDesc = "" And sPartCode = "" And sMatCode = "" And sSurfCode = "" Then
+ GetPrivateProfileString(S_TRF, K_ORDCODE, sOrdCode, sOrdCode, m_MainWindow.GetIniFile())
+ GetPrivateProfileString(S_TRF, K_ORDDESC, sOrdDesc, sOrdDesc, m_MainWindow.GetIniFile())
+ GetPrivateProfileString(S_TRF, K_PARTCODE, sPartCode, sPartCode, m_MainWindow.GetIniFile())
+ GetPrivateProfileString(S_TRF, K_MATCODE, sMatCode, sMatCode, m_MainWindow.GetIniFile())
+ GetPrivateProfileString(S_TRF, K_SURFCODE, sSurfCode, sSurfCode, m_MainWindow.GetIniFile())
+ ' recupero il dato dello spessore che deve essere in mm
+ dTh = GetPrivateProfileDouble(S_TRF, K_TRFTHICKNESS, dTh, m_MainWindow.GetIniFile())
+ End If
+ ' inizializzo i campi della finestra
OrdCodeTxBx.Text = sOrdCode
OrdDescTxBx.Text = sOrdDesc
PartCodeTxBx.Text = sPartCode
diff --git a/DrawImport/DrawPageUC.xaml.vb b/DrawImport/DrawPageUC.xaml.vb
index b3bbf90..98928e1 100644
--- a/DrawImport/DrawPageUC.xaml.vb
+++ b/DrawImport/DrawPageUC.xaml.vb
@@ -1173,8 +1173,10 @@ Public Class DrawPageUC
Private Sub TrfDataBtn_Click(sender As Object, e As RoutedEventArgs) Handles TrfDataBtn.Click
If m_bTrfData Then
Dim DlgTrfData As New CompoTrfData(m_MainWindow)
+ ' carico i dati appena salvati nella pagina
DlgTrfData.SetData(m_TrfOrderCode, m_TrfOrderDesc, m_TrfPartCode, m_TrfMatCode, m_TrfSurfCode, m_TrfThickness)
If DlgTrfData.ShowDialog() Then
+ ' recupero i dati salvati nella pagina
DlgTrfData.GetData(m_TrfOrderCode, m_TrfOrderDesc, m_TrfPartCode, m_TrfMatCode, m_TrfSurfCode, m_TrfThickness)
End If
ElseIf m_bCsvData Then
diff --git a/My Project/AssemblyInfo.vb b/My Project/AssemblyInfo.vb
index 8fdc622..7867adf 100644
--- a/My Project/AssemblyInfo.vb
+++ b/My Project/AssemblyInfo.vb
@@ -62,5 +62,5 @@ Imports System.Windows
' by using the '*' as shown below:
'
-
-
+
+
diff --git a/OmagCUT.vbproj b/OmagCUT.vbproj
index aa1d3ec..520d8c6 100644
--- a/OmagCUT.vbproj
+++ b/OmagCUT.vbproj
@@ -1262,6 +1262,12 @@
+
+
+
+
+
+ IF "$(PlatformName)"=="x86" IF "$(ConfigurationName)" == "Release" copy $(TargetPath) c:\EgtProg\OmagCUT\OmagCUTR32.exe
diff --git a/OmagCUTDictionary.xaml b/OmagCUTDictionary.xaml
index 1a5c548..ef71614 100644
--- a/OmagCUTDictionary.xaml
+++ b/OmagCUTDictionary.xaml
@@ -218,6 +218,8 @@
+
+
diff --git a/Project/ProjectMgrUC.xaml.vb b/Project/ProjectMgrUC.xaml.vb
index 58f5cf6..e7df82d 100644
--- a/Project/ProjectMgrUC.xaml.vb
+++ b/Project/ProjectMgrUC.xaml.vb
@@ -256,6 +256,8 @@ Public Class ProjectMgrUC
ResetAllSplitCurv()
' cancello tutti i punti di inizio (Waterjet)
ResetAllStartCurv()
+ ' cancello tutti i ponticelli disegnati
+ ResetAllBRidges()
' Ricalcolo tutte le lavorazioni
Dim nWarn As Integer = 0
ResetAllMachinings(nWarn)
diff --git a/Resources/NewIcons/Ponticelli.png b/Resources/NewIcons/Ponticelli.png
new file mode 100644
index 0000000..7a87e1e
Binary files /dev/null and b/Resources/NewIcons/Ponticelli.png differ
diff --git a/Resources/NewIcons/Ponticelli_delete.png b/Resources/NewIcons/Ponticelli_delete.png
new file mode 100644
index 0000000..d035160
Binary files /dev/null and b/Resources/NewIcons/Ponticelli_delete.png differ