From 953083e42961c582948b3bb02764a07efada0a0f Mon Sep 17 00:00:00 2001 From: NicolaP Date: Mon, 13 Jun 2022 12:46:22 +0200 Subject: [PATCH] Gestione affandamento incisioni da sopra --- Constants/ConstIni.vb | 1 + SideEntityControl/SideEntityControlVM.vb | 52 ++++++++++++++++-------- 2 files changed, 36 insertions(+), 17 deletions(-) diff --git a/Constants/ConstIni.vb b/Constants/ConstIni.vb index 14498b9..07b8bec 100644 --- a/Constants/ConstIni.vb +++ b/Constants/ConstIni.vb @@ -104,6 +104,7 @@ Module ConstIni Public Const K_ENGRAVENUMBER2 As String = "EngraveNumber2" Public Const K_ENGRAVEDEPTH As String = "EngraveDepth" Public Const K_ENGRAVESHORT As String = "EngraveShort" + Public Const K_ENGRAVEDEPTH2 As String = "EngraveDepth2" Public Const K_DRIPOFFSET As String = "DripOffset" Public Const K_DRIPOFFSET2 As String = "DripOffset2" Public Const K_DRIPDEPTH As String = "DripDepth" diff --git a/SideEntityControl/SideEntityControlVM.vb b/SideEntityControl/SideEntityControlVM.vb index 73e1d53..e0952cb 100644 --- a/SideEntityControl/SideEntityControlVM.vb +++ b/SideEntityControl/SideEntityControlVM.vb @@ -347,11 +347,16 @@ Public Class SideEntityControlVM Return LenToString(m_Parameter4, 2) End Get Set(value As String) - If m_Mode <> ModeOpt.SIDEANGLE Then + If m_Mode = ModeOpt.DRIP Then StringToLen(value, m_Parameter4) m_dDripShort = m_Parameter4 ' Creo le geometrie dei gocciolatoi RefreshSideAngleText() + ElseIf m_Mode = ModeOpt.ENGRAVE Then + StringToLen(value, m_Parameter4) + m_dEngraveDepth2 = m_Parameter4 + ' Creo le geometrie dei gocciolatoi + RefreshSideAngleText() End If End Set End Property @@ -376,6 +381,7 @@ Public Class SideEntityControlVM Private m_dDripOffset2 As Double = 0 Private m_nEngrNbr2 As Integer = 1 Private m_dDripDepth As Double = 10 + Private m_dEngraveDepth2 As Double = 5 Private m_dDripShort As Double = 0 Private m_CallingWndScene As Scene @@ -415,10 +421,10 @@ Public Class SideEntityControlVM End Set End Property - Private m_Parameter4Msg As String = EgtMsg(MSG_IMPORTPAGEUC + 12) + Private m_Parameter4Msg As String = EgtMsg(MSG_IMPORTPAGEUC + 11) & "2" Public Property Parameter4Msg As String Get - Return m_Parameter4Msg ' Accorciamento + Return m_Parameter4Msg ' Affondamento2 End Get Set(value As String) m_Parameter4Msg = value @@ -482,7 +488,7 @@ Public Class SideEntityControlVM Else ' Temporaneamente lo disabilito Parameter23_Visibility = Windows.Visibility.Visible - Parameter4_Visibility = Visibility.Collapsed + Parameter4_Visibility = Visibility.Visible Parameter2ab_Visibility = Visibility.Visible Parameter2_Visibility = Visibility.Hidden End If @@ -512,12 +518,13 @@ Public Class SideEntityControlVM m_nEngrNbr2 = GetMainPrivateProfileInt(S_SIDES, K_ENGRAVENUMBER2, 1) m_dDripDepth = GetMainPrivateProfileDouble(S_SIDES, K_DRIPDEPTH, 10) m_dDripShort = GetMainPrivateProfileDouble(S_SIDES, K_DRIPSHORT, 0) + m_dEngraveDepth2 = GetMainPrivateProfileDouble(S_SIDES, K_ENGRAVEDEPTH2, 0) SetParameter1(m_dDripOffset) SetParameter2(m_dDripOffset2) SetParameter2a(m_nEngrNbr2) SetParameter2b(m_dDripOffset2) SetParameter3(m_dDripDepth) - SetParameter4(m_dDripShort) + SetParameter4(m_dEngraveDepth2) ElseIf m_Mode = ModeOpt.ALZANDFRONT Then ' definisco i nomi dei campi @@ -536,6 +543,9 @@ Public Class SideEntityControlVM LoadCurrentCompo() End If + ' aggiorno i testi sui lati della figura + RefreshSideAngleText() + ' Aggiorno visualizzazione If CallingWindow = CallingWindowOpt.COMPO Then EgtZoom(ZM.ALL) @@ -717,7 +727,7 @@ Public Class SideEntityControlVM End If ' Aggiorno interfaccia - If m_CallingWindow = CallingWindowOpt.DXFIMPORT Then + If m_CallingWindow = CallingWindowOpt.DXFIMPORT Or m_CallingWindow = CallingWindowOpt.COMPO Then If m_Mode = ModeOpt.SIDEANGLE Then For Each Entity In m_SideEntityList If DirectCast(Entity, SideAngleEntity).dSideAngle <> 0 Then @@ -1101,6 +1111,9 @@ Public Class SideEntityControlVM Dim nCrvId = EgtGetFirstInGroup(DripLayer) While nCrvId <> GDB_ID.NULL EgtOffsetCurve(nCrvId, -m_dDripOffset, OFF_TYPE.EXTEND) + If m_Mode = ModeOpt.ENGRAVE Then + EgtSetInfo(nCrvId, INFO_DEPTH, m_dDripDepth) + End If nCrvId = EgtGetNext(nCrvId) End While ' Eventuali curve aggiuntive con offset2 @@ -1111,10 +1124,14 @@ Public Class SideEntityControlVM For i As Integer = 1 To m_nEngrNbr2 Dim nNewId As Integer = EgtCopy(nCrvId, nCrvId, GDB_POS.AFTER) EgtOffsetCurve(nNewId, -i * m_dDripOffset2, OFF_TYPE.EXTEND) + If m_Mode = ModeOpt.ENGRAVE Then + EgtSetInfo(nNewId, INFO_DEPTH, m_dEngraveDepth2) + End If Next nCrvId = nNextCrvId End While End If + If m_Mode = ModeOpt.DRIP Then ' Esplodo nelle curve componenti nCrvId = EgtGetFirstInGroup(DripLayer) @@ -1137,7 +1154,7 @@ Public Class SideEntityControlVM nCrvId = EgtGetFirstInGroup(DripLayer) While nCrvId <> GDB_ID.NULL EgtSetColor(nCrvId, COL_MCH_DRIPCUT()) - EgtSetInfo(nCrvId, INFO_DEPTH, m_dDripDepth) + ' EgtSetInfo(nCrvId, INFO_DEPTH, m_dDripDepth) EgtSetInfo(nCrvId, INFO_STRICT, If(m_dDripShort > EPS_SMALL, "3", "0")) nCrvId = EgtGetNext(nCrvId) End While @@ -1266,8 +1283,8 @@ Public Class SideEntityControlVM If m_Mode = ModeOpt.SIDEANGLE Then WriteMainPrivateProfileString(S_SIDES, K_SIDEANGLE, DoubleToString(m_Parameter1, 3)) ElseIf m_Mode = ModeOpt.FILOTOP Then - WriteMainPrivateProfileString(S_SIDES, K_FILOTOPOFFSET, DoubleToString(m_Parameter1, 3)) - WriteMainPrivateProfileString(S_SIDES, K_FILOTOPDEPTH, DoubleToString(m_Parameter2, 3)) + WriteMainPrivateProfileString(S_SIDES, K_FILOTOPOFFSET, LenToString(m_Parameter1, 3)) + WriteMainPrivateProfileString(S_SIDES, K_FILOTOPDEPTH, LenToString(m_Parameter2, 3)) ' Aggiorno affondamento del profilo Dim nPartId As Integer = EgtGetFirstPart() While nPartId <> GDB_ID.NULL @@ -1283,10 +1300,10 @@ Public Class SideEntityControlVM nPartId = EgtGetNextPart(nPartId) End While ElseIf m_Mode = ModeOpt.DRIP Then - WriteMainPrivateProfileString(S_SIDES, K_DRIPOFFSET, DoubleToString(m_dDripOffset, 3)) - WriteMainPrivateProfileString(S_SIDES, K_DRIPOFFSET2, DoubleToString(m_dDripOffset2, 3)) - WriteMainPrivateProfileString(S_SIDES, K_DRIPDEPTH, DoubleToString(m_dDripDepth, 3)) - WriteMainPrivateProfileString(S_SIDES, K_DRIPSHORT, DoubleToString(m_dDripShort, 3)) + WriteMainPrivateProfileString(S_SIDES, K_DRIPOFFSET, LenToString(m_dDripOffset, 3)) + WriteMainPrivateProfileString(S_SIDES, K_DRIPOFFSET2, LenToString(m_dDripOffset2, 3)) + WriteMainPrivateProfileString(S_SIDES, K_DRIPDEPTH, LenToString(m_dDripDepth, 3)) + WriteMainPrivateProfileString(S_SIDES, K_DRIPSHORT, LenToString(m_dDripShort, 3)) For Each objEntity In m_SideEntityList If TypeOf objEntity Is DripEntity Then Dim CurrEntity As DripEntity = DirectCast(objEntity, DripEntity) @@ -1295,11 +1312,12 @@ Public Class SideEntityControlVM End If Next ElseIf m_Mode = ModeOpt.ENGRAVE Then - WriteMainPrivateProfileString(S_SIDES, K_ENGRAVEOFFSET, DoubleToString(m_dDripOffset, 3)) - WriteMainPrivateProfileString(S_SIDES, K_ENGRAVEOFFSET2, DoubleToString(m_dDripOffset2, 3)) + WriteMainPrivateProfileString(S_SIDES, K_ENGRAVEOFFSET, LenToString(m_dDripOffset, 3)) + WriteMainPrivateProfileString(S_SIDES, K_ENGRAVEOFFSET2, LenToString(m_dDripOffset2, 3)) WriteMainPrivateProfileString(S_SIDES, K_ENGRAVENUMBER2, m_nEngrNbr2.ToString) - WriteMainPrivateProfileString(S_SIDES, K_ENGRAVEDEPTH, DoubleToString(m_dDripDepth, 3)) - WriteMainPrivateProfileString(S_SIDES, K_ENGRAVESHORT, DoubleToString(m_dDripShort, 3)) + WriteMainPrivateProfileString(S_SIDES, K_ENGRAVEDEPTH, LenToString(m_dDripDepth, 3)) + WriteMainPrivateProfileString(S_SIDES, K_ENGRAVESHORT, LenToString(m_dDripShort, 3)) + WriteMainPrivateProfileString(S_SIDES, K_ENGRAVEDEPTH2, LenToString(m_dEngraveDepth2, 3)) For Each objEntity In m_SideEntityList If TypeOf objEntity Is DripEntity Then Dim CurrEntity As DripEntity = DirectCast(objEntity, DripEntity)