e65174209d
- piccole modifiche per togliere warning di compilazione - aggiunta icona standard Egaltech.
142 lines
5.2 KiB
VB.net
142 lines
5.2 KiB
VB.net
Imports System.Collections.ObjectModel
|
|
Imports EgtUILib
|
|
Imports EgtWPFLib5
|
|
|
|
Public Class ReferencePanelVM
|
|
Inherits VMBase
|
|
|
|
Private m_nReferenceLayerId As Integer = GDB_ID.NULL
|
|
|
|
Private m_ReferenceList As New List(Of ReferenceBtn)({New ReferenceBtn(ReferenceBtn.References.TL),
|
|
New ReferenceBtn(ReferenceBtn.References.TC),
|
|
New ReferenceBtn(ReferenceBtn.References.TR),
|
|
New ReferenceBtn(ReferenceBtn.References.ML),
|
|
New ReferenceBtn(ReferenceBtn.References.MC),
|
|
New ReferenceBtn(ReferenceBtn.References.MR),
|
|
New ReferenceBtn(ReferenceBtn.References.BL),
|
|
New ReferenceBtn(ReferenceBtn.References.BC),
|
|
New ReferenceBtn(ReferenceBtn.References.BR)})
|
|
Public Property ReferenceList As List(Of ReferenceBtn)
|
|
Get
|
|
Return m_ReferenceList
|
|
End Get
|
|
Set(value As List(Of ReferenceBtn))
|
|
m_ReferenceList = value
|
|
End Set
|
|
End Property
|
|
|
|
Private m_SelReference As ReferenceBtn
|
|
Public Property SelReference As ReferenceBtn
|
|
Get
|
|
Return m_SelReference
|
|
End Get
|
|
Set(value As ReferenceBtn)
|
|
m_SelReference = value
|
|
' elimino precedente
|
|
EgtEmptyGroup(m_nReferenceLayerId)
|
|
Dim b3PrintSolid As New BBox3d
|
|
EgtGetBBoxGlob(Map.refTopPanelVM.SelPart.nPrintSolidId, GDB_BB.STANDARD, b3PrintSolid)
|
|
' Creo riferimento
|
|
Dim ptOrig As New Point3d(b3PrintSolid.Min())
|
|
Select Case m_SelReference.Type
|
|
Case ChooseReferenceWndVM.References.TL
|
|
ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX
|
|
Case ChooseReferenceWndVM.References.TR
|
|
ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
|
|
Case ChooseReferenceWndVM.References.BL
|
|
Case ChooseReferenceWndVM.References.BR
|
|
ptOrig += b3PrintSolid.DimX() * Vector3d.X_AX
|
|
Case ChooseReferenceWndVM.References.TC
|
|
ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
|
|
Case ChooseReferenceWndVM.References.ML
|
|
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX
|
|
Case ChooseReferenceWndVM.References.MR
|
|
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
|
|
Case ChooseReferenceWndVM.References.TC
|
|
ptOrig += b3PrintSolid.DimY() * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
|
|
Case ChooseReferenceWndVM.References.MR
|
|
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() * Vector3d.X_AX
|
|
Case ChooseReferenceWndVM.References.BC
|
|
ptOrig += b3PrintSolid.DimX() / 2 * Vector3d.X_AX
|
|
Case ChooseReferenceWndVM.References.MC
|
|
ptOrig += b3PrintSolid.DimY() / 2 * Vector3d.Y_AX + b3PrintSolid.DimX() / 2 * Vector3d.X_AX
|
|
End Select
|
|
Dim frPrintSolid As New Frame3d(ptOrig)
|
|
Dim nFrameId As Integer = EgtCreateGeoFrame(m_nReferenceLayerId, frPrintSolid, GDB_RT.GLOB)
|
|
If nFrameId Then
|
|
EgtSetName(nFrameId, FRAME_PART)
|
|
EgtSetMode(nFrameId, GDB_MD.LOCKED)
|
|
End If
|
|
EgtSetInfo(m_nReferenceLayerId, KEY_REFERENCE, m_SelReference.Type)
|
|
EgtDraw()
|
|
End Set
|
|
End Property
|
|
|
|
Sub New()
|
|
' Creo riferimento a questa classe in EgtCAM5Map
|
|
Map.SetRefReferencePanelVM(Me)
|
|
End Sub
|
|
|
|
Friend Sub Init()
|
|
m_nReferenceLayerId = EgtGetFirstNameInGroup(Map.refTopPanelVM.SelPart.nPartId, LAY_REFERENCE)
|
|
Dim nReference As Integer = 3
|
|
EgtGetInfo(m_nReferenceLayerId, KEY_REFERENCE, nReference)
|
|
m_SelReference = m_ReferenceList.FirstOrDefault(Function(x) x.Type = nReference)
|
|
NotifyPropertyChanged(NameOf(SelReference))
|
|
End Sub
|
|
|
|
End Class
|
|
|
|
Public Class ReferenceBtn
|
|
|
|
Public Enum References As Integer
|
|
TL = 1
|
|
TR = 2
|
|
BL = 3
|
|
BR = 4
|
|
TC = 5
|
|
ML = 6
|
|
MR = 7
|
|
BC = 8
|
|
MC = 9
|
|
End Enum
|
|
|
|
Private m_Type As References
|
|
Public ReadOnly Property Type As References
|
|
Get
|
|
Return m_Type
|
|
End Get
|
|
End Property
|
|
|
|
Public ReadOnly Property sText As String
|
|
Get
|
|
Select Case Type
|
|
Case References.TL
|
|
Return "┌"
|
|
Case References.TR
|
|
Return "┐"
|
|
Case References.BL
|
|
Return "└"
|
|
Case References.BR
|
|
Return "┘"
|
|
Case References.TC
|
|
Return "┬"
|
|
Case References.ML
|
|
Return "├"
|
|
Case References.MR
|
|
Return "┤"
|
|
Case References.BC
|
|
Return "┴"
|
|
Case References.MC
|
|
Return "┼"
|
|
Case Else
|
|
Return "X"
|
|
End Select
|
|
End Get
|
|
End Property
|
|
|
|
Sub New(Type As References)
|
|
m_Type = Type
|
|
End Sub
|
|
|
|
End Class |