OmagOFFICE :

- Aggiunti angoli d'inclinazione per importazione dxf.
This commit is contained in:
Emmanuele Sassi
2017-06-12 15:24:18 +00:00
parent a0590a8269
commit f37e051c7f
7 changed files with 354 additions and 39 deletions
+82 -10
View File
@@ -150,6 +150,7 @@ Public Class SideEntityControlVM
Sub New(CallingWindow As CallingWindowOpt, CallingWndScene As Scene, Mode As ModeOpt, SideEntityList As List(Of SideEntity))
SideAngleEntity.m_ModifySideAngle = AddressOf ModifySideAngle
SideAngleEntity.m_RefreshSideAngleText = AddressOf RefreshSideAngleText
m_CallingWindow = CallingWindow
m_CallingWndScene = CallingWndScene
m_Mode = Mode
m_SideEntityList = If(IsNothing(SideEntityList), New ObservableCollection(Of SideEntity), New ObservableCollection(Of SideEntity)(SideEntityList))
@@ -191,10 +192,15 @@ Public Class SideEntityControlVM
' Inizializzo lati per angoli (ne compilo la lista e aggiungo la scritta nel disegno)
InitSides()
RefreshSideAngleText()
If m_Mode = ModeOpt.SIDEANGLE Then
Dim nSelectedPart As Integer = DxfImportWindowMap.refDxfImportSceneHostV.m_nSelectedPart
If nSelectedPart <> GDB_ID.NULL Then
EgtSelectObj(nSelectedPart)
ReLoadSideAnglePage(SideEntityControlVM.CallingWindowOpt.DXFIMPORT)
End If
End If
End If
'' Gestisco Checkbox e nomi in base al numero di lati inclinabili
'TxBlChBxView()
' Gestisco visualizzazione dei parametri
If m_Mode = ModeOpt.SIDEANGLE Then
Parameter23_Visibility = Windows.Visibility.Hidden
@@ -679,6 +685,76 @@ Public Class SideEntityControlVM
'A10.IsChecked = False
End Sub
Friend Sub ReLoadSideAnglePage(CallingWindow As CallingWindowOpt)
' Ricavo nome pezzo precedentemente selezionato
Dim Part1 As Integer = DxfImportWindowMap.refDxfImportSceneHostV.m_PrevSelPart
EgtErase(EgtGetFirstNameInGroup(Part1, SIDE_ANGLE_LAYER))
m_SideEntityList.Clear()
If CallingWindow = CallingWindowOpt.COMPO Then
' Imposto contesto corrente
EgtSetCurrentContext(m_CallingWndScene.GetCtx())
' se la lista non è vuota la leggo e metto le inclinazioni giuste
If m_Mode = ModeOpt.SIDEANGLE Then
If m_SideEntityList.Count > 0 Then
' Aggiorno indici che potrebbero essere cambiati se sono state modificate le misure
RefreshGeomId()
' Aggiorno testi in base alla tabella
RefreshSideAngleText()
' Aggiorno check e valori
'RefreshCheckAndValue()
Else
' Inizializzo lati per angoli (ne compilo la lista e aggiungo la scritta nel disegno)
InitSides()
End If
Else
If m_SideEntityList.Count > 0 Then
' Aggiorno indici che potrebbero essere cambiati se sono state modificate le misure
RefreshGeomId()
' Aggiorno testi in base alla tabella
RefreshSideAngleText()
Else
' Inizializzo lati per angoli (ne compilo la lista e aggiungo la scritta nel disegno)
InitSides()
End If
End If
ElseIf CallingWindow = CallingWindowOpt.DXFIMPORT Then
' Imposto contesto corrente
EgtSetCurrentContext(m_CallingWndScene.GetCtx())
' Inizializzo
DeleteSideAngle()
' Inizializzo lati per angoli (ne compilo la lista e aggiungo la scritta nel disegno)
InitSides()
RefreshSideAngleText()
End If
' Gestisco visualizzazione dei parametri
If m_Mode = ModeOpt.SIDEANGLE Then
Parameter23_Visibility = Windows.Visibility.Hidden
Else
Parameter23_Visibility = Windows.Visibility.Visible
End If
' Aggiorno valori
If m_Mode = ModeOpt.SIDEANGLE Then
Parameter1Msg = EgtMsg(MSG_IMPORTPAGEUC + 9) ' Angolo
Dim sVal As String = String.Empty
GetMainPrivateProfileString(S_SIDES, K_SIDEANGLE, "45", sVal)
SetParameter1(sVal)
Else
Parameter1Msg = EgtMsg(MSG_IMPORTPAGEUC + 10) ' Offset
m_dDripOffset = GetMainPrivateProfileDouble(S_SIDES, K_DRIPOFFSET, 20)
m_dDripDepth = GetMainPrivateProfileDouble(S_SIDES, K_DRIPDEPTH, 10)
m_dDripShort = GetMainPrivateProfileDouble(S_SIDES, K_DRIPSHORT, 0)
SetParameter1(LenToString(m_dDripOffset, 3))
SetParameter2(LenToString(m_dDripDepth, 3))
SetParameter3(LenToString(m_dDripShort, 3))
End If
End Sub
Friend Sub Close()
If m_CallingWindow = CallingWindowOpt.COMPO Then
' Ricavo nome primo pezzo
@@ -690,15 +766,12 @@ Public Class SideEntityControlVM
' Svuoto layer in cui sono presenti i testi con le inclinazioni dei lati
If m_Mode = ModeOpt.SIDEANGLE Then
EgtEmptyGroup(EgtGetFirstNameInGroup(Part1, SIDE_ANGLE_LAYER))
EgtSaveFile("C:\Temp\rrrr.nge", NGE.CMPTEXT)
Else
EgtEmptyGroup(EgtGetFirstNameInGroup(Part1, SIDE_ANGLE_LAYER))
End If
ElseIf m_CallingWindow = CallingWindowOpt.DXFIMPORT Then
'' Ricavo nome pezzo precedentemente selezionato
'Dim Part1 As Integer = m_MainWindow.m_ImportPageUC.m_PrevSelPart
'EgtErase(EgtGetFirstNameInGroup(Part1, SIDE_ANGLE_LAYER))
' Ricavo nome pezzo precedentemente selezionato
Dim Part1 As Integer = DxfImportWindowMap.refDxfImportSceneHostV.m_nSelectedPart
EgtErase(EgtGetFirstNameInGroup(Part1, SIDE_ANGLE_LAYER))
EgtDeselectAll()
End If
If m_Mode = ModeOpt.SIDEANGLE Then
@@ -709,7 +782,6 @@ Public Class SideEntityControlVM
WriteMainPrivateProfileString(S_SIDES, K_DRIPSHORT, DoubleToString(m_dDripShort, 3))
End If
Dim x = EgtSetCurrentContext(m_CallingWndScene.GetCtx())
EgtDraw()
End Sub