OmagOFFICE :
- Aggiunti angoli d'inclinazione per importazione dxf.
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user