EgtCAM5 :

- Migliorie varie.
This commit is contained in:
Emmanuele Sassi
2016-07-10 11:34:07 +00:00
parent ec2f7a38ef
commit f8b17066de
41 changed files with 1706 additions and 282 deletions
+520 -17
View File
@@ -5,17 +5,244 @@ Namespace EgtCAM5
Public Class DrawPanelViewModel
Inherits ViewModelBase
'Proprietà ToolTip
Public ReadOnly Property PointToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 1)
End Get
End Property
Public ReadOnly Property Line2PToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 2)
End Get
End Property
Public ReadOnly Property LinePDLToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 3)
End Get
End Property
Public ReadOnly Property CirclePDToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 4)
End Get
End Property
Public ReadOnly Property CircleCDToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 5)
End Get
End Property
Public ReadOnly Property ArcCSEToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 6)
End Get
End Property
Public ReadOnly Property Arc3PToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 7)
End Get
End Property
Public ReadOnly Property ArcPDPToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 8)
End Get
End Property
Public ReadOnly Property FilletToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 9)
End Get
End Property
Public ReadOnly Property ChamferToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 10)
End Get
End Property
Public ReadOnly Property Rectangle2PToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 11)
End Get
End Property
Public ReadOnly Property PolygonToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 12)
End Get
End Property
Public ReadOnly Property PolygonSideToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 13)
End Get
End Property
Public ReadOnly Property TextToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 14)
End Get
End Property
Public ReadOnly Property PlaneToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 15)
End Get
End Property
Public ReadOnly Property ExtrudeToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 16)
End Get
End Property
Public ReadOnly Property RevolveToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 17)
End Get
End Property
Public ReadOnly Property ScrewToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 18)
End Get
End Property
Public ReadOnly Property RuledToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 19)
End Get
End Property
Public ReadOnly Property MergeSurfToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 20)
End Get
End Property
Public ReadOnly Property ExplodeSurfToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 21)
End Get
End Property
Public ReadOnly Property InvertSurfToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 22)
End Get
End Property
Public ReadOnly Property DeleteToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 23)
End Get
End Property
Public ReadOnly Property ChangeLayerToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 24)
End Get
End Property
Public ReadOnly Property ChangeAlphaToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 25)
End Get
End Property
Public ReadOnly Property ResetColorToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 26)
End Get
End Property
Public ReadOnly Property ChangeColorToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 27)
End Get
End Property
Public ReadOnly Property InvertCurveToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 28)
End Get
End Property
Public ReadOnly Property ChangeStartToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 29)
End Get
End Property
Public ReadOnly Property ExtendCurveToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 30)
End Get
End Property
Public ReadOnly Property BreakCurveToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 31)
End Get
End Property
Public ReadOnly Property SplitCurveToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 32)
End Get
End Property
Public ReadOnly Property JoinCurveToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 33)
End Get
End Property
Public ReadOnly Property ExplodeCurveToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 34)
End Get
End Property
Public ReadOnly Property ThickCurveToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 35)
End Get
End Property
Public ReadOnly Property MoveToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 36)
End Get
End Property
Public ReadOnly Property RotateToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 37)
End Get
End Property
Public ReadOnly Property Rotate3DToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 38)
End Get
End Property
Public ReadOnly Property MirrorToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 39)
End Get
End Property
Public ReadOnly Property Mirror3DToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 40)
End Get
End Property
Public ReadOnly Property ScaleToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 41)
End Get
End Property
Public ReadOnly Property Scale3DToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 42)
End Get
End Property
Public ReadOnly Property OffsetToolTip As String
Get
Return EgtMsg(MSG_DRAWMODE + 43)
End Get
End Property
' Definizione comandi
Private m_cmdPoint As ICommand
Private m_cmdLine2P As ICommand
Private m_cmdLinePDL As ICommand
Private m_cmdCircle As ICommand
Private m_cmdCircleCP As ICommand
Private m_cmdCircleCD As ICommand
Private m_cmdArcCSE As ICommand
Private m_cmdArc3P As ICommand
Private m_cmdArcPDP As ICommand
Private m_cmdFillet As ICommand
Private m_cmdChamfer As ICommand
Private m_cmdRectangle2P As ICommand
Private m_cmdPolygon As ICommand
Private m_cmdPolygonSide As ICommand
Private m_cmdText As ICommand
Private m_cmdPlane As ICommand
Private m_cmdExtrude As ICommand
@@ -27,18 +254,24 @@ Namespace EgtCAM5
Private m_cmdInvertSurf As ICommand
Private m_cmdDelete As ICommand
Private m_cmdChangeLayer As ICommand
Private m_cmdChangeAlpha As ICommand
Private m_cmdResetColor As ICommand
Private m_cmdChangeColor As ICommand
Private m_cmdInvertCurve As ICommand
Private m_cmdChangeStartCurve As ICommand
Private m_cmdExtendCurve As ICommand
Private m_cmdBreakCurve As ICommand
Private m_cmdSplitCurve As ICommand
Private m_cmdJoinCurve As ICommand
Private m_cmdExplodeCurve As ICommand
Private m_cmdSetCurveTh As ICommand
Private m_cmdMove As ICommand
Private m_cmdRotate As ICommand
Private m_cmdRotate3D As ICommand
Private m_cmdMirror As ICommand
Private m_cmdMirror3D As ICommand
Private m_cmdScale As ICommand
Private m_cmdScale3D As ICommand
Private m_cmdOffset As ICommand
@@ -136,35 +369,65 @@ Namespace EgtCAM5
#End Region ' LinePDLCommand
#Region "CircleCommand"
#Region "CircleCPCommand"
''' <summary>
''' Returns a command that do Circle.
''' Returns a command that do CircleCP.
''' </summary>
Public ReadOnly Property CircleCommand As ICommand
Public ReadOnly Property CircleCPCommand As ICommand
Get
If m_cmdCircle Is Nothing Then
m_cmdCircle = New RelayCommand(AddressOf Circle, AddressOf CanCircle)
If m_cmdCircleCP Is Nothing Then
m_cmdCircleCP = New RelayCommand(AddressOf CircleCP, AddressOf CanCircleCP)
End If
Return m_cmdCircle
Return m_cmdCircleCP
End Get
End Property
''' <summary>
''' Execute the Circle. This method is invoked by the CircleCommand.
''' Execute the CircleCP. This method is invoked by the CircleCPCommand.
''' </summary>
Public Sub Circle(ByVal param As Object)
Application.Msn.NotifyColleagues(Application.CIRCLE)
Public Sub CircleCP(ByVal param As Object)
Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.CIRCLECP)
End Sub
''' <summary>
''' Returns always true.
''' </summary>
Private Function CanCircle(ByVal param As Object) As Boolean
Private Function CanCircleCP(ByVal param As Object) As Boolean
Return True
End Function
#End Region ' CircleCommand
#End Region ' CircleCPCommand
#Region "CircleCDCommand"
''' <summary>
''' Returns a command that do CircleCD.
''' </summary>
Public ReadOnly Property CircleCDCommand As ICommand
Get
If m_cmdCircleCD Is Nothing Then
m_cmdCircleCD = New RelayCommand(AddressOf CircleCD, AddressOf CanCircleCD)
End If
Return m_cmdCircleCD
End Get
End Property
''' <summary>
''' Execute the CircleCD. This method is invoked by the CircleCDCommand.
''' </summary>
Public Sub CircleCD(ByVal param As Object)
Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.CIRCLECD)
End Sub
''' <summary>
''' Returns always true.
''' </summary>
Private Function CanCircleCD(ByVal param As Object) As Boolean
Return True
End Function
#End Region ' CircleCDCommand
#Region "ArcCSECommand"
@@ -286,6 +549,36 @@ Namespace EgtCAM5
#End Region ' FilletCommand
#Region "ChamferCommand"
''' <summary>
''' Returns a command that do Chamfer.
''' </summary>
Public ReadOnly Property ChamferCommand As ICommand
Get
If m_cmdChamfer Is Nothing Then
m_cmdChamfer = New RelayCommand(AddressOf Chamfer, AddressOf CanChamfer)
End If
Return m_cmdChamfer
End Get
End Property
''' <summary>
''' Execute the Chamfer. This method is invoked by the ChamferCommand.
''' </summary>
Public Sub Chamfer(ByVal param As Object)
Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.CHAMFER)
End Sub
''' <summary>
''' Returns always true.
''' </summary>
Private Function CanChamfer(ByVal param As Object) As Boolean
Return True
End Function
#End Region ' ChamferCommand
#Region "Rectangle2PCommand"
''' <summary>
@@ -346,6 +639,36 @@ Namespace EgtCAM5
#End Region ' PolygonCommand
#Region "PolygonSideCommand"
''' <summary>
''' Returns a command that do PolygonSide.
''' </summary>
Public ReadOnly Property PolygonSideCommand As ICommand
Get
If m_cmdPolygonSide Is Nothing Then
m_cmdPolygonSide = New RelayCommand(AddressOf PolygonSide, AddressOf CanPolygonSide)
End If
Return m_cmdPolygonSide
End Get
End Property
''' <summary>
''' Execute the PolygonSide. This method is invoked by the PolygonSideCommand.
''' </summary>
Public Sub PolygonSide(ByVal param As Object)
Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.POLYGONSIDE)
End Sub
''' <summary>
''' Returns always true.
''' </summary>
Private Function CanPolygonSide(ByVal param As Object) As Boolean
Return True
End Function
#End Region ' PolygonSideCommand
#Region "TextCommand"
''' <summary>
@@ -676,6 +999,66 @@ Namespace EgtCAM5
#End Region ' ChangeLayerCommand
#Region "ChangeAlphaCommand"
''' <summary>
''' Returns a command that do ChangeAlpha.
''' </summary>
Public ReadOnly Property ChangeAlphaCommand As ICommand
Get
If m_cmdChangeAlpha Is Nothing Then
m_cmdChangeAlpha = New RelayCommand(AddressOf ChangeAlpha, AddressOf CanChangeAlpha)
End If
Return m_cmdChangeAlpha
End Get
End Property
''' <summary>
''' Execute the ChangeAlpha. This method is invoked by the ChangeAlphaCommand.
''' </summary>
Public Sub ChangeAlpha(ByVal param As Object)
Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.CHANGEALPHA)
End Sub
''' <summary>
''' Returns always true.
''' </summary>
Private Function CanChangeAlpha(ByVal param As Object) As Boolean
Return True
End Function
#End Region ' ChangeAlphaCommand
#Region "ResetColorCommand"
''' <summary>
''' Returns a command that do ResetColor.
''' </summary>
Public ReadOnly Property ResetColorCommand As ICommand
Get
If m_cmdResetColor Is Nothing Then
m_cmdResetColor = New RelayCommand(AddressOf ResetColor, AddressOf CanResetColor)
End If
Return m_cmdResetColor
End Get
End Property
''' <summary>
''' Execute the ResetColor. This method is invoked by the ResetColorCommand.
''' </summary>
Public Sub ResetColor(ByVal param As Object)
Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.RESETCOLOR)
End Sub
''' <summary>
''' Returns always true.
''' </summary>
Private Function CanResetColor(ByVal param As Object) As Boolean
Return True
End Function
#End Region ' ResetColorCommand
#Region "ChangeColorCommand"
''' <summary>
@@ -694,7 +1077,7 @@ Namespace EgtCAM5
''' Execute the ChangeColor. This method is invoked by the ChangeColorCommand.
''' </summary>
Public Sub ChangeColor(ByVal param As Object)
Application.Msn.NotifyColleagues(Application.CHANGECOLOR)
Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.CHANGECOLOR)
End Sub
''' <summary>
@@ -814,7 +1197,7 @@ Namespace EgtCAM5
''' Execute the BreakCurve. This method is invoked by the BreakCurveCommand.
''' </summary>
Public Sub BreakCurve(ByVal param As Object)
Application.Msn.NotifyColleagues(Application.BREAKCURVE)
Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.BREAKCURVE)
End Sub
''' <summary>
@@ -826,6 +1209,36 @@ Namespace EgtCAM5
#End Region ' BreakCurveCommand
#Region "SplitCurveCommand"
''' <summary>
''' Returns a command that do SplitCurve.
''' </summary>
Public ReadOnly Property SplitCurveCommand As ICommand
Get
If m_cmdSplitCurve Is Nothing Then
m_cmdSplitCurve = New RelayCommand(AddressOf SplitCurve, AddressOf CanSplitCurve)
End If
Return m_cmdSplitCurve
End Get
End Property
''' <summary>
''' Execute the SplitCurve. This method is invoked by the SplitCurveCommand.
''' </summary>
Public Sub SplitCurve(ByVal param As Object)
Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.SPLITCURVE)
End Sub
''' <summary>
''' Returns always true.
''' </summary>
Private Function CanSplitCurve(ByVal param As Object) As Boolean
Return True
End Function
#End Region ' SplitCurveCommand
#Region "JoinCurveCommand"
''' <summary>
@@ -964,7 +1377,7 @@ Namespace EgtCAM5
''' Execute the Rotate. This method is invoked by the RotateCommand.
''' </summary>
Public Sub Rotate(ByVal param As Object)
Application.Msn.NotifyColleagues(Application.ROTATE)
Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.ROTATE)
End Sub
''' <summary>
@@ -976,6 +1389,36 @@ Namespace EgtCAM5
#End Region ' RotateCommand
#Region "Rotate3DCommand"
''' <summary>
''' Returns a command that do Rotate3D.
''' </summary>
Public ReadOnly Property Rotate3DCommand As ICommand
Get
If m_cmdRotate3D Is Nothing Then
m_cmdRotate3D = New RelayCommand(AddressOf Rotate3D, AddressOf CanRotate3D)
End If
Return m_cmdRotate3D
End Get
End Property
''' <summary>
''' Execute the Rotate3D. This method is invoked by the Rotate3DCommand.
''' </summary>
Public Sub Rotate3D(ByVal param As Object)
Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.ROTATE3D)
End Sub
''' <summary>
''' Returns always true.
''' </summary>
Private Function CanRotate3D(ByVal param As Object) As Boolean
Return True
End Function
#End Region ' Rotate3DCommand
#Region "MirrorCommand"
''' <summary>
@@ -994,7 +1437,7 @@ Namespace EgtCAM5
''' Execute the Mirror. This method is invoked by the MirrorCommand.
''' </summary>
Public Sub Mirror(ByVal param As Object)
Application.Msn.NotifyColleagues(Application.MIRROR)
Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.MIRROR)
End Sub
''' <summary>
@@ -1006,6 +1449,36 @@ Namespace EgtCAM5
#End Region ' MirrorCommand
#Region "Mirror3DCommand"
''' <summary>
''' Returns a command that do Mirror3D.
''' </summary>
Public ReadOnly Property Mirror3DCommand As ICommand
Get
If m_cmdMirror3D Is Nothing Then
m_cmdMirror3D = New RelayCommand(AddressOf Mirror3D, AddressOf CanMirror3D)
End If
Return m_cmdMirror3D
End Get
End Property
''' <summary>
''' Execute the Mirror3D. This method is invoked by the Mirror3DCommand.
''' </summary>
Public Sub Mirror3D(ByVal param As Object)
Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.MIRROR3D)
End Sub
''' <summary>
''' Returns always true.
''' </summary>
Private Function CanMirror3D(ByVal param As Object) As Boolean
Return True
End Function
#End Region ' Mirror3DCommand
#Region "ScaleCommand"
''' <summary>
@@ -1024,7 +1497,7 @@ Namespace EgtCAM5
''' Execute the Scale. This method is invoked by the ScaleCommand.
''' </summary>
Public Sub Scale(ByVal param As Object)
Application.Msn.NotifyColleagues(Application.SCALE)
Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.SCALE)
End Sub
''' <summary>
@@ -1036,6 +1509,36 @@ Namespace EgtCAM5
#End Region ' ScaleCommand
#Region "Scale3DCommand"
''' <summary>
''' Returns a command that do Scale3D.
''' </summary>
Public ReadOnly Property Scale3DCommand As ICommand
Get
If m_cmdScale3D Is Nothing Then
m_cmdScale3D = New RelayCommand(AddressOf Scale3D, AddressOf CanScale3D)
End If
Return m_cmdScale3D
End Get
End Property
''' <summary>
''' Execute the Scale3D. This method is invoked by the Scale3DCommand.
''' </summary>
Public Sub Scale3D(ByVal param As Object)
Application.Msn.NotifyColleagues(Application.EXECUTECOMMAND, Controller.CMD.SCALE3D)
End Sub
''' <summary>
''' Returns always true.
''' </summary>
Private Function CanScale3D(ByVal param As Object) As Boolean
Return True
End Function
#End Region ' Scale3DCommand
#Region "OffsetCommand"
''' <summary>